1、修改了添加用户时没有判断帐号是否重复的问题。
修改文件:cn/tzsoft/roadflow/service/UserService.java
最后增加了方法:
/**
* 判断一个帐号是否重复
* @param account 帐号
* @param userId 如果为员ID为0,表示新增,所有不能重复。如果为long表示除此id外不能重复。
* @return true:重复 false:不重复
*/
public boolean accountIsDuplicate(String account, long userId){
UserModel model = getByAccount(account);
return userId <= IdGenerator.MIN_VALUE ? model != null : model !=null && model.getId() != userId;
}
修改文件:cn/tzsoft/roadflow/controller/webapi/UserController.java

修改前端文件:src/web/roadui/src/roadui-pages/system/organize/user.vue

2、修改了表单设计器子表首次设置未保存的问题。
修改文件:\src\web\roadui\src\roadui-pages\form\plugins\subtable.vue

//2021-11-30增加,解决了添加子表字段时将this.subtableJson添加到editor.formSubtabsJSON,不然设置不起作用。
if (!input) {
this.subtableJson = { id: this.setJson.id, columns: [] };
editor.formSubtabsJSON.push(this.subtableJson);
this.columnList = this.subtableJson.columns;
}3、修了了表单设计器添加新控件时会加载上个控件事件的问题。
修改文件:\src\web\roadui\src\roadui-pages\form\plugins\text.vue

有事件的控件对应文件都作相应修改:

4、修改了流程设计属性-数据表改变时同步更新标记字段选项。
修改文件:\src\web\roadui\src\roadui-pages\flow\design\attr.vue

5、修改了流程设计步骤-数据标签中子表如果没有设置标签的显示。
修改文件:\src\web\roadui\src\roadui-pages\flow\design\step.vue

6、修改了新建流程时选择流程分类不生效的问题。
修改文件:\src\web\roadui\src\roadui-pages\flow\design\design.vue

7、修改了流程设计步骤选择表单后不需要保存再打开即可加载字段。
修改文件:\src\web\roadui\src\roadui-pages\flow\design\step.vue


//加载表单字段
loadDataFields() {
this.roaduiUtils.getFromFields(this.flowJson.id, this.stepId, this.stepJson.formId).then((tables) => {
for (let i = 0; i < tables.length; i++) {
this.tables.push({ value: tables[i].id, title: (this.roaduiUtils.length(tables[i].label) > 0 ? tables[i].label + ' - ' : '') + tables[i].id });
//策略里的值字段选项
if (tables[i].type === 'main') {
for (let m = 0; m < tables[i].fields.length; m++) {
this.valueFields.push({
value: tables[i].fields[m].id,
label: (this.roaduiUtils.length(tables[i].fields[m].label) > 0 ? tables[i].fields[m].label + ' - ' : '') + tables[i].fields[m].id
});
}
}
for (let j = 0; j < tables[i].fields.length; j++) {
let status = 0, check = 0, tableName = '';
if (this.roaduiUtils.length(this.fieldStatus) > 0) {
for (let k = 0; k < this.fieldStatus.length; k++) {
let fieldKey = tables[i].type == 'subtable' ? (tables[i].id + '.' + tables[i].fields[j].id).toLowerCase() : tables[i].fields[j].id.toLowerCase();
if (this.fieldStatus[k].field.toLowerCase() === fieldKey) {
status = this.fieldStatus[k].status;
check = this.fieldStatus[k].check;
break;
}
}
}
//如果字段ID是-线分隔的,表示是绑定的表字段,表名取-线前字符串。
let idArray = tables[i].fields[j].id.split('-');
if (idArray.length === 2) {
tableName = idArray[0];
}
tableName = tableName || (tables[i].label || tables[i].id);
this.rows.push({ table: tables[i].id, tableName: tableName, type: tables[i].type, field: tables[i].fields[j].id, comment: tables[i].fields[j].label, fieldStatus: status, check: check });
this.rows1.push({ table: tables[i].id, tableName: tableName, type: tables[i].type, field: tables[i].fields[j].id, comment: tables[i].fields[j].label, fieldStatus: status, check: check });
}
}
});
},8、修改了表单设计添加按钮控件时的JS错误。
修改文件:\src\web\roadui\public\roadui-assets\ckeditor\plugins\rf_button\plugin.js

