diff --git a/apps/web-antd/src/utils/use-paste-upload-listen.ts b/apps/web-antd/src/utils/use-paste-upload-listen.ts index 439bfe1a..dd8eb518 100644 --- a/apps/web-antd/src/utils/use-paste-upload-listen.ts +++ b/apps/web-antd/src/utils/use-paste-upload-listen.ts @@ -9,6 +9,11 @@ export interface UsePasteUploadListenOptions { maxSize?: number | (() => number); /** 过滤后的文件回调 */ onFiles: (files: File[]) => void | Promise; + /** + * 粘贴成功拿到合法文件后自动停止监听 + * 为什么默认 false:发票等组件仍要手动点「停止」;金方 Excel 导入需要成功即停 + */ + autoStopOnSuccess?: boolean; } /** @@ -136,6 +141,11 @@ export function usePasteUploadListen(options: UsePasteUploadListenOptions) { return; } event.preventDefault(); + // 成功拿到文件后先停监听(按需),再回调业务,避免重复粘贴 + if (options.autoStopOnSuccess) { + stop(); + message.success('已粘贴文件,监听已结束'); + } void options.onFiles(filtered); }; window.addEventListener('paste', handler); diff --git a/apps/web-antd/src/views/business/product/china-medicine/components/modal.vue b/apps/web-antd/src/views/business/product/china-medicine/components/modal.vue index aa4f7b08..b601177d 100644 --- a/apps/web-antd/src/views/business/product/china-medicine/components/modal.vue +++ b/apps/web-antd/src/views/business/product/china-medicine/components/modal.vue @@ -1,8 +1,11 @@ + + diff --git a/apps/web-antd/src/views/system/golden-formula/components/ImportExcelModal.vue b/apps/web-antd/src/views/system/golden-formula/components/ImportExcelModal.vue new file mode 100644 index 00000000..12d18865 --- /dev/null +++ b/apps/web-antd/src/views/system/golden-formula/components/ImportExcelModal.vue @@ -0,0 +1,202 @@ + + + diff --git a/apps/web-antd/src/views/system/golden-formula/components/MissingDrugModal.vue b/apps/web-antd/src/views/system/golden-formula/components/MissingDrugModal.vue new file mode 100644 index 00000000..aa1bb78c --- /dev/null +++ b/apps/web-antd/src/views/system/golden-formula/components/MissingDrugModal.vue @@ -0,0 +1,275 @@ + + + diff --git a/apps/web-antd/src/views/system/golden-formula/components/ResolveMissingDrugPanel.vue b/apps/web-antd/src/views/system/golden-formula/components/ResolveMissingDrugPanel.vue new file mode 100644 index 00000000..cecd599b --- /dev/null +++ b/apps/web-antd/src/views/system/golden-formula/components/ResolveMissingDrugPanel.vue @@ -0,0 +1,432 @@ + + + diff --git a/apps/web-antd/src/views/system/golden-formula/components/modal.vue b/apps/web-antd/src/views/system/golden-formula/components/modal.vue index 4af040a1..99ca8e80 100644 --- a/apps/web-antd/src/views/system/golden-formula/components/modal.vue +++ b/apps/web-antd/src/views/system/golden-formula/components/modal.vue @@ -1,7 +1,7 @@