@@ -455,20 +455,6 @@ | |||
"enablePullDownRefresh": false | |||
} | |||
}, | |||
{ | |||
"path": "card-supplement/reissueForm", | |||
"style": { | |||
"navigationBarTitleText": "补办ETC卡-填写", | |||
"enablePullDownRefresh": false | |||
} | |||
}, | |||
{ | |||
"path": "card-supplement/reissuePay", | |||
"style": { | |||
"navigationBarTitleText": "补办ETC卡-支付", | |||
"enablePullDownRefresh": false | |||
} | |||
}, | |||
{ | |||
"path": "card-deactivation-activation/deactivation-activation-confirm", | |||
"style": { |
@@ -9,30 +9,23 @@ | |||
</view> | |||
<u-form :model="form" ref="form1" label-width=180> | |||
<u-form-item label="车牌颜色"> | |||
<!-- <u-input v-model="state.form.carColor" type="select" | |||
:select-open="state.showColor" @click="state.showColor = true" | |||
placeholder='车牌颜色' /> --> | |||
<picker mode="selector" @change="regionConfirmColor" :value="state.index" :range="state.colorList"> | |||
<view class="uni-input">{{state.index>=0?state.form.carColor:"请选择"}}</view> | |||
<picker mode="selector" @change="regionConfirmColor" :value="state.indexColor" :range="state.colorList"> | |||
<view class="uni-input">{{state.indexColor>=0?state.form.carColor:"请选择"}}</view> | |||
</picker> | |||
</u-form-item> | |||
</u-form> | |||
</view> | |||
<u-form :model="form" ref="form1" label-width=180 v-else> | |||
<u-form-item label="请选择车辆"> | |||
<!-- <u-input v-model="state.form.choiceCarVal" type="select" | |||
:select-open="state.show" @click="state.show = true" placeholder='请选择车辆' /> --> | |||
<picker mode="selector" @change="regionConfirm" :value="state.index" :range="state.carData"> | |||
<view class="uni-input">{{state.index>=0?state.form.choiceCarVal:"请选择"}}</view> | |||
<view class="uni-input" >{{state.index>=0?state.form.choiceCarVal:"请选择"}}</view> | |||
</picker> | |||
</u-form-item> | |||
<u-form-item label="车牌颜色"><u-input v-model="state.form.carColor" disabled | |||
placeholder='车牌颜色' /></u-form-item> | |||
</u-form> | |||
</view> | |||
<u-picker mode="selector" :range="state.carData" v-model="state.show" @confirm="regionConfirm"></u-picker> | |||
<u-picker mode="selector" :range="state.colorList" v-model="state.showColor" | |||
@confirm="regionConfirmColor"></u-picker> | |||
<button type="success" class='search' @click='goOpen'>开户</button> | |||
</view> | |||
</template> | |||
@@ -48,6 +41,7 @@ | |||
import { stringToJson } from "@/utils/network/encryption"; | |||
import { vehiclePlateColor } from "@/datas/vehiclePlateColor"; | |||
const state = reactive({ | |||
indexColor:-1, | |||
index: -1, | |||
carData: [],//车辆数据 | |||
colorList: [], //没有注册时车辆颜色 | |||
@@ -57,11 +51,8 @@ | |||
tel: '', | |||
code: '' | |||
}, | |||
show: false, | |||
vehiclePlate: '', //车牌号 | |||
showPhone: false, //是否展示车牌号 | |||
inputCarNumber: false, //是否需要输入车牌号 | |||
showColor: false, //选择车牌颜色 | |||
isChangeBtn: true, //切换按钮是否展示 | |||
}); | |||
let waitTime = ref(0); | |||
@@ -79,16 +70,18 @@ | |||
state.index=e.detail.value | |||
state.form.choiceCarVal = state.carData[e.detail.value].split(' ')[0]; | |||
state.form.carColor = state.carData[e.detail.value].split(' ')[1] | |||
// state.showPhone = true; | |||
}; | |||
// 选择颜色的回调 | |||
const regionConfirmColor = (e : any) => { | |||
console.log(e,state.colorList[e.detail.value]) | |||
state.indexColor=e.detail.value | |||
state.form.carColor = state.colorList[e.detail.value] | |||
} | |||
const change = () => { | |||
console.log("11") | |||
state.inputCarNumber = !state.inputCarNumber | |||
state.index=-1 | |||
state.indexColor=-1 | |||
state.form.choiceCarVal = ''; | |||
state.form.carColor = ''; | |||
} |
@@ -87,7 +87,6 @@ | |||
</view> | |||
<button class='open' type="success" @click='open()'>开户</button> | |||
</view> | |||
<u-picker mode="selector" :range="state.typeList" v-model="state.showType" @confirm="regionConfirmType"></u-picker> | |||
<view class="choice-takePhoto-wrap" v-if="state.isTakePhotoModeShow" @click="cancle"> | |||
<view class="choice-takePhoto"> | |||
<view @click.stop="takePhoto(state.choiceIndex)" style="border-radius: 20rpx 20rpx 0 0;">拍照</view> | |||
@@ -133,10 +132,8 @@ | |||
bankAddress: "", //开户行 | |||
bankCardId: "", //充值银行卡号 | |||
}, | |||
showType: false, //公司证件类型下拉 | |||
isPwdType: true, | |||
isAffirmPwdType: true, | |||
// typeList:['营业执照','统一社会信用代码证','组织结构代码证'], | |||
isAffirmPwdType: true | |||
}) | |||
const cardDbImageOcr = (val : any) => { | |||
var imageType = val; |
@@ -1,327 +0,0 @@ | |||
<template> | |||
<!-- <navBar title="补办ETC卡"></navBar> --> | |||
<view class="oderPage"> | |||
<u-form :model="form" ref="myForm" :error-type="errorType"> | |||
<view class="from"> | |||
<u-form-item prop="orderNumber"> | |||
<view class="from_item"> | |||
<text>新办单号:</text> | |||
<u-input v-model="form.orderNumber" class="input" /> | |||
</view> | |||
</u-form-item> | |||
<u-form-item prop="carId"> | |||
<view class="from_item"> | |||
<text>订单车牌号:</text> | |||
<u-input v-model="form.carId" class="input" /> | |||
</view> | |||
</u-form-item> | |||
<u-form-item prop="oldCardId"> | |||
<view class="from_item"> | |||
<text>原卡号:</text> | |||
<u-input v-model="form.oldCardId" class="input" /> | |||
</view> | |||
</u-form-item> | |||
<u-form-item prop="status"> | |||
<view class="from_item"> | |||
<text>原卡状态:</text> | |||
<u-input v-model="form.status" class="input" /> | |||
</view> | |||
</u-form-item> | |||
<u-form-item prop="receiving"> | |||
<view class="from_item"> | |||
<text><text style="color: red;">*</text>收货方式:</text> | |||
<u-radio-group v-model="form.receiving"> | |||
<u-radio :customStyle="{marginBottom: '8px'}" activeColor="#2CE242" | |||
v-for="(item, index) in radiolist1" :key="index" :label="item.disabled" | |||
:name="item.name" @change="radioChange"> | |||
{{item.name}} | |||
</u-radio> | |||
</u-radio-group> | |||
</view> | |||
</u-form-item> | |||
<u-form-item prop="region" v-if="form.receiving=='营业点自提'"> | |||
<view class="from_item"> | |||
<text><text style="color: red;">*</text>自提网点:</text> | |||
<view style="display: flex;" @click="showPicker"> | |||
<u-input v-model="form.region" class="input" disabled placeholder="请选择" /> | |||
<u-icon name="arrow-right" style="margin-left: 10px;display: flex;"></u-icon> | |||
</view> | |||
</view> | |||
</u-form-item> | |||
<u-form-item prop="name" v-if="form.receiving=='邮寄'"> | |||
<view class="from_item"> | |||
<text><text style="color: red;">*</text>姓名:</text> | |||
<u-input v-model="form.name" class="input" /> | |||
</view> | |||
</u-form-item> | |||
<u-form-item prop="phone" v-if="form.receiving=='邮寄'"> | |||
<view class="from_item"> | |||
<text><text style="color: red;">*</text>电话:</text> | |||
<u-input v-model="form.phone" class="input" /> | |||
</view> | |||
</u-form-item> | |||
<u-form-item prop="region" v-if="form.receiving=='邮寄'"> | |||
<view class="from_item"> | |||
<text><text style="color: red;">*</text>地区:</text> | |||
<view style="display: flex;" @click="showPicker"> | |||
<u-input v-model="form.region" class="input" disabled placeholder="请选择" /> | |||
<u-icon name="arrow-right" style="margin-left: 10px;display: flex;"></u-icon> | |||
</view> | |||
</view> | |||
</u-form-item> | |||
<u-form-item prop="address" v-if="form.receiving=='邮寄'"> | |||
<view class="from_item"> | |||
<text><text style="color: red;">*</text>详细地址:</text> | |||
<u-input v-model="form.address" class="input" placeholder="请输入详细到门牌号" /> | |||
</view> | |||
</u-form-item> | |||
<u-form-item prop="zipCode" v-if="form.receiving=='邮寄'"> | |||
<view class="from_item"> | |||
<text>邮政编码:</text> | |||
<u-input v-model="form.zipCode" class="input" placeholder="邮政编码" type="number" maxlength="6" /> | |||
</view> | |||
</u-form-item> | |||
<u-form-item prop="remark"> | |||
<view class="from_item1"> | |||
<text><text style="color: red;">*</text>补卡原因:</text> | |||
<u-input v-model="form.remark" type="textarea" class="textarea" placeholder="请输入补卡原因,限制50字以内。" | |||
maxlength="50" /> | |||
<!-- <textarea name="" id="" placeholder="请输入补卡原因,限制50字以内。"></textarea> --> | |||
</view> | |||
</u-form-item> | |||
</view> | |||
</u-form> | |||
<button class="submit" @click="submit">确认退费</button> | |||
<!-- 地区弹窗 --> | |||
<view> | |||
<u-picker v-model="show" mode="region" @confirm="confirm"></u-picker> | |||
</view> | |||
<!-- 自提网点弹窗 --> | |||
<view> | |||
<u-picker v-model="show" mode="region" @confirm="confirm"></u-picker> | |||
</view> | |||
</view> | |||
</template> | |||
<script setup lang="ts"> | |||
import { | |||
checkStr, | |||
navTo | |||
} from "@/utils/utils.ts" | |||
import { | |||
ref, | |||
reactive | |||
} from "vue"; | |||
import { | |||
onReady | |||
} from "@dcloudio/uni-app"; | |||
// 表单数据 | |||
const form = reactive({ | |||
orderNumber: '2141543454545', | |||
carId: '贵A12345', | |||
oldCardId: '', | |||
status: "", | |||
receiving: "营业点自提", | |||
name: '许珅', | |||
phone: '13821934313', | |||
region: '', | |||
address: '', | |||
zipCode: '', | |||
remark: '' | |||
}) | |||
// 验证规则 | |||
const rules = { | |||
receiving: [{ | |||
required: true, | |||
message: '请选择收获方式', | |||
trigger: ['change', 'blur'], | |||
}], | |||
name: [{ | |||
required: true, | |||
message: '请输入姓名', | |||
trigger: ['change', 'blur'], | |||
}], | |||
phone: [{ | |||
required: true, | |||
message: '请输入手机号', | |||
trigger: ['change', 'blur'], | |||
}, | |||
{ | |||
// 自定义验证函数,见上说明 | |||
validator: (rule, value, callback) => { | |||
// 上面有说,返回true表示校验通过,返回false表示不通过 | |||
console.log(checkStr(value, 'mobile'), '0011'); | |||
return checkStr(value, 'mobile') | |||
}, | |||
message: '手机号码不正确', | |||
trigger: ['change', 'blur'], | |||
} | |||
], | |||
// status: [{ | |||
// required: true, | |||
// message: '请选择状态', | |||
// | |||
// trigger: ['change', 'blur'], | |||
// }], | |||
region: [{ | |||
required: true, | |||
message: '请输入区域', | |||
trigger: ['change', 'blur'], | |||
}], | |||
address: [{ | |||
required: true, | |||
message: '请输入详细地址', | |||
trigger: ['change', 'blur'], | |||
}], | |||
// zipCode: [{ | |||
// required: true, | |||
// message: '请输入邮编', | |||
// trigger: ['change', 'blur'], | |||
// }], | |||
remark: [{ | |||
required: true, | |||
message: '请输入补卡原因', | |||
trigger: ['change', 'blur'], | |||
}], | |||
} | |||
// 验证提示类型(toast要版本为1.3.5才支持) | |||
const errorType = ['message', 'border-bottom', 'toast'] | |||
// 设置验证规则 | |||
const myForm = ref(null) | |||
onReady(() => { | |||
myForm.value.setRules(rules) | |||
}) | |||
// 单选数据列表 | |||
const radiolist1 = reactive([{ | |||
name: '营业点自提', | |||
disabled: false | |||
}, | |||
{ | |||
name: '邮寄', | |||
disabled: false | |||
}, | |||
]) | |||
let show = ref(false) | |||
// 打开地区先择器 | |||
const showPicker = function () { | |||
show.value = true | |||
} | |||
// 确定地区 | |||
const confirm = (e) => { | |||
console.log(e); | |||
form.region = e.province.name + e.city.name + e.area.name | |||
} | |||
// 单选 | |||
const radioChange = (n) => { | |||
console.log('radioChange', n); | |||
} | |||
// 提交 | |||
const submit = () => { | |||
myForm.value.validate((valid) => { | |||
console.log(valid); | |||
if (valid) { | |||
console.log('验证通过', form); | |||
navTo('/subpackage/after-sale/card-supplement/reissuePay') | |||
} else { | |||
console.log('验证未通过'); | |||
} | |||
}) | |||
} | |||
</script> | |||
<style> | |||
page { | |||
width: 100%; | |||
height: 100%; | |||
display: flex; | |||
flex-direction: column; | |||
background-color: #F3F3F3; | |||
} | |||
</style> | |||
<style lang="scss" scoped> | |||
.oderPage { | |||
flex: 1; | |||
width: 100%; | |||
.from { | |||
background-color: #fff; | |||
margin-top: 20rpx; | |||
::v-deep .u-form-item { | |||
padding: 0; | |||
line-height: normal; | |||
.u-form-item__message { | |||
margin-bottom: 12rpx | |||
} | |||
} | |||
.from_item { | |||
display: flex; | |||
flex-wrap: nowrap; | |||
justify-content: space-between; | |||
padding: 0 30rpx; | |||
// border-bottom: #DCDCDC 1px solid; | |||
align-items: center; | |||
height: 80rpx; | |||
::v-deep .input { | |||
text-align: right; | |||
flex: 1; | |||
background: transparent; | |||
input { | |||
text-align: right; | |||
} | |||
} | |||
} | |||
.from_item1 { | |||
display: flex; | |||
flex-wrap: nowrap; | |||
flex-direction: column; | |||
justify-content: space-between; | |||
padding: 30rpx; | |||
border-bottom: #DCDCDC 1px solid; | |||
input { | |||
text-align: right; | |||
} | |||
.textarea { | |||
background-color: #F1F1F1; | |||
width: 100%; | |||
border-radius: 20rpx; | |||
margin-top: 10rpx; | |||
text-indent: 1rem; | |||
height: 180rpx; | |||
padding: 20rpx; | |||
box-sizing: border-box; | |||
} | |||
} | |||
} | |||
} | |||
.submit { | |||
background: linear-gradient(to left, #43A1E0 0%, #13E7C1 100%); | |||
width: 670rpx; | |||
height: 80rpx; | |||
color: #fff; | |||
border-radius: 100rpx; | |||
margin: 26px auto; | |||
font-size: 32rpx; | |||
} | |||
</style> |
@@ -1,171 +0,0 @@ | |||
<template> | |||
<!-- <navBar title="补办ETC卡"></navBar> --> | |||
<view class="oderPage"> | |||
<view class="from"> | |||
<view class="content_top"> | |||
<image :src="`${$imgUrl}equipmentService/card1.png`" mode=""></image> | |||
<view class="title"> | |||
<view class="row1">更换ETC设备</view> | |||
<view class="row2">图片仅供参考,以实际产品为准</view> | |||
</view> | |||
</view> | |||
<view class="from_item"> | |||
<text>设备价格</text> | |||
<text class="row2"> <text style="font-size: 25rpx;">¥</text>130<text | |||
style="font-size:25rpx;">.00</text></text> | |||
</view> | |||
<view class="from_item"> | |||
<text>服务费</text> | |||
<text class="row2" style="color: #FF8000;"> <text style="font-size: 25rpx;">¥</text>0<text | |||
style="font-size:25rpx;">.00</text></text> | |||
</view> | |||
<view class="from_item" style="margin-bottom: 30rpx;"> | |||
<text>快递费</text> | |||
<text class="row2" style="color: #FF8000;"> <text style="font-size: 25rpx;">¥</text>0<text | |||
style="font-size:25rpx;">.00</text></text> | |||
</view> | |||
<view class="hr"> | |||
</view> | |||
<view class="from_item" style="margin:30rpx 0 0 0;"> | |||
<text>合计</text> | |||
<text class="row2"> <text style="font-size: 25rpx;">¥</text>0<text | |||
style="font-size:25rpx;">.00</text></text> | |||
</view> | |||
</view> | |||
<button class="submit">支付</button> | |||
</view> | |||
</template> | |||
<script setup lang="ts"> | |||
import navBar from "./components/nav-bar.vue" | |||
import { | |||
ref, | |||
reactive | |||
} from "vue"; | |||
// 单选数据列表 | |||
const radiolist1 = reactive([{ | |||
name: '营业点自提', | |||
disabled: false | |||
}, | |||
{ | |||
name: '邮寄', | |||
disabled: false | |||
}, | |||
], ) | |||
let show = ref(false) | |||
// 单选 | |||
const radioChange = (n) => { | |||
console.log('radioChange', n); | |||
if (n == '卡退费') { | |||
flag.value = true | |||
console.log(flag.value); | |||
} else { | |||
flag.value = false | |||
console.log(flag.value); | |||
} | |||
} | |||
</script> | |||
<style> | |||
page { | |||
width: 100%; | |||
height: 100%; | |||
display: flex; | |||
flex-direction: column; | |||
background-color: #F3F3F3; | |||
} | |||
</style> | |||
<style lang="scss" scoped> | |||
.oderPage { | |||
flex: 1; | |||
width: 100%; | |||
.from { | |||
background-color: #fff; | |||
margin-top: 20rpx; | |||
padding: 30rpx; | |||
.content_top { | |||
display: flex; | |||
margin-bottom: 50rpx; | |||
.title { | |||
margin-left: 30rpx; | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: center; | |||
.row1 { | |||
font-size: 30rpx; | |||
font-family: Microsoft YaHei; | |||
font-weight: 400; | |||
color: #333333; | |||
margin-bottom: 20rpx; | |||
} | |||
.row2 { | |||
font-size: 24rpx; | |||
font-family: Microsoft YaHei; | |||
font-weight: 400; | |||
color: #999999; | |||
} | |||
} | |||
image { | |||
width: 140rpx; | |||
height: 130rpx; | |||
} | |||
} | |||
.hr { | |||
width: 100%; | |||
height: 1rpx; | |||
background: #DCDCDC; | |||
} | |||
.from_item { | |||
display: flex; | |||
flex-wrap: nowrap; | |||
justify-content: space-between; | |||
align-items: center; | |||
font-size: 28rpx; | |||
font-family: Microsoft YaHei; | |||
font-weight: 400; | |||
color: #333333; | |||
margin-bottom: 60rpx; | |||
.row2 { | |||
font-size: 32rpx; | |||
font-family: Microsoft YaHei; | |||
font-weight: 600; | |||
color: #000000; | |||
} | |||
} | |||
} | |||
} | |||
.submit { | |||
width: 670rpx; | |||
height: 80rpx; | |||
background: linear-gradient(-90deg, #43A1E0 0%, #13E7C1 100%); | |||
box-shadow: 0rpx 4rpx 11rpx 1rpx rgba(223,223,223,0.5); | |||
border-radius: 40rpx; | |||
font-size: 32rpx; | |||
font-family: Microsoft YaHei; | |||
font-weight: 400; | |||
color: #FFFFFF; | |||
line-height: 80rpx; | |||
margin-top: 60rpx; | |||
} | |||
</style> |
@@ -3,50 +3,10 @@ | |||
<view class="head-tips"> | |||
检测到您的ETC卡中还剩余额<text>100.00</text>元,我们将于<text>14</text>个工作日争议期后退回到您的银行卡中,这里将收集您的收款信,具体金额可能会出现增多或减少得情况,敬请谅解! | |||
</view> | |||
<!-- <view class="upload-card"> | |||
<view class="card-left"> | |||
<view class="item1"> | |||
ETC卡剪段照片 | |||
</view> | |||
<view class="item2"> | |||
ETC卡剪段并上传照片 | |||
</view> | |||
<view class="item3"> | |||
拍摄示例 | |||
</view> | |||
</view> | |||
<image src="../../static/image/ETC1.png" mode=""></image> | |||
</view> --> | |||
<u-form :model="form" ref="myForm" :error-type="errorType"> | |||
<view class="from"> | |||
<!-- <u-form-item prop="receiving1"> | |||
<view class="from_item"> | |||
<text><text style="color: red;">*</text>是否寄回设备:</text> | |||
<u-radio-group v-model="form.receiving2"> | |||
<u-radio :customStyle="{marginBottom: '8px'}" activeColor="#2CE242" | |||
v-for="(item, index) in radiolist1" :key="index" :label="item.disabled" | |||
:name="item.name" @change="radioChange"> | |||
{{item.name}} | |||
</u-radio> | |||
</u-radio-group> | |||
</view> | |||
</u-form-item> | |||
<u-form-item prop="region"> | |||
<view class="from_item"> | |||
<text><text style="color: red;">*</text>物流公司:</text> | |||
<view style="display: flex;" @click="showPicker"> | |||
<u-input v-model="form.region" class="input" disabled placeholder="请选择" /> | |||
<u-icon name="arrow-right" style="margin-left: 10px;"></u-icon> | |||
</view> | |||
</view> | |||
</u-form-item> | |||
<u-form-item prop="phone"> | |||
<view class="from_item"> | |||
<text><text style="color: red;">*</text>物流单号:</text> | |||
<u-input v-model="form.phone" class="input" /> | |||
</view> | |||
</u-form-item> --> | |||
<view class="title"> | |||
请输入退费信息 | |||
@@ -75,26 +35,10 @@ | |||
<u-input v-model="form.phone" class="input" /> | |||
</view> | |||
</u-form-item> | |||
<!-- <view class="title"> | |||
请填写注销原因 | |||
</view> | |||
<u-form-item prop="region"> | |||
<view class="from_item"> | |||
<text><text style="color: red;">*</text>注销原因:</text> | |||
<view style="display: flex;" @click="showPicker"> | |||
<u-input v-model="form.region" class="input" disabled placeholder="请选择" /> | |||
<u-icon name="arrow-right" style="margin-left: 10px;"></u-icon> | |||
</view> | |||
</view> | |||
</u-form-item> --> | |||
</view> | |||
</u-form> | |||
<button class="submit" @click="toPage()">下一步</button> | |||
<!-- 选择弹窗 --> | |||
<!-- <view> | |||
<u-picker v-model="show" mode="region" @confirm="confirm"></u-picker> | |||
</view> --> | |||
</view> | |||
</template> | |||
@@ -123,7 +123,7 @@ export function request(code, options = {}, start = false) { | |||
if (res.data.statusCode !== 0) { | |||
if (res.data.statusCode == 600) { | |||
resolve(res.data) | |||
} else if (res.data.statusCode == 401 || res.data.statusCode == 8888) { | |||
} else if (res.data.statusCode == 401) { | |||
uni.showModal({ | |||
title: '提示', | |||
content: res.data.errorMsg, |