diff --git a/src/pages/mine/index.vue b/src/pages/mine/index.vue index db15b9cc..350d2ba1 100644 --- a/src/pages/mine/index.vue +++ b/src/pages/mine/index.vue @@ -58,10 +58,21 @@ <div class="wrap1_2_2">预约日期:{{item.date?.replaceAll('/','.')}}</div> <div class="wrap1_2_2">预约类型:{{item.isBlindBox===1?'正常预约':'盲盒预约'}}</div> </div> - <div class="wrap1_3" @click="goViewVenues" :style="{backgroundColor:item.isBlindBox===2?'#000':''}"> - <image v-if="item.isBlindBox===1" src="../../static/zu762@3x.png" alt=""/> - <image v-if="item.isBlindBox===2" style="width: 79rpx;height: 34rpx" src="../../static/zu1216@3x.png" alt=""/> + <div class="wrap1_3" :style="{backgroundColor:item.isBlindBox===2?'#000':''}"> + <image @click="goViewVenues" v-if="item.isBlindBox===1" src="../../static/zu762@3x.png" alt=""/> + <image @click="exchange" v-if="item.isBlindBox===2" style="width: 79rpx;height: 34rpx" src="../../static/zu1216@3x.png" alt=""/> </div> + <tm-drawer hideHeader :width="510" :height="636" ref="calendarView" placement="center" v-model:show="showWin4"> + <div class="content8"> + <div class="wrap1">领取成功</div> + <div class="wrap2">1人1码请与工作人员核验领取</div> + <div class="wrap3"> + <image :src="imageSrc"></image> + </div> + <div class="wrap4" @click="showWin4=false">确定</div> + <div class="wrap5">*可从“我的票库”查看</div> + </div> + </tm-drawer> </div> </div> </div> @@ -69,10 +80,12 @@ <script setup> import {ref} from 'vue' import {onShow} from "@dcloudio/uni-app"; -import {historicalTickets, unusedTickets} from "@/http/apis"; +import {extractingBlindBoxes, getQrCode, historicalTickets, unusedTickets} from "@/http/apis"; const modeClass = ref('') const currentTab = ref(0) +const showWin4=ref(false) const show = ref(true) +const imageSrc=ref('') const userInfo = ref(uni.getStorageSync('userInfo') ?? {}) onShow(() => { show.value = true @@ -123,6 +136,27 @@ const switchOptions=async (num)=>{ } currentTab.value=num } +const exchange=async ()=>{ + const data={ + "userName": userInfo.value.realName, //用户姓名 + "idCard": userInfo.value.idNum, //用户身份证号 + "phone": userInfo.value.telNum, //预约电话 + "blindBoxName": "博物馆开馆纪念盲盒" //盲盒名称 + } + const res=await extractingBlindBoxes(data) + if (res.code===0){ + uni.showToast({ + title: res.msg, + icon:'success', + duration: 1000 + }) + }else if (res.code===200){ + const res1= await getQrCode({appointUid:res.data.appointmentUid}) + const arrayBuffer = new Uint8Array(res1) + imageSrc.value = "data:image/png;base64," + uni.arrayBufferToBase64(arrayBuffer) + showWin4.value=true + } +} const goViewVenues = () => { uni.navigateTo({ url: '/pages/view-venues/index'