duy преди 1 година
родител
ревизия
e2b29c28f5
променени са 2 файла, в които са добавени 81 реда и са изтрити 30 реда
  1. 22 7
      src/views/tentative/detect/components/ListItem.vue
  2. 59 23
      src/views/tentative/detect/test-form.vue

+ 22 - 7
src/views/tentative/detect/components/ListItem.vue

@@ -278,6 +278,7 @@ import dataApi2 from '~api/tentative/device/approach'
 import { getClassList } from '~api/tentative'
 import notableform from '~src/assets/view/notableform.svg'
 import NoDataSvg from '~src/assets/view/no-data.svg'
+import { setStoreValue } from '~uti/storage'
 import {
     arrIndex,
     base64ToFile,
@@ -413,6 +414,8 @@ const formData = ref([])
 const formLinkIdData = ref({})
 const setFormDataNum = (datas) => {
     ActiveKey.value = ''
+
+
     let newArr = []
     for (let i = 0; i < datas.length; i++) {
         newArr.push({
@@ -448,8 +451,11 @@ const positiondata = ref([])
 //展开事件
 const ActiveKey = ref('')
 const formKeyIds = ref('')
+const setCollapseKey = (key) => {
+    CollapseChange(key)
+}
 const CollapseChange = async (name) => {
-
+    setStoreValue('ActiveKey', name)
     ActiveKey.value = name
     const names = name ? name.split('-') : []
     formData.value.forEach((changeitem) => {
@@ -764,11 +770,11 @@ const tableFormSaveClick = async (item, index) => {
         } else {
             const res = await saveExcelBussData(item, index)
             if (res) {
-                if (!isaddType) {
-                    await getBussPdfInfo(item)
-                } else {
-                    await getBussPdfInfo(item)
-                }
+                // if (!isaddType) {
+                //     await getBussPdfInfo(item)
+                // } else {
+                //     await getBussPdfInfo(item)
+                // }
                 renewData(newaddId.value)
             }
         }
@@ -1429,8 +1435,10 @@ const getOffsetTop = (key = '') => {
 
 //通知数据更新
 const renewData = (newaddId) => {
-    emit('renew', newaddId)
+    emit('renew', newaddId, ActiveKey.value)
     ActiveKey.value = ''
+
+   
 }
 const changeisHide = (pKeyId, isBussShow) => {
     emit('changesdate', pKeyId, isBussShow)
@@ -1503,6 +1511,8 @@ const windowClick = (item, indexs)=>{
         }
         DragModalTableForm.value = list
         ActiveKey.value = ''
+      
+    
             const { pKeyId } = item
     let KeyId = `item-${indexs}-${pKeyId}`
         CollapseChange(KeyId)
@@ -1546,6 +1556,8 @@ const setInitDragModalTableForm = (item, index) => {
 const windowCloseClick = (item, indexs)=>{
     
     ActiveKey.value = ''
+
+  
 }
 const DragModalTableForm = ref([])
 const DragModalHeight = ref(600)
@@ -1563,6 +1575,8 @@ const TableFormClose = async ({ pkeyId, index }, indexs, type) => {
     listDatas.value[index].isWindow = false
   if (type) {
     ActiveKey.value = ''
+   
+
   }
  
 }
@@ -1622,6 +1636,7 @@ defineExpose({
     changeSimpleInput,
     changePositionInput,
     clearDragModalTableForm,
+    setCollapseKey,
 })
 </script>
 

+ 59 - 23
src/views/tentative/detect/test-form.vue

@@ -256,7 +256,7 @@ import queryApi from '~api/data-fill/query'
 import { getStoreValue, setStoreValue } from '~src/utils/storage'
 import TestTree from '../material/components/TestTree.vue'
 import TestTreeMaterial from '../material/components/TestTreeMaterial.vue'
-import { arrToId, getArrValue, getObjValue, isString } from 'js-fast-way'
+import { arrToId, getArrValue, getObjValue, isNullES, isString } from 'js-fast-way'
 import { getDictionary } from '~api/other'
 import dayjs from 'dayjs'
 import { Loading } from 'element-plus/es/components/loading/src/service'
@@ -513,12 +513,20 @@ const getSearchNodeTablesall = async (type, newaddId) => {
 //改变原始数据复制隐藏本表的状态
 const newId = ref('')
 //获取数据
-const getTableDataAll = (newaddId) => {
+const getTableDataAll = async (newaddId, key) => {
     newId.value = newaddId
-    getSearchNodeTables(newaddId)
-    queryNodeStatus(newaddId)
-    getSearchNodeTablesall(1, newaddId)
-    getSearchNodeTablesall(2, newaddId)
+   await getSearchNodeTables(newaddId)
+   await queryNodeStatus(newaddId)
+   await getSearchNodeTablesall(1, newaddId)
+   await getSearchNodeTablesall(2, newaddId)
+
+        //保存后自动展开到当前表单
+        if (!isNullES(key)) {
+        console.log(key)
+        await nextTick(() => {
+            ListItemRef.value?.setCollapseKey(key)
+        })
+    }
 }
 //隐藏显示本表改变原始数据
 const changeorinsdate = (pKeyId, isBussShow) => {
@@ -996,6 +1004,7 @@ const linksSampleModalClose = () => {
 //保存
 const tableFormSaveLoading = ref(false)
 const tableFormSaveClick = async () => {
+    console.log(tabTypeKey.value, 'tabTypeKey.value')
     //false是编辑
     if (tabTypeKey.value === '2' && listItemBaseData.value.detectionResult === '') {
         window.$message?.warning('请选择报告单是否合格')
@@ -1056,12 +1065,10 @@ const tableFormSaveClick = async () => {
             FormData = alllistData.value
 
             const info = getStoreValue('test-form')
-
-
             let recordNo = info?.recordNo || tabTypeKey.value == 1 ? listItemBaseData.value.id : ''
 
             let reportNo = info?.reportNo || tabTypeKey.value == 2 ? listItemBaseData.value.id : ''
-
+            
             //组装type
             if (recordNo === '' && reportNo !== '') {
                 listItemBaseData.value.tableType = '2'
@@ -1089,6 +1096,7 @@ const tableFormSaveClick = async () => {
                             nodeId: routerQuery?.nodeId,
                             isCollapseLoad: false,
                             isBussShow: item1.isBussShow,
+                            
                         }
                         // 过滤存在的key_的键值
                         let ishasKey = Object.keys(item1).filter(e => e.indexOf('key_') >= 0)
@@ -1097,12 +1105,13 @@ const tableFormSaveClick = async () => {
                                 data1[key] = item1[key]
                             })
                         }
+                        console.log(FormData, 'FormData11111')
                         FormData.push(data1)
                     }
                 })
                 console.log(FormData, 'FormData22222222')
                 let tableTypeArr = listItemBaseData.value.tableType.split(',')
-                if (tableTypeArr[0] != type) { //两边都有数据/当前操作的数据不是进来时的选项,筛选另一边的数据
+                if (tableTypeArr[0] != tabTypeKey.value) { //两边都有数据/当前操作的数据不是进来时的选项,筛选另一边的数据
                     listItemBaseData.value.tableType = '1,2'
                 }
             } else { //两边都操作
@@ -1150,6 +1159,7 @@ const tableFormSaveClick = async () => {
         }
         //效验数据
         if (FormData.length > 0) {
+            console.log(listItemBaseData.value.tableType, 'istItemBaseData.value.tableType')
             if (listItemBaseData.value.detectionResult === '' && listItemBaseData.value.tableType == '1,2') {
                 window.$message?.warning('请选择报告单是否合格')
             } else {
@@ -1165,14 +1175,26 @@ const tableFormSaveClick = async () => {
                         return item
                     }
                 })
-                console.log( listItemBaseData.value.tableType, '   listItemBaseData.value.tableType')
+         
                 console.log(FormData, 'lastFormData1')
-                if (listItemBaseData.value.tableType && listItemBaseData.value?.tableType.length === 1 && newId.value?.length === 0) {
+                console.log(listItemBaseData.value.tableType, 'listItemBaseData.value.tableType')
+                console.log(nodeIdvalue.value?.length, 'newId.value?.length')
+                if (listItemBaseData.value.tableType && listItemBaseData.value?.tableType.length === 1 && nodeIdvalue.value?.length === 0) {
                     console.log('只要一边的数据')
                     // eslint-disable-next-line array-callback-return
                     FormData = FormData.filter((ele) => {
                         // eslint-disable-next-line eqeqeq
-                        if (ele.type == listItemBaseData.value.tableType) {
+                        if (ele.type == listItemBaseData.value.tableType ) {
+                            return ele
+                        }
+                    })
+                    console.log(FormData, 'FormDat4444444a')
+                } else if (listItemBaseData.value.tableType && listItemBaseData.value?.tableType.length === 1 && nodeIdvalue.value?.length > 0) {
+                    console.log('只要一边的数据11111')
+                    // eslint-disable-next-line array-callback-return
+                    FormData = FormData.filter((ele) => {
+                        // eslint-disable-next-line eqeqeq
+                        if (Object.hasOwnProperty.call(ele, 'type') ) {
                             return ele
                         }
                     })
@@ -1186,6 +1208,7 @@ const tableFormSaveClick = async () => {
                 })
 
                 nodeIdvalue.value = data
+                newId.value = data
                 tableFormSaveLoading.value = false
                 if (!error && code === 200) {
                     window?.$message?.success('保存成功')
@@ -1195,21 +1218,33 @@ const tableFormSaveClick = async () => {
                     // alllistData.value.forEach(e => e.oper = false)
                     alllistData.value = []
                     if (!isaddType) {
-                        bussPdfsClick(router.currentRoute.value.query.id || listItemBaseData.value.id)
+                        // bussPdfsClick(router.currentRoute.value.query.id || listItemBaseData.value.id)
                         //   toBackClick()
-                        getSearchNodeTables()
-                        getSearchNodeTablesall(1)
-                        getSearchNodeTablesall(2)
+
+                        listItemBaseData.value.id = data
+                       
+                      await getSearchNodeTables()
+                      await getSearchNodeTablesall(1)
+                      await getSearchNodeTablesall(2)
+               
                     } else {
                         listItemBaseData.value.id = data
-                        bussPdfsClick(nodeIdvalue.value)
-                        getSearchNodeTables()
-                        getSearchNodeTablesall(1)
-                        getSearchNodeTablesall(2)
+                     
+                        // bussPdfsClick(nodeIdvalue.value)
+                        await getSearchNodeTables()
+                        await getSearchNodeTablesall(1)
+                        await getSearchNodeTablesall(2)
+                    
                         afterAdd.value = true
                         isaddType = false
                     }
-                    getTableDataAll()
+                //   await getTableDataAll()
+                  const ActiveKey = getStoreValue('ActiveKey')
+                      await nextTick(() => {
+                        ListItemRef.value?.setCollapseKey(ActiveKey)
+                    })
+
+
                 }
             }
         }
@@ -1226,7 +1261,8 @@ const setAllListData = (curform) => {
             if (ishasKey.length > 0) { //筛出当前编辑过的数据
                 item.oper = true
             }
-
+            console.log(curform, 'curform')
+            console.log(orgAlllistData.value, 'orgAlllistData.value')
             let orgData = orgAlllistData.value.filter(e => e.pKeyId === pkeyId)
             item.type = orgData[0]?.tableType
             alllistData.value = alllistData.value.filter(e => e.pkeyId != pkeyId) //去掉老数据