| | |
| | | :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 class="dv-panel-button" v-if="click_item_view"> |
| | | </div> |
| | | <div class="dv-panel-right-button" v-if="click_item_view"> |
| | | <a @click="onViewPageClick(style)"><i class="mobox-normal-right-arrow" /></a> |
| | | </div> |
| | | </view> |
| | |
| | | name: this.param?.ClickItem_Event?.name, |
| | | id: this.param?.ClickItem_Event?.id, |
| | | }; |
| | | }, |
| | | rowButtons() { |
| | | return this.param?.ListItem_Button || []; |
| | | }, |
| | | |
| | | }, |
| | |
| | | 'close') |
| | | }); |
| | | }); |
| | | }, |
| | | 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 { |
| | | uni.showModal({ |
| | | title: this.translateSys("tip"), |
| | | content: this.translateSys("unrealized"), |
| | | showCancel: false, |
| | | confirmText: this.translateSys('close') |
| | | }); |
| | | } |
| | | }, |
| | | //执行触发事件 |
| | | async triggerEvent(btn, style, enviroment) { |
| | | const $this = this |
| | | |
| | | 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 => { |
| | | // console.log(result); |
| | | if (result.ret != 0 && result.ret != 1) { |
| | | 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/>') : ''; |
| | | tip = tip || result.err_info |
| | | if (tip) uni.showModal({ |
| | | title: this.translateSys( |
| | | "tip"), |
| | | content: tip, |
| | | showCancel: false, |
| | | confirmText: this.translateSys( |
| | | 'close') |
| | | }); |
| | | if ([0, 2, 3, 4, -1].includes(result.result_type)) { |
| | | if (result.result_type == 2) { |
| | | |
| | | } else if (typeof result.result == 'string') { |
| | | if (result.result) { |
| | | uni.showModal({ |
| | | title: this.translateSys('tip'), |
| | | content: result.result, |
| | | showCancel: false, |
| | | confirmText: this.translateSys('close') |
| | | }); |
| | | } |
| | | } |
| | | try { |
| | | var actionList = result.action || [] |
| | | actionList.forEach(item => { |
| | | if (item.action_type == "jump_pda_page") { |
| | | // value = {"attr":"xxx", "value":"xxx"} |
| | | var data = item.value; |
| | | 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); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | }) |
| | | } catch (ex) { |
| | | let actionList = (result.action || []).map(a => a.action_type).join(';') |
| | | let tip = typeof ex == 'string' ? ex : ex.message |
| | | tip = `执行脚本返回的${actionList}时出现异常,请检查脚本返回的数据格式是否正确。${tip}` |
| | | uni.showModal({ |
| | | title: this.translateSys('tip'), |
| | | content: tip, |
| | | showCancel: false, |
| | | confirmText: this.translateSys('close') |
| | | }); |
| | | console.log(ex) |
| | | return |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | }).catch(ex => { |
| | | // console.log(ex); |
| | | uni.showModal({ |
| | | title: this.translateSys("error") + |
| | | "8.1", |
| | | content: ex.errMsg, |
| | | showCancel: false, |
| | | confirmText: this.translateSys( |
| | | 'close') |
| | | }); |
| | | }); |
| | | }, |
| | | 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 == "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) { |
| | | uni.showModal({ |
| | | title: this.translateSys("tip"), |
| | | content: this.translate( |
| | | 'tip_no_app_param'), |
| | | showCancel: false, |
| | | confirmText: this.translateSys( |
| | | 'close') |
| | | }); |
| | | 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('close') |
| | | }); |
| | | } |
| | | |
| | | } else { |
| | | uni.showModal({ |
| | | title: this.translateSys("error"), |
| | | content: this.translate("cannot_related_function"), |
| | | showCancel: false, |
| | | confirmText: this.translateSys('close') |
| | | }); |
| | | |
| | | } |
| | | } catch (ex) { |
| | | console.log(ex); |
| | | let exStr = JSON.stringify(ex) |
| | | if (exStr == "{}") |
| | | exStr = ex |
| | | let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr |
| | | uni.showModal({ |
| | | title: this.translateSys("error"), |
| | | content: tip, |
| | | showCancel: false, |
| | | confirmText: this.translateSys('close') |
| | | }); |
| | | return undefined |
| | | } |
| | | }, |
| | | ontap(item) { //扫码功能 |
| | | // var $ele = e; |
| | |
| | | }, |
| | | |
| | | onEnterChange(item) { //回车,点击按钮,取消节点事件 |
| | | // console.log(item); |
| | | console.log(item); |
| | | let newVal = item.value |
| | | if (typeof item.value == "string") { |
| | | newVal = item.value.trim() |
| | |
| | | try { |
| | | if (event.id) { |
| | | 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); |
| | | console.log(result); |
| | | if (result.ret != 0&& result.ret != 1) { |
| | | var tip = result.err_info ? typeof result |
| | | .err_info == |
| | |
| | | .dv-panel-bkcolor { |
| | | border: 1px solid #ccc; |
| | | border-radius: 5px; |
| | | background-color: #F5F5F5; |
| | | background-color: #F8F8F8; |
| | | } |
| | | |
| | | .dv-panel { |
| | |
| | | |
| | | |
| | | .dv-panel-button { |
| | | display: inline-block; |
| | | 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-button a i { |
| | | .dv-panel-right-button { |
| | | display: inline-block; |
| | | |
| | | a i { |
| | | font-size: 36rpx; |
| | | } |
| | | |
| | | .dv-panel-button button { |
| | | button { |
| | | height: 50rpx; |
| | | font-size: 26rpx; |
| | | padding: 0 24rpx; |
| | | } |
| | | } |
| | | |
| | | .bk-active { |
| | | background-color: #D6FCB2; |