cyy
2025-09-28 0f7bec66f05f5265b8c04e2d3d8157f318f80645
pages/modal/3200_view.vue
@@ -1,5 +1,5 @@
<template>
   <view class="uni-page-modal-3200-view">
   <view class="uni-page-modal-3200-view" :class="largeMode?'large-mode':''">
      <view class="v-content">
         <view class="dv-panel dv-panel-bkcolor">
            <div class="dv-panel-input">
@@ -36,8 +36,12 @@
<script>
   import {
      Base64
   } from  '@/js/Base64.js';
   } from '@/js/Base64.js';
   import classUtils from "@/js/utils.js"
   import {
      showInfo,
      showError
   } from "@/js/Page.js"
   import {
      appGetInfo,
      dictGetInfo
@@ -49,7 +53,7 @@
   } from "@/api/data.js"
   import OIForm from '@/components/oi-form/index.vue'
   import buttonClickMixin from '@/mixins/button-click.js';
   export default {
      mixins: [buttonClickMixin],
      components: {
@@ -67,6 +71,7 @@
      },
      data() {
         return {
            largeMode: getApp().globalData.largeMode || false,
            title: this.translateSys('add2'),
            param: {},
            styleDef: {
@@ -132,13 +137,7 @@
                  input_param,
               });
            } catch (ex) {
               var tip = typeof ex == "string" ? ex : ex.message;
               uni.showModal({
                  title: this.translateSys("error"),
                  content: tip,
                  showCancel: false,
                  confirmText: this.translateSys('close')
               });
               showError(ex, this.translateSys('error'))
            }
         }
      },
@@ -211,13 +210,7 @@
               }, 100);
            } catch (ex) {
               // console.log(ex);
               let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex
               uni.showModal({
                  title: this.translateSys("error") + "1.1",
                  content: tip,
                  showCancel: false,
                  confirmText: this.translateSys('close')
               });
               showError(ex, this.translateSys('error') + "1.1")
            }
         },
@@ -260,13 +253,7 @@
               });
            } catch (ex) {
               // console.log(ex);
               let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex
               uni.showModal({
                  title: this.translateSys("error") + "6.1",
                  content: tip,
                  showCancel: false,
                  confirmText: this.translateSys('close')
               });
               showError(ex, this.translateSys('error') + "6.1")
            }
@@ -305,13 +292,7 @@
                  // console.log($this.detail2_styledef);
               }
            } catch (ex) {
               var tip = typeof ex == "string" ? ex : ex.message;
               uni.showModal({
                  title: this.translateSys("error") + "5.2",
                  content: tip,
                  showCancel: false,
                  confirmText: this.translateSys('close')
               });
               showError(ex, this.translateSys('error') + "5.2")
            }
         },
         onCheckBoxValue(e) { //绑定Model值
@@ -350,14 +331,14 @@
                     }
                  }
               });
            } else{
            } else {
               this.handleButtonClick((done) => {
                   that.onButtonClicked(btn);
                  that.onButtonClicked(btn);
                  setTimeout(() => {
                     done(); // 重置状态
                  }, 1000);
               });
            }
         },
         //点击按钮列表
@@ -409,22 +390,12 @@
                  await this.triggerEvent(btn, style, enviroment);
               } else {
                  btn.disabled = false
                  uni.showModal({
                     title: this.translateSys("tip"),
                     content: this.translateSys("unrealized"),
                     showCancel: false,
                     confirmText: this.translateSys('close')
                  });
                  showInfo(this.translateSys("unrealized"))
               }
            } catch (ex) {
               btn.disabled = false
               var tip = typeof ex == "string" ? ex : ex.message;
               uni.showModal({
                  title: this.translateSys("error") + "2",
                  content: tip,
                  showCancel: false,
                  confirmText: this.translateSys('close')
               });
               showError(ex, this.translateSys('error') + "2")
            }
         },
         //执行触发事件
@@ -450,13 +421,7 @@
               });
               btn.disabled = false
            } catch (ex) {
               var tip = typeof ex == "string" ? ex : ex.message;
               uni.showModal({
                  title: this.translateSys("error") + "3",
                  content: tip,
                  showCancel: false,
                  confirmText: this.translateSys('close')
               });
               showError(ex, this.translateSys('error') + "3")
            }
         },
         //事件
