⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 topflowevent.js

📁 CommitFlow,很不错的在线流程设计源码,供大家学习参考
💻 JS
📖 第 1 页 / 共 4 页
字号:
	  DrawVML();
  }
  if (oldValue.substr(0,4)=="2013" && oItem.value != "2013")
  {
	  obj.ProcType = "NormalProc";
	  obj.ShapeType = "Rect";
	  obj.Width = "100";
	  obj.Height = "40";
	  DrawVML();
  }
  objFocusedOn(obj.ID);
}

//修改最大执行人数
function setWaittime(oItem){
  var obj = _FOCUSTEDOBJ.typ == "Proc"?_FLOW.getProcByID(_FOCUSTEDOBJ.id):_FLOW.getStepByID(_FOCUSTEDOBJ.id);
  if(obj.waittime == oItem.value) return;
  var oldValue = obj.waittime;
  obj.waittime = oItem.value;
}

//修改运行时联线
function setIsSltTrans(oItem){
  var obj = _FOCUSTEDOBJ.typ == "Proc"?_FLOW.getProcByID(_FOCUSTEDOBJ.id):_FLOW.getStepByID(_FOCUSTEDOBJ.id);
  var isSltTrans = oItem.checked ? 1 : 0;
  if(obj.isSltTrans == isSltTrans) return;
  obj.isSltTrans = oItem.checked ? 1 : 0;
}

//修改所有联线使用相同权限
function setIsSameCredit(oItem){
  var obj = _FOCUSTEDOBJ.typ == "Proc"?_FLOW.getProcByID(_FOCUSTEDOBJ.id):_FLOW.getStepByID(_FOCUSTEDOBJ.id);
  var isSameCredit = oItem.checked ? 1 : 0;
  if(obj.isSameCredit == isSameCredit) return;
  obj.isSameCredit = oItem.checked ? 1 : 0;
}

function setPropShapeType(oItem){
  var obj = _FOCUSTEDOBJ.typ == "Proc"?_FLOW.getProcByID(_FOCUSTEDOBJ.id):_FLOW.getStepByID(_FOCUSTEDOBJ.id);
  if(obj.ShapeType == oItem.value) return;
  var oldValue = obj.ShapeType;
  obj.ShapeType = oItem.value;
  DrawVML();
  objFocusedOn(obj.ID);
  pushLog("editprop",{"obj":obj,"prop":"ShapeType","_old":oldValue,"_new":obj.ShapeType});
}

function setPropTextWeight(oItem){
  var obj = _FOCUSTEDOBJ.typ == "Proc"?_FLOW.getProcByID(_FOCUSTEDOBJ.id):_FLOW.getStepByID(_FOCUSTEDOBJ.id);
  if(obj.TextWeight == oItem.value) return;
  var oldValue = obj.TextWeight;
  obj.TextWeight = oItem.value;
  document.all(_FOCUSTEDOBJ.id + "Text").style.fontSize = oItem.value;
  pushLog("editprop",{"obj":obj,"prop":"TextWeight","_old":oldValue,"_new":obj.TextWeight});
}

function setPropStrokeWeight(oItem){
  var obj = _FOCUSTEDOBJ.typ == "Proc"?_FLOW.getProcByID(_FOCUSTEDOBJ.id):_FLOW.getStepByID(_FOCUSTEDOBJ.id);
  if(obj.StrokeWeight == oItem.value) return;
  var oldValue = obj.StrokeWeight;
  obj.StrokeWeight = oItem.value;
  _FOCUSTEDOBJ.strokeweight = obj.StrokeWeight;
  pushLog("editprop",{"obj":obj,"prop":"StrokeWeight","_old":oldValue,"_new":obj.StrokeWeight});
}

function setPropzIndex(oItem){
  var obj = _FOCUSTEDOBJ.typ == "Proc"?_FLOW.getProcByID(_FOCUSTEDOBJ.id):_FLOW.getStepByID(_FOCUSTEDOBJ.id);
  if(obj.zIndex == oItem.value) return;
  var oldValue = obj.zIndex;
  obj.zIndex = oItem.value;
  _FOCUSTEDOBJ.style.zIndex = obj.zIndex;
  pushLog("editprop",{"obj":obj,"prop":"zIndex","_old":oldValue,"_new":obj.zIndex});
}

