From b159a70832ec5f678a11a3df1f49c27ffa93b75d Mon Sep 17 00:00:00 2001
From: cuiqian2004 <cuiqian2004@163.com>
Date: 星期五, 27 十二月 2024 15:46:16 +0800
Subject: [PATCH] mobox23037 3018 扫码自动跳到下一个输入框

---
 js/utils.js                  |   19 -
 pages/modal/3018_2.vue       |   62 ++++++
 pages/modal/ms_classAttr.vue |  349 ++++++++++++++++++++++++----------
 manifest.json                |    4 
 pages/modal/5600.vue         |   19 -
 pages/modal/classAttr.vue    |  128 +++++++++++-
 6 files changed, 432 insertions(+), 149 deletions(-)

diff --git a/js/utils.js b/js/utils.js
index 9413133..3fbe9fd 100644
--- a/js/utils.js
+++ b/js/utils.js
@@ -8,24 +8,19 @@
 		}
 		return false
 	},
-	attrTypeIsNumber: function(type) {
-		if (attrTypeIsInt(type) || attrTypeIsFloat(type)) {
-			return true
-		}
-		return false
-	},
-	attrTypeIsFloat: function(type) {
-		if (type == '娴偣鏁� ||  type == 'float') {
-			return true
-		}
-		return false
-	},
 	attrTypeIsInt: function(type) {
 		if (type == '鏁存暟' || type == 'int') {
 			return true
 		}
 		return false
 	},
