添加网站文件

This commit is contained in:
2025-12-22 13:59:40 +08:00
commit 117aaf83d1
19468 changed files with 2111999 additions and 0 deletions

View File

@@ -0,0 +1,240 @@
{layout name="layout2" /}
<div class="layui-form" lay-filter="layuiadmin-form-ad_position" id="layuiadmin-form-category" style="padding: 20px 30px 0 0;">
<div class="layui-form-item">
<label class="layui-form-label">模板名称</label>
<div class="layui-input-inline">
<input type="text" name="name" lay-verify="required" placeholder="请输入模板名称" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">计费方式</label>
<div class="layui-input-block" id="charge_way">
<input type="radio" class="type" name="charge_way" value="1" title="按重量" checked>
<input type="radio" class="type" name="charge_way" value="2" title="按体积">
<input type="radio" class="type" name="charge_way" value="3" title="按件数">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">备注</label>
<div class="layui-input-inline">
<textarea name="remark" placeholder="备注信息" class="layui-textarea"></textarea>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">配送区域</label>
<div class="layui-input-block">
<table class="layui-table">
<colgroup>
<col width="25%">
<col width="15%">
<col width="15%">
<col width="15%">
<col width="15%">
<col width="20%">
</colgroup>
<thead>
<tr>
<th>可配送区域</th>
<th class="th_first_unit">首件 (个)</th>
<th class="th_first_money">运费 (元)</th>
<th class="th_continue_unit">续件 (个)</th>
<th class="th_continue_money">续费 (元)</th>
<th class="able-operat">操作</th>
</tr>
</thead>
<tbody >
<!--全国-->
<tr class='area_all'>
<td><span class='all_area_name'>全国</span></td>
<input type='hidden' class='region' name='region[]' value='all'>
<td><input type='number' name='first_unit[]' lay-verify='required' autocomplete='off' class='layui-input '></td>
<td><input type='number' name='first_money[]' lay-verify='required' autocomplete='off' class='layui-input '></td>
<td><input type='number' name='continue_unit[]' lay-verify='required' autocomplete='off' class='layui-input '></td>
<td><input type='number' name='continue_money[]' lay-verify='required' autocomplete='off' class='layui-input '></td>
<td></td>
</tr>
<tr class="area_tbody"></tr>
</tbody>
</table>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label>
<div class="layui-input-inline">
<button type="button" id="btn-area" class="layui-btn layui-btn-sm layui-btn-normal layuiadmin-btn-select_area" >添加运费规则</button>
</div>
</div>
<div class="layui-form-item layui-hide">
<input type="button" lay-submit lay-filter="add-freight-submit" id="add-freight-submit" value="确认">
</div>
</div>
<script>
var araeDataIds = '';
var araeDataNmae = '';
layui.config({
version:"{$front_version}",
base: '/static/plug/layui-admin/dist/layuiadmin/' //静态资源所在路径
}).extend({
index: 'lib/index' //主入口模块
}).use(['index', 'form','jquery','like','transfer'], function() {
var $ = layui.$
, form = layui.form
, transfer = layui.transfer
, like = layui.like;
window.callTree = function (data) {
for (var i =0;i< data.length; i++){
araeDataNmae += data[i]['context']+',';
araeDataIds += data[i]['nodeId'] + ',';
}
araeDataNmae = araeDataNmae.substring(0,araeDataNmae.length-1);
araeDataIds = araeDataIds.substring(0,araeDataIds.length-1);
};
$(document).on('click', '#btn-area', function () {
layer.open({
type: 2
,title: '配送区域'
,content: '{:url("freight/area")}'
,area: ['90%', '90%']
,btn: ['确定','返回']
,yes: function(index, layero){
var iframeWindow = window['layui-layer-iframe'+ index]
,submitID = 'area-freight-submit'
,submit = layero.find('iframe').contents().find('#'+ submitID);
//监听提交
iframeWindow.layui.form.on('submit('+ submitID +')', function(data){
if (araeDataIds == ''){
layer.msg('请选择地区');
return ;
}
addArea(araeDataNmae);
$('input.region:last').val(araeDataIds);
araeDataNmae = '';
araeDataIds = '';
layer.close(index);
});
submit.trigger('click');
}
});
});
form.on('submit(add-freight-submit)', function (data) {
var field = data.field;
like.ajax({
url: '{:url("freight/add")}'
, data: field
, type: 'post'
, success: function (res) {
if (res.code == 1) {
layui.layer.msg(res.msg, {
offset: '15px'
, icon: 1
, time: 1000
},function () {
});
}
},
});
});
});
function addArea(data) {
var add = ".area_tr";
var id = $('tr.area_tr:last').attr('data-id');
if (id === undefined){
id = 1;
add = ".area_tbody";
}else{
add = add+id;
}
var v = parseInt(id) + 1;
var str = "<tr class='area_tr area_tr"+v+"' data-id='" + v + "'>" +
"<td><span class=' area_name area_name"+v+" '>"+data+"</span></td>" +
"<input type='hidden' class='region region"+v+" ' name='region["+v+"]' value=''>" +
"<td><input type='number' name='first_unit["+v+"]' lay-verify='required' autocomplete='off' class='layui-input '></td>" +
"<td><input type='number' name='first_money["+v+"]' lay-verify='required' autocomplete='off' class='layui-input '></td>" +
"<td><input type='number' name='continue_unit["+v+"]' lay-verify='required' autocomplete='off' class='layui-input '></td>" +
"<td><input type='number' name='continue_money["+v+"]' lay-verify='required' autocomplete='off' class='layui-input '></td>" +
"<td style='text-align:center'>" +
"<button class='layui-btn layui-btn-sm layui-btn-normal' type='button' onclick='editArea(" + v + ")'>" +
"<i class='layui-icon layui-icon-edit'></i>" +
"</button>" +
"<button class='layui-btn layui-btn-sm layui-btn-danger' type='button' onclick='delArea(" + v + ")'>" +
"<i class='layui-icon layui-icon-delete'></i>" +
"</button>" +
"</td>" +
"</tr>";
$(add).after(str);
}
function delArea(value) {
$(".area_tr" + value).remove();
}
//编辑模板行
function editArea(value) {
var regionSelected = '.region'+value;//选择编辑的行
var selectIds = $(regionSelected).val();//选中行的地区id
layer.open({
type: 2
, title: '配送区域'
, content: '{:url("freight/areaEdit")}'
, area: ['90%', '90%']
, btn: ['确定', '返回']
, success: function (layero,index) {
var iframe = window['layui-layer-iframe' + index];
iframe.editSelected(selectIds);
}
, yes: function (index, layero) {
var iframeWindow = window['layui-layer-iframe' + index]
, submitID = 'area-freight-submit'
, submit = layero.find('iframe').contents().find('#' + submitID);
//监听提交
iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
if (araeDataIds == '') {
layer.msg('请选择地区');
return;
}
$(".area_name" + value).text(araeDataNmae);
$(".region" + value).val(araeDataIds);
araeDataNmae = '';
araeDataIds = '';
layer.close(index);
});
submit.trigger('click');
}
});
}
</script>

