259 lines
12 KiB
JavaScript
259 lines
12 KiB
JavaScript
/* * 版 本 PIT-ADMS V7.0.3 敏捷开发框架
|
||
* Copyright (c) 2013-2018 Hexagon PPM
|
||
* 创建人:chenkai
|
||
* 日 期:2021-03-24
|
||
* 描 述:通用选择人员
|
||
*/
|
||
|
||
var callType = request('callType');//1:流程界面直接选人,2:弹框中再选人
|
||
var textEleId = request('textEleId');//用户名称元素Id
|
||
var valueEleId = request('valueEleId');//用户Id元素Id
|
||
var mobileEleId = request('mobileEleId');//手机号码元素Id
|
||
var ProjectId = request('ProjectId');//项目ID
|
||
var isMult = request('isMult');//是否多选1多选 0单选,默认多选
|
||
var treeData = [];//已经选择的用户 需要父级界面定义一个用户defaultSelectUser 多个用英文逗号分开
|
||
var acceptClick;//结束回调方法;
|
||
|
||
//局部事件
|
||
var refreshGirdData;
|
||
var Select;
|
||
|
||
var bootstrap = function ($, learun) {
|
||
"use strict";
|
||
var companyId = '';
|
||
var page = {
|
||
init: function () {
|
||
if (callType != "1" && callType != "2") {
|
||
learun.alert.error("callType参数异常");
|
||
return false;
|
||
}
|
||
page.bind();
|
||
},
|
||
bind: function () {
|
||
var initUserString;
|
||
|
||
if (callType == "1") {
|
||
if ($(parent.document).find("li .lr-frame-iframe,.active")[3].contentWindow.$('iframe')[0]) {
|
||
initUserString = $(parent.document).find("li .lr-frame-iframe,.active")[3].contentWindow.$('iframe')[0].contentWindow.defaultSelectUser;
|
||
} else {
|
||
initUserString = $(parent.document).find("li .lr-frame-iframe,.active")[3].contentWindow.defaultSelectUser;
|
||
}
|
||
} else if (callType == "2") {
|
||
initUserString = parent.$("#" + top.layer_form.name + "")[0].contentWindow.defaultSelectUser;//获取父窗口选中已经保存或选择的人员
|
||
}
|
||
if (initUserString) {
|
||
if (initUserString.length > 0) {
|
||
//treeData = retreeData;
|
||
//通过接口获取
|
||
learun.httpAsync('GET', top.$.rootUrl + '/LR_OrganizationModule/User/GetEntityListByUserIds', { keyValue: initUserString }, function (data) {
|
||
if (!!data) {
|
||
$.each(data, function (id, item) {
|
||
treeData.push({ id: item.F_UserId, text: item.F_RealName });
|
||
});
|
||
//绑定已经选择的用户
|
||
$('#userTree').lrtree({
|
||
data: treeData
|
||
});
|
||
}
|
||
});
|
||
}
|
||
}
|
||
page.initGrid();
|
||
|
||
//单位选择下拉框
|
||
$('#company_select').lrselect({
|
||
// 字段
|
||
value: "F_CompanyId",
|
||
text: "F_FullName",
|
||
title: "F_FullName",
|
||
//type: 'multiple',
|
||
// 展开最大高度
|
||
maxHeight: 200,
|
||
// 是否允许搜索
|
||
allowSearch: true,
|
||
// 访问数据接口地址
|
||
url: top.$.rootUrl + '/LR_OrganizationModule/Company/GetList',
|
||
// 访问数据接口参数
|
||
param: null,
|
||
select: function (item) {
|
||
if (!item || item.value == '-1') {
|
||
companyId = '';
|
||
}
|
||
else {
|
||
companyId = item.F_CompanyId;
|
||
}
|
||
page.search({ companyId: companyId });
|
||
}
|
||
});
|
||
|
||
// 查询
|
||
$('#btn_Search').on('click', function () {
|
||
var keyword = $('#txt_Keyword').val();
|
||
page.search({ keyword: keyword, companyId: companyId });
|
||
});
|
||
},
|
||
//初始化用户列表
|
||
initGrid: function () {
|
||
$('#gridtable').jfGrid({
|
||
url: top.$.rootUrl + '/LR_OrganizationModule/User/GetCommonSelectUsers',
|
||
headData: [
|
||
{
|
||
label: "选择", name: "F_UserId", index: "IsCheck", width: 60, align: "center", frozen: true,
|
||
formatter: function (cellvalue, row, op, $cell) {
|
||
var rowindex = parseInt($cell.attr('rowindex'));
|
||
return "<input value='" + row.F_RealName + "' title='" + row.F_RealName + "' id='" + row.F_UserId + "' name='myname' type='checkbox' style='cursor: pointer;margin-top: 8px;' onclick='Select(\"" + rowindex + "\",\"" + row.F_UserId + "\",\"" + row.F_RealName + "\",\"" + row.F_Mobile + "\")'>";
|
||
}
|
||
},
|
||
{ label: '账号', name: 'F_Account', width: 150, align: 'center', frozen: true },
|
||
{ label: '姓名', name: 'F_RealName', width: 100, align: 'center', frozen: true },
|
||
{ name: '' }
|
||
],
|
||
isPage: true,
|
||
reloadSelected: true,
|
||
mainId: 'F_UserId',
|
||
onRenderComplete: function (data) {
|
||
//默认已经选中的用户
|
||
var obj = document.getElementsByName("myname");
|
||
for (var i = 0; i < obj.length; i++) {
|
||
if (treeData.length > 0) {
|
||
var temp = treeData.find(function (x) {
|
||
return x.id === obj[i].id
|
||
});
|
||
if (temp != undefined && temp != "") {
|
||
obj[i].checked = true;
|
||
} else {
|
||
obj[i].checked = false;
|
||
}
|
||
}
|
||
}
|
||
},
|
||
});
|
||
page.search();
|
||
},
|
||
//查询
|
||
search: function (param) {
|
||
param = param || {};
|
||
param.ProjectId = ProjectId;
|
||
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) });
|
||
}
|
||
};
|
||
//刷新列表
|
||
refreshGirdData = function () {
|
||
$('#gridtable').jfGridSet('reload');
|
||
};
|
||
//选中用户
|
||
Select = function (rowindex, userId, userName, mobile) {
|
||
var tempdata = {
|
||
id: userId,
|
||
text: userName,
|
||
title: userName,
|
||
mobile: mobile,
|
||
parentId: 0,
|
||
showcheck: false,
|
||
ChildNodes: null,
|
||
isSelectUser: true
|
||
};
|
||
var obj = $('#gridtable').context.getElementsByName("myname");
|
||
for (var i = 0; i < obj.length; i++) {
|
||
if (userId == obj[i].id && obj[i].checked) {
|
||
treeData.push(tempdata);
|
||
} else if (userId == obj[i].id && obj[i].checked == false) {
|
||
for (var j = 0; j < treeData.length; j++) {
|
||
if (treeData[j].id == userId) {
|
||
treeData.splice(j, 1);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
$('#userTree').lrtree({
|
||
data: treeData
|
||
});
|
||
};
|
||
//选中用户点击确定
|
||
acceptClick = function (callBack) {
|
||
var userlistselected = [];
|
||
var UserIds = "";
|
||
var UserNames = "";
|
||
var Mobiles = "";
|
||
if (treeData.length == 0) {
|
||
learun.alert.error("至少选择一位人员");
|
||
return false;
|
||
} else if (isMult == "0" && treeData.length > 1) {
|
||
learun.alert.error("有且只能选择一位人员");
|
||
return false;
|
||
}
|
||
else {
|
||
for (var j = 0; j < treeData.length; j++) {
|
||
userlistselected.push(treeData[j].id);
|
||
UserNames += treeData[j].text + ',';
|
||
UserIds += treeData[j].id + ',';
|
||
Mobiles += treeData[j].mobile + ',';
|
||
}
|
||
if (UserNames) {
|
||
UserNames = UserNames.substring(0, UserNames.lastIndexOf(','));
|
||
}
|
||
if (UserIds) {
|
||
UserIds = UserIds.substring(0, UserIds.lastIndexOf(','));
|
||
}
|
||
if (Mobiles) {
|
||
Mobiles = Mobiles.substring(0, Mobiles.lastIndexOf(','));
|
||
}
|
||
if (callType == "1") {
|
||
if ($(parent.document).find("li .lr-frame-iframe,.active")[3].contentWindow.$('iframe')[0]) {
|
||
if (valueEleId != "" && $(parent.document).find("li .lr-frame-iframe,.active")[3].contentWindow.$('iframe')[0].contentWindow.$('#' + valueEleId)) {
|
||
$(parent.document).find("li .lr-frame-iframe,.active")[3].contentWindow.$('iframe')[0].contentWindow.$('#' + valueEleId).val(UserIds);
|
||
}
|
||
if (textEleId != "" && $(parent.document).find("li .lr-frame-iframe,.active")[3].contentWindow.$('iframe')[0].contentWindow.$('#' + textEleId)) {
|
||
$(parent.document).find("li .lr-frame-iframe,.active")[3].contentWindow.$('iframe')[0].contentWindow.$('#' + textEleId).val(UserNames);
|
||
}
|
||
$(parent.document).find("li .lr-frame-iframe,.active")[3].contentWindow.$('iframe')[0].contentWindow.defaultSelectUser = UserIds;
|
||
} else {
|
||
if (valueEleId != "" && $(parent.document).find("li .lr-frame-iframe,.active")[3].contentWindow.$('#' + valueEleId)) {
|
||
$(parent.document).find("li .lr-frame-iframe,.active")[3].contentWindow.$('#' + valueEleId).val(UserIds);
|
||
}
|
||
if (textEleId != "" && $(parent.document).find("li .lr-frame-iframe,.active")[3].contentWindow.$('#' + textEleId)) {
|
||
$(parent.document).find("li .lr-frame-iframe,.active")[3].contentWindow.$('#' + textEleId).val(UserNames);
|
||
}
|
||
$(parent.document).find("li .lr-frame-iframe,.active")[3].contentWindow.defaultSelectUser = UserIds;
|
||
}
|
||
} else if (callType == "2") {
|
||
if (valueEleId != "" && parent.$("#" + top.layer_form.name + "")[0].contentWindow.$('#' + valueEleId)) {
|
||
parent.$("#" + top.layer_form.name + "")[0].contentWindow.$('#' + valueEleId).val(UserIds);//回写用户ID到父级窗口
|
||
}
|
||
if (textEleId != "" && parent.$("#" + top.layer_form.name + "")[0].contentWindow.$('#' + textEleId)) {
|
||
parent.$("#" + top.layer_form.name + "")[0].contentWindow.$('#' + textEleId).val(UserNames);//回写用户名称到父级窗口
|
||
}
|
||
if (mobileEleId != "" && parent.$("#" + top.layer_form.name + "")[0].contentWindow.$('#' + mobileEleId)) {
|
||
parent.$("#" + top.layer_form.name + "")[0].contentWindow.$('#' + mobileEleId).val(Mobiles);//回写手机号码到父级窗口
|
||
}
|
||
|
||
parent.$("#" + top.layer_form.name + "")[0].contentWindow.defaultSelectUser = UserIds;//回写已选择用户tree到父级窗口
|
||
}
|
||
learun.layerClose(window.name);
|
||
|
||
// 保存成功后才回调
|
||
if (!!callBack) {
|
||
callBack();
|
||
}
|
||
}
|
||
}
|
||
page.init();
|
||
}
|
||
|
||
//左侧树删除
|
||
function Del(id) {
|
||
for (var j = 0; j < treeData.length; j++) {
|
||
if (treeData[j].id == id) {
|
||
treeData.splice(j, 1);
|
||
}
|
||
}
|
||
var obj = $('#gridtable').context.getElementsByName("myname");
|
||
for (var i = 0; i < obj.length; i++) {
|
||
if (id == obj[i].id && obj[i].checked) {
|
||
obj[i].checked = false;
|
||
}
|
||
}
|
||
$('#userTree').lrtree({
|
||
data: treeData
|
||
});
|
||
} |