From d84283821bb08d81d887f20a7118caf25b8b2714 Mon Sep 17 00:00:00 2001
From: cuiqian2004 <cuiqian2004@163.com>
Date: 星期二, 27 八月 2024 18:29:10 +0800
Subject: [PATCH] 判断接口返回值是否是字符串,然后解析

---
 pages/modal/3200.vue |  697 +++++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 421 insertions(+), 276 deletions(-)

diff --git a/pages/modal/3200.vue b/pages/modal/3200.vue
index 963b950..71ac1bf 100644
--- a/pages/modal/3200.vue
+++ b/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: '',
@@ -273,7 +280,39 @@
 			}); //璁剧疆椤堕儴鏍囬 
 			this.$data.title = options.titlename;
 			this.$data.param = JSON.parse(options.param);
-			this.initial( options.paramValue);
+
+
+			this.styledef = {};
+			this.head_styledef = {
+				form: {
+					items: []
+				}
+			};
+			this.detail1_styledef = {};
+			this.detail1StyleDefList = [];
+			this.ListHtml_Panel = "";
+			this.ListPageHtml_Show = {
+				name: "",
+				event: {
+					id: "",
+					name: ""
+				}
+			};
+			this.items = [];
+			this.active_id = '';
+			this.activeItem = {};
+			//this.activelist = [];
+
+			if (this.param.ListPage.ListItem_UIDef?.ui_type == "HTML椤甸潰") {
+				// HTML椤甸潰
+				//鑾峰彇鏁版嵁绫荤殑HTML椤甸潰
+				await this.Html_UIstyleGetInfo(this.param.DataCls.id, this.param.ListPage.ListItem_UIDef.id, options
+					.paramValue);
+			} else {
+				await this.Detail1_UIstyleGetInfo(this.param.DataCls.id, this.param.ListPage.ListItem_UIDef.id);
+
+				await this.initial(options.paramValue);
+			}
 			// this.isFilter=true;
 			// if(this.param.ShowFilter)
 			//   this.isFilter=false;
@@ -308,7 +347,7 @@
 				let that = this;
 				let keys = [];
 				let val, data;
-			
+
 				Object.keys(obj).forEach(function(key) {
 					keys = key.split(".");
 					val = obj[key];
@@ -325,31 +364,9 @@
 					});
 				});
 			},
-			
+
 			//鍒濆鍖� 			async initial(paramValue) {
-				this.styledef = {};
-				this.head_styledef = {
-					form: {
-						items: []
-					}
-				};
-				this.detail1_styledef = {};
-				this.detail1StyleDefList = [];
-				this.detail2_styledef = {};
-				this.detail2StyleDefList = [];
-				this.items = [];
-				this.active_id = '';
-				this.activelist = [];
-				this.ListHtml_Panel = "";
-				this.ListPageHtml_Show = {
-					name: "",
-					event: {
-						id: "",
-						name: ""
-					}
-				};
-
 				this.isFilter = true;
 				if (this.param.ShowFilter)
 					this.isFilter = false;
@@ -381,13 +398,6 @@
 						})
 					}
 				}
-				if (this.param.ListPage.ListItem_UIDef?.ui_type == "HTML椤甸潰") {
-					// HTML椤甸潰
-					//鑾峰彇鏁版嵁绫荤殑HTML椤甸潰
-					await this.Html_UIstyleGetInfo(this.param.DataCls.id, this.param.ListPage.ListItem_UIDef.id);
-				} else {
-					await this.Detail1_UIstyleGetInfo(this.param.DataCls.id, this.param.ListPage.ListItem_UIDef.id);
-				}
 				this.orderby = this.param.Order ? this.param.Order : 'T_CREATE Desc';
 				if (this.param.Query_Event) {
 					await this.onSearChange(this.param.DataCls.id, this.param.Query_Event.id);
@@ -396,6 +406,7 @@
 					this.pageindex = 1;
 					this.page_size = 3;
 					this.query_id = "";
+					this.detail1StyleDefList = [];
 					await this.loadDataGetList();
 				}
 
@@ -440,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({
@@ -510,7 +524,7 @@
 				});
 
 			},
