This commit is contained in:
3321822538@qq.com 2024-05-22 18:04:44 +08:00
parent fdcd063c12
commit 37dcc624be
17 changed files with 579 additions and 149 deletions

View File

@ -27,7 +27,14 @@
}, },
methods: { methods: {
getabout(){ getabout(){
let type = 'about' let type = ''
if(this.tit == '用户协议'){
type = 'user'
}else if(this.tit == '隐私政策'){
type = 'privacy'
}else if(this.tit == '关于我们'){
type = 'about'
}
this.$u.get(`/app/article/licence/${type}`).then((res) => { this.$u.get(`/app/article/licence/${type}`).then((res) => {
if (res.code == 200) { if (res.code == 200) {
this.obj= res.data this.obj= res.data
@ -40,7 +47,7 @@
<style lang="scss"> <style lang="scss">
page { page {
background: linear-gradient(180deg, #8883F0 0%, rgba(255, 255, 255, 0) 100%); background: linear-gradient(180deg, #54DAA1 0%, rgba(255, 255, 255, 0) 100%);
} }
.page { .page {

View File

@ -7,7 +7,7 @@
</view> </view>
<view class="list"> <view class="list">
<view class="list_val"> <view class="list_val">
<view class="" style="padding-top:12rpx">代理级别</view> <input type="text" v-model="level" disabled="false" placeholder="2级代理" /> <view class="" style="padding-top:12rpx">代理级别</view> <input type="text" v-model="level" disabled="false" :placeholder="agentLevel + 1 + '级代理'" />
</view> </view>
<view class="list_val"> <view class="list_val">
<view class="" style="padding-top:12rpx">代理名称</view> <input type="text" v-model="name" placeholder="请输入代理名称" /> <view class="" style="padding-top:12rpx">代理名称</view> <input type="text" v-model="name" placeholder="请输入代理名称" />
@ -73,9 +73,13 @@
tel:'', tel:'',
sheng:'请选择省市区', sheng:'请选择省市区',
arr:[], arr:[],
arrqx:[] arrqx:[],
agentLevel:''
} }
}, },
onLoad() {
this.agentLevel = uni.getStorageSync('userdata').agentLevel
},
methods: { methods: {
confirm(e){ confirm(e){
this.arr = [] this.arr = []
@ -116,7 +120,7 @@
}) })
}else{ }else{
this.arrqx = [] this.arrqx = []
const mapping = { let mapping = {
'允许登录': 'agent:login', '允许登录': 'agent:login',
'允许提现': 'agent:withdraw', '允许提现': 'agent:withdraw',
'展示分成比例': 'agent:point:show', '展示分成比例': 'agent:point:show',

View File

@ -130,7 +130,12 @@
longitude: item.lng, longitude: item.lng,
width: 25, width: 25,
height: 30, height: 30,
iconPath: 'https://api.ccttiot.com/smartmeter/img/static/uI3B6yPwtiUBD3vafLtw' iconPath: 'https://api.ccttiot.com/smartmeter/img/static/uI3B6yPwtiUBD3vafLtw' ,
label: {
content: item.name,
// anchorX:-20,
textAlign: 'center'
}
}; };
this.covers.push(shopCover); this.covers.push(shopCover);
}); });

View File

@ -8,24 +8,24 @@
<!-- 代理 --> <!-- 代理 -->
<view class="list"> <view class="list">
<view class="list_val"> <view class="list_val">
<view class="" style="padding-top:12rpx">代理级别</view> <input type="text" disabled="false" placeholder="2级代理" /> <view class="" style="padding-top:12rpx">代理级别</view> <input type="text" disabled="false" :placeholder="jibie" />
</view> </view>
<view class="list_val"> <view class="list_val">
<view class="" style="padding-top:12rpx">代理名称</view> <input type="text" placeholder="请输入代理名称" /> <view class="" style="padding-top:12rpx">代理名称</view> <input type="text" v-model="name" placeholder="请输入代理名称" />
</view> </view>
<view class="list_val"> <view class="list_val">
<view class="" style="padding-top:12rpx">分成比例</view> <input type="text" placeholder="请输入分成比例 %" /> <view class="" style="padding-top:12rpx">分成比例</view> <input type="text" v-model="fenc" placeholder="请输入分成比例 %" />
</view> </view>
<!-- <view class="list_val">
<view class="" style="padding-top:12rpx">手机号码</view> <input type="text" v-model="tel" placeholder="请输入手机号码" />
</view> -->
<view class="list_val"> <view class="list_val">
<view class="" style="padding-top:12rpx">手机号码</view> <input type="text" placeholder="请输入手机号码" /> <view class="" style="padding-top:12rpx;margin-right: 88rpx;">省市区</view> <input @click="show = true" disabled="true" type="text" :placeholder="sheng" />
</view>
<view class="list_val">
<view class="" style="padding-top:12rpx;margin-right: 88rpx;">省市区</view> <input @click="show = true" type="text" placeholder="请选择省市区" />
<u-picker v-model="show" mode="region" @confirm="confirm"></u-picker> <u-picker v-model="show" mode="region" @confirm="confirm"></u-picker>
</view> </view>
</view> </view>
<view class="baocun"> <view class="baocun" @click="brnbc">
保存 保存
</view> </view>
</view> </view>
@ -36,20 +36,89 @@
export default { export default {
data() { data() {
return { return {
checked: false,
show:false, show:false,
bgc: { bgc: {
backgroundColor: " #25CE88", backgroundColor: " #25CE88",
}, },
name:'',
fenc:'',
tel:'',
sheng:'请选择省市区',
listobj:{},
jibie:'',
agentId:'',
shengarr:[]
} }
}, },
onLoad() { onLoad(option) {
this.listobj = JSON.parse(option.obj)
this.jibie = this.listobj.level + '级代理'
this.name = this.listobj.name
this.fenc = this.listobj.point
this.tel = this.listobj.mobile
this.sheng = this.listobj.area[0]+ '/' + this.listobj.area[1]+ '/' + this.listobj.area[2]
this.agentId = this.listobj.agentId
this.shengarr.push(this.listobj.area[0])
this.shengarr.push(this.listobj.area[1])
this.shengarr.push(this.listobj.area[2])
}, },
methods: { methods: {
confirm(e){ confirm(e){
console.log(e); this.shengarr = []
this.sheng = e.province.label + '/' + e.city.label + '/' + e.area.label
this.shengarr.push(e.province.label)
this.shengarr.push(e.city.label)
this.shengarr.push(e.area.label)
},
brnbc(){
let data = {
agentId:this.agentId,
name:this.name,
point:this.fenc,
// mobile:this.tel,
area:this.shengarr
}
this.$u.put('/agent/agent',data).then(res => {
if(this.name == ''){
uni.showToast({
title: '请输入姓名',
icon: 'none',
duration: 1000
})
}else{
if (res.code == 200) {
uni.showToast({
title: '修改成功',
icon: 'success',
duration: 1000
})
setTimeout(()=>{
uni.navigateBack({
delta:2
})
},1500)
}else if(res.msg == '请输入正确的手机号'){
uni.showToast({
title: '请输入正确的手机号',
icon: 'none',
duration: 1000
})
}else if(res.msg == '分成比例不允许超过上级代理最高90.00'){
uni.showToast({
title: '分成比例不允许超过上级代理最高90.00',
icon: 'none',
duration: 1000
})
}else if(res.code == 500){
uni.showToast({
title: '分成比例请填写数值最高90.00',
icon: 'none',
duration: 1000
})
}
}
})
} }
} }
} }

View File

@ -68,7 +68,7 @@
}) })
}else if(num == 2){ }else if(num == 2){
uni.navigateTo({ uni.navigateTo({
url:'/page_user/listshu/edit?obj=' + this.listobj url:'/page_user/listshu/edit?obj=' + JSON.stringify(this.listobj)
}) })
}else if(num == 3){ }else if(num == 3){
let vm = this let vm = this

View File

@ -43,7 +43,8 @@
storeId:'', storeId:'',
listobj:{}, listobj:{},
flag:false, flag:false,
flags:false flags:false,
cabinetSn:''
} }
}, },
onLoad(option) { onLoad(option) {
@ -110,6 +111,16 @@
scanType: ['qrCode'], scanType: ['qrCode'],
success: res => { success: res => {
console.log('扫描结果:', res); console.log('扫描结果:', res);
this.cabinetSn = res.result
this.$u.put(`/agent/cabinet/${this.storeId}/bind/${this.cabinetSn}`).then(res => {
if(res.code == 200){
uni.showToast({
title: '绑定成功',
icon: 'none',
duration:1000
});
}
})
}, },
fail: err => { fail: err => {
console.error('扫描失败:', err); console.error('扫描失败:', err);

View File

@ -13,7 +13,7 @@
</view> </view>
<view class="wz"> <view class="wz">
<image src="https://api.ccttiot.com/smartmeter/img/static/urpodioxdcaz8ukriOZN" mode=""></image> <image src="https://api.ccttiot.com/smartmeter/img/static/urpodioxdcaz8ukriOZN" mode=""></image>
3/小时租借5分钟内免费 {{fee.feePrice}}/小时租借{{fee.feeFreeTime}}分钟内免费
</view> </view>
<view class="wz"> <view class="wz">
<image src="https://api.ccttiot.com/smartmeter/img/static/urpodioxdcaz8ukriOZN" mode=""></image> <image src="https://api.ccttiot.com/smartmeter/img/static/urpodioxdcaz8ukriOZN" mode=""></image>
@ -21,7 +21,7 @@
</view> </view>
<view class="wz"> <view class="wz">
<image src="https://api.ccttiot.com/smartmeter/img/static/urpodioxdcaz8ukriOZN" mode=""></image> <image src="https://api.ccttiot.com/smartmeter/img/static/urpodioxdcaz8ukriOZN" mode=""></image>
每24小时封顶30元总分顶99 每24小时封顶{{sum}}总封顶{{fee.feeMaxPrice}}
</view> </view>
<view class="mianyj" @click="btnzu"> <view class="mianyj" @click="btnzu">
免押金租借 免押金租借
@ -67,7 +67,7 @@
<view class="" style="text-align: right;margin-right: 40rpx;font-size: 40rpx;" @click="btnyc">X</view> <view class="" style="text-align: right;margin-right: 40rpx;font-size: 40rpx;" @click="btnyc">X</view>
<view class="fen"> <view class="fen">
<image src="https://api.ccttiot.com/smartmeter/img/static/uW2U0U93W2oTmDlLf7mA" mode=""></image> <image src="https://api.ccttiot.com/smartmeter/img/static/uW2U0U93W2oTmDlLf7mA" mode=""></image>
<text>611</text> <text>{{wxf}}</text>
</view> </view>
<view class="tit">你的微信支付分已达标 </view> <view class="tit">你的微信支付分已达标 </view>
<view class="tit">可享租借充电宝免押金99.00</view> <view class="tit">可享租借充电宝免押金99.00</view>
@ -83,8 +83,8 @@
<view class="yuedu"> <view class="yuedu">
请仔细阅读微信支付分押金规则同意协议请 点击按钮 请仔细阅读微信支付分押金规则同意协议请 点击按钮
</view> </view>
<view class="anniu"> <view class="anniu" @click="btnzujie">
确认并支付 确认并租借
</view> </view>
</view> </view>
</view> </view>
@ -99,17 +99,70 @@
}, },
show: false, show: false,
depositfalse: false, depositfalse: false,
deposittrue:false deposittrue:false,
sn:'',
fee:{},
sum:0,
wxf:''
} }
}, },
onLoad(option) {
this.sn = option.sn
this.getemi()
this.getwxf()
},
methods: { methods: {
btnzu() { btnzu() {
// this.depositfalse = true if(this.wxf > 550){
this.deposittrue = true this.deposittrue = true
}else{
this.depositfalse = true
}
}, },
btnyc() { btnyc() {
this.depositfalse = false this.depositfalse = false
this.deposittrue = false this.deposittrue = false
},
getemi(){
this.$u.get(`/app/cabinet/rentInfo/${this.sn}`).then(res => {
if(res.code == 200){
this.fee = res.data.fee
this.sum = this.fee.feePrice * 24
}
})
},
getwxf(){
this.$u.get('/wx/pay/score').then(res => {
if(res.code == 200){
this.wxf = res.data.userScore
}
})
},
//
btnzujie(){
let data = {
cabinetSn:this.sn,
rentType:2,
fee:{
feePrice:this.fee.feePrice,
feeMode:this.fee.feeMode,
feeMaxPrice:this.fee.feeMaxPrice,
feeFreeTime:this.fee.feeFreeTime
}
}
this.$u.post('/app/order/rent',data).then(res => {
if(res.code == 200){
}else if(res.code == 500){
uni.showToast({
title: res.msg,
icon: 'none',
duration: 1000
});
}
})
} }
} }
} }