+
+	attrTypeIsFloat: function(type) {
+		if (type == '娴偣鏁� ||  type == 'float') {
+			return true
+		}
+		return false
+	},
 	attrTypeIsDict: function(type) {
 		if (type == '瀛楀吀' || type == '瀛楀吀-瀛楃涓� || type == '瀛楀吀-鏁存暟' || type == 'dict' || type == 'dict-char' ||
 			type == 'dict-int') {
diff --git a/manifest.json b/manifest.json
index 10287f4..b2b542d 100644
--- a/manifest.json
+++ b/manifest.json
@@ -2,8 +2,8 @@
     "name" : "MoboxPDA",
     "appid" : "__UNI__56D451E",
     "description" : "",
-    "versionName" : "1.1.36",
-    "versionCode" : 1136,
+    "versionName" : "1.1.37",
+    "versionCode" : 1137,
     "transformPx" : false,
     /* 5+App鐗规湁鐩稿叧 */
     "app-plus" : {
diff --git a/pages/modal/3018_2.vue b/pages/modal/3018_2.vue
index 230a47d..4c59b99 100644
--- a/pages/modal/3018_2.vue
+++ b/pages/modal/3018_2.vue
@@ -695,6 +695,66 @@
 						}
 						this.DataObjRunCustomEvent(info, '');
 					}
+					if (item.value) { //绗竴涓緭鍏ユ涓嶄负绌�+						//鍒濆鍖栵紝涓嬩釜杈撳叆妗唂ocus灞炴�
+						var findd = false
+						for (let i in $this.head_styledef.form.items) {
+							const ele = $this.head_styledef.form.items[i]
+
+							if (ele.name != "Layout") {
+								if (ele.name == 'Input' || ele.name == 'InputNumber') {
+									if (attr == ele.fieldId) {
+										findd = true
+									} else {
+										if (findd) {
+											$this.setData({
+												focusFieldId: ele.fieldId
+											})
+											break
+										}
+
+									}
+
+								}
+							} else {
+								if (findd) {
+									let curIndex = ele.setting.colList.findIndex((col, index2, arr) => {
+										return (col.name == 'Input' || col.name == 'InputNumber');
+									})
+									if (curIndex > -1) {
+										$this.setData({
+											focusFieldId: ele.setting.colList[curIndex]
+												.fieldId
+										})
+										break
+									}
+
+								} else {
+									let curIndex = ele.setting.colList.findIndex((col, index2, arr) => {
+										return attr == col.fieldId;
+									})
+									if (curIndex > -1) {
+										findd = true
+										let curIndex2 = ele.setting.colList.findIndex((col, index2, arr) => {
+											return (col.name == 'Input' || col.name ==
+													'InputNumber') &&
+												index2 >
+												curIndex;
+										})
+										if (curIndex2 > -1) {
+											$this.setData({
+												focusFieldId: ele.setting.colList[curIndex]
+													.fieldId
+											})
+											break
+										}
+									}
+								}
+
+							}
+						}
+					}
+
 				}
 			},
 			onClick(item) {
@@ -734,7 +794,7 @@
 
 			},
 			onchange(item) {
-				// console.log("onchange",item);
+				console.log("onchange", item);
 				if (item.oldvalue != item.value && item.value.trim() != "") {
 					item.oldvalue = item.value;
 					var attr = item.fieldId;
diff --git a/pages/modal/5600.vue b/pages/modal/5600.vue
index 0864c5f..3db80aa 100644
--- a/pages/modal/5600.vue
+++ b/pages/modal/5600.vue
@@ -537,25 +537,6 @@
 					item.value = result.decodedata;
 					// uni.hideKeyboard();
 					var $this = this;
-
-					// if(item.value=='B61DF51DD50645CEB9D152DD77D2466A'){
-					// 	this.active_id = 'B61DF51DD50645CEB9D152DD77D2466A';
-					// 	// var target = uni.createSelectorQuery().select('#B61DF51DD50645CEB9D152DD77D2466A');
-					// 	uni.createSelectorQuery()
-					// 	    .select("#tabpanel")//瀵瑰簲澶栧眰鑺傜偣
-					// 	    .boundingClientRect((container) => {
-					// 	        uni.createSelectorQuery()
-					// 	        .select("#B61DF51DD50645CEB9D152DD77D2466A")//鐩爣鑺傜偣
-					// 	        .boundingClientRect((target) => {
-					// 	            uni.pageScrollTo({
-					// 	            scrollTop: target.top - container.top,//婊氬姩鍒板疄闄呰窛绂绘槸鍏冪礌璺濈椤堕儴鐨勮窛绂诲噺鍘绘渶澶栧眰鐩掑瓙鐨勬粴鍔ㄨ窛绂�-					// 	            });
-					// 	        })
-					// 	        .exec();
-					// 	    })
-					// 	    .exec();
-					// }
-					//console.log(item);
 					if (item.oldvalue != item.value && item.value.trim() != "") {
 						item.oldvalue = item.value;
 						var attr = item.fieldId;
diff --git a/pages/modal/classAttr.vue b/pages/modal/classAttr.vue
index 04000d1..c61f7b0 100644
--- a/pages/modal/classAttr.vue
+++ b/pages/modal/classAttr.vue
@@ -24,14 +24,17 @@
 							</div>
 							<input
 								:type="attr.Type=='鏁存暟' || attr.Type=='娴偣鏁� || attr.Type=='int' || attr.Type=='float'?'number':'text'"
-								:value="attr.Value" @focus="ontap" @blur="onevent" v-if="attr.Height=='1'"
+								:value="attr.Value" :focus="focusField == `${index}-${iindex}`" @focus="ontap"
+								@click="onClick(index,iindex)" @blur="onevent" v-if="attr.Height=='1'"
 								:data-index="index" :data-iindex="iindex" :style="{'width':attr.Width}"
 								:disabled="attr.edit?false:true">
 							<!-- =='flase'?true:false -->
-							<textarea :value="attr.Value" @focus="ontap" @blur="onevent" v-else-if="attr.Height=='2'"
+							<textarea :value="attr.Value" :focus="focusField == `${index}-${iindex}`" @focus="ontap"
+								@click="onClick(index,iindex)" @blur="onevent" v-else-if="attr.Height=='2'"
 								:data-index="index" :data-iindex="iindex" style="height:60px;"
 								:style="{'width':attr.Width}" :disabled="attr.edit?false:true"></textarea>
-							<textarea :value="attr.Value" @focus="ontap" @blur="onevent" v-else-if="attr.Height=='3'"
+							<textarea :value="attr.Value" :focus="focusField == `${index}-${iindex}`" @focus="ontap"
+								@click="onClick(index,iindex)" @blur="onevent" v-else-if="attr.Height=='3'"
 								:data-index="index" :data-iindex="iindex" style="height:90px;"
 								:style="{'width':attr.Width}" :disabled="attr.edit?false:true"></textarea>
 							<!-- 鎵爜鍚庝簨浠惰繑鍥�-->
@@ -47,16 +50,19 @@
 							<p class="tx_title2" :style="{'width':classattr.title_p_wdith+'%'}">{{attr.DispName}}:</p>
 							<input
 								:type="attr.Type=='鏁存暟' || attr.Type=='娴偣鏁� || attr.Type=='int' || attr.Type=='float' ?'number':'text'"
-								class="attr_field" :value="attr.Value" @focus="ontap" @blur="onevent"
-								v-if="attr.Height=='1'" :data-index="index" :data-iindex="iindex"
+								class="attr_field" :value="attr.Value" :focus="focusField == `${index}-${iindex}`"
+								@focus="ontap" @blur="onevent" @click="onClick(index,iindex)" v-if="attr.Height=='1'"
+								:data-index="index" :data-iindex="iindex"
 								:style="{'width': attr.Width.split('%')[0] - classattr.title_p_wdith - (attr.notempty==true?10:5) - (attr.ext_button==true?9:0) +'%'}"
 								:disabled="attr.edit?false:true">
-							<textarea class="attr_field" :value="attr.Value" @focus="ontap" @blur="onevent"
+							<textarea class="attr_field" :value="attr.Value" :focus="focusField == `${index}-${iindex}`"
+								@focus="ontap" @blur="onevent" @click="onClick(index,iindex)"
 								v-else-if="attr.Height=='2'" :data-index="index" :data-iindex="iindex"
 								style="height:60px;"
 								:style="{'width': attr.Width.split('%')[0] - classattr.title_p_wdith - (attr.notempty==true?10:5) - (attr.ext_button==true?9:0) +'%'}"
 								:disabled="attr.edit?false:true"></textarea>
-							<textarea class="attr_field" :value="attr.Value" @focus="ontap" @blur="onevent"
+							<textarea class="attr_field" :value="attr.Value" :focus="focusField ==`${index}-${iindex}`"
+								@focus="ontap" @blur="onevent" @click="onClick(index,iindex)"
 								v-else-if="attr.Height=='3'" :data-index="index" :data-iindex="iindex"
 								style="height:90px;"
 								:style="{'width': attr.Width.split('%')[0] - classattr.title_p_wdith - (attr.notempty==true?10:5) - (attr.ext_button==true?9:0) +'%'}"
@@ -181,7 +187,8 @@
 								<a class="class_attr_add_per" @tap="classAttr_AddPer(index,iindex)"><i
 										class="ace-icon fa fa-plus-circle"></i></a>
 							</div>
-							<input type="text" :value="attr.Value" :style="{'width':attr.Width}" disabled="true" :maxlength="-1">
+							<input type="text" :value="attr.Value" :style="{'width':attr.Width}" disabled="true"
+								:maxlength="-1">
 						</view>
 						<view v-if="classattr.control_style=='宸﹀彸甯冨眬'">
 							<p class="tx_title2" :style="{'width':classattr.title_p_wdith+'%'}">{{attr.DispName}}:</p>
@@ -204,7 +211,8 @@
 								<a href="#" class="class_attr_add_prj" @tap="classAttr_AddPrj(index,iindex)"><i
 										class="ace-icon fa fa-plus-circle"></i></a>
 							</div>
-							<input type="text" :value="attr.Value" :style="{'width':attr.Width}" disabled="true" :maxlength="-1">
+							<input type="text" :value="attr.Value" :style="{'width':attr.Width}" disabled="true"
+								:maxlength="-1">
 						</view>
 						<view v-if="classattr.control_style=='宸﹀彸甯冨眬'">
 							<p class="tx_title2" :style="{'width':classattr.title_p_wdith+'%'}">{{attr.DispName}}:</p>
@@ -305,6 +313,8 @@
 			return {
 				title: '鏂板',
 				param: {},
+				focusField: "",
+				focusOldField: "",
 				classAttrList: [],
 				classGridStyle: [],
 				edit_inital_event: "", //寮圭獥鍒濆鍖栦簨浠禝D
@@ -540,15 +550,94 @@
 					delta: 1 //杩斿洖灞傛暟锛�鍒欎笂涓婇〉
 				});
 			},
+			onClick(index, iindex) {
+				this.focusField = `${index}-${iindex}`
+			},
+
 			ontap(e) { //鎵爜鍔熻兘
 				var $ele = e;
 				//console.log(e.target)
+				this.focusOldField = `${e.target.dataset['index']}-${e.target.dataset['iindex']}`
 				getApp().onScan((result) => {
 					//console.log(result.decodedata);
 					this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].Value =
 						result.decodedata;
 					uni.hideKeyboard();
 					this.onevent($ele, result.decodedata);
+					if (result.decodedata) { //绗竴涓緭鍏ユ涓嶄负绌�+						//鍒濆鍖栵紝涓嬩釜杈撳叆妗唂ocus灞炴�
+						const attrs = this.$data.classAttrList[e.target.dataset['index']].Attr || []
+						var findd = false
+						for (let i = e.target.dataset['iindex'] + 1; i < attrs.length; i++) {
+							const ele = attrs[i]
+
+							if (ele.hidden != true) {
+								if (utils.classUtils.attrTypeIsString(ele.Type) || utils.classUtils
+											.attrTypeIsInt(ele.Type)) {
+									const field = `${e.target.dataset['index']}-${i}`
+									if (this
+										.focusOldField ==
+										field) {
+										this.setData({
+											focusField: ""
+										})
+									} else {
+										this.setData({
+											focusField: this
+												.focusOldField
+										})
+									}
+									this.$nextTick(() => {
+										this.setData({
+											focusField: field
+										})
+									});
+									findd = true
+									break
+								}
+							}
+
+
+						}
+						if (findd) {
+							return
+						}
+						for (let i = e.target.dataset['index'] + 1; i < this.classAttrList.length; i++) {
+							const attrs2 = this.classAttrList[i].Attr || []
+							for (let ii in attrs2) {
+								const ele = attrs2[ii]
+								if (ele.hidden != true) {
+									if (utils.classUtils.attrTypeIsString(ele.Type) || utils.classUtils
+										.attrTypeIsInt(ele.Type)) {
+										const field = `${i}-${ii}`
+										if (this
+											.focusOldField ==
+											field) {
+											this.setData({
+												focusField: ""
+											})
+										} else {
+											this.setData({
+												focusField: this
+													.focusOldField
+											})
+										}
+										this.$nextTick(() => {
+											this.setData({
+												focusField: field
+											})
+										});
+										break
+									}
+								}
+							}
+							if (findd) {
+								break
+							}
+						}
+
+					}
+
 				})
 			},
 			onarrow(index, open) {
@@ -972,8 +1061,12 @@
 							icon: "success",
 							duration: 3000
 						});
