From a94f1b73dce878f7102081aae0d796c233a4699f Mon Sep 17 00:00:00 2001
From: cuiqian2004 <cuiqian2004@163.com>
Date: 星期二, 20 五月 2025 16:04:49 +0800
Subject: [PATCH] 绑定班次

---
 locale/es.json             |   11 +
 pages/modal/3018_2.vue     |  126 +++++++++++----
 pages/modal/5601.vue       |   20 ++
 pages/modal/3037_2.vue     |   45 ++++-
 pages/modal/3202.vue       |   19 ++
 What's New.txt             |    4 
 pages/modal/3200.vue       |   22 ++
 locale/zh-Hans.json        |    7 
 locale/en.json             |    9 
 App.vue                    |   12 
 pages/login/set.vue        |   28 +++
 pages/login/index.vue      |  127 +++++++++++++++
 locale/zh-Hant.json        |    5 
 pages/modal/form/index.vue |   24 ++
 14 files changed, 390 insertions(+), 69 deletions(-)

diff --git a/App.vue b/App.vue
index e88a317..bcb407c 100644
--- a/App.vue
+++ b/App.vue
@@ -1,21 +1,23 @@
 <script>
 	export default {
 		globalData: {
-			isMobox3:true,
-			deviceId:"",
-			cname:"",
+			isMobox3: true,
+			deviceId: "",
+			cname: "",
 			mobox3ApiUrl: {
 				org: "",
 				data: "",
 				mobox: "",
 			},
-			mobox2ApiUrl:"",
+			mobox2ApiUrl: "",
 			loginUser: {
 				id: "",
 				name: "",
 				pwd: ""
 			},
-			sessionId: ""
+			sessionId: "",
+			bindClasses: false,
+			classes: ""
 		},
 		onLaunch: function() {
 			console.log('App Launch');
diff --git "a/What\047s New.txt" "b/What\047s New.txt"
index 5ab24dc..fbc83c8 100644
--- "a/What\047s New.txt"
+++ "b/What\047s New.txt"
@@ -1,3 +1,7 @@
+2025.05.20
+1.娣诲姞鐧婚檰鏃剁粦瀹氱彮娆�+2025.05.15
+1.mobox3鍔熻兘鐐�202
 2025.03.20
 1.鍗囩骇鍒皏ue3 
 App 骞冲彴锛氬湪 App 骞冲彴涓婏紝Vue 3 鐨勬�鑳藉拰鍔熻兘琛ㄧ幇鑹ソ锛屼絾闇�娉ㄦ剰涓�簺鐗瑰畾鐨勯厤缃紝渚嬪鍦�nvue 涓娇鐢�Vuex銆�diff --git a/locale/en.json b/locale/en.json
index 5e94d7c..2b771dc 100644
--- a/locale/en.json
+++ b/locale/en.json
@@ -63,7 +63,10 @@
 	"page.server": "Server",
 	"page.mobox3_app_type": "Mobox3 PDA application types",
 	"page.mobox3_port": "Mobox3 service port",
-	"page.input_server": "Please enter the server",	
+	"page.mobox3_bind_classes_when_logging_in": "Bind classes when logging in to mobox3",
+	"page.bind_class": "Bind classes",
+	"page.classes": "Classes",
+	"page.input_server": "Please enter the server",
 	"page.set_server": "Set up services",
 	"page.tip_app_update": "Is there a new version of the system that needs to be updated?",
 	"page.tip_no_web_server": "Website address not entered, please reconfigure input",
@@ -73,6 +76,8 @@
 	"page.tip_get_file_fail_last": "file",
 	"page.update_success": "Update success",
 	"page.update_fail": "Update failed",
+	"page.get_classes_fail": "Failed to obtain shift information",
+	"page.please_login_after_admin_add_classes": "The shift list is empty. Please contact the administrator to add a shift before logging in!",
 
 	"page.tip_no_app_param": "No parameters have been configured for this feature; please reconfigure them.",
 	"page.select_user": "Select personnel",
@@ -121,6 +126,6 @@
 	"page.function_not_exist": "Function point does not exist!",
 	"page.function_not_edit_dlg": "This function point does not have an editing window configured!",
 	"page.no_find_attr_diaplay": "No attributes found to display!",
-	"page.illegal_dividend":  "Illegal dividend ",
+	"page.illegal_dividend": "Illegal dividend ",
 	"page.unrecognized_operator": "unrecognized operator "
 }
\ No newline at end of file
diff --git a/locale/es.json b/locale/es.json
index dbe3803..0a10653 100644
--- a/locale/es.json
+++ b/locale/es.json
@@ -58,11 +58,14 @@
 	"sys.unrealized": "No logrado",
 	"sys.select": "Escoger",
 	"sys.please": "Por favor.",
-	
+
 	"page.server": "Servidor",
 	"page.mobox3_app_type": "Tipo de aplicaci贸n PDA mobox3",
 	"page.mobox3_port": "Puerto de servicio mobox3",
-	"page.input_server": "Por favor, introduzca el servidor",	
+	"mobox3_bind_classes_when_logging_in": "Mobox3 se une a los turnos al iniciar sesi贸n",
+	"page.bind_classes": "Turnos vinculados",
+	"page.classes": "Turnos",
+	"page.input_server": "Por favor, introduzca el servidor",
 	"page.set_server": "Establecer servicio",
 	"page.tip_app_update": "驴El sistema tiene una nueva versi贸n, 驴 necesita actualizarse?",
 	"page.tip_no_web_server": "No se ha introducido la direcci贸n del sitio web, por favor reconfigurar la entrada",
@@ -72,6 +75,8 @@
 	"page.tip_get_file_fail_last": "",
 	"page.update_success": "Actualizaci贸n exitosa",
 	"page.update_fail": "Actualizaci贸n fallida",
+	"page.get_classes_fail": "Fall贸 la adquisici贸n del turno",
+	"page.please_login_after_admin_add_classes": "隆La lista de turnos est谩 vac铆a, 隆 P贸ngase en contacto con el Administrador para agregar turnos antes de iniciar sesi贸n!",
 
 	"page.tip_no_app_param": "El punto de funci贸n no est谩 configurado con par谩metros, por favor reconfigurar los par谩metros",
 	"page.select_user": "Selecci贸n de personas",
@@ -120,6 +125,6 @@
 	"page.function_not_exist": "隆隆 los puntos funcionales no existen!",
 	"page.function_not_edit_dlg": "隆隆 el punto de funci贸n no est谩 configurado para la ventana de edici贸n!",
 	"page.no_find_attr_diaplay": "隆隆 no se han encontrado atributos visibles!",
-	"page.illegal_dividend":  "Divisi贸n ilegal ",
+	"page.illegal_dividend": "Divisi贸n ilegal ",
 	"page.unrecognized_operator": "Operador no reconocido "
 }
