From 0890fb87165c2aff136efa6dc1007fa9869f0d87 Mon Sep 17 00:00:00 2001 From: lzq <2495532633@qq.com> Date: Thu, 22 Jan 2026 16:02:05 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9E=9A=E4=B8=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/common/utils/enums.ts | 30 +++ src/components/a-dialog/ADialog.vue | 6 + src/components/a-drop-table/ADropTable.vue | 2 +- src/components/a-form-panel/AFormPanel.vue | 84 +++++++++ src/components/page/FormPage.vue | 51 +---- src/components/page/Page.vue | 2 +- src/components/page/a-page-type.ts | 41 ++++ src/dts/components.d.ts | 3 +- src/pages/cst/customer/Customer.vue | 9 +- src/pages/cst/station/Station.vue | 9 +- .../gds/goods-category/GoodsCategory.vue | 30 +-- .../goods-category/GoodsCategoryDropTable.vue | 39 ++++ .../gds/goods-category/GoodsCategoryForm.vue | 154 ++++++--------- src/pages/gds/goods-category/constants.ts | 18 ++ src/pages/gds/goods/Goods.vue | 38 +--- src/pages/gds/goods/GoodsForm.vue | 177 ++++++++---------- src/pages/mfg/craft/Craft.vue | 9 +- src/pages/sys/endpoint/Endpoint.vue | 9 +- src/pages/sys/gen/tpl/Tpl.vue | 9 +- src/pages/sys/menus/Menus.vue | 9 +- src/pages/sys/role/Role.vue | 9 +- src/pages/sys/sn-config/SnConfig.vue | 9 +- src/pages/sys/task/Task.vue | 9 +- src/pages/sys/user/User.vue | 9 +- src/pages/wh/in-order/InOrder.vue | 9 +- src/pages/wh/inventory/Inventory.vue | 9 +- src/pages/wh/out-order/OutOrder.vue | 9 +- src/pages/wh/purchase-order/PurchaseOrder.vue | 9 +- src/pages/wh/sales-order/SalesOrder.vue | 9 +- src/pages/wh/warehouse/Warehouse.vue | 9 +- 30 files changed, 463 insertions(+), 356 deletions(-) create mode 100644 src/common/utils/enums.ts create mode 100644 src/components/a-form-panel/AFormPanel.vue create mode 100644 src/components/page/a-page-type.ts create mode 100644 src/pages/gds/goods-category/GoodsCategoryDropTable.vue create mode 100644 src/pages/gds/goods-category/constants.ts diff --git a/src/common/utils/enums.ts b/src/common/utils/enums.ts new file mode 100644 index 0000000..f8a613e --- /dev/null +++ b/src/common/utils/enums.ts @@ -0,0 +1,30 @@ +export interface EnumItem { + val: string + txt: string +} + +export type EnhancedEnum = T & { + // @ts-ignore + [key in T[number]['val']]: T[number]['val'] +} & { + // @ts-ignore + [key in `${T[number]['val']}Txt`]: T[number]['txt'] +} & { + // @ts-ignore + of: (val: string) => T[number] | undefined + // @ts-ignore + txt: (val: T[number]['val']) => T[number]['txt'] +} + +export function createEnum(enums: T): EnhancedEnum { + const e = enums as EnhancedEnum + for (let enumItem of enums as EnumItem[]) { + // @ts-ignore + e[enumItem.val] = enumItem.val + // @ts-ignore + e[enumItem.val + 'Txt'] = enumItem.txt + } + // @ts-ignore + e.of = (val: string) => ((enums as EnumItem[]).find((item) => item.val === val)) + return e +} diff --git a/src/components/a-dialog/ADialog.vue b/src/components/a-dialog/ADialog.vue index 0ad6658..c2f63ed 100644 --- a/src/components/a-dialog/ADialog.vue +++ b/src/components/a-dialog/ADialog.vue @@ -45,6 +45,7 @@ const showDialog = computed({ }, }) const submiting = ref(false) +const enableRender = ref(false) let moveHandle = useMove(id) function openedHandler() { @@ -68,6 +69,9 @@ function closedHandler() { .setTriggerArea() } +onMounted(() => { + enableRender.value = true +}) onActivated(() => { moveHandle.enable() }) @@ -79,6 +83,7 @@ onUnmounted(() => {