| | |
| | | :class="activeItem == style?'bk-active':''"> |
| | | <div class="dv-panel-input"> |
| | | <OIForm class="v-area dv-panel" :form="style.form" viewMode></OIForm> |
| | | <div class="dv-panel-button" v-if="rowButtons.length > 0"> |
| | | |
| | | <button size="mini" v-for="(btn,btnIndex) in rowButtons" :key="btnIndex" |
| | | type="primary" @click="onRowBtnClick(btn, ii)"> |
| | | <text v-if="btn.Style == 'img' || btn.Style == 'img_text'" class="img"></text> |
| | | {{btn.ShowName || ""}} |
| | | </button> |
| | | </div> |
| | | </div> |
| | | <div class="dv-panel-button" v-if="click_item_view"> |
| | | <div class="dv-panel-right-button" v-if="click_item_view"> |
| | | <a @click="onViewPageClick(style)"><i class="mobox-normal-right-arrow" /></a> |
| | | </div> |
| | | </view> |
| | |
| | | Base64 |
| | | } from '@/js/Base64.js'; |
| | | import classUtils from "@/js/utils.js" |
| | | import { |
| | | showInfo, |
| | | showError, |
| | | showLoading, |
| | | hideLoading |
| | | } from "@/js/Page.js" |
| | | import { |
| | | appGetInfo, |
| | | dictGetInfo |
| | |
| | | old: { |
| | | scrollTop: 0 |
| | | }, |
| | | isScroll: true, |
| | | isScroll: false, |
| | | //获取数据类的HTML页面 |
| | | click_item_view: false, |
| | | refreshing: false |
| | |
| | | id: this.param?.ClickItem_Event?.id, |
| | | }; |
| | | }, |
| | | rowButtons() { |
| | | return this.param?.ListItem_Button || []; |
| | | }, |
| | | initialEvent() { |
| | | let event = (this.head_styledef.event || []).find((e) => e.event_id == "initial"); |
| | | return { |
| | | id: event?.scrip_id || "", |
| | | name: event?.scrip_name || "", |
| | | }; |
| | | }, |
| | | |
| | | }, |
| | | async onLoad(options) { |
| | | // console.log(options); |
| | | onReady() { |
| | | uni.setNavigationBarTitle({ |
| | | title: options.titlename |
| | | title: this.title |
| | | }); //设置顶部标题 |
| | | this.title = options.titlename; |
| | | this.param = JSON.parse(options.param); |
| | | this.styledef = {}; |
| | | this.head_styledef = { |
| | | form: { |
| | | items: [] |
| | | } |
| | | }; |
| | | this.detail1_styledef = {}; |
| | | this.detail1StyleDefList = []; |
| | | this.items = []; |
| | | this.active_id = ''; |
| | | this.activeItem = {}; |
| | | this.click_item_view = false |
| | | if (this.param?.ClickItem_Event?.id) |
| | | this.click_item_view = true |
| | | await this.Detail1_UIstyleGetInfo(this.param.ClsID, this.param.ListItem_Panel.id); |
| | | this.initial() |
| | | }, |
| | | async onLoad(options) { |
| | | try { |
| | | showLoading("loading...") |
| | | // console.log(options); |
| | | |
| | | this.title = options.titlename; |
| | | this.param = JSON.parse(options.param); |
| | | const paramValue = options.paramValue ? JSON.parse(options.paramValue) : undefined |
| | | this.styledef = {}; |
| | | this.head_styledef = { |
| | | form: { |
| | | items: [] |
| | | } |
| | | }; |
| | | this.detail1_styledef = {}; |
| | | this.detail1StyleDefList = []; |
| | | this.items = []; |
| | | this.active_id = ''; |
| | | this.activeItem = {}; |
| | | this.click_item_view = false |
| | | if (this.param?.ClickItem_Event?.id) |
| | | this.click_item_view = true |
| | | await this.Detail1_UIstyleGetInfo(this.param.ClsID, this.param.ListItem_Panel.id); |
| | | this.initial(paramValue) |
| | | hideLoading() |
| | | } catch (ex) { |
| | | hideLoading() |
| | | showError(ex, this.translateSys("error")); |
| | | } |
| | | |
| | | }, |
| | | methods: { |
| | |
| | | }); |
| | | }, |
| | | //初始化 |
| | | async initial() { |
| | | async initial(paramValue) { |
| | | this.refreshing = true |
| | | await this.Head_UIStyleGetInfo(this.param.ClsID, this.param.Input_Panel.id); |
| | | this.wheres = ''; |
| | |
| | | this.query_id = ""; |
| | | this.detail1StyleDefList = []; |
| | | this.refreshing = false |
| | | if (paramValue) { |
| | | |
| | | this.setFormValues(paramValue) |
| | | } |
| | | await this.loadInitialEvent(); |
| | | }, |
| | | async loadInitialEvent() { |
| | | |
| | | try { |
| | | 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') + "8.2") |
| | | |
| | | } |
| | | }, |
| | | |
| | | //滚动到底部后懒加载数据 |
| | |
| | | } |
| | | } catch (ex) { |
| | | // console.log(ex); |
| | | let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex |
| | | uni.showModal({ |
| | | title: this.translateSys("error") + "1.1", |
| | | content: tip, |
| | | showCancel: false, |
| | | confirmText: this.translateSys('close') |
| | | }); |
| | | showError(ex, this.translateSys('error') + "1.1") |
| | | } |
| | | |
| | | }, |
| | |
| | | $this.detail1_styledef.SelBut_Checked = false; |
| | | } catch (ex) { |
| | | // console.log(ex); |
| | | let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex |
| | | uni.showModal({ |
| | | title: this.translateSys("error") + "1.1", |
| | | content: tip, |
| | | showCancel: false, |
| | | confirmText: this.translateSys('close') |
| | | }); |
| | | showError(ex, this.translateSys('error') + "1.1") |
| | | } |
| | | |
| | | |
| | |
| | | } |
| | | } catch (ex) { |
| | | // console.log(ex); |
| | | uni.showModal({ |
| | | title: this.translateSys("error") + "3", |
| | | content: ex.errMsg, |
| | | showCancel: false, |
| | | confirmText: this.translateSys('close') |
| | | }); |
| | | showError(ex, this.translateSys('error') + "3") |
| | | } |
| | | }, |
| | | |
| | |
| | | |
| | | }).catch(ex => { |
| | | // console.log(ex); |
| | | uni.showModal({ |
| | | title: this.translateSys("error") + "5.1", |
| | | content: ex.errMsg, |
| | | showCancel: false, |
| | | confirmText: this.translateSys('close') |
| | | }); |
| | | showError(ex, this.translateSys("error") + "5.1") |
| | | }); |
| | | } catch (ex) { |
| | | var tip = typeof ex == "string" ? ex : ex.message; |
| | | uni.showModal({ |
| | | title: this.translateSys("error") + "5.2", |
| | | content: tip, |
| | | showCancel: false, |
| | | confirmText: this.translateSys('close') |
| | | }); |
| | | showError(ex, this.translateSys('error') + "5.2") |
| | | } |
| | | }, |
| | | //刷新 |
| | |
| | | this.initial() |
| | | }, |
| | | //点击显示浏览对象显示页面 |
| | | async onViewPageClick(style) { |
| | | onViewPageClick(style) { |
| | | this.handleButtonClick((done) => { |
| | | this.viewPageClick(style); |
| | | setTimeout(() => { |
| | | done(); // 重置状态 |
| | | }, 1000); |
| | | }); |
| | | }, |
| | | async viewPageClick(style) { |
| | | if (!this.clickItemEvent.id) { |
| | | return; |
| | | } |
| | | showLoading("loading...") |
| | | const $this = this |
| | | |
| | | var obj_attr = this.head_styledef.form.model; |
| | |
| | | data_json, |
| | | }).then(result => { |
| | | // console.log(result); |
| | | if (result.ret != 0) { |
| | | var tip = result.err_info ? typeof result |
| | | .err_info == |
| | | 'string' ? |
| | | result |
| | | .err_info : result.err_info.join( |
| | | '<br/>') : ''; |
| | | hideLoading() |
| | | 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); |
| | | } |
| | | uni.showModal({ |
| | | title: this.translateSys( |
| | | "tip"), |
| | | content: tip, |
| | | showCancel: false, |
| | | confirmText: this |
| | | .translateSys('close') |
| | | }); |
| | | } else uni.showModal({ |
| | | title: this.translateSys( |
| | | "tip"), |
| | | content: tip + ',' + this |
| | | .translateSys('tip') + |
| | | ':' + |
| | | result |
| | | .ret, |
| | | showCancel: false, |
| | | confirmText: this.translateSys( |
| | | 'close') |
| | | }); |
| | | 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( |
| | | 'close') |
| | | }); |
| | | |
| | | if (result.result_type == 0 && result.action) { |
| | | result.action.forEach(item => { |
| | | if (item.action_type == "jump_pda_page") { |
| | | // value = {"attr":"xxx", "value":"xxx"} |
| | | var data = item.value; |
| | | 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); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | }) |
| | | } else { |
| | | if (result.info) { |
| | | uni.showModal({ |
| | | title: this |
| | | .translateSys( |
| | | "tip"), |
| | | content: result.info, |
| | | showCancel: false, |
| | | confirmText: this |
| | | .translateSys( |
| | | 'close') |
| | | }); |
| | | 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 || [] |
| | | actionList.forEach(item => { |
| | | if (item.action_type == "jump_pda_page") { |
| | | // value = {"attr":"xxx", "value":"xxx"} |
| | | var data = item.value; |
| | | uni.navigateTo({ |
| | | url: `../modal/3202_view?param=${JSON.stringify($this.param)}&titlename=${data.page?.page_name || ""}&dataObj=${JSON.stringify(data)}`, |
| | | events: { |
| | | ExitViewPage: function() { |
| | | |
| | | $this.loadInitialEvent() |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | }) |
| | | } 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); |
| | | uni.showModal({ |
| | | title: this.translateSys("error") + |
| | | "8.1", |
| | | content: ex.errMsg, |
| | | showCancel: false, |
| | | confirmText: this.translateSys( |
| | | 'close') |
| | | }); |
| | | hideLoading() |
| | | showError(ex, this.translateSys("error") + "8.1") |
| | | }); |
| | | }, |
| | | onRowBtnClick(btn, index) { |
| | | const $this = this |
| | | if (btn.Prompt) { |
| | | const sContent = btn.PromptContent || this.translate("confirm") |
| | | uni.showModal({ |
| | | title: this.translateSys("tip"), |
| | | content: btn.PromptContent || this.translate("confirm"), |
| | | cancelText: this.translateSys('ok'), |
| | | confirmText: this.translateSys('cancel'), |
| | | success: function(res) { |
| | | if (res.cancel) { |
| | | $this.onButtonClicked(btn, index); |
| | | } |
| | | |
| | | }, |
| | | }) |
| | | |
| | | } else { |
| | | this.handleButtonClick((done) => { |
| | | this.onButtonClicked(btn, index); |
| | | setTimeout(() => { |
| | | done(); // 重置状态 |
| | | }, 1000); |
| | | }); |
| | | |
| | | } |
| | | }, |
| | | onButtonClicked(btn, index) { |
| | | |
| | | let enviroment = { |
| | | button: "row", |
| | | button_name: btn.ShowName, |
| | | cls_id: btn.Cls_ID, |
| | | function: "3022", |
| | | master: {}, |
| | | }; |
| | | if (btn.FunCode == "TriggerEvent") { |
| | | const style = this.detail1StyleDefList[index]; |
| | | this.triggerEvent(btn, style, enviroment); |
| | | } else if (btn.FunCode == "RelatedFunction") { |
| | | const style = this.detail1StyleDefList[index]; |
| | | this.relatedFunction(btn, style, enviroment); |
| | | } else { |
| | | showInfo(this.translateSys("unrealized")) |
| | | |
| | | } |
| | | }, |
| | | //执行触发事件 |
| | | async triggerEvent(btn, style, enviroment) { |
| | | const $this = this |
| | | showLoading("loading...") |
| | | var obj_attr = this.head_styledef.form.model; |
| | | // console.log(obj_attr); |
| | | var input_param = Base64.encode( |
| | | JSON.stringify( |
| | | Object.keys(obj_attr).map((a) => ({ |
| | | attr: a, |
| | | value: obj_attr[a] || "", |
| | | })) |
| | | ) |
| | | ); |
| | | 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; |
| | | }); |
| | | detail_attr["id"] = style.form.objId; |
| | | |
| | | const attrs = Object.keys(detail_attr) |
| | | .map((a) => ({ |
| | | attr: a, |
| | | value: detail_attr[a] || "", |
| | | })) |
| | | .filter((a) => { |
| | | return a.attr != "id"; |
| | | }); |
| | | let data_json = Base64.encode(JSON.stringify(attrs)); |
| | | runCustomEvent({ |
| | | ed_type: 0, |
| | | start_transaction: true, |
| | | class_id: btn.Cls_ID, |
| | | event_id: btn.Event.ID, |
| | | input_param, |
| | | data_json, |
| | | }).then(result => { |
| | | hideLoading() |
| | | // 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 || [] |
| | | actionList.forEach(item => { |
| | | if (item.action_type == "jump_pda_page") { |
| | | // value = {"attr":"xxx", "value":"xxx"} |
| | | var data = item.value; |
| | | uni.navigateTo({ |
| | | url: `../modal/3202_view?param=${JSON.stringify($this.param)}&titlename=${data.page?.page_name || ""}&dataObj=${JSON.stringify(data)}`, |
| | | events: { |
| | | // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据 |
| | | ExitViewPage: function() { |
| | | |
| | | $this.loadInitialEvent() |
| | | } |
| | | } |
| | | }); |
| | | } else if (item.action_type == "goback_to_pre_page") { |
| | | //返回上一页 |
| | | uni.navigateBack({ |
| | | delta: 1, //返回层数,2则上上页 |
| | | }); |
| | | } |
| | | }) |
| | | } 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); |
| | | hideLoading() |
| | | showError(ex, this.translateSys("error") + "8.1") |
| | | }); |
| | | }, |
| | | async relatedFunction(btn, style, enviroment) { |
| | | //跳转功能点 |
| | | try { |
| | | const defCode = btn.Related_Function?.Def_Code |
| | | var $this = this; |
| | | if ( |
| | | defCode == "3018" || |
| | | defCode == "3037" || |
| | | defCode == "3200" || |
| | | defCode == "3201" || |
| | | defCode == "3202" || |
| | | defCode == "5600" || |
| | | defCode == "5601" || |
| | | defCode == "5602" |
| | | ) { |
| | | |
| | | let name = defCode |
| | | if (defCode == "3018" || defCode == "3037") |
| | | name = defCode + "_2" |
| | | var json = { |
| | | app_id: [btn.Related_Function.ID], |
| | | }; |
| | | const result = await appGetInfo(json) |
| | | if ((result || []).length > 0) { |
| | | var app = result[0]; |
| | | var param = ""; |
| | | var appName = app.list_name || app.name |
| | | .Name; |
| | | var paramStr = app.param |
| | | if (paramStr) { |
| | | //mobox2的param是json字符串 |
| | | param = paramStr.replace(/\\/g, ""); |
| | | //mobox3的param是base64字符串 |
| | | if (!paramStr.includes('"')) param = Base64.decode( |
| | | paramStr); |
| | | } |
| | | if (!param) { |
| | | showInfo(this.translate("tip_no_app_param")) |
| | | |
| | | return; |
| | | } |
| | | const attrValues = [] |
| | | |
| | | style.form.items.forEach(item => { |
| | | if (item.name == "Layout") { //判断是否是栅栏格式 |
| | | item.setting.colList.forEach(col => { |
| | | if (col != null) { |
| | | attrValues.push({ |
| | | attr: col.fieldId, |
| | | value: col.value || "" |
| | | }) |
| | | } |
| | | |
| | | }); |
| | | } else |
| | | attrValues.push({ |
| | | attr: item.fieldId, |
| | | value: item.value || "" |
| | | }) |
| | | }); |
| | | uni.navigateTo({ |
| | | url: '../modal/' + name + '?param=' + |
| | | param + "&titlename=" + |
| | | appName + |
| | | "&type=relatedFunction¶mValue=" + |
| | | JSON.stringify(attrValues), |
| | | events: { |
| | | |
| | | } |
| | | }); |
| | | } else { |
| | | showInfo(this.translate("function_not_exist")) |
| | | |
| | | } |
| | | |
| | | } else { |
| | | showInfo(this.translate("cannot_related_function")) |
| | | |
| | | |
| | | } |
| | | } catch (ex) { |
| | | showError(ex, this.translateSys('error')) |
| | | return undefined |
| | | } |
| | | }, |
| | | ontap(item) { //扫码功能 |
| | | // 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); |
| | |
| | | }, |
| | | |
| | | onEnterChange(item) { //回车,点击按钮,取消节点事件 |
| | | // console.log(item); |
| | | console.log(item); |
| | | let newVal = item.value |
| | | if (typeof item.value == "string") { |
| | | newVal = item.value.trim() |
| | |
| | | async onChange(event) { |
| | | try { |
| | | if (event.id) { |
| | | showLoading("loading...") |
| | | var obj_attr = this.head_styledef.form.model; |
| | | // console.log(obj_attr); |
| | | console.log(obj_attr); |
| | | var input_param = Base64.encode( |
| | | JSON.stringify( |
| | | Object.keys(obj_attr).map((a) => ({ |
| | |
| | | input_param: input_param, |
| | | }; |
| | | runCustomEvent(dataInfo).then(result => { |
| | | // console.log(result); |
| | | if (result.ret != 0) { |
| | | var tip = result.err_info ? typeof result |
| | | .err_info == |
| | | 'string' ? |
| | | console.log(result); |
| | | hideLoading() |
| | | 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 : result.err_info.join( |
| | | '<br/>') : ''; |
| | | .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); |
| | | } |
| | | uni.showModal({ |
| | | title: this.translateSys( |
| | | "tip"), |
| | | content: tip, |
| | | showCancel: false, |
| | | confirmText: this |
| | | .translateSys('close') |
| | | }); |
| | | } else uni.showModal({ |
| | | title: this.translateSys( |
| | | "tip"), |
| | | content: tip + ',' + this |
| | | .translateSys('tip') + |
| | | ':' + |
| | | result |
| | | .ret, |
| | | showCancel: false, |
| | | confirmText: this.translateSys( |
| | | 'close') |
| | | }); |
| | | 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( |
| | | 'close') |
| | | }); |
| | | |
| | | if (result.result_type == 0 && 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_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); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } else { |
| | | if (result.info) { |
| | | uni.showModal({ |
| | | title: this |
| | | .translateSys( |
| | | "tip"), |
| | | content: result.info, |
| | | showCancel: false, |
| | | confirmText: this |
| | | .translateSys( |
| | | 'close') |
| | | }); |
| | | 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); |
| | | uni.showModal({ |
| | | title: this.translateSys("error") + |
| | | "8.1", |
| | | content: ex.errMsg, |
| | | showCancel: false, |
| | | confirmText: this.translateSys( |
| | | 'close') |
| | | }); |
| | | hideLoading() |
| | | showError(ex, this.translateSys("error") + "8.1") |
| | | }); |
| | | } |
| | | } catch (ex) { |
| | | 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( |
| | | "comma") + |
| | | this.translate('reason') + this.translateSys( |
| | | "colon") + tip, |
| | | showCancel: false, |
| | | confirmText: this.translateSys('close') |
| | | }); |
| | | hideLoading() |
| | | showError(ex, this.translateSys('error') + "8.2") |
| | | |
| | | } |
| | | }, |
| | | setFormValues(attrs) { |
| | | const head_styledef = this.head_styledef |
| | | if (JSON.stringify(attrs) == '{}') { |
| | | return; |
| | | if (!Array.isArray(attrs)) { |
| | | return |
| | | } |
| | | console.log(attrs) |
| | | attrs.forEach(async (attr, key) => { |
| | |
| | | } |
| | | var styleStr = JSON.stringify($this.detail1_styledef); |
| | | var detailStyle = JSON.parse(styleStr); |
| | | if (detailStyle.form) { |
| | | data.content.forEach(cont => { |
| | | 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; |
| | |
| | | } else { |
| | | $this.detail1StyleDefList.push(detailStyle); //待分拣 |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | }); |
| | | |
| | | |
| | | }, |
| | | //点中表单 |
| | |
| | | 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) { |
| | | 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('close') |
| | | }); |
| | | } else uni.showModal({ |
| | | title: this.translateSys( |
| | | "tip"), |
| | | content: tip + ',' + this |
| | | .translateSys('tip') + |
| | | ':' + |
| | | result.ret, |
| | | showCancel: false, |
| | | confirmText: this.translateSys( |
| | | 'close') |
| | | }); |
| | | 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( |
| | | 'close') |
| | | }); |
| | | |
| | | if (result.result_type == 0 && result.action) { |
| | | result.action.forEach(item => { |
| | | if (item.action_type == |
| | | "goback_to_pre_page") { //返回上一页 |
| | | var value = item.value; |
| | | uni.navigateBack({ |
| | | delta: 1, //返回层数,2则上上页 |
| | | }); |
| | | } else { |
| | | uni.showModal({ |
| | | title: this |
| | | .translateSys( |
| | | "tip" |
| | | ), |
| | | content: this |
| | | .translateSys( |
| | | "quotation_mark_left" |
| | | ) + |
| | | item |
| | | .action_type + |
| | | this |
| | | .translateSys( |
| | | "quotation_mark_right" |
| | | ) + |
| | | this |
| | | .translate( |
| | | "tip_action_unprocessed" |
| | | ), |
| | | showCancel: false, |
| | | confirmText: this |
| | | .translateSys( |
| | | 'close' |
| | | ) |
| | | }); |
| | | } |
| | | }); |
| | | } else { |
| | | if (result.info) { |
| | | uni.showModal({ |
| | | title: this |
| | | .translateSys( |
| | | "tip"), |
| | | content: result.info, |
| | | showCancel: false, |
| | | confirmText: this |
| | | .translateSys( |
| | | 'close') |
| | | }); |
| | | } |
| | | 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); |
| | | } |
| | | } |
| | | }).catch(ex => { |
| | | // console.log(ex); |
| | | uni.showModal({ |
| | | title: this.translateSys("error") + |
| | | "9.1", |
| | | content: ex.errMsg, |
| | | showCancel: false, |
| | | confirmText: this.translateSys( |
| | | 'close') |
| | | }); |
| | | }); |
| | | 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" |
| | | )) |
| | | |
| | | } |
| | | }); |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | } catch (ex) { |
| | | var tip = typeof ex == "string" ? ex : ex.message; |
| | | uni.showModal({ |
| | | title: this.translateSys("error") + "9.2", |
| | | content: this.translate('execute_event_failed') + |
| | | this.translateSys( |
| | | "comma") + |
| | | this.translate('reason') + this.translateSys( |
| | | "colon") + tip, |
| | | showCancel: false, |
| | | confirmText: this.translateSys('close') |
| | | }); |
| | | showError(ex, this.translateSys('error') + "9.2") |
| | | |
| | | } |
| | | }, |
| | |
| | | .dv-panel-bkcolor { |
| | | border: 1px solid #ccc; |
| | | border-radius: 5px; |
| | | background-color: #F5F5F5; |
| | | background-color: #F8F8F8; |
| | | } |
| | | |
| | | .dv-panel { |
| | |
| | | |
| | | |
| | | .dv-panel-button { |
| | | width: 100%; |
| | | min-height: 16px; |
| | | padding-bottom: 10rpx; |
| | | display: flex; |
| | | flex-direction: row; |
| | | // justify-content: right; |
| | | |
| | | button { |
| | | line-height: 1.6; |
| | | // border: none; |
| | | // margin-right: 10rpx; |
| | | // text-align: center; |
| | | } |
| | | } |
| | | |
| | | .dv-panel-right-button { |
| | | display: inline-block; |
| | | } |
| | | |
| | | .dv-panel-button a i { |
| | | font-size: 36rpx; |
| | | } |
| | | a i { |
| | | font-size: 36rpx; |
| | | } |
| | | |
| | | .dv-panel-button button { |
| | | height: 50rpx; |
| | | font-size: 26rpx; |
| | | padding: 0 24rpx; |
| | | button { |
| | | height: 50rpx; |
| | | font-size: 26rpx; |
| | | padding: 0 24rpx; |
| | | } |
| | | } |
| | | |
| | | .bk-active { |