-
-					// this.class_attr_init();
+					//鍒锋柊
+					uni.redirectTo({
+						url: '../modal/classAttr?param=' + JSON.stringify(this.$data.param) +
+							"&titlename=" + this.$data.title
+					});
+					//this.class_attr_init();
 
 				}).catch(ex => {
 					console.log(ex);
@@ -1054,6 +1147,16 @@
 												ca.Value = '璇烽�鎷�;
 											if (utils.classUtils.attrTypeIsBool(ca.Type))
 												ca.Value = false;
+											if (ca.hidden != true) {
+												if (utils.classUtils.attrTypeIsString(ca.Type) || utils.classUtils
+													.attrTypeIsInt(ca.Type) || utils.classUtils.attrTypeIsFloat(ca.Type)) {
+													if (this.focusField == "") {
+														this.setData({
+															focusField: `${newattrlist.length}-${attr.length}`
+														})
+													}
+												}
+											}
 
 											attr.push(ca);
 										}
@@ -1221,8 +1324,7 @@
 										}
 									}
 								}
-							}
-							if (action_type == 'open_select_userdlg') {
+							} else if (action_type == 'open_select_userdlg') {
 								uni.showModal({
 									title: "閿欒2.2",
 									content: "open_select_userdlg杩欎釜action_type杩樻湭澶勭悊锛�,
diff --git a/pages/modal/ms_classAttr.vue b/pages/modal/ms_classAttr.vue
index 6bb856f..335e8d2 100644
--- a/pages/modal/ms_classAttr.vue
+++ b/pages/modal/ms_classAttr.vue
@@ -30,16 +30,21 @@
 							<image class="divX" src="../../images/msg_50_new.png"></image>-->
 							<input
 								:type="attr.Type=='鏁存暟' || attr.Type=='娴偣鏁� || attr.Type=='int' || attr.Type=='float'?'number':'text'"
-								:value="attr.Value" @focus="ontap" @blur="onevent" v-if="attr.Height=='1'"
-								:data-index="index" :data-iindex="iindex" :style="{'width':attr.Width}"
-								:disabled="attr.edit?false:true">
+								:value="attr.Value" :focus="focusField ==`${index}-${iindex}`" @focus="ontap"
+								@click="onClick(index,iindex)" @blur="onevent"
+								v-if="attr.Height=='1'" :data-index="index" :data-iindex="iindex"
+								:style="{'width':attr.Width}" :disabled="attr.edit?false:true">
 							<!-- =='flase'?true:false -->
-							<textarea :value="attr.Value" @focus="ontap" @blur="onevent" v-else-if="attr.Height=='2'"
-								:data-index="index" :data-iindex="iindex" style="height:60px;"
-								:style="{'width':attr.Width}" :disabled="attr.edit?false:true"></textarea>
-							<textarea :value="attr.Value" @focus="ontap" @blur="onevent" v-else-if="attr.Height=='3'"
-								:data-index="index" :data-iindex="iindex" style="height:90px;"
-								:style="{'width':attr.Width}" :disabled="attr.edit?false:true"></textarea>
+							<textarea :value="attr.Value" :focus="focusField == `${index}-${iindex}`" @focus="ontap"
+								@click="onClick(index,iindex)"  @blur="onevent"
+								v-else-if="attr.Height=='2'" :data-index="index" :data-iindex="iindex"
+								style="height:60px;" :style="{'width':attr.Width}"
+								:disabled="attr.edit?false:true"></textarea>
+							<textarea :value="attr.Value" :focus="focusField == `${index}-${iindex}`" @focus="ontap"
+								@click="onClick(index,iindex)" @blur="onevent"
+								v-else-if="attr.Height=='3'" :data-index="index" :data-iindex="iindex"
+								style="height:90px;" :style="{'width':attr.Width}"
+								:disabled="attr.edit?false:true"></textarea>
 							<!-- </div> -->
 						</view>
 						<view v-if="classattr.control_style=='宸﹀彸甯冨眬'">
@@ -51,16 +56,19 @@
 								<image class="divX" src="../../images/msg_50_new.png"></image> -->
 							<input
 								:type="attr.Type=='鏁存暟' || attr.Type=='娴偣鏁� || attr.Type=='int' || attr.Type=='float' ?'number':'text'"
-								class="attr_field" :value="attr.Value" @focus="ontap" @blur="onevent"
-								v-if="attr.Height=='1'" :data-index="index" :data-iindex="iindex"
+								class="attr_field" :value="attr.Value" :focus="focusField ==`${index}-${iindex}`"
+								@focus="ontap" @blur="onevent" @click="onClick(index,iindex)" v-if="attr.Height=='1'"
+								:data-index="index" :data-iindex="iindex"
 								:style="{'width': attr.Width.split('%')[0] - classattr.title_p_wdith - (attr.notempty==true?10:5) - (attr.ext_button==true?9:0) +'%'}"
 								:disabled="attr.edit?false:true">
-							<textarea class="attr_field" :value="attr.Value" @focus="ontap" @blur="onevent"
+							<textarea class="attr_field" :value="attr.Value" :focus="focusField == `${index}-${iindex}`"
+								@focus="ontap" @blur="onevent" @click="onClick(index,iindex)"
 								v-else-if="attr.Height=='2'" :data-index="index" :data-iindex="iindex"
 								style="height:60px;"
 								:style="{'width': attr.Width.split('%')[0] - classattr.title_p_wdith - (attr.notempty==true?10:5) - (attr.ext_button==true?9:0) +'%'}"
 								:disabled="attr.edit?false:true"></textarea>
-							<textarea class="attr_field" :value="attr.Value" @focus="ontap" @blur="onevent"
+							<textarea class="attr_field" :value="attr.Value" :focus="focusField == `${index}-${iindex}`"
+								@focus="ontap" @blur="onevent" @click="onClick(index,iindex)"
 								v-else-if="attr.Height=='3'" :data-index="index" :data-iindex="iindex"
 								style="height:90px;"
 								:style="{'width': attr.Width.split('%')[0] - classattr.title_p_wdith - (attr.notempty==true?10:5) - (attr.ext_button==true?9:0) +'%'}"
@@ -195,7 +203,8 @@
 								<a class="class_attr_add_per" @tap="classAttr_AddPer(index,iindex)"><i
 										class="ace-icon fa fa-plus-circle"></i></a>
 							</div>
-							<input type="text" :value="attr.Value" :style="{'width':attr.Width}" disabled="true" :maxlength="-1">
+							<input type="text" :value="attr.Value" :style="{'width':attr.Width}" disabled="true"
+								:maxlength="-1">
 						</view>
 						<view v-if="classattr.control_style=='宸﹀彸甯冨眬'">
 							<p class="tx_title2"
@@ -221,7 +230,8 @@
 								<a href="#" class="class_attr_add_prj" @tap="classAttr_AddPrj(index,iindex)"><i
 										class="ace-icon fa fa-plus-circle"></i></a>
 							</div>
-							<input type="text" :value="attr.Value" :style="{'width':attr.Width}" disabled="true" :maxlength="-1">
+							<input type="text" :value="attr.Value" :style="{'width':attr.Width}" disabled="true"
+								:maxlength="-1">
 						</view>
 						<view v-if="classattr.control_style=='宸﹀彸甯冨眬'">
 							<p class="tx_title2"
@@ -292,7 +302,8 @@
 					<!-- 宸﹀彸甯冨眬 -->
 					<p class="tx_title2">{{param.Scan_Code.Name}}:</p>
 					<input type="text" class="attr_field" :value="scanCodeVal" @focus="scan_ontap" @blur="scan_onevent"
-						:style="param.Scan_Code.Have_Select_Button==true?'width: '+(100-(param.Scan_Code.Name.length * 5)-14)+'%;':'width: '+(100-(param.Scan_Code.Name.length * 5)-5)+'%;'" :maxlength="-1">
+						:style="param.Scan_Code.Have_Select_Button==true?'width: '+(100-(param.Scan_Code.Name.length * 5)-14)+'%;':'width: '+(100-(param.Scan_Code.Name.length * 5)-5)+'%;'"
+						:maxlength="-1">
 					<div class="text-right2" v-if="param.Scan_Code.Have_Select_Button==true">
 						<a @tap="scan_classAttr_extButton()"><i class="ace-icon fa"
 								:class="param.Scan_Code.Img?param.Scan_Code.Img:'fa-plus-circle'"></i></a>
@@ -662,6 +673,8 @@
 			return {
 				title: '鏂板',
 				param: {},
+				focusField: "",
+				focusOldField: "",
 				classAttrList: [],
 				classGridStyle: [],
 				edit_inital_event: "", //寮圭獥鍒濆鍖栦簨浠禝D
@@ -760,6 +773,7 @@
 					this.subClass_attr_init();
 
 				} catch (ex) {
+					console.log(ex)
 					uni.showModal({
 						title: "閿欒1",
 						content: ex.errMsg,
@@ -1063,6 +1077,7 @@
 						class_id: clsid,
 					};
 					const result = await classAttrList(dataInfo) || []
+					console.log("classAttrGetList", result)
 					return result
 				} catch (ex) {
 					// console.log(ex);
@@ -1071,10 +1086,10 @@
 						exStr = ex
 					let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
 					uni.showModal({
-						title: this.translateSys("error") + " 1.1",
+						title: "閿欒1.1",
 						content: tip,
 						showCancel: false,
-						confirmText: this.translateSys("cancel")
+						confirmText: "鍙栨秷"
 					});
 					return []
 				};
@@ -1090,7 +1105,7 @@
 						type: '2'
 					};
 					const result = await classGridStyleInfo(gridstyleInfo)
-					result.style_def = JSON.parse(styledef);
+					result.StyleDef = JSON.parse(result.StyleDef);
 					return result
 
 				} catch (ex) {
@@ -1100,18 +1115,23 @@
 						exStr = ex
 					let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
 					uni.showModal({
-						title: this.translateSys("error") + " 1.2",
+						title: "閿欒1.2",
 						content: tip,
 						showCancel: false,
-						confirmText: this.translateSys("cancel")
+						confirmText: "鍙栨秷"
 					});
 					return {}
 				};
 			},
 
-
+			onClick(index, iindex) {
+				this.focusField = `${index}-${iindex}`
+					console.log("onClick", this.focusField)
+			},
+		
 			ontap(e) { //鎵爜鍔熻兘
 				//console.log(e.target)
+				this.focusOldField = `${e.target.dataset['index']}-${e.target.dataset['iindex']}`
 				getApp().onScan((result) => {
 					//console.log(result.decodedata);
 					var isVal = this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset[
@@ -1123,7 +1143,8 @@
 					// }
 					//涓绘暟鎹被鎵爜鏌ヨ鏁版嵁
 					if (isVal != result.decodedata) {
-						this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']]
+						this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset[
+								'iindex']]
 							.Value = result.decodedata;
 						uni.hideKeyboard();
 						//瀛愭暟鎹被鎵爜鍖轰簨浠惰剼鏈�@@ -1158,18 +1179,93 @@
 
 							this.scan_DataObjRunCustomEvent(info, "");
 						}
+						if (result.decodedata) { //绗竴涓緭鍏ユ涓嶄负绌�+							//鍒濆鍖栵紝涓嬩釜杈撳叆妗唂ocus灞炴�
+							const attrs = this.$data.classAttrList[e.target.dataset['index']].Attr || []
+							var findd = false
+							for (let i = e.target.dataset['iindex'] + 1; i < attrs.length; i++) {
+								const ele = attrs[i]
+
+								if (ele.hidden != true) {
+									if (utils.classUtils.attrTypeIsString(ele.Type) || utils.classUtils
+											.attrTypeIsInt(ele.Type)) {
+										const field = `${e.target.dataset['index']}-${i}`
+										if (this
+											.focusOldField ==
+											field) {
+											this.setData({
+												focusField: ""
+											})
+										} else {
+											this.setData({
+												focusField: this
+													.focusOldField
+											})
+										}
+										this.$nextTick(() => {
+											this.setData({
+												focusField: field
+											})
+										});
+										findd = true
+										break
+									}
+								}
+
+
+							}
+							if (findd) {
+								return
+							}
+							for (let i = e.target.dataset['index'] + 1; i < this.classAttrList.length; i++) {
+								const attrs2 = this.classAttrList[i].Attr || []
+								for (let ii in attrs2) {
+									const ele = attrs2[ii]
+									if (ele.hidden != true) {
+										if (utils.classUtils.attrTypeIsString(ele.Type) || utils.classUtils
+											.attrTypeIsInt(ele.Type)) {
+											const field = `${i}-${ii}`
+											if (this
+												.focusOldField ==
+												field) {
+												this.setData({
+													focusField: ""
+												})
+											} else {
+												this.setData({
+													focusField: this
+														.focusOldField
+												})
+											}
+											this.$nextTick(() => {
+												this.setData({
+													focusField: field
+												})
+											});
+											break
+										}
+									}
+								}
+								if (findd) {
+									break
+								}
+							}
+						}
 					}
+
 				})
 			},
 			subontap(e) { //鎵爜鍔熻兘
 				//console.log(e.target)
 				getApp().onScan((result) => {
 					//console.log(result.decodedata);
-					var isVal = this.$data.subClassAttrList[e.target.dataset['index']].Attr[e.target.dataset[
-						'iindex']].Value;
+					var isVal = this.$data.subClassAttrList[e.target.dataset['index']].Attr[e.target
+						.dataset[
+							'iindex']].Value;
 					//涓绘暟鎹被鎵爜鏌ヨ鏁版嵁
 					if (isVal != result.decodedata) {
-						this.$data.subClassAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']]
+						this.$data.subClassAttrList[e.target.dataset['index']].Attr[e.target.dataset[
+								'iindex']]
 							.Value = result.decodedata;
 						uni.hideKeyboard();
 						//瀛愭暟鎹被鎵爜鍖轰簨浠惰剼鏈�@@ -1321,39 +1417,50 @@
 			},
 			onarrow(index, open) {
 				// console.log(index+'--'+open);
-				var data_attr = this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].Open;
+				var data_attr = this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset[
+					'iindex']].Open;
 				if (!data_attr) {
-					this.$data.subPanelList[e.target.dataset['iiindex']].subClassAttr[e.target.dataset['index']].Attr[e
-						.target.dataset['iindex']].Value = open == true ? false : true;
+					this.$data.subPanelList[e.target.dataset['iiindex']].subClassAttr[e.target.dataset['index']]
+						.Attr[e
+							.target.dataset['iindex']].Value = open == true ? false : true;
 					return;
 				}
-				this.$data.classAttrList[e.target.dataset['iiindex']].subClassAttr[index].Open = open == true ? false :
+				this.$data.classAttrList[e.target.dataset['iiindex']].subClassAttr[index].Open = open == true ?
+					false :
 					true;
 			},
 			ondateTime(e) {
 				//console.log(e.target)
-				var data_attr = this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].Value;
+				var data_attr = this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset[
+					'iindex']].Value;
 				if (!data_attr) {
-					this.$data.subPanelList[e.target.dataset['iiindex']].subClassAttr[e.target.dataset['index']].Attr[e
-						.target.dataset['iindex']].Value = e.target.value;
+					this.$data.subPanelList[e.target.dataset['iiindex']].subClassAttr[e.target.dataset['index']]
+						.Attr[e
+							.target.dataset['iindex']].Value = e.target.value;
 					return;
 				}
