|
|
@@ -1,254 +1,279 @@ |
|
|
|
<template> |
|
|
|
<navBar title="选择产品"></navBar> |
|
|
|
<navBgCar></navBgCar> |
|
|
|
<view class="content-value"> |
|
|
|
<view @click="savaHandle(item)" class="ul-item" v-for="(item, index) in state.dataArray" :key="index"> |
|
|
|
<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"> |
|
|
|
{{ item.name }} |
|
|
|
</view> |
|
|
|
<view style="margin-top: 15rpx" class="tip"> |
|
|
|
{{ item.productMsg }} |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<view class="bottomTip"> 到底啦!敬请期待其他产品! </view> |
|
|
|
</view> |
|
|
|
</template> |
|
|
|
|
|
|
|
<script setup lang="ts"> |
|
|
|
import { |
|
|
|
onLoad, |
|
|
|
onShow |
|
|
|
} from "@dcloudio/uni-app"; |
|
|
|
import { |
|
|
|
reactive |
|
|
|
} from "vue"; |
|
|
|
import { |
|
|
|
etcQueryProduct |
|
|
|
} from "@/utils/network/api.js"; |
|
|
|
import { |
|
|
|
request |
|
|
|
} from "@/utils/network/request.js"; |
|
|
|
|
|
|
|
import { |
|
|
|
stringToJson |
|
|
|
} from "@/utils/network/encryption"; |
|
|
|
import { |
|
|
|
fileURL |
|
|
|
} from "@/datas/fileURL.js"; |
|
|
|
import navBgCar from "./components/nav-bg-car4"; |
|
|
|
import navBar from "../components/nav-bar/nav-bar2.vue"; |
|
|
|
|
|
|
|
import { |
|
|
|
getItem, |
|
|
|
StorageKeys |
|
|
|
} from "@/utils/storage.ts"; |
|
|
|
import { |
|
|
|
msg |
|
|
|
} from "@/utils/utils"; |
|
|
|
const imgURL = `${fileURL}image/`; |
|
|
|
import { |
|
|
|
setItem |
|
|
|
} from "@/utils/storage"; |
|
|
|
const savaHandle = (val) => { |
|
|
|
if (val.isValueCard === 2) { |
|
|
|
setItem('clientFee', val.clientFee) |
|
|
|
setItem("productId", val.id) |
|
|
|
uni.navigateTo({ |
|
|
|
url: `/applyCard/release-products?orderId=${state.orderId}&&clientFee=${val.clientFee}&&id=${val.id}`, |
|
|
|
}); |
|
|
|
} else { |
|
|
|
|
|
|
|
uni.navigateTo({ |
|
|
|
url: `/applyCard/product-detail?orderId=${state.orderId}&&clientFee=${val.clientFee}&&id=${val.id}`, |
|
|
|
}); |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
onLoad((option: any) => { |
|
|
|
state.orderId = option.orderId; |
|
|
|
|
|
|
|
var data = { |
|
|
|
orderId: state.orderId, |
|
|
|
}; |
|
|
|
const options = { |
|
|
|
type: 2, |
|
|
|
data: data, |
|
|
|
method: "POST", |
|
|
|
showLoading: true, |
|
|
|
}; |
|
|
|
request(etcQueryProduct, options).then((res) => { |
|
|
|
const data = stringToJson(res.bizContent); |
|
|
|
state.dataArray = data; |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
const state = reactive({ |
|
|
|
orderId: "", |
|
|
|
data: { |
|
|
|
show: false, |
|
|
|
src: imgURL + "applyCard/edit.png", |
|
|
|
}, |
|
|
|
dataArray: [], |
|
|
|
list: [{ |
|
|
|
bg: imgURL + "applyCard/product-bg.png", |
|
|
|
icon: imgURL + "applyCard/wechat.png", |
|
|
|
title: "【货车】微信车主服务", |
|
|
|
tip: "绑定微信支付,无需绑定银行卡", |
|
|
|
}, ], |
|
|
|
}); |
|
|
|
</script> |
|
|
|
|
|
|
|
<style lang="scss" scoped> |
|
|
|
.bottomTip { |
|
|
|
margin-top: 100rpx; |
|
|
|
text-align: center; |
|
|
|
font-size: 28rpx; |
|
|
|
font-family: Microsoft YaHei; |
|
|
|
font-weight: 400; |
|
|
|
color: #b3b3b3; |
|
|
|
} |
|
|
|
|
|
|
|
.content-value { |
|
|
|
position: relative; |
|
|
|
margin-top: -50rpx; |
|
|
|
padding: 0rpx 30rpx; |
|
|
|
position: relative; |
|
|
|
|
|
|
|
.img-pos { |
|
|
|
position: absolute; |
|
|
|
left: 500rpx; |
|
|
|
top: -38rpx; |
|
|
|
right: 50rpx; |
|
|
|
|
|
|
|
.img-flex { |
|
|
|
display: flex; |
|
|
|
justify-content: space-between; |
|
|
|
align-items: center; |
|
|
|
|
|
|
|
.car-img { |
|
|
|
width: 86rpx; |
|
|
|
height: 42rpx; |
|
|
|
} |
|
|
|
|
|
|
|
.flag-img { |
|
|
|
width: 30rpx; |
|
|
|
height: 35rpx; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.flex { |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
} |
|
|
|
|
|
|
|
.action { |
|
|
|
margin-top: 30rpx; |
|
|
|
padding-left: 20rpx; |
|
|
|
padding-right: 20rpx; |
|
|
|
padding-bottom: 30rpx; |
|
|
|
|
|
|
|
.button { |
|
|
|
height: 80rpx; |
|
|
|
background: linear-gradient(-90deg, #43a1e0 0%, #13e7c1 100%); |
|
|
|
border-radius: 40rpx; |
|
|
|
font-size: 32rpx; |
|
|
|
font-weight: 400; |
|
|
|
color: #ffffff; |
|
|
|
line-height: 80rpx; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.action-btn { |
|
|
|
margin-left: 45rpx; |
|
|
|
width: 121rpx; |
|
|
|
height: 61rpx; |
|
|
|
border: 1px solid rgba(255, 255, 255, 1); |
|
|
|
border-radius: 30rpx; |
|
|
|
background: rgba(255, 255, 255, 0.2); |
|
|
|
|
|
|
|
text-align: center; |
|
|
|
font-size: 30rpx; |
|
|
|
font-family: Microsoft YaHei; |
|
|
|
font-weight: 400; |
|
|
|
color: #ffffff; |
|
|
|
line-height: 61rpx; |
|
|
|
} |
|
|
|
|
|
|
|
.tag1 { |
|
|
|
padding: 5rpx; |
|
|
|
background: rgba(0, 179, 139, 0.5); |
|
|
|
border-radius: 6rpx; |
|
|
|
font-size: 22rpx; |
|
|
|
font-family: Microsoft YaHei; |
|
|
|
font-weight: 400; |
|
|
|
color: #ffffff; |
|
|
|
} |
|
|
|
|
|
|
|
.tag3 { |
|
|
|
padding: 5rpx; |
|
|
|
background: rgba(139, 112, 228, 0.5); |
|
|
|
border-radius: 6rpx; |
|
|
|
font-size: 22rpx; |
|
|
|
font-family: Microsoft YaHei; |
|
|
|
font-weight: 400; |
|
|
|
color: #ffffff; |
|
|
|
} |
|
|
|
|
|
|
|
.tag2 { |
|
|
|
padding: 5rpx; |
|
|
|
background: rgba(249, 97, 60, 0.5); |
|
|
|
border-radius: 6rpx; |
|
|
|
font-size: 22rpx; |
|
|
|
font-family: Microsoft YaHei; |
|
|
|
font-weight: 400; |
|
|
|
color: #ffffff; |
|
|
|
} |
|
|
|
|
|
|
|
.ul-item { |
|
|
|
padding: 5px 20rpx; |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
|
|
|
|
.item-value { |
|
|
|
padding: 20rpx; |
|
|
|
position: absolute; |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
justify-content: space-around; |
|
|
|
|
|
|
|
.content { |
|
|
|
.title { |
|
|
|
font-size: 32rpx; |
|
|
|
font-family: Microsoft YaHei; |
|
|
|
font-weight: 400; |
|
|
|
color: #ffffff; |
|
|
|
} |
|
|
|
|
|
|
|
.tip { |
|
|
|
font-size: 24rpx; |
|
|
|
font-family: Microsoft YaHei; |
|
|
|
font-weight: 400; |
|
|
|
color: #ffffff; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.icon-tip { |
|
|
|
width: 100rpx; |
|
|
|
height: 100rpx; |
|
|
|
} |
|
|
|
|
|
|
|
.content { |
|
|
|
margin-left: 40rpx; |
|
|
|
} |
|
|
|
} |
|
|
|
<template>
|
|
|
|
<navBar title="选择产品"></navBar>
|
|
|
|
<navBgCar></navBgCar>
|
|
|
|
<view class="content-value">
|
|
|
|
<view @click="savaHandle(item)" class="ul-item" v-for="(item, index) in state.dataArray" :key="index">
|
|
|
|
<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">
|
|
|
|
{{ item.name }}
|
|
|
|
</view>
|
|
|
|
<view style="margin-top: 15rpx" class="tip">
|
|
|
|
{{ item.productMsg }}
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
<view class="bottomTip"> 到底啦!敬请期待其他产品! </view>
|
|
|
|
</view>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script setup lang="ts">
|
|
|
|
import {
|
|
|
|
onLoad,
|
|
|
|
onShow
|
|
|
|
} from "@dcloudio/uni-app";
|
|
|
|
import {
|
|
|
|
reactive
|
|
|
|
} from "vue";
|
|
|
|
import {
|
|
|
|
etcQueryProduct,
|
|
|
|
productReCode,
|
|
|
|
} from "@/utils/network/api.js";
|
|
|
|
import {
|
|
|
|
request
|
|
|
|
} from "@/utils/network/request.js";
|
|
|
|
|
|
|
|
import {
|
|
|
|
stringToJson
|
|
|
|
} from "@/utils/network/encryption";
|
|
|
|
import {
|
|
|
|
fileURL
|
|
|
|
} from "@/datas/fileURL.js";
|
|
|
|
import navBgCar from "./components/nav-bg-car4";
|
|
|
|
import navBar from "../components/nav-bar/nav-bar2.vue";
|
|
|
|
|
|
|
|
import {
|
|
|
|
getItem,
|
|
|
|
StorageKeys
|
|
|
|
} from "@/utils/storage.ts";
|
|
|
|
import {
|
|
|
|
msg
|
|
|
|
} from "@/utils/utils";
|
|
|
|
const imgURL = `${fileURL}image/`;
|
|
|
|
import {
|
|
|
|
setItem
|
|
|
|
} from "@/utils/storage";
|
|
|
|
const savaHandle = (val) => {
|
|
|
|
productReCodeAction(val.id).then(value => {
|
|
|
|
if (val.isValueCard === 2) {
|
|
|
|
setItem('clientFee', val.clientFee)
|
|
|
|
setItem("productId", val.id)
|
|
|
|
uni.navigateTo({
|
|
|
|
url: `/applyCard/release-products?orderId=${state.orderId}&&clientFee=${val.clientFee}&&id=${val.id}`,
|
|
|
|
});
|
|
|
|
} else {
|
|
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
url: `/applyCard/product-detail?orderId=${state.orderId}&&clientFee=${val.clientFee}&&id=${val.id}`,
|
|
|
|
});
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
onLoad((option: any) => {
|
|
|
|
state.orderId = option.orderId;
|
|
|
|
|
|
|
|
var data = {
|
|
|
|
orderId: state.orderId,
|
|
|
|
};
|
|
|
|
const options = {
|
|
|
|
type: 2,
|
|
|
|
data: data,
|
|
|
|
method: "POST",
|
|
|
|
showLoading: true,
|
|
|
|
};
|
|
|
|
request(etcQueryProduct, options).then((res) => {
|
|
|
|
const data = stringToJson(res.bizContent);
|
|
|
|
state.dataArray = data;
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
const productReCodeAction = (id) => {
|
|
|
|
var data = {
|
|
|
|
productId: id,
|
|
|
|
orderId: state.orderId
|
|
|
|
};
|
|
|
|
const options = {
|
|
|
|
type: 2,
|
|
|
|
data: data,
|
|
|
|
method: "POST",
|
|
|
|
showLoading: true,
|
|
|
|
};
|
|
|
|
|
|
|
|
return new Promise(async (resolve, reject) => {
|
|
|
|
const res = await request(productReCode, options);
|
|
|
|
const data = stringToJson(res.bizContent);
|
|
|
|
resolve(data);
|
|
|
|
}).catch((error) => {
|
|
|
|
reject(error);
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
const state = reactive({
|
|
|
|
orderId: "",
|
|
|
|
data: {
|
|
|
|
show: false,
|
|
|
|
src: imgURL + "applyCard/edit.png",
|
|
|
|
},
|
|
|
|
dataArray: [],
|
|
|
|
list: [{
|
|
|
|
bg: imgURL + "applyCard/product-bg.png",
|
|
|
|
icon: imgURL + "applyCard/wechat.png",
|
|
|
|
title: "【货车】微信车主服务",
|
|
|
|
tip: "绑定微信支付,无需绑定银行卡",
|
|
|
|
}, ],
|
|
|
|
});
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
|
.bottomTip {
|
|
|
|
margin-top: 100rpx;
|
|
|
|
text-align: center;
|
|
|
|
font-size: 28rpx;
|
|
|
|
font-family: Microsoft YaHei;
|
|
|
|
font-weight: 400;
|
|
|
|
color: #b3b3b3;
|
|
|
|
}
|
|
|
|
|
|
|
|
.content-value {
|
|
|
|
position: relative;
|
|
|
|
margin-top: -50rpx;
|
|
|
|
padding: 0rpx 30rpx;
|
|
|
|
position: relative;
|
|
|
|
|
|
|
|
.img-pos {
|
|
|
|
position: absolute;
|
|
|
|
left: 500rpx;
|
|
|
|
top: -38rpx;
|
|
|
|
right: 50rpx;
|
|
|
|
|
|
|
|
.img-flex {
|
|
|
|
display: flex;
|
|
|
|
justify-content: space-between;
|
|
|
|
align-items: center;
|
|
|
|
|
|
|
|
.car-img {
|
|
|
|
width: 86rpx;
|
|
|
|
height: 42rpx;
|
|
|
|
}
|
|
|
|
|
|
|
|
.flag-img {
|
|
|
|
width: 30rpx;
|
|
|
|
height: 35rpx;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.flex {
|
|
|
|
display: flex;
|
|
|
|
align-items: center;
|
|
|
|
}
|
|
|
|
|
|
|
|
.action {
|
|
|
|
margin-top: 30rpx;
|
|
|
|
padding-left: 20rpx;
|
|
|
|
padding-right: 20rpx;
|
|
|
|
padding-bottom: 30rpx;
|
|
|
|
|
|
|
|
.button {
|
|
|
|
height: 80rpx;
|
|
|
|
background: linear-gradient(-90deg, #43a1e0 0%, #13e7c1 100%);
|
|
|
|
border-radius: 40rpx;
|
|
|
|
font-size: 32rpx;
|
|
|
|
font-weight: 400;
|
|
|
|
color: #ffffff;
|
|
|
|
line-height: 80rpx;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.action-btn {
|
|
|
|
margin-left: 45rpx;
|
|
|
|
width: 121rpx;
|
|
|
|
height: 61rpx;
|
|
|
|
border: 1px solid rgba(255, 255, 255, 1);
|
|
|
|
border-radius: 30rpx;
|
|
|
|
background: rgba(255, 255, 255, 0.2);
|
|
|
|
|
|
|
|
text-align: center;
|
|
|
|
font-size: 30rpx;
|
|
|
|
font-family: Microsoft YaHei;
|
|
|
|
font-weight: 400;
|
|
|
|
color: #ffffff;
|
|
|
|
line-height: 61rpx;
|
|
|
|
}
|
|
|
|
|
|
|
|
.tag1 {
|
|
|
|
padding: 5rpx;
|
|
|
|
background: rgba(0, 179, 139, 0.5);
|
|
|
|
border-radius: 6rpx;
|
|
|
|
font-size: 22rpx;
|
|
|
|
font-family: Microsoft YaHei;
|
|
|
|
font-weight: 400;
|
|
|
|
color: #ffffff;
|
|
|
|
}
|
|
|
|
|
|
|
|
.tag3 {
|
|
|
|
padding: 5rpx;
|
|
|
|
background: rgba(139, 112, 228, 0.5);
|
|
|
|
border-radius: 6rpx;
|
|
|
|
font-size: 22rpx;
|
|
|
|
font-family: Microsoft YaHei;
|
|
|
|
font-weight: 400;
|
|
|
|
color: #ffffff;
|
|
|
|
}
|
|
|
|
|
|
|
|
.tag2 {
|
|
|
|
padding: 5rpx;
|
|
|
|
background: rgba(249, 97, 60, 0.5);
|
|
|
|
border-radius: 6rpx;
|
|
|
|
font-size: 22rpx;
|
|
|
|
font-family: Microsoft YaHei;
|
|
|
|
font-weight: 400;
|
|
|
|
color: #ffffff;
|
|
|
|
}
|
|
|
|
|
|
|
|
.ul-item {
|
|
|
|
padding: 5px 20rpx;
|
|
|
|
display: flex;
|
|
|
|
align-items: center;
|
|
|
|
|
|
|
|
.item-value {
|
|
|
|
padding: 20rpx;
|
|
|
|
position: absolute;
|
|
|
|
display: flex;
|
|
|
|
align-items: center;
|
|
|
|
justify-content: space-around;
|
|
|
|
|
|
|
|
.content {
|
|
|
|
.title {
|
|
|
|
font-size: 32rpx;
|
|
|
|
font-family: Microsoft YaHei;
|
|
|
|
font-weight: 400;
|
|
|
|
color: #ffffff;
|
|
|
|
}
|
|
|
|
|
|
|
|
.tip {
|
|
|
|
font-size: 24rpx;
|
|
|
|
font-family: Microsoft YaHei;
|
|
|
|
font-weight: 400;
|
|
|
|
color: #ffffff;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.icon-tip {
|
|
|
|
width: 100rpx;
|
|
|
|
height: 100rpx;
|
|
|
|
}
|
|
|
|
|
|
|
|
.content {
|
|
|
|
margin-left: 40rpx;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</style> |