Merge branch 'master' of https://e.coding.net/yilidev/yilipalkaifa/apps
# Conflicts: # com.actionsoft.apps.coe.pal/lib/com.actionsoft.apps.coe.pal.jar
This commit is contained in:
commit
ee65540361
@ -3,7 +3,7 @@
|
||||
<app xmlns="http://www.actionsoft.com.cn/app">
|
||||
<name>PAL数据迁移</name>
|
||||
<version>1.0</version>
|
||||
<buildNo>21</buildNo>
|
||||
<buildNo>12</buildNo>
|
||||
<developer id="776cca9a287c8b4d63b9cad216aa3859" tablePrefix="ACT" url="http://www.actionsoft.com.cn">北京炎黄盈动科技发展有限责任公司</developer>
|
||||
<categoryVisible>false</categoryVisible>
|
||||
<description><![CDATA[数据迁移]]></description>
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
<app xmlns="http://www.actionsoft.com.cn/app">
|
||||
<name>CoE PAL流程资产库</name>
|
||||
<version>6.5</version>
|
||||
<buildNo>81</buildNo>
|
||||
<buildNo>69</buildNo>
|
||||
<developer id="776cca9a287c8b4d63b9cad216aa3859" url="http://www.actionsoft.com.cn" tablePrefix="ACT">北京炎黄盈动科技发展有限责任公司</developer>
|
||||
<productId/>
|
||||
<categoryVisible>false</categoryVisible>
|
||||
|
||||
@ -3297,4 +3297,30 @@ public class CoEPALController {
|
||||
return web.checkFilePermissionBatch(uuids,isSub).toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* 设计器页面右侧版本差异窗口接口
|
||||
* @param me
|
||||
* @param id 当前资产库文件ID
|
||||
* @return
|
||||
*/
|
||||
@Mapping("com.actionsoft.apps.coe.pal_repository_model_version_diff_query")
|
||||
public String getRepositoryModelVersionDiff(UserContext me,String id){
|
||||
CoeProcessLevelWeb web = new CoeProcessLevelWeb(me);
|
||||
return web.getRepositoryModelVersionDiff(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验形状属性
|
||||
* @param me
|
||||
* @param uuid
|
||||
* @param define 若为空字符串,则获取系统当前保存的define进行校验
|
||||
* @return
|
||||
*/
|
||||
@Mapping("com.actionsoft.apps.coe.pal_repository_define_shape_attr_valid")
|
||||
public String validRepositoryShapeAttr(UserContext me, String uuid, String define) {
|
||||
CoeDesignerWeb web = new CoeDesignerWeb(me);
|
||||
return web.validRepositoryShapeAttr(uuid, define);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -505,8 +505,8 @@ public class CoeCooperationAPIManager {
|
||||
// 获取用户权限,判断是否已存在
|
||||
List<String> rolePermList = new CoeCooperationRolePermDao().getRolePermListByRole(teamId, hideRole.getId());
|
||||
if (!rolePermList.contains(palVersionId)) {
|
||||
// 添加角色权限
|
||||
CoeCooperationRolePermModel rolePerm = new CoeCooperationRolePermModel(UUIDGener.getUUID(), teamId, hideRole.getId(), palVersionId);
|
||||
// 添加角色权限, 当前用户新建默认给全部的操作权限
|
||||
CoeCooperationRolePermModel rolePerm = new CoeCooperationRolePermModel(UUIDGener.getUUID(), teamId, hideRole.getId(), palVersionId,"w,d,v");
|
||||
new CoeCooperationRolePermDao().insert(rolePerm);
|
||||
}
|
||||
}
|
||||
|
||||
@ -5,6 +5,7 @@ import java.util.*;
|
||||
import com.actionsoft.apps.AppsConst;
|
||||
import com.actionsoft.apps.coe.pal.constant.CoEConstant;
|
||||
import com.actionsoft.apps.coe.pal.cooperation.CoeCooperationAPIManager;
|
||||
import com.actionsoft.apps.coe.pal.cooperation.cache.CooperationCache;
|
||||
import com.actionsoft.apps.coe.pal.pal.repository.cache.PALRepositoryCache;
|
||||
import com.actionsoft.apps.coe.pal.pal.repository.model.PALRepositoryModel;
|
||||
import com.actionsoft.apps.lifecycle.api.AppsAPIManager;
|
||||
@ -169,7 +170,8 @@ public class PALMethodCache {
|
||||
List<String> methodList = PALMethodCache.getPALMethodList(sort);
|
||||
if (UtilString.isNotEmpty(teamId)) {
|
||||
List<String> permMethodList = new ArrayList<>();
|
||||
List<String> versionIds = CoeCooperationAPIManager.getInstance().queryCooperationRoleDataPermByTeamUser(teamId, userId);
|
||||
// List<String> versionIds = CoeCooperationAPIManager.getInstance().queryCooperationRoleDataPermByTeamUser(teamId, userId);
|
||||
Set<String> versionIds = CooperationCache.getUserDataVisitablePermission(teamId, userId, false);
|
||||
for (String verId : versionIds) {
|
||||
List<PALRepositoryModel> verModels = PALRepositoryCache.getByVersionId(verId);
|
||||
if (verModels != null && verModels.size() > 0 && !permMethodList.contains(verModels.get(0).getMethodCategory())) {
|
||||
|
||||
@ -3401,6 +3401,80 @@ public class CoeDesignerWeb extends ActionWeb {
|
||||
return ro.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验形状属性
|
||||
* @param uuid
|
||||
* @param define 若为空字符串,则获取系统当前保存的define进行校验
|
||||
* @return
|
||||
*/
|
||||
public String validRepositoryShapeAttr(String uuid, String define) {
|
||||
PALRepositoryModel model = PALRepositoryCache.getCache().get(uuid);
|
||||
if (model == null) {
|
||||
return ResponseObject.newErrResponse("模型不存在").toString();
|
||||
}
|
||||
if (UtilString.isEmpty(define) || "null".equals(define) || "undefined".equals(define)) {
|
||||
define = PALRepositoryQueryAPIManager.getInstance().getProcessDefinition(_uc, uuid);
|
||||
}
|
||||
Map<String, PALMethodAttributeModel> methodAttributeModelMap = new HashMap<>();
|
||||
|
||||
// 校验形状
|
||||
List<JSONObject> elements = ShapeUtil.getShapeJsonToJsonObject(define);
|
||||
List<JSONObject> resultList = new ArrayList<>();
|
||||
for (JSONObject o : elements) {
|
||||
String shapeId = o.getString("id");
|
||||
String shapeName = o.getString("name");
|
||||
String text = UtilString.isEmpty(o.getString("text")) ? o.getString("title") : o.getString("text");
|
||||
String shapeCategory = o.getString("category");
|
||||
JSONObject dataAttributes = o.getJSONObject("dataAttributes");
|
||||
JSONArray attributesJsonArray = dataAttributes.getJSONArray("attributesJsonArray");
|
||||
for (int i = 0; i < attributesJsonArray.size(); i++) {
|
||||
JSONObject attr = attributesJsonArray.getJSONObject(i);
|
||||
String attrId = attr.getString("id");
|
||||
String value = attr.getString("value");
|
||||
if (!methodAttributeModelMap.containsKey(shapeName + "-" + attrId)) {
|
||||
List<PALMethodAttributeModel> methodAttributeModels = CoeDesignerShapeAPIManager.getInstance().getValidAndUseAttributeModels(model.getWsId(), shapeCategory.replace("_", "."), shapeName, model.getMethodId());
|
||||
for (PALMethodAttributeModel attributeModel : methodAttributeModels) {
|
||||
if (!methodAttributeModelMap.containsKey(shapeName + "-" + attributeModel.getKey())) {
|
||||
methodAttributeModelMap.put(shapeName + "-" + attributeModel.getKey(), attributeModel);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!methodAttributeModelMap.containsKey(shapeName + "-" + attrId)) {
|
||||
continue;// 没有配置到形状的属性,不处理
|
||||
}
|
||||
PALMethodAttributeModel attrModel = methodAttributeModelMap.get(shapeName + "-" + attrId);
|
||||
if (attrModel.getIsRequired()) {// 筛选必填
|
||||
String attrType = attrModel.getType();
|
||||
boolean flag = true;
|
||||
if ("relation".equals(attrType) || "awsorg".equals(attrType)) {
|
||||
List<DesignerShapeRelationModel> list = DesignerShapeRelationCache.getListByAttrId(model.getId(), shapeId, attrId);
|
||||
if (list == null || list.isEmpty()) {
|
||||
flag = false;
|
||||
}
|
||||
} else {
|
||||
flag = UtilString.isNotEmpty(value);
|
||||
}
|
||||
if (!flag) {
|
||||
JSONObject tmp = new JSONObject();
|
||||
tmp.put("shapeId", shapeId);
|
||||
tmp.put("shapeName", text);
|
||||
tmp.put("attrName", attrModel.getNewTitle());
|
||||
tmp.put("attrId", attrId);
|
||||
resultList.add(tmp);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
ResponseObject ro = ResponseObject.newOkResponse();
|
||||
if (!resultList.isEmpty()) {
|
||||
ro.setData(resultList);
|
||||
ro.err("校验未通过");
|
||||
return ro.toString();
|
||||
}
|
||||
return ResponseObject.newOkResponse().toString();
|
||||
|
||||
}
|
||||
|
||||
/******************************************新版门户流程详情end********************************************************/
|
||||
|
||||
//获取excel数据的内部类
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -1727,4 +1727,11 @@
|
||||
<param name="desc"/>
|
||||
<param name="methodId"/>
|
||||
</cmd-bean>
|
||||
<cmd-bean name="com.actionsoft.apps.coe.pal_repository_model_version_diff_query">
|
||||
<param name="id"/>
|
||||
</cmd-bean>
|
||||
<cmd-bean name="com.actionsoft.apps.coe.pal_repository_define_shape_attr_valid">
|
||||
<param name="uuid"/>
|
||||
<param name="define"/>
|
||||
</cmd-bean>
|
||||
</aws-actions>
|
||||
152
com.actionsoft.apps.coe.pal/web/com.actionsoft.apps.coe.pal/js/coe.team.pal.designer.js
Executable file → Normal file
152
com.actionsoft.apps.coe.pal/web/com.actionsoft.apps.coe.pal/js/coe.team.pal.designer.js
Executable file → Normal file
@ -22,8 +22,8 @@ $(function() {
|
||||
},
|
||||
error: function (jqXHR, textStatus, errorThrown) {
|
||||
$.simpleAlert(errorThrown, 'err');
|
||||
console.log(jqXHR)
|
||||
console.log(textStatus)
|
||||
console.log(jqXHR);
|
||||
console.log(textStatus);
|
||||
console.log(errorThrown)
|
||||
}
|
||||
});
|
||||
@ -90,75 +90,89 @@ $(function() {
|
||||
tempMessageArr[messageId] = messageArrayForSave[messageId];
|
||||
}
|
||||
var messageArray = JSON.stringify(tempMessageArr);
|
||||
var elements = obj.elements
|
||||
for(let i in elements) {
|
||||
for(let a = 0; a < elements[i].dataAttributes.length; a ++ ) {
|
||||
if(elements[i].dataAttributes[a].attributesJsonArray !== undefined) {
|
||||
for(let b = 0; b < elements[i].dataAttributes[a].attributesJsonArray.length; b ++) {
|
||||
if(elements[i].dataAttributes[a].attributesJsonArray[b].isRequired && elements[i].dataAttributes[a].attributesJsonArray[b].value == '') {
|
||||
$.simpleAlert("close");
|
||||
$.simpleAlert("必填项不能为空", 'error');
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "./jd",
|
||||
data: {
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "./jd",
|
||||
data: {
|
||||
sid: CLB.sid,
|
||||
cmd: "com.actionsoft.apps.coe.pal_repository_process_define_save",
|
||||
cmd: "com.actionsoft.apps.coe.pal_repository_define_shape_attr_valid",
|
||||
uuid: ruuid,
|
||||
define: awsui.encode(obj),
|
||||
teamId: $("#teamId").val(),
|
||||
BPMInstanceName: BPMInstanceName,
|
||||
messages: messageArray
|
||||
},
|
||||
success: function (msg, textStatus, jqXHR) {
|
||||
debugger;
|
||||
if(msg.result == "ok") {
|
||||
$.simpleAlert("close");
|
||||
messageArrayForSave = {};
|
||||
$("#saving_tip").css("color", "rgb(26, 164, 125)");
|
||||
$("#saving_tip").text("保存成功");
|
||||
recordShapeText();// 记录最新的节点及其文本text
|
||||
//更多属性的处理,当节点处理完成后再处理更多属性
|
||||
if (saveAttributesJson.length > 0 || removeAttributeJson.length > 0){
|
||||
$.ajax({
|
||||
type : "POST",
|
||||
url : "./jd",
|
||||
data : {
|
||||
sid : encodeURI(CLB.sid),
|
||||
cmd : "com.actionsoft.apps.coe.pal_pl_repository_more_attribute_save",
|
||||
wsId : $("#wsId").val(),
|
||||
uuid : ruuid,
|
||||
attributesJson : JSON.stringify(saveAttributesJson),
|
||||
removeAttributeJson : JSON.stringify(removeAttributeJson)
|
||||
},
|
||||
success:function(r) {
|
||||
saveAttributesJson = [];
|
||||
removeAttributeJson = [];
|
||||
},
|
||||
error:function(r) {
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "./jd",
|
||||
data: {
|
||||
sid: CLB.sid,
|
||||
cmd: "com.actionsoft.apps.coe.pal_repository_process_define_save",
|
||||
uuid: ruuid,
|
||||
define: awsui.encode(obj),
|
||||
teamId: $("#teamId").val(),
|
||||
BPMInstanceName: BPMInstanceName,
|
||||
messages: messageArray
|
||||
},
|
||||
success: function (msg, textStatus, jqXHR) {
|
||||
if(msg.result == "ok") {
|
||||
$.simpleAlert("close");
|
||||
messageArrayForSave = {};
|
||||
$("#saving_tip").css("color", "rgb(26, 164, 125)");
|
||||
$("#saving_tip").text("保存成功");
|
||||
recordShapeText();// 记录最新的节点及其文本text
|
||||
//更多属性的处理,当节点处理完成后再处理更多属性
|
||||
if (saveAttributesJson.length > 0 || removeAttributeJson.length > 0){
|
||||
$.ajax({
|
||||
type : "POST",
|
||||
url : "./jd",
|
||||
data : {
|
||||
sid : encodeURI(CLB.sid),
|
||||
cmd : "com.actionsoft.apps.coe.pal_pl_repository_more_attribute_save",
|
||||
wsId : $("#wsId").val(),
|
||||
uuid : ruuid,
|
||||
attributesJson : JSON.stringify(saveAttributesJson),
|
||||
removeAttributeJson : JSON.stringify(removeAttributeJson)
|
||||
},
|
||||
success:function(r) {
|
||||
saveAttributesJson = [];
|
||||
removeAttributeJson = [];
|
||||
},
|
||||
error:function(r) {
|
||||
}
|
||||
});
|
||||
}
|
||||
$.simpleAlert("保存成功", "ok");
|
||||
//保存结束时间戳
|
||||
//var saveEndTime = new Date().getTime();
|
||||
//console.log("流程保存时间:", (saveEndTime - saveStartTime) + "毫秒");
|
||||
} else {
|
||||
$.simpleAlert("close");
|
||||
$.simpleAlert(msg.data.desc, 'error', 2000);
|
||||
}
|
||||
});
|
||||
}
|
||||
$.simpleAlert("保存成功", "ok");
|
||||
//保存结束时间戳
|
||||
//var saveEndTime = new Date().getTime();
|
||||
//console.log("流程保存时间:", (saveEndTime - saveStartTime) + "毫秒");
|
||||
},
|
||||
error: function (jqXHR, textStatus, errorThrown) {
|
||||
$.simpleAlert("close");
|
||||
$.simpleAlert('保存失败', 'error', 1500);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
$.simpleAlert("close");
|
||||
$.simpleAlert(msg.data.desc, 'error', 2000);
|
||||
var result = msg.data;
|
||||
var resultMsg = [];
|
||||
for (var i = 0; i < result.length; i++) {
|
||||
var o = result[i];
|
||||
resultMsg.push('[' + o.shapeName + ']的[' + o.attrName + ']不能为空' );
|
||||
}
|
||||
$.simpleAlert(resultMsg.join('<br>'), 'error');
|
||||
// $.simpleAlert(ro.msg, 'error');
|
||||
}
|
||||
},
|
||||
error: function (jqXHR, textStatus, errorThrown) {
|
||||
$.simpleAlert("close");
|
||||
$.simpleAlert('保存失败', 'error', 1500);
|
||||
$.simpleAlert('校验失败', 'error', 1500);
|
||||
}
|
||||
});
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -181,7 +195,7 @@ $(function() {
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
//在弹出“是否离开”的提示框后,选择离开,则触发onunload事件
|
||||
window.onunload = function(){
|
||||
@ -197,7 +211,7 @@ $(function() {
|
||||
uuid: ruuid
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
// saveTimer();
|
||||
intervalRefresh();
|
||||
}
|
||||
@ -238,7 +252,7 @@ $(function() {
|
||||
$('#bar_sort').off("click").on("click",function (){
|
||||
if ($("#saving_tip").text() != "已保存成功" && $("#saving_tip").text() != "保存成功" && $("#saving_tip").text() != "您的文件已经成功保存") {
|
||||
$.simpleAlert('页面未保存,请先保存', 'error', 1500);
|
||||
return;
|
||||
|
||||
} else {
|
||||
// $.simpleAlert("正在编号", "loading");
|
||||
// $.ajax({
|
||||
@ -268,11 +282,11 @@ $(function() {
|
||||
{ shapeId: 'obj_c9e1cdab200000014a2eade016e8170d',order: 5},
|
||||
{ shapeId: 'obj_c9e1cdb266f0000159a7c8afa7701a68',order: 6},
|
||||
]
|
||||
}
|
||||
let obj = Model.define
|
||||
console.log(obj)
|
||||
let elements = obj.elements
|
||||
let orderList = numObj.orderList
|
||||
};
|
||||
let obj = Model.define;
|
||||
console.log(obj);
|
||||
let elements = obj.elements;
|
||||
let orderList = numObj.orderList;
|
||||
for (let j = 0; j < orderList.length; j++) {
|
||||
for(let i in elements) {
|
||||
if (orderList[j].shapeId == i) {
|
||||
@ -303,7 +317,7 @@ $(function() {
|
||||
$("#saving_tip").text("文件已修改,未保存");
|
||||
}
|
||||
})
|
||||
})
|
||||
});
|
||||
|
||||
|
||||
/**定时保存**/
|
||||
@ -321,7 +335,7 @@ function saveTimer() {
|
||||
alertmsg(count, msg);
|
||||
}
|
||||
}})
|
||||
}
|
||||
};
|
||||
alertmsg(count, msg);
|
||||
// $.simpleAlert("5秒之后自动进行保存", "info", 5000, {callback:function(){$("#bar_save").click();}});
|
||||
}, 300000);
|
||||
@ -343,7 +357,7 @@ function intervalRefresh() {
|
||||
alert : false,
|
||||
ok: function(msg){
|
||||
if (msg.data.isLocked) {
|
||||
var m = '当前流程被 ' + msg.data.currentUserName + ' 强行获取编辑权或锁定'
|
||||
var m = '当前流程被 ' + msg.data.currentUserName + ' 强行获取编辑权或锁定';
|
||||
$.simpleAlert(m,"info",4000,{mode:true,callback:function() {
|
||||
if ($("#saving_tip").text() != "已保存成功" && $("#saving_tip").text() != "保存成功" && $("#saving_tip").text() != "您的文件已经成功保存" && $("#saving_tip").text() != "") {
|
||||
$("#saving_tip").text('');// 防止reload时出现浏览器自带提示
|
||||
@ -389,7 +403,7 @@ var CommonLock = {
|
||||
window.location.reload();
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// 记录所有节点及节点名称,保存时对比
|
||||
var shapeTextRecord = {};
|
||||
|
||||
@ -3045,78 +3045,51 @@ var Dock = {
|
||||
else if(this.currentView == 'diff') {
|
||||
// var html = "<div style=\"font-size: 16px; color: #aaa; text-align: center; vertical-align: middle; line-height: 200px;\">暂无版本差异</div>";
|
||||
var html = ''
|
||||
var diffContent = [
|
||||
{
|
||||
versionName: 'Ver 2.0',
|
||||
updateTime: '5月19日 16:00',
|
||||
updateContent: [
|
||||
{
|
||||
title: '文件修改:',
|
||||
detail: ['[内容]增加了111111111111111111','[责任部门]增加了11111111111111111']
|
||||
},
|
||||
{
|
||||
title: '节点修改:',
|
||||
detail: ['删除[开始事件]节点','删除[开始]节点','删除[人工]节点']
|
||||
},
|
||||
{
|
||||
title: '[文件]删除11111111111',
|
||||
detail: []
|
||||
$.ajax({
|
||||
url: "./jd?sid=" + $("#sid").val()
|
||||
+ "&cmd=com.actionsoft.apps.coe.pal_repository_model_version_diff_query&wsId=" + $("#wsId").val()
|
||||
+ "&id=" + ruuid,
|
||||
success: function (ro) {
|
||||
// console.log("历史差异结果: " + JSON.stringify(ro))
|
||||
if (ro.result == "ok") {
|
||||
var diffContent = ro.data;
|
||||
for (var i = 0; i < diffContent.length; i++) {
|
||||
var diffCount = 0
|
||||
var content = diffContent[i].updateContent
|
||||
var diffListHtml = ''
|
||||
for (var j = 0; j < content.length; j++) {
|
||||
var diffDetailHtml = ''
|
||||
var listDetail = content[j].detail
|
||||
if (listDetail.length == 0) {
|
||||
diffCount += 1
|
||||
}
|
||||
for (var k = 0; k < listDetail.length; k++) {
|
||||
diffCount += 1
|
||||
diffDetailHtml += '<div style="margin-left: 10px">' + '·' + listDetail[k] + '</div>'
|
||||
}
|
||||
diffListHtml += '<div>' + content[j].title + '</div>'
|
||||
+ '<div>' + diffDetailHtml + '</div>'
|
||||
|
||||
}
|
||||
html += '<tr>'
|
||||
+ '<td style="width:50px;">' + diffContent[i].versionName + '</td>'
|
||||
+ '<td style="width:250px">' + diffContent[i].updateTime + '<span style="padding-left: 10px">' + '(' + diffCount + '处修改)' + '</span>' + '</td>'
|
||||
+ '</tr>'
|
||||
+ '<tr>'
|
||||
+ '<td style="width:50px"></td>'
|
||||
+ '<td style="width:250px">' + diffListHtml + '</td>'
|
||||
+ '</tr>'
|
||||
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
versionName: 'Ver 1.0',
|
||||
updateTime: '5月14日 15:00',
|
||||
updateContent: [
|
||||
{
|
||||
title: '文件修改',
|
||||
detail: ['[内容]增加了111111111111 ',]
|
||||
},
|
||||
{
|
||||
title: '节点修改',
|
||||
detail: ['删除[开始事件]节点','删除[开始]节点','删除[人工]节点','删除[结束]节点']
|
||||
},
|
||||
{
|
||||
title: '[制度]增加了11111111111111',
|
||||
detail: []
|
||||
},
|
||||
{
|
||||
title: '[文件]删除了11111111111',
|
||||
detail: []
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
for (var i = 0; i < diffContent.length; i++) {
|
||||
var diffCount = 0
|
||||
var content = diffContent[i].updateContent
|
||||
var diffListHtml = ''
|
||||
for (var j = 0; j < content.length; j++) {
|
||||
var diffDetailHtml = ''
|
||||
var listDetail = content[j].detail
|
||||
if (listDetail.length == 0) {
|
||||
diffCount +=1
|
||||
$("#diffTable").empty().html(html)
|
||||
} else {
|
||||
html = '<tr>'
|
||||
+ ro.msg
|
||||
+ '</tr>'
|
||||
$("#diffTable").empty().html(html)
|
||||
}
|
||||
for (var k = 0; k < listDetail.length; k++) {
|
||||
diffCount +=1
|
||||
diffDetailHtml += '<div style="margin-left: 10px">' + '·' +listDetail[k]+'</div>'
|
||||
}
|
||||
diffListHtml += '<div>' + content[j].title +'</div>'
|
||||
+ '<div>'+diffDetailHtml+'</div>'
|
||||
|
||||
}
|
||||
html += '<tr>'
|
||||
+ '<td style="width:50px;">' + diffContent[i].versionName + '</td>'
|
||||
+ '<td style="width:250px">' + diffContent[i].updateTime + '<span style="padding-left: 10px">' + '(' + diffCount + '处修改)' + '</span>' + '</td>'
|
||||
+ '</tr>'
|
||||
+ '<tr>'
|
||||
+ '<td style="width:50px"></td>'
|
||||
+ '<td style="width:250px">' + diffListHtml + '</td>'
|
||||
+ '</tr>'
|
||||
|
||||
}
|
||||
$("#diffTable").empty().html(html)
|
||||
|
||||
});
|
||||
}
|
||||
if (this.currentView == "history") {
|
||||
if (drawNav && Dock.historyVersions == null) {
|
||||
|
||||
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user