123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249 |
- <template>
- <view >
- <ujp-navbar title="车辆修改">
- <view class="slot-wrap">
- <span class="navBtn oldTextjp2" oldstyle="font-size: 16px;" @click="showDelete">删除</span>
- </view>
- </ujp-navbar>
-
- <view v-if="false">
- <view>
- <u-modal v-model="show" @confirm="confirmDelete" confirm-color="#fa3534" :show-cancel-button="true" ref="uModal" :asyncClose="true" :title="title"
- :content="content" :confirm-text="confirmText"></u-modal>
- </view>
-
- <view class="carDet">
- <u-form :model="form" ref="uForm">
- <ucarkeyboard ref="uKeyboard" mode="car" @confirm="confirm" @cancel="cancel" v-show="keyShow" @change="valChange" @backspace="backspace"></ucarkeyboard>
- <u-form-item label="车牌号码" label-width="200rpx" :label-style="elderStatus ? {fontSize: '18px'} : {}">
- <u-input input-align="right" placeholder="请输入车牌号" v-model="form.carNum" :custom-style="elderStatus ? {fontSize: '18px'} : {}" @click="keyClick" />
- </u-form-item>
- <u-form-item v-show="false" label="车辆类型" label-width="200rpx" :label-style="elderStatus ? {fontSize: '18px'} : {}">
- <u-input input-align="right" v-model="carName" :custom-style="elderStatus ? {fontSize: '18px'} : {}" placeholder="请输入正确车牌号" disabled />
- </u-form-item>
- <!-- <u-form-item label="设为默认车辆" label-width="230rpx" :label-style="elderStatus ? {fontSize: '18px'} : {}">
- <u-switch slot="right" v-model="form.defaultFlag"></u-switch>
- </u-form-item> -->
- </u-form>
- </view>
- <u-button class="login-btn" type="success" shape="circle" @click="keepCar">保存</u-button>
-
- <!-- <p class="car-num" style="padding: 10px 40px;" >根据平台要求,车牌号码输入后暂时<span style="color:red">不可以修改</span>,后续修改需要联系客服人员,请认真填写</p>
- -->
- </view>
- </view>
- </template>
- <script>
- import * as userApi from '@/apis/user.js'
- import ucarkeyboard from '@/components/Ucarkeyboard.vue'
-
- export default {
- components: {
- ucarkeyboard
- },
- data() {
- return {
- carName: '',
- keyShow: false,
- show: false,
- title: '删除车辆',
- content: '是否删除此车牌号?',
- confirmText: '删除',
- form: {
- id: '',
- carNum: '',
- defaultFlag: true,
- },
- carList: [],
- elderStatus: false,
- }
- },
- onLoad(op) {
- if (op.jpcode) {
- var str1 = op.jpcode.slice(0, 19);
- var str2 = op.jpcode.slice(20, 21);
- var str3 = op.jpcode.slice(22);
-
- if (str1 == 'jp_team51_charge_id') {
- if (str2 == 'A') {
- this.code = str2;
- this.codeId = str3;
- }
- }
- }
- if(op.id){
- this.form.id = op.id;
- this.getCarList();
- }
- },
- onReady() {
- this.$refs.uKeyboard.changeCarInputMode();
-
- if(this.carhelp.get("getElderModeClass") == "长辈模式") {
- this.elderStatus = true;
- } else {
- this.elderStatus = false;
- }
- },
- methods: {
- cancel() {
- this.keyShow = false;
- },
- confirm() {
- this.keyShow = false;
- },
- keyClick() {
- this.keyShow = true;
- uni.hideKeyboard();
- },
- // 按键被点击(点击退格键不会触发此事件)
- valChange(val) {
- // 将每次按键的值拼接到form.carNum变量中,注意+=写法
- if(this.form.carNum.length < 8) {
- this.form.carNum += val;
- //(this.form.carNum);
- if(this.form.carNum.length == 1) {
- this.$refs.uKeyboard.changeCarInputMode();
- }
- if(this.form.carNum.length == 8) {
- this.carName = '新能源车';
- } else if (this.form.carNum.length == 7) {
- this.carName = '燃油车';
- } else {
- this.carName = '';
- }
- }
- },
- // 退格键被点击
- backspace() {
- // 删除form.carNum的最后一个字符
- if(this.form.carNum.length) this.form.carNum = this.form.carNum.substr(0, this.form.carNum.length - 1);
- //(this.form.carNum);
-
- var aaa = this.$refs.uKeyboard.changeCarInputValue();
- if(this.form.carNum.length == 0 && aaa) {
- this.$refs.uKeyboard.changeCarInputMode();
- }
- if(this.form.carNum.length == 8) {
- this.carName = '新能源车';
- } else if (this.form.carNum.length == 7) {
- this.carName = '燃油车';
- } else {
- this.carName = '';
- }
- },
- getCarList() {
- uni.showLoading({
- title: "加载中",
- mask: true,
- })
- userApi.regUserCarList().then((res) => {
- uni.hideLoading();
- this.carList = res.data;
- for(var i=0;i<this.carList.length;i++) {
- var carId = this.carList[i].id
- if(this.form.id == carId) {
- this.form.carNum = this.carList[i].carNum;
- this.form.defaultFlag = this.carList[i].defaultFlag;
- if(this.form.carNum.length == 8) {
- this.carName = '新能源车';
- } else if (this.form.carNum.length == 7) {
- this.carName = '燃油车';
- } else {
- this.carName = '';
- }
- }
- }
- }).catch(error => {
- uni.showToast({
- title: error,
- icon: "none"
- })
- })
- },
- showDelete() {
- this.show = true;
- this.keyShow = false;
- },
- confirmDelete() {
- uni.showLoading({
- title: "加载中",
- mask: true,
- })
- userApi.deleteRegUserCar({
- id: this.form.id
- }).then((res) => {
- uni.hideLoading();
-
- this.show = false;
- uni.navigateBack({
- //url: '/pages/user/car/index'
- })
- }).catch(error => {
- uni.showToast({
- title: error,
- icon: "none"
- })
- })
- },
- keepCar() {
- this.keyShow = false;
- if(this.form.carNum.length != 8) {
- uni.showToast({
- title:"请填写新能源车牌"
- })
- return
- }
- uni.showLoading({
- title: "加载中",
- mask: true,
- })
- userApi.addRegUserCar(this.form).then((res) => {
- uni.hideLoading();
-
- if(this.code == 'A') {
- uni.reLaunch({
- url: '/pages/searchPile/stationAndPile/chargingPileDetails?id=' + this.codeId
- })
- } else {
- uni.navigateBack({
- // url: '/pages/user/car/index'
- })
- }
- }).catch(error => {
- uni.showToast({
- title: error,
- icon: "none"
- })
- })
- }
- }
- }
- </script>
- <style>
- page{
- background: #fff;
- }
- </style>
- <style lang="scss" scoped>
- .slot-wrap{
- flex: 1;
- }
- .navBtn{
- float: right;
- margin-right: 15px;
- color:#FF6666;
- }
- .carDet{
- padding: 0 16px;
- }
-
- .login-btn {
- margin: 28px ;
- background-color:#00B962!important;
- border-color: #00B962!important;
- color:#fff!important;
- }
- </style>
|