cuiqian2004
2024-10-29 57fea2193ac207e2ecc6327fa76ad1c21b7cda16
pages/modal/5602.vue
@@ -26,7 +26,7 @@
                  :placeholder="item.placeholder"
                  :style="{'width':item.setting.prefix && item.setting.suffix?'78%':item.setting.prefix || item.setting.suffix?'87%':'96%'}"
                  :focus="focusFieldId == item.fieldId" @focus="ontap(index,item)" @click="onClick(item)"
                  @keyup.enter="onEnterChange(item)" @blur="onEnterChange(item)" />
                  @keyup.enter="onEnterChange(item)" @blur="onEnterChange(item)"  :maxlength="-1"/>
               <text v-if="item.setting.suffix" class="uni-icon" :class="[item.setting.suffix]"
                  @click="onEnterChange(item)">&#xe568;</text>
            </view>
@@ -63,7 +63,7 @@
                                       <input class="uni-input" v-if="!item.disabled"
                                          :type="item.name=='InputNumber'?'number':'text'"
                                          v-model="item.value" :disabled="item.disabled"
                                          :placeholder="item.placeholder" />
                                          :placeholder="item.placeholder"  :maxlength="-1"/>
                                    </view>
                                    <!-- 栅格布局 -->
                                    <uni-row class="demo-uni-row" v-if="item.name=='Layout'">
@@ -77,7 +77,7 @@
                                             <input class="uni-input" v-if="!cols.disabled"
                                                :type="cols.name=='InputNumber'?'number':'text'"
                                                v-model="cols.value" :disabled="cols.disabled"
                                                :placeholder="cols.placeholder" />
                                                :placeholder="cols.placeholder"  :maxlength="-1"/>
                                          </view>
                                       </uni-col>
                                    </uni-row>
