Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
qiangwayu9962
cskefu
提交
7b1220c6
C
cskefu
项目概览
qiangwayu9962
/
cskefu
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
cskefu
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
7b1220c6
编写于
8月 08, 2021
作者:
Chatopera 研发团队
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
https://github.com/chatopera/cskefu/issues/457
enhance organ, role info display
上级
b83eceb0
变更
12
隐藏空白更改
内联
并排
Showing
12 changed file
with
155 addition
and
34 deletion
+155
-34
contact-center/app/src/main/java/com/chatopera/cc/controller/admin/OrganController.java
...va/com/chatopera/cc/controller/admin/OrganController.java
+24
-0
contact-center/app/src/main/java/com/chatopera/cc/model/User.java
...center/app/src/main/java/com/chatopera/cc/model/User.java
+29
-6
contact-center/app/src/main/java/com/chatopera/cc/util/json/GsonTools.java
...p/src/main/java/com/chatopera/cc/util/json/GsonTools.java
+8
-0
contact-center/app/src/main/resources/application.properties
contact-center/app/src/main/resources/application.properties
+1
-1
contact-center/app/src/main/resources/banner.txt
contact-center/app/src/main/resources/banner.txt
+4
-0
contact-center/app/src/main/resources/static/im/css/ukefu.css
...act-center/app/src/main/resources/static/im/css/ukefu.css
+1
-1
contact-center/app/src/main/resources/templates/admin/organ/index.pug
...er/app/src/main/resources/templates/admin/organ/index.pug
+55
-2
contact-center/app/src/main/resources/templates/admin/role/index.pug
...ter/app/src/main/resources/templates/admin/role/index.pug
+12
-2
contact-center/app/src/main/resources/templates/apps/im/chatbot/index.pug
...pp/src/main/resources/templates/apps/im/chatbot/index.pug
+8
-9
contact-center/app/src/main/resources/templates/apps/im/index.pug
...center/app/src/main/resources/templates/apps/im/index.pug
+7
-12
contact-center/app/src/main/resources/templates/apps/index.pug
...ct-center/app/src/main/resources/templates/apps/index.pug
+3
-1
contact-center/app/src/main/resources/templates/login.pug
contact-center/app/src/main/resources/templates/login.pug
+3
-0
未找到文件。
contact-center/app/src/main/java/com/chatopera/cc/controller/admin/OrganController.java
浏览文件 @
7b1220c6
...
@@ -16,6 +16,7 @@
...
@@ -16,6 +16,7 @@
*/
*/
package
com.chatopera.cc.controller.admin
;
package
com.chatopera.cc.controller.admin
;
import
com.alibaba.fastjson.JSONArray
;
import
com.chatopera.cc.basic.Constants
;
import
com.chatopera.cc.basic.Constants
;
import
com.chatopera.cc.cache.Cache
;
import
com.chatopera.cc.cache.Cache
;
import
com.chatopera.cc.controller.Handler
;
import
com.chatopera.cc.controller.Handler
;
...
@@ -24,6 +25,7 @@ import com.chatopera.cc.persistence.repository.*;
...
@@ -24,6 +25,7 @@ import com.chatopera.cc.persistence.repository.*;
import
com.chatopera.cc.proxy.OrganProxy
;
import
com.chatopera.cc.proxy.OrganProxy
;
import
com.chatopera.cc.proxy.UserProxy
;
import
com.chatopera.cc.proxy.UserProxy
;
import
com.chatopera.cc.util.Menu
;
import
com.chatopera.cc.util.Menu
;
import
com.chatopera.cc.util.json.GsonTools
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
...
@@ -106,6 +108,28 @@ public class OrganController extends Handler {
...
@@ -106,6 +108,28 @@ public class OrganController extends Handler {
organData
.
getId
(),
organData
.
getId
(),
super
.
getOrgi
(),
super
.
getOrgi
(),
false
));
false
));
// 处理附属组织
final
Map
<
String
,
Organ
>
affiliates
=
organProxy
.
findAllOrganByParentAndOrgi
(
organData
,
super
.
getOrgi
());
List
<
User
>
affiliateUsers
=
new
ArrayList
<>();
for
(
final
Map
.
Entry
<
String
,
Organ
>
o
:
affiliates
.
entrySet
())
{
if
(
StringUtils
.
equals
(
o
.
getKey
(),
organData
.
getId
()))
continue
;
List
<
User
>
ousers
=
userProxy
.
findByOrganAndOrgiAndDatastatus
(
o
.
getKey
(),
super
.
getOrgi
(),
false
);
if
(
ousers
!=
null
&&
ousers
.
size
()
>
0
)
{
for
(
User
u
:
ousers
)
{
u
.
setCurrOrganId
(
o
.
getKey
());
u
.
setCurrOrganName
(
o
.
getValue
().
getName
());
// copy an object to avoid modify multi times
affiliateUsers
.
add
(
GsonTools
.
copyObject
(
u
));
}
}
}
map
.
addAttribute
(
"affiliateUsers"
,
affiliateUsers
);
}
}
}
}
map
.
addAttribute
(
"areaList"
,
areaRepository
.
findByOrgi
(
super
.
getOrgi
()));
map
.
addAttribute
(
"areaList"
,
areaRepository
.
findByOrgi
(
super
.
getOrgi
()));
...
...
contact-center/app/src/main/java/com/chatopera/cc/model/User.java
浏览文件 @
7b1220c6
...
@@ -32,6 +32,13 @@ import java.util.*;
...
@@ -32,6 +32,13 @@ import java.util.*;
public
class
User
implements
java
.
io
.
Serializable
{
public
class
User
implements
java
.
io
.
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
private
static
final
long
serialVersionUID
=
1L
;
public
User
()
{
}
public
User
(
String
id
)
{
this
.
id
=
id
;
}
@Id
@Id
private
String
id
;
private
String
id
;
...
@@ -110,13 +117,11 @@ public class User implements java.io.Serializable {
...
@@ -110,13 +117,11 @@ public class User implements java.io.Serializable {
// 角色的权限
// 角色的权限
private
Map
<
String
,
Object
>
roleAuthMap
=
new
HashMap
<
String
,
Object
>();
private
Map
<
String
,
Object
>
roleAuthMap
=
new
HashMap
<
String
,
Object
>();
public
User
()
{
@Transient
}
private
String
currOrganId
;
// 短时使用:浏览到该用户时,打开到组织 ID
public
User
(
String
id
)
{
this
.
id
=
id
;
}
@Transient
private
String
currOrganName
;
// 短时使用:浏览到该用户时,打开到组织名
/**
/**
* @return the id
* @return the id
...
@@ -556,4 +561,22 @@ public class User implements java.io.Serializable {
...
@@ -556,4 +561,22 @@ public class User implements java.io.Serializable {
public
void
setExtension
(
Extension
extension
)
{
public
void
setExtension
(
Extension
extension
)
{
this
.
extension
=
extension
;
this
.
extension
=
extension
;
}
}
@Transient
public
String
getCurrOrganId
()
{
return
currOrganId
;
}
public
void
setCurrOrganId
(
String
currOrganId
)
{
this
.
currOrganId
=
currOrganId
;
}
@Transient
public
String
getCurrOrganName
()
{
return
currOrganName
;
}
public
void
setCurrOrganName
(
String
currOrganName
)
{
this
.
currOrganName
=
currOrganName
;
}
}
}
contact-center/app/src/main/java/com/chatopera/cc/util/json/GsonTools.java
浏览文件 @
7b1220c6
...
@@ -17,6 +17,7 @@ package com.chatopera.cc.util.json;
...
@@ -17,6 +17,7 @@ package com.chatopera.cc.util.json;
import
com.google.gson.*
;
import
com.google.gson.*
;
import
java.lang.reflect.Type
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -27,6 +28,13 @@ public class GsonTools {
...
@@ -27,6 +28,13 @@ public class GsonTools {
THROW_EXCEPTION
,
PREFER_FIRST_OBJ
,
PREFER_SECOND_OBJ
,
PREFER_NON_NULL
;
THROW_EXCEPTION
,
PREFER_FIRST_OBJ
,
PREFER_SECOND_OBJ
,
PREFER_NON_NULL
;
}
}
public
static
<
T
>
T
copyObject
(
Object
object
){
Gson
gson
=
new
Gson
();
JsonObject
jsonObject
=
gson
.
toJsonTree
(
object
).
getAsJsonObject
();
return
gson
.
fromJson
(
jsonObject
,(
Type
)
object
.
getClass
());
}
/**
/**
* 将Java POJO 转化为 JSON
* 将Java POJO 转化为 JSON
*
*
...
...
contact-center/app/src/main/resources/application.properties
浏览文件 @
7b1220c6
...
@@ -228,4 +228,4 @@ channel.skype.crm=
...
@@ -228,4 +228,4 @@ channel.skype.crm=
# Miscs
# Miscs
##############################################
##############################################
# 登陆页面公告
# 登陆页面公告
notice.login.banner
=
商务洽谈、售后技术支持和云服务发票等 https://dwz.chatopera.com/A51h6m *本提示仅出现于演环境
notice.login.banner
=
商务洽谈、技术支持等联系方式查看 https://dwz.chatopera.com/A51h6m *本提示仅出现于演示环境
\ No newline at end of file
\ No newline at end of file
contact-center/app/src/main/resources/banner.txt
浏览文件 @
7b1220c6
...
@@ -8,6 +8,7 @@
...
@@ -8,6 +8,7 @@
春松客服: 越是重视客户服务,越是好的企业 v${git.build.version} build ${git.commit.id.abbrev}
春松客服: 越是重视客户服务,越是好的企业 v${git.build.version} build ${git.commit.id.abbrev}
版权所有 © 北京华夏春松科技有限公司️ https://www.chatopera.com/
版权所有 © 北京华夏春松科技有限公司️ https://www.chatopera.com/
商业许可授权联系商务顾问 https://dwz.chatopera.com/A51h6m
商业许可授权联系商务顾问 https://dwz.chatopera.com/A51h6m
春松客服博客专栏 https://blog.chatopera.com/
第一次安装后,参考系统初始化文档,对系统进行初始化,再使用!!!
第一次安装后,参考系统初始化文档,对系统进行初始化,再使用!!!
https://docs.chatopera.com/products/cskefu/initialization.html
https://docs.chatopera.com/products/cskefu/initialization.html
...
@@ -20,4 +21,7 @@ https://docs.chatopera.com/products/cskefu/osc/training.html
...
@@ -20,4 +21,7 @@ https://docs.chatopera.com/products/cskefu/osc/training.html
开源社区反馈建议& 提交 BUG
开源社区反馈建议& 提交 BUG
https://github.com/chatopera/cskefu/issues
https://github.com/chatopera/cskefu/issues
鼓励我们不断的优化春松客服,给春松客服点赞
https://github.com/chatopera/cskefu/stargazers
----------------------------------------------------------------
----------------------------------------------------------------
\ No newline at end of file
contact-center/app/src/main/resources/static/im/css/ukefu.css
浏览文件 @
7b1220c6
...
@@ -558,7 +558,7 @@ p.submitBtnWrap {
...
@@ -558,7 +558,7 @@ p.submitBtnWrap {
vertical-align
:
top
;
vertical-align
:
top
;
}
}
.chat-bottom
.send-btn
{
.chat-bottom
.send-btn
{
width
:
96
px
;
width
:
120
px
;
height
:
34px
;
height
:
34px
;
float
:
right
;
float
:
right
;
background-color
:
#e7e1d3
;
background-color
:
#e7e1d3
;
...
...
contact-center/app/src/main/resources/templates/admin/organ/index.pug
浏览文件 @
7b1220c6
...
@@ -39,8 +39,11 @@ block content
...
@@ -39,8 +39,11 @@ block content
| 修改部门
| 修改部门
button.layui-btn.layui-btn-danger.layui-btn-small(href="/admin/organ/delete.html?id=" + organData.id, data-toggle="tip", data-title="请确认是否删除该部门?")
button.layui-btn.layui-btn-danger.layui-btn-small(href="/admin/organ/delete.html?id=" + organData.id, data-toggle="tip", data-title="请确认是否删除该部门?")
| 删除部门
| 删除部门
// 展示部门根用户
.row(style='padding:5px;')
.row(style='padding:5px;')
.col-lg-12
.col-lg-12
blockquote.layui-elem-quote 部门根用户
table.layui-table(lay-skin='line')
table.layui-table(lay-skin='line')
colgroup
colgroup
col(width='30%')
col(width='30%')
...
@@ -57,7 +60,7 @@ block content
...
@@ -57,7 +60,7 @@ block content
th 手机
th 手机
th(style='white-space:nowrap;', nowrap) 操作
th(style='white-space:nowrap;', nowrap) 操作
tbody(style='table-layout: fixed; word-break: break-all;')
tbody(style='table-layout: fixed; word-break: break-all;')
if
userList
if
size(userList) > 0
for organUser in userList
for organUser in userList
tr
tr
td(style="width:150px;")
td(style="width:150px;")
...
@@ -67,11 +70,61 @@ block content
...
@@ -67,11 +70,61 @@ block content
td= organUser.email
td= organUser.email
td= organUser.mobile
td= organUser.mobile
td(style="white-space: nowrap;")
td(style="white-space: nowrap;")
a(href="/admin/organ/user/delete.html?id=" + organUser.id + "&organ=" + organData.id, data-toggle="tip", data-title="请确认是否从
坐席组中移除坐席
?")
a(href="/admin/organ/user/delete.html?id=" + organUser.id + "&organ=" + organData.id, data-toggle="tip", data-title="请确认是否从
部门【#{organData.name}】中移除用户【#{organUser.username}】
?")
i.layui-icon(style="color:red;") ဆ
i.layui-icon(style="color:red;") ဆ
| 移除
| 移除
else
td(colspan="5", style="height:170px;")
.ukefu-empty(style="background: none;")
i.layui-icon
div(style="") 还没有部门根用户
.row(style='padding:5px;')
.row(style='padding:5px;')
.col-lg-12#page(style='text-align:center;')
.col-lg-12#page(style='text-align:center;')
// 展示部门附属的用户
hr
.row(style='padding:5px;')
.col-lg-12
blockquote.layui-elem-quote 附属部门用户
table.layui-table(lay-skin='line')
colgroup
col(width='15%')
col(width='15%')
col(width='15%')
col(width='20%')
col(width='20%')
col(width='1%')
col
thead
tr
th 部门
th 用户
th 姓名
th 电子邮件
th 手机
th(style='white-space:nowrap;', nowrap) 操作
tbody(style='table-layout: fixed; word-break: break-all;')
if size(affiliateUsers) > 0
for organUser in affiliateUsers
tr
td(style="width:100px;")= organUser.currOrganName
td(style="width:100px;")
a(href="")
| #{organUser.username}
td(style="width: 100px")= organUser.uname
td= organUser.email
td= organUser.mobile
td(style="white-space: nowrap;")
a(href="/admin/organ/user/delete.html?id=" + organUser.id + "&organ=" + organUser.currOrganId, data-toggle="tip", data-title="请确认是否从部门【#{organUser.currOrganName}】中移除用户【#{organUser.username}】?")
i.layui-icon(style="color:red;") ဆ
| 移除
else
td(colspan="5", style="height:170px;")
.ukefu-empty(style="background: none;")
i.layui-icon
div(style="") 还没有附属部门用户
script(type='text/javascript').
script(type='text/javascript').
var setting = {
var setting = {
data: {simpleData: {enable: true}},
data: {simpleData: {enable: true}},
...
...
contact-center/app/src/main/resources/templates/admin/role/index.pug
浏览文件 @
7b1220c6
...
@@ -11,19 +11,23 @@ block content
...
@@ -11,19 +11,23 @@ block content
.row(style='padding:5px;')
.row(style='padding:5px;')
.col-lg-12
.col-lg-12
ul
ul
if
roleList
if
size(roleList) > 0
for role in roleList
for role in roleList
li.uk_role(class={'this': roleData.id == role.id})
li.uk_role(class={'this': roleData.id == role.id})
a(href="/admin/role/index.html?role=" + role.id, style="word-wrap: break-word;word-break: break-all;")
a(href="/admin/role/index.html?role=" + role.id, style="word-wrap: break-word;word-break: break-all;")
i.kfont(style="margin-top: 3px;float: left") 
i.kfont(style="margin-top: 3px;float: left") 
| #{role.name}
| #{role.name}
else
.ukefu-empty(style="background: none;")
i.layui-icon
div(style="") 还没有角色
.col-lg-9
.col-lg-9
h1.site-h1(style='background-color:#FFFFFF;')
h1.site-h1(style='background-color:#FFFFFF;')
span(style='width:200px;display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-wrap: break-word;word-break: break-all;')
span(style='width:200px;display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-wrap: break-word;word-break: break-all;')
if roleData
if roleData
| #{roleData.name}
| #{roleData.name}
else
else
|
坐席组
|
角色用户
if userList
if userList
| (#{userList.size()})
| (#{userList.size()})
span(style='float:right;')
span(style='float:right;')
...
@@ -71,6 +75,12 @@ block content
...
@@ -71,6 +75,12 @@ block content
a(href="/admin/role/user/delete.html?id=" + userRole.id + "&role=" + userRole.role.id, data-toggle="tip", data-title="请确认是否移除?")
a(href="/admin/role/user/delete.html?id=" + userRole.id + "&role=" + userRole.role.id, data-toggle="tip", data-title="请确认是否移除?")
i.layui-icon(style="color:red;") ဆ
i.layui-icon(style="color:red;") ဆ
| 移除
| 移除
else
td(colspan="5", style="height: 400px;")
.ukefu-empty(style="background: none;")
i.layui-icon
div(style="") 还没有系统用户
.row(style='padding:5px;')
.row(style='padding:5px;')
.col-lg-12#page(style='text-align:center;')
.col-lg-12#page(style='text-align:center;')
script.
script.
...
...
contact-center/app/src/main/resources/templates/apps/im/chatbot/index.pug
浏览文件 @
7b1220c6
...
@@ -45,22 +45,21 @@ html
...
@@ -45,22 +45,21 @@ html
var count = this.count()
var count = this.count()
var limitNum = #{ inviteData.maxwordsnum > 0 ? inviteData.maxwordsnum : 300}; //设定限制字数
var limitNum = #{ inviteData.maxwordsnum > 0 ? inviteData.maxwordsnum : 300}; //设定限制字数
var pattern = '还可以输入' + limitNum + '字';
var strValue = this.html();
var strValue = this.html();
if (count > limitNum) {
if (count > limitNum) {
pattern = ('字数超过限制,请适当删除部分内容');
// 超过字数限制自动截取
//超过字数限制自动截取
strValue = strValue.substring(0, limitNum);
strValue = strValue.substring(0, limitNum);
editor.html(strValue);
editor.html(strValue);
document.getElementById('sent').innerHTML = "发送(" + limitNum + "/" + limitNum + ")"; //输入显示
} else {
} else {
//计算剩余字数
//
计算剩余字数
var result = limitNum - this.count();
var result = limitNum - this.count();
pattern = '还可以输入' + result + '字';
if (result < 20) {
if (result < 20) {
document.getElementById('s
urplus
').style.color = "red";
document.getElementById('s
ent
').style.color = "red";
} else {
} else {
document.getElementById('s
urplus').style.color = "#000000
";
document.getElementById('s
ent').style.color = "#fff
";
}
}
document.getElementById('sent').innerHTML = "发送(" + count + "/" + limitNum + ")"; //输入显示
}
}
if (this.count("text") == 0) {
if (this.count("text") == 0) {
strValue = "";
strValue = "";
...
@@ -78,7 +77,7 @@ html
...
@@ -78,7 +77,7 @@ html
// }
// }
words = this.count("text");
words = this.count("text");
document.getElementById('surplus').innerHTML = count + "/" + limitNum + " , " + pattern; //输入显示
},
},
afterCreate: function () { //设置编辑器创建后执行的回调函数
afterCreate: function () { //设置编辑器创建后执行的回调函数
var self = this;
var self = this;
...
@@ -365,7 +364,7 @@ html
...
@@ -365,7 +364,7 @@ html
.chat-bottom#bottom
.chat-bottom#bottom
textarea#message(name='content', style='visibility:hidden;')
textarea#message(name='content', style='visibility:hidden;')
.btn-push.clearfix
.btn-push.clearfix
#surplus(style='float:left;height:34px;line-height:34px;margin: 10px 20px 10px 5px;')
0/200
#surplus(style='float:left;height:34px;line-height:34px;margin: 10px 20px 10px 5px;')
: a(style="color: #C7C6C6;text-decoration: none;cursor: pointer;", href="https://www.cskefu.com", target="_blank") 春松客服提供客服软件支持
button.send-btn.active.special.clearfix#sent(type='button', onclick='sendMessage()') 发送
button.send-btn.active.special.clearfix#sent(type='button', onclick='sendMessage()') 发送
.content-rig
.content-rig
...
...
contact-center/app/src/main/resources/templates/apps/im/index.pug
浏览文件 @
7b1220c6
...
@@ -62,24 +62,21 @@ html
...
@@ -62,24 +62,21 @@ html
var count = this.count() - imgnumber;
var count = this.count() - imgnumber;
var limitNum = #{ inviteData.maxwordsnum > 0 ? inviteData.maxwordsnum : 300}; //设定限制字数
var limitNum = #{ inviteData.maxwordsnum > 0 ? inviteData.maxwordsnum : 300}; //设定限制字数
var pattern = '还可以输入' + (limitNum - imgnumber) + '字';
var strValue = this.html();
var strValue = this.html();
if (count > limitNum) {
if (count > limitNum) {
// pattern = ('字数超过限制,请适当删除部分内容');
// 超过字数限制自动截取
pattern = '还可以输入' + (limitNum - count) + '字';
console.log(count)
//超过字数限制自动截取
strValue = strValue.substring(0, limitNum + imgnumber);
strValue = strValue.substring(0, limitNum + imgnumber);
editor.html(strValue);
editor.html(strValue);
document.getElementById('sent').innerHTML = "发送(" + limitNum + "/" + limitNum + ")"; //输入显示
} else {
} else {
//计算剩余字数
//
计算剩余字数
var result = limitNum - count;
var result = limitNum - count;
pattern = '还可以输入' + result + '字';
if (result < 20) {
if (result < 20) {
document.getElementById('s
urplus
').style.color = "red";
document.getElementById('s
ent
').style.color = "red";
} else {
} else {
document.getElementById('s
urplus').style.color = "#000000
";
document.getElementById('s
ent').style.color = "#fff
";
}
}
document.getElementById('sent').innerHTML = "发送(" + count + "/" + limitNum + ")"; //输入显示
}
}
if (this.count("text") == 0) {
if (this.count("text") == 0) {
strValue = "";
strValue = "";
...
@@ -95,8 +92,6 @@ html
...
@@ -95,8 +92,6 @@ html
});
});
}
}
words = this.count("text");
words = this.count("text");
document.getElementById('surplus').innerHTML = count + "/" + limitNum + " , " + pattern; //输入显示
},
},
afterCreate: function () { //设置编辑器创建后执行的回调函数
afterCreate: function () { //设置编辑器创建后执行的回调函数
var self = this;
var self = this;
...
@@ -411,7 +406,7 @@ html
...
@@ -411,7 +406,7 @@ html
.chat-bottom#bottom
.chat-bottom#bottom
textarea#message(name='content', style='visibility:hidden;')
textarea#message(name='content', style='visibility:hidden;')
.btn-push.clearfix
.btn-push.clearfix
#surplus(style='float:left;height:34px;line-height:34px;margin: 10px 20px 10px 5px;')
0/200
#surplus(style='float:left;height:34px;line-height:34px;margin: 10px 20px 10px 5px;')
: a(style="color: #C7C6C6;text-decoration: none;cursor: pointer;", href="https://www.cskefu.com", target="_blank") 春松客服提供客服软件支持
button.send-btn.active.special.clearfix#sent(type='button', onclick='sendMessage()') 发送
button.send-btn.active.special.clearfix#sent(type='button', onclick='sendMessage()') 发送
.content-rig
.content-rig
...
...
contact-center/app/src/main/resources/templates/apps/index.pug
浏览文件 @
7b1220c6
...
@@ -336,7 +336,9 @@ html(xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org" xm
...
@@ -336,7 +336,9 @@ html(xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org" xm
}
}
});
});
});
});
console.log("新的转机和闪闪星斗/正在缀满没有遮拦的天空\\n春松客服,开源的智能客服系统 https://github.com/chatopera/cosin")
console.info("春松客服:越是重视客户服务,越是好的企业 https://www.cskefu.com/")
console.info(" * 鼓励我们不断的优化春松客服,给春松客服点赞 https://github.com/chatopera/cskefu/stargazers");
console.info(" * 商务洽谈、技术支持等联系方式查看 https://dwz.chatopera.com/A51h6m");
if webrtc
if webrtc
script.
script.
// 呼叫中心连接信息
// 呼叫中心连接信息
...
...
contact-center/app/src/main/resources/templates/login.pug
浏览文件 @
7b1220c6
...
@@ -40,6 +40,9 @@ html
...
@@ -40,6 +40,9 @@ html
if (uid) {
if (uid) {
document.getElementById("username").value = uid;
document.getElementById("username").value = uid;
}
}
console.info("春松客服:越是重视客户服务,越是好的企业 https://www.cskefu.com/")
console.info(" * 鼓励我们不断的优化春松客服,给春松客服点赞 https://github.com/chatopera/cskefu/stargazers");
console.info(" * 商务洽谈、技术支持等联系方式查看 https://dwz.chatopera.com/A51h6m");
}
}
if ('#{tongjiBaiduSiteKey}') {
if ('#{tongjiBaiduSiteKey}') {
var _hmt = _hmt || [];
var _hmt = _hmt || [];
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录