cuiqian2004
2025-07-31 fe10cf437b17a2ea0ef63373cae2e5790ebc3930
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,15 +887,28 @@
                  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 (result.result_type == 2) {
                  if (result.result_type == 0 && result.action) {
                     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 {
                     var actionList = result.action || []
                     actionList.forEach(item => {
                        if (item.action_type == "set_dlg_attr") {
                           // value = {"attr":"xxx", "value":"xxx"}
                           var data = item.value;
@@ -904,19 +918,20 @@
                           this.setDetailFormItemVisible(data, style, pageIndex)
                        }
                     });
                  } else {
                     if (result.info) {
                        uni.showModal({
                           title: this.translateSys(
                              "error") + "6.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
                  }
               }
@@ -1093,6 +1108,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,9 +1116,21 @@
                        confirmText: this.translateSys(
                           'close')
                     });
                     if (result.result_type == 2) {
                     if (result.result_type == 0 && result.action) {
                        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") { //码盘中
                              $this.param.Show_Welcom_Page = false;
                              var value = item.value;
@@ -1209,25 +1237,26 @@
                              // 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 (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 +1635,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 +1714,7 @@
                  if (index == -1) head_styledef.hiddenIds.push(attr.attr);
               }
            });
            this.setData({
               head_styledef: head_styledef
            })
@@ -2741,12 +2770,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 +2889,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 +2920,7 @@
               global_attr: '',
               input_param: input_param,
            };
            console.log(dataInfo);
            runCustomEvent(dataInfo).then(result => {
               console.log(result);
               if (result.ret != 0) {
@@ -2923,6 +2955,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,191 +2963,203 @@
                     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 (result.result_type == 2) {
                        result.action.forEach(item => {
                           if (item.action_type ==
                              "insert_subtable_page_row") { //码盘中
                              var value = item.value;
                              //加载已经码盘数据
                              $this.viewAceionRow(value);
                              //清空条码内容
                              $this.head_styledef.form.items.forEach((item,
                                 index) => {
                                 if (item.fieldId !=
                                    "S_CNTR_CODE") {
                                    item.value = '';
                                    item.oldvalue = '';
                                    $this.head_styledef.form.model[
                                       item
                                       .fieldId] = '';
                                 }
                              });
                              uni.showModal({
                                 title: $this.translateSys("tip"),
                                 content: $this.translate(
                                    'execute_event_success'),
                                 showCancel: false,
                                 confirmText: $this.translateSys(
                                    'close')
                              });
                           } 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;
                              });
                              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 ==
                              "remove_subtable_page_row") { //清除面板中指定id的数据
                              let 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") {
                              let 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 ($this.After_OK_Event.ID != event.ID) { //判断当前事件是否是确定后事件
                           $this.sava(pageParam, $this.After_OK_Event); //执行确定后事件
                        }
                     }
                  } else {
                     if (result.info) {
                  } else if (typeof result.result == 'string') {
                     if (result.result) {
                        uni.showModal({
                           title: this.translateSys("tip"),
                           content: result.info,
                           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;
                           //加载已经码盘数据
                           $this.viewAceionRow(value);
                           //清空条码内容
                           $this.head_styledef.form.items.forEach((item,
                              index) => {
                              if (item.fieldId !=
                                 "S_CNTR_CODE") {
                                 item.value = '';
                                 item.oldvalue = '';
                                 $this.head_styledef.form.model[
                                    item
                                    .fieldId] = '';
                              }
                           });
                           uni.showModal({
                              title: $this.translateSys("tip"),
                              content: $this.translate(
                                 'execute_event_success'),
                              showCancel: false,
                              confirmText: $this.translateSys(
                                 'close')
                           });
                        } 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;
                           });
                           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 ==
                           "remove_subtable_page_row") { //清除面板中指定id的数据
                           let 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") {
                           let 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)
                        }
                     });
                     if ($this.After_OK_Event?.ID && $this.After_OK_Event.ID != event
                        .ID) { //判断当前事件是否是确定后事件
                        $this.sava(pageParam, $this.After_OK_Event); //执行确定后事件
                     }
                  } catch (ex) {
                     let actionList = (result.action || []).map(a => a.action_type).join(';')
                     let tip = typeof ex == 'string' ? ex : ex.message
                     tip = `执行脚本返回的${actionList}时出现异常,请检查脚本返回的数据格式是否正确。${tip}`
                     uni.showModal({
                        title: this.translateSys('tip'),
                        content: tip,
                        showCancel: false,
                        confirmText: this.translateSys('close')
                     });
                     console.log(ex)
                     return
                  }
               }
            }).catch(ex => {