\ No newline at end of file
diff --git a/locale/zh-Hans.json b/locale/zh-Hans.json
index b8508f8..9f4ec51 100644
--- a/locale/zh-Hans.json
+++ b/locale/zh-Hans.json
@@ -62,7 +62,9 @@
 	"page.server": "鏈嶅姟鍦板潃",
 	"page.mobox3_app_type": "mobox3 pda搴旂敤绫诲瀷",
 	"page.mobox3_port": "mobox3鏈嶅姟绔彛",
-
+	"page.mobox3_bind_classes_when_logging_in": "mobox3 鐧诲綍鏃剁粦瀹氱彮娆�,
+	"page.bind_classes": "缁戝畾鐝",
+	"page.classes": "鐝",
 	"page.input_server": "璇疯緭鍏ユ湇鍔″湴鍧�,
 	"page.set_server": "璁剧疆鏈嶅姟",
 	"page.tip_app_update": "绯荤粺鏈夋柊鐗堟湰锛屾槸鍚﹂渶瑕佹洿鏂帮紵",
@@ -73,6 +75,9 @@
 	"page.tip_get_file_fail_last": "鏂囦欢澶辫触",
 	"page.update_success": "鏇存柊鎴愬姛",
 	"page.update_fail": "鏇存柊澶辫触",
+	"page.get_classes_fail": "鑾峰彇鐝澶辫触",
+	"page.please_login_after_admin_add_classes": "鐝鍒楄〃涓虹┖锛岃鑱旂郴绠$悊鍛樻坊鍔犵彮娆″悗鍐嶇櫥褰�",
+	
 
 
 	"page.tip_no_app_param": "璇ュ姛鑳界偣鏈厤缃弬鏁帮紝璇烽噸鏂伴厤缃弬鏁�,
diff --git a/locale/zh-Hant.json b/locale/zh-Hant.json
index 2d0fbe9..1c20212 100644
--- a/locale/zh-Hant.json
+++ b/locale/zh-Hant.json
@@ -62,6 +62,9 @@
 	"page.server": "鏈嶅嫏鍦板潃",
 	"page.mobox3_app_type": "mobox3 pda鎳夌敤椤炲瀷",
 	"page.mobox3_port": "mobox3鏈嶅嫏鍩�,
+	"page.mobox3_bind_classes_when_logging_in": "mobox3鐧诲叆鏅傜秮瀹氱彮娆�,
+	"page.bind_classes": "缍佸畾鐝",
+	"page.classes": "鐝",
 	"page.input_server": "璜嬭几鍏ユ湇鍕欏湴鍧�,
 	"page.set_server": "瑷畾鏈嶅嫏",
 	"page.tip_app_update": "绯荤当鏈夋柊鐗堟湰锛屾槸鍚﹂渶瑕佹洿鏂帮紵",
@@ -72,6 +75,8 @@
 	"page.tip_get_file_fail_last": "妾旀澶辨晽",
 	"page.update_success": "鏇存柊鎴愬姛",
 	"page.update_fail": "鏇存柊澶辨晽",
