From d84283821bb08d81d887f20a7118caf25b8b2714 Mon Sep 17 00:00:00 2001 From: cuiqian2004 <cuiqian2004@163.com> Date: 星期二, 27 八月 2024 18:29:10 +0800 Subject: [PATCH] 判断接口返回值是否是字符串,然后解析 --- pages/modal/3200.vue | 1170 +++++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 821 insertions(+), 349 deletions(-) diff --git a/pages/modal/3200.vue b/pages/modal/3200.vue index acea277..71ac1bf 100644 --- a/pages/modal/3200.vue +++ b/pages/modal/3200.vue @@ -22,181 +22,172 @@ </view> </view> - <scroll-view :scroll-top="scrollTop" :scroll-y="true" class="scroll-Y" @scrolltolower="scrolltolower" - @scroll="scroll"> - <view class="view-content" id="tabpanel"> - <view class="dv-panel dv-panel-bkcolor" v-for="(style,ii) in detail1StyleDefList" - @click="onPanelClick(ii)" :id="'panel'+style.form.htmlobjId" - :class="activelist[ii].active==true?'bk-active':''"> - <div class="dv-panel-button" v-if="param.ListPage.CheckBox==true"> - <checkbox-group> - <label> - <checkbox :value="style.SelBut_Checked" :checked="style.SelBut_Checked" /> - </label> - </checkbox-group> - </div> - <!-- HTML椤甸潰绫诲瀷鏄剧ず --> - <div class="dv-listHtml-Panel" v-if="ListHtml_Panel" v-html="ListHtml_Panel[ii]" :style="param.ListPage.CheckBox==true && param.ListPage.Click_View==true?'width:85%;': - param.ListPage.CheckBox==false && param.ListPage.Click_View==true?'width:91%;': - param.ListPage.CheckBox==true && param.ListPage.Click_View==false?'width:88%;':'width:100%;'"> - <!-- <div 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> + <view class="v-scroll-view"> + <scroll-view :scroll-top="scrollTop" :scroll-y="true" class="scroll-y" @scrolltolower="scrolltolower" + @scroll="scroll"> + <view class="view-content" id="tabpanel"> + <view class="dv-panel dv-panel-bkcolor" v-for="(style,ii) in detail1StyleDefList" :key="ii" + @click="onPanelClick(ii)" :id="'panel'+style.form.htmlobjId" + :class="activeItem == style?'bk-active':''"> + <div class="dv-panel-button" v-if="param.ListPage.CheckBox==true"> + <checkbox-group> + <label> + <checkbox :value="style.SelBut_Checked" :checked="style.SelBut_Checked" /> + </label> + </checkbox-group> </div> - </div> - <div class="dv-panel-button" v-if="param.ListPage.Click_View==true"> - <a @click="onViewPageClick(style)"><i class="mobox-normal-right-arrow" /></a> - </div> - <div class="dv-panel-buticon" v-if="param.ListPage.ListItem_Button"> - <view class="btn-padding" v-for="(btn,key) in param.ListPage.ListItem_Button"> - <a @click="onBtnClick(btn,style)" :title="btn.ShowName" v-if="btn.Style=='img'"> - <i :class="btn.Img" /> - </a> - <button type="default" @click="onBtnClick(btn,style)" class="btn-padding" - v-else-if="btn.Style=='text'">{{btn.ShowName}}</button> - </view> - </div> + <!-- HTML椤甸潰绫诲瀷鏄剧ず --> + <div class="dv-listHtml-Panel" v-if="ListHtml_Panel" v-html="ListHtml_Panel[ii]" :style="param.ListPage.CheckBox==true && param.ListPage.Click_View==true?'width:85%;': + param.ListPage.CheckBox==false && param.ListPage.Click_View==true?'width:91%;': + param.ListPage.CheckBox==true && param.ListPage.Click_View==false?'width:88%;':'width:100%;'"> + + </div> + <div class="dv-panel-input" v-if="!ListHtml_Panel" :style="param.ListPage.CheckBox==true && param.ListPage.Click_View==true?'width:85%;': + param.ListPage.CheckBox==false && param.ListPage.Click_View==true?'width:91%;': + param.ListPage.CheckBox==true && param.ListPage.Click_View==false?'width:88%;':'width:100%;'"> + <div v-for="(item,index) in style.form.items"> + <!-- 鏅�甯冨眬 --> + <view v-if="item.name!='Layout'"> + <text class="txt_title" + :style="{'width':item.labelWidth+'px'}">{{item.label}}锛�/text> + <span class="form-item-span" v-if="item.disabled">{{item.value}}</span> + <!-- 鏂囨湰妗�鏁板瓧妗�--> + <view class="dv_input" + v-if="(item.name=='Input' || item.name=='InputNumber') && !item.disabled"> + <text v-if="item.setting.prefix" class="uni-icon" + :class="[item.setting.prefix]" @change="onChange(item)"></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> - </view> - </scroll-view> + </scroll-view> + </view> </view> <view class="view-floor"> @@ -255,11 +246,10 @@ }, detail1_styledef: {}, detail1StyleDefList: [], - detail2_styledef: {}, - detail2StyleDefList: [], items: [], active_id: '', - activelist: [], + //activelist: [], + activeItem: {}, where: '', wheres: '', orderby: '', @@ -290,7 +280,39 @@ }); //璁剧疆椤堕儴鏍囬 this.$data.title = options.titlename; this.$data.param = JSON.parse(options.param); - this.initial(); + + + this.styledef = {}; + this.head_styledef = { + form: { + items: [] + } + }; + this.detail1_styledef = {}; + this.detail1StyleDefList = []; + this.ListHtml_Panel = ""; + this.ListPageHtml_Show = { + name: "", + event: { + id: "", + name: "" + } + }; + this.items = []; + this.active_id = ''; + this.activeItem = {}; + //this.activelist = []; + + if (this.param.ListPage.ListItem_UIDef?.ui_type == "HTML椤甸潰") { + // HTML椤甸潰 + //鑾峰彇鏁版嵁绫荤殑HTML椤甸潰 + await this.Html_UIstyleGetInfo(this.param.DataCls.id, this.param.ListPage.ListItem_UIDef.id, options + .paramValue); + } else { + await this.Detail1_UIstyleGetInfo(this.param.DataCls.id, this.param.ListPage.ListItem_UIDef.id); + + await this.initial(options.paramValue); + } // this.isFilter=true; // if(this.param.ShowFilter) // this.isFilter=false; @@ -320,43 +342,61 @@ // this.focusMateria=true; }, methods: { - //鍒濆鍖�- async initial() { - this.styledef = {}; - this.head_styledef = { - form: { - items: [] - } - }; - this.detail1_styledef = {}; - this.detail1StyleDefList = []; - this.detail2_styledef = {}; - this.detail2StyleDefList = []; - this.items = []; - this.active_id = ''; - this.activelist = []; - this.ListHtml_Panel = ""; - this.ListPageHtml_Show = { - name: "", - event: { - id: "", - name: "" - } - }; + // + setData: function(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 initial(paramValue) { this.isFilter = true; if (this.param.ShowFilter) this.isFilter = false; //鑾峰彇鏁版嵁绫荤殑鑷畾涔夎〃鍗曞弬鏁� 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); + await this.Head_UIStyleGetInfo(this.param.DataCls.id, this.param.Query_Panel.id); + //浼犲叆鍙傛暟鍊�+ if (paramValue) { + const attrs = paramValue.attrs || []; + (this.$data.head_styledef?.form?.items || []).forEach(async (ele, index) => { + if (ele.name != "Layout") { + attrs.forEach(async (ele2, index2) => { + if (ele.fieldId == ele2.name) { + ele.value = ele2.value; + } + }); + } else { + ele.setting.colList.forEach(async (col) => { + if (col) { + attrs.forEach(async (ele2, + index2) => { + if (col.fieldId == ele2.name) { + col.value = ele2.value; + } + }); + } + }); + } + }) + } } this.orderby = this.param.Order ? this.param.Order : 'T_CREATE Desc'; if (this.param.Query_Event) { @@ -366,8 +406,10 @@ this.pageindex = 1; this.page_size = 3; this.query_id = ""; + this.detail1StyleDefList = []; await this.loadDataGetList(); } + }, //婊氬姩鍒板簳閮ㄥ悗鎳掑姞杞芥暟鎹� async scrolltolower(e) { @@ -409,12 +451,15 @@ $this.$data.head_styledef = ret.result.style_def ? JSON.parse(styledef) : {}; // this.form = this.head_styledef.form.model; // console.log($this.$data.head_styledef); - $this.head_styledef.form.items.forEach(async (ele, index) => { - console.log(ele.useDict); - if (ele.useDict == true) { //鍒ゆ柇useDict鏄惁浣跨敤瀛楀吀 - await this.DictGetInfo(ele.bind.dict, index, 'mast'); - } - }); + if ($this.head_styledef.form?.items) { + $this.head_styledef.form.items.forEach(async (ele, index) => { + console.log(ele.useDict); + if (ele.useDict == true) { //鍒ゆ柇useDict鏄惁浣跨敤瀛楀吀 + await this.DictGetInfo(ele.bind.dict, index, 'mast'); + } + }); + + } } else { uni.showModal({ @@ -479,7 +524,7 @@ }); }, - async Html_UIstyleGetInfo(class_id, style_id) { //鑾峰彇鑷畾涔夎〃鍗曟牱寮�+ async Html_UIstyleGetInfo(class_id, style_id, paramValue) { //鑾峰彇鑷畾涔夎〃鍗曟牱寮� var $this = this; var dataInfo = { class_id: class_id, @@ -496,8 +541,11 @@ if (!ret.result.style_def.includes('"')) styledef = Base64.decode(ret.result .style_def); } + // console.log(styledef); $this.ListPageHtml_Show = ret.result.style_def ? JSON.parse(styledef) : {}; // console.log($this.ListPageHtml_Show); + + $this.initial(paramValue); } else { uni.showModal({ title: this.translateSys("error") + "10", @@ -524,45 +572,34 @@ dict_id: dict.id, dict_name: dict.name }; - // console.log(dataInfo); - this.$store.dispatch('DictGetInfo', dataInfo).then(async (success) => { - console.log(success); - if (success.err_code == 0) { - if (type == 'mast') { - var list = []; - var itemName = ''; - success.result.dict_item_list.forEach((item) => { - if (item.is_default == '1') - itemName = item.name; - list.push({ - text: item.value, - value: item.name, - }); + try { + const success = await this.getDictInfo(dataInfo) + if (type == 'mast') { + var list = []; + var itemName = ''; + success.result.dict_item_list.forEach((item) => { + if (item.is_default == '1') + itemName = item.name; + list.push({ + text: item.value, + value: item.name, }); - //鏈夐粯璁ゅ�锛屾樉绀洪粯璁ゅ� - if (itemName) { - $this.head_styledef.form.items[index].value = itemName; - var attr = $this.head_styledef.form.items[index].fieldId; - $this.head_styledef.form.model[attr] = itemName; - } - $this.head_styledef.form.items[index].dict = list; - var head_styledef = JSON.parse(JSON.stringify($this.head_styledef)); - $this.head_styledef = []; - $this.head_styledef = head_styledef; - } else { - // $this.$data.subClassAttrList[index].attr_list[key].dictitem=success.result; - // this.$store.commit("subClassAttrList", $this.$data.subClassAttrList); - } - - } else { - uni.showModal({ - title: this.translateSys("error") + "3.1", - content: success.err_msg, - showCancel: false, - confirmText: this.translateSys("cancel") }); + //鏈夐粯璁ゅ�锛屾樉绀洪粯璁ゅ� + if (itemName) { + $this.head_styledef.form.items[index].value = itemName; + var attr = $this.head_styledef.form.items[index].fieldId; + $this.head_styledef.form.model[attr] = itemName; + } + $this.head_styledef.form.items[index].dict = list; + var head_styledef = JSON.parse(JSON.stringify($this.head_styledef)); + $this.head_styledef = []; + $this.head_styledef = head_styledef; + } else { + // $this.$data.subClassAttrList[index].attr_list[key].dictitem=success.result; + // this.$store.commit("subClassAttrList", $this.$data.subClassAttrList); } - }).catch(ex => { + } catch (ex) { // console.log(ex); uni.showModal({ title: this.translateSys("error") + "3", @@ -570,7 +607,108 @@ showCancel: false, confirmText: this.translateSys("cancel") }); - }); + } + }, + getDictInfo(info) { //Mobox3寰楀埌寰楀埌瀛楀吀淇℃伅瀛楀吀椤瑰垪琛�+ const loginInfo = this.$store.getters.loginid + const mobxoSApi = this.$store.getters.getMobxoSApi + return new Promise((resolve, reject) => { + uni.request({ + url: mobxoSApi + 'api/dict/GetInfo2?sessionid=' + loginInfo.result.session_id, + data: info, + method: 'POST', + dataType: "json", + success: (_res) => { + // console.log(_res); + var ret = _res.data + if (typeof ret == 'string') { + try { + try { + try { + ret = JSON.parse(ret.replace(/\\"/g, '"')); + } catch (ex) { + ret = JSON.parse(ret.replace(/\\/g, '\\\\')) + } + } catch (ex) { + ret = JSON.parse(ret.replace(/\\"/g, "'").replace(/[\r\n]/g, + '<br>').replace(/[\t]/g, ' ')); + } + } catch (ex) { + console.log(ret) + return reject('灏唃etDictInfo銆恓son string銆戣浆鎹负銆恓son object銆戝け璐�) + } + } + if (ret.err_code == 0) { + resolve(ret); + } else { + reject({ + "errMsg": ret.err_msg + }); + } + + if (ret.err_code == 0) { + resolve(ret); + } else { + reject({ + "errMsg": ret.err_msg + }); + } + }, + fail: (err) => { + // console.log(err); + reject(err); + } + }) + + }) + + }, + getUIStyleInfo(info) { //Mobox3鏁版嵁绫荤晫闈㈡牱寮�+ const loginInfo = this.$store.getters.loginid + const dataSApi = this.$store.getters.getDataSApi + return new Promise((resolve, reject) => { + uni.request({ + url: dataSApi + 'api/class/uistyle/GetInfo?sessionid=' + loginInfo.result + .session_id, + data: info, + method: 'POST', + dataType: "json", + success: (_res) => { + // console.log(_res); + var ret = _res.data + if (typeof ret == 'string') { + try { + try { + try { + ret = JSON.parse(ret.replace(/\\"/g, '"')); + } catch (ex) { + ret = JSON.parse(ret.replace(/\\/g, '\\\\')) + } + } catch (ex) { + ret = JSON.parse(ret.replace(/\\"/g, "'").replace(/[\r\n]/g, + '<br>').replace(/[\t]/g, ' ')); + } + } catch (ex) { + console.log(ret) + return reject('灏唃etUIStyleInfo銆恓son string銆戣浆鎹负銆恓son object銆戝け璐�) + } + } + if (ret.err_code == 0) { + resolve(ret); + } else { + reject({ + "errMsg": ret.err_msg || ret.errMsg + }); + } + }, + fail: (err) => { + // console.log(err); + reject(err); + } + }) + + }) + }, // 鎵ц鏌ヨ浜嬩欢 @@ -591,13 +729,18 @@ 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("cancel") - }); - else uni.showModal({ + if (result.ret == 801) { + if (this.param.Only_Script_Error) { + let pos = tip.indexOf("锛�); + if (pos > -1) tip = tip.substring(pos + 1); + } + uni.showModal({ + title: this.translateSys("tip"), + content: tip, + showCancel: false, + confirmText: this.translateSys("cancel") + }); + } else uni.showModal({ title: this.translateSys("tip"), content: tip + ',' + this.translateSys('tip') + ':' + result .ret, @@ -630,7 +773,6 @@ }); } else { - // this.detail2StyleDefList=[]; if (result.info) { uni.showModal({ title: this.translateSys("tip"), @@ -707,7 +849,9 @@ if (ret.result) { $this.page_count = ret.result.page_count; if (ret.result.page_count > 1) $this.query_id = ret.result.query_id; + // console.log($this.ListPageHtml_Show.event); if ($this.ListPageHtml_Show.event.id) { + const detail1StyleDefList = $this.detail1StyleDefList ret.result.obj_list.forEach((obj) => { var info = { id: obj.id, @@ -724,12 +868,17 @@ .replace('{', '').replace('}', '') : 'null'; detailStyle.form.objId = obj.id; detailStyle.form.attrs = obj.attr_list; - $this.detail1StyleDefList.push(detailStyle); - $this.activelist.push({ - active: false - }); + detail1StyleDefList.push(detailStyle); + // $this.activelist.push({ + // active: false + // }); }); // console.log(this.detail1StyleDefList); + + $this.setData({ + detail1StyleDefList: detail1StyleDefList + }) + var jsonlist = []; $this.detail1StyleDefList.forEach(attr => { jsonlist.push({ @@ -755,6 +904,7 @@ }); } else { // $this.detail1StyleDefList=[]; + const detail1StyleDefList = [] ret.result.obj_list.forEach((obj) => { var styleStr = JSON.stringify($this.detail1_styledef); var detailStyle = JSON.parse(styleStr); @@ -785,12 +935,15 @@ .replace('{', '').replace('}', '') : 'null'; detailStyle.form.objId = obj.id; detailStyle.form.attrs = obj.attr_list; - $this.detail1StyleDefList.push(detailStyle); - $this.activelist.push({ - active: false - }); + detail1StyleDefList.push(detailStyle); + // $this.activelist.push({ + // active: false + // }); //list.push(info); }); + $this.setData({ + detail1StyleDefList: detail1StyleDefList + }) } // 瑙e喅view灞備笉鍚屾鐨勯棶棰�@@ -950,9 +1103,24 @@ if (btn.FunCode == "Add" || btn.FunCode == "Modify") { if (btn.Edit_dlg.Model == "small") { this.showAddSmallDialog(btn, style, enviroment); + } else { + uni.showModal({ + title: this.translateSys("tip"), + content: this.translateSys("unrealized"), + showCancel: false, + confirmText: this.translateSys("cancel") + }); } } else if (btn.FunCode == "Delete") { this.DeleteObj(btn, style, enviroment); + // } else if (btn.FunCode == "TriggerEvent") { + // this.triggerEvent(btn, style, enviroment); + } else if (btn.FunCode == "TriggerEvent") { + this.TriggerEvent(btn, style, enviroment); + // } else if (btn.FunCode == "TriggerEvent") { + // this.triggerEvent(btn, style, enviroment); + } else if (btn.FunCode == "RelatedFunction") { + this.RelatedFunction(btn, style, enviroment); // } else if (btn.FunCode == "TriggerEvent") { // this.triggerEvent(btn, style, enviroment); } else { @@ -1056,6 +1224,207 @@ }); }, + //鎵ц浜嬩欢 + async TriggerEvent(btn, style, enviroment) { //鎵ц瑙﹀彂浜嬩欢 + try { + let obj_attr = { + S_ID: this.styledef.form.objId + }; + style.form.attrs.forEach((attr) => { + obj_attr[attr.name] = attr.value; + }); + + if (!this.ListPageHtml_Show.event.id) { + //鍒ゆ柇娌℃湁HTML椤甸潰浜嬩欢 + this.head_styledef.form.items.forEach(async (ele, index) => { + if (ele.name != "Layout") { + if (!obj_attr[ele.fieldId]) { + obj_attr[ele.fieldId] = ele.value; + } + } else if (ele.name == "Layout") { + ele.setting.colList.forEach(async (col, key) => { + if (col) { + if (!obj_attr[col.fieldId]) { + obj_attr[col.fieldId] = col.value; + } + } + }); + } + }); + } + + const dataInfo = { + ed_type: 0, + start_transaction: true, + class_id: btn.clsId, + event_id: btn.event.id, + data_obj_id: this.styledef.form.objId, + obj_attr: obj_attr, + } + this.$store.dispatch('runCustomEvent', dataInfo).then(ret => { + // console.log(ret); + if (ret.err_code == 0) { + var result = ret.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) { + if (this.param.Only_Script_Error) { + let pos = tip.indexOf("锛�); + if (pos > -1) tip = tip.substring(pos + 1); + } + uni.showModal({ + title: this.translateSys("tip"), + content: tip, + showCancel: false, + confirmText: this.translateSys("cancel") + }); + } else uni.showModal({ + title: this.translateSys("tip"), + content: tip + ',' + this.translateSys('tip') + + ':' + + result + .ret, + showCancel: false, + confirmText: this.translateSys("cancel") + }); + 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("cancel") + }); + + } + } else { + uni.showModal({ + title: this.translateSys("error") + "8", + content: ret.err_msg, + showCancel: false, + confirmText: this.translateSys("cancel") + }); + } + + }).catch(ex => { + // console.log(ex); + uni.showModal({ + title: this.translateSys("error") + "8.1", + content: ex.errMsg, + showCancel: false, + confirmText: this.translateSys("cancel") + }); + }); + } catch (ex) { + var tip = typeof ex == "string" ? ex : ex.message; + uni.showModal({ + title: this.translateSys("error"), + content: tip, + showCancel: false, + confirmText: this.translateSys("cancel") + }); + this.showError(ex); + } + }, + //璺宠浆 + async RelatedFunction(btn, style, enviroment) { + const defCode = btn.Related_Function?.Def_Code + var $this = this; + if ( + defCode == "3018" || + defCode == "3037" || + defCode == "3200" || + defCode == "3201" || + defCode == "5600" || + defCode == "5601" || + defCode == "5602" + ) { + + let name = defCode + if (defCode == "3018" || defCode == "3037") + name = defCode + "_2" + var json = { + app_id: [btn.Related_Function.ID], + }; + console.log("RelatedFunction2", json); + this.$store.dispatch('appGetInfo', json).then(success => { + console.log(success); + if (success.err_code == 0) { + if ((success.result || []).length > 0) { + const app = success.result[0] + var param = ""; + var appName = app.list_name || app.name + .Name; + var paramStr = app.param + if (paramStr) { + //mobox2鐨刾aram鏄痡son瀛楃涓�+ param = paramStr.replace(/\\/g, ""); + //mobox3鐨刾aram鏄痓ase64瀛楃涓�+ if (!paramStr.includes('"')) param = Base64.decode(paramStr); + } + if (!param) { + uni.showModal({ + title: this.translateSys("tip"), + content: this.translate('tip_no_app_param'), + showCancel: false, + confirmText: this.translateSys("cancel") + }); + return; + } + + uni.navigateTo({ + url: '../modal/' + name + '?param=' + param + "&titlename=" + + appName + + "&type=relatedFunction¶mValue=" + JSON.stringify(style + .form), + events: { + relatedFunction: function(data) { + console.log(data); + $this.Refresh(); + }, + } + }); + } else { + uni.showModal({ + title: this.translateSys("error"), + content: this.translate("function_not_exist"), + showCancel: false, + confirmText: this.translateSys("cancel") + }); + } + } else { + uni.showModal({ + title: this.translateSys("error"), + content: success.msg, + showCancel: false, + confirmText: this.translateSys("cancel") + }); + } + }).catch(ex => { + console.log(ex); + uni.showModal({ + title: this.translateSys("error"), + content: ex.errMsg, + showCancel: false, + confirmText: this.translateSys("cancel") + }); + }); + } else { + uni.showModal({ + title: this.translateSys("error"), + content: this.translate("cannot_related_function"), + showCancel: false, + confirmText: this.translateSys("cancel") + }); + + } + }, //鎵ц鍚庡鐞嗕簨浠� async AfterProcess_Event(clsId, afterProcess_Event, enviroment) { try { @@ -1094,7 +1463,8 @@ var attr = item.fieldId; this.head_styledef.form.model[attr] = item.value; var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�- var onSuffixClickCallbackEvent = item.bind.onSuffixClickCallbackEvent; //鍚庡浘鏍囩偣鍑讳簨浠�+ var onSuffixClickCallbackEvent = item.bind + .onSuffixClickCallbackEvent; //鍚庡浘鏍囩偣鍑讳簨浠� var onSuffixClickEvent = item.bind.onSuffixClickEvent; //鍚庡浘鏍囩偣鍑诲洖璋� var isflag = false; @@ -1196,24 +1566,34 @@ if (ret.err_code == 0) { var result = ret.result; if (result.ret != 0) { - var tip = result.err_info ? typeof result.err_info == 'string' ? result + var tip = result.err_info ? typeof result.err_info == + 'string' ? + result .err_info : result.err_info.join('<br/>') : ''; - if (result.ret == 801) uni.showModal({ + if (result.ret == 801) { + if (this.param.Only_Script_Error) { + let pos = tip.indexOf("锛�); + if (pos > -1) tip = tip.substring(pos + 1); + } + uni.showModal({ + title: this.translateSys("tip"), + content: tip, + showCancel: false, + confirmText: this.translateSys("cancel") + }); + } else uni.showModal({ title: this.translateSys("tip"), - content: tip, - showCancel: false, - confirmText: this.translateSys("cancel") - }); - else uni.showModal({ - title: this.translateSys("tip"), - content: tip + ',' + this.translateSys('tip') + ':' + result + content: tip + ',' + this.translateSys('tip') + + ':' + + result .ret, showCancel: false, confirmText: this.translateSys("cancel") }); return false; } else { - var tip = result.info ? typeof result.info == 'string' ? result.info : + var tip = result.info ? typeof result.info == 'string' ? result + .info : result.info.join('<br/>') : ''; if (tip) uni.showModal({ title: this.translateSys("tip"), @@ -1227,20 +1607,26 @@ if (item.action_type == "set_dlg_attr") { // value = {"attr":"xxx", "value":"xxx"} var data = item.value; - $this.$data.head_styledef.form.items.forEach(async ( - ele, index) => { - data.forEach(async (ele2, index) => { - if (ele.fieldId == ele2 - .attr) { - ele.value = ele2 - .value; - } - }); - }); + $this.$data.head_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"), @@ -1274,7 +1660,8 @@ 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( + content: this.translate('execute_after_change_event_failed') + this + .translateSys( "comma") + this.translate('reason') + this.translateSys("colon") + tip, showCancel: false, @@ -1286,10 +1673,13 @@ //鐐逛腑琛ㄥ崟 onPanelClick(value) { //鐐瑰嚮闈㈡澘楂樹寒鏄剧ず // console.log(value); - this.activelist.forEach(ele => { - ele.active = false; - }); - this.activelist[value].active = true; + this.setData({ + activeItem: this.detail1StyleDefList[value] + }) + // this.activelist.forEach(ele => { + // ele.active = false; + // }); + // this.activelist[value].active = true; }, //浜嬩欢澶勭悊 @@ -1301,23 +1691,33 @@ if (ret.err_code == 0) { var result = ret.result; if (result.ret != 0) { - var tip = result.err_info ? typeof result.err_info == 'string' ? result + var tip = result.err_info ? typeof result.err_info == + 'string' ? + result .err_info : result.err_info.join('<br/>') : ''; - if (result.ret == 801) uni.showModal({ + if (result.ret == 801) { + if (this.param.Only_Script_Error) { + let pos = tip.indexOf("锛�); + if (pos > -1) tip = tip.substring(pos + 1); + } + uni.showModal({ + title: this.translateSys("tip"), + content: tip, + showCancel: false, + confirmText: this.translateSys("cancel") + }); + } else uni.showModal({ title: this.translateSys("tip"), - content: tip, - showCancel: false, - confirmText: this.translateSys("cancel") - }); - else uni.showModal({ - title: this.translateSys("tip"), - content: tip + ',' + this.translateSys('tip') + ':' + result.ret, + content: tip + ',' + this.translateSys('tip') + + ':' + + result.ret, showCancel: false, confirmText: this.translateSys("cancel") }); return false; } else { - var tip = result.info ? typeof result.info == 'string' ? result.info : result + var tip = result.info ? typeof result.info == 'string' ? result + .info : result .info.join('<br/>') : ''; if (tip) uni.showModal({ title: this.translateSys("tip"), @@ -1328,24 +1728,31 @@ if (result.result_type == 0 && result.action) { result.action.forEach(item => { - if (item.action_type == "goback_to_pre_page") { //杩斿洖涓婁竴椤�+ if (item.action_type == + "goback_to_pre_page") { //杩斿洖涓婁竴椤� var value = item.value; uni.navigateBack({ 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.ListPage.Page_Button - .findIndex(button => button.ShowName == + var index = $this.param + .ListPage + .Page_Button + .findIndex(button => button + .ShowName == btn) if (index > -1) - $this.param.ListPage.Page_Button.splice( + $this.param.ListPage + .Page_Button.splice( index, 1) }) // } else if(item.action_type == "refresh_cur_row"){ // // var value = item.value; - } else if (item.action_type == "set_panel_html") { //鏄剧ずHtml椤甸潰 + } else if (item.action_type == + "set_panel_html") { //鏄剧ずHtml椤甸潰 // var value = item.value; $this.ListHtml_Panel = item.value; // $this.detail1StyleDefList.forEach((ele,index)=>{ @@ -1354,20 +1761,27 @@ } else { uni.showModal({ - title: this.translateSys("tip"), + title: this.translateSys( + "tip"), content: this.translateSys( - "quotation_mark_left") + item - .action_type + this.translateSys( - "quotation_mark_right") + this + "quotation_mark_left" + ) + + item + .action_type + this + .translateSys( + "quotation_mark_right" + ) + + this .translate( - "tip_action_unprocessed"), + "tip_action_unprocessed" + ), showCancel: false, - confirmText: this.translateSys("cancel") + confirmText: this.translateSys( + "cancel") }); } }); } else { - // this.detail2StyleDefList=[]; if (result.info) { uni.showModal({ title: this.translateSys("tip"), @@ -1445,13 +1859,17 @@ var seps = [' not in', ' in', '<>', '!=', '<=', '>=', '<', '=', '>', ' like'] list.forEach(ls => { var where = ls.trim() - if (where.startsWith('(') && where.endsWith(')')) where = where.replace(/^\(/, '').replace( + 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( + if (l.startsWith('(') && l.endsWith(')')) l = l.replace( + /^\(/, + '').replace( /\)$/, '') var sep = '' for (var i = 0; i < seps.length; i++) { @@ -1462,21 +1880,33 @@ } if (sep) { var values = l.split(new RegExp(sep, 'i')) - var field = values[0]?.trim().replace(/^\[/, '').replace(/\]$/, '') + 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 + 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(/\'$/, '') + value = values[1]?.trim().replace(/^\'/, '') + .replace( + /\'$/, '') if (['in', 'not in'].includes(op)) { - value = value.replace(/^\(/, '').replace(/\)$/, '') - value = value.split(',').map(v => v.trim().replace(/^\'/, '') + value = value.replace(/^\(/, '').replace(/\)$/, + '') + value = value.split(',').map(v => v.trim() + .replace( + /^\'/, '') .replace(/\'$/, '')) } } @@ -1492,7 +1922,9 @@ var s = [] where.split(/ or /i).forEach(li => { var l = li.trim() - if (l.startsWith('(') && l.endsWith(')')) l = l.replace(/^\(/, '').replace( + if (l.startsWith('(') && l.endsWith(')')) l = l.replace( + /^\(/, + '').replace( /\)$/, '') var sep = '' for (var i = 0; i < seps.length; i++) { @@ -1503,21 +1935,33 @@ } if (sep) { var values = l.split(new RegExp(sep, 'i')) - var field = values[0]?.trim().replace(/^\[/, '').replace(/\]$/, '') + 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 + 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(/\'$/, '') + value = values[1]?.trim().replace(/^\'/, '') + .replace( + /\'$/, '') if (['in', 'not in'].includes(op)) { - value = value.replace(/^\(/, '').replace(/\)$/, '') - value = value.split(',').map(v => v.trim().replace(/^\'/, '') + value = value.replace(/^\(/, '').replace(/\)$/, + '') + value = value.split(',').map(v => v.trim() + .replace( + /^\'/, '') .replace(/\'$/, '')) } } @@ -1533,7 +1977,9 @@ var li = where // 鍗曚竴鏌ヨ鏉′欢鐩存帴鏀惧湪绗竴绾ф暟缁勪腑 var l = li.trim() - if (l.startsWith('(') && l.endsWith(')')) l = l.replace(/^\(/, '').replace(/\)$/, '') + 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])) { @@ -1547,18 +1993,23 @@ var value = '' var op = sep.trim() - if ([' in', ' not in'].includes(sep) && values[1]?.toLowerCase().includes('select ') && + 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(/^\(/, '') + 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(/\'$/, - '')) + value = value.split(',').map(v => v.trim().replace(/^\'/, + '') + .replace(/\'$/, + '')) } } sql.push([{ @@ -1590,8 +2041,13 @@ }, }; </script> -<style lang="scss"> +<style lang="less"> .uni-page-modal-3200 { + display: flex; + flex-direction: column; + height: calc(100vh - 30rpx); + padding: 15rpx 0; + .v-headStyle:first-child { margin-top: 15rpx; } @@ -1659,13 +2115,21 @@ } .v-content { - height: 945rpx; - overflow: hide; + flex: 1; + display: flex; + width: 100%; + flex-direction: column; + min-height: 100px; + overflow: hidden; /* border:0.1px solid red; */ } .view-content { + width: 100%; + display: flex; margin-top: 10rpx; + flex-direction: column; + } .dv-panel-bkcolor { @@ -1696,7 +2160,7 @@ } .dv-panel-buticon .btn-padding { - padding: 0rpx 20rpx; + padding: 10rpx 20rpx; display: inline-block; vertical-align: middle; } @@ -1778,7 +2242,8 @@ } .view-floor { - padding: 0 20rpx; + width: calc(100% - 20rpx); + padding: 10rpx; /* border:1px solid red; */ } @@ -1888,7 +2353,14 @@ border-radius: 10rpx; } - .scroll-Y { + .v-scroll-view { + flex: 1; + overflow: hidden; + width: 98%; + } + + .scroll-y { + width: 100%; height: 100%; } -- Gitblit v1.9.1