237 lines
5.0 KiB
Vue
237 lines
5.0 KiB
Vue
<template>
|
||
<div class="PersonnelSetting">
|
||
<div class="title">
|
||
<h2>拍摄人</h2>
|
||
<span>*选择拍摄人后,相册只能上传该拍摄人照片</span>
|
||
</div>
|
||
<div class="cell-group">
|
||
<div class="cell-item" hover-class="bg-hover" @click="userList = [], currIndex = 0">
|
||
<div class="cell-item__left">
|
||
<h2>不限</h2>
|
||
</div>
|
||
<div class="cell-item__check" :class="[currIndex === 0 ? 'active' : '']"></div>
|
||
</div>
|
||
<div class="cell-item" hover-class="bg-hover" @click="toChoose">
|
||
<div class="cell-item__left">
|
||
<h2>根据条件选择</h2>
|
||
</div>
|
||
<div class="cell-item__check" :class="[currIndex === 1 ? 'active' : '']"></div>
|
||
</div>
|
||
</div>
|
||
<div class="user-wrapper" v-if="userList.length">
|
||
<div class="user" v-for="(item, index) in userList" :key="index">
|
||
<h2 class="user-left">
|
||
<AiOpenData v-if="item" type="userName" :openid="item"></AiOpenData>
|
||
</h2>
|
||
<image src="./images/remove.png" @click="remove(index)" />
|
||
</div>
|
||
</div>
|
||
<div class="form-btn" hover-class="text-hover" @click="save">保存</div>
|
||
</div>
|
||
</template>
|
||
|
||
<script>
|
||
import { mapActions } from 'vuex'
|
||
export default {
|
||
name: 'PersonnelSetting',
|
||
|
||
appName: '拍摄人选择',
|
||
|
||
data () {
|
||
return {
|
||
currIndex: 0,
|
||
userList: [],
|
||
ticket: '',
|
||
count: 0
|
||
}
|
||
},
|
||
|
||
onLoad (query) {
|
||
this.getInfo(query.id)
|
||
},
|
||
|
||
methods: {
|
||
...mapActions(['selectPrivilegedContact']),
|
||
|
||
linkTo (url) {
|
||
uni.navigateTo({
|
||
url
|
||
})
|
||
},
|
||
|
||
remove (index) {
|
||
this.userList.splice(index, 1)
|
||
},
|
||
|
||
save () {
|
||
if (this.currIndex === 1 && !this.userList.length) {
|
||
return this.$u.toast('请选择人员')
|
||
}
|
||
|
||
uni.$emit('watermarkChange', {
|
||
type: 'personnel',
|
||
value: this.userList.length ? this.userList : []
|
||
})
|
||
uni.navigateBack({
|
||
delta: 1
|
||
})
|
||
},
|
||
|
||
getInfo (id) {
|
||
this.$http.post(`/api/appalbum/queryDetailById?id=${id}`).then(res => {
|
||
if (res.code === 0) {
|
||
this.userList = res.data.albumUserList || []
|
||
this.currIndex = (res.data.albumUserList && res.data.albumUserList.length) ? 1 : 0
|
||
}
|
||
})
|
||
},
|
||
|
||
toChoose () {
|
||
this.$loading()
|
||
this.currIndex = 1
|
||
this.selectPrivilegedContact({
|
||
fromDepartmentId: 0,
|
||
selectedTickets: this.ticket ? [this.ticket] : [],
|
||
selectedOpenUserIds: this.userList
|
||
}).then(res => {
|
||
uni.hideLoading()
|
||
this.userList = res.userList.map(e => e.openUserId) || []
|
||
this.ticket = res.selectedTicket || ''
|
||
|
||
console.log(res)
|
||
}).catch(() => {
|
||
uni.hideLoading()
|
||
})
|
||
}
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style lang="scss" scoped>
|
||
.PersonnelSetting {
|
||
padding-bottom: 130px;
|
||
|
||
* {
|
||
box-sizing: border-box;
|
||
}
|
||
|
||
.user-wrapper {
|
||
background: #fff;
|
||
|
||
.user {
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: space-between;
|
||
height: 88px;
|
||
padding: 0 32px;
|
||
border-bottom: 1px solid #DDDDDD;
|
||
|
||
.user-left {
|
||
color: #333333;
|
||
font-size: 28px;
|
||
font-weight: 600;
|
||
}
|
||
|
||
image {
|
||
width: 32px;
|
||
height: 32px;
|
||
}
|
||
}
|
||
}
|
||
|
||
.form-btn {
|
||
position: fixed;
|
||
bottom: 0;
|
||
left: 0;
|
||
z-index: 1;
|
||
width: 100%;
|
||
height: 112px;
|
||
line-height: 112px;
|
||
text-align: center;
|
||
color: #fff;
|
||
font-size: 32px;
|
||
background: #1365DD;
|
||
|
||
&:active {
|
||
opacity: 0.8;
|
||
}
|
||
}
|
||
|
||
.tips {
|
||
line-height: 44px;
|
||
margin: 32px;
|
||
font-size: 28px;
|
||
color: #999999;
|
||
white-space: pre-line;
|
||
}
|
||
|
||
.title {
|
||
display: flex;
|
||
align-items: center;
|
||
height: 96px;
|
||
padding: 0 32px;
|
||
|
||
h2 {
|
||
font-weight: normal;
|
||
color: #666666;
|
||
font-size: 32px;
|
||
}
|
||
|
||
span {
|
||
margin-left: 16px;
|
||
color: #999999;
|
||
font-size: 30px;
|
||
}
|
||
}
|
||
|
||
.cell-group {
|
||
.cell-item {
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: space-between;
|
||
height: 108px;
|
||
margin-bottom: 16px;
|
||
padding: 0 32px;
|
||
background: #FFFFFF;
|
||
|
||
&:active {
|
||
background: #eee;
|
||
}
|
||
|
||
image {
|
||
width: 32px;
|
||
height: 32px;
|
||
}
|
||
|
||
&:last-child {
|
||
margin-bottom: 0;
|
||
}
|
||
|
||
h2 {
|
||
margin-bottom: 12px;
|
||
color: #333333;
|
||
font-size: 32px;
|
||
}
|
||
|
||
p {
|
||
color: #999999;
|
||
font-size: 28px;
|
||
}
|
||
|
||
.cell-item__check {
|
||
flex-shrink: 1;
|
||
width: 32px;
|
||
height: 32px;
|
||
border-radius: 50%;
|
||
border: 4px solid #CCCCCC;
|
||
transition: all ease 0.3s;
|
||
|
||
&.active {
|
||
border: 10px solid #1365DD;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
</style>
|