View File

@@ -0,0 +1,339 @@
{layout name="layout2" /}
<link rel="stylesheet" href="/static/plug/dtree/dtree.css" media="all">
<link rel="stylesheet" href="/static/plug/dtree/font/dtreefont.css" media="all">
<div class="layui-row " style="margin-top: 10px;background: #f2f2f2">
<div class="layui-col-md5">
<div class="layui-card">
<div class="layui-card-header">选择地区</div>
<div class="layui-card-body">
<div style="height: 280px;overflow: auto;">
<ul id="cskTree1" class="dtree" data-id="0"></ul>
</div>
</div>
</div>
</div>
<div class="layui-col-md2">
<div style="height: 280px;text-align: center">
<button class="layui-btn layui-btn-sm layui-btn-normal" style="margin-top: 180px;" id="csk_btn">选择</button>
</div>
</div>
<div class="layui-col-md5">
<div class="layui-card">
<div class="layui-card-header">已选地区</div>
<div class="layui-card-body">
<div style="height: 280px;overflow: auto;">
<ul id="cskTree2" class="dtree" data-id="-1"></ul>
</div>
</div>
</div>
</div>
</div>
<div class="layui-form-item layui-hide">
<input type="button" lay-submit lay-filter="area-freight-submit" id="area-freight-submit" value="确认">
</div>
<script type="text/javascript" src="/static/plug/dtree/areaData.js"></script>
<script type="text/javascript" src="/static/plug/dtree/dtree.js"></script>
<script src="/static/common/js/area.js"></script>
<script>
layui.config({
version:"{$front_version}",
base: '/static/plug/layui-admin/dist/layuiadmin/' //静态资源所在路径
}).extend({
index: 'lib/index', //主入口模块
dtree: '../../../dtree'
}).use(['index', 'form', 'jquery', 'like','dtree'], function () {
var $ = layui.$
, jquery = layui.jquery
, like = layui.like
, dtree = layui.dtree;
var source = areaDatas;
dtree.render({
elem: "#cskTree1",
data:areaDatas,
checkbar:true,
initLevel: 1,
skin: "laySimple",
load:true
});
var checkedData = [];//选中的数据;
var delData = [];//删除的数据
var dtreeDiv = dtree.render({
elem: "#cskTree2",
data: [],
checkbar:true,
response:{treeId:"nodeId",title:"context"},
dataFormat:"list",
skin: "laySimple",
none: "暂无",
toolbar:true,
toolbarShow:["delete"],
toolbarWay:"fixed", // "contextmenu":右键菜单(默认),"fixed""固定在节点后","follow""跟随节点动态呈现"
toolbarStyle: {title: "选中"},
toolbarFun: {
delTreeNode: function(treeNode, $div){
delData.push(treeNode);
dtreeDiv.changeTreeNodeDel(true); // 删除成功
}
},
});
//框1中选中的数据 在框2中显示
$("#csk_btn").click(function(){
var param = dtree.getCheckbarNodesParam("cskTree1"); // 获取选中数据
if(param.length == 0) {
layer.msg("请至少选择一个");
}
checkedData = param;
delData = [];
dtree.reload("cskTree2",{data:param});
});
$("#area-freight-submit").click(function(){
dtreeDiv.setDisabledAllNodes('cskTree2');
var data = dtreeDiv.getAllDisabledNodesParam('cskTree2');
var needDel = [];//需要删除的数据
//1,遍历删除的地区id;1级不处理,2级,3级处理
for (var x = 0; x < delData.length; x++){
if (delData[x]['level'] == 2){
var sameLevel = [];
var partner = 0;
//删除上一级,同2级中,数量只有一个时,不删除上级
for (var i = 0; i < data.length; i++){
if (data[i]['level'] == 2){
sameLevel.push(data[i]);
}
if (data[i]['nodeId'] == delData[x]['parentId']){
partner = i;
}
}
if (sameLevel.length > 1){
needDel.push(data[partner]['nodeId']);
}
}
if (delData[x]['level'] == 3){
for (var a = 0;a < data.length; a++){
if (data[a]['nodeId'] == delData[x]['parentId']){
for (var b = 0;b < data.length; b++){
if (data[b]['nodeId'] == data[a]['parentId']){
needDel.push(data[b]['nodeId']);
}
}
needDel.push(data[a]['nodeId']);
}
}
}
}
for (var f =0; f < delData.length;){
if (delData[f]['level'] == 1){
delData.splice(f,1);
} else {
f++;
}
}
var result = [];
for (var d = 0; d < data.length; d++){
if(needDel.indexOf(data[d]['nodeId']) == -1) {
result.push(data[d]);
}
}
var lastData = [];
var firstDataIds = [];
var secondDataIds = [];
for (var e = 0; e < result.length; e++){
if (result[e]['level'] == 1){
var sourceFirst = getFirstChildBySource(source,result[e]['nodeId']);//完整数据中一级的子级(二,三级)
var resultFirst = getChild(result,result[e]['nodeId']);//选中的数据中一级的子级数量
if (sourceFirst.length == resultFirst.length){
lastData.push(result[e]);
firstDataIds.push(result[e]['nodeId']);
}
}
}
//检查非全选时,二级是否全选
for (var m =0; m < result.length; m++){
if((result[m]['level'] == 2) && (firstDataIds.indexOf(result[m]['parentId']) == -1)){
var sourceSecond = getSecondChildBySource(source,result[m]['nodeId']);
var resultSecond = getFirstChild(result,result[m]['nodeId']);
if (sourceSecond.length == resultSecond.length){
lastData.push(result[m]);
secondDataIds.push(result[m]['nodeId']);
}
}
}
//检查非全选时,三级是否全选
for (var n =0; n < result.length; n++){
if((result[n]['level'] == 3) && (secondDataIds.indexOf(result[n]['parentId']) == -1)){
//三级的上级(二级id)的上级是否在firstData中
var thirdLeader = getSecondLeader(source,result[n]['nodeId']);
if (firstDataIds.indexOf(thirdLeader) == -1){
lastData.push(result[n]);
}
}
}
parent.window.callTree && parent.window.callTree(lastData);return;
});
//获取3级的上级
function getSecondLeader(data,id) {
for (var i = 0; i < data.length; i++) {
var firstChildren = data[i]['children'];
for (var x =0; x < firstChildren.length; x++){
var secondChildren = firstChildren[x]['children'];
for (var y = 0; y < secondChildren.length; y++){
if (secondChildren[y]['id'] == id){
return data[i]['id'];
}
}
}
}
return 0;
}
//获取一级下的子级(二级,三级)
function getFirstChildBySource(data,pid) {
var child = [];
for (var i = 0; i < data.length; i++){
if (data[i]['id'] == pid){
var firstChildren = data[i]['children'];
for (var x =0; x < firstChildren.length; x++){
child.push(firstChildren[x]);
var secondChildren = firstChildren[x]['children'];
for (var y = 0; y < secondChildren.length; y++){
child.push(secondChildren[y]);
}
}
}
}
return child;
}
//获取二级下的子级(三级)
function getSecondChildBySource(data,pid) {
var child = [];
for (var i = 0; i < data.length; i++){
var firstChildren = data[i]['children'];
for (var x =0; x < firstChildren.length; x++){
if(firstChildren[x]['id'] == pid){
var secondChildren = firstChildren[x]['children'];
for (var y = 0; y < secondChildren.length; y++){
child.push(secondChildren[y]);
}
}
}
}
return child;
}
function getChild(data,pid) {
var child = [];
for (var i = 0; i < data.length; i++){
if (data[i]['parentId'] == pid){
child.push(data[i]);
for (var a = 0; a < data.length; a++){
if (data[a]['parentId'] == data[i]['nodeId']){
child.push(data[a]);
}
}
}
}
return child;
}
function getFirstChild(data,pid) {
var firstChild = [];
for (var i = 0; i < data.length; i++){
if (data[i]['parentId'] == pid){
firstChild.push(data[i]);
}
}
return firstChild;
}
var data = array_column(areas,'id');
//获取父类id
function getParentIds(ids) {
var call_ids=[];
for(var i in ids){
if(data[ids[i]]['parent_id']!=0){
ids.push(data[ids[i]]['parent_id']);
call_ids.push(data[ids[i]]['parent_id']);
}
}
if(call_ids.length!=0){
ids=ids.concat(getParentIds(call_ids));
}
return ids;
}
//获取子类id
function getChildrenIds(ids){
var call_ids=[];
for(var i in ids){
if(data[ids[i]]['level']==3){
continue;
}
for(var j in data){
if(ids[i] == data[j]['parent_id']){
ids.push(data[j]['id']);
call_ids.push(data[j]['id']);
}
}
}
if(call_ids.length!=0){
ids=ids.concat(getChildrenIds(call_ids));
}
return ids;
}
/**
* 获取相关id
* @param ids
*/
function getAboutIds(ids){
result = getChildrenIds(ids);
result = result.concat(getParentIds(ids));
return array_unique(result);
}
// console.log(getAboutIds(['360000','445100','440105']));
});
</script>

