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 | 282 ++++++++++++++++---------------------------------------- 1 files changed, 80 insertions(+), 202 deletions(-) diff --git a/src/views/tigerprojects/system/lowcode/data.ts b/src/views/tigerprojects/system/lowcode/data.ts index e5549f9..c9ff488 100644 --- a/src/views/tigerprojects/system/lowcode/data.ts +++ b/src/views/tigerprojects/system/lowcode/data.ts @@ -1,79 +1,62 @@ /* + * __----~~~~~~~~~~~------___ + * . . ~~//====...... __--~ ~~ + * -. \_|// |||\\ ~~~~~~::::... /~ + * ___-==_ _-~o~ \/ ||| \\ _/~~- + * __---~~~.==~||\=_ -_--~/_-~|- |\\ \\ _/~ + * _-~~ .=~ | \\-_ '-~7 /- / || \ / + * .~ .~ | \\ -_ / /- / || \ / + * / ____ / | \\ ~-_/ /|- _/ .|| \ / + * |~~ ~~|--~~~~--_ \ ~==-/ | \~--===~~ .\ + * ' ~-| /| |-~\~~ __--~~ + * |-~~-_/ | | ~\_ _-~ /\ + * / \ \__ \/~ \__ + * _--~ _/ | .-~~____--~-/ ~~==. + * ((->/~ '.|||' -_| ~~-/ , . _|| + * -_ ~\ ~~---l__i__i__i--~~_/ + * _-~-__ ~) \--______________--~~ + * //.-~~~-~_--~- |-------~~~~~~~~ + * //.-~~~--\ + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * + * 绁炲吔淇濅綉 姘告棤BUG + */ + +/* * @Description: 閫氱敤浣庝唬鐮佸憟鐜伴〉闈富鏁版嵁 * @Author: Ben Lin - * @version: + * @version: * @Date: 2024-06-02 17:52:35 - * @LastEditors: your name - * @LastEditTime: 2024-06-13 22:44:43 + * @LastEditors: Ben Lin + * @LastEditTime: 2024-06-14 09:08:11 */ -import { ref } from 'vue'; -import { - DftGrpRelease, - dftGrpActionItem, - dftGrpOpenSelectItem, - dftGrpGetSelectSuccess, - dftGrpactionColumn, -} from './normal/basDefectGrp'; -import { onChangeFns, rsGrpGetSelectSuccess, rsGrpOpenSelectItem } from './normal/basReasonGrp'; -import { DeleteEntity } 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 { useGo } from '/@/hooks/web/usePage'; -import { goDetail, labelActionItem, labelGetSelectSuccess, labelOpenSelectItem } from './detail/basLabelVar'; const { t } = useI18n(); - /** * @description: 浣庝唬鐮侀〉闈㈣幏鍙栨搷浣滃瓧娈电粨鏋凧son锛屽澧炲姞鎸夐挳鍙婃柟娉� + * 鏀荤暐: + * 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. 鍦ㄨ彍鍗曠鐞嗘柊寤轰竴涓珮绾ч〉闈€�� + * 4. 閰嶇疆楂樼骇椤甸潰锛屽畾涔夎〃鍗曞垪 getFormSchema + * 5. 鍒濆鍖栬〃鏍� GetBasicColumnAndInit + * 6. 璁剧疆杩斿洖 getHomeUrl + * 7. 璁剧疆鏍囬 getTitle + * 8. 璁剧疆鏂板鏃跺氨榛樿鐨勫�� getOthersValues + * 9. 鏇挎崲鍒犻櫎鏂规硶 GetActionsData * @param {*} params * @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': - const _d = dftGrpActionItem; - _d[0].onClick = DftGrpRelease.bind(null, args, params); - data = [...data, ..._d]; - params.cType.value = 'BIZ_MES_WO'; - params.formSchemas.value[params.cType.value] = getFormSchema(params.cType.value); - params.useFormData.value = { - forminfo: args[3]({ - labelWidth: 120, - schemas: params.formSchemas.value[params.cType.value], - actionColOptions: { - span: 24, - }, - showActionButtonGroup: false, - }), - }; - break; - /* 鏍囩妯℃澘 */ - case 'BAS_LABEL_TEMP': - const _data = labelActionItem; - _data[0].onClick = goDetail.bind(null, args[5], params['record']) - data = [...data, ..._data]; - break; - } +export function GetActionsData(params: {}, ...args) { + let data = [] as ActionItem[]; return data; } @@ -93,137 +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(); - } - }); -} - - - -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; -} - -/* 寮瑰嚭閫夋嫨妗嗛�夋嫨鎴愬姛 */ -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', - }); - break; - } -} - -/** * @description: Select 鑷畾涔塷nChange鏂规硶 * @param {any} e * @param {string} fnName @@ -234,14 +86,14 @@ if (!isNullOrEmpty(fnName)) { switch (entityName) { case 'BAS_REASON': - onChangeFns[fnName](e); + // onChangeFns[fnName](e); break; default: break; - (e) => { }; + (e) => {}; } } else { - (e) => { }; + (e) => {}; } } @@ -292,6 +144,7 @@ ], tableName: 'BAS_ITEM', rowKey: 'ITEM_CODE', + searchInfo: { TABLE_NAME: 'BAS_ITEM' }, }); break; } @@ -308,18 +161,43 @@ case 'BIZ_MES_WO': _formSchema = woformSchema; break; - // case 'woinfo': - // _formSchema = woCfgformSchema; - // break; - // case 'prodinfo': - // _formSchema = prodCfgformSchema; - // break; - // case 'xxinfo': - // _formSchema = xxCfgformSchema; - // break; default: break; - (e) => { }; } return _formSchema; } + +/** + * @description: 鑾峰彇鏍囬淇℃伅 + * @param {string} type + * @return {*} + */ +export function getTitle(type: string) { + let title = {}; + switch (type) { + case 'BAS_DEFECT': + title = { + pageTitle: '涓嶈壇浠g爜缁勭鐞�', + pageContent: '杩欓噷鍙互娣诲姞鍜屼慨鏀逛笉鑹唬鐮佺粍鍜屼笉鑹唬鐮併��', + baseTableTitle: '涓嶈壇浠g爜绠$悊', + }; + break; + case 'BAS_REASON': + title = { + pageTitle: '涓嶈壇鍘熷洜缁勭鐞�', + pageContent: '杩欓噷鍙互娣诲姞鍜屼慨鏀逛笉鑹師鍥犵粍鍜屼笉鑹唬鐮併��', + baseTableTitle: '涓嶈壇鍘熷洜绠$悊', + }; + break; + case 'BAS_PKG_DTL': + title = { + pageTitle: '鍖呰瑙勫垯绠$悊', + pageContent: '杩欓噷鍙互娣诲姞鍜屼慨鏀瑰寘瑁呰鍒欏拰鍖呰淇℃伅銆�', + baseTableTitle: '鍖呰淇℃伅绠$悊', + }; + break; + default: + break; + } + return title; +} -- Gitblit v1.9.3