yxk-20260513-党委会流程表单
实现点击办理之前,自动保存基础信息(业务表单数据)和流程信息功能(是否办结、部门经办人)
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user