From a28d0135ee42809b2c5863609da37155d3ecba5b Mon Sep 17 00:00:00 2001
From: yangan <yangan0921@163.com>
Date: 星期二, 29 四月 2025 15:11:39 +0800
Subject: [PATCH] feat:增加类型显示

---
 pages/login/userPassword.vue |  194 ++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 171 insertions(+), 23 deletions(-)

diff --git a/pages/login/userPassword.vue b/pages/login/userPassword.vue
index 36caa83..a9853cc 100644
--- a/pages/login/userPassword.vue
+++ b/pages/login/userPassword.vue
@@ -2,34 +2,95 @@
 	<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"
-					clearable
+				<u-input v-model="password"
+				   v-if="inpType"
+				   clearable
 					maxlength="32"
-					type="password"
+					:type="'password'"
 					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="45" name="eye-off" @click.native.stop="todoShow"></u-icon>
+				</template>
+				</u-input>
+				<u-input v-model="password"
+				   v-if="!inpType"
+					maxlength="32"
+					clearable
+					:type="'text'"
+					placeholder="璇疯緭鍏ュ瘑鐮�"
+					prefixIcon="lock"
+					style="padding:0;margin-left:8px;"
+					prefixIconStyle="font-size: 22px;color: #909399">
+					<template slot="suffix">
+						<u-icon  size="45" name="eye" @click.native.stop="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()"
-				:loading="submitLoading"></u-button></view>
+				: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',
@@ -38,21 +99,46 @@
 			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,
+				inpType:true,
 				baseUrl: '',
-				submitLoading: false
+				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;
+				this.password = this.password;
+
+			},
 			//鐧诲綍
 			async submit() {
 				uni.showLoading({
@@ -82,6 +168,8 @@
 						if (this.btnText == 0) {
 							this.submitLoading = false
 							if (res.code != 1) {
+							
+
 								// 鐧婚檰鎴愬姛锛屽瓨鍌ㄧ浉鍏充俊鎭�
 								setToken(res.access_token);
 								setRefreshToken(res.refresh_token);
@@ -89,20 +177,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);
 									});
@@ -116,9 +249,7 @@
 									if (res.code) {
 										uni.setStorageSync('bindcode', res.code);
 									}
-								}
-							});
-							if (uni.getStorageSync('bindcode')) {
+									if (uni.getStorageSync('bindcode')) {
 								this.$reqPost('wxBind', { state: 'MINI', code: uni.getStorageSync('bindcode') },
 									'params').then(res => {
 									uni.hideLoading();
@@ -132,12 +263,18 @@
 									}
 								});
 							}
+								}
+							});
+						
 						}
-					})
-					.catch(e => {
+					}).catch(e => {
 						this.submitLoading = false
 						this.$u.toast(e);
 					});
+
+			},
+			checkboxChange(val){
+				console.log(val,'isJz')
 			}
 		}
 	};
@@ -149,4 +286,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