From 01fa158740467ca0db83b131249beeeb515a73c2 Mon Sep 17 00:00:00 2001 From: cuiqian2004 <cuiqian2004@163.com> Date: 星期二, 01 四月 2025 16:03:57 +0800 Subject: [PATCH] test --- pages/modal/3200_view.vue | 236 ++++++++++------------------------------------------------ 1 files changed, 42 insertions(+), 194 deletions(-) diff --git a/pages/modal/3200_view.vue b/pages/modal/3200_view.vue index 63b1fa5..d93b89e 100644 --- a/pages/modal/3200_view.vue +++ b/pages/modal/3200_view.vue @@ -4,180 +4,12 @@ <view class="dv-panel dv-panel-bkcolor"> <div class="dv-panel-input"> <!-- HTML椤甸潰绫诲瀷鏄剧ず --> - <div class="dv-viewHtml-Panel" v-if="ViewHtml_Panel" v-html="ViewHtml_Panel"> - <!-- <div> - <label class="item-label">浠诲姟缂栫爜:</label> - <span class="item-span">TA240318-00005</span> - </div> --> - </div> + <view class="dv-viewHtml-Panel" v-if="ViewHtml_Panel" v-html="ViewHtml_Panel"></view> + <!-- 鑷畾涔夎〃鍗曠被鍨嬫樉绀�--> <div v-if="!ViewHtml_Panel"> - <div v-for="(item,index) in detail2_styledef.form.items"> - <!-- 鏅�甯冨眬 --> - <view v-if="item.name!='Layout'"> - <text class="txt_title" :style="{'width':item.labelWidth+'px'}">{{item.label}}锛�/text> - <!-- 鏂囨湰妗�鏁板瓧妗�--> - <view class="dv_input" v-if="(item.name=='Input' || item.name=='InputNumber') "> - <text v-if="item.setting.prefix" class="uni-icon" :class="[item.setting.prefix]" - @click="onEnterChange(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)" @keyup.enter="onEnterChange(item)" - @blur="onEnterChange(item)" :maxlength="-1" /> - <text v-if="item.setting.suffix" class="uni-icon" :class="[item.setting.suffix]" - @click="onEnterChange(item)"></text> - </view> - <!-- 涓嬫媺妗�鍗曢� item.useDict?item.dict:item.selections--> - <uni-data-select id="dv_select" v-if="item.name=='Select'" - :class="item.disabled?'input-disabled':''" v-model="item.value" - :localdata="item.dict" @change="onEnterChange(item)" :disabled="item.disabled" - :clear="false"></uni-data-select> - <!-- 澶氳鏂囨湰 --> - <view class="input-wrapper" v-if="item.name=='Textarea'"> - <textarea class="uni-input" :value="item.value" - :class="item.disabled?'input-disabled':''" :placeholder="item.placeholder" - @blur="onEnterChange(item)" style="height:60px;" :style="{'width':'96%'}" - :disabled="item.disabled"></textarea> - </view> - <!-- 澶嶉�妗�--> - <checkbox-group class="check_rememberPwd" v-if="item.name=='Checkbox'" - :class="item.disabled?'input-disabled':''" :disabled="item.disabled" - @change="onCheckBoxValue" :data-attr="item.fieldId" :data-index="index"> - <label v-for="(item2) in item.selections" :key="item2.value"> - <checkbox :value="item2.value" :checked="item.value.includes(item2.value)" /> - <text>{{item2.label}}</text> - </label> - </checkbox-group> - <!-- 鍗曢�妗�--> - <radio-group class="check_rememberPwd" v-if="item.name=='Radio'" - :class="item.disabled?'input-disabled':''" :disabled="item.disabled" - :style="{'margin-left':'10rpx'}" @change="onRadioBoxValue" :data-attr="item.fieldId" - :data-index="index"> - <label v-for="(item2) in item.selections" :key="item2.value"> - <radio :value="item2.value" :checked="item2.value === item.value" /> - <text>{{item2.label}}</text> - </label> - </radio-group> - <!-- Switch寮�叧 --> - <switch v-if="item.name=='Switch'" :class="item.disabled?'input-disabled':''" - :disabled="item.disabled" v-model="item.value" @change="onModelValue(item)" - :style="{'margin-left':'10rpx'}" /> - <!-- 鏃ユ湡鏃堕棿 --> - <!-- <view class="input-wrapper" - v-if="(item.name=='TimePicker' || item.name=='DatePicker') "> - <picker mode="date" class="date_iput" :class="item.disabled?'input-disabled':''" - :disabled="item.disabled" :value="item.value" @change="onModelValue(item)"> - <view class="picker">{{item.value}}</view> - </picker> - </view> --> - <view class="input-wrapper" - v-if="(item.name=='TimePicker' || item.name=='DatePicker' || item.name=='DatePickerRange') "> - <OIDatePicker v-if="item.name=='DatePicker'" - :class="item.disabled?'input-disabled':''" :disabled="item.disabled" - v-model="item.value" :placeholder="item.placeholder" - :defaultToday="item.setting.defaultToday" :format="item.setting.format" - @change="onModelValue(item)" /> - <OIDatePickerRange v-if="item.name=='DatePickerRange'" - :rangeSeparator="item.setting.separator" :format="item.setting.format" - :class="item.disabled?'input-disabled':''" :disabled="item.disabled" - v-model="item.value" :placeholder="item.placeholder" - @change="onModelValue(item)" /> - <OITimePicker v-if="item.name=='TimePicker'" - :class="item.disabled?'input-disabled':''" :disabled="item.disabled" - v-model="item.value" :placeholder="item.placeholder" - @change="onModelValue(item)" /> - </view> - </view> - <!-- 鏍呮牸甯冨眬 --> - <uni-row class="demo-uni-row" v-if="item.name=='Layout'"> - <uni-col v-for="(cols,key) in item.setting.colList" - :span="item.setting.spanList?item.setting.spanList[key]:24 / item.setting.col"> - <view v-if="cols!=null"> - <text class="txt_title" - :style="{'width':cols.labelWidth+'px'}">{{cols.label}}锛�/text> - <view class="dv_input" v-if="(cols.name=='Input' || cols.name=='InputNumber') "> - <text v-if="cols.setting.prefix" class="uni-icon" - :class="[cols.setting.prefix]" - @click="onEnterChange(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="onEnterChange(cols)" - @keyup.enter="onEnterChange(cols)" :maxlength="-1" /> - <text v-if="cols.setting.suffix" class="uni-icon" - :class="[cols.setting.suffix]" - @click="onEnterChange(cols)"></text> - </view> - <!-- 涓嬫媺妗�鍗曢� cols.useDict?cols.dict:cols.selections--> - <uni-data-select id="dv_select" v-if="cols.name=='Select' " - :class="cols.disabled?'input-disabled':''" v-model="cols.value" - :localdata="cols.dict" @change="onEnterChange(cols)" - :disabled="cols.disabled" :clear="false"></uni-data-select> - <!-- 澶氳鏂囨湰 --> - <view class="input-wrapper" v-if="cols.name=='Textarea' "> - <textarea class="uni-input" :value="cols.value" - :class="cols.disabled?'input-disabled':''" - :placeholder="cols.placeholder" @blur="onEnterChange(cols)" - style="height:60px;" :style="{'width':'96%'}" - :disabled="cols.disabled"></textarea> - </view> - <!-- 澶嶉�妗�--> - <checkbox-group class="check_rememberPwd" v-if="cols.name=='Checkbox'" - :class="cols.disabled?'input-disabled':''" :disabled="cols.disabled" - @change="onCheckBoxValue" :data-attr="cols.fieldId" :data-index="index" - :data-iindex="key"> - <label v-for="(cols2) in cols.selections" :key="cols2.value"> - <checkbox :value="cols2.value" - :checked="cols.value.includes(cols2.value)" /> - <text>{{cols2.label}}</text> - </label> - </checkbox-group> - <!-- 鍗曢�妗�--> - <radio-group class="check_rememberPwd" v-if="cols.name=='Radio'" - :class="cols.disabled?'input-disabled':''" :disabled="cols.disabled" - :style="{'margin-left':'10rpx'}" @change="onRadioBoxValue" - :data-attr="cols.fieldId" :data-index="index" :data-iindex="key"> - <label v-for="(cols2) in cols.selections" :key="cols2.value"> - <radio :value="cols2.value" :checked="cols2.value === cols.value" /> - <text>{{cols2.label}}</text> - </label> - </radio-group> - <!-- Switch寮�叧 --> - <switch v-if="cols.name=='Switch'" :class="cols.disabled?'input-disabled':''" - :disabled="cols.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> --> - <OIDatePicker v-if="cols.name=='DatePicker'" - :class="cols.disabled?'input-disabled':''" :disabled="cols.disabled" - v-model="cols.value" :placeholder="cols.placeholder" - :defaultToday="cols.setting.defaultToday" :format="cols.setting.format" - @change="onModelValue(cols)" /> - <OIDatePickerRange v-if="cols.name=='DatePickerRange'" - :rangeSeparator="cols.setting.separator" :format="cols.setting.format" - :class="cols.disabled?'input-disabled':''" :disabled="cols.disabled" - v-model="cols.value" :placeholder="cols.placeholder" - @change="onModelValue(cols)" /> - <OITimePicker v-if="cols.name=='TimePicker'" - :class="cols.disabled?'input-disabled':''" :disabled="cols.disabled" - v-model="cols.value" :placeholder="cols.placeholder" - @change="onModelValue(cols)" /> - </view> + <OIForm :form="detail2_styledef.form" viewMode></OIForm> - </view> - </uni-col> - </uni-row> - </div> </div> </div> </view> @@ -193,7 +25,7 @@ <view class="uni-padding-wrap" v-if="param.ViewPage.Page_Button.length>2"> <view class="uni-btn-v"> <a @tap="actionSheetTap"> - <Icon class="mobox-normal-more" /> + <text class="mobox-normal-more" /> </a> </view> </view> @@ -202,7 +34,9 @@ </template> <script> - import Base64 from '../../components/js-base64/base64.js' + import { + Base64 + } from '@/js/Base64.js'; import classUtils from "@/js/utils.js" import { appGetInfo, @@ -213,21 +47,17 @@ runCustomEvent, dataObjQuery } from "@/api/data.js" - import OIDatePicker from '@/components/oi-date-time-picker/oi-date-picker.vue' - import OIDatePickerRange from '@/components/oi-date-time-picker/oi-date-picker-range.vue' - import OITimePicker from '@/components/oi-date-time-picker/oi-time-picker.vue' + import OIForm from '@/components/oi-form/index.vue' + import buttonClickMixin from '@/mixins/button-click.js'; + export default { - modules: { - Base64, - }, + mixins: [buttonClickMixin], components: { - OIDatePicker, - OIDatePickerRange, - OITimePicker + OIForm }, onBackPress(e) { // console.log("鐩戝惉杩斿洖鎸夐挳浜嬩欢",e); - var eventChannel = this.$scope.eventChannel; + const eventChannel = this.getOpenerEventChannel(); // const eventChannel = this.getOpenerEventChannel(); eventChannel.emit('ExitViewEvent', ""); // uni.navigateBack({ @@ -266,11 +96,11 @@ uni.setNavigationBarTitle({ title: options.titlename }); //璁剧疆椤堕儴鏍囬 - this.$data.title = options.titlename; - this.$data.param = JSON.parse(options.param); - console.log(this.$data.param); - this.$data.styleDef = JSON.parse(options.style); - // console.log(this.$data.styleDef); + this.title = options.titlename; + this.param = JSON.parse(options.param); + console.log(this.param); + this.styleDef = JSON.parse(options.style); + // console.log(this.styleDef); if (this.param.ViewPage.View_UIDef.ui_type == "HTML椤甸潰") { // HTML椤甸潰 //鑾峰彇鏁版嵁绫荤殑HTML椤甸潰 @@ -351,9 +181,9 @@ if (!result.style_def.includes('"')) styledef = Base64.decode(result .style_def); } - $this.$data.detail2_styledef = result.style_def ? JSON.parse(styledef) : {}; - $this.$data.detail2_styledef.SelBut_Checked = false; - // console.log($this.$data.detail2_styledef); + $this.detail2_styledef = result.style_def ? JSON.parse(styledef) : {}; + $this.detail2_styledef.SelBut_Checked = false; + // console.log($this.detail2_styledef); if ($this.detail2_styledef.form?.items) { $this.styleDef.form.attrs.forEach((attr) => { // info[attr.name]=attr.value; @@ -520,7 +350,15 @@ } } }); - } else that.onButtonClicked(btn); + } else { + this.handleButtonClick((done) => { + that.onButtonClicked(btn); + setTimeout(() => { + done(); // 閲嶇疆鐘舵� + }, 1000); + }); + + } }, //鐐瑰嚮鎸夐挳鍒楄〃 actionSheetTap() { @@ -657,7 +495,7 @@ result.action.forEach(item => { if (item.action_type == "goback_to_pre_page") { //杩斿洖涓婁竴椤� var value = item.value; - // const eventChannel = this.$scope.eventChannel; + // const eventChannel = this.getOpenerEventChannel(); // // const eventChannel = this.getOpenerEventChannel(); // eventChannel.emit('ExitViewEvent',""); uni.navigateBack({ @@ -867,7 +705,7 @@ }, cancel(e) { //鍙栨秷 - var eventChannel = this.$scope.eventChannel; + const eventChannel = this.getOpenerEventChannel(); // const eventChannel = this.getOpenerEventChannel(); eventChannel.emit('ExitViewEvent', ""); uni.navigateBack({ @@ -974,6 +812,16 @@ width: 100%; display: inline-block; text-align: left; + + .uni-forms-item { + padding-bottom: 5rpx; + margin-bottom: 0; + + .uni-forms-item__label { + height: 20px !important; + padding: 0 10rpx 0 0 !important; + } + } } .dv-panel-buticon { -- Gitblit v1.9.1