Эх сурвалжийг харах

回到上次填报历史接口调用

duy 1 жил өмнө
parent
commit
fa67e6c4fb

+ 16 - 0
src/api/modules/data-fill/wbs.js

@@ -382,4 +382,20 @@ export default {
             params: form,
         }, msg)
     },
+    //保存用户填报历史
+    async saveUserHistory(form, msg = true) {
+        return httpApi({
+            url: '/api/blade-manager/userHistory/saveUserHistory',
+            method: 'post',
+            data: form,
+        }, msg)
+    },
+    //回到上次填报历史
+    async getUserHistory(form, msg = true) {
+        return httpApi({
+            url: '/api/blade-manager/userHistory/getUserHistory',
+            method: 'get',
+            params: form,
+        }, msg)
+    },
 }

+ 30 - 47
src/views/data-fill/wbs.vue

@@ -16,7 +16,7 @@
                 </div>
                 <div class="hc-tree-box">
                     <div class="hc-tree-back-to">
-                        <el-link type="primary">回到上一次填报部位</el-link>
+                        <el-link type="primary" @click="gobackHistory">回到上一次填报部位</el-link>
                         <el-link type="warning" class="ml-4" @click="wbsMapTypeTab">导图结构填报</el-link>
                     </div>
                     <div class="hc-search-tree-val">
@@ -537,6 +537,7 @@ import HcTreeNode from './components/HcTreeNode.vue'
 import { getTokenHeader } from '~src/api/request/header'
 import { getStoreValue, setStoreValue } from '~src/utils/storage'
 import {
+clog,
     deepClone,
     formValidate,
     getArrValue,
@@ -599,51 +600,7 @@ const getSearchTreeData = async () => {
     }
 
 }
-// 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(() => [
@@ -924,13 +881,39 @@ const wbsElTreeClick = ({ node, data, keys }) => {
     }
     setStoreValue('wbsTreeExpandKeys', keys)
     TreeAutoExpandKeys.value = keys || []
+    saveHistory(keys.join(','))
     getTableDataAll()
 }
 //树加载完成
 const ElTreeNodeLoading = () => {
     treeLoading.value = false
 }
-
+//保存用户填报历史
+const saveHistory = async (endNode)=>{
+     await wbsApi.saveUserHistory({
+        contractId: contractId.value,
+        projectId: projectId.value,
+        endNode,
+    })
+}
+//回到上次填报历史
+const gobackHistory = async ()=>{
+    isSearchTree.value = false
+    const { error, code, data, msg } = await wbsApi.getUserHistory({
+        contractId: contractId.value,
+        projectId: projectId.value,
+    })
+    if (!error && code === 200) {
+        TreeAutoExpandKeys.value = data['endNode'].split(',') || []
+        //重新加载左边树
+        isShowLeft.value = false
+            setTimeout(()=>{
+                isShowLeft.value = true
+            }, 500)
+    } else {
+        window.$message.warning(msg)
+    }
+}
 //树菜单被点击
 const ElTreeMenuClick = async ({ key, node, data, keys }) => {
     nodeItemInfo.value = node