wsbf.js 32 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018
  1. <!-- 拖动坐标定位算法 开始-->
  2. function findPosX(obj) { //辅助函数 得到元素左边与浏览器左边的边距.rqsj{width:690px;height:auto;float:left;padding-top:20px; padding-bottom:20px;}
  3. var curleft = 0;
  4. if (obj && obj.offsetParent) {
  5. while (obj.offsetParent) {
  6. curleft += obj.offsetLeft;
  7. obj = obj.offsetParent;
  8. }
  9. } else if (obj && obj.x) curleft += obj.x;
  10. return curleft; // + document.body.scrollLeft - document.body.clientLeft;
  11. }
  12. function findPosY(obj) { //辅助函数 得到元素上边与浏览器上边的边距
  13. var curtop = 0;
  14. if (obj && obj.offsetParent) {
  15. while (obj.offsetParent) {
  16. curtop += obj.offsetTop;
  17. obj = obj.offsetParent;
  18. }
  19. } else if (obj && obj.y) curtop += obj.y;
  20. return curtop; // + document.body.scrollTop - document.body.clientTop;
  21. }
  22. var columns = [];
  23. var main;
  24. var dragGhost = document.createElement("div");
  25. dragGhost.style.border = "dashed 1px #CCCCCC";
  26. dragGhost.style.background = "#fff";
  27. dragGhost.style.display = "none";
  28. dragGhost.style.margin = "10px";
  29. var isIE = document.all;
  30. function dragItem(item) {
  31. //item实际上是dragBody(拖动的时候移动的整体)
  32. //在这里需要根据item找到handle(能够拖动的把手)
  33. //console.info(item);
  34. var handle;
  35. for (var i = 0; i < item.childNodes.length; i++) {
  36. if (item.childNodes[i].nodeName.toLowerCase() == "h3") {
  37. handle = item.childNodes[i];
  38. break;
  39. }
  40. }
  41. if (!handle) return;
  42. Drag.init(handle, item);
  43. item.onDragStart = function(left, top, mouseX, mouseY) {
  44. //this.style.display="none";
  45. if (this.getAttribute("key") > 0) {
  46. this.style.opacity = "1";
  47. } else {
  48. this.style.opacity = "0.8";
  49. }
  50. var key = parseInt(this.getAttribute("key"));
  51. key = eval(key * -1);
  52. this.setAttribute("key", key);
  53. //开始拖动的时候设置透明度
  54. //this.style.opacity = "0.5";
  55. this.style.filter = "alpha(opacity=80)";
  56. dragGhost.style.height = (isIE ? this.offsetHeight : this.offsetHeight - 2) + "px";
  57. //this指的是item
  58. var width=$(this.parentNode)[0].scrollWidth;
  59. this.style.width = "200px"; //因为初始的width为auto 原来=>(width*0.8)+"px"
  60. this.style.margin="auto";
  61. this.style.left = (findPosX(this) - 5) + "px";
  62. this.style.top = (findPosY(this) - 5) + "px";
  63. this.style.position = "absolute";
  64. //console.info(this.style.left);
  65. //将ghost插入到当前位置
  66. dragGhost.style.display = "block";
  67. this.column.insertBefore(dragGhost, this);
  68. //记录每一列的左边距 在拖动过程中判断拖动对象所在的列会用到
  69. this.columnsX = [];
  70. for (var i = 0; i < columns.length; i++) {
  71. this.columnsX.push(findPosX(columns[i]));
  72. }
  73. };
  74. item.onDrag = function(left, top, mouseX, mouseY) {
  75. //先要判断在哪一列移动
  76. var columnIndex = 0;
  77. for (var i = 0; i < this.columnsX.length; i++) {
  78. /*if ((left + this.offsetWidth / 2) > this.columnsX[i]) {
  79. columnIndex = i;
  80. }*/
  81. if (left > this.columnsX[i]) {
  82. columnIndex = i;
  83. }
  84. }
  85. //如果columnIndex在循环中没有被赋值 则表示当前拖动对象在第一列的左边
  86. //此时也把它放到第一列
  87. var column = columns[columnIndex];
  88. if (this.column != column) {
  89. //之前拖动对象不在这个列
  90. //将ghost放置到这一列的最下方
  91. column.appendChild(dragGhost);
  92. this.column = column;
  93. }
  94. //然后在判断放在这一列的什么位置
  95. var currentNode = null;
  96. for (var i = 0; i < this.column.childNodes.length; i++) {
  97. if (this.column.childNodes[i].className == "item" && this.column.childNodes[i] != this //不能跟拖动元素自己比较 否则不能在本列向下移动
  98. && top < findPosY(this.column.childNodes[i])) { //从上到下找到第一个比拖动元素的上边距大的元素
  99. currentNode = this.column.childNodes[i];
  100. break;
  101. }
  102. }
  103. if (currentNode) {
  104. this.column.insertBefore(dragGhost, currentNode);
  105. } else {
  106. //拖到最下边 没有任何一个元素的上边距比拖动元素的top大 则添加到列的最后
  107. this.column.appendChild(dragGhost);
  108. }
  109. showButton($(".column.icon_checked"));
  110. };
  111. item.onDragEnd = function(left, top, mouseX, mouseY) {
  112. //this.style.opacity = "1";
  113. var id=$(this).children('input').val();
  114. var cdiv= $(this.column).find("div");
  115. var bool=true;
  116. for (var i=0;i<cdiv.length;i++) {
  117. var uid=cdiv.eq(i).children('input').val();
  118. //if(id==uid && this.parentElement!=$(this.column)[0])
  119. var ryList=$("#ryList")[0];
  120. var bb = cdiv.eq(i).parent()[0];
  121. if(ryList!=bb&&id==uid && this.parentElement!=$(this.column)[0])
  122. bool=false;
  123. console.log('相等');
  124. }
  125. if(!bool)
  126. wd.display.alert("本时间段内已存在该对象")
  127. var columnTop=$(this.column).offset().top;
  128. var columnLeft=$(this.column).offset().left;
  129. var columnWid=$(this.column).width();
  130. var columnHei=$(this.column).height();
  131. var maxTop=columnTop+columnHei;
  132. var maxLeft=columnLeft+columnWid;
  133. var spanAll=$(this.column).find("span[class='icons icon-checked']");
  134. if(mouseX>columnLeft&&mouseX<maxLeft&&mouseY>columnTop&&mouseY<maxTop&&bool){
  135. //鼠标x,y坐标在当前选框内。
  136. this.column.insertBefore(this, dragGhost);
  137. }
  138. this.style.filter = "alpha(opacity=100)";
  139. this.style.position = "static";
  140. this.style.display = "block";
  141. //this.style.width = "auto";
  142. dragGhost.style.display = "none";
  143. showButton($(".column.icon_checked"));
  144. };
  145. };
  146. <!-- 拖动坐标定位算法 结束-->
  147. <!-- 点击选定拖动框处理方法-----开始 -->
  148. function pd(t) {
  149. var idcolumn = $(".aaa");
  150. var dwtd = "0";
  151. for (var r = 0; r < idcolumn.length; r++) {
  152. var divc = $(idcolumn[r]).find("div .column");
  153. for (var dw = 0; dw < divc.length; dw++) {
  154. var tdname = $(divc[dw]).attr("tdname");
  155. if (tdname == "1") {
  156. dwtd = "1";
  157. //点击选中勾勾样式
  158. if ($(t).children(".icons").hasClass("icon-unchecked")) {
  159. $(t).children(".icons").removeClass("icon-unchecked").addClass("icon-checked");
  160. } else {
  161. $(t).children(".icons").removeClass("icon-checked").addClass("icon-unchecked");
  162. }
  163. break;
  164. }
  165. }
  166. }
  167. if (dwtd == "0") {
  168. //alert("您们没有选定设备存放框!");
  169. wd.display.alert("您没有选定时间段!")
  170. }
  171. }
  172. function getdq(t) {
  173. if(lastDom==t){
  174. if($(t).hasClass("icon_checked")){
  175. $(t).removeClass("icon_checked");
  176. }else{
  177. $(".column").removeClass("icon_checked");
  178. $(t).addClass("icon_checked");
  179. }
  180. }else{
  181. $(".column").removeClass("icon_checked");
  182. $(t).addClass("icon_checked");
  183. }
  184. var type = $("[name='searchType'].search").attr("type");
  185. if (type == "bm") {
  186. findbm();
  187. } else if (type == "bj") {
  188. findbj();
  189. } else if (type == "bfsb") {
  190. findbfsb();
  191. }
  192. var tchild = t.childNodes;
  193. var tzdiv = $(t).find("div");
  194. if (tzdiv.length > 0) {
  195. t.style.height = "auto";
  196. }
  197. //获取已选框的列表数据
  198. var ryids = t.getElementsByTagName("input");
  199. //获取备选列表数据
  200. var ryids2 = document.getElementById("ryList").getElementsByTagName("input");
  201. //根据已选数据,删除备选的中重复
  202. var ids = [];
  203. if (ryids.length > 0) {
  204. for (var r = 0; r < ryids.length; r++) {
  205. var val = $(ryids[r]).val();
  206. var inp = $("#ryList>div").find("input[value='" + val + "']");
  207. if (inp && inp.length > 0) {
  208. //查找到元素,移除
  209. var pn = inp.parentNode;
  210. $(pn).remove();
  211. }
  212. ids.push(val);
  213. }
  214. }
  215. //获取选定播放设备id结束
  216. ids = ids.join(",");
  217. $("#ryidlist").val(ids);
  218. columns = [];
  219. var con = document.getElementById("second").childNodes;
  220. console.info("转化操作样式...");
  221. //console.info(con[1]);
  222. for (var j = 1; j < con.length; j++) {
  223. var cz = $(con[j]).find("div");
  224. // var cz = con[j].getElementsByTagName("div");
  225. for (var n = 0; n < cz.length; n++) {
  226. var cname = $(cz.get(n)).attr("class");
  227. //console.info("类名:"+cname);
  228. if (cname == "column" || $(cz.get(n)).hasClass("column")) {
  229. //console.info("进入if");
  230. var tdname = $(cz.get(n)).attr("tdname");
  231. cz.get(n).setAttribute("tdname", "0");
  232. var czcz = cz[n].childNodes;
  233. //console.info("长度:"+czcz.length);
  234. if (czcz.length > 0) {
  235. //console.info(czcz[0]);
  236. for (var m = 0; m < czcz.length; m++) {
  237. //console.info("进入for");
  238. var zcname = $(czcz[m]).attr("class");
  239. if (zcname == "item") {
  240. console.info("改变类");
  241. czcz[m].className = "equipment-name";
  242. }
  243. }
  244. }
  245. }
  246. }
  247. }
  248. console.info("改变类");
  249. //设置当前点击框变成可拖动样式
  250. var c = t.childNodes;
  251. for (var j = 0; j < c.length; j++) {
  252. c[j].className = "item";
  253. }
  254. //设置可拖动
  255. var ry = document.getElementById("ryList");
  256. var td = ry.getAttribute("tdname");
  257. t.setAttribute("tdname", "1");
  258. //console.info(td);
  259. main = document.getElementById("first").getElementsByTagName("div");
  260. for (var k = 0; k < main.length; k++) {
  261. var tdname = main[k].getAttribute("tdname");
  262. if ((main[k].className == "column" || $(main[k]).hasClass("column")) && tdname == "1") {
  263. //console.info("进入if");
  264. columns.push(main[k]);
  265. }
  266. }
  267. for (var i = 0; i < columns.length; i++) {
  268. var column = columns[i];
  269. for (var j = 0; j < column.childNodes.length; j++) {
  270. var item = column.childNodes[j];
  271. if (item.className == "item") {
  272. //console.info(item);
  273. item.column = column; //给每个拖拽对象要指明它属于哪一列 而且这个属性会随着拖动而更新的
  274. //item.setAttribute("key",-1);
  275. item.key = -1;
  276. new dragItem(item);
  277. }
  278. }
  279. }
  280. console.info("设置可拖动完成");
  281. showButton(t);
  282. }
  283. var lastDom;
  284. function showButton(dom) {
  285. if(!dom||dom.length<=0){
  286. return;
  287. }
  288. var mean = $("#float_menu_time");
  289. var allw = $("#main").width();
  290. var l = $(dom).offset().left;
  291. var floatw = mean.width();
  292. var h = $(dom).offset().top + $(dom).height();
  293. if (allw - l < floatw) {
  294. mean.css({
  295. top: h + 'px',
  296. right: '0px',
  297. left: 'auto'
  298. });
  299. } else {
  300. mean.css({
  301. top: h + 'px',
  302. right: 'auto',
  303. left: l + 'px'
  304. });
  305. }
  306. if(lastDom==dom){
  307. if($(dom).hasClass("icon_checked")){
  308. mean.show();
  309. }else{
  310. mean.hide();
  311. }
  312. }else{
  313. mean.show();
  314. }
  315. lastDom=dom;
  316. }
  317. <!-- 点击选定拖动框处理方法-----结束 -->
  318. <!-- 显示增加的日期段时间段 ---------开始-->
  319. //时间格式转化(yyyy-MM-dd)
  320. Date.prototype.format = function(format) {
  321. var o = {
  322. "M+": this.getMonth() + 1, //month
  323. "d+": this.getDate(), //day
  324. "h+": this.getHours(), //hour
  325. "m+": this.getMinutes(), //minute
  326. "s+": this.getSeconds(), //second
  327. "q+": Math.floor((this.getMonth() + 3) / 3), //quarter
  328. "S": this.getMilliseconds() //millisecond
  329. }
  330. if (/(y+)/.test(format)) format = format.replace(RegExp.$1,
  331. (this.getFullYear() + "").substr(4 - RegExp.$1.length));
  332. for (var k in o)
  333. if (new RegExp("(" + k + ")").test(format))
  334. format = format.replace(RegExp.$1,
  335. RegExp.$1.length == 1 ? o[k] :
  336. ("00" + o[k]).substr(("" + o[k]).length));
  337. return format;
  338. }
  339. //初始化星期
  340. var dayNames = new Array("日", "一", "二", "三", "四", "五", "六");
  341. //设置显示日期段
  342. function selectrq(ksrq, jsrq) {
  343. console.info("进入top。。。");
  344. var ksxq = dayNames[new Date(ksrq).getDay()];
  345. var jsxq = dayNames[new Date(jsrq).getDay()];
  346. console.info("星期:" + ksxq + ";" + jsxq);
  347. var box = '<div class="rqsj" ksrq="" jsrq=""><input type="hidden" name="ksrq" value=""/><input type="hidden" name="jsrq" value=""/><div class="play-date" onclick="xdrq(this);" statu="0"><a style="display:none"></a><h5></h5><h6></h6></div></div>';
  348. $("#second").append(box);
  349. var ks = ksrq + "(" + ksxq + ")至";
  350. var js = jsrq + "(" + jsxq + ")";
  351. var rqd = ksrq + "|" + jsrq;
  352. var sc = document.getElementById("second").childNodes;
  353. console.info("长度:" + sc.length);
  354. //var b = sc[sc.length-1].getElementsByTagName("h5");
  355. //var h = sc[sc.length-1].getElementsByTagName("h6");
  356. //var ins = sc[sc.length-1].getElementsByTagName("a");
  357. var b = $(sc[sc.length - 1]).find("h5");
  358. var h = $(sc[sc.length - 1]).find("h6");
  359. var ins = $(sc[sc.length - 1]).find("a");
  360. console.info(sc[sc.length - 1]);
  361. $(b[0]).html(ks);
  362. $(h[0]).html(js);
  363. $(ins[0]).html(rqd);
  364. sc[sc.length - 1].setAttribute("id", ksrq);
  365. }
  366. //判断日期段是否合法
  367. function pdrqd(ksrq, jsrq) {
  368. console.info("进入判断时间是否合法。");
  369. var rqlist = $(".aaa");
  370. console.info("ksrq:" + ksrq);
  371. for (var i = 0; i < rqlist.length; i++) {
  372. var rq = rqlist.get(i);
  373. var idrq = $(rq).attr("id");
  374. var rqjh = idrq.split("|");
  375. console.info("krq:" + rqjh[0]);
  376. }
  377. }
  378. //设置显示时间段
  379. function selectsj(kssj, jssj) {
  380. console.info("top时间段。。。");
  381. var xdrqval = $("#scrq").val();
  382. var box = '<div class="sjry"><div class="xdsj" onclick="xdsj(this);" statu="0"><div style="height:15px;display:inline; position: relative;float:left;" ><h6> </h6></div><div style="height:15px;display:inline; position: relative;float:left;"><a style="display:none"></a><h6>时间段</h6></div></div><div class="column" style="height:100px;" onclick="getdq(this);" tdname="0"></div></div>';
  383. if (xdrqval != "" && xdrqval != null) {
  384. var mbdiv = document.getElementById(xdrqval);
  385. console.info(mbdiv);
  386. $(mbdiv).append(box);
  387. var h = mbdiv.childNodes;
  388. var c = h[h.length - 1];
  389. //console.info(c);
  390. var kssjstr = "1970-01-01 " + kssj;
  391. var jssjstr = "1970-01-01 " + jssj;
  392. var datekssj = new Date(kssjstr);
  393. var datejssj = new Date(jssjstr);
  394. //console.info("f:"+datekssj.format('hh:mm'));
  395. //console.info("f0:"+datejssj.format('hh:mm'));
  396. var sjds = datekssj.format('hh:mm') + "^" + datejssj.format('hh:mm');
  397. var sjd = datekssj.format('hh:mm') + "至" + datejssj.format('hh:mm');
  398. //var hh = c.getElementsByTagName("h6");
  399. var hh = $(c).find("h6");
  400. var hha = $(c).find("a");
  401. //var hha = c.getElementsByTagName("a");
  402. //var sjd = kssj+"-"+jssj;
  403. var mo = i + "-" + h.length;
  404. var id = mo + "-" + kssj + "-" + jssj;
  405. console.info("mo:" + mo);
  406. console.info(h[h.length - 1]);
  407. $(h[h.length - 1]).attr("id", id);
  408. //console.info(hh[1]);
  409. $(hh[1]).html(sjd);
  410. $(hha[0]).html(sjds);
  411. } else {
  412. var cc = document.getElementById("second").childNodes;
  413. console.info("sj长度为:" + cc.length);
  414. for (var i = 1; i < cc.length; i++) {
  415. //console.info(cc[i]);
  416. var box = '<div class="sjry"><div class="xdsj" onclick="xdsj(this);" statu="0"><div style="height:15px;display:inline; position: relative;float:left;" ><h6> </h6>&nbsp;</div><div style="height:20px;display:inline; position: relative;float:left;"><a style="display:none"></a><h6>时间段</h6></div></div><div class="column" style="height:100px;" onclick="getdq(this);" tdname="0"></div></div>';
  417. $(cc[i]).append(box);
  418. var h = cc[i].childNodes;
  419. var c = h[h.length - 1];
  420. //console.info(c);
  421. var kssjstr = "1970-01-01 " + kssj;
  422. var jssjstr = "1970-01-01 " + jssj;
  423. var datekssj = new Date(kssjstr);
  424. var datejssj = new Date(jssjstr);
  425. //console.info("f:"+datekssj.format('hh:mm'));
  426. //console.info("f0:"+datejssj.format('hh:mm'));
  427. var sjds = datekssj.format('hh:mm') + "^" + datejssj.format('hh:mm');
  428. var sjd = datekssj.format('hh:mm') + "至" + datejssj.format('hh:mm');
  429. //var hh = c.getElementsByTagName("h6");
  430. var hh = $(c).find("h6");
  431. var hha = $(c).find("a");
  432. //var hha = c.getElementsByTagName("a");
  433. //var sjd = kssj+"-"+jssj;
  434. var mo = i + "-" + h.length;
  435. var id = mo + "-" + kssj + "-" + jssj;
  436. console.info("mo:" + mo);
  437. console.info(h[h.length - 1]);
  438. $(h[h.length - 1]).attr("id", id);
  439. //console.info(hh[1]);
  440. $(hh[1]).html(sjd);
  441. $(hha[0]).html(sjds);
  442. }
  443. }
  444. }
  445. //设置显示星期和统计人员总数
  446. window.onload = function() {
  447. //统计人员总数
  448. var rylist = $(".rynot");
  449. console.info("cd:" + rylist.length);
  450. /*for (var i = 0; i < rylist.length; i++) {
  451. var zdiv = rylist.get(i);
  452. var h = $(zdiv).find("h3");
  453. console.info("h3:" + h.length);
  454. var a = $(zdiv).find("a");
  455. $(a).html(h.length + "台");
  456. }*/
  457. var rqlist = $(".play-date");
  458. console.info("rq:" + rqlist.length);
  459. for (var j = 0; j < rqlist.length; j++) {
  460. var odiv = rqlist.get(j);
  461. var hlist = $(odiv).find("h2");
  462. var ksrqo = hlist.get(0);
  463. var jsrqo = hlist.get(1);
  464. var ksrq = $(ksrqo).html();
  465. var jsrq = $(jsrqo).html();
  466. var ksxq = dayNames[new Date(ksrq).getDay()];
  467. var jsxq = dayNames[new Date(jsrq).getDay()];
  468. console.info("k:" + ksxq + ";j:" + jsxq);
  469. $(ksrqo).html(ksrq + "" + ksxq);
  470. $(jsrqo).html(jsrq + "" + jsxq);
  471. }
  472. }
  473. <!-- 显示增加的日期段时间段 ---------结束-->
  474. <!-- 对增加的日期段进行处理------ 开始 -->
  475. function matchrq(starttime, endtime) {
  476. var ksxq = dayNames[new Date(starttime).getDay()];
  477. var jsxq = dayNames[new Date(endtime).getDay()];
  478. var krqxq = starttime + ksxq + "";
  479. var jrqxq = endtime + jsxq + "";
  480. console.info("进入判断。。。");
  481. var startdate = new Date(starttime);
  482. var enddate = new Date(endtime);
  483. var timelist = $(".aaa")
  484. var a = '<div class="aaa" style="clear:left;height:auto;" id="' + starttime + "|" + endtime + '"><div class="play-date" onclick="selectdate(this);"><input class="rqd" type="hidden" value="">开始日期<h2>' + krqxq + '</h2>结束日期<h2>' + jrqxq + '</h2></div></div>';
  485. if (timelist.length > 0) {
  486. var state = "";
  487. for (var i = 0; i < timelist.length; i++) {
  488. var timestr = $(timelist[i]).attr("id") + "";
  489. //console.info(timestr);
  490. //var timearr = timestr.split("|");
  491. //var oldstarttime = timearr[0];
  492. //var oldendtime = timearr[1];
  493. var oldstarttime = timestr.substring(0, 10);
  494. //console.info("k:"+oldstarttime);
  495. var oldendtime = timestr.substring(11, 22);
  496. //console.info("j:"+oldendtime);
  497. var oldstartdate = new Date(oldstarttime);
  498. var oldenddate = new Date(oldendtime);
  499. console.info("oks:" + oldstartdate.getTime());
  500. console.info("ojs:" + oldenddate.getTime());
  501. console.info("nks:" + startdate.getTime());
  502. console.info("njs:" + enddate.getTime());
  503. //if ((startdate.getTime()>=oldstartdate.getTime()&&startdate.getTime()<oldenddate.getTime())||(enddate.getTime()>oldstartdate.getTime()&&enddate.getTime()<oldenddate.getTime())) {
  504. if ((startdate.getTime() >= oldstartdate.getTime() && startdate.getTime() <= oldenddate.getTime()) || (enddate.getTime() >= oldstartdate.getTime() && enddate.getTime() <= oldenddate.getTime())) {
  505. console.info("进行比较");
  506. return false;
  507. state = 0;
  508. break;
  509. } else {
  510. state = 1;
  511. }
  512. console.info("i:" + i)
  513. }
  514. console.info("state:" + state);
  515. var flag = "0";
  516. if (state == 1) {
  517. //var a = '<div class="aaa" style="clear:left;height:auto;" id="'+starttime+"|"+endtime+'"><div class="play-date" onclick="selectdate(this);"><input class="rqd" type="hidden" value="">开始日期:<br><h2>'+krqxq+'</h2>结束日期:<br><h2>'+jrqxq+'</h2><br></div></div>';
  518. for (var j = 0; j < timelist.length; j++) {
  519. var timestr1 = $(timelist[j]).attr("id") + "";
  520. console.info(timestr1);
  521. //var timearr = timestr.split("|");
  522. //var oldstarttime = timearr[0];
  523. //var oldendtime = timearr[1];
  524. var oldstarttime1 = timestr1.substring(0, 10);
  525. console.info("k:" + oldstartdate);
  526. var oldendtime1 = timestr1.substring(11, 22);
  527. console.info("j:" + oldendtime1);
  528. var oldstartdate1 = new Date(oldstarttime1);
  529. var oldenddate1 = new Date(oldendtime1);
  530. if (startdate.getTime() < oldstartdate1.getTime()) {
  531. console.info("时间合法,并确定了位置。");
  532. var documetdiv = timelist.get(j);
  533. $(documetdiv).before(a);
  534. flag = "1";
  535. }
  536. }
  537. //startdate.format('yyyy-MM-dd')
  538. if (flag == "0") {
  539. var documetdiv1 = timelist[timelist.length - 1];
  540. //var a = '<div class="aaa" style="height:auto;" id="'+starttime+"|"+endtime+'"><div class="play-date"><input class="rqd" type="hidden" value="">开始日期:<br><h2>2015-10-11日</h2>结束日期:<br><h2>2015-10-17六</h2><br></div></div>';
  541. $(documetdiv1).after(a);
  542. }
  543. console.info("div");
  544. //console.info(documetdiv);
  545. var rqdlist = $(a).find("div");
  546. var classname = rqdlist.get(0);
  547. console.info(classname);
  548. var zjsj = "";
  549. //var mdivlist = $()
  550. var timebtlist = $(".sjlb");
  551. //<div class="rynot1"><a></a><div class="column" style="height:45px;" onclick="getdq(this);" tdname="0" sjdid="16:40:00^16:42:00"></div></div>
  552. for (var z = 0; z < timebtlist.length; z++) {
  553. var sjid = $(timebtlist).attr("sjdid");
  554. console.info("sjid:" + sjid);
  555. var zjsjdiv = '<div class="rynot1"><a style="text-align:center;"></a><div class="column" style="height:116px;" onclick="getdq(this);" tdname="0" sjdid="' + sjid + '"></div></div>';
  556. zjsj += zjsjdiv;
  557. }
  558. var mrqdlist = $(".aaa");
  559. for (var md = 0; md < mrqdlist.length; md++) {
  560. var mdivlist = $(mrqdlist[md]).children();
  561. if (mdivlist.length < 2) {
  562. console.info(mdivlist[0]);
  563. $(mdivlist[0]).after(zjsj);
  564. }
  565. }
  566. showButton($(".column.icon_checked"));
  567. console.info(zjsj);
  568. return true;
  569. }
  570. } else {
  571. var timebtlist = $(".sjlb");
  572. var zjsj1 = "";
  573. if (timebtlist.length > 0) {
  574. console.info("时间存在。。");
  575. $(timebtlist[timebtlist.length - 1]).after(a);
  576. for (var z = 0; z < timebtlist.length; z++) {
  577. var sjid = $(timebtlist).attr("sjdid");
  578. console.info("sjid:" + sjid);
  579. var zjsjdiv = '<div class="rynot1"><a></a><div class="column" style="height:116px;" onclick="getdq(this);" tdname="0" sjdid="' + sjid + '"></div></div>';
  580. zjsj1 += zjsjdiv;
  581. }
  582. var adiv = $(".aaa");
  583. var mdivlist = $(adiv[0]).children();
  584. if (mdivlist.length < 2) {
  585. console.info("不存在播放设备div...");
  586. console.info(mdivlist[0]);
  587. $(mdivlist[0]).after(zjsj1);
  588. }
  589. } else {
  590. console.info("时间不存在。。");
  591. $("#nulltime").after(a);
  592. }
  593. showButton($(".column.icon_checked"));
  594. return true;
  595. }
  596. }
  597. <!-- 对增加的日期段进行处理------ 结束 -->
  598. <!-- 对增加的时间段进行处理 ----开始 -->
  599. function matchsj(starttime, endtime) {
  600. var state = "";
  601. console.info("进入判断。。。" + starttime + "-" + endtime);
  602. var startdate = new Date("1970-01-01 " + starttime);
  603. var enddate = new Date("1970-01-01 " + endtime);
  604. var sjlblist = $(".sjlb");
  605. if (sjlblist.length > 0) {
  606. for (var i = 0; i < sjlblist.length; i++) {
  607. var timestr = $(sjlblist[i]).attr("sjdid") + "";
  608. var oldstarttime = timestr.substring(0, 8);
  609. //console.info("k:"+oldstarttime);
  610. var oldendtime = timestr.substring(9, 17);
  611. //console.info("j:"+oldendtime);
  612. var oldstartdate = new Date("1970-01-01 " + oldstarttime);
  613. var oldenddate = new Date("1970-01-01 " + oldendtime);
  614. console.info("oldk:" + oldstartdate.getTime());
  615. console.info("oldj:" + oldenddate.getTime());
  616. console.info("nk:" + startdate.getTime());
  617. console.info("nj:" + enddate.getTime());
  618. if ((startdate.getTime() > oldstartdate.getTime() && startdate.getTime() < oldenddate.getTime()) || (enddate.getTime() > oldstartdate.getTime() && enddate.getTime() < oldenddate.getTime())) {
  619. console.info("进行比较");
  620. return false;
  621. state = 0;
  622. alert("您输入的时间段存在交错。");
  623. break;
  624. } else {
  625. state = 1;
  626. }
  627. console.info("i:" + i)
  628. }
  629. //console.info("state:"+state);
  630. var flag = "0";
  631. var dw = "";
  632. var sjid = starttime + "^" + endtime;
  633. if (state == "1") {
  634. var bb = '<div class="sjlb" delstatu="0" onclick="selectsjd(this);" sjdid="' + starttime + "^" + endtime + '"><h3>' + starttime + "-" + endtime + '</h3></div>';
  635. var zjsjdiv = '<div class="rynot1"><a></a><div class="column" style="height:116px;" onclick="getdq(this);" tdname="0" sjdid="' + sjid + '"></div></div>';
  636. for (var j = 0; j < sjlblist.length; j++) {
  637. var timestr1 = $(sjlblist[j]).attr("sjdid") + "";
  638. //console.info(timestr1);
  639. //var timearr = timestr.split("|");
  640. //var oldstarttime = timearr[0];
  641. //var oldendtime = timearr[1];
  642. var oldstarttime1 = timestr1.substring(0, 8);
  643. //console.info("sjk:"+oldstarttime1);
  644. var oldendtime1 = timestr1.substring(9, 17);
  645. //console.info("sjj:"+oldendtime1);
  646. var oldstartdate1 = new Date("1970-01-01 " + oldstarttime1);
  647. var oldenddate1 = new Date(oldendtime1);
  648. //console.info("old开始时间:"+oldstartdate1.getTime());
  649. //console.info("开始时间:"+startdate.getTime());
  650. if (startdate.getTime() < oldstartdate1.getTime()) {
  651. //console.info("时间合法,并确定了位置。"+oldendtime1);
  652. var documetdiv = sjlblist.get(j);
  653. //16:50:22 16:50:40
  654. dw = j;
  655. //$(documetdiv).after(a);
  656. flag = "1";
  657. break;
  658. }
  659. }
  660. console.info("flag:" + flag + ";j:" + j);
  661. if (flag == "1") {
  662. var firsttime = sjlblist.get(dw);
  663. $(firsttime).before(bb);
  664. var aaalist = $(".aaa");
  665. for (var aa = 0; aa < aaalist.length; aa++) {
  666. var alength = $(aaalist[aa]).children();
  667. console.info("长度:" + alength.length)
  668. $(alength[dw]).after(zjsjdiv);
  669. }
  670. //console.info(firsttime);
  671. }
  672. if (flag == "0") {
  673. var firsttime1 = sjlblist.get(sjlblist.length - 1);
  674. $(firsttime1).after(bb);
  675. var aaalist = $(".aaa");
  676. for (var aa = 0; aa < aaalist.length; aa++) {
  677. var alength = $(aaalist[aa]).children();
  678. console.info("长度:" + alength.length)
  679. $(alength[alength.length - 1]).after(zjsjdiv);
  680. }
  681. //var a = '<div class="aaa" style="height:auto;" id="'+starttime+"|"+endtime+'"><div class="play-date"><input class="rqd" type="hidden" value="">开始日期:<br><h2>2015-10-11日</h2>结束日期:<br><h2>2015-10-17六</h2><br></div></div>';
  682. //$(documetdiv1).after(a);
  683. }
  684. showButton($(".column.icon_checked"));
  685. return true;
  686. }
  687. } else {
  688. var sjid = starttime + "^" + endtime;
  689. console.info("不存在时间段");
  690. console.info("else"); //starttime,endtime
  691. var fdiv = '<div class="sjlb" delstatu="0" onclick="selectsjd(this);" sjdid="' + starttime + "^" + endtime + '" kssj="' + starttime + '" jssj="' + endtime + '"><h3>' + starttime + "-" + endtime + '</h3></div>';
  692. //$("#nulltime").(fdiv);
  693. $("#nulltime").after(fdiv);
  694. var adiv = $(".aaa");
  695. if (adiv.length > 0) {
  696. var zjsjdiv = '<div class="rynot1"><a></a><div class="column" style="height:116px;" onclick="getdq(this);" tdname="0" sjdid="' + sjid + '"></div></div>';
  697. console.info("日期段不为空..");
  698. for (var i = 0; i < adiv.length; i++) {
  699. var mdivlist = $(adiv[i]).children();
  700. if (mdivlist.length < 2) {
  701. console.info("不存在播放设备div...");
  702. console.info(mdivlist[0]);
  703. $(mdivlist[0]).after(zjsjdiv);
  704. }
  705. }
  706. }
  707. showButton($(".column.icon_checked"));
  708. return true;
  709. }
  710. }
  711. <!-- 对增加的时间段进行处理 ----结束 -->
  712. <!-- 删除日期段 开始-->
  713. function selectdate(t) {
  714. // ``````````````````````````````````````````````
  715. console.info("come in");
  716. console.info(t);
  717. var ksrq = $(t).attr("ksrq");
  718. var jsrq = $(t).attr("jsrq");
  719. var allrq = $(".play-date");
  720. for (var al = 0; al < allrq.length; al++) {
  721. allrq[al].style.background = "#ffffff";
  722. }
  723. var delstate = $(t).attr("delstatu");
  724. if (delstate == "1") {
  725. $(t).attr("delstatu", "0");
  726. t.style.border = "1px solid #e2e2e2";
  727. $("#scrq").val("");
  728. $("#scsj").val("");
  729. // $(t).find("#float_menu").hide();
  730. } else {
  731. $(t).attr("delstatu", "1");
  732. t.style.border = "1px solid #1E90FF";
  733. if (typeof ksrq != "undefined" && typeof jsrq != "undefined") {
  734. $("#scrq").val(ksrq);
  735. $("#scsj").val(jsrq);
  736. }
  737. // $("#float_menu").hide();
  738. // $(t).find("#float_menu").show();
  739. }
  740. shouSjdButton(t)
  741. }
  742. <!-- 删除日期段 结束-->
  743. <!-- 删除选定的日期段或时间段对应的记录 ----开始-->
  744. //选定要删除的日期
  745. function xdrq(t) {
  746. var zt = $(t).attr("statu");
  747. var divlist = document.getElementById("second").getElementsByTagName("div");
  748. for (var i = 0; i < divlist.length; i++) {
  749. var classname = $(divlist[i]).attr("class");
  750. console.info("classname:" + classname);
  751. if (classname == "rq") {
  752. var statu = $(divlist[i]).attr("statu");
  753. if (statu == "1") {
  754. divlist[i].style.background = "#FFFFFF";
  755. $(divlist[i]).attr("statu", "0");
  756. $("#scsj").val("");
  757. }
  758. }
  759. }
  760. if (zt == 0) {
  761. t.style.border = "1px solid #1E90FF";
  762. var p = t.parentNode;
  763. console.info(p);
  764. var id = $(p).attr("id");
  765. console.info("id为:" + id);
  766. $("#scrq").val(id);
  767. $(t).attr("statu", "1");
  768. } else {
  769. t.style.background = "#FFFFFF";
  770. $(t).attr("statu", "0");
  771. $("#scsj").val("");
  772. }
  773. }
  774. //选定要删除的时间style="height:30px;width:210px;"
  775. function xdsj(t) {
  776. var zt = $(t).attr("statu");
  777. var divlist = document.getElementById("second").getElementsByTagName("div");
  778. for (var i = 0; i < divlist.length; i++) {
  779. var classname = $(divlist[i]).attr("class");
  780. if (classname == "xdsj") {
  781. var statu = $(divlist[i]).attr("statu");
  782. if (statu == "1") {
  783. divlist[i].style.background = "#FFFFFF";
  784. $(divlist[i]).attr("statu", "0");
  785. $("#scsj").val("");
  786. $("#sckssj").val("");
  787. $("#scjssj").val("");
  788. }
  789. }
  790. }
  791. if (zt == 0) {
  792. t.style.background = "#CAFF70";
  793. var p = t.parentNode;
  794. //console.info(p);
  795. var id = $(p).attr("id");
  796. console.info("id为:" + id);
  797. console.info(p);
  798. var childlist = p.parentNode.childNodes;
  799. var dkssj = $(p).attr("kssj");
  800. var djssj = $(p).attr("jssj");
  801. var kssj = (new Date(dkssj)).format('yyyy-MM-dd hh:mm:ss');
  802. var jssj = (new Date(djssj)).format('yyyy-MM-dd hh:mm:ss');
  803. console.info(kssj);
  804. console.info(jssj);
  805. $("#scsj").val(id);
  806. $("#sckssj").val(kssj);
  807. $("#scjssj").val(jssj);
  808. $(t).attr("statu", "1");
  809. } else {
  810. t.style.background = "#FFFFFF";
  811. $(t).attr("statu", "0");
  812. $("#scsj").val("");
  813. $("#sckssj").val("");
  814. $("#scjssj").val("");
  815. }
  816. }
  817. <!-- 删除选定的日期段或时间段对应的记录 ----结束 -->
  818. var bfsbSelectButton = ' <input placeholder="播放设备" name="mc" type="text" id="xm"/>' +
  819. '<input value="查询" type="button" class="content-invertButton" onclick="findbfsb()"/>';
  820. var bmSelectButton = ' <input placeholder="部门" name="mc" type="text" id="xm"/>' +
  821. '<input value="查询" type="button" class="content-invertButton" onclick="findbm()"/>';
  822. var bjSelectButton = ' <input placeholder="班级" name="mc" type="text" id="xm"/>' +
  823. '<input value="查询" type="button" class="content-invertButton" onclick="findbj()"/>';
  824. function searchBm(_obj) {
  825. findbm();
  826. selectedClass(_obj, bmSelectButton);
  827. }
  828. function searchBj(_obj) {
  829. findbj();
  830. selectedClass(_obj, bjSelectButton);
  831. }
  832. function searchBfsb(_obj) {
  833. findbfsb();
  834. selectedClass(_obj, bfsbSelectButton);
  835. }
  836. function selectedClass(_obj, htmlStr) {
  837. $("[name='searchType']").removeClass("search");
  838. $(_obj).addClass("search");
  839. $("#searchDiv").html(htmlStr);
  840. }
  841. function selectsjd(t) {
  842. console.info("come in");
  843. console.info(t);
  844. var kssj = "";
  845. var jssj = "";
  846. var ksj = $(t).attr("kssj");
  847. var jsj = $(t).attr("jssj");
  848. console.info(ksj);
  849. if (typeof ksj != "undefined" && typeof jsj != "undefined") {
  850. console.info("000");
  851. kssj = "1970-01-01 " + ksj;
  852. jssj = "1970-01-01 " + jsj;
  853. }
  854. var delstate = $(t).attr("delstatu");
  855. var rqlist = $(".sjlb");
  856. for (var i = 0; i < rqlist.length; i++) {
  857. rqlist[i].style.background = "#cccccc";
  858. }
  859. if (delstate == "1") {
  860. $(t).attr("delstatu", "0");
  861. t.style.background = "#cccccc";
  862. $("#sckssj").val("");
  863. $("#scjssj").val("");
  864. } else {
  865. $(t).attr("delstatu", "1");
  866. t.style.background = "blue";
  867. $("#sckssj").val(kssj);
  868. $("#scjssj").val(jssj);
  869. }
  870. }
  871. var lastSjdDom;
  872. function shouSjdButton(dom){
  873. var mean = $("#float_menu");
  874. var allw = $("#main").width();
  875. var l = $(dom).offset().left;
  876. var floatw = mean.width();
  877. var h = $(dom).offset().top + $(dom).height();
  878. if (allw - l < floatw) {
  879. mean.css({
  880. top: h + 'px',
  881. right: '0px',
  882. left: 'auto'
  883. });
  884. } else {
  885. mean.css({
  886. top: h + 'px',
  887. right: 'auto',
  888. left: l + 'px'
  889. });
  890. }
  891. if(lastSjdDom==dom){
  892. if($(dom).attr("delstatu")=="1"){
  893. mean.show();
  894. }else{
  895. mean.hide();
  896. }
  897. }else{
  898. mean.show();
  899. }
  900. lastSjdDom=dom;
  901. }