部分检验
This commit is contained in:
parent
329d30eecb
commit
c5b6eb4f58
|
@ -35,9 +35,9 @@
|
||||||
<!-- 曲阳 -->
|
<!-- 曲阳 -->
|
||||||
<!-- <img src="img/bbmg_jy.jpg"/> -->
|
<!-- <img src="img/bbmg_jy.jpg"/> -->
|
||||||
<!-- 托克逊 -->
|
<!-- 托克逊 -->
|
||||||
<img src="img/bbmg.jpg"/>
|
<!-- <img src="img/bbmg.jpg"/> -->
|
||||||
<!-- 光子 -->
|
<!-- 光子 -->
|
||||||
<!-- <img src="img/gz_logo.png"/> -->
|
<img src="img/gz_logo.png"/>
|
||||||
</div>
|
</div>
|
||||||
<div class="app-loading__loader"></div>
|
<div class="app-loading__loader"></div>
|
||||||
<div class="app-loading__title"><%= VUE_APP_TITLE %></div>
|
<div class="app-loading__title"><%= VUE_APP_TITLE %></div>
|
||||||
|
|
|
@ -37,5 +37,47 @@ export default {
|
||||||
return await http.get(this.url, data);
|
return await http.get(this.url, data);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
ftest: {
|
||||||
|
list: {
|
||||||
|
name: "首件检验列表",
|
||||||
|
req: async function(data){
|
||||||
|
return await http.get(
|
||||||
|
`${config.API_URL}/qm/ftest/`,
|
||||||
|
data
|
||||||
|
);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
item: {
|
||||||
|
name: "首件检验",
|
||||||
|
req: async function(id){
|
||||||
|
return await http.get(
|
||||||
|
`${config.API_URL}/qm/ftest/${id}/`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
update: {
|
||||||
|
name: "更新首件检验",
|
||||||
|
req: async function(id, data){
|
||||||
|
return await http.put(
|
||||||
|
`${config.API_URL}/qm/ftest/${id}/`,
|
||||||
|
data);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
create: {
|
||||||
|
name: "创建首件检验",
|
||||||
|
req: async function(data){
|
||||||
|
return await http.post(
|
||||||
|
`${config.API_URL}/qm/ftest/`,
|
||||||
|
data);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
delete: {
|
||||||
|
name: "删除首件检验",
|
||||||
|
req: async function(id){
|
||||||
|
return await http.delete(
|
||||||
|
`${config.API_URL}/qm/ftest/${id}/`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -196,6 +196,72 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
handover:{
|
||||||
|
list: {
|
||||||
|
name: "值班记录列表",
|
||||||
|
req: async function(data){
|
||||||
|
return await http.get(
|
||||||
|
`${config.API_URL}/wpm/handover/`,
|
||||||
|
data
|
||||||
|
);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
item: {
|
||||||
|
name: "获取详情",
|
||||||
|
req: async function(id){
|
||||||
|
return await http.get(
|
||||||
|
`${config.API_URL}/wpm/handover/${id}/`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
cquery: {
|
||||||
|
name: "复杂查询",
|
||||||
|
req: async function(data){
|
||||||
|
return await http.post(
|
||||||
|
`${config.API_URL}/wpm/handover/cquery/`,
|
||||||
|
data);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
update: {
|
||||||
|
name: "更新",
|
||||||
|
req: async function(id, data){
|
||||||
|
return await http.put(
|
||||||
|
`${config.API_URL}/wpm/handover/${id}/`,
|
||||||
|
data);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
create: {
|
||||||
|
name: "创建",
|
||||||
|
req: async function(data){
|
||||||
|
return await http.post(
|
||||||
|
`${config.API_URL}/wpm/handover/`,
|
||||||
|
data);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
delete: {
|
||||||
|
name: "删除",
|
||||||
|
req: async function(id){
|
||||||
|
return await http.delete(
|
||||||
|
`${config.API_URL}/wpm/handover/${id}/`);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
genByMlogs:{
|
||||||
|
name: "从生产日志生成交接记录",
|
||||||
|
req: async function(data){
|
||||||
|
return await http.post(
|
||||||
|
`${config.API_URL}/wpm/handover/gen_by_mlogs/`,
|
||||||
|
data);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
genByWm:{
|
||||||
|
name: "从车间库存生成交接记录",
|
||||||
|
req: async function(data){
|
||||||
|
return await http.post(
|
||||||
|
`${config.API_URL}/wpm/handover/gen_by_wm/`,
|
||||||
|
data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
//车间库存
|
//车间库存
|
||||||
wmaterial: {
|
wmaterial: {
|
||||||
list: {
|
list: {
|
||||||
|
|
|
@ -643,7 +643,7 @@ const routes = [
|
||||||
"name": "em",
|
"name": "em",
|
||||||
"path": "/em",
|
"path": "/em",
|
||||||
"meta": {
|
"meta": {
|
||||||
"title": "设备",
|
"title": "设备管理",
|
||||||
"icon": "el-icon-grid",
|
"icon": "el-icon-grid",
|
||||||
"type": "menu",
|
"type": "menu",
|
||||||
"perms": ["em"]
|
"perms": ["em"]
|
||||||
|
|
|
@ -42,6 +42,9 @@
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" fixed="right" align="center" width="100px">
|
<el-table-column label="操作" fixed="right" align="center" width="100px">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
|
<el-link type="primary" @click="table_check(scope.row)" >
|
||||||
|
检验
|
||||||
|
</el-link>
|
||||||
<el-link type="danger" @click="table_del(scope.row)" v-if="mioObj.state == 10">
|
<el-link type="danger" @click="table_del(scope.row)" v-if="mioObj.state == 10">
|
||||||
删除
|
删除
|
||||||
</el-link>
|
</el-link>
|
||||||
|
@ -52,18 +55,25 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<save-dialog v-if="dialog.save" ref="saveDialog" :mioId="mioId" :belongDeptId="belongDeptId" :mioObj="mioObj"
|
<save-dialog v-if="dialog.save" ref="saveDialog" :mioId="mioId" :belongDeptId="belongDeptId" :mioObj="mioObj"
|
||||||
@success="handleSaveSuccess" @closed="dialog.save = false"></save-dialog>
|
@success="handleSaveSuccess" @closed="dialog.save = false">
|
||||||
|
</save-dialog>
|
||||||
|
|
||||||
|
<check-dialog v-if="dialog.check" ref="checkDialog"
|
||||||
|
@success="handleCheckSuccess" @closed="dialog.check = false">
|
||||||
|
</check-dialog>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import saveDialog from "./mioitem_form.vue";
|
import saveDialog from "./mioitem_form.vue";
|
||||||
|
import checkDialog from "./mioitem_check.vue";
|
||||||
export default {
|
export default {
|
||||||
name: "mioitem",
|
name: "mioitem",
|
||||||
components: {
|
components: {
|
||||||
saveDialog,
|
saveDialog,checkDialog
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
dialog: {
|
dialog: {
|
||||||
|
check:false,
|
||||||
save: false,
|
save: false,
|
||||||
},
|
},
|
||||||
apiObj: null,
|
apiObj: null,
|
||||||
|
@ -133,6 +143,12 @@ export default {
|
||||||
});
|
});
|
||||||
}).catch(() => { });
|
}).catch(() => { });
|
||||||
},
|
},
|
||||||
|
table_check(row){
|
||||||
|
this.dialog.check = true;
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.checkDialog.open("add");
|
||||||
|
});
|
||||||
|
},
|
||||||
//本地更新数据
|
//本地更新数据
|
||||||
handleSaveSuccess(data, mode) {
|
handleSaveSuccess(data, mode) {
|
||||||
if (mode == "add") {
|
if (mode == "add") {
|
||||||
|
@ -141,6 +157,9 @@ export default {
|
||||||
this.$refs.table.refresh();
|
this.$refs.table.refresh();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
handleCheckSuccess(){
|
||||||
|
this.$refs.table.refresh();
|
||||||
|
},
|
||||||
handleQuery() {
|
handleQuery() {
|
||||||
this.$refs.table.queryData(this.query)
|
this.$refs.table.queryData(this.query)
|
||||||
},
|
},
|
||||||
|
|
|
@ -0,0 +1,254 @@
|
||||||
|
<template>
|
||||||
|
<el-dialog
|
||||||
|
title="首件检验"
|
||||||
|
v-model="visible"
|
||||||
|
:size="1000"
|
||||||
|
destroy-on-close
|
||||||
|
@closed="$emit('closed')"
|
||||||
|
>
|
||||||
|
<el-container v-loading="loading">
|
||||||
|
<el-main style="padding: 0 20px 20px 20px">
|
||||||
|
<el-form
|
||||||
|
ref="dialogForm"
|
||||||
|
:model="form"
|
||||||
|
:rules="rules"
|
||||||
|
label-width="100px"
|
||||||
|
>
|
||||||
|
<el-row>
|
||||||
|
<el-col :md="12" :sm="24">
|
||||||
|
<el-form-item label="所属部门" prop="belong_dept">
|
||||||
|
<el-select
|
||||||
|
v-model="form.belong_dept"
|
||||||
|
placeholder="所属部门"
|
||||||
|
clearable style="width:100%"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in deptOptions"
|
||||||
|
: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="test_date">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="form.test_date"
|
||||||
|
type="date"
|
||||||
|
value-format="YYYY-MM-DD"
|
||||||
|
style="width:100%"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :md="12" :sm="24">
|
||||||
|
<el-form-item label="操作人" prop="test_user">
|
||||||
|
<el-select
|
||||||
|
v-model="form.test_user"
|
||||||
|
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 label="专检人" prop="check_user">
|
||||||
|
<el-select
|
||||||
|
v-model="form.check_user"
|
||||||
|
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-table :data="form.ftestitems" border placeholder="暂无数据">
|
||||||
|
<el-table-column prop="testitem" label="测量项" min-width="100" align="center">
|
||||||
|
<template #default="scope">
|
||||||
|
<span>{{ scope.row.testitem }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="test_val" label="操作人测量值" min-width="120" align="center">
|
||||||
|
<template #default="scope">
|
||||||
|
<el-input-number v-model="scope.row.test_val" :min="0" style="width:100%" controls-position="right">
|
||||||
|
</el-input-number>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="check_val" label="专检人测量值" min-width="120" align="center">
|
||||||
|
<template #default="scope">
|
||||||
|
<el-input-number v-model="scope.row.check_val" :min="0" style="width:100%" controls-position="right">
|
||||||
|
</el-input-number>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<el-row style="margin-top:14px">
|
||||||
|
<el-col :md="12" :sm="24">
|
||||||
|
<el-form-item label="检验工序集" prop="test_group">
|
||||||
|
<el-select
|
||||||
|
v-model="form.test_group"
|
||||||
|
placeholder="检验工序集"
|
||||||
|
multiple
|
||||||
|
clearable style="width:100%"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in processOptions"
|
||||||
|
:key="item.id"
|
||||||
|
:label="item.name"
|
||||||
|
:value="item.id">
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
|
||||||
|
<el-col :md="12" :sm="24" prop="is_ok">
|
||||||
|
<el-form-item label="是否合格" prop="is_ok">
|
||||||
|
<el-select
|
||||||
|
v-model="form.is_ok"
|
||||||
|
placeholder="是否合格"
|
||||||
|
clearable
|
||||||
|
style="width:100%"
|
||||||
|
>
|
||||||
|
<el-option label="是" value="true"/>
|
||||||
|
<el-option label="否" value="false"/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :md="12" :sm="24">
|
||||||
|
<el-form-item label="备注">
|
||||||
|
<el-input v-model="form.note" placeholder="备注"/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-form>
|
||||||
|
</el-main>
|
||||||
|
<el-footer>
|
||||||
|
<el-button type="primary" :loading="isSaveing" @click="submit">保存</el-button>
|
||||||
|
<el-button @click="visible = false">取消</el-button>
|
||||||
|
</el-footer>
|
||||||
|
</el-container>
|
||||||
|
</el-dialog>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
emits: ["success", "closed"],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
loading: false,
|
||||||
|
form: {
|
||||||
|
ftestitems:[
|
||||||
|
{testitem:'椭圆度(≤0.02mm)',test_val:'',check_val:''},
|
||||||
|
{testitem:'锥度(≤0.05mm)',test_val:'',check_val:''},
|
||||||
|
{testitem:'直径(≥29.0)',test_val:'',check_val:''},
|
||||||
|
{testitem:'长度(≥455mm)',test_val:'',check_val:''},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
rules: {
|
||||||
|
belong_dept: [{required: true, message: "请选择所属部门", trigger: "blur"}],
|
||||||
|
test_date: [{required: true, message: "请选择检验日期", trigger: "blur"}],
|
||||||
|
test_user: [{required: true, message: "请选择操作人", trigger: "blur"}],
|
||||||
|
check_user: [{required: true, message: "请选择专检人", trigger: "blur"}],
|
||||||
|
test_group:[{required: true, message: "请选择检测工序集", trigger: "blur"}],
|
||||||
|
is_ok: [{required: true, message: "请选择是否合格", trigger: "blur"}],
|
||||||
|
},
|
||||||
|
visible: false,
|
||||||
|
isSaveing: false,
|
||||||
|
userList:[],
|
||||||
|
processOptions: [],
|
||||||
|
deptOptions: [],
|
||||||
|
selectionFilters: [],
|
||||||
|
setFiltersVisible: false,
|
||||||
|
belong_dept_options: [],
|
||||||
|
group: [],
|
||||||
|
};
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.getProcess();
|
||||||
|
this.getUserList();
|
||||||
|
this.getDeptOptions();
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
//显示
|
||||||
|
open(mode = "add",type) {
|
||||||
|
this.mode = mode;
|
||||||
|
this.visible = true;
|
||||||
|
return this;
|
||||||
|
},
|
||||||
|
//获取部门列表
|
||||||
|
getDeptOptions() {
|
||||||
|
this.$API.system.dept.list.req({ page: 0, type__in: 'dept' }).then((res) => {
|
||||||
|
this.deptOptions = [];
|
||||||
|
res.forEach(item=>{
|
||||||
|
if(item.parent=='3423856735881117696'){
|
||||||
|
this.deptOptions.push(item)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
});
|
||||||
|
},
|
||||||
|
//获取员工
|
||||||
|
getUserList(){
|
||||||
|
let that = this;
|
||||||
|
this.$API.system.user.list.req({page_size:20,page:1}).then(res=>{
|
||||||
|
that.userList = res.results;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
getProcess(){
|
||||||
|
let that = this;
|
||||||
|
this.$API.mtm.process.list.req({page:0}).then(res=>{
|
||||||
|
that.processOptions = res;
|
||||||
|
})
|
||||||
|
},
|
||||||
|
//提交
|
||||||
|
submit() {
|
||||||
|
this.$refs.dialogForm.validate(async (valid) => {
|
||||||
|
if (valid) {
|
||||||
|
this.isSaveing = true;
|
||||||
|
try {
|
||||||
|
var res;
|
||||||
|
this.form.test_group = this.form.test_group.join(',')
|
||||||
|
if (this.mode == "add") {
|
||||||
|
res = await this.$API.qm.ftest.create.req(this.form);
|
||||||
|
} else if (this.mode == "edit") {
|
||||||
|
res = await this.$API.qm.ftest.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);
|
||||||
|
this.form.test_group = this.form.split(',')
|
||||||
|
},
|
||||||
|
//设置过滤项
|
||||||
|
setFilters(filters) {
|
||||||
|
this.selectionFilters = filters;
|
||||||
|
this.setFiltersVisible = true;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
</style>
|
|
@ -31,6 +31,13 @@
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="规格型号" prop="specification">
|
<el-table-column label="规格型号" prop="specification">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
<el-table-column label="关联物料" prop="brothers">
|
||||||
|
<template #default="scope">
|
||||||
|
<el-icon v-if="scope.row.brothers.length>0" color="green">
|
||||||
|
<CircleCheckFilled />
|
||||||
|
</el-icon>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column label="计量单位" prop="unit">
|
<el-table-column label="计量单位" prop="unit">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" fixed="right" align="center" width="100">
|
<el-table-column label="操作" fixed="right" align="center" width="100">
|
||||||
|
@ -136,6 +143,7 @@ export default {
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
this.$API.mtm.material.delete.req(row.id).then((res) => {
|
this.$API.mtm.material.delete.req(row.id).then((res) => {
|
||||||
this.$message.success("删除成功");
|
this.$message.success("删除成功");
|
||||||
|
this.$refs.table.refresh();
|
||||||
return res;
|
return res;
|
||||||
}).catch((err) => {
|
}).catch((err) => {
|
||||||
return err;
|
return err;
|
||||||
|
|
|
@ -21,11 +21,29 @@
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :md="12" :sm="24">
|
<el-col :md="12" :sm="24">
|
||||||
<el-form-item label="物料类别" prop="type">
|
<el-form-item label="物料类别" prop="type">
|
||||||
<el-select v-model="form.type" placeholder="物料类别" clearable style="width:100%">
|
<el-select v-model="form.type" placeholder="物料类别" clearable style="width:100%" @change="typeChange">
|
||||||
<el-option v-for="item in options" :key="item.id" :label="item.name" :value="item.id"></el-option>
|
<el-option v-for="item in options" :key="item.id" :label="item.name" :value="item.id"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
<el-col :md="12" :sm="24">
|
||||||
|
<el-form-item label="关联物料" prop="type">
|
||||||
|
<el-select
|
||||||
|
v-model="brothers"
|
||||||
|
placeholder="关联物料"
|
||||||
|
clearable
|
||||||
|
multiple
|
||||||
|
style="width:100%"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in materialOptions"
|
||||||
|
:key="item.id"
|
||||||
|
:label="item.name"
|
||||||
|
:value="item.id"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
<el-col :md="12" :sm="24">
|
<el-col :md="12" :sm="24">
|
||||||
<el-form-item label="工艺路线" prop="need_route">
|
<el-form-item label="工艺路线" prop="need_route">
|
||||||
<el-switch v-model="form.need_route" />
|
<el-switch v-model="form.need_route" />
|
||||||
|
@ -70,6 +88,7 @@ export default {
|
||||||
edit: "编辑物料",
|
edit: "编辑物料",
|
||||||
show: "查看物料",
|
show: "查看物料",
|
||||||
},
|
},
|
||||||
|
brothers:[],
|
||||||
form: {},
|
form: {},
|
||||||
rules: {
|
rules: {
|
||||||
name: [{ required: true, message: "请输入物料名称", trigger: "blur" }],
|
name: [{ required: true, message: "请输入物料名称", trigger: "blur" }],
|
||||||
|
@ -87,11 +106,14 @@ export default {
|
||||||
{ id: 60, name: '辅助工装' },
|
{ id: 60, name: '辅助工装' },
|
||||||
{ id: 70, name: '办公用品' },
|
{ id: 70, name: '办公用品' },
|
||||||
],
|
],
|
||||||
|
handle_user:[],
|
||||||
selectionFilters: [],
|
selectionFilters: [],
|
||||||
|
materialOptions:[],
|
||||||
setFiltersVisible: false,
|
setFiltersVisible: false,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
//显示
|
//显示
|
||||||
|
@ -100,26 +122,44 @@ export default {
|
||||||
this.visible = true;
|
this.visible = true;
|
||||||
return this;
|
return this;
|
||||||
},
|
},
|
||||||
|
getMaterial(val){
|
||||||
|
let that = this;
|
||||||
|
let query = {};
|
||||||
|
query.type = val;
|
||||||
|
query.page = 0;
|
||||||
|
query.is_hidden = false;
|
||||||
|
this.$API.mtm.material.list.req(query).then(res=>{
|
||||||
|
that.materialOptions = res;
|
||||||
|
})
|
||||||
|
},
|
||||||
|
typeChange(val){
|
||||||
|
this.getMaterial(val);
|
||||||
|
},
|
||||||
//提交
|
//提交
|
||||||
submit() {
|
submit() {
|
||||||
this.$refs.dialogForm.validate(async (valid) => {
|
this.$refs.dialogForm.validate(async (valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.isSaveing = true;
|
this.isSaveing = true;
|
||||||
try {
|
this.form.brothers = this.brothers;
|
||||||
var res;
|
|
||||||
if (this.mode == "add") {
|
if (this.mode == "add") {
|
||||||
res = await this.$API.mtm.material.create.req(this.form);
|
this.$API.mtm.material.create.req(this.form).then(res=>{
|
||||||
} else if (this.mode == "edit") {
|
|
||||||
res = await this.$API.mtm.material.update.req(this.form.id, this.form);
|
|
||||||
}
|
|
||||||
this.isSaveing = false;
|
this.isSaveing = false;
|
||||||
this.$emit("success", this.form, this.mode);
|
this.$emit("success", this.form, this.mode);
|
||||||
this.visible = false;
|
this.visible = false;
|
||||||
this.$message.success("操作成功");
|
this.$message.success("操作成功");
|
||||||
} catch (err) {
|
}).catch(()=>{
|
||||||
//可以处理校验错误
|
|
||||||
this.isSaveing = false;
|
this.isSaveing = false;
|
||||||
return err;
|
this.visible = false;
|
||||||
|
})
|
||||||
|
} else if (this.mode == "edit") {
|
||||||
|
this.$API.mtm.material.update.req(this.form.id, this.form).then(res=>{
|
||||||
|
this.isSaveing = false;
|
||||||
|
this.$emit("success", this.form, this.mode);
|
||||||
|
this.visible = false;
|
||||||
|
this.$message.success("操作成功");
|
||||||
|
}).catch(()=>{
|
||||||
|
this.isSaveing = false;
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -127,6 +167,8 @@ export default {
|
||||||
//表单注入数据
|
//表单注入数据
|
||||||
setData(data) {
|
setData(data) {
|
||||||
Object.assign(this.form, data);
|
Object.assign(this.form, data);
|
||||||
|
this.brothers = data.brothers;
|
||||||
|
this.getMaterial(data.type)
|
||||||
},
|
},
|
||||||
//设置过滤项
|
//设置过滤项
|
||||||
setFilters(filters) {
|
setFilters(filters) {
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
<el-table-column label="所属部门" prop="belong_dept_name" min-width="150"></el-table-column>
|
<el-table-column label="所属部门" prop="belong_dept_name" min-width="150"></el-table-column>
|
||||||
<el-table-column label="排序" prop="sort" min-width="80"></el-table-column>
|
<el-table-column label="排序" prop="sort" min-width="80"></el-table-column>
|
||||||
<el-table-column label="创建时间" prop="create_time" min-width="150"></el-table-column>
|
<el-table-column label="创建时间" prop="create_time" min-width="150"></el-table-column>
|
||||||
<el-table-column label="操作" fixed="right" align="center" width="140">
|
<el-table-column label="操作" fixed="right" align="center" width="180">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button link size="small" @click="table_edit(scope.row)" v-auth="'mgroup.update'"
|
<el-button link size="small" @click="table_edit(scope.row)" v-auth="'mgroup.update'"
|
||||||
type="primary">编辑</el-button>
|
type="primary">编辑</el-button>
|
||||||
|
@ -36,8 +36,12 @@
|
||||||
</scTable>
|
</scTable>
|
||||||
</el-main>
|
</el-main>
|
||||||
</el-container>
|
</el-container>
|
||||||
<save-dialog v-if="dialog.save" ref="saveDialog" @success="handleSaveSuccess"
|
<save-dialog
|
||||||
@closed="dialog.save = false"></save-dialog>
|
v-if="dialog.save"
|
||||||
|
ref="saveDialog"
|
||||||
|
@success="handleSaveSuccess"
|
||||||
|
@closed="dialog.save = false">
|
||||||
|
</save-dialog>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import saveDialog from "./mgroup_form.vue";
|
import saveDialog from "./mgroup_form.vue";
|
||||||
|
|
|
@ -21,6 +21,29 @@
|
||||||
<el-input-number v-model="form.sort" :min="1" />
|
<el-input-number v-model="form.sort" :min="1" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
<sc-form-table ref="table" v-model="materialList" :addTemplate="addTemplate" placeholder="暂无数据">
|
||||||
|
<el-table-column prop="type" label="输入物料" min-width="120" align="center">
|
||||||
|
<template #default="scope">
|
||||||
|
<el-select v-model="scope.row.material_in" style="width: 100%">
|
||||||
|
<el-option v-for="item in materials" :key="item.id" :label="item.name" :value="item.id"></el-option>
|
||||||
|
</el-select>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="type" label="输出物料" min-width="120" align="center">
|
||||||
|
<template #default="scope">
|
||||||
|
<el-select v-model="scope.row.material_out" filterable style="width: 100%" >
|
||||||
|
<el-option v-for="item in materials" :key="item.id" :label="item.name" :value="item.id"></el-option>
|
||||||
|
</el-select>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="type" label="操作" min-width="80" align="center">
|
||||||
|
<template #default="scope">
|
||||||
|
<el-button type="primary" v-if="scope.row.isedit" @click="submitForm(scope.row,scope.$index)">确定</el-button>
|
||||||
|
<el-button type="warning" v-else @click="editForm(scope.row,scope.$index)">编辑</el-button>
|
||||||
|
<el-button type="danger" @click="delForm(scope.row,scope.$index)">删除</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</sc-form-table>
|
||||||
</el-main>
|
</el-main>
|
||||||
<el-footer>
|
<el-footer>
|
||||||
<el-button type="primary" :loading="isSaveing" @click="submit">保存</el-button>
|
<el-button type="primary" :loading="isSaveing" @click="submit">保存</el-button>
|
||||||
|
@ -47,7 +70,7 @@ export default {
|
||||||
titleMap: {
|
titleMap: {
|
||||||
add: '新增',
|
add: '新增',
|
||||||
edit: '编辑',
|
edit: '编辑',
|
||||||
show: '查看'
|
show: '查看',
|
||||||
},
|
},
|
||||||
//表单数据
|
//表单数据
|
||||||
form: {
|
form: {
|
||||||
|
@ -62,13 +85,17 @@ export default {
|
||||||
isSaveing: false,
|
isSaveing: false,
|
||||||
options: [],
|
options: [],
|
||||||
group: [],
|
group: [],
|
||||||
|
routes:[],
|
||||||
materials: [],
|
materials: [],
|
||||||
setFiltersVisible: false,
|
setFiltersVisible: false,
|
||||||
|
materialList:[{material_in:'',material_out:'',mgroup:'',isedit:true}],
|
||||||
|
addTemplate:{material_in:'',material_out:'',mgroup:'',isedit:true}
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.getGroup();//获取部门
|
this.getGroup();//获取部门
|
||||||
this.getProcess();//获取产品
|
this.getProcess();//获取工序
|
||||||
|
this.getMaterial();//获取物料
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
//部门数据
|
//部门数据
|
||||||
|
@ -79,10 +106,31 @@ export default {
|
||||||
},
|
},
|
||||||
//获取工序列表
|
//获取工序列表
|
||||||
getProcess() {
|
getProcess() {
|
||||||
var res = this.$API.mtm.process.list.req({ page: 0 }).then(res => {
|
this.$API.mtm.process.list.req({ page: 0 }).then(res => {
|
||||||
this.options = res;
|
this.options = res;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
getMaterial(){
|
||||||
|
this.$API.mtm.material.list.req({ page: 0,is_hidden:false,type__in:'10,20' }).then(res => {
|
||||||
|
this.materials = res;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
getRoute(id){
|
||||||
|
let that = this;
|
||||||
|
that.$API.mtm.route.list.req({ mgroup: id,page:0 }).then(res => {
|
||||||
|
that.routes = res;
|
||||||
|
if(res.length>0){
|
||||||
|
res.forEach(item=>{
|
||||||
|
let obj = {};
|
||||||
|
obj.material_in=item.material_in;
|
||||||
|
obj.material_out=item.material_out;
|
||||||
|
obj.mgroup = id;
|
||||||
|
obj.isedit=false;
|
||||||
|
})
|
||||||
|
that.materialList.push(obj);
|
||||||
|
}else{}
|
||||||
|
});
|
||||||
|
},
|
||||||
//显示
|
//显示
|
||||||
open(mode = "add") {
|
open(mode = "add") {
|
||||||
this.mode = mode;
|
this.mode = mode;
|
||||||
|
@ -92,6 +140,10 @@ export default {
|
||||||
//表单注入数据
|
//表单注入数据
|
||||||
setData(data) {
|
setData(data) {
|
||||||
Object.assign(this.form, data);
|
Object.assign(this.form, data);
|
||||||
|
this.getRoute(data.id);
|
||||||
|
},
|
||||||
|
setMgroup(id){
|
||||||
|
this.form.mgroup = id;
|
||||||
},
|
},
|
||||||
getReceptionist(data) {
|
getReceptionist(data) {
|
||||||
this.form.leader = data.id;
|
this.form.leader = data.id;
|
||||||
|
@ -99,9 +151,14 @@ export default {
|
||||||
},
|
},
|
||||||
//表单提交方法
|
//表单提交方法
|
||||||
submit() {
|
submit() {
|
||||||
|
console.log(this.mode)
|
||||||
|
console.log(this.form)
|
||||||
let that = this;
|
let that = this;
|
||||||
that.$refs.dialogForm.validate(async (valid) => {
|
that.$refs.dialogForm.validate(async (valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
|
if(this.mode){
|
||||||
|
|
||||||
|
}else{
|
||||||
that.form.cate = 'photon';
|
that.form.cate = 'photon';
|
||||||
that.form.need_enm = false;
|
that.form.need_enm = false;
|
||||||
that.isSaveing = true;
|
that.isSaveing = true;
|
||||||
|
@ -121,9 +178,36 @@ export default {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
submitForm(row,index){
|
||||||
|
let that = this;
|
||||||
|
let obj = {};
|
||||||
|
obj.material_in = row.material_in;
|
||||||
|
obj.material_out = row.material_out;
|
||||||
|
if (row.id) {
|
||||||
|
obj.mgroup = row.mgroup;
|
||||||
|
this.$API.mtm.route.update.req(row.id, obj).then(res => {
|
||||||
|
that.materialList[index].isedit = false;
|
||||||
|
})
|
||||||
|
} else{
|
||||||
|
obj.mgroup = that.form.id;
|
||||||
|
this.$API.mtm.route.create.req(obj).then(res => {
|
||||||
|
that.materialList[index].isedit = false;
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
editForm(row,index){
|
||||||
|
let that = this;
|
||||||
|
that.materialList[index].isedit = true;
|
||||||
|
},
|
||||||
|
delForm(row,index){
|
||||||
|
let that = this;
|
||||||
|
this.$API.mtm.route.delete.req(row.id).then(res => {
|
||||||
|
that.getRoute(that.form.id);
|
||||||
|
})
|
||||||
|
},
|
||||||
//设置过滤项
|
//设置过滤项
|
||||||
setFilters(filters) {
|
setFilters(filters) {
|
||||||
this.selectionFilters = filters;
|
this.selectionFilters = filters;
|
||||||
|
|
|
@ -0,0 +1,275 @@
|
||||||
|
<template>
|
||||||
|
<el-dialog
|
||||||
|
:title="titleMap[mode]"
|
||||||
|
v-model="visible"
|
||||||
|
width="1000px"
|
||||||
|
:size="1000"
|
||||||
|
destroy-on-close
|
||||||
|
@closed="$emit('closed')"
|
||||||
|
>
|
||||||
|
<el-form ref="dialogForm" :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.wm"
|
||||||
|
placeholder="交接物料"
|
||||||
|
clearable
|
||||||
|
style="width:100%"
|
||||||
|
@change="materialChange"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in materialOptions"
|
||||||
|
:key="item.id"
|
||||||
|
:label="item.batch"
|
||||||
|
: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"
|
||||||
|
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="send_dept">
|
||||||
|
<el-select
|
||||||
|
v-model="form.send_dept"
|
||||||
|
placeholder="送料部门"
|
||||||
|
clearable
|
||||||
|
style="width:100%"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in deptOptions"
|
||||||
|
: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="send_user">
|
||||||
|
<el-select
|
||||||
|
v-model="form.send_user"
|
||||||
|
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 label="接收部门" prop="recive_dept">
|
||||||
|
<el-select
|
||||||
|
v-model="form.recive_dept"
|
||||||
|
placeholder="接收部门"
|
||||||
|
clearable
|
||||||
|
style="width:100%"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in deptOptions"
|
||||||
|
: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="recive_user">
|
||||||
|
<el-select
|
||||||
|
v-model="form.recive_user"
|
||||||
|
placeholder="接收人"
|
||||||
|
clearable
|
||||||
|
style="width:100%"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in userList2"
|
||||||
|
: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 label="交送日期">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="form.send_date"
|
||||||
|
type="date"
|
||||||
|
placeholder="选择时间"
|
||||||
|
format="YYYY-MM-DD"
|
||||||
|
value-format="YYYY-MM-DD"
|
||||||
|
style="width:100%"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-form>
|
||||||
|
<el-footer>
|
||||||
|
<el-button type="primary" v-loading="isSaveing" @click="submit">确定</el-button>
|
||||||
|
<el-button @click="resetForm">取消</el-button>
|
||||||
|
</el-footer>
|
||||||
|
</el-dialog>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
emits: ["success", "closed"],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
yseorno:['是','否'],
|
||||||
|
loading: false,
|
||||||
|
mode: "add",
|
||||||
|
titleMap: {
|
||||||
|
add: "新增交接记录",
|
||||||
|
edit: "编辑交接记录",
|
||||||
|
show: "查看交接记录",
|
||||||
|
},
|
||||||
|
handle_user:[],
|
||||||
|
form:{
|
||||||
|
batch:'',
|
||||||
|
count:0,//送料数
|
||||||
|
wm:'',
|
||||||
|
send_user:'',
|
||||||
|
send_dept:'',
|
||||||
|
send_date:'',
|
||||||
|
recive_dept:'',
|
||||||
|
recive_user:'',
|
||||||
|
},
|
||||||
|
userList:[],
|
||||||
|
userList2:[],
|
||||||
|
deptOptions:[],
|
||||||
|
materialOptions:[],
|
||||||
|
visible: false,
|
||||||
|
isSaveing: false,
|
||||||
|
setFiltersVisible: false,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
let materialObj = this.$TOOL.data.get('MATERIAL_OBJECT');
|
||||||
|
this.materialObj = materialObj;
|
||||||
|
this.getDeptOptions();
|
||||||
|
this.getMaterial();
|
||||||
|
this.getUserList();
|
||||||
|
let date = new Date();
|
||||||
|
let year = date.getFullYear();
|
||||||
|
let month = date.getMonth()+1;
|
||||||
|
let day = date.getDate();
|
||||||
|
this.form.handle_date = year+'-'+month+'-'+day;
|
||||||
|
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
//获取6车间和8车间 的人员
|
||||||
|
getUserList(){
|
||||||
|
let that = this;
|
||||||
|
this.$API.system.user.list.req({belong_dept__name:'6车间',page:0}).then(res=>{
|
||||||
|
that.userList2 = res;
|
||||||
|
});
|
||||||
|
this.$API.system.user.list.req({belong_dept__name:'8车间',page:0}).then(res=>{
|
||||||
|
that.userList = res;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
//获取部门列表
|
||||||
|
getDeptOptions() {
|
||||||
|
this.$API.system.dept.list.req({ page: 0, type__in: 'dept' }).then((res) => {
|
||||||
|
this.deptOptions = [];
|
||||||
|
res.forEach(item=>{
|
||||||
|
if(item.parent=='3423856735881117696'){
|
||||||
|
this.deptOptions.push(item)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
});
|
||||||
|
},
|
||||||
|
//获取车间物料
|
||||||
|
getMaterial(){
|
||||||
|
let that = this;
|
||||||
|
this.$API.wpm.wmaterial.list.req({belong_dept_name:'8车间',page:0}).then(res=>{
|
||||||
|
that.materialOptions = res;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
//获取集合列表
|
||||||
|
getMgroupList(){
|
||||||
|
let that = this;
|
||||||
|
this.$API.mtm.mgroup.list.req({page:0,cate:'photon'}).then(res=>{
|
||||||
|
let data = res.filter(item=>{
|
||||||
|
return item.process_cate=='成型'
|
||||||
|
})
|
||||||
|
that.mgroupOptions = res;
|
||||||
|
})
|
||||||
|
},
|
||||||
|
//显示
|
||||||
|
open(mode = "add") {
|
||||||
|
this.mode = mode;
|
||||||
|
this.visible = true;
|
||||||
|
return this;
|
||||||
|
},
|
||||||
|
materialChange(val){
|
||||||
|
let data = this.materialOptions.filter(item=>{
|
||||||
|
return item.id==val;
|
||||||
|
})
|
||||||
|
this.form.batch = data[0].batch;
|
||||||
|
},
|
||||||
|
//提交
|
||||||
|
submit() {
|
||||||
|
this.$refs.dialogForm.validate(async (valid) => {
|
||||||
|
if (valid) {
|
||||||
|
if (this.mode == "add") {
|
||||||
|
this.$API.wpm.handover.create.req(this.form).then(res=>{
|
||||||
|
this.isSaveing = false;
|
||||||
|
this.$emit("success", this.form, this.mode);
|
||||||
|
this.visible = false;
|
||||||
|
this.$message.success("操作成功");
|
||||||
|
}).catch( (err) =>{
|
||||||
|
//可以处理校验错误
|
||||||
|
this.isSaveing = false;
|
||||||
|
return err;
|
||||||
|
})
|
||||||
|
} else if (this.mode == "edit") {
|
||||||
|
this.$API.wpm.handover.update.req(this.form.id,this.form).then(res=>{
|
||||||
|
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>
|
||||||
|
<style scoped>
|
||||||
|
.formTitle{
|
||||||
|
margin-bottom:10px;
|
||||||
|
font-weight:600
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
|
@ -1,545 +0,0 @@
|
||||||
<template>
|
|
||||||
<el-dialog
|
|
||||||
:title="titleMap[mode]"
|
|
||||||
v-model="visible"
|
|
||||||
width="1000px"
|
|
||||||
:size="1000"
|
|
||||||
destroy-on-close
|
|
||||||
@closed="$emit('closed')"
|
|
||||||
>
|
|
||||||
<!-- 混料工序 -->
|
|
||||||
<el-form v-if="activeType=='8车间'" ref="dialogForm" :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.mgroup"
|
|
||||||
placeholder="工段"
|
|
||||||
clearable
|
|
||||||
style="width:100%"
|
|
||||||
>
|
|
||||||
<el-option
|
|
||||||
v-for="item in mgroupOptions"
|
|
||||||
: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.material_out"
|
|
||||||
placeholder="产物"
|
|
||||||
clearable
|
|
||||||
style="width:100%"
|
|
||||||
>
|
|
||||||
<el-option
|
|
||||||
v-for="item in materialOptions"
|
|
||||||
: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.equipment"
|
|
||||||
placeholder="设备"
|
|
||||||
clearable
|
|
||||||
style="width:100%"
|
|
||||||
>
|
|
||||||
<el-option
|
|
||||||
v-for="item in equipmentOptions"
|
|
||||||
: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 v-model="form.batch" tyle="width:100%" placeholder="请输入批次"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :md="12" :sm="24">
|
|
||||||
<el-form-item label="数量" width="100">
|
|
||||||
<el-input-number
|
|
||||||
v-model="form.count_real"
|
|
||||||
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="重量" width="100">
|
|
||||||
<el-input-number
|
|
||||||
v-model="form.count_real_eweight"
|
|
||||||
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="handle_user"
|
|
||||||
placeholder="配料人"
|
|
||||||
clearable
|
|
||||||
multiple
|
|
||||||
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=='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.equipment"
|
|
||||||
placeholder="锅号"
|
|
||||||
clearable
|
|
||||||
style="width:100%"
|
|
||||||
>
|
|
||||||
<el-option
|
|
||||||
v-for="item in equipmentOptions"
|
|
||||||
: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="第几锅">
|
|
||||||
<el-select
|
|
||||||
v-model="form.index"
|
|
||||||
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="产品名称" prop="material">
|
|
||||||
<el-select
|
|
||||||
v-model="form.material_out"
|
|
||||||
placeholder="产品名称"
|
|
||||||
clearable
|
|
||||||
style="width:100%"
|
|
||||||
>
|
|
||||||
<el-option
|
|
||||||
v-for="item in materialOptions"
|
|
||||||
: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.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="产品编号">
|
|
||||||
<el-input-number
|
|
||||||
v-model="form.count_real"
|
|
||||||
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="配粉料数(kg)">
|
|
||||||
<el-input-number
|
|
||||||
v-model="form.count_real_eweight"
|
|
||||||
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_real"
|
|
||||||
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_ok"
|
|
||||||
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_ok"
|
|
||||||
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.handle_user"
|
|
||||||
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.handle_user"
|
|
||||||
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_ok"
|
|
||||||
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.handle_user"
|
|
||||||
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.handle_leader"
|
|
||||||
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 type="primary" v-loading="isSaveing" @click="submit">提交</el-button>
|
|
||||||
<el-button @click="resetForm">取消</el-button>
|
|
||||||
|
|
||||||
</el-footer>
|
|
||||||
</el-dialog>
|
|
||||||
</template>
|
|
||||||
<script>
|
|
||||||
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: "查看记录",
|
|
||||||
},
|
|
||||||
handle_user:[],
|
|
||||||
form:{},
|
|
||||||
userList:[],
|
|
||||||
cateOptions:[],
|
|
||||||
mgroupOptions:[],
|
|
||||||
materialOptions:[],
|
|
||||||
equipmentOptions:[],
|
|
||||||
shiftOptions:['白班','夜班'],
|
|
||||||
visible: false,
|
|
||||||
isSaveing: false,
|
|
||||||
setFiltersVisible: false,
|
|
||||||
handle_name:'',
|
|
||||||
leader_name:'',
|
|
||||||
};
|
|
||||||
},
|
|
||||||
mounted() {
|
|
||||||
this.getMaterial();
|
|
||||||
this.getUserList();
|
|
||||||
this.getEquipment();
|
|
||||||
this.getMgroupList();
|
|
||||||
let date = new Date();
|
|
||||||
let year = date.getFullYear();
|
|
||||||
let month = date.getMonth()+1;
|
|
||||||
let day = date.getDate();
|
|
||||||
this.form.handle_date = year+'-'+month+'-'+day;
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
getUserList(){
|
|
||||||
let that = this;
|
|
||||||
this.$API.system.user.list.req({belong_dept__name:this.activeType,page:0}).then(res=>{
|
|
||||||
that.userList = res;
|
|
||||||
});
|
|
||||||
},
|
|
||||||
//获取集合列表
|
|
||||||
getMgroupList(){
|
|
||||||
let that = this;
|
|
||||||
this.$API.mtm.mgroup.list.req({page:0,cate:'photon'}).then(res=>{
|
|
||||||
let data = res.filter(item=>{
|
|
||||||
return item.process_cate=='成型'
|
|
||||||
})
|
|
||||||
that.mgroupOptions = data;
|
|
||||||
})
|
|
||||||
},
|
|
||||||
//获取设备列表
|
|
||||||
getEquipment(){
|
|
||||||
this.$API.em.equipment.list.req({page:0,type:10}).then(res=>{
|
|
||||||
this.equipmentOptions = res;
|
|
||||||
})
|
|
||||||
},
|
|
||||||
getMaterial(){
|
|
||||||
let obj ={};
|
|
||||||
obj.page = 0;
|
|
||||||
obj.type = 20;
|
|
||||||
obj.is_hidden = false;
|
|
||||||
this.$API.mtm.material.list.req(obj).then(res=>{
|
|
||||||
this.materialOptions = res;
|
|
||||||
})
|
|
||||||
},
|
|
||||||
//显示
|
|
||||||
open(mode = "add") {
|
|
||||||
this.mode = mode;
|
|
||||||
this.visible = true;
|
|
||||||
return this;
|
|
||||||
},
|
|
||||||
//提交
|
|
||||||
submit() {
|
|
||||||
this.$refs.dialogForm.validate(async (valid) => {
|
|
||||||
if (valid) {
|
|
||||||
this.isSaveing = true;
|
|
||||||
if(this.mtask!==''){
|
|
||||||
this.form.mtask = this.mtask;
|
|
||||||
}else{
|
|
||||||
this.form.handle_user = this.handle_user.join(',');
|
|
||||||
}
|
|
||||||
if (this.mode == "add") {
|
|
||||||
this.$API.wpm.mlog.create.req(this.form).then(res=>{
|
|
||||||
this.isSaveing = false;
|
|
||||||
this.$emit("success", this.form, this.mode);
|
|
||||||
this.visible = false;
|
|
||||||
this.$message.success("操作成功");
|
|
||||||
}).catch( (err) =>{
|
|
||||||
//可以处理校验错误
|
|
||||||
this.isSaveing = false;
|
|
||||||
return err;
|
|
||||||
})
|
|
||||||
} else if (this.mode == "edit") {
|
|
||||||
this.$API.wpm.mlog.update.req(this.form.id,this.form).then(res=>{
|
|
||||||
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);
|
|
||||||
if(this.activeType=='8车间'){
|
|
||||||
if(this.form.handle_user.indexOf(',')>-1){
|
|
||||||
this.handle_user = this.form.handle_user.split(',')
|
|
||||||
}else{
|
|
||||||
this.handle_user = [this.form.handle_user];
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
},
|
|
||||||
//设置过滤项
|
|
||||||
setFilters(filters) {
|
|
||||||
this.selectionFilters = filters;
|
|
||||||
this.setFiltersVisible = true;
|
|
||||||
},
|
|
||||||
},
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue