From 57a0f71fc9dd53d25431aa74f0201152b38b34f6 Mon Sep 17 00:00:00 2001 From: cuiqian2004 <cuiqian2004@163.com> Date: 星期五, 12 七月 2024 18:08:34 +0800 Subject: [PATCH] test --- pages/modal/3200.vue | 527 +++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 427 insertions(+), 100 deletions(-) diff --git a/pages/modal/3200.vue b/pages/modal/3200.vue index a50a827..963b950 100644 --- a/pages/modal/3200.vue +++ b/pages/modal/3200.vue @@ -39,25 +39,8 @@ <div class="dv-listHtml-Panel" v-if="ListHtml_Panel" v-html="ListHtml_Panel[ii]" :style="param.ListPage.CheckBox==true && param.ListPage.Click_View==true?'width:85%;': param.ListPage.CheckBox==false && param.ListPage.Click_View==true?'width:91%;': param.ListPage.CheckBox==true && param.ListPage.Click_View==false?'width:88%;':'width:100%;'"> - <!-- <div class="dv_panel_content"> - <div class="dv_panel_attr"> - <label>No锛�/label> - <span>TA240129-00001</span> + </div> - <div class="dv_panel_attr"> - <div class="dv_box_node"> - <p><span>姣涙枡绾胯竟</span></p> - <label>L002-1</label> - </div> - <i class="mobox-normal-right"></i> - <div class="dv_box_node"> - <p><span>姣涙枡绾胯竟</span></p> - <label>L003-3</label> - </div> - </div> - </div> --> - </div> - <!-- 鑷畾涔夎〃鍗曠被鍨嬫樉绀�--> <div class="dv-panel-input" v-if="!ListHtml_Panel" :style="param.ListPage.CheckBox==true && param.ListPage.Click_View==true?'width:85%;': param.ListPage.CheckBox==false && param.ListPage.Click_View==true?'width:91%;': param.ListPage.CheckBox==true && param.ListPage.Click_View==false?'width:88%;':'width:100%;'"> @@ -201,9 +184,9 @@ <view class="view-floor"> <button type="default" @click="cancel" class="btn_cancel" - :style="{'width':param.ListPage.Page_Button.length>0?'39.5%':'48.5%'}">鍏抽棴</button> + :style="{'width':param.ListPage.Page_Button.length>0?'39.5%':'48.5%'}">{{translateSys("close")}}</button> <button type="default" @click="Refresh" class="btn_refresh" - :style="{'width':param.ListPage.Page_Button.length>0?'39.5%':'48.5%'}">鍒锋柊</button> + :style="{'width':param.ListPage.Page_Button.length>0?'39.5%':'48.5%'}">{{translateSys("refresh")}}</button> <view class="uni-padding-wrap" v-if="param.ListPage.Page_Button.length>0"> <view class="uni-btn-v"> <a @tap="actionSheetTap"> @@ -290,7 +273,7 @@ }); //璁剧疆椤堕儴鏍囬 this.$data.title = options.titlename; this.$data.param = JSON.parse(options.param); - this.initial(); + this.initial( options.paramValue); // this.isFilter=true; // if(this.param.ShowFilter) // this.isFilter=false; @@ -320,8 +303,31 @@ // this.focusMateria=true; }, methods: { + // + setData: function(obj) { + let that = this; + let keys = []; + let val, data; + + Object.keys(obj).forEach(function(key) { + keys = key.split("."); + val = obj[key]; + data = that.$data; + keys.forEach(function(key2, index) { + if (index + 1 == keys.length) { + that.$set(data, key2, val); + } else { + if (!data[key2]) { + that.$set(data, key2, {}); + } + } + data = data[key2]; + }); + }); + }, + //鍒濆鍖�- async initial() { + async initial(paramValue) { this.styledef = {}; this.head_styledef = { form: { @@ -349,7 +355,31 @@ this.isFilter = false; //鑾峰彇鏁版嵁绫荤殑鑷畾涔夎〃鍗曞弬鏁� if (this.param.Query_Panel) { - this.Head_UIStyleGetInfo(this.param.DataCls.id, this.param.Query_Panel.id); + await this.Head_UIStyleGetInfo(this.param.DataCls.id, this.param.Query_Panel.id); + //浼犲叆鍙傛暟鍊�+ if (paramValue) { + const attrs = paramValue.attrs || []; + (this.$data.head_styledef?.form?.items || []).forEach(async (ele, index) => { + if (ele.name != "Layout") { + attrs.forEach(async (ele2, index2) => { + if (ele.fieldId == ele2.name) { + ele.value = ele2.value; + } + }); + } else { + ele.setting.colList.forEach(async (col) => { + if (col) { + attrs.forEach(async (ele2, + index2) => { + if (col.fieldId == ele2.name) { + col.value = ele2.value; + } + }); + } + }); + } + }) + } } if (this.param.ListPage.ListItem_UIDef?.ui_type == "HTML椤甸潰") { // HTML椤甸潰 @@ -368,6 +398,7 @@ this.query_id = ""; await this.loadDataGetList(); } + }, //婊氬姩鍒板簳閮ㄥ悗鎳掑姞杞芥暟鎹� async scrolltolower(e) { @@ -591,13 +622,18 @@ if (result.ret != 0) { var tip = result.err_info ? typeof result.err_info == 'string' ? result .err_info : result.err_info.join('<br/>') : ''; - if (result.ret == 801) uni.showModal({ - title: this.translateSys("tip"), - content: tip, - showCancel: false, - confirmText: this.translateSys("cancel") - }); - else uni.showModal({ + if (result.ret == 801) { + if (this.param.Only_Script_Error) { + let pos = tip.indexOf("锛�); + if (pos > -1) tip = tip.substring(pos + 1); + } + uni.showModal({ + title: this.translateSys("tip"), + content: tip, + showCancel: false, + confirmText: this.translateSys("cancel") + }); + } else uni.showModal({ title: this.translateSys("tip"), content: tip + ',' + this.translateSys('tip') + ':' + result .ret, @@ -955,6 +991,14 @@ this.DeleteObj(btn, style, enviroment); // } else if (btn.FunCode == "TriggerEvent") { // this.triggerEvent(btn, style, enviroment); + } else if (btn.FunCode == "TriggerEvent") { + this.TriggerEvent(btn, style, enviroment); + // } else if (btn.FunCode == "TriggerEvent") { + // this.triggerEvent(btn, style, enviroment); + } else if (btn.FunCode == "RelatedFunction") { + this.RelatedFunction(btn, style, enviroment); + // } else if (btn.FunCode == "TriggerEvent") { + // this.triggerEvent(btn, style, enviroment); } else { uni.showModal({ title: this.translateSys("tip"), @@ -1056,6 +1100,208 @@ }); }, + //鎵ц浜嬩欢 + async TriggerEvent(btn, style, enviroment) { //鎵ц瑙﹀彂浜嬩欢 + try { + let obj_attr = { + S_ID: this.styledef.form.objId + }; + style.form.attrs.forEach((attr) => { + obj_attr[attr.name] = attr.value; + }); + + if (!this.ListPageHtml_Show.event.id) { + //鍒ゆ柇娌℃湁HTML椤甸潰浜嬩欢 + // console.log(this.detail2_styledef); + this.detail2_styledef.form.items.forEach(async (ele, index) => { + if (ele.name != "Layout") { + if (!obj_attr[ele.fieldId]) { + obj_attr[ele.fieldId] = ele.value; + } + } else if (ele.name == "Layout") { + ele.setting.colList.forEach(async (col, key) => { + if (col) { + if (!obj_attr[col.fieldId]) { + obj_attr[col.fieldId] = col.value; + } + } + }); + } + }); + } + + const dataInfo = { + ed_type: 0, + start_transaction: true, + class_id: btn.clsId, + event_id: btn.event.id, + data_obj_id: this.styledef.form.objId, + obj_attr: obj_attr, + } + this.$store.dispatch('runCustomEvent', dataInfo).then(ret => { + // console.log(ret); + if (ret.err_code == 0) { + var result = ret.result; + if (result.ret != 0) { + var tip = result.err_info ? typeof result.err_info == + 'string' ? + result + .err_info : result.err_info.join('<br/>') : ''; + if (result.ret == 801) { + if (this.param.Only_Script_Error) { + let pos = tip.indexOf("锛�); + if (pos > -1) tip = tip.substring(pos + 1); + } + uni.showModal({ + title: this.translateSys("tip"), + content: tip, + showCancel: false, + confirmText: this.translateSys("cancel") + }); + } else uni.showModal({ + title: this.translateSys("tip"), + content: tip + ',' + this.translateSys('tip') + + ':' + + result + .ret, + showCancel: false, + confirmText: this.translateSys("cancel") + }); + return false; + } else { + var tip = result.info ? typeof result.info == 'string' ? result + .info : + result.info.join('<br/>') : ''; + if (tip) uni.showModal({ + title: this.translateSys("tip"), + content: tip, + showCancel: false, + confirmText: this.translateSys("cancel") + }); + + } + } else { + uni.showModal({ + title: this.translateSys("error") + "8", + content: ret.err_msg, + showCancel: false, + confirmText: this.translateSys("cancel") + }); + } + + }).catch(ex => { + // console.log(ex); + uni.showModal({ + title: this.translateSys("error") + "8.1", + content: ex.errMsg, + showCancel: false, + confirmText: this.translateSys("cancel") + }); + }); + } catch (ex) { + var tip = typeof ex == "string" ? ex : ex.message; + uni.showModal({ + title: this.translateSys("error"), + content: tip, + showCancel: false, + confirmText: this.translateSys("cancel") + }); + this.showError(ex); + } + }, + //璺宠浆 + async RelatedFunction(btn, style, enviroment) { + + if ( + btn.Related_Function?.Def_Code == "3018" || + btn.Related_Function?.Def_Code == "3037" || + btn.Related_Function?.Def_Code == "3200" || + btn.Related_Function?.Def_Code == "3201" || + btn.Related_Function?.Def_Code == "5600" || + btn.Related_Function?.Def_Code == "5601" || + btn.Related_Function?.Def_Code == "5602" + ) { + let name = btn.Related_Function?.Def_Code + if (btn.Related_Function?.Def_Code == "3018" || btn.Related_Function?.Def_Code == "3037") + name = btn.Related_Function?.Def_Code + "_2" + + var $this = this; + var json = { + app_id: appId, + }; + this.$store.dispatch('appGetInfo', json).then(success => { + // console.log(success); + if (success.err_code == 0) { + if ((success.result || []).length > 0) { + const app = success.result[0] + var param = ""; + var appName = app.name || app.list_name + .Name; + var paramStr = app.param + if (paramStr) { + //mobox2鐨刾aram鏄痡son瀛楃涓�+ param = paramStr.replace(/\\/g, ""); + //mobox3鐨刾aram鏄痓ase64瀛楃涓�+ if (!paramStr.includes('"')) param = Base64.decode(paramStr); + } + if (!param) { + uni.showModal({ + title: this.translateSys("tip"), + content: this.translate('tip_no_app_param'), + showCancel: false, + confirmText: this.translateSys("cancel") + }); + return; + } + + uni.navigateTo({ + url: '../modal/' + name + '?param=' + param + "&titlename=" + + appName + + "&type=relatedFunction¶mValue=" + JSON.stringify(style + .form), + events: { + relatedFunction: function(data) { + console.log(data); + $this.Refresh(); + }, + } + }); + } else { + uni.showModal({ + title: this.translateSys("error"), + content: this.translate("function_not_exist"), + showCancel: false, + confirmText: this.translateSys("cancel") + }); + } + } else { + uni.showModal({ + title: this.translateSys("error"), + content: success.msg, + showCancel: false, + confirmText: this.translateSys("cancel") + }); + } + }).catch(ex => { + // console.log(ex); + uni.showModal({ + title: this.translateSys("error"), + content: ex.errMsg, + showCancel: false, + confirmText: this.translateSys("cancel") + }); + }); + } + else{ + uni.showModal({ + title: this.translateSys("error"), + content: this.translate("cannot_related_function"), + showCancel: false, + confirmText: this.translateSys("cancel") + }); + + } + }, //鎵ц鍚庡鐞嗕簨浠� async AfterProcess_Event(clsId, afterProcess_Event, enviroment) { try { @@ -1094,7 +1340,8 @@ var attr = item.fieldId; this.head_styledef.form.model[attr] = item.value; var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�- var onSuffixClickCallbackEvent = item.bind.onSuffixClickCallbackEvent; //鍚庡浘鏍囩偣鍑讳簨浠�+ var onSuffixClickCallbackEvent = item.bind + .onSuffixClickCallbackEvent; //鍚庡浘鏍囩偣鍑讳簨浠� var onSuffixClickEvent = item.bind.onSuffixClickEvent; //鍚庡浘鏍囩偣鍑诲洖璋� var isflag = false; @@ -1196,24 +1443,34 @@ if (ret.err_code == 0) { var result = ret.result; if (result.ret != 0) { - var tip = result.err_info ? typeof result.err_info == 'string' ? result + var tip = result.err_info ? typeof result.err_info == + 'string' ? + result .err_info : result.err_info.join('<br/>') : ''; - if (result.ret == 801) uni.showModal({ + if (result.ret == 801) { + if (this.param.Only_Script_Error) { + let pos = tip.indexOf("锛�); + if (pos > -1) tip = tip.substring(pos + 1); + } + uni.showModal({ + title: this.translateSys("tip"), + content: tip, + showCancel: false, + confirmText: this.translateSys("cancel") + }); + } else uni.showModal({ title: this.translateSys("tip"), - content: tip, - showCancel: false, - confirmText: this.translateSys("cancel") - }); - else uni.showModal({ - title: this.translateSys("tip"), - content: tip + ',' + this.translateSys('tip') + ':' + result + content: tip + ',' + this.translateSys('tip') + + ':' + + result .ret, showCancel: false, confirmText: this.translateSys("cancel") }); return false; } else { - var tip = result.info ? typeof result.info == 'string' ? result.info : + var tip = result.info ? typeof result.info == 'string' ? result + .info : result.info.join('<br/>') : ''; if (tip) uni.showModal({ title: this.translateSys("tip"), @@ -1227,16 +1484,23 @@ if (item.action_type == "set_dlg_attr") { // value = {"attr":"xxx", "value":"xxx"} var data = item.value; - $this.$data.head_styledef.form.items.forEach(async ( - ele, index) => { - data.forEach(async (ele2, index) => { - if (ele.fieldId == ele2 - .attr) { - ele.value = ele2 - .value; - } - }); - }); + $this.$data.head_styledef.form.items + .forEach( + async ( + ele, index) => { + data.forEach(async (ele2, + index) => { + if (ele + .fieldId == + ele2 + .attr + ) { + ele.value = + ele2 + .value; + } + }); + }); } }); } else { @@ -1274,7 +1538,8 @@ var tip = typeof ex == "string" ? ex : ex.message; uni.showModal({ title: this.translateSys("error") + "8.2", - content: this.translate('execute_after_change_event_failed') + this.translateSys( + content: this.translate('execute_after_change_event_failed') + this + .translateSys( "comma") + this.translate('reason') + this.translateSys("colon") + tip, showCancel: false, @@ -1301,23 +1566,33 @@ if (ret.err_code == 0) { var result = ret.result; if (result.ret != 0) { - var tip = result.err_info ? typeof result.err_info == 'string' ? result + var tip = result.err_info ? typeof result.err_info == + 'string' ? + result .err_info : result.err_info.join('<br/>') : ''; - if (result.ret == 801) uni.showModal({ + if (result.ret == 801) { + if (this.param.Only_Script_Error) { + let pos = tip.indexOf("锛�); + if (pos > -1) tip = tip.substring(pos + 1); + } + uni.showModal({ + title: this.translateSys("tip"), + content: tip, + showCancel: false, + confirmText: this.translateSys("cancel") + }); + } else uni.showModal({ title: this.translateSys("tip"), - content: tip, - showCancel: false, - confirmText: this.translateSys("cancel") - }); - else uni.showModal({ - title: this.translateSys("tip"), - content: tip + ',' + this.translateSys('tip') + ':' + result.ret, + content: tip + ',' + this.translateSys('tip') + + ':' + + result.ret, showCancel: false, confirmText: this.translateSys("cancel") }); return false; } else { - var tip = result.info ? typeof result.info == 'string' ? result.info : result + var tip = result.info ? typeof result.info == 'string' ? result + .info : result .info.join('<br/>') : ''; if (tip) uni.showModal({ title: this.translateSys("tip"), @@ -1328,24 +1603,31 @@ if (result.result_type == 0 && result.action) { result.action.forEach(item => { - if (item.action_type == "goback_to_pre_page") { //杩斿洖涓婁竴椤�+ if (item.action_type == + "goback_to_pre_page") { //杩斿洖涓婁竴椤� var value = item.value; uni.navigateBack({ delta: 1, //杩斿洖灞傛暟锛�鍒欎笂涓婇〉 }); - } else if (item.action_type == "hidden_button") { //闅愯棌鎸夐挳 + } else if (item.action_type == + "hidden_button") { //闅愯棌鎸夐挳 var value = item.value; value.forEach(btn => { - var index = $this.param.ListPage.Page_Button - .findIndex(button => button.ShowName == + var index = $this.param + .ListPage + .Page_Button + .findIndex(button => button + .ShowName == btn) if (index > -1) - $this.param.ListPage.Page_Button.splice( + $this.param.ListPage + .Page_Button.splice( index, 1) }) // } else if(item.action_type == "refresh_cur_row"){ // // var value = item.value; - } else if (item.action_type == "set_panel_html") { //鏄剧ずHtml椤甸潰 + } else if (item.action_type == + "set_panel_html") { //鏄剧ずHtml椤甸潰 // var value = item.value; $this.ListHtml_Panel = item.value; // $this.detail1StyleDefList.forEach((ele,index)=>{ @@ -1354,15 +1636,23 @@ } else { uni.showModal({ - title: this.translateSys("tip"), + title: this.translateSys( + "tip"), content: this.translateSys( - "quotation_mark_left") + item - .action_type + this.translateSys( - "quotation_mark_right") + this + "quotation_mark_left" + ) + + item + .action_type + this + .translateSys( + "quotation_mark_right" + ) + + this .translate( - "tip_action_unprocessed"), + "tip_action_unprocessed" + ), showCancel: false, - confirmText: this.translateSys("cancel") + confirmText: this.translateSys( + "cancel") }); } }); @@ -1445,13 +1735,17 @@ var seps = [' not in', ' in', '<>', '!=', '<=', '>=', '<', '=', '>', ' like'] list.forEach(ls => { var where = ls.trim() - if (where.startsWith('(') && where.endsWith(')')) where = where.replace(/^\(/, '').replace( + if (where.startsWith('(') && where.endsWith(')')) where = where.replace( + /^\(/, + '').replace( /\)$/, '') if (where.toLowerCase().includes(' and ')) { // 浜岀骇and鏀惧湪绗竴绾ф暟缁勪腑 where.split(/ and /i).forEach(li => { var l = li.trim() - if (l.startsWith('(') && l.endsWith(')')) l = l.replace(/^\(/, '').replace( + if (l.startsWith('(') && l.endsWith(')')) l = l.replace( + /^\(/, + '').replace( /\)$/, '') var sep = '' for (var i = 0; i < seps.length; i++) { @@ -1462,21 +1756,33 @@ } if (sep) { var values = l.split(new RegExp(sep, 'i')) - var field = values[0]?.trim().replace(/^\[/, '').replace(/\]$/, '') + var field = values[0]?.trim().replace(/^\[/, '') + .replace( + /\]$/, '') var value = '' var op = sep.trim() - if ([' in', ' not in'].includes(sep) && values[1]?.toLowerCase().includes( - 'select ') && values[1]?.toLowerCase().includes(' from ')) { - value = l.replace(field, '').replace(/^\s*(in|not in)\s*/i, '').trim() - if (value.startsWith('(') && value.endsWith(')')) value = value + if ([' in', ' not in'].includes(sep) && values[1] + ?.toLowerCase().includes( + 'select ') && values[1]?.toLowerCase() + .includes( + ' from ')) { + value = l.replace(field, '').replace( + /^\s*(in|not in)\s*/i, '').trim() + if (value.startsWith('(') && value.endsWith(')')) + value = value .replace(/^\(/, '').replace(/\)$/, '').trim() } else { - value = values[1]?.trim().replace(/^\'/, '').replace(/\'$/, '') + value = values[1]?.trim().replace(/^\'/, '') + .replace( + /\'$/, '') if (['in', 'not in'].includes(op)) { - value = value.replace(/^\(/, '').replace(/\)$/, '') - value = value.split(',').map(v => v.trim().replace(/^\'/, '') + value = value.replace(/^\(/, '').replace(/\)$/, + '') + value = value.split(',').map(v => v.trim() + .replace( + /^\'/, '') .replace(/\'$/, '')) } } @@ -1492,7 +1798,9 @@ var s = [] where.split(/ or /i).forEach(li => { var l = li.trim() - if (l.startsWith('(') && l.endsWith(')')) l = l.replace(/^\(/, '').replace( + if (l.startsWith('(') && l.endsWith(')')) l = l.replace( + /^\(/, + '').replace( /\)$/, '') var sep = '' for (var i = 0; i < seps.length; i++) { @@ -1503,21 +1811,33 @@ } if (sep) { var values = l.split(new RegExp(sep, 'i')) - var field = values[0]?.trim().replace(/^\[/, '').replace(/\]$/, '') + var field = values[0]?.trim().replace(/^\[/, '') + .replace( + /\]$/, '') var value = '' var op = sep.trim() - if ([' in', ' not in'].includes(sep) && values[1]?.toLowerCase().includes( - 'select ') && values[1]?.toLowerCase().includes(' from ')) { - value = l.replace(field, '').replace(/^\s*(in|not in)\s*/i, '').trim() - if (value.startsWith('(') && value.endsWith(')')) value = value + if ([' in', ' not in'].includes(sep) && values[1] + ?.toLowerCase().includes( + 'select ') && values[1]?.toLowerCase() + .includes( + ' from ')) { + value = l.replace(field, '').replace( + /^\s*(in|not in)\s*/i, '').trim() + if (value.startsWith('(') && value.endsWith(')')) + value = value .replace(/^\(/, '').replace(/\)$/, '').trim() } else { - value = values[1]?.trim().replace(/^\'/, '').replace(/\'$/, '') + value = values[1]?.trim().replace(/^\'/, '') + .replace( + /\'$/, '') if (['in', 'not in'].includes(op)) { - value = value.replace(/^\(/, '').replace(/\)$/, '') - value = value.split(',').map(v => v.trim().replace(/^\'/, '') + value = value.replace(/^\(/, '').replace(/\)$/, + '') + value = value.split(',').map(v => v.trim() + .replace( + /^\'/, '') .replace(/\'$/, '')) } } @@ -1533,7 +1853,9 @@ var li = where // 鍗曚竴鏌ヨ鏉′欢鐩存帴鏀惧湪绗竴绾ф暟缁勪腑 var l = li.trim() - if (l.startsWith('(') && l.endsWith(')')) l = l.replace(/^\(/, '').replace(/\)$/, '') + if (l.startsWith('(') && l.endsWith(')')) l = l.replace(/^\(/, '') + .replace( + /\)$/, '') var sep = '' for (var i = 0; i < seps.length; i++) { if (l.toLowerCase().includes(seps[i])) { @@ -1547,18 +1869,23 @@ var value = '' var op = sep.trim() - if ([' in', ' not in'].includes(sep) && values[1]?.toLowerCase().includes('select ') && + if ([' in', ' not in'].includes(sep) && values[1]?.toLowerCase() + .includes('select ') && values[1]?.toLowerCase().includes(' from ')) { - value = l.replace(field, '').replace(/^\s*(in|not in)\s*/i, '').trim() - if (value.startsWith('(') && value.endsWith(')')) value = value.replace(/^\(/, '') + value = l.replace(field, '').replace(/^\s*(in|not in)\s*/i, '') + .trim() + if (value.startsWith('(') && value.endsWith(')')) value = value + .replace(/^\(/, '') .replace(/\)$/, '').trim() } else { value = values[1]?.trim().replace(/^\'/, '').replace(/\'$/, '') if (['in', 'not in'].includes(op)) { value = value.replace(/^\(/, '').replace(/\)$/, '') - value = value.split(',').map(v => v.trim().replace(/^\'/, '').replace(/\'$/, - '')) + value = value.split(',').map(v => v.trim().replace(/^\'/, + '') + .replace(/\'$/, + '')) } } sql.push([{ @@ -1696,7 +2023,7 @@ } .dv-panel-buticon .btn-padding { - padding: 0rpx 20rpx; + padding: 10rpx 20rpx; display: inline-block; vertical-align: middle; } -- Gitblit v1.9.1