From 7482313cc90753e730c275ad133b22da210f84f9 Mon Sep 17 00:00:00 2001 From: cuiqian2004 <cuiqian2004@163.com> Date: 星期五, 21 三月 2025 19:50:36 +0800 Subject: [PATCH] test --- pages/modal/5601.vue | 3599 +++++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 2,264 insertions(+), 1,335 deletions(-) diff --git a/pages/modal/5601.vue b/pages/modal/5601.vue index 824013f..1943ef7 100644 --- a/pages/modal/5601.vue +++ b/pages/modal/5601.vue @@ -1,52 +1,10 @@ <template> <view class="uni-page-modal-5601"> <!-- 琛ㄥご鏍峰紡 --> - <uni-forms ref="baseForm" label-align="right"> - <view v-for="(item,index) in head_styledef.form.items" :key="index" class="v-head-style"> - <!-- 鏅�甯冨眬 --> - <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" :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> - </view> - </uni-forms-item> - <!-- 鏍呮牸甯冨眬 --> - <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="(col,key) in item.setting.colList"> - <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> - </uni-forms> + <OIForm ref="refBaseForm" class="v-headStyle" :form="head_styledef.form" :focusId="focusFieldId" + @on-click="onClick" @on-focus="ontap" @on-change="onEnterChange" @on-click-prefix="classAttr_extButton" + @on-click-suffix="classAttr_extButton"></OIForm> + <view class="view-content"> <!-- 鐮佺洏瀛愮晫闈�--> <view v-if="param.Show_Welcom_Page==false" class="uni-panel-content"> @@ -65,59 +23,47 @@ 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" :key="ii" + @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':''"> - <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"> + :class="style.form.htmlobjId==active_id?'bk-active':''"> + <OIForm class="dv-panel-form" :form="style.form" viewMode></OIForm> + <div class="dv-panel-button" + v-if="pageData.Select_Button==true || pageData.Row_Button.length > 0"> - <checkbox v-if="pageData.Select_Button==true" :model="ii" + <checkbox v-if="pageData.Select_Button==true" :value="ii" :checked="style.SelBut_Checked" /> <!-- <text></text> --> - <!-- <button type="primary" @click="savaItem(ii)" v-if="param.Sub_Page[0].OK_Button==true">淇濆瓨</Button> --> - <button type="warn" @tap="delItem(pageData,ii)" - v-if="pageData.Del_Button==true">{{translateSys('delete')}}</button> + <button size="mini" v-for="(btn,btnIndex) in pageData.Row_Button" + :key="btnIndex" type="default" + :class="btn.FunCode == 'Delete' ? 'btn-warn' : 'btn-primary'" + @click="onRowBtnClick(btn, pageData,ii)"> + <text v-if="btn.Style == 'img' || btn.Style == 'img_text'" + class="Img"></text> + {{(btn.Style == 'text'|| btn.Style == 'img_text') ? btn.ShowName :""}} + </button> </div> + </div> </checkbox-group> </view> - <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" :class="pageData.okLoading?'btn_disabled':''" :disabled="pageData.okLoading? true:false">{{translateSys('ok')}}</button> + <view class="view-bottom" v-if="pageData.Button.length >0 "> + <button v-for="(btn,btnIndex) in pageData.Button" :key="btnIndex" type="default" + :class="{'btn-primary':(btn.FunCode != 'Cancel'), + 'btn-cancel':(btn.FunCode == 'Cancel'), + 'btn-one':pageData.Button.length == 1, + 'btn-left':(btnIndex < pageData.Button.length - 1), + 'btn-right': btnIndex > 0 && btnIndex == pageData.Button.length - 1 , + 'width-50':(pageData.Button.length == 2),'width-32':(pageData.Button.length == 3),'width-30':(pageData.DropDownButton.length> 0)}" @click="onBtnClick(btn, pageData)"> + <text v-if="btn.Style == 'img' || btn.Style == 'img_text'" class="Img"></text> + {{(btn.Style == 'text'|| btn.Style == 'img_text') ? btn.ShowName :""}} + </button> + <view class="btn-right" v-if="pageData.DropDownButton.length >0 "> + <a @click="clickDropdownBtns(pageData)"> + <text class="mobox-normal-more"></text> + </a> + </view> </view> </view> </swiper-item> @@ -134,16 +80,63 @@ </div> </view> </view> + <view> + <uni-popup class="view-popup" ref="popup" background-color="#fff" @change="popupChange"> + <view class="popup-header">{{check_list.title}}</view> + <view class="popup-content" :class="{ 'popup-height': popupType === 'left' || popupType === 'right' }" + :style="{'width':check_list.width?check_list.width+'px':'375rpx','height':check_list.height?check_list.height+'px':popupType =='center'?'60vh':'88vh'}"> + <view class="popup-cont" + :style="{'height':check_list.height?check_list.height-45+'px':popupType =='center'?'50vh':'80vh'}"> + <view class="view_popup_CheckList" v-for="(item,index) in check_list.items"> + <checkbox-group class="check_list" @change="checkChange" :data-ischeck="item.check" + :data-index="index" :style="{'margin-left': '10rpx'}"> + <label> + <checkbox :value="item.check" :checked="item.check" /> + <text>{{item.name}}</text> + </label> + </checkbox-group> + </view> + </view> + <view class="popup-footer"> + <button type="default" @tap="popup_sava" class="btn_popup_add">{{translateSys('ok')}}</button> + <button type="default" @tap="popup_cancel" + class="btn_popup_cancel">{{translateSys('cancel')}}</button> + </view> + </view> + </uni-popup> + </view> </view> </template> <script> - import Base64 from '../../components/js-base64/base64.js' + import { + Base64 + } from '@/js/Base64.js'; + import { + dictGetInfo + } from "@/api/mobox.js" + import { + getUIStyleInfo, + runCustomEvent, + } from "@/api/data.js" + import dayjs from "dayjs"; + import OIForm from '@/components/oi-form/index.vue' + import OIFormItem from '@/components/oi-form/list/index.vue' + import OIFormInput from '@/components/oi-form/list/input/index.vue' + import OIFormInputNumber from '@/components/oi-form/list/input-number/index.vue' + import buttonClickMixin from '@/mixins/button-click.js'; + export default { name: "PageModal5601", - modules: { - Base64, + mixins: [buttonClickMixin], + components: { + OIForm, + OIFormItem, + OIFormInput, + OIFormInputNumber + }, + data() { return { title: this.translateSys("inventory"), @@ -159,14 +152,14 @@ pageDetail: [], //{StyleDef{}:,DefList:[],ExtData:{}} // 鍒嗘鍣ㄦ暟鎹� current: 0, - Before_OK_Event: {}, After_OK_Event: {}, - Before_Del_Event: {}, - After_Del_Event: {}, - active_id: '', - activelist: [], selectAttrObj: {}, + + global_attr: [], + popupType: "center", + check_list: {}, + popupParam: {}, }; }, computed: { @@ -179,14 +172,11 @@ }, }, onLoad(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) { @@ -196,7 +186,7 @@ title: this.translateSys("error"), content: this.translate("tip_no_master_class"), showCancel: false, - confirmText: this.translateSys("cancel") + confirmText: this.translateSys('close') }); } }, @@ -214,9 +204,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]; @@ -224,13 +216,12 @@ }); }, 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) => { + (this.head_styledef?.form?.items || []).forEach(async (ele, index) => { if (ele.name != "Layout") { attrs.forEach(async (ele2, index2) => { if (ele.fieldId == ele2.name) { @@ -252,20 +243,48 @@ }) } //鍔犺浇鍒濆鐣岄潰 - if (this.$data.param.Show_Welcom_Page) { - this.$data.param.Welcome_Page.Img = this.$data.param.Welcome_Page.Img.replace(/ /g, '+'); - this.$data.param.Welcome_Page.Width = parseInt(this.$data.param.Welcome_Page.Width); - this.$data.param.Welcome_Page.Height = parseInt(this.$data.param.Welcome_Page.Height); + if (this.param.Show_Welcom_Page) { + this.param.Welcome_Page.Img = this.param.Welcome_Page.Img.replace(/ /g, '+'); + this.param.Welcome_Page.Width = parseInt(this.param.Welcome_Page.Width); + this.param.Welcome_Page.Height = parseInt(this.param.Welcome_Page.Height); }; //鍔犺浇Tab椤电 const pageList = this.param.Sub_Page || [] 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 ); + const buttons = this.pageButtonList(page) + page.Button = buttons + page.DropDownButton = [] + if (buttons.length > 3) { + let cancelBtn = undefined + const btns = [] + buttons.forEach((btn) => { + if (btn.FunCode == "Cancel") { + cancelBtn = btn + } else { + btns.push(btn) + } + }) + if (cancelBtn) { + if (btns.length > 2) { + page.DropDownButton = btns.splice(2) + page.Button = btns + } + page.Button.push(cancelBtn) + } else { + if (btns.length > 3) { + page.DropDownButton = btns.splice(3) + page.Button = btns + } + } + } + page.Row_Button = this.rowButtonList(page) } this.setData({ @@ -280,6 +299,92 @@ current: index }) }, + pageButtonList(page) { + if (this.param?.ver == "2.0") { + return page?.Button || [] + + } else { + if (page?.OK_Button) { + let evt = {}; + if (page.Before_ok?.ID) { + evt = { + ID: page.Before_ok?.ID, + Name: page.Before_ok?.Name + }; + } else if (page.After_ok?.ID) { + evt = { + ID: page.After_ok?.ID, + Name: page.After_ok?.Name + }; + } + let btnCancel = { + Cls_Name: this.param?.master_cls?.name || "", + Cls_ID: this.param?.master_cls?.id || "", + FunCode: "Cancel", + ShowName: this.$t("sys.cancel"), + Style: "text", + Prompt: false, + }; + if (evt.ID) { + let btn = { + Cls_Name: this.param?.master_cls?.name || "", + Cls_ID: this.param?.master_cls?.id || "", + FunCode: "TriggerEvent", + ShowName: this.$t("sys.ok"), + Style: "text", + Prompt: false, + NotTriggerSYSEvent: false, + DataStateVerify: false, + AttrVerify: false, + Event: evt, + }; + if (page.After_ok?.ID) { + btn.After_Event = page.After_ok; + } + return [btn, btnCancel]; + } else return [btnCancel]; + } else { + return []; + } + } + }, + rowButtonList(page) { + if (this.param?.ver == "2.0") { + return page?.Row_Button || []; + } else { + if (page?.Del_Button) { + let evt = {}; + if (page.Before_Delete?.ID) { + evt = { + ID: page.Before_Delete?.ID, + Name: page.Before_Delete?.Name, + }; + } else if (page.After_Delete?.ID) { + evt = { + ID: page.After_Delete?.ID, + Name: page.After_Delete?.Name + }; + } + + if (evt.ID) { + return [{ + Cls_Name: this.param?.master_cls?.name || "", + Cls_ID: this.param?.master_cls?.id || "", + FunCode: "Delete", + ShowName: this.$t("sys.delete"), + Style: "text", + Prompt: false, + NotTriggerSYSEvent: false, + DataStateVerify: false, + AttrVerify: false, + AfterProcess_Event: evt, + }]; + } + } + return []; + } + }, + checkboxChange(e) { var items = this.pageDetail[this.current]?.DefList || [] @@ -294,25 +399,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") { @@ -321,7 +425,27 @@ await this.DictGetInfo(ele.bind.dict, styledefHead.form.model, ele); + } else { + if (ele?.name === "Select") { + const selections = ele?.selections || [] + //鏈夐粯璁ゅ�锛屾樉绀洪粯璁ゅ� + let itemName = ele.value || ""; + if (itemName) { + styledefHead.form + .model[ele.fieldId] = itemName; + } + + ele.selections = selections.map((a) => { + return { + value: a.value, + text: a.label + } + }) + + } + } + if ($this.focusFieldId == "") { if (ele.name == 'Input' || ele.name == 'InputNumber') { @@ -339,6 +463,22 @@ .dict, styledefHead.form .model, col); + } else { + if (col?.name === "Select") { + const selections = col?.selections || [] + //鏈夐粯璁ゅ�锛屾樉绀洪粯璁ゅ� + let itemName = col.value || ""; + if (itemName) { + styledefHead.form + .model[col.fieldId] = itemName; + } + col.selections = selections.map((a) => { + return { + value: a.value, + text: a.label + } + }) + } } if ($this.focusFieldId == "") { if (col.name == 'Input' || col @@ -353,59 +493,62 @@ } } } - 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 + }) + console.log("Head_UIStyleGetInfo", this.head_styledef) + + } 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") + confirmText: this.translateSys('close') }); - }); + 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鏄惁浣跨敤瀛楀吀 await this.DictGetInfo(ele.bind.dict, detailstyledef.form .model, ele); + } else { + if (ele?.name === "Select") { + ele.selections = [] + } } + } else { for (let j in ele.setting.colList) { const col = ele.setting.colList[j] @@ -414,31 +557,29 @@ .bind.dict, detailstyledef.form .model, col); + } else { + if (col?.name === "Select") { + col.selections = [] + } } } } } - 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") + confirmText: this.translateSys('close') }); return {} - }); + } + }, @@ -450,14 +591,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,51 +608,19 @@ 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({ title: this.translateSys("error") + "3", content: ex.errMsg, showCancel: false, - confirmText: this.translateSys("cancel") + confirmText: this.translateSys('close') }); } }, - 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) { + console.log("onClick", item) this.focusFieldId = item.fieldId }, ontap(item) { //鎵爜鍔熻兘 @@ -522,10 +631,11 @@ console.log(result.decodedata); item.value = result.decodedata; var $this = this; - if (item.oldvalue != item.value&& item.value.trim() != "") { - item.oldvalue = item.value; + let newVal = item.value.trim() + if (newVal) { + item.oldvalue = newVal; var attr = item.fieldId; - this.head_styledef.form.model[attr] = item.value; + this.head_styledef.form.model[attr] = newVal; var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠� var onSuffixClickCallbackEvent = item.bind .onSuffixClickCallbackEvent; //鍚庡浘鏍囩偣鍑讳簨浠�@@ -533,39 +643,63 @@ .onSuffixClickEvent; //鍚庡浘鏍囩偣鍑诲洖璋� var isflag = false; - if (onChangeEvent.id) { //鍐呭鍙樺寲鍚庝簨浠�+ if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠� $this.onChange(onChangeEvent); } - if (item.value) { //绗竴涓緭鍏ユ涓嶄负绌�- //鍒濆鍖栵紝涓嬩釜杈撳叆妗唂ocus灞炴� - var findd = false - for (let i in $this.head_styledef.form.items) { - const ele = $this.head_styledef.form.items[i] - if (ele.name != "Layout") { - if (ele.name == 'Input' || ele.name == - 'InputNumber') { - if (attr == ele.fieldId) { - findd = true - } else { - if (findd) { - $this.setData({ - focusFieldId: ele.fieldId - }) - break - } + //鍒濆鍖栵紝涓嬩釜杈撳叆妗唂ocus灞炴� + var findd = false + for (let i in $this.head_styledef.form.items) { + const ele = $this.head_styledef.form.items[i] + if (ele.name != "Layout") { + if (ele.name == 'Input' || ele.name == + 'InputNumber') { + if (attr == ele.fieldId) { + findd = true + } else { + if (findd) { + $this.setData({ + focusFieldId: ele.fieldId + }) + break } } - } else { - if (findd) { - let curIndex = ele.setting.colList.findIndex(( - col, index2, arr) => { - return (col.name == 'Input' || col - .name == 'InputNumber'); + + } + } else { + if (findd) { + 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] + .fieldId }) - if (curIndex > -1) { + break + } + + } else { + 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; + }) + if (curIndex2 > -1) { $this.setData({ focusFieldId: ele.setting .colList[curIndex] @@ -573,102 +707,116 @@ }) break } - - } else { - 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; - }) - if (curIndex2 > -1) { - $this.setData({ - focusFieldId: ele.setting - .colList[curIndex] - .fieldId - }) - break - } - } } - } + } } - } }) }, onEnterChange(item) { //鍥炶溅锛岀偣鍑绘寜閽紝鍙栨秷鑺傜偣浜嬩欢 console.log(item); - 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 isflag = false; + let newVal = item.value + if (typeof item.value == "string") { + newVal = item.value.trim() + if (!newVal) { + item.oldvalue = newVal; + var attr = item.fieldId; + this.head_styledef.form.model[attr] = newVal; + return + } - if (onChangeEvent.id) { //鍐呭鍙樺寲鍚庝簨浠�+ } + if (item.oldvalue != newVal) { + item.oldvalue = newVal; + var attr = item.fieldId; + this.head_styledef.form.model[attr] = newVal; + var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�+ if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠� this.onChange(onChangeEvent); } } }, + + classAttr_extButton(item) { + var onSuffixClickCallbackEvent = item.bind.onSuffixClickCallbackEvent; //鍚庡浘鏍囩偣鍑讳簨浠�+ var onSuffixClickEvent = item.bind.onSuffixClickEvent; //鍚庡浘鏍囩偣鍑诲洖璋�+ + if (!onSuffixClickCallbackEvent.id) { + uni.showModal({ + title: this.translateSys("tip"), + content: this.translate('icon_click_callback_empty'), + showCancel: false, + confirmText: this.translateSys('close') + }); + return; + } + if (!onSuffixClickEvent.id) { + uni.showModal({ + title: this.translateSys("tip"), + content: this.translate('icon_click_event_empty'), + showCancel: false, + confirmText: this.translateSys('close') + }); + return; + } + this.popupType = 'right' + // open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦�uni-popup 缁勪欢涓婄粦瀹�type灞炴� + this.$refs.popup.open(this.popupType); + + this.dataObjRunCustomEvent_Return(onSuffixClickEvent.id, '', onSuffixClickCallbackEvent.id, + item); + }, + 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; + console.log(pageData) + if (pageData.DefList) { + pageData.DefList.forEach(style => { + var detail_attr = {}; + style.form.items.forEach(item => { + if (item.name == "Layout") { //鍒ゆ柇鏄惁鏄爡鏍忔牸寮�+ item.setting.colList.forEach(col => { + if (col != null) detail_attr[col + .fieldId] = col.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; + } } } - } + }); }); - }); - + } + console.log(detailAttrList) const jsonlist = []; detailAttrList.forEach(attr => { jsonlist.push({ @@ -691,15 +839,16 @@ var head_attr = {}; 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; + item.setting.colList.forEach(col => { + if (col != null) head_attr[col + .fieldId] = col.value; }); } else head_attr[item.fieldId] = item.value; }); var obj_attr = this.head_styledef.form.model; // console.log(obj_attr); + var input_param = Base64.encode( JSON.stringify( Object.keys(head_attr).map((a) => ({ @@ -711,21 +860,22 @@ var $this = this; const jsonList = [] this.pageDetail.forEach((page) => { + jsonList.push({ page_name: page.Name, - item_list: $this.getDetailAttrList(page - .DefList, page - .Select_Button), + item_list: $this.getDetailAttrList(page), ext_data: page.ExtData || {} }) + }) const data_json = Base64.encode( JSON.stringify(jsonList) ); + console.log(jsonList) var dataInfo = { ed_type: 0, start_transaction: true, - class_id: this.$data.head_styledef.form.clsId, + class_id: this.head_styledef.form.clsId, class_name: '', event_id: event.id, event_name: '', @@ -741,464 +891,184 @@ 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") + 'close') }); - - if (result.result_type == 0 && result.action) { - result.action.forEach(item => { - if (item.action_type == - "insert_subtable_page_row" - ) { //鐮佺洏涓�- $this.$data.param - .Show_Welcom_Page = - false; - var value = item.value; - $this.viewAceionRow(value); - } else if (item.action_type == - "set_subtable_page_content" - ) { //宸茬爜鐩�- $this.$data.param - .Show_Welcom_Page = - false; - var value = item.value; - const pageData = $this - .pageDetail.find(( - page) => { - return value - .page_name == - page.Name; - }); - if (value.clear_confirm != - false && value.clear == - true && - pageData && pageData - .DefList.length > 0 - ) { //鍒ゆ柇鏄惁娓呯┖椤电鍐呭,姝e湪鐮佺洏鏄惁鏈夋暟鎹�- uni.showModal({ - title: this - .translateSys( - 'tip' - ), - content: this - .translate( - "are_you_sure_clear_first" - ) + - this - .translateSys( - "quotation_mark_left" - ) + - value - .page_name + - this - .translateSys( - "quotation_mark_right" - ) + - this - .translate( - "are_you_sure_clear_last" - ), - 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") + 'close') }); + return false; + } else { + var tip = result.info ? typeof result.info == + 'string' ? result.info : + result.info.join('<br/>') : ''; + if (tip) uni.showModal({ + title: this.translateSys('tip'), + content: tip, + showCancel: false, + confirmText: this.translateSys( + 'close') + }); + + if (result.result_type == 0 && result.action) { + result.action.forEach(item => { + if (item.action_type == "insert_subtable_page_row") { //鐮佺洏涓�+ $this.param.Show_Welcom_Page = false; + var value = item.value; + $this.viewAceionRow(value); + } else if (item.action_type == + "set_subtable_page_content") { //宸茬爜鐩�+ $this.param.Show_Welcom_Page = false; + var value = item.value; + const pageData = $this.pageDetail.find((page) => { + return value.page_name == page.Name; + }); + if (value.clear_confirm != false && value.clear == true && + pageData && pageData.DefList.length > 0 + ) { //鍒ゆ柇鏄惁娓呯┖椤电鍐呭,姝e湪鐮佺洏鏄惁鏈夋暟鎹�+ uni.showModal({ + title: this.translateSys('tip'), + content: this.translate( + "are_you_sure_clear_first") + + this.translateSys( + "quotation_mark_left") + + value.page_name + + this.translateSys( + "quotation_mark_right") + + this.translate( + "are_you_sure_clear_last"), + cancelText: $this.translateSys('ok'), + confirmText: $this.translateSys('cancel'), + success: function(res) { + if (res.cancel) { + if (pageData) + pageData.DefList = []; + $this.viewAceionContent(value); + } else if (res.confirm) { + if (pageData) + pageData.DefList = []; + $this.viewAceionContent(value); + } + } + }); + } else { + if (pageData) + pageData.DefList = []; + $this.viewAceionContent(value); + } + } else if (item.action_type == "select_subtable_page") { + var value = item.value; + const pageIndex = $this.pageDetail.findIndex((page) => { + return value.page_name == page.Name; + }); + if (pageIndex > -1) { + $this.setData({ + current: pageIndex + }) + } + } else if (item.action_type == "select_subtable_page_row") { + // value = {"page_name":"鐮佺洏涓�, "row":{"id":"xx"}} + var value = item.value; + $this.viewActionSelectRow(value) + } else if (item.action_type == + "remove_subtable_page_row") { //娓呴櫎闈㈡澘涓寚瀹歩d鐨勬暟鎹�+ var value = item.value; + $this.viewActionRemoveRow(value) + } else if (item.action_type == "set_subtable_page_row") { + $this.viewActionSetRow(item.value) + + } else if (item.action_type == "set_subtable_page_ext_data") { + var value = item.value; + const pageData = $this.pageDetail.find((page) => { + return value.page_name == page.Name; + }); + if (pageData) + pageData.ExtData = value.ext_data + + } else if (item.action_type == "clear_subpage_rows") { + var value = item.value; + const pageIndex = $this.pageDetail.findIndex((page) => { + return value.page_name == page.Name; + }); + if (pageIndex > -1) { + const pageData = $this.pageDetail[pageIndex] + pageData.DefList = [] + pageData.ExtData = {} + + $this.$set(this.pageDetail, pageIndex, pageData) + } + + } else if (item.action_type == "set_dlg_current_edit_attr") { + + if ($this.focusOldFieldId == item.value) { + $this.setData({ + focusFieldId: "" + }) + } else { + $this.setData({ + focusFieldId: $this.focusOldFieldId + }) + } + $this.$nextTick(() => { + $this.setData({ + focusFieldId: item.value + }) + }); + } else if (item.action_type == "set_dlg_attr") { + // value = {"attr":"xxx", "value":"xxx"} + var data = item.value; + $this.setFormValues(data) + } + }); + } else { + + if (result.info) { + uni.showModal({ + title: this.translateSys( + "error") + "4.3", + content: result.info, + showCancel: false, + confirmText: this + .translateSys('close') + }); + } + } + } + }).catch(ex => { // 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") + confirmText: this.translateSys('close') }); }); } @@ -1213,7 +1083,7 @@ this.translate('reason') + this.translateSys("colon") + tip, showCancel: false, - confirmText: this.translateSys("cancel") + confirmText: this.translateSys('close') }); } }, @@ -1224,6 +1094,9 @@ number1 = parseInt(value1) if (value2) number2 = parseInt(value2) + if (!operation) { + return value2; + } if (operation == "+") { return number1 + number2 } else if (operation == "-") { @@ -1231,77 +1104,280 @@ } else if (operation == "*") { return number1 * number2 } else if (operation == "/") { - if (number2) - return number1 / number2 - else - return number1 - } else return number2 + if (number2) return number1 / number2; + else { + throw new Error(`${this.translate("illegal_dividend")}'${value2}'`); + return 0; + } + } else if (operation == "=") { + return value2; + } else { + throw new Error(`${this.translate("unrecognized_operator")}'${operation}'`); + return 0; + } }, + viewActionSelectRow(value) { + const pageData = this.pageDetail.find((page) => { + return value.page_name == page.Name; + }); + if (pageData?.DefList) { + const detailStyleDefList = pageData.DefList || [] + let bFindRow = false; + for (let index = 0; index < detailStyleDefList.length; index++) { + const ele = detailStyleDefList[index] + + if (value.row.id) { + if (ele.form.objId == value.row.id) { + bFindRow = true; + } + } else { + const conditions = row.condition || []; + if (conditions.length > 0) { + for (let index = 0; index < detailStyleDefList.length; index++) { + const ele = detailStyleDefList[index] + let bFindCondition = true; + for (let i in conditions) { + const condition = conditions[i]; + let bFind = false; + for (let i2 in ele.form.items) { + const ele2 = ele.form.items[i2]; + if (ele2.name != "Layout") { + if (ele2.fieldId == condition.attr) { + if (condition.value == ele2.value) { + bFind = true; + } + break; + } + } else { + const colList = ele2.setting.colList || []; + for (let i3 in colList) { + const col = colList[i3]; + if (col.fieldId == condition.attr) { + if (condition.value == col.value) { + bFind = true; + } + break; + } + } + if (bFind) break; + } + } + if (!bFind) { + bFindCondition = false; + break; + } + } + if (bFindCondition) { + bFindRow = true; + } + } + } + } + if (bFindRow) { + ele.SelBut_Checked = true; + this.active_id = ele.form.htmlobjId; + //鑷姩婊氬姩鍒版寚瀹氬厓绱�+ 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(); + } + break + } + } + + }, + + viewActionRemoveRow(value) { + if (JSON.stringify(value.row) == '{}') { + return; + } + const pageIndex = this.pageDetail.findIndex((page, index2, arr) => { + return value.page_name == page.Name; + }) + if (pageIndex < 0) + return + const pageData = this.pageDetail[pageIndex] + if (pageData?.DefList) //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄緟鍒嗘嫞//娓呴櫎闈㈡澘涓寚瀹歩d鐨勬暟鎹�+ { + const detailStyleDefList = pageData.DefList || [] + value.row.forEach((row) => { + if (row.id) { + for (let index = 0; index < detailStyleDefList.length; index++) { + const ele = detailStyleDefList[index] + if (ele.form.objId == row.id) { + detailStyleDefList.splice(index, 1); + index--; + } + } + + } else { + const conditions = row.condition || []; + if (conditions.length > 0) { + for (let index = 0; index < detailStyleDefList.length; index++) { + const ele = detailStyleDefList[index] + let bFindCondition = true; + for (let i in conditions) { + const condition = conditions[i]; + let bFind = false; + for (let i2 in ele.form.items) { + const ele2 = ele.form.items[i2]; + if (ele2.name != "Layout") { + if (ele2.fieldId == condition.attr) { + if (condition.value == ele2.value) { + bFind = true; + } + break; + } + } else { + const colList = ele2.setting.colList || []; + for (let i3 in colList) { + const col = colList[i3]; + if (col.fieldId == condition.attr) { + if (condition.value == col.value) { + bFind = true; + } + break; + } + } + if (bFind) break; + } + } + if (!bFind) { + bFindCondition = false; + break; + } + } + if (bFindCondition) { + detailStyleDefList.splice(index, 1); + + } + } + } + + } + }); + } + this.$set(this.pageDetail, pageIndex, pageData) + }, //鏇存柊鍒嗛〉绛句腑鐨勫垪琛ㄩ」鍐呭 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 - var detailStyleDefList = pageData.DefList || [] + const pageData = $this.pageDetail[pageIndex] + const 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 - .attr) { - ele2.value = - $this - .operationNumber( - ele2 - .value, - attr - .value, - attr - .operation + if (rowData.id) { + if (ele.form.objId == rowData.id) { + rowData.attrs.forEach(attr => { + ele.form.items.forEach(ele2 => { + if (ele2.name != 'Layout') { + if (ele2.fieldId == attr.attr) { + ele2.value = $this.operationNumber( + ele2.value, + attr.value, + attr.operation ) - } - } else if (ele2.name == - 'Layout') { - ele2.setting - .colList - .forEach( - col => { - if ( - col) { - if (col - .fieldId == - attr - .attr - ) { - col.value = - $this - .operationNumber( - col - .value, - attr - .value, - attr - .operation - ) - } + } + } else if (ele2.name == 'Layout') { + ele2.setting.colList.forEach(col => { + if (col) { + if (col.fieldId == attr.attr) { + col.value = $this + .operationNumber( + col.value, + attr.value, + attr.operation + ) } - }) - } + } + }) + } + }); }); - }); + } + } else if (rowData.condition) { + const conditions = rowData.condition + let bFindCondition = true; + for (let i in conditions) { + const condition = conditions[i]; + let bFind = false; + for (let i2 in ele.form.items) { + const ele2 = ele.form.items[i2]; + if (ele2.name != "Layout") { + if (ele2.fieldId == condition.attr) { + if (condition.value == ele2.value) { + bFind = true; + } + break; + } + } else { + const colList = ele2.setting.colList || []; + for (let i3 in colList) { + const col = colList[i3]; + if (col.fieldId == condition.attr) { + if (condition.value == col.value) { + bFind = true; + } + break; + } + } + if (bFind) break; + } + } + if (!bFind) { + bFindCondition = false; + break; + } + } + if (bFindCondition) { + rowData.attrs.forEach(attr => { + ele.form.items.forEach(ele2 => { + if (ele2.name != 'Layout') { + if (ele2.fieldId == attr.attr) { + ele2.value = + $this.operationNumber( + ele2.value, + attr.value, + attr.operation + ) + } + } else if (ele2.name == 'Layout') { + ele2.setting.colList.forEach(col => { + if (col) { + if (col.fieldId == attr.attr) { + col.value = + $this.operationNumber( + col.value, attr + .value, attr + .operation) + } + } + }) + } + }); + }); + + } + } }) }); - pageData.DefList = detailStyleDefList - + pageData.DefList = detailStyleDefList + $this.$set(this.pageDetail, pageIndex, pageData) }, //鍔犺浇姝e湪鐮佺洏鍐呭 viewAceionRow(data) { @@ -1309,145 +1385,197 @@ 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 => { + 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; + 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 == + 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) - 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; - } - }); + 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.setData({pageDetail:pageD}) + $this.$set(this.pageDetail, pageIndex, pageData) + + }); + } + $this.$set(this.pageDetail, pageIndex, pageData) + }, + setFormValues(attrs) { + const head_styledef = this.head_styledef + if (JSON.stringify(attrs) == '{}') { + return; + } + console.log(attrs) + attrs.forEach(async (attr, key) => { + if (attr.choice_list) { + var dictItemList = []; + attr.choice_list.forEach(async (val, index) => { + dictItemList.push({ + text: val, + value: val + }); + }); + + head_styledef.form.items.forEach(async (attr_item, index) => { + if (attr_item.name != "Layout") { + if (attr_item.fieldId == attr.attr) { + if (attr_item.useDict) { + attr_item.dict = dictItemList; + } else { + attr_item.selections = dictItemList; + } + } + } else if (attr_item.name == "Layout") { + attr_item.setting.colList.forEach((col) => { + if (col) { + if (col.fieldId == attr.attr) { + if (col.useDict) { + col.dict = dictItemList; + } else { + col.selections = dictItemList; + } + } + } }); - isflag = false; } }); - if (isflag) pageData.DefList.push(detailStyle); //寰呭垎鎷�- } else { - pageData.DefList.push(detailStyle); //寰呭垎鎷� } - $this.activelist.push({ - active: false - }); + if (!head_styledef.form.model[attr.attr]) { + head_styledef.form.model[attr.attr] = attr.value; + } + head_styledef.form.items.forEach(async (ele) => { + if (ele.name != "Layout") { + if (ele.fieldId == attr.attr) { + ele.value = attr.value; + ele.oldvalue = attr.value; + } + } else if (ele.name == "Layout") { + ele.setting.colList.forEach((col) => { + if (col) { + if (col.fieldId == attr.attr) { + col.value = attr.value; + col.oldvalue = attr.value; + } + } + }); + } - }); - + }) + //鍒ゆ柇琛ㄥ崟閲屾槸鍚︽湁杩斿洖瀛楁锛屾病鏈夊氨瑁呰浇鍒癿odel閲岋紝鐐瑰嚮纭畾鎻愪氦鐨勬椂鍊欏甫涓婅繖浜涙暟鎹�+ }) + console.log(head_styledef) + this.setData({ + head_styledef: head_styledef + }) }, onClickItem(e) { //閫夋嫨椤电 // console.log(e); @@ -1456,29 +1584,14 @@ onDetail1EnterChange(item) { //鐮佺洏涓牱寮忓洖杞︿簨浠� console.log(item); }, - delItem(pageData, index) { //鍒犻櫎鐮佺洏涓牱寮忛潰鏉�- - //鍒犻櫎鐮佺洏涓牱寮忛潰鏉�- this.Before_Del_Event = pageData.Before_Delete; - this.After_Del_Event = pageData.After_Delete; - const style = pageData.DefList[index]; - //鍒犻櫎鐮佺洏涓牱寮忛潰鏉�- pageData.DefList.splice(index, 1); - if (this.Before_Del_Event?.ID) - //鏄惁鏈夊垹闄ゅ墠浜嬩欢 - this.del(pageData, style, this.Before_Del_Event); - else if (this.After_Del_Event?.ID) - //鏄惁鏈夊垹闄ゅ悗浜嬩欢 - this.del(pageData, style, this.After_Del_Event); - }, async del(pageData, style, event) { //鑾峰彇琛ㄥご灞炴� var head_attr = {}; - this.$data.head_styledef.form.items.forEach(item => { + this.head_styledef.form.items.forEach(item => { if (item.name == "Layout") { //鍒ゆ柇鏄惁鏄爡鏍忔牸寮�- item.setting.colList.forEach(cols => { - if (cols != null) head_attr[cols.fieldId] = - cols.value; + item.setting.colList.forEach(col => { + if (col != null) head_attr[col.fieldId] = + col.value; }); } else head_attr[item.fieldId] = item.value; @@ -1489,9 +1602,9 @@ 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 + item.setting.colList.forEach(col => { + if (col != null) detail_attr[col + .fieldId] = col .value; }); } else @@ -1546,7 +1659,7 @@ title: this.translateSys("tip"), content: this.translate("tip_no_select_data"), showCancel: false, - confirmText: this.translateSys("cancel") + confirmText: this.translateSys('close') }); return; } @@ -1560,14 +1673,802 @@ $this.runCustomEvent(pageData, event, input_param, list); }, - onPanelClick(value) { - // console.log(value); - this.active_id = ''; - this.activelist.forEach(ele => { - ele.active = false; + popupChange(e) { + console.log('褰撳墠妯″紡锛� + e.type + ',鐘舵�锛� + e.show); + }, + checkChange(e) { //寮规check閫夋嫨 + // console.log(e.target.dataset); + var index = e.target.dataset.index; + var ischeck = e.target.dataset.ischeck; + var data = this.check_list.items; + // this.check_list.items=[]; + if (this.check_list.multiple_choice == "0") { //鍒ゆ柇鏃跺崟閫夎繕鏄閫�+ for (var i in data) { + data[i].check = false; + } + } + data[index].check = ischeck ? false : true; + this.check_list.items = data; + + }, + popup_cancel(e) { //寮规鍙栨秷 + this.$refs.popup.close(); + }, + popup_sava(e) { //寮规纭畾 + var $this = this; + var items = $this.check_list.items; + var data = []; + var name = ""; + for (var i = 0; i < items.length; i++) { + if (items[i].check == true) { + if (name) + name += ';'; + name += items[i].name; + data.push({ + id: items[i].id, + name: items[i].name + }); + } + } + if (!$this.popupParam) { + uni.showModal({ + title: this.translateSys("tip"), + content: "popupParam涓虹┖锛�, + showCancel: false, + confirmText: this.translateSys('close') + }); + return; + } + if (data.length == 0) { + uni.showModal({ + title: this.translateSys("tip"), + content: this.translate("tip_no_select_data"), + showCancel: false, + confirmText: this.translateSys('close') + }); + return; + } + var callback_eventid = $this.popupParam.button_callback.trim(); + var info = { + eventid: callback_eventid, + edtype: "0", + projectid: '', + rclsid: '', + robjid: '', + userlogin: '', + clsid: $this.ClsID, + objid: "", + attr: $this.popupParam.req, + dataJson: data + } + $this.DataObjRunCustomEvent(info, $this.popupParam.data_attr); + this.$refs.popup.close(); + }, + + async DataObjRunCustomEvent(info, data_attr) { + var $this = this; + var enviroment = { + 'function': '3000', // 鍔熻兘鐐圭紪鍙�+ cls_id: this.ClsID, // 鍔熻兘鐐逛富鏁版嵁绫绘爣璇�+ 'button': 'top', // top/bottom + button_name: this.translateSys('add2'), + master: { + cls_id: this.ClsID, // button=bottom鏃�master鐨刢ls_id + //obj_id: '' // button=bottom鏃�master鐨刼bj_id + } + }; + if (data_attr) { + enviroment.edit_dlg = { + type: 'small', //灏忕獥鍙�+ class_id: this.ClsID, //褰撳墠鏁版嵁绫籭d + } + if (data_attr) { + enviroment.edit_dlg.form_control = { //鎵�睘鐨勮〃鍗曟帶浠�+ name: data_attr.Name, //瀛楁灞炴� + text: data_attr.DispName, //鏄剧ず鏂囨湰 + group_name: data_attr.GroupName, //灞炴�缁�+ type: data_attr.Type, //瀛楁绫诲瀷 + readonly: data_attr.ReadOnly, //鏄惁鍙 + button_img: data_attr.button_img, //寮曠敤鎸夐挳鐨勫浘鏍�+ button_tooltip: data_attr.button_tooltip //寮曠敤鎸夐挳鐨則ooltip + } + } + } + enviroment = Base64.encode(JSON.stringify(enviroment)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜 + var input_param = Base64.encode(JSON.stringify(info.attr)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜 + var global_attr = Base64.encode(JSON.stringify(this.global_attr)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜 + if (info.dataJson) + info.dataJson = Base64.encode(JSON.stringify(info.dataJson)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜 + var obj_attr = {}; + info.attr.forEach(item => { + obj_attr[item.attr] = item.value; }); - this.activelist[value].active = true; - // console.log(this.$data.activelist); + if (!info.eventid.includes('{')) info.eventid = '{' + info.eventid + '}'; + var dataInfo = { + ed_type: info.edtype, + start_transaction: true, + class_id: info.clsid, + class_name: '', + event_id: info.eventid, + event_name: '', + data_obj_id: info.objid, + obj_attr: obj_attr, + prj_id: info.projectid, + ref_cls_id: info.rclsid, + rel_obj_id: info.robjid, + user_login: info.userlogin, + data_json: info.dataJson, + compose_info: '', + ext_info: enviroment, + global_attr: global_attr, + input_param: input_param, + }; + console.log(dataInfo); + // return; + runCustomEvent(dataInfo).then(data => { + if (data.ret != 0) { + var tip = data.err_info ? typeof data.err_info == 'string' ? data + .err_info : + data + .err_info.join('<br/>') : ''; + if (data.ret == 801) { + if (this.param.Only_Script_Error) { + let pos = tip.indexOf("锛�); + if (pos > -1) tip = tip.substring(pos + 1); + } + uni.showModal({ + title: this.translateSys("tip"), + content: tip, + showCancel: false, + confirmText: this.translateSys('close') + }); + } else uni.showModal({ + title: this.translateSys("tip"), + content: tip + ',' + this.translateSys('tip') + ':' + data + .ret, + showCancel: false, + confirmText: this.translateSys('close') + }); + return false + } else { + var tip = data.info ? typeof data.info == 'string' ? data.info : data + .info + .join( + '<br/>') : ''; + if (tip) uni.showModal({ + title: this.translateSys("tip"), + content: tip, + showCancel: false, + confirmText: this.translateSys('close') + }); + + var actionlist = data.action; + if (actionlist) { + console.log(actionlist); + for (var i = 0; i < actionlist.length; i++) { + var action = actionlist[i]; + if (action.action_type == 'set_dlg_attr') { + var result = action.value; + $this.setFormValues(result) + } else if (action.action_type == 'set_dlg_attr_show') { + var result = action.value; + result.forEach(async (attr, key) => { + $this.head_styledef.form.items.forEach(async ( + ele, + index) => { + //鍒ゆ柇鏄惁鏄爡鏍艰〃鍗�+ if (ele.name != 'Layout') { + if (ele.fieldId == attr + .attr) { + ele.show = attr.show; + } + } else if (ele.name == + 'Layout') { + ele.setting.colList + .forEach((col) => { + if (col) { + if (col + .fieldId == + attr + .attr + ) { + col.show = + attr + .show; + } + } + }); + } + }); + }); + var head_styledef = JSON.parse(JSON.stringify($this.$data + .head_styledef)); + $this.head_styledef = []; + $this.head_styledef = head_styledef; + // console.log($this.head_styledef); + } else if (action.action_type == 'set_global_attr') { + $this.global_attr = action.value || []; + } else { + uni.showModal({ + title: this.translateSys("tip"), + content: this.translateSys( + "quotation_mark_left") + + action + .action_type + this.translateSys( + "quotation_mark_right") + this + .translate( + "tip_action_unprocessed"), + showCancel: false, + confirmText: this.translateSys('close') + }); + } + } + } + console.log($this.head_styledef); + if (data.result) { + var result = data.result; + $this.setFormValues(result) + } + } + + }).catch(ex => { + // console.log(ex); + let exStr = JSON.stringify(ex) + if (exStr == "{}") + exStr = ex + let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr + uni.showModal({ + title: this.translateSys("error") + "3.1", + content: exStr, + showCancel: false, + confirmText: this.translateSys('close') + }); + }); + }, + dataObjRunCustomEvent_Return(eventid, data_attr, button_callback, item) { + console.log("dataObjRunCustomEvent_Return", eventid, data_attr, button_callback) + const $this = this + var enviroment = { + 'function': '3000', // 鍔熻兘鐐圭紪鍙�+ cls_id: $this.ClsID, // 鍔熻兘鐐逛富鏁版嵁绫绘爣璇�+ 'button': 'top', // top/bottom + button_name: $this.translateSys('add2'), + master: { + cls_id: $this.ClsID, // button=bottom鏃�master鐨刢ls_id + //obj_id: '' // button=bottom鏃�master鐨刼bj_id + } + }; + var obj_attr = $this.head_styledef.form.model; + console.log(obj_attr); + var req = Object.keys(obj_attr).map((a) => ({ + attr: a, + value: obj_attr[a] || "", + })); + + var extinfo = enviroment; + extinfo.edit_dlg = { + type: 'small', //灏忕獥鍙�+ class_id: $this.ClsID, //褰撳墠鏁版嵁绫籭d + } + extinfo = Base64.encode(JSON.stringify(extinfo)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜 + var global_attr = Base64.encode(JSON.stringify($this.global_attr)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜 + var obj_attr = {}; + req.forEach(item2 => { + obj_attr[item2.attr] = item2.value; + }); + let input_param = Base64.encode( + JSON.stringify( + Object.keys(obj_attr).map((a) => ({ + attr: a, + value: obj_attr[a] || "", + })) + ) + ); + + if (!eventid.includes('{')) eventid = '{' + eventid + '}'; + var dataInfo = { + ed_type: "0", + start_transaction: true, + class_id: $this.ClsID, + class_name: '', + event_id: eventid, + event_name: '', + data_obj_id: '', + obj_attr: obj_attr, + prj_id: '', + ref_cls_id: '', + rel_obj_id: '', + user_login: '', + data_json: [], + compose_info: '', + ext_info: extinfo, + global_attr: global_attr, + input_param: input_param, + }; + console.log(dataInfo); + // return; + runCustomEvent(dataInfo).then(data => { + if (data.ret != 0) { + var tip = data.err_info ? typeof data.err_info == 'string' ? data + .err_info : + data + .err_info.join('<br/>') : ''; + if (data.ret == 801) { + if ($this.param.Only_Script_Error) { + let pos = tip.indexOf("锛�); + if (pos > -1) tip = tip.substring(pos + 1); + } + uni.showModal({ + title: $this.translateSys("tip"), + content: tip, + showCancel: false, + confirmText: $this.translateSys('close') + }); + } else uni.showModal({ + title: $this.translateSys("tip"), + content: tip + ',' + $this.translateSys('tip') + ':' + data + .ret, + showCancel: false, + confirmText: $this.translateSys('close') + }); + return false + } else { + var tip = data.info ? typeof data.info == 'string' ? data.info : data + .info + .join( + '<br/>') : ''; + if (tip) uni.showModal({ + title: $this.translateSys("tip"), + content: tip, + showCancel: false, + confirmText: $this.translateSys('close') + }); + + if (data != "") { + var actions = data.action; + if (actions) { + for (var i = 0; i < actions.length; i++) { + var action = actions[i]; + console.log(action) + var val = action.value; + var enviroment = JSON.stringify(enviroment); + + if (action.action_type == 'open_panel') { + var d = dialog({ + title: '<i class="ace-icon fa fa-info-circle"></i> ' + + $this.translateSys("tip"), + content: $this.translateSys( + "quotation_mark_left") + + action + .action_type + $this.translateSys( + "quotation_mark_right") + $this + .translate( + "tip_action_unprocessed") + }); + d.show(); + } else if (action.action_type == 'open_select_userdlg') { + var style = val.style; + // style == 'user' ? '閫夋嫨浜哄憳' : style == 'department' ? '閫夋嫨閮ㄩ棬' : style == 'role' ? '閫夋嫨瑙掕壊' : '' + var param = { + item: item, + button_callback: button_callback, + req: req, + data_attr: data_attr + } + uni.navigateTo({ + url: '../selpsn/index?mulit=false¶m=' + + JSON + .stringify( + param), + events: { + AddPer(data, param) { + // console.log(param); + console.log(data); + var callback_eventid = param + .button_callback + .trim(); + var info = { + eventid: callback_eventid, + edtype: "0", + projectid: '', + rclsid: '', + robjid: '', + userlogin: '', + clsid: $this.param + .DataCls + .id, + objid: "", + attr: param.req, + inputparameter: data, + dataJson: [], + } + $this.DataObjRunCustomEvent(info, + param + .data_attr); + } + } + }); + } else if (action.action_type == 'open_data_query_dlg') { + var d = dialog({ + title: '<i class="ace-icon fa fa-info-circle"></i> ' + + $this.translateSys("tip"), + content: $this.translateSys( + "quotation_mark_left") + + action + .action_type + $this.translateSys( + "quotation_mark_right") + $this + .translate( + "tip_action_unprocessed") + }); + d.show(); + } else if (action.action_type == 'open_common_dlg') { + + if (val.common_dlg_id == 'check_list') { + $this.setData({ + check_list: val.config + }) + console.log($this.check_list) + if (val.config.appear_style == 'sideslip') //鍒ゆ柇鏄惁鏄晶婊�+ $this.setData({ + popupType: "right" + }) + else + $this.setData({ + popupType: "center" + }) + // open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦�uni-popup 缁勪欢涓婄粦瀹�type灞炴� + $this.$refs.popup.open($this.popupType); + var popupParam = { + item: item, + button_callback: button_callback, + req: req, + data_attr: data_attr + } + $this.setData({ + popupParam: popupParam + }) + } + } else if (action.action_type == 'open_project_query_dlg') { + //console.log(action.value.select_range); + //console.log(action.value.mulit_select); + var priRel = '-1'; + if (action.value.select_range == '鍏ㄩ儴鐩稿叧') + priRel = '0'; + else if (action.value.select_range == '鎴戣礋璐g殑椤圭洰') + priRel = '1'; + else if (action.value.select_range == '鎴戝垱寤虹殑') + priRel = '2'; + else if (action.value.select_range == '鎴戝弬涓庣殑' || action + .value + .select_range == '鎴戝弬鍔犵殑') + priRel = '3'; + else if (action.value.select_range == '鎴戝叧娉ㄧ殑') + priRel = '4'; + else if (action.value.select_range == '鎴戜笅灞炵殑椤圭洰') + priRel = '5'; + var param_ = { + item: item, + button_callback: button_callback, + req: req + } + uni.navigateTo({ + url: '../selPrj/index?relation=' + priRel + + '¶m=' + + JSON.stringify(param_), + events: { + AddPer(data, param) { + var attr = param.item.fieldId; + $this.head_styledef.form.model[ + attr] = + data[0].ID + + ';' + data[0].Name; + + // $this.classAttrList[param.index].Attr[param.iindex].Value=data[0].Name; + // $this.classAttrList[param.index].Attr[param.iindex].ValID=data[0].ID+';'+data[0].Name; + var callback_eventid = param + .button_callback + .trim(); + if (callback_eventid) { + var info = { + eventid: callback_eventid, + edtype: "2", + projectid: data[0].ID, + rclsid: "", + robjid: "", + userlogin: "", + clsid: $this.$data + .param + .DataCls.id, + objid: "", + attr: param.req, + dataJson: [], + } + + $this.DataObjRunCustomEvent( + info); + } + } + } + }); + } else { + uni.showModal({ + title: $this.translateSys("tip"), + content: $this.translateSys( + "quotation_mark_left") + + action.action_type + $this.translateSys( + "quotation_mark_right") + $this + .translate( + "tip_action_unprocessed"), + showCancel: false, + confirmText: $this.translateSys('close') + }); + } + } + } + } else { + uni.showModal({ + title: $this.translateSys('tip') + "5.2", + content: $this.translateSys("quotation_mark_left") + + "before_click_button" + $this.translateSys( + "quotation_mark_right") + $this.translateSys( + "comma") + 'event_id' + eventid, + showCancel: false, + confirmText: $this.translateSys('close') + }); + } + } + + }).catch(ex => { + // console.log(ex); + let exStr = JSON.stringify(ex) + if (exStr == "{}") + exStr = ex + let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr + uni.showModal({ + title: $this.translateSys('tip') + "5.1", + content: exStr, + showCancel: false, + confirmText: $this.translateSys('close') + }); + }); + }, + + + onPanelClick(value, id) { + // console.log(value); + this.active_id = id; + }, + //鐐瑰嚮鎸夐挳鍒楄〃 + clickDropdownBtns(pageData) { + const that = this + const itemlist = []; + const btnList = pageData.DropDownButton || [] + + for (let i in btnList) { + itemlist.push(btnList[i].ShowName || ""); + } + uni.showActionSheet({ + // title: '鎸夐挳鍒楄〃', + itemList: itemlist, + success: (e) => { + console.log(e.tapIndex); + var btn = btnList[e.tapIndex]; + that.onBtnClick(btn, pageData); + } + }) + }, + onBtnClick(btn, pageData) { + const $this = this + if (btn.Prompt) { + const sContent = btn.PromptContent || this.translate("confirm") + + uni.showModal({ + title: this.translateSys("tip"), + content: btn.PromptContent || this.translate("confirm"), + cancelText: this.translateSys('ok'), + confirmText: this.translateSys('cancel'), + success: function(res) { + if (res.cancel) { + $this.onButtonClicked(btn, pageData, -1); + } + + }, + }) + + } else { + this.handleButtonClick((done) => { + this.onButtonClicked(btn, pageData, -1); + setTimeout(() => { + done(); // 閲嶇疆鐘舵� + }, 1000); + }); + + } + }, + onRowBtnClick(btn, pageData, index) { + const $this = this + if (btn.Prompt) { + const sContent = btn.PromptContent || this.translate("confirm") + uni.showModal({ + title: this.translateSys("tip"), + content: btn.PromptContent || this.translate("confirm"), + cancelText: this.translateSys('ok'), + confirmText: this.translateSys('cancel'), + success: function(res) { + if (res.cancel) { + $this.onButtonClicked(btn, pageData, index); + } + + }, + }) + + } else { + this.handleButtonClick((done) => { + this.onButtonClicked(btn, pageData, index); + setTimeout(() => { + done(); // 閲嶇疆鐘舵� + }, 1000); + }); + + } + }, + onButtonClicked(btn, pageData, index) { + this.After_OK_Event = {} + let enviroment = { + button: "top", + button_name: btn.ShowName, + cls_id: btn.Cls_ID, + function: "5601", + master: {}, + }; + if (btn.FunCode == "TriggerEvent") { + this.After_OK_Event = btn?.After_Event || {}; + this.sava(pageData, btn.Event); + } else if (btn.FunCode == "Cancel") { + this.cancel(); + } else if (btn.FunCode == "Delete") { + if (index > -1) { + const pageIndex = this.pageDetail.findIndex(( + page) => { + return pageData.Name == page.Name; + }) + const style = pageData.DefList[index]; + //鍒犻櫎鐮佺洏涓牱寮忛潰鏉�+ pageData.DefList.splice(index, 1); + this.del(pageData, style, btn.AfterProcess_Event); + this.$set(this.pageDetail, pageIndex, pageData) + } + } else if (btn.FunCode == "Modify") { + if (index > -1) { + const style = pageData.DefList[index]; + if (btn.Edit_dlg.Model == "small") { + this.showSmallDialog(btn, style, enviroment, pageData); + } else if (btn.Edit_dlg.Model == "form") { + this.showFormDialog(btn, style, enviroment, pageData); + } else { + uni.showModal({ + title: this.translateSys("tip"), + content: this.translateSys("unrealized"), + showCancel: false, + confirmText: this.translateSys('close') + }); + } + } + + } else { + this.$Message.warning(this.$t("sys.unrealized")); + } + }, + //淇敼灏忕獥鍙f暟鎹�+ showSmallDialog(btn, row, enviroment, pageData) { + var data = { + Add_BtnName: btn.ShowName, + EditDlgMode: btn.Edit_dlg.Model, + clsid: btn.Cls_ID, + objid: "", + cls_name: btn.Cls_Name, + Edit_dlg: btn.Edit_dlg + }; + const objAttr = {} + row.form.items.forEach(item => { + if (item.name == "Layout") { //鍒ゆ柇鏄惁鏄爡鏍忔牸寮�+ item.setting.colList.forEach(col => { + if (col != null) objAttr[col + .fieldId] = col.value; + }); + } else + objAttr[item.fieldId] = item.value; + }); + const url = `../modal/3018?param=${JSON.stringify(data)}&titlename=${btn.Edit_dlg + .Name}&editMode=1&objAttr=${JSON.stringify(objAttr)}&type=updateDataObj` + + var $this = this; + uni.navigateTo({ + url: url, + events: { + // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�鍒板綋鍓嶉〉闈㈢殑鏁版嵁 + updateDataObj: function(formData) { + const pageIndex = $this.pageDetail.findIndex(( + page) => { + return pageData.Name == page.Name; + }) + if (pageIndex < 0) + return + Object.assign(row.form.model, formData); + row.form.items.forEach(async (ele, index) => { + if (ele.name != "Layout") { + let value = formData[ele.fieldId] + if (value) + ele.value = value + + } else { + ele.setting.colList.forEach(async (col) => { + if (col) { + let value = formData[col + .fieldId] + if (value) + col.value = value + } + }); + } + }) + $this.$set($this.pageDetail, pageIndex, pageData) + }, + + } + }); + }, + + //淇敼鑷畾涔夎〃鍗曟暟鎹�+ showFormDialog(btn, row, enviroment, pageData) { + const objAttr = {} + row.form.items.forEach(item => { + if (item.name == "Layout") { //鍒ゆ柇鏄惁鏄爡鏍忔牸寮�+ item.setting.colList.forEach(col => { + if (col != null) objAttr[col.fieldId] = col.value; + }); + } else + objAttr[item.fieldId] = item.value; + }); + + const url = + `../modal/form/index?param=${JSON.stringify(btn)}&titlename=${btn.ShowName}&editMode=1&objAttr=${JSON.stringify(objAttr)}&type=updateDataObj` + var $this = this; + uni.navigateTo({ + url: url, + events: { + // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�鍒板綋鍓嶉〉闈㈢殑鏁版嵁 + updateDataObj: function(formData) { + const pageIndex = $this.pageDetail.findIndex(( + page) => { + return pageData.Name == page.Name; + }) + if (pageIndex < 0) + return + Object.assign(row.form.model, formData); + row.form.items.forEach(async (ele) => { + if (ele.name != "Layout") { + let value = formData[ele.fieldId] + if (value) + ele.value = value + + } else { + ele.setting.colList.forEach(async (col) => { + if (col) { + let value = formData[col + .fieldId] + if (value) + col.value = value + } + }); + } + }) + $this.$set($this.pageDetail, pageIndex, pageData) + console.log($this.pageDetail) + + }, + } + }); }, //纭畾 ok(pageData) { @@ -1575,10 +2476,10 @@ this.After_OK_Event = pageData.After_ok; // console.log(this.Before_OK_Event); // console.log(this.After_OK_Event); - if (this.$data.Before_OK_Event.ID) //鏄惁鏈夌‘瀹氬墠浜嬩欢 - this.sava(pageData, this.$data.Before_OK_Event); - else if (this.$data.After_OK_Event.ID) //鏄惁鏈夌‘瀹氬悗浜嬩欢 - this.sava(pageData, this.$data.After_OK_Event); + if (this.Before_OK_Event.ID) //鏄惁鏈夌‘瀹氬墠浜嬩欢 + this.sava(pageData, this.Before_OK_Event); + else if (this.After_OK_Event.ID) //鏄惁鏈夌‘瀹氬悗浜嬩欢 + this.sava(pageData, this.After_OK_Event); }, sava(pageData, event) { var $this = this; @@ -1594,18 +2495,17 @@ this.translate( "tip_no_data_last"), showCancel: false, - confirmText: this.translateSys("cancel") + confirmText: this.translateSys('close') }); return false; } //鑾峰彇琛ㄥご灞炴� - pageData.okLoading = true var head_attr = {}; - this.$data.head_styledef.form.items.forEach(item => { + this.head_styledef.form.items.forEach(item => { if (item.name == "Layout") { //鍒ゆ柇鏄惁鏄爡鏍忔牸寮�- item.setting.colList.forEach(cols => { - if (cols != null) head_attr[cols.fieldId] = - cols.value; + item.setting.colList.forEach(col => { + if (col != null) head_attr[col.fieldId] = + col.value; }); } else head_attr[item.fieldId] = item.value; @@ -1617,10 +2517,9 @@ 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; + item.setting.colList.forEach(col => { + if (col != null) + detail_attr[col.fieldId] = col.value; }); } else detail_attr[item.fieldId] = item.value; @@ -1680,12 +2579,11 @@ }); }); 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") + confirmText: this.translateSys('close') }); return; } @@ -1710,7 +2608,7 @@ var dataInfo = { ed_type: 0, start_transaction: true, - class_id: this.$data.ClsID, + class_id: this.ClsID, class_name: '', event_id: event.ID, event_name: '', @@ -1726,265 +2624,239 @@ global_attr: '', input_param: input_param, }; - - // 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") + 'close') }); - 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") + 'close') }); + return false; + } else { + var tip = result.info ? typeof result.info == + 'string' ? result.info : result.info + .join('<br/>') : ''; + if (tip) uni.showModal({ + title: this.translateSys('tip'), + content: tip, + showCancel: false, + confirmText: this.translateSys( + 'close') + }); + if (result.result_type == 0) { + 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.head_styledef.form.items.forEach((item, + index) => { + if (item.fieldId != + "S_CNTR_CODE") { + item.value = ''; + item.oldvalue = ''; + $this.head_styledef.form.model[ + item + .fieldId] = ''; + } + }); + + uni.showModal({ + title: $this.translateSys("tip"), + content: $this.translate( + 'execute_event_success'), + showCancel: false, + confirmText: $this.translateSys( + 'close') + }); + } else if (item.action_type == + "set_subtable_page_content" + ) { //宸茬爜鐩�+ $this.param.Show_Welcom_Page = false; + var value = item.value; + const pageData = $this.pageDetail.find(( + page) => { + return value.page_name == page + .Name; + }); + if (value.clear_confirm != false && value + .clear == true && + pageData && pageData.DefList.length > 0 + ) { //鍒ゆ柇鏄惁娓呯┖椤电鍐呭,姝e湪鐮佺洏鏄惁鏈夋暟鎹�+ uni.showModal({ + title: $this.translateSys( + 'tip'), + content: $this.translate( + "are_you_sure_clear_first" + ) + + $this.translateSys( + "quotation_mark_left" + ) + + value.page_name + + $this.translateSys( + "quotation_mark_right" + ) + + $this.translate( + "are_you_sure_clear_last" + ), + cancelText: $this.translateSys( + 'ok'), + confirmText: $this + .translateSys('cancel'), + success: function(res) { + if (res.cancel) { + if (pageData) + pageData + .DefList = []; + $this + .viewAceionContent( + value); + } else if (res + .confirm) { + if (pageData) + pageData + .DefList = []; + $this + .viewAceionContent( + value); + } + } + }); + } else { + if (pageData) + pageData.DefList = []; + $this.viewAceionContent(value); + } + } else if (item.action_type == + "select_subtable_page") { + var value = item.value; + const pageIndex = $this.pageDetail.findIndex(( + page) => { + return value.page_name == page + .Name; + }); + if (pageIndex > -1) { + $this.setData({ + current: pageIndex + }) + } + } else if (item.action_type == + "remove_subtable_page_row") { //娓呴櫎闈㈡澘涓寚瀹歩d鐨勬暟鎹�+ let value = item.value; + $this.viewActionRemoveRow(value) + } else if (item.action_type == + "set_subtable_page_row") { + $this.viewActionSetRow(item.value) + } else if (item.action_type == + "set_subtable_page_ext_data") { + let value = item.value; + const pageData = $this.pageDetail.find(( + page) => { + return value.page_name == page + .Name; + }); + if (pageData) { + pageData.ExtData = value.ext_data + } + + } else if (item.action_type == + "clear_subpage_rows") { + var value = item.value; + const pageIndex = $this.pageDetail.findIndex(( + page) => { + return value.page_name == page + .Name; + }); + if (pageIndex > -1) { + const pageData = $this.pageDetail[ + pageIndex] + pageData.DefList = [] + pageData.ExtData = {} + + $this.$set(this.pageDetail, pageIndex, + pageData) + } + } else if (item.action_type == + "set_dlg_current_edit_attr") { + if ($this.focusOldFieldId == item.value) + $this.setData({ + focusFieldId: "" + }) + else { + $this.setData({ + focusFieldId: $this + .focusOldFieldId + }) + } + $this.$nextTick(() => { + $this.setData({ + focusFieldId: item + .value + }) + }); + } else if (item.action_type == + "set_dlg_attr") { + // value = {"attr":"xxx", "value":"xxx"} + var data = item.value; + $this.setFormValues(data) + } + + }); + } else { + if ($this.After_OK_Event.ID != event.ID) { //鍒ゆ柇褰撳墠浜嬩欢鏄惁鏄‘瀹氬悗浜嬩欢 + $this.sava(pageParam, $this.After_OK_Event); //鎵ц纭畾鍚庝簨浠�+ + } + } + } else { + + if (result.info) { + uni.showModal({ + title: this.translateSys("tip"), + content: result.info, + showCancel: false, + confirmText: this.translateSys('close') + }); + } + } } - pageParam.okLoading = false + }).catch(ex => { - pageParam.okLoading = false - var tip = typeof ex == "string" ? ex : ex.errMsg; + console.log(ex); + let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex uni.showModal({ title: this.translateSys("error") + "8.1", - content: this.translate( - "execute_after_ok_event_failed") + - this.translateSys( - "comma") + - tip, + content: this.translate("execute_after_ok_event_failed") + + this.translateSys("comma") + tip, showCancel: false, - confirmText: this.translateSys("cancel") + confirmText: this.translateSys('close') }); }); }, @@ -2005,7 +2877,17 @@ }, }; </script> +<style> + .popup-content { + @include flex; + } + + .popup-height { + @include height; + /* width: 200px; */ + } +</style> <style lang="scss"> .uni-page-modal-5601 { @@ -2024,8 +2906,8 @@ .v-head-style { width: 98%; - .uni-form-item { - margin-bottom: 15rpx; + .uni-forms-item { + margin-bottom: 11rpx; } .input-wrapper { @@ -2037,12 +2919,13 @@ .uni-input { flex: 1; padding: 12rpx 8rpx; + color: #2d8cf0; // height: 40rpx; // line-height: 40rpx; } .uni-icon { - padding: 8rpx; + padding: 10rpx 5rpx; font-size: 32rpx; color: rgb(192, 196, 204); } @@ -2088,15 +2971,79 @@ flex-direction: column !important; } + .view-bottom { display: flex; flex-direction: row; width: calc(100% - 30rpx); padding: 10rpx 15rpx 30rpx 15rpx; + + .btn-disabled { + background-color: #ddd !important; + color: #888 !important; + } + + .btn-left { + padding: 20rpx; + line-height: 1.5; + font-size: 38rpx; + font-weight: bold; + float: left; + display: inline-block; + + } + + .btn-one { + padding: 20rpx; + line-height: 1.5; + font-size: 38rpx; + font-weight: bold; + float: left; + display: inline-block; + width: 50%; + margin-left: 25%; + } + + .btn-right { + padding: 20rpx; + line-height: 1.5; + font-size: 38rpx; + font-weight: bold; + float: right; + display: inline-block; + } + + .width-50 { + width: 49%; + } + + .width-32 { + width: 32%; + margin-left: 1%; + } + + .width-30 { + width: 30%; + margin-left: 1%; + } } + .btn-warn { + background: #ff2d1e; + border: none; + color: #fff; + } + .btn-cancel { + background: #fff; + color: #000; + } + .btn-primary { + background: #27A6E1; + border: none; + color: #fff; + } [nvue] uni-view { position: relative; @@ -2104,13 +3051,9 @@ box-sizing: border-box; } - .uni-input { - /* border: none; */ - } - .uni-icon { /* border: 1px solid red; */ - width: 8%; + width: 30rpx; font-family: uniicons; font-size: 40rpx; font-weight: 400; @@ -2126,52 +3069,23 @@ .dv-panel { background-color: #efefef; - padding: 20rpx 20rpx 4rpx 0px; + padding: 10rpx 10rpx 10rpx 0px; border-radius: 12rpx; margin: 10rpx 0 20rpx 0; - text-align: right; - .txt_title { - font-size: 28rpx; - text-align: right; - display: inline-block; - } + .dv-panel-form { + padding: 0px; + margin: 0; - input { - vertical-align: middle; - display: inline-block; - border: 1px solid #d5d5d5; - width: 68%; - height: 48rpx; - line-height: 28rpx; - background: #FFF; - border-radius: 7px !important; - color: #2d8cf0; - padding: 6rpx 8rpx 8rpx; - font-size: 28rpx; - font-family: inherit; - box-shadow: none !important; - transition-duration: 0.1s; - margin-top: 0rpx; - } - input::-webkit-input-placeholder { - font-size: 10rpx; - } - .form-item-span { - vertical-align: text-top; - color: #2d8cf0; - white-space: normal; - word-break: break-all; - display: inline-block; - width: calc(100% - 100px); } .dv-panel-button { width: 100%; text-align: left; - padding-bottom: 20rpx; + min-height: 30rpx; + padding-bottom: 10rpx; checkbox { padding-left: 20px; @@ -2180,57 +3094,18 @@ button { text-align: left; - line-height: 1.8; + line-height: 1.5; border: none; - font-size: 34rpx; - width: 180rpx; + font-size: 30rpx; + margin-right: 10rpx; display: inline-block; float: right; text-align: center; - - .btn_cancel { - width: 49.5%; - padding: 20rpx; - line-height: 1.5; - border: none; - font-size: 38rpx; - font-weight: bold; - float: left; - display: inline-block; - } - - .btn_add { - width: 49.5%; - - padding: 20rpx; - line-height: 1.5; - border: none; - font-size: 38rpx; - font-weight: bold; - float: right; - color: #fff; - display: inline-block; - } - .btn_disabled { - background-color: #ddd; - color: #888; - } - - } } } - .dv-panel-input { - width: 100%; - display: inline-block; - text-align: left; - - .dv-input { - margin-bottom: 2rpx; - } - } .logo { height: 100rpx; @@ -2325,28 +3200,82 @@ background-color: #f3f3f3 !important; } - .demo-uni-row { - margin-bottom: 0px; - display: block; - - .uni-input { - width: calc(100% - 120px); - } - } - - ::v-deep .uni-row { - margin-bottom: 0px; - } - - .view-tabpage ::v-deep .uni-row { - margin-bottom: 5px; - } - .demo-uni-col { height: 36px; border-radius: 5px; } + .view-popup { + position: relative; + } + + .popup-content { + // @include flex; + align-items: center; + justify-content: center; + padding: 30rpx; + background-color: #fff; + /* height: 150px; */ + /* border: 1px solid red; */ + } + + .popup-cont { + overflow-y: auto; + /* border: 1px solid red; */ + } + + .popup-height { + // @include height; + /* width: 200px; */ + } + + .popup-header { + font-size: 42rpx; + font-weight: bold; + margin: 20rpx 20rpx 0px 20rpx; + } + + .view_popup_CheckList { + margin-bottom: 20rpx; + } + + .popup-footer { + float: right; + position: absolute; + bottom: 10rpx; + right: 20rpx; + } + + button.btn_popup_add { + width: 180rpx; + margin-top: 50rpx; + margin-right: 20rpx; + padding: 15rpx; + line-height: 1.5; + background: #27A6E1; + border: none; + color: #fff; + font-size: 38rpx; + font-weight: bold; + /* float: left; */ + display: inline-block; + } + + button.btn_popup_cancel { + width: 180rpx; + margin-top: 50rpx; + padding: 15rpx; + line-height: 1.5; + // background: #27A6E1; + // border: none; + // color: #fff; + background: #fff; + color: #000; + font-size: 38rpx; + font-weight: bold; + /* float: right; */ + display: inline-block; + } } -- Gitblit v1.9.1