!255 Merge remote-tracking branch 'yudao/dev' into dev

Merge pull request !255 from Jason/dev
This commit is contained in:
xingyu
2025-11-05 02:41:09 +00:00
committed by Gitee
2 changed files with 17 additions and 25 deletions

View File

@@ -772,12 +772,12 @@ defineExpose({ loadTodoTask });
name="signPicUrl" name="signPicUrl"
ref="approveSignFormRef" ref="approveSignFormRef"
> >
<Button @click="openSignatureModal" type="primary"> <div class="flex items-center gap-2">
{{ approveReasonForm.signPicUrl ? '重新签名' : '点击签名' }} <Button @click="openSignatureModal" type="primary">
</Button> {{ approveReasonForm.signPicUrl ? '重新签名' : '点击签名' }}
<div class="mt-2"> </Button>
<Image <Image
class="float-left h-40 w-80" class="!h-10 !w-40 object-contain"
v-if="approveReasonForm.signPicUrl" v-if="approveReasonForm.signPicUrl"
:src="approveReasonForm.signPicUrl" :src="approveReasonForm.signPicUrl"
/> />

View File

@@ -5,7 +5,7 @@ import { useVbenModal } from '@vben/common-ui';
import { IconifyIcon } from '@vben/icons'; import { IconifyIcon } from '@vben/icons';
import { base64ToFile } from '@vben/utils'; 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 Vue3Signature from 'vue3-signature';
import { uploadFile } from '#/api/infra/file'; import { uploadFile } from '#/api/infra/file';
@@ -20,28 +20,22 @@ const signature = ref<InstanceType<typeof Vue3Signature>>();
const [Modal, modalApi] = useVbenModal({ const [Modal, modalApi] = useVbenModal({
async onConfirm() { async onConfirm() {
// TODO @jason这里需要使用类似 modalApi.lock() 么?类似别的模块 modalApi.lock();
message.success({ try {
content: '签名上传中,请稍等...', const signFileUrl = await uploadFile({
}); file: base64ToFile(signature?.value?.save('image/jpeg') || '', '签名'),
const signFileUrl = await uploadFile({ });
file: base64ToFile(signature?.value?.save('image/jpeg') || '', '签名'), emits('success', signFileUrl);
}); await modalApi.close();
emits('success', signFileUrl); } finally {
// TODO @jason是不是不用主动 close modalApi.unlock();
await modalApi.close();
},
// TODO @jason这个是不是下面方法可以删除
onOpenChange(visible) {
if (!visible) {
modalApi.close();
} }
}, },
}); });
</script> </script>
<template> <template>
<Modal title="流程签名" class="h-2/5 w-3/5"> <Modal title="流程签名" class="w-3/5">
<div class="mb-2 flex justify-end"> <div class="mb-2 flex justify-end">
<Space> <Space>
<Tooltip title="撤销上一步操作"> <Tooltip title="撤销上一步操作">
@@ -64,10 +58,8 @@ const [Modal, modalApi] = useVbenModal({
</div> </div>
<Vue3Signature <Vue3Signature
class="mx-auto border border-solid border-gray-300" class="mx-auto !h-80 border border-solid border-gray-300"
ref="signature" ref="signature"
w="874px"
h="324px"
/> />
</Modal> </Modal>
</template> </template>