From 2e9f77813408d52a6c067b9181a3329db7bc8354 Mon Sep 17 00:00:00 2001 From: ye1023 <12588209+ye1023@user.noreply.gitee.com> Date: Sat, 9 May 2026 16:04:27 +0800 Subject: [PATCH] =?UTF-8?q?yxk-20260509-=E5=85=9A=E5=A7=94=E4=BC=9A?= =?UTF-8?q?=E5=8F=8D=E9=A6=88=E8=A1=A8=E5=8D=95=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E6=97=B6=EF=BC=8C=E5=8F=AF=E4=B8=8A=E4=BC=A0=E9=99=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BgPartymatterBPMFeedbackModal.vue | 71 +++++++++++++------ .../components/BgPartymatterBPMForm.vue | 2 +- 2 files changed, 51 insertions(+), 22 deletions(-) diff --git a/src/views/bg/bgpartymatter/components/BgPartymatterBPMFeedbackModal.vue b/src/views/bg/bgpartymatter/components/BgPartymatterBPMFeedbackModal.vue index 2d0f375..71a6af7 100644 --- a/src/views/bg/bgpartymatter/components/BgPartymatterBPMFeedbackModal.vue +++ b/src/views/bg/bgpartymatter/components/BgPartymatterBPMFeedbackModal.vue @@ -18,26 +18,26 @@ :wrapperCol="wrapperCol" > - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + @@ -53,6 +53,17 @@ + + + + + @@ -65,6 +76,8 @@ import JModal from '/@/components/Modal/src/JModal/JModal.vue'; import { bgPartymatterFeedbackSaveOrUpdate } from '../BgPartymatter.api'; import { useUserStore } from '/@/store/modules/user'; + import { buildUUID } from '/@/utils/uuid'; + import SUploadFile from '/@/components/semri/fileComponent/SUploadFile.vue'; const emit = defineEmits(['success']); const { createMessage } = useMessage(); @@ -73,6 +86,9 @@ const visible = ref(false); const saving = ref(false); const formRef = ref(); + const uploadFileRef = ref | null>(null); + const uploadSecretLevel = ref(1); + const uploadKey = ref(0); const labelCol = { xs: { span: 24 }, sm: { span: 7 } }; const wrapperCol = { xs: { span: 24 }, sm: { span: 17 } }; const wideLabelCol = { xs: { span: 24 }, sm: { span: 3 } }; @@ -99,15 +115,22 @@ formData[key] = ''; }); formData.mainId = mainId; + uploadKey.value += 1; nextTick(() => formRef.value?.clearValidate?.()); } - function open(mainId: string) { + function open(mainId: string, secretLevel?: string | number) { resetForm(mainId); + uploadSecretLevel.value = normalizeSecretLevel(secretLevel); void applyCurrentUserFeedbackInfo(); visible.value = true; } + function normalizeSecretLevel(value?: string | number) { + const level = Number(value); + return [1, 2, 3, 4].includes(level) ? level : 1; + } + function getCurrentLoginDepart() { const userInfo = (userStore.getUserInfo || {}) as Record; const loginInfo = (userStore.getLoginInfo || {}) as Record; @@ -162,8 +185,14 @@ saving.value = true; try { await applyCurrentUserFeedbackInfo(); + if (!formData.id && uploadFileRef.value?.hasPendingFiles?.()) { + formData.id = buildUUID(); + } const res = await bgPartymatterFeedbackSaveOrUpdate({ ...formData }, false); if (res.success) { + if (formData.id && uploadFileRef.value?.hasPendingFiles?.()) { + await uploadFileRef.value.bindBussinessId(formData.id); + } createMessage.success(res.message || '保存成功'); visible.value = false; emit('success'); diff --git a/src/views/bg/bgpartymatter/components/BgPartymatterBPMForm.vue b/src/views/bg/bgpartymatter/components/BgPartymatterBPMForm.vue index e6f68fa..7744f18 100644 --- a/src/views/bg/bgpartymatter/components/BgPartymatterBPMForm.vue +++ b/src/views/bg/bgpartymatter/components/BgPartymatterBPMForm.vue @@ -292,7 +292,7 @@ createMessage.warning('主表数据不存在,无法新增反馈'); return; } - feedbackModalRef.value?.open(mainForm.id); + feedbackModalRef.value?.open(mainForm.id, mainForm.secretLevel); } async function saveSubApproveUserVariable() {