Commit 41569322 authored by 沈翠玲's avatar 沈翠玲

选择工单

parent d4cb888d
......@@ -72,6 +72,14 @@ export function unschedule(arrangeCode) {
});
}
// 选择工单
export function getWorkOrderListByTaskWorkunitId(taskWorkunitId) {
return request({
url: "/mes/pro/taskWorkunit/getWorkOrderListByTaskWorkunitId/" + taskWorkunitId,
method: "get",
});
}
// 新增生产任务
export function addProtask(data) {
return request({
......
......@@ -527,21 +527,33 @@
>
<el-form :model="Assignform" ref="Assignform" size="small" :inline="true">
<el-row>
<el-col :span="24" style="color: red;">
<el-form-item label="可用刀模" prop="quantity" style="color: red;">
{{availableToolCount ? availableToolCount+'套' : '无需刀模'}}
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="排产数量" prop="quantity">
<el-input-number
:step="1"
:min="0"
v-model="Assignform.quantity"
placeholder="请输入排产数量"
/>
</el-form-item>
</el-col>
<el-row>
<el-col :span="12">
<el-row>
<el-col :span="24" style="color: red;">
<el-form-item label="可用刀模" prop="quantity" style="color: red;">
{{availableToolCount ? availableToolCount+'套' : '无需刀模'}}
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="排产数量" prop="quantity">
<el-input-number
:step="1"
:min="0"
v-model="Assignform.quantity"
placeholder="请输入排产数量"
/>
</el-form-item>
</el-col>
</el-row>
</el-col>
<el-col :span="12">
<div style="font-weight: bold;">分派工单</div>
<el-input v-model="Assignform.splitWorkorder" placeholder="工单号" disabled>
<el-button slot="append" @click="selectWorkorder">选择工单</el-button>
</el-input>
</el-col>
</el-row>
<el-col :span="24">
<el-form-item label="工作单元" prop="workunitCode">
<el-input v-model="Assignform.workunitName" placeholder="工作单元" >
......@@ -654,6 +666,9 @@
:workstationId="currentData.workstationId"
@onSelected="onWorkunitSelect"
/>
<workorderSelect ref="workorderSelect"
:workorder="selectedRows.length > 0 && selectedRows[0]"
@onSelected="onWorkorderSelect"/>
</div>
</template>
......@@ -671,7 +686,7 @@ import {
postAssistMark,
getavailableToolCount,
getdefaultWorkCenterList} from '@/api/mes/pro/scheduleList'
import {putProtaskSplit, splitWorkstation, deleteTask, unschedule, updateProTaskWorkunitApi} from '@/api/mes/pro/protask'
import {putProtaskSplit, splitWorkstation, deleteTask, unschedule, updateProTaskWorkunitApi, getWorkOrderListByTaskWorkunitId} from '@/api/mes/pro/protask'
import BrandSelect from "@/components/TmTool/index.vue";
import shiftSelectMixin from '@/utils/shiftSelectMixin'
import OrderList from './orderList.vue'
......@@ -680,11 +695,12 @@ import splitProcess from './splitProcess.vue'
import arrangCodeList from './arrangCodeList.vue'
import taskList from './taskList.vue'
import WorkuintSelect from "./workunitSelectSche.vue";
import workorderSelect from "./workorderSelect.vue";
import dayjs from 'dayjs'
import ProcessSelect from "@/components/process/taskSelectSingle.vue";
export default {
components: {BrandSelect,ProcessSelect, OrderList, arrangCodeList, WorkuintSelect, jobAssign, taskList, splitProcess},
components: {BrandSelect,workorderSelect,ProcessSelect, OrderList, arrangCodeList, WorkuintSelect, jobAssign, taskList, splitProcess},
dicts: ['TASK_STATUS', 'mes_workorder_type'],
name: "scheduleList",
mixins: [shiftSelectMixin],
......@@ -773,6 +789,18 @@ export default {
this.hanldeGetdefaultWorkCenterList()
},
methods: {
selectWorkorder() {
getWorkOrderListByTaskWorkunitId(this.selectedRows[0].taskWorkunitId).then(response => {
if (response.code === 200) {
this.$refs.workorderSelect.showFlag = true
}
});
},
onWorkorderSelect(rows){
if (rows && rows.length > 0) {
this.Assignform.splitWorkorder = rows.map(v => v.workorderCode).join(',')
}
},
handleSelectionChange(selection) {
this.ids = selection.map(item => item.taskId);
this.selectedRows = selection;
......@@ -818,6 +846,7 @@ export default {
if(!this.AssignList || this.AssignList.length === 0) return this.$modal.msgError("请先点击检查按钮,检查数据")
let datas = Object.assign({}, this.selectedRows[0]);
datas.taskWorkunit = this.AssignList[0];
datas['splitWorkorder'] = this.Assignform.splitWorkorder
delete datas.proWorkorderList;
delete datas.taskWorkunit.workstationName;
delete datas.taskWorkunit.processName;
......@@ -924,6 +953,7 @@ export default {
this.Assignform = {
quantity: 0,
workunitName: null,
splitWorkorder: null,
workunitId: null
};
getavailableToolCount(this.selectedRows[0].taskWorkunitId).then(res => {
......
<template>
<el-dialog title="工单选择"
v-if="showFlag"
:visible.sync="showFlag"
:modal= false
width="80%"
center
>
<!-- <el-form :model="queryParams" @submit.native.prevent ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
<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="workorderName">
<el-input
v-model="queryParams.workorderName"
placeholder="请输入工单名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="产品编号" prop="productCode">
<el-input
v-model="queryParams.productCode"
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="clientName">
<el-input
v-model="queryParams.clientName"
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-table v-loading="loading" :data="workorderList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="工单编码" width="180" prop="workorderCode" >
</el-table-column>
<el-table-column label="工单名称" width="200" align="center" prop="workorderName" :show-overflow-tooltip="true"/>
<el-table-column label="工单来源" align="center" prop="orderSource" >
<template slot-scope="scope">
<dict-tag :options="dict.type.mes_workorder_sourcetype" :value="scope.row.orderSource"/>
</template>
</el-table-column>
<el-table-column label="订单编号" width="140" align="center" prop="sourceCode" />
<el-table-column label="产品编号" width="120" align="center" prop="productCode" />
<el-table-column label="产品名称" width="200" align="center" prop="productName" :show-overflow-tooltip="true"/>
<el-table-column label="规格型号" align="center" prop="productSpc" :show-overflow-tooltip="true"/>
<el-table-column label="单位" align="center" prop="unitOfMeasure" />
<el-table-column label="工单数量" align="center" prop="quantity" />
<el-table-column label="客户编码" align="center" prop="clientCode" />
<el-table-column label="客户名称" align="center" prop="clientName" :show-overflow-tooltip="true"/>
<el-table-column label="需求日期" align="center" prop="requestDate" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.requestDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
</el-table>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="confirmSelect"> </el-button>
<el-button @click="showFlag=false"> </el-button>
</div>
</el-dialog>
</template>
<script>
import { getWorkOrderListByTaskWorkunitId} from "@/api/mes/pro/protask";
export default {
name: 'WorkOrderSelectSingle',
components: {},
dicts: ['mes_order_status','mes_workorder_sourcetype'],
props:{
workorder: {
type: Object
}
},
watch: {
showFlag(){
if (this.showFlag) {
this.handleQuery()
}
}
},
data() {
return {
showFlag: false,
// 遮罩层
loading: true,
// 选中数组
selectedWorkorderId: undefined,
selectedRows: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 生产工单表格数据
workorderList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
workorderCode: null,
workorderName: null,
taskWorkunitId: this.workorder.taskWorkunitId,
orderSource: null,
sourceCode: null,
productId: null,
productCode: null,
productName: null,
productSpc: null,
unitOfMeasure: null,
quantity: null,
quantityProduced: null,
quantityChanged: null,
quantityScheduled: null,
clientId: null,
clientCode: null,
clientName: null,
requestDate: null,
parentId: null,
ancestors: null,
status: 'CONFIRMED',
},
}
},
created() {
this.getList();
},
methods:{
/** 查询生产工单列表 */
getList() {
this.loading = true;
if (!this.workorder || !this.workorder.taskWorkunitId) return
getWorkOrderListByTaskWorkunitId(this.workorder.taskWorkunitId).then(response => {
this.workorderList = response.data;
this.loading = false;
});
},
/** 搜索按钮操作 */
handleQuery() {
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
handleCurrent(row){
if(row){
this.selectedRows = row;
}
},
// 单选选中数据
handleSelectionChange(row) {
if(row){
this.selectedRows = row;
}
},
//双击选中
handleRowDbClick(row){
if(row){
this.selectedRows = row;
this.$emit('onSelected',this.selectedRows);
this.showFlag = false;
}
},
//确定选中
confirmSelect(){
// if(this.selectedWorkorderId == null || this.selectedWorkorderId == 0){
// this.$notify({
// title:'提示',
// type:'warning',
// message: '请至少选择一条数据!'
// });
// return;
// }
this.$emit('onSelected',this.selectedRows);
this.showFlag = false;
}
}
}
</script>
......@@ -310,6 +310,12 @@
prop="lossNum"
width="120"
/>
<el-table-column
label="工单完工数"
align="center"
prop="packageNumSum"
width="120"
/>
<el-table-column
label="销售凭证"
align="center"
......
......@@ -439,6 +439,7 @@ export default {
{ prop: "clientCmd", label: "销售订单指令号" },
{ prop: "quantity", label: "派工数", width: "160" },
{ prop: "lossNum", label: "Loss数" },
{ prop: "packageNumSum", label: "SIZE完工数" },
{ prop: "brandCode", label: "品牌" },
{ prop: "salePath", label: "销线" },
{ prop: "sizeType", label: "SIZE类型组", width: "120" },
......
......@@ -146,6 +146,16 @@
/>
</el-form-item>
</el-col>
<el-col :lg="6" :md="8" :sm="12" :xs="12">
<el-form-item label="已报工数" prop="packageNumSum">
<el-input
v-model="form.packageNumSum"
placeholder="请输入已报工数"
type="number"
disabled
/>
</el-form-item>
</el-col>
<el-col :lg="6" :md="8" :sm="12" :xs="12">
<el-form-item label="开始日期" prop="startDate">
<el-date-picker
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment