1
0
mirror of https://gitee.com/zhc02/timely_service.git synced 2025-07-10 10:39:55 +08:00

后台页面

This commit is contained in:
白鹄 2019-12-16 23:50:50 +08:00
parent ccf6656ad7
commit 35d233d6f3
3 changed files with 119 additions and 88 deletions

View File

@ -50,10 +50,10 @@
<div class="panel layui-bg-number">
<div class="panel-body">
<div class="panel-title">
<h5>客服统计</h5>
<h5>客服总数</h5>
</div>
<div class="panel-content">
<h1 class="no-margins">1234</h1>
<h1 class="no-margins">{$kefu_num}</h1>
</div>
</div>
</div>
@ -65,7 +65,7 @@
<h5>当前在线客服</h5>
</div>
<div class="panel-content">
<h1 class="no-margins">1234</h1>
<h1 class="no-margins">{$online_kefu_num}</h1>
</div>
</div>
</div>
@ -77,7 +77,7 @@
<h5>当前在线访客</h5>
</div>
<div class="panel-content">
<h1 class="no-margins">1234</h1>
<h1 class="no-margins">{$online_visitor_num}</h1>
</div>
</div>
@ -90,7 +90,7 @@
<h5>今日会话</h5>
</div>
<div class="panel-content">
<h1 class="no-margins">1234</h1>
<h1 class="no-margins">{$service_num}</h1>
</div>
</div>
</div>
@ -226,13 +226,14 @@
/**
* 报表功能
*/
var echartsRecords = echarts.init(document.getElementById('echarts-records'), 'walden');
var optionRecords = {
tooltip: {
trigger: 'axis'
trigger: 'axis',
},
legend: {
data:['邮件营销','联盟广告','视频广告','直接访问','搜索引擎']
data:['新增客服','新增游客','新增会话']
},
grid: {
left: '3%',
@ -248,36 +249,26 @@
xAxis: {
type: 'category',
boundaryGap: false,
data: ['周一','周二','周三','周四','周五','周六','周日']
data: {$date_list|raw},
},
yAxis: {
type: 'value'
},
series: [
{
name:'邮件营销',
name:'新增客服',
type:'line',
data:[120, 132, 101, 134, 90, 230, 210]
data:{$new_kefu_num|raw}
},
{
name:'联盟广告',
name:'新增游客',
type:'line',
data:[220, 182, 191, 234, 290, 330, 310]
data:{$new_visitor_num|raw}
},
{
name:'视频广告',
name:'新增会话',
type:'line',
data:[150, 232, 201, 154, 190, 330, 410]
},
{
name:'直接访问',
type:'line',
data:[320, 332, 301, 334, 390, 330, 320]
},
{
name:'搜索引擎',
type:'line',
data:[820, 932, 901, 934, 1290, 1330, 1320]
data:{$add_service_num|raw}
}
]
};

View File

@ -43,7 +43,7 @@
<div class="layui-inline">
<label class="layui-form-label">客服姓名</label>
<div class="layui-input-inline">
<input type="text" name="username" autocomplete="off" class="layui-input">
<input type="text" name="name" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline">
@ -65,20 +65,20 @@
</div>
</fieldset>
<div class="layui-btn-group">
<div class="layui-btn-group" style="margin-bottom: 10px;">
<button class="layui-btn data-add-btn">添加</button>
</div>
<table class="layui-hide" id="currentTableId" lay-filter="currentTableFilter"></table>
<script type="text/html" id="currentTableBar">
<a class="layui-btn layui-btn-xs data-count-edit" lay-event="edit">编辑</a>
<a class="layui-btn layui-btn-xs layui-btn-warm" lay-event="savePassword">修改密码</a>
<a class="layui-btn layui-btn-xs layui-btn-danger data-count-delete" lay-event="delete">删除</a>
</script>
</div>
</div>
<!-- 表单弹窗 -->
<!-- 添加弹窗 -->
<script type="text/html" id="modelUser">
<form id="modelUserForm" lay-filter="modelUserForm" class="layui-form model-form" style="padding: 25px 30px 0 0;">
<input name="kf_id" type="hidden"/>
<div class="layui-form-item">
<label class="layui-form-label">客服名</label>
<div class="layui-input-block">
@ -87,7 +87,7 @@
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">客服名</label>
<label class="layui-form-label">密码</label>
<div class="layui-input-block">
<input name="kefu_password" placeholder="请输入客服密码" type="password" class="layui-input" maxlength="20"
lay-verType="tips" lay-verify="required" required/>
@ -95,7 +95,43 @@
</div>
<div class="layui-form-item text-right" style="text-align: right;">
<button class="layui-btn layui-btn-primary" type="button" ew-event="closePageDialog">取消</button>
<button class="layui-btn layui-btn-primary" type="button" id="closePageDialog">取消</button>
<button class="layui-btn" lay-filter="modelSubmitUser" lay-submit>保存</button>
</div>
</form>
</script>
<!-- 修改弹窗 -->
<script type="text/html" id="modelUserUpdate">
<form id="modelUserUpdateForm" lay-filter="modelUserUpdateForm" class="layui-form model-form" style="padding: 25px 30px 0 0;">
<input name="kefu_id" type="hidden"/>
<div class="layui-form-item">
<label class="layui-form-label">客服名</label>
<div class="layui-input-block">
<input name="kefu_name" placeholder="请输入客服名" type="text" class="layui-input" maxlength="20"
lay-verType="tips" lay-verify="required" required/>
</div>
</div>
<div class="layui-form-item text-right" style="text-align: right;">
<button class="layui-btn layui-btn-primary" type="button" id="closePageDialog">取消</button>
<button class="layui-btn" lay-filter="modelSubmitUser" lay-submit>保存</button>
</div>
</form>
</script>
<!-- 更改密码弹出 -->
<script type="text/html" id="savePassword">
<form id="savePasswordFrom" lay-filter="savePasswordFrom" class="layui-form model-form" style="padding: 25px 30px 0 0;">
<input name="kefu_id" type="hidden"/>
<div class="layui-form-item">
<label class="layui-form-label">密码</label>
<div class="layui-input-block">
<input name="password" placeholder="请输入客服密码" type="password" class="layui-input" maxlength="20"
lay-verType="tips" lay-verify="required" required/>
</div>
</div>
<div class="layui-form-item text-right" style="text-align: right;">
<button class="layui-btn layui-btn-primary" type="button" id="closePageDialog">取消</button>
<button class="layui-btn" lay-filter="modelSubmitUser" lay-submit>保存</button>
</div>
</form>
@ -149,19 +185,12 @@
// 监听搜索操作
form.on('submit(data-search-btn)', function (data) {
var result = JSON.stringify(data.field);
layer.alert(result, {
title: '最终的搜索信息'
});
//执行搜索重载
table.reload('currentTableId', {
page: {
curr: 1
}
, where: {
searchParams: result
}
, where: data.field
}, 'data');
return false;
@ -172,42 +201,83 @@
showEditModel();
});
// 监听删除操作
$(".data-delete-btn").on("click", function () {
var checkStatus = table.checkStatus('currentTableId')
, data = checkStatus.data;
layer.alert(JSON.stringify(data));
});
//监听表格复选框选择
table.on('checkbox(currentTableFilter)', function (obj) {
console.log(obj)
});
table.on('tool(currentTableFilter)', function (obj) {
var data = obj.data;
if (obj.event === 'edit') {
layer.alert('编辑行:<br>' + JSON.stringify(data))
showEditModel(data);
} else if (obj.event === 'delete') {
layer.confirm('真的删除行么', function (index) {
obj.del();
layer.close(index);
layer.confirm('确定要删除客服【'+data.kefu_name+'】吗?', function (index) {
layer.load(2);
$.post('/delKefu', {
kid:data.kefu_id
}, function (res) {
layer.closeAll('loading');
if (res.code == 1000) {
layer.msg(res.message, {icon: 1});
table.reload('currentTableId');
layer.close(index);
} else {
layer.msg(res.message, {icon: 2});
layer.close(index);
}
}, 'json');
});
}else if(obj.event === 'savePassword'){
showEditPassWordModel(data);
}
});
// 显示表单弹窗
function showEditModel(mUser) {
layer.open({
type: 1,
title: (mUser ? '修改' : '添加') + '客服',
area: ['500px', '400px'],
content: $('#modelUser').html(),
content:mUser?$('#modelUserUpdate').html():$('#savePassword').html(),
success: function (layero, dIndex) {
$(layero).children('.layui-layer-content').css('overflow', 'visible');
var url = mUser ? '/mer/kefu/updateKefu' : '/mer/kefu/addKefu';
mUser && (mUser.gid = mUser.g_id);
var url = mUser ? '/updateKefu' : '/addKefu';
// 回显数据
form.val('modelUserForm', mUser);
mUser? form.val('modelUserUpdateForm', mUser):'';
// 监听关闭
$("#closePageDialog").on("click", function () {
layer.close(dIndex);
});
// 表单提交事件
form.on('submit(modelSubmitUser)', function (data) {
layer.load(2);
$.post(url, data.field, function (res) {
layer.closeAll('loading');
if (res.code == 1000) {
layer.close(dIndex);
layer.msg(res.message, {icon: 1});
table.reload('currentTableId');
} else {
layer.msg(res.message, {icon: 2});
}
}, 'json');
return false;
});
}
});
}
// 显示修改密码表单弹窗
function showEditPassWordModel(mUser) {
layer.open({
type: 1,
title: '修改密码',
area: ['500px', '400px'],
content:$('#savePassword').html(),
success: function (layero, dIndex) {
$(layero).children('.layui-layer-content').css('overflow', 'visible');
var url = 'resetPassword';
// 回显数据
form.val('savePasswordFrom', mUser);
// 监听关闭
$("#closePageDialog").on("click", function () {
layer.close(dIndex);
});
// 表单提交事件
form.on('submit(modelSubmitUser)', function (data) {
layer.load(2);
@ -216,7 +286,6 @@
if (res.code == 1000) {
layer.close(dIndex);
layer.msg(res.message, {icon: 1});
insTb.reload({}, 'data');
} else {
layer.msg(res.message, {icon: 2});
}

View File

@ -76,35 +76,6 @@
return false;
});
// 监听添加操作
$(".data-add-btn").on("click", function () {
layer.msg('添加数据');
});
// 监听删除操作
$(".data-delete-btn").on("click", function () {
var checkStatus = table.checkStatus('currentTableId')
, data = checkStatus.data;
layer.alert(JSON.stringify(data));
});
//监听表格复选框选择
table.on('checkbox(currentTableFilter)', function (obj) {
console.log(obj)
});
table.on('tool(currentTableFilter)', function (obj) {
var data = obj.data;
if (obj.event === 'edit') {
layer.alert('编辑行:<br>' + JSON.stringify(data))
} else if (obj.event === 'delete') {
layer.confirm('真的删除行么', function (index) {
obj.del();
layer.close(index);
});
}
});
});
</script>
<script>