From 05273ace3da665cb10c36ca0dac4413a8284302a Mon Sep 17 00:00:00 2001
From: qingyiay <2386314947@qq.com>
Date: 星期三, 17 五月 2023 18:10:36 +0800
Subject: [PATCH] 增加部分限制,增加新功能
---
pages/driver-page/drvier-my/drvier-my.vue | 210 +++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 183 insertions(+), 27 deletions(-)
diff --git a/pages/driver-page/drvier-my/drvier-my.vue b/pages/driver-page/drvier-my/drvier-my.vue
index 430b999..bf10fb2 100644
--- a/pages/driver-page/drvier-my/drvier-my.vue
+++ b/pages/driver-page/drvier-my/drvier-my.vue
@@ -145,18 +145,50 @@
<u-popup :show="editDriverPopupShow" mode="bottom" @close="editDriverPopupClose" @open="editDriverPopupOpen" :closeable="true">
<combined-title title="淇敼涓汉淇℃伅" style="margin-left:20rpx"></combined-title>
<view class="editDriverPopup-container-box">
- <u--form labelPosition="left" :model="editUserInfo" ref="form1">
- <u-form-item labelWidth="20%" label="濮撳悕" ref="item1"><u--input v-model="editUserInfo.name" border="none" inputAlign="left"></u--input></u-form-item>
- <u-form-item labelWidth="20%" label="韬唤璇佸彿" ref="item1"><u--input v-model="editUserInfo.idCard" border="none" inputAlign="left"></u--input></u-form-item>
- <u-form-item labelWidth="20%" label="鎵嬫満鍙�" ref="item1"><u--input v-model="editUserInfo.phone" border="none" inputAlign="left"></u--input></u-form-item>
- <u-form-item labelWidth="20%" label="杞︾墝鍙�" ref="item1"><u--input v-model="editUserInfo.carNo" border="none" inputAlign="left"></u--input></u-form-item>
- <u-form-item labelWidth="20%" label="浣撻噸" ref="item1"><u--input v-model="editUserInfo.weight" border="none" inputAlign="left"></u--input></u-form-item>
- <u-form-item labelWidth="20%" label="杞﹁酱鏁�" ref="item1"><u--input v-model="editUserInfo.axleNum" border="none" inputAlign="left"></u--input></u-form-item>
- <u-form-item labelWidth="25%" label="杞﹁締鐓х墖" ref="item1">
- <u-upload :fileList="fileList1" @afterRead="afterRead" @delete="deletePic" name="1" multiple :maxCount="1" width="250" height="150"></u-upload>
+ <u--form labelPosition="left" :model="editUserInfo" ref="editRef">
+ <u-form-item labelWidth="20%" label="濮撳悕" prop="name" required>
+ <u--input v-model="editUserInfo.name" border="none" inputAlign="left"></u--input>
</u-form-item>
- <u-form-item labelWidth="25%" label="琛岄┒璇佺収鐗�" ref="item1">
- <u-upload :fileList="fileList2" @afterRead="afterRead" @delete="deletePic" name="2" multiple :maxCount="1" width="250" height="150"></u-upload>
+ <u-form-item labelWidth="20%" label="韬唤璇佸彿" prop="idCard" required>
+ <u--input v-model="editUserInfo.idCard" border="none" inputAlign="left"></u--input>
+ </u-form-item>
+ <u-form-item labelWidth="20%" label="鎵嬫満鍙�" prop="phone" required>
+ <u--input v-model="editUserInfo.phone" border="none" inputAlign="left"></u--input>
+ </u-form-item>
+ <u-form-item labelWidth="20%" label="杞︾墝鍙�" prop="carNo" required>
+ <u--input v-model="editUserInfo.carNo" border="none" inputAlign="left"></u--input>
+ </u-form-item>
+ <u-form-item labelWidth="20%" label="浣撻噸" prop="weight" required>
+ <u--input v-model="editUserInfo.weight" border="none" inputAlign="left" placeholder="浣撻噸浠g浣滀负鍗曚綅"></u--input>
+ </u-form-item>
+ <u-form-item labelWidth="20%" label="杞﹁酱鏁�" prop="axleNum" required>
+ <u--input v-model="editUserInfo.axleNum" border="none" inputAlign="left"></u--input>
+ </u-form-item>
+ <u-form-item labelWidth="25%" label="杞﹁締鐓х墖" @click="beforeRead" prop="carImg" required>
+ <u-upload
+ :fileList="fileList1"
+ @afterRead="afterRead"
+ @delete="deletePic"
+ name="1"
+ multiple
+ :maxCount="1"
+ width="250"
+ height="150"
+ :previewFullImage="true"
+ ></u-upload>
+ </u-form-item>
+ <u-form-item labelWidth="25%" label="琛岄┒璇佺収鐗�" ref="item1" @click="beforeRead" prop="drivingImg" required>
+ <u-upload
+ :fileList="fileList2"
+ @afterRead="afterRead"
+ @delete="deletePic"
+ name="2"
+ multiple
+ :maxCount="1"
+ width="250"
+ height="150"
+ :previewFullImage="true"
+ ></u-upload>
</u-form-item>
</u--form>
<u-button text="鎻愪氦" @click="updateUser" type="primary"></u-button>
@@ -172,6 +204,7 @@
<script>
import { customerId, userInfo, redirectLogin } from '@/utils/status';
import { BaseUrl } from '@/api/publicInterface.js';
+import { mapMutations } from 'vuex';
export default {
data() {
return {
@@ -191,6 +224,94 @@
weight: '',
userId: ''
},
+ rules: {
+ name: {
+ type: 'string',
+ required: true,
+ message: '璇峰~鍐欏鍚�',
+ trigger: ['blur', 'change']
+ },
+ idCard: [
+ {
+ type: 'string',
+ required: true,
+ message: '璇疯緭鍏ヨ韩浠借瘉鍙�',
+ trigger: ['blur', 'change']
+ },
+ {
+ pattern: /^([1-6][1-9]|50)\d{4}(18|19|20)\d{2}((0[1-9])|10|11|12)(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/,
+ message: '韬唤璇佸彿鏍煎紡涓嶆纭�'
+ }
+ ],
+ phone: [
+ {
+ required: true,
+ message: '姝ら」涓哄繀濉」',
+ // blur鍜宑hange浜嬩欢瑙﹀彂妫�楠�
+ trigger: ['blur', 'change']
+ },
+ {
+ min: 11,
+ max: 11,
+ message: '璇疯緭鍏ュ悎娉曟墜鏈哄彿'
+ },
+ {
+ validator: (rule, value, callback) => {
+ return uni.$u.test.mobile(value);
+ },
+ message: '鎵嬫満鍙风爜鏍煎紡涓嶆纭�',
+ trigger: ['change', 'blur']
+ }
+ ],
+ weight: {
+ type: 'number',
+ required: true,
+ message: '璇峰~鍐欎綋閲�',
+ trigger: ['blur', 'change']
+ },
+ carNo: [
+ {
+ type: 'string',
+ required: true,
+ message: '璇疯緭鍏ヨ溅鐗屽彿',
+ trigger: ['blur', 'change']
+ },
+ {
+ transform(value) {
+ return String(value);
+ },
+ validator: (rule, value, callback) => {
+ return uni.$u.test.carNo(value);
+ },
+ message: '璇疯緭鍏ユ纭殑杞︾墝鍙�',
+ trigger: ['change', 'blur']
+ }
+ ],
+ axleNum: [
+ {
+ transform(value) {
+ return Number(value);
+ },
+ validator: (rule, value, callback) => {
+ return value <= 10;
+ },
+ message: '璇疯緭鍏ユ纭殑杞﹁酱鏁�',
+ trigger: ['change', 'blur']
+ }
+ ],
+ carImg: {
+ type: 'string',
+ required: true,
+ message: '璇蜂笂浼犺溅杈嗗浘鐗�',
+ trigger: ['blur', 'change']
+ },
+ drivingImg: {
+ type: 'string',
+ required: true,
+ message: '璇蜂笂浼犺椹惰瘉鐓х墖',
+ trigger: ['blur', 'change']
+ }
+ },
src: '',
fileList1: [],
fileList2: [],
@@ -209,7 +330,11 @@
onShow() {
// this.init();
},
+ onReady() {
+ this.$refs.editRef.setRules(this.rules);
+ },
methods: {
+ ...mapMutations(['changeisUploadimg']),
init() {
this.getUserEntity();
},
@@ -220,6 +345,18 @@
this.$reqGet('getUserEntity').then(res => {
uni.hideLoading();
this.userInfo = res.data;
+ uni.setStorageSync('carImg', this.userInfo.carImg);
+ uni.setStorageSync('drivingImg', this.userInfo.drivingImg);
+ if (this.fileList1.length == 0) {
+ this.fileList1.push({
+ url: `${BaseUrl}${this.userInfo.carImg}`
+ });
+ }
+ if (this.fileList2.length == 0) {
+ this.fileList2.push({
+ url: `${BaseUrl}${this.userInfo.drivingImg}`
+ });
+ }
Object.keys(this.editUserInfo).map(item => {
if (res.data[item]) {
this.editUserInfo[item] = res.data[item];
@@ -243,8 +380,12 @@
this.previewImageShow = true;
});
},
+ beforeRead() {
+ this.changeisUploadimg(true);
+ },
// 鍒犻櫎
deletePic(event) {
+ this.changeisUploadimg(true);
this[`fileList${event.name}`].splice(event.index, 1);
},
// 鏂板鍥剧墖
@@ -267,7 +408,7 @@
1,
Object.assign(item, {
status: 'success',
- message: '',
+ message: '涓婁紶鎴愬姛',
url: result
})
);
@@ -284,11 +425,14 @@
// user: 'test'
// },
success: res => {
- resolve(JSON.parse(res.data).data.url);
if (num == 1) {
this.editUserInfo.carImg = JSON.parse(res.data).data.url;
+ uni.setStorageSync('carImg', JSON.parse(res.data).data.url);
+ resolve(`${BaseUrl}${JSON.parse(res.data).data.url}`);
} else if (num == 2) {
this.editUserInfo.drivingImg = JSON.parse(res.data).data.url;
+ uni.setStorageSync('drivingImg', JSON.parse(res.data).data.url);
+ resolve(`${BaseUrl}${JSON.parse(res.data).data.url}`);
}
}
});
@@ -314,20 +458,32 @@
},
// 淇敼鐢ㄦ埛淇℃伅
updateUser() {
- this.$reqPost('updateUser', this.editUserInfo, 'json').then(res => {
- console.log('鏇存柊鏁版嵁', res);
- this.editDriverPopupShow = false;
- if (res.code == 0) {
- this.$u.toast('淇敼鎴愬姛');
- this.init();
- } else {
- uni.showToast({
- title: res.msg,
- icon: 'none',
- duration: 2000
+ this.editUserInfo = {
+ ...this.editUserInfo,
+ carImg: uni.getStorageSync('carImg'),
+ drivingImg: uni.getStorageSync('drivingImg')
+ };
+ this.$refs.editRef
+ .validate()
+ .then(res => {
+ this.$reqPost('updateUser', this.editUserInfo, 'json').then(res => {
+ console.log('鏇存柊鏁版嵁', res);
+ this.editDriverPopupShow = false;
+ if (res.code == 0) {
+ this.$u.toast('淇敼鎴愬姛');
+ this.init();
+ } else {
+ uni.showToast({
+ title: res.msg,
+ icon: 'none',
+ duration: 2000
+ });
+ }
});
- }
- });
+ })
+ .catch(err => {
+ this.$u.toast('淇敼澶辫触');
+ });
},
logout() {
this.logoutShow = true;
@@ -533,7 +689,7 @@
.editDriverPopup-container {
.u-popup {
.u-transition {
- height: 95%;
+ height: 75%;
.u-popup__content {
overflow: scroll !important;
.editDriverPopup-container-box {
--
Gitblit v1.9.1