parent
cb1ec4fab7
commit
30e8656005
@ -0,0 +1,244 @@ |
||||
<template> |
||||
<view> |
||||
|
||||
<view class="input-box"> |
||||
<view class="icon search"></view> |
||||
<input placeholder="输入二维码序列号" v-model="scanNo" placeholder-style="color:#c0c0c0;" @input="toSearch()" /> |
||||
</view> |
||||
|
||||
<view v-if="serviceList == ''" class="mart60 fotct font14 fcor666"> |
||||
<image mode="widthFix" style="width: 70vw;" src="../../../static/img/noorder.png"></image> |
||||
</view> |
||||
<view class="height110 width94 backcorfff mart20" v-for="(item,index) in serviceList" :key="index"> |
||||
<view class="font20 font306adb paddtop10 fontwig6 padleft15">{{item.serialNumber}}</view> |
||||
<view class="mart10 fcor666 padleft15 font14" v-if="typeId == 1">绑定时间: {{item.storeBindTime | timeFormat('yyyy-mm-dd')}} |
||||
{{item.storeBindTime | timeFormat('hh:mm')}} |
||||
</view> |
||||
<view class="mart10 fcor666 padleft15 font14" v-else>创建: {{item.createTime | timeFormat('yyyy-mm-dd')}} |
||||
{{item.createTime | timeFormat('hh:mm')}} |
||||
</view> |
||||
<button class="btns" @click="bindStore(item.id)" v-if="typeId == 1">绑定二维码</button> |
||||
</view> |
||||
</view> |
||||
</template> |
||||
|
||||
<script> |
||||
import { |
||||
bindStore, |
||||
getSalesmanQrCodeList, |
||||
getStoreQrCodeList |
||||
} from '../../../Utils/Api.js'; |
||||
let app = getApp(); |
||||
export default { |
||||
data() { |
||||
return { |
||||
serviceList: [], |
||||
pageNum: 1, |
||||
pagesize: 15, |
||||
isLoadMore: false, //是否加载中 |
||||
userInfo: app.globalData.userInfo, //用户信息 |
||||
typeId: '', //类型 |
||||
storeId: '', //门店id |
||||
scanNo: '' // 二维码编号 |
||||
} |
||||
}, |
||||
onReachBottom() { //上拉触底函数 |
||||
if (!this.isLoadMore) { //此处判断,上锁,防止重复请求 |
||||
this.isLoadMore = true |
||||
this.pageNum += 1 |
||||
if (this.typeId == 2) { |
||||
this.getStoreQrCodeList(); |
||||
} else { |
||||
this.getSalesmanQrCodeList(); |
||||
} |
||||
} |
||||
}, |
||||
onLoad(options) { |
||||
this.typeId = options.type; |
||||
this.storeId = options.storeid; |
||||
if (options.type == 2) { |
||||
this.getStoreQrCodeList(); |
||||
} else { |
||||
this.getSalesmanQrCodeList(); |
||||
} |
||||
}, |
||||
methods: { |
||||
toSearch() { |
||||
this.pageNum = 1; |
||||
this.pageSize = 10; |
||||
this.isNoMoreData = false; |
||||
this.serviceList = []; |
||||
if (this.typeId == 2) { |
||||
this.getStoreQrCodeList(); |
||||
} else { |
||||
this.getSalesmanQrCodeList(); |
||||
} |
||||
}, |
||||
//门店查询设备列表 |
||||
getStoreQrCodeList() { |
||||
uni.showLoading({ |
||||
title: '加载中...' |
||||
}) |
||||
if (this.isNoMoreData) { |
||||
uni.hideLoading() |
||||
return false; |
||||
} |
||||
let pagenum = this.pageNum; |
||||
let params = { |
||||
pageNum: pagenum, |
||||
pageSize: this.pagesize, |
||||
serialNumber: this.scanNo, |
||||
storeId: this.storeId |
||||
} |
||||
getStoreQrCodeList(params).then(res => { |
||||
uni.hideLoading(); |
||||
if (res.return_code == '000000' && res.return_data.list) { |
||||
this.isLoadMore = res.return_data.list.length == this.pageSize ? false : true; |
||||
this.serviceList = this.serviceList.concat(res.return_data.list); |
||||
if (res.return_data.total == (this.pageNum * this.pageSize)) { |
||||
this.isLoadMore = true; |
||||
} |
||||
this.pageNum = res.return_data.list.length == this.pageSize ? ++pagenum : pagenum; |
||||
} else { |
||||
this.serviceList = []; |
||||
this.isLoadMore = true |
||||
} |
||||
}); |
||||
}, |
||||
//业务员查询设备列表 |
||||
getSalesmanQrCodeList() { |
||||
uni.showLoading({ |
||||
title: '加载中...' |
||||
}) |
||||
if (this.isNoMoreData) { |
||||
uni.hideLoading() |
||||
return false; |
||||
} |
||||
let pagenum = this.pageNum; |
||||
let datas = { |
||||
salesmanId: this.userInfo.salesman.id, |
||||
isAssignStore: false, |
||||
serialNumber: this.scanNo, |
||||
pageNum: pagenum, |
||||
pageSize: this.pagesize, |
||||
} |
||||
getSalesmanQrCodeList(datas).then(res => { |
||||
uni.hideLoading(); |
||||
if (res.return_code == '000000' && res.return_data.list) { |
||||
this.isLoadMore = res.return_data.list.length == this.pageSize ? false : true; |
||||
this.serviceList = this.serviceList.concat(res.return_data.list); |
||||
if (res.return_data.total == (this.pageNum * this.pageSize)) { |
||||
this.isLoadMore = true; |
||||
} |
||||
this.pageNum = res.return_data.list.length == this.pageSize ? ++pagenum : pagenum; |
||||
} else { |
||||
this.serviceList = []; |
||||
this.isLoadMore = true |
||||
} |
||||
}); |
||||
}, |
||||
//绑定设备 |
||||
bindStore(item) { |
||||
let that = this; |
||||
uni.showModal({ |
||||
title: '绑定二维码', |
||||
content: '是否绑定当前二维码。', |
||||
success: (res) => { |
||||
if (res.confirm) { |
||||
uni.showLoading({ |
||||
title: '提交中...' |
||||
}) |
||||
let params = { |
||||
"qrCodeId": item, |
||||
"storeId": that.storeId |
||||
} |
||||
bindStore(params).then(res => { |
||||
uni.hideLoading(); |
||||
if (res.return_code == '000000') { |
||||
uni.showToast({ |
||||
title: '提交成功', |
||||
icon: 'none', |
||||
duration: 2000, |
||||
success() { |
||||
setTimeout(() => { |
||||
uni.navigateBack({}) |
||||
}, 1000); |
||||
} |
||||
}) |
||||
} else { |
||||
uni.showToast({ |
||||
title: res.return_msg, |
||||
icon: 'none', |
||||
duration: 2000 |
||||
}) |
||||
} |
||||
}) |
||||
} else if (res.cancel) { |
||||
console.log('用户点击取消'); |
||||
} |
||||
} |
||||
}); |
||||
}, |
||||
} |
||||
} |
||||
</script> |
||||
|
||||
<style lang="scss"> |
||||
page { |
||||
background-color: #f8f9f9; |
||||
} |
||||
|
||||
.input-box { |
||||
width: 90%; |
||||
margin-left: 5%; |
||||
margin-top: 15px; |
||||
height: 70rpx; |
||||
background-color: #f5f5f5; |
||||
border-radius: 10rpx; |
||||
position: relative; |
||||
display: flex; |
||||
align-items: center; |
||||
|
||||
.icon { |
||||
display: flex; |
||||
align-items: center; |
||||
position: absolute; |
||||
top: 2px; |
||||
left: 5px; |
||||
width: 60upx; |
||||
height: 60upx; |
||||
font-size: 34upx; |
||||
color: #c0c0c0; |
||||
} |
||||
|
||||
input { |
||||
padding-left: 50upx; |
||||
height: 28upx; |
||||
font-size: 28upx; |
||||
width: 100%; |
||||
} |
||||
} |
||||
|
||||
.font306adb { |
||||
color: #306adb; |
||||
} |
||||
|
||||
.xfimg { |
||||
width: 100rpx; |
||||
bottom: 60rpx; |
||||
position: fixed; |
||||
right: 40rpx; |
||||
} |
||||
|
||||
.btns { |
||||
width: 25%; |
||||
margin-left: 68%; |
||||
height: 35px; |
||||
line-height: 35px; |
||||
background-color: #0083f5; |
||||
color: #FFFFFF; |
||||
font-weight: bold; |
||||
font-size: 14px; |
||||
padding: 0px; |
||||
} |
||||
</style> |
@ -0,0 +1,165 @@ |
||||
<template> |
||||
<view> |
||||
<view class="input-box"> |
||||
<view class="icon search"></view> |
||||
<input placeholder="输入二维码序列号" v-model="scanNo" placeholder-style="color:#c0c0c0;" @input="toSearch()" /> |
||||
</view> |
||||
|
||||
<view v-if="serviceList == ''" class="mart60 fotct font14 fcor666"> |
||||
<image mode="widthFix" style="width: 70vw;" src="../../../static/img/noorder.png"></image> |
||||
</view> |
||||
<view class="width94 backcorfff mart20" v-for="(item,index) in serviceList" :key="index" @click="lookimgage(item.qrCodeUrl)"> |
||||
<view class="font20 font306adb paddtop10 fontwig6 padleft15">{{item.serialNumber}}</view> |
||||
<view class="mart10 fcor666 padleft15 font14 paddbotm10">绑定时间: |
||||
{{item.storeBindTime | timeFormat('yyyy-mm-dd')}} |
||||
{{item.storeBindTime | timeFormat('hh:mm')}} |
||||
</view> |
||||
</view> |
||||
|
||||
<wybPopup ref="popup" type="center" height="650" width="600" bgColor="" radius="6" :showCloseIcon="false"> |
||||
<image class="popImg" :src="images"></image> |
||||
</wybPopup> |
||||
</view> |
||||
</template> |
||||
|
||||
<script> |
||||
import { |
||||
getStoreQrCodeList |
||||
} from '../../../Utils/Api.js'; |
||||
import wybPopup from '../../../components/wyb-popup/wyb-popup.vue' |
||||
let app = getApp(); |
||||
export default { |
||||
components: { |
||||
wybPopup |
||||
}, |
||||
data() { |
||||
return { |
||||
serviceList: [], |
||||
pageNum: 1, |
||||
pagesize: 15, |
||||
isLoadMore: false, //是否加载中 |
||||
userInfo: app.globalData.userInfo, //用户信息 |
||||
scanNo: '' ,// 二维码编号 |
||||
images:'' //二维码图片 |
||||
} |
||||
}, |
||||
onReachBottom() { //上拉触底函数 |
||||
if (!this.isLoadMore) { //此处判断,上锁,防止重复请求 |
||||
this.isLoadMore = true |
||||
this.pageNum += 1 |
||||
this.getStoreQrCodeList(); |
||||
} |
||||
}, |
||||
onLoad(options) { |
||||
this.getStoreQrCodeList(); |
||||
}, |
||||
methods: { |
||||
toSearch() { |
||||
this.pageNum = 1; |
||||
this.pageSize = 10; |
||||
this.isNoMoreData = false; |
||||
this.serviceList = []; |
||||
this.getStoreQrCodeList(); |
||||
}, |
||||
//门店查询设备列表 |
||||
getStoreQrCodeList() { |
||||
uni.showLoading({ |
||||
title: '加载中...' |
||||
}) |
||||
if (this.isNoMoreData) { |
||||
uni.hideLoading() |
||||
return false; |
||||
} |
||||
let pagenum = this.pageNum; |
||||
let params = { |
||||
pageNum: pagenum, |
||||
pageSize: this.pagesize, |
||||
serialNumber: this.scanNo, |
||||
storeId: this.userInfo.store.id |
||||
} |
||||
getStoreQrCodeList(params).then(res => { |
||||
uni.hideLoading(); |
||||
if (res.return_code == '000000' && res.return_data.list) { |
||||
this.isLoadMore = res.return_data.list.length == this.pageSize ? false : true; |
||||
this.serviceList = this.serviceList.concat(res.return_data.list); |
||||
if (res.return_data.total == (this.pageNum * this.pageSize)) { |
||||
this.isLoadMore = true; |
||||
} |
||||
this.pageNum = res.return_data.list.length == this.pageSize ? ++pagenum : pagenum; |
||||
} else { |
||||
this.serviceList = []; |
||||
this.isLoadMore = true |
||||
} |
||||
}); |
||||
}, |
||||
lookimgage(item){ |
||||
this.images = item; |
||||
this.$refs.popup.show(); |
||||
} |
||||
} |
||||
} |
||||
</script> |
||||
|
||||
<style lang="scss"> |
||||
page { |
||||
background-color: #f8f9f9; |
||||
} |
||||
|
||||
.input-box { |
||||
width: 90%; |
||||
margin-left: 5%; |
||||
margin-top: 15px; |
||||
height: 70rpx; |
||||
background-color: #f5f5f5; |
||||
border-radius: 10rpx; |
||||
position: relative; |
||||
display: flex; |
||||
align-items: center; |
||||
|
||||
.icon { |
||||
display: flex; |
||||
align-items: center; |
||||
position: absolute; |
||||
top: 2px; |
||||
left: 5px; |
||||
width: 60upx; |
||||
height: 60upx; |
||||
font-size: 34upx; |
||||
color: #c0c0c0; |
||||
} |
||||
|
||||
input { |
||||
padding-left: 50upx; |
||||
height: 28upx; |
||||
font-size: 28upx; |
||||
width: 100%; |
||||
} |
||||
} |
||||
|
||||
.font306adb { |
||||
color: #306adb; |
||||
} |
||||
|
||||
.xfimg { |
||||
width: 100rpx; |
||||
bottom: 60rpx; |
||||
position: fixed; |
||||
right: 40rpx; |
||||
} |
||||
|
||||
.btns { |
||||
width: 25%; |
||||
margin-left: 68%; |
||||
height: 35px; |
||||
line-height: 35px; |
||||
background-color: #0083f5; |
||||
color: #FFFFFF; |
||||
font-weight: bold; |
||||
font-size: 14px; |
||||
padding: 0px; |
||||
} |
||||
.popImg { |
||||
width: 300px; |
||||
height: 300px; |
||||
} |
||||
</style> |
Loading…
Reference in new issue