View File

@@ -0,0 +1,351 @@
{layout name="layout2" /}
<link rel="stylesheet" href="/static/plug/dtree/dtree.css" media="all">
<link rel="stylesheet" href="/static/plug/dtree/font/dtreefont.css" media="all">
<div class="layui-row " style="margin-top: 10px;background: #f2f2f2">
<div class="layui-col-md5">
<div class="layui-card">
<div class="layui-card-header">选择地区</div>
<div class="layui-card-body">
<div style="height: 280px;overflow: auto;">
<ul id="cskTree1" class="dtree" data-id="0"></ul>
</div>
</div>
</div>
</div>
<div class="layui-col-md2">
<div style="height: 280px;text-align: center">
<button class="layui-btn layui-btn-sm layui-btn-normal" style="margin-top: 180px;" id="csk_btn">选择</button>
</div>
</div>
<div class="layui-col-md5">
<div class="layui-card">
<div class="layui-card-header">已选地区</div>
<div class="layui-card-body">
<div style="height: 280px;overflow: auto;">
<ul id="cskTree2" class="dtree" data-id="-1"></ul>
</div>
</div>
</div>
</div>
</div>
<div class="layui-form-item layui-hide">
<input type="button" lay-submit lay-filter="area-freight-submit" id="area-freight-submit" value="确认">
</div>
<script type="text/javascript" src="/static/plug/dtree/areaData.js"></script>
<script type="text/javascript" src="/static/plug/dtree/dtree.js"></script>
<script src="/static/common/js/area.js"></script>
<script>
var selectedIds = '';//编辑的id
var regionIds = [];//格式化后的需要编辑的id
function editSelected(data) {
selectedIds = data;
regionIds = selectedIds.split(",");
}
var data = array_column(areas,'id');
layui.config({
version:"{$front_version}",
base: '/static/plug/layui-admin/dist/layuiadmin/' //静态资源所在路径
}).extend({
index: 'lib/index', //主入口模块
dtree: '../../../dtree'
}).use(['index', 'form', 'jquery', 'like','dtree'], function () {
var $ = layui.$
, jquery = layui.jquery
, like = layui.like
, dtree = layui.dtree;
var source = areaDatas;//树状结构的完整数据(用于渲染树形结构插件)
//组装选中地区id几其相关地区id
selectedIds += ',' + getAboutIds(regionIds);
//渲染数据框1的地区选中
dtree.render({
elem: "#cskTree1",
data:areaDatas,
checkbar:true,
initLevel: 1,
skin: "laySimple",
checkbarType:"all",
load:true,
done: function(res, $ul, first){
dtree.chooseDataInit("cskTree1",selectedIds); // 初始化选中
//把需要编辑的选中的数据在数据框2中选中
var editParam = dtree.getCheckbarNodesParam("cskTree1"); // 获取选中数据
checkedData = editParam;
delData = [];
dtree.reload("cskTree2",{data:editParam});
}
});
var checkedData = [];//选中的数据;
var delData = [];//删除的数据
//渲染地区数据框2的数据
var dtreeDiv = dtree.render({
elem: "#cskTree2",
data: [],
checkbar:true,
response:{treeId:"nodeId",title:"context"},
dataFormat:"list",
skin: "laySimple",
none: "暂无",
toolbar:true,
toolbarShow:["delete"],
toolbarWay:"fixed", // "contextmenu":右键菜单(默认),"fixed""固定在节点后","follow""跟随节点动态呈现"
toolbarStyle: {title: "选中"},
toolbarFun: {
delTreeNode: function(treeNode, $div){
delData.push(treeNode);
dtreeDiv.changeTreeNodeDel(true); // 删除成功
}
},
});
//框1中选择的数据 在框2中显示
$("#csk_btn").click(function(){
var param = dtree.getCheckbarNodesParam("cskTree1"); // 获取选中数据
if(param.length == 0) {
layer.msg("请至少选择一个");
}
checkedData = param;
delData = [];
dtree.reload("cskTree2",{data:param});
});
//点击确认时,把编辑过的框2的数据返回到地区编辑页
$("#area-freight-submit").click(function(){
dtreeDiv.setDisabledAllNodes('cskTree2');
var data = dtreeDiv.getAllDisabledNodesParam('cskTree2');
var needDel = [];//需要删除的数据
//1,遍历删除的地区id;1级不处理,2级,3级处理
for (var x = 0; x < delData.length; x++){
if (delData[x]['level'] == 2){
var sameLevel = [];
var partner = 0;
//删除上一级,同2级中,数量只有一个时,不删除上级
for (var i = 0; i < data.length; i++){
if (data[i]['level'] == 2){
sameLevel.push(data[i]);
}
if (data[i]['nodeId'] == delData[x]['parentId']){
partner = i;
}
}
if (sameLevel.length > 1){
needDel.push(data[partner]['nodeId']);
}
}
if (delData[x]['level'] == 3){
for (var a = 0;a < data.length; a++){
if (data[a]['nodeId'] == delData[x]['parentId']){
for (var b = 0;b < data.length; b++){
if (data[b]['nodeId'] == data[a]['parentId']){
needDel.push(data[b]['nodeId']);
}
}
needDel.push(data[a]['nodeId']);
}
}
}
}
for (var f =0; f < delData.length;){
if (delData[f]['level'] == 1){
delData.splice(f,1);
} else {
f++;
}
}
var result = [];
for (var d = 0; d < data.length; d++){
if(needDel.indexOf(data[d]['nodeId']) == -1) {
result.push(data[d]);
}
}
var lastData = [];
var firstDataIds = [];
var secondDataIds = [];
for (var e = 0; e < result.length; e++){
if (result[e]['level'] == 1){
var sourceFirst = getFirstChildBySource(source,result[e]['nodeId']);//完整数据中一级的子级(二,三级)
var resultFirst = getChild(result,result[e]['nodeId']);//选中的数据中一级的子级数量
if (sourceFirst.length == resultFirst.length){
lastData.push(result[e]);
firstDataIds.push(result[e]['nodeId']);
}
}
}
//检查非全选时,二级是否全选
for (var m =0; m < result.length; m++){
if((result[m]['level'] == 2) && (firstDataIds.indexOf(result[m]['parentId']) == -1)){
var sourceSecond = getSecondChildBySource(source,result[m]['nodeId']);
var resultSecond = getFirstChild(result,result[m]['nodeId']);
if (sourceSecond.length == resultSecond.length){
lastData.push(result[m]);
secondDataIds.push(result[m]['nodeId']);
}
}
}
//检查非全选时,三级是否全选
for (var n =0; n < result.length; n++){
if((result[n]['level'] == 3) && (secondDataIds.indexOf(result[n]['parentId']) == -1)){
//三级的上级(二级id)的上级是否在firstData中
var thirdLeader = getSecondLeader(source,result[n]['nodeId']);
if (firstDataIds.indexOf(thirdLeader) == -1){
lastData.push(result[n]);
}
}
}
parent.window.callTree && parent.window.callTree(lastData);
});
//获取3级的上级
function getSecondLeader(data,id) {
for (var i = 0; i < data.length; i++) {
var firstChildren = data[i]['children'];
for (var x =0; x < firstChildren.length; x++){
var secondChildren = firstChildren[x]['children'];
for (var y = 0; y < secondChildren.length; y++){
if (secondChildren[y]['id'] == id){
return data[i]['id'];
}
}
}
}
return 0;
}
//获取一级下的子级(二级,三级)
function getFirstChildBySource(data,pid) {
var child = [];
for (var i = 0; i < data.length; i++){
if (data[i]['id'] == pid){
var firstChildren = data[i]['children'];
for (var x =0; x < firstChildren.length; x++){
child.push(firstChildren[x]);
var secondChildren = firstChildren[x]['children'];
for (var y = 0; y < secondChildren.length; y++){
child.push(secondChildren[y]);
}
}
}
}
return child;
}
//获取二级下的子级(三级)
function getSecondChildBySource(data,pid) {
var child = [];
for (var i = 0; i < data.length; i++){
var firstChildren = data[i]['children'];
for (var x =0; x < firstChildren.length; x++){
if(firstChildren[x]['id'] == pid){
var secondChildren = firstChildren[x]['children'];
for (var y = 0; y < secondChildren.length; y++){
child.push(secondChildren[y]);
}
}
}
}
return child;
}
//获取下级
function getChild(data,pid) {
var child = [];
for (var i = 0; i < data.length; i++){
if (data[i]['parentId'] == pid){
child.push(data[i]);
for (var a = 0; a < data.length; a++){
if (data[a]['parentId'] == data[i]['nodeId']){
child.push(data[a]);
}
}
}
}
return child;
}
//第一个下级
function getFirstChild(data,pid) {
var firstChild = [];
for (var i = 0; i < data.length; i++){
if (data[i]['parentId'] == pid){
firstChild.push(data[i]);
}
}
return firstChild;
}
//获取父类id
function getParentIds(ids) {
var call_ids=[];
for(var i in ids){
if(data[ids[i]]['parent_id']!=0){
ids.push(data[ids[i]]['parent_id']);
call_ids.push(data[ids[i]]['parent_id']);
}
}
if(call_ids.length!=0){
ids=ids.concat(getParentIds(call_ids));
}
return ids;
}
//获取子类id
function getChildrenIds(ids){
var call_ids=[];
for(var i in ids){
if(data[ids[i]]['level']==3){
continue;
}
for(var j in data){
if(ids[i] == data[j]['parent_id']){
ids.push(data[j]['id']);
call_ids.push(data[j]['id']);
}
}
}
if(call_ids.length!=0){
ids=ids.concat(getChildrenIds(call_ids));
}
return ids;
}
//获取有关的地区id
function getAboutIds(ids){
result = getChildrenIds(ids);
result = result.concat(getParentIds(ids));
return array_unique(result);
}
});
</script>

