From feeff00e9c28cbf82639295759d5f507187d356f Mon Sep 17 00:00:00 2001
From: cyy <cuiqian2004@163.com>
Date: 星期日, 16 六月 2024 22:19:53 +0800
Subject: [PATCH] 5600 input——param

---
 pages/modal/5600.vue |  309 +++++++++++++++++++++++++++++----------------------
 1 files changed, 177 insertions(+), 132 deletions(-)

diff --git a/pages/modal/5600.vue b/pages/modal/5600.vue
index 6200ef4..2374e45 100644
--- a/pages/modal/5600.vue
+++ b/pages/modal/5600.vue
@@ -306,7 +306,7 @@
 					:type="item.name=='Input'?'text':'number'" v-model="item.value" :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)" @keyup.enter="onEnterChange(item)"
+					:focus="focusFieldId == item.fieldId" @focus="ontap(index,item)" @keyup.enter="onEnterChange(item)"
 					@blur="onEnterChange(item)" />
 				<text v-if="item.setting.suffix" class="uni-icon" :class="[item.setting.suffix]"
 					@click="onEnterChange(item)">&#xe568;</text>
@@ -478,7 +478,7 @@
 				title: '鐮佺洏',
 				ClsID: 'CG_Detail',
 				param: {},
-				focusMateria: false,
+				focusFieldId: "",
 				head_styledef: {
 					form: {
 						items: []
@@ -487,7 +487,9 @@
 				detail1_styledef: {},
 				detail1StyleDefList: [],
 				detail2_styledef: {},
-				detail2StyleDefList: [],
+				detail2StyleDefList: [], //鍒嗛〉鏁版嵁
+				detail1ExtData: {},
+				detail2ExtData: {}, //鍒嗛〉鎵╁睍鏁版嵁
 				// 鍒嗘鍣ㄦ暟鎹� 				current: 0,
 				Before_OK_Event: {},
@@ -521,9 +523,8 @@
 			this.Detail2_UIstyleGetInfo(this.ClsID, this.$data.param.Sub_Page[1].UI_Style.ID);
 
 			console.log(this.$data.param);
-			//椤甸潰鍒濆鍖栬幏鍙栫劍鐐�-			// this.focusMateria=true; 
 		},
+			//椤甸潰鍒濆鍖栬幏鍙栫劍鐐� 		methods: {
 			setData: function(obj) {
 				let that = this;
@@ -570,6 +571,14 @@
 							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({
@@ -743,13 +752,13 @@
 				});
 			},
 
-			ontap(item) { //鎵爜鍔熻兘
+			ontap(index,item) { //鎵爜鍔熻兘
 				// var $ele = e;
 				//console.log(e.target)
 				getApp().onScan((result) => {
 					console.log(result.decodedata);
 					item.value = result.decodedata;
-					uni.hideKeyboard();
+					// uni.hideKeyboard();
 					var $this = this;
 
 					// if(item.value=='B61DF51DD50645CEB9D152DD77D2466A'){
@@ -783,13 +792,17 @@
 							$this.onChange(onChangeEvent);
 						}
 						if (item.value) { //绗竴涓緭鍏ユ涓嶄负绌�-							$this.focusMateria = true; //鍒濆鍖栵紝绗簩涓緭鍏ユfocus灞炴�
-							// setTimeout(function(){
-							// 	$this.focusMateria=true; //绗簩涓緭鍏ユ鑾峰彇鐒︾偣
-							setTimeout(function() {
-								uni.hideKeyboard();
-							}, 1000);
-							// },500);
+						 //鍒濆鍖栵紝涓嬩釜杈撳叆妗唂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);
@@ -864,11 +877,11 @@
 				const 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"})
 					});
 				});
 				return jsonlist;
@@ -878,30 +891,28 @@
 				try {
 					if (event.id) {
 
+						//鑾峰彇琛ㄥご灞炴�
+						var head_attr = {};
+						this.head_styledef.form.items.forEach(item => {
+							head_attr[item.fieldId] = item.value;
+						});
 						var obj_attr = this.head_styledef.form.model;
 						// console.log(obj_attr);
 						var input_param = Base64.encode(
 							JSON.stringify(
-								Object.keys(obj_attr).map((a) => ({
+								Object.keys(head_attr).map((a) => ({
 									attr: a,
-									value: obj_attr[a] || "",
+									value: head_attr[a] || "",
 								}))
 							)
 						);
 						var $this = this;
 						const jsonList = []
-						jsonList.push({
-							page_name: $this.param.Sub_Page[0].Name,
-							item_list: []
-						})
-						jsonList.push({
-							page_name: $this.param.Sub_Page[1].Name,
-							item_list: []
-						})
-						jsonList[0].item_list = $this.getDetailAttrList($this.detail1StyleDefList, $this.param
-							.Sub_Page[0].Select_Button)
-						jsonList[1].item_list = $this.getDetailAttrList($this.detail2StyleDefList, $this.param
-							.Sub_Page[1].Select_Button)
+						const itemlist1= $this.getDetailAttrList($this.detail1StyleDefList,$this.param.Sub_Page[0].Select_Button)
+						const itemlist2= $this.getDetailAttrList($this.detail2StyleDefList,$this.param.Sub_Page[1].Select_Button)
+						
+						jsonList.push({page_name:$this.param.Sub_Page[0].Name,item_list:itemlist1,ext_data:$this.detail1ExtData})
+						jsonList.push({page_name:$this.param.Sub_Page[1].Name,item_list:itemlist2,ext_data:$this.detail2ExtData})
 						const data_json = Base64.encode(
 							JSON.stringify(jsonList)
 						);
@@ -1026,98 +1037,31 @@
 															.exec();
 													}
 												});
-											} else if (item.action_type ==
-												"set_subtable_page_row") { // value = {"page_name":"鐮佺洏涓�, "row":[{"id":"xx"}]}
+											} else if (item.action_type == "set_subtable_page_row") { 
+												$this.viewActionSetRow( item.value)
+												
+											} else if (item.action_type == "set_subtable_page_ext_data") {
 												var value = item.value;
-												var detailStyleDefList = []
-												if (value.page_name == $this.$data.param.Sub_Page[1]
-													.Name) {
-													detailStyleDefList = $this.$data
-														.detail2StyleDefList
-												} else if (value.page_name == $this.$data.param
-													.Sub_Page[0].Name) {
-													detailStyleDefList = $this.$data
-														.detail1StyleDefList
+												if (value.page_name == $this.$data.param.Sub_Page[0].Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄緟鍒嗘嫞
+													$this.setData({detail1ExtData:value.ext_data})
+												} else if (value.page_name == $this.$data.param.Sub_Page[1].Name) {
+													$this.setData({detail2ExtData:value.ext_data})
 												}
-												detailStyleDefList.forEach(ele => {
-													value.row.forEach((rowData) => {
-														if (ele.form.objId == rowData
-															.id) {
-															rowData.attrs.forEach(
-																attr => {
-																	ele.form.items
-																		.forEach(
-																			ele2 => {
-																				if (ele2
-																					.name !=
-																					'Layout'
-																					) {
-																					if (ele2
-																						.fieldId ==
-																						attr
-																						.attr
-																						) {
-																						ele2.value =
-																							$this
-																							.operationNumber(
-																								ele2
-																								.value,
-																								attr
-																								.value,
-																								attr
-																								.operation
-																								)
-																					}
-																				} else if (
-																					ele2
-																					.name ==
-																					'Layout'
-																					) {
-																					ele2.setting
-																						.colList
-																						.forEach(
-																							col => {
-																								if (
-																									col) {
-																									if (col
-																										.fieldId ==
-																										attr
-																										.attr
-																										) {
-																										col.value =
-																											$this
-																											.operationNumber(
-																												col
-																												.value,
-																												attr
-																												.value,
-																												attr
-																												.operation
-																												)
-																									}
-																								}
-																							}
-																							);
-																				}
-																			});
-																});
-
-														}
-													})
-
-												});
-												if (value.page_name == $this.$data.param.Sub_Page[1]
-													.Name) {
-													$this.setData({
-														detail2StyleDefList: detailStyleDefList
-													})
-												} else if (value.page_name == $this.$data.param
-													.Sub_Page[0].Name) {
-													$this.setData({
-														detail1StyleDefList: detailStyleDefList
-													})
+											}
+											else if (item.action_type == "clear_subpage_rows") {
+												var value = item.value;
+												if (value.page_name == $this.$data.param.Sub_Page[0].Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄緟鍒嗘嫞
+													$this.setData({detail1StyleDefList:[],detail1ExtData:{}})
+												} else if (value.page_name == $this.$data.param.Sub_Page[1].Name) {
+													$this.setData({detail2StyleDefList:[],detail2ExtData:{}})
 												}
-											} else if (item.action_type == "set_dlg_attr") {
+											}
+											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"}
 												var data = item.value;
 												$this.$data.head_styledef.form.items.forEach(async (
@@ -1174,19 +1118,81 @@
 
 				}
 			},
-			operationNumber(value1, value2, operation) {
-				if (operation == "+") {
-					return value1 + value2
-				} else if (operation == "-") {
-					return value1 - value2
-				} else if (operation == "*") {
-					return value1 * value2
-				} else if (operation == "/") {
-					if (value2)
-						return value1 / value2
+			operationNumber(value1, value2,operation){
+				var number1 = 0
+				var number2 =0
+				if(value1)
+					number1 =  parseInt(value1)
+				if(value2)	
+					number2 =  parseInt(value2)
+				if(operation == "+")
+				{
+					return number1 + number2
+				}
+				else if(operation == "-")
+				{
+					return number1 - number2
+				}
+				else if(operation == "*")
+				{
+					return number1 * number2
+				}
+				else if(operation == "/")
+				{
+					if(number2)
+						return number1 / number2
 					else
-						return value1
-				} else return value2
+						return number1 
+				}
+				else return number2 
+			},
+			
+			//鏇存柊鍒嗛〉绛句腑鐨勫垪琛ㄩ」鍐呭
+			viewActionSetRow(value) {
+				const $this = this
+				var detailStyleDefList = []
+				if(value.page_name == $this.$data.param.Sub_Page[1].Name)
+				{
+					detailStyleDefList = $this.$data.detail2StyleDefList
+				}
+				else if(value.page_name == $this.$data.param.Sub_Page[0].Name)
+				{
+					detailStyleDefList =$this.$data.detail1StyleDefList
+				}
+				detailStyleDefList.forEach(ele=>{
+					value.row.forEach((rowData) => {
+					    if(ele.form.objId == rowData.id){
+							rowData.attrs.forEach(attr=>{
+							    ele.form.items.forEach(ele2=>{
+							        if(ele2.name!='Layout'){
+							          if(ele2.fieldId == attr.attr){
+											ele2.value =$this.operationNumber(ele2.value,attr.value,attr.operation)
+									  }
+							        } else if(ele2.name=='Layout'){
+							          ele2.setting.colList.forEach(col=>{
+							            if(col)
+										{
+							              if(col.fieldId == attr.attr) 
+										  {
+											col.value =$this.operationNumber(col.value,attr.value,attr.operation)
+							              }
+										}
+							          })
+							        }
+							    });
+							});
+						}
+					})	
+				});
+				if(value.page_name == $this.$data.param.Sub_Page[1].Name)
+				{
+					$this.setData({detail2StyleDefList:detailStyleDefList})
+				}
+				else if(value.page_name == $this.$data.param.Sub_Page[0].Name)
+				{
+					 $this.setData({detail1StyleDefList:detailStyleDefList})
+				}
+				
 			},
 			//鍔犺浇姝e湪鐮佺洏鍐呭
 			viewAceionRow(data, type) {
@@ -1243,6 +1249,12 @@
 			//鍔犺浇宸茬爜鐩樺唴瀹� 			viewAceionContent(data) {
 				var $this = this;
+				if (data.page_name == $this.$data.param.Sub_Page[0].Name) {
+					$this.detail1ExtData = data.ext_data ||{}
+				}
+				else if (data.page_name == $this.$data.param.Sub_Page[1].Name) {
+					$this.detail2ExtData = data.ext_data||{}
+				} 
 				if (JSON.stringify(data.content) == '{}') {
 					return;
 				}
@@ -1336,6 +1348,9 @@
 						// console.log($this.$data.detail2StyleDefList);
 					}
 				});
+			
+			
+
 			},
 			onClickItem(e) { //閫夋嫨椤电
 				// console.log(e);
@@ -1494,6 +1509,9 @@
 						}))
 					});
 				});
