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/3018_2.vue | 604 ++++++++++++++++++++++++++++++------------------------ 1 files changed, 338 insertions(+), 266 deletions(-) diff --git a/pages/modal/3018_2.vue b/pages/modal/3018_2.vue index 674ed56..31b8b2e 100644 --- a/pages/modal/3018_2.vue +++ b/pages/modal/3018_2.vue @@ -1,8 +1,9 @@ <template> - <view class="uni-page-modal-3018-2"> + <view class="uni-page-modal-3018-2" :class="largeMode?'large-mode':''"> <view class="view-content"> <!-- 琛ㄥご鏍峰紡 --> - <OIForm ref="refBaseForm" class="v-headStyle" :form="head_styledef.form" :focusId="focusFieldId" + <OIForm ref="refBaseForm" class="v-headStyle" :form="head_styledef.form" + :hiddenIds="head_styledef.hiddenIds ?head_styledef.hiddenIds :[] " :focusId="focusFieldId" @on-click="onClick" @on-focus="ontap" @on-change="onEnterChange" @on-click-prefix="classAttr_extButton" @on-click-suffix="classAttr_extButton"></OIForm> @@ -75,6 +76,7 @@ }, data() { return { + largeMode: getApp().globalData.largeMode || false, title: this.translateSys('add2'), btnName: "", param: {}, @@ -106,7 +108,7 @@ if (e.index == 0) { const $this = this uni.scanCode({ - scanType: ["qrCode"], + scanType: ["qrCode", 'barCode'], success: function(res) { if ($this.focusFieldId) { @@ -465,16 +467,27 @@ } else { var tip = data.info ? typeof data.info == 'string' ? data.info : data.info.join('<br/>') : ''; + tip = tip || data.err_info if (tip) uni.showModal({ title: this.translateSys("tip"), content: tip, showCancel: false, confirmText: this.translateSys('close') }); + if (data.result_type == 2) { - var actionlist = data.action; - if (actionlist) { - console.log(actionlist); + } else if (typeof data.result == 'string') { + if (data.result) { + uni.showModal({ + title: this.translateSys('tip'), + content: data.result, + showCancel: false, + confirmText: this.translateSys('close') + }); + } + } + try { + var actionlist = data.action || [] for (var i = 0; i < actionlist.length; i++) { var action = actionlist[i]; if (action.action_type == 'set_dlg_attr') { @@ -522,7 +535,21 @@ }); } } + + } catch (ex) { + let actionList = (data.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); @@ -543,50 +570,12 @@ ontap(item) { //鎵爜鍔熻兘 - // console.log("ontap",item); - // 鎵撳紑钃濈墮閫傞厤鍣�- // uni.openBluetoothAdapter({ - // success: function() { - // // 寮�鎼滅储钃濈墮璁惧 - // uni.startBluetoothDevicesDiscovery({ - // success: function() { - // // 鐩戝惉鎵惧埌鏂拌澶囩殑浜嬩欢 - // uni.onBluetoothDeviceFound(function(devices) { - // // 杩欓噷鍙互杩囨护鍑篟FID鑺墖锛岃繛鎺ュ苟璇诲彇鏁版嵁 - // console.log(devices[0].deviceId); - // }) - // } - // }) - // } - // }); - // 鐩戝惉NFC鍔熻兘鏄惁鍙敤 - // uni.getNFCAdapterState({ - // success: function(res) { - // console.log(res); - // if (res.errCode === 0) { - // // NFC鍔熻兘鍙敤锛屽紑濮嬬洃鍚�- // uni.onNFCStart((res) => { - // if (res.errCode === 0) { - // // 寮�NFC鏍囩妫�祴 - // uni.makeNFCReaderStart({ - // success: function() { - // // 鐩戝惉NFC鏍囩 - // uni.onNFCTagDiscovered(function(res) { - // console.log(res); - // // 杩欓噷鍙互澶勭悊NFC鏍囩鏁版嵁 - // }) - // } - // }) - // } - // }) - // } - // } - // }) + this.focusOldFieldId = item.fieldId getApp().onScan((result) => { console.log(result); // uni.hideKeyboard(); - this.onScanValue(item, result.decodedata) + this.onScanValue(item, result) }) }, onScanValue(item, value) { @@ -940,16 +929,27 @@ .info .join( '<br/>') : ''; + tip = tip || data.err_info if (tip) uni.showModal({ title: this.translateSys("tip"), content: tip, showCancel: false, confirmText: this.translateSys('close') }); - - var actionlist = data.action; - if (actionlist) { - console.log(actionlist); + if (data.result_type == 2) { + $this.setFormValues(data.result || []) + } else if (typeof data.result == 'string') { + if (data.result) { + uni.showModal({ + title: this.translateSys('tip'), + content: data.result, + showCancel: false, + confirmText: this.translateSys('close') + }); + } + } + try { + var actionlist = data.action || [] for (var i = 0; i < actionlist.length; i++) { var action = actionlist[i]; if (action.action_type == 'set_dlg_attr') { @@ -993,15 +993,22 @@ }); } } - } - // var head_styledef = JSON.parse(JSON.stringify($this.head_styledef)); - // $this.head_styledef=[]; - // $this.head_styledef = head_styledef; - console.log($this.head_styledef); - if (data.result) { - $this.setFormValues(data.result) + } catch (ex) { + let actionList = (data.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 => { @@ -1112,218 +1119,230 @@ .info .join( '<br/>') : ''; + tip = tip || data.err_info if (tip) uni.showModal({ title: $this.translateSys("tip"), content: tip, showCancel: false, confirmText: $this.translateSys('close') }); + if (data.result_type == 2) { - if (data != "") { - var actions = data.action; - if (actions) { - for (var i = 0; i < actions.length; i++) { - var action = actions[i]; - console.log(action) - var val = action.value; - var enviroment = JSON.stringify(enviroment); + } else if (typeof data.result == 'string') { + if (data.result) { + uni.showModal({ + title: this.translateSys('tip'), + content: data.result, + showCancel: false, + confirmText: this.translateSys('close') + }); + } + } + try { + var actions = data.action || [] + for (var i = 0; i < actions.length; i++) { + var action = actions[i]; + console.log(action) + var val = action.value; + var enviroment = JSON.stringify(enviroment); - if (action.action_type == 'open_panel') { - var d = dialog({ - title: '<i class="ace-icon fa fa-info-circle"></i> ' + - $this.translateSys("tip"), - content: $this.translateSys( - "quotation_mark_left") + - action.action_type + $this - .translateSys( - "quotation_mark_right") + - $this.translate( - "tip_action_unprocessed") - }); - d.show(); - } else if (action.action_type == - 'open_select_userdlg') { - var style = val.style; - // style == 'user' ? '閫夋嫨浜哄憳' : style == 'department' ? '閫夋嫨閮ㄩ棬' : style == 'role' ? '閫夋嫨瑙掕壊' : '' - var param = { + if (action.action_type == 'open_panel') { + var d = dialog({ + title: '<i class="ace-icon fa fa-info-circle"></i> ' + + $this.translateSys("tip"), + content: $this.translateSys( + "quotation_mark_left") + + action.action_type + $this + .translateSys( + "quotation_mark_right") + + $this.translate( + "tip_action_unprocessed") + }); + d.show(); + } else if (action.action_type == + 'open_select_userdlg') { + var style = val.style; + // style == 'user' ? '閫夋嫨浜哄憳' : style == 'department' ? '閫夋嫨閮ㄩ棬' : style == 'role' ? '閫夋嫨瑙掕壊' : '' + var param = { + item: item, + button_callback: button_callback, + req: req, + data_attr: data_attr + } + uni.navigateTo({ + url: '../selpsn/index?mulit=false¶m=' + + JSON + .stringify( + param), + events: { + AddPer(data, param) { + // console.log(param); + console.log(data); + var callback_eventid = param + .button_callback + .trim(); + var info = { + eventid: callback_eventid, + edtype: "0", + projectid: '', + rclsid: '', + robjid: '', + userlogin: '', + clsid: $this.param + .DataCls + .id, + objid: "", + attr: param.req, + inputparameter: data, + dataJson: [], + } + $this.DataObjRunCustomEvent( + info, + param + .data_attr); + } + } + }); + } else if (action.action_type == + 'open_data_query_dlg') { + var d = dialog({ + title: '<i class="ace-icon fa fa-info-circle"></i> ' + + $this.translateSys("tip"), + content: $this.translateSys( + "quotation_mark_left") + + action + .action_type + $this.translateSys( + "quotation_mark_right") + $this + .translate( + "tip_action_unprocessed") + }); + d.show(); + } else if (action.action_type == 'open_common_dlg') { + + if (val.common_dlg_id == 'check_list') { + + $this.setData({ + check_list: val.config + }) + if (val.config.appear_style == + 'sideslip') //鍒ゆ柇鏄惁鏄晶婊�+ $this.setData({ + popupType: "right" + }) + else + $this.setData({ + popupType: "center" + }) + // open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦�uni-popup 缁勪欢涓婄粦瀹�type灞炴� + $this.$refs.popup.open($this.popupType); + var popupParam = { item: item, button_callback: button_callback, req: req, data_attr: data_attr } - uni.navigateTo({ - url: '../selpsn/index?mulit=false¶m=' + - JSON - .stringify( - param), - events: { - AddPer(data, param) { - // console.log(param); - console.log(data); - var callback_eventid = param - .button_callback - .trim(); + $this.setData({ + popupParam: popupParam + }) + } + } else if (action.action_type == + 'open_project_query_dlg') { + //console.log(action.value.select_range); + //console.log(action.value.mulit_select); + var priRel = '-1'; + if (action.value.select_range == '鍏ㄩ儴鐩稿叧') + priRel = '0'; + else if (action.value.select_range == '鎴戣礋璐g殑椤圭洰') + priRel = '1'; + else if (action.value.select_range == '鎴戝垱寤虹殑') + priRel = '2'; + else if (action.value.select_range == '鎴戝弬涓庣殑' || + action + .value + .select_range == '鎴戝弬鍔犵殑') + priRel = '3'; + else if (action.value.select_range == '鎴戝叧娉ㄧ殑') + priRel = '4'; + else if (action.value.select_range == '鎴戜笅灞炵殑椤圭洰') + priRel = '5'; + var param_ = { + item: item, + button_callback: button_callback, + req: req + } + uni.navigateTo({ + url: '../selPrj/index?relation=' + + priRel + + '¶m=' + + JSON.stringify(param_), + events: { + AddPer(data, param) { + var attr = param.item.fieldId; + $this.head_styledef.form.model[ + attr] = + data[0].ID + + ';' + data[0].Name; + + // $this.classAttrList[param.index].Attr[param.iindex].Value=data[0].Name; + // $this.classAttrList[param.index].Attr[param.iindex].ValID=data[0].ID+';'+data[0].Name; + var callback_eventid = param + .button_callback + .trim(); + if (callback_eventid) { var info = { eventid: callback_eventid, - edtype: "0", - projectid: '', - rclsid: '', - robjid: '', - userlogin: '', - clsid: $this.param - .DataCls - .id, + edtype: "2", + projectid: data[0] + .ID, + rclsid: "", + robjid: "", + userlogin: "", + clsid: $this.$data + .param + .DataCls.id, objid: "", attr: param.req, - inputparameter: data, dataJson: [], } - $this.DataObjRunCustomEvent( - info, - param - .data_attr); + + $this + .DataObjRunCustomEvent( + info); } } - }); - } else if (action.action_type == - 'open_data_query_dlg') { - var d = dialog({ - title: '<i class="ace-icon fa fa-info-circle"></i> ' + - $this.translateSys("tip"), - content: $this.translateSys( - "quotation_mark_left") + - action - .action_type + $this.translateSys( - "quotation_mark_right") + $this - .translate( - "tip_action_unprocessed") - }); - d.show(); - } else if (action.action_type == 'open_common_dlg') { - - if (val.common_dlg_id == 'check_list') { - - $this.setData({ - check_list: val.config - }) - if (val.config.appear_style == - 'sideslip') //鍒ゆ柇鏄惁鏄晶婊�- $this.setData({ - popupType: "right" - }) - else - $this.setData({ - popupType: "center" - }) - // open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦�uni-popup 缁勪欢涓婄粦瀹�type灞炴� - $this.$refs.popup.open($this.popupType); - var popupParam = { - item: item, - button_callback: button_callback, - req: req, - data_attr: data_attr - } - $this.setData({ - popupParam: popupParam - }) } - } else if (action.action_type == - 'open_project_query_dlg') { - //console.log(action.value.select_range); - //console.log(action.value.mulit_select); - var priRel = '-1'; - if (action.value.select_range == '鍏ㄩ儴鐩稿叧') - priRel = '0'; - else if (action.value.select_range == '鎴戣礋璐g殑椤圭洰') - priRel = '1'; - else if (action.value.select_range == '鎴戝垱寤虹殑') - priRel = '2'; - else if (action.value.select_range == '鎴戝弬涓庣殑' || - action - .value - .select_range == '鎴戝弬鍔犵殑') - priRel = '3'; - else if (action.value.select_range == '鎴戝叧娉ㄧ殑') - priRel = '4'; - else if (action.value.select_range == '鎴戜笅灞炵殑椤圭洰') - priRel = '5'; - var param_ = { - item: item, - button_callback: button_callback, - req: req - } - uni.navigateTo({ - url: '../selPrj/index?relation=' + - priRel + - '¶m=' + - JSON.stringify(param_), - events: { - AddPer(data, param) { - var attr = param.item.fieldId; - $this.head_styledef.form.model[ - attr] = - data[0].ID + - ';' + data[0].Name; - - // $this.classAttrList[param.index].Attr[param.iindex].Value=data[0].Name; - // $this.classAttrList[param.index].Attr[param.iindex].ValID=data[0].ID+';'+data[0].Name; - var callback_eventid = param - .button_callback - .trim(); - if (callback_eventid) { - var info = { - eventid: callback_eventid, - edtype: "2", - projectid: data[0] - .ID, - rclsid: "", - robjid: "", - userlogin: "", - clsid: $this.$data - .param - .DataCls.id, - objid: "", - attr: param.req, - dataJson: [], - } - - $this - .DataObjRunCustomEvent( - info); - } - } - } - }); - } else { - uni.showModal({ - title: $this.translateSys("tip"), - content: $this.translateSys( - "quotation_mark_left") + - action.action_type + $this - .translateSys( - "quotation_mark_right") + $this - .translate( - "tip_action_unprocessed"), - showCancel: false, - confirmText: $this.translateSys( - 'close') - }); - } + }); + } else { + uni.showModal({ + title: $this.translateSys("tip"), + content: $this.translateSys( + "quotation_mark_left") + + action.action_type + $this + .translateSys( + "quotation_mark_right") + $this + .translate( + "tip_action_unprocessed"), + showCancel: false, + confirmText: $this.translateSys( + 'close') + }); } } - } else { + + } catch (ex) { + let actionList = (data.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') + "5.2", - content: $this.translateSys( - "quotation_mark_left") + - "before_click_button" + $this.translateSys( - "quotation_mark_right") + $this - .translateSys( - "comma") + 'event_id' + eventid, + title: this.translateSys('tip'), + content: tip, showCancel: false, - confirmText: $this.translateSys('close') + confirmText: this.translateSys('close') }); + console.log(ex) + return } + } }).catch(ex => { @@ -1605,28 +1624,28 @@ } }, - hideFormItems(data) { - const $this = this + hideFormItems(attrs) { + if (!Array.isArray(attrs)) { + return + } const head_styledef = this.head_styledef - data.forEach(async (attr, key) => { - head_styledef.form.items.forEach(async (ele, index) => { - //鍒ゆ柇鏄惁鏄爡鏍艰〃鍗�- if (ele.name != 'Layout') { - if (ele.fieldId == attr.attr) { - ele.show = attr.show; - } - } else if (ele.name == 'Layout') { - ele.setting.colList.forEach((col) => { - if (col) { - if (col.fieldId == attr.attr) { - col.show = attr.show; - } - } - }); - } - }); + if (!head_styledef.hiddenIds) { + head_styledef.hiddenIds = [] + } + attrs.forEach((attr) => { + let index = head_styledef.hiddenIds.findIndex((id) => id == attr.attr); + if (attr.show) { + if (index > -1) head_styledef.hiddenIds.splice(index, 1); + } else { + if (index == -1) head_styledef.hiddenIds.push(attr.attr); + } }); + + this.setData({ + head_styledef: head_styledef + }) }, + afterOK() { this.saving = true const $this = this @@ -1694,6 +1713,7 @@ .info .join( '<br/>') : ''; + tip = tip || data.err_info if (tip) uni.showModal({ title: this.translateSys("tip"), content: tip, @@ -1709,9 +1729,20 @@ "&titlename=" + this.title }); } else { - var actionlist = data.action; - if (actionlist) { - console.log(actionlist); + if (data.result_type == 2) { + + } else if (typeof data.result == 'string') { + if (data.result) { + uni.showModal({ + title: this.translateSys('tip'), + content: data.result, + showCancel: false, + confirmText: this.translateSys('close') + }); + } + } + try { + var actionlist = data.action || [] for (var i = 0; i < actionlist.length; i++) { var action = actionlist[i]; if (action.action_type == 'set_dlg_attr') { @@ -1743,7 +1774,21 @@ } } + + } catch (ex) { + let actionList = (data.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 } + } } @@ -1869,6 +1914,7 @@ .info .join( '<br/>') : ''; + tip = tip || data.err_info if (tip) uni.showModal({ title: this.translateSys("tip"), content: tip, @@ -1884,9 +1930,20 @@ "&titlename=" + this.title }); } else { - var actionlist = data.action; - if (actionlist) { - console.log(actionlist); + if (data.result_type == 2) { + + } else if (typeof data.result == 'string') { + if (data.result) { + uni.showModal({ + title: this.translateSys('tip'), + content: data.result, + showCancel: false, + confirmText: this.translateSys('close') + }); + } + } + try { + var actionlist = data.action || [] for (var i = 0; i < actionlist.length; i++) { var action = actionlist[i]; if (action.action_type == 'set_dlg_attr') { @@ -1918,7 +1975,22 @@ } } + + + } catch (ex) { + let actionList = (data.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 } + } } -- Gitblit v1.9.1