.NET CORE开源工作流引擎 - 可视化流程设计器 - 工作流表单设计器 - .NET快速开发平台 - .NET三层代码生成器 - 通用权限管理

.NET MVC CORE开源工作流平台,可视化流程设计器
RoadFlowEle6.3.0升级说明

1、修改了流程发送选择范围为工作组时显示会重复的问题。

    修改文件:\RoadFlow.Service\FlowRun.cs

    image.png    

  { "selectRange", nextStep.StepStrategy.SelectRange.SplitToArray().Distinct().ToList().JoinToString() },//选择范围

2、增加了表单设计数字输入控件只读属性设置。

    修改文件:\RoadFlow.WebUIElement\src\roadui-pages\form\plugins\number.vue

    image.png

 <span style="margin-left:12px;"><el-checkbox v-model="setJson.readonly" label="只读" style="vertical-align:middle"></el-checkbox></span>

    image.png

 setJson.value.readonly = input.getAttribute("data-readonly") == 'true';

    修改文件:\RoadFlow.WebUIElement\public\roadui-assets\ckeditor\plugins\rf_number\plugin.js

    image.png

    修改文件:\RoadFlow.WebUIElement\src\roadui-pages\form\plugins\subtable\number.vue

    image.png

 <span style="margin-left:12px;"><el-checkbox v-model="setJson.readonly" label="只读" style="vertical-align:middle"></el-checkbox></span>

    修改文件:\RoadFlow.WebUIElement\src\roadui-pages\form\form-design.js

    image.png

    image.png

    image.png

3、修改了应用程序设计导出日期时间问题。

    修改文件:\RoadFlow.Service\Program.cs    

    image.png

    修改文件:\RoadFlow.Utility\NPOIHelper.cs

    image.png

    image.png

    其他修改请参照\RoadFlow.Utility\NPOIHelper.cs文件。

4、修改了应用程序设计序号列计算方式。

    修改文件:\RoadFlow.Service\Program.cs

    image.png

    修改文件:\RoadFlow.WebUIElement\src\roadui-pages\program\run\index.vue

    image.png

  //序号列
    indexMethod(index) {
        const size = utils.toNumber(this.formData.size, 10);
        const number = utils.toNumber(this.formData.number, 1);
        return index + (size * number - size) + 1;
    },

5、修改了应用程序设计查询条件为组织架构时编辑时选择范围没初始化问题。

    修改文件:\RoadFlow.WebUIElement\src\roadui-pages\program\design\query.vue

    image.png

6、升级vue到3.4.3。

    npm install vue@3.4.3

    修改文件:\RoadFlow.WebUIElement\vite.config.js

    image.png

  define: {
        // enable hydration mismatch details in production build
        __VUE_PROD_HYDRATION_MISMATCH_DETAILS__: 'false'
    },

7、升级element-plus到2.4.4。

    npm install element-plus@2.4.4

8、修改了移动端APP处理流程也用webview。

    pc端流程处理修改:

    新增文件:\RoadFlow.WebUIElementLang\public\roadui-assets\uni.webview.1.5.5.js

    image.png

    

    uni.webview.1.5.5.zip

    修改文件:\RoadFlow.WebUIElement\index.html 引用js文件

    image.png

 <script type="text/javascript" src="roadui-assets/uni.webview.1.5.5.js"></script>

    修改文件:\RoadFlow.WebUIElement\src\roadui-pages\flow\run\index.vue

    image.png

  //如果是APP,则刷新,返回前页刷新。
    if ('1' == isApp) {
        //window.parent.postMessage({ msg: 'refresh' }, '*');
        uni.postMessage({
            data: {
                msg: 'close'
            }
        });
        return;
    }

    image.png

 //window.parent.postMessage({ msg: 'close' }, '*');
    uni.postMessage({
        data: {
            msg: 'close'
        }
    });
    return;

    移动端修改:

    修改文件:\RoadFlow.WebUIMobile\pages\flow\load.vue

    image.png

    image.png

    整个页面代码:

<template>
    <view style="overflow:hidden;height:100%;">
        <view style="height:100%">
            <web-view :src="frameSrc" @message="getMessage"></web-view>
        </view>
    </view>
</template>

