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)"></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)"></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)"></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)"></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)"></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)"></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)"></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)"></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