|
|
|
|
<template>
|
|
|
|
|
<basic-container>
|
|
|
|
|
<!-- 热表生产监控 -->
|
|
|
|
|
<avue-crud
|
|
|
|
|
:option="option"
|
|
|
|
|
:table-loading="loading"
|
|
|
|
|
:data="data"
|
|
|
|
|
v-model="form"
|
|
|
|
|
v-model:page="page"
|
|
|
|
|
ref="crud"
|
|
|
|
|
@search-change="searchChange"
|
|
|
|
|
@search-reset="searchReset"
|
|
|
|
|
@selection-change="selectionChange"
|
|
|
|
|
@current-change="currentChange"
|
|
|
|
|
@size-change="sizeChange"
|
|
|
|
|
@refresh-change="refreshChange"
|
|
|
|
|
@on-load="onLoad"
|
|
|
|
|
>
|
|
|
|
|
<template #menu-left>
|
|
|
|
|
<!-- <el-button type="primary" @click="handlePrintTags">过程记录打印</el-button> -->
|
|
|
|
|
<el-button type="primary" @click="handlePrintTags">打印标签</el-button>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<template #menu-right>
|
|
|
|
|
<el-button type="primary" plain @click="queryOrdersHandle('3,4,5,6')">在制品</el-button>
|
|
|
|
|
<el-button type="warning" plain @click="queryOrdersHandle('3')">加工中</el-button>
|
|
|
|
|
<el-button type="danger" plain @click="queryOrdersHandle('4')">检验中</el-button>
|
|
|
|
|
<el-button type="success" plain @click="queryOrdersHandle('15')">已完工</el-button>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<template #menu="scope">
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="6">
|
|
|
|
|
<el-button type="text" @click="clickProduction(scope.row)">生产监控</el-button>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="6">
|
|
|
|
|
<el-button type="text" @click="printCraftCard_new(scope.row)">流程卡</el-button>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="6" v-if="scope.row.runStatus === 2">
|
|
|
|
|
<el-button type="text" @click="priorityFn(scope.row)">优先级</el-button>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="6" v-if="[2, 3, 4, 6].includes(scope.row.runStatus)">
|
|
|
|
|
<el-button type="text" @click="handleBatches(scope.row)">分批</el-button>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="6" v-if="scope.row.runStatus === 3 || scope.row.runStatus === 4">
|
|
|
|
|
<el-button type="text" @click="handleAbnormal(scope.row)">异常申报</el-button>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="6" v-if="scope.row.runStatus <= 6 && scope.row.runStatus !== 5">
|
|
|
|
|
<el-button type="text" @click="handleOutsource(scope.row)">转外协</el-button>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="6" v-if="scope.row.runStatus <= 6 && scope.row.runStatus !== 5">
|
|
|
|
|
<el-button type="text" @click="handleSintering(scope.row)">转烧结</el-button>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="6" v-if="scope.row.runStatus < 15">
|
|
|
|
|
<el-button type="text" @click="handleClose(scope.row)">关闭</el-button>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
</template>
|
|
|
|
|
</avue-crud>
|
|
|
|
|
<!-- 打印标签 -->
|
|
|
|
|
<el-dialog append-to-body v-model="printDialog" title="打印标签" width="20%">
|
|
|
|
|
<el-form ref="printForm" :model="printForm" :rules="printRules">
|
|
|
|
|
<el-form-item label="数量" prop="quantity">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="printForm.quantity"
|
|
|
|
|
placeholder="请输入数量"
|
|
|
|
|
oninput="value=value.replace(/[^\d]/g,'')"
|
|
|
|
|
></el-input>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-form>
|
|
|
|
|
<template #footer>
|
|
|
|
|
<span class="dialog-footer">
|
|
|
|
|
<el-button @click="printDialog = false">取 消</el-button>
|
|
|
|
|
<el-button type="primary" @click="submitPrint">打 印</el-button>
|
|
|
|
|
</span>
|
|
|
|
|
</template>
|
|
|
|
|
</el-dialog>
|
|
|
|
|
<!-- 转外协弹窗 -->
|
|
|
|
|
<outsource-dialog
|
|
|
|
|
v-if="showOemDialog"
|
|
|
|
|
:show-dialog="showOemDialog"
|
|
|
|
|
:itemData="itemData"
|
|
|
|
|
@closeDialog="closeDialog"
|
|
|
|
|
></outsource-dialog>
|
|
|
|
|
|
|
|
|
|
<!-- 分批弹窗 -->
|
|
|
|
|
<batches-dialog
|
|
|
|
|
v-if="showBatches"
|
|
|
|
|
:show-batches="showBatches"
|
|
|
|
|
:itemData="itemData"
|
|
|
|
|
@closeDialog="closeDialog"
|
|
|
|
|
></batches-dialog>
|
|
|
|
|
<!-- 关闭弹窗 -->
|
|
|
|
|
<closedDialog
|
|
|
|
|
v-if="showClose"
|
|
|
|
|
:show-close="showClose"
|
|
|
|
|
@closeDialog="closeDialog"
|
|
|
|
|
:itemData="itemData"
|
|
|
|
|
></closedDialog>
|
|
|
|
|
<!-- 异常处理 -->
|
|
|
|
|
<abnormalDialog
|
|
|
|
|
v-if="showAbnormal"
|
|
|
|
|
:show-abnormal="showAbnormal"
|
|
|
|
|
@closeDialog="closeDialog"
|
|
|
|
|
></abnormalDialog>
|
|
|
|
|
<!-- 优先级调整 -->
|
|
|
|
|
<productionMonitoringDialog
|
|
|
|
|
:showDialog="isPriorityOpen"
|
|
|
|
|
v-if="isPriorityOpen"
|
|
|
|
|
:itemData="itemData"
|
|
|
|
|
@closeDialog="closeDialog"
|
|
|
|
|
></productionMonitoringDialog>
|
|
|
|
|
|
|
|
|
|
<!-- 生产监控 -->
|
|
|
|
|
<workRate
|
|
|
|
|
v-if="isWorkRateOpen"
|
|
|
|
|
:showDialog="isWorkRateOpen"
|
|
|
|
|
@closeDialog="closeDialog"
|
|
|
|
|
:rowItem="rowItem"
|
|
|
|
|
></workRate>
|
|
|
|
|
</basic-container>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
import outsourceDialog from '../components/outsourceDialog.vue';
|
|
|
|
|
import productionDialog from '../components/productionDialog.vue';
|
|
|
|
|
import batchesDialog from '../components/batchesDialog.vue';
|
|
|
|
|
import closedDialog from '../components/closedDialog.vue';
|
|
|
|
|
import abnormalDialog from '../components/abnormalDialog.vue';
|
|
|
|
|
import productionMonitoringDialog from '../components/productionMonitoringDialog.vue';
|
|
|
|
|
import workRate from '@/views/workRate/index.vue';
|
|
|
|
|
import { getList, turnType } from '@/api/productionManagement/productionMonitoring';
|
|
|
|
|
|
|
|
|
|
export default {
|
|
|
|
|
components: {
|
|
|
|
|
outsourceDialog,
|
|
|
|
|
productionDialog,
|
|
|
|
|
batchesDialog,
|
|
|
|
|
closedDialog,
|
|
|
|
|
abnormalDialog,
|
|
|
|
|
productionMonitoringDialog,
|
|
|
|
|
workRate,
|
|
|
|
|
},
|
|
|
|
|
data() {
|
|
|
|
|
return {
|
|
|
|
|
isWorkRateOpen: false,
|
|
|
|
|
isPriorityOpen: false,
|
|
|
|
|
showAbnormal: false,
|
|
|
|
|
showOemDialog: false,
|
|
|
|
|
showBatches: false,
|
|
|
|
|
showClose: false,
|
|
|
|
|
data: [],
|
|
|
|
|
printForm: {},
|
|
|
|
|
printRules: {
|
|
|
|
|
quantity: [{ required: true, message: '请输入数量', trigger: 'blur' }],
|
|
|
|
|
},
|
|
|
|
|
rowItem: {},
|
|
|
|
|
selectionList: [],
|
|
|
|
|
form: {},
|
|
|
|
|
loading: false,
|
|
|
|
|
printDialog: false,
|
|
|
|
|
page: {
|
|
|
|
|
pageSize: 10,
|
|
|
|
|
currentPage: 1,
|
|
|
|
|
total: 0,
|
|
|
|
|
},
|
|
|
|
|
option: {
|
|
|
|
|
height: 'auto',
|
|
|
|
|
calcHeight: 32,
|
|
|
|
|
rowKey: 'woId',
|
|
|
|
|
tip: false,
|
|
|
|
|
simplePage: true,
|
|
|
|
|
searchShow: true,
|
|
|
|
|
searchMenuSpan: 6,
|
|
|
|
|
searchIcon: true,
|
|
|
|
|
searchIndex: 3,
|
|
|
|
|
tree: false,
|
|
|
|
|
border: true,
|
|
|
|
|
index: true,
|
|
|
|
|
selection: true,
|
|
|
|
|
viewBtn: false,
|
|
|
|
|
delBtn: false,
|
|
|
|
|
addBtn: false,
|
|
|
|
|
editBtn: false,
|
|
|
|
|
editBtnText: '修改',
|
|
|
|
|
viewBtnText: '详情',
|
|
|
|
|
labelWidth: 120,
|
|
|
|
|
menuWidth: 240,
|
|
|
|
|
dialogWidth: 1200,
|
|
|
|
|
dialogClickModal: false,
|
|
|
|
|
searchEnter: true,
|
|
|
|
|
excelBtn: false,
|
|
|
|
|
filterBtn: true,
|
|
|
|
|
searchShowBtn: false,
|
|
|
|
|
columnSort: true,
|
|
|
|
|
excelBtn: true,
|
|
|
|
|
columnSort: true,
|
|
|
|
|
index: false,
|
|
|
|
|
showOverflowTooltip: true,
|
|
|
|
|
searchLabelPosition: 'left',
|
|
|
|
|
searchGutter: 24,
|
|
|
|
|
searchSpan: 6,
|
|
|
|
|
menuAlign: 'left',
|
|
|
|
|
gridBtn: false,
|
|
|
|
|
searchMenuPosition: 'right',
|
|
|
|
|
align: 'center',
|
|
|
|
|
column: [
|
|
|
|
|
{
|
|
|
|
|
label: '主加工单位',
|
|
|
|
|
prop: 'mainTsName',
|
|
|
|
|
search: true,
|
|
|
|
|
sortable: true,
|
|
|
|
|
overHidden: true,
|
|
|
|
|
fixed: 'left',
|
|
|
|
|
width: 130,
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
label: '当前工序',
|
|
|
|
|
prop: 'ppsName',
|
|
|
|
|
search: false,
|
|
|
|
|
sortable: true,
|
|
|
|
|
overHidden: true,
|
|
|
|
|
width: 150,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '下一工序',
|
|
|
|
|
prop: 'ppsNameNext',
|
|
|
|
|
search: false,
|
|
|
|
|
sortable: true,
|
|
|
|
|
overHidden: true,
|
|
|
|
|
width: 150,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '订单状态',
|
|
|
|
|
prop: 'runStatus',
|
|
|
|
|
type: 'select',
|
|
|
|
|
search: true,
|
|
|
|
|
sortable: true,
|
|
|
|
|
overHidden: true,
|
|
|
|
|
width: 150, //order_status
|
|
|
|
|
dicUrl: '/blade-system/dict/dictionary?code=order_status',
|
|
|
|
|
props: {
|
|
|
|
|
label: 'dictValue',
|
|
|
|
|
value: 'dictKey',
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '车间订单号',
|
|
|
|
|
prop: 'woCode',
|
|
|
|
|
search: true,
|
|
|
|
|
sortable: true,
|
|
|
|
|
overHidden: true,
|
|
|
|
|
width: 150,
|
|
|
|
|
// searchLabelWidth: 100,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '加工单位',
|
|
|
|
|
prop: 'processingUnit',
|
|
|
|
|
search: false,
|
|
|
|
|
sortable: true,
|
|
|
|
|
fixed: 'left',
|
|
|
|
|
overHidden: true,
|
|
|
|
|
hide: true,
|
|
|
|
|
width: 150,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '加工班组',
|
|
|
|
|
prop: 'tsId',
|
|
|
|
|
search: true,
|
|
|
|
|
sortable: true,
|
|
|
|
|
overHidden: true,
|
|
|
|
|
width: 150,
|
|
|
|
|
hide: true,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '加工外协商',
|
|
|
|
|
prop: 'ocId',
|
|
|
|
|
search: true,
|
|
|
|
|
sortable: true,
|
|
|
|
|
overHidden: true,
|
|
|
|
|
width: 150,
|
|
|
|
|
hide: true,
|
|
|
|
|
// searchLabelWidth: 100,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '生产订单号',
|
|
|
|
|
prop: 'yoCode',
|
|
|
|
|
search: true,
|
|
|
|
|
sortable: true,
|
|
|
|
|
overHidden: true,
|
|
|
|
|
// hide: true,
|
|
|
|
|
width: 150,
|
|
|
|
|
// searchLabelWidth: 100,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '计划单号',
|
|
|
|
|
prop: 'ypCode',
|
|
|
|
|
search: true,
|
|
|
|
|
sortable: true,
|
|
|
|
|
// hide: true,
|
|
|
|
|
overHidden: true,
|
|
|
|
|
width: 150,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '返工单号',
|
|
|
|
|
prop: 'reworkCode',
|
|
|
|
|
search: false,
|
|
|
|
|
sortable: true,
|
|
|
|
|
overHidden: true,
|
|
|
|
|
width: 150,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '零件号',
|
|
|
|
|
prop: 'partCode',
|
|
|
|
|
search: true,
|
|
|
|
|
sortable: true,
|
|
|
|
|
overHidden: true,
|
|
|
|
|
width: 150,
|
|
|
|
|
searchOrder: 19,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '批次号',
|
|
|
|
|
prop: 'batchNo',
|
|
|
|
|
search: true,
|
|
|
|
|
sortable: true,
|
|
|
|
|
overHidden: true,
|
|
|
|
|
width: 150,
|
|
|
|
|
searchOrder: 18,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '流程卡号',
|
|
|
|
|
prop: 'cardNo',
|
|
|
|
|
search: true,
|
|
|
|
|
sortable: true,
|
|
|
|
|
overHidden: true,
|
|
|
|
|
width: 150,
|
|
|
|
|
searchOrder: 20,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '产品型号',
|
|
|
|
|
prop: 'productType',
|
|
|
|
|
search: false,
|
|
|
|
|
sortable: true,
|
|
|
|
|
overHidden: true,
|
|
|
|
|
width: 150,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '产品名称',
|
|
|
|
|
prop: 'partName',
|
|
|
|
|
search: false,
|
|
|
|
|
sortable: true,
|
|
|
|
|
overHidden: true,
|
|
|
|
|
width: 150,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: 'MES流程卡号',
|
|
|
|
|
prop: 'mesCardNo',
|
|
|
|
|
search: false,
|
|
|
|
|
sortable: true,
|
|
|
|
|
overHidden: true,
|
|
|
|
|
width: 150,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '生产标识',
|
|
|
|
|
prop: 'productIdent',
|
|
|
|
|
search: false,
|
|
|
|
|
sortable: true,
|
|
|
|
|
overHidden: true,
|
|
|
|
|
width: 150,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '镀种信息',
|
|
|
|
|
prop: 'plate',
|
|
|
|
|
search: false,
|
|
|
|
|
sortable: true,
|
|
|
|
|
overHidden: true,
|
|
|
|
|
width: 150,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '生产数量',
|
|
|
|
|
prop: 'makeQty',
|
|
|
|
|
search: false,
|
|
|
|
|
sortable: true,
|
|
|
|
|
overHidden: true,
|
|
|
|
|
width: 150,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '面积(dm²)',
|
|
|
|
|
prop: 'totalArea',
|
|
|
|
|
search: false,
|
|
|
|
|
sortable: true,
|
|
|
|
|
overHidden: true,
|
|
|
|
|
width: 150,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '单批次面积',
|
|
|
|
|
prop: 'area',
|
|
|
|
|
search: false,
|
|
|
|
|
sortable: true,
|
|
|
|
|
overHidden: true,
|
|
|
|
|
width: 150,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '订单优先级',
|
|
|
|
|
prop: 'priorityName',
|
|
|
|
|
type: 'select',
|
|
|
|
|
search: false,
|
|
|
|
|
sortable: true,
|
|
|
|
|
overHidden: true,
|
|
|
|
|
width: 150,
|
|
|
|
|
// searchLabelWidth: 100,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '订单优先级',
|
|
|
|
|
prop: 'priority',
|
|
|
|
|
type: 'select',
|
|
|
|
|
search: true,
|
|
|
|
|
sortable: true,
|
|
|
|
|
overHidden: true,
|
|
|
|
|
width: 150,
|
|
|
|
|
// searchLabelWidth: 100,
|
|
|
|
|
hide: true,
|
|
|
|
|
dicUrl: '/blade-system/dict/dictionary?code=orderPriority',
|
|
|
|
|
props: {
|
|
|
|
|
label: 'dictValue',
|
|
|
|
|
value: 'dictKey',
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '需求部门',
|
|
|
|
|
prop: 'useDept',
|
|
|
|
|
search: true,
|
|
|
|
|
sortable: true,
|
|
|
|
|
overHidden: true,
|
|
|
|
|
width: 150,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '需求交期',
|
|
|
|
|
prop: 'demandDate',
|
|
|
|
|
search: false,
|
|
|
|
|
sortable: true,
|
|
|
|
|
overHidden: true,
|
|
|
|
|
width: 150,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '会议要求周期',
|
|
|
|
|
prop: 'meetCycle',
|
|
|
|
|
search: false,
|
|
|
|
|
sortable: true,
|
|
|
|
|
overHidden: true,
|
|
|
|
|
width: 150,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '调度员',
|
|
|
|
|
prop: 'dispatcherName',
|
|
|
|
|
search: true,
|
|
|
|
|
sortable: true,
|
|
|
|
|
overHidden: true,
|
|
|
|
|
width: 150,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '协作计划',
|
|
|
|
|
prop: 'collaborateText',
|
|
|
|
|
search: false,
|
|
|
|
|
sortable: true,
|
|
|
|
|
overHidden: true,
|
|
|
|
|
width: 150,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '计划下达时间',
|
|
|
|
|
prop: 'sendDownTime',
|
|
|
|
|
sortable: true,
|
|
|
|
|
filter: true,
|
|
|
|
|
selectWidth: 150,
|
|
|
|
|
searchLabelWidth: 90,
|
|
|
|
|
span: 12,
|
|
|
|
|
search: true,
|
|
|
|
|
width: 150,
|
|
|
|
|
searchSpan: 8,
|
|
|
|
|
type: 'date',
|
|
|
|
|
format: 'YYYY-MM-DD HH:mm:ss',
|
|
|
|
|
valueFormat: 'YYYY-MM-DD HH:mm:ss',
|
|
|
|
|
startPlaceholder: '开始日期',
|
|
|
|
|
endPlaceholder: '结束日期',
|
|
|
|
|
rangeSeparator: '-',
|
|
|
|
|
searchRange: true,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '计划完工时间',
|
|
|
|
|
prop: 'planEndDate',
|
|
|
|
|
search: false,
|
|
|
|
|
sortable: true,
|
|
|
|
|
overHidden: true,
|
|
|
|
|
searchLabelWidth: 100,
|
|
|
|
|
type: 'date',
|
|
|
|
|
format: 'YYYY-MM-DD HH:mm:ss',
|
|
|
|
|
valueFormat: 'YYYY-MM-DD HH:mm:ss',
|
|
|
|
|
startPlaceholder: '时间日期开始',
|
|
|
|
|
endPlaceholder: '时间日期结束',
|
|
|
|
|
width: 150,
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
label: '镀后入库时间',
|
|
|
|
|
prop: 'putStoreTime',
|
|
|
|
|
sortable: true,
|
|
|
|
|
filter: true,
|
|
|
|
|
span: 12,
|
|
|
|
|
search: true,
|
|
|
|
|
searchSpan: 8,
|
|
|
|
|
width: 150,
|
|
|
|
|
searchLabelWidth: 90,
|
|
|
|
|
type: 'date',
|
|
|
|
|
format: 'YYYY-MM-DD HH:mm:ss',
|
|
|
|
|
valueFormat: 'YYYY-MM-DD HH:mm:ss',
|
|
|
|
|
startPlaceholder: '开始日期',
|
|
|
|
|
endPlaceholder: '结束日期',
|
|
|
|
|
rangeSeparator: '-',
|
|
|
|
|
searchRange: true,
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
label: '外协状态',
|
|
|
|
|
prop: 'oemType',
|
|
|
|
|
type: 'select',
|
|
|
|
|
search: false,
|
|
|
|
|
hide: true,
|
|
|
|
|
sortable: true,
|
|
|
|
|
overHidden: true,
|
|
|
|
|
width: 150,
|
|
|
|
|
|
|
|
|
|
dicData: [
|
|
|
|
|
{
|
|
|
|
|
value: -1,
|
|
|
|
|
label: '场内',
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
value: 1,
|
|
|
|
|
label: '整单',
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
value: 2,
|
|
|
|
|
label: '协作',
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '生产数量',
|
|
|
|
|
prop: 'productionQuantity',
|
|
|
|
|
search: false,
|
|
|
|
|
sortable: true,
|
|
|
|
|
overHidden: true,
|
|
|
|
|
width: 150,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '入库数量',
|
|
|
|
|
prop: 'inventoryQty',
|
|
|
|
|
search: false,
|
|
|
|
|
sortable: true,
|
|
|
|
|
overHidden: true,
|
|
|
|
|
width: 150,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '试验数量',
|
|
|
|
|
prop: 'testQty',
|
|
|
|
|
search: false,
|
|
|
|
|
sortable: true,
|
|
|
|
|
overHidden: true,
|
|
|
|
|
width: 150,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '报废数量',
|
|
|
|
|
prop: 'scrapQty',
|
|
|
|
|
search: false,
|
|
|
|
|
sortable: true,
|
|
|
|
|
overHidden: true,
|
|
|
|
|
width: 150,
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
label: '备注',
|
|
|
|
|
prop: 'memo',
|
|
|
|
|
search: false,
|
|
|
|
|
sortable: true,
|
|
|
|
|
overHidden: true,
|
|
|
|
|
width: 150,
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
itemData: [], //存数据
|
|
|
|
|
};
|
|
|
|
|
},
|
|
|
|
|
mounted() {},
|
|
|
|
|
methods: {
|
|
|
|
|
printCraftCard_new(row) {
|
|
|
|
|
window.open(window.PROCESS_FLOW_CARD_HEAT_METER + '?woId=' + row.woId, '_blank');
|
|
|
|
|
},
|
|
|
|
|
// 优先级调整
|
|
|
|
|
priorityFn(row) {
|
|
|
|
|
this.itemData = [row];
|
|
|
|
|
this.isPriorityOpen = true;
|
|
|
|
|
},
|
|
|
|
|
priorityFnBatch() {
|
|
|
|
|
if (this.selectionList.length == 0) {
|
|
|
|
|
return this.$message.error('请先选择数据');
|
|
|
|
|
}
|
|
|
|
|
this.itemData = this.selectionList;
|
|
|
|
|
this.isPriorityOpen = true;
|
|
|
|
|
},
|
|
|
|
|
selectionChange(val) {
|
|
|
|
|
this.selectionList = val;
|
|
|
|
|
},
|
|
|
|
|
// 转外协
|
|
|
|
|
handleOutsource(row, type) {
|
|
|
|
|
if (type == 'all') {
|
|
|
|
|
if (this.selectionList.length == 0) {
|
|
|
|
|
this.$message.error('请先选择数据');
|
|
|
|
|
} else {
|
|
|
|
|
this.itemData = this.selectionList;
|
|
|
|
|
this.showOemDialog = true;
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
this.itemData = [row];
|
|
|
|
|
this.showOemDialog = true;
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
// 分批
|
|
|
|
|
handleBatches(row) {
|
|
|
|
|
this.itemData = [row];
|
|
|
|
|
this.showBatches = true;
|
|
|
|
|
},
|
|
|
|
|
// 关闭
|
|
|
|
|
handleClose(row) {
|
|
|
|
|
this.itemData = [row];
|
|
|
|
|
this.showClose = true;
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// 转烧结
|
|
|
|
|
handleSintering(row) {
|
|
|
|
|
this.$confirm('确定将此订单转到烧结中心吗?', '是否继续', {
|
|
|
|
|
confirmButtonText: '确认',
|
|
|
|
|
cancelButtonText: '取消',
|
|
|
|
|
type: 'warning',
|
|
|
|
|
}).then(() => {
|
|
|
|
|
let query = {
|
|
|
|
|
yoId: row.yoId,
|
|
|
|
|
yieldType: '12002',
|
|
|
|
|
};
|
|
|
|
|
turnType(query).then(res => {
|
|
|
|
|
this.$message.success('转烧结成功');
|
|
|
|
|
this.onLoad(this.page, this.query);
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
// 生产监控
|
|
|
|
|
clickProduction(row) {
|
|
|
|
|
this.rowItem = row;
|
|
|
|
|
this.isWorkRateOpen = true;
|
|
|
|
|
},
|
|
|
|
|
// 打印标签
|
|
|
|
|
handlePrintTags() {
|
|
|
|
|
if (this.selectionList.length == 0) {
|
|
|
|
|
this.$message.error('请先选择数据');
|
|
|
|
|
} else {
|
|
|
|
|
this.printForm = {
|
|
|
|
|
quantity: 1,
|
|
|
|
|
};
|
|
|
|
|
this.printDialog = true;
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
// 确定打印
|
|
|
|
|
submitPrint() {
|
|
|
|
|
this.$refs.printForm.validate(valid => {
|
|
|
|
|
if (valid) {
|
|
|
|
|
let ids = this.selectionList.map(item => item.woId);
|
|
|
|
|
window.open(
|
|
|
|
|
window.PROCESS_FLOW_CARD_PRINT +
|
|
|
|
|
'?wolds=' +
|
|
|
|
|
ids.join(',') +
|
|
|
|
|
'&num=' +
|
|
|
|
|
this.printForm.quantity
|
|
|
|
|
);
|
|
|
|
|
this.printDialog = false;
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
// 打印
|
|
|
|
|
handlePrint() {
|
|
|
|
|
if (this.selectionList.length == 0) {
|
|
|
|
|
this.$message.error('请先选择数据');
|
|
|
|
|
} else {
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
//查询【生产中3、工艺变更5、检验中4、审理中6】状态的订单
|
|
|
|
|
queryOrdersHandle(status) {
|
|
|
|
|
this.query = {
|
|
|
|
|
runStatus: status,
|
|
|
|
|
};
|
|
|
|
|
this.onLoad(this.page, this.query);
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// 异常申报
|
|
|
|
|
handleAbnormal(row) {
|
|
|
|
|
this.itemData = [row];
|
|
|
|
|
this.showAbnormal = true;
|
|
|
|
|
},
|
|
|
|
|
// 关闭弹窗
|
|
|
|
|
closeDialog(type) {
|
|
|
|
|
this.showOemDialog = false;
|
|
|
|
|
this.isWorkRateOpen = false;
|
|
|
|
|
this.showBatches = false;
|
|
|
|
|
this.showClose = false;
|
|
|
|
|
this.showAbnormal = false;
|
|
|
|
|
this.isPriorityOpen = false;
|
|
|
|
|
// if (type) {
|
|
|
|
|
this.onLoad(this.page, this.query);
|
|
|
|
|
// }
|
|
|
|
|
},
|
|
|
|
|
currentChange(currentPage) {
|
|
|
|
|
this.page.currentPage = currentPage;
|
|
|
|
|
this.onLoad(this.page, this.query);
|
|
|
|
|
},
|
|
|
|
|
sizeChange(pageSize) {
|
|
|
|
|
this.page.pageSize = pageSize;
|
|
|
|
|
this.onLoad(this.page, this.query);
|
|
|
|
|
},
|
|
|
|
|
refreshChange() {
|
|
|
|
|
this.onLoad(this.page, this.query);
|
|
|
|
|
},
|
|
|
|
|
searchReset() {
|
|
|
|
|
this.query = {};
|
|
|
|
|
this.onLoad(this.page, this.query);
|
|
|
|
|
},
|
|
|
|
|
searchChange(params, done) {
|
|
|
|
|
this.query = params;
|
|
|
|
|
this.page.currentPage = 1;
|
|
|
|
|
this.onLoad(this.page, params);
|
|
|
|
|
done();
|
|
|
|
|
},
|
|
|
|
|
selectionChange(list) {
|
|
|
|
|
this.selectionList = list;
|
|
|
|
|
},
|
|
|
|
|
selectionClear() {
|
|
|
|
|
this.selectionList = [];
|
|
|
|
|
this.$refs.crud.toggleSelection();
|
|
|
|
|
},
|
|
|
|
|
onLoad(page, params = {}) {
|
|
|
|
|
this.loading = true;
|
|
|
|
|
getList(
|
|
|
|
|
page.currentPage,
|
|
|
|
|
page.pageSize,
|
|
|
|
|
Object.assign(params, this.query, { yieldType: '12001' })
|
|
|
|
|
).then(res => {
|
|
|
|
|
this.data = res.data.data.records;
|
|
|
|
|
this.loading = false;
|
|
|
|
|
this.page.total = res.data.data.total;
|
|
|
|
|
this.selectionClear();
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
};
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<style></style>
|