From 8f1880cf13440b9cb57d15520ebc3b785f3dabb1 Mon Sep 17 00:00:00 2001 From: cuiqian2004 <cuiqian2004@163.com> Date: 星期五, 01 八月 2025 11:17:49 +0800 Subject: [PATCH] lua action处理 --- pages/modal/3202.vue | 244 ++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 190 insertions(+), 54 deletions(-) diff --git a/pages/modal/3202.vue b/pages/modal/3202.vue index c88597c..8b09391 100644 --- a/pages/modal/3202.vue +++ b/pages/modal/3202.vue @@ -51,7 +51,7 @@ }, data() { return { - largeMode: getApp().globalData.largeMode || false, + largeMode: getApp().globalData.largeMode || false, title: this.translateSys('add2'), isFilter: true, param: {}, @@ -78,7 +78,7 @@ old: { scrollTop: 0 }, - isScroll: true, + isScroll: false, //鑾峰彇鏁版嵁绫荤殑HTML椤甸潰 click_item_view: false, refreshing: false @@ -528,6 +528,7 @@ .info == 'string' ? result .info : result.info.join('<br/>') : ''; + tip = tip || result.err_info if (tip) uni.showModal({ title: this.translateSys( "tip"), @@ -536,9 +537,21 @@ confirmText: this.translateSys( 'close') }); + if (result.result_type == 2) { - if (result.result_type == 0 && result.action) { - result.action.forEach(item => { + } else if (typeof result.result == 'string') { + if (result.result) { + uni.showModal({ + title: this.translateSys('tip'), + content: result.result, + showCancel: false, + confirmText: this.translateSys('close') + }); + } + } + try { + var actionList = result.action || [] + actionList.forEach(item => { if (item.action_type == "jump_pda_page") { // value = {"attr":"xxx", "value":"xxx"} var data = item.value; @@ -554,20 +567,20 @@ }); } }) - } else { - if (result.info) { - uni.showModal({ - title: this - .translateSys( - "tip"), - content: result.info, - showCancel: false, - confirmText: this - .translateSys( - 'close') - }); - } + } catch (ex) { + let actionList = (result.action || []).map(a => a.action_type).join(';') + let tip = typeof ex == 'string' ? ex : ex.message + tip = `鎵ц鑴氭湰杩斿洖鐨�{actionList}鏃跺嚭鐜板紓甯革紝璇锋鏌ヨ剼鏈繑鍥炵殑鏁版嵁鏍煎紡鏄惁姝g‘銆�{tip}` + uni.showModal({ + title: this.translateSys('tip'), + content: tip, + showCancel: false, + confirmText: this.translateSys('close') + }); + console.log(ex) + return } + } @@ -590,8 +603,8 @@ // var $ele = e; //console.log(e.target) getApp().onScan((result) => { - console.log(result.decodedata); - item.value = result.decodedata; + console.log(result); + item.value = result; uni.hideKeyboard(); var $this = this; console.log(item); @@ -731,6 +744,7 @@ .info == 'string' ? result .info : result.info.join('<br/>') : ''; + tip = tip || result.err_info if (tip) uni.showModal({ title: this.translateSys( "tip"), @@ -739,35 +753,71 @@ confirmText: this.translateSys( 'close') }); + if (result.result_type == 2) { - if (result.result_type == 0 && result.action) { - result.action.forEach(item => { - if (item.action_type == - "set_query_condition") { - var value = item.value; + } else if (typeof result.result == 'string') { + if (result.result) { + uni.showModal({ + title: this.translateSys('tip'), + content: result.result, + showCancel: false, + confirmText: this.translateSys('close') + }); + } + } + try { + var actionlist = result.action || [] + for (var j = 0; j < actionlist.length; j++) { + var action = actionlist[j]; + var action_type = action.action_type; + var value = action.value; + if (action_type == "set_query_condition") { $this.wheres = value.condition; - $this.orderby = value.order ? value.order : - "" + $this.orderby = value.order ? value.order : "" $this.pageindex = 1; $this.query_id = ""; $this.detail1StyleDefList = []; $this.loadDataGetList(); + } else if (action_type == "set_subtable_page_content") { + if (value.clear_confirm != false && value.clear == true && + $this.detail1StyleDefList.length > 0 + ) { //鍒ゆ柇鏄惁娓呯┖椤电鍐呭,姝e湪鐮佺洏鏄惁鏈夋暟鎹�+ uni.showModal({ + title: this.translateSys('tip'), + content: this.translate("are_you_sure_clear_data"), + cancelText: $this.translateSys('ok'), + confirmText: $this.translateSys('cancel'), + success: function(res) { + if (res.cancel) { + $this.detail1StyleDefList = []; + $this.viewAceionContent(value); + } else if (res.confirm) { + $this.detail1StyleDefList = []; + $this.viewAceionContent(value); + } + } + }); + } else { + $this.detail1StyleDefList = []; + $this.viewAceionContent(value); + } } - }) - } else { - if (result.info) { - uni.showModal({ - title: this - .translateSys( - "tip"), - content: result.info, - showCancel: false, - confirmText: this - .translateSys( - 'close') - }); } + + } catch (ex) { + let actionList = (result.action || []).map(a => a.action_type).join(';') + let tip = typeof ex == 'string' ? ex : ex.message + tip = `鎵ц鑴氭湰杩斿洖鐨�{actionList}鏃跺嚭鐜板紓甯革紝璇锋鏌ヨ剼鏈繑鍥炵殑鏁版嵁鏍煎紡鏄惁姝g‘銆�{tip}` + uni.showModal({ + title: this.translateSys('tip'), + content: tip, + showCancel: false, + confirmText: this.translateSys('close') + }); + console.log(ex) + return } + } @@ -889,6 +939,79 @@ head_styledef: head_styledef }) }, + //鍔犺浇宸茬爜鐩樺唴瀹�+ viewAceionContent(data) { + var $this = this; + if (JSON.stringify(data.content) == '{}') { + return; + } + var styleStr = JSON.stringify($this.detail1_styledef); + var detailStyle = JSON.parse(styleStr); + + data.content.forEach(cont => { + var detailStyle = JSON.parse(styleStr); + if (detailStyle.form) { + detailStyle.SelBut_Checked = data.checkbox ?? true; + + detailStyle.form.objId = cont.id; + detailStyle.form.htmlobjId = cont.id ? cont.id.replace(/-/g, + '') + .replace('{', '').replace('}', + '') : 'null'; + detailStyle.form.attrs = cont.attrs; + cont.attrs.forEach(attr => { + detailStyle.form.items.forEach(ele => { + if (ele.name != 'Layout') { + if (ele.fieldId == attr.attr) + ele.value = attr.value; + } else if (ele.name == 'Layout') { + ele.setting.colList.forEach( + col => { + if (col) { + if (col.fieldId == + attr.attr) + col.value = attr.value; + } + }); + } + }); + }); + //濡傛灉 clear = false 鍒欎笉闇�娓呴櫎锛屾牴鎹甶d鍒ゆ柇鏄惁瀛樺湪锛屼笉瀛樺湪鎻掑叆鍒伴〉闈紝濡傛灉瀛樺湪鐢ㄦ柊鐨勫睘鎬ц鐩�+ if (data.clear == false) { + var isflag = true; + $this.detail1StyleDefList.forEach((style, index) => { + if (style.form.objId == detailStyle.form.objId) { + cont.attrs.forEach(attr => { + style.form.items.forEach(ele => { + if (ele.name != 'Layout') { + if (ele.fieldId == attr.attr) + ele.value = attr.value; + } else if (ele.name == 'Layout') { + ele.setting.colList.forEach( + col => { + if (col) { + if (col.fieldId == + attr + .attr) + col.value = + attr.value; + } + }); + } + }); + }); + isflag = false; + } + }); + if (isflag) $this.detail1StyleDefList.push(detailStyle); //寰呭垎鎷�+ } else { + $this.detail1StyleDefList.push(detailStyle); //寰呭垎鎷�+ } + } + }); + + + }, //鐐逛腑琛ㄥ崟 onPanelClick(value) { //鐐瑰嚮闈㈡澘楂樹寒鏄剧ず // console.log(value); @@ -943,6 +1066,7 @@ .info == 'string' ? result .info : result .info.join('<br/>') : ''; + tip = tip || result.err_info if (tip) uni.showModal({ title: this.translateSys( "tip"), @@ -951,9 +1075,21 @@ confirmText: this.translateSys( 'close') }); + if (result.result_type == 2) { - if (result.result_type == 0 && result.action) { - result.action.forEach(item => { + } else if (typeof result.result == 'string') { + if (result.result) { + uni.showModal({ + title: this.translateSys('tip'), + content: result.result, + showCancel: false, + confirmText: this.translateSys('close') + }); + } + } + try { + var actionList = result.action || [] + actionList.forEach(item => { if (item.action_type == "goback_to_pre_page") { //杩斿洖涓婁竴椤� var value = item.value; @@ -988,20 +1124,20 @@ }); } }); - } else { - if (result.info) { - uni.showModal({ - title: this - .translateSys( - "tip"), - content: result.info, - showCancel: false, - confirmText: this - .translateSys( - 'close') - }); - } + } catch (ex) { + let actionList = (result.action || []).map(a => a.action_type).join(';') + let tip = typeof ex == 'string' ? ex : ex.message + tip = `鎵ц鑴氭湰杩斿洖鐨�{actionList}鏃跺嚭鐜板紓甯革紝璇锋鏌ヨ剼鏈繑鍥炵殑鏁版嵁鏍煎紡鏄惁姝g‘銆�{tip}` + uni.showModal({ + title: this.translateSys('tip'), + content: tip, + showCancel: false, + confirmText: this.translateSys('close') + }); + console.log(ex) + return } + } }).catch(ex => { // console.log(ex); -- Gitblit v1.9.1