program.js 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397
  1. //查询
  2. function getList(page){
  3. page = page || 1;
  4. var pageSize = 10, data = $("#programForm").serializeJSON(), html = "";
  5. data['pageSize'] = pageSize;
  6. data['pageNo'] = page;
  7. data['firstType'] = $("#keywords1").val();
  8. data['secondType'] = $("#keywords2").val();
  9. $("#list").empty();
  10. $("#count").text(0);
  11. ajax("get_program_list.do",data,function(res){
  12. if(res.code == 1 && res.data.length > 0){
  13. $.each(res.data, function(index, item){
  14. html += '<tr>'+
  15. '<td><input type="checkbox" class="checkbox {click:itemCheck}" name="item" value="'+ item.id + '" /><label></label></td>' +
  16. '<td>'+item.programName.toNull()+'</td>'+
  17. '<td>'+item.type.toString().decode("1","综艺", "2","栏目", "3","电视剧","4", "电影","") +'</td>'+
  18. '<td>'+item.firstType.toNull() +'</td>'+
  19. '<td>'+item.secondType.toNull() +'</td>'+
  20. '<td>'+ (item.type == 1 || item.type == 2 ? item.showCycle.toString().decode("1","周播", "2","季播","") : "")+'</td>'+
  21. '<td>'+ (item.type == 1 || item.type == 2 ? item.showCycle.toString().decode("1",item.showYear != '' ? item.showYear + "年":item.showYear.toNull(),"2",item.showYear != '' ?"第" + item.showYear +"季" :item.showYear.toNull(),""):"") +'</td>'+
  22. '<td>'+ item.type.toString().decode("1",item.showPhase!=''? "第" +item.showPhase +"期" : item.showPhase.toNull(),"2",item.showPhase != '' ? "第" + item.showPhase + "期" : item.showPhase.toNull(),"3",item.episode != '' ? "第" + item.episode + "集" : item.episode.toNull(),"") +'</td>'+
  23. '<td>'+(item.showTime ? new Date(item.showTime.time).Format("yyyy-MM-dd"):"")+'</td>'+
  24. '<td>'+(item.startTime ? new Date(item.startTime.time).Format("hh:mm"):"")+'</td>'+
  25. '<td>'+(item.endTime ? new Date(item.endTime.time).Format("hh:mm"):"")+ '</td>'+
  26. '<td class="edit">'+
  27. ' <a href="'+item.type.toString().decode("1","program_data_vareity.do?id="+item.id + "&mode=1", "2","program_data_vareity.do?id="+ item.id + "&mode=1", "3","program_data_tv.do?id=" + item.id + "&mode=1","4", "program_data_movie.do?id=" + item.id + "&mode=1","") +'">查看</a>&nbsp;&nbsp;'+
  28. (data_update_flag == 1 ? ' <a href="'+item.type.toString().decode("1","program_data_vareity.do?id="+item.id + "&mode=2", "2","program_data_vareity.do?id="+ item.id + "&mode=2", "3","program_data_tv.do?id=" + item.id + "&mode=2","4", "program_data_movie.do?id=" + item.id + "&mode=2","") +'">编辑</a>' : '') +
  29. '</td>' +
  30. '<td class="edit"> '+
  31. (update_flag == 1 ? '<a href="javascript:programModfiy(\'edit\',\'节目\','+item.id+')">编辑</a>&nbsp;&nbsp;' : '')+
  32. (delete_flag == 1 ? '<a href="javascript:delProgram('+item.id+')">删除</a>' : '') +
  33. '</td>' +
  34. '</tr>';
  35. });
  36. $("#list").html(html);
  37. $("#count").text(res.total);
  38. var newpage = new createPage(res.total, page, pageSize, 3);
  39. $("#page").html(newpage.pageHtml);
  40. $(".table").hoverTable(true);
  41. $.checkbox();
  42. }else{
  43. $("#list").info("暂无信息。");
  44. }
  45. });
  46. }
  47. pageGo = function(page){
  48. resetCheckAll();
  49. getList(page);
  50. }
  51. // 删除
  52. function delProgram(id){
  53. id = id == undefined ? getChkId().join(",") : id;
  54. confirm("您确定需要删除该节目记录吗?",function(){
  55. top.ajax("del_program.do",{"id":id},function(res){
  56. if(res.code == 1){
  57. alert("节目记录删除成功。", 1, function(){
  58. getList(1);
  59. });
  60. }else{
  61. alert(res.msg);
  62. }
  63. });
  64. });
  65. }
  66. // 获取选中的id
  67. function getChkId(){
  68. var ids = '';
  69. $("input[name='item']:checked").each(function(){
  70. if(ids != ''){
  71. ids = ids + ',' + $(this).val();
  72. }else{
  73. ids = $(this).val();
  74. }
  75. });
  76. return ids;
  77. }
  78. // 批量删除
  79. function delBatch(){
  80. var checkedId = getChkId();
  81. if (checkedId.isEmpty()){
  82. alert("请至少选择一条记录");
  83. return false;
  84. }
  85. confirm("确定删除这些记录吗?", function(){
  86. ajax("del_batch_program.do", {"checkedId":checkedId}, function(res){
  87. if (res.code == 1){
  88. alert("删除成功。", 1, function(){
  89. getList(1);
  90. });
  91. } else {
  92. alert(res.msg);
  93. }
  94. });
  95. });
  96. }
  97. // 新增或修改弹窗
  98. function programModfiy(act, title, id){
  99. title = title || "";
  100. id = id || "";
  101. $.openWindow(act.decode("add","新增","edit","修改","")+title, "program_info.do?id="+id, 800, 400, true);
  102. }
  103. function changeToVariety(obj){
  104. var val = $(obj).val();
  105. switch(parseInt(val)){
  106. case 3:
  107. $(".variety,.cycle-year,.cycle-month").addClass("contentTxt");
  108. $("input[name='showCycle']:eq(0),input[name='showCycle']:eq(1)").prop("checked",false);
  109. $(".tv").removeClass("contentTxt");
  110. break;
  111. case 4:
  112. $(".variety,.cycle-year,.cycle-month,.tv,.variety-date").addClass("contentTxt");
  113. $("input[name='showCycle']:eq(0),input[name='showCycle']:eq(1)").prop("checked",false);
  114. break;
  115. default:
  116. $(".variety,.cycle-year,.variety-date").removeClass("contentTxt");
  117. $(".tv,.cycle-month").addClass("contentTxt");
  118. $(".cycle-year").find("input").attr("name","showYear");
  119. $(".cycle-month").find("input").removeAttr("name");
  120. $("input[name='showCycle']:eq(0)").prop("checked",true);
  121. break;
  122. }
  123. $(".text").input();
  124. getOneCategory($(obj).val());
  125. $.radio();
  126. }
  127. // 周播和季播切换
  128. function changeTobo(obj){
  129. var val = $(obj).val();
  130. if(val == 1){
  131. $(".cycle-year").removeClass("contentTxt");
  132. $(".cycle-month").addClass("contentTxt");
  133. $(".cycle-year").find("input").attr("name","showYear");
  134. $(".cycle-month").find("input").removeAttr("name");
  135. $(".cycle-month").find("input").val("");
  136. }else{
  137. $(".cycle-month").removeClass("contentTxt");
  138. $(".cycle-year").addClass("contentTxt");
  139. $(".cycle-month").find("input").attr("name","showYear");
  140. $(".cycle-year").find("input").removeAttr("name");
  141. $(".cycle-year").find("input").val("");
  142. }
  143. $(".text").input();
  144. }
  145. //// 获取一级分类(类型为单选框)
  146. //function getOneCategory(typeName){
  147. // var html = '<option value="">一级分类</option>';
  148. // ajax(_PUBLIC_+"/static/json/program.json",{},function(res){
  149. // getOneCategory.data = res;
  150. // $.each(getOneCategory.data,function(index, item){
  151. // if(typeName == item.name){
  152. // $.each(item.childs,function(i, it){
  153. // html +='<option value="'+it.name+'"'+(it.name == firstType ? " selected":"")+'>'+it.name+'</option>';
  154. // });
  155. // }
  156. // },false);
  157. // $("#firstType").html(html);
  158. // $(".select").uiSelect();
  159. // getTwoCategory();
  160. // });
  161. //}
  162. // 获取一级,二级分类(单选框)
  163. function getOneCategory(typeName){
  164. $("#keywords1").inputTips("ajax_program_category_list.do?type=" + typeName + "&level=1",2,"#firstType",200,null,true);
  165. $("#keywords2").inputTips("ajax_program_category_list.do?type=" + typeName + "&level=2",2,"#secondType",200,null,true);
  166. }
  167. //// 获取一级分类(类型为下拉框)
  168. //function getOneCategorySelect(){
  169. // var html = '<option value="">一级分类</option>';
  170. // var type = $(this).find("option:selected").text();
  171. // ajax(_PUBLIC_+"/static/json/program.json",{},function(res){
  172. // getOneCategory.data = res;
  173. // $.each(getOneCategory.data,function(index, item){
  174. // if(type == item.name){
  175. // $.each(item.childs,function(i, it){
  176. // html +='<option value="'+it.name+'"'+(it.name == firstType ? " selected":"")+'>'+it.name+'</option>';
  177. // });
  178. // }
  179. // },false);
  180. // $("#firstType").html(html);
  181. // $(".select").uiSelect();
  182. // getTwoCategory();
  183. // });
  184. //}
  185. //获取一级分类和二级分类(类型为下拉框)
  186. function getOneCategorySelect(){
  187. $("#keywords1").val("");
  188. $("#keywords2").val("")
  189. var type = $(this).find("option:selected").val();
  190. $("#keywords1").inputTips("ajax_program_category_list.do?type=" + type + "&level=1",2,"#firstType",200,null,true);
  191. $("#keywords2").inputTips("ajax_program_category_list.do?type=" + type + "&level=2",2,"#secondType",200,null,true);
  192. }
  193. function getSubData(){
  194. var data = "";
  195. $.each(getOneCategory.data,function(index, item){
  196. $.each(item.childs,function(i, it){
  197. if($("#firstType>option:selected").val() === it.name){
  198. data.length <= 0 ? data = it.childs : "";
  199. }
  200. });
  201. });
  202. return data;
  203. }
  204. // 获取二级分类
  205. function getTwoCategory(){
  206. var html = '<option value="">二级分类</option>';
  207. $.each(getSubData(),function(x, t){
  208. html +='<option value="'+t.name+'"'+(t.name == secondType ? " selected":"")+'>'+t.name+'</option>';
  209. });
  210. $("#secondType").html(html);
  211. $(".select").uiSelect();
  212. }
  213. // 保存节目
  214. function programSave(){
  215. var data = $("#addProgramForm").serializeJSON();
  216. data['firstType'] = $("#keywords1").val();
  217. data['secondType'] = $("#keywords2").val();
  218. if(data.programName.isEmpty()){
  219. top.alert("请输入节目名称");
  220. $("input[name='programName']").focus();
  221. return false;
  222. }
  223. if(data.firstType.isEmpty()){
  224. top.alert("请选择一级分类");
  225. $("input[name='firstType']").focus();
  226. return false;
  227. }
  228. if(data.secondType.isEmpty()){
  229. top.alert("请选择二级分类");
  230. $("input[name='secondType']").focus();
  231. return false;
  232. }
  233. if(data.type == 1 || data.type == 2){
  234. if(data.showYear.isEmpty()){
  235. top.alert("请输入年份");
  236. $("input[name='showYear']").focus();
  237. return false;
  238. }
  239. }
  240. if(data.type == 1 || data.type == 2){
  241. if(data.showPhase.isEmpty()){
  242. top.alert("请输入第几期");
  243. $("input[name='showPhase']").focus();
  244. return false;
  245. }
  246. }
  247. if(data.type == 3 && data.episode.isEmpty()){
  248. top.alert("请输入第几集");
  249. $("input[name='episode']").focus();
  250. return false;
  251. }
  252. if(data.showTime.isEmpty()){
  253. top.alert("请输入首播日期");
  254. $("input[name='showTime']").focus();
  255. return false;
  256. }
  257. if(data.startTime.isEmpty() && data.type != 4){
  258. top.alert("请输入开始时间");
  259. $("input[name='startTime']").focus();
  260. return false;
  261. }
  262. if(data.endTime.isEmpty() && data.type != 4){
  263. top.alert("请输入结束时间");
  264. $("input[name='endTime']").focus();
  265. return false;
  266. }
  267. if(data.type != 4 && compareTime(data.startTime,data.endTime) == 0){
  268. top.alert("结束时间不能小于等于开始时间!");
  269. $("input[name='endTime']").focus();
  270. return false;
  271. }
  272. top.ajax("./save_program.do",data,function(res){
  273. if(res.code == 1){
  274. top.alert("保存成功。", 1 , function(){
  275. top.getList(1);
  276. top.$.closeWindow();
  277. });
  278. }else{
  279. top.alert(res.msg);
  280. }
  281. });
  282. }
  283. // 时分比较
  284. function compareTime(t1,t2){
  285. var a = t1.split(":");
  286. var b = t2.split(":");
  287. if(a[0] > b[0]){
  288. return 0;
  289. }else if(a[0] < b[0]){
  290. return 1;
  291. }else{
  292. if(a[1] < b[1]){
  293. return 1;
  294. }else{
  295. return 0;
  296. }
  297. }
  298. }
  299. // 导入表格数据
  300. function importExcel(obj){
  301. var url = "import_excel_for_program.do";
  302. $("#excelInfo").attr("action",url).submit();
  303. // $("#programForm").attr({"action":"import_excel_for_program.do","method":"post","target":"hframe","enctype":"multipart/form-data"}).submit();
  304. $(obj).after($(obj).clone().val('')).remove();
  305. }
  306. // 导入结果
  307. function excelCallback(code, msg) {
  308. if (code == 1) {
  309. alert("导入成功。", 1, function(){
  310. top.$.closeWindow();
  311. getList(1);
  312. });
  313. } else {
  314. alert(msg, 0, function(){
  315. location.reload();
  316. });
  317. }
  318. }
  319. // 导出表格数据
  320. function exportExcel(obj){
  321. var programName = $("#programName").val();
  322. var showPhase = $("#showPhase").val();
  323. var type = $("#type option:selected").val();
  324. var firstType = $("#keywords1").val();
  325. var secondType = $("#keywords2").val();
  326. var startDate = $("#start_time").val();
  327. var endDate = $("#end_time").val();
  328. $("#programForm").attr({"action":"export_excel_for_program.do?programName="+programName+"&showPhase="+showPhase +"&type="+type+"&firstType="+firstType+"&secondType="+secondType+"&startDate="+startDate+"&endDate="+endDate,"method":"get"}).submit();
  329. $(obj).after($(obj).clone().val('')).remove();
  330. }
  331. // 导入节目数据模板弹窗
  332. function programDataTemplate(){
  333. $.openWindow("导入数据", "program_data_template.do", 450, 400, true);
  334. }
  335. // 选择模板导入节目数据
  336. function importProgramData(o){
  337. $("input[type='radio']").prop("checked",false);
  338. $(o).prop("checked",true);
  339. $("#param").val($(o).val());
  340. $.radio();
  341. $("#programDataTemplate").click();
  342. }
  343. // 导入节目数据
  344. function importExcelForProgramData(obj){
  345. if(!$("input[name='type']").is(':checked')){
  346. top.alert("请选择模板类型。");
  347. return false;
  348. }
  349. if($("#programDataTemplate").val().isEmpty()){
  350. top.alert("请选择上传的模板文件。");
  351. return false;
  352. }
  353. $("#excelInfo").attr("action","import_excel_for_program_data.do").submit();
  354. }
  355. //导入结果
  356. function excelCallback2(code, msg) {
  357. if (code == 1) {
  358. alert("导入成功。", 1, function(){
  359. top.$.closeWindow();
  360. getList(1);
  361. });
  362. } else {
  363. top.$.closeWindow();
  364. alert(msg, 0, function(){
  365. location.reload();
  366. });
  367. }
  368. }