浏览代码

Merge remote-tracking branch 'origin/master'

ZaiZai 11 月之前
父节点
当前提交
ec82cb2a49
共有 3 个文件被更改,包括 73 次插入21 次删除
  1. 8 0
      src/api/modules/data-fill/wbs.js
  2. 21 15
      src/views/data-fill/wbs.vue
  3. 44 6
      src/views/other/hide-data.vue

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

@@ -397,6 +397,14 @@ export default {
             params: form,
         }, msg)
     },
+    //批量隐藏节点
+    async updateNodeStates(form, msg = true) {
+        return HcApi({
+            url: '/api/blade-manager/wbsTreeContract/updateNodeStates',
+            method: 'post',
+            params: form,
+        }, msg)
+    },
     //获取图纸
     async getTreeDrawings(form, msg = true) {
         return HcApi({

+ 21 - 15
src/views/data-fill/wbs.vue

@@ -18,9 +18,9 @@
                     <div class="hc-tree-back-to">
                         <el-link type="primary" @click="gobackHistory">回到上一次填报部位</el-link>
                         <el-link type="warning" class="ml-4" @click="wbsMapTypeTab">导图结构填报</el-link>
-                        <!-- <HcTooltip keys="data-fill-wbs-hide-btn">
+                        <HcTooltip keys="data-fill-wbs-hide-btn">
                             <el-button type="danger" class="ml-6" hc-btn keys="data-fill-wbs-hide-btn" :loading="hideSaveLoading" @click="hideTreeNode">隐藏</el-button>
-                        </HcTooltip> -->
+                        </HcTooltip>
                     </div>
                     <div class="hc-search-tree-val">
                         <el-input v-model="searchTreeVal" block clearable placeholder="请输入名称关键词检索" @keyup="searchTreeKeyUp">
@@ -539,6 +539,7 @@ import { HcUploadFileApi } from 'hc-vue3-ui'
 import { getStoreValue, setStoreValue } from '~src/utils/storage'
 
 import {
+    arrToKey,
     deepClone,
     formValidate,
     getArrValue,
@@ -2049,6 +2050,7 @@ const uploadChange = async ({ type }) => {
 const treeSelectNode = ref([])
 const treeSelectdata = ref([])
 const ElTreeNodeCheck = (_, { checkedKeys, checkedNodes }) => {
+    console.log(checkedNodes, 'checkedNodes')
     treeSelectNode.value = getArrValue(checkedKeys)
     treeSelectdata.value = getArrValue(checkedNodes)
 }
@@ -2061,24 +2063,28 @@ const hideTreeNode = async ()=>{
         window.$message.warning('已审批和已填报-待审批状态的节点,不可隐藏;')
         return
     }
-    const keys = treeSelectNode.value
+    const keys = arrToKey(treeSelectdata.value, 'pKeyId', ',')
     if (keys.length <= 0) {
         window?.$message?.warning('请先在左侧项目树选择节点')
         return
     }
     //发起请求
-    // hideSaveLoading.value = true
-    // const { error, code } = await wbsApi.save_nodeId({
-    //     projectId: projectId.value,
-    //     contractId: contractId.value,
-    //     classify: authBtnTabKey.value,
-    //     nodeIds: keys.join(),
-    // }, false)
-    // hideSaveLoading.value = false
-    // if (!error && code === 200) {
-    //     window?.$message?.success('批量保存成功')
-    //     window?.location?.reload() //刷新页面
-    // }
+    hideSaveLoading.value = true
+    const { error, code, msg } = await wbsApi.updateNodeStates({
+        ids: keys,
+        status:2,
+        
+    }, false)
+    hideSaveLoading.value = false
+    if (!error && code === 200) {
+        window?.$message?.success(msg || '操作成功')
+        setTimeout(() => {
+             window?.location?.reload() //刷新页面
+        }, 1000)
+       
+    } else {
+        window?.$message?.error(msg)
+    }
 }
 
 

+ 44 - 6
src/views/other/hide-data.vue

@@ -17,7 +17,7 @@
                 <div class="hc-tree-box">
                     <div class="hc-tree-back-to">
                         <HcTooltip keys="hide-data-show">
-                            <el-button type="primary" hc-btn keys="hide-data-show">显示</el-button>
+                            <el-button type="primary" hc-btn keys="hide-data-show" :loading="showTreeNodeLoad" @click="showTreeNode">显示</el-button>
                         </HcTooltip>
                     </div>
                     <div class="hc-search-tree-val">
@@ -48,7 +48,7 @@
                                                 {{ getTreeNodeType(data.type, data.majorDataType) }}
                                             </span>
                                            
-                                            <span :class="data.isHide === 1 ? 'text-red' : ''">
+                                            <span :class="data.isBussShow === '2' ? 'text-red' : ''">
                                                 {{ node.label }}
                                             </span>
                                         </div>
@@ -84,7 +84,7 @@
                                                 {{ getTreeNodeType(data.type, data.majorDataType) }}
                                             </span>
                                            
-                                            <span :class="data.isHide === 1 ? 'text-red' : ''">
+                                            <span :class="data.isBussShow === '2' ? 'text-red' : ''">
                                                 {{ node.label }}
                                             </span>
                                         </div>
@@ -141,7 +141,7 @@
 </template>
 
 <script setup>
-import { nextTick, onMounted, ref, watch } from 'vue'
+import { nextTick, onActivated, onMounted, ref, watch } from 'vue'
 import { useRoute, useRouter } from 'vue-router'
 import { useAppStore } from '~src/store'
 import { HcIsButton } from '~src/plugins/IsButtons'
@@ -151,6 +151,7 @@ import NodeTree from './components/nodeTree/index.vue'
 import { getTreeNodeType } from 'hc-vue3-ui'
 import { getStoreValue, setStoreValue } from '~src/utils/storage'
 import {
+    arrToKey,
     getArrValue,
     getObjValue,
     isNullES,
@@ -240,7 +241,13 @@ onMounted(() => {
     setContractType(contractInfo.value?.contractType)
     getDictionaryApi()
 })
-
+onActivated(()=>{
+    //重新加载左边树
+    isShowLeft.value = false
+        setTimeout(()=>{
+            isShowLeft.value = true
+        }, 500)
+})
 //身份按钮切换数据
 const authBtnTabKey = ref('1')
 
@@ -636,8 +643,39 @@ const onmousedown = () => {
 
 //树节点被选中
 const treeSelectNode = ref([])
-const ElTreeNodeCheck = (_, { checkedKeys }) => {
+
+const treeSelectdata = ref([])
+const ElTreeNodeCheck = (_, { checkedKeys, checkedNodes }) => {
+    console.log(checkedNodes, 'checkedNodes')
     treeSelectNode.value = getArrValue(checkedKeys)
+    treeSelectdata.value = getArrValue(checkedNodes)
+}
+const showTreeNodeLoad = ref(false)
+const showTreeNode = async ()=>{
+    const keys = arrToKey(treeSelectdata.value, 'pKeyId', ',')
+    if (keys.length <= 0) {
+        window?.$message?.warning('请先在左侧项目树选择节点')
+        return
+    }
+    //发起请求
+    showTreeNodeLoad.value = true
+    const { error, code, msg } = await wbsApi.updateNodeStates({
+        ids: keys,
+        status:1,
+        
+    }, false)
+    showTreeNodeLoad.value = false
+    if (!error && code === 200) {
+        window?.$message?.success(msg || '操作成功')
+         //重新加载左边树
+            isShowLeft.value = false
+            setTimeout(()=>{
+                isShowLeft.value = true
+            }, 500)
+       
+    } else {
+        window?.$message?.error(msg)
+    }
 }
 </script>