emis-frontend/src/views/emis/emisQuotePrice/emisQuotePriceForm.vue

343 lines
12 KiB
Vue
Raw Normal View History

2024-01-12 08:58:04 +00:00
<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="quoteName">
<el-input v-model="form.quoteName" placeholder="请输入报价名称" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="报价编码" prop="quoteCode">
<el-input v-model="form.quoteCode" 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="useSite">
<el-input v-model="form.useSite" placeholder="请输入使用站点名称" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="所属线路代码" prop="transLineCode">
<el-input v-model="form.transLineCode" placeholder="请输入所属线路代码" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="所属线路名称" prop="transLine">
<el-input v-model="form.transLine" 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="prodCode">
<el-input v-model="form.prodCode" placeholder="请输入产品类型代码" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="产品类型名称" prop="prodName">
<el-input v-model="form.prodName" placeholder="请输入产品类型名称" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="soon_piece_type" prop="soonPieceType">
<el-input v-model="form.soonPieceType" placeholder="请输入soon_piece_type" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="录入付款类型" prop="recPayType">
<el-input v-model="form.recPayType" placeholder="请输入录入付款类型" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="计费类型" prop="billType">
<el-input v-model="form.billType" placeholder="请输入计费类型" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="其他类型1" prop="otherType1">
<el-input v-model="form.otherType1" placeholder="请输入其他类型1" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="其他类型2" prop="otherType2">
<el-input v-model="form.otherType2" placeholder="请输入其他类型2" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="取重方式" prop="carryType">
<el-input v-model="form.carryType" 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="dispAreaSite">
<el-input v-model="form.dispAreaSite" placeholder="请输入派件区域站点" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="派件区域名称" prop="dispAreaName">
<el-input v-model="form.dispAreaName" placeholder="请输入派件区域名称" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="寄件区域名称" prop="sendAreaName">
<el-input v-model="form.sendAreaName" placeholder="请输入寄件区域名称" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="寄件区域站点列表" prop="sendAreaSite">
<el-input v-model="form.sendAreaSite" placeholder="请输入寄件区域站点列表" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="carries_number" prop="carriesNumber">
<el-input v-model="form.carriesNumber" placeholder="请输入carries_number" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="discards_number" prop="discardsNumber">
<el-input v-model="form.discardsNumber" placeholder="请输入discards_number" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="最低价格" prop="leastPrice">
<el-input v-model="form.leastPrice" placeholder="请输入最低价格" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="价格取值" prop="priceType">
<el-input v-model="form.priceType" placeholder="请输入价格取值" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="开始日期" prop="startDate">
<el-date-picker clearable
v-model="form.startDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择开始日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="结束日期" prop="endDate">
<el-date-picker clearable
v-model="form.endDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择结束日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="优先级" prop="priorityLevel">
<el-input v-model="form.priorityLevel" 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="emisQuotePriceOptions"
: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 { listEmisQuotePrice, getEmisQuotePrice, delEmisQuotePrice, addEmisQuotePrice, updateEmisQuotePrice } from "@/api/emis/emisQuotePrice";
export default {
name: "emisQuotePriceForm",
props:{
quoteId:undefined
},
components: { },
dicts: [
],
data() {
return {
emisQuotePriceOptions: [],
// 遮罩层
loading: true,
// 表单参数
form: {},
// 表单校验
rules: {
quoteId: [
{ required: true, message: "序号不能为空", trigger: "blur" }
],
quoteName: [
{ required: true, message: "报价名称不能为空", trigger: "blur" }
],
useSiteCode: [
{ required: true, message: "使用站点代码不能为空", trigger: "blur" }
],
useSite: [
{ required: true, message: "使用站点名称不能为空", trigger: "blur" }
],
}
};
},
watch: {
"quoteId": {
handler (newValue, oldValue) {
this.quoteId = newValue;
this.initData();
},
deep: true
}
},
created() {
this.initData();
},
methods: {
initData() {
this.reset();
if(this.quoteId !=undefined) {
this.loading = true;
getEmisQuotePrice(this.quoteId).then(response => {
this.form = response.data;
this.loading = false;
});
}
this.getTreeselect();
},
// 取消按钮
cancel() {
this.reset();
this.$emit("on-cancel");
},
// 表单重置
reset() {
this.form = {
quoteId: null,
quoteName: null,
quoteCode: null,
useSiteCode: null,
useSite: null,
transLineCode: null,
transLine: null,
feeType: null,
prodCode: null,
prodName: null,
soonPieceType: null,
recPayType: null,
billType: null,
otherType1: null,
otherType2: null,
carryType: null,
status: null,
dispAreaId: null,
dispAreaSite: null,
dispAreaName: null,
dispAreaSiteId: null,
sendAreaId: null,
sendAreaName: null,
sendAreaSite: null,
sendAreaSiteId: null,
carriesNumber: null,
discardsNumber: null,
leastPrice: null,
priceType: null,
startDate: null,
endDate: null,
priorityLevel: 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.quoteId != null) {
updateEmisQuotePrice(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.$emit("on-changed");
});
} else {
addEmisQuotePrice(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.quoteId,
label: node.quoteIdName,
children: node.children
};
},
/** 查询菜单下拉树结构 */
getTreeselect() {
const queryParams = {}
listEmisQuotePrice(queryParams).then(response => {
this.emisQuotePriceOptions = [];
const rootItem = { quoteIdId: 0, emisQuotePriceName: '-', children: [] };
rootItem.children = this.handleTree(response.data, "quoteId");
this.emisQuotePriceOptions.push(rootItem);
if(this.parentId != undefined) {
this.form.parentId = this.parentId;
}
});
},
}
};
</script>