From 030e7b6428e4f01ef33d040df274f63700317166 Mon Sep 17 00:00:00 2001 From: cuiqian2004 <cuiqian2004@163.com> Date: 星期五, 27 九月 2024 17:34:48 +0800 Subject: [PATCH] test --- pages/modal/5601.vue | 1967 ++++++++++++++++++++++++++++++----------------------------- 1 files changed, 1,004 insertions(+), 963 deletions(-) diff --git a/pages/modal/5601.vue b/pages/modal/5601.vue index 114018f..ead98a1 100644 --- a/pages/modal/5601.vue +++ b/pages/modal/5601.vue @@ -65,9 +65,10 @@ src="../../images/mobox_log_200x40.png"> </image> <checkbox-group @change="checkboxChange"> - <div class="dv-panel" v-for="(style,ii) in pageData.DefList" @tap="onPanelClick(ii)" + <div class="dv-panel" v-for="(style,ii) in pageData.DefList" + @tap="onPanelClick(ii,style.form.htmlobjId)" :id="'dvpanel'+style.form.htmlobjId" - :class="style.form.htmlobjId==active_id?'bk-active':activelist[ii].active==true?'bk-active':''"> + :class="style.form.htmlobjId==active_id?'bk-active':''"> <div class="dv-panel-input"> <div class="dv-input" v-for="(item,index) in style.form.items"> <!-- 鏅�甯冨眬 --> @@ -116,8 +117,9 @@ <view class="view-bottom" v-if="pageData.OK_Button==true"> <button type="default" @tap="cancel" class="btn_cancel">{{translateSys('cancel')}}</button> - <button type="primary" @tap="ok(pageData)" - class="btn_add">{{translateSys('ok')}}</button> + <button type="primary" @tap="ok(pageData)" class="btn_add" + :class="pageData.okLoading?'btn_disabled':''" + :disabled="pageData.okLoading? true:false">{{translateSys('ok')}}</button> </view> </view> </swiper-item> @@ -139,6 +141,14 @@ <script> import Base64 from '../../components/js-base64/base64.js' + import { + dictGetInfo + } from "@/api/mobox.js" + import { + getUIStyleInfo, + runCustomEvent, + } from "@/api/data.js" + export default { name: "PageModal5601", modules: { @@ -165,7 +175,6 @@ After_Del_Event: {}, active_id: '', - activelist: [], selectAttrObj: {}, }; }, @@ -214,9 +223,11 @@ keys.forEach(function(key2, index) { if (index + 1 == keys.length) { that.$set(data, key2, val); + console.log("$set", key2, val) } else { if (!data[key2]) { that.$set(data, key2, {}); + console.log("$set", key2, {}) } } data = data[key2]; @@ -260,8 +271,9 @@ //鍔犺浇Tab椤电 const pageList = this.param.Sub_Page || [] for (let i in pageList) { - page.DefList = []; + const page = pageList[i] + page.DefList = []; page.StyleDef = await this.Detail_UIstyleGetInfo( this.ClsID, page.UI_Style.ID @@ -294,25 +306,24 @@ } }, async Head_UIStyleGetInfo(class_id, style_id) { //鑾峰彇鑷畾涔夎〃鍗曟牱寮�- var $this = this; - var dataInfo = { - class_id: class_id, - ui_style_id: style_id, - }; - this.$store.dispatch('UIStyleGetInfo', dataInfo).then(async (ret) => { - // console.log(ret); - if (ret.err_code == 0) { - var styledef = ""; - if (ret.result.style_def) { - //mobox2鐨剆tyle_def鏄痡son瀛楃涓�- styledef = ret.result.style_def.replace(/\\/g, ""); - //mobox3鐨剆tyle_def鏄痓ase64瀛楃涓�- if (!ret.result.style_def.includes('"')) styledef = Base64.decode( - ret.result - .style_def); - } - const styledefHead = styledef ? JSON.parse(styledef) : {}; - + try { + var $this = this; + var dataInfo = { + class_id: class_id, + ui_style_id: style_id, + }; + const result = await getUIStyleInfo(dataInfo) + var styledef = ""; + if (result.style_def) { + //mobox2鐨剆tyle_def鏄痡son瀛楃涓�+ styledef = result.style_def.replace(/\\/g, ""); + //mobox3鐨剆tyle_def鏄痓ase64瀛楃涓�+ if (!result.style_def.includes('"')) styledef = Base64.decode( + result + .style_def); + } + const styledefHead = styledef ? JSON.parse(styledef) : {}; + if (styledefHead?.form?.items) { for (let i in styledefHead.form.items) { const ele = styledefHead.form.items[i] if (ele.name != "Layout") { @@ -353,52 +364,48 @@ } } } - this.setData({ - head_styledef: styledefHead - }) - } else { - uni.showModal({ - title: this.translateSys("error") + "1", - content: ret.err_msg, - showCancel: false, - confirmText: this.translateSys("cancel") - }); + } - }).catch(ex => { + this.setData({ + head_styledef: styledefHead + }) + } catch (ex) { // console.log(ex); uni.showModal({ - title: this.translateSys("error") + "1.1", + title: this.translateSys("error") + "1", content: ex.errMsg, showCancel: false, confirmText: this.translateSys("cancel") }); - }); + return {} + } + }, async Detail_UIstyleGetInfo(class_id, style_id) { //鑾峰彇鑷畾涔夎〃鍗曟牱寮�- var $this = this; - var dataInfo = { - class_id: class_id, - ui_style_id: style_id, - }; - this.$store.dispatch('UIStyleGetInfo', dataInfo).then(async (ret) => { - // console.log(ret); - if (ret.err_code == 0) { - var styledef = ""; - if (ret.result.style_def) { - //mobox2鐨剆tyle_def鏄痡son瀛楃涓�- styledef = ret.result.style_def.replace(/\\/g, ""); - //mobox3鐨剆tyle_def鏄痓ase64瀛楃涓�- if (!ret.result.style_def.includes('"')) styledef = Base64 - .decode(ret.result - .style_def); - } + try { + var $this = this; + var dataInfo = { + class_id: class_id, + ui_style_id: style_id, + }; + const result = await getUIStyleInfo(dataInfo) + var styledef = ""; + if (result.style_def) { + //mobox2鐨剆tyle_def鏄痡son瀛楃涓�+ styledef = result.style_def.replace(/\\/g, ""); + //mobox3鐨剆tyle_def鏄痓ase64瀛楃涓�+ if (!result.style_def.includes('"')) styledef = Base64 + .decode(result + .style_def); + } - const detailstyledef = ret.result.style_def ? JSON.parse( - styledef) : {}; - detailstyledef.SelBut_Checked = true; - for (let index in styledefHead.form.items) { - const ele = styledefHead.form.items[index] + const detailstyledef = result.style_def ? JSON.parse( + styledef) : {}; + detailstyledef.SelBut_Checked = true; + if (detailstyledef?.form?.items) { + for (let index in detailstyledef.form.items) { + const ele = detailstyledef.form.items[index] if (ele.name != "Layout") { if (ele.useDict == true) { //鍒ゆ柇useDict鏄惁浣跨敤瀛楀吀 @@ -418,27 +425,21 @@ } } } - console.log("Detail_UIstyleGetInfo", detailstyledef); - return detailstyledef - } else { - return {} - uni.showModal({ - title: this.translateSys("error") + "2", - content: ret.err_msg, - showCancel: false, - confirmText: this.translateSys("cancel") - }); + } - }).catch(ex => { + console.log("Detail_UIstyleGetInfo", detailstyledef); + return detailstyledef + } catch (ex) { // console.log(ex); uni.showModal({ - title: this.translateSys("error") + "2.1", + title: this.translateSys("error") + "2", content: ex.errMsg, showCancel: false, confirmText: this.translateSys("cancel") }); return {} - }); + } + }, @@ -450,14 +451,14 @@ dict_name: dict.name }; try { - const res = await this.getDictInfo(dataInfo) + const result = await dictGetInfo(dataInfo) var list = []; var itemName = ''; - res.result.dict_item_list.forEach((item) => { + (result.dict_item_list || []).forEach((item) => { if (item.is_default == '1') - itemName = item.name; + itemName = item.name list.push({ - text: item.value, + text: item.value ? item.value : item.name, value: item.name, }); }); @@ -467,9 +468,6 @@ formModel[formItem.fieldId] = itemName; } formItem.dict = list; - - // $this.head_styledef.form.items[index].dictitem=success.result; - // this.$store.commit("classAttrList", $this.$data.classAttrList); } catch (ex) { // console.log(ex); uni.showModal({ @@ -481,36 +479,6 @@ } }, - getDictInfo(info) { //Mobox3寰楀埌寰楀埌瀛楀吀淇℃伅瀛楀吀椤瑰垪琛�- const loginInfo = this.$store.getters.loginid - const mobxoSApi = this.$store.getters.getMobxoSApi - return new Promise((resolve, reject) => { - uni.request({ - url: mobxoSApi + 'api/dict/GetInfo2?sessionid=' + loginInfo.result.session_id, - data: info, - method: 'POST', - dataType: "json", - success: (_res) => { - // console.log(_res); - const ret = _res.data - if (ret.err_code == 0) { - resolve(ret); - } else { - reject({ - "errMsg": ret.err_msg - }); - } - }, - fail: (err) => { - // console.log(err); - reject(err); - } - }) - - }) - - }, - onClick(item) { this.focusFieldId = item.fieldId }, @@ -522,7 +490,7 @@ console.log(result.decodedata); item.value = result.decodedata; var $this = this; - if (item.oldvalue != item.value) { + if (item.oldvalue != item.value && item.value.trim() != "") { item.oldvalue = item.value; var attr = item.fieldId; this.head_styledef.form.model[attr] = item.value; @@ -610,7 +578,7 @@ onEnterChange(item) { //鍥炶溅锛岀偣鍑绘寜閽紝鍙栨秷鑺傜偣浜嬩欢 console.log(item); - if (item.oldvalue != item.value) { + if (item.oldvalue != item.value && item.value.trim() != "") { item.oldvalue = item.value; var attr = item.fieldId; this.head_styledef.form.model[attr] = item.value; @@ -628,47 +596,48 @@ }, getDetailAttrList(pageData) { const detailAttrList = []; - pageData.DefList.forEach(style => { - var detail_attr = {}; - style.form.items.forEach(item => { - if (item.name == "Layout") { //鍒ゆ柇鏄惁鏄爡鏍忔牸寮�- item.setting.colList.forEach(cols => { - if (cols != null) detail_attr[cols - .fieldId] = cols.value; - }); - } else - detail_attr[item.fieldId] = item.value; - }); - - detail_attr['id'] = style.form.objId; - if (pageData.Select_Button == true) { //鍒ゆ柇閫夋嫨鎸夐挳鏄惁涓簍rue - if (style.SelBut_Checked == true) - detailAttrList.push(detail_attr); - } else - detailAttrList.push(detail_attr); - }); - // console.log(detailAttrList); - //鑾峰彇姝e湪鐮佺洏閲屾病鏈夋樉绀虹殑瀛楁 - pageData.DefList.forEach(style => { - style.form.attrs.forEach(attr => { - for (var key in detailAttrList) { - if (style.form.objId == detailAttrList[key][ - 'id' - ]) { - var keys = Object.keys(detailAttrList[key]); - var isflag = true; - keys.forEach((ele) => { - if (ele == attr.attr) isflag = - false; + if (pageData.DefList) { + pageData.DefList.forEach(style => { + var detail_attr = {}; + style.form.items.forEach(item => { + if (item.name == "Layout") { //鍒ゆ柇鏄惁鏄爡鏍忔牸寮�+ item.setting.colList.forEach(cols => { + if (cols != null) detail_attr[cols + .fieldId] = cols.value; }); - if (isflag) { - detailAttrList[attr.attr] = attr.value; + } else + detail_attr[item.fieldId] = item.value; + }); + + detail_attr['id'] = style.form.objId; + if (pageData.Select_Button == true) { //鍒ゆ柇閫夋嫨鎸夐挳鏄惁涓簍rue + if (style.SelBut_Checked == true) + detailAttrList.push(detail_attr); + } else + detailAttrList.push(detail_attr); + }); + // console.log(detailAttrList); + //鑾峰彇姝e湪鐮佺洏閲屾病鏈夋樉绀虹殑瀛楁 + pageData.DefList.forEach(style => { + style.form.attrs.forEach(attr => { + for (var key in detailAttrList) { + if (style.form.objId == detailAttrList[key][ + 'id' + ]) { + var keys = Object.keys(detailAttrList[key]); + var isflag = true; + keys.forEach((ele) => { + if (ele == attr.attr) isflag = + false; + }); + if (isflag) { + detailAttrList[attr.attr] = attr.value; + } } } - } + }); }); - }); - + } const jsonlist = []; detailAttrList.forEach(attr => { jsonlist.push({ @@ -711,6 +680,7 @@ var $this = this; const jsonList = [] this.pageDetail.forEach((page) => { + jsonList.push({ page_name: page.Name, item_list: $this.getDetailAttrList(page @@ -718,6 +688,7 @@ .Select_Button), ext_data: page.ExtData || {} }) + }) const data_json = Base64.encode( JSON.stringify(jsonList) @@ -741,462 +712,336 @@ global_attr: '', input_param: input_param, }; - this.$store.dispatch('runCustomEvent', dataInfo).then(ret => { - // console.log(ret); - if (ret.err_code == 0) { - var result = ret.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( - "cancel") - }); - } else uni.showModal({ - title: this.translateSys('tip'), - content: tip + ',' + this - .translateSys('tip') + ':' + - result - .ret, - showCancel: false, - confirmText: this.translateSys( - "cancel") - }); - 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'), + 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( "cancel") }); - - 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( - "sys.quotation_mark_right" - ) + - this - .translate( - "are_you_sure_clear_last" - ), - success: function( - res - ) { - if (res - .confirm - ) { - if ( - pageData) - pageData - .DefList = []; - $this - .viewAceionContent( - value - ); - } else if ( - res - .cancel - ) { - 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; - const pageData = $this - .pageDetail.find(( - page) => { - return value - .page_name == - page.Name; - }); - if (pageData?.DefList) { - pageData.DefList - .forEach(ele => { - $this - .activelist[ - index - ] - .active = - false; - if (ele - .form - .objId == - value - .row.id - ) { - ele.SelBut_Checked = - true; - $this - .active_id = - ele - .form - .htmlobjId; - //鑷姩婊氬姩鍒版寚瀹氬厓绱�- uni.createSelectorQuery() - .select( - "#tabpanel" + - value - .page_name - ) //瀵瑰簲澶栧眰鑺傜偣 - .boundingClientRect( - ( - container - ) => { - uni.createSelectorQuery() - .select( - "#dvpanel" + - ele - .form - .htmlobjId - ) //鐩爣鑺傜偣 - .boundingClientRect( - ( - target - ) => { - uni.pageScrollTo({ - scrollTop: target - .top - - container - .top, //婊氬姩鍒板疄闄呰窛绂绘槸鍏冪礌璺濈椤堕儴鐨勮窛绂诲噺鍘绘渶澶栧眰鐩掑瓙鐨勬粴鍔ㄨ窛绂�- }); - } - ) - .exec(); - } - ) - .exec(); - } - }); - } - } else if (item.action_type == - "remove_subtable_page_row" - ) { //娓呴櫎闈㈡澘涓寚瀹歩d鐨勬暟鎹�- var value = item.value; - const pageData = $this - .pageDetail.find(( - page) => { - return value - .page_name == - page.Name; - }); - if (pageData - ?.DefList - ) //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄緟鍒嗘嫞//娓呴櫎闈㈡澘涓寚瀹歩d鐨勬暟鎹�- { - value.row.forEach( - row => { - pageData - .DefList - .forEach( - (ele, - index - ) => { - if (ele - .form - .objId == - row - .id - ) { - pageData - .DefList - .splice( - index, - 1 - ); - } - }); - }); - } - - - - } 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 pageData = $this - .pageDetail.find(( - page) => { - return value - .page_name == - page.Name; - }); - if (pageData) { - pageData.DefList = [] - pageData.ExtData = {} - } - - } 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.$data.head_styledef - .form.items.forEach( - async ( - ele, index - ) => { - if (ele - .name != - "Layout" - ) { - data.forEach( - async (ele2, - index - ) => { - if (ele - .fieldId == - ele2 - .attr - ) { - if (ele.name == - 'Select' && - ele2 - .choice_list - ) { - const - dictItemList = []; - const - choiceList = - ele2 - .choice_list || - []; - for (let d in - choiceList) { - const - val = - choiceList[ - d - ]; - dictItemList - .push({ - text: val, - value: val - }); - } - ele.dict = - dictItemList; - } - - ele.value = - ele2 - .value; - } - }); - } else { - ele.setting - .colList - .forEach( - async ( - col - ) => { - if ( - col) { - data.forEach( - async (ele2, - index - ) => { - if (col - .fieldId == - ele2 - .attr - ) { - if (col - .name == - 'Select' && - ele2 - .choice_list - ) { - const - dictItemList = []; - const - choiceList = - ele2 - .choice_list || - []; - for ( - let d in - choiceList - ) { - const - val = - choiceList[ - d - ]; - dictItemList - .push({ - text: val, - value: val - }); - } - col.dict = - dictItemList; - } - - col.value = - ele2 - .value; - } - }); - - } - - }) - } - }) - } - - }); - } else { - - if (result.info) { - uni.showModal({ - title: this.translateSys( - "error") + "4.3", - content: result.info, - showCancel: false, - confirmText: this - .translateSys("cancel") - }); - } - } - - } - } else { - uni.showModal({ - title: this.translateSys("error") + - "4", - content: ret.err_msg, + } else uni.showModal({ + title: this.translateSys('tip'), + content: tip + ',' + this + .translateSys('tip') + ':' + + result + .ret, showCancel: false, confirmText: this.translateSys( "cancel") }); + 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( + "cancel") + }); + + 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" + ), + success: function( + res + ) { + if (res + .confirm + ) { + if ( + pageData) + pageData + .DefList = []; + $this + .viewAceionContent( + value + ); + } else if ( + res + .cancel + ) { + 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; + const pageData = $this + .pageDetail.find(( + page) => { + return value + .page_name == + page.Name; + }); + if (pageData?.DefList) { + pageData.DefList + .forEach(ele => { + + if (ele + .form + .objId == + value + .row.id + ) { + ele.SelBut_Checked = + true; + $this + .active_id = + ele + .form + .htmlobjId; + //鑷姩婊氬姩鍒版寚瀹氬厓绱�+ uni.createSelectorQuery() + .select( + "#tabpanel" + + value + .page_name + ) //瀵瑰簲澶栧眰鑺傜偣 + .boundingClientRect( + ( + container + ) => { + uni.createSelectorQuery() + .select( + "#dvpanel" + + ele + .form + .htmlobjId + ) //鐩爣鑺傜偣 + .boundingClientRect( + ( + target + ) => { + uni.pageScrollTo({ + scrollTop: target + .top - + container + .top, //婊氬姩鍒板疄闄呰窛绂绘槸鍏冪礌璺濈椤堕儴鐨勮窛绂诲噺鍘绘渶澶栧眰鐩掑瓙鐨勬粴鍔ㄨ窛绂�+ }); + } + ) + .exec(); + } + ) + .exec(); + } + }); + } + } else if (item.action_type == + "remove_subtable_page_row" + ) { //娓呴櫎闈㈡澘涓寚瀹歩d鐨勬暟鎹�+ var value = item.value; + const pageData = $this + .pageDetail.find(( + page) => { + return value + .page_name == + page.Name; + }); + if (pageData + ?.DefList + ) //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄緟鍒嗘嫞//娓呴櫎闈㈡澘涓寚瀹歩d鐨勬暟鎹�+ { + value.row.forEach( + row => { + pageData + .DefList + .forEach( + (ele, + index + ) => { + if (ele + .form + .objId == + row + .id + ) { + pageData + .DefList + .splice( + index, + 1 + ); + } + }); + }); + } + + + + } 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 pageData = $this + .pageDetail.find(( + page) => { + return value + .page_name == + page.Name; + }); + if (pageData) { + pageData.DefList = [] + pageData.ExtData = {} + } + + } 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("cancel") + }); + } + } + } + }).catch(ex => { // console.log(ex); + let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex uni.showModal({ title: this.translateSys("error") + "4.1", - content: ex.errMsg, + content: tip, showCancel: false, confirmText: this.translateSys("cancel") }); @@ -1241,11 +1086,13 @@ //鏇存柊鍒嗛〉绛句腑鐨勫垪琛ㄩ」鍐呭 viewActionSetRow(value) { const $this = this - const pageData = $this.pageDetail.find((page) => { + const pageIndex = $this.pageDetail.findIndex(( + page, index2, arr) => { return value.page_name == page.Name; - }); - if (!pageData) + }) + if (pageIndex < 0) return + const pageData = $this.pageDetail[pageIndex] var detailStyleDefList = pageData.DefList || [] detailStyleDefList.forEach(ele => { value.row.forEach((rowData) => { @@ -1301,6 +1148,7 @@ }) }); pageData.DefList = detailStyleDefList + $this.$set(this.pageDetail, pageIndex, pageData) }, //鍔犺浇姝e湪鐮佺洏鍐呭 @@ -1309,146 +1157,259 @@ if (JSON.stringify(data.row) == '{}') { return; } - const pageData = this.pageDetail.find((page) => { - return value.page_name == page.Name; - }); - if (!pageData) + const pageIndex = this.pageDetail.findIndex(( + page, index2, arr) => { + return data.page_name == page.Name; + }) + if (pageIndex < 0) return - data.row.forEach(row => { - var styleStr = JSON.stringify(pageData.StyleDef); + const pageData = this.pageDetail[pageIndex] + var styleStr = JSON.stringify(pageData.StyleDef); - var detailStyle = JSON.parse(styleStr); - detailStyle.form.objId = row.id; - 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 => { - 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; - } - }); - } + var detailStyle = JSON.parse(styleStr); + if (detailStyle.form) { + 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.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; + } else if (ele.name == 'Layout') { + ele.setting.colList.forEach( + col => { + if (col) { + if (col.fieldId == + attr + .attr) col + .value = attr + .value; + } + }); + } + }); }); + + pageData.DefList.push(detailStyle); + this.$set(this.pageDetail, pageIndex, pageData) + }); - - pageData.DefList.push(detailStyle); - - }); + } }, //鍔犺浇宸茬爜鐩樺唴瀹� viewAceionContent(data) { var $this = this; - const pageData = $this.pageDetail.find((page) => { - return value.page_name == page.Name; - }); - if (!pageData) + const pageIndex = $this.pageDetail.findIndex(( + page, index2, arr) => { + return data.page_name == page.Name; + }) + if (pageIndex < 0) return + const pageData = $this.pageDetail[pageIndex] pageData.ExtData = data.ext_data || {} if (JSON.stringify(data.content) == '{}') { return; } - data.content.forEach(cont => { - var styleStr = JSON.stringify(pageData.StyleDef); + var styleStr = JSON.stringify(pageData.StyleDef); + var detailStyle = JSON.parse(styleStr); + if (detailStyle.form) { + data.content.forEach(cont => { + detailStyle = JSON.parse(styleStr); + detailStyle.SelBut_Checked = data.checkbox ?? true; - var detailStyle = JSON.parse(styleStr); - detailStyle.SelBut_Checked = data.checkbox ?? true; - detailStyle.form.objId = cont.id; - detailStyle.form.htmlobjId = cont.id ? cont.id.replace(/-/g, - '') - .replace('{', '').replace('}', - '') : 'null'; - detailStyle.form.attrs = cont.attrs; - cont.attrs.forEach(attr => { - detailStyle.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; - } - }); - } - }); - }); - //濡傛灉 clear = false 鍒欎笉闇�娓呴櫎锛屾牴鎹甶d鍒ゆ柇鏄惁瀛樺湪锛屼笉瀛樺湪鎻掑叆鍒伴〉闈紝濡傛灉瀛樺湪鐢ㄦ柊鐨勫睘鎬ц鐩�- if (data.clear == false) { - var isflag = true; - pageData.DefList.forEach((style, index) => { - 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; - } - }); + detailStyle.form.objId = cont.id; + detailStyle.form.htmlobjId = cont.id ? cont.id.replace(/-/g, + '') + .replace('{', '').replace('}', + '') : 'null'; + detailStyle.form.attrs = cont.attrs; + cont.attrs.forEach(attr => { + detailStyle.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; - } + } + }); }); - if (isflag) pageData.DefList.push(detailStyle); //寰呭垎鎷�- } else { - pageData.DefList.push(detailStyle); //寰呭垎鎷�- } - $this.activelist.push({ - active: false - }); + //濡傛灉 clear = false 鍒欎笉闇�娓呴櫎锛屾牴鎹甶d鍒ゆ柇鏄惁瀛樺湪锛屼笉瀛樺湪鎻掑叆鍒伴〉闈紝濡傛灉瀛樺湪鐢ㄦ柊鐨勫睘鎬ц鐩�+ if (data.clear == false) { + var isflag = true; + pageData.DefList.forEach((style, index) => { + 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; + } + }); + } + }); + }); + isflag = false; + } + }); + if (isflag) pageData.DefList.push(detailStyle); //寰呭垎鎷�+ } else { + pageData.DefList.push(detailStyle); //寰呭垎鎷�+ } + // $this.setData({pageDetail:pageD}) + $this.$set(this.pageDetail, pageIndex, pageData) - }); + }); + } }, + setFormValues(data) { + const head_styledef = this.head_styledef + if (JSON.stringify(data) == '{}') { + return; + } + head_styledef.form.items.forEach(async (ele, index) => { + if (ele.name != "Layout") { + let curIndex = data.findIndex((attr, index2, arr) => { + return attr.attr == ele.fieldId; + }) + if (curIndex > -1) { + const attr = data[curIndex] + if (ele.name == + 'Select' && + attr + .choice_list + ) { + const + dictItemList = []; + const + choiceList = + attr + .choice_list || []; + for (let d in + choiceList) { + const + val = + choiceList[ + d + ]; + dictItemList + .push({ + text: val, + value: val + }); + } + ele.dict = + dictItemList; + } + + ele.value = + attr + .value; + } + } else { + ele.setting + .colList + .forEach( + async ( + col + ) => { + if ( + col) { + let curIndex = data.findIndex(( + attr, index2, arr) => { + return attr.attr == col.fieldId; + }) + if (curIndex > -1) { + const attr = data[curIndex] + if (col.name == + 'Select' && + attr + .choice_list + ) { + const + dictItemList = []; + const + choiceList = + attr + .choice_list || []; + for (let d in + choiceList) { + const + val = + choiceList[ + d + ]; + dictItemList + .push({ + text: val, + value: val + }); + } + col.dict = + dictItemList; + } + + col.value = + attr + .value; + } + } + + }) + + } + }) + + this.setData({ + head_styledef: head_styledef + }) + }, + onClickItem(e) { //閫夋嫨椤电 // console.log(e); this.current = e.currentIndex @@ -1560,14 +1521,9 @@ $this.runCustomEvent(pageData, event, input_param, list); }, - onPanelClick(value) { + onPanelClick(value, id) { // console.log(value); - this.active_id = ''; - this.activelist.forEach(ele => { - ele.active = false; - }); - this.activelist[value].active = true; - // console.log(this.$data.activelist); + this.active_id = id; }, //纭畾 ok(pageData) { @@ -1586,19 +1542,20 @@ uni.showModal({ title: this.translateSys("tip"), content: this.translate( - "page.tip_no_data_first") + + "tip_no_data_first") + this.translateSys( "quotation_mark_left") + pageData.Name + this .translateSys( - "sys.quotation_mark_right") + + "quotation_mark_right") + this.translate( - "page.tip_no_data_last"), + "tip_no_data_last"), showCancel: false, confirmText: this.translateSys("cancel") }); return false; } //鑾峰彇琛ㄥご灞炴� + pageData.okLoading = true var head_attr = {}; this.$data.head_styledef.form.items.forEach(item => { if (item.name == "Layout") { //鍒ゆ柇鏄惁鏄爡鏍忔牸寮�@@ -1679,6 +1636,7 @@ }); }); if (jsonlist.length == 0) { + pageData.okLoading = false uni.showModal({ title: this.translateSys("tip"), content: this.translate("tip_no_select_data"), @@ -1726,252 +1684,331 @@ }; // console.log(dataInfo); - this.$store.dispatch('runCustomEvent', dataInfo).then(res => { - console.log(res); - if (res.err_code == 0) { - var result = res.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( - "cancel") - }); - } else uni.showModal({ - title: this.translateSys('tip'), - content: tip + ',' + this - .translateSys('tip') + ':' + - result.ret, - showCancel: false, - confirmText: this.translateSys( - "cancel") - }); - 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'), + 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( "cancel") }); - if (result.result_type == 0) { - if (result.action) { - // 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" - ) { //鐮佺洏涓�- var value = item.value; - //鍔犺浇宸茬粡鐮佺洏鏁版嵁 - $this.viewAceionRow( - value, ); - //娓呯┖鏉$爜鍐呭 - $this.$data - .head_styledef - .form.items - .forEach(( - item, - index) => { - if (item - .fieldId != - "S_CNTR_CODE" - ) { - item.value = - ''; - item.oldvalue = - ''; - $this - .$data - .head_styledef - .form - .model[ - item - .fieldId - ] = - ''; - } - }); - - uni.showModal({ - title: this - .translateSys( - "tip" - ), - content: this - .translate( - 'execute_event_success' - ), - showCancel: false, - confirmText: this - .translateSys( - "cancel" - ) - }); - } else if (item - .action_type == - "remove_subtable_page_row" - ) { //娓呴櫎闈㈡澘涓寚瀹歩d鐨勬暟鎹�- var value = item.value; - const pageData = $this - .pageDetail.find(( - page) => { - return value - .page_name == - page - .Name; - }); - if (pageData - ?.DefList - ) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄緟鍒嗘嫞 - //娓呴櫎闈㈡澘涓寚瀹歩d鐨勬暟鎹�- value.row.forEach( - row => { - pageData - .DefList - .forEach( - ( - ele, - index - ) => { - if (ele - .form - .objId == - row - .id - ) { - pageData - .DefList - .splice( - index, - 1 - ); - } - } - ); - }); - } - } 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 pageData = $this - .pageDetail.find(( - page) => { - return value - .page_name == - page - .Name; - }); - if (pageData) { - pageData - .DefList = [] - pageData - .ExtData = {} - } - } 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 ($this.$data.After_OK_Event.ID != - event - .ID) { //鍒ゆ柇褰撳墠浜嬩欢鏄惁鏄‘瀹氬悗浜嬩欢 - - $this.sava(pageParam, $this.$data - .After_OK_Event); //鎵ц纭畾鍚庝簨浠�- - } - } - } else { - - if (result.info) { - uni.showModal({ - title: this.translateSys( - "tip"), - content: result.info, - showCancel: false, - confirmText: this - .translateSys("cancel") - }); - } - } - } - } else { - uni.showModal({ - title: this.translateSys("error") + - "8", - content: res.err_msg, + } else uni.showModal({ + title: this.translateSys('tip'), + content: tip + ',' + this + .translateSys('tip') + ':' + + result.ret, showCancel: false, confirmText: this.translateSys( "cancel") }); + 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( + "cancel") + }); + if (result.result_type == 0) { + if (result.action) { + // 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" + ) { //鐮佺洏涓�+ var value = item.value; + //鍔犺浇宸茬粡鐮佺洏鏁版嵁 + $this.viewAceionRow( + value, ); + //娓呯┖鏉$爜鍐呭 + $this.$data + .head_styledef + .form.items + .forEach(( + item, + index) => { + if (item + .fieldId != + "S_CNTR_CODE" + ) { + item.value = + ''; + item.oldvalue = + ''; + $this + .$data + .head_styledef + .form + .model[ + item + .fieldId + ] = + ''; + } + }); + + uni.showModal({ + title: this + .translateSys( + "tip" + ), + content: this + .translate( + 'execute_event_success' + ), + showCancel: false, + confirmText: this + .translateSys( + "cancel" + ) + }); + } 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" + ), + success: function( + res + ) { + if (res + .confirm + ) { + if ( + pageData + ) + pageData + .DefList = []; + $this + .viewAceionContent( + value + ); + } else if ( + res + .cancel + ) { + if ( + pageData + ) + pageData + .DefList = []; + $this + .viewAceionContent( + value + ); + } + } + }); + } else { + if (pageData) + pageData + .DefList = []; + $this + .viewAceionContent( + value); + } + } else if (item + .action_type == + "remove_subtable_page_row" + ) { //娓呴櫎闈㈡澘涓寚瀹歩d鐨勬暟鎹�+ var value = item.value; + const pageData = $this + .pageDetail.find(( + page) => { + return value + .page_name == + page + .Name; + }); + if (pageData + ?.DefList + ) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄緟鍒嗘嫞 + //娓呴櫎闈㈡澘涓寚瀹歩d鐨勬暟鎹�+ value.row.forEach( + row => { + pageData + .DefList + .forEach( + ( + ele, + index + ) => { + if (ele + .form + .objId == + row + .id + ) { + pageData + .DefList + .splice( + index, + 1 + ); + } + } + ); + }); + } + } 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 pageData = $this + .pageDetail.find(( + page) => { + return value + .page_name == + page + .Name; + }); + if (pageData) { + pageData + .DefList = [] + pageData + .ExtData = {} + } + } 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 ($this.$data.After_OK_Event.ID != + event + .ID) { //鍒ゆ柇褰撳墠浜嬩欢鏄惁鏄‘瀹氬悗浜嬩欢 + + $this.sava(pageParam, $this.$data + .After_OK_Event); //鎵ц纭畾鍚庝簨浠�+ + } + } + } else { + + if (result.info) { + uni.showModal({ + title: this.translateSys( + "tip"), + content: result.info, + showCancel: false, + confirmText: this + .translateSys("cancel") + }); + } + } } + + pageParam.okLoading = false }).catch(ex => { - var tip = typeof ex == "string" ? ex : ex.errMsg; + pageParam.okLoading = false + let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex uni.showModal({ title: this.translateSys("error") + "8.1", content: this.translate( @@ -2020,8 +2057,8 @@ .v-head-style { width: 98%; - .uni-form-item { - margin-bottom: 15rpx; + .uni-forms-item { + margin-bottom: 11rpx; } .input-wrapper { @@ -2033,6 +2070,7 @@ .uni-input { flex: 1; padding: 12rpx 8rpx; + color: #2d8cf0; // height: 40rpx; // line-height: 40rpx; } @@ -2098,10 +2136,6 @@ position: relative; border: 0 solid #000; box-sizing: border-box; - } - - .uni-input { - /* border: none; */ } .uni-icon { @@ -2204,9 +2238,16 @@ font-size: 38rpx; font-weight: bold; float: right; + color: #fff; display: inline-block; } + .btn_disabled { + background-color: #ddd; + color: #888; + } + + } } -- Gitblit v1.9.1