From cc88111d61a350a4d24cf339b526d4357f934ddf Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期二, 30 七月 2024 00:31:12 +0800
Subject: [PATCH] 标签模板维护变量更新

---
 src/views/tigerprojects/system/lowcode/entityts/QMS_INS_ITEM.ts |  202 ++++++++++++++++++++++++++++++++------------------
 1 files changed, 129 insertions(+), 73 deletions(-)

diff --git a/src/views/tigerprojects/system/lowcode/entityts/QMS_INS_ITEM.ts b/src/views/tigerprojects/system/lowcode/entityts/QMS_INS_ITEM.ts
index 73e3193..903354d 100644
--- a/src/views/tigerprojects/system/lowcode/entityts/QMS_INS_ITEM.ts
+++ b/src/views/tigerprojects/system/lowcode/entityts/QMS_INS_ITEM.ts
@@ -4,19 +4,17 @@
  * @version:
  * @Date: 2024-06-19 20:34:27
  * @LastEditors: Ben Lin
- * @LastEditTime: 2024-07-01 17:17:58
+ * @LastEditTime: 2024-07-04 11:22:58
  */
 
 import { Ref, h, 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';
-import { formatToDateTime } from '/@/utils/dateUtil';
 import { Tag } from 'ant-design-vue';
 import { useLocale } from '/@/locales/useLocale';
 import { useDrawer } from '/@/components/Drawer';
+import { EditOperation, Search, custDel } from '../data';
 
 const { getLocale } = useLocale();
 function _default() {
@@ -33,42 +31,36 @@
    * @return {*}
    */
   const methods = {
-    EditOperation: (data: Ref<any[]>, d, u) => {
-      if (u.isUpdate) {
-        //鏇存柊
-        var _data = data.value.map((item) => {
-          if (item['ID'] == d.ID)
-            return {
-              ...item,
-              STD_CODE: d.STD_CODE,
-              STD_NAME: d.STD_NAME,
-              STD_TYPE: d.STD_TYPE,
-              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)) {
-          _data2 = data.value.map((item) => {
-            return item;
-          });
-        }
-        _data2.push(d);
-        data.value = _data2;
-      }
+    EditOperation: (data: Ref<any[]>, d, u, item) => {
+      //鏇存柊
+      var _data = data.value[item].map((item) => {
+        if (item['ID'] == d.ID)
+          return {
+            ...item,
+            INS_CODE: d.INS_CODE,
+            INS_NAME: d.INS_NAME,
+            STD_CODE: d.STD_CODE,
+            CTGY_CODE: d.CTGY_CODE,
+            IS_NECESSARY: d.IS_NECESSARY,
+            IS_JUDGE: d.IS_JUDGE,
+            INS_TOOL: d.INS_TOOL,
+            QNTV_UNIT: d.QNTV_UNIT,
+            QNTV_TIMES: d.QNTV_TIMES,
+            QNTV_DEVIATION: d.QNTV_DEVIATION,
+            QNTV_UPPER: d.QNTV_UPPER,
+            QNTV_LOWER: d.QNTV_LOWER,
+            QLTV_LIST: d.QLTV_LIST,
+            REMARK: d.REMARK,
+          };
+        return item;
+      });
+      EditOperation(data,d, u, item, _data);
     },
     /**
      * @description: 鑾峰彇鏂板鎸夐挳鐨勮涓�
      * @return {*}
      */
-    CreateAction: (fnName: string) => {
+    CreateAction: (type: string) => {
       return {
         action: 'drawer', //drawer(鎵撳紑宸︿晶鎶藉眽妗�) | go(璺宠浆鍒版柊鐨勯〉闈�)
       };
@@ -79,7 +71,7 @@
      */
     ActionItem: (params: Recordable<any>, data, ...args): ActionItem[] => {
       if (!isNullOrUnDef(data[1])) {
-        data[1].popConfirm.confirm = Del.bind(null, args, params);
+        data[1].popConfirm.confirm = custDel.bind(null, args, params);
       }
       return data;
     },
@@ -183,18 +175,19 @@
      * @param {array} args
      * @return {*}
      */
-    GetUseTables: (data: any[], ...args) => {
+    GetUseTables: (data: Ref<{}>, ...args) => {
       return {
         QMS_INS_ITEM: useTable({
           title: '鍒楄〃淇℃伅',
-          dataSource: data,
+          dataSource: data.value['QMS_INS_ITEM'],
           columns: baseColumns['QMS_INS_ITEM'],
           formConfig: {
             labelWidth: 140,
             schemas: searchForms['QMS_INS_ITEM'],
+            submitFunc: () => Search('QMS_INS_ITEM', data, args[0]), //鑷畾涔夋煡璇㈡彁浜ゆ寜閽殑鏂规硶锛岃Е鍙戞煡璇㈡彁浜や簨浠�
           },
           useSearchForm: true,
-          showTableSetting: true,
+          showTableSetting: false,
           bordered: true,
           canResize: true,
           showIndexColumn: false,
@@ -209,8 +202,34 @@
         MES_SHIFT_PRD: useTable(),
       };
     },
-    OthersValues: (val: string, id: string) => {
-      return { TECH_STD: val };
+    /**
+     * @description: 琛ㄦ牸鏌ヨ鍥炶皟锛岀埗缁勪欢涓�氳繃瀛愮粍浠惰Е鍙戠殑浜嬩欢鑾峰彇浼犲叆鐨勫�硷紝鍋氬叿浣撶殑鏌ヨ閫昏緫瀹炵幇
+     * @param {*} d
+     * @return {*}
+     */
+    FormSearch: (d) => {
+      let data = {} as any;
+      switch (d.type) {
+        case 'QMS_INS_ITEM':
+          data = d.data.value[d.type].filter(
+            (item) =>
+              item.INS_CODE.includes(d.values.INS_CODE) || item.INS_NAME == d.values.INS_NAME,
+          );
+          if (isNullOrEmpty(d.values.INS_CODE) && isNullOrEmpty(d.values.INS_NAME)) {
+            data = d.data.value[d.type];
+          }
+          break;
+      }
+      return data;
+    },
+    /**
+     * @description: 涓�浜涘叾浠栫殑瀛楁鍊硷紝涓�鑸槸澧炲垹鏀规槸甯﹀叆鐨勫叧閿瓧娈靛��
+     * @param {string} val
+     * @param {string} id
+     * @return {*}
+     */    
+    KeyFieldValues: (val: string, id: string) => {
+      return { STD_CODE: val };
     },
     /**
      * @description: 鑾峰彇鏍囬淇℃伅
@@ -226,33 +245,12 @@
         },
       };
     },
+    GetUseForm: () => {
+      return {};
+    },
   };
-
-  /**
-   * @description: 鑷畾涔夊垹闄ゆ柟娉�
-   * @param {Fn} args
-   * @param {*} params
-   * @return {*}
-   */
-  function Del(args: Fn[], params: {}) {
-    if (!isNullOrEmpty(params['data'])) {
-      var _data = params['data'].value.filter((item) => item['ID'] != params['record']['ID']);
-      params['data'].value = _data;
-      args[6]({
-        dataSource: [],
-      });
-      args[6]({
-        dataSource: params['data'],
-      });
-      args[1]();
-    } else {
-      DeleteEntity(params['record'], params['entityName']).then((action) => {
-        if (action.IsSuccessed) {
-          args[1]();
-        }
-      });
-    }
-  }
+  
+  /* 浠ヤ笅鏄唴閮ㄦ柟娉曪紝涓峞xport */
 
   const baseColumns = {
     QMS_INS_ITEM: [
@@ -290,8 +288,12 @@
         },
       },
       {
-        title: '妫�楠屾爣鍑嗙紪鐮�',
+        title: '鎶�鏈姹�',
         dataIndex: 'TECH_STD',
+      },
+      {
+        title: '妫�楠屾爣鍑嗙紪鐮�',
+        dataIndex: 'STD_CODE',
       },
       {
         title: '鏄惁蹇呮',
@@ -359,7 +361,7 @@
         title: '鏇存柊浜�',
         dataIndex: 'UPDATE_USER',
       },
-    ],
+    ] as BasicColumn[],
   };
 
   const searchForms = {
@@ -380,7 +382,7 @@
           span: 8,
         },
       },
-    ],
+    ] as FormSchema[],
   };
 
   const crudForms = {
@@ -413,7 +415,7 @@
       },
       {
         label: '妫�楠屾爣鍑�',
-        field: 'TECH_STD',
+        field: 'STD_CODE',
         component: 'ApiSelect',
         colProps: {
           span: 24,
@@ -446,6 +448,60 @@
         },
       },
       {
+        label: '鏄惁蹇呮',
+        field: 'IS_NECESSARY',
+        component: 'Select',
+        required: true,
+        colProps: {
+          span: 24,
+        },
+        componentProps: {
+          options: [
+            {
+              label: '鏄�',
+              value: 'Y',
+              key: 'Y',
+            },
+            {
+              label: '鍚�',
+              value: 'N',
+              key: 'N',
+            },
+          ],
+        },
+      },
+      {
+        label: '鏄惁鍒ゅ畾缁撴灉',
+        field: 'IS_JUDGE',
+        component: 'Select',
+        required: true,
+        colProps: {
+          span: 24,
+        },
+        componentProps: {
+          options: [
+            {
+              label: '鏄�',
+              value: 'Y',
+              key: 'Y',
+            },
+            {
+              label: '鍚�',
+              value: 'N',
+              key: 'N',
+            },
+          ],
+        },
+      },
+      {
+        label: '鎶�鏈姹�',
+        field: 'TECH_STD',
+        component: 'Input',
+        colProps: {
+          span: 24,
+        },
+      },
+      {
         label: '澶囨敞',
         field: 'REMARK',
         component: 'Input',
@@ -462,7 +518,7 @@
         },
         show: false,
       },
-    ],
+    ] as FormSchema[],
   };
 
   return [methods, ActionColumn];

--
Gitblit v1.9.3