@@ -181,6 +181,17 @@
<script>
   import Base64 from '../../components/js-base64/base64.js'
   import {
      appGetInfo,
      dictGetInfo
   } from "@/api/mobox.js"
   import {
      getUIStyleInfo,
      runCustomEvent,
      dataObjCreate,
      dataObjDel
   } from "@/api/data.js"
   export default {
      modules: {
         Base64,
@@ -325,49 +336,40 @@
         },
         async Head_UIStyleGetInfo(class_id, style_id) { //获取自定义表单样式
            var $this = this;
            var dataInfo = {
               class_id: class_id,
               ui_style_id: style_id,
            };
            this.$store.dispatch('UIStyleGetInfo', dataInfo).then(ret => {
               // console.log(ret);
               if (ret.err_code == 0) {
                  var styledef = "";
                  if (ret.result.style_def) {
                     //mobox2的style_def是json字符串
                     styledef = ret.result.style_def.replace(/\\/g, "");
                     //mobox3的style_def是base64字符串
                     if (!ret.result.style_def.includes('"')) styledef = Base64.decode(ret.result
                        .style_def);
                  }
                  $this.$data.head_styledef = ret.result.style_def ? JSON.parse(styledef) : {};
                  // this.form = this.head_styledef.form.model;
                  // console.log($this.$data.head_styledef);
                  if ($this.head_styledef.form?.items) {
                     $this.head_styledef.form.items.forEach(async (ele, index) => {
                        if (ele.useDict == true) { //判断useDict是否使用字典
                           await this.DictGetInfo(ele.bind.dict, index, 'mast');
                        }
                        if ($this.focusFieldId == "") {
                           if (ele.name == 'Input' || ele.name == 'InputNumber') {
                              $this.setData({
                                 focusFieldId: ele.fieldId
                              })
                           }
                        }
                     });
                  }
               } else {
                  uni.showModal({
                     title: this.translateSys("error") + "1",
                     content: ret.err_msg,
                     showCancel: false,
                     confirmText: this.translateSys("cancel")
                  });
            try {
               var $this = this;
               var dataInfo = {
                  class_id: class_id,
                  ui_style_id: style_id,
               };
               const result = await getUIStyleInfo(dataInfo)
               var styledef = "";
               if (result.style_def) {
                  //mobox2的style_def是json字符串
                  styledef = result.style_def.replace(/\\/g, "");
                  //mobox3的style_def是base64字符串
                  if (!result.style_def.includes('"')) styledef = Base64.decode(result
                     .style_def);
               }
            }).catch(ex => {
               $this.$data.head_styledef = result.style_def ? JSON.parse(styledef) : {};
               // this.form = this.head_styledef.form.model;
               // console.log($this.$data.head_styledef);
               if ($this.head_styledef.form?.items) {
                  $this.head_styledef.form.items.forEach(async (ele, index) => {
                     if (ele.useDict == true) { //判断useDict是否使用字典
                        await this.DictGetInfo(ele.bind.dict, index, 'mast');
                     }
                     if ($this.focusFieldId == "") {
                        if (ele.name == 'Input' || ele.name == 'InputNumber') {
                           $this.setData({
                              focusFieldId: ele.fieldId
                           })
                        }
                     }
                  });
               }
            } catch (ex) {
               // console.log(ex);
               let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex
               uni.showModal({
@@ -376,49 +378,41 @@
                  showCancel: false,
                  confirmText: this.translateSys("cancel")
               });
            });
            }
         },
         async Detail1_UIstyleGetInfo(class_id, style_id) { //获取自定义表单样式
            var $this = this;
            var dataInfo = {
               class_id: class_id,
               ui_style_id: style_id,
            };
            this.$store.dispatch('UIStyleGetInfo', dataInfo).then(ret => {
               // console.log(ret);
               if (ret.err_code == 0) {
                  var styledef = "";
                  if (ret.result.style_def) {
                     //mobox2的style_def是json字符串
                     styledef = ret.result.style_def.replace(/\\/g, "");
                     //mobox3的style_def是base64字符串
                     if (!ret.result.style_def.includes('"')) styledef = Base64.decode(ret.result
                        .style_def);
                  }
                  $this.$data.detail1_styledef = ret.result.style_def ? JSON.parse(styledef) : {};
                  $this.$data.detail1_styledef.SelBut_Checked = true;
                  // console.log($this.$data.detail1_styledef);
                  // $this.$data.detail1StyleDefList.push($this.$data.detail1_styledef);
                  // var aa = JSON.stringify(this.detail1_styledef);
                  // $this.$data.detail1StyleDefList.push(JSON.parse(aa));
                  // console.log($this.$data.detail1StyleDefList);
                  if ($this.detail1_styledef.form?.items) {
                     $this.detail1_styledef.form.items.forEach(async (ele, index) => {
                        if (ele.useDict == true) { //判断useDict是否使用字典
                           await this.DictGetInfo(ele.bind.dict, index, 'sub');
                        }
                     });
                  }
               } else {
                  uni.showModal({
                     title: this.translateSys("error") + "2",
                     content: ret.err_msg,
                     showCancel: false,
                     confirmText: this.translateSys("cancel")
            try {
               var $this = this;
               var dataInfo = {
                  class_id: class_id,
                  ui_style_id: style_id,
               };
               const result = await getUIStyleInfo(dataInfo)
               var styledef = "";
               if (result.style_def) {
                  //mobox2的style_def是json字符串
                  styledef = result.style_def.replace(/\\/g, "");
                  //mobox3的style_def是base64字符串
                  if (!result.style_def.includes('"')) styledef = Base64.decode(result
                     .style_def);
               }
               $this.$data.detail1_styledef = result.style_def ? JSON.parse(styledef) : {};
               $this.$data.detail1_styledef.SelBut_Checked = true;
               // console.log($this.$data.detail1_styledef);
               // $this.$data.detail1StyleDefList.push($this.$data.detail1_styledef);
               // var aa = JSON.stringify(this.detail1_styledef);
               // $this.$data.detail1StyleDefList.push(JSON.parse(aa));
               // console.log($this.$data.detail1StyleDefList);
               if ($this.detail1_styledef.form?.items) {
                  $this.detail1_styledef.form.items.forEach(async (ele, index) => {
                     if (ele.useDict == true) { //判断useDict是否使用字典
                        await this.DictGetInfo(ele.bind.dict, index, 'sub');
                     }
                  });
               }
            }).catch(ex => {
            } catch (ex) {
               // console.log(ex);
               let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex
               uni.showModal({
@@ -427,39 +421,29 @@
                  showCancel: false,
                  confirmText: this.translateSys("cancel")
               });
            });
            }
         },
         async Detail2_UIstyleGetInfo(class_id, style_id) { //获取自定义表单样式
            var $this = this;
            var dataInfo = {
               class_id: class_id,
               ui_style_id: style_id,
            };
            this.$store.dispatch('UIStyleGetInfo', dataInfo).then(ret => {
               // console.log(ret);
               if (ret.err_code == 0) {
                  var styledef = "";
                  if (ret.result.style_def) {
                     //mobox2的style_def是json字符串
                     styledef = ret.result.style_def.replace(/\\/g, "");
                     //mobox3的style_def是base64字符串
                     if (!ret.result.style_def.includes('"')) styledef = Base64.decode(ret.result
                        .style_def);
                  }
                  $this.$data.detail2_styledef = ret.result.style_def ? JSON.parse(styledef) : {};
                  $this.$data.detail2_styledef.SelBut_Checked = true;
                  // console.log($this.$data.detail2_styledef);
               } else {
                  uni.showModal({
                     title: this.translateSys("error") + "3",
                     content: ret.err_msg,
                     showCancel: false,
                     confirmText: this.translateSys("cancel")
                  });
            try {
               var $this = this;
               var dataInfo = {
                  class_id: class_id,
                  ui_style_id: style_id,
               };
               const result = await getUIStyleInfo(dataInfo)
               var styledef = "";
               if (result.style_def) {
                  //mobox2的style_def是json字符串
                  styledef = result.style_def.replace(/\\/g, "");
                  //mobox3的style_def是base64字符串
                  if (!result.style_def.includes('"')) styledef = Base64.decode(result
                     .style_def);
               }
            }).catch(ex => {
               $this.$data.detail2_styledef = result.style_def ? JSON.parse(styledef) : {};
               $this.$data.detail2_styledef.SelBut_Checked = true;
            } catch (ex) {
               // console.log(ex);
               let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex
               uni.showModal({
@@ -468,7 +452,9 @@
                  showCancel: false,
                  confirmText: this.translateSys("cancel")
               });
            });
            }
         },
         async DictGetInfo(dict, index, type) { //Mobox3得到得到字典信息字典项列表
@@ -480,14 +466,14 @@
            };
            // console.log(dataInfo);
            try {
               const res = await this.getDictInfo(dataInfo)
               const result = await dictGetInfo(dataInfo)
               var list = [];
               var itemName = '';
               res.result.dict_item_list.forEach((item) => {
               (result.dict_item_list || []).forEach((item) => {
                  if (item.is_default == '1')
                     itemName = item.name;
                     itemName = item.name
                  list.push({
                     text: item.value,
                     text: item.value ? item.value : item.name,
                     value: item.name,
                  });
               });
@@ -516,9 +502,6 @@
                  // console.log($this.$data.detail1_styledef);
               }
               // $this.head_styledef.form.items[index].dictitem=success.result;
               // this.$store.commit("classAttrList", $this.$data.classAttrList);
            } catch (ex) {
               // console.log(ex);
               uni.showModal({
@@ -529,108 +512,6 @@
               });
            }
         },
         getDictInfo(info) { //Mobox3得到得到字典信息字典项列表
            const loginInfo = this.$store.getters.loginid
            const mobxoSApi = this.$store.getters.getMobxoSApi
            return new Promise((resolve, reject) => {
               uni.request({
                  url: mobxoSApi + 'api/dict/GetInfo2?sessionid=' + loginInfo.result.session_id,
                  data: info,
                  method: 'POST',
                  dataType: "json",
                  success: (_res) => {
                     // console.log(_res);
                     var ret = _res.data
                     if (typeof ret == 'string') {
                        try {
                           try {
                              try {
                                 ret = JSON.parse(ret.replace(/\\"/g, '"'));
                              } catch (ex) {
                                 ret = JSON.parse(ret.replace(/\\/g, '\\\\'))
                              }
                           } catch (ex) {
                              ret = JSON.parse(ret.replace(/\\"/g, "'").replace(/[\r\n]/g,
                                 '<br>').replace(/[\t]/g, '    '));
                           }
                        } catch (ex) {
                           console.log(ret)
                           return reject('将getDictInfo【json string】转换为【json object】失败')
                        }
                     }
                     if (ret.err_code == 0) {
                        resolve(ret);
                     } else {
                        reject({
                           "errMsg": ret.err_msg
                        });
                     }
                     if (ret.err_code == 0) {
                        resolve(ret);
                     } else {
                        reject({
                           "errMsg": ret.err_msg
                        });
                     }
                  },
                  fail: (err) => {
                     // console.log(err);
                     reject(err);
                  }
               })
            })
         },
         getUIStyleInfo(info) { //Mobox3数据类界面样式
            const loginInfo = this.$store.getters.loginid
            const dataSApi = this.$store.getters.getDataSApi
            return new Promise((resolve, reject) => {
               uni.request({
                  url: dataSApi + 'api/class/uistyle/GetInfo?sessionid=' + loginInfo.result
                     .session_id,
                  data: info,
                  method: 'POST',
                  dataType: "json",
                  success: (_res) => {
                     // console.log(_res);
                     var ret = _res.data
                     if (typeof ret == 'string') {
                        try {
                           try {
                              try {
                                 ret = JSON.parse(ret.replace(/\\"/g, '"'));
                              } catch (ex) {
                                 ret = JSON.parse(ret.replace(/\\/g, '\\\\'))
                              }
                           } catch (ex) {
                              ret = JSON.parse(ret.replace(/\\"/g, "'").replace(/[\r\n]/g,
                                 '<br>').replace(/[\t]/g, '    '));
                           }
                        } catch (ex) {
                           console.log(ret)
                           return reject('将getUIStyleInfo【json string】转换为【json object】失败')
                        }
                     }
                     if (ret.err_code == 0) {
                        resolve(ret);
                     } else {
                        reject({
                           "errMsg": ret.err_msg || ret.errMsg
                        });
                     }
                  },
                  fail: (err) => {
                     // console.log(err);
                     reject(err);
                  }
               })
            })
         },
         onClick(item) {
            this.focusFieldId = item.fieldId
         },
@@ -860,251 +741,242 @@
                     global_attr: '',
                     input_param: input_param,
                  };
                  this.$store.dispatch('runCustomEvent', dataInfo).then(ret => {
                     // console.log(ret);
                     if (ret.err_code == 0) {
                        var result = ret.result;
                        if (result.ret != 0) {
                           var tip = result.err_info ? typeof result.err_info == 'string' ? result
                              .err_info : result.err_info.join('<br/>') : '';
                           if (result.ret == 801) {
                              if (this.param.Only_Script_Error) {
                                 let pos = tip.indexOf(":");
                                 if (pos > -1) tip = tip.substring(pos + 1);
                              }
                              uni.showModal({
                                 title: this.translateSys("tip"),
                                 content: tip,
                                 showCancel: false,
                                 confirmText: this.translateSys("cancel")
                              });
                           } else uni.showModal({
                              title: this.translateSys("tip"),
                              content: tip + ',' + this.translateSys('tip') + ':' + result
                                 .ret,
                              showCancel: false,
                              confirmText: this.translateSys("cancel")
                           });
                           return false;
                        } else {
                           var tip = result.info ? typeof result.info == 'string' ? result.info :
                              result.info.join('<br/>') : '';
                           if (tip) uni.showModal({
                  runCustomEvent(dataInfo).then(result => {
                     // console.log(result);
                     if (result.ret != 0) {
                        var tip = result.err_info ? typeof result.err_info == 'string' ? result
                           .err_info : result.err_info.join('<br/>') : '';
                        if (result.ret == 801) {
                           if (this.param.Only_Script_Error) {
                              let pos = tip.indexOf(":");
                              if (pos > -1) tip = tip.substring(pos + 1);
                           }
                           uni.showModal({
                              title: this.translateSys("tip"),
                              content: tip,
                              showCancel: false,
                              confirmText: this.translateSys("cancel")
                           });
                           if (result.result_type == 0 && result.action) {
                              result.action.forEach(item => {
                                 if (item.action_type == "insert_subtable_page_row") { //分拣中
                                    $this.$data.param.Show_Welcom_Page = false;
                                    var value = item.value;
                                    $this.viewAceionRow(value);
                                 } else if (item.action_type ==
                                    "set_subtable_page_content") { //已分拣
                                    $this.$data.param.Show_Welcom_Page = false;
                                    var value = item.value;
                                    if (value.clear_confirm != false && value.clear ==
                                       true && $this.$data.detail1StyleDefList.length >
                                       0 && value.page_name == $this.$data.param.Sub_Page[
                                          0].Name) { //判断是否清空页签内容,正在分拣是否有数据
                                       uni.showModal({
                                          title: this.translateSys("tip"),
                                          content: this.translate(
                                                "are_you_sure_clear_first") +
                                             this.translateSys(
                                                "quotation_mark_left") + value
                                             .page_name + this.translateSys(
                                                "quotation_mark_right") +
                                             this.translate(
                                                "are_you_sure_clear_last"),
                                          success: function(res) {
                                             if (res.confirm) {
                                                $this.$data
                                                   .detail1StyleDefList = [];
                                                $this.viewAceionContent(
                                                   value);
                                             } else if (res.cancel) {
                                                $this.$data
                                                   .detail1StyleDefList = [];
                                                $this.viewAceionContent(
                                                   value);
                                             }
                                          }
                                       });
                                    } else {
                                       if (value.page_name == $this.$data.param.Sub_Page[
                                             0].Name) { //判断返回的action的page_name是否是待分拣
                                          $this.$data.detail1StyleDefList = [];
                                       } else {
                                          $this.$data.detail2StyleDefList = [];
                                       }
                                       $this.viewAceionContent(value);
                                    }
                                 } else if (item.action_type ==
                                    "select_subtable_page_row") {
                                    // value = {"page_name":"码盘中", "row":{"id":"xx"}}
                                    var value = item.value;
                                    $this.detail1StyleDefList.forEach((ele, index) => {
                                       $this.activelist[index].active = false;
                                       if (ele.form.objId == value.row.id) {
                                          ele.SelBut_Checked = true;
                                          $this.active_id = ele.form.htmlobjId;
                                          //自动滚动到指定元素
                                          uni.createSelectorQuery()
                                             .select("#tabpanel") //对应外层节点
                                             .boundingClientRect((
                                                container) => {
                                                uni.createSelectorQuery()
                                                   .select("#tabpanel" +
                                                      ele.form.htmlobjId
                                                   ) //目标节点
                                                   .boundingClientRect((
                                                      target) => {
                                                      uni.pageScrollTo({
                                                         scrollTop: target
                                                            .top -
                                                            container
                                                            .top, //滚动到实际距离是元素距离顶部的距离减去最外层盒子的滚动距离
                                                      });
                                                   })
                                                   .exec();
                                             })
                                             .exec();
                                       }
                                    });
                                 } else if (item.action_type ==
                                    "remove_subtable_page_row") { //清除面板中指定id的数据
                                    var value = item.value;
                                    if (value.page_name == $this.param.Sub_Page[0]
                                       .Name) { //判断返回的action的page_name是否是待分拣
                                       //清除面板中指定id的数据
                                       value.row.forEach(row => {
                                          $this.$data.detail1StyleDefList
                                             .forEach((ele, index) => {
                                                if (ele.form.objId == row
                                                   .id) {
                                                   $this.$data
                                                      .detail1StyleDefList
                                                      .splice(index, 1);
                                                }
                                             });
                                       });
                                    }
                                 } else if (item.action_type == "set_subtable_page_row") {
                                    $this.viewActionSetRow(item.value)
                                 } else if (item.action_type ==
                                    "set_subtable_page_ext_data") {
                                    var value = item.value;
                                    if (value.page_name == $this.$data.param.Sub_Page[0]
                                       .Name) { //判断返回的action的page_name是否是待分拣
                                       $this.setData({
                                          detail1ExtData: value.ext_data
                                       })
                                    } else if (value.page_name == $this.$data.param
                                       .Sub_Page[1].Name) {
                                       $this.setData({
                                          detail2ExtData: value.ext_data
                                       })
                                    }
                                 } else if (item.action_type == "clear_subpage_rows") {
                                    var value = item.value;
                                    if (value.page_name == $this.$data.param.Sub_Page[0]
                                       .Name) { //判断返回的action的page_name是否是待分拣
                                       $this.setData({
                                          detail1StyleDefList: [],
                                          detail1ExtData: {}
                                       })
                                    } else if (value.page_name == $this.$data.param
                                       .Sub_Page[1].Name) {
                                       $this.setData({
                                          detail2StyleDefList: [],
                                          detail2ExtData: {}
                                       })
                                    }
                                 } else if (item.action_type ==
                                    "set_dlg_current_edit_attr") {
                                    if ($this.focusOldFieldId == item.value)
                                       $this.setData({
                                          focusFieldId: ""
                                       })
                                    else {
                                       $this.setData({
                                          focusFieldId: $this.focusOldFieldId
                                       })
                                    }
                                    $this.$nextTick(() => {
                                       $this.setData({
                                          focusFieldId: item.value
                                       })
                                    });
                                 } else if (item.action_type == "set_dlg_attr") {
                                    // value = {"attr":"xxx", "value":"xxx"}
                                    var data = item.value;
                                    $this.$data.head_styledef.form.items.forEach(async (
                                       ele, index) => {
                                       data.forEach(async (ele2, index) => {
                                          if (ele.fieldId == ele2
                                             .attr) {
                                             if (ele.name ==
                                                'Select' &&
                                                ele2
                                                .choice_list) {
                                                const
                                                   dictItemList = [];
                                                const
                                                   choiceList =
                                                   ele2
                                                   .choice_list ||
                                                   [];
                                                for (let d in
                                                      choiceList) {
                                                   const val =
                                                      choiceList[
                                                         d];
                                                   dictItemList
                                                      .push({
                                                         text: val,
                                                         value: val
                                                      });
                                                }
                                                ele.dict =
                                                   dictItemList;
                                             }
                                             ele.value = ele2
                                                .value;
                                          }
                                       });
                                    });
                                 }
                              });
                           } else {
                              // this.detail2StyleDefList=[];
                              if (result.info) {
                                 uni.showModal({
                                    title: this.translateSys("error") + "4.3",
                                    content: result.info,
                                    showCancel: false,
                                    confirmText: this.translateSys("cancel")
                                 });
                              }
                           }
                        }
                     } else {
                        uni.showModal({
                           title: this.translateSys("error") + "4",
                           content: ret.err_msg,
                        } else uni.showModal({
                           title: this.translateSys("tip"),
                           content: tip + ',' + this.translateSys('tip') + ':' + result
                              .ret,
                           showCancel: false,
                           confirmText: this.translateSys("cancel")
                        });
                        return false;
                     } else {
                        var tip = result.info ? typeof result.info == 'string' ? result.info :
                           result.info.join('<br/>') : '';
                        if (tip) uni.showModal({
                           title: this.translateSys("tip"),
                           content: tip,
                           showCancel: false,
                           confirmText: this.translateSys("cancel")
                        });
                        if (result.result_type == 0 && result.action) {
                           result.action.forEach(item => {
                              if (item.action_type == "insert_subtable_page_row") { //分拣中
                                 $this.$data.param.Show_Welcom_Page = false;
                                 var value = item.value;
                                 $this.viewAceionRow(value);
                              } else if (item.action_type ==
                                 "set_subtable_page_content") { //已分拣
                                 $this.$data.param.Show_Welcom_Page = false;
                                 var value = item.value;
                                 if (value.clear_confirm != false && value.clear ==
                                    true && $this.$data.detail1StyleDefList.length >
                                    0 && value.page_name == $this.$data.param.Sub_Page[
                                       0].Name) { //判断是否清空页签内容,正在分拣是否有数据
                                    uni.showModal({
                                       title: this.translateSys("tip"),
                                       content: this.translate(
                                             "are_you_sure_clear_first") +
                                          this.translateSys(
                                             "quotation_mark_left") + value
                                          .page_name + this.translateSys(
                                             "quotation_mark_right") +
                                          this.translate(
                                             "are_you_sure_clear_last"),
                                       success: function(res) {
                                          if (res.confirm) {
                                             $this.$data
                                                .detail1StyleDefList = [];
                                             $this.viewAceionContent(
                                                value);
                                          } else if (res.cancel) {
                                             $this.$data
                                                .detail1StyleDefList = [];
                                             $this.viewAceionContent(
                                                value);
                                          }
                                       }
                                    });
                                 } else {
                                    if (value.page_name == $this.$data.param.Sub_Page[
                                          0].Name) { //判断返回的action的page_name是否是待分拣
                                       $this.$data.detail1StyleDefList = [];
                                    } else {
                                       $this.$data.detail2StyleDefList = [];
                                    }
                                    $this.viewAceionContent(value);
                                 }
                              } else if (item.action_type ==
                                 "select_subtable_page_row") {
                                 // value = {"page_name":"码盘中", "row":{"id":"xx"}}
                                 var value = item.value;
                                 $this.detail1StyleDefList.forEach((ele, index) => {
                                    $this.activelist[index].active = false;
                                    if (ele.form.objId == value.row.id) {
                                       ele.SelBut_Checked = true;
                                       $this.active_id = ele.form.htmlobjId;
                                       //自动滚动到指定元素
                                       uni.createSelectorQuery()
                                          .select("#tabpanel") //对应外层节点
                                          .boundingClientRect((
                                             container) => {
                                             uni.createSelectorQuery()
                                                .select("#tabpanel" +
                                                   ele.form.htmlobjId
                                                ) //目标节点
                                                .boundingClientRect((
                                                   target) => {
                                                   uni.pageScrollTo({
                                                      scrollTop: target
                                                         .top -
                                                         container
                                                         .top, //滚动到实际距离是元素距离顶部的距离减去最外层盒子的滚动距离
                                                   });
                                                })
                                                .exec();
                                          })
                                          .exec();
                                    }
                                 });
                              } else if (item.action_type ==
                                 "remove_subtable_page_row") { //清除面板中指定id的数据
                                 var value = item.value;
                                 if (value.page_name == $this.param.Sub_Page[0]
                                    .Name) { //判断返回的action的page_name是否是待分拣
                                    //清除面板中指定id的数据
                                    value.row.forEach(row => {
                                       $this.$data.detail1StyleDefList
                                          .forEach((ele, index) => {
                                             if (ele.form.objId == row
                                                .id) {
                                                $this.$data
                                                   .detail1StyleDefList
                                                   .splice(index, 1);
                                             }
                                          });
                                    });
                                 }
                              } else if (item.action_type == "set_subtable_page_row") {
                                 $this.viewActionSetRow(item.value)
                              } else if (item.action_type ==
                                 "set_subtable_page_ext_data") {
                                 var value = item.value;
                                 if (value.page_name == $this.$data.param.Sub_Page[0]
                                    .Name) { //判断返回的action的page_name是否是待分拣
                                    $this.setData({
                                       detail1ExtData: value.ext_data
                                    })
                                 } else if (value.page_name == $this.$data.param
                                    .Sub_Page[1].Name) {
                                    $this.setData({
                                       detail2ExtData: value.ext_data
                                    })
                                 }
                              } else if (item.action_type == "clear_subpage_rows") {
                                 var value = item.value;
                                 if (value.page_name == $this.$data.param.Sub_Page[0]
                                    .Name) { //判断返回的action的page_name是否是待分拣
                                    $this.setData({
                                       detail1StyleDefList: [],
                                       detail1ExtData: {}
                                    })
                                 } else if (value.page_name == $this.$data.param
                                    .Sub_Page[1].Name) {
                                    $this.setData({
                                       detail2StyleDefList: [],
                                       detail2ExtData: {}
                                    })
                                 }
                              } else if (item.action_type ==
                                 "set_dlg_current_edit_attr") {
                                 if ($this.focusOldFieldId == item.value)
                                    $this.setData({
                                       focusFieldId: ""
                                    })
                                 else {
                                    $this.setData({
                                       focusFieldId: $this.focusOldFieldId
                                    })
                                 }
                                 $this.$nextTick(() => {
                                    $this.setData({
                                       focusFieldId: item.value
                                    })
                                 });
                              } else if (item.action_type == "set_dlg_attr") {
                                 // value = {"attr":"xxx", "value":"xxx"}
                                 var data = item.value;
                                 $this.$data.head_styledef.form.items.forEach(async (
                                    ele, index) => {
                                    data.forEach(async (ele2, index) => {
                                       if (ele.fieldId == ele2
                                          .attr) {
                                          if (ele.name ==
                                             'Select' &&
                                             ele2
                                             .choice_list) {
                                             const
                                                dictItemList = [];
                                             const
                                                choiceList =
                                                ele2
                                                .choice_list ||
                                                [];
                                             for (let d in
                                                   choiceList) {
                                                const val =
                                                   choiceList[
                                                      d];
                                                dictItemList
                                                   .push({
                                                      text: val,
                                                      value: val
                                                   });
                                             }
                                             ele.dict =
                                                dictItemList;
                                          }
                                          ele.value = ele2
                                             .value;
                                       }
                                    });
                                 });
                              }
                           });
                        } else {
                           // this.detail2StyleDefList=[];
                           if (result.info) {
                              uni.showModal({
                                 title: this.translateSys("error") + "4.3",
                                 content: result.info,
                                 showCancel: false,
                                 confirmText: this.translateSys("cancel")
                              });
                           }
                        }
                     }
                  }).catch(ex => {
                     // console.log(ex);
                     let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex
@@ -1406,32 +1278,23 @@
                        obj_id: objID
                     };
                     // console.log(dataInfo);
                     $this.$store.dispatch('dataObjDel', dataInfo).then(ret => {
                     dataObjDel(dataInfo).then(ret => {
                        // console.log(ret);
                        if (ret.err_code == 0) {
                        const style = $this.detail2StyleDefList[index];
                        $this.detail2StyleDefList.splice(index, 1);
                        if ($this.Before_Del_Event?.ID)
                           //是否有删除前事件
                           $this.del2(style, $this.Before_Del_Event);
                        else if ($this.After_Del_Event?.ID)
                           //是否有删除后事件
                           $this.del2(style, $this.After_Del_Event);
                        uni.showModal({
                           title: this.translateSys("tip"),
                           content: "删除成功!",
                           showCancel: false,
                           confirmText: this.translateSys("cancel")
                        });
                           const style = $this.detail2StyleDefList[index];
                           $this.detail2StyleDefList.splice(index, 1);
                           if ($this.Before_Del_Event?.ID)
                              //是否有删除前事件
                              $this.del2(style, $this.Before_Del_Event);
                           else if ($this.After_Del_Event?.ID)
                              //是否有删除后事件
                              $this.del2(style, $this.After_Del_Event);
                           uni.showModal({
                              title: this.translateSys("tip"),
                              content: "删除成功!",
                              showCancel: false,
                              confirmText: this.translateSys("cancel")
                           });
                        } else {
                           uni.showModal({
                              title: this.translateSys("error") + "5",
                              content: ret.err_msg,
                              showCancel: false,
                              confirmText: this.translateSys("cancel")
                           });
                        }
                     }).catch(ex => {
                        // console.log(ex);
                        let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex
@@ -1886,229 +1749,258 @@
               input_param: input_param,
            };
            // console.log(dataInfo);
            this.$store.dispatch('runCustomEvent', dataInfo).then(res => {
               console.log(res);
               if (res.err_code == 0) {
                  var result = res.result;
                  if (result.ret != 0) {
                     var tip = result.err_info ? typeof result.err_info == 'string' ? result.err_info :
                        result.err_info.join('<br/>') : '';
                     if (result.ret == 801) {
                        if (this.param.Only_Script_Error) {
                           let pos = tip.indexOf(":");
                           if (pos > -1) tip = tip.substring(pos + 1);
                        }
                        uni.showModal({
                           title: this.translateSys("tip"),
                           content: tip,
                           showCancel: false,
                           confirmText: this.translateSys("cancel")
                        });
                     } else uni.showModal({
                        title: this.translateSys("tip"),
                        content: tip + ',' + this.translateSys('tip') + ':' + result.ret,
                        showCancel: false,
                        confirmText: this.translateSys("cancel")
                     });
                     return false;
                  } else {
                     var tip = result.info ? typeof result.info == 'string' ? result.info : result.info
                        .join('<br/>') : '';
                     if (tip) uni.showModal({
            runCustomEvent(dataInfo).then(result => {
               console.log(result);
               if (result.ret != 0) {
                  var tip = result.err_info ? typeof result.err_info == 'string' ? result.err_info :
                     result.err_info.join('<br/>') : '';
                  if (result.ret == 801) {
                     if (this.param.Only_Script_Error) {
                        let pos = tip.indexOf(":");
                        if (pos > -1) tip = tip.substring(pos + 1);
                     }
                     uni.showModal({
                        title: this.translateSys("tip"),
                        content: tip,
                        showCancel: false,
                        confirmText: this.translateSys("cancel")
                     });
                     if (result.result_type == 0) {
                        if (result.action) {
                           result.action.forEach(item => {
                              if (item.action_type == "insert_subtable_page_row") { //分拣中
                                 var value = item.value;
                                 //加载待分拣数据
                                 $this.viewAceionRow(value, '');
                                 // $this.viewAceionRow(value,'add');
                                 //清空条码内容
                                 $this.$data.head_styledef.form.items.forEach((item,
                                    index) => {
                                    if (item.fieldId != "S_CNTR_CODE") {
                                       item.value = '';
                                       item.oldvalue = '';
                                       $this.$data.head_styledef.form.model[item
                                          .fieldId] = '';
                                    }
                                 });
                                 //清除待分拣中成功的数据
                                 // $this.$data.detail1StyleDefList.forEach((style,index)=>{
                                 //   if(style.form.items[0].fieldId == json.attrs[0].attr && style.form.items[0].value == json.attrs[0].value){
                                 //    $this.$data.detail1StyleDefList.splice(index,1);
                                 //    return;
                                 //   }
                                 // });
                                 // this.detail2StyleDefList=[];
                                 uni.showModal({
                                    title: this.translateSys("tip"),
                                    content: this.translate(
                                       'execute_event_success'),
                                    showCancel: false,
                                    confirmText: this.translateSys("cancel")
                                 });
                              } else if (item.action_type ==
                                 "set_subtable_page_content") { //加载多条数据
                                 $this.param.Show_Welcom_Page = false;
                                 var value = item.value;
                                 if (value.clear_confirm != false && value.clear == true &&
                                    $this.detail1StyleDefList.length > 0
                                 ) { //判断是否清空页签内容,待分拣是否有数据
                                    uni.showModal({
                                       title: this.translateSys("tip"),
                                       content: this.translate(
                                             "are_you_sure_clear_first") +
                                          this.translateSys(
                                             "quotation_mark_left") + value
                                          .page_name + this.translateSys(
                                             "quotation_mark_right") +
                                          this.translate(
                                             "are_you_sure_clear_last"),
                                       success: function(res) {
                                          if (res.confirm) {
                                             $this.setData({
                                                detail1StyleDefList: [],
                                                detail2StyleDefList: []
                                             })
                                             $this.viewAceionContent(value);
                                          } else if (res.cancel) {
                                             $this.viewAceionContent(value);
                                          }
                                       }
                                    });
                                 } else {
                                    $this.viewAceionContent(value);
                                 }
                              } else if (item.action_type ==
                                 "remove_subtable_page_row") { //清除面板中指定id的数据
                                 var value = item.value;
                                 if (value.page_name == $this.param.Sub_Page[0]
                                    .Name) { //判断返回的action的page_name是否是待分拣
                                    //清除面板中指定id的数据
                                    value.row.forEach(row => {
                                       $this.$data.detail1StyleDefList.forEach((
                                          ele, index) => {
                                          if (ele.form.objId == row.id) {
                                             $this.$data
                                                .detail1StyleDefList
                                                .splice(index, 1);
                                          }
                                       });
                                    });
                                 }
                              } else if (item.action_type == "set_subtable_page_row") {
                                 $this.viewActionSetRow(item.value)
                              } else if (item.action_type == "set_subtable_page_ext_data") {
                                 var value = item.value;
                                 if (value.page_name == $this.$data.param.Sub_Page[0]
                                    .Name) { //判断返回的action的page_name是否是待分拣
                                    $this.setData({
                                       detail1ExtData: value.ext_data
                                    })
                                 } else if (value.page_name == $this.$data.param.Sub_Page[1]
                                    .Name) {
                                    $this.setData({
                                       detail2ExtData: value.ext_data
                                    })
                                 }
                              } else if (item.action_type == "clear_subpage_rows") {
                                 var value = item.value;
                                 if (value.page_name == $this.$data.param.Sub_Page[0]
                                    .Name) { //判断返回的action的page_name是否是待分拣
                                    $this.setData({
                                       detail1StyleDefList: [],
                                       detail1ExtData: {}
                                    })
                                 } else if (value.page_name == $this.$data.param.Sub_Page[1]
                                    .Name) {
                                    $this.setData({
                                       detail2StyleDefList: [],
                                       detail2ExtData: {}
                                    })
                                 }
                              } else if (item.action_type == "set_dlg_current_edit_attr") {
                                 if ($this.focusOldFieldId == item.value)
                                    $this.setData({
                                       focusFieldId: ""
                                    })
                                 else {
                                    $this.setData({
                                       focusFieldId: $this.focusOldFieldId
                                    })
                                 }
                                 $this.$nextTick(() => {
                                    $this.setData({
                                       focusFieldId: item.value
                                    })
                                 });
                              } else if (item.action_type == "refresh") { //刷新
                                 var value = item.value;
                                 //清除待分拣成功的数据
                                 // value.forEach((val_id,key)=>{
                                 //   this.detail1StyleDefList.forEach((style,index)=>{
                                 //     if(style.form.objId == val_id){
                                 //       this.detail1StyleDefList.splice(index,1);
                                 //       return;
                                 //     }
                                 //   });
                                 // });
                                 //刷新当前页面
                                 uni.redirectTo({
                                    url: '../modal/5602?param=' + JSON.stringify(
                                          this.$data.param) + "&titlename=" +
                                       this.$data.title
                                 });
                              } else if (item.action_type == "prompt") { //打开系统提示弹框
                                 var value = '';
                                 item.value.forEach(ele => {
                                    if (value) value += '\n';
                                    value += ele;
                                 });
                                 uni.showModal({
                                    title: this.translateSys("tip"),
                                    content: value,
                                    showCancel: false,
                                    confirmText: this.translateSys("close")
                                 });
                              }
                           });
                        } else {
                           if ($this.$data.After_OK_Event.ID != event.ID) { //判断当前事件是否是确定后事件
                              if (type == '1') {
                                 $this.sava($this.$data.After_OK_Event); //执行确定后事件
                              } else {
                                 $this.sava2($this.$data.After_OK_Event); //执行确定后事件
                              }
                           }
                        }
                     } else {
                        // $this.$data.detail2StyleDefList=[];
                        if (result.info) {
                           uni.showModal({
                              title: this.translateSys("tip"),
                              content: result.info,
                              showCancel: false,
                              confirmText: this.translateSys("cancel")
                           });
                        }
                     }
                  }
               } else {
                  uni.showModal({
                     title: this.translateSys("error") + "8",
                     content: res.err_msg,
                  } else uni.showModal({
                     title: this.translateSys("tip"),
                     content: tip + ',' + this.translateSys('tip') + ':' + result.ret,
                     showCancel: false,
                     confirmText: this.translateSys("cancel")
                  });
                  return false;
               } else {
                  var tip = result.info ? typeof result.info == 'string' ? result.info : result.info
                     .join('<br/>') : '';
                  if (tip) uni.showModal({
                     title: this.translateSys("tip"),
                     content: tip,
                     showCancel: false,
                     confirmText: this.translateSys("cancel")
                  });
                  if (result.result_type == 0) {
                     if (result.action) {
                        result.action.forEach(item => {
                           if (item.action_type == "insert_subtable_page_row") { //分拣中
                              var value = item.value;
                              //加载待分拣数据
                              $this.viewAceionRow(value, '');
                              // $this.viewAceionRow(value,'add');
                              //清空条码内容
                              $this.$data.head_styledef.form.items.forEach((item,
                                 index) => {
                                 if (item.fieldId != "S_CNTR_CODE") {
                                    item.value = '';
                                    item.oldvalue = '';
                                    $this.$data.head_styledef.form.model[item
                                       .fieldId] = '';
                                 }
                              });
                              //清除待分拣中成功的数据
                              // $this.$data.detail1StyleDefList.forEach((style,index)=>{
                              //   if(style.form.items[0].fieldId == json.attrs[0].attr && style.form.items[0].value == json.attrs[0].value){
                              //    $this.$data.detail1StyleDefList.splice(index,1);
                              //    return;
                              //   }
                              // });
                              // this.detail2StyleDefList=[];
                              uni.showModal({
                                 title: this.translateSys("tip"),
                                 content: this.translate(
                                    'execute_event_success'),
                                 showCancel: false,
                                 confirmText: this.translateSys("cancel")
                              });
                           } else if (item.action_type ==
                              "set_subtable_page_content") { //加载多条数据
                              $this.param.Show_Welcom_Page = false;
                              var value = item.value;
                              if (value.clear_confirm != false && value.clear == true &&
                                 $this.detail1StyleDefList.length > 0
                              ) { //判断是否清空页签内容,待分拣是否有数据
                                 uni.showModal({
                                    title: this.translateSys("tip"),
                                    content: this.translate(
                                          "are_you_sure_clear_first") +
                                       this.translateSys(
                                          "quotation_mark_left") + value
                                       .page_name + this.translateSys(
                                          "quotation_mark_right") +
                                       this.translate(
                                          "are_you_sure_clear_last"),
                                    success: function(res) {
                                       if (res.confirm) {
                                          $this.setData({
                                             detail1StyleDefList: [],
                                             detail2StyleDefList: []
                                          })
                                          $this.viewAceionContent(value);
                                       } else if (res.cancel) {
                                          $this.viewAceionContent(value);
                                       }
                                    }
                                 });
                              } else {
                                 $this.viewAceionContent(value);
                              }
                           } else if (item.action_type ==
                              "remove_subtable_page_row") { //清除面板中指定id的数据
                              var value = item.value;
                              if (value.page_name == $this.param.Sub_Page[0]
                                 .Name) { //判断返回的action的page_name是否是待分拣
                                 //清除面板中指定id的数据
                                 value.row.forEach(row => {
                                    $this.$data.detail1StyleDefList.forEach((
                                       ele, index) => {
                                       if (ele.form.objId == row.id) {
                                          $this.$data
                                             .detail1StyleDefList
                                             .splice(index, 1);
                                       }
                                    });
                                 });
                              }
                           } else if (item.action_type == "set_subtable_page_row") {
                              $this.viewActionSetRow(item.value)
                           } else if (item.action_type == "set_subtable_page_ext_data") {
                              var value = item.value;
                              if (value.page_name == $this.$data.param.Sub_Page[0]
                                 .Name) { //判断返回的action的page_name是否是待分拣
                                 $this.setData({
                                    detail1ExtData: value.ext_data
                                 })
                              } else if (value.page_name == $this.$data.param.Sub_Page[1]
                                 .Name) {
                                 $this.setData({
                                    detail2ExtData: value.ext_data
                                 })
                              }
                           } else if (item.action_type == "clear_subpage_rows") {
                              var value = item.value;
                              if (value.page_name == $this.$data.param.Sub_Page[0]
                                 .Name) { //判断返回的action的page_name是否是待分拣
                                 $this.setData({
                                    detail1StyleDefList: [],
                                    detail1ExtData: {}
                                 })
                              } else if (value.page_name == $this.$data.param.Sub_Page[1]
                                 .Name) {
                                 $this.setData({
                                    detail2StyleDefList: [],
                                    detail2ExtData: {}
                                 })
                              }
                           } else if (item.action_type == "set_dlg_current_edit_attr") {
                              if ($this.focusOldFieldId == item.value)
                                 $this.setData({
                                    focusFieldId: ""
                                 })
                              else {
                                 $this.setData({
                                    focusFieldId: $this.focusOldFieldId
                                 })
                              }
                              $this.$nextTick(() => {
                                 $this.setData({
                                    focusFieldId: item.value
                                 })
                              });
                           } else if (item.action_type == "set_dlg_attr") {
                              // value = {"attr":"xxx", "value":"xxx"}
                              var data = item.value;
                              $this.$data.head_styledef.form.items.forEach(async (
                                 ele, index) => {
                                 data.forEach(async (ele2, index) => {
                                    if (ele.fieldId == ele2
                                       .attr) {
                                       if (ele.name ==
                                          'Select' &&
                                          ele2
                                          .choice_list) {
                                          const
                                             dictItemList = [];
                                          const
                                             choiceList =
                                             ele2
                                             .choice_list || [];
                                          for (let d in
                                                choiceList) {
                                             const val =
                                                choiceList[
                                                   d];
                                             dictItemList
                                                .push({
                                                   text: val,
                                                   value: val
                                                });
                                          }
                                          ele.dict =
                                             dictItemList;
                                       }
                                       ele.value = ele2
                                          .value;
                                    }
                                 });
                              });
                           } else if (item.action_type == "refresh") { //刷新
                              var value = item.value;
                              //清除待分拣成功的数据
                              // value.forEach((val_id,key)=>{
                              //   this.detail1StyleDefList.forEach((style,index)=>{
                              //     if(style.form.objId == val_id){
                              //       this.detail1StyleDefList.splice(index,1);
                              //       return;
                              //     }
                              //   });
                              // });
                              //刷新当前页面
                              uni.redirectTo({
                                 url: '../modal/5602?param=' + JSON.stringify(
                                       this.$data.param) + "&titlename=" +
                                    this.$data.title
                              });
                           } else if (item.action_type == "prompt") { //打开系统提示弹框
                              var value = '';
                              item.value.forEach(ele => {
                                 if (value) value += '\n';
                                 value += ele;
                              });
                              uni.showModal({
                                 title: this.translateSys("tip"),
                                 content: value,
                                 showCancel: false,
                                 confirmText: this.translateSys("close")
                              });
                           }
                        });
                     } else {
                        if ($this.$data.After_OK_Event.ID != event.ID) { //判断当前事件是否是确定后事件
                           if (type == '1') {
                              $this.sava($this.$data.After_OK_Event); //执行确定后事件
                           } else {
                              $this.sava2($this.$data.After_OK_Event); //执行确定后事件
                           }
                        }
                     }
                  } else {
                     // $this.$data.detail2StyleDefList=[];
                     if (result.info) {
                        uni.showModal({
                           title: this.translateSys("tip"),
                           content: result.info,
                           showCancel: false,
                           confirmText: this.translateSys("cancel")
                        });
                     }
                  }
               }
               if (type == "1")
                  this.okLoading = false
               else if (type == "2")