+	"page.get_classes_fail": "鐛插彇鐝澶辨晽",
+	"page.please_login_after_admin_add_classes": "鐝娓呭柈鐐虹┖锛岃珛鑱郴绠$悊鍝℃坊鍔犵彮娆″緦鍐嶇櫥鍏ワ紒",
 
 	"page.tip_no_app_param": "瑭插姛鑳介粸鏈厤瀵樺弮鏁革紝璜嬮噸鏂伴厤瀵樺弮鏁�,
 	"page.select_user": "閬告搰浜哄摗",
diff --git a/pages/login/index.vue b/pages/login/index.vue
index de2efe3..67148bb 100644
--- a/pages/login/index.vue
+++ b/pages/login/index.vue
@@ -64,6 +64,18 @@
 				</view>
 			</uni-popup>
 			<!-- 鐗堟湰鍗囩骇寮圭獥缁撴潫 -->
+			<uni-popup ref="refClassDialog" type="dialog">
+				<uni-popup-dialog mode="info" :title="$t('page.bind_classes')" @confirm="dialogClassConfirm">
+					<view class="popup-class">
+						<view class="popup-class-item" :style="{color:item.text == selectedClasses ? '#27A6E1' :''}"
+							v-for="(item,index) in classesLst" :key="index" @click="clickSelectClass(item)">
+							<view class="ico"><uni-icons v-if="item.text == selectedClasses" type="checkmarkempty"
+									:color="item.text == selectedClasses ? '#27A6E1' :''" size="24"></uni-icons></view>
+							{{item.text}}
+						</view>
+					</view>
+				</uni-popup-dialog>
+			</uni-popup>
 		</view>
 		<!-- <button @click="onClickWms">鐧诲綍wms</button>
 		<view class="webview">
@@ -87,7 +99,9 @@
 		getApkVersionInfo
 	} from "@/api/index.js"
 	import buttonClickMixin from '@/mixins/button-click.js';
-
+	import {
+		dictGetInfo
+	} from "@/api/mobox.js"
 	import utils from "@/js/utils.js"
 	export default {
 		mixins: [buttonClickMixin],
@@ -105,6 +119,8 @@
 				downloadUrl: "", //瀹夊崜app涓嬭浇閾炬帴
 				percentage: 0, //涓嬭浇杩涘害
 				showBtns: true,
+				selectedClasses: "",
+				classesLst: [],
 			}
 		},
 		onShow() {
@@ -305,6 +321,7 @@
 				// }, 3000)
 				// }, 3000)
 			},
+
 			rememberPwd(e) { //璁颁綇瀵嗙爜
 				console.log(e.target);
 				utils.session.setValue('account', '');
@@ -388,10 +405,22 @@
 						pwd: this.userPwd
 					}
 					hideLoading()
+					const bindInfo = utils.session.getValue('bind_classes')
+					app.globalData.bindClasses = bindInfo?.checked || false
+					if (app.globalData.bindClasses) {
+						this.selectedClasses = bindInfo?.classes || ""
+						await this.loadClassesList()
+						if (this.classesLst.length > 0) {
+							this.$refs.refClassDialog.open()
 
+						}
+						return
+					}
 					uni.navigateTo({
 						url: '../index/index?args=9999999999'
 					})
+
+
 
 				} catch (ex) {
 					hideLoading()
@@ -413,6 +442,82 @@
 				plus.runtime.openURL(otherAppSchemeURL, function(error) {
 					console.error('鎵撳紑搴旂敤澶辫触: ', error);
 				}, "uni.TeatApp");
+			},
+			async loadClassesList() {
+				try {
+					var $this = this;
+					var dataInfo = {
+						dict_id: "",
+						dict_name: "WMS_CLASSES"
+					};
+					const res = await dictGetInfo(dataInfo)
+					var list = [];
+					(res.dict_item_list || []).forEach((item) => {
+						list.push({
+							text: item.value ? item.value : item.name,
+							value: item.name,
+						});
+					});
+
+					if (list.length == 0) {
+						uni.showModal({
+							title: this.translate("get_classes_fail"),
+							content: this.translate("page.please_login_after_admin_add_classes"),
+							showCancel: false,
+							confirmText: this.translateSys('close')
+						});
+						this.selectedClasses = ""
+					} else {
+						if (this.selectedClasses) {
+							const curIndex = list.findIndex((a) => {
+								return a.text == this.selectedClasses
+							})
+							if (curIndex < 0) {
+								this.selectedClasses = list[0].text
+							}
+						} else {
+							this.selectedClasses = list[0].text
+						}
+					}
+					this.classesLst = list
+
+
+				} catch (ex) {
+					let exStr = JSON.stringify(ex)
+					if (exStr == "{}")
+						exStr = ex
+					let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
+					uni.showModal({
+						title: this.translate("get_classes_fail"),
+						content: tip,
+						showCancel: false,
+						confirmText: this.translateSys('close')
+					});
+					
+					this.selectedClasses = ""
+					this.classesLst = []
+					// {
+					// 	text: "娴嬭瘯",
+					// 	value: "test"
+					// }, {
+					// 	text: "娴嬭瘯3",
+					// 	value: "test3"
+					// }
+				}
+			},
+			dialogClassConfirm() {
+
+				utils.session.setValue('bind_classes', {
+					checked: true,
+					classes: this.selectedClasses
+				})
+				getApp().globalData.classes = this.selectedClasses
+				uni.navigateTo({
+					url: '../index/index?args=9999999999'
+				})
+			},
+			clickSelectClass(item) {
+				this.selectedClasses = item.text
 			},
 			translate(t) {
 				if (typeof this.$t == "function") return this.$t(`page.${t}`)
@@ -597,5 +702,25 @@
 			border: none;
 			color: #fff;
 		}
