@@ -98,11 +98,6 @@ | |||
delta: 1 | |||
}) | |||
} | |||
// else if (title == "订单支付") { | |||
// uni.navigateTo({ | |||
// url: `/subpackage/orders/product-detail?orderId=orderId` | |||
// }) | |||
// } | |||
} | |||
</script> | |||
@@ -10,9 +10,9 @@ import { hasLogin, msg, timesDiff } from "@/utils/utils"; | |||
import { orderList, appPage } from "@/utils/network/api"; | |||
import { PageData } from "@/datas/enum"; | |||
const tools = require("../../static/etcUtil/tools.js"); | |||
const searchKeyWords = ref(''); | |||
export default function useOrderListItem(props) { | |||
//搜索关键字 | |||
const searchKeyWords = ref(''); | |||
const tabName = ref('小程序'); | |||
//订单列表数据 | |||
const ordersList = ref([]); | |||
@@ -204,7 +204,7 @@ export default function useOrderListItem(props) { | |||
loadMore(); | |||
}); | |||
onShow(() => { | |||
console.log("一进页面就刷新") | |||
console.log("一进页面就刷新", searchKeyWords.value) | |||
refreshList(true); | |||
}) | |||
@@ -216,6 +216,7 @@ export default function useOrderListItem(props) { | |||
onKeyInput, | |||
refreshList, | |||
changeTab, | |||
tabName | |||
tabName, | |||
searchKeyWords | |||
}; | |||
} |
@@ -5,29 +5,6 @@ export enum PageData { | |||
NO_MORE_SIZE = 2, //如果列表已无数据,可设置列表的总数量要大于等于2条才显示无更多数据 | |||
} | |||
//订单状态 | |||
// export enum OrderStatus { | |||
// '已取消' = -1, //注意“已取消”判断字段未orderStatus,下面判断字段为orderStep | |||
// '完成填写基本信息' = 1, | |||
// '完成个人/单位信息上传' = 2, | |||
// '完成车辆信息上传' = 3, | |||
// '待加购权益' = 4, | |||
// '待支付2' = 26, //已经生成二维码但未支付 | |||
// '待支付3' = 27, //加购完权益但未支付 | |||
// '已支付' = 5, | |||
// '待审核' = 6, | |||
// '审核不通过' = 7, | |||
// '待发货' = 8, | |||
// '待收货' = 9, | |||
// '待激活' = 10, | |||
// '已完成' = 11, | |||
// '已申请-换货' = 12, | |||
// '已申请-退货' = 13, | |||
// '已结束' = 14, | |||
// '退款中' = 15, | |||
// '退款成功' = 16, | |||
// '退货成功' = 17, | |||
// '换货-设备已回收' = 18, | |||
// } | |||
export enum OrderStatus { | |||
'已取消' = -1, //注意“已取消”判断字段未orderStatus,下面判断字段为orderStep | |||
'完成填写基本信息' = 1, | |||
@@ -62,7 +39,4 @@ export enum OrderTypes { | |||
'EXCHANGE_OBU' = '更换签', | |||
'EXCHANGE_ALL' = '更换全部', | |||
'TRANSFER' = '过户' | |||
// 'ETC注销' = '暂无ETC注销枚举', | |||
// '车辆信息变更' = '暂无车辆信息变更枚举', | |||
// '解除车牌占用' = '暂无车辆信息变更枚举', | |||
} |
@@ -1488,7 +1488,7 @@ | |||
{ | |||
"path": "trapping-and-repairing-account/recharge-two", | |||
"style": { | |||
"navigationBarTitleText": "圈存", | |||
"navigationBarTitleText": "确认修复", | |||
"enablePullDownRefresh": false | |||
} | |||
}, | |||
@@ -1551,7 +1551,7 @@ | |||
{ | |||
"path": "consumption-record", | |||
"style": { | |||
"navigationBarTitleText": "消费明细", | |||
"navigationBarTitleText": "充值明细", | |||
"enablePullDownRefresh": false | |||
} | |||
}, |
@@ -594,7 +594,7 @@ | |||
}); | |||
} else if (routeType.value == "9") { | |||
uni.navigateTo({ | |||
url: `/subpackage/personal-center/trapping-and-repairing-account/recharge-two?rechargeMoney=${state.rechargeMoney}&&orderNum=${state.orderNum}&&payMoney=${state.payMoney}`, | |||
url: `/subpackage/personal-center/trapping-and-repairing-account/recharge-two?rechargeMoney=${state.rechargeMoney}&&orderNum=${state.orderNum}&&payMoney=${state.payMoney}&&accountId=${state.accountId}`, | |||
}); | |||
} else { | |||
return; |
@@ -4,7 +4,7 @@ | |||
<view class="as-layout-horizontal as-gravity-center-start search-layout"> | |||
<view class="search-box"> | |||
<image :src="`${$imgUrl}service/icon-search.png`" class="icon" mode="aspectFill"></image> | |||
<input class="search" placeholder="请输入车牌号" @input="onKeyInput" /> | |||
<input class="search" placeholder="请输入车牌号" @input="onKeyInput" v-model="searchKeyWords" /> | |||
</view> | |||
<view class="search-btn" @click="doSearch">搜索</view> | |||
</view> | |||
@@ -53,7 +53,7 @@ | |||
} | |||
}) | |||
const { config, params, ordersList, doSearch, onKeyInput, refreshList } = useOrderListItem(props); | |||
const { config, params, ordersList, doSearch, onKeyInput, refreshList, searchKeyWords } = useOrderListItem(props); | |||
//自定义下拉刷新被触发 | |||
const onRefresh = () => { | |||
console.log("22222") |
@@ -151,8 +151,15 @@ function navigateBack(delta, successFunc = null, failFunc = null) { | |||
/********************** showModalAlert ************************/ | |||
function showModalAlert(content, successFunc = null, failFunc = null, title = '温馨提示', showCancel = false) { | |||
console.log("温馨提示", title, content != "") | |||
if (content != "") { | |||
if (content == 'timeout' || content == 'creatConnectionFailure') { | |||
content = "请重新打开OBU设备蓝牙后在手机上重新搜索蓝牙设备" | |||
} | |||
// if (content.indexOf("发送数据失败")) { | |||
// content = "OBU设备蓝牙已关闭,请返回到【选择蓝牙设备】界面重新连接蓝牙设备" | |||
// } | |||
uni.showModal({ | |||
title: title, | |||
content: content, |
@@ -1,16 +1,17 @@ | |||
<template> | |||
<view class='content'> | |||
<view class='search_wrap'> | |||
<input type="text" v-model='state.value' placeholder='搜索ETC卡号' @confirm="doSearch" /><button size='mini' | |||
<input type="text" v-model='state.value' placeholder='搜索卡号' @confirm="doSearch" /><button size='mini' | |||
@click='search()'>搜索</button> | |||
</view> | |||
<view class='item' v-for="(item,index) in state.newList"> | |||
<view class='time'><text>时间:{{item.tradeTime}}</text><text>¥{{item.fee/100}}</text></view> | |||
<view>对公账户:{{item.corporateAccountId}}</view> | |||
<!-- <view>对公账户:{{item.corporateAccountId}}</view> --> | |||
<view>卡号:{{item.cardId}}</view> | |||
<!-- item.status 1 圈存成功 0 半条 --> | |||
<!-- <view class="but-wrap" v-if="item.status ==0"> | |||
<view class="but-wrap" v-if="item.status ==0"> | |||
<text @click="toTrap(item.fee)">修复</text> | |||
</view> --> | |||
</view> | |||
</view> | |||
</view> | |||
</template> | |||
@@ -20,7 +21,7 @@ | |||
import { request } from "@/utils/network/request.js"; | |||
import { transactionRecord } from "@/utils/network/api.js"; | |||
import { stringToJson } from "@/utils/network/encryption.js"; | |||
import { onLoad } from "@dcloudio/uni-app"; | |||
import { onLoad, onShow } from "@dcloudio/uni-app"; | |||
import { getCodeName } from "@/datas/queryKey.js"; | |||
const state = reactive({ | |||
list: '', //所有数据 | |||
@@ -31,6 +32,9 @@ | |||
onLoad((option : any) => { | |||
console.log("option", option) | |||
state.name = option.name; | |||
// getList(); | |||
}) | |||
onShow(() => { | |||
getList(); | |||
}) | |||
const getList = () => { | |||
@@ -63,7 +67,7 @@ | |||
} | |||
const toTrap = (rechargeMoney) => { | |||
uni.navigateTo({ | |||
url: `/subpackage/personal-center/trapping-and-repairing-account/recharge-pay?rechargeMoney=${rechargeMoney}&&payMoney=0` | |||
url: `/subpackage/personal-center/trapping-and-repairing-account/recharge-pay?rechargeMoney=${rechargeMoney}&&payMoney=0&&accountId=${state.name}` | |||
}) | |||
} | |||
</script> |
@@ -41,9 +41,9 @@ | |||
request(transactionRecord, options).then((res) => { | |||
const data = stringToJson(res.bizContent); | |||
state.list = data.qtkCorporateAccountDetails; | |||
for (var i = 0; i < state.list.length; i++) { | |||
// state.list[i].tradeConfirmTime = state.list[i].tradeConfirmTime.split('T').join(' '); | |||
} | |||
// for (var i = 0; i < state.list.length; i++) { | |||
// state.list[i].tradeConfirmTime = state.list[i].tradeConfirmTime.split('T').join(' '); | |||
// } | |||
state.newList = state.list; | |||
console.log("交易记录", data) | |||
}) | |||
@@ -51,7 +51,7 @@ | |||
const search = () => { | |||
state.newList = []; | |||
for (var i = 0; i < state.list.length; i++) { | |||
if (state.list[i].cardId.indexOf(state.value) >= 0) { | |||
if (state.list[i].bankCardId.indexOf(state.value) >= 0) { | |||
state.newList.push(state.list[i]); | |||
} | |||
} |
@@ -101,7 +101,7 @@ | |||
mockpreBalance: 2000, //fix:模拟余额 目前没有检测状态接口,第一次会模拟圈存检测来检测状态 | |||
show: false, | |||
current: 0, | |||
tradeType: 14, | |||
// tradeType: 14, | |||
accountId: "",//对公账户id | |||
accountMoney: 0, //对公账户余额 | |||
consumeId: "",//消费订单编号 | |||
@@ -450,7 +450,8 @@ | |||
rechargeId: data.rechargeId, | |||
paidAmount: state.fee, | |||
giftAmount: 0, | |||
consumeId: state.consumeId | |||
consumeId: state.consumeId, | |||
tradeType: 12, | |||
}; | |||
const options = { | |||
type: 2, | |||
@@ -462,7 +463,6 @@ | |||
const res = await request(quanConfirm, options); | |||
const data = stringToJson(res.bizContent); | |||
console.log("data充值成功", data); | |||
// getCardId() | |||
setTimeout(() => { | |||
msg("充值成功"); | |||
navTo(`/subpackage/after-sale/account-recharge/result?cardId=${card.cardId}`) | |||
@@ -481,6 +481,8 @@ | |||
rechargeId: data.rechargeId, | |||
paidAmount: state.fee, | |||
giftAmount: 0, | |||
tradeType: 12, | |||
}; | |||
const options = { | |||
type: 2, | |||
@@ -568,7 +570,6 @@ | |||
const result = stringToJson(res.bizContent); | |||
console.log("获取微信小程序openid", result); | |||
const openidData = stringToJson(result.data); | |||
// setItem("QYorder", result.data); | |||
state.openid = openidData.openid | |||
}); | |||
// #endif |
@@ -249,9 +249,25 @@ | |||
fileDataStrings.customerId = orderInfo.customerId; | |||
fileDataStrings.orderId = orderInfo.orderId; | |||
getObuId(); | |||
cancelOrderRequest(orderInfo.orderId) | |||
} | |||
}); | |||
}; | |||
//更换设备 去注销前订单的 卡签 | |||
const cancelOrderRequest = (orderId) => { | |||
console.log('======更换设备 去注销前订单的 卡签 ======') | |||
const options = { | |||
type: 2, | |||
data: { | |||
orderId: orderId, | |||
}, | |||
method: "POST", | |||
showLoading: true, | |||
}; | |||
request(IFCODE.cancelOrderApi, options).then((res) => { | |||
}) | |||
} | |||
/** | |||
* 获取OBU号 读OBU |
@@ -15,7 +15,7 @@ | |||
<u-form-item label="详细地址"> | |||
<u-input placeholder="小区楼栋/乡村名称" :customStyle="textareaStyle" v-model="state.formData.address" | |||
maxlength="100" /> | |||
maxlength="50" /> | |||
</u-form-item> | |||
<u-form-item label="邮政编码"> | |||
<u-input placeholder="邮政编码" :customStyle="btnGetCode" v-model="state.formData.postalCode" |
@@ -156,6 +156,10 @@ | |||
<u-input inputAlign="right" placeholder="请输入总质量" v-model="state.form.totalMassShow" | |||
:disabled="state.isEnableChangeOCRCarInfo" /> | |||
</u-form-item> | |||
<u-form-item label="核定载质量" v-if="state.form.permittedWeight"> | |||
<u-input inputAlign="right" placeholder="核定载质量" v-model="state.form.permittedWeight" | |||
:disabled="state.isEnableChangeOCRCarInfo" /> | |||
</u-form-item> | |||
<u-form-item label="车轴数"> | |||
<u-input inputAlign="right" placeholder="请输入车轴数" v-model="state.form.axleCount" type="number" | |||
maxlength="2" /> | |||
@@ -663,6 +667,13 @@ | |||
state.form.issueDate = data.issue; | |||
state.form.vehPosImgUrl = data.imageUrl; | |||
state.form.vehicleModel = data.model; | |||
console.log("走不是牵引车的", data.vehicle.indexOf('牵引车'), data.vehicle) | |||
if (data.vehicle.indexOf('牵引车') > 0) { | |||
qian() | |||
} else { | |||
console.log("走不是牵引车的") | |||
notQian() | |||
} | |||
} else { | |||
state.form.approvedCount = data.apc; | |||
@@ -694,6 +705,11 @@ | |||
state.form.vehNegImgUrl = data.imageUrl; | |||
state.form.permittedWeight = data.alc ? data.alc : 0; | |||
state.form.permittedTowWeight = data.towing ? data.towing : 0; | |||
if (data.towing) { | |||
qian() | |||
} else { | |||
notQian() | |||
} | |||
console.log('=====================', state.form.vehNegImgUrl, state) | |||
} | |||
state.isTakePhotoModeShow = false | |||
@@ -718,6 +734,45 @@ | |||
} | |||
} | |||
} | |||
// 牵引车 | |||
const qian = () => { | |||
state.items = [{ | |||
value: '1', | |||
name: '是', | |||
checked: 'true' | |||
}, | |||
{ | |||
value: '0', | |||
name: '否', | |||
}] | |||
for (let i = 0; i < state.items.length; i++) { | |||
if (state.items[i].value === '1') { | |||
state.current = i; | |||
state.form.tractorSign = 1; | |||
break; | |||
} | |||
} | |||
} | |||
// 不是牵引车 | |||
const notQian = () => { | |||
state.items = [{ | |||
value: '1', | |||
name: '是', | |||
}, | |||
{ | |||
value: '0', | |||
name: '否', | |||
checked: 'true' | |||
}] | |||
for (let i = 0; i < state.items.length; i++) { | |||
console.log("不是牵引车", state.items[i].value, state.items[i].value === '0') | |||
if (state.items[i].value === '0') { | |||
state.current = i; | |||
state.form.tractorSign = 0; | |||
break; | |||
} | |||
} | |||
} | |||
</script> | |||
<style lang="scss" scoped> |
@@ -38,7 +38,7 @@ | |||
<view class="as-layout-vertical as-gravity-center"> | |||
<image style="width: 140rpx; height: 100rpx; border-radius: 20rpx;margin-right: 20rpx;" | |||
:src="`${$imgUrl}card2.png`" mode="aspectFill"></image> | |||
<view style="margin-top: 20rpx;"> | |||
<view style="margin-top: 20rpx;text-align: center;"> | |||
{{item.name}} | |||
</view> | |||
</view> | |||
@@ -62,11 +62,9 @@ | |||
import { msg } from "@/utils/utils"; | |||
import { agentId } from "@/utils/network/difference"; | |||
const imgURL = `${fileURL}image/`; | |||
// import { setItem } from "@/utils/storage"; | |||
const scrollTop = ref(0); //滚动距离 | |||
// 单选默认数据 | |||
// let flag = ref(true) | |||
// 单选 | |||
const radioChange = (n) => { | |||
console.log('radioChange', n); | |||
@@ -78,7 +76,7 @@ | |||
state.isValueCard = 2 | |||
} | |||
setItem("isValueCard", state.isValueCard); | |||
uni.redirectTo({ | |||
uni.navigateTo({ | |||
url: `/subpackage/orders/interestsList?promoteId=${getItem("promoteId")}&userType=${state.userType}&type=${state.type}&isValueCard=${state.isValueCard}&fee=${Number(state.fee)}`, | |||
}); | |||
} | |||
@@ -101,10 +99,7 @@ | |||
} | |||
console.log("state.isValueCard", state.isValueCard) | |||
setItem("isValueCard", state.isValueCard); | |||
// uni.redirectTo({ | |||
// url: `/subpackage/orders/essential-information?promoteId=${getItem("promoteId")}&userType=${state.userType}&type=${state.type}&isValueCard=${state.isValueCard}`, | |||
// }); | |||
uni.redirectTo({ | |||
uni.navigateTo({ | |||
url: `/subpackage/orders/interestsList?promoteId=${val['promoteId']}&userType=${state.userType}&type=${state.type}&isValueCard=${state.isValueCard}&fee=${Number(val.fee)}`, | |||
}); | |||
} else { | |||
@@ -157,7 +152,6 @@ | |||
}; | |||
console.log("输出内容", options); | |||
request(etcQueryProduct, options).then((res) => { | |||
// console.log(res.bizContent); | |||
const data = stringToJson(res.bizContent); | |||
console.log("产品列表", data.list); | |||
if (data.list && data.list.length > 0) { |
@@ -15,7 +15,7 @@ | |||
<u-form-item label="详细地址"> | |||
<u-input placeholder="小区楼栋/乡村名称" :customStyle="textareaStyle" v-model="state.formData.address" | |||
maxlength="100" /> | |||
maxlength="50" /> | |||
</u-form-item> | |||
<u-form-item label="邮政编码"> | |||
<u-input placeholder="邮政编码" :customStyle="btnGetCode" v-model="state.formData.postalCode" /> |
@@ -17,23 +17,6 @@ | |||
</view> | |||
</view> | |||
</view> | |||
<!-- <view class="item" v-for="(item,index) in state.list" :key='index'> | |||
<view class="title" @click="addInterestsList(item)"> | |||
<view> | |||
<view v-if='item.children' style="display: inline-block;"> | |||
<image :class="item.isShow?'imageChange':'imageDefault'" @click.prevent="changeIsShow(index)" | |||
src="../../static/image/icon-back.png" alt="" srcset=""></image> | |||
</view> | |||
<text><text>{{item.productName}}</text> <text>¥{{item.discountPrice * 0.01}}</text></text> | |||
</view> | |||
</view> | |||
<view v-if="item.isShow" class="children" v-for="(itemChild,index) in item.children" :key='index'> | |||
<view> | |||
<text>{{itemChild.productName}}</text> <text>{{itemChild.discountPrice * 0.01}}</text> | |||
</view> | |||
</view> | |||
</view> --> | |||
</view> | |||
</template> | |||
@@ -57,7 +57,7 @@ | |||
</u-form-item> | |||
<u-form-item label="地址"> | |||
<u-input placeholder='请输入地址' :autoHeight='true' v-model="state.form.address" | |||
:disabled="state.isEnableOCRData" maxlength="100" /> | |||
:disabled="state.isEnableOCRData" maxlength="50" /> | |||
</u-form-item> | |||
<u-form-item label="联系方式"> | |||
<u-input placeholder='请输入联系方式' type="number" v-model="state.form.tel" maxlength="11" /> | |||
@@ -168,6 +168,7 @@ | |||
<view class="tip"> | |||
<view class="tip-value"> 拍摄规范 </view> | |||
</view> | |||
<view class="down" @click="downAuthD">模板下载</view> | |||
</view> | |||
<image v-if="!state.form.proxyUrl" class="icon" :src="`${$imgUrl}applyCard/weituoshu.png`"> | |||
</image> | |||
@@ -463,6 +464,7 @@ | |||
proxyUrl: "", | |||
agentAddress: "", | |||
agentIdVld: '', | |||
orderSource: 'WECHAT', | |||
}; | |||
}; | |||
onLoad((option : any) => { | |||
@@ -472,7 +474,6 @@ | |||
state.form.opId = getItem('openId') ? getItem('openId') : ''; | |||
state.isSign = option.isSign; | |||
state.type = option.type; | |||
//state.fromOrder = option.fromOrder //是否来自订单-修改资料 | |||
getGlobalParam(); //全局配置数据 | |||
console.log("option", option) | |||
}); | |||
@@ -625,6 +626,33 @@ | |||
const cancle = () => { | |||
state.isTakePhotoModeShow = false | |||
} | |||
const downAuthD = () => { | |||
uni.downloadFile({ | |||
url: "https://qtzl.etcjz.cn/default-bucket/20240311/个人委托书.docx", | |||
filePath: uni.env.USER_DATA_PATH + '/' + '个人委托书.docx', | |||
success(res) { | |||
const filePath = res.filePath | |||
uni.openDocument({ | |||
filePath: filePath, | |||
fileType: 'docx', | |||
showMenu: true, //关键点 | |||
success: function (res) { | |||
// msg("成功查看协议详情"); | |||
}, | |||
fail: function (err) { | |||
msg("打开文档失败"); | |||
} | |||
}); | |||
}, | |||
fail: function (err) { | |||
msg("下载文档失败"); | |||
console.log("err", err) | |||
}, | |||
complete(res) { | |||
} | |||
}) | |||
} | |||
</script> | |||
<style lang="scss" scoped> | |||
@@ -835,4 +863,14 @@ | |||
top: 0; | |||
z-index: 11111; | |||
} | |||
.down { | |||
background-color: rgba(33, 190, 177, 0.2); | |||
color: #0a8f8a; | |||
border-radius: 10rpx; | |||
padding: 6rpx 10rpx; | |||
font-size: 28rpx; | |||
margin-top: 10rpx; | |||
width: 48%; | |||
} | |||
</style> |
@@ -196,7 +196,6 @@ | |||
// #endif | |||
// #ifdef MP-WEIXIN | |||
source = "WECHAT" | |||
// getOpenID(); | |||
// #endif | |||
var data = { | |||
orderId: state.orderId, | |||
@@ -214,8 +213,6 @@ | |||
console.log(data); | |||
if (data.paymentStatus == 'ALLSUCCESS') { | |||
gotoEditUserOrUnitInfo() | |||
} | |||
state.dataArray = data.datas; | |||
for (let i = 0; i < state.dataArray.length; i++) { | |||
@@ -256,8 +253,6 @@ | |||
state.dataArray[i].payStatusName = '未知' | |||
} | |||
} | |||
console.log("state.dataArray", state.dataArray) | |||
}); | |||
} | |||
@@ -277,11 +272,6 @@ | |||
imageUrl = imgURL + "applyCard/wechat.png"; | |||
source = "WECHAT" | |||
// #endif | |||
// state.userType = option.userType; | |||
// state.vehiclePlateColor = option.vehiclePlateColor; | |||
// state.userType = option.userType; | |||
// state.type = option.type; | |||
// option.orderId; | |||
var data = { | |||
orderId: state.orderId, | |||
source: source //请求方来源 | |||
@@ -297,12 +287,7 @@ | |||
// console.log(res.bizContent); | |||
const data = stringToJson(res.bizContent); | |||
console.log(data); | |||
// console.log(typeof(data)); | |||
if (data.paymentStatus == 'ALLSUCCESS') { | |||
// gotoEditUserOrUnitInfo() | |||
// uni.redirectTo({ | |||
// url: `/subpackage/orders/sign-up-ali?orderId=${state.orderId}`, | |||
// }); | |||
// isValueCard 1 储值卡 2 记账卡 | |||
if (state.isValueCard == 1) { | |||
uni.switchTab({ | |||
@@ -324,6 +309,14 @@ | |||
state.dataArray[i].payName = '预存金' | |||
} else if (state.dataArray[i].payType === 'EQUITY') { | |||
state.dataArray[i].payName = '权益费' | |||
} else if (state.dataArray[i].payType === 'REPAIROBU') { | |||
state.dataArray[i].payName = '增补obu' | |||
} else if (state.dataArray[i].payType === 'CHANGECARD') { | |||
state.dataArray[i].payName = '更换卡' | |||
} else if (state.dataArray[i].payType === 'CHANGEOBU') { | |||
state.dataArray[i].payName = '更换签' | |||
} else if (state.dataArray[i].payType === 'CHANGEALL') { | |||
state.dataArray[i].payName = '更换卡签' | |||
} else { | |||
state.dataArray[i].payName = '未知费' | |||
} |
@@ -2,45 +2,6 @@ | |||
<navBar title="产品详情"></navBar> | |||
<navBgCar></navBgCar> | |||
<view class="content-wrap"> | |||
<!-- <view class="ul-item"> | |||
<image style="width: 100%; height: 170rpx; background-color: #eeeeee" | |||
:src="`${$imgUrl}applyCard/product-bg.png`"></image> | |||
<view class="item-value"> | |||
<image class="icon-tip" :src="`${$imgUrl}applyCard/wechat.png`"></image> | |||
<view class="content"> | |||
<view class="title"> {{state.detailsObj.productName}} </view> | |||
<view style="margin-top: 15rpx" class="tip"> {{state.detailsObj.releaseProduct.remarks}} </view> | |||
</view> | |||
<view class="price"> | |||
¥:{{state.detailsObj.product.oncePrice * 0.01}} | |||
</view> | |||
</view> | |||
</view> --> | |||
<!-- <view style="margin: 20rpx 0 10rpx 20rpx;font-size: 32rpx;">加购权益列表</view> --> | |||
<!-- <view class="add_all"> | |||
<uni-swipe-action> | |||
<uni-swipe-action-item class="del_item" v-for="(item,index) in state.list" | |||
:right-options="state.options2" :show="item.isOpened" :auto-close="false" @change="change" | |||
@click="bindClick(index)"> | |||
<view class="content-box"> | |||
<view v-if='item.children' style="display: inline-block;"> | |||
<image :class="item.isShow?'imageChange':'imageDefault'" @click="changeIsShow(index)" | |||
src="../../static/image/icon-back.png" alt="" srcset=""></image> | |||
</view> | |||
<text class="content-text" @tap="setOpened">{{item.productName}} | |||
¥{{item.discountPrice * 0.01}}</text> | |||
<view v-if="item.isShow" class="children" v-for="(itemChild,index) in item.children" | |||
:key='index'> | |||
<view> | |||
<text>{{itemChild.productName}}</text> <text>{{itemChild.discountPrice * 0.01}}</text> | |||
</view> | |||
</view> | |||
</view> | |||
</uni-swipe-action-item> | |||
</uni-swipe-action> | |||
</view> --> | |||
<view class="value-wrapper"> | |||
<view class="flex" v-for="(item,index) in state.dataArray"> | |||
<view class="title"> {{item.payName}} </view> | |||
@@ -48,28 +9,10 @@ | |||
{{ "¥" + item.fee * 0.01 }} | |||
</view> | |||
</view> | |||
<!-- <view class="flex"> | |||
<view class="title"> 产品金额 </view> | |||
<view class="value"> | |||
{{ "¥" + state.detailsObj.product.oncePrice * 0.01 }} | |||
</view> | |||
</view> --> | |||
<!-- <view class="flex"> | |||
<view class="title"> 加购权益 </view> | |||
<view class="value">{{ "¥" + state.productMoney }} </view> | |||
</view> --> | |||
<view class="flex"> | |||
<view class="title"> 运费 </view> | |||
<view class="value"> ¥0.00 </view> | |||
</view> | |||
<!-- <view class="flex"> | |||
<view class="title"> 优惠券 </view> | |||
<view class="value"> 暂无优惠券 </view> | |||
</view> | |||
<view class="flex"> | |||
<view class="title"> 积分兑换 </view> | |||
<view class="value"> 暂无积分 </view> | |||
</view> --> | |||
<view class="flex"> | |||
<view class="title"> 实付款 </view> | |||
<view class="money"> | |||
@@ -201,13 +144,6 @@ | |||
provider: "weixin", | |||
success: function (e) { | |||
getOpenid(e.code); | |||
// uni.request({ | |||
// url: `https://api.weixin.qq.com/sns/jscode2session?appid=${wechatAppID}&secret=${wechatSecret}&js_code=${e.code}&grant_type=authorization_code`, | |||
// success: (res: any) => { | |||
// state.openid = res.data.openid; | |||
// console.log("state.openid", state.openid); | |||
// }, | |||
// }); | |||
}, | |||
}); | |||
}; | |||
@@ -274,18 +210,8 @@ | |||
state.isValueCard = option.isValueCard; | |||
console.log("传递过来的参数", option) | |||
console.log("查协议", envs[process.env.NODE_ENV].baseUrl) | |||
// state.clientFee = option.clientFee / 100; | |||
state.id = option.id; | |||
getOpenID(); | |||
// const data = JSON.parse(decodeURIComponent(option.data)); | |||
// for (var i = 0; i < data.length; i++) { | |||
// data['isOpened'] = 'node'; | |||
// state.productMoney += data[i]['discountPrice'] / 100; | |||
// state.productId.push(data[i]['equityId']) | |||
// } | |||
// state.list = data; | |||
// queryDetailsData(); | |||
refresh(); | |||
if (option.url) { | |||
state.agreeURL = envs[process.env.NODE_ENV].baseUrl + option.url |
@@ -45,7 +45,7 @@ | |||
</u-form-item> | |||
<u-form-item label="地址"> | |||
<u-input placeholder='请输入地址' :autoHeight='true' v-model="state.form.address" | |||
:disabled="state.isEnableOCRData" maxlength="100" /> | |||
:disabled="state.isEnableOCRData" maxlength="50" /> | |||
</u-form-item> | |||
<u-form-item label="联系方式"> | |||
<u-input placeholder='请输入联系方式' type="number" v-model="state.form.tel" maxlength="11" /> | |||
@@ -721,14 +721,14 @@ | |||
.then((res) => { | |||
const data = stringToJson(res.bizContent); | |||
// 创建工单 | |||
creactWorkOrderRequest().then((val : any) => { | |||
msg("车辆信息变更成功") | |||
setTimeout(() => { | |||
uni.navigateBack({ | |||
delta: 2 | |||
}) | |||
}, 2000) | |||
}) | |||
// creactWorkOrderRequest().then((val : any) => { | |||
msg("待审核") | |||
setTimeout(() => { | |||
uni.navigateBack({ | |||
delta: 2 | |||
}) | |||
}, 2000) | |||
// }) | |||
}) | |||
.catch((res) => { | |||
console.log(res); |
@@ -55,15 +55,10 @@ | |||
const state = reactive({ | |||
transWayTypeShow: false, | |||
// #ifdef MP-ALIPAY | |||
transWayTypeList: [{ | |||
name: "蓝牙", | |||
value: "blu", | |||
}], | |||
// #endif | |||
// #ifdef MP-WEIXIN | |||
transWayTypeList: [], | |||
// #endif | |||
tableIndex: 0, | |||
transWayName: "蓝牙", | |||
transWay: "blu", //“blu”为蓝牙充值方式、“nfc”为NFC充值方式 | |||
@@ -72,6 +67,7 @@ | |||
rechargeMoney: "", //圈存金额 | |||
orderNum: "",//消费明细 传orderNum说明去支付 | |||
payMoney: 0, //0 修复 1支付 | |||
accountId: "" | |||
}); | |||
const selectConfirm = (item : any) => { | |||
@@ -84,28 +80,30 @@ | |||
state.rechargeMoney = option.rechargeMoney | |||
state.orderNum = option.orderNum | |||
state.payMoney = option.payMoney | |||
state.accountId = option.accountId | |||
console.log("参数", option) | |||
uni.getSystemInfo({ | |||
success: (res) => { | |||
console.log("res", res['osName']) | |||
// ios | |||
if (res['osName'] == 'ios') { | |||
state.transWayTypeList = [{ | |||
name: "蓝牙", | |||
value: "blu", | |||
}] | |||
} else { | |||
// 安卓 | |||
state.transWayTypeList = [{ | |||
name: "蓝牙", | |||
value: "blu", | |||
}, { | |||
name: "NFC", | |||
value: "nfc", | |||
}] | |||
} | |||
} | |||
}); | |||
// uni.getSystemInfo({ | |||
// success: (res) => { | |||
// console.log("res", res['osName']) | |||
// // ios | |||
// if (res['osName'] == 'ios') { | |||
// state.transWayTypeList = [{ | |||
// name: "蓝牙", | |||
// value: "blu", | |||
// }] | |||
// } else { | |||
// // 安卓 | |||
// state.transWayTypeList = [{ | |||
// name: "蓝牙", | |||
// value: "blu", | |||
// }, { | |||
// name: "NFC", | |||
// value: "nfc", | |||
// }] | |||
// } | |||
// } | |||
// }); | |||
// #endif | |||
}); | |||
@@ -124,11 +122,11 @@ | |||
const rechargeAction = () => { | |||
if (state.transWay == 'blu') { | |||
uni.redirectTo({ | |||
url: `/pages/bluetooth/bluetooth?routeType=9&&rechargeMoney=${state.rechargeMoney}&&orderNum=${state.orderNum}&&payMoney=${state.payMoney}`, | |||
url: `/pages/bluetooth/bluetooth?routeType=9&&rechargeMoney=${state.rechargeMoney}&&orderNum=${state.orderNum}&&payMoney=${state.payMoney}&&accountId=${state.accountId}`, | |||
}); | |||
} else { | |||
uni.redirectTo({ | |||
url: `/pages/nfc/nfc?routeType=9&&rechargeMoney=${state.rechargeMoney}&&orderNum=${state.orderNum}&&payMoney=${state.payMoney}`, | |||
url: `/pages/nfc/nfc?routeType=9&&rechargeMoney=${state.rechargeMoney}&&orderNum=${state.orderNum}&&payMoney=${state.payMoney}&&accountId=${state.accountId}`, | |||
}); | |||
} | |||
@@ -1,12 +1,17 @@ | |||
<template> | |||
<view class="wrapper"> | |||
<view class="balance"> | |||
账户余额:{{card.money/100}}元 | |||
</view> | |||
<view class="balance">ETC卡内余额:{{card.money/100}}</view> | |||
<view class="balance">修复金额:¥{{state.fee/100}}</view> | |||
<view class="balance">ETC卡号:{{card.cardId}}</view> | |||
<view class="balance">车牌号:{{card.vehiclePlate}}</view> | |||
<button type="default" class="button" @click="aa">确认修复</button> | |||
</view> | |||
</template> | |||
<script setup lang="ts"> | |||
import { | |||
HexToStrig | |||
} from "@/utils/util/fileData.js"; | |||
import { | |||
stringToJson | |||
} from "@/utils/network/encryption"; | |||
@@ -55,36 +60,7 @@ | |||
const NFCAPI = require('../../../static/nfc/NFCAPI.js'); | |||
const state = reactive({ | |||
transWayTypeShow: false, | |||
transWayTypeList: [{ | |||
label: "蓝牙", | |||
value: "blu", | |||
}, { | |||
label: "NFC", | |||
value: "nfc", | |||
} | |||
], | |||
isShowBlue: false, | |||
moneryArray: [{ | |||
name: '50元', | |||
value: 50 | |||
}, { | |||
name: '100元', | |||
value: 100 | |||
}, { | |||
name: '200元', | |||
value: 200 | |||
}, { | |||
name: '300元', | |||
value: 300 | |||
}, { | |||
name: '500元', | |||
value: 500 | |||
}, { | |||
name: '1000元', | |||
value: 1000 | |||
}], | |||
tableIndex: 0, | |||
openid: "", | |||
connectSuccess: undefined, | |||
fee: 5000, | |||
@@ -93,27 +69,13 @@ | |||
transWayName: "蓝牙", | |||
transWay: "blu", //“blu”为蓝牙充值方式、“nfc”为NFC充值方式 | |||
cardId: "", //卡号 需要传参 | |||
mockpreBalance: 2000, //fix:模拟余额 目前没有检测状态接口,第一次会模拟圈存检测来检测状态 | |||
show: false, | |||
items: [{ | |||
value: '0', | |||
name: '微信', | |||
checked: 'true' | |||
}, | |||
{ | |||
value: '1', | |||
name: '对公账户' | |||
} | |||
], | |||
current: 0, | |||
tradeType: 14, | |||
tradeType: 12, | |||
payMoney: 0, //0 1直接走支付 0就是修复 | |||
accountId: "" | |||
}); | |||
const selectConfirm = (item : any) => { | |||
state.transWayName = item[0].label | |||
state.transWay = item[0].value | |||
}; | |||
//读卡信息 | |||
const card : any = reactive({ | |||
cardId: "", | |||
@@ -150,24 +112,24 @@ | |||
state.orderNum = option.orderNum | |||
state.payMoney = Number(option.payMoney) | |||
} | |||
state.accountId = option.accountId | |||
console.log("option.orderNum", option, option.orderNum) | |||
//跳转过来走圈存流程 | |||
// connectSuccess 2 从选择方式进来去圈存检测 1 只读卡 | |||
// #ifdef MP-ALIPAY | |||
/*读卡*/ | |||
getCardId(1); | |||
// #endif | |||
getCardId(); | |||
}); | |||
function radioChange(evt) { | |||
console.log('输出内容', evt) | |||
state.transWay = evt.detail.value; //“blu”为蓝牙充值方式、“nfc”为NFC充值方式 | |||
const aa = () => { | |||
quanCheckActionTrue().then((val) => { | |||
console.log("圈存检测val", val) | |||
checkQuanCengEvent(val); | |||
}); | |||
} | |||
function go(money) { | |||
let content = "" | |||
// if (money) { | |||
state.fee = money * 100 | |||
//走蓝牙进行修复 | |||
@@ -192,14 +154,9 @@ | |||
getCardId() | |||
} | |||
}); | |||
console.log("state.isShowBlue", state.isShowBlue) | |||
} | |||
const tableIndexAction = (val : any) => { | |||
state.tableIndex = val | |||
state.money = state.moneryArray[val].value | |||
} | |||
/*点击充值按钮*/ | |||
const rechargeAction = () => { | |||
state.fee = state.money * 100; //元换成分 | |||
@@ -266,66 +223,10 @@ | |||
]; | |||
tools.showLoadingAlert("正在执行指令"); | |||
transCmd(cmdArr, function (res : any) { | |||
if (readCard == 1) { | |||
// 只读卡号 | |||
getCardIdReturnReadCard(res) | |||
} else { | |||
getCardIdReturn(res); | |||
} | |||
getCardIdReturn(res); | |||
}) | |||
}; | |||
function getCardIdReturnReadCard(res : any) { | |||
tools.hideLoadingAlert(); | |||
//10:写卡 20:写OBU | |||
let str = res[2].substring(res[2].length - 4, res[2].length); | |||
let str3 = res[3].substring(res[3].length - 4, res[3].length); | |||
if (str == "9000" || str3 == "9000") { | |||
if (res[2].length > 86 || res[3] >= 12) { | |||
state.cardId = res[2].substring(20, 40); //卡号 | |||
card.cardId = res[2].substring(20, 40); //卡号 | |||
card.money = parseInt(parseInt(res[3].substring(0, 8), 16), 10) | |||
console.log("======卡信息======", card, state.cardId, state.orderNum, !state.orderNum); | |||
if (state.payMoney) { | |||
// #ifdef MP-WEIXIN | |||
wxPayment(); | |||
// #endif | |||
// #ifdef MP-ALIPAY | |||
aliPayment() | |||
// #endif | |||
console.log("去支付11111", state.payMoney) | |||
} else { | |||
quanCheckActionTrue().then((val : any) => { | |||
console.log("圈存检测val", val) | |||
//如果 圈存检测正常 | |||
if (val.chargeStatus === 1) { | |||
console.log(`进行充值检测`); | |||
czCheckAction().then((checkResult : any) => { | |||
//判断订单逻辑如果有订单充值 则直接拿到订单去链接蓝牙 | |||
if (checkResult.orders && checkResult.orders.length > 0) { | |||
//拿到订单,存起来 | |||
state.orderNum = checkResult.orders[0].orderNum; | |||
// 检测用户是否存在有半条流水 | |||
rechargeAction() | |||
} else { | |||
console.log('没有可修复的流水') | |||
} | |||
}); | |||
} else { | |||
// 检测用户是否存在有半条流水 | |||
} | |||
}); | |||
} | |||
} else { | |||
console.error("CMD_READBINARY指令长度不符" + res[2]); | |||
tools.hideLoadingAlert(); | |||
} | |||
} | |||
console.error("CMD_READBINARY指令长度不符" + res[2]); | |||
tools.hideLoadingAlert(); | |||
} | |||
function getCardIdReturn(res : any) { | |||
tools.hideLoadingAlert(); | |||
//10:写卡 20:写OBU | |||
@@ -343,14 +244,7 @@ | |||
card.vehiclePlateColor = parseInt(res[2].substring(82, 84), 16); | |||
(card.money = parseInt(parseInt(res[3].substring(0, 8), 16), 10)), | |||
console.log("======卡信息======", card, card.money); | |||
// if (card.cardId !== state.cardId) { | |||
// msg("设备卡信息与当前充值卡号不匹配,请核对卡号"); | |||
// return; | |||
// } | |||
quanCheckActionTrue().then((val) => { | |||
checkQuanCengEvent(val); | |||
}); | |||
card.vehiclePlate = HexToStrig(res[2].substring(56, 80)); | |||
} else { | |||
console.error("CMD_READBINARY指令长度不符" + res[2]); | |||
tools.hideLoadingAlert(); | |||
@@ -361,6 +255,7 @@ | |||
} | |||
const checkQuanCengEvent = (val : any) => { | |||
// 圈存检测正常(无半条流水) | |||
if (val.chargeStatus === 1) { | |||
let cmdArr = val.command.split(","); | |||
uni.showLoading({ | |||
@@ -402,6 +297,7 @@ | |||
}); | |||
}); | |||
} else { | |||
// 圈存检测异常(有半条流水) | |||
let cmdArr = val.command.split(","); | |||
uni.showLoading({ | |||
title: "写入中", | |||
@@ -456,7 +352,7 @@ | |||
readCard(); | |||
setTimeout(() => { | |||
msg("修复成功"); | |||
navTo(`./result`) | |||
navTo(`./result?cardId=${card.cardId}`) | |||
}, 2000) | |||
}); | |||
} else if (fixStatus === 1) { | |||
@@ -497,7 +393,7 @@ | |||
cardId: card.cardId, | |||
fee: state.fee, | |||
preBalance: card.money, | |||
tradeType: 14, | |||
tradeType: 12, | |||
}; | |||
const options = { | |||
type: 2, | |||
@@ -568,7 +464,8 @@ | |||
cosResponse: data.cosResponse, | |||
orderId: state.orderNum, | |||
rechargeId: data.rechargeId, | |||
openId: getItem(StorageKeys.OpenId) | |||
openId: getItem(StorageKeys.OpenId), | |||
accountId: state.accountId | |||
}; | |||
const options = { | |||
type: 2, | |||
@@ -606,6 +503,7 @@ | |||
rechargeId: data.rechargeId, | |||
paidAmount: state.fee, | |||
giftAmount: 0, | |||
tradeType: 12, | |||
}; | |||
const options = { | |||
type: 2, | |||
@@ -621,7 +519,7 @@ | |||
console.log("充值成功2222222") | |||
setTimeout(() => { | |||
msg("修复成功"); | |||
navTo(`./result`) | |||
navTo(`./result?cardId=${card.cardId}`) | |||
}, 2000) | |||
}).catch((error) => { | |||
console.log('输出内容', error) | |||
@@ -637,6 +535,7 @@ | |||
rechargeId: data.rechargeId, | |||
paidAmount: state.fee, | |||
giftAmount: 0, | |||
tradeType: 12, | |||
}; | |||
const options = { | |||
type: 2, | |||
@@ -724,7 +623,6 @@ | |||
const result = stringToJson(res.bizContent); | |||
console.log("获取微信小程序openid", result); | |||
const openidData = stringToJson(result.data); | |||
// setItem("QYorder", result.data); | |||
state.openid = openidData.openid | |||
/*读卡*/ | |||
getCardId(1); | |||
@@ -845,32 +743,6 @@ | |||
console.log(data); | |||
}); | |||
}; | |||
const goRecord = () => { | |||
uni.navigateTo({ | |||
url: `/subpackage/personal-center/consumption-record?cardId=${state.cardId}` | |||
}) | |||
} | |||
// 校验金额输入框 | |||
const checkNum = (event) => { | |||
let sNum = event.target.value.toString(); //先转换成字符串类 | |||
if (sNum.indexOf('.') == 0) {//第一位就是 . | |||
console.log('first str is .') | |||
sNum = '0' + sNum | |||
} | |||
sNum = sNum.replace(/[^\d.]/g, ""); //清除“数字”和“.”以外的字符 | |||
sNum = sNum.replace(/\.{2,}/g, "."); //只保留第一个. 清除多余的 | |||
sNum = sNum.replace(".", "$#$").replace(/\./g, "").replace("$#$", "."); | |||
sNum = sNum.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3');//只能输入两个小数 | |||
//以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的金额 | |||
if (sNum.indexOf(".") < 0 && sNum != "") { | |||
sNum = parseFloat(sNum); | |||
} | |||
console.log('输入的值1', sNum) | |||
setTimeout(() => { | |||
state.money = sNum | |||
}, 20) | |||
} | |||
const readCard = () => { | |||
let cmdArr = [ | |||
@@ -902,136 +774,27 @@ | |||
<style> | |||
.balance { | |||
/* display: flex; | |||
flex-direction: column; | |||
justify-content: center; | |||
align-items: flex-start; */ | |||
margin-left: 30rpx; | |||
font-size: 32rpx; | |||
color: #000; | |||
} | |||
/* .balance-tit { | |||
font-size: 26rpx; | |||
margin-bottom: 10rpx; | |||
} | |||
.balance-val { | |||
font-size: 56rpx; | |||
} */ | |||
.right-box { | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: flex-start; | |||
align-items: flex-end; | |||
} | |||
.right-box .no { | |||
font-size: 26rpx; | |||
color: #ffffff; | |||
} | |||
.right-box .btn { | |||
font-size: 26rpx; | |||
padding: 0 20rpx; | |||
box-sizing: border-box; | |||
height: 42rpx; | |||
line-height: 42rpx; | |||
color: #28d20f; | |||
background: #ffffff; | |||
border-radius: 21rpx; | |||
display: inline-block; | |||
margin-top: 18rpx; | |||
} | |||
.head-bg { | |||
width: 690rpx; | |||
height: 224rpx; | |||
position: absolute; | |||
left: 0; | |||
top: 0; | |||
z-index: -99; | |||
} | |||
.input-box { | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: center; | |||
align-items: center; | |||
padding: 20rpx 0; | |||
} | |||
.input-box .input { | |||
width: 430rpx; | |||
height: 98rpx; | |||
line-height: 98rpx; | |||
background: #f8f8f8; | |||
border: 1px solid #999999; | |||
border-radius: 6rpx; | |||
font-size: 30rpx; | |||
text-align: center; | |||
} | |||
.input-box .tips { | |||
color: #666666; | |||
font-size: 26rpx; | |||
margin-top: 18rpx; | |||
} | |||
.tabs {} | |||
.tabs .tab-tit { | |||
font-size: 30rpx; | |||
color: #333; | |||
padding: 45rpx 0 22rpx 30rpx; | |||
} | |||
.tabs .tab { | |||
label { | |||
display: flex; | |||
flex-wrap: wrap; | |||
justify-content: space-evenly; | |||
} | |||
.tabs .tab .item { | |||
width: 210rpx; | |||
height: 100rpx; | |||
background: #f6fff7; | |||
border: 1px solid #dcdde1; | |||
box-sizing: border-box; | |||
line-height: 100rpx; | |||
border-radius: 6rpx; | |||
text-align: center; | |||
margin-bottom: 24rpx; | |||
color: #333333; | |||
font-size: 32rpx; | |||
} | |||
.tabs .tab .item.active { | |||
border: 1px solid #24cc49; | |||
color: #24cc49; | |||
justify-content: space-between; | |||
margin-top: 30rpx; | |||
} | |||
.btn-primary { | |||
width: 670rpx; | |||
.button { | |||
height: 80rpx; | |||
line-height: 80rpx; | |||
background: linear-gradient(-90deg, #43a1e0 0%, #13e7c1 100%); | |||
border-radius: 40rpx; | |||
font-size: 32rpx; | |||
color: #ffffff; | |||
margin: 200rpx 40rpx 0; | |||
text-align: center; | |||
} | |||
.uni-list { | |||
padding: 120rpx 10rpx 0 10rpx; | |||
font-size: 34rpx; | |||
} | |||
label { | |||
display: flex; | |||
justify-content: space-between; | |||
margin-top: 30rpx; | |||
font-weight: 400; | |||
color: #ffffff !important; | |||
line-height: 80rpx; | |||
margin-top: 100rpx; | |||
width: 80%; | |||
} | |||
</style> |
@@ -1,13 +1,54 @@ | |||
<template> | |||
<view class="wrapper"> | |||
<image :src="`${$imgUrl}common/reharge-success.png`" class="pic-status" mode="widthFix"></image> | |||
<view class="text-result">修复成功</view> | |||
<view class="sub-text">您办理的账户充值业务已生成订单</view> | |||
<view class="sub-text"><text>修复前前余额:</text><text>¥{{state.preBalance/100}}</text></view> | |||
<view class="sub-text"><text>修复金额:</text><text>¥{{state.rechargeAmount/100}}</text></view> | |||
<view class="sub-text"><text>修复后余额:</text><text>¥{{state.afterMoney/100}}</text></view> | |||
<view class="btn btn-primary" @click="view">返回查看</view> | |||
</view> | |||
</template> | |||
<script lang="ts" setup> | |||
import { reactive } from "vue"; | |||
import { | |||
rechargeMoneyApi | |||
} from "@/utils/network/api.js"; | |||
import { | |||
onLoad | |||
} from "@dcloudio/uni-app"; | |||
import { | |||
request | |||
} from "@/utils/network/request.js"; | |||
import { | |||
stringToJson | |||
} from "@/utils/network/encryption.js"; | |||
const state = reactive({ | |||
cardId: "", | |||
preBalance: 0, //充值前余额 | |||
rechargeAmount: 0,//充值金额 | |||
afterMoney: 0 //充值后金额 | |||
}) | |||
onLoad((option) => { | |||
state.cardId = option.cardId | |||
money() | |||
}) | |||
const money = () => { | |||
const options = { | |||
type: 2, | |||
data: { | |||
"cardId": state.cardId, | |||
}, | |||
method: 'POST', | |||
showLoading: true, | |||
} | |||
request(rechargeMoneyApi, options).then((res) => { | |||
const data = stringToJson(res.bizContent); | |||
state.preBalance = data.preBalance | |||
state.rechargeAmount = data.rechargeAmount | |||
state.afterMoney = Number(data.rechargeAmount) + Number(data.preBalance) | |||
console.log("圈存金额查询2", data) | |||
}) | |||
} | |||
const view = () => { | |||
uni.navigateBack({ | |||
delta: 3 |
@@ -170,14 +170,8 @@ | |||
// #endif | |||
}); | |||
function radioChange(evt) { | |||
console.log('输出内容', evt) | |||
state.transWay = evt.detail.value; //“blu”为蓝牙充值方式、“nfc”为NFC充值方式 | |||
} | |||
function go(money) { | |||
let content = "" | |||
// if (money) { | |||
state.fee = money * 100 | |||
//走蓝牙进行修复 | |||
@@ -354,10 +348,6 @@ | |||
(card.money = parseInt(parseInt(res[3].substring(0, 8), 16), 10)), | |||
console.log("======卡信息======", card, card.money); | |||
// if (card.cardId !== state.cardId) { | |||
// msg("设备卡信息与当前充值卡号不匹配,请核对卡号"); | |||
// return; | |||
// } | |||
quanCheckActionTrue().then((val) => { | |||
checkQuanCengEvent(val); | |||
}); |
@@ -2,7 +2,7 @@ | |||
<view class="wrapper"> | |||
<image :src="`${$imgUrl}common/reharge-success.png`" class="pic-status" mode="widthFix"></image> | |||
<view class="text-result">修复成功</view> | |||
<view class="sub-text">您办理的账户充值业务已生成订单</view> | |||
<!-- <view class="sub-text">您办理的账户充值业务已生成订单</view> --> | |||
<view class="btn btn-primary" @click="view">返回查看</view> | |||
</view> | |||
</template> |
@@ -275,7 +275,7 @@ export const showEquityListApi = "2af868adcf2f44ceb7a94c659ba2cee1" //展示权 | |||
export const auditQueryApi = "38b105703c854c118202bb411c924b88" //通用审核查询接口 | |||
export const monthStatementApi = "ae645d3be9ef49028db588e0ffa5d808" //月结单查询 | |||
export const obuWriteAgain = "2f887342990e42b6b6cbeaf8dd778fb6" //ASS-签重写接口 | |||
export const carChangeApi = "34" //变更车辆信息 | |||
export const carChangeApi = "686a96c0585141d497909cc0e5c6e375" //变更车辆信息 | |||
export const transferSure = "11c38395b6244a11910beca537262780 " //过户激活确认 | |||
export const transferApply = "fc4f88f8f2e947b197ed8011ce27cb07" //过户激活申请 | |||
export const accountApi = "9b7e8508229b492f8dd588e0a4180334" //对公账户查询 | |||
@@ -291,4 +291,5 @@ export const addProductInterestApi = "aa7ce8d0b64a4396a42c57bac6cd2433" //权益 | |||
export const cancellRefoundApi = "441ea77c279046d192bc3c6abf07c952" //注销退费查询 | |||
export const rechargeMoneyApi = "9d6c8c65490b426ca65e8add1aa977da" //查询充值成功后的金额 | |||
export const blackApi = "3aeafb995cb84112be87b8edcc303a8f" //黑名单查询 | |||
export const rechargeApi = "c62caa7ea6a249c3a2c3f5d3c6354a37" //单位账户充值 | |||
export const rechargeApi = "c62caa7ea6a249c3a2c3f5d3c6354a37" //单位账户充值 | |||
export const cancelOrderApi = "43d72061a84e4310abe631725e42c594" // 更换设备 去注销前订单的 卡签 |