Ben Lin
2024-11-08 3d2c48733b86a03fc2e5a1f12ac3667ab0863b80
src/store/modules/prodRoute.ts
@@ -4,66 +4,144 @@
 * @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({
@@ -82,11 +160,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[0].children[0].children.map((item) => {
          if (item.code == param.others['code']) {
            item.isDefault = true;
          }else{
          } else {
            item.isDefault = false;
          }
        });
@@ -97,10 +176,11 @@
     * @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;
    },
  },
});