var id = editor.designjs.getId(undefined, undefined, json.id);
9、增加了通配符替换步骤id和名称时如果参数中没有则获取流程第一步id和名称。
修改文件:src/main/java/cn/tzsoft/roadflow/common/WildcardUtils.java

//如果没获取到,则获取流程ID所在流程的第一步id。
flowId = request == null ? "" : request.getParameter("flowid");
if (StringUtils.isBlank(flowId)) {
flowId = CommonUtils.getObjectStringByKey(object, "flowId");
}
if (StringUtils.isLong(flowId)) {
FlowRunModel flowRunModel = ServiceUtils.instance.flowService.getFlowRunModel(StringUtils.toLong(flowId), true);
if (flowRunModel != null) {
stepId = Long.toString(flowRunModel.getFirstStepId());
}
} 
stepName = CommonUtils.getObjectStringByKey(object, "stepName");
if (StringUtils.isNotBlank(stepName)) {
return stepName;
}
//如果没获取到,则获取流程ID所在流程的第一步名称。
flowId = request == null ? "" : request.getParameter("flowid");
if (StringUtils.isBlank(flowId)) {
flowId = CommonUtils.getObjectStringByKey(object, "flowId");
}
if (StringUtils.isLong(flowId)) {
FlowRunModel flowRunModel = ServiceUtils.instance.flowService.getFlowRunModel(StringUtils.toLong(flowId), true);
if (flowRunModel != null) {
stepName = ServiceUtils.instance.flowService.getStepName(flowRunModel, flowRunModel.getFirstStepId());
}
}10、修改了流程执行事件方法中调用Servive为null的问题。
增加类:src/main/java/cn/tzsoft/roadflow/common/SpringContextUtils.java
事件方法中获取Service实例:

11、修改了表单设计器label标签控件和流水号控件无法设置隐藏的问题。
修改文件:src/web/roadui/src/roadui-pages/form/form-design.js


修改之后以前的表单要重新发布才生效。
12、修改了表单设计子表label控件无法设置隐藏的问题。
修改文件:src/web/roadui/src/roadui-pages/form/form-design.js



修改之后以前的表单要重新发布才生效。
13、修改了表单设计文本框控件只读时如果没有值显示undefined的问题。
修改文件:src/web/roadui/src/roadui-pages/form/form-design.js

14、修改了步骤内自由发送的问题。
修改文件:src/web/roadui/src/roadui-pages/flow/run/index.vue

//步骤内循环发送
freeSend() {
if (this.form.type == 0) {
this.$refs['jroadflow_form'].$refs['jroadflow_formRef'].validate((valid) => {
if (valid) {
this.freeSendShow();
}
});
} else {
this.freeSendShow();
}
},
//步骤内发送窗口
freeSendShow() {
//检查如果要签意见,是否签意见和签章
if (this.step.signType > 0 && this.roaduiUtils.length(this.step.comment) === 0) {
this.roaduiUtils.msg(this, '请填写处理意见!', false);
this.$refs['comment'].focus();
return;
}
if (this.step.signType >= 2 && this.step.sign == 0) {
if (this.step.signType == 3) {
//如果要输入密码签章,则弹出输入密码窗口。
this.sign(3);
} else {
this.roaduiUtils.msg(this, '请签章!', false);
}
return;
}
this.modalPage = this.topVue.regComponent({
key: 'flow_freeSend_' + this.roaduiUtils.newGuid(false),
content: '/flow/run/send'
});
this.modalQuery = '?' + this.queryString + '&freesend=1';
this.modalTitle = '步骤内发送';
this.modalWidth = '600px';
this.modalShow = true;
this.modalMaskClose = false;
},
//步骤内循环发送确认
freeSendOk(steps) {
this.executeFlow('freeSubmit', steps);
},修改文件:src/web/roadui/src/roadui-pages/flow/run/sign-password.vue

修改文件:src/web/roadui/src/roadui-pages/flow/run/send.vue

isFreeSend: '1' == this.roaduiUtils.query('freesend', this.query),//是否是自由发送 
//调用父页面方法发送
if (this.isFreeSend) {
this.parentVue.freeSendOk(selectSteps);
} else {
this.parentVue.sendOk(selectSteps);
}15、增加了表单设计子表可以自定义wrapper-col属性。
修改文件:src/web/roadui/src/roadui-pages/form/plugins/subtable.vue

