From 0eab6dcc163bec041d44bc27c9c89ef9c6ec988d Mon Sep 17 00:00:00 2001 From: yangan <yangan0921@163.com> Date: 星期四, 26 九月 2024 17:17:39 +0800 Subject: [PATCH] feat:确认装卸bug提交 --- pages/login/userPassword.vue | 176 ++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 157 insertions(+), 19 deletions(-) diff --git a/pages/login/userPassword.vue b/pages/login/userPassword.vue index b39078a..99bd0ca 100644 --- a/pages/login/userPassword.vue +++ b/pages/login/userPassword.vue @@ -2,33 +2,81 @@ <view> <view class="list"> <view class="list-call"> - <u--input v-model="username" + <!-- <u--input v-model="username" clearable maxlength="32" type="text" placeholder="璇疯緭鍏ユ墜鏈哄彿" prefixIcon="account" - prefixIconStyle="font-size: 22px;color: #909399"></u--input> + prefixIconStyle="font-size: 22px;color: #909399"></u--input> --> + <!-- #ifdef H5 --> + <customPagination + style="width:100%; height: 60rpx; font-size: 30rpx;" + :options="userList" + :value="username" + v-model="username" + @changeInput="changeInput2" + @input="handleInput2" + :placeholder="'璇疯緭鍏ョ櫥褰曡处鍙�'" + ></customPagination> + <!-- #endif --> + <!-- #ifdef MP-WEIXIN --> + <customPagination + style="width:100%; height: 60rpx; font-size: 30rpx;" + :options="userList" + :value="username" + v-model="username" + @changeInput="changeInput2" + @input="handleInput2" + :placeholder="'璇烽�夋嫨鎵嬫満鍙�'" + ></customPagination> + <!-- #endif --> </view> <view class="list-call"> - <u--input v-model="password" + <u-input v-model="password" clearable maxlength="32" - type="password" + :type="inpType ? 'password' : 'text'" placeholder="璇疯緭鍏ュ瘑鐮�" prefixIcon="lock" - prefixIconStyle="font-size: 22px;color: #909399"></u--input> + style="padding:0;margin-left:8px;" + prefixIconStyle="font-size: 22px;color: #909399"> + <template slot="suffix"> + <u-icon size="40" name="eye" @click="todoShow"></u-icon> + </template> + </u-input> </view> </view> - <view class="loginBtn"><u-button type="primary" + <!-- 璁颁綇瀵嗙爜 --> + <view class="jizhu"> + <view> + <u-checkbox-group + v-model="isJizhu" + placement="column" + @change="checkboxChange" + > + <u-checkbox + :checked="isChecked" + label="璁颁綇瀵嗙爜" :size='35' :iconSize="35" :labelSize="30" name="1" + placement="row"> + </u-checkbox> + </u-checkbox-group> + </view> + </view> + <view class="loginBtn"> + <u-button type="primary" :text="btnText == 1 ? '缁戝畾' : '鐧诲綍'" - @click="submit()"></u-button></view> + @click="submit()" + :loading="submitLoading"> + </u-button> + </view> </view> </template> <script> import { apiLoginPassword } from '@/api/publicInterface.js'; import { mapMutations } from 'vuex'; + import customPagination from './user.vue' import { setName, setToken, setRefreshToken, setUsernameKey, setCustomerId, redirectHome } from '@/utils/status.js'; export default { name: 'userPassword', @@ -37,20 +85,45 @@ btnText: { type: Number, default: 0 + }, + userList: { + type: Array, + default: () => { + return []; + } } + }, + components: { + customPagination }, data() { return { username: '', // 瀹㈡埛 - // username:'13333333331',//璐т唬 - // username: '13333333332',// 鍙告満 - password: '', + isJizhu: uni.getStorageSync('remberPassWord').username ? ['1'] : false, + isChecked:false, + username: uni.getStorageSync('remberPassWord').username || '',//鎵胯繍鍟� + password: uni.getStorageSync('remberPassWord').password || '', remember: true, - baseUrl: '' + inpType:true, + baseUrl: '', + submitLoading: false, + weXinisLoginFlag:[1,2,3], //寰俊 + H5IsLoginFlag:[5,6], //h5 }; }, methods: { ...mapMutations(['setUserTabbar']), + changeInput2(e){ + this.username=e.username + // this.password=e.password + }, + handleInput2(e){ + }, + todoShow(){ + console.log('鐐瑰嚮') + this.inpType = !this.inpType + + }, //鐧诲綍 async submit() { uni.showLoading({ @@ -67,6 +140,7 @@ } let grant_type = 'password'; //鐧诲綍鎺ュ彛 + this.submitLoading = true await apiLoginPassword({ username: this.username, password: this.password, @@ -77,7 +151,10 @@ setToken(res.access_token); setRefreshToken(res.refresh_token); if (this.btnText == 0) { + this.submitLoading = false if (res.code != 1) { + + // 鐧婚檰鎴愬姛锛屽瓨鍌ㄧ浉鍏充俊鎭� setToken(res.access_token); setRefreshToken(res.refresh_token); @@ -85,19 +162,65 @@ //鏌ヨ鐢ㄦ埛璇︾粏淇℃伅骞跺偍瀛� this.$reqGet('getUserEntity') .then(res => { + console.log(res,'鐧诲綍淇℃伅----------') + //#ifdef MP-WEIXIN + if(this.H5IsLoginFlag.includes(res.data.type)) { + this.$u.toast('褰撳墠瑙掕壊璇峰墠寰�h5椤甸潰鐧诲綍') + return ; + + } + //#endif + // #ifdef H5 + if(this.weXinisLoginFlag.includes(res.data.type)) { + console.log('瑙﹀彂鐧诲綍瑙掕壊') + this.$u.toast('褰撳墠瑙掕壊璇峰墠寰�灏忕▼搴忕櫥褰�') + return ; + + } + //#endif + this.$u.toast('鐧诲綍鎴愬姛'); + if(this.isJizhu.length){ //璁颁綇瀵嗙爜 + uni.setStorageSync('remberPassWord',{ + username: this.username, + password: this.password, + }); + }else{ + uni.setStorageSync('remberPassWord',{ + username: this.username, + password: '', + }); + } this.setUserTabbar(res.data.type); + uni.setStorageSync('productIds',res.data.productIds) uni.setStorageSync('roleType', res.data.type); uni.setStorageSync("userId", res.data.userId) + uni.setStorageSync("carNo", res.data.carNo) + uni.setStorageSync("userInfo", res.data) + uni.removeStorageSync('bunkerIds') + uni.setStorageSync("isFirstMeet", false) + let data=uni.getStorageSync('userList')?JSON.parse(uni.getStorageSync('userList')):[]; + let id = data.length + 1; + if (data.filter(item=> item.username == this.username).length == 0){ + data.push({username: this.username,password: this.password,type:res.data.type}) + } + uni.setStorageSync("userList", JSON.stringify(data)) setCustomerId(res.data.customerid); - setName(res.name); + setName(res.data.name); uni.hideLoading(); - //璺宠浆椤甸潰 - this.$nextTick(() => { - redirectHome(); - }); + if(res.data.forcePassword == 1) { + uni.navigateTo({ + url: '/pages/login/resetPassword/resetPassword' + }) + }else { + //璺宠浆椤甸潰 + this.$nextTick(() => { + redirectHome(); + }); + } }) .catch(err => { + this.submitLoading = false this.$u.toast('鐧诲綍寮傚父锛�'); console.log(err); }); @@ -128,10 +251,14 @@ }); } } - }) - .catch(e => { + }).catch(e => { + this.submitLoading = false this.$u.toast(e); }); + + }, + checkboxChange(val){ + console.log(val,'isJz') } } }; @@ -143,4 +270,15 @@ .dengluBtn { margin-top: 80rpx; } -</style> \ No newline at end of file + /* #ifdef H5 */ + .loginBtn{ + width: 80%; + margin: 0 auto; + } + /* #endif */ + .jizhu{ + padding: 40rpx 70rpx 40rpx 70rpx; + display: flex; + justify-content: flex-end; + } +</style> -- Gitblit v1.9.1