From 1c0c22b32da66e83ba97cdd8b238ef8dc078e238 Mon Sep 17 00:00:00 2001 From: cuiqian2004 <cuiqian2004@163.com> Date: 星期三, 11 九月 2024 13:21:45 +0800 Subject: [PATCH] 点击3018输入框扩展按钮 --- pages/modal/5601.vue | 1702 ++++++++++++++++++++++++++------------------------------- 1 files changed, 779 insertions(+), 923 deletions(-) diff --git a/pages/modal/5601.vue b/pages/modal/5601.vue index 50ace94..326a540 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"> <!-- 鏅�甯冨眬 --> @@ -140,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: { @@ -166,7 +175,6 @@ After_Del_Event: {}, active_id: '', - activelist: [], selectAttrObj: {}, }; }, @@ -215,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]; @@ -302,14 +312,14 @@ class_id: class_id, ui_style_id: style_id, }; - const ret = await this.getUIStyleInfo(dataInfo) + const result = await getUIStyleInfo(dataInfo) var styledef = ""; - if (ret.result.style_def) { + if (result.style_def) { //mobox2鐨剆tyle_def鏄痡son瀛楃涓�- styledef = ret.result.style_def.replace(/\\/g, ""); + styledef = result.style_def.replace(/\\/g, ""); //mobox3鐨剆tyle_def鏄痓ase64瀛楃涓�- if (!ret.result.style_def.includes('"')) styledef = Base64.decode( - ret.result + if (!result.style_def.includes('"')) styledef = Base64.decode( + result .style_def); } const styledefHead = styledef ? JSON.parse(styledef) : {}; @@ -369,80 +379,7 @@ }); return {} } - // 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) : {}; - // for (let i in styledefHead.form.items) { - // const ele = styledefHead.form.items[i] - // if (ele.name != "Layout") { - // if (ele?.useDict) { - // //鍒ゆ柇useDict鏄惁浣跨敤瀛楀吀 - // await this.DictGetInfo(ele.bind.dict, - // styledefHead.form.model, - // ele); - // } - // if ($this.focusFieldId == "") { - // if (ele.name == 'Input' || ele.name == - // 'InputNumber') { - // $this.setData({ - // focusFieldId: ele.fieldId - // }) - // } - // } - // } else { - // for (let j in ele.setting.colList) { - // const col = ele.setting.colList[j] - // if (col?.useDict) { - // //鍒ゆ柇useDict鏄惁浣跨敤瀛楀吀 - // await this.DictGetInfo(col.bind - // .dict, - // styledefHead.form - // .model, col); - // } - // if ($this.focusFieldId == "") { - // if (col.name == 'Input' || col - // .name == - // 'InputNumber') { - // $this.setData({ - // focusFieldId: col - // .fieldId - // }) - // } - // } - // } - // } - // } - // 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 => { - // // console.log(ex); - // uni.showModal({ - // title: this.translateSys("error") + "1.1", - // content: ex.errMsg, - // showCancel: false, - // confirmText: this.translateSys("cancel") - // }); - // }); }, async Detail_UIstyleGetInfo(class_id, style_id) { //鑾峰彇鑷畾涔夎〃鍗曟牱寮�@@ -452,18 +389,18 @@ class_id: class_id, ui_style_id: style_id, }; - const ret = await this.getUIStyleInfo(dataInfo) + const result = await getUIStyleInfo(dataInfo) var styledef = ""; - if (ret.result.style_def) { + if (result.style_def) { //mobox2鐨剆tyle_def鏄痡son瀛楃涓�- styledef = ret.result.style_def.replace(/\\/g, ""); + styledef = result.style_def.replace(/\\/g, ""); //mobox3鐨剆tyle_def鏄痓ase64瀛楃涓�- if (!ret.result.style_def.includes('"')) styledef = Base64 - .decode(ret.result + if (!result.style_def.includes('"')) styledef = Base64 + .decode(result .style_def); } - const detailstyledef = ret.result.style_def ? JSON.parse( + const detailstyledef = result.style_def ? JSON.parse( styledef) : {}; detailstyledef.SelBut_Checked = true; if (detailstyledef?.form?.items) { @@ -502,64 +439,7 @@ }); return {} } - // 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 detailstyledef = ret.result.style_def ? JSON.parse( - // styledef) : {}; - // detailstyledef.SelBut_Checked = true; - // for (let index in detailstyledef.form.items) { - // const ele = detailstyledef.form.items[index] - - // if (ele.name != "Layout") { - // if (ele.useDict == true) { //鍒ゆ柇useDict鏄惁浣跨敤瀛楀吀 - // await this.DictGetInfo(ele.bind.dict, - // detailstyledef.form - // .model, ele); - // } - // } else { - // for (let j in ele.setting.colList) { - // const col = ele.setting.colList[j] - // if (col?.useDict == true) { - // await this.DictGetInfo(col - // .bind.dict, - // detailstyledef.form - // .model, col); - // } - // } - // } - // } - // 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(ex); - // uni.showModal({ - // title: this.translateSys("error") + "2.1", - // content: ex.errMsg, - // showCancel: false, - // confirmText: this.translateSys("cancel") - // }); - // return {} - // }); }, @@ -571,15 +451,15 @@ 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; list.push({ - text: item.value, - value: item.name, + text: item.name, + value: item.id, }); }); //鏈夐粯璁ゅ�锛屾樉绀洪粯璁ゅ� @@ -588,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({ @@ -602,83 +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); - } - }) - - }) - - }, - getUIStyleInfo(info) { //Mobox3鏁版嵁绫荤晫闈㈡牱寮�- const loginInfo = this.$store.getters.loginid - const dataSApi = this.$store.getters.getDataSApi - return new Promise((resolve, reject) => { - uni.request({ - url: dataSApi + 'api/class/uistyle/GetInfo?sessionid=' + loginInfo.result - .session_id, - data: info, - method: 'POST', - dataType: "json", - success: (_res) => { - // console.log(_res); - var ret = _res.data - if (typeof ret == 'string') { - try { - try { - try { - ret = JSON.parse(ret.replace(/\\"/g, '"')); - } catch (ex) { - ret = JSON.parse(ret.replace(/\\/g, '\\\\')) - } - } catch (ex) { - ret = JSON.parse(ret.replace(/\\"/g, "'").replace(/[\r\n]/g, - '<br>').replace(/[\t]/g, ' ')); - } - } catch (ex) { - console.log(ret) - return reject('灏唃etUIStyleInfo銆恓son string銆戣浆鎹负銆恓son object銆戝け璐�) - } - } - if (ret.err_code == 0) { - resolve(ret); - } else { - reject({ - "errMsg": ret.err_msg || ret.errMsg - }); - } - }, - fail: (err) => { - // console.log(err); - reject(err); - } - }) - - }) - - }, - onClick(item) { this.focusFieldId = item.fieldId }, @@ -912,458 +712,330 @@ 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( - "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 @@ -1414,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) => { @@ -1474,6 +1148,7 @@ }) }); pageData.DefList = detailStyleDefList + $this.$set(this.pageDetail, pageIndex, pageData) }, //鍔犺浇姝e湪鐮佺洏鍐呭 @@ -1482,11 +1157,13 @@ if (JSON.stringify(data.row) == '{}') { return; } - const pageData = this.pageDetail.find((page) => { + const pageIndex = this.pageDetail.findIndex(( + page, index2, arr) => { return data.page_name == page.Name; - }); - if (!pageData) + }) + if (pageIndex < 0) return + const pageData = this.pageDetail[pageIndex] var styleStr = JSON.stringify(pageData.StyleDef); var detailStyle = JSON.parse(styleStr); @@ -1521,6 +1198,7 @@ }); pageData.DefList.push(detailStyle); + this.$set(this.pageDetail, pageIndex, pageData) }); } @@ -1528,11 +1206,14 @@ //鍔犺浇宸茬爜鐩樺唴瀹� viewAceionContent(data) { var $this = this; - const pageData = $this.pageDetail.find((page) => { + const pageIndex = $this.pageDetail.findIndex(( + page, index2, arr) => { return data.page_name == page.Name; - }); - if (!pageData) + }) + if (pageIndex < 0) return + const pageData = $this.pageDetail[pageIndex] + pageData.ExtData = data.ext_data || {} if (JSON.stringify(data.content) == '{}') { @@ -1619,13 +1300,116 @@ } else { pageData.DefList.push(detailStyle); //寰呭垎鎷� } - $this.activelist.push({ - active: false - }); + // $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 @@ -1737,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) { @@ -1905,250 +1684,327 @@ }; // 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 => { pageParam.okLoading = false -- Gitblit v1.9.1