Browse Source

add tid1803 logic

tid1878
刘嘉炜 4 months ago
parent
commit
68f983fb0d
  1. 69
      src/subpackage/verification/pages/index.vue
  2. 2
      src/utils/util.js

69
src/subpackage/verification/pages/index.vue

@ -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>

2
src/utils/util.js

@ -362,7 +362,7 @@ function isProfile(){
return !!uni.getUserProfile
}
function changeLowerCase(str){
export function changeLowerCase(str){
return str.toString().toLocaleLowerCase();
}

Loading…
Cancel
Save