duy 2 жил өмнө
parent
commit
fda9786578

+ 8 - 0
src/api/modules/data-fill/query.js

@@ -17,6 +17,14 @@ export default {
             params: form
         }, msg)
     },
+    //搜索获取树
+    async getTreeNodeByQueryValueAndContractId(form, msg = true) {
+        return httpApi({
+            url: '/api/blade-manager/contractInfo/getTreeNodeByQueryValueAndContractId',
+            method: 'get',
+            params: form
+        }, msg);
+    },
     //获取当前合同段下所有的上报批次
     // async getReportNumber(form, msg = true) {
     //     return httpApi({

+ 30 - 67
src/views/data-fill/query.vue

@@ -20,7 +20,7 @@
                     </el-input>
                 </div>
                 <div v-loading="treeLoading" id="hc-tree-scrollbar" class="hc-tree-scrollbar" element-loading-text="获取数据中...">
-                    <HcTreeV2
+                    <!-- <HcTreeV2
                         :isShow="isSearchTree"
                         :datas="searchTreeData"
                         :height="searchTreeHeight"
@@ -28,18 +28,18 @@
                         isCounts
                         isType
                         @nodeTap="wbsElTreeClick"
-                    />
-                        <!--HcTreeDataV2
-                            :isShow="isSearchTree"
-                            :datas="searchTreeData"
-                            :height="searchTreeHeight"
-                            :searchTreeVal="searchTreeVal"
-                            :submitCounts="true"
-                            :ElTreeLoadNode="searchElTreeLoadNode"
-                            isColor
-                            @changeSearch="changeisSearch"
-                            @changetreelaod="changetreelaod"
-                            @nodeTap="wbsElTreeClick"/-->
+                    /> -->
+                    <el-scrollbar class="scroll-bar-right-16" v-show="isSearchTree">
+                        <HcDataTree   
+                         :datas="searchTreeData" 
+                         isCounts 
+                         isType     
+                         @nodeTap="wbsElTreeClick"    
+                         :autoExpandKeys="treeAutoExpandKeys" 
+                         defaultExpandAll	/>
+
+                    </el-scrollbar>
+                  
                         <el-scrollbar class="scroll-bar-right-16" v-show="!isSearchTree">
                             <HcLazyTree
                                 ref="wbstree"
@@ -224,11 +224,15 @@ const wbstreeKey = ref(Math.random())
 //树搜索
 const isSearchTree = ref(false)
 const searchTreeHeight = ref()
+const searchTreeVal = ref('')
 //监听
 watch(() => [
-    useAppState.getCollapse,
-], ([Collapse]) => {
+    useAppState.getCollapse,searchTreeVal.value
+], ([Collapse,search]) => {
     isCollapse.value = Collapse
+    if(search.length==0){
+        isSearchTree.value=false
+    }
 })
 
 //自动展开缓存
@@ -241,66 +245,36 @@ onMounted(() => {
     getFirstTaskStatus()
     getDictBizClassify()
 
-    if (contractTypeTabKey.value == 2 || contractInfo.value?.contractType == 3) {
-        getSearchTreeDataJl()
-    } else {
-        getSearchTreeData()
-    }
+
 })
 
 
