From abbc201b41a1a25a19ccf7cff8df633dadcf5d88 Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期三, 05 三月 2025 16:52:39 +0800 Subject: [PATCH] 优化 --- src/views/tigerprojects/system/lowcode/entityts/QMS_INS_ITEM.ts | 662 ++++++++++++++++++++++++++++++++---------------------- 1 files changed, 390 insertions(+), 272 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 2b55bb4..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,18 +4,17 @@ * @version: * @Date: 2024-06-19 20:34:27 * @LastEditors: Ben Lin - * @LastEditTime: 2024-06-26 03:07:40 + * @LastEditTime: 2024-07-04 11:22:58 */ import { Ref, h, unref } from 'vue'; import { DeleteEntity, GetEnum, getEntity } from '/@/api/tigerapi/system'; -import { ActionItem, BasicColumn } 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() { @@ -27,43 +26,41 @@ fixed: undefined, }; + /** + * @description: 涓�浜涜嚜瀹氫箟鏂规硶 + * @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(璺宠浆鍒版柊鐨勯〉闈�) }; @@ -74,225 +71,26 @@ */ 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; }, /** * @description: 楂樼骇琛ㄥ崟鍜岃鎯呴〉闈㈣繑鍥炰富椤甸潰鐨剈rl * @return {*} - */ + */ GetHomeUrl: () => { const param = { ID: 'QMS_INS_STD', colSlots: [], crudColSlots: [] }; return `/QMS_INS_STD/LC/${encodeURI(JSON.stringify(param))}`; }, - GetBaseColumns: () => { - return [ - { - title: '妫�楠岄」鐩紪鐮�', - dataIndex: 'INS_CODE', - // ifShow: false, - width: 180, - }, - { - title: '妫�楠岄」鐩悕绉�', - dataIndex: 'INS_NAME', - }, - { - title: '妫�楠岀被鍒紪鐮�', - dataIndex: 'CTGY_CODE', - }, - { - title: '妫�楠屾柟寮�', - dataIndex: 'INS_MODE', - customRender: ({ record }) => { - const type = record.INS_MODE; - var text = ''; - var color = 'green'; - switch (type) { - case 0: - text = '瀹氶噺妫�娴�'; - break; - case 1: - color = 'blue'; - text = '瀹氭�ф娴�'; - break; - } - return h(Tag, { color: color }, () => text); - }, - }, - { - title: '妫�楠屾爣鍑嗙紪鐮�', - dataIndex: 'TECH_STD', - }, - { - title: '鏄惁蹇呮', - dataIndex: 'IS_NECESSARY', - customRender: ({ record }) => { - const type = record.IS_NECESSARY; - var text = ''; - var color = 'green'; - switch (type) { - case 'Y': - text = '鏄�'; - break; - case 'N': - color = 'blue'; - text = '鍚�'; - break; - } - return h(Tag, { color: color }, () => text); - }, - }, - { - title: '鏄惁鍒ゅ畾缁撴灉', - dataIndex: 'IS_JUDGE', - customRender: ({ record }) => { - const type = record.IS_JUDGE; - var text = ''; - var color = 'green'; - switch (type) { - case 'Y': - text = '鏄�'; - break; - case 'N': - color = 'blue'; - text = '鍚�'; - break; - } - return h(Tag, { color: color }, () => text); - }, - }, - { - title: '妫�楠屽伐鍏�', - dataIndex: 'INS_TOOL', - }, - { - title: '娴嬭瘯鍊煎崟浣�', - dataIndex: 'QNTV_UNIT', - }, - { - title: '娴嬭瘯娆℃暟', - dataIndex: 'QNTV_TIMES', - }, - { - title: '鍋忓樊鍊�', - dataIndex: 'QNTV_DEVIATION', - }, - { - title: '澶囨敞', - dataIndex: 'REMARK', - }, - { - title: '鏇存柊鏃堕棿', - dataIndex: 'UPDATE_TIME', - }, - { - title: '鏇存柊浜�', - dataIndex: 'UPDATE_USER', - }, - ]; + GetBaseColumns: (type: string) => { + return baseColumns[type]; }, - GetSearchForm: () => { - return [ - { - field: 'INS_CODE', - label: '妫�楠岄」鐩紪鐮�', - component: 'Input', - colProps: { - span: 8, - }, - }, - { - label: '妫�楠岄」鐩悕绉�', - field: 'INS_NAME', - component: 'Input', - colProps: { - span: 8, - }, - }, - ]; + GetSearchForm: (type: string) => { + return searchForms[type]; }, - GetCrudForm: () => { - return [ - { - field: 'INS_CODE', - label: '妫�楠岄」鐩紪鐮�', - component: 'Input', - required: true, - colProps: { - span: 24, - }, - }, - { - label: '妫�楠岄」鐩悕绉�', - field: 'INS_NAME', - component: 'Input', - required: true, - colProps: { - span: 24, - }, - }, - { - label: '妫�楠岀被鍒紪鐮�', - field: 'CTGY_CODE', - component: 'Input', - colProps: { - span: 24, - }, - }, - { - label: '妫�楠屾爣鍑�', - field: 'TECH_STD', - component: 'ApiSelect', - colProps: { - span: 24, - }, - componentProps: { - api: getEntity, - params: { entityName: 'QMS_INS_STD', sqlcmd: ' 1=1 ' }, - resultField: 'Data.Items', - labelField: 'STD_NAME', - valueField: 'STD_CODE', - }, - dynamicDisabled: ({ values }) => { - return true; - }, - }, - { - label: '妫�楠屾柟寮�', - field: 'INS_MODE', - component: 'ApiSelect', - required: true, - colProps: { - span: 24, - }, - componentProps: { - api: GetEnum, - params: { name: 'QMS_INS_ITEM+INS_MODEs' }, - resultField: 'Data', - labelField: unref(getLocale) == 'zh_CN' ? 'Desc' : 'Name', - valueField: 'Value', - }, - }, - { - label: '澶囨敞', - field: 'REMARK', - component: 'Input', - colProps: { - span: 24, - }, - }, - { - label: 'ID', - field: 'ID', - component: 'Input', - colProps: { - span: 24, - }, - show: false, - }, - ]; + GetCrudForm: (type: string) => { + return crudForms[type]; }, GetBaseForm: () => { return [ @@ -360,8 +158,78 @@ // { name: 'rotinfo', slots: ['add'], preIcons: { add: 'search|svg' }, title: '宸ヨ壓淇℃伅' }, ]; }, - OthersValues: (val: string, id: string) => { - return { TECH_STD: val }; + /** + * @description: 鑾峰彇鍙充晶杈规use鏂规硶 + * @return {*} + */ + GetUseDrawers: () => { + return [ + { + QMS_INS_ITEM: useDrawer(), + }, + ]; + }, + /** + * @description: 鑾峰彇琛ㄦ牸use鍒楄〃 + * @param {string} type + * @param {array} args + * @return {*} + */ + GetUseTables: (data: Ref<{}>, ...args) => { + return { + QMS_INS_ITEM: useTable({ + title: '鍒楄〃淇℃伅', + 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: false, + bordered: true, + canResize: true, + showIndexColumn: false, + actionColumn: { + width: 130, + title: '鎿嶄綔', + dataIndex: 'action', + slots: { customRender: 'action' }, + fixed: 'right', + }, //鑷畾涔夋搷浣滃垪 + }), + MES_SHIFT_PRD: useTable(), + }; + }, + /** + * @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: 鑾峰彇鏍囬淇℃伅 @@ -372,36 +240,286 @@ return { pageTitle: '妫�楠屾爣鍑嗙鐞�', pageContent: '杩欓噷鍙互娣诲姞鍜屼慨鏀规楠屾爣鍑嗗拰妫�楠岄」鐩��', - baseTableTitle: '妫�楠岄」鐩鐞�', + tableTitle: { + QMS_INS_ITEM: '妫�楠岄」鐩鐞�', + }, }; }, + GetUseForm: () => { + return {}; + }, + }; + + /* 浠ヤ笅鏄唴閮ㄦ柟娉曪紝涓峞xport */ + + const baseColumns = { + QMS_INS_ITEM: [ + { + title: '妫�楠岄」鐩紪鐮�', + dataIndex: 'INS_CODE', + // ifShow: false, + width: 180, + }, + { + title: '妫�楠岄」鐩悕绉�', + dataIndex: 'INS_NAME', + }, + { + title: '妫�楠岀被鍒紪鐮�', + dataIndex: 'CTGY_CODE', + }, + { + title: '妫�楠屾柟寮�', + dataIndex: 'INS_MODE', + customRender: ({ record }) => { + const type = record.INS_MODE; + var text = ''; + var color = 'green'; + switch (type) { + case 0: + text = '瀹氶噺妫�娴�'; + break; + case 1: + color = 'blue'; + text = '瀹氭�ф娴�'; + break; + } + return h(Tag, { color: color }, () => text); + }, + }, + { + title: '鎶�鏈姹�', + dataIndex: 'TECH_STD', + }, + { + title: '妫�楠屾爣鍑嗙紪鐮�', + dataIndex: 'STD_CODE', + }, + { + title: '鏄惁蹇呮', + dataIndex: 'IS_NECESSARY', + customRender: ({ record }) => { + const type = record.IS_NECESSARY; + var text = ''; + var color = 'green'; + switch (type) { + case 'Y': + text = '鏄�'; + break; + case 'N': + color = 'blue'; + text = '鍚�'; + break; + } + return h(Tag, { color: color }, () => text); + }, + }, + { + title: '鏄惁鍒ゅ畾缁撴灉', + dataIndex: 'IS_JUDGE', + customRender: ({ record }) => { + const type = record.IS_JUDGE; + var text = ''; + var color = 'green'; + switch (type) { + case 'Y': + text = '鏄�'; + break; + case 'N': + color = 'blue'; + text = '鍚�'; + break; + } + return h(Tag, { color: color }, () => text); + }, + }, + { + title: '妫�楠屽伐鍏�', + dataIndex: 'INS_TOOL', + }, + { + title: '娴嬭瘯鍊煎崟浣�', + dataIndex: 'QNTV_UNIT', + }, + { + title: '娴嬭瘯娆℃暟', + dataIndex: 'QNTV_TIMES', + }, + { + title: '鍋忓樊鍊�', + dataIndex: 'QNTV_DEVIATION', + }, + { + title: '澶囨敞', + dataIndex: 'REMARK', + }, + { + title: '鏇存柊鏃堕棿', + dataIndex: 'UPDATE_TIME', + }, + { + title: '鏇存柊浜�', + dataIndex: 'UPDATE_USER', + }, + ] as BasicColumn[], }; - /** - * @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](); - } - }); - } - } + const searchForms = { + QMS_INS_ITEM: [ + { + field: 'INS_CODE', + label: '妫�楠岄」鐩紪鐮�', + component: 'Input', + colProps: { + span: 8, + }, + }, + { + label: '妫�楠岄」鐩悕绉�', + field: 'INS_NAME', + component: 'Input', + colProps: { + span: 8, + }, + }, + ] as FormSchema[], + }; + + const crudForms = { + QMS_INS_ITEM: [ + { + field: 'INS_CODE', + label: '妫�楠岄」鐩紪鐮�', + component: 'Input', + required: true, + colProps: { + span: 24, + }, + }, + { + label: '妫�楠岄」鐩悕绉�', + field: 'INS_NAME', + component: 'Input', + required: true, + colProps: { + span: 24, + }, + }, + { + label: '妫�楠岀被鍒紪鐮�', + field: 'CTGY_CODE', + component: 'Input', + colProps: { + span: 24, + }, + }, + { + label: '妫�楠屾爣鍑�', + field: 'STD_CODE', + component: 'ApiSelect', + colProps: { + span: 24, + }, + componentProps: { + api: getEntity, + params: { entityName: 'QMS_INS_STD', sqlcmd: ' 1=1 ' }, + resultField: 'Data.Items', + labelField: 'STD_NAME', + valueField: 'STD_CODE', + }, + dynamicDisabled: ({ values }) => { + return true; + }, + }, + { + label: '妫�楠屾柟寮�', + field: 'INS_MODE', + component: 'ApiSelect', + required: true, + colProps: { + span: 24, + }, + componentProps: { + api: GetEnum, + params: { name: 'QMS_INS_ITEM+INS_MODEs' }, + resultField: 'Data', + labelField: unref(getLocale) == 'zh_CN' ? 'Desc' : 'Name', + valueField: 'Value', + }, + }, + { + 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', + colProps: { + span: 24, + }, + }, + { + label: 'ID', + field: 'ID', + component: 'Input', + colProps: { + span: 24, + }, + show: false, + }, + ] as FormSchema[], + }; return [methods, ActionColumn]; } -- Gitblit v1.9.3