From 200eb764e83c7a77defeaf98130801d300dbee5d Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期日, 23 六月 2024 18:42:33 +0800 Subject: [PATCH] 高级表单优化 --- src/views/tigerprojects/system/lowcode/data.ts | 538 ----------------------------------------------------------- 1 files changed, 4 insertions(+), 534 deletions(-) diff --git a/src/views/tigerprojects/system/lowcode/data.ts b/src/views/tigerprojects/system/lowcode/data.ts index ca94f66..c9ff488 100644 --- a/src/views/tigerprojects/system/lowcode/data.ts +++ b/src/views/tigerprojects/system/lowcode/data.ts @@ -31,63 +31,17 @@ * @LastEditTime: 2024-06-14 09:08:11 */ -import { - dftGrpOpenSelectItem, - dftGrpGetSelectSuccess, - dftGrpactionColumn, - baseSchema, - DftGrpEdit, - searchSchema, - defectBaseColumn, - crudSchema, - DftGrpDel, - dftEditeOperation, -} from './normal/basDefectGrp'; -import { - onChangeFns, - rsnGrpEdit, - rsGrpGetSelectSuccess, - rsGrpOpenSelectItem, - rsnBaseSchema, - rsnCrudSchema, - rsnSearchSchema, - rsnBaseColumn, - rsnGrpDel, - rsnEditeOperation, -} from './normal/basReasonGrp'; -import { DeleteEntity, convertToTree, getEntity } from '/@/api/tigerapi/system'; import { ActionItem, BasicColumn, FormSchema } from '/@/components/Table'; import { useI18n } from '/@/hooks/web/useI18n'; import { isNullOrEmpty } from '/@/utils/is'; import { woCustFn, woformSchema } from '/@/views/components/bizMesWo'; import { useModal } from '/@/components/Modal'; -import { - goDetail, - labelActionItem, - labelGetSelectSuccess, - labelOpenSelectItem, -} from './detail/basLabelVar'; -import { buildUUID } from '/@/utils/uuid'; -import { Tag } from 'ant-design-vue'; -import { Ref, h } from 'vue'; -import { - pkgBaseColumn, - pkgBaseSchema, - pkgCrudSchema, - pkgEditeOperation, - pkgGrpEdit, - pkgSearchSchema, -} from './basPkgrule'; -import { GetRoutePTree } from '/@/api/tigerapi/mes/router'; -import { V_MES_ROUTE_PTREE } from '/@/api/tigerapi/model/router'; -import { prodRouteCreateIcon } from './composition/prodRoute'; const { t } = useI18n(); - /** * @description: 浣庝唬鐮侀〉闈㈣幏鍙栨搷浣滃瓧娈电粨鏋凧son锛屽澧炲姞鎸夐挳鍙婃柟娉� * 鏀荤暐: - * 1. 鍙︽柊寤洪┘宄板疄浣撳悕.ts鐨勬枃浠讹紝濡傦細basDefectGrp.ts銆備互渚垮尯鍒笉鍚岄〉闈㈢殑鏂规硶 + * 1. 鍙︽柊寤洪┘宄板疄浣撳悕.ts鐨勬枃浠讹紝濡傦細BAS_REASON.ts銆備互渚垮尯鍒笉鍚岄〉闈㈢殑鏂规硶 * 2. 鏇挎崲涓婚〉闈㈢紪杈戞寜閽柟娉曞彉涓鸿烦杞埌楂樼骇椤甸潰锛屾柟娉曚腑浼犲叆 { CODE: 涓昏〃璁板綍鐨勫叧閿瓧娈靛�硷紝涓�鑸槸XXX_CODE鐨勫��, ID: 褰撳墠璁板綍鐨処D, Name: 'BAS_DEFECT'锛堣烦杞繃鍘婚渶瑕佹柊澧炵紪杈戠殑瀹炰綋鍚嶏級, Title: `缂栬緫涓嶈壇浠g爜缁勶細${params['record']['DFTG_CODE']}`锛堝畾涔塼ab椤电鐨勬爣棰橈級, pCode: 'DFTG_CODE'锛堜富琛ㄧ殑鍏抽敭瀛楁浠g爜锛� } * 鏇挎崲涓婚〉闈㈡柊澧炴寜閽柟娉曞悓涓� * 3. 鍦ㄨ彍鍗曠鐞嗘柊寤轰竴涓珮绾ч〉闈€�� @@ -101,141 +55,8 @@ * @param {array} args * @return {*} */ -export function GetActionsData(params: {}, ...args: Fn[]) { - let data = [ - { - icon: 'clarity:note-edit-line', - onClick: editRecord.bind(null, args[0], params), - }, - { - icon: 'ant-design:delete-outlined', - color: 'error', - popConfirm: { - title: '鏄惁纭鍒犻櫎?', - placement: 'left', - confirm: deleteRecord.bind(null, args[1], params), - }, - }, - ] as ActionItem[]; - switch (params['entityName']) { - /* 涓嶈壇浠g爜缁� */ - case 'BAS_DEFECT_GRP': - data[0].onClick = DftGrpEdit.bind(null, args, params); //鏇挎崲涓婚〉闈㈢紪杈戞寜閽柟娉曞彉涓鸿烦杞埌楂樼骇椤甸潰 - break; - /* 涓嶈壇浠e師鍥犵粍 */ - case 'BAS_REASON_GRP': - data[0].onClick = rsnGrpEdit.bind(null, args, params); //鏇挎崲涓婚〉闈㈢紪杈戞寜閽柟娉曞彉涓鸿烦杞埌楂樼骇椤甸潰 - break; - case 'BAS_DEFECT': - data[1].popConfirm.confirm = DftGrpDel.bind(null, args, params); - break; - case 'BAS_REASON': - data[1].popConfirm.confirm = rsnGrpDel.bind(null, args, params); - break; - /* 鍖呰瑙勫垯 */ - case 'BAS_PKG_RULE': - data[0].onClick = pkgGrpEdit.bind(null, args, params); //鏇挎崲涓婚〉闈㈢紪杈戞寜閽柟娉曞彉涓鸿烦杞埌楂樼骇椤甸潰 - break; - case 'BAS_PKG_DTL': - data[1].popConfirm.confirm = custDel.bind(null, args, params); - break; - /* 鏍囩妯℃澘 */ - case 'BAS_LABEL_TEMP': - const _data = labelActionItem; - _data[0].onClick = goDetail.bind(null, args[5], params['record']); - data = [...data, ..._data]; - break; - } - return data; -} - -/** - * @description: 鑷畾涔夊垹闄ゆ柟娉� - * @param {Fn} args - * @param {*} params - * @return {*} - */ -export function custDel(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](); - } - }); - } -} - -/** - * @description: 鏄庣粏琛ㄤ腑缂栬緫鏂规硶 - * @return {*} - */ -export function EditOperation(type: string, data: Ref<any[]>, d, u) { - switch (type) { - case 'BAS_PKG_DTL': - return pkgEditeOperation(data, d, u); - break; - case 'BAS_REASON': - return rsnEditeOperation(data, d, u); - case 'BAS_DEFECT': - return dftEditeOperation(data, d, u); - } -} - -/** - * @description: 鑾峰彇鏂板鎸夐挳鐨勮涓� - * @param {string} type - * @return {*} - */ -export function getCreateAction(type: string) { - let data = { action: 'drawer', url: '', params: {} }; //drawer(鎵撳紑宸︿晶鎶藉眽妗�) | go(璺宠浆鍒版柊鐨勯〉闈�) - switch (type) { - case 'BAS_DEFECT_GRP': - data.action = 'go'; - data.url = 'BAS_DEFECT/High'; - data.params = { - CODE: '0', - ID: buildUUID(), - Name: 'BAS_DEFECT', - Title: '鏂板涓嶈壇浠g爜缁�', - pCode: 'DFTG_CODE', - IsID: false, - }; - break; - case 'BAS_REASON_GRP': - data.action = 'go'; - data.url = 'BAS_REASON/High'; - data.params = { - CODE: '0', - ID: buildUUID(), - Name: 'BAS_REASON', - Title: '鏂板涓嶈壇鍘熷洜缁�', - pCode: 'RSNG_CODE', - IsID: false, - }; - break; - case 'BAS_PKG_RULE': - data.action = 'go'; - data.url = 'BAS_PKG_DTL/High'; - data.params = { - CODE: '0', - ID: buildUUID(), - Name: 'BAS_PKG_DTL', - Title: '鏂板鍖呰瑙勫垯', - pCode: 'PKG_RULE_ID', - IsID: true, - }; - break; - } +export function GetActionsData(params: {}, ...args) { + let data = [] as ActionItem[]; return data; } @@ -255,147 +76,6 @@ } /** - * @description: 鍏敤缂栬緫鏂规硶 - * @param {Fn} fn - * @param {*} params - * @return {*} - */ -function editRecord(fn: Fn, params: {}) { - fn(true, params); -} - -/** - * @description: 鍏敤鍒犻櫎鏂规硶 - * @param {Fn} fn - * @param {*} params - * @return {*} - */ -function deleteRecord(fn: Fn, params: {}) { - console.log(params['record']); - //鍒犻櫎 - DeleteEntity(params['record'], params['entityName']).then((action) => { - if (action.IsSuccessed) { - fn(); - } - }); -} - -/** - * @description: 鑾峰彇鎿嶄綔鍒楁牱寮忔柟娉� - * @param {string} entityName - * @return {*} - */ -export function GetActionColumn(entityName: string) { - let data: BasicColumn = {}; - switch (entityName) { - case 'BAS_DEFECT_GRP': - data = dftGrpactionColumn; - break; - case 'BAS_LABEL_TEMP': - data = { - width: 120, - title: '鎿嶄綔', - dataIndex: 'action', - slots: { customRender: 'action' }, - fixed: 'right', - }; - break; - default: - data = { - width: 80, - title: '鎿嶄綔', - dataIndex: 'action', - slots: { customRender: 'action' }, - fixed: undefined, - }; - break; - } - return data; -} - -/** - * @description: 鎵撳紑寮瑰嚭閫夋嫨妗嗛�夋嫨鎴愬姛鍚庤繑鍥炴柟娉� - * @param {*} d - * @param {*} u - * @param {string} entityName - * @return {*} - */ -export function GetSelectSuccess(d, u, entityName: string) { - let data = {}; - switch (entityName) { - case 'BAS_DEFECT_GRP': - data = dftGrpGetSelectSuccess(d, u); - break; - case 'BAS_REASON_GRP': - data = rsGrpGetSelectSuccess(d, u); - break; - case 'BAS_LABEL_PV': - data = labelGetSelectSuccess(d, u); - break; - default: - data = { - ITEM_CODE: d.values['val'], - }; - break; - } - return data; -} - -/** - * @description: 鎵撳紑寮瑰嚭閫夋嫨妗� - * @param {Fn} openItemModal - * @param {string} entityName - * @return {*} - */ -export function OpenSelectItem(openItemModal: Fn, entityName: string) { - switch (entityName) { - case 'BAS_DEFECT_GRP': - dftGrpOpenSelectItem(openItemModal); - break; - case 'BAS_REASON_GRP': - rsGrpOpenSelectItem(openItemModal); - break; - case 'BAS_LABEL_PV': - labelOpenSelectItem(openItemModal); - break; - default: - openItemModal(true, { - title: '鐗╂枡鍒楄〃', - schemas: [ - { - field: 'ITEM_CODE', - component: 'Input', - label: '鐗╂枡缂栫爜', - colProps: { - span: 12, - }, - }, - ], - ItemColumns: [ - { - title: t('鐗╂枡缂栫爜'), - dataIndex: 'ITEM_CODE', - resizable: true, - sorter: true, - width: 200, - }, - { - title: t('鐗╂枡鍚嶇О'), - dataIndex: 'ITEM_NAME', - resizable: true, - sorter: true, - width: 180, - }, - ], - tableName: 'BAS_ITEM', - rowKey: 'ITEM_CODE', - searchInfo: { TABLE_NAME: 'BAS_ITEM' }, - }); - break; - } -} - -/** * @description: Select 鑷畾涔塷nChange鏂规硶 * @param {any} e * @param {string} fnName @@ -406,7 +86,7 @@ if (!isNullOrEmpty(fnName)) { switch (entityName) { case 'BAS_REASON': - onChangeFns[fnName](e); + // onChangeFns[fnName](e); break; default: break; @@ -481,158 +161,10 @@ case 'BIZ_MES_WO': _formSchema = woformSchema; break; - case 'BAS_DEFECT_BaseForm': - _formSchema = baseSchema; - break; - case 'BAS_DEFECT_Search': - _formSchema = searchSchema; - break; - case 'BAS_DEFECT_Crud': - _formSchema = crudSchema; - break; - case 'BAS_REASON_BaseForm': - _formSchema = rsnBaseSchema; - break; - case 'BAS_REASON_Search': - _formSchema = rsnSearchSchema; - break; - case 'BAS_REASON_Crud': - _formSchema = rsnCrudSchema; - break; - case 'BAS_PKG_DTL_BaseForm': - _formSchema = pkgBaseSchema; - break; - case 'BAS_PKG_DTL_Search': - _formSchema = pkgSearchSchema; - break; - case 'BAS_PKG_DTL_Crud': - _formSchema = pkgCrudSchema; - break; default: break; } return _formSchema; -} - -/** - * @description: 鑾峰彇琛ㄦ牸鍒� - * @param {string} entityName - * @return {*} - */ -export function GetBasicColumnAndInit(entityName: string, ...args) { - let data: BasicColumn[] = []; - switch (entityName) { - case 'BAS_DEFECT': - data = defectBaseColumn; - args[0].value[entityName] = getFormSchema(entityName); - args[0].value['BaseForm'] = getFormSchema('BAS_DEFECT_BaseForm'); - args[1].value = { - BaseForm: args[4]({ - labelWidth: 120, - schemas: args[0].value['BaseForm'], - actionColOptions: { - span: 24, - }, - showActionButtonGroup: false, - }), - }; - args[2].value = [ - { - name: 'BaseForm', - slots: [], - preIcons: {}, - title: '涓嶈壇浠g爜缁勪俊鎭�', - entityName: 'BAS_DEFECT_GRP', - }, - // { - // name: 'prodinfo', - // slots: ['addRot', 'setRot'], - // preIcons: { addRot: 'search|svg', setRot: 'config|svg' }, - // title: '浜у搧淇℃伅', - // }, - // { name: 'rotinfo', slots: ['add'], preIcons: { add: 'search|svg' }, title: '宸ヨ壓淇℃伅' }, - ]; - break; - case 'BAS_REASON': - data = rsnBaseColumn; - args[0].value['BaseForm'] = getFormSchema('BAS_REASON_BaseForm'); - args[1].value = { - BaseForm: args[4]({ - labelWidth: 120, - schemas: args[0].value['BaseForm'], - actionColOptions: { - span: 24, - }, - showActionButtonGroup: false, - }), - }; - args[2].value = [ - { - name: 'BaseForm', - slots: [], - preIcons: {}, - title: '涓嶈壇鍘熷洜缁勪俊鎭�', - entityName: 'BAS_REASON_GRP', - }, - ]; - break; - case 'BAS_PKG_DTL': - data = pkgBaseColumn; - args[0].value['BaseForm'] = getFormSchema('BAS_PKG_DTL_BaseForm'); - args[1].value = { - BaseForm: args[4]({ - labelWidth: 120, - schemas: args[0].value['BaseForm'], - actionColOptions: { - span: 24, - }, - showActionButtonGroup: false, - }), - }; - args[2].value = [ - { - name: 'BaseForm', - slots: [], - preIcons: {}, - title: '鍖呰淇℃伅', - entityName: 'BAS_PKG_RULE', - }, - ]; - break; - default: - break; - } - return data; -} - -/** - * @description: 鑾峰彇goback鐨剈rl - * @param {string} type - * @return {*} - */ -export function getHomeUrl(type: string) { - let url = ''; - switch (type) { - case 'BAS_DEFECT': - const param = { ID: 'BAS_DEFECT_GRP', colSlots: [], crudColSlots: [] }; - url = `/BAS_DEFECT_GRP/LC/${encodeURI(JSON.stringify(param))}`; - break; - case 'BAS_REASON': - url = `/BAS_REASON_GRP/LC/${encodeURI(JSON.stringify({ ID: 'BAS_REASON_GRP', colSlots: [], crudColSlots: [] }))}`; - break; - case 'BAS_PKG_DTL': - url = `/BAS_PKG_RULE/LC/${encodeURI(JSON.stringify({ ID: 'BAS_PKG_RULE', colSlots: [], crudColSlots: [] }))}`; - break; - case 'BAS_LABEL_VAR': - url = `/BAS_LABEL_TEMP/LC/${encodeURI(JSON.stringify({ ID: 'BAS_LABEL_TEMP', colSlots: [], crudColSlots: [] }))}`; - break; - case 'ProdRouteBinding': - url = `/MaterialInfo`; - break; - default: - break; - } - return url; } /** @@ -668,66 +200,4 @@ break; } return title; -} - -/** - * @description: 鑾峰彇闇�瑕佹柊澧炴椂灏遍粯璁ょ殑鍊硷紝涓�鑸槸涓昏〃淇℃伅 - * @param {string} type - * @param {string} val - * @return {*} - */ -export function getOthersValues(type: string, val: string, id: string) { - let Values = {}; - switch (type) { - case 'BAS_DEFECT': - Values = { DFTG_CODE: val }; - break; - case 'BAS_REASON': - Values = { RSNG_CODE: val }; - break; - case 'BAS_PKG_DTL': - Values = { PKG_RULE_ID: id }; - break; - default: - break; - } - return Values; -} - -/** - * @description: 鑾峰彇鏍戝舰鏁版嵁 - * @param {string} type - * @return {*} - */ -export async function fetchTreeData(type: string, itemCode: string) { - let data = { title: '', treeData: [] as any[], fieldNames: {} }; - switch (type) { - case 'ProdRouteBinding': - let prodTreeData = await GetRoutePTree(itemCode); - data.treeData = convertToTree(prodTreeData, 'pid', 'id', 'root'); - data.title = '宸ヨ壓璺嚎'; - data.fieldNames = { key: 'id', title: 'name' }; - break; - case 'BAS_PKG_DTL': - break; - default: - break; - } - return data; -} - -/** - * @description: 鏍规嵁type鑾峰彇鍥炬爣 - * @param {Recordable} params - * @param {string} type - * @return {*} - */ -export function createIconByType(params: Recordable<any>, type: string) { - let icon = ''; - switch (type) { - case 'ProdRouteBinding': - icon = prodRouteCreateIcon(params); - break; - } - return icon; } -- Gitblit v1.9.3