From 2069d53e9be24adec3c8d6717fd7317555bd9a52 Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期二, 02 七月 2024 23:02:51 +0800
Subject: [PATCH] 高级表单优化

---
 src/views/tigerprojects/system/lowcode/entityts/MES_SHIFT.ts |  104 ++++++++++++++++++++++++----------------------------
 1 files changed, 48 insertions(+), 56 deletions(-)

diff --git a/src/views/tigerprojects/system/lowcode/entityts/MES_SHIFT.ts b/src/views/tigerprojects/system/lowcode/entityts/MES_SHIFT.ts
index 900d7f2..be4ec99 100644
--- a/src/views/tigerprojects/system/lowcode/entityts/MES_SHIFT.ts
+++ b/src/views/tigerprojects/system/lowcode/entityts/MES_SHIFT.ts
@@ -4,12 +4,12 @@
  * @version:
  * @Date: 2024-06-19 20:34:27
  * @LastEditors: Ben Lin
- * @LastEditTime: 2024-07-02 03:40:15
+ * @LastEditTime: 2024-07-02 19:41:38
  */
 
 import { Ref, h, ref, unref } from 'vue';
 import { DeleteEntity, GetEnum, getEntity } from '/@/api/tigerapi/system';
-import { ActionItem, BasicColumn, useTable } from '/@/components/Table';
+import { ActionItem, BasicColumn, FormSchema, useTable } from '/@/components/Table';
 import { isNullOrEmpty, isNullOrUnDef } from '/@/utils/is';
 import { buildUUID } from '/@/utils/uuid';
 import { useUserStore } from '/@/store/modules/user';
@@ -17,29 +17,11 @@
 import { Tag } from 'ant-design-vue';
 import { useLocale } from '/@/locales/useLocale';
 import { useDrawer } from '/@/components/Drawer';
+import { EditOperation, Search } from '../data';
 
 const { getLocale } = useLocale();
 function _default() {
-  let _data = ref([
-    {
-      SFT_CODE: '1',
-      SFT_NAME: '1',
-      SFTS_CODE: '1',
-      SFT_BEGIN: 1,
-      SFT_END: 1,
-      IS_ACROSS_DAY: 'N',
-      REMARK: '1',
-      AUTH_ORG: '1',
-      AUTH_PROD: '1',
-      AUTH_WH: '1',
-      GHOST_ROW: false,
-      CREATE_TIME: '2024-07-01 12:34:29',
-      CREATE_USER: '1',
-      UPDATE_TIME: '2024-07-01 12:34:29',
-      UPDATE_USER: '1',
-      ID: '6632a14fec8c470c9216f5c7354baa22',
-    },
-  ] as Recordable<any>[]);
+  let _data = ref<any>({});
   const ActionColumn: BasicColumn = {
     width: 80,
     title: '鎿嶄綔',
@@ -203,9 +185,11 @@
           title: '鍒楄〃淇℃伅',
           dataSource: data.value['MES_SHIFT'],
           columns: baseColumns['MES_SHIFT'],
+          maxHeight: 230,
           formConfig: {
             labelWidth: 140,
             schemas: searchForms['MES_SHIFT'],
+            submitFunc: () => Search('MES_SHIFT', data, args[0]), //鑷畾涔夋煡璇㈡彁浜ゆ寜閽殑鏂规硶锛岃Е鍙戞煡璇㈡彁浜や簨浠�
           },
           useSearchForm: true,
           showTableSetting: true,
@@ -224,9 +208,11 @@
           title: '鍒楄〃淇℃伅',
           dataSource: data.value['MES_SHIFT_PRD'],
           columns: baseColumns['MES_SHIFT_PRD'],
+          maxHeight: 260,
           formConfig: {
             labelWidth: 140,
             schemas: searchForms['MES_SHIFT_PRD'],
+            submitFunc: () => Search('MES_SHIFT_PRD', data, args[0]), //鑷畾涔夋煡璇㈡彁浜ゆ寜閽殑鏂规硶锛岃Е鍙戞煡璇㈡彁浜や簨浠�
           },
           useSearchForm: true,
           showTableSetting: true,
@@ -243,6 +229,28 @@
         }),
       };
     },
