@@ -103,6 +103,20 @@ | |||
"subPackages": [{ | |||
"root": "subpackage/after-sale", //售后相关 | |||
"pages": [{ | |||
"path": "blacklist-query/select-car", | |||
"style": { | |||
"navigationBarTitleText": "选择车辆", | |||
"enablePullDownRefresh": false | |||
} | |||
}, | |||
{ | |||
"path": "blacklist-query/list", | |||
"style": { | |||
"navigationBarTitleText": "黑名单查询", | |||
"enablePullDownRefresh": false | |||
} | |||
}, | |||
{ | |||
"path": "cancell-refund/cancell-refund", | |||
"style": { | |||
"navigationBarTitleText": "注销退费查询", |
@@ -146,7 +146,6 @@ | |||
text-align: center; | |||
margin: 100rpx auto; | |||
font-size: 32rpx; | |||
/* background-color: white; */ | |||
} | |||
.list-item { |
@@ -0,0 +1,98 @@ | |||
<template> | |||
<view class="content"> | |||
<view class="list-item" v-for="(item,index) in state.tableData"> | |||
<view><text>卡号:</text><text>{{item.cardId}}</text></view> | |||
<view><text>反白时间:</text><text>{{item.createTime}}</text></view> | |||
<view><text>反白原因:</text><text>{{item.reasonOut}}</text></view> | |||
<view><text>下黑时间:</text><text>{{item.creationTime}}</text></view> | |||
<view><text>下黑原因:</text><text>{{item.reasonIn}}</text></view> | |||
<view><text>黑名单类型:</text><text>{{item.typeC}}</text></view> | |||
<view><text>状态:</text><text>{{item.status == '1'?'在黑':'已反白'}}</text></view> | |||
</view> | |||
<view class="no" v-if="state.tableData.length==0">暂无黑名单</view> | |||
</view> | |||
</template> | |||
<script setup lang="ts"> | |||
import { reactive } from "vue"; | |||
import { onLoad } from "@dcloudio/uni-app"; | |||
import { blackApi } from "@/utils/network/api.js"; | |||
import { request } from "@/utils/network/request.js"; | |||
import { stringToJson } from "@/utils/network/encryption.js"; | |||
import { getItem } from "@/utils/storage"; | |||
const state = reactive({ | |||
vehiclePlate: "", | |||
vehiclePlateColor: "", | |||
tableData: [], | |||
blackStatus: [] | |||
}); | |||
onLoad((option : any) => { | |||
console.log("option", option) | |||
let black = getItem('key')['BLACKLIST_TYPE']; | |||
for (var k = 0; k < black.length; k++) { | |||
let obj = {}; | |||
obj['value'] = black[k]['code'] | |||
obj['text'] = black[k]['name'] | |||
state.blackStatus.push(obj) | |||
} | |||
console.log("black", state.blackStatus) | |||
state.vehiclePlate = option.vehiclePlate; | |||
state.vehiclePlateColor = option.vehiclePlateColor; | |||
list() | |||
}) | |||
const list = () => { | |||
const options = { | |||
type: 2, | |||
data: { | |||
"vehiclePlate": state.vehiclePlate, | |||
"vehiclePlateColor": state.vehiclePlateColor | |||
}, | |||
method: 'POST', | |||
showLoading: true, | |||
} | |||
request(blackApi, options).then((res) => { | |||
const data = stringToJson(res.bizContent); | |||
const getData = data.blackCards; | |||
for (var i = 0; i < getData.length; i++) { | |||
for (var m = 0; m < state.blackStatus.length; m++) { | |||
if (getData[i]['type'] == state.blackStatus[m]['value']) { | |||
getData[i]['typeC'] = state.blackStatus[m]['text'] | |||
break; | |||
} | |||
} | |||
} | |||
state.tableData = data.blackCards | |||
console.log("圈存金额查询2", data) | |||
}) | |||
} | |||
</script> | |||
<style scoped> | |||
.content { | |||
padding-bottom: 20rpx; | |||
background-color: #EEF7F7; | |||
padding-top: 20rpx; | |||
min-height: 100vh; | |||
} | |||
.list-item { | |||
width: 95%; | |||
border-radius: 10rpx; | |||
margin: 30rpx auto; | |||
font-size: 28rpx; | |||
border: 1rpx solid #ccc; | |||
padding: 12rpx; | |||
box-sizing: border-box; | |||
background-color: white; | |||
} | |||
.list-item>view { | |||
margin-bottom: 10rpx; | |||
width: 94%; | |||
} | |||
.no { | |||
text-align: center; | |||
padding-top: 100rpx; | |||
} | |||
</style> |
@@ -0,0 +1,172 @@ | |||
<template> | |||
<view class="selectCar-box"> | |||
<view v-if="state.list&&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> | |||
<empty title='暂无找到相关车辆信息' /> | |||
</view> | |||
</view> | |||
</template> | |||
<script lang="ts" setup> | |||
import empty from "@/components/empty/empty.vue"; | |||
import { | |||
reactive, | |||
ref | |||
} from "vue" | |||
import { | |||
navTo | |||
} from "@/utils/utils" | |||
import { | |||
onLoad, | |||
} from "@dcloudio/uni-app"; | |||
import { | |||
orderList | |||
} from "@/utils/network/api.js"; | |||
import { | |||
request | |||
} from "@/utils/network/request.js"; | |||
import { | |||
getItem, | |||
StorageKeys, | |||
} from "@/utils/storage"; | |||
import { | |||
stringToJson | |||
} from "@/utils/network/encryption"; | |||
const state = reactive({ | |||
list: [] //车辆list | |||
}); | |||
const flag = ref('0') //默认选择0 | |||
onLoad(() => { | |||
quanCheckActionTrue().then((item : any) => { | |||
state.list = item.data | |||
}) | |||
}); | |||
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', //0全部 | |||
orderStep: '11', //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 choose = (i, item) => { | |||
console.log("item", item) | |||
flag.value = i | |||
uni.navigateTo({ | |||
url: `/subpackage/after-sale/blacklist-query/list?vehiclePlate=${item.vehiclePlate}&vehiclePlateColor=${item.vehiclePlateColor}` | |||
}) | |||
} | |||
</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> |
@@ -289,4 +289,5 @@ export const noActivationOrder = "fa0ef243d4044a96b5fb0186081baf20" //所有待 | |||
export const accountMoneyApi = "7c0846300c6f490abd35120931fcd663" //对公账户余额 | |||
export const addProductInterestApi = "aa7ce8d0b64a4396a42c57bac6cd2433" //权益产品评价完成调用 | |||
export const cancellRefoundApi = "441ea77c279046d192bc3c6abf07c952" //注销退费查询 | |||
export const rechargeMoneyApi = "9d6c8c65490b426ca65e8add1aa977da" //查询充值成功后的金额 | |||
export const rechargeMoneyApi = "9d6c8c65490b426ca65e8add1aa977da" //查询充值成功后的金额 | |||
export const blackApi = "3aeafb995cb84112be87b8edcc303a8f" //黑名单查询 |