From f9aa1010e164e21a3c8147e0f2e13b828676800a Mon Sep 17 00:00:00 2001
From: cuiqian2004 <cuiqian2004@163.com>
Date: 星期五, 29 八月 2025 18:38:55 +0800
Subject: [PATCH] initialEvent 输入参数格式和web端保持一致
---
pages/modal/5601.vue | 317 +++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 307 insertions(+), 10 deletions(-)
diff --git a/pages/modal/5601.vue b/pages/modal/5601.vue
index 2fe2da4..b429726 100644
--- a/pages/modal/5601.vue
+++ b/pages/modal/5601.vue
@@ -108,7 +108,7 @@
</view>
</uni-popup>
</view>
-
+
</view>
</template>
@@ -295,11 +295,309 @@
},
async loadInitialEvent() {
try {
- if (this.initialEvent.id) {
- this.onChange(this.initialEvent)
+ const event = this.initialEvent
+ if (event.id) {
+ //鑾峰彇琛ㄥご灞炴�
+ var head_attr = {};
+ this.head_styledef.form.items.forEach(item => {
+ if (item.name == "Layout") { //鍒ゆ柇鏄惁鏄爡鏍忔牸寮�+ item.setting.colList.forEach(col => {
+ if (col != null) head_attr[col
+ .fieldId] = col.value;
+ });
+ } else
+ head_attr[item.fieldId] = item.value;
+ });
+ var obj_attr = this.head_styledef.form.model;
+ // console.log(obj_attr);
+
+ var input_param = Base64.encode(
+ JSON.stringify({
+ id: "",
+ attrs: 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),
+ ext_data: page.ExtData || {}
+ })
+
+ })
+ const data_json = Base64.encode(
+ JSON.stringify(jsonList)
+ );
+ console.log(jsonList)
+ var dataInfo = {
+ ed_type: 0,
+ start_transaction: true,
+ class_id: this.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,
+ };
+ const result = await runCustomEvent(dataInfo)
+ console.log(result);
+ if (result.ret != 0 && result.ret != 1) {
+ let cls_name = result.event_info?.cls_name
+ let event_name = result.event_info?.event_name
+ tip = result.err_info ? typeof result.err_info == 'string' ? result.err_info : result
+ .err_info
+ .join('\n') : ''
+ if (result.ret == 801) {
+ if (this.param.Only_Script_Error) {
+ let pos = tip.indexOf("锛�);
+ if (pos > -1) tip = tip.substring(pos + 1);
+ }
+ }
+ if (cls_name && event_name) tip = `鎵ц鈥�{cls_name}鈥濇暟鎹被鐨勨�${event_name}鈥濊剼鏈椂杩斿洖閿欒锛�{tip}`
+ if (result.ret == 801) showInfo(tip)
+ else showError(`${tip}锛屾彁绀猴細${result.ret}`, this.translateSys('tip'))
+ this.saving = false
+ return false
+ } else {
+ var tip = result.info ? typeof result.info == 'string' ? result.info :
+ result.info.join('\n') : '';
+ tip = tip || result.err_info
+ let time = result.info_time || 0
+ if (time)
+ showError(tip, this.translateSys('tip'))
+ else
+ showInfo(tip)
+ if ([0, 2, 3, 4, -1].includes(result.result_type)) {
+ if (result.result_type == 2) {
+
+ } else if (typeof result.result == 'string') {
+ showInfo(result.result)
+
+ }
+ try {
+ let actionList = result.action || []
+ actionList.forEach(item => {
+ if (item.action_type ==
+ "insert_subtable_page_row"
+ ) { //鐮佺洏涓�+ $this.param.Show_Welcom_Page =
+ false;
+ var value = item.value;
+ $this.viewAceionRow(value);
+ } else if (item.action_type ==
+ "set_subtable_page_content"
+ ) { //宸茬爜鐩�+ $this.param.Show_Welcom_Page =
+ false;
+ var value = item.value;
+ const pageData = $this
+ .pageDetail.find((
+ page) => {
+ return value
+ .page_name ==
+ page.Name;
+ });
+ if (value.clear_confirm !=
+ false && value.clear ==
+ true &&
+ pageData && pageData
+ .DefList.length > 0
+ ) { //鍒ゆ柇鏄惁娓呯┖椤电鍐呭,姝e湪鐮佺洏鏄惁鏈夋暟鎹�+ uni.showModal({
+ title: this
+ .translateSys(
+ 'tip'),
+ content: this
+ .translate(
+ "are_you_sure_clear_first"
+ ) +
+ this
+ .translateSys(
+ "quotation_mark_left"
+ ) +
+ value
+ .page_name +
+ this
+ .translateSys(
+ "quotation_mark_right"
+ ) +
+ this
+ .translate(
+ "are_you_sure_clear_last"
+ ),
+ cancelText: $this
+ .translateSys(
+ 'ok'),
+ confirmText: $this
+ .translateSys(
+ 'cancel'
+ ),
+ success: function(
+ res) {
+ if (res
+ .cancel
+ ) {
+ if (
+ pageData)
+ pageData
+ .DefList = [];
+ $this
+ .viewAceionContent(
+ value
+ );
+ } else if (
+ res
+ .confirm
+ ) {
+ if (
+ pageData)
+ pageData
+ .DefList = [];
+ $this
+ .viewAceionContent(
+ value
+ );
+ }
+ }
+ });
+ } else {
+ if (pageData)
+ pageData.DefList = [];
+ $this.viewAceionContent(
+ value);
+ }
+ } else if (item.action_type ==
+ "select_subtable_page") {
+ var value = item.value;
+ const pageIndex = $this
+ .pageDetail.findIndex((
+ page) => {
+ return value
+ .page_name ==
+ page.Name;
+ });
+ if (pageIndex > -1) {
+ $this.setData({
+ current: pageIndex
+ })
+ }
+ } else if (item.action_type ==
+ "select_subtable_page_row") {
+ // value = {"page_name":"鐮佺洏涓�, "row":{"id":"xx"}}
+ var value = item.value;
+ $this.viewActionSelectRow(
+ value)
+ } else if (item.action_type ==
+ "remove_subtable_page_row"
+ ) { //娓呴櫎闈㈡澘涓寚瀹歩d鐨勬暟鎹�+ var value = item.value;
+ $this.viewActionRemoveRow(
+ value)
+ } else if (item.action_type ==
+ "set_subtable_page_row") {
+ $this.viewActionSetRow(item
+ .value)
+
+ } else if (item.action_type ==
+ "set_subtable_page_ext_data") {
+ var value = item.value;
+ const pageData = $this
+ .pageDetail.find((
+ page) => {
+ return value
+ .page_name ==
+ page.Name;
+ });
+ if (pageData)
+ pageData.ExtData = value
+ .ext_data
+
+ } else if (item.action_type ==
+ "clear_subpage_rows") {
+ var value = item.value;
+ const pageIndex = $this
+ .pageDetail.findIndex((
+ page) => {
+ return value
+ .page_name ==
+ page.Name;
+ });
+ if (pageIndex > -1) {
+ const pageData = $this
+ .pageDetail[pageIndex]
+ pageData.DefList = []
+ pageData.ExtData = {}
+
+ $this.$set(this.pageDetail,
+ pageIndex, pageData
+ )
+ }
+
+ } else if (item.action_type ==
+ "set_dlg_current_edit_attr") {
+
+ if ($this.focusOldFieldId ==
+ item.value) {
+ $this.setData({
+ focusFieldId: ""
+ })
+ } else {
+ $this.setData({
+ focusFieldId: $this
+ .focusOldFieldId
+ })
+ }
+ $this.$nextTick(() => {
+ $this.setData({
+ focusFieldId: item
+ .value
+ })
+ });
+ } else if (item.action_type ==
+ "set_dlg_attr") {
+ // value = {"attr":"xxx", "value":"xxx"}
+ var data = item.value;
+ $this.setFormValues(data)
+ } else if (item.action_type ==
+ 'set_dlg_attr_show') {
+ var data = item.value;
+ $this.setFormItemVisible(data)
+ }
+ });
+
+ } catch (ex) {
+ let actionList = (result.action || []).map(a =>
+ a.action_type).join(';')
+ let tip = typeof ex == 'string' ? ex : ex
+ .message
+ tip = `鎵ц鑴氭湰杩斿洖鐨�{actionList}鏃跺嚭鐜板紓甯革紝璇锋鏌ヨ剼鏈繑鍥炵殑鏁版嵁鏍煎紡鏄惁姝g‘銆�{tip}`
+ showError(tip, this.translateSys('tip'))
+ return
+ }
+ }
+
+ }
+
}
} catch (ex) {
- showError(ex, this.translateSys('error'))
+ console.log(ex);
+ showError(ex, this.translateSys('error') + "4.2")
}
},
@@ -860,7 +1158,7 @@
if (time)
showError(tip, this.translateSys('tip'))
else
- showInfo(tip)
+ showInfo(tip)
if ([0, 2, 3, 4, -1].includes(result.result_type)) {
if (result.result_type == 2) {
@@ -1055,7 +1353,7 @@
if (time)
showError(tip, this.translateSys('tip'))
else
- showInfo(tip)
+ showInfo(tip)
if ([0, 2, 3, 4, -1].includes(result.result_type)) {
if (result.result_type == 2) {
@@ -2400,7 +2698,7 @@
if (time)
showError(tip, this.translateSys('tip'))
else
- showInfo(tip)
+ showInfo(tip)
if ([0, 2, 3, 4, -1].includes(data
.result_type)) {
if (data.result_type == 2) {
@@ -3525,7 +3823,7 @@
if (time)
showError(tip, this.translateSys('tip'))
else
- showInfo(tip)
+ showInfo(tip)
if ([0, 2, 3, 4, -1].includes(
result.result_type)) {
if (result.result_type == 2) {
@@ -3861,8 +4159,7 @@
var data = item.value;
const eventChannel = this.getOpenerEventChannel();
eventChannel.emit('remove_pre_page_subtable_row', data);
- }
- else if (item.action_type == "goback_to_pre_page") {
+ } else if (item.action_type == "goback_to_pre_page") {
//杩斿洖涓婁竴椤� uni.navigateBack({
delta: 1, //杩斿洖灞傛暟锛�鍒欎笂涓婇〉
--
Gitblit v1.9.1