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