@@ -103,6 +103,13 @@ | |||
"subPackages": [{ | |||
"root": "subpackage/after-sale", //售后相关 | |||
"pages": [{ | |||
"path": "progress-query/progress-query-business-details", | |||
"style": { | |||
"navigationBarTitleText": "业务审核记录详情", | |||
"enablePullDownRefresh": false | |||
} | |||
}, | |||
{ | |||
"path": "progress-query/progress-query-business", | |||
"style": { | |||
"navigationBarTitleText": "业务审核记录", |
@@ -28,19 +28,8 @@ | |||
<image class="photo1" src="../../static/image/icon-back.png" mode="widthFix"></image> | |||
</view> | |||
</view> | |||
<view class="tips">温馨提示: <text class="red">NFC充值</text>仅支持在<text class="red">安卓手机</text>进行ETC储值卡充值!</view> | |||
<!-- <view> | |||
<view class="tabs"> | |||
<view class="tab-tit as-gravity-center-start">充值方式 | |||
<u-input @click="state.transWayTypeShow = true" inputAlign="center" v-model="state.transWayName" | |||
type="select" /> | |||
</view> | |||
</view> | |||
<view class="btn btn-primary" @click="rechargeAction">立即充值</view> | |||
</view> | |||
<u-select v-model="state.transWayTypeShow" :list="state.transWayTypeList" @confirm="selectConfirm"></u-select> --> | |||
<view class="tips" v-if="source=='WECHAT'">温馨提示: <text class="red">NFC充值</text>仅支持在<text | |||
class="red">安卓手机</text>进行ETC储值卡充值!</view> | |||
</template> | |||
<script setup lang="ts"> | |||
@@ -66,6 +55,7 @@ | |||
import { | |||
fileURL | |||
} from "@/datas/fileURL.js"; | |||
import { source } from "@/utils/network/difference"; | |||
const datas = require("../../static/etcUtil/datas.js"); | |||
const bluetoothUtil = require("../../static/etcUtil/index.js"); | |||
const cmd = require("../../static/etcUtil/cmdConfig.js"); | |||
@@ -74,14 +64,21 @@ | |||
const state = reactive({ | |||
transWayTypeShow: false, | |||
// #ifdef MP-ALIPAY | |||
transWayTypeList: [{ | |||
name: "蓝牙", | |||
value: "blu", | |||
}], | |||
// #endif | |||
// #ifdef MP-WEIXIN | |||
transWayTypeList: [{ | |||
name: "蓝牙", | |||
value: "blu", | |||
}, { | |||
name: "NFC", | |||
value: "nfc", | |||
} | |||
], | |||
}], | |||
// #endif | |||
tableIndex: 0, | |||
transWayName: "蓝牙", | |||
transWay: "blu", //“blu”为蓝牙充值方式、“nfc”为NFC充值方式 |
@@ -20,12 +20,15 @@ | |||
</view> | |||
<view class="content"> | |||
<view class="list-item" v-for="(item,index) in state.tableData" @click="goDeatls(item)"> | |||
<view><text>产品编号:</text><text>{{item.promoteId}}</text></view> | |||
<view><text>产品名称:</text><text>{{item.promoteName}}</text></view> | |||
<view><text>产品状态:</text><text>{{item.status}}</text></view> | |||
<view><text>产品生效时间:</text><text>{{item.start}}</text></view> | |||
<view><text>产品过期时间:</text><text>{{item.end}}</text></view> | |||
<view><text>产品发行渠道名称:</text><text>{{item.agencyName[0]}}</text></view> | |||
<view> | |||
<view><text>产品编号:</text><text>{{item.promoteId}}</text></view> | |||
<view><text>产品名称:</text><text>{{item.promoteName}}</text></view> | |||
<view><text>产品状态:</text><text>{{item.status}}</text></view> | |||
<view><text>产品生效时间:</text><text>{{item.start}}</text></view> | |||
<view><text>产品过期时间:</text><text>{{item.end}}</text></view> | |||
<view><text>产品发行渠道名称:</text><text>{{item.agencyName[0]}}</text></view> | |||
</view> | |||
<image class="right" src="../../../static/image/icon-back.png" mode=""></image> | |||
</view> | |||
</view> | |||
@@ -155,10 +158,13 @@ | |||
padding: 12rpx; | |||
box-sizing: border-box; | |||
background-color: white; | |||
display: flex; | |||
align-items: center; | |||
} | |||
.list-item>view { | |||
margin-bottom: 10rpx; | |||
width: 94%; | |||
} | |||
.search-content { | |||
@@ -169,6 +175,7 @@ | |||
background: white; | |||
box-sizing: border-box; | |||
width: 100%; | |||
z-index: 999999; | |||
} | |||
.content { | |||
@@ -177,4 +184,10 @@ | |||
background-color: #EEF7F7; | |||
padding-top: 20rpx; | |||
} | |||
.right { | |||
width: 40rpx; | |||
height: 40rpx; | |||
transform: rotateY(180deg); | |||
} | |||
</style> |
@@ -0,0 +1,93 @@ | |||
<template> | |||
<view class="allContent"> | |||
<view class="list-item"> | |||
<view><text>车牌号:</text><text>{{state.params['vehiclePlate']}}</text></view> | |||
<view><text>车牌颜色:</text><text>{{state.params['vehiclePlateColorC']}}</text></view> | |||
<view v-if="state.params['cardId']"><text>卡号:</text><text>{{state.params['cardId']}}</text></view> | |||
<view v-if="state.params['obuId']"><text>OBU号:</text><text>{{state.params['obuId']}}</text></view> | |||
<view><text>订单ID:</text><text>{{state.params['orderId']}}</text></view> | |||
<view><text>工单ID:</text><text>{{state.params['workOrderId']}}</text></view> | |||
<view><text>业务类型:</text><text>{{state.params['businessTypeC']}}</text></view> | |||
<view><text>用户名称:</text><text>{{state.params['customerName']}}</text></view> | |||
<view><text>是否逾期:</text><text>{{state.params['over']?'逾期':"未逾期"}}</text> | |||
</view> | |||
<view><text>状态:</text><text>{{state.params['statusC']}}</text></view> | |||
<view><text>申请时间:</text><text>{{state.params['insertTime']}}</text> | |||
</view> | |||
</view> | |||
</view> | |||
</template> | |||
<script setup lang="ts"> | |||
import { reactive } from "vue"; | |||
import { onLoad } from "@dcloudio/uni-app"; | |||
import { ETCProductStatusListQueryDetailsApi } from "@/utils/network/api.js"; | |||
import { request } from "@/utils/network/request.js"; | |||
import { stringToJson } from "@/utils/network/encryption.js"; | |||
const state = reactive({ | |||
params: {}, //上一个页面传递过来的参数 | |||
promoteName: "", //产品名称 | |||
promoteId: "",//产品编号 | |||
tableData: [], | |||
}); | |||
onLoad((options) => { | |||
state.params = JSON.parse(decodeURIComponent(options.params)) | |||
// state.promoteId = state.params.promoteId | |||
console.log("options.promoteId", state.params) | |||
// query(); | |||
}) | |||
const query = () => { | |||
const options = { | |||
type: 2, | |||
data: { | |||
"promoteId": state.promoteId, | |||
}, | |||
method: "POST", | |||
showLoading: true, | |||
}; | |||
//调用方式 | |||
request(ETCProductStatusListQueryDetailsApi, options).then((res) => { | |||
state.tableData = stringToJson(res.bizContent) | |||
console.log("res", state.tableData) | |||
}) | |||
} | |||
</script> | |||
<style scoped> | |||
.allContent { | |||
background-color: #EEF7F7; | |||
height: 100vh; | |||
overflow: hidden; | |||
} | |||
.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: 20rpx; | |||
display: flex; | |||
align-items: center; | |||
} | |||
.list-item>view>text:first-child { | |||
width: 26%; | |||
display: inline-block; | |||
} | |||
.list-item>view>text:last-child { | |||
width: 74%; | |||
display: inline-block; | |||
word-break: break-all; | |||
} | |||
</style> |
@@ -2,7 +2,7 @@ | |||
<view class="content"> | |||
<view class="top-content"> | |||
<view class="item"> | |||
<text>车牌号:</text><input placeholder="请输入车牌号" v-model="state.vehicleIdNum" /> | |||
<text>车牌号:</text><input placeholder="请输入车牌号" v-model="state.vehiclePlate" /> | |||
</view> | |||
<view class="item"> | |||
<text>车牌颜色:</text> | |||
@@ -10,11 +10,9 @@ | |||
<uni-data-select v-model="state.vehiclePlateColor" :localdata="state.vehiclePlateColorArr" | |||
@change="changeColor" :clear="false"></uni-data-select> | |||
</view> | |||
</view> | |||
<view class="item"> | |||
<text>审核状态:</text> | |||
<text style="margin-left: 20rpx;">审核状态:</text> | |||
<view> | |||
<uni-data-select v-model="state.status" :localdata="state.statusArr" @change="changeBusiness" | |||
<uni-data-select v-model="state.status" :localdata="state.statusArr" @change="changeStatus" | |||
:clear="false"></uni-data-select> | |||
</view> | |||
</view> | |||
@@ -35,12 +33,15 @@ | |||
<view class="uni-container"> | |||
<view class="list-item" v-for="(item,index) in state.listData"> | |||
<view><text>车牌号:</text><text>{{item.vehiclePlate}}</text></view> | |||
<view><text>车牌颜色:</text><text>{{item.vehiclePlateColorC}}</text></view> | |||
<view><text>状态:</text><text>{{item.statusC}}</text></view> | |||
<view><text>业务类型:</text><text>{{item.businessType}}</text></view> | |||
<view><text>时间:</text><text>{{item.insertTime}}</text></view> | |||
<view class="list-item" v-for="(item,index) in state.listData" @click="go(item)"> | |||
<view> | |||
<view><text>车牌号:</text><text>{{item.vehiclePlate}}</text></view> | |||
<view><text>车牌颜色:</text><text>{{item.vehiclePlateColorC}}</text></view> | |||
<view><text>状态:</text><text>{{item.statusC}}</text></view> | |||
<view><text>业务类型:</text><text>{{item.businessTypeC}}</text></view> | |||
<view><text>时间:</text><text>{{item.insertTime}}</text></view> | |||
</view> | |||
<image class="right" src="../../../static/image/icon-back.png" mode=""></image> | |||
</view> | |||
</view> | |||
<view class="bottom-line" v-if="state.flags">我是有底线的~~~</view> | |||
@@ -69,67 +70,31 @@ | |||
pageNo: 1, // 当前页 | |||
total: 0, // 数据总量 | |||
flags: false, | |||
vehicleIdNum: "",//车牌号 | |||
vehiclePlateColor: 0, | |||
status: 0, | |||
statusArr: [ | |||
{ | |||
value: 'AUDIT', | |||
text: '审核中' | |||
}, | |||
{ | |||
value: 'FAIL', | |||
text: '未通过' | |||
}, | |||
{ | |||
value: 'COMPLETE', | |||
text: '已完成' | |||
}, | |||
], | |||
vehiclePlateColorArr: [{ | |||
value: 0, | |||
text: '蓝色' | |||
}, | |||
{ | |||
value: 1, | |||
text: '黄色' | |||
}, | |||
{ | |||
value: 2, | |||
text: '黑色' | |||
}, | |||
{ | |||
value: 3, | |||
text: '白色' | |||
}, | |||
{ | |||
value: 4, | |||
text: '渐变绿色' | |||
}, | |||
{ | |||
value: 5, | |||
text: '黄绿双拼色' | |||
}, | |||
{ | |||
value: 6, | |||
text: '蓝白渐变色' | |||
}, | |||
{ | |||
value: 9, | |||
text: '未确定' | |||
}, | |||
{ | |||
value: 11, | |||
text: '绿色' | |||
}, | |||
{ | |||
value: 12, | |||
text: '红色' | |||
} | |||
] | |||
vehiclePlate: "",//车牌号 | |||
vehiclePlateColor: "", | |||
status: "", | |||
statusArr: [], //AUDIT_STATUS | |||
vehiclePlateColorArr: [] | |||
}) | |||
onLoad((option) => { | |||
// 车牌颜色 | |||
let getVehiclePlateColorArr = getItem('key')['VEHICLE_COLOR_TYPE'] | |||
for (var k = 0; k < getVehiclePlateColorArr.length; k++) { | |||
let obj2 = {}; | |||
obj2['value'] = getVehiclePlateColorArr[k]['code'] | |||
obj2['text'] = getVehiclePlateColorArr[k]['name'] | |||
state.vehiclePlateColorArr.push(obj2) | |||
} | |||
// 审核状态 | |||
let getStatusArr = getItem('key')['AUDIT_STATUS']; | |||
for (var k = 0; k < getStatusArr.length; k++) { | |||
let obj1 = {}; | |||
obj1['value'] = getStatusArr[k]['code'] | |||
obj1['text'] = getStatusArr[k]['name'] | |||
state.statusArr.push(obj1) | |||
} | |||
// 业务类型 | |||
let getBusiness = getItem('key')['BUSINESS_TYPE']; | |||
for (var k = 0; k < getBusiness.length; k++) { | |||
let obj = {}; | |||
@@ -140,8 +105,14 @@ | |||
search(1) | |||
}) | |||
const changeColor = (e) => { | |||
console.log("changeColor", e) | |||
state.vehiclePlateColor = e | |||
} | |||
const changeStatus = (e) => { | |||
console.log("changeColor", e) | |||
state.status = e | |||
} | |||
const changeBusiness = (e) => { | |||
state.businessTypeVal = e | |||
@@ -156,22 +127,28 @@ | |||
state.listData = [] | |||
} | |||
var data = { | |||
// vehiclePlate: "", | |||
// vehiclePlateColor: "", | |||
// status: "", | |||
// businessType: "", | |||
// startTime: state.range[0], | |||
// endTime: state.range[1], | |||
vehiclePlate: state.vehiclePlate, | |||
vehiclePlateColor: state.vehiclePlateColor, | |||
status: state.status, | |||
businessType: state.businessTypeVal, | |||
startTime: state.range[0] ? state.range[0] + 'T00:00:00' : state.range[0], | |||
endTime: state.range[1] ? state.range[1] + 'T00:00:00' : state.range[1], | |||
pageNo: state.pageNo, | |||
pageSize: state.pageSize, | |||
// opId: getItem(StorageKeys.OpenId), | |||
}; | |||
for (var index in data) { | |||
console.log(index, data[index], data[index] == "") | |||
if (data[index].toString() == "") { | |||
delete data[index] | |||
} | |||
} | |||
const options = { | |||
type: 2, | |||
data: data, | |||
method: "POST", | |||
showLoading: true, | |||
}; | |||
request(auditQueryApi, options).then((res) => { | |||
const data = stringToJson(res.bizContent); | |||
var getData = [...stringToJson(res.bizContent).data, ...state.listData] | |||
@@ -184,7 +161,12 @@ | |||
} else if (getData[i]['status'] == 'COMPLETE') { | |||
getData[i]['statusC'] = "已完成" | |||
} | |||
for (var m = 0; m < state.businessRange.length; m++) { | |||
if (getData[i]['businessType'] == state.businessRange[m]['value']) { | |||
getData[i]['businessTypeC'] = state.businessRange[m]['text'] | |||
break; | |||
} | |||
} | |||
} | |||
state.listData = getData | |||
state.total = data.data.length | |||
@@ -203,6 +185,12 @@ | |||
state.pageNo++ | |||
search(2) | |||
}) | |||
const go = (item) => { | |||
const params = encodeURIComponent(JSON.stringify(item)) | |||
uni.navigateTo({ | |||
url: `/subpackage/after-sale/progress-query/progress-query-business-details?params=${params}` | |||
}) | |||
} | |||
</script> | |||
<style scoped> | |||
@@ -214,6 +202,7 @@ | |||
width: 100%; | |||
padding: 0 20rpx 20rpx 20rpx; | |||
box-sizing: border-box; | |||
z-index: 999999; | |||
} | |||
.content { | |||
@@ -235,7 +224,7 @@ | |||
.uni-container { | |||
margin: 50rpx 0; | |||
margin-top: 200rpx; | |||
margin-top: 330rpx; | |||
} | |||
/deep/.uni-table-th, | |||
@@ -247,13 +236,13 @@ | |||
/deep/.uni-date__x-input, | |||
/deep/.uni-select { | |||
font-size: 13px; | |||
height: 28px; | |||
line-height: 28px; | |||
height: 24px; | |||
line-height: 24px; | |||
} | |||
/deep/.uni-stat__select { | |||
width: 360rpx; | |||
} | |||
/* /deep/.uni-stat__select { | |||
width: 180rpx; | |||
} */ | |||
/deep/.uni-select__selector-empty, | |||
/deep/.uni-select__selector-item { | |||
@@ -271,7 +260,7 @@ | |||
} | |||
/deep/.uni-date-x { | |||
height: 68rpx !important; | |||
height: 56rpx !important; | |||
} | |||
.list-item { | |||
@@ -283,10 +272,13 @@ | |||
padding: 12rpx; | |||
box-sizing: border-box; | |||
background-color: white; | |||
display: flex; | |||
align-items: center; | |||
} | |||
.list-item>view { | |||
margin-bottom: 10rpx; | |||
width: 90%; | |||
} | |||
.bottom-line { | |||
@@ -305,5 +297,13 @@ | |||
.uni-input { | |||
border: 1rpx solid #ccc; | |||
padding: 0 10rpx; | |||
height: 28rpx; | |||
line-height: 28rpx; | |||
} | |||
.right { | |||
width: 40rpx; | |||
height: 40rpx; | |||
transform: rotateY(180deg); | |||
} | |||
</style> |
@@ -36,7 +36,7 @@ | |||
<style scoped> | |||
.list { | |||
border-bottom: 1rpx solid #c1c1c1; | |||
border-bottom: 1rpx solid #e5e5e5; | |||
display: flex; | |||
padding: 16rpx 20rpx; | |||
align-items: center; |