1002 lines
26 KiB
Vue
1002 lines
26 KiB
Vue
<template>
|
||
<view class="pages">
|
||
<view class="title">
|
||
<image src="https://api.ccttiot.com/smartmeter/img/static/ux6MC6FBl41qHB3f2SZh" mode=""
|
||
style="width: 54rpx;height: 56rpx;margin-right: 10rpx;vertical-align: bottom;vertical-align: bottom;"
|
||
@click="btnshouye"></image>
|
||
<text style="width: 80%;text-align: center;display: inline-block;">{{obj.deviceName}}</text>
|
||
<view class="wz" @click="call" style="text-align: right;padding-right: 50rpx;"
|
||
v-if="obj.storeContactMobile == null">
|
||
<image style="width: 48rpx;height: 50rpx;vertical-align: middle;"
|
||
src="https://api.ccttiot.com/smartmeter/img/static/u9bYsfyXGAMwKMFfQAmL" mode=""></image>
|
||
<!-- <text>客服</text> -->
|
||
</view>
|
||
<view class="wz" @click="call"
|
||
style="text-align: right;padding-right: 50rpx;" v-else>
|
||
<image style="width: 60rpx;height: 64rpx;vertical-align: middle;"
|
||
src="https://api.ccttiot.com/smartmeter/img/static/u9bYsfyXGAMwKMFfQAmL" mode=""></image>
|
||
<!-- <text>客服</text> -->
|
||
</view>
|
||
</view>
|
||
|
||
<view class="">
|
||
<!-- 套餐 -->
|
||
<view class="list">
|
||
<view class="list_item" :class="activeindex == item.suitId ? 'active' : ''" v-for="(item,index) in list" :key="index"
|
||
@click="btnactive(item)">
|
||
<view class="tit">
|
||
<text class="tc" :class="activeindex == item.suitId ? 'active' : ''">{{item.name}}</text> <text class="yh"
|
||
:class="activeindex == item.suitId ? 'actives' : ''">{{item.usePoint}}%用户选择</text>
|
||
</view>
|
||
<view class="bot">
|
||
<view class="price" :class="activeindex == item.suitId ? 'active' : ''">
|
||
¥{{item.price}}
|
||
</view>
|
||
<view class="time" :class="activeindex == item.suitId ? 'active' : ''">
|
||
可使用{{item.value}} {{item.timeUnit == 3 ? '分钟' : '小时'}}
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<!-- 说明 -->
|
||
<view class="shuom">
|
||
<view class="shuomtit">
|
||
功能介绍
|
||
</view>
|
||
<view class="cont" style="height: 208rpx;" v-html="obj.funcInfo">
|
||
<!-- {{obj.funcInfo == undefined ? '暂无介绍...' : obj.funcInfo}} -->
|
||
</view>
|
||
</view>
|
||
<view class="shuom" style="max-height: 220rpx;margin-top: 30rpx;">
|
||
<view class="shuomtit">
|
||
设备地址
|
||
</view>
|
||
<view class="shuomwz">
|
||
<image style="width: 30rpx;height: 30rpx;margin-right: 6rpx;" src="https://api.ccttiot.com/smartmeter/img/static/umUFE9oFeYo2Q7atp3jv" mode=""></image>
|
||
{{obj.storeName == undefined ? '' : obj.storeName}} {{obj.room == undefined ? '--' : obj.room}}室
|
||
</view>
|
||
<view class="shuomwz">
|
||
<image style="width: 30rpx;height: 30rpx;margin-right: 6rpx;" src="https://api.ccttiot.com/smartmeter/img/static/uHHgD7nRON3WTmomzKVE" mode=""></image>
|
||
{{obj.storeAddress ? (obj.storeAddress.length > 18 ? obj.storeAddress.substring(0, 18) + '...' : obj.storeAddress) : '' }}
|
||
</view>
|
||
</view>
|
||
|
||
|
||
<!-- 支付 -->
|
||
<view class="tongyi">
|
||
<u-checkbox-group>
|
||
<u-checkbox v-model="checked" @change="checkboxChange" active-color="#8883F0 ">我已同意
|
||
</u-checkbox><text @click="btnxieyi">《用户服务协议》</text>
|
||
</u-checkbox-group>
|
||
<view class="zf" v-if="zhifuflag" @click="btnzhifu">
|
||
立即支付
|
||
</view>
|
||
<view class="zf" v-else>
|
||
立即支付
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<!-- <view class="mask" v-if="zfflag"></view> -->
|
||
|
||
<!-- 背景 -->
|
||
<view class="" style="position: fixed;top: 0;left: 0;width: 100%;height: 100vh;z-index: -1;">
|
||
<image style="width: 100%;height: 100vh;"
|
||
src="https://api.ccttiot.com/smartmeter/img/static/uOiCQSDjukktdvbx5oPw" mode=""></image>
|
||
</view>
|
||
|
||
<!-- 客服列表 -->
|
||
<view class="kflist" v-if="kfflag">
|
||
<view class="kftit">
|
||
请选择您要联系的客服
|
||
</view>
|
||
<view class="kfwz">
|
||
我们根据选择为您提供服务
|
||
</view>
|
||
<view class="kfshuzu">
|
||
<view class="item_val" v-for="(item,index) in kefulist" :key="index" @click="btncall(item.mobile)">
|
||
<view class="lt">
|
||
<image v-if="item.type == 2" src="https://api.ccttiot.com/smartmeter/img/static/urCSQTavLmUje5oTIsE6" mode=""></image>
|
||
<image v-if="item.type == 3" src="https://api.ccttiot.com/smartmeter/img/static/uE5rZZvVutxxUj9I06m5" mode=""></image>
|
||
<image v-if="item.type == 4" src="https://api.ccttiot.com/smartmeter/img/static/uruHLe3W460sdXr2lcxF" mode=""></image>
|
||
</view>
|
||
<view class="rt">
|
||
<view class="" v-if="item.type == 2">{{item.name}}</view>
|
||
<view class="" v-if="item.type == 3">运维人员:{{item.name}}</view>
|
||
<view class="" v-if="item.type == 4">酒店客服:{{item.name}}</view>
|
||
<view class="" style="margin-top: 10rpx;">{{item.mobile}}</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="qx" @click="kfflag = false" v-if="kfflag">
|
||
×
|
||
</view>
|
||
<view class="mask" v-if="kfflag"></view>
|
||
|
||
<!-- 蓝牙充值动画 -->
|
||
<view class="czdh" v-if="jzflag">
|
||
<view class="bj">
|
||
<view class="tittop">
|
||
正在充值中,请稍后
|
||
</view>
|
||
<view class="bfb">
|
||
{{progress}} %
|
||
</view>
|
||
</view>
|
||
</view>
|
||
|
||
</view>
|
||
</template>
|
||
|
||
<script>
|
||
var xBlufi = require("@/components/blufi/xBlufi.js");
|
||
export default {
|
||
data() {
|
||
return {
|
||
jine:'',
|
||
zfflag:false,
|
||
jzflag:false,
|
||
progress: 0,
|
||
mac:'',
|
||
deviceId: '',
|
||
name: '',
|
||
czflag: false,
|
||
lanyaflag: false,
|
||
ver_data: '',
|
||
devicesList: [],
|
||
bgc: {
|
||
// backgroundColor: "#8883f0",
|
||
},
|
||
checked: false,
|
||
zhifuflag: true,
|
||
activeindex: -1,
|
||
id: '',
|
||
list: [],
|
||
obj:{},
|
||
orderno:'',
|
||
payNo:'',
|
||
prices:'',
|
||
sytime:'',
|
||
zfobj:{},
|
||
suitTimeUnit:'',
|
||
suitPrice:'',
|
||
suitGearAmount:'',
|
||
suitGearTime:'',
|
||
suitFeeMode:'',
|
||
suitFeeType:'',
|
||
title:'',
|
||
sbobj:{},
|
||
onlineStatus:'',
|
||
kfflag:false,
|
||
timer:null,
|
||
titflag:false,
|
||
kefulist:[]
|
||
}
|
||
},
|
||
onLoad(option) {
|
||
if (option.q) {
|
||
function getQueryParam(url, paramName) {
|
||
let regex = new RegExp(`[?&]${paramName}=([^&]*)`)
|
||
let results = regex.exec(url);
|
||
return results ? decodeURIComponent(results[1].replace(/\+/g, ' ')) : null
|
||
}
|
||
this.sceneValue = option.q
|
||
let decodedValue = decodeURIComponent(this.sceneValue)
|
||
this.id = getQueryParam(decodedValue, 's')
|
||
this.$u.get(`/app/user/userInfo`).then(res => {
|
||
if(res.code == 200){
|
||
this.getlist()
|
||
}else if(res.code == 401){
|
||
uni.navigateTo({
|
||
url:'/pages/login/login?id=' + this.id
|
||
})
|
||
}
|
||
})
|
||
} else {
|
||
this.id = option.id
|
||
this.$u.get(`/app/user/userInfo`).then(res => {
|
||
if(res.code == 200){
|
||
this.getlist()
|
||
}else if(res.code == 401){
|
||
uni.navigateTo({
|
||
url:'/pages/login/login?id=' + this.id
|
||
})
|
||
}
|
||
})
|
||
}
|
||
},
|
||
onUnload: function() {
|
||
if (this.timer) {
|
||
clearInterval(this.timer)
|
||
this.timer = null;
|
||
}
|
||
xBlufi.listenDeviceMsgEvent(false, this.funListenDeviceMsgEvent);
|
||
xBlufi.notifyStartDiscoverBle({
|
||
'isStart': false
|
||
})
|
||
},
|
||
// 分享到好友(会话)
|
||
onShareAppMessage: function() {
|
||
return {
|
||
title: '创亿康',
|
||
path: '/pages/index/index'
|
||
}
|
||
},
|
||
|
||
// 分享到朋友圈
|
||
onShareTimeline: function() {
|
||
return {
|
||
title: '创亿康',
|
||
query: '',
|
||
path: '/pages/index/index'
|
||
}
|
||
},
|
||
methods: {
|
||
// 点击协议跳转
|
||
btnxieyi(){
|
||
uni.navigateTo({
|
||
url: '/page_fenbao/shiyong?tit=' + '用户服务协议' + '&type=' + 'user'
|
||
})
|
||
},
|
||
// 获取设备客服
|
||
getkefu(){
|
||
this.$u.get(`/app/device/${this.obj.deviceId}/service`).then(res => {
|
||
if(res.code == 200){
|
||
this.kefulist = res.data
|
||
}
|
||
})
|
||
},
|
||
|
||
// 获取设备套餐列表
|
||
getlist() {
|
||
this.$u.get(`app/device/${this.id}/withSuitList`).then((res) => {
|
||
if (res.code == 200) {
|
||
this.list = res.data.suitList
|
||
this.obj = res.data
|
||
this.onlineStatus = res.data.onlineStatus
|
||
this.mac = 'CTKG-' + res.data.mac
|
||
this.getkefu()
|
||
}else if(res.code == 401){
|
||
uni.navigateTo({
|
||
url:'/pages/login/login'
|
||
})
|
||
}
|
||
})
|
||
},
|
||
// 点击支付
|
||
btnzhifu() {
|
||
if(this.onlineStatus == 0){
|
||
if (this.ver_data == '') {
|
||
this.czflag = true
|
||
uni.showLoading({
|
||
title: '蓝牙连接中'
|
||
})
|
||
let that = this
|
||
xBlufi.initXBlufi(1);
|
||
xBlufi.listenDeviceMsgEvent(true, that.funListenDeviceMsgEvent);
|
||
xBlufi.notifyStartDiscoverBle({
|
||
'isStart': true
|
||
})
|
||
setTimeout(() => {
|
||
xBlufi.notifyStartDiscoverBle({
|
||
'isStart': false
|
||
})
|
||
if (that.devicesList.length > 0) {
|
||
xBlufi.notifyConnectBle({
|
||
isStart: true,
|
||
deviceId: that.deviceId,
|
||
name: that.name
|
||
})
|
||
}
|
||
}, 2000)
|
||
uni.showModal({
|
||
title: '温馨提示',
|
||
content: `检测到该设备未联网,为您切换为蓝牙模式,支付的时候靠近该设备,并打开蓝牙`,
|
||
showCancel: false,
|
||
})
|
||
setTimeout(()=>{
|
||
if(that.ver_data == ''){
|
||
uni.showToast({
|
||
title: '未连接成功,如多次失败请点击右上角联系客服咨询',
|
||
icon: 'none',
|
||
duration: 5000
|
||
})
|
||
that.czflag = false
|
||
setTimeout(()=>{
|
||
uni.hideLoading()
|
||
},5000)
|
||
}
|
||
},18000)
|
||
}else{
|
||
this.zhifuflag = false
|
||
let that = this
|
||
let data = {
|
||
deviceNo: that.id,
|
||
suitId: that.zfobj.suitId,
|
||
money: that.zfobj.price,
|
||
suitTime: that.zfobj.value,
|
||
suitTimeUnit:that.suitTimeUnit,
|
||
suitFeeMode:that.suitFeeMode,
|
||
suitFeeType:that.suitFeeType,
|
||
suitGearAmount:that.suitGearAmount,
|
||
suitGearTime:that.suitGearTime,
|
||
suitPrice:that.suitPrice
|
||
}
|
||
that.$u.post('/app/bill/recharge', data).then(res => {
|
||
if(res.code == 200){
|
||
that.orderno = res.data
|
||
that.$u.get(`/app/pay/wx/${that.orderno}`).then((res) => {
|
||
if (res.code == 200) {
|
||
uni.requestPayment({
|
||
provider: 'wxpay',
|
||
timeStamp: res.data.payParams.timeStamp,
|
||
nonceStr: res.data.payParams.nonceStr,
|
||
package: res.data.payParams.packageVal,
|
||
signType: res.data.payParams.signType,
|
||
paySign: res.data.payParams.paySign,
|
||
success: (res) => {
|
||
if (that.timer) {
|
||
clearInterval(this.timer);
|
||
that.timer = null;
|
||
}
|
||
// 111111111111111111111111
|
||
that.$u.put(`/app/bill/${that.orderno}/refreshPayResult`).then(res =>{
|
||
// if(res.code == 200){
|
||
that.$u.get('/app/bill/recharge/device/fail/list').then(res => {
|
||
if (res.code == 200) {
|
||
if(res.data.length != 0){
|
||
let dingobj = res.data[0].billNo
|
||
uni.getNetworkType({
|
||
success(res) {
|
||
if (res.networkType !== 'none') {
|
||
uni.getConnectedBluetoothDevices({
|
||
success(res) {
|
||
that.jzflag = true
|
||
that.startLoading()
|
||
setTimeout(()=> {
|
||
xBlufi.notifySendCustomData({
|
||
customData: "time@" + that.jine
|
||
})
|
||
},1500)
|
||
},
|
||
fail(err) {
|
||
console.error('获取已连接蓝牙设备信息失败:',err)
|
||
}
|
||
})
|
||
that.$u.get(`/app/bill/recharge/${dingobj}/bluetoothSuccess`).then(res => {
|
||
if (res.code == 200) {
|
||
that.zhifuflag = true
|
||
console.log('蓝牙离线充值成功11')
|
||
setTimeout(() => {
|
||
uni.reLaunch({
|
||
url:'/pages/index/index?id=' + that.orderno
|
||
})
|
||
},1000)
|
||
}
|
||
})
|
||
} else {
|
||
console.log('手机未连接网络')
|
||
// this.baiflag = false
|
||
}
|
||
}
|
||
})
|
||
}else{
|
||
uni.getNetworkType({
|
||
success(res) {
|
||
if (res.networkType !== 'none') {
|
||
uni.getConnectedBluetoothDevices({
|
||
success(res) {
|
||
that.jzflag = true
|
||
that.startLoading()
|
||
setTimeout(()=> {
|
||
xBlufi.notifySendCustomData({
|
||
customData: "time@" + that.jine
|
||
})
|
||
},1500)
|
||
},
|
||
fail(err) {
|
||
console.error('获取已连接蓝牙设备信息失败:',err)
|
||
}
|
||
})
|
||
that.zhifuflag = true
|
||
setTimeout(() => {
|
||
uni.reLaunch({
|
||
url:'/pages/index/index?id=' + that.orderno
|
||
})
|
||
},1000)
|
||
} else {
|
||
console.log('手机未连接网络')
|
||
// this.baiflag = false
|
||
}
|
||
}
|
||
})
|
||
}
|
||
|
||
}
|
||
})
|
||
// }
|
||
})
|
||
// 支付成功逻辑
|
||
uni.setStorageSync('time', that.expireTimeStr)
|
||
},
|
||
fail(err) {
|
||
this.zhifuflag = true
|
||
setTimeout(() => {
|
||
this.czflag = false
|
||
uni.hideLoading()
|
||
}, 500)
|
||
// 支付失败逻辑
|
||
uni.showToast({
|
||
title: '支付失败',
|
||
icon: 'none',
|
||
duration: 2000
|
||
});
|
||
}
|
||
})
|
||
}else{
|
||
this.zhifuflag = true
|
||
}
|
||
})
|
||
}
|
||
})
|
||
}
|
||
}else{
|
||
if(this.checked == false){
|
||
uni.showToast({
|
||
title: '请勾选用户服务协议 !',
|
||
icon: 'none',
|
||
duration: 1000
|
||
})
|
||
}else if(this.activeindex == -1){
|
||
uni.showToast({
|
||
title: '请选择套餐 !',
|
||
icon: 'none',
|
||
duration: 1000
|
||
})
|
||
}else{
|
||
// 不允许一直点击支付
|
||
this.zhifuflag = false
|
||
let that = this
|
||
let data = {
|
||
deviceNo: that.id,
|
||
suitId: that.zfobj.suitId,
|
||
money: that.zfobj.price,
|
||
suitTime: that.zfobj.value,
|
||
suitTimeUnit:that.suitTimeUnit,
|
||
suitFeeMode:that.suitFeeMode,
|
||
suitFeeType:that.suitFeeType,
|
||
suitGearAmount:that.suitGearAmount,
|
||
suitGearTime:that.suitGearTime,
|
||
suitPrice:that.suitPrice
|
||
}
|
||
that.$u.post('/app/bill/recharge', data).then(res => {
|
||
if(res.code == 200){
|
||
that.orderno = res.data
|
||
let data = {
|
||
billNo:that.orderno,
|
||
channelId:1
|
||
}
|
||
that.$u.get(`app/pay/wx/${that.orderno}`).then(res => {
|
||
if(res.code == 200){
|
||
that.payNo = res.data.payBill.payNo
|
||
uni.requestPayment({
|
||
provider: 'wxpay',
|
||
timeStamp: res.data.payParams.timeStamp,
|
||
nonceStr: res.data.payParams.nonceStr,
|
||
package: res.data.payParams.packageVal,
|
||
signType: res.data.payParams.signType,
|
||
paySign: res.data.payParams.paySign,
|
||
success: (res) => {
|
||
that.zhifuflag = true
|
||
that.$u.put(`/app/bill/${that.payNo}/refreshPayResult`).then(res => {})
|
||
// 支付成功逻辑
|
||
uni.reLaunch({
|
||
url:'/pages/index/index'
|
||
})
|
||
},
|
||
fail(err) {
|
||
that.zhifuflag = true
|
||
// 支付失败逻辑
|
||
uni.showToast({
|
||
title: '支付失败',
|
||
icon: 'none',
|
||
duration: 2000
|
||
})
|
||
}
|
||
})
|
||
}else{
|
||
uni.showToast({
|
||
title: res.msg,
|
||
icon: 'none',
|
||
duration: 2000
|
||
})
|
||
setTimeout(()=>{
|
||
this.zhifuflag = true
|
||
},2000)
|
||
}
|
||
})
|
||
}else{
|
||
uni.showToast({
|
||
title: res.msg,
|
||
icon: 'none',
|
||
duration: 2000
|
||
})
|
||
setTimeout(()=>{
|
||
this.zhifuflag = true
|
||
},2000)
|
||
}
|
||
})
|
||
}
|
||
}
|
||
},
|
||
|
||
// 蓝牙充值动画
|
||
startLoading() {
|
||
this.isLoading = true;
|
||
const intervalId = setInterval(() => {
|
||
this.progress += 100 / 100; // 每次增加 1
|
||
if (this.progress >= 99) {
|
||
clearInterval(intervalId);
|
||
this.isLoading = false;
|
||
this.progress = 98; // 确保进度条最终达到98
|
||
}
|
||
}, 15);
|
||
},
|
||
// 获取附近蓝牙设备列表
|
||
funListenDeviceMsgEvent: function(options) {
|
||
switch (options.type) {
|
||
case xBlufi.XBLUFI_TYPE.TYPE_GET_DEVICE_LISTS:
|
||
if (options.result) {
|
||
let devicesarr = options.data
|
||
console.log(devicesarr,this.mac,'111');
|
||
devicesarr.forEach(device => {
|
||
const mac = device.name.substring(4);
|
||
if (device.name.slice(5, 17) == this.mac.slice(5, 17)) {
|
||
this.deviceId = device.deviceId
|
||
this.name = device.name
|
||
this.devicesList.push(device);
|
||
let uniqueDevicesList = Array.from(new Set(this.devicesList));
|
||
// 将去重后的数组重新赋值给 this.devicesList
|
||
this.devicesList = uniqueDevicesList;
|
||
}
|
||
})
|
||
}
|
||
break;
|
||
case xBlufi.XBLUFI_TYPE.TYPE_CONNECTED:
|
||
console.log("连接回调:" + JSON.stringify(options));
|
||
if (options.result) {
|
||
// console.log('125451245')
|
||
{
|
||
xBlufi.notifyInitBleEsp32({
|
||
deviceId: this.deviceId
|
||
});
|
||
xBlufi.listenDeviceMsgEvent(true, this.funListenDeviceMsgEvents);
|
||
this.deviceIds = options.data.deviceId
|
||
this.name = this.name
|
||
}
|
||
}else{
|
||
|
||
}
|
||
|
||
break;
|
||
case xBlufi.XBLUFI_TYPE.TYPE_RECIEVE_CUSTON_DATA:
|
||
this.ver_data = this.parseCustomData(options.data)
|
||
console.log("1收到设备发来的自定义数据结果:", this.ver_data);
|
||
setTimeout(()=>{
|
||
this.czflag = false
|
||
uni.hideLoading()
|
||
},1000)
|
||
break;
|
||
case xBlufi.XBLUFI_TYPE.TYPE_GET_DEVICE_LISTS_STOP:
|
||
if (options.result) {
|
||
let uniqueDevicesList = Array.from(new Set(this.devicesList));
|
||
let filteredDevices = uniqueDevicesList.filter(device => device.name.substring(0, 4) === "CTKG");
|
||
// 将过滤后的数组重新赋值给 this.devicesList
|
||
this.devicesList = filteredDevices;
|
||
}
|
||
break;
|
||
case xBlufi.XBLUFI_TYPE.TYPE_GET_DEVICE_LISTS_START:
|
||
if (!options.result) {
|
||
this.lanyaflag = true
|
||
uni.showToast({
|
||
title: '蓝牙未开启',
|
||
icon: 'none',
|
||
duration: 3000
|
||
});
|
||
return
|
||
} else {
|
||
this.lanyaflag = false
|
||
}
|
||
break;
|
||
}
|
||
},
|
||
// 从蓝牙拿到数据进行解析
|
||
parseCustomData(data) {
|
||
// 将字符串按照 "@" 分割成数组
|
||
const dataArray = data.split('@');
|
||
const voltage = parseFloat(dataArray[0].substring(1)); // 去除前缀 "V",并将字符串转换为浮点数
|
||
const switchState = dataArray[1].substring(1); // 去除前缀 "S"
|
||
const current = parseFloat(dataArray[2].substring(1)); // 去除前缀 "A",并将字符串转换为浮点数
|
||
const power = parseFloat(dataArray[4].substring(1)); // 去除前缀 "P",并将字符串转换为浮点数
|
||
const remainingPower = parseFloat(dataArray[5].substring(1)); // 去除前缀 "M",并将字符串转换为浮点数
|
||
const setMode = dataArray[6].substring(1); // 去除前缀 "T"
|
||
// 返回解析后的数据对象
|
||
return {
|
||
voltage,
|
||
switchState,
|
||
current,
|
||
power,
|
||
remainingPower,
|
||
setMode
|
||
};
|
||
},
|
||
|
||
btnactive(item) {
|
||
this.activeindex = item.suitId
|
||
this.prices = item.price
|
||
this.sytime = item.value
|
||
this.zfobj = item
|
||
this.suitTimeUnit = item.timeUnit
|
||
this.suitPrice = item.price
|
||
this.suitGearAmount = item.gearAmount
|
||
this.suitGearTime = item.gearTime
|
||
this.suitFeeMode = item.feeMode
|
||
this.suitFeeType = item.feeType
|
||
if(item.timeUnit == 1){
|
||
this.jine = item.value * 24 * 60 * 60
|
||
}else if(item.timeUnit == 2){
|
||
this.jine = item.value * 60 * 60
|
||
}else if(item.timeUnit == 3){
|
||
this.jine = item.value * 60
|
||
}else if(item.timeUnit == 4){
|
||
this.jine = item.value
|
||
}
|
||
},
|
||
|
||
btnshouye() {
|
||
uni.reLaunch({
|
||
url: '/pages/index/index'
|
||
})
|
||
},
|
||
checkboxChange(e) {
|
||
this.checked = e.value
|
||
},
|
||
// 联系客服
|
||
call() {
|
||
this.kfflag = true
|
||
},
|
||
// 拨打客服电话
|
||
btncall(mobile){
|
||
uni.makePhoneCall({
|
||
phoneNumber: mobile,
|
||
success: function(res) {
|
||
console.log('拨打电话成功', res)
|
||
},
|
||
fail: function(err) {
|
||
console.error('拨打电话失败', err)
|
||
uni.showToast({
|
||
title: '拨打电话失败',
|
||
icon: 'none'
|
||
})
|
||
}
|
||
})
|
||
}
|
||
|
||
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style lang="scss" scoped>
|
||
.active {
|
||
background-color: #918CFF !important;
|
||
color: #fff !important;
|
||
}
|
||
|
||
.actives {
|
||
background-color: #fff !important;
|
||
}
|
||
|
||
/deep/ .u-title {
|
||
padding-bottom: 15rpx;
|
||
}
|
||
.czdh{
|
||
width: 100%;
|
||
height: 100vh;
|
||
position: fixed;
|
||
top: 0;
|
||
left: 0;
|
||
background-color: rgba(0, 0, 0, .5);
|
||
padding-top: 700rpx;
|
||
.bj{
|
||
width: 500rpx;
|
||
height: 300rpx;
|
||
background-color: #fff;
|
||
margin: auto;
|
||
border-radius: 20rpx;
|
||
.tittop{
|
||
width: 100%;
|
||
text-align: center;
|
||
padding-top: 50rpx;
|
||
box-sizing: border-box;
|
||
}
|
||
.bfb{
|
||
width: 100%;
|
||
text-align: center;
|
||
padding-top: 50rpx;
|
||
box-sizing: border-box;
|
||
font-size: 50rpx;
|
||
}
|
||
}
|
||
}
|
||
.qx{
|
||
width: 68rpx;
|
||
height: 68rpx;
|
||
background: #fff;
|
||
border-radius: 50%;
|
||
text-align: center;
|
||
line-height: 68rpx;
|
||
font-size: 50rpx;
|
||
color: #3D3D3D;
|
||
margin: auto;
|
||
bottom: 420rpx;
|
||
z-index: 1;
|
||
position: fixed;
|
||
left: 50%;
|
||
transform: translateX(-50%);
|
||
}
|
||
.kflist{
|
||
width: 590rpx;
|
||
height: 778rpx;
|
||
background: #FFFFFF;
|
||
border-radius: 28rpx 28rpx 28rpx 28rpx;
|
||
position: fixed;
|
||
top: 326rpx;
|
||
left: 50%;
|
||
transform: translateX(-50%);
|
||
z-index: 1;
|
||
padding-top: 48rpx;
|
||
box-sizing: border-box;
|
||
.kftit{
|
||
font-size: 40rpx;
|
||
color: #3D3D3D;
|
||
font-weight: 600;
|
||
width: 100%;
|
||
text-align: center;
|
||
}
|
||
.kfwz{
|
||
font-size: 28rpx;
|
||
color: #3D3D3D;
|
||
margin-top: 16rpx;
|
||
width: 100%;
|
||
text-align: center;
|
||
}
|
||
.kfshuzu{
|
||
height: 580rpx;
|
||
overflow: scroll;
|
||
.item_val{
|
||
display: flex;
|
||
align-items: center;
|
||
padding-left: 30rpx;
|
||
box-sizing: border-box;
|
||
width: 528rpx;
|
||
height: 144rpx;
|
||
background: #FFFFFF;
|
||
box-shadow: 0rpx 4rpx 22rpx 0rpx rgba(0,0,0,0.1);
|
||
border-radius: 20rpx 20rpx 20rpx 20rpx;
|
||
margin: auto;
|
||
margin-top: 42rpx;
|
||
.lt{
|
||
margin-right: 34rpx;
|
||
padding-top: 10rpx;
|
||
box-sizing: border-box;
|
||
image{
|
||
width: 76rpx;
|
||
height: 78rpx;
|
||
}
|
||
}
|
||
.rt{
|
||
font-size: 32rpx;
|
||
color: #3D3D3D;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
.mask{
|
||
position: fixed;
|
||
top: 0;
|
||
left: 0;
|
||
width: 100%;
|
||
height: 100vh;
|
||
background-color: #000;
|
||
opacity: .5;
|
||
}
|
||
page {
|
||
background-color: #F7FAFE;
|
||
overflow: hidden;
|
||
}
|
||
.shibai {
|
||
margin-top: 50rpx;
|
||
text-align: center;
|
||
padding-bottom: 600rpx;
|
||
height: 100vh;
|
||
overflow: scroll;
|
||
|
||
.jxcz {
|
||
width: 563rpx;
|
||
height: 100rpx;
|
||
background: #8883F0;
|
||
border-radius: 60rpx 60rpx 60rpx 60rpx;
|
||
text-align: center;
|
||
line-height: 100rpx;
|
||
font-size: 45rpx;
|
||
color: #FFFFFF;
|
||
position: fixed;
|
||
bottom: 62rpx;
|
||
left: 50%;
|
||
transform: translateX(-50%);
|
||
}
|
||
|
||
.top {
|
||
font-size: 40rpx;
|
||
color: #3D3D3D;
|
||
}
|
||
|
||
.tishi {
|
||
font-size: 31rpx;
|
||
color: #3D3D3D;
|
||
margin-top: 50rpx;
|
||
}
|
||
|
||
.li {
|
||
margin-top: 50rpx;
|
||
font-size: 31rpx;
|
||
color: #3D3D3D;
|
||
|
||
image {
|
||
margin-top: 30rpx;
|
||
}
|
||
}
|
||
}
|
||
|
||
.pages {
|
||
width: 750rpx;
|
||
box-sizing: border-box;
|
||
|
||
.shuom {
|
||
width: 650rpx;
|
||
height: 100%;
|
||
background: #FFFFFF;
|
||
box-shadow: 0rpx 16rpx 40rpx 0rpx rgba(42, 130, 228, 0.1);
|
||
filter: blur(0px);
|
||
margin: auto;
|
||
margin-top: 50rpx;
|
||
border-radius: 20rpx;
|
||
padding: 20rpx;
|
||
box-sizing: border-box;
|
||
.cont{
|
||
margin-top: 10rpx;
|
||
max-height: 120rpx;
|
||
overflow: scroll;
|
||
line-height: 40rpx;
|
||
}
|
||
.shuomtit {
|
||
font-weight: 700;
|
||
font-size: 34rpx;
|
||
color: #383838;
|
||
}
|
||
|
||
.shuomwz {
|
||
font-size: 28rpx;
|
||
color: #383838;
|
||
margin-top: 16rpx;
|
||
display: flex;
|
||
align-items: center;
|
||
}
|
||
}
|
||
|
||
.list {
|
||
width: 648rpx;
|
||
margin: auto;
|
||
height: 42vh;
|
||
overflow: scroll;
|
||
|
||
.list_item {
|
||
width: 648rpx;
|
||
height: 192rpx;
|
||
background: #FFFFFF;
|
||
box-shadow: 0rpx 16rpx 40rpx 0rpx rgba(42, 130, 228, 0.1);
|
||
filter: blur(0px);
|
||
border-radius: 20rpx;
|
||
margin-top: 30rpx;
|
||
padding-left: 36rpx;
|
||
box-sizing: border-box;
|
||
overflow: hidden;
|
||
|
||
.tit {
|
||
display: flex;
|
||
justify-content: space-between;
|
||
|
||
.tc {
|
||
font-weight: 600;
|
||
font-size: 34rpx;
|
||
color: #3D3D3D;
|
||
padding-top: 26rpx;
|
||
box-sizing: border-box;
|
||
}
|
||
|
||
.yh {
|
||
width: 213rpx;
|
||
height: 67rpx;
|
||
background: #DCDBFF;
|
||
border-radius: 0 0 0 20rpx;
|
||
font-size: 28rpx;
|
||
color: #918CFF;
|
||
text-align: center;
|
||
line-height: 67rpx;
|
||
}
|
||
}
|
||
|
||
.bot {
|
||
margin-top: 40rpx;
|
||
display: flex;
|
||
|
||
.price {
|
||
font-weight: 600;
|
||
font-size: 36rpx;
|
||
color: #3D3D3D;
|
||
margin-right: 46rpx;
|
||
}
|
||
|
||
.time {
|
||
font-size: 32rpx;
|
||
color: #3D3D3D;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
.tongyi {
|
||
width: 590rpx;
|
||
position: fixed;
|
||
bottom: 50rpx;
|
||
left: 50%;
|
||
transform: translateX(-50%);
|
||
|
||
text {
|
||
color: #638DFF;
|
||
height: 50rpx;
|
||
line-height: 50rpx;
|
||
}
|
||
|
||
.zf {
|
||
width: 590rpx;
|
||
height: 84rpx;
|
||
background: #8883F0;
|
||
filter: blur(0px);
|
||
border-radius: 50rpx;
|
||
text-align: center;
|
||
line-height: 84rpx;
|
||
font-size: 36rpx;
|
||
color: #FFFFFF;
|
||
margin-top: 20rpx;
|
||
}
|
||
}
|
||
|
||
.title {
|
||
margin-top: 40rpx;
|
||
padding-left: 32rpx;
|
||
font-weight: 600;
|
||
font-size: 40rpx;
|
||
color: #3D3D3D;
|
||
margin-top: 100rpx;
|
||
height: 126rpx;
|
||
|
||
.wz {
|
||
font-weight: 400;
|
||
font-size: 32rpx;
|
||
margin-top: 10rpx;
|
||
}
|
||
}
|
||
}
|
||
</style> |