From 7662665a4f88da0f8afa804bd4a34dfbefc1fb56 Mon Sep 17 00:00:00 2001
From: cuiqian2004 <cuiqian2004@163.com>
Date: 星期五, 29 八月 2025 15:17:59 +0800
Subject: [PATCH] get_pre_page_subtable_next_row
---
pages/modal/5601.vue | 4360 ++++++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 3,134 insertions(+), 1,226 deletions(-)
diff --git a/pages/modal/5601.vue b/pages/modal/5601.vue
index 73be24b..2fe2da4 100644
--- a/pages/modal/5601.vue
+++ b/pages/modal/5601.vue
@@ -1,124 +1,72 @@
<template>
- <view class="uni-page-modal-5601">
+ <view class="uni-page-modal-5601" :class="largeMode?'large-mode':''">
<!-- 琛ㄥご鏍峰紡 -->
- <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"
+ :hiddenIds="head_styledef.hiddenIds ?head_styledef.hiddenIds :[] " :focusId="focusFieldId"
+ @on-click="onClick" @on-focus="ontap" @on-change="onEnterChange" @on-click-prefix="classAttr_extButton"
+ @on-click-suffix="classAttr_extButton"></OIForm>
+
<view class="view-content">
<!-- 鐮佺洏瀛愮晫闈�-->
<view v-if="param.Show_Welcom_Page==false" class="uni-panel-content">
<!-- 椤电 -->
<view class="dv-tab">
- <uni-segmented-control :current="current" :values="tabs" @clickItem="onClickItem"
- styleType="button">
+ <uni-segmented-control :current="current" :values="tabs" @clickItem="onClickItem" styleType="text">
</uni-segmented-control>
</view>
<swiper class="view-tabpage" :current="current" @change="changeSwiper">
<!-- 瀛愮晫闈�-->
<swiper-item v-for="(pageData, pageIndex) in pageDetail" :key="pageIndex">
- <view class="uni-panel-content">
+ <view class="tab-content">
<view class="view-tab-content" :id="'tabpanel' + pageData.Name">
<image class="logo" v-if="pageData.DefList.length==0"
src="../../images/mobox_log_200x40.png">
</image>
<checkbox-group @change="checkboxChange">
- <div class="dv-panel" v-for="(style,ii) in pageData.DefList" @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"
+ :hiddenIds="style.hiddenIds ?style.hiddenIds :[] " viewMode @on-change="(item2)=>{
+ onDetailEnterChange(item2,style,pageIndex)
+ }"></OIForm>
+ <div class="dv-panel-button"
+ v-if="pageData.Select_Button==true || pageData.Row_Button.length > 0">
- <checkbox v-if="pageData.Select_Button==true" :model="ii"
+ <checkbox v-if="pageData.Select_Button==true" :value="ii"
:checked="style.SelBut_Checked" />
<!-- <text></text> -->
-
<!-- <button type="primary" @click="savaItem(ii)" v-if="param.Sub_Page[0].OK_Button==true">淇濆瓨</Button> -->
- <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.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.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>
@@ -135,26 +83,72 @@
</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 {
- dictGetInfo
+ Base64
+ } from '@/js/Base64.js';
+ import {
+ showInfo,
+ showError
+ } from "@/js/Page.js"
+ import {
+ dictGetInfo,
+ appGetInfo,
} 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 {
+ largeMode: getApp().globalData.largeMode || false,
title: this.translateSys("inventory"),
ClsID: '',
param: {},
@@ -168,14 +162,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: {
@@ -186,28 +180,34 @@
},
+ initialEvent() {
+ let event = (this.head_styledef.event || []).find((e) => e.event_id == "initial");
+ return {
+ id: event?.scrip_id || "",
+ name: event?.scrip_name || "",
+ };
+ },
},
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) {
- this.loadData(options.paramValue)
+ const paramValue = options.paramValue ? JSON.parse(options.paramValue) : undefined
+ this.loadData(paramValue)
} else {
- uni.showModal({
- title: this.translateSys("error"),
- content: this.translate("tip_no_master_class"),
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
+ showInfo(this.translate('tip_no_master_class'))
}
+ const $this = this
+ const eventChannel = this.getOpenerEventChannel();
+ eventChannel.on('nextRow', function(data) {
+ console.log("nextRow", data)
+ $this.setFormValues(data)
+ })
},
//椤甸潰鍒濆鍖栬幏鍙栫劍鐐� methods: {
@@ -235,38 +235,18 @@
});
},
async loadData(paramValue) {
-
//鑾峰彇鏁版嵁绫荤殑鑷畾涔夎〃鍗曞弬鏁� await this.Head_UIStyleGetInfo(this.ClsID, this.param.Input_UI_Style.ID);
//浼犲叆鍙傛暟鍊�+ console.log(paramValue)
if (paramValue) {
- const attrs = paramValue.attrs || [];
- (this.$data.head_styledef?.form?.items || []).forEach(async (ele, index) => {
- if (ele.name != "Layout") {
- attrs.forEach(async (ele2, index2) => {
- if (ele.fieldId == ele2.name) {
- ele.value = ele2.value;
- }
- });
- } else {
- ele.setting.colList.forEach(async (col) => {
- if (col) {
- attrs.forEach(async (ele2,
- index2) => {
- if (col.fieldId == ele2.name) {
- col.value = ele2.value;
- }
- });
- }
- });
- }
- })
+ this.setFormValues(paramValue)
}
//鍔犺浇鍒濆鐣岄潰
- 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 || []
@@ -278,20 +258,140 @@
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({
pageDetail: pageList
})
-
+ await this.loadInitialEvent();
console.log(this.pageDetail);
},
+ async loadInitialEvent() {
+ try {
+ if (this.initialEvent.id) {
+ this.onChange(this.initialEvent)
+ }
+ } catch (ex) {
+ showError(ex, this.translateSys('error'))
+ }
+ },
+
changeSwiper(evt) {
let index = evt.target.current || evt.detail.current;
this.setData({
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
+ };
+ }
+ 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 || []
@@ -332,10 +432,30 @@
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') {
+ if (!ele.disabled && (ele.name == 'Input' ||
+ ele.name == 'InputNumber' || ele.name == 'Textarea')) {
$this.setData({
focusFieldId: ele.fieldId
})
@@ -350,6 +470,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
@@ -364,19 +500,34 @@
}
}
}
-
+ const app = getApp()
+ if (app.globalData.bindClasses) {
+ styledefHead.form.items.push({
+ name: "Input",
+ label: this.translate("classes"),
+ labelWidth: 100,
+ disabled: true,
+ value: app.globalData.classes,
+ setting: {
+ width: 100,
+ height: 50,
+ },
+ bind: {
+ attr: "",
+ },
+ fieldId: "S_CLASSES",
+ })
+ styledefHead.form.model["S_CLASSES"] = app.globalData.classes
+ }
}
this.setData({
head_styledef: styledefHead
})
+ console.log("Head_UIStyleGetInfo", this.head_styledef)
+
} catch (ex) {
// console.log(ex);
- uni.showModal({
- title: this.translateSys("error") + "1",
- content: ex.errMsg,
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
+ showError(ex, this.translateSys('error') + "1")
return {}
}
@@ -412,7 +563,12 @@
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]
@@ -421,6 +577,10 @@
.bind.dict,
detailstyledef.form
.model, col);
+ } else {
+ if (col?.name === "Select") {
+ col.selections = []
+ }
}
}
}
@@ -430,13 +590,8 @@
console.log("Detail_UIstyleGetInfo", detailstyledef);
return detailstyledef
} catch (ex) {
- // console.log(ex);
- uni.showModal({
- title: this.translateSys("error") + "2",
- content: ex.errMsg,
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
+ console.log(ex);
+ showError(ex, this.translateSys('error') + "2")
return {}
}
@@ -456,9 +611,9 @@
var itemName = '';
(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,
});
});
@@ -469,71 +624,89 @@
}
formItem.dict = list;
} catch (ex) {
- // console.log(ex);
- uni.showModal({
- title: this.translateSys("error") + "3",
- content: ex.errMsg,
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
+ showError(ex, this.translateSys('error') + "3")
}
},
onClick(item) {
+ console.log("onClick", item)
this.focusFieldId = item.fieldId
},
ontap(item) { //鎵爜鍔熻兘
// var $ele = e;
//console.log(e.target)
this.focusOldFieldId = item.fieldId
- getApp().onScan((result) => {
- console.log(result.decodedata);
- item.value = result.decodedata;
+ getApp().onScan(async (result) => {
+ console.log(result);
+ item.value = result;
var $this = this;
- 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; //鍚庡浘鏍囩偣鍑讳簨浠�- var onSuffixClickEvent = item.bind
- .onSuffixClickEvent; //鍚庡浘鏍囩偣鍑诲洖璋� var isflag = false;
-
- if (onChangeEvent.id) { //鍐呭鍙樺寲鍚庝簨浠�- $this.onChange(onChangeEvent);
+ if (item.changeEventRunding)
+ return
+ item.changeEventRunding = true
+ if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠�+ await 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]
+ item.changeEventRunding = false
+ //鍒濆鍖栵紝涓嬩釜杈撳叆妗唂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
- }
-
+ 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]
@@ -541,69 +714,206 @@
})
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) { //鍥炶溅锛岀偣鍑绘寜閽紝鍙栨秷鑺傜偣浜嬩欢
+ async 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) { //鍐呭鍙樺寲鍚庝簨浠�- this.onChange(onChangeEvent);
+ }
+ 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) { //鍐呭鍙樺寲鍚庝簨浠�+ await this.onChange(onChangeEvent);
}
}
},
+
+
+ classAttr_extButton(item) {
+ var onSuffixClickCallbackEvent = item.bind
+ .onSuffixClickCallbackEvent; //鍚庡浘鏍囩偣鍑讳簨浠�+ var onSuffixClickEvent = item.bind.onSuffixClickEvent; //鍚庡浘鏍囩偣鍑诲洖璋�+
+ if (!onSuffixClickCallbackEvent.id) {
+
+ showInfo(this.translate('icon_click_callback_empty'))
+ return;
+ }
+ if (!onSuffixClickEvent.id) {
+ showInfo(this.translate('icon_click_event_empty'))
+
+ return;
+ }
+ this.popupType = 'right'
+ // open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦�uni-popup 缁勪欢涓婄粦瀹�type灞炴�
+ this.$refs.popup.open(this.popupType);
+
+ this.dataObjRunCustomEvent_Return(onSuffixClickEvent.id, '',
+ onSuffixClickCallbackEvent.id,
+ item);
+ },
+ onDetailEnterChange(item, style, pageIndex) {
+ let newVal = item.value
+ if (typeof item.value == "string") {
+ newVal = item.value.trim()
+ if (!newVal) {
+ item.oldvalue = newVal;
+ var attr = item.fieldId;
+ style.form.model[attr] = newVal;
+ return
+ }
+ }
+ if (item.oldvalue != newVal) {
+ item.oldvalue = newVal;
+ var attr = item.fieldId;
+ style.form.model[attr] = newVal;
+ var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�+ if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠�+ this.runDetailChangeEvent(onChangeEvent, style, pageIndex)
+ }
+ }
+ },
+ async runDetailChangeEvent(event, style, pageIndex) {
+ try {
+ const detail_attr = {}
+
+ style.form.items.forEach(item2 => {
+ if (item2.name == "Layout") { //鍒ゆ柇鏄惁鏄爡鏍忔牸寮�+ item2.setting.colList.forEach(col => {
+ if (col != null) detail_attr[col
+ .fieldId] = col.value;
+ });
+ } else
+ detail_attr[item2.fieldId] = item2.value;
+ });
+ var obj_attr = detail_attr
+ var input_param = Base64.encode(
+ JSON.stringify(
+ Object.keys(detail_attr).map((a) => ({
+ attr: a,
+ value: detail_attr[a] || "",
+ }))
+ )
+ );
+ var dataInfo = {
+ ed_type: 0,
+ start_transaction: true,
+ class_id: style.form.clsId,
+ class_name: '',
+ event_id: event.id,
+ event_name: '',
+ data_obj_id: '',
+ obj_attr: obj_attr,
+ prj_id: '',
+ ref_cls_id: '',
+ rel_obj_id: '',
+ user_login: '',
+ data_json: '',
+ compose_info: '',
+ ext_info: '',
+ global_attr: '',
+ input_param: input_param,
+ };
+ const result = await runCustomEvent(dataInfo)
+ console.log(result)
+ if (result.ret != 0 && result.ret != 1) {
+ let cls_name = result.event_info?.cls_name
+ let event_name = result.event_info?.event_name
+ tip = result.err_info ? typeof result.err_info == 'string' ? result.err_info : result.err_info
+ .join('\n') : ''
+ if (result.ret == 801) {
+ if (this.param.Only_Script_Error) {
+ let pos = tip.indexOf("锛�);
+ if (pos > -1) tip = tip.substring(pos + 1);
+ }
+ }
+ if (cls_name && event_name) tip = `鎵ц鈥�{cls_name}鈥濇暟鎹被鐨勨�${event_name}鈥濊剼鏈椂杩斿洖閿欒锛�{tip}`
+ if (result.ret == 801) showInfo(tip)
+ else showError(`${tip}锛屾彁绀猴細${result.ret}`, this.translateSys('tip'))
+ this.saving = false
+ return false
+ } else {
+ var tip = result.info ? typeof result.info == 'string' ? result.info :
+ result.info.join('\n') : '';
+ tip = tip || result.err_info
+ let time = result.info_time || 0
+ if (time)
+ showError(tip, this.translateSys('tip'))
+ else
+ showInfo(tip)
+ if ([0, 2, 3, 4, -1].includes(result.result_type)) {
+ if (result.result_type == 2) {
+
+ } else if (typeof result.result == 'string') {
+ showInfo(result.result)
+
+ }
+ try {
+ var actionList = result.action || []
+ actionList.forEach(item => {
+ if (item.action_type == "set_dlg_attr") {
+ // value = {"attr":"xxx", "value":"xxx"}
+ var data = item.value;
+ this.setDetailFormValues(data, style,
+ pageIndex)
+ } else if (item.action_type ==
+ 'set_dlg_attr_show') {
+ var data = item.value;
+ this.setDetailFormItemVisible(data,
+ style, pageIndex)
+ }
+ });
+ } catch (ex) {
+ let actionList = (result.action || []).map(a => a
+ .action_type).join(';')
+ let tip = typeof ex == 'string' ? ex : ex.message
+ tip = `鎵ц鑴氭湰杩斿洖鐨�{actionList}鏃跺嚭鐜板紓甯革紝璇锋鏌ヨ剼鏈繑鍥炵殑鏁版嵁鏍煎紡鏄惁姝g‘銆�{tip}`
+ showError(tip, this.translateSys('tip'))
+ return
+ }
+ }
+
+ }
+
+ } catch (ex) {
+ console.log(ex)
+ showError(ex, this.translateSys('error') + "6.1")
+ }
+
+ },
getDetailAttrList(pageData) {
const detailAttrList = [];
+ 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(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;
@@ -621,23 +931,28 @@
pageData.DefList.forEach(style => {
style.form.attrs.forEach(attr => {
for (var key in detailAttrList) {
- if (style.form.objId == detailAttrList[key][
+ if (style.form.objId == detailAttrList[
+ key][
'id'
]) {
- var keys = Object.keys(detailAttrList[key]);
+ var keys = Object.keys(
+ detailAttrList[key]);
var isflag = true;
keys.forEach((ele) => {
- if (ele == attr.attr) isflag =
+ if (ele == attr.attr)
+ isflag =
false;
});
if (isflag) {
- detailAttrList[attr.attr] = attr.value;
+ detailAttrList[attr.attr] =
+ attr.value;
}
}
}
});
});
}
+ console.log(detailAttrList)
const jsonlist = [];
detailAttrList.forEach(attr => {
jsonlist.push({
@@ -660,15 +975,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) => ({
@@ -683,9 +999,8 @@
jsonList.push({
page_name: page.Name,
- item_list: $this.getDetailAttrList(page
- .DefList, page
- .Select_Button),
+ item_list: $this.getDetailAttrList(
+ page),
ext_data: page.ExtData || {}
})
@@ -693,10 +1008,11 @@
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: '',
@@ -712,67 +1028,55 @@
global_attr: '',
input_param: input_param,
};
- runCustomEvent(dataInfo).then(result => {
- console.log(result);
+ const result = await runCustomEvent(dataInfo)
+ console.log(result);
+ if (result.ret != 0 && result.ret != 1) {
+ let cls_name = result.event_info?.cls_name
+ let event_name = result.event_info?.event_name
+ tip = result.err_info ? typeof result.err_info == 'string' ? result.err_info : result
+ .err_info
+ .join('\n') : ''
+ if (result.ret == 801) {
+ if (this.param.Only_Script_Error) {
+ let pos = tip.indexOf("锛�);
+ if (pos > -1) tip = tip.substring(pos + 1);
+ }
+ }
+ if (cls_name && event_name) tip = `鎵ц鈥�{cls_name}鈥濇暟鎹被鐨勨�${event_name}鈥濊剼鏈椂杩斿洖閿欒锛�{tip}`
+ if (result.ret == 801) showInfo(tip)
+ else showError(`${tip}锛屾彁绀猴細${result.ret}`, this.translateSys('tip'))
+ this.saving = false
+ return false
+ } else {
+ var tip = result.info ? typeof result.info == 'string' ? result.info :
+ result.info.join('\n') : '';
+ tip = tip || result.err_info
+ let time = result.info_time || 0
+ if (time)
+ showError(tip, this.translateSys('tip'))
+ else
+ showInfo(tip)
+ if ([0, 2, 3, 4, -1].includes(result.result_type)) {
+ if (result.result_type == 2) {
- if (result.ret != 0) {
- var tip = result.err_info ? typeof result
- .err_info == 'string' ? result
- .err_info : result.err_info.join('<br/>') :
- '';
- if (result.ret == 801) {
- if (this.param.Only_Script_Error) {
- let pos = tip.indexOf("锛�);
- if (pos > -1) tip = tip.substring(pos +
- 1);
- }
- uni.showModal({
- title: this.translateSys(
- "tip"),
- content: tip,
- showCancel: false,
- confirmText: this.translateSys(
- "cancel")
- });
- } else uni.showModal({
- title: this.translateSys('tip'),
- content: tip + ',' + this
- .translateSys('tip') + ':' +
- result
- .ret,
- showCancel: false,
- confirmText: this.translateSys(
- "cancel")
- });
- return false;
- } else {
- var tip = result.info ? typeof result.info ==
- 'string' ? result.info :
- result.info.join('<br/>') : '';
- if (tip) uni.showModal({
- title: this.translateSys('tip'),
- content: tip,
- showCancel: false,
- confirmText: this.translateSys(
- "cancel")
- });
+ } else if (typeof result.result == 'string') {
+ showInfo(result.result)
- if (result.result_type == 0 && result.action) {
- result.action.forEach(item => {
-
+ }
+ try {
+ let actionList = result.action || []
+ actionList.forEach(item => {
if (item.action_type ==
"insert_subtable_page_row"
) { //鐮佺洏涓�- $this.$data.param
- .Show_Welcom_Page =
+ $this.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 =
+ $this.param.Show_Welcom_Page =
false;
var value = item.value;
const pageData = $this
@@ -791,8 +1095,7 @@
uni.showModal({
title: this
.translateSys(
- 'tip'
- ),
+ 'tip'),
content: this
.translate(
"are_you_sure_clear_first"
@@ -811,11 +1114,17 @@
.translate(
"are_you_sure_clear_last"
),
+ cancelText: $this
+ .translateSys(
+ 'ok'),
+ confirmText: $this
+ .translateSys(
+ 'cancel'
+ ),
success: function(
- res
- ) {
+ res) {
if (res
- .confirm
+ .cancel
) {
if (
pageData)
@@ -827,7 +1136,7 @@
);
} else if (
res
- .cancel
+ .confirm
) {
if (
pageData)
@@ -842,133 +1151,44 @@
});
} else {
if (pageData)
- pageData
- .DefList = [];
- $this
- .viewAceionContent(
- value);
+ pageData.DefList = [];
+ $this.viewAceionContent(
+ value);
}
} else if (item.action_type ==
- "select_subtable_page_row"
- ) {
- // value = {"page_name":"鐮佺洏涓�, "row":{"id":"xx"}}
+ "select_subtable_page") {
var value = item.value;
- const pageData = $this
- .pageDetail.find((
+ const pageIndex = $this
+ .pageDetail.findIndex((
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();
- }
- });
+ 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;
- 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
- );
- }
- });
- });
- }
-
-
-
+ $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"
- ) {
+ "set_subtable_page_ext_data") {
var value = item.value;
const pageData = $this
.pageDetail.find((
@@ -978,30 +1198,34 @@
page.Name;
});
if (pageData)
- pageData.ExtData =
- value.ext_data
+ pageData.ExtData = value
+ .ext_data
} else if (item.action_type ==
"clear_subpage_rows") {
var value = item.value;
- const pageData = $this
- .pageDetail.find((
+ const pageIndex = $this
+ .pageDetail.findIndex((
page) => {
return value
.page_name ==
page.Name;
});
- if (pageData) {
+ 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"
- ) {
+ "set_dlg_current_edit_attr") {
- if ($this
- .focusOldFieldId ==
+ if ($this.focusOldFieldId ==
item.value) {
$this.setData({
focusFieldId: ""
@@ -1023,48 +1247,30 @@
// value = {"attr":"xxx", "value":"xxx"}
var data = item.value;
$this.setFormValues(data)
+ } else if (item.action_type ==
+ 'set_dlg_attr_show') {
+ var data = item.value;
+ $this.setFormItemVisible(data)
}
});
- } else {
- if (result.info) {
- uni.showModal({
- title: this.translateSys(
- "error") + "4.3",
- content: result.info,
- showCancel: false,
- confirmText: this
- .translateSys("cancel")
- });
- }
+ } catch (ex) {
+ let actionList = (result.action || []).map(a =>
+ a.action_type).join(';')
+ let tip = typeof ex == 'string' ? ex : ex
+ .message
+ tip = `鎵ц鑴氭湰杩斿洖鐨�{actionList}鏃跺嚭鐜板紓甯革紝璇锋鏌ヨ剼鏈繑鍥炵殑鏁版嵁鏍煎紡鏄惁姝g‘銆�{tip}`
+ showError(tip, this.translateSys('tip'))
+ return
}
-
}
- }).catch(ex => {
- // console.log(ex);
- let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex
- uni.showModal({
- title: this.translateSys("error") + "4.1",
- content: tip,
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
- });
+ }
+
}
} catch (ex) {
- var tip = typeof ex == "string" ? ex : ex.message;
- uni.showModal({
- title: this.translateSys("error") + "4.2",
- content: this.translate(
- 'execute_after_change_event_failed') + this
- .translateSys(
- "comma") +
- this.translate('reason') + this.translateSys("colon") +
- tip,
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
+ console.log(ex);
+ showError(ex, this.translateSys('error') + "4.2")
}
},
operationNumber(value1, value2, operation) {
@@ -1074,6 +1280,9 @@
number1 = parseInt(value1)
if (value2)
number2 = parseInt(value2)
+ if (!operation) {
+ return value2;
+ }
if (operation == "+") {
return number1 + number2
} else if (operation == "-") {
@@ -1081,80 +1290,375 @@
} 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 pageIndex = $this.pageDetail.findIndex((
- page, index2, arr) => {
+ const pageIndex = $this.pageDetail.findIndex((page, index2,
+ arr) => {
return value.page_name == page.Name;
})
if (pageIndex < 0)
return
const pageData = $this.pageDetail[pageIndex]
- var detailStyleDefList = pageData.DefList || []
+ 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,
+ 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
- .value,
- attr
- .operation
- )
- }
- } else if (ele2.name ==
- 'Layout') {
- ele2.setting
- .colList
- .forEach(
- col => {
- if (
- col) {
- if (col
- .fieldId ==
+ .attr
+ ) {
+ ele2.value =
+ $this
+ .operationNumber(
+ ele2
+ .value,
attr
- .attr
- ) {
- col.value =
- $this
- .operationNumber(
- col
- .value,
+ .value,
+ attr
+ .operation
+ )
+ }
+ } else if (
+ ele2
+ .name ==
+ 'Layout'
+ ) {
+ ele2.setting
+ .colList
+ .forEach(
+ col => {
+ if (
+ col) {
+ if (col
+ .fieldId ==
attr
- .value,
- attr
- .operation
- )
+ .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
$this.$set(this.pageDetail, pageIndex, pageData)
-
},
//鍔犺浇姝e湪鐮佺洏鍐呭
viewAceionRow(data) {
@@ -1162,13 +1666,13 @@
if (JSON.stringify(data.row) == '{}') {
return;
}
- const pageIndex = $this.pageDetail.findIndex((
+ const pageIndex = this.pageDetail.findIndex((
page, index2, arr) => {
return data.page_name == page.Name;
})
if (pageIndex < 0)
return
- const pageData = $this.pageDetail[pageIndex]
+ const pageData = this.pageDetail[pageIndex]
var styleStr = JSON.stringify(pageData.StyleDef);
var detailStyle = JSON.parse(styleStr);
@@ -1176,25 +1680,31 @@
data.row.forEach(row => {
detailStyle = JSON.parse(styleStr);
detailStyle.form.objId = row.id;
- detailStyle.form.htmlobjId = row.id ? row.id.replace(/-/g, '')
+ detailStyle.form.htmlobjId = row.id ? row.id
+ .replace(/-/g, '').replace('{', '')
.replace(
- '{', '').replace('}',
- '') : 'null';
+ '}', '') : 'null';
detailStyle.form.attrs = row.attrs;
row.attrs.forEach(attr => {
detailStyle.form.items.forEach(ele => {
if (ele.name != 'Layout') {
- if (ele.fieldId == attr.attr) ele
- .value =
- attr.value;
- } else if (ele.name == 'Layout') {
- ele.setting.colList.forEach(
- col => {
+ if (ele.fieldId == attr
+ .attr)
+ ele.value = attr
+ .value;
+ } else if (ele.name ==
+ 'Layout') {
+ ele.setting.colList
+ .forEach(col => {
if (col) {
- if (col.fieldId ==
+ if (col
+ .fieldId ==
attr
- .attr) col
- .value = attr
+ .attr
+ )
+ col
+ .value =
+ attr
.value;
}
});
@@ -1204,6 +1714,7 @@
pageData.DefList.push(detailStyle);
this.$set(this.pageDetail, pageIndex, pageData)
+
});
}
},
@@ -1224,14 +1735,15 @@
return;
}
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;
+
+ data.content.forEach(cont => {
+ var detailStyle = JSON.parse(styleStr);
+ if (detailStyle.form) {
+ // detailStyle.SelBut_Checked = data.checkbox ?? true;
detailStyle.form.objId = cont.id;
- detailStyle.form.htmlobjId = cont.id ? cont.id.replace(/-/g,
+ detailStyle.form.htmlobjId = cont.id ? cont.id
+ .replace(/-/g,
'')
.replace('{', '').replace('}',
'') : 'null';
@@ -1239,20 +1751,27 @@
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;
- }
- });
+ 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;
+ }
+ });
}
});
});
@@ -1260,192 +1779,390 @@
if (data.clear == false) {
var isflag = true;
pageData.DefList.forEach((style, index) => {
- if (style.form.objId == detailStyle.form
- .objId) {
+ if (style.form.objId == detailStyle
+ .form.objId) {
cont.attrs.forEach(attr => {
- style.form.items.forEach(
- ele => {
- if (ele.name !=
- 'Layout') {
+ style.form.items
+ .forEach(
+ ele => {
if (ele
- .fieldId ==
- attr.attr)
+ .name !=
+ 'Layout'
+ ) {
+ if (ele
+ .fieldId ==
+ attr
+ .attr
+ )
+ ele
+ .value =
+ attr
+ .value;
+ } else if (
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;
+ .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); //寰呭垎鎷�+ if (isflag) pageData.DefList.push(
+ detailStyle); //寰呭垎鎷� } else {
pageData.DefList.push(detailStyle); //寰呭垎鎷� }
// $this.setData({pageDetail:pageD})
$this.$set(this.pageDetail, pageIndex, pageData)
- $this.activelist.push({
- active: false
- });
- });
- }
-
- },
- setFormValues(data) {
- const head_styledef = this.head_styledef
- if (JSON.stringify(data) == '{}') {
- return;
- }
- head_styledef.form.items.forEach(async (ele, index) => {
- if (ele.name != "Layout") {
- let curIndex = data.findIndex((attr, index2, arr) => {
- return attr.attr == ele.fieldId;
- })
- if (curIndex > -1) {
- const attr = data[curIndex]
- if (ele.name ==
- 'Select' &&
- attr
- .choice_list
- ) {
- const
- dictItemList = [];
- const
- choiceList =
- attr
- .choice_list || [];
- for (let d in
- choiceList) {
- const
- val =
- choiceList[
- d
- ];
- dictItemList
- .push({
- text: val,
- value: val
- });
- }
- ele.dict =
- dictItemList;
- }
-
- ele.value =
- attr
- .value;
- }
- } else {
- ele.setting
- .colList
- .forEach(
- async (
- col
- ) => {
- if (
- col) {
- let curIndex = data.findIndex((
- attr, index2, arr) => {
- return attr.attr == col.fieldId;
- })
- if (curIndex > -1) {
- const attr = data[curIndex]
- if (col.name ==
- 'Select' &&
- attr
- .choice_list
- ) {
- const
- dictItemList = [];
- const
- choiceList =
- attr
- .choice_list || [];
- for (let d in
- choiceList) {
- const
- val =
- choiceList[
- d
- ];
- dictItemList
- .push({
- text: val,
- value: val
- });
- }
- col.dict =
- dictItemList;
- }
-
- col.value =
- attr
- .value;
- }
- }
-
- })
-
}
- })
+ });
+
+ $this.$set(this.pageDetail, pageIndex, pageData)
+ },
+ setFormItemVisible(attrs) {
+ if (!Array.isArray(attrs)) {
+ return
+ }
+ const head_styledef = this.head_styledef
+ if (!head_styledef.hiddenIds) {
+ head_styledef.hiddenIds = []
+ }
+ attrs.forEach((attr) => {
+ let index = head_styledef.hiddenIds.findIndex((id) =>
+ id == attr.attr);
+ if (attr.show) {
+ if (index > -1) head_styledef.hiddenIds.splice(
+ index, 1);
+ } else {
+ if (index == -1) head_styledef.hiddenIds.push(attr
+ .attr);
+ }
+ });
this.setData({
head_styledef: head_styledef
})
+ },
+ setFormValues(attrs) {
+ const head_styledef = this.head_styledef
+ if (!Array.isArray(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;
+ }
+ }
+ }
+ });
+ }
+ });
+ }
+ 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;
+ if (ele.name == "Input") {
+ if (attr.prompt) ele
+ .placeholder = attr
+ .prompt;
+ }
+ if (attr.enable !==
+ undefined) {
+ if (attr.enable) ele
+ .disabled = false;
+ else ele.disabled =
+ true;
+ }
+ }
+ } else if (ele.name == "Layout") {
+ ele.setting.colList.forEach((
+ col) => {
+ if (col) {
+ if (col
+ .fieldId ==
+ attr.attr
+ ) {
+ col.value =
+ attr
+ .value;
+ col.oldvalue =
+ attr
+ .value;
+ if (col
+ .name ==
+ "Input"
+ ) {
+ if (attr
+ .prompt
+ )
+ col
+ .placeholder =
+ attr
+ .prompt;
+ }
+ if (attr
+ .enable !==
+ undefined
+ ) {
+ if (attr
+ .enable
+ )
+ col
+ .disabled =
+ false;
+ else col
+ .disabled =
+ true;
+ }
+ }
+ }
+ });
+ }
+
+ })
+ //鍒ゆ柇琛ㄥ崟閲屾槸鍚︽湁杩斿洖瀛楁锛屾病鏈夊氨瑁呰浇鍒癿odel閲岋紝鐐瑰嚮纭畾鎻愪氦鐨勬椂鍊欏甫涓婅繖浜涙暟鎹�+ })
+ console.log(head_styledef)
+ this.setData({
+ head_styledef: head_styledef
+ })
+ },
+ setDetailFormItemVisible(attrs, style, pageIndex) {
+ if (pageIndex < 0)
+ return
+ if (!Array.isArray(attrs)) {
+ return
+ }
+ const pageData = this.pageDetail[pageIndex]
+ if (!style.hiddenIds) {
+ style.hiddenIds = []
+ }
+ attrs.forEach((attr) => {
+ let index = style.hiddenIds.findIndex((id) => id ==
+ attr.attr);
+ if (attr.show) {
+ if (index > -1) style.hiddenIds.splice(index, 1);
+ } else {
+ if (index == -1) style.hiddenIds.push(attr.attr);
+ }
+ });
+ this.$set(this.pageDetail, pageIndex, pageData)
+ },
+ setDetailFormValues(attrs, style, pageIndex) {
+ if (pageIndex < 0)
+ return
+ if (!Array.isArray(attrs)) {
+ return
+ }
+
+ const pageData = this.pageDetail[pageIndex]
+ attrs.forEach(async (attr, key) => {
+ if (attr.choice_list) {
+ var dictItemList = [];
+ attr.choice_list.forEach(async (val,
+ index) => {
+ dictItemList.push({
+ text: val,
+ value: val
+ });
+ });
+
+ style.form.items.forEach(async (attr_item,
+ index) => {
+ if (attr_item.name !=
+ "Layout") {
+ if (attr_item.fieldId ==
+ attr.attr) {
+ if (attr_item
+ .useDict) {
+ attr_item.dict =
+ dictItemList;
+ } else {
+ attr_item
+ .selections =
+ dictItemList;
+ }
+ }
+ } else if (attr_item.name ==
+ "Layout") {
+ attr_item.setting.colList
+ .forEach((col) => {
+ if (col) {
+ if (col
+ .fieldId ==
+ attr
+ .attr
+ ) {
+ if (col
+ .useDict
+ ) {
+ col.dict =
+ dictItemList;
+ } else {
+ col.selections =
+ dictItemList;
+ }
+ }
+ }
+ });
+ }
+ });
+ }
+ if (!style.form.model[attr.attr]) {
+ style.form.model[attr.attr] = attr.value;
+ }
+ style.form.items.forEach(async (ele) => {
+ if (ele.name != "Layout") {
+ if (ele.fieldId == attr.attr) {
+ ele.value = attr.value;
+ ele.oldvalue = attr.value;
+ if (ele.name == "Input") {
+ if (attr.prompt) ele
+ .placeholder = attr
+ .prompt;
+ }
+ if (attr.enable !==
+ undefined) {
+ if (attr.enable) ele
+ .disabled = false;
+ else ele.disabled =
+ true;
+ }
+ }
+ } else if (ele.name == "Layout") {
+ ele.setting.colList.forEach((
+ col) => {
+ if (col) {
+ if (col
+ .fieldId ==
+ attr.attr
+ ) {
+ col.value =
+ attr
+ .value;
+ col.oldvalue =
+ attr
+ .value;
+ if (col
+ .name ==
+ "Input"
+ ) {
+ if (attr
+ .prompt
+ )
+ col
+ .placeholder =
+ attr
+ .prompt;
+ }
+ if (attr
+ .enable !==
+ undefined
+ ) {
+ if (attr
+ .enable
+ )
+ col
+ .disabled =
+ false;
+ else col
+ .disabled =
+ true;
+ }
+ }
+ }
+ });
+ }
+
+ })
+ //鍒ゆ柇琛ㄥ崟閲屾槸鍚︽湁杩斿洖瀛楁锛屾病鏈夊氨瑁呰浇鍒癿odel閲岋紝鐐瑰嚮纭畾鎻愪氦鐨勬椂鍊欏甫涓婅繖浜涙暟鎹�+ })
+ this.$set(this.pageDetail, pageIndex, pageData)
},
onClickItem(e) { //閫夋嫨椤电
// console.log(e);
this.current = e.currentIndex
},
- onDetail1EnterChange(item) { //鐮佺洏涓牱寮忓洖杞︿簨浠�- console.log(item);
- },
- 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;
@@ -1456,9 +2173,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
@@ -1476,11 +2193,15 @@
//鑾峰彇姝e湪鍒嗘嫞閲屾病鏈夋樉绀虹殑瀛楁
style.form.attrs.forEach(attr => {
for (var key in detailAttrList) {
- if (style.form.objId == detailAttrList[key]['id']) {
- var keys = Object.keys(detailAttrList[key]);
+ if (style.form.objId == detailAttrList[key][
+ 'id'
+ ]) {
+ var keys = Object.keys(detailAttrList[
+ key]);
var isflag = true;
keys.forEach((ele) => {
- if (ele == attr.attr) isflag = false;
+ if (ele == attr.attr) isflag =
+ false;
});
if (isflag) {
detailAttrList[attr.attr] = attr.value;
@@ -1509,12 +2230,8 @@
});
});
if (jsonlist.length == 0) {
- uni.showModal({
- title: this.translateSys("tip"),
- content: this.translate("tip_no_select_data"),
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
+ showInfo(this.translate("tip_no_select_data"))
+
return;
}
// console.log(jsonlist);
@@ -1527,14 +2244,1085 @@
$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) {
+ showInfo("popupParam涓虹┖锛�)
+
+ return;
+ }
+ if (data.length == 0) {
+ showInfo(this.translate("tip_no_select_data"))
+
+ 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 && data.ret != 1) {
+ let cls_name = data.event_info?.cls_name
+ let event_name = data.event_info?.event_name
+ tip = data.err_info ? typeof data.err_info == 'string' ? data.err_info : data.err_info
+ .join('\n') : ''
+ if (data.ret == 801) {
+ if (this.param.Only_Script_Error) {
+ let pos = tip.indexOf("锛�);
+ if (pos > -1) tip = tip.substring(pos + 1);
+ }
+ }
+ if (cls_name && event_name) tip = `鎵ц鈥�{cls_name}鈥濇暟鎹被鐨勨�${event_name}鈥濊剼鏈椂杩斿洖閿欒锛�{tip}`
+ if (data.ret == 801) showInfo(tip)
+ else showError(`${tip}锛屾彁绀猴細${data.ret}`, this.translateSys('tip'))
+ this.saving = false
+ return false
+ } else {
+ var tip = data.info ? typeof data.info == 'string' ? data.info :
+ data.info.join('\n') : '';
+ tip = tip || data.err_info
+ let time = data.info_time || 0
+ if (time)
+ showError(tip, this.translateSys('tip'))
+ else
+ showInfo(tip)
+ if ([0, 2, 3, 4, -1].includes(data
+ .result_type)) {
+ if (data.result_type == 2) {
+ $this.setFormValues(data.result || [])
+ } else if (typeof data.result ==
+ 'string') {
+ showInfo(data.result)
+ }
+ try {
+ var actionlist = data.action || []
+ 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;
+ $this.setFormItemVisible(
+ result)
+
+ // console.log($this.head_styledef);
+ } else if (action
+ .action_type ==
+ 'set_global_attr') {
+ $this.global_attr = action
+ .value || [];
+ } else {
+ showInfo(this
+ .translateSys(
+ "quotation_mark_left"
+ ) +
+ action
+ .action_type +
+ this
+ .translateSys(
+ "quotation_mark_right"
+ ) +
+ this
+ .translate(
+ "tip_action_unprocessed"
+ ))
+
+ }
+ }
+
+
+ } catch (ex) {
+ let actionList = (data.action || []).map(a => a.action_type)
+ .join(';')
+ let tip = typeof ex == 'string' ?
+ ex : ex.message
+ tip = `鎵ц鑴氭湰杩斿洖鐨�{actionList}鏃跺嚭鐜板紓甯革紝璇锋鏌ヨ剼鏈繑鍥炵殑鏁版嵁鏍煎紡鏄惁姝g‘銆�{tip}`
+ showError(tip, this.translateSys('tip'))
+ return
+ }
+ }
+ }
+
+ }).catch(ex => {
+ // console.log(ex);
+ showError(ex, this.translateSys("error") + "3.1")
+ });
+ },
+ 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 && data.ret != 1) {
+ let cls_name = data.event_info?.cls_name
+ let event_name = data.event_info?.event_name
+ tip = data.err_info ? typeof data.err_info == 'string' ? data.err_info : data.err_info
+ .join('\n') : ''
+ if (data.ret == 801) {
+ if (this.param.Only_Script_Error) {
+ let pos = tip.indexOf("锛�);
+ if (pos > -1) tip = tip.substring(pos + 1);
+ }
+ }
+ if (cls_name && event_name) tip = `鎵ц鈥�{cls_name}鈥濇暟鎹被鐨勨�${event_name}鈥濊剼鏈椂杩斿洖閿欒锛�{tip}`
+ if (data.ret == 801) showInfo(tip)
+ else showError(`${tip}锛屾彁绀猴細${data.ret}`, this.translateSys('tip'))
+ this.saving = false
+ return false
+ } else {
+ var tip = data.info ? typeof data.info == 'string' ? data.info :
+ data.info.join('\n') : '';
+ tip = tip || data.err_info
+ let time = data.info_time || 0
+ if (time)
+ showError(tip, this.translateSys('tip'))
+ else
+ showInfo(tip)
+ if ([0, 2, 3, 4, -1].includes(data
+ .result_type)) {
+ if (data.result_type == 2) {
+
+ } else if (typeof data.result ==
+ 'string') {
+ showInfo(data.result)
+ }
+ try {
+ var actions = data.action || []
+ 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 {
+ showInfo($this
+ .translateSys(
+ "quotation_mark_left"
+ ) +
+ action
+ .action_type +
+ $this
+ .translateSys(
+ "quotation_mark_right"
+ ) +
+ $this
+ .translate(
+ "tip_action_unprocessed"
+ ))
+
+ }
+ }
+
+ } catch (ex) {
+ let actionList = (data.action || []).map(a => a.action_type)
+ .join(';')
+ let tip = typeof ex == 'string' ? ex : ex.message
+ tip = `鎵ц鑴氭湰杩斿洖鐨�{actionList}鏃跺嚭鐜板紓甯革紝璇锋鏌ヨ剼鏈繑鍥炵殑鏁版嵁鏍煎紡鏄惁姝g‘銆�{tip}`
+ showError(tip, this.translateSys('tip'))
+ return
+ }
+ }
+
+ }
+
+ }).catch(ex => {
+ showError(ex, this.translateSys("error") + "5.1")
+ });
+ },
+
+
+ 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);
+ if (btn.AfterProcess_Event.ID)
+ 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 {
+ showInfo(this.translateSys(
+ "unrealized"))
+
+ }
+ }
+
+ } else if (btn.FunCode == "RelatedFunction") {
+ if (index > -1) {
+ const style = pageData.DefList[index];
+ this.relatedFunction(btn, style, enviroment,
+ pageData);
+ }
+ } else {
+ this.$Message.warning(this.$t("sys.unrealized"));
+ }
+ },
+ async relatedFunction(btn, style, enviroment, pageData) {
+ //璺宠浆鍔熻兘鐐�+ try {
+ const defCode = btn.Related_Function?.Def_Code
+ var $this = this;
+ if (
+ defCode == "3018" ||
+ defCode == "3037" ||
+ defCode == "3200" ||
+ defCode == "3201" ||
+ defCode == "3202" ||
+ defCode == "5600" ||
+ defCode == "5601" ||
+ defCode == "5602"
+ ) {
+
+ let name = defCode
+ if (defCode == "3018" || defCode == "3037")
+ name = defCode + "_2"
+ var json = {
+ app_id: [btn.Related_Function.ID],
+ };
+ const result = await appGetInfo(json)
+ if ((result || []).length > 0) {
+ var app = result[0];
+ var param = "";
+ var appName = app.list_name || app.name
+ .Name;
+ var paramStr = app.param
+ if (paramStr) {
+ //mobox2鐨刾aram鏄痡son瀛楃涓�+ param = paramStr.replace(/\\/g, "");
+ //mobox3鐨刾aram鏄痓ase64瀛楃涓�+ if (!paramStr.includes('"')) param =
+ Base64.decode(
+ paramStr);
+ }
+ if (!param) {
+ showInfo(this.translate(
+ 'tip_no_app_param'
+ ))
+
+ return;
+ }
+ const attrValues = []
+
+ style.form.items.forEach(item => {
+ if (item.name ==
+ "Layout") { //鍒ゆ柇鏄惁鏄爡鏍忔牸寮�+ item.setting.colList
+ .forEach(col => {
+ if (col !=
+ null) {
+ attrValues
+ .push({
+ attr: col
+ .fieldId,
+ value: col
+ .value ||
+ ""
+ })
+ }
+
+ });
+ } else
+ attrValues.push({
+ attr: item.fieldId,
+ value: item
+ .value || ""
+ })
+ });
+ var eventChannelTemp
+ uni.navigateTo({
+ url: '../modal/' + name +
+ '?param=' +
+ param + "&titlename=" +
+ appName +
+ "&type=relatedFunction¶mValue=" +
+ JSON.stringify(attrValues),
+ events: {
+ get_pre_page_subtable_next_row: function(param) {
+ // console.log("get_pre_page_subtable_next_row", eventChannelTemp)
+ const attrVals = $this.getRowNextRow(param)
+ console.log(attrVals)
+ if (eventChannelTemp) {
+ eventChannelTemp.emit('nextRow', {
+ data: attrVals
+ })
+ }
+ },
+ remove_pre_page_subtable_row: function(param) {
+ $this.viewActionRemoveRow(param)
+ }
+ },
+ success: function(res) {
+ // 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�鏁版嵁
+ eventChannelTemp = res.eventChannel
+ }
+
+ });
+
+ } else {
+ showInfo(this.translate("function_not_exist"))
+
+ }
+
+ } else {
+ showInfo(this.translate("cannot_related_function"))
+
+
+ }
+ } catch (ex) {
+ showError(ex, this.translateSys('error'))
+ return undefined
+ }
+ },
+ getRowNextRow(value) {
+ const pageIndex = this.pageDetail.findIndex((page, index2,
+ arr) => {
+ return value.page_name == page.Name;
+ })
+ if (pageIndex < 0)
+ return []
+ const rowId = value.cur_row?.id;
+ if (!rowId)
+ return []
+ const pageData = this.pageDetail[pageIndex]
+ const detailStyleDefList = pageData?.DefList || []
+
+ const curIndex = detailStyleDefList.findIndex(
+ (ele) => ele.form.objId == rowId
+ );
+ if (curIndex > -1) {
+ if (curIndex + 1 >= detailStyleDefList.length) {
+ const style = detailStyleDefList[curIndex + 1];
+ const attrVals = [];
+ style.form.items.forEach((item) => {
+ if (item.name == "Layout") {
+ item.setting.colList.forEach((col) => {
+ if (col) {
+ attrVals.push({
+ attr: col.fieldId,
+ value: col.value || ""
+ });
+ }
+ });
+ } else {
+ attrVals.push({
+ item: col.fieldId,
+ value: item.value || ""
+ });
+ }
+ });
+ return attrVals
+ }
+ }
+ return []
+ },
+ //淇敼灏忕獥鍙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) {
@@ -1542,37 +3330,39 @@
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);
+ console.log("ok");
+ if (this.Before_OK_Event.ID) //鏄惁鏈夌‘瀹氬墠浜嬩欢
+ this.sava(pageData, this.Before_OK_Event);
+ else if (this.After_OK_Event.ID) //鏄惁鏈夌‘瀹氬悗浜嬩欢
+ this.sava(pageData, this.After_OK_Event);
},
sava(pageData, event) {
+
var $this = this;
- if (pageData.DefList.length == 0) {
- uni.showModal({
- title: this.translateSys("tip"),
- content: this.translate(
- "tip_no_data_first") +
- this.translateSys(
- "quotation_mark_left") + pageData.Name + this
- .translateSys(
- "quotation_mark_right") +
- this.translate(
- "tip_no_data_last"),
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
- return false;
- }
+ // if (pageData.DefList.length == 0) {
+ // uni.showModal({
+ // title: this.translateSys("tip"),
+ // content: this.translate(
+ // "tip_no_data_first") +
+ // this.translateSys(
+ // "quotation_mark_left") + pageData.Name + this
+ // .translateSys(
+ // "quotation_mark_right") +
+ // this.translate(
+ // "tip_no_data_last"),
+ // showCancel: false,
+ // confirmText: this.translateSys('close')
+ // });
+ // return false;
+ // }
//鑾峰彇琛ㄥご灞炴�
- pageData.okLoading = true
var head_attr = {};
- this.$data.head_styledef.form.items.forEach(item => {
+ this.head_styledef.form.items.forEach(item => {
if (item.name == "Layout") { //鍒ゆ柇鏄惁鏄爡鏍忔牸寮�- item.setting.colList.forEach(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;
@@ -1583,14 +3373,21 @@
pageData.DefList.forEach(style => {
var detail_attr = {};
style.form.items.forEach(item => {
- if (item.name == "Layout") { //鍒ゆ柇鏄惁鏄爡鏍忔牸寮�- item.setting.colList.forEach(cols => {
- if (cols != null) detail_attr[
- cols
- .fieldId] = cols.value;
- });
+ if (item.name ==
+ "Layout") { //鍒ゆ柇鏄惁鏄爡鏍忔牸寮�+ item.setting.colList
+ .forEach(col => {
+ if (col !=
+ null)
+ detail_attr[
+ col
+ .fieldId
+ ] = col
+ .value;
+ });
} else
- detail_attr[item.fieldId] = item.value;
+ detail_attr[item.fieldId] =
+ item.value;
});
detail_attr['id'] = style.form.objId;
@@ -1605,21 +3402,28 @@
//鑾峰彇姝e湪鐮佺洏閲屾病鏈夋樉绀虹殑瀛楁
pageData.DefList.forEach(style => {
style.form.attrs.forEach(attr => {
- for (var key in detailAttrList) {
- if (style.form.objId == detailAttrList[key]
+ for (var key in
+ detailAttrList) {
+ if (style.form.objId ==
+ detailAttrList[key]
[
'id'
]) {
- var keys = Object.keys(detailAttrList[
- key]);
+ var keys = Object.keys(
+ detailAttrList[
+ key]);
var isflag = true;
keys.forEach((ele) => {
- if (ele == attr.attr)
+ if (ele ==
+ attr
+ .attr)
isflag =
false;
});
if (isflag) {
- detailAttrList[attr.attr] = attr
+ detailAttrList[attr
+ .attr] =
+ attr
.value;
}
}
@@ -1640,36 +3444,36 @@
detailAttrList.forEach(attr => {
jsonlist.push({
id: attr["id"] || "",
- attrs: Object.keys(attr).map((a) => ({
+ attrs: Object.keys(attr).map((
+ a) => ({
attr: a,
- value: attr[a] || "",
+ value: attr[
+ a] || "",
}))
});
});
- if (jsonlist.length == 0) {
- pageData.okLoading = false
- uni.showModal({
- title: this.translateSys("tip"),
- content: this.translate("tip_no_select_data"),
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
- return;
- }
+ // if (jsonlist.length == 0) {
+ // showInfo(this.translate(
+ // "tip_no_select_data"))
+
+ // return;
+ // }
const list = []
list.push({
page_name: pageData.Name,
item_list: jsonlist,
ext_data: pageData.ExtData
})
- // console.log(jsonlist);
- $this.runCustomEvent(pageData, event, input_param, list);
+
+ $this.runCustomEvent(pageData, event, input_param,
+ list);
// jsonlist.forEach(async (json,key)=>{
// await $this.runCustomEvent(event,input_param,json,'1');
// });
},
//鎵ц纭畾鑴氭湰
- async runCustomEvent(pageParam, event, input_param, json, type) {
+ async runCustomEvent(pageParam, event, input_param, json,
+ type) {
var $this = this;
var data_json = Base64.encode(
JSON.stringify(json)
@@ -1677,7 +3481,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: '',
@@ -1693,343 +3497,407 @@
global_attr: '',
input_param: input_param,
};
-
- // console.log(dataInfo);
+ console.log(dataInfo);
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 != 0 && result.ret != 1) {
+ let cls_name = result.event_info?.cls_name
+ let event_name = result.event_info?.event_name
+ tip = result.err_info ? typeof result.err_info == 'string' ? result.err_info : result
+ .err_info
+ .join('\n') : ''
if (result.ret == 801) {
if (this.param.Only_Script_Error) {
let pos = tip.indexOf("锛�);
- if (pos > -1) tip = tip.substring(pos +
- 1);
+ 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;
+ }
+ if (cls_name && event_name) tip = `鎵ц鈥�{cls_name}鈥濇暟鎹被鐨勨�${event_name}鈥濊剼鏈椂杩斿洖閿欒锛�{tip}`
+ if (result.ret == 801) showInfo(tip)
+ else showError(`${tip}锛屾彁绀猴細${result.ret}`, this.translateSys('tip'))
+ this.saving = false
+ return false
} else {
- var tip = result.info ? typeof result.info ==
- 'string' ? result.info : result.info
- .join('<br/>') : '';
- if (tip) uni.showModal({
- title: this.translateSys('tip'),
- content: tip,
- showCancel: false,
- confirmText: this.translateSys(
- "cancel")
- });
- if (result.result_type == 0) {
- if (result.action) {
- // uni.showModal({title:this.translateSys("tip"),content:JSON.stringify(result.action),showCancel:false,confirmText:this.translateSys("cancel")});
+ var tip = result.info ? typeof result.info == 'string' ? result.info :
+ result.info.join('\n') : '';
+ tip = tip || result.err_info
+ let time = result.info_time || 0
+ if (time)
+ showError(tip, this.translateSys('tip'))
+ else
+ showInfo(tip)
+ if ([0, 2, 3, 4, -1].includes(
+ result.result_type)) {
+ if (result.result_type == 2) {
- 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
+ } else if (typeof result
+ .result == 'string') {
+ showInfo(result.result)
+ }
+ try {
+ let actionList = result
+ .action || []
+ actionList.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
+ ] =
+ '';
+ }
+ });
+ showInfo($this
.translate(
'execute_event_success'
- ),
- showCancel: false,
- confirmText: this
- .translateSys(
- "cancel"
- )
- });
- } else if (item.action_type ==
- "set_subtable_page_content"
- ) { //宸茬爜鐩�- $this.$data.param
- .Show_Welcom_Page =
- false;
- var value = item.value;
- const pageData = $this
- .pageDetail.find((
- page) => {
- return value
- .page_name ==
- page.Name;
- });
- if (value.clear_confirm !=
- false && value.clear ==
- true &&
- pageData && pageData
- .DefList.length > 0
- ) { //鍒ゆ柇鏄惁娓呯┖椤电鍐呭,姝e湪鐮佺洏鏄惁鏈夋暟鎹�- uni.showModal({
- title: this
- .translateSys(
- 'tip'
- ),
- content: this
- .translate(
- "are_you_sure_clear_first"
- ) +
- this
- .translateSys(
- "quotation_mark_left"
- ) +
- value
- .page_name +
- this
- .translateSys(
- "quotation_mark_right"
- ) +
- this
- .translate(
- "are_you_sure_clear_last"
- ),
- success: function(
- res
- ) {
- if (res
- .confirm
- ) {
- if (
- pageData
- )
- pageData
- .DefList = [];
- $this
- .viewAceionContent(
- value
- );
- } else if (
- res
- .cancel
- ) {
- if (
- pageData
- )
- pageData
- .DefList = [];
- $this
- .viewAceionContent(
- value
- );
- }
- }
- });
- } else {
- if (pageData)
- pageData
- .DefList = [];
- $this
- .viewAceionContent(
- value);
- }
- } else if (item
- .action_type ==
- "remove_subtable_page_row"
- ) { //娓呴櫎闈㈡澘涓寚瀹歩d鐨勬暟鎹�- var value = item.value;
- const pageData = $this
- .pageDetail.find((
- page) => {
- return value
- .page_name ==
+ ))
+
+ } 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
- .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
- );
- }
- }
- );
+ ) => {
+ return value
+ .page_name ==
+ page
+ .Name;
});
- }
- } 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 =
+ if (value
+ .clear_confirm !=
+ false &&
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(() => {
+ .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
- .setData({
- focusFieldId: item
- .value
- })
- });
- } else if (item.action_type ==
- "set_dlg_attr") {
- // value = {"attr":"xxx", "value":"xxx"}
- var data = item.value;
- $this.setFormValues(data)
- }
+ .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 ($this.$data.After_OK_Event.ID !=
+ } else if (item
+ .action_type ==
+ "clear_subpage_rows"
+ ) {
+ var value =
+ item
+ .value;
+ const
+ pageIndex =
+ $this
+ .pageDetail
+ .findIndex(
+ (
+ page
+ ) => {
+ return value
+ .page_name ==
+ page
+ .Name;
+ });
+ if (pageIndex >
+ -1) {
+ const
+ pageData =
+ $this
+ .pageDetail[
+ pageIndex
+ ]
+ pageData
+ .DefList = []
+ pageData
+ .ExtData = {}
+
+ $this
+ .$set(
+ this
+ .pageDetail,
+ pageIndex,
+ pageData
+ )
+ }
+ } else if (item
+ .action_type ==
+ "set_dlg_current_edit_attr"
+ ) {
+ if ($this
+ .focusOldFieldId ==
+ item
+ .value)
+ $this
+ .setData({
+ focusFieldId: ""
+ })
+ else {
+ $this
+ .setData({
+ focusFieldId: $this
+ .focusOldFieldId
+ })
+ }
+ $this
+ .$nextTick(
+ () => {
+ $this
+ .setData({
+ focusFieldId: item
+ .value
+ })
+ });
+ } else if (item
+ .action_type ==
+ "set_dlg_attr"
+ ) {
+ // value = {"attr":"xxx", "value":"xxx"}
+ var data =
+ item
+ .value;
+ $this
+ .setFormValues(
+ data
+ )
+ } else if (item
+ .action_type ==
+ 'set_dlg_attr_show'
+ ) {
+ var data =
+ item
+ .value;
+ $this
+ .setFormItemVisible(
+ data
+ )
+ } else if (item.action_type == 'get_pre_page_subtable_next_row') {
+ var data = item.value;
+ const eventChannel = this.getOpenerEventChannel();
+ eventChannel.emit('get_pre_page_subtable_next_row', data);
+ } else if (item.action_type == 'remove_pre_page_subtable_row') {
+ var data = item.value;
+ const eventChannel = this.getOpenerEventChannel();
+ eventChannel.emit('remove_pre_page_subtable_row', data);
+ }
+ else if (item.action_type == "goback_to_pre_page") {
+ //杩斿洖涓婁竴椤�+ uni.navigateBack({
+ delta: 1, //杩斿洖灞傛暟锛�鍒欎笂涓婇〉
+ });
+ }
+ });
+
+ if ($this.After_OK_Event
+ ?.ID && $this
+ .After_OK_Event.ID !=
event
.ID) { //鍒ゆ柇褰撳墠浜嬩欢鏄惁鏄‘瀹氬悗浜嬩欢
-
- $this.sava(pageParam, $this.$data
- .After_OK_Event); //鎵ц纭畾鍚庝簨浠�+ $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("cancel")
- });
+ } catch (ex) {
+ let actionList = (result
+ .action || []).map(
+ a => a.action_type)
+ .join(';')
+ let tip = typeof ex == 'string' ? ex : ex.message
+ tip = `鎵ц鑴氭湰杩斿洖鐨�{actionList}鏃跺嚭鐜板紓甯革紝璇锋鏌ヨ剼鏈繑鍥炵殑鏁版嵁鏍煎紡鏄惁姝g‘銆�{tip}`
+ showError(tip, this.translateSys('tip'))
+ return
}
}
}
- pageParam.okLoading = false
}).catch(ex => {
- pageParam.okLoading = false
- 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,
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
+ showError(ex, this.translateSys("error") + "8.1")
+
+
});
},
@@ -2039,17 +3907,29 @@
});
},
translate(t) {
- if (typeof this.$t == "function") return this.$t(`page.${t}`)
+ if (typeof this.$t == "function") return this.$t(
+ `page.${t}`)
else return t;
},
translateSys(t) {
- if (typeof this.$t == "function") return this.$t(`sys.${t}`)
+ if (typeof this.$t == "function") return this.$t(
+ `sys.${t}`)
else return t;
},
},
};
</script>
+<style>
+ .popup-content {
+ @include flex;
+ }
+
+ .popup-height {
+ @include height;
+ /* width: 200px; */
+ }
+</style>
<style lang="scss">
.uni-page-modal-5601 {
@@ -2065,38 +3945,6 @@
flex-direction: column;
}
- .v-head-style {
- width: 98%;
-
- .uni-forms-item {
- margin-bottom: 11rpx;
- }
-
- .input-wrapper {
- border: 1px solid #d5d5d5;
- width: 100%;
- display: flex;
- flex-direction: row;
-
- .uni-input {
- flex: 1;
- padding: 12rpx 8rpx;
- color: #2d8cf0;
- // height: 40rpx;
- // line-height: 40rpx;
- }
-
- .uni-icon {
- padding: 8rpx;
- font-size: 32rpx;
- color: rgb(192, 196, 204);
- }
- }
-
- .input-wrapper:hover {
- border: 1px solid rgb(41, 121, 255);
- }
- }
.view-content {
display: flex;
@@ -2133,15 +3981,82 @@
flex-direction: column !important;
}
+ .tab-content {
+ display: flex;
+ width: 100%;
+ height: 100%;
+ 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-weight: bold;
+ float: left;
+ display: inline-block;
+
+ }
+
+ .btn-one {
+ padding: 20rpx;
+ line-height: 1.5;
+ font-weight: bold;
+ float: left;
+ display: inline-block;
+ width: 50%;
+ margin-left: 25%;
+ }
+
+ .btn-right {
+ padding: 20rpx;
+ line-height: 1.5;
+ 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;
@@ -2151,7 +4066,7 @@
.uni-icon {
/* border: 1px solid red; */
- width: 8%;
+ width: 30rpx;
font-family: uniicons;
font-size: 40rpx;
font-weight: 400;
@@ -2167,52 +4082,31 @@
.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;
- }
+ .uni-forms-item {
+ padding-bottom: 5rpx;
+ margin-bottom: 0;
- input::-webkit-input-placeholder {
- font-size: 10rpx;
- }
+ .uni-forms-item__label {
+ height: 20px !important;
+ padding: 0 10rpx 0 0 !important;
+ }
+ }
- .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: 16px;
+ padding-bottom: 10rpx;
checkbox {
padding-left: 20px;
@@ -2221,58 +4115,18 @@
button {
text-align: left;
- line-height: 1.8;
+ line-height: 1.6;
border: none;
- font-size: 34rpx;
- width: 180rpx;
+
+ 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;
@@ -2323,7 +4177,6 @@
background: #94D5EF;
display: block;
width: 100%;
- font-size: 36rpx;
line-height: 80rpx;
font-weight: 500;
}
@@ -2342,8 +4195,6 @@
background: #FFF;
border-radius: 0 !important;
color: #2d8cf0;
- /* padding: 10rpx 8rpx 12rpx; */
- font-size: 34rpx;
font-family: inherit;
box-shadow: none !important;
transition-duration: 0.1s;
@@ -2367,29 +4218,86 @@
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-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-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-weight: bold;
+ /* float: right; */
+ display: inline-block;
+ }
}
+
+ .uni-page-modal-5601.large-mode {
+ .dv-panel-button {
+ min-height: 32px !important;
+ }
+ }
</style>
\ No newline at end of file
--
Gitblit v1.9.1