浏览代码

案卷迁移,案卷拆卷调接口

duy 2 年之前
父节点
当前提交
e07f4034ac
共有 3 个文件被更改,包括 97 次插入17 次删除
  1. 26 2
      src/api/modules/archiveConfig/tuning.js
  2. 8 3
      src/components/tree/hc-tree.vue
  3. 63 12
      src/views/archives/tuning.vue

+ 26 - 2
src/api/modules/archiveConfig/tuning.js

@@ -34,12 +34,36 @@ async archivesautoUnLock(form, msg = true) {
     }, msg);
 },
 //预览案卷
-
 async printArchive(form, msg = true) {
     return httpApi({
-        url: '/api/blade-archive//archivesauto/printArchive',
+        url: '/api/blade-archive/archivesauto/printArchive',
         method: 'get',
         params: form
     }, msg)
   },
+  //删除案卷里的文件案卷里删除文件/
+  async removeFiles(form, msg = true) {
+    return httpApi({
+        url: '/api/blade-archive/archivesauto/removeFiles',
+        method: 'post',
+        params: form
+    }, msg);
+  },
+//案卷迁移/archivesauto/move 
+    async moveArchive(form, msg = true) {
+    return httpApi({
+        url: '/api/blade-archive/archivesauto/move',
+        method: 'post',
+        params: form
+    }, msg);
+  }, 
+//拆卷/archivesauto/split 
+async splitArchive(form, msg = true) {
+    return httpApi({
+        url: '/api/blade-archive/archivesauto/split',
+        method: 'post',
+        params: form
+    }, msg);
+  }, 
+
 }

+ 8 - 3
src/components/tree/hc-tree.vue

@@ -8,7 +8,7 @@
                         <!--树组件,节点名称-->
                         <div class="label level-name" v-if="node.level === 1" >{{ node.label }}</div>
                         <div class="label" v-else>
-                            <el-radio class="size-xl" :label="data['id']" @click.stop v-if="isRadio && showRadioFun(data)">{{ node.label }}</el-radio>
+                            <el-radio class="size-xl" :label="data['id']" @click.stop="clickRadio(data)" v-if="isRadio && showRadioFun(data)">{{ node.label }}</el-radio>
                             <span v-else>{{ node.label }}</span>
                             <div class="menu-icon1" :class="node.showTreeMenu?'show':''" v-if="node.level !== 1 && menusData.length > 0">
                                 <div class="cu-tree-node-popover-menu-icon" @click.prevent.stop="ElTreeLabelContextMenu($event,data,node)">
@@ -155,7 +155,7 @@ watch(() => [
 })
 
 //事件
-const emit = defineEmits(['menuTap','nodeTap', 'nodeLoading', 'radioChange'])
+const emit = defineEmits(['menuTap','nodeTap', 'nodeLoading', 'radioChange','noderadio'])
 
 //单选框事件
 const treeRadioChange = (val) => {
@@ -266,7 +266,12 @@ const ElTreeLabelContextMenu = (e,data,node) => {
         contextMenuRef.value?.showMenu(e)
     }
 }
