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 + '¶m=' + JSON
+ url: '../selPrj/index?relation=' + priRel + '¶m=' +
+ 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