-				this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].Value = e.target
+				this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].Value = e
+					.target
 					.value;
 
 			},
 			onchange(e) {
 				console.log(e.target);
-				var value = this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].dictitem[e
-					.target.value];
-				var data_attr = this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']];
+				var value = this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']]
+					.dictitem[e
+						.target.value];
+				var data_attr = this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset[
+					'iindex']];
 				console.log(data_attr);
 				if (value.Name != data_attr.Value) {
-					this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].Value = value
+					this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].Value =
+						value
 						.Name;
-					console.log(this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']]
+					console.log(this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset[
+							'iindex']]
 						.Value);
-					var eventid = this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']]
+					var eventid = this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset[
+							'iindex']]
 						.action;
 					if (eventid) {
 						// self.event_no_sub = 1;
@@ -1452,18 +1559,21 @@
 			},
 			sub_onchange(e) {
 				console.log(e.target);
-				var value = this.$data.subPanelList[e.target.dataset['iiindex']].subClassAttr[e.target.dataset['index']]
+				var value = this.$data.subPanelList[e.target.dataset['iiindex']].subClassAttr[e.target.dataset[
+						'index']]
 					.Attr[e.target.dataset['iindex']].dictitem[e.target.value];
 				var data_attr = this.$data.subPanelList[e.target.dataset['iiindex']].subClassAttr[e.target.dataset[
 					'index']].Attr[e.target.dataset['iindex']];
 				console.log(data_attr);
 				if (value.Name != data_attr.Value) {
-					this.$data.subPanelList[e.target.dataset['iiindex']].subClassAttr[e.target.dataset['index']].Attr[e
-						.target.dataset['iindex']].Value = value.Name;
+					this.$data.subPanelList[e.target.dataset['iiindex']].subClassAttr[e.target.dataset['index']]
+						.Attr[e
+							.target.dataset['iindex']].Value = value.Name;
 					console.log(this.$data.subPanelList[e.target.dataset['iiindex']].subClassAttr[e.target.dataset[
 						'index']].Attr[e.target.dataset['iindex']].Value);
-					var eventid = this.$data.subPanelList[e.target.dataset['iiindex']].subClassAttr[e.target.dataset[
-						'index']].Attr[e.target.dataset['iindex']].action;
+					var eventid = this.$data.subPanelList[e.target.dataset['iiindex']].subClassAttr[e.target
+						.dataset[
+							'index']].Attr[e.target.dataset['iindex']].action;
 					if (eventid) {
 						// self.event_no_sub = 1;
 						var req = [];
@@ -1567,15 +1677,18 @@
 			},
 			onevent(e) {
 				// console.log(e.target);
-				var data_attr = this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']];
+				var data_attr = this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset[
+					'iindex']];
 				if (!data_attr) {
-					this.$data.subPanelList[e.target.dataset['iiindex']].subClassAttr[e.target.dataset['index']].Attr[e
-						.target.dataset['iindex']].Value = e.target.value;
+					this.$data.subPanelList[e.target.dataset['iiindex']].subClassAttr[e.target.dataset['index']]
+						.Attr[e
+							.target.dataset['iindex']].Value = e.target.value;
 					return;
 				}
 				// console.log(data_attr);
 				if (e.target.value != data_attr.Value) {
-					this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].Value = e.target
+					this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].Value = e
+						.target
 						.value;
 					// var eventid = this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].action;
 					//瀛愭暟鎹被鎵爜鍖轰簨浠惰剼鏈�@@ -1616,16 +1729,20 @@
 			oncheck(e) {
 				// console.log(e.target);
 				var ischecked = e.target.dataset.ischeck ? false : true;
-				var data_attr = this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']];
+				var data_attr = this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset[
+					'iindex']];
 				if (!data_attr) {
-					this.$data.subPanelList[e.target.dataset['iiindex']].subClassAttr[e.target.dataset['index']].Attr[e
-						.target.dataset['iindex']].Value = ischecked;
+					this.$data.subPanelList[e.target.dataset['iiindex']].subClassAttr[e.target.dataset['index']]
+						.Attr[e
+							.target.dataset['iindex']].Value = ischecked;
 					return;
 				}
 				// console.log(data_attr);
 				if (ischecked != data_attr.Value) {
-					this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].Value = ischecked;
-					var eventid = this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']]
+					this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].Value =
+						ischecked;
+					var eventid = this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset[
+							'iindex']]
 						.action;
 					if (eventid) {
 						// self.event_no_sub = 1;
@@ -1663,7 +1780,8 @@
 			addresschange(e) {
 				// console.log(e.target);
 				console.log(e.data.join(';'))
-				this.$data.subClassAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].Value = e.data
+				this.$data.subClassAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].Value = e
+					.data
 					.join(';');
 			},
 			classAttr_extButton(index, iindex) {
@@ -1704,7 +1822,8 @@
 							// console.log(param);
 							console.log(data);
 							$this.$data.classAttrList[param.index].Attr[param.iindex].Value = data[0].Name;
-							$this.$data.classAttrList[param.index].Attr[param.iindex].ValID = data[0].Login + ';' +
+							$this.$data.classAttrList[param.index].Attr[param.iindex].ValID = data[0]
+								.Login + ';' +
 								data[0].Name;
 
 							var eventid = $this.$data.classAttrList[param.index].Attr[param.iindex].action;
@@ -1755,7 +1874,8 @@
 							// console.log(param);
 							// console.log(data);
 							$this.$data.classAttrList[param.index].Attr[param.iindex].Value = data[0].Name;
-							$this.$data.classAttrList[param.index].Attr[param.iindex].ValID = data[0].ID + ';' +
+							$this.$data.classAttrList[param.index].Attr[param.iindex].ValID = data[0].ID +
+								';' +
 								data[0].Name;
 
 							var eventid = $this.$data.classAttrList[param.index].Attr[param.iindex].action;
@@ -1893,10 +2013,10 @@
 						// "{"ret":0, "result_type":0, "result":"鍒涘缓鎴愬姛123123123","info":""}"
 					}
 					//鍒锋柊