-			async Html_UIstyleGetInfo(class_id, style_id) { //鑾峰彇鑷畾涔夎〃鍗曟牱寮�+			async Html_UIstyleGetInfo(class_id, style_id, paramValue) { //鑾峰彇鑷畾涔夎〃鍗曟牱寮� 				var $this = this;
 				var dataInfo = {
 					class_id: class_id,
@@ -527,8 +541,11 @@
 							if (!ret.result.style_def.includes('"')) styledef = Base64.decode(ret.result
 								.style_def);
 						}
+						// console.log(styledef);
 						$this.ListPageHtml_Show = ret.result.style_def ? JSON.parse(styledef) : {};
 						// console.log($this.ListPageHtml_Show);
+
+						$this.initial(paramValue);
 					} else {
 						uni.showModal({
 							title: this.translateSys("error") + "10",
@@ -555,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",
@@ -601,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('灏唃etDictInfo銆恓son string銆戣浆鎹负銆恓son 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('灏唃etUIStyleInfo銆恓son string銆戣浆鎹负銆恓son object銆戝け璐�)
+								}
+							}
+							if (ret.err_code == 0) {
+								resolve(ret);
+							} else {
+								reject({
+									"errMsg": ret.err_msg || ret.errMsg
+								});
+							}
+						},
+						fail: (err) => {
+							// console.log(err);
+							reject(err);
+						}
+					})
+
+				})
+
 			},
 
 			// 鎵ц鏌ヨ浜嬩欢
@@ -666,7 +773,6 @@
 
 										});
 									} else {
-										// this.detail2StyleDefList=[];
 										if (result.info) {
 											uni.showModal({
 												title: this.translateSys("tip"),
@@ -743,7 +849,9 @@
 							if (ret.result) {
 								$this.page_count = ret.result.page_count;
 								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,
@@ -760,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({
@@ -791,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);
@@ -821,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
+									})
 								}
 
 								// 瑙e喅view灞備笉鍚屾鐨勯棶棰�@@ -986,6 +1103,13 @@
 					if (btn.FunCode == "Add" || btn.FunCode == "Modify") {
 						if (btn.Edit_dlg.Model == "small") {
 							this.showAddSmallDialog(btn, style, enviroment);
+						} else {
+							uni.showModal({
+								title: this.translateSys("tip"),
+								content: this.translateSys("unrealized"),
+								showCancel: false,
+								confirmText: this.translateSys("cancel")
+							});
 						}
 					} else if (btn.FunCode == "Delete") {
 						this.DeleteObj(btn, style, enviroment);
@@ -1112,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;
@@ -1211,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.name || app.list_name
+								var appName = app.list_name || app.name
 									.Name;
 								var paramStr = app.param
 								if (paramStr) {
@@ -1283,7 +1407,7 @@
 							});
 						}
 					}).catch(ex => {
-						// console.log(ex);
+						console.log(ex);
 						uni.showModal({
 							title: this.translateSys("error"),
 							content: ex.errMsg,
@@ -1291,15 +1415,14 @@
 							confirmText: this.translateSys("cancel")
 						});
 					});
-				}
-				else{
+				} else {
 					uni.showModal({
 						title: this.translateSys("error"),
 						content: this.translate("cannot_related_function"),
 						showCancel: false,
 						confirmText: this.translateSys("cancel")
 					});
-					
+
 				}
 			},
 			//鎵ц鍚庡鐞嗕簨浠�@@ -1504,7 +1627,6 @@
 											}
 										});
 									} else {
-										// this.detail2StyleDefList=[];
 										if (result.info) {
 											uni.showModal({
 												title: this.translateSys("tip"),
@@ -1551,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;
 			},
 
 			//浜嬩欢澶勭悊
@@ -1657,7 +1782,6 @@
 										}
 									});
 								} else {
-									// this.detail2StyleDefList=[];
 									if (result.info) {
 										uni.showModal({
 											title: this.translateSys("tip"),
@@ -1917,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;
 		}
@@ -1986,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 {
@@ -2105,7 +2242,8 @@
 		}
 
 		.view-floor {
-			padding: 0 20rpx;
+			width: calc(100% - 20rpx);
+			padding: 10rpx;
 			/* border:1px solid red; */
 		}
 
@@ -2215,7 +2353,14 @@
 			border-radius: 10rpx;
 		}
 
-		.scroll-Y {
+		.v-scroll-view {
+			flex: 1;
+			overflow: hidden;
+			width: 98%;
+		}
+
+		.scroll-y {
+			width: 100%;
 			height: 100%;
 		}
 

--
Gitblit v1.9.1