<template>
|
<div class="setting-container">
|
<el-card class="box-card">
|
<div slot="header" class="clearfix">
|
<span>货主收费模板设置</span>
|
</div>
|
<el-form :inline="true" :model="formData" class="demo-form-inline">
|
<el-form-item label="仓库">
|
<el-select v-model="formData.storage_Id" placeholder="请选择仓库" @change="changeStorage">
|
<el-option v-for="(item, index) in storageList" :key="index" :label="item.storageName" :value="item.storage_Id"></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="货主">
|
<el-select v-model="formData.consignor_Id" placeholder="请选择货主" @change="changeConsignor">
|
<el-option v-for="(item, index) in consignorList" :key="index" :label="item.consignorName" :value="item.consignor_Id"></el-option>
|
</el-select>
|
</el-form-item>
|
</el-form>
|
<el-table :data="tableData" style="width: 100%">
|
<el-table-column prop="itemName" label="项目名称" width="180">
|
</el-table-column>
|
<el-table-column prop="unitPrice" label="收费单价" width="180">
|
<template slot-scope="{row}">
|
<el-input-number v-model="row.unitPrice" size="mini" controls-position="right" class="w-120"></el-input-number>
|
</template>
|
</el-table-column>
|
<el-table-column label="单位" width="180">
|
<template slot-scope="{row}">
|
<el-select v-model="row.unit_Id">
|
<el-option v-for="(item, index) in unitList" :key="index" :label="item.unit" :value="item.unit_Id"></el-option>
|
</el-select>
|
</template>
|
</el-table-column>
|
<el-table-column prop="enable" label="是否可用">
|
<template slot-scope="{row}">
|
<el-switch v-model="row.enable" :active-value="1" :inactive-value="0"></el-switch>
|
</template>
|
</el-table-column>
|
</el-table>
|
<div class="padding-20">
|
<el-button type="primary" icon="el-icon-yrt-baocun" @click="btnSave">保存</el-button>
|
</div>
|
</el-card>
|
</div>
|
</template>
|
<script>
|
export default {
|
name: "tms-basic-fee-template-setting",
|
components: {},
|
data() {
|
return {
|
// 表单数据
|
formData: {},
|
// 仓库下拉框值
|
storageList: [],
|
// 货主下拉框值
|
consignorList: [],
|
// 单位下拉框值
|
unitList: [],
|
FeeItemList: [],
|
// 表格数据
|
tableData: []
|
};
|
},
|
created() {
|
this.getStorageList();
|
this.getConsignorList();
|
this.getUnitList();
|
},
|
activated() {
|
this.init();
|
},
|
methods: {
|
// 改变仓库
|
changeStorage(val) {
|
if (!this.formData.consignor_Id) {
|
return;
|
}
|
this.getTemplateSettingList();
|
},
|
// 改变货主
|
changeConsignor(val) {
|
if (!this.formData.storage_Id) {
|
return;
|
}
|
this.getTemplateSettingList();
|
},
|
// 获得仓储列表
|
getStorageList() {
|
var url = "/api/basicInfo/base/storage/getList";
|
var params = {};
|
this.common.ajax(
|
url,
|
params,
|
res => {
|
this.common.showMsg(res);
|
if (res.result) {
|
this.storageList = res.data;
|
}
|
},
|
true
|
);
|
},
|
// 获得货主列表
|
getConsignorList() {
|
var url = "/api/basicInfo/base/consignor/getList";
|
var params = {};
|
this.common.ajax(
|
url,
|
params,
|
res => {
|
this.common.showMsg(res);
|
if (res.result) {
|
this.consignorList = res.data;
|
}
|
},
|
true
|
);
|
},
|
// 获取单位列表
|
getUnitList() {
|
var url = "/api/tms/feeTemplate/getUnitList";
|
var params = {};
|
this.common.ajax(
|
url,
|
params,
|
res => {
|
this.common.showMsg(res);
|
if (res.result) {
|
this.unitList = res.data;
|
}
|
},
|
true
|
);
|
},
|
// 获取收费项目基础信息
|
getFeeItemList() {
|
var userInfo = this.common.getUserInfo();
|
var url = "/api/tms/feeTemplate/getFeeItemList";
|
var params = { userProduct_Id: userInfo.userProduct_Id };
|
this.common.ajax(
|
url,
|
params,
|
res => {
|
this.tableData.length = 0;
|
this.common.showMsg(res);
|
if (res.result) {
|
if (res.data.length) {
|
res.data.forEach(item => {
|
var obj = {
|
itemName: item.itemName,
|
unitPrice: 0,
|
unit: null,
|
unit_Id: null,
|
enable: 0
|
};
|
this.$set(this.tableData, this.tableData.length, obj);
|
});
|
}
|
}
|
},
|
true
|
);
|
},
|
// 获取收费模板数据
|
getTemplateSettingList() {
|
var userInfo = this.common.getUserInfo();
|
var url = "/api/tms/feeTemplate/getTemplateSettingList";
|
var params = {
|
userProduct_Id: userInfo.userProduct_Id,
|
storage_Id: this.formData.storage_Id,
|
consignor_Id: this.formData.consignor_Id
|
};
|
this.common.ajax(
|
url,
|
params,
|
res => {
|
this.common.showMsg(res);
|
if (res.result) {
|
if (res.data.length) {
|
this.tableData = res.data;
|
} else {
|
this.tableData = [];
|
this.getFeeItemList();
|
}
|
}
|
},
|
true
|
);
|
},
|
// 初始化数据
|
init() {
|
this.tableData = [];
|
var params = localStorage.getItem("fee-template");
|
if (params) {
|
params = JSON.parse(params);
|
this.$set(this.formData, "storage_Id", params.storage_Id);
|
this.$set(this.formData, "storageName", params.storageName);
|
this.$set(this.formData, "consignor_Id", params.consignor_Id);
|
this.$set(this.formData, "consignorName", params.consignorName);
|
this.$set(this.formData, "feeTemplate_Id", params.feeTemplate_Id); // 自增Id
|
this.getTemplateSettingList();
|
} else {
|
this.getFeeItemList();
|
}
|
},
|
// 保存
|
btnSave() {
|
var url = "/api/tms/feeTemplate/saveTemplateSettingList";
|
if (this.tableData.length) {
|
this.tableData.forEach(item => {
|
this.$set(item, "storage_Id", this.formData.storage_Id);
|
this.storageList.forEach(storage => {
|
if (item.storage_Id === storage.storage_Id) {
|
item.storageName = storage.storageName;
|
}
|
});
|
this.$set(item, "consignor_Id", this.formData.consignor_Id);
|
this.unitList.forEach(temp => {
|
if (item.unit_Id === temp.unit_Id) {
|
item.unit = temp.unit;
|
}
|
});
|
});
|
}
|
var params = {
|
dataList: this.tableData,
|
consignor_Id: this.formData.consignor_Id
|
};
|
this.common.ajax(
|
url,
|
params,
|
res => {
|
this.common.showMsg(res);
|
},
|
true
|
);
|
}
|
}
|
};
|
</script>
|