Переглянути джерело

优化主包代码

master
yangteng 10 місяці тому
джерело
коміт
f4aa58c73b

+ 0
- 14
pages.json Переглянути файл

@@ -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": {

+ 8
- 15
subpackage/after-sale/account-recharge/go-account.vue Переглянути файл

@@ -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 = '';
}

+ 1
- 4
subpackage/after-sale/account-recharge/open-account.vue Переглянути файл

@@ -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;

+ 0
- 327
subpackage/after-sale/card-supplement/reissueForm.vue Переглянути файл

@@ -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>

+ 0
- 171
subpackage/after-sale/card-supplement/reissuePay.vue Переглянути файл

@@ -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>

+ 1
- 57
subpackage/after-sale/to-bookkeeping-card/refund.vue Переглянути файл

@@ -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>


+ 1
- 1
utils/network/request.js Переглянути файл

@@ -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,

Завантаження…
Відмінити
Зберегти