cuiqian2004
2024-08-27 d84283821bb08d81d887f20a7118caf25b8b2714
pages/modal/3200.vue
@@ -22,164 +22,172 @@
            </view>
         </view>
         <scroll-view :scroll-top="scrollTop" :scroll-y="true" class="scroll-Y" @scrolltolower="scrolltolower"
            @scroll="scroll">
            <view class="view-content" id="tabpanel">
               <view class="dv-panel dv-panel-bkcolor" v-for="(style,ii) in detail1StyleDefList"
                  @click="onPanelClick(ii)" :id="'panel'+style.form.htmlobjId"
                  :class="activelist[ii].active==true?'bk-active':''">
                  <div class="dv-panel-button" v-if="param.ListPage.CheckBox==true">
                     <checkbox-group>
                        <label>
                           <checkbox :value="style.SelBut_Checked" :checked="style.SelBut_Checked" />
                        </label>
                     </checkbox-group>
                  </div>
                  <!-- HTML页面类型显示 -->
                  <div class="dv-listHtml-Panel" v-if="ListHtml_Panel" v-html="ListHtml_Panel[ii]" :style="param.ListPage.CheckBox==true && param.ListPage.Click_View==true?'width:85%;':
              param.ListPage.CheckBox==false && param.ListPage.Click_View==true?'width:91%;':
              param.ListPage.CheckBox==true && param.ListPage.Click_View==false?'width:88%;':'width:100%;'">
                  </div>
                  <div class="dv-panel-input" v-if="!ListHtml_Panel" :style="param.ListPage.CheckBox==true && param.ListPage.Click_View==true?'width:85%;':
              param.ListPage.CheckBox==false && param.ListPage.Click_View==true?'width:91%;':
              param.ListPage.CheckBox==true && param.ListPage.Click_View==false?'width:88%;':'width:100%;'">
                     <div v-for="(item,index) in style.form.items">
                        <!-- 普通布局 -->
                        <view v-if="item.name!='Layout'">
                           <text class="txt_title"
                              :style="{'width':item.labelWidth+'px'}">{{item.label}}:</text>
                           <span class="form-item-span" v-if="item.disabled">{{item.value}}</span>
                           <!-- 文本框/数字框 -->
                           <view class="dv_input"
                              v-if="(item.name=='Input' || item.name=='InputNumber') && !item.disabled">
                              <text v-if="item.setting.prefix" class="uni-icon" :class="[item.setting.prefix]"
                                 @change="onChange(item)">&#xe568;</text>
                              <input class="uni-input" :class="item.disabled?'input-disabled':''"
                                 :type="item.name=='Input'?'text':item.name=='InputNumber'?'number':'text'"
                                 v-model="item.value" :disabled="item.disabled"
                                 :placeholder="item.placeholder"
                                 :style="{'width':item.setting.prefix && item.setting.suffix?'78%':item.setting.prefix || item.setting.suffix?'87%':'96%'}"
                                 :focus="focusMateria" @focus="ontap(item)" @blur="onevent(item)" />
                              <text v-if="item.setting.suffix" class="uni-icon" :class="[item.setting.suffix]"
                                 @click="onChange(item)">&#xe568;</text>
                           </view>
                           <!-- 下拉框-单选 item.useDict?item.dict:item.selections-->
                           <uni-data-select id="dv_select" v-if="item.name=='Select' && !item.disabled"
                              :class="item.disabled?'input-disabled':''" v-model="item.value"
                              :localdata="item.dict" @change="onChange(item)" :disabled="item.disabled"
                              :clear="false"></uni-data-select>
                           <!-- 多行文本 -->
                           <view class="input-wrapper" v-if="item.name=='Textarea' && !item.disabled">
                              <textarea class="uni-input" :value="item.value"
                                 :class="item.disabled?'input-disabled':''" :placeholder="item.placeholder"
                                 @blur="onModelValue(item)" style="height:60px;" :style="{'width':'96%'}"
                                 :disabled="item.disabled"></textarea>
                           </view>
                           <!-- 复选框 -->
                           <checkbox-group class="check_rememberPwd" v-if="item.name=='Checkbox'"
                              :class="item.disabled?'input-disabled':''" @change="onModelValue(item)"
                              :data-ischeck="item.value" :disabled="item.disabled"
                              :style="{'margin-left':'10rpx'}">
                              <label>
                                 <checkbox :value="item.value" :checked="item.value" />
                                 <text>{{item.label}}</text>
                              </label>
                           </checkbox-group>
                           <!-- Switch开关 -->
                           <switch v-if="item.name=='Switch'" :class="item.disabled?'input-disabled':''"
                              :disabled="item.disabled" v-model="item.value" @change="onModelValue(item)"
                              :style="{'margin-left':'10rpx'}" />
                           <!-- 日期时间 -->
                           <view class="input-wrapper"
                              v-if="(item.name=='TimePicker' || item.name=='DatePicker') && !item.disabled">
                              <picker mode="date" class="date_iput" :class="item.disabled?'input-disabled':''"
                                 :disabled="item.disabled" :value="item.value" @change="onModelValue(item)">
                                 <view class="picker">{{item.value}}</view>
                              </picker>
                           </view>
                        </view>
                        <!-- 栅格布局 -->
                        <uni-row class="demo-uni-row" v-if="item.name=='Layout'">
                           <uni-col v-for="(cols,key) in item.setting.colList"
                              :span="item.setting.spanList?item.setting.spanList[key]:24 / item.setting.col">
                              <view v-if="cols!=null">
                                 <text class="txt_title"
                                    :style="{'width':cols.labelWidth+'px'}">{{cols.label}}:</text>
                                 <span class="form-item-span" v-if="cols.disabled">{{cols.value}}</span>
                                 <view class="dv_input"
                                    v-if="(cols.name=='Input' || cols.name=='InputNumber') && !cols.disabled">
                                    <text v-if="cols.setting.prefix" class="uni-icon"
                                       :class="[cols.setting.prefix]"
                                       @change="onChange(cols)">&#xe568;</text>
                                    <input class="uni-input" :class="cols.disabled?'input-disabled':''"
                                       :type="cols.name=='Input'?'text':cols.name=='InputNumber'?'number':'text'"
                                       v-model="cols.value" :disabled="cols.disabled"
                                       :placeholder="cols.placeholder"
                                       :style="{'width':cols.setting.prefix && cols.setting.suffix?'78%':cols.setting.prefix || cols.setting.suffix?'87%':'96%'}"
                                       :focus="focusMateria" @focus="ontap(cols)" @blur="onevent(cols)" />
                                    <text v-if="cols.setting.suffix" class="uni-icon"
                                       :class="[cols.setting.suffix]"
                                       @click="onChange(cols)">&#xe568;</text>
                                 </view>
                                 <!-- 下拉框-单选 cols.useDict?cols.dict:cols.selections-->
                                 <uni-data-select id="dv_select" v-if="cols.name=='Select' && !cols.disabled"
                                    :class="cols.disabled?'input-disabled':''" v-model="cols.value"
                                    :localdata="cols.dict" @change="onChange(cols)"
                                    :disabled="cols.disabled" :clear="false"></uni-data-select>
                                 <!-- 多行文本 -->
                                 <view class="input-wrapper" v-if="cols.name=='Textarea' && !cols.disabled">
                                    <textarea class="uni-input" :value="cols.value"
                                       :class="cols.disabled?'input-disabled':''"
                                       :placeholder="cols.placeholder" @blur="onModelValue(cols)"
                                       style="height:60px;" :style="{'width':'96%'}"
                                       :disabled="cols.disabled"></textarea>
                                 </view>
                                 <!-- 复选框 -->
                                 <checkbox-group class="check_rememberPwd" v-if="cols.name=='Checkbox'"
                                    :class="cols.disabled?'input-disabled':''" :disabled="item.disabled"
                                    @change="onModelValue(cols)" :data-ischeck="cols.value"
                                    :style="{'margin-left':'10rpx'}">
                                    <label>
                                       <checkbox :value="cols.value" :checked="cols.value" />
                                       <text>{{cols.label}}</text>
                                    </label>
                                 </checkbox-group>
                                 <!-- Switch开关 -->
                                 <switch v-if="cols.name=='Switch'"
                                    :class="cols.disabled?'input-disabled':''" :disabled="item.disabled"
                                    v-model="cols.value" @change="onModelValue(cols)"
                                    :style="{'margin-left':'10rpx'}" />
                                 <!-- 日期时间 -->
                                 <view class="input-wrapper"
                                    v-if="(cols.name=='TimePicker' || cols.name=='DatePicker') && !cols.disabled">
                                    <picker mode="date" class="date_iput"
                                       :class="cols.disabled?'input-disabled':''" :disabled="item.disabled"
                                       :value="cols.value" @change="onModelValue(cols)">
                                       <view class="picker">{{cols.value}}</view>
                                    </picker>
                                 </view>
                              </view>
                           </uni-col>
                        </uni-row>
         <view class="v-scroll-view">
            <scroll-view :scroll-top="scrollTop" :scroll-y="true" class="scroll-y" @scrolltolower="scrolltolower"
               @scroll="scroll">
               <view class="view-content" id="tabpanel">
                  <view class="dv-panel dv-panel-bkcolor" v-for="(style,ii) in detail1StyleDefList" :key="ii"
                     @click="onPanelClick(ii)" :id="'panel'+style.form.htmlobjId"
                     :class="activeItem == style?'bk-active':''">
                     <div class="dv-panel-button" v-if="param.ListPage.CheckBox==true">
                        <checkbox-group>
                           <label>
                              <checkbox :value="style.SelBut_Checked" :checked="style.SelBut_Checked" />
                           </label>
                        </checkbox-group>
                     </div>
                  </div>
                  <div class="dv-panel-button" v-if="param.ListPage.Click_View==true">
                     <a @click="onViewPageClick(style)"><i class="mobox-normal-right-arrow" /></a>
                  </div>
                  <div class="dv-panel-buticon" v-if="param.ListPage.ListItem_Button">
                     <view class="btn-padding" v-for="(btn,key) in param.ListPage.ListItem_Button">
                        <a @click="onBtnClick(btn,style)" :title="btn.ShowName" v-if="btn.Style=='img'">
                           <i :class="btn.Img" />
                        </a>
                        <button type="default" @click="onBtnClick(btn,style)" class="btn-padding"
                           v-else-if="btn.Style=='text'">{{btn.ShowName}}</button>
                     </view>
                  </div>
                     <!-- HTML页面类型显示 -->
                     <div class="dv-listHtml-Panel" v-if="ListHtml_Panel" v-html="ListHtml_Panel[ii]" :style="param.ListPage.CheckBox==true && param.ListPage.Click_View==true?'width:85%;':
              param.ListPage.CheckBox==false && param.ListPage.Click_View==true?'width:91%;':
              param.ListPage.CheckBox==true && param.ListPage.Click_View==false?'width:88%;':'width:100%;'">
                     </div>
                     <div class="dv-panel-input" v-if="!ListHtml_Panel" :style="param.ListPage.CheckBox==true && param.ListPage.Click_View==true?'width:85%;':
              param.ListPage.CheckBox==false && param.ListPage.Click_View==true?'width:91%;':
              param.ListPage.CheckBox==true && param.ListPage.Click_View==false?'width:88%;':'width:100%;'">
                        <div v-for="(item,index) in style.form.items">
                           <!-- 普通布局 -->
                           <view v-if="item.name!='Layout'">
                              <text class="txt_title"
                                 :style="{'width':item.labelWidth+'px'}">{{item.label}}:</text>
                              <span class="form-item-span" v-if="item.disabled">{{item.value}}</span>
                              <!-- 文本框/数字框 -->
                              <view class="dv_input"
                                 v-if="(item.name=='Input' || item.name=='InputNumber') && !item.disabled">
                                 <text v-if="item.setting.prefix" class="uni-icon"
                                    :class="[item.setting.prefix]" @change="onChange(item)">&#xe568;</text>
                                 <input class="uni-input" :class="item.disabled?'input-disabled':''"
                                    :type="item.name=='Input'?'text':item.name=='InputNumber'?'number':'text'"
                                    v-model="item.value" :disabled="item.disabled"
                                    :placeholder="item.placeholder"
                                    :style="{'width':item.setting.prefix && item.setting.suffix?'78%':item.setting.prefix || item.setting.suffix?'87%':'96%'}"
                                    :focus="focusMateria" @focus="ontap(item)" @blur="onevent(item)" />
                                 <text v-if="item.setting.suffix" class="uni-icon"
                                    :class="[item.setting.suffix]" @click="onChange(item)">&#xe568;</text>
                              </view>
                              <!-- 下拉框-单选 item.useDict?item.dict:item.selections-->
                              <uni-data-select id="dv_select" v-if="item.name=='Select' && !item.disabled"
                                 :class="item.disabled?'input-disabled':''" v-model="item.value"
                                 :localdata="item.dict" @change="onChange(item)" :disabled="item.disabled"
                                 :clear="false"></uni-data-select>
                              <!-- 多行文本 -->
                              <view class="input-wrapper" v-if="item.name=='Textarea' && !item.disabled">
                                 <textarea class="uni-input" :value="item.value"
                                    :class="item.disabled?'input-disabled':''"
                                    :placeholder="item.placeholder" @blur="onModelValue(item)"
                                    style="height:60px;" :style="{'width':'96%'}"
                                    :disabled="item.disabled"></textarea>
                              </view>
                              <!-- 复选框 -->
                              <checkbox-group class="check_rememberPwd" v-if="item.name=='Checkbox'"
                                 :class="item.disabled?'input-disabled':''" @change="onModelValue(item)"
                                 :data-ischeck="item.value" :disabled="item.disabled"
                                 :style="{'margin-left':'10rpx'}">
                                 <label>
                                    <checkbox :value="item.value" :checked="item.value" />
                                    <text>{{item.label}}</text>
                                 </label>
                              </checkbox-group>
                              <!-- Switch开关 -->
                              <switch v-if="item.name=='Switch'" :class="item.disabled?'input-disabled':''"
                                 :disabled="item.disabled" v-model="item.value" @change="onModelValue(item)"
                                 :style="{'margin-left':'10rpx'}" />
                              <!-- 日期时间 -->
                              <view class="input-wrapper"
                                 v-if="(item.name=='TimePicker' || item.name=='DatePicker') && !item.disabled">
                                 <picker mode="date" class="date_iput"
                                    :class="item.disabled?'input-disabled':''" :disabled="item.disabled"
                                    :value="item.value" @change="onModelValue(item)">
                                    <view class="picker">{{item.value}}</view>
                                 </picker>
                              </view>
                           </view>
                           <!-- 栅格布局 -->
                           <uni-row class="demo-uni-row" v-if="item.name=='Layout'">
                              <uni-col v-for="(cols,key) in item.setting.colList"
                                 :span="item.setting.spanList?item.setting.spanList[key]:24 / item.setting.col">
                                 <view v-if="cols!=null">
                                    <text class="txt_title"
                                       :style="{'width':cols.labelWidth+'px'}">{{cols.label}}:</text>
                                    <span class="form-item-span" v-if="cols.disabled">{{cols.value}}</span>
                                    <view class="dv_input"
                                       v-if="(cols.name=='Input' || cols.name=='InputNumber') && !cols.disabled">
                                       <text v-if="cols.setting.prefix" class="uni-icon"
                                          :class="[cols.setting.prefix]"
                                          @change="onChange(cols)">&#xe568;</text>
                                       <input class="uni-input" :class="cols.disabled?'input-disabled':''"
                                          :type="cols.name=='Input'?'text':cols.name=='InputNumber'?'number':'text'"
                                          v-model="cols.value" :disabled="cols.disabled"
                                          :placeholder="cols.placeholder"
                                          :style="{'width':cols.setting.prefix && cols.setting.suffix?'78%':cols.setting.prefix || cols.setting.suffix?'87%':'96%'}"
                                          :focus="focusMateria" @focus="ontap(cols)"
                                          @blur="onevent(cols)" />
                                       <text v-if="cols.setting.suffix" class="uni-icon"
                                          :class="[cols.setting.suffix]"
                                          @click="onChange(cols)">&#xe568;</text>
                                    </view>
                                    <!-- 下拉框-单选 cols.useDict?cols.dict:cols.selections-->
                                    <uni-data-select id="dv_select"
                                       v-if="cols.name=='Select' && !cols.disabled"
                                       :class="cols.disabled?'input-disabled':''" v-model="cols.value"
                                       :localdata="cols.dict" @change="onChange(cols)"
                                       :disabled="cols.disabled" :clear="false"></uni-data-select>
                                    <!-- 多行文本 -->
                                    <view class="input-wrapper"
                                       v-if="cols.name=='Textarea' && !cols.disabled">
                                       <textarea class="uni-input" :value="cols.value"
                                          :class="cols.disabled?'input-disabled':''"
                                          :placeholder="cols.placeholder" @blur="onModelValue(cols)"
                                          style="height:60px;" :style="{'width':'96%'}"
                                          :disabled="cols.disabled"></textarea>
                                    </view>
                                    <!-- 复选框 -->
                                    <checkbox-group class="check_rememberPwd" v-if="cols.name=='Checkbox'"
                                       :class="cols.disabled?'input-disabled':''" :disabled="item.disabled"
                                       @change="onModelValue(cols)" :data-ischeck="cols.value"
                                       :style="{'margin-left':'10rpx'}">
                                       <label>
                                          <checkbox :value="cols.value" :checked="cols.value" />
                                          <text>{{cols.label}}</text>
                                       </label>
                                    </checkbox-group>
                                    <!-- Switch开关 -->
                                    <switch v-if="cols.name=='Switch'"
                                       :class="cols.disabled?'input-disabled':''" :disabled="item.disabled"
                                       v-model="cols.value" @change="onModelValue(cols)"
                                       :style="{'margin-left':'10rpx'}" />
                                    <!-- 日期时间 -->
                                    <view class="input-wrapper"
                                       v-if="(cols.name=='TimePicker' || cols.name=='DatePicker') && !cols.disabled">
                                       <picker mode="date" class="date_iput"
                                          :class="cols.disabled?'input-disabled':''"
                                          :disabled="item.disabled" :value="cols.value"
                                          @change="onModelValue(cols)">
                                          <view class="picker">{{cols.value}}</view>
                                       </picker>
                                    </view>
                                 </view>
                              </uni-col>
                           </uni-row>
                        </div>
                     </div>
                     <div class="dv-panel-button" v-if="param.ListPage.Click_View==true">
                        <a @click="onViewPageClick(style)"><i class="mobox-normal-right-arrow" /></a>
                     </div>
                     <div class="dv-panel-buticon" v-if="param.ListPage.ListItem_Button">
                        <view class="btn-padding" v-for="(btn,key) in param.ListPage.ListItem_Button">
                           <a @click="onBtnClick(btn,style)" :title="btn.ShowName" v-if="btn.Style=='img'">
                              <i :class="btn.Img" />
                           </a>
                           <button type="default" @click="onBtnClick(btn,style)" class="btn-padding"
                              v-else-if="btn.Style=='text'">{{btn.ShowName}}</button>
                        </view>
                     </div>
                  </view>
               </view>
            </view>
         </scroll-view>
            </scroll-view>
         </view>
      </view>
      <view class="view-floor">
