initialEvent 输入参数格式和web端保持一致
| | |
| | | |
| | | |
| | | 2025.08.29 |
| | | 1.处理 get_pre_page_subtable_next_row,remove_pre_page_subtable_row ,修改处理 goback_to_pre_page, |
| | | 2,修改事件返回提示 |
| | | 3,initialEvent 输入参数格式和web端保持一致 |
| | | 2025.05.20 |
| | | 1.添加登陆时绑定班次 |
| | | 2025.05.15 |
| | |
| | | }, |
| | | async loadInitialEvent() { |
| | | try { |
| | | if (this.initialEvent.id) { |
| | | this.onChange(this.initialEvent) |
| | | var eventid = this.initialEvent?.id; //内容变化后事件 |
| | | if (eventid) { |
| | | // self.event_no_sub = 1; |
| | | let obj_attr = this.head_styledef.form.model; |
| | | let req = { |
| | | id: "", |
| | | attrs: Object.keys(obj_attr).map((a) => ({ |
| | | attr: a, |
| | | value: obj_attr[a], |
| | | })), |
| | | }; |
| | | |
| | | var info = { |
| | | eventid: eventid, |
| | | edtype: "0", |
| | | projectid: '', |
| | | rclsid: '', |
| | | robjid: '', |
| | | userlogin: '', |
| | | clsid: this.param.DataCls.id, |
| | | objid: "", |
| | | attr: req, |
| | | dataJson: [] |
| | | } |
| | | this.DataObjRunCustomEvent(info); |
| | | } |
| | | |
| | | } catch (ex) { |
| | | showError(ex, this.translateSys("error")) |
| | | |
| | |
| | | }, |
| | | async loadInitialEvent() { |
| | | try { |
| | | if (this.initialEvent.id) { |
| | | this.onChange(this.initialEvent) |
| | | var eventid = this.initialEvent?.id; //内容变化后事件 |
| | | if (eventid) { |
| | | // self.event_no_sub = 1; |
| | | var obj_attr = this.head_styledef.form.model; |
| | | // console.log(obj_attr); |
| | | let req = { |
| | | id: "", |
| | | attrs: Object.keys(obj_attr).map((a) => ({ |
| | | attr: a, |
| | | value: obj_attr[a] || "", |
| | | })) |
| | | } |
| | | var info = { |
| | | eventid: eventid, |
| | | edtype: "0", |
| | | projectid: '', |
| | | rclsid: '', |
| | | robjid: '', |
| | | userlogin: '', |
| | | clsid: this.head_styledef.form.clsId, |
| | | objid: "", |
| | | attr: req, |
| | | } |
| | | this.DataObjRunCustomEvent(info); |
| | | } |
| | | |
| | | } catch (ex) { |
| | | showError(ex, this.translateSys('error')) |
| | | |
| | |
| | | }, |
| | | async loadInitialEvent() { |
| | | try { |
| | | if (this.initialEvent.id) { |
| | | this.onChange(this.initialEvent) |
| | | const event = this.initialEvent |
| | | if (event.id) { |
| | | var obj_attr = this.head_styledef.form.model; |
| | | // console.log(obj_attr); |
| | | var input_param = Base64.encode( |
| | | JSON.stringify({ |
| | | id: "", |
| | | attrs: Object.keys(obj_attr).map((a) => ({ |
| | | attr: a, |
| | | value: obj_attr[a] || "", |
| | | })) |
| | | }) |
| | | ); |
| | | var $this = this; |
| | | var dataInfo = { |
| | | ed_type: 0, |
| | | start_transaction: true, |
| | | class_id: this.head_styledef.form.clsId, |
| | | class_name: '', |
| | | event_id: event.id, |
| | | event_name: '', |
| | | data_obj_id: '', |
| | | obj_attr: obj_attr, |
| | | prj_id: '', |
| | | ref_cls_id: '', |
| | | rel_obj_id: '', |
| | | user_login: '', |
| | | data_json: '', |
| | | compose_info: '', |
| | | ext_info: '', |
| | | global_attr: '', |
| | | input_param: input_param, |
| | | }; |
| | | runCustomEvent(dataInfo).then(result => { |
| | | // console.log(result); |
| | | if (result.ret != 0 && result.ret != 1) { |
| | | let cls_name = result.event_info?.cls_name |
| | | let event_name = result.event_info?.event_name |
| | | tip = result.err_info ? typeof result.err_info == 'string' ? |
| | | result.err_info : |
| | | result |
| | | .err_info |
| | | .join('\n') : '' |
| | | if (result.ret == 801) { |
| | | if (this.param.Only_Script_Error) { |
| | | let pos = tip.indexOf(":"); |
| | | if (pos > -1) tip = tip.substring(pos + 1); |
| | | } |
| | | } |
| | | if (cls_name && event_name) tip = |
| | | `执行“${cls_name}”数据类的“${event_name}”脚本时返回错误:${tip}` |
| | | if (result.ret == 801) showInfo(tip) |
| | | else showError(`${tip},提示:${result.ret}`, this.translateSys( |
| | | 'tip')) |
| | | this.saving = false |
| | | return false |
| | | } else { |
| | | var tip = result.info ? typeof result.info == 'string' ? result |
| | | .info : |
| | | result.info.join('\n') : ''; |
| | | tip = tip || result.err_info |
| | | let time = result.info_time || 0 |
| | | if (time) |
| | | showError(tip, this.translateSys('tip')) |
| | | else |
| | | showInfo(tip) |
| | | |
| | | if ([0, 2, 3, 4, -1].includes(result.result_type)) { |
| | | if (result.result_type == 2) { |
| | | |
| | | } else if (typeof result.result == 'string') { |
| | | showInfo(result.result) |
| | | |
| | | } |
| | | 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_dlg_attr") { |
| | | if (value) { |
| | | this.setFormValues(value) |
| | | } |
| | | } else if (action_type == |
| | | "set_subtable_page_content") { |
| | | if (value.clear_confirm != false && value |
| | | .clear == true && |
| | | $this.detail1StyleDefList.length > 0 |
| | | ) { //判断是否清空页签内容,正在码盘是否有数据 |
| | | 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); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } catch (ex) { |
| | | let actionList = (result.action || []).map(a => a |
| | | .action_type).join( |
| | | ';') |
| | | let tip = typeof ex == 'string' ? ex : ex.message |
| | | tip = |
| | | `执行脚本返回的${actionList}时出现异常,请检查脚本返回的数据格式是否正确。${tip}` |
| | | showError(tip, this.translateSys('tip')) |
| | | return |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | }).catch(ex => { |
| | | // console.log(ex); |
| | | showError(ex, this.translateSys("error") + "8.1") |
| | | }); |
| | | } |
| | | } catch (ex) { |
| | | showError(ex, this.translateSys('error')) |
| | | showError(ex, this.translateSys('error') + "8.2") |
| | | |
| | | } |
| | | }, |
| | |
| | | var tip = result.info ? typeof result.info == 'string' ? result.info : |
| | | result.info.join('\n') : ''; |
| | | tip = tip || result.err_info |
| | | showInfo(tip) |
| | | let time = result.info_time || 0 |
| | | if (time) |
| | | showError(tip, this.translateSys('tip')) |
| | | else |
| | | showInfo(tip) |
| | | if ([0, 2, 3, 4, -1].includes(result.result_type)) { |
| | | if (result.result_type == 2) { |
| | | |
| | |
| | | await this.loadInitialEvent(); |
| | | }, |
| | | async loadInitialEvent() { |
| | | |
| | | try { |
| | | if (this.initialEvent.id) { |
| | | this.onChange(this.initialEvent) |
| | | const event = this.initialEvent |
| | | if (event.id) { |
| | | var obj_attr = this.head_styledef.form.model; |
| | | console.log(obj_attr); |
| | | var input_param = Base64.encode( |
| | | JSON.stringify({ |
| | | id: "", |
| | | attrs: Object.keys(obj_attr).map((a) => ({ |
| | | attr: a, |
| | | value: obj_attr[a] || "", |
| | | })) |
| | | }) |
| | | ); |
| | | var $this = this; |
| | | var dataInfo = { |
| | | ed_type: 0, |
| | | start_transaction: true, |
| | | class_id: this.head_styledef.form.clsId, |
| | | class_name: '', |
| | | event_id: event.id, |
| | | event_name: '', |
| | | data_obj_id: '', |
| | | obj_attr: obj_attr, |
| | | prj_id: '', |
| | | ref_cls_id: '', |
| | | rel_obj_id: '', |
| | | user_login: '', |
| | | data_json: '', |
| | | compose_info: '', |
| | | ext_info: '', |
| | | global_attr: '', |
| | | input_param: input_param, |
| | | }; |
| | | runCustomEvent(dataInfo).then(result => { |
| | | console.log(result); |
| | | if (result.ret != 0 && result.ret != 1) { |
| | | let cls_name = result.event_info?.cls_name |
| | | let event_name = result.event_info?.event_name |
| | | tip = result.err_info ? typeof result.err_info == 'string' ? result.err_info : |
| | | result |
| | | .err_info |
| | | .join('\n') : '' |
| | | if (result.ret == 801) { |
| | | if (this.param.Only_Script_Error) { |
| | | let pos = tip.indexOf(":"); |
| | | if (pos > -1) tip = tip.substring(pos + 1); |
| | | } |
| | | } |
| | | if (cls_name && event_name) tip = |
| | | `执行“${cls_name}”数据类的“${event_name}”脚本时返回错误:${tip}` |
| | | if (result.ret == 801) showInfo(tip) |
| | | else showError(`${tip},提示:${result.ret}`, this.translateSys('tip')) |
| | | this.saving = false |
| | | return false |
| | | } else { |
| | | var tip = result.info ? typeof result.info == 'string' ? result.info : |
| | | result.info.join('\n') : ''; |
| | | tip = tip || result.err_info |
| | | let time = result.info_time || 0 |
| | | if (time) |
| | | showError(tip, this.translateSys('tip')) |
| | | else |
| | | showInfo(tip) |
| | | if ([0, 2, 3, 4, -1].includes(result.result_type)) { |
| | | if (result.result_type == 2) { |
| | | |
| | | } else if (typeof result.result == 'string') { |
| | | showInfo(result.result) |
| | | |
| | | } |
| | | 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.pageindex = 1; |
| | | $this.query_id = ""; |
| | | $this.detail1StyleDefList = []; |
| | | $this.loadDataGetList(); |
| | | } else if (action_type == |
| | | "set_dlg_attr") { |
| | | $this.setFormValues(action.value) |
| | | } else if (action_type == "set_subtable_page_content") { |
| | | if (value.clear_confirm != false && value.clear == true && |
| | | $this.detail1StyleDefList.length > 0 |
| | | ) { //判断是否清空页签内容,正在码盘是否有数据 |
| | | 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); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } catch (ex) { |
| | | let actionList = (result.action || []).map(a => a.action_type).join( |
| | | ';') |
| | | let tip = typeof ex == 'string' ? ex : ex.message |
| | | tip = `执行脚本返回的${actionList}时出现异常,请检查脚本返回的数据格式是否正确。${tip}` |
| | | showError(tip, this.translateSys('tip')) |
| | | return |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | }).catch(ex => { |
| | | // console.log(ex); |
| | | showError(ex, this.translateSys("error") + "8.1") |
| | | }); |
| | | } |
| | | } catch (ex) { |
| | | showError(ex, this.translateSys('error')) |
| | | showError(ex, this.translateSys('error') + "8.2") |
| | | |
| | | } |
| | | }, |
| | | |
| | |
| | | uni.navigateTo({ |
| | | url: `../modal/3202_view?param=${JSON.stringify($this.param)}&titlename=${data.page?.page_name || ""}&dataObj=${JSON.stringify(data)}`, |
| | | events: { |
| | | // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据 |
| | | ExitViewEvent: function(data) { |
| | | console.log(data); |
| | | this.runCustomEvent(data); |
| | | ExitViewPage: function() { |
| | | |
| | | $this.loadInitialEvent() |
| | | } |
| | | } |
| | | }); |
| | |
| | | url: `../modal/3202_view?param=${JSON.stringify($this.param)}&titlename=${data.page?.page_name || ""}&dataObj=${JSON.stringify(data)}`, |
| | | events: { |
| | | // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据 |
| | | ExitViewEvent: function(data) { |
| | | console.log(data); |
| | | this.runCustomEvent(data); |
| | | ExitViewPage: function() { |
| | | |
| | | $this.loadInitialEvent() |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | else if (item.action_type == "goback_to_pre_page") { |
| | | } else if (item.action_type == "goback_to_pre_page") { |
| | | //返回上一页 |
| | | uni.navigateBack({ |
| | | delta: 1, //返回层数,2则上上页 |
| | |
| | | async runCustomEvent(dataInfo) { |
| | | try { |
| | | var $this = this; |
| | | runCustomEvent(dataInfo).then(result => { |
| | | console.log(result); |
| | | const result = await runCustomEvent(dataInfo) |
| | | console.log(result); |
| | | |
| | | if (result.ret != 0 && result.ret != 1) { |
| | | let cls_name = result.event_info?.cls_name |
| | | let event_name = result.event_info?.event_name |
| | | tip = result.err_info ? typeof result.err_info == 'string' ? result.err_info : |
| | | result |
| | | .err_info |
| | | .join('\n') : '' |
| | | if (result.ret == 801) { |
| | | if (this.param.Only_Script_Error) { |
| | | let pos = tip.indexOf(":"); |
| | | if (pos > -1) tip = tip.substring(pos + 1); |
| | | } |
| | | if (result.ret != 0 && result.ret != 1) { |
| | | let cls_name = result.event_info?.cls_name |
| | | let event_name = result.event_info?.event_name |
| | | tip = result.err_info ? typeof result.err_info == 'string' ? result.err_info : |
| | | result |
| | | .err_info |
| | | .join('\n') : '' |
| | | if (result.ret == 801) { |
| | | if (this.param.Only_Script_Error) { |
| | | let pos = tip.indexOf(":"); |
| | | if (pos > -1) tip = tip.substring(pos + 1); |
| | | } |
| | | if (cls_name && event_name) tip = |
| | | `执行“${cls_name}”数据类的“${event_name}”脚本时返回错误:${tip}` |
| | | if (result.ret == 801) showInfo(tip) |
| | | else showError(`${tip},提示:${result.ret}`, this.translateSys('tip')) |
| | | this.saving = false |
| | | return false |
| | | } else { |
| | | var tip = result.info ? typeof result.info == 'string' ? result.info : |
| | | result.info.join('\n') : ''; |
| | | tip = tip || result.err_info |
| | | let time = result.info_time || 0 |
| | | if (time) |
| | | showError(tip, this.translateSys('tip')) |
| | | else |
| | | showInfo(tip) |
| | | if ([0, 2, 3, 4, -1].includes(result.result_type)) { |
| | | if (result.result_type == 2) { |
| | | } |
| | | if (cls_name && event_name) tip = |
| | | `执行“${cls_name}”数据类的“${event_name}”脚本时返回错误:${tip}` |
| | | if (result.ret == 801) showInfo(tip) |
| | | else showError(`${tip},提示:${result.ret}`, this.translateSys('tip')) |
| | | this.saving = false |
| | | return false |
| | | } else { |
| | | var tip = result.info ? typeof result.info == 'string' ? result.info : |
| | | result.info.join('\n') : ''; |
| | | tip = tip || result.err_info |
| | | let time = result.info_time || 0 |
| | | if (time) |
| | | showError(tip, this.translateSys('tip')) |
| | | else |
| | | showInfo(tip) |
| | | if ([0, 2, 3, 4, -1].includes(result.result_type)) { |
| | | if (result.result_type == 2) { |
| | | |
| | | } else if (typeof result.result == 'string') { |
| | | showInfo(result.result) |
| | | |
| | | } |
| | | |
| | | var actionList = result.action || [] |
| | | actionList.forEach(item => { |
| | | if (item.action_type == |
| | | "goback_to_pre_page") { //返回上一页 |
| | | var value = item.value; |
| | | uni.navigateBack({ |
| | | delta: 1, //返回层数,2则上上页 |
| | | }); |
| | | } else { |
| | | showInfo(this |
| | | .translateSys( |
| | | "quotation_mark_left" |
| | | ) + |
| | | item |
| | | .action_type + |
| | | this |
| | | .translateSys( |
| | | "quotation_mark_right" |
| | | ) + |
| | | this |
| | | .translate( |
| | | "tip_action_unprocessed" |
| | | )) |
| | | |
| | | } |
| | | }); |
| | | } else if (typeof result.result == 'string') { |
| | | showInfo(result.result) |
| | | |
| | | } |
| | | |
| | | var actionList = result.action || [] |
| | | actionList.forEach(item => { |
| | | if (item.action_type == |
| | | "goback_to_pre_page") { //返回上一页 |
| | | var value = item.value; |
| | | uni.navigateBack({ |
| | | delta: 1, //返回层数,2则上上页 |
| | | }); |
| | | } else { |
| | | showInfo(this |
| | | .translateSys( |
| | | "quotation_mark_left" |
| | | ) + |
| | | item |
| | | .action_type + |
| | | this |
| | | .translateSys( |
| | | "quotation_mark_right" |
| | | ) + |
| | | this |
| | | .translate( |
| | | "tip_action_unprocessed" |
| | | )) |
| | | |
| | | } |
| | | }); |
| | | |
| | | } |
| | | }).catch(ex => { |
| | | // console.log(ex); |
| | | showError(ex, this.translateSys("error") + "9.1") |
| | | }); |
| | | |
| | | } |
| | | |
| | | } catch (ex) { |
| | | showError(ex, this.translateSys('error') + "9.2") |
| | | |
| | |
| | | }, |
| | | }, |
| | | onBackPress(e) { |
| | | this.navigateBackEvent() |
| | | this.beforeNavigateBack() |
| | | }, |
| | | async onLoad(options) { |
| | | console.log(options); |
| | |
| | | var $this = this; |
| | | |
| | | runCustomEvent(dataInfo).then(result => { |
| | | console.log(result); |
| | | console.log(result); |
| | | |
| | | if (result.ret != 0 && result.ret != 1) { |
| | | let cls_name = result.event_info?.cls_name |
| | | let event_name = result.event_info?.event_name |
| | | tip = result.err_info ? typeof result.err_info == 'string' ? result.err_info : result |
| | | .err_info |
| | | .join('\n') : '' |
| | | if (result.ret == 801) { |
| | | if (this.param.Only_Script_Error) { |
| | | let pos = tip.indexOf(":"); |
| | | if (pos > -1) tip = tip.substring(pos + 1); |
| | | } |
| | | if (result.ret != 0 && result.ret != 1) { |
| | | let cls_name = result.event_info?.cls_name |
| | | let event_name = result.event_info?.event_name |
| | | tip = result.err_info ? typeof result.err_info == 'string' ? result.err_info : |
| | | result |
| | | .err_info |
| | | .join('\n') : '' |
| | | if (result.ret == 801) { |
| | | if (this.param.Only_Script_Error) { |
| | | let pos = tip.indexOf(":"); |
| | | if (pos > -1) tip = tip.substring(pos + 1); |
| | | } |
| | | if (cls_name && event_name) tip = `执行“${cls_name}”数据类的“${event_name}”脚本时返回错误:${tip}` |
| | | if (result.ret == 801) showInfo(tip) |
| | | else showError(`${tip},提示:${result.ret}`, this.translateSys('tip')) |
| | | this.saving = false |
| | | return false |
| | | } else { |
| | | var tip = result.info ? typeof result.info == 'string' ? result.info : |
| | | result.info.join('\n') : ''; |
| | | tip = tip || result.err_info |
| | | let time = result.info_time || 0 |
| | | if (time) |
| | | showError(tip, this.translateSys('tip')) |
| | | else |
| | | } |
| | | if (cls_name && event_name) tip = |
| | | `执行“${cls_name}”数据类的“${event_name}”脚本时返回错误:${tip}` |
| | | if (result.ret == 801) showInfo(tip) |
| | | else showError(`${tip},提示:${result.ret}`, this.translateSys('tip')) |
| | | this.saving = false |
| | | return false |
| | | } else { |
| | | var tip = result.info ? typeof result.info == 'string' ? result.info : |
| | | result.info.join('\n') : ''; |
| | | tip = tip || result.err_info |
| | | let time = result.info_time || 0 |
| | | if (time) |
| | | showError(tip, this.translateSys('tip')) |
| | | else |
| | | showInfo(tip) |
| | | if ([0, 2, 3, 4, -1].includes(result.result_type)) { |
| | | if (result.result_type == 2) { |
| | | if ([0, 2, 3, 4, -1].includes(result.result_type)) { |
| | | if (result.result_type == 2) { |
| | | |
| | | } else if (typeof result.result == 'string') { |
| | | showInfo(result.result) |
| | | |
| | | } |
| | | try { |
| | | var actionList = result.action || [] |
| | | actionList.forEach(item => { |
| | | if (item.action_type == "goback_to_pre_page") { //返回上一页 |
| | | var value = item.value; |
| | | uni.navigateBack({ |
| | | delta: 1, //返回层数,2则上上页 |
| | | }); |
| | | } else { |
| | | showInfo(this |
| | | .translateSys( |
| | | "quotation_mark_left" |
| | | ) + |
| | | item |
| | | .action_type + |
| | | this |
| | | .translateSys( |
| | | "quotation_mark_right" |
| | | ) + |
| | | this |
| | | .translate( |
| | | "tip_action_unprocessed" |
| | | )) |
| | | } else if (typeof result.result == 'string') { |
| | | showInfo(result.result) |
| | | |
| | | } |
| | | }); |
| | | } |
| | | try { |
| | | var actionList = result.action || [] |
| | | actionList.forEach(item => { |
| | | if (item.action_type == "goback_to_pre_page") { //返回上一页 |
| | | var value = item.value; |
| | | uni.navigateBack({ |
| | | delta: 1, //返回层数,2则上上页 |
| | | }); |
| | | } else { |
| | | showInfo(this |
| | | .translateSys( |
| | | "quotation_mark_left" |
| | | ) + |
| | | item |
| | | .action_type + |
| | | this |
| | | .translateSys( |
| | | "quotation_mark_right" |
| | | ) + |
| | | this |
| | | .translate( |
| | | "tip_action_unprocessed" |
| | | )) |
| | | |
| | | } |
| | | }); |
| | | |
| | | } catch (ex) { |
| | | let actionList = (result.action || []).map(a => a.action_type).join(';') |
| | |
| | | |
| | | } |
| | | }).catch(ex => { |
| | | console.log(ex); |
| | | showError(ex, this.translateSys("error") + "9.1") |
| | | console.log(ex); |
| | | showError(ex, this.translateSys("error") + "9.1") |
| | | |
| | | }); |
| | | } catch (ex) { |
| | | showError(ex, this.translateSys('error') + "9.2") |
| | | }); |
| | | } catch (ex) { |
| | | showError(ex, this.translateSys('error') + "9.2") |
| | | |
| | | } |
| | | }, |
| | | //点击按钮列表 |
| | | clickDropdownBtns() { |
| | | var that = this |
| | | var itemlist = []; |
| | | this.dropdownBtns.forEach((btn) => { |
| | | itemlist.push(btn.ShowName); |
| | | }); |
| | | uni.showActionSheet({ |
| | | // title: '按钮列表', |
| | | itemList: itemlist, |
| | | success: (e) => { |
| | | console.log(e.tapIndex); |
| | | var btn = that.dropdownBtns[e.tapIndex]; |
| | | that.onButtonClicked(btn); |
| | | } |
| | | }) |
| | | }, |
| | | onButtonClicked(btn) { |
| | | |
| | | let enviroment = { |
| | | button: "top", |
| | | button_name: btn.ShowName, |
| | | cls_id: btn.Cls_ID, |
| | | function: "3202", |
| | | master: {}, |
| | | }; |
| | | if (btn.FunCode == "TriggerEvent") { |
| | | this.onTriggerEvent(btn, enviroment); |
| | | } else { |
| | | this.$Message.warning(this.$t("sys.unrealized")); |
| | | } |
| | | |
| | | }, |
| | | async onTriggerEvent(btn, enviroment) { |
| | | let data_json = []; |
| | | let jsonlist = []; |
| | | |
| | | let detailStyleList = this.detail1StyleDefList; |
| | | detailStyleList.forEach((style) => { |
| | | let detail_attr = {}; |
| | | style.form.items.forEach((item) => { |
| | | if (item.name == "Layout") { |
| | | item.setting.colList.forEach((cols) => { |
| | | if (cols != null) detail_attr[cols.fieldId] = cols.value; |
| | | }); |
| | | } else detail_attr[item.fieldId] = item.value; |
| | | }, |
| | | //点击按钮列表 |
| | | clickDropdownBtns() { |
| | | var that = this |
| | | var itemlist = []; |
| | | this.dropdownBtns.forEach((btn) => { |
| | | itemlist.push(btn.ShowName); |
| | | }); |
| | | jsonlist.push(detail_attr); |
| | | }); |
| | | data_json = Base64.encode(JSON.stringify(jsonlist)); |
| | | uni.showActionSheet({ |
| | | // title: '按钮列表', |
| | | itemList: itemlist, |
| | | success: (e) => { |
| | | console.log(e.tapIndex); |
| | | var btn = that.dropdownBtns[e.tapIndex]; |
| | | that.onButtonClicked(btn); |
| | | } |
| | | }) |
| | | }, |
| | | onButtonClicked(btn) { |
| | | |
| | | let input_param = {}; |
| | | this.head_styledef.form.items.forEach((item) => { |
| | | if (item.name == "Layout") { |
| | | item.setting.colList.forEach((cols) => { |
| | | if (cols != null) input_param[cols.fieldId] = cols.value; |
| | | }); |
| | | } else input_param[item.fieldId] = item.value; |
| | | }); |
| | | input_param = Base64.encode(JSON.stringify(input_param)); |
| | | await this.runCustomEvent({ |
| | | ed_type: 0, |
| | | start_transaction: true, |
| | | class_id: btn.Cls_ID, |
| | | event_id: btn.Event.ID, |
| | | input_param, |
| | | data_json, |
| | | }); |
| | | }, |
| | | navigateBackEvent() { |
| | | if (!this.exit_view_event.id) |
| | | return |
| | | let data_json = []; |
| | | let jsonlist = []; |
| | | let detailStyleList = this.detail1StyleDefList; |
| | | detailStyleList.forEach((style) => { |
| | | let detail_attr = {}; |
| | | style.form.items.forEach((item) => { |
| | | if (item.name == "Layout") { |
| | | item.setting.colList.forEach((cols) => { |
| | | if (cols != null) detail_attr[cols.fieldId] = cols.value; |
| | | }); |
| | | } else detail_attr[item.fieldId] = item.value; |
| | | }); |
| | | jsonlist.push(detail_attr); |
| | | }); |
| | | data_json = Base64.encode(JSON.stringify(jsonlist)); |
| | | |
| | | let input_param = {}; |
| | | this.head_styledef.form.items.forEach((item) => { |
| | | if (item.name == "Layout") { |
| | | item.setting.colList.forEach((cols) => { |
| | | if (cols != null) input_param[cols.fieldId] = cols.value; |
| | | }); |
| | | } else input_param[item.fieldId] = item.value; |
| | | }); |
| | | input_param = Base64.encode(JSON.stringify(input_param)); |
| | | const eventChannel = this.getOpenerEventChannel(); |
| | | |
| | | eventChannel.emit('ExitViewEvent', { |
| | | ed_type: 0, |
| | | start_transaction: true, |
| | | class_id: this.param.ClsID, |
| | | event_id: this.exit_view_event.id, |
| | | input_param, |
| | | data_json, |
| | | }); |
| | | }, |
| | | cancel(e) { //取消 |
| | | this.navigateBackEvent() |
| | | uni.navigateBack({ |
| | | delta: 1, //返回层数,2则上上页 |
| | | }); |
| | | }, |
| | | /** |
| | | * 只支持["column1='A' or column2='B'", "column3='C' and column4='D'", "column5='E'"]这种格式 |
| | | * { |
| | | * "model": 0 / 1, |
| | | * "condition": |
| | | * [ |
| | | * [ |
| | | * { }, |
| | | * { }, |
| | | * { } |
| | | * ], |
| | | * [ |
| | | * { } |
| | | * ], |
| | | * [ |
| | | * { } |
| | | * ] |
| | | * ] |
| | | * } |
| | | */ |
| | | |
| | | toWhereBase64String(list) { |
| | | if (typeof list == 'string') list = [list] |
| | | var sql = [] |
| | | var seps = [' not in', ' in', '<>', '!=', '<=', '>=', '<', '=', |
| | | '>', ' like' |
| | | ] |
| | | list.forEach(ls => { |
| | | var where = ls.trim() |
| | | 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( |
| | | /\)$/, '') |
| | | var sep = '' |
| | | for (var i = 0; i < seps.length; i++) { |
| | | if (l.toLowerCase().includes(seps[ |
| | | i])) { |
| | | sep = seps[i] |
| | | break |
| | | } |
| | | } |
| | | if (sep) { |
| | | var values = l.split(new RegExp( |
| | | sep, 'i')) |
| | | 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 |
| | | .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(/\'$/, '') |
| | | ) |
| | | } |
| | | } |
| | | sql.push([{ |
| | | field, |
| | | value, |
| | | op |
| | | }]) |
| | | } |
| | | }) |
| | | } else if (where.toLowerCase().includes(' or ')) { |
| | | // 二级or放在第二级同一组数组中 |
| | | var s = [] |
| | | where.split(/ or /i).forEach(li => { |
| | | var l = li.trim() |
| | | 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])) { |
| | | sep = seps[i] |
| | | break |
| | | } |
| | | } |
| | | if (sep) { |
| | | var values = l.split(new RegExp( |
| | | sep, 'i')) |
| | | 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 |
| | | .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(/\'$/, '') |
| | | ) |
| | | } |
| | | } |
| | | sql.push([{ |
| | | field, |
| | | value, |
| | | op |
| | | }]) |
| | | } |
| | | }) |
| | | sql.push(s) |
| | | let enviroment = { |
| | | button: "top", |
| | | button_name: btn.ShowName, |
| | | cls_id: btn.Cls_ID, |
| | | function: "3202", |
| | | master: {}, |
| | | }; |
| | | if (btn.FunCode == "TriggerEvent") { |
| | | this.onTriggerEvent(btn, enviroment); |
| | | } else { |
| | | var li = where |
| | | // 单一查询条件直接放在第一级数组中 |
| | | var l = li.trim() |
| | | 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])) { |
| | | sep = seps[i] |
| | | break |
| | | } |
| | | } |
| | | if (sep) { |
| | | var values = l.split(new RegExp(sep, 'i')) |
| | | var field = values[0]?.trim().replace(/^\[/, |
| | | '').replace(/\]$/, '') |
| | | var value = '' |
| | | var op = sep.trim() |
| | | this.$Message.warning(this.$t("sys.unrealized")); |
| | | } |
| | | |
| | | 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(/\'$/, '') |
| | | }, |
| | | async onTriggerEvent(btn, enviroment) { |
| | | let data_json = []; |
| | | let jsonlist = []; |
| | | |
| | | if (['in', 'not in'].includes(op)) { |
| | | value = value.replace(/^\(/, '') |
| | | .replace(/\)$/, '') |
| | | value = value.split(',').map(v => v |
| | | .trim().replace(/^\'/, |
| | | '') |
| | | .replace(/\'$/, |
| | | '')) |
| | | let detailStyleList = this.detail1StyleDefList; |
| | | detailStyleList.forEach((style) => { |
| | | let detail_attr = {}; |
| | | style.form.items.forEach((item) => { |
| | | if (item.name == "Layout") { |
| | | item.setting.colList.forEach((cols) => { |
| | | if (cols != null) detail_attr[cols.fieldId] = cols.value; |
| | | }); |
| | | } else detail_attr[item.fieldId] = item.value; |
| | | }); |
| | | jsonlist.push(detail_attr); |
| | | }); |
| | | data_json = Base64.encode(JSON.stringify(jsonlist)); |
| | | |
| | | let input_param = {}; |
| | | this.head_styledef.form.items.forEach((item) => { |
| | | if (item.name == "Layout") { |
| | | item.setting.colList.forEach((cols) => { |
| | | if (cols != null) input_param[cols.fieldId] = cols.value; |
| | | }); |
| | | } else input_param[item.fieldId] = item.value; |
| | | }); |
| | | input_param = Base64.encode(JSON.stringify(input_param)); |
| | | await this.runCustomEvent({ |
| | | ed_type: 0, |
| | | start_transaction: true, |
| | | class_id: btn.Cls_ID, |
| | | event_id: btn.Event.ID, |
| | | input_param, |
| | | data_json, |
| | | }); |
| | | }, |
| | | async navigateBackEvent() { |
| | | try { |
| | | var $this = this; |
| | | if (!this.exit_view_event.id) |
| | | return |
| | | let data_json = []; |
| | | let jsonlist = []; |
| | | let detailStyleList = this.detail1StyleDefList; |
| | | detailStyleList.forEach((style) => { |
| | | let detail_attr = {}; |
| | | style.form.items.forEach((item) => { |
| | | if (item.name == "Layout") { |
| | | item.setting.colList.forEach((cols) => { |
| | | if (cols != null) detail_attr[cols.fieldId] = cols.value; |
| | | }); |
| | | } else detail_attr[item.fieldId] = item.value; |
| | | }); |
| | | jsonlist.push(detail_attr); |
| | | }); |
| | | data_json = Base64.encode(JSON.stringify(jsonlist)); |
| | | |
| | | let input_param = {}; |
| | | this.head_styledef.form.items.forEach((item) => { |
| | | if (item.name == "Layout") { |
| | | item.setting.colList.forEach((cols) => { |
| | | if (cols != null) input_param[cols.fieldId] = cols.value; |
| | | }); |
| | | } else input_param[item.fieldId] = item.value; |
| | | }); |
| | | input_param = Base64.encode(JSON.stringify(input_param)); |
| | | const result = await runCustomEvent({ |
| | | ed_type: 0, |
| | | start_transaction: true, |
| | | class_id: this.param.ClsID, |
| | | event_id: this.exit_view_event.id, |
| | | input_param, |
| | | data_json, |
| | | }) |
| | | if (result.ret != 0 && result.ret != 1) { |
| | | let cls_name = result.event_info?.cls_name |
| | | let event_name = result.event_info?.event_name |
| | | tip = result.err_info ? typeof result.err_info == 'string' ? result.err_info : |
| | | result |
| | | .err_info |
| | | .join('\n') : '' |
| | | if (result.ret == 801) { |
| | | if (this.param.Only_Script_Error) { |
| | | let pos = tip.indexOf(":"); |
| | | if (pos > -1) tip = tip.substring(pos + 1); |
| | | } |
| | | } |
| | | sql.push([{ |
| | | field, |
| | | value, |
| | | op |
| | | }]) |
| | | if (cls_name && event_name) tip = |
| | | `执行“${cls_name}”数据类的“${event_name}”脚本时返回错误:${tip}` |
| | | if (result.ret == 801) showInfo(tip) |
| | | else showError(`${tip},提示:${result.ret}`, this.translateSys('tip')) |
| | | this.saving = false |
| | | return false |
| | | } else { |
| | | var tip = result.info ? typeof result.info == 'string' ? result.info : |
| | | result.info.join('\n') : ''; |
| | | tip = tip || result.err_info |
| | | let time = result.info_time || 0 |
| | | if (time) |
| | | showError(tip, this.translateSys('tip')) |
| | | else |
| | | showInfo(tip) |
| | | if ([0, 2, 3, 4, -1].includes(result.result_type)) { |
| | | if (result.result_type == 2) { |
| | | |
| | | } else if (typeof result.result == 'string') { |
| | | showInfo(result.result) |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | } catch (ex) { |
| | | showError(ex, this.translateSys('error') + "9.2") |
| | | |
| | | } |
| | | }) |
| | | |
| | | if (sql.length > 0) |
| | | return Base64.encode(JSON.stringify({ |
| | | model: 1, |
| | | condition: sql |
| | | })) |
| | | else |
| | | return '' |
| | | }, |
| | | translate(t) { |
| | | if (typeof this.$t == "function") return this.$t(`page.${t}`) |
| | | else return t; |
| | | }, |
| | | translateSys(t) { |
| | | if (typeof this.$t == "function") return this.$t(`sys.${t}`) |
| | | else return t; |
| | | }, |
| | | }, |
| | | cancel(e) { //取消 |
| | | |
| | | this.beforeNavigateBack() |
| | | uni.navigateBack({ |
| | | delta: 1, //返回层数,2则上上页 |
| | | }); |
| | | }, |
| | | async beforeNavigateBack() |
| | | { |
| | | await this.navigateBackEvent() |
| | | const eventChannel = this.getOpenerEventChannel(); |
| | | eventChannel.emit('ExitViewPage'); |
| | | }, |
| | | /** |
| | | * 只支持["column1='A' or column2='B'", "column3='C' and column4='D'", "column5='E'"]这种格式 |
| | | * { |
| | | * "model": 0 / 1, |
| | | * "condition": |
| | | * [ |
| | | * [ |
| | | * { }, |
| | | * { }, |
| | | * { } |
| | | * ], |
| | | * [ |
| | | * { } |
| | | * ], |
| | | * [ |
| | | * { } |
| | | * ] |
| | | * ] |
| | | * } |
| | | */ |
| | | |
| | | }, |
| | | toWhereBase64String(list) { |
| | | if (typeof list == 'string') list = [list] |
| | | var sql = [] |
| | | var seps = [' not in', ' in', '<>', '!=', '<=', '>=', '<', '=', |
| | | '>', ' like' |
| | | ] |
| | | list.forEach(ls => { |
| | | var where = ls.trim() |
| | | 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( |
| | | /\)$/, '') |
| | | var sep = '' |
| | | for (var i = 0; i < seps.length; i++) { |
| | | if (l.toLowerCase().includes(seps[ |
| | | i])) { |
| | | sep = seps[i] |
| | | break |
| | | } |
| | | } |
| | | if (sep) { |
| | | var values = l.split(new RegExp( |
| | | sep, 'i')) |
| | | 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 |
| | | .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(/\'$/, '') |
| | | ) |
| | | } |
| | | } |
| | | sql.push([{ |
| | | field, |
| | | value, |
| | | op |
| | | }]) |
| | | } |
| | | }) |
| | | } else if (where.toLowerCase().includes(' or ')) { |
| | | // 二级or放在第二级同一组数组中 |
| | | var s = [] |
| | | where.split(/ or /i).forEach(li => { |
| | | var l = li.trim() |
| | | 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])) { |
| | | sep = seps[i] |
| | | break |
| | | } |
| | | } |
| | | if (sep) { |
| | | var values = l.split(new RegExp( |
| | | sep, 'i')) |
| | | 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 |
| | | .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(/\'$/, '') |
| | | ) |
| | | } |
| | | } |
| | | sql.push([{ |
| | | field, |
| | | value, |
| | | op |
| | | }]) |
| | | } |
| | | }) |
| | | sql.push(s) |
| | | } else { |
| | | var li = where |
| | | // 单一查询条件直接放在第一级数组中 |
| | | var l = li.trim() |
| | | 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])) { |
| | | sep = seps[i] |
| | | break |
| | | } |
| | | } |
| | | if (sep) { |
| | | var values = l.split(new RegExp(sep, 'i')) |
| | | 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 |
| | | .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(/\'$/, |
| | | '')) |
| | | } |
| | | } |
| | | sql.push([{ |
| | | field, |
| | | value, |
| | | op |
| | | }]) |
| | | } |
| | | } |
| | | }) |
| | | |
| | | if (sql.length > 0) |
| | | return Base64.encode(JSON.stringify({ |
| | | model: 1, |
| | | condition: sql |
| | | })) |
| | | else |
| | | return '' |
| | | }, |
| | | translate(t) { |
| | | if (typeof this.$t == "function") return this.$t(`page.${t}`) |
| | | else return t; |
| | | }, |
| | | translateSys(t) { |
| | | if (typeof this.$t == "function") return this.$t(`sys.${t}`) |
| | | else return t; |
| | | }, |
| | | |
| | | }, |
| | | }; |
| | | </script> |
| | | <style lang="scss"> |
| | |
| | | </view> |
| | | </uni-popup> |
| | | </view> |
| | | |
| | | |
| | | </view> |
| | | </template> |
| | | |
| | |
| | | }, |
| | | async loadInitialEvent() { |
| | | try { |
| | | if (this.initialEvent.id) { |
| | | this.onChange(this.initialEvent) |
| | | const event = this.initialEvent |
| | | if (event.id) { |
| | | //获取表头属性 |
| | | var head_attr = {}; |
| | | this.head_styledef.form.items.forEach(item => { |
| | | if (item.name == "Layout") { //判断是否是栅栏格式 |
| | | item.setting.colList.forEach(col => { |
| | | if (col != null) head_attr[col |
| | | .fieldId] = col.value; |
| | | }); |
| | | } else |
| | | 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({ |
| | | id: "", |
| | | attrs: Object.keys(head_attr).map((a) => ({ |
| | | attr: a, |
| | | value: head_attr[a] || "", |
| | | })) |
| | | }) |
| | | ); |
| | | var $this = this; |
| | | const jsonList = [] |
| | | this.pageDetail.forEach((page) => { |
| | | |
| | | jsonList.push({ |
| | | page_name: page.Name, |
| | | item_list: $this.getDetailAttrList( |
| | | page), |
| | | ext_data: page.ExtData || {} |
| | | }) |
| | | |
| | | }) |
| | | const data_json = Base64.encode( |
| | | JSON.stringify(jsonList) |
| | | ); |
| | | console.log(jsonList) |
| | | var dataInfo = { |
| | | ed_type: 0, |
| | | start_transaction: true, |
| | | class_id: this.head_styledef.form.clsId, |
| | | class_name: '', |
| | | event_id: event.id, |
| | | event_name: '', |
| | | data_obj_id: '', |
| | | obj_attr: obj_attr, |
| | | prj_id: '', |
| | | ref_cls_id: '', |
| | | rel_obj_id: '', |
| | | user_login: '', |
| | | data_json: data_json, |
| | | compose_info: '', |
| | | ext_info: '', |
| | | global_attr: '', |
| | | input_param: input_param, |
| | | }; |
| | | const result = await runCustomEvent(dataInfo) |
| | | console.log(result); |
| | | if (result.ret != 0 && result.ret != 1) { |
| | | let cls_name = result.event_info?.cls_name |
| | | let event_name = result.event_info?.event_name |
| | | tip = result.err_info ? typeof result.err_info == 'string' ? result.err_info : result |
| | | .err_info |
| | | .join('\n') : '' |
| | | if (result.ret == 801) { |
| | | if (this.param.Only_Script_Error) { |
| | | let pos = tip.indexOf(":"); |
| | | if (pos > -1) tip = tip.substring(pos + 1); |
| | | } |
| | | } |
| | | if (cls_name && event_name) tip = `执行“${cls_name}”数据类的“${event_name}”脚本时返回错误:${tip}` |
| | | if (result.ret == 801) showInfo(tip) |
| | | else showError(`${tip},提示:${result.ret}`, this.translateSys('tip')) |
| | | this.saving = false |
| | | return false |
| | | } else { |
| | | var tip = result.info ? typeof result.info == 'string' ? result.info : |
| | | result.info.join('\n') : ''; |
| | | tip = tip || result.err_info |
| | | let time = result.info_time || 0 |
| | | if (time) |
| | | showError(tip, this.translateSys('tip')) |
| | | else |
| | | showInfo(tip) |
| | | if ([0, 2, 3, 4, -1].includes(result.result_type)) { |
| | | if (result.result_type == 2) { |
| | | |
| | | } else if (typeof result.result == 'string') { |
| | | showInfo(result.result) |
| | | |
| | | } |
| | | try { |
| | | let actionList = result.action || [] |
| | | actionList.forEach(item => { |
| | | if (item.action_type == |
| | | "insert_subtable_page_row" |
| | | ) { //码盘中 |
| | | $this.param.Show_Welcom_Page = |
| | | false; |
| | | var value = item.value; |
| | | $this.viewAceionRow(value); |
| | | } else if (item.action_type == |
| | | "set_subtable_page_content" |
| | | ) { //已码盘 |
| | | $this.param.Show_Welcom_Page = |
| | | false; |
| | | var value = item.value; |
| | | const pageData = $this |
| | | .pageDetail.find(( |
| | | page) => { |
| | | return value |
| | | .page_name == |
| | | page.Name; |
| | | }); |
| | | if (value.clear_confirm != |
| | | false && value.clear == |
| | | true && |
| | | pageData && pageData |
| | | .DefList.length > 0 |
| | | ) { //判断是否清空页签内容,正在码盘是否有数据 |
| | | uni.showModal({ |
| | | title: this |
| | | .translateSys( |
| | | 'tip'), |
| | | content: this |
| | | .translate( |
| | | "are_you_sure_clear_first" |
| | | ) + |
| | | this |
| | | .translateSys( |
| | | "quotation_mark_left" |
| | | ) + |
| | | value |
| | | .page_name + |
| | | this |
| | | .translateSys( |
| | | "quotation_mark_right" |
| | | ) + |
| | | this |
| | | .translate( |
| | | "are_you_sure_clear_last" |
| | | ), |
| | | cancelText: $this |
| | | .translateSys( |
| | | 'ok'), |
| | | confirmText: $this |
| | | .translateSys( |
| | | 'cancel' |
| | | ), |
| | | success: function( |
| | | res) { |
| | | if (res |
| | | .cancel |
| | | ) { |
| | | if ( |
| | | pageData) |
| | | pageData |
| | | .DefList = []; |
| | | $this |
| | | .viewAceionContent( |
| | | value |
| | | ); |
| | | } else if ( |
| | | res |
| | | .confirm |
| | | ) { |
| | | if ( |
| | | pageData) |
| | | pageData |
| | | .DefList = []; |
| | | $this |
| | | .viewAceionContent( |
| | | value |
| | | ); |
| | | } |
| | | } |
| | | }); |
| | | } else { |
| | | if (pageData) |
| | | pageData.DefList = []; |
| | | $this.viewAceionContent( |
| | | value); |
| | | } |
| | | } else if (item.action_type == |
| | | "select_subtable_page") { |
| | | var value = item.value; |
| | | const pageIndex = $this |
| | | .pageDetail.findIndex(( |
| | | page) => { |
| | | return value |
| | | .page_name == |
| | | page.Name; |
| | | }); |
| | | if (pageIndex > -1) { |
| | | $this.setData({ |
| | | current: pageIndex |
| | | }) |
| | | } |
| | | } else if (item.action_type == |
| | | "select_subtable_page_row") { |
| | | // value = {"page_name":"码盘中", "row":{"id":"xx"}} |
| | | var value = item.value; |
| | | $this.viewActionSelectRow( |
| | | value) |
| | | } else if (item.action_type == |
| | | "remove_subtable_page_row" |
| | | ) { //清除面板中指定id的数据 |
| | | var value = item.value; |
| | | $this.viewActionRemoveRow( |
| | | value) |
| | | } 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; |
| | | const pageData = $this |
| | | .pageDetail.find(( |
| | | page) => { |
| | | return value |
| | | .page_name == |
| | | page.Name; |
| | | }); |
| | | if (pageData) |
| | | pageData.ExtData = value |
| | | .ext_data |
| | | |
| | | } else if (item.action_type == |
| | | "clear_subpage_rows") { |
| | | var value = item.value; |
| | | const pageIndex = $this |
| | | .pageDetail.findIndex(( |
| | | page) => { |
| | | return value |
| | | .page_name == |
| | | page.Name; |
| | | }); |
| | | if (pageIndex > -1) { |
| | | const pageData = $this |
| | | .pageDetail[pageIndex] |
| | | pageData.DefList = [] |
| | | pageData.ExtData = {} |
| | | |
| | | $this.$set(this.pageDetail, |
| | | pageIndex, pageData |
| | | ) |
| | | } |
| | | |
| | | } else if (item.action_type == |
| | | "set_dlg_current_edit_attr") { |
| | | |
| | | if ($this.focusOldFieldId == |
| | | item.value) { |
| | | $this.setData({ |
| | | focusFieldId: "" |
| | | }) |
| | | } else { |
| | | $this.setData({ |
| | | focusFieldId: $this |
| | | .focusOldFieldId |
| | | }) |
| | | } |
| | | $this.$nextTick(() => { |
| | | $this.setData({ |
| | | focusFieldId: item |
| | | .value |
| | | }) |
| | | }); |
| | | } else if (item.action_type == |
| | | "set_dlg_attr") { |
| | | // value = {"attr":"xxx", "value":"xxx"} |
| | | var data = item.value; |
| | | $this.setFormValues(data) |
| | | } else if (item.action_type == |
| | | 'set_dlg_attr_show') { |
| | | var data = item.value; |
| | | $this.setFormItemVisible(data) |
| | | } |
| | | }); |
| | | |
| | | } catch (ex) { |
| | | let actionList = (result.action || []).map(a => |
| | | a.action_type).join(';') |
| | | let tip = typeof ex == 'string' ? ex : ex |
| | | .message |
| | | tip = `执行脚本返回的${actionList}时出现异常,请检查脚本返回的数据格式是否正确。${tip}` |
| | | showError(tip, this.translateSys('tip')) |
| | | return |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | } catch (ex) { |
| | | showError(ex, this.translateSys('error')) |
| | | console.log(ex); |
| | | showError(ex, this.translateSys('error') + "4.2") |
| | | } |
| | | }, |
| | | |
| | |
| | | if (time) |
| | | showError(tip, this.translateSys('tip')) |
| | | else |
| | | showInfo(tip) |
| | | showInfo(tip) |
| | | if ([0, 2, 3, 4, -1].includes(result.result_type)) { |
| | | if (result.result_type == 2) { |
| | | |
| | |
| | | if (time) |
| | | showError(tip, this.translateSys('tip')) |
| | | else |
| | | showInfo(tip) |
| | | showInfo(tip) |
| | | if ([0, 2, 3, 4, -1].includes(result.result_type)) { |
| | | if (result.result_type == 2) { |
| | | |
| | |
| | | if (time) |
| | | showError(tip, this.translateSys('tip')) |
| | | else |
| | | showInfo(tip) |
| | | showInfo(tip) |
| | | if ([0, 2, 3, 4, -1].includes(data |
| | | .result_type)) { |
| | | if (data.result_type == 2) { |
| | |
| | | if (time) |
| | | showError(tip, this.translateSys('tip')) |
| | | else |
| | | showInfo(tip) |
| | | showInfo(tip) |
| | | if ([0, 2, 3, 4, -1].includes( |
| | | result.result_type)) { |
| | | if (result.result_type == 2) { |
| | |
| | | var data = item.value; |
| | | const eventChannel = this.getOpenerEventChannel(); |
| | | eventChannel.emit('remove_pre_page_subtable_row', data); |
| | | } |
| | | else if (item.action_type == "goback_to_pre_page") { |
| | | } else if (item.action_type == "goback_to_pre_page") { |
| | | //返回上一页 |
| | | uni.navigateBack({ |
| | | delta: 1, //返回层数,2则上上页 |