cuiqian2004
5 天以前 07925905f1a596e20e980de6d42db217abb753b0
pages/modal/3202.vue
@@ -13,8 +13,16 @@
                     :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>
@@ -30,6 +38,12 @@
      Base64
   } from '@/js/Base64.js';
   import classUtils from "@/js/utils.js"
   import {
      showInfo,
      showError,
      showLoading,
      hideLoading
   } from "@/js/Page.js"
   import {
      appGetInfo,
      dictGetInfo
@@ -91,31 +105,52 @@
               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: {
@@ -142,7 +177,7 @@
            });
         },
         //初始化
         async initial() {
         async initial(paramValue) {
            this.refreshing = true
            await this.Head_UIStyleGetInfo(this.param.ClsID, this.param.Input_Panel.id);
            this.wheres = '';
@@ -151,7 +186,152 @@
            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")
            }
         },
         //滚动到底部后懒加载数据
@@ -241,13 +421,7 @@
               }
            } 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")
            }
         },
@@ -272,13 +446,7 @@
               $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")
            }
@@ -316,12 +484,7 @@
               }
            } 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")
            }
         },
@@ -423,21 +586,10 @@
               }).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")
            }
         },
         //刷新
@@ -445,10 +597,19 @@
            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;
@@ -489,109 +650,331 @@
               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&paramValue=" +
                           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);
@@ -627,7 +1010,7 @@
         },
         onEnterChange(item) { //回车,点击按钮,取消节点事件
            // console.log(item);
            console.log(item);
            let newVal = item.value
            if (typeof item.value == "string") {
               newVal = item.value.trim()
@@ -660,8 +1043,9 @@
         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) => ({
@@ -691,142 +1075,116 @@
                     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) => {
@@ -921,9 +1279,10 @@
            }
            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;
@@ -980,8 +1339,9 @@
                  } else {
                     $this.detail1StyleDefList.push(detailStyle); //待分拣
                  }
               });
            }
               }
            });
         },
         //点中表单
@@ -997,130 +1357,78 @@
         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")
            }
         },
@@ -1416,7 +1724,7 @@
      .dv-panel-bkcolor {
         border: 1px solid #ccc;
         border-radius: 5px;
         background-color: #F5F5F5;
         background-color: #F8F8F8;
      }
      .dv-panel {
@@ -1445,17 +1753,33 @@
      .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 {