فهرست منبع

重置题名修改

duy 2 هفته پیش
والد
کامیت
57c46497ff
2فایلهای تغییر یافته به همراه120 افزوده شده و 45 حذف شده
  1. 12 3
      src/api/modules/data-fill/query.js
  2. 108 42
      src/views/data-fill/query.vue

+ 12 - 3
src/api/modules/data-fill/query.js

@@ -164,12 +164,21 @@ export default {
         })
     },
     //重置文件题名
+
+    //预览文件题名接口
+    async previewNodeName(form) {
+        return HcApi({
+            url: '/api/blade-business/informationWriteQuery/previewNodeName',
+            method: 'get',
+            params: form,
+        })
+    },
+        //文件题名确认修改接口
     async flushQueryName(form) {
         return HcApi({
-            url: '/api/blade-business/informationWriteQuery/flushQueryName',
+            url: '/api/blade-business/informationWriteQuery/flushQueryName ',
             method: 'post',
-            params: form,
+            data: form,
         })
     },
-
 }

+ 108 - 42
src/views/data-fill/query.vue

@@ -340,16 +340,15 @@
             
             <div style="position: relative; height: 240px" class="mt-2">
                 <hc-table :column="ruleTableColumn" :datas="ruleTableData">
-                    <template #color="{ row }">
+                    <template #rule="{ row }">
                         <el-select 
-                            v-model="row.color" 
+                            v-model="row.rule" 
                             placeholder="请选择" 
-                           
                             multiple
                             clearable
                             class="custom-select"
-
                             :popper-append-to-body="false"
+                            @change="ruleChange(row)"
                         >
                             <el-option
                                 v-for="item in nodeTypeData"
@@ -725,16 +724,7 @@ const tableSelectionChange = (rows) => {
 
 //名称被点击
 const tableRowName = (row) => {
-    //如果 evisaPdfUrl 不为空,使用evisaPdfUrl,反之使用pdfUrl
-    // if (row['evisaPdfUrl']) {
-    //     toPdfPage(row['evisaPdfUrl'])
-    //     //window.open(row['evisaPdfUrl'], '_blank')
-    // } else if (row['pdfUrl']) {
-    //     toPdfPage(row['pdfUrl'])
-    //     //window.open(row['pdfUrl'], '_blank')
-    // } else {
-    //     window.$message?.warning('文件不存在')
-    // }
+
     bussPreview(row)
 }
 
@@ -1115,22 +1105,35 @@ const saveAginLoading = ref(false)
 //重置文件题名
 const resignTitleModal = ref(false)
 const resignTitleClick = async ()=>{
-    const rows = tableCheckedKeys.value
+ 
     resignTitleModal.value = true
-
-    // const ids = arrToId(rows)
-    //  resignTitleLoading.value = true
-    //  const { error, code, msg, data } = await queryApi.flushQueryName({
-    //     ids: ids,
-    // })
-    // //处理数据
-    // resignTitleLoading.value = false
-    // if (!error && code === 200) {
-    //     getTableData().then()
-    // } 
     
 }
-const resignTitleSave = ()=>{
+const resignTitleSave = async ()=>{
+      const rows = tableCheckedKeys.value
+    let arr = []
+    rows.forEach(item=>{
+        arr.push({
+            id:item.id,
+            nodeName:'',
+        })
+    })
+     ruleModalSaveLoad.value = true
+     const { error, code, msg, data } = await queryApi.flushQueryName({
+        type:1,
+        list:arr,
+
+    })
+    //处理数据
+    ruleModalSaveLoad.value = false
+    if (!error && code === 200) {
+        window.$message?.success(msg)
+        resignTitleModal.value = false
+
+        getTableData().then()
+    } else {
+        window.$message?.error(msg || '操作失败')
+    }
 
 }
 const resignTitleSaveLoad = ref(false)
@@ -1138,41 +1141,104 @@ const resignTitleSaveLoad = ref(false)
 //规则更改
 const changeRuleClick = ()=>{
     getWbsNodeTypeApi().then()
-
     ruleModal.value = true
+    ruleTableData.value = []
+    tableCheckedKeys.value.forEach((ele)=>{
+         ruleTableData.value.push({
+            name:ele.name,
+            wbsId:ele.wbsId,
+            id:ele.id,
+            rule:'',
+            nodeName:'',
+         })
+    })
+ 
+
 }
 const ruleModal = ref(false)
 const ruleModalSaveLoad = ref(false)
 const ruleModalClose = ()=>{
     ruleModal.value = false
+    setValue.value = []
 }
-const ruleModalSave = ()=>{
-    
+const ruleModalSave = async ()=>{
+    let arr = []
+    ruleTableData.value.forEach(item=>{
+        arr.push({
+            id:item.id,
+            nodeName:item.nodeName,
+        })
+    })
+
+    ruleModalSaveLoad.value = true
+    const { error, code, msg, data } = await queryApi.flushQueryName({
+        type:2,
+        list:arr,
+
+    })
+    //处理数据
+    ruleModalSaveLoad.value = false
+    if (!error && code === 200) {
+       window.$message?.success(msg)
+       getTableData().then()
+       ruleModalClose()
+       resignTitleModal.value = false
+
+
+    } 
 }
 const setValue = ref('')
 
 const ruleTableColumn = ref([
      { key: 'name', name: '文件题名' },
-    { key: 'text', name: '修改后' },
-    { key: 'color', name: '题名规则' },
-])
-const ruleTableData = ref([
-    { id: 1, name: '名称1', text: '文本1', color: 'red' },
-    { id: 2, name: '名称2', text: '文本2', color: 'blue' },
-    { id: 3, name: '名称3', text: '文本3', color: '无' },
- 
+    { key: 'nodeName', name: '修改后' },
+    { key: 'rule', name: '题名规则' },
 ])
+const ruleTableData = ref([])
 const batchSetRule = ()=>{
+   ruleTableData.value.forEach(async (ele)=>{
+        ele.rule = setValue.value
+         let str = ''
+        if (ele.rule.length > 0) {
+            str = ele.rule.join('-')
+        }
+        ele.nodeName = await getRuleValue(ele.wbsId, str)
+        setValue.value = ''
 
-   ruleTableData.value.forEach((ele)=>{
-        ele.color = setValue.value
    })
 }
+const ruleChange = async (ele)=>{
+   let str = ''
+   if (ele.rule.length > 0) {
+    str = ele.rule.join('-')
+   }
+
+    ele.nodeName = await getRuleValue(ele.wbsId, str)
+   
+   
+}
+const getRuleLoad = ref(false)
+const getRuleValue = async (wbsId, param) => { 
+    getRuleLoad.value = true
+    const { error, code, msg, data } = await queryApi.previewNodeName({
+        wbsId:wbsId,
+        param:param,
+
+    })
+    //处理数据
+    getRuleLoad.value = false
+    if (!error && code === 200) {
+        return data || ''
+    } else {
+       return ''
+    }
+
+}
 //获取节点类型
 const nodeTypeData = ref([])
 const getWbsNodeTypeApi = async () => {
     const { data } = await getDictionary({
-        code: 'wbs_node_type',
+        code: 'name_rule',
     })
     //处理数据
     let newArr = []
@@ -1180,7 +1246,7 @@ const getWbsNodeTypeApi = async () => {
     for (let i = 0; i < newData.length; i++) {
         newArr.push({
             label: newData[i]['dictValue'],
-            value: Number(newData[i]['dictKey']),
+            value:newData[i]['dictKey'],
         })
     }
     nodeTypeData.value = newArr