|
@@ -1,19 +1,39 @@
|
|
|
<template>
|
|
|
<view class="wrap">
|
|
|
- <ujp-navbar title="添加车牌">
|
|
|
+ <ujp-navbar title="车辆信息" :background="{
|
|
|
+ background: '#b9ead0'
|
|
|
+ }" class="wrapbackground1">
|
|
|
</ujp-navbar>
|
|
|
<!-- <p class="car-num" style="padding: 10px 40px;" >根据平台要求,车牌号码输入后暂时<span style="color:red">不可以修改</span>,后续修改需要联系客服人员,请认真填写</p>
|
|
|
-->
|
|
|
- <p class="car-num" @tap="keyShow=!keyShow">车牌号码<span
|
|
|
- style="color: #9e9e9e;float: right;padding-right: 10px;">(点击{{keyShow?'收起':'唤起'}}键盘)</span></p>
|
|
|
+ <view class="wrapbackground2">
|
|
|
+ <view class="car-head" >
|
|
|
+ <view class="car-head-item">
|
|
|
+ <img src="@/assets/img/carDet/riFill-parking-box-fill.svg"/>减免停车费
|
|
|
+ </view >
|
|
|
+ <view class="car-head-item">
|
|
|
+ <img src="@/assets/img/carDet/riFill-arrow-right-circle-fill.svg"/>快速离场
|
|
|
+ </view >
|
|
|
+ <view class="car-head-item">
|
|
|
+ <img src="@/assets/img/carDet/riFill-ticket-2-fill.svg"/>首次认证送卷
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <p class="car-num" @tap="keyShowBtn(!keyShow)">
|
|
|
+ <span style="color:rgba(238, 49, 56, 1)">*</span>
|
|
|
+ 车牌号码<span v-show="!carLicense"
|
|
|
+ style="color: #9e9e9e;float: right;padding-right: 10px;font-size: 24rpx;">(点击{{keyShow?'收起':'唤起'}}键盘)</span>
|
|
|
+ <view style="font-size: 12px;color:rgba(51, 51, 51, 1);margin: 2px 0;">正确填写<span style="color:#ec4f27 ;">绑定车辆</span>的车牌号,可减免部分停车费</view>
|
|
|
+ </p>
|
|
|
|
|
|
- <view class="key-input" @tap="keyShow=true">
|
|
|
+ <view class="key-input" @tap="keyShowBtn(true)">
|
|
|
<umessageInput :focus="true"
|
|
|
@selectIndex="getSelectIndex"
|
|
|
:value="form.carNum" :maxlength="maxlength" :disabled-keyboard="true"></umessageInput>
|
|
|
|
|
|
</view>
|
|
|
- <p class="car-num" v-show="!keyShow">车辆用途</p>
|
|
|
+ </view>
|
|
|
+ <p class="car-num" v-show="!keyShow"> <span style="color:rgba(238, 49, 56, 1)">*</span>车辆用途</p>
|
|
|
<view class="car-type" v-show="!keyShow">
|
|
|
|
|
|
<view class="card" v-for="(item,i) in carlist" :key="i"
|
|
@@ -38,6 +58,31 @@
|
|
|
</view>
|
|
|
</view>
|
|
|
|
|
|
+ <p class="car-num" v-show="!keyShow">
|
|
|
+
|
|
|
+ 车辆认证
|
|
|
+ <view style="font-size: 12px;color:rgba(51, 51, 51, 1);margin: 2px 0;">上传机动车行驶证清晰照片</view>
|
|
|
+ </p>
|
|
|
+ <view class="car-type" v-show="!keyShow">
|
|
|
+
|
|
|
+ <view class="carAuth">
|
|
|
+ <view class="mark" v-show="!carAuthImg">
|
|
|
+ <view class="text">例</view>
|
|
|
+ </view>
|
|
|
+ <view class="carAuthIcon" @click="uploadPhoto">
|
|
|
+ <u-icon name="camera-fill" custom-prefix="custom-icon" color="#fff" size="48"></u-icon>
|
|
|
+
|
|
|
+ </view>
|
|
|
+ <image class="carAuthImg" @click="uploadPhoto" v-show="carAuthImg" :src="carAuthImg"></image>
|
|
|
+
|
|
|
+ <image class="carAuthImg" @click="uploadPhoto" v-show="!carAuthImg" src="@/assets/img/carDet/authtest.png"></image>
|
|
|
+
|
|
|
+ </view>
|
|
|
+ <view class="position" v-if="!carLicense">
|
|
|
+ <view id="talkbubble">首次认证送5元代金卷</view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
<ucarkeyboard ref="uKeyboard" mode="car"
|
|
|
style=" z-index: 999;" :style="!keyShow?'display: none':''"
|
|
|
:showTips="true" :confirmBtn="false" :mask-close-able="false" :tooltip="false" v-model="keyShow" @change="valChange" @backspace="backspace">
|
|
@@ -54,7 +99,11 @@
|
|
|
">确定</span>
|
|
|
</view>
|
|
|
</ucarkeyboard>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
<view class="default" v-show="!keyShow" >
|
|
|
+
|
|
|
<view style="width: 350px;">
|
|
|
<u-checkbox-group>
|
|
|
<u-checkbox class="tips" active-color="green" v-model="value" shape="circle"
|
|
@@ -66,6 +115,7 @@
|
|
|
|
|
|
</view>
|
|
|
<u-button class="login-btn" type="success" shape="circle" @click="keepCar">保存</u-button>
|
|
|
+ <view>.</view>
|
|
|
|
|
|
</view>
|
|
|
</view>
|
|
@@ -75,7 +125,8 @@
|
|
|
import * as userApi from '@/apis/user.js'
|
|
|
import ucarkeyboard from '@/components/Ucarkeyboard.vue'
|
|
|
import umessageInput from '@/components/UmessageInput.vue'
|
|
|
-
|
|
|
+ import * as WxJsApi from '@/utils/wxJsApi'
|
|
|
+
|
|
|
var car1=require("@/assets/img/cartype/car1.png")
|
|
|
var car2=require("@/assets/img/cartype/car2.png")
|
|
|
var car3=require("@/assets/img/cartype/car3.png")
|
|
@@ -87,6 +138,8 @@
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
+ carLicense:"",
|
|
|
+ carAuthImg:"",
|
|
|
isLogin:false,
|
|
|
maxlength:8,
|
|
|
keyShow: false,
|
|
@@ -123,7 +176,17 @@
|
|
|
]
|
|
|
}
|
|
|
},
|
|
|
- onLoad(op) {
|
|
|
+ onLoad(op) {
|
|
|
+
|
|
|
+ // //获取微信配置
|
|
|
+ // WxJsApi.getWxConfig().then((res)=>{
|
|
|
+
|
|
|
+
|
|
|
+ // }).catch(error => {
|
|
|
+ // //(res)
|
|
|
+ // })
|
|
|
+
|
|
|
+
|
|
|
if(op.id){
|
|
|
this.form.id = op.id;
|
|
|
}
|
|
@@ -146,8 +209,179 @@
|
|
|
},
|
|
|
onReady() {
|
|
|
this.$refs.uKeyboard.changeCarInputMode();
|
|
|
+
|
|
|
+ this.carLicense=this.carhelp.getPersonInfo().carLicense
|
|
|
+ if(this.carLicense){
|
|
|
+ this.carAuthImg=this.carLicense
|
|
|
+ }
|
|
|
+
|
|
|
},
|
|
|
methods: {
|
|
|
+ keyShowBtn(keyShow){
|
|
|
+ if(this.carLicense){
|
|
|
+ uni.showToast({
|
|
|
+ title: "车辆认证后不可修改",
|
|
|
+ mask: true,
|
|
|
+ })
|
|
|
+ return
|
|
|
+ }
|
|
|
+ this.keyShow=keyShow;
|
|
|
+ },
|
|
|
+ uploadFile3(imageSrc){
|
|
|
+ // var formData = new FormData();
|
|
|
+ // formData.append('photoName', '1.jpg');
|
|
|
+ // formData.append('photoBase64Data', imageSrc);
|
|
|
+
|
|
|
+
|
|
|
+ var action=process.car.BASE_URL+"uploadBase64"
|
|
|
+ var token=this.carhelp.getToken()
|
|
|
+ var header={
|
|
|
+ 'Authorization':token
|
|
|
+ }
|
|
|
+ var formData={
|
|
|
+ photoName:"1.jpg",
|
|
|
+ photoBase64Data:imageSrc
|
|
|
+ }
|
|
|
+ var _this=this
|
|
|
+ uni.showLoading({
|
|
|
+ title: '上传中',
|
|
|
+ mask: true,
|
|
|
+ })
|
|
|
+ uni.uploadFile({
|
|
|
+ url: action, //仅为示例,非真实的接口地址
|
|
|
+ // filePath: imageSrc,
|
|
|
+ name: 'photoFile',
|
|
|
+ header: header,
|
|
|
+ formData: formData,
|
|
|
+ success: (res) => {
|
|
|
+
|
|
|
+ uni.hideLoading();
|
|
|
+ uni.showToast({
|
|
|
+ title: '上传成功',
|
|
|
+ icon: 'success',
|
|
|
+ duration: 1000
|
|
|
+ })
|
|
|
+
|
|
|
+ _this.carAuthImg = JSON.parse(res.data).data+"?x-oss-process=image/resize,h_1500,m_lfit"
|
|
|
+ _this.$forceUpdate()
|
|
|
+
|
|
|
+
|
|
|
+ },
|
|
|
+ fail: (err) => {
|
|
|
+ console.log('uploadImage fail', err);
|
|
|
+ uni.hideLoading();
|
|
|
+ uni.showModal({
|
|
|
+ content: err.errMsg,
|
|
|
+ showCancel: false
|
|
|
+ });
|
|
|
+ },
|
|
|
+ });
|
|
|
+
|
|
|
+ },
|
|
|
+ uploadFile2(imageSrc){
|
|
|
+ WxJsApi.uploadPic(imageSrc).then(response => {
|
|
|
+ console.log("error")
|
|
|
+ }).catch(error => {
|
|
|
+ console.log(error)
|
|
|
+ })
|
|
|
+ },
|
|
|
+ uploadFile(imageSrc){
|
|
|
+ var action=process.car.BASE_URL+"uploadPicture"
|
|
|
+ var token=this.carhelp.getToken()
|
|
|
+ var header={
|
|
|
+ 'Authorization':token
|
|
|
+ }
|
|
|
+ var formData={
|
|
|
+ subFolder:"/team51/carDet"
|
|
|
+ }
|
|
|
+ var _this=this
|
|
|
+ uni.showLoading({
|
|
|
+ title: '上传中',
|
|
|
+ mask: true,
|
|
|
+ })
|
|
|
+ uni.uploadFile({
|
|
|
+ url: action, //仅为示例,非真实的接口地址
|
|
|
+ filePath: imageSrc,
|
|
|
+ name: 'photoFile',
|
|
|
+ header: header,
|
|
|
+ formData: formData,
|
|
|
+ success: (res) => {
|
|
|
+
|
|
|
+ uni.hideLoading();
|
|
|
+ uni.showToast({
|
|
|
+ title: '上传成功',
|
|
|
+ icon: 'success',
|
|
|
+ duration: 1000
|
|
|
+ })
|
|
|
+
|
|
|
+ _this.carAuthImg = JSON.parse(res.data).data+"?x-oss-process=image/resize,h_1500,m_lfit"
|
|
|
+ _this.$forceUpdate()
|
|
|
+
|
|
|
+
|
|
|
+ },
|
|
|
+ fail: (err) => {
|
|
|
+ console.log('uploadImage fail', err);
|
|
|
+ uni.hideLoading();
|
|
|
+ uni.showModal({
|
|
|
+ content: err.errMsg,
|
|
|
+ showCancel: false
|
|
|
+ });
|
|
|
+ },
|
|
|
+ });
|
|
|
+ },
|
|
|
+ uploadPhoto() {
|
|
|
+ if(this.carLicense){
|
|
|
+ uni.showToast({
|
|
|
+ title: "车辆认证后不可修改",
|
|
|
+ mask: true,
|
|
|
+ })
|
|
|
+ return
|
|
|
+ }
|
|
|
+ uni.chooseImage({
|
|
|
+ count: 1,
|
|
|
+ sizeType:['compressed'],
|
|
|
+ success: async (res) => {
|
|
|
+ console.log(res)
|
|
|
+ var imageSrc = res.tempFilePaths[0]
|
|
|
+ this.uploadFile(imageSrc);
|
|
|
+
|
|
|
+ },
|
|
|
+ fail: (err) => {
|
|
|
+ console.log('chooseImage fail', err)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ uploadPhoto2() {
|
|
|
+ if(this.carLicense){
|
|
|
+ uni.showToast({
|
|
|
+ title: "车辆认证后不可修改",
|
|
|
+ mask: true,
|
|
|
+ })
|
|
|
+ return
|
|
|
+ }
|
|
|
+ WxJsApi.chooseImage().then(res=>{
|
|
|
+ console.log(res)
|
|
|
+ var localData = res.localData;
|
|
|
+
|
|
|
+ if (localData.indexOf('data:image') != 0) {
|
|
|
+ //判断是否有这样的头部
|
|
|
+ localData = 'data:image/jpeg;base64,' + localData
|
|
|
+ }
|
|
|
+ localData = localData.replace(/\r|\n/g, '').replace('data:image/jgp', 'data:image/jpeg')
|
|
|
+ var imageSrc = localData;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ this.uploadFile3(imageSrc);
|
|
|
+ }).catch(error => {
|
|
|
+
|
|
|
+ uni.showToast({
|
|
|
+ title: error,
|
|
|
+ icon: "none"
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
getCarList() {
|
|
|
uni.showLoading({
|
|
|
title: "加载中",
|
|
@@ -184,6 +418,7 @@
|
|
|
})
|
|
|
},
|
|
|
gotoLink(){
|
|
|
+
|
|
|
if (this.code == 'A') {
|
|
|
uni.redirectTo({
|
|
|
url: '/pages/searchPile/stationAndPile/chargingPileDetails?id=' + this.codeId
|
|
@@ -194,7 +429,7 @@
|
|
|
})
|
|
|
}else {
|
|
|
uni.navigateBack({
|
|
|
- url: '/pages/user/car/index'
|
|
|
+
|
|
|
})
|
|
|
}
|
|
|
},
|
|
@@ -304,16 +539,25 @@
|
|
|
title: "加载中",
|
|
|
mask: true,
|
|
|
})
|
|
|
-
|
|
|
+ this.form.photoFile=this.carAuthImg;
|
|
|
userApi.addRegUserCar(this.form).then((res) => {
|
|
|
uni.hideLoading();
|
|
|
|
|
|
+ if(this.carAuthImg){
|
|
|
+ var obj=this.carhelp.getPersonInfo()
|
|
|
+ obj.carLicense=this.carAuthImg
|
|
|
+ this.carhelp.setPersonInfo(obj)
|
|
|
+ }
|
|
|
+
|
|
|
this.gotoLink()
|
|
|
}).catch(error => {
|
|
|
- uni.showToast({
|
|
|
- title: error,
|
|
|
- icon: "none"
|
|
|
- })
|
|
|
+ uni.hideLoading();
|
|
|
+ uni.showModal({
|
|
|
+ title:"提示",
|
|
|
+ content: error,
|
|
|
+ showCancel: false
|
|
|
+ });
|
|
|
+
|
|
|
})
|
|
|
}
|
|
|
}
|
|
@@ -325,6 +569,14 @@
|
|
|
}
|
|
|
</style>
|
|
|
<style lang="scss" scoped>
|
|
|
+ .wrapbackground1{
|
|
|
+ background: rgba(172,236,206,1);
|
|
|
+ }
|
|
|
+ .wrapbackground2{
|
|
|
+ padding-top: 10px;
|
|
|
+ padding-bottom: 20px;
|
|
|
+ background: linear-gradient(180deg, rgba(172,236,206,1) 0%,rgba(82,211,150,0) 110%);
|
|
|
+ }
|
|
|
.u-char-item{
|
|
|
width: 29px !important;
|
|
|
}
|
|
@@ -338,14 +590,38 @@
|
|
|
}
|
|
|
|
|
|
.key-input {
|
|
|
- padding-top: 24px;
|
|
|
+ //padding-top: 24px;
|
|
|
+ }
|
|
|
+ .car-head{
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: space-around;
|
|
|
+
|
|
|
+
|
|
|
+ border-radius: 50px;
|
|
|
+ padding: 12rpx 24rpx;
|
|
|
+ margin: 0 48rpx ;
|
|
|
+ background-color: #d3f1e0;
|
|
|
+
|
|
|
+ .car-head-item{
|
|
|
+ display: flex;
|
|
|
+ color: rgba(0, 90, 48, 1);
|
|
|
+ img{
|
|
|
+ width: 40rpx;
|
|
|
+ height: 40rpx;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
.car-num {
|
|
|
- padding: 10px 0 0 40px;
|
|
|
+
|
|
|
+ padding-top: 40rpx;
|
|
|
+ padding-left:48rpx;
|
|
|
+ font-size: 16px;
|
|
|
line-height: 18px;
|
|
|
}
|
|
|
.default {
|
|
|
margin: 16px 28px;
|
|
|
+ padding-bottom: 20px;
|
|
|
}
|
|
|
|
|
|
.login-btn {
|
|
@@ -434,4 +710,85 @@
|
|
|
}
|
|
|
|
|
|
}
|
|
|
+
|
|
|
+ .carAuth{
|
|
|
+ border-radius: 12px;
|
|
|
+ background-color: rgba(255, 255, 255, 1);
|
|
|
+ border: 2px dashed rgba(187, 187, 187, 1);
|
|
|
+ //height: 400rpx;
|
|
|
+ width: 100%;
|
|
|
+ overflow: hidden;
|
|
|
+ text-align: center;
|
|
|
+ .carAuthImg{
|
|
|
+ margin-top: 10px;
|
|
|
+ margin-bottom: 10px;
|
|
|
+ width: 510rpx;
|
|
|
+ height: 360rpx;
|
|
|
+ }
|
|
|
+ .carAuthIcon{
|
|
|
+ position: absolute;
|
|
|
+ background: #6e7175;
|
|
|
+ width: 44px;
|
|
|
+ height: 44px;
|
|
|
+ border-radius: 50px;
|
|
|
+ /* left: 200px; */
|
|
|
+ /* top: 200px; */
|
|
|
+ margin: 160rpx 280rpx;
|
|
|
+ z-index: 999;
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .mark {
|
|
|
+ width: 0px;
|
|
|
+ height: 0px;
|
|
|
+ border-top: 40px solid rgba(0, 185, 98, 1);
|
|
|
+ border-right: 40px solid transparent;
|
|
|
+ position: absolute;
|
|
|
+ z-index: 999;
|
|
|
+ .text{
|
|
|
+ white-space: nowrap;
|
|
|
+ transform: rotate(-45deg) scale(0.5);
|
|
|
+ position: absolute;
|
|
|
+ top: -45px;
|
|
|
+ background-color: rgba(0, 185, 98, 1);
|
|
|
+ color: rgba(255, 255, 255, 1);
|
|
|
+ font-size: 25px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .position {
|
|
|
+ position: relative;
|
|
|
+ top: -520rpx;
|
|
|
+ left: 54%;
|
|
|
+ z-index: 999;
|
|
|
+ width: 130px;
|
|
|
+ }
|
|
|
+
|
|
|
+ #talkbubble {
|
|
|
+
|
|
|
+ top: 0;
|
|
|
+ left: 0;
|
|
|
+ padding: 0 10rpx;
|
|
|
+ line-height: 20px;
|
|
|
+ font-size: 12px;
|
|
|
+ color: #fff;
|
|
|
+ background: red;
|
|
|
+ position: relative;
|
|
|
+ border-radius: 4px;
|
|
|
+ text-align: center;
|
|
|
+ }
|
|
|
+
|
|
|
+ #talkbubble:before {
|
|
|
+ content: "";
|
|
|
+ position: absolute;
|
|
|
+ top: 100%;
|
|
|
+ right: 25%;
|
|
|
+ border-top: 5px solid red;
|
|
|
+ border-right: 5px solid transparent;
|
|
|
+ border-left: 5px solid transparent;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
</style>
|