@ -3,58 +3,47 @@
< zPaging ref = "zPaging" :show-scrollbar ="false" >
< template # top >
< div : class = "state.chooseMode === 3 ? 'top_bg' : ''" >
< customNavbar
<!-- < customNavbar
: class = "state.chooseMode === 3 ? 'index_top_navbar' : ''"
: title = "pageTitle"
> < / customNavbar >
> < / customNavbar > -- >
< customNavbar : class = "state.chooseMode === 3 ? 'index_top_navbar' : ''" :title ="pageTitle" :hideHome ="navshow"
: hideBack = "navshow" >
< template # left >
< tm -icon @click ="goWebHome" v -if = " navshow " name = "tmicon-angle-left"
style = "padding-left: 30rpx;" > < / t m - i c o n >
< / template >
< / customNavbar >
< div class = "pl-[32rpx] pr-[32rpx] pt-[32rpx] pb-[32rpx]" >
< customInput
: searchText = "searchVal"
@ inputSearchText = "inputSearchText"
> < / customInput >
< customInput :searchText ="searchVal" @inputSearchText ="inputSearchText" > < / customInput >
< / div >
< / div >
< / template >
< div class = "choose-deps" >
< div class = "w-full pl-[32rpx] pr-[32rpx]" >
< div
v - if = "crumbs.length"
< div v -if = " crumbs.length "
class = "w-full overflow-x-auto mt-[22rpx] leading-[48rpx] text-[#2F2F2F] flex items-center no-scrollbar"
ref = "crumbsContainer"
>
< div
v - for = "(item, index) in crumbs"
class = "flex items-center text-[28rpx] leading-[48rpx] whitespace-nowrap"
: class = " [
ref = "crumbsContainer" >
< div v -for = " ( item , index ) in crumbs "
class = "flex items-center text-[28rpx] leading-[48rpx] whitespace-nowrap" : class = " [
index === crumbsIndex ? 'text-[#747474]' : 'text-[#46299D]' ,
index === 0 ? '' : 'ml-[12rpx]' ,
] "
@ click = "handleCrumbsClick(index)"
>
] " @click=" handleCrumbsClick ( index ) " >
< div > { { item . name } } < / div >
< div
v - if = "index !== crumbs.length - 1"
class = "ml-[20rpx] flex items-center mb-[2rpx]"
>
< tm -icon
name = "tmicon-angle-right"
: font - size = "20"
: color = "index !== crumbs.length - 1 ? '#7A58DE' : '#C1B4EA'"
> < / t m - i c o n >
< div v-if ="index !== crumbs.length - 1" class="ml-[20rpx] flex items-center mb-[2rpx]" >
< tm -icon name = "tmicon-angle-right" :font-size ="20"
: color = "index !== crumbs.length - 1 ? '#7A58DE' : '#C1B4EA'" > < / t m - i c o n >
< / div >
< / div >
< / div >
< div
v - if = "
< div v -if = "
( state . chooseMode === 1 || state . chooseMode === 2 ) &&
( ( currentCrumbs ? . sons ? . length > 0 &&
( ( state . chooseMode === 2 && ! searchVal ) ||
state . chooseMode !== 2 ) ) ||
currentMembers ? . length > 0 )
"
class = "pl-[32rpx] bg-[#FFFFFF] mt-[20rpx] h-[110rpx] flex items-center"
@ click = "() => allCheck(allCheckStatus)"
>
" class=" pl - [ 32 rpx ] bg - [ # FFFFFF ] mt - [ 20 rpx ] h - [ 110 rpx ] flex items - center "
@ click = "() => allCheck(allCheckStatus)" >
< div class = "mr-[20rpx]" >
< checkBox @ change = "(val) => allCheck(allCheckStatus)" :modelValue ="allCheckStatus" > < / checkBox >
< / div >
@ -62,13 +51,10 @@
{ { $t ( 'radio.btn.selectAll' ) } }
< / div >
< / div >
< div
v - if = "
< div v -if = "
currentCrumbs ? . sons ? . length > 0 &&
( ( state . chooseMode === 2 && ! searchVal ) || state . chooseMode !== 2 )
"
v - for = "item in currentCrumbs?.sons"
@ click = "
" v-for=" item in currentCrumbs ? . sons " @click="
state . chooseMode === 1 || state . chooseMode === 2
? checkItemChange (
item ,
@ -79,19 +65,11 @@
: 'checked' ,
)
: ''
"
class = "pl-[32rpx] bg-[#FFFFFF] mt-[20rpx] h-[110rpx] flex items-center"
>
" class=" pl - [ 32 rpx ] bg - [ # FFFFFF ] mt - [ 20 rpx ] h - [ 110 rpx ] flex items - center " >
< div class = "w-full flex items-center justify-between" >
< div class = "flex items-center" >
< div
class = "mr-[20rpx]"
v - if = "state.chooseMode === 1 || state.chooseMode === 2"
>
< checkBox
v - model = "item.checkStatus"
@ change = "(val) => checkItemChange(item, val)"
> < / checkBox >
< div class = "mr-[20rpx]" v-if ="state.chooseMode === 1 || state.chooseMode === 2" >
< checkBox v-model ="item.checkStatus" @change="(val) => checkItemChange(item, val)" > < / checkBox >
< / div >
< div class = "font-medium text-[28rpx] leading-[40rpx]" >
< span > { { item . name } } < / span >
@ -100,63 +78,38 @@
< / span >
< / div >
< / div >
< div
v - if = "
< div v -if = "
( item . sons ? . length && state . chooseMode === 1 ) ||
( ( state . chooseMode === 2 || state . chooseMode === 3 ) &&
getDepTotalMembers ( item ) > 0 )
"
class = "flex items-center mr-[32rpx]"
>
< div
class = "vDivider mr-[32rpx]"
v - if = "state.chooseMode === 1"
> < / div >
< div
v - if = "state.chooseMode === 1"
@ click . stop = "checkCurrentItem(item)"
class = "flex items-center mr-[32rpx]"
: class = " {
" class=" flex items - center mr - [ 32 rpx ] " >
< div class = "vDivider mr-[32rpx]" v-if ="state.chooseMode === 1" > < / div >
< div v -if = " state.chooseMode = = = 1 " @click.stop ="checkCurrentItem(item)"
class = "flex items-center mr-[32rpx]" : class = " {
'opacity-50 cursor-not-allowed' :
item . checkStatus === 'checked' ,
} "
>
} " >
< div class = "mr-[20rpx]" >
< checkBox
: modelValue = "
< checkBox : modelValue = "
item . currentChecked ? 'checked' : 'noChecked'
"
@ change = "() => checkCurrentItem(item)"
> < / checkBox >
" @change=" ( ) => checkCurrentItem ( item ) " > < / checkBox >
< / div >
< div
class = "text-[28rpx] leading-[40rpx] font-medium text-[#46299D]"
>
< div class = "text-[28rpx] leading-[40rpx] font-medium text-[#46299D]" >
{ { $t ( 'choose.deps.current' ) } }
< / div >
< / div >
< div class = "vDivider mr-[32rpx]" > < / div >
< div
@ click . stop = "() => toNextLevel(item)"
class = "flex items-center"
>
< div @ click.stop = " ( ) = > toNextLevel ( item ) " class=" flex items - center " >
< div class = "mr-[12rpx]" >
< tm -image
: width = "26"
: height = "26"
: src = "
< tm -image :width ="26" :height ="26" : src = "
item . checkStatus !== 'checked' ? downDep : downDepDis
"
> < / t m - i m a g e >
" > < / t m - i m a g e >
< / div >
< div
class = "text-[28rpx] leading-[40rpx] font-medium"
: class = "
< div class = "text-[28rpx] leading-[40rpx] font-medium" : class = "
item . checkStatus !== 'checked'
? 'text-[#46299D]'
: 'text-[#C1B4EA]'
"
>
" >
{ { $t ( 'choose.deps.nextLevel' ) } }
< / div >
< / div >
@ -164,13 +117,10 @@
< / div >
< / div >
< div
v - if = "
< div v -if = "
currentMembers . length &&
( state . chooseMode === 2 || state . chooseMode === 3 )
"
v - for = "item in currentMembers"
@ click = "
" v-for=" item in currentMembers " @click="
state . chooseMode === 1 || state . chooseMode === 2
? checkMember (
item ,
@ -180,68 +130,39 @@
: 'checked' ,
)
: toUserDetail ( item )
"
class = "pl-[32rpx] pr-[32rpx] bg-[#FFFFFF] mt-[20rpx] h-[110rpx] flex items-center"
>
" class=" pl - [ 32 rpx ] pr - [ 32 rpx ] bg - [ # FFFFFF ] mt - [ 20 rpx ] h - [ 110 rpx ] flex items - center " >
< div class = "w-full flex items-center justify-between" >
< div class = "w-full flex items-center" >
< div
class = "mr-[20rpx]"
v - if = "state.chooseMode === 1 || state.chooseMode === 2"
>
< checkBox
: disabled = "isPreSelectedMember(item)"
: modelValue = "
< div class = "mr-[20rpx]" v-if ="state.chooseMode === 1 || state.chooseMode === 2" >
< checkBox :disabled ="isPreSelectedMember(item)" : modelValue = "
membersCheckedKeys . filter ( ( v ) => v . ID === item . ID )
. length > 0
? 'checked'
: 'noChecked'
"
@ change = "(val) => checkMember(item, val)"
> < / checkBox >
" @change=" ( val ) => checkMember ( item , val ) " > < / checkBox >
< / div >
< div class = "w-full flex items-center" >
< div
class = "userAvatar flex items-center justify-center"
style = "flex-shrink: 0;"
>
< div class = "userAvatar flex items-center justify-center" style = "flex-shrink: 0;" >
{ { item . nickName . slice ( - 2 ) } }
< / div >
< div
class = "ml-[20rpx] flex flex-col justify-center w-[112rpx]"
style = "word-break: break-all; flex-shrink: 0;"
>
< div class = "ml-[20rpx] flex flex-col justify-center w-[112rpx]"
style = "word-break: break-all; flex-shrink: 0;" >
< div class = "text-[28rpx] font-medium leading-[40rpx]" >
{ { item . nickName } }
< / div >
< div
class = "text-[20rpx] text-[#747474] leading-[28rpx] font-regular"
>
< div class = "text-[20rpx] text-[#747474] leading-[28rpx] font-regular" >
{ { item . jobNum } }
< / div >
< / div >
< tm -popover
position = "tc"
style = "max-width: calc(100% - 64rpx - 112rpx - 20rpx);"
>
< div
class = "max-w-full ml-[6rpx] flex max-h-[68rpx] flex-wrap line-clamp-2"
>
< div
v - for = "post in item.positions"
class = "postTag truncate mb-[4rpx] ml-[14rpx] max-w-[164rpx]"
>
< tm -popover position = "tc" style = "max-width: calc(100% - 64rpx - 112rpx - 20rpx);" >
< div class = "max-w-full ml-[6rpx] flex max-h-[68rpx] flex-wrap line-clamp-2" >
< div v-for ="post in item.positions" class="postTag truncate mb-[4rpx] ml-[14rpx] max-w-[164rpx]" >
{ { post . name } }
< / div >
< / div >
< template v -slot : label >
< div
class = "max-h-[250rpx] overflow-y-auto pt-[10rpx] pl-[18rpx] pr-[18rpx] pb-[12rpx]"
>
< div
v - for = "post in item.positions"
class = "postTag truncate mb-[10rpx]"
>
< div class = "max-h-[250rpx] overflow-y-auto pt-[10rpx] pl-[18rpx] pr-[18rpx] pb-[12rpx]" >
< div v-for ="post in item.positions" class="postTag truncate mb-[10rpx]" >
{ { post . name } }
< / div >
< / div >
@ -254,15 +175,11 @@
< / div >
< / div >
< template # bottom v-if ="state.chooseMode === 1 || state.chooseMode === 2" >
< div
class = "h-[162rpx] pl-[32rpx] pr-[32rpx] bg-[#FFFFFF] confirm-btn-area"
>
< div class = "h-[162rpx] pl-[32rpx] pr-[32rpx] bg-[#FFFFFF] confirm-btn-area" >
< div class = "mt-[2rpx] flex justify-between" >
< div class = "flex flex-col mt-[32rpx]" >
< div
@ click = "openDrawer"
class = "flex items-center text-[28rpx] leading-[40rpx] text-[#000000] font-medium"
>
< div @click ="openDrawer"
class = "flex items-center text-[28rpx] leading-[40rpx] text-[#000000] font-medium" >
< div >
< span v-if ="state.chooseMode === 1" >
{ { $t ( 'statistics.selected.deps' ) } } :
@ -280,64 +197,38 @@
< / span >
< / div >
< div class = "ml-[28rpx]" >
< tm -icon
: fontSize = "24"
color = "#46299D"
name = "tmicon-angle-up"
> < / t m - i c o n >
< tm -icon :fontSize ="24" color = "#46299D" name = "tmicon-angle-up" > < / t m - i c o n >
< / div >
< / div >
< div
class = "text-[24rpx] leading-[34rpx] text-[#7A58DE] w-[280rpx] truncate"
>
< div class = "text-[24rpx] leading-[34rpx] text-[#7A58DE] w-[280rpx] truncate" >
< span v-if ="state.chooseMode === 1" >
{ { allCheckedList . map ( ( v ) => v . name ) . toString ( ) } }
< / span >
< span
v - if = "state.chooseMode === 2"
v - for = "item in allCheckedList"
>
< span v-if ="state.chooseMode === 2" v-for="item in allCheckedList" >
< span v-if ="item.showInPopup" >
{ { item . name } } ( { { getDepTotalMembers ( item ) } } )
< / span >
< / span >
< span
v - if = "state.chooseMode === 2"
v - for = "(item, index) in membersCheckedKeys"
>
< span v-if ="state.chooseMode === 2" v-for="(item, index) in membersCheckedKeys" >
{ { item . nickName } }
{ { index !== membersCheckedKeys . length - 1 ? ',' : '' } }
< / span >
< / div >
< / div >
< div class = "btnBox" >
< customBtn
: btnText = "$t('ok')"
@ clickBtn = "handleConfirm"
: disabled = "
< customBtn :btnText ="$t('ok')" @clickBtn ="handleConfirm" : disabled = "
state . chooseMode === 1
? ! allCheckedList . length
: state . chooseMode === 2
? ! allCheckedList . length && ! membersCheckedKeys . length
: true
"
> < / customBtn >
" > < / customBtn >
< / div >
< / div >
< / div >
< tm -drawer
placement = "bottom"
v - model : show = "showWin"
: height = "800"
: hideHeader = "true"
: round = "5"
>
< div
class = "flex flex-col w-full h-full pt-[36rpx] pl-[32rpx] pr-[32rpx] leading-[60rpx]"
>
< div
class = "text-[32rpx] font-medium leading-[44rpx] flex items-center justify-between"
>
< tm -drawer placement = "bottom" v -model :show ="showWin" :height ="800" :hideHeader ="true" :round ="5" >
< div class = "flex flex-col w-full h-full pt-[36rpx] pl-[32rpx] pr-[32rpx] leading-[60rpx]" >
< div class = "text-[32rpx] font-medium leading-[44rpx] flex items-center justify-between" >
< div class = "flex items-center ml-[10rpx]" >
< div >
< span v-if ="state.chooseMode === 1" >
@ -356,30 +247,19 @@
< / span >
< / div >
< / div >
< div
class = "text-[#7A58DE] mr-[10rpx]"
@ click = "() => (showWin = false)"
>
< div class = "text-[#7A58DE] mr-[10rpx]" @ click = "() => (showWin = false)" >
{ { $t ( 'ok' ) } }
< / div >
< / div >
< scroll -view
scroll - y
class = "h-[690rpx] mt-[30rpx] scroll-view-style"
>
< scroll -view scroll -y class = "h-[690rpx] mt-[30rpx] scroll-view-style" >
< div class = "flex-1 pb-[20rpx]" >
< div
v - for = "(item, index) in allCheckedList"
class = "flex flex-col"
>
< div v-for ="(item, index) in allCheckedList" class="flex flex-col" >
< div v-if ="index === 0" class="divider" > < / div >
< div
v - if = "
< div v -if = "
( item . showInPopup && state . chooseMode === 2 ) ||
state . chooseMode !== 2
"
class = "flex items-center justify-between mt-[36rpx] font-medium text-[#000000] leading-[40rpx] mb-[34rpx]"
>
class = "flex items-center justify-between mt-[36rpx] font-medium text-[#000000] leading-[40rpx] mb-[34rpx]" >
< div class = "text-[28rpx] ml-[10rpx]" >
< span > { { item . name } } < / span >
< span v-if ="state.chooseMode === 2" >
@ -387,56 +267,35 @@
< / span >
< / div >
< div class = "diyBtn" >
< customBtn
: plain = "true"
: btnText = "$t('chatSettings.btn.removeAdmin')"
@ clickBtn = "deleteNode(item)"
> < / customBtn >
< customBtn :plain ="true" :btnText ="$t('chatSettings.btn.removeAdmin')"
@ clickBtn = "deleteNode(item)" > < / customBtn >
< / div >
< / div >
< div
class = "divider"
v - if = "
< div class = "divider" v -if = "
( item . showInPopup && state . chooseMode === 2 ) ||
state . chooseMode !== 2
"
> < / div >
" > < / div >
< / div >
< div
v - for = "(item, index) in membersCheckedKeys"
class = "flex flex-col"
>
< div
v - if = "
< div v-for ="(item, index) in membersCheckedKeys" class="flex flex-col" >
< div v -if = "
index === 0 &&
allCheckedList . length == 0 &&
state . chooseMode === 2
"
class = "divider"
> < / div >
< div
v - if = "state.chooseMode === 2"
class = "flex items-center justify-between mt-[36rpx] font-medium text-[#000000] leading-[40rpx] mb-[34rpx]"
>
" class=" divider " > < / div >
< div v -if = " state.chooseMode = = = 2 "
class = "flex items-center justify-between mt-[36rpx] font-medium text-[#000000] leading-[40rpx] mb-[34rpx]" >
< div class = "text-[28rpx] ml-[10rpx] flex" >
< div > { { item . nickName } } ( { { item . jobNum } } ) < / div >
< div
class = "ml-[20rpx] flex h-[68rpx] flex-wrap line-clamp-2 max-w-[342rpx]"
>
< div
v - for = "post in item.positions"
class = "postTag truncate mb-[4rpx] mr-[14rpx] max-w-[164rpx]"
>
< div class = "ml-[20rpx] flex h-[68rpx] flex-wrap line-clamp-2 max-w-[342rpx]" >
< div v -for = " post in item.positions "
class = "postTag truncate mb-[4rpx] mr-[14rpx] max-w-[164rpx]" >
{ { post . name } }
< / div >
< / div >
< / div >
< div class = "diyBtn" >
< customBtn
: plain = "true"
: btnText = "$t('chatSettings.btn.removeAdmin')"
@ clickBtn = "deleteMember(item)"
> < / customBtn >
< customBtn :plain ="true" :btnText ="$t('chatSettings.btn.removeAdmin')"
@ clickBtn = "deleteMember(item)" > < / customBtn >
< / div >
< / div >
< div class = "divider" v-if ="state.chooseMode === 2" > < / div >
@ -453,20 +312,45 @@
import customInput from '@/components/custom-input/custom-input.vue'
import customBtn from '@/components/custom-btn/custom-btn.vue'
import zPaging from '@/uni_modules/z-paging/components/z-paging/z-paging.vue'
import { ref , watch , computed , onMounted , nextTick , reactive } from 'vue'
import { onShow , onLoad } from '@dcloudio/uni-app'
import { useChatList } from '@/store/chatList/index.js'
import { useAuth } from '@/store/auth'
import { useTalkStore , useUserStore } from '@/store'
import { useGroupTypeStore } from '@/store/groupType'
import {
ref ,
watch ,
computed ,
onMounted ,
nextTick ,
reactive
} from 'vue'
import {
onShow ,
onLoad
} from '@dcloudio/uni-app'
import {
useChatList
} from '@/store/chatList/index.js'
import {
useAuth
} from '@/store/auth'
import {
useTalkStore ,
useUserStore
} from '@/store'
import {
useGroupTypeStore
} from '@/store/groupType'
import downDep from '@/static/image/chatList/downDep.png'
import downDepDis from '@/static/image/chatList/downDepDis.png'
import checkBox from '@/components/checkBox/index.vue'
import lodash from 'lodash'
import { handleSetWebviewStyle } from '@/utils/common'
import {
handleSetWebviewStyle
} from '@/utils/common'
import { useI18n } from 'vue-i18n'
const { t } = useI18n ( )
import {
useI18n
} from 'vue-i18n'
const {
t
} = useI18n ( )
const {
groupActiveIndex ,
@ -481,7 +365,7 @@ const {
allChooseMembers ,
} = useGroupTypeStore ( )
const userStore = useUserStore ( )
const navshow = ref ( false )
const searchVal = ref ( '' )
const crumbsContainer = ref ( null )
const showWin = ref ( false )
@ -496,6 +380,9 @@ onLoad((options) => {
if ( options . chooseMode ) {
state . chooseMode = Number ( options . chooseMode )
}
if ( options . type ) {
navshow . value = true
}
/ / 如 果 有 预 选 成 员 数 据 , 初 始 化 选 中 状 态
if ( options . preSelectedMembers ) {
@ -509,7 +396,15 @@ onLoad((options) => {
}
}
} )
const goWebHome = ( ) => {
uni . navigateBack ( )
let OAWebView = plus . webview . all ( )
OAWebView . forEach ( ( webview ) => {
if ( webview . id === 'webviewId1' ) {
webview . evalJS ( ` handleBackHost() ` )
}
} )
}
/ / 添 加 判 断 是 否 为 预 选 成 员 的 方 法
const isPreSelectedMember = ( member ) => {
return state . preSelectedMembers . some (
@ -590,6 +485,7 @@ const currentCrumbs = computed(() => {
const buildDepsMap = ( departments ) => {
const index = new Map ( )
function traverse ( deps ) {
for ( let dep of deps ) {
index . set ( ` ${ dep . name } ` , dep )
@ -613,11 +509,11 @@ const allCheckStatus = computed(() => {
if ( state . chooseMode === 2 ) {
/ / 检 查 部 门 选 择 状 态
const allDepsChecked =
currentCrumbs ? . value ? . sons ? . length > 0
? currentCrumbs ? . value ? . sons ? . every (
currentCrumbs ? . value ? . sons ? . length > 0 ?
currentCrumbs ? . value ? . sons ? . every (
( son ) => son . checkStatus === 'checked' ,
)
: true
) :
true
/ / 检 查 人 员 选 择 状 态 , 需 要 排 除 已 在 群 里 的 成 员
const selectableMembers = currentMembers . value . filter (
@ -863,8 +759,7 @@ const allCheck = (status) => {
const openDrawer = ( ) => {
showWin . value = true
if ( allCheckedList . length > 0 ) {
}
if ( allCheckedList . length > 0 ) { }
}
/ / w a t c h ( ( ) = > d e p T r e e M y L i s t . v a l u e , ( n e w V a l u e , o l d V a l u e ) = > {
@ -925,7 +820,9 @@ const init = async () => {
ID : 'all' ,
name : t ( 'choose.deps.all' ) ,
sons : [ ... depTreeMyList . value ] , / / 使 用 浅 拷 贝 避 免 引 用 问 题
staffNum : calculateTotalStaffNum ( { sons : depTreeMyList . value } ) ,
staffNum : calculateTotalStaffNum ( {
sons : depTreeMyList . value
} ) ,
}
depTreeMyList . value = [ allNode ]
crumbs . value = [ allNode ]
@ -1019,7 +916,9 @@ const getCurrentMembers = async (depItem) => {
return
}
/ / 使 用 更 明 确 的 参 数 结 构
let params = { status : 'notactive' }
let params = {
status : 'notactive'
}
if ( searchVal . value ) {
params = {
fatherDepartmentId : depItem . ID ,
@ -1036,14 +935,13 @@ const getCurrentMembers = async (depItem) => {
}
const res = await getDepMembers ( params )
if ( res . code === 200 ) {
currentMembers . value = res ? . data ? . data ? . length
? res . data . data . map ( ( v ) => {
currentMembers . value = res ? . data ? . data ? . length ?
res . data . data . map ( ( v ) => {
return {
... v ,
isMember : true ,
}
} )
: [ ]
} ) : [ ]
} else {
currentMembers . value = [ ]
}
@ -1068,8 +966,9 @@ watch(
if ( newValue ? . ID && ( state . chooseMode === 2 || state . chooseMode === 3 ) ) {
getCurrentMembers ( newValue )
}
} , {
immediate : true
} ,
{ immediate : true } ,
)
const deleteMember = ( item ) => {
@ -1100,8 +999,7 @@ const totalMembers = computed(() => {
const toUserDetail = ( userItem ) => {
console . log ( userItem )
uni . navigateTo ( {
url :
'/pages/dialog/dialogDetail/userDetail??erpUserId=' +
url : '/pages/dialog/dialogDetail/userDetail??erpUserId=' +
( userItem . erp _user _id || userItem . ID ) ,
} )
}
@ -1111,9 +1009,11 @@ const toUserDetail = (userItem) => {
height : 100 % ;
display : flex ;
}
: : v - deep . index _top _navbar . tmicon - angle - left {
color : # fff ! important ;
}
: : v - deep . index _top _navbar . text - weight - b {
color : # fff ! important ;
}
@ -1122,11 +1022,13 @@ const toUserDetail = (userItem) => {
background : transparent ! important ;
border : none ! important ;
}
. top _bg {
background : url ( '@/static/image/mine/page_top.png' ) no - repeat ;
background - size : cover ;
background - position : bottom center ;
}
. choose - deps - page {
. choose - deps {
flex : 1 ;
@ -1146,6 +1048,7 @@ const toUserDetail = (userItem) => {
background - color : # 707070 ;
opacity : 0.1 ;
}
. vDivider {
width : 1 rpx ;
height : 48 rpx ;
@ -1159,6 +1062,7 @@ const toUserDetail = (userItem) => {
border - radius : 50 % ;
margin - bottom : 40 rpx ;
}
. groupCard {
height : 272 rpx ;
width : 100 % ;
@ -1166,45 +1070,58 @@ const toUserDetail = (userItem) => {
background - position : center ;
background - repeat : no - repeat ;
border - radius : 12 rpx ;
& . firstPanel {
background - image : url ( '@/static/image/chatList/zu6033@2x.png' ) ;
}
& . secondPanel {
background - image : url ( '@/static/image/chatList/zu6031@2x.png' ) ;
margin - top : 28 rpx ;
margin - bottom : 28 rpx ;
}
& . thirdPanel {
background - image : url ( '@/static/image/chatList/zu6032@2x.png' ) ;
}
& . activePanel {
box - shadow : 0 0 0 3 rpx # 46299 d ;
}
}
. btnBox {
margin : 14 rpx 0 0 ;
: : v - deep . custom - btn - class {
padding : 18 rpx 104 rpx ! important ;
width : unset ! important ;
}
: : v - deep . is - disabled {
background - color : # e6e6e6 ! important ;
color : # bebebe ! important ;
}
: : v - deep . wd - button _ _text {
font - size : 28 rpx ! important ;
font - weight : 500 ! important ;
line - height : 40 rpx ! important ;
}
}
. no - scrollbar {
- ms - overflow - style : none ; /* IE and Edge */
scrollbar - width : none ; /* Firefox */
- ms - overflow - style : none ;
/* IE and Edge */
scrollbar - width : none ;
/* Firefox */
}
. no - scrollbar : : - webkit - scrollbar {
display : none ; /* Chrome, Safari, and Opera */
display : none ;
/* Chrome, Safari, and Opera */
}
. diyBtn {
: : v - deep . custom - btn - class {
padding : 8 rpx 30 rpx ! important ;
@ -1212,12 +1129,14 @@ const toUserDetail = (userItem) => {
min - width : unset ! important ;
height : unset ! important ;
}
: : v - deep . wd - button _ _text {
font - size : 24 rpx ! important ;
font - weight : 400 ! important ;
line - height : 34 rpx ! important ;
color : # 191919 ;
}
: : v - deep . custom - btn - class {
background - color : # fff ! important ;
border : 2 rpx solid # d6d6d8 ! important ;
@ -1231,6 +1150,7 @@ const toUserDetail = (userItem) => {
. scroll - view - style {
- ms - overflow - style : none ;
overflow : - moz - scrollbars - none ;
: : - webkit - scrollbar {
width : 0 ! important ;
}
@ -1245,6 +1165,7 @@ const toUserDetail = (userItem) => {
font - size : 24 rpx ;
font - weight : bold ;
}
. postTag {
background - color : # eee9f8 ;
height : 32 rpx ;