From 19d8d19bb55892db69fef6ddbf85527f27ae44b8 Mon Sep 17 00:00:00 2001
From: ye1023 <12588209+ye1023@user.noreply.gitee.com>
Date: Wed, 20 May 2026 10:14:41 +0800
Subject: [PATCH] =?UTF-8?q?yxk-20260520-=E5=85=9A=E5=A7=94=E4=BC=9A?=
=?UTF-8?q?=EF=BC=9A=E6=96=B0=E5=A2=9E=E8=AE=AE=E9=A2=98=E5=BA=8F=E5=8F=B7?=
=?UTF-8?q?=E5=AD=97=E6=AE=B5=20=E5=BA=8F=E5=8F=B7=E8=87=AA=E5=8A=A8?=
=?UTF-8?q?=E7=94=9F=E6=88=90=EF=BC=8C=E6=98=8E=E7=A1=AE=E7=94=9F=E6=88=90?=
=?UTF-8?q?=E9=80=BB=E8=BE=91=EF=BC=88=E5=85=88=E9=80=89=E6=97=A5=E6=9C=9F?=
=?UTF-8?q?=E5=86=8D=E9=80=89=E8=AE=AE=E9=A2=98=EF=BC=89=EF=BC=8C20260520-?=
=?UTF-8?q?1?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../bg/bgpartymatter/BgPartymatter.data.ts | 79 +++++++++++--------
.../bg/bgpartymatter/BgPartymatterList.vue | 17 ++--
.../components/BgPartymatterBPMForm.vue | 59 +++++++++++++-
.../components/BgPartymatterForm.vue | 78 +++++++++++++++---
.../myHandleTask/TaskRunningList.vue | 2 +-
.../myHandleTask/useTaskList.ts | 2 +-
.../processNode/process.node.data.ts | 8 +-
7 files changed, 187 insertions(+), 58 deletions(-)
diff --git a/src/views/bg/bgpartymatter/BgPartymatter.data.ts b/src/views/bg/bgpartymatter/BgPartymatter.data.ts
index d960519..04ec9ff 100644
--- a/src/views/bg/bgpartymatter/BgPartymatter.data.ts
+++ b/src/views/bg/bgpartymatter/BgPartymatter.data.ts
@@ -6,16 +6,10 @@ import { getWeekMonthQuarterYear } from '/@/utils';
//列表数据
export const columns: BasicColumn[] = [
{
- title: '序号',
+ title: '年份',
align:"center",
- dataIndex: 'number',
- sorter: true,
- },
- {
- title: '督办次数',
- align:"center",
- dataIndex: 'superviseCount',
- width: '100px',
+ dataIndex: 'year',
+ width: '60px',
},
{
title: '事项名称',
@@ -23,10 +17,26 @@ export const columns: BasicColumn[] = [
dataIndex: 'title'
},
{
- title: '年份',
+ title: '序号',
align:"center",
- dataIndex: 'year',
- width: '60px',
+ dataIndex: 'number',
+ sorter: true,
+ },
+ {
+ title: '会议决议',
+ align:"center",
+ dataIndex: 'content'
+ },
+ {
+ title: '事项目录编码',
+ align:"center",
+ dataIndex: 'matterCode'
+ },
+ {
+ title: '督办次数',
+ align:"center",
+ dataIndex: 'superviseCount',
+ width: '100px',
},
{
@@ -40,15 +50,13 @@ export const columns: BasicColumn[] = [
sorter: true,
},
{
- title: '会议决议',
+ title: '议题序号',
align:"center",
- dataIndex: 'content'
- },
- {
- title: '事项目录编码',
- align:"center",
- dataIndex: 'matterCode'
+ dataIndex: 'itemNumber',
+ sorter: true,
+ width: '100px',
},
+
{
title: '抄告单编号',
align:"center",
@@ -175,20 +183,21 @@ export const bgPartymatterFeedbackColumns: BasicColumn[] = [
export const superQuerySchema = {
year: {title: '年份',order: 0,view: 'text', type: 'string',},
number: {title: '序号',order: 1,view: 'text', type: 'string',},
- matterTime: {title: '会议时间',order: 2,view: 'date', type: 'string',},
- title: {title: '事项名称',order: 3,view: 'text', type: 'string',},
- content: {title: '会议决议',order: 4,view: 'textarea', type: 'string',},
- matterCode: {title: '事项目录编码',order: 5,view: 'text', type: 'string',},
- noticeNumber: {title: '抄告单编号',order: 6,view: 'text', type: 'string',},
- isImportant: {title: '是否为三重一大决策',order: 7,view: 'list', type: 'string', dictCode: 'yn',},
- responDeptid: {title: '责任部门',order: 8,view: 'sel_depart', type: 'string',},
- actualExect: {title: '实际执行情况',order: 9,view: 'text', type: 'string',},
- bpmStatus: {title: '完成状态',order: 10,view: 'text', type: 'string',},
- superviseCount: {title: '督办次数',order: 11,view: 'text', type: 'string',},
- deadline: {title: '要求完成日期',order: 12,view: 'date', type: 'string',},
- urgencyLevel: {title: '是否急件',order: 13,view: 'list', type: 'string', dictCode: 'yn',},
- isNeedAppro: {title: '是否需要所办领导审批',order: 14,view: 'switch', type: 'string',},
- supDeptleaderid: {title: '所办领导',order: 15,view: 'sel_user', type: 'string',},
- isNeedSuoleader: {title: '是否抄送所领导',order: 16,view: 'switch', type: 'string',},
- suoleaderid: {title: '抄送所领导',order: 17,view: 'sel_user', type: 'string',},
+ itemNumber: {title: '议题序号',order: 2,view: 'number', type: 'number',},
+ matterTime: {title: '会议时间',order: 3,view: 'date', type: 'string',},
+ title: {title: '事项名称',order: 4,view: 'text', type: 'string',},
+ content: {title: '会议决议',order: 5,view: 'textarea', type: 'string',},
+ matterCode: {title: '事项目录编码',order: 6,view: 'text', type: 'string',},
+ noticeNumber: {title: '抄告单编号',order: 7,view: 'text', type: 'string',},
+ isImportant: {title: '是否为三重一大决策',order: 8,view: 'list', type: 'string', dictCode: 'yn',},
+ responDeptid: {title: '责任部门',order: 9,view: 'sel_depart', type: 'string',},
+ actualExect: {title: '实际执行情况',order: 10,view: 'text', type: 'string',},
+ bpmStatus: {title: '完成状态',order: 11,view: 'text', type: 'string',},
+ superviseCount: {title: '督办次数',order: 12,view: 'text', type: 'string',},
+ deadline: {title: '要求完成日期',order: 13,view: 'date', type: 'string',},
+ urgencyLevel: {title: '是否急件',order: 14,view: 'list', type: 'string', dictCode: 'yn',},
+ isNeedAppro: {title: '是否需要所办领导审批',order: 15,view: 'switch', type: 'string',},
+ supDeptleaderid: {title: '所办领导',order: 16,view: 'sel_user', type: 'string',},
+ isNeedSuoleader: {title: '是否抄送所领导',order: 17,view: 'switch', type: 'string',},
+ suoleaderid: {title: '抄送所领导',order: 18,view: 'sel_user', type: 'string',},
};
diff --git a/src/views/bg/bgpartymatter/BgPartymatterList.vue b/src/views/bg/bgpartymatter/BgPartymatterList.vue
index 443a7e8..f2cb572 100644
--- a/src/views/bg/bgpartymatter/BgPartymatterList.vue
+++ b/src/views/bg/bgpartymatter/BgPartymatterList.vue
@@ -9,9 +9,9 @@
-
-
-
+
+
+
@@ -19,9 +19,14 @@
-
-
-
+
+
+
+
+
+
+
+
diff --git a/src/views/bg/bgpartymatter/components/BgPartymatterBPMForm.vue b/src/views/bg/bgpartymatter/components/BgPartymatterBPMForm.vue
index 98f418c..569d79d 100644
--- a/src/views/bg/bgpartymatter/components/BgPartymatterBPMForm.vue
+++ b/src/views/bg/bgpartymatter/components/BgPartymatterBPMForm.vue
@@ -40,7 +40,12 @@
-
+
+
+
+
+
+
@@ -238,12 +243,14 @@
const feedbackAttachmentRefreshKey = ref(0);
const subApproveUser = ref('');
const isEnd = ref(0);
+ const lastGeneratedNumber = ref('');
const mainForm = reactive>({
id: '',
year: '',
secretLevel: '',
number: '',
+ itemNumber: undefined,
matterTime: '',
title: '',
content: '',
@@ -320,6 +327,14 @@
{ immediate: true }
);
+ // 根据会议时间和议题序号自动生成业务序号,例如:2026-05-20 + 2 => 20260520-2。
+ watch(
+ () => [mainForm.matterTime, mainForm.itemNumber],
+ () => {
+ syncGeneratedNumber();
+ }
+ );
+
async function initFormData() {
const dataId = props.formData?.dataId;
if (!dataId) {
@@ -342,6 +357,48 @@
});
}
+ function syncGeneratedNumber() {
+ const generatedNumber = buildGeneratedNumber(mainForm.matterTime, mainForm.itemNumber);
+ if (generatedNumber) {
+ mainForm.number = generatedNumber;
+ lastGeneratedNumber.value = generatedNumber;
+ return;
+ }
+ if (lastGeneratedNumber.value && mainForm.number === lastGeneratedNumber.value) {
+ mainForm.number = '';
+ lastGeneratedNumber.value = '';
+ }
+ }
+
+ // 只在两个必要字段都填写后生成,避免用户未填完整时写入半截序号。
+ function buildGeneratedNumber(matterTime, itemNumber) {
+ const dateText = formatMatterTime(matterTime);
+ if (!dateText || itemNumber === undefined || itemNumber === null || itemNumber === '') {
+ return '';
+ }
+ return `${dateText}-${itemNumber}`;
+ }
+
+ // 兼容日期选择器返回的字符串、Date、dayjs/moment 对象。
+ function formatMatterTime(value) {
+ if (!value) {
+ return '';
+ }
+ if (typeof value === 'string') {
+ return value.slice(0, 10).replace(/-/g, '');
+ }
+ if (value instanceof Date) {
+ const year = value.getFullYear();
+ const month = String(value.getMonth() + 1).padStart(2, '0');
+ const day = String(value.getDate()).padStart(2, '0');
+ return `${year}${month}${day}`;
+ }
+ if (typeof value.format === 'function') {
+ return value.format('YYYYMMDD');
+ }
+ return '';
+ }
+
async function loadFeedbackList() {
const bpmProcessId = processInfo.value.processInstanceId;
if (!mainForm.id || !bpmProcessId) {
diff --git a/src/views/bg/bgpartymatter/components/BgPartymatterForm.vue b/src/views/bg/bgpartymatter/components/BgPartymatterForm.vue
index 38900f7..cb51c04 100644
--- a/src/views/bg/bgpartymatter/components/BgPartymatterForm.vue
+++ b/src/views/bg/bgpartymatter/components/BgPartymatterForm.vue
@@ -9,21 +9,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
@@ -159,6 +164,7 @@
year: '',
secretLevel: '',
number: '',
+ itemNumber: undefined,
matterTime: '',
title: '',
content: '',
@@ -232,6 +238,58 @@
}
);
+ const lastGeneratedNumber = ref('');
+
+ // 根据会议时间和议题序号自动生成业务序号,例如:2026-05-20 + 2 => 20260520-2。
+ watch(
+ () => [formData.matterTime, formData.itemNumber],
+ () => {
+ syncGeneratedNumber();
+ }
+ );
+
+ function syncGeneratedNumber() {
+ const generatedNumber = buildGeneratedNumber(formData.matterTime, formData.itemNumber);
+ if (generatedNumber) {
+ formData.number = generatedNumber;
+ lastGeneratedNumber.value = generatedNumber;
+ return;
+ }
+ if (lastGeneratedNumber.value && formData.number === lastGeneratedNumber.value) {
+ formData.number = '';
+ lastGeneratedNumber.value = '';
+ }
+ }
+
+ // 只在两个必要字段都填写后生成,避免用户未填完整时写入半截序号。
+ function buildGeneratedNumber(matterTime, itemNumber) {
+ const dateText = formatMatterTime(matterTime);
+ if (!dateText || itemNumber === undefined || itemNumber === null || itemNumber === '') {
+ return '';
+ }
+ return `${dateText}-${itemNumber}`;
+ }
+
+ // 兼容日期选择器返回的字符串、Date、dayjs/moment 对象。
+ function formatMatterTime(value) {
+ if (!value) {
+ return '';
+ }
+ if (typeof value === 'string') {
+ return value.slice(0, 10).replace(/-/g, '');
+ }
+ if (value instanceof Date) {
+ const year = value.getFullYear();
+ const month = String(value.getMonth() + 1).padStart(2, '0');
+ const day = String(value.getDate()).padStart(2, '0');
+ return `${year}${month}${day}`;
+ }
+ if (typeof value.format === 'function') {
+ return value.format('YYYYMMDD');
+ }
+ return '';
+ }
+
onMounted(()=>{
initFormData();
});
diff --git a/src/views/super/bpm/process/personalOffice/myHandleTask/TaskRunningList.vue b/src/views/super/bpm/process/personalOffice/myHandleTask/TaskRunningList.vue
index de98a1d..6641707 100644
--- a/src/views/super/bpm/process/personalOffice/myHandleTask/TaskRunningList.vue
+++ b/src/views/super/bpm/process/personalOffice/myHandleTask/TaskRunningList.vue
@@ -64,7 +64,7 @@
//办理
const [registerHandleModal, { openModal: openHandleModal }] = useModal();
async function handleProcess(record) {
- debugger
+ //debugger
let { formData, formUrl } = await getTaskNodeInfo(record);
formData['PROCESS_TAB_TYPE'] = 'run';
openHandleModal(true, {
diff --git a/src/views/super/bpm/process/personalOffice/myHandleTask/useTaskList.ts b/src/views/super/bpm/process/personalOffice/myHandleTask/useTaskList.ts
index c9e333f..69eb958 100644
--- a/src/views/super/bpm/process/personalOffice/myHandleTask/useTaskList.ts
+++ b/src/views/super/bpm/process/personalOffice/myHandleTask/useTaskList.ts
@@ -64,7 +64,7 @@ export function useTaskList(type) {
*/
async function getTaskNodeInfo(record) {
//查询条件
- debugger;
+ // debugger;
let params = { taskId: record.id };
const result = await taskNodeInfo(type, params);
console.log('获取流程节点信息', result);
diff --git a/src/views/super/bpm/process/processDesign/processNode/process.node.data.ts b/src/views/super/bpm/process/processDesign/processNode/process.node.data.ts
index cff1520..cb1e4b5 100644
--- a/src/views/super/bpm/process/processDesign/processNode/process.node.data.ts
+++ b/src/views/super/bpm/process/processDesign/processNode/process.node.data.ts
@@ -8,7 +8,7 @@ export const columns: BasicColumn[] = [
title: '#',
dataIndex: '',
key: 'rowIndex',
- width: 60,
+ width: 30,
align: 'center',
customRender: function ({ index }) {
return parseInt(index) + 1;
@@ -17,7 +17,7 @@ export const columns: BasicColumn[] = [
{
title: '节点名称',
align: 'center',
- width: 120,
+ width: 140,
dataIndex: 'processNodeName',
},
{
@@ -30,14 +30,14 @@ export const columns: BasicColumn[] = [
title: 'PC表单地址',
align: 'center',
dataIndex: 'modelAndView',
- width: 240,
+ width: 400,
ellipsis: true,
},
{
title: '移动表单地址',
align: 'center',
dataIndex: 'modelAndViewMobile',
- width: 240,
+ width: 30,
ellipsis: true,
},
{