View File

@ -476,6 +476,13 @@
"enablePullDownRefresh": false, "enablePullDownRefresh": false,
"navigationStyle": "custom" "navigationStyle": "custom"
} }
},{
"path": "aboutxq",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"navigationStyle": "custom"
}
} }

View File

@ -1,39 +1,31 @@
<template> <template>
<view class="page"> <view class="page">
<u-navbar title="客服中心" :border-bottom="false" :background="bgc" title-color='#000' title-size='36' <u-navbar title="常见问题" :border-bottom="false" :background="bgc" title-color='#000' title-size='36'
height='38'></u-navbar> height='38'></u-navbar>
<view class="serch"> <view class="serch">
<u-search placeholder="搜索问题" height="72" :showAction="false" v-model="keyword"></u-search> <u-search placeholder="搜索问题" height="72" :showAction="false" v-model="keyword" @change="sousuo"></u-search>
</view> </view>
<view class="list"> <view class="list" v-if="!listitem.length == 0">
<view class="tab"> <view class="tab">
<u-tabs :list="list" :is-scroll="true" :current="current" active-color="#38D492" bar-width="80" gutter="40" item-width="200" @change="change"></u-tabs> <u-tabs :list="list" :is-scroll="true" :current="current" active-color="#38D492" bar-width="80"
gutter="40" item-width="200" @change="change"></u-tabs>
</view> </view>
<view class="wenti"> <view class="wenti" v-for="(item,index) in listitem" :key="index">
<view class="wzwt"> <view class="wzwt" @click="btnxq(item.articleId)">
<text>充电宝没弹出但扣费了</text> <u-icon name="arrow-right"></u-icon> <text>{{item.title}}</text> <u-icon name="arrow-right"></u-icon>
</view>
<view class="wzwt">
<text>租借的充电宝电量不足</text> <u-icon name="arrow-right"></u-icon>
</view>
<view class="wzwt">
<text>充电宝无法充电</text> <u-icon name="arrow-right"></u-icon>
</view>
<view class="wzwt">
<text>可归还机离线/断电/故障</text> <u-icon name="arrow-right"></u-icon>
</view>
<view class="wzwt">
<text>充电宝无法归还商家打烊/机柜满仓</text> <u-icon name="arrow-right"></u-icon>
</view>
<view class="wzwt">
<text>购买充电宝后能退款吗</text> <u-icon name="arrow-right"></u-icon>
</view> </view>
</view> </view>
<view class="huan"> <view class="huan" @click="btnhuan" v-if="list[0].name == '猜你想问'">
<image src="https://api.ccttiot.com/smartmeter/img/static/uH9hJJuhEDQw4JBGy9kS" mode=""></image> 换一换 <image src="https://api.ccttiot.com/smartmeter/img/static/uQyHxbK49U3S5f4uLU6m" mode=""></image> 换一换
</view> </view>
</view> </view>
<view class="" v-if="listitem.length == 0" style="width: 100%;margin-top: 50rpx;text-align: center;">
<image src="https://api.ccttiot.com/smartmeter/img/static/uO8bv6yv8Icg5hlbKccj" mode="" style="width: 430rpx;height: 430rpx;"></image>
<text
style="display: block;font-size: 36rpx;color: #666;margin-top: 30rpx;font-weight: 600;">您搜索的问题暂无相关分类</text>
</view>
</view> </view>
</template> </template>
@ -42,26 +34,84 @@
export default { export default {
data() { data() {
return { return {
list: [{ list: [],
name: '猜你想问', current: 0,
}, { classifyId: '',
name: '常见问题', listitem: [],
}, { huanindex: 1,
name: '费用问题' keyword: ''
}, {
name: '归还问题'
}, {
name: '使用问题'
}],
current:0
} }
}, },
onLoad() { onLoad() {
this.getfenlei()
setTimeout(() => {
this.getlists()
}, 1000)
}, },
methods: { methods: {
change(index){ sousuo() {
this.current = index; this.huanindex = 1
this.getfenlei()
},
getfenlei() {
this.$u.get('/app/article/problem/list', {
keyword: this.keyword
}).then(res => {
if (res.rows.length != 0) {
this.list = res.rows.map(row => ({
name: row.classifyName,
classifyId: row.classifyId
}))
if (this.list.length != 0) {
this.classifyId = this.list[1].classifyId
this.getlists()
}
} else {
this.listitem = []
}
})
},
btnhuan() {
if (this.list.length != 0) {
this.classifyId = this.list[this.huanindex++].classifyId
// this.current++
if (this.huanindex == this.list.length) {
this.huanindex = 1
}
// if(this.current == this.list.length){
// this.current = 0
// }
this.getlists()
}
},
btnxq(id) {
uni.navigateTo({
url: '/page_user/aboutxq?id=' + id
})
},
change(index) {
if (index == 0) {
this.classifyId = this.list[index + 1].classifyId
this.current = index;
this.getlists()
} else {
this.classifyId = this.list[index].classifyId
this.current = index;
this.getlists()
}
},
getlists() {
this.$u.get('/app/article/list?classifyId=' + this.classifyId + '&pageNum=' + 1 + '&pageSize=' + 6).then(
res => {
if (res.code == 200) {
this.listitem = res.rows
// console.log(this.listitem);
}
})
} }
} }
} }
@ -70,7 +120,7 @@
<style lang="scss"> <style lang="scss">
page { page {
// background-color: ; // background-color: ;
background: linear-gradient(180deg, #25CE88 0%, rgba(255, 255, 255, 0) 100%); background: linear-gradient(180deg, #38D492 0%, rgba(255, 255, 255, 0) 100%);
border-radius: 0rpx 0rpx 0rpx 0rpx; border-radius: 0rpx 0rpx 0rpx 0rpx;
} }
@ -86,24 +136,27 @@
.serch { .serch {
margin-top: 44rpx; margin-top: 44rpx;
} }
.list{
.list {
width: 680rpx; width: 680rpx;
height: 654rpx; height: 654rpx;
background: #FFFFFF; background: #FFFFFF;
margin-top: 46rpx; margin-top: 46rpx;
border-radius: 50rpx; border-radius: 50rpx;
padding: 10rpx 32rpx; padding: 10rpx 32rpx;
box-sizing: border-box; box-sizing: border-box;
overflow: hidden; overflow: hidden;
// overflow-x: scroll; // overflow-x: scroll;
.tab{ .tab {
width: 650rpx; width: 650rpx;
margin-bottom: 38rpx; margin-bottom: 38rpx;
// display: flex; // display: flex;
} }
.wenti{
.wzwt{ .wenti {
.wzwt {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
margin-bottom: 38rpx; margin-bottom: 38rpx;
@ -112,13 +165,15 @@
color: #3D3D3D; color: #3D3D3D;
} }
} }
.huan{
image{ .huan {
width: 30rpx; image {
width: 28rpx;
height: 28rpx; height: 28rpx;
vertical-align: middle; vertical-align: middle;
margin-right: 10rpx; margin-right: 10rpx;
} }
width: 100%; width: 100%;
text-align: center; text-align: center;
font-weight: 500; font-weight: 500;
@ -127,9 +182,9 @@
} }
} }
} }
.active{ .active {
border-bottom: 6rpx solid #25CE88; border-bottom: 6rpx solid #D9D8FF;
padding-bottom: 10rpx; padding-bottom: 10rpx;
border-radius: 3rpx 3rpx 3rpx 3rpx; border-radius: 3rpx 3rpx 3rpx 3rpx;
} }

