From 65897d713fe067744326e9b0a6bbac98f495838c Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期五, 16 五月 2025 14:40:22 +0800
Subject: [PATCH] #i18n

---
 locale/zh-Hant.json    |   10 +
 pages/login/login.vue  |  259 +++++++++++++++++++++++++++-----
 locale/index.js        |   10 +
 locale/zh-Hans.json    |   39 ++++
 manifest.json          |    2 
 pages/home/index.vue   |   29 ++-
 pages.json             |    4 
 locale/ja.json         |   23 ++
 main.js                |   15 +
 locale/en.json         |   36 ++++
 locale/uni-app.ja.json |   36 ++++
 11 files changed, 407 insertions(+), 56 deletions(-)

diff --git a/locale/en.json b/locale/en.json
new file mode 100644
index 0000000..124fc38
--- /dev/null
+++ b/locale/en.json
@@ -0,0 +1,36 @@
+{
+  "app.name": "ZoneYung WMS",
+  "locale.auto": "System",
+  "locale.en": "English",
+  "locale.zh-hans": "绠�浣撲腑鏂�",
+  "locale.zh-hant": "绻佷綋涓枃",
+  "locale.ja": "鏃ヨ",
+  "index.title": "Hello i18n", 
+  "page.login":"Login",
+  "page.index":"Index",
+  "login":{
+  	"login": "login",
+  	"loging": "loging",
+  	"user": "user",
+  	"pwd": "pwd",
+  	"inputUser": "Please enter your account",
+  	"inputPwd":"Please enter your password",
+	"remPwd":"remember password"
+  },
+  "index":{
+  	"GR": "Goods Receipt",
+  	"palletizing": "Palletizing",
+	"palletBuilding":"Pallet Building",
+	"inspectionRequest":"Inspection Request",
+	"qualityInspection":"Quality Inspection",
+	"defectiveMarking":"Defective Marking",
+	"manualPutaway":"Manual Putaway",
+	"stationBinding":"Station Binding",
+	"inboundInitiation":"Inbound Initiation",
+	"stationUnbinding":"Station Unbinding",
+	"bindAndInbound":"Binding And Inbound",
+	"outLogin":"Login Out"
+  	
+  	
+  }
+}
diff --git a/locale/index.js b/locale/index.js
new file mode 100644
index 0000000..1ea674e
--- /dev/null
+++ b/locale/index.js
@@ -0,0 +1,10 @@
+import en from './en.json'
+import zhHans from './zh-Hans.json'
+import zhHant from './zh-Hant.json'
+import ja from './ja.json'
+export default {
+	en,
+	'zh-Hans': zhHans,
+	'zh-Hant': zhHant,
+	ja
+}
diff --git a/locale/ja.json b/locale/ja.json
new file mode 100644
index 0000000..b2fa1b8
--- /dev/null
+++ b/locale/ja.json
@@ -0,0 +1,23 @@
+{
+  "locale.auto": "銈枫偣銉嗐儬",
+  "locale.en": "鑻辫獮",
+  "locale.zh-hans": "绠�浣撲腑鏂�",
+  "locale.zh-hant": "绻佷綋涓枃",
+  "locale.ja": "鏃ヨ",
+  "index.title": "Hello i18n",
+  "index.home": "銉涖兗銉�",
+  "index.component": "銈炽兂銉濄兗銉嶃兂銉�",
+  "index.api": "API",
+  "index.schema": "Schema",
+  "index.demo": "uni-app globalization",
+  "index.demo-description": "銉︺儖銉曘儸銉笺儬銉兗銈�乵anifest.json銆乸ages.json銆併偪銉栥儛銉笺�併儦銉笺偢銆併偝銉炽儩銉笺儘銉炽儓銆丄PI銈掑惈銈併倠銆丼chema",
+  "index.detail": "瑭崇窗",
+  "index.language": "瑷�瑾�",
+  "index.language-info": "瑷畾",
+  "index.system-language": "銈枫偣銉嗐儬瑷�瑾�",
+  "index.application-language": "銈€儣銉偙銉笺偡銉с兂瑷�瑾�",
+  "index.language-change-confirm": "銇撱伄瑷畾銈掗仼鐢ㄣ仚銈嬨仺銆併偄銉椼儶銇屽啀璧峰嫊銇椼伨銇�",
+  "api.message": "銉°儍銈汇兗銈�",
+  "schema.add": "杩藉姞",
+  "schema.add-success": "鎴愬姛銈掕拷鍔�"
+}
diff --git a/locale/uni-app.ja.json b/locale/uni-app.ja.json
new file mode 100644
index 0000000..41cef76
--- /dev/null
+++ b/locale/uni-app.ja.json
@@ -0,0 +1,36 @@
+{
+  "common": {
+    "uni.app.quit": "銈傘亞涓�搴︽娂銇欍仺銆併偄銉椼儶銈便兗銈枫儳銉炽亴绲備簡銇椼伨銇�",
+    "uni.async.error": "銈点兗銉愩兗銇搞伄鎺ョ稓銇屻偪銈ゃ儬銈€偊銉堛仐銇俱仐銇熴�傜敾闈€倰銈儶銉冦偗銇椼仸鍐嶈│琛屻仐銇︺亸銇犮仌銇�",
+    "uni.showActionSheet.cancel": "銈儯銉炽偦銉�",
+    "uni.showToast.unpaired": "浣跨敤銇欍倠銇伅銆乻howToast銇╤ideToast銈掋儦銈€伀銇欍倠蹇呰銇屻亗銈嬨亾銇ㄣ伀娉ㄦ剰銇椼仸銇忋仩銇曘亜",
+    "uni.showLoading.unpaired": "浣跨敤銇欍倠銇伅銆乻howLoading銇╤ideLoading銈掋儦銈€伀銇欍倠蹇呰銇屻亗銈嬨亾銇ㄣ伀娉ㄦ剰銇椼仸銇忋仩銇曘亜",
+    "uni.showModal.cancel": "銈儯銉炽偦銉�",
+    "uni.showModal.confirm": "OK",
+    "uni.chooseImage.cancel": "銈儯銉炽偦銉�",
+    "uni.chooseImage.sourceType.album": "銈€儷銉愩儬銇嬨倝閬告姙",
+    "uni.chooseImage.sourceType.camera": "銈儭銉�",
+    "uni.chooseVideo.cancel": "銈儯銉炽偦銉�",
+    "uni.chooseVideo.sourceType.album": "銈€儷銉愩儬銇嬨倝閬告姙",
+    "uni.chooseVideo.sourceType.camera": "銈儭銉�",
+    "uni.previewImage.cancel": "銈儯銉炽偦銉�",
+    "uni.previewImage.button.save": "鐢诲儚銈掍繚瀛�",
+    "uni.previewImage.save.success": "鐢诲儚銈掋偄銉儛銉犮伀姝e父銇繚瀛樸仐銇俱仚",
+    "uni.previewImage.save.fail": "鐢诲儚銈掋偄銉儛銉犮伀淇濆瓨銇с亶銇俱仜銈撱仹銇椼仧",
+    "uni.setClipboardData.success": "銈炽兂銉嗐兂銉勩亴銈炽償銉笺仌銈屻伨銇椼仧",
+    "uni.scanCode.title": "銈广偔銉c兂銈炽兗銉�",
+    "uni.scanCode.album": "銈€儷銉愩儬",
+    "uni.scanCode.fail": "瑾嶈瓨銇け鏁椼仐銇俱仐銇�",
+    "uni.scanCode.flash.on": "銈裤儍銉併仐銇︾偣鐏�",
+    "uni.scanCode.flash.off": "銈裤儍銉椼仐銇﹂枆銇樸倠",
+    "uni.startSoterAuthentication.authContent": "鎸囩磱瑾嶈瓨...",
+    "uni.picker.done": "瀹屼簡",
+    "uni.picker.cancel": "銈儯銉炽偦銉�",
+    "uni.video.danmu": "銆屽季骞曘��",
+    "uni.video.volume": "銉溿儶銉ャ兗銉�",
+    "uni.button.feedback.title": "璩晱銇儠銈c兗銉夈儛銉冦偗",
+    "uni.button.feedback.send": "閫佷俊"
+  },
+  "ios": {},
+  "android": {}
+}
diff --git a/locale/zh-Hans.json b/locale/zh-Hans.json
new file mode 100644
index 0000000..4d79ebe
--- /dev/null
+++ b/locale/zh-Hans.json
@@ -0,0 +1,39 @@
+{
+	"app.name": "涓壃 WMS",
+	"locale.auto": "绯荤粺",
+	"locale.en": "English",
+	"locale.zh-hans": "绠�浣撲腑鏂�",
+	"locale.zh-hant": "绻佷綋涓枃",
+	"locale.ja": "鏃ヨ",
+	"index.title": "Hello i18n",
+	"index.home": "涓婚〉",
+	"page.login":"鐧诲綍",
+	"page.index":"棣栭〉",
+	"login":{
+		"login": "鐧诲綍",
+		"loging": "鐧诲綍涓�",
+		"user": "璐﹀彿",
+		"pwd": "瀵嗙爜",
+		"inputUser": "璇疯緭鍏ヨ处鍙�",
+		"inputPwd":"璇疯緭鍏ュ瘑鐮�",
+		"remPwd":"璁颁綇瀵嗙爜"
+	},
+	"index":{
+		"GR": "鍗曟嵁鏀惰揣", 
+		"palletizing": "鍗曟嵁缁勬墭",
+		"palletBuilding":"缁勬墭瑙g粦",
+		"inspectionRequest":"鎶ユ",
+		"qualityInspection":"璐ㄦ",
+		"defectiveMarking":"涓嶈壇鏍囪",
+		"manualPutaway":"浜哄伐涓婃灦",
+		"stationBinding":"绔欑偣缁戝畾",
+		"inboundInitiation":"鍚姩鍏ュ簱",
+		"stationUnbinding":"绔欑偣瑙g粦",
+		"bindAndInbound":"缁戝畾&鍏ュ簱",
+		"outLogin":"閫�鍑虹櫥褰�"
+		
+		
+	}
+	
+	
+}
diff --git a/locale/zh-Hant.json b/locale/zh-Hant.json
new file mode 100644
index 0000000..9e1a418
--- /dev/null
+++ b/locale/zh-Hant.json
@@ -0,0 +1,10 @@
+{
+  "locale.auto": "绯荤当",
+  "locale.en": "English",
+  "locale.zh-hans": "绠�浣撲腑鏂�",
+  "locale.zh-hant": "绻侀珨涓枃",
+  "locale.ja": "鏃ヨ",
+  "index.title": "Hello i18n",
+  "index.home": "涓婚爜",
+  "login.login": "鐧诲綍"
+}
diff --git a/main.js b/main.js
index 1f4d062..27d56ae 100644
--- a/main.js
+++ b/main.js
@@ -1,7 +1,17 @@
 import App from './App'
