From 3f3817a39238b262155cd5ec76fa351bb344602d Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期三, 01 一月 2025 21:33:57 +0800 Subject: [PATCH] 打印工单流程卡 --- src/store/modules/prodRoute.ts | 179 ++++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 150 insertions(+), 29 deletions(-) diff --git a/src/store/modules/prodRoute.ts b/src/store/modules/prodRoute.ts index 51da415..6aa6264 100644 --- a/src/store/modules/prodRoute.ts +++ b/src/store/modules/prodRoute.ts @@ -4,61 +4,182 @@ * @version: * @Date: 2024-06-18 15:09:47 * @LastEditors: Ben Lin - * @LastEditTime: 2024-10-08 16:10:48 + * @LastEditTime: 2024-10-22 08:37:57 */ 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 { 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: Nullable<MesRotTree>; - rotList: MesRotTree[]; + 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: null, - rotList: [], + curProdRotTree: [], + curConfig: {}, + curSelectedNodes: [], + ItemCode: '', + curDtl: {}, + changeToCPPage: false, + name: '', + CustCode: '', + Wo: '' }), getters: { - getCurProdRotTree(state): MesRotTree | null { + getCurProdRotTree(state): PageRotTree[] { return state.curProdRotTree; }, - getRotList(state): MesRotTree[] { - return state.rotList; + getCurConfig(state): any { + return state.curConfig; + }, + 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: { - getRotList(roleList: MesRotTree[]) { - this.rotList = roleList; + setCurPkgConfig(val: any) { + this.curConfig = val; }, - setUserInfo(info: MesRotTree | null) { - 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) { + 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 = null; - this.rotList = []; + this.curProdRotTree = []; + this.curConfig = {}; + this.curSelectedNodes = []; + this.curDtl = {}; + this.name = ''; + this.ItemCode = ''; + this.CustCode = ''; }, /** * @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 () => { - // 涓诲姩鐧诲嚭锛屼笉甯edirect鍦板潃 - // 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) { + 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 { + item.isDefault = false; + } + }); + } + return action; + }, + /** + * @description: 鏌ユ壘鐖堕」骞惰繑鍥� + * @param {string} tid + * @return {*} + */ + getParent(tid: string): MesRotTree { + const rotTree = this.getCurProdRotTree.filter((q) => q.name == this.getname); + return findParent(rotTree[0].treeInfo, tid) as unknown as MesRotTree; }, }, }); -- Gitblit v1.9.3