From bd5c4aa47342f997dd40c721d86256ad33bf71f2 Mon Sep 17 00:00:00 2001 From: ye1023 <12588209+ye1023@user.noreply.gitee.com> Date: Thu, 30 Jul 2026 15:51:42 +0800 Subject: [PATCH] =?UTF-8?q?yxk-20260730=20=E6=94=B9=E5=96=84=E6=8F=90?= =?UTF-8?q?=E6=A1=88=20=E6=99=AE=E9=80=9A=E6=96=B0=E5=A2=9E=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E4=B8=8D=E5=86=8D=E9=A2=84=E7=94=9F=E6=88=90=E6=B5=81?= =?UTF-8?q?=E6=B0=B4=E5=8F=B7=E3=80=82=E6=8F=90=E6=A1=88=E7=BC=96=E5=8F=B7?= =?UTF-8?q?=E5=9C=A8=E7=82=B9=E5=87=BB=E4=BF=9D=E5=AD=98=E6=97=B6=E7=94=B1?= =?UTF-8?q?=E5=90=8E=E7=AB=AF=E7=94=9F=E6=88=90=EF=BC=8C=E5=89=8D=E7=AB=AF?= =?UTF-8?q?=E4=BB=85=E5=B1=95=E7=A4=BA=E2=80=9C=E4=BF=9D=E5=AD=98=E5=90=8E?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E7=94=9F=E6=88=90=E2=80=9D=EF=BC=8C=E9=81=BF?= =?UTF-8?q?=E5=85=8D=E5=B9=B6=E5=8F=91=E9=87=8D=E5=A4=8D=E3=80=82=20Implem?= =?UTF-8?q?entation=20Changes=20=E6=96=B0=E5=A2=9E=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E6=97=B6=E4=B8=8D=E5=86=8D=E8=B0=83?= =?UTF-8?q?=E7=94=A8=E5=B9=B4=E5=BA=A6=E6=B5=81=E6=B0=B4=E5=8F=B7=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=EF=BC=8C=E4=B9=9F=E4=B8=8D=E5=86=8D=E6=8B=BC=E6=8E=A5?= =?UTF-8?q?=E6=8F=90=E6=A1=88=E7=BC=96=E5=8F=B7=E3=80=82=20=E6=8F=90?= =?UTF-8?q?=E6=A1=88=E7=BC=96=E5=8F=B7=E8=BE=93=E5=85=A5=E6=A1=86=E7=BB=A7?= =?UTF-8?q?=E7=BB=AD=E5=8F=AA=E8=AF=BB=EF=BC=9B=E6=96=B0=E5=A2=9E=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E6=98=BE=E7=A4=BA=E2=80=9C=E4=BF=9D=E5=AD=98=E5=90=8E?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E7=94=9F=E6=88=90=E2=80=9D=E5=8D=A0=E4=BD=8D?= =?UTF-8?q?=E6=8F=90=E7=A4=BA=E3=80=82=20=E5=90=8E=E7=AB=AF=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E4=B8=93=E7=94=A8=E5=88=9B=E5=BB=BA=E6=96=B9=E6=B3=95?= =?UTF-8?q?=EF=BC=8C=E5=9C=A8=E4=BF=9D=E5=AD=98=E4=BA=8B=E5=8A=A1=E5=86=85?= =?UTF-8?q?=EF=BC=9A=E5=8E=9F=E5=AD=90=E9=80=92=E5=A2=9E=E5=B9=B4=E5=BA=A6?= =?UTF-8?q?=E5=BA=8F=E5=88=97=E8=A1=A8=E3=80=82=20=E6=8C=89=20=E6=8F=90?= =?UTF-8?q?=E6=A1=88=E9=83=A8=E9=97=A8=E5=90=8D=E7=A7=B0-YYYY=E5=B9=B4-?= =?UTF-8?q?=E5=9B=9B=E4=BD=8D=E6=B5=81=E6=B0=B4=E5=8F=B7=20=E7=94=9F?= =?UTF-8?q?=E6=88=90=E7=BC=96=E5=8F=B7=E3=80=82=20=E8=A6=86=E7=9B=96?= =?UTF-8?q?=E5=89=8D=E7=AB=AF=E4=BC=A0=E5=85=A5=E7=9A=84=20proposalNo=20?= =?UTF-8?q?=E5=90=8E=E4=BF=9D=E5=AD=98=E4=B8=BB=E8=A1=A8=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 新增接口返回 { id, proposalNo };前端附件仍使用返回的 id 关联。 新增年度序列表及历史编号初始化 SQL,保证首次上线从当前最大流水号继续递增。 --- .../ImprovementProposal.data.ts | 11 ++-------- .../ImprovementProposalList.vue | 2 -- .../components/ImprovementProposalForm.vue | 21 ++++--------------- 3 files changed, 6 insertions(+), 28 deletions(-) diff --git a/src/views/gh/improvementProposal/ImprovementProposal.data.ts b/src/views/gh/improvementProposal/ImprovementProposal.data.ts index 1f01377..f1ebf25 100644 --- a/src/views/gh/improvementProposal/ImprovementProposal.data.ts +++ b/src/views/gh/improvementProposal/ImprovementProposal.data.ts @@ -80,18 +80,11 @@ export const columns: BasicColumn[] = [ align:"center", dataIndex: 'improvementMethod' }, - { - title: '业务状态', - align:"center", - dataIndex: 'bpmStatus_dictText', - width:90 - - dataIndex: 'finalAward_dictText' - }, { title: '流程状态', align:"center", - dataIndex: 'bpmStatus_dictText' + width:90, + dataIndex: 'bpmStatus_dictText' }, ]; diff --git a/src/views/gh/improvementProposal/ImprovementProposalList.vue b/src/views/gh/improvementProposal/ImprovementProposalList.vue index 676c462..fecce76 100644 --- a/src/views/gh/improvementProposal/ImprovementProposalList.vue +++ b/src/views/gh/improvementProposal/ImprovementProposalList.vue @@ -20,8 +20,6 @@ - - diff --git a/src/views/gh/improvementProposal/components/ImprovementProposalForm.vue b/src/views/gh/improvementProposal/components/ImprovementProposalForm.vue index 45f88c9..9de5c3b 100644 --- a/src/views/gh/improvementProposal/components/ImprovementProposalForm.vue +++ b/src/views/gh/improvementProposal/components/ImprovementProposalForm.vue @@ -6,7 +6,7 @@ - + @@ -126,7 +126,7 @@ import { defineComponent, ref, reactive, computed, toRaw, onMounted, nextTick } from 'vue'; import { defHttp } from '/@/utils/http/axios'; import { useValidateAntFormAndTable } from '/@/hooks/system/useJvxeMethods'; - import { queryImprovementDeptScoreListByMainId, queryImprovementInstituteVoteListByMainId, queryDataById, saveOrUpdate, getLatestProposalSequence } from '../ImprovementProposal.api'; + import { queryImprovementDeptScoreListByMainId, queryImprovementInstituteVoteListByMainId, queryDataById, saveOrUpdate } from '../ImprovementProposal.api'; import { JVxeTable } from '/@/components/jeecg/JVxeTable'; import {improvementDeptScoreColumns, improvementInstituteVoteColumns} from '../ImprovementProposal.data'; import JFormContainer from '/@/components/Form/src/container/JFormContainer.vue'; @@ -308,20 +308,6 @@ formData.proposalDeptCode = departInfo.orgCode; } - async function getProposalSequence() { - const year = new Date().getFullYear(); - const latestSequence = await getLatestProposalSequence(year); - // return Number(latestSequence) + 1; - return String(Number(latestSequence) + 1).padStart(4, '0'); - } - - async function generateProposalNo() { - const deptCode = formData.proposalDeptName || ''; - const year = new Date().getFullYear(); - const proposalSequence = await getProposalSequence(); - return `${deptCode}-${year}年-${proposalSequence}`; - } - onMounted(()=>{ initFormData(); }); @@ -355,7 +341,6 @@ improvementInstituteVoteTable.dataSource = []; formData.proposalDate = getCurrentDate(); await applyCurrentUserDeptInfo(); - formData.proposalNo = await generateProposalNo(); } async function edit(row) { @@ -420,12 +405,14 @@ // 新增阶段附件暂不绑定;主表生成 ID 后统一关联,保证普通表单和 BPM 使用同一查询键。 if (!isUpdate) { const newId = typeof result?.id === 'string' ? result.id.trim() : ''; + const proposalNo = typeof result?.proposalNo === 'string' ? result.proposalNo.trim() : ''; if (!newId) { // 阻断成功文案等非业务 ID 写入附件表,避免后续 BPM 无法按主表 ID 查询附件。 createMessage.error('新增成功但未返回提案ID,附件未关联,请刷新后重试'); return; } formData.id = newId; + formData.proposalNo = proposalNo; await beforeFileRef.value?.bindBussinessId(`${formData.id}:before`); await afterFileRef.value?.bindBussinessId(`${formData.id}:after`); }