@@ -1200,7 +1200,7 @@ | |||
{ | |||
"path": "interestsList", | |||
"style": { | |||
"navigationBarTitleText": "加购权益产品" | |||
"navigationBarTitleText": "权益简介" //加购权益产品 | |||
} | |||
}, | |||
{ |
@@ -62,13 +62,13 @@ | |||
<view class="item item-5"> | |||
<image :src="fileURL + 'image/index/item-5.png'" mode="aspectFill" /> | |||
</view> | |||
<view class="text">挂失解挂</view> | |||
<view class="text">设备注销</view> | |||
</view> | |||
<view class="item-box" @click="cardRecharge(2)"> | |||
<view class="item item-6"> | |||
<image :src="fileURL + 'image/index/item-6.png'" mode="aspectFill" /> | |||
</view> | |||
<view class="text">解除车牌占用</view> | |||
<view class="text">通行费补缴</view> | |||
</view> | |||
<!-- <view class="item-box" | |||
@click="$util.navTo(`/subpackage/personal-center/setting/personal-information/corrections`,true)"> | |||
@@ -98,20 +98,20 @@ | |||
<!--快速办理通道 --> | |||
<view class="express-lane"> | |||
<view class="title">快速办理通道</view> | |||
<view class="title">快速办理</view> | |||
<view class="lane"> | |||
<view class="lane-item lane-1" :style="{ '--background': bgOrange }" @click="showMask(1)"> | |||
<image :src="fileURL + 'image/index/icon-car.png'" mode="aspectFill"></image> | |||
<view class="text"> | |||
<text class="head">客车通道</text> | |||
<text class="decribe">业务内容简介</text> | |||
<text class="head">客车用户</text> | |||
<!-- <text class="decribe">业务内容简介</text> --> | |||
</view> | |||
</view> | |||
<view class="lane-item lane-2" :style="{ '--background': bgBlue }" @click="showMask(2)"> | |||
<image :src="fileURL + 'image/index/icon-truck.png'" mode="aspectFill"></image> | |||
<view class="text"> | |||
<text class="head">货车通道</text> | |||
<text class="decribe">业务内容简介</text> | |||
<text class="head">货车用户</text> | |||
<!-- <text class="decribe">业务内容简介</text> --> | |||
</view> | |||
</view> | |||
</view> |
@@ -2,25 +2,40 @@ | |||
<navBar title="选择产品" :scrollTop="scrollTop"></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; border-radius: 20rpx" | |||
:src="`${$imgUrl}applyCard/product-bg.png`"></image> | |||
<view class="item-value"> | |||
<image class="icon-tip" | |||
:src="state.sysType === 'WECHAT'?`${$imgUrl}applyCard/wechat.png` : `${$imgUrl}applyCard/alibaba.png`"> | |||
</image> | |||
<view class="content"> | |||
<view class="title"> | |||
<view v-for="(item, index) in state.dataArray" :key="index"> | |||
<!-- #F4F6FA --> | |||
<view :style="`background-color:${bgc}`" style="border-radius: 16rpx;padding: 20rpx;margin-top: 20rpx;"> | |||
<view class="title" style="display: flex;flex-direction: row;justify-content: flex-start;"> | |||
<view style="font-weight: bold;margin-right: 10rpx;font-size: 18px;"> | |||
{{ item.promoteName }} | |||
</view> | |||
<view style="margin-top: 15rpx" class="tip"> | |||
<view> | |||
{{ item['releaseProductStandards']['productStandards']['cardTypeArr'] }} | |||
</view> | |||
</view> | |||
<view class="money"> | |||
¥:{{ item.fee * 0.01 }} | |||
<view v-for="(str, index) in item.releaseProductStandards.equityList" :key="index" class="ul-item" | |||
style="padding: 0rpx;margin-top: 20rpx;" @click="savaHandle(item,index)"> | |||
<image style="width: 100%; height: 170rpx; border-radius: 20rpx" | |||
:src="`${$imgUrl}applyCard/product-bg.png`"></image> | |||
<view class="item-value"> | |||
<image class="icon-tip" | |||
:src="state.sysType === 'WECHAT'?`${$imgUrl}applyCard/wechat.png` : `${$imgUrl}applyCard/alibaba.png`"> | |||
</image> | |||
<view class="content"> | |||
<view class="title"> | |||
{{ str.equityName }} | |||
</view> | |||
<view style="margin-top: 15rpx" class="tip"> | |||
{{ str.sellingPoint }} | |||
</view> | |||
</view> | |||
<view class="money"> | |||
¥:{{ str.discountPrice * 0.01 }} | |||
</view> | |||
</view> | |||
</view> | |||
</view> | |||
</view> | |||
<view class="bottomTip"> 到底啦!敬请期待其他产品! </view> | |||
</view> | |||
@@ -62,6 +77,14 @@ | |||
import { msg } from "@/utils/utils"; | |||
import { agentId } from "@/utils/network/difference"; | |||
const imgURL = `${fileURL}image/`; | |||
let bgc = "" | |||
// #ifdef MP-ALIPAY | |||
bgc = "#FFFFFF" | |||
// #endif | |||
// #ifdef MP-WEIXIN | |||
bgc = "#F4F6FA" //52010106004 | |||
// #endif | |||
const scrollTop = ref(0); //滚动距离 | |||
// 单选默认数据 | |||
@@ -80,7 +103,7 @@ | |||
url: `/subpackage/orders/interestsList?promoteId=${getItem("promoteId")}&userType=${state.userType}&type=${state.type}&isValueCard=${state.isValueCard}&fee=${Number(state.fee)}`, | |||
}); | |||
} | |||
const savaHandle = (val) => { | |||
const savaHandle = (val,idx) => { | |||
console.log("vAL", val) | |||
setItem("clientFee", val.clientFee); | |||
setItem("promoteId", val.promoteId); | |||
@@ -100,7 +123,7 @@ | |||
console.log("state.isValueCard", state.isValueCard) | |||
setItem("isValueCard", state.isValueCard); | |||
uni.navigateTo({ | |||
url: `/subpackage/orders/interestsList?promoteId=${val['promoteId']}&userType=${state.userType}&type=${state.type}&isValueCard=${state.isValueCard}&fee=${Number(val.fee)}`, | |||
url: `/subpackage/orders/interestsList?equityId=${val.releaseProductStandards.equityList[idx].equityId}&promoteId=${val['promoteId']}&userType=${state.userType}&type=${state.type}&isValueCard=${state.isValueCard}&fee=${Number(val.fee)}`, | |||
}); | |||
} else { | |||
state.radiolist1 = []; | |||
@@ -223,6 +246,10 @@ | |||
</script> | |||
<style lang="scss" scoped> | |||
// page { | |||
// background-color: #FFFFFF; | |||
// } | |||
::v-deep .u-radio { | |||
display: flex !important; | |||
align-items: center !important; |
@@ -1,6 +1,10 @@ | |||
<template> | |||
<view class="content" style="padding-top: 12rpx;overflow: hidden;"> | |||
<view @click="addInterestsList(item)" class="ul-item" v-for="(item, index) in state.list" :key="index"> | |||
<view class="content" style="padding: 20rpx;overflow: hidden;"> | |||
<rich-text :nodes="richText"> | |||
</rich-text> | |||
<!-- <view @click="addInterestsList(item)" class="ul-item" v-for="(item, index) in state.list" :key="index"> | |||
<image style="width: 100%; height: 170rpx; border-radius: 20rpx" | |||
:src="`${$imgUrl}applyCard/product-bg.png`"></image> | |||
<view class="item-value"> | |||
@@ -16,14 +20,19 @@ | |||
¥:{{ item.discountPrice * 0.01 }} | |||
</view> | |||
</view> | |||
</view> | |||
</view> --> | |||
</view> | |||
<view style="align-items: center;text-align: center;padding 20rpx;position: absolute;bottom: 40rpx;width: 90%;left: 5%;" > | |||
<button type="default" class="button" @click="addInterestsList(item)" v-for="(item, index) in state.list" :key="index"> | |||
下一步 | |||
</button> | |||
</view> | |||
</template> | |||
<script setup lang="ts"> | |||
import { onLoad, onShow } from "@dcloudio/uni-app"; | |||
import { reactive } from "vue"; | |||
import { equityProductsApi } from "@/utils/network/api.js"; | |||
import { reactive, ref } from "vue"; | |||
import { equityProductsApi, equityProductsInfo } from "@/utils/network/api.js"; | |||
import { stringToJson } from "@/utils/network/encryption"; | |||
import { request } from "@/utils/network/request"; | |||
import { fileURL } from "@/datas/fileURL.js"; | |||
@@ -48,6 +57,7 @@ | |||
const state = reactive({ | |||
openid: "", | |||
equityId: "", | |||
id: "", | |||
clientFee: "", | |||
list: [], //权益数据 | |||
@@ -64,6 +74,7 @@ | |||
sysType: "" | |||
}) | |||
let richText = ref('') | |||
onLoad((option : any) => { | |||
// #ifdef MP-ALIPAY | |||
state.sysType = 'ALI'; | |||
@@ -73,6 +84,7 @@ | |||
// #endif | |||
console.log("promoteId", option) | |||
state.clientFee = option.clientFee; | |||
state.equityId = option.equityId; | |||
state.userType = option.userType; | |||
state.type = option.type; | |||
state.isValueCard = option.isValueCard; | |||
@@ -82,9 +94,10 @@ | |||
state.changeCardType = option.changeCardType; | |||
state.applyId = option.applyId; | |||
state.orderId = option.orderId; | |||
getInfo(); | |||
getList(); | |||
getOpenID(); | |||
//equityProductsInfo | |||
console.log("option", option) | |||
}) | |||
const addInterestsList = (item) => { | |||
@@ -102,6 +115,21 @@ | |||
} | |||
} | |||
const getInfo = () => { | |||
const options = { | |||
type: 2, | |||
data: { | |||
"singleEquityId": state.equityId, | |||
}, | |||
method: 'POST', | |||
showLoading: true, | |||
} | |||
request(equityProductsInfo, options).then((res) => { | |||
const data = stringToJson(res.bizContent); | |||
console.log("333333", data.productIntro) | |||
richText.value = data.productIntro | |||
}) | |||
} | |||
const getList = () => { | |||
const options = { | |||
@@ -180,6 +208,7 @@ | |||
</script> | |||
<style scoped lang="scss"> | |||
.imageDefault { | |||
height: 40rpx; | |||
width: 40rpx; | |||
@@ -207,6 +236,16 @@ | |||
font-size: 32rpx; | |||
} | |||
.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; | |||
} | |||
.item>.title { | |||
width: 100%; | |||
@@ -234,7 +273,8 @@ | |||
} | |||
.ul-item { | |||
padding: 5px 20rpx; | |||
// padding: 5px 20rpx; | |||
padding-top: 20rpx; | |||
display: flex; | |||
align-items: center; | |||
@@ -10,11 +10,13 @@ | |||
我的权益</view> | |||
<!-- <view v-if="exchangeCodes.length > 0" style="text-align: center;">暂无权益内容</view> @scrolltolower="loadMore" --> | |||
<scroll-view scroll-y="true"> | |||
<view v-for="(item, index) in exchangeCodes" :key="index" class="item" @click.stop="click(item)"> | |||
<view style="display: flex;flex-direction: row;flex: 1;"> | |||
<view style="display: flex;flex-direction: column;margin: 10px;"> | |||
<text>权益名称:{{item.equityInfoItems[0].productName}}</text> | |||
<view style="display: flex;flex-direction: column;flex: 1;margin: 10px;"> | |||
<view style="display: flex;flex-direction: column;"> | |||
<text style="margin-top: 10rpx;">车牌号:{{item.vehiclePlate}}</text> | |||
<text v-if="item.drawTime" style="margin-top: 10rpx;">领取时间:{{item.drawTime}}</text> | |||
<text style="margin-top: 10rpx;">领取时间:{{item.getStatus}}</text> | |||
<text style="margin-top: 10rpx;">有效期:{{ item.periodOfValidity }}</text> | |||
@@ -23,26 +25,46 @@ | |||
<text v-if="item.redeemCodeStr" class="code">券码:{{ item.redeemCodeStr}}</text> | |||
</view> | |||
</view> | |||
<view | |||
style="margin: 10px;border-radius: 0 8px 8px 0 ;justify-content: center;text-align: center; display: flex;flex-direction: column;background: white;flex: 1;"> | |||
<text v-if="item.equityInfoItems[0] && item.equityInfoItems[0].equityType !='ZFB'" | |||
class="text-w" | |||
:style="item.status == 'WAIT_ACTIVATED' ? 'color: #023F8F;' : item.status == 'WAIT_USE' ? 'color: orange;' : item.status == 'USED' ? 'color: green;' : 'color: gray;'">{{item.status == 'WAIT_ACTIVATED' ? '待激活' : item.status == 'WAIT_USE' ? '待领取' : | |||
item.status == 'USED' ? '已领取' : '已失效'}}</text> | |||
<button | |||
v-if="item.status != 'EXPIRED' && item.equityInfoItems[0] && item.equityInfoItems[0].equityType !='ZFB'" | |||
:style="item.status == 'WAIT_ACTIVATED' ? 'background-color: #023F8F;' : item.status == 'WAIT_USE' ? 'background-color: orange;' : item.status == 'USED' ? 'background-color: green;' : 'background-color: gray;'" | |||
class="copy-btn" data-code="{{item}}" @click.stop="copyCode(item)"> | |||
{{item.status == 'WAIT_ACTIVATED' ? '去激活' : item.status == 'WAIT_USE' ? '立即领取' : | |||
item.status == 'USED' ? '复制' : ''}}</button> | |||
<view v-for="(list, index) in item.equityInfoItems"> | |||
<view v-if="list.equityType == 'COUPONS'"> | |||
<div class="horizontal-line"></div> | |||
<view style="display: flex;flex-direction: column;"> | |||
<text style="width: 100%;">权益名称:{{list.productName}}</text> | |||
<view | |||
style="display: flex;flex-direction: row;min-height: 60rpx;justify-content: space-between;text-align: baseline;"> | |||
<text class="text-w" | |||
style="flex: 1;margin-top: 5rpx;" | |||
:style="item.status == 'WAIT_ACTIVATED' ? 'color: #023F8F;' : item.status == 'WAIT_USE' ? 'color: orange;' : item.status == 'USED' ? 'color: green;' : 'color: gray;'">卡卷状态:{{item.status == 'WAIT_ACTIVATED' ? '待激活' : item.status == 'WAIT_USE' ? '待领取' : item.status == 'USED' ? '已领取' : '已失效'}}</text> | |||
<button v-if="item.status != 'EXPIRED' && list && list.equityType !='ZFB'" | |||
:style="item.status == 'WAIT_ACTIVATED' ? 'background-color: #023F8F;' : item.status == 'WAIT_USE' ? 'background-color: orange;' : item.status == 'USED' ? 'background-color: green;' : 'background-color: gray;'" | |||
class="copy-btn" data-code="{{item}}" @click.stop="copyCode(list)"> | |||
{{item.status == 'WAIT_ACTIVATED' ? '去激活' : item.status == 'WAIT_USE' ? '立即领取' : | |||
item.status == 'USED' ? '复制' : '已失效'}}</button> | |||
</view> | |||
</view> | |||
</view> | |||
<view v-if="list.equityType == 'ZFB'"> | |||
<div class="horizontal-line"></div> | |||
<view style="display: flex;flex-direction: column;"> | |||
<text style="width: 100%;">权益名称:{{list.productName}}</text> | |||
<view | |||
style="display: flex;flex-direction: row;min-height: 60rpx;justify-content: space-between;text-align: baseline;"> | |||
<text class="text-w" style="flex: 1;margin-top: 5rpx;color: #4caf50;"> | |||
卡卷状态:正常 | |||
</text> | |||
<button style="background-color: #4caf50;" class="copy-btn" | |||
data-code="{{item}}" @click.stop="copyCode(list)"> | |||
去使用 | |||
</button> | |||
</view> | |||
</view> | |||
</view> | |||
</view> | |||
</view> | |||
</view> | |||
</scroll-view> | |||
</view> | |||
</view> | |||
<!-- <view style="width: 100%; text-align: center;margin-top: 20rpx; ">暂无更多数据内容!</view> --> | |||
</view> | |||
</template> | |||
@@ -127,26 +149,38 @@ | |||
} | |||
function click(item) { | |||
console.log("item.equityInfoItems[0].equityType", item.equityInfoItems[0].equityType) | |||
if (item.equityInfoItems[0].equityType == 'ZFB') { | |||
console.log("1") | |||
uni.navigateTo({ | |||
url: `/subpackage/service/zfbqy/zfbqy` | |||
}) | |||
} else { | |||
console.log("2") | |||
uni.navigateTo({ | |||
url: '/subpackage/service/equityInfo/equityInfo?singleEquityId=' + singleEquityId.value + | |||
"&couponAgencyType=" + couponAgencyType.value + "&couponId=" + couponId.value, | |||
}) | |||
} | |||
// console.log("item.equityInfoItems[0].equityType", item.equityInfoItems[0].equityType) | |||
// if (item.equityInfoItems[0].equityType == 'ZFB') { | |||
// console.log("1") | |||
// uni.navigateTo({ | |||
// url: `/subpackage/service/zfbqy/zfbqy` | |||
// }) | |||
// } else { | |||
// console.log("2") | |||
// uni.navigateTo({ | |||
// url: '/subpackage/service/equityInfo/equityInfo?singleEquityId=' + singleEquityId.value + | |||
// "&couponAgencyType=" + couponAgencyType.value + "&couponId=" + couponId.value, | |||
// }) | |||
// } | |||
uni.navigateTo({ | |||
url: '/subpackage/service/equityInfo/equityInfo?singleEquityId=' + singleEquityId.value + | |||
"&couponAgencyType=" + couponAgencyType.value + "&couponId=" + couponId.value, | |||
}) | |||
} | |||
function copyCode(e) { | |||
let item = e; | |||
// // 复制兑换码到剪贴板 | |||
let code = e.redeemCode; | |||
console.log("e", e); | |||
console.log("===e===", e.equityType); | |||
if (item.equityType == 'ZFB') { | |||
uni.navigateTo({ | |||
url: `/subpackage/service/zfbqy/zfbqy` | |||
}) | |||
return | |||
} | |||
if (item.status == 'WAIT_ACTIVATED') { //待激活 | |||
uni.showModal({ | |||
title: '温馨提示', | |||
@@ -266,10 +300,13 @@ | |||
color: #fff; | |||
border: none; | |||
min-width: 120rpx; | |||
margin-top: 20px; | |||
border-radius: 10rpx; | |||
font-size: 24rpx; | |||
height: 60rpx; | |||
box-shadow: 0 2rpx 4rpx rgba(0, 0, 0, 0.2); | |||
text-align: center; | |||
display: inline-block; | |||
line-height: 60rpx; | |||
} | |||
.copy-btn:hover { | |||
@@ -280,4 +317,15 @@ | |||
.text-w { | |||
font-weight: bold; | |||
} | |||
.horizontal-line { | |||
width: 100%; | |||
/* 设置横线的宽度 */ | |||
height: 1px; | |||
/* 设置横线的高度 */ | |||
background-color: #9ACDFA; | |||
/* 设置横线的颜色 */ | |||
margin: 10px 0; | |||
/* 可以根据需要调整横线与周围内容的间距 */ | |||
} | |||
</style> |
@@ -266,6 +266,7 @@ export const mobileIsRepeatApi = "19d58812148d41bbb7d435ab93928787" //个人账 | |||
export const transferRecordApi = "323bc6e1f3304c83921155fc220e9e37" //过户记录查询 | |||
export const agreementConfirmApi = "96fa039a85f54655af06d980c8ddc057" //协议确认接口 | |||
export const equityProductsApi = "56db1aa8b9854f2f8c2428f3393e5045" //查询加购权益产品 | |||
export const equityProductsInfo = "35c5db593cea426d87fb48525873ecc9" //查询加购权益产品详情 | |||
export const gotoAgainUseOrderApi = "f92bfe60dbdf492eb37e2aad96ae1fd2" //再次使用订单接口 | |||
export const finishUseOrderApi = "6eb10e968aac40f8bf4549cd05c8f5eb" //结束订单 | |||
export const ETCProductStatusListQueryApi = "448e81a599fe49b5b7f90f4af3ecae06" //ETC产品状态名单查询 |
@@ -3,7 +3,7 @@ | |||
export const source = "ALI" | |||
// #endif | |||
// #ifdef MP-WEIXIN | |||
export const source = "WECHAT" | |||
export const source = "ALI" //WECHAT | |||
// #endif | |||
// 微信小程序渠道编号:52010106004 支付宝小程序52010106998 | |||
@@ -12,7 +12,7 @@ export const source = "WECHAT" | |||
export const agentId = "52010188937" | |||
// #endif | |||
// #ifdef MP-WEIXIN | |||
export const agentId = "52010106004" | |||
export const agentId = "52010106004" // | |||
// #endif | |||
// 网点编号 | |||
@@ -20,5 +20,5 @@ export const agentId = "52010106004" | |||
export const channelId = "5201010600401140003" | |||
// #endif | |||
// #ifdef MP-WEIXIN | |||
export const channelId = "5201010200601130001" | |||
export const channelId = "5201010200601130001" // | |||
// #endif |