From e92aeae89a7430b326ab2157ed5004cc5c87d659 Mon Sep 17 00:00:00 2001
From: cuiqian2004 <cuiqian2004@163.com>
Date: 星期五, 28 十一月 2025 18:21:56 +0800
Subject: [PATCH] 75
---
pages/modal/3200_view.vue | 358 ++++++++++++++++++++++++++++++-----------------------------
1 files changed, 181 insertions(+), 177 deletions(-)
diff --git a/pages/modal/3200_view.vue b/pages/modal/3200_view.vue
index 9bf775b..9e40d67 100644
--- a/pages/modal/3200_view.vue
+++ b/pages/modal/3200_view.vue
@@ -1,15 +1,11 @@
<template>
- <view class="uni-page-modal-3200-view">
+ <view class="uni-page-modal-3200-view" :class="largeMode?'large-mode':''">
<view class="v-content">
<view class="dv-panel dv-panel-bkcolor">
<div class="dv-panel-input">
<!-- HTML椤甸潰绫诲瀷鏄剧ず -->
- <div class="dv-viewHtml-Panel" v-if="ViewHtml_Panel" v-html="ViewHtml_Panel">
- <!-- <div>
- <label class="item-label">浠诲姟缂栫爜:</label>
- <span class="item-span">TA240318-00005</span>
- </div> -->
- </div>
+ <view class="dv-viewHtml-Panel" v-if="ViewHtml_Panel" v-html="ViewHtml_Panel"></view>
+
<!-- 鑷畾涔夎〃鍗曠被鍨嬫樉绀�-->
<div v-if="!ViewHtml_Panel">
<OIForm :form="detail2_styledef.form" viewMode></OIForm>
@@ -29,7 +25,7 @@
<view class="uni-padding-wrap" v-if="param.ViewPage.Page_Button.length>2">
<view class="uni-btn-v">
<a @tap="actionSheetTap">
- <Icon class="mobox-normal-more" />
+ <text class="mobox-normal-more" />
</a>
</view>
</view>
@@ -38,8 +34,16 @@
</template>
<script>
- import Base64 from '../../components/js-base64/base64.js'
+ import {
+ Base64
+ } from '@/js/Base64.js';
import classUtils from "@/js/utils.js"
+ import {
+ showInfo,
+ showError,
+ showLoading,
+ hideLoading
+ } from "@/js/Page.js"
import {
appGetInfo,
dictGetInfo
@@ -50,17 +54,16 @@
dataObjQuery
} from "@/api/data.js"
import OIForm from '@/components/oi-form/index.vue'
+ import buttonClickMixin from '@/mixins/button-click.js';
export default {
- modules: {
- Base64,
- },
+ mixins: [buttonClickMixin],
components: {
OIForm
},
onBackPress(e) {
// console.log("鐩戝惉杩斿洖鎸夐挳浜嬩欢",e);
- var eventChannel = this.$scope.eventChannel;
+ const eventChannel = this.getOpenerEventChannel();
// const eventChannel = this.getOpenerEventChannel();
eventChannel.emit('ExitViewEvent', "");
// uni.navigateBack({
@@ -70,6 +73,7 @@
},
data() {
return {
+ largeMode: getApp().globalData.largeMode || false,
title: this.translateSys('add2'),
param: {},
styleDef: {
@@ -96,53 +100,56 @@
},
async onLoad(options) {
// console.log(options);
- uni.setNavigationBarTitle({
- title: options.titlename
- }); //璁剧疆椤堕儴鏍囬
- this.$data.title = options.titlename;
- this.$data.param = JSON.parse(options.param);
- console.log(this.$data.param);
- this.$data.styleDef = JSON.parse(options.style);
- // console.log(this.$data.styleDef);
- if (this.param.ViewPage.View_UIDef.ui_type == "HTML椤甸潰") {
- // HTML椤甸潰
- //鑾峰彇鏁版嵁绫荤殑HTML椤甸潰
- this.Html_UIstyleGetInfo(this.param.DataCls.id, this.param.ViewPage.View_UIDef.id, 'viewPage');
- } else {
- this.Detail2_UIstyleGetInfo(this.param.DataCls.id, this.param.ViewPage.View_UIDef.id);
- }
-
-
- //杩涘叆椤甸潰鍚庝簨浠�- var eventid = this.param.ViewPage.Enter_View_Event?.id;
- if (eventid) {
- try {
- var obj_attr = {
- 'S_ID': this.styleDef.form.objId
- };
- this.styleDef.form.attrs.forEach((attr) => {
- obj_attr[attr.name] = attr.value;
- });
- // console.log(obj_attr);
- var input_param = Base64.encode(JSON.stringify(obj_attr));
- this.runCustomEvent({
- ed_type: 0,
- start_transaction: true,
- class_id: this.param.DataCls.id,
- event_id: eventid,
- data_obj_id: this.styleDef.form.objId,
- obj_attr,
- input_param,
- });
- } catch (ex) {
- var tip = typeof ex == "string" ? ex : ex.message;
- uni.showModal({
- title: this.translateSys("error"),
- content: tip,
- showCancel: false,
- confirmText: this.translateSys('close')
- });
+ try {
+ showLoading("loading...")
+ uni.setNavigationBarTitle({
+ title: options.titlename
+ }); //璁剧疆椤堕儴鏍囬
+ this.title = options.titlename;
+ this.param = JSON.parse(options.param);
+ console.log(this.param);
+ this.styleDef = JSON.parse(options.style);
+ // console.log(this.styleDef);
+ if (this.param.ViewPage.View_UIDef.ui_type == "HTML椤甸潰") {
+ // HTML椤甸潰
+ //鑾峰彇鏁版嵁绫荤殑HTML椤甸潰
+ await this.Html_UIstyleGetInfo(this.param.DataCls.id, this.param.ViewPage.View_UIDef.id,
+ 'viewPage');
+ } else {
+ await this.Detail2_UIstyleGetInfo(this.param.DataCls.id, this.param.ViewPage.View_UIDef.id);
}
+
+
+ //杩涘叆椤甸潰鍚庝簨浠�+ var eventid = this.param.ViewPage.Enter_View_Event?.id;
+ if (eventid) {
+ try {
+ var obj_attr = {
+ 'S_ID': this.styleDef.form.objId
+ };
+ this.styleDef.form.attrs.forEach((attr) => {
+ obj_attr[attr.name] = attr.value;
+ });
+ // console.log(obj_attr);
+ var input_param = Base64.encode(JSON.stringify(obj_attr));
+ await this.runCustomEvent({
+ ed_type: 0,
+ start_transaction: true,
+ class_id: this.param.DataCls.id,
+ event_id: eventid,
+ data_obj_id: this.styleDef.form.objId,
+ obj_attr,
+ input_param,
+ });
+ } catch (ex) {
+ showError(ex, this.translateSys('error'))
+ }
+ }
+ hideLoading()
+ } catch (ex) {
+
+ hideLoading()
+ showError(ex, this.translateSys("error"));
}
},
methods: {
@@ -184,9 +191,9 @@
if (!result.style_def.includes('"')) styledef = Base64.decode(result
.style_def);
}
- $this.$data.detail2_styledef = result.style_def ? JSON.parse(styledef) : {};
- $this.$data.detail2_styledef.SelBut_Checked = false;
- // console.log($this.$data.detail2_styledef);
+ $this.detail2_styledef = result.style_def ? JSON.parse(styledef) : {};
+ $this.detail2_styledef.SelBut_Checked = false;
+ // console.log($this.detail2_styledef);
if ($this.detail2_styledef.form?.items) {
$this.styleDef.form.attrs.forEach((attr) => {
// info[attr.name]=attr.value;
@@ -214,13 +221,7 @@
}, 100);
} catch (ex) {
// console.log(ex);
- let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex
- uni.showModal({
- title: this.translateSys("error") + "1.1",
- content: tip,
- showCancel: false,
- confirmText: this.translateSys('close')
- });
+ showError(ex, this.translateSys('error') + "1.1")
}
},
@@ -263,13 +264,7 @@
});
} catch (ex) {
// console.log(ex);
- let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex
- uni.showModal({
- title: this.translateSys("error") + "6.1",
- content: tip,
- showCancel: false,
- confirmText: this.translateSys('close')
- });
+ showError(ex, this.translateSys('error') + "6.1")
}
@@ -308,13 +303,7 @@
// console.log($this.detail2_styledef);
}
} catch (ex) {
- var tip = typeof ex == "string" ? ex : ex.message;
- uni.showModal({
- title: this.translateSys("error") + "5.2",
- content: tip,
- showCancel: false,
- confirmText: this.translateSys('close')
- });
+ showError(ex, this.translateSys('error') + "5.2")
}
},
onCheckBoxValue(e) { //缁戝畾Model鍊�@@ -353,7 +342,15 @@
}
}
});
- } else that.onButtonClicked(btn);
+ } else {
+ this.handleButtonClick((done) => {
+ that.onButtonClicked(btn);
+ setTimeout(() => {
+ done(); // 閲嶇疆鐘舵�
+ }, 1000);
+ });
+
+ }
},
//鐐瑰嚮鎸夐挳鍒楄〃
actionSheetTap() {
@@ -388,7 +385,15 @@
})
},
//澶勭悊鐩稿叧鎸夐挳
- async onButtonClicked(btn) {
+ onButtonClicked(btn) {
+ this.handleButtonClick((done) => {
+ this.buttonClicked(btn);
+ setTimeout(() => {
+ done(); // 閲嶇疆鐘舵�
+ }, 1000);
+ });
+ },
+ async buttonClicked(btn) {
var style = this.styleDef || '';
try {
@@ -404,27 +409,18 @@
await this.triggerEvent(btn, style, enviroment);
} else {
btn.disabled = false
- uni.showModal({
- title: this.translateSys("tip"),
- content: this.translateSys("unrealized"),
- showCancel: false,
- confirmText: this.translateSys('close')
- });
+ showInfo(this.translateSys("unrealized"))
+
}
} catch (ex) {
btn.disabled = false
- var tip = typeof ex == "string" ? ex : ex.message;
- uni.showModal({
- title: this.translateSys("error") + "2",
- content: tip,
- showCancel: false,
- confirmText: this.translateSys('close')
- });
+ showError(ex, this.translateSys('error') + "2")
}
},
//鎵ц瑙﹀彂浜嬩欢
async triggerEvent(btn, style, enviroment) {
try {
+ showLoading("loading...")
btn.disabled = true
var obj_attr = {
'S_ID': this.styleDef.form.objId
@@ -435,6 +431,7 @@
// console.log(obj_attr);
// let input_param = Base64.encode(JSON.stringify(obj_attr));
// return;
+
await this.runCustomEvent({
ed_type: 0,
start_transaction: true,
@@ -444,14 +441,10 @@
obj_attr: obj_attr,
});
btn.disabled = false
+ hideLoading()
} catch (ex) {
- var tip = typeof ex == "string" ? ex : ex.message;
- uni.showModal({
- title: this.translateSys("error") + "3",
- content: tip,
- showCancel: false,
- confirmText: this.translateSys('close')
- });
+ hideLoading()
+ showError(ex, this.translateSys('error') + "3")
}
},
//浜嬩欢
@@ -460,81 +453,82 @@
var $this = this;
const result = await runCustomEvent(dataInfo)
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) uni.showModal({
- title: this.translateSys("tip"),
- content: tip,
- showCancel: false,
- confirmText: this.translateSys('close')
- });
- else uni.showModal({
- title: this.translateSys("tip"),
- content: tip + ',' + this.translateSys('tip') + ':' + result.ret,
- showCancel: false,
- confirmText: this.translateSys('close')
- });
- return false;
- } else {
- var tip = result.info ? typeof result.info == 'string' ? result.info : result
- .info.join('<br/>') : '';
- if (tip) uni.showModal({
- title: this.translateSys("tip"),
- content: tip,
- showCancel: false,
- confirmText: this.translateSys('close')
- });
-
- if (result.result_type == 0 && result.action) {
- result.action.forEach(item => {
- if (item.action_type == "goback_to_pre_page") { //杩斿洖涓婁竴椤�- var value = item.value;
- // const eventChannel = this.$scope.eventChannel;
- // // const eventChannel = this.getOpenerEventChannel();
- // eventChannel.emit('ExitViewEvent',"");
- uni.navigateBack({
- delta: 1, //杩斿洖灞傛暟锛�鍒欎笂涓婇〉
- });
- } else if (item.action_type == "hidden_button") { //闅愯棌鎸夐挳
- var value = item.value;
- value.forEach(btn => {
- var index = $this.param.ViewPage.Page_Button
- .findIndex(button => button.ShowName ==
- btn)
- if (index > -1)
- $this.param.ViewPage.Page_Button.splice(
- index, 1)
- })
- } else if (item.action_type == "set_panel_html") { //鏄剧ずHtml椤甸潰
- // var value = item.value;
- $this.ViewHtml_Panel = item.value;
-
- }
-
- });
- } else {
- var tip = result.info ? typeof result.info == 'string' ? result.info :
- result.info.join('<br/>') : '';
- if (tip) uni.showModal({
- title: this.translateSys("tip"),
- content: tip,
- showCancel: false,
- confirmText: this.translateSys('close')
- });
+ if (result.ret != 0 && result.ret != 1) {
+ let cls_name = result.event_info?.cls_name
+ let event_name = result.event_info?.event_name
+ tip = result.err_info ? typeof result.err_info == 'string' ? result.err_info : result
+ .err_info
+ .join('\n') : ''
+ if (result.ret == 801) {
+ if (this.param.Only_Script_Error) {
+ let pos = tip.indexOf("锛�);
+ if (pos > -1) tip = tip.substring(pos + 1);
+ }
}
+ if (cls_name && event_name) tip = `鎵ц鈥�{cls_name}鈥濇暟鎹被鐨勨�${event_name}鈥濊剼鏈椂杩斿洖閿欒锛�{tip}`
+ if (result.ret == 801) showInfo(tip)
+ else showError(`${tip}锛屾彁绀猴細${result.ret}`, this.translateSys('tip'))
+ this.saving = false
+ return false
+ } else {
+ var tip = result.info ? typeof result.info == 'string' ? result.info :
+ result.info.join('\n') : '';
+ tip = tip || result.err_info
+ let time = result.info_time || 0
+ if (time)
+ showError(tip, this.translateSys('tip'))
+ else
+ showInfo(tip)
+
+ if ([0, 2, 3, 4, -1].includes(result.result_type)) {
+ if (result.result_type == 2) {
+
+ } else if (typeof result.result == 'string') {
+ showInfo(result.result)
+
+ }
+ try {
+ var actionList = result.action || []
+ actionList.forEach(item => {
+ if (item.action_type == "goback_to_pre_page") { //杩斿洖涓婁竴椤�+ var value = item.value;
+ // const eventChannel = this.getOpenerEventChannel();
+ // // const eventChannel = this.getOpenerEventChannel();
+ // eventChannel.emit('ExitViewEvent',"");
+ uni.navigateBack({
+ delta: 1, //杩斿洖灞傛暟锛�鍒欎笂涓婇〉
+ });
+ } else if (item.action_type == "hidden_button") { //闅愯棌鎸夐挳
+ var value = item.value;
+ value.forEach(btn => {
+ var index = $this.param.ViewPage.Page_Button
+ .findIndex(button => button.ShowName ==
+ btn)
+ if (index > -1)
+ $this.param.ViewPage.Page_Button.splice(
+ index, 1)
+ })
+ } else if (item.action_type == "set_panel_html") { //鏄剧ずHtml椤甸潰
+ // var value = item.value;
+ $this.ViewHtml_Panel = item.value;
+
+ }
+
+ });
+
+ } 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) {
- var tip = typeof ex == "string" ? ex : ex.errMsg;
- uni.showModal({
- title: this.translateSys("error") + "4.1",
- content: this.translate('execute_after_change_event_failed') + this.translateSys(
- "comma") +
- this.translate('reason') + this.translateSys("colon") + tip,
- showCancel: false,
- confirmText: this.translateSys('close')
- });
+ showError(ex, this.translateSys('error') + "4.1")
}
},
@@ -700,7 +694,7 @@
},
cancel(e) { //鍙栨秷
- var eventChannel = this.$scope.eventChannel;
+ const eventChannel = this.getOpenerEventChannel();
// const eventChannel = this.getOpenerEventChannel();
eventChannel.emit('ExitViewEvent', "");
uni.navigateBack({
@@ -807,6 +801,16 @@
width: 100%;
display: inline-block;
text-align: left;
+
+ .uni-forms-item {
+ padding-bottom: 5rpx;
+ margin-bottom: 0;
+
+ .uni-forms-item__label {
+ height: 20px !important;
+ padding: 0 10rpx 0 0 !important;
+ }
+ }
}
.dv-panel-buticon {
--
Gitblit v1.9.1