|
@@ -87,6 +87,8 @@
|
|
<span>复制当前表格及内容</span>
|
|
<span>复制当前表格及内容</span>
|
|
</el-button>
|
|
</el-button>
|
|
</HcTooltip>
|
|
</HcTooltip>
|
|
|
|
+
|
|
|
|
+
|
|
<HcTooltip keys="ledger_query_time_form">
|
|
<HcTooltip keys="ledger_query_time_form">
|
|
<el-button
|
|
<el-button
|
|
:disabled="!isTableForm || taskStatus === 3 || taskStatus === 4" hc-btn
|
|
:disabled="!isTableForm || taskStatus === 3 || taskStatus === 4" hc-btn
|
|
@@ -114,6 +116,23 @@
|
|
<span>废除</span>
|
|
<span>废除</span>
|
|
</el-button>
|
|
</el-button>
|
|
</HcTooltip>
|
|
</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>
|
|
</div>
|
|
|
|
|
|
<!-- 关联工序 -->
|
|
<!-- 关联工序 -->
|
|
@@ -175,15 +194,16 @@
|
|
|
|
|
|
<script setup>
|
|
<script setup>
|
|
import { onActivated, onDeactivated, onMounted, onUnmounted, ref, watch } from 'vue'
|
|
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 DateCalendar from './dateCalendar/index.vue'
|
|
//import HcTableForm from "~com/table-form/index.vue";
|
|
//import HcTableForm from "~com/table-form/index.vue";
|
|
import HTableForm from '~src/plugins/HTableForm'
|
|
import HTableForm from '~src/plugins/HTableForm'
|
|
import wbsQueryApi from '~api/data-fill/query'
|
|
import wbsQueryApi from '~api/data-fill/query'
|
|
|
|
+import wbsApi from '~api/data-fill/wbs'
|
|
import queryApi from '~api/ledger/query'
|
|
import queryApi from '~api/ledger/query'
|
|
import { useAppStore } from '~src/store'
|
|
import { useAppStore } from '~src/store'
|
|
import { toPdfPage } from '~uti/btn-auth'
|
|
import { toPdfPage } from '~uti/btn-auth'
|
|
-import Index from './dateCalendar/index.vue'
|
|
|
|
|
|
+import { HcUploadFileApi } from 'hc-vue3-ui'
|
|
|
|
|
|
//参数
|
|
//参数
|
|
const props = defineProps({
|
|
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(() => {
|
|
onUnmounted(() => {
|