+    /**
+     * @description: 琛ㄦ牸鏌ヨ鍥炶皟锛岀埗缁勪欢涓�氳繃瀛愮粍浠惰Е鍙戠殑浜嬩欢鑾峰彇浼犲叆鐨勫�硷紝鍋氬叿浣撶殑鏌ヨ閫昏緫瀹炵幇
+     * @param {*} d
+     * @return {*}
+     */
+    FormSearch: (d) => {
+      let data = {} as any;
+      switch (d.type) {
+        case 'MES_SHIFT':
+          data = d.data.value[d.type].filter(
+            (item) =>
+              item.SFT_CODE.includes(d.values.SFT_CODE) || item.SFT_NAME == d.values.SFT_NAME,
+          );
+          if (isNullOrEmpty(d.values.SFT_CODE) && isNullOrEmpty(d.values.SFT_NAME)) {
+            data = d.data.value[d.type];
+          }
+          break;
+        case 'MES_SHIFT_PRD':
+          break;
+      }
+      return data;
+    },
     OthersValues: (val: string, id: string) => {
       return { SFTS_CODE: val };
     } /**
@@ -253,37 +261,21 @@
      * @return {*}
      */,
     EditOperation: (data: Ref<any[]>, d, u, item) => {
-      if (u.isUpdate) {
-        //鏇存柊
-        var _data = data.value.map((item) => {
-          if (item['ID'] == d.ID)
-            return {
-              ...item,
-              SFT_CODE: d.SFT_CODE,
-              SFT_NAME: d.SFT_NAME,
-              SFT_BEGIN: d.SFT_BEGIN,
-              SFT_END: d.SFT_END,
-              IS_ACROSS_DAY: d.IS_ACROSS_DAY,
-              REMARK: d.REMARK,
-            };
-          return item;
-        });
-        data.value = _data;
-      } else {
-        //鏂板
-        d.ID = buildUUID();
-        d.CREATE_USER = useUserStore().getUserInfo.userId as string;
-        d.UPDATE_TIME = formatToDateTime(new Date());
-        d.UPDATE_USER = useUserStore().getUserInfo.userId as string;
-        var _data2: any[] = [];
-        if (!isNullOrEmpty(data.value[item])) {
-          _data2 = data.value[item].map((item) => {
-            return item;
-          });
-        }
-        _data2.push(d);
-        data.value[item] = _data2;
-      }
+       //鏇存柊
+       var _data = data.value[item].map((item) => {
+        if (item['ID'] == d.ID)
+          return {
+            ...item,
+            SFT_CODE: d.SFT_CODE,
+            SFT_NAME: d.SFT_NAME,
+            SFT_BEGIN: d.SFT_BEGIN,
+            SFT_END: d.SFT_END,
+            IS_ACROSS_DAY: d.IS_ACROSS_DAY,
+            REMARK: d.REMARK,
+          };
+        return item;
+      });
+      EditOperation(data,d, u, item, _data);
     },
     /**
      * @description: 鑾峰彇鏍囬淇℃伅
@@ -492,7 +484,7 @@
           span: 8,
         },
       },
-    ],
+    ] as FormSchema[],
     MES_SHIFT_PRD: [
       {
         field: 'PRD_CODE',
@@ -510,7 +502,7 @@
           span: 8,
         },
       },
-    ],
+    ] as FormSchema[],
   };
 
   const crudForms = {
@@ -643,7 +635,7 @@
           span: 24,
         },
         componentProps: () => {
-          const options = _data.map((entity) => ({
+          const options = _data.value['MES_SHIFT'].map((entity) => ({
             value: entity.SFT_CODE,
             label: entity.SFT_NAME,
           }));

--
Gitblit v1.9.3