Files
dvcp_v2_wxcp_app/src/saas/AppCountryAlbum/WatermarkSetting.vue
yanran200730 8011f1adab 29796
2022-05-25 14:57:39 +08:00

234 lines
4.9 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<div class="WatermarkSetting" v-if="pageShow">
<div class="title">
<h2>水印选择</h2>
<span>*选择水印后相册只能上传该水印照片</span>
</div>
<div class="cell-group">
<div class="cell-item" hover-class="bg-hover" @click="currIndex = 0, chooseIndex = -1">
<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="currIndex = 1">
<div class="cell-item__left">
<h2>从库中选择水印</h2>
</div>
<div class="cell-item__check" :class="[currIndex === 1 ? 'active' : '']"></div>
</div>
</div>
<div class="title" v-if="currIndex === 1">
<h2>水印库</h2>
</div>
<div class="watermark-list" v-if="currIndex === 1">
<div class="item" @click="chooseIndex = index" v-for="(item, index) in list" :key="index" :class="[chooseIndex === index ? 'active' : '']">
<image class="checked" v-if="chooseIndex === index" src="./images/xuanzhong.png" />
<image class="watermark" :src="item.thum" mode="scaleToFill" />
</div>
</div>
<div class="form-btn" hover-class="text-hover" @click="save">保存</div>
</div>
</template>
<script>
import { config } from './config'
export default {
name: 'WatermarkSetting',
appName: '水印选择',
data () {
return {
currIndex: 0,
config,
list: [],
chooseIndex: -1,
pageShow: false
}
},
onLoad (query) {
if (query.value) {
this.currIndex = 1
this.chooseIndex = query.value ? Number(query.value) : -1
}
this.getList()
},
methods: {
getList () {
this.$loading()
this.$http.post(`/api/appalbumtemplate/list?size=1000&status=1`).then(res => {
if (res.code === 0) {
this.list = res.data.records
}
this.pageShow = true
this.$hideLoading()
})
},
save () {
uni.$emit('change', {
type: 'watermark',
value: this.chooseIndex > -1 ? this.chooseIndex : ''
})
uni.navigateBack({
delta: 1
})
}
}
}
</script>
<style lang="scss" scoped>
.WatermarkSetting {
padding-bottom: 130px;
* {
box-sizing: border-box;
}
.watermark-list {
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
background: #fff;
padding: 16px;
.item {
display: flex;
position: relative;
align-items: center;
justify-content: center;
margin-bottom: 16px;
width: 352px;
height: 240px;
border-radius: 8px;
font-size: 0;
background: #2A3540;
&.active {
border: 4px solid #2477F1;
}
.checked {
position: absolute;
top: 0;
right: 0;
z-index: 1;
width: 64px;
height: 64px;
}
.watermark {
width: 236px;
height: 200px;
}
&:nth-of-type(2n) {
margin-right: 0;
}
}
}
.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>