From 90e4076a8adf5dac4384f10d9ce22398580eaf34 Mon Sep 17 00:00:00 2001 From: cuiqian2004 <cuiqian2004@163.com> Date: 星期三, 09 七月 2025 17:27:06 +0800 Subject: [PATCH] 5601列表页面中的内容变化处理,自定义表单的set_dlg_attr_show --- pages/modal/5601.vue | 1564 +++++++++++++++++++++++++++++++++------------------------ 1 files changed, 903 insertions(+), 661 deletions(-) diff --git a/pages/modal/5601.vue b/pages/modal/5601.vue index 3055125..38bfe7e 100644 --- a/pages/modal/5601.vue +++ b/pages/modal/5601.vue @@ -1,9 +1,9 @@ <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" - @click="onClick" @focus="ontap" @change="onEnterChange" @click-prefix="classAttr_extButton" - @click-suffix="classAttr_extButton"></OIForm> + <OIForm ref="refBaseForm" class="v-headStyle" :form="head_styledef.form" :hiddenIds="head_styledef.hiddenIds ?head_styledef.hiddenIds :[] " :focusId="focusFieldId" + @on-click="onClick" @on-focus="ontap" @on-change="onEnterChange" @on-click-prefix="classAttr_extButton" + @on-click-suffix="classAttr_extButton"></OIForm> <view class="view-content"> <!-- 鐮佺洏瀛愮晫闈�--> @@ -17,22 +17,24 @@ <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"> </image> <checkbox-group @change="checkboxChange"> - <div class="dv-panel" v-for="(style,ii) in pageData.DefList" + <div class="dv-panel" v-for="(style,ii) in pageData.DefList" :key="ii" @tap="onPanelClick(ii,style.form.htmlobjId)" :id="'dvpanel'+style.form.htmlobjId" :class="style.form.htmlobjId==active_id?'bk-active':''"> - <OIForm class="dv-panel-form" :form="style.form" viewMode></OIForm> - + <OIForm class="dv-panel-form" :form="style.form" + :hiddenIds="style.hiddenIds ?style.hiddenIds :[] " viewMode @on-change="(item2)=>{ + onDetailEnterChange(item2,style,pageIndex) + }"></OIForm> <div class="dv-panel-button" v-if="pageData.Select_Button==true || pageData.Row_Button.length > 0"> - <checkbox v-if="pageData.Select_Button==true" :model="ii" + <checkbox v-if="pageData.Select_Button==true" :value="ii" :checked="style.SelBut_Checked" /> <!-- <text></text> --> <!-- <button type="primary" @click="savaItem(ii)" v-if="param.Sub_Page[0].OK_Button==true">淇濆瓨</Button> --> @@ -40,8 +42,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> @@ -51,21 +53,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> @@ -113,7 +112,9 @@ </template> <script> - import Base64 from '../../components/js-base64/base64.js' + import { + Base64 + } from '@/js/Base64.js'; import { dictGetInfo } from "@/api/mobox.js" @@ -123,17 +124,25 @@ } from "@/api/data.js" import dayjs from "dayjs"; import OIForm from '@/components/oi-form/index.vue' + 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, + OIFormInput, + OIFormInputNumber + }, + data() { return { + largeMode: getApp().globalData.largeMode || false, title: this.translateSys("inventory"), ClsID: '', param: {}, @@ -152,7 +161,6 @@ selectAttrObj: {}, global_attr: [], - refdatastore: [], //寮曠敤鏁版嵁瀛樺偍鍖�/ {attr:'G_PRJ_' + bindattr + '_ID', value:info.id} popupType: "center", check_list: {}, popupParam: {}, @@ -217,7 +225,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) { @@ -239,10 +247,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 || [] @@ -361,21 +369,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 []; } @@ -489,7 +494,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 @@ -616,15 +639,16 @@ }, 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) => { - console.log(result.decodedata); - item.value = result.decodedata; + getApp().onScan(async (result) => { + console.log(result); + item.value = result; var $this = this; let newVal = item.value.trim() if (newVal) { @@ -632,16 +656,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) { @@ -711,26 +733,31 @@ }) }, - 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); } } }, + classAttr_extButton(item) { var onSuffixClickCallbackEvent = item.bind.onSuffixClickCallbackEvent; //鍚庡浘鏍囩偣鍑讳簨浠�@@ -754,14 +781,162 @@ }); return; } - this.$data.popupType = 'right' + this.popupType = 'right' // open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦�uni-popup 缁勪欢涓婄粦瀹�type灞炴� this.$refs.popup.open(this.popupType); this.dataObjRunCustomEvent_Return(onSuffixClickEvent.id, '', onSuffixClickCallbackEvent.id, item); }, + onDetailEnterChange(item, style, pageIndex) { + let newVal = item.value + if (typeof item.value == "string") { + newVal = item.value.trim() + if (!newVal) { + item.oldvalue = newVal; + var attr = item.fieldId; + style.form.model[attr] = newVal; + return + } + } + if (item.oldvalue != newVal) { + item.oldvalue = newVal; + var attr = item.fieldId; + style.form.model[attr] = newVal; + var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�+ if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠�+ this.runDetailChangeEvent(onChangeEvent, style, pageIndex) + } + } + }, + async runDetailChangeEvent(event, style, pageIndex) { + try { + const detail_attr = {} + style.form.items.forEach(item2 => { + if (item2.name == "Layout") { //鍒ゆ柇鏄惁鏄爡鏍忔牸寮�+ item2.setting.colList.forEach(col => { + if (col != null) detail_attr[col + .fieldId] = col.value; + }); + } else + detail_attr[item2.fieldId] = item2.value; + }); + var obj_attr = detail_attr + var input_param = Base64.encode( + JSON.stringify( + Object.keys(detail_attr).map((a) => ({ + attr: a, + value: detail_attr[a] || "", + })) + ) + ); + var dataInfo = { + ed_type: 0, + start_transaction: true, + class_id: style.form.clsId, + class_name: '', + event_id: event.id, + event_name: '', + data_obj_id: '', + obj_attr: obj_attr, + prj_id: '', + ref_cls_id: '', + rel_obj_id: '', + user_login: '', + data_json: '', + compose_info: '', + ext_info: '', + global_attr: '', + input_param: input_param, + }; + 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') + }); + } 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') + }); + + if (result.result_type == 0 && result.action) { + result.action.forEach(item => { + if (item.action_type == "set_dlg_attr") { + // value = {"attr":"xxx", "value":"xxx"} + var data = item.value; + this.setDetailFormValues(data, style, pageIndex) + } else if (item.action_type == 'set_dlg_attr_show') { + var data = item.value; + this.setDetailFormItemVisible(data, style, pageIndex) + } + }); + } else { + + if (result.info) { + uni.showModal({ + title: this.translateSys( + "error") + "6.3", + content: result.info, + showCancel: false, + confirmText: this + .translateSys('close') + }); + } + } + + } + + } catch (ex) { + console.log(ex) + var tip = typeof ex == "string" ? ex : ex.message; + uni.showModal({ + title: this.translateSys("error") + "6.1", + content: this.translate( + 'execute_after_change_event_failed') + this + .translateSys( + "comma") + + this.translate('reason') + this.translateSys("colon") + + tip, + showCancel: false, + confirmText: this.translateSys('close') + }); + } + + }, getDetailAttrList(pageData) { const detailAttrList = []; console.log(pageData) @@ -866,7 +1041,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: '', @@ -882,176 +1057,180 @@ 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 (item.action_type == 'set_dlg_attr_show') { + var data = item.value; + $this.setFormItemVisible(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; @@ -1103,8 +1282,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; //鑷姩婊氬姩鍒版寚瀹氬厓绱�@@ -1120,7 +1350,8 @@ }).exec(); }).exec(); } - }); + break + } } }, @@ -1129,23 +1360,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) { @@ -1156,61 +1437,40 @@ 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) { if (ele.form.objId == rowData.id) { rowData.attrs.forEach(attr => { ele.form.items.forEach(ele2 => { - if (ele2.name != - 'Layout') { - if (ele2.fieldId == - attr - .attr) { - ele2.value = - $this - .operationNumber( - ele2 - .value, - attr - .value, - attr - .operation - ) + if (ele2.name != 'Layout') { + if (ele2.fieldId == attr.attr) { + ele2.value = $this.operationNumber( + ele2.value, + attr.value, + attr.operation + ) } - } else if (ele2.name == - 'Layout') { - ele2.setting - .colList - .forEach( - col => { - if ( - col) { - if (col - .fieldId == - attr - .attr - ) { - col.value = - $this - .operationNumber( - col - .value, - attr - .value, - attr - .operation - ) - } - } - }) + } else if (ele2.name == 'Layout') { + ele2.setting.colList.forEach(col => { + if (col) { + if (col.fieldId == attr.attr) { + col.value = $this + .operationNumber( + col.value, + attr.value, + attr.operation + ) + } + } + }) } }); }); } } else if (rowData.condition) { - const conditions = rowData.condition; + const conditions = rowData.condition let bFindCondition = true; for (let i in conditions) { const condition = conditions[i]; @@ -1244,62 +1504,40 @@ } } if (bFindCondition) { - rowData.attrs.forEach(attr => { ele.form.items.forEach(ele2 => { - if (ele2.name != - 'Layout') { - if (ele2.fieldId == - attr - .attr) { + if (ele2.name != 'Layout') { + if (ele2.fieldId == attr.attr) { ele2.value = - $this - .operationNumber( - ele2 - .value, - attr - .value, - attr - .operation + $this.operationNumber( + ele2.value, + attr.value, + attr.operation ) } - } else if (ele2.name == - 'Layout') { - ele2.setting - .colList - .forEach( - col => { - if ( - col) { - if (col - .fieldId == - attr - .attr - ) { - col.value = - $this - .operationNumber( - col - .value, - attr - .value, - attr - .operation - ) - } - } - }) + } else if (ele2.name == 'Layout') { + ele2.setting.colList.forEach(col => { + if (col) { + if (col.fieldId == attr.attr) { + col.value = + $this.operationNumber( + col.value, attr + .value, attr + .operation) + } + } + }) } }); }); } + } }) }); pageData.DefList = detailStyleDefList $this.$set(this.pageDetail, pageIndex, pageData) - }, //鍔犺浇姝e湪鐮佺洏鍐呭 viewAceionRow(data) { @@ -1321,28 +1559,22 @@ data.row.forEach(row => { detailStyle = JSON.parse(styleStr); detailStyle.form.objId = row.id; - detailStyle.form.htmlobjId = row.id ? row.id.replace(/-/g, '') + detailStyle.form.htmlobjId = row.id ? row.id.replace(/-/g, '').replace('{', '') .replace( - '{', '').replace('}', - '') : 'null'; + '}', '') : 'null'; detailStyle.form.attrs = row.attrs; row.attrs.forEach(attr => { detailStyle.form.items.forEach(ele => { if (ele.name != 'Layout') { - if (ele.fieldId == attr.attr) ele - .value = - attr.value; + 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; + } + }); } }); }); @@ -1370,10 +1602,10 @@ return; } var styleStr = JSON.stringify(pageData.StyleDef); - var detailStyle = JSON.parse(styleStr); - if (detailStyle.form) { - data.content.forEach(cont => { - detailStyle = JSON.parse(styleStr); + + data.content.forEach(cont => { + var detailStyle = JSON.parse(styleStr); + if (detailStyle.form) { detailStyle.SelBut_Checked = data.checkbox ?? true; detailStyle.form.objId = cont.id; @@ -1385,18 +1617,15 @@ cont.attrs.forEach(attr => { detailStyle.form.items.forEach(ele => { if (ele.name != 'Layout') { - if (ele.fieldId == attr.attr) ele - .value = - attr.value; + 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; + attr.attr) + col.value = attr.value; } }); } @@ -1406,42 +1635,25 @@ if (data.clear == false) { var isflag = true; pageData.DefList.forEach((style, index) => { - if (style.form.objId == detailStyle.form - .objId) { + if (style.form.objId == detailStyle.form.objId) { cont.attrs.forEach(attr => { - style.form.items.forEach( - ele => { - if (ele.name != - 'Layout') { - 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; - } - }); - } - }); + style.form.items.forEach(ele => { + if (ele.name != 'Layout') { + 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; + } + }); + } + }); }); isflag = false; } @@ -1452,15 +1664,36 @@ } // $this.setData({pageDetail:pageD}) $this.$set(this.pageDetail, pageIndex, pageData) + } + }); - }); - } $this.$set(this.pageDetail, pageIndex, pageData) + }, + setFormItemVisible(attrs) { + if (!Array.isArray(attrs)) { + return + } + const head_styledef = this.head_styledef + if (!head_styledef.hiddenIds) { + head_styledef.hiddenIds = [] + } + attrs.forEach((attr) => { + let index = head_styledef.hiddenIds.findIndex((id) => id == attr.attr); + if (attr.show) { + if (index > -1) head_styledef.hiddenIds.splice(index, 1); + } else { + if (index == -1) head_styledef.hiddenIds.push(attr.attr); + } + }); + + this.setData({ + head_styledef: head_styledef + }) }, setFormValues(attrs) { const head_styledef = this.head_styledef - if (JSON.stringify(attrs) == '{}') { - return; + if (!Array.isArray(attrs)) { + return } console.log(attrs) attrs.forEach(async (attr, key) => { @@ -1505,6 +1738,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) => { @@ -1512,6 +1752,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; + } } } }); @@ -1525,17 +1772,117 @@ head_styledef: head_styledef }) }, + setDetailFormItemVisible(attrs, style, pageIndex) { + if (pageIndex < 0) + return + if (!Array.isArray(attrs)) { + return + } + const pageData = this.pageDetail[pageIndex] + if (!style.hiddenIds) { + style.hiddenIds = [] + } + attrs.forEach((attr) => { + let index = style.hiddenIds.findIndex((id) => id == attr.attr); + if (attr.show) { + if (index > -1) style.hiddenIds.splice(index, 1); + } else { + if (index == -1) style.hiddenIds.push(attr.attr); + } + }); + this.$set(this.pageDetail, pageIndex, pageData) + }, + setDetailFormValues(attrs, style, pageIndex) { + if (pageIndex < 0) + return + if (!Array.isArray(attrs)) { + return + } + + const pageData = this.pageDetail[pageIndex] + attrs.forEach(async (attr, key) => { + if (attr.choice_list) { + var dictItemList = []; + attr.choice_list.forEach(async (val, index) => { + dictItemList.push({ + text: val, + value: val + }); + }); + + style.form.items.forEach(async (attr_item, index) => { + if (attr_item.name != "Layout") { + if (attr_item.fieldId == attr.attr) { + if (attr_item.useDict) { + attr_item.dict = dictItemList; + } else { + attr_item.selections = dictItemList; + } + } + } else if (attr_item.name == "Layout") { + attr_item.setting.colList.forEach((col) => { + if (col) { + if (col.fieldId == attr.attr) { + if (col.useDict) { + col.dict = dictItemList; + } else { + col.selections = dictItemList; + } + } + } + }); + } + }); + } + if (!style.form.model[attr.attr]) { + style.form.model[attr.attr] = attr.value; + } + style.form.items.forEach(async (ele) => { + if (ele.name != "Layout") { + 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) => { + if (col) { + 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; + } + } + } + }); + } + + }) + //鍒ゆ柇琛ㄥ崟閲屾槸鍚︽湁杩斿洖瀛楁锛屾病鏈夊氨瑁呰浇鍒癿odel閲岋紝鐐瑰嚮纭畾鎻愪氦鐨勬椂鍊欏甫涓婅繖浜涙暟鎹�+ }) + this.$set(this.pageDetail, pageIndex, pageData) + }, + onClickItem(e) { //閫夋嫨椤电 // console.log(e); this.current = e.currentIndex }, - onDetail1EnterChange(item) { //鐮佺洏涓牱寮忓洖杞︿簨浠�- console.log(item); - }, + 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] = @@ -1628,15 +1975,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) { //寮规鍙栨秷 @@ -1644,7 +1991,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++) { @@ -1658,7 +2005,7 @@ }); } } - if (!$this.$data.popupParam) { + if (!$this.popupParam) { uni.showModal({ title: this.translateSys("tip"), content: "popupParam涓虹┖锛�, @@ -1676,7 +2023,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", @@ -1684,12 +2031,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(); }, @@ -1697,18 +2044,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 = { //鎵�睘鐨勮〃鍗曟帶浠�@@ -1724,7 +2071,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 = {}; @@ -1800,45 +2147,11 @@ $this.setFormValues(result) } 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, - index) => { - //鍒ゆ柇鏄惁鏄爡鏍艰〃鍗�- if (ele.name != 'Layout') { - 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; - } - } - }); - } - }); - }); - 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.setFormItemVisible(result) + + // 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"), @@ -1858,62 +2171,7 @@ console.log($this.head_styledef); if (data.result) { var result = data.result; - for (var i = 0; i < result.length; i++) { - for (var c = 0; c < $this.$data.head_styledef.form.items - .length; c++) { - var attr = $this.$data.head_styledef.form.items[c]; - //鍒ゆ柇琛ㄥ崟閲屾槸鍚︽湁杩斿洖瀛楁锛屾病鏈夊氨瑁呰浇鍒癿odel閲岋紝鐐瑰嚮纭畾鎻愪氦鐨勬椂鍊欏甫涓婅繖浜涙暟鎹�- if ($this.head_styledef.form.model[result[i].attr] == - undefined) { - $this.head_styledef.form.model[result[i].attr] = - result[i] - .value; - } - //鍒ゆ柇鏄惁鏄爡鏍艰〃鍗�- if (attr.name != 'Layout') { - if (attr.fieldId == result[i].attr) { - attr.value = ''; - attr.oldvalue = ''; - attr.value = result[i].value; - attr.oldvalue = result[i].value; - $this.head_styledef.form.model[attr.fieldId] = - result[i] - .value; - } - } else if (attr.name == 'Layout') { - attr.setting.colList.forEach(col => { - if (col) { - if (col.fieldId == result[i].attr) { - col.value = ''; - col.oldvalue = ''; - col.value = result[i].value; - col.oldvalue = result[i].value; - $this.head_styledef.form.model[col - .fieldId] = - result[i].value; - } - } - }); - } - } - - var length = 0; - if (!$this.$data.refdatastore.filter(function(s) { - return result[i].attr == s.attr - }).length) { - length = 1; - $this.$data.refdatastore.push(result[i]); - } - if (length == 0) { - for (var j = 0; j < $this.$data.refdatastore.length; j++) { - if ($this.$data.refdatastore[j].attr == result[i] - .attr) { - $this.$data.refdatastore[j].value = result[i] - .value; - } - } - } - } + $this.setFormValues(result) } } @@ -1950,18 +2208,6 @@ attr: a, value: obj_attr[a] || "", })); - if ($this.refdatastore.length > 0) { - for (var i = 0; i < $this.refdatastore.length; i++) { - if (!req.filter(function(s) { - return $this.refdatastore[i].attr == s.name - }).length) { - req.push({ - 'attr': $this.refdatastore[i].attr, - 'value': $this.refdatastore[i].value - }); - } - } - } var extinfo = enviroment; extinfo.edit_dlg = { @@ -2092,7 +2338,7 @@ rclsid: '', robjid: '', userlogin: '', - clsid: $this.$data.param + clsid: $this.param .DataCls .id, objid: "", @@ -2181,8 +2427,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(); @@ -2294,7 +2540,13 @@ }) } else { - this.onButtonClicked(btn, pageData, -1); + this.handleButtonClick((done) => { + this.onButtonClicked(btn, pageData, -1); + setTimeout(() => { + done(); // 閲嶇疆鐘舵� + }, 1000); + }); + } }, onRowBtnClick(btn, pageData, index) { @@ -2315,7 +2567,13 @@ }) } else { - this.onButtonClicked(btn, pageData, index); + this.handleButtonClick((done) => { + this.onButtonClicked(btn, pageData, index); + setTimeout(() => { + done(); // 閲嶇疆鐘舵� + }, 1000); + }); + } }, onButtonClicked(btn, pageData, index) { @@ -2341,7 +2599,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") { @@ -2410,7 +2669,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 } @@ -2418,7 +2678,6 @@ } }) $this.$set($this.pageDetail, pageIndex, pageData) - }, } @@ -2461,7 +2720,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 } @@ -2469,6 +2729,7 @@ } }) $this.$set($this.pageDetail, pageIndex, pageData) + console.log($this.pageDetail) }, } @@ -2480,33 +2741,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] = @@ -2584,7 +2844,6 @@ }); }); if (jsonlist.length == 0) { - pageData.okLoading = false uni.showModal({ title: this.translateSys("tip"), content: this.translate("tip_no_select_data"), @@ -2614,7 +2873,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: '', @@ -2630,8 +2889,6 @@ global_attr: '', input_param: input_param, }; - - // console.log(dataInfo); runCustomEvent(dataInfo).then(result => { console.log(result); if (result.ret != 0) { @@ -2678,57 +2935,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); } } }); @@ -2738,45 +3020,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 == @@ -2785,11 +3092,15 @@ var data = item.value; $this.setFormValues(data) } + else if (item.action_type == 'set_dlg_attr_show') { + var data = item.value; + $this.setFormItemVisible(data) + } }); } 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); //鎵ц纭畾鍚庝簨浠� } } @@ -2806,9 +3117,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", @@ -2862,38 +3172,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; @@ -2930,6 +3208,12 @@ flex-direction: column !important; } + .tab-content { + display: flex; + width: 100%; + height: 100%; + flex-direction: column !important; + } .view-bottom { display: flex; @@ -2945,7 +3229,6 @@ .btn-left { padding: 20rpx; line-height: 1.5; - font-size: 38rpx; font-weight: bold; float: left; display: inline-block; @@ -2955,7 +3238,6 @@ .btn-one { padding: 20rpx; line-height: 1.5; - font-size: 38rpx; font-weight: bold; float: left; display: inline-block; @@ -2966,7 +3248,6 @@ .btn-right { padding: 20rpx; line-height: 1.5; - font-size: 38rpx; font-weight: bold; float: right; display: inline-block; @@ -3036,11 +3317,6 @@ padding: 0px; margin: 0; - .dv-panel-form-item { - margin: 0; - padding: 0px; - } - .uni-forms-item { padding-bottom: 5rpx; margin-bottom: 0; @@ -3049,40 +3325,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; - } - - .form-item-span { - vertical-align: text-top; - color: #2d8cf0; - white-space: normal; - word-break: break-all; - width: 100%; - } } - - } .dv-panel-button { width: 100%; text-align: left; - min-height: 30rpx; + min-height: 16px; padding-bottom: 10rpx; checkbox { @@ -3094,7 +3344,7 @@ text-align: left; line-height: 1.5; border: none; - font-size: 30rpx; + margin-right: 10rpx; display: inline-block; float: right; @@ -3154,7 +3404,6 @@ background: #94D5EF; display: block; width: 100%; - font-size: 36rpx; line-height: 80rpx; font-weight: 500; } @@ -3173,8 +3422,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; @@ -3196,14 +3443,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 { @@ -3236,7 +3475,6 @@ } .popup-header { - font-size: 42rpx; font-weight: bold; margin: 20rpx 20rpx 0px 20rpx; } @@ -3261,7 +3499,6 @@ background: #27A6E1; border: none; color: #fff; - font-size: 38rpx; font-weight: bold; /* float: left; */ display: inline-block; @@ -3277,7 +3514,6 @@ // color: #fff; background: #fff; color: #000; - font-size: 38rpx; font-weight: bold; /* float: right; */ display: inline-block; @@ -3285,4 +3521,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