+
+		.popup-class {
+			display: flex;
+			flex-direction: column;
+			width: 100%;
+
+			.popup-class-item {
+				padding: 20rpx 0;
+				border-bottom: 1px solid #eee;
+				display: flex;
+				flex-direction: row;
+
+				.ico {
+					width: 20px;
+					margin: 0 20rpx;
+
+				}
+			}
+
+		}
 	}
 </style>
\ No newline at end of file
diff --git a/pages/login/set.vue b/pages/login/set.vue
index 802e4fe..89bf498 100644
--- a/pages/login/set.vue
+++ b/pages/login/set.vue
@@ -23,6 +23,9 @@
 					<input type="number" class="input-wrapper" v-model="form.mongodbSPort">
 				</uni-forms-item>
 			</uni-section>
+			<view> {{translateSys('page.mobox3_bind_classes_when_logging_in')}}
+				<switch :checked="form.bindClasses" style="transform:scale(0.7)" @change="switchBindClasses" />
+			</view>
 		</uni-forms>
 		<button id='ok' type="default" @tap="onOk" class="btn_ok">{{translateSys("sys.ok")}}</button>
 
@@ -42,7 +45,9 @@
 					moboxSPort: "",
 					dataSPort: "",
 					mongodbSPort: "",
-				}
+					bindClasses: false
+				},
+
 			}
 		},
 		methods: {
@@ -50,12 +55,18 @@
 
 				utils.session.setValue('server', this.form.server);
 				utils.session.setValue('app_type', this.form.appType);
+				let bindInfo = utils.session.getValue('bind_classes')
+				utils.session.setValue('bind_classes', {
+					checked: this.form.bindClasses,
+					classes: bindInfo?.classes ||""
+				});
 				utils.session.setValue('mobox3_port', {
 					org: this.form.orgSPort,
 					mobox: this.form.moboxSPort,
 					data: this.form.dataSPort,
 					mongodb: this.form.mongodbSPort
 				});
+
 				const eventChannel = this.getOpenerEventChannel();
 				eventChannel.emit('exitSetEvent', this.form.server);
 
@@ -67,6 +78,9 @@
 
 				// });
 			},
+			switchBindClasses(e) {
+				this.form.bindClasses = e.detail.value
+			},
 			translateSys(t) {
 				if (typeof this.$t == "function") return this.$t(`${t}`)
 				else return t;
@@ -74,8 +88,10 @@
 		},
 		onLoad() {
 
+
 			this.form.server = utils.session.getValue('server') || "";
 			this.form.appType = utils.session.getValue('app_type') || "MES";
+			this.form.bindClasses = utils.session.getValue('bind_classes')?.checked || false
 			const mobox3Port = utils.session.getValue('mobox3_port');
 			this.form.orgSPort = mobox3Port?.org || 5101
 			this.form.moboxSPort = mobox3Port?.mobox || 5102
@@ -94,7 +110,7 @@
 		flex-direction: column !important;
 
 		.form {
-			padding: 20rpx;
+			padding: 10rpx 20rpx;
 
 		}
 
@@ -104,9 +120,13 @@
 			padding: 12rpx 8rpx;
 		}
 
+		.uni-forms-item {
+			margin: 20rpx;
+		}
+
 		button.btn_ok {
-			margin-top: 50rpx;
-			width: 100%;
+			margin-top: 10rpx 25rpx;
+			width: calc(100% - 50rpx);
 			padding: 20rpx;
 			line-height: 1.5;
 			background: #27A6E1;
diff --git a/pages/modal/3018_2.vue b/pages/modal/3018_2.vue
index 3a2d39d..674ed56 100644
--- a/pages/modal/3018_2.vue
+++ b/pages/modal/3018_2.vue
@@ -333,6 +333,25 @@
 								}
 							}
 						}
