<div class="layui-fluid layui-anim febs-anim" id="febs-carriage-rule-update" lay-title="运费模板编辑">
|
<div class="layui-row febs-container">
|
<div class="layui-col-md12">
|
<div class="layui-fluid" id="carriage-rule-update">
|
<form class="layui-form" action="" lay-filter="carriage-rule-update-form">
|
<div class="layui-tab layui-tab-brief" lay-filter="docDemoTabBrief">
|
<ul class="layui-tab-title">
|
<li class="layui-this">运费模板</li>
|
</ul>
|
<div class="layui-tab-content">
|
<div class="layui-tab-item layui-show">
|
<blockquote class="layui-elem-quote blue-border">基本信息</blockquote>
|
<input type="text" name="id"
|
placeholder="" autoComplete="off" class="layui-input febs-hide">
|
<div class="layui-row layui-col-space10 layui-form-item">
|
<div class="layui-col-lg6">
|
<label class="layui-form-label febs-form-item-require">标题:</label>
|
<div class="layui-input-block">
|
<input type="text" name="ruleName" lay-verify="required" placeholder="" autocomplete="off" class="layui-input">
|
</div>
|
</div>
|
</div>
|
|
<div class="layui-form-item">
|
<label class="layui-form-label febs-form-item-require">计价方式:</label>
|
<div class="layui-input-block">
|
<input type="radio" name="valuationType" value="1" title="按件算" checked />
|
<!-- <input type="radio" name="valuationType" value="2" title="按重量算" />-->
|
</div>
|
</div>
|
|
<blockquote class="layui-elem-quote blue-border">默认规则</blockquote>
|
<div class="layui-form-item">
|
<label class="layui-form-label febs-form-item-require">默认运费:</label>
|
<div class="layui-input-inline" style="width: 80px">
|
<input type="text" name="basicCntDefault" lay-verify="required" autocomplete="off" class="layui-input" >
|
</div>
|
<div class="layui-form-mid">件内,</div>
|
<div class="layui-input-inline" style="width: 80px">
|
<input type="text" name="basicPriceDefault" lay-verify="required" autocomplete="off" class="layui-input" >
|
</div>
|
<div class="layui-form-mid">元,</div>
|
<div class="layui-form-mid">每增加</div>
|
<div class="layui-input-inline" style="width: 80px">
|
<input type="text" name="moreCntDefault" lay-verify="required" autocomplete="off" class="layui-input" >
|
</div>
|
<div class="layui-form-mid">件,增加运费</div>
|
<div class="layui-input-inline" style="width: 80px">
|
<input type="text" name="morePriceDefault" lay-verify="required" autocomplete="off" class="layui-input" >
|
</div>
|
<div class="layui-form-mid">元。</div>
|
</div>
|
<div class="layui-form-item multi-rule-table">
|
<div class="layui-row layui-col-space10 layui-form-item">
|
<blockquote class="layui-elem-quote blue-border">为指定省份设置运费</blockquote>
|
|
<div class="layui-col-lg6">
|
<label class="layui-form-label febs-form-item-require">指定省份:</label>
|
<div class="layui-input-block">
|
<div id="province-set"></div>
|
</div>
|
</div>
|
<div class="layui-col-lg6">
|
<button type="button" class="layui-btn layui-btn-normal layui-btn" id="test3" >添加</button>
|
</div>
|
</div>
|
|
<div class="layui-form-item">
|
<div class="layui-input-block">
|
<table id="multiRule" lay-filter="multiRule"></table>
|
</div>
|
</div>
|
</div>
|
</div>
|
</div>
|
</div>
|
<div class="layui-form-item febs-hide">
|
<button class="layui-btn" lay-submit="" lay-filter="carriage-rule-update-form-submit" id="submit">保存</button>
|
</div>
|
</form>
|
</div>
|
</div>
|
</div>
|
</div>
|
<style>
|
.blue-border {
|
border-left-color: #2db7f5;
|
font-size: 18px;
|
}
|
</style>
|
<script type="text/html" id="toolbar">
|
<div class="layui-btn-container">
|
<button class="layui-btn layui-btn-danger layui-btn-sm" type="button" lay-event="delSku">删除</button>
|
</div>
|
</script>
|
<!-- 表格操作栏 end -->
|
<script data-th-inline="javascript">
|
layui.use(['febs', 'form', 'formSelects', 'validate', 'treeSelect', 'eleTree','dropdown', 'laydate', 'layedit', 'upload', 'element', 'table', 'xmSelect'], function () {
|
var $ = layui.jquery,
|
febs = layui.febs,
|
layer = layui.layer,
|
table = layui.table,
|
formSelects = layui.formSelects,
|
treeSelect = layui.treeSelect,
|
form = layui.form,
|
laydate = layui.laydate,
|
eleTree = layui.eleTree,
|
$view = $('#carriage-rule-update'),
|
layedit = layui.layedit,
|
carriageRule = [[${carriageRule}]],
|
upload = layui.upload,
|
validate = layui.validate,
|
element = layui.element;
|
|
form.render();
|
|
formSelects.render();
|
|
var provinceSet = xmSelect.render({
|
el: '#province-set',
|
toolbar: {
|
show: true,
|
list: [ 'ALL', 'CLEAR', 'REVERSE' ]
|
},
|
filterable: true,
|
data: [],
|
})
|
febs.get(ctx + 'admin/goodsCategory/addressMYXL', null, function(res) {
|
provinceSet.update({
|
// data : res.data,
|
data : res.data.map(province => ({
|
name: province.name,
|
value: province.id,
|
selected: false
|
})),
|
autoRow: true,
|
});
|
})
|
|
let provinceChoiceExist = "";
|
$('#test3').on('click', function (){
|
let provinceChoice = provinceSet.getValue('name');
|
if(provinceChoice == null || provinceChoice == ""){
|
febs.alert.warn('指定省份不能为空');
|
return false;
|
}
|
let provinceChoiceStr = "";
|
for (let i = 0; i < provinceChoice.length; i++) {
|
//判断字符串是否出现过 =-1则没有出现
|
if(provinceChoiceExist.indexOf(provinceChoice[i]) != -1){
|
febs.alert.warn('['+provinceChoice[i]+'],指定省份不能重复');
|
return false;
|
}
|
provinceChoiceStr = provinceChoiceStr + provinceChoice[i]+",";
|
provinceChoiceExist = provinceChoiceExist + provinceChoiceStr;
|
}
|
|
let data = {};
|
data.areaAddress = provinceChoiceStr;
|
data.basicCnt = 1;
|
data.basicPrice = 1;
|
data.moreCnt = 1;
|
data.morePrice = 1;
|
addTableDate(data);
|
});
|
|
let ruleData=[];
|
let tableIns = table.render({
|
elem: '#multiRule'
|
,limit:999
|
,toolbar:"#toolbar"
|
,defaultToolbar:[]
|
,cols: [
|
[
|
,{align: 'center', title: '请选择', colspan: 2}
|
,{field:'areaAddress', title:'指定省份', width:400, rowspan: 2,align: 'center'}
|
,{align: 'center', title: '规则( 2 件内,2 元,每 1 增加件,增加运费 1 元。)', colspan: 4}
|
],
|
[ //表头
|
{type: 'checkbox', rowspan: 2,align: 'center' }
|
,{field: 'index', title: '序号', width:100, rowspan: 2,align: 'center'}
|
,{field: 'basicCnt', title: '件内', width:200,edit:'text'}
|
,{field: 'basicPrice', title: '运费', width:200,edit:'text'}
|
,{field: 'moreCnt', title: '每增加', width:200,edit:'text'}
|
,{field: 'morePrice', title: '增加运费', width:200,edit:'text'}
|
]]
|
,data: []
|
});
|
|
initValue();
|
|
function initValue() {
|
form.val("carriage-rule-update-form", {
|
"id": carriageRule.id,
|
"ruleName": carriageRule.ruleName,
|
"valuationType": carriageRule.valuationType,
|
"basicCntDefault": carriageRule.basicCntDefault,
|
"basicPriceDefault": carriageRule.basicPriceDefault,
|
"moreCntDefault": carriageRule.moreCntDefault,
|
"morePriceDefault": carriageRule.morePriceDefault
|
});
|
provinceChoiceExist = carriageRule.areaAddressStr;
|
let carriageRuleInfos = carriageRule.adminCarriageRuleInfoVos;
|
if(Array.isArray(carriageRuleInfos) && carriageRuleInfos.length){
|
for (let i = 0; i < carriageRuleInfos.length; i++) {
|
carriageRuleInfos[i].index = i+1;
|
}
|
}
|
if (carriageRuleInfos) {
|
ruleData = carriageRuleInfos;
|
reloadTable(carriageRuleInfos);
|
}
|
}
|
|
|
let delCarriageRuleInfo = [];
|
table.on('toolbar(multiRule)', function(obj){
|
var data = obj.data;
|
var hasData = table.cache['multiRule'];
|
var checkData = table.checkStatus('multiRule').data;
|
|
if (checkData.length <= 0) {
|
febs.alert.warn('请选择删除数据');
|
return;
|
}
|
if(obj.event === 'delSku'){
|
for (let i = 0; i < checkData.length; i++) {
|
var delData = checkData[i];
|
for (let j = 0; j < hasData.length; j++) {
|
if (hasData[j].index == delData.index) {
|
if (delData.id) {
|
delCarriageRuleInfo.push(delData.id);
|
}
|
hasData.splice(j, 1);
|
break;
|
}
|
}
|
}
|
|
for (let i = 0; i < hasData.length; i++) {
|
hasData[i].index = i + 1;
|
}
|
|
ruleData=hasData;
|
reloadTable(hasData);
|
}
|
});
|
|
function addTableDate(data) {
|
var hasData = table.cache['multiRule'];
|
|
data.index = hasData.length + 1;
|
ruleData.push(data);
|
|
reloadTable(ruleData);
|
return data.index;
|
}
|
|
function reloadTable(data) {
|
table.reload('multiRule', {
|
data : data
|
});
|
}
|
|
table.on('edit(multiRule)', function(obj){
|
var value = obj.value //得到修改后的值
|
,data = obj.data //得到所在行所有键值
|
,field = obj.field; //得到字段
|
|
for (let i = 0; i < ruleData.length; i++) {
|
if (ruleData[i].index == data.index) {
|
ruleData[i] = data;
|
}
|
}
|
});
|
|
form.on('submit(carriage-rule-update-form-submit)', function (data) {
|
data.field.delCarriageRuleInfoIds=delCarriageRuleInfo;
|
data.field.adminCarriageRuleAddInfoDtos = ruleData;
|
$.ajax({
|
'url':ctx + 'admin/goods/carriageRuleUpdate',
|
'type':'post',
|
'dataType':'json',
|
'headers' : {'Content-Type' : 'application/json;charset=utf-8'}, //接口json格式
|
'traditional': true,//ajax传递数组必须添加属性
|
'data':JSON.stringify(data.field),
|
'success':function (data) {
|
if(data.code==200){
|
layer.closeAll();
|
febs.alert.success(data.message);
|
$('#febs-carriage-rule').find('#reset').click();
|
}else{
|
febs.alert.warn(data.message);
|
}
|
},
|
'error':function () {
|
febs.alert.warn('服务器繁忙');
|
}
|
})
|
return false;
|
});
|
});
|
</script>
|