From 25f128f26f0330b5431e5513c16ea035ce46099a Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期日, 21 七月 2024 21:00:41 +0800
Subject: [PATCH] 工单更新

---
 src/views/tigerprojects/system/lowcode/entityts/BAS_PKG_DTL.ts |  155 +++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 111 insertions(+), 44 deletions(-)

diff --git a/src/views/tigerprojects/system/lowcode/entityts/BAS_PKG_DTL.ts b/src/views/tigerprojects/system/lowcode/entityts/BAS_PKG_DTL.ts
index c52f115..457ad5e 100644
--- a/src/views/tigerprojects/system/lowcode/entityts/BAS_PKG_DTL.ts
+++ b/src/views/tigerprojects/system/lowcode/entityts/BAS_PKG_DTL.ts
@@ -4,18 +4,15 @@
  * @version:
  * @Date: 2024-06-19 20:34:27
  * @LastEditors: Ben Lin
- * @LastEditTime: 2024-07-02 19:59:52
+ * @LastEditTime: 2024-07-06 23:15:08
  */
 
-import { Ref } from 'vue';
+import { Ref, ref } from 'vue';
 import { DeleteEntity, getEntity } from '/@/api/tigerapi/system';
 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 { useDrawer } from '/@/components/Drawer';
-import { EditOperation, Search } from '../data';
+import { EditOperation, Search, custDel } from '../data';
 
 function _default(): any[] {
   const ActionColumn: BasicColumn = {
@@ -26,6 +23,8 @@
     fixed: undefined,
   };
 
+  let _data = ref<any>({});
+  let record = {};
   /**
    * @description: 涓�浜涜嚜瀹氫箟鏂规硶
    * @return {*}
@@ -47,7 +46,7 @@
     ActionItem: (params: Recordable<any>, data, ...args): ActionItem[] => {
       /* 閲嶅啓鍒犻櫎鏂规硶 */
       if (!isNullOrUnDef(data[1])) {
-        data[1].popConfirm.confirm = custDel.bind(null, args, params);
+        data[1].popConfirm.confirm = Del.bind(null, args, params);
       }
       return data;
     },
@@ -65,6 +64,7 @@
           return {
             ...item,
             PKG_CODE: d.PKG_CODE,
+            PKG_NAME: d.PKG_NAME,
             PKG_LEVEL: d.PKG_LEVEL,
             PKG_QTY: d.PKG_QTY,
             LABEL_CODE: d.LABEL_CODE,
@@ -72,7 +72,7 @@
           };
         return item;
       });
-      EditOperation(data,d, u, item, _data);
+      EditOperation(data, d, u, item, _data);
     },
     /**
      * @description: 楂樼骇琛ㄥ崟鍜岃鎯呴〉闈㈣繑鍥炰富椤甸潰鐨剈rl
@@ -99,7 +99,9 @@
      * @description: 楂樼骇琛ㄥ崟澧炲垹鏀硅〃鍗曞瓧娈�
      * @return {*}
      */
-    GetCrudForm: (type: string) => {
+    GetCrudForm: (type: string, ...args) => {
+      _data = args[0];
+      record = args[1];
       return crudForms[type];
     },
     KeyFieldValues: (val: string, id: string) => {
@@ -215,7 +217,7 @@
             submitFunc: () => Search('BAS_PKG_DTL', data, args[0]), //鑷畾涔夋煡璇㈡彁浜ゆ寜閽殑鏂规硶锛岃Е鍙戞煡璇㈡彁浜や簨浠�
           },
           useSearchForm: true,
-          showTableSetting: true,
+          showTableSetting: false,
           bordered: true,
           canResize: true,
           showIndexColumn: false,
@@ -260,6 +262,9 @@
         },
       };
     },
+    GetUseForm: () => {
+      return {};
+    },
   };
 
   /* 浠ヤ笅鏄唴閮ㄦ柟娉曪紝涓峞xport锛屼緵涓婇潰鐨勬柟娉曡皟鐢� */
@@ -270,21 +275,32 @@
    * @param {*} params
    * @return {*}
    */
