目录结构变更
This commit is contained in:
@@ -32,7 +32,7 @@ import { ref } from 'vue';
|
|||||||
import { useDialog } from '@/utils/useDialog';
|
import { useDialog } from '@/utils/useDialog';
|
||||||
import { useTraceOrderStore } from '@/store';
|
import { useTraceOrderStore } from '@/store';
|
||||||
import { message } from 'ant-design-vue';
|
import { message } from 'ant-design-vue';
|
||||||
import { addQualityAbnormalContact } from '@/api/pwoManage';
|
import { addQualityAbnormalContact } from '@/api/traceOrderManage';
|
||||||
|
|
||||||
const traceOrderStore = useTraceOrderStore();
|
const traceOrderStore = useTraceOrderStore();
|
||||||
|
|
||||||
|
|||||||
@@ -15,72 +15,72 @@ const routes = [
|
|||||||
component: () => import("@/views/login.vue"),
|
component: () => import("@/views/login.vue"),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: "/pwoManage",
|
path: "/traceOrderManage",
|
||||||
name: "PwoManage",
|
name: "TraceOrderManage",
|
||||||
component: () => import("@/views/pwoManage/layout.vue"),
|
component: () => import("@/views/traceOrderManage/layout.vue"),
|
||||||
redirect: { name: "PwoManageIndex" },
|
redirect: { name: "TraceOrderManageIndex" },
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
path: "",
|
path: "",
|
||||||
name: "PwoManageIndex",
|
name: "TraceOrderManageIndex",
|
||||||
component: () => import("@/views/pwoManage/index.vue"),
|
component: () => import("@/views/traceOrderManage/index.vue"),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: "infeed",
|
path: "infeed",
|
||||||
name: "Infeed",
|
name: "Infeed",
|
||||||
component: () => import("@/views/pwoManage/infeed/layout.vue"),
|
component: () => import("@/views/traceOrderManage/infeed/layout.vue"),
|
||||||
redirect: { name: "PrimaryMaterial" },
|
redirect: { name: "PrimaryMaterial" },
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
path: "primaryMaterial",
|
path: "primaryMaterial",
|
||||||
name: "PrimaryMaterial",
|
name: "PrimaryMaterial",
|
||||||
component: () =>
|
component: () =>
|
||||||
import("@/views/pwoManage/infeed/primaryMaterial/index.vue"),
|
import("@/views/traceOrderManage/infeed/primaryMaterial/index.vue"),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: "rawMaterial",
|
path: "rawMaterial",
|
||||||
name: "RawMaterial",
|
name: "RawMaterial",
|
||||||
component: () =>
|
component: () =>
|
||||||
import("@/views/pwoManage/infeed/rawMaterial/index.vue"),
|
import("@/views/traceOrderManage/infeed/rawMaterial/index.vue"),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: "mask",
|
path: "mask",
|
||||||
name: "Mask",
|
name: "Mask",
|
||||||
component: () => import("@/views/pwoManage/infeed/mask/index.vue"),
|
component: () => import("@/views/traceOrderManage/infeed/mask/index.vue"),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: "equipment",
|
path: "equipment",
|
||||||
name: "Equipment",
|
name: "Equipment",
|
||||||
component: () =>
|
component: () =>
|
||||||
import("@/views/pwoManage/infeed/equipment/index.vue"),
|
import("@/views/traceOrderManage/infeed/equipment/index.vue"),
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: "outfeed",
|
path: "outfeed",
|
||||||
name: "Outfeed",
|
name: "Outfeed",
|
||||||
component: () => import("@/views/pwoManage/outfeed/layout.vue"),
|
component: () => import("@/views/traceOrderManage/outfeed/layout.vue"),
|
||||||
redirect: { name: "JobReport" },
|
redirect: { name: "JobReport" },
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
path: "jobReport",
|
path: "jobReport",
|
||||||
name: "JobReport",
|
name: "JobReport",
|
||||||
component: () =>
|
component: () =>
|
||||||
import("@/views/pwoManage/outfeed/jobReport/index.vue"),
|
import("@/views/traceOrderManage/outfeed/jobReport/index.vue"),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: "parameterConfiguration",
|
path: "parameterConfiguration",
|
||||||
name: "ParameterConfiguration",
|
name: "ParameterConfiguration",
|
||||||
component: () =>
|
component: () =>
|
||||||
import(
|
import(
|
||||||
"@/views/pwoManage/outfeed/parameterConfiguration/index.vue"
|
"@/views/traceOrderManage/outfeed/parameterConfiguration/index.vue"
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: "processGuidance",
|
path: "processGuidance",
|
||||||
name: "ProcessGuidance",
|
name: "ProcessGuidance",
|
||||||
component: () =>
|
component: () =>
|
||||||
import("@/views/pwoManage/outfeed/processGuidance/index.vue"),
|
import("@/views/traceOrderManage/outfeed/processGuidance/index.vue"),
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -3,11 +3,11 @@ import { ref } from "vue";
|
|||||||
import { message } from "ant-design-vue";
|
import { message } from "ant-design-vue";
|
||||||
import { debounce } from 'lodash';
|
import { debounce } from 'lodash';
|
||||||
|
|
||||||
import { listStation, getStation } from "@/api/pwoManage/station";
|
import { listStation, getStation } from "@/api/traceOrderManage/station";
|
||||||
import {
|
import {
|
||||||
listLotTraceOrder,
|
listLotTraceOrder,
|
||||||
getLotTraceOrder,
|
getLotTraceOrder,
|
||||||
} from "@/api/pwoManage";
|
} from "@/api/traceOrderManage";
|
||||||
|
|
||||||
export const useTraceOrderStore = defineStore("traceOrder", () => {
|
export const useTraceOrderStore = defineStore("traceOrder", () => {
|
||||||
/* ========= 核心业务状态 ========= */
|
/* ========= 核心业务状态 ========= */
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<Header title="MES 过站平台" showLogout />
|
<Header title="MES 过站平台" showLogout />
|
||||||
|
|
||||||
<div class="menu-grid">
|
<div class="menu-grid">
|
||||||
<a-card class="menu-card" shadow="hover" @click="handleJumpTo('PwoManage')">
|
<a-card class="menu-card" shadow="hover" @click="handleJumpTo('TraceOrderManage')">
|
||||||
<div class="icon-wrap">
|
<div class="icon-wrap">
|
||||||
<i-lucide-building />
|
<i-lucide-building />
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import {
|
|||||||
listEquipmentEntry,
|
listEquipmentEntry,
|
||||||
addEquipmentEntry,
|
addEquipmentEntry,
|
||||||
delEquipmentEntry,
|
delEquipmentEntry,
|
||||||
} from '@/api/pwoManage/equipment';
|
} from '@/api/traceOrderManage/equipment';
|
||||||
|
|
||||||
const traceOrderStore = useTraceOrderStore();
|
const traceOrderStore = useTraceOrderStore();
|
||||||
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, computed, inject } from 'vue';
|
import { ref, computed, inject } from 'vue';
|
||||||
import { useRouter, useRoute } from 'vue-router';
|
import { useRouter, useRoute } from 'vue-router';
|
||||||
import { startStation } from '@/api/pwoManage/station';
|
import { startStation } from '@/api/traceOrderManage/station';
|
||||||
import { useTraceOrderStore } from '@/store';
|
import { useTraceOrderStore } from '@/store';
|
||||||
import { message } from 'ant-design-vue';
|
import { message } from 'ant-design-vue';
|
||||||
|
|
||||||
@@ -29,7 +29,7 @@ const handleInfeed = async () => {
|
|||||||
try {
|
try {
|
||||||
await startStation(traceOrderStore.currentStationId);
|
await startStation(traceOrderStore.currentStationId);
|
||||||
message.success('进站成功');
|
message.success('进站成功');
|
||||||
router.push({ name: 'PwoManage' });
|
router.push({ name: 'TraceOrderManage' });
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
message.error(error.message || '进站失败');
|
message.error(error.message || '进站失败');
|
||||||
} finally {
|
} finally {
|
||||||
@@ -2,8 +2,8 @@
|
|||||||
import { ref, onMounted, reactive } from 'vue';
|
import { ref, onMounted, reactive } from 'vue';
|
||||||
import { message } from 'ant-design-vue';
|
import { message } from 'ant-design-vue';
|
||||||
import type { ColumnsType } from 'ant-design-vue/es/table/interface';
|
import type { ColumnsType } from 'ant-design-vue/es/table/interface';
|
||||||
import { listMaskCombination } from "@/api/pwoManage/maskCombination";
|
import { listMaskCombination } from "@/api/traceOrderManage/maskCombination";
|
||||||
import { listStationBindMask, bindMaskCombinationToStations, unbindStationMask } from "@/api/pwoManage/mask";
|
import { listStationBindMask, bindMaskCombinationToStations, unbindStationMask } from "@/api/traceOrderManage/mask";
|
||||||
import { useTraceOrderStore } from '@/store';
|
import { useTraceOrderStore } from '@/store';
|
||||||
|
|
||||||
const traceOrderStore = useTraceOrderStore();
|
const traceOrderStore = useTraceOrderStore();
|
||||||
@@ -3,7 +3,7 @@ import { ref, onMounted } from 'vue';
|
|||||||
import { useTraceOrderStore } from '@/store'
|
import { useTraceOrderStore } from '@/store'
|
||||||
import type { ColumnsType } from 'ant-design-vue/es/table/interface';
|
import type { ColumnsType } from 'ant-design-vue/es/table/interface';
|
||||||
import { message } from 'ant-design-vue'
|
import { message } from 'ant-design-vue'
|
||||||
import { listMainMaterialEntryLog, addWaferEntryLogByCarrier, addDieEntryLogByCarrier, addWaferEntryLog, addDieEntryLog, delMainMaterialEntryLog } from '@/api/pwoManage/primaryMaterial'
|
import { listMainMaterialEntryLog, addWaferEntryLogByCarrier, addDieEntryLogByCarrier, addWaferEntryLog, addDieEntryLog, delMainMaterialEntryLog } from '@/api/traceOrderManage/primaryMaterial'
|
||||||
|
|
||||||
const traceOrderStore = useTraceOrderStore();
|
const traceOrderStore = useTraceOrderStore();
|
||||||
|
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
import { ref, nextTick, getCurrentInstance } from 'vue';
|
import { ref, nextTick, getCurrentInstance } from 'vue';
|
||||||
import { useRoute, useRouter } from 'vue-router';
|
import { useRoute, useRouter } from 'vue-router';
|
||||||
import { useTraceOrderStore } from '@/store';
|
import { useTraceOrderStore } from '@/store';
|
||||||
import type { LotTraceOrderData } from '@/api/pwoManage/model';
|
import type { LotTraceOrderData } from '@/api/traceOrderManage/model';
|
||||||
import { handleCopy } from '@/utils/copyToClipboard';
|
import { handleCopy } from '@/utils/copyToClipboard';
|
||||||
|
|
||||||
const { proxy } = getCurrentInstance() as any
|
const { proxy } = getCurrentInstance() as any
|
||||||
@@ -112,7 +112,7 @@ const toggleCollapse = async () => {
|
|||||||
<a-space>
|
<a-space>
|
||||||
工单编码
|
工单编码
|
||||||
<a-select v-model:value="traceOrderStore.currentTraceOrderCode" show-search placeholder="输入工单编码" style="width: 300px"
|
<a-select v-model:value="traceOrderStore.currentTraceOrderCode" show-search placeholder="输入工单编码" style="width: 300px"
|
||||||
:show-arrow="false" :options="traceOrderStore.traceOrderOptions" @search="traceOrderStore.fetchTraceOrderOption" :disabled="route.name !== 'PwoManageIndex'"
|
:show-arrow="false" :options="traceOrderStore.traceOrderOptions" @search="traceOrderStore.fetchTraceOrderOption" :disabled="route.name !== 'TraceOrderManageIndex'"
|
||||||
@change="(val, option) => traceOrderStore.selectTraceOrder(val as string, option as LotTraceOrderData)" />
|
@change="(val, option) => traceOrderStore.selectTraceOrder(val as string, option as LotTraceOrderData)" />
|
||||||
<a-button @click="traceOrderStore.fetchTraceOrderInfo"><template #icon><i-lucide-rotate-cw /></template></a-button>
|
<a-button @click="traceOrderStore.fetchTraceOrderInfo"><template #icon><i-lucide-rotate-cw /></template></a-button>
|
||||||
</a-space>
|
</a-space>
|
||||||
@@ -161,8 +161,8 @@ const toggleCollapse = async () => {
|
|||||||
<!-- Action Buttons -->
|
<!-- Action Buttons -->
|
||||||
<a-col :span="3" class="action-buttons-col">
|
<a-col :span="3" class="action-buttons-col">
|
||||||
<div class="action-buttons" v-show="!collapsed">
|
<div class="action-buttons" v-show="!collapsed">
|
||||||
<a-button class="action-btn" @click="redirectTo('PwoManage')" :disabled="route.name == 'PwoManageIndex'">工单管理</a-button>
|
<a-button class="action-btn" @click="redirectTo('TraceOrderManage')" :disabled="route.name == 'TraceOrderManageIndex'">工单管理</a-button>
|
||||||
<a-button class="action-btn" @click="redirectTo('PrimaryMaterial')">主材清单</a-button>
|
<a-button class="action-btn" @click="redirectTo('PrimaryMaterial')" disabled>主材清单</a-button>
|
||||||
<HoldTraceOrder />
|
<HoldTraceOrder />
|
||||||
</div>
|
</div>
|
||||||
<a-card title="操作" class="info-card" :bordered="false" v-show="collapsed">
|
<a-card title="操作" class="info-card" :bordered="false" v-show="collapsed">
|
||||||
@@ -170,8 +170,8 @@ const toggleCollapse = async () => {
|
|||||||
<a-dropdown>
|
<a-dropdown>
|
||||||
<template #overlay>
|
<template #overlay>
|
||||||
<a-menu>
|
<a-menu>
|
||||||
<a-menu-item key="1" @click="redirectTo('PwoManage')">工单管理</a-menu-item>
|
<a-menu-item key="1" @click="redirectTo('TraceOrderManage')">工单管理</a-menu-item>
|
||||||
<a-menu-item key="2" @click="redirectTo('PrimaryMaterial')">主材清单</a-menu-item>
|
<a-menu-item key="2" @click="redirectTo('PrimaryMaterial')" disabled>主材清单</a-menu-item>
|
||||||
</a-menu>
|
</a-menu>
|
||||||
</template>
|
</template>
|
||||||
<a-button>
|
<a-button>
|
||||||
@@ -3,7 +3,7 @@ import { ref, reactive, onMounted, computed, getCurrentInstance } from 'vue';
|
|||||||
import { message } from 'ant-design-vue';
|
import { message } from 'ant-design-vue';
|
||||||
import { useTraceOrderStore } from '@/store';
|
import { useTraceOrderStore } from '@/store';
|
||||||
import type { ColumnsType } from 'ant-design-vue/es/table/interface';
|
import type { ColumnsType } from 'ant-design-vue/es/table/interface';
|
||||||
import { listMainMaterialEntryLog, listMainMaterialOutboundLog, batchAddMainMaterialOutboundLog, getMainMaterialOutboundLog, updateMainMaterialOutboundLog, delMainMaterialOutboundLog } from "@/api/pwoManage/primaryMaterial";
|
import { listMainMaterialEntryLog, listMainMaterialOutboundLog, batchAddMainMaterialOutboundLog, getMainMaterialOutboundLog, updateMainMaterialOutboundLog, delMainMaterialOutboundLog } from "@/api/traceOrderManage/primaryMaterial";
|
||||||
|
|
||||||
const { proxy } = getCurrentInstance() as any
|
const { proxy } = getCurrentInstance() as any
|
||||||
const { main_material_ok_level, main_material_ng_level } = proxy.useDict("main_material_ok_level", "main_material_ng_level")
|
const { main_material_ok_level, main_material_ng_level } = proxy.useDict("main_material_ok_level", "main_material_ng_level")
|
||||||
@@ -2,8 +2,8 @@
|
|||||||
import { ref, computed, reactive } from 'vue';
|
import { ref, computed, reactive } from 'vue';
|
||||||
import { useRouter, useRoute } from 'vue-router';
|
import { useRouter, useRoute } from 'vue-router';
|
||||||
import { message } from 'ant-design-vue';
|
import { message } from 'ant-design-vue';
|
||||||
import { listStorageLocation } from '@/api/pwoManage/location';
|
import { listStorageLocation } from '@/api/traceOrderManage/location';
|
||||||
import { completeStation } from '@/api/pwoManage/station';
|
import { completeStation } from '@/api/traceOrderManage/station';
|
||||||
import { useTraceOrderStore } from '@/store';
|
import { useTraceOrderStore } from '@/store';
|
||||||
|
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
@@ -52,7 +52,7 @@ const handleOutfeed = async () => {
|
|||||||
await completeStation(traceOrderStore.currentStationId, storage);
|
await completeStation(traceOrderStore.currentStationId, storage);
|
||||||
openSelectLocation.value = false;
|
openSelectLocation.value = false;
|
||||||
message.success('出站成功');
|
message.success('出站成功');
|
||||||
router.push({ name: 'PwoManage' });
|
router.push({ name: 'TraceOrderManage' });
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
message.error(error.message || '出站失败');
|
message.error(error.message || '出站失败');
|
||||||
} finally {
|
} finally {
|
||||||
Reference in New Issue
Block a user