This commit is contained in:
3321822538@qq.com 2025-03-31 17:41:24 +08:00
parent 6ce6c19b98
commit 405ee259a1
15 changed files with 682 additions and 295 deletions

View File

@ -16,6 +16,7 @@ const install = (Vue, vm) => {
// },
// });
Vue.prototype.$u.http.setConfig({
// baseUrl:'http://192.168.0.104:10002',
// baseUrl: 'http://192.168.2.13:10002',
baseUrl: 'https://kg.chuangtewl.com/prod-api',
// loadingText: '加载中...',

View File

@ -454,9 +454,11 @@
name: that.name
})
that.clearTimer() //
uni.reLaunch({
url:'/pages/shouye/index'
})
if(this.onlineStatus == 0){
uni.reLaunch({
url:'/pages/shouye/index'
})
}
}
}, 1000); //
},
@ -585,45 +587,63 @@
btnkq() {
if (this.onlineStatus == 1) {
if (this.tdtxt == '开启') {
this.$u.put(`/app/bill/switchDevice?billId=${this.billId}&open=false`).then((res) => {
if (res.code == 200) {
this.tdtxt = '关闭'
this.imgflag = false
uni.showToast({
title: res.msg,
icon: 'success',
duration: 2000
})
} else {
this.imgflag = true
this.tdtxt = '开启'
uni.showToast({
title: res.msg,
icon: 'none',
duration: 2000
})
let that = this
uni.showModal({
title: '提示',
content: '您确定要操作临时开关吗?',
success: function(res) {
if (res.confirm) {
that.$u.put(`/app/bill/switchDevice?billId=${that.billId}&open=false`).then((res) => {
if (res.code == 200) {
that.tdtxt = '关闭'
that.imgflag = false
uni.showToast({
title: res.msg,
icon: 'success',
duration: 2000
})
} else {
that.imgflag = true
that.tdtxt = '开启'
uni.showToast({
title: res.msg,
icon: 'none',
duration: 2000
})
}
})
}
}
})
} else {
this.$u.put(`/app/bill/switchDevice?billId=${this.billId}&open=true`).then((res) => {
if (res.code == 200) {
this.imgflag = true
this.tdtxt = '开启'
uni.showToast({
title: res.msg,
icon: 'success',
duration: 2000
})
} else {
this.imgflag = false
this.tdtxt = '关闭'
uni.showToast({
title: res.msg,
icon: 'none',
duration: 2000
})
}
})
let that = this
uni.showModal({
title: '提示',
content: '您确定要操作临时开关吗?',
success: function(res) {
if (res.confirm) {
that.$u.put(`/app/bill/switchDevice?billId=${that.billId}&open=true`).then((res) => {
if (res.code == 200) {
that.imgflag = true
that.tdtxt = '开启'
uni.showToast({
title: res.msg,
icon: 'success',
duration: 2000
})
} else {
that.imgflag = false
that.tdtxt = '关闭'
uni.showToast({
title: res.msg,
icon: 'none',
duration: 2000
})
}
})
}
}
})
}
} else {
let currentTime = new Date()
@ -654,9 +674,11 @@
this.countdown = 30 //
this.startTimerdingshi()
let that = this
uni.getNetworkType({
success(res) {
if (res.networkType !== 'none') {
uni.showModal({
title: '提示',
content: '您确定要操作临时开关吗?',
success: function(res) {
if (res.confirm) {
that.tdtxt = '关闭'
that.imgflag = false
xBlufi.notifySendCustomData({
@ -672,16 +694,19 @@
result:'成功'
}
console.log(datas,'111')
}
}
})
that.$u.post(`/app/commandLog/bluetooth`,datas).then(res => {})
}
}
})
} else {
this.countdown = 30 //
this.startTimerdingshi()
let that = this
uni.getNetworkType({
success(res) {
if (res.networkType !== 'none') {
uni.showModal({
title: '提示',
content: '您确定要操作临时开关吗?',
success: function(res) {
if (res.confirm) {
that.tdtxt = '开启'
that.imgflag = true
xBlufi.notifySendCustomData({
@ -698,8 +723,8 @@
}
that.$u.post(`/app/commandLog/bluetooth`,datas).then(res => {})
}
}
})
}
})
}
}
}

View File

@ -69,8 +69,6 @@
<view class="tit" style="display: flex;justify-content: space-between;width: 100%;">
<text>选择服务</text>
</view>
<!-- <button @click="btnsss(1)"></button>
<button @click="btnsss(2)"></button> -->
<view>
<view :class="indexactive == item.suitId ? 'active' : ''"
style="width:100%;height:100%;background: #fff;box-shadow: 0rpx 16rpx 40rpx 0rpx rgba(42,130,228,0.1);border-radius: 30rpx;padding: 20rpx 34rpx;box-sizing: border-box;margin-top: 20rpx;border: 4rpx solid #fff;"
@ -176,16 +174,6 @@
</view>
</view>
</view>
<!-- 防诈骗提示 -->
<!-- <view class="fangswindle" v-if="swindleflag">
<image src="https://api.ccttiot.com/smartmeter/img/static/uvJcZhPixU1trBud6xTa" mode="aspectFit"></image>
<view class="zhixiao" @click="btnswindleflag">
我已知晓
</view>
</view> -->
<!-- <view v-if="swindleflag" class=""
style="width: 100%;height: 100vh;position: fixed;top: 0;left: 0;background-color: #000;opacity: .5;z-index: 98;">
</view> -->
<view class="mask" v-if="masksss"></view>
<!-- 服务协议弹框 -->
<view class="fuwutc" v-if="yinsiflag">
@ -305,7 +293,7 @@ export default {
discountAmount: '',
zhekou: '',
exit: 0,
modelId:[],
modelId:'',
devicesarr:[],
}
},
@ -318,7 +306,6 @@ export default {
}else{
xBlufi.initXBlufi(1)
}
// this.swindleflag = true
if (option.q) {
function getQueryParam(url, paramName) {
let regex = new RegExp(`[?&]${paramName}=([^&]*)`)
@ -507,7 +494,8 @@ export default {
that.arrlists.push(res.data)
that.onlineStatus = res.data.onlineStatus
that.mac = 'CTKG-' + res.data.mac
that.modelId = res.data.modelTags
that.modelId = res.data.modelChip
// modelTags
that.deviceId = res.data.mac.match(/.{2}/g).reverse().join(':')
console.log('链接获取位置时间:', new Date().toLocaleString())
if (that.onlineStatus == 0) { //线
@ -540,51 +528,49 @@ export default {
if (that.deviceId != '') {
let systemInfo = uni.getSystemInfoSync()
if (systemInfo.platform == 'android') {
that.modelId.some(item => {
if(item == 2){
console.log('配网');
let zuih = ''
if(that.deviceId.slice(-1) == 8){
zuih = 'A'
}else if(that.deviceId.slice(-1) == 9){
zuih = 'B'
}else if(that.deviceId.slice(-1) == 'A'){
zuih = 'C'
}else if(that.deviceId.slice(-1) == 'B'){
zuih = 'D'
}else if(that.deviceId.slice(-1) == 'C'){
zuih = 'E'
}else if(that.deviceId.slice(-1) == 'D'){
zuih = 'F'
} else{
zuih = Number(that.deviceId.slice(-1)) + 2
}
that.deviceId = that.deviceId.slice(0, -1) + zuih
console.log(that.modelId,zuih,that.deviceId.slice(0, -1),'...........')
xBlufi.notifyStartDiscoverBle({
'isStart': false
})
console.log("进入蓝牙连接", that.deviceId)
console.log("进入that.name", that.name)
xBlufi.notifyConnectBle({
isStart: true,
deviceId: that.deviceId,
name: that.name
})
}else{
console.log('无配网');
xBlufi.notifyStartDiscoverBle({
'isStart': false
})
console.log("进入蓝牙连接", that.deviceId)
console.log("进入that.name", that.name)
xBlufi.notifyConnectBle({
isStart: true,
deviceId: that.deviceId,
name: that.name
})
if(that.modelId == 'LX'){
console.log('有wifi配网');
let zuih = ''
if(that.deviceId.slice(-1) == 8){
zuih = 'A'
}else if(that.deviceId.slice(-1) == 9){
zuih = 'B'
}else if(that.deviceId.slice(-1) == 'A'){
zuih = 'C'
}else if(that.deviceId.slice(-1) == 'B'){
zuih = 'D'
}else if(that.deviceId.slice(-1) == 'C'){
zuih = 'E'
}else if(that.deviceId.slice(-1) == 'D'){
zuih = 'F'
} else{
zuih = Number(that.deviceId.slice(-1)) + 2
}
})
that.deviceId = that.deviceId.slice(0, -1) + zuih
console.log(that.modelId,zuih,that.deviceId.slice(0, -1),'...........')
xBlufi.notifyStartDiscoverBle({
'isStart': false
})
console.log("进入蓝牙连接", that.deviceId)
console.log("进入that.name", that.name)
xBlufi.notifyConnectBle({
isStart: true,
deviceId: that.deviceId,
name: that.name
})
}else{
console.log('无wifi配网');
xBlufi.notifyStartDiscoverBle({
'isStart': false
})
console.log("进入蓝牙连接", that.deviceId)
console.log("进入that.name", that.name)
xBlufi.notifyConnectBle({
isStart: true,
deviceId: that.deviceId,
name: that.name
})
}
} else if (systemInfo.platform == 'ios') {
// iOS
that.findDevice()

View File

@ -182,9 +182,15 @@
},
btnback() {
uni.reLaunch({
url: '/page_user/yetx'
})
if(this.type == '999'){
uni.reLaunch({
url: '/pages/my'
})
}else{
uni.reLaunch({
url: '/page_user/yetx'
})
}
},
btnyz() {
@ -207,7 +213,7 @@
realIdCard: this.names,
idCardFront:this.upLoadPositiveImg,
idCardBack:this.upLoadReverseImg,
type: this.type
type: this.type == '999' ? '' : this.type
}
this.$u.put('/app/user/realName', data).then(res => {
if (res.code == 200) {

View File

@ -16,25 +16,25 @@
<view class="upimg">
<view class="imgcont">
<image
src="https://api.yruibao.com/crmebimage/public/content/2024/03/12/13bcc3bd8a1b420eac50db5b904859bdut3t4t62rx.png"
src="https://api.ccttiot.com/smartmeter/img/static/uIzXWt2U6fF8XSjGsTJE"
alt="" />
标准
</view>
<view class="imgcont">
<image
src="https://api.yruibao.com/crmebimage/public/content/2024/03/12/b15f084867574107b4c42091f1a7cb002y24kps8d3.png"
src="https://api.ccttiot.com/smartmeter/img/static/uHoPnlf0YGy4gBuQlV6o"
alt="" />
边框缺失
</view>
<view class="imgcont">
<image
src="https://api.yruibao.com/crmebimage/public/content/2024/03/12/dfb63655943e4e0b9da52352ab3bf551hrluul9s38.png"
src="https://api.ccttiot.com/smartmeter/img/static/uzv6CeZPetvlU6KqdAQJ"
alt="" />
照片模糊
</view>
<view class="imgcont">
<image
src="https://api.yruibao.com/crmebimage/public/content/2024/03/12/080f4efbd487455ea11d556c882dfef5az9v29iml4.png"
src="https://api.ccttiot.com/smartmeter/img/static/uSIBao4SIoHs0QC2yws1"
alt="" />
闪光强烈
</view>
@ -96,7 +96,7 @@
</view>
<view class="showimg">
<image
src="https://api.yruibao.com/crmebimage/public/content/2024/03/12/9d910a1450134aba9b613efc570f654eldlose0vf0.png"
src="https://api.ccttiot.com/smartmeter/img/static/uVd7crE1HFjwapTYTmMA"
mode="aspectFit"></image>
</view>
<view class="upself" @click.stop='uploadpicthr'>
@ -146,13 +146,13 @@
</view>
<view class="upself">
<view class="box_tip" style="display: flex;justify-content: space-between;width: 100%;">
<text>请拍摄使用场景视频</text> <text v-if="!changjingflag" style="color: blue;">重新拍摄</text>
<text>请拍摄使用场景视频</text> <text v-if="!changjingflag" style="color: blue;" @click.stop='uploadpicfiv'>重新拍摄</text>
</view>
<image @click.stop='uploadpicfiv' :src="changjing" v-if="changjingflag" mode="aspectFit"></image>
<video :src="changjing" v-else></video>
</view>
</view>
</view>
</view>
<view class="upidcard" v-if="fengkongobj.submitType.some(item => item == 6)">
<view class="uploadbox" style="box-shadow: 0rpx 0rpx 0rpx 0rpx rgba(0,0,0,0.08);">
<view class="box_tip">
@ -174,7 +174,7 @@
</view>
<view class="showimg">
<image
src="https://api.yruibao.com/crmebimage/public/content/2024/03/12/9d910a1450134aba9b613efc570f654eldlose0vf0.png"
src="https://api.ccttiot.com/smartmeter/img/static/uVd7crE1HFjwapTYTmMA"
mode="aspectFit"></image>
</view>
<view class="upself">
@ -198,7 +198,7 @@
</view>
<image v-if="realNameId != null" style="width: 340rpx;" src="https://api.ccttiot.com/smartmeter/img/static/uvwgP9wfD5HUkvNoiKvf" mode=""></image>
<image v-else
src="https://api.yruibao.com/crmebimage/public/content/2024/03/12/545ad1f3f9e94c288167a4a5a78b125fyfrxub448y.png"
src="https://api.ccttiot.com/smartmeter/img/static/u13ZcGewJNaQNzAWbC7N"
mode=""></image>
<!-- <image style="width: 580rpx;" src="https://api.ccttiot.com/smartmeter/img/static/ufCvHE7ejdpvgSSZCB03" mode=""></image> -->
<view class="text" v-if="realNameId == null">
@ -215,45 +215,37 @@
<view class="upimg" v-if="realNameId == null">
<view class="imgcont">
<image
src="https://api.yruibao.com/crmebimage/public/content/2024/03/12/3d2e864c64d943ac98f2a44b526511ed9zge43hq14.png"
src="https://api.ccttiot.com/smartmeter/img/static/uAG1UzQne5rWumuCVcFQ"
alt="" />
<view class="botimg">
<image
src="https://api.yruibao.com/crmebimage/public/content/2024/03/12/183431357c3e4cd49c7ddc63cdc2e7d7y67xajv85d.png"
mode=""></image>
标准拍摄
</view>
</view>
<view class="imgcont">
<image
src="https://api.yruibao.com/crmebimage/public/content/2024/03/12/cea2e31224bf4940b058a4ccfedb64875yp2sw7541.png"
src="https://api.ccttiot.com/smartmeter/img/static/u8iNsmFanbeDYOcF4UBW"
alt="" />
<view class="botimg">
<image
src="https://api.yruibao.com/crmebimage/public/content/2024/03/12/64ebffbb0e514be7887531285f8e4e31cc3qfx6hbq.png"
mode=""></image>
遮挡面部
</view>
</view>
<view class="imgcont">
<image
src="https://api.yruibao.com/crmebimage/public/content/2024/03/12/802ec15387fe445582eb63875c5eca90hwo9deupr4.png"
src="https://api.ccttiot.com/smartmeter/img/static/urnS21KzXE6I23deDNqS"
alt="" />
<view class="botimg">
<image
src="https://api.yruibao.com/crmebimage/public/content/2024/03/12/64ebffbb0e514be7887531285f8e4e31cc3qfx6hbq.png"
mode=""></image>
拍摄不全
</view>
</view>
<view class="imgcont">
<image
src="https://api.yruibao.com/crmebimage/public/content/2024/03/12/9f81e185c8364beeb40e84f59e69af071k8dsd7km8.png"
src="https://api.ccttiot.com/smartmeter/img/static/uKu02Pws0Ut3rUPvfu8j"
alt="" />
<view class="botimg">
<image
src="https://api.yruibao.com/crmebimage/public/content/2024/03/12/64ebffbb0e514be7887531285f8e4e31cc3qfx6hbq.png"
mode=""></image>
光线不足
</view>
</view>
@ -281,10 +273,10 @@
export default {
data() {
return {
upLoadPositiveImg: 'https://api.yruibao.com/crmebimage/public/content/2024/03/12/dfca9b6e35e641b0be82dbddc7b244f18eixm72az5.png', //
upLoadPositiveImg: 'https://api.ccttiot.com/smartmeter/img/static/uDpOMQNOWDnVXihtSBs1', //
reverseImg: '', //
upLoadReverseImg: 'https://api.yruibao.com/crmebimage/public/content/2024/03/12/81af97268d7c4687997f043ec46e038b3g6hzhanty.png', //
handIdCard: 'https://api.yruibao.com/crmebimage/public/content/2024/03/12/7367213efc6f4676be58a4f034fec6b50e8s80rddd.png',
upLoadReverseImg: 'https://api.ccttiot.com/smartmeter/img/static/u67D7oM8SbLJbCafS6Jn', //
handIdCard: 'https://api.ccttiot.com/smartmeter/img/static/uA50pbXjDMCUKo701X0T',
yingyezhizhao: 'https://api.ccttiot.com/smartmeter/img/static/uCegvrAQrrSv42tiIXj3',
changjing: 'https://api.ccttiot.com/smartmeter/img/static/u0QrCtJ9Dcs1lWRhL6eI',
zeren: 'https://api.ccttiot.com/smartmeter/img/static/u2rQTjUKlQGVkv8QfaNS',
@ -326,7 +318,7 @@
riskId: this.riskid,
idCardFront: this.upLoadPositiveImg == 'https://api.yruibao.com/crmebimage/public/content/2024/03/12/dfca9b6e35e641b0be82dbddc7b244f18eixm72az5.png' ? '' : this.upLoadPositiveImg,
idCardBack: this.upLoadReverseImg == 'https://api.yruibao.com/crmebimage/public/content/2024/03/12/81af97268d7c4687997f043ec46e038b3g6hzhanty.png' ? '' : this.upLoadReverseImg,
idCardHand: this.handIdCard == 'https://api.yruibao.com/crmebimage/public/content/2024/03/12/7367213efc6f4676be58a4f034fec6b50e8s80rddd.png' ? '' : this.handIdCard,
idCardHand: this.handIdCard == 'https://api.ccttiot.com/smartmeter/img/static/uA50pbXjDMCUKo701X0T' ? '' : this.handIdCard,
businessLicence: this.yingyezhizhao == 'https://api.ccttiot.com/smartmeter/img/static/uCegvrAQrrSv42tiIXj3' ? '' : this.yingyezhizhao,
video: this.changjing == 'https://api.ccttiot.com/smartmeter/img/static/u0QrCtJ9Dcs1lWRhL6eI' ? '' : this.changjing,
dutyVideo: this.zeren == 'https://api.ccttiot.com/smartmeter/img/static/u2rQTjUKlQGVkv8QfaNS' ? '' : this.zeren,
@ -364,7 +356,7 @@
riskId: this.riskid,
idCardFront: this.upLoadPositiveImg == 'https://api.yruibao.com/crmebimage/public/content/2024/03/12/dfca9b6e35e641b0be82dbddc7b244f18eixm72az5.png' ? '' : this.upLoadPositiveImg,
idCardBack: this.upLoadReverseImg == 'https://api.yruibao.com/crmebimage/public/content/2024/03/12/81af97268d7c4687997f043ec46e038b3g6hzhanty.png' ? '' : this.upLoadReverseImg,
idCardHand: this.handIdCard == 'https://api.yruibao.com/crmebimage/public/content/2024/03/12/7367213efc6f4676be58a4f034fec6b50e8s80rddd.png' ? '' : this.handIdCard,
idCardHand: this.handIdCard == 'https://api.ccttiot.com/smartmeter/img/static/uA50pbXjDMCUKo701X0T' ? '' : this.handIdCard,
businessLicence: this.yingyezhizhao == 'https://api.ccttiot.com/smartmeter/img/static/uCegvrAQrrSv42tiIXj3' ? '' : this.yingyezhizhao,
video: this.changjing == 'https://api.ccttiot.com/smartmeter/img/static/u0QrCtJ9Dcs1lWRhL6eI' ? '' : this.changjing,
dutyVideo: this.zeren == 'https://api.ccttiot.com/smartmeter/img/static/u2rQTjUKlQGVkv8QfaNS' ? '' : this.zeren,
@ -416,7 +408,7 @@
riskId: this.riskid,
idCardFront: this.upLoadPositiveImg == 'https://api.yruibao.com/crmebimage/public/content/2024/03/12/dfca9b6e35e641b0be82dbddc7b244f18eixm72az5.png' ? '' : this.upLoadPositiveImg,
idCardBack: this.upLoadReverseImg == 'https://api.yruibao.com/crmebimage/public/content/2024/03/12/81af97268d7c4687997f043ec46e038b3g6hzhanty.png' ? '' : this.upLoadReverseImg,
idCardHand: this.handIdCard == 'https://api.yruibao.com/crmebimage/public/content/2024/03/12/7367213efc6f4676be58a4f034fec6b50e8s80rddd.png' ? '' : this.handIdCard,
idCardHand: this.handIdCard == 'https://api.ccttiot.com/smartmeter/img/static/uA50pbXjDMCUKo701X0T' ? '' : this.handIdCard,
businessLicence: this.yingyezhizhao == 'https://api.ccttiot.com/smartmeter/img/static/uCegvrAQrrSv42tiIXj3' ? '' : this.yingyezhizhao,
video: this.changjing == 'https://api.ccttiot.com/smartmeter/img/static/u0QrCtJ9Dcs1lWRhL6eI' ? '' : this.changjing,
dutyVideo: this.zeren == 'https://api.ccttiot.com/smartmeter/img/static/u2rQTjUKlQGVkv8QfaNS' ? '' : this.zeren,
@ -564,8 +556,8 @@
let math = 'static/' + _this.$u.guid(20);
uni.chooseMedia({
mediaType: ['video'],
sourceType: ['camera'],
maxDuration: 30,
sourceType: ['camera','album'],
maxDuration: 60,
camera: 'back',
success(res) {
console.log(res, '101010');
@ -593,8 +585,8 @@
let math = 'static/' + _this.$u.guid(20);
uni.chooseMedia({
mediaType: ['video'],
sourceType: ['camera'],
maxDuration: 30,
sourceType: ['camera','album'],
maxDuration: 60,
camera: 'front',
success(res) {
console.log(res, '101010');

188
page_fenbao/shenbao.vue Normal file
View File

@ -0,0 +1,188 @@
<template>
<view class="pages">
<u-navbar title="故障申报" :border-bottom="false" :background="bgc" title-color='#262B37'
height='44'></u-navbar>
<view class="problem">
<view class="title">
问题描述 <text style="font-size: 36rpx; color: red; vertical-align: top;margin-left: 32rpx;"></text>
</view>
<view class="input-container">
<view class="placeholder" v-if="!textValue">请详细描述您的问题或建议</view>
<textarea class="custom-textarea" v-model="textValue" @focus="hidePlaceholder" :maxlength="500" style="border: none;"
@input="updateWordCount" @blur="showPlaceholder"></textarea>
<text class="word-count">{{ currentCount }}/500</text>
</view>
</view>
<view class="problem">
<view class="title">
联系方式
</view>
<input type="text" v-model="contact" placeholder="请留下手机号,以便我们回复您"/>
</view>
<view class="btn" @click="sub()">提交</view>
</view>
</template>
<script>
export default {
data() {
return {
bgc: {
backgroundColor: "",
},
textValue: '',
currentCount: 0,
cutidx: -1,
imglist: [],
token: '',
contact: '',
picdomain:'',
userId:'',
orderobj:{}
}
},
computed: {
},
onLoad(option) {
this.orderobj = JSON.parse(option.obj)
},
methods: {
hidePlaceholder() {
this.placeholderVisible = false
},
showPlaceholder() {
if (!this.textValue) {
this.placeholderVisible = true
}
},
updateWordCount() {
this.currentCount = this.textValue.trim().replace(/\s+/g, '').length
},
sub() {
if (this.textValue == '') {
uni.showToast({
title: '请输入问题描述',
icon: 'none',
duration: 2000
})
} else if (this.contact == '') {
uni.showToast({
title: '请输入联系方式',
icon: 'none',
duration: 2000
})
} else {
let data = {
content: this.textValue,
mobile: this.contact,
deviceNo:this.orderobj.deviceNo,
orderNo:this.orderobj.billNo,
orderId:this.orderobj.billId
}
this.$u.post("/app/abnormal/submit", data).then((res) => {
if (res.code == 200) {
uni.showToast({
title: '提交成功',
icon: 'success',
duration: 2000
})
setTimeout(()=>{
uni.navigateBack()
},1500)
}else{
uni.showToast({
title: res.msg,
icon: 'none',
duration: 2000
})
}
})
}
},
}
}
</script>
<style lang="scss">
.btn {
width: 590rpx;
height: 84rpx;
background: #8883F0;
filter: blur(0px);
color: #fff;
font-size: 36rpx;
line-height: 84rpx;
text-align: center;
border-radius: 50rpx;
position: fixed;
left: 50%;
transform: translateX(-50%);
bottom: 80rpx;
}
page {
background: linear-gradient( 180deg, #8883F0 0%, rgba(204,229,255,0) 100%);
}
.pages {
padding: 0 66rpx;
box-sizing: border-box;
}
.problem {
margin-top: 40rpx;
.title {
font-weight: 600;
font-size: 36rpx;
color: #3D3D3D;
line-height: 50rpx;
}
input{
width: 612rpx;
height: 80rpx;
background: #FFFFFF;
box-shadow: 0rpx 16rpx 40rpx 0rpx rgba(61,61,61,0.1);
line-height: 80rpx;
padding-left: 30rpx;
box-sizing: border-box;
margin-top: 32rpx;
border-radius: 20rpx;
}
}
.input-container {
position: relative;
width: 612rpx;
height: 248rpx;
background: #FFFFFF;
box-shadow: 0rpx 16rpx 40rpx 0rpx rgba(42, 130, 228, 0.1);
border-radius: 20rpx;
margin-top: 40rpx;
overflow: hidden;
padding-right: 38rpx;
box-sizing: border-box;
}
.placeholder {
position: absolute;
top: 18rpx;
left: 38rpx;
color: #999;
pointer-events: none;
}
.custom-textarea {
width: 100%;
height: 100%;
padding-top: 18rpx;
padding-left: 38rpx;
padding-bottom: 54rpx;
overflow: hidden;
box-sizing: border-box;
border: 1px solid #ccc;
}
.word-count {
position: absolute;
right: 10px;
bottom: 10px;
font-size: 12px;
color: #999;
}
</style>

View File

@ -0,0 +1,200 @@
<template>
<view class="pages">
<u-navbar title="申报记录列表" :border-bottom="false" :background="bgc" title-color='#262B37'
height='44'></u-navbar>
<scroll-view class="list" @scrolltolower="handqixing" scroll-y>
<view class="item_list" v-for="(item,index) in list" :key="index">
<view class="top" style="margin-top: 0;">
<view class="one"></view>
<view class="cl" v-if="item.status == 1">未处理</view>
<view class="cl" style="background-color: red;" v-if="item.status == 2">已驳回</view>
<view class="cl" style="background-color: #8883F0;" v-if="item.status == 3">已处理</view>
</view>
<view class="top">
<view class="one">订单编号</view> <view class="two" style="color: blue;border-bottom: 1px solid blue;" @click="btnorder(item.orderId)">{{item.orderNo == null ? '--' : item.orderNo}}</view>
</view>
<view class="top">
<view class="one">设备编号</view> <view class="two">{{item.deviceNo == null ? '--' : item.deviceNo}}</view>
</view>
<view class="top">
<view class="one">手机号</view> <view class="two" style="color: blue;border-bottom: 1px solid blue;" @click="btntel(item.mobile)">{{item.mobile == null ? '--' : item.mobile}}</view>
</view>
<view class="miaoshu">
客户描述{{item.content == null ? '--' : item.content}}
</view>
<view class="anniu" v-if="item.status == 1">
<view class=""></view>
<view class="">
<view class="" @click="btndu(item.abnormalId,2,index)">
驳回
</view>
<view class="" @click="btndu(item.abnormalId,3,index)">
处理
</view>
</view>
</view>
</view>
<view class="" style="width: 100%;text-align: center;margin-top: 30rpx;color: #ccc;">
当前没有更多申报记录啦...
</view>
</scroll-view>
</view>
</template>
<script>
export default {
data() {
return {
bgc: {
backgroundColor: "",
},
pageNum:1,
total:'',
list:[]
}
},
computed: {
},
onLoad() {
this.getlist()
},
methods: {
btnorder(orderId){
if(orderId != null){
uni.navigateTo({
url:'/page_user/mapditu/orderxq?billId=' + orderId
})
}
},
btntel(mobile){
uni.showModal({
title: '提示',
content: `是否拨打 ${mobile}`,
success: (res) => {
if (res.confirm) {
uni.makePhoneCall({ phoneNumber: mobile })
}
}
})
},
//
btndu(abnormalId,num,index){
let that = this
uni.showModal({
title: '提示',
content: '您确定要进行此操作吗?',
showCancel: true,
success: function (res) {
if (res.confirm) {
that.$u.put(`/mch/abnormal?abnormalId=${abnormalId}&status=${num}`).then(res =>{
if(res.code == 200){
that.list[index].status = num
}else{
uni.showToast({
title: res.msg,
icon: 'none',
duration: 2000
})
}
})
} else if (res.cancel) {
}
}
})
},
//
handqixing() {
console.log(11)
if(this.total > this.list.length){
this.getlist()
}
},
//
getlist(){
this.$u.get(`/mch/abnormal/list?pageNum=${this.pageNum}&pageSize=10&isAsc=desc`).then((res) => {
if (res.code == 200) {
this.total = res.total
if(this.pageNum == 1){
this.list = res.rows
}else{
this.list = this.list.concat(res.rows)
}
this.pageNum++
}
})
}
}
}
</script>
<style lang="scss">
page {
background: linear-gradient( 180deg, #8883F0 0%, rgba(204,229,255,0) 100%);
}
.list{
width: 100%;
height: 88vh;
overflow: scroll;
padding-bottom: 40rpx;
box-sizing: border-box;
.item_list{
width: 680rpx;
max-height: 5000rpx;
background-color: #fff;
border-radius: 20rpx;
margin: auto;
margin-top: 30rpx;
padding: 20rpx;
box-sizing: border-box;
.anniu{
display: flex;
justify-content: space-between;
margin-top: 20rpx;
view{
display: flex;
view{
padding: 10rpx 20rpx;
box-sizing: border-box;
border-radius: 10rpx;
background-color: #8883F0;
color: #fff;
margin-left: 20rpx;
}
}
}
.miaoshu{
margin-top: 20rpx;
}
.img{
margin-top: 20rpx;
display: flex;
flex-wrap: wrap;
view{
margin-right: 10rpx;
image{
width: 100rpx;
height: 100rpx;
}
}
}
.top{
display: flex;
justify-content: space-between;
margin-top: 20rpx;
.cl{
padding:4rpx 10rpx;
box-sizing: border-box;
background-color: #ccc;
color: #fff;
font-weight: 600;
border-radius: 10rpx;
}
.two{
color: #666;
}
}
}
}
</style>

View File

@ -95,8 +95,13 @@
<text class="shen">共计</text><text class="qian">{{detailobj.money == undefined ? '--' : detailobj.money}}</text>
</view> -->
</view>
<view class="pic" @click="btntel">
联系商家客服
<view class="ans">
<view class="pic" @click="btnshenbao">
申报
</view>
<view class="pic" @click="btntel">
联系商家客服
</view>
</view>
</view>
<!-- 退款弹窗 -->
@ -160,6 +165,12 @@
}
},
methods: {
//
btnshenbao(){
uni.navigateTo({
url:'/page_fenbao/shenbao?obj=' + JSON.stringify(this.detailobj)
})
},
call() {
let phoneNumber = this.detailobj.mchName
uni.makePhoneCall({
@ -184,10 +195,10 @@
},
fail: function(err) {
console.error('拨打电话失败', err)
uni.showToast({
title: '拨打电话失败',
icon: 'none'
})
// uni.showToast({
// title: '',
// icon: 'none'
// })
}
})
},
@ -371,22 +382,27 @@
overflow: scroll;
padding-bottom: 100rpx;
box-sizing: border-box;
.pic{
width: 680rpx;
text-align: center;
font-size: 36rpx;
font-weight: 600;
height: 100rpx;
line-height: 100rpx;
margin: auto;
margin-top: 56rpx;
border-radius: 50rpx;
.ans{
display: flex;
justify-content: space-between;
position: fixed;
left: 50%;
transform: translateX(-50%);
bottom: 50rpx;
background-color: #8883F0;
color: #fff;
width: 100%;
.pic{
width:45%;
text-align: center;
font-size: 36rpx;
font-weight: 600;
height: 100rpx;
line-height: 100rpx;
margin: auto;
margin-top: 56rpx;
border-radius: 50rpx;
background-color: #8883F0;
color: #fff;
}
}
.listxq{
width: 680rpx;

View File

@ -24,16 +24,7 @@
<input type="text" style="padding-right: 28rpx;box-sizing: border-box;" v-model="name"
placeholder="输入套餐名称" />
</view>
<view class="feems1" style="border-radius: 0;" v-if="yjflag">
<view class="one">
<view class="feelt">
预存
</view>
<view class="feert">
<input type="text" class="yj" v-model="yajinvalue" /> <text></text>
</view>
</view>
</view>
<view class="feems1" style="border: 0;padding-bottom: 40rpx;box-sizing: border-box;">
<view class="feelt">
套餐说明
@ -61,6 +52,16 @@
</view>
</view>
</view>
<view class="feems1" style="border-radius: 0;" v-if="yjflag">
<view class="one">
<view class="feelt">
预存
</view>
<view class="feert">
<input type="text" class="yj" v-model="yajinvalue" /> <text></text>
</view>
</view>
</view>
<view class="feems">
<view class="feelt">
收费类型
@ -294,58 +295,6 @@
提示点击一挡二挡三挡四挡4个色块选中相应电价 色块在0:00到24:00以1小时为1格的区域里涂 抹相应的色块
</view>
</view>
<!-- <view class="list">
<view class="" style="display: flex;
justify-content: space-between;
width: 100%;
align-items: center;">
<view class="title">
套餐名称
</view>
<input type="text" style="padding-right: 28rpx;box-sizing: border-box;" v-model="name"
placeholder="输入套餐名称" />
</view>
<view class="" style="display: flex;
justify-content: space-between;
width: 100%;
align-items: center;margin-top: 30rpx;">
<view class="title">
价格
</view>
<input type="text" style="padding-right: 28rpx;box-sizing: border-box;" v-model="price"
placeholder="输入价格" />
</view>
<view class="" style="display: flex;
justify-content: space-between;
width: 100%;
margin-top: 30rpx;
height: 50rpx;
line-height: 50rpx;">
<view class="title">
通电时长
</view>
<view class="" style="display: flex;justify-content: space-between;position: relative;">
<input type="number" style="height: 50rpx;
line-height: 50rpx;" v-model="value" placeholder="输入通电时长" />
<view class="picker" @click="btnxz">
{{array[index]}} <u-icon v-if="arrflag" name="arrow-down" color="#000" size="24"></u-icon>
<u-icon v-else name="arrow-right" color="#000" size="24"></u-icon>
</view>
<view class="arr_list" v-if="arrflag">
<view class="arr_item" v-for="(item,index) in array" :key="index" @click="btnxl(index)">
{{item}}
</view>
</view>
</view>
</view>
<view class="title" style="margin-top: 30rpx;margin-bottom: 20rpx;">
详细说明
</view>
<textarea style="height: 120rpx !important;margin-top: 40rpx;margin-bottom: 40rpx;"
v-model="description" placeholder="输入说明解释" auto-height="true" />
</view> -->
<!-- 自动断点 #8883F0-->
<view class="shebei" v-if="feeType == 2 || feeType == 3">
<view class="sbarr" style="align-items: center;">
@ -524,7 +473,8 @@
contwzflags: false,
fenshiduanindex: -1,
modevalue: '',
sn: ''
sn: '',
one:0
}
},
onLoad(option) {
@ -542,6 +492,7 @@
this.deviceId = option.id
this.title = '确定'
}
this.gettaocan(this.suitId)
},
onShow() {
this.getuser()
@ -549,25 +500,13 @@
if (uni.getStorageSync('tcidlist')) {
this.deviceList = []
this.deviceList = uni.getStorageSync('tcidlist')
// function uniqueByProperty(arr, prop) {
// const seen = new Set();
// return arr.filter(item => {
// const val = item[prop];
// if (seen.has(val)) {
// return false;
// } else {
// seen.add(val);
// return true;
// }
// });
// }
// // 使 this.deviceList 'id'
// this.deviceList = uniqueByProperty(this.deviceList, 'id');
console.log(this.deviceList)
}
setTimeout(() => {
if (this.suitId) {
this.gettaocan(this.suitId)
if(this.one == 1){
this.gettaocans(this.suitId)
}
} else {
}
@ -694,8 +633,7 @@
price: this.qianvalue,
deposit: this.yajinvalue,
description: this.description,
timeUnit: this.feeType == 3 || this.feeType == 4 || this.feeType == 2 ? (this.timeUnit =
null) : this.timeUnit,
timeUnit: this.feeType == 3 || this.feeType == 4 || this.feeType == 2 ? (this.timeUnit = null) : this.timeUnit,
deviceIds: arrs,
feeMode: this.feeMode,
feeType: this.feeType,
@ -751,9 +689,6 @@
})
}
})
// }else{
// this.contwzflag = true
// }
} else {
let colorMap = {
"#64B6A7": 0,
@ -961,7 +896,7 @@
duration: 1000,
})
that.tcidlist = []
that.gettaocan(that.suitId)
that.gettaocans(that.suitId)
}
})
} else if (res.cancel) {
@ -971,6 +906,16 @@
})
}
},
gettaocans(suitId) {
this.$u.get(`/app/suit/${suitId}`).then((res) => {
if (res.code == 200) {
this.deviceList = res.data.deviceList
this.deviceList.forEach(item => {
this.tcidlist.push(item.deviceId)
})
}
})
},
btnqx() {
uni.removeStorageSync('tcidlist')
@ -1122,6 +1067,9 @@
} else {
this.backgroundColor = Array(24).fill('#64B6A7')
}
setTimeout(()=>{
this.one = 1
},100)
}
})
},

View File

@ -3,16 +3,16 @@
<u-navbar :is-back="true" title='视频教程' :background="bgc" title-color="#000" :border-bottom="false" id="navbar">
</u-navbar>
<view class="video">
<video src="https://api.ccttiot.com/smartmeter/img/static/ubSSfeAihTk6WgtvSbLL"></video>
<video :src="ship" muted="true" show-mute-btn="true"></video>
</view>
<view class="list">
<view class="list_item" v-for="(item,index) in list" :key="index" @click="btnxq(item)">
<view class="list_item" v-for="(item,index) in list" :key="index">
<view class="top">
<image :src="item.coverUrl" class="bj" mode="aspectFill"></image>
<view class="topwz">
<video muted="true" :src="item.videoUrl" controls='true' :vslide-gesture-in-fullscreen='true' show-fullscreen-btn='true' direction="-90" class="bj"></video>
<!-- <view class="topwz">
{{item.title.length > 8 ? item.title.slice(0,8) + '...' : item.title}}
</view>
<u-icon style="margin-top: 20rpx;" name="play-circle" color="#fff" size="48"></u-icon>
<u-icon style="margin-top: 20rpx;" name="play-circle" color="#fff" size="48"></u-icon> -->
</view>
<view class="bot">
<view class="botwz">
@ -30,7 +30,8 @@
bgc: {
backgroundColor: " #fff",
},
list:[]
list:[],
ship:'https://api.ccttiot.com/smartmeter/img/static/ubSSfeAihTk6WgtvSbLL'
}
},
onLoad() {
@ -47,9 +48,10 @@
},
//
btnxq(item){
uni.navigateTo({
url:'/page_geren/shipin/shipinxq?id=' + item.id
})
// uni.navigateTo({
// url:'/page_geren/shipin/shipinxq?id=' + item.id
// })
}
}
}
@ -91,7 +93,7 @@
position: absolute;
top: 0;
left: 0;
z-index: -1;
// z-index: -1;
}
}
.bot{

View File

@ -31,16 +31,12 @@
退款中
</text>
</view>
<view class="nav">
<text class="shen">用户</text><text class="qian">{{detailobj.userName == undefined ? '--' : detailobj.userName}}</text>
</view>
<view class="nav" v-if="detailobj.userMobile ">
<text class="shen">用户手机</text><text class="qian">{{detailobj.userMobile == undefined ? '--' : detailobj.userMobile}}</text>
</view>
<!-- <view class="nav">
<text class="shen">设备名称</text><text class="qian">{{detailobj.deviceName == undefined ? '--' : detailobj.deviceName}}</text>
</view> -->
<view class="nav">
<text class="shen">店铺名称</text><text class="qian">{{detailobj.storeName == undefined ? '--' : detailobj.storeName}}</text>
</view>
@ -89,10 +85,6 @@
<view class="nav">
<text class="shen">套餐结束时间</text><text class="qian">{{detailobj.suitEndTime == undefined ? '--' : detailobj.suitEndTime}}</text>
</view>
<!-- <view class="xian"></view>
<view class="nav">
<text class="shen">共计</text><text class="qian">{{detailobj.money == undefined ? '--' : detailobj.money}}</text>
</view> -->
</view>
<view class="sb" v-if="userflag && detailobj.status == 2" @click="btntz" style="width:680rpx;height: 100rpx;background: #8883F0;
border-radius: 50rpx;

View File

@ -27,6 +27,9 @@
<div class="tip" v-if="deviceInfo.status==2">
<text style="color: #00BA88;border: 1px solid #00BA88;padding: 2rpx 8rpx;box-sizing: border-box;border-radius: 10rpx;">使用中</text>
</div>
<div class="tip" v-if="deviceInfo.status==3">
<text style="color: red;border: 1px solid red;padding: 2rpx 8rpx;box-sizing: border-box;border-radius: 10rpx;">调试中</text>
</div>
<div class="tip" v-if="deviceInfo.storeName != null">
<text style="color: #8883F0;border: 1px solid #8883F0;padding: 2rpx 8rpx;box-sizing: border-box;border-radius: 10rpx;">{{deviceInfo.storeName.length > 5 ? deviceInfo.storeName.slice(0,5) + '...' : deviceInfo.storeName}}</text>
</div>
@ -434,7 +437,8 @@
progress:0,
shengjiflag:false,
lanyaobj:{},
benbencode:''
benbencode:'',
modelChip:''
}
},
onLoad(option) {
@ -739,6 +743,7 @@
this.getwenjian() //
this.qrResult = res.data.mac
this.modelId = res.data.modelTags
this.modelChip = res.data.modelChip
this.deviceId = res.data.mac.match(/.{2}/g).reverse().join(':')
console.log(this.deviceId,'02022')
if (this.ver_dataflag != 3) { //线
@ -964,7 +969,7 @@
if (res.code == 200) {
this.imgflag = true
this.tdtxt = '开启'
this.deviceInfo.status = 2
this.deviceInfo.status = 3
uni.showToast({
title: res.msg,
icon: 'success',
@ -1019,7 +1024,7 @@
let that = this
that.tdtxt = '开启'
that.imgflag = true
that.deviceInfo.status = 2
that.deviceInfo.status = 3
xBlufi.notifySendCustomData({
customData: 'open'
})
@ -1118,9 +1123,8 @@
if (that.deviceId != '') {
let systemInfo = uni.getSystemInfoSync()
if (systemInfo.platform == 'android') {
console.log(that.modelId,'...........')
that.modelId.some(item => {
if(item == 2){
// that.modelId.some(item => {
if(that.modelChip == 'LX'){
console.log('配网')
let zuih = ''
if(that.deviceId.slice(-1) == 8){
@ -1163,7 +1167,7 @@
name: that.name
})
}
})
// })
} else if (systemInfo.platform == 'ios') {
// iOS
that.findDevice()
@ -1208,6 +1212,7 @@
this.deviceInfo = res.data
this.qrResult = res.data.mac
this.modelId = res.data.modelTags
this.modelChip = res.data.modelChip
this.deviceId = res.data.mac.match(/.{2}/g).reverse().join(':')
console.log(this.deviceId,'02022')
if (this.ver_dataflag != 3) { //线
@ -1299,10 +1304,10 @@
if (this.progress < 100) {
} else {
clearInterval(this.intervalId); // 100%
console.log("加载完成");
clearInterval(this.intervalId) // 100%
console.log("加载完成")
}
}, 30); // 30
}, 30) // 30
},
//
topage(num) {
@ -1422,15 +1427,7 @@
duration: 2000
})
}else{
// var data = {
// sum: 100,
// http: this.file
// }
// xBlufi.notifySendCustomData({
// customData: data
// })
// this.shengjiflag = true
// this.startProgress()
}
// uni.navigateTo({
// url: '/page_user/setting?id=' + this.id
@ -1555,7 +1552,7 @@
this.getshuax()
this.cztime = ''
this.danwei = ''
this.deviceInfo.status = 2
this.deviceInfo.status = 3
this.tdtxt = '开启'
this.imgflag = true
}, 2000)

