From 21a4e09672b1177d40c2bb5b937a8780c5eaa7fb Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期六, 08 三月 2025 15:03:34 +0800 Subject: [PATCH] 一些更新 --- src/views/tigerprojects/system/lowcode/entityts/BAS_LABEL_VAR.ts | 844 +++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 683 insertions(+), 161 deletions(-) diff --git a/src/views/tigerprojects/system/lowcode/entityts/BAS_LABEL_VAR.ts b/src/views/tigerprojects/system/lowcode/entityts/BAS_LABEL_VAR.ts index c3d087d..5d78e2f 100644 --- a/src/views/tigerprojects/system/lowcode/entityts/BAS_LABEL_VAR.ts +++ b/src/views/tigerprojects/system/lowcode/entityts/BAS_LABEL_VAR.ts @@ -4,24 +4,34 @@ * @version: * @Date: 2024-06-19 20:34:27 * @LastEditors: Ben Lin - * @LastEditTime: 2024-07-27 13:22:30 + * @LastEditTime: 2024-10-22 11:40:44 */ import { Tag, Tooltip } from 'ant-design-vue'; import { ActionItem, BasicColumn, FormSchema, useTable } from '/@/components/Table'; import { useI18n } from '/@/hooks/web/useI18n'; -import { h, Ref, unref } from 'vue'; +import { h, ref, Ref, unref } from 'vue'; import { AddAfterDelete, getEntity, GetEnum } from '/@/api/tigerapi/system'; import { useLocale } from '/@/locales/useLocale'; import { useDrawer } from '/@/components/Drawer'; -import { formatTime } from '/@/utils/dateUtil'; -import { Search } from '../data'; +import { custDel, EditOperation, Search } from '../data'; import { buildUUID } from '/@/utils/uuid'; +import { CustModalParams, FunctionType } from '/@/api/tigerapi/model/systemModel'; +import { useModal } from '/@/components/Modal'; +import { SaveLabelTemplate } from '/@/api/tigerapi/mes/label'; +import { + BAS_LABEL_TEMP, + BAS_LABEL_VAR, + BAS_LABEL_VAR_WO, + BasLabelTempInput, +} from '/@/api/tigerapi/model/mesModel'; +import { useUserStore } from '/@/store/modules/user'; +import { cloneDeep } from 'lodash-es'; const { getLocale } = useLocale(); const { t } = useI18n(); - +let newRow = {}; function _default() { const ActionColumn: BasicColumn = { width: 80, @@ -40,39 +50,54 @@ * @description: 鑾峰彇鏂板鎸夐挳鐨勮涓猴紝蹇呴渶瑕佹湁鐨勬柟娉� * @return {*} */ - CreateAction: (fnName: string) => { - return { - action: 'drawer', //drawer(鎵撳紑宸︿晶鎶藉眽妗�) | go(璺宠浆鍒版柊鐨勯〉闈�) - }; + CreateAction: (type: string) => { + let action = {} as any; + switch (type) { + case 'BAS_LABEL_VAR': + case 'BAS_LABEL_VAR_WO': + action = { + action: 'edit', //drawer(鎵撳紑宸︿晶鎶藉眽妗�) | go(璺宠浆鍒版柊鐨勯〉闈�) | edit(濡傛灉鏄〃鏍煎彲缂栬緫椤甸潰灏辨槸鑷畾涔夋柟娉�) + }; + break; + } + return action; }, /** - * @description: 浜у搧缁戝畾宸ヨ壓璺嚎鎿嶄綔瀛楁鑷畾涔夋寜閽紝蹇呴渶瑕佹湁鐨勬柟娉� + * @description: 鎿嶄綔瀛楁鑷畾涔夋寜閽紝蹇呴渶瑕佹湁鐨勬柟娉� * @return {*} */ ActionItem: (params: Recordable<any>, data, ...args): ActionItem[] => { + data.map((x) => { + if (x.name == 'Delete') { + x.popConfirm.confirm = custDel.bind(null, args, params); + x.tooltip = '鍒犻櫎'; + } + }); return data; }, /** * @description: 楂樼骇琛ㄥ崟鍜岃鎯呴〉闈㈣繑鍥炰富椤甸潰鐨剈rl * @return {*} */ - GetHomeUrl: () => { - return `/BAS_LABEL_TEMP/LC/${encodeURI(JSON.stringify({ ID: 'BAS_LABEL_TEMP', colSlots: [], crudColSlots: [] }))}`; + GetHomeUrl: (params: {}) => { + return `/BAS_LABEL_TEMP/LC/${encodeURI(JSON.stringify({ ID: 'BAS_LABEL_TEMP',EntityName: 'BAS_LABEL_TEMP', colSlots: params['colSlots'], crudColSlots: [] }))}`; }, /** * @description: 鑾峰彇涓讳俊鎭� * @return {*} */ - GetBaseForm: () => { + GetBaseForm: (type, ...args) => { return [ { field: 'LABEL_CODE', label: '鏍囩妯℃澘缂栫爜', component: 'Input', required: true, + isexist: 'Y', colProps: { span: 8, }, + dynamicDisabled: true, }, { label: '鏍囩妯℃澘鍚嶇О', @@ -99,20 +124,93 @@ valueField: 'Value', }, }, + // { + // field: 'TEMP_PATH', + // label: '鏍囩妯℃澘鐩稿璺緞', + // component: 'Upload', + // isexist: 'N', + // show: true, + // required: true, + // colProps: { + // span: 8, + // }, + // componentProps: ({ formModel }) => { + // return { + // resultField: 'data3.url', + // multiple: false, + // uploadParams: { entityName: type }, + // api: (file, progress) => { + // console.log(formModel); + // return new Promise((resolve) => { + // uploadApi(file, progress).then((uploadApiResponse) => { + // const webSocketStore = useWebSocketStore(); + // if (webSocketStore.GetSocketState == 1) { + // webSocketStore.sendMessage( + // `wsSubStrings ${formModel['ID']}_#_${uploadApiResponse.data.url}`, + // ); + // } + // resolve({ + // code: 200, + // data3: { + // url: uploadApiResponse.data.url, + // }, + // }); + // }); + // }); + // }, + // }; + // }, + // }, { - field: 'TEMP_PATH', - label: '鏍囩妯℃澘鐩稿璺緞', - component: 'Upload', + field: 'PROD_CODE', + label: '浜у搧缂栫爜', + component: 'Input', isexist: 'N', show: true, - required: true, + // required: true, + colProps: { + span: 7, + }, + }, + { + field: 'BAS_LABEL_VAR1PSelect_0', //鎸変綆浠g爜閰嶇疆鐨勮鍒欙紝瀹炰綋鍚�+搴忓彿+PSelect_0锛屽簭鍙风敤鏉ュ尯鍒嗗涓殑鏃跺�欙紝PSelect_0杩欐槸涓浐瀹氬悗缂� + label: '1', + defaultValue: 'BAS_LABEL_VAR', + component: 'Input', + colProps: { span: 1 }, + colSlot: 'BAS_LABEL_VAR1add', //鎸変綆浠g爜閰嶇疆鐨勮鍒欙紝瀹炰綋鍚�+搴忓彿+add锛屽簭鍙风敤鏉ュ尯鍒嗗涓殑鏃跺�欙紝add杩欐槸涓浐瀹氬悗缂� + }, + { + field: 'CUST_CODE', + label: '瀹㈡埛缂栫爜', + component: 'Input', + isexist: 'N', + show: true, + // required: true, + colProps: { + span: 7, + }, + }, + { + field: 'BAS_LABEL_VAR2PSelect_0', //鎸変綆浠g爜閰嶇疆鐨勮鍒欙紝瀹炰綋鍚�+搴忓彿+PSelect_0锛屽簭鍙风敤鏉ュ尯鍒嗗涓殑鏃跺�欙紝PSelect_0杩欐槸涓浐瀹氬悗缂� + label: '1', + defaultValue: 'BAS_CUSTOMER', + component: 'Input', + colProps: { span: 1 }, + colSlot: 'BAS_LABEL_VAR2add', //鎸変綆浠g爜閰嶇疆鐨勮鍒欙紝瀹炰綋鍚�+搴忓彿+add锛屽簭鍙风敤鏉ュ尯鍒嗗涓殑鏃跺�欙紝add杩欐槸涓浐瀹氬悗缂� + }, + { + label: '澶囨敞', + field: 'REMARK', + component: 'Input', colProps: { span: 8, }, }, { - label: '澶囨敞', - field: 'REMARK', + label: '鏍囩妯℃澘鐩稿璺緞', + field: 'TEMP_PATH', + required: true, component: 'Input', colProps: { span: 16, @@ -129,8 +227,26 @@ }, ]; }, - GetBaseColumns: () => { - return []; + /** + * @description: 寮瑰嚭閫夋嫨妗嗘垚鍔熻繑鍥炶祴鍊兼柟娉� + * @param {*} d + * @param {*} u + * @return {*} + */ + GetSelectSuccess: (d, u) => { + return { + PROD_CODE: d.values['val'], + }; + }, + /** + * @description: 鑾峰彇妯℃�佹搴旂敤鍒楄〃 + * @return {*} + */ + GetUseModals: () => { + return { + BAS_LABEL_VAR1add: useModal(), + BAS_LABEL_VAR2add: useModal(), + }; }, GetSearchForm: () => { return [ @@ -223,6 +339,29 @@ }, ]; }, + /** + * @description: 鑾峰彇鏂板琛岀殑鏁版嵁 + * @param {string} type + * @return {*} + */ + GetNewRow: (type: string) => { + let values = {}; + switch (type) { + case 'BAS_LABEL_VAR': + values = { + VAR_NAME: '', + VAR_TYPE: '', + VAR_VALUE: '', + BARCODE_RULE: '', + REMARK: '', + }; + break; + case 'BAS_LABEL_VAR_WO': + values = newRow; + break; + } + return values; + }, KeyFieldValues: (val: string, id: string) => { return { LABEL_ID: id }; }, @@ -240,7 +379,7 @@ pageContent: '杩欓噷鍙互娣诲姞鍜屼慨鏀规ā鏉垮拰妯℃澘鍙橀噺鍙婂伐鍗曟ā鏉垮彉閲忋��', tableTitle: { BAS_LABEL_VAR: '妯℃澘鍙橀噺绠$悊', - MES_SHIFT_PRD: '鏃舵绠$悊', + BAS_LABEL_VAR_WO: '宸ュ崟妯℃澘鍙橀噺绠$悊', }, }; }, @@ -251,7 +390,7 @@ GetBaseCards: (type: string) => { return [ { - name: 'BaseForm', + name: 'BaseForm', //绗竴涓崱鐗囧悕绉板繀闇�鏄疊aseForm slots: [], preIcons: {}, title: '妯℃澘淇℃伅', @@ -268,27 +407,109 @@ { BAS_LABEL_VAR: useDrawer(), }, - // { MES_SHIFT_PRD: useDrawer() }, + // { BAS_LABEL_VAR_WO: useDrawer() }, ]; - } /** + }, + /** * @description: 鑾峰彇琛ㄦ牸use鍒楄〃 * @param {string} type * @param {array} args * @return {*} - */, + */ GetUseTables: (data: Ref<{}>, ...args) => { // _data = data; return { BAS_LABEL_VAR: useTable({ title: '鍒楄〃淇℃伅', dataSource: data.value['BAS_LABEL_VAR'], - columns: baseColumns['BAS_LABEL_VAR'], - maxHeight: 560, + columns: GetBaseColumns('BAS_LABEL_VAR', args[0], data), + maxHeight: 520, formConfig: { labelWidth: 140, schemas: searchForms['BAS_LABEL_VAR'], submitFunc: () => Search('BAS_LABEL_VAR', data, args[0]), //鑷畾涔夋煡璇㈡彁浜ゆ寜閽殑鏂规硶锛岃Е鍙戞煡璇㈡彁浜や簨浠� }, + useSearchForm: false, + showTableSetting: false, + bordered: true, + canResize: true, + showIndexColumn: false, + // rowSelection: { + // type: 'radio', //'checkbox' + // }, + actionColumn: { + width: 130, + title: '鎿嶄綔', + dataIndex: 'action', + slots: { customRender: 'action' }, + fixed: 'right', + }, //鑷畾涔夋搷浣滃垪 + }), + BAS_LABEL_VAR_WO: useTable({ + title: '鍒楄〃淇℃伅', + dataSource: data.value['BAS_LABEL_VAR_WO'], + columns: GetBaseColumns('BAS_LABEL_VAR_WO', args[0], data), + scroll: { y: 500 }, + formConfig: { + labelWidth: 140, + schemas: searchForms['BAS_LABEL_VAR_WO'], + submitFunc: () => Search('BAS_LABEL_VAR_WO', data, args[0]), //鑷畾涔夋煡璇㈡彁浜ゆ寜閽殑鏂规硶锛岃Е鍙戞煡璇㈡彁浜や簨浠� + }, + useSearchForm: false, + showTableSetting: false, + bordered: true, + canResize: false, + showIndexColumn: false, + actionColumn: { + width: 130, + title: '鎿嶄綔', + dataIndex: 'action', + slots: { customRender: 'action' }, + fixed: 'right', + }, //鑷畾涔夋搷浣滃垪 + }), + }; + }, + /** + * @description: 鑷畾涔夊垵濮嬪寲鏂规硶 + * @param {Ref} data + * @param {Ref} keyFieldValues + * @param {string} type + * @param {any} useTables + * @return {*} + */ + CustInitData: (data: Ref<any[]>, keyFieldValues: Ref<{}>, type: string, useTables: any) => { + if (type == 'BAS_LABEL_VAR_WO') { + if (data.value['BAS_LABEL_VAR_WO'].length > 0) { + /* 鍒濆鍖栨暟鎹紝琛岃浆鍒� */ + let varwos: any[] = []; + const map = new Map<string, any>(); + data.value['BAS_LABEL_VAR_WO'].map((curr) => { + if (!map.has(curr.WORK_ORDER)) { + const newObj = {}; + newObj['WORK_ORDER'] = curr.WORK_ORDER; + map.set(curr.WORK_ORDER, newObj); + } + const acc = map.get(curr.WORK_ORDER); + Object.keys(curr).forEach((key) => { + if (key != 'VAR_NAME' && key != 'VAR_VALUE') { + acc[key] = curr[key]; + } else if (key == 'VAR_NAME') { + acc[`DEFAULT_VALUE_${curr.VAR_NAME}`] = curr.DEFAULT_VALUE; + acc[`VAR_N_${curr.VAR_NAME}`] = curr.VAR_VALUE; + } + }); + // varwos.push(acc); + }); + map.forEach((x) => { + varwos.push(x); + }); + data.value['BAS_LABEL_VAR_WO'] = varwos; + } + useTables[type][1].setProps({ + dataSource: data.value['BAS_LABEL_VAR_WO'], + columns: GetBaseColumns('BAS_LABEL_VAR_WO', null, data), + scroll: { y: 500 }, useSearchForm: false, showTableSetting: false, bordered: true, @@ -300,42 +521,44 @@ dataIndex: 'action', slots: { customRender: 'action' }, fixed: 'right', - }, //鑷畾涔夋搷浣滃垪 - }), - // MES_SHIFT_PRD: useTable({ - // title: '鍒楄〃淇℃伅', - // dataSource: data.value['MES_SHIFT_PRD'], - // columns: baseColumns['MES_SHIFT_PRD'], - // maxHeight: 550, - // formConfig: { - // labelWidth: 140, - // schemas: searchForms['MES_SHIFT_PRD'], - // submitFunc: () => Search('MES_SHIFT_PRD', data, args[0]), //鑷畾涔夋煡璇㈡彁浜ゆ寜閽殑鏂规硶锛岃Е鍙戞煡璇㈡彁浜や簨浠� - // }, - // useSearchForm: false, - // showTableSetting: false, - // bordered: true, - // canResize: false, - // showIndexColumn: false, - // actionColumn: { - // width: 130, - // title: '鎿嶄綔', - // dataIndex: 'action', - // slots: { customRender: 'action' }, - // fixed: 'right', - // }, //鑷畾涔夋搷浣滃垪 - // }), - }; + }, + }); + useTables[type][1].reload(); + } }, /** * @description: 鎻愪氦鎵�鏈� * @return {*} */ SubmitAll: (data: Ref<any[]>, keyFieldValues: Ref<{}>, ...args) => { - const drawers = [ - { name: 'BAS_LABEL_VAR', code: 'LABEL_ID', type: 'one', keyName: 'BAS_LABEL_VAR', order: 'VAR_NAME' }, - // { name: 'MES_SHIFT_PRD', code: 'SFT_CODE', type: 'all', keyName: 'MES_SHIFT', order: '' }, - ]; + const cancel = args[0]; + const drawers = args[1]; + const label = args[2]['BaseForm']; + // const input: BasLabelTempInput ={ + // Label: undefined, + // LabelVar: undefined, + // LabelVarWo: undefined + // }; + const input: BasLabelTempInput = { + Label: { + ID: buildUUID(), + CREATE_USER: useUserStore().getUserInfo.userId as string, + UPDATE_USER: useUserStore().getUserInfo.userId as string, + GHOST_ROW: false, + AUTH_ORG: useUserStore().getUserInfo.orgCode, + AUTH_PROD: useUserStore().getUserInfo.prodCode, + AUTH_WH: '', + LABEL_CODE: label.LABEL_CODE, + LABEL_NAME: label.LABEL_NAME, + TEMP_TYPE: label.TEMP_TYPE, + TEMP_PATH: label.TEMP_PATH, + CUST_CODE: label.CUST_CODE, + PROD_CODE: label.PROD_CODE, + REMARK: '', + } as unknown as BAS_LABEL_TEMP, + LabelVars: [] as unknown as BAS_LABEL_VAR[], + LabelVarWos: [] as unknown as BAS_LABEL_VAR_WO[], + }; drawers.forEach((d) => { let where = `${d['code']} = '${keyFieldValues.value[d['code']]}'`; /* type: all-琛ㄧず闇�瑕乧ode鐨勬墍鏈夌殑鍊� */ @@ -344,32 +567,196 @@ } 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](); - } - }); + if (d.name == 'BAS_LABEL_VAR') { + input.LabelVars = data.value[d['name']]; + } + if (d.name == 'BAS_LABEL_VAR_WO') { + let varwos: any[] = []; + data.value[d['name']].map((curr) => { + const vKeys: any[] = []; + Object.keys(curr).forEach((key) => { + if (key.startsWith('VAR_N_')) { + vKeys.push(key); + } + // if (key.startsWith('VAR_N_')) { + // acc['VAR_NAME'] = key.replace('VAR_N_', ''); + // acc['VAR_VALUE'] = curr[key]; + // } else if (key.startsWith('DEFAULT_VALUE_')) { + // acc['DEFAULT_VALUE'] = curr[key]; acc[key] = curr[key]; + // } + }); + vKeys.forEach((k) => { + let acc = {}; + Object.keys(curr).forEach((key) => { + if (key == k) { + acc['VAR_NAME'] = key.replace('VAR_N_', ''); + acc['VAR_VALUE'] = curr[key]; + } else if (key == `DEFAULT_VALUE_${k.replace('VAR_N_', '')}`) { + acc['DEFAULT_VALUE'] = curr[key]; + } else if ( + !key.startsWith('VAR_N_') && + !key.startsWith('DEFAULT_VALUE_') && + key != 'DEFAULT_VALUE' + ) { + acc[key] = curr[key]; + } + }); + acc['ID'] = buildUUID(); + varwos.push(acc); + }); + }); + input.LabelVarWos = varwos; + } }); + SaveLabelTemplate(input).then((action) => { + if (action.IsSuccessed) { + cancel(); + } + }); + }, + /** + * @description: 鑷畾涔夋柟娉� + * @param {string} type + * @param {array} args + * @return {*} + */ + CustFunc: (param: CustModalParams) => { + switch (param.cType) { + case 'BAS_LABEL_VAR': + case 'BAS_LABEL_VAR_WO': + return getFns[param.FnName](param) as Promise<any>; + // break; + default: + return new Promise((resolve, reject) => { + try { + (e) => {}; + resolve(true); + } catch { + reject(false); + } finally { + // args[0][0]({ confirmLoading: false }); + } + }); + // break; + } + }, + /** + * @description: 缂栬緫鍗曞厓鏍煎畬鎴愬悗鑷畾涔夋柟娉� + * @param {Recordable} param1 + * @param {*} type + * @param {any} useTables + * @return {*} + */ + CustEditEnd: ({ record, index, key, value }: Recordable, type, ...args) => { + console.log(key, value); + const useTables = args[0]; + const data = args[1]; + let varWodata: any[] = []; + if ( + (record['VAR_TYPE'] == 1 && record['VAR_VALUE'] != 'PV-WorkOrder-Plan') || + record['VAR_TYPE'] != 1 + ) { + data.value['BAS_LABEL_VAR_WO'].forEach((x) => { + let acc: any = {}; + Object.keys(x).map((key) => { + if (key != `VAR_N_${record['VAR_NAME']}`) { + acc[key] = x[key]; + } + }); + varWodata.push(acc); + }); + data.value['BAS_LABEL_VAR_WO'] = varWodata; + } else { + varWodata = data.value['BAS_LABEL_VAR_WO']; + } + switch (type) { + case 'BAS_LABEL_VAR': + useTables['BAS_LABEL_VAR_WO'][1].setProps({ + dataSource: varWodata, + columns: GetBaseColumns('BAS_LABEL_VAR_WO', null, data), + scroll: { y: 500 }, + useSearchForm: false, + showTableSetting: false, + bordered: true, + canResize: true, + showIndexColumn: false, + actionColumn: { + width: 130, + title: '鎿嶄綔', + dataIndex: 'action', + slots: { customRender: 'action' }, + fixed: 'right', + }, + }); + useTables['BAS_LABEL_VAR_WO'][1].reload(); + break; + default: + break; + } }, }; /* 浠ヤ笅鏄唴閮ㄦ柟娉曪紝涓峞xport */ /** - * @description: 琛ㄦ牸鍩烘湰瀛楁 + * @description: 鑷畾涔夋柟娉� * @return {*} */ - const baseColumns = { - BAS_LABEL_VAR: [ + const getFns: Record<string, FunctionType> = { + /** + * @description: 鏂板琛屾柟娉� + * @param {*} e + * @param {array} args + * @return {*} + */ + AddRow: (param: CustModalParams) => { + return new Promise((resolve, reject) => { + try { + console.log('AddRow'); + EditOperation( + param.data, + { ...param.values, ...param.others }, + { isUpdate: false }, + param.cType, + {}, + ); + } catch { + reject(false); + } + }); + }, + /** + * @desc 淇濆瓨鏂规硶 + */ + SaveRow: (param: CustModalParams) => { + return new Promise((resolve, reject) => { + try { + param.data.value[param.cType] = param.data.value[param.cType].map((d) => { + if (d.ID == param.values['ID']) { + d.VAR_NAME = param.values['VAR_NAME']; + d.VAR_TYPE = param.values['VAR_TYPE']; + d.VAR_VALUE = param.values['VAR_VALUE']; + d.BARCODE_RULE = param.values['BARCODE_RULE']; + d.REMARK = param.values['REMARK']; + } + return d; + }); + } catch { + reject(false); + } + }); + }, + }; + + let columns: BasicColumn[] = []; + /** + * @description: 鑾峰彇琛ㄦ牸瀛楁Json + * @param {string} type + * @return {*} + */ + function GetBaseColumns(type: string, emit, data: Ref<{}>) { + columns = [ { dataIndex: 'LABEL_ID', title: '鏍囩妯℃澘ID', @@ -382,16 +769,73 @@ title: '鍙橀噺鍚嶇О', ifShow: true, sorter: true, + editRow: true, resizable: true, customRender: () => {}, }, { dataIndex: 'VAR_TYPE', title: '鍙橀噺绫诲瀷', + editRow: true, + editRule: true, ifShow: true, sorter: true, resizable: true, - customRender: ({ record }) => { + editComponent: 'ApiSelect', + editComponentProps: (column) => { + return { + api: GetEnum, + params: { name: 'BAS_LABEL_VAR+VAR_TYPEs' }, + resultField: 'Data', + labelField: unref(getLocale) == 'zh_CN' ? 'Desc' : 'Name', + valueField: 'Value', + onChange: (e, v) => { + if (e == 1 || e == 4) { + const where = + e == 1 + ? { TABLE_NAME: 'BAS_LABEL_PV', VAR_TYPE: 0 } + : { TABLE_NAME: 'BAS_LABEL_PV', VAR_TYPE: 1 }; + emit('opencust', { + data: column.record, + name: 'BAS_LABEL_VAR', + modalSchema: { + title: '杩囩▼鍙橀噺鍒楄〃', + schemas: [ + { + field: 'VAR_CODE', + component: 'Input', + label: '杩囩▼鍙橀噺缂栫爜', + colProps: { + span: 12, + }, + }, + ], + ItemColumns: [ + { + title: t('杩囩▼鍙橀噺缂栫爜'), + dataIndex: 'VAR_CODE', + resizable: true, + sorter: true, + width: 200, + }, + { + title: t('杩囩▼鍙橀噺鍚嶇О'), + dataIndex: 'VAR_NAME', + resizable: true, + sorter: true, + width: 180, + }, + ], + tableName: 'BAS_LABEL_PV', + rowKey: 'VAR_CODE', + searchInfo: where, + }, + }); + } + }, + }; + }, + editRender: ({ record }) => { let color = ''; let text = ''; switch (record.VAR_TYPE) { @@ -411,109 +855,187 @@ text = '鑷畾涔夊彉閲�'; color = '#bfbfbf'; break; + case 4: + text = '鏉$爜鐢熸垚'; + color = '#b442df'; + break; } return h(Tooltip, { title: text }, () => h(Tag, { color: color }, () => text)); }, }, + ]; + switch (type) { + case 'BAS_LABEL_VAR': + columns = [ + ...columns, + ...[ + { + dataIndex: 'VAR_VALUE', + title: '鍙橀噺鍊�', + editRow: true, + // editable: true, + editRule: true, + ifShow: (column) => true, + sorter: true, + resizable: true, + }, + { + dataIndex: 'BARCODE_RULE', + title: '鏉$爜鐢熸垚瑙勫垯', + ifShow: true, + editRow: true, + editRule: true, + sorter: true, + resizable: true, + editComponent: 'ApiSelect', + editComponentProps: (column) => { + return { + api: getEntity, + params: { entityName: 'BAS_CODE_RULE', sqlcmd: ' 1=1 ' }, + resultField: 'Data.Items', + labelField: 'RULE_NAME', + valueField: 'RULE_CODE', + }; + }, + }, + { + dataIndex: 'REMARK', + title: '澶囨敞', + ifShow: true, + editRow: true, + sorter: true, + resizable: true, + }, + ], + ] as BasicColumn[]; + break; + case 'BAS_LABEL_VAR_WO': + const _columns = [ + { + dataIndex: 'LABEL_ID', + title: '鏍囩妯℃澘ID', + ifShow: false, + sorter: true, + resizable: true, + }, + { + title: '宸ュ崟鍙�', + dataIndex: 'WORK_ORDER', + width: 280, + edit: true, + editRule: true, + // editable: true, + ifShow: true, + }, + ] as BasicColumn[]; + newRow = { + ID: buildUUID(), + LABEL_ID: + data.value['BAS_LABEL_VAR'].length > 0 ? data.value['BAS_LABEL_VAR'][0].LABEL_ID : '', + WORK_ORDER: '', + }; + data.value['BAS_LABEL_VAR'].map((x) => { + if (x.VAR_TYPE == 1 && x.VAR_VALUE == 'PV-WorkOrder-Plan') { + newRow[`${x.VAR_NAME}_DEFAULT_VALUE`] = ''; + newRow[x.VAR_NAME] = ''; + _columns.push( + { + title: `锛堝彉閲忥級${x.VAR_NAME}榛樿鍊糮, + dataIndex: `DEFAULT_VALUE_${x.VAR_NAME}`, + width: 280, + // edit: true, + // editRule: true, + resizable: true, + ifShow: true, + }, + { + title: `锛堝彉閲忥級${x.VAR_NAME}`, + dataIndex: `VAR_N_${x.VAR_NAME}`, + width: 280, + edit: true, + editRule: true, + resizable: true, + ifShow: true, + }, + ); + } + }); + _columns.push({ + title: `澶囨敞`, + dataIndex: 'REMARK', + width: 280, + edit: true, + editRule: true, + resizable: true, + ifShow: true, + }); + columns = _columns; + break; + } + return columns; + } + + /** + * @description: 琛ㄦ牸鍩烘湰瀛楁 + * @return {*} + */ + const baseColumns = { + BAS_LABEL_VAR: [], + BAS_LABEL_VAR_WO: [ + { + dataIndex: 'LABEL_ID', + title: '鏍囩妯℃澘ID', + ifShow: false, + sorter: true, + resizable: true, + }, + { + title: '宸ュ崟鍙�', + dataIndex: 'WORK_ORDER', + edit: true, + editRule: true, + // editable: true, + ifShow: true, + }, + { + dataIndex: 'VAR_NAME', + title: '鍙橀噺鍚嶇О', + edit: true, + editRule: true, + // editable: true, + ifShow: true, + sorter: true, + resizable: true, + customRender: () => {}, + }, { dataIndex: 'VAR_VALUE', title: '鍙橀噺鍊�', + edit: true, + editRule: true, + // editable: true, ifShow: true, sorter: true, resizable: true, }, { - dataIndex: 'REMARK', - title: '澶囨敞', - ifShow: true, - sorter: true, - resizable: true, - }, - ], - MES_SHIFT_PRD: [ - { - title: '鏃舵缂栫爜', - dataIndex: 'PRD_CODE', - // ifShow: false, - width: 180, - }, - { - title: '鏃舵鍚嶇О', - dataIndex: 'PRD_NAME', - }, - { - title: '鐝缂栫爜', - dataIndex: 'SFT_CODE', - }, - { - 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: '鏄惁璺ㄥぉ', - dataIndex: 'IS_ACROSS', - customRender: ({ record }) => { - const type = record.IS_ACROSS; - 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_REST', - customRender: ({ record }) => { - const type = record.IS_REST; - 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: 'SEQ', + title: '鏍囩妯℃澘棰勮鍦板潃', + dataIndex: 'LABEL_VIEW_PATH', + ifShow: false, }, { title: '澶囨敞', dataIndex: 'REMARK', }, - { - title: '鏇存柊鏃堕棿', - dataIndex: 'UPDATE_TIME', - }, - { - title: '鏇存柊浜�', - dataIndex: 'UPDATE_USER', - }, - ], + // { + // title: '鏇存柊鏃堕棿', + // dataIndex: 'UPDATE_TIME', + // }, + // { + // title: '鏇存柊浜�', + // dataIndex: 'UPDATE_USER', + // }, + ] as BasicColumn[], }; /** -- Gitblit v1.9.3