+
diff --git a/apps/web-antd/src/views/bpm/processInstance/detail/modules/signature.vue b/apps/web-antd/src/views/bpm/processInstance/detail/modules/signature.vue
index 3698f6594509a5fafd266ae936cc0f7f01f65e07..4122c1fc041d79790c9df6a3be5ae1adb38161bb 100644
--- a/apps/web-antd/src/views/bpm/processInstance/detail/modules/signature.vue
+++ b/apps/web-antd/src/views/bpm/processInstance/detail/modules/signature.vue
@@ -5,7 +5,7 @@ import { useVbenModal } from '@vben/common-ui';
import { IconifyIcon } from '@vben/icons';
import { base64ToFile } from '@vben/utils';
-import { Button, message, Space, Tooltip } from 'ant-design-vue';
+import { Button, Space, Tooltip } from 'ant-design-vue';
import Vue3Signature from 'vue3-signature';
import { uploadFile } from '#/api/infra/file';
@@ -20,28 +20,22 @@ const signature = ref
>();
const [Modal, modalApi] = useVbenModal({
async onConfirm() {
- // TODO @jason:这里需要使用类似 modalApi.lock() 么?类似别的模块
- message.success({
- content: '签名上传中,请稍等...',
- });
- const signFileUrl = await uploadFile({
- file: base64ToFile(signature?.value?.save('image/jpeg') || '', '签名'),
- });
- emits('success', signFileUrl);
- // TODO @jason:是不是不用主动 close?
- await modalApi.close();
- },
- // TODO @jason:这个是不是下面方法,可以删除;
- onOpenChange(visible) {
- if (!visible) {
- modalApi.close();
+ modalApi.lock();
+ try {
+ const signFileUrl = await uploadFile({
+ file: base64ToFile(signature?.value?.save('image/jpeg') || '', '签名'),
+ });
+ emits('success', signFileUrl);
+ await modalApi.close();
+ } finally {
+ modalApi.unlock();
}
},
});
-
+
@@ -64,10 +58,8 @@ const [Modal, modalApi] = useVbenModal({