|
|
@ -1,9 +1,9 @@ |
|
|
|
<template> |
|
|
|
<view class="write-off-index"> |
|
|
|
<view class="woi-stadium-bar"> |
|
|
|
<picker> |
|
|
|
<picker :range="stadiumList" range-key="name" @change="stadiumChange"> |
|
|
|
<view class="wsb-ipt-box"> |
|
|
|
<input class="wib-ipt" type="text" placeholder="请选择场馆" disabled /> |
|
|
|
<input class="wib-ipt" type="text" placeholder="请选择场馆" disabled v-model="curStadium.name" /> |
|
|
|
<image class="wib-img" mode="aspectFit" src="/subpackage/verification/static/images/arrow_c9f.png"></image> |
|
|
|
</view> |
|
|
|
</picker> |
|
|
@ -11,7 +11,7 @@ |
|
|
|
<view class="woi-section"> |
|
|
|
<view class="ws-ipt-box"> |
|
|
|
<input class="wib-ipt" type="text" placeholder="请输入券码" /> |
|
|
|
<image class="wib-img" mode="aspectFit" src="/subpackage/verification/static/images/scan.png"></image> |
|
|
|
<image @click="scanCode" class="wib-img" mode="aspectFit" src="/subpackage/verification/static/images/scan.png"></image> |
|
|
|
</view> |
|
|
|
<view class="ws-txt">可输入订场、次卡、年月卡、赛事、商城到店领取商品的验证码/券码进行核销,或点扫码图标进入扫描界面扫码核销。</view> |
|
|
|
<view class="ws-btn">确认</view> |
|
|
@ -35,8 +35,69 @@ |
|
|
|
</template> |
|
|
|
|
|
|
|
<script> |
|
|
|
export default { |
|
|
|
|
|
|
|
import API from "../js/api.js"; |
|
|
|
import server from "../js/server.js"; |
|
|
|
import { showLoad, hideLoad, showModal, showNone, debounce, changeLowerCase } from "@/utils/util.js"; |
|
|
|
export default { |
|
|
|
data(){ |
|
|
|
return{ |
|
|
|
stadiumList: [], |
|
|
|
curStadium: {}, |
|
|
|
} |
|
|
|
}, |
|
|
|
onLoad(options){ |
|
|
|
this.getStadiumLs({ brand_id: options?.brand_id }); |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
scanCode: debounce(function(){ |
|
|
|
uni.scanCode({ |
|
|
|
onlyFromCamera: true, |
|
|
|
scanType: 'qrCode', |
|
|
|
success: res=> { |
|
|
|
if(changeLowerCase(res.scanType) !== 'qr_code')return showNone('不支持此类型!'); |
|
|
|
console.log('扫码结果--->', res); |
|
|
|
}, |
|
|
|
fail: function(err) { |
|
|
|
showNone('扫码失败!'); |
|
|
|
console.warn('扫码失败--->', err); |
|
|
|
} |
|
|
|
}) |
|
|
|
}, 300, true), |
|
|
|
stadiumChange(e){ |
|
|
|
let { stadiumList } = this; |
|
|
|
this.curStadium = stadiumList[e.detail.value]; |
|
|
|
}, |
|
|
|
// 获取门店列表 |
|
|
|
getStadiumLs({ brand_id }){ |
|
|
|
showLoad(); |
|
|
|
return server.post({ |
|
|
|
url: API.stadiumList, |
|
|
|
data: { page_size: 9999, page: 1, brand_id }, |
|
|
|
isDefaultGet: false, |
|
|
|
}) |
|
|
|
.then(res => { |
|
|
|
hideLoad(); |
|
|
|
let _data = res?.data || {}; |
|
|
|
if(_data.code === 0){ |
|
|
|
let _ls = _data?.data?.list || []; |
|
|
|
this.stadiumList = _ls; |
|
|
|
return _ls; |
|
|
|
}else{ |
|
|
|
return Promise.reject(_data); |
|
|
|
} |
|
|
|
}) |
|
|
|
.catch(err => { |
|
|
|
hideLoad(); |
|
|
|
showModal({ |
|
|
|
title: '提示', |
|
|
|
content: err.message || '加载店铺失败!' |
|
|
|
}) |
|
|
|
console.warn('verification index getStadiumLs err --->', err); |
|
|
|
// return Promise.reject(err); |
|
|
|
}) |
|
|
|
}, |
|
|
|
} |
|
|
|
} |
|
|
|
</script> |
|
|
|
|
|
|
|