From 78999ce1626d2a786f3a705281eeba79c2f1d6dd Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期二, 22 十月 2024 09:32:27 +0800 Subject: [PATCH] 工艺页面缓存优化 --- src/views/tigerprojects/system/lowcode/entityts/ProdRouteBinding.ts | 90 ++++++++++++++++++++++---------------------- 1 files changed, 45 insertions(+), 45 deletions(-) diff --git a/src/views/tigerprojects/system/lowcode/entityts/ProdRouteBinding.ts b/src/views/tigerprojects/system/lowcode/entityts/ProdRouteBinding.ts index 970961b..f654b3e 100644 --- a/src/views/tigerprojects/system/lowcode/entityts/ProdRouteBinding.ts +++ b/src/views/tigerprojects/system/lowcode/entityts/ProdRouteBinding.ts @@ -4,7 +4,7 @@ * @version: * @Date: 2024-06-19 20:34:27 * @LastEditors: Ben Lin - * @LastEditTime: 2024-10-06 16:48:25 + * @LastEditTime: 2024-10-22 09:28:36 */ import { Ref, h, ref, render, unref } from 'vue'; @@ -29,13 +29,15 @@ import { ContextMenuItem } from '/@/components/TigerTree'; import { useForm } from '/@/components/Form'; import { mesApi } from '/@/api/tigerapi/mes/mesApi'; -import { BAS_LABEL_VAR_WO } from '/@/api/tigerapi/model/mesModel'; +import { BAS_LABEL_VAR_WO, MesRotTree } from '/@/api/tigerapi/model/mesModel'; import { buildUUID } from '/@/utils/uuid'; import { AddOrEditLabelVarByWorkOrder } from '/@/api/tigerapi/mes/wo'; +import { useProdRouteStore } from '/@/store/modules/prodRoute'; const { t } = useI18n(); const { createErrorModal } = useMessage(); const { getLocale } = useLocale(); +const useProdRoute = useProdRouteStore(); function _default() { /* 瀹氫箟鍙橀噺 */ const isNormal = (type: number) => type === 0; @@ -80,8 +82,8 @@ * @description: 楂樼骇琛ㄥ崟鍜岃鎯呴〉闈㈣繑鍥炰富椤甸潰鐨剈rl * @return {*} */ - GetHomeUrl: () => { - return `/V_BAS_PROD_R/LC/${encodeURI(JSON.stringify({ ID: 'V_BAS_PROD_R', colSlots: [], crudColSlots: [] }))}`; + GetHomeUrl: (params) => { + return `/V_BAS_PROD_R/LC/${encodeURI(JSON.stringify({ ID: 'V_BAS_PROD_R', colSlots: [], crudColSlots: [], sName: params['sName'] }))}`; }, /** * @description: 鑾峰彇鏍戝舰鏁版嵁 @@ -90,19 +92,27 @@ */ fetchTreeData: async (type: string, itemCode: string) => { let data = { title: '', treeData: [] as any[], fieldNames: {} }; - let prodTreeData = await GetRoutePTree({ + let prodTreeData = (await GetRoutePTree({ prodCode: itemCode, orgCode: useUserStore().getUserInfo.orgCode, - }); - // let uniqueArr = prodTreeData.reduce((acc, current) => { - // if (!acc.some((x) => x.pid == current.pid && x.id == current.id && x.seq == current.seq && x.type == current.type)) { - // acc.push(current); - // } - // return acc; - // }, [] as V_MES_ROUTE_PTREE[]); - data.treeData = convertToTree(prodTreeData, 'pid', 'tid', 'root'); + })) as unknown as MesRotTree[]; + let _treeData = convertToTree(prodTreeData, 'pid', 'tid', 'root'); data.title = '宸ヨ壓璺嚎'; data.fieldNames = { key: 'tid', title: 'name' }; + if ( + !useProdRoute.changeToCPPage || + !useProdRoute.curProdRotTree.some((q) => q.name == itemCode) + ) { + /* 淇濆瓨宸ヨ壓鏍戝舰鏁版嵁鍒扮姸鎬佺鐞� */ + useProdRoute.setCurProdRotTree({ + name: itemCode, + treeInfo: _treeData as unknown as MesRotTree[], + }); + } + useProdRoute.setItemCode(itemCode); + if (useProdRoute.curProdRotTree.some((q) => q.name == itemCode)) { + data.treeData = useProdRoute.curProdRotTree.filter((q) => q.name == itemCode)[0].treeInfo; + } return data; }, /** @@ -274,6 +284,7 @@ ItemCode: false, }; } + useProdRoute.setcurDtl(result); resolve(result); } catch (e) { reject(e); @@ -296,6 +307,9 @@ } values.AUTH_ORG = useUserStore().getUserInfo.orgCode; values.AUTH_PROD = useUserStore().getUserInfo.prodCode; + if (type == 'Action') { + values.OPTION_1 = JSON.stringify(useProdRoute.getcurDtl['BAS_PKG_DTL']); + } SaveEntity(values, true, entityName).then((action) => { if (action.IsSuccessed) { emit('success'); @@ -512,11 +526,13 @@ // searchInfo: { TABLE_NAME: 'V_BAS_PKG_DTL' }, dataSource: data.value['BAS_PKG_DTL'], columns: GetBaseColumns('BAS_PKG_DTL', args[0], data), - maxHeight: 520, + // maxHeight: 520, + // scroll: { y: window.screen.width == 1366? 400: 450 }, + isCanResizeParent: true, useSearchForm: false, showTableSetting: false, bordered: true, - canResize: true, + // canResize: false, showIndexColumn: false, // rowSelection: { // type: 'radio', //'checkbox' @@ -610,7 +626,7 @@ * @param {Ref} selectedNodes * @return {*} */ - SelectNode: (selectedNodes: Ref<any[]>) => { + SelectNode: (selectedNodes: Ref<any[]>, code: string) => { let result = { showConfig: false, showNav: false, @@ -631,6 +647,8 @@ result.showConfig = true; result.showOtherTable = { BAS_PKG_DTL: false, ItemCode: false }; } + /* 淇濆瓨褰撳墠閫夋嫨鐨勮妭鐐规暟鎹埌鐘舵�佺鐞� */ + useProdRoute.setCurSelectedNodes({ name: code, SelectedNodes: selectedNodes.value }); return result; }, /** @@ -841,22 +859,9 @@ param.values as unknown as BAS_LABEL_VAR_WO, ); resolve(action); - case 'isDefault' /* 璁剧疆榛樿宸ヨ壓璺嚎 */: - var action = await SetDefaultRoute({ - rotCode: param.others['code'], - prodCode: param.keyCode, - rotId: '', - options: { - //鏍规嵁鎹偣鏌ヨ锛屽繀闇�甯﹁繖涓弬鏁� - UserId: useUserStore().getUserInfo.userId as string, - ByOrg: true, - CurOrg: useUserStore().getUserInfo.orgCode as string, - ByProd: false, - ByWh: false, - OrgCode: useUserStore().getUserInfo.orgCode as string, - }, - isDefault: param.others['isDefault'], - }); + case 'isDefault': + /* 璁剧疆榛樿宸ヨ壓璺嚎 */ + var action = await useProdRoute.setDefaulRoute(param); resolve(action); } } catch (e) { @@ -1805,7 +1810,8 @@ */ function handleTemplate(args, params: Recordable) { const openCrudModal = args[0]; - const OrderNo = args[2]; + // const OrderNo = args[2]; + const ProdCode = args[2]; openCrudModal(true, { isUpdate: true, //鏄惁鏇存柊鎿嶄綔 entityName: 'ProdRouteBinding', //鏄摢涓〉闈� @@ -1814,20 +1820,14 @@ width: '1024px', //寮瑰嚭妗嗗搴� ItemColumns: TemplateBasColumn, //寮瑰嚭妗嗕腑琛ㄦ牸瀛楁缁撴瀯 schemas: [], //鏌ヨ鏉′欢瀛楁缁撴瀯 - others: { WORK_ORDER: OrderNo }, //闇�瑕佸甫鍒板脊鍑虹獥鍙d腑鐨勬暟鎹� + others: { WORK_ORDER: '', PROD_CODE: ProdCode }, //闇�瑕佸甫鍒板脊鍑虹獥鍙d腑鐨勬暟鎹� searchInfo: { TABLE_NAME: 'BAS_LABEL_VAR_WO', //瀹炰綋鍚嶇О LabelId: params['record'].LABEL_ID, //妯℃澘ID - WorkOrder: OrderNo, //宸ュ崟鍙� + WorkOrder: '', //宸ュ崟鍙� + ProdCode: ProdCode, + CustCode: '', apiUrl: mesApi.GetLabelVarByWorkOrder, //鑷畾涔夎幏鍙栨暟鎹垎椤电殑api锛屼笉鐢ㄩ粯璁ょ殑鍩虹鏂规硶 - // sqlcmd: ` (WORK_ORDER = '${OrderNo}' OR WORK_ORDER = '' OR WORK_ORDER IS NULL)`, - // option: - // { - // //鏍规嵁鎹偣鏌ヨ锛屽繀闇�甯﹁繖涓弬鏁� - // UserId: useUserStore().getUserInfo.userId, - // ByOrg: true, - // CurOrg: useUserStore().getUserInfo.orgCode, - // }, }, values: params['record'], //琛ㄥ崟璁板綍 }); @@ -1863,8 +1863,8 @@ { title: '榛樿鍊�', dataIndex: 'DEFAULT_VALUE', - editRow: true, - editRule: true, + // editRow: true, + // editRule: true, }, ] as BasicColumn[]; -- Gitblit v1.9.3