Pārlūkot izejas kodu

日志填报导入修改

duy 3 mēneši atpakaļ
vecāks
revīzija
7c65d4b352
1 mainītis faili ar 61 papildinājumiem un 2 dzēšanām
  1. 61 2
      src/views/ledger/components/table-form.vue

+ 61 - 2
src/views/ledger/components/table-form.vue

@@ -87,6 +87,8 @@
                     <span>复制当前表格及内容</span>
                 </el-button>
             </HcTooltip>
+          
+           
             <HcTooltip keys="ledger_query_time_form">
                 <el-button
                     :disabled="!isTableForm || taskStatus === 3 || taskStatus === 4" hc-btn
@@ -114,6 +116,23 @@
                     <span>废除</span>
                 </el-button>
             </HcTooltip>
+            <el-button
+                hc-btn
+                color="#567722"
+                :loading="downloadLoading"
+                @click="downloadExcelTemplate"
+            >
+                <HcIcon name="download" />
+                <span>下载导入模板</span>
+            </el-button>
+            <el-button
+                hc-btn
+                color="green"
+                @click="uploadFileClick()"
+            >
+                <HcIcon name="upload" />
+                <span>导入表格数据</span>
+            </el-button>
         </div>
 
         <!-- 关联工序 -->
@@ -175,15 +194,16 @@
 
 <script setup>
 import { onActivated, onDeactivated, onMounted, onUnmounted, ref, watch } from 'vue'
-import { arrToId, getArrValue, getObjVal, getObjValue, isArrIndex, isNullES, isString } from 'js-fast-way'
+import { arrToId, downloadBlob, getArrValue, getObjVal, getObjValue, isNullES, isString } from 'js-fast-way'
 import DateCalendar from './dateCalendar/index.vue'
 //import HcTableForm from "~com/table-form/index.vue";
 import HTableForm from '~src/plugins/HTableForm'
 import wbsQueryApi from '~api/data-fill/query'
+import wbsApi from '~api/data-fill/wbs'
 import queryApi from '~api/ledger/query'
 import { useAppStore } from '~src/store'
 import { toPdfPage } from '~uti/btn-auth'
-import Index from './dateCalendar/index.vue'
+import { HcUploadFileApi } from 'hc-vue3-ui'
 
 //参数
 const props = defineProps({
@@ -890,6 +910,45 @@ const setMountOnEventKey = () => {
         },
     })
 }
+const downloadLoading = ref(false)
+const downloadExcelTemplate = async () => {
+        downloadLoading.value = true
+    const { error, disposition, res } = await wbsApi.downloadExcel({
+        pKeyId: excelIdVal.value,
+    })
+    //处理数据
+    downloadLoading.value = false
+    if (!error) {
+        if (disposition) {
+            downloadBlob(res, disposition)
+        } else {
+            window.$message?.error('数据异常')
+        }
+    }
+}
+//打开文件选择框
+const uploadFileClick = () => {
+ 
+    HcUploadFileApi({
+        url: '/api/blade-manager/wbsTreeContract/import-excel',
+        accept: '.png,.jpg,jpeg,.xls,.xlsx,.pdf,.doc,.docx',
+        accept_tip: '图片(png、jpg、jpeg)<br/>Excel(xls、xlsx)<br/>PDF<br/>Word(doc、docx)',
+        size: 80,
+        multiple: false,
+        params: { pKeyId: excelIdVal.value },
+        success: async (file, res) => {
+                if (getObjVal(res.data)) {
+                    tableFormData.value = res.data
+                } else {
+                    tableFormData.value = {}
+                }
+            window.$message.success('文件上传成功')
+        },
+        error: () => {
+            window.$message.error('文件上传失败')
+        },
+    })
+}
 
 //页面被卸载
 onUnmounted(() => {