From 5b45cbaaafbc45023d7916d9e700d3c59cc33c03 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期二, 02 六月 2026 10:52:09 +0800
Subject: [PATCH] 新疆马铃薯 1.过程检验下载添加3个模版
---
src/views/qualityManagement/processInspection/index.vue | 146 +++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 136 insertions(+), 10 deletions(-)
diff --git a/src/views/qualityManagement/processInspection/index.vue b/src/views/qualityManagement/processInspection/index.vue
index 9fe630a..47279a8 100644
--- a/src/views/qualityManagement/processInspection/index.vue
+++ b/src/views/qualityManagement/processInspection/index.vue
@@ -72,6 +72,35 @@
</template>
</el-dialog>
+ <el-dialog v-model="templateDialogVisible"
+ title="閫夋嫨瀵煎嚭妯℃澘"
+ width="450px"
+ @close="closeTemplateDialog">
+ <div class="template-grid">
+ <div class="template-item" @click="handleTemplateExport('weilong')">
+ <div class="template-icon weilong-icon">浼�</div>
+ <div class="template-name">浼熼緳妯℃澘</div>
+ </div>
+ <div class="template-item" @click="handleTemplateExport('baishi')">
+ <div class="template-icon baishi-icon">鐧�</div>
+ <div class="template-name">鐧句簨妯℃澘</div>
+ </div>
+ <div class="template-item" @click="handleTemplateExport('dali')">
+ <div class="template-icon dali-icon">杈�</div>
+ <div class="template-name">杈惧埄妯℃澘</div>
+ </div>
+ <div class="template-item" @click="handleTemplateExport('common')">
+ <div class="template-icon common-icon">閫�</div>
+ <div class="template-name">閫氱敤妯℃澘</div>
+ </div>
+ </div>
+ <template #footer>
+ <div class="dialog-footer">
+ <el-button @click="closeTemplateDialog">鍙栨秷</el-button>
+ </div>
+ </template>
+ </el-dialog>
+
</div>
</template>
@@ -96,6 +125,10 @@
qualityInspectListPage,
qualityInspectUpdate,
submitQualityInspect,
+ exportWeilongTemplate,
+ exportBaishiTemplate,
+ exportDaliTemplate,
+ exportCommonTemplate,
} from "@/api/qualityManagement/rawMaterialInspection.js";
import FilesDia from "@/views/qualityManagement/processInspection/components/filesDia.vue";
import dayjs from "dayjs";
@@ -301,6 +334,9 @@
const quickCheckDia = ref();
const { proxy } = getCurrentInstance();
const userStore = useUserStore();
+
+ const templateDialogVisible = ref(false);
+ const currentExportRow = ref(null);
const changeDaterange = value => {
searchForm.value.entryDateStart = undefined;
searchForm.value.entryDateEnd = undefined;
@@ -447,21 +483,51 @@
});
};
const downLoadFile = row => {
- downloadQualityInspect({ id: row.id }).then(blobData => {
- const blob = new Blob([blobData], {
+ currentExportRow.value = row;
+ templateDialogVisible.value = true;
+ };
+
+ const closeTemplateDialog = () => {
+ templateDialogVisible.value = false;
+ currentExportRow.value = null;
+ };
+
+ const handleTemplateExport = async (templateType) => {
+ if (!currentExportRow.value) {
+ proxy.$modal.msgError("璇烽�夋嫨瑕佸鍑虹殑鏁版嵁");
+ return;
+ }
+ const id = currentExportRow.value.id;
+ const fileNameMap = {
+ weilong: "浼熼緳妯$増妫�楠岀粨鏋�.doc",
+ baishi: "鐧句簨妯$増妫�楠岀粨鏋�.doc",
+ dali: "杈惧埄妯$増妫�楠岀粨鏋�.doc",
+ common: "閫氱敤妯$増妫�楠岀粨鏋�.doc",
+ };
+ const exportFuncMap = {
+ weilong: exportWeilongTemplate,
+ baishi: exportBaishiTemplate,
+ dali: exportDaliTemplate,
+ common: exportCommonTemplate,
+ };
+ try {
+ const response = await exportFuncMap[templateType](id);
+ const blob = new Blob([response], {
type: "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
});
- const downloadUrl = window.URL.createObjectURL(blob);
-
const link = document.createElement("a");
- link.href = downloadUrl;
- link.download = "杩囩▼妫�楠屾姤鍛�.docx";
+ link.href = URL.createObjectURL(blob);
+ link.download = fileNameMap[templateType];
document.body.appendChild(link);
link.click();
-
document.body.removeChild(link);
- window.URL.revokeObjectURL(downloadUrl);
- });
+ URL.revokeObjectURL(link.href);
+ proxy.$modal.msgSuccess("瀵煎嚭鎴愬姛");
+ closeTemplateDialog();
+ } catch (error) {
+ console.error("瀵煎嚭澶辫触", error);
+ proxy.$modal.msgError("瀵煎嚭澶辫触");
+ }
};
// 瀵煎嚭
const handleOut = () => {
@@ -486,4 +552,64 @@
});
</script>
-<style scoped></style>
+<style scoped>
+.template-grid {
+ display: grid;
+ grid-template-columns: repeat(2, 1fr);
+ gap: 20px;
+ padding: 20px 10px;
+}
+
+.template-item {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ padding: 24px 16px;
+ border: 1px solid #e4e7ed;
+ border-radius: 8px;
+ cursor: pointer;
+ transition: all 0.3s;
+}
+
+.template-item:hover {
+ border-color: #409eff;
+ box-shadow: 0 2px 12px rgba(64, 158, 255, 0.2);
+ transform: translateY(-2px);
+}
+
+.template-icon {
+ width: 56px;
+ height: 56px;
+ border-radius: 50%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 24px;
+ font-weight: bold;
+ color: #fff;
+ margin-bottom: 12px;
+}
+
+.weilong-icon {
+ background: linear-gradient(135deg, #409eff, #1677ff);
+}
+
+.baishi-icon {
+ background: linear-gradient(135deg, #67c23a, #529b2e);
+}
+
+.dali-icon {
+ background: linear-gradient(135deg, #e6a23c, #c4860c);
+}
+
+.common-icon {
+ background: linear-gradient(135deg, #909399, #6d6d6d);
+}
+
+.template-name {
+ font-size: 15px;
+ color: #303133;
+ font-weight: 500;
+}
+</style>
--
Gitblit v1.9.3