ソースを参照

任务审批修改

duy 2 日 前
コミット
7ad5ddf27e
1 ファイル変更76 行追加14 行削除
  1. 76 14
      src/views/tasks/hc-data.vue

+ 76 - 14
src/views/tasks/hc-data.vue

@@ -37,7 +37,7 @@
         </HcTabsSimple>
 
         <!-- 任务审核 -->
-        <hc-new-dialog v-model="showTaskReviewModal" is-table widths="80vw">
+        <hc-new-dialog v-model="showTaskReviewModal" is-table widths="80vw" @close="closeTaskReviewModal">
             <template #header="{ titleId, titleClass }">
                 <div class="hc-card-header flex items-center">
                     <div :id="titleId" :class="titleClass">任务审核 【已开启电签】</div>
@@ -138,6 +138,7 @@ import { arrToKey, getArrValue, isString } from 'js-fast-way'
 import tasksApi from '~api/tasks/data'
 import dayjs from 'dayjs'
 import website from '~src/config'
+import wbsApi from '~api/data-fill/wbs'
 
 const localModelVal = ref(false)
 //初始变量
@@ -210,7 +211,10 @@ const taskReviewForm = ref({ flag: 'OK', comment: '' })
 const taskReviewColumns = ref([
     { key: 'fileName', name: '文件名称' },
 ])
-
+const closeTaskReviewModal = ()=>{
+    showTaskReviewModal.value = false
+    batchPdfUrl.value = ''
+}
 //任务审核
 const rowTaskName = async (row) => {
     if (row.formDataId) {
@@ -227,7 +231,15 @@ const rowTaskName = async (row) => {
             }
             taskReviewData.value = approvalFileList
             if (approvalFileList.length > 0) {
-                batchPdfUrl.value = approvalFileList[0].fileUrl
+            approvalFileList.forEach((item)=>{
+                item.approvalType = row.approvalType
+            })
+                const { approvalType } = row
+                if (approvalType === 1) {
+                     batchPdfUrl.value = await bussPreview( approvalFileList[0])
+                } else {
+                        batchPdfUrl.value = approvalFileList[0].fileUrl
+                }
             }
             taskReviewType.value = '1'
             showTaskReviewModal.value = true
@@ -242,7 +254,26 @@ const rowTaskName = async (row) => {
         window?.$message?.warning('此数据异常')
     }
 }
+//预览pdf
 
+const bussPreview = async (row) => {
+    const { error, code, data } = await wbsApi.getBussPdfs({
+        nodeId: row.nodeld || '',
+        classify: row.classify || '',
+        projectId: row.projectId,
+        contractId:row.contractId
+,
+    })
+
+    row.bussPreviewLoading = false
+    if (!error && code === 200) {
+    
+        
+        return data
+    } else {
+      return ''
+    }
+}
 //批量审批
 const checkedRowsColumns = ref([
     { key: 'taskName', name: '任务名称' },
@@ -263,9 +294,20 @@ const batchApprovalTaskClick = (rows) => {
 
 //行被点击
 const rowTaskReviewClick = async ({ row }) => {
-    const type = taskReviewType.value
+ const { approvalType } = row
+  const type = taskReviewType.value
+
+
+ if (approvalType === 1) {
+    if (type !== '1') {
+        await queryTaskInfo(row)
+    } else {
+        batchPdfUrl.value = await bussPreview(row)
+
+    }
+ } else {
     const newUrl = type === '1' ? row.fileUrl : row['hc_batchPdfUrl']
-    
+
     if (newUrl) {
         // 如果有新的URL,直接更新
         batchPdfUrl.value = newUrl
@@ -273,15 +315,22 @@ const rowTaskReviewClick = async ({ row }) => {
         // 如果没有缓存的URL且是批量模式,需要获取
         await queryTaskInfo(row)
     }
+ }
+    
+
 }
 
 //获取PDF数据
 const queryTaskInfo = async (row, taskids) => {
+
+       const approvalTypeVal = arrToKey(checkedRowsRef.value, 'approvalType', ',')
     try {
         const { error, code, data } = await tasksApi.queryTaskInfo({
             formDataId: taskids && taskids.length > 0 ? taskids : row['formDataId'],
-            approvalType: row['approvalType'],
+            // approvalType: row['approvalType'],
+             approvalType: taskids && taskids.length > 0 ? approvalTypeVal : row['approvalType'],
         })
+    
         
         if (!error && code === 200) {
             const alldata = getArrValue(data)
@@ -292,16 +341,29 @@ const queryTaskInfo = async (row, taskids) => {
                     approvalFileList.push(...innerfilist)
                 }
             })
+   
+            const { approvalType } = row
+            if (approvalType === 1) {
+                    if (approvalFileList.length > 0) {
             
-            if (approvalFileList.length > 0) {
-                const url = approvalFileList[0].fileUrl
-                if (url) {
-                    batchPdfUrl.value = url
-                    row['hc_batchPdfUrl'] = url
-                    return
-                }
+                        const rowPdf = approvalFileList[0]
+                        batchPdfUrl.value = await bussPreview(rowPdf)
+                
+                    }
+            } else {
+                 if (approvalFileList.length > 0) {
+                        const url = approvalFileList[0].fileUrl
+                        if (url) {
+                            batchPdfUrl.value = url
+                            row['hc_batchPdfUrl'] = url
+                            return
+                        }
+                    }
+                    throw new Error('PDF获取异常')
+
             }
-            throw new Error('PDF获取异常')
+
+          
         } else {
             throw new Error(data?.msg || 'PDF异常')
         }