yxk-20260513-党委会流程表单

实现点击办理之前,自动保存基础信息(业务表单数据)和流程信息功能(是否办结、部门经办人)
This commit is contained in:
ye1023
2026-05-13 14:46:28 +08:00
parent 496f9714d0
commit 6314b7eb35
3 changed files with 67 additions and 11 deletions
@@ -146,7 +146,7 @@
</a-col>
<a-col :span="24">
<a-form-item :wrapperCol="wideActionWrapperCol">
<a-button type="primary" :loading="savingSubApproveUser" @click="saveSubApproveUserVariable">保存</a-button>
<a-button type="primary" :loading="savingSubApproveUser" @click="saveSubApproveUserVariable()">保存</a-button>
</a-form-item>
</a-col>
</a-row>
@@ -154,6 +154,7 @@
<TaskHandleInnerContent
:form-data="formData"
:claim="claim"
:beforeHandle="saveMainFormBeforeProcessHandle"
@success="handleProcessSuccess"
@claimSuccess="handleClaimSuccess"
/>
@@ -317,6 +318,11 @@
}
async function submitForm() {
return saveMainForm();
}
async function saveMainForm(options: { showMessage?: boolean; emitOk?: boolean } = {}) {
const { showMessage = true, emitOk = true } = options;
savingMain.value = true;
try {
const processInstanceId = processInfo.value.processInstanceId;
@@ -327,16 +333,37 @@
formData: { ...mainForm },
});
if (res.success) {
createMessage.success(res.message || '保存成功');
emit('ok');
} else {
createMessage.warning(res.message || '保存失败');
if (showMessage) {
createMessage.success(res.message || '保存成功');
}
if (emitOk) {
emit('ok');
}
return true;
}
createMessage.warning(res.message || '保存失败');
return false;
} catch (error) {
createMessage.warning('保存失败');
return false;
} finally {
savingMain.value = false;
}
}
async function saveMainFormBeforeProcessHandle() {
if (!mainDisabled.value) {
const mainSaved = await saveMainForm({ showMessage: false, emitOk: false });
if (!mainSaved) {
return false;
}
}
if (showSubApproveUser.value) {
return saveSubApproveUserVariable({ showSuccessMessage: false });
}
return true;
}
function openFeedbackModal() {
if (!mainForm.id) {
createMessage.warning('主表数据不存在,无法新增反馈');
@@ -350,17 +377,18 @@
feedbackModalRef.value?.open(mainForm.id, mainForm.secretLevel, processInstanceId);
}
async function saveSubApproveUserVariable() {
async function saveSubApproveUserVariable(options: { showSuccessMessage?: boolean } = {}) {
const { showSuccessMessage = true } = options;
const processInstanceId = processInfo.value.processInstanceId;
const isEndValue = String(isEnd.value);
const usernameValue = normalizeUsernameList(subApproveUser.value);
if (!processInstanceId) {
createMessage.warning('流程实例ID不能为空');
return;
return false;
}
if (isEndValue !== '1' && !usernameValue) {
createMessage.warning('请选择部门经办人');
return;
return false;
}
savingSubApproveUser.value = true;
@@ -368,17 +396,23 @@
const isEndResult = await saveProcessVariable('isEnd', isEndValue);
if (!isEndResult?.success) {
createMessage.warning(isEndResult.message || '保存失败');
return;
return false;
}
if (isEndValue !== '1') {
const subApproveUserResult = await saveProcessVariable('subApproveUser', usernameValue);
if (!subApproveUserResult?.success) {
createMessage.warning(subApproveUserResult.message || '保存失败');
return;
return false;
}
}
createMessage.success('保存成功');
if (showSuccessMessage) {
createMessage.success('保存成功');
}
return true;
} catch (error) {
createMessage.warning('保存失败');
return false;
} finally {
savingSubApproveUser.value = false;
}