@@ -238,11 +246,10 @@
            },
            detail1_styledef: {},
            detail1StyleDefList: [],
            detail2_styledef: {},
            detail2StyleDefList: [],
            items: [],
            active_id: '',
            activelist: [],
            //activelist: [],
            activeItem: {},
            where: '',
            wheres: '',
            orderby: '',
@@ -283,8 +290,6 @@
         };
         this.detail1_styledef = {};
         this.detail1StyleDefList = [];
         this.detail2_styledef = {};
         this.detail2StyleDefList = [];
         this.ListHtml_Panel = "";
         this.ListPageHtml_Show = {
            name: "",
@@ -295,7 +300,8 @@
         };
         this.items = [];
         this.active_id = '';
         this.activelist = [];
         this.activeItem = {};
         //this.activelist = [];
         if (this.param.ListPage.ListItem_UIDef?.ui_type == "HTML页面") {
            // HTML页面
@@ -400,6 +406,7 @@
               this.pageindex = 1;
               this.page_size = 3;
               this.query_id = "";
               this.detail1StyleDefList = [];
               await this.loadDataGetList();
            }
@@ -444,12 +451,15 @@
                  $this.$data.head_styledef = ret.result.style_def ? JSON.parse(styledef) : {};
                  // this.form = this.head_styledef.form.model;
                  // console.log($this.$data.head_styledef);
                  $this.head_styledef.form.items.forEach(async (ele, index) => {
                     console.log(ele.useDict);
                     if (ele.useDict == true) { //判断useDict是否使用字典
                        await this.DictGetInfo(ele.bind.dict, index, 'mast');
                     }
                  });
                  if ($this.head_styledef.form?.items) {
                     $this.head_styledef.form.items.forEach(async (ele, index) => {
                        console.log(ele.useDict);
                        if (ele.useDict == true) { //判断useDict是否使用字典
                           await this.DictGetInfo(ele.bind.dict, index, 'mast');
                        }
                     });
                  }
               } else {
                  uni.showModal({
@@ -562,45 +572,34 @@
               dict_id: dict.id,
               dict_name: dict.name
            };
            // console.log(dataInfo);
            this.$store.dispatch('DictGetInfo', dataInfo).then(async (success) => {
               console.log(success);
               if (success.err_code == 0) {
                  if (type == 'mast') {
                     var list = [];
                     var itemName = '';
                     success.result.dict_item_list.forEach((item) => {
                        if (item.is_default == '1')
                           itemName = item.name;
                        list.push({
                           text: item.value,
                           value: item.name,
                        });
            try {
               const success = await this.getDictInfo(dataInfo)
               if (type == 'mast') {
                  var list = [];
                  var itemName = '';
                  success.result.dict_item_list.forEach((item) => {
                     if (item.is_default == '1')
                        itemName = item.name;
                     list.push({
                        text: item.value,
                        value: item.name,
                     });
                     //有默认值,显示默认值
                     if (itemName) {
                        $this.head_styledef.form.items[index].value = itemName;
                        var attr = $this.head_styledef.form.items[index].fieldId;
                        $this.head_styledef.form.model[attr] = itemName;
                     }
                     $this.head_styledef.form.items[index].dict = list;
                     var head_styledef = JSON.parse(JSON.stringify($this.head_styledef));
                     $this.head_styledef = [];
                     $this.head_styledef = head_styledef;
                  } else {
                     // $this.$data.subClassAttrList[index].attr_list[key].dictitem=success.result;
                     // this.$store.commit("subClassAttrList", $this.$data.subClassAttrList);
                  }
               } else {
                  uni.showModal({
                     title: this.translateSys("error") + "3.1",
                     content: success.err_msg,
                     showCancel: false,
                     confirmText: this.translateSys("cancel")
                  });
                  //有默认值,显示默认值
                  if (itemName) {
                     $this.head_styledef.form.items[index].value = itemName;
                     var attr = $this.head_styledef.form.items[index].fieldId;
                     $this.head_styledef.form.model[attr] = itemName;
                  }
                  $this.head_styledef.form.items[index].dict = list;
                  var head_styledef = JSON.parse(JSON.stringify($this.head_styledef));
                  $this.head_styledef = [];
                  $this.head_styledef = head_styledef;
               } else {
                  // $this.$data.subClassAttrList[index].attr_list[key].dictitem=success.result;
                  // this.$store.commit("subClassAttrList", $this.$data.subClassAttrList);
               }
            }).catch(ex => {
            } catch (ex) {
               // console.log(ex);
               uni.showModal({
                  title: this.translateSys("error") + "3",
@@ -608,7 +607,108 @@
                  showCancel: false,
                  confirmText: this.translateSys("cancel")
               });
            });
            }
         },
         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);
                  }
               })
            })
         },
         // 执行查询事件