-  function custDel(args: Fn[], params: {}) {
+  function Del(args: Fn[], params: {}) {
+    const name = params['name'];
+    const useTables = args[1];
     if (!isNullOrEmpty(params['data'])) {
-      var _data = params['data'].value.filter((item) => item['ID'] != params['record']['ID']);
-      params['data'].value = _data;
-      args[6]({
+      var _data = params['data'].value[name]
+        .filter((x) => x['ID'] != params['record']['ID']) //杩囨护鎺夊垹闄ゆ帀鐨勮褰�
+        .map((item) => {
+          //濡傛灉搴忓彿澶т簬鍒犻櫎鎺夌殑璁板綍鐨勫簭鍙风殑锛屽垯搴忓彿鍑�1
+          item['PKG_LEVEL'] =
+            item['PKG_LEVEL'] > params['record']['PKG_LEVEL']
+              ? item['PKG_LEVEL'] - 1
+              : item['PKG_LEVEL'];
+          return item;
+        });
+      params['data'].value[name] = _data;
+      useTables[name][1].setProps({
         dataSource: [],
       });
-      args[6]({
-        dataSource: params['data'],
+      useTables[name][1].setProps({
+        dataSource: params['data'].value[name],
       });
-      args[1]();
+      useTables[name][1].reload();
     } else {
       DeleteEntity(params['record'], params['entityName']).then((action) => {
         if (action.IsSuccessed) {
-          args[1]();
+          useTables[name][1].reload();
         }
       });
     }
@@ -308,8 +324,22 @@
       {
         title: '鍖呰/杞藉叿缂栫爜',
         dataIndex: 'PKG_CODE',
-        // ifShow: false,
+        ifShow: false,
         width: 180,
+      },
+      {
+        title: '鍖呰/杞藉叿鍚嶇О',
+        dataIndex: 'PKG_NAME',
+        ifShow: false,
+        width: 180,
+      },
+      {
+        title: '鍖呰/杞藉叿',
+        dataIndex: 'PKG_FULL',
+        width: 180,
+        customRender: ({ record }) => {
+          return `${record.PKG_CODE} - ${record.PKG_NAME}`;
+        },
       },
       {
         title: '鍖呰灞傜骇',
@@ -342,31 +372,6 @@
   const crudForms = {
     BAS_PKG_DTL: [
       {
-        field: 'PKG_CODE',
-        label: '鍖呰/杞藉叿缂栫爜',
-        component: 'ApiSelect',
-        required: true,
-        colProps: {
-          span: 24,
-        },
-        componentProps: {
-          api: getEntity,
-          params: { entityName: 'BAS_PKG_TYPE', sqlcmd: ' 1=1 ' },
-          resultField: 'Data.Items',
-          labelField: 'PKG_NAME',
-          valueField: 'PKG_CODE',
-        },
-      },
-      {
-        label: '鍖呰灞傜骇',
-        field: 'PKG_LEVEL',
-        component: 'Input',
-        required: true,
-        colProps: {
-          span: 24,
-        },
-      },
-      {
         label: '鍖呰瑙勫垯ID',
         field: 'PKG_RULE_ID',
         component: 'Input',
@@ -378,6 +383,59 @@
         },
       },
       {
+        label: '鍖呰灞傜骇',
+        field: 'PKG_LEVEL',
+        component: 'Input',
+        required: true,
+        colProps: {
+          span: 24,
+        },
+        componentProps: ({ formModel }) => {
+          formModel.PKG_LEVEL =
+            _data['BAS_PKG_DTL'].reduce((max, item) => {
+              return max < Number(item.PKG_LEVEL) ? Number(item.PKG_LEVEL) : max;
+            }, 0) + 1;
+          return {
+            onChange: (e) => {},
+          };
+        },
+        dynamicDisabled: ({ values }) => {
+          return true;
+        },
+      },
+      {
+        field: 'PKG_CODE',
+        label: '鍖呰/杞藉叿缂栫爜',
+        component: 'ApiSelect',
+        required: true,
+        colProps: {
+          span: 24,
+        },
+        componentProps: ({ formModel }) => {
+          let sqlcmd = ' 1=1 ';
+          if (!isNullOrEmpty(record) && record['PKG_LEVEL'] == 1) {
+            sqlcmd += ` And IS_MIN_PKG = 'Y'`;
+          } else {
+            if (formModel.PKG_LEVEL == 1) {
+              sqlcmd += ` And IS_MIN_PKG = 'Y'`;
+            } else {
+              sqlcmd += ` And IS_MIN_PKG != 'Y'`;
+            }
+          }
+          return {
+            api: getEntity,
+            params: { entityName: 'BAS_PKG_TYPE', sqlcmd: sqlcmd },
+            resultField: 'Data.Items',
+            labelField: 'PKG_NAME',
+            valueField: 'PKG_CODE',
+            onChange: (e, v) => {
+              console.log('ApiSelect====>:', e, v);
+              formModel.PKG_NAME = isNullOrUnDef(v) ? formModel.PKG_NAME : v.label;
+            },
+          };
+        },
+      },
+      {
         label: '鍖呰鏁伴噺',
         field: 'PKG_QTY',
         component: 'Input',
@@ -386,6 +444,15 @@
         },
       },
       {
+        label: '鍖呰鍚嶇О',
+        field: 'PKG_NAME',
+        component: 'Input',
+        colProps: {
+          span: 24,
+        },
+        show: false,
+      },
+      {
         label: '澶囨敞',
         field: 'REMARK',
         component: 'Input',

--
Gitblit v1.9.3