duy 1 сар өмнө
parent
commit
415311656b

+ 20 - 0
src/api/modules/data-fill/division.js

@@ -131,4 +131,24 @@ export default {
             params,
         })
     },
+    //资料导入-下载导入模模版
+        //导入模板
+    async downloadNodeExcel(params) {
+        return HcApi({
+            url: '/api/blade-manager/wbsTreeContract/download-node-excel',
+            method: 'get',
+            params,
+            responseType: 'blob',
+        })
+    },
+    //资料导入上传
+
+     async importNodeExcel(params) {
+        return HcApi({
+            url: '/api/blade-manager/wbsTreeContract/import-node-excel',
+            method: 'post',
+            params,
+            responseType: 'blob',
+        })
+    },
 }

+ 35 - 13
src/views/data-fill/components/dataImport.vue

@@ -4,8 +4,8 @@
         <div style="position: relative;">
             <el-upload
                 ref="dialogUploadRef" :headers="getHeader()" drag 
-                action="/api/blade-manager/wbsTreeContract/importTree" 
-                :data="{ pkeyId: pKeyIdData }"
+                action="/api/blade-manager/wbsTreeContract/import-node-excel" 
+                :data="{ nodeId, classify }"
                 :on-success="handleSuccess" :on-error="handleError" accept=".xls,.xlsx"
                 :auto-upload="false"
                 :limit="1"
@@ -51,30 +51,44 @@ import { useAppStore } from '~src/store'
 import { HcDelMsg, getHeader } from 'hc-vue3-ui'
 
 import wbsApi from '~api/data-fill/wbs'
+import divisionApi from '~api/data-fill/division'
 
 const props = defineProps({
-    dataModal: {
-        type: Boolean,
-        default: false,
+    nodeId: {
+        type: String,
+        default: '',
+    },
+    classify: {
+        type: String,
+        default: '',
     },
-
  
   
 })
-
 //事件
-const emit = defineEmits(['close', 'save'])
+const emit = defineEmits(['close', 'save', 'success'])
+const nodeId = ref(props.nodeId)
+const classify = ref(props.classify)
+
+watch(
+    () => [props.nodeId, props.classify],
+    ([nid, clas]) => {
+        nodeId.value = nid
+        classify.value = clas
+    },
+)
+
 const dataModal = defineModel('modelValue', {
     default: false,
 })
 const closeModal = ()=>{
     dataModal.value = false
+    fileList.value = []
+
    
     emit('close')
 }
-const useAppState = useAppStore()
-const contractId = ref(useAppState.getContractId)
-const projectId = ref(useAppState.getProjectId)
+
 
 
 //上传文件
@@ -114,7 +128,10 @@ const handleSuccess = (res) => {
     confirmLoading.value = false
     if (res.code === 200) {
         window.$message.success(res.msg || '上传成功')
-      
+        emit('success', res)
+
+      dataModal.value = false
+
     
 
     } else {
@@ -145,6 +162,7 @@ const confirmTap = async ()=>{
     }
     confirmLoading.value = true
     dialogUploadRef.value.submit()
+    
 
 
 
@@ -153,7 +171,11 @@ const confirmTap = async ()=>{
 //导入模板
 const downLoadTemplate = async ()=>{
     downLoadTemplateLoading.value = true
-    const { error, disposition, res, msg } = await wbsApi.downloadGongChengExcel()
+    const { error, disposition, res, msg } = await divisionApi.downloadNodeExcel({
+        nodeId:nodeId.value,
+        classify:classify.value,
+
+    })
     downLoadTemplateLoading.value = false
     if (!error) {
         if (disposition) {

+ 10 - 5
src/views/data-fill/wbs.vue

@@ -226,8 +226,10 @@
                     </HcTooltip>
                     <HcTooltip keys="data-fill-wbs-file-import">
                         <el-button 
+                          
                             v-if="userInfo.dept_id === '1536982621165592577'"
-                            :disabled=" userInfo.dept_id !== '1536982621165592577'" 
+                            :disabled="!primaryKeyId || nodeDataInfo.nodeType !== 6"
+                            
                             hc-btn
                             type="warning" @click="dataImportDialogClick"
                         >
@@ -1547,6 +1549,9 @@
         <!-- 引入上传弹窗组件 -->
         <FileUploadDialog
             v-model="divisionImportDialog"
+            :node-id="primaryKeyId"
+            :classify="authBtnTabKey"
+            @success="importSaveClick"
         />
     </div>
 </template>
@@ -4507,15 +4512,15 @@ const linkModalClose = ()=>{
 }
 //资料导入
 const divisionImportDialog = ref(false)
-const currentPkeyId = ref('')
+
 const dataImportDialogClick = ()=>{
     divisionImportDialog.value = true
 }
-const handleUploadSuccess = ()=>{
+const importSaveClick = ()=>{
 
-}
-const handleUploadError = ()=>{
+      getTableDataAll()
     
+
 }
 </script>