|
|
- <template>
- <uv-popup
- ref="popup"
- :overlayOpacity="0.8"
- :customStyle="{
- backgroundColor: 'transparent',
- }"
- >
- <view class="flex content">
- <template v-if="mode === 'activate'">
- <image class="popup-bg" src="@/pages_order/static/center/activate-code.png"></image>
-
- <view class="flex popup-btns">
- <button plain class="btn-simple" @click="close">
- <image class="popup-btn" src="@/pages_order/static/center/cancel.png"></image>
- </button>
- <button plain class="btn-simple" @click="onConfirm">
- <image class="popup-btn" src="@/pages_order/static/center/confirm.png"></image>
- </button>
- </view>
-
- <uv-input
- v-model="code"
- :focus="true"
- inputAlign="center"
- color="#3DFEE0"
- fontSize="45rpx"
- border="none"
- :customStyle="{
- backgroundColor: 'transparent',
- width: '250rpx',
- height: '63rpx',
- position: 'absolute',
- top: '216rpx',
- left: '160rpx',
- }"
- ></uv-input>
- </template>
- <template v-else>
- <image class="popup-bg" src="@/pages_order/static/center/not-agent.png"></image>
- <view class="flex popup-btns">
- <button plain class="btn-simple" @click="close">
- <image class="popup-btn" src="@/pages_order/static/center/cancel.png"></image>
- </button>
- <button plain class="btn-simple" @click="mode = 'activate'" >
- <image class="popup-btn" src="@/pages_order/static/center/activate.png"></image>
- </button>
- </view>
- </template>
- </view>
- </uv-popup>
- </template>
-
- <script>
- export default {
- props: {
- role: {
- default: null
- }
- },
- data() {
- return {
- mode: '',
- code: '',
- }
- },
- methods: {
- open(role) {
- this.mode = role ? 'activate' : ''
- this.$refs.popup.open();
- },
- close() {
- this.$refs.popup.close();
- },
- async onConfirm() {
-
- try {
-
- await this.$fetch('openVip', { code: this.code })
-
- this.$store.commit('getUserInfo')
-
- uni.showToast({
- title: '激活成功',
- icon: 'none'
- })
-
- this.close()
- } catch (err) {
-
- }
-
- }
- },
- }
- </script>
-
- <style scoped lang="scss">
- .content {
- position: relative;
- flex-direction: column;
- width: 570rpx;
- }
-
- .popup {
- &-bg {
- width: 514rpx; height: 355rpx;
- }
-
- &-btns {
- justify-content: space-between;
- margin-top: 56rpx;
- width: 100%;
- }
-
- &-btn {
- width: 265rpx;
- height: 84rpx;
- }
- }
- </style>
|