<script>
    import {
        inject
    } from "vue";
    import {
        onLoad
    } from '@dcloudio/uni-app';
    export default {
        components: {},
        data() {
            return {
                utils: inject('utils'),
                config: inject('config'),
                title: '',
                frameSrc: '',
                bodyHeight: 0,
                opt: {}
            };
        },
        methods: {
            //app接收消息
            getMessage(e) {
                const msg = e.detail.data.length > 0 ? e.detail.data[0].msg : '';
                this.receiveRenderData(msg);
            },
            //小程序接收流程处理页面消息
            receiveRenderData(e) {
                //接收的值
                if (e === 'close') {
                    uni.navigateBack({});
                } else if (e === 'refresh') {
                    const source = this.opt['source']; //上一个页面带过来的来源 index:首页 todo:待办 todobatch:批量待办
                    const uid = this.opt['uid']; //上一个页面的uid,通过uid去查找上一面页面的vue实例对象
                    var pages = getCurrentPages();
                    var page = null;
                    for (var i = 0; i < pages.length; i++) {
                        if (pages[i].$.uid == uid) {
                            page = pages[i];
                            break;
                        }
                    }
                    if (this.utils.isUndef(page)) {
                        return;
                    }
                    switch (source) {
                        case 'index': //首页
                        case 'todo': //待办
                        case 'todobatch': //批量待办
                            var method = page.$.exposed['loadData'];
                            if (this.utils.isDef(method)) {
                                method(true);
                            }
                            uni.navigateBack({});
                            break;
                    }
                }
            },
        },
        onLoad(option) {
            this.opt = option;
            this.bodyHeight = this.utils.systemInfo.statusBarHeight + 44;
            this.title = this.utils.decodeURI(option.title);
            var isminiprogram = '0';
            //#ifdef MP
            isminiprogram = '1';
            //#endif
            if (this.utils.length(option.url) > 0) {
                //从消息中心传过来的待办,直接传的url
                this.frameSrc = this.config.SERVER_ADDRESS +
                    '?loadurl=' + this.utils.encodeURI(option.url +
                        '&nroadflow-token=' + this.utils.getToken() +
                        '&nroadflow-lang=' +
                        '&ismobile=1&isapp=1' +
                        '&isminiprogram=' + isminiprogram
                    );
            } else {
                const loadUrl = this.utils.length(option.address) === 0 ? this.utils.decodeURI('/flow/run/index?flowid=' +
                    option.flowid) : this.utils.decodeURI(option.address);
                this.frameSrc = this.config.SERVER_ADDRESS +
                    '?loadurl=' + this.utils.encodeURI(loadUrl +
                        '&taskid=' + (option.taskid || '') +
                        '&stepid=' + (option.stepid || '') +
                        '&groupid=' + (option.groupid || '') +
                        '&instanceid=' + (option.instanceid || '') +
                        '&title=' + (option.title || '') +
                        '&isminiprogram=' + isminiprogram +
                        '&nroadflow-token=' + this.utils.getToken() + '&ismobile=1&isapp=1');
            }

            //#ifdef MP
            //设置标题
            uni.setNavigationBarTitle({
                title: this.title
            });
            //#endif

            //#ifdef APP-PLUS
            //APP WEB-VIEW导航栏(2024-1-2修改了app也用VEBVIEW加载)
            var pages = getCurrentPages();
            var page = pages[pages.length - 1];
            const currentWebview = page.$getAppWebview();
            currentWebview.setStyle({
                titleNView: {
                    backgroundColor: '#0a60fb',
                    titleColor: '#ffffff',
                    buttons: [{
                        "type": "back",
                        "float": "left",
                        onclick: function () {
                            uni.navigateBack({});
                        }
                    }]
                }
            })
            //#endif
        },
    }
</script>

<style>
    uni-page-body { height: 100%; }
</style>

9、修改移动端工作台APP也用webview加载。

    修改文件:\RoadFlow.WebUIMobile\pages\workbench\load.vue

    image.png

    image.png

    整个页面代码:

 <template>
    <view style="overflow:hidden;height:100%;">
        <web-view :src="frameSrc"></web-view>
    </view>
</template>

<script>
    import { inject } from "vue";
    import { onLoad } from '@dcloudio/uni-app';
    export default {
        components: {},
        data() {
            return {
                utils: inject('utils'),
                config: inject('config'),
                title: '',
                frameSrc: '',
                bodyHeight: 0,
                opt: {}
            };
        },
        methods: {

        },
        onLoad(option) {
            this.opt = option;
            this.bodyHeight = this.utils.systemInfo.statusBarHeight + 44;
            this.title = this.utils.decodeURI(option.title);
            var isminiprogram = '0';
            //#ifdef MP
            isminiprogram = '1';
            //#endif
            var url = this.utils.decodeURI(option.url);
            //console.log(url)
            if (this.utils.length(url) > 0) {
                //如果是http开关的直接加载。
                var isHttp = this.utils.startWith(url, 'http');
                if (isHttp) {
                    this.frameSrc = url;
                } else {
                    this.frameSrc = this.config.SERVER_ADDRESS
                        + '?loadurl=' + this.utils.encodeURI(url
                            + (url.indexOf('?') >= 0 ? '&' : '?')
                            + 'nroadflow-token=' + this.utils.getToken()
                            + '&ismobile=1&isapp=1'
                            + '&isminiprogram=' + isminiprogram
                        );
                }
            }
            //#ifdef MP
            //设置标题
            uni.setNavigationBarTitle({ title: this.title });
            //#endif
			
			//#ifdef APP-PLUS
			//APP WEB-VIEW导航栏(2024-1-2修改了app也用VEBVIEW加载)
			var pages = getCurrentPages();
			var page = pages[pages.length - 1];
			const currentWebview = page.$getAppWebview();
			currentWebview.setStyle({
				titleNView: {
					backgroundColor: '#0a60fb',
					titleColor: '#ffffff',
					buttons: [{
						"type": "back",
						"float": "left",
						onclick: function() {
							uni.navigateBack({});
						}
					}]
				}
			})
			//#endif
        },
    }
</script>

<style>
    uni-page-body { height: 100%; }
</style>

10、修改了代码编辑器codemirror换行。

    修改文件:\RoadFlow.WebUIElement\index.html

    image.png

 .cm-content .cm-line { white-space: pre-wrap; word-break: break-word; }






联系QQ:493501010电话:136 0832 5512(微信同号)邮箱:road@roadflow.net
Copyright 2014 - 2024 重庆天知软件技术有限公司 版权所有