perf: [BPM 工作流] 流程取消 confirm 改成 prompt 组件
parent
61c086e02a
commit
da308e80aa
|
|
@ -2,10 +2,10 @@
|
||||||
import type { VxeTableGridOptions } from '#/adapter/vxe-table';
|
import type { VxeTableGridOptions } from '#/adapter/vxe-table';
|
||||||
import type { BpmProcessInstanceApi } from '#/api/bpm/processInstance';
|
import type { BpmProcessInstanceApi } from '#/api/bpm/processInstance';
|
||||||
|
|
||||||
import { h, nextTick, onMounted, ref } from 'vue';
|
import { nextTick, onMounted, ref } from 'vue';
|
||||||
import { useRoute, useRouter } from 'vue-router';
|
import { useRoute, useRouter } from 'vue-router';
|
||||||
|
|
||||||
import { confirm, Page } from '@vben/common-ui';
|
import { Page, prompt } from '@vben/common-ui';
|
||||||
|
|
||||||
import { Input, message } from 'ant-design-vue';
|
import { Input, message } from 'ant-design-vue';
|
||||||
|
|
||||||
|
|
@ -29,7 +29,6 @@ const processDefinitionId = query.processDefinitionId as string;
|
||||||
const formFields = ref<any[]>([]);
|
const formFields = ref<any[]>([]);
|
||||||
const userList = ref<any[]>([]); // 用户列表
|
const userList = ref<any[]>([]); // 用户列表
|
||||||
const gridReady = ref(false); // 表格是否准备好
|
const gridReady = ref(false); // 表格是否准备好
|
||||||
const cancelReason = ref(''); // 取消原因
|
|
||||||
|
|
||||||
// 表格的列需要解析表单字段,这里定义成变量,解析表单字段后再渲染
|
// 表格的列需要解析表单字段,这里定义成变量,解析表单字段后再渲染
|
||||||
let Grid: any = null;
|
let Grid: any = null;
|
||||||
|
|
@ -81,26 +80,19 @@ const handleDetail = (row: BpmProcessInstanceApi.ProcessInstance) => {
|
||||||
|
|
||||||
/** 取消按钮操作 */
|
/** 取消按钮操作 */
|
||||||
const handleCancel = async (row: BpmProcessInstanceApi.ProcessInstance) => {
|
const handleCancel = async (row: BpmProcessInstanceApi.ProcessInstance) => {
|
||||||
cancelReason.value = ''; // 重置取消原因
|
prompt({
|
||||||
confirm({
|
content: '请输入取消原因:',
|
||||||
title: '取消流程',
|
title: '取消流程',
|
||||||
content: h('div', [
|
icon: 'question',
|
||||||
h('p', '请输入取消原因:'),
|
component: Input,
|
||||||
h(Input, {
|
modelPropName: 'value',
|
||||||
value: cancelReason.value,
|
async beforeClose(scope) {
|
||||||
'onUpdate:value': (val: string) => {
|
if (!scope.isConfirm) return;
|
||||||
cancelReason.value = val;
|
if (!scope.value) {
|
||||||
},
|
|
||||||
placeholder: '请输入取消原因',
|
|
||||||
}),
|
|
||||||
]),
|
|
||||||
beforeClose: async ({ isConfirm }) => {
|
|
||||||
if (!isConfirm) return;
|
|
||||||
if (!cancelReason.value.trim()) {
|
|
||||||
message.warning('请输入取消原因');
|
message.warning('请输入取消原因');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
await cancelProcessInstanceByAdmin(row.id, cancelReason.value);
|
await cancelProcessInstanceByAdmin(row.id, scope.value);
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue