Przeglądaj źródła

修改wechatPayConfigId

yxb
DESKTOP-2IO5MST\huting 1 rok temu
rodzic
commit
38fe1153db

+ 14
- 0
pages.json Wyświetl plik

@@ -96,6 +96,20 @@
"subPackages": [{
"root": "subpackage/after-sale", //售后相关
"pages": [{
"path": "unsuspend/unsuspend-confirm",
"style": {
"navigationBarTitleText": "卡签解除挂起-确认",
"enablePullDownRefresh": false
}
},
{
"path": "unsuspend/select-car",
"style": {
"navigationBarTitleText": "选择车辆",
"enablePullDownRefresh": false
}
},
{
"path": "transfer-page",
"style": {
"navigationBarTitleText": "",

+ 1
- 1
subpackage/after-sale/card-Renewal/renewal-confirm.vue Wyświetl plik

@@ -40,7 +40,7 @@
<view class="card-center">
<view class="card-center-head"> {{orderInfos.cardId}} </view>
<view class="tips">
<text>储蓄卡</text>
<!-- <text>储蓄卡</text> -->
<text class="tips-card">{{getCodeName('CARD_STATE_TYPE',orderInfos.cardStatus)}}</text>
</view>
<view class="choose-item1"> 有效期:{{orderInfos.cardExpireTime }}</view>

+ 0
- 1
subpackage/after-sale/replace-equipment/form.vue Wyświetl plik

@@ -392,7 +392,6 @@
const submit = () => {
noticeUser(() => {
queryCckChangejzCardInfo().then(val => {
console.log("queryCckChangejzCardInfo", val)
navTo(
`/subpackage/after-sale/replace-equipment/result`
)

+ 168
- 0
subpackage/after-sale/unsuspend/select-car.vue Wyświetl plik

@@ -0,0 +1,168 @@
<template>
<view class="selectCar-box">
<view v-if="state.list.length>0" @click="choose(i,item)" class="item" v-for="(item,i) in state.list" :key="i">
<view class="iten-left">
<image :src="`${$imgUrl}che.png`" mode="aspectFill"></image>
<text>{{item.vehiclePlate}}</text>
</view>
<view class="choose-item">
<view class="active" v-if="flag==i">
</view>
</view>
</view>
<view v-else class="flex">
暂无车辆订单信息
</view>
</view>
</template>

<script setup>
import {
reactive,
ref
} from "vue"
import {
navTo
} from "@/utils/utils"
import {
onLoad,
onShow
} from "@dcloudio/uni-app";
import {
orderList
} from "@/utils/network/api.js";
import {
request
} from "@/utils/network/request.js";
import {
msg
} from "@/utils/utils";
import {
getItem,
StorageKeys,
setItem
} from "@/utils/storage";
import {
stringToJson
} from "@/utils/network/encryption";

const state = reactive({
list: []
});
onLoad(() => {
quanCheckActionTrue().then((item) => {
state.list = item.data
console.log(item)
})
});

const quanCheckActionTrue = () => {
let source = ""
// #ifdef MP-ALIPAY
source = "ALI"
// #endif
// #ifdef MP-WEIXIN
source = "WECHAT"
// #endif
var data = {
opId: getItem(StorageKeys.OpenId),
source: source,
tabIndex: '0',
orderStep: '11',
isValueCard: '',
orderStatus: "1",
isAfter: true,
};
const options = {
type: 2,
data: data,
method: "POST",
showLoading: true,
};
return new Promise(async (resolve, reject) => {
const res = await request(orderList, options);
const data = stringToJson(res.bizContent);
resolve(data);
}).catch((error) => {
reject(error);
});
}
const flag = ref('0')

const choose = (i, item) => {
console.log(item.cardId)
navTo(`/subpackage/after-sale/unsuspend/unsuspend-confirm?id=${item.id}&orderId=${item.orderId}`)
}
</script>

<style>
page {
width: 100%;
height: 100%;
background-color: #EEF7F7;
}
</style>
<style lang="scss" scoped>
.flex {
display: flex;
justify-content: center;
}

.selectCar-box {
// width: 100%;
height: 100%;
padding: 30rpx;

.item {
padding: 20rpx;
display: flex;
justify-content: space-between;
align-items: center;
height: 130rpx;
background: #FFFFFF;
box-shadow: 0rpx 2rpx 6rpx 0rpx rgba(223, 223, 223, 0.8);
border-radius: 20rpx;
margin-bottom: 30rpx;

.iten-left {
display: flex;
align-items: center;

image {
width: 150rpx;
height: 90rpx;

}

text {
margin-left: 20rpx;
font-size: 32rpx;
font-family: Noto Sans S Chinese;
font-weight: 400;
color: #333333;
}
}

.choose-item {
width: 44rpx;
height: 44rpx;
background: #FFFFFF;
border: 2rpx solid #00B38B;
border-radius: 50%;
margin-right: 20rpx;
display: flex;
justify-content: center;
align-items: center;
box-sizing: content-box;
}

.active {
width: 34rpx;
height: 34rpx;
background: #00B38B;
border-radius: 50%;
}

}
}
</style>

+ 850
- 0
subpackage/after-sale/unsuspend/unsuspend-confirm.vue Wyświetl plik

@@ -0,0 +1,850 @@
<template>
<view class="selectCar-box">
<view class="details">
<view class="title"> 基础信息 </view>
<view class="details-item">
<view> 订单编号: </view>
<text>{{ orderInfos.orderId }}</text>
</view>
<view class="details-item">
<view> 用户名称: </view>
<text>{{ orderInfos.ownerName }}</text>
</view>
<view class="details-item">
<view> 用户证件类型: </view>
<text>{{ getCodeName('CERTIFICATE_TYPE',orderInfos.ownerIdtype) }}</text>
</view>
<view class="details-item">
<view> 用户证件号: </view>
<text>{{ orderInfos.ownerIdnum }}</text>
</view>
<view class="details-item">
<view> 订单车牌号: </view>
<text style="color: #00b38b">{{ orderInfos.vehiclePlate }}</text>
</view>
<view class="details-item">
<view> 车牌颜色: </view>
<text style="color: #00b38b">{{
orderInfos.vehiclePlateColorStr
}}</text>
</view>
<view class="details-item">
<view> 收费车型: </view>
<text>{{ orderInfos.vehicleType }}</text>
</view>
</view>
<view class="title"> 卡信息 </view>
<view class="card">
<view class="card-left">
<image :src="`${$imgUrl}card2.png`" mode=""></image>
<view class="card-center">
<view class="card-center-head"> {{orderInfos.cardId}} </view>
<view class="tips">
<!-- <text>储蓄卡</text> -->
<text class="tips-card">{{getCodeName('CARD_STATE_TYPE',orderInfos.cardStatus)}}</text>
</view>
<view class="choose-item1"> 有效期:{{orderInfos.cardExpireTime }}</view>
</view>
</view>
<view class="choose-item" @click="choose(1)">
<view class="active" v-if="flag.includes(1)">

</view>
</view>
</view>
<view class="title"> OBU设备信息 </view>
<view class="card">
<view class="card-left">
<image :src="`${$imgUrl}card1.png`" mode=""></image>
<view class="card-center">
<view class="card-center-head"> {{orderInfos.obuId}} </view>
<view class="tips">
<!-- <text>储蓄卡</text> -->
<text class="tips-card">{{getCodeName('OBU_STATE_TYPE',orderInfos.obuStatus)}}</text>
</view>
<view class="choose-item1"> 有效期:{{orderInfos.obuExpireTime }} </view>
</view>
</view>
<view class="choose-item" @click="choose(2)">
<view class="active" v-if="flag.includes(2)">

</view>
</view>
</view>

<button class="submit" @click="toPage" v-if="!state.flag">卡签续期</button>
<button class="submit" @click="toBack" v-else="state.flag">返回服务中心</button>
<view class="mask" v-show="state.showPopup">
<view class="main">
<view class="top">
<image class="icon-close" :src="`${$imgUrl}common/icon-close.png`" @click="cancel"></image>
</view>
<image class="icon-success" :src="`${$imgUrl}bluetooth/card-success.png`"></image>
<view class="title">{{state.successName}}续期成功!</view>
</view>
</view>
</view>
</template>

<script setup>
import {
getCodeName
} from "@/datas/queryKey.js";

import {
reactive,
ref
} from "vue";
import {
navTo
} from "@/utils/utils";
import {
onLoad,
onUnload,
onShow
} from "@dcloudio/uni-app";
import {
request
} from "@/utils/network/request.js";
import {
orderDetail,
cardRenewal,
writeCardBack,
cardModifyConfirm,
obuRenewal,
modifyObuVehicleInfo,
obuActivation,
renewalTimeApi
} from "@/utils/network/api.js";
import {
getVehiclePlateColor
} from "@/datas/vehiclePlateColor";
import {
searchVehicleInfoQuery
} from "@/utils/publicRequest";
const cmd = require("../../../static/etcUtil/cmdConfig.js");
import {
IntegerToHexString,
AsciToHexString,
} from "@/utils/util/fileData.js";

import {
stringToJson
} from "@/utils/network/encryption";
const tools = require("../../../static/etcUtil/tools.js");
const bluetoothUtil = require("../../../static/etcUtil/index.js");
const state = reactive({
showPopup: false,
flag: false,
successName: ""

})
const flag = reactive([])
const type = ref('')
const fileDataStrings = reactive({
approvedCount: 0, //核载人数
cardId: "", //卡号
obuId: "", //obu号
obuId: "", //obu号
packageNum: "", //套餐编号
axleCount: 0, //轴数
axleDistance: "", //轴距
engineNum: "", //发动机
vehicleVin: "",
vehicleEngineNum: "",
cardStatus: "",
obuStatus: "",
type: 0, //类型
userType: 0, //用户类型
vehiclePlate: "", //车牌
vehiclePlateColor: 0, //车牌颜色
vehicleDimensions: "",
outlineL: 0, //外廓 长
outlineW: 0, //外廓 宽
outlineH: 0, //外廓 高
wheelCount: "", //车轮数
vehicleIdNo: "", //车牌号
vehiclePlateColorStr: "",
customerTel: "",
customerId: "",
orderId: ""
});
let cmdRandNum = '';
const orderInfos = reactive({
orderId: "",
ownerName: "",
ownerIdtype: "",
ownerIdnum: "",
vehiclePlate: "",
vehiclePlateColorStr: "",
vehiclePlateColor: "",
vehicleType: "",
cardId: "",
cardStatus: "",
obuId: "",
obuStatus: "",
cardEnableTime: "",
obuEnableTime: "",
cardExpireTime: "",
obuExpireTime: ""
});
let orderInfo = {};
onLoad((option) => {
//请求订单详情
queryOrderDetail(option.id);
getOrderDetails(option.id)
});

onShow((option) => {
uni.$on('bluetoothLink', res => {
console.log(res);
if (res.status) {
// 分别写
if (flag.length == 1) {
for (var i = 0; i < flag.length; i++) {
if (flag[i] == 1) {
state.successName = '卡'
getCardRenewal()
} else {
state.successName = '签'
getObuRenewal()
}
}
} else {
state.successName = '卡签'
// 两个都要写,
getCardRenewal()

}

}
})

})
onUnload(() => {
//移除监听
uni.$off('bluetoothLink')
})
const choose = (data) => {
if (!flag.includes(data)) {
flag.push(data)
console.log(flag);

} else {
flag.splice(flag.indexOf(data), 1)
console.log(flag);
}

if (flag.length == 2) {
type.value = '3'
} else if (flag[0] == 1) {
type.value = '1'
} else {
type.value = '2'
}
}

//获取订单详情
const queryOrderDetail = (id) => {
const options = {
type: 2,
data: {
id: id,
},
method: "POST",
showLoading: true,
};
request(orderDetail, options).then((res) => {
let orderInfo = JSON.parse(res.bizContent);
console.log("orderInfo", orderInfo);
orderInfos.orderId = orderInfo.orderId;
orderInfos.ownerName = orderInfo.ownerName;
orderInfos.ownerIdtype = orderInfo.ownerIdtype;
orderInfos.ownerIdnum = orderInfo.ownerIdnum;
orderInfos.vehiclePlate = orderInfo.vehiclePlate;
orderInfos.vehiclePlateColorStr = orderInfo.vehiclePlateColorStr;
orderInfos.vehiclePlateColor = orderInfo.vehiclePlateColor;
orderInfos.vehicleType = orderInfo.vehicleType;
orderInfos.cardId = orderInfo.cardId;
orderInfos.cardStatus = orderInfo.cardStatus;
orderInfos.obuId = orderInfo.obuId;
orderInfos.obuStatus = orderInfo.obuStatus;
orderInfos.cardExpireTime = orderInfo.cardExpireTime;
orderInfos.obuExpireTime = orderInfo.obuExpireTime;
console.log("orderInfos.cardExpiretime", orderInfos.cardExpiretime, orderInfo.cardExpiretime)
});
};

//卡续期 请求
const getCardRenewal = () => {
const options = {
type: 2,
data: {
cardId: orderInfos.cardId,
},
method: "POST",
showLoading: true,
};
request(cardRenewal, options).then((res) => {
let result = stringToJson(res.bizContent);
let cmdArray = result.command.split(",");
console.log(cmdArray);
console.log(result.cosRecordId);
if (cmdArray.length > 0) {
tools.showLoadingAlert("正在执行指令");
bluetoothUtil.transCmd(cmdArray, "10", function(res) {
tools.hideLoadingAlert();
let status = res[cmdArray.length - 1].substring(res[cmdArray.length - 1].length -
4, res[cmdArray.length - 1].length);
if (status == "9000") {
getCommandBack(result.command, result.cosRecordId, res.toString());
}
})
}
})
};

/**
* 写卡指令返回 请求
*/
const getCommandBack = (command, cosRecordId, response) => {
console.log('======循环写卡指令中======')
tools.showLoadingAlert("加载中");
let options = {
type: 2, //type: 2,JSON格式提交数据(默认表单形式提交)
data: {
cardId: orderInfos.cardId,
orderId: orderInfos.orderId,
command: command,
response: response,
cosRecordId: cosRecordId,
cosType: 2
}, //请求参数
method: "POST", //提交方式(默认POST)
showLoading: true, //是否显示加载中(默认显示)
};

//调用方式
request(writeCardBack, options)
.then((res) => {
tools.hideLoadingAlert();
let result = JSON.parse(res.bizContent);
if (result.orderStatus == 1 || result.orderStatus == "1") {
tools.showLoadingAlert("执行指令中");
bluetoothUtil.transCmd(result.command.split(","), "10", function(res) {
tools.hideLoadingAlert();
let response = res.toString();
getCommandBack(result.command, cosRecordId, response);
});
} else {
getCardModifyConfirm(cosRecordId)
}
})
};

//卡信息变更确认
const getCardModifyConfirm = (cosRecordId) => {
const options = {
type: 2,
data: {
cardId: orderInfos.cardId,
operation: 1,
cosRecordId: cosRecordId
},
method: "POST",
showLoading: true,
};
request(cardModifyConfirm, options).then((res) => {
// 只写卡
if (flag.length == 1) {
sure(1)
state.showPopup = true;
} else {
// 为2要写签
getObuRenewal()
}
})
}

//去连接蓝牙
const toPage = () => {
console.log("flag.length", flag, type)
if (flag.length == 0) {
uni.showToast({
title: '请至少勾选一项',
icon: 'none'
});
} else {
console.log("getCurrentPages()", getCurrentPages())
navTo("/pages/bluetooth/bluetooth?routeType=5"); //去连接蓝牙
}

};

//返回列表
const toBack = () => {
uni.redirectTo({
url: "/pages/service/service"
})
}

//关闭弹窗
const cancel = () => {
state.flag = true;
state.showPopup = false;
uni.navigateTo({
url: `/subpackage/after-sale/deviceInfo/deviceInfo`
})
}

//签续期 请求
const getObuRenewal = () => {
let cmdArray1 = [cmd.HOME_DIRECTORY, cmd.OBU_SYSTEM_FILE, cmd.RANDOM_NUMBER];
tools.showLoadingAlert("正在执行指令");
bluetoothUtil.transCmd(cmdArray1, "20", function(res) {
tools.hideLoadingAlert();
var str = res[2].substring(res[2].length - 4, res[2].length);
if (str == "9000") {
cmdRandNum = res[2].substring(0, res[2].length - 4);
const options = {
type: 2,
data: {
obuId: orderInfos.obuId,
random: cmdRandNum
},
method: "POST",
showLoading: true,
};
request(obuRenewal, options).then((res) => {
let datas = stringToJson(res.bizContent);
console.log("899", datas, datas.data.APDU);
if (datas.data.APDU) {
tools.showLoadingAlert("正在执行指令");
bluetoothUtil.transCmd([datas.data.APDU], "20", function(res) {
tools.hideLoadingAlert();
console.log("res=====", res, res[0])
let cmdArr = [cmd.HOME_DIRECTORY, cmd.OBU_DF01, cmd.OBU_EF01, cmd
.RANDOM_NUMBER
];
bluetoothUtil.transCmd(cmdArr, "20", function(res) {
console.log("chelaing======", res)
var str = res[3].substring(res[3].length - 4, res[3]
.length);
if (str == "9000") {
cmdRandNum = res[3].substring(0, res[3].length -
4);
console.log("0000000000000000000000000")
getFileData((demos) => {
modifyVehicle(demos);
})
} else {
tools.alertF("RANDOM_NUMBER指令长度不符" + res[1]);
}
})

})
}
})
} else {
tools.alertF("RANDOM_NUMBER指令长度不符" + res[1]);
}
})
};
//获取fileData
const getFileData = (fun) => {
//调用方式
request('6ed853e432fb4811a3c0d7d27034bd39', {
type: 2, //type: 2,JSON格式提交数据(默认表单形式提交)
data: {
fileData: fileDataStrings.vehiclePlate,
nLen: 24
}, //请求参数
method: "POST", //提交方式(默认POST)
showLoading: true, //是否显示加载中(默认显示)
}).then((les) => {
let result = stringToJson(les.bizContent);
console.log(result, '=========123')
let res1 = result.gbkFileData; //车牌号
let res2 = IntegerToHexString(fileDataStrings.vehiclePlateColor, 4); //车牌颜色

let res3 = IntegerToHexString(fileDataStrings.type, 2); //类型
let userTypeNumber = fileDataStrings.userType == 'PERSONAL_USER' ? 1 : 2
let res4 = IntegerToHexString(userTypeNumber, 2); //用户类型
let res5 = IntegerToHexString(fileDataStrings.outlineL, 4); //车辆尺寸 长
let res6 = IntegerToHexString(fileDataStrings.outlineW, 2); //车辆尺寸 宽
let res7 = IntegerToHexString(fileDataStrings.outlineH, 2); //车辆尺寸 高
let res8 = IntegerToHexString(4, 2); //获取轮数
let res9 = IntegerToHexString(fileDataStrings.axleCount, 2); //轴数

let res10 = IntegerToHexString(null, 4); //轴距32
let res11 = IntegerToHexString(fileDataStrings.approvedCount, 6); //核载人数

let res12 = AsciToHexString(fileDataStrings.vehicleVin, 32); //车编号

let res13 = AsciToHexString(fileDataStrings.vehicleEngineNum, 32); //发动机

fun(res1 + res2 + res3 + res4 + res5 + res6 + res7 + res8 + res9 + res10 + res11 + res12 + res13);
})
};
/**
* 修改车辆信息 请求
*/
const modifyVehicle = (ites) => {
tools.showLoadingAlert("加载中");
console.log('======修改车辆信息======', ites)
let options = {
type: 2, //type: 2,JSON格式提交数据(默认表单形式提交)
data: {
Status: "0",
random: cmdRandNum,
obuSerailNo: orderInfos.obuId,
fileData: ites,
orderId: orderInfos.orderId,
}, //请求参数
method: "POST", //提交方式(默认POST)
showLoading: true, //是否显示加载中(默认显示)
};
//调用方式
request(modifyObuVehicleInfo, options)
.then((res) => {
tools.hideLoadingAlert();
const datas = stringToJson(res.bizContent);
console.log("modifyObuVehicleInfo", modifyObuVehicleInfo, datas)
tools.showLoadingAlert("正在执行指令");
if (datas.data.APDU) {
bluetoothUtil.transCmd([datas.data.APDU], "20", function(res) {
console.log('执行指令结果', res)
tools.hideLoadingAlert();
if (res[0] == "9000") {
//再次获取随机数
let cmdArr = [cmd.HOME_DIRECTORY, cmd.RANDOM_NUMBER];
bluetoothUtil.transCmd(cmdArr, '20', function(res) {
var str = res[1].substring(res[1].length - 4, res[1].length);
if (str == "9000") {
cmdRandNum = res[1].substring(0, res[1].length - 4);
getObuActivation();
} else {
tools.alertF("RANDOM_NUMBER指令长度不符" + res[1]);
}
})
}
});
}
})
};
/**
* VFJ-OBU在线激活 请求
*/
const getObuActivation = () => {
console.log('======VFJ-OBU在线激活======')
tools.showLoadingAlert("加载中");
let options = {
type: 2, //type: 2,JSON格式提交数据(默认表单形式提交)
data: {
random: cmdRandNum,
obuSerailNo: orderInfos.obuId,
orderId: orderInfos.orderId,
}, //请求参数
method: "POST", //提交方式(默认POST)
showLoading: true, //是否显示加载中(默认显示)
};
//调用方式
request(obuActivation, options)
.then((res) => {
tools.hideLoadingAlert();
console.log("在线激活 请求");
console.log(stringToJson(res.bizContent));
const datas = stringToJson(res.bizContent);
tools.showLoadingAlert("执行指令");
console.log("在线激活 请求==========================", datas, datas.data.APDU);
bluetoothUtil.transCmd([datas.data.APDU], "20", function(res) {
tools.hideLoadingAlert();
console.log("在线激活 请求", res);
if (res[0] == "9000") {
sure(2)
state.showPopup = true;
}
});
})
.catch((err) => {
console.log(err);
});
};
//获取订单详情
const getOrderDetails = (id) => {
console.log('======获取订单信息======')
const options = {
type: 2,
data: {
id: id,
},
method: "POST",
showLoading: true,
};
request(orderDetail, options).then((res) => {
orderInfo = JSON.parse(res.bizContent);
console.log("orderInfo", orderInfo);
console.log("orderInfores", res);
if (orderInfo) {
fileDataStrings.userType = orderInfo.userType; //用户类型
fileDataStrings.cardId = orderInfo.cardId;
fileDataStrings.packageNum = orderInfo.packageNum;
fileDataStrings.obuId = orderInfo.obuId;
fileDataStrings.customerTel = orderInfo.customerTel;
fileDataStrings.customerId = orderInfo.customerId;
fileDataStrings.orderId = orderInfo.orderId;
let vehicleId = orderInfo.vehiclePlate + "_" + orderInfo.vehiclePlateColor
searchVehicleInfoQuery(vehicleId).then((orderInfo) => {
fileDataStrings.approvedCount = parseInt(orderInfo.approvedCount); //核载人数
fileDataStrings.vehicleVin = orderInfo.vin;
fileDataStrings.vehicleEngineNum = orderInfo.engineNum;
fileDataStrings.axleCount = parseInt(orderInfo.axleCount); //轴数
fileDataStrings.engineNum = orderInfo.engineNum; //发动机
fileDataStrings.type = parseInt(orderInfo.type); //类型
fileDataStrings.vehiclePlate = orderInfo.vehiclePlate; //车牌
fileDataStrings.vehiclePlateColor = orderInfo.vehiclePlateColor; //车牌颜色
console.log("车辆信息", orderInfo)
fileDataStrings.vehicleDimensions = orderInfo.vehicleDimensions;
let arr = orderInfo.vehicleDimensions.split("X");
console.log("orderInfo.vehicleDimensions", orderInfo.vehicleDimensions.split("X"))
fileDataStrings.outlineL = parseInt(arr[0]); //外廓 长
fileDataStrings.outlineW = parseInt(arr[1]); //外廓 宽
fileDataStrings.outlineH = parseInt(arr[2].substring(0, arr[2].length - 2)); //外廓 高
fileDataStrings.vehicleIdNo = orderInfo.vehicleEngineNum; //车编号
fileDataStrings.vehiclePlateColorStr = getVehiclePlateColor(orderInfo
.vehiclePlateColor);
console.log("fileDataStrings", fileDataStrings);
})
}
});
};
const sure = (val) => {
var data = {}
if (val == 1) {
data = {
type: "1",
cardId: fileDataStrings.cardId,
}
} else {
data = {
type: "2",
obuId: fileDataStrings.obuId,
}
}
const options = {
type: 2,
data: data,
method: "POST",
showLoading: true,
};
request(renewalTimeApi, options).then((res) => {

})
}
</script>

<style>
page {
width: 100%;
height: 100%;
background-color: #fff;
}
</style>
<style lang="scss" scoped>
.mask {
background: rgba(0, 0, 0, .35);
position: fixed;
left: 0;
top: 0;
bottom: 0;
right: 0;
}

.main {
width: 560rpx;
padding: 25rpx 20rpx 55rpx;
text-align: center;
background: #fff;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
border-radius: 20rpx;

.top {
text-align: right;

.icon-close {
width: 48rpx;
height: 48rpx;
}
}

.icon-success {
width: 500rpx;
height: 320rpx;
margin-top: 22rpx;
}

.title {
color: #333333;
font-size: 40rpx;
font-weight: 600;
text-align: center;
margin-top: 55rpx;
}
}

.selectCar-box {
// width: 100%;
// height: 100%;
padding: 30rpx;

.title {
font-size: 30rpx;
font-family: Microsoft YaHei UI;
font-weight: 400;
color: #333333;
margin-bottom: 30rpx;
}

.details {
.title {
font-size: 30rpx;
font-family: Microsoft YaHei UI;
font-weight: 400;
color: #333333;
margin-bottom: 30rpx;
}

.details-item {
display: flex;
font-size: 26rpx;
font-family: Noto Sans S Chinese;
font-weight: 400;
color: #999999;
margin-bottom: 30rpx;

text {
font-size: 26rpx;
font-family: Noto Sans S Chinese;
font-weight: 400;
color: #333333;
}
}
}

.card {
height: 150rpx;
background: #ffffff;
box-shadow: 0rpx 4rpx 13rpx 3rpx rgba(223, 223, 223, 0.8);
border-radius: 20rpx;
padding: 30rpx;
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 60rpx;

.card-left {
display: flex;
align-items: center;

image {
width: 100rpx;
height: 90rpx;
}

.card-center {
margin-left: 30rpx;

.card-center-head {
font-size: 32rpx;
font-family: Noto Sans S Chinese;
font-weight: 400;
color: #333333;
}

.tips {
font-size: 26rpx;
font-family: Noto Sans S Chinese;
font-weight: 400;
color: #666666;

.tips-card {
width: 70rpx;
height: 40rpx;
background: #d3f2ef;
border-radius: 6rpx;
font-size: 20rpx;
font-family: Noto Sans S Chinese;
font-weight: 400;
color: #0a8f8a;
padding: 5rpx 10rpx;
margin-left: 20rpx;
}
}
}
}

.choose-item1 {
margin-right: 20rpx;
/* width: 50rpx; */
// height: 50rpx;
/* border: 1rpx solid #00B38B; */
border-radius: 50%;
// display: flex;
// justify-content: center;
// align-items: center;
font-size: 25rpx;
// align-self: end;

.active {
width: 38rpx;
height: 38rpx;
background: #00b38b;
border-radius: 50%;
}
}

.choose-item {
margin-right: 20rpx;
width: 50rpx;
height: 50rpx;
border: 1rpx solid #00B38B;
border-radius: 50%;
display: flex;
justify-content: center;
align-items: center;

.active {
width: 38rpx;
height: 38rpx;
background: #00B38B;
border-radius: 50%;
}
}
}

.remark {
font-size: 26rpx;
font-family: Microsoft YaHei UI;
font-weight: 400;
color: #666666;
text-indent: 30rpx;
margin-bottom: 30rpx;
}

.submit {
margin-top: 100rpx;
width: 670rpx;
height: 80rpx;
background: linear-gradient(-90deg, #43a1e0 0%, #13e7c1 100%);
border-radius: 40rpx;
font-size: 32rpx;
font-family: Noto Sans S Chinese;
font-weight: 400;
color: #ffffff;
line-height: 80rpx;
}
}
</style>

+ 1
- 3
utils/network/api.js Wyświetl plik

@@ -16,8 +16,6 @@ export const envs = {
},
//生产环境配置
production: {
// baseUrl: "http://192.168.124.6:8087",
// baseUrl: "http://222.85.144.89:19002",
baseUrl: "https://qtzl.etcjz.cn",
// baseUrl: "https://trial.etcjz.cn",
// baseUrl: "https://qtzl.etcjz.cn/test",
@@ -26,7 +24,7 @@ export const envs = {
export const appId = "52030131"; //应用appid 综合业务支撑平台使用
export const loginTime = 86400; //登录有效时间(单位s) 1天
export const wechatPayConfigId = "6a9a54bc01f6443faea7ffe132b19f8"; //支付配置编号 微信小程序支付:6a9a54bc01f6443faea7ffe132b19f6
export const wechatPayConfigId = "6a9a54bc01f6443faea7ffe132b19f6"; //支付配置编号 微信小程序支付:6a9a54bc01f6443faea7ffe132b19f6
export const aliPayConfigId = "6a9a54bc01f6443123452b1234"; //支付配置编号 支付宝小程序支付:6a9a54bc01f6443123452b1234
export const aliPayConfigIdTwo = "6a9a54bc01f644312543761234";
// export const aliPayConfigIdTwo = "6a9a54bc01f6443123452b1";

Ładowanie…
Anuluj
Zapisz