View File

@@ -0,0 +1,63 @@
<style>
.label-width{
width: 120px;
}
</style>
<div class="layui-fluid">
<div class="layui-form" lay-filter="layuiadmin-form-config" id="layuiadmin-form-config" style="padding: 20px 30px 0 0;">
<div class="layui-form-item">
<label class="layui-form-label label-width">物流查询方式:</label>
<div class="layui-input-block">
<input type="radio" name="way" lay-filter="kd100" value="kd100" title="快递100" {if condition="$config.way eq 'kd100'"} checked {/if}>
<input type="radio" name="way" lay-filter="kdniao" value="kdniao" title="快递鸟" {if condition="$config.way eq 'kdniao'"} checked {/if}>
</div>
</div>
<!--快递100-->
<div class="layui-form-item " id="kd100_appkey" {if condition="$config.way eq 'kdniao'"} style="display: none"{/if}>
<label class="layui-form-label label-width">授权KEY:</label>
<div class="layui-input-inline" >
<input type="text" name="kd100_appkey" value="{$config.kd100_appkey | default =''}" lay-vertype="tips" placeholder="请输入APPKEY" autocomplete="off" class="layui-input">
<div class=" layui-form-mid layui-word-aux" >快递100分配的授权KEY</div>
</div>
</div>
<div class="layui-form-item kd100" id="kd100_customer" {if condition="$config.way eq 'kdniao'"} style="display: none"{/if}>
<label class="layui-form-label label-width">CUSTOMER:</label>
<div class="layui-input-inline" >
<input type="text" name="kd100_customer" value="{$config.kd100_customer | default =''}" lay-vertype="tips" placeholder="请输入CUSTOMER" autocomplete="off" class="layui-input">
<div class=" layui-form-mid layui-word-aux">快递100分配的customer</div>
</div>
</div>
<!--快递鸟-->
<div class="layui-form-item kdniao" id="kdniao_type" {if condition="$config.way eq 'kd100'"} style="display: none"{/if}>
<label class="layui-form-label label-width">快递鸟套餐:</label>
<div class="layui-input-block">
<input type="radio" name="kdniao_type" lay-filter="free" value="free" title="免费" {if condition="$config.kdniao_type eq 'free'"} checked {/if}>
<input type="radio" name="kdniao_type" lay-filter="pay" value="pay" title="付费" {if condition="$config.kdniao_type eq 'pay'"} checked {/if}>
</div>
</div>
<div class="layui-form-item kdniao" id="kdniao_appkey" {if condition="$config.way eq 'kd100'"} style="display: none"{/if}>
<label class="layui-form-label label-width">APPKEY:</label>
<div class="layui-input-inline" >
<input type="text" name="kdniao_appkey" value="{$config.kdniao_appkey | default =''}" lay-vertype="tips" placeholder="请输入APPKEY" autocomplete="off" class="layui-input">
<div class=" layui-form-mid layui-word-aux" >快递鸟分配的电商加密私钥</div>
</div>
</div>
<div class="layui-form-item kdniao" id="kdniao_ebussinessid" {if condition="$config.way eq 'kd100'"} style="display: none"{/if}>
<label class="layui-form-label label-width">EBussinessID:</label>
<div class="layui-input-inline" >
<input type="text" name="kdniao_ebussinessid" value="{$config.kdniao_ebussinessid | default =''}" lay-vertype="tips" placeholder="请输入CUSTOMER" autocomplete="off" class="layui-input">
<div class=" layui-form-mid layui-word-aux" >快递鸟分配的电商ID</div>
</div>
</div>
<div class="layui-form-item " style="padding-left: 10%">
<input type="button" class="layui-btn layui-btn-sm layui-btn-normal" lay-submit lay-filter="query-submit" id="query-submit" value="确认">
</div>
</div>
</div>

