From ca2af88ae27813fae3e2ed09ac13fa8985463e1b Mon Sep 17 00:00:00 2001
From: jt <jt@activesoft.com.cn>
Date: 星期一, 25 三月 2024 13:43:13 +0800
Subject: [PATCH] 3200功能点HTML页面显示样式列表样式的菱形样式改进

---
 pages/modal/3200.vue |  784 ++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 537 insertions(+), 247 deletions(-)

diff --git a/pages/modal/3200.vue b/pages/modal/3200.vue
index 4e638ca..3e0d710 100644
--- a/pages/modal/3200.vue
+++ b/pages/modal/3200.vue
@@ -59,8 +59,8 @@
 }
 .v-content{
 	height: 945rpx;
-	overflow: auto;
-	/* border:1px solid red; */
+	overflow: hide;
+	/* border:0.1px solid red; */
 }
 .view-content{
 	margin-top: 10rpx;
@@ -70,11 +70,12 @@
 }
 .dv-panel{ 
     background-color:#efefef;
-    padding: 20rpx 20rpx 4rpx 0px;
+    padding: 20rpx 20rpx 20rpx 0px;
     border-radius: 12rpx;
     margin-bottom: 20rpx;
 	text-align: right;
 }
+.dv-listHtml-Panel,
 .dv-panel-input{
     vertical-align: middle;
     width: 91%;
@@ -82,23 +83,23 @@
     text-align: left;
 }
 .dv-panel-buticon{
-  line-height: 50rpx;
+  line-height: 0rpx;
   text-align: left;
   /* font-size: 17px; */
   padding: 0 30rpx;
 }
 .dv-panel-buticon .btn-padding{
-    padding: 20rpx;
+    padding: 0rpx 20rpx;
 	display: inline-block;
 	vertical-align: middle;
 }
 .dv-panel-buticon a i { 
-	font-size: 44rpx;
+	font-size: 38rpx;
 }
 .dv-panel-buticon button{
 	min-width: 120rpx;
     font-size: 32rpx;
-	padding: 20rpx 20rpx;
+	padding: 20rpx 20rpx 0rpx 20rpx;
 	line-height: 1;
 	background: #4D6AF4;
 	border: none;
@@ -145,6 +146,10 @@
 .dv-panel-button checkbox-group { 
 	display: inline-block;
 }
+.dv-panel-button uni-checkbox .uni-checkbox-input{
+	width: 34rpx;
+	height: 34rpx;
+}
 .dv-panel-button a i { 
 	font-size: 36rpx;
 }
@@ -189,7 +194,7 @@
   background-color: #D6FCB2;
 }
 .uni-padding-wrap{
-  margin-top: 14rpx;
+  margin-top: 20rpx;
   background-color: #98DAEA;
   width: 104rpx;
   height: 80rpx;
@@ -227,6 +232,88 @@
 .input-disabled{
 	background-color: #f3f3f3 !important;
 }
+
+.dv_panel_condent{
+    background-color:#D6FCB2;
+    padding: 20rpx;
+    border-radius: 12rpx;
+}
+.dv_panel_attr{
+	margin-bottom: 10rpx;
+}
+.dv_panel_attr .dv_inline{
+	display: inline-block;
+	text-align: center;
+}
+.dv_panel_attr i{
+	vertical-align: 25px;
+	margin: 0 10px;
+}
+.dv_panel_attr .dv_inline p{
+	background: #4D6AF4;
+	color: #fff;
+	padding: 10rpx 15rpx;
+	line-height: 1.5;
+    border-radius: 10rpx;
+}
+.scroll-Y {
+	height: 100%;
+}
+.scroll-view_H {
+	white-space: nowrap;
+	width: 100%;
+}
+
+.dv_panel_content{
+    margin: 0 10px;
+}
+.dv_panel_content .dv_panel_attr{
+    margin-bottom: 5px;
+}
+.dv_panel_content .dv_panel_attr i{
+    vertical-align: super;
+    margin: 0 10px;
+}
+.dv_panel_content .dv_panel_attr .circel_node{}
+/* 鏄彵褰㈢殑 */
+.dv_panel_content .dv_panel_attr .dv_diamond_node p{
+	width: 50px;
+	height: 50px;
+	background-color: #4D6AF4;
+	transform: rotate(45deg);
+	-ms-transform: rotate(45deg);
+	-moz-transform: rotate(45deg);
+	-webkit-transform: rotate(45deg);
+	-o-transform: rotate(45deg);
+	margin: 15px auto;
+	padding: 9px;
+	// line-height: 28px;
+	text-align: center;
+}
+.dv_panel_content .dv_panel_attr .dv_diamond_node p span{
+    color: #fff;
+	transform: rotate(-45deg);
+	display: inline-block;
+	text-align: center;
+	overflow: hidden;
+	text-overflow: ellipsis;
+	// white-space: nowrap;
+}
+/* 榛樿褰�*/
+.dv_panel_content .dv_panel_attr .dv_box_node,
+.dv_panel_content .dv_panel_attr .dv_diamond_node{
+	vertical-align: middle;
+	display: inline-block;
+	text-align: center;
+	width: 100px;
+}
+.dv_panel_content .dv_panel_attr .dv_box_node p{
+    background: #4D6AF4;
+    color: #fff;
+    padding: 3px 7px;
+    line-height: 1.5;
+    border-radius: 5px;
+}
 </style>
 <style lang="scss">
 	.demo-uni-row {
@@ -246,7 +333,6 @@
 	.demo-uni-row .uni-input{
 		width: calc(100% - 120px);
 	}
-	
 </style>
 
 <template>
@@ -260,7 +346,7 @@
 				:class="item.disabled?'input-disabled':''"
 				v-model="item.value"
 				:localdata="item.dict"
-				@change="onchange(item)"
+				@change="onChange(item)"
 				:disabled="item.disabled"
 				:clear="false"
 			></uni-data-select>
@@ -288,191 +374,218 @@
 		    </view>
 		</view>
 		
-		<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>
-		    <div class="dv-panel-input" 
-		      :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>
+		<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 class="dv_panel_content">
+						<div class="dv_panel_attr">
+						  <label>No锛�/label>
+						  <span>TA240129-00001</span>
+						</div>
+						<div class="dv_panel_attr">
+						  <div class="dv_box_node">
+							<p><span>姣涙枡绾胯竟</span></p>
+							<label>L002-1</label>
+						  </div>
+						  <i class="mobox-normal-right"></i>
+						  <div class="dv_box_node">
+							<p><span>姣涙枡绾胯竟</span></p>
+							<label>L003-3</label>
+						  </div>
+						</div>
+					</div> -->
+				</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>
+		</scroll-view>
 	  </view>
 		
 	  <view class="view-floor">
@@ -504,6 +617,16 @@
 	else
 	    this.isFilter=true;
   },
+  onBackPress(e){
+	// console.log("鐩戝惉杩斿洖鎸夐挳浜嬩欢",e);
+	var eventChannel = this.$scope.eventChannel;
+	// const eventChannel = this.getOpenerEventChannel();
+	eventChannel.emit('view_3201',"");
+	// uni.navigateBack({
+	// 	delta:1 ,//杩斿洖灞傛暟锛�鍒欎笂涓婇〉
+	// });
+	// return true;
+  },	
   data() {
     return {
 	  title:'鏂板',
@@ -523,8 +646,27 @@
 	  items: [],
       active_id:'',
 	  activelist:[],
+      where:'',
       wheres:'',
       orderby:'',
+      query_id:'',
+      pageindex:1,
+      page_size:10,
+      page_count:0,
+	  scrollTop: 0,
+	  old: {
+	  	scrollTop: 0
+	  },
+	  isScroll:true,
+	  //鑾峰彇鏁版嵁绫荤殑HTML椤甸潰
+	  ListHtml_Panel:"",
+	  ListPageHtml_Show: {
+	  	name: "",
+	  	event: {
+	  		id: "",
+	  		name: ""
+	  	}
+	  },
     };
   },
   async onLoad(options) {
@@ -536,13 +678,24 @@
 	if(this.param.ShowFilter)
 	  this.isFilter=false;
 	//鑾峰彇鏁版嵁绫荤殑鑷畾涔夎〃鍗曞弬鏁�-	this.Head_UIStyleGetInfo(this.param.DataCls.id,this.param.Query_Panel.id);
-	await this.Detail1_UIstyleGetInfo(this.param.DataCls.id,this.param.ListPage.ListItem_UIDef.id);
+	if(this.param.Query_Panel){
+		this.Head_UIStyleGetInfo(this.param.DataCls.id,this.param.Query_Panel.id);
+	}
+	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);
 	} else{
 	  this.wheres = this.param.Condition;
+	  this.pageindex = 1;
+	  this.page_size = 3;
+	  this.query_id = "";
 	  await this.loadDataGetList();
 	}
 	console.log(this.$data.param);
