From ec63534e04c68e067dcb0380e56f2e5312de24a3 Mon Sep 17 00:00:00 2001 From: cuiqian2004 <cuiqian2004@163.com> Date: 星期五, 27 九月 2024 17:18:41 +0800 Subject: [PATCH] 字典取值判断附加值还是名称 --- pages/modal/5601.vue | 2149 ++++++++++++++++++++++++++++++++++++----------------------- 1 files changed, 1,314 insertions(+), 835 deletions(-) diff --git a/pages/modal/5601.vue b/pages/modal/5601.vue index bf5a6c4..91689ac 100644 --- a/pages/modal/5601.vue +++ b/pages/modal/5601.vue @@ -1,54 +1,52 @@ <template> <view class="uni-page-modal-5601"> <!-- 琛ㄥご鏍峰紡 --> - <view class="view-header"> - <view v-for="(item,index) in head_styledef.form.items" :key="index"> + <uni-forms ref="baseForm" label-align="right"> + <view v-for="(item,index) in head_styledef.form.items" :key="index" class="v-head-style"> <!-- 鏅�甯冨眬 --> - <view v-if="item.name != 'Layout'" class="v-headStyle"> - <text class="txt_title" :style="{'width':item.labelWidth+'px'}">{{item.label}}锛�/text> - <uni-data-picker class="dv_select" v-if="item.name=='Select'" - :class="item.disabled?'input-disabled':''" v-model="item.value" :localdata="item.dict" - @change="onEnterChange(item)" :readonly="item.disabled" :clear-icon="false" - :popup-title="item.label"></uni-data-picker> + <uni-forms-item v-if="item.name != 'Layout'" :label="item.label +'锛� " + :label-width="item.labelWidth+'px'"> + <uni-data-picker v-if="item.name=='Select'" :class="item.disabled?'input-disabled':''" + v-model="item.value" :localdata="item.dict" @change="onEnterChange(item)" + :readonly="item.disabled" :clear-icon="false" :popup-title="item.label"></uni-data-picker> <view class="input-wrapper" v-if="item.name=='Input' || item.name=='InputNumber'"> <text v-if="item.setting.prefix" class="uni-icon" :class="[item.setting.prefix]" @click="onEnterChange(item)"></text> <input class="uni-input" :class="item.disabled?'input-disabled':''" + :style="{'padding-left':item.setting.prefix?0 : '8rpx','right':item.setting.suffix?0 : '8rpx'}" :type="item.name=='Input'?'text':'number'" v-model="item.value" :disabled="item.disabled" - :placeholder="item.placeholder" - :style="{'width':item.setting.prefix && item.setting.suffix?'78%':item.setting.prefix || item.setting.suffix?'87%':'96%'}" - :focus="focusFieldId == item.fieldId" @focus="ontap(item)" - @keyup.enter="onEnterChange(item)" @blur="onEnterChange(item)" /> + :placeholder="item.placeholder" :focus="focusFieldId == item.fieldId" @focus="ontap(item)" + @click="onClick(item)" @keyup.enter="onEnterChange(item)" @blur="onEnterChange(item)" /> <text v-if="item.setting.suffix" class="uni-icon" :class="[item.setting.suffix]" - @click="onEnterChange(item)"></text> + @click="onEnterChange(item)"></text> </view> - </view> + </uni-forms-item> <!-- 鏍呮牸甯冨眬 --> - <uni-row v-else class="v-headStyle" :gutter="item.setting.gutter"> + <uni-row v-else :gutter="item.setting.gutter"> <uni-col - :span=" item.setting.spanList && item.setting.spanList[key - 1]? item.setting.spanList[key - 1] : 24 / item.setting.col" + :span=" item.setting.spanList && item.setting.spanList[key]? item.setting.spanList[key] : 24 / item.setting.col" v-for="(col,key) in item.setting.colList"> - <text class="txt_title" :style="{'width':col.labelWidth+'px'}">{{col.label}}锛�/text> - <uni-data-picker class="dv_select" v-if="col.name=='Select'" - :class="col.disabled?'input-disabled':''" v-model="col.value" :localdata="col.dict" - @change="onEnterChange(item)" :readonly="col.disabled" :clear-icon="false" - :popup-title="col.label"></uni-data-picker> - <view class="input-wrapper" v-if="col.name=='Input' || col.name=='InputNumber'"> - <text v-if="col.setting.prefix" class="uni-icon" :class="[col.setting.prefix]" - @click="onEnterChange(item)"></text> - <input class="uni-input" :class="col.disabled?'input-disabled':''" - :type="col.name=='Input'?'text':'number'" v-model="col.value" :disabled="col.disabled" - :placeholder="col.placeholder" - :style="{'width':col.setting.prefix && col.setting.suffix?'78%':col.setting.prefix || col.setting.suffix?'87%':'96%'}" - :focus="focusFieldId == col.fieldId" @focus="ontap(item)" - @keyup.enter="onEnterChange(item)" @blur="onEnterChange(item)" /> - <text v-if="col.setting.suffix" class="uni-icon" :class="[col.setting.suffix]" - @click="onEnterChange(item)"></text> - </view> + <uni-forms-item :label="col.label +'锛�" :label-width="col.labelWidth+'px'"> + <uni-data-picker v-if="col.name=='Select'" :class="col.disabled?'input-disabled':''" + v-model="col.value" :localdata="col.dict" @change="onEnterChange(item)" + :readonly="col.disabled" :clear-icon="false" :popup-title="col.label"></uni-data-picker> + <view class="input-wrapper" v-if="col.name=='Input' || col.name=='InputNumber'"> + <text v-if="col.setting.prefix" class="uni-icon" :class="[col.setting.prefix]" + @click="onEnterChange(col)"></text> + <input class="uni-input" :class="col.disabled?'input-disabled':''" + :style="{'padding-left':col.setting.prefix?0 : '8px','right':col.setting.suffix?0 : '8px'}" + :type="col.name=='Input'?'text':'number'" v-model="col.value" + :disabled="col.disabled" :placeholder="col.placeholder" + :focus="focusFieldId == col.fieldId" @focus="ontap(col)" @click="onClick(col)" + @keyup.enter="onEnterChange(col)" @blur="onEnterChange(col)" /> + <text v-if="col.setting.suffix" class="uni-icon" :class="[col.setting.suffix]" + @click="onEnterChange(col)"></text> + </view> + </uni-forms-item> </uni-col> </uni-row> </view> - </view> + </uni-forms> <view class="view-content"> <!-- 鐮佺洏瀛愮晫闈�--> <view v-if="param.Show_Welcom_Page==false" class="uni-panel-content"> @@ -66,56 +64,62 @@ <image class="logo" v-if="pageData.DefList.length==0" src="../../images/mobox_log_200x40.png"> </image> - <div class="dv-panel" v-for="(style,ii) in pageData.DefList" @tap="onPanelClick(ii)" - :id="'dvpanel'+style.form.htmlobjId" - :class="style.form.htmlobjId==active_id?'bk-active':activelist[ii].active==true?'bk-active':''"> - <div class="dv-panel-input"> - <div class="dv-input" v-for="(item,index) in style.form.items"> - <!-- 鏅�甯冨眬 --> - <view v-if="item.name!='Layout'"> - <text class="txt_title" - :style="{'width':item.labelWidth+'px'}">{{item.label}}锛�/text> - <span class="form-item-span" v-if="item.disabled">{{item.value}}</span> - <input class="uni-input" v-if="!item.disabled" - :type="item.name=='InputNumber'?'number':'text'" :value="item.value" - :disabled="item.disabled" :placeholder="item.placeholder" /> - </view> - <!-- 鏍呮牸甯冨眬 --> - <uni-row class="demo-uni-row" v-else :gutter="item.setting.gutter"> - <uni-col - :span=" item.setting.spanList && item.setting.spanList[key - 1]? item.setting.spanList[key - 1] : 24 / item.setting.col" - v-for="(cols,key) in item.setting.colList"> - <view v-if="cols!=null"> - <text class="txt_title" - :style="{'width':cols.labelWidth+'px'}">{{cols.label}}锛�/text> - <span class="form-item-span" - v-if="cols.disabled">{{cols.value}}</span> - <input class="uni-input" v-if="!cols.disabled" - :type="cols.name=='InputNumber'?'number':'text'" - :value="cols.value" :disabled="cols.disabled" - :placeholder="cols.placeholder" /> - </view> - </uni-col> - </uni-row> + <checkbox-group @change="checkboxChange"> + <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':''"> + <div class="dv-panel-input"> + <div class="dv-input" v-for="(item,index) in style.form.items"> + <!-- 鏅�甯冨眬 --> + <view v-if="item.name!='Layout'"> + <text class="txt_title" + :style="{'width':item.labelWidth+'px'}">{{item.label}}锛�/text> + <span class="form-item-span" + v-if="item.disabled">{{item.value}}</span> + <input class="uni-input" v-if="!item.disabled" + :type="item.name=='InputNumber'?'number':'text'" + v-model="item.value" :disabled="item.disabled" + :placeholder="item.placeholder" /> + </view> + <!-- 鏍呮牸甯冨眬 --> + <uni-row class="demo-uni-row" v-else :gutter="item.setting.gutter"> + <uni-col + :span=" item.setting.spanList && item.setting.spanList[key]? item.setting.spanList[key] : 24 / item.setting.col" + v-for="(cols,key) in item.setting.colList"> + <view v-if="cols!=null"> + <text class="txt_title" + :style="{'width':cols.labelWidth+'px'}">{{cols.label}}锛�/text> + <span class="form-item-span" + v-if="cols.disabled">{{cols.value}}</span> + <input class="uni-input" v-if="!cols.disabled" + :type="cols.name=='InputNumber'?'number':'text'" + v-model="cols.value" :disabled="cols.disabled" + :placeholder="cols.placeholder" /> + </view> + </uni-col> + </uni-row> + </div> + </div> + <div class="dv-panel-button"> + + <checkbox v-if="pageData.Select_Button==true" :model="ii" + :checked="style.SelBut_Checked" /> + <!-- <text></text> --> + + <!-- <button type="primary" @click="savaItem(ii)" v-if="param.Sub_Page[0].OK_Button==true">淇濆瓨</Button> --> + <button type="warn" @tap="delItem(pageData,ii)" + v-if="pageData.Del_Button==true">{{translateSys('delete')}}</button> </div> </div> - <div class="dv-panel-button"> - <checkbox-group v-if="pageData.Select_Button==true"> - <label> - <checkbox :value="style.SelBut_Checked" - :checked="style.SelBut_Checked" /> - <!-- <text></text> --> - </label> - </checkbox-group> - <!-- <button type="primary" @click="savaItem(ii)" v-if="param.Sub_Page[0].OK_Button==true">淇濆瓨</Button> --> - <button type="warn" @tap="delItem(pageData,ii)" - v-if="pageData.Del_Button==true">鍒犻櫎</button> - </div> - </div> + </checkbox-group> </view> <view class="view-bottom" v-if="pageData.OK_Button==true"> - <button type="default" @tap="cancel" class="btn_cancel">鍙栨秷</button> - <button type="primary" @tap="ok(pageData)" class="btn_add">纭畾</button> + <button type="default" @tap="cancel" + class="btn_cancel">{{translateSys('cancel')}}</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> @@ -137,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: { @@ -144,7 +156,7 @@ }, data() { return { - title: '鐮佺洏', + title: this.translateSys("inventory"), ClsID: '', param: {}, focusFieldId: "", @@ -163,7 +175,6 @@ After_Del_Event: {}, active_id: '', - activelist: [], selectAttrObj: {}, }; }, @@ -177,22 +188,24 @@ }, }, onLoad(options) { - console.log(options); + console.log(options.titlename, options); uni.setNavigationBarTitle({ title: options.titlename }); //璁剧疆椤堕儴鏍囬 this.title = options.titlename; this.param = JSON.parse(options.param); + + //鑾峰彇涓绘暟鎹被ID this.ClsID = this.param.master_cls?.id; if (this.ClsID) { - this.loadData() + this.loadData(options.paramValue) } else { uni.showModal({ - title: "閿欒", - content: "鏈缃富鏁版嵁绫�, + title: this.translateSys("error"), + content: this.translate("tip_no_master_class"), showCancel: false, - confirmText: "鍙栨秷" + confirmText: this.translateSys("cancel") }); } }, @@ -210,19 +223,45 @@ 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]; }); }); }, - async loadData() { + async loadData(paramValue) { //鑾峰彇鏁版嵁绫荤殑鑷畾涔夎〃鍗曞弬鏁� await this.Head_UIStyleGetInfo(this.ClsID, this.param.Input_UI_Style.ID); + //浼犲叆鍙傛暟鍊�+ if (paramValue) { + const attrs = paramValue.attrs || []; + (this.$data.head_styledef?.form?.items || []).forEach(async (ele, index) => { + if (ele.name != "Layout") { + attrs.forEach(async (ele2, index2) => { + if (ele.fieldId == ele2.name) { + ele.value = ele2.value; + } + }); + } else { + ele.setting.colList.forEach(async (col) => { + if (col) { + attrs.forEach(async (ele2, + index2) => { + if (col.fieldId == ele2.name) { + col.value = ele2.value; + } + }); + } + }); + } + }) + } //鍔犺浇鍒濆鐣岄潰 if (this.$data.param.Show_Welcom_Page) { this.$data.param.Welcome_Page.Img = this.$data.param.Welcome_Page.Img.replace(/ /g, '+'); @@ -232,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 @@ -243,6 +283,7 @@ this.setData({ pageDetail: pageList }) + console.log(this.pageDetail); }, changeSwiper(evt) { @@ -251,136 +292,154 @@ current: index }) }, - 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(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) : {}; + checkboxChange(e) { - styledefHead.form.items.forEach(async (ele) => { + var items = this.pageDetail[this.current]?.DefList || [] + var values = e.detail.value; + for (var i = 0, lenI = items.length; i < lenI; ++i) { + const item = items[i] + if (values.includes(i)) { + item.SelBut_Checked = true + } else { + item.SelBut_Checked = false + } + } + }, + async Head_UIStyleGetInfo(class_id, style_id) { //鑾峰彇鑷畾涔夎〃鍗曟牱寮�+ 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") { if (ele?.useDict) { //鍒ゆ柇useDict鏄惁浣跨敤瀛楀吀 - await this.DictGetInfo(ele.bind.dict, styledefHead.form.model, + await this.DictGetInfo(ele.bind.dict, + styledefHead.form.model, ele); } if ($this.focusFieldId == "") { - if (ele.name == 'Input' || ele.name == 'InputNumber') { + if (ele.name == 'Input' || ele.name == + 'InputNumber') { $this.setData({ focusFieldId: ele.fieldId }) } } } else { - ele.setting.colList.forEach(async (col) => { + 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); + await this.DictGetInfo(col.bind + .dict, + styledefHead.form + .model, col); } if ($this.focusFieldId == "") { - if (col.name == 'Input' || col.name == + if (col.name == 'Input' || col + .name == 'InputNumber') { $this.setData({ - focusFieldId: col.fieldId + focusFieldId: col + .fieldId }) } } - }); + } } - }); - this.setData({ - head_styledef: styledefHead - }) - } else { - uni.showModal({ - title: "閿欒1", - content: ret.err_msg, - showCancel: false, - confirmText: "鍙栨秷" - }); + } + } - }).catch(ex => { + this.setData({ + head_styledef: styledefHead + }) + } catch (ex) { // console.log(ex); uni.showModal({ - title: "閿欒1.1", + title: this.translateSys("error") + "1", content: ex.errMsg, showCancel: false, - confirmText: "鍙栨秷" + 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(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 + 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; - detailstyledef.form.items.forEach(async (ele, 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鏄惁浣跨敤瀛楀吀 - await this.DictGetInfo(ele.bind.dict, detailstyledef.form + await this.DictGetInfo(ele.bind.dict, + detailstyledef.form .model, ele); } } else { - ele.setting.colList.forEach(async (col) => { + 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); + await this.DictGetInfo(col + .bind.dict, + detailstyledef.form + .model, col); } - }) + } } - }); - console.log("Detail_UIstyleGetInfo", detailstyledef); - return detailstyledef - } else { - return {} - uni.showModal({ - title: "閿欒2", - content: ret.err_msg, - showCancel: false, - confirmText: "鍙栨秷" - }); + } + } - }).catch(ex => { + console.log("Detail_UIstyleGetInfo", detailstyledef); + return detailstyledef + } catch (ex) { // console.log(ex); uni.showModal({ - title: "閿欒2.1", + title: this.translateSys("error") + "2", content: ex.errMsg, showCancel: false, - confirmText: "鍙栨秷" + confirmText: this.translateSys("cancel") }); return {} - }); + } + }, @@ -391,44 +450,38 @@ dict_id: dict.id, dict_name: dict.name }; - // console.log(dataInfo); - this.$store.dispatch('DictGetInfo', dataInfo).then(async (success) => { - console.log(success); - if (success.err_code == 0) { - var list = []; - var itemName = ''; - success.result.dict_item_list.forEach((item) => { - if (item.is_default == '1') - itemName = item.name; - list.push({ - text: item.value, - value: item.name, - }); + try { + const result = await dictGetInfo(dataInfo) + var list = []; + var itemName = ''; + (result.dict_item_list || []).forEach((item) => { + if (item.is_default == '1') + itemName = item.value ? item.value : item.name + list.push({ + text: item.value ? item.value : item.name, + value: item.id, }); - if (itemName) { - formItem.value = itemName; - formModel[formItem.fieldId] = itemName; - } - formItem.dict = list; - } else { - uni.showModal({ - title: "閿欒3.1", - content: success.err_msg, - showCancel: false, - confirmText: "鍙栨秷" - }); + }); + //鏈夐粯璁ゅ�锛屾樉绀洪粯璁ゅ� + if (itemName) { + formItem.value = itemName; + formModel[formItem.fieldId] = itemName; } - }).catch(ex => { + formItem.dict = list; + } catch (ex) { // console.log(ex); uni.showModal({ - title: "閿欒3", + title: this.translateSys("error") + "3", content: ex.errMsg, showCancel: false, - confirmText: "鍙栨秷" + confirmText: this.translateSys("cancel") }); - }); - }, + } + }, + onClick(item) { + this.focusFieldId = item.fieldId + }, ontap(item) { //鎵爜鍔熻兘 // var $ele = e; //console.log(e.target) @@ -437,13 +490,15 @@ 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; var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�- var onSuffixClickCallbackEvent = item.bind.onSuffixClickCallbackEvent; //鍚庡浘鏍囩偣鍑讳簨浠�- var onSuffixClickEvent = item.bind.onSuffixClickEvent; //鍚庡浘鏍囩偣鍑诲洖璋�+ var onSuffixClickCallbackEvent = item.bind + .onSuffixClickCallbackEvent; //鍚庡浘鏍囩偣鍑讳簨浠�+ var onSuffixClickEvent = item.bind + .onSuffixClickEvent; //鍚庡浘鏍囩偣鍑诲洖璋� var isflag = false; if (onChangeEvent.id) { //鍐呭鍙樺寲鍚庝簨浠�@@ -456,7 +511,8 @@ const ele = $this.head_styledef.form.items[i] if (ele.name != "Layout") { - if (ele.name == 'Input' || ele.name == 'InputNumber') { + if (ele.name == 'Input' || ele.name == + 'InputNumber') { if (attr == ele.fieldId) { findd = true } else { @@ -472,32 +528,39 @@ } } else { if (findd) { - let curIndex = ele.setting.colList.findIndex((col, index2, arr) => { - return (col.name == 'Input' || col.name == 'InputNumber'); + let curIndex = ele.setting.colList.findIndex(( + col, index2, arr) => { + return (col.name == 'Input' || col + .name == 'InputNumber'); }) if (curIndex > -1) { $this.setData({ - focusFieldId: ele.setting.colList[curIndex] + focusFieldId: ele.setting + .colList[curIndex] .fieldId }) break } } else { - let curIndex = ele.setting.colList.findIndex((col, index2, arr) => { + let curIndex = ele.setting.colList.findIndex(( + col, index2, arr) => { return attr == col.fieldId; }) if (curIndex > -1) { findd = true - let curIndex2 = ele.setting.colList.findIndex((col, index2, arr) => { - return (col.name == 'Input' || col.name == - 'InputNumber') && - index2 > - curIndex; - }) + let curIndex2 = ele.setting.colList + .findIndex((col, index2, arr) => { + return (col.name == 'Input' || + col.name == + 'InputNumber') && + index2 > + curIndex; + }) if (curIndex2 > -1) { $this.setData({ - focusFieldId: ele.setting.colList[curIndex] + focusFieldId: ele.setting + .colList[curIndex] .fieldId }) break @@ -512,14 +575,16 @@ } }) }, + 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; var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�- var onSuffixClickCallbackEvent = item.bind.onSuffixClickCallbackEvent; //鍚庡浘鏍囩偣鍑讳簨浠�+ var onSuffixClickCallbackEvent = item.bind + .onSuffixClickCallbackEvent; //鍚庡浘鏍囩偣鍑讳簨浠� var onSuffixClickEvent = item.bind.onSuffixClickEvent; //鍚庡浘鏍囩偣鍑诲洖璋� var isflag = false; @@ -531,43 +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({ @@ -591,7 +661,8 @@ this.head_styledef.form.items.forEach(item => { if (item.name == "Layout") { //鍒ゆ柇鏄惁鏄爡鏍忔牸寮� item.setting.colList.forEach(cols => { - if (cols != null) head_attr[cols.fieldId] = cols.value; + if (cols != null) head_attr[cols + .fieldId] = cols.value; }); } else head_attr[item.fieldId] = item.value; @@ -609,12 +680,15 @@ var $this = this; const jsonList = [] this.pageDetail.forEach((page) => { + jsonList.push({ page_name: page.Name, - item_list: $this.getDetailAttrList(page.DefList, page + item_list: $this.getDetailAttrList(page + .DefList, page .Select_Button), ext_data: page.ExtData || {} }) + }) const data_json = Base64.encode( JSON.stringify(jsonList) @@ -638,269 +712,353 @@ 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) uni.showModal({ - title: '鎻愮ず', - content: tip, - showCancel: false, - confirmText: "鍙栨秷" - }); - else uni.showModal({ - title: '鎻愮ず', - content: tip + ',鎻愮ず:' + result.ret, - showCancel: false, - confirmText: "鍙栨秷" - }); - return false; - } else { - var tip = result.info ? typeof result.info == 'string' ? result.info : - result.info.join('<br/>') : ''; - if (tip) uni.showModal({ - title: '鎻愮ず', - content: tip, - showCancel: false, - confirmText: "鍙栨秷" - }); + runCustomEvent(dataInfo).then(result => { + console.log(result); - 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) => { - value.page_name == page.Name; + 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'), + 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: '鎻愮ず', - content: '绯荤粺妫�祴鍒版湁' + value.page_name + - '涓殑璐у搧锛岀户缁搷浣滀細娓呯┖锛屾槸鍚︾户缁紵', - success: function(res) { - if (res.confirm) { - if (pageData) - pageData.DefList = []; - $this.viewAceionContent( - value); - } else if (res.cancel) { - if (pageData) - pageData.DefList = []; - $this.viewAceionContent( - value); - } + 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) => { - 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 + } 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(); - }) + .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) => { - value.page_name == page.Name; + } + } 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 => { + 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); - } - }); + .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) => { - 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) => { - 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 - ) { - ele.value = - ele2 - .value; - } - }); - } else { - ele.setting.colList.forEach(async ( - col) => { - if (col) { - data.forEach( - async (ele2, - index - ) => { - if (col - .fieldId == - ele2 - .attr - ) { - col.value = - ele2 - .value; - } - }); - - } - - }) - } - }) } - }); - } else { - if (result.info) { - uni.showModal({ - title: "閿欒4.3", - content: result.info, - showCancel: false, - confirmText: "鍙栨秷" + + } 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") + }); + } } - } else { - uni.showModal({ - title: "閿欒4", - content: ret.err_msg, - showCancel: false, - confirmText: "鍙栨秷" - }); + } + }).catch(ex => { // console.log(ex); + let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex uni.showModal({ - title: "閿欒4.1", - content: ex.errMsg, + title: this.translateSys("error") + "4.1", + content: tip, showCancel: false, - confirmText: "鍙栨秷" + confirmText: this.translateSys("cancel") }); }); } } catch (ex) { var tip = typeof ex == "string" ? ex : ex.message; uni.showModal({ - title: "閿欒4.2", - content: "鎵ц鈥滃唴瀹瑰彉鍖栧悗鈥濅簨浠跺け璐ワ細" + tip, + title: this.translateSys("error") + "4.2", + content: this.translate( + 'execute_after_change_event_failed') + this + .translateSys( + "comma") + + this.translate('reason') + this.translateSys("colon") + + tip, showCancel: false, - confirmText: "鍙栨秷" + confirmText: this.translateSys("cancel") }); } }, @@ -928,49 +1086,61 @@ //鏇存柊鍒嗛〉绛句腑鐨勫垪琛ㄩ」鍐呭 viewActionSetRow(value) { const $this = this - const pageData = $this.pageDetail.find((page) => { - value.page_name == page.Name; - }); - if (!pageData) + const pageIndex = $this.pageDetail.findIndex(( + page, index2, arr) => { + return value.page_name == page.Name; + }) + if (pageIndex < 0) return + const pageData = $this.pageDetail[pageIndex] var detailStyleDefList = pageData.DefList || [] detailStyleDefList.forEach(ele => { value.row.forEach((rowData) => { if (ele.form.objId == rowData.id) { rowData.attrs.forEach(attr => { ele.form.items.forEach(ele2 => { - if (ele2.name != 'Layout') { - if (ele2.fieldId == attr + if (ele2.name != + 'Layout') { + if (ele2.fieldId == + attr .attr) { - ele2.value = $this + ele2.value = + $this .operationNumber( - ele2.value, - attr.value, - attr.operation) + 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 - ) + ele2.setting + .colList + .forEach( + col => { + if ( + col) { + if (col + .fieldId == + attr + .attr + ) { + col.value = + $this + .operationNumber( + col + .value, + attr + .value, + attr + .operation + ) + } } - } - }) + }) } }); }); @@ -978,6 +1148,7 @@ }) }); pageData.DefList = detailStyleDefList + $this.$set(this.pageDetail, pageIndex, pageData) }, //鍔犺浇姝e湪鐮佺洏鍐呭 @@ -986,129 +1157,259 @@ if (JSON.stringify(data.row) == '{}') { return; } - const pageData = this.pageDetail.find((page) => { - 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) => { - 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; - } - }); - } + 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; - } - }); - } + //濡傛灉 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.activelist.push({ - active: false - }); + 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 @@ -1137,7 +1438,8 @@ this.$data.head_styledef.form.items.forEach(item => { if (item.name == "Layout") { //鍒ゆ柇鏄惁鏄爡鏍忔牸寮� item.setting.colList.forEach(cols => { - if (cols != null) head_attr[cols.fieldId] = cols.value; + if (cols != null) head_attr[cols.fieldId] = + cols.value; }); } else head_attr[item.fieldId] = item.value; @@ -1149,7 +1451,8 @@ style.form.items.forEach(item => { if (item.name == "Layout") { //鍒ゆ柇鏄惁鏄爡鏍忔牸寮� item.setting.colList.forEach(cols => { - if (cols != null) detail_attr[cols.fieldId] = cols + if (cols != null) detail_attr[cols + .fieldId] = cols .value; }); } else @@ -1199,6 +1502,15 @@ }) }); }); + if (jsonlist.length == 0) { + uni.showModal({ + title: this.translateSys("tip"), + content: this.translate("tip_no_select_data"), + showCancel: false, + confirmText: this.translateSys("cancel") + }); + return; + } // console.log(jsonlist); const list = [] list.push({ @@ -1209,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) { @@ -1233,19 +1540,28 @@ var $this = this; if (pageData.DefList.length == 0) { uni.showModal({ - title: "鎻愮ず", - content: "娌℃湁" + pageData.Name + "鐨勬暟鎹紒", + 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: "鍙栨秷" + confirmText: this.translateSys("cancel") }); return false; } //鑾峰彇琛ㄥご灞炴� + pageData.okLoading = true var head_attr = {}; this.$data.head_styledef.form.items.forEach(item => { if (item.name == "Layout") { //鍒ゆ柇鏄惁鏄爡鏍忔牸寮� item.setting.colList.forEach(cols => { - if (cols != null) head_attr[cols.fieldId] = cols.value; + if (cols != null) head_attr[cols.fieldId] = + cols.value; }); } else head_attr[item.fieldId] = item.value; @@ -1258,7 +1574,8 @@ style.form.items.forEach(item => { if (item.name == "Layout") { //鍒ゆ柇鏄惁鏄爡鏍忔牸寮� item.setting.colList.forEach(cols => { - if (cols != null) detail_attr[cols + if (cols != null) detail_attr[ + cols .fieldId] = cols.value; }); } else @@ -1278,18 +1595,21 @@ pageData.DefList.forEach(style => { style.form.attrs.forEach(attr => { for (var key in detailAttrList) { - if (style.form.objId == detailAttrList[key][ + if (style.form.objId == detailAttrList[key] + [ 'id' ]) { var keys = Object.keys(detailAttrList[ key]); var isflag = true; keys.forEach((ele) => { - if (ele == attr.attr) isflag = + if (ele == attr.attr) + isflag = false; }); if (isflag) { - detailAttrList[attr.attr] = attr.value; + detailAttrList[attr.attr] = attr + .value; } } } @@ -1315,6 +1635,16 @@ })) }); }); + if (jsonlist.length == 0) { + pageData.okLoading = false + uni.showModal({ + title: this.translateSys("tip"), + content: this.translate("tip_no_select_data"), + showCancel: false, + confirmText: this.translateSys("cancel") + }); + return; + } const list = [] list.push({ page_name: pageData.Name, @@ -1354,195 +1684,340 @@ }; // 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) uni.showModal({ - title: '鎻愮ず', + 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: "鍙栨秷" + confirmText: this.translateSys( + "cancel") }); - else uni.showModal({ - title: '鎻愮ず', - content: tip + ',鎻愮ず:' + result.ret, - showCancel: false, - confirmText: "鍙栨秷" - }); - return false; - } else { - var tip = result.info ? typeof result.info == - 'string' ? result.info : result.info - .join('<br/>') : ''; - if (tip) uni.showModal({ - title: '鎻愮ず', - content: tip, - showCancel: false, - confirmText: "鍙栨秷" - }); - if (result.result_type == 0) { - if (result.action) { - // uni.showModal({title:"鎻愮ず",content:JSON.stringify(result.action),showCancel:false,confirmText:"鍙栨秷"}); + } 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 - ] = - ''; - } - }); + 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: "鎻愮ず", - content: pageParam.Name + "鎴愬姛", - showCancel: false, - confirmText: "鍙栨秷" + 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 (item.action_type == - "remove_subtable_page_row" - ) { //娓呴櫎闈㈡澘涓寚瀹歩d鐨勬暟鎹�- var value = item.value; - const pageData = $this.pageDetail.find((page) => { - value.page_name == page.Name; + } 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) + 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) => { - value.page_name == page.Name; + } 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 - } + 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) => { - value.page_name == page.Name; + } 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({ + 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 (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: "鎻愮ず", - content: result.info, - showCancel: false, - confirmText: "鍙栨秷" - }); + }); + } 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: "閿欒8", - content: res.err_msg, - showCancel: false, - confirmText: "鍙栨秷" - }); } + + 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: "閿欒8.1", - content: "鎵ц鈥滅‘瀹氬悗鈥濅簨浠跺け璐ワ細" + tip, + title: this.translateSys("error") + "8.1", + content: this.translate( + "execute_after_ok_event_failed") + + this.translateSys( + "comma") + + tip, showCancel: false, - confirmText: "鍙栨秷" + confirmText: this.translateSys("cancel") }); }); }, @@ -1552,6 +2027,14 @@ delta: 1 //杩斿洖灞傛暟锛�鍒欎笂涓婇〉 }); }, + translate(t) { + if (typeof this.$t == "function") return this.$t(`page.${t}`) + else return t; + }, + translateSys(t) { + if (typeof this.$t == "function") return this.$t(`sys.${t}`) + else return t; + }, }, }; </script> @@ -1560,54 +2043,47 @@ .uni-page-modal-5601 { display: flex; - height: 100vh; - width: 750rpx; + height: calc(100vh - 30rpx); + width: 720rpx; flex-direction: column !important; + padding: 15rpx; .view-header { display: flex; width: 100%; flex-direction: column; - margin-top: 15rpx; } - .v-headStyle { - width: 100%; - margin-bottom: 10rpx; + .v-head-style { + width: 98%; - .txt_title { - font-size: 28rpx; - text-align: right; - display: inline-block; - vertical-align: 12px; - } - - input { - display: inline-block; - width: 85%; - height: 40rpx; - line-height: 40rpx; - background: #FFF; - border-radius: 0 !important; - color: #2d8cf0; - padding: 10rpx 8rpx 12rpx; - font-size: 28rpx; - font-family: inherit; - box-shadow: none !important; - transition-duration: 0.1s; - margin-bottom: 10rpx; - } - - input::-webkit-input-placeholder { - font-size: 28rpx; + .uni-forms-item { + margin-bottom: 11rpx; } .input-wrapper { border: 1px solid #d5d5d5; - display: inline-block; - width: 65%; - line-height: 22rpx; - margin-bottom: 10rpx; + width: 100%; + display: flex; + flex-direction: row; + + .uni-input { + flex: 1; + padding: 12rpx 8rpx; + color: #2d8cf0; + // height: 40rpx; + // line-height: 40rpx; + } + + .uni-icon { + padding: 8rpx; + font-size: 32rpx; + color: rgb(192, 196, 204); + } + } + + .input-wrapper:hover { + border: 1px solid rgb(41, 121, 255); } } @@ -1660,10 +2136,6 @@ position: relative; border: 0 solid #000; box-sizing: border-box; - } - - .uni-input { - /* border: none; */ } .uni-icon { @@ -1731,7 +2203,7 @@ text-align: left; padding-bottom: 20rpx; - checkbox-group { + checkbox { padding-left: 20px; display: inline-block; } @@ -1766,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