Commit b2f7b8d0 authored by 张海景's avatar 张海景

update:修改外协单号

parent 7c13f5bb
...@@ -17,6 +17,15 @@ export function getFeedback(recordId) { ...@@ -17,6 +17,15 @@ export function getFeedback(recordId) {
}) })
} }
// 查询外协单号列表
export function getAssistProcessList(query) {
return request({
url: "/md/assistprocess/list",
method: "get",
params: query
});
}
// 新增生产报工记录 // 新增生产报工记录
export function addFeedback(data) { export function addFeedback(data) {
return request({ return request({
......
...@@ -7,8 +7,6 @@ ...@@ -7,8 +7,6 @@
center center
> >
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
<el-row>
<el-col :span="8">
<el-form-item label="所属工序" prop="processName"> <el-form-item label="所属工序" prop="processName">
<el-select v-model="queryParams.processId" placeholder="请选择工序"> <el-select v-model="queryParams.processId" placeholder="请选择工序">
<el-option <el-option
...@@ -19,8 +17,6 @@ ...@@ -19,8 +17,6 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="所属工作站" prop="workstationCode"> <el-form-item label="所属工作站" prop="workstationCode">
<el-input <el-input
v-model="queryParams.workstationCode" v-model="queryParams.workstationCode"
...@@ -29,8 +25,6 @@ ...@@ -29,8 +25,6 @@
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="任务编号" prop="taskCode"> <el-form-item label="任务编号" prop="taskCode">
<el-input <el-input
v-model="queryParams.taskCode" v-model="queryParams.taskCode"
...@@ -39,16 +33,10 @@ ...@@ -39,16 +33,10 @@
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> <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-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item> </el-form-item>
</el-col>
</el-row>
</el-form> </el-form>
<el-table v-loading="loading" :data="protaskList" @current-change="handleCurrent" @row-dblclick="handleRowDbClick"> <el-table v-loading="loading" :data="protaskList" @current-change="handleCurrent" @row-dblclick="handleRowDbClick">
...@@ -57,8 +45,8 @@ ...@@ -57,8 +45,8 @@
<el-radio v-model="selectedTaskId" :label="scope.row.taskId" @change="handleRowChange(scope.row)">{{""}}</el-radio> <el-radio v-model="selectedTaskId" :label="scope.row.taskId" @change="handleRowChange(scope.row)">{{""}}</el-radio>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="任务编号" align="center" width="100px" prop="taskCode" :show-overflow-tooltip="true"/> <el-table-column label="任务编号" align="center" width="150px" prop="taskCode" :show-overflow-tooltip="true"/>
<el-table-column label="任务名称" align="center" width="120px" prop="taskName" :show-overflow-tooltip="true"/> <el-table-column label="任务名称" align="center" width="250px" prop="taskName" :show-overflow-tooltip="true"/>
<el-table-column label="工作站编号" align="center" width="150px" prop="workstationCode" :show-overflow-tooltip="true"/> <el-table-column label="工作站编号" align="center" width="150px" prop="workstationCode" :show-overflow-tooltip="true"/>
<el-table-column label="工作站名称" align="center" width="150px" prop="workstationName" :show-overflow-tooltip="true"/> <el-table-column label="工作站名称" align="center" width="150px" prop="workstationName" :show-overflow-tooltip="true"/>
<el-table-column label="排产数量" align="center" prop="quantity" /> <el-table-column label="排产数量" align="center" prop="quantity" />
...@@ -79,7 +67,7 @@ ...@@ -79,7 +67,7 @@
<el-color-picker v-model="scope.row.colorCode" disabled></el-color-picker> <el-color-picker v-model="scope.row.colorCode" disabled></el-color-picker>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" width="100px" class-name="small-padding fixed-width"> <el-table-column v-if="btnShow" label="操作" align="center" width="100px" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
size="mini" size="mini"
...@@ -125,7 +113,8 @@ ...@@ -125,7 +113,8 @@
processId: null, processId: null,
processCode: null, processCode: null,
workstationId: null, workstationId: null,
workstationCode: null workstationCode: null,
btnShow: false
}, },
watch: { watch: {
workorderId(v){ workorderId(v){
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
width="80%" width="80%"
center center
> >
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
<el-form-item label="工单编码" prop="workorderCode"> <el-form-item label="工单编码" prop="workorderCode">
<el-input <el-input
v-model="queryParams.workorderCode" v-model="queryParams.workorderCode"
...@@ -49,7 +49,7 @@ ...@@ -49,7 +49,7 @@
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> <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-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
...@@ -74,7 +74,7 @@ ...@@ -74,7 +74,7 @@
<el-table-column label="产品名称" width="200" align="center" prop="productName" :show-overflow-tooltip="true"/> <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="productSpc" :show-overflow-tooltip="true"/>
<el-table-column label="单位" align="center" prop="unitOfMeasure" /> <el-table-column label="单位" align="center" prop="unitOfMeasure" />
<el-table-column label="工单数量" align="center" prop="quantity" /> <el-table-column label="工单数量" align="center" prop="quantity" />
<el-table-column label="客户编码" align="center" prop="clientCode" /> <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="clientName" :show-overflow-tooltip="true"/>
<el-table-column label="需求日期" align="center" prop="requestDate" width="180"> <el-table-column label="需求日期" align="center" prop="requestDate" width="180">
...@@ -105,7 +105,7 @@ ...@@ -105,7 +105,7 @@
dicts: ['mes_order_status','mes_workorder_sourcetype'], dicts: ['mes_order_status','mes_workorder_sourcetype'],
props:{ props:{
workorder: { workorder: {
type: Object, type: Object,
default: function(){ default: function(){
return {'workorderType': 'SELF'} return {'workorderType': 'SELF'}
}} //外部传入的工单过滤信息 }} //外部传入的工单过滤信息
...@@ -214,4 +214,4 @@ ...@@ -214,4 +214,4 @@
} }
} }
} }
</script> </script>
\ No newline at end of file
<template>
<el-dialog title="外协单号选择"
v-if="showFlag"
:visible.sync="showFlag"
:modal= false
width="80%"
>
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
<el-form-item label="供应商" prop="supplierName">
<el-input
v-model="queryParams.supplierName"
placeholder="请输入供应商"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="外协单号" prop="assistProcessCode">
<el-input
v-model="queryParams.assistProcessCode"
placeholder="请输入外协单号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="生产工单号" prop="workorderCode">
<el-input
v-model="queryParams.workorderCode"
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" @current-change="handleCurrent" @row-dblclick="handleRowDbClick">
<el-table-column width="55" align="center" >
<template v-slot="scope">
<el-radio v-model="selectedWorkorderId" :label="scope.row.assistProcessCode" @change="handleRowChange(scope.row)">{{""}}</el-radio>
</template>
</el-table-column>
<el-table-column label="供应商" prop="supplierName" />
<el-table-column label="外协单号" align="center" prop="assistProcessCode" />
<el-table-column label="生产工单号" align="center" prop="workorderCode" :show-overflow-tooltip="true"/>
<el-table-column label="外协数量" align="center" prop="quantity"/>
<el-table-column label="已缴回数量" align="center" prop="quantityFeedback"/>
<el-table-column label="计划时间" align="center" prop="scheduleEndDate" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.scheduleEndDate) }}</span>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<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 { getAssistProcessList} from "@/api/mes/pro/feedback";
export default {
name: 'assistProcessSelect',
components: {},
dicts: ['mes_order_status','mes_workorder_sourcetype'],
props:{
},
data() {
return {
showFlag: false,
// 遮罩层
loading: true,
// 选中数组
selectedWorkorderId: undefined,
selectedRows: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 生产工单表格数据
workorderList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
supplierName: '',
assistProcessCode: '',
workorderCode: ''
},
}
},
created() {
this.getList();
},
methods:{
/** 查询生产工单列表 */
getList() {
this.loading = true;
getAssistProcessList(this.queryParams).then(response => {
this.workorderList = response.rows;
this.total = response.total;
this.loading = false;
});
},
/** 搜索按钮操作 */
handleQuery() {
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
handleCurrent(row){
if(row){
this.selectedRows = row;
}
},
// 单选选中数据
handleRowChange(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){
this.$notify({
title:'提示',
type:'warning',
message: '请至少选择一条数据!'
});
return;
}
this.$emit('onSelected',this.selectedRows);
this.showFlag = false;
}
}
}
</script>
...@@ -19,6 +19,14 @@ ...@@ -19,6 +19,14 @@
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="外协单号" prop="assistProcessCode">
<el-input
v-model="queryParams.assistProcessCode"
placeholder="请输入外协单号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="生产工单编号" prop="workorderCode"> <el-form-item label="生产工单编号" prop="workorderCode">
<el-input <el-input
v-model="queryParams.workorderCode" v-model="queryParams.workorderCode"
...@@ -118,6 +126,7 @@ ...@@ -118,6 +126,7 @@
</el-table-column> </el-table-column>
<el-table-column label="工作站" width="120" align="center" prop="workstationName" /> <el-table-column label="工作站" width="120" align="center" prop="workstationName" />
<el-table-column label="工作单元" width="120" align="center" prop="workunitName" /> <el-table-column label="工作单元" width="120" align="center" prop="workunitName" />
<el-table-column label="外协单号" width="150" align="center" prop="assistProcessCode" />
<el-table-column label="生产工单编号" width="150" align="center" prop="workorderCode" /> <el-table-column label="生产工单编号" width="150" align="center" prop="workorderCode" />
<el-table-column label="产品物料编码" width="120" align="center" prop="itemCode" /> <el-table-column label="产品物料编码" width="120" align="center" prop="itemCode" />
<el-table-column label="产品物料名称" min-width="250" show-overflow-tooltip align="center" prop="itemName" /> <el-table-column label="产品物料名称" min-width="250" show-overflow-tooltip align="center" prop="itemName" />
...@@ -181,7 +190,7 @@ ...@@ -181,7 +190,7 @@
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="报工类型" prop="feedbackType"> <el-form-item label="报工类型" prop="feedbackType">
<el-select v-model="form.feedbackType" placeholder="请选择报工类型"> <el-select v-model="form.feedbackType" placeholder="请选择报工类型" @change="handleFeedbackTypeChange">
<el-option <el-option
v-for="dict in dict.type.mes_feedback_type" v-for="dict in dict.type.mes_feedback_type"
:key="dict.value" :key="dict.value"
...@@ -191,21 +200,38 @@ ...@@ -191,21 +200,38 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col v-if="form.feedbackType == 'ASSIST_PROCESS'" :span="8">
<el-form-item label="外协单号" prop="assistProcessCode">
<el-input v-model="form.assistProcessCode" placeholder="请选择外协单号" >
<el-button slot="append" icon="el-icon-search" @click="$refs.assistProcessSelect.showFlag = true"></el-button>
</el-input>
</el-form-item>
<assistProcessSelect v-if="open" ref="assistProcessSelect" @onSelected="onAssistProcessSelect"></assistProcessSelect>
</el-col>
<el-col v-if="form.feedbackType == 'ASSIST_PROCESS'" :span="8">
<el-form-item label="是否关单" prop="closeType">
<el-radio-group v-model="form.closeType">
<el-radio :label="1"></el-radio>
<el-radio :label="0"></el-radio>
</el-radio-group>
</el-form-item>
<assistProcessSelect v-if="open" ref="assistProcessSelect" @onSelected="onAssistProcessSelect"></assistProcessSelect>
</el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="生产工单" prop="workorderCode"> <el-form-item label="生产工单" prop="workorderCode">
<el-input v-model="form.workorderCode" placeholder="请选择生产工单" > <el-input :disabled="form.feedbackType == 'ASSIST_PROCESS'" v-model="form.workorderCode" placeholder="请选择生产工单" >
<el-button slot="append" icon="el-icon-search" @click="handleWorkorderSelect"></el-button> <el-button :disabled="form.feedbackType == 'ASSIST_PROCESS'" slot="append" icon="el-icon-search" @click="handleWorkorderSelect"></el-button>
</el-input> </el-input>
</el-form-item> </el-form-item>
<WorkorderSelect ref="woSelect" @onSelected="onWorkorderSelected"></WorkorderSelect> <WorkorderSelect v-if="open" ref="woSelect" @onSelected="onWorkorderSelected"></WorkorderSelect>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="生产任务" prop="taskCode"> <el-form-item label="生产任务" prop="taskCode">
<el-input v-model="form.taskCode" placeholder="请选择生产任务" > <el-input :disabled="form.feedbackType == 'ASSIST_PROCESS'" v-model="form.taskCode" placeholder="请选择生产任务" >
<el-button slot="append" icon="el-icon-search" @click="handleTaskSelect"></el-button> <el-button :disabled="form.feedbackType == 'ASSIST_PROCESS'" slot="append" icon="el-icon-search" @click="handleTaskSelect"></el-button>
</el-input> </el-input>
</el-form-item> </el-form-item>
<ProtaskSelect ref="taskSelect" :workorderId="form.workorderId" @onSelected="onTaskSelected"> </ProtaskSelect> <ProtaskSelect v-if="open" ref="taskSelect" :workorderId="form.workorderId" @onSelected="onTaskSelected"> </ProtaskSelect>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
...@@ -268,7 +294,7 @@ ...@@ -268,7 +294,7 @@
<el-button slot="append" @click="handleUserSelect" icon="el-icon-search"></el-button> <el-button slot="append" @click="handleUserSelect" icon="el-icon-search"></el-button>
</el-input> </el-input>
</el-form-item> </el-form-item>
<UserSingleSelect ref="userSelect" @onSelected="onUserSelected"></UserSingleSelect> <UserSingleSelect v-if="open" ref="userSelect" @onSelected="onUserSelected"></UserSingleSelect>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="报工时间" prop="feedbackTime"> <el-form-item label="报工时间" prop="feedbackTime">
...@@ -315,9 +341,10 @@ import WorkorderSelect from "@/components/workorderSelect/single.vue" ...@@ -315,9 +341,10 @@ import WorkorderSelect from "@/components/workorderSelect/single.vue"
import WorkstationSelect from "@/components/workstationSelect/simpletableSingle.vue" import WorkstationSelect from "@/components/workstationSelect/simpletableSingle.vue"
import UserSingleSelect from "@/components/userSelect/single.vue" import UserSingleSelect from "@/components/userSelect/single.vue"
import ProtaskSelect from "@/components/TaskSelect/taskSelectSingle.vue" import ProtaskSelect from "@/components/TaskSelect/taskSelectSingle.vue"
import assistProcessSelect from "./components/assistProcessSelect.vue"
export default { export default {
name: "Feedback", name: "Feedback",
components: {WorkorderSelect,WorkstationSelect,UserSingleSelect,ProtaskSelect}, components: {WorkorderSelect,WorkstationSelect,UserSingleSelect,ProtaskSelect,assistProcessSelect},
dicts: ['mes_order_status', 'mes_feedback_type'], dicts: ['mes_order_status', 'mes_feedback_type'],
data() { data() {
return { return {
...@@ -349,6 +376,7 @@ export default { ...@@ -349,6 +376,7 @@ export default {
workstationCode: null, workstationCode: null,
workstationName: null, workstationName: null,
workorderId: null, workorderId: null,
assistProcessCode: null,
workorderCode: null, workorderCode: null,
workorderName: null, workorderName: null,
taskId: null, taskId: null,
...@@ -378,13 +406,19 @@ export default { ...@@ -378,13 +406,19 @@ export default {
{ required: true, message: "报工类型不能为空", trigger: "change" } { required: true, message: "报工类型不能为空", trigger: "change" }
], ],
taskCode: [ taskCode: [
{ required: true, message: "请选择生产任务", trigger: "blur" } { required: true, message: "请选择生产任务", trigger: ['blur', 'change'] }
], ],
workorderCode: [ workorderCode: [
{ required: true, message: "生产工单不能为空", trigger: "blur" } { required: true, message: "生产工单不能为空", trigger: ['blur', 'change'] }
],
assistProcessCode: [
{ required: true, message: "外协工单不能为空", trigger: ['blur', 'change'] }
],
closeType: [
{ required: true, message: "是否关单不能为空", trigger: ['blur', 'change'] }
], ],
nickName: [ nickName: [
{ required: true, message: "请选择报工人", trigger: "blur"} { required: true, message: "请选择报工人", trigger: ['blur', 'change']}
], ],
feedbackTime: [ feedbackTime: [
{ required: true, message: "请选择报工时间", trigger: "blur"} { required: true, message: "请选择报工时间", trigger: "blur"}
...@@ -405,6 +439,11 @@ export default { ...@@ -405,6 +439,11 @@ export default {
this.loading = false; this.loading = false;
}); });
}, },
handleFeedbackTypeChange(value) {
console.log(value)
this.form.assistProcessCode = null
this.form.closeType = 0
},
// 取消按钮 // 取消按钮
cancel() { cancel() {
this.open = false; this.open = false;
...@@ -432,6 +471,8 @@ export default { ...@@ -432,6 +471,8 @@ export default {
itemCode: null, itemCode: null,
itemName: null, itemName: null,
specification: null, specification: null,
assistProcessCode: null,
closeType: 0,
quantity: 0, quantity: 0,
quantityUncheck: 0, quantityUncheck: 0,
quantityFeedback: 0, quantityFeedback: 0,
...@@ -593,6 +634,15 @@ export default { ...@@ -593,6 +634,15 @@ export default {
this.form.unitOfMeasure = row.unitOfMeasure; this.form.unitOfMeasure = row.unitOfMeasure;
} }
}, },
onAssistProcessSelect(row) {
if (row != undefined && row != null){
this.form.workorderId = row.workorderId;
this.form.workorderCode = row.workorderCode;
this.form.taskId = row.taskId;
this.form.taskCode = row.taskCode;
this.form.assistProcessCode = row.assistProcessCode;
}
},
handleTaskSelect(){ handleTaskSelect(){
this.$refs.taskSelect.showFlag = true; this.$refs.taskSelect.showFlag = true;
this.$refs.taskSelect.getList(); this.$refs.taskSelect.getList();
......
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