cuiqian2004
2025-06-05 a2f5317f01290597eb44aaf80aa535ff468a61c5
pages/modal/3202.vue
@@ -1,5 +1,5 @@
<template>
   <view class="uni-page-modal-3202">
   <view class="uni-page-modal-3202" :class="largeMode?'large-mode':''">
      <view class="v-content">
         <!-- 表头样式 -->
         <OIForm ref="refBaseForm" class="v-headStyle" :form="head_styledef.form" @on-focus="ontap"
@@ -51,6 +51,7 @@
      },
      data() {
         return {
            largeMode: getApp().globalData.largeMode || false,
            title: this.translateSys('add2'),
            isFilter: true,
            param: {},
@@ -217,6 +218,25 @@
                     }
                  });
                  const app = getApp()
                  if (app.globalData.bindClasses) {
                     $this.head_styledef.form.items.push({
                        name: "Input",
                        label: this.translate("classes"),
                        labelWidth: 100,
                        disabled: true,
                        value: app.globalData.classes,
                        setting: {
                           width: 100,
                           height: 50,
                        },
                        bind: {
                           attr: "",
                        },
                        fieldId: "S_CLASSES",
                     })
                     $this.head_styledef.form.model["S_CLASSES"] = app.globalData.classes
                  }
               }
            } catch (ex) {
@@ -721,19 +741,43 @@
                        });
                        if (result.result_type == 0 && result.action) {
                           result.action.forEach(item => {
                              if (item.action_type ==
                                 "set_query_condition") {
                                 var value = item.value;
                           for (var j = 0; j < actionlist.length; j++) {
                              var action = actionlist[j];
                              var action_type = action.action_type;
                              var value = action.value;
                              if (action_type == "set_query_condition") {
                                 $this.wheres = value.condition;
                                 $this.orderby = value.order ? value.order :
                                    ""
                                 $this.orderby = value.order ? value.order : ""
                                 $this.pageindex = 1;
                                 $this.query_id = "";
                                 $this.detail1StyleDefList = [];
                                 $this.loadDataGetList();
                              } else if (action_type == "set_subtable_page_content") {
                                 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_data"),
                                       cancelText: $this.translateSys('ok'),
                                       confirmText: $this.translateSys('cancel'),
                                       success: function(res) {
                                          if (res.cancel) {
                                             $this.detail1StyleDefList = [];
                                             $this.viewAceionContent(value);
                                          } else if (res.confirm) {
                                             $this.detail1StyleDefList = [];
                                             $this.viewAceionContent(value);
                                          }
                                       }
                                    });
                                 } else {
                                    $this.detail1StyleDefList = [];
                                    $this.viewAceionContent(value);
                                 }
                              }
                           })
                           }
                        } else {
                           if (result.info) {
                              uni.showModal({
@@ -869,6 +913,77 @@
               head_styledef: head_styledef
            })
         },
         //加载已码盘内容
         viewAceionContent(data) {
            var $this = this;
            if (JSON.stringify(data.content) == '{}') {
               return;
            }
            var styleStr = JSON.stringify($this.detail1_styledef);
            var detailStyle = JSON.parse(styleStr);
            if (detailStyle.form) {
               data.content.forEach(cont => {
                  detailStyle = JSON.parse(styleStr);
                  detailStyle.SelBut_Checked = data.checkbox ?? true;
                  detailStyle.form.objId = cont.id;
                  detailStyle.form.htmlobjId = cont.id ? cont.id.replace(/-/g,
                        '')
                     .replace('{', '').replace('}',
                        '') : 'null';
                  detailStyle.form.attrs = cont.attrs;
                  cont.attrs.forEach(attr => {
                     detailStyle.form.items.forEach(ele => {
                        if (ele.name != 'Layout') {
                           if (ele.fieldId == attr.attr)
                              ele.value = attr.value;
                        } else if (ele.name == 'Layout') {
                           ele.setting.colList.forEach(
                              col => {
                                 if (col) {
                                    if (col.fieldId ==
                                       attr.attr)
                                       col.value = attr.value;
                                 }
                              });
                        }
                     });
                  });
                  //如果 clear = false 则不需要清除,根据id判断是否存在,不存在插入到页面,如果存在用新的属性覆盖
                  if (data.clear == false) {
                     var isflag = true;
                     $this.detail1StyleDefList.forEach((style, index) => {
                        if (style.form.objId == detailStyle.form.objId) {
                           cont.attrs.forEach(attr => {
                              style.form.items.forEach(ele => {
                                 if (ele.name != 'Layout') {
                                    if (ele.fieldId == attr.attr)
                                       ele.value = attr.value;
                                 } else if (ele.name == 'Layout') {
                                    ele.setting.colList.forEach(
                                       col => {
                                          if (col) {
                                             if (col.fieldId ==
                                                attr
                                                .attr)
                                                col.value =
                                                attr.value;
                                          }
                                       });
                                 }
                              });
                           });
                           isflag = false;
                        }
                     });
                     if (isflag) $this.detail1StyleDefList.push(detailStyle); //待分拣
                  } else {
                     $this.detail1StyleDefList.push(detailStyle); //待分拣
                  }
               });
            }
         },
         //点中表单
         onPanelClick(value) { //点击面板高亮显示
            // console.log(value);