| | |
| | | * @version: |
| | | * @Date: 2024-06-18 15:09:47 |
| | | * @LastEditors: Ben Lin |
| | | * @LastEditTime: 2024-10-16 00:41:53 |
| | | * @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[]; |
| | | curPkgConfig: any; |
| | | curSelectedNodes: any; |
| | | curProdRotTree: PageRotTree[]; |
| | | curConfig: any; |
| | | curSelectedNodes: any[]; |
| | | ItemCode: string; |
| | | Wo: string; |
| | | CustCode: string; |
| | | name: string; |
| | | curDtl: any; |
| | | changeToCPPage: boolean; |
| | | } |
| | | |
| | | export const useProdRouteStore = defineStore({ |
| | | id: 'app-prodrot', |
| | | state: (): ProdRouteState => ({ |
| | | curProdRotTree: [], |
| | | curPkgConfig: {}, |
| | | curSelectedNodes: {}, |
| | | ItemCode: '' |
| | | curConfig: {}, |
| | | curSelectedNodes: [], |
| | | ItemCode: '', |
| | | curDtl: {}, |
| | | changeToCPPage: false, |
| | | name: '', |
| | | CustCode: '', |
| | | Wo: '' |
| | | }), |
| | | getters: { |
| | | getCurProdRotTree(state): MesRotTree[] { |
| | | getCurProdRotTree(state): PageRotTree[] { |
| | | return state.curProdRotTree; |
| | | }, |
| | | getCurPkgConfig(state): any { |
| | | return state.curPkgConfig; |
| | | getCurConfig(state): any { |
| | | return state.curConfig; |
| | | }, |
| | | getCurSelectedNodes(state): any { |
| | | getCurSelectedNodes(state): any[] { |
| | | return state.curSelectedNodes; |
| | | }, |
| | | getItemCodes(state): string { |
| | | return state.ItemCode; |
| | | }, |
| | | getCustCode(state): string { |
| | | return state.CustCode; |
| | | }, |
| | | getWo(state): string { |
| | | return state.Wo; |
| | | }, |
| | | getcurDtl(state): any { |
| | | return state.curDtl; |
| | | }, |
| | | getChangeToCPPage(state): boolean { |
| | | return state.changeToCPPage; |
| | | }, |
| | | getname(state): string { |
| | | return state.name; |
| | | }, |
| | | }, |
| | | actions: { |
| | | setCurPkgConfig(val: any) { |
| | | this.curPkgConfig = val; |
| | | 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; |
| | | }, |
| | | setCustCode(val: string) { |
| | | this.CustCode = val; |
| | | }, |
| | | setWo(val: string) { |
| | | this.Wo = val; |
| | | }, |
| | | setcurDtl(val: any) { |
| | | this.curDtl = val; |
| | | }, |
| | | setChangeToCPPage(val: boolean) { |
| | | this.changeToCPPage = val; |
| | | }, |
| | | setname(val: string) { |
| | | this.name = val; |
| | | }, |
| | | resetState() { |
| | | this.curProdRotTree = []; |
| | | this.curPkgConfig = {}; |
| | | this.curSelectedNodes = {}; |
| | | this.curConfig = {}; |
| | | this.curSelectedNodes = []; |
| | | this.curDtl = {}; |
| | | this.name = ''; |
| | | this.ItemCode = ''; |
| | | this.CustCode = ''; |
| | | }, |
| | | /** |
| | | * @description: 设置默认工艺路线 |
| | | * @return {*} |
| | | */ |
| | | */ |
| | | async setDefaulRoute(param) { |
| | | /* 设置默认工艺路线 */ |
| | | var action = await SetDefaultRoute({ |
| | |
| | | }, |
| | | 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[0].children[0].children.map((item) => { |
| | | if (item.code == param.others['code']) { |
| | | item.isDefault = true; |
| | | }else{ |
| | | } else { |
| | | item.isDefault = false; |
| | | } |
| | | }); |
| | |
| | | * @description: 查找父项并返回 |
| | | * @param {string} tid |
| | | * @return {*} |
| | | */ |
| | | getParent(tid: string): MesRotTree{ |
| | | return findParent(this.getCurProdRotTree,tid) as unknown as MesRotTree; |
| | | } |
| | | */ |
| | | getParent(tid: string): MesRotTree { |
| | | const rotTree = this.getCurProdRotTree.filter((q) => q.name == this.getname); |
| | | return findParent(rotTree[0].treeInfo, tid) as unknown as MesRotTree; |
| | | }, |
| | | }, |
| | | }); |
| | | |