function setPropX(oItem){
  var obj = _FLOW.getProcByID(_FOCUSTEDOBJ.id);
  if(obj.X == oItem.value) return;
  var oldValue = obj.X;
  obj.X = oItem.value;
  _FOCUSTEDOBJ.style.left = obj.X;
  _MOVETYPE = "proc_sm"
  changeProcPos(_FOCUSTEDOBJ);
  pushLog("editprop",{"obj":obj,"prop":"X","_old":oldValue,"_new":obj.X});
}

function setPropY(oItem){
  var obj = _FLOW.getProcByID(_FOCUSTEDOBJ.id);
  if(obj.Y == oItem.value) return;
  var oldValue = obj.Y;
  obj.Y = oItem.value;
  _FOCUSTEDOBJ.style.top = obj.Y;
  _MOVETYPE = "proc_sm"
  changeProcPos(_FOCUSTEDOBJ);
  pushLog("editprop",{"obj":obj,"prop":"Y","_old":oldValue,"_new":obj.Y});
}

function setPropW(oItem){
  var obj = _FLOW.getProcByID(_FOCUSTEDOBJ.id);
  if(obj.Width == oItem.value) return;
  var oldValue = obj.Width;
  obj.Width = oItem.value;
  _FOCUSTEDOBJ.style.width = obj.Width;
  _MOVETYPE = "proc_snw"
  changeProcPos(_FOCUSTEDOBJ);
  pushLog("editprop",{"obj":obj,"prop":"Width","_old":oldValue,"_new":obj.Width});
}

function setPropH(oItem){
  var obj = _FLOW.getProcByID(_FOCUSTEDOBJ.id);
  if(obj.Height == oItem.value) return;
  var oldValue = obj.Height;
  obj.Height = oItem.value;
  _FOCUSTEDOBJ.style.height = obj.Height;
  _MOVETYPE = "proc_snw"
  changeProcPos(_FOCUSTEDOBJ);
  pushLog("editprop",{"obj":obj,"prop":"Height","_old":oldValue,"_new":obj.Height});
}

function setPropCond(oItem){
  var obj = _FLOW.getStepByID(_FOCUSTEDOBJ.id);
  if(obj.Cond == oItem.value) return;
  var oldValue = obj.Cond;
  obj.Cond = oItem.value;
  document.all(_FOCUSTEDOBJ.id + "Text").innerHTML = oItem.value;
  pushLog("editprop",{"obj":obj,"prop":"Cond","_old":oldValue,"_new":obj.Cond});
}

function setPropStartArrow(oItem){
  var obj = _FLOW.getStepByID(_FOCUSTEDOBJ.id);
  if(obj.StartArrow == oItem.value) return;
  var oldValue = obj.StartArrow;
  obj.StartArrow = oItem.value;
  document.all(_FOCUSTEDOBJ.id + "Arrow").startarrow = obj.StartArrow;
  pushLog("editprop",{"obj":obj,"prop":"StartArrow","_old":oldValue,"_new":obj.StartArrow});
}

function setPropEndArrow(oItem){
  var obj = _FLOW.getStepByID(_FOCUSTEDOBJ.id);
  if(obj.EndArrow == oItem.value) return;
  var oldValue = obj.EndArrow;
  obj.EndArrow = oItem.value;
  document.all(_FOCUSTEDOBJ.id + "Arrow").endarrow = obj.EndArrow;
  pushLog("editprop",{"obj":obj,"prop":"EndArrow","_old":oldValue,"_new":obj.EndArrow});
}

function setPropFromProc(oItem){
  var obj = _FLOW.getStepByID(_FOCUSTEDOBJ.id);
  if(obj.FromProc == oItem.value) return;
  //判断是否已经有重复的Step
  if(_FLOW.StepPathExists(oItem.value, obj.ToProc)){
    alert("已经有一个路径从[" + oItem[oItem.selectedIndex].text + "]至[" + _FLOW.getProcByID(obj.ToProc).Text + "],请更改!");
    oItem.focus();
    return false;
  }
  /*if(oItem.value == obj.ToProc && obj.ShapeType == "Line"){
    alert("起点与终点过程相同的[路径]只能使用折角线,请先恢复原起点并更改形状!");
    oItem.focus();
    return false;
  }*/
  if(oItem.value == obj.ToProc){
	  alert("不能指向本身!");
	  oItem.focus();
	  return false;
  }
  var oldValue = obj.FromProc;
  obj.FromProc = oItem.value;
  if(obj.ShapeType == "Line"){
    obj.getPath();
    _FOCUSTEDOBJ.from = obj.FromPoint;
    _FOCUSTEDOBJ.to = obj.ToPoint;
  }
  else if(obj.ShapeType == "PolyLine"){
    _FOCUSTEDOBJ.points.value = obj.reGetPath();
  }
  //DrawDataView();
  pushLog("editprop",{"obj":obj,"prop":"FromProc","_old":oldValue,"_new":obj.FromProc});
}

