fix: RbAlertBox dismiss (#692)

* fix: RbAlertBox dismiss

* be: AutoApproval
This commit is contained in:
REBUILD 企业管理系统 2023-12-11 11:37:45 +08:00 committed by GitHub
parent 9e9ceb063d
commit bb233dca10
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 23 additions and 31 deletions

2
@rbv

@ -1 +1 @@
Subproject commit a4de177b845e1ae7d47881be646aff468d9e09fc
Subproject commit a207cc6fbf3d074b656b22025cb1eec27583be6e

View file

@ -7,9 +7,9 @@
## 项目特色
**_REBUILD 通过创新的业务流程引擎帮助你快速搭建各类企业管理系统,全图形化配置无需了解技术。_**
**_相较于同类产品REBUILD 更侧重于业务需求实现,而非基础的技术框架或项目启动模板。_**
REBUILD 侧重于业务需求实现,而非基础技术框架或项目启动模板,通过 REBUILD 可以真正实现零代码快速搭建!无需编程、无需编译代码,甚至无需了解任何技术
「开放式设计」是 REBUILD 的重要设计理念。得益于研发团队成熟的 B 端产品经验,我们实现了对企业日常各类需求的可配置化管理。全图形化系统设计搭建,所见即所得
更多详情介绍 [https://getrebuild.com/](https://getrebuild.com/)
@ -89,7 +89,7 @@ REBUILD 对于开发环境的要求非常简单,由于使用 Java 开发,因
## 授权 License
REBUILD 使用 GPL-3.0 开源许可和商业授权双重授权协议,使用将被视为你自愿承诺接受 [协议](https://getrebuild.com/legal/service-terms) 之所有条款。
REBUILD 使用 GPL-3.0 开源许可和商业授权双重授权协议,使用将被视为你自愿承诺接受 [用户服务协议](https://getrebuild.com/legal/service-terms) 之所有条款。
REBUILD uses the GPL-3.0 open source license and commercial license dual license agreement. Use will be deemed your voluntary commitment to accept all terms of the [Agreement](https://getrebuild.com/legal/service-terms).

View file

@ -10,7 +10,7 @@
</parent>
<groupId>com.rebuild</groupId>
<artifactId>rebuild</artifactId>
<version>3.5.0-beta4</version>
<version>3.5.0</version>
<name>rebuild</name>
<description>Building your business-systems freely!</description>
<url>https://getrebuild.com/</url>

View file

@ -74,11 +74,11 @@ public class Application implements ApplicationListener<ApplicationStartedEvent>
/**
* Rebuild Version
*/
public static final String VER = "3.5.0-beta4";
public static final String VER = "3.5.0";
/**
* Rebuild Build [MAJOR]{1}[MINOR]{2}[PATCH]{2}[BUILD]{2}
*/
public static final int BUILD = 3050004;
public static final int BUILD = 3050005;
static {
// Driver for DB

View file

@ -13,6 +13,8 @@ import com.rebuild.core.Application;
import com.rebuild.core.UserContextHolder;
import com.rebuild.core.metadata.MetadataHelper;
import com.rebuild.core.privileges.UserService;
import com.rebuild.core.service.approval.ApprovalHelper;
import com.rebuild.core.service.approval.ApprovalState;
import com.rebuild.core.service.approval.ApprovalStepService;
import com.rebuild.core.service.general.OperatingContext;
import com.rebuild.core.service.trigger.ActionContext;
@ -68,7 +70,13 @@ public class AutoApproval extends TriggerAction implements LazyWaitDetailsFinish
return FLAG_LAZY;
}
ID recordId = operatingContext.getFixedRecordId();
final ID recordId = operatingContext.getFixedRecordId();
ApprovalState currentState = ApprovalHelper.getApprovalState(recordId);
if (currentState == ApprovalState.PROCESSING || currentState == ApprovalState.APPROVED) {
return TriggerResult.wran("Ignored state");
}
String useApproval = ((JSONObject) actionContext.getActionContent()).getString("useApproval");
// 优先使用当前用户

View file

@ -5372,10 +5372,6 @@ div.dataTables_wrapper.compact div.dataTables_oper .btn-space {
border-radius: 6px;
}
.alert-mb-0 > .alert {
margin-bottom: 0;
}
.datetimepicker table tr .disabled,
.datetimepicker table tr .disabled:hover {
color: #b3b3b3 !important;

View file

@ -446,12 +446,12 @@ class RbAlertBox extends React.Component {
if (!icon) icon = type === 'success' ? 'check' : type === 'danger' ? 'close-circle-o' : 'info-outline'
return (
<div className={`alert alert-icon alert-icon-border alert-dismissible alert-sm alert-${type}`} ref={(c) => (this._element = c)}>
<div className={`alert alert-icon alert-icon-border alert-dismissible alert-sm alert-${type} ${props.className || ''}`} ref={(c) => (this._element = c)}>
<div className="icon">
<i className={`zmdi zmdi-${icon}`} />
</div>
<div className="message">
<a className="close" onClick={() => this._handleClose()} title={$L('关闭')}>
<a className="close" onClick={() => this._handleClose()} title={$L('关闭')} data-dismiss="alert">
<i className="zmdi zmdi-close" />
</a>
<div>{props.message || 'INMESSAGE'}</div>
@ -461,7 +461,7 @@ class RbAlertBox extends React.Component {
}
_handleClose() {
$unmount($(this._element).parent(), 10, true)
// $unmount($(this._element).parent(), 10, true)
typeof this.props.onClose === 'function' && this.props.onClose()
}
}

View file

@ -634,9 +634,7 @@ class BatchApprove extends BatchOperator {
<label className="text-bold">{$L('批注')}</label>
<textarea className="form-control form-control-sm row2x" name="approveRemark" placeholder={$L('输入批注 (可选)')} maxLength="600" onChange={this.handleChange} />
</div>
<div className="alert-mb-0">
<RbAlertBox message={$L('仅处于待你审批且允许批量审批的记录才能审批成功')} />
</div>
<RbAlertBox message={$L('仅处于待你审批且允许批量审批的记录才能审批成功')} className="mb-0" />
</div>
)
}

View file

@ -727,13 +727,13 @@ var $createUploader = function (input, next, complete, error) {
var $initUploader = $createUploader
/**
* 卸载 React 组件
* 卸载 React 组件顶级组件才能卸载
*/
var $unmount = function (container, delay, keepContainer) {
if (!container) return
var $c = $(container)
setTimeout(function () {
ReactDOM.unmountComponentAtNode($c[0])
ReactDOM.unmountComponentAtNode($c[0]) // return is unmounted
if (keepContainer !== true && $c.prop('tagName') !== 'BODY') $c.remove()
}, delay || 1000)
}

View file

@ -384,17 +384,7 @@ class DlgSpecFields extends RbModalHandler {
return (
<RbModal title={$L('指定字段')} ref={(c) => (this._dlg = c)} disposeOnHide width="780">
<div className="p-1">
<div className="alert alert-warning alert-icon alert-icon-border alert-dismissible alert-sm">
<div className="icon">
<span className="zmdi zmdi-info-outline" />
</div>
<div className="message">
<a className="close" data-dismiss="alert">
<span className="zmdi zmdi-close" />
</a>
<p>{$L('指定字段被更新时触发默认为全部字段')}</p>
</div>
</div>
<RbAlertBox message={$L('指定字段被更新时触发默认为全部字段')} />
<div className="row " ref={(c) => (this._fields = c)}>
{(this.state.fields || []).map((item) => {