Prechádzať zdrojové kódy

四性检测档案鉴定修改

duy 2 rokov pred
rodič
commit
1f8d039d77

+ 20 - 0
src/api/modules/archiveConfig/appraisal.js

@@ -0,0 +1,20 @@
+import {httpApi} from "../../request/httpApi";
+
+export default {
+  // 分页档案鉴定
+  async pageByAuthenticate(form, msg = true) {
+    return httpApi({
+        url: '/api/blade-archive/archivesauto/pageByAuthenticate',
+        method: 'get',
+        params: form
+    }, msg)
+  },
+//获取立卷单位列表
+async getFilingUnitList(form, msg = true) {
+    return httpApi({
+        url: '/api//blade-archive/archivesauto/getFilingUnitList',
+        method: 'get',
+        params: form
+    }, msg)
+  },
+}

+ 9 - 2
src/api/modules/custody/testing.js

@@ -28,6 +28,13 @@ async getReportList(form, msg = true) {
       
     }, msg);
   },
-  
- 
+  // 获取当前正在检测的报告信息/blade-archive/archiveExaminingReport/getCurrentExaminingInfo
+  async getCurrentExaminingInfo(form, msg = true) {
+    return httpApi({
+        url: '/api/blade-archive/archiveExaminingReport/getCurrentExaminingInfo',
+        method: 'get',
+        params: form,
+      
+    }, msg);
+  },
 }

+ 18 - 1
src/api/modules/using/query.js

@@ -10,5 +10,22 @@ async getarchiveQueryPage(form, msg = true) {
       
     }, msg);
   },
- 
+  //获取目录树 /blade-manager/archiveTreeContract/getArchiveTreeByNodeType
+  async getArchiveTreeByNodeType(form, msg = true) {
+    return httpApi({
+        url: '/api/blade-manager/archiveTreeContract/getArchiveTreeByNodeType',
+        method: 'get',
+        params: form,
+      
+    }, msg);
+  },
+//获取目录树子节点 GET/blade-manager/archiveTreeContract/getChildrenNodeByNodeId
+  async getChildrenNodeByNodeId(form, msg = true) {
+    return httpApi({
+        url: '/api/blade-manager/archiveTreeContract/getChildrenNodeByNodeId',
+        method: 'get',
+        params: form,
+      
+    }, msg);
+  },
 }

+ 5 - 1
src/layout/index.vue

@@ -45,7 +45,9 @@
                 <router-view v-slot="{ Component }" v-if="reloadRouter">
                     <transition name="fade-transform">
                         <keep-alive include="ProductList">
-                            <component :is="Component" :msgCount="msgCount"/>
+                     
+                            <component :is="Component" :msgCount="msgCount" :msgChange="msgChange"/>
+                        
                         </keep-alive>
                     </transition>
                 </router-view>
@@ -270,6 +272,7 @@ const userProjectClick = () => {
 }
 const msgCount = ref({
 })