+						const app = getApp()
+						if (app.globalData.bindClasses) {
+							styledefHead.form.items.push({
+								name: "Input",
+								label: this.translate("classes"),
+								labelWidth: 100,
+								disabled: true,
+								value: app.globalData.classes,
+								setting: {
+									width: 100,
+									height: 50,
+								},
+								bind: {
+									attr: "",
+								},
+								fieldId: "S_CLASSES",
+							})
+							styledefHead.form.model["S_CLASSES"] = app.globalData.classes
+						}
 
 					}
 					$this.setData({
@@ -745,7 +764,8 @@
 				// open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦�uni-popup 缁勪欢涓婄粦瀹�type灞炴�
 				this.$refs.popup.open(this.popupType);
 
-				this.dataObjRunCustomEvent_Return(onSuffixClickEvent.id, '', onSuffixClickCallbackEvent.id,
+				this.dataObjRunCustomEvent_Return(onSuffixClickEvent.id, '', onSuffixClickCallbackEvent
+					.id,
 					item);
 			},
 			popupChange(e) {
@@ -858,7 +878,8 @@
 				// }
 				enviroment = Base64.encode(JSON.stringify(enviroment)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜
 				var input_param = Base64.encode(JSON.stringify(info.attr)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜
-				var global_attr = Base64.encode(JSON.stringify(this.global_attr)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜
+				var global_attr = Base64.encode(JSON.stringify(this
+					.global_attr)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜
 				if (info.dataJson)
 					info.dataJson = Base64.encode(JSON.stringify(info.dataJson)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜
 				var obj_attr = {};
@@ -906,14 +927,16 @@
 							});
 						} else uni.showModal({
 							title: this.translateSys("tip"),
-							content: tip + ',' + this.translateSys('tip') + ':' + data
+							content: tip + ',' + this.translateSys('tip') + ':' +
+								data
 								.ret,
 							showCancel: false,
 							confirmText: this.translateSys('close')
 						});
 						return false
 					} else {
-						var tip = data.info ? typeof data.info == 'string' ? data.info : data
+						var tip = data.info ? typeof data.info == 'string' ? data.info :
+							data
 							.info
 							.join(
 								'<br/>') : '';
@@ -1020,7 +1043,8 @@
 					class_id: $this.param.DataCls.id, //褰撳墠鏁版嵁绫籭d
 				}
 				extinfo = Base64.encode(JSON.stringify(extinfo)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜
-				var global_attr = Base64.encode(JSON.stringify($this.global_attr)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜
+				var global_attr = Base64.encode(JSON.stringify($this
+					.global_attr)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜
 				var obj_attr = {};
 				req.forEach(item2 => {
 					obj_attr[item2.attr] = item2.value;
@@ -1075,14 +1099,16 @@
 							});
 						} else uni.showModal({
 							title: $this.translateSys("tip"),
-							content: tip + ',' + $this.translateSys('tip') + ':' + data
+							content: tip + ',' + $this.translateSys('tip') + ':' +
+								data
 								.ret,
 							showCancel: false,
 							confirmText: $this.translateSys('close')
 						});
 						return false
 					} else {
-						var tip = data.info ? typeof data.info == 'string' ? data.info : data
+						var tip = data.info ? typeof data.info == 'string' ? data.info :
+							data
 							.info
 							.join(
 								'<br/>') : '';
@@ -1106,13 +1132,17 @@
 										var d = dialog({
 											title: '<i class="ace-icon fa fa-info-circle"></i> ' +
 												$this.translateSys("tip"),
-											content: $this.translateSys("quotation_mark_left") +
-												action.action_type + $this.translateSys(
+											content: $this.translateSys(
+													"quotation_mark_left") +
+												action.action_type + $this
+												.translateSys(
 													"quotation_mark_right") +
-												$this.translate("tip_action_unprocessed")
+												$this.translate(
+													"tip_action_unprocessed")
 										});
 										d.show();
-									} else if (action.action_type == 'open_select_userdlg') {
+									} else if (action.action_type ==
+										'open_select_userdlg') {
 										var style = val.style;
 										// style == 'user' ? '閫夋嫨浜哄憳' : style == 'department' ? '閫夋嫨閮ㄩ棬' : style == 'role' ? '閫夋嫨瑙掕壊' : ''
 										var param = {
@@ -1148,13 +1178,15 @@
 														inputparameter: data,
 														dataJson: [],
 													}
-													$this.DataObjRunCustomEvent(info,
+													$this.DataObjRunCustomEvent(
+														info,
 														param
 														.data_attr);
 												}
 											}
 										});
-									} else if (action.action_type == 'open_data_query_dlg') {
+									} else if (action.action_type ==
+										'open_data_query_dlg') {
 										var d = dialog({
 											title: '<i class="ace-icon fa fa-info-circle"></i> ' +
 												$this.translateSys("tip"),
@@ -1174,7 +1206,8 @@
 											$this.setData({
 												check_list: val.config
 											})
-											if (val.config.appear_style == 'sideslip') //鍒ゆ柇鏄惁鏄晶婊�+											if (val.config.appear_style ==
+												'sideslip') //鍒ゆ柇鏄惁鏄晶婊� 												$this.setData({
 													popupType: "right"
 												})
@@ -1194,7 +1227,8 @@
 												popupParam: popupParam
 											})
 										}
