1、增加了流程处理页面按钮点击前执行脚本。
修改文件:\RoadFlow.WebUI\src\roadui-pages\flow\run\index.vue
    
    
修改文件:\RoadFlow.WebUI\src\roadui-assets\utils.js
    
2、修改了表单验证脚本可写异步方法。
修改文件:\RoadFlow.WebUI\src\roadui-pages\flow\run\index.vue
    
3、修改了url中的token可以保存到localStorage。
修改文件:\RoadFlow.WebUI\src\roadui-assets\utils.js
    
4、修改了移动端子表隐藏字段不生效的问题。
修改文件:\RoadFlow.WebUI\src\roadui-pages\form\design\design.js
    
5、增加了布局样式。
修改文件:\RoadFlow.WebUI\src\roadui-assets\main.css
    
修改文件:\RoadFlow.WebUI\src\roadui-pages\index.vue
    
    增加文件:
    
6、增加了流程事件sql可指定执行sql的数据连接。
修改文件:\RoadFlow.Service\Flow\FlowExecuteService.cs
    修改方法:
    
    /// <summary>
    /// 执行流程事件
    /// </summary>
    /// <param name="eventName">事件</param>
    /// <param name="flowEventParamsModel">事件参数</param>
    /// <param name="formDataJsonObject">表单数据json</param>
    /// <param name="currentFlowTaskModel">当前任务实体</param>
    /// <returns>object</returns>
    private object? ExecuteEvent(string eventName, FlowEventParamsModel flowEventParamsModel, JsonObject formDataJsonObject, FlowTaskModel currentFlowTaskModel)
    {
        if (string.IsNullOrWhiteSpace(eventName))
        {
            return null;
        }
        var eventTrim = eventName.Trim();
        if (eventTrim.StartsWithIgnoreCase("[sql-json"))
        {
            //执行sql并且要同步更新rf_form_data表中的json_data。
            var (sqlString, connId) = GetEventSqlAndConnId(eventTrim);
            var sql = wildcardService.Replace(sqlString, formDataJsonObject, currentFlowTaskModel);
            var i = ConnService.ExecuteSql(IdGeneratorUtils.IsId(connId) ? connService.GetOrDefault(connId) : flowEventParamsModel.ConnModel, sql, filterSql: false);
            formService.UpdateTableToFormDataJson(flowEventParamsModel.InstanceId, flowEventParamsModel.FormTemplateJsonObject, formDataJsonObject);
            return i;
        }
        else if (eventTrim.StartsWithIgnoreCase("[sql-select"))
        {
            //执行查询sql,返回sql查询的数据。
            var (sqlString, connId) = GetEventSqlAndConnId(eventTrim);
            var sql = wildcardService.Replace(sqlString, formDataJsonObject, currentFlowTaskModel);
            return ConnService.GetOneString(IdGeneratorUtils.IsId(connId) ? connService.GetOrDefault(connId) : flowEventParamsModel.ConnModel, sql);
        }
        else if (eventTrim.StartsWithIgnoreCase("[sql"))
        {
            //如果是sql,返回执行sql后影响的行数
            var (sqlString, connId) = GetEventSqlAndConnId(eventTrim);
            var sql = wildcardService.Replace(sqlString, formDataJsonObject, currentFlowTaskModel);
            return ConnService.ExecuteSql(IdGeneratorUtils.IsId(connId) ? connService.GetOrDefault(connId) : flowEventParamsModel.ConnModel, sql, filterSql: false);
        }
        var (obj, ex) = Tools.ExecuteMethod(eventTrim, flowEventParamsModel);
        if (ex != null)
        {
            logService.Add("执行流程事件错误-" + currentFlowTaskModel.FlowName + "-" + currentFlowTaskModel.StepName + "-" + eventTrim, LogType.Exception, ex.Message, null, currentFlowTaskModel.ReceiverId, currentFlowTaskModel.ReceiverName, ex.StackTrace);
            return ex.Message;
        }
        return obj;
    }    增加方法:
    
    /// <summary>
    /// 得到流程事件里的SQL语句和数据连接ID
    /// </summary>
    /// <param name="sql">事件SQL</param>
    /// <returns>(sql,连接id)</returns>
    private static (string, long) GetEventSqlAndConnId(string? sql)
    {
        if (string.IsNullOrWhiteSpace(sql))
        {
            return (string.Empty, IdGeneratorUtils.MIN_VALUE);
        }
        var rightIndexOf = sql.IndexOf(']');
        if (rightIndexOf < 0)
        {
            return (string.Empty, IdGeneratorUtils.MIN_VALUE);
        }
        var connIdString = string.Empty;
        var prefixString = sql[..(rightIndexOf + 1)];
        if (prefixString.Contains('<') && prefixString.Contains('>'))
        {
            connIdString = prefixString.Substring(prefixString.IndexOf('<') + 1, prefixString.LastIndexOf('>') - prefixString.IndexOf('<') - 1);
        }
        return (sql.TrimStartStringIgnoreCase(prefixString), connIdString.IsLong(out var connId) && IdGeneratorUtils.IsId(connId) ? connId : IdGeneratorUtils.MIN_VALUE);
    }用法:在写事件sql时加上连接id,例如:[sql<619319725076549>]select 1或[sql-json<619319725076549>]select 1或[sql-select<619319725076549>]select 1。<>内的为连接id。
7、应用设计导入增加了是否清空选项。
修改文件:\RoadFlow.WebUI\src\roadui-pages\app-design\run\import.vue
    
    
修改文件:\RoadFlow.WebApi\Controllers\RoadFlowWebApi\AppDesign\AppDesignRunController.cs
    
修改文件:\RoadFlow.Service\AppDesign\AppDesignRunService.cs
    
    覆盖此方法。
修改文件:\RoadFlow.Service\Sys\ConnService.cs
    
    新增方法。
修改文件:\RoadFlow.Data\Sys\ConnDao.cs
    
    新增方法。
8、增加了表单设计间距布局控件。
修改文件:\RoadFlow.WebUI\src\roadui-pages\form\design\index.vue
    
    
    
    
增加文件:\RoadFlow.WebUI\src\roadui-pages\form\design\controls\space-ctl.vue
修改文件:\RoadFlow.WebUI\src\roadui-pages\form\design\design.js
    
    
    
9、增了动态API分类管理。
修改文件:\RoadFlow.WebUI\src\roadui-pages\system\dynamic-api\index.vue
    修改较多,直接覆盖。
修改文件:\RoadFlow.WebApi\Controllers\RoadFlowWebApi\Sys\DynamicApiController.cs
    
修改文件:\RoadFlow.Service\Sys\DynamicApiService.cs
    
修改文件:\RoadFlowNet\RoadFlow.Data\Sys\DynamicApiDao.cs
    
修改文件:\RoadFlow.Model\Sys\DynamicApiModel.cs
    
表rf_sys_dynamic_api增加字段:
    
    数据字典增加节点:
    
10、修改了数据连接缓存问题。
修改文件:\RoadFlow.Data\SqlSugarHelper.cs
    
修改文件:\RoadFlow.Data\Sys\ConnDao.cs
    
| 
              
                 联系QQ:493501010电话:136 0832 5512(微信同号)邮箱:road@roadflow.net 
                Copyright 2014 - 2025 重庆天知软件技术有限公司 版权所有
                 
                
             |