View File

@ -5,9 +5,9 @@
<view class="serchinp"> <view class="serchinp">
<u-search placeholder="搜索" v-model="keyword"></u-search> <u-search placeholder="搜索" v-model="keyword"></u-search>
<view class="xuanze"> <view class="xuanze">
<text style="margin-top: 4rpx;" @click="btnstatus(1)">状态</text> <text <text style="margin-top: 4rpx;" @click="btnstatus(1)">{{zhuangt}}</text> <text
style="width: 2px;height: 40rpx;background-color: #C7C7C7;display: inline-block;"></text> <text style="width: 2px;height: 40rpx;background-color: #C7C7C7;display: inline-block;"></text> <text
style="margin-top: 4rpx;" @click="btnstatus(2)">类型</text> style="margin-top: 4rpx;" @click="btnstatus(2)">{{leix}}</text>
</view> </view>
</view> </view>
<view class="device"> <view class="device">
@ -137,7 +137,7 @@
<view class="cdblist"> <view class="cdblist">
<view class="toptltle"> <view class="toptltle">
<view class="toptltle_lt"> <view class="toptltle_lt">
<u-icon name="file-text" size="32"></u-icon> fadgfryt168742341682 <u-icon name="file-text" @click="copybtn(text)" size="32"></u-icon> {{text}}
</view> </view>
<view class="toptltle_rt"> <view class="toptltle_rt">
<text></text><text></text><text></text> <text></text><text></text><text></text>
@ -190,6 +190,7 @@
return { return {
zhuangtaishow: false, zhuangtaishow: false,
leixingshow: false, leixingshow: false,
text:'fadgfryt168742341682',
zhaungtailist: [{ zhaungtailist: [{
value: '1', value: '1',
label: '正常' label: '正常'
@ -199,6 +200,8 @@
label: '离线' label: '离线'
} }
], ],
zhuangt:'状态',
leix:'类型',
leixinglist: [{ leixinglist: [{
value: '1', value: '1',
label: '4' label: '4'
@ -219,6 +222,26 @@
} }
}, },
methods: { methods: {
copybtn(value){
uni.setClipboardData({
data:value,//
success:()=>{//
uni.showToast({//
title:'复制成功'
})
}
});
// uni.showModal({
// content:value,//
// confirmText:'',
// success:()=>{//
// //uni.setClipboardData
// }
// });
},
btnstatus(num){ btnstatus(num){
if(num == 1){ if(num == 1){
this.zhuangtaishow = true this.zhuangtaishow = true
@ -230,9 +253,11 @@
}, },
confirmzt(e){ confirmzt(e){
console.log(e); console.log(e);
this.zhuangt = e[0].label
}, },
confirmlx(e){ confirmlx(e){
console.log(e); console.log(e);
this.leix = e[0].label
}, },
btnxq(){ btnxq(){

View File

@ -1,11 +1,11 @@
<template> <template>
<view class="page"> <view class="page">
<u-navbar title="设备故障" :border-bottom="false" :background="bgc" title-color='#000' title-size='36' <u-navbar title="设备故障" :border-bottom="false" :background="bgc" title-color='#000' title-size='36'
height='38'></u-navbar> height='58'></u-navbar>
<view class="box"> <view class="box">
<view class="nav"> <view class="nav">
<view class="top"> <view class="top">
<u-search placeholder="搜索" input-align="center" v-model="keyword"></u-search> <u-search placeholder="搜索" input-align="center" v-model="keyword" @custom="serch"></u-search>
<view class="yc" @click="btnyc">上报异常</view> <view class="yc" @click="btnyc">上报异常</view>
</view> </view>
<view class="tab"> <view class="tab">
@ -13,15 +13,19 @@
</view> </view>
</view> </view>
<view class="list"> <view class="list" @scrolltolower="onReachBottom" v-for="(item,index) in wateringList" :key="index">
<view class="list_val"> <view class="list_val">
<view class="wz">设备编号</view> <view class="gl">1023</view> <view class="wz">设备编号</view> <view class="gl">{{item.cabinetSn}}</view>
</view> </view>
<view class="list_val"> <view class="list_val">
<view class="wz">故障原因</view> <view class="gl">弹出失败</view> <view class="wz">故障原因</view>
<view class="gl" v-if="item.type == 1">弹出失败</view>
<view class="gl" v-if="item.type == 2">卡槽损坏</view>
<view class="gl" v-if="item.type == 3">设备破坏</view>
<view class="gl" v-if="item.type == 4">仓位异常</view>
</view> </view>
<view class="list_val"> <view class="list_val">
<view class="wz">备注</view> <view class="gl">设备没有弹出 点击没有反应啊实打实大啊实打实大所阿达阿达是的阿达阿达是的啊实打实大师大师大阿达阿达是的</view> <view class="wz">备注</view> <view class="gl">{{item.remark}}</view>
</view> </view>
</view> </view>
@ -44,37 +48,104 @@
}, { }, {
name: '仓位异常' name: '仓位异常'
}], }],
current: 0 current: 0,
pagenum: 1,
wateringList: [],
pagesize: 10, //
isLoading: false, //
noMoreData: false, //
total: 0,
keyword:'',
type:'',
bgc:{
background:'#25CE88'
}
} }
}, },
onLoad() {
},
onShow() {
this.wateringList = []
this.pagenum = 1
this.getlist()
},
methods: { methods: {
serch(){
this.wateringList = []
this.pagenum = 1
this.getlist()
},
change(index) { change(index) {
this.wateringList = []
this.pagenum = 1
this.current = index; this.current = index;
if(index == 0){
this.type = ''
this.getlist()
}else{
this.type = index
this.getlist()
}
}, },
btnyc(){ btnyc(){
uni.navigateTo({ uni.navigateTo({
url:'/pages/agentpages/devicemanagement/failure/yichang/index' url:'/pages/agentpages/devicemanagement/failure/yichang/index'
}) })
} },
getlist(){
this.$u.get('/agent/abnormal/list?pageNum=' + this.pagenum + '&pageSize=' + this.pagesize +'&type=' +this.type + '&keyword=' + this.keyword).then(res => {
if (res.code == 200) {
this.total = res.total
if (res.rows.length > 0) {
//
this.wateringList = this.wateringList.concat(res.rows)
this.pagenum++
} else {
//
this.noMoreData = true;
}
this.isLoading = false;
}
})
},
onReachBottom() {
let sum = this.total / this.pagesize
if (this.pagenum-1 < sum) {
this.getlist();
} else {
uni.showToast({
title: '没有更多记录了',
icon: 'none',
duration: 1000
});
}
},
} }
} }
</script> </script>
<style lang="scss"> <style lang="scss">
/deep/ .u-title,
/deep/ .uicon-nav-back{
padding-bottom: 40rpx;
}
page { page {
background: linear-gradient(180deg, #25CE88 0%, rgba(255, 255, 255, 0) 100%); background: #F4F5F7
} }
.page { .page {
width: 750rpx; width: 750rpx;
position: fixed; // position: fixed;
top: 0; // top: 0;
left: 0; // left: 0;
.box{ .box{
width: 750rpx; width: 750rpx;
height: 1624rpx; height: 100%;
background: #F4F5F7; background: #F4F5F7;
padding-bottom: 200rpx;
.list{ .list{
width: 680rpx; width: 680rpx;
padding: 20rpx 40rpx; padding: 20rpx 40rpx;

View File

@ -1,7 +1,7 @@
<template> <template>
<view class="page"> <view class="page">
<u-navbar title="上报异常" :border-bottom="false" :background="bgc" title-color='#000' title-size='36' <u-navbar title="上报异常" :border-bottom="false" :background="bgc" title-color='#000' title-size='36'
height='38'></u-navbar> height='58'></u-navbar>
<view class="box"> <view class="box">
<view class="list"> <view class="list">
<view class="sbbh"> <view class="sbbh">
@ -9,9 +9,9 @@
<image src="https://api.ccttiot.com/smartmeter/img/static/uTo0sMNT1u6dyEgpvraQ" mode=""></image> 设备编号 <image src="https://api.ccttiot.com/smartmeter/img/static/uTo0sMNT1u6dyEgpvraQ" mode=""></image> 设备编号
</view> </view>
<view class="inp"> <view class="inp">
<input type="text" placeholder="请输入编号" style="color: #C9CDD4;padding-left: 30rpx;"/> <input type="text" placeholder="请输入编号" v-model="result" style="color: #999;padding-left: 30rpx;"/>
</view> </view>
<view class="sm"> <view class="sm" @click="scanQRCode">
<image src="https://api.ccttiot.com/smartmeter/img/static/uwtCTFeo0LULdRKL6wHG" mode=""></image> <image src="https://api.ccttiot.com/smartmeter/img/static/uwtCTFeo0LULdRKL6wHG" mode=""></image>
</view> </view>
</view> </view>
@ -28,12 +28,15 @@
<image src="https://api.ccttiot.com/smartmeter/img/static/uTo0sMNT1u6dyEgpvraQ" mode=""></image>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; <image src="https://api.ccttiot.com/smartmeter/img/static/uTo0sMNT1u6dyEgpvraQ" mode=""></image>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;
</view> </view>
<view class="wb"> <view class="wb">
<textarea name="" placeholder="请输入备注" id="" cols="30" rows="10"></textarea> <textarea name="" placeholder="请输入备注" v-model="cont" id="" cols="30" rows="10"></textarea>
</view> </view>
</view> </view>
</view> </view>
<view class="yc" @click="btnyc">上报异常</view>
</view> </view>
<u-select v-model="listshow" :list="list" @confirm="confirm"></u-select> <u-select v-model="listshow" :list="list" @confirm="confirm"></u-select>
</view> </view>
</template> </template>
@ -60,7 +63,10 @@
label: '仓位异常' label: '仓位异常'
} }
], ],
text:'弹出失败' text:'弹出失败',
result:'',
cont:'',
type:1
} }
}, },
methods: { methods: {
@ -68,17 +74,71 @@
this.listshow = true this.listshow = true
}, },
confirm(e){ confirm(e){
console.log(e);
this.text = e[0].label this.text = e[0].label
this.type = e[0].value
},
scanQRCode() {
uni.scanCode({
onlyFromCamera: true,
scanType: ['qrCode'],
success: res => {
console.log('扫描结果:', res);
this.result = res.result
},
fail: err => {
console.error('扫描失败:', err);
uni.showToast({
title: '扫描失败',
icon: 'none'
});
}
});
},
btnyc(){
let data = {
cabinetSn:this.result,
type:this.type,
remark:this.cont
}
this.$u.post('/agent/abnormal',data).then(res =>{
if(res.code == 200){
uni.showToast({
title: '上报成功',
icon: 'none',
duration: 1000
})
setTimeout(()=>{
uni.navigateBack()
},1000)
}
})
} }
} }
} }
</script> </script>
<style lang="scss"> <style lang="scss">
/deep/ .u-title,
/deep/ .uicon-nav-back{
padding-bottom: 40rpx;
}
page { page {
background: linear-gradient(180deg, #25CE88 0%, rgba(255, 255, 255, 0) 100%); background: linear-gradient(180deg, #25CE88 0%, rgba(255, 255, 255, 0) 100%);
} }
.yc{
width: 660rpx;
height: 108rpx;
margin: auto;
background: #1DBE7B;
border-radius: 20rpx;
color: #FFFFFF;
line-height: 108rpx;
text-align: center;
margin-top: 150rpx;
font-size: 36rpx;
}
.page { .page {
width: 750rpx; width: 750rpx;

View File

@ -5,9 +5,9 @@
<view class="serchinp"> <view class="serchinp">
<u-search placeholder="搜索" v-model="keyword"></u-search> <u-search placeholder="搜索" v-model="keyword"></u-search>
<view class="xuanze"> <view class="xuanze">
<text style="margin-top: 4rpx;" @click="btnstatus(1)">状态</text> <text <text style="margin-top: 4rpx;" @click="btnstatus(1)">{{zhuangt}}</text> <text
style="width: 2px;height: 40rpx;background-color: #C7C7C7;display: inline-block;"></text> <text style="width: 2px;height: 40rpx;background-color: #C7C7C7;display: inline-block;"></text> <text
style="margin-top: 4rpx;" @click="btnstatus(2)">类型</text> style="margin-top: 4rpx;" @click="btnstatus(2)">{{leix}}</text>
</view> </view>
</view> </view>
<view class="device"> <view class="device">
@ -52,12 +52,12 @@
<view class="scrll"> <view class="scrll">
<view class="cdblist" @click="btnxq"> <view class="cdblist">
<view class="toptltle"> <view class="toptltle">
<view class="toptltle_lt"> <view class="toptltle_lt">
<u-icon name="file-text" size="32"></u-icon> fadgfryt168742341682 <u-icon name="file-text" size="32"></u-icon> fadgfryt168742341682
</view> </view>
<view class="toptltle_rt"> <view class="toptltle_rt" @click="btnxq">
<text></text><text></text><text></text> <text></text><text></text><text></text>
</view> </view>
</view> </view>
@ -199,6 +199,8 @@
label: '离线' label: '离线'
} }
], ],
zhuangt:'状态',
leix:'类型',
leixinglist: [{ leixinglist: [{
value: '1', value: '1',
label: '4' label: '4'
@ -230,9 +232,11 @@
}, },
confirmzt(e){ confirmzt(e){
console.log(e); console.log(e);
this.zhuangt = e[0].label
}, },
confirmlx(e){ confirmlx(e){
console.log(e); console.log(e);
this.leix = e[0].label
}, },
btnxq(){ btnxq(){

View File

@ -69,23 +69,24 @@
}, },
methods: { methods: {
scanQRCode() { scanQRCode() {
uni.navigateTo({ uni.scanCode({
url: '/page_user/yajin/index' onlyFromCamera: true,
}) scanType: ['qrCode'],
// uni.scanCode({ success: res => {
// onlyFromCamera: true, console.log('扫描结果:', res);
// scanType: ['qrCode'], let result = res.result
// success: res => { uni.navigateTo({
// console.log('', res); url: '/page_user/yajin/index?sn=' + result
// }, })
// fail: err => { },
// console.error('', err); fail: err => {
// uni.showToast({ console.error('扫描失败:', err);
// title: '', uni.showToast({
// icon: 'none' title: '扫描失败',
// }); icon: 'none'
// } });
// }); }
});
}, },
// //
@ -148,7 +149,12 @@
longitude: item.lng, longitude: item.lng,
width: 25, width: 25,
height: 30, height: 30,
iconPath: 'https://api.ccttiot.com/smartmeter/img/static/uI3B6yPwtiUBD3vafLtw' iconPath: 'https://api.ccttiot.com/smartmeter/img/static/uI3B6yPwtiUBD3vafLtw',
label: {
content: item.name,
// anchorX:-20,
textAlign: 'center'
}
}; };
this.covers.push(shopCover); this.covers.push(shopCover);
}); });