function setPropToProc(oItem){
  var obj = _FLOW.getStepByID(_FOCUSTEDOBJ.id);
  if(obj.ToProc == oItem.value) return;
  //判断是否已经有重复的Step
  if(_FLOW.StepPathExists(obj.FromProc, oItem.value)){
    alert("已经有一个路径从[" + _FLOW.getProcByID(obj.FromProc).Text + "]至[" + oItem[oItem.selectedIndex].text + "],请更改!");
    oItem.focus();
    return false;
  }
  /*if(oItem.value == obj.FromProc && obj.ShapeType == "Line"){
    alert("起点与终点过程相同的[路径]只能使用折角线,请先恢复原起点并更改形状!");
    oItem.focus();
    return false;
  }*/
  if(oItem.value == obj.FromProc){
	  alert("不能指向本身!");
	  oItem.focus();
	  return false;
  }
  var oldValue = obj.ToProc;
  obj.ToProc = oItem.value;
  if(obj.ShapeType == "Line"){
    obj.getPath();
    _FOCUSTEDOBJ.from = obj.FromPoint;
    _FOCUSTEDOBJ.to = obj.ToPoint;
  }
  else if(obj.ShapeType == "PolyLine"){
    _FOCUSTEDOBJ.points.value = obj.reGetPath();
  }
  //DrawDataView();
  pushLog("editprop",{"obj":obj,"prop":"ToProc","_old":oldValue,"_new":obj.ToProc});
}
//改变文本框
function onTextGetFocus(e,r,c)
{
  e.cols=c;
  e.rows=r;
}

