fix:coding#412,弹窗标题和检验人员列表筛选

This commit is contained in:
shijing 2024-05-22 14:58:07 +08:00
parent ca0282595b
commit a777e06d4b
2 changed files with 172 additions and 148 deletions

View File

@ -366,9 +366,11 @@ export default {
// //
getUserList() { getUserList() {
let that = this; let that = this;
this.$API.system.user.list.req({ page: 0 }).then((res) => { this.$API.system.user.list
that.userList = res; .req({ page: 0, belong_dept__name: "检验管理部" })
}); .then((res) => {
that.userList = res;
});
}, },
// //
getCheckList(ftestwork) { getCheckList(ftestwork) {

View File

@ -1,152 +1,174 @@
<template> <template>
<el-dialog <el-dialog
title="首件检验任务" title="成品检验任务"
v-model="visible" v-model="visible"
:size="1000" :size="1000"
destroy-on-close destroy-on-close
@closed="$emit('closed')" @closed="$emit('closed')"
> >
<el-container v-loading="loading"> <el-container v-loading="loading">
<el-main style="padding: 0 20px 20px 20px"> <el-main style="padding: 0 20px 20px 20px">
<el-form <el-form
ref="dialogForm" ref="dialogForm"
:model="form" :model="form"
:rules="rules" :rules="rules"
label-width="100px" label-width="100px"
> >
<el-row> <el-row>
<el-col :md="12" :sm="24"> <el-col :md="12" :sm="24">
<el-form-item label="物料批次" prop="batch"> <el-form-item label="物料批次" prop="batch">
<el-select <el-select
v-model="form.batch" v-model="form.batch"
placeholder="物料批次" placeholder="物料批次"
clearable style="width:100%" clearable
@change="handleChange" style="width: 100%"
> @change="handleChange"
<el-option >
v-for="item in options" <el-option
:key="item.id" v-for="item in options"
:label="item.batch" :key="item.id"
:value="item.id"> :label="item.batch"
</el-option> :value="item.id"
</el-select> >
</el-form-item> </el-option>
</el-col> </el-select>
<el-col :md="12" :sm="24"> </el-form-item>
<el-form-item label="总数"> </el-col>
<el-input v-model="form.count" disabled></el-input> <el-col :md="12" :sm="24">
</el-form-item> <el-form-item label="总数">
</el-col> <el-input
<el-col :md="12" :sm="24"> v-model="form.count"
<el-form-item label="检验日期" prop="test_date"> disabled
<el-date-picker ></el-input>
v-model="form.test_date" </el-form-item>
type="date" </el-col>
value-format="YYYY-MM-DD" <el-col :md="12" :sm="24">
style="width:100%" <el-form-item label="检验日期" prop="test_date">
/> <el-date-picker
</el-form-item> v-model="form.test_date"
</el-col> type="date"
</el-row> value-format="YYYY-MM-DD"
</el-form> style="width: 100%"
</el-main> />
<el-footer> </el-form-item>
<el-button type="primary" :loading="isSaveing" @click="submit">保存</el-button> </el-col>
<el-button @click="visible = false">取消</el-button> </el-row>
</el-footer> </el-form>
</el-container> </el-main>
</el-dialog> <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> </template>
<script> <script>
export default { export default {
emits: ["success", "closed"], emits: ["success", "closed"],
data() { data() {
return { return {
loading: false, loading: false,
form: { form: {},
}, rules: {
rules: { test_date: [
test_date: [{required: true, message: "请选择检验日期", trigger: "blur"}], {
batch: [{required: true, message: "请选择物料批次", trigger: "blur"}] required: true,
}, message: "请选择检验日期",
visible: false, trigger: "blur",
isSaveing: false, },
options: [], ],
selectionFilters: [], batch: [
setFiltersVisible: false, {
}; required: true,
}, message: "请选择物料批次",
mounted() { trigger: "blur",
this.getMaterialBatch(); },
}, ],
methods: { },
// visible: false,
open(mode = "add") { isSaveing: false,
this.mode = mode; options: [],
this.visible = true; selectionFilters: [],
return this; setFiltersVisible: false,
}, };
// },
getMaterialBatch(){ mounted() {
let that = this; this.getMaterialBatch();
this.$API.inm.warehouse.batch.req({page:0,material__type:10,count__gte:0}).then(res=>{ },
that.options = res; methods: {
}); //
}, open(mode = "add") {
handleChange(val){ this.mode = mode;
let that = this; this.visible = true;
console.log(val) return this;
that.options.forEach(item => { },
if(item.id==val){ //
that.form.count = item.count; getMaterialBatch() {
that.form.batch = item.batch; let that = this;
that.form.material = item.material; this.$API.inm.warehouse.batch
} .req({ page: 0, material__type: 10, count__gte: 0 })
}); .then((res) => {
}, that.options = res;
// });
submit() { },
this.$refs.dialogForm.validate(async (valid) => { handleChange(val) {
if (valid) { let that = this;
this.isSaveing = true; console.log(val);
try { that.options.forEach((item) => {
if (this.mode == "add") { if (item.id == val) {
this.$API.qm.ftestwork.create.req(this.form).then(res => { that.form.count = item.count;
this.isSaveing = false; that.form.batch = item.batch;
this.visible = false; that.form.material = item.material;
this.$emit("success"); }
this.$message.success("操作成功"); });
}); },
} else if (this.mode == "edit") { //
this.$API.qm.ftestwork.update.req(this.form.id,this.form).then(res => { submit() {
this.isSaveing = false; this.$refs.dialogForm.validate(async (valid) => {
this.visible = false; if (valid) {
this.$emit("success"); this.isSaveing = true;
this.$message.success("操作成功"); try {
}); if (this.mode == "add") {
} this.$API.qm.ftestwork.create
.req(this.form)
} catch (err) { .then((res) => {
// this.isSaveing = false;
this.isSaveing = false; this.visible = false;
return err; this.$emit("success");
} this.$message.success("操作成功");
} });
}); } else if (this.mode == "edit") {
}, this.$API.qm.ftestwork.update
// .req(this.form.id, this.form)
setData(data) { .then((res) => {
Object.assign(this.form, data); this.isSaveing = false;
this.form.test_group = this.form.split(',') this.visible = false;
}, this.$emit("success");
// this.$message.success("操作成功");
setFilters(filters) { });
this.selectionFilters = filters; }
this.setFiltersVisible = true; } 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> </script>
<style> <style></style>
</style>