-									} else if (action.action_type == 'open_project_query_dlg') {
+									} else if (action.action_type ==
+										'open_project_query_dlg') {
 										//console.log(action.value.select_range);
 										//console.log(action.value.mulit_select);
 										var priRel = '-1';
@@ -1204,7 +1238,8 @@
 											priRel = '1';
 										else if (action.value.select_range == '鎴戝垱寤虹殑')
 											priRel = '2';
-										else if (action.value.select_range == '鎴戝弬涓庣殑' || action
+										else if (action.value.select_range == '鎴戝弬涓庣殑' ||
+											action
 											.value
 											.select_range == '鎴戝弬鍔犵殑')
 											priRel = '3';
@@ -1218,7 +1253,8 @@
 											req: req
 										}
 										uni.navigateTo({
-											url: '../selPrj/index?relation=' + priRel +
+											url: '../selPrj/index?relation=' +
+												priRel +
 												'&param=' +
 												JSON.stringify(param_),
 											events: {
@@ -1238,7 +1274,8 @@
 														var info = {
 															eventid: callback_eventid,
 															edtype: "2",
-															projectid: data[0].ID,
+															projectid: data[0]
+																.ID,
 															rclsid: "",
 															robjid: "",
 															userlogin: "",
@@ -1250,8 +1287,9 @@
 															dataJson: [],
 														}
 
-														$this.DataObjRunCustomEvent(
-															info);
+														$this
+															.DataObjRunCustomEvent(
+																info);
 													}
 												}
 											}
@@ -1261,12 +1299,14 @@
 											title: $this.translateSys("tip"),
 											content: $this.translateSys(
 													"quotation_mark_left") +
-												action.action_type + $this.translateSys(
+												action.action_type + $this
+												.translateSys(
 													"quotation_mark_right") + $this
 												.translate(
 													"tip_action_unprocessed"),
 											showCancel: false,
-											confirmText: $this.translateSys('close')
+											confirmText: $this.translateSys(
+												'close')
 										});
 									}
 								}
@@ -1274,9 +1314,11 @@
 						} else {
 							uni.showModal({
 								title: $this.translateSys('tip') + "5.2",
-								content: $this.translateSys("quotation_mark_left") +
+								content: $this.translateSys(
+										"quotation_mark_left") +
 									"before_click_button" + $this.translateSys(
-										"quotation_mark_right") + $this.translateSys(
+										"quotation_mark_right") + $this
+									.translateSys(
 										"comma") + 'event_id' + eventid,
 								showCancel: false,
 								confirmText: $this.translateSys('close')
@@ -1370,7 +1412,8 @@
 							});
 						} else uni.showModal({
 							title: this.translateSys("tip"),
-							content: tip + ',' + this.translateSys('tip') + ':' + data
+							content: tip + ',' + this.translateSys('tip') + ':' +
+								data
 								.ret,
 							showCancel: false,
 							confirmText: this.translateSys('close')
@@ -1378,7 +1421,8 @@
 						this.saving = false
 						return false
 					} else {
-						var tip = data.info ? typeof data.info == 'string' ? data.info : data
+						var tip = data.info ? typeof data.info == 'string' ? data.info :
+							data
 							.info
 							.join(
 								'<br/>') : '';
@@ -1401,7 +1445,8 @@
 						if (!this.param.After_Btn_Not_Refresh) {
 							//鍒锋柊
 							uni.redirectTo({
-								url: '../modal/3018_2?param=' + JSON.stringify(this.$data
+								url: '../modal/3018_2?param=' + JSON.stringify(this
+										.$data
 										.param) +
 									"&titlename=" + this.title
 							});
@@ -1594,7 +1639,8 @@
 						value: obj_attr[a],
 					})),
 				};
