<template>
|
<div :ref="'settings'" class="settings-sub-container">
|
<el-form ref="form" v-model="formData" label-width="150px">
|
<h2 class="sub-title">ERP接口账号1</h2>
|
<el-form-item label="接口Url地址">
|
<el-input v-model="formData.erp_url" class="w-500"></el-input>
|
</el-form-item>
|
<el-form-item label="账号appId">
|
<el-input v-model="formData.erp_appId" class="w-500"></el-input>
|
</el-form-item>
|
<el-form-item label="密码appSecret">
|
<el-input v-model="formData.erp_appSecret" type="textarea" class="w-800"></el-input>
|
</el-form-item>
|
<h2 class="sub-title">ERP接口账号2</h2>
|
<el-form-item label="接口Url地址">
|
<el-input v-model="formData.erp_url2" class="w-500"></el-input>
|
</el-form-item>
|
<el-form-item label="账号appId">
|
<el-input v-model="formData.erp_appId2" class="w-500"></el-input>
|
</el-form-item>
|
<el-form-item label="密码appSecret">
|
<el-input v-model="formData.erp_appSecret2" type="textarea" class="w-800"></el-input>
|
</el-form-item>
|
<h2 class="sub-title">默认设置</h2>
|
<el-form-item label="默认快递公司">
|
<el-select v-model="formData.erp_expressCorp_Id" placeholder="请选择">
|
<el-option v-for="item in expressCorpList" :key="item.value" :label="item.label" :value="item.value">
|
</el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="接口推送时需要仓库">
|
<el-switch :active-value="1" :inactive-value="0" v-model="formData.erp_storage_Id"></el-switch>
|
<span>关闭时,接口推送不验证仓库,仓库值为空</span>
|
</el-form-item>
|
<h2 class="sub-title">上架扫描配置</h2>
|
<el-form-item label="上架后实时推送库存到前端ERP" label-width="250px">
|
<el-switch :active-value="1" :inactive-value="0" v-model="formData.in_sendInventoryToErp"></el-switch>
|
</el-form-item>
|
<el-form-item class="form-footer">
|
<el-button type="primary" @click="onSave">保存</el-button>
|
</el-form-item>
|
</el-form>
|
</div>
|
</template>
|
|
<script>
|
export default {
|
name: "settings-consignor",
|
|
components: {},
|
data() {
|
return {
|
type_Id: 585, // 通用参数类别ID,不可修改
|
// 编辑数据对象
|
formData: {
|
erp_url: null,
|
erp_appId: null,
|
erp_appSecret: null,
|
erp_url2: null,
|
erp_appId2: null,
|
erp_appSecret2: null,
|
in_sendInventoryToErp: 0,
|
// 默认快递公司
|
erp_expressCorp_Id: null,
|
erp_storage_Id: 0
|
},
|
// 接口数据
|
valueList: [],
|
// 快递公司
|
expressCorpList: []
|
};
|
},
|
mounted() {
|
this.loadParam();
|
},
|
methods: {
|
handleClose(tag) {},
|
|
// 加载数据
|
loadParam() {
|
var keys = Object.keys(this.formData).join(",");
|
var url = "/api/sys/param/getConfig";
|
var params = {
|
openNodeApi: true,
|
type_Id: this.type_Id,
|
keys: keys
|
};
|
var callback = res => {
|
this.common.showMsg(res);
|
this.valueList = res.data;
|
|
// 获得参数值列表,将数字转换为对象
|
res.data.forEach(item => {
|
var value03 = item.value03;
|
if (this.common.isNumber(item.value03)) {
|
value03 = parseInt(item.value03);
|
}
|
this.$set(this.formData, item.value02, value03);
|
});
|
};
|
var target = this.$refs["settings"];
|
this.common.ajax(url, params, callback, target);
|
|
// 加载快递公司
|
url = "/api/basicInfo/base/expressCorp/getList";
|
params = {};
|
var callBack = res => {
|
this.common.showMsg(res);
|
if (res.result) {
|
var data = res.data.map(item => {
|
item.label = item.expressCorpName;
|
item.value = item.expressCorp_Id;
|
return item;
|
});
|
this.expressCorpList = data;
|
}
|
};
|
this.common.ajax(url, params, callBack, true);
|
},
|
// 保存数据
|
onSave() {
|
Object.keys(this.formData).forEach(key => {
|
var item = this.valueList.find(item => {
|
return item.value02 === key;
|
});
|
if (item) {
|
item.value03 = this.formData[key];
|
} else {
|
this.valueList.push({
|
type_Id: this.type_Id,
|
value02: key,
|
value03: this.formData[key]
|
});
|
}
|
});
|
|
var url = "/api/sys/param/saveParams";
|
var params = {
|
openNodeApi: true,
|
type_Id: this.type_Id,
|
valueList: this.valueList
|
};
|
var target = this.$refs["settings"];
|
this.common.ajax(
|
url,
|
params,
|
res => {
|
this.common.showMsg(res);
|
},
|
target
|
);
|
}
|
}
|
};
|
</script>
|
|
<style lang="scss" scoped>
|
.settings-sub-container {
|
/deep/ .sub-title {
|
font-size: 14px;
|
padding-bottom: 10px;
|
border-bottom: 1px solid #ebeef5;
|
padding-top: 20px;
|
margin-bottom: 10px;
|
}
|
/deep/ .el-form-item__label {
|
font-weight: normal;
|
}
|
.remark {
|
color: #888;
|
}
|
/deep/ .el-form-item {
|
margin-bottom: 20px;
|
}
|
.form-footer {
|
margin-top: 30px;
|
}
|
}
|
</style>
|