View File

@ -4,7 +4,7 @@
</u-navbar> </u-navbar>
<view class="imgbox"> <view class="imgbox">
<image src="https://api.ccttiot.com/smartmeter/img/static/uGPwljIaEppyKAT1iQaW" mode=""></image> <image src="https://api.ccttiot.com/smartmeter/img/static/uGHvzVjLjHy3SGGFbD5C" mode=""></image>
</view> </view>
<button class="button" open-type="getPhoneNumber" @getphonenumber="getPhoneNumber" > <button class="button" open-type="getPhoneNumber" @getphonenumber="getPhoneNumber" >
授权登录 授权登录

View File

@ -1,30 +1,30 @@
<template> <template>
<view class="page"> <view class="page">
<u-navbar title="我的订单" :border-bottom="false" :background="bgc" title-color='#000' title-size='36' height='38'></u-navbar> <u-navbar title="我的订单" :border-bottom="false" :background="bgc" title-color='#000' title-size='36' height='58'></u-navbar>
<view class="listorder"> <view class="listorder" @scrolltolower="onReachBottom" v-for="(item,index) in wateringList" :key="index">
<view class="title"> <view class="title">
<view>SDFGA5452168437113123 &nbsp;&nbsp; <u-icon name="file-text" size="38"></u-icon> </view> <view @click="btnnav"><u-icon name="arrow-right"></u-icon></view> <view>{{item.orderNo}} &nbsp;&nbsp; <u-icon name="file-text" size="38"></u-icon> </view> <view @click="btnnav"><u-icon name="arrow-right"></u-icon></view>
</view> </view>
<view class="bh"> <view class="bh">
<text>柜机编号</text> <text>SDGJRAEG15684721339658</text> <text>柜机编号</text> <text>{{item.startCabinetSn}}</text>
</view> </view>
<view class="bh"> <view class="bh">
<text>电池编号</text> <text>DFASF5413786946</text> <text>电池编号</text> <text>{{item.deviceSn}}</text>
</view> </view>
<view class="bh"> <view class="bh">
<text>手机号码</text> <text>12345678978</text> <text>手机号码</text> <text>{{item.mobile}}</text>
</view> </view>
<view class="bh"> <view class="bh">
<text>订单状态</text> <text>使用中</text> <text>订单状态</text> <text>使用中</text>
</view> </view>
<view class="bh"> <view class="bh">
<text>订单金额</text> <text>-</text> <text>订单金额</text> <text>{{item.money == null ? '-' : item.money}}</text>
</view> </view>
<view class="bh"> <view class="bh">
<text>租借时间</text> <text>2024-04-08 15:05:21</text> <text>租借时间</text> <text>{{item.startRentTime}}</text>
</view> </view>
<view class="bh"> <view class="bh">
<text>租借时长</text> <text>-</text> <text>租借时长</text> <text>{{item.endRentTime == null ? '-' : item.endRentTime}}</text>
</view> </view>
</view> </view>
@ -36,27 +36,68 @@
export default { export default {
data() { data() {
return { return {
pagenum: 1,
wateringList: [],
pagesize: 10, //
isLoading: false, //
noMoreData: false, //
total: 0,
keyword:'',
type:'',
bgc:{
background:'#25CE88'
}
} }
}, },
onLoad() { onLoad() {
this.getlist()
}, },
methods: { methods: {
btnnav(){ btnnav(){
uni.navigateTo({ uni.navigateTo({
url:'/pages/myorder/returned/index' url:'/pages/myorder/returned/index'
}) })
} },
getlist(){
this.$u.get('/app/order/rent/list?pageNum=' + this.pagenum + '&pageSize=' + this.pagesize).then(res => {
if (res.code == 200) {
this.total = res.total
if (res.rows.length > 0) {
//
this.wateringList = this.wateringList.concat(res.rows)
this.pagenum++
} else {
//
this.noMoreData = true;
}
this.isLoading = false;
}
})
},
onReachBottom() {
let sum = this.total / this.pagesize
if (this.pagenum-1 < sum) {
this.getlist();
} else {
uni.showToast({
title: '没有更多记录了',
icon: 'none',
duration: 1000
});
}
},
} }
} }
</script> </script>
<style lang="scss"> <style lang="scss">
/deep/ .u-title,
/deep/ .uicon-nav-back{
padding-bottom: 40rpx;
}
page { page {
// background-color: ; // background-color: ;
background: linear-gradient(180deg, #25CE88 0%, rgba(255, 255, 255, 0) 100%); background: linear-gradient(180deg, #F4F5F7 0%, rgba(255, 255, 255, 0) 100%);
border-radius: 0rpx 0rpx 0rpx 0rpx; border-radius: 0rpx 0rpx 0rpx 0rpx;
} }
@ -65,9 +106,9 @@
padding-left: 34rpx; padding-left: 34rpx;
padding-right: 34rpx; padding-right: 34rpx;
box-sizing: border-box; box-sizing: border-box;
position: fixed; // position: fixed;
top: 0; // top: 0;
left: 0; // left: 0;
.listorder{ .listorder{
margin-top: 32rpx; margin-top: 32rpx;
width: 100%; width: 100%;

View File

@ -9,7 +9,7 @@
<view class="pic"> <view class="pic">
<image :src="item.picture" mode=""></image> <image :src="item.picture" mode=""></image>
</view> </view>
<view class="cen"> <view class="cen" @click="handleMarkerClicks(item)">
<view class="cena" style="font-weight: 600;"> <view class="cena" style="font-weight: 600;">
{{item.name}} {{item.name}}
</view> </view>
@ -91,7 +91,12 @@
width: 25, width: 25,
height: 30, height: 30,
iconPath: 'https://api.ccttiot.com/smartmeter/img/static/uI3B6yPwtiUBD3vafLtw', iconPath: 'https://api.ccttiot.com/smartmeter/img/static/uI3B6yPwtiUBD3vafLtw',
distance: distance // distance: distance ,//
label: {
content: item.name,
// anchorX:-20,
textAlign: 'center'
}
}; };
// console.log(this.gxlist); // console.log(this.gxlist);
this.covers.push(shopCover); // this.covers.push(shopCover); //
@ -122,7 +127,13 @@
handleMarkerClick(event) { handleMarkerClick(event) {
const markerId = event.markerId; const markerId = event.markerId;
uni.navigateTo({ uni.navigateTo({
url: '/page_user/mapditu/index?markerId=' + markerId url: '/page_user/ditu?markerId=' + markerId
})
},
handleMarkerClicks(item) {
const markerId = item.storeId;
uni.navigateTo({
url: '/page_user/ditu?markerId=' + markerId
}) })
}, },
@ -150,14 +161,14 @@
left: 0; left: 0;
.dtxs{ .dtxs{
width: 100%; width: 100%;
height: 50vh; height: 70vh;
position: fixed; position: fixed;
top: 0; top: 0;
left: 0; left: 0;
z-index: -1; z-index: -1;
} }
.listbox{ .listbox{
margin-top: 480rpx; margin-top: 820rpx;
background: #FFFFFF; background: #FFFFFF;
border-radius: 64rpx 64rpx 0 0; border-radius: 64rpx 64rpx 0 0;
box-shadow: 0rpx 10rpx 64rpx 0rpx rgba(0,0,0,0.08); box-shadow: 0rpx 10rpx 64rpx 0rpx rgba(0,0,0,0.08);
@ -165,7 +176,7 @@
padding-left: 32rpx; padding-left: 32rpx;
padding-right: 32rpx; padding-right: 32rpx;
box-sizing: border-box; box-sizing: border-box;
height: 70vh; height: 40vh;
overflow-y: scroll; overflow-y: scroll;
padding-bottom: 400rpx; padding-bottom: 400rpx;
.moshi{ .moshi{
@ -214,6 +225,7 @@
image{ image{
width: 100%; width: 100%;
height: 100%; height: 100%;
border-radius: 20rpx;
} }
} }
.cen{ .cen{