-				if (!this.after_ok.id.includes('{')) this.after_ok.id = '{' + this.after_ok.id + '}';
+				if (!this.after_ok.id.includes('{')) this.after_ok.id = '{' + this.after_ok.id +
+					'}';
 				var dataInfo = {
 					ed_type: "0",
 					start_transaction: true,
@@ -1634,7 +1680,8 @@
 							});
 						} else uni.showModal({
 							title: this.translateSys("tip"),
-							content: tip + ',' + this.translateSys('tip') + ':' + data
+							content: tip + ',' + this.translateSys('tip') + ':' +
+								data
 								.ret,
 							showCancel: false,
 							confirmText: this.translateSys('close')
@@ -1642,7 +1689,8 @@
 						this.saving = false
 						return false
 					} else {
-						var tip = data.info ? typeof data.info == 'string' ? data.info : data
+						var tip = data.info ? typeof data.info == 'string' ? data.info :
+							data
 							.info
 							.join(
 								'<br/>') : '';
@@ -1655,7 +1703,8 @@
 						if (!this.param.After_Btn_Not_Refresh) {
 							//鍒锋柊
 							uni.redirectTo({
-								url: '../modal/3018_2?param=' + JSON.stringify(this.$data
+								url: '../modal/3018_2?param=' + JSON.stringify(this
+										.$data
 										.param) +
 									"&titlename=" + this.title
 							});
@@ -1807,14 +1856,16 @@
 							});
 						} else uni.showModal({
 							title: this.translateSys("tip"),
-							content: tip + ',' + this.translateSys('tip') + ':' + data
+							content: tip + ',' + this.translateSys('tip') + ':' +
+								data
 								.ret,
 							showCancel: false,
 							confirmText: this.translateSys('close')
 						});
 						return false
 					} else {
-						var tip = data.info ? typeof data.info == 'string' ? data.info : data
+						var tip = data.info ? typeof data.info == 'string' ? data.info :
+							data
 							.info
 							.join(
 								'<br/>') : '';
@@ -1827,7 +1878,8 @@
 						if (!this.param.After_Btn_Not_Refresh) {
 							//鍒锋柊
 							uni.redirectTo({
-								url: '../modal/3018_2?param=' + JSON.stringify(this.$data
+								url: '../modal/3018_2?param=' + JSON.stringify(this
+										.$data
 										.param) +
 									"&titlename=" + this.title
 							});
@@ -1894,7 +1946,8 @@
 					cls_name: btn.Cls_Name,
 					Edit_dlg: btn.Edit_dlg
 				};
-				const url = '../modal/3018?param=' + JSON.stringify(data) + "&titlename=" + btn.Edit_dlg
+				const url = '../modal/3018?param=' + JSON.stringify(data) + "&titlename=" + btn
+					.Edit_dlg
 					.Name +
 					"&type=addDataObj"
 				var $this = this;
@@ -1906,7 +1959,8 @@
 							console.log(resData);
 							//鍒锋柊
 							uni.redirectTo({
-								url: '../modal/3018_2?param=' + JSON.stringify(this
+								url: '../modal/3018_2?param=' + JSON.stringify(
+										this
 										.$data.param) +
 									"&titlename=" + this.title
 							});
diff --git a/pages/modal/3037_2.vue b/pages/modal/3037_2.vue
index 9966a43..4ed0626 100644
--- a/pages/modal/3037_2.vue
+++ b/pages/modal/3037_2.vue
@@ -114,7 +114,7 @@
 <script>
 	import {
 		Base64
-	} from  '@/js/Base64.js';
+	} from '@/js/Base64.js';
 	import utils from "@/js/utils.js"
 	import {
 		appGetInfo,
@@ -263,16 +263,36 @@
 										$this.head_styledef.form
 											.model[ele.fieldId] = itemName;
 									}
-									$this.head_styledef.form.items[index].selections = selections.map((a) => {
-										return {
-											value: a.value,
-											text: a.label
-										}
-									})
+									$this.head_styledef.form.items[index].selections = selections.map((
+										a) => {
+											return {
+												value: a.value,
+												text: a.label
+											}
+										})
 								}
 
 							}
 						});
+						const app = getApp()
+						if (app.globalData.bindClasses) {
+							$this.head_styledef.form.items.push({
+								name: "Input",
+								label: this.translate("classes"),
+								labelWidth: 100,
+								disabled: true,
+								value: app.globalData.classes,
+								setting: {
+									width: 100,
+									height: 50,
+								},
+								bind: {
+									attr: "",
+								},
+								fieldId: "S_CLASSES",
+							})
+							$this.head_styledef.form.model["S_CLASSES"] = app.globalData.classes
+						}
 					}
 					if ($this.head_styledef.event?.length > 0) {
 						$this.head_styledef.event.forEach(async (a) => { //鍒ゆ柇鏄惁鏄垵濮嬪寲浜嬩欢
@@ -323,7 +343,8 @@
 									if (itemName) {
 										$this.detail1_styledef.form.items[ele.fieldId] = itemName;
 									}
-									$this.detail1_styledef.form.items[index].selections = selections.map((a) => {
+									$this.detail1_styledef.form.items[index].selections = selections.map((
+										a) => {
 										return {
 											value: a.value,
 											text: a.label
@@ -531,7 +552,7 @@
 												});
 											}
 										}
-									
+
 									}
 								} else if (data.action[i].action_type == 'set_dlg_attr_show') {
 									var result = action.value;
@@ -1109,7 +1130,7 @@
 					//瀛愭暟鎹被鎵爜鏌ヨ鏁版嵁
 					if (isflag) {
 						uni.hideKeyboard();
-						this.scanCodeVal =newVal;
+						this.scanCodeVal = newVal;
 						var eventid = this.param.Scan_Code.Input_Change_Event.ID;
 						if (eventid) {
 							//涓绘暟鎹被灞炴�
@@ -1587,7 +1608,7 @@
 											}
 
 										}
-										
+
 									}
 								} else if (action.action_type == 'set_dlg_attr_show') {
 									var result = action.value;
@@ -1832,7 +1853,7 @@
 											}
 										}
 										var length = 0;
