From 1652caddff10990679dacd1822be6d1d5dc1bf65 Mon Sep 17 00:00:00 2001
From: cyy <cuiqian2004@163.com>
Date: 星期日, 16 六月 2024 18:43:07 +0800
Subject: [PATCH] 5600 action ext_data

---
 pages/modal/5602.vue |   67 ++++++++++++++++++++++-----------
 1 files changed, 45 insertions(+), 22 deletions(-)

diff --git a/pages/modal/5602.vue b/pages/modal/5602.vue
index 02975f3..0d0ff98 100644
--- a/pages/modal/5602.vue
+++ b/pages/modal/5602.vue
@@ -261,8 +261,8 @@
 					:disabled="item.disabled"
 					:placeholder="item.placeholder"
 					:style="{'width':item.setting.prefix && item.setting.suffix?'78%':item.setting.prefix || item.setting.suffix?'87%':'96%'}" 
-					:focus="focusMateria"
-					@focus="ontap(item)" 
+					:focus="focusFieldId == item.fieldId"
+					@focus="ontap(index,item)" 
 					@keyup.enter="onEnterChange(item)"
 					@blur="onEnterChange(item)"
 				/>
@@ -409,7 +409,7 @@
       ClsID: "Sorting_Detail",
       ClsID2: "Sorting_Result",
       param: {},
-	  focusMateria:false,
+	  focusFieldId:"",
 	  head_styledef:{
 		form:{
 			items:[]
@@ -452,8 +452,6 @@
 	this.Detail2_UIstyleGetInfo(this.ClsID2,this.$data.param.Sub_Page[1].UI_Style.ID);
 	
 	console.log(this.$data.param);
-	//椤甸潰鍒濆鍖栬幏鍙栫劍鐐�-	// this.focusMateria=true; 
   },	
   methods: {
 	  setData: function(obj) {
@@ -501,6 +499,13 @@
 				    if(ele.useDict==true){ //鍒ゆ柇useDict鏄惁浣跨敤瀛楀吀
 				        await this.DictGetInfo(ele.bind.dict,index,'mast');
 				    }
+					if($this.focusFieldId == "")
+					{
+						if(ele.name=='Input' || ele.name=='InputNumber')
+						{
+							  $this.setData({focusFieldId:ele.fieldId})
+						}
+					}
 				});
 			}else{
 				uni.showModal({title:"閿欒1",content:ret.err_msg,showCancel:false,confirmText:"鍙栨秷"});
@@ -633,12 +638,12 @@
 		});
 	},
 	
