cuiqian2004
2024-09-27 6a6229d218b31219b260c250a10ee58e51f56587
pages/modal/3037.vue
@@ -288,7 +288,9 @@
         <div class="panel_title">{{param.Sub_Cls.Title}}</div>
         <!-- 从数据扫码区 -->
         <view class="v-area class_attr_body" v-if="param.Sub_Cls.Can_Add_Delete == true">
            <h4 style="margin: 15rpx 0 0 30rpx;font-weight: bold;">{{`${translateSys('add2')}'${param.Sub_Cls.Name}'` }}</h4>
            <h4 style="margin: 15rpx 0 0 30rpx;font-weight: bold;">
               {{`${translateSys('add2')}'${param.Sub_Cls.Name}'` }}
            </h4>
            <view class="form-group">
               <!-- 左右布局 -->
               <p class="tx_title2">{{param.Scan_Code.Name}}:</p>
@@ -647,6 +649,22 @@
   import Base64 from '../../components/js-base64/base64.js'
   import pickerAddress from '../../js/pickerAddress/pickerAddress.vue'
   import utils from "@/js/utils.js"
   import {
      appGetInfo,
      dictGetInfo,
      dictItemGetInfo
   } from "@/api/mobox.js"
   import {
      getUIStyleInfo,
      runCustomEvent,
      dataObjCreate,
      dataObjDel
   } from "@/api/data.js"
   import {
      classAttrList,
   } from "@/api/index.js"
   export default {
      modules: {
         Base64,
@@ -705,215 +723,128 @@
         //     Model: param.EditDlgMode,
         //     Name: param.Master_Cls.View_Style.Name
         // }
         //主数据类获取
         var dataInfo = {
            class_id: param.Master_Cls.ID
         };
         var $this = this;
         $this.$store.state.thisareaFuncID = param.Master_Cls.ID;
         // console.log($this.$store.getters.getclassAttrList);
         if ($this.$store.getters.getclassAttrList) {
            $this.$data.classAttrList = $this.$store.getters.getclassAttrList;
            $this.classGridStyleInfo(param.Master_Cls.ID, $this.$data.param.Master_Cls.View_Style.Name, 'Mast');
         } else {
            $this.$store.dispatch('classAttrGetList', dataInfo).then(success => {
               // console.log(success);
               if (success.err_code == 0) {
                  $this.$data.classAttrList = success.result;
                  success.result.forEach(async (group, index) => {
                     group.attr_list.forEach(async (attr, key) => {
                        if (utils.classUtils.attrTypeIsDict(attr.type))
                        // if (attr.type == "字典-字符串" || attr.type == "字典-整数" ||attr.type == "dict-char" || attr.type == "dict-int")
                        {
                           await $this.DictItemGetList(attr, key, index, 'mast');
                        }
                     });
                  });
                  setTimeout(function() {
                     $this.classGridStyleInfo(param.Master_Cls.ID, $this.$data.param.Master_Cls
                        .View_Style.Name, 'Mast');
                  }, 500);
               } else {
                  uni.showModal({
                     title: this.translateSys('error') + " 1",
                     content: success.err_msg,
                     showCancel: false,
                     confirmText: this.translateSys('cancel')
                  });
               }
            }).catch(ex => {
               // console.log(ex);
               uni.showModal({
                  title: this.translateSys('error') + " 1.1",
                  content: ex.errMsg,
                  showCancel: false,
                  confirmText: this.translateSys('cancel')
               });
            });
         }
         this.loadData()
         //从数据类获取
         var subdataInfo = {
            class_id: param.Sub_Cls.ID
         };
         $this.$store.state.thisareaFuncSubID = param.Sub_Cls.ID;
         if ($this.$store.getters.getSubClassAttrList) {
            $this.$data.subClassAttrList = $this.$store.getters.getSubClassAttrList;
            $this.classGridStyleInfo(param.Sub_Cls.ID, $this.$data.param.Sub_Cls.View_Style.Name, 'Sub');
         } else {
            $this.$store.dispatch('subClassAttrGetList', subdataInfo).then(success => {
               // console.log(success);
               if (success.err_code == 0) {
                  $this.$data.subClassAttrList = success.result;
                  success.result.forEach(async (group, index) => {
                     group.attr_list.forEach(async (attr, key) => {
                        if (utils.classUtils.attrTypeIsDict(attr.type)) {
                           //if (attr.type == "字典-字符串" || attr.type == "字典-整数" ||attr.type == "dict-char" || attr.type == "dict-int"){
                           await $this.DictItemGetList(attr, key, index, 'sub');
                        }
                     });
                  });
                  setTimeout(function() {
                     $this.classGridStyleInfo(param.Sub_Cls.ID, $this.$data.param.Sub_Cls.View_Style
                        .Name, 'Sub');
                  }, 500);
               } else {
                  uni.showModal({
                     title: this.translateSys('error') + " 1_1",
                     content: success.err_msg,
                     showCancel: false,
                     confirmText: this.translateSys('cancel')
                  });
               }
            }).catch(ex => {
               // console.log(ex);
               uni.showModal({
                  title: this.translateSys('error') + " 1_1.1",
                  content: ex.errMsg,
                  showCancel: false,
                  confirmText: this.translateSys('cancel')
               });
            });
         }
      },
      methods: {
         async DictItemGetList(attr, key, index, type) { //Mobox3得到字典项列表
            this.data = [];
            var $this = this;
            var dataInfo = {
               dict_id: attr.dict_id,
               dict_name: attr.dict_name
            };
            // console.log(dataInfo);
            this.$store.dispatch('DictItemGetList', dataInfo).then(async (success) => {
               // console.log(success);
               if (success.err_code == 0) {
                  if (type == 'mast') {
                     $this.$data.classAttrList[index].attr_list[key].dictitem = success.result;
                     this.$store.commit("classAttrList", $this.$data.classAttrList);
         setData(obj) {
            let that = this;
            let keys = [];
            let val, data;
            Object.keys(obj).forEach(function(key) {
               keys = key.split(".");
               val = obj[key];
               data = that.$data;
               keys.forEach(function(key2, index) {
                  if (index + 1 == keys.length) {
                     that.$set(data, key2, val);
                  } else {
                     $this.$data.subClassAttrList[index].attr_list[key].dictitem = success.result;
                     this.$store.commit("subClassAttrList", $this.$data.subClassAttrList);
                     if (!data[key2]) {
                        that.$set(data, key2, {});
                     }
                  }
               } else {
                  uni.showModal({
                     title: this.translateSys('error') + " 1.2",
                     content: success.err_msg,
                     showCancel: false,
                     confirmText: this.translateSys('cancel')
                  });
               }
            }).catch(ex => {
               // console.log(ex);
               uni.showModal({
                  title: this.translateSys('error') + " 1.3",
                  content: ex.errMsg,
                  showCancel: false,
                  confirmText: this.translateSys('cancel')
                  data = data[key2];
               });
            });
         },
         async classGridStyleInfo(clsid, styleName, clsType) {
            var $this = this;
            var gridstyleInfo = {
               class_id: clsid,
               ui_style_type: 2,
               ui_style_name: styleName
            };
            // console.log($this.$store.getters.getclassGridStyleInfo);
            //获取主数据类界面样式
            if (clsType == 'Mast') {
               $this.$store.state.thisEditName = styleName;
               if ($this.$store.getters.getclassGridStyleInfo) {
                  $this.$data.classGridStyle = $this.$store.getters.getclassGridStyleInfo;
                  $this.viewParam('Mast');
               } else {
                  //console.log(gridstyleInfo);
                  $this.$store.dispatch('UIStyleGetInfo', gridstyleInfo).then(success => {
                     // console.log(success);
                     if (success.err_code == 0) {
                        var styledef = Base64.decode(success.result.style_def);
                        success.result.style_def = JSON.parse(styledef);
                        $this.$data.classGridStyle = success.result;
                        // console.log($this.$data.classGridStyle);
         async loadData() {
            //主数据类获取
            const param = this.param
            this.$data.classAttrList = await this.classAttrGetList(param.Master_Cls?.ID)
            this.$data.classGridStyle = await this.classGridStyleInfo(param.Master_Cls.ID, param.Master_Cls
               ?.View_Style?.Name)
            this.viewParam('Mast');
            this.$data.classAttrList = await this.classAttrGetList(param.Sub_Cls?.ID)
            this.$data.classGridStyle = await this.classGridStyleInfo(param.Sub_Cls?.ID, param.Sub_Cls?.View_Style
               ?.Name)
            this.viewParam('Sub');
         },
         async DictItemGetList(attr) { //Mobox3得到字典项列表
            try {
               this.data = [];
               var $this = this;
               var dataInfo = {
                  dict_id: attr.dict_id,
                  dict_name: attr.dict_name
               };
               const result = await dictItemGetInfo(dataInfo)
               return result?.dict_item_list || []
                        $this.viewParam('Mast');
                     } else {
                        uni.showModal({
                           title: this.translateSys('error') + " 1.2",
                           content: success.err_msg,
                           showCancel: false,
                           confirmText: this.translateSys('cancel')
                        });
                     }
                  }).catch(ex => {
                     console.log(ex);
                     uni.showModal({
                        title: this.translateSys('error') + " 1.3",
                        content: ex.errMsg,
                        showCancel: false,
                        confirmText: this.translateSys('cancel')
                     });
                  });
               }
            } else if (clsType == 'Sub') { //获取从数据类界面样式
               $this.$store.state.thisEditSubName = styleName;
               if ($this.$store.getters.getSubClassGridStyleInfo) {
                  $this.$data.subClassGridStyle = $this.$store.getters.getSubClassGridStyleInfo;
                  $this.viewParam('Sub');
               } else {
                  //console.log(gridstyleInfo);
                  $this.$store.dispatch('UIStyleGetInfo', gridstyleInfo).then(success => {
                     // console.log(success);
                     if (success.err_code == 0) {
                        var styledef = Base64.decode(success.result.style_def);
                        success.result.style_def = JSON.parse(styledef);
                        $this.$data.subClassGridStyle = success.result;
                        // console.log($this.$data.subClassGridStyle);
                        $this.viewParam('Sub');
                        // $this.subClass_attr_init();
                     } else {
                        uni.showModal({
                           title: this.translateSys('error') + " 1.2",
                           content: success.err_msg,
                           showCancel: false,
                           confirmText: this.translateSys('cancel')
                        });
                     }
                  }).catch(ex => {
                     console.log(ex);
                     uni.showModal({
                        title: this.translateSys('error') + " 1.3",
                        content: ex.errMsg,
                        showCancel: false,
                        confirmText: this.translateSys('cancel')
                     });
                  });
               }
            } catch (ex) {
               uni.showModal({
                  title: this.translateSys('error') + " 1.2",
                  content: ex.errMsg,
                  showCancel: false,
                  confirmText: this.translateSys('cancel')
               });
               return []
            }
         },
         async classAttrGetList(clsid) {
            try {
               var $this = this;
               var dataInfo = {
                  class_id: clsid,
               };
               const result = await classAttrList(dataInfo) || []
               for (let index in result) {
                  const group = result[index]
                  for (let key in group.attr_list) {
                     const attr = group.attr_list[key]
                     if (utils.classUtils.attrTypeIsDict(attr.type)) {
                        attr.dictitem = await $this.DictItemGetList(attr);
                     }
                  }
               }
               return result
            } 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") + " 1.1",
                  content: tip,
                  showCancel: false,
                  confirmText: this.translateSys("cancel")
               });
               return []
            };
         },
         async classGridStyleInfo(clsid, styleName) {
            try {
               var $this = this;
               var gridstyleInfo = {
                  class_id: clsid,
                  ui_style_type: 2,
                  ui_style_name: styleName
               };
               const result = await getUIStyleInfo(gridstyleInfo)
               var styledef = Base64.decode(result.style_def || "");
               result.style_def = JSON.parse(styledef);
               return result
            } 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") + " 1.2",
                  content: tip,
                  showCancel: false,
                  confirmText: this.translateSys("cancel")
               });
               return {}
            };
         },
         viewParam(type) { //将mobox3小写参数转换为mobox2大写参数
            var classGridStyle = '';
@@ -1232,7 +1163,8 @@
                                    }
                                 }
                              }
                              if (utils.classUtils.attrTypeIsDateTime(ca.Type)) //if(ca.Type=='日期' || ca.Type=='时间')
                              if (utils.classUtils.attrTypeIsDateTime(ca
                                    .Type)) //if(ca.Type=='日期' || ca.Type=='时间')
                              {
                                 var nowDate = new Date();
                                 var date = {
@@ -1588,25 +1520,17 @@
               uni.showLoading({
                  title: "加载中..."
               });
               this.$store.dispatch('dataObjDel', dataInfo).then(success => {
               dataObjDel(dataInfo).then(success => {
                  // console.log(success);
                  uni.hideLoading();
                  if (ret.err_code == 0) {
                     $this.$data.subPanelList.splice(index, 1);
                     uni.showModal({
                        title: this.translateSys('tip') + "",
                        content: "删除成功!",
                        showCancel: false,
                        confirmText: this.translateSys('cancel')
                     });
                  } else {
                     uni.showModal({
                        title: this.translateSys('error') + " 9",
                        content: success.msg,
                        showCancel: false,
                        confirmText: this.translateSys('cancel')
                     });
                  }
                  $this.$data.subPanelList.splice(index, 1);
                  uni.showModal({
                     title: this.translateSys('tip') + "",
                     content: "删除成功!",
                     showCancel: false,
                     confirmText: this.translateSys('cancel')
                  });
               }).catch(ex => {
                  console.log(ex);
                  uni.hideLoading();
@@ -2560,62 +2484,50 @@
            };
            console.log(dataInfo);
            // return
            this.$store.dispatch('createDataObj',
               dataInfo).then(success => {
               console.log(success);
            dataObjCreate(dataInfo).then(result => {
               console.log(result);
               uni.hideLoading();
               if (success.err_code == 0) {
                  var result = success
                     .result;
                  if (success.result
                     .action) {
                     var action = JSON
                        .parse(success
                           .result.Action
                        );
                     if (action.ret ==
               if (success.result
                  .action) {
                  var action = JSON
                     .parse(success
                        .result.Action
                     );
                  if (action.ret ==
                     '0') {
                     if (action
                        .result_type ==
                        '0') {
                        if (action
                           .result_type ==
                           '0') {
                           uni.showToast({
                              title: action
                                 .result,
                              icon: "success",
                              duration: 3000
                           });
                        }
                        // "{"ret":0, "result_type":0, "result":"创建成功123123123","info":""}"
                        uni.showToast({
                           title: action
                              .result,
                           icon: "success",
                           duration: 3000
                        });
                     }
                  } else
                     uni.showToast({
                        title: "创建成功!",
                        icon: "success",
                        duration: 3000
                     });
                  //刷新
                  uni.redirectTo({
                     url: '../modal/3037?param=' +
                        JSON
                        .stringify(
                           this
                           .$data
                           .param
                        ) +
                        "&titlename=" +
                        this.$data
                        .title
                     // "{"ret":0, "result_type":0, "result":"创建成功123123123","info":""}"
                  }
               } else
                  uni.showToast({
                     title: "创建成功!",
                     icon: "success",
                     duration: 3000
                  });
                  // this.class_attr_init();
               } else {
                  uni.showModal({
                     title: this.translateSys('error') + " ",
                     content: success
                        .err_msg,
                     showCancel: false,
                     confirmText: this.translateSys('cancel')
                  });
               }
               //刷新
               uni.redirectTo({
                  url: '../modal/3037?param=' +
                     JSON
                     .stringify(
                        this
                        .$data
                        .param
                     ) +
                     "&titlename=" +
                     this.$data
                     .title
               });
               // this.class_attr_init();
            }).catch(ex => {
               console.log(ex);
               uni.hideLoading();
@@ -2687,1545 +2599,59 @@
            };
            console.log(dataInfo);
            // return;
            this.$store.dispatch('runCustomEvent',
               dataInfo).then(success => {
               console.log(success);
               if (success.err_code == 0) {
                  var data = success.result;
                  if (data.ret != 0) {
                     var tip = data
                        .err_info ?
                        typeof data
                        .err_info ==
                        'string' ? data
                        .err_info : data
                        .err_info.join(
                           '<br/>') : '';
                     if (data.ret == 801)
                        uni.showModal({
                           title: this.translateSys('tip'),
                           content: tip,
                           showCancel: false,
                           confirmText: this.translateSys('cancel')
                        });
                     else uni.showModal({
            runCustomEvent(
               dataInfo).then(data => {
               console.log(data);
               if (data.ret != 0) {
                  var tip = data
                     .err_info ?
                     typeof data
                     .err_info ==
                     'string' ? data
                     .err_info : data
                     .err_info.join(
                        '<br/>') : '';
                  if (data.ret == 801)
                     uni.showModal({
                        title: this.translateSys('tip'),
                        content: tip +
                           ',提示:' +
                           data
                           .ret,
                        content: tip,
                        showCancel: false,
                        confirmText: this.translateSys('cancel')
                     });
                     return false
                  } else {
                     var tip = data.info ?
                        typeof data.info ==
                        'string' ? data
                        .info : data.info
                        .join('<br/>') :
                        '';
                     if (tip) uni
                        .showModal({
                           title: this.translateSys('tip'),
                           content: tip,
                           showCancel: false,
                           confirmText: this.translateSys('cancel')
                        });
                     if (data.action) {
                        var actionlist =
                           data.action;
                        if (actionlist) {
                           for (var j =
                                 0; j <
                              actionlist
                              .length; j++
                           ) {
                              var action =
                                 actionlist[
                                    j]
                              var action_type =
                                 action
                                 .action_type;
                              var value =
                                 action
                                 .value;
                              if (action_type ==
                                 'set_dlg_attr'
                              ) {
                                 if (
                                    value) {
                                    var val =
                                       value;
                                    if (typeof value ==
                                       'string'
                                    ) {
                                       val =
                                          JSON
                                          .parse(
                                             value
                                          );
                                    }
                                    console
                                       .log(
                                          val
                                       );
                                    for (
                                       var i =
                                          0; i <
                                       val
                                       .length; i++
                                    ) {
                                       for (
                                          var a =
                                             0; a <
                                          this
                                          .$data
                                          .classAttrList
                                          .length; a++
                                       ) {
                                          for (
                                             var l =
                                                0; l <
                                             this
                                             .$data
                                             .classAttrList[
                                                a
                                             ]
                                             .Attr
                                             .length; l++
                                          ) {
                                             var ca =
                                                this
                                                .$data
                                                .classAttrList[
                                                   a
                                                ]
                                                .Attr[
                                                   l
                                                ];
                                             if (val[
                                                   i]
                                                .attr ==
                                                ca
                                                .Name
                                             ) {
                                                if (utils.classUtils.attrTypeIsDict(ca.Type)) {
                                                   var
                                                      dictItemList = [];
                                                   for (
                                                      var d in
                                                         val[
                                                            i]
                                                         .choice_list
                                                   ) {
                                                      var val =
                                                         val[
                                                            i]
                                                         .choice_list[
                                                            d
                                                         ];
                                                      dictItemList
                                                         .push({
                                                            "CN_S_NAME": val,
                                                            "CN_S_VALUE": val,
                                                            "Name": val,
                                                            "label": val,
                                                            "value": val
                                                         });
                                                   }
                                                   ca.dictitem =
                                                      dictItemList;
                                                   // attr[j].dictitem = val[i].choice_list;
                                                } else {
                                                   // ca.value = val[i].value;
                                                }
                                             }
                                          }
                                       }
                                       var length =
                                          0;
                                       if (!
                                          this
                                          .$data
                                          .refdatastore
                                          .filter(
                                             function(
                                                s
                                             ) {
                                                return val[
                                                      i
                                                   ]
                                                   .attr ==
                                                   s
                                                   .attr
                                             }
                                          )
                                          .length
                                       ) {
                                          length
                                             =
                                             1;
                                          this.$data
                                             .refdatastore
                                             .push(
                                                val[
                                                   i]
                                             );
                                       }
                                       if (length ==
                                          0
                                       ) {
                                          for (
                                             var j =
                                                0; j <
                                             this
                                             .$data
                                             .refdatastore
                                             .length; j++
                                          ) {
                                             if (this
                                                .$data
                                                .refdatastore[
                                                   j
                                                ]
                                                .attr ==
                                                val[
                                                   i]
                                                .attr
                                             ) {
                                                this.$data
                                                   .refdatastore[
                                                      j
                                                   ]
                                                   .value =
                                                   val[
                                                      i]
                                                   .value;
                                             }
                                          }
                                       }
                                    }
                                 }
                              }
                              if (action_type ==
                                 'open_select_userdlg'
                              ) {
                                 uni.showModal({
                                    title: this.translateSys('error') + " 2.2",
                                    content: "open_select_userdlg这个action_type还未处理!",
                                    showCancel: false,
                                    confirmText: this.translateSys('cancel')
                                 });
                              }
                           }
                        }
                     }
                  }
               } else {
                  uni.showModal({
                     title: this.translateSys('error') + " 2",
                     content: success
                        .err_msg,
                  else uni.showModal({
                     title: this.translateSys('tip'),
                     content: tip +
                        ',提示:' +
                        data
                        .ret,
                     showCancel: false,
                     confirmText: this.translateSys('cancel')
                  });
               }
            }).catch(ex => {
               // console.log(ex);
               uni.showModal({
                  title: this.translateSys('error') + " 2.1",
                  content: ex.errMsg,
                  showCancel: false,
                  confirmText: this.translateSys('cancel')
               });
            });
         },
         DataObjRunCustomEvent(info, data_attr) {
            var $this = this;
            var enviroment = {
               'function': '3000', // 功能点编号
               cls_id: this.$data.param.Master_Cls
                  .ID, // 功能点主数据类标识
               'button': 'top', // top/bottom
               button_name: '新增',
               master: {
                  cls_id: this.$data.param
                     .Master_Cls
                     .ID, // button=bottom时 master的cls_id
                  //obj_id: ''  // button=bottom时 master的obj_id
               }
            };
            enviroment.edit_dlg = {
               type: 'small', //小窗口
               class_id: this.$data.param
                  .Master_Cls.ID, //当前数据类id
            }
            if (data_attr) {
               enviroment.edit_dlg
                  .form_control = { //所属的表单控件
                     name: data_attr.Name, //字段属性
                     text: data_attr
                        .DispName, //显示文本
                     group_name: data_attr
                        .GroupName, //属性组
                     type: data_attr.Type, //字段类型
                     readonly: data_attr
                        .ReadOnly, //是否只读
                     button_img: data_attr
                        .button_img, //引用按钮的图标
                     button_tooltip: data_attr
                        .button_tooltip //引用按钮的tooltip
                  }
            }
            // var dataInfo = {
            //        edtype: info.edtype, eventid: info.eventid, projectid: info.projectid.replace('{','').replace('}',''),
            //        rclsid: info.rclsid, robjid: info.robjid, userlogin: info.userlogin, clsid: info.clsid, objid: info.objid,
            //        attr: JSON.stringify(info.attr), extinfo: JSON.stringify(enviroment), inputparameter: '', global_attr: JSON.stringify(this.$data.global_attr)
            //    }
            enviroment = Base64.encode(JSON.stringify(
               enviroment)); //将字符串转换为base64编码
            var global_attr = Base64.encode(JSON
               .stringify(this.$data.global_attr)
            ); //将字符串转换为base64编码
            if (info.dataJson)
               info.dataJson = Base64.encode(JSON
                  .stringify(info.dataJson)
               ); //将字符串转换为base64编码
            var obj_attr = {};
            info.attr.forEach(item => {
               obj_attr[item.attr] = item.val;
            });
            if (!info.eventid.includes('{')) info
               .eventid = '{' + info.eventid + '}';
            var dataInfo = {
               ed_type: info.edtype,
               start_transaction: '',
               class_id: info.clsid,
               class_name: '',
               event_id: info.eventid,
               event_name: '',
               data_obj_id: info.objid,
               obj_attr: obj_attr,
               prj_id: info.projectid,
               ref_cls_id: info.rclsid,
               rel_obj_id: info.robjid,
               user_login: info.userlogin,
               data_json: info.dataJson,
               compose_info: '',
               ext_info: enviroment,
               global_attr: global_attr,
               input_param: '',
            };
            console.log(dataInfo);
            // return;
            this.$store.dispatch('runCustomEvent',
               dataInfo).then(success => {
               console.log(success);
               if (success.err_code == 0) {
                  var data = success.result;
                  if (data.ret != 0) {
                     var tip = data
                        .err_info ?
                        typeof data
                        .err_info ==
                        'string' ? data
                        .err_info : data
                        .err_info.join(
                           '<br/>') : '';
                     if (data.ret == 801)
                        uni.showModal({
                           title: this.translateSys('tip'),
                           content: tip,
                           showCancel: false,
                           confirmText: this.translateSys('cancel')
                        });
                     else uni.showModal({
                        title: this.translateSys('tip'),
                        content: tip +
                           ',提示:' +
                           data
                           .ret,
                        showCancel: false,
                        confirmText: this.translateSys('cancel')
                     });
                     return false
                  } else {
                     var tip = data.info ?
                        typeof data.info ==
                        'string' ? data
                        .info : data.info
                        .join('<br/>') :
                        '';
                     if (tip) uni
                        .showModal({
                           title: this.translateSys('tip'),
                           content: tip,
                           showCancel: false,
                           confirmText: this.translateSys('cancel')
                        });
                     var actionlist = data
                        .action;
                     if (actionlist) {
                        console.log(
                           actionlist);
                        for (var i = 0; i <
                           actionlist
                           .length; i++) {
                           var action =
                              actionlist[
                                 i];
                           if (action
                              .action_type ==
                              'set_dlg_attr'
                           ) {
                              var result =
                                 action
                                 .value;
                              for (var i =
                                    0; i <
                                 result
                                 .length; i++
                              ) {
                                 if (result[
                                       i
                                    ]
                                    .choice_list
                                 ) {
                                    for (
                                       var c =
                                          0; c <
                                       $this
                                       .$data
                                       .classAttrList
                                       .length; c++
                                    ) {
                                       var attr =
                                          $this
                                          .$data
                                          .classAttrList[
                                             c
                                          ]
                                          .Attr;
                                       for (
                                          var j =
                                             0; j <
                                          attr
                                          .length; j++
                                       ) {
                                          if (attr[
                                                j
                                             ]
                                             .Name ==
                                             result[
                                                i
                                             ]
                                             .attr
                                          ) {
                                             if (utils.classUtils.attrTypeIsDict(attr[j].Type)) {
                                                var
                                                   dictItemList = [];
                                                for (
                                                   var d in
                                                      result[
                                                         i
                                                      ]
                                                      .choice_list
                                                ) {
                                                   var val =
                                                      result[
                                                         i
                                                      ]
                                                      .choice_list[
                                                         d
                                                      ];
                                                   dictItemList
                                                      .push({
                                                         "CN_S_NAME": val,
                                                         "CN_S_VALUE": val,
                                                         "Name": val,
                                                         "label": val,
                                                         "value": val
                                                      });
                                                }
                                                attr[
                                                      j]
                                                   .dictitem =
                                                   dictItemList;
                                                // attr[j].dictitem = result[i].choice_list;
                                             }
                                          }
                                       }
                                    }
                                 }
                                 for (
                                    var c =
                                       0; c <
                                    $this
                                    .$data
                                    .classAttrList
                                    .length; c++
                                 ) {
                                    var attr =
                                       $this
                                       .$data
                                       .classAttrList[
                                          c
                                       ]
                                       .Attr;
                                    for (
                                       var j =
                                          0; j <
                                       attr
                                       .length; j++
                                    ) {
                                       console
                                          .log(
                                             attr[
                                                j
                                             ]
                                             .Name +
                                             '==' +
                                             result[
                                                i
                                             ]
                                             .attr
                                          );
                                       if (attr[
                                             j
                                          ]
                                          .Name ==
                                          result[
                                             i
                                          ]
                                          .attr
                                       ) {
                                          attr[
                                                j]
                                             .Value =
                                             result[
                                                i
                                             ]
                                             .value;
                                       }
                                    }
                                 }
                                 var length =
                                    0;
                                 if (!
                                    $this
                                    .$data
                                    .refdatastore
                                    .filter(
                                       function(
                                          s
                                       ) {
                                          return result[
                                                i
                                             ]
                                             .attr ==
                                             s
                                             .attr
                                       }
                                    )
                                    .length
                                 ) {
                                    length
                                       =
                                       1;
                                    $this
                                       .$data
                                       .refdatastore
                                       .push(
                                          result[
                                             i
                                          ]
                                       );
                                 }
                                 if (length ==
                                    0
                                 ) {
                                    for (
                                       var j =
                                          0; j <
                                       $this
                                       .$data
                                       .refdatastore
                                       .length; j++
                                    ) {
                                       if ($this
                                          .$data
                                          .refdatastore[
                                             j
                                          ]
                                          .attr ==
                                          result[
                                             i
                                          ]
                                          .attr
                                       ) {
                                          $this
                                             .$data
                                             .refdatastore[
                                                j
                                             ]
                                             .value =
                                             result[
                                                i
                                             ]
                                             .value;
                                       }
                                    }
                                 }
                              }
                           } else if (data
                              .action[i]
                              .action_type ==
                              'set_global_attr'
                           ) {
                              $this.$data
                                 .global_attr =
                                 data
                                 .action[
                                    i]
                                 .value || [];
                           }
                        }
                     }
                     if (data.result) {
                        var result = data
                           .result;
                        for (var i = 0; i <
                           result
                           .length; i++) {
                           for (var c =
                                 0; c <
                              $this.$data
                              .classAttrList
                              .length; c++
                           ) {
                              var attr =
                                 $this
                                 .$data
                                 .classAttrList[
                                    c]
                                 .Attr;
                              for (var j =
                                    0; j <
                                 attr
                                 .length; j++
                              ) {
                                 if (attr[
                                       j
                                    ]
                                    .Name ==
                                    result[
                                       i
                                    ]
                                    .attr
                                 ) {
                                    attr[
                                          j]
                                       .Value =
                                       result[
                                          i
                                       ]
                                       .value;
                                 }
                              }
                           }
                           var length = 0;
                           if (!$this
                              .$data
                              .refdatastore
                              .filter(
                                 function(
                                    s
                                 ) {
                                    return result[
                                          i
                                       ]
                                       .attr ==
                                       s
                                       .attr
                                 })
                              .length) {
                              length = 1;
                              $this.$data
                                 .refdatastore
                                 .push(
                                    result[
                                       i
                                    ]
                                 );
                           }
                           if (length ==
                              0) {
                              for (var j =
                                    0; j <
                                 $this
                                 .$data
                                 .refdatastore
                                 .length; j++
                              ) {
                                 if ($this
                                    .$data
                                    .refdatastore[
                                       j
                                    ]
                                    .attr ==
                                    result[
                                       i
                                    ]
                                    .attr
                                 ) {
                                    $this
                                       .$data
                                       .refdatastore[
                                          j
                                       ]
                                       .value =
                                       result[
                                          i
                                       ]
                                       .value;
                                 }
                              }
                           }
                        }
                     }
                  }
                  return false
               } else {
                  uni.showModal({
                     title: this.translateSys('error') + " 3",
                     content: success
                        .err_msg,
                     showCancel: false,
                     confirmText: this.translateSys('cancel')
                  });
               }
            }).catch(ex => {
               // console.log(ex);
               uni.showModal({
                  title: this.translateSys('error') + " 3.1",
                  content: ex.errMsg,
                  showCancel: false,
                  confirmText: this.translateSys('cancel')
               });
            });
         },
         OKDataObjRunCustomEvent() {
            var enviroment = {
               'function': '3000', // 功能点编号
               cls_id: this.$data.param.Master_Cls
                  .ID, // 功能点主数据类标识
               'button': 'top', // top/bottom
               button_name: '新增',
               master: {
                  cls_id: this.$data.param
                     .Master_Cls
                     .ID, // button=bottom时 master的cls_id
               }
            };
            var eventid = this.$data.edit_ok_event
               .scrip_id;
            var req = [];
            var attrlist = this.$data.classAttrList;
            for (var i = 0; i < attrlist.length; i++) {
               var attr = attrlist[i].Attr;
               for (var j = 0; j < attr.length; j++) {
                  var ar = attr[j];
                  if (ar.Value == '请选择' || ar
                     .Value == '——请选择——') ar.Value =
                  var tip = data.info ?
                     typeof data.info ==
                     'string' ? data
                     .info : data.info
                     .join('<br/>') :
                     '';
                  req.push(this.formatAttr(ar));
               }
            }
            if (this.$data.refdatastore.length > 0) {
               for (var i = 0; i < this.$data
                  .refdatastore.length; i++) {
                  if (!req.filter(function(s) {
                        return this.$data
                           .refdatastore[i]
                           .attr == s.name
                     }).length) {
                     length = 1;
                     req.push({
                        'attr': this.$data
                           .refdatastore[
                              i].attr,
                        'value': this.$data
                           .refdatastore[
                              i].value
                     });
                  }
               }
            }
            var info = {
               eventid: eventid,
               edtype: "0",
               projectid: '',
               rclsid: '',
               robjid: '',
               userlogin: '',
               clsid: this.$data.param.Master_Cls
                  .ID,
               objid: "",
               attr: req,
            }
            //     var dataInfo = {
            //          edtype: info.edtype, eventid: info.eventid, projectid: info.projectid,rclsid: info.rclsid,
            // robjid: info.robjid, userlogin: info.userlogin, clsid: info.clsid, objid: info.objid,
            // attr: JSON.stringify(info.attr), extinfo: JSON.stringify(enviroment), global_attr: JSON.stringify(this.$data.global_attr)
            //      }
            enviroment = Base64.encode(JSON.stringify(
               enviroment)); //将字符串转换为base64编码
            var global_attr = Base64.encode(JSON
               .stringify(this.$data.global_attr)
            ); //将字符串转换为base64编码
            var obj_attr = {};
            info.attr.forEach(item => {
               obj_attr[item.attr] = item.val;
            });
            if (!eventid.includes('{')) eventid = '{' +
               eventid + '}';
            var dataInfo = {
               ed_type: info.edtype,
               start_transaction: '',
               class_id: info.clsid,
               class_name: '',
               event_id: eventid,
               event_name: '',
               data_obj_id: info.objid,
               obj_attr: obj_attr,
               prj_id: info.projectid,
               ref_cls_id: info.rclsid,
               rel_obj_id: info.robjid,
               user_login: info.userlogin,
               data_json: '',
               compose_info: '',
               ext_info: enviroment,
               global_attr: global_attr,
               input_param: '',
            };
            console.log(dataInfo);
            // return;
            this.$store.dispatch('runCustomEvent',
               dataInfo).then(success => {
               console.log(success);
               if (success.err_code == 0) {
                  var data = success.result;
                  if (data.ret != 0) {
                     var tip = data
                        .err_info ?
                        typeof data
                        .err_info ==
                        'string' ? data
                        .err_info : data
                        .err_info.join(
                           '<br/>') : '';
                     if (data.ret == 801)
                        uni.showModal({
                           title: this.translateSys('tip'),
                           content: tip,
                           showCancel: false,
                           confirmText: this.translateSys('cancel')
                        });
                     else uni.showModal({
                  if (tip) uni
                     .showModal({
                        title: this.translateSys('tip'),
                        content: tip +
                           ',提示:' +
                           data
                           .ret,
                        content: tip,
                        showCancel: false,
                        confirmText: this.translateSys('cancel')
                     });
                     return false
                  } else {
                     var tip = data.info ?
                        typeof data.info ==
                        'string' ? data
                        .info : data.info
                        .join('<br/>') :
                        '';
                     if (tip) uni
                        .showModal({
                           title: this.translateSys('tip'),
                           content: tip,
                           showCancel: false,
                           confirmText: this.translateSys('cancel')
                        });
                     var result = data
                        .result;
                     for (var i = 0; i <
                        result.length; i++
                     ) {
                        // self.class_attr_ele.find('.attr_field[data-field="' + result[i].attr + '"]').val(result[i].value).data('val', result[i].value);
                        var length = 0;
                        if (!this.$data
                           .refdatastore
                           .filter(
                              function(
                                 s) {
                                 return result[
                                       i
                                    ]
                                    .attr ==
                                    s
                                    .attr
                              }).length
                        ) {
                           length = 1;
                           this.$data
                              .refdatastore
                              .push(
                                 result[
                                    i]
                              );
                        }
                        if (length == 0) {
                           for (var j =
                                 0; j < this
                              .$data
                              .refdatastore
                              .length; j++
                           ) {
                              if (this
                                 .$data
                                 .refdatastore[
                                    j]
                                 .attr ==
                                 result[
                                    i]
                                 .attr
                              ) {
                                 this.$data
                                    .refdatastore[
                                       j
                                    ]
                                    .value =
                                    result[
                                       i
                                    ]
                                    .value;
                              }
                           }
                        }
                     }
                     this.add();
                  }
               } else {
                  uni.showModal({
                     title: this.translateSys('error') + " 4",
                     content: success
                        .err_msg,
                     showCancel: false,
                     confirmText: this.translateSys('cancel')
                  });
               }
            }).catch(ex => {
               // console.log(ex);
               uni.showModal({
                  title: this.translateSys('error') + " 4.1",
                  content: ex.errMsg,
                  showCancel: false,
                  confirmText: this.translateSys('cancel')
               });
            });
         },
         DataObjRunCustomEvent_Return(eventid,
            data_attr, button_callback, index, iindex
         ) {
            var enviroment = {
               'function': '3000', // 功能点编号
               cls_id: this.$data.param.Master_Cls
                  .ID, // 功能点主数据类标识
               'button': 'top', // top/bottom
               button_name: '新增',
               master: {
                  cls_id: this.$data.param
                     .Master_Cls
                     .ID, // button=bottom时 master的cls_id
                  //obj_id: ''  // button=bottom时 master的obj_id
               }
            };
            var req = [];
            var attrlist = this.$data.classAttrList;
            for (var i = 0; i < attrlist.length; i++) {
               var attr = attrlist[i].Attr;
               for (var j = 0; j < attr.length; j++) {
                  var ar = attr[j];
                  req.push(this.formatAttr(ar));
               }
            }
            if (this.$data.refdatastore.length > 0) {
               for (var i = 0; i < this.$data
                  .refdatastore.length; i++) {
                  if (!req.filter(function(s) {
                        return this.$data
                           .refdatastore[i]
                           .attr == s.name
                     }).length) {
                     length = 1;
                     req.push({
                        'attr': this.$data
                           .refdatastore[
                              i].attr,
                        'value': this.$data
                           .refdatastore[
                              i].value
                     });
                  }
               }
            }
            var extinfo = enviroment;
            extinfo.edit_dlg = {
               type: 'small', //小窗口
               class_id: this.$data.param
                  .Master_Cls.ID, //当前数据类id
            }
            if (data_attr) {
               extinfo.edit_dlg
                  .form_control = { //所属的表单控件
                     name: data_attr.Name, //字段属性
                     text: data_attr
                        .DispName, //显示文本
                     group_name: data_attr
                        .GroupName, //属性组
                     type: data_attr.Type, //字段类型
                     readonly: data_attr
                        .ReadOnly, //是否只读
                     button_img: data_attr
                        .button_img, //引用按钮的图标
                     button_tooltip: data_attr
                        .button_tooltip //引用按钮的tooltip
                  }
            }
            // var dataInfo = {
            //    edtype:  "0", eventid: eventid, projectid: '',rclsid: '', robjid: '', userlogin: '',
            //    clsid: this.$data.param.Master_Cls.ID, objid: '',attr: JSON.stringify(req),
            //    extinfo: JSON.stringify(extinfo), global_attr: JSON.stringify(this.$data.global_attr)
            // }
            extinfo = Base64.encode(JSON.stringify(
               extinfo)); //将字符串转换为base64编码
            var global_attr = Base64.encode(JSON
               .stringify(this.$data.global_attr)
            ); //将字符串转换为base64编码
            var obj_attr = {};
            req.forEach(item => {
               obj_attr[item.attr] = item.val;
            });
            if (!eventid.includes('{')) eventid = '{' +
               eventid + '}';
            var dataInfo = {
               ed_type: "0",
               start_transaction: '',
               class_id: this.$data.param.clsid,
               class_name: '',
               event_id: eventid,
               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: extinfo,
               global_attr: global_attr,
               input_param: '',
            };
            console.log(dataInfo);
            // return;
            this.$store.dispatch('runCustomEvent',
               dataInfo).then(success => {
               console.log(success);
               if (success.err_code == 0) {
                  var data = success.result;
                  if (data.ret != 0) {
                     var tip = data
                        .err_info ?
                        typeof data
                        .err_info ==
                        'string' ? data
                        .err_info : data
                        .err_info.join(
                           '<br/>') : '';
                     if (data.ret == 801)
                        uni.showModal({
                           title: this.translateSys('tip'),
                           content: tip,
                           showCancel: false,
                           confirmText: this.translateSys('cancel')
                        });
                     else uni.showModal({
                        title: this.translateSys('tip'),
                        content: tip +
                           ',提示:' +
                           data
                           .ret,
                        showCancel: false,
                        confirmText: this.translateSys('cancel')
                     });
                     return false
                  } else {
                     var tip = data.info ?
                        typeof data.info ==
                        'string' ? data
                        .info : data.info
                        .join('<br/>') :
                        '';
                     if (tip) uni
                        .showModal({
                           title: this.translateSys('tip'),
                           content: tip,
                           showCancel: false,
                           confirmText: this.translateSys('cancel')
                        });
                     if (data != "") {
                        var actions = data
                           .action;
                        console.log(
                           actions);
                        if (actions) {
                           for (var i =
                                 0; i <
                              actions
                              .length; i++
                           ) {
                              var action =
                                 actions[
                                    i];
                              var val =
                                 action
                                 .value;
                              var enviroment =
                                 JSON
                                 .stringify(
                                    enviroment
                                 );
                              if (action
                                 .action_type ==
                                 'open_panel'
                              ) {
                                 var d =
                                    dialog({
                                       title: '<i class="ace-icon fa fa-info-circle"></i> ' +
                                          this.translateSys('tip'),
                                       content: action
                                          .action_type +
                                          '此action尚未处理!'
                                    });
                                 d
                                    .show();
                              } else if (
                                 action
                                 .action_type ==
                                 'open_select_userdlg'
                              ) {
                                 var style =
                                    val
                                    .style;
                                 // style == 'user' ? '选择人员' : style == 'department' ? '选择部门' : style == 'role' ? '选择角色' : ''
                                 var $this =
                                    this;
                                 var param = {
                                    index: index,
                                    iindex: iindex,
                                    button_callback: button_callback,
                                    req: req,
                                    data_attr: data_attr
                                 }
                                 uni.navigateTo({
                                    url: '../selpsn/index?mulit=false&param=' +
                                       JSON
                                       .stringify(
                                          param
                                       ),
                                    events: {
                                       AddPer(
                                          data,
                                          param
                                       ) {
                                          // console.log(param);
                                          console
                                             .log(
                                                data
                                             );
                                          var callback_eventid =
                                             param
                                             .button_callback
                                             .trim();
                                          var info = {
                                             eventid: callback_eventid,
                                             edtype: "0",
                                             projectid: '',
                                             rclsid: '',
                                             robjid: '',
                                             userlogin: '',
                                             clsid: $this
                                                .$data
                                                .param
                                                .Master_Cls
                                                .ID,
                                             objid: "",
                                             attr: param
                                                .req,
                                             inputparameter: data
                                          }
                                          $this
                                             .DataObjRunCustomEvent(
                                                info,
                                                param
                                                .data_attr
                                             );
                                       }
                                    }
                                 });
                              } else if (
                                 action
                                 .action_type ==
                                 'open_data_query_dlg'
                              ) {
                              } else if (
                                 action
                                 .action_type ==
                                 'open_common_dlg'
                              ) {
                                 var value =
                                    action
                                    .value;
                                 var d =
                                    dialog({
                                       title: '<i class="ace-icon fa fa-info-circle"></i> ' +
                                          this.translateSys('tip'),
                                       content: action
                                          .action_type +
                                          '此action尚未处理!'
                                    });
                                 d
                                    .show();
                              } else if (
                                 action
                                 .action_type ==
                                 'open_project_query_dlg'
                              ) {
                                 //console.log(action.value.select_range);
                                 //console.log(action.value.mulit_select);
                                 var priRel =
                                    '-1';
                                 if (action
                                    .value
                                    .select_range ==
                                    '全部相关'
                                 )
                                    priRel =
                                    '0';
                                 else if (
                                    action
                                    .value
                                    .select_range ==
                                    '我负责的项目'
                                 )
                                    priRel =
                                    '1';
                                 else if (
                                    action
                                    .value
                                    .select_range ==
                                    '我创建的'
                                 )
                                    priRel =
                                    '2';
                                 else if (
                                    action
                                    .value
                                    .select_range ==
                                    '我参与的' ||
                                    action
                                    .value
                                    .select_range ==
                                    '我参加的'
                                 )
                                    priRel =
                                    '3';
                                 else if (
                                    action
                                    .value
                                    .select_range ==
                                    '我关注的'
                                 )
                                    priRel =
                                    '4';
                                 else if (
                                    action
                                    .value
                                    .select_range ==
                                    '我下属的项目'
                                 )
                                    priRel =
                                    '5';
                                 var $this =
                                    this;
                                 var param_ = {
                                    index: index,
                                    iindex: iindex,
                                    button_callback: button_callback,
                                    req: req
                                 }
                                 uni.navigateTo({
                                    url: '../selPrj/index?relation=' +
                                       priRel +
                                       '&param=' +
                                       JSON
                                       .stringify(
                                          param_
                                       ),
                                    events: {
                                       AddPer(
                                          data,
                                          param
                                       ) {
                                          $this
                                             .$data
                                             .classAttrList[
                                                param
                                                .index
                                             ]
                                             .Attr[
                                                param
                                                .iindex
                                             ]
                                             .Value =
                                             data[
                                                0
                                             ]
                                             .Name;
                                          $this
                                             .$data
                                             .classAttrList[
                                                param
                                                .index
                                             ]
                                             .Attr[
                                                param
                                                .iindex
                                             ]
                                             .ValID =
                                             data[
                                                0
                                             ]
                                             .ID +
                                             ';' +
                                             data[
                                                0
                                             ]
                                             .Name;
                                          var callback_eventid =
                                             param
                                             .button_callback
                                             .trim();
                                          if (
                                             callback_eventid) {
                                             var info = {
                                                eventid: callback_eventid,
                                                edtype: "2",
                                                projectid: data[
                                                      0
                                                   ]
                                                   .ID,
                                                rclsid: "",
                                                robjid: "",
                                                userlogin: "",
                                                clsid: $this
                                                   .$data
                                                   .param
                                                   .Master_Cls
                                                   .ID,
                                                objid: "",
                                                attr: param
                                                   .req,
                                             }
                                             $this
                                                .DataObjRunCustomEvent(
                                                   info
                                                );
                                          }
                                       }
                                    }
                                 });
                              } else {
                                 var d =
                                    dialog({
                                       title: '<i class="ace-icon fa fa-info-circle"></i> ' +
                                          this.translateSys('tip'),
                                       content: action
                                          .action_type +
                                          '此action尚未处理!'
                                    });
                                 d
                                    .show();
                              }
                           }
                        }
                     } else {
                        uni.showModal({
                           title: this.translateSys('tip') + "5.2",
                           content: '调用 before_click_button 脚本返回空,event_id' +
                              eventid,
                           showCancel: false,
                           confirmText: this.translateSys('cancel')
                        });
                     }
                  }
               } else {
                  uni.showModal({
                     title: this.translateSys('error') + " 5",
                     content: success
                        .err_msg,
                     showCancel: false,
                     confirmText: this.translateSys('cancel')
                  });
               }
            }).catch(ex => {
               // console.log(ex);
               uni.showModal({
                  title: this.translateSys('tip') + "5.1",
                  content: ex.errMsg,
                  showCancel: false,
                  confirmText: this.translateSys('cancel')
               });
            });
         },
         scan_ini_DataObjRunCustomEvent(info) {
            var obj_attr = {};
            info.attr.forEach(item => {
               obj_attr[item.attr] = item
                  .value;
            });
            var param = {
               EditStyle: this.$data.param.Sub_Cls
                  .View_Style.Name,
               ViewStyle: this.$data.param.Sub_Cls
                  .View_Style.Name,
               NotTriggerSysEvent: 0,
               enviroment: {
                  'function': '3000', // 功能点编号
                  cls_id: this.$data.param
                     .Sub_Cls.ID, // 功能点主数据类标识
                  'button': 'top', // top/bottom
                  button_name: '新增',
                  master: {
                     cls_id: this.$data.param
                        .Sub_Cls
                        .ID, // button=bottom时 master的cls_id
                     //obj_id: ''  // button=bottom时 master的obj_id
                     obj_attrs: obj_attr,
                  }
               }
            }
            var inputparameter = '';
            var global_attr = '';
            // var dataInfo = {
            //        edtype: info.edtype, eventid: info.eventid, projectid: info.projectid,
            //        rclsid: info.rclsid, robjid: info.robjid, userlogin: info.userlogin, clsid: info.clsid, objid: info.objid,
            //        attr: JSON.stringify(info.attr), extinfo: JSON.stringify(param), inputparameter: inputparameter, global_attr: global_attr
            //    }
            param = Base64.encode(JSON.stringify(
               param)); //将字符串转换为base64编码
            if (!info.eventid.includes('{')) info
               .eventid = '{' + info.eventid + '}';
            var dataInfo = {
               ed_type: info.edtype,
               start_transaction: '',
               class_id: info.clsid,
               class_name: '',
               event_id: info.eventid,
               event_name: '',
               data_obj_id: info.objid,
               obj_attr: obj_attr,
               prj_id: info.projectid,
               ref_cls_id: info.rclsid,
               rel_obj_id: info.robjid,
               user_login: info.userlogin,
               data_json: '',
               compose_info: '',
               ext_info: param,
               global_attr: '',
               input_param: '',
            };
            console.log(dataInfo);
            // return;
            this.$store.dispatch('runCustomEvent',
               dataInfo).then(success => {
               console.log(success);
               if (success.err_code == 0) {
                  var data = success.result;
                  if (data.ret != 0) {
                     var tip = data
                        .err_info ?
                        typeof data
                        .err_info ==
                        'string' ? data
                        .err_info : data
                        .err_info.join(
                           '<br/>') : '';
                     if (data.ret == 801)
                        uni.showModal({
                           title: this.translateSys('tip'),
                           content: tip,
                           showCancel: false,
                           confirmText: this.translateSys('cancel')
                        });
                     else uni.showModal({
                        title: this.translateSys('tip'),
                        content: tip +
                           ',提示:' +
                           data
                           .ret,
                        showCancel: false,
                        confirmText: this.translateSys('cancel')
                     });
                     return false
                  } else {
                     var tip = data.info ?
                        typeof data.info ==
                        'string' ? data
                        .info : data.info
                        .join('<br/>') :
                        '';
                     if (tip) uni
                        .showModal({
                           title: this.translateSys('tip'),
                           content: tip,
                           showCancel: false,
                           confirmText: this.translateSys('cancel')
                        });
                     var actionlist = data
                        .action;
                  if (data.action) {
                     var actionlist =
                        data.action;
                     if (actionlist) {
                        for (var j = 0; j <
                        for (var j =
                              0; j <
                           actionlist
                           .length; j++) {
                           .length; j++
                        ) {
                           var action =
                              actionlist[
                                 j]
@@ -4266,7 +2692,7 @@
                                          0; a <
                                       this
                                       .$data
                                       .subClassAttrList
                                       .classAttrList
                                       .length; a++
                                    ) {
                                       for (
@@ -4274,7 +2700,7 @@
                                             0; l <
                                          this
                                          .$data
                                          .subClassAttrList[
                                          .classAttrList[
                                             a
                                          ]
                                          .Attr
@@ -4283,7 +2709,7 @@
                                          var ca =
                                             this
                                             .$data
                                             .subClassAttrList[
                                             .classAttrList[
                                                a
                                             ]
                                             .Attr[
@@ -4399,7 +2825,7 @@
                              'open_select_userdlg'
                           ) {
                              uni.showModal({
                                 title: this.translateSys('error') + " 6.2",
                                 title: this.translateSys('error') + " 2.2",
                                 content: "open_select_userdlg这个action_type还未处理!",
                                 showCancel: false,
                                 confirmText: this.translateSys('cancel')
@@ -4408,15 +2834,1449 @@
                        }
                     }
                  }
               } else {
                  uni.showModal({
                     title: this.translateSys('error') + " 6",
                     content: success
                        .err_msg,
               }
            }).catch(ex => {
               // console.log(ex);
               uni.showModal({
                  title: this.translateSys('error') + " 2.1",
                  content: ex.errMsg,
                  showCancel: false,
                  confirmText: this.translateSys('cancel')
               });
            });
         },
         DataObjRunCustomEvent(info, data_attr) {
            var $this = this;
            var enviroment = {
               'function': '3000', // 功能点编号
               cls_id: this.$data.param.Master_Cls
                  .ID, // 功能点主数据类标识
               'button': 'top', // top/bottom
               button_name: '新增',
               master: {
                  cls_id: this.$data.param
                     .Master_Cls
                     .ID, // button=bottom时 master的cls_id
                  //obj_id: ''  // button=bottom时 master的obj_id
               }
            };
            enviroment.edit_dlg = {
               type: 'small', //小窗口
               class_id: this.$data.param
                  .Master_Cls.ID, //当前数据类id
            }
            if (data_attr) {
               enviroment.edit_dlg
                  .form_control = { //所属的表单控件
                     name: data_attr.Name, //字段属性
                     text: data_attr
                        .DispName, //显示文本
                     group_name: data_attr
                        .GroupName, //属性组
                     type: data_attr.Type, //字段类型
                     readonly: data_attr
                        .ReadOnly, //是否只读
                     button_img: data_attr
                        .button_img, //引用按钮的图标
                     button_tooltip: data_attr
                        .button_tooltip //引用按钮的tooltip
                  }
            }
            // var dataInfo = {
            //        edtype: info.edtype, eventid: info.eventid, projectid: info.projectid.replace('{','').replace('}',''),
            //        rclsid: info.rclsid, robjid: info.robjid, userlogin: info.userlogin, clsid: info.clsid, objid: info.objid,
            //        attr: JSON.stringify(info.attr), extinfo: JSON.stringify(enviroment), inputparameter: '', global_attr: JSON.stringify(this.$data.global_attr)
            //    }
            enviroment = Base64.encode(JSON.stringify(
               enviroment)); //将字符串转换为base64编码
            var global_attr = Base64.encode(JSON
               .stringify(this.$data.global_attr)
            ); //将字符串转换为base64编码
            if (info.dataJson)
               info.dataJson = Base64.encode(JSON
                  .stringify(info.dataJson)
               ); //将字符串转换为base64编码
            var obj_attr = {};
            info.attr.forEach(item => {
               obj_attr[item.attr] = item.val;
            });
            if (!info.eventid.includes('{')) info
               .eventid = '{' + info.eventid + '}';
            var dataInfo = {
               ed_type: info.edtype,
               start_transaction: '',
               class_id: info.clsid,
               class_name: '',
               event_id: info.eventid,
               event_name: '',
               data_obj_id: info.objid,
               obj_attr: obj_attr,
               prj_id: info.projectid,
               ref_cls_id: info.rclsid,
               rel_obj_id: info.robjid,
               user_login: info.userlogin,
               data_json: info.dataJson,
               compose_info: '',
               ext_info: enviroment,
               global_attr: global_attr,
               input_param: '',
            };
            console.log(dataInfo);
            // return;
            runCustomEvent(
               dataInfo).then(data => {
               console.log(data);
               if (data.ret != 0) {
                  var tip = data
                     .err_info ?
                     typeof data
                     .err_info ==
                     'string' ? data
                     .err_info : data
                     .err_info.join(
                        '<br/>') : '';
                  if (data.ret == 801)
                     uni.showModal({
                        title: this.translateSys('tip'),
                        content: tip,
                        showCancel: false,
                        confirmText: this.translateSys('cancel')
                     });
                  else uni.showModal({
                     title: this.translateSys('tip'),
                     content: tip +
                        ',提示:' +
                        data
                        .ret,
                     showCancel: false,
                     confirmText: this.translateSys('cancel')
                  });
                  return false
               } else {
                  var tip = data.info ?
                     typeof data.info ==
                     'string' ? data
                     .info : data.info
                     .join('<br/>') :
                     '';
                  if (tip) uni
                     .showModal({
                        title: this.translateSys('tip'),
                        content: tip,
                        showCancel: false,
                        confirmText: this.translateSys('cancel')
                     });
                  var actionlist = data
                     .action;
                  if (actionlist) {
                     console.log(
                        actionlist);
                     for (var i = 0; i <
                        actionlist
                        .length; i++) {
                        var action =
                           actionlist[
                              i];
                        if (action
                           .action_type ==
                           'set_dlg_attr'
                        ) {
                           var result =
                              action
                              .value;
                           for (var i =
                                 0; i <
                              result
                              .length; i++
                           ) {
                              if (result[
                                    i
                                 ]
                                 .choice_list
                              ) {
                                 for (
                                    var c =
                                       0; c <
                                    $this
                                    .$data
                                    .classAttrList
                                    .length; c++
                                 ) {
                                    var attr =
                                       $this
                                       .$data
                                       .classAttrList[
                                          c
                                       ]
                                       .Attr;
                                    for (
                                       var j =
                                          0; j <
                                       attr
                                       .length; j++
                                    ) {
                                       if (attr[
                                             j
                                          ]
                                          .Name ==
                                          result[
                                             i
                                          ]
                                          .attr
                                       ) {
                                          if (utils.classUtils.attrTypeIsDict(attr[j].Type)) {
                                             var
                                                dictItemList = [];
                                             for (
                                                var d in
                                                   result[
                                                      i
                                                   ]
                                                   .choice_list
                                             ) {
                                                var val =
                                                   result[
                                                      i
                                                   ]
                                                   .choice_list[
                                                      d
                                                   ];
                                                dictItemList
                                                   .push({
                                                      "CN_S_NAME": val,
                                                      "CN_S_VALUE": val,
                                                      "Name": val,
                                                      "label": val,
                                                      "value": val
                                                   });
                                             }
                                             attr[
                                                   j]
                                                .dictitem =
                                                dictItemList;
                                             // attr[j].dictitem = result[i].choice_list;
                                          }
                                       }
                                    }
                                 }
                              }
                              for (
                                 var c =
                                    0; c <
                                 $this
                                 .$data
                                 .classAttrList
                                 .length; c++
                              ) {
                                 var attr =
                                    $this
                                    .$data
                                    .classAttrList[
                                       c
                                    ]
                                    .Attr;
                                 for (
                                    var j =
                                       0; j <
                                    attr
                                    .length; j++
                                 ) {
                                    console
                                       .log(
                                          attr[
                                             j
                                          ]
                                          .Name +
                                          '==' +
                                          result[
                                             i
                                          ]
                                          .attr
                                       );
                                    if (attr[
                                          j
                                       ]
                                       .Name ==
                                       result[
                                          i
                                       ]
                                       .attr
                                    ) {
                                       attr[
                                             j]
                                          .Value =
                                          result[
                                             i
                                          ]
                                          .value;
                                    }
                                 }
                              }
                              var length =
                                 0;
                              if (!
                                 $this
                                 .$data
                                 .refdatastore
                                 .filter(
                                    function(
                                       s
                                    ) {
                                       return result[
                                             i
                                          ]
                                          .attr ==
                                          s
                                          .attr
                                    }
                                 )
                                 .length
                              ) {
                                 length
                                    =
                                    1;
                                 $this
                                    .$data
                                    .refdatastore
                                    .push(
                                       result[
                                          i
                                       ]
                                    );
                              }
                              if (length ==
                                 0
                              ) {
                                 for (
                                    var j =
                                       0; j <
                                    $this
                                    .$data
                                    .refdatastore
                                    .length; j++
                                 ) {
                                    if ($this
                                       .$data
                                       .refdatastore[
                                          j
                                       ]
                                       .attr ==
                                       result[
                                          i
                                       ]
                                       .attr
                                    ) {
                                       $this
                                          .$data
                                          .refdatastore[
                                             j
                                          ]
                                          .value =
                                          result[
                                             i
                                          ]
                                          .value;
                                    }
                                 }
                              }
                           }
                        } else if (data
                           .action[i]
                           .action_type ==
                           'set_global_attr'
                        ) {
                           $this.$data
                              .global_attr =
                              data
                              .action[
                                 i]
                              .value || [];
                        }
                     }
                  }
                  if (data.result) {
                     var result = data
                        .result;
                     for (var i = 0; i <
                        result
                        .length; i++) {
                        for (var c =
                              0; c <
                           $this.$data
                           .classAttrList
                           .length; c++
                        ) {
                           var attr =
                              $this
                              .$data
                              .classAttrList[
                                 c]
                              .Attr;
                           for (var j =
                                 0; j <
                              attr
                              .length; j++
                           ) {
                              if (attr[
                                    j
                                 ]
                                 .Name ==
                                 result[
                                    i
                                 ]
                                 .attr
                              ) {
                                 attr[
                                       j]
                                    .Value =
                                    result[
                                       i
                                    ]
                                    .value;
                              }
                           }
                        }
                        var length = 0;
                        if (!$this
                           .$data
                           .refdatastore
                           .filter(
                              function(
                                 s
                              ) {
                                 return result[
                                       i
                                    ]
                                    .attr ==
                                    s
                                    .attr
                              })
                           .length) {
                           length = 1;
                           $this.$data
                              .refdatastore
                              .push(
                                 result[
                                    i
                                 ]
                              );
                        }
                        if (length ==
                           0) {
                           for (var j =
                                 0; j <
                              $this
                              .$data
                              .refdatastore
                              .length; j++
                           ) {
                              if ($this
                                 .$data
                                 .refdatastore[
                                    j
                                 ]
                                 .attr ==
                                 result[
                                    i
                                 ]
                                 .attr
                              ) {
                                 $this
                                    .$data
                                    .refdatastore[
                                       j
                                    ]
                                    .value =
                                    result[
                                       i
                                    ]
                                    .value;
                              }
                           }
                        }
                     }
                  }
               }
            }).catch(ex => {
               // console.log(ex);
               uni.showModal({
                  title: this.translateSys('error') + " 3.1",
                  content: ex.errMsg,
                  showCancel: false,
                  confirmText: this.translateSys('cancel')
               });
            });
         },
         OKDataObjRunCustomEvent() {
            var enviroment = {
               'function': '3000', // 功能点编号
               cls_id: this.$data.param.Master_Cls
                  .ID, // 功能点主数据类标识
               'button': 'top', // top/bottom
               button_name: '新增',
               master: {
                  cls_id: this.$data.param
                     .Master_Cls
                     .ID, // button=bottom时 master的cls_id
               }
            };
            var eventid = this.$data.edit_ok_event
               .scrip_id;
            var req = [];
            var attrlist = this.$data.classAttrList;
            for (var i = 0; i < attrlist.length; i++) {
               var attr = attrlist[i].Attr;
               for (var j = 0; j < attr.length; j++) {
                  var ar = attr[j];
                  if (ar.Value == '请选择' || ar
                     .Value == '——请选择——') ar.Value =
                     '';
                  req.push(this.formatAttr(ar));
               }
            }
            if (this.$data.refdatastore.length > 0) {
               for (var i = 0; i < this.$data
                  .refdatastore.length; i++) {
                  if (!req.filter(function(s) {
                        return this.$data
                           .refdatastore[i]
                           .attr == s.name
                     }).length) {
                     length = 1;
                     req.push({
                        'attr': this.$data
                           .refdatastore[
                              i].attr,
                        'value': this.$data
                           .refdatastore[
                              i].value
                     });
                  }
               }
            }
            var info = {
               eventid: eventid,
               edtype: "0",
               projectid: '',
               rclsid: '',
               robjid: '',
               userlogin: '',
               clsid: this.$data.param.Master_Cls
                  .ID,
               objid: "",
               attr: req,
            }
            //     var dataInfo = {
            //          edtype: info.edtype, eventid: info.eventid, projectid: info.projectid,rclsid: info.rclsid,
            // robjid: info.robjid, userlogin: info.userlogin, clsid: info.clsid, objid: info.objid,
            // attr: JSON.stringify(info.attr), extinfo: JSON.stringify(enviroment), global_attr: JSON.stringify(this.$data.global_attr)
            //      }
            enviroment = Base64.encode(JSON.stringify(
               enviroment)); //将字符串转换为base64编码
            var global_attr = Base64.encode(JSON
               .stringify(this.$data.global_attr)
            ); //将字符串转换为base64编码
            var obj_attr = {};
            info.attr.forEach(item => {
               obj_attr[item.attr] = item.val;
            });
            if (!eventid.includes('{')) eventid = '{' +
               eventid + '}';
            var dataInfo = {
               ed_type: info.edtype,
               start_transaction: '',
               class_id: info.clsid,
               class_name: '',
               event_id: eventid,
               event_name: '',
               data_obj_id: info.objid,
               obj_attr: obj_attr,
               prj_id: info.projectid,
               ref_cls_id: info.rclsid,
               rel_obj_id: info.robjid,
               user_login: info.userlogin,
               data_json: '',
               compose_info: '',
               ext_info: enviroment,
               global_attr: global_attr,
               input_param: '',
            };
            console.log(dataInfo);
            // return;
            runCustomEvent(dataInfo).then(data => {
               console.log(data);
               if (data.ret != 0) {
                  var tip = data
                     .err_info ?
                     typeof data
                     .err_info ==
                     'string' ? data
                     .err_info : data
                     .err_info.join(
                        '<br/>') : '';
                  if (data.ret == 801)
                     uni.showModal({
                        title: this.translateSys('tip'),
                        content: tip,
                        showCancel: false,
                        confirmText: this.translateSys('cancel')
                     });
                  else uni.showModal({
                     title: this.translateSys('tip'),
                     content: tip +
                        ',提示:' +
                        data
                        .ret,
                     showCancel: false,
                     confirmText: this.translateSys('cancel')
                  });
                  return false
               } else {
                  var tip = data.info ?
                     typeof data.info ==
                     'string' ? data
                     .info : data.info
                     .join('<br/>') :
                     '';
                  if (tip) uni
                     .showModal({
                        title: this.translateSys('tip'),
                        content: tip,
                        showCancel: false,
                        confirmText: this.translateSys('cancel')
                     });
                  var result = data
                     .result;
                  for (var i = 0; i <
                     result.length; i++
                  ) {
                     // self.class_attr_ele.find('.attr_field[data-field="' + result[i].attr + '"]').val(result[i].value).data('val', result[i].value);
                     var length = 0;
                     if (!this.$data
                        .refdatastore
                        .filter(
                           function(
                              s) {
                              return result[
                                    i
                                 ]
                                 .attr ==
                                 s
                                 .attr
                           }).length
                     ) {
                        length = 1;
                        this.$data
                           .refdatastore
                           .push(
                              result[
                                 i]
                           );
                     }
                     if (length == 0) {
                        for (var j =
                              0; j < this
                           .$data
                           .refdatastore
                           .length; j++
                        ) {
                           if (this
                              .$data
                              .refdatastore[
                                 j]
                              .attr ==
                              result[
                                 i]
                              .attr
                           ) {
                              this.$data
                                 .refdatastore[
                                    j
                                 ]
                                 .value =
                                 result[
                                    i
                                 ]
                                 .value;
                           }
                        }
                     }
                  }
                  this.add();
               }
            }).catch(ex => {
               // console.log(ex);
               uni.showModal({
                  title: this.translateSys('error') + " 4.1",
                  content: ex.errMsg,
                  showCancel: false,
                  confirmText: this.translateSys('cancel')
               });
            });
         },
         DataObjRunCustomEvent_Return(eventid,
            data_attr, button_callback, index, iindex
         ) {
            var enviroment = {
               'function': '3000', // 功能点编号
               cls_id: this.$data.param.Master_Cls
                  .ID, // 功能点主数据类标识
               'button': 'top', // top/bottom
               button_name: '新增',
               master: {
                  cls_id: this.$data.param
                     .Master_Cls
                     .ID, // button=bottom时 master的cls_id
                  //obj_id: ''  // button=bottom时 master的obj_id
               }
            };
            var req = [];
            var attrlist = this.$data.classAttrList;
            for (var i = 0; i < attrlist.length; i++) {
               var attr = attrlist[i].Attr;
               for (var j = 0; j < attr.length; j++) {
                  var ar = attr[j];
                  req.push(this.formatAttr(ar));
               }
            }
            if (this.$data.refdatastore.length > 0) {
               for (var i = 0; i < this.$data
                  .refdatastore.length; i++) {
                  if (!req.filter(function(s) {
                        return this.$data
                           .refdatastore[i]
                           .attr == s.name
                     }).length) {
                     length = 1;
                     req.push({
                        'attr': this.$data
                           .refdatastore[
                              i].attr,
                        'value': this.$data
                           .refdatastore[
                              i].value
                     });
                  }
               }
            }
            var extinfo = enviroment;
            extinfo.edit_dlg = {
               type: 'small', //小窗口
               class_id: this.$data.param
                  .Master_Cls.ID, //当前数据类id
            }
            if (data_attr) {
               extinfo.edit_dlg
                  .form_control = { //所属的表单控件
                     name: data_attr.Name, //字段属性
                     text: data_attr
                        .DispName, //显示文本
                     group_name: data_attr
                        .GroupName, //属性组
                     type: data_attr.Type, //字段类型
                     readonly: data_attr
                        .ReadOnly, //是否只读
                     button_img: data_attr
                        .button_img, //引用按钮的图标
                     button_tooltip: data_attr
                        .button_tooltip //引用按钮的tooltip
                  }
            }
            // var dataInfo = {
            //    edtype:  "0", eventid: eventid, projectid: '',rclsid: '', robjid: '', userlogin: '',
            //    clsid: this.$data.param.Master_Cls.ID, objid: '',attr: JSON.stringify(req),
            //    extinfo: JSON.stringify(extinfo), global_attr: JSON.stringify(this.$data.global_attr)
            // }
            extinfo = Base64.encode(JSON.stringify(
               extinfo)); //将字符串转换为base64编码
            var global_attr = Base64.encode(JSON
               .stringify(this.$data.global_attr)
            ); //将字符串转换为base64编码
            var obj_attr = {};
            req.forEach(item => {
               obj_attr[item.attr] = item.val;
            });
            if (!eventid.includes('{')) eventid = '{' +
               eventid + '}';
            var dataInfo = {
               ed_type: "0",
               start_transaction: '',
               class_id: this.$data.param.clsid,
               class_name: '',
               event_id: eventid,
               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: extinfo,
               global_attr: global_attr,
               input_param: '',
            };
            console.log(dataInfo);
            // return;
            runCustomEvent(dataInfo).then(data => {
               console.log(data);
               if (data.ret != 0) {
                  var tip = data
                     .err_info ?
                     typeof data
                     .err_info ==
                     'string' ? data
                     .err_info : data
                     .err_info.join(
                        '<br/>') : '';
                  if (data.ret == 801)
                     uni.showModal({
                        title: this.translateSys('tip'),
                        content: tip,
                        showCancel: false,
                        confirmText: this.translateSys('cancel')
                     });
                  else uni.showModal({
                     title: this.translateSys('tip'),
                     content: tip +
                        ',提示:' +
                        data
                        .ret,
                     showCancel: false,
                     confirmText: this.translateSys('cancel')
                  });
                  return false
               } else {
                  var tip = data.info ?
                     typeof data.info ==
                     'string' ? data
                     .info : data.info
                     .join('<br/>') :
                     '';
                  if (tip) uni
                     .showModal({
                        title: this.translateSys('tip'),
                        content: tip,
                        showCancel: false,
                        confirmText: this.translateSys('cancel')
                     });
                  if (data != "") {
                     var actions = data
                        .action;
                     console.log(
                        actions);
                     if (actions) {
                        for (var i =
                              0; i <
                           actions
                           .length; i++
                        ) {
                           var action =
                              actions[
                                 i];
                           var val =
                              action
                              .value;
                           var enviroment =
                              JSON
                              .stringify(
                                 enviroment
                              );
                           if (action
                              .action_type ==
                              'open_panel'
                           ) {
                              var d =
                                 dialog({
                                    title: '<i class="ace-icon fa fa-info-circle"></i> ' +
                                       this.translateSys('tip'),
                                    content: action
                                       .action_type +
                                       '此action尚未处理!'
                                 });
                              d
                                 .show();
                           } else if (
                              action
                              .action_type ==
                              'open_select_userdlg'
                           ) {
                              var style =
                                 val
                                 .style;
                              // style == 'user' ? '选择人员' : style == 'department' ? '选择部门' : style == 'role' ? '选择角色' : ''
                              var $this =
                                 this;
                              var param = {
                                 index: index,
                                 iindex: iindex,
                                 button_callback: button_callback,
                                 req: req,
                                 data_attr: data_attr
                              }
                              uni.navigateTo({
                                 url: '../selpsn/index?mulit=false&param=' +
                                    JSON
                                    .stringify(
                                       param
                                    ),
                                 events: {
                                    AddPer(
                                       data,
                                       param
                                    ) {
                                       // console.log(param);
                                       console
                                          .log(
                                             data
                                          );
                                       var callback_eventid =
                                          param
                                          .button_callback
                                          .trim();
                                       var info = {
                                          eventid: callback_eventid,
                                          edtype: "0",
                                          projectid: '',
                                          rclsid: '',
                                          robjid: '',
                                          userlogin: '',
                                          clsid: $this
                                             .$data
                                             .param
                                             .Master_Cls
                                             .ID,
                                          objid: "",
                                          attr: param
                                             .req,
                                          inputparameter: data
                                       }
                                       $this
                                          .DataObjRunCustomEvent(
                                             info,
                                             param
                                             .data_attr
                                          );
                                    }
                                 }
                              });
                           } else if (
                              action
                              .action_type ==
                              'open_data_query_dlg'
                           ) {
                           } else if (
                              action
                              .action_type ==
                              'open_common_dlg'
                           ) {
                              var value =
                                 action
                                 .value;
                              var d =
                                 dialog({
                                    title: '<i class="ace-icon fa fa-info-circle"></i> ' +
                                       this.translateSys('tip'),
                                    content: action
                                       .action_type +
                                       '此action尚未处理!'
                                 });
                              d
                                 .show();
                           } else if (
                              action
                              .action_type ==
                              'open_project_query_dlg'
                           ) {
                              //console.log(action.value.select_range);
                              //console.log(action.value.mulit_select);
                              var priRel =
                                 '-1';
                              if (action
                                 .value
                                 .select_range ==
                                 '全部相关'
                              )
                                 priRel =
                                 '0';
                              else if (
                                 action
                                 .value
                                 .select_range ==
                                 '我负责的项目'
                              )
                                 priRel =
                                 '1';
                              else if (
                                 action
                                 .value
                                 .select_range ==
                                 '我创建的'
                              )
                                 priRel =
                                 '2';
                              else if (
                                 action
                                 .value
                                 .select_range ==
                                 '我参与的' ||
                                 action
                                 .value
                                 .select_range ==
                                 '我参加的'
                              )
                                 priRel =
                                 '3';
                              else if (
                                 action
                                 .value
                                 .select_range ==
                                 '我关注的'
                              )
                                 priRel =
                                 '4';
                              else if (
                                 action
                                 .value
                                 .select_range ==
                                 '我下属的项目'
                              )
                                 priRel =
                                 '5';
                              var $this =
                                 this;
                              var param_ = {
                                 index: index,
                                 iindex: iindex,
                                 button_callback: button_callback,
                                 req: req
                              }
                              uni.navigateTo({
                                 url: '../selPrj/index?relation=' +
                                    priRel +
                                    '&param=' +
                                    JSON
                                    .stringify(
                                       param_
                                    ),
                                 events: {
                                    AddPer(
                                       data,
                                       param
                                    ) {
                                       $this
                                          .$data
                                          .classAttrList[
                                             param
                                             .index
                                          ]
                                          .Attr[
                                             param
                                             .iindex
                                          ]
                                          .Value =
                                          data[
                                             0
                                          ]
                                          .Name;
                                       $this
                                          .$data
                                          .classAttrList[
                                             param
                                             .index
                                          ]
                                          .Attr[
                                             param
                                             .iindex
                                          ]
                                          .ValID =
                                          data[
                                             0
                                          ]
                                          .ID +
                                          ';' +
                                          data[
                                             0
                                          ]
                                          .Name;
                                       var callback_eventid =
                                          param
                                          .button_callback
                                          .trim();
                                       if (
                                          callback_eventid) {
                                          var info = {
                                             eventid: callback_eventid,
                                             edtype: "2",
                                             projectid: data[
                                                   0
                                                ]
                                                .ID,
                                             rclsid: "",
                                             robjid: "",
                                             userlogin: "",
                                             clsid: $this
                                                .$data
                                                .param
                                                .Master_Cls
                                                .ID,
                                             objid: "",
                                             attr: param
                                                .req,
                                          }
                                          $this
                                             .DataObjRunCustomEvent(
                                                info
                                             );
                                       }
                                    }
                                 }
                              });
                           } else {
                              var d =
                                 dialog({
                                    title: '<i class="ace-icon fa fa-info-circle"></i> ' +
                                       this.translateSys('tip'),
                                    content: action
                                       .action_type +
                                       '此action尚未处理!'
                                 });
                              d
                                 .show();
                           }
                        }
                     }
                  } else {
                     uni.showModal({
                        title: this.translateSys('tip') + "5.2",
                        content: '调用 before_click_button 脚本返回空,event_id' +
                           eventid,
                        showCancel: false,
                        confirmText: this.translateSys('cancel')
                     });
                  }
               }
            }).catch(ex => {
               // console.log(ex);
               uni.showModal({
                  title: this.translateSys('tip') + "5.1",
                  content: ex.errMsg,
                  showCancel: false,
                  confirmText: this.translateSys('cancel')
               });
            });
         },
         scan_ini_DataObjRunCustomEvent(info) {
            var obj_attr = {};
            info.attr.forEach(item => {
               obj_attr[item.attr] = item
                  .value;
            });
            var param = {
               EditStyle: this.$data.param.Sub_Cls
                  .View_Style.Name,
               ViewStyle: this.$data.param.Sub_Cls
                  .View_Style.Name,
               NotTriggerSysEvent: 0,
               enviroment: {
                  'function': '3000', // 功能点编号
                  cls_id: this.$data.param
                     .Sub_Cls.ID, // 功能点主数据类标识
                  'button': 'top', // top/bottom
                  button_name: '新增',
                  master: {
                     cls_id: this.$data.param
                        .Sub_Cls
                        .ID, // button=bottom时 master的cls_id
                     //obj_id: ''  // button=bottom时 master的obj_id
                     obj_attrs: obj_attr,
                  }
               }
            }
            var inputparameter = '';
            var global_attr = '';
            // var dataInfo = {
            //        edtype: info.edtype, eventid: info.eventid, projectid: info.projectid,
            //        rclsid: info.rclsid, robjid: info.robjid, userlogin: info.userlogin, clsid: info.clsid, objid: info.objid,
            //        attr: JSON.stringify(info.attr), extinfo: JSON.stringify(param), inputparameter: inputparameter, global_attr: global_attr
            //    }
            param = Base64.encode(JSON.stringify(
               param)); //将字符串转换为base64编码
            if (!info.eventid.includes('{')) info
               .eventid = '{' + info.eventid + '}';
            var dataInfo = {
               ed_type: info.edtype,
               start_transaction: '',
               class_id: info.clsid,
               class_name: '',
               event_id: info.eventid,
               event_name: '',
               data_obj_id: info.objid,
               obj_attr: obj_attr,
               prj_id: info.projectid,
               ref_cls_id: info.rclsid,
               rel_obj_id: info.robjid,
               user_login: info.userlogin,
               data_json: '',
               compose_info: '',
               ext_info: param,
               global_attr: '',
               input_param: '',
            };
            console.log(dataInfo);
            // return;
            runCustomEvent(dataInfo).then(data => {
               console.log(data);
               if (data.ret != 0) {
                  var tip = data
                     .err_info ?
                     typeof data
                     .err_info ==
                     'string' ? data
                     .err_info : data
                     .err_info.join(
                        '<br/>') : '';
                  if (data.ret == 801)
                     uni.showModal({
                        title: this.translateSys('tip'),
                        content: tip,
                        showCancel: false,
                        confirmText: this.translateSys('cancel')
                     });
                  else uni.showModal({
                     title: this.translateSys('tip'),
                     content: tip +
                        ',提示:' +
                        data
                        .ret,
                     showCancel: false,
                     confirmText: this.translateSys('cancel')
                  });
                  return false
               } else {
                  var tip = data.info ?
                     typeof data.info ==
                     'string' ? data
                     .info : data.info
                     .join('<br/>') :
                     '';
                  if (tip) uni
                     .showModal({
                        title: this.translateSys('tip'),
                        content: tip,
                        showCancel: false,
                        confirmText: this.translateSys('cancel')
                     });
                  var actionlist = data
                     .action;
                  if (actionlist) {
                     for (var j = 0; j <
                        actionlist
                        .length; j++) {
                        var action =
                           actionlist[
                              j]
                        var action_type =
                           action
                           .action_type;
                        var value =
                           action
                           .value;
                        if (action_type ==
                           'set_dlg_attr'
                        ) {
                           if (
                              value) {
                              var val =
                                 value;
                              if (typeof value ==
                                 'string'
                              ) {
                                 val =
                                    JSON
                                    .parse(
                                       value
                                    );
                              }
                              console
                                 .log(
                                    val
                                 );
                              for (
                                 var i =
                                    0; i <
                                 val
                                 .length; i++
                              ) {
                                 for (
                                    var a =
                                       0; a <
                                    this
                                    .$data
                                    .subClassAttrList
                                    .length; a++
                                 ) {
                                    for (
                                       var l =
                                          0; l <
                                       this
                                       .$data
                                       .subClassAttrList[
                                          a
                                       ]
                                       .Attr
                                       .length; l++
                                    ) {
                                       var ca =
                                          this
                                          .$data
                                          .subClassAttrList[
                                             a
                                          ]
                                          .Attr[
                                             l
                                          ];
                                       if (val[
                                             i]
                                          .attr ==
                                          ca
                                          .Name
                                       ) {
                                          if (utils.classUtils.attrTypeIsDict(ca.Type)) {
                                             var
                                                dictItemList = [];
                                             for (
                                                var d in
                                                   val[
                                                      i]
                                                   .choice_list
                                             ) {
                                                var val =
                                                   val[
                                                      i]
                                                   .choice_list[
                                                      d
                                                   ];
                                                dictItemList
                                                   .push({
                                                      "CN_S_NAME": val,
                                                      "CN_S_VALUE": val,
                                                      "Name": val,
                                                      "label": val,
                                                      "value": val
                                                   });
                                             }
                                             ca.dictitem =
                                                dictItemList;
                                             // attr[j].dictitem = val[i].choice_list;
                                          } else {
                                             // ca.value = val[i].value;
                                          }
                                       }
                                    }
                                 }
                                 var length =
                                    0;
                                 if (!
                                    this
                                    .$data
                                    .refdatastore
                                    .filter(
                                       function(
                                          s
                                       ) {
                                          return val[
                                                i
                                             ]
                                             .attr ==
                                             s
                                             .attr
                                       }
                                    )
                                    .length
                                 ) {
                                    length
                                       =
                                       1;
                                    this.$data
                                       .refdatastore
                                       .push(
                                          val[
                                             i]
                                       );
                                 }
                                 if (length ==
                                    0
                                 ) {
                                    for (
                                       var j =
                                          0; j <
                                       this
                                       .$data
                                       .refdatastore
                                       .length; j++
                                    ) {
                                       if (this
                                          .$data
                                          .refdatastore[
                                             j
                                          ]
                                          .attr ==
                                          val[
                                             i]
                                          .attr
                                       ) {
                                          this.$data
                                             .refdatastore[
                                                j
                                             ]
                                             .value =
                                             val[
                                                i]
                                             .value;
                                       }
                                    }
                                 }
                              }
                           }
                        }
                        if (action_type ==
                           'open_select_userdlg'
                        ) {
                           uni.showModal({
                              title: this.translateSys('error') + " 6.2",
                              content: "open_select_userdlg这个action_type还未处理!",
                              showCancel: false,
                              confirmText: this.translateSys('cancel')
                           });
                        }
                     }
                  }
               }
            }).catch(ex => {
               // console.log(ex);
               uni.showModal({
@@ -4497,164 +4357,79 @@
            };
            console.log(dataInfo);
            // return;
            this.$store.dispatch('runCustomEvent',
               dataInfo).then(success => {
               console.log(success);
               if (success.err_code == 0) {
                  var data = success.result;
                  if (data.ret != 0) {
                     var tip = data
                        .err_info ?
                        typeof data
                        .err_info ==
                        'string' ? data
                        .err_info : data
                        .err_info.join(
                           '<br/>') : '';
                     if (data.ret == 801)
                        uni.showModal({
                           title: this.translateSys('tip'),
                           content: tip,
                           showCancel: false,
                           confirmText: this.translateSys('cancel')
                        });
                     else uni.showModal({
            runCustomEvent(dataInfo).then(data => {
               console.log(data);
               if (data.ret != 0) {
                  var tip = data
                     .err_info ?
                     typeof data
                     .err_info ==
                     'string' ? data
                     .err_info : data
                     .err_info.join(
                        '<br/>') : '';
                  if (data.ret == 801)
                     uni.showModal({
                        title: this.translateSys('tip'),
                        content: tip +
                           ',提示:' +
                           data
                           .ret,
                        content: tip,
                        showCancel: false,
                        confirmText: this.translateSys('cancel')
                     });
                     return false
                  } else {
                     var tip = data.info ?
                        typeof data.info ==
                        'string' ? data
                        .info : data.info
                        .join('<br/>') :
                        '';
                     if (tip) uni
                        .showModal({
                           title: this.translateSys('tip'),
                           content: tip,
                           showCancel: false,
                           confirmText: this.translateSys('cancel')
                        });
                  else uni.showModal({
                     title: this.translateSys('tip'),
                     content: tip +
                        ',提示:' +
                        data
                        .ret,
                     showCancel: false,
                     confirmText: this.translateSys('cancel')
                  });
                  return false
               } else {
                  var tip = data.info ?
                     typeof data.info ==
                     'string' ? data
                     .info : data.info
                     .join('<br/>') :
                     '';
                  if (tip) uni
                     .showModal({
                        title: this.translateSys('tip'),
                        content: tip,
                        showCancel: false,
                        confirmText: this.translateSys('cancel')
                     });
                     var actionlist = data
                        .action;
                     if (actionlist) {
                        console.log(
                           actionlist);
                        for (var ii =
                              0; ii <
                           actionlist
                           .length; ii++
                  var actionlist = data
                     .action;
                  if (actionlist) {
                     console.log(
                        actionlist);
                     for (var ii =
                           0; ii <
                        actionlist
                        .length; ii++
                     ) {
                        var action =
                           actionlist[
                              ii];
                        if (action
                           .action_type ==
                           'set_dlg_attr'
                        ) {
                           var action =
                              actionlist[
                                 ii];
                           if (action
                              .action_type ==
                              'set_dlg_attr'
                           var result =
                              action
                              .value;
                           for (var i =
                                 0; i <
                              result
                              .length; i++
                           ) {
                              var result =
                                 action
                                 .value;
                              for (var i =
                                    0; i <
                                 result
                                 .length; i++
                              if (result[
                                    i
                                 ]
                                 .choice_list
                              ) {
                                 if (result[
                                       i
                                    ]
                                    .choice_list
                                 ) {
                                    for (
                                       var s =
                                          0; s <
                                       $this
                                       .$data
                                       .subPanelList
                                       .length; s++
                                    ) {
                                       for (
                                          var c =
                                             0; c <
                                          $this
                                          .$data
                                          .subPanelList[
                                             s
                                          ]
                                          .subClassAttrList
                                          .length; c++
                                       ) {
                                          var attr =
                                             $this
                                             .$data
                                             .subPanelList[
                                                s
                                             ]
                                             .subClassAttrList[
                                                c
                                             ]
                                             .Attr;
                                          for (
                                             var j =
                                                0; j <
                                             attr
                                             .length; j++
                                          ) {
                                             if (attr[
                                                   j
                                                ]
                                                .Name ==
                                                result[
                                                   i
                                                ]
                                                .attr
                                             ) {
                                                if (utils.classUtils.attrTypeIsDict(attr[j]
                                                      .Type)) {
                                                   var
                                                      dictItemList = [];
                                                   for (
                                                      var d in
                                                         result[
                                                            i
                                                         ]
                                                         .choice_list
                                                   ) {
                                                      var val =
                                                         result[
                                                            i
                                                         ]
                                                         .choice_list[
                                                            d
                                                         ];
                                                      dictItemList
                                                         .push({
                                                            "CN_S_NAME": val,
                                                            "CN_S_VALUE": val,
                                                            "Name": val,
                                                            "label": val,
                                                            "value": val
                                                         });
                                                   }
                                                   attr[
                                                         j]
                                                      .dictitem =
                                                      dictItemList;
                                                   // attr[j].dictitem = result[i].choice_list;
                                                }
                                             }
                                          }
                                       }
                                    }
                                 }
                                 for (
                                    var s =
                                       0; s <
@@ -4690,18 +4465,6 @@
                                          attr
                                          .length; j++
                                       ) {
                                          console
                                             .log(
                                                attr[
                                                   j
                                                ]
                                                .Name +
                                                '==' +
                                                result[
                                                   i
                                                ]
                                                .attr
                                             );
                                          if (attr[
                                                j
                                             ]
@@ -4711,466 +4474,70 @@
                                             ]
                                             .attr
                                          ) {
                                             attr[
                                                   j]
                                                .Value =
                                                result[
                                                   i
                                                ]
                                                .value;
                                             if (utils.classUtils.attrTypeIsDict(attr[j]
                                                   .Type)) {
                                                var
                                                   dictItemList = [];
                                                for (
                                                   var d in
                                                      result[
                                                         i
                                                      ]
                                                      .choice_list
                                                ) {
                                                   var val =
                                                      result[
                                                         i
                                                      ]
                                                      .choice_list[
                                                         d
                                                      ];
                                                   dictItemList
                                                      .push({
                                                         "CN_S_NAME": val,
                                                         "CN_S_VALUE": val,
                                                         "Name": val,
                                                         "label": val,
                                                         "value": val
                                                      });
                                                }
                                                attr[
                                                      j]
                                                   .dictitem =
                                                   dictItemList;
                                                // attr[j].dictitem = result[i].choice_list;
                                             }
                                          }
                                       }
                                    }
                                 }
                                 var length =
                                    0;
                                 if (!
                                    $this
                                    .$data
                                    .refdatastore
                                    .filter(
                                       function(
                                          s
                                       ) {
                                          return result[
                                                i
                                             ]
                                             .attr ==
                                             s
                                             .attr
                                       }
                                    )
                                    .length
                                 ) {
                                    length
                                       =
                                       1;
                                    $this
                                       .$data
                                       .refdatastore
                                       .push(
                                          result[
                                             i
                                          ]
                                       );
                                 }
                                 if (length ==
                                    0
                                 ) {
                                    for (
                                       var j =
                                          0; j <
                                       $this
                                       .$data
                                       .refdatastore
                                       .length; j++
                                    ) {
                                       if ($this
                                          .$data
                                          .refdatastore[
                                             j
                                          ]
                                          .attr ==
                                          result[
                                             i
                                          ]
                                          .attr
                                       ) {
                                          $this
                                             .$data
                                             .refdatastore[
                                                j
                                             ]
                                             .value =
                                             result[
                                                i
                                             ]
                                             .value;
                                       }
                                    }
                                 }
                              }
                           } else if (
                              action
                              .action_type ==
                              'set_global_attr'
                           ) {
                              $this
                                 .$actiontr =
                                 action
                                 .value || [];
                           } else if (
                              action
                              .action_type ==
                              'open_common_dlg'
                           ) { //打开侧滑弹框
                              var $this =
                                 this;
                              if (action
                                 .value
                                 .common_dlg_id ==
                                 'check_list'
                              ) {
                                 $this
                                    .$data
                                    .check_list =
                                    action
                                    .value
                                    .config;
                                 if (action
                                    .value
                                    .config
                                    .appear_style ==
                                    'sideslip'
                                 ) //判断是否是侧滑
                                    $this
                                    .$data
                                    .popupType =
                                    'right';
                                 else
                                    $this
                                    .$data
                                    .popupType =
                                    'center'
                                 // open 方法传入参数 等同在 uni-popup 组件上绑定 type属性
                                 $this
                                    .$refs
                                    .popup
                                    .open(
                                       $this
                                       .$data
                                       .popupType
                                    );
                              }
                           } else if (
                              action
                              .action_type ==
                              'add_subcls_panel'
                           ) { //主从数据类扫码查询数据
                              var result =
                                 action
                                 .value;
                              var $this =
                                 this;
                              var list_1 =
                                 JSON
                                 .parse(
                                    JSON
                                    .stringify(
                                       this
                                       .$data
                                       .subClassAttrList
                                    )
                                 );
                              var scanCodeVal =
                              for (
                                 var s =
                                    0; s <
                                 $this
                                 .$data
                                 .scanCodeVal;
                              var rand =
                                 '';
                              for (var i =
                                    0; i <
                                 5; i++
                              ) { //生成5位随机数
                                 rand +=
                                    Math
                                    .floor(
                                       Math
                                       .random() *
                                       10
                                    );
                              }
                              if (inputParamter[
                                    0]
                                 .attr
                              ) {
                                 if (inputParamter[
                                       0
                                    ]
                                    .attr ==
                                    "mast_input_3037"
                                 ) //判断是主数据类扫码查询数据
                                    scanCodeVal =
                                    "mast_input_3037-" +
                                    rand;
                              }
                              if (info
                                 .attr[
                                    0]
                                 .attr
                              ) {
                                 if (info
                                    .attr[
                                       0
                                    ]
                                    .attr ==
                                    "mast_input_3037"
                                 ) //判断是主数据类扫码查询数据
                                    scanCodeVal =
                                    "mast_input_3037-" +
                                    rand;
                              }
                              $this.$data
                                 .subPanelList
                                 .push({
                                    scanCodeVal: scanCodeVal,
                                    subClassAttr: list_1
                                 });
                              for (var i =
                                    0; i <
                                 result
                                 .length; i++
                                 .length; s++
                              ) {
                                 for (
                                    var s =
                                       0; s <
                                    var c =
                                       0; c <
                                    $this
                                    .$data
                                    .subPanelList
                                    .length; s++
                                    .subPanelList[
                                       s
                                    ]
                                    .subClassAttrList
                                    .length; c++
                                 ) {
                                    if ($this
                                    var attr =
                                       $this
                                       .$data
                                       .subPanelList[
                                          s
                                       ]
                                       .scanCodeVal ==
                                       scanCodeVal
                                    ) {
                                       if (result[
                                             i
                                          ]
                                          .attr ==
                                          "S_ID"
                                       )
                                          $this
                                          .$data
                                          .subPanelList[
                                             s
                                          ]
                                          .ObjID =
                                          result[
                                             i
                                          ]
                                          .value;
                                       var _subClassAttr =
                                          $this
                                          .$data
                                          .subPanelList[
                                             s
                                          ]
                                          .subClassAttr;
                                       for (
                                          var c =
                                             0; c <
                                          _subClassAttr
                                          .length; c++
                                       ) {
                                          var attr =
                                             _subClassAttr[
                                                c
                                             ]
                                             .Attr;
                                          for (
                                             var j =
                                                0; j <
                                             attr
                                             .length; j++
                                          ) {
                                             // console.log(attr[j].Name+'=='+result[i].attr);
                                             if (attr[
                                                   j
                                                ]
                                                .Name ==
                                                result[
                                                   i
                                                ]
                                                .attr
                                             ) {
                                                attr[
                                                      j]
                                                   .Value =
                                                   result[
                                                      i
                                                   ]
                                                   .value;
                                             }
                                          }
                                       }
                                       // $this.$data.subPanelList[s].subClassAttr=list_1;
                                    }
                                 }
                                 var length =
                                    0;
                                 if (!
                                    $this
                                    .$data
                                    .refdatastore
                                    .filter(
                                       function(
                                          s
                                       ) {
                                          return result[
                                                i
                                             ]
                                             .attr ==
                                             s
                                             .attr
                                       }
                                    )
                                    .length
                                 ) {
                                    length
                                       =
                                       1;
                                    $this
                                       .$data
                                       .refdatastore
                                       .push(
                                          result[
                                             i
                                          ]
                                       );
                                 }
                                 if (length ==
                                    0
                                 ) {
                                    for (
                                       var j =
                                          0; j <
                                       $this
                                       .$data
                                       .refdatastore
                                       .length; j++
                                    ) {
                                       if ($this
                                          .$data
                                          .refdatastore[
                                             j
                                          ]
                                          .attr ==
                                          result[
                                             i
                                          ]
                                          .attr
                                       ) {
                                          $this
                                             .$data
                                             .refdatastore[
                                                j
                                             ]
                                             .value =
                                             result[
                                                i
                                             ]
                                             .value;
                                       }
                                    }
                                 }
                              }
                           }
                        }
                     }
                     if (data.result) {
                        var list_1 = JSON
                           .parse(JSON
                              .stringify(
                                 this
                                 .$data
                                 .subClassAttrList
                              ));
                        var scanCodeVal =
                           $this.$data
                           .scanCodeVal;
                        var rand = '';
                        for (var i = 0; i <
                           5; i++
                        ) { //生成5位随机数
                           rand += Math
                              .floor(Math
                                 .random() *
                                 10);
                        }
                        if (inputParamter[
                              0].attr) {
                           if (inputParamter[
                                 0]
                              .attr ==
                              "mast_input_3037"
                           ) //判断是主数据类扫码查询数据
                              scanCodeVal =
                              "mast_input_3037-" +
                              rand;
                        }
                        if (info.attr[0]
                           .attr) {
                           if (info.attr[
                                 0]
                              .attr ==
                              "mast_input_3037"
                           ) //判断是主数据类扫码查询数据
                              scanCodeVal =
                              "mast_input_3037-" +
                              rand;
                        }
                        $this.$data
                           .subPanelList
                           .push({
                              scanCodeVal: scanCodeVal,
                              subClassAttr: list_1
                           });
                        var result = data
                           .result;
                        for (var i = 0; i <
                           result
                           .length; i++) {
                           for (var s =
                                 0; s <
                              $this.$data
                              .subPanelList
                              .length; s++
                           ) {
                              if ($this
                                 .$data
                                 .subPanelList[
                                    s]
                                 .scanCodeVal ==
                                 scanCodeVal
                              ) {
                                 if (result[
                                       i
                                    ]
                                    .attr ==
                                    "S_ID"
                                 )
                                    $this
                                    .$data
                                    .subPanelList[
                                       s
                                    ]
                                    .ObjID =
                                    result[
                                       i
                                    ]
                                    .value;
                                 var _subClassAttr =
                                    $this
                                    .$data
                                    .subPanelList[
                                       s
                                    ]
                                    .subClassAttr;
                                 for (
                                    var c =
                                       0; c <
                                    _subClassAttr
                                    .length; c++
                                 ) {
                                    var attr =
                                       _subClassAttr[
                                       .subClassAttrList[
                                          c
                                       ]
                                       .Attr;
@@ -5180,7 +4547,18 @@
                                       attr
                                       .length; j++
                                    ) {
                                       // console.log(attr[j].Name+'=='+result[i].attr);
                                       console
                                          .log(
                                             attr[
                                                j
                                             ]
                                             .Name +
                                             '==' +
                                             result[
                                                i
                                             ]
                                             .attr
                                          );
                                       if (attr[
                                             j
                                          ]
@@ -5201,78 +4579,549 @@
                                    }
                                 }
                              }
                           }
                           var length = 0;
                           if (!$this
                              .$data
                              .refdatastore
                              .filter(
                                 function(
                                    s
                                 ) {
                                    return result[
                                          i
                                       ]
                                       .attr ==
                                       s
                                       .attr
                                 })
                              .length) {
                              length = 1;
                              $this.$data
                                 .refdatastore
                                 .push(
                                    result[
                                       i
                                    ]
                                 );
                           }
                           if (length ==
                              0) {
                              for (var j =
                                    0; j <
                              var length =
                                 0;
                              if (!
                                 $this
                                 .$data
                                 .refdatastore
                                 .length; j++
                                 .filter(
                                    function(
                                       s
                                    ) {
                                       return result[
                                             i
                                          ]
                                          .attr ==
                                          s
                                          .attr
                                    }
                                 )
                                 .length
                              ) {
                                 if ($this
                                 length
                                    =
                                    1;
                                 $this
                                    .$data
                                    .refdatastore[
                                       j
                                    ]
                                    .attr ==
                                    result[
                                       i
                                    ]
                                    .attr
                                 ) {
                                    .refdatastore
                                    .push(
                                       result[
                                          i
                                       ]
                                    );
                              }
                              if (length ==
                                 0
                              ) {
                                 for (
                                    var j =
                                       0; j <
                                    $this
                                    .$data
                                    .refdatastore
                                    .length; j++
                                 ) {
                                    if ($this
                                       .$data
                                       .refdatastore[
                                          j
                                       ]
                                       .value =
                                       .attr ==
                                       result[
                                          i
                                       ]
                                       .attr
                                    ) {
                                       $this
                                          .$data
                                          .refdatastore[
                                             j
                                          ]
                                          .value =
                                          result[
                                             i
                                          ]
                                          .value;
                                    }
                                 }
                              }
                           }
                        } else if (
                           action
                           .action_type ==
                           'set_global_attr'
                        ) {
                           $this
                              .$actiontr =
                              action
                              .value || [];
                        } else if (
                           action
                           .action_type ==
                           'open_common_dlg'
                        ) { //打开侧滑弹框
                           var $this =
                              this;
                           if (action
                              .value
                              .common_dlg_id ==
                              'check_list'
                           ) {
                              $this
                                 .$data
                                 .check_list =
                                 action
                                 .value
                                 .config;
                              if (action
                                 .value
                                 .config
                                 .appear_style ==
                                 'sideslip'
                              ) //判断是否是侧滑
                                 $this
                                 .$data
                                 .popupType =
                                 'right';
                              else
                                 $this
                                 .$data
                                 .popupType =
                                 'center'
                              // open 方法传入参数 等同在 uni-popup 组件上绑定 type属性
                              $this
                                 .$refs
                                 .popup
                                 .open(
                                    $this
                                    .$data
                                    .popupType
                                 );
                           }
                        } else if (
                           action
                           .action_type ==
                           'add_subcls_panel'
                        ) { //主从数据类扫码查询数据
                           var result =
                              action
                              .value;
                           var $this =
                              this;
                           var list_1 =
                              JSON
                              .parse(
                                 JSON
                                 .stringify(
                                    this
                                    .$data
                                    .subClassAttrList
                                 )
                              );
                           var scanCodeVal =
                              $this
                              .$data
                              .scanCodeVal;
                           var rand =
                              '';
                           for (var i =
                                 0; i <
                              5; i++
                           ) { //生成5位随机数
                              rand +=
                                 Math
                                 .floor(
                                    Math
                                    .random() *
                                    10
                                 );
                           }
                           if (inputParamter[
                                 0]
                              .attr
                           ) {
                              if (inputParamter[
                                    0
                                 ]
                                 .attr ==
                                 "mast_input_3037"
                              ) //判断是主数据类扫码查询数据
                                 scanCodeVal =
                                 "mast_input_3037-" +
                                 rand;
                           }
                           if (info
                              .attr[
                                 0]
                              .attr
                           ) {
                              if (info
                                 .attr[
                                    0
                                 ]
                                 .attr ==
                                 "mast_input_3037"
                              ) //判断是主数据类扫码查询数据
                                 scanCodeVal =
                                 "mast_input_3037-" +
                                 rand;
                           }
                           $this.$data
                              .subPanelList
                              .push({
                                 scanCodeVal: scanCodeVal,
                                 subClassAttr: list_1
                              });
                           for (var i =
                                 0; i <
                              result
                              .length; i++
                           ) {
                              for (
                                 var s =
                                    0; s <
                                 $this
                                 .$data
                                 .subPanelList
                                 .length; s++
                              ) {
                                 if ($this
                                    .$data
                                    .subPanelList[
                                       s
                                    ]
                                    .scanCodeVal ==
                                    scanCodeVal
                                 ) {
                                    if (result[
                                          i
                                       ]
                                       .attr ==
                                       "S_ID"
                                    )
                                       $this
                                       .$data
                                       .subPanelList[
                                          s
                                       ]
                                       .ObjID =
                                       result[
                                          i
                                       ]
                                       .value;
                                    var _subClassAttr =
                                       $this
                                       .$data
                                       .subPanelList[
                                          s
                                       ]
                                       .subClassAttr;
                                    for (
                                       var c =
                                          0; c <
                                       _subClassAttr
                                       .length; c++
                                    ) {
                                       var attr =
                                          _subClassAttr[
                                             c
                                          ]
                                          .Attr;
                                       for (
                                          var j =
                                             0; j <
                                          attr
                                          .length; j++
                                       ) {
                                          // console.log(attr[j].Name+'=='+result[i].attr);
                                          if (attr[
                                                j
                                             ]
                                             .Name ==
                                             result[
                                                i
                                             ]
                                             .attr
                                          ) {
                                             attr[
                                                   j]
                                                .Value =
                                                result[
                                                   i
                                                ]
                                                .value;
                                          }
                                       }
                                    }
                                    // $this.$data.subPanelList[s].subClassAttr=list_1;
                                 }
                              }
                              var length =
                                 0;
                              if (!
                                 $this
                                 .$data
                                 .refdatastore
                                 .filter(
                                    function(
                                       s
                                    ) {
                                       return result[
                                             i
                                          ]
                                          .attr ==
                                          s
                                          .attr
                                    }
                                 )
                                 .length
                              ) {
                                 length
                                    =
                                    1;
                                 $this
                                    .$data
                                    .refdatastore
                                    .push(
                                       result[
                                          i
                                       ]
                                    );
                              }
                              if (length ==
                                 0
                              ) {
                                 for (
                                    var j =
                                       0; j <
                                    $this
                                    .$data
                                    .refdatastore
                                    .length; j++
                                 ) {
                                    if ($this
                                       .$data
                                       .refdatastore[
                                          j
                                       ]
                                       .attr ==
                                       result[
                                          i
                                       ]
                                       .attr
                                    ) {
                                       $this
                                          .$data
                                          .refdatastore[
                                             j
                                          ]
                                          .value =
                                          result[
                                             i
                                          ]
                                          .value;
                                    }
                                 }
                              }
                           }
                        }
                     }
                  }
               } else {
                  uni.showModal({
                     title: this.translateSys('error') + " 7",
                     content: success
                        .err_msg,
                     showCancel: false,
                     confirmText: this.translateSys('cancel')
                  });
                  if (data.result) {
                     var list_1 = JSON
                        .parse(JSON
                           .stringify(
                              this
                              .$data
                              .subClassAttrList
                           ));
                     var scanCodeVal =
                        $this.$data
                        .scanCodeVal;
                     var rand = '';
                     for (var i = 0; i <
                        5; i++
                     ) { //生成5位随机数
                        rand += Math
                           .floor(Math
                              .random() *
                              10);
                     }
                     if (inputParamter[
                           0].attr) {
                        if (inputParamter[
                              0]
                           .attr ==
                           "mast_input_3037"
                        ) //判断是主数据类扫码查询数据
                           scanCodeVal =
                           "mast_input_3037-" +
                           rand;
                     }
                     if (info.attr[0]
                        .attr) {
                        if (info.attr[
                              0]
                           .attr ==
                           "mast_input_3037"
                        ) //判断是主数据类扫码查询数据
                           scanCodeVal =
                           "mast_input_3037-" +
                           rand;
                     }
                     $this.$data
                        .subPanelList
                        .push({
                           scanCodeVal: scanCodeVal,
                           subClassAttr: list_1
                        });
                     var result = data
                        .result;
                     for (var i = 0; i <
                        result
                        .length; i++) {
                        for (var s =
                              0; s <
                           $this.$data
                           .subPanelList
                           .length; s++
                        ) {
                           if ($this
                              .$data
                              .subPanelList[
                                 s]
                              .scanCodeVal ==
                              scanCodeVal
                           ) {
                              if (result[
                                    i
                                 ]
                                 .attr ==
                                 "S_ID"
                              )
                                 $this
                                 .$data
                                 .subPanelList[
                                    s
                                 ]
                                 .ObjID =
                                 result[
                                    i
                                 ]
                                 .value;
                              var _subClassAttr =
                                 $this
                                 .$data
                                 .subPanelList[
                                    s
                                 ]
                                 .subClassAttr;
                              for (
                                 var c =
                                    0; c <
                                 _subClassAttr
                                 .length; c++
                              ) {
                                 var attr =
                                    _subClassAttr[
                                       c
                                    ]
                                    .Attr;
                                 for (
                                    var j =
                                       0; j <
                                    attr
                                    .length; j++
                                 ) {
                                    // console.log(attr[j].Name+'=='+result[i].attr);
                                    if (attr[
                                          j
                                       ]
                                       .Name ==
                                       result[
                                          i
                                       ]
                                       .attr
                                    ) {
                                       attr[
                                             j]
                                          .Value =
                                          result[
                                             i
                                          ]
                                          .value;
                                    }
                                 }
                              }
                           }
                        }
                        var length = 0;
                        if (!$this
                           .$data
                           .refdatastore
                           .filter(
                              function(
                                 s
                              ) {
                                 return result[
                                       i
                                    ]
                                    .attr ==
                                    s
                                    .attr
                              })
                           .length) {
                           length = 1;
                           $this.$data
                              .refdatastore
                              .push(
                                 result[
                                    i
                                 ]
                              );
                        }
                        if (length ==
                           0) {
                           for (var j =
                                 0; j <
                              $this
                              .$data
                              .refdatastore
                              .length; j++
                           ) {
                              if ($this
                                 .$data
                                 .refdatastore[
                                    j
                                 ]
                                 .attr ==
                                 result[
                                    i
                                 ]
                                 .attr
                              ) {
                                 $this
                                    .$data
                                    .refdatastore[
                                       j
                                    ]
                                    .value =
                                    result[
                                       i
                                    ]
                                    .value;
                              }
                           }
                        }
                     }
                  }
               }
            }).catch(ex => {
               // console.log(ex);
               uni.showModal({
@@ -5449,90 +5298,79 @@
            };
            console.log(dataInfo);
            // return;
            this.$store.dispatch('runCustomEvent',
               dataInfo).then(success => {
               console.log(success);
            runCustomEvent(dataInfo).then(data => {
               console.log(data);
               uni.hideLoading();
               if (success.err_code == 0) {
                  var data = success.result;
                  if (data.ret != 0) {
                     var tip = data
                        .err_info ?
                        typeof data
                        .err_info ==
                        'string' ? data
                        .err_info : data
                        .err_info.join(
                           '<br/>') : '';
                     if (data.ret == 801)
                        uni.showModal({
                           title: this.translateSys('tip'),
                           content: tip,
                           showCancel: false,
                           confirmText: this.translateSys('cancel')
                        });
                     else uni.showModal({
               if (data.ret != 0) {
                  var tip = data
                     .err_info ?
                     typeof data
                     .err_info ==
                     'string' ? data
                     .err_info : data
                     .err_info.join(
                        '<br/>') : '';
                  if (data.ret == 801)
                     uni.showModal({
                        title: this.translateSys('tip'),
                        content: tip +
                           ',提示:' +
                           data
                           .ret,
                        content: tip,
                        showCancel: false,
                        confirmText: this.translateSys('cancel')
                     });
                     return false
                  } else {
                     var tip = data.info ?
                        typeof data.info ==
                        'string' ? data
                        .info : data.info
                        .join('<br/>') :
                        '';
                     if (tip) uni
                        .showModal({
                           title: this.translateSys('tip'),
                           content: tip,
                           showCancel: false,
                           confirmText: this.translateSys('cancel')
                        });
                     var result = data
                        .result;
                     if (eventID != $this
                        .$data.param
                        .After_OK_Event.ID)
                        $this
                        .scan_OKDataObjRunCustomEvent(
                           $this.$data
                           .param
                           .After_OK_Event
                           .ID);
                     else {
                        //刷新
                        uni.redirectTo({
                           url: '../modal/3037?param=' +
                              JSON
                              .stringify(
                                 $this
                                 .$data
                                 .param
                              ) +
                              "&titlename=" +
                              $this
                              .$data
                              .title
                        });
                     }
                  }
               } else {
                  uni.showModal({
                     title: this.translateSys('error') + " 8",
                     content: success
                        .err_msg,
                  else uni.showModal({
                     title: this.translateSys('tip'),
                     content: tip +
                        ',提示:' +
                        data
                        .ret,
                     showCancel: false,
                     confirmText: this.translateSys('cancel')
                  });
                  return false
               } else {
                  var tip = data.info ?
                     typeof data.info ==
                     'string' ? data
                     .info : data.info
                     .join('<br/>') :
                     '';
                  if (tip) uni
                     .showModal({
                        title: this.translateSys('tip'),
                        content: tip,
                        showCancel: false,
                        confirmText: this.translateSys('cancel')
                     });
                  var result = data
                     .result;
                  if (eventID != $this
                     .$data.param
                     .After_OK_Event.ID)
                     $this
                     .scan_OKDataObjRunCustomEvent(
                        $this.$data
                        .param
                        .After_OK_Event
                        .ID);
                  else {
                     //刷新
                     uni.redirectTo({
                        url: '../modal/3037?param=' +
                           JSON
                           .stringify(
                              $this
                              .$data
                              .param
                           ) +
                           "&titlename=" +
                           $this
                           .$data
                           .title
                     });
                  }
               }
            }).catch(ex => {
               // console.log(ex);
               uni.hideLoading();