From eed29804d3973801f8eac3ad9bead1e608f05b6a Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期六, 20 七月 2024 22:31:56 +0800
Subject: [PATCH] 工单及自定义弹出窗口更新

---
 src/views/tigerprojects/system/lowcode/entityts/MES_SHIFT.ts |  206 +++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 175 insertions(+), 31 deletions(-)

diff --git a/src/views/tigerprojects/system/lowcode/entityts/MES_SHIFT.ts b/src/views/tigerprojects/system/lowcode/entityts/MES_SHIFT.ts
index b091908..93073b2 100644
--- a/src/views/tigerprojects/system/lowcode/entityts/MES_SHIFT.ts
+++ b/src/views/tigerprojects/system/lowcode/entityts/MES_SHIFT.ts
@@ -4,17 +4,19 @@
  * @version:
  * @Date: 2024-06-19 20:34:27
  * @LastEditors: Ben Lin
- * @LastEditTime: 2024-07-04 10:22:39
+ * @LastEditTime: 2024-07-04 23:53:48
  */
 
 import { Ref, h, ref, unref } from 'vue';
-import { DeleteEntity, GetEnum, getEntity } from '/@/api/tigerapi/system';
+import { AddAfterDelete, DeleteEntity, GetEnum, getEntity } from '/@/api/tigerapi/system';
 import { ActionItem, BasicColumn, FormSchema, useTable } from '/@/components/Table';
 import { isNullOrEmpty, isNullOrUnDef } from '/@/utils/is';
 import { Tag } from 'ant-design-vue';
 import { useLocale } from '/@/locales/useLocale';
 import { useDrawer } from '/@/components/Drawer';
 import { EditOperation, Search } from '../data';
