From e8b665122cf256caae4993534c696d029883f0d5 Mon Sep 17 00:00:00 2001
From: cuiqian2004 <cuiqian2004@163.com>
Date: 星期三, 05 三月 2025 10:52:03 +0800
Subject: [PATCH] showmodal cancal 改成 close

---
 pages/modal/3200_view.vue | 1815 ++++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 1,179 insertions(+), 636 deletions(-)

diff --git a/pages/modal/3200_view.vue b/pages/modal/3200_view.vue
index 95d8df8..67413ef 100644
--- a/pages/modal/3200_view.vue
+++ b/pages/modal/3200_view.vue
@@ -1,668 +1,1211 @@
-<style>
-.v-headStyle .txt_title{
-  font-size: 34rpx;
-  text-align: right;
-  display: inline-block;
-  vertical-align: 12px;
-}
-.v-headStyle input{
-	display: inline-block;
-	/* border: 1px solid #d5d5d5; */
-	/* width: 65%; */
-	width: 85%;    
-	height: 52rpx;
-    line-height: 34rpx;
-	background: #FFF;
-	border-radius: 0 !important;
-	color: #2d8cf0;
-	padding: 10rpx 8rpx 12rpx;
-	font-size: 34rpx;
-	font-family: inherit;
-	box-shadow: none !important;
-	transition-duration: 0.1s;
-	margin-top: 4rpx;
-}
-.v-headStyle input::-webkit-input-placeholder {
-	font-size: 12rpx;
-}
-.input-wrapper{
-	border: 1px solid #d5d5d5;
-    display: inline-block;
-    width: 65%;    
-	line-height: 22rpx;
-}
-[nvue] uni-view {
-    position: relative;
-    border: 0 solid #000;
-    box-sizing: border-box;
-}
-.uni-input {
-	/* border: none; */
-}
-.uni-icon{
-	/* border: 1px solid red; */
-	width: 8%;
-    font-family: uniicons;
-    font-size: 40rpx;
-    font-weight: 400;
-    font-style: normal;
-    /* width: 48rpx; */
-    height: 48rpx;
-    line-height: 48rpx;
-	color: #2d8cf0;
-    cursor: pointer;
-    display: inline-block;
-	vertical-align: 18rpx;
-}
-.v-content{
-	height: 945rpx;
-	overflow: auto;
-	/* border:1px solid red; */
-}
-
-/* .dv-panel-bkcolor{
-  background-color:#efefef;
-} */
-.dv-panel{ 
-    /* background-color:#efefef; */
-    padding: 20rpx 20rpx 4rpx 0px;
-    border-radius: 12rpx;
-    margin-bottom: 20rpx;
-	text-align: right;
-}
-.dv-panel-input{
-    vertical-align: middle;
-    width: 100%;
-    display: inline-block;
-    text-align: left;
-}
-.dv-panel-buticon{
-  line-height: 25px;
-  text-align: left;
-  /* font-size: 17px; */
-  padding: 0 15px;
-}
-.dv-panel-buticon .btn-padding{
-    padding: 10px;
-	display: inline-block;
-	vertical-align: middle;
-}
-.dv-panel-buticon a i { 
-	font-size: 22px;
-}
-.dv-panel-buticon button{
-	min-width: 60px;
-    font-size: 16px;
-	padding: 20rpx 20rpx;
-	line-height: 1;
-	background: #4D6AF4;
-	border: none;
-	color: #fff;
-	font-weight: bold;
-	border-radius: 4px;
-}
-.dv-panel .txt_title{
-  font-size: 34rpx;
-  text-align: right;
-  display: inline-block;
-}
-.dv-panel input{
-	vertical-align: middle;
-	display: inline-block;
-	border: 1px solid #d5d5d5;
-	width: 68%; 
-	height: 52rpx;
-    line-height: 34rpx;
-	background: #FFF;
-	border-radius: 7px !important;
-	color: #2d8cf0;
-	padding: 6rpx 8rpx 8rpx;
-	font-size: 32rpx;
-	font-family: inherit;
-	box-shadow: none !important;
-	transition-duration: 0.1s;
-	margin-top: 0rpx;
-}
-.dv-panel input::-webkit-input-placeholder {
-	font-size: 10rpx;
-}
-.dv-panel .form-item-span{
-	vertical-align: text-top;
-    color: #2d8cf0;
-	white-space: normal;
-	word-break: break-all;
-    display: inline-block;
-	width: calc(100% - 100px);
-}
-.dv-panel-button{
-    display: inline-block;
-}
-.dv-panel-button checkbox-group { 
-	display: inline-block;
-}
-.dv-panel-button a i { 
-	font-size: 18px;
-}
-.dv-panel-button button { 
-	height: 25px;
-	font-size: 13px;
-	padding: 0 12px;
-}
-.view-floor{
-	padding: 0 20rpx;
-	/* border:1px solid red; */
-}
-button.btn_refresh {
-	width:49.5%;
-	margin-top: 25rpx;
-	padding: 20rpx;
-	line-height: 1.5;
-	background: #4D6AF4;
-	border: none;
-	color: #fff;
-    font-size: 38rpx;
-	font-weight: bold;
-	float: left;
-	display: inline-block;
-}
-button.btn_cancel {
-	width:49.5%;
-	margin-top: 25rpx;
-	padding: 20rpx;
-	line-height: 1.5;
-	background: #fff;
-	border: none;
-	color: #000;
-    font-size: 38rpx;
-	font-weight: bold;
-	float: left;
-	display: inline-block;
-	margin-right: 10px;
-}
-
-.bk-active{
-  background-color: #D6FCB2;
-}
-.uni-padding-wrap{
-  margin-top: 14rpx;
-  background-color: #98DAEA;
-  width: 52px;
-  height: 40px;
-  text-align: center;
-  border-radius: 27px;
-  padding: 12px 0 0px 0;
-  float: right;
-  display: inline-block;
-}
-.uni-padding-wrap a{
-  font-size: 20px;
-}
-</style>
-<style lang="scss">
-	.demo-uni-row {
-		margin-bottom: 0px;
-		display: block;
-	}
-	::v-deep .uni-row {
-		margin-bottom: 0px;
-	}
-	.view-tabpage ::v-deep .uni-row  {
-		margin-bottom: 5px;
-	}
-	.demo-uni-col {
-		height: 36px;
-		border-radius: 5px;
-	}
-	.demo-uni-row .uni-input{
-		width: calc(100% - 120px);
-	}
-	
-</style>
-
 <template>