View File

@@ -0,0 +1,120 @@
{layout name="layout2" /}
<style>
.div-flex {
display: flex;
align-items: center;
justify-content: left;
}
.layui-form-label {
width: 100px;
}
.width-160 {
width: 200px;
}
.layui-table th {
text-align: center;
}
.table-margin {
margin-left: 50px;
margin-right: 50px;
text-align: center;
}
.image {
height: 80px;
width: 80px;
}
.mt50 {
margin-left: 50px;
}
</style>
<div class="layui-form" lay-filter="layuiadmin-form-ad_position" id="layuiadmin-form-category" style="padding: 20px 30px 100px 0;">
<div class="layui-form-item div-flex">
<label class="layui-form-label ">模板名称:</label>
<div class="width-160">{$detail.name}</div>
</div>
<div class="layui-form-item div-flex">
<label class="layui-form-label">计费方式</label>
<div class="width-160">{$detail.charge_way_text}</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">备注</label>
<div class="layui-input-inline">
<textarea name="remark" placeholder="备注信息" class="layui-textarea">{$detail.remark}</textarea>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">配送区域</label>
<div class="layui-input-block">
<table class="layui-table">
<colgroup>
<col width="30%">
<col width="15%">
<col width="15%">
<col width="15%">
<col width="15%">
</colgroup>
<thead>
<tr>
<th>可配送区域</th>
<th class="th_first_unit">首件 (个)</th>
<th class="th_first_money">运费 (元)</th>
<th class="th_continue_unit">续件 (个)</th>
<th class="th_continue_money">续费 (元)</th>
</tr>
</thead>
<tbody >
{foreach $detail.configs as $k => $item}
<tr>
<th style="text-align: left">{$item.region_name}</th>
<th>{$item.first_unit}</th>
<th>{$item.first_money}</th>
<th>{$item.continue_unit}</th>
<th>{$item.continue_money}</th>
</tr>
{/foreach}
</tbody>
</table>
</div>
</div>
</div>
<div class="layui-form-item" >
<div class="layui-input-block ">
<button type="button" class="layui-btn layui-btn-primary " id="back">返回</button>
</div>
</div>
<script>
layui.config({
version:"{$front_version}",
base: '/static/plug/layui-admin/dist/layuiadmin/' //静态资源所在路径
}).extend({
index: 'lib/index' //主入口模块
}).use(['index', 'form','jquery','like','transfer'], function() {
var $ = layui.$
, form = layui.form
, transfer = layui.transfer
, like = layui.like;
$('#back').click(function () {
var index=parent.layer.getFrameIndex(window.name); //获取当前窗口的name
parent.layer.close(index);
parent.layui.table.reload('freight-lists');
return true;
});
});
</script>

View File