+import { convertTimeToDate, dateUtil, formatTime, intToTime, tsToHHmm } from '/@/utils/dateUtil';
+import { buildUUID } from '/@/utils/uuid';
 
 const { getLocale } = useLocale();
 function _default() {
@@ -182,7 +184,7 @@
           title: '鍒楄〃淇℃伅',
           dataSource: data.value['MES_SHIFT'],
           columns: baseColumns['MES_SHIFT'],
-          maxHeight: 230,
+          maxHeight: 160,
           formConfig: {
             labelWidth: 140,
             schemas: searchForms['MES_SHIFT'],
@@ -205,16 +207,16 @@
           title: '鍒楄〃淇℃伅',
           dataSource: data.value['MES_SHIFT_PRD'],
           columns: baseColumns['MES_SHIFT_PRD'],
-          maxHeight: 260,
+          maxHeight: 550,
           formConfig: {
             labelWidth: 140,
             schemas: searchForms['MES_SHIFT_PRD'],
             submitFunc: () => Search('MES_SHIFT_PRD', data, args[0]), //鑷畾涔夋煡璇㈡彁浜ゆ寜閽殑鏂规硶锛岃Е鍙戞煡璇㈡彁浜や簨浠�
           },
-          useSearchForm: true,
+          useSearchForm: false,
           showTableSetting: false,
           bordered: true,
-          canResize: true,
+          canResize: false,
           showIndexColumn: false,
           actionColumn: {
             width: 130,
@@ -257,22 +259,42 @@
      * @param {*} d
      * @param {*} u
      * @return {*}
-     */ EditOperation: (data: Ref<any[]>, d, u, item) => {
+     */
+    EditOperation: (data: Ref<any[]>, d, u, name) => {
       //鏇存柊
-      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,
-          };
+      var _data = data.value[name].map((item) => {
+        if (item['ID'] == d.ID) {
+          if (name == 'MES_SHIFT') {
+            // item.SFT_BEGIN = dateUtil(item.SFT_BEGIN);
+            // item.SFT_END = dateUtil(item.SFT_END);
+            return {
+              ...item,
+              SFT_CODE: d.SFT_CODE,
+              SFT_NAME: d.SFT_NAME,
+              SFT_BEGIN: dateUtil(d.SFT_BEGIN),
+              SFT_END: dateUtil(d.SFT_END),
+              IS_ACROSS_DAY: d.IS_ACROSS_DAY,
+              REMARK: d.REMARK,
+            };
+          }
+          if (name == 'MES_SHIFT_PRD') {
+            return {
+              ...item,
+              PRD_CODE: d.PRD_CODE,
+              PRD_NAME: d.PRD_NAME,
+              SFT_CODE: d.SFT_CODE,
+              IS_ACROSS: d.IS_ACROSS,
+              IS_REST: d.IS_REST,
+              SEQ: d.SEQ,
+              PRD_BEGIN: dateUtil(d.PRD_BEGIN),
+              PRD_END: dateUtil(d.PRD_END),
+              REMARK: d.REMARK,
+            };
+          }
+        }
         return item;
       });
-      EditOperation(data, d, u, item, _data);
+      EditOperation(data, d, u, name, _data);
     },
     /**
      * @description: 鑾峰彇鏍囬淇℃伅
@@ -288,6 +310,60 @@
           MES_SHIFT_PRD: '鏃舵绠$悊',
         },
       };
+    },
+    /**
+     * @description: 鎻愪氦鎵�鏈�
+     * @return {*}
+     */
+    SubmitAll: (data: Ref<any[]>, keyFieldValues: Ref<{}>, ...args) => {
+      const drawers = [
+        { name: 'MES_SHIFT', code: 'SFTS_CODE', type: 'one', keyName: 'MES_SHIFT', order: '' },
+        { name: 'MES_SHIFT_PRD', code: 'SFT_CODE', type: 'all', keyName: 'MES_SHIFT', order: '' },
+      ];
+      drawers.forEach((d) => {
+        let where = `${d['code']} = '${keyFieldValues.value[d['code']]}'`;
+        /* type: all-琛ㄧず闇�瑕乧ode鐨勬墍鏈夌殑鍊� */
+        if (d['type'] == 'all' && data.value[d['keyName']].length > 0) {
+          where = `${d['code']} in (${data.value[d['keyName']].map((value) => `'${value[d['code']]}'`).join(',')})`;
+        }
+        data.value[d['name']].map((item) => {
+          item.ID = buildUUID();
+          if (d['name'] == 'MES_SHIFT') {
+            item.SFT_BEGIN = tsToHHmm(item.SFT_BEGIN);
+            item.SFT_END = tsToHHmm(item.SFT_END);
+          }
+          if (d['name'] == 'MES_SHIFT_PRD') {
+            item.PRD_BEGIN = tsToHHmm(item.PRD_BEGIN);
+            item.PRD_END = tsToHHmm(item.PRD_END);
+          }
+        });
+        AddAfterDelete(d['name'], data.value[d['name']], where).then((action) => {
+          if (action.IsSuccessed) {
+            args[0]();
+          }
+        });
+      });
+    },
+    /**
+     * @description: 鍒濆鍖栨暟鎹�
+     * @param {Ref} data
+     * @param {Ref} keyFieldValues
+     * @return {*}
+     */
+    CustInitData: (data: Ref<any[]>, keyFieldValues: Ref<{}>, type: string) => {
+      data.value[type].map((item) => {
+        if (type == 'MES_SHIFT') {
+          item.SFT_BEGIN = convertTimeToDate(intToTime(item.SFT_BEGIN));
+          item.SFT_END = convertTimeToDate(intToTime(item.SFT_END));
+        }
+        if (type == 'MES_SHIFT_PRD') {
+          item.PRD_BEGIN = convertTimeToDate(intToTime(item.PRD_BEGIN));
+          item.PRD_END = convertTimeToDate(intToTime(item.PRD_END));
+        }
+      });
+    },
+    GetUseForm: () => {
+      return {};
     },
   };
 
@@ -305,7 +381,9 @@
     if (!isNullOrEmpty(params['data'])) {
       var _data = params['data'].value[name].filter((item) => item['ID'] != params['record']['ID']);
       if (name == 'MES_SHIFT') {
-        var _data2 = params['data'].value['MES_SHIFT_PRD'].filter((item) => item['SFT_CODE'] != params['record']['SFT_CODE']);
+        var _data2 = params['data'].value['MES_SHIFT_PRD'].filter(
+          (item) => item['SFT_CODE'] != params['record']['SFT_CODE'],
+        );
         params['data'].value['MES_SHIFT_PRD'] = _data2;
         useTables['MES_SHIFT_PRD'][1].setProps({
           dataSource: [],
@@ -355,10 +433,16 @@
       {
         title: '鐝寮�濮嬫椂闂�',
         dataIndex: 'SFT_BEGIN',
+        customRender: ({ record }) => {
+          return formatTime(new Date(record.SFT_BEGIN));
+        },
       },
       {
         title: '鐝缁撴潫鏃堕棿',
         dataIndex: 'SFT_END',
+        customRender: ({ record }) => {
+          return formatTime(new Date(record.SFT_END));
+        },
       },
       {
         title: '鏄惁璺ㄥぉ',
@@ -410,10 +494,16 @@
       {
         title: '鏃舵寮�濮嬫椂闂�',
         dataIndex: 'PRD_BEGIN',
+        customRender: ({ record }) => {
+          return formatTime(new Date(record.PRD_BEGIN));
+        },
       },
       {
         title: '鏃舵缁撴潫鏃堕棿',
         dataIndex: 'PRD_END',
+        customRender: ({ record }) => {
+          return formatTime(new Date(record.PRD_END));
+        },
       },
       {
         title: '鏄惁璺ㄥぉ',
@@ -539,6 +629,7 @@
         label: '鐝埗缂栫爜',
         field: 'SFTS_CODE',
         component: 'ApiSelect',
+        required: true,
         colProps: {
           span: 24,
         },
@@ -553,21 +644,55 @@
           return true;
         },
       },
+      // {
+      //   label: '鐝鏃堕棿鑼冨洿',
+      //   field: '[SFT_BEGIN, SFT_END]',
+      //   component: 'TimeRangePicker',
+      //   colProps: {
+      //     span: 24,
+      //   },
+      //   componentProps: ({ formModel }) => {
+      //     return {
+      //       format: 'HH:mm',
+      //       placeholder: ['寮�濮嬫椂闂�', '缁撴潫鏃堕棿'],
+      //       onChange: (e) => {
+      //         const timeRange: any = e;
+      //         console.log(e);
+      //         // if (timeRange) {
+      //         //   formModel.SFT_BEGIN = Number(`${tsToHHmm(timeRange[0].$d)}`);
+      //         //   formModel.SFT_END = Number(`${tsToHHmm(timeRange[1].$d)}`);
+      //         // }
+      //       },
+      //     };
+      //   },
+      // },
       {
         label: '鐝寮�濮嬫椂闂�',
         field: 'SFT_BEGIN',
-        component: 'Input',
+        component: 'TimePicker',
         colProps: {
-          span: 24,
+          span: 12,
         },
+        componentProps: ({ formModel }) => {
+          return {
+            format: 'HH:mm',
+          };
+        },
+        // show: false,
       },
       {
-        label: '鐝缁撴潫鏃堕棿',
+        label: '缁撴潫鏃堕棿',
         field: 'SFT_END',
-        component: 'Input',
+        component: 'TimePicker',
         colProps: {
-          span: 24,
+          span: 12,
         },
+        componentProps: ({ formModel }) => {
+          return {
+            format: 'HH:mm',
+          };
+        },
+        // show: false,
       },
       {
         label: '鏄惁璺ㄥぉ',
@@ -617,7 +742,7 @@
         },
         show: false,
       },
-    ],
+    ] as FormSchema[],
     MES_SHIFT_PRD: [
       {
         field: 'PRD_CODE',
@@ -641,6 +766,7 @@
         label: '鐝缂栫爜',
         field: 'SFT_CODE',
         component: 'Select',
+        required: true,
         colProps: {
           span: 24,
         },
@@ -660,15 +786,33 @@
       {
         label: '鏃舵寮�濮嬫椂闂�',
         field: 'PRD_BEGIN',
-        component: 'Input',
+        component: 'TimePicker',
         colProps: {
-          span: 24,
+          span: 12,
+        },
+        componentProps: ({ formModel }) => {
+          return {
+            format: 'HH:mm',
+          };
         },
       },
       {
-        label: '鏃舵缁撴潫鏃堕棿',
+        label: '缁撴潫鏃堕棿',
         field: 'PRD_END',
-        component: 'Input',
+        component: 'TimePicker',
+        colProps: {
+          span: 12,
+        },
+        componentProps: ({ formModel }) => {
+          return {
+            format: 'HH:mm',
+          };
+        },
+      },
+      {
+        label: '鏃舵鎺掑簭',
+        field: 'SEQ',
+        component: 'InputNumber',
         colProps: {
           span: 24,
         },
@@ -736,7 +880,7 @@
         },
         show: false,
       },
-    ],
+    ] as FormSchema[],
   };
 
   return [methods, ActionColumn];

--
Gitblit v1.9.3