提交 7fdb397e 编写于 作者: Chatopera 研发团队's avatar Chatopera 研发团队

Closed https://github.com/chatopera/cskefu/issues/456 fix notice not displayed...

Closed https://github.com/chatopera/cskefu/issues/456 fix notice not displayed when login fails, add tips for organ, role, account manangement page
上级 7b1220c6
......@@ -238,6 +238,11 @@ public class LoginController extends Handler {
if (StringUtils.isNotBlank(referer)) {
view.addObject("referer", referer);
}
if (StringUtils.isNotBlank(noticeLoginBanner) && !StringUtils.equalsIgnoreCase(noticeLoginBanner, "off")) {
view.addObject("noticeLoginBanner", noticeLoginBanner);
} else {
view.addObject("noticeLoginBanner", "off");
}
view.addObject("msg", "0");
}
}
......
......@@ -88,6 +88,7 @@ public class OrganController extends Handler {
@RequestMapping("/index")
@Menu(type = "admin", subtype = "organ")
public ModelAndView index(ModelMap map, HttpServletRequest request, @Valid String organ, @Valid String msg) {
Organ currentOrgan = super.getOrgan(request);
List<Organ> organList = organRepository.findByOrgi(super.getOrgi());
map.addAttribute("organList", getOwnOragans(request));
if (organList.size() > 0) {
......@@ -100,7 +101,7 @@ public class OrganController extends Handler {
}
}
} else {
map.addAttribute("organData", organData = super.getOrgan(request));
map.addAttribute("organData", organData = currentOrgan);
}
if (organData != null) {
map.addAttribute(
......@@ -132,6 +133,7 @@ public class OrganController extends Handler {
}
}
map.addAttribute("currentOrgan", currentOrgan);
map.addAttribute("areaList", areaRepository.findByOrgi(super.getOrgi()));
map.addAttribute("roleList", roleRepository.findByOrgi(super.getOrgi()));
map.put("msg", msg);
......
......@@ -74,6 +74,7 @@ public class RoleController extends Handler {
List<Role> roleList = roleRepository.findByOrgiAndOrgan(super.getOrgi(),currentOrgan.getId());
map.addAttribute("roleList", roleList);
map.addAttribute("msg", msg);
map.addAttribute("currentOrgan", currentOrgan);
if (roleList.size() > 0) {
Role roleData = null;
if (StringUtils.isNotBlank(role)) {
......
......@@ -40,6 +40,8 @@ import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
......@@ -74,13 +76,22 @@ public class UsersController extends Handler {
@Autowired
private ExtensionRepository extensionRes;
/**
* 只返回根用户:只属于该部门的非下级部门的用户
* @param map
* @param request
* @return
* @throws IOException
*/
@RequestMapping("/index")
@Menu(type = "admin", subtype = "user")
public ModelAndView index(ModelMap map, HttpServletRequest request) throws IOException {
User logined = super.getUser(request);
Organ currentOrgan = super.getOrgan(request);
ArrayList<String> organs = new ArrayList<>();
organs.add(currentOrgan.getId());
Map<String, Organ> organs = organProxy.findAllOrganByParentAndOrgi(super.getOrgan(request), super.getOrgi(request));
map.addAttribute("userList", userProxy.findUserInOrgans(organs.keySet(), new PageRequest(
map.addAttribute("currentOrgan", currentOrgan);
map.addAttribute("userList", userProxy.findUserInOrgans(organs, new PageRequest(
super.getP(request),
super.getPs(request),
Sort.Direction.ASC,
......
......@@ -67,7 +67,7 @@ public class TemplateController extends Handler{
@Menu(type = "admin" , subtype = "template" , access = false , admin = true)
public void expall(ModelMap map , HttpServletRequest request , HttpServletResponse response) throws Exception {
List<Template> templateList = templateRes.findByOrgi(super.getOrgi(request)) ;
response.setHeader("content-disposition", "attachment;filename=UCKeFu-Template-Export-"+new SimpleDateFormat("yyyy-MM-dd").format(new Date())+".data");
response.setHeader("content-disposition", "attachment;filename=CSKeFu-Template-Export-"+new SimpleDateFormat("yyyy-MM-dd").format(new Date())+".data");
response.getOutputStream().write(MainUtils.toBytes(templateList));
return ;
}
......
......@@ -404,7 +404,7 @@ public class CustomerController extends Handler {
values.add(MainUtils.transBean2Map(customer));
}
response.setHeader("content-disposition", "attachment;filename=UCKeFu-EntCustomer-" + new SimpleDateFormat("yyyy-MM-dd").format(new Date()) + ".xls");
response.setHeader("content-disposition", "attachment;filename=CSKeFu-EntCustomer-" + new SimpleDateFormat("yyyy-MM-dd").format(new Date()) + ".xls");
ExcelExporterProcess excelProcess = new ExcelExporterProcess(values, table, response.getOutputStream());
excelProcess.process();
......@@ -440,7 +440,7 @@ public class CustomerController extends Handler {
values.add(MainUtils.transBean2Map(customer));
}
response.setHeader("content-disposition", "attachment;filename=UCKeFu-EntCustomer-" + new SimpleDateFormat("yyyy-MM-dd").format(new Date()) + ".xls");
response.setHeader("content-disposition", "attachment;filename=CSKeFu-EntCustomer-" + new SimpleDateFormat("yyyy-MM-dd").format(new Date()) + ".xls");
ExcelExporterProcess excelProcess = new ExcelExporterProcess(values, table, response.getOutputStream());
excelProcess.process();
......@@ -475,7 +475,7 @@ public class CustomerController extends Handler {
values.add(MainUtils.transBean2Map(customer));
}
response.setHeader("content-disposition", "attachment;filename=UCKeFu-EntCustomer-" + new SimpleDateFormat("yyyy-MM-dd").format(new Date()) + ".xls");
response.setHeader("content-disposition", "attachment;filename=CSKeFu-EntCustomer-" + new SimpleDateFormat("yyyy-MM-dd").format(new Date()) + ".xls");
ExcelExporterProcess excelProcess = new ExcelExporterProcess(values, table, response.getOutputStream());
excelProcess.process();
......
......@@ -168,7 +168,7 @@ public class AgentSummaryController extends Handler{
values.add(MainUtils.transBean2Map(event)) ;
}
response.setHeader("content-disposition", "attachment;filename=UCKeFu-Summary-History-"+new SimpleDateFormat("yyyy-MM-dd").format(new Date())+".xls");
response.setHeader("content-disposition", "attachment;filename=CSKeFu-Summary-History-"+new SimpleDateFormat("yyyy-MM-dd").format(new Date())+".xls");
ExcelExporterProcess excelProcess = new ExcelExporterProcess( values, table, response.getOutputStream()) ;
excelProcess.process();
......@@ -190,7 +190,7 @@ public class AgentSummaryController extends Handler{
values.add(MainUtils.transBean2Map(statusEvent)) ;
}
response.setHeader("content-disposition", "attachment;filename=UCKeFu-Summary-History-"+new SimpleDateFormat("yyyy-MM-dd").format(new Date())+".xls");
response.setHeader("content-disposition", "attachment;filename=CSKeFu-Summary-History-"+new SimpleDateFormat("yyyy-MM-dd").format(new Date())+".xls");
ExcelExporterProcess excelProcess = new ExcelExporterProcess( values, table, response.getOutputStream()) ;
excelProcess.process();
......@@ -228,7 +228,7 @@ public class AgentSummaryController extends Handler{
values.add(MainUtils.transBean2Map(summary)) ;
}
response.setHeader("content-disposition", "attachment;filename=UCKeFu-Summary-History-"+new SimpleDateFormat("yyyy-MM-dd").format(new Date())+".xls");
response.setHeader("content-disposition", "attachment;filename=CSKeFu-Summary-History-"+new SimpleDateFormat("yyyy-MM-dd").format(new Date())+".xls");
MetadataTable table = metadataRes.findByTablename("uk_servicesummary") ;
......
......@@ -173,7 +173,7 @@ public class ProcessedSummaryController extends Handler {
values.add(MainUtils.transBean2Map(event));
}
response.setHeader("content-disposition", "attachment;filename=UCKeFu-Summary-History-" + new SimpleDateFormat("yyyy-MM-dd").format(new Date()) + ".xls");
response.setHeader("content-disposition", "attachment;filename=CSKeFu-Summary-History-" + new SimpleDateFormat("yyyy-MM-dd").format(new Date()) + ".xls");
ExcelExporterProcess excelProcess = new ExcelExporterProcess(values, table, response.getOutputStream());
excelProcess.process();
......@@ -196,7 +196,7 @@ public class ProcessedSummaryController extends Handler {
values.add(MainUtils.transBean2Map(statusEvent));
}
response.setHeader("content-disposition", "attachment;filename=UCKeFu-Summary-History-" + new SimpleDateFormat("yyyy-MM-dd").format(new Date()) + ".xls");
response.setHeader("content-disposition", "attachment;filename=CSKeFu-Summary-History-" + new SimpleDateFormat("yyyy-MM-dd").format(new Date()) + ".xls");
ExcelExporterProcess excelProcess = new ExcelExporterProcess(values, table, response.getOutputStream());
excelProcess.process();
......@@ -240,7 +240,7 @@ public class ProcessedSummaryController extends Handler {
values.add(MainUtils.transBean2Map(summary));
}
response.setHeader("content-disposition", "attachment;filename=UCKeFu-Summary-History-" + new SimpleDateFormat("yyyy-MM-dd").format(new Date()) + ".xls");
response.setHeader("content-disposition", "attachment;filename=CSKeFu-Summary-History-" + new SimpleDateFormat("yyyy-MM-dd").format(new Date()) + ".xls");
MetadataTable table = metadataRes.findByTablename("uk_servicesummary");
......
......@@ -149,7 +149,7 @@ public class StatsController extends Handler {
}
}
response.setHeader("content-disposition", "attachment;filename=UCKeFu-Report-" + new SimpleDateFormat("yyyy-MM-dd").format(new Date()) + ".xls");
response.setHeader("content-disposition", "attachment;filename=CSKeFu-Report-" + new SimpleDateFormat("yyyy-MM-dd").format(new Date()) + ".xls");
new UKExcelUtil(reportData, response.getOutputStream(), "满意度统计").createFile();
return;
......@@ -208,7 +208,7 @@ public class StatsController extends Handler {
}
mapR.put("orgi", super.getOrgi(request));
ReportData reportData = new CubeService("consult.pug", path, dataSource, mapR).execute("SELECT {[Measures].[咨询数量],[Measures].[平均等待时长(秒)],[Measures].[平均咨询时长(秒)]} on columns , NonEmptyCrossJoin([time].[日期].members , NonEmptyCrossJoin([skill].[技能组].members,[agent].[坐席].members)) on rows FROM [咨询]");
response.setHeader("content-disposition", "attachment;filename=UCKeFu-Report-" + new SimpleDateFormat("yyyy-MM-dd").format(new Date()) + ".xls");
response.setHeader("content-disposition", "attachment;filename=CSKeFu-Report-" + new SimpleDateFormat("yyyy-MM-dd").format(new Date()) + ".xls");
new UKExcelUtil(reportData, response.getOutputStream(), "客服坐席统计").createFile();
return;
}
......
var title = "春松客服-渠道智能客服" ;
var title = "春松客服-渠道智能客服" ;
var socket , newuser = [] , newmessage = [] , ring = [];
newuser['mp3'] = '/images/new.mp3';
newmessage['mp3'] = '/images/message.mp3';
......
......@@ -6,7 +6,7 @@
<!-- META -->
<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>渠道智能客服</title>
<title>渠道智能客服</title>
<!-- 客端演示程序 https://github.com/chatopera/cosin/wiki/春松客服访客端演示 -->
<!-- 系统:客服接入:网站列表:创建新网站 网站地址(localhost) -->
<script defer="true" src="/im/104eac.html"></script>
......@@ -32,7 +32,7 @@
</head>
<body>
<h2>渠道智能客服演示客户端</h2>
<h2>渠道智能客服演示客户端</h2>
<h3>设置网站渠道</h3>
以管理员身份
......
......@@ -50,7 +50,7 @@ block content
.col-lg-8
p 登录页和产品后台页面显示标题
.col-lg-4(style='text-align:right;position: relative;')
input.layui-input(type='text', name='title', value=systemConfig.title ? systemConfig.title: "春松客服-渠道智能客服", autocomplete='off')
input.layui-input(type='text', name='title', value=systemConfig.title ? systemConfig.title: "春松客服-渠道智能客服", autocomplete='off')
.ukefu-webim-prop
.ukefu-webim-tl(style='clear:both;') 登录页欢迎Logo图片
.box-item
......
......@@ -6,7 +6,7 @@ html(xmlns='http://www.w3.org/1999/xhtml', xmlns:th='http://www.thymeleaf.org',
meta(http-equiv='Cache-Control', content='no-siteapp')
meta(name='viewport', content='width=device-width,maximum-scale=1,initial-scale=1,initial-scale=1,user-scalable=no')
meta(name='apple-mobile-web-app-capable', content='yes')
title 春松客服-渠道智能客服
title 春松客服-渠道智能客服
link(rel='shortcut icon', type='image/x-icon', href='/images/favicon.ico?t=1487250759056')
link(rel='stylesheet', href='/js/ztree/zTreeStyle/zTreeStyle.css')
link(rel='stylesheet', href='/css/flexboxgrid.min.css')
......
......@@ -13,7 +13,7 @@ block content
.row(style='height:100%;')
.col-lg-3(style='border-right:1px solid #e6e6e6;padding-right:0px;')
h1.site-h1(style='background-color:#FFFFFF;')
| 组织机构
| #{currentOrgan.name}组织机构
span(style='float:right;')
button.layui-btn.layui-btn-small.green#areaadd(href='/admin/organ/add.html?' + (organData ? 'parent=' + organData.id : ''), data-toggle='ajax', data-height='400', data-width='650', data-title='创建部门')
| 创建部门
......
......@@ -4,7 +4,7 @@ block content
.row(style='height:100%;')
.col-lg-3(style='border-right:1px solid #e6e6e6;padding-right:0px;')
h1.site-h1(style='background-color:#FFFFFF;')
| 角色列表
| #{currentOrgan.name}角色列表
span(style='float:right;')
button.layui-btn.layui-btn-small.green(href='/admin/role/add.html', data-toggle='ajax', data-height='200', data-width='550', data-title='新建角色')
| 新建角色
......
......@@ -4,14 +4,14 @@ block content
.row
.col-lg-12
h1.site-h1(style='background-color:#FFFFFF;')
| 用户列表 (#{userList.totalElements?userList.totalElements:0})
| #{currentOrgan.name}根用户列表 (#{userList.totalElements?userList.totalElements:0})
span(style='float:right')
button.layui-btn.layui-btn-small.green(href='/admin/user/add.html', data-toggle='ajax', data-width='750', data-height='540', data-title='创建新用户')
| 创建新用户
.row(style='padding:5px;')
blockquote.layui-elem-quote.layui-quote-nm
i.layui-icon(style="color:gray") &#xe60b;
font(color="#999").layui-word-aux 除管理员外,账号必须在【组织结构】中关联一个部门,必须在【系统角色】中关联一个角色,才可以使用资源。设置后,该账号需重新登系统才能生效。
font(color="#999").layui-word-aux 直接属于该部门的系统用户,不含下级组织机构的用户;除管理员外,账号必须在【组织结构】中关联一个部门,必须在【系统角色】中关联一个角色,才可以使用资源。设置后,该账号需重新登系统才能生效。
.col-lg-12
table.layui-table(lay-skin='line', style='table-layout: fixed;word-break: break-all')
colgroup
......@@ -75,9 +75,20 @@ block content
i.layui-icon &#xe642;
| 编辑
if !user.admin && user.datastatus != true
a(href='/admin/user/delete.html?id=' + user.id, style="margin-left:10px;" data-toggle="tip" data-title="请确认是否删除记录?")
a(href='/admin/user/delete.html?id=' + user.id, style="margin-left:10px;" data-toggle="tip" data-title="请确认是否删除该系统用户?")
i.layui-icon(style="color:red") &#x1006;
| 删除
else
if models.contains("callcenter")
td(colspan="9", style="height:400px;")
.ukefu-empty(style="background: none;")
i.layui-icon 
div(style="") 还没有系统用户
else
td(colspan="8", style="height:400px;")
.ukefu-empty(style="background: none;")
i.layui-icon 
div(style="") 还没有系统用户
.row(style='padding:5px;')
.col-lg-12#page(style='text-align:center;')
......
......@@ -151,7 +151,7 @@ block content
p(style="color:#888888;font-size:13px;margin-top:10px;") 在访客邀请按钮的坐席分组窗口底部显示的文本内容
.col-lg-4
.layui-input-block
input.layui-input(type="text", name="consult_skill_bottomtitle", value=(inviteData.consult_skill_bottomtitle ? inviteData.consult_skill_bottomtitle : '春松客服渠道智能客服'), autocomplete="off")
input.layui-input(type="text", name="consult_skill_bottomtitle", value=(inviteData.consult_skill_bottomtitle ? inviteData.consult_skill_bottomtitle : '春松客服渠道智能客服'), autocomplete="off")
.row(style="margin-bottom:20px;")
.col-lg-8
p c、最多显示技能组数
......
......@@ -7,7 +7,7 @@ html(xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org" xm
meta(http-equiv="Cache-Control" content="no-siteapp")
meta(name="viewport" content="width=device-width, maximum-scale=1.0, initial-scale=1.0,initial-scale=1.0,user-scalable=no")
meta(name="apple-mobile-web-app-capable" content="yes")
title 春松客服-渠道智能客服
title 春松客服-渠道智能客服
link(rel="shortcut icon" type="image/x-icon" href="/images/favicon.ico?t=1487250759056")
link(rel="stylesheet" href="/js/select/css/select2.min.css")
link(rel="stylesheet" type="text/css" href="/js/kindeditor/themes/default/default.css")
......
......@@ -9,7 +9,7 @@
<meta name="viewport"
content="width=device-width, maximum-scale=1.0, initial-scale=1.0,initial-scale=1.0,user-scalable=no" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<title>春松客服-渠道智能客服</title>
<title>春松客服-渠道智能客服</title>
<link rel="shortcut icon" type="image/x-icon" href="/images/favicon.ico?t=1487250759056"/>
<link rel="stylesheet" href="/js/select/css/select2.min.css"/>
<link rel="stylesheet" type="text/css" href="/js/kindeditor/themes/default/default.css">
......
......@@ -6,7 +6,7 @@ html(xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org" xm
meta(http-equiv="Cache-Control" content="no-siteapp")
meta(name="viewport" content="width=device-width, maximum-scale=1.0, initial-scale=1.0,initial-scale=1.0,user-scalable=no")
meta(name="apple-mobile-web-app-capable" content="yes")
title= systemConfig.title ? systemConfig.title : '春松客服 | 渠道智能客服_联络中心'
title= systemConfig.title ? systemConfig.title : '春松客服 | 渠道智能客服_联络中心'
if systemConfig && systemConfig.favlogo
link(rel="shortcut icon" type="image/x-icon" href='/res/image.html?id=' + systemConfig.favlogo)
else
......
......@@ -6,7 +6,7 @@ html
meta(http-equiv="Cache-Control" content="no-siteapp")
meta(name="viewport" content="width=device-width, maximum-scale=1.0, initial-scale=1.0,initial-scale=1.0,user-scalable=no")
meta(name="apple-mobile-web-app-capable" content="yes")
title= systemConfig.title ? systemConfig.title : '春松客服 | 渠道智能客服_联络中心'
title= systemConfig.title ? systemConfig.title : '春松客服 | 渠道智能客服_联络中心'
if systemConfig.favlogo
link(rel="shortcut icon" type="image/x-icon" href='/res/image.html?id=' + systemConfig.favlogo)
else
......@@ -83,5 +83,5 @@ html
p.btm-text
| 还没有账号?
a(href="/register.html") 注册新账号
div(style="text-align: center;"): a(style="display: inline-block;color: #C7C6C6;text-decoration: none;cursor: pointer;", href="https://www.cskefu.com", target="_blank") Powered by CSKeFu
......@@ -6,7 +6,7 @@ html
meta(http-equiv='Cache-Control', content='no-siteapp')
meta(name='viewport', content='width=device-width,maximum-scale=1,initial-scale=1,initial-scale=1,user-scalable=no')
meta(name='apple-mobile-web-app-capable', content='yes')
title=systemConfig && systemConfig.title && systemConfig.title != '' ? systemConfig.title : '春松客服 | 渠道智能客服_联络中心'
title=systemConfig && systemConfig.title && systemConfig.title != '' ? systemConfig.title : '春松客服 | 渠道智能客服_联络中心'
if systemConfig.favlogo
link(rel="shortcut icon" type="image/x-icon" href='/res/image.html?id=' + systemConfig.favlogo)
else
......
......@@ -7829,7 +7829,7 @@ CREATE TABLE `uk_systemconfig` (
-- Records of uk_systemconfig
-- ----------------------------
BEGIN;
INSERT INTO `uk_systemconfig` VALUES ('2c93809364e0a6d00164ef6722270582', NULL, '春松客服-渠道智能客服', NULL, 'cskefu', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '4028cac3614cd2f901614cf8be1f0324', '2018-07-31 08:14:30', NULL, NULL, NULL, NULL, NULL, '01', 'info', 0, NULL, NULL, '', 0, 0, '', '', '', '', '', '', NULL, 0, 0, 0, 0, '', '', NULL, NULL, '', '', NULL, 0, 0, NULL, NULL, NULL, 0, '', NULL, 0, 0, '租户', 0, 0, NULL, NULL, NULL);
INSERT INTO `uk_systemconfig` VALUES ('2c93809364e0a6d00164ef6722270582', NULL, '春松客服-渠道智能客服', NULL, 'cskefu', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '4028cac3614cd2f901614cf8be1f0324', '2018-07-31 08:14:30', NULL, NULL, NULL, NULL, NULL, '01', 'info', 0, NULL, NULL, '', 0, 0, '', '', '', '', '', '', NULL, 0, 0, 0, 0, '', '', NULL, NULL, '', '', NULL, 0, 0, NULL, NULL, NULL, 0, '', NULL, 0, 0, '租户', 0, 0, NULL, NULL, NULL);
COMMIT;
-- ----------------------------
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册