+import messages from './locale/index'
+
+let i18nConfig = {
+  locale: uni.getLocale(),// 鑾峰彇宸茶缃殑璇█
+  messages
+}
 
 // #ifndef VUE3
 import Vue from 'vue'
+import VueI18n from 'vue-i18n'
+Vue.use(VueI18n)
+const i18n = new VueI18n(i18nConfig)
+
 Vue.config.productionTip = false
 
 import '@/common/bluetooth.js';
@@ -13,6 +23,7 @@
 Vue.prototype.$Mock = Mock;
 
 App.mpType = 'app'
+
 
 try {
   function isPromise(obj) {
@@ -43,6 +54,7 @@
 } catch (error) { }
 
 const app = new Vue({
+	i18n,
   ...App
 })
 app.$mount()
@@ -50,8 +62,11 @@
 
 // #ifdef VUE3
 import { createSSRApp } from 'vue'
+import { createI18n } from 'vue-i18n'
+const i18n = createI18n(i18nConfig)
 export function createApp() {
   const app = createSSRApp(App)
+  app.use(i18n)
   return {
     app
   }
diff --git a/manifest.json b/manifest.json
index 572efcc..93aef42 100644
--- a/manifest.json
+++ b/manifest.json
@@ -1,5 +1,5 @@
 {
-    "name" : "涓壃WMS",
+    "name" : "%app.name%",
     "appid" : "__UNI__DA5854D",
     "description" : "",
     "versionName" : "20250225A",
diff --git a/pages.json b/pages.json
index 737d4f7..ea09fde 100644
--- a/pages.json
+++ b/pages.json
@@ -3,13 +3,13 @@
 		{
 			"path": "pages/login/login",
 			"style": {
-				"navigationBarTitleText": "鐧� 褰�"
+				"navigationBarTitleText": "%page.login%"
 			}
 		},
 		{
 			"path": "pages/home/index",
 			"style": {
-				"navigationBarTitleText": "棣栭〉"
+				"navigationBarTitleText": "%page.index%"
 			}
 		},
 		{
diff --git a/pages/home/index.vue b/pages/home/index.vue
index e2c9dd2..2083db4 100644
--- a/pages/home/index.vue
+++ b/pages/home/index.vue
@@ -31,7 +31,7 @@
 				<navigator hover-class='none' url="/pages/rece/other" navigateTo>
 					<view class="cuIcon-taoxiaopu text-blue">
 					</view>
-					<text>鍗曟嵁鏀惰揣</text>
+					<text>{{$t('index.GR')}}</text>
 				</navigator>
 			</view>
 
@@ -46,7 +46,7 @@
 				<navigator hover-class='none' url="/pages/listing/matnrPalletising" navigateTo>
 					<view class="cuIcon-cardboard text-blue">
 					</view>
-					<text>鍗曟嵁缁勬墭</text>
+					<text>{{$t('index.palletizing')}}</text>
 				</navigator>
 			</view>
 
@@ -54,7 +54,7 @@
 				<navigator hover-class='none' url="/pages/listing/unPakin" navigateTo>
 					<view class="cuIcon-cardboardforbid text-blue">
 					</view>
-					<text>缁勬墭瑙g粦</text>
+					<text>{{$t('index.palletBuilding')}}</text>
 				</navigator>
 			</view>
 
@@ -62,7 +62,7 @@
 				<navigator hover-class='none' url="/pages/inspect/report" navigateTo>
 					<view class="cuIcon-edit text-blue">
 					</view>
-					<text>鎶ユ</text>
+					<text>{{$t('index.inspectionRequest')}}</text>
 				</navigator>
 			</view>
 
@@ -70,7 +70,7 @@
 				<navigator hover-class='none' url="/pages/inspect/check" navigateTo>
 					<view class="cuIcon-warn text-blue">
 					</view>
-					<text>璐ㄦ</text>
+					<text>{{$t('index.qualityInspection')}}</text>
 				</navigator>
 			</view>
 
@@ -78,7 +78,7 @@
 				<navigator hover-class='none' url="/pages/inspect/bad" navigateTo>
 					<view class="cuIcon-appreciate text-blue">
 					</view>
-					<text>涓嶈壇鏍囪</text>
+					<text>{{$t('index.defectiveMarking')}}</text>
 				</navigator>
 			</view>
 
@@ -87,7 +87,7 @@
 				<navigator hover-class='none' url="/pages/listing/labour" navigateTo>
 					<view class="cuIcon-friendadd text-blue">
 					</view>
-					<text>浜哄伐涓婃灦</text>
+					<text>{{$t('index.manualPutaway')}}</text>
 				</navigator>
 			</view>
 			
@@ -104,28 +104,28 @@
 				<navigator hover-class='none' url="/pages/AGV/AGVStaBind" navigateTo>
 					<view class="cuIcon-punch text-blue">
 					</view>
-					<text>绔欑偣缁戝畾</text>
+					<text>{{$t('index.stationBinding')}}</text>
 				</navigator>
 			</view>
 			<view class="cu-item">
 				<navigator hover-class='none' url="/pages/AGV/StartInTask" navigateTo>
 					<view class="cuIcon-punch text-blue">
 					</view>
-					<text>缁戝畾鍏ュ簱</text>
+					<text>{{$t('index.inboundInitiation')}}</text>
 				</navigator>
 			</view>
 			<view class="cu-item">
 				<navigator hover-class='none' url="/pages/AGV/StaUnBind" navigateTo>
 					<view class="cuIcon-punch text-blue">
 					</view>
-					<text>绔欑偣瑙g粦</text>
+					<text>{{$t('index.stationUnbinding')}}</text>
 				</navigator>
 			</view>
 			<view class="cu-item">
 				<navigator hover-class='none' url="/pages/AGV/BindAndInTask" navigateTo>
 					<view class="cuIcon-punch text-blue">
 					</view>
-					<text>缁戝畾&鍏ュ簱</text>
+					<text>{{$t('index.bindAndInbound')}}</text>
 				</navigator>
 			</view>
 		
@@ -149,7 +149,7 @@
 		</view>
 
 		<view class="padding flex flex-direction">
-			<view class="cu-btn bg-red margin-tb-sm lg round" @click="equit">閫�鍑虹櫥褰�</view>
+			<view class="cu-btn bg-red margin-tb-sm lg round" @click="equit">{{$t('index.outLogin')}}</view>
 		</view>
 	</view>
 	</view>
@@ -164,7 +164,10 @@
 				}
 			}
 		},
-		onShow() {	
+		
+		onShow() {
+			
+			
 			this.user = uni.getStorageSync('userData');			
 		},
 		methods: {
diff --git a/pages/login/login.vue b/pages/login/login.vue
index 7426ae2..3430788 100644
--- a/pages/login/login.vue
+++ b/pages/login/login.vue
@@ -1,11 +1,11 @@
 <template>
 	<view>
 		<!-- 璁剧疆 -->
-		<!-- <view class="settings">
+		<view class="settings">
 			<view class="settings-btn">
 				<uni-icons type="gear" size="30" color="#707070" @click="settings"></uni-icons>
 			</view>
-		</view> -->
+		</view>
 		<!-- logo -->
 		<view class="logo">
 			<view class="logo-box">
@@ -13,14 +13,27 @@
 			</view>
 		</view>
 		<view class="content">
+			<!-- 璇█閫夋嫨涓嬫媺鑿滃崟 -->
+			<view class="language-dropdown">
+				<view class="selected-language" @click="toggleLanguageDropdown">
+					<text>{{getCurrentLanguageText()}}</text>
+					<uni-icons type="bottom" size="14" color="#707070"></uni-icons>
+				</view>
+				<view class="language-options" v-if="showLanguageDropdown">
+					<view class="language-option" v-for="(item, index) in locales" :key="index" @click="onLocaleChange(item)">
+						<text>{{item.text}}</text>
+						<uni-icons type="checkmarkempty" size="14" color="#007AFF" v-if="item.code == applicationLocale"></uni-icons>
+					</view>
+				</view>
+			</view>
 			<!-- 璐﹀彿 -->
 			<view class="box shadow-warp">
 				<view class="box-icon">
 					<uni-icons type="person" size="20" color="#707070"></uni-icons>
 				</view>
-				<view class="box-text">璐﹀彿:</view>
+				<view class="box-text">{{$t('login.user')}}:</view>
 				<view class="box-input">
-					<input type="text" placeholder="璇疯緭鍏ヨ处鍙�" v-model="user.userName"
+					<input type="text" :placeholder="$t('login.inputUser')" v-model="user.userName"
 						placeholder-style="font-size:14px;color:#ccc;">
 				</view>
 				<view class="box-show"></view>
@@ -30,9 +43,9 @@
 				<view class="box-icon">
 					<uni-icons type="locked" size="20" color="#707070"></uni-icons>
 				</view>
-				<view class="box-text">瀵嗙爜:</view>
+				<view class="box-text">{{$t('login.pwd')}}:</view>
 				<view class="box-input">
-					<input :password="!showPassword" placeholder="璇疯緭鍏ュ瘑鐮�" v-model="user.password"
+					<input :password="!showPassword" :placeholder="$t('login.inputPwd')" v-model="user.password"
 						placeholder-style="font-size:14px;color:#ccc;">
 				</view>
 				<view class="box-show">
@@ -45,7 +58,7 @@
 			<!-- 璁颁綇瀵嗙爜 -->
 			<view class="check">
 				<view class="check-left">
-					<view>璁颁綇瀵嗙爜</view>
+					<view>{{$t('login.remPwd')}}</view>
 				</view>
 				<view class="check-right">
 					<switch :checked='remberPassword' color="#FFCC33" style="zoom:.5" @change="remberChange" />
@@ -55,9 +68,9 @@
 		<!-- 鐧诲綍鎸夐挳 -->
 		<view class="submit">
 			<view class="" style="width: 400rpx;">
-				<button type="primary" @click="onLogin()" :loading="load.loading">{{load.btnText}}</button>
+				
+				<button type="primary" @click="onLogin()" :loading="loading">{{btnText}}</button>
 			</view>
-
 		</view>
 
 		<!-- 璁剧疆寮圭獥鍖哄煙 -->
@@ -77,7 +90,7 @@
 					<view class="popup-item">
 						<view class="popup-item-left">椤圭洰:</view>
 						<view class="popup-item-right"><input type="text" v-model="url.project"></view>
-					</view>
+					</view>					
 					<view class="btn">
 						<view class="btn-left" @click="close">鍙栨秷</view>
 						<view class="btn-right" @click="settingConfirm">纭</view>
@@ -110,7 +123,9 @@
 	} from '../../common/request.js'
 	export default {
 		data() {
-			return {
+			return {				
+				systemLocale: '',
+				applicationLocale: '',
 				version: '',
 				showPassword: false,
 				value: '',
@@ -125,20 +140,55 @@
 					userName: '',
 					password: '',
 				},
-				load: {
-					loading: false,
-					btnText: '鐧诲綍'
-				},
+				loading: false,								
 				msgType: 'success',
 				filename: '',
 				dialogContent: '',
 				elements: [],
 				colorList: ['cyan', 'blue', 'purple', 'mauve', 'pink', 'brown', 'red', 'orange', 'yellow', 'olive',
 					'olive', 'grey'
-				]
+				],
+				showLanguageDropdown: false,
+				loginButton: 'login.login'
+			}
+		},
+		computed:{
+		  locales() {
+		    return [{
+		        text: this.$t('locale.auto'),
+		        code: 'auto'
+		      }, {
+		        text: this.$t('locale.en'),
+		        code: 'en'
+		      },
+		      {
+		        text: this.$t('locale.zh-hans'),
+		        code: 'zh-Hans'
+		      },
+		      {
+		        text: this.$t('locale.zh-hant'),
+		        code: 'zh-Hant'
+		      },
+		      {
+		        text: this.$t('locale.ja'),
+		        code: 'ja'
+		      }
+		    ]
+		  },
+		  btnText() {			 
+				  return this.$t(this.loginButton); 
 			}
 		},
 		onLoad() {
+			let systemInfo = uni.getSystemInfoSync();
+			this.systemLocale = systemInfo.language;
+			this.applicationLocale = uni.getLocale();
+			this.isAndroid = systemInfo.platform.toLowerCase() === 'android';
+			uni.onLocaleChange((e) => {
+			  this.applicationLocale = e.locale;
+			})
+			
+			
 			this.user = uni.getStorageSync('user')
 			this.url = uni.getStorageSync('url')
 			this.baseUrl = uni.getStorageSync('baseUrl')
@@ -155,11 +205,56 @@
 					project: ''
 				}
 			}
-		},
+		},		
 		onShow() {
 			this.getVersion()
 		},
 		methods: {
+			localChange() {
+				console.log(this.local)
+			  if (this.isAndroid) {
+			    uni.showModal({
+			      content: this.$t('index.language-change-confirm'),
+			      success: (res) => {
+			        if (res.confirm) {
+			          uni.setLocale(this.local.value);
+			        }
+			      }
+			    })
+			  } else {
+			    uni.setLocale(this.local.value);
+			    this.$i18n.locale = this.local.value;
+			  }
+			},
+			// 鍒囨崲璇█涓嬫媺鑿滃崟鏄剧ず鐘舵��
+			toggleLanguageDropdown() {
+				this.showLanguageDropdown = !this.showLanguageDropdown;
+			},
+			
+			// 鑾峰彇褰撳墠閫夋嫨鐨勮瑷�鏂囨湰
+			getCurrentLanguageText() {
+				const currentLocale = this.locales.find(item => item.code === this.applicationLocale);
+				return currentLocale ? currentLocale.text : this.$t('locale.auto');
+			},
+			
+			// 璇█閫夋嫨鏀瑰彉
+			onLocaleChange(e) {
+				if (this.isAndroid) {
+					uni.showModal({
+						content: this.$t('index.language-change-confirm'),
+						success: (res) => {
+							if (res.confirm) {
+								uni.setLocale(e.code);
+								this.showLanguageDropdown = false;
+							}
+						}
+					})
+				} else {
+					uni.setLocale(e.code);
+					this.$i18n.locale = e.code;
+					this.showLanguageDropdown = false;
+				}
+			},
 			// 鏄剧ず/闅愯棌瀵嗙爜
 			changePassword() {
 				this.showPassword = !this.showPassword;
@@ -169,7 +264,7 @@
 			},
 			// 璁剧疆绐楀彛寮�鍚寜閽�
 			settings() {
-				this.$refs.inputDialog.open()
+				this.$refs.inputDialog.open('')
 			},
 			// 璁剧疆绐楀彛纭淇敼鎸夐挳
 			dialogInputConfirm() {
@@ -197,8 +292,8 @@
 					password: this.user.password,
 				})
 				if (code === 200) {
-					this.load.loading = true;
-					this.load.btnText = '鐧诲綍涓�';					
+					this.loading = true;
+					this.loginButton = 'login.loging';					
 					uni.setStorageSync('token', data.accessToken);	
 					uni.setStorageSync('userData', data.user);				
 					if (this.remberPassword) {						
@@ -413,7 +508,8 @@
 </script>
 <style>
 	@import url('../../static/css/wms.css/wms.css');
-
+	
+	
 	/* 璁剧疆鍖哄煙 */
 	.settings {
 		min-height: 100rpx;
@@ -466,8 +562,7 @@
 		text-align: center;
 	}
 
-	.box-text {
-		width: 100rpx;
+	.box-text {		
 		text-align: center;
 	}
 
@@ -512,22 +607,6 @@
 		font-size: 12px;
 		color: #909399;
 	}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
 	/* ------ */
 
 	.shadow-warp {
@@ -553,4 +632,104 @@
 		left: auto;
 		transform: rotate(3deg);
 	}
-</style>
\ No newline at end of file
+
+	/* 璇█閫夋嫨涓嬫媺鑿滃崟 */
+	.language-dropdown {
+		position: relative;
+		margin-bottom: 20rpx;
+		z-index: 10;
+	}
+	
+	.selected-language {
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
+		padding: 15rpx 20rpx;
+		background-color: #f8f8f8;
+		border-radius: 8rpx;
+		border: 1px solid #e0e0e0;
+	}
+	
+	.language-options {
+		position: absolute;
+		top: 100%;
+		left: 0;
+		right: 0;
+		background-color: #ffffff;
+		border-radius: 8rpx;
+		box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
+		border: 1px solid #e0e0e0;
+		margin-top: 5rpx;
+	}
+	
+	.language-option {
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
+		padding: 15rpx 20rpx;
+		border-bottom: 1px solid #f0f0f0;
+	}
+	
+	.language-option:last-child {
+		border-bottom: none;
+	}
+	
+	.language-option:active {
+		background-color: #f5f5f5;
+	}
+
+	/* 鍏朵粬鏍峰紡 */
+	.check {
+		width: 78%;
+		display: flex;
+		font-size: 12px;
+		color: #606266;
+		margin-top: 10rpx;
+	}
+
+	.check-right {
+		margin-left: auto;
+	}
+
+	.submit {
+		display: flex;
+		justify-content: center;
+		position: fixed;
+		width: 100%;
+		bottom: 100rpx;
+	}
+
+	.version {
+		position: fixed;
+		width: 100%;
+		bottom: 0;
+		text-align: center;
+		font-size: 12px;
+		color: #909399;
+	}
+	/* ------ */
+
+	.shadow-warp {
+		position: relative;
+		box-shadow: 0 0 10upx rgba(0, 0, 0, 0.1);
+	}
+
+	.shadow-warp:before,
+	.shadow-warp:after {
+		position: absolute;
+		content: "";
+		top: 20upx;
+		bottom: 30upx;
+		left: 20upx;
+		width: 50%;
+		box-shadow: 0 30upx 20upx rgba(0, 0, 0, 0.2);
+		transform: rotate(-3deg);
+		z-index: -1;
+	}
+
+	.shadow-warp:after {
+		right: 20upx;
+		left: auto;
+		transform: rotate(3deg);
+	}
+</style>

--
Gitblit v1.9.1