259 lines
12 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/* * 版 本 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
});
}