From 986da22689dc9a5faef751c02348fb1f47584414 Mon Sep 17 00:00:00 2001 From: cuiqian2004 <cuiqian2004@163.com> Date: 星期五, 21 三月 2025 18:53:01 +0800 Subject: [PATCH] Merge branch 'master' of http://121.37.118.194:8000/r/~jt/MES-PDA --- pages/modal/3200.vue | 159 +++++++++++++++++++++++++++++++---------------------- 1 files changed, 93 insertions(+), 66 deletions(-) diff --git a/pages/modal/3200.vue b/pages/modal/3200.vue index e8899f1..c5309ae 100644 --- a/pages/modal/3200.vue +++ b/pages/modal/3200.vue @@ -2,8 +2,8 @@ <view class="uni-page-modal-3200"> <view class="v-content"> <!-- 琛ㄥご鏍峰紡 --> - <OIForm ref="refBaseForm" class="v-headStyle" :form="head_styledef.form" @focus="ontap" - @change="onEnterChange" @click-prefix="onEnterChange" @click-suffix="onEnterChange"></OIForm> + <OIForm ref="refBaseForm" class="v-headStyle" :form="head_styledef.form" @on-focus="ontap" + @on-change="onEnterChange" @on-click-prefix="onEnterChange" @on-click-suffix="onEnterChange"></OIForm> <view class="v-scroll-view"> <scroll-view :scroll-top="scrollTop" :scroll-y="true" class="scroll-y" @scrolltolower="scrolltolower" @scroll="scroll"> @@ -25,8 +25,42 @@ </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%;'"> - <OIForm class="v-area dv-panel" :form="style.form.items" viewMode></OIForm> + <uni-forms class="v-area dv-panel" label-align="right"> + <view v-for="(item,index) in style.form.items" :key="index"> + <!-- 鏍呮牸甯冨眬 --> + <uni-row v-if="item.name == 'Layout'" :gutter="item.setting.gutter"> + <uni-col + :span="item.setting.spanList && item.setting.spanList[key]? item.setting.spanList[key] : 24 / item.setting.col" + v-for="(col,key) in item.setting.colList" :key="key"> + <uni-forms-item v-if="col != null" + :label="col.labelWidth === 0 ? '' : col.label? col.label+'锛�:''" + :label-width="col.labelWidth || col.labelWidth === 0 ? col.labelWidth : 100+'px'"> + <view v-if="col.disabled">{{col.value}}</view> + <input class="uni-input" + v-else-if="col.name=='Input' || col.name=='InputNumber'" + :type="col.name=='InputNumber'?'number':'text'" + v-model="col.value" :placeholder="col.placeholder" + :maxlength="-1" /> + <view v-else>{{col.value}}</view> + </uni-forms-item> + <uni-forms-item v-else label=""></uni-forms-item> + </uni-col> + </uni-row> + <uni-forms-item v-else + :label="item.labelWidth === 0 ? '' : item.label? item.label+'锛�:''" + :label-width="item.labelWidth || item.labelWidth === 0 ? item.labelWidth : 100+'px'" + :style="{ textAlign: item.setting.align }"> + <view v-if="item.disabled">{{item.value}}</view> + <input v-else-if="item.name=='Input' || item.name=='InputNumber' " + class="uni-input" :type="item.name=='InputNumber'?'number':'text'" + v-model="item.value" :disabled="item.disabled" + :placeholder="item.placeholder" :maxlength="-1" /> + <view v-else>{{item.value}}</view> + + </uni-forms-item> + </view> + </uni-forms> </div> <div class="dv-panel-button" v-if="param.ListPage.Click_View==true"> <a @click="onViewPageClick(style)"><i class="mobox-normal-right-arrow" /></a> @@ -55,7 +89,7 @@ <view class="uni-padding-wrap" v-if="param.ListPage.Page_Button.length>0"> <view class="uni-btn-v"> <a @tap="actionSheetTap"> - <Icon class="mobox-normal-more" /> + <text class="mobox-normal-more" /> </a> </view> </view> @@ -64,7 +98,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, @@ -78,11 +114,10 @@ } from "@/api/data.js" import dayjs from "dayjs"; import OIForm from '@/components/oi-form/index.vue' + import buttonClickMixin from '@/mixins/button-click.js'; export default { - modules: { - Base64, - }, + mixins: [buttonClickMixin], components: { OIForm }, @@ -152,8 +187,8 @@ uni.setNavigationBarTitle({ title: options.titlename }); //璁剧疆椤堕儴鏍囬 - this.$data.title = options.titlename; - this.$data.param = JSON.parse(options.param); + this.title = options.titlename; + this.param = JSON.parse(options.param); this.styledef = {}; @@ -211,7 +246,7 @@ // this.query_id = ""; // await this.loadDataGetList(); // } - // console.log(this.$data.param); + // console.log(this.param); //椤甸潰鍒濆鍖栬幏鍙栫劍鐐� // this.focusMateria=true; }, @@ -251,7 +286,7 @@ //浼犲叆鍙傛暟鍊� if (paramValue) { const attrs = paramValue.attrs || []; - (this.$data.head_styledef?.form?.items || []).forEach(async (ele, index) => { + (this.head_styledef?.form?.items || []).forEach(async (ele, index) => { if (ele.name != "Layout") { attrs.forEach(async (ele2, index2) => { if (ele.fieldId == ele2.name) { @@ -323,9 +358,9 @@ if (!result.style_def.includes('"')) styledef = Base64.decode(result .style_def); } - $this.$data.head_styledef = result.style_def ? JSON.parse(styledef) : {}; + $this.head_styledef = result.style_def ? JSON.parse(styledef) : {}; // this.form = this.head_styledef.form.model; - // console.log($this.$data.head_styledef); + // console.log($this.head_styledef); if ($this.head_styledef.form?.items) { $this.head_styledef.form.items.forEach(async (ele, index) => { console.log(ele.useDict); @@ -382,8 +417,8 @@ if (!result.style_def.includes('"')) styledef = Base64.decode(result .style_def); } - $this.$data.detail1_styledef = result.style_def ? JSON.parse(styledef) : {}; - $this.$data.detail1_styledef.SelBut_Checked = false; + $this.detail1_styledef = result.style_def ? JSON.parse(styledef) : {}; + $this.detail1_styledef.SelBut_Checked = false; } catch (ex) { // console.log(ex); let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex @@ -735,7 +770,7 @@ //鍒锋柊褰撳墠椤甸潰 this.initial(); // uni.redirectTo({ - // url:'../modal/3200?param='+JSON.stringify(this.$data.param)+"&titlename="+this.$data.title, + // url:'../modal/3200?param='+JSON.stringify(this.param)+"&titlename="+this.title, // }); }, //鐐瑰嚮鏄剧ず娴忚瀵硅薄鏄剧ず椤甸潰 @@ -808,7 +843,14 @@ } } }); - } else that.onButtonClicked(btn, style); + } else { + this.handleButtonClick((done) => { + that.onButtonClicked(btn, style); + setTimeout(() => { + done(); // 閲嶇疆鐘舵� + }, 1000); + }); + } }, //鐐瑰嚮鎸夐挳鍒楄〃 actionSheetTap() { @@ -1196,9 +1238,7 @@ var $this = this; console.log(item); let newVal = item.value.trim() - if (!newVal) - return - if (item.oldvalue != newVal) { + if (newVal) { item.oldvalue = newVal; var attr = item.fieldId; @@ -1289,7 +1329,7 @@ var dataInfo = { ed_type: 0, start_transaction: true, - class_id: this.$data.head_styledef.form.clsId, + class_id: this.head_styledef.form.clsId, class_name: '', event_id: event.id, event_name: '', @@ -1918,9 +1958,37 @@ .dv-panel { background-color: #efefef; padding: 20rpx 20rpx 20rpx 0px; - border-radius: 12rpx; - margin-bottom: 20rpx; - text-align: right; + + .uni-forms-item { + padding-bottom: 5rpx; + margin-bottom: 0; + + .uni-forms-item__label { + height: 20px !important; + padding: 0 10rpx 0 0 !important; + } + + .uni-input { + width: calc(100% - 12rpx); + padding: 5rpx; + border: 1px solid #d5d5d5; + color: #2d8cf0; + height: 20px; + background: #FFF; + line-height: 20px; + border-radius: 6px !important; + font-size: 14px; + font-family: inherit; + box-shadow: none !important; + transition-duration: 0.1s; + vertical-align: middle; + } + + .uni-input:hover { + border: 1px solid rgb(41, 121, 255); + } + } + } .dv-listHtml-Panel, @@ -1961,47 +2029,6 @@ border-radius: 8rpx; } - .dv-panel .txt_title { - font-size: 34rpx; - text-align: right; - display: inline-block; - } - - .dv-panel input { - vertical-align: middle; - display: inline-block; - border: 2rpx solid #d5d5d5; - width: 68%; - height: 52rpx; - line-height: 34rpx; - background: #FFF; - border-radius: 14rpx !important; - color: #2d8cf0; - padding: 6rpx 8rpx 8rpx; - font-size: 32rpx; - font-family: inherit; - box-shadow: none !important; - transition-duration: 0.1s; - margin-top: 0rpx; - } - - .dv-panel input::-webkit-input-placeholder { - font-size: 10rpx; - } - - .dv-panel .form-item-span { - vertical-align: text-top; - color: #2d8cf0; - white-space: normal; - word-break: break-all; - display: inline-block; - width: calc(100% - 100px); - } - - .dv-panel .form-item-input { - - width: calc(100% - 100px); - } .dv-panel-button { display: inline-block; -- Gitblit v1.9.1