emis-frontend/src/views/emis/emisQuoteSendArea/emisQuoteSendAreaForm.vue

177 lines
4.9 KiB
Vue
Raw Normal View History

2024-01-12 08:58:04 +00:00
<template>
<div >
<el-row :gutter="0">
2024-04-22 05:33:25 +00:00
<el-form ref="form" size="mini" :model="form" :rules="rules" label-width="80px">
<el-col :span="12">
2024-01-12 08:58:04 +00:00
<el-form-item label="区域名称" prop="areaName">
2024-04-22 05:33:25 +00:00
<el-input v-model="form.areaName" :disabled="disabled" placeholder="请输入区域名称" />
2024-01-12 08:58:04 +00:00
</el-form-item>
</el-col>
2024-04-22 05:33:25 +00:00
<el-col :span="12">
2024-01-12 08:58:04 +00:00
<el-form-item label="区域类型" prop="areaType">
2024-04-22 05:33:25 +00:00
<el-select style="width:100%" v-model="form.areaType" :disabled="disabled" placeholder="区域类型">
<el-option key="-1" label="全部" value="-1" />
<el-option key="1" label="网点" value="1" />
</el-select>
2024-01-12 08:58:04 +00:00
</el-form-item>
</el-col>
<el-col :span="24">
2024-04-22 05:33:25 +00:00
<el-form-item label="" prop="">
<el-button type="primary" :disabled="form.areaType == -1 || disabled " @click="handleSelectSite">选择网点</el-button>
2024-01-12 08:58:04 +00:00
</el-form-item>
</el-col>
<el-col :span="24">
2024-04-22 05:33:25 +00:00
<el-form-item label="站点列表" prop="areaSite">
<el-input v-model="form.areaSite" type="textarea" rows="10" disabled placeholder="区域站点列表" />
2024-01-12 08:58:04 +00:00
</el-form-item>
</el-col>
</el-form>
</el-row>
2024-04-22 05:33:25 +00:00
<el-dialog title="选择网点" :visible.sync="openSiteSelectTreeForm" width="50%" :destroy-on-close="true" v-dialogDrag append-to-body>
<SiteSelectTree @on-changed="handleSelectSiteFormChanged" @on-cancel="cancelForm"></SiteSelectTree>
</el-dialog>
2024-01-12 08:58:04 +00:00
<div style="text-align: center;margin-bottom: 10px;">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</div>
</template>
<script>
import { listEmisQuoteSendArea, getEmisQuoteSendArea, delEmisQuoteSendArea, addEmisQuoteSendArea, updateEmisQuoteSendArea } from "@/api/emis/emisQuoteSendArea";
2024-04-22 05:33:25 +00:00
import SiteSelectTree from '@/views/emis/emisQuoteSendArea/siteSelectTree.vue';
2024-01-12 08:58:04 +00:00
export default {
name: "emisQuoteSendAreaForm",
props:{
2024-04-22 05:33:25 +00:00
areaId:{
type:Number,
required: false
},
isFormEdit:{
type: [Boolean],
required: false
}
2024-01-12 08:58:04 +00:00
},
2024-04-22 05:33:25 +00:00
components: { SiteSelectTree },
2024-01-12 08:58:04 +00:00
dicts: [
],
data() {
return {
emisQuoteSendAreaOptions: [],
// 遮罩层
loading: true,
2024-04-22 05:33:25 +00:00
openSiteSelectTreeForm:false,
2024-01-12 08:58:04 +00:00
// 表单参数
form: {},
2024-04-22 05:33:25 +00:00
disabled:true,
2024-01-12 08:58:04 +00:00
// 表单校验
rules: {
areaId: [
{ required: true, message: "序号不能为空", trigger: "blur" }
],
areaName: [
{ required: true, message: "区域名称不能为空", trigger: "blur" }
],
useSite: [
{ required: true, message: "使用站点名称不能为空", trigger: "blur" }
],
useSiteCode: [
{ required: true, message: "使用站点代码不能为空", trigger: "blur" }
],
}
};
},
watch: {
2024-04-22 05:33:25 +00:00
areaId(newVal){
this.initData();
},
isFormEdit(newVal){
if(newVal){
this.disabled=false;
}else{
this.disabled=true;
}
2024-01-12 08:58:04 +00:00
}
},
created() {
this.initData();
},
methods: {
initData() {
this.reset();
2024-04-22 05:33:25 +00:00
if(this.areaId !=null) {
2024-01-12 08:58:04 +00:00
this.loading = true;
getEmisQuoteSendArea(this.areaId).then(response => {
this.form = response.data;
this.loading = false;
});
}
},
// 取消按钮
cancel() {
this.reset();
2024-04-22 05:33:25 +00:00
this.disabled=true;
2024-01-12 08:58:04 +00:00
this.$emit("on-cancel");
},
// 表单重置
reset() {
this.form = {
areaId: null,
areaName: null,
useSite: null,
useSiteCode: null,
areaSite: null,
areaSiteId: null,
feeType: null,
areaType: null,
sync: null,
status: null,
remark: null,
tenantId: null,
delFlag: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
createSite: null,
updateSite: null
};
this.resetForm("form");
},
2024-04-22 05:33:25 +00:00
handleSelectSite(){
this.openSiteSelectTreeForm=true;
},
handleSelectSiteFormChanged(){
},
cancelForm(){
},
2024-01-12 08:58:04 +00:00
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.areaId != null) {
updateEmisQuoteSendArea(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.$emit("on-changed");
});
} else {
addEmisQuoteSendArea(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.$emit("on-changed");
});
}
}
});
},
}
};
</script>