View File

@ -444,6 +444,28 @@
"transparentTitle": "always", //
"titlePenetrate": "YES" //
}
},{
"path": "shenbao",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"navigationBarBackgroundColor": "#8883F0",
"navigationBarTextStyle": "#FFFFFF",
"navigationStyle": "custom",
"transparentTitle": "always", //
"titlePenetrate": "YES" //
}
},{
"path": "shenbaojl/index",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"navigationBarBackgroundColor": "#8883F0",
"navigationBarTextStyle": "#FFFFFF",
"navigationStyle": "custom",
"transparentTitle": "always", //
"titlePenetrate": "YES" //
}
},{
"path": "xinzeng/index",
"style": {

View File

@ -417,8 +417,6 @@
}
},
methods: {
getlists() {
this.$u.get(`/app/device/list?pageNum=${this.pagenum - 1}&pageSize=${this.pagesize}&orderByColumn=${this.pxzt}&isAsc=${this.pxdaoxu}&storeId=${this.storeId == null ? '' : this.storeId}&keyword=${this.keyword}`).then((res) => {
if (res.code == 200) {

View File

@ -100,6 +100,14 @@
<image src="https://api.ccttiot.com/smartmeter/img/static/uFGWU1QHchbCKedNWK74" mode="aspectFit"></image>
<view class="txt">视频教程</view>
</view>
<view style="margin-top:40rpx" class="botcard" @click="btnsm">
<image src="https://api.ccttiot.com/smartmeter/img/static/uTbA35Izc8I9QrLjAXOI" mode="aspectFit"></image>
<view class="txt">实名认证</view>
</view>
<view style="margin-top:40rpx" class="botcard" @click="btnsbjl">
<image src="https://api.ccttiot.com/smartmeter/img/static/uXV1NC3VqKGJlsqqO0ne" mode="aspectFit"></image>
<view class="txt">申报记录</view>
</view>
<view style="margin-top:40rpx" class="botcard" @click="btntuichu">
<image src="https://api.ccttiot.com/smartmeter/img/static/uSBN3RkeyeJLJev5Sk2F" mode="aspectFit"></image>
<view class="txt">退出登录</view>
@ -148,6 +156,12 @@
}
},
methods: {
//
btnsbjl(){
uni.navigateTo({
url:'/page_fenbao/shenbaojl/index'
})
},
//
btnshipin(){
uni.navigateTo({
@ -155,11 +169,11 @@
})
},
//
// btnsm(){
// uni.navigateTo({
// url:'/pages/sjshiming'
// })
// },
btnsm(){
uni.navigateTo({
url: '/page_components/shiming?type=' + 999
})
},
//
//
btnhuiyuan(){