<th>wrapperCol:</th> <td> <a-input v-model="subtableJson.wrapperCol" style="width:187px"/> </td>
修改文件:src/web/roadui/src/roadui-pages/form/form-design.js

var labelCol = attJSON.labelCol || 0;
var wrapperCol = attJSON.wrapperCol || 0;
var wrapperCol_subtable = subtableSet.wrapperCol || '';
if (roaduiUtils.length(label) === 0 || !subtableSet.showLabel) {
html += roaduiUtils.length(wrapperCol_subtable) === 0
? ' :wrapper-col="{span:' + wrapperCol + ',offset:' + labelCol + '}"'
: ' :wrapper-col="' + wrapperCol_subtable + '"';
} else {
html += roaduiUtils.length(wrapperCol_subtable) === 0
? ''
: ' :wrapper-col="' + wrapperCol_subtable + '"';
html += ' label="' + label + '"';
}16、修改了表单内多人签章时会替换前面签章问题。
修改文件:src/web/roadui/src/roadui-pages/form/form-design.js

var html = '<a-form-model-item v-if="getFieldStatus(\'' + id + '\')!=2" label="' + label + '" prop="' + id + '">';
html += '<a-space><a-button v-if="getFieldStatus(\'' + id + '\')==0" type="' + buttontype + '" @click="formData[\'' + id + '\']=roaduiUtils.length(formData[\'' + id + '\'])===0?roaduiUtils.length(formSignImg)>0?formSignImg:formSignName:\'\';">{{roaduiUtils.length(formData[\'' + id + '\'])===0?\'签章\':\'取消签章\'}}</a-button>';
html += '<a-sign v-if="roaduiUtils.length(formData[\'' + id + '\'])>0"';
html += ' :name="formData[\'' + id + '\']" :img="formData[\'' + id + '\']"';
html += '>';
html += '</a-sign></a-space>';
html += '</a-form-model-item>';修改文件:src/web/roadui/src/roadui-components/a-sign.vue

<template>
<img class="roadui_flowrun_signimg" v-if="roaduiUtils.length(img1)>0&&roaduiUtils.startsWith(img1,'data:image')" :src="img1" />
<span v-else-if="roaduiUtils.length(name1)>0" class="roadui_flowrun_sign">{{name1}}</span>
</template> 修改后表单重新发布才生效。
17、修改了保存表单数据到表时001会被认为是数字保存为1的问题。
修改文件:cn/tzsoft/roadflow/common/JsonUtils.java

18、修改了征求意见时备注说明没有显示的问题。
修改文件:src/main/java/cn/tzsoft/roadflow/controller/webapi/FlowController.java

修改文件:src/web/roadui/src/roadui-pages/flow/run/index.vue

19、修改了应用程序设计列表排序无效的问题。
修改文件:src/main/java/cn/tzsoft/roadflow/dao/dbconnection/DbconnectionOpationDao.java

public PageInfo<LinkedHashMap<String, Object>> getPage(int number, int size, DbconnectionModel dbconnectionModel, String sql, String fields, Map<String, Object> map, String orderBy) {
String sql1 = StringUtils.replaceWildcard(sql);
//map.put("order", StringUtils.replaceSelectSql(orderBy));
String order= StringUtils.replaceSelectSql(orderBy);
PageHelper.startPage(number, size, StringUtils.isBlank(order) ? StringUtils.containsIgnoreCase("," + fields + ",", ",id,") ? "id" : "" : order);
return new PageInfo<>(getMapPage(dbconnectionModel, sql1, fields, map));
}20、修改了流程意见列表中没有显示用户签章图片问题。
修改文件:src/main/java/cn/tzsoft/roadflow/controller/webapi/FlowController.java

//循环设置附件链接
for (FlowTaskModel taskModel : groupTasks) {
if (StringUtils.isNotBlank(taskModel.getAttachment())) {
ArrayNode fileArrayNode = fileService.getFileList(taskModel.getAttachment());
taskModel.setSpare1(fileArrayNode.toString());
}
//设置签章图片
UserModel userModel = userService.get(taskModel.getReceiverId());
if(userModel != null){
taskModel.setSpare2(userModel.getSignImage());
}
}修改文件:src/web/roadui/src/roadui-pages/flow/run/comment.vue

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