@@ -465,81 +430,82 @@
               var $this = this;
               const result = await runCustomEvent(dataInfo)
               console.log(result);
               if (result.ret != 0) {
                  var tip = result.err_info ? typeof result.err_info == 'string' ? result
                     .err_info : result.err_info.join('<br/>') : '';
                  if (result.ret == 801) uni.showModal({
                     title: this.translateSys("tip"),
                     content: tip,
                     showCancel: false,
                     confirmText: this.translateSys('close')
                  });
                  else uni.showModal({
                     title: this.translateSys("tip"),
                     content: tip + ',' + this.translateSys('tip') + ':' + result.ret,
                     showCancel: false,
                     confirmText: this.translateSys('close')
                  });
                  return false;
               } else {
                  var tip = result.info ? typeof result.info == 'string' ? result.info : result
                     .info.join('<br/>') : '';
                  if (tip) uni.showModal({
                     title: this.translateSys("tip"),
                     content: tip,
                     showCancel: false,
                     confirmText: this.translateSys('close')
                  });
                  if (result.result_type == 0 && result.action) {
                     result.action.forEach(item => {
                        if (item.action_type == "goback_to_pre_page") { //返回上一页
                           var value = item.value;
                           // const eventChannel = this.getOpenerEventChannel();
                           // // const eventChannel = this.getOpenerEventChannel();
                           // eventChannel.emit('ExitViewEvent',"");
                           uni.navigateBack({
                              delta: 1, //返回层数,2则上上页
                           });
                        } else if (item.action_type == "hidden_button") { //隐藏按钮
                           var value = item.value;
                           value.forEach(btn => {
                              var index = $this.param.ViewPage.Page_Button
                                 .findIndex(button => button.ShowName ==
                                    btn)
                              if (index > -1)
                                 $this.param.ViewPage.Page_Button.splice(
                                    index, 1)
                           })
                        } else if (item.action_type == "set_panel_html") { //显示Html页面
                           // var value = item.value;
                           $this.ViewHtml_Panel = item.value;
                        }
                     });
                  } else {
                     var tip = result.info ? typeof result.info == 'string' ? result.info :
                        result.info.join('<br/>') : '';
                     if (tip) uni.showModal({
                        title: this.translateSys("tip"),
                        content: tip,
                        showCancel: false,
                        confirmText: this.translateSys('close')
                     });
               if (result.ret != 0 && result.ret != 1) {
                  let cls_name = result.event_info?.cls_name
                  let event_name = result.event_info?.event_name
                  tip = result.err_info ? typeof result.err_info == 'string' ? result.err_info : result
                     .err_info
                     .join('\n') : ''
                  if (result.ret == 801) {
                     if (this.param.Only_Script_Error) {
                        let pos = tip.indexOf(":");
                        if (pos > -1) tip = tip.substring(pos + 1);
                     }
                  }
                  if (cls_name && event_name) tip = `执行“${cls_name}”数据类的“${event_name}”脚本时返回错误:${tip}`
                  if (result.ret == 801) showInfo(tip)
                  else showError(`${tip},提示:${result.ret}`, this.translateSys('tip'))
                  this.saving = false
                  return false
               } else {
                  var tip = result.info ? typeof result.info == 'string' ? result.info :
                     result.info.join('\n') : '';
                  tip = tip || result.err_info
                  let time = result.info_time || 0
                  if (time)
                     showError(tip, this.translateSys('tip'))
                  else
                  showInfo(tip)
                  if ([0, 2, 3, 4, -1].includes(result.result_type)) {
                     if (result.result_type == 2) {
                     } else if (typeof result.result == 'string') {
                        showInfo(result.result)
                     }
                     try {
                        var actionList = result.action || []
                        actionList.forEach(item => {
                           if (item.action_type == "goback_to_pre_page") { //返回上一页
                              var value = item.value;
                              // const eventChannel = this.getOpenerEventChannel();
                              // // const eventChannel = this.getOpenerEventChannel();
                              // eventChannel.emit('ExitViewEvent',"");
                              uni.navigateBack({
                                 delta: 1, //返回层数,2则上上页
                              });
                           } else if (item.action_type == "hidden_button") { //隐藏按钮
                              var value = item.value;
                              value.forEach(btn => {
                                 var index = $this.param.ViewPage.Page_Button
                                    .findIndex(button => button.ShowName ==
                                       btn)
                                 if (index > -1)
                                    $this.param.ViewPage.Page_Button.splice(
                                       index, 1)
                              })
                           } else if (item.action_type == "set_panel_html") { //显示Html页面
                              // var value = item.value;
                              $this.ViewHtml_Panel = item.value;
                           }
                        });
                     } catch (ex) {
                        let actionList = (result.action || []).map(a => a.action_type).join(';')
                        let tip = typeof ex == 'string' ? ex : ex.message
                        tip = `执行脚本返回的${actionList}时出现异常,请检查脚本返回的数据格式是否正确。${tip}`
                        showError(tip, this.translateSys('tip'))
                        return
                     }
                  }
               }
            } catch (ex) {
               var tip = typeof ex == "string" ? ex : ex.errMsg;
               uni.showModal({
                  title: this.translateSys("error") + "4.1",
                  content: this.translate('execute_after_change_event_failed') + this.translateSys(
                        "comma") +
                     this.translate('reason') + this.translateSys("colon") + tip,
                  showCancel: false,
                  confirmText: this.translateSys('close')
               });
               showError(ex, this.translateSys('error') + "4.1")
            }
         },
@@ -812,6 +778,16 @@
         width: 100%;
         display: inline-block;
         text-align: left;
         .uni-forms-item {
            padding-bottom: 5rpx;
            margin-bottom: 0;
            .uni-forms-item__label {
               height: 20px !important;
               padding: 0 10rpx 0 0 !important;
            }
         }
      }
      .dv-panel-buticon {