提交 82a41625 作者: 施汉文

客户资料样式修改

上级 f8a92a1f
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
<title>企微侧边栏</title> <title>企微侧边栏</title>
<!-- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0,shrink-to-fit=no,user-scalable=no"> --> <!-- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0,shrink-to-fit=no,user-scalable=no"> -->
<script src="https://g.alicdn.com/dingding/dinglogin/0.0.5/ddLogin.js"></script> <script src="https://g.alicdn.com/dingding/dinglogin/0.0.5/ddLogin.js"></script>
<script src="https://lf1-cdn-tos.bytegoofy.com/obj/iconpark/svg_27278_173.e64d61edfe0d4824e2eeb0b7f478e568.js"></script> <script src="https://lf1-cdn-tos.bytegoofy.com/obj/iconpark/svg_27278_174.7c507957486002617642b36b416498d5.js"></script>
</head> </head>
<body> <body>
<noscript> <noscript>
......
...@@ -69,10 +69,10 @@ ...@@ -69,10 +69,10 @@
> >
<el-badge is-dot :type="csStatusInfo.type"> <el-badge is-dot :type="csStatusInfo.type">
<!-- <span>{{ item.label }}</span> --> <!-- <span>{{ item.label }}</span> -->
<iconpark-icon <svg-icon
class="w-[14px] h-[14px]" class="text-[14px]"
:name="item.icon" :svgName="item.icon"
></iconpark-icon> ></svg-icon>
</el-badge> </el-badge>
</div> </div>
</el-tooltip> </el-tooltip>
...@@ -86,23 +86,15 @@ ...@@ -86,23 +86,15 @@
:content="item.label" :content="item.label"
placement="left" placement="left"
> >
<iconpark-icon <svg-icon
class="w-[14px] h-[14px]" class="w-[14px] text-red h-[14px] text-[14px]"
:name="item.icon" :svgName="item.icon"
></iconpark-icon> ></svg-icon>
</el-tooltip> </el-tooltip>
</div> </div>
</el-menu-item> </el-menu-item>
</el-menu> </el-menu>
</div> </div>
<<<<<<< HEAD =======
<!-- 绑定的 w 账号 -->
<bindUserList />
</div>
<div class="mobile-content">
<router-view></router-view>
>>>>>>> release
</div> </div>
</div> </div>
</template> </template>
...@@ -185,7 +177,7 @@ export default { ...@@ -185,7 +177,7 @@ export default {
{ {
label: "用户待办", label: "用户待办",
path: "/userToDo", path: "/userToDo",
hasRedDot: false, // 红点状态 icon: "yonghudaiban",
}, },
{ {
label: "微言助手", label: "微言助手",
...@@ -546,7 +538,7 @@ body { ...@@ -546,7 +538,7 @@ body {
} }
.agent-status-management { .agent-status-management {
::v-deep .el-badge__content.is-dot { ::v-deep .el-badge__content.is-dot {
top: 38px !important; /* top: 38px !important; */
right: 2px !important; right: 2px !important;
} }
} }
...@@ -562,4 +554,7 @@ body { ...@@ -562,4 +554,7 @@ body {
.p-common { .p-common {
padding: 0 10px; padding: 0 10px;
} }
::v-deep .el-badge__content.is-fixed {
z-index: 1;
}
</style> </style>
...@@ -9,11 +9,11 @@ ...@@ -9,11 +9,11 @@
> >
<template #title> <template #title>
<div class="flex items-center"> <div class="flex items-center">
<iconpark-icon <svg-icon
@click="$emit('close')" @click="$emit('close')"
name="icon-fanhui" svgName="icon-fanhui"
class="mr-[8px] w-[20px] text-[20px] cursor-pointer" class="mr-[8px] w-[20px] text-[20px] cursor-pointer"
></iconpark-icon> ></svg-icon>
<span class="text-[13px] text-[#131920] leading-[13px]">{{ <span class="text-[13px] text-[#131920] leading-[13px]">{{
title title
}}</span> }}</span>
......
<template> <template>
<div class="w-full h-full flex items-center justify-center"> <div class="w-full h-full flex items-center justify-center">
<div class="flex flex-col justify-center"> <div class="flex flex-col items-center justify-center">
<iconpark-icon name="Empty-2" class="text-[80px]"></iconpark-icon> <svg-icon svgName="Empty-2" class="text-[80px]"></svg-icon>
<slot></slot> <slot></slot>
</div> </div>
</div> </div>
......
<template>
<div class="relative w-full group flex items-center">
<template v-if="show">
<el-input
v-model="value"
class="showInputRemarkInput"
:type="isInput ? 'text' : 'textarea'"
></el-input>
<div class="absolute bottom-[6px] right-[10px] text-[16px] flex">
<svg-icon
svgName="icon-quxiao"
class="text-[#B0B2B5] cursor-pointer"
@click="close"
></svg-icon>
<svg-icon
svgName="icon-queding"
class="text-[#267EF0] cursor-pointer ml-[6px]"
@click="confirm"
></svg-icon>
</div>
</template>
<template v-else>
<slot></slot>
<svg-icon
svgName="ziliao-bianji"
class="group-hover:visible ml-[6px] text-primary invisible cursor-pointer text-[16px]"
@click="editRemark"
></svg-icon>
</template>
</div>
</template>
<script>
export default {
name: "CommonModificationBox",
props: {
text: {
type: String,
default: "",
},
isInput: {
type: Boolean,
default: false,
},
},
data() {
return {
value: "",
show: false,
};
},
created() {
// 初始化value为text的初始值
this.value = this.text;
},
watch: {
text(newVal) {
this.value = newVal;
},
},
methods: {
editRemark() {
this.show = true;
},
close() {
this.show = false;
this.value = this.text;
},
confirm() {
this.$emit("confirm", this.value);
this.show = false;
},
},
};
</script>
<style></style>
...@@ -31,10 +31,10 @@ ...@@ -31,10 +31,10 @@
:loading="logoutLoading" :loading="logoutLoading"
> >
<div class="flex items-center justify-center"> <div class="flex items-center justify-center">
<iconpark-icon <svg-icon
name="kefucaozuo-xiaxian" svgName="kefucaozuo-xiaxian"
class="mr-[8px] text-[14px]" class="mr-[8px] text-[14px]"
></iconpark-icon> ></svg-icon>
下线 下线
</div> </div>
</el-button> </el-button>
...@@ -51,10 +51,10 @@ ...@@ -51,10 +51,10 @@
:loading="startRestLoading" :loading="startRestLoading"
> >
<div class="flex items-center justify-center"> <div class="flex items-center justify-center">
<iconpark-icon <svg-icon
name="kefucaozuo-xiuxi" svgName="kefucaozuo-xiuxi"
class="mr-[8px] text-[14px]" class="mr-[8px] text-[14px]"
></iconpark-icon> ></svg-icon>
开始休息 开始休息
</div> </div>
</el-button> </el-button>
...@@ -67,10 +67,10 @@ ...@@ -67,10 +67,10 @@
:loading="finishRestLoading" :loading="finishRestLoading"
> >
<div class="flex items-center justify-center"> <div class="flex items-center justify-center">
<iconpark-icon <svg-icon
name="kefucaozuo-xiuxi" svgName="kefucaozuo-xiuxi"
class="mr-[8px] font-bold text-[14px]" class="mr-[8px] font-bold text-[14px]"
></iconpark-icon> ></svg-icon>
结束休息 结束休息
</div> </div>
</el-button> </el-button>
...@@ -81,10 +81,10 @@ ...@@ -81,10 +81,10 @@
:loading="sendCommentLoading" :loading="sendCommentLoading"
> >
<div class="flex items-center justify-center"> <div class="flex items-center justify-center">
<iconpark-icon <svg-icon
name="kefucaozuo-pingjia" svgName="kefucaozuo-pingjia"
class="mr-[8px] text-[14px]" class="mr-[8px] text-[14px]"
></iconpark-icon> ></svg-icon>
发送评价 发送评价
</div> </div>
</el-button> </el-button>
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
:okDisabled="!checkoutUser.member_id" :okDisabled="!checkoutUser.member_id"
@ok="confirmSubmit" @ok="confirmSubmit"
> >
<div class="w-full h-full py-[10px]"> <div class="w-full h-full flex flex-col py-[10px]" v-loading="loading">
<div class="flex items-center px-[12px]"> <div class="flex items-center px-[12px]">
<el-input <el-input
v-model.trim="inputValue" v-model.trim="inputValue"
...@@ -93,7 +93,7 @@ ...@@ -93,7 +93,7 @@
</el-button> </el-button>
</el-popover> </el-popover>
</div> </div>
<div class="mt-[12px] content"> <div class="mt-[12px] content" v-if="tableList.length !== 0">
<div <div
class="cursor-pointer hover:bg-[#F5F6F7]" class="cursor-pointer hover:bg-[#F5F6F7]"
v-for="item in tableList" v-for="item in tableList"
...@@ -217,6 +217,12 @@ ...@@ -217,6 +217,12 @@
</div> </div>
</div> </div>
</div> </div>
<Empty v-else class="flex-1 pb-[30%]">
<div class="text-[#6D7176] text-[12px]">暂无数据</div>
<div class="text-[#B0B2B5] mt-[4px] text-[12px]">
请点击搜索框或筛选按钮查询
</div>
</Empty>
</div> </div>
<!-- <div class="content"> <!-- <div class="content">
...@@ -395,12 +401,14 @@ import { mapMutations, mapActions, mapState } from "vuex"; ...@@ -395,12 +401,14 @@ import { mapMutations, mapActions, mapState } from "vuex";
import page from "@/components/page/pageNum.vue"; import page from "@/components/page/pageNum.vue";
import Drawer from "@/components/common/Drawer.vue"; import Drawer from "@/components/common/Drawer.vue";
import { debounce } from "@/utils/index"; import { debounce } from "@/utils/index";
import Empty from "@/components/common/Empty.vue";
export default { export default {
name: "addUser", name: "addUser",
components: { components: {
userTable, userTable,
page, page,
Drawer, Drawer,
Empty,
}, },
props: ["show"], props: ["show"],
data() { data() {
...@@ -446,6 +454,7 @@ export default { ...@@ -446,6 +454,7 @@ export default {
...mapActions("game", ["gameBindUser"]), ...mapActions("game", ["gameBindUser"]),
...mapMutations("game", ["set_accountSelect"]), ...mapMutations("game", ["set_accountSelect"]),
requestRoleList() { requestRoleList() {
this.loading = true;
const data = { const data = {
member_id: this.form.member_id, member_id: this.form.member_id,
username: this.form.username.trim(), username: this.form.username.trim(),
...@@ -457,17 +466,21 @@ export default { ...@@ -457,17 +466,21 @@ export default {
search_type: "bind", search_type: "bind",
...this.pageInfo, ...this.pageInfo,
}; };
getRoleHoLo(data).then((res) => { getRoleHoLo(data)
if (res.status_code == 1) { .then((res) => {
if (res.data.data.length == 0) { if (res.status_code == 1) {
this.tableList = []; if (res.data.data.length == 0) {
this.$message.warning("暂无数据"); this.tableList = [];
} else { this.$message.warning("暂无数据");
this.tableList = res.data.data; } else {
this.pageInfo = res.data.page_info; this.tableList = res.data.data;
this.pageInfo = res.data.page_info;
}
} }
} })
}); .finally(() => {
this.loading = false;
});
}, },
// S181.啊呸¤可瑞 八荒181服 // S181.啊呸¤可瑞 八荒181服
...@@ -478,6 +491,8 @@ export default { ...@@ -478,6 +491,8 @@ export default {
}, },
remoteMethodServer(query) { remoteMethodServer(query) {
if (query !== "") { if (query !== "") {
console.log(this.loading);
this.loading = true; this.loading = true;
const data = { const data = {
type: "server_info", type: "server_info",
...@@ -485,6 +500,7 @@ export default { ...@@ -485,6 +500,7 @@ export default {
main_game_ids: this.form.main_game_id, main_game_ids: this.form.main_game_id,
}; };
selectSearch(data).then((res) => { selectSearch(data).then((res) => {
console.log(this.loading);
this.loading = false; this.loading = false;
if (res.status_code == 1) { if (res.status_code == 1) {
this.serverNameList = res.data.data; this.serverNameList = res.data.data;
......
...@@ -2,11 +2,11 @@ ...@@ -2,11 +2,11 @@
<div> <div>
<div class="flex justify-between leading-[22px] font-medium"> <div class="flex justify-between leading-[22px] font-medium">
<div class="text-[#363E49] text-[13px]">已选择标签</div> <div class="text-[#363E49] text-[13px]">已选择标签</div>
<iconpark-icon <svg-icon
@click="clear" @click="clear"
name="icon-qingkong" svgName="icon-qingkong"
class="text-[16px] text-[#B0B2B5] hover:text-primary cursor-pointer" class="text-[16px] text-[#B0B2B5] hover:text-primary cursor-pointer"
></iconpark-icon> ></svg-icon>
</div> </div>
<div <div
class="flex flex-wrap content-start gap-[8px] mt-[8px] pb-[12px] border-b-[1px] border-dashed border-b-[#E5E5E6] h-[112px] overflow-y-auto" class="flex flex-wrap content-start gap-[8px] mt-[8px] pb-[12px] border-b-[1px] border-dashed border-b-[#E5E5E6] h-[112px] overflow-y-auto"
...@@ -63,7 +63,7 @@ export default { ...@@ -63,7 +63,7 @@ export default {
remove(item) { remove(item) {
this.$emit( this.$emit(
"input", "input",
this.value.filter((i) => i !== item) this.value.filter((i) => i !== item),
); );
this.$emit("change"); this.$emit("change");
}, },
...@@ -71,8 +71,8 @@ export default { ...@@ -71,8 +71,8 @@ export default {
this.$emit( this.$emit(
"input", "input",
this.value.filter((i) => this.value.filter((i) =>
this.checkedIds.includes(i[this.options.value]) this.checkedIds.includes(i[this.options.value]),
) ),
); );
this.$emit("change"); this.$emit("change");
}, },
......
...@@ -78,6 +78,12 @@ ...@@ -78,6 +78,12 @@
@click="refreshTag" @click="refreshTag"
></i> ></i>
<svg-icon <svg-icon
svgName="icon-zhongxinshengcheng"
@click="refreshTag"
:class="isRefresh ? 'refreshListActive' : ''"
class="mr-[8px] refreshList invisible group-hover:visible"
/>
<svg-icon
icon-class="fuzhi" icon-class="fuzhi"
class="icon invisible group-hover:visible" class="icon invisible group-hover:visible"
style="font-size: 14px" style="font-size: 14px"
...@@ -97,36 +103,36 @@ ...@@ -97,36 +103,36 @@
</template> </template>
<script> <script>
import { getRoleRecentActivityEditApi } from '@/api/game.js'; import { getRoleRecentActivityEditApi } from "@/api/game.js";
import { getGenerateProcedureApi } from '@/api/skill'; import { getGenerateProcedureApi } from "@/api/skill";
import { mapState } from 'vuex'; import { mapState } from "vuex";
import { queryRoleRecentActivityNotPushNum } from '@/views/hooks/useGetCount'; import { queryRoleRecentActivityNotPushNum } from "@/views/hooks/useGetCount";
import { corp_activity_procedure_copyUsed } from '@/api/works'; import { corp_activity_procedure_copyUsed } from "@/api/works";
const UpdateType = { const UpdateType = {
PUSH: 1, //修改推送 PUSH: 1, //修改推送
REMARK: 2, //修改备注 REMARK: 2, //修改备注
}; };
export default { export default {
name: 'RecentActivitiesTemplate', name: "RecentActivitiesTemplate",
emits: ['handleUpdate'], emits: ["handleUpdate"],
components: {}, components: {},
props: ['item'], props: ["item"],
data() { data() {
return { return {
editShow: false, editShow: false,
textarea: '', textarea: "",
isRefresh: false, isRefresh: false,
pushLanguageTechnique: '', //推送话术 pushLanguageTechnique: "", //推送话术
}; };
}, },
computed: { computed: {
...mapState('user', ['cser_id', 'cser_name']), ...mapState("user", ["cser_id", "cser_name"]),
...mapState('game', ['accountSelect', 'bindGameUserList']), ...mapState("game", ["accountSelect", "bindGameUserList"]),
nowGameUserInfo() { nowGameUserInfo() {
return { return {
member_id: this.accountSelect, member_id: this.accountSelect,
username: this.bindGameUserList.find( username: this.bindGameUserList.find(
(item) => item.member_id == this.accountSelect (item) => item.member_id == this.accountSelect,
)?.username, )?.username,
}; };
}, },
...@@ -156,10 +162,10 @@ export default { ...@@ -156,10 +162,10 @@ export default {
user_id: this.cser_id, user_id: this.cser_id,
user_name: this.cser_name, user_name: this.cser_name,
}); });
this.$message.success('修改成功'); this.$message.success("修改成功");
queryRoleRecentActivityNotPushNum(this.accountSelect); queryRoleRecentActivityNotPushNum(this.accountSelect);
this.$emit('handleUpdate'); this.$emit("handleUpdate");
} catch (error) { } catch (error) {
this.$message.error(error); this.$message.error(error);
} }
...@@ -183,9 +189,9 @@ export default { ...@@ -183,9 +189,9 @@ export default {
try { try {
corp_activity_procedure_copyUsed({ _id: this._id }); corp_activity_procedure_copyUsed({ _id: this._id });
await navigator.clipboard.writeText(this.pushLanguageTechnique); await navigator.clipboard.writeText(this.pushLanguageTechnique);
this.$message.success('复制成功'); this.$message.success("复制成功");
} catch (err) { } catch (err) {
console.error('复制失败:', err); console.error("复制失败:", err);
} }
}, },
......
...@@ -57,12 +57,12 @@ ...@@ -57,12 +57,12 @@
</el-button> </el-button>
</el-tooltip> </el-tooltip>
</div> </div>
<iconpark-icon <svg-icon
name="ziliao-tianjia-jb82dh2k" svgName="ziliao-tianjia-jb82dh2k"
class="invisible text-primary text-[14px] ml-[6px]" class="invisible text-primary text-[14px] ml-[6px]"
:class="{ 'group-hover:visible': item.label_type == 2 }" :class="{ 'group-hover:visible': item.label_type == 2 }"
@click="addTag(item.label)" @click="addTag(item.label)"
></iconpark-icon> ></svg-icon>
</div> </div>
<Empty /> <Empty />
</div> </div>
...@@ -250,7 +250,7 @@ export default { ...@@ -250,7 +250,7 @@ export default {
this.loading = true; this.loading = true;
try { try {
const weixin_blongs_id = this.weixin_blongs_id_list.map( const weixin_blongs_id = this.weixin_blongs_id_list.map(
(item) => item.value (item) => item.value,
); );
const res = await roleGetRoleLabel({ const res = await roleGetRoleLabel({
member_id: this.accountSelect, member_id: this.accountSelect,
...@@ -309,7 +309,7 @@ export default { ...@@ -309,7 +309,7 @@ export default {
async searchLabel(query) { async searchLabel(query) {
try { try {
const weixin_blongs_id = this.weixin_blongs_id_list.map( const weixin_blongs_id = this.weixin_blongs_id_list.map(
(item) => item.value (item) => item.value,
); );
const res = await roleLabelSearch({ const res = await roleLabelSearch({
label_name: query.trim() || "", label_name: query.trim() || "",
...@@ -346,7 +346,7 @@ export default { ...@@ -346,7 +346,7 @@ export default {
? this.searchValue ? this.searchValue
: []; : [];
const hasSelectedInThisGroup = group.children.some((child) => const hasSelectedInThisGroup = group.children.some((child) =>
selectedIds.includes(child.label_id) selectedIds.includes(child.label_id),
); );
if (hasSelectedInThisGroup) { if (hasSelectedInThisGroup) {
...@@ -436,7 +436,7 @@ export default { ...@@ -436,7 +436,7 @@ export default {
if (value && Array.isArray(value) && value.length > 0) { if (value && Array.isArray(value) && value.length > 0) {
// 获取当前标签组的标签 // 获取当前标签组的标签
const currentGroupLabels = this.roleLabelList.find( const currentGroupLabels = this.roleLabelList.find(
(item) => Number(item.label_type) === 2 (item) => Number(item.label_type) === 2,
).label; ).label;
// 获取所有选中标签的信息 // 获取所有选中标签的信息
...@@ -446,13 +446,13 @@ export default { ...@@ -446,13 +446,13 @@ export default {
this.searchOptions.forEach((group) => { this.searchOptions.forEach((group) => {
// 找出该组中被选中的标签 // 找出该组中被选中的标签
const selectedInGroup = group.children.filter((child) => const selectedInGroup = group.children.filter((child) =>
value.includes(child.label_id) value.includes(child.label_id),
); );
// 如果是单选标签组且选中了多个,只保留第一个 // 如果是单选标签组且选中了多个,只保留第一个
if (group.select_type === 1 && selectedInGroup.length > 1) { if (group.select_type === 1 && selectedInGroup.length > 1) {
this.$message.warning( this.$message.warning(
`标签组"${group.label_name}"为单选,只能选择一个标签` `标签组"${group.label_name}"为单选,只能选择一个标签`,
); );
// 只添加第一个选中的标签 // 只添加第一个选中的标签
selectedLabels.push(selectedInGroup[0]); selectedLabels.push(selectedInGroup[0]);
...@@ -470,11 +470,11 @@ export default { ...@@ -470,11 +470,11 @@ export default {
// 检查selectedLabels中的标签组是否与currentGroupLabels中的标签组重复 // 检查selectedLabels中的标签组是否与currentGroupLabels中的标签组重复
if (currentGroupLabels && currentGroupLabels.length > 0) { if (currentGroupLabels && currentGroupLabels.length > 0) {
const existingGroupIds = currentGroupLabels.map( const existingGroupIds = currentGroupLabels.map(
(label) => label.label_group_id (label) => label.label_group_id,
); );
const hasConflict = selectedLabels.some((label) => const hasConflict = selectedLabels.some((label) =>
existingGroupIds.includes(label.label_group_id) existingGroupIds.includes(label.label_group_id),
); );
if (hasConflict) { if (hasConflict) {
...@@ -507,7 +507,7 @@ export default { ...@@ -507,7 +507,7 @@ export default {
// 找出所有单选标签组 // 找出所有单选标签组
const singleSelectGroups = this.searchOptions.filter( const singleSelectGroups = this.searchOptions.filter(
(group) => group.select_type === 1 (group) => group.select_type === 1,
); );
// 检查单选标签组是否有全选操作 // 检查单选标签组是否有全选操作
...@@ -517,14 +517,14 @@ export default { ...@@ -517,14 +517,14 @@ export default {
// 检查当前组中选中的标签数量 // 检查当前组中选中的标签数量
const selectedInThisGroup = groupLabelIds.filter((id) => const selectedInThisGroup = groupLabelIds.filter((id) =>
value.includes(id) value.includes(id),
); );
// 如果选中的标签数量大于1,说明可能是全选操作 // 如果选中的标签数量大于1,说明可能是全选操作
if (selectedInThisGroup.length > 1) { if (selectedInThisGroup.length > 1) {
// 提示用户只能选择一个标签 // 提示用户只能选择一个标签
this.$message.warning( this.$message.warning(
`标签组"${group.label_name}"为单选,只能选择一个标签` `标签组"${group.label_name}"为单选,只能选择一个标签`,
); );
// 清空该组的选择 // 清空该组的选择
......
...@@ -18,12 +18,19 @@ ...@@ -18,12 +18,19 @@
trigger="hover" trigger="hover"
content="手动更新当前用户的智能标签,每个用户半个小时仅能更新一次" content="手动更新当前用户的智能标签,每个用户半个小时仅能更新一次"
> >
<i <!-- <i
slot="reference" slot="reference"
class="el-icon-refresh refreshList" class="el-icon-refresh refreshList"
:class="isRefresh ? 'refreshListActive' : ''"
@click="refreshTag"
></i> -->
<svg-icon
svgName="icon-zhongxinshengcheng"
slot="reference"
@click="refreshTag" @click="refreshTag"
></i> class="refreshList text-[16px]"
:class="isRefresh ? 'refreshListActive' : ''"
/>
</el-popover> </el-popover>
</div> </div>
<ZyouTag :game-user-info="gameUserInfo" :account-select="accountSelect" /> <ZyouTag :game-user-info="gameUserInfo" :account-select="accountSelect" />
...@@ -62,12 +69,13 @@ ...@@ -62,12 +69,13 @@
> >
<!-- changeUser --> <!-- changeUser -->
<div slot="reference" class="rowFlex columnCenter changeUser"> <div slot="reference" class="rowFlex columnCenter changeUser">
<p> <svg-icon svgName="ziliao-qiehuan" />
<!-- <p>
<i class="el-icon-sort-down"></i> <i class="el-icon-sort-down"></i>
</p> </p>
<p> <p>
<i class="el-icon-sort-up"></i> <i class="el-icon-sort-up"></i>
</p> </p> -->
</div> </div>
</el-popconfirm> </el-popconfirm>
</div> </div>
...@@ -84,12 +92,13 @@ ...@@ -84,12 +92,13 @@
@confirm="changeNameFn" @confirm="changeNameFn"
> >
<div slot="reference" class="rowFlex columnCenter changeUser"> <div slot="reference" class="rowFlex columnCenter changeUser">
<p> <svg-icon svgName="ziliao-qiehuan" />
<!-- <p>
<i class="el-icon-sort-down"></i> <i class="el-icon-sort-down"></i>
</p> </p>
<p> <p>
<i class="el-icon-sort-up"></i> <i class="el-icon-sort-up"></i>
</p> </p> -->
</div> </div>
</el-popconfirm> </el-popconfirm>
</div> </div>
...@@ -110,12 +119,13 @@ ...@@ -110,12 +119,13 @@
slot="reference" slot="reference"
class="rowFlex columnCenter changeUser" class="rowFlex columnCenter changeUser"
> >
<p> <svg-icon svgName="ziliao-qiehuan" />
<!-- <p>
<i class="el-icon-sort-down"></i> <i class="el-icon-sort-down"></i>
</p> </p>
<p> <p>
<i class="el-icon-sort-up"></i> <i class="el-icon-sort-up"></i>
</p> </p> -->
</div> </div>
</el-popconfirm> </el-popconfirm>
</div> </div>
...@@ -169,35 +179,53 @@ ...@@ -169,35 +179,53 @@
<div class="item rowFlex columnCenter spaceBetween"> <div class="item rowFlex columnCenter spaceBetween">
<div class="rowFlex columnCenter"> <div class="rowFlex columnCenter">
<span class="label">是否愿意转端:</span> <span class="label">是否愿意转端:</span>
<p class="text"> <p class="text flex items-center">
<el-radio-group {{ chatUserDetails.transferred == 0 ? "是" : "否" }}
<svg-icon
svgName="ziliao-qiehuan"
class="text-primary text-[18px] ml-[6px]"
@click="
toTransfer(
chatUserDetails.transferred == 0
? (chatUserDetails.transferred = 1)
: (chatUserDetails.transferred = 0),
)
"
/>
<!-- <el-radio-group
v-model="chatUserDetails.transferred" v-model="chatUserDetails.transferred"
@change="toTransfer" @change="toTransfer"
> >
<el-radio :label="0"></el-radio> <el-radio :label="0"></el-radio>
<el-radio :label="1"></el-radio> <el-radio :label="1"></el-radio>
</el-radio-group> </el-radio-group> -->
</p> </p>
</div> </div>
</div> </div>
<div class="item rowFlex columnCenter"> <div class="item rowFlex columnCenter">
<div class="rowFlex columnCenter"> <div class="rowFlex columnCenter">
<span class="label">手机号:</span> <span class="label flex-shrink-0">手机号:</span>
<p v-if="!showUserMobile" class="text">{{ gameUserInfo.mobile }}</p> <ModificationBox
:text="gameUserInfo.mobile"
:isInput="true"
@confirm="changeUserMobile"
>
<p v-if="!showUserMobile" class="text">{{ gameUserInfo.mobile }}</p>
</ModificationBox>
</div> </div>
<el-input <!-- <el-input
v-if="showUserMobile" v-if="showUserMobile"
v-model="newMobileValue" v-model="newMobileValue"
style="width: 120px; margin-left: 10px" style="width: 120px; margin-left: 10px"
@change="changeUserMobile" @change="changeUserMobile"
@blur="showUserMobile = false" @blur="showUserMobile = false"
></el-input> ></el-input> -->
<!-- 暂时禁止用户修改手机号 --> <!-- 暂时禁止用户修改手机号 -->
<i <!-- <i
class="el-icon-edit icon" class="el-icon-edit icon"
style="font-size: 14px" style="font-size: 14px"
@click="editUserMobile" @click="editUserMobile"
></i> ></i> -->
</div> </div>
<div class="item rowFlex columnCenter spaceBetween"> <div class="item rowFlex columnCenter spaceBetween">
<div class="rowFlex columnCenter"> <div class="rowFlex columnCenter">
...@@ -311,6 +339,7 @@ import moment from "moment"; ...@@ -311,6 +339,7 @@ import moment from "moment";
import ZyouTag from "./ZyouTag.vue"; import ZyouTag from "./ZyouTag.vue";
import { debounce } from "@/utils"; import { debounce } from "@/utils";
import LastLogin from "@/views/components/quickSendGame/sendGame/lastLogin.vue"; import LastLogin from "@/views/components/quickSendGame/sendGame/lastLogin.vue";
import ModificationBox from "@/components/common/ModificationBox.vue";
export default { export default {
name: "gameUserInfo", name: "gameUserInfo",
...@@ -318,6 +347,7 @@ export default { ...@@ -318,6 +347,7 @@ export default {
ZyouTag, ZyouTag,
MarketingPanel, MarketingPanel,
LastLogin, LastLogin,
ModificationBox,
}, },
props: ["gameUserInfo", "chatUserDetails"], props: ["gameUserInfo", "chatUserDetails"],
data() { data() {
...@@ -467,7 +497,7 @@ export default { ...@@ -467,7 +497,7 @@ export default {
}); });
}, },
// 修改用户手机号 // 修改用户手机号
changeUserMobile() { changeUserMobile(v) {
if ( if (
!/^1((3[0-9])|(4[1579])|(5[0-9])|(6[6])|(7[0-9])|(8[0-9])|(9[0-9]))\d{8}$/.test( !/^1((3[0-9])|(4[1579])|(5[0-9])|(6[6])|(7[0-9])|(8[0-9])|(9[0-9]))\d{8}$/.test(
this.newMobileValue, this.newMobileValue,
...@@ -476,6 +506,7 @@ export default { ...@@ -476,6 +506,7 @@ export default {
this.$message.warning("请填写正确的手机号"); this.$message.warning("请填写正确的手机号");
return false; return false;
} }
this.newMobileValue = v;
this.gameUserInfo.mobile = this.gameUserInfo.mobile =
this.newMobileValue.substr(0, 3) + this.newMobileValue.substr(0, 3) +
"****" + "****" +
...@@ -533,7 +564,7 @@ export default { ...@@ -533,7 +564,7 @@ export default {
} }
.changeUser { .changeUser {
font-size: 18px; font-size: 18px;
transform: rotate(90deg); // transform: rotate(90deg);
color: #3491fa; color: #3491fa;
margin-left: 10px; margin-left: 10px;
margin-top: -5px; margin-top: -5px;
...@@ -633,6 +664,9 @@ export default { ...@@ -633,6 +664,9 @@ export default {
cursor: pointer; cursor: pointer;
font-size: 18px; font-size: 18px;
margin-left: 20px; margin-left: 20px;
&:focus {
outline: none;
}
} }
.refreshListActive { .refreshListActive {
animation: rotate 0.5s linear infinite; animation: rotate 0.5s linear infinite;
......
...@@ -19,14 +19,14 @@ ...@@ -19,14 +19,14 @@
</div> </div>
</template> </template>
<script> <script>
import Info from './components/Info.vue'; import Info from "./components/Info.vue";
import roleInfo from '@/views/roleInfo.vue'; import roleInfo from "@/views/roleInfo.vue";
import orderList from '@/views/orderList.vue'; import orderList from "@/views/orderList.vue";
import { mapState, mapMutations } from 'vuex'; import { mapState, mapMutations } from "vuex";
import { createRoleRecentActivityNotPushNum } from '@/views/hooks/useGetCount'; import { createRoleRecentActivityNotPushNum } from "@/views/hooks/useGetCount";
import Cookies from 'js-cookie'; import Cookies from "js-cookie";
export default { export default {
name: 'userInfo', name: "userInfo",
components: { components: {
Info, Info,
roleInfo, roleInfo,
...@@ -39,13 +39,13 @@ export default { ...@@ -39,13 +39,13 @@ export default {
}, },
data() { data() {
return { return {
activeTab: 'info', activeTab: "info",
instance: null, instance: null,
totalNum: 0, totalNum: 0,
}; };
}, },
computed: { computed: {
...mapState('game', ['chatUserInfo', 'accountSelect']), ...mapState("game", ["chatUserInfo", "accountSelect"]),
}, },
created() { created() {
// 初始化 vuex 中的值 // 初始化 vuex 中的值
...@@ -57,10 +57,10 @@ export default { ...@@ -57,10 +57,10 @@ export default {
}); });
}, },
methods: { methods: {
...mapMutations('user', ['set_userInfo']), ...mapMutations("user", ["set_userInfo"]),
async initInstance() { async initInstance() {
this.instance = await createRoleRecentActivityNotPushNum( this.instance = await createRoleRecentActivityNotPushNum(
this.accountSelect this.accountSelect,
); );
this.totalNum = this.instance.getTotalNum(); this.totalNum = this.instance.getTotalNum();
...@@ -70,10 +70,10 @@ export default { ...@@ -70,10 +70,10 @@ export default {
}, },
initVuexValue() { initVuexValue() {
const userinfo = { const userinfo = {
cser_id: Cookies.get('cser_id'), cser_id: Cookies.get("cser_id"),
cser_name: Cookies.get('cser_name'), cser_name: Cookies.get("cser_name"),
username: Cookies.get('cser_name'), username: Cookies.get("cser_name"),
id: Cookies.get('cser_id'), id: Cookies.get("cser_id"),
}; };
this.set_userInfo(userinfo); this.set_userInfo(userinfo);
}, },
...@@ -95,7 +95,7 @@ export default { ...@@ -95,7 +95,7 @@ export default {
width: 100%; width: 100%;
::v-deep .el-tabs__header { ::v-deep .el-tabs__header {
margin-bottom: 15px; margin-bottom: 0;
padding: 0 10px; padding: 0 10px;
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论