成品检验未完成

This commit is contained in:
shijing 2024-01-18 14:13:07 +08:00
parent 82c300d25c
commit 4e468abfd5
8 changed files with 597 additions and 233 deletions

View File

@ -121,5 +121,47 @@ export default {
} }
} }
}, },
ftestwork: {
list: {
name: "列表",
req: async function(data){
return await http.get(
`${config.API_URL}/qm/ftestwork/`,
data
);
}
},
item: {
name: "检验",
req: async function(id){
return await http.get(
`${config.API_URL}/qm/ftestwork/${id}/`
);
}
},
update: {
name: "更新",
req: async function(id, data){
return await http.put(
`${config.API_URL}/qm/ftestwork/${id}/`,
data);
}
},
create: {
name: "创建",
req: async function(data){
return await http.post(
`${config.API_URL}/qm/ftestwork/`,
data);
}
},
delete: {
name: "删除",
req: async function(id){
return await http.delete(
`${config.API_URL}/qm/ftestwork/${id}/`);
}
}
},
} }

View File

@ -15,22 +15,6 @@
label-width="100px" label-width="100px"
> >
<el-row> <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-col :md="12" :sm="24">
<el-form-item label="检验日期" prop="test_date"> <el-form-item label="检验日期" prop="test_date">
<el-date-picker <el-date-picker
@ -42,95 +26,60 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="24"> <el-col :md="12" :sm="24">
<el-form-item label="操作人" prop="test_user"> <el-form-item label="抽检编号">
<el-select <el-input v-model="form.test_numer"></el-input>
v-model="form.test_user"
placeholder="操作人"
clearable filterable
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 filterable
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-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-table :data="form.ftestitems" border placeholder="暂无数据"> <el-table :data="form.ftestitems" border placeholder="暂无数据">
<el-table-column prop="testitem" label="项" min-width="100" align="center"> <el-table-column prop="testitem" label="检测项" min-width="100" align="center">
<template #default="scope"> <template #default="scope">
<span>{{ scope.row.testName }}</span> <span>{{ scope.row.testName }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="test_val" label="操作人测量值" min-width="120" align="center"> <el-table-column prop="test_val" label="检测值" min-width="120" align="center">
<template #default="scope"> <template #default="scope">
<el-input-number v-model="scope.row.test_val" :min="0" style="width:100%" controls-position="right"> <el-input-number v-model="scope.row.test_val" :min="0" style="width:100%" controls-position="right">
</el-input-number> </el-input-number>
</template> </template>
</el-table-column> </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-table>
<el-row style="margin-top:14px"> <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="检验工序集"
clearable style="width:100%"
>
<el-option
v-for="item in processOptions"
:key="item.name"
:label="item.name"
:value="item.name">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24" prop="is_ok"> <el-col :md="12" :sm="24" prop="is_ok">
<el-form-item label="是否合格" prop="is_ok"> <el-form-item label="合格判定" prop="is_ok">
<el-select <el-select
v-model="form.is_ok" v-model="form.is_ok"
placeholder="是否合格" placeholder="合格判定"
clearable clearable
style="width:100%" style="width:100%"
> >
<el-option label="" :value="true"/> <el-option label="合格" :value="true"/>
<el-option label="" :value="false"/> <el-option label="不合格" :value="false"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="24"> <el-col :md="12" :sm="24">
<el-form-item label="检验员" prop="test_user">
<el-select
v-model="form.test_user"
placeholder="检验员"
clearable filterable
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="备注"> <el-form-item label="备注">
<el-input v-model="form.note" placeholder="备注"/> <el-input v-model="form.note" placeholder="备注"/>
</el-form-item> </el-form-item>
</el-col> </el-col> -->
</el-row> </el-row>
</el-form> </el-form>
</el-main> </el-main>

View File

@ -26,19 +26,19 @@
:params="query" :params="query"
> >
<el-table-column type="index" width="50"/> <el-table-column type="index" width="50"/>
<el-table-column label="棒编号" prop="name" show-overflow-tooltip> <el-table-column label="日期" prop="name" show-overflow-tooltip>
</el-table-column> </el-table-column>
<el-table-column label="棒最大外径/mm" prop="number"> <el-table-column label="批次号" prop="number">
</el-table-column> </el-table-column>
<el-table-column label="锥度/mm" prop="model"> <el-table-column label="总数" prop="model">
</el-table-column> </el-table-column>
<el-table-column label="管编号" prop="factory" show-overflow-tooltip> <el-table-column label="操作" fixed="right" width="150">
</el-table-column>
<el-table-column label="管最大内径/mm" prop="production_date">
</el-table-column>
<el-table-column label="是否合格" prop="production_date">
<template #default="scope"> <template #default="scope">
<el-tag>{{ state_[scope.row.equip_state] }}</el-tag> <el-link type="primary" @click="table_edit(scope.row)">编辑</el-link>
<el-divider direction="vertical"></el-divider>
<el-link type="primary" @click="table_check(scope.row)">检验</el-link>
<el-divider direction="vertical"></el-divider>
<el-link type="danger" @click="table_del(scope.row)">删除</el-link>
</template> </template>
</el-table-column> </el-table-column>
</scTable> </scTable>
@ -86,13 +86,16 @@ import checkDialog from "./product_form.vue";
this.$refs.checkDialog.open("edit").setData(row); this.$refs.checkDialog.open("edit").setData(row);
}); });
}, },
table_del() { }, table_del(){ },
// //
table_show(row) { table_show(row) {
this.dialog.save = true; this.dialog.save = true;
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.saveDialog.open("show",10).setData(row); this.$refs.saveDialog.open("show",10).setData(row);
}); });
},
table_check(){
}, },
handleQuery() { handleQuery() {
this.$refs.table.queryData(this.query) this.$refs.table.queryData(this.query)

View File

@ -0,0 +1,196 @@
<template>
<div style="padding: 8px">
<div>
<el-card style="width: 100%" header="基本信息" shadow="hover">
<el-descriptions>
<el-descriptions-item label="日期">{{ mioObj.test_date }}</el-descriptions-item>
<el-descriptions-item label="批次号">{{ mioObj.number }}</el-descriptions-item>
<el-descriptions-item label="总数">{{ mioObj.count }}</el-descriptions-item>
</el-descriptions>
</el-card>
</div>
<div style="height:8px"></div>
<div>
<el-card style="width: 100%" header="物料明细" shadow="hover">
<div>
<el-button type="primary" icon="el-icon-plus" @click="table_add" v-if="mioObj.state == 10">新增</el-button>
</div>
<scTable ref="table" :apiObj="apiObj" row-key="id" stripe :params="query">
<el-table-column type="index" width="50" />
<el-table-column label="抽检编号" prop="number">
</el-table-column>
<el-table-column label="检验项目">
<template #default="scope">
<div v-for="item in scope.row.ftestitems" :key="item.id">
{{ item.testitem_description }}
</div>
</template>
</el-table-column>
<el-table-column label="检验值" prop="production_date">
<template #default="scope">
<div v-for="item in scope.row.ftestitems" :key="item.id">
{{ item.test_val }}
</div>
</template>
</el-table-column>
<el-table-column label="结论">
<template #default="scope">
<el-tag v-if="scope.row.is_ok" type="success">
合格
</el-tag>
<el-tag v-else type="warning">
不合格
</el-tag>
</template>
</el-table-column>
<el-table-column label="检验员" prop="test_user_name">
</el-table-column>
<el-table-column label="操作" fixed="right" align="center" width="100">
<template #default="scope">
<el-link type="primary" @click="table_edit(scope.row)" v-auth="'ftest.update'">编辑
</el-link>
<el-divider direction="vertical"></el-divider>
<el-link type="danger" @click="table_del(scope.row)" v-auth="'ftest.delete'">删除
</el-link>
</template>
</el-table-column>
</scTable>
</el-card>
</div>
</div>
<save-dialog v-if="dialog.save" ref="saveDialog"
:mioId="mioId" :belongDeptId="belongDeptId"
:belongDeptName="mioObj.belong_dept_name"
:mioObj="mioObj" :cate="cate"
@success="handleSaveSuccess" @closed="dialog.save = false">
</save-dialog>
</template>
<script>
import saveDialog from "./product_check.vue";
export default {
name: "mioitem",
components: {
saveDialog
},
data() {
return {
dialog: {
check:false,
save: false,
},
apiObj: null,
params: {},
mioId: '',
mioObj: {},
selection: [],
stateDict: {
10: '创建中',
20: '已提交'
},
typeDict: {
'do_out': '生产领料',
'sale_out': '销售发货',
'pur_in': '采购入库',
'do_in': '生产入库',
'other_in': '其他入库',
'other_out': '其他出库',
},
mioitemId:'',
type:'',
cate:'',
objitem:{},
};
},
mounted() {
this.type = this.$route.query.type;
this.cate = this.$route.query.cate;
this.mioId = this.$route.query.mio;
this.params.mio = this.$route.query.mio;
this.apiObj = this.$API.inm.mioitem.list;
this.getMio();
},
methods: {
getMio() {
this.$API.inm.mio.item.req(this.mioId).then((res) => {
this.mioObj = res;
this.belongDeptId = res.belong_dept
})
},
//
table_add() {
this.dialog.save = true;
this.$nextTick(() => {
this.$refs.saveDialog.open("add", this.mioObj.type);
});
},
//
table_edit(row) {
this.dialog.save = true;
this.$nextTick(() => {
this.$refs.saveDialog.open("edit").setData(row);
});
},
//
table_show(row) {
this.dialog.save = true;
this.$nextTick(() => {
this.$refs.saveDialog.open("show").setData(row);
});
},
//
table_del(row) {
this.$confirm(`确定删除吗?`, "提示", {
type: "warning",
}).then(() => {
this.$API.inm.mioitem.delete.req(row.id).then((res) => {
this.$message.success("删除成功");
this.$refs.table.refresh();
return res;
}).catch((err) => {
return err;
});
}).catch(() => { });
},
table_check(row){
this.mioitemId = row.id;
this.objitem = row;
this.dialog.check = true;
this.$nextTick(() => {
this.$refs.checkDialog.open("add");
});
},
check_Show(row){
this.mioitemId = row.id;
this.objitem = row;
this.dialog.check = true;
this.$nextTick(() => {
this.$refs.checkDialog.open("show").setData(row);
});
},
//
handleSaveSuccess(data, mode) {
if (mode == "add") {
this.$refs.table.refresh();
} else if (mode == "edit") {
this.$refs.table.refresh();
}
},
handleCheckSuccess(){
this.$refs.table.refresh();
},
handleQuery() {
this.$refs.table.queryData(this.query)
},
resetQuery() {
this.query = {};
},
mioSubmit() {
this.$API.inm.mio.submit.req(this.mioObj.id).then(res => {
this.$message.success("提交成功");
this.mioObj = res
})
}
},
};
</script>

View File

@ -0,0 +1,243 @@
<template>
<el-drawer
title="成品检验"
v-model="visible"
destroy-on-close
size="80%"
@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="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="批次号">
<el-input v-model="form.name" placeholder="批次号"/>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="总数">
<el-input-number v-model="form.count" :min="0" style="width:100%" controls-position="right">
</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" :min="0" style="width:100%" controls-position="right">
</el-input-number>
</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.testName }}</span>
</template>
</el-table-column>
<el-table-column label="检验记录" align="center">
<el-table-column prop="test_val" label="长度/mm" 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="test_val" label="直径/mm" 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="test_val" label="椭圆度/mm" 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="test_val" label="锥度/mm" 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="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="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="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>
<el-table-column prop="test_val" label="合格判定" min-width="120" align="center">
<template #default="scope">
<el-select
v-model="scope.row.is_ok"
placeholder="是否合格"
clearable
style="width:100%"
>
<el-option label="是" value="true"/>
<el-option label="否" value="false"/>
</el-select>
</template>
</el-table-column>
</el-table>
</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-drawer>
</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:[],
options: [],
processOptions: [],
deptOptions: [],
selectionFilters: [],
setFiltersVisible: false,
belong_dept_options: [],
group: [],
};
},
mounted() {
this.getTextItem();
this.getProcess();
this.getUserList();
this.getDeptOptions();
},
methods: {
//
open(mode = "add") {
this.mode = mode;
this.visible = true;
return this;
},
//
getTextItem(){
let that = this;
that.$API.qm.getTestItem.get({tag:'first',page:0}).then(res=>{
console.log(res)
let ftestitems = [];
res.forEach(item=>{
let obj = {};
obj.testitem = item.id;
obj.testName = item.name;
obj.test_val = 0;
obj.check_val = 0;
ftestitems.push(obj)
})
console.log(ftestitems)
that.form.ftestitems = ftestitems;
})
},
//
getDeptOptions() {
this.$API.system.dept.list.req({ page: 0, type__in: 'dept' }).then((res) => {
this.deptOptions = res;
});
},
//
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>

View File

@ -1,9 +1,9 @@
<template> <template>
<el-drawer <el-dialog
title="成品检验" title="首件检验任务"
v-model="visible" v-model="visible"
:size="1000"
destroy-on-close destroy-on-close
size="80%"
@closed="$emit('closed')" @closed="$emit('closed')"
> >
<el-container v-loading="loading"> <el-container v-loading="loading">
@ -15,6 +15,28 @@
label-width="100px" label-width="100px"
> >
<el-row> <el-row>
<el-col :md="12" :sm="24">
<el-form-item label="物料批次" prop="batch">
<el-select
v-model="form.batch"
placeholder="物料批次"
clearable style="width:100%"
@change="handleChange"
>
<el-option
v-for="item in options"
: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="总数">
<el-input v-model="form.count" disabled></el-input>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24"> <el-col :md="12" :sm="24">
<el-form-item label="检验日期" prop="test_date"> <el-form-item label="检验日期" prop="test_date">
<el-date-picker <el-date-picker
@ -25,88 +47,7 @@
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="24">
<el-form-item label="批次号">
<el-input v-model="form.name" placeholder="批次号"/>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="总数">
<el-input-number v-model="form.count" :min="0" style="width:100%" controls-position="right">
</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" :min="0" style="width:100%" controls-position="right">
</el-input-number>
</el-form-item>
</el-col>
</el-row> </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.testName }}</span>
</template>
</el-table-column>
<el-table-column label="检验记录" align="center">
<el-table-column prop="test_val" label="长度/mm" 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="test_val" label="直径/mm" 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="test_val" label="椭圆度/mm" 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="test_val" label="锥度/mm" 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="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="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="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>
<el-table-column prop="test_val" label="合格判定" min-width="120" align="center">
<template #default="scope">
<el-select
v-model="scope.row.is_ok"
placeholder="是否合格"
clearable
style="width:100%"
>
<el-option label="是" value="true"/>
<el-option label="否" value="false"/>
</el-select>
</template>
</el-table-column>
</el-table>
</el-form> </el-form>
</el-main> </el-main>
<el-footer> <el-footer>
@ -114,7 +55,7 @@
<el-button @click="visible = false">取消</el-button> <el-button @click="visible = false">取消</el-button>
</el-footer> </el-footer>
</el-container> </el-container>
</el-drawer> </el-dialog>
</template> </template>
<script> <script>
export default { export default {
@ -123,38 +64,20 @@ export default {
return { return {
loading: false, loading: false,
form: { 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: { rules: {
belong_dept: [{required: true, message: "请选择所属部门", trigger: "blur"}],
test_date: [{required: true, message: "请选择检验日期", trigger: "blur"}], test_date: [{required: true, message: "请选择检验日期", trigger: "blur"}],
test_user: [{required: true, message: "请选择操作人", trigger: "blur"}], batch: [{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, visible: false,
isSaveing: false, isSaveing: false,
userList:[],
options: [], options: [],
processOptions: [],
deptOptions: [],
selectionFilters: [], selectionFilters: [],
setFiltersVisible: false, setFiltersVisible: false,
belong_dept_options: [],
group: [],
}; };
}, },
mounted() { mounted() {
this.getTextItem(); this.getMaterialBatch();
this.getProcess();
this.getUserList();
this.getDeptOptions();
}, },
methods: { methods: {
// //
@ -163,42 +86,22 @@ export default {
this.visible = true; this.visible = true;
return this; return this;
}, },
// //
getTextItem(){ getMaterialBatch(){
let that = this; let that = this;
that.$API.qm.getTestItem.get({tag:'first',page:0}).then(res=>{ this.$API.inm.warehouse.batch.req({page:0,material__type:10,count__gte:0}).then(res=>{
console.log(res) that.options = res;
let ftestitems = [];
res.forEach(item=>{
let obj = {};
obj.testitem = item.id;
obj.testName = item.name;
obj.test_val = 0;
obj.check_val = 0;
ftestitems.push(obj)
})
console.log(ftestitems)
that.form.ftestitems = ftestitems;
})
},
//
getDeptOptions() {
this.$API.system.dept.list.req({ page: 0, type__in: 'dept' }).then((res) => {
this.deptOptions = res;
});
},
//
getUserList(){
let that = this;
this.$API.system.user.list.req({page_size:20,page:1}).then(res=>{
that.userList = res.results;
}); });
}, },
getProcess(){ handleChange(val){
let that = this; let that = this;
this.$API.mtm.process.list.req({page:0}).then(res=>{ console.log(val)
that.processOptions = res; that.options.forEach(item => {
}) if(item.id==val){
that.form.count = item.count;
that.form.material = item.material;
}
});
}, },
// //
submit() { submit() {
@ -206,12 +109,10 @@ export default {
if (valid) { if (valid) {
this.isSaveing = true; this.isSaveing = true;
try { try {
var res;
this.form.test_group = this.form.test_group.join(',')
if (this.mode == "add") { if (this.mode == "add") {
res = await this.$API.qm.ftest.create.req(this.form); res = await this.$API.qm.ftestwork.create.req(this.form);
} else if (this.mode == "edit") { } else if (this.mode == "edit") {
res = await this.$API.qm.ftest.update.req(this.form.id,this.form); res = await this.$API.qm.ftestwork.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);

View File

@ -259,7 +259,7 @@
</el-container> </el-container>
</el-main> </el-main>
<save-dialog v-if="dialogSave" ref="saveDialog" :mtask="currentMtask.id" :mgroup="mgroup" <save-dialog v-if="dialogSave" ref="saveDialog" :mtask="currentMtask.id" :mgroup="mgroup"
:material_out="material_out" :material_in="material_in" :activeType="activeName" @success="handleSaveSuccess" :material_out="material_out" :material_model="material_model" :material_in="material_in" :activeType="activeName" @success="handleSaveSuccess"
@closed="dialogSave = false"> @closed="dialogSave = false">
</save-dialog> </save-dialog>
<showDrawer ref="showDrawer" v-if="visibleDrawer" :mlogId="mlogId" @closed="visibleDrawer = false"> <showDrawer ref="showDrawer" v-if="visibleDrawer" :mlogId="mlogId" @closed="visibleDrawer = false">
@ -297,7 +297,8 @@ export default {
mlogs: [], mlogs: [],
mlogId: '', mlogId: '',
mgroup: '', mgroup: '',
material_out: '' material_out: '',
material_model:''
} }
}, },
mounted() { mounted() {
@ -324,9 +325,12 @@ export default {
// //
addMlog() { addMlog() {
let that = this; let that = this;
debugger;
console.log(that.currentMtask);
if (that.currentMtask && that.currentMtask.id) { if (that.currentMtask && that.currentMtask.id) {
that.mgroup = that.currentMtask.mgroup; that.mgroup = that.currentMtask.mgroup;
that.material_out = that.currentMtask.material_out; that.material_out = that.currentMtask.material_out;
that.material_model = that.currentMtask.material_out_.model;
that.dialogSave = true; that.dialogSave = true;
that.$nextTick(() => { that.$nextTick(() => {
that.$refs.saveDialog.open("add"); that.$refs.saveDialog.open("add");

View File

@ -48,7 +48,7 @@
v-for="item in routeOptions" v-for="item in routeOptions"
:key="item.id" :key="item.id"
:label="item.label" :label="item.label"
:value="item" :value="item.id"
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -517,6 +517,7 @@
placeholder="炉号" placeholder="炉号"
clearable clearable
style="width: 100%" style="width: 100%"
@change="equipmenChange"
> >
<el-option <el-option
v-for="item in equipmentOptions" v-for="item in equipmentOptions"
@ -537,6 +538,7 @@
:step-strictly="true" :step-strictly="true"
style="width: 100%" style="width: 100%"
placeholder="第几锅" placeholder="第几锅"
@change="indexChange"
> >
</el-input-number> </el-input-number>
<!-- <el-select v-model="form.index" placeholder="第几锅" clearable style="width:100%"> <!-- <el-select v-model="form.index" placeholder="第几锅" clearable style="width:100%">
@ -1072,6 +1074,7 @@ export default {
mgroupId: { type: String, default: "" }, mgroupId: { type: String, default: "" },
activeType: { type: String, default: "" }, activeType: { type: String, default: "" },
material_out: { type: String, default: "" }, material_out: { type: String, default: "" },
material_model: { type: String, default: "" },
brothersList: { type: Array, default: () => [] }, brothersList: { type: Array, default: () => [] },
}, },
data() { data() {
@ -1129,11 +1132,17 @@ export default {
let year = date.getFullYear(); let year = date.getFullYear();
let month = date.getMonth() + 1; let month = date.getMonth() + 1;
let day = date.getDate(); let day = date.getDate();
month = month < 10 ? "0" + month : month;
day = day < 10 ? "0" + day : day;
let handle_date = year + "-" + month + "-" + day;
let dateNow = ''+year+month +day;
this.dateNow = dateNow;
this.form.material_out = this.material_out; this.form.material_out = this.material_out;
this.form.material_in = this.material_in; this.form.material_in = this.material_in;
this.form.mtask = this.mtask; this.form.mtask = this.mtask;
this.form.mgroup = this.mgroup; this.form.mgroup = this.mgroup;
this.form.handle_date = year + "-" + month + "-" + day; this.form.handle_date = handle_date;
this.form.batch = this.material_model+'-'+dateNow;
this.getMaterial(); this.getMaterial();
this.getUserList(); this.getUserList();
this.getEquipment(); this.getEquipment();
@ -1158,7 +1167,8 @@ export default {
}, },
methods: { methods: {
routeChange(item) { routeChange(item) {
this.form.material_out = item.material_out this.form.material_out = item.material_out;
this.form.material_out = item.material_out;
this.form.material_in = item.material_in this.form.material_in = item.material_in
this.form.mgroup = item.mgroup this.form.mgroup = item.mgroup
this.getWorkShopMaterial(); this.getWorkShopMaterial();
@ -1200,6 +1210,22 @@ export default {
} }
}); });
}, },
equipmenChange(val){
console.log(val)
let luhao = '';
this.equipmentOptions.forEach(item=>{
if(item.id == val){
let number = item.number;
let equipment_number = number.substring(number.length - 1);
this.equipment_number = equipment_number;
this.form.batch=this.material_model+'-'+equipment_number+'-'+this.dateNow+'-'+this.form.index;
}
})
},
indexChange(val){
console.log(val)
this.form.batch=this.material_model+'-'+equipment_number+'-'+this.dateNow+'-'+val;
},
getUserList() { getUserList() {
let that = this; let that = this;
let deptName = ""; let deptName = "";