新增ddl字段并写入中间表,在待办里记录
This commit is contained in:
@@ -89,6 +89,22 @@ export const columns: BasicColumn[] = [
|
|||||||
align: 'center',
|
align: 'center',
|
||||||
dataIndex: 'completionStatus_dictText',
|
dataIndex: 'completionStatus_dictText',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: '截止日期',
|
||||||
|
align: 'center',
|
||||||
|
dataIndex: 'deadline',
|
||||||
|
customRender: ({ text }) => {
|
||||||
|
if (!text) return '';
|
||||||
|
if (text instanceof Date) {
|
||||||
|
const y = text.getFullYear();
|
||||||
|
const m = String(text.getMonth() + 1).padStart(2, '0');
|
||||||
|
const d = String(text.getDate()).padStart(2, '0');
|
||||||
|
return `${y}-${m}-${d}`;
|
||||||
|
}
|
||||||
|
text = String(text);
|
||||||
|
return text.length > 10 ? text.substr(0, 10) : text;
|
||||||
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: '落实部门',
|
title: '落实部门',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
@@ -251,7 +267,8 @@ export const superQuerySchema = {
|
|||||||
isCompletionRisk: { title: '是否存在完成风险(0不存在,1存在)', order: 14, view: 'number', type: 'number' },
|
isCompletionRisk: { title: '是否存在完成风险(0不存在,1存在)', order: 14, view: 'number', type: 'number' },
|
||||||
delayRiskMitigation: { title: '拖期风险应对措施', order: 15, view: 'text', type: 'string' },
|
delayRiskMitigation: { title: '拖期风险应对措施', order: 15, view: 'text', type: 'string' },
|
||||||
completionStatus: { title: '完成状态(督办中,1已完成)', order: 16, view: 'number', type: 'number' },
|
completionStatus: { title: '完成状态(督办中,1已完成)', order: 16, view: 'number', type: 'number' },
|
||||||
implDept: { title: '落实部门id', order: 17, view: 'sel_depart', type: 'string' },
|
deadline: { title: '截止日期', order: 17, view: 'date', type: 'string' },
|
||||||
|
implDept: { title: '落实部门id', order: 18, view: 'sel_depart', type: 'string' },
|
||||||
treeDepth: { title: '层深(最顶层节点层深为0)', order: 18, view: 'number', type: 'number' },
|
treeDepth: { title: '层深(最顶层节点层深为0)', order: 18, view: 'number', type: 'number' },
|
||||||
sortOrder: { title: '同级数据排序号', order: 19, view: 'number', type: 'number' },
|
sortOrder: { title: '同级数据排序号', order: 19, view: 'number', type: 'number' },
|
||||||
bpmStatus: { title: '流程引擎状态字段', order: 21, view: 'number', type: 'number' },
|
bpmStatus: { title: '流程引擎状态字段', order: 21, view: 'number', type: 'number' },
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<BasicTable @register="registerTable" :expandedRowKeys="expandedRowKeys" @expand="handleExpand" @fetch-success="onFetchSuccess">
|
<BasicTable @register="registerTable" :rowSelection="rowSelection" :expandedRowKeys="expandedRowKeys" @expand="handleExpand" @fetch-success="onFetchSuccess">
|
||||||
<!--插槽:table标题-->
|
<!--插槽:table标题-->
|
||||||
<template #tableTitle>
|
<template #tableTitle>
|
||||||
<a-button type="primary" v-auth="'bg.xispeak:bg_xi_speak:add'" @click="handleAdd" preIcon="ant-design:plus-outlined">新增</a-button>
|
<a-button type="primary" v-auth="'bg.xispeak:bg_xi_speak:add'" @click="handleAdd" preIcon="ant-design:plus-outlined">新增</a-button>
|
||||||
@@ -137,6 +137,7 @@
|
|||||||
const flowScheduleModalRef = ref();
|
const flowScheduleModalRef = ref();
|
||||||
const feedbackRightNowModalRef = ref();
|
const feedbackRightNowModalRef = ref();
|
||||||
const businessProcessListModalRef = ref();
|
const businessProcessListModalRef = ref();
|
||||||
|
const currentBusinessId = ref('');
|
||||||
const pendingFeedbackRightNow = ref(0);
|
const pendingFeedbackRightNow = ref(0);
|
||||||
const processColumns = taskTaskColumns;
|
const processColumns = taskTaskColumns;
|
||||||
const selectedFeedbackId = ref<string | number | null>(null);
|
const selectedFeedbackId = ref<string | number | null>(null);
|
||||||
@@ -160,7 +161,6 @@
|
|||||||
const showSdwLeaderSelect = computed(() => queryParam.value.needSdwApproval === '1');
|
const showSdwLeaderSelect = computed(() => queryParam.value.needSdwApproval === '1');
|
||||||
|
|
||||||
const { prefixCls, tableContext, onExportXls, onImportXls } = useListPage({
|
const { prefixCls, tableContext, onExportXls, onImportXls } = useListPage({
|
||||||
designScope: 'bg-xispeak-template',
|
|
||||||
tableProps: {
|
tableProps: {
|
||||||
title: '习总书记重要讲话指示批示情况',
|
title: '习总书记重要讲话指示批示情况',
|
||||||
api: list,
|
api: list,
|
||||||
@@ -168,30 +168,14 @@
|
|||||||
canResize: false,
|
canResize: false,
|
||||||
useSearchForm: false,
|
useSearchForm: false,
|
||||||
isTreeTable: true,
|
isTreeTable: true,
|
||||||
clickToRowSelect: true,
|
|
||||||
actionColumn: {
|
actionColumn: {
|
||||||
width: 120,
|
width: 240,
|
||||||
fixed: 'right',
|
fixed: 'right',
|
||||||
},
|
},
|
||||||
beforeFetch: async (params) => {
|
beforeFetch: async (params) => {
|
||||||
params.hasQuery = 'true';
|
params.hasQuery = 'true';
|
||||||
return Object.assign(params, queryParam.value);
|
return Object.assign(params, queryParam.value);
|
||||||
},
|
},
|
||||||
afterFetch: (result) => {
|
|
||||||
if (result && result.length > 0) {
|
|
||||||
result.forEach((item) => {
|
|
||||||
if (item.hasChild == '1' && (!item.children || item.children.length === 0)) {
|
|
||||||
item.children = [{ id: item.id + '_loadChild', name: 'loading...', isLoading: true }];
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
},
|
|
||||||
pagination: {
|
|
||||||
current: 1,
|
|
||||||
pageSize: 10,
|
|
||||||
pageSizeOptions: ['10', '20', '30'],
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
exportConfig: {
|
exportConfig: {
|
||||||
name: '习总书记重要讲话指示批示情况',
|
name: '习总书记重要讲话指示批示情况',
|
||||||
@@ -203,7 +187,7 @@
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
const [registerTable, { reload, collapseAll, updateTableDataRecord, findTableDataRecord, getDataSource }, { selectedRowKeys }] = tableContext;
|
const [registerTable, { reload, collapseAll, updateTableDataRecord, findTableDataRecord, getDataSource }, { rowSelection, selectedRowKeys }] = tableContext;
|
||||||
const mainId = computed(() => (unref(selectedRowKeys).length > 0 ? unref(selectedRowKeys)[0] : ''));
|
const mainId = computed(() => (unref(selectedRowKeys).length > 0 ? unref(selectedRowKeys)[0] : ''));
|
||||||
provide('mainId', mainId);
|
provide('mainId', mainId);
|
||||||
|
|
||||||
@@ -565,13 +549,25 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
function handleQueryProcess(record) {
|
function handleQueryProcess(record) {
|
||||||
|
currentBusinessId.value = record.id;
|
||||||
businessProcessListModalRef.value?.open({
|
businessProcessListModalRef.value?.open({
|
||||||
title: '流程列表',
|
title: '流程列表',
|
||||||
businessId: record.id,
|
businessId: record.id,
|
||||||
columns: '',
|
columns: '',
|
||||||
|
onDeleteProcess: handleDeleteProcess,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function handleDeleteProcess(processRecord, reload) {
|
||||||
|
const res = await withDrawXiSpeak({ id: currentBusinessId.value });
|
||||||
|
if (res.success) {
|
||||||
|
createMessage.success(res.message || '删除流程成功');
|
||||||
|
await reload();
|
||||||
|
} else {
|
||||||
|
createMessage.error(res.message || '删除流程失败');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
async function handleFlowScheduleConfirm({ payload, options }) {
|
async function handleFlowScheduleConfirm({ payload, options }) {
|
||||||
const record = payload?.record || {};
|
const record = payload?.record || {};
|
||||||
const flowCode = payload?.flowCode || FLOW_CODE;
|
const flowCode = payload?.flowCode || FLOW_CODE;
|
||||||
@@ -627,7 +623,7 @@
|
|||||||
deptId: deptId,
|
deptId: deptId,
|
||||||
deptLeaderId: deptId,
|
deptLeaderId: deptId,
|
||||||
requireFinishDate: formatDate(record.time, 'YYYY-MM-DD'),
|
requireFinishDate: formatDate(record.time, 'YYYY-MM-DD'),
|
||||||
deadline: formatDate(record.time, 'YYYY-MM-DD HH:mm:ss'),
|
deadline: record.deadline || formatDate(record.time, 'YYYY-MM-DD HH:mm:ss'),
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -664,7 +660,7 @@
|
|||||||
deptId: options.deptId || record.leadDepartment,
|
deptId: options.deptId || record.leadDepartment,
|
||||||
deptLeaderId: record.responsiblePerson,
|
deptLeaderId: record.responsiblePerson,
|
||||||
requireFinishDate: formatDate(record.time, 'YYYY-MM-DD'),
|
requireFinishDate: formatDate(record.time, 'YYYY-MM-DD'),
|
||||||
deadline: formatDate(record.time, 'YYYY-MM-DD HH:mm:ss'),
|
deadline: record.deadline || formatDate(record.time, 'YYYY-MM-DD HH:mm:ss'),
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -16,9 +16,9 @@
|
|||||||
</a-space>
|
</a-space>
|
||||||
</div>
|
</div>
|
||||||
<a-row class="base-info-row" :gutter="[12, 4]">
|
<a-row class="base-info-row" :gutter="[12, 4]">
|
||||||
<a-col :span="12" v-if="hasPermission('xizhishi')">
|
<a-col :span="12">
|
||||||
<a-form-item label="重要讲话指示批示" name="speakStatus">
|
<a-form-item label="重要讲话指示批示" name="speakStatus">
|
||||||
<a-textarea v-model:value="mainForm.speakStatus" :auto-size="{ minRows: 1, maxRows: 7 }" :disabled="isDisabledAuth('xizhishi')" allow-clear />
|
<a-textarea v-model:value="mainForm.speakStatus" :auto-size="{ minRows: 1, maxRows: 7 }" :disabled="mainDisabled" allow-clear />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
@@ -27,9 +27,9 @@
|
|||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<template v-if="showBaseInfoDetail">
|
<template v-if="showBaseInfoDetail">
|
||||||
<a-col :span="12" v-if="hasPermission('xitime')">
|
<a-col :span="12">
|
||||||
<a-form-item label="时间" name="time">
|
<a-form-item label="时间" name="time">
|
||||||
<a-date-picker v-model:value="mainForm.time" value-format="YYYY-MM-DD" :disabled="isDisabledAuth('xitime')" style="width: 100%" allow-clear />
|
<a-date-picker v-model:value="mainForm.time" value-format="YYYY-MM-DD" :disabled="mainDisabled" style="width: 100%" allow-clear />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
@@ -82,11 +82,37 @@
|
|||||||
<JDictSelectTag v-model:value="mainForm.completionStatus" dictCode="db_status" placeholder="请选择完成状态" type="radio" :disabled="mainDisabled" />
|
<JDictSelectTag v-model:value="mainForm.completionStatus" dictCode="db_status" placeholder="请选择完成状态" type="radio" :disabled="mainDisabled" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
|
<a-col :span="12">
|
||||||
|
<a-form-item label="截止日期" name="deadline">
|
||||||
|
<a-date-picker v-model:value="mainForm.deadline" value-format="YYYY-MM-DD HH:mm:ss" :show-time="true" :disabled="mainDisabled" style="width: 100%" allow-clear />
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item label="报告反馈情况" name="reportFeedbackStatus">
|
<a-form-item label="报告反馈情况" name="reportFeedbackStatus">
|
||||||
<a-input v-model:value="mainForm.reportFeedbackStatus" :disabled="mainDisabled" allow-clear />
|
<a-input v-model:value="mainForm.reportFeedbackStatus" :disabled="mainDisabled" allow-clear />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
|
<a-col :span="12">
|
||||||
|
<a-form-item label="是否存在完成风险" name="isCompletionRisk">
|
||||||
|
<a-radio-group v-model:value="mainForm.isCompletionRisk" :disabled="mainDisabled">
|
||||||
|
<a-radio :value="0">不存在</a-radio>
|
||||||
|
<a-radio :value="1">存在</a-radio>
|
||||||
|
</a-radio-group>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
<a-col :span="12">
|
||||||
|
<a-form-item label="是否需要督办领导" name="needSdwApproval">
|
||||||
|
<a-radio-group v-model:value="mainForm.needSdwApproval" :disabled="mainDisabled">
|
||||||
|
<a-radio :value="1">是</a-radio>
|
||||||
|
<a-radio :value="0">否</a-radio>
|
||||||
|
</a-radio-group>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
<a-col v-if="mainForm.needSdwApproval === 1" :span="12">
|
||||||
|
<a-form-item label="督导领导列表" name="sdwLeaderList">
|
||||||
|
<j-select-user v-model:value="mainForm.sdwLeaderList" :disabled="mainDisabled" :multiple="true" allow-clear />
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item label="拖期风险应对措施" name="delayRiskMitigation">
|
<a-form-item label="拖期风险应对措施" name="delayRiskMitigation">
|
||||||
<a-input v-model:value="mainForm.delayRiskMitigation" :disabled="mainDisabled" allow-clear />
|
<a-input v-model:value="mainForm.delayRiskMitigation" :disabled="mainDisabled" allow-clear />
|
||||||
@@ -226,7 +252,7 @@
|
|||||||
const loading = ref(false);
|
const loading = ref(false);
|
||||||
const savingMain = ref(false);
|
const savingMain = ref(false);
|
||||||
const savingSubApproveUser = ref(false);
|
const savingSubApproveUser = ref(false);
|
||||||
const showBaseInfoDetail = ref(false);
|
const showBaseInfoDetail = ref(true);
|
||||||
const feedbackList = ref<any[]>([]);
|
const feedbackList = ref<any[]>([]);
|
||||||
const subApproveUser = ref('');
|
const subApproveUser = ref('');
|
||||||
const isEnd = ref(0);
|
const isEnd = ref(0);
|
||||||
@@ -239,7 +265,7 @@
|
|||||||
elmComment: '',
|
elmComment: '',
|
||||||
status: '',
|
status: '',
|
||||||
responsiblePerson: '',
|
responsiblePerson: '',
|
||||||
needSdwApproval: '',
|
needSdwApproval: 0,
|
||||||
sdwLeaderList: '',
|
sdwLeaderList: '',
|
||||||
implPlan: '',
|
implPlan: '',
|
||||||
leadDepartment: '',
|
leadDepartment: '',
|
||||||
@@ -251,7 +277,8 @@
|
|||||||
reportFeedbackStatus: '',
|
reportFeedbackStatus: '',
|
||||||
isCompletionRisk: undefined,
|
isCompletionRisk: undefined,
|
||||||
delayRiskMitigation: '',
|
delayRiskMitigation: '',
|
||||||
completionStatus: '',
|
completionStatus: undefined,
|
||||||
|
deadline: '',
|
||||||
implDept: '',
|
implDept: '',
|
||||||
treeDepth: undefined,
|
treeDepth: undefined,
|
||||||
sortOrder: undefined,
|
sortOrder: undefined,
|
||||||
|
|||||||
@@ -100,6 +100,11 @@
|
|||||||
<JDictSelectTag v-model:value="formData.completionStatus" dictCode="db_status" placeholder="请选择完成状态" type="radio" />
|
<JDictSelectTag v-model:value="formData.completionStatus" dictCode="db_status" placeholder="请选择完成状态" type="radio" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
|
<a-col :span="12">
|
||||||
|
<a-form-item label="截止日期" id="BgXiSpeakForm-deadline" name="deadline">
|
||||||
|
<a-date-picker placeholder="请选择截止日期" v-model:value="formData.deadline" value-format="YYYY-MM-DD HH:mm:ss" :show-time="true" style="width: 100%" allow-clear />
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item label="拖期风险应对措施" v-bind="validateInfos.delayRiskMitigation" id="BgXiSpeakForm-delayRiskMitigation" name="delayRiskMitigation">
|
<a-form-item label="拖期风险应对措施" v-bind="validateInfos.delayRiskMitigation" id="BgXiSpeakForm-delayRiskMitigation" name="delayRiskMitigation">
|
||||||
<a-input v-model:value="formData.delayRiskMitigation" placeholder="请输入" allow-clear></a-input>
|
<a-input v-model:value="formData.delayRiskMitigation" placeholder="请输入" allow-clear></a-input>
|
||||||
@@ -175,6 +180,7 @@
|
|||||||
isCompletionRisk: undefined,
|
isCompletionRisk: undefined,
|
||||||
delayRiskMitigation: '',
|
delayRiskMitigation: '',
|
||||||
completionStatus: undefined,
|
completionStatus: undefined,
|
||||||
|
deadline: '',
|
||||||
implDept: '',
|
implDept: '',
|
||||||
treeDepth: undefined,
|
treeDepth: undefined,
|
||||||
sortOrder: undefined,
|
sortOrder: undefined,
|
||||||
|
|||||||
Reference in New Issue
Block a user