From d84283821bb08d81d887f20a7118caf25b8b2714 Mon Sep 17 00:00:00 2001 From: cuiqian2004 <cuiqian2004@163.com> Date: 星期二, 27 八月 2024 18:29:10 +0800 Subject: [PATCH] 判断接口返回值是否是字符串,然后解析 --- pages/modal/3200.vue | 697 +++++++++++++++++++++++++++++++++++----------------------- 1 files changed, 421 insertions(+), 276 deletions(-) diff --git a/pages/modal/3200.vue b/pages/modal/3200.vue index 963b950..71ac1bf 100644 --- a/pages/modal/3200.vue +++ b/pages/modal/3200.vue @@ -22,164 +22,172 @@ </view> </view> - <scroll-view :scroll-top="scrollTop" :scroll-y="true" class="scroll-Y" @scrolltolower="scrolltolower" - @scroll="scroll"> - <view class="view-content" id="tabpanel"> - <view class="dv-panel dv-panel-bkcolor" v-for="(style,ii) in detail1StyleDefList" - @click="onPanelClick(ii)" :id="'panel'+style.form.htmlobjId" - :class="activelist[ii].active==true?'bk-active':''"> - <div class="dv-panel-button" v-if="param.ListPage.CheckBox==true"> - <checkbox-group> - <label> - <checkbox :value="style.SelBut_Checked" :checked="style.SelBut_Checked" /> - </label> - </checkbox-group> - </div> - <!-- HTML椤甸潰绫诲瀷鏄剧ず --> - <div class="dv-listHtml-Panel" v-if="ListHtml_Panel" v-html="ListHtml_Panel[ii]" :style="param.ListPage.CheckBox==true && param.ListPage.Click_View==true?'width:85%;': - param.ListPage.CheckBox==false && param.ListPage.Click_View==true?'width:91%;': - param.ListPage.CheckBox==true && param.ListPage.Click_View==false?'width:88%;':'width:100%;'"> - - </div> - <div class="dv-panel-input" v-if="!ListHtml_Panel" :style="param.ListPage.CheckBox==true && param.ListPage.Click_View==true?'width:85%;': - param.ListPage.CheckBox==false && param.ListPage.Click_View==true?'width:91%;': - param.ListPage.CheckBox==true && param.ListPage.Click_View==false?'width:88%;':'width:100%;'"> - <div v-for="(item,index) in style.form.items"> - <!-- 鏅�甯冨眬 --> - <view v-if="item.name!='Layout'"> - <text class="txt_title" - :style="{'width':item.labelWidth+'px'}">{{item.label}}锛�/text> - <span class="form-item-span" v-if="item.disabled">{{item.value}}</span> - <!-- 鏂囨湰妗�鏁板瓧妗�--> - <view class="dv_input" - v-if="(item.name=='Input' || item.name=='InputNumber') && !item.disabled"> - <text v-if="item.setting.prefix" class="uni-icon" :class="[item.setting.prefix]" - @change="onChange(item)"></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"> @@ -238,11 +246,10 @@ }, detail1_styledef: {}, detail1StyleDefList: [], - detail2_styledef: {}, - detail2StyleDefList: [], items: [], active_id: '', - activelist: [], + //activelist: [], + activeItem: {}, where: '', wheres: '', orderby: '', @@ -273,7 +280,39 @@ }); //璁剧疆椤堕儴鏍囬 this.$data.title = options.titlename; this.$data.param = JSON.parse(options.param); - this.initial( options.paramValue); + + + this.styledef = {}; + this.head_styledef = { + form: { + items: [] + } + }; + this.detail1_styledef = {}; + this.detail1StyleDefList = []; + this.ListHtml_Panel = ""; + this.ListPageHtml_Show = { + name: "", + event: { + id: "", + name: "" + } + }; + this.items = []; + this.active_id = ''; + this.activeItem = {}; + //this.activelist = []; + + if (this.param.ListPage.ListItem_UIDef?.ui_type == "HTML椤甸潰") { + // HTML椤甸潰 + //鑾峰彇鏁版嵁绫荤殑HTML椤甸潰 + await this.Html_UIstyleGetInfo(this.param.DataCls.id, this.param.ListPage.ListItem_UIDef.id, options + .paramValue); + } else { + await this.Detail1_UIstyleGetInfo(this.param.DataCls.id, this.param.ListPage.ListItem_UIDef.id); + + await this.initial(options.paramValue); + } // this.isFilter=true; // if(this.param.ShowFilter) // this.isFilter=false; @@ -308,7 +347,7 @@ let that = this; let keys = []; let val, data; - + Object.keys(obj).forEach(function(key) { keys = key.split("."); val = obj[key]; @@ -325,31 +364,9 @@ }); }); }, - + //鍒濆鍖� async initial(paramValue) { - this.styledef = {}; - this.head_styledef = { - form: { - items: [] - } - }; - this.detail1_styledef = {}; - this.detail1StyleDefList = []; - this.detail2_styledef = {}; - this.detail2StyleDefList = []; - this.items = []; - this.active_id = ''; - this.activelist = []; - this.ListHtml_Panel = ""; - this.ListPageHtml_Show = { - name: "", - event: { - id: "", - name: "" - } - }; - this.isFilter = true; if (this.param.ShowFilter) this.isFilter = false; @@ -381,13 +398,6 @@ }) } } - if (this.param.ListPage.ListItem_UIDef?.ui_type == "HTML椤甸潰") { - // HTML椤甸潰 - //鑾峰彇鏁版嵁绫荤殑HTML椤甸潰 - await this.Html_UIstyleGetInfo(this.param.DataCls.id, this.param.ListPage.ListItem_UIDef.id); - } else { - await this.Detail1_UIstyleGetInfo(this.param.DataCls.id, this.param.ListPage.ListItem_UIDef.id); - } this.orderby = this.param.Order ? this.param.Order : 'T_CREATE Desc'; if (this.param.Query_Event) { await this.onSearChange(this.param.DataCls.id, this.param.Query_Event.id); @@ -396,6 +406,7 @@ this.pageindex = 1; this.page_size = 3; this.query_id = ""; + this.detail1StyleDefList = []; await this.loadDataGetList(); } @@ -440,12 +451,15 @@ $this.$data.head_styledef = ret.result.style_def ? JSON.parse(styledef) : {}; // this.form = this.head_styledef.form.model; // console.log($this.$data.head_styledef); - $this.head_styledef.form.items.forEach(async (ele, index) => { - console.log(ele.useDict); - if (ele.useDict == true) { //鍒ゆ柇useDict鏄惁浣跨敤瀛楀吀 - await this.DictGetInfo(ele.bind.dict, index, 'mast'); - } - }); + if ($this.head_styledef.form?.items) { + $this.head_styledef.form.items.forEach(async (ele, index) => { + console.log(ele.useDict); + if (ele.useDict == true) { //鍒ゆ柇useDict鏄惁浣跨敤瀛楀吀 + await this.DictGetInfo(ele.bind.dict, index, 'mast'); + } + }); + + } } else { uni.showModal({ @@ -510,7 +524,7 @@ }); }, - async Html_UIstyleGetInfo(class_id, style_id) { //鑾峰彇鑷畾涔夎〃鍗曟牱寮�+ async Html_UIstyleGetInfo(class_id, style_id, paramValue) { //鑾峰彇鑷畾涔夎〃鍗曟牱寮� var $this = this; var dataInfo = { class_id: class_id, @@ -527,8 +541,11 @@ if (!ret.result.style_def.includes('"')) styledef = Base64.decode(ret.result .style_def); } + // console.log(styledef); $this.ListPageHtml_Show = ret.result.style_def ? JSON.parse(styledef) : {}; // console.log($this.ListPageHtml_Show); + + $this.initial(paramValue); } else { uni.showModal({ title: this.translateSys("error") + "10", @@ -555,45 +572,34 @@ dict_id: dict.id, dict_name: dict.name }; - // console.log(dataInfo); - this.$store.dispatch('DictGetInfo', dataInfo).then(async (success) => { - console.log(success); - if (success.err_code == 0) { - if (type == 'mast') { - var list = []; - var itemName = ''; - success.result.dict_item_list.forEach((item) => { - if (item.is_default == '1') - itemName = item.name; - list.push({ - text: item.value, - value: item.name, - }); + try { + const success = await this.getDictInfo(dataInfo) + if (type == 'mast') { + var list = []; + var itemName = ''; + success.result.dict_item_list.forEach((item) => { + if (item.is_default == '1') + itemName = item.name; + list.push({ + text: item.value, + value: item.name, }); - //鏈夐粯璁ゅ�锛屾樉绀洪粯璁ゅ� - if (itemName) { - $this.head_styledef.form.items[index].value = itemName; - var attr = $this.head_styledef.form.items[index].fieldId; - $this.head_styledef.form.model[attr] = itemName; - } - $this.head_styledef.form.items[index].dict = list; - var head_styledef = JSON.parse(JSON.stringify($this.head_styledef)); - $this.head_styledef = []; - $this.head_styledef = head_styledef; - } else { - // $this.$data.subClassAttrList[index].attr_list[key].dictitem=success.result; - // this.$store.commit("subClassAttrList", $this.$data.subClassAttrList); - } - - } else { - uni.showModal({ - title: this.translateSys("error") + "3.1", - content: success.err_msg, - showCancel: false, - confirmText: this.translateSys("cancel") }); + //鏈夐粯璁ゅ�锛屾樉绀洪粯璁ゅ� + if (itemName) { + $this.head_styledef.form.items[index].value = itemName; + var attr = $this.head_styledef.form.items[index].fieldId; + $this.head_styledef.form.model[attr] = itemName; + } + $this.head_styledef.form.items[index].dict = list; + var head_styledef = JSON.parse(JSON.stringify($this.head_styledef)); + $this.head_styledef = []; + $this.head_styledef = head_styledef; + } else { + // $this.$data.subClassAttrList[index].attr_list[key].dictitem=success.result; + // this.$store.commit("subClassAttrList", $this.$data.subClassAttrList); } - }).catch(ex => { + } catch (ex) { // console.log(ex); uni.showModal({ title: this.translateSys("error") + "3", @@ -601,7 +607,108 @@ showCancel: false, confirmText: this.translateSys("cancel") }); - }); + } + }, + getDictInfo(info) { //Mobox3寰楀埌寰楀埌瀛楀吀淇℃伅瀛楀吀椤瑰垪琛�+ const loginInfo = this.$store.getters.loginid + const mobxoSApi = this.$store.getters.getMobxoSApi + return new Promise((resolve, reject) => { + uni.request({ + url: mobxoSApi + 'api/dict/GetInfo2?sessionid=' + loginInfo.result.session_id, + data: info, + method: 'POST', + dataType: "json", + success: (_res) => { + // console.log(_res); + var ret = _res.data + if (typeof ret == 'string') { + try { + try { + try { + ret = JSON.parse(ret.replace(/\\"/g, '"')); + } catch (ex) { + ret = JSON.parse(ret.replace(/\\/g, '\\\\')) + } + } catch (ex) { + ret = JSON.parse(ret.replace(/\\"/g, "'").replace(/[\r\n]/g, + '<br>').replace(/[\t]/g, ' ')); + } + } catch (ex) { + console.log(ret) + return reject('灏唃etDictInfo銆恓son string銆戣浆鎹负銆恓son object銆戝け璐�) + } + } + if (ret.err_code == 0) { + resolve(ret); + } else { + reject({ + "errMsg": ret.err_msg + }); + } + + if (ret.err_code == 0) { + resolve(ret); + } else { + reject({ + "errMsg": ret.err_msg + }); + } + }, + fail: (err) => { + // console.log(err); + reject(err); + } + }) + + }) + + }, + getUIStyleInfo(info) { //Mobox3鏁版嵁绫荤晫闈㈡牱寮�+ const loginInfo = this.$store.getters.loginid + const dataSApi = this.$store.getters.getDataSApi + return new Promise((resolve, reject) => { + uni.request({ + url: dataSApi + 'api/class/uistyle/GetInfo?sessionid=' + loginInfo.result + .session_id, + data: info, + method: 'POST', + dataType: "json", + success: (_res) => { + // console.log(_res); + var ret = _res.data + if (typeof ret == 'string') { + try { + try { + try { + ret = JSON.parse(ret.replace(/\\"/g, '"')); + } catch (ex) { + ret = JSON.parse(ret.replace(/\\/g, '\\\\')) + } + } catch (ex) { + ret = JSON.parse(ret.replace(/\\"/g, "'").replace(/[\r\n]/g, + '<br>').replace(/[\t]/g, ' ')); + } + } catch (ex) { + console.log(ret) + return reject('灏唃etUIStyleInfo銆恓son string銆戣浆鎹负銆恓son object銆戝け璐�) + } + } + if (ret.err_code == 0) { + resolve(ret); + } else { + reject({ + "errMsg": ret.err_msg || ret.errMsg + }); + } + }, + fail: (err) => { + // console.log(err); + reject(err); + } + }) + + }) + }, // 鎵ц鏌ヨ浜嬩欢 @@ -666,7 +773,6 @@ }); } else { - // this.detail2StyleDefList=[]; if (result.info) { uni.showModal({ title: this.translateSys("tip"), @@ -743,7 +849,9 @@ if (ret.result) { $this.page_count = ret.result.page_count; if (ret.result.page_count > 1) $this.query_id = ret.result.query_id; + // console.log($this.ListPageHtml_Show.event); if ($this.ListPageHtml_Show.event.id) { + const detail1StyleDefList = $this.detail1StyleDefList ret.result.obj_list.forEach((obj) => { var info = { id: obj.id, @@ -760,12 +868,17 @@ .replace('{', '').replace('}', '') : 'null'; detailStyle.form.objId = obj.id; detailStyle.form.attrs = obj.attr_list; - $this.detail1StyleDefList.push(detailStyle); - $this.activelist.push({ - active: false - }); + detail1StyleDefList.push(detailStyle); + // $this.activelist.push({ + // active: false + // }); }); // console.log(this.detail1StyleDefList); + + $this.setData({ + detail1StyleDefList: detail1StyleDefList + }) + var jsonlist = []; $this.detail1StyleDefList.forEach(attr => { jsonlist.push({ @@ -791,6 +904,7 @@ }); } else { // $this.detail1StyleDefList=[]; + const detail1StyleDefList = [] ret.result.obj_list.forEach((obj) => { var styleStr = JSON.stringify($this.detail1_styledef); var detailStyle = JSON.parse(styleStr); @@ -821,12 +935,15 @@ .replace('{', '').replace('}', '') : 'null'; detailStyle.form.objId = obj.id; detailStyle.form.attrs = obj.attr_list; - $this.detail1StyleDefList.push(detailStyle); - $this.activelist.push({ - active: false - }); + detail1StyleDefList.push(detailStyle); + // $this.activelist.push({ + // active: false + // }); //list.push(info); }); + $this.setData({ + detail1StyleDefList: detail1StyleDefList + }) } // 瑙e喅view灞備笉鍚屾鐨勯棶棰�@@ -986,6 +1103,13 @@ if (btn.FunCode == "Add" || btn.FunCode == "Modify") { if (btn.Edit_dlg.Model == "small") { this.showAddSmallDialog(btn, style, enviroment); + } else { + uni.showModal({ + title: this.translateSys("tip"), + content: this.translateSys("unrealized"), + showCancel: false, + confirmText: this.translateSys("cancel") + }); } } else if (btn.FunCode == "Delete") { this.DeleteObj(btn, style, enviroment); @@ -1112,8 +1236,7 @@ if (!this.ListPageHtml_Show.event.id) { //鍒ゆ柇娌℃湁HTML椤甸潰浜嬩欢 - // console.log(this.detail2_styledef); - this.detail2_styledef.form.items.forEach(async (ele, index) => { + this.head_styledef.form.items.forEach(async (ele, index) => { if (ele.name != "Layout") { if (!obj_attr[ele.fieldId]) { obj_attr[ele.fieldId] = ele.value; @@ -1211,31 +1334,32 @@ }, //璺宠浆 async RelatedFunction(btn, style, enviroment) { - + const defCode = btn.Related_Function?.Def_Code + var $this = this; if ( - btn.Related_Function?.Def_Code == "3018" || - btn.Related_Function?.Def_Code == "3037" || - btn.Related_Function?.Def_Code == "3200" || - btn.Related_Function?.Def_Code == "3201" || - btn.Related_Function?.Def_Code == "5600" || - btn.Related_Function?.Def_Code == "5601" || - btn.Related_Function?.Def_Code == "5602" + defCode == "3018" || + defCode == "3037" || + defCode == "3200" || + defCode == "3201" || + defCode == "5600" || + defCode == "5601" || + defCode == "5602" ) { - let name = btn.Related_Function?.Def_Code - if (btn.Related_Function?.Def_Code == "3018" || btn.Related_Function?.Def_Code == "3037") - name = btn.Related_Function?.Def_Code + "_2" - var $this = this; + let name = defCode + if (defCode == "3018" || defCode == "3037") + name = defCode + "_2" var json = { - app_id: appId, + app_id: [btn.Related_Function.ID], }; + console.log("RelatedFunction2", json); this.$store.dispatch('appGetInfo', json).then(success => { - // console.log(success); + console.log(success); if (success.err_code == 0) { if ((success.result || []).length > 0) { const app = success.result[0] var param = ""; - var appName = app.name || app.list_name + var appName = app.list_name || app.name .Name; var paramStr = app.param if (paramStr) { @@ -1283,7 +1407,7 @@ }); } }).catch(ex => { - // console.log(ex); + console.log(ex); uni.showModal({ title: this.translateSys("error"), content: ex.errMsg, @@ -1291,15 +1415,14 @@ confirmText: this.translateSys("cancel") }); }); - } - else{ + } else { uni.showModal({ title: this.translateSys("error"), content: this.translate("cannot_related_function"), showCancel: false, confirmText: this.translateSys("cancel") }); - + } }, //鎵ц鍚庡鐞嗕簨浠�@@ -1504,7 +1627,6 @@ } }); } else { - // this.detail2StyleDefList=[]; if (result.info) { uni.showModal({ title: this.translateSys("tip"), @@ -1551,10 +1673,13 @@ //鐐逛腑琛ㄥ崟 onPanelClick(value) { //鐐瑰嚮闈㈡澘楂樹寒鏄剧ず // console.log(value); - this.activelist.forEach(ele => { - ele.active = false; - }); - this.activelist[value].active = true; + this.setData({ + activeItem: this.detail1StyleDefList[value] + }) + // this.activelist.forEach(ele => { + // ele.active = false; + // }); + // this.activelist[value].active = true; }, //浜嬩欢澶勭悊 @@ -1657,7 +1782,6 @@ } }); } else { - // this.detail2StyleDefList=[]; if (result.info) { uni.showModal({ title: this.translateSys("tip"), @@ -1917,8 +2041,13 @@ }, }; </script> -<style lang="scss"> +<style lang="less"> .uni-page-modal-3200 { + display: flex; + flex-direction: column; + height: calc(100vh - 30rpx); + padding: 15rpx 0; + .v-headStyle:first-child { margin-top: 15rpx; } @@ -1986,13 +2115,21 @@ } .v-content { - height: 945rpx; - overflow: hide; + flex: 1; + display: flex; + width: 100%; + flex-direction: column; + min-height: 100px; + overflow: hidden; /* border:0.1px solid red; */ } .view-content { + width: 100%; + display: flex; margin-top: 10rpx; + flex-direction: column; + } .dv-panel-bkcolor { @@ -2105,7 +2242,8 @@ } .view-floor { - padding: 0 20rpx; + width: calc(100% - 20rpx); + padding: 10rpx; /* border:1px solid red; */ } @@ -2215,7 +2353,14 @@ border-radius: 10rpx; } - .scroll-Y { + .v-scroll-view { + flex: 1; + overflow: hidden; + width: 98%; + } + + .scroll-y { + width: 100%; height: 100%; } -- Gitblit v1.9.1