|
@@ -3,27 +3,48 @@ import router from '@/router'
|
|
|
|
|
|
|
|
definePage({ name: 'djk-welfare', islogin: false, style: { navigationBarTitleText: '活动详情' } })
|
|
definePage({ name: 'djk-welfare', islogin: false, style: { navigationBarTitleText: '活动详情' } })
|
|
|
const welfare = ref<Api.DjkWelfareVO>()
|
|
const welfare = ref<Api.DjkWelfareVO>()
|
|
|
|
|
+const show = ref(false)
|
|
|
|
|
+const isAllow = ref(true)
|
|
|
|
|
+const isEdit = ref(false)
|
|
|
|
|
|
|
|
onLoad((options: any) => {
|
|
onLoad((options: any) => {
|
|
|
getWelfare(options.id)
|
|
getWelfare(options.id)
|
|
|
})
|
|
})
|
|
|
const mapUser = ['全部用户', '仅限新用户', '特定用户标签', '指定用户']
|
|
const mapUser = ['全部用户', '仅限新用户', '特定用户标签', '指定用户']
|
|
|
|
|
+const phone = ref(useUserStore().userInfo.mobile)
|
|
|
|
|
+const selectGoods = ref<Api.PmsDjkGoods>()
|
|
|
async function getWelfare(id: number) {
|
|
async function getWelfare(id: number) {
|
|
|
const res = await Apis.djk.welfareInfo({ data: { id } })
|
|
const res = await Apis.djk.welfareInfo({ data: { id } })
|
|
|
welfare.value = res.data
|
|
welfare.value = res.data
|
|
|
}
|
|
}
|
|
|
async function handleSelect(item: Api.PmsDjkGoods) {
|
|
async function handleSelect(item: Api.PmsDjkGoods) {
|
|
|
|
|
+ show.value = true
|
|
|
|
|
+ selectGoods.value = item
|
|
|
|
|
+}
|
|
|
|
|
+async function handelSubmit() {
|
|
|
|
|
+ uni.showLoading({ mask: true })
|
|
|
try {
|
|
try {
|
|
|
await Apis.djk.welfareClaimInfo({
|
|
await Apis.djk.welfareClaimInfo({
|
|
|
data: {
|
|
data: {
|
|
|
welfareId: Number(welfare.value?.id),
|
|
welfareId: Number(welfare.value?.id),
|
|
|
- goodsId: item.id,
|
|
|
|
|
|
|
+ goodsId: selectGoods.value?.id,
|
|
|
memberId: useUserStore().userInfo.id,
|
|
memberId: useUserStore().userInfo.id,
|
|
|
|
|
+ customerAuthorization: boolToNumber(isAllow.value),
|
|
|
},
|
|
},
|
|
|
})
|
|
})
|
|
|
|
|
+ const data = await Apis.djk.addWelfareOrder({ data: { shopId: selectGoods.value?.shopId, channelId: useUserStore().userInfo.channelId, phone: phone.value, goodsId: selectGoods.value?.id, goodsNum: 1, customerAuthorization: boolToNumber(isAllow.value) } })
|
|
|
useGlobalToast().show('领取成功!')
|
|
useGlobalToast().show('领取成功!')
|
|
|
|
|
+ uni.hideLoading()
|
|
|
|
|
+
|
|
|
|
|
+ setTimeout(() => {
|
|
|
|
|
+ router.push({
|
|
|
|
|
+ name: 'djk-orderDetaile',
|
|
|
|
|
+ params: { id: data.data },
|
|
|
|
|
+ })
|
|
|
|
|
+ }, 1500)
|
|
|
}
|
|
}
|
|
|
catch {
|
|
catch {
|
|
|
|
|
+ uni.hideLoading()
|
|
|
console.log('领取失败')
|
|
console.log('领取失败')
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -46,8 +67,8 @@ async function handleSelect(item: Api.PmsDjkGoods) {
|
|
|
<view class="text-28rpx">
|
|
<view class="text-28rpx">
|
|
|
请选择商品(二选一)
|
|
请选择商品(二选一)
|
|
|
</view>
|
|
</view>
|
|
|
- <view v-for="item, idx in welfare.welfareGoodList" :key="item.goodsCode" class="mt20rpx">
|
|
|
|
|
- <view class="flex" @click="router.push({ name: 'djk-goods', params: { id: `${item.id}` } })">
|
|
|
|
|
|
|
+ <view v-for="item, idx in welfare.welfareGoodList" :key="item.id" class="mt20rpx">
|
|
|
|
|
+ <view class="flex" @click="router.push({ name: 'djk-goods', params: { id: `${item.id}`, type: '1' } })">
|
|
|
<image
|
|
<image
|
|
|
:src="item.goodsImg?.split(',')[0]"
|
|
:src="item.goodsImg?.split(',')[0]"
|
|
|
class="h160rpx w160rpx flex-shrink-0"
|
|
class="h160rpx w160rpx flex-shrink-0"
|
|
@@ -89,6 +110,53 @@ async function handleSelect(item: Api.PmsDjkGoods) {
|
|
|
2.到店使用需提前预约
|
|
2.到店使用需提前预约
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
|
|
+
|
|
|
|
|
+ <Zpopup v-model="show">
|
|
|
|
|
+ <view class="bg-white p24rpx">
|
|
|
|
|
+ <view class="text-center text-32rpx font-semibold">
|
|
|
|
|
+ 确认选择
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="mt20rpx text-32rpx font-semibold">
|
|
|
|
|
+ 您确认选择【{{ selectGoods?.goodsName }}】吗?
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="mt20rpx rounded-16rpx bg-white p24rpx">
|
|
|
|
|
+ <view class="flex items-center justify-between">
|
|
|
|
|
+ <view class="text-28rpx text-gray">
|
|
|
|
|
+ 允许商户通过此号码致电沟通到店时间
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <wd-checkbox v-model="isAllow" />
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="mt16rpx flex items-center text-28rpx">
|
|
|
|
|
+ <view v-if="!isEdit" class="mr10rpx">
|
|
|
|
|
+ {{ phone?.replace(/^(\d{3})\d{4}(\d{4})$/, '$1****$2') }}
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view v-else>
|
|
|
|
|
+ <input v-model="phone" type="number" :maxlength="11" @blur="isEdit = false">
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view v-if="!isEdit" class="flex items-center" @click="isEdit = true">
|
|
|
|
|
+ <view class="mr5rpx">
|
|
|
|
|
+ 修改
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <wd-icon name="arrow-right" size="18px" color="#000" />
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <template #footer>
|
|
|
|
|
+ <view class="flex items-center justify-between">
|
|
|
|
|
+ <view class="w48%">
|
|
|
|
|
+ <wd-button block type="info" @click="show = false">
|
|
|
|
|
+ 取消
|
|
|
|
|
+ </wd-button>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="w48%">
|
|
|
|
|
+ <wd-button block @click="handelSubmit">
|
|
|
|
|
+ 确认领取
|
|
|
|
|
+ </wd-button>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </Zpopup>
|
|
|
</view>
|
|
</view>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|