<template>
|
|
<view class="configPopup">
|
|
<uv-popup ref="popup" :round="30" :closeOnClickOverlay="!required">
|
|
<view class="content" v-if="required">
|
|
<scroll-view
|
|
id="scrollView"
|
|
scroll-y="true"
|
|
:scroll-top="scrollTop"
|
|
style="height: 100%;">
|
|
<rich-text :nodes="content"></rich-text>
|
|
|
|
<!-- <view class="uv-parse"
|
|
v-html="content">
|
|
</view> -->
|
|
|
|
<view class="uni-color-btn" @click="success">
|
|
下一步
|
|
</view>
|
|
</scroll-view>
|
|
</view>
|
|
<view class="content" v-else>
|
|
<rich-text :nodes="text || content"></rich-text>
|
|
<!-- <uv-parse :content="text || content"></uv-parse> -->
|
|
</view>
|
|
</uv-popup>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import {
|
|
mapState
|
|
} from 'vuex'
|
|
export default {
|
|
name: 'configPoup',
|
|
props: {
|
|
text: {
|
|
default: ''
|
|
},
|
|
keys: {
|
|
default: [],
|
|
},
|
|
required: {
|
|
default: false,
|
|
},
|
|
},
|
|
data() {
|
|
return {
|
|
content: '',
|
|
index: 0,
|
|
scrollTop : 0,
|
|
}
|
|
},
|
|
created() {
|
|
uni.$on('initConfig', data => {
|
|
this.content = data[this.keys[this.index]]
|
|
})
|
|
},
|
|
methods: {
|
|
|
|
//打开配置信息菜单
|
|
openContent(content) {
|
|
this.content = content
|
|
this.$refs.popup.open('bottom');
|
|
},
|
|
open(key) {
|
|
this.content = this.configList[key]
|
|
this.$refs.popup.open('bottom');
|
|
},
|
|
openkeys() {
|
|
this.index = 0
|
|
this.content = this.configList[this.keys[this.index]]
|
|
this.$refs.popup.open('bottom');
|
|
},
|
|
success() {
|
|
console.log('click success');
|
|
if (this.index == this.keys.length - 1) {
|
|
this.$emit('success')
|
|
this.$refs.popup.close();
|
|
return
|
|
}
|
|
this.index++
|
|
this.content = this.configList[this.keys[this.index]]
|
|
|
|
this.scrollTop = 100
|
|
|
|
this.$nextTick(res => {
|
|
this.scrollTop = 0
|
|
})
|
|
|
|
},
|
|
},
|
|
|
|
computed: {
|
|
...mapState(['configList'])
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.configPopup {
|
|
.content {
|
|
padding: 30rpx 20rpx;
|
|
overflow: scroll;
|
|
height: 50vh;
|
|
box-sizing: border-box;
|
|
.uv-parse{
|
|
width: 100%;
|
|
}
|
|
}
|
|
}
|
|
</style>
|