From c310ab351e60308087653e550d185531fe19ebc3 Mon Sep 17 00:00:00 2001 From: bestlee Date: Fri, 11 Sep 2026 17:01:35 +0800 Subject: [PATCH] =?UTF-8?q?hazop=E6=8F=92=E4=BB=B6=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/typings/components.d.ts | 6 + .../modules/ChangeCompareTable.vue | 2 - .../my/initiateChange/modules/footer.vue | 50 +- src/views/my/initiateChange/modules/hazop.vue | 560 +++++++++++++++++- .../initiateChange/modules/riskAnalysis.vue | 2 +- .../my/initiateChange/modules/riskPre.vue | 4 +- 6 files changed, 580 insertions(+), 44 deletions(-) diff --git a/src/typings/components.d.ts b/src/typings/components.d.ts index b3b932f..96fc81a 100644 --- a/src/typings/components.d.ts +++ b/src/typings/components.d.ts @@ -42,6 +42,8 @@ declare module 'vue' { NCascader: typeof import('naive-ui')['NCascader'] NCheckbox: typeof import('naive-ui')['NCheckbox'] NCheckboxGroup: typeof import('naive-ui')['NCheckboxGroup'] + NCollapse: typeof import('naive-ui')['NCollapse'] + NCollapseItem: typeof import('naive-ui')['NCollapseItem'] NColorPicker: typeof import('naive-ui')['NColorPicker'] NDataTable: typeof import('naive-ui')['NDataTable'] NDatePicker: typeof import('naive-ui')['NDatePicker'] @@ -59,6 +61,7 @@ declare module 'vue' { NImage: typeof import('naive-ui')['NImage'] NInput: typeof import('naive-ui')['NInput'] NInputGroup: typeof import('naive-ui')['NInputGroup'] + NInputGroupLabel: typeof import('naive-ui')['NInputGroupLabel'] NInputNumber: typeof import('naive-ui')['NInputNumber'] NLoadingBarProvider: typeof import('naive-ui')['NLoadingBarProvider'] NMenu: typeof import('naive-ui')['NMenu'] @@ -132,6 +135,8 @@ declare global { const NCascader: typeof import('naive-ui')['NCascader'] const NCheckbox: typeof import('naive-ui')['NCheckbox'] const NCheckboxGroup: typeof import('naive-ui')['NCheckboxGroup'] + const NCollapse: typeof import('naive-ui')['NCollapse'] + const NCollapseItem: typeof import('naive-ui')['NCollapseItem'] const NColorPicker: typeof import('naive-ui')['NColorPicker'] const NDataTable: typeof import('naive-ui')['NDataTable'] const NDatePicker: typeof import('naive-ui')['NDatePicker'] @@ -149,6 +154,7 @@ declare global { const NImage: typeof import('naive-ui')['NImage'] const NInput: typeof import('naive-ui')['NInput'] const NInputGroup: typeof import('naive-ui')['NInputGroup'] + const NInputGroupLabel: typeof import('naive-ui')['NInputGroupLabel'] const NInputNumber: typeof import('naive-ui')['NInputNumber'] const NLoadingBarProvider: typeof import('naive-ui')['NLoadingBarProvider'] const NMenu: typeof import('naive-ui')['NMenu'] diff --git a/src/views/my/initiateChange/modules/ChangeCompareTable.vue b/src/views/my/initiateChange/modules/ChangeCompareTable.vue index 5a1b48d..fa0bab2 100644 --- a/src/views/my/initiateChange/modules/ChangeCompareTable.vue +++ b/src/views/my/initiateChange/modules/ChangeCompareTable.vue @@ -69,7 +69,6 @@ const columns = computed>(() => { { title: '变更前', key: 'before_text', - width: 200, render: (row: ChangeItem) => props.editable ? h(RichTextInput, { @@ -86,7 +85,6 @@ const columns = computed>(() => { { title: '变更后', key: 'after_text', - width: 200, render: (row: ChangeItem) => props.editable ? h(RichTextInput, { diff --git a/src/views/my/initiateChange/modules/footer.vue b/src/views/my/initiateChange/modules/footer.vue index 663053a..8435ab2 100644 --- a/src/views/my/initiateChange/modules/footer.vue +++ b/src/views/my/initiateChange/modules/footer.vue @@ -32,6 +32,16 @@ const regenerateLoading = ref(false); const submitLoading = ref(false); const confirmed = ref(false); +// 是否重新生成 +const regenerateTypes = ref>({ + 'form':false, + 'risk':false, + 'train':false, + 'pssr':false, + 'evaluation':false, + 'close':false, +}); + // 存储每个步骤选中的审核人 user_id const approvers = ref>({}) const flowList = ref([]); @@ -95,6 +105,7 @@ const download = async () => { } // 重新生成:AI 调用逻辑由各标签页组件实现(按 type 分发),此处仅派发事件 const regenerate = async () => { + regenerateTypes.value[props.type] = true; emit('regenerate', props.type); } // 供父组件控制「重新生成」按钮 loading @@ -173,25 +184,30 @@ defineExpose({clearApprovers, setRegenerateLoading})
- - - 下载变更申请表 - 下载风险分析记录表 - 下载变更培训内容 - 下载PSSR检查内容 - 下载验收评价 - 下载变更关闭确认表 + + + + - - - 重新生成变更申请表 - 重新生成风险分析记录表 - 重新生成变更培训内容 - 重新生成PSSR检查内容 - 重新生成验收评价 - 重新生成变更关闭确认表 + + + + 下载变更申请表 + 下载风险分析记录表 + 下载变更培训内容 + 下载PSSR检查内容 + 下载验收评价 + 下载变更关闭确认表 - + {{ confirmed ? '已确认完毕' : '本标签内容确认完毕' }}
diff --git a/src/views/my/initiateChange/modules/hazop.vue b/src/views/my/initiateChange/modules/hazop.vue index 192958e..e28a331 100644 --- a/src/views/my/initiateChange/modules/hazop.vue +++ b/src/views/my/initiateChange/modules/hazop.vue @@ -1,8 +1,8 @@