From 828d2c7805746ce0121396525b3f1114373cb4eb Mon Sep 17 00:00:00 2001 From: lxmdream Date: Thu, 21 Mar 2024 18:36:25 +0800 Subject: [PATCH 1/3] =?UTF-8?q?feat:=20=E5=85=A8=E5=B1=80message=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0notice=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 1 + src/util/message-util/message-util.ts | 53 ++++++++++++++++++++++++++- src/web-app/App.scss | 39 ++++++++++++++++++++ 3 files changed, 92 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2eb160439..81fd09397 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ - 新增树表格数据返回数据中无父数据项按顶级节点展示 - drbar部件支持SINGLEITEMGROUP控件动态参数(当分组只有一个分组项时,设置为true显示分组,否则不显示分组) - 表格列行编辑支持部件逻辑的属性注入 +- 全局message添加notice方法 ### Fixed diff --git a/src/util/message-util/message-util.ts b/src/util/message-util/message-util.ts index 795e3aa90..d56b5a47b 100644 --- a/src/util/message-util/message-util.ts +++ b/src/util/message-util/message-util.ts @@ -1,5 +1,8 @@ import { IMessageUtil } from '@ibiz-template/runtime'; -import { ElMessage } from 'element-plus'; +import { IMessageParams } from '@ibiz-template/runtime/out/interface/util/i-message-util/i-message-util'; +import { useNamespace } from '@ibiz-template/vue3-util'; +import { ElMessage, MessageOptions } from 'element-plus'; +import { isNil, mergeRight } from 'ramda'; /** * 消息通知 @@ -11,6 +14,8 @@ import { ElMessage } from 'element-plus'; * @implements {IMessageUtil} */ export class MessageUtil implements IMessageUtil { + protected ns = useNamespace('message'); + info( msg: string, duration?: number | undefined, @@ -58,4 +63,50 @@ export class MessageUtil implements IMessageUtil { showClose: closable, }); } + + /** + * 格式化参数 + * @author lxm + * @date 2024-03-21 02:22:27 + * @protected + * @param {IMessageParams} params + * @return {*} {MessageOptions} + */ + protected formatParams(params: IMessageParams): MessageOptions { + const paramsWithDefault = mergeRight( + { + type: 'info', + }, + params, + ); + + const messageOpts: MessageOptions = {}; + Object.keys(paramsWithDefault).forEach(key => { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const value = paramsWithDefault[key as keyof IMessageParams] as any; + switch (key) { + case 'duration': + if (!isNil(value)) { + messageOpts.duration = value * 1000; + } + break; + case 'styleType': + if (!isNil(value)) { + messageOpts.customClass = this.ns.m(value); + } + break; + + default: + (messageOpts as IData)[key] = value; + break; + } + }); + console.log('messageOpts', messageOpts); + + return messageOpts; + } + + notice(params: IMessageParams): void { + ElMessage(this.formatParams(params)); + } } diff --git a/src/web-app/App.scss b/src/web-app/App.scss index fa125b69b..e97f4a013 100644 --- a/src/web-app/App.scss +++ b/src/web-app/App.scss @@ -10,3 +10,42 @@ html, body { margin: 0; border: 0; } + +// message-util的样式 +.#{bem(message,'','alert')}{ + &.el-message{ + --el-message-padding : 8px 16px; + + .el-message__icon,.el-message__content{ + color: inherit; + } + + .el-message__closeBtn{ + color : #a8abb2; + } + } + + .el-message__content{ + line-height: 24px; + } + + &.el-message--info{ + color: #909399; + background-color: #f4f4f5; + } + + &.el-message--success{ + color: #67c23a; + background-color: #f0f9eb; + } + + &.el-message--warning{ + color: #e6a23c; + background-color: #fdf6ec; + } + + &.el-message--error{ + color: #f56c6c; + background-color: #fef0f0; + } +} \ No newline at end of file -- Gitee From 55a575a76719efccc95710515097cb675aa633bb Mon Sep 17 00:00:00 2001 From: lxmdream Date: Thu, 21 Mar 2024 18:37:38 +0800 Subject: [PATCH 2/3] =?UTF-8?q?feat:=20=E8=B0=83=E6=95=B4markopendata?= =?UTF-8?q?=E6=B6=88=E6=81=AF=E7=9A=84=E5=91=88=E7=8E=B0=EF=BC=8C=E7=94=A8?= =?UTF-8?q?=E4=B8=AD=E9=97=B4=E6=B6=88=E6=81=AF=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 4 ++++ src/view-engine/edit-view.engine.ts | 13 +++++++------ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 81fd09397..b5910503b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,10 @@ - 表格列行编辑支持部件逻辑的属性注入 - 全局message添加notice方法 +### Changed + +- 调整markopendata消息的呈现,用中间消息提示 + ### Fixed - 修复drbar首次点击分页之后后退没有回显 diff --git a/src/view-engine/edit-view.engine.ts b/src/view-engine/edit-view.engine.ts index 78068a821..ab9595a54 100644 --- a/src/view-engine/edit-view.engine.ts +++ b/src/view-engine/edit-view.engine.ts @@ -16,9 +16,9 @@ import { getControl, getControlsByView, MarkOpenDataActionType, + ViewMode, } from '@ibiz-template/runtime'; import { IAppDEEditView } from '@ibiz/model-core'; -import { isNil } from 'ramda'; export class EditViewEngine extends ViewEngineBase { /** @@ -346,7 +346,7 @@ export class EditViewEngine extends ViewEngineBase { initMarkOpenData(): void { // 非路由的编辑视图不需要触发 if ( - isNil(this.view.modal.routeDepth) || + ![ViewMode.ROUTE, ViewMode.ROUTE_MODAL].includes(this.view.modal.mode) || !this.view.model.markOpenDataMode ) { return; @@ -378,12 +378,13 @@ export class EditViewEngine extends ViewEngineBase { break; } - ibiz.notification.info({ - position: 'bottom-right', - title: '通知', - desc: `${ + ibiz.message.notice({ + message: `${ modes.includes('DISPLAYOPPERSON') ? data.username : '有人' } ${actionMsg} ${this.view.state.caption}-${dataInfo}`, + showClose: true, + duration: 3, + styleType: 'alert', }); if ( -- Gitee From 96829b7357e25467f6cfd08e01f43fbb19bb70f3 Mon Sep 17 00:00:00 2001 From: lxmdream Date: Thu, 21 Mar 2024 18:39:05 +0800 Subject: [PATCH 3/3] =?UTF-8?q?feat:=20=E5=88=A0=E9=99=A4console.log?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/util/message-util/message-util.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/util/message-util/message-util.ts b/src/util/message-util/message-util.ts index d56b5a47b..1e9487355 100644 --- a/src/util/message-util/message-util.ts +++ b/src/util/message-util/message-util.ts @@ -101,8 +101,6 @@ export class MessageUtil implements IMessageUtil { break; } }); - console.log('messageOpts', messageOpts); - return messageOpts; } -- Gitee