From 303d480e7569a0c0a476b462e843ea76658faac5 Mon Sep 17 00:00:00 2001
From: cyy <cuiqian2004@163.com>
Date: 星期六, 01 三月 2025 17:55:53 +0800
Subject: [PATCH] 5601 modify form smallwmd
---
pages/modal/3018.vue | 1416 ++++++-----
/dev/null | 3548 ----------------------------
pages/modal/5601.vue | 164 +
pages.json | 8
manifest.json | 4
api/data.js | 51
pages/modal/form/index.vue | 2231 +++++++++++++++++
7 files changed, 3,227 insertions(+), 4,195 deletions(-)
diff --git a/api/data.js b/api/data.js
index 8e5c64d..ff2186b 100644
--- a/api/data.js
+++ b/api/data.js
@@ -111,6 +111,24 @@
data,
})
}
+
+/**
+ *api/dataobj/update
+ * 鏇存柊鏁版嵁瀵硅薄
+ * @param {*}
+ * @returns
+ */
+export const updateDataObj = (data) => {
+
+ const app = getApp()
+ var url = app.globalData.mobox3ApiUrl.data + 'api/dataobj/update?sessionid=' + app.globalData.sessionId
+ return http.request({
+ method: "POST",
+ header: {},
+ url,
+ data,
+ })
+}
/**
*api/dataobj/Delete
* 鍒犻櫎鏁版嵁瀵硅薄
@@ -132,4 +150,37 @@
url,
data,
})
+}
+
+/**
+ * api/dataobj/getinfo?sessionid=SESSION_ID
+ * 寰楀埌鏁版嵁瀵硅薄淇℃伅
+ * @param {*} param0
+ */
+
+export const dataObjInfo = (data) => {
+
+ const {
+ class_id,
+ class_name,
+ obj_id,
+ attrs,
+ get_info_type,
+ check_compose
+ } = data
+ const app = getApp()
+ var url = app.globalData.mobox3ApiUrl.data + 'api/dataobj/GetInfo?sessionid=' + app.globalData.sessionId
+ return http.request({
+ method: "POST",
+ header: {},
+ url,
+ data: {
+ class_id,
+ class_name,
+ obj_id,
+ attrs,
+ get_info_type,
+ check_compose
+ },
+ })
}
\ No newline at end of file
diff --git a/manifest.json b/manifest.json
index c821d6f..93a9130 100644
--- a/manifest.json
+++ b/manifest.json
@@ -2,8 +2,8 @@
"name" : "MoboxPDA",
"appid" : "__UNI__56D451E",
"description" : "",
- "versionName" : "1.1.41",
- "versionCode" : 1141,
+ "versionName" : "1.1.42",
+ "versionCode" : 1142,
"transformPx" : false,
/* 5+App鐗规湁鐩稿叧 */
"app-plus" : {
diff --git a/pages.json b/pages.json
index 2cb99b0..3823a6c 100644
--- a/pages.json
+++ b/pages.json
@@ -92,6 +92,14 @@
"enablePullDownRefresh": false
}
},
+ {
+ "path" : "pages/modal/form/index",
+ "style" :
+ {
+ "navigationBarTitleText":"%sys.add2%",
+ "enablePullDownRefresh": false
+ }
+ },
// {
// "path": "pages/modal/small-wnd/index",
// "style": {
diff --git a/pages/modal/3018.vue b/pages/modal/3018.vue
index 2d58c4a..e11dc14 100644
--- a/pages/modal/3018.vue
+++ b/pages/modal/3018.vue
@@ -257,9 +257,9 @@
</view>
- <view class="v-bottom"><button type="default" @tap="cancel"
- class="btn_cancel">{{translateSys('cancel')}}</button>
- <button type="default" @tap="sava" class="btn_add">{{title}}</button>
+ <view class="v-bottom"><button type="primary" @tap="ok" class="btn_add">{{title}}</button>
+ <button type="default" @tap="cancel" class="btn_cancel">{{translateSys('cancel')}}</button>
+
</view>
<!-- 鏅�寮圭獥 top bottom center left right -->
<view>
@@ -328,6 +328,8 @@
data() {
return {
title: this.translateSys('add2'),
+ editMode: false,
+ objAttr: {},
param: {},
type: '',
classAttrList: [],
@@ -371,6 +373,9 @@
if (options.type) {
this.$data.type = options.type;
}
+ this.editMode = options.editMode ? true : false;
+ if (options.objAttr)
+ this.objAttr = JSON.parse(options.objAttr);
console.log(param);
if (!param.EditDlgMode) {
uni.showModal({
@@ -474,10 +479,13 @@
return res?.dict_item_list || []
} catch (ex) {
- // console.log(ex);
+ let exStr = JSON.stringify(ex)
+ if (exStr == "{}")
+ exStr = ex
+ let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
uni.showModal({
title: this.translateSys('error') + " 1.3",
- content: ex.errMsg,
+ content: tip,
showCancel: false,
confirmText: this.translateSys('cancel')
});
@@ -489,268 +497,336 @@
try {
var $this = this;
var gridstyleInfo = {
- class_id: $this.$data.param.clsid,
+ class_id: $this.param.clsid,
ui_style_type: 2,
- ui_style_name: $this.$data.param.Edit_dlg.Name
+ ui_style_name: $this.param.Edit_dlg.Name
};
- const result = await getUIStyleInfo(dataInfo)
+ const result = await getUIStyleInfo(gridstyleInfo)
var styledef = Base64.decode(result.style_def);
result.style_def = JSON.parse(styledef);
$this.$data.classGridStyle = result
$this.viewParam();
} catch (ex) {
- // console.log(ex);
+ console.log(ex)
+ let exStr = JSON.stringify(ex)
+ if (exStr == "{}")
+ exStr = ex
+ let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
uni.showModal({
title: this.translateSys('error') + " 1.4",
- content: ex.errMsg,
+ content: tip,
showCancel: false,
confirmText: this.translateSys('cancel')
});
}
},
- viewParam() { //灏唌obox3灏忓啓鍙傛暟杞崲涓簃obox2澶у啓鍙傛暟
- var class_gridStyle = {
- ID: this.$data.classGridStyle.id,
- Name: this.$data.classGridStyle.name,
- Type: this.$data.classGridStyle.type,
- IsDefault: this.$data.classGridStyle.is_defaul,
- StyleDef: this.$data.classGridStyle.style_def,
- };
- this.$data.classGridStyle = class_gridStyle;
- var class_attrList = [];
- this.$data.classAttrList.forEach(data => {
- var attrs = [];
- if (data.attr_list) {
- data.attr_list.forEach(attr => {
- var dictitems = [];
- if (attr.dictitem) {
- attr.dictitem.forEach(dict => {
- dictitems.push({
- ID: dict.id,
- Name: dict.name,
- Note: dict.note,
- Order: dict.order,
- ImgUrl: null,
- Code: dict.code,
- HasSub: null,
- ParentID: null,
- ParentName: null,
- Lvl: dict.lvl,
- IsDefault: dict.is_default,
- Value: dict.value,
- CN_G_ID: dict.id,
- CN_G_DICT_ID: null,
- CN_S_NAME: dict.name,
- CN_S_NOTE: dict.note,
- CN_N_ORDER: dict.order,
- CN_S_IMG_URL: null,
- CN_S_CODE: dict.code,
- CN_C_HAS_SUB: null,
- CN_G_PARENT_ITEM_ID: null,
- CN_G_PARENT_ITEM_NAME: null,
- CN_N_LVL: dict.lvl,
- CN_C_IS_DEFAULT: dict.is_default,
- CN_S_VALUE: dict.value
- });
- });
- }
- attrs.push({
- ID: attr.id,
- Name: attr.name,
- Type: attr.type,
- Size: attr.size,
- NotEmpty: attr.not_empty,
- DefValue: attr.def_value,
- Order: attr.order,
- DictName: attr.dict_name,
- DictID: attr.dict_id,
- CodeDefName: attr.code_def_name,
- CodeDefID: attr.code_def_id,
- RelClsID: null,
- RelCls: attr.ref_cls,
- Width: attr.width,
- Height: attr.height,
- CtrlStyle: attr.ctrl_style,
- HasAce: attr.has_ace,
- CanShow: attr.can_show,
- CanQuery: attr.can_query,
- ReadOnly: attr.read_only,
- IsKey: attr.is_key,
- IsFixed: attr.is_fixed,
- DispName: attr.disp_name,
- LuaAttr: attr.lua_attr,
- Desc: attr.desc,
- ActionDef: attr.action_def ? Base64.decode(attr
- .action_def) : '',
- Multilingual: attr.multilingual,
- RefCondition: attr.ref_condition,
- GroupName: data.group,
- Value: null,
- dictitem: dictitems
- });
- });
- }
- class_attrList.push({
- Name: data.group,
- Order: data.order,
- HasAce: data.has_ace,
- BkColor: data.bk_color,
- ImgFontStyle: data.img_font_style,
- Attr: attrs
+ async loadFormData(objAttr) {
+ let formData
+ if (this.param.objid) {
+ let info = await dataObjInfo({
+ class_id: this.param.clsid,
+ obj_id: this.param.objid,
});
- });
- this.$data.classAttrList = class_attrList;
- // console.log(this.$data.classGridStyle);
- // console.log(this.$data.classAttrList);
- this.class_attr_init();
- },
- class_attr_init() {
- var attrlist = this.$data.classGridStyle.StyleDef.show_style
- var newattrlist = [];
- if (this.$data.classAttrList.length > 0) {
+ formData = {};
+ formData["id"] = info.id;
+ formData["state"] = info.state;
+ info.attr_list.forEach(({
+ name,
+ value
+ }) => {
+ formData[name] = value;
+ });
+ } else if (objAttr) {
+ formData = {};
+ Object.keys(objAttr).forEach((attr) => {
+ let value = objAttr[attr];
+ formData[attr] = value;
+ });
+ }
+ //浼犲叆鍙傛暟鍊�+ if (formData) {
+ var attrlist = this.$data.classAttrList;
for (var i = 0; i < attrlist.length; i++) {
- var open = attrlist[i].open;
- var name = attrlist[i].attrgroup_name;
- var attrs = attrlist[i].attrs;
- for (var s = 0; s < this.$data.classAttrList.length; s++) {
- var clsattr = this.$data.classAttrList[s];
- // if (name == clsattr.Name) {
- var attr = [];
- for (var j = 0; j < attrs.length; j++) {
- for (var l = 0; l < clsattr.Attr.length; l++) {
- var ca = clsattr.Attr[l];
- if (attrs[j].attr == ca.Name) {
- ca.action = attrs[j].action;
- ca.edit = attrs[j].edit;
- ca.notempty = attrs[j].notempty;
- ca.ext_button = attrs[j].ext_button;
- ca.button_img = attrs[j].button_img;
- ca.button_tooltip = attrs[j].button_tooltip;
- ca.before_click_button = attrs[j].before_click_button;
- ca.button_callback = attrs[j].button_callback;
- ca.hidden = attrs[j].hidden;
- ca.select = attrs[j].select == undefined ? false : attrs[j].select;
- ca.Value = "";
- if (ca.dictitem.length > 0) {
- if (ca.select == true)
- ca.Value = []; //ca.dictitem[0].CN_S_NAME;
- else
- ca.Value = this.translateSys(
- "select"); //ca.dictitem[0].CN_S_NAME;
- var dictitemlist = [];
- for (var d = 0; d < ca.dictitem.length; d++) {
- ca.dictitem[d].label = ca.dictitem[d].CN_S_NAME;
- ca.dictitem[d].value = ca.dictitem[d].CN_S_NAME;
- ca.dictitem[d].attr = ca.Name;
- if (ca.dictitem[d].CN_C_IS_DEFAULT == '1')
- ca.Value = ca.dictitem[d].CN_S_NAME;
- }
- }
- if (utils.classUtils.attrTypeIsDateTime(ca.Type)) {
- var nowDate = new Date();
- var date = {
- year: nowDate.getFullYear(),
- month: nowDate.getMonth() + 1,
- day: nowDate.getDate()
- }
- ca.Value = date.year + '-' + (date.month >= 10 ? date.month :
- '0' +
- date
- .month) + '-' + (date.day >= 10 ? date.day : '0' + date
- .day);
- }
- if (utils.classUtils.attrTypeIsObjRefMulti(ca.Type)) {
- ca.RelClsList = ca.RelCls;
- ca.Value = this.translateSys('please');
- }
- if (utils.classUtils.attrTypeIsRegion(ca.Type))
- ca.Value = this.translateSys("select");
- if (utils.classUtils.attrTypeIsBool(ca.Type))
- ca.Value = false;
+ var attr = attrlist[i].Attr;
+ for (var j = 0; j < attr.length; j++) {
+ var ar = attr[j];
+ ar.Value = formData[ar.Name] || ""
+ }
+ }
+ this.$data.classAttrList = attrlist;
+ }
+ },
+ async viewParam() { //灏唌obox3灏忓啓鍙傛暟杞崲涓簃obox2澶у啓鍙傛暟
+ try {
+ var class_gridStyle = {
+ ID: this.$data.classGridStyle.id,
+ Name: this.$data.classGridStyle.name,
+ Type: this.$data.classGridStyle.type,
+ IsDefault: this.$data.classGridStyle.is_defaul,
+ StyleDef: this.$data.classGridStyle.style_def,
+ };
+ this.$data.classGridStyle = class_gridStyle;
+ var class_attrList = [];
+ this.$data.classAttrList.forEach(data => {
+ var attrs = [];
+ if (data.attr_list) {
+ data.attr_list.forEach(attr => {
+ var dictitems = [];
+ if (attr.dictitem) {
+ attr.dictitem.forEach(dict => {
+ dictitems.push({
+ ID: dict.id,
+ Name: dict.name,
+ Note: dict.note,
+ Order: dict.order,
+ ImgUrl: null,
+ Code: dict.code,
+ HasSub: null,
+ ParentID: null,
+ ParentName: null,
+ Lvl: dict.lvl,
+ IsDefault: dict.is_default,
+ Value: dict.value,
+ CN_G_ID: dict.id,
+ CN_G_DICT_ID: null,
+ CN_S_NAME: dict.name,
+ CN_S_NOTE: dict.note,
+ CN_N_ORDER: dict.order,
+ CN_S_IMG_URL: null,
+ CN_S_CODE: dict.code,
+ CN_C_HAS_SUB: null,
+ CN_G_PARENT_ITEM_ID: null,
+ CN_G_PARENT_ITEM_NAME: null,
+ CN_N_LVL: dict.lvl,
+ CN_C_IS_DEFAULT: dict.is_default,
+ CN_S_VALUE: dict.value
+ });
+ });
+ }
+ attrs.push({
+ ID: attr.id,
+ Name: attr.name,
+ Type: attr.type,
+ Size: attr.size,
+ NotEmpty: attr.not_empty,
+ DefValue: attr.def_value,
+ Order: attr.order,
+ DictName: attr.dict_name,
+ DictID: attr.dict_id,
+ CodeDefName: attr.code_def_name,
+ CodeDefID: attr.code_def_id,
+ RelClsID: null,
+ RelCls: attr.ref_cls,
+ Width: attr.width,
+ Height: attr.height,
+ CtrlStyle: attr.ctrl_style,
+ HasAce: attr.has_ace,
+ CanShow: attr.can_show,
+ CanQuery: attr.can_query,
+ ReadOnly: attr.read_only,
+ IsKey: attr.is_key,
+ IsFixed: attr.is_fixed,
+ DispName: attr.disp_name,
+ LuaAttr: attr.lua_attr,
+ Desc: attr.desc,
+ ActionDef: attr.action_def ? Base64.decode(attr
+ .action_def) : '',
+ Multilingual: attr.multilingual,
+ RefCondition: attr.ref_condition,
+ GroupName: data.group,
+ Value: null,
+ dictitem: dictitems
+ });
+ });
+ }
+ class_attrList.push({
+ Name: data.group,
+ Order: data.order,
+ HasAce: data.has_ace,
+ BkColor: data.bk_color,
+ ImgFontStyle: data.img_font_style,
+ Attr: attrs
+ });
+ });
+ this.$data.classAttrList = class_attrList;
+ // console.log(this.$data.classGridStyle);
+ // console.log(this.$data.classAttrList);
- attr.push(ca);
+ await this.class_attr_init();
+ } catch (ex) {
+ let exStr = JSON.stringify(ex)
+ if (exStr == "{}")
+ exStr = ex
+ let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
+ uni.showModal({
+ title: this.translateSys("error"),
+ content: tip,
+ showCancel: false,
+ confirmText: this.translateSys("cancel")
+ });
+ }
+ },
+ async class_attr_init() {
+ try {
+ var attrlist = this.$data.classGridStyle.StyleDef.show_style
+ var newattrlist = [];
+ if (this.$data.classAttrList.length > 0) {
+ for (var i = 0; i < attrlist.length; i++) {
+ var open = attrlist[i].open;
+ var name = attrlist[i].attrgroup_name;
+ var attrs = attrlist[i].attrs;
+ for (var s = 0; s < this.$data.classAttrList.length; s++) {
+ var clsattr = this.$data.classAttrList[s];
+ // if (name == clsattr.Name) {
+ var attr = [];
+ for (var j = 0; j < attrs.length; j++) {
+ for (var l = 0; l < clsattr.Attr.length; l++) {
+ var ca = clsattr.Attr[l];
+ if (attrs[j].attr == ca.Name) {
+ ca.action = attrs[j].action;
+ ca.edit = attrs[j].edit;
+ ca.notempty = attrs[j].notempty;
+ ca.ext_button = attrs[j].ext_button;
+ ca.button_img = attrs[j].button_img;
+ ca.button_tooltip = attrs[j].button_tooltip;
+ ca.before_click_button = attrs[j].before_click_button;
+ ca.button_callback = attrs[j].button_callback;
+ ca.hidden = attrs[j].hidden;
+ ca.select = attrs[j].select == undefined ? false : attrs[j].select;
+ ca.Value = "";
+ if (ca.dictitem.length > 0) {
+ if (ca.select == true)
+ ca.Value = []; //ca.dictitem[0].CN_S_NAME;
+ else
+ ca.Value = this.translateSys(
+ "select"); //ca.dictitem[0].CN_S_NAME;
+ var dictitemlist = [];
+ for (var d = 0; d < ca.dictitem.length; d++) {
+ ca.dictitem[d].label = ca.dictitem[d].CN_S_NAME;
+ ca.dictitem[d].value = ca.dictitem[d].CN_S_NAME;
+ ca.dictitem[d].attr = ca.Name;
+ if (ca.dictitem[d].CN_C_IS_DEFAULT == '1')
+ ca.Value = ca.dictitem[d].CN_S_NAME;
+ }
+ }
+ if (utils.classUtils.attrTypeIsDateTime(ca.Type)) {
+ var nowDate = new Date();
+ var date = {
+ year: nowDate.getFullYear(),
+ month: nowDate.getMonth() + 1,
+ day: nowDate.getDate()
+ }
+ ca.Value = date.year + '-' + (date.month >= 10 ? date.month :
+ '0' +
+ date
+ .month) + '-' + (date.day >= 10 ? date.day : '0' + date
+ .day);
+ }
+ if (utils.classUtils.attrTypeIsObjRefMulti(ca.Type)) {
+ ca.RelClsList = ca.RelCls;
+ ca.Value = this.translateSys('please');
+ }
+ if (utils.classUtils.attrTypeIsRegion(ca.Type))
+ ca.Value = this.translateSys("select");
+ if (utils.classUtils.attrTypeIsBool(ca.Type))
+ ca.Value = false;
+
+ attr.push(ca);
+ }
+ }
+ }
+ newattrlist.push({
+ BkColor: clsattr.BkColor,
+ HasAce: clsattr.HasAce,
+ ImgFontStyle: clsattr.ImgFontStyle,
+ Name: clsattr.Name,
+ Order: clsattr.Order,
+ Open: open,
+ Attr: attr,
+ control_style: this.$data.classGridStyle.StyleDef.control_style,
+ title_p_wdith: this.$data.classGridStyle.StyleDef.title_p_wdith
+ })
+ // }
+ }
+ }
+ if (newattrlist.length > 0) {
+ this.$data.classAttrList = newattrlist;
+ }
+ var req = [];
+ if (this.$data.classGridStyle.StyleDef) {
+ if (this.$data.classGridStyle.StyleDef.show_style.length > 0) {
+ var attrlist = this.$data.classGridStyle.StyleDef.show_style
+ // $el.find('.attr_field').prop('readonly', true);
+ // $el.find('.attr_field').prop('disabled', true);
+ for (var i = 0; i < attrlist.length; i++) {
+ var attr = attrlist[i].attrs
+ for (var j = 0; j < attr.length; j++) {
+ var ar = attr[j];
+ req.push({
+ attr: ar.attr,
+ value: ar.value ? ar.value : ''
+ });
}
}
}
- newattrlist.push({
- BkColor: clsattr.BkColor,
- HasAce: clsattr.HasAce,
- ImgFontStyle: clsattr.ImgFontStyle,
- Name: clsattr.Name,
- Order: clsattr.Order,
- Open: open,
- Attr: attr,
- control_style: this.$data.classGridStyle.StyleDef.control_style,
- title_p_wdith: this.$data.classGridStyle.StyleDef.title_p_wdith
- })
- // }
}
- }
- if (newattrlist.length > 0) {
- this.$data.classAttrList = newattrlist;
- }
- var req = [];
- if (this.$data.classGridStyle.StyleDef) {
- if (this.$data.classGridStyle.StyleDef.show_style.length > 0) {
- var attrlist = this.$data.classGridStyle.StyleDef.show_style
- // $el.find('.attr_field').prop('readonly', true);
- // $el.find('.attr_field').prop('disabled', true);
- for (var i = 0; i < attrlist.length; i++) {
- var attr = attrlist[i].attrs
- for (var j = 0; j < attr.length; j++) {
- var ar = attr[j];
- req.push({
- attr: ar.attr,
- value: ar.value ? ar.value : ''
- });
+
+ var eventlist = this.$data.classGridStyle.StyleDef.event;
+ // console.log(eventlist);
+ if (eventlist) {
+ if (eventlist.length > 0) {
+ for (var i = 0; i < eventlist.length; i++) {
+ if (eventlist[i].event_id == 'before_ok') {
+ this.$data.edit_ok_event = eventlist[i];
+ } else if (eventlist[i].event_id == 'initial') {
+ this.$data.edit_inital_event = eventlist[i];
+ } else if (eventlist[i].event_id == 'before_select_compose') {
+ this.$data.edit_select_compose_event = eventlist[i].scrip_id;
+ this.$data.edit_compose_cls_id = eventlist[i].compose_cls_id;
+ }
}
}
}
- }
-
- var eventlist = this.$data.classGridStyle.StyleDef.event;
- // console.log(eventlist);
- if (eventlist) {
- if (eventlist.length > 0) {
- for (var i = 0; i < eventlist.length; i++) {
- if (eventlist[i].event_id == 'before_ok') {
- this.$data.edit_ok_event = eventlist[i];
- } else if (eventlist[i].event_id == 'initial') {
- this.$data.edit_inital_event = eventlist[i];
- } else if (eventlist[i].event_id == 'before_select_compose') {
- this.$data.edit_select_compose_event = eventlist[i].scrip_id;
- this.$data.edit_compose_cls_id = eventlist[i].compose_cls_id;
- }
+ await this.loadFormData(this.objAttr)
+ // console.log(req);
+ if (this.$data.edit_inital_event) {
+ var eventid = this.$data.edit_inital_event.scrip_id;
+ var info = {
+ eventid: eventid,
+ edtype: "0",
+ projectid: '',
+ rclsid: '',
+ robjid: '',
+ userlogin: '',
+ clsid: this.$data.param.clsid,
+ objid: "",
+ attr: req,
}
+ this.ini_DataObjRunCustomEvent(info);
}
- }
- // console.log(req);
- if (this.$data.edit_inital_event) {
- var eventid = this.$data.edit_inital_event.scrip_id;
- var info = {
- eventid: eventid,
- edtype: "0",
- projectid: '',
- rclsid: '',
- robjid: '',
- userlogin: '',
- clsid: this.$data.param.clsid,
- objid: "",
- attr: req,
- }
- this.ini_DataObjRunCustomEvent(info);
- }
- console.log(this.$data.classGridStyle);
- console.log(this.$data.classAttrList);
+ console.log(this.$data.classGridStyle);
+ console.log(this.$data.classAttrList);
- } else {
+ } else {
+ uni.showModal({
+ title: this.translateSys('tip'),
+ content: this.translate('no_find_attr_diaplay'),
+ showCancel: false,
+ confirmText: this.translateSys('cancel')
+ });
+ }
+ } catch (ex) {
+ let exStr = JSON.stringify(ex)
+ if (exStr == "{}")
+ exStr = ex
+ let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
uni.showModal({
- title: this.translateSys('tip'),
- content: this.translate('no_find_attr_diaplay'),
+ title: this.translateSys("error"),
+ content: tip,
showCancel: false,
- confirmText: this.translateSys('cancel')
+ confirmText: this.translateSys("cancel")
});
}
},
@@ -801,6 +877,76 @@
}
this.DataObjRunCustomEvent_Return(before_click_button, data_attr, button_callback, index,
iindex);
+ },
+ setFormValues(data) {
+ if (JSON.stringify(data) == '{}') {
+ return;
+ }
+ for (var a = 0; a < this.$data.classAttrList
+ .length; a++) {
+ for (var l = 0; l < this.$data
+ .classAttrList[a]
+ .Attr
+ .length; l++) {
+ var ca = this.$data.classAttrList[a]
+ .Attr[l];
+ let curIndex = data.findIndex((attr) => {
+ return attr.attr == ca.Name;
+ })
+ if (curIndex > -1) {
+ const attr = data[curIndex]
+ if (utils.classUtils
+ .attrTypeIsDict(ca
+ .Type)) {
+ var dictItemList = [];
+ for (var d in attr
+ .choice_list) {
+ var list_val = attr
+ .choice_list[d];
+ dictItemList.push({
+ "CN_S_NAME": list_val,
+ "Name": list_val,
+ "label": list_val,
+ "value": list_val
+ });
+
+ }
+ ca.dictitem = dictItemList;
+ // attr[j].dictitem = val[i].choice_list;
+ } else {
+ ca.Value = attr.value;
+ }
+
+
+
+ }
+
+ }
+ }
+
+ for (var i = 0; i < value.length; i++) {
+
+ var length = 0;
+ if (!this.$data.refdatastore.filter(function(
+ s) {
+ return data[i].attr == s.attr
+ }).length) {
+ length = 1;
+ this.$data.refdatastore.push(data[i]);
+ }
+ if (length == 0) {
+ for (var j = 0; j < this.$data.refdatastore
+ .length; j++) {
+ if (this.$data.refdatastore[j].attr ==
+ data[i]
+ .attr) {
+ this.$data.refdatastore[j].value =
+ data[i]
+ .value;
+ }
+ }
+ }
+ }
},
popupChange(e) {
console.log('褰撳墠妯″紡锛� + e.type + ',鐘舵�锛� + e.show);
@@ -1216,18 +1362,7 @@
}
});
},
- //纭畾
- sava() {
- if (this.$data.edit_ok_event)
- this.OKDataObjRunCustomEvent();
- else
- this.add();
- },
- add() {
- uni.showLoading({
- title: this.translateSys("loading"),
- mask: true
- });
+ getPostDataObjAttr() {
var req = [];
var attrlist = this.$data.classAttrList;
for (var i = 0; i < attrlist.length; i++) {
@@ -1237,148 +1372,262 @@
if (ar.Value == this.translateSys("select") || ar.Value == '鈥斺�' + this
.translateSys(
"select") + '鈥斺�') ar.Value = '';
- if (utils.classUtils.attrTypeIsDict(ar.Type)) {
- if (ar.select == true) { //鍒ゆ柇涓嬫媺鏄惁澶氶�
- var valStr = "";
- for (var v in ar.Value) {
- if (valStr)
- valStr += ";";
- valStr += ar.Value[v];
- }
- req.push({
- name: ar.Name,
- value: valStr
- });
- } else
- req.push({
- name: ar.Name,
- value: ar.Value
- });
- } else {
- const node = this.formatAttr(ar)
+ req.push(this.formatAttr(ar));
+ }
+ }
+ if (this.$data.refdatastore.length > 0) {
+ for (var i = 0; i < this.$data.refdatastore.length; i++) {
+ if (!req.filter(function(s) {
+ return this.$data.refdatastore[i].attr == s.name
+ }).length) {
+ length = 1;
req.push({
- name: node.attr,
- value: node.value
+ 'attr': this.$data.refdatastore[i].attr,
+ 'val': this.$data.refdatastore[i].value
});
- }
-
-
- if (ar.notempty == true && !ar.Value) {
- // if(ar.NotEmpty=='1'){
- uni.hideLoading();
- // uni.showToast({title:ar.DispName+'涓嶈兘涓虹┖锛�,icon:"success",duration:3000});
- uni.showModal({
- title: this.translateSys('tip'),
- content: this.translateSys('quotation_mark_left') + ar.DispName +
- this
- .translateSys('quotation_mark_right') + this.translate(
- "cannot_empty"),
- showCancel: false,
- confirmText: this.translateSys('cancel')
- });
- return;
}
}
}
- var enviroment = {
- 'function': '3000', // 鍔熻兘鐐圭紪鍙�- cls_id: this.$data.param.clsid, // 鍔熻兘鐐逛富鏁版嵁绫绘爣璇�- 'button': 'top', // top/bottom
- button_name: this.translateSys('add2'),
- master: {
- cls_id: this.$data.param.clsid,
- }
- };
- enviroment = Base64.encode(JSON.stringify(enviroment)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜
var obj_attr = {};
req.forEach(item => {
- obj_attr[item.name] = item.value;
+ obj_attr[item.attr] = item.value;
});
- // console.log(obj_attr);
- // var dataInfo={
- // class_id: this.$data.param.clsid, data_obj_id: '', masterclsid: '',
- // req: JSON.stringify(req), upfile: JSON.stringify([]), post_data: JSON.stringify({}),
- // compose: JSON.stringify([]), refdatastore: JSON.stringify([]), extinfo: JSON.stringify(enviroment),
- // not_trigger_sys_event: ''
- // };
- var dataInfo = {
- class_id: this.$data.param.clsid,
- class_name: '',
- master_cls_id: '',
- master_obj_id: '',
- creator: '',
- creator_name: '',
- not_trigger_event: '',
- update_exist: '',
- post_process: '',
- ext_info: enviroment,
- obj_attr: obj_attr
- };
- console.log(dataInfo);
- // return
- DataObjCreate(dataInfo).then((res) => {
- console.log(res);
- uni.hideLoading();
- let data = res.lua_result
- if (data.ret != 0) {
- var tip = data.err_info ? typeof data.err_info == 'string' ? data
- .err_info :
- data
- .err_info.join('<br/>') : '';
- if (data.ret == 801) 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') + ':' + data
- .ret,
- showCancel: false,
- confirmText: this.translateSys('cancel')
- });
- return false
- } else {
- var tip = data.info ? typeof data.info == 'string' ? data.info : data
- .info
- .join(
- '<br/>') : '';
- if (tip) uni.showModal({
- title: this.translateSys('tip'),
- content: tip,
- showCancel: false,
- confirmText: this.translateSys('cancel')
- });
- uni.showToast({
- title: this.translate('create_success'),
- icon: "success",
- duration: 3000
- });
- }
-
-
-
-
- //鍒锋柊
- uni.redirectTo({
- url: '../modal/3018?param=' + JSON.stringify(this.$data
- .param) +
- "&titlename=" + this.$data.title
+ return obj_attr
+ },
+ //纭畾
+ async ok() {
+ try {
+ uni.showLoading({
+ title: this.translateSys("loading"),
+ mask: true
});
- // this.cancel();
-
- }).catch(ex => {
- console.log(ex);
+ this.okLoading = true
+ var obj_attr = this.getPostDataObjAttr();
+ let ret = await this.sava();
+ this.okLoading = false
uni.hideLoading();
+ if (!ret) return;
+ obj_attr.id = this.objId;
+ const eventChannel = this.$scope.eventChannel;
+ // const eventChannel = this.getOpenerEventChannel();
+ eventChannel.emit(this.type, obj_attr);
+
+ uni.navigateBack()
+ } catch (ex) {
+ return false;
+ }
+ },
+ //纭畾
+ async sava() {
+ try {
+ if (this.param.objid) {
+
+ // let ret = await this.OKDataObjRunCustomEvent();
+ // if (!ret) return false;
+ if (this.$data.edit_ok_event) { // 鐐瑰嚮纭畾鎸夐挳鍚�+ ret = await this.OKDataObjRunCustomEvent();
+ if (!ret) return false;
+
+ } else {
+ ret = await this.update();
+ if (!ret) return false;
+ }
+
+ } else {
+ if (this.editMode) {
+ return true
+ } else {
+ // let ret = await this.OKDataObjRunCustomEvent();
+ // if (!ret) return false;
+ if (this.$data.edit_ok_event) { // 鐐瑰嚮纭畾鎸夐挳鍚�+ ret = await this.OKDataObjRunCustomEvent();
+ if (!ret) return false;
+ } else {
+ ret = await this.add();
+ if (!ret) return false;
+ }
+ }
+ }
+ return true;
+ } catch (ex) {
+ return false;
+ }
+
+ },
+
+ // async sava() {
+ // try {
+ // if (this.$data.edit_ok_event)
+ // this.OKDataObjRunCustomEvent();
+ // else
+ // this.add();
+ // } catch (ex) {
+ // return false;
+ // }
+ // },
+ async add() {
+ try {
+ var req = [];
+ var attrlist = this.$data.classAttrList;
+ for (var i = 0; i < attrlist.length; i++) {
+ var attr = attrlist[i].Attr;
+ for (var j = 0; j < attr.length; j++) {
+ var ar = attr[j];
+ if (ar.Value == this.translateSys("select") || ar.Value == '鈥斺�' + this
+ .translateSys(
+ "select") + '鈥斺�') ar.Value = '';
+ if (utils.classUtils.attrTypeIsDict(ar.Type)) {
+ if (ar.select == true) { //鍒ゆ柇涓嬫媺鏄惁澶氶�
+ var valStr = "";
+ for (var v in ar.Value) {
+ if (valStr)
+ valStr += ";";
+ valStr += ar.Value[v];
+ }
+ req.push({
+ name: ar.Name,
+ value: valStr
+ });
+ } else
+ req.push({
+ name: ar.Name,
+ value: ar.Value
+ });
+ } else {
+ const node = this.formatAttr(ar)
+ req.push({
+ name: node.attr,
+ value: node.value
+ });
+ }
+
+
+ if (ar.notempty == true && !ar.Value) {
+ // if(ar.NotEmpty=='1'){
+ uni.hideLoading();
+ // uni.showToast({title:ar.DispName+'涓嶈兘涓虹┖锛�,icon:"success",duration:3000});
+ uni.showModal({
+ title: this.translateSys('tip'),
+ content: this.translateSys('quotation_mark_left') + ar.DispName +
+ this
+ .translateSys('quotation_mark_right') + this.translate(
+ "cannot_empty"),
+ showCancel: false,
+ confirmText: this.translateSys('cancel')
+ });
+ return;
+ }
+ }
+ }
+ var enviroment = {
+ 'function': '3000', // 鍔熻兘鐐圭紪鍙�+ cls_id: this.$data.param.clsid, // 鍔熻兘鐐逛富鏁版嵁绫绘爣璇�+ 'button': 'top', // top/bottom
+ button_name: this.translateSys('add2'),
+ master: {
+ cls_id: this.$data.param.clsid,
+ }
+ };
+
+ enviroment = Base64.encode(JSON.stringify(enviroment)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜
+ var obj_attr = {};
+ req.forEach(item => {
+ obj_attr[item.name] = item.value;
+ });
+ var dataInfo = {
+ class_id: this.$data.param.clsid,
+ class_name: '',
+ master_cls_id: '',
+ master_obj_id: '',
+ creator: '',
+ creator_name: '',
+ not_trigger_event: '',
+ update_exist: '',
+ post_process: '',
+ ext_info: enviroment,
+ obj_attr: obj_attr
+ };
+ console.log(dataInfo);
+ // return
+ DataObjCreate(dataInfo).then((res) => {
+ console.log(res);
+ uni.hideLoading();
+ let data = res.lua_result
+ if (data.ret != 0) {
+ var tip = data.err_info ? typeof data.err_info == 'string' ? data
+ .err_info :
+ data
+ .err_info.join('<br/>') : '';
+ if (data.ret == 801) 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') + ':' + data
+ .ret,
+ showCancel: false,
+ confirmText: this.translateSys('cancel')
+ });
+ return false
+ } else {
+ var tip = data.info ? typeof data.info == 'string' ? data.info : data
+ .info
+ .join(
+ '<br/>') : '';
+ if (tip) uni.showModal({
+ title: this.translateSys('tip'),
+ content: tip,
+ showCancel: false,
+ confirmText: this.translateSys('cancel')
+ });
+ uni.showToast({
+ title: this.translate('create_success'),
+ icon: "success",
+ duration: 3000
+ });
+ }
+
+
+
+
+ //鍒锋柊
+ uni.redirectTo({
+ url: '../modal/3018?param=' + JSON.stringify(this.$data
+ .param) +
+ "&titlename=" + this.$data.title
+ });
+ // this.cancel();
+
+ }).catch(ex => {
+ console.log(ex);
+ uni.hideLoading();
+ let exStr = JSON.stringify(ex)
+ if (exStr == "{}")
+ exStr = ex
+ let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
+ uni.showModal({
+ title: this.translateSys('tip'),
+ content: tip,
+ showCancel: false,
+ confirmText: this.translateSys('cancel')
+ });
+ });
+ } catch (ex) {
+ let exStr = JSON.stringify(ex)
+ if (exStr == "{}")
+ exStr = ex
+ let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
uni.showModal({
- title: this.translateSys('tip'),
- content: ex.errMsg,
+ title: this.translateSys('error') + " 4.1",
+ content: tip,
showCancel: false,
confirmText: this.translateSys('cancel')
});
- });
+ }
},
ini_DataObjRunCustomEvent(info) {
var param = {
@@ -1473,63 +1722,7 @@
var value = action.value;
if (action_type == 'set_dlg_attr') {
if (value) {
- console.log(value);
- for (var i = 0; i < value.length; i++) {
- for (var a = 0; a < this.$data.classAttrList
- .length; a++) {
- for (var l = 0; l < this.$data
- .classAttrList[a]
- .Attr
- .length; l++) {
- var ca = this.$data.classAttrList[a]
- .Attr[l];
- if (value[i].attr == ca.Name) {
- if (utils.classUtils
- .attrTypeIsDict(ca
- .Type)) {
- var dictItemList = [];
- for (var d in value[i]
- .choice_list) {
- var list_val = value[i]
- .choice_list[d];
- dictItemList.push({
- "CN_S_NAME": list_val,
- "Name": list_val,
- "label": list_val,
- "value": list_val
- });
-
- }
- ca.dictitem = dictItemList;
- // attr[j].dictitem = val[i].choice_list;
- } else {
- ca.Value = value[i].value;
- }
- }
- }
- }
-
- var length = 0;
- if (!this.$data.refdatastore.filter(function(
- s) {
- return value[i].attr == s.attr
- }).length) {
- length = 1;
- this.$data.refdatastore.push(value[i]);
- }
- if (length == 0) {
- for (var j = 0; j < this.$data.refdatastore
- .length; j++) {
- if (this.$data.refdatastore[j].attr ==
- value[i]
- .attr) {
- this.$data.refdatastore[j].value =
- value[i]
- .value;
- }
- }
- }
- }
+ this.setFormValues(value)
}
}
if (action_type == 'open_select_userdlg') {
@@ -1555,9 +1748,13 @@
}).catch(ex => {
// console.log(ex);
+ let exStr = JSON.stringify(ex)
+ if (exStr == "{}")
+ exStr = ex
+ let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
uni.showModal({
title: this.translateSys('error') + " 2.1",
- content: ex.errMsg,
+ content: tip,
showCancel: false,
confirmText: this.translateSys('cancel')
});
@@ -1669,66 +1866,7 @@
var action = actionlist[i];
if (action.action_type == 'set_dlg_attr') {
var result = action.value;
- for (var i = 0; i < result.length; i++) {
- if (result[i].choice_list) {
- for (var c = 0; c < $this.$data.classAttrList
- .length; c++) {
- var attr = $this.$data.classAttrList[c].Attr;
- for (var j = 0; j < attr.length; j++) {
- if (attr[j].Name == result[i].attr) {
- if (utils.classUtils.attrTypeIsDict(
- attr[j]
- .Type)) {
- var dictItemList = [];
- for (var d in result[i]
- .choice_list) {
- var val = result[i]
- .choice_list[d];
- dictItemList.push({
- "CN_S_NAME": val,
- "Name": val,
- "label": val,
- "value": val
- });
- }
- attr[j].dictitem = dictItemList;
- // attr[j].dictitem = result[i].choice_list;
- }
- }
- }
- }
- }
- for (var c = 0; c < $this.$data.classAttrList
- .length; c++) {
- var attr = $this.$data.classAttrList[c].Attr;
- for (var j = 0; j < attr.length; j++) {
- console.log(attr[j].Name + '==' + result[i]
- .attr);
- if (attr[j].Name == result[i].attr) {
- attr[j].Value = result[i].value;
- }
- }
- }
- var length = 0;
- if (!$this.$data.refdatastore.filter(function(s) {
- return result[i].attr == s.attr
- }).length) {
- length = 1;
- $this.$data.refdatastore.push(result[i]);
- }
- if (length == 0) {
- for (var j = 0; j < $this.$data.refdatastore
- .length; j++) {
- if ($this.$data.refdatastore[j].attr == result[
- i]
- .attr) {
- $this.$data.refdatastore[j].value = result[
- i]
- .value;
- }
- }
- }
- }
+ this.setFormValues(action.value)
} else if (data.action[i].action_type == 'set_global_attr') {
$this.$data.global_attr = data.action[i].value || [];
}
@@ -1768,161 +1906,174 @@
}
}).catch(ex => {
- // console.log(ex);
+ let exStr = JSON.stringify(ex)
+ if (exStr == "{}")
+ exStr = ex
+ let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
uni.showModal({
title: this.translateSys('error') + " 3.1",
- content: ex.errMsg,
+ content: tip,
showCancel: false,
confirmText: this.translateSys('cancel')
});
});
},
- OKDataObjRunCustomEvent() {
- var enviroment = {
- 'function': '3000', // 鍔熻兘鐐圭紪鍙�- cls_id: this.$data.param.clsid, // 鍔熻兘鐐逛富鏁版嵁绫绘爣璇�- 'button': 'top', // top/bottom
- button_name: this.translateSys('add2'),
- master: {
- cls_id: this.$data.param.clsid, // button=bottom鏃�master鐨刢ls_id
+ async OKDataObjRunCustomEvent() {
+ try {
+ var enviroment = {
+ 'function': '3000', // 鍔熻兘鐐圭紪鍙�+ cls_id: this.$data.param.clsid, // 鍔熻兘鐐逛富鏁版嵁绫绘爣璇�+ 'button': 'top', // top/bottom
+ button_name: this.translateSys('add2'),
+ master: {
+ cls_id: this.$data.param.clsid, // button=bottom鏃�master鐨刢ls_id
- }
- };
- var eventid = this.$data.edit_ok_event.scrip_id;
- var req = [];
- var attrlist = this.$data.classAttrList;
- for (var i = 0; i < attrlist.length; i++) {
- var attr = attrlist[i].Attr;
- for (var j = 0; j < attr.length; j++) {
- var ar = attr[j];
- if (ar.Value == this.translateSys("select") || ar.Value == '鈥斺�' + this
- .translateSys(
- "select") + '鈥斺�') ar.Value = '';
- req.push(this.formatAttr(ar));
- }
- }
- if (this.$data.refdatastore.length > 0) {
- for (var i = 0; i < this.$data.refdatastore.length; i++) {
- if (!req.filter(function(s) {
- return this.$data.refdatastore[i].attr == s.name
- }).length) {
- length = 1;
- req.push({
- 'attr': this.$data.refdatastore[i].attr,
- 'val': this.$data.refdatastore[i].value
- });
+ }
+ };
+ var eventid = this.$data.edit_ok_event.scrip_id;
+ var req = [];
+ var attrlist = this.$data.classAttrList;
+ for (var i = 0; i < attrlist.length; i++) {
+ var attr = attrlist[i].Attr;
+ for (var j = 0; j < attr.length; j++) {
+ var ar = attr[j];
+ if (ar.Value == this.translateSys("select") || ar.Value == '鈥斺�' + this
+ .translateSys(
+ "select") + '鈥斺�') ar.Value = '';
+ req.push(this.formatAttr(ar));
}
}
- }
- var info = {
- eventid: eventid,
- edtype: "0",
- projectid: '',
- rclsid: '',
- robjid: '',
- userlogin: '',
- clsid: this.$data.param.clsid,
- objid: "",
- attr: req,
- }
- // var dataInfo = {
- // edtype: info.edtype, eventid: info.eventid, projectid: info.projectid,rclsid: info.rclsid,
- // robjid: info.robjid, userlogin: info.userlogin, clsid: info.clsid, objid: info.objid,
- // attr: JSON.stringify(info.attr), extinfo: JSON.stringify(enviroment), global_attr: JSON.stringify(this.$data.global_attr)
- // }
-
- enviroment = Base64.encode(JSON.stringify(enviroment)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜
- var global_attr = Base64.encode(JSON.stringify(this.$data.global_attr)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜
- var obj_attr = {};
- info.attr.forEach(item => {
- obj_attr[item.attr] = item.value;
- });
- if (!eventid.includes('{')) eventid = '{' + eventid + '}';
- var dataInfo = {
- ed_type: info.edtype,
- start_transaction: '',
- class_id: info.clsid,
- class_name: '',
- event_id: 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: '',
- compose_info: '',
- ext_info: enviroment,
- global_attr: global_attr,
- input_param: '',
- };
- console.log(dataInfo);
- // return;
- runCustomEvent(dataInfo).then(data => {
- console.log(data);
- if (data.ret != 0) {
- var tip = data.err_info ? typeof data.err_info == 'string' ? data
- .err_info :
- data
- .err_info.join('<br/>') : '';
- if (data.ret == 801) 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') + ':' + data
- .ret,
- showCancel: false,
- confirmText: this.translateSys('cancel')
- });
- return false
- } else {
- var tip = data.info ? typeof data.info == 'string' ? data.info : data
- .info
- .join(
- '<br/>') : '';
- if (tip) uni.showModal({
- title: this.translateSys('tip'),
- content: tip,
- showCancel: false,
- confirmText: this.translateSys('cancel')
- });
-
- var result = data.result;
- for (var i = 0; i < result.length; i++) {
- // self.class_attr_ele.find('.attr_field[data-field="' + result[i].attr + '"]').val(result[i].value).data('val', result[i].value);
- var length = 0;
- if (!this.$data.refdatastore.filter(function(s) {
- return result[i].attr == s.attr
+ if (this.$data.refdatastore.length > 0) {
+ for (var i = 0; i < this.$data.refdatastore.length; i++) {
+ if (!req.filter(function(s) {
+ return this.$data.refdatastore[i].attr == s.name
}).length) {
length = 1;
- this.$data.refdatastore.push(result[i]);
+ req.push({
+ 'attr': this.$data.refdatastore[i].attr,
+ 'val': this.$data.refdatastore[i].value
+ });
}
- if (length == 0) {
- for (var j = 0; j < this.$data.refdatastore.length; j++) {
- if (this.$data.refdatastore[j].attr == result[i].attr) {
- this.$data.refdatastore[j].value = result[i].value;
+ }
+ }
+ var info = {
+ eventid: eventid,
+ edtype: "0",
+ projectid: '',
+ rclsid: '',
+ robjid: '',
+ userlogin: '',
+ clsid: this.$data.param.clsid,
+ objid: this.$data.param.objid,
+ attr: req,
+ }
+ enviroment = Base64.encode(JSON.stringify(enviroment)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜
+ var global_attr = Base64.encode(JSON.stringify(this.$data.global_attr)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜
+ var obj_attr = {};
+ info.attr.forEach(item => {
+ obj_attr[item.attr] = item.value;
+ });
+ if (!eventid.includes('{')) eventid = '{' + eventid + '}';
+ var dataInfo = {
+ ed_type: info.edtype,
+ start_transaction: '',
+ class_id: info.clsid,
+ class_name: '',
+ event_id: 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: '',
+ compose_info: '',
+ ext_info: enviroment,
+ global_attr: global_attr,
+ input_param: '',
+ };
+ console.log(dataInfo);
+ // return;
+ runCustomEvent(dataInfo).then(data => {
+ console.log(data);
+ if (data.ret != 0) {
+ var tip = data.err_info ? typeof data.err_info == 'string' ? data
+ .err_info :
+ data
+ .err_info.join('<br/>') : '';
+ if (data.ret == 801) 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') + ':' + data
+ .ret,
+ showCancel: false,
+ confirmText: this.translateSys('cancel')
+ });
+ return false
+ } else {
+ var tip = data.info ? typeof data.info == 'string' ? data.info : data
+ .info
+ .join(
+ '<br/>') : '';
+ if (tip) uni.showModal({
+ title: this.translateSys('tip'),
+ content: tip,
+ showCancel: false,
+ confirmText: this.translateSys('cancel')
+ });
+
+ var result = data.result;
+ for (var i = 0; i < result.length; i++) {
+ // self.class_attr_ele.find('.attr_field[data-field="' + result[i].attr + '"]').val(result[i].value).data('val', result[i].value);
+ var length = 0;
+ if (!this.$data.refdatastore.filter(function(s) {
+ return result[i].attr == s.attr
+ }).length) {
+ length = 1;
+ this.$data.refdatastore.push(result[i]);
+ }
+ if (length == 0) {
+ for (var j = 0; j < this.$data.refdatastore.length; j++) {
+ if (this.$data.refdatastore[j].attr == result[i].attr) {
+ this.$data.refdatastore[j].value = result[i].value;
+ }
}
}
}
+
+ this.add();
}
- this.add();
- }
-
- }).catch(ex => {
- // console.log(ex);
+ }).catch(ex => {
+ let exStr = JSON.stringify(ex)
+ if (exStr == "{}")
+ exStr = ex
+ let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
+ uni.showModal({
+ title: this.translateSys('error') + " 4.1",
+ content: tip,
+ showCancel: false,
+ confirmText: this.translateSys('cancel')
+ });
+ });
+ } catch (ex) {
+ let exStr = JSON.stringify(ex)
+ if (exStr == "{}")
+ exStr = ex
+ let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
uni.showModal({
title: this.translateSys('error') + " 4.1",
- content: ex.errMsg,
+ content: tip,
showCancel: false,
confirmText: this.translateSys('cancel')
});
- });
+ }
},
DataObjRunCustomEvent_Return(eventid, data_attr, button_callback, index, iindex) {
var enviroment = {
@@ -2233,10 +2384,13 @@
}
}).catch(ex => {
- // console.log(ex);
+ let exStr = JSON.stringify(ex)
+ if (exStr == "{}")
+ exStr = ex
+ let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
uni.showModal({
title: this.translateSys('tip') + "5.1",
- content: ex.errMsg,
+ content: tip,
showCancel: false,
confirmText: this.translateSys('cancel')
});
@@ -2493,7 +2647,7 @@
color: #fff;
font-size: 38rpx;
font-weight: bold;
- float: right;
+ float: left;
display: inline-block;
}
@@ -2502,12 +2656,12 @@
margin-top: 50rpx;
padding: 20rpx;
line-height: 1.5;
- background: #27A6E1;
+ background: #fff;
border: none;
- color: #fff;
+ color: #000;
font-size: 38rpx;
font-weight: bold;
- float: left;
+ float: right;
display: inline-block;
}
diff --git a/pages/modal/5601.vue b/pages/modal/5601.vue
index e16e920..c8553f1 100644
--- a/pages/modal/5601.vue
+++ b/pages/modal/5601.vue
@@ -274,14 +274,11 @@
},
},
onLoad(options) {
- console.log(options.titlename, options);
uni.setNavigationBarTitle({
title: options.titlename
}); //璁剧疆椤堕儴鏍囬
this.title = options.titlename;
this.param = JSON.parse(options.param);
-
-
//鑾峰彇涓绘暟鎹被ID
this.ClsID = this.param.master_cls?.id;
if (this.ClsID) {
@@ -736,7 +733,7 @@
.onSuffixClickEvent; //鍚庡浘鏍囩偣鍑诲洖璋� var isflag = false;
- if (onChangeEvent.id) { //鍐呭鍙樺寲鍚庝簨浠�+ if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠� $this.onChange(onChangeEvent);
}
if (item.value) { //绗竴涓緭鍏ユ涓嶄负绌�@@ -819,7 +816,7 @@
this.head_styledef.form.model[attr] = item.value;
var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�
- if (onChangeEvent.id) { //鍐呭鍙樺寲鍚庝簨浠�+ if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠� this.onChange(onChangeEvent);
}
@@ -835,7 +832,7 @@
let attr = col.fieldId;
this.head_styledef.form.model[attr] = col.value;
var onChangeEvent = col.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�- if (onChangeEvent.id) { //鍐呭鍙樺寲鍚庝簨浠�+ if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠� this.onChange(onChangeEvent);
}
return
@@ -846,7 +843,7 @@
let attr = item.fieldId;
this.head_styledef.form.model[attr] = item.value;
var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�- if (onChangeEvent.id) { //鍐呭鍙樺寲鍚庝簨浠�+ if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠� this.onChange(onChangeEvent);
}
}
@@ -863,7 +860,7 @@
let attr = col.fieldId;
this.head_styledef.form.model[attr] = col.value;
var onChangeEvent = col.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�- if (onChangeEvent.id) { //鍐呭鍙樺寲鍚庝簨浠�+ if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠� this.onChange(onChangeEvent);
}
return
@@ -874,7 +871,7 @@
let attr = item.fieldId;
this.head_styledef.form.model[attr] = item.value;
var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�- if (onChangeEvent.id) { //鍐呭鍙樺寲鍚庝簨浠�+ if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠� this.onChange(onChangeEvent);
}
}
@@ -2574,14 +2571,17 @@
})
},
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"),
success: function(res) {
- if (res.confirm) {}
- this.onButtonClicked(btn, pageData, -1);
+ if (res.confirm) {
+ $this.onButtonClicked(btn, pageData, -1);
+ }
+
},
})
@@ -2590,14 +2590,17 @@
}
},
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"),
success: function(res) {
- if (res.confirm) {}
- this.onButtonClicked(btn, pageData, index);
+ if (res.confirm) {
+ $this.onButtonClicked(btn, pageData, index);
+ }
+
},
})
@@ -2611,7 +2614,7 @@
button: "top",
button_name: btn.ShowName,
cls_id: btn.Cls_ID,
- function: "3018",
+ function: "5601",
master: {},
};
if (btn.FunCode == "TriggerEvent") {
@@ -2621,14 +2624,146 @@
this.cancel();
} else if (btn.FunCode == "Delete") {
if (index > -1) {
+ const pageIndex = this.pageDetail.findIndex((
+ page) => {
+ return pageData.Name == page.Name;
+ })
const style = pageData.DefList[index];
//鍒犻櫎鐮佺洏涓牱寮忛潰鏉� pageData.DefList.splice(index, 1);
this.del(pageData, style, btn.AfterProcess_Event);
+ this.$set(this.pageDetail, pageIndex, pageData)
}
+ } else if (btn.FunCode == "Modify") {
+ if (index > -1) {
+ const style = pageData.DefList[index];
+ if (btn.Edit_dlg.Model == "small") {
+ this.showSmallDialog(btn, style, enviroment, pageData);
+ } else if (btn.Edit_dlg.Model == "form") {
+ this.showFormDialog(btn, style, enviroment, pageData);
+ } else {
+ uni.showModal({
+ title: this.translateSys("tip"),
+ content: this.translateSys("unrealized"),
+ showCancel: false,
+ confirmText: this.translateSys("cancel")
+ });
+ }
+ }
+
} else {
this.$Message.warning(this.$t("sys.unrealized"));
}
+ },
+ //淇敼灏忕獥鍙f暟鎹�+ showSmallDialog(btn, row, enviroment, pageData) {
+ var data = {
+ Add_BtnName: btn.ShowName,
+ EditDlgMode: btn.Edit_dlg.Model,
+ clsid: btn.Cls_ID,
+ objid: "",
+ cls_name: btn.Cls_Name,
+ Edit_dlg: btn.Edit_dlg
+ };
+ const objAttr = {}
+ row.form.items.forEach(item => {
+ if (item.name == "Layout") { //鍒ゆ柇鏄惁鏄爡鏍忔牸寮�+ item.setting.colList.forEach(cols => {
+ if (cols != null) objAttr[cols
+ .fieldId] = cols.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(cols => {
+ if (cols != null) objAttr[cols
+ .fieldId] = cols.value;
+ });
+ } else
+ objAttr[item.fieldId] = item.value;
+ });
+
+ const url = `../modal/form/index?param=${JSON.stringify(btn)}&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) => {
+ 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)
+
+ },
+ }
+ });
},
//纭畾
ok(pageData) {
@@ -3367,6 +3502,7 @@
line-height: 1.5;
border: none;
font-size: 30rpx;
+ margin-right: 10rpx;
display: inline-block;
float: right;
text-align: center;
diff --git a/pages/modal/form/form.vue b/pages/modal/form/form.vue
deleted file mode 100644
index a86be86..0000000
--- a/pages/modal/form/form.vue
+++ /dev/null
@@ -1,3548 +0,0 @@
-<template>
- <view class="uni-page-modal-form">
- <!-- 琛ㄥご鏍峰紡 -->
- <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 ?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="classAttr_extButton(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)"
- :maxlength="-1" />
- <text v-if="item.setting.suffix" class="uni-icon" :class="[item.setting.suffix]"
- @click="classAttr_extButton(item)"></text>
- </view>
- <!-- 澶嶉�妗�-->
- <checkbox-group v-if="item.name=='Checkbox'" :class="item.disabled?'input-disabled':''"
- :disabled="item.disabled" @change="onCheckBoxValue" :data-attr="item.fieldId"
- :data-index="index">
- <label v-for="(item2) in item.selections" :key="item2.value">
- <checkbox :value="item2.value" :checked="item.value.includes(item2.value)" />
- <text>{{item2.label}}</text>
- </label>
- </checkbox-group>
- <!-- 鍗曢�妗�-->
- <radio-group v-if="item.name=='Radio'" :class="item.disabled?'input-disabled':''"
- :disabled="item.disabled" @change="onRadioBoxValue" :data-attr="item.fieldId"
- :data-index="index">
- <label v-for="(item2) in item.selections" :key="item2.value">
- <radio :value="item2.value" :checked="item2.value === item.value" />
- <text>{{item2.label}}</text>
- </label>
- </radio-group>
- <!-- Switch寮�叧 -->
- <switch class="input-switch" v-if="item.name=='Switch'" :class="item.disabled?'input-disabled':''"
- :disabled="item.disabled" v-model="item.value" @change="onEnterChange(item)" />
- </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 ? 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(col)"
- :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="classAttr_extButton(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)" :maxlength="-1" />
- <text v-if="col.setting.suffix" class="uni-icon" :class="[col.setting.suffix]"
- @click="classAttr_extButton(col)"></text>
- </view>
- <!-- 澶嶉�妗�-->
- <checkbox-group v-if="col.name=='Checkbox'" :class="col.disabled?'input-disabled':''"
- :disabled="col.disabled" @change="onCheckBoxValue" :data-attr="col.fieldId"
- :data-index="index" :data-iindex="key">
- <label v-for="(col2) in col.selections" :key="col2.value">
- <checkbox :value="col2.value" :checked="col.value.includes(col2.value)" />
- <text>{{col2.label}}</text>
- </label>
- </checkbox-group>
- <!-- 鍗曢�妗�-->
- <radio-group v-if="col.name=='Radio'" :class="col.disabled?'input-disabled':''"
- :disabled="col.disabled" @change="onRadioBoxValue" :data-attr="col.fieldId"
- :data-index="index" :data-iindex="key">
- <label v-for="(col2) in col.selections" :key="col2.value">
- <radio :value="col2.value" :checked="col2.value === col.value" />
- <text>{{col2.label}}</text>
- </label>
- </radio-group>
- <!-- Switch寮�叧 -->
- <switch v-if="col.name=='Switch'" :class="col.disabled?'input-disabled':''"
- :disabled="col.disabled" v-model="col.value" @change="onEnterChange(col)" />
- </uni-forms-item>
- </uni-col>
- </uni-row>
- </view>
- </uni-forms>
- <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>
- </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="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,style.form.htmlobjId)"
- :id="'dvpanel'+style.form.htmlobjId"
- :class="style.form.htmlobjId==active_id?'bk-active':''">
- <div class="dv-panel-input">
- <div class="dv-input" v-for="(item,index) in style.form.items">
- <!-- 鏅�甯冨眬 -->
- <view v-if="item.name!='Layout'">
- <text class="txt_title"
- :style="{'width':item.labelWidth+'px'}">{{item.label}}锛�/text>
- <span class="form-item-span"
- v-if="item.disabled">{{item.value}}</span>
- <input class="uni-input" v-if="!item.disabled"
- :type="item.name=='InputNumber'?'number':'text'"
- v-model="item.value" :disabled="item.disabled"
- :placeholder="item.placeholder" :maxlength="-1" />
- </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" :maxlength="-1" />
- </view>
- </uni-col>
- </uni-row>
- </div>
- </div>
- <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"
- :checked="style.SelBut_Checked" />
- <!-- <text></text> -->
- <!-- <button type="primary" @click="savaItem(ii)" v-if="param.Sub_Page[0].OK_Button==true">淇濆瓨</Button> -->
- <button size="mini" v-for="(btn,btnIndex) in pageData.Row_Button"
- :key="btnIndex" :type="btn.FunCode == 'Delete' ? 'warn' : 'primary'"
- @click="onRowBtnClick(btn, pageData,ii)">
- <Icon v-if="btn.Style == 'img' || btn.Style == 'img_text'"
- class="Img" />
- {{(btn.Style == 'text'|| btn.Style == 'img_text') ? btn.ShowName :""}}
- </button>
- </div>
- </div>
- </checkbox-group>
- </view>
- <view class="view-bottom" v-if="pageData.Button.length >0 ">
- <button v-for="(btn,btnIndex) in pageData.Button" :key="btnIndex"
- :type="btn.FunCode == 'Cancel' ? 'default' : 'primary'"
- :class="{'btn-disabled':(btn.FunCode != 'Cancel' && pageData.okLoading),
- '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)}"
- :disabled="(btn.FunCode != 'Cancel' && pageData.okLoading)? true:false"
- @click="onBtnClick(btn, pageData)">
- <Icon v-if="btn.Style == 'img' || btn.Style == 'img_text'" class="Img" />
- {{(btn.Style == 'text'|| btn.Style == 'img_text') ? btn.ShowName :""}}
- </button>
- <view class="btn-right" v-if="pageData.DropDownButton.length >0 ">
- <a @click="clickDropdownBtns(pageData)">
- <Icon class="mobox-normal-more" />
- </a>
- </view>
- </view>
- </view>
- </swiper-item>
- </swiper>
- </view>
- <!-- 鍥炬枃/鏂囨湰 -->
- <view class="view-imagetext" v-else>
- <div class="view-imagetext-uploadlist">
- <image :src="param.Welcome_Page.Img"
- :style="{'width':param.Welcome_Page.Width+'px','height':param.Welcome_Page.Height+'px'}">
- </image>
- <text class="txt-text"
- :style="{'color':param.Welcome_Page.Txt_Color,'font-size':param.Welcome_Page.Font_Size+'px','font-family':param.Welcome_Page.Font}">{{param.Welcome_Page.Text}}</Text>
- </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':'200px','height':check_list.height?check_list.height+'px':'88%'}">
- <view class="popup-cont" :style="{'height':check_list.height?check_list.height-45+'px':'415px'}">
- <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
- } from "@/api/mobox.js"
- import {
- getUIStyleInfo,
- runCustomEvent,
- } from "@/api/data.js"
-
- export default {
- name: "PageModalForm",
- modules: {
- Base64,
- },
- data() {
- return {
- title: this.translateSys("inventory"),
- ClsID: '',
- param: {},
- focusFieldId: "",
- focusOldFieldId: "",
- head_styledef: {
- form: {
- items: []
- }
- },
- pageDetail: [], //{StyleDef{}:,DefList:[],ExtData:{}}
- // 鍒嗘鍣ㄦ暟鎹�- current: 0,
- After_OK_Event: {},
- active_id: '',
- selectAttrObj: {},
-
- global_attr: [],
- refdatastore: [], //寮曠敤鏁版嵁瀛樺偍鍖�/ {attr:'G_PRJ_' + bindattr + '_ID', value:info.id}
- popupType: "center",
- check_list: {},
- popupParam: {},
- };
- },
- computed: {
- tabs() {
- return this.pageDetail.map((page => {
- return page.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)
- } else {
- uni.showModal({
- title: this.translateSys("error"),
- content: this.translate("tip_no_master_class"),
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
- }
- },
- //椤甸潰鍒濆鍖栬幏鍙栫劍鐐�- methods: {
- setData(obj) {
- let that = this;
- let keys = [];
- let val, data;
-
- Object.keys(obj).forEach(function(key) {
- keys = key.split(".");
- val = obj[key];
- data = that.$data;
- keys.forEach(function(key2, index) {
- if (index + 1 == keys.length) {
- that.$set(data, key2, val);
- console.log("$set", key2, val)
- } else {
- if (!data[key2]) {
- that.$set(data, key2, {});
- console.log("$set", key2, {})
- }
- }
- data = data[key2];
- });
- });
- },
- async loadData(paramValue) {
- //鑾峰彇鏁版嵁绫荤殑鑷畾涔夎〃鍗曞弬鏁�- await this.Head_UIStyleGetInfo(this.ClsID, this.param.Input_UI_Style.ID);
- //浼犲叆鍙傛暟鍊�- if (paramValue) {
- const attrs = paramValue.attrs || [];
- (this.$data.head_styledef?.form?.items || []).forEach(async (ele, index) => {
- if (ele.name != "Layout") {
- attrs.forEach(async (ele2, index2) => {
- if (ele.fieldId == ele2.name) {
- ele.value = ele2.value;
- }
- });
- } else {
- ele.setting.colList.forEach(async (col) => {
- if (col) {
- attrs.forEach(async (ele2,
- index2) => {
- if (col.fieldId == ele2.name) {
- col.value = ele2.value;
- }
- });
- }
- });
- }
- })
- }
- //鍔犺浇鍒濆鐣岄潰
- if (this.$data.param.Show_Welcom_Page) {
- this.$data.param.Welcome_Page.Img = this.$data.param.Welcome_Page.Img.replace(/ /g, '+');
- 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);
- };
- //鍔犺浇Tab椤电
- const pageList = this.param.Sub_Page || []
- for (let i in pageList) {
-
- const page = pageList[i]
- page.DefList = [];
- page.StyleDef = await this.Detail_UIstyleGetInfo(
- this.ClsID,
- page.UI_Style.ID
- );
- const buttons = this.pageButtonList(page)
- page.Button = buttons
- page.DropDownButton = []
- if (buttons.length > 3) {
- let cancelBtn = undefined
- const btns = []
- buttons.forEach((btn) => {
- if (btn.FunCode == "Cancel") {
- cancelBtn = btn
- } else {
- btns.push(btn)
- }
- })
- if (cancelBtn) {
- if (btns.length > 2) {
- page.DropDownButton = btns.splice(2)
- page.Button = btns
- }
- page.Button.push(cancelBtn)
- } else {
- if (btns.length > 3) {
- page.DropDownButton = btns.splice(3)
- page.Button = btns
- }
- }
- }
- page.Row_Button = this.rowButtonList(page)
- }
-
- this.setData({
- pageDetail: pageList
- })
-
- console.log(this.pageDetail);
- },
- 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,
- };
- return [btn, btnCancel];
- } else return [btnCancel];
- } else {
- return [];
- }
- }
- },
- rowButtonList(page) {
- if (this.param?.ver == "2.0") {
- return page?.Row_Button || [];
- } else {
- if (page?.Del_Button) {
- let evt = {};
- if (page.Before_Delete?.ID) {
- evt = {
- ID: page.Before_Delete?.ID,
- Name: page.Before_Delete?.Name,
- };
- } else if (page.After_Delete?.ID) {
- evt = {
- ID: page.After_Delete?.ID,
- Name: page.After_Delete?.Name
- };
- }
-
- if (evt.ID) {
- return [{
- Cls_Name: this.param?.master_cls?.name || "",
- Cls_ID: this.param?.master_cls?.id || "",
- FunCode: "Delete",
- ShowName: this.$t("sys.delete"),
- Style: "text",
- Prompt: false,
- NotTriggerSYSEvent: false,
- DataStateVerify: false,
- AttrVerify: false,
- AfterProcess_Event: evt,
- }];
- }
- }
- return [];
- }
- },
-
- checkboxChange(e) {
-
- var items = this.pageDetail[this.current]?.DefList || []
- var values = e.detail.value;
- for (var i = 0, lenI = items.length; i < lenI; ++i) {
- const item = items[i]
- if (values.includes(i)) {
- item.SelBut_Checked = true
- } else {
- item.SelBut_Checked = false
- }
- }
- },
- async Head_UIStyleGetInfo(class_id, style_id) { //鑾峰彇鑷畾涔夎〃鍗曟牱寮�- try {
- var $this = this;
- var dataInfo = {
- class_id: class_id,
- ui_style_id: style_id,
- };
- const result = await getUIStyleInfo(dataInfo)
- var styledef = "";
- if (result.style_def) {
- //mobox2鐨剆tyle_def鏄痡son瀛楃涓�- styledef = result.style_def.replace(/\\/g, "");
- //mobox3鐨剆tyle_def鏄痓ase64瀛楃涓�- if (!result.style_def.includes('"')) styledef = Base64.decode(
- result
- .style_def);
- }
- const styledefHead = styledef ? JSON.parse(styledef) : {};
- if (styledefHead?.form?.items) {
- for (let i in styledefHead.form.items) {
- const ele = styledefHead.form.items[i]
- if (ele.name != "Layout") {
- if (ele?.useDict) {
- //鍒ゆ柇useDict鏄惁浣跨敤瀛楀吀
- await this.DictGetInfo(ele.bind.dict,
- styledefHead.form.model,
- ele);
- } else {
- if (ele?.name === "Select") {
- const selections = ele?.selections || []
- //鏈夐粯璁ゅ�锛屾樉绀洪粯璁ゅ�
- let itemName = ele.value || "";
- if (itemName) {
- styledefHead.form
- .model[ele.fieldId] = itemName;
- }
- ele.dict = selections.map((a) => {
- return {
- value: a.value,
- text: a.label
- }
- })
-
- }
-
- }
-
- if ($this.focusFieldId == "") {
- if (ele.name == 'Input' || ele.name ==
- 'InputNumber') {
- $this.setData({
- focusFieldId: ele.fieldId
- })
- }
- }
- } else {
- for (let j in ele.setting.colList) {
- const col = ele.setting.colList[j]
- if (col?.useDict) {
- //鍒ゆ柇useDict鏄惁浣跨敤瀛楀吀
- await this.DictGetInfo(col.bind
- .dict,
- styledefHead.form
- .model, col);
- } else {
- if (col?.name === "Select") {
- const selections = col?.selections || []
- //鏈夐粯璁ゅ�锛屾樉绀洪粯璁ゅ�
- let itemName = col.value || "";
- if (itemName) {
- styledefHead.form
- .model[col.fieldId] = itemName;
- }
- col.dict = selections.map((a) => {
- return {
- value: a.value,
- text: a.label
- }
- })
- }
- }
- if ($this.focusFieldId == "") {
- if (col.name == 'Input' || col
- .name ==
- 'InputNumber') {
- $this.setData({
- focusFieldId: col
- .fieldId
- })
- }
- }
- }
- }
- }
-
- }
- 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")
- });
- return {}
- }
-
-
- },
- async Detail_UIstyleGetInfo(class_id, style_id) { //鑾峰彇鑷畾涔夎〃鍗曟牱寮�- try {
- var $this = this;
- var dataInfo = {
- class_id: class_id,
- ui_style_id: style_id,
- };
- const result = await getUIStyleInfo(dataInfo)
- var styledef = "";
- if (result.style_def) {
- //mobox2鐨剆tyle_def鏄痡son瀛楃涓�- styledef = result.style_def.replace(/\\/g, "");
- //mobox3鐨剆tyle_def鏄痓ase64瀛楃涓�- if (!result.style_def.includes('"')) styledef = Base64
- .decode(result
- .style_def);
- }
-
- const detailstyledef = result.style_def ? JSON.parse(
- styledef) : {};
- detailstyledef.SelBut_Checked = true;
- if (detailstyledef?.form?.items) {
- for (let index in detailstyledef.form.items) {
- const ele = detailstyledef.form.items[index]
-
- if (ele.name != "Layout") {
- if (ele.useDict == true) { //鍒ゆ柇useDict鏄惁浣跨敤瀛楀吀
- await this.DictGetInfo(ele.bind.dict,
- detailstyledef.form
- .model, ele);
- }
- } else {
- for (let j in ele.setting.colList) {
- const col = ele.setting.colList[j]
- if (col?.useDict == true) {
- await this.DictGetInfo(col
- .bind.dict,
- detailstyledef.form
- .model, col);
- }
- }
- }
- }
-
- }
- console.log("Detail_UIstyleGetInfo", detailstyledef);
- return detailstyledef
- } catch (ex) {
- // console.log(ex);
- uni.showModal({
- title: this.translateSys("error") + "2",
- content: ex.errMsg,
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
- return {}
- }
-
-
- },
-
- async DictGetInfo(dict, formModel, formItem) { //Mobox3寰楀埌寰楀埌瀛楀吀淇℃伅瀛楀吀椤瑰垪琛�- this.data = [];
- var $this = this;
- var dataInfo = {
- dict_id: dict.id,
- dict_name: dict.name
- };
- try {
- const result = await dictGetInfo(dataInfo)
- var list = [];
- var itemName = '';
- (result.dict_item_list || []).forEach((item) => {
- if (item.is_default == '1')
- itemName = item.name
- list.push({
- text: item.value ? item.value : item.name,
- value: item.name,
- });
- });
- //鏈夐粯璁ゅ�锛屾樉绀洪粯璁ゅ�
- if (itemName) {
- formItem.value = itemName;
- formModel[formItem.fieldId] = itemName;
- }
- formItem.dict = list;
- } catch (ex) {
- // console.log(ex);
- uni.showModal({
- title: this.translateSys("error") + "3",
- content: ex.errMsg,
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
- }
-
- },
- 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;
- var $this = this;
- 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;
-
- if (onChangeEvent.id) { //鍐呭鍙樺寲鍚庝簨浠�- $this.onChange(onChangeEvent);
- }
- if (item.value) { //绗竴涓緭鍏ユ涓嶄负绌�- //鍒濆鍖栵紝涓嬩釜杈撳叆妗唂ocus灞炴�
- var findd = false
- for (let i in $this.head_styledef.form.items) {
- const ele = $this.head_styledef.form.items[i]
-
- if (ele.name != "Layout") {
- if (ele.name == 'Input' || ele.name ==
- 'InputNumber') {
- if (attr == ele.fieldId) {
- findd = true
- } else {
- if (findd) {
- $this.setData({
- focusFieldId: ele.fieldId
- })
- break
- }
-
- }
-
- }
- } 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
- })
- break
- }
-
- } else {
- let curIndex = ele.setting.colList.findIndex((
- col, index2, arr) => {
- return attr == col.fieldId;
- })
- if (curIndex > -1) {
- findd = true
- let curIndex2 = ele.setting.colList
- .findIndex((col, index2, arr) => {
- return (col.name == 'Input' ||
- col.name ==
- 'InputNumber') &&
- index2 >
- curIndex;
- })
- if (curIndex2 > -1) {
- $this.setData({
- focusFieldId: ele.setting
- .colList[curIndex]
- .fieldId
- })
- break
- }
- }
- }
-
- }
- }
- }
-
- }
- })
- },
-
- onEnterChange(item) { //鍥炶溅锛岀偣鍑绘寜閽紝鍙栨秷鑺傜偣浜嬩欢
- console.log(item);
- if (item.oldvalue != item.value && item.value.trim() != "") {
- item.oldvalue = item.value;
- var attr = item.fieldId;
- this.head_styledef.form.model[attr] = item.value;
- var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�-
- if (onChangeEvent.id) { //鍐呭鍙樺寲鍚庝簨浠�- this.onChange(onChangeEvent);
- }
-
- }
- },
- onCheckBoxValue(e) { //缁戝畾Model鍊�- let values = e.detail.value || []
- const item = this.head_styledef.form.items[e.currentTarget?.dataset?.index || 0]
- if (item?.setting?.colList) {
- const col = item.setting.colList[e.currentTarget?.dataset?.iindex || 0]
- if (col) {
- col.value = values
- let attr = col.fieldId;
- this.head_styledef.form.model[attr] = col.value;
- var onChangeEvent = col.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�- if (onChangeEvent.id) { //鍐呭鍙樺寲鍚庝簨浠�- this.onChange(onChangeEvent);
- }
- return
- }
- } else {
- if (item) {
- item.value = values
- let attr = item.fieldId;
- this.head_styledef.form.model[attr] = item.value;
- var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�- if (onChangeEvent.id) { //鍐呭鍙樺寲鍚庝簨浠�- this.onChange(onChangeEvent);
- }
- }
- }
-
- },
- onRadioBoxValue(e) { //缁戝畾Model鍊�- let values = e.detail.value || ""
- const item = this.head_styledef.form.items[e.currentTarget?.dataset?.index || 0]
- if (item?.setting?.colList) {
- const col = item.setting.colList[e.currentTarget?.dataset?.iindex || 0]
- if (col) {
- col.value = values
- let attr = col.fieldId;
- this.head_styledef.form.model[attr] = col.value;
- var onChangeEvent = col.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�- if (onChangeEvent.id) { //鍐呭鍙樺寲鍚庝簨浠�- this.onChange(onChangeEvent);
- }
- return
- }
- } else {
- if (item) {
- item.value = values
- let attr = item.fieldId;
- this.head_styledef.form.model[attr] = item.value;
- var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�- if (onChangeEvent.id) { //鍐呭鍙樺寲鍚庝簨浠�- this.onChange(onChangeEvent);
- }
- }
-
- }
-
- },
- classAttr_extButton(item) {
- var onSuffixClickCallbackEvent = item.bind.onSuffixClickCallbackEvent; //鍚庡浘鏍囩偣鍑讳簨浠�- var onSuffixClickEvent = item.bind.onSuffixClickEvent; //鍚庡浘鏍囩偣鍑诲洖璋�-
- if (!onSuffixClickCallbackEvent.id) {
- uni.showModal({
- title: this.translateSys("tip"),
- content: this.translate('icon_click_callback_empty'),
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
- return;
- }
- if (!onSuffixClickEvent.id) {
- uni.showModal({
- title: this.translateSys("tip"),
- content: this.translate('icon_click_event_empty'),
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
- return;
- }
- this.$data.popupType = 'right'
- // open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦�uni-popup 缁勪欢涓婄粦瀹�type灞炴�
- this.$refs.popup.open(this.popupType);
-
- this.dataObjRunCustomEvent_Return(onSuffixClickCallbackEvent.id, '', onSuffixClickEvent.id,
- item);
- },
-
- getDetailAttrList(pageData) {
- const detailAttrList = [];
- 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;
- });
- } else
- detail_attr[item.fieldId] = item.value;
- });
-
- detail_attr['id'] = style.form.objId;
- if (pageData.Select_Button == true) { //鍒ゆ柇閫夋嫨鎸夐挳鏄惁涓簍rue
- if (style.SelBut_Checked == true)
- detailAttrList.push(detail_attr);
- } else
- detailAttrList.push(detail_attr);
- });
- // console.log(detailAttrList);
- //鑾峰彇姝e湪鐮佺洏閲屾病鏈夋樉绀虹殑瀛楁
- pageData.DefList.forEach(style => {
- style.form.attrs.forEach(attr => {
- for (var key in detailAttrList) {
- if (style.form.objId == detailAttrList[key][
- 'id'
- ]) {
- var keys = Object.keys(detailAttrList[key]);
- var isflag = true;
- keys.forEach((ele) => {
- if (ele == attr.attr) isflag =
- false;
- });
- if (isflag) {
- detailAttrList[attr.attr] = attr.value;
- }
- }
- }
- });
- });
- }
- const jsonlist = [];
- detailAttrList.forEach(attr => {
- jsonlist.push({
- id: attr["id"] || "",
- attrs: Object.keys(attr).map((a) => ({
- attr: a,
- value: attr[a] || "",
- })).filter((a) => {
- return a.attr != "id"
- })
- });
- });
- return jsonlist;
- },
- // 鍐呭鍙樺寲鍚庝簨浠�- async onChange(event) {
- try {
- if (event.id) {
- //鑾峰彇琛ㄥご灞炴�
- 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;
- });
- } 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) => ({
- attr: a,
- value: head_attr[a] || "",
- }))
- )
- );
- var $this = this;
- const jsonList = []
- this.pageDetail.forEach((page) => {
-
- jsonList.push({
- page_name: page.Name,
- item_list: $this.getDetailAttrList(page
- .DefList, page
- .Select_Button),
- ext_data: page.ExtData || {}
- })
-
- })
- const data_json = Base64.encode(
- JSON.stringify(jsonList)
- );
- var dataInfo = {
- ed_type: 0,
- start_transaction: true,
- class_id: this.$data.head_styledef.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: data_json,
- compose_info: '',
- ext_info: '',
- global_attr: '',
- input_param: input_param,
- };
- runCustomEvent(dataInfo).then(result => {
- console.log(result);
-
- if (result.ret != 0) {
- var tip = result.err_info ? typeof result
- .err_info == 'string' ? result
- .err_info : result.err_info.join('<br/>') :
- '';
- if (result.ret == 801) {
- if (this.param.Only_Script_Error) {
- let pos = tip.indexOf("锛�);
- if (pos > -1) tip = tip.substring(pos +
- 1);
- }
- uni.showModal({
- title: this.translateSys(
- "tip"),
- content: tip,
- showCancel: false,
- confirmText: this.translateSys(
- "cancel")
- });
- } else uni.showModal({
- title: this.translateSys('tip'),
- content: tip + ',' + this
- .translateSys('tip') + ':' +
- result
- .ret,
- showCancel: false,
- confirmText: this.translateSys(
- "cancel")
- });
- return false;
- } else {
- var tip = result.info ? typeof result.info ==
- 'string' ? result.info :
- result.info.join('<br/>') : '';
- if (tip) uni.showModal({
- title: this.translateSys('tip'),
- content: tip,
- showCancel: false,
- confirmText: this.translateSys(
- "cancel")
- });
-
- if (result.result_type == 0 && result.action) {
- result.action.forEach(item => {
-
- if (item.action_type ==
- "insert_subtable_page_row"
- ) { //鐮佺洏涓�- $this.$data.param
- .Show_Welcom_Page =
- false;
- var value = item.value;
- $this.viewAceionRow(value);
- } else if (item.action_type ==
- "set_subtable_page_content"
- ) { //宸茬爜鐩�- $this.$data.param
- .Show_Welcom_Page =
- false;
- var value = item.value;
- const pageData = $this
- .pageDetail.find((
- page) => {
- return value
- .page_name ==
- page.Name;
- });
- if (value.clear_confirm !=
- false && value.clear ==
- true &&
- pageData && pageData
- .DefList.length > 0
- ) { //鍒ゆ柇鏄惁娓呯┖椤电鍐呭,姝e湪鐮佺洏鏄惁鏈夋暟鎹�- uni.showModal({
- title: this
- .translateSys(
- 'tip'
- ),
- content: this
- .translate(
- "are_you_sure_clear_first"
- ) +
- this
- .translateSys(
- "quotation_mark_left"
- ) +
- value
- .page_name +
- this
- .translateSys(
- "quotation_mark_right"
- ) +
- this
- .translate(
- "are_you_sure_clear_last"
- ),
- success: function(
- res
- ) {
- if (res
- .confirm
- ) {
- if (
- pageData)
- pageData
- .DefList = [];
- $this
- .viewAceionContent(
- value
- );
- } else if (
- res
- .cancel
- ) {
- if (
- pageData)
- pageData
- .DefList = [];
- $this
- .viewAceionContent(
- value
- );
- }
- }
- });
- } else {
- if (pageData)
- pageData
- .DefList = [];
- $this
- .viewAceionContent(
- value);
- }
- } else if (item.action_type ==
- "select_subtable_page_row"
- ) {
- // value = {"page_name":"鐮佺洏涓�, "row":{"id":"xx"}}
- var value = item.value;
- const pageData = $this
- .pageDetail.find((
- page) => {
- return value
- .page_name ==
- page.Name;
- });
- if (pageData?.DefList) {
- pageData.DefList
- .forEach(ele => {
-
- if (ele
- .form
- .objId ==
- value
- .row.id
- ) {
- ele.SelBut_Checked =
- true;
- $this
- .active_id =
- ele
- .form
- .htmlobjId;
- //鑷姩婊氬姩鍒版寚瀹氬厓绱�- uni.createSelectorQuery()
- .select(
- "#tabpanel" +
- value
- .page_name
- ) //瀵瑰簲澶栧眰鑺傜偣
- .boundingClientRect(
- (
- container
- ) => {
- uni.createSelectorQuery()
- .select(
- "#dvpanel" +
- ele
- .form
- .htmlobjId
- ) //鐩爣鑺傜偣
- .boundingClientRect(
- (
- target
- ) => {
- uni.pageScrollTo({
- scrollTop: target
- .top -
- container
- .top, //婊氬姩鍒板疄闄呰窛绂绘槸鍏冪礌璺濈椤堕儴鐨勮窛绂诲噺鍘绘渶澶栧眰鐩掑瓙鐨勬粴鍔ㄨ窛绂�- });
- }
- )
- .exec();
- }
- )
- .exec();
- }
- });
- }
- } else if (item.action_type ==
- "remove_subtable_page_row"
- ) { //娓呴櫎闈㈡澘涓寚瀹歩d鐨勬暟鎹�- var value = item.value;
- const pageData = $this
- .pageDetail.find((
- page) => {
- return value
- .page_name ==
- page.Name;
- });
- if (pageData
- ?.DefList
- ) //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄緟鍒嗘嫞//娓呴櫎闈㈡澘涓寚瀹歩d鐨勬暟鎹�- {
- value.row.forEach(
- row => {
- pageData
- .DefList
- .forEach(
- (ele,
- index
- ) => {
- if (ele
- .form
- .objId ==
- row
- .id
- ) {
- pageData
- .DefList
- .splice(
- index,
- 1
- );
- }
- });
- });
- }
-
-
-
- } else if (item.action_type ==
- "set_subtable_page_row") {
- $this.viewActionSetRow(item
- .value)
-
- } else if (item.action_type ==
- "set_subtable_page_ext_data"
- ) {
- var value = item.value;
- const pageData = $this
- .pageDetail.find((
- page) => {
- return value
- .page_name ==
- page.Name;
- });
- if (pageData)
- pageData.ExtData =
- value.ext_data
-
- } else if (item.action_type ==
- "clear_subpage_rows") {
- var value = item.value;
- const pageData = $this
- .pageDetail.find((
- page) => {
- return value
- .page_name ==
- page.Name;
- });
- if (pageData) {
- pageData.DefList = []
- pageData.ExtData = {}
- }
-
- } else if (item.action_type ==
- "set_dlg_current_edit_attr"
- ) {
-
- if ($this
- .focusOldFieldId ==
- item.value) {
- $this.setData({
- focusFieldId: ""
- })
- } else {
- $this.setData({
- focusFieldId: $this
- .focusOldFieldId
- })
- }
- $this.$nextTick(() => {
- $this.setData({
- focusFieldId: item
- .value
- })
- });
- } else if (item.action_type ==
- "set_dlg_attr") {
- // value = {"attr":"xxx", "value":"xxx"}
- var data = item.value;
- $this.setFormValues(data)
- }
- });
- } else {
-
- if (result.info) {
- uni.showModal({
- title: this.translateSys(
- "error") + "4.3",
- content: result.info,
- showCancel: false,
- confirmText: this
- .translateSys("cancel")
- });
- }
- }
-
- }
-
- }).catch(ex => {
- // console.log(ex);
- let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex
- uni.showModal({
- title: this.translateSys("error") + "4.1",
- content: 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")
- });
- }
- },
- operationNumber(value1, value2, operation) {
- var number1 = 0
- var number2 = 0
- if (value1)
- number1 = parseInt(value1)
- if (value2)
- number2 = parseInt(value2)
- if (!operation) {
- return value2;
- }
- if (operation == "+") {
- return number1 + number2
- } else if (operation == "-") {
- return number1 - number2
- } else if (operation == "*") {
- return number1 * number2
- } else if (operation == "/") {
- 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;
- }
- },
-
- //鏇存柊鍒嗛〉绛句腑鐨勫垪琛ㄩ」鍐呭
- viewActionSetRow(value) {
- const $this = this
- const pageIndex = $this.pageDetail.findIndex((
- page, index2, arr) => {
- return value.page_name == page.Name;
- })
- if (pageIndex < 0)
- return
- const pageData = $this.pageDetail[pageIndex]
- var detailStyleDefList = pageData.DefList || []
- detailStyleDefList.forEach(ele => {
- value.row.forEach((rowData) => {
- if (rowData.id) {
- if (ele.form.objId == rowData.id) {
- rowData.attrs.forEach(attr => {
- ele.form.items.forEach(ele2 => {
- if (ele2.name !=
- 'Layout') {
- if (ele2.fieldId ==
- attr
- .attr) {
- ele2.value =
- $this
- .operationNumber(
- ele2
- .value,
- attr
- .value,
- attr
- .operation
- )
- }
- } else if (ele2.name ==
- 'Layout') {
- ele2.setting
- .colList
- .forEach(
- col => {
- if (
- col) {
- if (col
- .fieldId ==
- attr
- .attr
- ) {
- col.value =
- $this
- .operationNumber(
- col
- .value,
- attr
- .value,
- attr
- .operation
- )
- }
- }
- })
- }
- });
- });
- }
- } else if (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) {
- // console.log(data);
- if (JSON.stringify(data.row) == '{}') {
- return;
- }
- const pageIndex = this.pageDetail.findIndex((
- page, index2, arr) => {
- return data.page_name == page.Name;
- })
- if (pageIndex < 0)
- return
- const pageData = this.pageDetail[pageIndex]
- var styleStr = JSON.stringify(pageData.StyleDef);
-
- var detailStyle = JSON.parse(styleStr);
- if (detailStyle.form) {
- data.row.forEach(row => {
- detailStyle = JSON.parse(styleStr);
- detailStyle.form.objId = row.id;
- detailStyle.form.htmlobjId = row.id ? row.id.replace(/-/g, '')
- .replace(
- '{', '').replace('}',
- '') : 'null';
- detailStyle.form.attrs = row.attrs;
- row.attrs.forEach(attr => {
- detailStyle.form.items.forEach(ele => {
- if (ele.name != 'Layout') {
- if (ele.fieldId == attr.attr) ele
- .value =
- attr.value;
- } else if (ele.name == 'Layout') {
- ele.setting.colList.forEach(
- col => {
- if (col) {
- if (col.fieldId ==
- attr
- .attr) col
- .value = attr
- .value;
- }
- });
- }
- });
- });
-
- pageData.DefList.push(detailStyle);
- this.$set(this.pageDetail, pageIndex, pageData)
-
- });
- }
- },
- //鍔犺浇宸茬爜鐩樺唴瀹�- viewAceionContent(data) {
- var $this = this;
- const pageIndex = $this.pageDetail.findIndex((
- page, index2, arr) => {
- return data.page_name == page.Name;
- })
- if (pageIndex < 0)
- return
- const pageData = $this.pageDetail[pageIndex]
-
- pageData.ExtData = data.ext_data || {}
-
- if (JSON.stringify(data.content) == '{}') {
- return;
- }
- 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;
-
- detailStyle.form.objId = cont.id;
- detailStyle.form.htmlobjId = cont.id ? cont.id.replace(/-/g,
- '')
- .replace('{', '').replace('}',
- '') : 'null';
- detailStyle.form.attrs = cont.attrs;
- cont.attrs.forEach(attr => {
- detailStyle.form.items.forEach(ele => {
- if (ele.name != 'Layout') {
- if (ele.fieldId == attr.attr) ele
- .value =
- attr.value;
- } else if (ele.name == 'Layout') {
- ele.setting.colList.forEach(
- col => {
- if (col) {
- if (col.fieldId ==
- attr
- .attr) col
- .value = attr
- .value;
- }
- });
- }
- });
- });
- //濡傛灉 clear = false 鍒欎笉闇�娓呴櫎锛屾牴鎹甶d鍒ゆ柇鏄惁瀛樺湪锛屼笉瀛樺湪鎻掑叆鍒伴〉闈紝濡傛灉瀛樺湪鐢ㄦ柊鐨勫睘鎬ц鐩�- if (data.clear == false) {
- var isflag = true;
- pageData.DefList.forEach((style, index) => {
- if (style.form.objId == detailStyle.form
- .objId) {
- cont.attrs.forEach(attr => {
- style.form.items.forEach(
- ele => {
- if (ele.name !=
- 'Layout') {
- if (ele
- .fieldId ==
- attr.attr)
- ele
- .value =
- attr.value;
- } else if (ele
- .name ==
- 'Layout') {
- ele.setting
- .colList
- .forEach(
- col => {
- if (
- col
- ) {
- if (col
- .fieldId ==
- attr
- .attr
- )
- col
- .value =
- attr
- .value;
- }
- });
- }
- });
- });
- isflag = false;
- }
- });
- if (isflag) pageData.DefList.push(detailStyle); //寰呭垎鎷�- } else {
- pageData.DefList.push(detailStyle); //寰呭垎鎷�- }
- // $this.setData({pageDetail:pageD})
- $this.$set(this.pageDetail, pageIndex, pageData)
-
- });
- }
-
- },
- setFormValues(data) {
- const head_styledef = this.head_styledef
- if (JSON.stringify(data) == '{}') {
- return;
- }
- head_styledef.form.items.forEach(async (ele, index) => {
- if (ele.name != "Layout") {
- let curIndex = data.findIndex((attr, index2, arr) => {
- return attr.attr == ele.fieldId;
- })
- if (curIndex > -1) {
- const attr = data[curIndex]
- if (ele.name ==
- 'Select' &&
- attr
- .choice_list
- ) {
- const
- dictItemList = [];
- const
- choiceList =
- attr
- .choice_list || [];
- for (let d in
- choiceList) {
- const
- val =
- choiceList[
- d
- ];
- dictItemList
- .push({
- text: val,
- value: val
- });
- }
- ele.dict =
- dictItemList;
- }
-
- ele.value =
- attr
- .value;
- }
- } else {
- ele.setting
- .colList
- .forEach(
- async (
- col
- ) => {
- if (
- col) {
- let curIndex = data.findIndex((
- attr, index2, arr) => {
- return attr.attr == col.fieldId;
- })
- if (curIndex > -1) {
- const attr = data[curIndex]
- if (col.name ==
- 'Select' &&
- attr
- .choice_list
- ) {
- const
- dictItemList = [];
- const
- choiceList =
- attr
- .choice_list || [];
- for (let d in
- choiceList) {
- const
- val =
- choiceList[
- d
- ];
- dictItemList
- .push({
- text: val,
- value: val
- });
- }
- col.dict =
- dictItemList;
- }
-
- col.value =
- attr
- .value;
- }
- }
-
- })
-
- }
- })
-
- this.setData({
- head_styledef: head_styledef
- })
- },
-
- onClickItem(e) { //閫夋嫨椤电
- // console.log(e);
- this.current = e.currentIndex
- },
- onDetail1EnterChange(item) { //鐮佺洏涓牱寮忓洖杞︿簨浠�- console.log(item);
- },
- async del(pageData, style, event) {
- //鑾峰彇琛ㄥご灞炴�
- var head_attr = {};
- this.$data.head_styledef.form.items.forEach(item => {
- if (item.name == "Layout") { //鍒ゆ柇鏄惁鏄爡鏍忔牸寮�- item.setting.colList.forEach(cols => {
- if (cols != null) head_attr[cols.fieldId] =
- cols.value;
- });
- } else
- head_attr[item.fieldId] = item.value;
- });
- // console.log(head_attr);
- //鑾峰彇姝e湪鍒嗘嫞灞炴�
- var detailAttrList = [];
- var detail_attr = {};
- style.form.items.forEach(item => {
- if (item.name == "Layout") { //鍒ゆ柇鏄惁鏄爡鏍忔牸寮�- item.setting.colList.forEach(cols => {
- if (cols != null) detail_attr[cols
- .fieldId] = cols
- .value;
- });
- } else
- detail_attr[item.fieldId] = item.value;
- });
-
- detail_attr['id'] = style.form.objId;
- if (pageData.Select_Button == true) { //鍒ゆ柇閫夋嫨鎸夐挳鏄惁涓簍rue
- if (style.SelBut_Checked == true)
- detailAttrList.push(detail_attr);
- } else
- detailAttrList.push(detail_attr);
-
- // console.log(detailAttrList);
- //鑾峰彇姝e湪鍒嗘嫞閲屾病鏈夋樉绀虹殑瀛楁
- style.form.attrs.forEach(attr => {
- for (var key in detailAttrList) {
- if (style.form.objId == detailAttrList[key]['id']) {
- var keys = Object.keys(detailAttrList[key]);
- var isflag = true;
- keys.forEach((ele) => {
- if (ele == attr.attr) isflag = false;
- });
- if (isflag) {
- detailAttrList[attr.attr] = attr.value;
- }
- }
- }
- });
- var input_param = Base64.encode(
- JSON.stringify(
- Object.keys(head_attr).map((a) => ({
- attr: a,
- value: head_attr[a] || "",
- }))
- )
- );
- var jsonlist = [];
- detailAttrList.forEach(attr => {
- jsonlist.push({
- id: attr["id"] || "",
- attrs: Object.keys(attr).map((a) => ({
- attr: a,
- value: attr[a] || "",
- })).filter((a) => {
- return a.attr != "id"
- })
- });
- });
- if (jsonlist.length == 0) {
- uni.showModal({
- title: this.translateSys("tip"),
- content: this.translate("tip_no_select_data"),
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
- return;
- }
- // console.log(jsonlist);
- const list = []
- list.push({
- page_name: pageData.Name,
- item_list: jsonlist,
- ext_data: pageData.ExtData
- })
- $this.runCustomEvent(pageData, event, input_param, list);
- },
-
- 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.$data.check_list.items;
- // this.$data.check_list.items=[];
- if (this.$data.check_list.multiple_choice == "0") { //鍒ゆ柇鏃跺崟閫夎繕鏄閫�- for (var i in data) {
- data[i].check = false;
- }
- }
- data[index].check = ischeck ? false : true;
- this.$data.check_list.items = data;
-
- },
- popup_cancel(e) { //寮规鍙栨秷
- this.$refs.popup.close();
- },
- popup_sava(e) { //寮规纭畾
- var $this = this;
- var items = $this.$data.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.$data.popupParam) {
- uni.showModal({
- title: this.translateSys("tip"),
- content: "popupParam涓虹┖锛�,
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
- return;
- }
- if (data.length == 0) {
- uni.showModal({
- title: this.translateSys("tip"),
- content: this.translate("tip_no_select_data"),
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
- return;
- }
- var callback_eventid = $this.$data.popupParam.button_callback.trim();
- var info = {
- eventid: callback_eventid,
- edtype: "0",
- projectid: '',
- rclsid: '',
- robjid: '',
- userlogin: '',
- clsid: $this.$data.ClsID,
- objid: "",
- attr: $this.$data.popupParam.req,
- dataJson: data
- }
- $this.DataObjRunCustomEvent(info, $this.$data.popupParam.data_attr);
- this.$refs.popup.close();
- },
-
- async DataObjRunCustomEvent(info, data_attr) {
- var $this = this;
- var enviroment = {
- 'function': '3000', // 鍔熻兘鐐圭紪鍙�- cls_id: this.$data.ClsID, // 鍔熻兘鐐逛富鏁版嵁绫绘爣璇�- 'button': 'top', // top/bottom
- button_name: this.translateSys('add2'),
- master: {
- cls_id: this.$data.ClsID, // button=bottom鏃�master鐨刢ls_id
- //obj_id: '' // button=bottom鏃�master鐨刼bj_id
- }
- };
- if (data_attr) {
- enviroment.edit_dlg = {
- type: 'small', //灏忕獥鍙�- class_id: this.$data.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.$data.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;
- });
- if (!info.eventid.includes('{')) info.eventid = '{' + info.eventid + '}';
- var dataInfo = {
- ed_type: info.edtype,
- start_transaction: true,
- class_id: info.clsid,
- class_name: '',
- event_id: info.eventid,
- event_name: '',
- data_obj_id: info.objid,
- obj_attr: obj_attr,
- prj_id: info.projectid,
- ref_cls_id: info.rclsid,
- rel_obj_id: info.robjid,
- user_login: info.userlogin,
- data_json: info.dataJson,
- compose_info: '',
- ext_info: enviroment,
- global_attr: global_attr,
- input_param: input_param,
- };
- console.log(dataInfo);
- // return;
- runCustomEvent(dataInfo).then(data => {
- if (data.ret != 0) {
- var tip = data.err_info ? typeof data.err_info == 'string' ? data
- .err_info :
- data
- .err_info.join('<br/>') : '';
- if (data.ret == 801) {
- if (this.param.Only_Script_Error) {
- let pos = tip.indexOf("锛�);
- if (pos > -1) tip = tip.substring(pos + 1);
- }
- uni.showModal({
- title: this.translateSys("tip"),
- content: tip,
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
- } else uni.showModal({
- title: this.translateSys("tip"),
- content: tip + ',' + this.translateSys('tip') + ':' + data
- .ret,
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
- return false
- } else {
- var tip = data.info ? typeof data.info == 'string' ? data.info : data
- .info
- .join(
- '<br/>') : '';
- if (tip) uni.showModal({
- title: this.translateSys("tip"),
- content: tip,
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
-
- var actionlist = data.action;
- if (actionlist) {
- console.log(actionlist);
- for (var i = 0; i < actionlist.length; i++) {
- var action = actionlist[i];
- if (action.action_type == 'set_dlg_attr') {
- var result = action.value;
- $this.setFormValues(result)
- } else if (action.action_type == 'set_dlg_attr_show') {
- var result = action.value;
- result.forEach(async (attr, key) => {
- $this.$data.head_styledef.form.items
- .forEach(
- async (ele,
- index) => {
- //鍒ゆ柇鏄惁鏄爡鏍艰〃鍗�- if (ele.name != 'Layout') {
- if (ele.fieldId == attr
- .attr) {
- ele.show = attr
- .show;
- }
- } else if (ele.name ==
- 'Layout') {
- ele.setting.colList
- .forEach(
- col => {
- if (col) {
- if (col
- .fieldId ==
- attr
- .attr
- ) {
- col.show =
- attr
- .show;
- }
- }
- });
- }
- });
- });
- var head_styledef = JSON.parse(JSON.stringify($this.$data
- .head_styledef));
- $this.$data.head_styledef = [];
- $this.$data.head_styledef = head_styledef;
- // console.log($this.$data.head_styledef);
- } else if (action.action_type == 'set_global_attr') {
- $this.$data.global_attr = action.value || [];
- } else {
- uni.showModal({
- title: this.translateSys("tip"),
- content: this.translateSys(
- "quotation_mark_left") +
- action
- .action_type + this.translateSys(
- "quotation_mark_right") + this
- .translate(
- "tip_action_unprocessed"),
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
- }
- }
- }
- console.log($this.head_styledef);
- if (data.result) {
- var result = data.result;
- for (var i = 0; i < result.length; i++) {
- for (var c = 0; c < $this.$data.head_styledef.form.items
- .length; c++) {
- var attr = $this.$data.head_styledef.form.items[c];
- //鍒ゆ柇琛ㄥ崟閲屾槸鍚︽湁杩斿洖瀛楁锛屾病鏈夊氨瑁呰浇鍒癿odel閲岋紝鐐瑰嚮纭畾鎻愪氦鐨勬椂鍊欏甫涓婅繖浜涙暟鎹�- if ($this.head_styledef.form.model[result[i].attr] ==
- undefined) {
- $this.head_styledef.form.model[result[i].attr] =
- result[i]
- .value;
- }
- //鍒ゆ柇鏄惁鏄爡鏍艰〃鍗�- if (attr.name != 'Layout') {
- if (attr.fieldId == result[i].attr) {
- attr.value = '';
- attr.oldvalue = '';
- attr.value = result[i].value;
- attr.oldvalue = result[i].value;
- $this.head_styledef.form.model[attr.fieldId] =
- result[i]
- .value;
- }
- } else if (attr.name == 'Layout') {
- attr.setting.colList.forEach(col => {
- if (col) {
- if (col.fieldId == result[i].attr) {
- col.value = '';
- col.oldvalue = '';
- col.value = result[i].value;
- col.oldvalue = result[i].value;
- $this.head_styledef.form.model[col
- .fieldId] =
- result[i].value;
- }
- }
- });
- }
- }
-
- var length = 0;
- if (!$this.$data.refdatastore.filter(function(s) {
- return result[i].attr == s.attr
- }).length) {
- length = 1;
- $this.$data.refdatastore.push(result[i]);
- }
- if (length == 0) {
- for (var j = 0; j < $this.$data.refdatastore.length; j++) {
- if ($this.$data.refdatastore[j].attr == result[i]
- .attr) {
- $this.$data.refdatastore[j].value = result[i]
- .value;
- }
- }
- }
- }
- }
- }
-
- }).catch(ex => {
- // console.log(ex);
- let exStr = JSON.stringify(ex)
- if (exStr == "{}")
- exStr = ex
- let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
- uni.showModal({
- title: this.translateSys("error") + "3.1",
- content: exStr,
- showCancel: false,
- confirmText: this.translateSys("cancel")
- });
- });
- },
- 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] || "",
- }));
- if ($this.refdatastore.length > 0) {
- for (var i = 0; i < $this.refdatastore.length; i++) {
- if (!req.filter(function(s) {
- return $this.refdatastore[i].attr == s.name
- }).length) {
- req.push({
- 'attr': $this.refdatastore[i].attr,
- 'value': $this.refdatastore[i].value
- });
- }
- }
- }
-
- var extinfo = enviroment;
- extinfo.edit_dlg = {
- type: 'small', //灏忕獥鍙�- class_id: $this.ClsID, //褰撳墠鏁版嵁绫籭d
- }
- extinfo = Base64.encode(JSON.stringify(extinfo)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜
- var global_attr = Base64.encode(JSON.stringify($this.global_attr)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜
- var obj_attr = {};
- req.forEach(item2 => {
- obj_attr[item2.attr] = item2.value;
- });
- let input_param = Base64.encode(
- JSON.stringify(
- Object.keys(obj_attr).map((a) => ({
- attr: a,
- value: obj_attr[a] || "",
- }))
- )
- );
-
- if (!eventid.includes('{')) eventid = '{' + eventid + '}';
- var dataInfo = {
- ed_type: "0",
- start_transaction: true,
- class_id: $this.ClsID,
- class_name: '',
- event_id: eventid,
- event_name: '',
- data_obj_id: '',
- obj_attr: obj_attr,
- prj_id: '',
- ref_cls_id: '',
- rel_obj_id: '',
- user_login: '',
- data_json: [],
- compose_info: '',
- ext_info: extinfo,
- global_attr: global_attr,
- input_param: input_param,
- };
- console.log(dataInfo);
- // return;
- runCustomEvent(dataInfo).then(data => {
- if (data.ret != 0) {
- var tip = data.err_info ? typeof data.err_info == 'string' ? data
- .err_info :
- data
- .err_info.join('<br/>') : '';
- if (data.ret == 801) {
- if ($this.param.Only_Script_Error) {
- let pos = tip.indexOf("锛�);
- if (pos > -1) tip = tip.substring(pos + 1);
- }
- uni.showModal({
- title: $this.translateSys("tip"),
- content: tip,
- showCancel: false,
- confirmText: $this.translateSys("cancel")
- });
- } else uni.showModal({
- title: $this.translateSys("tip"),
- content: tip + ',' + $this.translateSys('tip') + ':' + data
- .ret,
- showCancel: false,
- confirmText: $this.translateSys("cancel")
- });
- return false
- } else {
- var tip = data.info ? typeof data.info == 'string' ? data.info : data
- .info
- .join(
- '<br/>') : '';
- if (tip) uni.showModal({
- title: $this.translateSys("tip"),
- content: tip,
- showCancel: false,
- confirmText: $this.translateSys("cancel")
- });
-
- if (data != "") {
- var actions = data.action;
- if (actions) {
- for (var i = 0; i < actions.length; i++) {
- var action = actions[i];
- console.log(action)
- var val = action.value;
- var enviroment = JSON.stringify(enviroment);
-
- if (action.action_type == 'open_panel') {
- var d = dialog({
- title: '<i class="ace-icon fa fa-info-circle"></i> ' +
- $this.translateSys("tip"),
- content: $this.translateSys(
- "quotation_mark_left") +
- action
- .action_type + $this.translateSys(
- "quotation_mark_right") + $this
- .translate(
- "tip_action_unprocessed")
- });
- d.show();
- } else if (action.action_type == 'open_select_userdlg') {
- var style = val.style;
- // style == 'user' ? '閫夋嫨浜哄憳' : style == 'department' ? '閫夋嫨閮ㄩ棬' : style == 'role' ? '閫夋嫨瑙掕壊' : ''
- var param = {
- item: item,
- button_callback: button_callback,
- req: req,
- data_attr: data_attr
- }
- uni.navigateTo({
- url: '../selpsn/index?mulit=false¶m=' +
- JSON
- .stringify(
- param),
- events: {
- AddPer(data, param) {
- // console.log(param);
- console.log(data);
- var callback_eventid = param
- .button_callback
- .trim();
- var info = {
- eventid: callback_eventid,
- edtype: "0",
- projectid: '',
- rclsid: '',
- robjid: '',
- userlogin: '',
- clsid: $this.$data.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
- })
- 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.$data.classAttrList[param.index].Attr[param.iindex].Value=data[0].Name;
- // $this.$data.classAttrList[param.index].Attr[param.iindex].ValID=data[0].ID+';'+data[0].Name;
- var callback_eventid = param
- .button_callback
- .trim();
- if (callback_eventid) {
- var info = {
- eventid: callback_eventid,
- edtype: "2",
- projectid: data[0].ID,
- rclsid: "",
- robjid: "",
- userlogin: "",
- clsid: $this.$data
- .param
- .DataCls.id,
- objid: "",
- attr: param.req,
- dataJson: [],
- }
-
- $this.DataObjRunCustomEvent(
- info);
- }
- }
- }
- });
- } else {
- uni.showModal({
- title: $this.translateSys("tip"),
- content: $this.translateSys(
- "quotation_mark_left") +
- action.action_type + $this.translateSys(
- "quotation_mark_right") + $this
- .translate(
- "tip_action_unprocessed"),
- showCancel: false,
- confirmText: $this.translateSys("cancel")
- });
- }
- }
- }
- } else {
- uni.showModal({
- title: $this.translateSys('tip') + "5.2",
- content: $this.translateSys("quotation_mark_left") +
- "before_click_button" + $this.translateSys(
- "quotation_mark_right") + $this.translateSys(
- "comma") + 'event_id' + eventid,
- showCancel: false,
- confirmText: $this.translateSys("cancel")
- });
- }
- }
-
- }).catch(ex => {
- // console.log(ex);
- let exStr = JSON.stringify(ex)
- if (exStr == "{}")
- exStr = ex
- let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
- uni.showModal({
- title: $this.translateSys('tip') + "5.1",
- content: exStr,
- showCancel: false,
- confirmText: $this.translateSys("cancel")
- });
- });
- },
-
-
- 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) {
- if (btn.Prompt) {
- const sContent = btn.PromptContent || this.translate("confirm")
- uni.showModal({
- title: this.translateSys("tip"),
- content: btn.PromptContent || this.translate("confirm"),
- success: function(res) {
- if (res.confirm) {}
- this.onButtonClicked(btn, pageData, -1);
- },
- })
-
- } else {
- this.onButtonClicked(btn, pageData, -1);
- }
- },
- onRowBtnClick(btn, pageData, index) {
- if (btn.Prompt) {
- const sContent = btn.PromptContent || this.translate("confirm")
- uni.showModal({
- title: this.translateSys("tip"),
- content: btn.PromptContent || this.translate("confirm"),
- success: function(res) {
- if (res.confirm) {}
- this.onButtonClicked(btn, pageData, index);
- },
- })
-
- } else {
- this.onButtonClicked(btn, pageData, index);
- }
- },
- onButtonClicked(btn, pageData, index) {
- this.After_OK_Event = {}
- let enviroment = {
- button: "top",
- button_name: btn.ShowName,
- cls_id: btn.Cls_ID,
- function: "3018",
- 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 style = pageData.DefList[index];
- //鍒犻櫎鐮佺洏涓牱寮忛潰鏉�- pageData.DefList.splice(index, 1);
- this.del(pageData, style, btn.AfterProcess_Event);
- }
- } else {
- this.$Message.warning(this.$t("sys.unrealized"));
- }
- },
- //纭畾
- ok(pageData) {
- this.Before_OK_Event = pageData.Before_ok;
- 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);
- },
- 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;
- }
- //鑾峰彇琛ㄥご灞炴�
- pageData.okLoading = true
- var head_attr = {};
- this.$data.head_styledef.form.items.forEach(item => {
- if (item.name == "Layout") { //鍒ゆ柇鏄惁鏄爡鏍忔牸寮�- item.setting.colList.forEach(cols => {
- if (cols != null) head_attr[cols.fieldId] =
- cols.value;
- });
- } else
- head_attr[item.fieldId] = item.value;
- });
- // console.log(head_attr);
- //鑾峰彇姝e湪鐮佺洏灞炴�
- var detailAttrList = [];
- pageData.DefList.forEach(style => {
- var detail_attr = {};
- style.form.items.forEach(item => {
- if (item.name == "Layout") { //鍒ゆ柇鏄惁鏄爡鏍忔牸寮�- item.setting.colList.forEach(cols => {
- if (cols != null) detail_attr[
- cols
- .fieldId] = cols.value;
- });
- } else
- detail_attr[item.fieldId] = item.value;
- });
-
- detail_attr['id'] = style.form.objId;
- if (pageData.Select_Button ==
- true) { //鍒ゆ柇閫夋嫨鎸夐挳鏄惁涓簍rue
- if (style.SelBut_Checked == true)
- detailAttrList.push(detail_attr);
- } else
- detailAttrList.push(detail_attr);
- });
- // console.log(detailAttrList);
- //鑾峰彇姝e湪鐮佺洏閲屾病鏈夋樉绀虹殑瀛楁
- pageData.DefList.forEach(style => {
- style.form.attrs.forEach(attr => {
- for (var key in detailAttrList) {
- if (style.form.objId == detailAttrList[key]
- [
- 'id'
- ]) {
- var keys = Object.keys(detailAttrList[
- key]);
- var isflag = true;
- keys.forEach((ele) => {
- if (ele == attr.attr)
- isflag =
- false;
- });
- if (isflag) {
- detailAttrList[attr.attr] = attr
- .value;
- }
- }
- }
- });
- });
- // console.log(detailAttrList);
- // return;
- var input_param = Base64.encode(
- JSON.stringify(
- Object.keys(head_attr).map((a) => ({
- attr: a,
- value: head_attr[a] || "",
- }))
- )
- );
- var jsonlist = [];
- detailAttrList.forEach(attr => {
- jsonlist.push({
- id: attr["id"] || "",
- attrs: Object.keys(attr).map((a) => ({
- 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;
- }
- 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);
- // jsonlist.forEach(async (json,key)=>{
- // await $this.runCustomEvent(event,input_param,json,'1');
- // });
- },
- //鎵ц纭畾鑴氭湰
- async runCustomEvent(pageParam, event, input_param, json, type) {
- var $this = this;
- var data_json = Base64.encode(
- JSON.stringify(json)
- );
- var dataInfo = {
- ed_type: 0,
- start_transaction: true,
- class_id: this.$data.ClsID,
- class_name: '',
- event_id: event.ID,
- event_name: '',
- data_obj_id: '',
- obj_attr: '',
- prj_id: '',
- ref_cls_id: '',
- rel_obj_id: '',
- user_login: '',
- data_json: data_json,
- compose_info: '',
- ext_info: '',
- global_attr: '',
- input_param: input_param,
- };
-
- // 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 == 801) {
- if (this.param.Only_Script_Error) {
- let pos = tip.indexOf("锛�);
- if (pos > -1) tip = tip.substring(pos +
- 1);
- }
- uni.showModal({
- title: this.translateSys(
- "tip"),
- content: tip,
- showCancel: false,
- confirmText: this.translateSys(
- "cancel")
- });
- } else uni.showModal({
- title: this.translateSys('tip'),
- content: tip + ',' + this
- .translateSys('tip') + ':' +
- result.ret,
- showCancel: false,
- confirmText: this.translateSys(
- "cancel")
- });
- return false;
- } else {
- var tip = result.info ? typeof result.info ==
- 'string' ? result.info : result.info
- .join('<br/>') : '';
- if (tip) uni.showModal({
- title: this.translateSys('tip'),
- content: tip,
- showCancel: false,
- confirmText: this.translateSys(
- "cancel")
- });
- if (result.result_type == 0) {
- if (result.action) {
- // uni.showModal({title:this.translateSys("tip"),content:JSON.stringify(result.action),showCancel:false,confirmText:this.translateSys("cancel")});
-
- result.action.forEach(item => {
- if (item.action_type ==
- "insert_subtable_page_row"
- ) { //鐮佺洏涓�- var value = item.value;
- //鍔犺浇宸茬粡鐮佺洏鏁版嵁
- $this.viewAceionRow(
- value, );
- //娓呯┖鏉$爜鍐呭
- $this.$data
- .head_styledef
- .form.items
- .forEach((
- item,
- index) => {
- if (item
- .fieldId !=
- "S_CNTR_CODE"
- ) {
- item.value =
- '';
- item.oldvalue =
- '';
- $this
- .$data
- .head_styledef
- .form
- .model[
- item
- .fieldId
- ] =
- '';
- }
- });
-
- uni.showModal({
- title: this
- .translateSys(
- "tip"
- ),
- content: this
- .translate(
- 'execute_event_success'
- ),
- showCancel: false,
- confirmText: this
- .translateSys(
- "cancel"
- )
- });
- } else if (item.action_type ==
- "set_subtable_page_content"
- ) { //宸茬爜鐩�- $this.$data.param
- .Show_Welcom_Page =
- false;
- var value = item.value;
- const pageData = $this
- .pageDetail.find((
- page) => {
- return value
- .page_name ==
- page.Name;
- });
- if (value.clear_confirm !=
- false && value.clear ==
- true &&
- pageData && pageData
- .DefList.length > 0
- ) { //鍒ゆ柇鏄惁娓呯┖椤电鍐呭,姝e湪鐮佺洏鏄惁鏈夋暟鎹�- uni.showModal({
- title: this
- .translateSys(
- 'tip'
- ),
- content: this
- .translate(
- "are_you_sure_clear_first"
- ) +
- this
- .translateSys(
- "quotation_mark_left"
- ) +
- value
- .page_name +
- this
- .translateSys(
- "quotation_mark_right"
- ) +
- this
- .translate(
- "are_you_sure_clear_last"
- ),
- success: function(
- res
- ) {
- if (res
- .confirm
- ) {
- if (
- pageData
- )
- pageData
- .DefList = [];
- $this
- .viewAceionContent(
- value
- );
- } else if (
- res
- .cancel
- ) {
- if (
- pageData
- )
- pageData
- .DefList = [];
- $this
- .viewAceionContent(
- value
- );
- }
- }
- });
- } else {
- if (pageData)
- pageData
- .DefList = [];
- $this
- .viewAceionContent(
- value);
- }
- } else if (item
- .action_type ==
- "remove_subtable_page_row"
- ) { //娓呴櫎闈㈡澘涓寚瀹歩d鐨勬暟鎹�- var value = item.value;
- const pageData = $this
- .pageDetail.find((
- page) => {
- return value
- .page_name ==
- page
- .Name;
- });
- if (pageData
- ?.DefList
- ) { //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄緟鍒嗘嫞
- //娓呴櫎闈㈡澘涓寚瀹歩d鐨勬暟鎹�- value.row.forEach(
- row => {
- pageData
- .DefList
- .forEach(
- (
- ele,
- index
- ) => {
- if (ele
- .form
- .objId ==
- row
- .id
- ) {
- pageData
- .DefList
- .splice(
- index,
- 1
- );
- }
- }
- );
- });
- }
- } else if (item
- .action_type ==
- "set_subtable_page_row"
- ) {
- $this.viewActionSetRow(
- item
- .value)
-
- } else if (item
- .action_type ==
- "set_subtable_page_ext_data"
- ) {
- var value = item.value;
- const pageData = $this
- .pageDetail.find((
- page) => {
- return value
- .page_name ==
- page
- .Name;
- });
- if (pageData) {
- pageData.ExtData =
- value
- .ext_data
- }
-
- } else if (item
- .action_type ==
- "clear_subpage_rows") {
- var value = item.value;
- const pageData = $this
- .pageDetail.find((
- page) => {
- return value
- .page_name ==
- page
- .Name;
- });
- if (pageData) {
- pageData
- .DefList = []
- pageData
- .ExtData = {}
- }
- } else if (item
- .action_type ==
- "set_dlg_current_edit_attr"
- ) {
- if ($this
- .focusOldFieldId ==
- item.value)
- $this.setData({
- focusFieldId: ""
- })
- else {
- $this.setData({
- focusFieldId: $this
- .focusOldFieldId
- })
- }
- $this.$nextTick(() => {
- $this
- .setData({
- focusFieldId: item
- .value
- })
- });
- } else if (item.action_type ==
- "set_dlg_attr") {
- // value = {"attr":"xxx", "value":"xxx"}
- var data = item.value;
- $this.setFormValues(data)
- }
-
- });
- } else {
- if ($this.$data.After_OK_Event.ID !=
- event
- .ID) { //鍒ゆ柇褰撳墠浜嬩欢鏄惁鏄‘瀹氬悗浜嬩欢
-
- $this.sava(pageParam, $this.$data
- .After_OK_Event); //鎵ц纭畾鍚庝簨浠�-
- }
- }
- } else {
-
- if (result.info) {
- uni.showModal({
- title: this.translateSys(
- "tip"),
- content: result.info,
- showCancel: false,
- confirmText: this
- .translateSys("cancel")
- });
- }
- }
- }
-
- pageParam.okLoading = false
- }).catch(ex => {
- pageParam.okLoading = false
- 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")
- });
- });
- },
-
- cancel(e) { //鍙栨秷
- uni.navigateBack({
- delta: 1 //杩斿洖灞傛暟锛�鍒欎笂涓婇〉
- });
- },
- translate(t) {
- if (typeof this.$t == "function") return this.$t(`page.${t}`)
- else return t;
- },
- translateSys(t) {
- if (typeof this.$t == "function") return this.$t(`sys.${t}`)
- else return t;
- },
- },
- };
-</script>
-
-<style lang="scss">
- .uni-page-modal-form {
-
- display: flex;
- height: calc(100vh - 30rpx);
- width: 720rpx;
- flex-direction: column !important;
- padding: 15rpx;
-
- .view-header {
- display: flex;
- width: 100%;
- 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;
- flex: 1;
- width: 100%;
- flex-direction: column;
- min-height: 100px;
- }
-
- .dv-tab {
- width: calc(100% - 30rpx);
- padding: 0 15rpx;
- }
-
- .view-tabpage {
- width: 100%;
- flex: 1;
- }
-
- .view-tab-content {
- display: flex;
- flex: 1;
- width: calc(100% - 30rpx);
- padding: 10rpx 15rpx;
- flex-direction: column;
- overflow-y: auto;
-
- }
-
- .uni-panel-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;
- color: #888;
- }
-
- .btn-left {
- padding: 20rpx;
- line-height: 1.5;
- border: none;
- font-size: 38rpx;
- font-weight: bold;
- float: left;
- display: inline-block;
- }
-
- .btn-one {
- padding: 20rpx;
- line-height: 1.5;
- border: none;
- font-size: 38rpx;
- font-weight: bold;
- float: left;
- display: inline-block;
- width: 50%;
- margin-left: 25%;
- }
-
- .btn-right {
- padding: 20rpx;
- line-height: 1.5;
- border: none;
- font-size: 38rpx;
- font-weight: bold;
- float: right;
- display: inline-block;
- }
-
- .width-50 {
- width: 49%;
- }
-
- .width-32 {
- width: 32%;
- margin-left: 1%;
- }
-
- .width-30 {
- width: 30%;
- margin-left: 1%;
- }
- }
-
- [nvue] uni-view {
- position: relative;
- border: 0 solid #000;
- box-sizing: border-box;
- }
-
- .uni-icon {
- /* border: 1px solid red; */
- width: 8%;
- font-family: uniicons;
- font-size: 40rpx;
- font-weight: 400;
- font-style: normal;
- /* width: 48rpx; */
- height: 48rpx;
- line-height: 48rpx;
- color: #2d8cf0;
- cursor: pointer;
- display: inline-block;
- vertical-align: 18rpx;
- }
-
- .dv-panel {
- background-color: #efefef;
- padding: 20rpx 20rpx 10rpx 0px;
- border-radius: 12rpx;
- margin: 10rpx 0 20rpx 0;
- text-align: right;
-
- .txt_title {
- font-size: 28rpx;
- text-align: right;
- display: inline-block;
- }
-
- input {
- vertical-align: middle;
- display: inline-block;
- border: 1px solid #d5d5d5;
- width: 68%;
- height: 48rpx;
- line-height: 28rpx;
- background: #FFF;
- border-radius: 7px !important;
- color: #2d8cf0;
- padding: 6rpx 8rpx 8rpx;
- font-size: 28rpx;
- font-family: inherit;
- box-shadow: none !important;
- transition-duration: 0.1s;
- margin-top: 0rpx;
- }
-
- input::-webkit-input-placeholder {
- font-size: 10rpx;
- }
-
- .form-item-span {
- vertical-align: text-top;
- color: #2d8cf0;
- white-space: normal;
- word-break: break-all;
- display: inline-block;
- width: calc(100% - 100px);
- }
-
- .dv-panel-button {
- width: 100%;
- text-align: left;
- min-height: 30rpx;
- padding-bottom: 10rpx;
-
- checkbox {
- padding-left: 20px;
- display: inline-block;
- }
-
- button {
- text-align: left;
- line-height: 1.5;
- border: none;
- font-size: 30rpx;
- display: inline-block;
- float: right;
- text-align: center;
- }
- }
-
- }
-
- .dv-panel-input {
- width: 100%;
- display: inline-block;
- text-align: left;
-
- .dv-input {
- margin-bottom: 2rpx;
- }
- }
-
- .logo {
- height: 100rpx;
- width: 460rpx;
- display: flex;
- margin: 38% auto;
- }
-
- .dv-border {
- border: 1px solid red;
- }
-
- .view-imagetext {
- text-align: center;
- width: calc(100% - 80rpx);
- padding: 20rpx 40rpx 0px 40rpx;
- height: calc(100% - 30rpx);
- overflow: hidden;
- }
-
- .view-imagetext .view-imagetext-uploadlist {
- padding: 30rpx 0px 10rpx 0px;
- vertical-align: middle;
- display: inline-block;
- width: 100%;
- height: 100%;
- text-align: center;
- line-height: 100%;
- border: 2rpx solid transparent;
- border-radius: 8rpx;
- overflow: hidden;
- background: #fff;
- position: relative;
- }
-
- .view-imagetext .txt-text {
- display: block;
- margin: 20rpx;
- font-weight: bold;
- }
-
- .view-detalist-centen {
- text-align: center;
- width: 100%;
- }
-
- .view-detalist-centen .txt-detalist {
- background: #94D5EF;
- display: block;
- width: 100%;
- font-size: 36rpx;
- line-height: 80rpx;
- font-weight: 500;
- }
-
- .panel-active {
- border: 2px solid red;
- }
-
- .bk-active {
- background-color: #D6FCB2;
- }
-
- .dv_select {
- display: inline-block;
- width: 66%;
- 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;
- margin-top: 0rpx;
- vertical-align: 20rpx;
-
- .uni-select {
- border: 2rpx solid #ccc;
- border-radius: 0 !important;
- color: #2d8cf0;
- }
-
- .uni-select__input-text {
- color: #2d8cf0;
- }
-
- }
-
-
- .input-disabled {
- 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;
- }
-
- .popup-header {
- font-size: 42rpx;
- font-weight: bold;
- margin: 20rpx 20rpx 0px 20rpx;
- }
-
- .view_popup_CheckList {
- margin-bottom: 20rpx;
- }
-
- .popup-footer {
- float: right;
- position: absolute;
- bottom: 0;
- right: 20rpx;
- }
-
- button.btn_popup_add {
- width: 180rpx;
- margin-top: 50rpx;
- margin-right: 20rpx;
- padding: 15rpx;
- line-height: 1.5;
- background: #27A6E1;
- border: none;
- color: #fff;
- font-size: 38rpx;
- font-weight: bold;
- /* float: left; */
- display: inline-block;
- }
-
- button.btn_popup_cancel {
- width: 180rpx;
- margin-top: 50rpx;
- padding: 15rpx;
- line-height: 1.5;
- background: #27A6E1;
- border: none;
- color: #fff;
- font-size: 38rpx;
- font-weight: bold;
- /* float: right; */
- display: inline-block;
- }
-
-
- }
-</style>
\ No newline at end of file
diff --git a/pages/modal/form/index.vue b/pages/modal/form/index.vue
new file mode 100644
index 0000000..2e3cda5
--- /dev/null
+++ b/pages/modal/form/index.vue
@@ -0,0 +1,2231 @@
+<template>
+ <view class="uni-page-modal-form">
+ <view class="view-content">
+ <!-- 琛ㄥご鏍峰紡 -->
+ <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 ?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="classAttr_extButton(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)" :maxlength="-1" />
+ <text v-if="item.setting.suffix" class="uni-icon" :class="[item.setting.suffix]"
+ @click="classAttr_extButton(item)"></text>
+ </view>
+ <!-- 澶嶉�妗�-->
+ <checkbox-group v-if="item.name=='Checkbox'" :class="item.disabled?'input-disabled':''"
+ :disabled="item.disabled" @change="onCheckBoxValue" :data-attr="item.fieldId"
+ :data-index="index">
+ <label v-for="(item2) in item.selections" :key="item2.value">
+ <checkbox :value="item2.value" :checked="item.value.includes(item2.value)" />
+ <text>{{item2.label}}</text>
+ </label>
+ </checkbox-group>
+ <!-- 鍗曢�妗�-->
+ <radio-group v-if="item.name=='Radio'" :class="item.disabled?'input-disabled':''"
+ :disabled="item.disabled" @change="onRadioBoxValue" :data-attr="item.fieldId"
+ :data-index="index">
+ <label v-for="(item2) in item.selections" :key="item2.value">
+ <radio :value="item2.value" :checked="item2.value === item.value" />
+ <text>{{item2.label}}</text>
+ </label>
+ </radio-group>
+ <!-- Switch寮�叧 -->
+ <switch class="input-switch" v-if="item.name=='Switch'"
+ :class="item.disabled?'input-disabled':''" :disabled="item.disabled" v-model="item.value"
+ @change="onEnterChange(item)" />
+ </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 ? 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(col)"
+ :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="classAttr_extButton(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)" :maxlength="-1" />
+ <text v-if="col.setting.suffix" class="uni-icon" :class="[col.setting.suffix]"
+ @click="classAttr_extButton(col)"></text>
+ </view>
+ <!-- 澶嶉�妗�-->
+ <checkbox-group v-if="col.name=='Checkbox'" :class="col.disabled?'input-disabled':''"
+ :disabled="col.disabled" @change="onCheckBoxValue" :data-attr="col.fieldId"
+ :data-index="index" :data-iindex="key">
+ <label v-for="(col2) in col.selections" :key="col2.value">
+ <checkbox :value="col2.value" :checked="col.value.includes(col2.value)" />
+ <text>{{col2.label}}</text>
+ </label>
+ </checkbox-group>
+ <!-- 鍗曢�妗�-->
+ <radio-group v-if="col.name=='Radio'" :class="col.disabled?'input-disabled':''"
+ :disabled="col.disabled" @change="onRadioBoxValue" :data-attr="col.fieldId"
+ :data-index="index" :data-iindex="key">
+ <label v-for="(col2) in col.selections" :key="col2.value">
+ <radio :value="col2.value" :checked="col2.value === col.value" />
+ <text>{{col2.label}}</text>
+ </label>
+ </radio-group>
+ <!-- Switch寮�叧 -->
+ <switch v-if="col.name=='Switch'" :class="col.disabled?'input-disabled':''"
+ :disabled="col.disabled" v-model="col.value" @change="onEnterChange(col)" />
+ </uni-forms-item>
+ </uni-col>
+ </uni-row>
+ </view>
+ </uni-forms>
+ </view>
+ <view class="view-bottom">
+ <button type="primary" @tap="ok" class="btn_add" :class="okLoading?'btn_disabled':''"
+ :disabled="okLoading">{{translateSys('ok')}}</button>
+ <button type="default" @tap="cancel" class="btn_cancel">{{translateSys('cancel')}}</button>
+
+ </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':'200px','height':check_list.height?check_list.height+'px':'88%'}">
+ <view class="popup-cont" :style="{'height':check_list.height?check_list.height-45+'px':'415px'}">
+ <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
+ } from "@/api/mobox.js"
+ import {
+ getUIStyleInfo,
+ runCustomEvent,
+ dataObjCreate,
+ updateDataObj,
+ dataObjInfo
+ } from "@/api/data.js"
+
+ export default {
+ name: "PageModalForm",
+ modules: {
+ Base64,
+ },
+ data() {
+ return {
+ okLoading:false,
+ title: this.translateSys('add2'),
+ type: '',
+ editMode: false,
+ clsId: '',
+ objId: "",
+ param: {},
+ focusFieldId: "",
+ focusOldFieldId: "",
+ head_styledef: {
+ form: {
+ items: []
+ }
+ },
+ global_attr: [],
+ ext_info: {},
+ data_json: [],
+ refdatastore: [], //寮曠敤鏁版嵁瀛樺偍鍖�/ {attr:'G_PRJ_' + bindattr + '_ID', value:info.id}
+ popupType: "center",
+ check_list: {},
+ popupParam: {},
+ };
+ },
+ computed: {
+ initialEvent() {
+ let event = this.head_styledef.event?.find((e) => e.event_id == "initial");
+ return {
+ id: event?.scrip_id,
+ name: event?.scrip_name,
+ };
+ },
+ beforeOKEvent() {
+ let event = this.head_styledef.event?.find((e) => e.event_id == "before_ok");
+ return {
+ id: event?.scrip_id,
+ name: event?.scrip_name,
+ };
+ },
+ afterOKEvent() {
+ let event = this.head_styledef.event?.find((e) => e.event_id == "after_ok");
+ return {
+ id: event?.scrip_id,
+ name: event?.scrip_name,
+ };
+ },
+ beforeCancelEvent() {
+ let event = this.head_styledef.event?.find(
+ (e) => e.event_id == "before_cancel"
+ );
+ return {
+ id: event?.scrip_id,
+ name: event?.scrip_name,
+ };
+ },
+ afterCancelEvent() {
+ let event = this.head_styledef.event?.find(
+ (e) => e.event_id == "after_cancel"
+ );
+ return {
+ id: event?.scrip_id,
+ name: event?.scrip_name,
+ };
+ },
+ },
+ onLoad(options) {
+
+ this.param = JSON.parse(options.param);
+ let objAttr
+ if (options.type) {
+ this.type = options.type;
+ }
+ //鑾峰彇涓绘暟鎹被ID
+ this.clsId = this.param.Cls_ID;
+ this.objId = options.objId || "";
+ this.editMode = options.editMode ? true : false;
+ if (options.objAttr)
+ objAttr = JSON.parse(options.objAttr);
+ if (options.globalAttrs)
+ this.global_attr = JSON.parse(options.globalAttrs);
+ if (options.extInfo)
+ this.ext_info = JSON.parse(options.extInfo);
+ if (options.dataJson)
+ this.data_json = JSON.parse(options.dataJson);
+ this.title = this.param.ShowName? this.param.ShowName : options.titlename; //璁剧疆鎸夐挳鏂囧瓧
+ // console.log(options)
+ uni.setNavigationBarTitle({
+ title: this.title
+ }); //璁剧疆椤堕儴鏍囬
+
+ if (this.clsId) {
+ this.loadData(objAttr)
+ } else {
+ uni.showModal({
+ title: this.translateSys("error"),
+ content: this.translate("tip_no_master_class"),
+ showCancel: false,
+ confirmText: this.translateSys("cancel")
+ });
+ }
+ },
+ //椤甸潰鍒濆鍖栬幏鍙栫劍鐐�+ methods: {
+ setData(obj) {
+ let that = this;
+ let keys = [];
+ let val, data;
+
+ Object.keys(obj).forEach(function(key) {
+ keys = key.split(".");
+ val = obj[key];
+ data = that.$data;
+ keys.forEach(function(key2, index) {
+ if (index + 1 == keys.length) {
+ that.$set(data, key2, val);
+ console.log("$set", key2, val)
+ } else {
+ if (!data[key2]) {
+ that.$set(data, key2, {});
+ console.log("$set", key2, {})
+ }
+ }
+ data = data[key2];
+ });
+ });
+ },
+ async loadData(objAttr) {
+
+ //鑾峰彇鏁版嵁绫荤殑鑷畾涔夎〃鍗曞弬鏁�+ await this.Head_UIStyleGetInfo(this.clsId, this.param.Edit_dlg.ID);
+ // form data
+ await this.loadFormData(objAttr);
+ // init event
+ await this.loadInitialEvent();
+ },
+
+ async Head_UIStyleGetInfo(class_id, style_id) { //鑾峰彇鑷畾涔夎〃鍗曟牱寮�+ try {
+ var $this = this;
+ var dataInfo = {
+ class_id: class_id,
+ ui_style_id: style_id,
+ };
+ const result = await getUIStyleInfo(dataInfo)
+ var styledef = "";
+ if (result.style_def) {
+ //mobox2鐨剆tyle_def鏄痡son瀛楃涓�+ styledef = result.style_def.replace(/\\/g, "");
+ //mobox3鐨剆tyle_def鏄痓ase64瀛楃涓�+ if (!result.style_def.includes('"')) styledef = Base64.decode(
+ result
+ .style_def);
+ }
+ const styledefHead = styledef ? JSON.parse(styledef) : {};
+ if (styledefHead?.form?.items) {
+ for (let i in styledefHead.form.items) {
+ const ele = styledefHead.form.items[i]
+ if (ele.name != "Layout") {
+ if (ele?.useDict) {
+ //鍒ゆ柇useDict鏄惁浣跨敤瀛楀吀
+ await this.DictGetInfo(ele.bind.dict,
+ styledefHead.form.model,
+ ele);
+ } else {
+ if (ele?.name === "Select") {
+ const selections = ele?.selections || []
+ //鏈夐粯璁ゅ�锛屾樉绀洪粯璁ゅ�
+ let itemName = ele.value || "";
+ if (itemName) {
+ styledefHead.form
+ .model[ele.fieldId] = itemName;
+ }
+ ele.dict = selections.map((a) => {
+ return {
+ value: a.value,
+ text: a.label
+ }
+ })
+
+ }
+
+ }
+
+ if ($this.focusFieldId == "") {
+ if (ele.name == 'Input' || ele.name ==
+ 'InputNumber') {
+ $this.setData({
+ focusFieldId: ele.fieldId
+ })
+ }
+ }
+ } else {
+ for (let j in ele.setting.colList) {
+ const col = ele.setting.colList[j]
+ if (col?.useDict) {
+ //鍒ゆ柇useDict鏄惁浣跨敤瀛楀吀
+ await this.DictGetInfo(col.bind
+ .dict,
+ styledefHead.form
+ .model, col);
+ } else {
+ if (col?.name === "Select") {
+ const selections = col?.selections || []
+ //鏈夐粯璁ゅ�锛屾樉绀洪粯璁ゅ�
+ let itemName = col.value || "";
+ if (itemName) {
+ styledefHead.form
+ .model[col.fieldId] = itemName;
+ }
+ col.dict = selections.map((a) => {
+ return {
+ value: a.value,
+ text: a.label
+ }
+ })
+ }
+ }
+ if ($this.focusFieldId == "") {
+ if (col.name == 'Input' || col
+ .name ==
+ 'InputNumber') {
+ $this.setData({
+ focusFieldId: col
+ .fieldId
+ })
+ }
+ }
+ }
+ }
+ }
+
+ }
+ this.setData({
+ head_styledef: styledefHead
+ })
+ console.log("Head_UIStyleGetInfo", this.head_styledef)
+
+ } catch (ex) {
+ // console.log(ex);
+ let exStr = JSON.stringify(ex)
+ if (exStr == "{}")
+ exStr = ex
+ let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
+ uni.showModal({
+ title: $this.translateSys('tip') + "1",
+ content: exStr,
+ showCancel: false,
+ confirmText: $this.translateSys("cancel")
+ });
+
+ }
+
+
+ },
+ async DictGetInfo(dict, formModel, formItem) { //Mobox3寰楀埌寰楀埌瀛楀吀淇℃伅瀛楀吀椤瑰垪琛�+ this.data = [];
+ var $this = this;
+ var dataInfo = {
+ dict_id: dict.id,
+ dict_name: dict.name
+ };
+ try {
+ const result = await dictGetInfo(dataInfo)
+ var list = [];
+ var itemName = '';
+ (result.dict_item_list || []).forEach((item) => {
+ if (item.is_default == '1')
+ itemName = item.name
+ list.push({
+ text: item.value ? item.value : item.name,
+ value: item.name,
+ });
+ });
+ //鏈夐粯璁ゅ�锛屾樉绀洪粯璁ゅ�
+ if (itemName) {
+ formItem.value = itemName;
+ formModel[formItem.fieldId] = itemName;
+ }
+ formItem.dict = list;
+ } catch (ex) {
+ // console.log(ex);
+ uni.showModal({
+ title: this.translateSys("error") + "3",
+ content: ex.errMsg,
+ showCancel: false,
+ confirmText: this.translateSys("cancel")
+ });
+ }
+
+ },
+ async loadFormData(objAttr) {
+ let formData
+ if (this.objId) {
+ let info = await dataObjInfo({
+ class_id: this.clsId,
+ obj_id: this.objId,
+ });
+ formData = {};
+ formData["id"] = info.id;
+ formData["state"] = info.state;
+ info.attr_list.forEach(({
+ name,
+ value
+ }) => {
+ formData[name] = value;
+ });
+ } else if (objAttr) {
+ formData = {};
+ Object.keys(objAttr).forEach((attr) => {
+ let value = objAttr[attr];
+ formData[attr] = value;
+ });
+ }
+ //浼犲叆鍙傛暟鍊�+ if (formData) {
+ if (this.head_styledef?.form) {
+ const items = this.head_styledef?.form?.items || []
+ const model = this.head_styledef?.form?.model || {}
+ Object.assign(model, formData);
+ 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.$data.head_styledef.form.model = model
+ this.$data.head_styledef.form.items = items
+ }
+ }
+ },
+ async loadInitialEvent() {
+ try {
+ if (this.initialEvent.id) {
+ let obj_attr = this.head_styledef.form.model;
+ let inputParam = {
+ id: "",
+ attrs: Object.keys(obj_attr).map((a) => ({
+ attr: a,
+ value: obj_attr[a],
+ })),
+ };
+ let input_param = Base64.encode(JSON.stringify(inputParam));
+ let global_attr = Base64.encode(JSON.stringify(this.global_attr)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜
+ let data_json = Base64.encode(JSON.stringify(this.data_json)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜
+ let ext_info = Base64.encode(JSON.stringify(this.ext_info)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜
+ const result = await runCustomEvent({
+ ed_type: 0,
+ class_id: this.clsId,
+ event_id: this.initialEvent.id,
+ data_obj_id: this.objId,
+ obj_attr,
+ input_param,
+ global_attr,
+ data_json,
+ ext_info
+ })
+ if (result.ret != 0) {
+ var tip = result.err_info ? typeof result
+ .err_info == 'string' ? result
+ .err_info : result.err_info.join('<br/>') :
+ '';
+ if (result.ret == 801) {
+ if (this.param.Only_Script_Error) {
+ let pos = tip.indexOf("锛�);
+ if (pos > -1) tip = tip.substring(pos +
+ 1);
+ }
+ uni.showModal({
+ title: this.translateSys(
+ "tip"),
+ content: tip,
+ showCancel: false,
+ confirmText: this.translateSys(
+ "cancel")
+ });
+ } else uni.showModal({
+ title: this.translateSys('tip'),
+ content: tip + ',' + this
+ .translateSys('tip') + ':' +
+ result
+ .ret,
+ showCancel: false,
+ confirmText: this.translateSys(
+ "cancel")
+ });
+ return false;
+ } else {
+ var tip = result.info ? typeof result.info ==
+ 'string' ? result.info :
+ result.info.join('<br/>') : '';
+ if (tip) uni.showModal({
+ title: this.translateSys('tip'),
+ content: tip,
+ showCancel: false,
+ confirmText: this.translateSys(
+ "cancel")
+ });
+
+ if (result.result_type == 0 && result.action) {
+ result.action.forEach(item => {
+
+ if (item.action_type ==
+ "set_dlg_current_edit_attr"
+ ) {
+
+ if ($this
+ .focusOldFieldId ==
+ item.value) {
+ $this.setData({
+ focusFieldId: ""
+ })
+ } else {
+ $this.setData({
+ focusFieldId: $this
+ .focusOldFieldId
+ })
+ }
+ $this.$nextTick(() => {
+ $this.setData({
+ focusFieldId: item
+ .value
+ })
+ });
+ } else if (item.action_type ==
+ "set_dlg_attr") {
+ // value = {"attr":"xxx", "value":"xxx"}
+ var data = item.value;
+ $this.setFormValues(data)
+ }
+ });
+ } else {
+
+ if (result.info) {
+ uni.showModal({
+ title: this.translateSys(
+ "error") + "4.3",
+ content: result.info,
+ showCancel: false,
+ confirmText: this
+ .translateSys("cancel")
+ });
+ }
+ }
+
+ }
+
+ }
+ } catch (ex) {
+ let exStr = JSON.stringify(ex)
+ if (exStr == "{}")
+ exStr = ex
+ let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
+ uni.showModal({
+ title: $this.translateSys('tip') + "2",
+ content: exStr,
+ showCancel: false,
+ confirmText: $this.translateSys("cancel")
+ });
+ }
+ },
+ 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;
+ var $this = this;
+ 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;
+
+ if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠�+ $this.onChange(onChangeEvent);
+ }
+ if (item.value) { //绗竴涓緭鍏ユ涓嶄负绌�+ //鍒濆鍖栵紝涓嬩釜杈撳叆妗唂ocus灞炴�
+ var findd = false
+ for (let i in $this.head_styledef.form.items) {
+ const ele = $this.head_styledef.form.items[i]
+
+ if (ele.name != "Layout") {
+ if (ele.name == 'Input' || ele.name ==
+ 'InputNumber') {
+ if (attr == ele.fieldId) {
+ findd = true
+ } else {
+ if (findd) {
+ $this.setData({
+ focusFieldId: ele.fieldId
+ })
+ break
+ }
+
+ }
+
+ }
+ } 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
+ })
+ break
+ }
+
+ } else {
+ let curIndex = ele.setting.colList.findIndex((
+ col, index2, arr) => {
+ return attr == col.fieldId;
+ })
+ if (curIndex > -1) {
+ findd = true
+ let curIndex2 = ele.setting.colList
+ .findIndex((col, index2, arr) => {
+ return (col.name == 'Input' ||
+ col.name ==
+ 'InputNumber') &&
+ index2 >
+ curIndex;
+ })
+ if (curIndex2 > -1) {
+ $this.setData({
+ focusFieldId: ele.setting
+ .colList[curIndex]
+ .fieldId
+ })
+ break
+ }
+ }
+ }
+
+ }
+ }
+ }
+
+ }
+ })
+ },
+
+ onEnterChange(item) { //鍥炶溅锛岀偣鍑绘寜閽紝鍙栨秷鑺傜偣浜嬩欢
+ console.log(item);
+ if (item.oldvalue != item.value && item.value.trim() != "") {
+ item.oldvalue = item.value;
+ var attr = item.fieldId;
+ this.head_styledef.form.model[attr] = item.value;
+ var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�+
+ if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠�+ this.onChange(onChangeEvent);
+ }
+
+ }
+ },
+ onCheckBoxValue(e) { //缁戝畾Model鍊�+ let values = e.detail.value || []
+ const item = this.head_styledef.form.items[e.currentTarget?.dataset?.index || 0]
+ if (item?.setting?.colList) {
+ const col = item.setting.colList[e.currentTarget?.dataset?.iindex || 0]
+ if (col) {
+ col.value = values
+ let attr = col.fieldId;
+ this.head_styledef.form.model[attr] = col.value;
+ var onChangeEvent = col.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�+ if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠�+ this.onChange(onChangeEvent);
+ }
+ return
+ }
+ } else {
+ if (item) {
+ item.value = values
+ let attr = item.fieldId;
+ this.head_styledef.form.model[attr] = item.value;
+ var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�+ if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠�+ this.onChange(onChangeEvent);
+ }
+ }
+ }
+
+ },
+ onRadioBoxValue(e) { //缁戝畾Model鍊�+ let values = e.detail.value || ""
+ const item = this.head_styledef.form.items[e.currentTarget?.dataset?.index || 0]
+ if (item?.setting?.colList) {
+ const col = item.setting.colList[e.currentTarget?.dataset?.iindex || 0]
+ if (col) {
+ col.value = values
+ let attr = col.fieldId;
+ this.head_styledef.form.model[attr] = col.value;
+ var onChangeEvent = col.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�+ if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠�+ this.onChange(onChangeEvent);
+ }
+ return
+ }
+ } else {
+ if (item) {
+ item.value = values
+ let attr = item.fieldId;
+ this.head_styledef.form.model[attr] = item.value;
+ var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�+ if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠�+ this.onChange(onChangeEvent);
+ }
+ }
+
+ }
+
+ },
+ classAttr_extButton(item) {
+ var onSuffixClickCallbackEvent = item.bind.onSuffixClickCallbackEvent; //鍚庡浘鏍囩偣鍑讳簨浠�+ var onSuffixClickEvent = item.bind.onSuffixClickEvent; //鍚庡浘鏍囩偣鍑诲洖璋�+
+ if (!onSuffixClickCallbackEvent.id) {
+ uni.showModal({
+ title: this.translateSys("tip"),
+ content: this.translate('icon_click_callback_empty'),
+ showCancel: false,
+ confirmText: this.translateSys("cancel")
+ });
+ return;
+ }
+ if (!onSuffixClickEvent.id) {
+ uni.showModal({
+ title: this.translateSys("tip"),
+ content: this.translate('icon_click_event_empty'),
+ showCancel: false,
+ confirmText: this.translateSys("cancel")
+ });
+ return;
+ }
+ this.$data.popupType = 'right'
+ // open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦�uni-popup 缁勪欢涓婄粦瀹�type灞炴�
+ this.$refs.popup.open(this.popupType);
+
+ this.dataObjRunCustomEvent_Return(onSuffixClickCallbackEvent.id, '', onSuffixClickEvent.id,
+ item);
+ },
+
+ // 鍐呭鍙樺寲鍚庝簨浠�+ async onChange(event) {
+ try {
+ if (event.id) {
+ //鑾峰彇琛ㄥご灞炴�
+ 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;
+ });
+ } 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) => ({
+ attr: a,
+ value: head_attr[a] || "",
+ }))
+ )
+ );
+ var $this = this;
+
+ let global_attr = Base64.encode(JSON.stringify(this.global_attr))
+ let data_json = Base64.encode(JSON.stringify(this.data_json))
+ let ext_info = Base64.encode(JSON.stringify(this.ext_info))
+ var dataInfo = {
+ ed_type: 0,
+ start_transaction: true,
+ class_id: this.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,
+ };
+ runCustomEvent(dataInfo).then(result => {
+ console.log(result);
+
+ if (result.ret != 0) {
+ var tip = result.err_info ? typeof result
+ .err_info == 'string' ? result
+ .err_info : result.err_info.join('<br/>') :
+ '';
+ if (result.ret == 801) {
+ if (this.param.Only_Script_Error) {
+ let pos = tip.indexOf("锛�);
+ if (pos > -1) tip = tip.substring(pos +
+ 1);
+ }
+ uni.showModal({
+ title: this.translateSys(
+ "tip"),
+ content: tip,
+ showCancel: false,
+ confirmText: this.translateSys(
+ "cancel")
+ });
+ } else uni.showModal({
+ title: this.translateSys('tip'),
+ content: tip + ',' + this
+ .translateSys('tip') + ':' +
+ result
+ .ret,
+ showCancel: false,
+ confirmText: this.translateSys(
+ "cancel")
+ });
+ return false;
+ } else {
+ var tip = result.info ? typeof result.info ==
+ 'string' ? result.info :
+ result.info.join('<br/>') : '';
+ if (tip) uni.showModal({
+ title: this.translateSys('tip'),
+ content: tip,
+ showCancel: false,
+ confirmText: this.translateSys(
+ "cancel")
+ });
+
+ if (result.result_type == 0 && result.action) {
+ result.action.forEach(item => {
+
+ if (item.action_type ==
+ "set_dlg_current_edit_attr"
+ ) {
+
+ if ($this
+ .focusOldFieldId ==
+ item.value) {
+ $this.setData({
+ focusFieldId: ""
+ })
+ } else {
+ $this.setData({
+ focusFieldId: $this
+ .focusOldFieldId
+ })
+ }
+ $this.$nextTick(() => {
+ $this.setData({
+ focusFieldId: item
+ .value
+ })
+ });
+ } else if (item.action_type ==
+ "set_dlg_attr") {
+ // value = {"attr":"xxx", "value":"xxx"}
+ var data = item.value;
+ $this.setFormValues(data)
+ }
+ });
+ } else {
+
+ if (result.info) {
+ uni.showModal({
+ title: this.translateSys(
+ "error") + "4.3",
+ content: result.info,
+ showCancel: false,
+ confirmText: this
+ .translateSys("cancel")
+ });
+ }
+ }
+
+ }
+
+ }).catch(ex => {
+ // console.log(ex);
+ let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex
+ uni.showModal({
+ title: this.translateSys("error") + "4.1",
+ content: 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")
+ });
+ }
+ },
+
+ setFormValues(data) {
+ const head_styledef = this.head_styledef
+ if (JSON.stringify(data) == '{}') {
+ return;
+ }
+ head_styledef.form.items.forEach(async (ele, index) => {
+ if (ele.name != "Layout") {
+ let curIndex = data.findIndex((attr, index2, arr) => {
+ return attr.attr == ele.fieldId;
+ })
+ if (curIndex > -1) {
+ const attr = data[curIndex]
+ if (ele.name ==
+ 'Select' &&
+ attr
+ .choice_list
+ ) {
+ const
+ dictItemList = [];
+ const
+ choiceList =
+ attr
+ .choice_list || [];
+ for (let d in
+ choiceList) {
+ const
+ val =
+ choiceList[
+ d
+ ];
+ dictItemList
+ .push({
+ text: val,
+ value: val
+ });
+ }
+ ele.dict =
+ dictItemList;
+ }
+
+ ele.value =
+ attr
+ .value;
+ }
+ } else {
+ ele.setting
+ .colList
+ .forEach(
+ async (
+ col
+ ) => {
+ if (
+ col) {
+ let curIndex = data.findIndex((
+ attr, index2, arr) => {
+ return attr.attr == col.fieldId;
+ })
+ if (curIndex > -1) {
+ const attr = data[curIndex]
+ if (col.name ==
+ 'Select' &&
+ attr
+ .choice_list
+ ) {
+ const
+ dictItemList = [];
+ const
+ choiceList =
+ attr
+ .choice_list || [];
+ for (let d in
+ choiceList) {
+ const
+ val =
+ choiceList[
+ d
+ ];
+ dictItemList
+ .push({
+ text: val,
+ value: val
+ });
+ }
+ col.dict =
+ dictItemList;
+ }
+
+ col.value =
+ attr
+ .value;
+ }
+ }
+
+ })
+
+ }
+ })
+
+ this.setData({
+ head_styledef: head_styledef
+ })
+ },
+
+
+ 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.$data.check_list.items;
+ // this.$data.check_list.items=[];
+ if (this.$data.check_list.multiple_choice == "0") { //鍒ゆ柇鏃跺崟閫夎繕鏄閫�+ for (var i in data) {
+ data[i].check = false;
+ }
+ }
+ data[index].check = ischeck ? false : true;
+ this.$data.check_list.items = data;
+
+ },
+ popup_cancel(e) { //寮规鍙栨秷
+ this.$refs.popup.close();
+ },
+ popup_sava(e) { //寮规纭畾
+ var $this = this;
+ var items = $this.$data.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.$data.popupParam) {
+ uni.showModal({
+ title: this.translateSys("tip"),
+ content: "popupParam涓虹┖锛�,
+ showCancel: false,
+ confirmText: this.translateSys("cancel")
+ });
+ return;
+ }
+ if (data.length == 0) {
+ uni.showModal({
+ title: this.translateSys("tip"),
+ content: this.translate("tip_no_select_data"),
+ showCancel: false,
+ confirmText: this.translateSys("cancel")
+ });
+ return;
+ }
+ let global_attr = Base64.encode(JSON.stringify(this.global_attr))
+ let data_json = Base64.encode(JSON.stringify(this.data_json))
+ let ext_info = Base64.encode(JSON.stringify(this.ext_info))
+ var callback_eventid = $this.$data.popupParam.button_callback.trim();
+ var info = {
+ eventid: callback_eventid,
+ edtype: "0",
+ projectid: '',
+ rclsid: '',
+ robjid: '',
+ userlogin: '',
+ clsid: $this.clsId,
+ objid: "",
+ attr: $this.$data.popupParam.req,
+ dataJson: data
+ }
+ $this.DataObjRunCustomEvent(info, $this.$data.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;
+ });
+ if (!info.eventid.includes('{')) info.eventid = '{' + info.eventid + '}';
+ var dataInfo = {
+ ed_type: info.edtype,
+ start_transaction: true,
+ class_id: info.clsid,
+ class_name: '',
+ event_id: info.eventid,
+ event_name: '',
+ data_obj_id: info.objid,
+ obj_attr: obj_attr,
+ prj_id: info.projectid,
+ ref_cls_id: info.rclsid,
+ rel_obj_id: info.robjid,
+ user_login: info.userlogin,
+ data_json: info.dataJson,
+ compose_info: '',
+ ext_info: enviroment,
+ global_attr: global_attr,
+ input_param: input_param,
+ };
+ console.log(dataInfo);
+ // return;
+ runCustomEvent(dataInfo).then(data => {
+ if (data.ret != 0) {
+ var tip = data.err_info ? typeof data.err_info == 'string' ? data
+ .err_info :
+ data
+ .err_info.join('<br/>') : '';
+ if (data.ret == 801) {
+ if (this.param.Only_Script_Error) {
+ let pos = tip.indexOf("锛�);
+ if (pos > -1) tip = tip.substring(pos + 1);
+ }
+ uni.showModal({
+ title: this.translateSys("tip"),
+ content: tip,
+ showCancel: false,
+ confirmText: this.translateSys("cancel")
+ });
+ } else uni.showModal({
+ title: this.translateSys("tip"),
+ content: tip + ',' + this.translateSys('tip') + ':' + data
+ .ret,
+ showCancel: false,
+ confirmText: this.translateSys("cancel")
+ });
+ return false
+ } else {
+ var tip = data.info ? typeof data.info == 'string' ? data.info : data
+ .info
+ .join(
+ '<br/>') : '';
+ if (tip) uni.showModal({
+ title: this.translateSys("tip"),
+ content: tip,
+ showCancel: false,
+ confirmText: this.translateSys("cancel")
+ });
+
+ var actionlist = data.action;
+ if (actionlist) {
+ console.log(actionlist);
+ for (var i = 0; i < actionlist.length; i++) {
+ var action = actionlist[i];
+ if (action.action_type == 'set_dlg_attr') {
+ var result = action.value;
+ $this.setFormValues(result)
+ } else if (action.action_type == 'set_dlg_attr_show') {
+ var result = action.value;
+ result.forEach(async (attr, key) => {
+ $this.$data.head_styledef.form.items
+ .forEach(
+ async (ele,
+ index) => {
+ //鍒ゆ柇鏄惁鏄爡鏍艰〃鍗�+ if (ele.name != 'Layout') {
+ if (ele.fieldId == attr
+ .attr) {
+ ele.show = attr
+ .show;
+ }
+ } else if (ele.name ==
+ 'Layout') {
+ ele.setting.colList
+ .forEach(
+ col => {
+ if (col) {
+ if (col
+ .fieldId ==
+ attr
+ .attr
+ ) {
+ col.show =
+ attr
+ .show;
+ }
+ }
+ });
+ }
+ });
+ });
+ var head_styledef = JSON.parse(JSON.stringify($this.$data
+ .head_styledef));
+ $this.$data.head_styledef = [];
+ $this.$data.head_styledef = head_styledef;
+ // console.log($this.$data.head_styledef);
+ } else if (action.action_type == 'set_global_attr') {
+ $this.$data.global_attr = action.value || [];
+ } else {
+ uni.showModal({
+ title: this.translateSys("tip"),
+ content: this.translateSys(
+ "quotation_mark_left") +
+ action
+ .action_type + this.translateSys(
+ "quotation_mark_right") + this
+ .translate(
+ "tip_action_unprocessed"),
+ showCancel: false,
+ confirmText: this.translateSys("cancel")
+ });
+ }
+ }
+ }
+ console.log($this.head_styledef);
+ if (data.result) {
+ var result = data.result;
+ for (var i = 0; i < result.length; i++) {
+ for (var c = 0; c < $this.$data.head_styledef.form.items
+ .length; c++) {
+ var attr = $this.$data.head_styledef.form.items[c];
+ //鍒ゆ柇琛ㄥ崟閲屾槸鍚︽湁杩斿洖瀛楁锛屾病鏈夊氨瑁呰浇鍒癿odel閲岋紝鐐瑰嚮纭畾鎻愪氦鐨勬椂鍊欏甫涓婅繖浜涙暟鎹�+ if ($this.head_styledef.form.model[result[i].attr] ==
+ undefined) {
+ $this.head_styledef.form.model[result[i].attr] =
+ result[i]
+ .value;
+ }
+ //鍒ゆ柇鏄惁鏄爡鏍艰〃鍗�+ if (attr.name != 'Layout') {
+ if (attr.fieldId == result[i].attr) {
+ attr.value = '';
+ attr.oldvalue = '';
+ attr.value = result[i].value;
+ attr.oldvalue = result[i].value;
+ $this.head_styledef.form.model[attr.fieldId] =
+ result[i]
+ .value;
+ }
+ } else if (attr.name == 'Layout') {
+ attr.setting.colList.forEach(col => {
+ if (col) {
+ if (col.fieldId == result[i].attr) {
+ col.value = '';
+ col.oldvalue = '';
+ col.value = result[i].value;
+ col.oldvalue = result[i].value;
+ $this.head_styledef.form.model[col
+ .fieldId] =
+ result[i].value;
+ }
+ }
+ });
+ }
+ }
+
+ var length = 0;
+ if (!$this.$data.refdatastore.filter(function(s) {
+ return result[i].attr == s.attr
+ }).length) {
+ length = 1;
+ $this.$data.refdatastore.push(result[i]);
+ }
+ if (length == 0) {
+ for (var j = 0; j < $this.$data.refdatastore.length; j++) {
+ if ($this.$data.refdatastore[j].attr == result[i]
+ .attr) {
+ $this.$data.refdatastore[j].value = result[i]
+ .value;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ }).catch(ex => {
+ // console.log(ex);
+ let exStr = JSON.stringify(ex)
+ if (exStr == "{}")
+ exStr = ex
+ let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
+ uni.showModal({
+ title: this.translateSys("error") + "3.1",
+ content: exStr,
+ showCancel: false,
+ confirmText: this.translateSys("cancel")
+ });
+ });
+ },
+ 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] || "",
+ }));
+ if ($this.refdatastore.length > 0) {
+ for (var i = 0; i < $this.refdatastore.length; i++) {
+ if (!req.filter(function(s) {
+ return $this.refdatastore[i].attr == s.name
+ }).length) {
+ req.push({
+ 'attr': $this.refdatastore[i].attr,
+ 'value': $this.refdatastore[i].value
+ });
+ }
+ }
+ }
+ let global_attr = Base64.encode(JSON.stringify(this.global_attr))
+ let data_json = Base64.encode(JSON.stringify(this.data_json))
+ let ext_info = Base64.encode(JSON.stringify(this.ext_info))
+ 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,
+ global_attr,
+ input_param: input_param,
+ };
+ console.log(dataInfo);
+ // return;
+ runCustomEvent(dataInfo).then(data => {
+ if (data.ret != 0) {
+ var tip = data.err_info ? typeof data.err_info == 'string' ? data
+ .err_info :
+ data
+ .err_info.join('<br/>') : '';
+ if (data.ret == 801) {
+ if ($this.param.Only_Script_Error) {
+ let pos = tip.indexOf("锛�);
+ if (pos > -1) tip = tip.substring(pos + 1);
+ }
+ uni.showModal({
+ title: $this.translateSys("tip"),
+ content: tip,
+ showCancel: false,
+ confirmText: $this.translateSys("cancel")
+ });
+ } else uni.showModal({
+ title: $this.translateSys("tip"),
+ content: tip + ',' + $this.translateSys('tip') + ':' + data
+ .ret,
+ showCancel: false,
+ confirmText: $this.translateSys("cancel")
+ });
+ return false
+ } else {
+ var tip = data.info ? typeof data.info == 'string' ? data.info : data
+ .info
+ .join(
+ '<br/>') : '';
+ if (tip) uni.showModal({
+ title: $this.translateSys("tip"),
+ content: tip,
+ showCancel: false,
+ confirmText: $this.translateSys("cancel")
+ });
+
+ if (data != "") {
+ var actions = data.action;
+ if (actions) {
+ for (var i = 0; i < actions.length; i++) {
+ var action = actions[i];
+ console.log(action)
+ var val = action.value;
+ var enviroment = JSON.stringify(enviroment);
+
+ if (action.action_type == 'open_panel') {
+ var d = dialog({
+ title: '<i class="ace-icon fa fa-info-circle"></i> ' +
+ $this.translateSys("tip"),
+ content: $this.translateSys(
+ "quotation_mark_left") +
+ action
+ .action_type + $this.translateSys(
+ "quotation_mark_right") + $this
+ .translate(
+ "tip_action_unprocessed")
+ });
+ d.show();
+ } else if (action.action_type == 'open_select_userdlg') {
+ var style = val.style;
+ // style == 'user' ? '閫夋嫨浜哄憳' : style == 'department' ? '閫夋嫨閮ㄩ棬' : style == 'role' ? '閫夋嫨瑙掕壊' : ''
+ var param = {
+ item: item,
+ button_callback: button_callback,
+ req: req,
+ data_attr: data_attr
+ }
+ uni.navigateTo({
+ url: '../selpsn/index?mulit=false¶m=' +
+ JSON
+ .stringify(
+ param),
+ events: {
+ AddPer(data, param) {
+ // console.log(param);
+ console.log(data);
+ var callback_eventid = param
+ .button_callback
+ .trim();
+ var info = {
+ eventid: callback_eventid,
+ edtype: "0",
+ projectid: '',
+ rclsid: '',
+ robjid: '',
+ userlogin: '',
+ clsid: $this.clsId,
+ 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
+ })
+ 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.$data.classAttrList[param.index].Attr[param.iindex].Value=data[0].Name;
+ // $this.$data.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.clsId,
+ objid: "",
+ attr: param.req,
+ dataJson: [],
+ }
+
+ $this.DataObjRunCustomEvent(
+ info);
+ }
+ }
+ }
+ });
+ } else {
+ uni.showModal({
+ title: $this.translateSys("tip"),
+ content: $this.translateSys(
+ "quotation_mark_left") +
+ action.action_type + $this.translateSys(
+ "quotation_mark_right") + $this
+ .translate(
+ "tip_action_unprocessed"),
+ showCancel: false,
+ confirmText: $this.translateSys("cancel")
+ });
+ }
+ }
+ }
+ } else {
+ uni.showModal({
+ title: $this.translateSys('tip') + "5.2",
+ content: $this.translateSys("quotation_mark_left") +
+ "before_click_button" + $this.translateSys(
+ "quotation_mark_right") + $this.translateSys(
+ "comma") + 'event_id' + eventid,
+ showCancel: false,
+ confirmText: $this.translateSys("cancel")
+ });
+ }
+ }
+
+ }).catch(ex => {
+ // console.log(ex);
+ let exStr = JSON.stringify(ex)
+ if (exStr == "{}")
+ exStr = ex
+ let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
+ uni.showModal({
+ title: $this.translateSys('tip') + "5.1",
+ content: exStr,
+ showCancel: false,
+ confirmText: $this.translateSys("cancel")
+ });
+ });
+ },
+ //纭畾
+ async ok() {
+ try {
+ uni.showLoading({
+ title: this.translateSys("loading"),
+ mask: true
+ });
+ this.okLoading = true
+ var obj_attr = this.head_styledef.form.model || {};
+ console.log(obj_attr)
+ let ret = await this.sava();
+ this.okLoading = false
+ uni.hideLoading();
+ if (!ret) return;
+ obj_attr.id = this.objId || "";
+ const eventChannel = this.$scope.eventChannel;
+ // const eventChannel = this.getOpenerEventChannel();
+ eventChannel.emit(this.type, obj_attr);
+
+ uni.navigateBack()
+ } catch (ex) {
+ return false;
+ }
+ },
+ async sava() {
+ try {
+ if (this.objId) {
+
+ let ret = await this.beforeOK();
+ if (!ret) return false;
+ if (this.afterOKEvent?.id) { // 鐐瑰嚮纭畾鎸夐挳鍚�+ ret = await this.afterOK();
+ if (!ret) return false;
+
+ } else {
+ ret = await this.update();
+ if (!ret) return false;
+ }
+
+ } else {
+ if (this.editMode) {
+ return true
+ } else {
+ let ret = await this.beforeOK();
+ if (!ret) return false;
+ if (this.afterOKEvent?.id) { // 鐐瑰嚮纭畾鎸夐挳鍚�+ ret = await this.afterOK();
+ if (!ret) return false;
+ } else {
+ ret = await this.add();
+ if (!ret) return false;
+ }
+ }
+ }
+ return true;
+ } catch (ex) {
+ return false;
+ }
+
+ },
+ async beforeOK() {
+
+ try {
+ if (!this.beforeOKEvent.id) return true;
+
+
+ const $this = this
+ var obj_attr = this.head_styledef.form.model;
+ // console.log(obj_attr);
+ var input_param = {
+ id: "",
+ attrs: Object.keys(obj_attr).map((a) => ({
+ attr: a,
+ value: obj_attr[a],
+ })),
+ };
+ let global_attr = Base64.encode(JSON.stringify(this.global_attr))
+ let data_json = Base64.encode(JSON.stringify(this.data_json))
+ let ext_info = Base64.encode(JSON.stringify(this.ext_info))
+ var dataInfo = {
+ ed_type: "0",
+ start_transaction: true,
+ class_id: this.clsId,
+ class_name: '',
+ event_id: this.beforeOKEvent?.id,
+ event_name: '',
+ data_obj_id: this.objId,
+ obj_attr: obj_attr,
+ prj_id: '',
+ ref_cls_id: '',
+ rel_obj_id: '',
+ user_login: '',
+ global_attr,
+ data_json,
+ ext_info,
+ compose_info: '',
+ input_param: Base64.encode(JSON.stringify(input_param)),
+ };
+ await runCustomEvent(dataInfo)
+ return true
+ } catch (ex) {
+ let exStr = JSON.stringify(ex)
+ if (exStr == "{}")
+ exStr = ex
+ let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
+ uni.showModal({
+ title: this.translateSys('tip') + "7.1",
+ content: tip,
+ showCancel: false,
+ confirmText: this.translateSys("cancel")
+ });
+ return false
+ }
+
+ },
+
+ async add() {
+ try {
+
+ var obj_attr = this.head_styledef.form.model || {};
+
+ var dataInfo = {
+ class_id: this.clsId,
+ obj_attr: obj_attr
+ };
+ await dataObjCreate(dataInfo)
+ return true
+ } catch (ex) {
+ let exStr = JSON.stringify(ex)
+ if (exStr == "{}")
+ exStr = ex
+ let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
+ uni.showModal({
+ title: this.translateSys("tip") + "6.1",
+ content: tip,
+ showCancel: false,
+ confirmText: this.translateSys("cancel")
+ });
+ return false
+ }
+
+ },
+ async update() {
+ try {
+ var obj_attr = this.head_styledef.form.model || {};
+
+ var dataInfo = {
+ class_id: this.clsId,
+ obj_id: this.objId,
+ obj_attr: obj_attr
+ };
+ await dataObjUpdate(dataInfo)
+ return true
+
+ } catch (ex) {
+ let exStr = JSON.stringify(ex)
+ if (exStr == "{}")
+ exStr = ex
+ let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
+ uni.showModal({
+ title: this.translateSys("tip") + "6.2",
+ content: tip,
+ showCancel: false,
+ confirmText: this.translateSys("cancel")
+ });
+ return false
+ }
+
+ },
+ async afterOK() {
+
+ try {
+ var obj_attr = this.head_styledef.form.model ||{}
+ // console.log(obj_attr);
+ var input_param = {
+ id: "",
+ attrs: Object.keys(obj_attr).map((a) => ({
+ attr: a,
+ value: obj_attr[a],
+ })),
+ };
+ let global_attr = Base64.encode(JSON.stringify(this.global_attr))
+ let data_json = Base64.encode(JSON.stringify(this.data_json))
+ let ext_info = Base64.encode(JSON.stringify(this.ext_info))
+ var dataInfo = {
+ ed_type: "0",
+ start_transaction: true,
+ class_id: this.clsId,
+ class_name: '',
+ event_id: this.afterOKEvent?.id,
+ event_name: '',
+ data_obj_id: this.objId,
+ obj_attr: obj_attr,
+ prj_id: '',
+ ref_cls_id: '',
+ rel_obj_id: '',
+ user_login: '',
+ global_attr,
+ data_json,
+ ext_info,
+ compose_info: '',
+ input_param: Base64.encode(JSON.stringify(input_param)),
+ };
+ await runCustomEvent(dataInfo)
+ return true
+ } catch (ex) {
+ let exStr = JSON.stringify(ex)
+ if (exStr == "{}")
+ exStr = ex
+ let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
+ uni.showModal({
+ title: this.translateSys('tip') + "7.2",
+ content: tip,
+ showCancel: false,
+ confirmText: this.translateSys("cancel")
+ });
+ return false
+ }
+
+ },
+
+ async cancel(e) { //鍙栨秷
+ try {
+ if (!this.objId) {
+ if (this.editMode) {
+ uni.navigateBack({
+ delta: 1 //杩斿洖灞傛暟锛�鍒欎笂涓婇〉
+ });
+ return
+ }
+ }
+
+ let ret = await this.beforeCancel();
+ if (!ret) return false;
+
+ uni.navigateBack({
+ delta: 1 //杩斿洖灞傛暟锛�鍒欎笂涓婇〉
+ });
+ await this.afterCancel();
+ } catch (ex) {}
+ },
+ async beforeCancel() {
+ try {
+ if (!this.beforeCancelEvent.id) return true;
+ var obj_attr = this.head_styledef.form.model;
+
+ let inputParam = {
+ id: "",
+ attrs: Object.keys(obj_attr).map((a) => ({
+ attr: a,
+ value: obj_attr[a],
+ })),
+ };
+ let input_param = Base64.encode(JSON.stringify(inputParam));
+ let global_attr = Base64.encode(JSON.stringify(this.global_attr))
+ let data_json = Base64.encode(JSON.stringify(this.data_json))
+ let ext_info = Base64.encode(JSON.stringify(this.ext_info))
+
+ await runCustomEvent({
+ ed_type: 0,
+ start_transaction: true,
+ class_id: this.clsId,
+ event_id: this.beforeCancelEvent.id,
+ data_obj_id: this.objId,
+ obj_attr,
+ input_param,
+ global_attr,
+ data_json,
+ ext_info,
+ })
+ return true
+ } catch (ex) {
+ let exStr = JSON.stringify(ex)
+ if (exStr == "{}")
+ exStr = ex
+ let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
+ uni.showModal({
+ title: this.translateSys("tip") + "8.1",
+ content: tip,
+ showCancel: false,
+ confirmText: this.translateSys("cancel")
+ });
+ return false
+ }
+ },
+ async afterCancel() {
+ try {
+ if (!this.afterCancelEvent.id) return true;
+ var obj_attr = this.head_styledef.form.model;
+ let inputParam = {
+ id: "",
+ attrs: Object.keys(obj_attr).map((a) => ({
+ attr: a,
+ value: obj_attr[a],
+ })),
+ };
+ let input_param = Base64.encode(JSON.stringify(inputParam));
+ let global_attr = Base64.encode(JSON.stringify(this.global_attr))
+ let data_json = Base64.encode(JSON.stringify(this.data_json))
+ let ext_info = Base64.encode(JSON.stringify(this.ext_info))
+
+ await runCustomEvent({
+ ed_type: 0,
+ start_transaction: true,
+ class_id: this.clsId,
+ event_id: this.afterCancelEvent.id,
+ data_obj_id: this.objId,
+ obj_attr,
+ input_param,
+ global_attr,
+ data_json,
+ ext_info,
+ })
+ return true
+ } catch (ex) {
+ let exStr = JSON.stringify(ex)
+ if (exStr == "{}")
+ exStr = ex
+ let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
+ uni.showModal({
+ title: this.translateSys("tip") + "8.2",
+ content: tip,
+ showCancel: false,
+ confirmText: this.translateSys("cancel")
+ });
+ return false
+ }
+ },
+ translate(t) {
+ if (typeof this.$t == "function") return this.$t(`page.${t}`)
+ else return t;
+ },
+ translateSys(t) {
+ if (typeof this.$t == "function") return this.$t(`sys.${t}`)
+ else return t;
+ },
+ },
+ };
+</script>
+
+<style lang="scss">
+ .uni-page-modal-form {
+
+ display: flex;
+ height: calc(100vh - 30rpx);
+ width: 720rpx;
+ flex-direction: column !important;
+ padding: 15rpx;
+
+ .view-header {
+ display: flex;
+ width: 100%;
+ 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;
+ flex: 1;
+ width: calc(100% - 30rpx);
+ padding: 10rpx 15rpx;
+ flex-direction: column;
+ overflow-y: auto;
+
+ }
+
+ .view-bottom {
+ // display: flex;
+ // flex-direction: row;
+ display: block;
+ width: calc(100% - 30rpx);
+ padding: 10rpx 15rpx 20rpx 15rpx;
+
+ .btn_add {
+ width: 45%;
+ margin: 0 10rpx;
+ // padding: 5rpx 10rpx;
+ background: #4D6AF4;
+ font-size: 38rpx;
+ border: none;
+ color: #fff;
+ float: left;
+ display: inline-block;
+ }
+
+ .btn_disabled {
+ background-color: #ddd;
+ color: #888;
+ }
+
+ .btn_cancel {
+ width: 45%;
+ margin: 0 10rpx;
+ background: #fff;
+ border: none;
+ color: #000;
+ font-size: 38rpx;
+ float: right;
+ display: inline-block;
+ }
+
+ }
+
+
+
+
+ [nvue] uni-view {
+ position: relative;
+ border: 0 solid #000;
+ box-sizing: border-box;
+ }
+
+ .uni-icon {
+ /* border: 1px solid red; */
+ width: 8%;
+ font-family: uniicons;
+ font-size: 40rpx;
+ font-weight: 400;
+ font-style: normal;
+ /* width: 48rpx; */
+ height: 48rpx;
+ line-height: 48rpx;
+ color: #2d8cf0;
+ cursor: pointer;
+ display: inline-block;
+ vertical-align: 18rpx;
+ }
+
+
+
+ .input-disabled {
+ background-color: #f3f3f3 !important;
+ }
+
+
+ ::v-deep .uni-row {
+ margin-bottom: 0px;
+ }
+
+ .popup-header {
+ font-size: 42rpx;
+ font-weight: bold;
+ margin: 20rpx 20rpx 0px 20rpx;
+ }
+
+ .view_popup_CheckList {
+ margin-bottom: 20rpx;
+ }
+
+ .popup-footer {
+ float: right;
+ position: absolute;
+ bottom: 0;
+ right: 20rpx;
+ }
+
+ button.btn_popup_add {
+ width: 180rpx;
+ margin-top: 50rpx;
+ margin-right: 20rpx;
+ padding: 15rpx;
+ line-height: 1.5;
+ background: #27A6E1;
+ border: none;
+ color: #fff;
+ font-size: 38rpx;
+ font-weight: bold;
+ /* float: left; */
+ display: inline-block;
+ }
+
+ button.btn_popup_cancel {
+ width: 180rpx;
+ margin-top: 50rpx;
+ padding: 15rpx;
+ line-height: 1.5;
+ background: #27A6E1;
+ border: none;
+ color: #fff;
+ font-size: 38rpx;
+ font-weight: bold;
+ /* float: right; */
+ display: inline-block;
+ }
+
+
+ }
+</style>
\ No newline at end of file
--
Gitblit v1.9.1