A-A+
通达OA-工作量表单限制发起人才能删除
1、修改弹出框的js文件
文件:D:\MYOA\webroot\general\workflow\list\js\work_operation.js
找到:function work_run_pending(pageName)
function work_run_pending(pageName)
{
if(checkSelectRows()){
loadModal();
open_bootcss_modal("myModal","880","5");
jQuery('.modal-body').load('data/'+pageName+'.php',function(){
var selectRows = getSelectRows();
if(selectRows == ""){
return false;
}
var resultData = getRunData(selectRows)
var aaa1 = resultData.runData[0].create_man;
var geturl = 'http://' + window.location.host + '/general/getloginuser.php';
jQuery.ajax({
type: "GET",
url: geturl,
dataType: 'json',
success: function(data){
var login_name = data.login_name;
if(aaa1 == login_name){
jQuery('#myModalLabel').html('作废');
jQuery('.quick-date-select').show();
var Data = {"runData":resultData.runData}
var template = jQuery.templates("#pendingDataTmpl");
var htmlOutput = template.render(Data);
jQuery("#pendingData").html(htmlOutput);
jQuery('.quick-date-select').click(function(){
var padding_id = jQuery(this).attr("pending");
jQuery("#"+padding_id).click();
});
}else{
alert('只有发起人可以作废');
return false;
}
}
});
// console.log(resultData.runData[0]);
// jQuery('#myModalLabel').html(td_lang.general.workflow.msg_60);
});
}
}
红色部分是添加的内容,用ajax请求获取当前登录用户名,比较表单提交的用户名。
因为无法获取当前选中表单数据的提交人,所以还需要传递给此表单用户数据
继续当前文档找function getRunData(selectRows){
function getRunData(selectRows){
var runData = new Array();
var runFlowData = new Array();
var flowDelegateTypeArr = new Array();
for(var i = 0; i < selectRows.length; i++){
var dataTr = jQuery(window.frames["workflow-data-list"].document).find("#gridTable").find("tr[role='row'][id='"+selectRows[i]+"']");
var flow_id = dataTr.find("td[aria-describedby='gridTable_flow_id']").html();
var delegate_type = dataTr.find("td[aria-describedby='gridTable_delegate_type']").html();
flowDelegateTypeArr.push(delegate_type);
var run_id = dataTr.find("td[aria-describedby='gridTable_run_id']").html();
var prcs_key_id = dataTr.find("td[aria-describedby='gridTable_prcs_key_id']").html();
var run_name = dataTr.find("td[aria-describedby='gridTable_run_name']").find('a').html();
var prcs_name = dataTr.find("td[aria-describedby='gridTable_prcs_name']").find('a').html();
var create_man = dataTr.find("td[aria-describedby='gridTable_create_man']").find('a').html();
var flow_prcs = dataTr.find("td[aria-describedby='gridTable_flow_prcs']").html();
var prcs_id = (prcs_name.match(/\d/g))[0];
runFlowData.push(flow_id+"_"+prcs_id);
var selectData = {
'run_id':run_id,
'run_name':run_name,
'prcs_name':prcs_name,
'create_man':create_man,
'prcs_key_id':prcs_key_id,
'flow_id':flow_id,
'prcs_id':prcs_id,
'delegate_type':delegate_type,
'flow_prcs':flow_prcs
};
runData.push(selectData);
}
var resultData = {"runData" : runData, "flowDelegateTypeArr":flowDelegateTypeArr, "runFlowDataArr":runFlowData};
//alert(runFlowData.join(",").match(/28,/g).length);
return resultData; //runData;
}
如此work_run_pending中就能获取到当前选中表单提交人的信息了。
2、添加文件D:\MYOA\webroot\general\getloginuser.php
内容如下:
<?php
include_once("inc/auth.inc.php");
include_once("inc/conn.php");
$username = $_SESSION["LOGIN_USER_NAME"];
$data['login_name'] = iconv('gb2312','utf-8',$username);
echo json_encode($data);?>
1