@@ -673,7 +773,6 @@
                              });
                           } else {
                              // this.detail2StyleDefList=[];
                              if (result.info) {
                                 uni.showModal({
                                    title: this.translateSys("tip"),
@@ -752,6 +851,7 @@
                        if (ret.result.page_count > 1) $this.query_id = ret.result.query_id;
                        // console.log($this.ListPageHtml_Show.event);
                        if ($this.ListPageHtml_Show.event.id) {
                           const detail1StyleDefList = $this.detail1StyleDefList
                           ret.result.obj_list.forEach((obj) => {
                              var info = {
                                 id: obj.id,
@@ -768,12 +868,17 @@
                                 .replace('{', '').replace('}', '') : 'null';
                              detailStyle.form.objId = obj.id;
                              detailStyle.form.attrs = obj.attr_list;
                              $this.detail1StyleDefList.push(detailStyle);
                              $this.activelist.push({
                                 active: false
                              });
                              detail1StyleDefList.push(detailStyle);
                              // $this.activelist.push({
                              //    active: false
                              // });
                           });
                           // console.log(this.detail1StyleDefList);
                           $this.setData({
                              detail1StyleDefList: detail1StyleDefList
                           })
                           var jsonlist = [];
                           $this.detail1StyleDefList.forEach(attr => {
                              jsonlist.push({
@@ -799,6 +904,7 @@
                           });
                        } else {
                           // $this.detail1StyleDefList=[];
                           const detail1StyleDefList = []
                           ret.result.obj_list.forEach((obj) => {
                              var styleStr = JSON.stringify($this.detail1_styledef);
                              var detailStyle = JSON.parse(styleStr);
@@ -829,12 +935,15 @@
                                 .replace('{', '').replace('}', '') : 'null';
                              detailStyle.form.objId = obj.id;
                              detailStyle.form.attrs = obj.attr_list;
                              $this.detail1StyleDefList.push(detailStyle);
                              $this.activelist.push({
                                 active: false
                              });
                              detail1StyleDefList.push(detailStyle);
                              // $this.activelist.push({
                              //    active: false
                              // });
                              //list.push(info);
                           });
                           $this.setData({
                              detail1StyleDefList: detail1StyleDefList
                           })
                        }
                        // 解决view层不同步的问题
@@ -1127,8 +1236,7 @@
               if (!this.ListPageHtml_Show.event.id) {
                  //判断没有HTML页面事件
                  // console.log(this.detail2_styledef);
                  this.detail2_styledef.form.items.forEach(async (ele, index) => {
                  this.head_styledef.form.items.forEach(async (ele, index) => {
                     if (ele.name != "Layout") {
                        if (!obj_attr[ele.fieldId]) {
                           obj_attr[ele.fieldId] = ele.value;
@@ -1226,31 +1334,32 @@
         },
         //跳转
         async RelatedFunction(btn, style, enviroment) {
            const defCode = btn.Related_Function?.Def_Code
            var $this = this;
            if (
               btn.Related_Function?.Def_Code == "3018" ||
               btn.Related_Function?.Def_Code == "3037" ||
               btn.Related_Function?.Def_Code == "3200" ||
               btn.Related_Function?.Def_Code == "3201" ||
               btn.Related_Function?.Def_Code == "5600" ||
               btn.Related_Function?.Def_Code == "5601" ||
               btn.Related_Function?.Def_Code == "5602"
               defCode == "3018" ||
               defCode == "3037" ||
               defCode == "3200" ||
               defCode == "3201" ||
               defCode == "5600" ||
               defCode == "5601" ||
               defCode == "5602"
            ) {
               let name = btn.Related_Function?.Def_Code
               if (btn.Related_Function?.Def_Code == "3018" || btn.Related_Function?.Def_Code == "3037")
                  name = btn.Related_Function?.Def_Code + "_2"
               var $this = this;
               let name = defCode
               if (defCode == "3018" || defCode == "3037")
                  name = defCode + "_2"
               var json = {
                  app_id: appId,
                  app_id: [btn.Related_Function.ID],
               };
               console.log("RelatedFunction2", json);
               this.$store.dispatch('appGetInfo', json).then(success => {
                  // console.log(success);
                  console.log(success);
                  if (success.err_code == 0) {
                     if ((success.result || []).length > 0) {
                        const app = success.result[0]
                        var param = "";
                        var appName = app.list_name || app.name
                        var appName = app.list_name || app.name
                           .Name;
                        var paramStr = app.param
                        if (paramStr) {
@@ -1298,7 +1407,7 @@
                     });
                  }
               }).catch(ex => {
                  // console.log(ex);
                  console.log(ex);
                  uni.showModal({
                     title: this.translateSys("error"),
                     content: ex.errMsg,
@@ -1518,7 +1627,6 @@
                                 }
                              });
                           } else {
                              // this.detail2StyleDefList=[];
                              if (result.info) {
                                 uni.showModal({
                                    title: this.translateSys("tip"),
@@ -1565,10 +1673,13 @@
         //点中表单
         onPanelClick(value) { //点击面板高亮显示
            // console.log(value);
            this.activelist.forEach(ele => {
               ele.active = false;
            });
            this.activelist[value].active = true;
            this.setData({
               activeItem: this.detail1StyleDefList[value]
            })
            // this.activelist.forEach(ele => {
            //    ele.active = false;
            // });
            // this.activelist[value].active = true;
         },
         //事件处理
@@ -1671,7 +1782,6 @@
                              }
                           });
                        } else {
                           // this.detail2StyleDefList=[];
                           if (result.info) {
                              uni.showModal({
                                 title: this.translateSys("tip"),
@@ -1931,8 +2041,13 @@
      },
   };
</script>
<style lang="scss">
<style lang="less">
   .uni-page-modal-3200 {
      display: flex;
      flex-direction: column;
      height: calc(100vh - 30rpx);
      padding: 15rpx 0;
      .v-headStyle:first-child {
         margin-top: 15rpx;
      }
@@ -2000,13 +2115,21 @@
      }
      .v-content {
         height: 945rpx;
         overflow: hide;
         flex: 1;
         display: flex;
         width: 100%;
         flex-direction: column;
         min-height: 100px;
         overflow: hidden;
         /* border:0.1px solid red; */
      }
      .view-content {
         width: 100%;
         display: flex;
         margin-top: 10rpx;
         flex-direction: column;
      }
      .dv-panel-bkcolor {
@@ -2119,7 +2242,8 @@
      }
      .view-floor {
         padding: 0 20rpx;
         width: calc(100% - 20rpx);
         padding: 10rpx;
         /* border:1px solid red; */
      }
@@ -2229,7 +2353,14 @@
         border-radius: 10rpx;
      }
      .scroll-Y {
      .v-scroll-view {
         flex: 1;
         overflow: hidden;
         width: 98%;
      }
      .scroll-y {
         width: 100%;
         height: 100%;
      }