1var Calendar = function (element, options) { 2 3 this.el = $(element); 4 this.options = $.extend(true, {}, this.options, options); 5 //console.log(this.options) 6 this.init(); 7} 8Calendar.prototype = { 9 10 options: { 11 mode: "month", 12 newDate: new Date(), 13 width: null, 14 height: null, 15 16 showModeBtn: true, 17 showEvent: true, 18 maxEvent: null 19 }, 20 21 init: function () { 22 var me = this, 23 el = me.el, 24 opts = me.options; 25 26 el.addClass("calendar"); 27 opts.width = el.width(); 28 opts.height = el.height(); 29 30 typeof (opts.newDate) == "string" ? opts.newDate = me._getDateByString(opts.newDate) : ""; 31 32 me._createCalendar(); 33 34 //ç»å®äºä»¶ 35 //changeMode 36 el.on("click", ".calendar-mode-select .btn", function (e) { 37 e.stopPropagation(); 38 var modeText = $(this).text(); 39 var mode = modeText == "æ" ? "month" : "year"; 40 me.changeMode(mode); 41 }) 42 //calendar-cellæ¥æç¹å»äºä»¶ 43 el.on("click", ".calendar-cell", function (e) { 44 e.stopPropagation(); 45 $(".dropdown-month").removeClass("open"); 46 $(".dropdown-year").removeClass("open"); 47 $(".dropdown-day").removeClass("open"); 48 49 var cellDate = $(this).attr("title"); 50 51 var viewData = me.viewData; 52 var year = parseInt(cellDate.split("å¹´")[0]); 53 var month = parseInt(cellDate.split("å¹´")[1].split("æ")[0]) - 1; 54 var date = parseInt(cellDate.split("å¹´")[1].split("æ")[1].split("æ¥")[0]); 55 56 if (opts.mode == "year") { 57 if (opts.cellClick) opts.cellClick.call(me, viewData[month]) 58 } 59 else if (opts.mode == "month" && month == opts.newDate.getMonth()) { 60 61 if (opts.cellClick) opts.cellClick.call(me, viewData[date]) 62 } 63 }) 64 65 //年份䏿 66 el.on("click", ".calendar-year-select", function (e) { 67 e.stopPropagation(); 68 $(".dropdown-month").removeClass("open"); 69 $(".dropdown-day").removeClass("open"); 70 $(".dropdown-year").toggleClass("open"); 71 //åå»ºä¸ææ°æ® 72 var yearText = opts.newDate.getFullYear(); 73 var s = ''; 74 for (var i = 0; i < 21; i++) { 75 if (i == 10) { 76 s += '<li class="year-item active">' 77 } 78 else { 79 s += '<li class="year-item">' 80 } 81 s += '<span class="year-check">' + (yearText - 10 + i) + '</span>' 82 s += '<span ></span>' 83 s += '</li>' 84 } 85 me.el.find(".dropdown-year").html(s); 86 }) 87 //年份æ¹å 88 el.on("click", ".year-item", function (e) { 89 e.stopPropagation(); 90 $(".dropdown-year").removeClass("open"); 91 var yearText = $(this).text(); 92 var yearNum = yearText.split("å¹´")[0]; 93 if (yearNum == opts.newDate.getFullYear()) return; 94 opts.newDate.setFullYear(yearNum); 95 opts.mode == "month" ? me._refreshCalendar(opts.newDate) : me._refreshYearCalendar(opts.newDate); 96 $(".calendar-year-text").text(yearText); 97 me.myMethods() 98 99 100 }) 101 //触åéæ©æä»½ 102 el.on("click", ".calendar-month-select", function (e) { 103 e.stopPropagation(); 104 $(".dropdown-year").removeClass("open"); 105 $(".dropdown-day").removeClass("open"); 106 $(".dropdown-month").toggleClass("open"); 107 }) 108 //æä»½checkäºä»¶ 109 el.on("click", ".month-item", function (e) { 110 e.stopPropagation(); 111 $(".dropdown-month").removeClass("open"); 112 var monthText = $(this).text(); 113 var monthNum = monthText.split("æ")[0]; 114 if (monthNum == (opts.newDate.getMonth() + 1)) return; 115 116 var beforeDate = opts.newDate.getDate(); 117 opts.newDate.setMonth(monthNum - 1); 118 var afterDate = opts.newDate.getDate(); 119 120 //å¤çæ¥æ30å·ï¼åæ¢å°2æä¸åå¨30å· 121 if (beforeDate != afterDate) { 122 opts.newDate.setDate(opts.newDate.getDate() - 1); 123 } 124 me._refreshCalendar(opts.newDate); 125 $(".calendar-month-text").text(monthText); 126 me.myMethods() 127 128 }) 129 //天æ°ä¸æ
130 el.on("click", ".calendar-day-select", function (e) { 131 e.stopPropagation(); 132 $(".dropdown-month").removeClass("open"); 133 $(".dropdown-year").removeClass("open"); 134 $(".dropdown-day").toggleClass("open"); 135 //åå»ºä¸ææ°æ® 136 var monthText = $(".calendar-month-text").text(); 137 monthText = parseInt(monthText) 138 var dyearText = $(".calendar-year-text").text() 139 dyearText = parseInt(dyearText) 140 var d = myDate.getDate() - 1; 141 // opts.newDate.setMonth(monthNum - 1); 142 opts.newDate.setDate(opts.newDate.getDate()) 143 144 var daymonth = parseInt(monthText, 10); 145 var date = new Date(dyearText, daymonth, 0); 146 var daysum = date.getDate() 147 var s = ''; 148 for (var i = 0; i < daysum; i++) { 149 if (i == d) { 150 s += '<li class="day-item active">' 151 } 152 else { 153 s += '<li class="day-item">' 154 } 155 if (i < 9) { 156 s += '<span class="day-check">0' + (1 + i) + '</span>' 157 } else { 158 s += '<span class="day-check">' + (1 + i) + '</span>' 159 } 160 s += '<span ></span>' 161 s += '</li>' 162 } 163 me.el.find(".dropdown-day").html(s); 164 }) 165 //å¤©æ°æ¹å 166 el.on("click", ".day-item", function (e) { 167 e.stopPropagation(); 168 $(".dropdown-day").removeClass("open"); 169 var dayText = $(this).text(); 170 var dayNum = dayText; 171 if (dayNum == opts.newDate.getDate()) return; 172 opts.newDate.setDate(dayNum); 173 me._refreshCalendar(opts.newDate) 174 $(".calendar-day-text").text(dayText); 175 me.myMethods() 176 }) 177 //åå°å½å¤© 178 el.on("click", ".goto-today", function (e) { 179 var myDate = new Date(); 180 var f = myDate.getFullYear(); 181 var m = myDate.getMonth() + 1; 182 var day = myDate.getDate(); 183 if (m < 10) { 184 m = "0" + m 185 } 186 if (day < 10) { 187 day = "0" + day 188 } 189 var d = myDate.getDate(); 190 // åå°å½å¹´ 191 var yearText = f; 192 var yearNum = yearText 193 var dayText = day 194 // if (yearNum == opts.newDate.getFullYear()) return; 195 opts.newDate.setFullYear(yearNum); 196 opts.mode == "month" ? me._refreshCalendar(opts.newDate) : me._refreshYearCalendar(opts.newDate); 197 $(".calendar-year-text").text(yearText + "/"); 198 // åå°å½æ 199 var monthText = m; 200 var monthNum = monthText 201 if (monthNum == (opts.newDate.getMonth() + 1)); 202 203 var beforeDate = opts.newDate.getDate(); 204 opts.newDate.setMonth(monthNum - 1); 205 var afterDate = opts.newDate.getDate(); 206 207 me.myMethods() 208 me._refreshCalendar(opts.newDate); 209 $(".calendar-month-text").text(monthText + "/"); 210 $(".calendar-day-text").text(dayText); 211 }) 212 // å·¦ç®å¤´ 213 el.on("click", ".arrow-left", function (e) { 214 e.stopPropagation(); 215 $(".dropdown-month").removeClass("open"); 216 $(".dropdown-year").removeClass("open"); 217 $(".dropdown-day").removeClass("open"); 218 var monthText = $(".calendar-month-text").text(); 219 var yearText = $(".calendar-year-text").text(); 220 var mNum = parseInt(monthText) 221 var yNUm = parseInt(yearText) 222 mNum -= 1 223 if (mNum < 1) { 224 mNum = 12 225 yNUm -= 1 226 } 227 var monthNum = mNum; 228 if (monthNum == (opts.newDate.getMonth() + 1)) return; 229 var beforeDate = opts.newDate.getDate(); 230 opts.newDate.setMonth(monthNum - 1); 231 opts.newDate.setFullYear(yNUm); 232 var afterDate = opts.newDate.getDate(); 233 234 //å¤çæ¥æ30å·ï¼åæ¢å°2æä¸åå¨30å· 235 if (beforeDate != afterDate) { 236 opts.newDate.setDate(opts.newDate.getDate() - 1); 237 } 238 me.myMethods(); 239 me._refreshCalendar(opts.newDate); 240 if (mNum < 10) { 241 mNum = "0" + mNum 242 } 243 $(".calendar-month-text").text(mNum + "/"); 244 $(".calendar-year-text").text(yNUm + "/"); 245 }) 246 // å³ç®å¤´ 247 el.on("click", ".arrow-right", function (e) { 248 e.stopPropagation(); 249 $(".dropdown-month").removeClass("open"); 250 $(".dropdown-year").removeClass("open"); 251 $(".dropdown-day").removeClass("open"); 252 var monthText = $(".calendar-month-text").text(); 253 var yearText = $(".calendar-year-text").text(); 254 var mNum = parseInt(monthText) 255 var yNUm = parseInt(yearText) 256 mNum += 1 257 if (mNum > 12) { 258 mNum = 1 259 yNUm += 1 260 } 261 var monthNum = mNum; 262 if (monthNum == (opts.newDate.getMonth() + 1)) return; 263 264 var beforeDate = opts.newDate.getDate(); 265 opts.newDate.setMonth(monthNum - 1); 266 opts.newDate.setFullYear(yNUm); 267 var afterDate = opts.newDate.getDate(); 268 269 //å¤çæ¥æ30å·ï¼åæ¢å°2æä¸åå¨30å· 270 if (beforeDate != afterDate) { 271 opts.newDate.setDate(opts.newDate.getDate() - 1); 272 } 273 me.myMethods() 274 me._refreshCalendar(opts.newDate); 275 if (mNum < 10) { 276 mNum = "0" + mNum 277 } 278 $(".calendar-month-text").text(mNum + "/"); 279 $(".calendar-year-text").text(yNUm + "/"); 280 281 }) 282 $(document.body).on("click", function (e) { 283 $(".dropdown-month").removeClass("open"); 284 $(".dropdown-year").removeClass("open"); 285 $(".dropdown-day").removeClass("open"); 286 }) 287 }, 288 //å ¬å¼æ¹æ³ 289 changeMode: function (mode) { 290 var me = this; 291 if (mode == me.options.mode) return; 292 me.options.mode = mode;
293 me._createCalendar(); 294 }, 295 296 297 getViewDate: function (viewDate) { 298 var me = this, 299 opts = me.options, 300 mode = opts.mode, 301 data = opts.data; 302 if (!data || data.length == 0) return []; 303 var viewData = {}, 304 modeYear = viewDate.getFullYear(), 305 modeMonth = viewDate.getMonth(); 306 307 308 //çéè§å¾æ°æ®å¹¶è½¬åæªå¯¹è±¡ è¦ä¸è¦è½¬åä¸ºå±æ§ 309 for (var i = 0; i < data.length; i++) { 310 var item = data[i]; 311 var start = me._getDateByString(item.startDate); 312 var year = start.getFullYear(); 313 var month = start.getMonth(); 314 var date = start.getDate(); 315 if (mode == "month" && year == modeYear && modeMonth == month) { 316 if (!viewData[date]) viewData[date] = []; 317 viewData[date].push(item); 318 } 319 else if (mode == "year" && year == modeYear) { 320 if (!viewData[month]) viewData[month] = []; 321 viewData[month].push(item); 322 } 323 } 324 return viewData; 325 326 }, 327 _getDateByString: function (stringDate) { 328 var me = this; 329 var year = stringDate.split("-")[0]; 330 var month = parseInt(stringDate.split("-")[1]) - 1; 331 var date = stringDate.split("-")[2]; 332 333 return new Date(year, month, date); 334 }, 335 //ç§ææ¹æ³ 336 _createCalendar: function () { 337 var me = this; 338 var dateMode = me.options.mode; 339 me._createView() 340 341 }, 342 _createView: function () { 343 var me = this, 344 el = me.el, 345 opts = me.options, 346 mode = opts.mode, 347 newDate = opts.newDate, 348 html = ''; 349 html += me._createToolbar(); 350 html += '<div class="calendar-body">'; 351 html += '<table class="calendar-table" cellspacing="0">' 352 if (mode == "month") { 353 html += me._createHeader(); 354 } 355 html += me._createBody(); 356 html += '</table><div class="seletody"><span class="seletody-today">仿¥</span><span class="seletody-seledate">é䏿¥æ</span></div>' 357 html += '</div>' 358 el.html(html); 359 360 361 if (mode == "month") { 362 me._refreshCalendar(newDate); 363 } 364 else { 365 me._refreshYearCalendar(newDate); 366 } 367 368 }, 369 _createToolbar: function () { 370 var me = this, 371 newDare = me.options.newDate, 372 mode = me.options.mode, 373 showModeBtn = me.options.showModeBtn, 374 s = ''; 375 titName = me.options.titName 376 377 var year = newDare.getFullYear(); 378 var month = newDare.getMonth() + 1; 379 var day = newDare.getDate() 380 381 s += '<div class="calendar-header clearfix">' 382 s += '<div class="calendar-tit">' + titName + '<a class="more" href="https://www.ccf.org.cn/ccf/eventcalendar/ch?SiteID=122">å±å¼å ¨é¨></a></div>' 383 s += '<div class="arrow-left"><i class="fa fa-angle-left"></i></div>' 384 s += '<div class="calendar-select calendar-year-select clearfix" >' 385 s += '<span class="calendar-year-text"> ' + year + '/</span >' 386 s += '<span class="calendar-icon"></span>' 387 s += '<ul id="dropdown-year" class="dropdown-year">' 388 s += '</ul></div>' 389 if (mode == "month") { 390 if (month < 10) { 391 s += '<div class="calendar-select calendar-month-select">' 392 s += '<span class="calendar-month-text">0' + month + '/</span >' 393 s += '<span class="calendar-icon"></span>' 394 } else { 395 s += '<div class="calendar-select calendar-month-select">' 396 s += '<span class="calendar-month-text"> ' + month + '/</span >' 397 s += '<span class="calendar-icon"><i class="fa fa-caret-down"></i></span>' 398 } 399 400 //å建æä»½ä¸æ 401 s += '<ul class="dropdown-month">' 402 for (var i = 1; i <= 12; i++) { 403 if (i < 10) { 404 s += '<li class="month-item">' 405 s += '<span class="month-check">0' + i + '</span>' 406 s += '<span ></span>' 407 s += '</li>' 408 } else { 409 s += '<li class="month-item">' 410 s += '<span class="month-check">' + i + '</span>' 411 s += '<span ></span>' 412 s += '</li>' 413 } 414 } 415 s += '</ul>' 416 s += '</div>' 417 s += '<div class="calendar-select calendar-day-select clearfix" >' 418 if (day < 10) { 419 s += '<span class="calendar-day-text">0' + day + '</span >' 420 } else { 421 s += '<span class="calendar-day-text">' + day + '</span >' 422 } 423 s += '<span class="calendar-icon"></span>' 424 s += '<ul id="dropdown-day" class="dropdown-day">' 425 s += '</ul>' 426 s += '</div >' 427 s += '<div class="goto-today"><span class="gototoday-span">è¿å彿¥</span></div>' 428 s += '<div class="arrow-right"><i class="fa fa-angle-right"></i></div>' 429 } 430 431 if (showModeBtn) { 432 s += '<div class="calendar-select calendar-mode-select">' 433 s += '<div class="btn-group">' 434 435 if (mode == "month") { 436 s += '<span class="btn calendar-select-active">æ</span>' 437 s += '<span class="btn">
437å¹´</span>' 438 } 439 else { 440 s += '<span class="btn">æ</span>' 441 s += '<span class="btn calendar-select-active">å¹´</span>' 442 } 443 s += '</div>' 444 s += '</div>' 445 } 446 s += '</div >' 447 return s; 448 }, 449 _createHeader: function () { 450 var me = this, 451 opts = me.options, 452 weekMode = opts.weekMode; 453 weekModeeSmall = opts.weekModeeSmall; 454 var s = '<thead><tr>' 455 weekMode.forEach(function (item) { 456 s += ' <th class="calendar-column-header calendar-column-header1" title="å¨' + item + '"><span class="calendar-column-header-inner">' + item + '</span></th>' 457 }) 458 s += '</thead></tr>' 459 return s; 460 }, 461 _createBody: function () { 462 var me = this; 463 var s = ' <tbody class="calendar-tbody">' 464 s += '</tbody>' 465 return s; 466 }, 467 _refreshYearCalendar: function (newDate) { 468 var me = this, 469 showEvent = me.options.showEvent, 470 maxEvent = me.options.maxEvent, 471 s = ''; 472 473 me.viewData = viewData = me.getViewDate(newDate); 474
475 var year = newDate.getFullYear(), month = newDate.getMonth(); 476 //åè¡ä¸å 477 for (var i = 0; i < 4; i++) { 478 s += '<tr>' 479 for (var l = 0; l < 3; l++) { 480 renderMonth = i * 3 + l; 481 if (month == renderMonth) { 482 s += '<td title="' + year + 'å¹´' + (renderMonth + 1) + 'æ" class="calendar-cell calendar-thisMonth">'; 483 } 484 else { 485 s += '<td title="' + year + 'å¹´' + (renderMonth + 1) + 'æ" class="calendar-cell">'; 486 } 487 s += '<div class="calendar-date">'; 488 s += '<div class="calendar-value">' + (renderMonth + 1) + 'æ</div>'; 489 s += '<div class="calendar-content"><ul class="events">' 490 491 if (showEvent && viewData[renderMonth]) { 492 if (maxEvent && viewData[renderMonth].length > maxEvent) { 493 s += '<span class="total">' + viewData[renderMonth].length + '个äºä»¶..</span>' 494 } else { 495 viewData[renderMonth].forEach(function (item) { 496 s += '<li><span>' + item.name + '</span></li>' 497 }) 498 } 499 } 500 s += '</ul ></div > '; 501 s += '</div></td>'; 502 } 503 s += '</tr>' 504 } 505 506 me.el.find(".calendar-tbody").html(s); 507 }, 508 _refreshCalendar: function (newDate) { 509 var me = this, 510 showEvent = me.options.showEvent, 511 maxEvent = me.options.maxEvent, 512 s = ''; 513 514 me.viewData = viewData = me.getViewDate(newDate); 515 516 var _newDate = me._cloneDate(newDate); 517 //å½ådate 518 var nowNum = _newDate.getDate(); 519 520 //第ä¸å¤©å¨å 521 _newDate.setDate(1); 522 var weekDay = _newDate.getDay() == 0 ? 7 : _newDate.getDay(); 523 524 525 //è§å¾ç¬¬ä¸å¤© 526 var viewDate = me._cloneDate(_newDate); 527 viewDate.setDate(viewDate.getDate() - weekDay + 1); 528 529 //å½å第å å¨/è¡ (æä¸å¤ç) 530 var spileDate = (newDate.getTime() - viewDate.getTime()) / (1000 * 60 * 60 * 24); 531 532 renderDate = me._cloneDate(viewDate); 533 534 535 //åºå®å è¡ 536 for (var i = 0; i < 6; i++) { 537 s += '<tr>' 538 for (var l = 0; l < 7; l++) { 539 540 var year = renderDate.getFullYear(); 541 var month = renderDate.getMonth() + 1; 542 var date = renderDate.getDate(); 543 544 if (renderDate.getMonth() < newDate.getMonth()) { 545 s += '<td title="' + year + 'å¹´' + month + 'æ' + date + 'æ¥" class="calendar-cell calendar-last-month-cell">'; 546 } 547 else if (renderDate.getMonth() > newDate.getMonth()) { 548 s += '<td title="' + year + 'å¹´' + month + 'æ' + date + 'æ¥" class="calendar-cell calendar-next-month-cell">'; 549 } 550 else if (date == nowNum) { 551 s += '<td title="' + year + 'å¹´' + month + 'æ' + date + 'æ¥" class="calendar-cell calendar-today">'; 552 } 553 else { 554 s += '<td title="' + year + 'å¹´' + month + 'æ' + date + 'æ¥" class="calendar-cell">'; 555 } 556 s += '<div class="calendar-date">'; 557 s += '<div class="calendar-value"><span class="active-today">' + date + '</span>'; 558 if (showEvent && viewData[date] && renderDate.getMonth() == newDate.getMonth()) { 559 s += '<span class="calendar-event-dot"></span>'; 560 } 561 s += '</div>'; 562 s += '<div class="calendar-content"><div class="conyear">' + year +'</div><div class="conmonth">' + month +'</div><div class="condate">' + date +'</div><div class="rld">' 563 if (showEvent && viewData[date] && renderDate.getMonth() == newDate.getMonth()) { 564 if (maxEvent && viewData[date].length > maxEvent) { 565 s += '<span class="total">' + viewData[date].length + '个äºä»¶..</span>' 566 } 567 else { 568 569 viewData[date].forEach(function (item) { 570 if (item.content) { 571 s += '<dd><a href="' + item.linkUrl + '" target="_blank">' + item.name + '</a></dd>' 572 } else { 573 s += '<dd>' + item.name + '</dd>' 574 } 575 }) 576 } 577 } 578 s += '</div></div> '; 579 s += '</div></td>'; 580 581 renderDate.setDate(renderDate.getDate() + 1); 582 583 } 584 s += '</tr>' 585 } 586 me.el.find(".calendar-tbody").html(s); 587 }, 588 _cloneDate: function (date) { 589 return new Date(date.getFullYear(), date.getMonth(), date.getDate()); 590 }, 591 myMethods: function() { 592 var me = this, 593 opts = me.options 594 // è¯·æ±æ¥å£ 595 function event_search(){ 596 var cDateY = $(".calendar-year-text").text(); 597 var cDateM = $(".calendar-month-text").text(); 598 cDateY = parseInt(cDateY); 599 cDateM = parseInt(cDateM); 600 var ecDateY = cDateY; 601 var behindM = cDateM; 602 var frontM = cDateM; 603 if(cDateM<4){ 604 if(cDateM==3){ 605 behindM = 2; 606 } 607 if(cDateM==2){ 608 cDateY = cDateY-1; 609 behindM = 12; 610 } 611 if(cDateM==1){ 612 cDateY = cDateY-1; 613 behindM = 11; 614 } 615 frontM = frontM + 3; 616 }else if(cDateM>9){ 617 if(cDateM==10){ 618 frontM = 12; 619 } 620 if(cDateM==11){
621 ecDateY = ecDateY+1; 622 frontM = 1; 623 } 624 if(cDateM==12){ 625 ecDateY = ecDateY+1; 626 frontM = 2; 627 } 628 behindM = behindM -3; 629 } else { 630 frontM = frontM + 3; 631 behindM = behindM -3; 632 } 633 var cDateD = $(".calendar-day-text").text(); 634 var data = []; 635 if (behindM < 10) { 636 behindM = "0" + behindM 637 } 638 if (frontM < 10) { 639 frontM = "0" + frontM 640 } 641 var startTime = cDateY + "-" + behindM + "-" + cDateD + " 00:00:00"; 642 var endTime = (ecDateY+10) + "-" + frontM + "-" + cDateD + " 23:59:59"; 643 var dc = new DataCollection(); 644 //var siteID = $(".siteID").text() 645 dc.add("StartTime",startTime); 646 dc.add("EndTime",endTime); 647 dc.add("SiteID",siteID); 648 dc.add("CatalogID","15172"); 649 Server.sendRequest("eventcalendar.getData",dc,function(response){ 650 data = response.Data; 651 opts.data = JSON.parse(data); 652 me.getViewDate(opts.newDate) 653 $(".events li:first-child .licon").css("display", "block"); 654 $(".events li:first-child").children(".licontit").addClass("bg2"); 655 if ($(".calendar-today").find(".events").find("li").length > 0) { 656 $(".calendar-today").find(".calendar-content").addClass('act') 657 var ulH = $(".calendar-today").find(".events").height(); 658 var wraH = 420 + ulH; 659 $(".calendar-wra-index").css("min-height", wraH + "px") 660 } else { 661 $(".calendar-wra-index").css("min-height", "auto") 662 } 663 $(".licontit").click(function(e){ 664 e.stopPropagation(); 665 $(this).next().slideToggle(0) 666 667 $(this).toggleClass('bg1').toggleClass('bg2'); 668 var ulH = $(this).parents(".events").height(); 669 var wraH = 430 + ulH; 670 $(".calendar-wra-index").css("min-height", wraH + "px") 671 }) 672 $(".calendar-today").find(".calendar-content").addClass('act') 673 function event_search222(stime,etime){ 674 var data = []; 675 var startTime = stime; 676 var endTime = etime; 677 var dc = new DataCollection(); 678 dc.add("StartTime",startTime); 679 dc.add("EndTime",endTime); 680 dc.add("SiteID",siteID); 681 dc.add("CatalogID","15172"); 682 dc.add("needRepeat","N"); 683 Server.sendRequest("eventcalendar.getData",dc,function(response){ 684 data = response.Data; 685 var ndata = JSON.parse(data); 686 var hdhtml = ''; 687 ndata.forEach(function (item,index) { 688 var endDate = ''; 689 if(item.endDate && (item.endDate != item.startDate)){ 690 endDate = ' ~ ' + item.endDate; 691 } 692 if (index <= 2) { 693 if (item.activeAddress){ 694 hdhtml += '<dd><a href="'+item.linkUrl+'">'+item.name+'</a><a href="'+item.linkUrl+'" style="font-size:14px;color:#999"><span>å°ç¹ï¼'+item.activeAddress+'</span><span style="float:right">æ¶é´ï¼'+item.startDate + endDate +'</span><a></dd>' 695 }else { 696 hdhtml += '<dd><a href="'+item.linkUrl+'">'+item.name+'</a><a href="'+item.linkUrl+'" style="font-size:14px;color:#999"><span style="float:right">æ¶é´ï¼'+item.startDate + endDate +'</span><a></dd>' 697 } 698 699 } 700 return false; 701 }); 702 hdhtml += '<dd style="text-align:right"><a style="color:#007cc0" href="https://www.ccf.org.cn/ccf/eventCalendarSearch/result?SiteID=122">More</a></dd>' 703 $("#hdrltck").html(hdhtml); 704 }); 705 } 706 $(".calendar-cell").click(function(){ 707 $(".calendar-cell").find(".calendar-content").removeClass('act'); // å é¤å ¶å å¼å ç´ çæ ·å¼ 708 $(this).find(".calendar-content").addClass('act'); 709 $(".calendar-cell").find(".active-today").removeClass('clickday'); 710 $(this).find(".active-today").addClass('clickday'); 711 var curYear = $(this).find(".conyear").text() 712 var curMonth = $(this).find(".conmonth").text() 713 var curDate = $(this).find(".condate").text() 714 curDate = parseInt(curDate) 715 if (curDate < 10) { 716 curDate = "0" + curDate 717 } 718 if (curMonth < 10) { 719 curMonth = "0" + curMonth 720 } 721 $(".calendar-year-text").text(curYear + "/"); 722 $(".calendar-month-text").text(curMonth + "/"); 723 $(".calendar-day-text").text(curDate); 724 var stardate = curYear+'-'+curMonth+'-'+curDate+' 00:00:00'; 725 curYear = parseInt(curYear) 726 var enddate = (curYear+10)+'-'+curMonth+'-'+curDate+' 23:59:59'; 727 event_search222(stardate,enddate) 728 729 $('.J-down').stop().slideToggle("fast"); 730 if ($(this).find(".events").find("li").length > 0) { 731 $(this).find(".calendar-content").addClass('act') 732 var ulH = $(this).find(".events").height(); 733 var wraH = 420 + ulH; 734 $(".calendar-wra-index").css("min-height", wraH + "px") 735 } else { 736 $(".calendar-wra-index").css("min-height", "auto") 737 } 738 if ($(this).find(".events").find("li").length > 0) { 739 $(this).find(".calendar-content").addClass('act') 740 var ulH = $(this).find(".events").height(); 741 var wraH = 420 + ulH; 742 $(".calendar-wra-index").css("min-height", wraH + "px") 743 } else { 744 $(".calendar-wra-index").css("min-height", "auto") 745 } 746 }) 747 }); 748 } 749 event_search() 750 // è¯·æ±æ¥å£ç»æ 751 $(".events li:first-child .licon").css("display", "block") 752 $(".events li:first-child").children(".licontit").addClass("bg2") 753 $(".licontit").click(function(e){ 754 e.stopPropagation(); 755 $(this).next().slideToggle(0) 756 757 $(this).toggleClass('bg1').toggleClass('bg2'); 758 var ulH = $(this).parents(".events").height(); 759 var wraH = 430 + ulH; 760 $(".calendar-wra-index").css("min-height", wraH + "px") 761 }) 762 $(".calendar-today").find(".calendar-content").addClass('act') 763 764 $(".calendar-cell").click(function(){ 765 console.log($(this).find(".condate").text()) 766 $(".calendar-cell").find(".calendar-content").removeClass('act'); // å é¤å ¶å å¼å ç´ çæ ·å¼ 767 $(this).find(".calendar-content").addClass('act'); 768 var curYear = $(this).find(".conyear").text() 769 var curMonth = $(this).find(".conmonth").text() 770 var curDate = $(this).find(".condate").text() 771 console.log(curYear, curMonth, curDate) 772 curDate = parseInt(curDate) 773 if (curDate < 10) { 774 curDate = "0" + curDate 775 } 776 if (curMonth < 10) { 777 curMonth = "0" + curMonth 778 } 779 $(".calendar-year-text").text(curYear + "/"); 780 $(".calendar-month-text").text(curMonth + "/"); 781 $(".calendar-day-text").text(curDate); 782 783 var rlhtml = $(this).find(".rld").html(); 784 $("#hdrltck").html(rlhtml); 785 $('.J-down').stop().slideToggle("fast"); 786 if ($(this).find(".events").find("li").length > 0) { 787 $(this).find(".calendar-content").addClass('act') 788 var ulH = $(this).find(".events").height(); 789 var wraH = 420 + ulH; 790 $(".calendar-wra-index").css("min-height", wraH + "px") 791 } else { 792 $(".calendar-wra-index").css("min-height", "auto") 793 } 794 if ($(this).find(".events").find("li").length > 0) { 795 $(this).find(".calendar-content").addClass('act') 796 var ulH = $(this).find(".events").height(); 797 var wraH = 420 + ulH; 798 $(".calendar-wra-index").css("min-height", wraH + "px") 799 } else { 800 $(".calendar-wra-index").css("min-height", "auto") 801 } 802 }) 803 804 /*$(".events li:first-child .licon").css("display", "block") 805 $(".events li:first-child").children(".licontit").addClass("bg2") 806 $(".licontit").click(function(e){ 807 e.stopPropagation(); 808 $(this).next().slideToggle(100) 809 $(this).toggleClass('bg1').toggleClass('bg2'); 810 }) 811 $(".calendar-today").find(".calendar-content").addClass('act') 812 $(".calendar-cell").click(function(){ 813 $(".calendar-cell").find(".calendar-content").removeClass('act'); // å é¤å ¶å å¼å ç´ çæ ·å¼ 814 if ($(this).find(".events").find("li").length > 0) { 815 $(this).find(".calendar-content").addClass('act') 816 $(".calendar-wra").css("min-height", "520px") 817 } else { 818 $(".calendar-wra").css("min-height", "auto") 819 } 820 $(".calendar-cell").find(".active-today").removeClass('clickday'); 821 $(this).find(".active-today").addClass('clickday'); 822 var curYear = $(this).find(".conyear").text() 823 var curMonth = $(this).find(".conmonth").text() 824 var curDate = $(this).find(".condate").text() 825 console.log(curYear, curMonth, curDate) 826 curDate = parseInt(curDate) 827 if (curDate < 10) { 828 curDate = "0" + curDate 829 } 830 if (curMonth < 10) { 831 curMonth = "0" + curMonth 832 } 833 console.log($(".siteID").text()) 834 835 836 $(".calendar-month-text").text(curMonth + "/"); 837 $(".calendar-day-text").text(curDate); 838 $(".calendar-cell").find("li").remove() 839 event_search2(curYear,curMonth,curDate) 840 // è¯·æ±æ¥å£ 841 function event_search2(curYear,curMonth,curDate){ 842 var siteID = $(".siteID").text() 843 var startTime = curYear + "-" + curMonth + "-" + curDate + " 00:00:00"; 844 var endTime = curYear + "-" + curMonth + "-" + curDate + " 23:59:59"; 845 var dc = new DataCollection(); 846 dc.add("StartTime",startTime); 847 dc.add("EndTime",endTime); 848 dc.add("SiteID",siteID); 849 dc.add("CatalogID",$V("HdrlCatalogID")); 850 Server.sendRequest("EnEventCalendar.getEventDataByTime",dc,function(response){ 851 data = response.Data; 852 data = JSON.parse(data) 853 console.log(data); 854 var s = ''; 855 data.forEach(function (item) { 856 console.log(item) 857 if (item.content) { 858 s += '<li><span class="licontit" title="' + item.name + '">' + item.name + '</span><span class="licon">' + item.content + '<a href="'+item.linkUrl+'" target="_blank"><i class="calenar-share"></i></a></span></li>' 859 } else { 860 s += '<li><span class="licontit" title="' + item.name + '">' + item.name + '</span></li>' 861 } 862 }) 863 $(this).find(".events").append(s) 864 $(".calendar-wra").find(".events").append(s) 865 $(".events li:first-child .licon").css("display", "block") 866 $(".events li:first-child").children(".licontit").addClass("bg2") 867 $(".licontit").click(function(e){ 868 e.stopPropagation(); 869 $(this).next().slideToggle(100) 870 $(this).toggleClass('bg1').toggleClass('bg2'); 871 }) 872 if ($(this).find(".events").find("li").length > 0) { 873 $(this).find(".calendar-content").addClass('act') 874 $(".calendar-wra").css("min-height", "520px") 875 } else { 876 $(".calendar-wra").css("min-height", "auto") 877 } 878 }); 879 } 880 881 // è¯·æ±æ¥å£ 882 })*/ 883 } 884 885} 886$.fn.calendar = function (options) { 887
888 var isSTR = typeof options == "string", 889 args, ret; 890 891 if (isSTR) { 892 args = $.makeArray(arguments) 893 args.splice(0, 1); 894 } 895 896 var name = "calendar", 897 type = Calendar; 898 899 var jq = this.each(function () { 900 var ui = $.data(this, name); 901 902 if (!ui) { 903 ui = new type(this, options); 904 $.data(this, name, ui); 905 } 906 if (isSTR) { 907 ret = ui[options].apply(ui, args); 908 } 909 }); 910 911 return isSTR ? ret : jq; 912};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.