diff --git a/src/views/bg/fixcontact/FixedContact20260730.api.ts b/src/views/bg/fixcontact/FixedContact20260730.api.ts
index 0ca83a9..2f936e5 100644
--- a/src/views/bg/fixcontact/FixedContact20260730.api.ts
+++ b/src/views/bg/fixcontact/FixedContact20260730.api.ts
@@ -79,3 +79,19 @@ export const setBpmVariableLocal = (params) => {
export const withDrawFixContact = (params) => {
return defHttp.post({ url: '/bg/fixcontact/fixedContact20260730/withDrawFixContact', params }, { joinParamsToUrl: true, isTransformResponse: false });
};
+
+export const saveSubApprove = (params) => {
+ return defHttp.post({ url: '/bg/fixcontact/fixedContact20260730/saveSubApprove', params }, { isTransformResponse: false });
+};
+
+export const setProcessVariable = (params) => {
+ return defHttp.post({ url: '/act/process/setProcessVariable', params }, { isTransformResponse: false });
+};
+
+/**
+ * 获取流程变量(支持局部变量查询),从task执行实例向上精准查找
+ * @param params { taskId, key, isLocal }
+ */
+export const getProcessVariable = (params: { taskId: string; key: string; isLocal?: boolean }) => {
+ return defHttp.get({ url: '/act/process/extActProcessNode/getVariable', params });
+};
diff --git a/src/views/bg/fixcontact/FixedContact20260730.data.ts b/src/views/bg/fixcontact/FixedContact20260730.data.ts
index 2a8d73d..4445e23 100644
--- a/src/views/bg/fixcontact/FixedContact20260730.data.ts
+++ b/src/views/bg/fixcontact/FixedContact20260730.data.ts
@@ -1,5 +1,10 @@
+import { h } from 'vue';
import { BasicColumn } from '/@/components/Table';
+function renderWrappedText({ text }: any) {
+ return h('div', { style: 'white-space: pre-wrap; word-break: break-word;' }, text ?? '');
+}
+
export const columns: BasicColumn[] = [
{
title: '序号',
@@ -86,21 +91,24 @@ export const fixedContactFeedbackColumns: BasicColumn[] = [
},
{
title: '计划完成情况',
- align: 'center',
+ align: 'left',
dataIndex: 'planFinishStatus',
width: 160,
+ customRender: renderWrappedText,
},
{
title: '处理意见、承办情况',
- align: 'center',
+ align: 'left',
dataIndex: 'handleOpinion',
width: 200,
+ customRender: renderWrappedText,
},
{
title: '办结情况',
- align: 'center',
+ align: 'left',
dataIndex: 'finishStatus',
width: 160,
+ customRender: renderWrappedText,
},
{
title: '实际完成时间',
@@ -114,20 +122,21 @@ export const fixedContactFeedbackColumns: BasicColumn[] = [
},
{
title: '实际完成情况',
- align: 'center',
+ align: 'left',
dataIndex: 'actualFinishStatus',
width: 160,
+ customRender: renderWrappedText,
},
{
title: '反馈人',
align: 'center',
- dataIndex: 'feedbackUser_dictText',
+ dataIndex: 'feedbackUserName',
width: 110,
},
{
title: '反馈部门',
align: 'center',
- dataIndex: 'feedbackDept_dictText',
+ dataIndex: 'feedbackDeptName',
width: 150,
},
];
diff --git a/src/views/bg/fixcontact/components/FixedContact20260730BPMFeedbackModal.vue b/src/views/bg/fixcontact/components/FixedContact20260730BPMFeedbackModal.vue
index 3638666..7cbeb6f 100644
--- a/src/views/bg/fixcontact/components/FixedContact20260730BPMFeedbackModal.vue
+++ b/src/views/bg/fixcontact/components/FixedContact20260730BPMFeedbackModal.vue
@@ -28,23 +28,23 @@
-
+
-
+
-
+
-
+
@@ -87,10 +87,11 @@
const formRef = ref();
const uploadFileRef = ref | null>(null);
const uploadKey = ref(0);
+ const subProcessDeptId = ref('');
const labelCol = { xs: { span: 24 }, sm: { span: 7 } };
const wrapperCol = { xs: { span: 24 }, sm: { span: 17 } };
- const wideLabelCol = { xs: { span: 24 }, sm: { span: 3 } };
- const wideWrapperCol = { xs: { span: 24 }, sm: { span: 21 } };
+ const wideLabelCol = { xs: { span: 24 }, sm: { span: 5 } };
+ const wideWrapperCol = { xs: { span: 24 }, sm: { span: 19 } };
const feedbackSaveUrl = '/bg/fixcontact/fixedContact20260730/addFixedContactFeedback20260730';
const feedbackEditUrl = '/bg/fixcontact/fixedContact20260730/editFixedContactFeedback20260730';
@@ -110,21 +111,23 @@
});
const formRules = {
+ planFinishTime: [{ required: true, message: '请选择计划完成时间' }],
planFinishStatus: [{ required: true, message: '请输入计划完成情况' }],
};
- function resetForm(mainId = '', bpmProcessId = '') {
+ function resetForm(mainId = '', bpmProcessId = '', deptId = '') {
Object.keys(formData).forEach((key) => {
formData[key] = '';
});
formData.fixedContact20260730Id = mainId;
formData.bpmProcessId = bpmProcessId;
+ subProcessDeptId.value = deptId;
uploadKey.value += 1;
nextTick(() => formRef.value?.clearValidate?.());
}
- function open(mainId: string, bpmProcessId = '', record?: Record) {
- resetForm(mainId, bpmProcessId);
+ function open(mainId: string, bpmProcessId = '', deptId = '', record?: Record) {
+ resetForm(mainId, bpmProcessId, deptId);
if (record?.id) {
isEdit.value = true;
modalTitle.value = '编辑反馈';
@@ -157,9 +160,8 @@
const userInfo = (userStore.getUserInfo || {}) as Record;
formData.feedbackUser = userInfo.id || userInfo.userId || '';
const loginDepart = getCurrentLoginDepart();
- if (loginDepart) {
- formData.feedbackDept = loginDepart.id || '';
- }
+ // 反馈部门存当前子流程范围(impl_dept_id),供子流程内按范围过滤;非子流程节点回退到登录人部门
+ formData.feedbackDept = subProcessDeptId.value || loginDepart?.id || '';
}
function handleCancel() {
@@ -206,5 +208,9 @@
diff --git a/src/views/bg/fixcontact/components/FixedContact20260730BPMForm.vue b/src/views/bg/fixcontact/components/FixedContact20260730BPMForm.vue
index ade3dc3..484da3b 100644
--- a/src/views/bg/fixcontact/components/FixedContact20260730BPMForm.vue
+++ b/src/views/bg/fixcontact/components/FixedContact20260730BPMForm.vue
@@ -118,7 +118,7 @@
-
+
+
+
+
+
+ 否(分配部门经办人)
+ 是(办结)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 否(不需要)
+ 是(需要所领导审批)
+
+
+
+
+
+
+
+
+
+