@@ -550,6 +703,25 @@
 	// this.focusMateria=true; 
   },	
   methods: {
+	//婊氬姩鍒板簳閮ㄥ悗鎳掑姞杞芥暟鎹�+	async scrolltolower(e) {
+		// console.log(e)
+		if(this.isScroll){ //鍒ゆ柇鍒锋柊涓�鍚庝笉浼氭寔缁埛鏂�+			if(this.page_count==this.pageindex){
+				return;
+			}
+			this.pageindex += 1;
+			if(this.where || this.page_count==1) {
+			  this.query_id = "";
+			  this.detail1StyleDefList=[];
+			}
+			await this.loadDataGetList();
+		}
+	},
+	scroll: function(e) {
+		// console.log(e.detail.scrollTop)
+		this.old.scrollTop = e.detail.scrollTop
+	},
 	async Head_UIStyleGetInfo(class_id,style_id){   //鑾峰彇鑷畾涔夎〃鍗曟牱寮� 		var $this = this;
 		var dataInfo={
@@ -603,7 +775,7 @@
 				     if(!ret.result.style_def.includes('"')) styledef = Base64.decode(ret.result.style_def);
 				}
 				$this.$data.detail1_styledef = ret.result.style_def? JSON.parse(styledef): {};
-				$this.$data.detail1_styledef.SelBut_Checked = true;
+				$this.$data.detail1_styledef.SelBut_Checked = false;
 				// console.log($this.$data.detail1_styledef);
 				// $this.$data.detail1StyleDefList.push($this.$data.detail1_styledef);
 				// var aa = JSON.stringify(this.detail1_styledef);
@@ -618,6 +790,44 @@
 			uni.showModal({title:"閿欒2.1",content:ex.errMsg,showCancel:false,confirmText:"鍙栨秷"});
 		});
 	    
