| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199 | 
							- <!-- 奖品领取 -->
 
- <template>
 
-   <s-layout title="奖品领取">
 
-     <view class="ss-flex" style="justify-content: flex-end;">
 
-       <button class="refresh-btn ss-reset-button" type="warn" plain="true" @tap.stop="getAddressList">
 
-         <uni-icons type="reload" color="#ff3404" size="30"></uni-icons>
 
-         刷 新
 
-       </button>
 
-     </view>
 
-     <view v-if="state.addressList.length">
 
-       <view class="address-item ss-flex ss-row-between ss-col-center border-bottom"
 
-         v-for="(item, index) in state.addressList"
 
-         :key="item.id"
 
-         @tap.stop="state.selectedIndex = index"
 
-       >
 
-         <view class="item-left">
 
-           <view class="area-text ss-flex ss-col-center">{{ item.areaName }}</view>
 
-           <view class="address-text">{{ item.detailAddress }}</view>
 
-           <view class="person-text"> {{ item.name }} {{ item.mobile }} </view>
 
-         </view>
 
-         <view>
 
-           <uni-icons 
 
-             :type="index === state.selectedIndex ? 'checkbox-filled' : 'circle'" 
 
-             :color="index === state.selectedIndex ? '#ff3404' : '#000000'" 
 
-             size="28"
 
-           ></uni-icons>
 
-         </view>
 
-       </view>
 
-     </view>
 
-     <su-fixed bottom :opacity="false" bg="" placeholder :noFixed="false" :index="10">
 
-       <view class="footer-box ss-flex-col ss-row-between">
 
-         <view class="ss-m-b-20 ss-flex">
 
-           <button
 
-             class="save-btn ss-reset-button ui-Shadow-Main"
 
-             @tap="sheep.$router.go('/pages/user/address/edit')"
 
-             >
 
-             新增收货地址
 
-           </button>
 
-           <button class="ss-reset-button save-btn ui-Shadow-Main" @tap.stop="onSave">领取</button>
 
-         </view>
 
-       </view>
 
-     </su-fixed>
 
-   </s-layout>
 
- </template>
 
- <script setup>
 
-   import { ref, reactive } from 'vue';
 
-   import sheep from '@/sheep';
 
-   import { onLoad, onShow } from '@dcloudio/uni-app';
 
-   import _ from 'lodash-es';
 
-   import AddressApi from '@/sheep/api/member/address';
 
-   import PrizeApi from '@/sheep/api/prizeDraw'
 
-   const state = reactive({
 
-     selectedIndex: 0,
 
- 		addressList: [],
 
-   });
 
- 	// 获取收货地址
 
- 	const getAddressList = async () => {
 
- 		const list = (await AddressApi.getAddressList()).data;
 
-     state.addressList = list.map(e => {
 
-       return { text: e.areaName, value: e.id, ...e }
 
-     })
 
- 	}
 
-   // 保存收货地址
 
-   const onSave = async () => {
 
-     if (!state.addressList || !state.addressList.length) {
 
-       uni.showToast({
 
-         title: '请新增收货地址',
 
-         icon: 'none',
 
-         duration: 2000
 
-       })
 
-       return
 
-     }
 
-     const address = state.addressList[state.selectedIndex]
 
-     if (!address || !Object.keys(address).length) {
 
-       uni.showToast({
 
-         title: '请选择收货地址',
 
-         icon: 'none',
 
-         duration: 2000
 
-       })
 
-       return
 
-     }
 
-     
 
-     const { code } = await PrizeApi.luckyLotteryRecordReceive({ id: receiveId.value, receiveInfo: JSON.stringify(address) })
 
-     if (code === 0) {
 
-       sheep.$router.back();
 
-     }
 
-   }
 
- 	const receiveId = ref()
 
-   onLoad(async (options) => {
 
- 		receiveId.value = options.id
 
-   })
 
-   onShow(async () => {
 
-     // 获取收货地址列表
 
- 		await getAddressList()
 
-   })
 
- </script>
 
- <style lang="scss">
 
-   .address-item {
 
-     padding: 24rpx 30rpx;
 
-     .item-left {
 
-       width: 600rpx;
 
-     }
 
-     .area-text {
 
-       font-size: 26rpx;
 
-       font-weight: 400;
 
-       color: $dark-9;
 
-     }
 
-     .address-text {
 
-       font-size: 32rpx;
 
-       font-weight: 500;
 
-       color: #333333;
 
-       line-height: 48rpx;
 
-     }
 
-     .person-text {
 
-       font-size: 28rpx;
 
-       font-weight: 400;
 
-       color: $dark-9;
 
-     }
 
-   }
 
-   :deep() {
 
-     .uni-forms-item__label .label-text {
 
-       font-size: 28rpx !important;
 
-       color: #333333 !important;
 
-       line-height: normal !important;
 
-     }
 
-     .uni-easyinput__content-input {
 
-       font-size: 28rpx !important;
 
-       color: #333333 !important;
 
-       line-height: normal !important;
 
-       padding-left: 0 !important;
 
-     }
 
-     .uni-easyinput__content-textarea {
 
-       font-size: 28rpx !important;
 
-       color: #333333 !important;
 
-       line-height: normal !important;
 
-       margin-top: 8rpx !important;
 
-     }
 
-     .uni-icons {
 
-       font-size: 40rpx !important;
 
-     }
 
-     .is-textarea-icon {
 
-       margin-top: 22rpx;
 
-     }
 
-     .is-disabled {
 
-       color: #333333;
 
-     }
 
-     .uni-data-checklist .checklist-group {
 
-       display: block !important;
 
-     }
 
-   }
 
-   .default-box {
 
-     width: 100%;
 
-     box-sizing: border-box;
 
-     height: 100rpx;
 
-     .default-box-title {
 
-       font-size: 28rpx;
 
-       color: #333333;
 
-       line-height: normal;
 
-     }
 
-   }
 
-   .refresh-btn {
 
-     width: 200rpx;
 
-     height: 80rpx;
 
-     border-radius: 40rpx;
 
-   }
 
-   .footer-box {
 
- 	  width: 100vw;
 
-     .save-btn {
 
- 		  width: 100%;
 
-       height: 80rpx;
 
-       border-radius: 40rpx;
 
-       background: linear-gradient(90deg, var(--ui-BG-Main), var(--ui-BG-Main-gradient));
 
-       color: $white;
 
- 	    margin: 0 20rpx;
 
-     }
 
-   }
 
- </style>
 
 
  |