assess_ranking.js 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692
  1. $(function () {
  2. setVisit();
  3. var road_manager;
  4. if(roleContains("STATION")){
  5. road_manager = getCurrentUser().road_manager_id;
  6. }
  7. if(roleContains("ROAD_MANAGER")){
  8. road_manager = getCurrentUser().organid;
  9. }
  10. setRoadManagerSelect("#center-manager",road_manager,true);
  11. if(road_manager){
  12. var dept;
  13. if(roleContains("STATION")){
  14. dept = getCurrentUser().organid;
  15. }
  16. var feeList = cache_road_manager_fee_list_map.get(road_manager);
  17. // $("#fsList").html(obj);
  18. setRoadManagerValue(feeList,"#fsList",dept,true);
  19. // $("#fsList").val(dept);
  20. // 初始化查询
  21. initQueryEmp(road_manager,dept);
  22. }else{
  23. // 初始化查询
  24. initQueryEmp(null,null);
  25. }
  26. // 道管中心选择变化
  27. $("#center-manager").change(function () {
  28. $("#fsList").empty();
  29. if (GV(this) != '') {
  30. getFsStationList(GV(this), function (options) {
  31. $("#fsList").append(options);
  32. var dept;
  33. if(roleContains("STATION")){
  34. dept = getCurrentUser().organid;
  35. }
  36. $("#fsList").val(dept);
  37. });
  38. }
  39. })
  40. // end
  41. })
  42. function queryEmpClick() {
  43. //每次点击前清空表格数据
  44. $(".table-tbody").empty('');
  45. var start_date = $("#start-time").val();
  46. var end_date = $("#end-time").val();
  47. var start_score = $("#start-score").val();
  48. var end_score = $("#end-score").val();
  49. var start_num = $("#start-num").val()!=''? $("#start-num").val(): 0 ;
  50. var end_num = $("#end-num").val()!=''?$("#end-num").val() : 100 ;
  51. var flag = param_method(start_score, end_score);
  52. if (flag == false) {
  53. return;
  54. }
  55. if (start_date == '' || end_date == '') {
  56. tip("请选择起止日期");
  57. return;
  58. } else {
  59. start_date += " 23:00:00";
  60. end_date += " 23:00:00";
  61. }
  62. var startStr = start_date.replace(/-/g, '/');
  63. var endStr = end_date.replace(/-/g, '/');
  64. var start = new Date(startStr);
  65. //开始日期取前一天的23:00
  66. start.setDate(start.getDate() - 1);
  67. start_date = start.Format("yyyy-MM-dd HH:mm:ss");
  68. var end = new Date(endStr);
  69. if (start > end) {
  70. tip("开始时间不能比结束时间大");
  71. return;
  72. }
  73. var param = {
  74. "parent_dept_id": GV("#center-manager"),
  75. "dept_id": GV("#fsList"),
  76. "start_date": start_date,
  77. "end_date": end_date,
  78. }
  79. var url = "statistics/employee/order";
  80. getEmployeeInfosClick(url, param, start_score, end_score,start_num,end_num)
  81. }
  82. function initQueryEmp(parent_dept_id,dept_id) {
  83. //默认初始化前一周查所有
  84. var endD = new Date();
  85. var now = new Date();
  86. var startD = new Date(now.getTime() - 7 * 24 * 3600 * 1000);
  87. var start_time = startD.getFullYear() + "-" + (startD.getMonth()) + "-26";
  88. var end_time = endD.getFullYear() + "-" + (endD.getMonth() + 1) + "-25" ;
  89. var start_score = $("#start-score").val();
  90. var end_score = $("#end-score").val();
  91. var start_num = $("#start-num").val()!=''? $("#start-num").val(): 0 ;
  92. var end_num = $("#end-num").val()!=''?$("#end-num").val() : 100 ;
  93. setJobSelect("#jobSelect");
  94. //默认初始化时间页面回显
  95. $("#start-time").val(start_time);
  96. $("#end-time").val(end_time);
  97. var start_date = start_time + " 23:00:00";
  98. var end_date = end_time + " 23:00:00";
  99. var start = new Date(start_date);
  100. //开始日期取前一天的23:00
  101. start.setDate(start.getDate() - 1);
  102. start_date = start.Format("yyyy-MM-dd HH:mm:ss");
  103. // alert("dd");
  104. var param = {
  105. "parent_dept_id": parent_dept_id,
  106. "dept_id": dept_id,
  107. "start_date": start_date,
  108. "end_date": end_date,
  109. }
  110. var url = "statistics/employee/order";
  111. getEmployeeInfosClick(url, param, start_score, end_score,start_num,end_num);
  112. }
  113. /**
  114. * click
  115. * @param {*} url
  116. * @param {*} param
  117. */
  118. function getEmployeeInfosClick(url, param, start_score, end_score,start_num,end_num) {
  119. post_common_service(url, param, function (data) {
  120. var strTbody = '';
  121. var count = 0;
  122. for (var i = 0; i < data.length; i++) {
  123. var score = 1000 - filterByZeroHandle(average(data[i]).toFixed(2), '0');
  124. var check_number = filter(data[i].checked_num, '0');
  125. var flag = judgeParamFilter(data, i, score, start_score, end_score,check_number,start_num,end_num)
  126. if (flag) {
  127. html = "";
  128. if(hasRole(ROLE_JICHA_ADMIN) || hasRole(ROLE_ADMIN)){
  129. html += "<button id=\"user_" + data[i].user.id + "\" onClick='addTask(" + data[i].user.id + ",\"" + data[i].user.truename + "\",\"" + param.start_date + "\",\"" + param.end_date + "\")' class=\"btn\" style='margin-left: 10px;padding: 0px;border: 0;background: none;' type=\"button\"><i class=\"icon icon-plus-sign\"></i></button>"
  130. }
  131. strTbody += "<tr><td width='4%;'>" + (count + 1) + "</td><td width='6%;'>" + data[i].user.fee_station_name + "</td>"
  132. + "<td width='6%;'>" + data[i].user.truename + "</td><td width='6%;'>" + data[i].user.position_name + "</td>"
  133. + "<td width='6%;'>" + data[i].user.workno + "</td><td width='4%;'>" +filter( data[i].company_ranking,'/') + "</td>"
  134. + "<td width='4%;'>" + filter(data[i].center_ranking,'/') + "</td><td width='4%;'>" + filter(data[i].fee_station_ranking ,'/')
  135. + "</td><td width='4%;'>" + getItemScore(data[i], '环境') + "</td>"
  136. + "<td width='4%;'>" + getItemScore(data[i], '仪容仪表') + "</td><td width='4%;'>" + getItemScore(data[i], '表情') + "</td>"
  137. + "<td width='4%;'>" + getItemScore(data[i], '动作') + "</td><td width='4%;'>" + getItemScore(data[i], '文明用语') + "</td>"
  138. + "<td width='4%;'>" + getItemScore(data[i], '工作纪律') + "</td><td width='4%'>" + getItemScore(data[i], '便民服务') + "</td><td width='4%;'>"
  139. + getItemScore(data[i], '安全管理') + "</td><td width='4%;'>" + data[i].check_all_score + "</td>"
  140. + "<td width='6%;'>" + filter(data[i].checked_num, '0') + (data[i].checked_num < 6 ? html : "") + "</td><td width='4%;'>" + filterSlash(filterByZeroHandle(average(data[i]).toFixed(2), '0'), filter(data[i].checked_num+data[i].checked_m_num, '0')) + "</td>"
  141. + "<td width='4%;'>" + filterSlash(score, filter(data[i].checked_num+data[i].checked_m_num, '0')) + "</td><td width='4%;'>" + "</td><td width='4%;'>" + "</td></tr>";
  142. count++;
  143. }
  144. }
  145. $(".table-tbody").append(strTbody);
  146. $("tr:gt(1):odd").css("background","#EFEFEF");
  147. }, function (error) {
  148. return "";
  149. });
  150. }
  151. function addTask(userid, username, start_date, end_date) {
  152. //获取该人员排班
  153. var url = "teamClass/getUserClasss"
  154. var param = {
  155. "user_id": userid,
  156. "start_time": start_date,
  157. "end_time": end_date
  158. }
  159. post_common_service(url, param, function (data) {
  160. var tasklist = data.teamClasseList;
  161. var userclasslist = data.userClassCountList;
  162. var allheight = 600;
  163. var height = allheight - 150 - 45;
  164. var allwidth = 1100;
  165. //计算日期
  166. var satrtday = new Date(start_date);
  167. var endday = new Date(end_date);
  168. var taskmap= new Map();
  169. var userClassmap= new Map();
  170. for(var i=0;i<tasklist.length;i++){
  171. var task = tasklist[i];
  172. if(!taskmap.get(task.work_date)){
  173. taskmap.put(task.work_date,[]);
  174. }
  175. var arr = taskmap.get(task.work_date);
  176. arr.push(task);
  177. taskmap.put(task.work_date,arr);
  178. }
  179. for(var i=0;i<userclasslist.length;i++){
  180. var usercount = userclasslist[i];
  181. var daytime = new Date(usercount.start_time)
  182. if(daytime.getHours()>=23){
  183. daytime = new Date(daytime.valueOf()+(1000 * 60 * 60 * 24))
  184. }
  185. var work_date = daytime.Format("yyyy-MM-dd")+" 00:00";
  186. if(!userClassmap.get(work_date)){
  187. userClassmap.put(work_date,[]);
  188. }
  189. var arr = userClassmap.get(work_date);
  190. arr.push(usercount);
  191. userClassmap.put(work_date,arr);
  192. }
  193. var days = (endday.valueOf() - satrtday.valueOf()) / (1000 * 60 * 60 * 24);
  194. var header = "<td></td>"
  195. var nighttd = "<td>夜班</td>"
  196. var middletd = "<td>中班</td>"
  197. var morningtd = "<td>早班</td>"
  198. for (var i = 1; i <= days; i++) {
  199. var daytime = new Date(satrtday.valueOf() + i * 1000 * 60 * 60 * 24 -1000 * 60 * 60 * 23);
  200. var workday = daytime.Format("yyyy-MM-dd HH:mm");
  201. var html1 = ""
  202. var html2 = ""
  203. var html3 = ""
  204. if(taskmap.get(workday)){
  205. var userclassarry = null;
  206. if(userClassmap.get(workday)){
  207. userclassarry = userClassmap.get(workday);
  208. }
  209. var arry = taskmap.get(workday);
  210. for(var j=0;j<arry.length;j++){
  211. var hasin = false;
  212. var tasktemp = arry[j];
  213. var hasmin = false;
  214. var taskfail = false;
  215. if(userclassarry!=null){
  216. var d = hasinList(tasktemp,userclassarry)
  217. hasin = d!=null
  218. if(hasin){
  219. if(d.check_status == 22){
  220. taskfail = true;
  221. }
  222. }
  223. }
  224. if((new Date(tasktemp.end_time)).valueOf() - (new Date(tasktemp.start_time)).valueOf()< 1000*60*15){
  225. hasmin = true;
  226. }
  227. var name = (new Date(tasktemp.start_time)).Format("HH:mm") + "--"+(new Date(tasktemp.end_time)).Format("HH:mm")
  228. var classname = "btn-success";
  229. if(hasmin){
  230. //放开15分钟限制
  231. classname = "btn-success";
  232. // classname = "btn-success disabled";
  233. name +="<span class=\"label label-badge\">未</span>";
  234. }
  235. if(hasin){
  236. classname = "btn-danger disabled";
  237. }
  238. if(taskfail){
  239. classname = "btn-info disabled";
  240. }
  241. var teamid = tasktemp.class_id +"_"+ ( typeof(tasktemp.unregular_id)=="undefined"?"":tasktemp.unregular_id)
  242. if(tasktemp.class_type==1){
  243. html1+="<div class='row'><button class=\"btn "+classname+" classbtn\" id="+teamid+" data="+workday+" onclick='selectTeamClass(this)' type=\"button\">"+name+"</button></div>"
  244. // html1 +='<div class="row"><label class="btn '+classname+'"><input type="radio" name="options" id="option2">'+name+'</label></div>'
  245. continue;
  246. }
  247. if(tasktemp.class_type==2){
  248. html2+="<div class='row'><button class=\"btn "+classname+" classbtn\" id="+teamid+" data="+workday+" onclick='selectTeamClass(this)' type=\"button\">"+name+"</button></div>"
  249. continue;
  250. }
  251. if(tasktemp.class_type==3){
  252. html3+="<div class='row'><button class=\"btn "+classname+" classbtn\" id="+teamid+" data="+workday+" onclick='selectTeamClass(this)' type=\"button\">"+name+"</button></div>"
  253. continue;
  254. }
  255. }
  256. }
  257. if(userClassmap.get(workday)){
  258. var teamclassarry = null;
  259. if(taskmap.get(workday)){
  260. teamclassarry = taskmap.get(workday);
  261. }
  262. var arry = userClassmap.get(workday);
  263. for(var j=0;j<arry.length;j++){
  264. var hasin = false;
  265. var usercounttemp = arry[j];
  266. var taskfail = false;
  267. if(teamclassarry!=null){
  268. var d = hasinList(usercounttemp,teamclassarry)
  269. hasin = d!=null
  270. if(usercounttemp.check_status == 22){
  271. taskfail = true;
  272. }
  273. }
  274. if(usercounttemp.check_status == 22){
  275. taskfail = true;
  276. }
  277. var classname = "btn-danger disabled";
  278. var name = (new Date(usercounttemp.start_time)).Format("HH:mm") + "--"+(new Date(usercounttemp.end_time)).Format("HH:mm")+"<span class=\"label label-badge\">删</span>";
  279. if(hasin){
  280. continue;
  281. }
  282. if(taskfail){
  283. classname = "btn-info disabled";
  284. // name+="<span class=\"label label-badge\">无效</span>";
  285. }
  286. if(usercounttemp.class_type==1){
  287. html1+="<div class='row'><button class=\"btn "+classname+" classbtn\" type=\"button\">"+name+"</button></div>"
  288. continue;
  289. }
  290. if(usercounttemp.class_type==2){
  291. html2+="<div class='row'><button class=\"btn "+classname+" classbtn\" type=\"button\">"+name+"</button></div>"
  292. continue;
  293. }
  294. if(usercounttemp.class_type==3){
  295. html3+="<div class='row'><button class=\"btn "+classname+" classbtn\" type=\"button\">"+name+"</button></div>"
  296. continue;
  297. }
  298. }
  299. }
  300. nighttd+="<td>" + (html3==""?"无":html3) + "</td>"
  301. middletd+="<td>" + (html1==""?"无":html1) + "</td>"
  302. morningtd+="<td>" + (html2==""?"无":html2) + "</td>"
  303. header += "<td>" + daytime.Format("dd") + "</td>"
  304. }
  305. var css = '<style lang="css">' +
  306. '.row{' +
  307. ' margin-right: 0px; ' +
  308. ' margin-left: 0px;' +
  309. '}' +
  310. '.selecttag{' +
  311. ' line-height:32px' +
  312. '}' +
  313. '.table td {' +
  314. ' vertical-align: middle;' +
  315. ' text-align: center;' +
  316. ' border-left: 1px solid #ddd;' +
  317. ' border-right: 1px solid #ddd;' +
  318. ' border-top: 1px solid #ddd;' +
  319. '}' +
  320. '.classbtn{' +
  321. ' font-size:10px;' +
  322. ' text-align: center;' +
  323. ' padding: 0;' +
  324. '}' +
  325. '.spanclass{' +
  326. ' width:10px;' +
  327. ' height: 10px;' +
  328. '}' +
  329. '.gimportant{' +
  330. ' background:#BD7B46 !important;' +
  331. ' color:#ffffff !important'+
  332. '}' +
  333. '</style>';
  334. var table1 = '<div class="row scrollbar" style="height:' + height + 'px;width:' + (allwidth - 21) + 'px;overflow:scroll;padding-top:10px;padding-bottom:10px"><table class="table" style="height:' + height + 'px;margin:0px">' +
  335. ' <tbody>' +
  336. ' <tr style="height:10px" >' +
  337. header +
  338. ' </tr>' +
  339. ' <tr class="danger">' +
  340. nighttd+
  341. ' </tr>' +
  342. ' <tr class="warning">' +
  343. morningtd+
  344. ' </tr>' +
  345. ' <tr class="active">' +
  346. middletd+
  347. ' </tr>' +
  348. ' </tbody>' +
  349. '</table></div>';
  350. var tips = '<div class="row" style="text-align: left;"><div class="spanclass col-xs-2 " style="background:#ea644a"/><div class="col-xs-10">排班已被稽查</div></div>'+
  351. // '<div class="row" style="text-align: left;"><div class="spanclass col-xs-2 " style="background:#F1A325"/><div class="col-xs-10">已稽查但排班被删除</div></div>'+
  352. '<div class="row" style="text-align: left;"><div class="spanclass col-xs-2 " style="background:#03B8CF"/><div class="col-xs-10">排班已稽查但任务无效</div></div>'+
  353. // '<div class="row" style="text-align: left;"><div class="spanclass col-xs-2 " style="background:#BD7B46"/><div class="col-xs-10">已稽查但任务无效且排班已删除</div></div>'+
  354. '<div class="row" style="text-align: left;"><div class="spanclass col-xs-2 " style="background:#38B03F"/><div class="col-xs-10">排班可被稽查</div></div>'+
  355. // '<div class="row" style="text-align: left;"><div class="spanclass col-xs-2 " style="background:#7EC377"/><div class="col-xs-10">排班未满15分钟</div></div>'+
  356. '<div class="row" style="text-align: left;"><span class=\"label label-badge\">删</span> 排班已删除</div>'+
  357. '<div class="row" style="text-align: left;"><span class=\"label label-badge\">未</span> 排班未满15分钟</div>';
  358. var selectdiv = '<div class="row" style="text-align: left;"><div class="col-xs-10">已选择的排班:</div></div>'+
  359. '<div class="row" style="text-align: left;"><div class="col-xs-2"/><div class="col-xs-10"><span id="selectedclass" style="font-size:10px"></span></div></div>';
  360. var optlist = "";
  361. var userlist = data.userList;
  362. for(var q=0;q<userlist.length;q++){
  363. var user = userlist[q];
  364. optlist+=' <option value="'+user.id+'">'+user.truename+'</option>'
  365. }
  366. var html = css + '<div class="row row_alert" style="padding-left:10px;padding-right:10px;">' + table1 + '</div><div class="row row_alert" style="bottom: 0;position: absolute;width: 100%;text-align: right;}">' +
  367. '<div class="col-xs-4">'+tips+'</div><div class="col-xs-3">'+selectdiv+'</div><div class="col-xs-3"><span class="selecttag" style="text-align: right;">请分配对应的稽查人员:</span></div><div class="col-xs-2 class="selecttag""><select data-placeholder="选择稽查员" id="selectusers" class="chosen-select form-control" >' +
  368. optlist+
  369. '</select></div><div class="row row_alert"><button class="btn btn-primary" style="margin:20px;margin-right:10px" onclick="creatTask()" type="button">生成任务</button></div></div>';
  370. layer.open({
  371. type: 1,
  372. title: "生成稽查任务:"+username,
  373. skin: 'layui-layer-rim', //加上边框
  374. area: [allwidth + 'px', allheight + 'px'], //宽高
  375. scrollbar: false,
  376. content: html
  377. });
  378. });
  379. }
  380. function selectTeamClass(obj){
  381. $("#selectedclass").html( $(obj).attr('data') +" "+ $(obj).html() +"的排班");
  382. $("#selectedclass").attr('data',obj.id);
  383. }
  384. function creatTask(){
  385. //获取classid
  386. var id = $("#selectedclass").attr('data');
  387. //获取userid
  388. var userid = $("#selectusers").val();
  389. if(id!=null && typeof(id)!="undefined"){
  390. var ids=id.split("_");
  391. var classid = ids[0];
  392. var unregular_id = ids[1];
  393. var url = task_server_url + "/task/add"
  394. if(unregular_id==null||unregular_id==""){
  395. url+='?classid='+classid+'&userid='+userid;
  396. }else{
  397. url+='?classid='+classid+'&unregularid='+unregular_id+'&userid='+userid;
  398. }
  399. $.ajax({
  400. type: 'GET',
  401. url: url,
  402. contentType: "application/json",
  403. dataType: "json",
  404. async: true,
  405. success: function(response){
  406. var data = response;
  407. if (data.result_code == 0) {
  408. tip("生成成功",null)
  409. } else {
  410. tip(data.result_desc,null)
  411. }
  412. },
  413. error: function(error) {
  414. tip("网络错误",null)
  415. }
  416. })
  417. }else{
  418. tip("未选择任务",null)
  419. }
  420. }
  421. function hasinList(task,list){
  422. var hasin = false;
  423. for(var p=0;p<list.length;p++){
  424. var userclasscount = list[p];
  425. if(typeof(task.unregular_id)=="undefined"){
  426. if(typeof(userclasscount.unregular_id)=="undefined"){
  427. if(task.class_id == userclasscount.class_id){
  428. return userclasscount;
  429. }else{
  430. continue;
  431. }
  432. }else{
  433. continue;
  434. }
  435. }else{
  436. if(typeof(userclasscount.unregular_id)=="undefined"){
  437. continue;
  438. }else{
  439. if(task.class_id == userclasscount.class_id && userclasscount.unregular_id==task.unregular_id){
  440. return userclasscount;
  441. }
  442. }
  443. }
  444. }
  445. return null;
  446. }
  447. /**
  448. * 对于受检次数为0,扣分和得分都为 /
  449. * @param {*} value , check_num 受此次数
  450. * @return value or /
  451. */
  452. function filterSlash(value, check_num) {
  453. if (check_num == 0) {
  454. return '/';
  455. } else {
  456. return value;
  457. }
  458. }
  459. function judgeParamFilter(data, i, score, start_score, end_score,check_number,start_num,end_num) {
  460. var flag1 = false;
  461. if (score >= parseFloat(start_score) && score <= parseFloat(end_score)) {
  462. flag1 = true;
  463. } else {
  464. flag1 = false;
  465. }
  466. var flag2 = false;
  467. if (check_number >= parseFloat(start_num) && check_number <= parseFloat(end_num)) {
  468. flag2 = true;
  469. } else {
  470. flag2 = false;
  471. }
  472. var jobSelect = $("#jobSelect").val();
  473. if (jobSelect) {
  474. if (data[i].user.positionid == jobSelect) {
  475. flag3 = true;
  476. } else {
  477. flag3 = false;
  478. }
  479. } else {
  480. flag3 = true;
  481. }
  482. return flag1 & flag2 & flag3;
  483. }
  484. function average(obj) {
  485. if (filter(obj.checked_num+obj.checked_m_num, '0') == 0) {
  486. return 0;
  487. } else {
  488. return (obj.check_all_score+obj.check_all_m_score) / filter(obj.checked_num+obj.checked_m_num, '1')
  489. }
  490. }
  491. /**
  492. * 过滤undefined
  493. * @param {*} value
  494. * @param {*} default_display_value
  495. */
  496. function filter(value, default_display_value) {
  497. if (value != '' && value != undefined) {
  498. return value;
  499. } else if (default_display_value != undefined) {
  500. return default_display_value;
  501. } else {
  502. return "";
  503. }
  504. }
  505. /**
  506. * 获取扣分详情
  507. * @param {*} obj
  508. * @param {*} check_item_name
  509. */
  510. function getItemScore(obj, check_item_name) {
  511. var names = obj.checked_socre_name;
  512. var scores = obj.checked_score;
  513. for (var i = 0; i < names.length; i++) {
  514. if (names[i].indexOf(check_item_name) > -1) {
  515. return scores[i];
  516. }
  517. }
  518. return 0;
  519. }
  520. /**
  521. * 过滤除数为0和保留二位小数时出现的0.00
  522. * @param {*} value
  523. * @param {*} default_display_value
  524. */
  525. function filterByZeroHandle(value, default_display_value) {
  526. if (isNaN(value)) {
  527. return default_display_value;
  528. } else {
  529. if ((value + '').endsWith('.00')) {
  530. return value.substring(0, value.length - 3);
  531. }
  532. return value;
  533. }
  534. }
  535. function exportExcel() {
  536. var dept_id = $("#fsList").val();
  537. var start_date = $("#start-time").val();
  538. var end_date = $("#end-time").val();
  539. var start_score = $("#start-score").val();
  540. var end_score = $("#end-score").val();
  541. var flag = param_method(start_score, end_score);
  542. if (flag == false) {
  543. return;
  544. }
  545. if (start_date == '' || end_date == '') {
  546. tip("请选择起止日期");
  547. return;
  548. } else {
  549. start_date += " 23:00:00";
  550. end_date += " 23:00:00";
  551. var start = new Date(start_date);
  552. //开始日期取前一天的23:00
  553. start.setDate(start.getDate()-1);
  554. start_date = start.Format("yyyy-MM-dd HH:mm:ss");
  555. }
  556. if (!dept_id) dept_id = "";
  557. window.open(getserveraddr() + "/file/employee/order?dept_id=" + dept_id +
  558. "&start_date=" + start_date + "&end_date=" + end_date + "&start_score=" + start_score + "&end_score=" + end_score);
  559. }
  560. function param_method(start_score, end_score) {
  561. if (start_score == '' || end_score == '') {
  562. tip("请输入得分区间");
  563. return false;
  564. } else if (!(/^[0-9]*$/).test(start_score) || !(/^[0-9]*$/).test(end_score)) {
  565. tip("数字不合法!");
  566. return false;
  567. } else if (parseInt(start_score) > parseInt(end_score)) {
  568. tip("开始得分不能比结束得分大");
  569. return false;
  570. } else if (start_score < 0 || start_score > 1000 || end_score < 0 || end_score > 1000) {
  571. tip("得分只能在0-1000之间");
  572. return false;
  573. } else {
  574. return true;
  575. }
  576. }
  577. function setVisit(){
  578. if(roleContains("STATION")){
  579. $("#center-manager").attr("disabled","disabled");
  580. $("#fsList").attr("disabled","disabled");
  581. }
  582. // if(roleContains("ROAD_MANAGER")){
  583. // $("#center-manager").attr("disabled","disabled");
  584. // }
  585. }