+const msgChange=ref(0)
 //推送系统
 let socket;
 const setInitSocket = () => {
@@ -286,6 +289,7 @@ const setInitSocket = () => {
             if (data) {
                 msgCount.value = data
                 console.log(data,'消息信息');
+                msgChange.value++
 
             }
         };

+ 54 - 70
src/views/archives/appraisal.vue

@@ -28,7 +28,7 @@
                 </template> -->
                 <template #search>
                     <div class="w-40">
-                        <el-select v-model="searchForm.approval" placeholder="保管期限" clearable>
+                        <el-select v-model="searchForm.storageTime" placeholder="保管期限" clearable>
                             <el-option v-for="item in retentionPeriod" :key="item.value" :label="item['label']" :value="item['value']"/>
                         </el-select>
                     </div>
@@ -43,11 +43,11 @@
                         </el-select>
                     </div>
                     <div class="w-40 ml-2">
-                        <el-select v-model="searchForm.certified" placeholder="立卷单位" clearable>
-                            <el-option v-for="item in filingUnit" :key="item.value" :label="item['label']" :value="item['value']"/>
+                        <el-select v-model="searchForm.filingUnit" placeholder="立卷单位" clearable>
+                            <el-option v-for="item in filingUnit" :key="item" :label="item" :value="item"/>
                         </el-select>
                     </div>
-                    <div class="w-40 ml-2" v-if="searchForm.type == 1">
+                    <div class="w-40 ml-2" v-if="searchForm.isDeleted == 1">
                         <el-select v-model="searchForm.certified" placeholder="销毁操作账户" clearable>
                             <el-option v-for="item in operatingAccount" :key="item.value" :label="item['label']" :value="item['value']"/>
                         </el-select>
@@ -60,7 +60,7 @@
                     </div>
                 </template>
                 <template  #extra>
-                    <div v-if="searchForm.type == 1" @click="searchForm.type = null" style="cursor: pointer;">
+                    <div v-if="searchForm.isDeleted == 1" @click="searchForm.isDeleted = null" style="cursor: pointer;">
                         <svg xmlns="http://www.w3.org/2000/svg" class="svg-icon-path-icon fill" fill="#4095e5" viewBox="64 64 896 896" width="24" height="24"><defs data-reactroot=""></defs><g><path d="M365.3 518.5l246 178c5.3 3.8 12.7 0 12.7-6.5v-46.9c0-10.2-4.9-19.9-13.2-25.9L465.4 512l145.4-105.2c8.3-6 13.2-15.6 13.2-25.9V334c0-6.5-7.4-10.3-12.7-6.5l-246 178a8.05 8.05 0 0 0 0 13z"></path><path d="M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z"></path></g></svg>
                     </div>
                     <div v-else>
@@ -71,7 +71,7 @@
                             </el-button>
                         </HcTooltip>
                         <HcTooltip keys="archives_appraisal_btn_records">
-                            <el-button hc-btn @click="searchForm.type = 1">
+                            <el-button hc-btn @click="showHistory">
                                 <span>历史销毁记录</span>
                             </el-button>
                         </HcTooltip>
@@ -98,6 +98,7 @@ import DestoryDialog from './components/destory-dialog.vue'
 import projectScanningApi from "~api/other-file/projectScanning";
 import {getStoreValue, setStoreValue} from '~src/utils/storage'
 import {downloadBlob, getArrValue, deepClone} from "js-fast-way"
+import appraialApi from "~api/archiveConfig/appraisal.js";
 
 //变量
 const useAppState = useAppStore()
@@ -116,6 +117,7 @@ watch(() => [
 //渲染完成
 onMounted(() => {
       getClassIfyList()
+      getFilingUnitListdata()
 })
 
 //树加载
@@ -126,7 +128,7 @@ const treeNodeLoading = () => {
 
 //搜索表单
 const searchForm = ref({
-    contractId: null, type: null, approval: null, betweenTime: null,
+    contractId: null, isDeleted: 0, approval: null, betweenTime: null,
     current: 1, size: 20, total: 0
 })
 
@@ -147,7 +149,6 @@ const betweenTimeUpdate = ({arr,query}) => {
 
 //搜索
 const searchClick = () => {
-    showdestorydialog.value.current = 1;
     getTableData()
 }
 //打开弹窗
@@ -158,9 +159,9 @@ const showdialog = () => {
 }
 //保管期限
 const retentionPeriod = ref([
-    {label: '永久', value: '1'},
-    {label: '30年', value: '2'},
-    {label: '10年', value: '3'}
+    {label: '永久', value: '9999'},
+    {label: '30年', value: '30'},
+    {label: '10年', value: '10'}
 ])
 
 //文件大小
@@ -173,11 +174,7 @@ const fileSize = ref([
 ])
 //立卷单位
 const filingUnit = ref([
-    {label: 'xx单位', value: '1'},
-    {label: 'xx单位', value: '2'},
-    {label: 'xx单位', value: '3'},
-    {label: 'xx单位', value: '4'},
-    {label: 'xx单位', value: '5'},
+ 
 ])
 //是否到期
 
@@ -206,47 +203,49 @@ const pageChange = ({current, size}) => {
 //表格数据
 const tableRef = ref(null)
 const tableColumn = ref([
+    {key:'fileNumber', name: '档号'},
+    {key:'name', name: '案卷题名', width: 600},
+    {key:'storageTimeValue', name: '保管期限'},
+    {key:'fileSize', name: '文件大小'},
 
-    {key:'key1', name: '档号'},
-    {key:'key2', name: '案卷题名', width: 600},
-    {key:'key4', name: '保管期限'},
-    {key:'key5', name: '文件大小'},
-
-])
-
-const tableData = ref([
-    {
-        id: 1,
-        key1: 'FJZB-02-123',
-        key2: '初步设计外业验收有关文件、工程初步设计图纸、初步设计批复、初步设计审查咨询报告',
-        key3: '293',
-        key4: '300',
-        key5: '备注信息',
-    },
-    {
-        id: 2,
-        key1: 'FJZB-02-123',
-        key2: '初步设计外业验收有关文件、工程初步设计图纸、初步设计批复、初步设计审查咨询报告',
-        key3: '293',
-        key4: '300',
-        key5: '备注信息',
-    },
-    {
-        id: 2,
-        key1: 'FJZB-02-123',
-        key2: '初步设计外业验收有关文件、工程初步设计图纸、初步设计批复、初步设计审查咨询报告',
-        key3: '293',
-        key4: '300',
-        key5: '备注信息',
-    }
 ])
 
+const tableData = ref([])
 //获取数据
 const tableLoading = ref(false)
 const getTableData = async () => {
-
+    tableLoading.value = true
+    const { error, code, data } = await appraialApi.pageByAuthenticate({
+        ...searchForm.value,
+        projectId: projectId.value,
+    })
+    tableLoading.value = false
+    if (!error && code === 200) {
+        tableData.value = getArrValue(data['records'])
+        searchForm.value.total = data['total'] || 0
+    } else {
+        tableData.value = []
+        searchForm.value.total = 0
+    }
+}
+//获取立卷单位列表getFilingUnitList
+const getFilingUnitListdata=async()=>{
+    const { error, code, data } = await appraialApi.getFilingUnitList({
+        projectId: projectId.value,
+    })
+    if (!error && code === 200) {
+        console.log(data,'data');
+        filingUnit.value = getArrValue(data)
+     
+    } else {
+        filingUnit.value = []
+     
+    }
+}
+const showHistory=()=>{
+    searchForm.value.isDeleted = 1
+    getTableData()
 }
-
 //多选
 const tableCheckedKeys = ref([]);
 const tableSelection = (rows) => {
@@ -296,30 +295,15 @@ const TreeAutoExpandKeys = ref(getStoreValue('scanningTreeExpandKeys') || [])
 //项目树被点击
 const treeNodeInfo = ref({})
 const treeDataInfo = ref({})
-const nodeIds = ref('')
+const nodeId= ref('')
 const isStorageNode = ref(0)
 const isBuiltDrawing = ref(0)
 const nodeElTreeClick = ({node, data, keys, key}) => {
-    console.log('点击',data);
-    // treeNodeInfo.value = node
-//    formInline.value=data
-
-//   if(data.children){
-//        childtreedata.value=data.children
-//   }else{
-//       childtreedata.value=[data]
-//   }
-
+    nodeId.value = data.id || ''
+    searchForm.value.nodeId = data.id || ''
+    searchForm.value.current = 1;
+    getTableData()
 
-    // //设置变量
-    // nodeIds.value = key || ''
-    // isStorageNode.value = data['isStorageNode'] || 0
-    // isBuiltDrawing.value = data['isBuiltDrawing'] || 0
-    // //设置搜索数据
-    // searchForm.value.current = 1;
-    // searchForm.value.nodeIds = key || ''
-    // setTableColumns()
-    // getTableData()
     //缓存展开的节点
     setStoreValue('scanningTreeExpandKeys', keys)
 }

+ 17 - 4
src/views/archives/tuning.vue

@@ -52,17 +52,17 @@
                         </el-button>
                     </HcTooltip>
                     <HcTooltip keys="archives_tuning_btn_disassemble">
-                        <el-button hc-btn :disabled="tableCheckedKeys.length <= 0" @click="delModalClick">
+                        <el-button hc-btn :disabled="tableCheckedKeys.length <= 0" @click="tunModalClick">
                             <HcIcon name="archive-drawer"/>
                             <span>拆卷</span>
                         </el-button>
                     </HcTooltip>
-                   <HcTooltip keys="archives_tuning_btn_del">
+                   <!-- <HcTooltip keys="archives_tuning_btn_del">
                         <el-button hc-btn :disabled="tableCheckedKeys.length <= 0" @click="delModalClick">
                             <HcIcon name="delete-bin"/>
                             <span>删除</span>
                         </el-button>
-                    </HcTooltip>
+                    </HcTooltip> -->
 
             </template>
                 <div class="body" :class="tableFileShow?'file-table':''">
@@ -420,7 +420,20 @@ const delModalClick = () => {
 
     })
 }
-
+const tunModalClick=()=>{
+    window?.$messageBox?.alert('请谨慎考虑是否要批量拆除已经案卷及卷内文件?', '拆除案卷', {
+        showCancelButton: true,
+        confirmButtonText: '确认拆卷',
+        cancelButtonText: '取消',
+        type: 'warning',
+        callback: (action) => {
+            if (action === 'confirm') {
+                console.log(1111);
+                // cbk()
+            }
+        }
+    })
+}
 //左右拖动,改变树形结构宽度
 const leftWidth = ref(382);
 const onmousedown = () => {

+ 54 - 20
src/views/custody/testing.vue

@@ -231,12 +231,12 @@
 
                             <div class="hc-steps-view"  style="width:100%;display:flex">
                                 <el-steps :active="activeIndex" align-center  style="width:90%">
-                                    <el-step title="初始化" @click="stepClick(1)"/>
-                                    <el-step title="检测中" @click="stepClick(2)"/>
-                                    <el-step title="生成报告" @click="stepClick(3)"/>
-                                    <el-step title="完成" @click="stepClick(4)"/>
+                                    <el-step title="初始化" />
+                                    <el-step title="检测中" />
+                                    <el-step title="生成报告" />
+                                    <el-step title="完成" />
                                 </el-steps>
-                                <el-button type="success" v-if="activeIndex===4">查看报告</el-button>
+                                <el-button type="success" v-if="activeIndex===4" @click="viewReport">查看报告</el-button>
                             </div>
 
                       </div>
@@ -264,7 +264,7 @@
 </template>
 
 <script setup>
-import {ref, watch, onMounted} from "vue";
+import {nextTick, ref, watch,onMounted} from "vue";
 import {useAppStore} from "~src/store";
 import bgColor  from '~src/assets/view/bgcolor.svg';
 import testBgbig  from '~src/assets/view/testBgbig.png';
@@ -299,7 +299,7 @@ const tableColumn = ref([
 
 ])
 const tableData = ref([])
-
+const returnTabledata=ref([])
 //获取数据
 const tableLoading = ref(false)
 //一键检测
@@ -328,6 +328,7 @@ const detection=async()=>{
 onMounted(() => {
     getReportData()
     getReportStatusdata()
+ 
 })
 //获取检测报告状态
 const getReportStatusdata=async()=>{
@@ -354,22 +355,42 @@ const props = defineProps(
             // type: Object,
             // default: () => ({ })
         },
+        msgChange:{
+
+        }
     }
 )
 //检测百分比
 const statusPercent=ref('25%')
+const finalUrl=ref('')
+const pushTable = (item) => {
+    setTimeout(() => {
+        tableData.value.unshift(item)
+
+    }, 1000);
+
+   
+}
+
+const reTabledata=ref([])
 //监听
 watch(() => [
         props.msgCount,
-        activeIndex
-    ], ([val,index]) => {
+        activeIndex,
+        props.msgChange,
+    ], ([val,index,msgChange]) => {
         const res = toParse(val)
-        // console.log(val,'val消息信息');
-        if(res) {
-            activeIndex.value = res.status;
-            tableData.value=res.detailList
+        if(res===true&&msgChange>0) {
+            reportApi.getCurrentExaminingInfo({ reportId: reportId.value}).then((res)=>{
+                console.log(res.data,'res');
+                let resdata=res.data
+                activeIndex.value = resdata.status;
+                tableData.value=resdata.detailList;
+                reTabledata.value=resdata.detailList
+                finalUrl.value=resdata.pdfUrl||''
+            })
         }
-        console.log(index.value,'index');
+      
         if(index.value===1){
             statusPercent.value='25%'
         }else if(index.value===2){
@@ -382,13 +403,18 @@ watch(() => [
        
     }
 )
+//监听
+// watch(() => [reTabledata.value], ([ReTabledata]) => {
+//       console.log(ReTabledata,'ReTabledata');
+//       console.log(tableData.value,'tableData.value');
+//       ReTabledata.forEach((item)=>{
+//         pushTable(item)
+//       })
+
+//     }
+// )
 //渲
-const stepClick = (index) => {
-    // activeIndex.value = index;
-    // if (index==0) {
-    //      isStatus.value=true
-    // }
-}
+
 //历史报告
 const visible = ref(false)
 const showReport=()=>{
@@ -451,6 +477,14 @@ const viewDialogTrue=(type)=>{
 const imageDialogClose=()=>{
     imageDialog.value=false
 }
+//查看报告
+const viewReport=()=>{
+    if(finalUrl.value){
+        window.open(finalUrl.value, '_blank')
+    }else{
+        window.$message.warning('暂无pdf')
+    }
+}
 </script>
 
 <style lang="scss" scoped>

+ 104 - 38
src/views/using/query.vue

@@ -106,9 +106,9 @@
                             <el-button type="primary" size="small" @click.stop="consultFileClick(row,2)">查阅文件</el-button>
                         </template>
                     </HcTable>
-                    <template #action>
+                    <!-- <template #action>
                         <HcPages :pages="InsearchForm" @change="InpageChange"/>
-                    </template>
+                    </template> -->
                 </HcCardItem>
             </div>
         </HcCard>
@@ -217,7 +217,7 @@
         </HcDialog>
 
         <!--目录树-->
-        <HcDialog :show="nodeTreeModal" widths="1080px" isTable saveText="确认" :isClose="false" @close="nodeTreeModalClose" @save="nodeTreeModalSave">
+        <HcDialog :show="nodeTreeModal" widths="1080px" isTable saveText="确认" :isClose="false" @close="nodeTreeModalClose" @save="nodeTreeModalSave" >
             <template #header>
                 <div role="heading" class="el-dialog__title">
                     <span class="mr-3">选择目录</span>
@@ -228,16 +228,26 @@
                 <HcNewSwitch :datas="nodeTabData" :keys="nodeTabKey" @change="nodeTabChange" :round="false"/>
             </template>
 
-            <el-collapse class="hc-node-tree-collapse" v-model="activeName" accordion @change="collapseChange">
-                <template v-for="item in nodeTreeArr">
+            <el-collapse class="hc-node-tree-collapse" v-model="activeName" accordion @change="collapseChange"    v-loading="nodeTreeArrLoad">
+                <template v-for="(item) in nodeTreeArr">
                     <el-collapse-item :name="item.id.toString()">
                         <template #title>
                             <div class="hc-collapse-item-title">
                                 <HcIcon name="folder-3" fill class="icon"/>
-                                <span class="title">{{item.name}}</span>
+                                <span class="title">{{item.nodeName}}</span>
                             </div>
                         </template>
-                        <HcNodeTree :projectId="projectId" :contractId="contractId"/>
+                        <!-- <HcNodeTree :projectId="projectId" :contractId="contractId"/> -->
+                        <el-tree 
+                        node-key="id"
+                        ref="nodetreeEl" 
+                        :props="defaultProps" 
+                        show-checkbox  
+                        v-loading="nodetreeElloading" 
+                        lazy  
+                        :load="loadNode" 
+                        :data="Nodetreedata" 
+                     />
                     </el-collapse-item>
                 </template>
             </el-collapse>
@@ -250,8 +260,8 @@
 import {ref, nextTick, onMounted, watch} from "vue";
 import {useAppStore} from "~src/store";
 import MetaTable from "../transfer/components/meta-table.vue"
-//import HcNodeTree from "./components/query/hc-tree.vue"
-import HcNodeTree from "~src/components/tree/hc-tree-1.vue"
+import HcNodeTree from "./components/query/hc-tree.vue"
+// import HcNodeTree from "~src/components/tree/hc-tree-1.vue"
 import {getArrValue, arrIndex, isArrIndex} from "js-fast-way"
 import website from '~src/config/index'
 import archiveQueryApi from "~api/using/query.js";
@@ -265,6 +275,7 @@ const isBubble = ref(useAppState.getBubble);
 const userRoleId = ref(useAppState.getRoleId);
 const hoverHand = ref(true)
 
+
 //监听
 watch(() => [
     useAppState.getBubble,
@@ -437,14 +448,21 @@ const setQueryFiltering = (arr, {key, name}) => {
 //目录树
 const nodeTreeClick = () => {
     nodeTreeModal.value = true
+    getnodeTabData()
 }
 const nodeTreeModal = ref(false)
 const nodeTreeModalClose = () => {
     nodeTreeModal.value = false
+    activeName.value=""
 }
+
 //确认
 const nodeTreeModalSave = () => {
+   let keys= nodetreeEl.value[treeIndex.value].getCheckedKeys()
+   searchForm.value.nodeIds=keys.join(',')
     nodeTreeModal.value = false
+  
+ 
 }
 
 
@@ -665,13 +683,13 @@ const cscTableColumn3 = [
     {key:'name', name: '计量资料', align: 'center'}
 ];
 const cscTableData3 = ref([
-    {id: 1, name: 'ZB2-17.pdf'},
-    {id: 2, name: 'ZB2-18.pdf'},
-    {id: 3, name: 'ZB2-19.pdf'},
-    {id: 4, name: 'ZB2-20.pdf'},
-    {id: 5, name: 'ZB2-21.pdf'},
-    {id: 6, name: 'ZB2-22.pdf'},
-    {id: 7, name: 'ZB2-23.pdf'}
+    // {id: 1, name: 'ZB2-17.pdf'},
+    // {id: 2, name: 'ZB2-18.pdf'},
+    // {id: 3, name: 'ZB2-19.pdf'},
+    // {id: 4, name: 'ZB2-20.pdf'},
+    // {id: 5, name: 'ZB2-21.pdf'},
+    // {id: 6, name: 'ZB2-22.pdf'},
+    // {id: 7, name: 'ZB2-23.pdf'}
 ])
 
 //计量资料
@@ -679,12 +697,12 @@ const cscTableColumn4 = [
     {key:'name', name: '关联文件', align: 'center'}
 ];
 const cscTableData4 = ref([
-    {id: 1, name: 'xxxxxxxxxxxxxxxxxxx.pdf', tag: '开工'},
-    {id: 2, name: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.pdf', tag: '工序'},
-    {id: 3, name: 'xxxxxxxxxxxxxxxxxxxxxxxxxx.pdf', tag: '评定'},
-    {id: 4, name: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx.pdf', tag: '交工'},
-    {id: 5, name: '', tag: '抽检'},
-    {id: 6, name: '', tag: '隐蔽'}
+    // {id: 1, name: 'xxxxxxxxxxxxxxxxxxx.pdf', tag: '开工'},
+    // {id: 2, name: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.pdf', tag: '工序'},
+    // {id: 3, name: 'xxxxxxxxxxxxxxxxxxxxxxxxxx.pdf', tag: '评定'},
+    // {id: 4, name: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx.pdf', tag: '交工'},
+    // {id: 5, name: '', tag: '抽检'},
+    // {id: 6, name: '', tag: '隐蔽'}
 ])
 
 //验签包
@@ -738,33 +756,81 @@ const onCarrySpotChecksDrawerClose = () => {
 }
 
 //tab数据和相关处理
-const nodeTabKey = ref('tab1')
+const nodeTabKey = ref('1')
 const nodeTabData = ref([
-    {key:'tab1', name: '业主档案'},
-    {key:'tab2', name: '施工档案'},
-    {key:'tab3', name: '监理档案'},
-    {key:'tab4', name: '文书档案'},
+    {key:'1', name: '业主档案'},
+    {key:'2', name: '施工档案'},
+    {key:'3', name: '监理档案'},
+    {key:'4', name: '文书档案'},
 ]);
 const nodeTabChange = (item) => {
     nodeTabKey.value = item?.key;
-}
+    getnodeTabData()
+}
+//获取目录树getArchiveTreeByNodeType
+const nodeTreeArrLoad=ref(false)
+const getnodeTabData=async()=>{
+    nodeTreeArrLoad.value=true
+    const { error, code, data } = await archiveQueryApi.getArchiveTreeByNodeType({
+        nodeType:nodeTabKey.value,
+        projectId: projectId.value,
 
+    })
+   
+    if (!error && code === 200) {
+        console.log(data,'mulushu');
+        nodeTreeArr.value = getArrValue(data)
+        nodeTreeArrLoad.value=false
+    
+    } else {
+        nodeTreeArr.value = []
+        nodeTreeArrLoad.value=false
 
+    }
+}
+const defaultProps = {
+  children: 'children',
+  label: 'nodeName',
+  isLeaf: 'notExsitChild'
+}
+const Nodetreedata=ref([])
+const nodetreeEl=ref(null)
 const activeName = ref('')
-const nodeTreeArr = ref([
-    {id: '1', name: '一、立项审批文件'},
-    {id: '2', name: '二、勘察设计文件'},
-    {id: '3', name: '三、招标投标、合同协议文件'},
-    {id: '4', name: '四、工程准备、征地、拆迁、移民等文件'},
-    {id: '5', name: '五、项目管理文件'},
-    {id: '6', name: '六、计量与支付、结算与审计文件'},
-    {id: '7', name: '七、交、竣工文件'},
-    {id: '8', name: '八、工程照片、音像资料'},
-])
+const nodeTreeArr = ref([]) 
+const checkNodeid=ref('')
+const treeIndex=ref(0)
 const collapseChange = (key) => {
+    treeIndex.value=nodeTreeArr.value.findIndex(item=>{return item.id===key})
+
+    checkNodeid.value=key
     activeName.value = key.toString();
+    getNodetreedata()
 }
+const nodetreeElloading=ref(false)
+const getNodetreedata=async()=>{
+    nodetreeElloading.value=true
+    const { error, code, data } = await archiveQueryApi.getChildrenNodeByNodeId({
+        nodeId:checkNodeid.value,
+    })
+    nodetreeElloading.value=false
+    if (!error && code === 200) {
+   
+        Nodetreedata.value = getArrValue(data)
+     
+    
+    } else {
+        Nodetreedata.value = [] 
+    }
+}
+const checkNodeids=ref([])
 
+
+const loadNode=(tree, resolve)=>{
+    archiveQueryApi.getChildrenNodeByNodeId({  nodeId:tree.data.id}).then((response) => {
+        let resdata=getArrValue(response.data)
+            resolve(resdata);
+        })
+}
 </script>
 
 <style lang="scss" scoped>