+				const list = []
+				list.push({page_name:$this.param.Sub_Page[0].Name,item_list:jsonlist,ext_data:$this.detail1ExtData})
+				
 				// console.log(jsonlist);
 				$this.runCustomEvent(event, input_param, jsonlist, '1');
 				// jsonlist.forEach(async (json,key)=>{
@@ -1585,8 +1603,11 @@
 						}))
 					});
 				});
+				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');
 				// });
@@ -1693,6 +1714,30 @@
 											// });
 											// uni.showModal({title:"绯荤粺鎻愮ず",content:value,showCancel:false,confirmText:"鍏抽棴"});
 										}
+										else if (item.action_type == "set_subtable_page_row") {
+											$this.viewActionSetRow( item.value)
+											
+										} else if (item.action_type == "set_subtable_page_ext_data") {
+											var value = item.value;
+											if (value.page_name == $this.$data.param.Sub_Page[0].Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄緟鍒嗘嫞
+												$this.setData({detail1ExtData:value.ext_data})
+											} else if (value.page_name == $this.$data.param.Sub_Page[1].Name) {
+												$this.setData({detail2ExtData:value.ext_data})
+											}
+										}
+										else if (item.action_type == "clear_subpage_rows") {
+											var value = item.value;
+											if (value.page_name == $this.$data.param.Sub_Page[0].Name) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄緟鍒嗘嫞
+												$this.setData({detail1StyleDefList:[],detail1ExtData:{}})
+											} 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 ($this.$data.After_OK_Event.ID != event.ID) { //鍒ゆ柇褰撳墠浜嬩欢鏄惁鏄‘瀹氬悗浜嬩欢

--
Gitblit v1.9.1