You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
202 lines
6.8 KiB
202 lines
6.8 KiB
<template>
|
|
|
|
<!-- 扫码进入 携带参数 -->
|
|
|
|
<view style="display: flex;flex-direction: column;background-color: #fff;">
|
|
|
|
<view class="top">
|
|
<NavBar ref="nav" navTitle="绑定云菜窖卡" :showIcon="true" :start-change-height="page.startHeight"
|
|
:end-change-height="page.endHeight">
|
|
</NavBar>
|
|
<view>
|
|
<image src="https://supervise.yxtsoft.com/lpk/image/bind_bj1.png" mode="scaleToFill"
|
|
style="width: 100%;height: 70vw"></image>
|
|
</view>
|
|
|
|
</view>
|
|
|
|
<!-- <view style="display: flex;flex-direction: column;margin-top: -10vw;box-sizing: border-box;">
|
|
<view
|
|
style="display: flex;flex-direction: column;border-radius: 20rpx;background: #FFFFFF;z-index: 1;align-items: center;box-sizing: border-box;">
|
|
<view style="margin: 15px;">绑定云菜窖卡</view>
|
|
<view
|
|
style="display: flex;flex-direction: row;justify-content: space-between;box-sizing: border-box;width: calc(100vw - 60px);align-items: center;">
|
|
<input maxlength="20" placeholder="请输入/扫码 提货编码"
|
|
style="font-size: 30rpx;flex: 1;background: #F8F8F8;border-radius: 5px;height: 40px;line-height: 40px;margin-right: 10px;padding-left: 10px;"
|
|
type="number" :value="page.code" @input="onKeyInput1" />
|
|
<uni-icons type="camera-filled" color="#c0c4cc" size="22" style="flex-shrink: 0;" @click="scan" />
|
|
</view>
|
|
<view
|
|
style="display: flex;flex-direction: row;justify-content: space-between;box-sizing: border-box;width: calc(100vw - 60px);align-items: center;margin-top: 10px;">
|
|
<input maxlength="6" placeholder="请输入提货密码"
|
|
style="font-size: 30rpx;flex: 1;background: #F8F8F8;border-radius: 5px;height: 40px;line-height: 40px;padding-left: 10px;"
|
|
type="number" :value="page.codeKey" @input="onKeyInput2" />
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
<view
|
|
style="margin: 30px;background-color: #fd3655;width: calc(100% - 60px);border-radius: 100rpx;height: 80rpx;display: flex;flex-direction: column;align-items: center;line-height: 80rpx;color: #FFFFFF;font-size: 36rpx;"
|
|
@click="save">
|
|
绑定</view> -->
|
|
|
|
<view style="display: flex;flex-direction: column;padding:20px;">
|
|
|
|
<view style="display: flex;flex-direction: row;align-items: center;">
|
|
<view style="background: #FF9D33; border-radius: 50%;width: 12px;height: 12px;"></view>
|
|
<view style="background: #FFDAB2; border-radius: 50%;width: 12px;height: 12px;"></view>
|
|
<text style="margin-left: 8px;font-size: 18px;color: #333;">绑定个人卡</text>
|
|
</view>
|
|
|
|
<text style="margin-left: 8px;font-size: 14px;color: #333;margin-top: 20px;">提货编码</text>
|
|
<view style="display: flex;flex-direction: row;justify-content: space-between;
|
|
background: #F8F8F8;border-radius: 5px;box-sizing: border-box;
|
|
width: calc(100vw -40px);align-items: center; padding:10px 0px;margin-top: 5px;">
|
|
<input maxlength="20" placeholder="请输入/扫码"
|
|
style="font-size: 30rpx;flex: 1;margin-right: 20px;padding-left: 10px;" type="number"
|
|
:value="page.code" @input="onKeyInput1" />
|
|
<view style="width: 1px;height: 20px;background: #ccc; margin-right: 10px;"></view>
|
|
<uni-icons type="camera-filled" color="#c0c4cc" size="22" style="flex-shrink: 0;margin-right: 10px;"
|
|
@click="scan" />
|
|
</view>
|
|
<text style="margin-left: 8px;font-size: 14px;color: #333;margin-top: 20px;">提货密码</text>
|
|
<view style="display: flex;flex-direction: row;justify-content: space-between;
|
|
background: #F8F8F8;border-radius: 5px; padding:10px 0px;
|
|
box-sizing: border-box;width: calc(100vw - 40px);align-items: center;margin-top: 10px;">
|
|
<input maxlength="6" placeholder="请输入提货密码" style="font-size: 30rpx;flex: 1;padding-left: 10px;"
|
|
type="number" :value="page.codeKey" @input="onKeyInput2" />
|
|
</view>
|
|
|
|
<view style="background: -webkit-linear-gradient(left,#FFB176,#FE923B); position: absolute; bottom: 30px;
|
|
width: 90%;border-radius: 100rpx;height: 80rpx;display: flex;
|
|
flex-direction: column;align-items: center;line-height: 80rpx;color: #FFFFFF;font-size: 36rpx;" @click="save">
|
|
绑定</view>
|
|
</view>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
//引入bus
|
|
import bus from '@/common/bus';
|
|
export default {
|
|
data() {
|
|
return {
|
|
page: {
|
|
code: '',
|
|
codeKey: '',
|
|
customerSid: ''
|
|
}
|
|
}
|
|
},
|
|
onUnload() {
|
|
let pages = getCurrentPages().length - 1;
|
|
wx.navigateBack({
|
|
delta: pages
|
|
})
|
|
},
|
|
onLoad(options) {
|
|
let _this = this;
|
|
wx.login({
|
|
success: function(res) {
|
|
uni.request({
|
|
// 组装请求地址
|
|
url: getApp().globalData.wxSilentLoginURL + "?wxCode=" + res.code,
|
|
method: "GET",
|
|
header: {
|
|
'content-type': "application/x-www-form-urlencoded"
|
|
},
|
|
data: {
|
|
"wxCode": res.code
|
|
},
|
|
success: res => {
|
|
if (res.statusCode == 200) {
|
|
if (!res.data.success) {
|
|
if (res.data.code == "110") {
|
|
// 需要绑定手机号
|
|
uni.reLaunch({
|
|
url: '/pages/index/BindPhone?openid=' +
|
|
res.data.data.wxMpOpenid
|
|
})
|
|
} else {
|
|
// _this.status = 'more'
|
|
}
|
|
} else {
|
|
// 成功后跳转主页
|
|
getApp().globalData.sid = res.data.data.sid
|
|
_this.page.customerSid = getApp().globalData.sid
|
|
console.log("用户sid", getApp().globalData.sid)
|
|
}
|
|
} else {
|
|
// _this.status = 'more'
|
|
}
|
|
},
|
|
fail: (err) => {
|
|
// _this.status = 'more'
|
|
}
|
|
});
|
|
},
|
|
fail: function(res) {
|
|
// _this.status = 'more'
|
|
}
|
|
});
|
|
|
|
if (options) {
|
|
console.log("options", options)
|
|
|
|
const q = decodeURIComponent(options.q) // 获取到二维码原始链接内容
|
|
console.log("二维码原始链接内容", q)
|
|
|
|
var code = q.split('=')[1]
|
|
|
|
// var code = this.getQueryString(q, 'code');// code是你二维码链接里面的参数名
|
|
|
|
console.log("提货卡编码", code)
|
|
this.page.code = code
|
|
}
|
|
|
|
|
|
},
|
|
methods: {
|
|
onKeyInput1: function(event) {
|
|
this.page.code = event.target.value
|
|
},
|
|
onKeyInput2: function(event) {
|
|
this.page.codeKey = event.target.value
|
|
},
|
|
scan() {
|
|
// 只允许通过相机扫码
|
|
let _this = this
|
|
uni.scanCode({
|
|
onlyFromCamera: true,
|
|
success: function(res) {
|
|
_this.page.code = res.result.substring(res.result.length - 20, res.result.length)
|
|
}
|
|
});
|
|
},
|
|
save() {
|
|
if (this.stringIsEmpty(this.page.code) || this.page.code.length != 20) {
|
|
this.shortToast('请输入或扫描20位提货编码')
|
|
return
|
|
}
|
|
if (this.stringIsEmpty(this.page.codeKey) || this.page.codeKey.length != 6) {
|
|
this.shortToast('请输入6位提货密码')
|
|
return
|
|
}
|
|
let _this = this
|
|
_this.$api.cardBind(this.page).then((resp) => {
|
|
bus.$emit('order', "监听回调");
|
|
uni.switchTab({
|
|
url: '/pages/home/personCard'
|
|
})
|
|
|
|
}).catch(e => {
|
|
_this.longToast(e.msg)
|
|
})
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style>
|
|
|
|
</style>
|