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/store/modules/prodRoute.ts | 84 ++++++++++++++++++++++++++++++++---------- 1 files changed, 64 insertions(+), 20 deletions(-) diff --git a/src/store/modules/prodRoute.ts b/src/store/modules/prodRoute.ts index 00c0d33..5e60412 100644 --- a/src/store/modules/prodRoute.ts +++ b/src/store/modules/prodRoute.ts @@ -4,20 +4,21 @@ * @version: * @Date: 2024-06-18 15:09:47 * @LastEditors: Ben Lin - * @LastEditTime: 2024-10-21 23:13:48 + * @LastEditTime: 2024-10-22 08:37:57 */ import { defineStore } from 'pinia'; import { store } from '@/store'; -import { MesRotTree } from '/@/api/tigerapi/model/mesModel'; +import { MesRotTree, PageRotTree } from '/@/api/tigerapi/model/mesModel'; import { SetDefaultRoute } from '/@/api/tigerapi/mes/router'; import { useUserStore } from './user'; import { findParent } from '/@/api/tigerapi/system'; interface ProdRouteState { - curProdRotTree: MesRotTree[]; + curProdRotTree: PageRotTree[]; curConfig: any; - curSelectedNodes: any; + curSelectedNodes: any[]; ItemCode: string; + name: string; curDtl: any; changeToCPPage: boolean; } @@ -27,19 +28,20 @@ state: (): ProdRouteState => ({ curProdRotTree: [], curConfig: {}, - curSelectedNodes: {}, + curSelectedNodes: [], ItemCode: '', curDtl: {}, - changeToCPPage: false + changeToCPPage: false, + name: '', }), getters: { - getCurProdRotTree(state): MesRotTree[] { + getCurProdRotTree(state): PageRotTree[] { return state.curProdRotTree; }, getCurConfig(state): any { return state.curConfig; }, - getCurSelectedNodes(state): any { + getCurSelectedNodes(state): any[] { return state.curSelectedNodes; }, getItemCodes(state): string { @@ -51,16 +53,53 @@ getChangeToCPPage(state): boolean { return state.changeToCPPage; }, + getname(state): string { + return state.name; + }, }, actions: { setCurPkgConfig(val: any) { this.curConfig = val; }, - setCurProdRotTree(info: MesRotTree[]) { - this.curProdRotTree = info; + /** + * @description: 褰撳墠宸ヨ壓鏍戞暟鎹� + * @param {any} val + * @return {*} + */ + setCurProdRotTree(val: any) { + if (!this.curProdRotTree.some((q) => q.name == val.name)) { + this.curProdRotTree.push(val); + } else { + if (val.length == 0) { + this.curProdRotTree = []; + } else { + this.curProdRotTree.map((item) => { + if (item.name == val.name) { + item.treeInfo = val.treeInfo; + } + }); + } + } }, + /** + * @description: 褰撳墠閫変腑鑺傜偣 + * @param {any} val + * @return {*} + */ setCurSelectedNodes(val: any) { - this.curSelectedNodes = val; + if (!this.curSelectedNodes.some((q) => q.name == val.name)) { + this.curSelectedNodes.push(val); + } else { + if (val.length == 0) { + this.curSelectedNodes = []; + } else { + this.curSelectedNodes.map((item) => { + if (item.name == val.name) { + item.SelectedNodes = val.SelectedNodes; + } + }); + } + } }, setItemCode(val: string) { this.ItemCode = val; @@ -71,16 +110,20 @@ setChangeToCPPage(val: boolean) { this.changeToCPPage = val; }, + setname(val: string) { + this.name = val; + }, resetState() { this.curProdRotTree = []; this.curConfig = {}; - this.curSelectedNodes = {}; + this.curSelectedNodes = []; this.curDtl = {}; + this.name = ''; }, /** * @description: 璁剧疆榛樿宸ヨ壓璺嚎 * @return {*} - */ + */ async setDefaulRoute(param) { /* 璁剧疆榛樿宸ヨ壓璺嚎 */ var action = await SetDefaultRoute({ @@ -99,11 +142,12 @@ }, isDefault: param.others['isDefault'], }); - if(action.IsSuccessed){ - this.curProdRotTree[0].children[0].children.map((item) => { - if(item.code == param.others['code']){ + if (action.IsSuccessed) { + const rotTree = this.curProdRotTree.filter((q) => q.name == this.getname); + rotTree[0].treeInfo.children[0].children.map((item) => { + if (item.code == param.others['code']) { item.isDefault = true; - }else{ + } else { item.isDefault = false; } }); @@ -114,10 +158,10 @@ * @description: 鏌ユ壘鐖堕」骞惰繑鍥� * @param {string} tid * @return {*} - */ - getParent(tid: string): MesRotTree{ + */ + getParent(tid: string): MesRotTree { return findParent(this.getCurProdRotTree, tid) as unknown as MesRotTree; - } + }, }, }); -- Gitblit v1.9.3