/***11
* 鍖虹骇閫変汉鎺т欢 v1.0.3
* jquery: 寤鸿1.8 鏈€浣?.7
* date: 2019.05.21 14:00
* 闇€瑕佸吋瀹逛箣鍓嶈€佺増鏈殑(绗簩绉嶇偣鍑荤‘瀹氾級璋冪敤鏂瑰紡鍜岄厤缃弬鏁
* update: 2019-12-17 13:36:21 chang school tab
* 浣犲彲鑳借闂负浠€涔堣繖涓唬鐮佽繖涔堥毦缁存姢鍛紵 绛旀鏄敱浜庡巻鍙茬殑灞€闄愭€э紝褰撴椂寮€鍙戠殑浜鸿繕涓嶅お鎳傘€傚鏋滆繕瑕侀暱鏈熺淮鎶わ紝寤鸿鍙傜収selectstudent-v20閲嶆柊鍐欎竴鐗堛€
***/
/*
* 鑰佺増鏈€変汉鎺т欢閰嶇疆鍙傛暟
* limitUserSchoolId: 鏄惁鍙樉绀烘寚瀹歴choolId鐨勫鏍
* isDistrictAdmin: 鏄惁鍖虹骇绠$悊鍛樸€傞粯璁や负false 涓簍rue浼氬己鍒惰缃甦istrict涓簍rue
* district: 鏄惁鏄剧ず鎵€鏈夊鏍
* zIndex: 浼樺厛绾 榛樿99999
* rolemarks: 瑙掕壊 榛樿'CLOUD_ADMIN'
* hasSaveContact: 鏄惁鏄剧ず娣诲姞鍒伴€氳褰 榛樿false
* tab: 宸﹁竟閫夋嫨鍒楄〃 ['school', 'depart', 'teacher', 'post', 'contact', 'subject'] 闇€瑕佹樉绀哄摢涓氨浼犻偅涓暟缁勬牸寮忥紝灞曠ず椤哄簭涓庝紶閫掗『搴忎竴鑷 榛樿鏄剧ず鏁欏笀銆佸矖浣嶃€侀€氳褰
* isSingle: 鏄惁涓哄崟鏍 榛樿false
* selectedGroups: Array 榛樿閫変腑鐨
* resultid: 缁撴灉id
* dataType: String 'user'鐢ㄦ埛绫诲瀷 | ''
* departmentIds: Array 鎸囧畾鏄剧ず鐨勯儴闂╥ds
* canSelectGroup: 鏄惁鍙互閫夋嫨缁 | 閮ㄩ棬 | 宀椾綅锛岄粯璁ゅ彧鑳介€夋嫨浜
* canSelectSchool: 鏄惁鍙互閫夋嫨缁 | 閮ㄩ棬 | 宀椾綅锛岄粯璁ゅ彧鑳介€夋嫨浜
* modal: false: 鏄剧ず閬僵 榛樿true(鏄剧ず)
* filiterId: 杩囨护鏄剧ず鐨勮妭鐐 榛樿涓?'
* districtPost: false 榛樿false 鏄惁鏀寔鍖虹骇宀椾綅閫夋嫨
* 鏆傛湭鍏煎锛堝悗缁仛鍏煎锛夛細
* defaultSchool: 榛樿鏄剧ず鐨勫鏍d
* isNotTop: 鏄惁瀹氫綅鍒版祻瑙堝櫒椤堕儴
* filterRole
*/
/*
* 琛ュ厖璇存槑
* tab: 宸﹁竟閫夋嫨妯″潡鐨刲ist
* selectResult: 閫変腑鐨勬暟鎹
* hasSaveContact锛 鏄殑鏄剧ず淇濆瓨鍒伴€氳褰
* backTeacher锛 閫変汉鎺т欢鍥炴樉鐨刬d闆嗗悎
*/
// 娣诲姞xss鏀诲嚮闃插尽鏂规硶start***********************************
SecLib = window.SecLib || {};
SecLib.XSSHelper = {
"handle" : function(data, encType) {
var args = arguments;
if (args.length < 1) {
throw new error("No arguments provided");
}
if (args.length === 1) {
return com.iflytek.seclib.Handler[com.iflytek.seclib.EncType.HTML]
(data);
}
var dataEncoded = data;
// iterate all encoding types and do encoding accordingly
for (var i = 1; i < args.length; i++) {
var handler = com.iflytek.seclib.Handler[args[i].toUpperCase()];
dataEncoded = handler(dataEncoded);
}
return dataEncoded;
}
};
// define an alias
SecLib.xss=SecLib.XSSHelper;
com = window.com || {};
com.iflytek = window.com.iflytek || {};
com.iflytek.seclib = {
"EncType" : {
"HTML" : "HTML",
"JS" : "JS",
"URL" : "URL",
"URLPARAM" : "URLPARAM",
"CSS" : "CSS"
},
"Handler" : {
"encode" : function(data, escapes) {
var charArr = data.split("");
var resultArr = [];
for ( var idx in charArr) {
var char = charArr[idx];
if(Object.prototype.toString.call(char.charCodeAt) === '[object Function]') {
var charCode = char.charCodeAt();
if (charCode <= 0xFF) {
resultArr.push(escapes[charCode]);
} else {
resultArr.push(char);
}
}
}
var result = resultArr.join("");
return result;
},
"HTML" : function(data) {
return com.iflytek.seclib.Handler.encode(data,
com.iflytek.seclib.htmlEscapes);
},
"JS" : function(data) {
return com.iflytek.seclib.Handler.encode(data,
com.iflytek.seclib.jsEscapes);
},
"URLPARAM" : function(data) {
return com.iflytek.seclib.Handler.encode(data,
com.iflytek.seclib.urlParamEscapes);
},
"CSS" : function(data) {
return com.iflytek.seclib.Handler.encode(data,
com.iflytek.seclib.cssEscapes);
},
"URL" : function(data) {
var protocol = com.iflytek.seclib._getProtocolOfUrl(data);
if (com.iflytek.seclib.allowedProtocols.indexOf(protocol) < 0) {
// the protocol is not in allowed list
throw {
"Exception" : "Security",
"Message" : "The protocol of URL " + data
+ " is not allowed"
};
} else {
return data;
}
}
},
"allowedProtocols" : [ "http:", "https:" ],
"htmlEscapes" : [ "", "", "", "", "",
"", "", "", "", " ", "
",
"", "", "
", "", "", "",
"", "", "", "", "", "",
"", "", "", "", "", "",
"", "", "", " ", "!", """,
"#", "$", "%", "&", "'", "(",
")", "*", "+", ",", "-", ".",
"/", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
":", ";", "<", "=", ">", "?", "@",
"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M",
"N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z",
"[", "\", "]", "^", "_", "`", "a",
"b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n",
"o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z",
"{", "|", "}", "~", "", "",
"", "", "", "", "
", "",
"", "", "", "", "", "",
"", "", "", "", "", "",
"", "", "", "", "", "",
"", "", "", "", "", "",
"", " ", "¡", "¢", "£", "¤",
"¥", "¦", "§", "¨", "©", "ª",
"«", "¬", "", "®", "¯", "°",
"±", "²", "³", "´", "µ", "¶",
"·", "¸", "¹", "º", "»", "¼",
"½", "¾", "¿", "À", "Á", "Â",
"Ã", "Ä", "Å", "Æ", "Ç", "È",
"É", "Ê", "Ë", "Ì", "Í", "Î",
"Ï", "Ð", "Ñ", "Ò", "Ó", "Ô",
"Õ", "Ö", "×", "Ø", "Ù", "Ú",
"Û", "Ü", "Ý", "Þ", "ß", "à",
"á", "â", "ã", "ä", "å", "æ",
"ç", "è", "é", "ê", "ë", "ì",
"í", "î", "ï", "ð", "ñ", "ò",
"ó", "ô", "õ", "ö", "÷", "ø",
"ù", "ú", "û", "ü", "ý", "þ",
"ÿ" ],
"jsEscapes" : [ "\\x00", "\\x01", "\\x02", "\\x03", "\\x04", "\\x05",
"\\x06", "\\x07", "\\x08", "\\x09", "\\x0A", "\\x0B", "\\x0C",
"\\x0D", "\\x0E", "\\x0F", "\\x10", "\\x11", "\\x12", "\\x13",
"\\x14", "\\x15", "\\x16", "\\x17", "\\x18", "\\x19", "\\x1A",
"\\x1B", "\\x1C", "\\x1D", "\\x1E", "\\x1F", "\\x20", "\\x21",
"\\x22", "\\x23", "\\x24", "\\x25", "\\x26", "\\x27", "\\x28",
"\\x29", "\\x2A", "\\x2B", "\\x2C", "\\x2D", "\\x2E", "\\x2F", "0",
"1", "2", "3", "4", "5", "6", "7", "8", "9", "\\x3A", "\\x3B",
"\\x3C", "\\x3D", "\\x3E", "\\x3F", "\\x40", "A", "B", "C", "D",
"E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q",
"R", "S", "T", "U", "V", "W", "X", "Y", "Z", "\\x5B", "\\x5C",
"\\x5D", "\\x5E", "\\x5F", "\\x60", "a", "b", "c", "d", "e", "f",
"g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s",
"t", "u", "v", "w", "x", "y", "z", "\\x7B", "\\x7C", "\\x7D",
"\\x7E", "\\x7F", "\\x80", "\\x81", "\\x82", "\\x83", "\\x84",
"\\x85", "\\x86", "\\x87", "\\x88", "\\x89", "\\x8A", "\\x8B",
"\\x8C", "\\x8D", "\\x8E", "\\x8F", "\\x90", "\\x91", "\\x92",
"\\x93", "\\x94", "\\x95", "\\x96", "\\x97", "\\x98", "\\x99",
"\\x9A", "\\x9B", "\\x9C", "\\x9D", "\\x9E", "\\x9F", "\\xA0",
"\\xA1", "\\xA2", "\\xA3", "\\xA4", "\\xA5", "\\xA6", "\\xA7",
"\\xA8", "\\xA9", "\\xAA", "\\xAB", "\\xAC", "\\xAD", "\\xAE",
"\\xAF", "\\xB0", "\\xB1", "\\xB2", "\\xB3", "\\xB4", "\\xB5",
"\\xB6", "\\xB7", "\\xB8", "\\xB9", "\\xBA", "\\xBB", "\\xBC",
"\\xBD", "\\xBE", "\\xBF", "\\xC0", "\\xC1", "\\xC2", "\\xC3",
"\\xC4", "\\xC5", "\\xC6", "\\xC7", "\\xC8", "\\xC9", "\\xCA",
"\\xCB", "\\xCC", "\\xCD", "\\xCE", "\\xCF", "\\xD0", "\\xD1",
"\\xD2", "\\xD3", "\\xD4", "\\xD5", "\\xD6", "\\xD7", "\\xD8",
"\\xD9", "\\xDA", "\\xDB", "\\xDC", "\\xDD", "\\xDE", "\\xDF",
"\\xE0", "\\xE1", "\\xE2", "\\xE3", "\\xE4", "\\xE5", "\\xE6",
"\\xE7", "\\xE8", "\\xE9", "\\xEA", "\\xEB", "\\xEC", "\\xED",
"\\xEE", "\\xEF", "\\xF0", "\\xF1", "\\xF2", "\\xF3", "\\xF4",
"\\xF5", "\\xF6", "\\xF7", "\\xF8", "\\xF9", "\\xFA", "\\xFB",
"\\xFC", "\\xFD", "\\xFE", "\\xFF" ],
"urlParamEscapes" : [ "%00", "%01", "%02", "%03", "%04", "%05", "%06",
"%07", "%08", "%09", "%0A", "%0B", "%0C", "%0D", "%0E", "%0F",
"%10", "%11", "%12", "%13", "%14", "%15", "%16", "%17", "%18",
"%19", "%1A", "%1B", "%1C", "%1D", "%1E", "%1F", "%20", "%21",
"%22", "%23", "%24", "%25", "%26", "%27", "%28", "%29", "%2A",
"%2B", "%2C", "-", ".", "%2F", "0", "1", "2", "3", "4", "5", "6",
"7", "8", "9", "%3A", "%3B", "%3C", "%3D", "%3E", "%3F", "%40",
"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M",
"N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z",
"%5B", "%5C", "%5D", "%5E", "_", "%60", "a", "b", "c", "d", "e",
"f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r",
"s", "t", "u", "v", "w", "x", "y", "z", "%7B", "%7C", "%7D", "~",
"%7F", "%80", "%81", "%82", "%83", "%84", "%85", "%86", "%87",
"%88", "%89", "%8A", "%8B", "%8C", "%8D", "%8E", "%8F", "%90",
"%91", "%92", "%93", "%94", "%95", "%96", "%97", "%98", "%99",
"%9A", "%9B", "%9C", "%9D", "%9E", "%9F", "%A0", "%A1", "%A2",
"%A3", "%A4", "%A5", "%A6", "%A7", "%A8", "%A9", "%AA", "%AB",
"%AC", "%AD", "%AE", "%AF", "%B0", "%B1", "%B2", "%B3", "%B4",
"%B5", "%B6", "%B7", "%B8", "%B9", "%BA", "%BB", "%BC", "%BD",
"%BE", "%BF", "%C0", "%C1", "%C2", "%C3", "%C4", "%C5", "%C6",
"%C7", "%C8", "%C9", "%CA", "%CB", "%CC", "%CD", "%CE", "%CF",
"%D0", "%D1", "%D2", "%D3", "%D4", "%D5", "%D6", "%D7", "%D8",
"%D9", "%DA", "%DB", "%DC", "%DD", "%DE", "%DF", "%E0", "%E1",
"%E2", "%E3", "%E4", "%E5", "%E6", "%E7", "%E8", "%E9", "%EA",
"%EB", "%EC", "%ED", "%EE", "%EF", "%F0", "%F1", "%F2", "%F3",
"%F4", "%F5", "%F6", "%F7", "%F8", "%F9", "%FA", "%FB", "%FC",
"%FD", "%FE", "%FF" ],
"cssEscapes" : [ "\\00", "\\01", "\\02", "\\03", "\\04", "\\05", "\\06",
"\\07", "\\08", "\\09", "\\0A", "\\0B", "\\0C", "\\0D", "\\0E",
"\\0F", "\\10", "\\11", "\\12", "\\13", "\\14", "\\15", "\\16",
"\\17", "\\18", "\\19", "\\1A", "\\1B", "\\1C", "\\1D", "\\1E",
"\\1F", "\\20", "\\21", "\\22", "\\23", "\\24", "\\25", "\\26",
"\\27", "\\28", "\\29", "\\2A", "\\2B", "\\2C", "\\2D", "\\2E",
"\\2F", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "\\3A",
"\\3B", "\\3C", "\\3D", "\\3E", "\\3F", "\\40", "A", "B", "C", "D",
"E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q",
"R", "S", "T", "U", "V", "W", "X", "Y", "Z", "\\5B", "\\5C",
"\\5D", "\\5E", "\\5F", "\\60", "a", "b", "c", "d", "e", "f", "g",
"h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t",
"u", "v", "w", "x", "y", "z", "\\7B", "\\7C", "\\7D", "\\7E",
"\\7F", "\\80", "\\81", "\\82", "\\83", "\\84", "\\85", "\\86",
"\\87", "\\88", "\\89", "\\8A", "\\8B", "\\8C", "\\8D", "\\8E",
"\\8F", "\\90", "\\91", "\\92", "\\93", "\\94", "\\95", "\\96",
"\\97", "\\98", "\\99", "\\9A", "\\9B", "\\9C", "\\9D", "\\9E",
"\\9F", "\\A0", "\\A1", "\\A2", "\\A3", "\\A4", "\\A5", "\\A6",
"\\A7", "\\A8", "\\A9", "\\AA", "\\AB", "\\AC", "\\AD", "\\AE",
"\\AF", "\\B0", "\\B1", "\\B2", "\\B3", "\\B4", "\\B5", "\\B6",
"\\B7", "\\B8", "\\B9", "\\BA", "\\BB", "\\BC", "\\BD", "\\BE",
"\\BF", "\\C0", "\\C1", "\\C2", "\\C3", "\\C4", "\\C5", "\\C6",
"\\C7", "\\C8", "\\C9", "\\CA", "\\CB", "\\CC", "\\CD", "\\CE",
"\\CF", "\\D0", "\\D1", "\\D2", "\\D3", "\\D4", "\\D5", "\\D6",
"\\D7", "\\D8", "\\D9", "\\DA", "\\DB", "\\DC", "\\DD", "\\DE",
"\\DF", "\\E0", "\\E1", "\\E2", "\\E3", "\\E4", "\\E5", "\\E6",
"\\E7", "\\E8", "\\E9", "\\EA", "\\EB", "\\EC", "\\ED", "\\EE",
"\\EF", "\\F0", "\\F1", "\\F2", "\\F3", "\\F4", "\\F5", "\\F6",
"\\F7", "\\F8", "\\F9", "\\FA", "\\FB", "\\FC", "\\FD", "\\FE",
"\\FF" ],
};
com.iflytek.seclib._getProtocolOfUrl = (function() {
var a;
return function(url) {
if (!a)
a = document.createElement('a');
a.href = url;
return a.protocol;
};
})();
// *****************xss闃插尽鏀诲嚮鏂规硶end****************
(function (window, factory) {
if (typeof exports === 'object') {
module.exports = factory();
} else if (typeof define === 'function' && define.amd) {
define(factory);
} else {
window.TeacherSelectUtils = new factory();
}
})(this, function () {
var $ = jQuery
var that = this;
this.callback = function () {};
this.hasSaveContact = false; //榛樿鍚湁淇濆瓨鍒伴€氳褰曞姛鑳
this.openTeacherSelectDialog = function(func, opt) {
// 濂藉涓氬姟杩炵画鐐瑰嚮涓ゆ锛岃繖閲屽仛涓垽鏂紝濡傛灉宸茬粡鏈夐€変汉鎺т欢浜嗭紝鍒欎笉缁х画
if (window.isOpenCommonTeacherSelect) {return}
window.isOpenCommonTeacherSelect = true;
var deleteUsers = []; // 鍒犻櫎鐨勭粨鏋
var TeacherSelect = TeacherSelectUtils;
// var selectResult = {}
var changeOver = false; // 灞曞紑鏀惰捣鍏ㄥ眬鎺у埗 鐢ㄤ簬400姣绂佹鐐瑰嚮绗簩娆
var isDoubelTap = true; // 榛樿鏄剧ず涓夋爮妯″紡
var labelList = []; // 鍗曚綅缁勪娇鐢紝鏍囩鍒楄〃
var schoolList = []; // 鍗曚綅缁勪娇鐢紝瀛︽牎鍒楄〃
var groupIds = ''; // 鍗曚綅缁勪娇鐢
var labelIds = ''; // 鍗曚綅缁勪娇鐢
var departmentSchoolId = ''; // 閮ㄩ棬涓嬮€変腑鐨勫綋鍓嶅鏍d
var storeTemp = { // 鐢变簬鍗曚綅缁勫拰瀛︽牎鍏叡杩欏嚑涓睘鎬э紝涓轰簡闃叉鍐茬獊锛岀敤鍏跺畠鍙橀噺瀛樺偍銆
labelList: [],
schoolList: [],
groupIds: [],
labelIds: []
}
var teacherTabCurrentAllTeachers = []; // 鏁欏笀鏍忕洰锛屽綋鍓嶆墍鏈夌殑鏁欏笀
var teacherTabCurrentShowTeacher = []; // 鏁欏笀鏍忕洰锛屽彸渚ф墍鏈夌殑鏁欏笀
var contactTabAllTeachers = [];
var isSearchTeacher = false;
var isOrganSearchTeacher = false;
var isSearchGroupSchool = false;
var contactGroup = {}
var contactTeacher = ''; // 鍗曚綅閫氳褰 鎼滅储鏁欏笀 鏆傚瓨鏁欏笀鍚嶇О
TeacherSelect.result = []; // 閫変腑鐨勭粨鏋
// TeacherSelect.oldMes = []; // 鍥炴樉璇锋眰鍒扮殑鏁版嵁 榛樿涓鸿€佹暟鎹
TeacherSelect.backTeacher = opt.data || []
TeacherSelect.backGroup = opt.selectedGroups || []
TeacherSelect.selectResult = [] // 璇锋眰杩斿洖鐨勬暟鎹
TeacherSelect.filterResult = {} // 璇锋眰杩斿洖鐨勬暟鎹垎绫
TeacherSelect.backDate = {}; // 鍥炴樉鏁版嵁鍒嗙被
TeacherSelect.departSchool = {}; //閫夋嫨閮ㄩ棬鏃堕€夋嫨鐨勫鏍
TeacherSelect.teacherSchool = {}; //閫夋嫨鏁欏笀鏃堕€夋嫨鐨勫鏍
TeacherSelect.teacherDepart = {}; //閫夋嫨鏁欏笀鏃堕€夋嫨鐨勯儴闂
TeacherSelect.postSchool = {}; // 閫夋嫨宀椾綅鏃堕€夋嫨鐨勫鏍
TeacherSelect.postTeacher = {}; // 閫夋嫨宀椾綅鏃堕€夋嫨鐨勫矖浣
TeacherSelect.subjectCheckedList = []; // 閫夋嫨鐨勫绉
TeacherSelect.subjectSchoolCheckedList = []; // 瀛︾閫夋嫨妯″潡閲岄€夋嫨鐨勫鏍
TeacherSelect.mySchool = {}; // 鎴戞墍鍦ㄧ殑瀛︽牎
TeacherSelect.mySchoolId = ''; // 鎴戞墍鍦ㄧ殑瀛︽牎id锛屽垰鎵撳紑鐨勬椂鍊欒幏鍙栭€変汉鎺т欢鐨勯厤缃殑鏃跺€欒幏鍙栫殑
TeacherSelect.mySchoolOriginId = ''; //鍗曚綅閫氳褰曟椂鍊欏瓨鍌ㄤ腑闂寸殑ID
TeacherSelect.mySchoolName = ''; // 鎴戞墍鍦ㄧ殑瀛︽牎鍚嶇О锛屽垰鎵撳紑鐨勬椂鍊欒幏鍙栭€変汉鎺т欢鐨勯厤缃殑鏃跺€欒幏鍙栫殑
TeacherSelect.isChangeContact = false; //鏄惁鏇存柊閫氳褰曪紙淇濆瓨鍒伴€氳褰曚箣鍚庯級
checkOpt(func, opt)
var $content =
'
' +
'' +
'
' +
'
' +
'
' +
'
' +
'宸查€変腑 ' +
' ' +
'淇濆瓨鍒伴€氳褰旤/span>' +
'
' +
'
' +
'
' +
'
' +
' ' +
' ' +
'
' +
'
' +
'
' +
'
' +
'' +
'
' +
'';
// 瀵瑰弬鏁扮殑瀹氫箟
function checkOpt (func, opt) {
var opt = opt || {};
var defaultTab = ['teacher', 'post', 'contact']; // 榛樿鏄剧ず鏁欏笀銆佸矖浣嶃€侀€氳褰
that.oldMes = [];
that.hasSaveContact = opt.hasSaveContact || false; // 鏄惁鏄剧ず淇濆瓨鍒伴€氳褰
that.tab = opt.tab || defaultTab;
that.isSingle = opt.isSingle || false;
that.showContact = opt.showContact || 1 // 1 灞曠ず锛 2 涓嶅睍绀猴紝 榛樿灞曠ず
that.limitUserSchoolId = opt.limitUserSchoolId || ''; //鏄惁鍙樉绀烘寚瀹歴choolId鐨勫鏍
that.isDistrictAdmin = opt.isDistrictAdmin || false; // 鏄惁鍖虹骇绠$悊鍛樸€備负true浼氬己鍒惰缃甦istrict涓簍rue
that.district = (opt.district === undefined || opt.district) ? true : false; // 鏄惁鏄剧ず鎵€鏈夊鏍
that.mask = opt.modal || true; // 鏄惁鏄剧ず閬僵妗
that.canSelectGroup = opt.canSelectGroup || false; // 鏄惁鍙互閫夋嫨缁 | 閮ㄩ棬 | 宀椾綅锛岄粯璁ゅ彧鑳介€夋嫨浜
that.canSelectSchool = opt.canSelectSchool || false; // 鏄惁鍙互閫夋嫨缁 | 閮ㄩ棬 | 宀椾綅锛岄粯璁ゅ彧鑳介€夋嫨浜
that.confirmCallBackFun = opt.confirmCallBackFun;
that.dataType = opt.dataType || ''; // String 'user'鐢ㄦ埛绫诲瀷 | ''
// that.selectedIds = opt.data || [], // Array 榛樿閫夋嫨鐨勪汉鐨刬ds
that.departmentIds = opt.departmentIds || []; // Array 鎸囧畾鏄剧ず鐨勯儴闂╥ds
that.selectedGroups = opt.selectedGroups || []; // Array 榛樿閫変腑鐨
that.customGroup = opt.customGroup || false; // 鑷畾涔夊垎缁
that.zIndex = opt.zIndex,
that.resultid = opt.resultid || '';
that.rolemarks = opt.rolemarks || '';
that.roleId = opt.roleId || '';
that.isNotTop = opt.isNotTop || false; // 濡傛灉涓簍rue,鍒欎笉寮哄埗璁剧疆涓哄脊鍑哄埌椤堕儴銆備互鍓嶆槸寮瑰嚭鍒伴《閮ㄧ殑銆
that.filterRole = opt.filterRole || false;
that.hideSelectAll = opt.hideSelectAll || false;
that.filiterId = opt.filiterId || '';
that.districtPost = opt.districtPost || false;
// 鏈吋瀹圭殑
that.pane = 'department'; // 寮€濮嬫樉绀虹殑闈㈡澘锛歞epartment || post || address锛岄粯璁ゆ槸閮ㄩ棬
that.defaultSchool = opt.defaultSchool || ''; // 榛樿鏄剧ず鐨勫鏍d
};
// 杩斿洖鐨勬暟鎹
function sureBackResult(result) {
if (that.confirmCallBackFun) {
return that.confirmCallBackFun(result)
}
else {
getDeleteDate()
func(deleteUsers, false); // 鍒犻櫎鐨勪汉
func(result, true); // 鏈€鍚庨€夋嫨鐨勭粨鏋滈泦
}
};
// 杩囨护宸插垹闄ょ殑鏁版嵁
function getDeleteDate () {
deleteUsers = []
$.each(that.oldMes, function (i, old) {
if (!checkHasDelete(old.id)) {
deleteUsers.push(old)
}
})
function checkHasDelete (id) {
// 妫€鏌ヤ紶鍏ョ殑id鍦ㄦ柊鐨勭殑鏁版嵁閲屾槸鍚︽湁杩斿洖true鎴栬€協alse
var hasId = false
$.each(TeacherSelect.result, function (i, res) {
if (res.id == id) {
hasId = true
return false;
}
})
return (hasId)
}
};
// 鎵撳紑閫変汉鎺т欢
(function openSelectDialog () {
$('body').append($content);
// 鍦ㄥ叧闂€変汉鎺т欢鐨勫湴鏂硅缃甶sOpenCommonTeacherSelect涓篺alse涓嶉潬璋
// 鍥犱负鎴戜笉纭畾鍙湁杩欎竴涓湴鏂瑰彲浠ュ叧闂€
// 鍏堝湪閫変汉鎺т欢鏄剧ず鍒扮晫闈㈠悗灏卞皢鍏惰缃负false
window.isOpenCommonTeacherSelect = false;
// 璁剧疆閫変汉鎺т欢鐨勭獥鍙eぇ灏
if (document.documentElement.clientHeight < 750) {
$('#common-district-select-teach-main').height('502px');
$('#select-result-show-main').css('margin-top', '0');
$('.select-result-show-body').css('padding', '5px 3px');
$('#select-result-show-main').css('height', '116px');
$('#common-select-bodys').css('460px');
$('#common-district-select-teach-main').css('margin-top', '-251px');
$('#select-bodys-checked-main').height('300px');
$('.select-trees-shows-main').height('260px');
$('.ul-overflow-show').height('197px');
$('#common-select-headers').css({
'height': '34px',
'line-height': '34px'
});
$('#common-select-bodys').css('padding-top', '8px');
$('#select-submit-btn-mian').css('padding', '5px 0');
}
setDeploy()
// 鐢变簬鍗楁矙瀹氬埗锛屽張璁捐鍒板お澶氫笟鍔★紝鎵€浠ユ敼鎴愪粠骞冲彴鑾峰彇閰嶇疆
$('.select-trees-shows-main').addClass('common-loading');
// 閲戝崕瀹氬埗锛屽湪閫夋嫨瀛︽牎鐨勬椂鍊欙紝鏀寔浼犲叆鍙傛暟customGroup: true, 鏉ュ疄鐜扮敤鎴疯嚜瀹氫箟鍒嗙粍
if (that.tab.indexOf('school') !== -1 && that.customGroup === true) {
that.tab.push('customGroup');
}
commonRequest({
roleId: that.roleId,
filterRole: that.filterRole,
filiterId: that.filiterId,
rolemarks: that.rolemarks
}, '/common_selector/config.do', function (res) {
// 閫夋嫨鏁欏笀鐨勬椂鍊欐墠鏈夊崟浣嶉€氳褰
if (that.showContact === 1 && res.isShowUnitAddrBook && that.tab.indexOf('teacher') !== -1 && that.tab.indexOf('organ') === -1) {
that.tab.push('organ');
}
// 閫夋嫨瀛︽牎鐨勬椂鍊欙紝濡傛灉褰撳墠骞冲彴寮€鍚簡鍗曚綅閫氳褰曪紝灏嗗鏍¢鏍煎彉鎴愬崟浣嶉€氳褰曢鏍
var tabIndex = that.tab.indexOf('school');
if (res.isShowUnitAddrBook && res.schoolTabStyleForTeacher === 1 && tabIndex !== -1) {
that.tab[tabIndex] = 'school_1';
}
$('.select-trees-shows-main').removeClass('common-loading');
TeacherSelect.mySchoolId = res.mySchoolId;
TeacherSelect.mySchoolName = res.mySchoolName;
toShowNav(that.tab);
}, function () {
$('.select-trees-shows-main').removeClass('common-loading');
toShowNav(that.tab);
})
})();
// 椤甸潰鍒濆鍖栫殑涓€浜涢厤缃
function setDeploy () {
// 鍥炴樉鐨勫弬鏁
if (TeacherSelect.backTeacher.length > 0 || TeacherSelect.backGroup.length > 0) {
showHasSelect();
} else {
watchResultChange();
}
if (that.canSelectGroup) {
if (that.tab.indexOf('depart') === -1) {
that.tab.unshift('depart')
}
}
if (that.canSelectSchool) {
if (that.tab.indexOf('school') === -1) {
that.tab.unshift('school')
}
}
// 灏唖electedGroups 杩涜鍒嗙被鏀惧埌backDate
filterBackDate()
// 鏄惁鏈変繚瀛樺埌閫氳褰曞姛鑳
if (!that.hasSaveContact) {
$('#save-select-book').hide();
}
// 娌℃湁璁剧疆rolemarks鏃舵牴鎹甶sDistrictAdmin涓巇istrict鏉ュ喅瀹氭槸鍚︿负鍖虹骇
if (!that.rolemarks && (that.isDistrictAdmin === true || that.district === true)) {
that.rolemarks = 'CLOUD_ADMIN';
}
// 璁剧疆閬僵鐨勬樉绀轰笌闅愯棌
if (!that.mask) {
$('#common-district-select-teach-shade').hide();
}
else {
$('#common-district-select-teach-shade').show();
if (that.zIndex) {
$('#common-district-select-teach-shade').css('z-index', that.zIndex);
}
}
};
// 灏唖electedGroups 杩涜鍒嗙被鏀惧埌backDate
function filterBackDate () {
TeacherSelect.backDate.school = []
TeacherSelect.backDate.department = []
TeacherSelect.backDate.teachers = TeacherSelect.backTeacher
TeacherSelect.backDate.post = []
$.each(TeacherSelect.backDate, function (i, item) {
if (item.type === 'department') {
TeacherSelect.backDate.department.push(item)
}
else if (item.type === 'school') {
TeacherSelect.backDate.school.push(item)
}
else if (item.type === 'post') {
TeacherSelect.backDate.post.push(item)
}
})
};
// 妫€鏌av鐨勯厤缃苟鎸夐『搴忓睍绀
function toShowNav (tab) {
var tabList = {
structure: '缁勭粐',
school: '瀛︽牎',
school_1: '瀛︽牎',
depart: '閮ㄩ棬',
teacher: '鏁欏笀',
post: '宀椾綅',
contact: '涓汉閫氳褰?,
subject: '瀛︾',
organ: '鍗曚綅閫氳褰?,
customGroup: '鑷畾涔夊垎缁?
};
for (var i = 0; i < tab.length; i++) {
$('.select-bar-list').append(''+ tabList[tab[i]] +' ');
$('.select-trees-shows-main').append('
');
}
// 鍏ㄥ眬鍙橀噺褰撳墠榛樿閫変腑绗竴涓ā鍧
$('.select-bar-list li').eq(0).addClass('active');
TeacherSelect.isSelectBar = tab[0]
$('.common-select-headers-title').html(tabList[TeacherSelect.isSelectBar] + '閫夋嫨');
// $('#select-'+ TeacherSelect.isSelectBar +'-moudel-content').show()
$('#select-'+ TeacherSelect.isSelectBar +'-moudel-content').animate({
height: '100%'
}, 300)
toShowSelectBodys(TeacherSelect.isSelectBar);
changeBar(tabList);
};
// 鍒囨崲宸﹁竟tab鏍
function changeBar(tabList) {
var t1 = {}
$('.select-bar-list li').on('click', function() {
var curBarName = $(this).attr('data-name')
if (TeacherSelect.isSelectBar === curBarName) {
return false
}
TeacherSelect.isSelectBar = curBarName;
// 鍒囨崲鐨勬椂鍊欎繚鐣欑姸鎬
var prevBar = $(this).siblings('li.active');
var prevBarName = prevBar.attr('data-name');
if (prevBarName === 'organ' || prevBarName === 'school_1') {
t1.schoolList = schoolList;
t1.labelList = labelList;
t1.labelIds = labelIds;
t1.groupIds = groupIds;
// 鎶妔toreTemp璁剧疆涓轰箣鍓嶇殑缂撳瓨
// storeTemp.schoolList = schoolList;
// storeTemp.labelList = labelList;
// storeTemp.labelIds = labelIds;
// storeTemp.groupIds = groupIds;
}
if (curBarName === 'organ' || curBarName === 'school_1') {
// 浠巗toreTemp涓彇鍑轰箣鍓嶇殑缂撳瓨
schoolList = t1.schoolList || [];
labelList = t1.labelList || [];
labelIds = t1.labelIds || '';
groupIds = t1.groupIds || '';
}
// $('#select-' + prevBarName + '-moudel-content').empty();
$(this).siblings('li').removeClass('active');
$(this).addClass('active');
$('.common-select-headers-title').html(tabList[TeacherSelect.isSelectBar] + '閫夋嫨');
toShowSelectBodys(TeacherSelect.isSelectBar);
$('#select-'+ TeacherSelect.isSelectBar +'-moudel-content').animate({
height: '100%'
}, 300)
$('#select-'+ TeacherSelect.isSelectBar +'-moudel-content').siblings('div').animate({
height: '0'
}, 300)
})
};
// 鏍规嵁宸﹁竟鐨刵av閫変腑鐘舵€佹潵娓叉煋瀵瑰簲鐨勬ā鍧
function toShowSelectBodys(isSelectBar) {
switch(isSelectBar) {
case 'structure':
toRenderStructureTrees();
break;
case 'school':
toRenderSchoolTrees();
break;
case 'school_1':
toRenderOrganSchoolList();
break;
case 'depart':
toRenderDepartSchoolTrees();
break;
case 'teacher':
toRenderTeachersSchoolTrees();
break;
case 'contact':
toRenderTeachersContactTrees();
break;
case 'subject':
toRenderSubjectSchoolTrees();
break;
case 'post':
toRenderPostTrees();
break;
case 'organ':
toRenderOrganList();
break;
case 'customGroup':
toRenderCustomGroup();
break;
default:
// toReanderStudentTree()
toRenderTeachersSchoolTrees();
break;
}
};
/***
** 閫夋嫨缁勭粐妯″潡锛 娓叉煋閫夋嫨缁勭粐妯″潡鐨刣om
****/
function toRenderStructureTrees() {
var $structureContent = $('#select-structure-moudel-content');
var structureTree =
'';
if (!($structureContent.find('div').hasClass('select-list-common-main'))) {
$structureContent.append(structureTree);
$('#common-select-bodys .select-structure-tree').height('100%')
toShowStructureTrees();
}
};
/*
** 璇锋眰缁勭粐鏋舵瀯鏍
*/
function toShowStructureTrees () {
var obj = $('.select-structure-tree')
obj.children('ul').remove();
obj.siblings('.common-loading').show();
var structurePostData = {
filiterId: that.filiterId,
rolemarks: that.rolemarks
}
var structurePostUrl = '/common_selector/structure.do'
commonRequest (structurePostData, structurePostUrl, function(structureTree) {
obj.siblings('.common-loading').hide();
if (Object.prototype.toString.call(structureTree)=='[object Array]') {
// 杩欑鎯呭喌鍦ㄧ粍缁囬噷闈㈠熀鏈笉浼氬瓨鍦紝鍥犱负缁勭粐杩斿洖鐨勫熀鏈笂閮芥槸鏍戠粨鏋
// 濡傛灉杩斿洖鐨勬槸鏁扮粍鐩存帴璇锋眰toPushCommonTrees
if (structureTree.length > 0) {
if (structureTree.length === 0) {
obj.append('');
}
else {
if (structureTree[0].disabled) {
obj.append('');
}
else {
var hasRootChecked = false;
if(TeacherSelect.filterResult.structure) {
$.each(TeacherSelect.filterResult.structure, function(n, school) {
if (school.id == structureTree[0].id) {
hasRootChecked = true
obj.append('');
}
});
}
if(!hasRootChecked) {
obj.append('');
}
}
toPushCommonTrees($('.select-structure-tree ul > li'), structureTree[0].children, true, 'structure', 'structure');
}
}
else {
obj.append('');
}
}
else {
// 鑻ヤ笉鏄暟缁勫垯涓烘渶澶栧眰涓轰竴涓ぇ鐨勭埗绾 鍒欏厛娓叉煋鏈€澶栧眰鍐嶅惊鐜噷闈㈢殑鏍
if (structureTree.id) {
if (structureTree.disabled) {
obj.append('');
}
else {
obj.append('');
}
toPushCommonTrees($('.select-structure-tree ul > li'), structureTree.children, true, 'structure', 'structure');
}
else {
obj.append('');
}
}
})
};
/***
** 閫夋嫨瀛︽牎妯″潡锛 娓叉煋閫夋嫨瀛︽牎妯″潡鐨刣om
****/
function toRenderSchoolTrees() {
var $teacherContent = $('#select-school-moudel-content');
var teacherTree =
'' +
'
' +
'
' +
' ' +
' ' +
'
' +
'
' +
'
' +
'
';
if (!($teacherContent.find('div').hasClass('select-list-common-main'))) {
$teacherContent.append(teacherTree);
if (document.documentElement.clientHeight < 750) {
$('#common-select-bodys .select-schools-tree').height('222px')
}
toShowSchoolTrees($('.select-schools-tree'), '', true, 'school');
}
};
function toRenderCustomGroup(){
var $customGroupContent = $('#select-customGroup-moudel-content');
var teacherTree = ''+
'
'+
''+
'
' +
' ' +
' ' +
'
' +
'
' +
'
' +
'
' +
'
'+
' ';
if (!($customGroupContent.find('div').hasClass('select-list-common-main'))) {
$customGroupContent.append(teacherTree);
if (document.documentElement.clientHeight < 750) {
$('#common-select-bodys .select-customGroup-tree').height('250px');
$('#common-select-bodys .select-customGroup-school-tree').height('222px');
}
toShowCustomGroupTree($('#select-custom-group-main .select-customGroup-tree'));
}
}
/**
* 鑾峰彇瀛︽牎鏁版嵁
* obj: 娓叉煋鐨勭埗绾х洰鏍囧厓绱
* name: 鎼滅储鐨勫悕瀛
* hasSelect: 鏄惁鍚湁澶嶉€夋
**/
function toShowSchoolTrees(obj, name, hasSelect, type) { // 娓叉煋瀛︽牎鏍
obj.children('ul').remove();
obj.siblings('.common-loading').show();
var schoolPostData = {
filiterId: that.filiterId,
rolemarks: that.rolemarks,
roleId: that.roleId,
filterRole: that.filterRole,
limitUserSchoolId: that.limitUserSchoolId,
id: 'VirtualRootNode',
schoolName: name
}
var schoolPostUrl = '/common_selector/allSchools.do'
commonRequest(schoolPostData, schoolPostUrl, function(schoolTree) {
obj.siblings('.common-loading').hide();
if (obj.children('ul').length > 0) {
obj.children('ul').remove()
}
if (!(schoolTree.length > 0 && schoolTree[0].leaf)) {
// 濡傛灉杩斿洖鐨勬槸鏁扮粍鐩存帴璇锋眰toPushCommonTrees
if (schoolTree.length > 0) {
if (type === 'school') {
obj.append('');
toPushCommonTrees(obj.children('ul').children('li'), schoolTree, hasSelect, 'school', type);
}
else {
if(TeacherSelect.isSelectBar === 'depart') {
transDepartSchoolTree(schoolTree)
}
toPushCommonTrees(obj, schoolTree, hasSelect, 'school', type);
}
}
else {
obj.append('');
}
}
else {
// 濡傛灉杩囨护鐨勮妭鐐归噷闈笉鍖呭惈鑷繁鐨勫鏍
var showMySchool = true
if (schoolTree.length === 1) {
// 鏉冮檺鍙瓨鍦ㄨ嚜宸辩殑瀛︽牎涓 鎴栬€呬负鍗曟牎妯″紡
// 灏嗘暀甯堥€夋嫨銆佸矖浣嶉€夋嫨鍙樹负涓ゅ垪
isDoubelTap = true;
TeacherSelect.mySchool = schoolTree[0];
}
else {
if ((that.filiterId && that.filiterId !== '') || !schoolTree[0].canSelect) {
showMySchool = false
}
else {
TeacherSelect.mySchool = schoolTree[0];
}
isDoubelTap = false;
// 榛樿灏嗙涓€涓樉绀虹殑瀛︽牎锛堣嚜宸辩殑锛夐殣钘忔帀
schoolTree.splice(0, 1);
}
if (isDoubelTap) { // 涓ゆ爮鐩ā寮
// 鏁欏笀閫夋嫨閮ㄥ垎
$('#select-teacher-moudel-content #select-schools-moudel-main').hide()
$('#select-teacher-moudel-content .first-line').hide()
// 宀椾綅閫夋嫨閮ㄥ垎
$('#select-post-schools-moudel-main').hide()
$('#select-post-moudel-content .first-line').hide()
// 閮ㄩ棬閮ㄥ垎
$('#select-dept-schools-moudel-main').hide()
$('#select-depart-moudel-content .select-center-line').hide()
}
else { // 涓夋爮妯″紡
// 鏁欏笀閫夋嫨閮ㄥ垎
$('#select-teacher-moudel-content .common-select-tree-bodys').css('width', '250px');
$('#select-teacher-moudel-content .select-center-line').css('margin-right', '3px');
// 宀椾綅閫夋嫨閮ㄥ垎
$('#select-post-moudel-content .common-select-tree-bodys').css('width', '250px');
$('#select-post-moudel-content .select-center-line').css('margin-right', '3px');
// 鏁欏笀宀椾綅鏍戞樉绀烘í鍚戞粴鍔ㄦ潯
$('#select-post-teacher-moudel-main .select-post-teacher-tree').css('overflow', 'auto');
}
// 濡傛灉鏄儴闂ㄩ€夋嫨鎴栬€呭鐢熼€夋嫨榛樿閫変腑鎴戠殑瀛︽牎
if (type === 'depart') {
$('#select-depart-moudel-content .big-loading').hide()
if (showMySchool) {
TeacherSelect.departSchool = {schoolId: TeacherSelect.mySchool.id, schoolName: TeacherSelect.mySchool.text};
toShowDepartTrees(TeacherSelect.mySchool.id, '', 'depart');
}
else {
$('#select-departs-moudel-main').hide()
$('#select-depart-moudel-content .select-center-line').hide()
}
}
else if (type === 'teacher') {
$('#select-teacher-moudel-content .big-loading').hide()
if (showMySchool) {
TeacherSelect.departSchool = {schoolId: TeacherSelect.mySchool.id, schoolName: TeacherSelect.mySchool.text};
toShowDepartTrees(TeacherSelect.mySchool.id, '', 'teacher');
TeacherSelect.teacherSchool = {schoolId: TeacherSelect.mySchool.id, schoolName: TeacherSelect.mySchool.text};
toShowTeacherTrees(TeacherSelect.mySchool.id, '', '', false, '');
}
else {
$('#select-depart-moudel-main').hide()
$('#select-teacher-moudel-content .select-center-line').hide()
$('#select-teacher-moudel-main').hide()
}
}
else if (type === 'post') {
$('#select-post-moudel-content .big-loading').hide()
$('.post-main').show()
if (showMySchool && !that.districtPost) {
TeacherSelect.postSchool = {schoolId: TeacherSelect.mySchool.id, schoolName: TeacherSelect.mySchool.text, selectDis: false};
toShowPostTrees(TeacherSelect.mySchool.id, false, '', false);
// 娓叉煋鏁欏笀
TeacherSelect.teacherSchool = {schoolId: TeacherSelect.mySchool.id, schoolName: TeacherSelect.mySchool.text};
toShowPostTeacherTrees(TeacherSelect.mySchool.id, '', '', false);
}
else {
$('#select-post-moudel-main').hide()
$('#select-post-moudel-content .select-center-line').hide()
$('#select-post-teacher-moudel-main').hide()
}
}
// if (hasSelect) {
// obj.append('');
// }
// else {
// obj.append('' + schoolTree[0].text + ' ');
// }
// 涓€娆℃€ф覆鏌撴暣涓爲鐨勬柟娉
// toPushCommonTrees(obj.children('ul').children('li'), schoolTree, hasSelect, 'school');
if(TeacherSelect.isSelectBar === 'depart') {
changeDepartSchoolTreeId(schoolTree)
}
toPushCommonTrees(obj, schoolTree, hasSelect, 'school', TeacherSelect.isSelectBar);
// toPushCommonTrees(obj.children('ul').children('li'), schoolTree, hasSelect, 'school');
// 鐐瑰嚮瀵瑰簲鑺傜偣璇锋眰瀵瑰簲涓嬮潰鐨勪竴灞傜粨鏋勮繑鍥炵殑鏄暟缁勭粨鏋
// toPushSchoolTree(obj, schoolTree, hasSelect, type)
}
function transDepartSchoolTree(schoolTree) {
schoolTree.forEach(function(item) {
item.id = 'depart_' + item.id
if(item.children) {
transDepartSchoolTree(item.children)
}
})
}
function changeDepartSchoolTreeId(schoolTree) {
var type = Object.prototype.toString.call(schoolTree)
if(type === '[object Object]') {
if(schoolTree.type === 'school') {
schoolTree.id = 'depart_' + schoolTree.id
} else if(schoolTree.children && schoolTree.children.length) {
changeDepartSchoolTreeId(schoolTree.children)
}
} else if(type === '[object Array]') {
schoolTree.forEach(function (item) {
// item.type = 'school'
changeDepartSchoolTreeId(item)
})
}
}
});
};
function toShowCustomGroupTree(obj){
obj.children('ul').remove();
obj.siblings('.common-loading').show();
var customGroupUrl = '/common_selector/custom_groups/groupList.do';
commonRequest({}, customGroupUrl, function (groupList) {
obj.siblings('.common-loading').hide();
if (groupList && groupList.length > 0) {
appendList(groupList);
// 閫夋嫨绗竴涓垎缁勫睍寮€
showCustomGroupSchools(groupList[0].groupId, groupList[0].groupName);
} else {
$('.select-customGroup-tree').append('鏆傛湭鏌ヨ鍒拌嚜瀹氫箟鍒嗙粍锛孅/p>
鐐瑰嚮鍙充晶璁剧疆鎸夐挳缁存姢鑷畾涔夊垎缁剘
');
$('.common-group-search-main').hide();
}
}, function () {
obj.siblings('.common-loading').hide();
$('.select-customGroup-tree').append('鏆傛湭鏌ヨ鍒拌嚜瀹氫箟鍒嗙粍锛孅/p>
鐐瑰嚮鍙充晶璁剧疆鎸夐挳缁存姢鑷畾涔夊垎缁剘
');
$('.common-group-search-main').hide();
});
listenGroupClick();
function appendList(groupList) {
// toPushSchoolTree(obj, groupList, true)
var html = ''+
''+
' '+
' 鑷畾涔夊垎缁?+
'' +
' ' +
' ';
obj.append(html);
}
function listenGroupClick () {
// 鐐瑰嚮鑷畾涔夊垎缁勫悕绉
$('#select-customGroup-moudel-content').on('click', '.custom-group-structure-select.can-select-school', function () {
showCustomGroupSchools($(this).parent().attr('data-id'), $(this).parent().attr('data-name'));
});
$('#select-customGroup-moudel-content').on('click', 'input[type="checkbox"]', function (e) {
e.stopPropagation()
var $this = $(this);
var dtype = $this.attr('data-type');
var isChecked = $this.prop('checked');
var id = $this.parent().attr('data-id');
var name = $this.parent().attr('data-name');
if (dtype === 'group-check') { // 閫夋嫨鍒嗙粍
showCustomGroupSchools(id, name, isChecked ? 1 : -1);
} else if (dtype === 'school-check') { // 閫夋嫨瀛︽牎
checkResultList(id, name, name, id, isChecked, 'school');
// 鍒ゆ柇鏄笉鏄墍鏈夌殑瀛︽牎琚€変腑浜嗭紝濡傛灉鏄紝鍒欏皢鐖剁骇鍜屽垎缁勯€変腑銆傚鏋滀笉鏄紝杩欏彇娑堜粬浠殑閫変腑銆
var isAllChecked = isChecked;
if (isChecked) {
$this.parent().siblings('li').children('input').each(function (index, el) {
if (!$(el).prop('checked')) {
isAllChecked = false;
}
})
}
$this.parent().parent().siblings('input').prop('checked', isAllChecked);
var groupId = $this.parent().parent().parent().attr('data-group-id');
$('#select-custom-group-main li[data-id='+groupId+']').children('input').prop('checked', isAllChecked);
} else if (dtype === 'school-all-check') { // 閫夋嫨鎵€鏈夊鏍
var groupId = $this.parent().attr('data-group-id');
$('#select-custom-group-main li[data-id=' + groupId + ']').children('input').prop('checked', isChecked);
$this.siblings('ul').find('input[type="checkbox"]').each(function (index, el) {
var schoolid = $(el).parent().attr('data-id');
var schoolname = $(el).parent().attr('data-name');
if (schoolid) { // 鍏ㄩ€夋病鏈塻choolid锛屼篃涓嶆槸瀛︽牎
checkResultList(schoolid, schoolname, schoolname, schoolid, isChecked, 'school');
$(el).prop('checked', isChecked);
}
})
}
});
}
}
/**
* 鏄剧ず瀛︽牎鍒楄〃
* @params { number } checkAll - 鏄惁鍦ㄨ幏鍙栧悗灏嗘墍鏈夊鏍¢€変腑, -1琛ㄧず鍙栨秷閫変腑锛屽苟涓斿皢鍏朵粠缁撴灉涓彇娑堬紝0琛ㄧず姝e父鏄剧ず锛屽悓姝ョ粨鏋滈€変腑鐘舵€侊紝1琛ㄧず鍏ㄩ儴閫変腑骞朵笖灏嗗叾鍔犲叆閫変腑缁撴灉銆
*/
function showCustomGroupSchools (groupId, groupName, checkAll, schoolName) {
var groupSchoolUrl = '/common_selector/custom_groups/schoolList.do';
var obj = $('#select-customGroup-moudel-content .select-customGroup-school-tree');
obj.children('ul').remove();
obj.siblings('.common-loading').show();
isSearchGroupSchool = !!schoolName; // 濡傛灉鏈塻choolName灏辨槸鎼滅储
var params = {
groupId: groupId,
schoolName: schoolName
}
if (!groupId) {
params.groupId = $('.custom-group-structure-select.school-selected').parent().attr('data-id');
} else {
$('#search-custom-group-input').val('');
}
commonRequest(params, groupSchoolUrl, function (groupList) {
obj.siblings('.common-loading').hide();
if (groupList && groupList.length > 0) {
renderGroupSchoolList(groupList);
} else {
obj.empty().append('鏆傛棤鏁版嵁
');
}
}, function () {
obj.siblings('.common-loading').hide();
obj.empty().append('鏆傛棤鏁版嵁
');
});
function renderGroupSchoolList(groupList) {
var isAllChecked = true;
var liHtml = groupList.map(function (school) {
var isChecked = false;
if (!checkAll) { // 濡傛灉涓嶆槸鍦ㄨ幏鍙栧悗灏遍兘閫変腑锛屽垯鍘诲垽鏂瀛︽牎鏄惁鍦ㄥ凡閫夊垪琛ㄤ腑銆
isChecked = isSelectSchool(school.id); // 杩欎釜瀛︽牎鏄惁宸茬粡鍦ㄩ€夋嫨缁撴灉浜
} else if (checkAll === 1){ // 濡傛灉鏄幏鍙栧悗閫変腑妯″紡锛屽垯灏嗘瀛︽牎鍔犲叆宸查€夌粨鏋滀腑銆
// todo: add result
isChecked = true;
checkResultList(school.id, school.text, school.text, school.id, true, 'school');
} else if (checkAll === -1) {
isChecked = false;
checkResultList(school.id, school.text, school.text, school.id, false, 'school');
}
if (!isChecked) {
isAllChecked = false;
}
var ghtml ='' +
' ' +
' ' +
'' + school.text + ' ' +
' ';
return ghtml;
}).join('');
var html = '';
if (isAllChecked) { // 濡傛灉鍏ㄩ€変簡锛屾妸宸︿晶鍏ㄩ€変篃閫変腑
$('#select-custom-group-main li[data-id="'+ groupId +'"]').children('input').attr('checked', "checked");
}
obj.empty().append(html);
}
// 鍒ゆ柇瀛︽牎鏄惁宸茬粡鍦ㄩ€夋嫨缁撴灉琛ㄤ腑浜嗐€
function isSelectSchool (schoolId) {
if (TeacherSelect.result.length === 0) {
return false;
}
for (var i = 0; i < TeacherSelect.result.length; i++) {
var r = TeacherSelect.result[i];
if (r.type === 'school' && r.id === schoolId) {
return true;
}
}
return false;
}
}
/**
* 鍗曚綅閫氳褰 - 鑾峰彇甯︽湁鏍囩鐨勫鏍℃暟鎹
*/
function toShowLabelSchoolList() {
getLabelList(function (res) {
labelList = res
var labels = createLabels(labelList);
$('#select-organ-moudel-content .select-organ-school-labels').html(labels);
addOrganListen();
getLabelSchoolList();
});
}
/**
* 鍗曚綅閫氳褰 - 鑾峰彇瀛︽牎鍒楄〃
* @use
* 鍒氳繘鍏ョ殑鏃跺€欒幏鍙
* 瀛︽牎鎼滅储鐨勬椂鍊欒幏鍙
* @param {*} schoolName
*/
function getLabelSchoolList(schoolName, isSearch) {
var curPanel = TeacherSelect.isSelectBar;
var schoolPostData = {
groupIds: groupIds,
labelIds: labelIds,
schoolName: schoolName,
roleId: that.roleId,
filterRole: that.filterRole,
filiterId: that.filiterId,
rolemarks: that.rolemarks
}
var schoolPostUrl = '/common_selector/getLabelSchools.do';
commonRequest(schoolPostData, schoolPostUrl, function (res) {
schoolList = res;
$('#select-' + curPanel + '-moudel-content').children('.big-loading').hide();
var schools = createSchoolList(schoolList);
if (isSearch) {
$('#select-' + curPanel + '-moudel-content .select-organ-school-list').empty().html(schools);
} else {
$('#select-'+ curPanel+ '-moudel-content .select-organ-school-list').html(schools);
addSchoolListen();
}
})
}
function getLabelList(callback) {
var postData = {
roleId: that.roleId,
filterRole: that.filterRole,
filiterId: that.filiterId,
rolemarks: that.rolemarks
}
var labelPostUrl = '/common_selector/getLabelList.do';
commonRequest(postData, labelPostUrl, function (labelList) {
callback(labelList);
})
}
// 鍗曚綅閫氳褰 - 鍒涘缓鏍囩UI
function createLabels(list) {
var html = ''
return html;
}
// 鍗曚綅閫氳褰 - 鍒涘缓瀛︽牎鍒楄〃UI
function createSchoolList(list) {
var html = '';
if (list.length === 0) {
html = ''
}
return html;
}
function generateLabel (labels) {
var html = '';
for (var i = 0; i < labelList.length; i++) {
var labelDetail = labelList[i].labelDetail;
var label = getLabelInDetail(labelDetail);
if (label) {
html += '' + label.labelName + '
'
} else {
html += ' --
'
}
}
function getLabelInDetail (labelDetail) {
for (var j = 0; j < labelDetail.length; j++) {
if (hasLabel(labelDetail[j])) {
return labelDetail[j]
}
}
}
function hasLabel (label) {
for (var k = 0; k < labels.length; k++) {
if (labels[k].labelId === label.labelId) {
return true
}
}
return false
}
return html
}
// 鍗曚綅閫氳褰 - 鐩戝惉鏍囩浜嬩欢
function addOrganListen() {
var curPanel = TeacherSelect.isSelectBar;
$('#select-' + curPanel + '-moudel-content .organ-label input[type="checkbox"]').on('click', function () {
var $this = $(this);
var isChecked = $this.prop("checked");
var groupId = $this.attr('data-groupid');
var $isCheckedAll = $('#select-' + curPanel + '-moudel-content .organ-input-all[data-groupid="' + groupId + '"]');
if ($this.attr('data-type') === 'all') { // 鐐瑰嚮鍏ㄩ€
$this.parent().siblings().children().prop('checked', isChecked);
for (var i = 0; i < labelList.length; i++) {
var lbs = labelList[i];
if (lbs.groupId === groupId) {
lbs.labelDetail.forEach(function (label) {
label.isChecked = isChecked;
})
break;
}
}
} else {
// 濡傛灉鎸夐挳鐨勯€変腑鐘舵€佸拰鍏ㄩ€変笉涓€鏍凤紝閭d箞灏遍噰鐢ㄥ垽鏂叏閫夌姸鎬
if (!isChecked) {
$isCheckedAll.attr('checked', false);
} else {
var isAll = true
// 鎵€鏈夌殑閫夐」锛屽彧瑕佹湁涓€涓病鏈夎閫変腑锛岃繖鍏ㄩ€変笉琚€変腑銆
$('#select-' + curPanel +'-moudel-content .organ-input-item[data-groupid="' + groupId + '"]').each(function (idx, val) {
if ($(val).prop("checked") !== true) {
isAll = false
}
})
$isCheckedAll.attr('checked', isAll);
}
for (var i = 0; i < labelList.length; i++) {
var lbs = labelList[i];
if (lbs.groupId === groupId) {
for (var j = 0; j < lbs.labelDetail.length; j++) {
var label = lbs.labelDetail[j];
if (label.labelId === $this.val()) {
label.isChecked = isChecked;
break;
}
}
break;
}
}
}
filterSchoolList();
})
}
function filterSchoolList () {
var curPanel = TeacherSelect.isSelectBar;
var labelIdArray = [];
var groupIdArray = [];
for (var i = 0; i < labelList.length; i++) {
var lbs = labelList[i];
for (var j = 0; j < lbs.labelDetail.length; j++) {
var label = lbs.labelDetail[j];
if (label.isChecked) {
labelIdArray.push(label.labelId);
if (groupIdArray.indexOf(lbs.groupId) === -1) {
groupIdArray.push(lbs.groupId);
}
}
}
}
labelIds = labelIdArray.join(',');
groupIds = groupIdArray.join(',');
var inputval = $('#select-' + curPanel +'-moudel-content').find('.common-search-input').val();
getLabelSchoolList(inputval, true);
}
// 鍗曚綅閫氳褰 - 鐩戝惉瀛︽牎鍒楄〃
function addSchoolListen() {
var curPanel = TeacherSelect.isSelectBar
$('#select-'+ curPanel +'-moudel-content .select-organ-school-list').on('click', '.organ-school-li', function (e) {
var $this = $(this);
var $target = $(e.target);
var schoolid = $this.attr('data-schoolid');
if ($target.hasClass('organ-input-school-item')) { // 鐐瑰嚮閫夋嫨妗
var isChecked = $target.prop("checked");
var $isCheckedAll = $('#select-' + curPanel + '-moudel-content .organ-school-li[data-type="all"] input[type="checkbox"]');
if ($this.attr('data-type') === 'all') { // 鐐瑰嚮鍏ㄩ€
$('#select-'+ curPanel +'-moudel-content .organ-input-school-item').prop('checked', isChecked);
setAllSchoolChecked(isChecked);
// 鑾峰彇鎵€鏈夌殑瀛︽牎鐨勬墍鏈夋暀甯堬紝灏嗗叾鍔犲叆涓嬮潰鐨勮兌鍥
// todo: 鎬ц兘浼樺寲
for (var i = 0; i < schoolList.length; i++) {
checkOrganSchool(schoolList[i].id, isChecked);
}
} else { // 鐐瑰嚮闈炲叏閫
checkOrganSchool(schoolid, isChecked);
$isCheckedAll.attr('checked', isAllSchoolChecked()); // 鏇存柊鍏ㄩ€夌殑UI鐘舵€
}
} else if ($target.hasClass('organ-school-name')) { // 鐐瑰嚮瀛︽牎鍚嶇О
if (curPanel === 'school_1') { // school_1妯℃澘鐐瑰嚮瀛︽牎鏃犲弽搴
return
}
$('#select-organ-moudel-content .organ-school-name').removeClass('school-selected');
$target.addClass('school-selected');
// 鍙宠竟鏄剧ず杩欎簺鏁欏笀
// 鐐瑰嚮瀛︽牎鐨勬椂鍊欏皢id淇濆瓨涓嬫潵
TeacherSelect.mySchoolOriginId = schoolid
toShowOrganTeacherTrees(schoolid, "", "", "", "", $target.text());
}
})
}
// 鍗曚綅閫氳褰 - 鑾峰彇涓€涓鏍$殑鎵€鏈夎€佸笀锛岀劧鍚庡皢鍏跺姞鍏ラ€夋嫨缁撴灉
// 濡傛灉鏄鏍★紝鍒欏皢瀛︽牎鍔犲叆閫夋嫨缁撴灉
function checkOrganSchool(schoolid, isChecked) {
var curPanel = TeacherSelect.isSelectBar;
var school = findSchoolById(schoolid);
school.isChecked = isChecked; // 鏇存柊瀵硅薄鐨勯€変腑鐘舵€
// 濡傛灉鏄崟浣嶉€氳褰
if (curPanel === 'organ') {
// 濡傛灉褰撳墠鍒楄〃瀛︽牎id灏辨槸灞曞紑鐨勫鏍d,閭d箞鍚屾鍒楄〃閫変腑鐘舵€
var currentShowSchoolId = $('#select-' + curPanel + '-moudel-content .select-organ-teacher-tree').attr('data-school-id');
if (currentShowSchoolId === schoolid) {
$('#select-organ-moudel-content .select-organ-teacher-tree input').prop('checked', isChecked);
}
// 濡傛灉涔嬪墠宸茬粡鑾峰彇杩囨瀛︽牎鐨勬暀甯堝垪琛ㄤ簡锛屽垯涓嶈幏鍙栦簡
if (school.teachers) {
batchAddTeacherToResult(school.teachers, isChecked);
return;
}
getOrganAllTeacher(schoolid, "", "", "", "", function (teachers) {
school.teachers = teachers;
// 鎵归噺灏嗘墍鏈夎€佸笀鍔犲叆閫夋嫨缁撴灉
batchAddTeacherToResult(teachers, isChecked);
});
}
// todo: 濡傛灉鏄鏍
if (curPanel === 'school_1') {
checkResultList(school.id, school.text, school.text, school.id, isChecked, 'school', null, null);
}
}
// 鍗曚綅閫氳褰 - 鏍规嵁瀛︽牎ID,鑾峰彇瀛︽牎
function findSchoolById(schoolid) {
for (var i = 0; i < schoolList.length; i++) {
if (schoolList[i].id === schoolid) {
return schoolList[i];
}
}
}
// 鍗曚綅閫氳褰 - 鍒ゆ柇鏄惁鎵€鏈夌殑瀛︽牎閮借閫変腑
function isAllSchoolChecked() {
for (var i = 0; i < schoolList.length; i++) {
if (!schoolList[i].isChecked) {
return false
}
}
return true
}
// 鍗曚綅閫氳褰 - 灏嗘墍鏈夌殑瀛︽牎璁剧疆涓洪€変腑鐘舵€
function setAllSchoolChecked(isChecked) {
for (var i = 0; i < schoolList.length; i++) {
schoolList[i].isChecked = isChecked
}
}
/*
* 娓叉煋瀛︽牎妯″潡
*/
function toPushSchoolTree (obj, tree, hasSelect, type) {
obj.append('');
var schoolId = '';
// 璁剧疆鍚嶅瓧span瀹藉害
var width = (type === 'teacher' || type === 'post') ? '160px' : '230px'
// TODO 闇€瑕佸仛鍥炴樉
if (hasSelect) {
for (var i = 0; i < tree.length; i++) {
if (tree[i].state === 'leaf') {
var hasSchool = false;
if (TeacherSelect.backDate.school && TeacherSelect.backDate.school.length > 0) {
$.each(TeacherSelect.backDate.school, function(n, school) {
if (school == tree[i].id) {
hasSchool = true;
return false;
}
});
}
if (TeacherSelect.filterResult.school && TeacherSelect.filterResult.school.length > 0) {
$.each(TeacherSelect.filterResult.school, function(n, school) {
if (school.id == tree[i].id) {
hasSchool = true;
return false;
}
});
}
if (hasSchool) {
obj.children('ul').append('' + tree[i].text + ' ');
}
else {
obj.children('ul').append('' + tree[i].text + ' ');
}
// obj.children('ul').append('' + tree[i].text + ' ');
}
else if (tree[i].state === 'closed') {
obj.children('ul').append('' + tree[i].text + ' ');
}
}
}
else {
for (var i = 0; i < tree.length; i++) {
// 濡傛灉鏄痯ost宀椾綅閫夋嫨骞朵笖閰嶇疆浜哾istrictPost = true 鍒欒妭鐐逛篃鍙互閫夋嫨
if (type === 'post' && that.districtPost) {
if (tree[i].state === 'leaf') {
if (tree[i].id == TeacherSelect.mySchool.id) {
obj.children('ul').append('' + tree[i].text + ' ');
}
else {
obj.children('ul').append('' + tree[i].textleft + ' ');
}
}
else if (tree[i].state === 'closed') {
obj.children('ul').append('' + tree[i].text + ' ');
}
}
else {
if (tree[i].state === 'leaf') {
if (tree[i].id == TeacherSelect.mySchool.id) {
obj.children('ul').append('' + tree[i].text + ' ');
}
else {
if(type === 'depart') {
obj.children('ul').append('' + tree[i].text + ' ');
} else {
obj.children('ul').append('' + tree[i].text + ' ');
}
}
}
else if (tree[i].state === 'closed') {
obj.children('ul').append('' + tree[i].text + ' ');
}
}
}
}
};
/**
* 閮ㄩ棬閫夋嫨鍩虹缁撴瀯
**/
function toRenderDepartSchoolTrees() {
// var $teacherAndDepartContent = $('#select-'+ TeacherSelect.isSelectBar +'-moudel-content');
var $teacherAndDepartContent = $('#select-depart-moudel-content');
var teacherAndDepartTree =
'
' +
'' +
'
' +
'
' +
'
' +
' ' +
' ' +
'
' +
'
' +
'
' +
'
' +
'
' +
'
' +
'
' +
'
' +
' ' +
' ' +
'
' +
'
' +
'
' +
'
' +
'
';
if (!($teacherAndDepartContent.find('div').hasClass('select-list-common-main'))) { // 鑻ヤ箣鍓嶅凡娓叉煋杩嘾om鍒欎笉闇€瑕侀噸澶嶆覆鏌
$teacherAndDepartContent.append(teacherAndDepartTree);
if (document.documentElement.clientHeight < 750) {
$('#common-select-bodys .select-depart-schools-tree').height('222px')
$('#common-select-bodys .select-departs-tree').height('222px')
}
// 宸﹁竟瀛︽牎閮ㄥ垎
toShowSchoolTrees($('.select-depart-schools-tree'), '', false, 'depart');
}
};
/**
** 閮ㄩ棬鏁版嵁鑾峰彇
** schoolId: 瀛︽牎id
** name: 鎼滅储閮ㄩ棬鍚嶅瓧
**
**/
function toShowDepartTrees(departSchoolId, name, type) { // 娓叉煋閮ㄩ棬鏍
var schoolId = departSchoolId.split('_').length > 1 ? departSchoolId.split('_')[1] : departSchoolId
var hasSelect = (type === 'depart' || type === 'teacher') ? true : false
// var hasSelect = true // 鏂伴渶姹傦紝鏁欏笀閫夋嫨鐨勬椂鍊欏厑璁搁€夋嫨閮ㄩ棬
var depObj = type === 'depart' ? $('.select-departs-tree') : $('.select-depart-tree')
var depbjLi = type === 'depart' ? $('.select-departs-tree ul > li') : $('.select-depart-tree ul > li')
depObj.children('ul').remove();
depObj.siblings('.common-loading').show();
var departPostData = {
deptIds: that.departmentIds.join(','),
deptName: name,
schoolId: schoolId
}
var departPostUrl = '/common_selector/departments.do'
var _this = this
commonRequest (departPostData, departPostUrl, function(departTree) {
_this.departmentSchoolId = schoolId
depObj.siblings('.common-loading').hide();
if (depObj.children('ul').length > 0) {
depObj.children('ul').remove()
}
if (Object.prototype.toString.call(departTree)=='[object Array]') {
// 濡傛灉杩斿洖鐨勬槸鏁扮粍鐩存帴璇锋眰toPushCommonTrees
if (departTree.length > 0) {
if (type === 'depart') {
if (departTree.length === 0 && departTree[0].id === 'nodeptmentmemberbtnid') {
depObj.append('');
}
else {
depObj.append('');
toPushCommonTrees($('.select-departs-tree ul > li'), departTree, hasSelect, 'depart', type);
}
}
else {
toPushCommonTrees(depObj, departTree, hasSelect, 'depart', type);
}
}
else {
depObj.append('');
}
}
else {
// 鑻ヤ笉鏄暟缁勫垯涓烘渶澶栧眰涓轰竴涓ぇ鐨勭埗绾 鍒欏厛娓叉煋鏈€澶栧眰鍐嶅惊鐜噷闈㈢殑鏍
if (departTree.children.length > 0) {
if (type === 'depart') {
if (departTree.children[0].children.length === 0 && departTree.children[0].id === 'nodeptmentmemberbtnid') {
depObj.append('');
}
else {
var checked = $('.select-depart-schools-tree li[data-id="'+ schoolId +'"] input').prop('checked');
if(checked) {
depObj.append('');
} else {
depObj.append('');
}
toPushCommonTrees($('.select-departs-tree ul > li'), departTree.children, hasSelect, 'depart', type);
}
}
else {
// 鍒ゆ柇宸︿晶鑺傜偣鏄惁涓洪€変腑鐘舵€侊紝 濡傛灉涓洪€変腑鐘舵€侊紝 鍙充晶鏍圭粨鐐逛篃閫変腑
// var checked = $('.select-departs-tree ul > li input').prop('checked')
// if(checked) {
// depObj.append('');
// } else {
depObj.append('');
// }
// var isChecked = $this.prop('checked')
toPushCommonTrees($('.select-depart-tree ul > li'), departTree.children, hasSelect, 'depart', type);
}
// toPushCommonTrees($('.select-departs-tree ul > li'), departTree.children, hasSelect, 'depart');
}
else {
depObj.append('');
}
}
})
};
/**
* 鏁欏笀閫夋嫨閮ㄥ垎鍩虹缁撴瀯
**/
function toRenderTeachersSchoolTrees() {
// var $teacherContent = $('#select-'+ TeacherSelect.isSelectBar +'-moudel-content');
var $teacherContent = $('#select-teacher-moudel-content');
var teacherAndSchoolTree =
'
' +
'' +
'
' +
'
' +
'
' +
' ' +
' ' +
'
' +
'
' +
'
' +
'
' +
'
' +
'
' +
'
' +
'
' +
' ' +
' ' +
'
' +
'
' +
'
' +
'
' +
'
' +
'
' +
'
' +
'
' +
'
' +
'
' +
'
' +
'
';
// if ($teacherContent.find('div').hasClass('select-list-common-main')) {
// $teacherContent.html('');
// }
if (!($teacherContent.find('div').hasClass('select-list-common-main'))) { // 鑻ヤ箣鍓嶅凡娓叉煋杩嘾om鍒欎笉闇€瑕侀噸澶嶆覆鏌
$teacherContent.append(teacherAndSchoolTree);
if (document.documentElement.clientHeight < 750) {
$('#common-select-bodys .select-teacher-schools-tree').height('222px');
$('#common-select-bodys .select-depart-tree').height('222px');
$('#common-select-bodys .select-teacher-tree').height('222px');
}
// 宸﹁竟瀛︽牎閮ㄥ垎
toShowSchoolTrees($('.select-teacher-schools-tree'), '', false, 'teacher');
}
if (!that.district || that.hideSelectAll) { // 鍗曟牎鏃朵笉鏄剧ず鍏ㄥ尯鎼滅储鐨勬寜閽
$('.select-from-all').remove()
}
};
/**
* 娓叉煋鍗曚綅閫氳褰
*/
function toRenderOrganList() {
var $OrganContent = $('#select-organ-moudel-content');
var teacherAndLabelsSchoolTree =
'
' +
'' +
'
' +
'
' +
'
' +
' ' +
' ' +
'
' +
'
' +
'
' +
'
' +
'
' +
'
' +
'
' +
'
' +
'
' +
'
' +
'
';
// 鑻ヤ箣鍓嶅凡娓叉煋杩嘾om鍒欎笉闇€瑕侀噸澶嶆覆鏌
if (!($OrganContent.find('div').hasClass('select-list-common-main'))) {
$OrganContent.append(teacherAndLabelsSchoolTree);
if (document.documentElement.clientHeight < 750) {
$('#common-select-bodys .select-depart-tree').height('222px');
$('#common-select-bodys .select-organ-teacher-tree').height('222px');
$('#common-select-bodys .select-organ-school-main').height('222px');
}
// 宸﹁竟瀛︽牎閮ㄥ垎
toShowLabelSchoolList();
var tid = TeacherSelect.mySchoolOriginId || TeacherSelect.mySchoolId
toShowOrganTeacherTrees(tid, "", "", "", "", TeacherSelect.mySchoolName);
}
if (!that.district || that.hideSelectAll) { // 鍗曟牎鏃朵笉鏄剧ず鍏ㄥ尯鎼滅储鐨勬寜閽
$('.select-from-all').remove()
}
};
function toRenderOrganSchoolList () {
var $school_1_module = $('#select-school_1-moudel-content');
if ($school_1_module.find('#select-school_1-label').length > 0) {
return;
}
var $loading = $('
').show();
var groupSchoolIds = '';
var labelSchoolIds = '';
var labelschoolSearchName = '';
$school_1_module.append($loading);
var searchStr = '
';
var height = document.documentElement.clientHeight < 750 ? 220 : 270;
var wrapStr = ''
$school_1_module.append($(searchStr + wrapStr));
getLabelList(function (data) {
$loading.hide();
// 濡傛灉瀛樺湪浜嗗崟浣嶉€氳褰曪紝涓斿凡缁忚闂紝鍒檒abelList鏄崟浣嶉€氳褰曠殑銆傚皢鍏剁紦瀛樸€
labelList = data;
var html = createLabels(data)
$('#select-school_1-label').append(html);
addOrganListen();
getSchoolList(function (labelSchoolList) {
schoolList = labelSchoolList;
var schoolHtml = createSchoolList(labelSchoolList);
$('#select-school_1-list').append(schoolHtml);
addSchoolListen();
})
})
function getSchoolList (callback) {
var schoolPostData = {
groupIds: groupSchoolIds,
labelIds: labelSchoolIds,
schoolName: labelschoolSearchName,
roleId: that.roleId,
filterRole: that.filterRole,
filiterId: that.filiterId,
rolemarks: that.rolemarks
}
var schoolPostUrl = '/common_selector/getLabelSchools.do';
commonRequest(schoolPostData, schoolPostUrl, function (res) {
callback(res)
})
}
}
function getOrganAllTeacher(schoolId, name, deptId, checked, rolemarks, callback) {
var teacherPostData = {
filiterId: that.filiterId,
schoolId: schoolId,
deptId: deptId,
name: name,
checked: checked,
rolemarks: rolemarks
}
var teacherPostUrl = '/common_selector/depterment/teachers.do'
commonRequest(teacherPostData, teacherPostUrl, function (teacherTree) {
callback(teacherTree)
})
}
/*
* 鍗曚綅閫氳褰曟暀甯堟暟鎹幏鍙
* checked: 鏄惁鍕鹃€夊叏鍖
* type: 鎵€鍦ㄧ殑tab绫诲瀷
*/
function toShowOrganTeacherTrees(schoolId, name, deptId, checked, rolemarks, schoolname) {
// 鏇挎崲璇锋眰鐨勬柟寮
$('#select-organ-moudel-content .select-organ-teacher-tree').children('ul').remove();
$('#select-organ-moudel-content .select-organ-teacher-tree').siblings('.common-loading').show();
// 璁板綍褰撳墠鏄摢涓鏍
$('#select-organ-moudel-content .select-organ-teacher-tree').attr('data-school-id', schoolId);
isOrganSearchTeacher = !!name;
getOrganAllTeacher(schoolId, name, deptId, checked, rolemarks, function (teacherTree) {
$('#select-organ-moudel-content .select-organ-teacher-tree').siblings('.common-loading').hide();
if ($('#select-organ-moudel-content .select-organ-teacher-tree').children('ul').length > 0) {
$('#select-organ-moudel-content .select-organ-teacher-tree').children('ul').remove()
}
if (Object.prototype.toString.call(teacherTree) == '[object Array]') {
// 濡傛灉杩斿洖鐨勬槸鏁扮粍鐩存帴璇锋眰toPushCommonTrees
if (teacherTree.length !== 0) {
$('#select-organ-moudel-content .select-organ-teacher-tree').append('' + SecLib.xss.handle(schoolname, "HTML") + ' ');
toPushCommonTrees($('#select-organ-moudel-content .select-organ-teacher-tree ul > li'), teacherTree, true, 'teacher', 'teacher');
}
else {
$('#select-organ-moudel-content .select-organ-teacher-tree').append('');
}
}
else {
if (teacherTree.list.length !== 0) {
// 鑻ヤ笉鏄暟缁勫垯涓烘渶澶栧眰涓轰竴涓ぇ鐨勭埗绾 鍒欏厛娓叉煋鏈€澶栧眰鍐嶅惊鐜噷闈㈢殑鏍
$('#select-organ-moudel-content .select-organ-teacher-tree').append('');
toPushCommonTrees($('#select-organ-moudel-content .select-organ-teacher-tree ul > li'), teacherTree.list, true, 'teacher', 'teacher');
}
else {
$('#select-organ-moudel-content .select-organ-teacher-tree').append('');
}
}
})
};
/*
* 鏁欏笀閫夋嫨閮ㄥ垎鏁欏笀鏁版嵁鑾峰彇
* checked: 鏄惁鍕鹃€夊叏鍖
* type: 鎵€鍦ㄧ殑tab绫诲瀷
*/
function toShowTeacherTrees(schoolId, name, deptId, checked, rolemarks, type) {
// 鏇挎崲璇锋眰鐨勬柟寮
$('.select-teacher-tree').children('ul').remove();
$('.select-teacher-tree').siblings('.common-loading').show();
loadTeachers(schoolId, name, deptId, checked, rolemarks, function (teacherTree) {
$('.select-teacher-tree').siblings('.common-loading').hide();
if ($('.select-teacher-tree').children('ul').length > 0) {
$('.select-teacher-tree').children('ul').remove()
}
if (Object.prototype.toString.call(teacherTree) == '[object Array]') {
// 灏嗘暀甯堝垪琛ㄨ褰曚笅鏉? 鐢ㄤ簬鍏ㄩ€
if (!name && !deptId) { // 濡傛灉娌℃湁杩囨护鏉′欢锛岃〃绀鸿幏鍙栨墍鏈夌殑瀛︾敓
teacherTabCurrentAllTeachers = teacherTree;
teacherTabCurrentShowTeacher = teacherTree;
} else {
teacherTabCurrentShowTeacher = teacherTree;
}
// 濡傛灉杩斿洖鐨勬槸鏁扮粍鐩存帴璇锋眰toPushCommonTrees
if (teacherTree.length !== 0) {
$('.select-teacher-tree').append('');
toPushCommonTrees($('.select-teacher-tree ul > li'), teacherTree, true, 'teacher', 'teacher');
}
else {
$('.select-teacher-tree').append('');
}
}
else {
if (teacherTree.list.length !== 0) {
// 鑻ヤ笉鏄暟缁勫垯涓烘渶澶栧眰涓轰竴涓ぇ鐨勭埗绾 鍒欏厛娓叉煋鏈€澶栧眰鍐嶅惊鐜噷闈㈢殑鏍
$('.select-teacher-tree').append('');
toPushCommonTrees($('.select-teacher-tree ul > li'), teacherTree.list, true, 'teacher', 'teacher');
}
else {
$('.select-teacher-tree').append('');
}
}
})
};
/**
* 鑾峰彇鏁欏笀鍒楄〃
*/
function loadTeachers(schoolId, name, deptId, checked, rolemarks, callback) {
var teacherPostData = {
filiterId: that.filiterId,
schoolId: schoolId,
deptId: deptId,
name: name,
checked: checked,
rolemarks: rolemarks
}
var teacherPostUrl = '/common_selector/depterment/teachers.do'
isSearchTeacher = !!name; // 褰撳墠鏄悳绱㈡暀甯堣繕鏄叾瀹
// 鏈夎姹傛暟鎹紦瀛橈紝鐢ㄦ潵瑙e喅閫変腑鍜屽弽閫夊お鎱㈢殑鎯呭喌
var storeKey = getHashCode(JSON.stringify(teacherPostData));
// var callbackData;
// try {
// if (window.sessionStorage) {
// // 鏁版嵁閲忓お澶х殑鏃跺€欒繖閲岃繕鏄瘮杈冨崱
// callbackData = JSON.parse(window.sessionStorage.getItem(storeKey));
// }
// } catch (e) {
// console && console.log(e);
// }
// if (callbackData) {
// callback(callbackData);
// } else {
commonRequest(teacherPostData, teacherPostUrl, function (teacherTree) {
callback(teacherTree);
// window.sessionStorage && window.sessionStorage.setItem(storeKey, JSON.stringify(teacherTree));
})
// }
}
function getHashCode(str, caseSensitive) {
if (!caseSensitive) {
str = str.toLowerCase();
}
var hash = 1315423911, i, ch;
for (i = str.length - 1; i >= 0; i--) {
ch = str.charCodeAt(i);
hash ^= ((hash << 5) + ch + (hash >> 2));
}
return (hash & 0x7FFFFFFF);
}
/**
* 閫氳褰曢€夋嫨閮ㄥ垎鍩虹缁撴瀯
**/
function toRenderTeachersContactTrees() {
if ($('#select-contact-moudel-content').find('div').hasClass('select-list-common-main') && TeacherSelect.isChangeContact) { // 涔嬪墠娓叉煋杩嘾om 骞朵笖鏁版嵁搴撲腑閫氳褰曞彂鐢熶簡鏀瑰彉锛屽垯閲嶆柊璇锋眰
$('.select-contact-tree').children('ul').remove()
getContact()
TeacherSelect.isChangeContact = false
}
else {
// var $teacherContactContent = $('#select-'+ TeacherSelect.isSelectBar +'-moudel-content');
var $teacherContactContent = $('#select-contact-moudel-content');
var teacherContactTree =
'' +
'
' +
'' +
'
' +
'
' +
' ' +
' ' +
'
' +
'
' +
'
' +
'
';
// if ($teacherContactContent.find('div').hasClass('select-list-common-main')) {
// $teacherContactContent.html('')
// }
if (!($teacherContactContent.find('div').hasClass('select-list-common-main'))) { // 鑻ヤ箣鍓嶅凡娓叉煋杩嘾om鍒欎笉闇€瑕侀噸澶嶆覆鏌
$teacherContactContent.append(teacherContactTree);
if (document.documentElement.clientHeight < 750) {
$('#common-select-bodys .select-teacher-contact-tree').height('222px')
$('#common-select-bodys .select-contact-tree').height('245px')
}
// 宸﹁竟閫氳褰曢儴鍒
getContact()
//鍙宠竟閫夋嫨鏁欏笀閮ㄥ垎
}
}
function getContact () {
// 宸﹁竟閫氳褰曢儴鍒
$('.select-contact-tree').siblings('.common-loading').show();
var contactPostData = {}
var contactPostUrl = '/common_selector/address/tree.do'
// var contactPostUrl = '/selector/address/tree.do'
commonRequest (contactPostData, contactPostUrl, function(contactTree) {
$('.select-contact-tree').siblings('.common-loading').hide();
if ($('.select-contact-tree').children('ul').length > 0) {
$('.select-contact-tree').children('ul').remove()
}
if (Object.prototype.toString.call(contactTree)=='[object Array]') {
// 濡傛灉杩斿洖鐨勬槸鏁扮粍鐩存帴璇锋眰toPushCommonTrees
toPushCommonTrees($('.select-contact-tree'), contactTree, false, 'contact', 'contact');
}
else {
// 鑻ヤ笉鏄暟缁勫垯涓烘渶澶栧眰涓轰竴涓ぇ鐨勭埗绾 鍒欏厛娓叉煋鏈€澶栧眰鍐嶅惊鐜噷闈㈢殑鏍
if (contactTree.children.length > 0 && contactTree.children[0].children.length === 0 && (contactTree.children[1] && contactTree.children[1].children.length === 0)) {
$('.select-contact-tree').append('');
}
else {
$('.select-contact-tree').append('');
// 濡傛灉鍏叡缁勬垨涓汉缁勪笅鏃犳暟鎹椂锛屼笉灞曠ず瀵瑰簲鐨勫唴瀹
if (contactTree.children.length > 0 && contactTree.children[0].children.length === 0) {
contactTree.children.shift()
}
if (contactTree.children.length > 0 && contactTree.children[1] && contactTree.children[1].children.length === 0) {
contactTree.children.pop()
}
$('#search-teacher-contact-input').val('');
$('.contact-selected').removeClass('contact-selected')
$(this).addClass('contact-selected')
$('#select-teacher-contact-moudel-main').show();
$('#select-teacher-contact-moudel-main').siblings('.select-center-line').css('height', '100%')
toPushCommonTrees($('.select-contact-tree ul > li'), contactTree.children, false, 'contact', 'contact');
toShowContactTeacherTrees(contactTree.children[0].children[0].id, contactTree.children[0].children[0].type)
}
}
});
//鍙宠竟閫夋嫨鏁欏笀閮ㄥ垎
}
};
// 閫氳褰曟覆鏌撻€氳褰曟暀甯堟ā鍧楁暟鎹幏鍙
function toShowContactTeacherTrees(groupId, groupType, name, type) {
$('.select-teacher-contact-tree').children('ul').remove();
$('.select-teacher-contact-tree').siblings('.common-loading').show();
var ids = [];
ids.push(groupId)
if (type === 'search') {
} else {
var currentEl = $('.select-contact-tree').find('li[data-id=' + groupId + ']').find('li')
for(var i = 0; i < currentEl.length; i++) {
ids.push(currentEl.eq(i).attr('data-id'))
}
contactGroup = {groupId: ids.join(','), groupName: name, groupType: groupType};
}
var contactTeaPostData = {
groupId: ids.join(','),
groupType: groupType,
name: name,
isSingle: !that.district,
limitUserSchoolId: that.limitUserSchoolId,
selectNodeId: groupId.split(',')[0]
}
var contactTeaPostUrl = '/common_selector/address/teachers.do'
contactTeacher = name
commonRequest (contactTeaPostData, contactTeaPostUrl, function(teacherTree) {
$('.select-teacher-contact-tree').siblings('.common-loading').hide();
if ($('.select-teacher-contact-tree').children('ul').length > 0) {
$('.select-teacher-contact-tree').children('ul').remove()
}
if (teacherTree.list.length !== 0) {
if (Object.prototype.toString.call(teacherTree) == '[object Array]') {
// 濡傛灉杩斿洖鐨勬槸鏁扮粍鐩存帴璇锋眰toPushCommonTrees
contactTabAllTeachers = teacherTree
$('.select-teacher-contact-tree').append('');
toPushCommonTrees($('.select-teacher-contact-tree ul > li'), teacherTree, true, 'contact', 'contact');
}
else {
contactTabAllTeachers = teacherTree.list
arrangeContactTeachTree(teacherTree.list, teacherTree.groupId, teacherTree.groupName)
// 鑻ヤ笉鏄暟缁勫垯涓烘渶澶栧眰涓轰竴涓ぇ鐨勭埗绾 鍒欏厛娓叉煋鏈€澶栧眰鍐嶅惊鐜噷闈㈢殑鏍
$('.select-teacher-contact-tree').append('');
toPushCommonTrees($('.select-teacher-contact-tree ul > li'), teacherTree.list, true, 'contact', 'contact');
// if (that.district) {
$('#contact-teacher-tip').hide()
// }
}
}
else {
$('.select-teacher-contact-tree').append('');
}
})
};
function arrangeContactTeachTree (list, groupId, groupName) {
list.forEach(function (item) {
item.groupId = groupId
item.groupName = groupName
})
}
/**
* 瀛︾閫夋嫨閮ㄥ垎鍩虹缁撴瀯
**/
function toRenderSubjectSchoolTrees() {
// var $subjectContent = $('#select-'+ TeacherSelect.isSelectBar +'-moudel-content');
var $subjectContent = $('#select-subject-moudel-content');
var SubjectSchoolTree =
'' +
'
' +
'' +
'
' +
'
' +
' ' +
' ' +
'
' +
'
' +
'
' +
'
';
if (!($subjectContent.find('div').hasClass('select-list-common-main'))) { // 鑻ヤ箣鍓嶅凡娓叉煋杩嘾om鍒欎笉闇€瑕侀噸澶嶆覆鏌
$subjectContent.append(SubjectSchoolTree);
if (document.documentElement.clientHeight < 750) {
$('#common-select-bodys .select-subject-tree').height('250px')
$('#common-select-bodys .select-subject-schools-tree').height('222px')
}
// 鍙宠竟瀛︽牎閮ㄥ垎
toShowSchoolTrees($('.select-subject-schools-tree'), '', true, 'subject');
//宸﹁竟瀛︾閮ㄥ垎
$('.select-subject-tree').siblings('.common-loading').show();
getSubjectTrees(function(subjectTree){
$('.select-subject-tree').siblings('.common-loading').hide();
if ($('.select-subject-tree').children('ul').length > 0) {
$('.select-subject-tree').children('ul').remove()
}
if (Object.prototype.toString.call(subjectTree)=='[object Array]') {
// 濡傛灉杩斿洖鐨勬槸鏁扮粍鐩存帴璇锋眰toPushCommonTrees
$('.select-subject-tree').append('');
toPushCommonTrees($('.select-subject-tree ul > li'), subjectTree, true, 'subject', 'subject');
}
else {
// 鑻ヤ笉鏄暟缁勫垯涓烘渶澶栧眰涓轰竴涓ぇ鐨勭埗绾 鍒欏厛娓叉煋鏈€澶栧眰鍐嶅惊鐜噷闈㈢殑鏍
$('.select-subject-tree').append('');
toPushCommonTrees($('.select-subject-tree ul > li'), subjectTree.children, true, 'subject', 'subject');
}
});
}
};
/*
* 閫夋嫨宀椾綅妯″潡
*/
function toRenderPostTrees () {
var $postContent = $('#select-post-moudel-content');
var postTree =
'
' +
'' +
'
' +
'
' +
'
' +
' ' +
' ' +
'
' +
'
' +
'
' +
'
' +
'
' +
'
' +
'
' +
'
' +
' ' +
' ' +
'
' +
'
' +
'
' +
'
' +
'
' +
'
' +
'
' +
'
' +
'
' +
'
' +
'
' +
'
';
// if ($postContent.find('div').hasClass('select-list-common-main')) {
// $postContent.html('');
// }
if (!($postContent.find('div').hasClass('select-list-common-main'))) {
$postContent.append(postTree);
if (document.documentElement.clientHeight < 750) {
$('.common-select-tree-bodys .select-post-tree').height('222px')
$('.common-select-tree-bodys .select-post-schools-tree').height('222px')
$('.common-select-tree-bodys .select-post-teacher-tree').height('222px')
}
else {
$('.common-select-tree-bodys .select-post-tree').height('295px')
}
// 宸﹁竟瀛︽牎閮ㄥ垎
toShowSchoolTrees($('.select-post-schools-tree'), '', false, 'post');
}
};
/*
* 宀椾綅鏁版嵁鑾峰彇
*/
function toShowPostTrees (schoolId, hasSelect, name, selectDis) {
$('.select-post-tree').children('ul').remove();
$('.select-post-tree').siblings('.common-loading').show();
var postData = {
stationName: name
}
if (selectDis) {
postData.orgId = schoolId
} else {
postData.schoolId = schoolId
}
var postUrl = '/common_selector/station/tree.do'
commonRequest (postData, postUrl, function(postTree) {
$('.select-post-tree').siblings('.common-loading').hide();
if ($('.select-post-tree').children('ul').length > 0) {
$('.select-post-tree').children('ul').remove()
}
if (Object.prototype.toString.call(postTree)=='[object Array]') {
// 濡傛灉杩斿洖鐨勬槸鏁扮粍鐩存帴璇锋眰toPushCommonTrees
if (postTree.length > 0) {
if (hasSelect) {
$('.select-post-tree').append('');
toPushCommonTrees($('.select-post-tree ul > li'), postTree, hasSelect, 'post', 'post');
}
else {
toPushCommonTrees($('.select-post-tree'), postTree, hasSelect, 'post', 'post');
}
}
else {
$('.select-post-tree').append('');
}
}
else {
// 鑻ヤ笉鏄暟缁勫垯涓烘渶澶栧眰涓轰竴涓ぇ鐨勭埗绾 鍒欏厛娓叉煋鏈€澶栧眰鍐嶅惊鐜噷闈㈢殑鏍
if (postTree.children.length > 0) {
if (hasSelect) {
$('.select-post-tree').append('');
toPushCommonTrees($('.select-post-tree ul > li'), postTree.children, hasSelect, 'post', 'post');
}
else {
$('.select-post-tree').append('');
toPushCommonTrees($('.select-post-tree ul > li'), postTree.children, hasSelect, 'post', 'post');
}
}
else {
$('.select-post-tree').append('');
}
}
})
};
// 宀椾綅鏁欏笀妯″潡鏁版嵁鑾峰彇
function toShowPostTeacherTrees(schoolId, stationId, name, selectDis) {
$('.select-post-teacher-tree').children('ul').remove();
$('.select-post-teacher-tree').siblings('.common-loading').show();
var postTeaPostData = {
stationId: stationId,
name: name
}
if (selectDis) {
postTeaPostData.orgId = schoolId
}
else {
postTeaPostData.schoolId = schoolId
}
var postTeaPostUrl = '/common_selector/station/teachers.do'
commonRequest (postTeaPostData, postTeaPostUrl, function(teacherTree) {
$('.select-post-teacher-tree').siblings('.common-loading').hide();
if ($('.select-post-teacher-tree').children('ul').length > 0) {
$('.select-post-teacher-tree').children('ul').remove()
}
if (Object.prototype.toString.call(teacherTree) == '[object Array]') {
// 濡傛灉杩斿洖鐨勬槸鏁扮粍鐩存帴璇锋眰toPushCommonTrees
if (teacherTree.length !== 0) {
$('.select-post-teacher-tree').append('');
toPushCommonTrees($('.select-post-teacher-tree ul > li'), teacherTree, true, 'post', 'post');
}
else {
$('.select-post-teacher-tree').append('');
}
}
else {
if (teacherTree.list.length !== 0) {
// 鑻ヤ笉鏄暟缁勫垯涓烘渶澶栧眰涓轰竴涓ぇ鐨勭埗绾 鍒欏厛娓叉煋鏈€澶栧眰鍐嶅惊鐜噷闈㈢殑鏍
$('.select-post-teacher-tree').append('');
toPushCommonTrees($('.select-post-teacher-tree ul > li'), teacherTree.list, true, 'post', 'post');
}
else {
$('.select-post-teacher-tree').append('');
}
}
})
};
/***
** 鍏辩敤鐨勬鏌ュ瓙鑺傜偣鐨勯€変腑鐘舵€佹潵杩囨浮鍒扮埗鍏冪礌骞舵敼鍙樼埗鍏冪礌鐨勭姸鎬 -閫掑綊
** input: 鐐瑰嚮鐨刬nput瀵硅薄
** id: 鐐瑰嚮鐨刬nput瀵瑰簲鐨刲i鐨刣ata-id鍊
** check: 鏄惁閫変腑
** schoolid: 褰撳墠鑺傜偣鐨勫鏍d,鍗曚綅閫氳褰曚腑锛岀偣鍑讳笅闈㈣兌鍥婏紝鍚屾鍙栨秷閫変腑瀛︽牎
****/
function changeParentSelected(input, id, check, schoolid, isOtherTab) {// 妫€鏌ュ綋鍓嶅厔寮熷厓绱犳槸鍚﹀叏閮ㄩ€変腑 鍒╃敤閫掑綊鏉ラ€変腑閫変腑鐖剁骇鍏冪礌
input.prop("checked", check);
var siblingsChecked = false;
if (input.parent('li[data-id="'+ id +'"]').siblings('li').length > 0) { // 鍔犱竴涓潯浠 鏄惁瀛樺湪鍏勫紵鏃
for (var i = 0; i < input.parent('li[data-id="'+ id +'"]').siblings('li').length; i++) {
if (input.parent('li[data-id="'+ id +'"]').siblings('li').eq(i).children('input').prop("checked") || input.parent('li[data-id="'+ id +'"]').siblings('li').eq(i).children('input').length === 0) { // 瀛樺湪娌℃湁input鐨勫鏍 鍒欓粯璁ら€変腑鐘舵€
siblingsChecked = true;
}
else {
siblingsChecked = false;
break;
}
}
}
else {
siblingsChecked = true;
}
var isAllChecked = check && siblingsChecked;
// 濡傛灉褰撳墠鐨刲i琚€変腑鍚屾椂鑷繁鐨勫厔寮熶篃琚€変腑 鍒欐墽琛岄€掑綊鏀瑰彉涓婁竴灞傜殑閫変腑鐘舵€
if (input.parent('li[data-id="' + id + '"]').parent('ul').parent('li').siblings('li').length > 0) {
changeParentSelected(input.parent('li[data-id="' + id + '"]').parent('ul').siblings('input'), input.parent('li[data-id="' + id + '"]').parent('ul').parent('li').attr('data-id'), isAllChecked);
// $('')
}
else {
input.parent('li[data-id="' + id + '"]').parent('ul').siblings('input').prop("checked", isAllChecked);
}
// 濡傛灉鏄釜浜洪€氳褰曪紝 宸︿晶鍏ㄩ€夋寜閽姸鎬佽仈鍔
if(TeacherSelect.isSelectBar === 'contact' && !isOtherTab && !contactTeacher) {
var departid = input.parent('li').attr('data-id');
var $depart = $('.select-contact-tree').find('li[data-id="' + departid + '"]');
if (!isAllChecked) {
// 鍥犱负鍙兘鏄棤閮ㄩ棬浜哄憳锛屾湁鏃跺€欐病鏈夋樉绀烘棤閮ㄩ棬浜哄憳
var leftCon = $('.select-contact-tree li[data-id="' + input.parent('li').attr('data-ssbm') +'"]')
$('.select-contact-tree input[data-depart-type="all-contact"]').attr('checked', false);
leftCon.children('input').attr('checked', false);
if (input.parent('li').attr('data-type') === 'teacher') {
var parentId = input.parent('li').attr('data-ssbm')
changeParentSelected($('.select-contact-tree li[data-id="' + parentId +'"]').children('input'), parentId, false)
}
} else if(input.parent('li').attr('data-type') === 'teacher') {
$('.select-contact-tree li[data-id="' + input.parent('li').attr('data-ssbm') +'"]').find('input').attr('checked', true);
var currentDepart = $('.select-contact-tree').find('.contact-selected');
if (currentDepart.length !== 0) {
currentDepart.siblings('input').attr('checked', true);
currentDepart.find('input').attr('checked', true);
// currentDepart.siblings('ul').attr('checked', true);
} else {
// 绗竴娆¤繘鏉ワ紝灏嗘墍鏈夐儴闂ㄩ€夋嫨
$('.select-depart-tree').find('input[type="checkbox"]').attr('checked', true);
}
}
}
// 濡傛灉鏄崟浣嶇粍閫夋嫨, 鍚屾璁剧疆宸︿晶鏍戠姸鎬
if (TeacherSelect.isSelectBar === 'organ' && !isOrganSearchTeacher && !isOtherTab) {
schoolid = input.parent('li').attr('data-school');
// 璁剧疆瀛︽牎鍚屾牱鐨勭姸鎬
$('.organ-school-li[data-schoolid=' + schoolid + ']').find('input').attr('checked', isAllChecked);
// 濡傛灉鎵€鏈夌殑瀛︽牎閮介€変腑浜嗭紝閭e氨鎶婂叏閫夐€変腑
var isAllSchoolChecked = true;
$('.organ-school-li[data-type="single"]').find('input').each(function (i, t) {
if ($(t).prop('checked') !== true) {
isAllSchoolChecked = false;
}
})
$('.organ-school-li[data-type="all"]').find('input').attr('checked', isAllSchoolChecked);
var school = findSchoolById(schoolid);
if (school) {
school.isChecked = isAllChecked;
}
}
// 濡傛灉鏄嚜瀹氫箟鍒嗙粍, 鍚屾璁剧疆宸︿晶鏍戠姸鎬
if (TeacherSelect.isSelectBar === 'customGroup' && !isSearchGroupSchool && !isOtherTab) {
var groupid = input.parent('li').parent('ul').parent('li').attr('data-group-id');
$('#select-custom-group-main li[data-id=' + groupid + ']').children('input').prop('checked', isAllChecked);
}
// 濡傛灉鏄暀甯堬紝鍚屾閮ㄩ棬鐘舵€? 浣嗘悳绱㈢殑涓嶅悓姝
if (TeacherSelect.isSelectBar === 'teacher' && !isSearchTeacher && !isOtherTab) {
var departid = input.parent('li').attr('data-ssbm');
var $depart = $('.select-depart-tree').find('li[data-id="' + departid + '"]');
// 濡傛灉杩欎釜鑺傜偣杩樻湁瀛愯妭鐐癸紝鍒欎笉鍚屾閫変腑鐘舵€
if ($depart.children('ul').children('li').length === 0) {
$depart.children('input').attr('checked', isAllChecked);
}
// 鍖椾含鍏腑鍑虹幇鐢ㄦ埛鍏艰亴閮ㄩ棬涓哄瓙閮ㄩ棬锛屾墍灞為儴闂ㄤ负鐖堕儴闂
// 鍙栨秷閫変腑鐨勬椂鍊欙紝鍚屾椂鍙栨秷鍏艰亴閮ㄩ棬閫変腑鐘舵€
var departid2 = input.parent('li').attr('data-jzbm') || '';
var $depart2 = $('.select-depart-tree').find('li[data-id="' + departid2 + '"]');
// 濡傛灉杩欎釜鑺傜偣杩樻湁瀛愯妭鐐癸紝鍒欎笉鍚屾閫変腑鐘舵€
if ($depart2.children('ul').children('li').length === 0) {
$depart2.children('input').attr('checked', isAllChecked);
}
if (!isAllChecked) {
while($depart.parent('ul').parent('li').length > 0) {
$depart = $depart.parent('ul').parent('li');
$depart.children('input').attr('checked', false);
}
// 鍥犱负鍙兘鏄棤閮ㄩ棬浜哄憳锛屾湁鏃跺€欐病鏈夋樉绀烘棤閮ㄩ棬浜哄憳
$('.select-depart-tree input[data-depart-type="all-depart"]').attr('checked', false);
} else {
var currentDepart = $('.select-depart-tree').find('input[type="checkbox"]');
// console.log(currentDepart)
if (currentDepart.length !== 0) {
currentDepart.siblings('input').attr('checked', true);
currentDepart.siblings('ul').attr('checked', true);
} else {
// 绗竴娆¤繘鏉ワ紝灏嗘墍鏈夐儴闂ㄩ€夋嫨
$('.select-depart-tree').find('input[type="checkbox"]').attr('checked', true);
}
}
}
if(TeacherSelect.isSelectBar === 'depart' && input.parent('li').attr('data-type') === 'department') {
var parentId = 'depart_' + input.parent('li').attr('data-school')
}
if(TeacherSelect.isSelectBar === 'depart' && input.parent('li').attr('data-type') === 'depart') {
$('.select-depart-schools-tree li[data-id=' + 'depart_' + this.departmentSchoolId + ']').children('input').prop('checked', isAllChecked);
}
};
/***
** 鍏辩敤鐨勬覆鏌撴爲缁撴瀯鐨勬柟娉曪細 -閫掑綊
** obj: 鍏ㄥ眬鍙橀噺 褰撳墠閫変腑鐨勬ā鍧楀悕锛歴chool
** tree: children闆嗗悎
** isHasSelect: 鏄惁鍚湁input澶嶉€夋
** type: 鏁版嵁绫诲瀷
** tabType: 鎵€鍦ㄧ殑tab瀵艰埅绫诲瀷
****/
function toPushCommonTrees(obj, tree, isHasSelect, type, tabType) {// 鍏叡娓叉煋鏍
// 澶氭鎿嶄綔DOM鎬ц兘澶樊锛屼紭鍖栦竴涓? 鍏堝湪JS涓皢鍐呭鎻掑叆鏂板缓鐨刣iv涓紝鏈€鍚庣粺涓€鎻掑叆obj涓€
// 500鏉℃暟鎹姳璐规椂闂寸敱鍘熸潵1000ms鍙樻垚200ms锛屾潯鏁拌秺澶氾紝鏁堟灉瓒婂ソ銆
var obj1 = obj;
var temp = document.createElement('div');
obj = $(temp);
if (tree && tree[0] && tree[0].children) {
if (tree[0].fatherId !== 'VirtualRootNode' && type !== 'contact') { // 闅愯棌浜岀骇鑿滃崟 VirtualRootNode涓烘渶澶栧眰id
obj.append('');
} else if (type === 'contact' && tree[0].level) { // 鍗曚綅閫氳褰曚簩绾у眰绾т笅鐨勫瓙鑺傜偣涓嶅睍绀恒€
obj.append('');
}
else {
obj.append('');
}
var schoolId = '';
// 鐢ㄤ簬閮ㄩ棬鍏ㄩ€ 鍙嶆樉 鏄剧ず
var isSelectAll = true
for (var i = 0; i < tree.length; i++) {
if (tree[i].attributes !== null & type === 'depart') { // 濡傛灉瀛樺湪attributes 鍒欎负閮ㄩ棬
schoolId = tree[i].attributes.schoolid;
}
else if (tree[i].attributes === null & type === 'depart') { // 浣嗘槸閮ㄩ棬绾湪鏃犻儴闂ㄤ汉鍛 鍒檚choolId = ''
schoolId = TeacherSelect.departSchool.schoolId;
}
else if(type === 'school') { // 瀛︽牎鐨刬d = schoolId
schoolId = tree[i].id;
}
if (!isHasSelect) {
if (type === 'contact') { // 閫氳褰曠壒娈婇€夋嫨锛堥櫎浜嗗叕鍏变笌涓汉缁勫叾浠栭兘鍙互閫夋嫨锛夌壒娈婂鐞
if (document.documentElement.clientHeight < 750) {
obj.parents('.select-contact-tree').css('height', '245px');
}
else {
obj.parents('.select-contact-tree').css('height', '295px');
}
if (obj.attr('data-id') === 'publicGroupNode' || obj.attr('data-id') === 'myGroupNode') { // 閫氳褰曢粯璁ゅ睍寮€鍏叡閫氳褰曞拰涓汉閫氳褰曚竴灞
obj.children('ul').css('display', 'block');
}
// if (tree[i].fatherId === 'myGroupNode') {
// obj.children('ul').css('display', 'none');
// }
if (tree[i].type === 'myGroup' || tree[i].type === 'publicGroup') {
if (tree[i].children && tree[i].children.length > 0 && !tree[i].leaf) { //濡傛灉瀛樺湪children 鍒欑户缁皟鐢ㄩ€掑綊
// if (tree[i].state === 'closed') {
// obj.children('ul').append('' + tree[i].text + ' ');
// } else {
obj.children('ul').append('' + tree[i].text + ' ');
// }
toPushCommonTrees(obj.children('ul').children('li[data-id="' + tree[i].id + '"]'), tree[i].children, false, type, tabType);
}
else {
obj.children('ul').append('' + tree[i].text + ' ');
}
}
else {
if (tree[i].children && tree[i].children.length > 0 && !tree[i].leaf) { //濡傛灉瀛樺湪children 鍒欑户缁皟鐢ㄩ€掑綊
// obj.children('ul').css('display', 'none')
obj.children('ul').append('' + tree[i].text + ' ');
obj.children('ul').children('li[data-id="' + tree[i].id + '"]').children('ul').css('display', 'none')
tree[i].children.forEach(function (item) {
item.level = 'twoMore'
})
toPushCommonTrees(obj.children('ul').children('li[data-id="' + tree[i].id + '"]'), tree[i].children, false, type, tabType);
}
else {
obj.children('ul').append('' + tree[i].text + ' ');
}
}
isSelectAll = false
}
else { // 闄や簡閫氳褰曚互澶栫殑妯″潡閮ㄥ垎
if (tree[i].children && tree[i].children.length > 0 && !tree[i].leaf) { //濡傛灉瀛樺湪children 鍒欑户缁皟鐢ㄩ€掑綊
var deptWidth = (isDoubelTap && TeacherSelect.isSelectBar !== 'organ') ? '200px' : '100px';
if (tabType === 'teacher' || tabType === 'post') {
obj.children('ul').append('' + tree[i].text + ' ');
}
else {
obj.children('ul').append('' + tree[i].text + ' ');
}
toPushCommonTrees(obj.children('ul').children('li[data-id="' + tree[i].id + '"]'), tree[i].children, false, type, tabType);
}
else if (tree[i].leaf && (tree[i].type === 'level' || tree[i].type === 'group_category')) {
obj.children('ul').append('' + tree[i].text + ' ');
}
else if (tree[i].leaf) {
var deptWidth = (isDoubelTap && TeacherSelect.isSelectBar !== 'organ') ? '200px' : '100px';
if (tabType === 'teacher') {
if (TeacherSelect.teacherDepart.departId && (TeacherSelect.teacherDepart.departId == tree[i].id)) {
obj.children('ul').append('' + tree[i].text + ' ');
}
else {
if(type === 'school' && tree[i].type === 'CLUSTER') {
obj.children('ul').append('' + tree[i].text + ' ');
} else {
obj.children('ul').append('' + tree[i].text + ' ');
}
}
}
else if (tabType === 'post') {
if (TeacherSelect.postTeacher.postId && (TeacherSelect.postTeacher.postId == tree[i].id)) {
obj.children('ul').append('' + tree[i].text + ' ');
}
else {
if(type === 'school' && tree[i].type === 'CLUSTER') {
obj.children('ul').append('' + tree[i].text + ' ');
} else {
obj.children('ul').append('' + tree[i].text + ' ');
}
}
}
else if (tabType === 'depart') {
if(type === 'school' && tree[i].type === 'school') {
obj.children('ul').append('' + tree[i].text + ' ');
} else {
obj.children('ul').append('' + tree[i].text + ' ');
}
} else {
obj.children('ul').append('' + tree[i].text + ' ');
}
if (tabType === 'depart' && TeacherSelect.departSchool.schoolId) {
if (tree[i].id == TeacherSelect.departSchool.schoolId) {
obj.parents('#select-'+ tabType +'-moudel-content').find('span').removeClass('school-selected');
obj.children('ul').children('li[data-id="'+ tree[i].id +'"]').children('span').addClass('school-selected');
}
}
else if (tabType === 'teacher' && TeacherSelect.teacherSchool.schoolId) {
if (tree[i].id == TeacherSelect.teacherSchool.schoolId) {
obj.parents('#select-'+ tabType +'-moudel-content').find('span').removeClass('school-selected');
obj.children('ul').children('li[data-id="'+ tree[i].id +'"]').children('span').addClass('school-selected');
}
}
else {
if (tree[i].id == TeacherSelect.mySchool.id) { // 鑻ユ槸鎴戠殑瀛︽牎鍒欓€変腑
obj.parents('#select-'+ tabType +'-moudel-content').find('span').removeClass('school-selected');
obj.children('ul').children('li[data-id="'+ tree[i].id +'"]').children('span').addClass('school-selected');
if (tabType === 'depart') {
TeacherSelect.departSchool = {schoolId: TeacherSelect.mySchool.id, schoolName: TeacherSelect.mySchool.text};
// 鏍规嵁瀛︽牎ID璇锋眰瀵瑰簲瀛︽牎涓嬬殑閮ㄩ棬
// 璋冪敤鑾峰彇閮ㄩ棬鎺ュ彛
}
else if (tabType === 'teacher') {
TeacherSelect.teacherSchool = {schoolId: TeacherSelect.mySchool.id, schoolName: TeacherSelect.mySchool.text};
// 鏍规嵁瀛︽牎ID璇锋眰瀵瑰簲瀛︽牎涓嬬殑鏁欏笀
// 璋冪敤鑾峰彇鏁欏笀鎺ュ彛
}
}
}
}
}
}
else {
if (tree[i].children && tree[i].children.length > 0 && !tree[i].leaf) { //濡傛灉瀛樺湪children 鍒欑户缁皟鐢ㄩ€掑綊
if (type === "depart") {
var hasDepartment = false;
if (TeacherSelect.backDate.department && TeacherSelect.backDate.department.length > 0) {
$.each(TeacherSelect.backDate.department, function(n, department) {
// department.schoolId === TeacherSelect.departSchool.schoolId
if (department == tree[i].id) {
hasDepartment = true;
return false;
}
})
}
if (TeacherSelect.filterResult.department && TeacherSelect.filterResult.department.length > 0) {
$.each(TeacherSelect.filterResult.department, function(n, department) {
// department.schoolId === TeacherSelect.departSchool.schoolId
if (department.id == tree[i].id) {
hasDepartment = true;
return false;
}
})
}
if (hasDepartment && TeacherSelect.isSelectBar === 'depart') {
obj.children('ul').append('' + tree[i].text + ' ');
}
else {
isSelectAll = false
obj.children('ul').append('' + tree[i].text + ' ');
}
// changeParentSelected(obj.children('ul').children('li[data-id="' + tree[i].id + '"]').children('input'), tree[i].id, hasDepartment)
}
else if (type === "structure") {
// 缁勭粐妯″潡
if (tree[i].disabled) {
// 娌℃湁鏉冮檺涓嶅彲浠ラ€夋嫨
obj.children('ul').append('' + tree[i].text + ' ');
}
else {
var hasStructure = false;
if (TeacherSelect.backDate.structure && TeacherSelect.backDate.structure.length > 0) {
$.each(TeacherSelect.backDate.structure, function(n, structure) {
if (structure == tree[i].id) {
hasStructure = true;
return false;
}
})
}
if (TeacherSelect.filterResult.structure && TeacherSelect.filterResult.structure.length > 0) {
$.each(TeacherSelect.filterResult.structure, function(n, structure) {
if (structure.id == tree[i].id) {
hasStructure = true;
return false;
}
})
}
if (hasStructure) {
obj.children('ul').append('' + tree[i].text + ' ');
}
else {
obj.children('ul').append('' + tree[i].text + ' ');
}
}
}
else {
obj.children('ul').append('' + tree[i].text + ' ');
}
toPushCommonTrees(obj.children('ul').children('li[data-id="' + tree[i].id + '"]'), tree[i].children, true, type, tabType);
}
else if (tree[i].leaf && tree[i].type === 'level') { // 澶勭悊瀛︽牎閲岀壒娈婄殑鍒嗙被
obj.children('ul').append('' + tree[i].text + ' ');
}
else if (tree[i].leaf) {// 涓哄彾瀛愯妭鐐
// 濡傛灉鏄鏍¢€夋嫨
if (type === "school") {
if (tabType === 'school') {
var hasSchool = false;
if (TeacherSelect.backDate.school && TeacherSelect.backDate.school.length > 0) {
$.each(TeacherSelect.backDate.school, function(n, school) {
if (school == tree[i].id) {
hasSchool = true;
return false;
}
});
}
if (TeacherSelect.filterResult.school && TeacherSelect.filterResult.school.length > 0) {
$.each(TeacherSelect.filterResult.school, function(n, school) {
if (school.id == tree[i].id) {
hasSchool = true;
return false;
}
});
}
if (hasSchool) {
obj.children('ul').append('' + tree[i].text + ' ');
// 濡傛灉鏁扮粍闀垮害澶т簬2涓攊绛変簬鏁扮粍闀垮害鍑?鏃惰姹傛垨鑰呴暱搴︾瓑浜?鏃
if ((tree.length > 1 && i === (tree.length - 1)) || tree.length === 1) {
changeParentSelected(obj.children('ul').children('li[data-id="' + tree[i].id + '"]').children('input'), tree[i].id, true)
}
}
else {
isSelectAll = false
if(tree[i].type === 'school') {
obj.children('ul').append('' + tree[i].text + ' ');
} else {
obj.children('ul').append(' ' + tree[i].text + ' ');
}
changeParentSelected(obj.children('ul').children('li[data-id="' + tree[i].id + '"]').children('input'), tree[i].id, false)
}
} else if(tabType === 'depart') {
obj.children('ul').append('' + tree[i].text + ' ');
}
else if (tabType === 'subject') {
var hasSubjectSchool = false;
if (TeacherSelect.backDate.subjectSchool && TeacherSelect.backDate.subjectSchool.length > 0) {
$.each(TeacherSelect.backDate.subjectSchool, function(n, subjectSchool) {
if (subjectSchool.schoolId == tree[i].id) {
TeacherSelect.subjectSchoolCheckedList.push({'name': tree[i].text, 'id': tree[i].id});
hasSubjectSchool = true;
return false;
}
})
}
if (TeacherSelect.filterResult.subjectSchool && TeacherSelect.filterResult.subjectSchool.length > 0) {
$.each(TeacherSelect.filterResult.subjectSchool, function(n, subjectSchool) {
if (subjectSchool.schoolId == tree[i].id) {
TeacherSelect.subjectSchoolCheckedList.push({'name': tree[i].text, 'id': tree[i].id});
hasSubjectSchool = true;
return false;
}
})
}
if (hasSubjectSchool) {
obj.children('ul').append('' + tree[i].text + ' ');
if ((tree.length > 1 && i === (tree.length - 1)) || tree.length === 1) {
changeParentSelected(obj.children('ul').children('li[data-id="' + tree[i].id + '"]').children('input'), tree[i].id, true)
}
}
else {
obj.children('ul').append('' + tree[i].text + ' ');
changeParentSelected(obj.children('ul').children('li[data-id="' + tree[i].id + '"]').children('input'), tree[i].id, false)
}
}
}
else if (type === "depart") {
if (tree[i].id !== 'nodeptmentmemberbtnid') {
var hasDepartment = false;
if (TeacherSelect.backDate.department && TeacherSelect.backDate.department.length > 0) { // 鍥炴樉閫変腑
$.each(TeacherSelect.backDate.department, function(n, department) {
// && department.schoolId === TeacherSelect.departSchool.schoolId
if (department == tree[i].id) {
hasDepartment = true;
return false;
}
});
}
if (TeacherSelect.filterResult.department && TeacherSelect.filterResult.department.length > 0) { // 鍥炴樉閫変腑
$.each(TeacherSelect.filterResult.department, function(n, department) {
// && department.schoolId === TeacherSelect.departSchool.schoolId
if (department.id == tree[i].id) {
hasDepartment = true;
return false;
}
});
}
if (hasDepartment && TeacherSelect.isSelectBar === 'depart') {
obj.children('ul').append('' + tree[i].text + ' ');
}
else {
isSelectAll = false
obj.children('ul').append('' + tree[i].text + ' ');
}
} else if(!tree[i].children.length) {
isSelectAll = false
}
}
else if (type === "subject") {
var hasSubject = false;
if (TeacherSelect.backDate.subjectSchool && TeacherSelect.backDate.subjectSchool.length > 0) { // 鍥炴樉
$.each(TeacherSelect.backDate.subjectSchool, function(n, subjectSchool) {
if (subjectSchool.subjectId == tree[i].id) {
TeacherSelect.subjectCheckedList.push({'name': tree[i].text, 'id': tree[i].id});
hasSubject = true;
return false;
}
})
}
if (TeacherSelect.filterResult.subjectSchool && TeacherSelect.filterResult.subjectSchool.length > 0) { // 鍥炴樉
$.each(TeacherSelect.filterResult.subjectSchool, function(n, subjectSchool) {
if (subjectSchool.subjectId == tree[i].id) {
TeacherSelect.subjectCheckedList.push({'name': tree[i].text, 'id': tree[i].id});
hasSubject = true;
return false;
}
})
}
if (hasSubject) {
obj.children('ul').append('' + tree[i].text + ' ');
if ((tree.length > 1 && i === (tree.length - 1)) || tree.length === 1) {
changeParentSelected(obj.children('ul').children('li[data-id="' + tree[i].id + '"]').children('input'), tree[i].id, true)
}
}
else {
obj.children('ul').append('' + tree[i].text + ' ');
changeParentSelected(obj.children('ul').children('li[data-id="' + tree[i].id + '"]').children('input'), tree[i].id, false)
}
}
else if (type === "structure") {
// 缁勭粐妯″潡
if (tree[i].disabled) {
// 娌℃湁鏉冮檺涓嶅彲浠ラ€夋嫨
obj.children('ul').append('' + tree[i].text + ' ');
}
else {
var hasStructure = false;
if (TeacherSelect.backDate.structure && TeacherSelect.backDate.structure.length > 0) {
$.each(TeacherSelect.backDate.structure, function(n, structure) {
if (structure == tree[i].id) {
hasStructure = true;
return false;
}
})
}
if (TeacherSelect.filterResult.structure && TeacherSelect.filterResult.structure.length > 0) {
$.each(TeacherSelect.filterResult.structure, function(n, structure) {
if (structure.id == tree[i].id) {
hasStructure = true;
return false;
}
})
}
if (hasStructure) {
obj.children('ul').append('' + tree[i].text + ' ');
if ((tree.length > 1 && i === (tree.length - 1)) || tree.length === 1) {
changeParentSelected(obj.children('ul').children('li[data-id="' + tree[i].id + '"]').children('input'), tree[i].id, true)
}
}
else {
obj.children('ul').append('' + tree[i].text + ' ');
}
}
}
else {
if(type === 'class') {
// 鍗曠嫭澶勭悊鐝骇鐨勬儏鍐碉紝娣诲姞160px鐨勫搴
obj.children('ul').append('' + tree[i].text + ' ');
}
else{
obj.children('ul').append('' + tree[i].text + ' ');
}
}
}
}
}
// 濡傛灉琚叏閫変簡锛屽垯鐪嬬湅鐖剁骇鐨勯€夋嫨妗嗘槸鍚︽湁鍏ㄩ€夛紝濡傛灉鏈夛紝鍒欒缃€変腑
if (isSelectAll) {
obj1.children('input[type="checkBox"]').prop("checked", true);
// // 閮ㄩ棬 鍚屾宸︿晶瀛︽牎閫変腑鐘舵€
if (isHasSelect && type === 'depart') {
var dataId = this.departmentSchoolId
$('.select-depart-schools-tree li[data-id="' + dataId + '"]').children('input').prop("checked", true)
}
}
}
else { // 鏁扮粍缁撴瀯 涓嶅瓨鍦ㄥ瓙鑺傜偣鏃 涓€鑸负鎼滅储鎴栬€呭鏍′笅闈㈢殑鎵€鏈夋暀甯堟垨鑰呭绉
// 杩欎釜鏃跺€欏彲浠ュ垽鏂槸涓嶆槸鍒楄〃琚叏閫変簡
var isSelectAll = true;
obj.append('');
if (document.documentElement.clientHeight < 750) {
if (isHasSelect) {
$('.ul-overflow-show').height('197px');
}
else {
$('.ul-overflow-show').height('222px');
}
}
else {
if (isHasSelect) {
$('.ul-overflow-show').height('245px');
}
else {
$('.ul-overflow-show').height('270px');
}
}
for (var i = 0; i < tree.length; i++) {
var cHeight = $('.select-teacher-contact-tree').height();
var contactHeght = (cHeight - $('.select-teacher-contact-tree').children('ul').children('li').children('span').height() - 5) + 'px';
$('.select-teacher-contact-tree ul.ul-overflow-show').height(contactHeght)
var tHeight = $('.select-teacher-tree').height();
var teacherHeight = (tHeight - $('.select-teacher-tree').children('ul').children('li').children('span').height() - 5) + 'px';
$('.select-teacher-tree ul.ul-overflow-show').height(teacherHeight)
if (isHasSelect && type === 'teacher') {
var hasTeacher = false;
var spanWidth = (isDoubelTap && TeacherSelect.isSelectBar !== 'organ') ? '200px' : '160px';
if (TeacherSelect.result && TeacherSelect.result.length > 0) {
$.each(TeacherSelect.result, function(n, teacher) {
if (that.dataType === 'user') {
// 杩斿洖鐨勬暟鎹甶d鏄痷serid
// ?? 2019-11-11
// ?? 濂藉儚杩斿洖鐨勬暟鎹甶d涓嶆槸userid锛堜箰鐭ヤ簯锛岀寤洪暱涔愮涓€涓锛?
// ?? 浣嗘槸涓婇潰鏈夋湁涓€鏉℃敞閲婅杩斿洖鐨勬暟鎹?鍏堥兘鍏煎鍚
if (teacher.userId == tree[i].userId || teacher.id == tree[i].userId) {
hasTeacher = true;
return false;
}
}
else {
if (teacher.id == tree[i].id) {
hasTeacher = true;
return false;
}
}
});
}
if (hasTeacher) {
obj.children('ul').append('' + tree[i].name + ' ');
if ((tree.length > 1 && i === (tree.length - 1)) || tree.length === 1) {
changeParentSelected(obj.children('ul').children('li[data-id="' + tree[i].id + '"]').children('input'), tree[i].id, true)
}
}
else {
isSelectAll = false; // 涓嶆槸琚叏閫変簡
obj.children('ul').append('' + tree[i].name + ' ');
}
}
else if (isHasSelect && type === 'contact') {
var hasContact = false;
if (TeacherSelect.backDate.teachers && TeacherSelect.backDate.teachers.length > 0) {
$.each(TeacherSelect.backDate.teachers, function(n, teacher) {
if (that.dataType === 'user') {
// 杩斿洖鐨勬暟鎹甶d鏄痷serid
if (teacher == tree[i].userId) {
hasTeacher = true;
return false;
}
}
else {
if (teacher == tree[i].id) {
hasTeacher = true;
return false;
}
}
});
}
if (TeacherSelect.result && TeacherSelect.result.length > 0) {
$.each(TeacherSelect.result, function(n, teacher) {
if (teacher.id == tree[i].id) {
hasContact = true;
return false;
}
});
}
if (hasContact) {
obj.children('ul').append('' + tree[i].name + ' ');
$('.select-teacher-contact-tree').children('li[data-id="' + tree[i].id + '"]').children('input').prop("checked", true)
if ((tree.length > 1 && i === (tree.length - 1)) || tree.length === 1) {
changeParentSelected(obj.children('ul').children('li[data-id="' + tree[i].id + '"]').children('input'), tree[i].id, true)
}
}
else {
isSelectAll = false; // 涓嶆槸琚叏閫変簡
obj.children('ul').append('' + tree[i].name + ' ');
// changeParentSelected(obj.children('ul').children('li[data-id="' + tree[i].id + '"]').children('input'), tree[i].id, false)
}
}
else if (isHasSelect && (type === 'school')) {
if (tabType === 'school') {
var hasSchool = false;
if (TeacherSelect.backDate.school && TeacherSelect.backDate.school.length > 0) {
$.each(TeacherSelect.backDate.school, function(n, school) {
if (school == tree[i].id) {
hasSchool = true;
return false;
}
})
}
if (TeacherSelect.filterResult.school && TeacherSelect.filterResult.school.length > 0) {
$.each(TeacherSelect.filterResult.school, function(n, school) {
if (school.id == tree[i].id) {
hasSchool = true;
return false;
}
})
}
if (hasSchool) {
obj.children('ul').append('' + tree[i].text + ' ');
if ((tree.length > 1 && i === (tree.length - 1)) || tree.length === 1) {
changeParentSelected(obj.children('ul').children('li[data-id="' + tree[i].id + '"]').children('input'), tree[i].id, true)
}
}
else {
isSelectAll = false; // 涓嶆槸琚叏閫変簡
obj.children('ul').append('' + tree[i].text + ' ');
changeParentSelected(obj.children('ul').children('li[data-id="' + tree[i].id + '"]').children('input'), tree[i].id, false)
}
}
else if (tabType === 'subject') {
var hasSubjectSchool = false;
if (TeacherSelect.backDate.subjectSchool && TeacherSelect.backDate.subjectSchool.length > 0) {
$.each(TeacherSelect.backDate.subjectSchool, function(n, subjectSchool) {
if (subjectSchool.schoolId == tree[i].id) {
TeacherSelect.subjectSchoolCheckedList.push({'name': tree[i].text, 'id': tree[i].id});
hasSubjectSchool = true;
return false;
}
})
}
if (TeacherSelect.filterResult.subjectSchool && TeacherSelect.filterResult.subjectSchool.length > 0) {
$.each(TeacherSelect.filterResult.subjectSchool, function(n, subjectSchool) {
if (subjectSchool.schoolId == tree[i].id) {
TeacherSelect.subjectSchoolCheckedList.push({'name': tree[i].text, 'id': tree[i].id});
hasSubjectSchool = true;
return false;
}
})
}
if (hasSubjectSchool) {
obj.children('ul').append('' + tree[i].text + ' ');
if ((tree.length > 1 && i === (tree.length - 1)) || tree.length === 1) {
changeParentSelected(obj.children('ul').children('li[data-id="' + tree[i].id + '"]').children('input'), tree[i].id, true)
}
}
else {
isSelectAll = false; // 涓嶆槸琚叏閫変簡
obj.children('ul').append('' + tree[i].text + ' ');
}
} else {
// 閮ㄩ棬鎼滅储缁撴灉涓坊鍔 澶嶉€夋
obj.children('ul').append('' + tree[i].text + ' ');
}
}
else if (!isHasSelect && (type === 'school')) {
obj.children('ul').append('' + tree[i].text + ' ');
if (tabType === 'depart') {
if (TeacherSelect.departSchool.schoolId == tree[i].id) {
obj.parents('#select-'+ tabType +'-moudel-content').find('span').removeClass('school-selected');
obj.children('ul').children('li[data-id="'+ tree[i].id +'"]').children('span').addClass('school-selected');
}
}
else if (tabType === 'teacher') {
if (TeacherSelect.teacherSchool.schoolId == tree[i].id) {
obj.parents('#select-'+ tabType +'-moudel-content').find('span').removeClass('school-selected');
obj.children('ul').children('li[data-id="'+ tree[i].id +'"]').children('span').addClass('school-selected');
}
}
}
else if (isHasSelect && (type === 'depart')) {
if (tree[i].id !== 'nodeptmentmemberbtnid') {
var hasDepartment = false;
if (TeacherSelect.backDate.department && TeacherSelect.backDate.department.length > 0) {
$.each(TeacherSelect.backDate.department, function(n, department) {
if (department == tree[i].id) {
hasDepartment = true;
return false;
}
})
}
if (TeacherSelect.filterResult.department && TeacherSelect.filterResult.department.length > 0) {
$.each(TeacherSelect.filterResult.department, function(n, department) {
if (department.id == tree[i].id) {
hasDepartment = true;
return false;
}
})
}
if (hasDepartment) {
obj.children('ul').append('' + tree[i].text + ' ');
if ((tree.length > 1 && i === (tree.length - 1)) || tree.length === 1) {
changeParentSelected(obj.children('ul').children('li[data-id="' + tree[i].id + '"]').children('input'), tree[i].id, true)
}
}
else {
isSelectAll = false; // 涓嶆槸琚叏閫変簡
obj.children('ul').append('' + tree[i].text + ' ');
}
}
}
else if (!isHasSelect && (type === 'depart')) {
// TODO: 澧炲姞閫変腑杩囨护
if (TeacherSelect.teacherDepart.departId && (TeacherSelect.teacherDepart.departId == tree[i].id)) {
obj.children('ul').append('' + tree[i].text + ' ');
}
else {
obj.children('ul').append('' + tree[i].text + ' ');
}
}
else if (!isHasSelect && (type === 'post')) {
// TODO: 澧炲姞閫変腑杩囨护
if (TeacherSelect.postTeacher.postId && (TeacherSelect.postTeacher.postId == tree[i].id)) {
obj.children('ul').append('' + tree[i].text + ' ');
}
else {
obj.children('ul').append('' + tree[i].text + ' ');
}
}
else if (isHasSelect && (type === 'post')) {
// TODO: 澧炲姞閫変腑杩囨护
var hasPost = false;
var spanWidth = '300px';
if (TeacherSelect.backDate.teachers && TeacherSelect.backDate.teachers.length > 0) {
$.each(TeacherSelect.backDate.teachers, function(n, teacher) {
if (that.dataType === 'user') {
// 杩斿洖鐨勬暟鎹甶d鏄痷serid
if (teacher == tree[i].userId) {
hasTeacher = true;
return false;
}
}
else {
if (teacher == tree[i].id) {
hasTeacher = true;
return false;
}
}
});
}
if (TeacherSelect.filterResult.teachers && TeacherSelect.filterResult.teachers.length > 0) {
$.each(TeacherSelect.filterResult.teachers, function(n, teacher) {
if (teacher.id == tree[i].id) {
hasPost = true;
return false;
}
});
}
var stdName = (that.districtPost && TeacherSelect.postTeacher.selectDis) ? (tree[i].name + '(' + tree[i].schoolname + ')') : tree[i].name
if (hasPost) {
obj.children('ul').append('' + stdName + ' ');
if ((tree.length > 1 && i === (tree.length - 1)) || tree.length === 1) {
changeParentSelected(obj.children('ul').children('li[data-id="' + tree[i].id + '"]').children('input'), tree[i].id, true)
}
}
else {
isSelectAll = false; // 涓嶆槸琚叏閫変簡
obj.children('ul').append('' + stdName + ' ');
}
}
}
// 濡傛灉琚叏閫変簡锛屽垯鐪嬬湅鐖剁骇鐨勯€夋嫨妗嗘槸鍚︽湁鍏ㄩ€夛紝濡傛灉鏈夛紝鍒欒缃€変腑
if (isSelectAll && type != 'structure') { //type涓虹粍缁囨椂榛樿涓嶈兘鏄€変腑鐘舵€
obj1.children('input[type="checkBox"]').prop("checked", true);
// 鍗曚綅閫氳褰 鍚屾宸︿晶瀛︽牎閫変腑鐘舵€
if (isHasSelect && type === 'contact' && !contactTeacher) {
var dataId = $('.select-teacher-contact-tree').find('li').attr('data-id')
$('.select-contact-tree li[data-id="' + dataId + '"]').children('input').prop("checked", true)
}
}
}
obj1.append(obj.children());
};
/***
** 鍏辩敤鐨勫睍寮€鍚堣捣鏂规硶
****/
function expandedTree() {// 灞曞紑鏀惰捣鐨勬寜閽姛鑳 ps: 鍚庢湡娣诲姞400姣鍐呬笉璁╃偣鍑荤浜屾
$('body').on('click', '.expand-btn', function() {
if (!changeOver) {
changeOver = true
if ($(this).hasClass('select-show-icon')) {
$(this).siblings('ul').slideDown(400)
$(this).removeClass('select-show-icon')
$(this).addClass('select-close-icon')
}
else {
$(this).siblings('ul').slideUp(400)
$(this).removeClass('select-close-icon')
$(this).addClass('select-show-icon')
}
setTimeout(function() {
changeOver = false
}, 400)
}
})
};
/*
* 瀛︽牎灞曞紑鏀惰捣鐗规畩澶勭悊
*/
function showMoreSchool () {
$('body').on('click', '.expand-school-btn', function() {
if (!changeOver) {
changeOver = true
if ($(this).hasClass('select-school-show-icon')) {
if ($(this).siblings('ul').length > 0) {
$(this).siblings('ul').slideDown(400)
$(this).removeClass('select-school-show-icon')
$(this).addClass('select-school-close-icon')
}
else {
// 鑾峰彇瀛愯妭鐐
$(this).parent('li').append('')
var data = {
filiterId: that.filiterId,
rolemarks: that.rolemarks,
roleId: that.roleId,
filterRole: that.filterRole,
limitUserSchoolId: that.limitUserSchoolId,
id: $(this).parent('li').attr('data-id')
}
var url = '/common_selector/allSchools.do'
var obj = $(this).parent('li')
var hasSelect = (TeacherSelect.isSelectBar === 'teacher' || TeacherSelect.isSelectBar === 'post' || TeacherSelect.isSelectBar === 'depart') ? false : true
var self = $(this)
commonRequest (data, url, function(schoolTree) {
self.siblings('ul').remove()
toPushSchoolTree(obj, schoolTree, hasSelect, TeacherSelect.isSelectBar)
self.siblings('ul').slideDown(400)
self.removeClass('select-school-show-icon')
self.addClass('select-school-close-icon')
})
}
}
else {
$(this).siblings('ul').slideUp(400)
$(this).removeClass('select-school-close-icon')
$(this).addClass('select-school-show-icon')
}
setTimeout(function() {
changeOver = false
}, 400)
}
})
};
/*
* 灞曠ず鍏ㄥ尯鎼滅储鏁欏笀
*/
function selectDistrict () {
if (that.district) {
$('body').on('mouseover', '.select-teacher-moudel-search', function () {
$('.select-from-all').show()
});
$('body').on('mouseout', '.select-teacher-moudel-search', function () {
$('.select-from-all').hide()
});
}
};
/***
** 鍏辩敤鐨勭偣鍑婚€夋嫨妗嗕簨浠
****/
function selectInputCheckTogger() {
$('body').on('click', 'li > input[type="checkBox"]', function() { // 鐐瑰嚮閫変腑锛 鍒欓€変腑鍒拌鍏冪礌涓嬬殑鎵€鏈夊瓙鍏冪礌
// TODO: 鏇惧姞鎼滅储閮ㄩ棬瑙﹀彂杩囨浮鍏ㄩ€
// 澶勭悊閮ㄩ棬鐨勯€夋嫨涓庡叾浠栫殑涓嶅悓锛 閫変腑閮ㄩ棬甯冪疆閫変腑鎵€鏈夌殑瀛愬厓绱犲悓鏃舵妸鑷繁涔熼€変腑锛 浣嗘槸鍙栨秷鏃跺彧鍙栨秷鑷繁涓嶅彇娑堝瓙鍏冪礌
var $this = $(this);
var isChecked = $this.prop('checked');
var dataType = $this.parent('li').attr('data-type');
if (dataType === 'department' && TeacherSelect.isSelectBar !== 'teacher') {
// checkSelect()
var id = $(this).parent('li').attr('data-id'),
schoolId = TeacherSelect.departSchool.schoolId,
type = $(this).parent('li').attr('data-type'),
checked = $(this).prop("checked");
if (checked) {
$(this).siblings('ul').find('li').find('input[type="checkBox"]').prop("checked", true);
// 淇濆瓨鍒皉esult
// 鍏堝垽鏂笅鏄惁涓烘渶澶栧眰 鏈€澶栧眰鏄鏍′笉閫夋嫨鏈韩
if (id !== 'VirtualRootNode') {
checkResultList(id, $(this).siblings('span').html(), $(this).siblings('span').html(), schoolId, checked, 'depart', '');
}
if ($(this).siblings('ul').children('li').length > 0) { // 杩欓噷闇€瑕侀€掑綊
addSelectResult($(this));
function addSelectResult(input) {
for (var i = 0; i < input.siblings('ul').children('li').length; i++) {
checkResultList(input.siblings('ul').children('li').eq(i).attr('data-id'), input.siblings('ul').children('li').eq(i).children('span').html(), input.siblings('ul').children('li').eq(i).children('span').html(), schoolId, input.prop("checked"), 'depart', '');
if (input.siblings('ul').children('li').eq(i).children('ul').children('li').length > 0) {
addSelectResult(input.siblings('ul').children('li').eq(i).children('input'));
}
}
}
}
else {
checkResultList(id, $(this).siblings('span').html(), $(this).siblings('span').html(), schoolId, checked, 'depart', '');
}
}
else { // 閮ㄩ棬銆傚彇娑
// 灏嗘墍鏈夊瓙鑺傜偣鍙栨秷閫変腑
$(this).siblings('ul').find('li').find('input[type="checkBox"]').prop("checked", true);
checkResultList(id, $(this).siblings('span').html(), $(this).siblings('span').html(), schoolId, checked, 'depart', '');
// 灏嗘墍鏈夊瓙鑺傜偣浠庡凡閫夎兌鍥婁腑绉婚櫎
$(this).siblings('ul').find('li').find('input[type="checkBox"]').each(function (idx, el) {
$(el).prop('checked', false);
checkResultList($(el).parent().attr('data-id'), '', '', schoolId, false, 'depart', '');
});
}
// changeParentSelected($(this), $(this).parent('li').attr('data-id'), checked)
}
else if (dataType === 'contact' && TeacherSelect.isSelectBar === 'contact') {
handleClickContact($this);
if ($this.siblings('span').hasClass('contact-selected')) { // 濡傛灉褰撳墠閮ㄩ棬鏄凡鐐瑰嚮灞曠ず鐨勯儴闂
$('#select-teacher-contact-moudel-main .select-teacher-contact-tree').find('input[type="checkbox"]').prop('checked', isChecked);
} else {
// FIXME: 濡傛灉杩樻湁瀛愰儴闂紝鏆傛椂娌℃湁鍚屾璁剧疆瀛愰儴闂ㄧ姸鎬
var deptid = $this.parent('li').attr('data-id');
$('#select-teacher-contact-moudel-main .select-teacher-contact-tree').find('li[data-id="'+deptid+'"]').find('input').prop('checked', isChecked);
}
} else if (dataType === 'contact-all' && TeacherSelect.isSelectBar === 'contact') {
// 涓汉閫氳褰曪紝 鐐瑰嚮鍙充晶鍏ㄩ€夊垎缁勬暟鎹紝涓庡乏渚ц仈鍔
batchAddTeacherToResult(contactTabAllTeachers, isChecked);
$this.siblings('ul').find('input').prop('checked', isChecked);
if (!$('#search-teacher-contact-input').val()) {
var contactId = $this.parent('li').attr('data-id');
$('#select-contact-moudel-main .select-contact-tree').find('li[data-id="' + contactId + '"]').find('input[type="checkbox"]').prop('checked', isChecked);
}
}
// 閫夋嫨鏁欏笀閮ㄩ棬
else if (dataType === 'department' && TeacherSelect.isSelectBar === 'teacher') {
handleClickTeacherDepartment($this);
if ($this.siblings('span').hasClass('depart-selected')) { // 濡傛灉褰撳墠閮ㄩ棬鏄凡鐐瑰嚮灞曠ず鐨勯儴闂
$('#select-teacher-moudel-content .select-teacher-tree').find('input[type="checkbox"]').prop('checked', isChecked);
} else {
// FIXME: 濡傛灉杩樻湁瀛愰儴闂紝鏆傛椂娌℃湁鍚屾璁剧疆瀛愰儴闂ㄧ姸鎬
var deptid = $this.parent('li').attr('data-id');
$('#select-teacher-moudel-content .select-teacher-tree').find('li[data-ssbm="'+deptid+'"]').find('input').prop('checked', isChecked);
$('#select-teacher-moudel-content .select-teacher-tree').find('li[data-jzbm="'+deptid+'"]').find('input').prop('checked', isChecked);
}
}
// 鏁欏笀tab, 鐐瑰嚮閮ㄩ棬鍏ㄩ€
else if ($this.attr('data-depart-type') === 'all-depart' && TeacherSelect.isSelectBar === 'teacher') {
// teacherTabCurrentAllTeacher琛ㄧず鎵€鏈夌殑瀛︾敓
// teacherTabCurrentShowTeacher琛ㄧず鍙充晶鍒楄〃鏄剧ず鐨勫叏閮ㄥ鐢
batchAddTeacherToResult(teacherTabCurrentAllTeachers, isChecked);
$this.siblings('ul').find('input').prop('checked', isChecked);
$('#select-teacher-moudel-content .select-teacher-tree').find('input[type="checkbox"]').prop('checked', isChecked);
}
// 鏁欏笀tab鐐瑰嚮鏁欏笀鍒楄〃鍏ㄩ€
else if ($this.attr('data-input-type') === 'select-all' && teacherTabCurrentShowTeacher.length > 0) { // 鍏ㄩ€
batchAddTeacherToResult(teacherTabCurrentShowTeacher, isChecked);
$this.siblings('ul').find('input').prop('checked', isChecked);
// 濡傛灉鏄悳绱㈢殑锛屽垯涓嶅悓姝ュ埌宸﹁竟
// 濡傛灉鏄€夋嫨浜嗘煇涓儴闂ㄧ殑鍏ㄩ€夊拰褰撳墠閮ㄩ棬鐨勫悓姝
// 濡傛灉涓€涓儴闂ㄩ兘娌℃湁閫夛紝鍏ㄩ€夊拰鏁翠釜瀛︽牎鍚屾
if (TeacherSelect.isSelectBar === 'teacher' && !isSearchTeacher) {
var currentDepart = $('.select-depart-tree').find('.depart-selected');
if (currentDepart.length === 0) {
currentDepart = $('input[data-depart-type="all-depart"]').siblings('span');
}
currentDepart.siblings('input').prop('checked', isChecked);
currentDepart.siblings('ul').find('input').prop('checked', isChecked);
}
}
else {
clickInput($this, $this.parent('li').attr('data-id'));
}
})
};
// 鏁欏笀 - 鐐瑰嚮閮ㄩ棬閫夋嫨妗
function handleClickTeacherDepartment ($this) {
var deptId = $this.parent('li').attr('data-id');
var schoolId = $this.parent('li').attr('data-school');
var isChecked = $this.prop("checked"); // 閫変腑杩樻槸鍙栨秷
// 褰撳墠鍏冪礌鏄惁鏈夊瓙鑺傜偣
var ids = setAllChildDepartStatus($this, isChecked);
ids.push(deptId);
deptId = ids.join(',');
// todo: loading
loadTeachers(schoolId, "", deptId, "", that.rolemarks, function (teachers) {
batchAddTeacherToResult(teachers, isChecked)
})
}
// 鏁欏笀 - 鐐瑰嚮涓汉閫氳褰曢€夋嫨妗
function handleClickContact ($this) {
var deptId = $this.parent('li').attr('data-id');
// var schoolId = $this.parent('li').attr('data-school');
var isChecked = $this.prop("checked"); // 閫変腑杩樻槸鍙栨秷
// 褰撳墠鍏冪礌鏄惁鏈夊瓙鑺傜偣
var ids = setAllChildDepartStatus($this, isChecked);
ids.push(deptId);
deptId = ids.join(',');
var contactTeaPostData = {
groupId: deptId,
groupType: $('.select-contact-tree').find('li[data-id=' + $this.parent('li').attr('data-id') + ']').attr('data-gtype'),
name: '',
isSingle: !that.district,
limitUserSchoolId: that.limitUserSchoolId,
selectNodeId: $this.parent('li').attr('data-id'),
}
var contactTeaPostUrl = '/common_selector/address/teachers.do'
commonRequest (contactTeaPostData, contactTeaPostUrl, function(teacherTree) {
batchAddTeacherToResult(teacherTree.list, isChecked)
if (teacherTree.list.length && !isChecked) {
changeParentSelected($this, deptId, isChecked);
}
})
}
// 璁剧疆鎵€鏈夌殑閮ㄩ棬瀛愯妭鐐圭姸鎬侊紝骞惰幏鍙栬妭鐐圭殑id
function setAllChildDepartStatus ($el, checked) {
var ids = [];
addSelectResult($el);
function addSelectResult($ele) {
for (var i = 0; i < $ele.siblings('ul').children('li').length; i++) {
var $li = $ele.siblings('ul').children('li').eq(i);
$li.children('input').prop('checked', checked);
ids.push($li.attr('data-id'));
addSelectResult($li.children('input'))
}
}
// warning:涓嶈鍚屾瀛愯妭鐐圭姸鎬佸埌鐖惰妭鐐癸紝鍥犱负瀛愰儴闂ㄥ叏閮ㄩ€変腑浜嗭紝鐖堕儴闂ㄤ笉涓€瀹氬叏閮ㄩ€変腑銆
return ids
}
// 鎵归噺娣诲姞鏁欏笀鍒扮粨鏋
function batchAddTeacherToResult(teachers, isChecked) {
var addHtml = '';
teachers.forEach(function (teacher) {
// todo: 鎵归噺鎻掑叆DOM
// id, name, text, schoolId, checked, type, teacherInfo, orgType
// checkResultList(teacher.id, teacher.name, teacher.text, teacher.schoolid, isChecked, 'teacher', teacher, null);
var name = teacher.name;
var id = teacher.id;
var text = teacher.text;
var schoolId = teacher.schoolid;
var teacherInfo = teacher.teacherInfo || teacher;
// $('.select-depart-tree').find('li[data-type="depart"]').children('input').prop('checked', isChecked)
$('.select-depart-tree').find('li[data-id="' + id + '"]').children('input').prop('checked', isChecked)
changeParentSelected($('.select-depart-tree').find('li[data-id="' + id + '"]').children('input'), id, isChecked);
if (isChecked) {
// 杩欓噷闇€瑕佹坊鍔犲幓閲
var hasAdd = false;
var Tname = '';
if (name.indexOf("(") === -1) {
Tname = name
}
else {
Tname = name.slice(0, name.indexOf("("))
}
for (var i = 0; i < TeacherSelect.result.length; i++) {
if (TeacherSelect.result[i].id == id && TeacherSelect.result[i].type === 'member') {
hasAdd = true;
}
}
if (!hasAdd) {
var group = []
if (teacherInfo.ssbmmc) {
group.push(teacherInfo.ssbmmc);
}
if (teacherInfo.jzbmmc) {
group.push(teacherInfo.jzbmmc);
}
TeacherSelect.result.push({ 'id': id, 'name': name, 'text': text, 'schoolid': schoolId, 'type': 'member', 'no': teacherInfo.no, 'userId': teacherInfo.userId, 'schoolname': teacherInfo.schoolname, 'ssbmmc': teacherInfo.ssbmmc, 'ssbm': teacherInfo.ssbm, 'gwfl': teacherInfo.gwfl, 'gwflf': teacherInfo.gwflf, 'jzbm': teacherInfo.jzbm, 'jzbmmc': teacherInfo.jzbmmc, 'text': teacherInfo.text, 'group': group });
addHtml = addHtml + ''
+ SecLib.xss.handle(Tname, "HTML")
+ ' '
// + '("' + teacherInfo.schoolname + '") '
+'脳 '
}
}
else { // 鍒犻櫎
if (findIndex(id, TeacherSelect.result) === 0 || findIndex(id, TeacherSelect.result)) {
TeacherSelect.result.splice(findIndex(id, TeacherSelect.result), 1);
$('.item-selected-moudel[data-id="' + id + '"][data-type="teacher"]').remove();
}
}
})
$('.select-result-show-body').append(addHtml);
toTrimData();
}
/***
** 鍏辩敤鐨勬牴鎹偣鍑婚€夋嫨鐨勫厓绱犳敼鍙樿鍏冪礌涓嬫墍鏈夌殑瀛愬厓绱燾hecked鐘舵€
** input: 鐐瑰嚮鐨刬nput瀵硅薄
** id: 鐐瑰嚮鐨刬nput瀵瑰簲鐨刲i鐨刣ata-id鍊
** addResult鏂规硶: 杩唬璋冨彇checkResultLis鏂规硶瀛樺彇閫変腑鐨勫€煎埌resul閲岄潰
****/
function clickInput(input, id) { // 鍝嶅簲鐐瑰嚮鍏冪礌瑙﹀彂鍏朵粬鍏冪礌鐨勯€変腑涓庡彇娑
// 澶勭悊缁勭粐绠$悊鐗规畩鎯呭喌
var isInputChecked = input.prop("checked");
if (input.parent('li').attr('data-type') == 'structure') {
checkResultList(id, input.siblings('span').html(), input.siblings('span').html(), null, input.prop("checked"), input.parent('li').attr('data-type'), null, input.parent('li').attr('data-orgtype'));
}
else {
input.siblings('ul').find('li').find('input[type="checkBox"]').prop("checked", input.prop("checked")); // 鐐瑰嚮鐨勬墍鏈夊瓙鍏冪礌鏇村彉鐘舵€
// 杩欓噷涓轰粈涔堣杩欐牱鍐欙紵涓轰簡鍚屾璁剧疆鍏跺畠闈㈡澘锛熷厛娉ㄩ噴鎺夛紝涓嶅悓姝ヨ嚦鍏跺畠闈㈡澘锛屽洜涓哄湪changeParentSelected鍦ㄤ腑瑕佸仛鐗规畩鍏ㄩ€夐厤缃€
for (var i=0; i<$('li[data-id="'+ id +'"]').length; i++) {
var ninput = $($('li[data-id="' + id + '"]').eq(i)).children('input');
changeParentSelected(ninput, id, input.prop("checked"), "", ninput.prop('checked') !== input.prop('checked')); // 杩囨浮鐖剁骇鏉ユ敼鍙樼姸鎬
}
changeParentSelected(input, id, input.prop("checked"));
// 淇濆瓨閫変腑鐨勫厓绱犲埌result閲岄潰
if (input.siblings('ul').children('li').length > 0) { // 杩欓噷闇€瑕侀€掑綊
addResult(input);
// 涓庡乏渚ф寜閽仈鍔ㄩ€夋嫨
if(input.parent('li') && input.parent('li').attr('data-id') === 'VirtualRootNode') {
$('.select-depart-schools-tree').find('li[data-id=' + input.parent('li').children('ul').children('li').attr('data-school') + ']').children('input').prop('checked', input.prop("checked"))
}
function addResult(input) {
for (var i = 0; i < input.siblings('ul').children('li').length; i++) {
if(input.parent('li') && input.parent('li').attr('data-id') !== 'VirtualRootNode') {
checkResultList(input.parent('li').attr('data-id'), input.parent('li').attr('data-text'), input.parent('li').attr('data-text'), input.parent('li').attr('data-school'), input.prop("checked"), input.parent('li').attr('data-type'), null, null);
}
if (input.siblings('ul').children('li').eq(i).children('ul').children('li').length > 0) {
addResult(input.siblings('ul').children('li').eq(i).children('input'));
}
else {
if (TeacherSelect.isSelectBar === 'teacher' || TeacherSelect.isSelectBar === 'post' || TeacherSelect.isSelectBar === 'contact') {
var teacerItem = input.siblings('ul').children('li').eq(i)
var teacherData = {
id: teacerItem.attr('data-id'),
no: teacerItem.attr('data-no'),
userId: teacerItem.attr('data-userid'),
name: teacerItem.attr('data-name'),
schoolId: teacerItem.attr('data-school'),
schoolName: teacerItem.attr('data-schoolname'),
ssbmmc: teacerItem.attr('data-ssbmmc'),
ssbm: teacerItem.attr('data-ssbm'),
text: teacerItem.attr('data-text'),
gwfl: teacerItem.attr('data-gwfl'),
gwflf: teacerItem.attr('data-gwflf'),
jzbm: teacerItem.attr('data-jzbm'),
jzbmmc: teacerItem.attr('data-jzbmmc') ? teacerItem.attr('data-jzbmmc') : ''
}
checkResultList(teacherData.id, teacerItem.children('span').html(), teacerItem.attr('data-text'), teacerItem.attr('data-school'), input.prop("checked"), teacerItem.attr('data-type'), teacherData, null);
}
else {
var groupItem = input.siblings('ul').children('li').eq(i)
if(input.parent('li').attr('data-type') == 'school') {
checkResultList(groupItem.attr('data-id'), groupItem.attr('data-name'), groupItem.attr('data-text'), groupItem.attr('data-school'), input.prop("checked"), groupItem.attr('data-type'), null, null);
} else {
checkResultList(groupItem.attr('data-id'), groupItem.attr('data-text'), groupItem.attr('data-text'), groupItem.attr('data-school'), input.prop("checked"), groupItem.attr('data-type'), null, null);
}
}
}
}
}
}
else {
if (TeacherSelect.isSelectBar === 'teacher' || TeacherSelect.isSelectBar === 'organ' || TeacherSelect.isSelectBar === 'post' || TeacherSelect.isSelectBar === 'contact') {
var teacerItem = input.parent('li')
var teacherData = {
id: teacerItem.attr('data-id'),
no: teacerItem.attr('data-no'),
userId: teacerItem.attr('data-userid'),
name: teacerItem.attr('data-name'),
schoolId: teacerItem.attr('data-school'),
schoolName: teacerItem.attr('data-schoolname'),
ssbmmc: teacerItem.attr('data-ssbmmc'),
ssbm: teacerItem.attr('data-ssbm'),
text: teacerItem.attr('data-text'),
gwfl: teacerItem.attr('data-gwfl'),
gwflf: teacerItem.attr('data-gwflf'),
jzbm: teacerItem.attr('data-jzbm'),
jzbmmc: teacerItem.attr('data-jzbmmc')?teacerItem.attr('data-jzbmmc'):''
}
checkResultList(teacherData.id, teacherData.name, teacherData.text, teacherData.schoolId, isInputChecked, teacerItem.attr('data-type'), teacherData, null);
}
else {
checkResultList(id, input.siblings('span').html(), input.siblings('span').html(), input.parent('li').attr('data-school'), input.prop("checked"), input.parent('li').attr('data-type'), null, null);
}
}
}
};
/***
** 澧炲垹閫変腑鐨勫€煎苟褰㈡垚dom鑳跺泭
** name: 閫変腑鐨刲i涓嬬殑data-name鍊
** id: 閫変腑鐨刲i鐨刣ata-id鍊
** schoolId: 瀵瑰簲瀛︽牎ID
** checked: 閫変腑杩樻槸鍙栨秷
**/
function checkResultList(id, name, text, schoolId, checked, type, teacherInfo, orgType) {// 閫変腑鐨勭粨鏋滆兌鍥 杩欓噷闇€瑕侀拡瀵逛笉鍚岀殑閫変腑妯″潡澶勭悊涓嶅悓鐨勬暟鎹
if (TeacherSelect.isSelectBar === 'subject' && type === 'subject') { // 閫夋嫨瀛︾閲岀偣鍑诲绉
if (checked) { // 閫変腑
TeacherSelect.subjectCheckedList.push({'name': name, 'id': id});
if (TeacherSelect.subjectSchoolCheckedList.length > 0) { //濡傛灉瀛樺湪瀛︽牎琚€変腑锛屽垯杩涜瀛︾涓庡鏍$殑缁勫悎骞剁敓鎴愯兌鍥婏紝 鍚﹀垯灏嗛€夋嫨鐨勫绉戜繚瀛樿捣鏉
$.each(TeacherSelect.subjectSchoolCheckedList, function (i, school) {
var isHasItem = false;
if (TeacherSelect.result.length > 0) { // 鍘婚噸
$.each(TeacherSelect.result, function (j, result) {
if (result.type === 'subject' && result.subjectId == id && result.schoolId == school.id) {
isHasItem = true;
return false;
}
else {
isHasItem = false;
}
})
}
if (!isHasItem) { // 鑻ヤ箣鍓嶆病鏈夊垯娣诲姞涓
TeacherSelect.result.push({'name': name + '-' + school.name, 'subjectId': id, 'schoolId': school.id, 'type': 'subject'});
if ($('.item-selected-moudel').length < 200) {
$('.select-result-show-body').append('' + name + '-' + school.name + ' 脳 ');
}
}
});
}
}
else { // 鍙栨秷
if (TeacherSelect.subjectSchoolCheckedList.length > 0) { //濡傛灉瀛樺湪瀛︽牎琚€変腑锛屽垯杩涜瀛︾涓庡鏍$殑缁勫悎骞剁敓鎴愯兌鍥婏紝 鍚﹀垯灏嗛€夋嫨鐨勫绉戜繚瀛樿捣鏉
$.each(TeacherSelect.subjectSchoolCheckedList, function (i, school) {
TeacherSelect.result.splice(findIndex(id, TeacherSelect.result), 1);
$('.item-selected-moudel[data-id="'+ id +'"][data-type="subject"]').remove();
})
}
TeacherSelect.subjectCheckedList.splice(findIndex(id, TeacherSelect.subjectCheckedList), 1);
}
}
else if (TeacherSelect.isSelectBar === 'subject' && type === 'school') { // 閫夋嫨瀛︾妯″潡閲岀偣鍑诲鏍
if (checked) {
TeacherSelect.subjectSchoolCheckedList.push({'name': name, 'id': id});
if (TeacherSelect.subjectCheckedList.length > 0) { //濡傛灉瀛樺湪瀛︽牎琚€変腑锛屽垯杩涜瀛︾涓庡鏍$殑缁勫悎骞剁敓鎴愯兌鍥婏紝 鍚﹀垯灏嗛€夋嫨鐨勫绉戜繚瀛樿捣鏉
$.each(TeacherSelect.subjectCheckedList, function (i, subject) {
var isHasItem = false;
if (TeacherSelect.result.length > 0) { // 鍘婚噸
$.each(TeacherSelect.result, function (j, result) {
if (result.type === 'subject' && result.subjectId == subject.id && result.schoolId == id) {
isHasItem = true;
return false;
}
else {
isHasItem = false;
}
})
}
if (!isHasItem) { // 鑻ヤ箣鍓嶆病鏈夊垯娣诲姞涓
TeacherSelect.result.push({'name': subject.name + '-' + name, 'subjectId': subject.id, 'schoolId': id, 'type': 'subject'});
if ($('.item-selected-moudel').length < 200) {
$('.select-result-show-body').append('' + subject.name + '-' + name + ' 脳 ');
}
}
});
}
}
else {
if (TeacherSelect.subjectCheckedList.length > 0) { //濡傛灉瀛樺湪瀛︽牎琚€変腑锛屽垯杩涜瀛︾涓庡鏍$殑缁勫悎骞剁敓鎴愯兌鍥婏紝 鍚﹀垯灏嗛€夋嫨鐨勫绉戜繚瀛樿捣鏉
$.each(TeacherSelect.subjectCheckedList, function (i, subject) {
TeacherSelect.result.splice(findIndex(id, TeacherSelect.result), 1);
$('.item-selected-moudel[data-schoolId="'+ id +'"][data-type="subject"]').remove();
// $.each(TeacherSelect.subjectSchoolCheckedList, function (i, school) {
// result.splice(findIndex(id, result), 1);
// $('.item-selected-moudel[data-schoolId="'+ id +'"][data-type="subject"]').remove();
// })
})
}
TeacherSelect.subjectSchoolCheckedList.splice(findIndex(id, TeacherSelect.subjectSchoolCheckedList), 1);
}
}
else if ((TeacherSelect.isSelectBar === 'school' || TeacherSelect.isSelectBar === 'school_1')
&& type === 'school') { // 閫夋嫨瀛︽牎妯″潡閫夋嫨鏁欏笀
if (checked) {
// 杩欓噷闇€瑕佹坊鍔犲幓閲
var hasAdd = false;
for (var i = 0; i < TeacherSelect.result.length; i++) {
if (TeacherSelect.result[i].id == id && TeacherSelect.result[i].type === type) {
hasAdd = true;
}
}
if (!hasAdd) {
if(TeacherSelect.isSelectBar === 'school' && type === 'school') {
var parent = $('.select-schools-tree')
if(parent && parent.find('li[data-id=' + id +']')) {
var t = parent.find('li[data-id=' + id +']').children('i.select-parent-icon').length
// 濡傛灉褰撳墠鑺傜偣涓烘枃浠跺す绫诲瀷锛屼笖娌℃湁鏄剧ず鐨勫瓙鑺傜偣锛 璋冪敤鎺ュ彛鑾峰彇瀛愬厓绱犲苟灏嗗搴旂殑
if(!t) {
TeacherSelect.result.push({'id': id, 'name': name, 'schoolId': schoolId, 'type': type, 'text': text});
$('.select-result-show-body').append('' + name + ' 脳 ');
}
}
} else {
TeacherSelect.result.push({'id': id, 'name': name, 'schoolId': schoolId, 'type': type, 'text': text});
$('.select-result-show-body').append('' + name + ' 脳 ');
}
}
// 鍙充晶鑱斿姩
}
else { // 鍒犻櫎
var ind = findIndex(id, TeacherSelect.result)
if(ind || ind === 0) {
TeacherSelect.result.splice(ind, 1);
}
$('.item-selected-moudel[data-id="'+ id +'"][data-type="school"]').remove();
// 鍙充晶鑱斿姩
}
}
else if (TeacherSelect.isSelectBar === 'customGroup' && type === 'school') { // 鑷畾涔夊垎缁勯€夋嫨瀛︽牎
if (checked) {
// 杩欓噷闇€瑕佹坊鍔犲幓閲
var hasAdd = false;
for (var i = 0; i < TeacherSelect.result.length; i++) {
if (TeacherSelect.result[i].id == id && TeacherSelect.result[i].type === type) {
hasAdd = true;
}
}
if (!hasAdd) {
TeacherSelect.result.push({ 'id': id, 'name': name, 'schoolId': schoolId, 'type': type, 'text': text });
$('.select-result-show-body').append('' + name + ' 脳 ');
}
}
else { // 鍒犻櫎
TeacherSelect.result.splice(findIndex(id, TeacherSelect.result), 1);
$('.item-selected-moudel[data-id="' + id + '"][data-type="school"]').remove();
}
}
else if (TeacherSelect.isSelectBar === 'structure' && type === 'structure') { // 閫夋嫨瀛︽牎妯″潡閫夋嫨鏁欏笀
if (checked) {
// 杩欓噷闇€瑕佹坊鍔犲幓閲
var hasAdd = false;
for (var i = 0; i < TeacherSelect.result.length; i++) {
if (TeacherSelect.result[i].id == id && TeacherSelect.result[i].type === type) {
hasAdd = true;
}
}
if (!hasAdd) {
TeacherSelect.result.push({'id': id, 'name': name, 'type': type, 'text': text, 'orgType': orgType});
$('.select-result-show-body').append('' + name + ' 脳 ');
}
}
else { // 鍒犻櫎
TeacherSelect.result.splice(findIndex(id, TeacherSelect.result), 1);
$('.item-selected-moudel[data-id="'+ id +'"][data-type="structure"]').remove();
}
}
else if (TeacherSelect.isSelectBar === 'depart' && (type === 'depart' || type === 'department')) { // 閫夋嫨閮ㄩ棬妯″潡閫夋嫨閮ㄩ棬
if(schoolId.split('_').length === 1) {
schoolId = 'depart_' + schoolId
}
if (checked) {
// 杩欓噷闇€瑕佹坊鍔犲幓閲
var hasAdd = false;
for (var i = 0; i < TeacherSelect.result.length; i++) {
if (TeacherSelect.result[i].id == id && TeacherSelect.result[i].schoolId == schoolId) {
hasAdd = true;
}
}
if (!hasAdd) {
TeacherSelect.result.push({'id': id, 'name': name, 'schoolId': schoolId, 'type': 'department', 'text': text, 'schoolid': TeacherSelect.departSchool.schoolId, 'schoolname': TeacherSelect.departSchool.schoolName});
$('.select-result-show-body').append('' + TeacherSelect.departSchool.schoolName + '-' + name + ' 脳 ');
}
}
else { // 鍒犻櫎
TeacherSelect.result.splice(findIndex(id, TeacherSelect.result), 1);
$('.item-selected-moudel[data-id="'+ id +'"][data-type="department"][data-schoolid="'+ schoolId +'"]').remove();
$('.item-selected-moudel[data-id="'+ id +'"][data-type="department"][data-schoolid="'+ schoolId.split('_')[1] +'"]').remove();
}
}
else if ((TeacherSelect.isSelectBar === 'teacher' || TeacherSelect.isSelectBar === 'organ' || TeacherSelect.isSelectBar === 'contact') && type === 'teacher') { // 閫夋嫨鏁欏笀妯″潡閫夋嫨鏁欏笀
if (checked) {
// 杩欓噷闇€瑕佹坊鍔犲幓閲
// debugger
var hasAdd = false;
var Tname = '';
if (name.indexOf("(") === -1) {
Tname = name
}
else {
Tname = name.slice(0, name.indexOf("("))
}
for (var i = 0; i < TeacherSelect.result.length; i++) {
if (TeacherSelect.result[i].id == id && TeacherSelect.result[i].type === 'member') {
hasAdd = true;
}
}
if (!hasAdd) {
var group = []
if (teacherInfo.ssbmmc) {
group.push(teacherInfo.ssbmmc);
}
if (teacherInfo.jzbmmc) {
group.push(teacherInfo.jzbmmc);
}
TeacherSelect.result.push({ 'id': id, 'name': name, 'text': text, 'schoolid': schoolId, 'type': 'member', 'no': teacherInfo.no, 'userId': teacherInfo.userId, 'schoolname': teacherInfo.schoolname || teacherInfo.schoolName, 'ssbmmc': teacherInfo.ssbmmc, 'ssbm': teacherInfo.ssbm, 'gwfl': teacherInfo.gwfl, 'gwflf': teacherInfo.gwflf, 'jzbm': teacherInfo.jzbm, 'jzbmmc': teacherInfo.jzbmmc, 'text': teacherInfo.text, 'group': group});
$('.select-result-show-body').append('' + Tname + ' 脳 ');
}
}
else { // 鍒犻櫎
if (findIndex(id, TeacherSelect.result) === 0 || findIndex(id, TeacherSelect.result)) {
TeacherSelect.result.splice(findIndex(id, TeacherSelect.result), 1);
}
$('.item-selected-moudel[data-id="'+ id +'"][data-type="teacher"]').remove();
}
}
else if (TeacherSelect.isSelectBar === 'post' && type === 'teacher') { // 宀椾綅闇€瑕佹樉绀哄鏍
if (checked) {
// 杩欓噷闇€瑕佹坊鍔犲幓閲
var hasAdd = false;
var Tname = '';
if (name.indexOf("(") === -1) {
Tname = name
}
else {
Tname = name.slice(0, name.indexOf("("))
}
for (var i = 0; i < TeacherSelect.result.length; i++) {
if (TeacherSelect.result[i].id == id && TeacherSelect.result[i].type === 'member') {
hasAdd = true;
}
}
if (!hasAdd) {
var group = []
if (teacherInfo.ssbmmc) {
group.push(teacherInfo.ssbmmc);
}
if (teacherInfo.jzbmmc) {
group.push(teacherInfo.jzbmmc);
}
TeacherSelect.result.push({ 'id': id, 'name': Tname, 'text': text, 'schoolid': schoolId, 'type': 'member', 'no': teacherInfo.no, 'userId': teacherInfo.userId, 'schoolname': teacherInfo.schoolname || teacherInfo.schoolName, 'ssbmmc': teacherInfo.ssbmmc, 'ssbm': teacherInfo.ssbm, 'gwfl': teacherInfo.gwfl, 'gwflf': teacherInfo.gwflf, 'jzbm': teacherInfo.jzbm, 'jzbmmc': teacherInfo.jzbmmc, 'text': teacherInfo.text, 'group': group});
$('.select-result-show-body').append(''
+ Tname
+ ' (' + teacherInfo.schoolName +') '
+ '脳 ');
}
}
else { // 鍒犻櫎
TeacherSelect.result.splice(findIndex(id, TeacherSelect.result), 1);
$('.item-selected-moudel[data-id="'+ id +'"][data-type="teacher"]').remove();
}
} else if(TeacherSelect.isSelectBar === 'contact' && type === 'contact') {
var parent = $('.select-teacher-contact-tree')
if(parent && parent.children('ul') && parent.children('ul').children('li').attr('data-id') === id) {
var children = parent.children('ul').children('li').children('ul').find('li')
for(var ind = 0 ; ind < children.length; ind++ ) {
if (checked) {
// 杩欓噷闇€瑕佹坊鍔犲幓閲
var hasAdd = false;
var Tname = '';
if (children.eq(ind).attr('data-name').indexOf("(") === -1) {
Tname = children.eq(ind).attr('data-name')
}
else {
Tname = children.eq(ind).attr('data-name').slice(0, children.eq(ind).attr('data-name').indexOf("("))
}
for (var i = 0; i < TeacherSelect.result.length; i++) {
if (TeacherSelect.result[i].id == children.eq(ind).attr('data-id') && TeacherSelect.result[i].type === 'member') {
hasAdd = true;
}
}
if (!hasAdd) {
var group = []
var teacherData = {
id: children.eq(ind).attr('data-id'),
no: children.eq(ind).attr('data-no'),
userId: children.eq(ind).attr('data-userid'),
name: children.eq(ind).attr('data-name'),
schoolId: children.eq(ind).attr('data-school'),
schoolName: children.eq(ind).attr('data-schoolname'),
ssbmmc: children.eq(ind).attr('data-ssbmmc'),
ssbm: children.eq(ind).attr('data-ssbm'),
text: children.eq(ind).attr('data-text'),
gwfl: children.eq(ind).attr('data-gwfl'),
gwflf: children.eq(ind).attr('data-gwflf'),
jzbm: children.eq(ind).attr('data-jzbm'),
jzbmmc: children.eq(ind).attr('data-jzbmmc')?children.eq(ind).attr('data-jzbmmc'):''
}
if (teacherData.ssbmmc) {
group.push(teacherData.ssbmmc);
}
if (teacherData.jzbmmc) {
group.push(teacherData.jzbmmc);
}
TeacherSelect.result.push({ 'id': teacherData.id, 'name': teacherData.name, 'text': teacherData.text, 'schoolid': teacherData.schoolId, 'type': 'member', 'no': teacherData.no, 'userId': teacherData.userId, 'schoolname': teacherData.schoolname || teacherData.schoolName, 'ssbmmc': teacherData.ssbmmc, 'ssbm': teacherData.ssbm, 'gwfl': teacherData.gwfl, 'gwflf': teacherData.gwflf, 'jzbm': teacherData.jzbm, 'jzbmmc': teacherData.jzbmmc, 'text': teacherData.text, 'group': group});
$('.select-result-show-body').append(''
+ Tname
+ ' 脳 ');
}
// checkResultList(id, name, text, schoolId, checked, type, teacherInfo, orgType) {/
}
else { // 鍒犻櫎
if (findIndex(children.eq(ind).attr('data-id'), TeacherSelect.result) === 0 || findIndex(children.eq(ind).attr('data-id'), TeacherSelect.result)) {
TeacherSelect.result.splice(findIndex(children.eq(ind).attr('data-id'), TeacherSelect.result), 1);
$('.item-selected-moudel[data-id="'+ children.eq(ind).attr('data-id') +'"][data-type="teacher"]').remove();
}
}
}
} else {
// 濡傛灉娌℃湁鏁版嵁鎴栬€呮病鏈夎姹傦紝 鍒欒姹傛帴鍙o紝鑾峰彇鏁版嵁
var currentEl = $('.select-contact-tree').find('li[data-id=' + id + ']').find('li')
var ids = []
ids.push(id)
for(var i = 0; i < currentEl.length; i++) {
ids.push(currentEl.eq(i).attr('data-id'))
}
var contactTeaPostData = {
groupId: ids.join(','),
groupType: $('.select-contact-tree').find('li[data-id=' + id + ']').attr('data-gtype'),
name: '',
isSingle: !that.district,
limitUserSchoolId: that.limitUserSchoolId,
selectNodeId: id
}
var contactTeaPostUrl = '/common_selector/address/teachers.do'
commonRequest (contactTeaPostData, contactTeaPostUrl, function(teacherTree) {
if (checked) {
batchAddTeacherToResult(teacherTree.list, checked)
}
else { // 鍒犻櫎
for(var i = 0; i < teacherTree.list.length; i++) {
var temp = $('li[data-id="'+ teacherTree.list[i].id +'"]')
if (temp.children) {
temp.children('input').prop('checked', false)
}
if (findIndex(teacherTree.list[i].id, TeacherSelect.result) === 0 || findIndex(teacherTree.list[i].id, TeacherSelect.result)) {
TeacherSelect.result.splice(findIndex(teacherTree.list[i].id, TeacherSelect.result), 1);
$('.item-selected-moudel[data-id="'+ teacherTree.list[i].id +'"][data-type="teacher"]').remove();
}
}
toTrimData();
}
})
}
} else if(TeacherSelect.isSelectBar === 'depart' && type === 'school') {
var id = id.split('_')[1] || id.split('_')[0]
var s = $('.select-departs-tree').find('li[data-school=' + id + ']')
// 鍚屾鏍圭粨鐐圭殑閫変腑鐘舵€
s.length ? $('.select-departs-tree').find('li[data-id="VirtualRootNode"]').find('input').prop('checked', checked) : ''
if(checked) {
// $('.select-departs-tree').find('li[data-id]=' + id + ']').prop('checked', )
if(s.length > 0) { // 褰撳墠閫変腑瀛︽牎涓庡彸渚ч儴闂ㄥ睘浜庣骇鑱斿叧绯伙紝 涔熷彲鑳芥槸璇ュ鏍′笅娌℃湁閮ㄩ棬
// 鍙充晶鑱斿姩 鍏ㄩ€夌姸鎬侊紝 骞跺皢缁撴灉淇濆瓨鍒皉euslt閲岄潰
for(var i = 0 ;i < s.length; i++) {
s.eq(i).children('input').prop('checked', checked)
// 杩欓噷闇€瑕佹坊鍔犲幓閲
var hasAdd = false;
for (var j = 0; j < TeacherSelect.result.length; j++) {
if (TeacherSelect.result[j].id == s.eq(i).attr('data-id') && TeacherSelect.result[j].schoolId == s.eq(i).attr('data-school')) {
hasAdd = true;
}
}
if (!hasAdd) {
// 灏嗘暟鎹繚瀛樺埌缁撴灉鍒楄〃
TeacherSelect.result.push({'id': s.eq(i).attr('data-id'), 'name': s.eq(i).attr('data-name'), 'schoolId': id, 'type': 'department', 'text': s.eq(i).attr('data-text'), 'schoolid': id, 'schoolname': name});
$('.select-result-show-body').append('' + name + '-' + s.eq(i).attr('data-name') + ' 脳 ');
}
}
} else {
var departPostData = {
deptIds: '',
deptName: '',
schoolId: id
}
var departPostUrl = '/common_selector/departments.do'
commonRequest (departPostData, departPostUrl, function(departTree) {
arrayDeep(departTree, 'depart-school', checked)
})
}
} else {
if(s.length > 0) {
var s = $('.select-departs-tree').find('li[data-school=' + id + ']')
for(var i = 0 ;i < s.length; i++) {
s.eq(i).children('input').prop('checked', checked)
TeacherSelect.result.splice(findIndex(s.eq(i).attr('data-id') , TeacherSelect.result), 1);
$('.item-selected-moudel[data-id="'+ s.eq(i).attr('data-id') +'"][data-type="department"]').remove();
}
} else {
var departPostData = {
deptIds: '',
deptName: '',
schoolId: id
}
var departPostUrl = '/common_selector/departments.do'
commonRequest (departPostData, departPostUrl, function(departTree) {
arrayDeep(departTree, 'depart-school', checked)
})
}
}
}
toTrimData();
};
// 閬嶅巻澶氱淮鏁扮粍锛屽湪閫変腑閫昏緫涓娇鐢
function arrayDeep(data, type, checked) {
if(checked && type === 'depart-school') { // 濡傛灉鏄儴闂ㄧ被鍨嬶紝 骞朵笖鏄€変腑鐘舵€侊紝 娣诲姞
for(var i = 0 ;i < data.children.length; i++) {
// 鎼滅储閮ㄩ棬鏃讹紝浜旈儴闂ㄤ汉鍛樹笉鍋氬睍绀虹粨鏋
if(data.children[i].id !== 'nodeptmentmemberbtnid') {
// 杩欓噷闇€瑕佹坊鍔犲幓閲
var hasAdd = false;
for (var j = 0; j < TeacherSelect.result.length; j++) {
if (TeacherSelect.result[j].id == data.children[i].id && TeacherSelect.result[j].schoolId == data.children[i].attributes.schoolid) {
hasAdd = true;
}
}
if (!hasAdd) {
// 灏嗘暟鎹繚瀛樺埌缁撴灉鍒楄〃
TeacherSelect.result.push({'id': data.children[i].id, 'name': data.children[i].text, 'schoolId': data.children[i].attributes.schoolid, 'type': 'department', 'text': data.children[i].text, 'schoolid': data.children[i].attributes.schoolid, 'schoolname': data.children[i].attributes.schoolName});
$('.select-result-show-body').append('' + data.children[i].attributes.schoolName + '-' + data.children[i].text + ' 脳 ');
}
if(data.children[i].children.length) {
arrayDeep(data.children[i], type, checked)
}
}
}
} else if(!checked && type === 'depart-school') { // 濡傛灉鏄儴闂ㄧ被鍨嬶紝 骞朵笖涓洪潪閫変腑鐘舵€侊紝 鍒犻櫎
for(var i = 0 ;i < data.children.length; i++) {
var ind = findIndex(data.children[i].id, TeacherSelect.result) || -1
if(ind > -1) {
TeacherSelect.result.splice(findIndex(data.children[i].id, TeacherSelect.result), 1);
}
$('.item-selected-moudel[data-id="'+ data.children[i].id +'"][data-type="department"]').remove();
if(data.children[i].children.length) {
arrayDeep(data.children[i], type, checked)
}
}
}
toTrimData();
}
/*
* 閫氱敤鑾峰彇鏁扮粍瀵瑰簲鐨勫€肩殑index
*/
function findIndex (id, arr) {
for (var i = 0; i < arr.length; i++) {
if (arr[i].id == id) {
return i;
}
}
};
/***
** 鐐瑰嚮鑳跺泭鐨剎鍒犻櫎璇om鍏冪礌鍜宺esult閲屽搴旂殑鍊
****/
function removeSelected() { // 绉婚櫎宸查€夋嫨鐨勭粨鏋滀腑鐨勬煇涓€椤
$('body').on('click', '.delete-select-icon', function(event) {
var id = $(this).parent('span').attr('data-id'),
name = $(this).parent('span').attr('data-name'),
schoolId = $(this).parent('span').attr('data-schoolid'),
type = $(this).parent('span').attr('data-type');
if (type === 'subject') { // 瀛︾杩欓噷鍒犻櫎涓€涓兌鍥婂苟涓嶄細瑙﹀彂澶嶉€夋鐨勫彇娑堬紝 鍙湁鍦ㄦ墍鏈夌殑璇d鍏ㄩ儴鍒犻櫎鍚庢墠浼氳Е鍙戝閫夋鐨勫彇娑
var hasSubject = false;
var hasSchool = false;
$(this).parent('span').remove();
result.splice(findIndex(id, result), 1);
$.each(result, function(i, result) { // 鍒ゆ柇鍒犻櫎涓€涓兌鍥婂悗鏄惁杩樺瓨鍦ㄤ笌淇濆瓨鐨勫绉戜笌瀛︽牎鏁扮粍涓浉鍚岀殑id 娌℃湁鍒欒Е鍙戝彇娑堥€夋嫨鐘舵€佺殑瀛︾鎴栧鏍
if (result.type === 'subject') {
if (result.subjectId == id) {
hasSubject = true;
}
if (result.schoolId == schoolId) {
hasSchool = true;
}
}
})
if (!hasSubject) {
TeacherSelect.subjectCheckedList.splice(findIndex(id, TeacherSelect.subjectCheckedList), 1);
$('li[data-id="' + id + '"][data-type="subject"]').children('input').prop("checked", false);
changeParentSelected($('li[data-id="' + id + '"][data-type="subject"]').children('input'), id, false);
}
if (!hasSchool) {
TeacherSelect.subjectSchoolCheckedList.splice(findIndex(id, TeacherSelect.subjectSchoolCheckedList), 1);
$('li[data-id="' + schoolId + '"][data-type="school"]').children('input').prop("checked", false);
changeParentSelected($('li[data-id="' + schoolId + '"][data-type="school"]').children('input'), schoolId, false);
}
}
else {
// 绉婚櫎褰撳墠鑳跺泭
if (type == 'structure') {
$('.item-selected-moudel[data-id="'+ id +'"][data-type="' + type + '"]').remove();
TeacherSelect.result.splice(findIndex(id, TeacherSelect.result), 1);
$('li[data-id="' + id + '"][data-type="' + type + '"]').children('input').prop("checked", false);
}
else {
$('.item-selected-moudel[data-id="'+ id +'"][data-type="' + type + '"][data-schoolid="' + schoolId + '"]').remove();
// 濡傛灉鍒犻櫎鐨勬暀甯
if (type === 'teacher') {
var deleteTea = {}
$.each(TeacherSelect.result, function (i, result) {
if (result.id == id) {
deleteTea = result
}
})
$('li[data-id="' + id + '"][data-type="' + type + '"]').children('input').prop("checked", false);
TeacherSelect.result.splice(findIndex(id, TeacherSelect.result), 1);
}
else {
// 绉婚櫎TeacherSelect.result閲岄潰瀵瑰簲鐨勯」
$('li[data-id="' + id + '"][data-type="' + type + '"]').children('input').prop("checked", false);
TeacherSelect.result.splice(findIndex(id, TeacherSelect.result), 1);
}
// 鏀瑰彉鐐瑰嚮鐨刬d瀵瑰簲鐨刣om閫変腑鐘舵€
if(type === 'department') {
schoolId = schoolId.split('_').length > 1 ? schoolId.split('_')[1] : schoolId
}
$('li[data-id="' + id + '"][data-type="' + type + '"][data-school="' + schoolId + '"]').children('input').prop("checked", false);
changeParentSelected($('li[data-id="' + id + '"][data-type="' + type + '"][data-school="' + schoolId + '"]').children('input'), $(this).parent('span').attr('data-id'), false, schoolId);
// 濡傛灉鏄鏍¢€夋嫨闈㈡澘1
if (type === 'school') {
var schoolItem = $('#select-school_1-moudel-content li[data-schoolid="' + schoolId + '"]');
if (schoolItem.length > 0) {
schoolItem.find('input').prop("checked", false);
schoolItem.siblings('[data-type=all]').find('input').prop("checked", false);
}
}
}
}
toTrimData();
})
};
/**
* 閫氱敤杩囨护鍣ㄩ€夋嫨
**/
function commonfilterMsg() {
$('body').on('click', '.can-select-school', function () {
var selectItemType = $(this).parent('li').attr('data-type')
if (selectItemType === 'school') {
$(this).parents('#select-'+ TeacherSelect.isSelectBar +'-moudel-content').find('span').removeClass('school-selected');
$(this).addClass('school-selected');
// 缁欓€夋嫨閮ㄩ棬鍜岄€夋嫨鏁欏笀璧嬪€煎鏍
var schoolName = $(this).parent('li').attr('data-name');
var schoolId = $(this).parent('li').attr('data-id');
}
else if (selectItemType === 'depart' || selectItemType === 'department') {
if (TeacherSelect.isSelectBar === 'depart') { // 閮ㄩ棬鐩存帴閫夛紝涓嶅厑璁哥偣鍑
return;
}
$(this).parents('#select-'+ TeacherSelect.isSelectBar +'-moudel-content').find('span').removeClass('depart-selected');
$(this).addClass('depart-selected');
var departId = $(this).parent('li').attr('data-id');
if (departId === "VirtualRootNode") {
// 鏌ヨ閮ㄩ棬鐨勬牴鍩虹洰褰曞鏍″皢閮ㄩ棬id缃┖
departId = ''
}
else {
var departName = $(this).parent('li').attr('data-name');
if ($(this).siblings('ul').length > 0) {
// 鍚屾椂灏嗚鍏冪礌涓嬬殑瀛愰儴闂ㄨ幏鍙
for (var i = 0; i < $(this).siblings('ul').find('li').length; i++) {
departId = departId + ',' + $(this).siblings('ul').find('li').eq(i).attr('data-id')
}
}
}
}
else if (selectItemType === 'post') {
$(this).parents('#select-'+ TeacherSelect.isSelectBar +'-moudel-content').find('span').removeClass('post-selected');
$(this).addClass('post-selected');
var postId = $(this).parent('li').attr('data-id');
var postName = $(this).parent('li').attr('data-name');
if (postId === 'VirtualRootNode') {
postId = ''
}
}
if (TeacherSelect.isSelectBar === 'depart' && schoolId) {
$('#search-departs-input').val('');
TeacherSelect.departSchool = {schoolId: schoolId, schoolName: schoolName};
// 鏍规嵁瀛︽牎ID璇锋眰瀵瑰簲瀛︽牎涓嬬殑閮ㄩ棬
// 璋冪敤鑾峰彇閮ㄩ棬鎺ュ彛
toShowDepartTrees(schoolId, '', 'depart');
$('#select-depart-moudel-content .select-center-line').show()
$('#select-departs-moudel-main').show()
}
else if (TeacherSelect.isSelectBar === 'teacher') {
if (selectItemType === 'school') {
if (schoolId) { // 閮ㄩ棬锛岀偣鍑婚儴闂ㄧ殑鏃跺€欐病鏈塻choolId
$('#search-teacher-input').val('');
$('#search-departs-input').val('');
// 灏嗛儴闂↖D缃┖
departId = ''
TeacherSelect.departSchool = { schoolId: schoolId, schoolName: schoolName };
TeacherSelect.teacherSchool = { schoolId: schoolId, schoolName: schoolName };
// 鏍规嵁瀛︽牎ID璇锋眰瀵瑰簲瀛︽牎涓嬬殑鏁欏笀
// 璋冪敤鑾峰彇鏁欏笀鎺ュ彛
toShowDepartTrees(schoolId, '', 'teacher');
// 灏嗗鏍$殑鎵€鏈夋暀甯堢紦瀛
toShowTeacherTrees(schoolId, '', '', false, '');
$('#select-depart-moudel-main').show()
$('#select-teacher-moudel-content .select-center-line').show()
$('#select-teacher-moudel-main').show()
}
}
else if (selectItemType === 'depart' || selectItemType === 'department') {
$('#search-teacher-input').val('');
if (departId !== 'VirtualRootNode') {
TeacherSelect.teacherDepart = {departId: departId, departName: departName};
}
// 杩欓噷寰呭鐞嗛粯璁ら€変腑鐨勫鏍d
toShowTeacherTrees(TeacherSelect.teacherSchool.schoolId, '', departId, false, '');
}
}
else if (TeacherSelect.isSelectBar === 'post') {
if (selectItemType === 'school') {
var selectDis = $(this).hasClass('post-structure-select') || false
postId = ''
$('#search-post-input').val('');
$('#search-post-teacher-input').val('');
TeacherSelect.postSchool = {schoolId: schoolId, schoolName: schoolName, selectDis: selectDis};
// 杩欓噷寰呭鐞嗛粯璁ら€変腑鐨勫鏍d
TeacherSelect.postTeacher = {}
toShowPostTrees(TeacherSelect.postSchool.schoolId, false, '', selectDis)
// toShowPostTeacherTrees(TeacherSelect.postSchool.schoolId, '', '', selectDis)
$('#select-post-moudel-main').show()
$('#select-post-moudel-content .select-center-line').show()
$('#select-post-teacher-moudel-main').hide()
$('.select-post-teacher-tree').children('ul').remove();
}
else if (selectItemType === 'post') {
$('#search-post-teacher-input').val('');
var selectDis = TeacherSelect.postSchool.selectDis || false
if (postId !== 'VirtualRootNode') {
TeacherSelect.postTeacher = {postId: postId, postName: postName, selectDis: selectDis};
}
// 杩欓噷寰呭鐞嗛粯璁ら€変腑鐨勫鏍d
$('#select-post-teacher-moudel-main').show()
toShowPostTeacherTrees(TeacherSelect.postSchool.schoolId, postId, '', selectDis)
}
}
else if (TeacherSelect.isSelectBar === 'contact') {
$('#search-teacher-contact-input').val('');
$('.contact-selected').removeClass('contact-selected')
$(this).addClass('contact-selected')
var groupId = $(this).parent('li').attr('data-id'),
groupName = $(this).parent('li').attr('data-name'),
groupType = $(this).parent('li').attr('data-gtype');
var lis = $(this).parent('li').find('li')
var ids = []
ids.push(groupId)
for(var i = 0; i < lis.length; i++) {
ids.push(lis.eq(i).attr('data-id'))
}
contactGroup = {groupId: ids.join(','), groupName: groupName, groupType: groupType};
$('#select-teacher-contact-moudel-main').show();
$('#select-teacher-contact-moudel-main').siblings('.select-center-line').css('height', '100%')
toShowContactTeacherTrees(groupId, groupType, '');
}
// 鏀瑰彉褰撳墠宸查€変腑鐨剆choolId 骞惰皟鐢ㄦ帴鍙h姹傚彸杈圭殑閮ㄩ棬
});
};
// 鍏辩敤鐨勬悳绱㈠姛鑳
function searchCommon() {
var pattern = new RegExp("[~'!@#$%^&*()-+_=:]");
$(document).keyup(function(event){ // 鍥炶溅鏌ヨ
if(event.keyCode ==13){
if(pattern.test($(document.activeElement).val())){
$(document.activeElement).val('');
$(document.activeElement).parent('.common-search-main').append('闈炴硶瀛楃锛?/span>')
setTimeout(function() {
$('.error-input-tip').remove()
}, 1000)
return false;
}
else {
commonSelect($(document.activeElement).val(), $(document.activeElement).attr('data-type'))
}
}
});
$('body').on('click', '.common-search-button', function(){ // 鐐瑰嚮鏌ヨ
if(pattern.test($(this).siblings('input').val())){
$(this).siblings('input').val('');
$(this).parent('.common-search-main').append('闈炴硶瀛楃锛?/span>')
setTimeout(function() {
$('.error-input-tip').remove();
}, 1000)
return false;
}
else {
commonSelect($(this).siblings('input').val(), $(this).siblings('input').attr('data-type'))
}
});
// 鎼滅储瑙﹀彂鐨勬柟娉
function commonSelect(value, type) {
var inputValue = value,
inputType = type;
// 瀛︽牎妯″潡瀛︽牎鎼滅储
if (TeacherSelect.isSelectBar === 'school' && inputType === 'school') {
toShowSchoolTrees($('.select-schools-tree'), inputValue, true, 'school');
}
else if (TeacherSelect.isSelectBar === 'school_1' && inputType === 'school') {
getLabelSchoolList(inputValue);
}
// 鑷畾涔夊垎缁勬悳绱
else if (TeacherSelect.isSelectBar === 'customGroup' && inputType === 'school') {
showCustomGroupSchools('', '鍏ㄩ€?, 0, inputValue);
}
// 閮ㄩ棬妯″潡
else if (TeacherSelect.isSelectBar === 'depart') {
// 鎼滅储瀛︽牎
if (inputType === 'school-depart') {
var hasCheck = value.trim().length
toShowSchoolTrees($('.select-depart-schools-tree'), inputValue, hasCheck, 'depart');
}
// 鎼滅储閮ㄩ棬
else if (inputType === 'depart') {
var did = TeacherSelect.mySchool.id
if (TeacherSelect.departSchool.schoolId) {
did = TeacherSelect.departSchool.schoolId
}
toShowDepartTrees(did, inputValue, 'depart');
}
}
// 鏁欏笀妯″潡
else if (TeacherSelect.isSelectBar === 'teacher') {
// 鎼滅储瀛︽牎
if (inputType === 'school-teacher') {
toShowSchoolTrees($('.select-teacher-schools-tree'), inputValue, false, 'teacher');
}
// 鎼滅储閮ㄩ棬
else if (inputType === 'school-dept-teacher') {
var did = TeacherSelect.mySchool.id
if (TeacherSelect.departSchool.schoolId) {
did = TeacherSelect.departSchool.schoolId
}
toShowDepartTrees(did, inputValue, 'teacher');
}
// 鎼滅储鏁欏笀
else if (inputType === 'teacher') {
var tid = TeacherSelect.mySchool.id
var depId = TeacherSelect.teacherDepart.departId
if (TeacherSelect.teacherSchool.schoolId) {
tid = TeacherSelect.teacherSchool.schoolId
}
if ($('#teacher-select-from-all').prop("checked")) {
// 鍏ㄥ尯鎼滅储
toShowTeacherTrees(tid, inputValue, '', true, that.rolemarks);
}
else {
toShowTeacherTrees(tid, inputValue, depId, false, '');
}
}
}
// 鍗曚綅缁勬ā鍧
else if (TeacherSelect.isSelectBar === 'organ') {
// 鎼滅储瀛︽牎
if (inputType === 'school-teacher') {
getLabelSchoolList(inputValue);
}
// 鎼滅储鏁欏笀
else if (inputType === 'teacher') {
var tid = TeacherSelect.mySchoolOriginId || TeacherSelect.mySchool.id
// var depId = TeacherSelect.teacherDepart.departId
// if (TeacherSelect.teacherSchool.schoolId) {
// tid = TeacherSelect.teacherSchool.schoolId
// }
if ($('#teacher-select-from-all-organ').prop("checked")) {
// 鍏ㄥ尯鎼滅储
toShowOrganTeacherTrees(tid, inputValue, '', true, that.rolemarks, '鎼滅储缁撴灉');
}
else {
toShowOrganTeacherTrees(tid, inputValue, '', false, '', '鎼滅储缁撴灉');
// 鍦ㄥ崟浣嶉€氳閲岄潰灏辨病鏈夐儴闂ㄨ繖涓暟鎹
// toShowOrganTeacherTrees(tid, inputValue, depId, false, '', '鎼滅储缁撴灉');
}
}
}
// 宀椾綅妯″潡
else if (TeacherSelect.isSelectBar === 'post') {
// 鎼滅储瀛︽牎
if (inputType === 'school-post') {
toShowSchoolTrees($('.select-post-schools-tree'), inputValue, false, 'post');
}
// 鎼滅储宀椾綅
else if (inputType === 'post') {
var postDid = TeacherSelect.mySchool.id
var selectDis = TeacherSelect.postSchool.selectDis || false
if (TeacherSelect.postSchool.schoolId) {
postDid = TeacherSelect.postSchool.schoolId
}
toShowPostTrees(postDid, false, inputValue, selectDis);
}
// 鎼滅储鏁欏笀
else if (inputType === 'post-teacher') {
var tid = TeacherSelect.mySchool.id
var postId = ''
var selectDis = TeacherSelect.postTeacher.selectDis || false
if (TeacherSelect.postSchool.schoolId) {
tid = TeacherSelect.postSchool.schoolId
}
if (TeacherSelect.postTeacher.postId) {
postId = TeacherSelect.postTeacher.postId
}
toShowPostTeacherTrees(tid, postId, inputValue, selectDis);
}
}
// 閫氳褰曟ā鍧
else if (TeacherSelect.isSelectBar === 'contact' && inputType === 'contact') {
toShowContactTeacherTrees(contactGroup.groupId, contactGroup.groupType, inputValue, 'search')
}
// 瀛︾妯″潡
else if (TeacherSelect.isSelectBar === 'subject' && inputType === 'school-subject') {
toShowSchoolTrees($('.select-subject-schools-tree'), inputValue, true, 'subject');
}
}
};
// 鍏辩敤鐨勫皢閫夋嫨鐨勭粨鏋滃垎绫绘暣鐞嗘垚鏈€缁堢殑杩斿洖缁撴瀯selectResult
function toTrimData() {
TeacherSelect.selectResult = TeacherSelect.result.map(function (r) {
if (r.jzbmmc === null || r.jzbmmc === 'null' || r.jzbmmc === 'undefined' || r.jzbmmc === undefined) {
r.jzbmmc = ''
}
if (r.ssbmmc === null || r.ssbmmc === 'null' || r.ssbmmc === 'undefined' || r.ssbmmc === undefined) {
r.ssbmmc = ''
}
return r
})
filterBackResult(TeacherSelect.result)
};
// 鐐瑰嚮纭鎸夐挳浜嬩欢
function toBackResult() {
$('body').on('click', '#select-sure-btn', function() {
toTrimData();
// 璁╃粍浠堕殣钘
closeSelectPop()
saveSelectDate()
sureBackResult(TeacherSelect.selectResult)
// that.callback(TeacherSelect.backResult);
})
// 鍏抽棴閫変汉鎺т欢
// $('body').on('click', '#common-district-select-teach-shade', function() {
// closeSelectPop()
// })
$('body').on('click', '#select-cancal-btn', function() {
closeSelectPop()
})
$('body').on('click', '.common-select-headers-close', function() {
closeSelectPop()
})
function closeSelectPop() {
TeacherSelect.subjectCheckedList = []
TeacherSelect.subjectSchoolCheckedList = []
$('#common-district-select-teach-main').remove()
$('#common-district-select-teach-shade').remove()
$('#common-district-select-teach-style').remove()
}
};
// 鐐瑰嚮淇濆瓨鍒伴€氳褰曢噷鐨勪繚瀛樻寜閽Е鍙戠殑浜嬩欢
function toSaveContact() {
$('body').on('click', '#save-contact-sure-btn', function() {
var pattern = new RegExp("[~'!@#$%^&*()-+_=:]");
if ($(".save-contact-input input").val() !== "" && $(".save-contact-input input").val() !== null) {
if(pattern.test($(".save-contact-input input").val())){
showMessage('error', '涓嶅彲杈撳叆闈炴硶瀛楃锛?);
$(".save-contact-input input").attr("value","");
$(".save-contact-input input").focus();
return false;
}
else {
toTrimData();
var name = $('.save-contact-input input').val();
$('#save-contact-sure-btn').prop('disabled', true)
$('#save-contact-sure-btn').addClass('disabled-btn')
// $('#save-contact-sure-btn').css({'background-color': '#ccc', 'border-color': '#ccc'})
showMessage('warning', '姝e湪淇濆瓨涓紝璇风◢绛墌')
var saveData = {
groupName: name,
data: JSON.stringify(TeacherSelect.selectResult)
}
var saveUrl = '/common_selector/address/save.do'
commonRequest(saveData, saveUrl, function(callback){
$('#save-contact-sure-btn').prop('disabled', false)
$('#save-contact-sure-btn').removeClass('disabled-btn')
if (callback.success) {
TeacherSelect.isChangeContact = true
showMessage('success', callback.msg)
}
else {
showMessage('error', callback.msg)
}
});
}
}
else {
showMessage('error', '鍚嶅瓧涓嶅厑璁镐负绌猴紒');
$(".save-contact-input input").focus();
}
})
};
// 灞曠ず鍥炶繑鏁版嵁
function showHasSelect() {
// loading 鍔犺浇
$('.result-loading').show()
var teacher = TeacherSelect.backTeacher
var group = TeacherSelect.backGroup
var sbackDate = {
teacher: JSON.stringify(teacher),
group: JSON.stringify(group),
idType: that.dataType
}
var sbackUrl = '/common_selector/echo/list.do'
commonRequest(sbackDate, sbackUrl, function (data) {
var hasSelectData = data.data
var old = hasSelectData
that.oldMes = that.oldMes.concat(old)
TeacherSelect.result = hasSelectData
// 鐩戝惉缁撴灉闆嗙殑鍙樺寲
TeacherSelect.selectResult = hasSelectData;
watchResultChange(true);
filterBackResult(data.data)
$('.result-loading').hide()
// hasSelectData 涔嬪墠閫変腑鐨刬d瀵瑰簲杩斿洖鐨勫畬鏁存暟鎹
if (hasSelectData && hasSelectData.length > 0) {
$.each(hasSelectData, function(i, itemData) {
if (itemData.type === 'member') {
var Tname = ''
if (itemData.name.indexOf("(") === -1) {
Tname = itemData.name
}
else {
Tname = itemData.name.slice(0, itemData.name.indexOf("("))
}
$('.select-result-show-body').append('' + Tname + ' 脳 ');
// result.push({'id': teacher.id, 'name': teacher.name, 'schoolId': teacher.schoolId, 'type': 'teacher', 'no': teacher.no, 'userId': teacher.userId, 'schoolName': teacher.schoolName, 'ssbmmc': teacher.ssbmmc, 'ssbm': teacher.ssbm});
}
else if (itemData.type === 'school') {
$('.select-result-show-body').append('' + itemData.text + ' 脳 ');
}
else if (itemData.type === 'department') {
$('.select-result-show-body').append('' + itemData.schoolname + '-' + itemData.text + ' 脳 ');
}
else if (itemData.type === 'structure') {
$('.select-result-show-body').append('' + itemData.text + ' 脳 ');
}
// else if (itemData.type === 'post') {
// $('.select-result-show-body').append('' + itemData.name + ' 脳 ');
// }
})
}
})
};
/**
* 鐩戝惉閫夋嫨缁撴灉闆嗘暟缁勭殑鍙樺寲锛屽悓姝ュ皢鍏跺彉鍖栨斁鍏ュ凡閫夌粨鏋滅殑鎬婚泦鍚堜腑
*/
function watchResultChange (flag) {
var d = debounce(updateTotalInfo, 400);
TeacherSelect.result.push = function () {
Array.prototype.push.apply(TeacherSelect.result, arguments);
d.debounced();
}
TeacherSelect.result.splice = function () {
Array.prototype.splice.apply(TeacherSelect.result, arguments);
d.debounced();
}
if (flag) {
d.debounced()
}
}
// 闇€瑕佸鐞嗘壒閲忔坊鍔犵殑鏃跺€欏ぇ閲忚Е鍙戣鏂规硶鐨勯棶棰橈紝
function updateTotalInfo () {
// console.log('update', TeacherSelect.result.length)
// member,post琚涓烘槸浜
// department閮ㄩ棬
// school鏄鏍
var schoolNumber = 0, departNumber = 0, memberNumber = 0;
TeacherSelect.result.forEach(function (item) {
switch (item.type) {
case 'member':
case 'post':
memberNumber++;
break;
case 'school':
schoolNumber++;
break;
case 'department':
departNumber++;
break;
default:
console && console.log('other type ' + item.type)
}
})
var html = '' +
(memberNumber ? memberNumber + '涓敤鎴? : '') +
' ' +
'' +
(departNumber ? departNumber + '涓儴闂? : '') +
' ' +
'' +
(schoolNumber ? schoolNumber + '涓鏍? : '') +
' ';
$('#result-total-info').html(html);
}
function debounce (fn, timer) {
var t;
return {
debounced: function () {
if (t) {
clearTimeout(t)
}
t = setTimeout(function () {
fn()
}, timer)
}
}
}
// 灏唖howHasSelect 杩斿洖鐨勬暟鎹垎绫诲鐞
function filterBackResult (data) {
TeacherSelect.filterResult.teachers = []
TeacherSelect.filterResult.school = []
TeacherSelect.filterResult.department = []
TeacherSelect.filterResult.post = []
TeacherSelect.filterResult.structure = []
if (data.length > 0) {
$.each(data, function (i, item) {
if (item.type === 'member') {
TeacherSelect.filterResult.teachers.push(item)
}
else if (item.type === 'school') {
TeacherSelect.filterResult.school.push(item)
}
else if (item.type === 'department') {
TeacherSelect.filterResult.department.push(item)
}
else if (item.type === 'post') {
TeacherSelect.filterResult.post.push(item)
}
else if (item.type === 'structure') {
TeacherSelect.filterResult.structure.push(item)
}
})
}
}
/**
**** 淇濆瓨鍒伴€氳褰曠殑鎿嶄綔
**/
function saveToContactBtn() {
// 鐐瑰嚮淇濆瓨閫氳褰曟寜閽
$('body').on('click', '#save-select-book', function() {
toShowSaveContent(true);
})
$('body').on('click', '#close-save-contact', function() {
toShowSaveContent(false);
})
$('body').on('click', '#save-contact-cancal-btn', function() {
toShowSaveContent(false);
})
$('body').on('click', '.save-body-shade', function() {
toShowSaveContent(false);
})
function toShowSaveContent(isShow) {
if (isShow) {
$('#save-contact-moudel').animate({
height: '100%'
}, 200);
$('#save-contact-main').show();
}
else {
$('#save-contact-moudel').animate({
height: '0%'
}, 200);
$('#save-contact-main').hide();
$(".save-contact-input input").attr("value","");
$('#save-contact-sure-btn').prop('disabled', false)
$('#save-contact-sure-btn').removeClass('disabled-btn')
$('#common-message').animate({
opacity: '0'
}, 200)
$('.save-contact-input input').css('border-color', '#ccc')
$('#common-message').css('opacity', '0')
}
}
};
// 鐐瑰嚮纭畾鎸夐挳灏嗘墍閫夋嫨鐨勬暟鎹繘琛屼繚瀛
function saveSelectDate() {
if (that.resultid !== '' && that.resultid !== null) {
var sData = {
resultid: that.resultid,
resultjson: JSON.stringify(TeacherSelect.selectResult)
}
var sUrl = '/common_selector/teacherSelectedResult/save.do'
commonRequest(sData, sUrl, function (backDate) {
})
}
}
// 灞曠ず鎻愮ず淇℃伅
function showMessage(status, text) {
$('#common-message span').html(text)
if (status === 'success') {
$('#common-message > span').css('color', '#468847')
// 鎴愬姛鍚庡皢鍏ㄥ眬鐨刬sChangeContact 鏀逛负true: 閫氳褰曟洿鏂伴渶瑕侀噸鏂拌姹
// isChangeContact = true
}
else if (status === 'error') {
$('.save-contact-input input').css('border-color', '#b94a48')
$('#common-message > span').css('color', '#b94a48')
}
else if (status === 'warning') {
$('#common-message > span').css('color', '#3a87ad')
}
$('#common-message').animate({
opacity: '1'
}, 200)
setTimeout(function() {
if (status === 'success') {
$(".save-contact-input input").attr("value","");
$('#save-contact-moudel').animate({
height: '0'
}, 200);
$('#save-contact-main').hide();
$('.save-contact-input input').css('border-color', '#ccc')
$('#common-message').css('opacity', '0')
toShowSelectBodys('contact')
}
}, 1000)
// if (status !== 'warning') {
// setTimeout(function(){
// $('#common-message').animate({
// opacity: '0'
// }, 200)
// }, 2000)
// }
};
// 鍒ゆ柇涔嬪墠鏄惁瀹氫箟杩囦簡鏂规硶
if (window.hasOpen) {
}
else {
window.hasOpen = true
inIt()
};
//鍒濆鍖栨柟娉
function inIt() {
expandedTree()
showMoreSchool()
selectDistrict()
selectInputCheckTogger()
removeSelected()
commonfilterMsg()
searchCommon()
toBackResult()
toSaveContact()
saveToContactBtn()
};
// 鑾峰彇瀛︾锛堟殏鏈娇鐢級
function getSubjectTrees(callback){
$.ajax({
url: '/selector/subjects.do',
type: "post",
// headers: {
// 'Authorization': "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJhMzQ4NWE5MDNjOTA0YzMyYjMwNjNhMTk5MzUwZTZiYSIsImlhdCI6MTUyNjcxNDQ2OCwiZXhwIjoxNTI3MzE5MjY4fQ.sEp-sQmC0MGCM1PeLoDlI_C1jk9iqA61aXgOdNjVe4M"
// },
dataType: 'JSON',
data: {
},
success: function (data) {
callback(data);
}
})
};
/*
* 鍏辩敤鐨勮姹
* data: object璇锋眰鍙傛暟
* url: string璇锋眰url
* callback: 璇锋眰杩斿洖鐨勬暟鎹
*/
function commonRequest (data, url, callback, errorback) {
// if (!hasRequesting) {
var prefix = '?_time=' + new Date().getTime();
url = url + prefix
// hasRequesting = true
$.ajax({
url: url,
type: "post",
dataType: 'JSON',
data: data,
success: function (data) {
callback(data);
// hasRequesting = false
},
error: function (data) {
errorback()
}
})
// }
};
};
});