-const searchTreeVal = ref('')
+
 const searchTreeData = ref([])
 
 //回车
 const treeLoading = ref(false)
 const getSearchTreeData = async () => {
-    //  treeLoading.value = true
-    searchElTreeLoadNode.value = true
-    const {error, code, data} = await queryApi.getTreeall({
+    treeLoading.value = true
+    const {error, code, data} = await queryApi.getTreeNodeByQueryValueAndContractId({
         contractId: contractId.value,
-        projectId: projectId.value,
-        wbsId: projectInfo?.value.referenceWbsTemplateId,
-        type: 1
+        queryValue: searchTreeVal.value,
     })
     //判断状态
     if (!error && code === 200) {
-        searchTreeData.value = getArrValue(data)
-        searchElTreeLoadNode.value = false
+        let treedata=getArrValue(data)
+        searchTreeData.value = treedata
         treeLoading.value = false
+     
     } else {
-        searchElTreeLoadNode.value = false
         treeLoading.value = false
+     
         searchTreeData.value = []
     }
 
 }
-const searchElTreeLoadNode = ref(true)
-const getSearchTreeDataJl = async () => {
-    //  treeLoading.value = true
-    searchElTreeLoadNode.value = true
-    const {error, code, data} = await queryApi.getTreeallJl({
-        contractId: contractId.value,
-        type: 1
-    })
-    //判断状态
-    if (!error && code === 200) {
-        searchElTreeLoadNode.value = false
 
-        let searchobj = getObjValue(data)
-        let searcharr = []
-        for (let key in searchobj) {
-            searcharr.push(searchobj[key][0])
-        }
-        searchTreeData.value = searcharr
-        treeLoading.value = false
 
-    } else {
-        treeLoading.value = false
-        searchElTreeLoadNode.value = false
-        searchTreeData.value = []
-    }
-}
 //回车
 const searchTreeKeyUp = (e) => {
     if (e.key === "Enter") {
@@ -313,13 +287,7 @@ const searchTreeClick = async () => {
         searchTreeHeight.value = document.getElementById('hc-tree-scrollbar').offsetHeight;
         isSearchTree.value = true
         //treeLoading.value = true
-        if (searchElTreeLoadNode.value === true) {
-            treeLoading.value = true
-            window?.$message?.warning('请加载完数据再次进行搜索')
-            searchTreeVal.value=''
-        } else {
-            isSearchTree.value = true
-        }
+        getSearchTreeData()
     } else {
         isSearchTree.value = false
     }
@@ -329,12 +297,7 @@ const searchTreeClick = async () => {
 const primaryKeyId = ref('')
 const nodeItemInfo = ref({})
 const nodeDataInfo = ref({})
-const changeisSearch = () => {
-    isSearchTree.value = false
-}
-const changetreelaod = (val) => {
-    treeLoading.value = val
-}
+
 
 //懒加载的数据
 const treeLoadNode = async ({node, item, level},resolve) => {

+ 84 - 85
src/views/data-fill/wbs.vue

@@ -23,7 +23,7 @@
                         </el-input>
                     </div>
                     <div v-loading="treeLoading" id="hc-tree-scrollbar" class="hc-tree-scrollbar" element-loading-text="获取数据中...">
-                        <HcTreeV2
+                        <!-- <HcTreeV2
                             :isShow="isSearchTree"
                             :datas="searchTreeData"
                             :height="searchTreeHeight"
@@ -34,7 +34,19 @@
                             isType
                             @menuTap="ElTreeMenuClick"
                             @nodeTap="wbsElTreeClick"
-                        />
+                        /> -->
+                        <el-scrollbar class="scroll-bar-right-16" v-show="isSearchTree">
+                        <HcDataTree   
+                         :datas="searchTreeData" 
+                         :isMark="TreeMark"
+                         :menus="ElTreeMenu"
+                         isCounts 
+                         isType     
+                         @nodeTap="wbsElTreeClick"    
+                         :autoExpandKeys="TreeAutoExpandKeys" 
+                         defaultExpandAll	/>
+
+                    </el-scrollbar>
                         <el-scrollbar class="scroll-bar-right-16" v-show="!isSearchTree">
                             <HcLazyTree
                                 ref="wbstree"
@@ -710,67 +722,81 @@ const isSearchTree = ref(false)
 const wbstreeKey = ref(Math.random())
 const searchElTreeLoadNode = ref(true)
 const searchTreeHeight = ref()
-
 const getSearchTreeData = async () => {
-    searchElTreeLoadNode.value = true
-    const contractType = Number(contractInfo.value?.contractType)
-    if (contractType === 2 || contractType === 3) {
-        const {error, code, data} = await queryApi.getTreeallJl({
-            contractId: contractId.value,
-        })
-        //判断状态
-        if (!error && code === 200) {
-            // searchTreeData.value = getArrValue(data)
-            let searchobj = getObjValue(data)
-            let searcharr = []
-            for (let key in searchobj) {
-                searcharr.push(searchobj[key][0])
-            }
-            searchTreeData.value = searcharr
-            searchElTreeLoadNode.value = false
-            treeLoading.value = false
-        } else {
-            treeLoading.value = false
-            searchElTreeLoadNode.value = false
-            searchTreeData.value = []
-        }
-        console.log(searchTreeData.value)
+    treeLoading.value = true
+    const {error, code, data} = await queryApi.getTreeNodeByQueryValueAndContractId({
+        contractId: contractId.value,
+        queryValue: searchTreeVal.value,
+    })
+    //判断状态
+    if (!error && code === 200) {
+        let treedata=getArrValue(data)
+        searchTreeData.value = treedata
+        treeLoading.value = false
+     
     } else {
-        searchElTreeLoadNode.value = true
-        const {error, code, data} = await queryApi.getTreeall({
-            contractId: contractId.value,
-            projectId: projectId.value,
-            wbsId: projectInfo.value?.referenceWbsTemplateId
-        })
-        //判断状态
-        if (!error && code === 200) {
-            searchTreeData.value = getArrValue(data)
-            searchElTreeLoadNode.value = false
-            treeLoading.value = false
-        } else {
-            treeLoading.value = false
-            searchElTreeLoadNode.value = false
-            searchTreeData.value = []
-        }
-        console.log(searchTreeData.value)
+        treeLoading.value = false
+     
+        searchTreeData.value = []
     }
+
 }
+// const getSearchTreeData = async () => {
+//     searchElTreeLoadNode.value = true
+//     const contractType = Number(contractInfo.value?.contractType)
+//     if (contractType === 2 || contractType === 3) {
+//         const {error, code, data} = await queryApi.getTreeallJl({
+//             contractId: contractId.value,
+//         })
+//         //判断状态
+//         if (!error && code === 200) {
+//             // searchTreeData.value = getArrValue(data)
+//             let searchobj = getObjValue(data)
+//             let searcharr = []
+//             for (let key in searchobj) {
+//                 searcharr.push(searchobj[key][0])
+//             }
+//             searchTreeData.value = searcharr
+//             searchElTreeLoadNode.value = false
+//             treeLoading.value = false
+//         } else {
+//             treeLoading.value = false
+//             searchElTreeLoadNode.value = false
+//             searchTreeData.value = []
+//         }
+//         console.log(searchTreeData.value)
+//     } else {
+//         searchElTreeLoadNode.value = true
+//         const {error, code, data} = await queryApi.getTreeall({
+//             contractId: contractId.value,
+//             projectId: projectId.value,
+//             wbsId: projectInfo.value?.referenceWbsTemplateId
+//         })
+//         //判断状态
+//         if (!error && code === 200) {
+//             searchTreeData.value = getArrValue(data)
+//             searchElTreeLoadNode.value = false
+//             treeLoading.value = false
+//         } else {
+//             treeLoading.value = false
+//             searchElTreeLoadNode.value = false
+//             searchTreeData.value = []
+//         }
+//         console.log(searchTreeData.value)
+//     }
+// }
 //监听
+//监听
+const searchTreeVal = ref('')
 watch(() => [
-    useAppState.getCollapse,
-], ([Collapse]) => {
+    useAppState.getCollapse,searchTreeVal.value
+], ([Collapse,search]) => {
     isCollapse.value = Collapse
+    if(search.length==0){
+        isSearchTree.value=false
+    }
 })
 
-watch(projectId, (val) => {
-        if (val) {
-            getSearchTreeData()
-        }
-    },
-    {
-        immediate: true
-    }
-)
 //渲染完成
 onMounted(() => {
     treeLoading.value = typeName === 'tree';
@@ -937,7 +963,7 @@ const nodeItemInfo = ref({})
 const nodeDataInfo = ref({})
 
 
-const searchTreeVal = ref('')
+
 const searchTreeData = ref([])
 
 //回车
@@ -947,47 +973,20 @@ const searchTreeKeyUp = (e) => {
     }
 }
 
-const changetreelaod = (val) => {
-    treeLoading.value = val
-}
+
 const treeLoading = ref(false)
+
 const searchTreeClick = async () => {
     if (searchTreeVal.value) {
         searchTreeHeight.value = document.getElementById('hc-tree-scrollbar').offsetHeight;
         isSearchTree.value = true
         //treeLoading.value = true
-        if (searchElTreeLoadNode.value === true) {
-            treeLoading.value = true
-            window?.$message?.warning('请加载完数据再次进行搜索')
-            searchTreeVal.value=''
-        } else {
-            isSearchTree.value = true
-        }
+        getSearchTreeData()
     } else {
         isSearchTree.value = false
     }
 }
 
-// if (searchTreeVal.value) {
-//     isSearchTree.value = true
-//     treeLoading.value = true
-//     const {error, code, data} = await wbsApi.searchContractTree({
-//         contractId: contractId.value,
-//         queryValue: searchTreeVal.value
-//     })
-//     //判断状态
-//     if (!error && code === 200) {
-//         searchTreeData.value = getArrValue(data)
-//         treeLoading.value = false
-//     } else {
-//         treeLoading.value = false
-//         searchTreeData.value = []
-//     }
-// } else {
-//     treeLoading.value = false
-//     isSearchTree.value = false
-// }
-
 //懒加载的数据
 const treeLoadNode = async ({node, item, level},resolve) => {
     let contractIdRelation = '', parentId = '', primaryKeyId = '';