factory_web/src/views/wpm/task2flog_form.vue

392 lines
15 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<el-dialog
:title="titleMap[mode]"
v-model="visible"
width="1000px"
:size="1000"
destroy-on-close
@closed="$emit('closed')"
>
<!-- 混料工序 -->
<el-form v-if="activeType=='混料工序'" ref="ruleForm" :model="form" :rules="rules" label-width="80px">
<el-row>
<el-col :md="12" :sm="24">
<el-form-item label="产品规格" prop="material">
<el-select
v-model="form.cate"
placeholder="产品规格"
clearable
style="width:100%"
>
<el-option
v-for="item in cateOptions"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="合格数量" width="100">
<el-input-number
v-model="form.count_use"
controls-position="right"
:min="0" step="1"
:step-strictly="true"
style="width:100%"
placeholder="请输入合格数量">
</el-input-number>
</el-form-item>
</el-col>
</el-row>
</el-form>
<!-- 七车间 -->
<el-form v-if="activeType=='7车间'" ref="ruleForm" :model="form" :rules="rules" label-width="120px">
<el-row>
<el-col :md="12" :sm="24">
<el-form-item label="炉号">
<el-select
v-model="form.cate"
placeholder="炉号"
clearable
style="width:100%"
>
<el-option
v-for="item in 8"
:key="item"
:label="item"
:value="item"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="第几锅">
<el-input-number
v-model="form.count_use"
controls-position="right"
:min="0" step="1"
:step-strictly="true"
style="width:100%"
placeholder="第几锅">
</el-input-number>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="产品规格" prop="material">
<el-select
v-model="form.cate"
placeholder="产品规格"
clearable
style="width:100%"
>
<el-option
v-for="item in cateOptions"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="配粉料数(kg)">
<el-input-number
v-model="form.count_use"
controls-position="right"
:min="0"
step="1"
:precision="2"
style="width:100%"
placeholder="请输入配粉料数kg">
</el-input-number>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="产出数量">
<el-input-number
v-model="form.count_use"
controls-position="right"
:min="0" step="1"
:step-strictly="true"
style="width:100%"
placeholder="请输入产出数量">
</el-input-number>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="合格数量">
<el-input-number
v-model="form.count_use"
controls-position="right"
:min="0" step="1"
:step-strictly="true"
style="width:100%"
placeholder="请输入合格数量">
</el-input-number>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="退火炉号">
<el-select
v-model="form.cate"
placeholder="退火炉号"
clearable
style="width:100%"
>
<el-option
v-for="item in 8"
:key="item"
:label="item"
:value="item"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="是否加氧">
<el-select
v-model="form.o2"
placeholder="是否加氧"
clearable
style="width:100%"
>
<el-option
v-for="item in yseorno"
:key="item"
:label="item"
:value="item"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item prop="type" label="成型人">
<el-select
v-model="form.shift"
placeholder="成型人"
clearable
style="width:100%"
>
<el-option
v-for="item in userList"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item prop="type" label="切料人">
<el-select
v-model="form.shift"
placeholder="切料人"
clearable
style="width:100%"
>
<el-option
v-for="item in userList"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form>
<!-- 十车间 -->
<el-form v-if="activeType=='10车间'" ref="ruleForm" :model="form" :rules="rules" label-width="80px">
<el-row>
<el-col :md="12" :sm="24">
<el-form-item label="产品规格" prop="material">
<el-select
v-model="form.cate"
placeholder="产品规格"
clearable
style="width:100%"
>
<el-option
v-for="item in cateOptions"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="班次" prop="material">
<el-select
v-model="form.shift"
placeholder="班次"
clearable
style="width:100%"
>
<el-option
v-for="item in shiftOptions"
:key="item"
:label="item"
:value="item"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="合格数量" width="100">
<el-input-number
v-model="form.count_use"
controls-position="right"
:min="0" step="1"
:step-strictly="true"
style="width:100%"
placeholder="请输入合格数量">
</el-input-number>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item prop="type" label="成型人">
<el-select
v-model="form.cxr"
placeholder="成型人"
clearable
style="width:100%"
>
<el-option
v-for="item in userList"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item prop="type" label="带班人">
<el-select
v-model="form.shift"
placeholder="带班人"
clearable
style="width:100%"
>
<el-option
v-for="item in userList"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-footer>
<el-button @click="resetForm">取消</el-button>
<el-button type="primary" @click="submitForm">提交</el-button>
</el-footer>
</el-dialog>
</template>
<script>
import { index } from 'd3';
export default {
emits: ["success", "closed"],
props:{
mtask: { type: String, default: '' },
activeType:{ type: String, default: '' },
},
data() {
return {
yseorno:['是','否'],
loading: false,
mode: "add",
titleMap: {
add: "新增记录",
edit: "编辑记录",
show: "查看记录",
},
form:{},
options:[],
userList:[],
cateOptions:[],
shiftOptions:['白班','夜班'],
visible: false,
isSaveing: false,
setFiltersVisible: false,
handle_name:'',
leader_name:''
};
},
mounted() {
this.getUserList();
},
methods: {
getUserList(){
let that = this;
this.$API.system.user.list.req({belong_dept__name:this.activeType,page:0}).then(res=>{
that.userList = res;
});
},
getReceptionist(data) {
this.form.handle_user=data.id;
this.handle_name=data.name
},
getLeader(data){
this.form.leader_user=data.id;
this.leader_name=data.name
},
//显示
open(mode = "add") {
this.mode = mode;
this.visible = true;
return this;
},
getList(){
this.$API.mtm.material.list.req({page:0}).then(res=>{
this.options = res;
})
},
//提交
submit() {
this.$refs.dialogForm.validate(async (valid) => {
if (valid) {
this.isSaveing = true;
try {
var res;
this.form.mtask = this.mtask;
if (this.mode == "add") {
res = await this.$API.pum.planitem.create.req(this.form);
} else if (this.mode == "edit") {
res = await this.$API.pum.planitem.update.req(this.form.id,this.form);
}
this.isSaveing = false;
this.$emit("success", this.form, this.mode);
this.visible = false;
this.$message.success("操作成功");
} catch (err) {
//可以处理校验错误
this.isSaveing = false;
return err;
}
}
});
},
//表单注入数据
setData(data) {
Object.assign(this.form, data);
},
//设置过滤项
setFilters(filters) {
this.selectionFilters = filters;
this.setFiltersVisible = true;
},
},
};
</script>