-	ontap(item){ //鎵爜鍔熻兘
+	ontap(index,item){ //鎵爜鍔熻兘
 		// var $ele = e;
 		getApp().onScan((result)=>{
 			console.log(result.decodedata);
 			item.value = result.decodedata;
-			uni.hideKeyboard();
+			//uni.hideKeyboard();
 			var $this = this;
 			
 			console.log(item);
@@ -650,18 +655,21 @@
 				var onSuffixClickCallbackEvent = item.bind.onSuffixClickCallbackEvent;   //鍚庡浘鏍囩偣鍑讳簨浠� 				var onSuffixClickEvent = item.bind.onSuffixClickEvent;   //鍚庡浘鏍囩偣鍑诲洖璋� 				var isflag = false;
-				
+
 			    if(onChangeEvent.id){   //鍐呭鍙樺寲鍚庝簨浠� 			      $this.onChange(onChangeEvent); 
 			    }
-				if(item.value){ //绗竴涓緭鍏ユ涓嶄负绌�-					$this.focusMateria = true; //鍒濆鍖栵紝绗簩涓緭鍏ユfocus灞炴�
-					// setTimeout(function(){
-					// 	$this.focusMateria=true; //绗簩涓緭鍏ユ鑾峰彇鐒︾偣
-						setTimeout(function(){
-							uni.hideKeyboard();
-						},1000);
-					// },500);
+				if(item.value){ //杈撳叆妗嗕笉涓虹┖
+					  //鍒濆鍖栵紝涓嬩釜杈撳叆妗唂ocus灞炴�
+					  const curIndex =  $this.head_styledef.form.items.findIndex((ele, index2, arr) => {
+					    return (ele.name=='Input' || ele.name=='InputNumber')  && index2 > index;
+					  })
+					  if(curIndex > -1){
+					  	$this.setData({focusFieldId: $this.head_styledef.form.items[curIndex].fieldId})
+					  }
+						// setTimeout(function(){
+						// 	uni.hideKeyboard();
+						// },1000);
 				}
 			    // if(onSuffixClickCallbackEvent.id){   //鍚庡浘鏍囩偣鍑讳簨浠� 			    //   this.onSuffixClick(onSuffixClickCallbackEvent);
@@ -880,6 +888,11 @@
 									} else if (value.page_name == $this.$data.param.Sub_Page[1].Name) {
 										$this.setData({detail2StyleDefList:[],detail2ExtData:{}})
 									}
+								}
+								else if (item.action_type == "set_dlg_current_edit_attr") {
+									if($this.focusFieldId == item.value)
+										$this.setData({focusFieldId: ""})
+									$this.setData({focusFieldId:item.value})
 								}
 								else if(item.action_type == "set_dlg_attr"){
 								  // value = {"attr":"xxx", "value":"xxx"}
@@ -1265,15 +1278,17 @@
 		 var jsonlist=[];
 		detailAttrList.forEach(attr=>{
 		    jsonlist.push({
-		      id:'',
+		      id:attr["id"]|| "",
 		      attrs: Object.keys(attr).map((a) => ({
 		        attr: a,
 		        value: attr[a] || "",
-		      }))
+		      })).filter((a)=>{return a.attr != "id"})
 		    });
 		});
 		// console.log(jsonlist);
-		$this.runCustomEvent(event,input_param,jsonlist,'1');
+		const list = []
+		list.push({page_name:$this.param.Sub_Page[0].Name,item_list:jsonlist,ext_data:$this.detail1ExtData})
+		$this.runCustomEvent(event,input_param,list,'1');
 		// jsonlist.forEach(async (json,key)=>{
 		// 	await $this.runCustomEvent(event,input_param,json,'1');
 		// });
@@ -1352,15 +1367,18 @@
     	 var jsonlist=[];
     	detailAttrList.forEach(attr=>{
     	    jsonlist.push({
-    	      id:'',
+    	      id:attr["id"]|| "",
     	      attrs: Object.keys(attr).map((a) => ({
     	        attr: a,
     	        value: attr[a] || "",
-    	      }))
+    	      })).filter((a)=>{return a.attr != "id"})
     	    });
     	});
+		const list = []
+		list.push({page_name:$this.param.Sub_Page[1].Name,item_list:jsonlist,ext_data:$this.detail2ExtData})
+		
     	// console.log(jsonlist);
-    	$this.runCustomEvent(event,input_param,jsonlist,'2');
+    	$this.runCustomEvent(event,input_param,list,'2');
     	// jsonlist.forEach(async (json,key)=>{
     	// 	await $this.runCustomEvent(event,input_param,json,'2');
     	// });
@@ -1481,6 +1499,11 @@
 						  		$this.setData({detail2StyleDefList:[],detail2ExtData:{}})
 						  	}
 						  }
+						  else if (item.action_type == "set_dlg_current_edit_attr") {
+							  if($this.focusFieldId == item.value)
+								$this.setData({focusFieldId: ""})
+						  	$this.setData({focusFieldId:item.value})
+						  }
 						  else if(item.action_type == "refresh"){  //鍒锋柊
 						    var value = item.value;
 							//娓呴櫎寰呭垎鎷f垚鍔熺殑鏁版嵁

--
Gitblit v1.9.1