<div class="layui-card">
|
<div class="layui-card-header">
|
<h2 class="header-title">地区管理</h2>
|
<span class="layui-breadcrumb pull-right">
|
<a href="#!console">首页</a>
|
<a><cite>地区管理</cite></a>
|
</span>
|
</div>
|
<div class="layui-card-body">
|
<div class="layui-form toolbar"> 
|
<input id="area-search-value" class="layui-input search-input" type="text" placeholder="输入地区名称"/> 
|
<button id="area-btn-search" class="layui-btn icon-btn"><i class="layui-icon"></i>搜索</button>
|
<button id="area-btn-add" class="layui-btn icon-btn"><i class="layui-icon"></i>添加</button>
|
<button id="area-btn-expand" class="layui-btn">全部展开</button>
|
<button id="area-btn-fold" class="layui-btn">全部折叠</button>
|
</div>
|
|
<table class="layui-table" id="area-table" lay-filter="area-table"></table>
|
</div>
|
</div>
|
|
<!-- 表格操作列 -->
|
<script type="text/html" id="area-table-bar">
|
<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="edit">编辑</a>
|
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
|
</script>
|
|
<!-- 表格状态列 -->
|
<script type="text/html" id="area-tpl-state">
|
<input type="checkbox" lay-filter="area-tpl-state" value="{{d.id}}" lay-skin="switch" lay-text="启用|禁用"
|
{{d.enabled==true?'checked':''}}/>
|
</script>
|
|
<script>
|
layui.use(['form', 'table', 'util', 'config', 'admin', 'formSelects', 'treetable'],function () {
|
let table = layui.table;
|
let layer = layui.layer;
|
let admin = layui.admin;
|
let treetable = layui.treetable;
|
let config = layui.config;
|
let form = layui.form;
|
|
// 渲染表格
|
var renderTable = function (param) {
|
if (param) {
|
param.access_token = config.getToken().access_token;
|
} else {
|
param = {
|
access_token: config.getToken().access_token
|
};
|
}
|
treetable.render({
|
treeColIndex: 0,
|
treeSpid: -1,
|
treeIdName: 'id',
|
treePidName: 'areaParentId',
|
elem: '#area-table',
|
url: config.base_server + 'api-user/sysarea/findAlls',
|
where: param,
|
page: false,
|
cols: [[
|
{field: 'areaName', minWidth: 200, title: '区域名称'},
|
{field: 'areaCh', align: 'center', title: '拼音'},
|
{field: 'areaShortname', minWidth: 80, title: '简称'},
|
{field: 'areaCitycode', title: '区号'},
|
{field: 'areaZipcode', title: '邮编'},
|
{field: 'sort', width: 80, align: 'center', title: '排序号'},
|
{
|
field: 'areaLeveltype', width: 80, align: 'center', templet: function (d) {
|
switch(d.areaLeveltype){
|
case 0:
|
return '<span class="layui-badge layui-bg-red">国家</span>';
|
break;
|
case 1:
|
return '<span class="layui-badge layui-bg-blue">省/行政区</span>';
|
break;
|
case 2:
|
return '<span class="layui-badge layui-bg-gray">市</span>';
|
break;
|
case 3:
|
return '<span class="layui-badge layui-bg-green">区/县</span>';
|
break;
|
}
|
}, title: '级别'
|
},
|
{field: 'enabled', width: 100,sort: true, templet: '#area-tpl-state', title: '状态'},
|
{templet: '#area-table-bar', width: 120, align: 'center', title: '操作'}
|
]]
|
});
|
};
|
renderTable();
|
|
// 修改状态
|
form.on('switch(area-tpl-state)', function (obj) {
|
layer.load(2);
|
admin.req('api-user/sysarea/updateEnabled', {
|
id: obj.elem.value,
|
enabled: obj.elem.checked ? true : false
|
}, function (data) {
|
layer.closeAll('loading');
|
if (data.code == 0) {
|
layer.msg(data.msg, {icon: 1, time: 500});
|
} else {
|
layer.msg(data.msg, {icon: 2, time: 500});
|
$(obj.elem).prop('checked', !obj.elem.checked);
|
form.render('checkbox');
|
}
|
}, 'GET');
|
});
|
|
// 工具条点击事件
|
table.on('tool(area-table)', function (obj) {
|
if (obj.event === 'del') { // 删除
|
layer.confirm('确定要删除吗?', function (i) {
|
layer.close(i);
|
layer.load(2);
|
admin.req('api-user/sysarea/'+obj.data.id, {}, function (data) {
|
layer.closeAll('loading');
|
layer.msg(data.msg, {icon: 1, time: 800},function(){
|
renderTable();
|
});
|
obj.del();
|
}, 'DELETE');
|
});
|
}
|
else if(obj.event=='edit')
|
{
|
showEditModel(obj.data);
|
}
|
});
|
|
// 显示编辑弹窗
|
var showEditModel = function (data) {
|
let title = data ? '修改区域' : '添加区域';
|
if (!data){
|
data = {};
|
}
|
admin.putTempData('t_area', data);
|
|
admin.popupCenter({
|
title: title,
|
path: 'pages/system/sysarea_form.html',
|
finish: function () {
|
renderTable();
|
}
|
});
|
};
|
|
// 搜索按钮点击事件
|
$('#area-btn-search').click(function () {
|
var keyword = $('#area-search-value').val();
|
var searchCount = 0;
|
$('#area-table').next('.treeTable').find('.layui-table-body tbody tr td').each(function () {
|
$(this).css('background-color', 'transparent');
|
var text = $(this).text();
|
if (keyword !== '' && text.indexOf(keyword) >= 0) {
|
$(this).css('background-color', 'rgba(250,230,160,0.5)');
|
if (searchCount === 0) {
|
$('.layui-tab-item.layui-show').stop(true);
|
$('.layui-tab-item.layui-show').animate({scrollTop: $(this).offset().top - 150}, 500);
|
}
|
searchCount++;
|
}
|
});
|
if (keyword !== '' && searchCount === 0) {
|
layer.msg("没有匹配结果", {icon: 5, time: 500});
|
} else {
|
treetable.expandAll('#area-table');
|
}
|
});
|
$('#area-btn-expand').click(function () {
|
treetable.expandAll('#area-table');
|
});
|
|
$('#area-btn-fold').click(function () {
|
treetable.foldAll('#area-table');
|
});
|
// 添加按钮点击事件
|
$('#area-btn-add').click(function () {
|
showEditModel();
|
});
|
});
|
</script>
|