-
+//单选
+const clickRadio=(data)=>{
+    console.log(data,'data111');
+    
+    emit('noderadio', {data})
+}
 //鼠标右键菜单被点击
 const handleMenuSelect = ({key}) => {
     const node = treeRefNode.value;

+ 63 - 12
src/views/archives/tuning.vue

@@ -58,7 +58,7 @@
                         </el-button>
                     </HcTooltip>
                     <HcTooltip keys="archives_tuning_btn_disassemble">
-                        <el-button hc-btn :disabled="tableCheckedKeys.length <= 0" @click="tunModalClick">
+                        <el-button hc-btn :disabled="tableCheckedKeys.length <= 0" @click="tunModalClick"  >
                             <HcIcon name="archive-drawer"/>
                             <span>拆卷</span>
                         </el-button>
@@ -144,7 +144,7 @@
                         <el-scrollbar>
                             <el-checkbox-group v-model="checkedMoves" @change="handleCheckedMovesChange">
                                 <div class="hc-file-checkbox" v-for="item in tableCheckedKeys" :key="item.id">
-                                    <el-checkbox class="size-xl space" :label="item.id">{{item.fileName}}</el-checkbox>
+                                    <el-checkbox class="size-xl space" :label="item.id">{{item.name}}</el-checkbox>
                                 </div>
                             </el-checkbox-group>
                         </el-scrollbar>
@@ -161,7 +161,7 @@
                     <div class="panel-header">选择移动目录</div>
                     <div class="panel-body">
                         <el-scrollbar>
-                            <HcTree idPrefix="hc-tree-moves-" :projectId="projectId" :contractId="contractId" isRadio/>
+                            <HcTree idPrefix="hc-tree-moves-" :projectId="projectId" :contractId="contractId" isRadio  @noderadio="nodeRadio"/>
                         </el-scrollbar>
                     </div>
                 </div>
@@ -291,6 +291,12 @@ const nodeElTreeClick = ({node, data, keys, key}) => {
     searchForm.value.nodeIds = data.id || '';
     getTableData()
 }
+const nodeRadio= ({node, data, keys, key}) => {
+   console.log(data,'data33333');
+    chnodeId.value = data.id || '';
+    console.log( chnodeId.value,' chnodeId.value');
+
+}
 //搜索表单
 const searchForm = ref({
     contractId: null, type: null, approval: null, 
@@ -393,32 +399,59 @@ const intableSelection = (rows) => {
 }
 //删除
 const delModalClick = () => {
-    // delMessage(() => {
-
-    // })
+ 
+    let ids=''
+    const rows = tableCheckedKeys.value;
+    ids= rowsToId(rows)
     window?.$messageBox?.alert('请谨慎考虑是否要批量删除卷内文件?', '删除文件', {
         showCancelButton: true,
         confirmButtonText: '确认删除',
         cancelButtonText: '取消',
         type: 'warning',
-        callback: (action) => {
+        callback: async(action, ctx, close) => {
+            ctx.confirmButtonLoading = true;
             if (action === 'confirm') {
-                console.log(1111);
-                // cbk()
+                const { error, code, data,msg } = await tuningApi.removeFiles({
+                ids:ids,
+            })
+            ctx.confirmButtonLoading = false;
+            if (!error && code === 200) {
+                window.$message?.success(msg)
+            
+            } else {
+                window.$message?.warning(msg)
+             }
             }
         }
     })
 }
+const splitLoad=ref(false)
 const tunModalClick=()=>{
+    splitLoad.value=true
     window?.$messageBox?.alert('请谨慎考虑是否要批量拆除已经案卷及卷内文件?', '拆除案卷', {
         showCancelButton: true,
         confirmButtonText: '确认拆卷',
         cancelButtonText: '取消',
         type: 'warning',
-        callback: (action) => {
+        callback: async(action, ctx, close) => {
             if (action === 'confirm') {
                 console.log(1111);
-                // cbk()
+                
+                ctx.confirmButtonLoading = true;
+
+                let ids=''
+                const rows = tableCheckedKeys.value;
+                ids= rowsToId(rows)
+                const { error, code, data,msg } = await tuningApi.splitArchive({
+                ids:ids
+                })
+                ctx.confirmButtonLoading = true;
+                if (!error && code === 200) {
+                    window.$message?.success(msg)
+                    getTableData()
+                } else {
+                    window.$message?.warning(msg)
+                }
             }
         }
     })
@@ -459,6 +492,7 @@ const handleCheckAllChange = (val) => {
 
 //勾选
 const handleCheckedMovesChange = (value) => {
+    
     const keys = tableCheckedKeys.value
     const checkedCount = value.length
     movesCheckAll.value = checkedCount === keys.length
@@ -467,7 +501,24 @@ const handleCheckedMovesChange = (value) => {
 
 //保存
 const movesModalLoading = ref(false)
-const movesModalSave = () => {
+const chnodeId=ref('')
+const movesModalSave = async() => {
+    movesModalLoading.value = true
+    console.log(checkedMoves.value,'checkedMoves.value');
+    let ids=checkedMoves.value.join(',')
+ 
+    const { error, code, data,msg } = await tuningApi.moveArchive({
+       ids:ids,
+       nodeId:chnodeId.value
+    })
+    movesModalLoading.value = false
+    if (!error && code === 200) {
+        console.log(msg,'msg');
+        window.$message?.success(msg)
+        getTableData()
+    } else {
+        window.$message?.warning(msg)
+    }
     movesModal.value = false
 }