小鹿骑行
|
|
@ -193,6 +193,21 @@
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
}else if(res.code == 401){
|
||||||
|
uni.showModal({
|
||||||
|
title: '提示',
|
||||||
|
content: '您当前未登录,是否前去登录?',
|
||||||
|
showCancel: true,
|
||||||
|
success: function (res) {
|
||||||
|
if (res.confirm) {
|
||||||
|
uni.reLaunch({
|
||||||
|
url:'/pages/login/login'
|
||||||
|
})
|
||||||
|
} else if (res.cancel) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -153,7 +153,9 @@
|
||||||
</view>
|
</view>
|
||||||
<view v-if="taocanlist.length != 0" style="margin-top: 24rpx;color: #828282;font-size: 26rpx;">
|
<view v-if="taocanlist.length != 0" style="margin-top: 24rpx;color: #828282;font-size: 26rpx;">
|
||||||
<view class="">
|
<view class="">
|
||||||
免费骑行<text style="color: #F17F37;">{{actiobj.freeRideTime == null ? '0' : actiobj.freeRideTime}}</text>分钟<text v-if="bikeobj.areaParkingReturn == true">,需在还车点还车,地图可查看还车点</text>
|
免费骑行<text style="color: #F17F37;">{{actiobj.freeRideTime == null ? '0' : actiobj.freeRideTime}}</text>分钟,
|
||||||
|
<text v-if="bikeobj.areaParkingReturn == true" style="color: #4C97E7;" @click="btntcd"> 需在还车点还车,查看还车点</text>
|
||||||
|
<text v-else style="color: #4C97E7;" @click="btntcd"> 查看还车点</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="" style="color: #828282;display: flex;align-items: center;" v-if="taocanlist[fanganindex].ridingRule == 1">
|
<view class="" style="color: #828282;display: flex;align-items: center;" v-if="taocanlist[fanganindex].ridingRule == 1">
|
||||||
<text style="display: block;margin-top: 10rpx;margin-bottom: 10rpx;font-size: 24rpx;color: #3D3D3D;">超出计费</text><text style="color: #F17F37;">{{taocanlist[fanganindex].startRule.timeoutPrice}}</text>元
|
<text style="display: block;margin-top: 10rpx;margin-bottom: 10rpx;font-size: 24rpx;color: #3D3D3D;">超出计费</text><text style="color: #F17F37;">{{taocanlist[fanganindex].startRule.timeoutPrice}}</text>元
|
||||||
|
|
@ -437,7 +439,7 @@
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="btn" @click="btnzhifu">
|
<view class="btn" @click="btnzhifu">
|
||||||
同意并继续({{yucun == 0 ? '免押金' : '预支付'}} <text style="display: inline-block;font-size: 32rpx;margin-left:2rpx;">¥{{yucun}}</text>)
|
同意并继续({{yucun == 0 ? '免押金' : '押金'}} <text style="display: inline-block;font-size: 32rpx;margin-left:2rpx;">¥{{yucun}}</text>)
|
||||||
</view>
|
</view>
|
||||||
<view class="cha" @click="mxflag = true">×</view>
|
<view class="cha" @click="mxflag = true">×</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -769,6 +771,7 @@
|
||||||
this.modelId = res.data.modelId
|
this.modelId = res.data.modelId
|
||||||
this.areaNeedCheckVideo = res.data.areaNeedCheckVideo
|
this.areaNeedCheckVideo = res.data.areaNeedCheckVideo
|
||||||
this.mac = res.data.mac
|
this.mac = res.data.mac
|
||||||
|
this.getzaixian() //判断是否在线
|
||||||
this.gettaocan()
|
this.gettaocan()
|
||||||
this.getcheliang()
|
this.getcheliang()
|
||||||
this.getQiniuToken()
|
this.getQiniuToken()
|
||||||
|
|
@ -846,6 +849,8 @@
|
||||||
this.$u.put(`/app/device/iot/uploadData?sn=${this.sn}`).then(res =>{
|
this.$u.put(`/app/device/iot/uploadData?sn=${this.sn}`).then(res =>{
|
||||||
if(res.code == 200){
|
if(res.code == 200){
|
||||||
this.zaixianflag = true
|
this.zaixianflag = true
|
||||||
|
}else if(res.code == 20003){
|
||||||
|
this.zaixianflag = true
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
let that = this
|
let that = this
|
||||||
|
|
@ -1024,18 +1029,36 @@
|
||||||
},
|
},
|
||||||
recordVideo() {
|
recordVideo() {
|
||||||
// 调用录像API
|
// 调用录像API
|
||||||
|
const minVideoDuration = 10;
|
||||||
|
const maxVideoDuration = 60;
|
||||||
uni.chooseVideo({
|
uni.chooseVideo({
|
||||||
sourceType: ['camera'], // 指定使用相机录像
|
sourceType: ['camera'], // 指定使用相机录像
|
||||||
camera: 'back', // 指定使用后置摄像头,可选值有front、back
|
camera: 'back', // 后置摄像头
|
||||||
maxDuration: 15, // 最大录制时长(秒)
|
maxDuration: maxVideoDuration, // 最大录制时长15秒
|
||||||
success: (res) => {
|
success: (res) => {
|
||||||
// 获取视频录制文件的临时路径
|
// 1. 获取视频实际录制时长(res.duration 单位:秒)
|
||||||
|
const actualDuration = res.duration;
|
||||||
|
console.log('视频实际录制时长:', actualDuration, '秒');
|
||||||
|
// 2. 判断是否满足最小录制时长要求
|
||||||
|
if (actualDuration < minVideoDuration) {
|
||||||
|
uni.showToast({
|
||||||
|
title: `视频时长不能少于${minVideoDuration}秒,请重新录制`,
|
||||||
|
icon: 'none',
|
||||||
|
duration: 5000
|
||||||
|
});
|
||||||
|
return; // 不执行后续上传操作
|
||||||
|
}
|
||||||
|
// 3. 满足要求,继续后续流程
|
||||||
this.videoPath = res.tempFilePath;
|
this.videoPath = res.tempFilePath;
|
||||||
console.log(res.tempFilePath);
|
console.log('视频临时路径:', res.tempFilePath);
|
||||||
this.upload()
|
this.upload(); // 执行上传
|
||||||
},
|
},
|
||||||
fail: (err) => {
|
fail: (err) => {
|
||||||
console.log('录像失败:', err);
|
console.log('录像失败:', err);
|
||||||
|
uni.showToast({
|
||||||
|
title: '录像失败,请重试',
|
||||||
|
icon: 'none'
|
||||||
|
});
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
@ -1294,7 +1317,7 @@
|
||||||
uni.showModal({
|
uni.showModal({
|
||||||
title: '提示',
|
title: '提示',
|
||||||
content: '当前车辆不可用',
|
content: '当前车辆不可用',
|
||||||
showCancel: true,
|
showCancel: false,
|
||||||
success: function(res) {
|
success: function(res) {
|
||||||
if (res.confirm) {
|
if (res.confirm) {
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,7 @@
|
||||||
<text></text>
|
<text></text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
<scroll-view scroll-y="true" style="height: 72vh;overflow: scroll;">
|
||||||
<view class="" v-if="tabindex == 0">
|
<view class="" v-if="tabindex == 0">
|
||||||
<view class="card">
|
<view class="card">
|
||||||
<view class="card_li">
|
<view class="card_li">
|
||||||
|
|
@ -275,7 +276,7 @@
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="" v-if="tabindex === 1">
|
<view class="" v-if="tabindex == 1 || tabindex == 0">
|
||||||
<view class="card">
|
<view class="card">
|
||||||
<view class="biaoti">
|
<view class="biaoti">
|
||||||
骑行设置
|
骑行设置
|
||||||
|
|
@ -364,7 +365,7 @@
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="" v-if="tabindex == 2">
|
<view class="" v-if="tabindex == 2 || tabindex == 0">
|
||||||
<view class="card">
|
<view class="card">
|
||||||
<view class="biaoti">
|
<view class="biaoti">
|
||||||
还车设置
|
还车设置
|
||||||
|
|
@ -466,6 +467,7 @@
|
||||||
</view> -->
|
</view> -->
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
</scroll-view>
|
||||||
|
|
||||||
|
|
||||||
<!-- 时间选择器 -->
|
<!-- 时间选择器 -->
|
||||||
|
|
@ -835,7 +837,7 @@
|
||||||
align-items: center;
|
align-items: center;
|
||||||
gap: 82rpx;
|
gap: 82rpx;
|
||||||
padding-left: 42rpx;
|
padding-left: 42rpx;
|
||||||
|
font-size: 36rpx;
|
||||||
view {
|
view {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
color: #808080;
|
color: #808080;
|
||||||
|
|
@ -1091,8 +1093,6 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.page {
|
.page {
|
||||||
padding-bottom: 300rpx;
|
|
||||||
|
|
||||||
.choose_part {
|
.choose_part {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
top: 530rpx;
|
top: 530rpx;
|
||||||
|
|
|
||||||
|
|
@ -161,7 +161,6 @@
|
||||||
// 允许不输入或者是0? 原逻辑没校验,这里保持宽容,或者给默认0
|
// 允许不输入或者是0? 原逻辑没校验,这里保持宽容,或者给默认0
|
||||||
this.price = 0;
|
this.price = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
uni.showLoading({
|
uni.showLoading({
|
||||||
title:'提交中...'
|
title:'提交中...'
|
||||||
})
|
})
|
||||||
|
|
@ -173,10 +172,17 @@
|
||||||
this.$u.put('/bst/order/verify', data).then((res) => {
|
this.$u.put('/bst/order/verify', data).then((res) => {
|
||||||
uni.hideLoading()
|
uni.hideLoading()
|
||||||
if (res.code === 200) {
|
if (res.code === 200) {
|
||||||
uni.showToast({
|
uni.showModal({
|
||||||
title: '审核成功',
|
title: '提示',
|
||||||
icon: 'success',
|
content: '审核成功',
|
||||||
duration: 2000
|
showCancel: false,
|
||||||
|
success: function(res) {
|
||||||
|
if (res.confirm) {
|
||||||
|
|
||||||
|
} else if (res.cancel) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
})
|
})
|
||||||
this.pageNum = 1
|
this.pageNum = 1
|
||||||
this.list = []
|
this.list = []
|
||||||
|
|
@ -188,7 +194,7 @@
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: res.msg,
|
title: res.msg,
|
||||||
icon: 'none',
|
icon: 'none',
|
||||||
duration: 2000
|
duration: 5000
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}).catch(() => {
|
}).catch(() => {
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onLoad() {
|
onLoad() {
|
||||||
this.http = 'https://ele.ccttiot.com/ext?url=' + encodeURIComponent('https://player.bilibili.com/player.html?isOutside=true&aid=114369123849636&bvid=BV1CuLczFEe2&cid=29515777844&p=1')
|
this.http = 'https://weixin.qq.com/sph/AV48NNirw'
|
||||||
// this.http = 'https://weixin.qq.com/sph/AclK6wcxT'
|
// this.http = 'https://weixin.qq.com/sph/AclK6wcxT'
|
||||||
console.log(this.http);
|
console.log(this.http);
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,25 @@
|
||||||
title-size='34' height='36' id="navbar"></u-navbar>
|
title-size='34' height='36' id="navbar"></u-navbar>
|
||||||
|
|
||||||
<view class="container">
|
<view class="container">
|
||||||
|
<!-- 实名信息展示 -->
|
||||||
|
<view class="section-card real-info-card">
|
||||||
|
<view class="section-title">实名信息</view>
|
||||||
|
<view class="real-info-content">
|
||||||
|
<view class="info-item">
|
||||||
|
<text class="info-label">姓名:</text>
|
||||||
|
<text class="info-value">{{realName || '--'}}</text>
|
||||||
|
</view>
|
||||||
|
<view class="info-item">
|
||||||
|
<text class="info-label">身份证号:</text>
|
||||||
|
<text class="info-value">{{realIdCard || '--'}}</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="info-tip">
|
||||||
|
<u-icon name="info-circle" size="28" color="#909399" style="margin-right: 8rpx;"></u-icon>
|
||||||
|
<text class="tip-text">收款账户信息需与实名信息一致,请仔细核对</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
<!-- 账户类型选择 -->
|
<!-- 账户类型选择 -->
|
||||||
<!-- <view class="section-card">
|
<!-- <view class="section-card">
|
||||||
<view class="section-title">选择收款方式</view>
|
<view class="section-title">选择收款方式</view>
|
||||||
|
|
@ -28,7 +47,7 @@
|
||||||
<!-- 开户行输入(仅对公银行卡显示) -->
|
<!-- 开户行输入(仅对公银行卡显示) -->
|
||||||
<view class="form-item" v-if="activeType == 'PUBLIC_BANK'">
|
<view class="form-item" v-if="activeType == 'PUBLIC_BANK'">
|
||||||
<view class="form-label">开户行名称</view>
|
<view class="form-label">开户行名称</view>
|
||||||
<u-input v-model="bankForm.bankName" placeholder="请输入开户行名称" border="none" class="custom-input"></u-input>
|
<u-input v-model="bankForm.bankName" placeholder="请输入开户行名称" border="none" class="custom-input" @input="handleInput('bankName', $event)"></u-input>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- <view class="form-item">
|
<!-- <view class="form-item">
|
||||||
|
|
@ -38,7 +57,7 @@
|
||||||
|
|
||||||
<view class="form-item">
|
<view class="form-item">
|
||||||
<view class="form-label">银行卡号</view>
|
<view class="form-label">银行卡号</view>
|
||||||
<u-input v-model="bankForm.no" placeholder="请输入银行卡号" border="none" type="number" class="custom-input"></u-input>
|
<u-input v-model="bankForm.no" placeholder="请输入银行卡号" border="none" type="number" class="custom-input" @input="handleInput('no', $event)"></u-input>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- <view class="form-item">
|
<!-- <view class="form-item">
|
||||||
|
|
@ -48,7 +67,10 @@
|
||||||
|
|
||||||
<view class="form-item" v-if="activeType != 'PUBLIC_BANK'" style="border-bottom: none;">
|
<view class="form-item" v-if="activeType != 'PUBLIC_BANK'" style="border-bottom: none;">
|
||||||
<view class="form-label">手机号</view>
|
<view class="form-label">手机号</view>
|
||||||
<u-input v-model="bankForm.mobile" placeholder="请输入手机号" border="none" class="custom-input"></u-input>
|
<u-input v-model="bankForm.mobile" placeholder="请输入手机号" border="none" class="custom-input" @input="handleInput('mobile', $event)"></u-input>
|
||||||
|
<view class="" style="color: #E6A23C;margin-top: 30rpx;">
|
||||||
|
注:该手机号必须是该银行卡预留的手机号
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
|
|
@ -57,15 +79,15 @@
|
||||||
<view class="section-title">绑定银行卡信息</view>
|
<view class="section-title">绑定银行卡信息</view>
|
||||||
<view class="form-item">
|
<view class="form-item">
|
||||||
<view class="form-label">银行卡号</view>
|
<view class="form-label">银行卡号</view>
|
||||||
<u-input v-model="bankForm.no" placeholder="请输入银行卡号" border="none" type="number" class="custom-input"></u-input>
|
<u-input v-model="bankForm.no" placeholder="请输入银行卡号" border="none" type="number" class="custom-input" @input="handleInput('no', $event)"></u-input>
|
||||||
</view>
|
</view>
|
||||||
<view class="form-item">
|
<view class="form-item">
|
||||||
<view class="form-label">开户行名称</view>
|
<view class="form-label">开户行名称</view>
|
||||||
<u-input v-model="bankForm.bankName" placeholder="请输入开户行名称" border="none" class="custom-input"></u-input>
|
<u-input v-model="bankForm.bankName" placeholder="请输入开户行名称" border="none" class="custom-input" @input="handleInput('bankName', $event)"></u-input>
|
||||||
</view>
|
</view>
|
||||||
<view class="form-item" style="border-bottom: none;">
|
<view class="form-item" style="border-bottom: none;">
|
||||||
<view class="form-label">联行号</view>
|
<view class="form-label">联行号</view>
|
||||||
<u-input v-model="bankForm.contactLine" placeholder="请输入联行号" border="none" class="custom-input"></u-input>
|
<u-input v-model="bankForm.contactLine" placeholder="请输入联行号" border="none" class="custom-input" @input="handleInput('contactLine', $event)"></u-input>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
|
|
@ -101,7 +123,7 @@
|
||||||
</view> -->
|
</view> -->
|
||||||
<view class="form-item">
|
<view class="form-item">
|
||||||
<view class="form-label">银行卡号</view>
|
<view class="form-label">银行卡号</view>
|
||||||
<u-input v-model="bankForm.no" placeholder="请输入银行卡号" border="none" type="number" class="custom-input"></u-input>
|
<u-input v-model="bankForm.no" placeholder="请输入银行卡号" border="none" type="number" class="custom-input" @input="handleInput('no', $event)"></u-input>
|
||||||
</view>
|
</view>
|
||||||
<!-- <view class="form-item">
|
<!-- <view class="form-item">
|
||||||
<view class="form-label">身份证号</view>
|
<view class="form-label">身份证号</view>
|
||||||
|
|
@ -109,7 +131,10 @@
|
||||||
</view> -->
|
</view> -->
|
||||||
<view class="form-item" style="border-bottom: none;">
|
<view class="form-item" style="border-bottom: none;">
|
||||||
<view class="form-label">手机号</view>
|
<view class="form-label">手机号</view>
|
||||||
<u-input v-model="bankForm.mobile" placeholder="请输入手机号" border="none" class="custom-input"></u-input>
|
<u-input v-model="bankForm.mobile" placeholder="请输入手机号" border="none" class="custom-input" @input="handleInput('mobile', $event)"></u-input>
|
||||||
|
<view class="" style="color: #E6A23C;margin-top: 30rpx;">
|
||||||
|
注:该手机号必须是该银行卡预留的手机号
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
|
|
@ -149,19 +174,53 @@ export default {
|
||||||
token: '', // 添加七牛云token
|
token: '', // 添加七牛云token
|
||||||
upurl: 'https://api.ccttiot.com', // 添加上传域名
|
upurl: 'https://api.ccttiot.com', // 添加上传域名
|
||||||
zhanghulist:[],
|
zhanghulist:[],
|
||||||
activeTypeid:''
|
activeTypeid:'',
|
||||||
|
realName: '', // 实名姓名
|
||||||
|
realIdCard: '' // 实名身份证号
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onShow() {
|
onShow() {
|
||||||
|
this.getUserInfo()
|
||||||
},
|
},
|
||||||
onLoad(e) {
|
onLoad(e) {
|
||||||
this.activeType = e.activeType
|
this.activeType = e.activeType
|
||||||
this.activeTypeid = e.id
|
this.activeTypeid = e.id
|
||||||
// this.getqudao()
|
// this.getqudao()
|
||||||
this.getQiniuToken()
|
this.getQiniuToken()
|
||||||
|
this.getUserInfo()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
// 获取用户实名信息
|
||||||
|
getUserInfo() {
|
||||||
|
this.$u.get("/getInfo").then(res => {
|
||||||
|
if (res.code == 200 && res.user) {
|
||||||
|
this.realName = res.user.realName || ''
|
||||||
|
this.realIdCard = res.user.realIdCard || ''
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 处理输入,去除空格
|
||||||
|
handleInput(field, value) {
|
||||||
|
// 去除所有空格(包括粘贴时的空格)
|
||||||
|
let inputValue = ''
|
||||||
|
if (typeof value === 'string') {
|
||||||
|
inputValue = value
|
||||||
|
} else if (value && value.detail && typeof value.detail.value === 'string') {
|
||||||
|
// uView u-input 组件可能通过 detail.value 传递
|
||||||
|
inputValue = value.detail.value
|
||||||
|
} else if (value && value.target) {
|
||||||
|
// 处理原生事件对象
|
||||||
|
inputValue = value.target.value || ''
|
||||||
|
} else {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// 去除所有空格
|
||||||
|
const trimmedValue = inputValue.replace(/\s/g, '')
|
||||||
|
// 使用 $nextTick 确保更新
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.bankForm[field] = trimmedValue
|
||||||
|
})
|
||||||
|
},
|
||||||
btnxz(item){
|
btnxz(item){
|
||||||
this.activeType = item.apiType
|
this.activeType = item.apiType
|
||||||
this.activeTypeid = item.id
|
this.activeTypeid = item.id
|
||||||
|
|
@ -490,4 +549,54 @@ page {
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
transform: none;
|
transform: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* 实名信息卡片样式 */
|
||||||
|
.real-info-card {
|
||||||
|
background: linear-gradient(135deg, #EEF5FF 0%, #F7F9FC 100%);
|
||||||
|
border: 1rpx solid #E1F0FF;
|
||||||
|
}
|
||||||
|
|
||||||
|
.real-info-content {
|
||||||
|
margin-bottom: 24rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.info-item {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
margin-bottom: 16rpx;
|
||||||
|
font-size: 28rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.info-item:last-child {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.info-label {
|
||||||
|
color: #606266;
|
||||||
|
font-weight: 500;
|
||||||
|
min-width: 140rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.info-value {
|
||||||
|
color: #303133;
|
||||||
|
font-weight: 600;
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.info-tip {
|
||||||
|
display: flex;
|
||||||
|
align-items: flex-start;
|
||||||
|
padding: 16rpx 20rpx;
|
||||||
|
background: #FFF7E6;
|
||||||
|
border-radius: 12rpx;
|
||||||
|
border-left: 4rpx solid #FFA940;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tip-text {
|
||||||
|
font-size: 24rpx;
|
||||||
|
color: #8C6A00;
|
||||||
|
line-height: 1.6;
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
</map>
|
</map>
|
||||||
<view class="jiaoyi">
|
<view class="jiaoyi">
|
||||||
<view class="pic">
|
<view class="pic">
|
||||||
<image src="https://api.ccttiot.com/smartmeter/img/static/uiXte3LpSV30jyvTUR2R" mode=""></image>
|
<image src="/static/image/icon18.png" mode=""></image>
|
||||||
<text v-if="info.status == 'PROCESSING'">进行中</text>
|
<text v-if="info.status == 'PROCESSING'">进行中</text>
|
||||||
<text v-if="info.status == 'WAIT_PAY'">待支付</text>
|
<text v-if="info.status == 'WAIT_PAY'">待支付</text>
|
||||||
<text v-if="info.status == 'CANCELED'">已取消</text>
|
<text v-if="info.status == 'CANCELED'">已取消</text>
|
||||||
|
|
@ -37,7 +37,7 @@
|
||||||
订单编号
|
订单编号
|
||||||
</view>
|
</view>
|
||||||
<view class="shen">
|
<view class="shen">
|
||||||
{{info.no == null ? '--' : info.no}} <image src="https://api.ccttiot.com/smartmeter/img/static/uimYURcxkn9ItLquwPpM" mode=""></image>
|
{{info.no == null ? '--' : info.no}} <image src="/static/image/icon19.png" mode=""></image>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="one">
|
<view class="one">
|
||||||
|
|
@ -298,7 +298,7 @@
|
||||||
</view>
|
</view>
|
||||||
<view class="mask" v-if="kefuflag"></view>
|
<view class="mask" v-if="kefuflag"></view>
|
||||||
<view class="kfrens">
|
<view class="kfrens">
|
||||||
<image class="kfren" @click="btntel" src="https://api.ccttiot.com/smartmeter/img/static/uJd9ccJt76zc7r2Nlpb8" mode=""></image>
|
<image class="kfren" @click="btntel" src="/static/image/20.png"></image>
|
||||||
联系客服
|
联系客服
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -369,7 +369,6 @@
|
||||||
else if (row.type == 2) type2Data.push(row);
|
else if (row.type == 2) type2Data.push(row);
|
||||||
else if (row.type == 3) type3Data.push(row);
|
else if (row.type == 3) type3Data.push(row);
|
||||||
});
|
});
|
||||||
|
|
||||||
// 处理 type1 数据
|
// 处理 type1 数据
|
||||||
const validBoundaries = type1Data.map(row => row.boundaryStr).filter(boundary =>
|
const validBoundaries = type1Data.map(row => row.boundaryStr).filter(boundary =>
|
||||||
typeof boundary === 'string' && boundary.trim() !== '');
|
typeof boundary === 'string' && boundary.trim() !== '');
|
||||||
|
|
@ -377,7 +376,6 @@
|
||||||
if (polygons && polygons.length > 0) {
|
if (polygons && polygons.length > 0) {
|
||||||
this.polygon = this.polygon.concat(polygons);
|
this.polygon = this.polygon.concat(polygons);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 处理 type2 数据
|
// 处理 type2 数据
|
||||||
const validBoundaries1 = type2Data.map(row => row.boundaryStr).filter(boundary =>
|
const validBoundaries1 = type2Data.map(row => row.boundaryStr).filter(boundary =>
|
||||||
typeof boundary === 'string' && boundary.trim() !== '');
|
typeof boundary === 'string' && boundary.trim() !== '');
|
||||||
|
|
@ -385,7 +383,6 @@
|
||||||
if (polygons1 && polygons1.length > 0) {
|
if (polygons1 && polygons1.length > 0) {
|
||||||
this.polygon = this.polygon.concat(polygons1);
|
this.polygon = this.polygon.concat(polygons1);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 处理 type3 数据
|
// 处理 type3 数据
|
||||||
const validBoundaries2 = type3Data.map(row => row.boundaryStr).filter(boundary =>
|
const validBoundaries2 = type3Data.map(row => row.boundaryStr).filter(boundary =>
|
||||||
typeof boundary === 'string' && boundary.trim() !== '');
|
typeof boundary === 'string' && boundary.trim() !== '');
|
||||||
|
|
@ -393,7 +390,6 @@
|
||||||
if (polygons2 && polygons2.length > 0) {
|
if (polygons2 && polygons2.length > 0) {
|
||||||
this.polygon = this.polygon.concat(polygons2);
|
this.polygon = this.polygon.concat(polygons2);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.parkingList = filteredData
|
this.parkingList = filteredData
|
||||||
this.$forceUpdate()
|
this.$forceUpdate()
|
||||||
this.toggleIconAndCallout()
|
this.toggleIconAndCallout()
|
||||||
|
|
|
||||||
|
|
@ -92,10 +92,10 @@
|
||||||
|
|
||||||
<!-- 平台客服弹窗 -->
|
<!-- 平台客服弹窗 -->
|
||||||
<view class="kefutc" v-if="kefuflag">
|
<view class="kefutc" v-if="kefuflag">
|
||||||
<image src="https://api.ccttiot.com/smartmeter/img/static/umtjJg2CJLiOS6hfAEzo" mode=""
|
<image src="https://api.ccttiot.com/smartmeter/img/static/umtjJg2CJLiOS6hfAEzo" mode="aspectFill"
|
||||||
@click="kefuflag = false"></image>
|
@click="kefuflag = false"></image>
|
||||||
<view class="box" >
|
<view class="box" >
|
||||||
<view class="" style="max-height: 170rpx;overflow: scroll;">
|
<view class="" style="max-height: 268rpx;overflow: scroll;">
|
||||||
<view class="top" v-for="(item,index) in kefulist" :key="index">
|
<view class="top" v-for="(item,index) in kefulist" :key="index">
|
||||||
<view class="dianhua">
|
<view class="dianhua">
|
||||||
{{item.name == null ? '--' : item.name}}:{{item.contact == null ? '--' : item.contact}}
|
{{item.name == null ? '--' : item.name}}:{{item.contact == null ? '--' : item.contact}}
|
||||||
|
|
@ -107,12 +107,12 @@
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="bot">
|
<view class="bot">
|
||||||
<view class="wz">
|
<!-- <view class="wz">
|
||||||
在线客服
|
在线客服
|
||||||
</view>
|
</view>
|
||||||
<view class="wz">
|
<view class="wz">
|
||||||
温馨提示
|
温馨提示
|
||||||
</view>
|
</view> -->
|
||||||
<view class="wzs">
|
<view class="wzs">
|
||||||
客服电话高峰期可能遇忙,请耐心等待
|
客服电话高峰期可能遇忙,请耐心等待
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -1281,13 +1281,7 @@
|
||||||
longitude: parseFloat(item.longitude),
|
longitude: parseFloat(item.longitude),
|
||||||
width: 18,
|
width: 18,
|
||||||
height: 26,
|
height: 26,
|
||||||
iconPath: item.type == 1 ?
|
iconPath: item.type == 1 ? 'https://lxnapi.ccttiot.com/bike/img/static/up2xXqAgwCX5iER600k3' : item.type == 2 ? 'https://lxnapi.ccttiot.com/bike/img/static/uDNY5Q4zOiZTCBTA2Jdq' : item.type == 3 ? 'https://lxnapi.ccttiot.com/bike/img/static/u53BAQcFIX3vxsCzEZ7t' : 'https://api.ccttiot.com/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20250829161752_210_17-1756455764351.png',
|
||||||
'https://lxnapi.ccttiot.com/bike/img/static/up2xXqAgwCX5iER600k3' :
|
|
||||||
item.type == 2 ?
|
|
||||||
'https://lxnapi.ccttiot.com/bike/img/static/uDNY5Q4zOiZTCBTA2Jdq' :
|
|
||||||
item.type == 3 ?
|
|
||||||
'https://lxnapi.ccttiot.com/bike/img/static/u53BAQcFIX3vxsCzEZ7t' :
|
|
||||||
'https://api.ccttiot.com/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20250829161752_210_17-1756455764351.png',
|
|
||||||
callout: {
|
callout: {
|
||||||
content: item.name,
|
content: item.name,
|
||||||
color: '#ffffff',
|
color: '#ffffff',
|
||||||
|
|
@ -2219,8 +2213,7 @@
|
||||||
latitude: that.lslat,
|
latitude: that.lslat,
|
||||||
result: '成功'
|
result: '成功'
|
||||||
}
|
}
|
||||||
that.$u.post(`/app/commandLog/bluetooth`, data).then(
|
that.$u.post(`/app/commandLog/bluetooth`, data).then(res => {
|
||||||
res => {
|
|
||||||
console.log(res, '蓝牙')
|
console.log(res, '蓝牙')
|
||||||
})
|
})
|
||||||
let datas = {
|
let datas = {
|
||||||
|
|
@ -2275,8 +2268,7 @@
|
||||||
} else {
|
} else {
|
||||||
if (that.shibainum < 3) {
|
if (that.shibainum < 3) {
|
||||||
that.shibainum++
|
that.shibainum++
|
||||||
that.findDeviceTimer = setTimeout(findDevice.bind(that),
|
that.findDeviceTimer = setTimeout(findDevice.bind(that),1000) // 使用 bind 保持 this 上下文
|
||||||
1000) // 使用 bind 保持 this 上下文
|
|
||||||
} else {
|
} else {
|
||||||
uni.getLocation({
|
uni.getLocation({
|
||||||
type: 'gcj02', // 国内地图更兼容
|
type: 'gcj02', // 国内地图更兼容
|
||||||
|
|
|
||||||
25
pages/my.vue
|
|
@ -30,25 +30,25 @@
|
||||||
<view class="lt">
|
<view class="lt">
|
||||||
<image :src="appimg.mineVip" mode=""></image> 我的会员
|
<image :src="appimg.mineVip" mode=""></image> 我的会员
|
||||||
</view>
|
</view>
|
||||||
<image src="https://api.ccttiot.com/smartmeter/img/static/ugxCHoezYra6gtrZPJ4F" mode=""></image>
|
<image src="/static/image/jt.png" mode=""></image>
|
||||||
</view>
|
</view>
|
||||||
<view class="li" @click="btnpage(5)">
|
<view class="li" @click="btnpage(5)">
|
||||||
<view class="lt">
|
<view class="lt">
|
||||||
<image :src="appimg.mineFaultReport" mode=""></image> 故障上报
|
<image :src="appimg.mineFaultReport" mode=""></image> 故障上报
|
||||||
</view>
|
</view>
|
||||||
<image src="https://api.ccttiot.com/smartmeter/img/static/ugxCHoezYra6gtrZPJ4F" mode=""></image>
|
<image src="/static/image/jt.png" mode=""></image>
|
||||||
</view>
|
</view>
|
||||||
<view class="li" @click="btnpage(7)">
|
<view class="li" @click="btnpage(7)">
|
||||||
<view class="lt">
|
<view class="lt">
|
||||||
<image :src="appimg.mineOrderComplaint" mode=""></image> 订单投诉
|
<image :src="appimg.mineOrderComplaint" mode=""></image> 订单投诉
|
||||||
</view>
|
</view>
|
||||||
<image src="https://api.ccttiot.com/smartmeter/img/static/ugxCHoezYra6gtrZPJ4F" mode=""></image>
|
<image src="/static/image/jt.png" mode=""></image>
|
||||||
</view>
|
</view>
|
||||||
<view class="li" @click="btnpage(9)">
|
<view class="li" @click="btnpage(9)">
|
||||||
<view class="lt">
|
<view class="lt">
|
||||||
<image :src="appimg.mineHelp" mode=""></image> 帮助中心
|
<image :src="appimg.mineHelp" mode=""></image> 帮助中心
|
||||||
</view>
|
</view>
|
||||||
<image src="https://api.ccttiot.com/smartmeter/img/static/ugxCHoezYra6gtrZPJ4F" mode=""></image>
|
<image src="/static/image/jt.png" mode=""></image>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="ul" v-if="guanliflag || adminflag">
|
<view class="ul" v-if="guanliflag || adminflag">
|
||||||
|
|
@ -56,13 +56,13 @@
|
||||||
<view class="lt">
|
<view class="lt">
|
||||||
<image :src="appimg.mineAdmin" mode=""></image> 管理后台
|
<image :src="appimg.mineAdmin" mode=""></image> 管理后台
|
||||||
</view>
|
</view>
|
||||||
<image src="https://api.ccttiot.com/smartmeter/img/static/ugxCHoezYra6gtrZPJ4F" mode=""></image>
|
<image src="/static/image/jt.png" mode=""></image>
|
||||||
</view>
|
</view>
|
||||||
<view class="li" @click="btnpage(13)" v-if="adminflag">
|
<view class="li" @click="btnpage(13)" v-if="adminflag">
|
||||||
<view class="lt">
|
<view class="lt">
|
||||||
<image :src="appimg.mineDeviceInput" mode=""></image> 设备录入
|
<image :src="appimg.mineDeviceInput" mode=""></image> 设备录入
|
||||||
</view>
|
</view>
|
||||||
<image src="https://api.ccttiot.com/smartmeter/img/static/ugxCHoezYra6gtrZPJ4F" mode=""></image>
|
<image src="/static/image/jt.png" mode=""></image>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="ul" style="padding: 0 56rpx;">
|
<view class="ul" style="padding: 0 56rpx;">
|
||||||
|
|
@ -70,13 +70,13 @@
|
||||||
<view class="lt">
|
<view class="lt">
|
||||||
<image :src="appimg.mineLogout" mode=""></image> 退出登录
|
<image :src="appimg.mineLogout" mode=""></image> 退出登录
|
||||||
</view>
|
</view>
|
||||||
<image src="https://api.ccttiot.com/smartmeter/img/static/ugxCHoezYra6gtrZPJ4F" mode=""></image>
|
<image src="/static/image/jt.png" mode=""></image>
|
||||||
</view>
|
</view>
|
||||||
<view class="li" @click="btnpage(15)" v-else>
|
<view class="li" @click="btnpage(15)" v-else>
|
||||||
<view class="lt">
|
<view class="lt">
|
||||||
<image :src="appimg.mineLogout" mode=""></image> 立即登录
|
<image :src="appimg.mineLogout" mode=""></image> 立即登录
|
||||||
</view>
|
</view>
|
||||||
<image src="https://api.ccttiot.com/smartmeter/img/static/ugxCHoezYra6gtrZPJ4F" mode=""></image>
|
<image src="/static/image/jt.png" mode=""></image>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="" style="width: 100%;text-align: center;margin-top: 20rpx;color: #ccc;">
|
<view class="" style="width: 100%;text-align: center;margin-top: 20rpx;color: #ccc;">
|
||||||
|
|
@ -85,7 +85,7 @@
|
||||||
</view>
|
</view>
|
||||||
<!-- 平台客服弹窗 -->
|
<!-- 平台客服弹窗 -->
|
||||||
<view class="kefutc" v-if="kefuflag">
|
<view class="kefutc" v-if="kefuflag">
|
||||||
<image src="https://api.ccttiot.com/smartmeter/img/static/umtjJg2CJLiOS6hfAEzo" mode="" @click="btmnyc">
|
<image src="/static/image/icon16.png" mode="" @click="btmnyc">
|
||||||
</image>
|
</image>
|
||||||
<view class="box">
|
<view class="box">
|
||||||
<view class="" style="max-height: 170rpx;overflow: scroll;">
|
<view class="" style="max-height: 170rpx;overflow: scroll;">
|
||||||
|
|
@ -383,6 +383,7 @@
|
||||||
this.show = true
|
this.show = true
|
||||||
}
|
}
|
||||||
} else if (num == 11) { //管理人员
|
} else if (num == 11) { //管理人员
|
||||||
|
if(uni.getStorageSync('user').authTypes.includes('1')){
|
||||||
if(uni.getStorageSync('wzid')){
|
if(uni.getStorageSync('wzid')){
|
||||||
if (this.list.length < 2) {
|
if (this.list.length < 2) {
|
||||||
uni.setStorageSync('adminAreaid', this.list[0].value);
|
uni.setStorageSync('adminAreaid', this.list[0].value);
|
||||||
|
|
@ -398,7 +399,11 @@
|
||||||
url:'/pages/xiqian'
|
url:'/pages/xiqian'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
}else{
|
||||||
|
uni.navigateTo({
|
||||||
|
url:'/page_user/shiming'
|
||||||
|
})
|
||||||
|
}
|
||||||
// this.$u.get(`/app/contract/checkSigned?type=1`).then(res => {
|
// this.$u.get(`/app/contract/checkSigned?type=1`).then(res => {
|
||||||
// if (res.code == 200) {
|
// if (res.code == 200) {
|
||||||
// if (res.data == false) {
|
// if (res.data == false) {
|
||||||
|
|
|
||||||
|
|
@ -70,7 +70,7 @@
|
||||||
<view class="qixinglist_item" v-for="(item,index) in qixinglist" :key="index" @click="btnxqqx(item.id)">
|
<view class="qixinglist_item" v-for="(item,index) in qixinglist" :key="index" @click="btnxqqx(item.id)">
|
||||||
<view class="top">
|
<view class="top">
|
||||||
<view class="lt">
|
<view class="lt">
|
||||||
<image :src="iconobj.orderlistimg" mode=""></image> {{item.deviceVehicleNum == null ? '--' : item.deviceVehicleNum}}
|
<image src="/static/image/icon17.png" mode=""></image> {{item.deviceVehicleNum == null ? '--' : item.deviceVehicleNum}}
|
||||||
</view>
|
</view>
|
||||||
<view class="rt" v-if="item.status == 'WAIT_PAY'">
|
<view class="rt" v-if="item.status == 'WAIT_PAY'">
|
||||||
待支付 <u-icon name="arrow-right" color="#808080" size="28"></u-icon>
|
待支付 <u-icon name="arrow-right" color="#808080" size="28"></u-icon>
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
<u-navbar title=" " :border-bottom="false" :background="bgc" back-icon-color="#262B37" title-color='#262B37'
|
<u-navbar title=" " :border-bottom="false" :background="bgc" back-icon-color="#262B37" title-color='#262B37'
|
||||||
title-size='36' height='36' id="navbar">
|
title-size='36' height='36' id="navbar">
|
||||||
</u-navbar>
|
</u-navbar>
|
||||||
<map class='map' id="map" :latitude="latitude" :longitude="longitude" :markers="covers" @markertap="handleMarkerClick" :polyline="mappolyline" :show-location="true"/>
|
<map class='map' id="map" :latitude="latitude" :longitude="longitude" :markers="covers" @markertap="handleMarkerClick" :polyline="mappolyline" :polygons="areaPolylines" :show-location="true"/>
|
||||||
|
|
||||||
<view class="daohang" v-if="daohangflag">
|
<view class="daohang" v-if="daohangflag">
|
||||||
<view class="name">
|
<view class="name">
|
||||||
|
|
@ -36,6 +36,7 @@
|
||||||
latitude:'',
|
latitude:'',
|
||||||
longitude:'',
|
longitude:'',
|
||||||
mappolyline:[],
|
mappolyline:[],
|
||||||
|
areaPolylines:[], // 保存区域边界数据
|
||||||
qqmapsdk: null,
|
qqmapsdk: null,
|
||||||
validBoundaries:{},
|
validBoundaries:{},
|
||||||
daohangflag:false,
|
daohangflag:false,
|
||||||
|
|
@ -52,7 +53,6 @@
|
||||||
},
|
},
|
||||||
onShow() {
|
onShow() {
|
||||||
this.getMyLocation()
|
this.getMyLocation()
|
||||||
this.convertBoundaryToPolylines(this.validBoundaries, 1)
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
// 点击跳转导航
|
// 点击跳转导航
|
||||||
|
|
@ -74,15 +74,29 @@
|
||||||
},
|
},
|
||||||
|
|
||||||
handleMarkerClick(e){
|
handleMarkerClick(e){
|
||||||
// 规划路线
|
// 规划路线(只针对停车区)
|
||||||
console.log(e);
|
console.log(e);
|
||||||
this.getcha(e.markerId)
|
|
||||||
const clickedMarker = this.covers.find(marker => marker.id == e.markerId);
|
const clickedMarker = this.covers.find(marker => marker.id == e.markerId);
|
||||||
if (clickedMarker) {
|
if (clickedMarker) {
|
||||||
|
// 提取原始ID(去掉后缀)
|
||||||
|
let originalId = e.markerId.toString()
|
||||||
|
if (originalId.endsWith('4')) {
|
||||||
|
originalId = originalId.slice(0, -1) // 停车区
|
||||||
|
} else if (originalId.endsWith('5')) {
|
||||||
|
originalId = originalId.slice(0, -1) // 禁停区
|
||||||
|
} else if (originalId.endsWith('6')) {
|
||||||
|
originalId = originalId.slice(0, -1) // 禁行区
|
||||||
|
} else if (originalId.endsWith('7')) {
|
||||||
|
originalId = originalId.slice(0, -1) // 景区
|
||||||
|
}
|
||||||
|
this.getcha(originalId)
|
||||||
|
// 只对停车区进行路线规划
|
||||||
|
if (clickedMarker.isParkingArea && clickedMarker.id.toString().endsWith('4')) {
|
||||||
const { latitude, longitude } = clickedMarker;
|
const { latitude, longitude } = clickedMarker;
|
||||||
this.routePlanning(latitude, longitude);
|
this.routePlanning(latitude, longitude);
|
||||||
}
|
|
||||||
this.daohangflag = true
|
this.daohangflag = true
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
routePlanning(end_lat, end_long) {
|
routePlanning(end_lat, end_long) {
|
||||||
let that = this
|
let that = this
|
||||||
|
|
@ -115,22 +129,19 @@
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
// console.log('点串数组', pl)
|
// console.log('点串数组', pl)
|
||||||
// 设置polyline属性,将路线显示出来,将解压坐标第一个数据作为起点
|
// 创建路线polyline
|
||||||
that.mappolyline = [{
|
const routePolyline = {
|
||||||
points: pl,
|
points: pl,
|
||||||
color: '#367EEF', // 线的填充色
|
color: '#367EEF', // 线的填充色
|
||||||
width: 3, // 折现宽度
|
width: 8, // 折现宽度
|
||||||
borderWidth: 2, // 边线宽度
|
borderWidth: 2, // 边线宽度
|
||||||
borderColor: '#5B98FD', // 边线颜色
|
borderColor: '#5B98FD', // 边线颜色
|
||||||
lineCap: 'square', // 线端头
|
lineCap: 'square', // 线端头
|
||||||
showArrow: true, // 沿线路方向显示箭头
|
showArrow: true, // 沿线路方向显示箭头
|
||||||
width: 8,
|
|
||||||
arrowLine: true,
|
arrowLine: true,
|
||||||
// color: '#00AF99',
|
}
|
||||||
// strokeWidth: 2,
|
// 路线数据(区域边界通过:polygons属性单独显示)
|
||||||
// strokeColor: '#00AF99',
|
that.mappolyline = [routePolyline]
|
||||||
// fillColor: '#00AF99'
|
|
||||||
}]
|
|
||||||
},
|
},
|
||||||
fail(res) {
|
fail(res) {
|
||||||
console.log('resresresresresresres', res)
|
console.log('resresresresresresres', res)
|
||||||
|
|
@ -145,56 +156,265 @@
|
||||||
this.latitude = res.latitude
|
this.latitude = res.latitude
|
||||||
this.longitude = res.longitude
|
this.longitude = res.longitude
|
||||||
this.setMapScale()
|
this.setMapScale()
|
||||||
this.$u.get(`/app/areaSub/listByArea?areaId=${this.areaId}`).then((res) => {
|
this.getArea()
|
||||||
if (res.code == 200) {
|
|
||||||
res.data.forEach(item =>{
|
|
||||||
if(item.type == 1){
|
|
||||||
const shopCover = {
|
|
||||||
id: parseInt(item.id),
|
|
||||||
latitude: item.latitude,
|
|
||||||
longitude:item.longitude,
|
|
||||||
width: 25,
|
|
||||||
height: 40,
|
|
||||||
iconPath:'https://api.ccttiot.com/bike/img/static/uUgkSmtcyyM7hQc5Dtmf',
|
|
||||||
label: {
|
|
||||||
content: item.name,
|
|
||||||
anchorX: this.calculateAnchorX(item.name),
|
|
||||||
fontWeight: 700,
|
|
||||||
color: '#0D75E5',
|
|
||||||
borderColor: '#fff',
|
|
||||||
borderRadius: 5,
|
|
||||||
bgColor: '#fff',
|
|
||||||
padding:1,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
this.covers.push(shopCover)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
},
|
||||||
fail: (err) => {
|
fail: (err) => {
|
||||||
console.error('获取位置失败:', err)
|
console.error('获取位置失败:', err)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 停车点填充颜色
|
// 请求运营区停车点,禁行区
|
||||||
convertBoundaryToPolylines(boundaries, num) {
|
getArea() {
|
||||||
let boundary = [27.324194, 120.216742, 25, 162, 0, 0, 79, 515, 0, 0, -277, 139, -34, 28, 0, 0, -104, 119, 0, 0, -133]
|
this.areaPolylines = []
|
||||||
if (!boundary) return null;
|
this.$u.get(`/app/area/detail?id=${this.areaId}`).then((res) => {
|
||||||
const points = boundary.map(coord => ({
|
if (res.code == 200) {
|
||||||
|
// 获取运营区边界
|
||||||
|
if (res.data && res.data.boundaryStr) {
|
||||||
|
const operationPolyline = this.convertBoundaryToPolyline(res.data.boundaryStr)
|
||||||
|
if (operationPolyline) {
|
||||||
|
this.areaPolylines.push(operationPolyline)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 获取子区域数据
|
||||||
|
this.getParking()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 获取停车点的所有数据
|
||||||
|
getParking() {
|
||||||
|
this.$u.get(`/app/areaSub/listByArea?areaId=${this.areaId}`).then((res) => {
|
||||||
|
if (res.code === 200 && Array.isArray(res.data)) {
|
||||||
|
// 过滤掉状态为1的数据
|
||||||
|
const filteredData = res.data.filter(item => item.status != 1)
|
||||||
|
// 分类数据
|
||||||
|
const type1Data = [] // 停车区
|
||||||
|
const type2Data = [] // 禁停区(电子围栏)
|
||||||
|
const type3Data = [] // 禁行区
|
||||||
|
const type4Data = [] // 景区
|
||||||
|
filteredData.forEach(row => {
|
||||||
|
if (row.type == 1) type1Data.push(row)
|
||||||
|
else if (row.type == 2) type2Data.push(row)
|
||||||
|
else if (row.type == 3) type3Data.push(row)
|
||||||
|
else if (row.type == 4) type4Data.push(row)
|
||||||
|
})
|
||||||
|
// 处理标记点(所有类型)
|
||||||
|
// 停车区标记点
|
||||||
|
type1Data.forEach(item => {
|
||||||
|
const marker = {
|
||||||
|
id: parseInt(item.id + "4"),
|
||||||
|
latitude: parseFloat(item.latitude),
|
||||||
|
longitude: parseFloat(item.longitude),
|
||||||
|
width: 18,
|
||||||
|
height: 26,
|
||||||
|
iconPath: 'https://lxnapi.ccttiot.com/bike/img/static/up2xXqAgwCX5iER600k3',
|
||||||
|
callout: {
|
||||||
|
content: item.name,
|
||||||
|
color: '#ffffff',
|
||||||
|
fontSize: 12,
|
||||||
|
borderRadius: 8,
|
||||||
|
bgColor: '#3A7EDB',
|
||||||
|
padding: 4,
|
||||||
|
display: 'ALWAYS'
|
||||||
|
},
|
||||||
|
isParkingArea: true
|
||||||
|
}
|
||||||
|
this.covers.push(marker)
|
||||||
|
})
|
||||||
|
// 禁停区标记点
|
||||||
|
type2Data.forEach(item => {
|
||||||
|
const marker = {
|
||||||
|
id: parseInt(item.id + "5"),
|
||||||
|
latitude: parseFloat(item.latitude),
|
||||||
|
longitude: parseFloat(item.longitude),
|
||||||
|
width: 18,
|
||||||
|
height: 26,
|
||||||
|
iconPath: 'https://lxnapi.ccttiot.com/bike/img/static/uDNY5Q4zOiZTCBTA2Jdq',
|
||||||
|
callout: {
|
||||||
|
content: item.name,
|
||||||
|
color: '#ffffff',
|
||||||
|
fontSize: 12,
|
||||||
|
borderRadius: 8,
|
||||||
|
bgColor: '#FF473E',
|
||||||
|
padding: 4,
|
||||||
|
display: 'ALWAYS'
|
||||||
|
},
|
||||||
|
isParkingArea: true
|
||||||
|
}
|
||||||
|
this.covers.push(marker)
|
||||||
|
})
|
||||||
|
// 禁行区标记点
|
||||||
|
type3Data.forEach(item => {
|
||||||
|
const marker = {
|
||||||
|
id: parseInt(item.id + "6"),
|
||||||
|
latitude: parseFloat(item.latitude),
|
||||||
|
longitude: parseFloat(item.longitude),
|
||||||
|
width: 18,
|
||||||
|
height: 26,
|
||||||
|
iconPath: 'https://lxnapi.ccttiot.com/bike/img/static/u53BAQcFIX3vxsCzEZ7t',
|
||||||
|
callout: {
|
||||||
|
content: item.name,
|
||||||
|
color: '#ffffff',
|
||||||
|
fontSize: 12,
|
||||||
|
borderRadius: 8,
|
||||||
|
bgColor: '#FFC107',
|
||||||
|
padding: 4,
|
||||||
|
display: 'ALWAYS'
|
||||||
|
},
|
||||||
|
isParkingArea: true
|
||||||
|
}
|
||||||
|
this.covers.push(marker)
|
||||||
|
})
|
||||||
|
// 景区标记点
|
||||||
|
type4Data.forEach(item => {
|
||||||
|
const marker = {
|
||||||
|
id: parseInt(item.id + "7"),
|
||||||
|
latitude: parseFloat(item.latitude),
|
||||||
|
longitude: parseFloat(item.longitude),
|
||||||
|
width: 18,
|
||||||
|
height: 26,
|
||||||
|
iconPath: 'https://api.ccttiot.com/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20250829161752_210_17-1756455764351.png',
|
||||||
|
callout: {
|
||||||
|
content: item.name,
|
||||||
|
color: '#ffffff',
|
||||||
|
fontSize: 12,
|
||||||
|
borderRadius: 8,
|
||||||
|
bgColor: '#3bbd55',
|
||||||
|
padding: 4,
|
||||||
|
display: 'ALWAYS'
|
||||||
|
},
|
||||||
|
isParkingArea: true
|
||||||
|
}
|
||||||
|
this.covers.push(marker)
|
||||||
|
})
|
||||||
|
// 处理边界数据
|
||||||
|
const processBoundaries = (data, type) => {
|
||||||
|
const validBoundaries = data.map(row => row.boundaryStr).filter(boundary =>
|
||||||
|
boundary && typeof boundary === 'string' && boundary.trim() !== ''
|
||||||
|
)
|
||||||
|
if (validBoundaries.length > 0) {
|
||||||
|
const polylines = this.convertBoundaryToPolylines(validBoundaries, type)
|
||||||
|
if (polylines && polylines.length > 0) {
|
||||||
|
return polylines
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return []
|
||||||
|
}
|
||||||
|
// 处理所有类型的边界数据
|
||||||
|
const type1Polylines = processBoundaries(type1Data, 1)
|
||||||
|
const type2Polylines = processBoundaries(type2Data, 2)
|
||||||
|
const type3Polylines = processBoundaries(type3Data, 3)
|
||||||
|
const type4Polylines = processBoundaries(type4Data, 4)
|
||||||
|
// 保留现有的运营区边界
|
||||||
|
const operationAreaPolylines = this.areaPolylines.filter(p => p.isOperationArea)
|
||||||
|
// 合并所有边界数据
|
||||||
|
const allPolylines = [
|
||||||
|
...operationAreaPolylines,
|
||||||
|
...type1Polylines,
|
||||||
|
...type2Polylines,
|
||||||
|
...type3Polylines,
|
||||||
|
...type4Polylines
|
||||||
|
]
|
||||||
|
// 更新显示
|
||||||
|
this.areaPolylines = allPolylines
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 将运营区边界转换为polyline(单个边界)
|
||||||
|
convertBoundaryToPolyline(boundary) {
|
||||||
|
if (!boundary) return null
|
||||||
|
const points = JSON.parse(boundary).map(coord => ({
|
||||||
latitude: coord[1],
|
latitude: coord[1],
|
||||||
longitude: coord[0]
|
longitude: coord[0]
|
||||||
}))
|
}))
|
||||||
const polyline = {
|
const polyline = {
|
||||||
points: points,
|
points: points,
|
||||||
fillColor: "#55888840", //填充颜色
|
fillColor: "#55888820",
|
||||||
strokeColor: "red", //描边颜色
|
strokeColor: "#22FF00",
|
||||||
strokeWidth: 2, //描边宽度
|
strokeWidth: 1,
|
||||||
zIndex: 1, //层级
|
zIndex: 1,
|
||||||
|
isOperationArea: true
|
||||||
}
|
}
|
||||||
return polyline
|
return polyline
|
||||||
},
|
},
|
||||||
|
// 将边界数据转换为polyline数组
|
||||||
|
convertBoundaryToPolylines(boundaries, num) {
|
||||||
|
if (!Array.isArray(boundaries)) {
|
||||||
|
console.error('边界数据不是数组:', boundaries)
|
||||||
|
return []
|
||||||
|
}
|
||||||
|
const polylines = boundaries.map(boundary => {
|
||||||
|
if (!boundary) {
|
||||||
|
console.warn('边界数据为空')
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
let coords
|
||||||
|
try {
|
||||||
|
coords = JSON.parse(boundary)
|
||||||
|
} catch (error) {
|
||||||
|
console.error('解析边界JSON失败:', error)
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
if (!Array.isArray(coords)) {
|
||||||
|
console.error('解析后的边界数据不是数组:', coords)
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
const points = coords.map(coord => {
|
||||||
|
if (!Array.isArray(coord) || coord.length < 2) {
|
||||||
|
console.warn('坐标数据格式错误:', coord)
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
latitude: parseFloat(coord[1]),
|
||||||
|
longitude: parseFloat(coord[0])
|
||||||
|
}
|
||||||
|
}).filter(point => point !== null)
|
||||||
|
|
||||||
|
if (points.length < 3) {
|
||||||
|
console.warn('有效坐标点不足3个,无法构成多边形')
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
// 根据类型设置不同的样式
|
||||||
|
let style = {}
|
||||||
|
if (num == 1) { // 停车区
|
||||||
|
style = {
|
||||||
|
fillColor: "#88888850",
|
||||||
|
strokeColor: "#88888850",
|
||||||
|
strokeWidth: 1,
|
||||||
|
zIndex: 1,
|
||||||
|
isOperationArea: false
|
||||||
|
}
|
||||||
|
} else if (num == 2) { // 禁停区(电子围栏)
|
||||||
|
style = {
|
||||||
|
fillColor: "#FF473E40",
|
||||||
|
strokeColor: "#FF473E",
|
||||||
|
strokeWidth: 2,
|
||||||
|
zIndex: 1,
|
||||||
|
isOperationArea: false
|
||||||
|
}
|
||||||
|
} else if (num == 3) { // 禁行区
|
||||||
|
style = {
|
||||||
|
fillColor: "#FFC10740",
|
||||||
|
strokeColor: "#FFC107",
|
||||||
|
strokeWidth: 2,
|
||||||
|
zIndex: 1,
|
||||||
|
isOperationArea: false
|
||||||
|
}
|
||||||
|
} else if (num == 4) { // 景区
|
||||||
|
style = {
|
||||||
|
fillColor: "#4abd2040",
|
||||||
|
strokeColor: "#4abd20",
|
||||||
|
strokeWidth: 2,
|
||||||
|
zIndex: 1,
|
||||||
|
isOperationArea: false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
points: points,
|
||||||
|
...style
|
||||||
|
}
|
||||||
|
}).filter(polyline => polyline !== null)
|
||||||
|
return polylines
|
||||||
|
},
|
||||||
// 回到地图中心点
|
// 回到地图中心点
|
||||||
async setMapScale(e, val) {
|
async setMapScale(e, val) {
|
||||||
let mapContext = uni.createMapContext('map', this);
|
let mapContext = uni.createMapContext('map', this);
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
<template>
|
<template>
|
||||||
<view class="page">
|
<view class="page">
|
||||||
<image class="topimg" @click="btnmy" src="https://api.ccttiot.com/smartmeter/img/static/uFaWRkPQOMH42IkfFyFM" mode=""></image>
|
<image class="topimg" @click="btnmy" src="/static/image/icon11.png" mode=""></image>
|
||||||
<!-- 地图 -->
|
<!-- 地图 -->
|
||||||
<view class="">
|
<view class="">
|
||||||
<image class="picimg" v-if="iconflag" src="https://api.ccttiot.com/smartmeter/img/static/uU4DEpKYqBND0oXDiqod"
|
<image class="picimg" v-if="iconflag" src="https://api.ccttiot.com/smartmeter/img/static/uU4DEpKYqBND0oXDiqod"
|
||||||
|
|
@ -27,13 +27,13 @@
|
||||||
<image v-if="rtindex == 3" src="https://api.ccttiot.com/smartmeter/img/static/uEWVQFGBf10XJn8aTlaZ"
|
<image v-if="rtindex == 3" src="https://api.ccttiot.com/smartmeter/img/static/uEWVQFGBf10XJn8aTlaZ"
|
||||||
@click="btntap(3)" mode=""></image> -->
|
@click="btntap(3)" mode=""></image> -->
|
||||||
<image style="width: 80rpx;height: 80rpx;" @click="toggleIconAndCallout(2)"
|
<image style="width: 80rpx;height: 80rpx;" @click="toggleIconAndCallout(2)"
|
||||||
src="https://api.ccttiot.com/smartmeter/img/static/u6r5tQVe2VO6bvxTLeFT" mode=""></image>
|
src="/static/image/icon7.png" mode=""></image>
|
||||||
<image style="width: 80rpx;height: 80rpx;" src="https://api.ccttiot.com/smartmeter/img/static/ug1ExhYsZmdWWjVvjjuk" @click="btnhuiz" mode=""></image>
|
<image style="width: 80rpx;height: 80rpx;" src="/static/image/icon8.png" @click="btnhuiz" mode=""></image>
|
||||||
<image style="width: 80rpx;height: 90rpx;" src="https://api.ccttiot.com/smartmeter/img/static/unaFMV8lmyqWVyY2uOhR"
|
<image style="width: 80rpx;height: 90rpx;" src="/static/image/icon9.png"
|
||||||
@click="btntap(3)" mode=""></image>
|
@click="btntap(3)" mode=""></image>
|
||||||
</view>
|
</view>
|
||||||
<!-- 点击地图门店弹窗 -->
|
<!-- 点击地图门店弹窗 -->
|
||||||
<view class="shoptc" v-if="shoptcflag" @click="btnmendain">
|
<!-- <view class="shoptc" v-if="shoptcflag" @click="btnmendain">
|
||||||
<view class="top">
|
<view class="top">
|
||||||
<view class="name">
|
<view class="name">
|
||||||
云行租车(汇丰公寓)
|
云行租车(汇丰公寓)
|
||||||
|
|
@ -62,12 +62,12 @@
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view> -->
|
||||||
|
|
||||||
<!-- 车辆弹窗 -->
|
<!-- 车辆弹窗 -->
|
||||||
<view class="biketc" v-if="taocanflag">
|
<view class="biketc" v-if="taocanflag">
|
||||||
<view class="topfor">
|
<view class="topfor">
|
||||||
<image src="https://api.ccttiot.com/smartmeter/img/static/uc5JSRyb7S6TUCbOiWb3" v-if="huiyuanlist.length > 0" class="qixing" mode="" @click="btnhuiyuan"></image>
|
<image src="/static/image/icon12.png" v-if="huiyuanlist.length > 0" class="qixing" mode="" @click="btnhuiyuan"></image>
|
||||||
<view class="bikesy">
|
<view class="bikesy">
|
||||||
<view class="bikert">
|
<view class="bikert">
|
||||||
<view class="bikegongli" style="color: #16BC32;">
|
<view class="bikegongli" style="color: #16BC32;">
|
||||||
|
|
@ -91,7 +91,7 @@
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="anniuks">
|
<view class="anniuks">
|
||||||
<image src="https://api.ccttiot.com/smartmeter/img/static/uYk2NdudtWdF6lvJCbSW" @click="btnxlxc" mode=""></image> <text @click="btndetaxq">解锁骑行</text>
|
<image src="/static/image/icon13.png" @click="btnxlxc" mode=""></image> <text @click="btndetaxq">解锁骑行</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="" style="color: #7C7C7C;font-size: 24rpx;margin-top: 30rpx;width: 100%;text-align: center;">
|
<view class="" style="color: #7C7C7C;font-size: 24rpx;margin-top: 30rpx;width: 100%;text-align: center;">
|
||||||
车牌:{{cheobj.vehicleNum == null ? '--' : cheobj.vehicleNum}} <text style="margin-left: 40rpx;">SN:{{cheobj.sn == null ? '--' : cheobj.sn}}</text>
|
车牌:{{cheobj.vehicleNum == null ? '--' : cheobj.vehicleNum}} <text style="margin-left: 40rpx;">SN:{{cheobj.sn == null ? '--' : cheobj.sn}}</text>
|
||||||
|
|
@ -112,7 +112,7 @@
|
||||||
<u-icon name="arrow-right" color="#333" style="position: absolute;right: 10rpx;" size="32"></u-icon>
|
<u-icon name="arrow-right" color="#333" style="position: absolute;right: 10rpx;" size="32"></u-icon>
|
||||||
</view>
|
</view>
|
||||||
<!-- 商户中心入口 -->
|
<!-- 商户中心入口 -->
|
||||||
<image v-if="guanliflag || adminflag" @click="btngl" class="rukou" src="https://api.ccttiot.com/smartmeter/img/static/utNYsXfdVWHsJBFV6eMV" mode=""></image>
|
<image v-if="guanliflag || adminflag" @click="btngl" class="rukou" src="/static/image/icon10.png" mode=""></image>
|
||||||
<!-- 公告弹窗 -->
|
<!-- 公告弹窗 -->
|
||||||
<view class="noticetc" v-if="gonggaoflag">
|
<view class="noticetc" v-if="gonggaoflag">
|
||||||
<view class="name">
|
<view class="name">
|
||||||
|
|
@ -137,7 +137,7 @@
|
||||||
您有正在进行中订单 <u-icon name="arrow-right" color="#fff" style="margin-left: 20rpx;" size="32"></u-icon>
|
您有正在进行中订单 <u-icon name="arrow-right" color="#fff" style="margin-left: 20rpx;" size="32"></u-icon>
|
||||||
</view>
|
</view>
|
||||||
<view class="saoma" @click="btnsaoma" v-else>
|
<view class="saoma" @click="btnsaoma" v-else>
|
||||||
<image src="https://api.ccttiot.com/smartmeter/img/static/u9WDcr9fAKNdZtew3NMZ" mode=""></image> 扫码开锁
|
<image src="/static/image/icon6.png" mode=""></image> 扫码开锁
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="kuaijie">
|
<view class="kuaijie">
|
||||||
|
|
@ -163,11 +163,11 @@
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="xuanfu" v-if="orderflag == true" @click="btnorder">
|
<view class="xuanfu" v-if="orderflag == true" @click="btnorder">
|
||||||
<image src="https://api.ccttiot.com/smartmeter/img/static/u9WDcr9fAKNdZtew3NMZ" mode=""></image>
|
<image src="/static/image/icon6.png" mode=""></image>
|
||||||
</view>
|
</view>
|
||||||
<!-- 平台客服弹窗 -->
|
<!-- 平台客服弹窗 -->
|
||||||
<view class="kefutc" v-if="kefuflag">
|
<view class="kefutc" v-if="kefuflag">
|
||||||
<image class="bj" src="https://api.ccttiot.com/smartmeter/img/static/uTSMnIgvw7eS13LxZjvt" mode="" @click="kefuflag = false"></image>
|
<image class="bj" src="/static/image/icon14.png" mode="" @click="kefuflag = false"></image>
|
||||||
<view class="box">
|
<view class="box">
|
||||||
<view class="" style="max-height: 640rpx;overflow: scroll;">
|
<view class="" style="max-height: 640rpx;overflow: scroll;">
|
||||||
<view class="" style="font-weight: 600;color: #3D3D3D;">
|
<view class="" style="font-weight: 600;color: #3D3D3D;">
|
||||||
|
|
@ -181,7 +181,7 @@
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="boda" @click.stop="btnptkf(item.contact)">
|
<view class="boda" @click.stop="btnptkf(item.contact)">
|
||||||
<image src="https://api.ccttiot.com/smartmeter/img/static/uwTYS0nZBsoaiY8EFlQA" mode=""></image>
|
<image src="/static/image/icon15.png" mode=""></image>
|
||||||
<text>拨打</text>
|
<text>拨打</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -196,7 +196,7 @@
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="boda" @click.stop="btnptkf(item.contact)">
|
<view class="boda" @click.stop="btnptkf(item.contact)">
|
||||||
<image src="https://api.ccttiot.com/smartmeter/img/static/uwTYS0nZBsoaiY8EFlQA" mode=""></image>
|
<image src="/static/image/icon15.png" mode=""></image>
|
||||||
<text>拨打</text>
|
<text>拨打</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -973,6 +973,7 @@
|
||||||
|
|
||||||
// 点击进入商户中心
|
// 点击进入商户中心
|
||||||
btngl(){
|
btngl(){
|
||||||
|
if(this.user.authTypes.includes('1')){
|
||||||
if(uni.getStorageSync('wzid')){
|
if(uni.getStorageSync('wzid')){
|
||||||
if (this.list.length < 2) {
|
if (this.list.length < 2) {
|
||||||
uni.setStorageSync('adminAreaid', this.list[0].value);
|
uni.setStorageSync('adminAreaid', this.list[0].value);
|
||||||
|
|
@ -988,7 +989,11 @@
|
||||||
url:'/pages/xiqian'
|
url:'/pages/xiqian'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
}else{
|
||||||
|
uni.navigateTo({
|
||||||
|
url:'/page_user/shiming'
|
||||||
|
})
|
||||||
|
}
|
||||||
// this.$u.get(`/app/contract/checkSigned?type=1`).then(res =>{
|
// this.$u.get(`/app/contract/checkSigned?type=1`).then(res =>{
|
||||||
// if(res.code == 200){
|
// if(res.code == 200){
|
||||||
// if(res.data == false){
|
// if(res.data == false){
|
||||||
|
|
|
||||||
BIN
static/image/20.png
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
BIN
static/image/21.png
Normal file
|
After Width: | Height: | Size: 25 KiB |
BIN
static/image/icon1.png
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
BIN
static/image/icon10.png
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
static/image/icon11.png
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
BIN
static/image/icon12.png
Normal file
|
After Width: | Height: | Size: 4.5 KiB |
BIN
static/image/icon13.png
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
BIN
static/image/icon14.png
Normal file
|
After Width: | Height: | Size: 106 KiB |
BIN
static/image/icon15.png
Normal file
|
After Width: | Height: | Size: 769 B |
BIN
static/image/icon16.png
Normal file
|
After Width: | Height: | Size: 99 KiB |
BIN
static/image/icon17.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
static/image/icon18.png
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
BIN
static/image/icon19.png
Normal file
|
After Width: | Height: | Size: 349 B |
BIN
static/image/icon2.png
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
static/image/icon3.png
Normal file
|
After Width: | Height: | Size: 3.6 KiB |
BIN
static/image/icon4.png
Normal file
|
After Width: | Height: | Size: 3.3 KiB |
BIN
static/image/icon5.png
Normal file
|
After Width: | Height: | Size: 3.9 KiB |
BIN
static/image/icon6.png
Normal file
|
After Width: | Height: | Size: 812 B |
BIN
static/image/icon7.png
Normal file
|
After Width: | Height: | Size: 1004 B |
BIN
static/image/icon8.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
static/image/icon9.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
static/image/jt.png
Normal file
|
After Width: | Height: | Size: 454 B |