<template>
|
<div :ref="'settings'" class="settings-sub-container">
|
<el-form ref="form" v-model="formData" label-width="200px">
|
<h2 class="sub-title">出库拣配单字段设置</h2>
|
<el-form-item label="显示字段">
|
<el-checkbox-group v-model="formData.pickOrder_fields">>
|
<el-checkbox label="positionName">货位</el-checkbox>
|
<el-checkbox label="productModel">条形码</el-checkbox>
|
<el-checkbox label="productCode">物料编号</el-checkbox>
|
<el-checkbox label="productName">物料名称</el-checkbox>
|
<el-checkbox label="productSpec">物料规格</el-checkbox>
|
<el-checkbox label="smallUnit">小单位</el-checkbox>
|
<el-checkbox label="bigUnit">大单位</el-checkbox>
|
<el-checkbox label="produceDate">生产日期</el-checkbox>
|
<el-checkbox label="salePrice">销售价</el-checkbox>
|
<el-checkbox label="rowTotal">销售金额</el-checkbox>
|
<el-checkbox label="orderCode">出库单号</el-checkbox>
|
<el-checkbox label="storeOrderCode">店铺单号</el-checkbox>
|
<el-checkbox label="remark">订单备注</el-checkbox>
|
<el-checkbox label="giftMessage">客户留言</el-checkbox>
|
<el-checkbox label="quantityOrderOrign">拣货数量</el-checkbox>
|
<el-checkbox label="allotPositionName">配货位</el-checkbox>
|
<el-checkbox label="allotQty">配货数量</el-checkbox>
|
</el-checkbox-group>
|
</el-form-item>
|
<el-form-item label="字体大小">
|
<el-input v-model="formData.pickOrder_fontSize" class="w-150"></el-input> px
|
</el-form-item>
|
<el-form-item label="最大物料名称字长">
|
<el-input-number v-model.number="formData.pickOrder_productName_length" :min="0" class="w-150"></el-input-number>
|
</el-form-item>
|
<el-form-item class="form-footer fixed-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: {
|
pickOrder_fields: [],
|
pickOrder_fontSize: 18,
|
pickOrder_productName_length: 20
|
},
|
// 接口数据
|
valueList: []
|
};
|
},
|
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);
|
}
|
if (item.value02 === "pickOrder_fields") {
|
this.formData.pickOrder_fields = value03 ? value03.split(",") : [];
|
this.formData.pickOrder_fields.forEach((p, index) => {
|
this.formData.pickOrder_fields[index] = p;
|
});
|
} else {
|
this.$set(this.formData, item.value02, value03);
|
}
|
});
|
};
|
var target = this.$refs["settings"];
|
this.common.ajax(url, params, callback, target);
|
},
|
// 保存数据
|
onSave() {
|
Object.keys(this.formData).forEach(key => {
|
var item = this.valueList.find(item => {
|
return item.value02 === key;
|
});
|
var value03 = this.formData[key];
|
if (key === "pickOrder_fields") {
|
value03 = value03.join(",");
|
}
|
|
if (item) {
|
// 存在更新
|
item.value03 = value03;
|
} else {
|
// 新增
|
this.valueList.push({
|
type_Id: this.type_Id,
|
value02: key,
|
value03: value03
|
});
|
}
|
});
|
|
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 {
|
margin-bottom: 90px;
|
/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;
|
&.fixed-footer {
|
position: fixed;
|
bottom: 0;
|
left: 392px;
|
right: 10px;
|
background-color: white;
|
border-top: 1px solid #ebeef5;
|
padding: 20px;
|
}
|
}
|
}
|
</style>
|