@@ -0,0 +1,229 @@
{layout name="layout2" /}
<div class="layui-form" lay-filter="layuiadmin-form-ad_position" id="layuiadmin-form-category" style="padding: 20px 30px 0 0;">
<input type="hidden" name="id" value="{$detail.id}">
<div class="layui-form-item">
<label class="layui-form-label">模板名称</label>
<div class="layui-input-inline">
<input type="text" name="name" lay-verify="required" value="{$detail.name}" placeholder="请输入模板名称"
autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">计费方式</label>
<div class="layui-input-block" id="charge_way">
<input type="radio" class="type" name="charge_way" value="1" title="按重量" {if
condition="$detail.charge_way eq 1" }checked{/if}>
<input type="radio" class="type" name="charge_way" value="2" title="按体积" {if
condition="$detail.charge_way eq 2" }checked{/if}>
<input type="radio" class="type" name="charge_way" value="3" title="按件数" {if
condition="$detail.charge_way eq 3" }checked{/if}>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">备注</label>
<div class="layui-input-inline">
<textarea name="remark" placeholder="备注信息" class="layui-textarea">{$detail.remark}</textarea>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">配送区域</label>
<div class="layui-input-block">
<table class="layui-table">
<colgroup>
<col width="25%">
<col width="15%">
<col width="15%">
<col width="15%">
<col width="15%">
<col width="20%">
</colgroup>
<thead>
<tr>
<th>可配送区域</th>
<th class="th_first_unit">首件 (个)</th>
<th class="th_first_money">运费 (元)</th>
<th class="th_continue_unit">续件 (个)</th>
<th class="th_continue_money">续费 (元)</th>
<th >操作</th>
</tr>
</thead>
<tbody>
{foreach $detail.configs as $k => $item}
<tr class='area_tr area_tr{$k}' data-id="{$k}">
<input type='hidden' class='region region{$k}' name='region[]' value="{$item.region}">
<td class='area_name area_name{$k}' style="text-align: left">
{$item.region_name}
</td>
<td><input type='number' name='first_unit[]' lay-verify='required' value="{$item.first_unit}" autocomplete='off' class='layui-input'></td>
<td><input type='number' name='first_money[]' lay-verify='required' value="{$item.first_money}" autocomplete='off' class='layui-input'></td>
<td><input type='number' name='continue_unit[]' lay-verify='required' value="{$item.continue_unit}" autocomplete='off' class='layui-input'></td>
<td><input type='number' name='continue_money[]' lay-verify='required' value="{$item.continue_money}" autocomplete='off' class='layui-input'></td>
{if condition =" $item.region neq 'all' "}
<td style="text-align: center">
<button class='layui-btn layui-btn-sm layui-btn-normal' type='button' onclick='editArea("{$k}")'>
<i class="layui-icon layui-icon-edit"></i>
</button>
<button class='layui-btn layui-btn-sm layui-btn-danger' type='button' onclick='delArea("{$k}")'>
<i class="layui-icon layui-icon-delete"></i>
</button>
</td>
{/if}
</tr>
{/foreach}
<tr class="area_tbody"></tr>
</tbody>
</table>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label>
<div class="layui-input-inline">
<button type="button" id="btn-area" class="layui-btn layui-btn-sm layui-btn-normal layuiadmin-btn-select_area">
添加运费规则
</button>
</div>
</div>
<div class="layui-form-item layui-hide">
<input type="button" lay-submit lay-filter="edit-freight-submit" id="edit-freight-submit" value="确认">
</div>
</div>
<script>
var araeDataIds = '';//选中的地区id
var araeDataNmae = '';//选中的地区名字
layui.config({
version:"{$front_version}",
base: '/static/plug/layui-admin/dist/layuiadmin/' //静态资源所在路径
}).extend({
index: 'lib/index' //主入口模块
}).use(['index', 'form', 'jquery', 'like', 'transfer'], function () {
var $ = layui.$
, form = layui.form
, transfer = layui.transfer
, like = layui.like;
window.callTree = function (data) {
for (var i = 0; i < data.length; i++) {
araeDataNmae += data[i]['context'] + ',';
araeDataIds += data[i]['nodeId'] + ',';
}
araeDataNmae = araeDataNmae.substring(0, araeDataNmae.length - 1);
araeDataIds = araeDataIds.substring(0, araeDataIds.length - 1);
};
//添加地区(选择地区页面)
$(document).on('click', '#btn-area', function () {
layer.open({
type: 2
, title: '配送区域'
, content: '{:url("freight/area")}'
, area: ['90%', '90%']
, btn: ['确定', '返回']
, yes: function (index, layero) {
var iframeWindow = window['layui-layer-iframe' + index]
, submitID = 'area-freight-submit'
, submit = layero.find('iframe').contents().find('#' + submitID);
//监听提交
iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
if (araeDataIds == '') {
layer.msg('请选择地区');
return;
}
addArea(araeDataNmae);
$('input.region:last').val(araeDataIds);
araeDataNmae = '';
araeDataIds = '';
layer.close(index);
});
submit.trigger('click');
}
});
});
});
//增加模板行
function addArea(data) {
var add = ".area_tr";
var id = $('tr.area_tr:last').attr('data-id');
if (id === undefined) {
id = 1;
add = ".area_tbody";
} else {
add = add + id;
}
var v = parseInt(id) + 1;
var str = "<tr class='area_tr area_tr"+v+"' data-id='" + v + "'>" +
"<td><span class=' area_name area_name"+v+" '>"+data+"</span></td>" +
"<input type='hidden' class='region region"+v+" ' name='region["+v+"]' value=''>" +
"<td><input type='number' name='first_unit["+v+"]' lay-verify='required' autocomplete='off' class='layui-input'></td>" +
"<td><input type='number' name='first_money["+v+"]' lay-verify='required' autocomplete='off' class='layui-input'></td>" +
"<td><input type='number' name='continue_unit["+v+"]' lay-verify='required' autocomplete='off' class='layui-input'></td>" +
"<td><input type='number' name='continue_money["+v+"]' lay-verify='required' autocomplete='off' class='layui-input'></td>" +
"<td style='text-align:center'>" +
"<button class='layui-btn layui-btn-sm layui-btn-normal' type='button' onclick='editArea(" + v + ")'>" +
"<i class='layui-icon layui-icon-edit'></i>" +
"</button>" +
"<button class='layui-btn layui-btn-sm layui-btn-danger' type='button' onclick='delArea(" + v + ")'>" +
"<i class='layui-icon layui-icon-delete'></i>" +
"</button>" +
"</td>" +
"</tr>";
$(add).after(str);
}
//删除模板行
function delArea(value) {
$(".area_tr" + value).remove();
}
//编辑模板行
function editArea(value) {
var regionSelected = '.region'+value;//选择编辑的行
var selectIds = $(regionSelected).val();//选中行的地区id
layer.open({
type: 2
, title: '配送区域'
, content: '{:url("freight/areaEdit")}'
, area: ['90%', '90%']
, btn: ['确定', '返回']
, success: function (layero,index) {
var iframe = window['layui-layer-iframe' + index];
iframe.editSelected(selectIds);
}
, yes: function (index, layero) {
var iframeWindow = window['layui-layer-iframe' + index]
, submitID = 'area-freight-submit'
, submit = layero.find('iframe').contents().find('#' + submitID);
//监听提交
iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
if (araeDataIds == '') {
layer.msg('请选择地区');
return;
}
$(".area_name" + value).text(araeDataNmae);
$(".region" + value).val(araeDataIds);
araeDataNmae = '';
araeDataIds = '';
layer.close(index);
});
submit.trigger('click');
}
});
}
</script>

View File

@@ -0,0 +1,42 @@
<style>
.layui-table-cell {
height: auto;
}
</style>
<div class="layui-fluid">
<div class="layui-form layui-card-header layuiadmin-card-header-auto">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">快递名称</label>
<div class="layui-input-block">
<input type="text" name="express_name" id="express_name" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-btn-sm layuiadmin-btn-express {$view_theme_color}" lay-submit lay-filter="express-search">
查询
</button>
<button class="layui-btn layui-btn-sm layuiadmin-btn-express layui-btn-primary " lay-submit
lay-filter="express-clear-search">重置
</button>
</div>
</div>
</div>
<div style="padding-bottom: 10px;">
<button class="layui-btn layui-btn-sm layuiadmin-btn-express {$view_theme_color}" data-type="add">新增快递公司</button>
</div>
<table id="express-lists" lay-filter="express-lists"></table>
<script type="text/html" id="express-operation">
<a class="layui-btn layui-btn-normal layui-btn-sm" lay-event="edit">编辑</a>
<a class="layui-btn layui-btn-danger layui-btn-sm" lay-event="del">删除</a>
</script>
<script type="text/html" id="icon">
<img src="{{d.icon}}" style="height:80px;width: 80px" class="image-show">
</script>
</div>

View File