+	},
+	async Html_UIstyleGetInfo(class_id, style_id) { //鑾峰彇鑷畾涔夎〃鍗曟牱寮�+		var $this = this;
+		var dataInfo = {
+			class_id: class_id,
+			ui_style_id: style_id,
+		};
+		this.$store.dispatch('UIStyleGetInfo', dataInfo).then(ret => {
+			// console.log(ret);
+			if (ret.err_code == 0) {
+				var styledef = "";
+				if (ret.result.style_def) {
+					//mobox2鐨剆tyle_def鏄痡son瀛楃涓�+					styledef = ret.result.style_def.replace(/\\/g, "");
+					//mobox3鐨剆tyle_def鏄痓ase64瀛楃涓�+					if (!ret.result.style_def.includes('"')) styledef = Base64.decode(ret.result
+						.style_def);
+				}
+				$this.ListPageHtml_Show = ret.result.style_def ? JSON.parse(styledef) : {};
+				// console.log($this.ListPageHtml_Show);
+			} else {
+				uni.showModal({
+					title: "閿欒10",
+					content: ret.err_msg,
+					showCancel: false,
+					confirmText: "鍙栨秷"
+				});
+			}
+		}).catch(ex => {
+			// console.log(ex);
+			uni.showModal({
+				title: "閿欒10.1",
+				content: ex.errMsg,
+				showCancel: false,
+				confirmText: "鍙栨秷"
+			});
+		});
+	
 	},
 	async DictGetInfo(dict,index,type){ //Mobox3寰楀埌寰楀埌瀛楀吀淇℃伅瀛楀吀椤瑰垪琛� 		this.data=[];
@@ -648,8 +858,9 @@
 						$this.head_styledef.form.model[attr] = itemName;
 					}
 					$this.head_styledef.form.items[index].dict=list;
-					// $this.head_styledef.form.items[index].dictitem=success.result;
-					// this.$store.commit("classAttrList", $this.$data.classAttrList);
+					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);
@@ -663,10 +874,11 @@
 			uni.showModal({title:"閿欒3",content:ex.errMsg,showCancel:false,confirmText:"鍙栨秷"});
 		});
 	},