-									
+
 									}
 								} else if (action.action_type == 'set_global_attr') {
 									$this.$actiontr = action.value || [];
diff --git a/pages/modal/3200.vue b/pages/modal/3200.vue
index f07e6d6..dc46f40 100644
--- a/pages/modal/3200.vue
+++ b/pages/modal/3200.vue
@@ -341,7 +341,8 @@
 										$this.head_styledef.form
 											.model[ele.fieldId] = itemName;
 									}
-									$this.head_styledef.form.items[index].selections = selections.map((a) => {
+									$this.head_styledef.form.items[index].selections = selections.map((
+										a) => {
 										return {
 											value: a.value,
 											text: a.label
@@ -352,6 +353,25 @@
 							}
 
 						});
+						const app = getApp()
+						if (app.globalData.bindClasses) {
+							$this.head_styledef.form.items.push({
+								name: "Input",
+								label: this.translate("classes"),
+								labelWidth: 100,
+								disabled: true,
+								value: app.globalData.classes,
+								setting: {
+									width: 100,
+									height: 50,
+								},
+								bind: {
+									attr: "",
+								},
+								fieldId: "S_CLASSES",
+							})
+							$this.head_styledef.form.model["S_CLASSES"] = app.globalData.classes
+						}
 
 					}
 				} catch (ex) {
diff --git a/pages/modal/3202.vue b/pages/modal/3202.vue
index 86dd61b..3da57fa 100644
--- a/pages/modal/3202.vue
+++ b/pages/modal/3202.vue
@@ -217,6 +217,25 @@
 							}
 
 						});
+						const app = getApp()
+						if (app.globalData.bindClasses) {
+							$this.head_styledef.form.items.push({
+								name: "Input",
+								label: this.translate("classes"),
+								labelWidth: 100,
+								disabled: true,
+								value: app.globalData.classes,
+								setting: {
+									width: 100,
+									height: 50,
+								},
+								bind: {
+									attr: "",
+								},
+								fieldId: "S_CLASSES",
+							})
+							$this.head_styledef.form.model["S_CLASSES"] = app.globalData.classes
+						}
 
 					}
 				} catch (ex) {
diff --git a/pages/modal/5601.vue b/pages/modal/5601.vue
index 1dca303..50bea59 100644
--- a/pages/modal/5601.vue
+++ b/pages/modal/5601.vue
@@ -490,7 +490,25 @@
 								}
 							}
 						}
-
+						const app = getApp()
+						if (app.globalData.bindClasses) {
+							styledefHead.form.items.push({
+								name: "Input",
+								label: this.translate("classes"),
+								labelWidth: 100,
+								disabled: true,
+								value: app.globalData.classes,
+								setting: {
+									width: 100,
+									height: 50,
+								},
+								bind: {
+									attr: "",
+								},
+								fieldId: "S_CLASSES",
+							})
+							styledefHead.form.model["S_CLASSES"] = app.globalData.classes
+						}
 					}
 					this.setData({
 						head_styledef: styledefHead
diff --git a/pages/modal/form/index.vue b/pages/modal/form/index.vue
index bc51570..aee1e43 100644
--- a/pages/modal/form/index.vue
+++ b/pages/modal/form/index.vue
@@ -43,7 +43,7 @@
 <script>
 	import {
 		Base64
-	} from  '@/js/Base64.js';
+	} from '@/js/Base64.js';
 	import {
 		dictGetInfo
 	} from "@/api/mobox.js"
@@ -292,6 +292,25 @@
 									}
 								}
 							}
+						}
+						const app = getApp()
+						if (app.globalData.bindClasses) {
+							styledefHead.form.items.push({
+								name: "Input",
+								label: this.translate("classes"),
+								labelWidth: 100,
+								disabled: true,
+								value: app.globalData.classes,
+								setting: {
+									width: 100,
+									height: 50,
+								},
+								bind: {
+									attr: "",
+								},
+								fieldId: "S_CLASSES",
+							})
+							styledefHead.form.model["S_CLASSES"] = app.globalData.classes
 						}
 
 					}
@@ -900,7 +919,6 @@
 
 					//鍒ゆ柇琛ㄥ崟閲屾槸鍚︽湁杩斿洖瀛楁锛屾病鏈夊氨瑁呰浇鍒癿odel閲岋紝鐐瑰嚮纭畾鎻愪氦鐨勬椂鍊欏甫涓婅繖浜涙暟鎹� 				})
-				console.log(head_styledef)
 				this.setData({
 					head_styledef: head_styledef
 				})
@@ -1838,7 +1856,7 @@
 			flex-direction: column;
 		}
 
-	
+
 		.view-content {
 			display: flex;
 			flex: 1;

--
Gitblit v1.9.1