mirror of
https://gitee.com/zhc02/timely_service.git
synced 2025-07-10 10:39:55 +08:00
后台页面
This commit is contained in:
parent
ccf6656ad7
commit
35d233d6f3
@ -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}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
@ -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});
|
||||
}
|
||||
|
@ -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>
|
||||
|
Loading…
x
Reference in New Issue
Block a user