function onTextBlur(e,r,c)
{
  e.cols=c;
  e.rows=r;
}
function stuffProp(){
  for(var i = propview.rows.length - 1; i > 0; i--)
    propview.deleteRow(i);
  if(_FOCUSTEDOBJ == null) return;
  var obj = _FOCUSTEDOBJ.typ == "Proc"?_FLOW.getProcByID(_FOCUSTEDOBJ.id):_FLOW.getStepByID(_FOCUSTEDOBJ.id);
  var idTR, idTD, oSelect, oActSelect, oCoSelect, oOption;
  //ID
  idTR = propview.insertRow();
  idTR.height = "25";
  idTR.className="obj";
  idTD = idTR.insertCell();
  idTD.noWrap = true;
  idTD.style.width = "79";
  idTD.align = "right";
  idTD.innerHTML = "编号";
  idTD = idTR.insertCell();
  idTD.innerHTML = '<input readonly type="text" rule="" msg="" onblur="if(beforePropChange(this)) setPropID(this);" name="pID" maxlength="10" value="' + obj.ID + '" style="width:95%;">';
  //Text
  idTR = propview.insertRow();
  idTR.height = "25";
  idTR.className="obj";
  idTD = idTR.insertCell();
  idTD.noWrap = true;
  idTD.style.width = "79";
  idTD.align = "right";
  idTD.innerHTML = "名称";
  idTD = idTR.insertCell();
  idTD.innerHTML = '<input id="pName" type="text" maxlength="20" rule="^\\S+$" msg="[名称]不能为空或包含空字符!" onblur="if(beforePropChange(this)) setPropText(this);" name="pText" maxlength="10" value="' + obj.Text + '" style="width:95%;">';
  
  //ShapeType
  idTR = propview.insertRow();
  idTR.height = "25";
  idTR.className="obj";
  idTD = idTR.insertCell();
  idTD.noWrap = true;
  idTD.style.width = "79";
  idTD.align = "right";
  idTD.innerHTML = "形状";
  idTD = idTR.insertCell();
  idTD.innerHTML = '<select id="pShapeType" name="pShapeType" onblur="if(beforePropChange(this)) setPropShapeType(this);" style="width:95%;"></select>';
  oSelect = document.getElementById("pShapeType");
  //TextWeight
  idTR = propview.insertRow();
  idTR.height = "25";
  idTR.className="obj";
  idTD = idTR.insertCell();
  idTD.noWrap = true;
  idTD.style.width = "79";
  idTD.align = "right";
  idTD.innerHTML = "文本大小";
  idTD = idTR.insertCell();
  idTD.innerHTML = '<input type="text" rule="^\\d{1,2}p[x|t]{1}$" msg="[文本大小]请输入1-2数字,并在最后加上px或pt!" onblur="if(beforePropChange(this)) setPropTextWeight(this);" name="pTextWeight" maxlength="10" value="' + obj.TextWeight + '" style="width:95%;">';
  if(_FOCUSTEDOBJ.typ == "Proc"){
	  //活动类型
	  idTR = propview.insertRow();
	  idTR.height = "25";
	  idTR.className="obj";
	  idTD = idTR.insertCell();
	  idTD.noWrap = true;
	  idTD.style.width = "79";
	  idTD.align = "right";
	  idTD.innerHTML = "活动类型";
	  idTD = idTR.insertCell();
	  idTD.innerHTML = '<select id="pActType" onchange="setActFlag(this)" name="pActType" style="width:95%;"></select>';
	  oActSelect = document.getElementById("pActType");
	  //最大执行人数
	  idTR = propview.insertRow();
	  idTR.height = "25";
	  idTR.className="obj";
	  idTD = idTR.insertCell();
	  idTD.noWrap = true;
	  idTD.style.width = "79";
	  idTD.align = "right";
	  idTD.innerHTML = "最大执行人数";
	  idTD = idTR.insertCell();
	  idTD.innerHTML = '<input type="text" onblur="setWaittime(this)" value="'+obj.waittime+'" id="maxP" name="maxP" style="width:95%;">';
	  //运行时选择联线
	  idTR = propview.insertRow();
	  idTR.height = "25";
	  idTR.className="obj";
	  idTD = idTR.insertCell();
	  idTD.style.width = "79";
	  idTD.align = "right";
	  idTD.innerHTML = '&nbsp;';
	  idTD = idTR.insertCell();
	  idTD.colSpan = "2"
	  idTD.innerHTML = '<input id="isSltTrans" type="checkbox" onclick="setIsSltTrans(this);"> 运行时选择联线';
	  if (obj.isSltTrans=="1")document.getElementById("isSltTrans").checked=true;
	  //运行时选择联线
	  idTR = propview.insertRow();
	  idTR.height = "25";
	  idTR.className="obj";
	  idTD = idTR.insertCell();
	  idTD.style.width = "79";
	  idTD.align = "right";
	  idTD.innerHTML = '&nbsp;';
	  idTD = idTR.insertCell();
	  idTD.colSpan = "2"
	  idTD.innerHTML = '<input type="checkbox" id="isSameCredit" onclick="setIsSameCredit(this)"> 所有联线使用相同字段权限';
	  if (obj.isSameCredit=="1")document.getElementById("isSameCredit").checked=true;
	   //执行人
	  idTR = propview.insertRow();
	  idTR.height = "25";
	  idTR.className="obj";
	  idTD = idTR.insertCell();
	  idTD.noWrap = true;
	  idTD.style.width = "79";
	  idTD.align = "right";
	  idTD.innerHTML = "执行人";
	  idTD = idTR.insertCell();
	  idTD.innerHTML = '<input id="btnPExcuter" type="button" class="cButton" onclick="vmlOpenWin(\'excuter.htm\',\'\',675,455)" value="...">';
	  idTD.innerHTML += '<span id="txtPExcuter"></span>'
	  showExcuter(obj.ID);
	   //待阅人
	  idTR = propview.insertRow();
	  idTR.height = "25";
	  idTR.className="obj";
	  idTD = idTR.insertCell();
	  idTD.noWrap = true;
	  idTD.style.width = "79";
	  idTD.align = "right";
	  idTD.innerHTML = "待阅人";
	  idTD = idTR.insertCell();
	  idTD.innerHTML = '<input id="btnPReader" type="button" class="cButton" onclick="vmlOpenWin(\'excuter.htm\',\'\',675,455)" value="...">';
	  //X
	  idTR = propview.insertRow();
	  idTR.height = "25";
	  idTR.className="obj";
	  idTD = idTR.insertCell();
	  idTD.noWrap = true;
	  idTD.style.width = "79";
	  idTD.align = "right";
	  idTD.innerHTML = "X轴坐标";
	  idTD = idTR.insertCell();
	  idTD.innerHTML = '<input type="text" rule="^\\d{1,4}p{0,1}x{0,1}$" msg="[图形X坐标]请输入1-4数字!" onblur="if(beforePropChange(this)) setPropX(this);" name="pX" maxlength="10" value="' + obj.X + '" style="width:95%;">';
	  //Y
	  idTR = propview.insertRow();
	  idTR.height = "25";
	  idTR.className="obj";
	  idTD = idTR.insertCell();
	  idTD.noWrap = true;
	  idTD.style.width = "79";
	  idTD.align = "right";
	  idTD.innerHTML = "Y轴坐标";
	  idTD = idTR.insertCell();
	  idTD.innerHTML = '<input type="text" rule="^\\d{1,4}p{0,1}x{0,1}$" msg="[图形Y坐标]请输入1-4数字!" onblur="if(beforePropChange(this)) setPropY(this);" name="pY" maxlength="10" value="' + obj.Y + '" style="width:95%;">';
	  //Width
	  idTR = propview.insertRow();
	  idTR.height = "25";
	  idTR.className="obj";
	  idTD = idTR.insertCell();
	  idTD.noWrap = true;
	  idTD.style.width = "79";
	  idTD.innerHTML = "图形宽度";
	  idTD.align = "right";
	  idTD = idTR.insertCell();
	  idTD.innerHTML = '<input type="text" rule="^\\d{1,4}p{0,1}x{0,1}$" msg="[图形宽度]请输入1-4数字!" onblur="if(beforePropChange(this)) setPropW(this);" name="pWidth" name="pWidth" maxlength="10" value="' + obj.Width + '" style="width:95%;">';
	  //Height
	  idTR = propview.insertRow();
	  idTR.height = "25";
	  idTR.className="obj";
	  idTD = idTR.insertCell();
	  idTD.noWrap = true;
	  idTD.style.width = "79";
	  idTD.align = "right";
	  idTD.innerHTML = "图形高度";
	  idTD = idTR.insertCell();
	  idTD.innerHTML = '<input type="text" rule="^\\d{1,4}p{0,1}x{0,1}$" msg="[图形高度]请输入1-4数字!" onblur="if(beforePropChange(this)) setPropH(this);" name="pHeight" maxlength="10" value="' + obj.Height + '" style="width:95%;">';
	  //填充形状
	  oOption = document.createElement("OPTION");
	  oSelect.options.add(oOption);
	  oOption.innerText = "圆形";
	  oOption.value = "Oval";
	  oOption = document.createElement("OPTION");
	  oSelect.options.add(oOption);
	  oOption.innerText = "方形";
	  oOption.value = "Rect";
	  oOption = document.createElement("OPTION");
	  oSelect.options.add(oOption);
	  oOption.innerText = "圆角形";
	  oOption.value = "RoundRect";
	  oOption = document.createElement("OPTION");
	  oSelect.options.add(oOption);
	  oOption.innerText = "菱形";
	  oOption.value = "Diamond";
	  oSelect.value = obj.ShapeType;

	  oOption = document.createElement("OPTION");
	  oActSelect.options.add(oOption);
	  oOption.innerText = "第一个活动";
	  oOption.value = "1013";
	  oOption = document.createElement("OPTION");
	  oActSelect.options.add(oOption);
	  oOption.innerText = "并发群组";
	  oOption.value = "0013";
	  oOption = document.createElement("OPTION");
	  oActSelect.options.add(oOption);
	  oOption.innerText = "协作群组";
	  oOption.value = "0014";
	  oOption = document.createElement("OPTION");
	  oActSelect.options.add(oOption);
	  oOption.innerText = "串行群组";
	  oOption.value = "0015";
	  oOption = document.createElement("OPTION");
	  oActSelect.options.add(oOption);
	  oOption.innerText = "分支";
	  oOption.value = "0213";
	  oOption = document.createElement("OPTION");
	  oActSelect.options.add(oOption);
	  oOption.innerText = "同步";
	  oOption.value = "0113";
	  oOption = document.createElement("OPTION");
	  oActSelect.options.add(oOption);
	  oOption.innerText = "结束";
	  oOption.value = "2013";

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -