Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
company_app
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
毛细亚
company_app
Commits
166643d7
提交
166643d7
authored
8月 06, 2025
作者:
施汉文
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
🐞
fix: 修改了弹框滚动,以及一些线上报错问题
上级
963caaf8
全部展开
显示空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
113 行增加
和
178 行删除
+113
-178
index.scss
src/styles/index.scss
+6
-0
addUser.vue
src/views/components/bindGameAccount/addUser.vue
+63
-137
searchUser.vue
src/views/components/order/searchUser.vue
+35
-39
report.vue
src/views/components/roleInfo/report.vue
+0
-0
uesrTask.vue
src/views/components/taskList/uesrTask.vue
+0
-0
newLogin.vue
src/views/newLogin.vue
+9
-2
没有找到文件。
src/styles/index.scss
浏览文件 @
166643d7
...
...
@@ -852,3 +852,8 @@ li {
.el-input__icon
{
line-height
:
1
;
}
//弹框内容超出显示滚动
.el-message-box__message
{
max-height
:
500px
!
important
;
overflow-y
:
auto
!
important
;
}
\ No newline at end of file
src/views/components/bindGameAccount/addUser.vue
浏览文件 @
166643d7
<
template
>
<el-drawer
title=
"新增关联账号"
:visible=
"show"
size=
"360px"
:append-to-body=
"true"
@
close=
"close"
>
<el-drawer
title=
"新增关联账号"
:visible=
"show"
size=
"360px"
:append-to-body=
"true"
@
close=
"close"
>
<div
class=
"content"
>
<el-form
ref=
"form"
:model=
"form"
label-position=
"top"
:rules=
"rules"
label-width=
"120px"
>
<el-form
ref=
"form"
:model=
"form"
label-position=
"top"
:rules=
"rules"
label-width=
"120px"
>
<div
class=
"inputContent"
>
<el-form-item
label=
"请输入w账号"
prop=
"username"
>
<el-input
v-model
.
trim=
"form.username"
placeholder=
"请输入w账号"
class=
"input-with-select"
>
<el-form-item
label=
"请输入w账号"
prop=
"username"
>
<el-input
v-model
.
trim=
"form.username"
placeholder=
"请输入w账号"
class=
"input-with-select"
>
</el-input>
</el-form-item>
<el-form-item
label=
"请输入主游戏名"
prop=
"main_game_id"
>
<el-select
v-model=
"form.main_game_id"
filterable
remote
clearable
reserve-keyword
placeholder=
"请输入主游戏名"
style=
"width: 100%;"
:remote-method=
"remoteMethod"
:loading=
"loading"
@
focus=
"gameNameList=optionsList"
>
<el-option
v-for=
"item in gameNameList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
<el-form-item
label=
"请输入主游戏名"
prop=
"main_game_id"
>
<el-select
v-model=
"form.main_game_id"
filterable
remote
clearable
reserve-keyword
placeholder=
"请输入主游戏名"
style=
"width: 100%;"
:remote-method=
"remoteMethod"
:loading=
"loading"
@
focus=
"gameNameList = optionsList"
>
<el-option
v-for=
"item in gameNameList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"请输入区服"
prop=
"server_info"
>
<el-select
v-model
.
trim=
"form.server_info"
filterable
remote
:disabled=
"form.main_game_id==''"
clearable
style=
"width: 100%;"
reserve-keyword
placeholder=
"请先选择主游戏"
:remote-method=
"remoteMethodServer"
:loading=
"loading"
>
<el-option
v-for=
"item in serverNameList"
:key=
"item.id"
:label=
"item.label"
:value=
"item.value"
>
<el-form-item
label=
"请输入区服"
prop=
"server_info"
>
<el-select
v-model
.
trim=
"form.server_info"
filterable
remote
:disabled=
"form.main_game_id == ''"
clearable
style=
"width: 100%;"
reserve-keyword
placeholder=
"请先选择主游戏"
:remote-method=
"remoteMethodServer"
:loading=
"loading"
>
<el-option
v-for=
"item in serverNameList"
:key=
"item.id"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"请输入角色名"
prop=
"role_name"
>
<el-input
v-model
.
trim=
"form.role_name"
placeholder=
"请输入角色"
class=
"input-with-select"
>
<el-form-item
label=
"请输入角色名"
prop=
"role_name"
>
<el-input
v-model
.
trim=
"form.role_name"
placeholder=
"请输入角色"
class=
"input-with-select"
>
</el-input>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
size=
"small"
@
click=
"onSubmit"
>
搜索
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"onSubmit"
>
搜索
</el-button>
</el-form-item>
</div>
</el-form>
...
...
@@ -100,24 +35,16 @@
<div
class=
"bind-account-title"
>
账号列表
</div>
<userTable
:list=
"tableList"
@
checkedTag=
"checkedTag"
/>
<userTable
:list=
"tableList"
@
checkedTag=
"checkedTag"
/>
</div>
<!--
<div
class=
"line"
></div>
w92865226508-->
<div
v-if=
"userDetails.username"
class=
"account_select_userInfo"
>
<div
v-if=
"userDetails.username"
class=
"account_select_userInfo"
>
<div
class=
"bind-account-title"
style=
"margin-top: 20px;"
>
账号详情
</div>
<div
class=
"item rowFlex columnCenter"
><span
class=
"label"
>
账号
</span>
<p
class=
"text"
>
{{
userDetails
.
username
}}
</p>
<span
v-if=
"userDetails.account_type==2"
class=
"account_type"
>
内
</span>
<p
class=
"text"
>
{{
userDetails
.
username
}}
</p>
<span
v-if=
"userDetails.account_type == 2"
class=
"account_type"
>
内
</span>
</div>
<div
class=
"item rowFlex columnCenter"
><span
class=
"label"
>
获客渠道
</span>
<p
class=
"text"
>
{{
userDetails
.
channel_name
}}
</p>
...
...
@@ -141,10 +68,10 @@
<p
class=
"text"
>
{{
userDetails
.
mobile
}}
</p>
</div>
<div
class=
"item rowFlex columnCenter"
><span
class=
"label"
>
染色时间
</span>
<p
class=
"text"
>
{{
moment
(
userDetails
.
seq_time
*
1000
).
format
(
'YYYY-MM-DD'
)
}}
</p>
<p
class=
"text"
>
{{
moment
(
userDetails
.
seq_time
*
1000
).
format
(
'YYYY-MM-DD'
)
}}
</p>
</div>
<div
class=
"item rowFlex columnCenter"
><span
class=
"label"
>
注册时间
</span>
<p
class=
"text"
>
{{
moment
(
userDetails
.
reg_time
*
1000
).
format
(
'YYYY-MM-DD'
)
}}
</p>
<p
class=
"text"
>
{{
moment
(
userDetails
.
reg_time
*
1000
).
format
(
'YYYY-MM-DD'
)
}}
</p>
</div>
<div
class=
"item rowFlex columnCenter"
><span
class=
"label"
>
登录系统
</span>
<p
class=
"text"
>
{{
userDetails
.
last_login_os
}}
</p>
...
...
@@ -157,29 +84,16 @@
</div>
</div>
</div>
<page
class=
"pageInfo"
:page-info=
"pageInfo"
@
requestNextPage=
"requestNextPage"
/>
<page
class=
"pageInfo"
:page-info=
"pageInfo"
@
requestNextPage=
"requestNextPage"
/>
<span
class=
"dialog-footer rowFlex"
>
<el-button
class=
"btn"
type=
"primary"
size=
"small"
:disabled=
"!userDetails.id"
@
click=
"confirmSubmit"
>
确 定
</el-button>
<el-button
class=
"btn"
size=
"small"
@
click=
"close"
>
取 消
</el-button>
<el-button
class=
"btn"
type=
"primary"
size=
"small"
:disabled=
"!userDetails.id"
@
click=
"confirmSubmit"
>
确
定
</el-button>
<el-button
class=
"btn"
size=
"small"
@
click=
"close"
>
取 消
</el-button>
</span>
</el-drawer>
</
template
>
</
template
>
<
script
type=
"text/javascript"
>
<
script
type=
"text/javascript"
>
import
moment
from
'moment'
import
userTable
from
'./userTable.vue'
import
{
getRoleHoLo
,
memberView
,
selectSearch
}
from
'@/api/game'
...
...
@@ -419,32 +333,37 @@
}
</
script
>
<
style
lang=
"scss"
scoped
>
::v-deep
.el-drawer
{
<
style
lang=
"scss"
scoped
>
::v-deep
.el-drawer
{
height
:
100%
;
overflow
:
auto
;
}
.bind-account-title
{
}
.bind-account-title
{
font-size
:
16px
;
font-family
:
PingFangSC-Regular
,
PingFang
SC
;
font-weight
:
600
;
color
:
#333333
;
text-align
:
left
;
margin-bottom
:
10px
;
}
.content
{
}
.content
{
width
:
100%
;
height
:
100%
;
overflow
:
auto
;
padding-bottom
:
200px
;
padding
:
0
10px
;
.inputContent
{
width
:
100%
;
}
.info
{
width
:
100%
;
margin-top
:
30px
;
overflow
:
auto
;
.table
{
width
:
100%
;
min-width
:
500px
;
...
...
@@ -460,15 +379,18 @@
height
:
70%
;
border-right
:
1px
dashed
#e0e0e0
;
}
.account_select_userInfo
{
width
:
100%
;
height
:
auto
;
padding-left
:
20px
;
margin-top
:
-20px
;
margin-bottom
:
150px
;
.item
{
width
:
100%
;
margin-top
:
20px
;
.label
{
width
:
30%
;
font-size
:
14px
;
...
...
@@ -478,6 +400,7 @@
text-align
:
left
;
margin-right
:
20px
;
}
.text
{
font-size
:
14px
;
font-family
:
PingFangSC-Regular
,
PingFang
SC
;
...
...
@@ -488,29 +411,33 @@
}
}
}
.account_table
{
}
.account_table
{
width
:
100%
;
height
:
auto
;
overflow
:
auto
;
}
.account_type
{
}
.account_type
{
color
:
#f56c6c
;
font-weight
:
bold
;
margin-left
:
5px
;
background
:
#f7eded
;
padding
:
2px
5px
;
border-radius
:
3px
;
}
.pageInfo
{
}
.pageInfo
{
width
:
calc
(
100%
-
20px
);
height
:
82px
;
position
:
absolute
;
right
:
20px
;
bottom
:
60px
;
background
:
#fff
;
}
.dialog-footer
{
}
.dialog-footer
{
width
:
calc
(
100%
-
20px
);
position
:
absolute
;
right
:
20px
;
...
...
@@ -521,16 +448,15 @@
justify-content
:
flex-end
;
background
:
#fff
;
z-index
:
10
;
.btn
{
width
:
84px
;
height
:
32px
;
}
}
</
style
>
<
style
>
::v-deep
.el-select-dropdown
{
}
</
style
>
<
style
>
::v-deep
.el-select-dropdown
{
min-width
:
210px
!important
;
}
</
style
>
\ No newline at end of file
}
</
style
>
\ No newline at end of file
src/views/components/order/searchUser.vue
浏览文件 @
166643d7
<
template
>
<el-select
v-model=
"resulte"
v-loadmore=
"loadMoreList"
filterable
remote
:disabled=
"disabled"
:remote-method=
"remoteMethod"
:placeholder=
"placeholder"
:clearable=
'false'
reserve-keyword
:loading=
"loading"
@
change=
"selectChange"
>
<el-option
v-for=
"(item,index) in searchUserOption"
:key=
"index"
:value=
"item.role_id || item.id"
:label=
"item.role_name"
style=
"height:50px;"
>
<el-select
v-model=
"resulte"
v-loadmore=
"loadMoreList"
filterable
remote
:disabled=
"disabled"
:remote-method=
"remoteMethod"
:placeholder=
"placeholder"
:clearable=
'false'
reserve-keyword
:loading=
"loading"
@
change=
"selectChange"
>
<el-option
v-for=
"(item, index) in searchUserOption"
:key=
"index"
:value=
"item?.role_id || item.id"
:label=
"item.role_name"
style=
"height:50px;"
>
<div
class=
"rowFlex columnCenter selectItem"
>
<!-- 没有头像 -->
<!--
<el-image
v-if=
"item.avata"
fit=
"fill"
:src=
"item.avatar"
class=
"tableImage "
></el-image>
-->
<div
class=
"infoSpan columnFlex rowCenter"
>
<p
class=
"hidden"
>
{{
item
.
role_name
&&
item
.
role_name
!=
''
?
item
.
game_name
+
' - '
+
item
.
server_name
+
' - '
+
item
.
role_name
:
''
}}
</p>
<p
class=
"rowFlex columnCenter"
>
角色名:
<label
class=
"hidden"
style=
"max-width:120px;"
>
{{
item
.
role_name
}}
</label></p>
<p
class=
"hidden"
>
{{
item
.
role_name
&&
item
.
role_name
!=
''
?
item
.
game_name
+
' - '
+
item
.
server_name
+
' -
'
+
item
.
role_name
:
''
}}
</p>
<p
class=
"rowFlex columnCenter"
>
角色名:
<label
class=
"hidden"
style=
"max-width:120px;"
>
{{
item
.
role_name
}}
</label>
</p>
</div>
</div>
</el-option>
</el-select>
</
template
>
<
script
>
</
template
>
<
script
>
import
{
roleList
}
from
'@/api/game'
import
{
mapState
}
from
'vuex'
export
default
{
...
...
@@ -128,28 +119,33 @@
}
</
script
>
<
style
lang=
"scss"
scoped
>
.selectItem
{
<
style
lang=
"scss"
scoped
>
.selectItem
{
height
:
50px
;
}
.infoSpan
{
}
.infoSpan
{
font-size
:
12px
;
font-family
:
PingFangSC-Regular
,
PingFang
SC
;
font-weight
:
400
;
max-width
:
250px
;
height
:
50px
;
p{
font-size
:
12px
;
max-width
:
100%
;
p
{
font-size
:
12px
;
max-width
:
100%
;
line-height
:
20px
;
}
span
{
color
:
#FFA81D
;
}
span
{
color
:
#FFA81D
;
}
.tableImage
{
width
:
30px
;
height
:
30px
;
}
.tableImage
{
width
:
30px
;
height
:
30px
;
border-radius
:
30px
;
margin-right
:
10px
;
}
</
style
>
\ No newline at end of file
}
</
style
>
\ No newline at end of file
src/views/components/roleInfo/report.vue
浏览文件 @
166643d7
差异被折叠。
点击展开。
src/views/components/taskList/uesrTask.vue
浏览文件 @
166643d7
差异被折叠。
点击展开。
src/views/newLogin.vue
浏览文件 @
166643d7
...
...
@@ -5,7 +5,8 @@
<p
class=
"loginContentTitle"
>
选择客服:
</p>
<div
class=
"loginContentInput rowFlex alignCenter"
>
<el-select
v-model=
"cser_user_id"
filterable
placeholder=
"请选择客服"
>
<el-option
v-for=
"item in userList"
:key=
"item.zq_user_id"
clearable
:label=
"item.name"
:value=
"item.zq_user_id"
>
<el-option
v-for=
"item in userList"
:key=
"item.zq_user_id"
clearable
:label=
"item.name"
:value=
"item.zq_user_id"
>
</el-option>
</el-select>
<el-button
type=
"primary"
style=
"margin-left: 10px;"
size=
"small"
@
click=
"loginConfirm"
>
点击登录
</el-button>
...
...
@@ -112,6 +113,10 @@ export default {
},
loginConfirm
(){
const
cser_user
=
this
.
userList
.
find
(
item
=>
item
.
zq_user_id
===
this
.
cser_user_id
)
if
(
!
cser_user
)
{
this
.
$message
.
error
(
'请选择客服'
)
return
}
this
.
$confirm
(
`确认登录上线吗,上线后所有会话都会归属到客服【
${
cser_user
.
name
}
】`
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
...
...
@@ -294,12 +299,14 @@ export default {
align-items
:
center
;
justify-content
:
center
;
}
.loginContentTitle
{
.loginContentTitle
{
font-size
:
14px
;
line-height
:
32px
;
margin-right
:
10px
;
text-align
:
left
;
}
.qr-contain
{
margin
:
0
auto
;
/* margin-top: 20px; */
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论