-	<view class="content">
-	  <view class="v-content">
-		<view class="dv-panel dv-panel-bkcolor">
-		    <div class="dv-panel-input">
-		      <div v-for="(item,index) in detail2_styledef.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>
+	<view class="uni-page-modal-3200-view">
+		<view class="v-content">
+			<view class="dv-panel dv-panel-bkcolor">
+				<div class="dv-panel-input">
+					<!-- HTML椤甸潰绫诲瀷鏄剧ず -->
+					<div class="dv-viewHtml-Panel" v-if="ViewHtml_Panel" v-html="ViewHtml_Panel">
+						<!-- <div>
+						  <label class="item-label">浠诲姟缂栫爜:</label>
+						  <span class="item-span">TA240318-00005</span>
+						</div> -->
+					</div>
+					<!-- 鑷畾涔夎〃鍗曠被鍨嬫樉绀�-->
+					<div v-if="!ViewHtml_Panel">
+						<div v-for="(item,index) in detail2_styledef.form.items">
+							<!-- 鏅�甯冨眬 -->
+							<view v-if="item.name!='Layout'">
+								<text class="txt_title" :style="{'width':item.labelWidth+'px'}">{{item.label}}锛�/text>
+								<!-- 鏂囨湰妗�鏁板瓧妗�-->
+								<view class="dv_input" v-if="(item.name=='Input' || item.name=='InputNumber') ">
+									<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)"
+										:maxlength="-1" />
+									<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'"
+									: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'">
+									<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':''" :disabled="item.disabled"
+									@change="onCheckBoxValue" :data-attr="item.fieldId">
+									<label v-for="(item2) in item.selections" :key="item2.value">
+										<checkbox :value="item2.value" :checked="item.value.includes(item2.value)" />
+										<text>{{item2.label}}</text>
+									</label>
+								</checkbox-group>
+								<!-- 鍗曢�妗�-->
+								<radio-group class="check_rememberPwd" v-if="item.name=='Radio'"
+									:class="item.disabled?'input-disabled':''" :disabled="item.disabled"
+									:style="{'margin-left':'10rpx'}" @change="onModelValue(item)">
+									<label v-for="(item2) in item.selections" :key="item2.value">
+										<radio :value="item2.value" :checked="item2.value === item.value" />
+										<text>{{item2.label}}</text>
+									</label>
+								</radio-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') ">
+									<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>
+										<view class="dv_input" v-if="(cols.name=='Input' || cols.name=='InputNumber') ">
+											<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)"
+												:maxlength="-1" />
+											<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' "
+											: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' ">
+											<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="cols.disabled"
+											@change="onCheckBoxValue" :data-attr="cols.fieldId">
+											<label v-for="(cols2) in cols.selections" :key="cols2.value">
+												<checkbox :value="cols2.value"
+													:checked="cols.value.includes(cols2.value)" />
+												<text>{{cols2.label}}</text>
+											</label>
+										</checkbox-group>
+										<!-- 鍗曢�妗�-->
+										<radio-group class="check_rememberPwd" v-if="cols.name=='Radio'"
+											:class="cols.disabled?'input-disabled':''" :disabled="cols.disabled"
+											:style="{'margin-left':'10rpx'}" @change="onModelValue(cols)">
+											<label v-for="(cols2) in cols.selections" :key="cols2.value">
+												<radio :value="cols2.value" :checked="cols2.value === cols.value" />
+												<text>{{cols2.label}}</text>
+											</label>
+										</radio-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>
+			</view>
 		</view>
-	  </view>
-		
-	  <view class="view-floor">
-	  	<button type="default" @click="cancel" class="btn_cancel" 
-		  :style="{'width':param.ViewPage.Page_Button.length>1?'39.5%':'48.5%'}">杩斿洖</button>
-		<view v-if="param.ViewPage.Page_Button">
-			<button type="default" class="btn_refresh" @click="onBtnClick(param.ViewPage.Page_Button[0])" 
-			  :style="{'width':param.ViewPage.Page_Button.length>1?'39.5%':'48.5%'}">{{param.ViewPage.Page_Button[0].ShowName}}</button>
-			
-			<view class="uni-padding-wrap" v-if="param.ViewPage.Page_Button.length>1">
+
+		<view class="view-floor" v-if="param.ViewPage.Page_Button">
+			<!-- <button type="default" @click="cancel" class="btn_cancel" 
+		  :style="{'width':param.ViewPage.Page_Button.length>1?'39.5%':'48.5%'}">杩斿洖</button> -->
+			<button type="default" class="btn_refresh" :class="btn.disabled?'btn_disabled':''" :disabled="btn.disabled"
+				v-for="(btn,index) in param.ViewPage.Page_Button" v-if="index<2" @click="onBtnClick(btn)"
+				:style="{'width':param.ViewPage.Page_Button.length==1?'96%':param.ViewPage.Page_Button.length>2?'39.5%':'48%'}">{{btn.ShowName}}</button>
+
+			<view class="uni-padding-wrap" v-if="param.ViewPage.Page_Button.length>2">
 				<view class="uni-btn-v">
-					<a @tap="actionSheetTap"><Icon class="mobox-normal-more"/></a>
+					<a @tap="actionSheetTap">
+						<Icon class="mobox-normal-more" />
+					</a>
 				</view>
 			</view>
 		</view>
-	  </view>
-    </view>
+	</view>
 </template>
 
 <script>
