fix:供应商,名称必填,其他选填

This commit is contained in:
shijing 2024-03-29 09:34:42 +08:00
parent 4c935cb4a2
commit 4d2328540f
1 changed files with 149 additions and 111 deletions

View File

@ -1,115 +1,153 @@
<template> <template>
<el-dialog <el-dialog
:title="titleMap[mode]" :title="titleMap[mode]"
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="110px" label-width="110px"
> >
<el-row> <el-row>
<el-col :md="12" :sm="24"> <el-col :md="12" :sm="24">
<el-form-item label="供应商名称" prop="name"> <el-form-item label="供应商名称" prop="name">
<el-input v-model="form.name" placeholder="供应商名称"/> <el-input
</el-form-item> v-model="form.name"
</el-col> placeholder="供应商名称"
<el-col :md="12" :sm="24"> />
<el-form-item label="联系人" prop="contact"> </el-form-item>
<el-input v-model="form.contact" placeholder="联系人"/> </el-col>
</el-form-item> <el-col :md="12" :sm="24">
</el-col> <el-form-item label="联系人">
<el-col :md="12" :sm="24"> <el-input
<el-form-item label="联系方式" prop="contact_phone"> v-model="form.contact"
<el-input v-model="form.contact_phone" :maxlength="11" placeholder="联系方式" style="width:100%"/> placeholder="联系人"
</el-form-item> />
</el-col> </el-form-item>
<el-col :md="12" :sm="24"> </el-col>
<el-form-item label="地址"> <el-col :md="12" :sm="24">
<el-input v-model="form.address" placeholder="地址"/> <el-form-item label="联系方式">
</el-form-item> <el-input
</el-col> v-model="form.contact_phone"
</el-row> :maxlength="11"
</el-form> placeholder="联系方式"
</el-main> style="width: 100%"
<el-footer> />
<el-button type="primary" :loading="isSaveing" @click="submit">保存</el-button> </el-form-item>
<el-button @click="visible = false">取消</el-button> </el-col>
</el-footer> <el-col :md="12" :sm="24">
</el-container> <el-form-item label="地址">
</el-dialog> <el-input
v-model="form.address"
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> </template>
<script> <script>
export default { export default {
emits: ["success", "closed"], emits: ["success", "closed"],
data() { data() {
return { return {
loading: false, loading: false,
mode: "add", mode: "add",
titleMap: { titleMap: {
add: "新增供应商", add: "新增供应商",
edit: "编辑供应商", edit: "编辑供应商",
show: "查看供应商", show: "查看供应商",
}, },
form: {}, form: {},
rules: { rules: {
name: [{required: true, message: "请输入供应商名称", trigger: "blur"}], name: [
contact: [{required: true, message: "请输入联系人", trigger: "blur"}], {
contact_phone: [{required: true, message: "请输入联系电话", trigger: "blur"}], required: true,
}, message: "请输入供应商名称",
visible: false, trigger: "blur",
isSaveing: false, },
setFiltersVisible: false, ],
options: [], contact: [
}; {
}, required: true,
methods: { message: "请输入联系人",
// trigger: "blur",
open(mode = "add") { },
this.mode = mode; ],
this.visible = true; contact_phone: [
return this; {
}, required: true,
// message: "请输入联系电话",
submit() { trigger: "blur",
this.$refs.dialogForm.validate(async (valid) => { },
if (valid) { ],
this.isSaveing = true; },
try { visible: false,
var res; isSaveing: false,
if (this.mode == "add") { setFiltersVisible: false,
res = await this.$API.pum.supplier.create.req(this.form); options: [],
} else if (this.mode == "edit") { };
res = await this.$API.pum.supplier.update.req(this.form.id,this.form); },
} methods: {
this.isSaveing = false; //
this.$emit("success", this.form, this.mode); open(mode = "add") {
this.visible = false; this.mode = mode;
this.$message.success("操作成功"); this.visible = true;
} catch (err) { return this;
// },
this.isSaveing = false; //
return err; submit() {
} this.$refs.dialogForm.validate(async (valid) => {
} if (valid) {
}); this.isSaveing = true;
}, try {
// var res;
setData(data) { if (this.mode == "add") {
Object.assign(this.form, data); res = await this.$API.pum.supplier.create.req(
}, this.form
// );
setFilters(filters) { } else if (this.mode == "edit") {
this.selectionFilters = filters; res = await this.$API.pum.supplier.update.req(
this.setFiltersVisible = true; 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> </script>