| | |
| | | * @version: |
| | | * @Date: 2024-06-18 15:09:47 |
| | | * @LastEditors: Ben Lin |
| | | * @LastEditTime: 2024-10-08 16:10:48 |
| | | * @LastEditTime: 2024-10-16 00:41:53 |
| | | */ |
| | | import { defineStore } from 'pinia'; |
| | | import { store } from '@/store'; |
| | | import { useI18n } from '@/hooks/web/useI18n'; |
| | | import { useMessage } from '@/hooks/web/useMessage'; |
| | | import { h } from 'vue'; |
| | | import { MesRotTree } 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: Nullable<MesRotTree>; |
| | | rotList: MesRotTree[]; |
| | | curProdRotTree: MesRotTree[]; |
| | | curPkgConfig: any; |
| | | curSelectedNodes: any; |
| | | ItemCode: string; |
| | | } |
| | | |
| | | export const useProdRouteStore = defineStore({ |
| | | id: 'app-prodrot', |
| | | state: (): ProdRouteState => ({ |
| | | curProdRotTree: null, |
| | | rotList: [], |
| | | curProdRotTree: [], |
| | | curPkgConfig: {}, |
| | | curSelectedNodes: {}, |
| | | ItemCode: '' |
| | | }), |
| | | getters: { |
| | | getCurProdRotTree(state): MesRotTree | null { |
| | | getCurProdRotTree(state): MesRotTree[] { |
| | | return state.curProdRotTree; |
| | | }, |
| | | getRotList(state): MesRotTree[] { |
| | | return state.rotList; |
| | | getCurPkgConfig(state): any { |
| | | return state.curPkgConfig; |
| | | }, |
| | | getCurSelectedNodes(state): any { |
| | | return state.curSelectedNodes; |
| | | }, |
| | | getItemCodes(state): string { |
| | | return state.ItemCode; |
| | | }, |
| | | }, |
| | | actions: { |
| | | getRotList(roleList: MesRotTree[]) { |
| | | this.rotList = roleList; |
| | | setCurPkgConfig(val: any) { |
| | | this.curPkgConfig = val; |
| | | }, |
| | | setUserInfo(info: MesRotTree | null) { |
| | | setCurProdRotTree(info: MesRotTree[]) { |
| | | this.curProdRotTree = info; |
| | | }, |
| | | setCurSelectedNodes(val: any) { |
| | | this.curSelectedNodes = val; |
| | | }, |
| | | setItemCode(val: string) { |
| | | this.ItemCode = val; |
| | | }, |
| | | resetState() { |
| | | this.curProdRotTree = null; |
| | | this.rotList = []; |
| | | this.curProdRotTree = []; |
| | | this.curPkgConfig = {}; |
| | | this.curSelectedNodes = {}; |
| | | }, |
| | | /** |
| | | * @description: 设置默认工艺路线 |
| | | * @return {*} |
| | | */ |
| | | setDefaulRoute() { |
| | | const { createConfirm } = useMessage(); |
| | | const { t } = useI18n(); |
| | | createConfirm({ |
| | | iconType: 'warning', |
| | | title: () => h('span', t('sys.app.logoutTip')), |
| | | content: () => h('span', t('sys.app.logoutMessage')), |
| | | onOk: async () => { |
| | | // 主动登出,不带redirect地址 |
| | | // await this.logout(true); |
| | | async setDefaulRoute(param) { |
| | | /* 设置默认工艺路线 */ |
| | | var action = await SetDefaultRoute({ |
| | | rotCode: param.others['code'], |
| | | prodCode: param.keyCode, |
| | | custCode: '', |
| | | 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'], |
| | | }); |
| | | if(action.IsSuccessed){ |
| | | this.curProdRotTree[0].children[0].children.map((item) => { |
| | | if(item.code == param.others['code']){ |
| | | item.isDefault = true; |
| | | }else{ |
| | | item.isDefault = false; |
| | | } |
| | | }); |
| | | } |
| | | return action; |
| | | }, |
| | | /** |
| | | * @description: 查找父项并返回 |
| | | * @param {string} tid |
| | | * @return {*} |
| | | */ |
| | | getParent(tid: string): MesRotTree{ |
| | | return findParent(this.getCurProdRotTree,tid) as unknown as MesRotTree; |
| | | } |
| | | }, |
| | | }); |
| | | |