From df481aebfb7a19eea5d6c02f93c6f5776b0fdc19 Mon Sep 17 00:00:00 2001 From: cuiqian2004 <cuiqian2004@163.com> Date: 星期五, 23 五月 2025 18:30:41 +0800 Subject: [PATCH] 界面大模式 --- pages/modal/5601.vue | 1008 ++++++++++++++++++++++++++++++++-------------------------- 1 files changed, 558 insertions(+), 450 deletions(-) diff --git a/pages/modal/5601.vue b/pages/modal/5601.vue index bc16b22..7a5a586 100644 --- a/pages/modal/5601.vue +++ b/pages/modal/5601.vue @@ -1,5 +1,5 @@ <template> - <view class="uni-page-modal-5601"> + <view class="uni-page-modal-5601" :class="largeMode?'large-mode':''"> <!-- 琛ㄥご鏍峰紡 --> <OIForm ref="refBaseForm" class="v-headStyle" :form="head_styledef.form" :focusId="focusFieldId" @on-click="onClick" @on-focus="ontap" @on-change="onEnterChange" @on-click-prefix="classAttr_extButton" @@ -17,7 +17,7 @@ <swiper class="view-tabpage" :current="current" @change="changeSwiper"> <!-- 瀛愮晫闈�--> <swiper-item v-for="(pageData, pageIndex) in pageDetail" :key="pageIndex"> - <view class="uni-panel-content"> + <view class="tab-content"> <view class="view-tab-content" :id="'tabpanel' + pageData.Name"> <image class="logo" v-if="pageData.DefList.length==0" src="../../images/mobox_log_200x40.png"> @@ -27,45 +27,7 @@ @tap="onPanelClick(ii,style.form.htmlobjId)" :id="'dvpanel'+style.form.htmlobjId" :class="style.form.htmlobjId==active_id?'bk-active':''"> - <uni-forms class="dv-panel-form" 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> - <!-- <OIForm class="dv-panel-form" :form="style.form" viewMode></OIForm> --> - + <OIForm class="dv-panel-form" :form="style.form" viewMode></OIForm> <div class="dv-panel-button" v-if="pageData.Select_Button==true || pageData.Row_Button.length > 0"> @@ -77,8 +39,8 @@ :key="btnIndex" type="default" :class="btn.FunCode == 'Delete' ? 'btn-warn' : 'btn-primary'" @click="onRowBtnClick(btn, pageData,ii)"> - <Icon v-if="btn.Style == 'img' || btn.Style == 'img_text'" - class="Img" /> + <text v-if="btn.Style == 'img' || btn.Style == 'img_text'" + class="Img"></text> {{(btn.Style == 'text'|| btn.Style == 'img_text') ? btn.ShowName :""}} </button> </div> @@ -88,21 +50,18 @@ </view> <view class="view-bottom" v-if="pageData.Button.length >0 "> <button v-for="(btn,btnIndex) in pageData.Button" :key="btnIndex" type="default" - :class="{'btn-disabled':(btn.FunCode != 'Cancel' && pageData.okLoading), - 'btn-primary':(btn.FunCode != 'Cancel'), + :class="{'btn-primary':(btn.FunCode != 'Cancel'), 'btn-cancel':(btn.FunCode == 'Cancel'), 'btn-one':pageData.Button.length == 1, 'btn-left':(btnIndex < pageData.Button.length - 1), 'btn-right': btnIndex > 0 && btnIndex == pageData.Button.length - 1 , - 'width-50':(pageData.Button.length == 2),'width-32':(pageData.Button.length == 3),'width-30':(pageData.DropDownButton.length> 0)}" - :disabled="(btn.FunCode != 'Cancel' && pageData.okLoading)? true:false" - @click="onBtnClick(btn, pageData)"> - <Icon v-if="btn.Style == 'img' || btn.Style == 'img_text'" class="Img" /> + 'width-50':(pageData.Button.length == 2),'width-32':(pageData.Button.length == 3),'width-30':(pageData.DropDownButton.length> 0)}" @click="onBtnClick(btn, pageData)"> + <text v-if="btn.Style == 'img' || btn.Style == 'img_text'" class="Img"></text> {{(btn.Style == 'text'|| btn.Style == 'img_text') ? btn.ShowName :""}} </button> <view class="btn-right" v-if="pageData.DropDownButton.length >0 "> <a @click="clickDropdownBtns(pageData)"> - <Icon class="mobox-normal-more" /> + <text class="mobox-normal-more"></text> </a> </view> </view> @@ -150,7 +109,9 @@ </template> <script> - import Base64 from '../../components/js-base64/base64.js' + import { + Base64 + } from '@/js/Base64.js'; import { dictGetInfo } from "@/api/mobox.js" @@ -163,12 +124,11 @@ import OIFormItem from '@/components/oi-form/list/index.vue' import OIFormInput from '@/components/oi-form/list/input/index.vue' import OIFormInputNumber from '@/components/oi-form/list/input-number/index.vue' + import buttonClickMixin from '@/mixins/button-click.js'; export default { name: "PageModal5601", - modules: { - Base64, - }, + mixins: [buttonClickMixin], components: { OIForm, OIFormItem, @@ -176,8 +136,10 @@ OIFormInputNumber }, + data() { return { + largeMode: getApp().globalData.largeMode || false, title: this.translateSys("inventory"), ClsID: '', param: {}, @@ -260,7 +222,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) { @@ -282,10 +244,10 @@ }) } //鍔犺浇鍒濆鐣岄潰 - if (this.$data.param.Show_Welcom_Page) { - this.$data.param.Welcome_Page.Img = this.$data.param.Welcome_Page.Img.replace(/ /g, '+'); - this.$data.param.Welcome_Page.Width = parseInt(this.$data.param.Welcome_Page.Width); - this.$data.param.Welcome_Page.Height = parseInt(this.$data.param.Welcome_Page.Height); + if (this.param.Show_Welcom_Page) { + this.param.Welcome_Page.Img = this.param.Welcome_Page.Img.replace(/ /g, '+'); + this.param.Welcome_Page.Width = parseInt(this.param.Welcome_Page.Width); + this.param.Welcome_Page.Height = parseInt(this.param.Welcome_Page.Height); }; //鍔犺浇Tab椤电 const pageList = this.param.Sub_Page || [] @@ -404,21 +366,18 @@ Name: page.After_Delete?.Name }; } - - if (evt.ID) { - return [{ - Cls_Name: this.param?.master_cls?.name || "", - Cls_ID: this.param?.master_cls?.id || "", - FunCode: "Delete", - ShowName: this.$t("sys.delete"), - Style: "text", - Prompt: false, - NotTriggerSYSEvent: false, - DataStateVerify: false, - AttrVerify: false, - AfterProcess_Event: evt, - }]; - } + return [{ + Cls_Name: this.param?.master_cls?.name || "", + Cls_ID: this.param?.master_cls?.id || "", + FunCode: "Delete", + ShowName: this.$t("sys.delete"), + Style: "text", + Prompt: false, + NotTriggerSYSEvent: false, + DataStateVerify: false, + AttrVerify: false, + AfterProcess_Event: evt, + }]; } return []; } @@ -532,7 +491,25 @@ } } } - + const app = getApp() + if (app.globalData.bindClasses) { + styledefHead.form.items.push({ + name: "Input", + label: this.translate("classes"), + labelWidth: 100, + disabled: true, + value: app.globalData.classes, + setting: { + width: 100, + height: 50, + }, + bind: { + attr: "", + }, + fieldId: "S_CLASSES", + }) + styledefHead.form.model["S_CLASSES"] = app.globalData.classes + } } this.setData({ head_styledef: styledefHead @@ -659,13 +636,14 @@ }, onClick(item) { + console.log("onClick", item) this.focusFieldId = item.fieldId }, ontap(item) { //鎵爜鍔熻兘 // var $ele = e; //console.log(e.target) this.focusOldFieldId = item.fieldId - getApp().onScan((result) => { + getApp().onScan(async (result) => { console.log(result.decodedata); item.value = result.decodedata; var $this = this; @@ -675,16 +653,14 @@ var attr = item.fieldId; this.head_styledef.form.model[attr] = newVal; var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�- var onSuffixClickCallbackEvent = item.bind - .onSuffixClickCallbackEvent; //鍚庡浘鏍囩偣鍑讳簨浠�- var onSuffixClickEvent = item.bind - .onSuffixClickEvent; //鍚庡浘鏍囩偣鍑诲洖璋� var isflag = false; - + if (item.changeEventRunding) + return + item.changeEventRunding = true if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠�- $this.onChange(onChangeEvent); + await this.onChange(onChangeEvent); } - + item.changeEventRunding = false //鍒濆鍖栵紝涓嬩釜杈撳叆妗唂ocus灞炴� var findd = false for (let i in $this.head_styledef.form.items) { @@ -754,22 +730,26 @@ }) }, - onEnterChange(item) { //鍥炶溅锛岀偣鍑绘寜閽紝鍙栨秷鑺傜偣浜嬩欢 + async onEnterChange(item) { //鍥炶溅锛岀偣鍑绘寜閽紝鍙栨秷鑺傜偣浜嬩欢 console.log(item); let newVal = item.value if (typeof item.value == "string") { newVal = item.value.trim() - if (!newVal) + if (!newVal) { + item.oldvalue = newVal; + var attr = item.fieldId; + this.head_styledef.form.model[attr] = newVal; return + } + } if (item.oldvalue != newVal) { item.oldvalue = newVal; var attr = item.fieldId; this.head_styledef.form.model[attr] = newVal; var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�- if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠�- this.onChange(onChangeEvent); + await this.onChange(onChangeEvent); } } @@ -797,7 +777,7 @@ }); return; } - this.$data.popupType = 'right' + this.popupType = 'right' // open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦�uni-popup 缁勪欢涓婄粦瀹�type灞炴� this.$refs.popup.open(this.popupType); @@ -909,7 +889,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: '', @@ -925,176 +905,176 @@ global_attr: '', input_param: input_param, }; - runCustomEvent(dataInfo).then(result => { - console.log(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( - 'close') - }); - } else uni.showModal({ - title: this.translateSys('tip'), - content: tip + ',' + this - .translateSys('tip') + ':' + - result - .ret, - showCancel: false, - confirmText: this.translateSys( - 'close') - }); - 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'), + const result = await runCustomEvent(dataInfo) + console.log(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( 'close') }); - - if (result.result_type == 0 && result.action) { - result.action.forEach(item => { - if (item.action_type == "insert_subtable_page_row") { //鐮佺洏涓�- $this.$data.param.Show_Welcom_Page = false; - var value = item.value; - $this.viewAceionRow(value); - } else if (item.action_type == - "set_subtable_page_content") { //宸茬爜鐩�- $this.$data.param.Show_Welcom_Page = false; - var value = item.value; - const pageData = $this.pageDetail.find((page) => { - return value.page_name == page.Name; - }); - if (value.clear_confirm != false && value.clear == true && - pageData && pageData.DefList.length > 0 - ) { //鍒ゆ柇鏄惁娓呯┖椤电鍐呭,姝e湪鐮佺洏鏄惁鏈夋暟鎹�- uni.showModal({ - title: this.translateSys('tip'), - content: this.translate( - "are_you_sure_clear_first") + - this.translateSys( - "quotation_mark_left") + - value.page_name + - this.translateSys( - "quotation_mark_right") + - this.translate( - "are_you_sure_clear_last"), - cancelText: $this.translateSys('ok'), - confirmText: $this.translateSys('cancel'), - success: function(res) { - if (res.cancel) { - if (pageData) - pageData.DefList = []; - $this.viewAceionContent(value); - } else if (res.confirm) { - if (pageData) - pageData.DefList = []; - $this.viewAceionContent(value); - } - } - }); - } else { - if (pageData) - pageData.DefList = []; - $this.viewAceionContent(value); - } - } else if (item.action_type == "select_subtable_page_row") { - // value = {"page_name":"鐮佺洏涓�, "row":{"id":"xx"}} - var value = item.value; - $this.viewActionSelectRow(value) - } else if (item.action_type == - "remove_subtable_page_row") { //娓呴櫎闈㈡澘涓寚瀹歩d鐨勬暟鎹�- var value = item.value; - $this.viewActionRemoveRow(value) - } else if (item.action_type == "set_subtable_page_row") { - $this.viewActionSetRow(item.value) - - } else if (item.action_type == "set_subtable_page_ext_data") { - var value = item.value; - const pageData = $this.pageDetail.find((page) => { - return value.page_name == page.Name; - }); - if (pageData) - pageData.ExtData = value.ext_data - - } else if (item.action_type == "clear_subpage_rows") { - var value = item.value; - const pageIndex = $this.pageDetail.findIndex((page) => { - return value.page_name == page.Name; - }); - if (pageIndex > -1) { - const pageData = $this.pageDetail[pageIndex] - pageData.DefList = [] - pageData.ExtData = {} - - $this.$set(this.pageDetail, pageIndex, pageData) - } - - } else if (item.action_type == "set_dlg_current_edit_attr") { - - if ($this.focusOldFieldId == item.value) { - $this.setData({ - focusFieldId: "" - }) - } else { - $this.setData({ - focusFieldId: $this.focusOldFieldId - }) - } - $this.$nextTick(() => { - $this.setData({ - focusFieldId: item.value - }) - }); - } else if (item.action_type == "set_dlg_attr") { - // value = {"attr":"xxx", "value":"xxx"} - var data = item.value; - $this.setFormValues(data) - } - }); - } else { - - if (result.info) { - uni.showModal({ - title: this.translateSys( - "error") + "4.3", - content: result.info, - showCancel: false, - confirmText: this - .translateSys('close') - }); - } - } - - } - - }).catch(ex => { - // console.log(ex); - let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex - uni.showModal({ - title: this.translateSys("error") + "4.1", + } else uni.showModal({ + title: this.translateSys('tip'), + content: tip + ',' + this + .translateSys('tip') + ':' + + result + .ret, + showCancel: false, + confirmText: this.translateSys( + 'close') + }); + 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('close') + confirmText: this.translateSys( + 'close') }); - }); + + if (result.result_type == 0 && result.action) { + result.action.forEach(item => { + if (item.action_type == "insert_subtable_page_row") { //鐮佺洏涓�+ $this.param.Show_Welcom_Page = false; + var value = item.value; + $this.viewAceionRow(value); + } else if (item.action_type == + "set_subtable_page_content") { //宸茬爜鐩�+ $this.param.Show_Welcom_Page = false; + var value = item.value; + const pageData = $this.pageDetail.find((page) => { + return value.page_name == page.Name; + }); + if (value.clear_confirm != false && value.clear == true && + pageData && pageData.DefList.length > 0 + ) { //鍒ゆ柇鏄惁娓呯┖椤电鍐呭,姝e湪鐮佺洏鏄惁鏈夋暟鎹�+ uni.showModal({ + title: this.translateSys('tip'), + content: this.translate( + "are_you_sure_clear_first") + + this.translateSys( + "quotation_mark_left") + + value.page_name + + this.translateSys( + "quotation_mark_right") + + this.translate( + "are_you_sure_clear_last"), + cancelText: $this.translateSys('ok'), + confirmText: $this.translateSys('cancel'), + success: function(res) { + if (res.cancel) { + if (pageData) + pageData.DefList = []; + $this.viewAceionContent(value); + } else if (res.confirm) { + if (pageData) + pageData.DefList = []; + $this.viewAceionContent(value); + } + } + }); + } else { + if (pageData) + pageData.DefList = []; + $this.viewAceionContent(value); + } + } else if (item.action_type == "select_subtable_page") { + var value = item.value; + const pageIndex = $this.pageDetail.findIndex((page) => { + return value.page_name == page.Name; + }); + if (pageIndex > -1) { + $this.setData({ + current: pageIndex + }) + } + } else if (item.action_type == "select_subtable_page_row") { + // value = {"page_name":"鐮佺洏涓�, "row":{"id":"xx"}} + var value = item.value; + $this.viewActionSelectRow(value) + } else if (item.action_type == + "remove_subtable_page_row") { //娓呴櫎闈㈡澘涓寚瀹歩d鐨勬暟鎹�+ var value = item.value; + $this.viewActionRemoveRow(value) + } else if (item.action_type == "set_subtable_page_row") { + $this.viewActionSetRow(item.value) + + } else if (item.action_type == "set_subtable_page_ext_data") { + var value = item.value; + const pageData = $this.pageDetail.find((page) => { + return value.page_name == page.Name; + }); + if (pageData) + pageData.ExtData = value.ext_data + + } else if (item.action_type == "clear_subpage_rows") { + var value = item.value; + const pageIndex = $this.pageDetail.findIndex((page) => { + return value.page_name == page.Name; + }); + if (pageIndex > -1) { + const pageData = $this.pageDetail[pageIndex] + pageData.DefList = [] + pageData.ExtData = {} + + $this.$set(this.pageDetail, pageIndex, pageData) + } + + } else if (item.action_type == "set_dlg_current_edit_attr") { + + if ($this.focusOldFieldId == item.value) { + $this.setData({ + focusFieldId: "" + }) + } else { + $this.setData({ + focusFieldId: $this.focusOldFieldId + }) + } + $this.$nextTick(() => { + $this.setData({ + focusFieldId: item.value + }) + }); + } else if (item.action_type == "set_dlg_attr") { + // value = {"attr":"xxx", "value":"xxx"} + var data = item.value; + $this.setFormValues(data) + } + }); + } else { + + if (result.info) { + uni.showModal({ + title: this.translateSys( + "error") + "4.3", + content: result.info, + showCancel: false, + confirmText: this + .translateSys('close') + }); + } + } + + } + } } catch (ex) { var tip = typeof ex == "string" ? ex : ex.message; @@ -1146,8 +1126,59 @@ return value.page_name == page.Name; }); if (pageData?.DefList) { - pageData.DefList.forEach(ele => { - if (ele.form.objId == value.row.id) { + const detailStyleDefList = pageData.DefList || [] + let bFindRow = false; + for (let index = 0; index < detailStyleDefList.length; index++) { + const ele = detailStyleDefList[index] + + if (value.row.id) { + if (ele.form.objId == value.row.id) { + bFindRow = true; + } + } else { + const conditions = row.condition || []; + if (conditions.length > 0) { + for (let index = 0; index < detailStyleDefList.length; index++) { + const ele = detailStyleDefList[index] + let bFindCondition = true; + for (let i in conditions) { + const condition = conditions[i]; + let bFind = false; + for (let i2 in ele.form.items) { + const ele2 = ele.form.items[i2]; + if (ele2.name != "Layout") { + if (ele2.fieldId == condition.attr) { + if (condition.value == ele2.value) { + bFind = true; + } + break; + } + } else { + const colList = ele2.setting.colList || []; + for (let i3 in colList) { + const col = colList[i3]; + if (col.fieldId == condition.attr) { + if (condition.value == col.value) { + bFind = true; + } + break; + } + } + if (bFind) break; + } + } + if (!bFind) { + bFindCondition = false; + break; + } + } + if (bFindCondition) { + bFindRow = true; + } + } + } + } + if (bFindRow) { ele.SelBut_Checked = true; this.active_id = ele.form.htmlobjId; //鑷姩婊氬姩鍒版寚瀹氬厓绱�@@ -1163,7 +1194,8 @@ }).exec(); }).exec(); } - }); + break + } } }, @@ -1172,23 +1204,73 @@ if (JSON.stringify(value.row) == '{}') { return; } - const pageIndex = $this.pageDetail.findIndex((page, index2, arr) => { + const pageIndex = this.pageDetail.findIndex((page, index2, arr) => { return value.page_name == page.Name; }) if (pageIndex < 0) return - const pageData = $this.pageDetail[pageIndex] + const pageData = this.pageDetail[pageIndex] if (pageData?.DefList) //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄緟鍒嗘嫞//娓呴櫎闈㈡澘涓寚瀹歩d鐨勬暟鎹� { + const detailStyleDefList = pageData.DefList || [] value.row.forEach((row) => { - pageData.DefList.forEach((ele, index) => { - if (ele.form.objId == row.id) { - pageData.DefList.splice(index, 1); + if (row.id) { + for (let index = 0; index < detailStyleDefList.length; index++) { + const ele = detailStyleDefList[index] + if (ele.form.objId == row.id) { + detailStyleDefList.splice(index, 1); + index--; + } } - }); + + } else { + const conditions = row.condition || []; + if (conditions.length > 0) { + for (let index = 0; index < detailStyleDefList.length; index++) { + const ele = detailStyleDefList[index] + let bFindCondition = true; + for (let i in conditions) { + const condition = conditions[i]; + let bFind = false; + for (let i2 in ele.form.items) { + const ele2 = ele.form.items[i2]; + if (ele2.name != "Layout") { + if (ele2.fieldId == condition.attr) { + if (condition.value == ele2.value) { + bFind = true; + } + break; + } + } else { + const colList = ele2.setting.colList || []; + for (let i3 in colList) { + const col = colList[i3]; + if (col.fieldId == condition.attr) { + if (condition.value == col.value) { + bFind = true; + } + break; + } + } + if (bFind) break; + } + } + if (!bFind) { + bFindCondition = false; + break; + } + } + if (bFindCondition) { + detailStyleDefList.splice(index, 1); + + } + } + } + + } }); } - $this.$set(this.pageDetail, pageIndex, pageData) + this.$set(this.pageDetail, pageIndex, pageData) }, //鏇存柊鍒嗛〉绛句腑鐨勫垪琛ㄩ」鍐呭 viewActionSetRow(value) { @@ -1199,7 +1281,7 @@ if (pageIndex < 0) return const pageData = $this.pageDetail[pageIndex] - var detailStyleDefList = pageData.DefList || [] + const detailStyleDefList = pageData.DefList || [] detailStyleDefList.forEach(ele => { value.row.forEach((rowData) => { if (rowData.id) { @@ -1232,7 +1314,7 @@ }); } } else if (rowData.condition) { - const conditions = rowData.condition; + const conditions = rowData.condition let bFindCondition = true; for (let i in conditions) { const condition = conditions[i]; @@ -1294,12 +1376,12 @@ }); } + } }) }); pageData.DefList = detailStyleDefList $this.$set(this.pageDetail, pageIndex, pageData) - }, //鍔犺浇姝e湪鐮佺洏鍐呭 viewAceionRow(data) { @@ -1321,8 +1403,9 @@ data.row.forEach(row => { detailStyle = JSON.parse(styleStr); detailStyle.form.objId = row.id; - detailStyle.form.htmlobjId = row.id ? row.id.replace(/-/g, '').replace('{', '').replace( - '}', '') : 'null'; + detailStyle.form.htmlobjId = row.id ? row.id.replace(/-/g, '').replace('{', '') + .replace( + '}', '') : 'null'; detailStyle.form.attrs = row.attrs; row.attrs.forEach(attr => { detailStyle.form.items.forEach(ele => { @@ -1403,13 +1486,16 @@ if (ele.fieldId == attr.attr) ele.value = attr.value; } else if (ele.name == 'Layout') { - ele.setting.colList.forEach(col => { - if (col) { - if (col.fieldId == attr - .attr) - col.value = attr.value; - } - }); + ele.setting.colList.forEach( + col => { + if (col) { + if (col.fieldId == + attr + .attr) + col.value = + attr.value; + } + }); } }); }); @@ -1475,6 +1561,13 @@ if (ele.fieldId == attr.attr) { ele.value = attr.value; ele.oldvalue = attr.value; + if (ele.name == "Input") { + if (attr.prompt) ele.placeholder = attr.prompt; + } + if (attr.enable !== undefined) { + if (attr.enable) ele.disabled = false; + else ele.disabled = true; + } } } else if (ele.name == "Layout") { ele.setting.colList.forEach((col) => { @@ -1482,6 +1575,13 @@ if (col.fieldId == attr.attr) { col.value = attr.value; col.oldvalue = attr.value; + if (col.name == "Input") { + if (attr.prompt) col.placeholder = attr.prompt; + } + if (attr.enable !== undefined) { + if (attr.enable) col.disabled = false; + else col.disabled = true; + } } } }); @@ -1505,7 +1605,7 @@ async del(pageData, style, event) { //鑾峰彇琛ㄥご灞炴� var head_attr = {}; - this.$data.head_styledef.form.items.forEach(item => { + this.head_styledef.form.items.forEach(item => { if (item.name == "Layout") { //鍒ゆ柇鏄惁鏄爡鏍忔牸寮� item.setting.colList.forEach(col => { if (col != null) head_attr[col.fieldId] = @@ -1598,15 +1698,15 @@ // console.log(e.target.dataset); var index = e.target.dataset.index; var ischeck = e.target.dataset.ischeck; - var data = this.$data.check_list.items; - // this.$data.check_list.items=[]; - if (this.$data.check_list.multiple_choice == "0") { //鍒ゆ柇鏃跺崟閫夎繕鏄閫�+ var data = this.check_list.items; + // this.check_list.items=[]; + if (this.check_list.multiple_choice == "0") { //鍒ゆ柇鏃跺崟閫夎繕鏄閫� for (var i in data) { data[i].check = false; } } data[index].check = ischeck ? false : true; - this.$data.check_list.items = data; + this.check_list.items = data; }, popup_cancel(e) { //寮规鍙栨秷 @@ -1614,7 +1714,7 @@ }, popup_sava(e) { //寮规纭畾 var $this = this; - var items = $this.$data.check_list.items; + var items = $this.check_list.items; var data = []; var name = ""; for (var i = 0; i < items.length; i++) { @@ -1628,7 +1728,7 @@ }); } } - if (!$this.$data.popupParam) { + if (!$this.popupParam) { uni.showModal({ title: this.translateSys("tip"), content: "popupParam涓虹┖锛�, @@ -1646,7 +1746,7 @@ }); return; } - var callback_eventid = $this.$data.popupParam.button_callback.trim(); + var callback_eventid = $this.popupParam.button_callback.trim(); var info = { eventid: callback_eventid, edtype: "0", @@ -1654,12 +1754,12 @@ rclsid: '', robjid: '', userlogin: '', - clsid: $this.$data.ClsID, + clsid: $this.ClsID, objid: "", - attr: $this.$data.popupParam.req, + attr: $this.popupParam.req, dataJson: data } - $this.DataObjRunCustomEvent(info, $this.$data.popupParam.data_attr); + $this.DataObjRunCustomEvent(info, $this.popupParam.data_attr); this.$refs.popup.close(); }, @@ -1667,18 +1767,18 @@ var $this = this; var enviroment = { 'function': '3000', // 鍔熻兘鐐圭紪鍙�- cls_id: this.$data.ClsID, // 鍔熻兘鐐逛富鏁版嵁绫绘爣璇�+ cls_id: this.ClsID, // 鍔熻兘鐐逛富鏁版嵁绫绘爣璇� 'button': 'top', // top/bottom button_name: this.translateSys('add2'), master: { - cls_id: this.$data.ClsID, // button=bottom鏃�master鐨刢ls_id + cls_id: this.ClsID, // button=bottom鏃�master鐨刢ls_id //obj_id: '' // button=bottom鏃�master鐨刼bj_id } }; if (data_attr) { enviroment.edit_dlg = { type: 'small', //灏忕獥鍙�- class_id: this.$data.ClsID, //褰撳墠鏁版嵁绫籭d + class_id: this.ClsID, //褰撳墠鏁版嵁绫籭d } if (data_attr) { enviroment.edit_dlg.form_control = { //鎵�睘鐨勮〃鍗曟帶浠�@@ -1694,7 +1794,7 @@ } enviroment = Base64.encode(JSON.stringify(enviroment)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜 var input_param = Base64.encode(JSON.stringify(info.attr)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜 - var global_attr = Base64.encode(JSON.stringify(this.$data.global_attr)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜 + var global_attr = Base64.encode(JSON.stringify(this.global_attr)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜 if (info.dataJson) info.dataJson = Base64.encode(JSON.stringify(info.dataJson)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜 var obj_attr = {}; @@ -1771,33 +1871,41 @@ } else if (action.action_type == 'set_dlg_attr_show') { var result = action.value; result.forEach(async (attr, key) => { - $this.$data.head_styledef.form.items.forEach(async (ele, + $this.head_styledef.form.items.forEach(async ( + ele, index) => { //鍒ゆ柇鏄惁鏄爡鏍艰〃鍗� if (ele.name != 'Layout') { - if (ele.fieldId == attr.attr) { + if (ele.fieldId == attr + .attr) { ele.show = attr.show; } - } else if (ele.name == 'Layout') { - ele.setting.colList.forEach((col) => { - if (col) { - if (col.fieldId == attr - .attr) { - col.show = attr - .show; + } else if (ele.name == + 'Layout') { + ele.setting.colList + .forEach((col) => { + if (col) { + if (col + .fieldId == + attr + .attr + ) { + col.show = + attr + .show; + } } - } - }); + }); } }); }); var head_styledef = JSON.parse(JSON.stringify($this.$data .head_styledef)); - $this.$data.head_styledef = []; - $this.$data.head_styledef = head_styledef; - // console.log($this.$data.head_styledef); + $this.head_styledef = []; + $this.head_styledef = head_styledef; + // console.log($this.head_styledef); } else if (action.action_type == 'set_global_attr') { - $this.$data.global_attr = action.value || []; + $this.global_attr = action.value || []; } else { uni.showModal({ title: this.translateSys("tip"), @@ -1818,7 +1926,7 @@ if (data.result) { var result = data.result; $this.setFormValues(result) - } + } } }).catch(ex => { @@ -1984,7 +2092,7 @@ rclsid: '', robjid: '', userlogin: '', - clsid: $this.$data.param + clsid: $this.param .DataCls .id, objid: "", @@ -2073,8 +2181,8 @@ data[0].ID + ';' + data[0].Name; - // $this.$data.classAttrList[param.index].Attr[param.iindex].Value=data[0].Name; - // $this.$data.classAttrList[param.index].Attr[param.iindex].ValID=data[0].ID+';'+data[0].Name; + // $this.classAttrList[param.index].Attr[param.iindex].Value=data[0].Name; + // $this.classAttrList[param.index].Attr[param.iindex].ValID=data[0].ID+';'+data[0].Name; var callback_eventid = param .button_callback .trim(); @@ -2186,7 +2294,13 @@ }) } else { - this.onButtonClicked(btn, pageData, -1); + this.handleButtonClick((done) => { + this.onButtonClicked(btn, pageData, -1); + setTimeout(() => { + done(); // 閲嶇疆鐘舵� + }, 1000); + }); + } }, onRowBtnClick(btn, pageData, index) { @@ -2207,7 +2321,13 @@ }) } else { - this.onButtonClicked(btn, pageData, index); + this.handleButtonClick((done) => { + this.onButtonClicked(btn, pageData, index); + setTimeout(() => { + done(); // 閲嶇疆鐘舵� + }, 1000); + }); + } }, onButtonClicked(btn, pageData, index) { @@ -2233,7 +2353,8 @@ const style = pageData.DefList[index]; //鍒犻櫎鐮佺洏涓牱寮忛潰鏉� pageData.DefList.splice(index, 1); - this.del(pageData, style, btn.AfterProcess_Event); + if (btn.AfterProcess_Event.ID) + this.del(pageData, style, btn.AfterProcess_Event); this.$set(this.pageDetail, pageIndex, pageData) } } else if (btn.FunCode == "Modify") { @@ -2302,7 +2423,8 @@ } else { ele.setting.colList.forEach(async (col) => { if (col) { - let value = formData[col.fieldId] + let value = formData[col + .fieldId] if (value) col.value = value } @@ -2310,7 +2432,6 @@ } }) $this.$set($this.pageDetail, pageIndex, pageData) - }, } @@ -2353,7 +2474,8 @@ } else { ele.setting.colList.forEach(async (col) => { if (col) { - let value = formData[col.fieldId] + let value = formData[col + .fieldId] if (value) col.value = value } @@ -2373,33 +2495,32 @@ this.After_OK_Event = pageData.After_ok; // console.log(this.Before_OK_Event); // console.log(this.After_OK_Event); - if (this.$data.Before_OK_Event.ID) //鏄惁鏈夌‘瀹氬墠浜嬩欢 - this.sava(pageData, this.$data.Before_OK_Event); - else if (this.$data.After_OK_Event.ID) //鏄惁鏈夌‘瀹氬悗浜嬩欢 - this.sava(pageData, this.$data.After_OK_Event); + if (this.Before_OK_Event.ID) //鏄惁鏈夌‘瀹氬墠浜嬩欢 + this.sava(pageData, this.Before_OK_Event); + else if (this.After_OK_Event.ID) //鏄惁鏈夌‘瀹氬悗浜嬩欢 + this.sava(pageData, this.After_OK_Event); }, sava(pageData, event) { var $this = this; - if (pageData.DefList.length == 0) { - uni.showModal({ - title: this.translateSys("tip"), - content: this.translate( - "tip_no_data_first") + - this.translateSys( - "quotation_mark_left") + pageData.Name + this - .translateSys( - "quotation_mark_right") + - this.translate( - "tip_no_data_last"), - showCancel: false, - confirmText: this.translateSys('close') - }); - return false; - } + // if (pageData.DefList.length == 0) { + // uni.showModal({ + // title: this.translateSys("tip"), + // content: this.translate( + // "tip_no_data_first") + + // this.translateSys( + // "quotation_mark_left") + pageData.Name + this + // .translateSys( + // "quotation_mark_right") + + // this.translate( + // "tip_no_data_last"), + // showCancel: false, + // confirmText: this.translateSys('close') + // }); + // return false; + // } //鑾峰彇琛ㄥご灞炴� - pageData.okLoading = true var head_attr = {}; - this.$data.head_styledef.form.items.forEach(item => { + this.head_styledef.form.items.forEach(item => { if (item.name == "Layout") { //鍒ゆ柇鏄惁鏄爡鏍忔牸寮� item.setting.colList.forEach(col => { if (col != null) head_attr[col.fieldId] = @@ -2477,7 +2598,6 @@ }); }); if (jsonlist.length == 0) { - pageData.okLoading = false uni.showModal({ title: this.translateSys("tip"), content: this.translate("tip_no_select_data"), @@ -2507,7 +2627,7 @@ var dataInfo = { ed_type: 0, start_transaction: true, - class_id: this.$data.ClsID, + class_id: this.ClsID, class_name: '', event_id: event.ID, event_name: '', @@ -2523,8 +2643,6 @@ global_attr: '', input_param: input_param, }; - - // console.log(dataInfo); runCustomEvent(dataInfo).then(result => { console.log(result); if (result.ret != 0) { @@ -2571,57 +2689,82 @@ // uni.showModal({title:this.translateSys("tip"),content:JSON.stringify(result.action),showCancel:false,confirmText:this.translateSys("cancel")}); result.action.forEach(item => { - if (item.action_type == "insert_subtable_page_row") { //鐮佺洏涓�+ if (item.action_type == + "insert_subtable_page_row") { //鐮佺洏涓� var value = item.value; //鍔犺浇宸茬粡鐮佺洏鏁版嵁 $this.viewAceionRow(value); //娓呯┖鏉$爜鍐呭 - $this.$data.head_styledef.form.items.forEach((item, index) => { - if (item.fieldId != "S_CNTR_CODE") { + $this.head_styledef.form.items.forEach((item, + index) => { + if (item.fieldId != + "S_CNTR_CODE") { item.value = ''; item.oldvalue = ''; - $this.$data.head_styledef.form.model[item + $this.head_styledef.form.model[ + item .fieldId] = ''; } }); uni.showModal({ title: $this.translateSys("tip"), - content: $this.translate('execute_event_success'), + content: $this.translate( + 'execute_event_success'), showCancel: false, - confirmText: $this.translateSys('close') + confirmText: $this.translateSys( + 'close') }); } else if (item.action_type == "set_subtable_page_content" ) { //宸茬爜鐩�- $this.$data.param.Show_Welcom_Page = false; + $this.param.Show_Welcom_Page = false; var value = item.value; - const pageData = $this.pageDetail.find((page) => { - return value.page_name == page.Name; + const pageData = $this.pageDetail.find(( + page) => { + return value.page_name == page + .Name; }); - if (value.clear_confirm != false && value.clear == true && + if (value.clear_confirm != false && value + .clear == true && pageData && pageData.DefList.length > 0 ) { //鍒ゆ柇鏄惁娓呯┖椤电鍐呭,姝e湪鐮佺洏鏄惁鏈夋暟鎹� uni.showModal({ - title: $this.translateSys('tip'), + title: $this.translateSys( + 'tip'), content: $this.translate( - "are_you_sure_clear_first") + - $this.translateSys("quotation_mark_left") + + "are_you_sure_clear_first" + ) + + $this.translateSys( + "quotation_mark_left" + ) + value.page_name + $this.translateSys( - "quotation_mark_right") + - $this.translate("are_you_sure_clear_last"), - cancelText: $this.translateSys('ok'), - confirmText: $this.translateSys('cancel'), + "quotation_mark_right" + ) + + $this.translate( + "are_you_sure_clear_last" + ), + cancelText: $this.translateSys( + 'ok'), + confirmText: $this + .translateSys('cancel'), success: function(res) { if (res.cancel) { if (pageData) - pageData.DefList = []; - $this.viewAceionContent(value); - } else if (res.confirm) { + pageData + .DefList = []; + $this + .viewAceionContent( + value); + } else if (res + .confirm) { if (pageData) - pageData.DefList = []; - $this.viewAceionContent(value); + pageData + .DefList = []; + $this + .viewAceionContent( + value); } } }); @@ -2631,45 +2774,70 @@ $this.viewAceionContent(value); } } else if (item.action_type == + "select_subtable_page") { + var value = item.value; + const pageIndex = $this.pageDetail.findIndex(( + page) => { + return value.page_name == page + .Name; + }); + if (pageIndex > -1) { + $this.setData({ + current: pageIndex + }) + } + } else if (item.action_type == "remove_subtable_page_row") { //娓呴櫎闈㈡澘涓寚瀹歩d鐨勬暟鎹� let value = item.value; $this.viewActionRemoveRow(value) - } else if (item.action_type == "set_subtable_page_row") { + } else if (item.action_type == + "set_subtable_page_row") { $this.viewActionSetRow(item.value) - } else if (item.action_type == "set_subtable_page_ext_data") { + } else if (item.action_type == + "set_subtable_page_ext_data") { let value = item.value; - const pageData = $this.pageDetail.find((page) => { - return value.page_name == page.Name; + const pageData = $this.pageDetail.find(( + page) => { + return value.page_name == page + .Name; }); if (pageData) { pageData.ExtData = value.ext_data } - } else if (item.action_type == "clear_subpage_rows") { + } else if (item.action_type == + "clear_subpage_rows") { var value = item.value; - const pageIndex = $this.pageDetail.findIndex((page) => { - return value.page_name == page.Name; + const pageIndex = $this.pageDetail.findIndex(( + page) => { + return value.page_name == page + .Name; }); if (pageIndex > -1) { - const pageData = $this.pageDetail[pageIndex] + const pageData = $this.pageDetail[ + pageIndex] pageData.DefList = [] pageData.ExtData = {} - $this.$set(this.pageDetail, pageIndex, pageData) + $this.$set(this.pageDetail, pageIndex, + pageData) } - } else if (item.action_type == "set_dlg_current_edit_attr") { + } else if (item.action_type == + "set_dlg_current_edit_attr") { if ($this.focusOldFieldId == item.value) $this.setData({ focusFieldId: "" }) else { $this.setData({ - focusFieldId: $this.focusOldFieldId + focusFieldId: $this + .focusOldFieldId }) } $this.$nextTick(() => { $this.setData({ - focusFieldId: item.value + focusFieldId: item + .value }) }); } else if (item.action_type == @@ -2681,8 +2849,8 @@ }); } else { - if ($this.$data.After_OK_Event.ID != event.ID) { //鍒ゆ柇褰撳墠浜嬩欢鏄惁鏄‘瀹氬悗浜嬩欢 - $this.sava(pageParam, $this.$data.After_OK_Event); //鎵ц纭畾鍚庝簨浠�+ if ($this.After_OK_Event.ID != event.ID) { //鍒ゆ柇褰撳墠浜嬩欢鏄惁鏄‘瀹氬悗浜嬩欢 + $this.sava(pageParam, $this.After_OK_Event); //鎵ц纭畾鍚庝簨浠� } } @@ -2699,9 +2867,8 @@ } } - pageParam.okLoading = false }).catch(ex => { - pageParam.okLoading = false + console.log(ex); let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex uni.showModal({ title: this.translateSys("error") + "8.1", @@ -2755,38 +2922,6 @@ flex-direction: column; } - .v-head-style { - width: 98%; - - .uni-forms-item { - margin-bottom: 11rpx; - } - - .input-wrapper { - border: 1px solid #d5d5d5; - width: 100%; - display: flex; - flex-direction: row; - - .uni-input { - flex: 1; - padding: 12rpx 8rpx; - color: #2d8cf0; - // height: 40rpx; - // line-height: 40rpx; - } - - .uni-icon { - padding: 10rpx 5rpx; - font-size: 32rpx; - color: rgb(192, 196, 204); - } - } - - .input-wrapper:hover { - border: 1px solid rgb(41, 121, 255); - } - } .view-content { display: flex; @@ -2823,6 +2958,12 @@ flex-direction: column !important; } + .tab-content { + display: flex; + width: 100%; + height: 100%; + flex-direction: column !important; + } .view-bottom { display: flex; @@ -2838,7 +2979,6 @@ .btn-left { padding: 20rpx; line-height: 1.5; - font-size: 38rpx; font-weight: bold; float: left; display: inline-block; @@ -2848,7 +2988,6 @@ .btn-one { padding: 20rpx; line-height: 1.5; - font-size: 38rpx; font-weight: bold; float: left; display: inline-block; @@ -2859,7 +2998,6 @@ .btn-right { padding: 20rpx; line-height: 1.5; - font-size: 38rpx; font-weight: bold; float: right; display: inline-block; @@ -2929,7 +3067,6 @@ padding: 0px; margin: 0; - .uni-forms-item { padding-bottom: 5rpx; margin-bottom: 0; @@ -2938,35 +3075,14 @@ 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-panel-button { width: 100%; text-align: left; - min-height: 30rpx; + min-height: 16px; padding-bottom: 10rpx; checkbox { @@ -2978,7 +3094,7 @@ text-align: left; line-height: 1.5; border: none; - font-size: 30rpx; + margin-right: 10rpx; display: inline-block; float: right; @@ -3038,7 +3154,6 @@ background: #94D5EF; display: block; width: 100%; - font-size: 36rpx; line-height: 80rpx; font-weight: 500; } @@ -3057,8 +3172,6 @@ background: #FFF; border-radius: 0 !important; color: #2d8cf0; - /* padding: 10rpx 8rpx 12rpx; */ - font-size: 34rpx; font-family: inherit; box-shadow: none !important; transition-duration: 0.1s; @@ -3081,14 +3194,6 @@ .input-disabled { background-color: #f3f3f3 !important; } - - // ::v-deep .uni-row { - // margin-bottom: 0px; - // } - - // .view-tabpage ::v-deep .uni-row { - // margin-bottom: 5px; - // } .demo-uni-col { height: 36px; @@ -3120,7 +3225,6 @@ } .popup-header { - font-size: 42rpx; font-weight: bold; margin: 20rpx 20rpx 0px 20rpx; } @@ -3145,7 +3249,6 @@ background: #27A6E1; border: none; color: #fff; - font-size: 38rpx; font-weight: bold; /* float: left; */ display: inline-block; @@ -3161,7 +3264,6 @@ // color: #fff; background: #fff; color: #000; - font-size: 38rpx; font-weight: bold; /* float: right; */ display: inline-block; @@ -3169,4 +3271,10 @@ } + + .uni-page-modal-5601.large-mode { + .dv-panel-button { + min-height: 32px !important; + } + } </style> \ No newline at end of file -- Gitblit v1.9.1