|
|
|
|
/// <reference path="../Scripts/MicrosoftAjax.js" />
|
|
|
|
|
/// <reference path="../Scripts/jquery.min.js" />
|
|
|
|
|
/// <reference path="fancybox/jquery.fancybox-1.3.4.js" />
|
|
|
|
|
/// <reference path="jquery.easyui.min.js" />
|
|
|
|
|
|
|
|
|
|
Custom_TeaStu = function () {
|
|
|
|
|
this.ApplicationPath = "../";
|
|
|
|
|
this.ControlID = "Window_Custom_TeaStu";
|
|
|
|
|
this.ParentElement = null; //要加入的父容器
|
|
|
|
|
this.SchID = 0;
|
|
|
|
|
var My = this;
|
|
|
|
|
|
|
|
|
|
var listDeptName = My.ControlID + "listDeptName";
|
|
|
|
|
var txtName = My.ControlID + "txtName";
|
|
|
|
|
var listLeftPerson = My.ControlID + "listLeftPerson";
|
|
|
|
|
var listRightPerson = My.ControlID + "listRightPerson";
|
|
|
|
|
var cmdPersonRightAll = My.ControlID + "cmdPersonRightAll";
|
|
|
|
|
var cmdPersonLeftAll = My.ControlID + "cmdPersonLeftAll";
|
|
|
|
|
var cmdPersonRight = My.ControlID + "cmdPersonRight";
|
|
|
|
|
var cmdPersonLeft = My.ControlID + "cmdPersonLeft";
|
|
|
|
|
var cmdSave = My.ControlID + "cmdSave";
|
|
|
|
|
var cmdGet = My.ControlID + "cmdGet";
|
|
|
|
|
var radSelectTeacher = My.ControlID + "radSelectTeacher";
|
|
|
|
|
var radSelectStudent = My.ControlID + "radSelectStudent";
|
|
|
|
|
var radSelectDept = My.ControlID + "radSelectDept";
|
|
|
|
|
var radSelectGroup = My.ControlID + "radSelectGroup";
|
|
|
|
|
var txtDeptTitle = My.ControlID + "txtDeptTitle";
|
|
|
|
|
var TrTeacher = My.ControlID + "TrTeacher";
|
|
|
|
|
|
|
|
|
|
var RightPerson = null;
|
|
|
|
|
|
|
|
|
|
var EventHandler = new Sys.EventHandlerList();
|
|
|
|
|
|
|
|
|
|
//#region 加载
|
|
|
|
|
this.Load = function () {
|
|
|
|
|
listDeptName = My.ControlID + "listDeptName";
|
|
|
|
|
txtName = My.ControlID + "txtName";
|
|
|
|
|
listLeftPerson = My.ControlID + "listLeftPerson";
|
|
|
|
|
listRightPerson = My.ControlID + "listRightPerson";
|
|
|
|
|
cmdPersonRightAll = My.ControlID + "cmdPersonRightAll";
|
|
|
|
|
cmdPersonLeftAll = My.ControlID + "cmdPersonLeftAll";
|
|
|
|
|
cmdPersonRight = My.ControlID + "cmdPersonRight";
|
|
|
|
|
cmdPersonLeft = My.ControlID + "cmdPersonLeft";
|
|
|
|
|
cmdSave = My.ControlID + "cmdSave";
|
|
|
|
|
cmdGet = My.ControlID + "cmdGet";
|
|
|
|
|
|
|
|
|
|
Init();
|
|
|
|
|
|
|
|
|
|
$("#" + radSelectTeacher, My.ParentElement).click(function () {
|
|
|
|
|
$("#" + TrTeacher, My.ParentElement).Show();
|
|
|
|
|
BindDept();
|
|
|
|
|
RefshRightPerson();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
$("#" + radSelectStudent, My.ParentElement).click(function () {
|
|
|
|
|
$("#" + TrTeacher, My.ParentElement).hide();
|
|
|
|
|
BindClass();
|
|
|
|
|
RefshRightPerson();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$("#" + radSelectDept, My.ParentElement).change(function () {
|
|
|
|
|
BindDept();
|
|
|
|
|
RefshRightPerson();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
$("#" + radSelectGroup, My.ParentElement).change(function () {
|
|
|
|
|
BindGroup();
|
|
|
|
|
RefshRightPerson();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
$("#" + listDeptName, My.ParentElement).change(function () {
|
|
|
|
|
RefshRightPerson();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
$("#" + cmdPersonLeftAll, My.ParentElement).click(function () {
|
|
|
|
|
var options = $("#" + listRightPerson, My.ParentElement).find("option");
|
|
|
|
|
if (options.length == 0) { alert("没有可以移除的人"); return; }
|
|
|
|
|
|
|
|
|
|
var html = new Sys.StringBuilder();
|
|
|
|
|
$(options).each(function () {
|
|
|
|
|
var PersonID = $(this).val();
|
|
|
|
|
var query = JSLINQ(RightPerson).Where(function (item) {
|
|
|
|
|
if (item.ID == PersonID) return item;
|
|
|
|
|
});
|
|
|
|
|
Array.remove(RightPerson, query.items[0]);
|
|
|
|
|
html.append("<option value='" + PersonID + "'>" + $(this).text() + "</option>");
|
|
|
|
|
});
|
|
|
|
|
$('#' + listLeftPerson, My.ParentElement).append(html.toString());
|
|
|
|
|
options.remove();
|
|
|
|
|
});
|
|
|
|
|
$("#" + cmdPersonRightAll, My.ParentElement).click(function () {
|
|
|
|
|
var options = $("#" + listLeftPerson, My.ParentElement).find("option");
|
|
|
|
|
if (options.length == 0) { alert("没有可以添加的人"); return; }
|
|
|
|
|
var html = new Sys.StringBuilder();
|
|
|
|
|
$(options).each(function () {
|
|
|
|
|
var model = new Object();
|
|
|
|
|
model.ID = $(this).val();
|
|
|
|
|
model.Name = $(this).text();;
|
|
|
|
|
Array.add(RightPerson, model);
|
|
|
|
|
html.append("<option value='" + model.ID + "'>" + model.Name + "</option>");
|
|
|
|
|
});
|
|
|
|
|
$('#' + listRightPerson, My.ParentElement).append(html.toString());
|
|
|
|
|
options.remove();
|
|
|
|
|
});
|
|
|
|
|
$("#" + cmdPersonLeft, My.ParentElement).click(function () {
|
|
|
|
|
var options = $("#" + listRightPerson, My.ParentElement).find("option:selected");
|
|
|
|
|
if (options.length == 0) { alert("请选择要移除的人"); return; }
|
|
|
|
|
var html = new Sys.StringBuilder();
|
|
|
|
|
$(options).each(function () {
|
|
|
|
|
var PersonID = $(this).val();
|
|
|
|
|
var query = JSLINQ(RightPerson).Where(function (item) {
|
|
|
|
|
if (item.ID == PersonID) return item;
|
|
|
|
|
});
|
|
|
|
|
Array.remove(RightPerson, query.items[0]);
|
|
|
|
|
html.append("<option value='" + PersonID + "'>" + $(this).text() + "</option>");
|
|
|
|
|
});
|
|
|
|
|
$('#' + listLeftPerson, My.ParentElement).append(html.toString());
|
|
|
|
|
options.remove();
|
|
|
|
|
});
|
|
|
|
|
$("#" + cmdPersonRight, My.ParentElement).click(function () {
|
|
|
|
|
var options = $("#" + listLeftPerson, My.ParentElement).find("option:selected");
|
|
|
|
|
if (options.length == 0) { alert("请选择要添加的人"); return; }
|
|
|
|
|
var html = new Sys.StringBuilder();
|
|
|
|
|
$(options).each(function () {
|
|
|
|
|
var model = new Object();
|
|
|
|
|
model.ID = $(this).val();
|
|
|
|
|
model.Name = $(this).text();;
|
|
|
|
|
Array.add(RightPerson, model);
|
|
|
|
|
html.append("<option value='" + model.ID + "'>" + model.Name + "</option>");
|
|
|
|
|
});
|
|
|
|
|
$('#' + listRightPerson, My.ParentElement).append(html.toString());
|
|
|
|
|
options.remove();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
$("#" + cmdSave, My.ParentElement).click(function () {
|
|
|
|
|
OnSave();
|
|
|
|
|
$.fancybox.close();
|
|
|
|
|
});
|
|
|
|
|
$("#" + cmdGet, My.ParentElement).click(function () {
|
|
|
|
|
RefshRightPerson();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$("#" + listLeftPerson, My.ParentElement).dblclick(function () {
|
|
|
|
|
var options = $("#" + listLeftPerson, My.ParentElement).find("option:selected");
|
|
|
|
|
if (options.length == 0) { return; }
|
|
|
|
|
var html = new Sys.StringBuilder();
|
|
|
|
|
$(options).each(function () {
|
|
|
|
|
var model = new Object();
|
|
|
|
|
model.ID = $(this).val();
|
|
|
|
|
model.Name = $(this).text();;
|
|
|
|
|
Array.add(RightPerson, model);
|
|
|
|
|
html.append("<option value='" + model.ID + "'>" + model.Name + "</option>");
|
|
|
|
|
});
|
|
|
|
|
$('#' + listRightPerson, My.ParentElement).append(html.toString());
|
|
|
|
|
options.remove();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
$("#" + listRightPerson, My.ParentElement).dblclick(function () {
|
|
|
|
|
var options = $("#" + listRightPerson, My.ParentElement).find("option:selected");
|
|
|
|
|
if (options.length == 0) { return; }
|
|
|
|
|
var html = new Sys.StringBuilder();
|
|
|
|
|
$(options).each(function () {
|
|
|
|
|
var PersonID = $(this).val();
|
|
|
|
|
var query = JSLINQ(RightPerson).Where(function (item) {
|
|
|
|
|
if (item.ID == PersonID) return item;
|
|
|
|
|
});
|
|
|
|
|
Array.remove(RightPerson, query.items[0]);
|
|
|
|
|
html.append("<option value='" + query.items[0].ID + "'>" + $(this).text() + "</option>");
|
|
|
|
|
});
|
|
|
|
|
$('#' + listLeftPerson, My.ParentElement).append(html.toString());
|
|
|
|
|
options.remove();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
$("#" + txtName).bind('keyup', function () {
|
|
|
|
|
if ($("#rad_select1").attr("checked") == true)
|
|
|
|
|
ReadUsers();
|
|
|
|
|
else
|
|
|
|
|
ReadGroupUsers();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
$("span[name='sy'] a").bind("click", function () {
|
|
|
|
|
$("span[name='sy'] a").css("color", "black");
|
|
|
|
|
$(this).css("color", "red");
|
|
|
|
|
SyName = $(this).html();
|
|
|
|
|
if ($("#rad_select1").attr("checked") == true)
|
|
|
|
|
ReadUsers2();
|
|
|
|
|
else
|
|
|
|
|
ReadGroupUsers2();
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
//#endregion
|
|
|
|
|
//#region 初始化
|
|
|
|
|
function Init() {
|
|
|
|
|
if (My.ParentElement == null) My.ParentElement = $(document.body);
|
|
|
|
|
if ($("#" + My.ControlID, My.ParentElement).length > 0) return;
|
|
|
|
|
var htmlString = new Sys.StringBuilder();
|
|
|
|
|
htmlString.append("<div style='display: none;'>");
|
|
|
|
|
htmlString.append("<div id='" + My.ControlID + "' title='选择' style='width: 400px; height: auto;' >");
|
|
|
|
|
|
|
|
|
|
htmlString.append("<table class='tableAll' style='width:95%;'>");
|
|
|
|
|
htmlString.append("<tr>");
|
|
|
|
|
htmlString.append("<td><input id='" + My.radSelectTeacher + "' name='selectUser' type='radio' checked='checked' /><label for='" + My.radSelectTeacher + "'>选择教师</label><input id='" + My.radSelectStudent + "' name='selectUser' type='radio' for='" + My.radSelectStudent + "' /><label>选择学生</label></td>");
|
|
|
|
|
htmlString.append("</tr>");
|
|
|
|
|
htmlString.append("<tr id='" + My.TrTeacher + "'><td><input id='" + My.radSelectDept + "' name='selectTea' type='radio' checked='checked' /><label for='" + radSelectDept + "'>按部门选择</label><input id='" + My.radSelectGroup + "' name='selectTea' type='radio' /><label for='" + My.radSelectGroup + "'>按教师分组选择</label></td></tr>");
|
|
|
|
|
htmlString.append("<tr>");
|
|
|
|
|
htmlString.append("<td><span id='" + My.txtDeptTitle + "'>部门</span>:<select id='" + listDeptName + "' style='width: 150px;'></select>姓名<input id='" + txtName + "' type='text' class='editTextbox' style='width: 100px;' /><input id='" + cmdGet + "' type='button' class='btnClass btnClassFind' value='查询' /></td>");
|
|
|
|
|
htmlString.append("</tr>");
|
|
|
|
|
htmlString.append("<tr><td><table border='0' cellpadding='0' cellspacing='0' >");
|
|
|
|
|
htmlString.append("<tr>");
|
|
|
|
|
htmlString.append("<td>未选择人员:</td>");
|
|
|
|
|
htmlString.append("<td></td>");
|
|
|
|
|
htmlString.append("<td>已选择人员:</td>");
|
|
|
|
|
htmlString.append("</tr>");
|
|
|
|
|
htmlString.append("<tr>");
|
|
|
|
|
htmlString.append(" <td><select id='" + listLeftPerson + "' multiple='multiple' style='width: 150px; height: 300px;'></select></td>");
|
|
|
|
|
htmlString.append("<td style='width:80px;' align='center' valign='middle' >");
|
|
|
|
|
htmlString.append("<a id='" + cmdPersonRight + "' href='#' class='easyui-linkbutton' iconcls='icon-next' plain='true'>右移</a>");
|
|
|
|
|
htmlString.append("<br /><br />");
|
|
|
|
|
htmlString.append("<a id='" + cmdPersonRightAll + "' href='#' class='easyui-linkbutton' iconcls='icon-next' plain='true'>全部右移</a>");
|
|
|
|
|
htmlString.append("<br /><br />");
|
|
|
|
|
htmlString.append("<a id='" + cmdPersonLeft + "' href='#' class='easyui-linkbutton' iconcls='icon-prev' plain='true'>左移</a>");
|
|
|
|
|
htmlString.append("<br /><br />");
|
|
|
|
|
htmlString.append("<a id='" + cmdPersonLeftAll + "' href='#' class='easyui-linkbutton' iconcls='icon-prev' plain='true'>全部左移</a>");
|
|
|
|
|
|
|
|
|
|
htmlString.append(" <td><select id='" + listRightPerson + "' multiple='multiple' style='width: 150px; height: 300px;'></select></td>");
|
|
|
|
|
htmlString.append("</tr></table></td></tr>");
|
|
|
|
|
//htmlString.append("<div style='height:10px;'></div>");
|
|
|
|
|
htmlString.append("<tr><td style='text-align: center'><input id='" + cmdSave + "' class='btnClass btnClassSave' type='button' value='确定' /></td></tr>");
|
|
|
|
|
htmlString.append("</div>");
|
|
|
|
|
My.ParentElement.append(htmlString.toString());
|
|
|
|
|
|
|
|
|
|
$("#" + My.ControlID, My.ParentElement).find("a").linkbutton();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
//#endregion
|
|
|
|
|
//#region 显示
|
|
|
|
|
this.Show = function (ListModel) {
|
|
|
|
|
RightPerson = ListModel;
|
|
|
|
|
if (RightPerson == null) RightPerson = new Array();
|
|
|
|
|
BindDept();
|
|
|
|
|
RefshRightPerson();
|
|
|
|
|
$.fancybox({
|
|
|
|
|
'autoScale': false,
|
|
|
|
|
'transitionIn': 'elastic',
|
|
|
|
|
'transitionOut': 'elastic',
|
|
|
|
|
'href': '#' + My.ControlID,
|
|
|
|
|
'onStart': function () {
|
|
|
|
|
}
|
|
|
|
|
}, 0);
|
|
|
|
|
}
|
|
|
|
|
//#endregion
|
|
|
|
|
//#region 绑定部门
|
|
|
|
|
function BindDept() {
|
|
|
|
|
$("#" + txtDeptTitle, My.ParentElement).text("部门:");
|
|
|
|
|
var param = new Object();
|
|
|
|
|
param.SchId = My.SchId;
|
|
|
|
|
$.ajax({
|
|
|
|
|
url: My.ApplicationPath + "BaseDataService.asmx/GetListDept",
|
|
|
|
|
async: false,
|
|
|
|
|
success: function (data) {
|
|
|
|
|
var html = new Sys.StringBuilder();
|
|
|
|
|
html.append("<option value='0'>全部</option>");
|
|
|
|
|
$(data.d).each(function (i) {
|
|
|
|
|
html.append("<option value='" + this.Id + "'>" + this.Name + "</option>");
|
|
|
|
|
});
|
|
|
|
|
$('#' + listDeptName, My.ParentElement).html(html.toString());
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
//#endregion
|
|
|
|
|
//#region 绑定班级
|
|
|
|
|
function BindClass() {
|
|
|
|
|
$("#" + txtDeptTitle, My.ParentElement).text("班级:");
|
|
|
|
|
var param = new Object();
|
|
|
|
|
param.SchId = My.SchId;
|
|
|
|
|
param.GradeCode = 0;
|
|
|
|
|
$.ajax({
|
|
|
|
|
url: My.ApplicationPath + "BaseDataService.asmx/GetListClass",
|
|
|
|
|
async: false,
|
|
|
|
|
success: function (data) {
|
|
|
|
|
var html = new Sys.StringBuilder();
|
|
|
|
|
html.append("<option value='0'>全部</option>");
|
|
|
|
|
$(data.d).each(function (i) {
|
|
|
|
|
html.append("<option value='" + this.Id + "'>" + this.Name + "</option>");
|
|
|
|
|
});
|
|
|
|
|
$('#' + listDeptName, My.ParentElement).html(html.toString());
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
//#endregion
|
|
|
|
|
//#region 绑定组
|
|
|
|
|
function BindGroup() {
|
|
|
|
|
$("#" + txtDeptTitle, My.ParentElement).text("教师组:");
|
|
|
|
|
$.ajax({
|
|
|
|
|
url: My.ApplicationPath + "BaseDataService.asmx/GetListUserGroup",
|
|
|
|
|
async: false,
|
|
|
|
|
success: function (data) {
|
|
|
|
|
var html = new Sys.StringBuilder();
|
|
|
|
|
html.append("<option value='0'>全部</option>");
|
|
|
|
|
$(data.d).each(function (i) {
|
|
|
|
|
html.append("<option value='" + this.Id + "'>" + this.Name + "</option>");
|
|
|
|
|
});
|
|
|
|
|
$('#' + listDeptName, My.ParentElement).html(html.toString());
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
//#endregion
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//#region 读取用户信息
|
|
|
|
|
function ReadUserInfo(Persons) {
|
|
|
|
|
var param = new Object();
|
|
|
|
|
param.SchId = My.SchId;
|
|
|
|
|
param.Persons = Persons;
|
|
|
|
|
param.Name = $("#" + txtName, My.ParentElement).val();
|
|
|
|
|
var url = My.ApplicationPath + "BaseDataService.asmx/GetListUserInfo";
|
|
|
|
|
if ($("#" + radSelectStudent, My.ParentElement)[0].checked == true) {
|
|
|
|
|
url += "3";
|
|
|
|
|
param.ClassId = $("#" + listDeptName, My.ParentElement).val();
|
|
|
|
|
} else if ($("#" + radSelectGroup, My.ParentElement)[0].checked == true) {
|
|
|
|
|
url += "2";
|
|
|
|
|
param.GroupId = $("#" + listDeptName, My.ParentElement).val();
|
|
|
|
|
} else {
|
|
|
|
|
param.DeptID = $("#" + listDeptName, My.ParentElement).val();
|
|
|
|
|
}
|
|
|
|
|
$.ajax({
|
|
|
|
|
url: url,
|
|
|
|
|
data: Sys.Serialization.JavaScriptSerializer.serialize(param),
|
|
|
|
|
success: function (data) {
|
|
|
|
|
var html = new Sys.StringBuilder();
|
|
|
|
|
$(data.d).each(function (i) {
|
|
|
|
|
html.append("<option value='" + this.Id + "'>" + this.Name + "</option>");
|
|
|
|
|
});
|
|
|
|
|
$('#' + listLeftPerson, My.ParentElement).html(html.toString());
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
//#endregion
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//#region 刷新已设置人员
|
|
|
|
|
function RefshRightPerson() {
|
|
|
|
|
var html = new Sys.StringBuilder();
|
|
|
|
|
var html2 = new Sys.StringBuilder();
|
|
|
|
|
$(RightPerson).each(function (i) {
|
|
|
|
|
html.append("<option value='" + this.ID + "'>" + this.Name + "</option>");
|
|
|
|
|
html2.append(this.ID + ",");
|
|
|
|
|
});
|
|
|
|
|
var Persons = html2.toString();
|
|
|
|
|
if (Persons != "") Persons = Persons.substr(0, Persons.length - 1);
|
|
|
|
|
$('#' + listRightPerson, My.ParentElement).html(html.toString());
|
|
|
|
|
ReadUserInfo(Persons);
|
|
|
|
|
}
|
|
|
|
|
//#endregion
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//#region 点击确定时触发
|
|
|
|
|
this.Save = function (handler) {
|
|
|
|
|
EventHandler.addHandler('Save', handler);
|
|
|
|
|
}
|
|
|
|
|
//#endregion
|
|
|
|
|
//#region 点击确定时触发
|
|
|
|
|
function OnSave() {
|
|
|
|
|
var h = EventHandler.getHandler('Save');
|
|
|
|
|
if (h) h(RightPerson);
|
|
|
|
|
}
|
|
|
|
|
//#endregion
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|