emis-frontend/src/views/emis/emisQuoteSendArea/emisQuoteSendAreaForm.vue
2024-01-12 16:58:04 +08:00

216 lines
6.5 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<div >
<el-row :gutter="0">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-col :span="24">
<el-form-item label="区域名称" prop="areaName">
<el-input v-model="form.areaName" placeholder="请输入区域名称" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="使用站点名称" prop="useSite">
<el-input v-model="form.useSite" placeholder="请输入使用站点名称" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="使用站点代码" prop="useSiteCode">
<el-input v-model="form.useSiteCode" placeholder="请输入使用站点代码" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="区域站点列表" prop="areaSite">
<el-input v-model="form.areaSite" placeholder="请输入区域站点列表" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="费用类型" prop="feeType">
<el-input v-model="form.feeType" placeholder="请输入费用类型" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="区域类型" prop="areaType">
<el-input v-model="form.areaType" placeholder="请输入区域类型" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="同步类型" prop="sync">
<el-input v-model="form.sync" placeholder="请输入同步类型" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="启用状态" prop="status">
<el-input v-model="form.status" placeholder="请输入启用状态" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="删除标志(0代表存在" prop="delFlag">
<el-input v-model="form.delFlag" placeholder="请输入删除标志(0代表存在" />
</el-form-item>
</el-col>
<el-form-item label="上级字典">
<treeselect
ref="tree"
v-model="form.parentId"
:options="emisQuoteSendAreaOptions"
:normalizer="normalizer"
:default-expand-level="1"
:show-count="true"
placeholder="选择上级"
/>
</el-form-item>
</el-form>
</el-row>
<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";
export default {
name: "emisQuoteSendAreaForm",
props:{
areaId:undefined
},
components: { },
dicts: [
],
data() {
return {
emisQuoteSendAreaOptions: [],
// 遮罩层
loading: true,
// 表单参数
form: {},
// 表单校验
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: {
"areaId": {
handler (newValue, oldValue) {
this.areaId = newValue;
this.initData();
},
deep: true
}
},
created() {
this.initData();
},
methods: {
initData() {
this.reset();
if(this.areaId !=undefined) {
this.loading = true;
getEmisQuoteSendArea(this.areaId).then(response => {
this.form = response.data;
this.loading = false;
});
}
this.getTreeselect();
},
// 取消按钮
cancel() {
this.reset();
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");
},
/** 提交按钮 */
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");
});
}
}
});
},
/** 转换菜单数据结构 */
normalizer(node) {
if (node.children && !node.children.length) {
delete node.children;
}
return {
id: node.areaId,
label: node.areaIdName,
children: node.children
};
},
/** 查询菜单下拉树结构 */
getTreeselect() {
const queryParams = {}
listEmisQuoteSendArea(queryParams).then(response => {
this.emisQuoteSendAreaOptions = [];
const rootItem = { areaIdId: 0, emisQuoteSendAreaName: '-', children: [] };
rootItem.children = this.handleTree(response.data, "areaId");
this.emisQuoteSendAreaOptions.push(rootItem);
if(this.parentId != undefined) {
this.form.parentId = this.parentId;
}
});
},
}
};
</script>