提交 166643d7 作者: 施汉文

🐞 fix: 修改了弹框滚动,以及一些线上报错问题

上级 963caaf8
...@@ -852,3 +852,8 @@ li { ...@@ -852,3 +852,8 @@ li {
.el-input__icon{ .el-input__icon{
line-height: 1; line-height: 1;
} }
//弹框内容超出显示滚动
.el-message-box__message {
max-height: 500px !important;
overflow-y: auto !important;
}
\ No newline at end of file
<template> <template>
<el-drawer <el-drawer title="新增关联账号" :visible="show" size="360px" :append-to-body="true" @close="close">
title="新增关联账号"
:visible="show"
size="360px"
:append-to-body="true"
@close="close"
>
<div class="content"> <div class="content">
<el-form <el-form ref="form" :model="form" label-position="top" :rules="rules" label-width="120px">
ref="form"
:model="form"
label-position="top"
:rules="rules"
label-width="120px"
>
<div class="inputContent"> <div class="inputContent">
<el-form-item <el-form-item label="请输入w账号" prop="username">
label="请输入w账号" <el-input v-model.trim="form.username" placeholder="请输入w账号" class="input-with-select">
prop="username"
>
<el-input
v-model.trim="form.username"
placeholder="请输入w账号"
class="input-with-select"
>
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item <el-form-item label="请输入主游戏名" prop="main_game_id">
label="请输入主游戏名" <el-select v-model="form.main_game_id" filterable remote clearable reserve-keyword placeholder="请输入主游戏名"
prop="main_game_id" 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-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-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item <el-form-item label="请输入区服" prop="server_info">
label="请输入区服" <el-select v-model.trim="form.server_info" filterable remote :disabled="form.main_game_id == ''" clearable
prop="server_info" style="width: 100%;" reserve-keyword placeholder="请先选择主游戏" :remote-method="remoteMethodServer"
> :loading="loading">
<el-select <el-option v-for="item in serverNameList" :key="item.id" :label="item.label" :value="item.value">
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-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item <el-form-item label="请输入角色名" prop="role_name">
label="请输入角色名" <el-input v-model.trim="form.role_name" placeholder="请输入角色" class="input-with-select">
prop="role_name"
>
<el-input
v-model.trim="form.role_name"
placeholder="请输入角色"
class="input-with-select"
>
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button <el-button type="primary" size="small" @click="onSubmit">搜索</el-button>
type="primary"
size="small"
@click="onSubmit"
>搜索</el-button>
</el-form-item> </el-form-item>
</div> </div>
</el-form> </el-form>
...@@ -100,24 +35,16 @@ ...@@ -100,24 +35,16 @@
<div class="bind-account-title"> <div class="bind-account-title">
账号列表 账号列表
</div> </div>
<userTable <userTable :list="tableList" @checkedTag="checkedTag" />
:list="tableList"
@checkedTag="checkedTag"
/>
</div> </div>
<!-- <div class="line"></div> w92865226508--> <!-- <div class="line"></div> w92865226508-->
<div <div v-if="userDetails.username" class="account_select_userInfo">
v-if="userDetails.username"
class="account_select_userInfo"
>
<div class="bind-account-title" style="margin-top: 20px;"> <div class="bind-account-title" style="margin-top: 20px;">
账号详情 账号详情
</div> </div>
<div class="item rowFlex columnCenter"><span class="label">账号</span> <div class="item rowFlex columnCenter"><span class="label">账号</span>
<p class="text">{{ userDetails.username }}</p> <span <p class="text">{{ userDetails.username }}</p> <span v-if="userDetails.account_type == 2"
v-if="userDetails.account_type==2" class="account_type"></span>
class="account_type"
></span>
</div> </div>
<div class="item rowFlex columnCenter"><span class="label">获客渠道</span> <div class="item rowFlex columnCenter"><span class="label">获客渠道</span>
<p class="text">{{ userDetails.channel_name }}</p> <p class="text">{{ userDetails.channel_name }}</p>
...@@ -141,10 +68,10 @@ ...@@ -141,10 +68,10 @@
<p class="text">{{ userDetails.mobile }}</p> <p class="text">{{ userDetails.mobile }}</p>
</div> </div>
<div class="item rowFlex columnCenter"><span class="label">染色时间</span> <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>
<div class="item rowFlex columnCenter"><span class="label">注册时间</span> <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>
<div class="item rowFlex columnCenter"><span class="label">登录系统</span> <div class="item rowFlex columnCenter"><span class="label">登录系统</span>
<p class="text">{{ userDetails.last_login_os }}</p> <p class="text">{{ userDetails.last_login_os }}</p>
...@@ -157,29 +84,16 @@ ...@@ -157,29 +84,16 @@
</div> </div>
</div> </div>
</div> </div>
<page <page class="pageInfo" :page-info="pageInfo" @requestNextPage="requestNextPage" />
class="pageInfo"
:page-info="pageInfo"
@requestNextPage="requestNextPage"
/>
<span class="dialog-footer rowFlex"> <span class="dialog-footer rowFlex">
<el-button <el-button class="btn" type="primary" size="small" :disabled="!userDetails.id" @click="confirmSubmit">
class="btn" </el-button>
type="primary" <el-button class="btn" size="small" @click="close">取 消</el-button>
size="small"
:disabled="!userDetails.id"
@click="confirmSubmit"
>确 定</el-button>
<el-button
class="btn"
size="small"
@click="close"
>取 消</el-button>
</span> </span>
</el-drawer> </el-drawer>
</template> </template>
<script type="text/javascript"> <script type="text/javascript">
import moment from 'moment' import moment from 'moment'
import userTable from './userTable.vue' import userTable from './userTable.vue'
import { getRoleHoLo, memberView, selectSearch } from '@/api/game' import { getRoleHoLo, memberView, selectSearch } from '@/api/game'
...@@ -419,32 +333,37 @@ ...@@ -419,32 +333,37 @@
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
::v-deep .el-drawer { ::v-deep .el-drawer {
height: 100%; height: 100%;
overflow: auto; overflow: auto;
} }
.bind-account-title{
.bind-account-title {
font-size: 16px; font-size: 16px;
font-family: PingFangSC-Regular, PingFang SC; font-family: PingFangSC-Regular, PingFang SC;
font-weight: 600; font-weight: 600;
color: #333333; color: #333333;
text-align: left; text-align: left;
margin-bottom: 10px; margin-bottom: 10px;
} }
.content {
.content {
width: 100%; width: 100%;
height: 100%; height: 100%;
overflow: auto; overflow: auto;
padding-bottom: 200px; padding-bottom: 200px;
padding: 0 10px; padding: 0 10px;
.inputContent { .inputContent {
width: 100%; width: 100%;
} }
.info { .info {
width: 100%; width: 100%;
margin-top: 30px; margin-top: 30px;
overflow: auto; overflow: auto;
.table { .table {
width: 100%; width: 100%;
min-width: 500px; min-width: 500px;
...@@ -460,15 +379,18 @@ ...@@ -460,15 +379,18 @@
height: 70%; height: 70%;
border-right: 1px dashed #e0e0e0; border-right: 1px dashed #e0e0e0;
} }
.account_select_userInfo { .account_select_userInfo {
width: 100%; width: 100%;
height: auto; height: auto;
padding-left: 20px; padding-left: 20px;
margin-top: -20px; margin-top: -20px;
margin-bottom: 150px; margin-bottom: 150px;
.item { .item {
width: 100%; width: 100%;
margin-top: 20px; margin-top: 20px;
.label { .label {
width: 30%; width: 30%;
font-size: 14px; font-size: 14px;
...@@ -478,6 +400,7 @@ ...@@ -478,6 +400,7 @@
text-align: left; text-align: left;
margin-right: 20px; margin-right: 20px;
} }
.text { .text {
font-size: 14px; font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC; font-family: PingFangSC-Regular, PingFang SC;
...@@ -488,29 +411,33 @@ ...@@ -488,29 +411,33 @@
} }
} }
} }
.account_table{
.account_table {
width: 100%; width: 100%;
height: auto; height: auto;
overflow: auto; overflow: auto;
} }
.account_type {
.account_type {
color: #f56c6c; color: #f56c6c;
font-weight: bold; font-weight: bold;
margin-left: 5px; margin-left: 5px;
background: #f7eded; background: #f7eded;
padding: 2px 5px; padding: 2px 5px;
border-radius: 3px; border-radius: 3px;
} }
.pageInfo {
.pageInfo {
width: calc(100% - 20px); width: calc(100% - 20px);
height: 82px; height: 82px;
position: absolute; position: absolute;
right: 20px; right: 20px;
bottom: 60px; bottom: 60px;
background: #fff; background: #fff;
} }
.dialog-footer {
.dialog-footer {
width: calc(100% - 20px); width: calc(100% - 20px);
position: absolute; position: absolute;
right: 20px; right: 20px;
...@@ -521,16 +448,15 @@ ...@@ -521,16 +448,15 @@
justify-content: flex-end; justify-content: flex-end;
background: #fff; background: #fff;
z-index: 10; z-index: 10;
.btn { .btn {
width: 84px; width: 84px;
height: 32px; height: 32px;
} }
} }
</style> </style>
<style> <style>
::v-deep .el-select-dropdown { ::v-deep .el-select-dropdown {
min-width: 210px !important; min-width: 210px !important;
} }
</style> </style>
\ No newline at end of file
\ No newline at end of file
<template> <template>
<el-select <el-select v-model="resulte" v-loadmore="loadMoreList" filterable remote :disabled="disabled"
v-model="resulte" :remote-method="remoteMethod" :placeholder="placeholder" :clearable='false' reserve-keyword :loading="loading"
v-loadmore="loadMoreList" @change="selectChange">
filterable <el-option v-for="(item, index) in searchUserOption" :key="index" :value="item?.role_id || item.id"
remote :label="item.role_name" style="height:50px;">
: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"> <div class="rowFlex columnCenter selectItem">
<!-- 没有头像 --> <!-- 没有头像 -->
<!-- <el-image v-if="item.avata" fit="fill" :src="item.avatar" class="tableImage "></el-image> --> <!-- <el-image v-if="item.avata" fit="fill" :src="item.avatar" class="tableImage "></el-image> -->
<div class="infoSpan columnFlex rowCenter"> <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="hidden">
<p class="rowFlex columnCenter">角色名:<label class="hidden" style="max-width:120px;">{{ item.role_name }}</label></p> {{ 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>
</div> </div>
</el-option> </el-option>
</el-select> </el-select>
</template> </template>
<script> <script>
import { roleList } from '@/api/game' import { roleList } from '@/api/game'
import { mapState } from 'vuex' import { mapState } from 'vuex'
export default { export default {
...@@ -128,28 +119,33 @@ ...@@ -128,28 +119,33 @@
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.selectItem{ .selectItem {
height: 50px; height: 50px;
} }
.infoSpan{
.infoSpan {
font-size: 12px; font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC; font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400; font-weight: 400;
max-width: 250px; max-width: 250px;
height: 50px; height: 50px;
p{
font-size:12px;max-width:100%; p {
font-size: 12px;
max-width: 100%;
line-height: 20px; line-height: 20px;
} }
span{
color:#FFA81D; span {
} color: #FFA81D;
} }
.tableImage{ }
width:30px;height:30px;
.tableImage {
width: 30px;
height: 30px;
border-radius: 30px; border-radius: 30px;
margin-right: 10px; margin-right: 10px;
} }
</style> </style>
\ No newline at end of file
\ No newline at end of file
...@@ -5,7 +5,8 @@ ...@@ -5,7 +5,8 @@
<p class="loginContentTitle">选择客服:</p> <p class="loginContentTitle">选择客服:</p>
<div class="loginContentInput rowFlex alignCenter"> <div class="loginContentInput rowFlex alignCenter">
<el-select v-model="cser_user_id" filterable placeholder="请选择客服"> <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-option>
</el-select> </el-select>
<el-button type="primary" style="margin-left: 10px;" size="small" @click="loginConfirm">点击登录</el-button> <el-button type="primary" style="margin-left: 10px;" size="small" @click="loginConfirm">点击登录</el-button>
...@@ -112,6 +113,10 @@ export default { ...@@ -112,6 +113,10 @@ export default {
}, },
loginConfirm(){ loginConfirm(){
const cser_user = this.userList.find(item => item.zq_user_id === this.cser_user_id) 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}】`, '提示', { this.$confirm(`确认登录上线吗,上线后所有会话都会归属到客服【${cser_user.name}】`, '提示', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
...@@ -294,12 +299,14 @@ export default { ...@@ -294,12 +299,14 @@ export default {
align-items: center; align-items: center;
justify-content: center; justify-content: center;
} }
.loginContentTitle{
.loginContentTitle {
font-size: 14px; font-size: 14px;
line-height: 32px; line-height: 32px;
margin-right: 10px; margin-right: 10px;
text-align: left; text-align: left;
} }
.qr-contain { .qr-contain {
margin: 0 auto; margin: 0 auto;
/* margin-top: 20px; */ /* margin-top: 20px; */
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论