|
@@ -1,22 +1,22 @@
|
|
<template>
|
|
<template>
|
|
<div class="mainContentBox">
|
|
<div class="mainContentBox">
|
|
<avue-crud
|
|
<avue-crud
|
|
- ref="crudRef"
|
|
|
|
- v-model:search="search"
|
|
|
|
- v-loading="loading"
|
|
|
|
- v-model="form"
|
|
|
|
- :data="data"
|
|
|
|
- :option="option"
|
|
|
|
- v-model:page="page"
|
|
|
|
- :permission="permission"
|
|
|
|
- @row-save="createRow"
|
|
|
|
- @row-update="updateRow"
|
|
|
|
- @row-del="deleteRow"
|
|
|
|
- @search-change="searchChange"
|
|
|
|
- @search-reset="resetChange"
|
|
|
|
- @size-change="dataList"
|
|
|
|
- @current-change="dataList"
|
|
|
|
- @selection-change="selectionChange"
|
|
|
|
|
|
+ ref="crudRef"
|
|
|
|
+ v-model:search="search"
|
|
|
|
+ v-loading="loading"
|
|
|
|
+ v-model="form"
|
|
|
|
+ :data="data"
|
|
|
|
+ :option="option"
|
|
|
|
+ v-model:page="page"
|
|
|
|
+ :permission="permission"
|
|
|
|
+ @row-save="createRow"
|
|
|
|
+ @row-update="updateRow"
|
|
|
|
+ @row-del="deleteRow"
|
|
|
|
+ @search-change="searchChange"
|
|
|
|
+ @search-reset="resetChange"
|
|
|
|
+ @size-change="dataList"
|
|
|
|
+ @current-change="dataList"
|
|
|
|
+ @selection-change="selectionChange"
|
|
>
|
|
>
|
|
<template #menu-left="{ size }">
|
|
<template #menu-left="{ size }">
|
|
<el-button
|
|
<el-button
|
|
@@ -28,81 +28,115 @@
|
|
>删除</el-button
|
|
>删除</el-button
|
|
>
|
|
>
|
|
<el-button
|
|
<el-button
|
|
- :disabled="toDeleteIds.length < 1"
|
|
|
|
- type="primary"
|
|
|
|
- icon="el-icon-primary"
|
|
|
|
- :size="size"
|
|
|
|
- @click="aps1"
|
|
|
|
- >批量排程</el-button
|
|
|
|
|
|
+ :disabled="toDeleteIds.length < 1"
|
|
|
|
+ type="primary"
|
|
|
|
+ icon="el-icon-primary"
|
|
|
|
+ :size="size"
|
|
|
|
+ @click="aps1"
|
|
|
|
+ >批量排程</el-button
|
|
>
|
|
>
|
|
</template>
|
|
</template>
|
|
- <template #menu="{size,row,index}">
|
|
|
|
|
|
+ <template #menu="{ size, row, index }">
|
|
<el-button
|
|
<el-button
|
|
- v-hasPerm="[buttonPermission.PLAN.BTNS.work_order_edit]"
|
|
|
|
- v-if="row.workOrderState === '0' || row.workOrderState === '1' || row.workOrderState === '2'"
|
|
|
|
- type="primary"
|
|
|
|
- link
|
|
|
|
- size="small"
|
|
|
|
- @click="handleEdit(row,0)"
|
|
|
|
- ><i-ep-edit />编辑
|
|
|
|
|
|
+ v-hasPerm="[buttonPermission.PLAN.BTNS.work_order_edit]"
|
|
|
|
+ v-if="
|
|
|
|
+ row.workOrderState === '0' ||
|
|
|
|
+ row.workOrderState === '1' ||
|
|
|
|
+ row.workOrderState === '2'
|
|
|
|
+ "
|
|
|
|
+ type="primary"
|
|
|
|
+ link
|
|
|
|
+ size="small"
|
|
|
|
+ @click="handleEdit(row, 0)"
|
|
|
|
+ ><i-ep-edit />编辑
|
|
</el-button>
|
|
</el-button>
|
|
- <el-button @click="aps(row.id)"
|
|
|
|
- icon="el-icon-setting"
|
|
|
|
- text
|
|
|
|
- v-hasPerm="[buttonPermission.PLAN.BTNS.work_order_aps]"
|
|
|
|
- v-if="row.workOrderState === '0' || row.workOrderState === '1' || row.workOrderState === '2'"
|
|
|
|
- type="primary"
|
|
|
|
- :size="size">排程</el-button>
|
|
|
|
- <el-button
|
|
|
|
- icon="el-icon-setting"
|
|
|
|
- text
|
|
|
|
- v-hasPerm="[buttonPermission.PLAN.BTNS.work_order_lock]"
|
|
|
|
- v-if="row.workOrderState === '4'"
|
|
|
|
- @click="lockOrUnLockWorkOrder(row.id,5)"
|
|
|
|
- type="primary"
|
|
|
|
- :size="size">冻结</el-button>
|
|
|
|
<el-button
|
|
<el-button
|
|
- icon="el-icon-setting"
|
|
|
|
- text
|
|
|
|
- v-if="row.workOrderState === '5'"
|
|
|
|
- v-hasPerm="[buttonPermission.PLAN.BTNS.work_order_lock]"
|
|
|
|
- @click="lockOrUnLockWorkOrder(row.id,4)"
|
|
|
|
- type="primary"
|
|
|
|
- :size="size">解冻</el-button>
|
|
|
|
|
|
+ @click="aps(row.id)"
|
|
|
|
+ icon="el-icon-setting"
|
|
|
|
+ text
|
|
|
|
+ v-hasPerm="[buttonPermission.PLAN.BTNS.work_order_aps]"
|
|
|
|
+ v-if="
|
|
|
|
+ row.workOrderState === '0' ||
|
|
|
|
+ row.workOrderState === '1' ||
|
|
|
|
+ row.workOrderState === '2'
|
|
|
|
+ "
|
|
|
|
+ type="primary"
|
|
|
|
+ :size="size"
|
|
|
|
+ >排程</el-button
|
|
|
|
+ >
|
|
|
|
+ <el-button
|
|
|
|
+ icon="el-icon-setting"
|
|
|
|
+ text
|
|
|
|
+ v-hasPerm="[buttonPermission.PLAN.BTNS.work_order_lock]"
|
|
|
|
+ v-if="row.workOrderState === '4'"
|
|
|
|
+ @click="lockOrUnLockWorkOrder(row.id, 5)"
|
|
|
|
+ type="primary"
|
|
|
|
+ :size="size"
|
|
|
|
+ >冻结</el-button
|
|
|
|
+ >
|
|
|
|
+ <el-button
|
|
|
|
+ icon="el-icon-setting"
|
|
|
|
+ text
|
|
|
|
+ v-if="row.workOrderState === '5'"
|
|
|
|
+ v-hasPerm="[buttonPermission.PLAN.BTNS.work_order_lock]"
|
|
|
|
+ @click="lockOrUnLockWorkOrder(row.id, 4)"
|
|
|
|
+ type="primary"
|
|
|
|
+ :size="size"
|
|
|
|
+ >解冻</el-button
|
|
|
|
+ >
|
|
|
|
+ <el-button
|
|
|
|
+ icon="el-icon-setting"
|
|
|
|
+ text
|
|
|
|
+ v-if="row.workOrderState === '2'"
|
|
|
|
+ @click="distribute(row.id)"
|
|
|
|
+ type="primary"
|
|
|
|
+ v-hasPerm="[buttonPermission.PLAN.BTNS.work_order_aps]"
|
|
|
|
+ :size="size"
|
|
|
|
+ >下发</el-button
|
|
|
|
+ >
|
|
<el-button
|
|
<el-button
|
|
- icon="el-icon-setting"
|
|
|
|
- text
|
|
|
|
- v-if="row.workOrderState === '2'"
|
|
|
|
- @click="distribute(row.id)"
|
|
|
|
- type="primary"
|
|
|
|
- v-hasPerm="[buttonPermission.PLAN.BTNS.work_order_aps]"
|
|
|
|
- :size="size">下发</el-button>
|
|
|
|
|
|
+ icon="el-icon-setting"
|
|
|
|
+ text
|
|
|
|
+ @click="showSeqPage(row)"
|
|
|
|
+ type="primary"
|
|
|
|
+ :size="size"
|
|
|
|
+ >流转卡号</el-button
|
|
|
|
+ >
|
|
<el-button
|
|
<el-button
|
|
- icon="el-icon-setting"
|
|
|
|
- text
|
|
|
|
- @click="showSeqPage(row)"
|
|
|
|
- type="primary"
|
|
|
|
- :size="size">流转卡号</el-button>
|
|
|
|
|
|
+ icon="el-icon-delete"
|
|
|
|
+ text
|
|
|
|
+ v-if="row.workOrderState === '3'"
|
|
|
|
+ @click="revoke(row.id)"
|
|
|
|
+ type="primary"
|
|
|
|
+ :size="size"
|
|
|
|
+ >撤销</el-button
|
|
|
|
+ >
|
|
<el-button
|
|
<el-button
|
|
- icon="el-icon-delete"
|
|
|
|
- text
|
|
|
|
- v-if="row.workOrderState === '3'"
|
|
|
|
- @click="revoke(row.id)"
|
|
|
|
- type="primary"
|
|
|
|
- :size="size">撤销</el-button>
|
|
|
|
|
|
+ icon="el-icon-setting"
|
|
|
|
+ text
|
|
|
|
+ @click="showCheckTask(row)"
|
|
|
|
+ type="primary"
|
|
|
|
+ :size="size"
|
|
|
|
+ >检验任务</el-button
|
|
|
|
+ >
|
|
<el-button
|
|
<el-button
|
|
- icon="el-icon-setting"
|
|
|
|
- text
|
|
|
|
- @click="showCheckTask(row)"
|
|
|
|
- type="primary"
|
|
|
|
- :size="size">检验任务</el-button>
|
|
|
|
|
|
+ icon="el-icon-setting"
|
|
|
|
+ text
|
|
|
|
+ @click="jumpPage(row.workOrderCode, 2)"
|
|
|
|
+ type="primary"
|
|
|
|
+ :size="size"
|
|
|
|
+ >生产准备</el-button
|
|
|
|
+ >
|
|
<el-button
|
|
<el-button
|
|
- icon="el-icon-setting"
|
|
|
|
- text
|
|
|
|
- @click="jumpPage(row.workOrderCode,2)"
|
|
|
|
- type="primary"
|
|
|
|
- :size="size">生产准备</el-button>
|
|
|
|
- <!-- <el-button
|
|
|
|
|
|
+ icon="el-icon-setting"
|
|
|
|
+ text
|
|
|
|
+ @click="showProExcel(row.id)"
|
|
|
|
+ type="primary"
|
|
|
|
+ v-if="row.isExcel == 1"
|
|
|
|
+ :size="size"
|
|
|
|
+ >生产随工单</el-button
|
|
|
|
+ >
|
|
|
|
+ <!-- <el-button
|
|
icon="el-icon-notebook"
|
|
icon="el-icon-notebook"
|
|
text
|
|
text
|
|
v-if="row.workOrderState === '6'&&row.packageUrl==='0'"
|
|
v-if="row.workOrderState === '6'&&row.packageUrl==='0'"
|
|
@@ -121,93 +155,118 @@
|
|
</template>
|
|
</template>
|
|
</avue-crud>
|
|
</avue-crud>
|
|
<el-dialog
|
|
<el-dialog
|
|
- v-model="dialog.visible"
|
|
|
|
- :title="dialog.title"
|
|
|
|
- width="80%"
|
|
|
|
- @close="dialog.visible = false"
|
|
|
|
|
|
+ v-model="dialog.visible"
|
|
|
|
+ :title="dialog.title"
|
|
|
|
+ width="80%"
|
|
|
|
+ @close="dialog.visible = false"
|
|
>
|
|
>
|
|
- <order-page queryType="1" @orderInfo="orderInfo"/>
|
|
|
|
|
|
+ <order-page queryType="1" @order-info="orderInfo" />
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
|
|
|
<el-dialog
|
|
<el-dialog
|
|
- v-model="dialog1.visible"
|
|
|
|
- :title="dialog1.title"
|
|
|
|
- width="80%"
|
|
|
|
- @close="dialog1.visible = false"
|
|
|
|
|
|
+ v-model="dialog1.visible"
|
|
|
|
+ :title="dialog1.title"
|
|
|
|
+ width="80%"
|
|
|
|
+ @close="dialog1.visible = false"
|
|
>
|
|
>
|
|
- <choice-route-page :processRouteType="processRouteType" :material-code="form.materialCode" @routeInfo="routeInfo"/>
|
|
|
|
|
|
+ <choice-route-page
|
|
|
|
+ :processRouteType="processRouteType"
|
|
|
|
+ :material-code="form.materialCode"
|
|
|
|
+ @route-info="routeInfo"
|
|
|
|
+ />
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
|
|
|
<el-dialog
|
|
<el-dialog
|
|
- v-model="dialog2.visible"
|
|
|
|
- :title="dialog2.title"
|
|
|
|
- width="80%"
|
|
|
|
- @close="dialog2.visible = false"
|
|
|
|
|
|
+ v-model="dialog2.visible"
|
|
|
|
+ :title="dialog2.title"
|
|
|
|
+ width="80%"
|
|
|
|
+ @close="dialog2.visible = false"
|
|
>
|
|
>
|
|
- <choice-workshop-page @workShopInfo="workShopInfo"/>
|
|
|
|
|
|
+ <choice-workshop-page @work-shop-info="workShopInfo" />
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
|
|
|
<el-dialog
|
|
<el-dialog
|
|
- v-model="dialog3.visible"
|
|
|
|
- :title="dialog3.title"
|
|
|
|
- width="80%"
|
|
|
|
- @close="dialog3.visible = false"
|
|
|
|
|
|
+ v-model="dialog3.visible"
|
|
|
|
+ :title="dialog3.title"
|
|
|
|
+ width="80%"
|
|
|
|
+ @close="dialog3.visible = false"
|
|
>
|
|
>
|
|
- <choice-line-page :parentCode="form.workshopCode" :materialCode="form.materialCode" @lineInfo="lineInfo"/>
|
|
|
|
|
|
+ <choice-line-page
|
|
|
|
+ :parentCode="form.workshopCode"
|
|
|
|
+ :materialCode="form.materialCode"
|
|
|
|
+ @line-info="lineInfo"
|
|
|
|
+ />
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
|
|
|
<el-dialog
|
|
<el-dialog
|
|
- v-model="dialog4.visible"
|
|
|
|
- :title="dialog4.title"
|
|
|
|
- width="950px"
|
|
|
|
- @close="dialog4.visible = false"
|
|
|
|
|
|
+ v-model="dialog4.visible"
|
|
|
|
+ :title="dialog4.title"
|
|
|
|
+ width="950px"
|
|
|
|
+ @close="dialog4.visible = false"
|
|
>
|
|
>
|
|
- <work-order-seq :workOrderInfo="form"/>
|
|
|
|
|
|
+ <work-order-seq :workOrderInfo="form" />
|
|
</el-dialog>
|
|
</el-dialog>
|
|
<el-dialog
|
|
<el-dialog
|
|
- v-model="dialog6.visible"
|
|
|
|
- :title="dialog6.title"
|
|
|
|
- width="1100px"
|
|
|
|
- @close="dialog6.visible = false"
|
|
|
|
|
|
+ v-model="dialog6.visible"
|
|
|
|
+ :title="dialog6.title"
|
|
|
|
+ width="1100px"
|
|
|
|
+ @close="dialog6.visible = false"
|
|
>
|
|
>
|
|
- <check-task :workOrderInfo="form"/>
|
|
|
|
|
|
+ <check-task :workOrderInfo="form" />
|
|
</el-dialog>
|
|
</el-dialog>
|
|
<el-dialog
|
|
<el-dialog
|
|
- v-model="dialog5.visible"
|
|
|
|
- :title="dialog5.title"
|
|
|
|
- width="450px"
|
|
|
|
- @close="dialog5.visible = false"
|
|
|
|
|
|
+ v-model="dialog5.visible"
|
|
|
|
+ :title="dialog5.title"
|
|
|
|
+ width="450px"
|
|
|
|
+ @close="dialog5.visible = false"
|
|
>
|
|
>
|
|
<el-form
|
|
<el-form
|
|
- ref="dataFormRef"
|
|
|
|
- :model="formData"
|
|
|
|
- :rules="rules"
|
|
|
|
- label-width="150px">
|
|
|
|
- <el-form-item label="排程时间" prop="apsTime" >
|
|
|
|
- <el-date-picker
|
|
|
|
|
|
+ ref="dataFormRef"
|
|
|
|
+ :model="formData"
|
|
|
|
+ :rules="rules"
|
|
|
|
+ label-width="150px"
|
|
|
|
+ >
|
|
|
|
+ <el-form-item label="排程时间" prop="apsTime">
|
|
|
|
+ <el-date-picker
|
|
v-model="formData.apsTime"
|
|
v-model="formData.apsTime"
|
|
type="date"
|
|
type="date"
|
|
- style="width:200px;"
|
|
|
|
|
|
+ style="width: 200px"
|
|
:disabled-date="disabledDate"
|
|
:disabled-date="disabledDate"
|
|
placeholder="请选择时间"
|
|
placeholder="请选择时间"
|
|
format="YYYY/MM/DD"
|
|
format="YYYY/MM/DD"
|
|
value-format="YYYY-MM-DD"
|
|
value-format="YYYY-MM-DD"
|
|
- />
|
|
|
|
|
|
+ />
|
|
|
|
|
|
-<!-- <el-input width="250px" v-model="formData.apsTime" type="date" format="YYYY-MM-DD" value-format="YYYY-MM-DD"/>-->
|
|
|
|
- </el-form-item>
|
|
|
|
|
|
+ <!-- <el-input width="250px" v-model="formData.apsTime" type="date" format="YYYY-MM-DD" value-format="YYYY-MM-DD"/>-->
|
|
|
|
+ </el-form-item>
|
|
<el-form-item label="优先级" prop="priority" v-if="apsType === 1">
|
|
<el-form-item label="优先级" prop="priority" v-if="apsType === 1">
|
|
- <el-select v-model="formData.priority" placeholder="排程类型"
|
|
|
|
- style="width:200px;">
|
|
|
|
- <el-option v-for="item in apsPriority" :label="item.dictLabel" :value="item.dictValue" :key="item.dictValue"></el-option>
|
|
|
|
|
|
+ <el-select
|
|
|
|
+ v-model="formData.priority"
|
|
|
|
+ placeholder="排程类型"
|
|
|
|
+ style="width: 200px"
|
|
|
|
+ >
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="item in apsPriority"
|
|
|
|
+ :label="item.dictLabel"
|
|
|
|
+ :value="item.dictValue"
|
|
|
|
+ :key="item.dictValue"
|
|
|
|
+ />
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="排程类型" prop="apsModel">
|
|
|
|
+ <el-select
|
|
|
|
+ v-model="formData.apsModel"
|
|
|
|
+ placeholder="排程类型"
|
|
|
|
+ style="width: 200px"
|
|
|
|
+ >
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="item in schedulingTypes"
|
|
|
|
+ :label="item.dictLabel"
|
|
|
|
+ :value="item.dictValue"
|
|
|
|
+ :key="item.dictValue"
|
|
|
|
+ />
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item label="排程类型" prop="apsModel">
|
|
|
|
- <el-select v-model="formData.apsModel" placeholder="排程类型"
|
|
|
|
- style="width:200px;">
|
|
|
|
- <el-option v-for="item in schedulingTypes" :label="item.dictLabel" :value="item.dictValue" :key="item.dictValue"></el-option>
|
|
|
|
- </el-select>
|
|
|
|
- </el-form-item>
|
|
|
|
</el-form>
|
|
</el-form>
|
|
<template #footer>
|
|
<template #footer>
|
|
<div class="dialog-footer">
|
|
<div class="dialog-footer">
|
|
@@ -215,7 +274,15 @@
|
|
<el-button @click="dialog5.visible = false">取 消</el-button>
|
|
<el-button @click="dialog5.visible = false">取 消</el-button>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
-
|
|
|
|
|
|
+ </el-dialog>
|
|
|
|
+ <!-- 生产随工单 -->
|
|
|
|
+ <el-dialog
|
|
|
|
+ v-model="workOderShow"
|
|
|
|
+ :title="updateTitle"
|
|
|
|
+ @close="workOderShow = false"
|
|
|
|
+ width="1600"
|
|
|
|
+ >
|
|
|
|
+ <proWorkOrderExcel :data="ExDataObj" @close="closeShow" />
|
|
</el-dialog>
|
|
</el-dialog>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
@@ -223,7 +290,13 @@
|
|
import { ref, getCurrentInstance } from "vue";
|
|
import { ref, getCurrentInstance } from "vue";
|
|
import { useCrud } from "@/hooks/userCrud";
|
|
import { useCrud } from "@/hooks/userCrud";
|
|
import buttonPermission from "@/common/configs/buttonPermission";
|
|
import buttonPermission from "@/common/configs/buttonPermission";
|
|
-import {apsWorkOrder,distributeWorkOrder,revokeWorkOrder,lockWorkOrder,zipWorkOrder} from "@/api/order"
|
|
|
|
|
|
+import {
|
|
|
|
+ apsWorkOrder,
|
|
|
|
+ distributeWorkOrder,
|
|
|
|
+ revokeWorkOrder,
|
|
|
|
+ lockWorkOrder,
|
|
|
|
+ zipWorkOrder,
|
|
|
|
+} from "@/api/order";
|
|
import { useCommonStoreHook } from "@/store";
|
|
import { useCommonStoreHook } from "@/store";
|
|
import dictDataUtil from "@/common/configs/dictDataUtil";
|
|
import dictDataUtil from "@/common/configs/dictDataUtil";
|
|
import ChoiceRoutePage from "./components/choice-route-page.vue";
|
|
import ChoiceRoutePage from "./components/choice-route-page.vue";
|
|
@@ -231,31 +304,52 @@ import ChoiceWorkshopPage from "./components/choice-workshop-page.vue";
|
|
import WorkOrderSeq from "./components/work-order-seq.vue";
|
|
import WorkOrderSeq from "./components/work-order-seq.vue";
|
|
import CheckTask from "./components/check-task.vue";
|
|
import CheckTask from "./components/check-task.vue";
|
|
import { checkPerm } from "@/directive/permission";
|
|
import { checkPerm } from "@/directive/permission";
|
|
-import {queryDictDataByType} from "@/api/system/dict"
|
|
|
|
|
|
+import { queryDictDataByType } from "@/api/system/dict";
|
|
|
|
+import { getProExcel } from "@/api/excel";
|
|
|
|
+import proWorkOrderExcel from "./components/proWorkOrderExcel.vue";
|
|
const { isShowTable, tableType } = toRefs(useCommonStoreHook());
|
|
const { isShowTable, tableType } = toRefs(useCommonStoreHook());
|
|
|
|
+const updateTitle = ref("生产随工单");
|
|
const router = useRouter();
|
|
const router = useRouter();
|
|
|
|
+const workOderShow = ref(false);
|
|
|
|
+const ExDataObj = ref({});
|
|
|
|
+const excelData = ref([]);
|
|
|
|
+const showProExcel = async (id) => {
|
|
|
|
+ const { data, code } = await getProExcel(id);
|
|
|
|
+ if (code == "200") {
|
|
|
|
+ ExDataObj.value = data;
|
|
|
|
+
|
|
|
|
+ workOderShow.value = true;
|
|
|
|
+ } else {
|
|
|
|
+ ExDataObj.value = {};
|
|
|
|
+
|
|
|
|
+ workOderShow.value = false;
|
|
|
|
+ }
|
|
|
|
+};
|
|
|
|
+const closeShow = () => {
|
|
|
|
+ workOderShow.value = false;
|
|
|
|
+};
|
|
const test = () => {
|
|
const test = () => {
|
|
isShowTable.value = true;
|
|
isShowTable.value = true;
|
|
tableType.value = tableType.value == 1 ? 2 : 1;
|
|
tableType.value = tableType.value == 1 ? 2 : 1;
|
|
};
|
|
};
|
|
-const processRouteType = ref('')
|
|
|
|
|
|
+const processRouteType = ref("");
|
|
const permission = reactive({
|
|
const permission = reactive({
|
|
delBtn: checkPerm(buttonPermission.PLAN.BTNS.work_order_del),
|
|
delBtn: checkPerm(buttonPermission.PLAN.BTNS.work_order_del),
|
|
addBtn: checkPerm(buttonPermission.PLAN.BTNS.work_order_add),
|
|
addBtn: checkPerm(buttonPermission.PLAN.BTNS.work_order_add),
|
|
editBtn: checkPerm(buttonPermission.PLAN.BTNS.work_order_edit),
|
|
editBtn: checkPerm(buttonPermission.PLAN.BTNS.work_order_edit),
|
|
menu: true,
|
|
menu: true,
|
|
});
|
|
});
|
|
-const disabledDate = (time) =>{
|
|
|
|
|
|
+const disabledDate = (time) => {
|
|
return time.getTime() < Date.now(); // 8.64e7 毫秒数代表一天
|
|
return time.getTime() < Date.now(); // 8.64e7 毫秒数代表一天
|
|
-}
|
|
|
|
|
|
+};
|
|
|
|
|
|
-const jumpPage= (workOrderCode,type) =>{
|
|
|
|
- if(type === 1){
|
|
|
|
- router.push('/requisition?workOrderCode=' + workOrderCode);
|
|
|
|
- }else{
|
|
|
|
- router.push('/plan/prepare?workOrderCode=' + workOrderCode);
|
|
|
|
|
|
+const jumpPage = (workOrderCode, type) => {
|
|
|
|
+ if (type === 1) {
|
|
|
|
+ router.push("/requisition?workOrderCode=" + workOrderCode);
|
|
|
|
+ } else {
|
|
|
|
+ router.push("/plan/prepare?workOrderCode=" + workOrderCode);
|
|
}
|
|
}
|
|
-}
|
|
|
|
|
|
+};
|
|
const dialog = reactive({
|
|
const dialog = reactive({
|
|
title: "订单选择",
|
|
title: "订单选择",
|
|
visible: false,
|
|
visible: false,
|
|
@@ -284,103 +378,100 @@ const dialog6 = reactive({
|
|
title: "检验任务",
|
|
title: "检验任务",
|
|
visible: false,
|
|
visible: false,
|
|
});
|
|
});
|
|
-const apsType = ref(0)
|
|
|
|
-const aps =(id)=>{
|
|
|
|
- apsType.value = 0
|
|
|
|
- formData.workOrderIds = [id]
|
|
|
|
- dialog5.visible = true
|
|
|
|
-}
|
|
|
|
-const showSeqPage =(workOrderCode)=>{
|
|
|
|
- form.value = workOrderCode
|
|
|
|
- dialog4.visible = true
|
|
|
|
-}
|
|
|
|
-const showCheckTask =(workOrderCode)=>{
|
|
|
|
- form.value = workOrderCode
|
|
|
|
- dialog6.visible = true
|
|
|
|
-}
|
|
|
|
-const distribute = (id)=>{
|
|
|
|
|
|
+const apsType = ref(0);
|
|
|
|
+const aps = (id) => {
|
|
|
|
+ apsType.value = 0;
|
|
|
|
+ formData.workOrderIds = [id];
|
|
|
|
+ dialog5.visible = true;
|
|
|
|
+};
|
|
|
|
+const showSeqPage = (workOrderCode) => {
|
|
|
|
+ form.value = workOrderCode;
|
|
|
|
+ dialog4.visible = true;
|
|
|
|
+};
|
|
|
|
+const showCheckTask = (workOrderCode) => {
|
|
|
|
+ form.value = workOrderCode;
|
|
|
|
+ dialog6.visible = true;
|
|
|
|
+};
|
|
|
|
+const distribute = (id) => {
|
|
ElMessageBox.confirm("当前操作不可逆,确定下发工单吗?")
|
|
ElMessageBox.confirm("当前操作不可逆,确定下发工单吗?")
|
|
- .then(() => {
|
|
|
|
- loading.value=true;
|
|
|
|
- distributeWorkOrder(id).then((data)=>{
|
|
|
|
- loading.value=false;
|
|
|
|
- ElMessage.success(data.msg);
|
|
|
|
- dataList()
|
|
|
|
- })
|
|
|
|
- })
|
|
|
|
- .catch(() => {
|
|
|
|
- // catch error
|
|
|
|
- });
|
|
|
|
-}
|
|
|
|
-const lockOrUnLockWorkOrder = (id,status)=>{
|
|
|
|
- let message = status === "4" ? "解冻" : "冻结"
|
|
|
|
- ElMessageBox.confirm("当前操作不可逆,确定"+message+"工单吗?")
|
|
|
|
- .then(() => {
|
|
|
|
- loading.value=true;
|
|
|
|
- lockWorkOrder({id: id,workOrderState: status}).then((data)=>{
|
|
|
|
- loading.value=false;
|
|
|
|
- ElMessage.success(data.msg);
|
|
|
|
- dataList()
|
|
|
|
- })
|
|
|
|
- })
|
|
|
|
- .catch(() => {
|
|
|
|
- // catch error
|
|
|
|
|
|
+ .then(() => {
|
|
|
|
+ loading.value = true;
|
|
|
|
+ distributeWorkOrder(id).then((data) => {
|
|
|
|
+ loading.value = false;
|
|
|
|
+ ElMessage.success(data.msg);
|
|
|
|
+ dataList();
|
|
});
|
|
});
|
|
-}
|
|
|
|
-const loading=ref(false);
|
|
|
|
-const zipWork=ref({});
|
|
|
|
-const zipData=(workOrderCode)=>{
|
|
|
|
- loading.value=true;
|
|
|
|
- zipWork.value.workOrderCode=workOrderCode;
|
|
|
|
- zipWorkOrder(zipWork.value).then(
|
|
|
|
- (data)=>{
|
|
|
|
- if(data.code === '200'){
|
|
|
|
- loading.value=false;
|
|
|
|
|
|
+ })
|
|
|
|
+ .catch(() => {
|
|
|
|
+ // catch error
|
|
|
|
+ });
|
|
|
|
+};
|
|
|
|
+const lockOrUnLockWorkOrder = (id, status) => {
|
|
|
|
+ let message = status === "4" ? "解冻" : "冻结";
|
|
|
|
+ ElMessageBox.confirm("当前操作不可逆,确定" + message + "工单吗?")
|
|
|
|
+ .then(() => {
|
|
|
|
+ loading.value = true;
|
|
|
|
+ lockWorkOrder({ id: id, workOrderState: status }).then((data) => {
|
|
|
|
+ loading.value = false;
|
|
ElMessage.success(data.msg);
|
|
ElMessage.success(data.msg);
|
|
- dataList()
|
|
|
|
- }else{
|
|
|
|
- loading.value=false;
|
|
|
|
- ElMessage.error(data.msg);
|
|
|
|
- }
|
|
|
|
|
|
+ dataList();
|
|
|
|
+ });
|
|
|
|
+ })
|
|
|
|
+ .catch(() => {
|
|
|
|
+ // catch error
|
|
|
|
+ });
|
|
|
|
+};
|
|
|
|
+const loading = ref(false);
|
|
|
|
+const zipWork = ref({});
|
|
|
|
+const zipData = (workOrderCode) => {
|
|
|
|
+ loading.value = true;
|
|
|
|
+ zipWork.value.workOrderCode = workOrderCode;
|
|
|
|
+ zipWorkOrder(zipWork.value).then((data) => {
|
|
|
|
+ if (data.code === "200") {
|
|
|
|
+ loading.value = false;
|
|
|
|
+ ElMessage.success(data.msg);
|
|
|
|
+ dataList();
|
|
|
|
+ } else {
|
|
|
|
+ loading.value = false;
|
|
|
|
+ ElMessage.error(data.msg);
|
|
}
|
|
}
|
|
-
|
|
|
|
- )
|
|
|
|
-}
|
|
|
|
-const revoke = (id)=>{
|
|
|
|
|
|
+ });
|
|
|
|
+};
|
|
|
|
+const revoke = (id) => {
|
|
ElMessageBox.confirm("当前操作不可逆,确定撤销工单吗?")
|
|
ElMessageBox.confirm("当前操作不可逆,确定撤销工单吗?")
|
|
- .then(() => {
|
|
|
|
- loading.value=true;
|
|
|
|
- revokeWorkOrder(id).then((data)=>{
|
|
|
|
- if(data.code === '200'){
|
|
|
|
- loading.value=false;
|
|
|
|
- ElMessage.success(data.msg);
|
|
|
|
- dataList()
|
|
|
|
- }else{
|
|
|
|
- loading.value=false;
|
|
|
|
- ElMessage.error(data.msg)
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- })
|
|
|
|
- .catch(() => {
|
|
|
|
- // catch error
|
|
|
|
|
|
+ .then(() => {
|
|
|
|
+ loading.value = true;
|
|
|
|
+ revokeWorkOrder(id).then((data) => {
|
|
|
|
+ if (data.code === "200") {
|
|
|
|
+ loading.value = false;
|
|
|
|
+ ElMessage.success(data.msg);
|
|
|
|
+ dataList();
|
|
|
|
+ } else {
|
|
|
|
+ loading.value = false;
|
|
|
|
+ ElMessage.error(data.msg);
|
|
|
|
+ }
|
|
});
|
|
});
|
|
-}
|
|
|
|
-const handleEdit = (row, index) =>{
|
|
|
|
|
|
+ })
|
|
|
|
+ .catch(() => {
|
|
|
|
+ // catch error
|
|
|
|
+ });
|
|
|
|
+};
|
|
|
|
+const handleEdit = (row, index) => {
|
|
crudRef.value && crudRef.value.rowEdit(row, index);
|
|
crudRef.value && crudRef.value.rowEdit(row, index);
|
|
-}
|
|
|
|
-const aps1 =()=>{
|
|
|
|
- apsType.value = 1
|
|
|
|
- formData.workOrderIds = toDeleteIds
|
|
|
|
- dialog5.visible = true
|
|
|
|
-}
|
|
|
|
|
|
+};
|
|
|
|
+const aps1 = () => {
|
|
|
|
+ apsType.value = 1;
|
|
|
|
+ formData.workOrderIds = toDeleteIds;
|
|
|
|
+ dialog5.visible = true;
|
|
|
|
+};
|
|
const dataFormRef = ref(ElForm);
|
|
const dataFormRef = ref(ElForm);
|
|
-const schedulingTypes = ref([])
|
|
|
|
-const apsPriority = ref([])
|
|
|
|
|
|
+const schedulingTypes = ref([]);
|
|
|
|
+const apsPriority = ref([]);
|
|
const formData = reactive({
|
|
const formData = reactive({
|
|
apsTime: null,
|
|
apsTime: null,
|
|
priority: "1",
|
|
priority: "1",
|
|
apsModel: "0",
|
|
apsModel: "0",
|
|
- workOrderId: 0
|
|
|
|
|
|
+ workOrderId: 0,
|
|
});
|
|
});
|
|
|
|
|
|
const rules = reactive({
|
|
const rules = reactive({
|
|
@@ -388,65 +479,66 @@ const rules = reactive({
|
|
apsTime: [{ required: true, message: "排程时间不能为空", trigger: "blur" }],
|
|
apsTime: [{ required: true, message: "排程时间不能为空", trigger: "blur" }],
|
|
apsModel: [{ required: true, message: "排程类型不能为空", trigger: "blur" }],
|
|
apsModel: [{ required: true, message: "排程类型不能为空", trigger: "blur" }],
|
|
});
|
|
});
|
|
-const handleSubmit =()=>{
|
|
|
|
|
|
+const handleSubmit = () => {
|
|
dataFormRef.value.validate((isValid) => {
|
|
dataFormRef.value.validate((isValid) => {
|
|
if (isValid) {
|
|
if (isValid) {
|
|
- apsWorkOrder(formData).then((data)=>{
|
|
|
|
- if(data.code === '200'){
|
|
|
|
|
|
+ apsWorkOrder(formData).then((data) => {
|
|
|
|
+ if (data.code === "200") {
|
|
ElMessage.success(data.msg);
|
|
ElMessage.success(data.msg);
|
|
- dialog5.visible = false
|
|
|
|
- dataList()
|
|
|
|
- }else{
|
|
|
|
|
|
+ dialog5.visible = false;
|
|
|
|
+ dataList();
|
|
|
|
+ } else {
|
|
ElMessage.error(data.msg);
|
|
ElMessage.error(data.msg);
|
|
}
|
|
}
|
|
- })
|
|
|
|
|
|
+ });
|
|
}
|
|
}
|
|
});
|
|
});
|
|
-}
|
|
|
|
|
|
+};
|
|
|
|
|
|
const orderInfo = (value) => {
|
|
const orderInfo = (value) => {
|
|
- form.value.orderCode = value.orderCode
|
|
|
|
- form.value.orderName = value.orderName
|
|
|
|
- form.value.materialCode = value.materialCode
|
|
|
|
- form.value.materialName = value.materialName
|
|
|
|
- form.value.materialModel = value.materialModel
|
|
|
|
- form.value.priority = value.priority
|
|
|
|
- form.value.orderType = value.orderType
|
|
|
|
- form.value.processRouteId = ''
|
|
|
|
- form.value.processRouteCode = ''
|
|
|
|
- form.value.processRouteName = ''
|
|
|
|
- form.value.processRouteVersion = ''
|
|
|
|
- form.value.productLineId = ''
|
|
|
|
- form.value.productLineName = ''
|
|
|
|
- form.value.workshopName = ''
|
|
|
|
- form.value.workshopCode = ''
|
|
|
|
- form.value.workshopName = ''
|
|
|
|
- dialog.visible = false
|
|
|
|
-}
|
|
|
|
|
|
+ form.value.orderCode = value.orderCode;
|
|
|
|
+ form.value.orderName = value.orderName;
|
|
|
|
+ form.value.materialCode = value.materialCode;
|
|
|
|
+ form.value.materialName = value.materialName;
|
|
|
|
+ form.value.materialModel = value.materialModel;
|
|
|
|
+ form.value.priority = value.priority;
|
|
|
|
+ form.value.orderType = value.orderType;
|
|
|
|
+ form.value.processRouteId = "";
|
|
|
|
+ form.value.processRouteCode = "";
|
|
|
|
+ form.value.processRouteName = "";
|
|
|
|
+ form.value.processRouteVersion = "";
|
|
|
|
+ form.value.productLineId = "";
|
|
|
|
+ form.value.productLineName = "";
|
|
|
|
+ form.value.workshopName = "";
|
|
|
|
+ form.value.workshopCode = "";
|
|
|
|
+ form.value.workshopName = "";
|
|
|
|
+ dialog.visible = false;
|
|
|
|
+};
|
|
const lineInfo = (value) => {
|
|
const lineInfo = (value) => {
|
|
- form.value.productLineId = value.id
|
|
|
|
- form.value.productLineName = value.name
|
|
|
|
- dialog3.visible = false
|
|
|
|
-}
|
|
|
|
|
|
+ form.value.productLineId = value.id;
|
|
|
|
+ form.value.productLineName = value.name;
|
|
|
|
+ dialog3.visible = false;
|
|
|
|
+};
|
|
const workShopInfo = (value) => {
|
|
const workShopInfo = (value) => {
|
|
- form.value.workshopName = value.id
|
|
|
|
- form.value.workshopCode = value.code
|
|
|
|
- form.value.workshopName = value.name
|
|
|
|
- dialog2.visible = false
|
|
|
|
-}
|
|
|
|
|
|
+ form.value.workshopName = value.id;
|
|
|
|
+ form.value.workshopCode = value.code;
|
|
|
|
+ form.value.workshopName = value.name;
|
|
|
|
+ dialog2.visible = false;
|
|
|
|
+};
|
|
const routeInfo = (value) => {
|
|
const routeInfo = (value) => {
|
|
- form.value.processRouteId = value.id
|
|
|
|
- form.value.processRouteCode = value.processRouteCode
|
|
|
|
- form.value.processRouteName = value.processRouteName
|
|
|
|
- form.value.processRouteVersion = value.processRouteVersion
|
|
|
|
- dialog1.visible = false
|
|
|
|
-}
|
|
|
|
|
|
+ form.value.processRouteId = value.id;
|
|
|
|
+ form.value.processRouteCode = value.processRouteCode;
|
|
|
|
+ form.value.processRouteName = value.processRouteName;
|
|
|
|
+ form.value.processRouteVersion = value.processRouteVersion;
|
|
|
|
+ dialog1.visible = false;
|
|
|
|
+};
|
|
// 传入一个url,后面不带/
|
|
// 传入一个url,后面不带/
|
|
const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
|
|
const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
|
|
useCrud({
|
|
useCrud({
|
|
src: "/api/v1/plan/workOrder",
|
|
src: "/api/v1/plan/workOrder",
|
|
});
|
|
});
|
|
-const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } = Methords; //增删改查
|
|
|
|
|
|
+const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } =
|
|
|
|
+ Methords; //增删改查
|
|
const { selectionChange, multipleDelete } = Methords; //选中和批量删除事件
|
|
const { selectionChange, multipleDelete } = Methords; //选中和批量删除事件
|
|
const { checkBtnPerm, downloadTemplate, exportData } = Utils; //按钮权限等工具
|
|
const { checkBtnPerm, downloadTemplate, exportData } = Utils; //按钮权限等工具
|
|
|
|
|
|
@@ -481,8 +573,8 @@ option.value = Object.assign(option.value, {
|
|
},
|
|
},
|
|
],
|
|
],
|
|
click: ({ value, column }) => {
|
|
click: ({ value, column }) => {
|
|
- if(column.boxType){
|
|
|
|
- dialog.visible = true
|
|
|
|
|
|
+ if (column.boxType) {
|
|
|
|
+ dialog.visible = true;
|
|
}
|
|
}
|
|
},
|
|
},
|
|
},
|
|
},
|
|
@@ -538,7 +630,7 @@ option.value = Object.assign(option.value, {
|
|
width: "80",
|
|
width: "80",
|
|
type: "select", //类型为下拉选择框
|
|
type: "select", //类型为下拉选择框
|
|
dicUrl:
|
|
dicUrl:
|
|
- dictDataUtil.request_url + dictDataUtil.TYPE_CODE.plan_order_priority,
|
|
|
|
|
|
+ dictDataUtil.request_url + dictDataUtil.TYPE_CODE.plan_order_priority,
|
|
props: {
|
|
props: {
|
|
label: "dictLabel",
|
|
label: "dictLabel",
|
|
value: "dictValue",
|
|
value: "dictValue",
|
|
@@ -551,7 +643,7 @@ option.value = Object.assign(option.value, {
|
|
display: false,
|
|
display: false,
|
|
type: "select", //类型为下拉选择框
|
|
type: "select", //类型为下拉选择框
|
|
dicUrl:
|
|
dicUrl:
|
|
- dictDataUtil.request_url + dictDataUtil.TYPE_CODE.plan_work_order_state,
|
|
|
|
|
|
+ dictDataUtil.request_url + dictDataUtil.TYPE_CODE.plan_work_order_state,
|
|
props: {
|
|
props: {
|
|
label: "dictLabel",
|
|
label: "dictLabel",
|
|
value: "dictValue",
|
|
value: "dictValue",
|
|
@@ -570,30 +662,34 @@ option.value = Object.assign(option.value, {
|
|
},
|
|
},
|
|
],
|
|
],
|
|
click: ({ value, column }) => {
|
|
click: ({ value, column }) => {
|
|
- if(column.boxType){
|
|
|
|
- if(!form.value.materialCode){
|
|
|
|
|
|
+ if (column.boxType) {
|
|
|
|
+ if (!form.value.materialCode) {
|
|
ElMessage({
|
|
ElMessage({
|
|
message: "请先选择订单",
|
|
message: "请先选择订单",
|
|
type: "warning",
|
|
type: "warning",
|
|
- })
|
|
|
|
|
|
+ });
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
- processRouteType.value = form.value.orderType === '1' ? "ZC" : "FG"
|
|
|
|
- dialog1.visible = true
|
|
|
|
|
|
+ processRouteType.value = form.value.orderType === "1" ? "ZC" : "FG";
|
|
|
|
+ dialog1.visible = true;
|
|
}
|
|
}
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- label: "工艺版本",
|
|
|
|
- width: 100,
|
|
|
|
- overHidden: true,
|
|
|
|
- prop: "processRouteVersion",
|
|
|
|
- display: false,
|
|
|
|
|
|
+ label: "工艺版本",
|
|
|
|
+ width: 100,
|
|
|
|
+ overHidden: true,
|
|
|
|
+ prop: "processRouteVersion",
|
|
|
|
+ display: false,
|
|
html: true,
|
|
html: true,
|
|
formatter: (val) => {
|
|
formatter: (val) => {
|
|
- return '<b class="el-tag el-tag--success el-tag--light">'+val.processRouteVersion+'</b>';
|
|
|
|
|
|
+ return (
|
|
|
|
+ '<b class="el-tag el-tag--success el-tag--light">' +
|
|
|
|
+ val.processRouteVersion +
|
|
|
|
+ "</b>"
|
|
|
|
+ );
|
|
},
|
|
},
|
|
- },
|
|
|
|
|
|
+ },
|
|
{
|
|
{
|
|
label: "生产车间",
|
|
label: "生产车间",
|
|
prop: "workshopName",
|
|
prop: "workshopName",
|
|
@@ -607,8 +703,8 @@ option.value = Object.assign(option.value, {
|
|
},
|
|
},
|
|
],
|
|
],
|
|
click: ({ value, column }) => {
|
|
click: ({ value, column }) => {
|
|
- if(column.boxType){
|
|
|
|
- dialog2.visible = true
|
|
|
|
|
|
+ if (column.boxType) {
|
|
|
|
+ dialog2.visible = true;
|
|
}
|
|
}
|
|
},
|
|
},
|
|
},
|
|
},
|
|
@@ -625,15 +721,15 @@ option.value = Object.assign(option.value, {
|
|
},
|
|
},
|
|
],
|
|
],
|
|
click: ({ value, column }) => {
|
|
click: ({ value, column }) => {
|
|
- if(column.boxType){
|
|
|
|
- if(!form.value.workshopCode){
|
|
|
|
|
|
+ if (column.boxType) {
|
|
|
|
+ if (!form.value.workshopCode) {
|
|
ElMessage({
|
|
ElMessage({
|
|
message: "请先选择生产车间",
|
|
message: "请先选择生产车间",
|
|
type: "warning",
|
|
type: "warning",
|
|
- })
|
|
|
|
|
|
+ });
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
- dialog3.visible = true
|
|
|
|
|
|
+ dialog3.visible = true;
|
|
}
|
|
}
|
|
},
|
|
},
|
|
},
|
|
},
|
|
@@ -671,7 +767,6 @@ option.value = Object.assign(option.value, {
|
|
width: 85,
|
|
width: 85,
|
|
display: false,
|
|
display: false,
|
|
prop: "completeNum",
|
|
prop: "completeNum",
|
|
-
|
|
|
|
},
|
|
},
|
|
{
|
|
{
|
|
label: "下线数量",
|
|
label: "下线数量",
|
|
@@ -702,7 +797,7 @@ option.value = Object.assign(option.value, {
|
|
width: 90,
|
|
width: 90,
|
|
display: false,
|
|
display: false,
|
|
prop: "packageUrl",
|
|
prop: "packageUrl",
|
|
- hide:true
|
|
|
|
|
|
+ hide: true,
|
|
},
|
|
},
|
|
],
|
|
],
|
|
});
|
|
});
|
|
@@ -710,11 +805,11 @@ option.value = Object.assign(option.value, {
|
|
onMounted(() => {
|
|
onMounted(() => {
|
|
// console.log("crudRef", crudRef)
|
|
// console.log("crudRef", crudRef)
|
|
dataList();
|
|
dataList();
|
|
- queryDictDataByType("order_scheduling_type").then((data)=>{
|
|
|
|
- schedulingTypes.value = data.data
|
|
|
|
- })
|
|
|
|
- queryDictDataByType("aps_priority").then((data)=>{
|
|
|
|
- apsPriority.value = data.data
|
|
|
|
- })
|
|
|
|
|
|
+ queryDictDataByType("order_scheduling_type").then((data) => {
|
|
|
|
+ schedulingTypes.value = data.data;
|
|
|
|
+ });
|
|
|
|
+ queryDictDataByType("aps_priority").then((data) => {
|
|
|
|
+ apsPriority.value = data.data;
|
|
|
|
+ });
|
|
});
|
|
});
|
|
</script>
|
|
</script>
|