@@ -0,0 +1,466 @@
{layout name="layout1" /}
<div class="layui-fluid">
<div class="layui-card">
<div class="layui-card-body">
<div class="layui-collapse like-layui-collapse" lay-accordion="" style="border:1px dashed #c4c4c4">
<div class="layui-colla-item">
<h2 class="layui-colla-title like-layui-colla-title" style="background-color: #fff">操作提示</h2>
<div class="layui-colla-content layui-show">
<p>*设置快递配送的运费模板。</p>
<p>*需要开启快递发货的配送方式,运费模板才能生效。</p>
</div>
</div>
</div>
</div>
<div class="layui-tab layui-tab-card" lay-filter="tab-all">
<ul class="layui-tab-title">
<li data-type='freight' class="layui-this">运费模板</li>
<li data-type='express'>快递公司</li>
<li data-type='express'>查询配置</li>
</ul>
<div class="layui-tab-content">
<!--运费模板列表-->
<div class="layui-tab-item layui-show ">
{include file="freight/lists"/}
</div>
<!--物流公司列表-->
<div class="layui-tab-item">
{include file="freight/express"/}
</div>
<!--查询配置-->
<div class="layui-tab-item">
{include file="freight/config"/}
</div>
</div>
</div>
</div>
</div>
<script>
layui.config({
version:"{$front_version}",
base: '/static/plug/layui-admin/dist/layuiadmin/' //静态资源所在路径
}).extend({
index: 'lib/index' //主入口模块
}).use(['index', 'element', 'like', 'table'], function () {
var $ = layui.$
, form = layui.form
, table = layui.table
, element = layui.element
, like = layui.like;
//图片放大
$(document).on('click', '.image-show', function () {
var src = $(this).attr('src');
like.showImg(src,600);
});
getLists('freight');
//切换列表
element.on('tab(tab-all)', function (data) {
form.render('select');
var type = $(this).attr('data-type');
getLists(type);
});
//监听搜索
form.on('submit(express-search)', function (data) {
var field = data.field;
//执行重载
table.reload('express-lists', {
where: field
});
});
form.on('submit(freight-search)', function (data) {
var field = data.field;
//执行重载
table.reload('freight-lists', {
where: field
});
});
//清空查询
form.on('submit(express-clear-search)', function () {
$('#express_name').val('');
//刷新列表
table.reload('express-lists', {
where: []
});
});
form.on('submit(freight-clear-search)', function () {
$('#name').val('');
$('#charge_way').val('');
form.render('select');
//刷新列表
table.reload('freight-lists', {
where: []
});
});
function getLists(type) {
if (type == 'freight') {
table.render({
elem: '#freight-lists'
, url: '{:url("freight/lists")}'
, cols: [[
{field: 'id', width: 60, title: 'ID', sort: true}
, {field: 'name', title: '模板名称'}
, {field: 'charge_way_text', title: '计费方式'}
, {field: 'remark', title: '备注'}
, {field: 'create_time', title: '创建时间'}
, {fixed: 'right', title: '操作',width:160, align: 'center', fixed: 'right', toolbar: '#freight-operation'}
]]
, page: true
, text: {none: '暂无数据!'}
, parseData: function (res) {
return {
"code": res.code,
"msg": res.msg,
"count": res.data.count,
"data": res.data.lists, //解析数据列表
};
}
,done: function(res, curr, count){
// 解决操作栏因为内容过多换行问题
$(".layui-table-main tr").each(function (index, val) {
$($(".layui-table-fixed-l .layui-table-body tbody tr")[index]).height($(val).height());
$($(".layui-table-fixed-r .layui-table-body tbody tr")[index]).height($(val).height());
});
}
});
}
if (type == 'express') {
table.render({
elem: '#express-lists'
, url: '{:url("express/lists")}'
, cols: [[
{field: 'name', title: '快递公司',align:'center'}
, {field: 'icon', width: 150,title: '快递图标',templet:'#icon',align:'center'}
, {field: 'website', title: '公司网址',align:'center'}
, {field: 'code', title: '快递编码',align:'center'}
, {field: 'code100', title: '快递100编码',align:'center'}
, {field: 'codebird', title: '快递鸟编码',align:'center'}
, {field: 'sort', title: '排序', align: 'center',sort: true, width: 100}
, {title: '操作', width: 160, align: 'center', fixed: 'right', toolbar: '#express-operation'}
]]
, page: true
, text: {none: '暂无数据!'}
, parseData: function (res) { //将原始数据解析成 table 组件所规定的数据
return {
"code": res.code,
"msg": res.msg,
"count": res.data.count, //解析数据长度
"data": res.data.lists, //解析数据列表
};
}
,done: function(res, curr, count){
// 解决操作栏因为内容过多换行问题
$(".layui-table-main tr").each(function (index, val) {
$($(".layui-table-fixed-l .layui-table-body tbody tr")[index]).height($(val).height());
$($(".layui-table-fixed-r .layui-table-body tbody tr")[index]).height($(val).height());
});
}
});
}
}
//新增运费模板
var active = {
add: function(){
layer.open({
type: 2
,title: '添加运费模板'
,content: '{:url("freight/add")}'
,area: ['90%','90%']
,btn: ['确定', '取消']
,yes: function(index, layero){
var iframeWindow = window['layui-layer-iframe'+ index]
,submitID = 'add-freight-submit'
,submit = layero.find('iframe').contents().find('#'+ submitID);
//监听提交
iframeWindow.layui.form.on('submit('+ submitID +')', function(data){
var field = data.field;
like.ajax({
url:'{:url("freight/add")}',
data:field,
type:"post",
success:function(res)
{
if(res.code == 1)
{
layui.layer.msg(res.msg, {
offset: '15px'
, icon: 1
, time: 1000
});
layer.close(index); //关闭弹层
table.reload('freight-lists'); //数据刷新
}
}
});
});
submit.trigger('click');
}
});
}
};
$('.layui-btn.layuiadmin-btn-freight').on('click', function(){
var type = $(this).data('type');
active[type] ? active[type].call(this) : '';
});
//运费模板监听工具条
table.on('tool(freight-lists)', function (obj) {
var id = obj.data.id;
//详情
if(obj.event === 'detail-freight'){
layer.open({
type: 2
,title: '详情'
,content: '{:url("freight/detail")}?id='+id
,area: ['90%', '90%']
,yes: function(index, layero){
table.reload('freight-lists'); //再执行关闭
}
})
}
//编辑
if(obj.event === 'edit-freight'){
layer.open({
type: 2
,title: '编辑'
,btn: ['确定', '取消']
,content: '{:url("freight/edit")}?id='+id
,area: ['90%', '90%']
,yes: function(index, layero){
var iframeWindow = window['layui-layer-iframe'+ index]
,submitID = 'edit-freight-submit'
,submit = layero.find('iframe').contents().find('#'+ submitID);
//监听提交
iframeWindow.layui.form.on('submit('+ submitID +')', function(data){
var field = data.field;
like.ajax({
url:'{:url("freight/edit")}',
data:field,
type:"post",
success:function(res)
{
if(res.code == 1)
{
layui.layer.msg(res.msg, {
offset: '15px'
, icon: 1
, time: 1000
});
layer.close(index); //关闭弹层
table.reload('freight-lists'); //数据刷新
}
}
});
});
submit.trigger('click');
}
})
}
//删除运费模板
if(obj.event === 'del-freight'){
layer.confirm('删除后运费模板将消失,确认删除运费模板吗?', {
btn: ['确认','取消'] //按钮
}, function(){
like.ajax({
url: '{:url("freight/del")}'
, data: {'id': id}
, type: 'post'
, success: function (res) {
if (res.code == 1) {
layui.layer.msg(res.msg, {
offset: '15px'
, icon: 1
, time: 1000
},function () {
table.reload('freight-lists');
});
}
},
});
});
}
});
// =========================================快递公司==================================================
//新增快递公司
var express_active = {
add: function(){
layer.open({
type: 2
,title: '新增快递公司'
,content: '{:url("express/add")}'
,area: ['90%', '90%']
,btn: ['确定', '取消']
,yes: function(index, layero){
var iframeWindow = window['layui-layer-iframe'+ index]
,submitID = 'express-submit'
,submit = layero.find('iframe').contents().find("#express-submit");
//监听提交
iframeWindow.layui.form.on('submit(express-submit)', function(data){
var field = data.field;
like.ajax({
url:'{:url("express/add")}',
data:field,
type:"post",
success:function(res)
{
if(res.code == 1)
{
layui.layer.msg(res.msg, {
offset: '15px'
, icon: 1
, time: 1000
});
layer.close(index); //关闭弹层
table.reload('express-lists'); //数据刷新
}
}
});
});
submit.trigger('click');
},
})
}
};
$('.layui-btn.layuiadmin-btn-express').on('click', function(){
var type = $(this).data('type');
express_active[type] ? express_active[type].call(this) : '';
});
//快递公司列表操作
table.on('tool(express-lists)', function(obj){
if(obj.event === 'del'){
var id = obj.data.id;
layer.confirm('确定删除此快递公司?', function(index){
like.ajax({
url:'{:url("express/del")}',
data:{delData:id},
type:"post",
success:function(res)
{
if(res.code == 1)
{
layui.layer.msg(res.msg, {
offset: '15px'
, icon: 1
, time: 1000
});
layer.close(index); //关闭弹层
table.reload('express-lists'); //数据刷新
obj.del();
}
}
});
layer.close(index);
});
}else if(obj.event === 'edit'){
var id = obj.data.id;
layer.open({
type: 2
,title: '编辑快递公司信息'
,content: '{:url("express/edit")}?id='+id
,area: ['90%', '90%']
,btn: ['确定', '取消']
,yes: function(index, layero){
var iframeWindow = window['layui-layer-iframe'+ index]
,submit = layero.find('iframe').contents().find('#express-submit-edit');
//监听提交
iframeWindow.layui.form.on('submit(express-submit-edit)', function(data){
var field = data.field;
like.ajax({
url:'{:url("express/edit")}',
data:field,
type:"post",
success:function(res)
{
console.log(res);
if(res.code == 1)
{
console.log(1);
layui.layer.msg(res.msg, {
offset: '15px'
, icon: 1
, time: 1000
});
layer.close(index); //关闭弹层
table.reload('express-lists'); //数据刷新
}
}
});
});
submit.trigger('click');
}
})
}
});
// ========================================查询配置==================================================
form.on('radio(kd100)', function(data){
if(data.value =='kd100'){
$('#kd100_appkey').show();
$('#kd100_customer').show();
$('#kdniao_appkey').hide();
$('#kdniao_ebussinessid').hide();
$('#kdniao_type').hide();
}
});
form.on('radio(kdniao)', function(data){
if(data.value =='kdniao'){
$('#kd100_appkey').hide();
$('#kd100_customer').hide();
$('#kdniao_appkey').show();
$('#kdniao_ebussinessid').show();
$('#kdniao_type').show();
}
});
form.on('submit(query-submit)',function (data) {
like.ajax({
url: '{:url("express/setExpress")}'
,data: data.field
,type: 'post'
,success: function(res){
layer.msg(res.msg, {
offset: '15px'
,icon: 1
,time: 1500
});
}
});
});
});
</script>