-import Base64 from '../../components/js-base64/base64.js'
-export default {
-  modules:{
-	Base64,
-  },
-  onBackPress(e){
-	// console.log("鐩戝惉杩斿洖鎸夐挳浜嬩欢",e);
-	var eventChannel = this.$scope.eventChannel;
-	// const eventChannel = this.getOpenerEventChannel();
-	eventChannel.emit('ExitViewEvent',"");
-	// uni.navigateBack({
-	// 	delta:1 ,//杩斿洖灞傛暟锛�鍒欎笂涓婇〉
-	// });
-	// return true;
-  },	
-  data() {
-    return {
-	  title:'鏂板',
-      param: {},
-	  styleDef:{
-		form:{
-			items:[]
-		}
-	  },
-      detail2_styledef:{
-		form:{
-			items:[]
+	import Base64 from '../../components/js-base64/base64.js'
+	import classUtils from "@/js/utils.js"
+	import {
+		appGetInfo,
+		dictGetInfo
+	} from "@/api/mobox.js"
+	import {
+		getUIStyleInfo,
+		runCustomEvent,
+		dataObjQuery
+	} from "@/api/data.js"
+
+	export default {
+		modules: {
+			Base64,
 		},
-	  },
-      // detail2StyleDefList:[],
-    };
-  },
-  async onLoad(options) {
-	// console.log(options);
-	uni.setNavigationBarTitle({ title: options.titlename}); //璁剧疆椤堕儴鏍囬 
-	this.$data.title = options.titlename;
-	this.$data.param = JSON.parse(options.param);
-	console.log(this.$data.param);
-	this.$data.styleDef = JSON.parse(options.style);
-	// console.log(this.$data.styleDef);
-	this.Detail2_UIstyleGetInfo(this.param.DataCls.id,this.param.ViewPage.View_UIDef.id);
-	//杩涘叆椤甸潰鍚庝簨浠�-	var eventid = this.param.ViewPage.Enter_View_Event?.id;
-	if(eventid){
-	  try {
-	    var obj_attr = [{attr: 'S_ID',value:this.styleDef.form.objId}];
-	    this.styleDef.form.attrs.forEach((attr) => {
-	        obj_attr.push({attr: attr.name,value: attr.value});
-	    });
-	    // console.log(obj_attr);
-	    var input_param = Base64.encode(JSON.stringify(obj_attr));
-	    this.runCustomEvent({
-	        ed_type: 0,
-	        class_id: this.param.DataCls.id,
-	        event_id: eventid,
-	        obj_attr,
-	        input_param,
-	    });
-	  } catch (ex) {
-		var tip = typeof ex == "string" ? ex : ex.message;
-		uni.showModal({title:"閿欒",content:tip,showCancel:false,confirmText:"鍙栨秷"});
-	  }
-	}   
-  },	
-  methods: {
-	async Detail2_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.$data.detail2_styledef = ret.result.style_def? JSON.parse(styledef): {};
-				$this.$data.detail2_styledef.SelBut_Checked = true;
-				// console.log($this.$data.detail2_styledef);
-				$this.styleDef.form.attrs.forEach((attr) => {
-				  // info[attr.name]=attr.value;
-				  $this.detail2_styledef.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;
-				        }
-				      });
-				    }
-				  });
-				});
-			}else{
-				uni.showModal({title:"閿欒1",content:ret.err_msg,showCancel:false,confirmText:"鍙栨秷"});
+		onBackPress(e) {
+			// console.log("鐩戝惉杩斿洖鎸夐挳浜嬩欢",e);
+			var eventChannel = this.$scope.eventChannel;
+			// const eventChannel = this.getOpenerEventChannel();
+			eventChannel.emit('ExitViewEvent', "");
+			// uni.navigateBack({
+			// 	delta:1 ,//杩斿洖灞傛暟锛�鍒欎笂涓婇〉
+			// });
+			// return true;
+		},
+		data() {
+			return {
+				title: this.translateSys('add2'),
+				param: {},
+				styleDef: {
+					form: {
+						items: []
+					}
+				},
+				detail2_styledef: {
+					form: {
+						items: []
+					},
+				},
+				// detail2StyleDefList:[],
+				//鑾峰彇鏁版嵁绫荤殑HTML椤甸潰
+				ViewHtml_Panel: "",
+				ViewPageHtml_Show: {
+					name: "",
+					event: {
+						id: "",
+						name: ""
+					}
+				},
+			};
+		},
+		async onLoad(options) {
+			// console.log(options);
+			uni.setNavigationBarTitle({
+				title: options.titlename
+			}); //璁剧疆椤堕儴鏍囬 
+			this.$data.title = options.titlename;
+			this.$data.param = JSON.parse(options.param);
+			console.log(this.$data.param);
+			this.$data.styleDef = JSON.parse(options.style);
+			// console.log(this.$data.styleDef);
+			if (this.param.ViewPage.View_UIDef.ui_type == "HTML椤甸潰") {
+				// HTML椤甸潰
+				//鑾峰彇鏁版嵁绫荤殑HTML椤甸潰
+				this.Html_UIstyleGetInfo(this.param.DataCls.id, this.param.ViewPage.View_UIDef.id, 'viewPage');
+			} else {
+				this.Detail2_UIstyleGetInfo(this.param.DataCls.id, this.param.ViewPage.View_UIDef.id);
 			}
-		}).catch(ex=>{
-			// console.log(ex);
-			uni.showModal({title:"閿欒1.1",content:ex.errMsg,showCancel:false,confirmText:"鍙栨秷"});
-		});
-	    
-	},
-	//鐐瑰嚮鎸夐挳
-	onBtnClick(btn){
-	  var that = this
-	  if (btn.Prompt) {
-		uni.showModal({
-		  title: '鎻愮ず',
-		  content: btn.PromptContent || "鏄惁纭畾锛�,
-		  success: function (res) {
-		    if (res.confirm) {
-		  	  that.onButtonClicked(btn);
-		    // } else if (res.cancel) {
-		    // 	console.log('鐢ㄦ埛鐐瑰嚮鍙栨秷');
-		    }
-		  }
-		});
-	  } else that.onButtonClicked(btn);
-	},
-	//鐐瑰嚮鎸夐挳鍒楄〃
-	actionSheetTap() {
-	  	var that = this
-		var itemlist=[];
-		this.param.ViewPage.Page_Button.forEach((btn) => {
-			itemlist.push(btn.ShowName);
-		});
-	  	uni.showActionSheet({
-	  		// title: '鎸夐挳鍒楄〃',
-	  		itemList: itemlist,
-	  		success: (e) => {
-	  			console.log(e.tapIndex);
-	  			var btn = that.param.ListPage.Page_Button[e.tapIndex];
-	  			if (btn.Prompt) {
+
+
+			//杩涘叆椤甸潰鍚庝簨浠�+			var eventid = this.param.ViewPage.Enter_View_Event?.id;
+			if (eventid) {
+				try {
+					var obj_attr = {
+						'S_ID': this.styleDef.form.objId
+					};
+					this.styleDef.form.attrs.forEach((attr) => {
+						obj_attr[attr.name] = attr.value;
+					});
+					// console.log(obj_attr);
+					var input_param = Base64.encode(JSON.stringify(obj_attr));
+					this.runCustomEvent({
+						ed_type: 0,
+						start_transaction: true,
+						class_id: this.param.DataCls.id,
+						event_id: eventid,
+						data_obj_id: this.styleDef.form.objId,
+						obj_attr,
+						input_param,
+					});
+				} catch (ex) {
+					var tip = typeof ex == "string" ? ex : ex.message;
 					uni.showModal({
-						title: '鎻愮ず',
-						content: btn.PromptContent || "鏄惁纭畾锛�,
-						success: function (res) {
+						title: this.translateSys("error"),
+						content: tip,
+						showCancel: false,
+						confirmText: this.translateSys('close')
+					});
+				}
+			}
+		},
+		methods: {
+			setData(obj) {
+				let that = this;
+				let keys = [];
+				let val, data;
+
+				Object.keys(obj).forEach(function(key) {
+					keys = key.split(".");
+					val = obj[key];
+					data = that.$data;
+					keys.forEach(function(key2, index) {
+						if (index + 1 == keys.length) {
+							that.$set(data, key2, val);
+						} else {
+							if (!data[key2]) {
+								that.$set(data, key2, {});
+							}
+						}
+						data = data[key2];
+					});
+				});
+			},
+
+			async Detail2_UIstyleGetInfo(class_id, style_id) { //鑾峰彇鑷畾涔夎〃鍗曟牱寮�+				try {
+					var $this = this;
+					var dataInfo = {
+						class_id: class_id,
+						ui_style_id: style_id,
+					};
+					const result = await getUIStyleInfo(dataInfo)
+					var styledef = "";
+					if (result.style_def) {
+						//mobox2鐨剆tyle_def鏄痡son瀛楃涓�+						styledef = result.style_def.replace(/\\/g, "");
+						//mobox3鐨剆tyle_def鏄痓ase64瀛楃涓�+						if (!result.style_def.includes('"')) styledef = Base64.decode(result
+							.style_def);
+					}
+					$this.$data.detail2_styledef = result.style_def ? JSON.parse(styledef) : {};
+					$this.$data.detail2_styledef.SelBut_Checked = false;
+					// console.log($this.$data.detail2_styledef);
+					if ($this.detail2_styledef.form?.items) {
+						$this.styleDef.form.attrs.forEach((attr) => {
+							// info[attr.name]=attr.value;
+							$this.detail2_styledef.form.items.forEach(async (ele, index) => {
+								if (ele.name != 'Layout') {
+									if (ele.fieldId == attr.name) {
+										ele.value = attr.value;
+									}
+								} else if (ele.name == 'Layout') {
+									ele.setting.colList.forEach(async (col, key) => {
+										if (col) {
+											if (col.fieldId == attr.name) {
+												col.value = attr.value;
+											}
+										}
+									});
+								}
+							});
+						});
+					}
+					setTimeout(function() {
+						var detail2_styledef = JSON.parse(JSON.stringify($this.detail2_styledef));
+						$this.detail2_styledef = [];
+						$this.detail2_styledef = detail2_styledef;
+					}, 100);
+				} catch (ex) {
+					// console.log(ex);
+					let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex
+					uni.showModal({
+						title: this.translateSys("error") + "1.1",
+						content: tip,
+						showCancel: false,
+						confirmText: this.translateSys('close')
+					});
+				}
+
+			},
+			async Html_UIstyleGetInfo(class_id, style_id) { //鑾峰彇鑷畾涔夎〃鍗曟牱寮�+
+				try {
+					var $this = this;
+					var dataInfo = {
+						class_id: class_id,
+						ui_style_id: style_id,
+					};
+					const result = await getUIStyleInfo(dataInfo)
+					var styledef = "";
+					if (result.style_def) {
+						//mobox2鐨剆tyle_def鏄痡son瀛楃涓�+						styledef = result.style_def.replace(/\\/g, "");
+						//mobox3鐨剆tyle_def鏄痓ase64瀛楃涓�+						if (!result.style_def.includes('"')) styledef = Base64.decode(result
+							.style_def);
+					}
+					$this.ViewPageHtml_Show = result.style_def ? JSON.parse(styledef) : {};
+					// console.log($this.ViewPageHtml_Show);
+					var obj_attr = {};
+					$this.styleDef.form.attrs.forEach((attr) => {
+						obj_attr[attr.name] = attr.value;
+					});
+					obj_attr['id'] = $this.styleDef.form.objId;
+
+					var eventid = $this.ViewPageHtml_Show.event.id;
+					if (!$this.ViewPageHtml_Show.event.id.includes('{'))
+						eventid = '{' + $this.ViewPageHtml_Show.event.id + '}';
+					//HTML椤甸潰浜嬩欢
+					$this.runCustomEvent({
+						ed_type: 0,
+						start_transaction: true,
+						class_id: $this.param.DataCls.id,
+						event_id: eventid,
+						data_obj_id: $this.styleDef.form.objId,
+						obj_attr,
+					});
+				} catch (ex) {
+					// console.log(ex);
+					let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex
+					uni.showModal({
+						title: this.translateSys("error") + "6.1",
+						content: tip,
+						showCancel: false,
+						confirmText: this.translateSys('close')
+					});
+				}
+
+
+			},
+			//鏌ヨ鏁版嵁绫绘暟鎹俊鎭�+			async dataObjQuery(clsid, where, index, key) {
+				try {
+					var $this = this;
+					var dataInfo = {
+						class_id: clsid,
+						attrs: [],
+						condition: this.toWhereBase64String("" + where + ""),
+						prj_rel_type: "",
+						order_by: this.orderby,
+						page_size: 99999,
+						page: 1,
+						query_id: '',
+					};
+					const result = await dataObjQuery(dataInfo)
+					// console.log(result);
+					if (result) {
+						$this.detail1StyleDefList = [];
+						result.obj_list.forEach((obj) => {
+							var info = {
+								S_ID: obj.id,
+							};
+							obj.attr_list.forEach((attr) => {
+								info[attr.name] = attr.value;
+							});
+							if (key != -1)
+								$this.detail2_styledef.form.items[index].setting.colList[key]
+								.value2 = info.S_NAME;
+							else
+								$this.detail2_styledef.form.items[index].value2 = info.S_NAME;
+						});
+						// console.log($this.detail2_styledef);
+					}
+				} catch (ex) {
+					var tip = typeof ex == "string" ? ex : ex.message;
+					uni.showModal({
+						title: this.translateSys("error") + "5.2",
+						content: tip,
+						showCancel: false,
+						confirmText: this.translateSys('close')
+					});
+				}
+			},
+
+			// 鍐呭鍙樺寲鍚庝簨浠�+			async onChange(event) {
+				try {
+					if (event.id) {
+						var obj_attr = this.detail2_styledef.form.model;
+						// console.log(obj_attr);
+						var input_param = Base64.encode(
+							JSON.stringify(
+								Object.keys(obj_attr).map((a) => ({
+									attr: a,
+									value: obj_attr[a] || "",
+								}))
+							)
+						);
+						var $this = this;
+						var dataInfo = {
+							ed_type: 0,
+							start_transaction: true,
+							class_id: this.$data.detail2_styledef.form.clsId,
+							class_name: '',
+							event_id: event.id,
+							event_name: '',
+							data_obj_id: "",
+							obj_attr: obj_attr,
+							prj_id: '',
+							ref_cls_id: '',
+							rel_obj_id: '',
+							user_login: '',
+							data_json: '',
+							compose_info: '',
+							ext_info: '',
+							global_attr: '',
+							input_param: input_param,
+						};
+						runCustomEvent(dataInfo).then(result => {
+							// console.log(result);
+							if (result.ret != 0) {
+								var tip = result.err_info ? typeof result.err_info == 'string' ? result
+									.err_info : result.err_info.join('<br/>') : '';
+								if (result.ret == 801) uni.showModal({
+									title: this.translateSys("tip"),
+									content: tip,
+									showCancel: false,
+									confirmText: this.translateSys('close')
+								});
+								else uni.showModal({
+									title: this.translateSys("tip"),
+									content: tip + ',' + this.translateSys('tip') + ':' + result
+										.ret,
+									showCancel: false,
+									confirmText: this.translateSys('close')
+								});
+								return false;
+							} else {
+								var tip = result.info ? typeof result.info == 'string' ? result.info :
+									result.info.join('<br/>') : '';
+								if (tip) uni.showModal({
+									title: this.translateSys("tip"),
+									content: tip,
+									showCancel: false,
+									confirmText: this.translateSys('close')
+								});
+
+								if (result.result_type == 0 && result.action) {
+									result.action.forEach(item => {
+										if (item.action_type == "set_dlg_attr") {
+											// value = {"attr":"xxx", "value":"xxx"}
+											var data = item.value;
+											$this.$data.detail2_styledef.form.items.forEach(async (
+												ele, index) => {
+												data.forEach(async (ele2, index) => {
+													if (ele.fieldId == ele2
+														.attr) {
+														ele.value = ele2
+															.value;
+													}
+												});
+											});
+										}
+									});
+								} else {
+									// this.detail2StyleDefList=[];
+									if (result.info) {
+										uni.showModal({
+											title: this.translateSys("tip"),
+											content: result.info,
+											showCancel: false,
+											confirmText: this.translateSys('close')
+										});
+									}
+								}
+							}
+
+
+						}).catch(ex => {
+							// console.log(ex);
+							uni.showModal({
+								title: this.translateSys("error") + "8.1",
+								content: ex.errMsg,
+								showCancel: false,
+								confirmText: this.translateSys('close')
+							});
+						});
+					}
+				} catch (ex) {
+					var tip = typeof ex == "string" ? ex : ex.message;
+					uni.showModal({
+						title: this.translateSys("error") + "8.2",
+						content: this.translate('execute_after_change_event_failed') + this.translateSys(
+								"comma") +
+							this.translate('reason') + this.translateSys("colon") + tip,
+						showCancel: false,
+						confirmText: this.translateSys('close')
+					});
+
+				}
+			},
+			//鐐瑰嚮鎸夐挳
+			onBtnClick(btn) {
+				var that = this
+				if (btn.Prompt) {
+					uni.showModal({
+						title: this.translateSys("tip"),
+						content: btn.PromptContent || this.translate("are_you_sure"),
+						success: function(res) {
 							if (res.confirm) {
 								that.onButtonClicked(btn);
-							// } else if (res.cancel) {
-							// 	console.log('鐢ㄦ埛鐐瑰嚮鍙栨秷');
+								// } else if (res.cancel) {
+								// 	console.log('鐢ㄦ埛鐐瑰嚮鍙栨秷');
 							}
 						}
 					});
-	  			} else that.onButtonClicked(btn);
-	  		}
-	  	})
-	},
-	//澶勭悊鐩稿叧鎸夐挳
-	async onButtonClicked(btn) {
-      var style = this.styleDef || '';
-	  try {
-	    var enviroment = {
-	      button: "top",
-	      button_name: btn.ShowName,
-	      cls_id: btn.Cls_ID,
-	      function: "3200",
-	      master: {},
-	    };
-		if (btn.FunCode == "TriggerEvent") {
-	      this.triggerEvent(btn, style, enviroment);
-	    } else {
-		  uni.showModal({title:"鎻愮ず",content:"鏈疄鐜�,showCancel:false,confirmText:"鍙栨秷"});
-	    }
-	  } catch (ex) {
-	    var tip = typeof ex == "string" ? ex : ex.message;
-		uni.showModal({title:"閿欒2",content:tip,showCancel:false,confirmText:"鍙栨秷"});
-	  }
-	},
-	//鎵ц瑙﹀彂浜嬩欢
-	async triggerEvent(btn, style, enviroment) {
-	  try {
-	    var obj_attr = [{attr: 'S_ID',value:this.styleDef.form.objId}];
-	    style.form.attrs.forEach((attr) => {
-	      obj_attr.push({attr: attr.name,value: attr.value});
-	    });
-	    // console.log(obj_attr);
-	    // let input_param = Base64.encode(JSON.stringify(obj_attr));
-	    // return;
-	    this.runCustomEvent({
-	        ed_type: 0,
-	        class_id: btn.Cls_ID,
-	        event_id: btn.Event.ID,
-	        obj_attr: obj_attr,
-	    });
-	  } catch (ex) {
-	    var tip = typeof ex == "string" ? ex : ex.message;
-		uni.showModal({title:"閿欒3",content:tip,showCancel:false,confirmText:"鍙栨秷"});
-	  }
-	},
-	//浜嬩欢
-	async runCustomEvent(dataInfo) {
-	    try {
-			var $this = this;
-			this.$store.dispatch('runCustomEvent',dataInfo).then(ret=>{
-			  	// console.log(ret);
-			  	if (ret.err_code == 0) {
-					var result = ret.result; 
+				} else that.onButtonClicked(btn);
+			},
+			//鐐瑰嚮鎸夐挳鍒楄〃
+			actionSheetTap() {
+				var that = this
+				var itemlist = [];
+				this.param.ViewPage.Page_Button.forEach((btn, index) => {
+					if (index >= 2)
+						itemlist.push(btn.ShowName);
+				});
+				uni.showActionSheet({
+					// title: '鎸夐挳鍒楄〃',
+					itemList: itemlist,
+					success: (e) => {
+						console.log(e.tapIndex);
+						var btn = that.param.ListPage.Page_Button[e.tapIndex];
+						if (btn.Prompt) {
+							uni.showModal({
+								title: this.translateSys("tip"),
+								content: btn.PromptContent || this.translate("are_you_sure"),
+								success: function(res) {
+									if (res.confirm) {
+										that.onButtonClicked(btn);
+										// } else if (res.cancel) {
+										// 	console.log('鐢ㄦ埛鐐瑰嚮鍙栨秷');
+									}
+								}
+							});
+						} else that.onButtonClicked(btn);
+					}
+				})
+			},
+			//澶勭悊鐩稿叧鎸夐挳
+			async onButtonClicked(btn) {
+				var style = this.styleDef || '';
+
+				try {
+					btn.disabled = true
+					var enviroment = {
+						button: "top",
+						button_name: btn.ShowName,
+						cls_id: btn.Cls_ID,
+						function: "3200",
+						master: {},
+					};
+					if (btn.FunCode == "TriggerEvent") {
+						await this.triggerEvent(btn, style, enviroment);
+					} else {
+						btn.disabled = false
+						uni.showModal({
+							title: this.translateSys("tip"),
+							content: this.translateSys("unrealized"),
+							showCancel: false,
+							confirmText: this.translateSys('close')
+						});
+					}
+				} catch (ex) {
+					btn.disabled = false
+					var tip = typeof ex == "string" ? ex : ex.message;
+					uni.showModal({
+						title: this.translateSys("error") + "2",
+						content: tip,
+						showCancel: false,
+						confirmText: this.translateSys('close')
+					});
+				}
+			},
+			//鎵ц瑙﹀彂浜嬩欢
+			async triggerEvent(btn, style, enviroment) {
+				try {
+					btn.disabled = true
+					var obj_attr = {
+						'S_ID': this.styleDef.form.objId
+					};
+					style.form.attrs.forEach((attr) => {
+						obj_attr[attr.name] = attr.value;
+					});
+					// console.log(obj_attr);
+					// let input_param = Base64.encode(JSON.stringify(obj_attr));
+					// return;
+					await this.runCustomEvent({
+						ed_type: 0,
+						start_transaction: true,
+						class_id: btn.Cls_ID,
+						event_id: btn.Event.ID,
+						data_obj_id: this.styleDef.form.objId,
+						obj_attr: obj_attr,
+					});
+					btn.disabled = false
+				} catch (ex) {
+					var tip = typeof ex == "string" ? ex : ex.message;
+					uni.showModal({
+						title: this.translateSys("error") + "3",
+						content: tip,
+						showCancel: false,
+						confirmText: this.translateSys('close')
+					});
+				}
+			},
+			//浜嬩欢
+			async runCustomEvent(dataInfo) {
+				try {
+					var $this = this;
+					const result = await runCustomEvent(dataInfo)
+					console.log(result);
 					if (result.ret != 0) {
-					    var tip = result.err_info ? typeof result.err_info == 'string' ? result.err_info : result.err_info.join('<br/>') : '';
-					    if (result.ret == 801) uni.showModal({title:'鎻愮ず',content:tip,showCancel:false,confirmText:"鍙栨秷"});
-					    else uni.showModal({title:'鎻愮ず',content:tip+',鎻愮ず:'+result.ret,showCancel:false,confirmText:"鍙栨秷"});
-						return false
-					}else{
-						var tip = result.info ? typeof result.info == 'string' ? result.info : result.info.join('<br/>') : '';
-						if (tip) uni.showModal({title:'鎻愮ず',content:tip,showCancel:false,confirmText:"鍙栨秷"});
-					
-						if(result.result_type == 0 && result.action){
-							result.action.forEach(item=>{
-								if(item.action_type == "goback_to_pre_page"){ //杩斿洖涓婁竴椤�+						var tip = result.err_info ? typeof result.err_info == 'string' ? result
+							.err_info : result.err_info.join('<br/>') : '';
+						if (result.ret == 801) uni.showModal({
+							title: this.translateSys("tip"),
+							content: tip,
+							showCancel: false,
+							confirmText: this.translateSys('close')
+						});
+						else uni.showModal({
+							title: this.translateSys("tip"),
+							content: tip + ',' + this.translateSys('tip') + ':' + result.ret,
+							showCancel: false,
+							confirmText: this.translateSys('close')
+						});
+						return false;
+					} else {
+						var tip = result.info ? typeof result.info == 'string' ? result.info : result
+							.info.join('<br/>') : '';
+						if (tip) uni.showModal({
+							title: this.translateSys("tip"),
+							content: tip,
+							showCancel: false,
+							confirmText: this.translateSys('close')
+						});
+
+						if (result.result_type == 0 && result.action) {
+							result.action.forEach(item => {
+								if (item.action_type == "goback_to_pre_page") { //杩斿洖涓婁竴椤� 									var value = item.value;
 									// const eventChannel = this.$scope.eventChannel;
 									// // const eventChannel = this.getOpenerEventChannel();
 									// eventChannel.emit('ExitViewEvent',"");
 									uni.navigateBack({
-										delta:1 ,//杩斿洖灞傛暟锛�鍒欎笂涓婇〉
+										delta: 1, //杩斿洖灞傛暟锛�鍒欎笂涓婇〉
 									});
-								} else if(item.action_type == "hidden_button"){ //闅愯棌鎸夐挳
+								} else if (item.action_type == "hidden_button") { //闅愯棌鎸夐挳
 									var value = item.value;
 									value.forEach(btn => {
-									    var index = $this.param.ViewPage.Page_Button.findIndex(button => button.ShowName == btn)
-									    if (index > -1) 
-											$this.param.ViewPage.Page_Button.splice(index, 1)
+										var index = $this.param.ViewPage.Page_Button
+											.findIndex(button => button.ShowName ==
+												btn)
+										if (index > -1)
+											$this.param.ViewPage.Page_Button.splice(
+												index, 1)
 									})
+								} else if (item.action_type == "set_panel_html") { //鏄剧ずHtml椤甸潰
+									// var value = item.value;
+									$this.ViewHtml_Panel = item.value;
+
 								}
-								
+
 							});
-						}else{
-							var tip = result.info ? typeof result.info == 'string' ? result.info : result.info.join('<br/>') : '';
-							if (tip) uni.showModal({title:'鎻愮ず',content:tip,showCancel:false,confirmText:"鍙栨秷"});
+						} else {
+							var tip = result.info ? typeof result.info == 'string' ? result.info :
+								result.info.join('<br/>') : '';
+							if (tip) uni.showModal({
+								title: this.translateSys("tip"),
+								content: tip,
+								showCancel: false,
+								confirmText: this.translateSys('close')
+							});
 						}
 					}
-			  		
-			  	}else{
-			  		uni.showModal({title:"閿欒4",content:ret.err_msg,showCancel:false,confirmText:"鍙栨秷"});
-			  	}
-			}).catch(ex=>{
-			  	// console.log(ex);
-			  	uni.showModal({title:"閿欒4.1",content:ex.errMsg,showCancel:false,confirmText:"鍙栨秷"});
-			});
-	    } catch (ex) {
-	        var tip = typeof ex == "string" ? ex : ex.message;
-			uni.showModal({title:"閿欒4.2",content:"鎵ц鈥滃唴瀹瑰彉鍖栧悗鈥濅簨浠跺け璐ワ細" + tip,showCancel:false,confirmText:"鍙栨秷"});
-			
-	    }
-	},
-	
-	cancel(e){ //鍙栨秷
-		var eventChannel = this.$scope.eventChannel;
-		// const eventChannel = this.getOpenerEventChannel();
-		eventChannel.emit('ExitViewEvent',"");
-		uni.navigateBack({
-			delta:1 ,//杩斿洖灞傛暟锛�鍒欎笂涓婇〉
-		});
-	},
-	
-	
-  },
-};
+
+				} catch (ex) {
+					var tip = typeof ex == "string" ? ex : ex.errMsg;
+					uni.showModal({
+						title: this.translateSys("error") + "4.1",
+						content: this.translate('execute_after_change_event_failed') + this.translateSys(
+								"comma") +
+							this.translate('reason') + this.translateSys("colon") + tip,
+						showCancel: false,
+						confirmText: this.translateSys('close')
+					});
+
+				}
+			},
+
+			/**
+			 * 鍙敮鎸乕"column1='A' or column2='B'", "column3='C' and column4='D'", "column5='E'"]杩欑鏍煎紡
+			 * {
+			 *     "model": 0 / 1,
+			 *     "condition":
+			 *     [
+			 *         [
+			 *             { },
+			 *             { },
+			 *             { }
+			 *         ],
+			 *         [
+			 *             { }
+			 *         ],
+			 *         [
+			 *             { }
+			 *         ]
+			 *     ]
+			 * }
+			 */
+			toWhereBase64String(list) {
+				if (typeof list == 'string') list = [list]
+				var sql = []
+				var seps = [' not in', ' in', '<>', '!=', '<=', '>=', '<', '=', '>', ' like']
+				list.forEach(ls => {
+					var where = ls.trim()
+					if (where.startsWith('(') && where.endsWith(')')) where = where.replace(/^\(/, '').replace(
+						/\)$/, '')
+					if (where.toLowerCase().includes(' and ')) {
+						// 浜岀骇and鏀惧湪绗竴绾ф暟缁勪腑
+						where.split(/ and /i).forEach(li => {
+							var l = li.trim()
+							if (l.startsWith('(') && l.endsWith(')')) l = l.replace(/^\(/, '').replace(
+								/\)$/, '')
+							var sep = ''
+							for (var i = 0; i < seps.length; i++) {
+								if (l.toLowerCase().includes(seps[i])) {
+									sep = seps[i]
+									break
+								}
+							}
+							if (sep) {
+								var values = l.split(new RegExp(sep, 'i'))
+								var field = values[0]?.trim().replace(/^\[/, '').replace(/\]$/, '')
+								var value = ''
+								var op = sep.trim()
+
+								if ([' in', ' not in'].includes(sep) && values[1]?.toLowerCase().includes(
+										'select ') && values[1]?.toLowerCase().includes(' from ')) {
+									value = l.replace(field, '').replace(/^\s*(in|not in)\s*/i, '').trim()
+									if (value.startsWith('(') && value.endsWith(')')) value = value
+										.replace(/^\(/, '').replace(/\)$/, '').trim()
+								} else {
+									value = values[1]?.trim().replace(/^\'/, '').replace(/\'$/, '')
+
+									if (['in', 'not in'].includes(op)) {
+										value = value.replace(/^\(/, '').replace(/\)$/, '')
+										value = value.split(',').map(v => v.trim().replace(/^\'/, '')
+											.replace(/\'$/, ''))
+									}
+								}
+								sql.push([{
+									field,
+									value,
+									op
+								}])
+							}
+						})
+					} else if (where.toLowerCase().includes(' or ')) {
+						// 浜岀骇or鏀惧湪绗簩绾у悓涓�粍鏁扮粍涓�+						var s = []
+						where.split(/ or /i).forEach(li => {
+							var l = li.trim()
+							if (l.startsWith('(') && l.endsWith(')')) l = l.replace(/^\(/, '').replace(
+								/\)$/, '')
+							var sep = ''
+							for (var i = 0; i < seps.length; i++) {
+								if (l.toLowerCase().includes(seps[i])) {
+									sep = seps[i]
+									break
+								}
+							}
+							if (sep) {
+								var values = l.split(new RegExp(sep, 'i'))
+								var field = values[0]?.trim().replace(/^\[/, '').replace(/\]$/, '')
+								var value = ''
+								var op = sep.trim()
+
+								if ([' in', ' not in'].includes(sep) && values[1]?.toLowerCase().includes(
+										'select ') && values[1]?.toLowerCase().includes(' from ')) {
+									value = l.replace(field, '').replace(/^\s*(in|not in)\s*/i, '').trim()
+									if (value.startsWith('(') && value.endsWith(')')) value = value
+										.replace(/^\(/, '').replace(/\)$/, '').trim()
+								} else {
+									value = values[1]?.trim().replace(/^\'/, '').replace(/\'$/, '')
+
+									if (['in', 'not in'].includes(op)) {
+										value = value.replace(/^\(/, '').replace(/\)$/, '')
+										value = value.split(',').map(v => v.trim().replace(/^\'/, '')
+											.replace(/\'$/, ''))
+									}
+								}
+								sql.push([{
+									field,
+									value,
+									op
+								}])
+							}
+						})
+						sql.push(s)
+					} else {
+						var li = where
+						// 鍗曚竴鏌ヨ鏉′欢鐩存帴鏀惧湪绗竴绾ф暟缁勪腑
+						var l = li.trim()
+						if (l.startsWith('(') && l.endsWith(')')) l = l.replace(/^\(/, '').replace(/\)$/, '')
+						var sep = ''
+						for (var i = 0; i < seps.length; i++) {
+							if (l.toLowerCase().includes(seps[i])) {
+								sep = seps[i]
+								break
+							}
+						}
+						if (sep) {
+							var values = l.split(new RegExp(sep, 'i'))
+							var field = values[0]?.trim().replace(/^\[/, '').replace(/\]$/, '')
+							var value = ''
+							var op = sep.trim()
+
+							if ([' in', ' not in'].includes(sep) && values[1]?.toLowerCase().includes('select ') &&
+								values[1]?.toLowerCase().includes(' from ')) {
+								value = l.replace(field, '').replace(/^\s*(in|not in)\s*/i, '').trim()
+								if (value.startsWith('(') && value.endsWith(')')) value = value.replace(/^\(/, '')
+									.replace(/\)$/, '').trim()
+							} else {
+								value = values[1]?.trim().replace(/^\'/, '').replace(/\'$/, '')
+
+								if (['in', 'not in'].includes(op)) {
+									value = value.replace(/^\(/, '').replace(/\)$/, '')
+									value = value.split(',').map(v => v.trim().replace(/^\'/, '').replace(/\'$/,
+										''))
+								}
+							}
+							sql.push([{
+								field,
+								value,
+								op
+							}])
+						}
+					}
+				})
+
+				if (sql.length > 0)
+					return Base64.encode(JSON.stringify({
+						model: 1,
+						condition: sql
+					}))
+				else
+					return ''
+			},
+
+			cancel(e) { //鍙栨秷
+				var eventChannel = this.$scope.eventChannel;
+				// const eventChannel = this.getOpenerEventChannel();
+				eventChannel.emit('ExitViewEvent', "");
+				uni.navigateBack({
+					delta: 1, //杩斿洖灞傛暟锛�鍒欎笂涓婇〉
+				});
+			},
+			translate(t) {
+				if (typeof this.$t == "function") return this.$t(`page.${t}`)
+				else return t;
+			},
+			translateSys(t) {
+				if (typeof this.$t == "function") return this.$t(`sys.${t}`)
+				else return t;
+			},
+
+		},
+	};
 </script>
+
+<style lang="scss">
+	.uni-page-modal-3200-view {
+		.v-headStyle .txt_title {
+			font-size: 34rpx;
+			text-align: right;
+			display: inline-block;
+			vertical-align: 12px;
+		}
+
+		.v-headStyle input {
+			display: inline-block;
+			/* border: 1px solid #d5d5d5; */
+			/* width: 65%; */
+			width: 85%;
+			height: 52rpx;
+			line-height: 34rpx;
+			background: #FFF;
+			border-radius: 0 !important;
+			color: #2d8cf0;
+			padding: 10rpx 8rpx 12rpx;
+			font-size: 34rpx;
+			font-family: inherit;
+			box-shadow: none !important;
+			transition-duration: 0.1s;
+			margin-top: 4rpx;
+		}
+
+		.v-headStyle input::-webkit-input-placeholder {
+			font-size: 12rpx;
+		}
+
+		.input-wrapper {
+			border: 1px solid #d5d5d5;
+			display: inline-block;
+			width: 65%;
+			line-height: 22rpx;
+		}
+
+		[nvue] uni-view {
+			position: relative;
+			border: 0 solid #000;
+			box-sizing: border-box;
+		}
+
+		.uni-input {
+			/* border: none; */
+		}
+
+		.uni-icon {
+			/* border: 1px solid red; */
+			width: 8%;
+			font-family: uniicons;
+			font-size: 40rpx;
+			font-weight: 400;
+			font-style: normal;
+			/* width: 48rpx; */
+			height: 48rpx;
+			line-height: 48rpx;
+			color: #2d8cf0;
+			cursor: pointer;
+			display: inline-block;
+			vertical-align: 18rpx;
+		}
+
+		.v-content {
+			height: 945rpx;
+			overflow: auto;
+			/* border:1px solid red; */
+		}
+
+		/* .dv-panel-bkcolor{
+  background-color:#efefef;
+} */
+		.dv-panel {
+			/* background-color:#efefef; */
+			padding: 20rpx 20rpx 4rpx 0px;
+			border-radius: 12rpx;
+			margin-bottom: 20rpx;
+			text-align: right;
+		}
+
+		.dv-panel-input {
+			vertical-align: middle;
+			width: 100%;
+			display: inline-block;
+			text-align: left;
+		}
+
+		.dv-panel-buticon {
+			line-height: 25px;
+			text-align: left;
+			/* font-size: 17px; */
+			padding: 0 15px;
+		}
+
+		.dv-panel-buticon .btn-padding {
+			padding: 10px;
+			display: inline-block;
+			vertical-align: middle;
+		}
+
+		.dv-panel-buticon a i {
+			font-size: 22px;
+		}
+
+		.dv-panel-buticon button {
+			min-width: 60px;
+			font-size: 16px;
+			padding: 20rpx 20rpx;
+			line-height: 1;
+			background: #4D6AF4;
+			border: none;
+			color: #fff;
+			font-weight: bold;
+			border-radius: 4px;
+		}
+
+		.dv-panel .txt_title {
+			font-size: 34rpx;
+			text-align: right;
+			display: inline-block;
+			margin-bottom: 15rpx;
+		}
+
+		.dv-panel input {
+			vertical-align: middle;
+			display: inline-block;
+			border: 1px solid #d5d5d5;
+			width: 68%;
+			height: 52rpx;
+			line-height: 34rpx;
+			background: #FFF;
+			border-radius: 7px !important;
+			color: #2d8cf0;
+			padding: 6rpx 8rpx 8rpx;
+			font-size: 32rpx;
+			font-family: inherit;
+			box-shadow: none !important;
+			transition-duration: 0.1s;
+			margin-top: 0rpx;
+		}
+
+		.dv-panel input::-webkit-input-placeholder {
+			font-size: 10rpx;
+		}
+
+		.dv-panel .form-item-span {
+			vertical-align: text-top;
+			color: #2d8cf0;
+			white-space: normal;
+			word-break: break-all;
+			display: inline-block;
+			width: calc(100% - 100px);
+		}
+
+		.dv-panel-button {
+			display: inline-block;
+		}
+
+		.dv-panel-button checkbox-group {
+			display: inline-block;
+		}
+
+		.dv-panel-button a i {
+			font-size: 18px;
+		}
+
+		.dv-panel-button button {
+			height: 25px;
+			font-size: 13px;
+			padding: 0 12px;
+		}
+
+		.view-floor {
+			text-align: center;
+			padding: 0 20rpx;
+			margin-top: 25rpx;
+			/* border:1px solid red; */
+		}
+
+		button.btn_refresh {
+			width: 48%;
+			margin-top: 25rpx;
+			padding: 20rpx;
+			line-height: 1.5;
+			background: #27A6E1;
+			border: none;
+			color: #fff;
+			font-size: 38rpx;
+			font-weight: bold;
+			/* float: left; */
+			display: inline-block;
+			margin: 0 3px;
+		}
+
+		button.btn_disabled {
+			background-color: #ddd;
+			color: #888;
+		}
+
+		button.btn_cancel {
+			width: 49.5%;
+			margin-top: 25rpx;
+			padding: 20rpx;
+			line-height: 1.5;
+			// background: #fff;
+			// border: none;
+			// color: #000;
+			font-size: 38rpx;
+			font-weight: bold;
+			float: left;
+			display: inline-block;
+			margin-right: 10px;
+		}
+
+		.bk-active {
+			background-color: #D6FCB2;
+		}
+
+		.uni-padding-wrap {
+			margin-top: -4rpx;
+			background-color: #98DAEA;
+			width: 52px;
+			height: 40px;
+			text-align: center;
+			border-radius: 27px;
+			padding: 12px 0 0px 0;
+			float: right;
+			display: inline-block;
+		}
+
+		.uni-padding-wrap a {
+			font-size: 20px;
+		}
+
+		.dv-viewHtml-Panel .item-label {
+			padding: 3px 5px;
+			width: 90px;
+			display: inline-block;
+			text-align: right;
+		}
+
+		.dv-viewHtml-Panel .item-span {
+			// line-height: 30px;
+			color: #2d8cf0;
+		}
+
+		.demo-uni-row {
+			margin-bottom: 0px;
+			display: block;
+		}
+
+		::v-deep .uni-row {
+			margin-bottom: 0px;
+		}
+
+		.view-tabpage ::v-deep .uni-row {
+			margin-bottom: 5px;
+		}
+
+		.demo-uni-col {
+			height: 36px;
+			border-radius: 5px;
+		}
+
+		.demo-uni-row .uni-input {
+			width: calc(100% - 120px);
+		}
+	}
+</style>
\ No newline at end of file

--
Gitblit v1.9.1