-					// uni.redirectTo({
-					// 	url: '../modal/ms_classAttr?param=' + JSON.stringify(this.$data.param) +
-					// 		"&titlename=" + this.$data.title
-					// });
+					uni.redirectTo({
+						url: '../modal/ms_classAttr?param=' + JSON.stringify(this.$data.param) +
+							"&titlename=" + this.$data.title
+					});
 					// // this.class_attr_init();
 
 				}).catch(ex => {
@@ -1913,13 +2033,16 @@
 			class_attr_init() {
 				const attrlist = this.$data.classGridStyle.StyleDef?.show_style || []
 				var newattrlist = [];
+
 				if (this.$data.classAttrList.length > 0) {
 					for (var i = 0; i < attrlist.length; i++) {
 						var open = attrlist[i].open;
 						var name = attrlist[i].attrgroup_name;
 						var attrs = attrlist[i].attrs;
+		
 						for (var s = 0; s < this.$data.classAttrList.length; s++) {
 							var clsattr = this.$data.classAttrList[s];
+			
 							if (name == clsattr.Name) {
 								var attr = [];
 								for (var j = 0; j < attrs.length; j++) {
@@ -1961,8 +2084,10 @@
 													month: nowDate.getMonth() + 1,
 													day: nowDate.getDate()
 												}
-												ca.Value = date.year + '-' + (date.month >= 10 ? date.month : '0' + date
-													.month) + '-' + (date.day >= 10 ? date.day : '0' + date.day);
+												ca.Value = date.year + '-' + (date.month >= 10 ? date.month : '0' +
+													date
+													.month) + '-' + (date.day >= 10 ? date.day : '0' + date
+													.day);
 											}
 											if (utils.classUtils.attrTypeIsObjRefMulti(ca.Type)) {
 												var relClsList = [];
@@ -1982,13 +2107,23 @@
 												ca.Value = '璇烽�鎷�;
 											if (utils.classUtils.attrTypeIsBool(ca.Type))
 												ca.Value = false;
-
+											if (ca.hidden != true) {
+												if (utils.classUtils.attrTypeIsString(ca.Type) || utils.classUtils
+													.attrTypeIsInt(ca.Type) || utils.classUtils.attrTypeIsFloat(ca
+														.Type)) {
+													if (this.focusField == "") {
+														this.setData({
+															focusField: `${newattrlist.length}-${attr.length}`
+														})
+													}
+												}
+											}
 											attr.push(ca);
 
 										}
 									}
 								}
-
+					
 								newattrlist.push({
 									BkColor: clsattr.BkColor,
 									HasAce: clsattr.HasAce,
@@ -1999,7 +2134,8 @@
 									Attr: attr,
 									control_style: this.$data.classGridStyle.StyleDef.control_style,
 									title_p_wdith: this.$data.classGridStyle.StyleDef.title_p_wdith,
-									Font: this.$data.classGridStyle.StyleDef.Font ? this.$data.classGridStyle
+									Font: this.$data.classGridStyle.StyleDef.Font ? this.$data
+										.classGridStyle
 										.StyleDef.Font : {},
 									Bk_Color: this.$data.classGridStyle.StyleDef.Bk_Color ? this.$data
 										.classGridStyle.StyleDef.Bk_Color : '#FFFFFF',
@@ -2056,8 +2192,8 @@
 						}
 						this.ini_DataObjRunCustomEvent(info);
 					}
-					console.log(this.$data.classGridStyle);
-					console.log(this.$data.classAttrList);
+					// console.log(this.$data.classGridStyle);
+					// console.log(this.$data.classAttrList);
 
 				} else {
 					uni.showModal({
@@ -2069,7 +2205,7 @@
 				}
 			},
 			subClass_attr_init() {
-				var attrlist = this.$data.subClassGridStyle.StyleDef.show_style
+				var attrlist = this.$data.subClassGridStyle.StyleDef.show_style || []
 				var newattrlist = [];
 				if (this.$data.subClassAttrList.length > 0) {
 					for (var i = 0; i < attrlist.length; i++) {
@@ -2116,8 +2252,10 @@
 													month: nowDate.getMonth() + 1,
 													day: nowDate.getDate()
 												}
-												ca.Value = date.year + '-' + (date.month >= 10 ? date.month : '0' + date
-													.month) + '-' + (date.day >= 10 ? date.day : '0' + date.day);
+												ca.Value = date.year + '-' + (date.month >= 10 ? date.month : '0' +
+													date
+													.month) + '-' + (date.day >= 10 ? date.day : '0' + date
+													.day);
 											}
 											if (utils.classUtils.attrTypeIsObjRefMulti(ca.Type)) {
 												var relClsList = [];
@@ -2151,11 +2289,13 @@
 									Attr: attr,
 									control_style: this.$data.subClassGridStyle.StyleDef.control_style,
 									title_p_wdith: this.$data.subClassGridStyle.StyleDef.title_p_wdith,
-									Font: this.$data.subClassGridStyle.StyleDef.Font ? this.$data.subClassGridStyle
+									Font: this.$data.subClassGridStyle.StyleDef.Font ? this.$data
+										.subClassGridStyle
 										.StyleDef.Font : {},
 									Bk_Color: this.$data.subClassGridStyle.StyleDef.Bk_Color ? this.$data
 										.subClassGridStyle.StyleDef.Bk_Color : '#FFFFFF',
-									Text_Color: this.$data.subClassGridStyle.StyleDef.Text_Color ? this.$data
+									Text_Color: this.$data.subClassGridStyle.StyleDef.Text_Color ? this
+										.$data
 										.subClassGridStyle.StyleDef.Text_Color : '#000000'
 								})
 							}
@@ -2165,24 +2305,21 @@
 						this.$data.subClassAttrList = newattrlist;
 					}
 					var req = [];
-					if (this.$data.subClassGridStyle.StyleDef) {
-						if (this.$data.subClassGridStyle.StyleDef.show_style.length > 0) {
-							var attrlist = this.$data.subClassGridStyle.StyleDef.show_style
-							// $el.find('.attr_field').prop('readonly', true);
-							// $el.find('.attr_field').prop('disabled', true);
-							for (var i = 0; i < attrlist.length; i++) {
-								var attr = attrlist[i].attrs
-								for (var j = 0; j < attr.length; j++) {
-									var ar = attr[j];
-									req.push({
-										attr: ar.attr,
-										value: ar.value ? ar.value : ''
-									});
-								}
+					if (attrlist.length > 0) {
+
+						// $el.find('.attr_field').prop('readonly', true);
+						// $el.find('.attr_field').prop('disabled', true);
+						for (var i = 0; i < attrlist.length; i++) {
+							var attr = attrlist[i].attrs
+							for (var j = 0; j < attr.length; j++) {
+								var ar = attr[j];
+								req.push({
+									attr: ar.attr,
+									value: ar.value ? ar.value : ''
+								});
 							}
 						}
 					}
-
 					var eventlist = this.$data.subClassGridStyle.StyleDef.event;
 					if (eventlist) {
 						if (eventlist.length > 0) {
@@ -2277,7 +2414,8 @@
 									console.log(val);
 									for (var i = 0; i < val.length; i++) {
 										for (var a = 0; a < this.$data.classAttrList.length; a++) {
-											for (var l = 0; l < this.$data.classAttrList[a].Attr.length; l++) {
+											for (var l = 0; l < this.$data.classAttrList[a].Attr
+												.length; l++) {
 												var ca = this.$data.classAttrList[a].Attr[l];
 												if (val[i].attr == ca.Name) {
 													if (utils.classUtils.attrTypeIsDict(ca.Type)) {
@@ -2317,8 +2455,7 @@
 										}
 									}
 								}
-							}
-							if (action_type == 'open_select_userdlg') {
+							} else if (action_type == 'open_select_userdlg') {
 								uni.showModal({
 									title: "閿欒2.2",
 									content: "open_select_userdlg杩欎釜action_type杩樻湭澶勭悊锛�,
@@ -2661,7 +2798,8 @@
 
 								if (action.action_type == 'open_panel') {
 									var d = dialog({
-										title: '<i class="ace-icon fa fa-info-circle"></i> ' + '鎻愮ず',
+										title: '<i class="ace-icon fa fa-info-circle"></i> ' +
+											'鎻愮ず',
 										content: action.action_type + '姝ction灏氭湭澶勭悊锛�
 									});
 									d.show();
@@ -2683,7 +2821,8 @@
 											AddPer(data, param) {
 												// console.log(param);
 												console.log(data);
-												var callback_eventid = param.button_callback.trim();
+												var callback_eventid = param.button_callback
+													.trim();
 												var info = {
 													eventid: callback_eventid,
 													edtype: "0",
@@ -2705,7 +2844,8 @@
 								} else if (action.action_type == 'open_common_dlg') {
 									var value = action.value;
 									var d = dialog({
-										title: '<i class="ace-icon fa fa-info-circle"></i> ' + '鎻愮ず',
+										title: '<i class="ace-icon fa fa-info-circle"></i> ' +
+											'鎻愮ず',
 										content: action.action_type + '姝ction灏氭湭澶勭悊锛�
 									});
 									d.show();
@@ -2735,7 +2875,8 @@
 										req: req
 									}
 									uni.navigateTo({
-										url: '../selPrj/index?relation=' + priRel + '&param=' + JSON
+										url: '../selPrj/index?relation=' + priRel + '&param=' +
+											JSON
 											.stringify(param_),
 										events: {
 											AddPer(data, param) {
@@ -2744,7 +2885,8 @@
 												$this.$data.classAttrList[param.index].Attr[param
 														.iindex].ValID = data[0].ID + ';' + data[0]
 													.Name;
-												var callback_eventid = param.button_callback.trim();
+												var callback_eventid = param.button_callback
+													.trim();
 												if (callback_eventid) {
 													var info = {
 														eventid: callback_eventid,
@@ -2765,7 +2907,8 @@
 									});
 								} else {
 									var d = dialog({
-										title: '<i class="ace-icon fa fa-info-circle"></i> ' + '鎻愮ず',
+										title: '<i class="ace-icon fa fa-info-circle"></i> ' +
+											'鎻愮ず',
 										content: action.action_type + '姝ction灏氭湭澶勭悊锛�
 									});
 									d.show();
@@ -2884,8 +3027,7 @@
 										}
 									}
 								}
-							}
-							if (action_type == 'open_select_userdlg') {
+							} else if (action_type == 'open_select_userdlg') {
 								uni.showModal({
 									title: "閿欒6.2",
 									content: "open_select_userdlg杩欎釜action_type杩樻湭澶勭悊锛�,
@@ -2963,13 +3105,15 @@
 								for (var i = 0; i < result.length; i++) {
 									if (result[i].choice_list) {
 										for (var s = 0; s < $this.$data.subPanelList.length; s++) {
-											for (var c = 0; c < $this.$data.subPanelList[s].subClassAttrList
+											for (var c = 0; c < $this.$data.subPanelList[s]
+												.subClassAttrList
 												.length; c++) {
 												var attr = $this.$data.subPanelList[s].subClassAttrList[c]
 													.Attr;
 												for (var j = 0; j < attr.length; j++) {
 													if (attr[j].Name == result[i].attr) {
-														if (utils.classUtils.attrTypeIsDict(attr[j].Type)) {
+														if (utils.classUtils.attrTypeIsDict(attr[j]
+																.Type)) {
 															var dictItemList = [];
 															for (var d in result[i].choice_list) {
 																var val = result[i].choice_list[d];
@@ -2991,7 +3135,8 @@
 									for (var s = 0; s < $this.$data.subPanelList.length; s++) {
 										for (var c = 0; c < $this.$data.subPanelList[s].subClassAttrList
 											.length; c++) {
-											var attr = $this.$data.subPanelList[s].subClassAttrList[c].Attr;
+											var attr = $this.$data.subPanelList[s].subClassAttrList[c]
+												.Attr;
 											for (var j = 0; j < attr.length; j++) {
 												console.log(attr[j].Name + '==' + result[i].attr);
 												if (attr[j].Name == result[i].attr) {

--
Gitblit v1.9.1