View File

@@ -0,0 +1,46 @@
<div class="layui-fluid">
<div class="layui-form layui-card-header layuiadmin-card-header-auto">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">模板名称</label>
<div class="layui-input-block">
<input type="text" name="name" id="name" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">计费方式</label>
<div class="layui-input-block">
<select name="charge_way" id="charge_way">
<option value="">全部</option>
{foreach $charge_way_lists as $k => $val}
<option value="{$k}">{$val}</option>
{/foreach}
</select>
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-btn-sm layuiadmin-btn-freight {$view_theme_color}" lay-submit lay-filter="freight-search">
查询
</button>
<button class="layui-btn layui-btn-sm layuiadmin-btn-express layui-btn-primary " lay-submit
lay-filter="freight-clear-search">重置
</button>
</div>
</div>
</div>
<div style="padding-bottom: 10px;">
<button class="layui-btn layuiadmin-btn-freight {$view_theme_color} layui-btn-sm" data-type="add">添加运费模板</button>
</div>
<table id="freight-lists" lay-filter="freight-lists"></table>
<script type="text/html" id="freight-operation">
<a class="layui-btn layui-btn-warm {$view_theme_color} layui-btn-sm" lay-event="edit-freight">编辑</a>
<a class="layui-btn layui-btn-danger layui-btn-sm" lay-event="del-freight">删除</a>
</script>
</div>

View File

@@ -0,0 +1,70 @@
{layout name="layout1" /}
<div class="layui-fluid">
<div class="layui-card">
<div class="layui-card-body">
<div class="layui-collapse like-layui-collapse" lay-accordion="" style="border:1px dashed #c4c4c4">
<div class="layui-colla-item">
<h2 class="layui-colla-title like-layui-colla-title" style="background-color: #fff">操作提示</h2>
<div class="layui-colla-content layui-show">
*设置店铺的配送方式
</div>
</div>
</div>
</div>
<div class="layui-form-item div-flex" style="margin-top: 20px">
<fieldset class="layui-elem-field layui-field-title" style="margin-top: 50px;">
<legend>配送方式</legend>
</fieldset>
</div>
<div class="layui-card-body" pad15>
<div class="layui-form" lay-filter="">
<div class="layui-form-item">
<label class="layui-form-label">快递发货</label>
<div class="layui-input-block">
<input type="checkbox" name="type" lay-skin="switch" lay-text="开启|关闭" {if condition="$type eq 1"}checked{/if}>
</div>
<div class="layui-form-mid">开启快递发货后,买家下单可以选择快递送货上门。</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button class="layui-btn {$view_theme_color}" lay-submit lay-filter="set">确认</button>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
layui.config({
version:"{$front_version}",
base: '/static/plug/layui-admin/dist/layuiadmin/' //静态资源所在路径
}).extend({
index: 'lib/index' //主入口模块
}).use(['index', 'table', 'like'], function () {
var $ = layui.$
, form = layui.form
, like = layui.like;
form.on('submit(set)', function (data) {
like.ajax({
url: '{:url("freight/set")}'
, data: data.field
, type: 'post'
, success: function (res) {
if (res.code == 1) {
layui.layer.msg(res.msg, {
offset: '15px'
, icon: 1
, time: 1000
},function () {
location.reload();
});
}
}
});
});
});
</script>