/** * @author wangyh 与插入链接,属性,关系相关的js内容 */ var selectedShapes = []; var linkType; // 链接类型:custom:自定义链接;file:文件链接 $(document).ready(function() { showPainting(); setTimeout(function() { Designer.hotkey.init();// 解决快捷健绑定不成功 DesignerCopyPaste.changeTitleListen(); if (selectedElementId && selectedElementId != "") { Utils.selectShape(selectedElementId); }// 复制粘贴形状内容同步的监听 }, 1000); }); /** * 兼容1024*768画布显示 * * @param {} * */ function showPainting() { var width = screen.width; if (width == 1024) { $("#toolbar_wfversion_info").addClass("showPainting"); if (parent.getWidthToolbar() > 750) { $(".toolbar").removeClass("heightCssToolbar") .addClass("toolbarExtend"); $("#bar_back").removeClass("cssToolbar"); } else { $(".toolbar").addClass("heightCssToolbar") .removeClass("toolbarExtend"); $("#bar_back").addClass("cssToolbar"); } } } /** * 重写单击图形时的触发的事件 * * @param {} * * @returns {} */ Designer.op.shapeSelectable = function(a) { var b = $("#designer_canvas"); b.bind("mousedown.select", function(d) { Designer.op.changeState("seelcting_shapes"); var e = a.id; var c = []; if (d.ctrlKey) { var c = Utils.getSelectedIds(); if (Utils.isSelected(e)) { Utils.removeFromArray(c, e); } else { c.push(e); } Utils.unselect(); if (c.length > 0) { Utils.selectShape(c); } } else { if (Utils.selectIds.indexOf(e) < 0) { Utils.unselect(); Utils.selectShape(e); } } $(document).bind("mouseup.select", function() { Designer.op.resetState(); b.unbind("mousedown.select"); $(document).unbind("mouseup.select"); }); // selectedShapes DesignerCopyPaste.selectedShapeId = Utils.getSelected()[0].id; if ($("div.dock_view_attribute").is(":visible")) { showShapeRelationTab(null); attributeShowTabContent(null); shapeCopyAndPasteCount(null); showRelevanceShapesContent(); } }); }; var myshapeLink = ""; var linkIndex = 0; var selectShape = Utils.getSelected()[0]; /** * 功能:去除字符串中所有空格 传参:需要处理的字符串 返回值:去除空格后的字符串 */ function trimSpaces(Str) { var ResultStr = ""; Temp = Str.split(/\s/); for (i = 0; i < Temp.length; i++) { ResultStr += Temp[i]; } return ResultStr; } //风险控制 UI.showRiskDlg = function(){ var shape = Utils.getSelected()[0]; var number; if (shape.dataAttributes != undefined) { for (var i = 0; i < shape.dataAttributes.length; i++) { if (shape.dataAttributes[i].privateAttributeContent != null) { var privateAttributeContent = shape.dataAttributes[i].privateAttributeContent; if (typeof(privateAttributeContent) == "string") { privateAttributeContent = eval("(" + privateAttributeContent + ")"); } number = privateAttributeContent.number; } } } if (number == undefined || number == "") { $.simpleAlert("请先维护该节点编号"); return; } var riskDlg = FrmDialog.open({ width:800, height:700, url:"./w?sid=" + $("#sid").val() + "&cmd=com.actionsoft.apps.coe.pal.risk_pal_designer_risk", data:{"plId":ruuid, "taskId": shape.id, "taskNum": number} }); } //流程节点的风险控制不为空,重新渲染shape function renderShapeRisks(risk, control) { var shape = Utils.getSelected()[0]; if (shape.dataAttributes != undefined) { var riskFlag = false; var controlFlag = false; for (var i = 0; i < shape.dataAttributes.length; i++) { if (shape.dataAttributes[i].risk != undefined) { shape.dataAttributes[i].risk = risk; riskFlag = true; } if (shape.dataAttributes[i].control != undefined) { shape.dataAttributes[i].control = control; controlFlag = true; } } if (!riskFlag) { var index = shape.dataAttributes.length -1; shape.dataAttributes[index].risk = risk; } if (!controlFlag) { var index = shape.dataAttributes.length -1; shape.dataAttributes[index].control = control; } } Designer.painter.renderShape(shape); } // 判断给定的对象是不是数组 function isArray(o) { return Object.prototype.toString.call(o) === '[object Array]'; } // 出现复制图形的统计 function shapeCopyAndPasteCount(shape) { if (!$("#tagContent2").is(":visible")) { return; } if (shape == null) shape = Utils.getSelected()[0]; $("#tagContentTableTitleContent2").empty(); var shapeGroupId = ""; var isCopy = ""; var shapeId = shape.id; for (var i = 0; i < shape.dataAttributes.length; i++) { var attr = shape.dataAttributes[i]; if (attr.shapeGroupId) { shapeGroupId = attr.shapeGroupId; isCopy = attr.isCopy; break; } } var data = "shapeGroupId=" + shapeGroupId + "&shapeId=" + shapeId + "&isCopy=" + isCopy; } function showRelevanceShapesContent() { if (!$("#tagContent3").is(":visible")) { return; } $.ajax({ type : "POST", url : "./jd?sid=" + CLB.sid + "&cmd=com.actionsoft.apps.coe.pal_pl_repository_designer_relation_shape_relevance_show", data : { shapeId : Utils.getSelected()[0].id, fileId: ruuid }, success : function(msg) { $("#tagContentTableTitleContent3").empty(); if (msg.data.result == "ok") { var shapesObj = msg.data.list; var mouseover = "onmouseout=\"hideRemoveTrAttribute(this);\""; var mouseout = "onmouseover=\"showRemoveTrAttribute(this);\""; if (role == "viewer") { mouseover = ""; mouseout = ""; } for (var i = 0; i < shapesObj.length; i++) { var style = ""; var onclick = ""; if (editable || filePerms == "-" || filePerms.indexOf(shapesObj[i].fileVersionId) > -1) { style = "cursor:pointer;color:blue;"; if (parent.openDesginerFromAttr) { onclick = 'parent.openDesginerFromAttr(\'' + shapesObj[i].fileId + '\',0,\'' + shapesObj[i].fileName + '\',\'\',\'\',false,\'' + shapesObj[i].shapeId + '\')'; } else if (window.opener.openDesginer) { var obj = { id: shapesObj[i].fileId, processDefId: '' } onclick = 'window.opener.openDesginer({id:\'' + shapesObj[i].fileId + '\', processDefId:\'\'})'; } } var content = '' + '
' + shapesObj[i].fileName + '(V ' + shapesObj[i].fileVersion + '.0)' + '
' + '
' + shapesObj[i].shapeText + '
'; $("#tagContentTableTitleContent3").append(content); } } } }); } function getPrivateAttributeHtml(attributesJsonArray, tbodyId, shape) { // 属性排序 var defaultMoreAttr = $('#defaultMoreAttrSort').val(); if(defaultMoreAttr.length > 0) { var arr = defaultMoreAttr.split('|'); var tempAttrArray = []; for(var i = 0; i < arr.length; i++) { for(var j = 0; j < attributesJsonArray.length; j++) { if(attributesJsonArray[j] == undefined || attributesJsonArray[j] == null) { continue; } if(arr[i] == attributesJsonArray[j].id) { tempAttrArray.push(attributesJsonArray[j]); } } } //取新添加的属性 if (tempAttrArray.length > 0) { var newAttrArray = []; newAttrArray = tempAttrArray.concat(attributesJsonArray).filter(function(v, i, arr) { return arr.indexOf(v) === arr.lastIndexOf(v); });; attributesJsonArray = tempAttrArray.concat(newAttrArray); } } var flag = false; var objIds = []; var selectFlag = false; var selectValues = []; var mouseover = "onmouseout=\"hideRemoveTrAttribute(this);\""; var mouseout = "onmouseover=\"showRemoveTrAttribute(this);\""; if (role == "viewer") { mouseover = ""; mouseout = ""; } var userAddress = false; var deptAddress = false; var userObjIds = new Array(); var deptObjIds = new Array(); var deptIds = ""; for (var index = 0; index < attributesJsonArray.length; index++) { var obj = attributesJsonArray[index]; if (obj != null && obj != undefined && obj.value != undefined) { if(obj.name=="活动序号"){ continue; } var constr = ''; /*constr += '' + obj.name + '';*/ constr += '' + obj.name + ':' + obj.value + ''; constr += ''; if ((!obj.readonly && obj.type == "string") || (!obj.readonly && obj.type == "list")) { // 目前支持到文本的输入 ,需求定下了再改 constr = ''; /*constr += '' + obj.name + '';*/ constr += '' + '【' + obj.name + '】'+' '+ obj.value + ''; constr += ''; } else if (!obj.readonly && obj.type == "link") { constr = ''; /*constr += '' + obj.name + '';*/ // constr += '' + obj.value + ''; constr += '' + '【' + obj.name + '】'+' '+ '' + obj.value + '' + ''; constr += ''; } else if (!obj.readonly && obj.type == "number") { constr = ''; /*constr += '' + obj.name + '';*/ constr += '' + '【' + obj.name + '】'+' '+ obj.value + ''; constr += ''; } else if (!obj.readonly && obj.type == "boolean") { constr = ''; /*constr += '' + obj.name + '';*/ constr += '' + '【' + obj.name + '】'+' '+ ''; constr += ''; } else if (!obj.readonly && obj.type == "textarea") { constr = ''; /*constr += '' + obj.name + '';*/ if (obj.value == undefined) { obj.value = ''; } constr += '' + '【' + obj.name + '】'+' '+ obj.value.replace(/\n/g, '
') + ''; constr += ''; } else if (obj.readonly && obj.type == "relation") { var relationValue = ""; if (relationShapesData[shape.id] !== null && relationShapesData[shape.id][obj.id] != null) { relationValue = relationShapesData[shape.id][obj.id]; } constr = ''; /*constr += '' + obj.name + '';*/ constr += '' + '【' + obj.name + '】'+' '+ relationValue + ''; constr += ''; } else if (obj.type == "select" || obj.type == "select_m") { constr = ''; /*constr += '' + obj.name + '';*/ constr += '' + '【' + obj.name + '】'+' '+ obj.value + ''; constr += ''; selectFlag = true; var selectValue = { "objId": obj.id, "objValue": obj.value, "objType": obj.type }; selectValues.push(selectValue); } else if (obj.readonly && obj.type == "userAddress") { userAddress = true; userObjIds.push(obj.id); var relationValue = ""; if (relationShapesData[shape.id] !== null && relationShapesData[shape.id][obj.id] != null) { relationValue = relationShapesData[shape.id][obj.id]; } constr = ''; /*constr += '' + obj.name + '';*/ constr += '' + '【' + obj.name +'】'+' '+ relationValue + ''; constr += ''; } else if (obj.readonly && obj.type == "deptAddress") { deptAddress = true; deptObjIds.push(obj.id); deptIds += "," + obj.value; var relationValue = ""; if (relationShapesData[shape.id] !== null && relationShapesData[shape.id][obj.id] != null) { relationValue = relationShapesData[shape.id][obj.id]; } constr = ''; /*constr += '' + obj.name + '';*/ constr += '' + '【' + obj.name +'】'+' '+ relationValue + ''; constr += ''; } else if (obj.readonly && obj.type == "awsorg") { var relationValue = ""; if (relationShapesData[shape.id] !== null && relationShapesData[shape.id][obj.id] != null) { relationValue = relationShapesData[shape.id][obj.id]; } constr = ''; /*constr += '' + obj.name + '';*/ constr += '' + '【' + obj.name +'】'+' '+ relationValue + ''; constr += ''; } else if (obj.readonly && obj.type == "hidden") { constr = '' + ' ' + obj.name + '' + ' ' + ' ' //+ '
' + ''; } else if (obj.type == "table") { let tableInput = '请输入' if (obj.value.table.length > 1) { tableInput = '请查看' } constr = ''; /*constr += '' + obj.name + '';*/ constr += '' + '【' + obj.name +'】'+' '+ ' ' + tableInput + '' + ''; constr += ''; } $('#' + tbodyId + ' table[name=' + shape.id + ']').append(constr); } } if (selectFlag) { getSelectOptions(shape.category, selectValues); //处理select类型 } } // table表格 function openDialog(obj) { let tableName = obj.name let dialogTable = obj.table $("#attribute-table-content2").empty() let thead = '' + '' + dialogTable[0].name + '' + '' + dialogTable[0].desc + '' +'' $('#attribute-table-content2').append(thead) for ( let i = 1; i < dialogTable.length; i++) { let str = '' + '' + dialogTable[i].name + '' + '' + dialogTable[i].desc + '' +'' $('#attribute-table-content2').append(str) } $("#attribute-table-window2").dialog({ title: tableName, draggable: true, buttons : [{ text : '确定', cls : "blue", handler : function() { $("#attribute-table-window2").dialog('close'); } }, { text : '取消', handler : function() { $("#attribute-table-window2").dialog('close'); } }] }) } Array.prototype.unique = function(){ var res = []; var json = {}; for(var i = 0; i < this.length; i++){ if(!json[this[i]]){ res.push(this[i]); json[this[i]] = 1; } } return res; } // 得到不同属性值关联的形状 function getAttributeByAttrId(shape, objId, relationShapes) { //objId 属性的key值 var exitAttributesJsonArray = []; var attrArr = []; //修改后的属性值 for (var i = 0; i < relationShapes.length; i++) { var shapeObjT = relationShapes[i]; attrArr.push(shapeObjT.relationShapeId); } attrArr = attrArr.unique(); //属性值去重 if (attrArr.length > 0) { for (var i = 0; i < shape.dataAttributes.length; i++) { var attr = shape.dataAttributes[i]; if (attr.attributesJsonArray) { exitAttributesJsonArray = attr.attributesJsonArray; break; } } for (var c = 0; c < exitAttributesJsonArray.length; c++) { var el = exitAttributesJsonArray[c]; if(el == null) continue; if (el.id == objId) { el.value = attrArr.join(","); break; } } for (var i = 0; i < shape.dataAttributes.length; i++) { var attr = shape.dataAttributes[i]; if (attr.attributesJsonArray) { attr.attributesJsonArray = exitAttributesJsonArray; break; } } for (var j = 0, len = attrArr.length; j < len; j++) { var attrShapeId = attrArr[j]; relationShapesObject[attrShapeId] = {"relationShapeId" : attrShapeId}; } $("input[objid_shapeId='" + objId + "']").val(attrArr.join(",")); } else { $("input[objid_shapeId='" + objId + "']").val(""); } return shape; } Array.prototype.notDistinct = function() { var newArr = [], obj = {}; for (var i = 0, len = this.length; i < len; i++) { if (!obj[this[i]]) { newArr.push(this[i]); obj[this[i]] = 'new'; } } return newArr; } // 删除掉关联形状 function removeTrRelevanceShapes(obj) { var options = { title : "提示", content : "确定删除吗?", model : false, onConfirm : function() { // 确定删除 var shape = Utils.getSelected()[0]; var tempArray = new Array(); var count = 0; if (shape) { var relevanceShapes = []; for (var i = 0; i < shape.dataAttributes.length; i++) { var attr = shape.dataAttributes[i]; if (attr.relevanceShapes) { relevanceShapes = attr.relevanceShapes; break; } } for (var index = 0; index < relevanceShapes.length; index++) { var tempObj = relevanceShapes[index]; if (tempObj.id == $(obj).attr("objid")) { continue; } tempArray[count++] = tempObj; } for (var i = 0; i < shape.dataAttributes.length; i++) { var attr = shape.dataAttributes[i]; if (attr.relevanceShapes) { attr.relevanceShapes = tempArray; break; } } Model.update(shape); } $(obj).hide(); $(obj).parent().parent().remove(); $.ajax({ type : "POST", url : "./jd?sid=" + CLB.sid + "&cmd=com.actionsoft.apps.coe.pal_pl_repository_designer_relation_shape_relevance_remove", data : { uuid : $(obj).attr("objid"), }, success : function(msg) { } }); } }; window.top.$.confirm(options); } // 过虑 掉重复的图形 function filterRepeatShapes(arr1, shape) { var arr2 = []; var arr = []; for (var i = 0; i < shape.dataAttributes.length; i++) { var attr = shape.dataAttributes[i]; if (attr.relevanceShapes) { arr2 = attr.relevanceShapes; break; } } var flag = false; for (var a = 0; a < arr1.length; a++) { var arrEle1 = arr1[a]; for (var b = 0; b < arr2.length; b++) { var arrEle2 = arr2[b]; if (arrEle1.id == arrEle2.id) { flag = true; break; } } if (flag) { flag = false; continue; } arr2.push(arrEle1); } for (var i = 0; i < shape.dataAttributes.length; i++) { var attr = shape.dataAttributes[i]; if (attr.relevanceShapes) { attr.relevanceShapes = arr2; break; } } return shape; } function updateModelElementsAttribute(selectedShape, nodes) { var shapes = Model.define.elements; for (var shapeId in shapes) { var obj = nodes; var shape = shapes[shapeId]; if(shape.name != "linker" && shape.id != selectedShape.id && shape.name == selectedShape.name){ var exitAttributesJsonArray = []; var attrIndex = 0; for (var i = 0; i < shape.dataAttributes.length; i++) { var attr = shape.dataAttributes[i]; if (attr.attributesJsonArray) { exitAttributesJsonArray = attr.attributesJsonArray; attrIndex = i; break; } } var arrJsontemp = []; for (var t = 0; t < exitAttributesJsonArray.length; t++) { if(exitAttributesJsonArray[t] == null) { continue; } arrJsontemp.push(exitAttributesJsonArray[t]); } obj = filterRepeatAttribute(obj, exitAttributesJsonArray, shape.dataAttributes[attrIndex].attributesJsonArray); for (var a = 0; a < obj.length; a++) { for (var i = 0; i < shape.dataAttributes.length; i++) { var attr = shape.dataAttributes[i]; if (attr.attributesJsonArray) { attr.attributesJsonArray.push(obj[a]); break; } } } if (arrJsontemp.length != 0) { var tempArr = removeShepeAttributeAndReturnDifferent(arrJsontemp, filterNotCheckedAttribute(nodes, arrJsontemp)); var tempArray = new Array(); for (var e = 0; e < tempArr.length; e++) { if (tempArr[e] != 0 && tempArr[e] != "0") { removeNotCheckedAttribute(shape, tempArr[e]); } } if (tempArray.length != 0) { shape.attributesJsonArray = tempArray; for (var i = 0; i < shape.dataAttributes.length; i++) { var attr = shape.dataAttributes[i]; if (attr.attributesJsonArray) { attr.attributesJsonArray = tempArray; break; } } } } Model.update(shape); //修改属性时,后台查询是否有关联属性,如果删除的属性有关联属性,需要删除关联表中的数据 var attrIds = ","; if (nodes != undefined) { for (var i = 0; i < nodes.length; i++) { if (nodes[i].type) { attrIds += nodes[i].id + ","; } } awsui.ajax.request({ url : "./jd", method : "POST", data : { sid:sid, cmd:"com.actionsoft.apps.coe.pal_pl_repository_designer_relation_shape_relevance_check", fileId: ruuid, shapeId: shape.id, attrIds: attrIds }, ok : function(r) { }, err:function(r){ } }); } } } } // 过虑出当在节点上不选中时的属性 function filterNotCheckedAttribute(checkedObj, exitObj) { var result1 = []; if (checkedObj.length == 0) { return []; } else { var flag = false; for (var b = 0; b < checkedObj.length; b++) { var checkedArr1 = checkedObj[b]; for (var a = 0; a < exitObj.length; a++) { var exitArr1 = exitObj[a]; if (exitArr1.id == checkedArr1.id) { result1.push(checkedArr1); break; } } } return result1; } } // 移除图形属性中部分已存在的元素并返回不同元素 function removeShepeAttributeAndReturnDifferent(exitObj, newObj1) { var result1 = []; for (var a = 0; a < newObj1.length; a++) { var obj1 = newObj1[a]; for (var i = 0, n = 0; i < exitObj.length; i++) { if (exitObj[i].id == obj1.id) { result1.push(i); break; } } } for (var i = 0; i < result1.length; i++) { exitObj[result1[i]] = 0; } return exitObj; } // 删除没有选中的元素 function removeNotCheckedAttribute(shape, obj1) { var tempArray = new Array(); var attributesJsonArray1 = []; for (var i = 0; i < shape.dataAttributes.length; i++) { var attr = shape.dataAttributes[i]; if (attr.attributesJsonArray) { attributesJsonArray1 = attr.attributesJsonArray; break; } } for (var index = 0; index < attributesJsonArray1.length; index++) { if(attributesJsonArray1[index] == null) { continue; } var tempObj1 = attributesJsonArray1[index]; if (tempObj1.id == obj1.id) { continue; } tempArray.push(tempObj1); } for (var i = 0; i < shape.dataAttributes.length; i++) { var attr = shape.dataAttributes[i]; if (attr.attributesJsonArray) { attr.attributesJsonArray = tempArray; break; } } // shape.attributesJsonArray = tempArray; // Model.update(shape); $("#" + shape.id + " name=[tagContentTable0] tr[objid='" + obj1.id + "']").remove(); } // 过滤掉重复的属性生成新的数组 function filterRepeatAttribute(arr1, arr2, shape) { var result = []; var flag = false; for (var a = 0; a < arr1.length; a++) { var arrEle1 = arr1[a]; for (var b = 0; b < arr2.length; b++) { var arrEle2 = arr2[b]; if(arrEle2 == null) { continue; } if (arrEle1.id == arrEle2.id) { shape[b].name = arrEle1.name; flag = true; break; } } if (flag) { flag = false; continue; } result.push(arrEle1); } return result; } // 当属性为可编辑时,编辑时自动保存 function showEditButton(obj) { $(obj).siblings("span::contains('...')").show(); } function saveInputContent(obj) { // 按钮 // $(obj).siblings("span::contains('...')").hide(); var objValue = $(obj).val(); if ($(obj).attr("inputType") == "number") { var val = $(obj).val(); if (/\D/.test(val)) { $.simpleAlert("此处只能输入数字", "info", 2000); $("#simplealert>.msg").css("top", "15px"); return; } } updateAttributeById($(obj).attr("objid"), objValue); } function saveSelectContent(objAttr,objValue){ updateAttributeById(objAttr, objValue); } // 显示select下拉框 function showSelectOption(obj) { var str = $(obj).attr("ty"); if (str == "td") { $(obj).children("select").show(); $(obj).children("span").hide(); } else { updateAttributeById($(obj).attr("objid"), $(obj) .find("option:selected").text()); $(obj).hide(); $(obj).siblings("span").text($(obj).find("option:selected").text()) .show(); } } // 属性编辑打开窗口 function showAttributedEditWindow(obj) { var objId = $(obj).attr("objid"); var shape = Utils.getSelected()[0]; if (shape) { if (objId == "desc") { for (var i = 0; i < shape.dataAttributes.length; i++) { var attr = shape.dataAttributes[i]; if (attr.shapeDesc != undefined) { $("#attribute-edit-title").text("描述/定义"); $("#attribute-edit-content").html(attr.shapeDesc == undefined ? "" : attr.shapeDesc.replace(/\n/g,'
')); break; } } } else { var attributesJsonArray = []; for (var i = 0; i < shape.dataAttributes.length; i++) { var attr = shape.dataAttributes[i]; if (attr.attributesJsonArray) { attributesJsonArray = attr.attributesJsonArray; break; } } for (var index = 0; index < attributesJsonArray.length; index++) { var tempObj = attributesJsonArray[index]; if (tempObj.id == objId) { $("#attribute-edit-title").text(tempObj.name); $("#attribute-edit-content").val(tempObj.value); break; } } } } $("#attribute-edit-window").dialog({ draggable: false, buttons : [{ text : '确定', cls : "blue", handler : function() { var str = $("#attribute-edit-content").val(); if (objId == "desc") { for (var i = 0; i < shape.dataAttributes.length; i++) { var attr = shape.dataAttributes[i]; if (attr.shapeDesc != undefined) { shape.dataAttributes[i].shapeDesc = str; break; } } Model.update(shape); } else { updateAttributeById($(obj).attr("objid"), str); } $(obj).val(str); $("#attribute-edit-window").dialog('close'); } }, { text : '关闭', handler : function() { $("#attribute-edit-window").dialog('close'); } }] }); } // 对单个属性的更新操作 function updateAttributeById(objId, va) { // var shape = Utils.getSelected()[0]; var shape = selectShape; var tempArray = new Array(); var count = 0; if (shape) { /* * for (var i = 0; i < shape.dataAttributes.length; i++) { var attr = * shape.dataAttributes[i]; if (attr.attributesContent) { * attr.attributesContent = $("#" + shape.id + " tbody[name=tagContentTable0]").html(); break; } } */ var attributesJsonArray = shape.attributesJsonArray; for (var i = 0; i < shape.dataAttributes.length; i++) { var attr = shape.dataAttributes[i]; if (attr.attributesJsonArray) { attributesJsonArray = attr.attributesJsonArray; break; } } for (var index = 0; index < attributesJsonArray.length; index++) { var tempObj = attributesJsonArray[index]; if(tempObj == null) { continue; } if (tempObj.id == objId) { tempObj.value = va; tempArray[count++] = tempObj; continue; } tempArray[count++] = tempObj; } if (tempArray.length > 0) { shape.attributesJsonArray = tempArray; for (var i = 0; i < shape.dataAttributes.length; i++) { var attr = shape.dataAttributes[i]; if (attr.attributesJsonArray) { attr.attributesJsonArray = tempArray; break; } } if ("isAutoSave" == 1) { CLB.cmdList = [{ "type" : "message", "cmd" : "com.actionsoft.apps.coe.pal_pl_repository_designer_message" }]; } Model.update(shape); } } } // 删除行上的属性 function removeTrAttribute(obj) { var options = { title : "提示", content : "确定删除吗?", model : false, onConfirm : function() { // 确定删除 var shape = Utils.getSelected()[0]; var tempArray = new Array(); var count = 0; if (shape) { // shape.attributesContent = $("#" + shape.id + " tbody[name=tagContentTable0]").html(); var attributesJsonArray = []; for (var i = 0; i < shape.dataAttributes.length; i++) { var attr = shape.dataAttributes[i]; if (attr.attributesJsonArray) { attributesJsonArray = attr.attributesJsonArray; break; } } for (var index = 0; index < attributesJsonArray.length; index++) { var tempObj = attributesJsonArray[index]; if (tempObj.id == $(obj).attr("objid")) { continue; } tempArray[count++] = tempObj; } // if (tempArray.length >= 0) { shape.attributesJsonArray = tempArray; for (var i = 0; i < shape.dataAttributes.length; i++) { var attr = shape.dataAttributes[i]; if (attr.attributesJsonArray) { attr.attributesJsonArray = tempArray; break; } } Model.update(shape); // } } $(obj).hide(); $(obj).parent().parent().remove(); $.ajax({ type : "POST", url : "./jd?sid=" + CLB.sid + "&cmd=com.actionsoft.apps.coe.pal_pl_repository_designer_relation_shape_relevance_remove", data : { uuid : $(obj).attr("objid"), shapeId : Utils.getSelected()[0].id, fileId : ruuid }, success : function(msg) { } }); } }; window.top.$.confirm(options); } // 显示删除按钮 function showRemoveTrAttribute(obj) { $(obj).addClass("attr_bg_color_tr"); $("input[name=attribute_name_input_" + $(obj).attr("objid") + "]") .addClass("attr_bg_color_tr"); $("input[name=attribute_name_input_" + $(obj).attr("objid") + "]").parent() .addClass("attr_bg_color_tr"); $(obj).children("td").children(".ico_attribute_delete").show(); if ($(obj).attr("ty") == "sel") { $(obj).children("td").children("select").show(); $(obj).children("td").children("span").hide(); } } // 隐藏删除按钮 function hideRemoveTrAttribute(obj) { $(obj).removeClass("attr_bg_color_tr"); $("input[name=attribute_name_input_" + $(obj).attr("objid") + "]") .removeClass("attr_bg_color_tr"); $("input[name=attribute_name_input_" + $(obj).attr("objid") + "]").parent() .removeClass("attr_bg_color_tr"); $(obj).children("td").children(".ico_attribute_delete").hide(); if ($(obj).attr("ty") == "sel") { $(obj).children("td").children("select").hide(); $(obj).children("td").children("span").show(); } } // 经常用的是通过遍历,重构数组. Array.prototype.remove = function(dx) { if (isNaN(dx) || dx > this.length) { return false; } for (var i = 0, n = 0; i < this.length; i++) { if (this[i] != this[dx]) { this[n++] = this[i]; } } this.length -= 1; }; function removeElementFromArr(dx, obj) { if (isNaN(dx) || dx > obj.length) { return false; } for (var i = 0, n = 0; i < obj.length; i++) { if (obj[i] != obj[dx]) { obj[n++] = obj[i]; } } obj.length -= 1; return obj; } // 在数组中获取指定值的元素索引 Array.prototype.getIndexByValue = function(value) { var index = -1; for (var i = 0; i < this.length; i++) { if (this[i].url == value) { index = i; break; } } return index; }; Array.prototype.getIndexByValueById = function(value) { var index = -1; for (var i = 0; i < this.length; i++) { if (this[i] == value) { index = i; break; } } return index; }; // 重写链接创建后的事件 Designer.events.addEventListener("linkerCreated", function(linker) { /** * var toId = linker.to.id; //当前选中的图形 var fromShape = * Utils.getSelected()[0]; //目标图形 var toShape = * Model.getShapeById(toId); var toShapeTemp = []; for (var index = * 0; index < linkerRelationship.length; index++) { var shapes = * linkerRelationship[index]; var fromShapeId = shapes.fromShapeId; * var toShapeIds = shapes.toShapeId; if (fromShape.name == * fromShapeId) { if (toShapeIds != "*") { //判断是针对哪些图形有效 if * (toShapeIds.indexOf(",") > 0) { toShapeTemp = * toShapeIds.split(","); } else { toShapeTemp.push(toShapeIds); } } } } * if (toShapeTemp.length != 0) { for (var index = 0; index < * toShapeTemp.length; index++) { var tempShapeId = * toShapeTemp[index]; //删除这条线 if (toShape.name != tempShapeId) { * $.simpleAlert("不支持所选对象与目标对象的这种关系", "error", 2500); //待续未完 * deleteLinkerSelected(linker); } } } // if (toShape.name == "xxx") { // * linker.to.id = null; //} //获取选中的链接线 var outlinkers = * Utils.getOutlinkers(fromShape); var l = linker; // * consloe.log(l); */ // 判断是不是支持这种关系类型 // isObjectRelationshipModel(linker, true); // showShapeRelationTab(null); // attributeShowTabContent(null); // showRelevanceShapesContent(); // shapeCopyAndPasteCount(null); }); /** * 图形创建后重写 */ Designer.events.addEventListener("created", function(shape) { if (Designer.status == "demo" && !demoCreatedTiped) { UI.showStartStep("created", $("#" + shape.id)); demoCreatedTiped = true; } /*************************************************************************** * var selectedShape = Utils.getSelected()[0]; var linkerIds = * Model.getShapeLinkers(selectedShape.id); * if(linkerIds&&linkerIds.length>0){ var linker = * Model.getShapeById(linkerIds[0]); isObjectRelationshipModel(linker, * true); } **************************************************************************/ showShapeRelationTab(shape); if(shape.category == "control_risk") { initPrivateAttribute(shape, "control_risk"); // 创建节点后编号提供默认值 } if(shape.category == "process_flowchart" || shape.category == "process_bpmn2") {// 流程flowchar编号初始化编号 if (!IsGroupChild(shape)) {// 不在组内部或者新建立的节点为组节点 // 获取最大编号 initPrivateAttribute(shape, shape.category); } if(shape.name == "group") {// 组置于最底层 // Designer.layerShapes("back"); var start = Model.orderList[0].zindex; //取到最小的zindex start -= 1; shape.props.zindex = start; } } attributeShowTabContent(shape); // shapeCopyAndPasteCount(shape); }); // 设置编号属性默认值 function initPrivateAttribute(newShape, type) { if (type == "control_risk") { var shapes = Model.define.elements; var max = 0; for (var shapeId in shapes) { var shape = shapes[shapeId]; if(shape.category == "control_risk") { // 过滤其他模型图形 var dataAttr = shape.dataAttributes[0]; var number = typeof dataAttr.privateAttributeContent == "string" ? JSON.parse(dataAttr.privateAttributeContent.replace(/'/g,'"')).number : dataAttr.privateAttributeContent.number; if(typeof number == 'string') number = number.replace(/^\s+|\s+$/g,""); if(!isNaN(number)) if(number > max) max = number; } } max = Math.floor(max) + 1; newShape.dataAttributes[0].privateAttributeContent = {'number': max }; } else { var shapes = Model.define.elements; var max = 0; for (var shapeId in shapes) { var shape = shapes[shapeId]; if (shape.dataAttributes != undefined) { for (var i = 0; i < shape.dataAttributes.length; i++) { if (shape.dataAttributes[i].privateAttributeContent != null) { var privateAttributeContent = shape.dataAttributes[i].privateAttributeContent; if (typeof(privateAttributeContent) == "string") { privateAttributeContent = eval("(" + privateAttributeContent + ")"); } var number = privateAttributeContent.number; if(number != undefined && number != null && number != "") { if(typeof number == 'string') number = number.replace(/^\s+|\s+$/g,""); if(!isNaN(number)) if(parseInt(number) > parseInt(max)) max = number; } } } } } // 设置最大编号为max+1 var json = "{'number':'编号'}"; // var json2 = "{'number':'" + (parseInt(max)+1) + "'}"; String.prototype.padLeft = Number.prototype.padLeft = function(total, pad) { return (Array(total).join(pad || 0) + this).slice(-total); } var no = ((parseInt(parseInt(max)/10) + 1)*10); if(no < 1000) { no = no.padLeft(3); } var json2 = "{'number':'" + no + "'}"; var shapeName = newShape.name; if (shapeName.indexOf("_custom") > -1) { shapeName = shapeName.substring(0, shapeName.indexOf("_")); } if (shapeName == "control" || shapeName == "risk" || shapeName == "item" || shapeName == "regulation" || shapeName == "procedure" || shapeName == "method" || shapeName == "manualOperation" || shapeName == "predefinedProcess" || shapeName == "callActivityCallingProcess" || shapeName == "businessRuleTask" || shapeName == "scriptTask" || shapeName == "sendTask" || shapeName == "userTask" || shapeName == "serviceTask" || shapeName == "manualTask" || shapeName == "receiveTask" || shapeName == "process" || shapeName == "decision" || shapeName == "group") { for (var i = 0; i < newShape.dataAttributes.length; i++) { var attr = newShape.dataAttributes[i]; if (attr.privateAttribute) { attr.privateAttribute = json; } if(attr.privateAttributeContent) { attr.privateAttributeContent = json2; } } } } } //判断新建立的节点是否在shapeName为group的组内部 function IsGroupChild(newShape) { var result = false; var newObj = newShape.props; var x2 = parseInt(newObj.x); var y2 = parseInt(newObj.y); var w2 = parseInt(newObj.w); var h2 = parseInt(newObj.h); if (newShape.name == "group") { return false; } else { // 是否在组内部 var shapes = Model.define.elements; for (var shapeId in shapes) { if (newShape.id == shapeId) continue; var shape = shapes[shapeId]; if (shape.name == "group") {// 存在组节点 var obj = shape.props; var x1 = parseInt(obj.x); var y1 = parseInt(obj.y); var w1 = parseInt(obj.w); var h1 = parseInt(obj.h); if (x1y2+h2 && x1+w1>x2+w2 && x1+w1>x2+w2 && y1+h1>y2+h2) { // 新建立节点在组内部 result = true; break; } } } } return result; } // 当不符合配置的关系时删除链接线 function deleteLinkerSelected(linker) { // moveShape移除图片 moveLinker移除链线 shapeMultiSelectable图形选中事件 designer.core.js var d = linker; if (d.length > 0) { Utils.unselect(); var e = Utils.getAttachedShapes(d); d = d.concat(e); var c = []; for (var b = 0; b < d.length; b++) { var a = Utils.getChildrenShapes(d[b]); c = c.concat(a) } d = d.concat(c); Model.remove(d) } } // 显示图形关系特性 function showShapeRelationTab(currentShape) { if (!$("#tagContent0").is(":visible")) { return; } // 拿到所选的图形 var selectedShape = Utils.getSelected()[0]; if (!selectedShape) return; if (currentShape) { selectedShape = currentShape } var linkers = Model.getShapeLinkers(selectedShape.id); var outlinkers = Utils.getOutlinkers(Utils.getSelected()); var l = linkers; $("#tagContentTable1").empty(); if (linkers != undefined) { for (var a = 0; a < linkers.length; a++) { // 根据连线的id拿到连线图形这个对象,再根据这个对象来找到他所关联的图形 var element = linkers[a]; var linkerObjs = Model.getShapeById(element); // 来自哪个图形 的id var fromId = linkerObjs.from.id; var toId = linkerObjs.to.id; var fromShape = Model.getShapeById(fromId); var toShape = Model.getShapeById(toId); if (fromShape != undefined && toShape != undefined) { // 此处判断的是从本图形出去的连线 if (fromShape.id == selectedShape.id) { for (var b = 0; b < linkerRelationship.length; b++) { var shapes = linkerRelationship[b]; var fromShapeId = shapes.fromShapeId; var toShapeIds = shapes.toShapeId; if (fromShape.name == fromShapeId) { if (toShapeIds != "*") { // 判断是针对哪些图形有效 if (toShapeIds.indexOf(",") > 0) { var toShapeTemp = toShapeIds.split(","); for (var c = 0; c < toShapeTemp.length; c++) { var josnShapeId = toShapeTemp[c]; if (josnShapeId == toShape.name) { addtagContentTableContent( fromShape, shapes.outcomingName, toShape); } } } else { if (toShapeIds == toShape.name) { addtagContentTableContent(fromShape, shapes.outcomingName, toShape); } } } else { // 当没有限制的时候 addtagContentTableContent(fromShape, shapes.outcomingName, toShape); } } } } else if (toShape.id == selectedShape.id) { // 此处需要完善当不扶持 对像关系类型时下面的代码 不执行 // 判断进来的链线开始 for (var b = 0; b < linkerRelationship.length; b++) { var shapes = linkerRelationship[b]; var fromShapeId = shapes.fromShapeId; var toShapeIds = shapes.toShapeId; // if (toShape.name == fromShapeId) { // 判断这两种图形中是否有这种关系 // if (isObjectRelationshipModel(linkerObjs, false)) // addtagContentTableContent(fromShape, // shapes.incomingName); // } if (fromShape.name == fromShapeId) { if (toShapeIds != "*") { // 判断是针对哪些图形有效 if (toShapeIds.indexOf(",") > 0) { var toShapeTemp = toShapeIds.split(","); for (var c = 0; c < toShapeTemp.length; c++) { var josnShapeId = toShapeTemp[c]; if (josnShapeId == selectedShape.name) { addtagContentTableContent(toShape, shapes.incomingName, fromShape); } } } else { if (toShapeIds == selectedShape.name) { addtagContentTableContent(toShape, shapes.incomingName, fromShape); } } } else { // 当没有限制的时候 addtagContentTableContent(toShape, shapes.incomingName, fromShape); } } } // 判断进来的线结束 } } var e = element; } } } // 给关系类型增加内容 function addtagContentTableContent(shape1, str, obj) { if (obj.text == "") { obj.text = obj.title; } var constr = '' // + shape1.text + str + '
' + obj.text + '
'; $("#tagContentTable1").append(constr); } // 判断是不是支持对象的关系类型 function isObjectRelationshipModel(linker, isAlert) { var flag = false; var toId = linker.to.id; if (toId == null) return false; // 当前选中的图形 var fromShape = Utils.getSelected()[0]; // 目标图形 var toShape = Model.getShapeById(toId); var toShapeTemp = []; for (var index = 0; index < linkerRelationship.length; index++) { var shapes = linkerRelationship[index]; var fromShapeId = shapes.fromShapeId; var toShapeIds = shapes.toShapeId; if (fromShape) { if (fromShape.name == fromShapeId) { if (toShapeIds != "*") { // 判断是针对哪些图形有效 if (toShapeIds.indexOf(",") > 0) { toShapeTemp = toShapeIds.split(","); } else { toShapeTemp.push(toShapeIds); } } } } } if (toShapeTemp.length != 0) { for (var index = 0; index < toShapeTemp.length; index++) { var tempShapeId = toShapeTemp[index]; // 删除这条线 if (toShape && toShape.name == tempShapeId) { // 画线时的操作 // 显示关系类型里的操作 flag = true; break; // 待续未完 } } } else { flag = true; } if (!flag) { if (isAlert) { // $.simpleAlert("不支持所选对象与目标对象的这种关系", "error", 2000); // deleteLinkerSelected(linker); } } return flag; } // 文件属性的处理 function initProcessDesc() { console.log(processDesc) var length = Object.keys(processDesc).length; var t = ''; var wid='60%'; for(var i = 1; i <= length; i++) { var obj = processDesc[i]; t += ''; t += '
' + "【"+obj.name +"】"+ '
'; if(obj.name.length >=5){ wid='60%'; } var value = obj.value; if (value == undefined) { value = ''; t += '
'+ value + '
'; t += ''; } else if(obj.type == 'table') { if(value == '') { t += '
' + value + '
'; t += ''; } else { let tableValue = JSON.parse(value.replace(/"/g,'\"')) let tableFlag = '请输入' if (tableValue.table.length > 1) { tableFlag = '请查看' } t += '
' +''+tableFlag+''+'
'; t += ''; } } else { value = value.replace(/\n/g,'
') t += '
' + value + '
'; t += ''; } // t += '' + value + ''; // t += ''; } $('#portalDescDock').find('table').append(t); // $('#portalDescDock').append('
 
'); } function autoClickAttr() { // 属性自动切换 if ($('#openTab').is(':hidden')) { var name = ''; if (Utils.getSelected()[0] == null) { name = 'processDesc'; } else { name = 'processAttr'; } $('#tab').find('div').removeClass('selected'); $('#' + name).addClass('selected'); $('.newadd_portalAttr').hide(); if(name == "processDesc") { dockShowView('portalDescShow'); } if(name == "processAttr") { dockShowView('portalAttrShow'); } if(name == "processFile") { dockShowView('portalFileShow'); } } } function dockShowView(name) { if ($("#dock_btn_" + name).button("isDisabled")) { return; } $(".dock_view").hide(); $(".dock_view_" + name).show(); $(".dock_buttons").children().removeClass("selected"); $("#dock_btn_" + name).addClass("selected"); if (Dock.currentView == "history" && name != "history") { Dock.closeHistory(); } Dock.currentView = name; } // 点击页面时变更显示内容 function changeArributeByShape() { if(!isClickTab) { autoClickAttr(); } isClickTab = false; var lastTable = '
 
'; //节点属性和附件的处理,文件属性见initProcessDesc() if (Utils.getSelected()[0] == null) { initShapeAttribute('0'); initUpfileData('0'); ProcessManual(); $('table[name=lastTable]').remove(); if($('#portalAttrDock').children('table').length > 0) { // $('#portalAttrDock').append(lastTable); } if($('#portalFileDock').children('table').length > 0) { // $('#portalFileDock').append(lastTable); } } else { selectShape = Utils.getSelected()[0]; initShapeAttribute(Utils.getSelected()[0].id); initUpfileData(Utils.getSelected()[0].id); $('table[name=lastTable]').remove(); if ($('#portalAttrDock table[name=' + Utils.getSelected()[0].id + ']').length > 0) { // $('#portalAttrDock').append(lastTable); } if ($('#portalFileDock table[name=' + Utils.getSelected()[0].id + ']').length > 0) { // $('#portalFileDock').append(lastTable); } } } function ProcessManual() { $('#processFileDock').empty(); var t = ''; t += ''; t += ''; t += '
'; t += '
流程手册:
'; t += ''; t += ''; t += '
'; $('#processFileDock').append(t); } function openOutputFile(taskId) { // 打开流程手册 $.simpleAlert('正在打开', 'loading'); $.ajax({ type : "POST", url : "./jd?sid=" + sid + "&cmd=com.actionsoft.apps.coe.pal_outputreport_output_process_preview", data : { taskId : taskId }, success : function(msg) { if (msg.result == "ok") { $.simpleAlert("close"); if (msg['data']) { var url = msg['data']['url']; window.open(url); } } else { $.simpleAlert("close"); $.simpleAlert(msg['msg'], 'info'); } } }); } function downloadProcessFile(taskId) { $.ajax({ type : "POST", url : "./jd?sid=" + sid + "&cmd=com.actionsoft.apps.coe.pal_outputreport_output_process_download", data : { taskId : taskId }, success : function(msg) { if (msg.result == "ok") { window.location.href = msg.data.url; } } }); } // 初始化上传附件 function initUpfileData(obj) { $('#alertMessage').remove(); if (obj == undefined || obj == '0') { $('#portalFileDock').empty(); var t = ''; var processFile = upfileData['file']; if(processFile.length > 0) { t += ''; t += '
'; t += '
相关文件:
'; for(var i = 0; i < processFile.length; i++) { var obj = processFile[i]; t += ''; } t += '
'; } var elements = Model.define.elements; for(var e in elements) { var ele = elements[e]; if(ele.name == 'linker') { continue; } var processShape = upfileData[ele.id]; if(processShape != null && processShape.length > 0) { t += ''; t += ''; } t += '
'; t += '
' + ele.text + ':
'; for(var i = 0; i < processShape.length; i++) { var obj = processShape[i]; t += ''; t += '
'; } } $('#portalFileDock').append(t); } else { $('#portalFileDock table').show(); $('#portalFileDock table[name=' + obj + ']').show(); } var isHidden = true; $('#portalFileDock table').each(function(){ if ($(this).css('display') != 'none') { isHidden = false; } }); if (isHidden) { var $noContent = $('#noContent').clone(true); $noContent.attr('id', 'alertMessage'); $('#portalFileDock').append($noContent); $('#alertMessage').show(); } } //附件在线预览 function readFile(uuid) { $.simpleAlert("文件正在处理", "loading"); awsui.ajax.request({ type: "POST", url: "./jd?sid=" + encodeURIComponent(sid) + "&cmd=com.actionsoft.apps.coe.pal_processlevel_upfile_read", data: {uuid: uuid}, ok: function(msg) { $.simpleAlert("close"); var url = msg.data.url; if (msg.data.noSupport) { window.location.href = url; } else { window.open(url); } }, err: function(msg) { } }); } function sortModelByNumber() { // 序号升序,无序号在后面 var recordId = []; var hasNumArr = []; /*for (var shapeId in Model.define.elements) { var shape = Model.define.elements[shapeId]; for (var i = 0; i < shape.dataAttributes.length; i++) { var attrArr = shape.dataAttributes[i]; if (attrArr.attributesJsonArray && attrArr.attributesJsonArray.length > 0) { for (var j = 0; j < attrArr.attributesJsonArray.length; j++) { var attr = attrArr.attributesJsonArray[j]; if (attr != null && attr.id && attr.id == 'number') { var number = attr.value; if(typeof number == 'string') { number = number.replace(/^\s+|\s+$/g,"") }; if(number != undefined && number != null && number != "") { var obj = {}; obj.text = shape.text; obj.id = shapeId; obj.orderIndex = number; hasNumArr.push(obj); recordId.push(shapeId); } break; } } break; } } }*/ /*******************************排序方法重构***by zhaolei**********************************************/ for (var shapeId in Model.define.elements) { var shape = Model.define.elements[shapeId]; for (var i = 0; i < shape.dataAttributes.length; i++) { var attrArr = shape.dataAttributes[i]; if (attrArr.attributesJsonArray && attrArr.attributesJsonArray.length > 0) { for (var j = 0; j < attrArr.attributesJsonArray.length; j++) { var attr = attrArr.attributesJsonArray[j]; //根据活动序号排序 if (attr != null && attr.id) { if(attr.id=="activity_number"){ var number = attr.value; var subNumer=number< 10 ? number.substr(1,1) : number; if(typeof subNumer == 'string') { subNumer = subNumer.replace(/^\s+|\s+$/g,"") }; if(subNumer != undefined && subNumer != null && subNumer != "") { var obj = {}; obj.text = shape.text; obj.id = shapeId; obj.orderIndex = subNumer; hasNumArr.push(obj); recordId.push(shapeId); } } } } } } } // 有序号的元素升序排序 var compare = function (prop) { return function (obj1, obj2) { var val1 = obj1[prop]; var val2 = obj2[prop]; if (!isNaN(Number(val1)) && !isNaN(Number(val2))) { val1 = Number(val1); val2 = Number(val2); } if (val1 < val2) { return -1; } else if (val1 > val2) { return 1; } else { return 0; } } } hasNumArr.sort(compare("orderIndex")); /*for (var shapeId in Model.define.elements) { if($.inArray(shapeId, recordId) == -1) { var obj = {}; obj.id = shapeId; hasNumArr.push(obj); } }*/ return hasNumArr; } // 初始化流程步骤说明 function initShapeAttribute(obj) { if (obj == undefined || obj == '0') { $('#portalAttrDock').empty(); var elements = Model.define.elements; var sortNumShapeArr = sortModelByNumber(); for(var sortIndex = 0; sortIndex < sortNumShapeArr.length; sortIndex++) { var temp = sortNumShapeArr[sortIndex]; var shape = elements[temp.id]; if(shape.name == 'linker') { continue; } // 属性弹出层显示的内容 var attributesJsonArray = ""; var attributesJsonArrayT = []; for (var i = 0; i < shape.dataAttributes.length; i++) { var attr = shape.dataAttributes[i]; if (attr.attributesJsonArray) { attributesJsonArrayT = attr.attributesJsonArray; break; } } // 属性排序 var defaultMoreAttr = $('#defaultMoreAttrSort').val(); if(defaultMoreAttr.length > 0) { var arr = defaultMoreAttr.split('|'); var tempAttrArray = []; for(var i = 0; i < arr.length; i++) { for(var j = 0; j < attributesJsonArrayT.length; j++) { if(attributesJsonArrayT[j] == undefined || attributesJsonArrayT[j] == null) { continue; } if(arr[i] == attributesJsonArrayT[j].id) { tempAttrArray.push(attributesJsonArrayT[j]); } } } //取新添加的属性 if (tempAttrArray.length > 0) { var newAttrArray = []; newAttrArray = tempAttrArray.concat(attributesJsonArrayT).filter(function(v, i, arr) { return arr.indexOf(v) === arr.lastIndexOf(v); }); attributesJsonArrayT = tempAttrArray.concat(newAttrArray); } } //流程阅览只显示线上审批、线下审批、系统任务、人工审批 if(shape.title=="线上审批" || shape.title=="线下审批" || shape.title=="系统任务" ||shape.title=="人工任务") { var no = ""; for (var i = 0; i < attributesJsonArrayT.length; i++) { var id = attributesJsonArrayT[i].id; if (id == "activity_number") { var numberValue = attributesJsonArrayT[i].value; if (numberValue != "") { no = numberValue; } } } var novalue=no+"."+shape.text; var t = ''; t += '
'; t += ''; t += ''; t += ''; t += ''; t += ''; t += ''; t += ''; t += ''; t += ''; /*t += '';*/ t += ''; t += ''; t += '
' +no+"."+shape.text +'
'; $('#portalAttrDock').append(t); if (shape && attributesJsonArrayT) { // {}函数,改为图形创建时增加私有属性 attributesJsonArray = attributesJsonArrayT; var shapeTitle = shape.title == undefined ? "" : shape.title; $("#" + shape.id + "type").text(shapeTitle); for (var i = 0; i < shape.dataAttributes.length; i++) { var attr = shape.dataAttributes[i]; if (attr.shapeDesc) { $("#" + shape.id + "desc").html(attr.shapeDesc == undefined ? "" : attr.shapeDesc.replace(/\n/g, '
')); break; } } // 此处遍历attributesJsonArray输入 内容 if (attributesJsonArray.length != 0) { getPrivateAttributeHtml(attributesJsonArray, "portalAttrDock", shape); } } } } } else { $('#portalAttrDock table').hide(); $('#portalAttrDock table[name=' + obj + ']').show(); var elements = Model.define.elements; var sortNumShapeArr = sortModelByNumber(); for(var sortIndex = 0; sortIndex < sortNumShapeArr.length; sortIndex++) { var temp = sortNumShapeArr[sortIndex]; var shape = elements[temp.id]; if(shape.title=="线上审批" || shape.title=="线下审批" || shape.title=="系统任务" ||shape.title=="人工任务") { if(obj==shape.id){ continue; } document.getElementById("box"+shape.id).style.display="none"; } //document.getElementById("span"+shape.id).innerHTML=no+"."+shape.text; } } } function searchChange(id,text) { if (document.getElementById("searchChangeFlg"+id).value == "1") { document.getElementById(id+"change").style.display=""; document.getElementById("searchChange"+id).innerHTML = ""; document.getElementById("searchChangeFlg"+id).value = "0"; document.getElementById("span"+id).innerHTML=""; } else { document.getElementById(id+"change").style.display="none"; document.getElementById("searchChange"+id).innerHTML = ""; document.getElementById("searchChangeFlg"+id).value = "1"; document.getElementById("span"+id).innerHTML=text; } } //获取select类型属性的option var comboboxs = []; function getSelectOptions(category, selectValues) { $.ajax({ type : "POST", url : "./jd?sid=" + CLB.sid + "&cmd=com.actionsoft.apps.coe.pal_pl_attribute_option", data : { category : category }, success : function(msg) { if (msg.result == "ok") { var data = msg.data.data; for (var i = 0; i < selectValues.length; i++) { var objId = selectValues[i].objId; var objValue = selectValues[i].objValue; var objType = selectValues[i].objType; var multiple = false; var closeSelect = true; if (objType == "select_m") { multiple = true; closeSelect = false; } var optionsData = data[objId]; if (optionsData) { optionsData = optionsData.split(","); var selectData = []; var selectedData = []; if(objValue != null && objValue != ''){ var selectedArr = objValue.split(','); } var y = 0; if (optionsData.length > 0) { for (var j = 0, len = optionsData.length; j < len; j++) { var dataObj = { id : j, text : optionsData[j] }; selectData.push(dataObj); if(objValue != null && objValue != ''){ for(var x = 0; x < selectedArr.length; x++){ if(selectedArr[x] == optionsData[j]){ selectedData[y] = j; y++; } } } } } $.fn.select2.defaults.set("language", "zh-CN"); var opt1 = { width : 244, multiple:multiple, closeOnSelect:closeSelect, /*templateResult:formatState, templateSelection:formatRepoSelection,*/ placeholder:'请选择...' }; opt1.data = selectData; $("#attribute_name_input_" + objId).parent().css("padding-left", "0px"); var $obj = $("#attribute_name_input_" + objId).select2(opt1); if(multiple){//多选 $("#attribute_name_input_" + objId).val(selectedData).trigger("change"); } else {//单选 if(selectedData != null && selectedData != ''){ $("#attribute_name_input_" + objId).val(selectedData[0]).trigger("change"); } } $obj.off("select2:close").on("select2:close", function(e){//只能在关闭多选框时触发事件,close与unselect事件冲突,待完善 var type = this.id.substring(this.id.lastIndexOf('_')+1); var selectValue = []; var selected = $('#' + this.id).select2('data'); for(var j = 0; j < selected.length; j++){ selectValue[j] = selected[j].text; } comboboxs[type] = selectValue.join(','); saveSelectContent(type,comboboxs[type]); }); $("#attribute_name_input_" + objId + "_Tip").css({"float" : "left", "border" : "0"}); } } } } }); } function getScreenResolution() { if (screen.width == 1024) { } } /** * 图形创建后事件 */ /* * Designer.events.addEventListener("created", function(a) { //alert(a.name) * if(a.name != "linker"){ attributeShowTabContent(null); //Model.update(a); } * if (Designer.status == "demo" && !demoCreatedTiped) { * UI.showStartStep("created", $("#" + a.id)); demoCreatedTiped = true } }); */ // 重构 function openLinkUrlRewrite(type, url, target, uuid, obj, fileName, inspected) { if (type == "custom") { $("#link-dialog-normal_contextmenu").hide(); if (target == "newTab" && parent.openTabCustom != undefined) { parent.openTabCustom(uuid, url, fileName); } else if (target == "_seft") { if (parent.changeTabTitle) { parent.changeTabTitle(chartId, fileName, uuid, "custom"); } window.location.href = url; } else { window.open(url, target); } } else { // 判断权限,判断是否存在文件 // uuid 要打开的目标文件 $.ajax({ type:'POST', url:'./jd?cmd=com.actionsoft.apps.coe.pal_pl_repository_designer_viewer_portal_link_perm_check', dataType : "JSON", data:{ sid : $("#sid").val(), uuid:uuid }, success:function(r) { switch(r.data.data) { case 'ok': window.open("./w?cmd=com.actionsoft.apps.coe.pal_pl_repository_designer_viewer_portal_open_page&uuid=" + uuid + "&sid=" + sid); break; case 'noPerm': $.simpleAlert('无权限访问', 'info'); break; case 'notFound': $.simpleAlert('文件未找到', 'info'); break; case 'notPublish': $.simpleAlert('文件未发布,无法访问', 'info'); break; default: break; } } }) } }