在做页面权限的时候,如果是对一个按钮,是否可以用,我们可以在后台给前端返回一个true,false。
{ // 操作列 "targets" : [ 6 ], "orderable" : false, "class" : "am-text-center", "render" : function(data, type, full) { var pengingNumber = full.daishen; // 判断是否显示操作按钮 if (!pengingNumber) { // 这个为 pengingNumber false 不显示 return "<button type='button' class='am-btn am-btn-primary' id='btn-distribute' name='btn-distribute' disabled> 手动分配</button>"; } else { if (ManagerFlags) { // 当主管为true,按钮可用 return "<button type='button' class='am-btn am-btn-primary' id='btn-distribute' name='btn-distribute' > 手动分配</button>"; } else { if (full.isGroup === true) { // 判断为组长为为true,按钮可用 return "<button type='button' class='am-btn am-btn-primary' id='btn-distribute' name='btn-distribute' > 手动分配</button>"; } else { return "<button type='button' class='am-btn am-btn-primary' id='btn-distribute' name='btn-distribute' disabled> 手动分配</button>"; } } } } } ] }; //隐藏需要权限才显示的分配按钮 $("#btn-distribute").css("display", "none"); //加载用户权限 var responseData = ajax_jsonp_sync("/app/bl/documenttaskdeploy/getPermission/", null); // // 数组 [] 角色 角色的UUID var ManagerFlags = responseData.responseJSON.data[0]; // 返回的是一个true ,false //为true就是主管 ,为false 就是单证人员 if (ManagerFlags == true) { $("#btn-distribute").show(); } else { $("#btn-distribute").hide(); }
// 获取登录用户uuid u1038 String loginUserID = ctr.getCurrentUser().getStr(BlConstant.FIELD_USER_ID); boolean isGroupLeader = false; String groupId = null; // 获取组长的id,和那条数据的uuid String sql = "select uuid,group_leader_id from biz_document_group_info where sys_status = 1"; List<Record> list = Db.find(sql); isGroup: for (Record r : list) { // 查询出来的组长的id为多条,拆开一下 String[] strings = r.getStr("groupLeaderId").split(","); // 便利数组 for (String s : strings) { // 便利出来的 组长的id和当前用户的uuid一样的话,就确定为组长了 if (s.equals(loginUserID)) { // 因为前段我么你只要一个true,false 的结果来判断按钮是否可用 // 所以申请了一个变量 ,来赋值 一下 isGroupLeader = true; groupId = r.getStr("uuid"); break isGroup; } } } // 如果为true的话 if (isGroupLeader) { // 便利 当前的这个 taskDeployPage.getList() 查询出来的所有的数据 for (Record record : taskDeployPage.getList()) { // 如果查询出来的组的id和 组长的那条uuid相同的话,就设置一个标志位返回给前端能使用 if (record.getStr("groupId").equals(groupId)) { // 说明为同一个组的,当前用户为组长,其他人为组员 record.set("isGroup", true); record.set("isGroup", false); } } } for (Record record : taskDeployPage.getList()) { boolean daishen = false; // long completeNum = record.getLong("completeNum"); // 完成的数量 long yiLingQuStatus = record.getLong("claimNum"); // 待审总数 // 待审总数 if (yiLingQuStatus >= 1) { daishen = true; } record.set("daishen", daishen); // record.set("total", completeNum+yiLingQuStatus); }
开始日期不能大于结束日期
var startDate = $("#bizDocumentTaskDeploy_admin_query").find("#startDate").val();
var endDate = $("#bizDocumentTaskDeploy_admin_query").find("#endDate").val();
if (!isNotBlank(startDate) || !isNotBlank(endDate)) {
//alertMsg("日期输入框不能为空!!!");
getAlertInfo("ME477I001");
return;
}
var d1 = new Date(startDate.replace(/-/g, "/"));
var d2 = new Date(endDate.replace(/-/g, "/"));
if (startDate != "" && endDate != "" && d1 > d2) {
// 开始日期不能大于结束日期
getAlertInfo("ME477I007");
return;
}
点击按钮重置,输入框里面的东西
//注册重置按钮点击事件
$('#bizDocumentTaskDeploy_admin_query_two').find('#resetBtn').on('click', function() {
var queryDiv = $('#bizDocumentTaskDeploy_admin_query');
var queryDivTwo = $('#bizDocumentTaskDeploy_admin_query_two');
//重置姓名查询条件
queryDiv.find("#userName").val("");
//重置任务状态查询条件
queryDivTwo.find("#taskState").empty();
addOption(queryDivTwo.find("#taskState"), "--请选择--", "");
addOption(queryDivTwo.find("#taskState"), "待完成", "0");
addOption(queryDivTwo.find("#taskState"), "已完成", "1");
//重置在线状态查询条件
queryDivTwo.find("#radioSelect").empty();
addOption(queryDivTwo.find("#radioSelect"), "--请选择--", "");
addOption(queryDivTwo.find("#radioSelect"), "离线", "0");
addOption(queryDivTwo.find("#radioSelect"), "在线", "1");
//重置时间查询条件
queryDiv.find("#startDate").val("");
queryDiv.find("#endDate").val("");
});
前端获取值去掉空格
"userName" : $.trim($("#bizDocumentTaskDeploy_admin_query").find("#userName").val()),
批量操做,勾选 多条信息。
//注册[批量分配]按钮点击事件 $('#bizDocumentCompleteInfo_div_toolbar').find("#batchDistribute").on('click',function() { var data = getSelectedData(bizDocumentCompleteInfo.dt, 0); if (!isNotNull(data) || data.length <= 0) { getAlertInfo("ME477I002"); // alert("请选择你要勾选的任务") return; } var uuids = ""; var names = ""; var payUuid = ""; var taskmany = new Array(); for (var i = 0; i < data.length; i++) { var tasktemp = { "userUuid": data[i].taskUuid , "userName": data[i].taskName , "payUuid" : data[i].uuid } taskmany.push(tasktemp); } var mainUUid = $("#bizDocumentCompleteInfo_admin_query").find("#mainUuid").val(); var mainUserId=$("#bizDocumentCompleteInfo_admin_query").find("#mainUserId").val(); openModal( "app/bl/bizDocumentUserManyChoose", "bizDocumentUserMany", "选择批量单证人员", { // 传到下一个页面的数据的东西 "mainUuid" : mainUUid, "mainUserId":mainUserId , "taskmany" : JSON.stringify(taskmany) }, false,null,null,null,null,null,null,{"width":"1000"}); });//注册[批量分配]按钮点击事件end
// 调用extend为该类添加静态方法init bizDocumentUserMany .extend({ init : function(initData) { var mainUuid=initData.mainUuid; var mainUserId=initData.mainUserId; var taskmany=initData.taskmany ; // 是个数组 taskmany = JSON.parse(taskmany); // 转对象 var taskNames=""; var taskUuid=""; var payUuid=""; // 付款确认书的uuid for(var i=0;i<taskmany.length;i ++){ taskUuid+=(isNotBlank(taskUuid)?",":"")+taskmany[i].userUuid; taskNames+=(isNotBlank(taskNames)?",":"")+taskmany[i].userName; payUuid+=(isNotBlank(payUuid)?",":"")+taskmany[i].payUuid; $('#taskUuid').val(taskUuid); $('#taskNames').val(taskNames); $('#payUuid').val(payUuid); } $('#mainUuid').val(mainUuid); $("#mainUserId").val(mainUserId); //加载下拉列表 ajax_jsonp("/app/bl/documenttaskdeploy/getapproverate/", null, function(response) { if (!checkResponseData(response)){ return; } //审核层级 addOption($('#bizDocumentUserManyChoose_admin_query').find("#approveRate"),"--请选择层级--",""); $.each(response.data[0], function(index, obj) { addOption($('#bizDocumentUserManyChoose_admin_query').find("#approveRate"),obj.levelName,obj.uuid); }); }, null, "GET");
前端json字符窜对象返给后台
//注册【确认分配】按钮事件 $('#bizDocumentUserChoose_admin_wrapper').on( 'click', '#comfirDistrbute', function() { var selectedData = getDtRowInfo(bizDocumentUserChoose.dt, 0); // 当前选中的值 数据库的值 var documentUsers = new Array(); if (!isNotNull(selectedData) || selectedData.length <= 0) { getAlertInfo("ME477I003"); // alert("请选择你要勾选的单证人员") return; } if (!isNotNull(selectedData) || selectedData.length > 1) { getAlertInfo("ME477I006"); // alert("对不起,只能勾选一个单证人员") return; } $.each(selectedData, function (index, data) { var taskUuid= $("#bizDocumentUserChoose_admin_query").find("#taskUuid").val(); // 主界面的userID var mainUserId= $("#bizDocumentUserChoose_admin_query").find("#mainUserId").val(); // 获取付款确认书的uuid var payUuid= $("#bizDocumentUserChoose_admin_query").find("#payUuid").val(); var temp = { "userUuid": data.data.userUuid, "uuid": data.data.uuid, "userName" : data.data.userName, // 用戶名 "taskUuid": taskUuid , // 任務的uuid "taskId": data.data.taskId , "userId":data.data.userId , "mainUserId": mainUserId , "payUuid":payUuid } documentUsers.push(temp); }); ajax_jsonp("/app/bl/documenttaskdeploy/comfirdistributeToMany/", { "documentUsers": JSON.stringify(documentUsers) }, function (response) { if (!checkResponseData(response)) { //alertMsg("分配失败!") getAlertInfo("ME477I005"); } else { if (response.data[0] == true) { // alertMsg("分配成功!") getAlertInfo("ME477I004"); bizDocumentUserChoose.dt.draw(); return } else { // alertMsg("分配失败!") getAlertInfo("ME477I005"); } } }, null, "POST"); });//注册【确认分配】按钮事件结束
后台接受
/** * 批量确认分配处理 * * @param ctr * @throws ActiveRecordException * @throws CordysException */ public boolean comfirdistributeToMany(QhyfController ctr) throws ActiveRecordException, CordysException { // 取得数据 :为json字符串 String temp = ctr.getPara("documentUsers"); List<JSONObject> list = JSON.parseArray(temp, JSONObject.class); // 把获取的转化成对象 String uuid = ""; String userUuid = ""; String userName = ""; String taskId = ""; // 把任务调配给谁的id String userId = ""; //获取付款确认书的uuid String payUuid=""; //主界面人的userID String mainUserId ="" ; for (JSONObject jsonObject : list) { // 遍历 // 获取前端的任务的uuid,用戶的uuid,姓名 ,任务的taskId uuid += (StringUtils.notBlank(uuid) ? "," : "") + jsonObject.getString("uuid"); userUuid += (StringUtils.notBlank(userUuid) ? "," : "") + jsonObject.getString("userUuid"); userName += (StringUtils.notBlank(userName) ? "," : "") + jsonObject.getString("userName"); taskId += (StringUtils.notBlank(taskId) ? "," : "") + jsonObject.getString("taskId"); userId += (StringUtils.notBlank(userId) ? "," : "") + jsonObject.getString("userId"); mainUserId= jsonObject.getString("mainUserId"); // 在待完成信息列表里面传了多个付款确认书的uuid过来 payUuid = jsonObject.getString("payUuid"); // 这里已经是个数组 this.setCordysUser(userId); this.setCordysUser(mainUserId); } // 获取到当前用户的sys_user表ID String loginUserID = ctr.getCurrentUser().getStr(BlConstant.FIELD_USER_ID); String sql = "select user_id from sys_user where sys_status = 1 and uuid = ?"; String loginUserId = Db.queryStr(sql,loginUserID); // AssertUtils.notNull(userName, "数据库未存在此人信息"); boolean isOk=false; String[] payUuids=payUuid.split(","); for (int i = 0; i < payUuids.length; i++) { //根据付款确认书的uuid查出流程信息表的流程id (id为数组) String processSql="SELECT instance_id FROM bpm_process_instance WHERE sys_status = 1 and biz_uuid= ?"; String processId = Db.queryStr(processSql,payUuids[i]); //根据流程的id 查出 流程最新活动表 里面的taskid String farOutTaskidSql = "SELECT task_id FROM bpm_last_activity WHERE sys_status = 1 and instance_id= ? "; Record record = Db.findFirst(farOutTaskidSql,processId); boolean isOkTask=PerformTaskApi.delegateTask(loginUserId,userId , record.getStr("taskId"), "", true); //创建最新流程表的对象 BpmLastActivity bpmLastActivity=new BpmLastActivity(); String[] userIds=userId.split(","); for (int j = 0; j < userIds.length; j++) { String sysUserNameSql="SELECT user_name from sys_user WHERE sys_status = 1 and user_id = ?"; String sysUserName=Db.queryStr(sysUserNameSql,userIds[j]); if (isOkTask==true) { //根据userId查出他的userName,设置到表bpm_last_activity里面 // 更新表bpm_last_activity 里面的username bpmLastActivity.set("instanceId",processId ); bpmLastActivity.set("taskId",record.getStr("taskId") ); bpmLastActivity.set("userName",sysUserName ); isOk=ctr.merge(BpmLastActivity.dao.getTable().getName(), bpmLastActivity); } } } return isOk; }