From 2f4bc63cfaa2bd708c7e7d93246ce9a644eafa63 Mon Sep 17 00:00:00 2001 From: bestlee Date: Fri, 14 Aug 2026 15:47:16 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=98=E6=9B=B4=E5=85=B3=E9=97=AD=E7=A1=AE?= =?UTF-8?q?=E8=AE=A4=E8=A1=A8=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/home/initiateChange/index.vue | 173 +++++++++++++++++++++++- 1 file changed, 172 insertions(+), 1 deletion(-) diff --git a/src/views/home/initiateChange/index.vue b/src/views/home/initiateChange/index.vue index 9b4d32f..a289d81 100644 --- a/src/views/home/initiateChange/index.vue +++ b/src/views/home/initiateChange/index.vue @@ -31,7 +31,7 @@ const form = ref({ name: "", dept: "", mainChanges: [""], related: "", purposes: [], effect: "", type: "", level: "", duration: "", urgent: false, date: null, restoreDate: null, }); -const tab = ref("accept"); +const tab = ref("close"); const TABS = [ { id: "pre", name: "变更预识别", icon: 'lucide:sparkles' }, { id: "form", name: "变更申请表", icon: 'akar-icons:file' }, @@ -527,6 +527,42 @@ const acceptRows = ref([ ]); const acceptNote = ref(""); +// ---------- 变更关闭确认表 ---------- +const closeFold = ref>({}); +const uploadDoc = ref(null); +const uploadSel = ref(null); +const UPDATE_DOC_KW: Record = { PID图纸: "PID", 操作规程: "操作规程", 总图: "总图", 设备台账: "设备台账", 工艺卡片: "工艺卡片", 联锁台账: "联锁台账", 应急预案: "应急预案" }; +const needUpdate = (name: string) => updateDocs.value.some((d:any) => name.includes(UPDATE_DOC_KW[d] ?? d)); + +const changeScope = (d: any, v: string) => { + closeDocs.value = closeDocs.value.map((x:any) => (x.name === d.name ? { ...x, scope: v } : x)); + if (v !== d.scope) window.$message?.info(`演示:「${d.name}」改判为「${v}」,改判理由与操作人已留痕`); +} +const uploadDocInfo = computed(() => { + if (!uploadDoc.value) return null; + const doc = closeDocs.value.find((x) => x.name === uploadDoc.value); + const base = uploadDoc.value.replace(/[((].*$/, ""); + return { + storePath: `\\\\PLANT-DMS\\变更管理\\2026\\MOC-2026-R01-0041\\${doc?.cat ?? ""}\\`, + candidates: [`${base}_RevC_受控版.pdf`, `${base}_2026-08 更新版.docx`], + base, + }; +}); +const openDir = () => { + window.$message?.info('演示:已在文档管理系统中打开该目录') +} +const uploadFiles = () => { + uploadSel.value = `本地文件:${uploadDocInfo.value?.base}_最新版.pdf`; + window.$message?.info('演示:已接收拖拽 / 选择的本地文件'); +} +const uploadConfirm = () => { + closeDocs.value = closeDocs.value.map((x) => (x.name === uploadDoc.value ? { ...x, archived: true } : x)); + window.$message?.success(`「${uploadDoc.value}」已上传并归档(${uploadSel.value},受控版本,哈希留痕)`); + uploadDoc.value = null; +} + + + + + @@ -1464,11 +1575,71 @@ const acceptNote = ref(""); + + + +
+
+
系统文档存储地址(受控目录)
+
+ + {{ uploadDocInfo?.storePath }} + 打开目录 +
+
+
+
方式一:从存储地址选择资料
+
+

+ {{ f }} + +

+
+
+
+
方式二:拖拽本地文件到区域
+ +
+
+ +