cuiqian2004
2025-08-01 3ddb7987b031a152309c58dabd949e23d3419a72
pages/modal/5601.vue
@@ -1,7 +1,8 @@
<template>
   <view class="uni-page-modal-5601" :class="largeMode?'large-mode':''">
      <!-- 表头样式 -->
      <OIForm ref="refBaseForm" class="v-headStyle" :form="head_styledef.form" :hiddenIds="head_styledef.hiddenIds ?head_styledef.hiddenIds :[] "  :focusId="focusFieldId"
      <OIForm ref="refBaseForm" class="v-headStyle" :form="head_styledef.form"
         :hiddenIds="head_styledef.hiddenIds ?head_styledef.hiddenIds :[] " :focusId="focusFieldId"
         @on-click="onClick" @on-focus="ontap" @on-change="onEnterChange" @on-click-prefix="classAttr_extButton"
         @on-click-suffix="classAttr_extButton"></OIForm>
@@ -886,35 +887,50 @@
                  var tip = result.info ? typeof result.info ==
                     'string' ? result.info :
                     result.info.join('<br/>') : '';
                  tip = tip || result.err_info
                  if (tip) uni.showModal({
                     title: this.translateSys('tip'),
                     content: tip,
                     showCancel: false,
                     confirmText: this.translateSys('close')
                  });
                  if ([0, 2, 3, 4, -1].includes(result.result_type)) {
                     if (result.result_type == 2) {
                  if (result.result_type == 0 && result.action) {
                     result.action.forEach(item => {
                        if (item.action_type == "set_dlg_attr") {
                           // value = {"attr":"xxx", "value":"xxx"}
                           var data = item.value;
                           this.setDetailFormValues(data, style, pageIndex)
                        } else if (item.action_type == 'set_dlg_attr_show') {
                           var data = item.value;
                           this.setDetailFormItemVisible(data, style, pageIndex)
                     } else if (typeof result.result == 'string') {
                        if (result.result) {
                           uni.showModal({
                              title: this.translateSys('tip'),
                              content: result.result,
                              showCancel: false,
                              confirmText: this.translateSys('close')
                           });
                        }
                     });
                  } else {
                     if (result.info) {
                        uni.showModal({
                           title: this.translateSys(
                              "error") + "6.3",
                           content: result.info,
                           showCancel: false,
                           confirmText: this
                              .translateSys('close')
                     }
                     try {
                        var actionList = result.action || []
                        actionList.forEach(item => {
                           if (item.action_type == "set_dlg_attr") {
                              // value = {"attr":"xxx", "value":"xxx"}
                              var data = item.value;
                              this.setDetailFormValues(data, style, pageIndex)
                           } else if (item.action_type == 'set_dlg_attr_show') {
                              var data = item.value;
                              this.setDetailFormItemVisible(data, style, pageIndex)
                           }
                        });
                     } catch (ex) {
                        let actionList = (result.action || []).map(a => a.action_type).join(';')
                        let tip = typeof ex == 'string' ? ex : ex.message
                        tip = `执行脚本返回的${actionList}时出现异常,请检查脚本返回的数据格式是否正确。${tip}`
                        uni.showModal({
                           title: this.translateSys('tip'),
                           content: tip,
                           showCancel: false,
                           confirmText: this.translateSys('close')
                        });
                        console.log(ex)
                        return
                     }
                  }
@@ -1093,6 +1109,7 @@
                     var tip = result.info ? typeof result.info ==
                        'string' ? result.info :
                        result.info.join('<br/>') : '';
                     tip = tip || result.err_info
                     if (tip) uni.showModal({
                        title: this.translateSys('tip'),
                        content: tip,
@@ -1100,132 +1117,146 @@
                        confirmText: this.translateSys(
                           'close')
                     });
                     if ([0, 2, 3, 4, -1].includes(result.result_type)) {
                        if (result.result_type == 2) {
                     if (result.result_type == 0 && result.action) {
                        result.action.forEach(item => {
                           if (item.action_type == "insert_subtable_page_row") { //码盘中
                              $this.param.Show_Welcom_Page = false;
                              var value = item.value;
                              $this.viewAceionRow(value);
                           } else if (item.action_type ==
                              "set_subtable_page_content") { //已码盘
                              $this.param.Show_Welcom_Page = false;
                              var value = item.value;
                              const pageData = $this.pageDetail.find((page) => {
                                 return value.page_name == page.Name;
                        } else if (typeof result.result == 'string') {
                           if (result.result) {
                              uni.showModal({
                                 title: this.translateSys('tip'),
                                 content: result.result,
                                 showCancel: false,
                                 confirmText: this.translateSys('close')
                              });
                              if (value.clear_confirm != false && value.clear == true &&
                                 pageData && pageData.DefList.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"),
                                    cancelText: $this.translateSys('ok'),
                                    confirmText: $this.translateSys('cancel'),
                                    success: function(res) {
                                       if (res.cancel) {
                                          if (pageData)
                                             pageData.DefList = [];
                                          $this.viewAceionContent(value);
                                       } else if (res.confirm) {
                                          if (pageData)
                                             pageData.DefList = [];
                                          $this.viewAceionContent(value);
                                       }
                                    }
                           }
                        }
                        try {
                           let actionList = result.action || []
                           actionList.forEach(item => {
                              if (item.action_type == "insert_subtable_page_row") { //码盘中
                                 $this.param.Show_Welcom_Page = false;
                                 var value = item.value;
                                 $this.viewAceionRow(value);
                              } else if (item.action_type ==
                                 "set_subtable_page_content") { //已码盘
                                 $this.param.Show_Welcom_Page = false;
                                 var value = item.value;
                                 const pageData = $this.pageDetail.find((page) => {
                                    return value.page_name == page.Name;
                                 });
                              } else {
                                 if (value.clear_confirm != false && value.clear == true &&
                                    pageData && pageData.DefList.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"),
                                       cancelText: $this.translateSys('ok'),
                                       confirmText: $this.translateSys('cancel'),
                                       success: function(res) {
                                          if (res.cancel) {
                                             if (pageData)
                                                pageData.DefList = [];
                                             $this.viewAceionContent(value);
                                          } else if (res.confirm) {
                                             if (pageData)
                                                pageData.DefList = [];
                                             $this.viewAceionContent(value);
                                          }
                                       }
                                    });
                                 } else {
                                    if (pageData)
                                       pageData.DefList = [];
                                    $this.viewAceionContent(value);
                                 }
                              } else if (item.action_type == "select_subtable_page") {
                                 var value = item.value;
                                 const pageIndex = $this.pageDetail.findIndex((page) => {
                                    return value.page_name == page.Name;
                                 });
                                 if (pageIndex > -1) {
                                    $this.setData({
                                       current: pageIndex
                                    })
                                 }
                              } else if (item.action_type == "select_subtable_page_row") {
                                 // value = {"page_name":"码盘中", "row":{"id":"xx"}}
                                 var value = item.value;
                                 $this.viewActionSelectRow(value)
                              } else if (item.action_type ==
                                 "remove_subtable_page_row") { //清除面板中指定id的数据
                                 var value = item.value;
                                 $this.viewActionRemoveRow(value)
                              } 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;
                                 const pageData = $this.pageDetail.find((page) => {
                                    return value.page_name == page.Name;
                                 });
                                 if (pageData)
                                    pageData.DefList = [];
                                 $this.viewAceionContent(value);
                                    pageData.ExtData = value.ext_data
                              } else if (item.action_type == "clear_subpage_rows") {
                                 var value = item.value;
                                 const pageIndex = $this.pageDetail.findIndex((page) => {
                                    return value.page_name == page.Name;
                                 });
                                 if (pageIndex > -1) {
                                    const pageData = $this.pageDetail[pageIndex]
                                    pageData.DefList = []
                                    pageData.ExtData = {}
                                    $this.$set(this.pageDetail, pageIndex, pageData)
                                 }
                              } 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.setFormValues(data)
                              } else if (item.action_type == 'set_dlg_attr_show') {
                                 var data = item.value;
                                 $this.setFormItemVisible(data)
                              }
                           } else if (item.action_type == "select_subtable_page") {
                              var value = item.value;
                              const pageIndex = $this.pageDetail.findIndex((page) => {
                                 return value.page_name == page.Name;
                              });
                              if (pageIndex > -1) {
                                 $this.setData({
                                    current: pageIndex
                                 })
                              }
                           } else if (item.action_type == "select_subtable_page_row") {
                              // value = {"page_name":"码盘中", "row":{"id":"xx"}}
                              var value = item.value;
                              $this.viewActionSelectRow(value)
                           } else if (item.action_type ==
                              "remove_subtable_page_row") { //清除面板中指定id的数据
                              var value = item.value;
                              $this.viewActionRemoveRow(value)
                           } 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;
                              const pageData = $this.pageDetail.find((page) => {
                                 return value.page_name == page.Name;
                              });
                              if (pageData)
                                 pageData.ExtData = value.ext_data
                           } else if (item.action_type == "clear_subpage_rows") {
                              var value = item.value;
                              const pageIndex = $this.pageDetail.findIndex((page) => {
                                 return value.page_name == page.Name;
                              });
                              if (pageIndex > -1) {
                                 const pageData = $this.pageDetail[pageIndex]
                                 pageData.DefList = []
                                 pageData.ExtData = {}
                                 $this.$set(this.pageDetail, pageIndex, pageData)
                              }
                           } 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.setFormValues(data)
                           }
                           else if (item.action_type == 'set_dlg_attr_show') {
                              var data = item.value;
                              $this.setFormItemVisible(data)
                           }
                        });
                     } else {
                        if (result.info) {
                           uni.showModal({
                              title: this.translateSys(
                                 "error") + "4.3",
                              content: result.info,
                              showCancel: false,
                              confirmText: this
                                 .translateSys('close')
                           });
                        } catch (ex) {
                           let actionList = (result.action || []).map(a => a.action_type).join(';')
                           let tip = typeof ex == 'string' ? ex : ex.message
                           tip = `执行脚本返回的${actionList}时出现异常,请检查脚本返回的数据格式是否正确。${tip}`
                           uni.showModal({
                              title: this.translateSys('tip'),
                              content: tip,
                              showCancel: false,
                              confirmText: this.translateSys('close')
                           });
                           console.log(ex)
                           return
                        }
                     }
@@ -1606,7 +1637,7 @@
            data.content.forEach(cont => {
               var detailStyle = JSON.parse(styleStr);
               if (detailStyle.form) {
                  detailStyle.SelBut_Checked = data.checkbox ?? true;
                  //   detailStyle.SelBut_Checked = data.checkbox ?? true;
                  detailStyle.form.objId = cont.id;
                  detailStyle.form.htmlobjId = cont.id ? cont.id.replace(/-/g,
@@ -1685,7 +1716,7 @@
                  if (index == -1) head_styledef.hiddenIds.push(attr.attr);
               }
            });
            this.setData({
               head_styledef: head_styledef
            })
@@ -2130,48 +2161,70 @@
                     .info
                     .join(
                        '<br/>') : '';
                  tip = tip || data.err_info
                  if (tip) uni.showModal({
                     title: this.translateSys("tip"),
                     content: tip,
                     showCancel: false,
                     confirmText: this.translateSys('close')
                  });
                  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;
                           $this.setFormValues(result)
                        } else if (action.action_type == 'set_dlg_attr_show') {
                           var result = action.value;
                           $this.setFormItemVisible(result)
                           // console.log($this.head_styledef);
                        } else if (action.action_type == 'set_global_attr') {
                           $this.global_attr = action.value || [];
                        } else {
                  if ([0, 2, 3, 4, -1].includes(data.result_type)) {
                     if (data.result_type == 2) {
                        $this.setFormValues(data.result || [])
                     } else if (typeof data.result == 'string') {
                        if (data.result) {
                           uni.showModal({
                              title: this.translateSys("tip"),
                              content: this.translateSys(
                                    "quotation_mark_left") +
                                 action
                                 .action_type + this.translateSys(
                                    "quotation_mark_right") + this
                                 .translate(
                                    "tip_action_unprocessed"),
                              title: this.translateSys('tip'),
                              content: data.result,
                              showCancel: false,
                              confirmText: this.translateSys('close')
                           });
                        }
                     }
                  }
                  console.log($this.head_styledef);
                  if (data.result) {
                     var result = data.result;
                     $this.setFormValues(result)
                     try {
                        var actionlist = data.action || []
                        for (var i = 0; i < actionlist.length; i++) {
                           var action = actionlist[i];
                           if (action.action_type == 'set_dlg_attr') {
                              var result = action.value;
                              $this.setFormValues(result)
                           } else if (action.action_type == 'set_dlg_attr_show') {
                              var result = action.value;
                              $this.setFormItemVisible(result)
                              // console.log($this.head_styledef);
                           } else if (action.action_type == 'set_global_attr') {
                              $this.global_attr = action.value || [];
                           } else {
                              uni.showModal({
                                 title: this.translateSys("tip"),
                                 content: this.translateSys(
                                       "quotation_mark_left") +
                                    action
                                    .action_type + this.translateSys(
                                       "quotation_mark_right") + this
                                    .translate(
                                       "tip_action_unprocessed"),
                                 showCancel: false,
                                 confirmText: this.translateSys('close')
                              });
                           }
                        }
                     } catch (ex) {
                        let actionList = (data.action || []).map(a => a.action_type).join(';')
                        let tip = typeof ex == 'string' ? ex : ex.message
                        tip = `执行脚本返回的${actionList}时出现异常,请检查脚本返回的数据格式是否正确。${tip}`
                        uni.showModal({
                           title: this.translateSys('tip'),
                           content: tip,
                           showCancel: false,
                           confirmText: this.translateSys('close')
                        });
                        console.log(ex)
                        return
                     }
                  }
               }
@@ -2281,16 +2334,28 @@
                     .info
                     .join(
                        '<br/>') : '';
                  tip = tip || data.err_info
                  if (tip) uni.showModal({
                     title: $this.translateSys("tip"),
                     content: tip,
                     showCancel: false,
                     confirmText: $this.translateSys('close')
                  });
                  if ([0, 2, 3, 4, -1].includes(data.result_type)) {
                     if (data.result_type == 2) {
                  if (data != "") {
                     var actions = data.action;
                     if (actions) {
                     } else if (typeof data.result == 'string') {
                        if (data.result) {
                           uni.showModal({
                              title: this.translateSys('tip'),
                              content: data.result,
                              showCancel: false,
                              confirmText: this.translateSys('close')
                           });
                        }
                     }
                     try {
                        var actions = data.action || []
                        for (var i = 0; i < actions.length; i++) {
                           var action = actions[i];
                           console.log(action)
@@ -2468,18 +2533,22 @@
                              });
                           }
                        }
                     } catch (ex) {
                        let actionList = (data.action || []).map(a => a.action_type).join(';')
                        let tip = typeof ex == 'string' ? ex : ex.message
                        tip = `执行脚本返回的${actionList}时出现异常,请检查脚本返回的数据格式是否正确。${tip}`
                        uni.showModal({
                           title: this.translateSys('tip'),
                           content: tip,
                           showCancel: false,
                           confirmText: this.translateSys('close')
                        });
                        console.log(ex)
                        return
                     }
                  } else {
                     uni.showModal({
                        title: $this.translateSys('tip') + "5.2",
                        content: $this.translateSys("quotation_mark_left") +
                           "before_click_button" + $this.translateSys(
                              "quotation_mark_right") + $this.translateSys(
                              "comma") + 'event_id' + eventid,
                        showCancel: false,
                        confirmText: $this.translateSys('close')
                     });
                  }
               }
            }).catch(ex => {
@@ -2741,12 +2810,14 @@
            this.After_OK_Event = pageData.After_ok;
            // console.log(this.Before_OK_Event);
            // console.log(this.After_OK_Event);
            console.log("ok");
            if (this.Before_OK_Event.ID) //是否有确定前事件
               this.sava(pageData, this.Before_OK_Event);
            else if (this.After_OK_Event.ID) //是否有确定后事件
               this.sava(pageData, this.After_OK_Event);
         },
         sava(pageData, event) {
            var $this = this;
            // if (pageData.DefList.length == 0) {
            //    uni.showModal({
@@ -2858,7 +2929,7 @@
               item_list: jsonlist,
               ext_data: pageData.ExtData
            })
            // console.log(jsonlist);
            $this.runCustomEvent(pageData, event, input_param, list);
            // jsonlist.forEach(async (json,key)=>{
            //    await $this.runCustomEvent(event,input_param,json,'1');
@@ -2889,6 +2960,7 @@
               global_attr: '',
               input_param: input_param,
            };
            console.log(dataInfo);
            runCustomEvent(dataInfo).then(result => {
               console.log(result);
               if (result.ret != 0) {
@@ -2923,6 +2995,7 @@
                  var tip = result.info ? typeof result.info ==
                     'string' ? result.info : result.info
                     .join('<br/>') : '';
                  tip = tip || result.err_info
                  if (tip) uni.showModal({
                     title: this.translateSys('tip'),
                     content: tip,
@@ -2930,11 +3003,22 @@
                     confirmText: this.translateSys(
                        'close')
                  });
                  if (result.result_type == 0) {
                     if (result.action) {
                        //   uni.showModal({title:this.translateSys("tip"),content:JSON.stringify(result.action),showCancel:false,confirmText:this.translateSys("cancel")});
                  if ([0, 2, 3, 4, -1].includes(result.result_type)) {
                     if (result.result_type == 2) {
                        result.action.forEach(item => {
                     } else if (typeof result.result == 'string') {
                        if (result.result) {
                           uni.showModal({
                              title: this.translateSys('tip'),
                              content: result.result,
                              showCancel: false,
                              confirmText: this.translateSys('close')
                           });
                        }
                     }
                     try {
                        let actionList = result.action || []
                        actionList.forEach(item => {
                           if (item.action_type ==
                              "insert_subtable_page_row") { //码盘中
                              var value = item.value;
@@ -3091,28 +3175,30 @@
                              // value = {"attr":"xxx", "value":"xxx"}
                              var data = item.value;
                              $this.setFormValues(data)
                           }
                           else if (item.action_type == 'set_dlg_attr_show') {
                           } else if (item.action_type == 'set_dlg_attr_show') {
                              var data = item.value;
                              $this.setFormItemVisible(data)
                           }
                        });
                     } else {
                        if ($this.After_OK_Event.ID != event.ID) { //判断当前事件是否是确定后事件
                        if ($this.After_OK_Event?.ID && $this.After_OK_Event.ID != event
                           .ID) { //判断当前事件是否是确定后事件
                           $this.sava(pageParam, $this.After_OK_Event); //执行确定后事件
                        }
                     }
                  } else {
                     if (result.info) {
                     } catch (ex) {
                        let actionList = (result.action || []).map(a => a.action_type).join(';')
                        let tip = typeof ex == 'string' ? ex : ex.message
                        tip = `执行脚本返回的${actionList}时出现异常,请检查脚本返回的数据格式是否正确。${tip}`
                        uni.showModal({
                           title: this.translateSys("tip"),
                           content: result.info,
                           title: this.translateSys('tip'),
                           content: tip,
                           showCancel: false,
                           confirmText: this.translateSys('close')
                        });
                        console.log(ex)
                        return
                     }
                  }
               }