You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

940 lines
29 KiB
Vue

2 years ago
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="工单编码" prop="workorderCode">
<el-input
v-model="queryParams.workorderCode"
placeholder="请输入工单编码"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="工单状态" prop="status">
<el-select
v-model="queryParams.status"
placeholder="工单状态"
clearable
style="width: 240px"
>
<el-option
v-for="dict in dict.type.workorder_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="订单编码" prop="orderCode">
<el-input
v-model="queryParams.orderCode"
placeholder="请输入订单编码"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="产品名称" prop="productName">
<el-input
v-model="queryParams.productName"
placeholder="请输入产品名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="工艺编码" prop="routeCode">
<el-input
v-model="queryParams.routeCode"
placeholder="请输入工艺编码"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="产线编码" prop="prodLineCode">
<el-input
v-model="queryParams.prodLineCode"
placeholder="请输入产线编码"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="生产日期" prop="productDateArray">
<el-date-picker
v-model="queryParams.productDateArray"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期">
</el-date-picker>
</el-form-item>
<el-form-item label="班次" prop="shiftId">
<el-input
v-model="queryParams.shiftId"
placeholder="请输入班次"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<!--<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['mes:pro:workorder:add']"
>上传SAP生产</el-button>
</el-col>-->
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-info"
size="mini"
:disabled="multiple&&multiple0"
@click="handleUpdateDown"
v-hasPermi="['mes:pro:workorder:edit']"
>下达工单</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['mes:pro:workorder:edit']"
>工单变更</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['mes:pro:workorder:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['mes:pro:workorder:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="workorderList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" >
</el-table-column>
<el-table-column label="工单ID" align="center" prop="workorderId" v-if="false"/>
<el-table-column label="子工单编码" align="center" prop="workorderCode" width="180"/>
<el-table-column label="工单名称" align="center" prop="workorderName" v-if="false"/>
<el-table-column label="订单id" align="center" prop="orderId" v-if="false"/>
<el-table-column label="子订单编码" align="center" prop="orderCode" width="160"/>
<el-table-column label="产品ID" align="center" prop="productId" v-if="false"/>
<el-table-column label="产品编号" align="center" prop="productCode" width="160"/>
<el-table-column label="产品名称" align="center" prop="productName" width="160"/>
<el-table-column label="规格型号" align="center" prop="productSpc" v-if="false"/>
<el-table-column label="单位" align="center" prop="unit" />
<el-table-column label="已生产数量" align="center" prop="quantityProduced" width="100"/>
<el-table-column label="已拆分数量" align="center" prop="quantitySplit" width="100"/>
<el-table-column label="工艺编码" align="center" prop="routeCode" />
<el-table-column label="产线设备" align="center" prop="prodLineCode" />
<el-table-column label="工单生产日期" align="center" prop="productDate" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.productDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="班次" align="center" prop="shiftId" />
<el-table-column label="工单状态" align="center" prop="status" >
<template slot-scope="scope">
<dict-tag :options="dict.type.workorder_type" :value="scope.row.status"/>
</template>
</el-table-column>
2 years ago
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="产品类型" align="center" prop="prodType" />
</el-table>
2 years ago
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改生产工单对话框 -->
<!-- 工单修改模块 -->
<el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body>
<!-- 拆分头pro -->
<el-table
border
v-if="refreshProTable"
v-loading="proLoading"
:data="productData"
row-key="orderCode"
:tree-props="{children: 'children', hasChildren: 'hasChildren'}"
>
<el-table-column width="60" align="center" label="序号" type="index" :index="indexMethod"></el-table-column>
<el-table-column width="150" label="订单编号" prop="orderCode"/>
<el-table-column width="380" label="产品名称" align="center" prop="prodDesc"/>
<el-table-column width="60" label="单位" align="center" prop="unit"/>
<el-table-column width="130" label="产品数量" align="center" prop="quantity"/>
<el-table-column label="已拆分数量" align="center" prop="quantitySplit"/>
<el-table-column label="拆分数量" align="center" prop="atrr1"/>
</el-table>
<el-form class="my-margin" :model="splitForm" ref="dynamicForm" label-width="80px">
<!-- 编辑框 -->
<!-- 第一行 -->
<el-row>
<!-- 选择产线 -->
<el-col :span="6">
<el-form-item label="选择机型:">
<el-select @change="machineType" size="small" v-model="splitForm.prodLineCode" placeholder="请选择成型机">
<el-option v-for="item in proline" :key="item.key" :label="item.label" :value="item.key"></el-option>
</el-select>
</el-form-item>
</el-col>
<!-- 拆分数量 -->
<el-col :offset="2" :span="7">
<el-form-item size="small" label="拆分数量:">
<el-input required type="number" @input="splitNumChange" v-model="splitForm.splitNum"></el-input>
</el-form-item>
</el-col>
<!-- 工单日期 -->
<el-col :offset="1" :span="5">
<el-form-item size="small" label="工单日期: ">
<el-date-picker value-format="yyyy-MM-dd" @change="checkDate" v-model="splitForm.productDate" type="date" placeholder="选择日期"
></el-date-picker>
</el-form-item>
</el-col>
</el-row>
<!-- 第二行 -->
<el-row>
<el-col :span="6">
<!-- 选择班次 -->
<el-form-item size="small" label="选择班次:" class="my-select my-first">
<el-select @change="shiftChange" v-model="splitForm.shiftId" placeholder="请选择班次">
<el-option v-for="item in workShift" :key="item.shiftId" :label="item.shiftDesc"
:value="item.shiftId"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :offset="2" :span="6">
<!-- 选择工艺 -->
<el-form-item size="small" label="选择工艺:" class="my-select my-first">
<el-select @change="routeChange" v-model="splitForm.routeCode" placeholder="请选择工艺">
<el-option v-for="item in routes" :key="item.routeCode" :label="item.routeName"
:value="item.routeCode"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<!-- 第三行 -->
<el-row v-for="(item, index) in formFields" :key="index">
<!-- 批次编号 -->
<el-col :span="7">
<el-form-item size="small" label="批次编号">
<el-input @blur="batchCodeChange" v-model="item.batchCode"></el-input>
</el-form-item>
</el-col>
<!-- 批次数量 -->
<el-col :offset="1" :span="4">
<el-form-item size="small" label="批次数量">
<el-input required @input="inBatch" type="number" v-model="item.batchQuantity"></el-input>
</el-form-item>
</el-col>
<!-- 操作 -->
<el-col :offset="1" :span="4">
<el-button size="small" v-if="formFields.length > 1" @click="removeField(index)" type="danger">
</el-button>
<el-button size="small" v-if="index === formFields.length - 1" @click="addField" type="primary">
</el-button>
</el-col>
</el-row>
</el-form>
<!-- 拆分尾 -->
<el-table
border
:data="splitData"
v-if="refreshWorkerTable"
v-loading="workerLoading"
row-key="workorderCode"
style="width: 100%"
max-height="240"
:tree-props="{children: 'children', hasChildren: 'hasChildren'}"
>
<el-table-column width="60" align="center" label="序号" type="index" :index="indexMethod"></el-table-column>
<el-table-column width="200" align="center" prop="workorderCode" label="工单号"></el-table-column>
<el-table-column width="100" align="center" prop="productDate" label="工单日期"></el-table-column>
<el-table-column width="100" align="center" prop="prodLineCode" label="成型机"></el-table-column>
<el-table-column width="80" align="center" prop="quantitySplit" label="数量"></el-table-column>
<el-table-column width="60" label="单位" align="center" prop="unit"/>
<el-table-column width="90" label="工艺编码" align="center" prop="routeCode"/>
<el-table-column width="90" label="班次" align="center" prop="shiftDesc"/>
<el-table-column align="center" prop="batchCodeList" label="批次号"></el-table-column>
</el-table>
<!-- 测试 -->
<!-- 操作按钮 -->
2 years ago
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
2 years ago
</div>
</template>
<script>
import {
listWorkorder,
getWorkorder,
delWorkorder,
downWorkorder,
addWorkorder,
updateWorkorder,
getOrderAndWork,
getWorkBatchList,
subChangeWorkOrder,
checkWorkOrder
} from '@/api/plan/workorder'
2 years ago
import moment from 'moment';
import { getprodLineShift } from '@/api/plan/order'
2 years ago
export default {
name: "Workorder",
dicts: ['workorder_type'],
data() {
return {
// 工单修改form
workForm: {},
// 首页-多选选中-用于工单变更
selectWork: null,
//工单遮罩层
workerLoading: false,
//工单重新渲染表格
refreshWorkerTable: true,
// 拆分后工单list
splitData: [],
// 批次
formFields: [{
batchCode: '',
batchQuantity: ''
}],
// 工艺list
routes: [],
// 班次list
workShift: [],
// 成型机list
proline: [],
// 订单
productData: [],
// 订单遮罩层
proLoading: false,
// 订单重新渲染表格
refreshProTable: true,
// 拆分form
splitForm:{
prodLineCode: null,
splitNum: null,
productDate: null,
shiftId: null,
routeCode: null,
},
2 years ago
// 遮罩层
loading: true,
// 选中数组
ids: [],
cods:[],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 下达禁用
statuses: [],
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 生产工单表格数据
workorderList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
productDateArray: [new Date(),new Date()],
pageNum: 1,
pageSize: 10,
workorderCode: null,
workorderName: null,
orderId: null,
orderCode: null,
productId: null,
productCode: null,
productName: null,
productSpc: null,
unit: null,
quantityProduced: null,
quantitySplit: null,
routeCode: null,
prodLineCode: null,
productDate: new Date(),
shiftId: null,
parentOrder: null,
ancestors: null,
status: 'w0',
attr1: null,
attr2: null,
attr3: null,
attr4: null,
prodType: null,
factoryCode: null,
isEnd: null
},
// 表单参数
form: {},
// 表单校验
rules: {
workorderCode: [
{ required: true, message: "工单编码不能为空", trigger: "blur" }
],
workorderName: [
{ required: true, message: "工单名称不能为空", trigger: "blur" }
],
orderId: [
{ required: true, message: "订单id不能为空", trigger: "blur" }
],
productCode: [
{ required: true, message: "产品编号不能为空", trigger: "blur" }
],
productName: [
{ required: true, message: "产品名称不能为空", trigger: "blur" }
],
unit: [
{ required: true, message: "单位不能为空", trigger: "blur" }
],
}
};
},
created() {
this.getList();
},
methods: {
/** 动态添加表单 */
addField() {
//如果批次数量大于等于拆分数量则不允许拆分
let sum = 0
for (let i = 0; i < this.formFields.length; i++) {
sum += Number(this.formFields[i].batchQuantity)
}
if (sum >= this.productData[0].atrr1) {
this.$message({
message: '无法添加!您的批次数量已满!',
type: 'warning'
})
return
}
this.formFields.push({ batchCode: '', batchQuantity: '' })
//自动填充
this.formFields[this.formFields.length - 1].batchQuantity = Number(this.productData[0].atrr1) - Number(sum)
},
/** 动态删除表单 */
removeField(index) {
this.formFields.splice(index, 1)
},
/** 填写批次数量 */
inBatch(e) {
//不能为负数
if (e <= 0) {
this.formFields[this.formFields.length - 1].batchQuantity = 1
}
//逻辑判断
let sum = 0
for (let i = 0; i < this.formFields.length; i++) {
sum += Number(this.formFields[i].batchQuantity)
}
//如果超过拆分数量,提示并清空当前输入
if (sum > this.productData[0].atrr1) {
this.$message({
message: '你的批次数量总和不能超过拆分数量!',
type: 'warning'
})
this.formFields[this.formFields.length - 1].batchQuantity = Number(this.productData[0].atrr1) - Number(Number(sum) - Number(e))
}
//如果拆分数量为空
if (this.productData[0].atrr1 == '' || this.productData[0].atrr1 == null) {
this.formFields[this.formFields.length - 1].batchQuantity = ''
}
},
/** 检验批次编码是否重复 */
batchCodeChange(e) {
if (this.formFields.length > 1) {
for (let i = 0; i < this.formFields.length - 1; i++) {
if (this.formFields[this.formFields.length - 1].batchCode == this.formFields[i].batchCode) {
this.$message({
message: '批次号不能重复!',
type: 'warning'
})
this.formFields = [{
batchCode: '',
batchQuantity: ''
}]
return
}
}
}
},
/** 更改工艺 */
routeChange(e){
console.log("您更改了工艺")
console.log(e)
this.workForm.routeCode = e
console.log("这里是全部数据")
console.log(this.workForm)
console.log("这里是订单数据")
console.log(this.productData)
},
/** 更改班次 */
shiftChange(e){
console.log("您更改了班次")
console.log(e)
this.workForm.shiftId = e
},
/** 拆分数量 */
splitNumChange(e){
console.log("拆分数量改变")
console.log(e)
//不能为负数
if (e <= 0) {
e = 1
this.splitForm.splitNum = 1
} else {
// 获取最大值,拆分数量不得超过最大值
let max = Number(this.productData[0].quantity) - Number(this.productData[0].quantitySplit)
// 超过最大值,给用户提醒
if (e > max) {
this.$message({
message: '最大值不能超过' + max + '!',
type: 'warning'
})
this.splitForm.splitNum = max
}
//前端数据同步
// 在获取到新的数据后执行以下代码
this.proLoading = true // 设置加载状态为true表示正在加载
var num = this.productData[0].quantity;
// 递归操作动态显示拆分数量
function setAtrr1(data, splitNum) {
if (data.children !== undefined) {
for (let i = 0; i < data.children.length; i++) {
data.children[i].atrr1 = splitNum * (data.children[i].quantity / num)
setAtrr1(data.children[i], splitNum)
}
}
}
this.productData[0].atrr1 = this.splitForm.splitNum
setAtrr1(this.productData[0], this.splitForm.splitNum)
this.refreshProTable = false // 先将refreshProTable设置为false隐藏表格
this.$nextTick(() => {
// 使用$nextTick来等待DOM更新完成
this.refreshProTable = true // 立即将refreshProTable设置为true显示表格
this.proLoading = false // 设置加载状态为false表示加载完成
})
this.workForm.splitNum = this.splitForm.splitNum
}
this.product = this.productData[0]
},
/** 工单日期选择 */
checkDate(e){
console.log("工单日期改变")
console.log(e)
this.workForm.productDate = e
},
/** 成型机选择 */
machineType(e) {
console.log("成型机选择改变")
console.log(e)
console.log(this.proline)
this.workForm.prodLineCode = e
},
2 years ago
/** 查询生产工单列表 */
getList() {
this.loading = true;
this.queryParams.isEnd = '1';//只查子单
if(this.queryParams.productDateArray!=null){
this.queryParams.productDateStart = moment(this.queryParams.productDateArray[0]).format('YYYY-MM-DD');
this.queryParams.productDateEnd = moment(this.queryParams.productDateArray[1]).format('YYYY-MM-DD');
}
listWorkorder(this.queryParams).then(response => {
this.workorderList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
workorderId: null,
workorderCode: null,
workorderName: null,
orderId: null,
orderCode: null,
productId: null,
productCode: null,
productName: null,
productSpc: null,
unit: null,
quantityProduced: null,
quantitySplit: null,
routeCode: null,
prodLineCode: null,
productDate: null,
shiftId: null,
parentOrder: null,
ancestors: null,
status: null,
remark: null,
attr1: null,
attr2: null,
attr3: null,
attr4: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
prodType: null,
factoryCode: null,
isEnd: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
// 这里设置选中的工单信息--用于工单变更
this.selectWork = selection[0]
2 years ago
this.ids = selection.map(item => item.workorderId)
this.codes = selection.map(item => item.workorderCode)
this.single = selection.length!==1
this.multiple = !selection.length
this.statuses = selection.map(item => item.status)
},
/** 新增按钮操作 */
handleAdd() {
alert("待建设")
//this.reset();
//this.open = true;
//this.title = "添加生产工单";
},
/** 修改按钮操作 */
handleUpdate(row) {
// 校验是否可以修改
let check = 0;
checkWorkOrder(this.selectWork.workorderId).then(response => {
if (response.code == 500){
check = 1;
}
})
if (check == 1){
this.$message({
message:'该工单已有湿料计划,不可修改!',
type:'warning'
})
return;
}
console.log("这里是你要的数据")
console.log(this.selectWork)
// 数据初始化
this.reset();
this.splitData = [];
this.productData =[];
this.splitForm={
prodLineCode: null,
splitNum: null,
productDate: null,
shiftId: null,
routeCode: null,
}
this.formFields=[]
//初始化日期为默认今天
this.splitForm.productDate = new Date()
//获取成型机和班次
getprodLineShift(row.orderType).then(response => {
this.proline = response.data.lines
this.workShift = response.data.shifts
this.routes = response.data.routes
})
// 获取批次信息list
getWorkBatchList(this.selectWork).then(response => {
this.formFields = response.data
console.log("这里是批次数据")
console.log(response.data)
})
// 获取工单和订单信息
// 在获取到新的数据后执行以下代码
this.proLoading = true // 设置加载状态为true表示正在加载
this.workerLoading = true // 设置加载状态为true表示正在加载
getOrderAndWork(this.selectWork).then(response =>{
console.log("这里是返回数据")
console.log(response)
this.splitData.push(response.data.workOrder)
this.productData.push(response.data.order)
this.refreshProTable = false // 先将refreshProTable设置为false隐藏表格
this.refreshWorkerTable = false // 先将refreshProTable设置为false隐藏表格
this.$nextTick(() => {
// 使用$nextTick来等待DOM更新完成
this.refreshProTable = true // 立即将refreshProTable设置为true显示表格
this.proLoading = false // 设置加载状态为false表示加载完成
})
this.$nextTick(() => {
// 使用$nextTick来等待DOM更新完成
this.refreshWorkerTable = true // 立即将refreshProTable设置为true显示表格
this.workerLoading = false // 设置加载状态为false表示加载完成
})
// 设置拆分数量
this.splitForm.splitNum = this.splitData[0].quantitySplit
// 设置选择机型
this.splitForm.prodLineCode = this.splitData[0].prodLineCode
// 设置班次
this.splitForm.shiftId = this.splitData[0].shiftDesc
// 设置工艺
this.splitForm.routeCode = this.splitData[0].routeCode
// 递归将拆分数量还原
function setAtrr1(order, work) {
order.quantitySplit = Number(order.quantitySplit) - Number(work.quantitySplit);
order.atrr1 = work.quantitySplit;
if (order.children !== undefined && work.children !== undefined) {
setAtrr1(order.children[0], work.children[0]);
}
}
setAtrr1(this.productData[0], this.splitData[0]);
})
// function setAtrr1(order,work) {
// order.quantitySplit = Number(order.quantitySplit) - Number(work.quantitySplit)
// order.atrr1 = work.quantitySplit
// if (order.children !== undefined) {
// setAtrr1(order.children[0],work.children[0])
// }
// }
//
// setAtrr1(this.productData[0],this.splitData[0])
this.open = true;
this.title = "修改生产工单";
2 years ago
},
/**下达工单**/
handleUpdateDown(row) {
2 years ago
var statusesArray = this.statuses;
for(var i=0; i<statusesArray.length; i++) {
if(statusesArray[i]=='w1'){//已经下达的不允许操作
this.$modal.msgError("已经下达的订单不允许操作");
return
}
}
const workorderIds = row.workorderCode || this.codes;
this.$modal.confirm('是否确认下发生产工单编号为"' + workorderIds + '"的数据项?').then(function() {
return downWorkorder(workorderIds);
}).then(() => {
this.getList();
this.$modal.msgSuccess("下发成功");
}).catch(() => {});
},
/** 拆分-提交按钮 */
2 years ago
submitForm() {
// 判断数据不能为空
if (this.splitForm.splitNum == null || this.splitForm.shiftId == null || this.splitForm.prodLineCode == null || this.splitForm.routeCode == null) {
this.$message({
message: '数据不能为空!',
type: 'warning'
})
return
}
if (this.splitForm.routeCode == null) {
this.$message({
message: '数据不能为空!',
type: 'warning'
})
return
}
// 判断如果拆分数量不等于拆分批次数量之和
let sum = 0
for (let i = 0; i < this.formFields.length; i++) {
sum = Number(sum) + Number(this.formFields[i].batchQuantity)
if (this.formFields[i].batchQuantity == '' || this.formFields[i].batchQuantity == null || this.formFields[i].batchCode == null || this.formFields[i].batchCode == '') {
this.$message({
message: '批次数据不能为空',
type: 'warning'
})
return
}
}
if (sum != this.productData[0].atrr1) {
this.$message({
message: '批次数量之和不等于拆分数量',
type: 'warning'
})
return
}
//下面是请求处理
const data = {
formFields: this.formFields,
prodLineCode: this.workForm.prodLineCode,
productDate: this.splitForm.productDate,
shiftId: this.workForm.shiftId,
splitNum: this.workForm.splitNum,
product: this.productData[0],
routeCode: this.workForm.routeCode,
proOrderWorkorder: this.selectWork
}
subChangeWorkOrder(data).then(response => {
if (response.code == 500) {
this.$modal.msgError(response.msg)
return
}
this.$modal.msgSuccess('提交成功')
})
let id = this.productData[0].id
// 清除缓存
this.splitForm = {
id: null,
prodLineCode: null,
splitNum: null,
productDate: null,
shiftId: null,
formFields: []
}
this.formFields = [{
batchCode: '',
batchQuantity: ''
}]
this.getList()
// 等待1秒后执行的代码
this.open = false
2 years ago
},
/** 删除按钮操作 */
handleDelete(row) {
var statusesArray = this.statuses;
for(var i=0; i<statusesArray.length; i++) {
if(statusesArray[i]=='w1'){//已经下达的不允许操作
this.$modal.msgError("已经下达的订单不允许操作");
return
}
}
const workorderIds = row.workorderId || this.ids;
const workorderCodes = row.workorderCode || this.codes;
this.$modal.confirm('是否确认删除生产工单编号为"' + workorderCodes + '"的数据项?').then(function() {
return delWorkorder(workorderIds);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('workorder/workorder/export', {
...this.queryParams
}, `workorder_${new Date().getTime()}.xlsx`)
}
}
};
</script>
<style>
.el-row {
margin: 0;
padding: 0;
}
.el-col {
border-radius: 4px;
}
.bg-purple-dark {
background: #99a9bf;
}
.bg-purple {
background: #d3dce6;
}
.bg-purple-light {
background: #e5e9f2;
}
.grid-content {
border-radius: 4px;
min-height: 36px;
}
.row-bg {
padding: 10px 0;
background-color: #f9fafc;
}
.my-margin {
margin-top: 40px;
margin-bottom: 10px;
}
</style>