+	
 	// 鎵ц鏌ヨ浜嬩欢
 	async onSearChange(clsid,eventid) {
 	 try {
-	    if (event.id) {
+	    if (eventid) {
 	 	  var $this = this;
 	 	  var dataInfo={
 	        ed_type: 0,
@@ -693,6 +905,9 @@
 	 						    var value = item.value;
 	 						    $this.wheres = value.condition;
 	 						    $this.orderby = value.order?value.order:$this.orderby;
+								$this.pageindex = 1;
+								$this.query_id = "";
+								$this.detail1StyleDefList=[];
 	 						    $this.loadDataGetList();
 	 						} 
 							
@@ -720,13 +935,17 @@
 	 }
 	},
 	//鏌ヨ鏁版嵁绫绘暟鎹俊鎭�-	async loadDataGetList(where){   
+	async loadDataGetList(){   
 	  try{
+		uni.showLoading({
+			title:"鍔犺浇涓�..",
+			mask:true
+		});
 	    //鏉′欢鏌ヨ
 	    var condition = this.wheres;
-	    if(where){
+	    if(this.where){
 	      if(condition) condition +=' and ';
-	      condition+=where;
+	      condition+=this.where;
 	    }
 	    // console.log(condition);
 	    // console.log(this.orderby);
@@ -737,45 +956,101 @@
 			condition: this.toWhereBase64String(""+ condition +""), 
 			prj_rel_type: "",
 			order_by: this.orderby,
-			page_size: 99999,
-			page: 1,
-			query_id: '',
+			page_size: this.page_size,
+			page: this.pageindex,
+			query_id: this.query_id,
 		};
 		this.$store.dispatch('dataObjQuery',dataInfo).then(ret=>{
-			// console.log(ret);
+			console.log(ret);
+			uni.hideLoading();
 			if (ret.err_code == 0) {
 				// var list=[];
+				$this.query_id = '';
 				if(ret.result){
-				  $this.detail1StyleDefList=[];
-				  ret.result.obj_list.forEach((obj) => {
-				    var styleStr = JSON.stringify($this.detail1_styledef);
-				    var detailStyle = JSON.parse(styleStr);
-				    // var info ={
-				    //     S_ID:obj.id,
-				    // };
-				    obj.attr_list.forEach((attr) => {
-				      // info[attr.name]=attr.value;
-				      detailStyle.form.items.forEach(ele=>{
-				        if(ele.name!='Layout'){
-				          if(ele.fieldId == attr.name) ele.value = attr.value;
-				        } else if(ele.name=='Layout'){
-				          ele.setting.colList.forEach(col=>{
-				            if(col){
-				              if(col.fieldId == attr.name) col.value = attr.value;
-				            }
-				          });
-				        }
-				      });
-				    });
-				      
-				    detailStyle.form.htmlobjId = obj.id?obj.id.replace(/-/g,'').replace('{','').replace('}',''):'null';
-				    detailStyle.form.objId = obj.id;
-				    detailStyle.form.attrs = obj.attr_list;
-				    $this.detail1StyleDefList.push(detailStyle);
-					$this.activelist.push({active:false});
-				    //list.push(info);
-				  });
-				// console.log($this.detail1StyleDefList);
+					$this.page_count = ret.result.page_count;
+					if(ret.result.page_count>1) $this.query_id = ret.result.query_id;
+					if($this.ListPageHtml_Show.event.id){
+						ret.result.obj_list.forEach((obj) => {
+					      var info ={
+					          id:obj.id,
+					      };
+					      obj.attr_list.forEach((attr) => {
+					        info[attr.name]=attr.value;
+					      });
+					      var detailStyle ={
+					          SelBut_Checked:false,
+					          form:{},
+					          info:info
+					      };
+					      detailStyle.form.htmlobjId = obj.id?obj.id.replace(/-/g,'').replace('{','').replace('}',''):'null';
+					      detailStyle.form.objId = obj.id;
+					      detailStyle.form.attrs = obj.attr_list;
+					      $this.detail1StyleDefList.push(detailStyle);
+						  $this.activelist.push({active:false});
+					    });
+					    // console.log(this.detail1StyleDefList);
+					    var jsonlist=[];
+					    $this.detail1StyleDefList.forEach(attr=>{
+					      jsonlist.push({
+					        id:attr.info.id,
+					        attrs: Object.keys(attr.info).map((a) => ({
+					          attr: a,
+					          value: attr.info[a] || "",
+					        }))
+					      });
+					    });
+					    // console.log(jsonlist);
+						var data_json = Base64.encode(JSON.stringify(jsonlist));
+					    var eventid = $this.ListPageHtml_Show.event.id;
+					    if (!$this.ListPageHtml_Show.event.id.includes('{'))
+					    	eventid = '{' + $this.ListPageHtml_Show.event.id + '}';
+					    //HTML椤甸潰浜嬩欢
+					    $this.runCustomEvent({
+					    	ed_type: 0,
+					    	start_transaction: true,
+					    	class_id: $this.param.DataCls.id,
+					    	event_id: eventid,
+					    	data_json,
+					    });
+					}else{
+					  // $this.detail1StyleDefList=[];
+					  ret.result.obj_list.forEach((obj) => {
+						var styleStr = JSON.stringify($this.detail1_styledef);
+						var detailStyle = JSON.parse(styleStr);
+						// var info ={
+						//     S_ID:obj.id,
+						// };
+						obj.attr_list.forEach((attr) => {
+						  // info[attr.name]=attr.value;
+						  detailStyle.form.items.forEach(ele=>{
+							if(ele.name!='Layout'){
+							  if(ele.fieldId == attr.name) ele.value = attr.value;
+							} else if(ele.name=='Layout'){
+							  ele.setting.colList.forEach(col=>{
+								if(col){
+								  if(col.fieldId == attr.name) col.value = attr.value;
+								}
+							  });
+							}
+						  });
+						});
+						  
+						detailStyle.form.htmlobjId = obj.id?obj.id.replace(/-/g,'').replace('{','').replace('}',''):'null';
+						detailStyle.form.objId = obj.id;
+						detailStyle.form.attrs = obj.attr_list;
+						$this.detail1StyleDefList.push(detailStyle);
+						$this.activelist.push({active:false});
+						//list.push(info);
+					  });
+					}
+				  
+					// 瑙e喅view灞備笉鍚屾鐨勯棶棰�+					// $this.scrollTop = $this.old.scrollTop;
+					$this.isScroll=false;
+					setTimeout(function(){
+						$this.isScroll=true;
+					},1000);
+					// console.log($this.detail1StyleDefList);
 				}
 				
 				
@@ -823,10 +1098,10 @@
 					      });
 					      // console.log(obj_attr);
 					      var input_param = Base64.encode(JSON.stringify(obj_attr));
-					      this.runCustomEvent({
+					      $this.runCustomEvent({
 					          ed_type: 0,
 							  start_transaction: true,
-					          class_id: this.param.DataCls.id,
+					          class_id: $this.param.DataCls.id,
 					          event_id: eventid,
 					          obj_attr,
 					          input_param,
@@ -1021,10 +1296,13 @@
 			    if(onChangeEvent.id){   //鍐呭鍙樺寲鍚庝簨浠� 			      $this.onChange(onChangeEvent); 
 			    } else{
-				  var where ='';
+				  $this.where ='';
 				  if(item.value)
-					where =item.fieldId+" like '%"+item.value+"%'";
-				  $this.loadDataGetList(where);
+					$this.where =item.fieldId+" like '%"+item.value+"%'";
+				  $this.query_id='';
+				  $this.pageindex = 1;
+				  $this.detail1StyleDefList=[];
+				  $this.loadDataGetList();
 				}
 				if(item.value){ //绗竴涓緭鍏ユ涓嶄负绌� 					$this.focusMateria = true; //鍒濆鍖栵紝绗簩涓緭鍏ユfocus灞炴�
@@ -1058,10 +1336,13 @@
 		    if(onChangeEvent.id){   //鍐呭鍙樺寲鍚庝簨浠� 		      this.onChange(onChangeEvent); 
 		    } else{
-			  var where ='';
+			  this.where ='';
 			  if(item.value)
-				where =item.fieldId+" like '%"+item.value+"%'";
-			  this.loadDataGetList(where);
+				this.where =item.fieldId+" like '%"+item.value+"%'";
+			  this.query_id='';
+			  this.pageindex = 1;
+			  this.detail1StyleDefList=[];
+			  this.loadDataGetList();
 			}
 		    // if(onSuffixClickCallbackEvent.id){   //鍚庡浘鏍囩偣鍑讳簨浠� 		    //   this.onSuffixClick(onSuffixClickCallbackEvent);
@@ -1196,6 +1477,12 @@
 									})
 								// } else if(item.action_type == "refresh_cur_row"){ //
 								// 	var value = item.value;
+								} else if (item.action_type == "set_panel_html") { //鏄剧ずHtml椤甸潰
+									// var value = item.value;
+									$this.ListHtml_Panel = item.value;
+									// $this.detail1StyleDefList.forEach((ele,index)=>{
+									// 	ele.ListHtml_Panel = item.value[index];
+									// });
 									
 								} else{
 									uni.showModal({title:"鎻愮ず",content:"褰撳墠action_type锛�+item.action_type+"鏈鐞�,showCancel:false,confirmText:"鍙栨秷"});
@@ -1224,8 +1511,11 @@
 	},
 	
 	cancel(e){ //鍙栨秷
+		var eventChannel = this.$scope.eventChannel;
+		// const eventChannel = this.getOpenerEventChannel();
+		eventChannel.emit('view_3201',"");
 		uni.navigateBack({
-			delta:1 //杩斿洖灞傛暟锛�鍒欎笂涓婇〉
+			delta:1 ,//杩斿洖灞傛暟锛�鍒欎笂涓婇〉
 		});
 	},
 	/**

--
Gitblit v1.9.1