newsList.jsp 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548
  1. <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
  2. <jsp:include page="../../common/include.jsp" />
  3. <% String basePath = request.getScheme()+ "://" + request.getServerName() + ":" +request.getServerPort() + request.getContextPath(); %>
  4. <script type="text/javascript">
  5. var editor = null;
  6. var editor_up = null;
  7. KindEditor.ready(function(K) {
  8. editor = K.create('#editor_content');
  9. editor_up = K.create('#editor_content2');
  10. });
  11. var typeobj = null;
  12. var type_array = null;
  13. $(function() {
  14. /**加载数据字典**/
  15. $.ajax({
  16. type: "post",//使用post方法访问后台
  17. dataType: "json",//返回json格式的数据
  18. url: "aa10Action_listAa10All",//要访问的后台地址
  19. data:{"aa10.letter":"NewsType" ,"aa10.name":"栏目类型" },
  20. complete :function(){$("#load").hide();},//AJAX请求完成时隐藏loading提示
  21. success: function(msg){//msg为返回的数据,在这里做数据绑定
  22. if(msg.success){
  23. var data = msg.obj.rows;
  24. typeobj = data;
  25. var select_arr = [];
  26. for(var nItem = 0; nItem < data.length; nItem++ ){
  27. select_arr.push("<option value="+data[nItem].code+">"+data[nItem].value+"</option>");
  28. }
  29. type_array = select_arr.join("");
  30. $("#newsType").append(type_array);
  31. }
  32. }
  33. });
  34. $.ajax({
  35. type: "post",
  36. dataType: "json",
  37. url: "columnSetAction_listColumn?tname=news",
  38. complete :function(){$("#load").hide();},
  39. success: function(msg){
  40. if(msg.success){
  41. setId();
  42. var data = msg.obj;
  43. for(var i = 0;i<data.length;i++){
  44. if("1"==data[i].type){
  45. if(typeof(data[i].formatter)!="undefined"){
  46. data[i].formatter=eval(data[i].formatter);
  47. }
  48. user_columns.push(data[i]);
  49. }else{
  50. user_frozenColumns.push(data[i]);
  51. }
  52. }
  53. columns.push(user_columns);
  54. frozenColumns.push(user_frozenColumns);
  55. $('#newsDataGrid').datagrid({
  56. rownumbers:true,
  57. fit:true,
  58. pageSize:20,
  59. pageList : [ 10, 20, 30, 40, 50 ],
  60. fitColumns:false,
  61. border:false,
  62. sortOrder:'desc',
  63. pagination:true,
  64. idField:'id',
  65. url:whzl.basePath + '/newsAction_List',
  66. toolbar:'#searchtool',
  67. checkOnSelect:true,
  68. selectOnCheck:true,
  69. singleSelect:true,
  70. nowrap:true,
  71. showFooter: true,
  72. columns:columns,
  73. frozenColumns:frozenColumns,
  74. loadFilter:function(result){
  75. if(result.success){
  76. return result.obj;
  77. }else{
  78. $.messager.alert("提示",result.message);
  79. return ;
  80. }
  81. }
  82. });
  83. toolBar("newsDataGrid","setNewsDialog","news");
  84. }
  85. }
  86. });
  87. /**新闻信息列表**/
  88. /*$('#newsDataGrid').datagrid({
  89. rownumbers:true,
  90. fit:true,
  91. pageSize:10,
  92. pageList : [ 10, 20, 30, 40, 50 ],
  93. fitColumns:false,
  94. border:false,
  95. sortOrder:'desc',
  96. pagination:true,
  97. idField:'id',
  98. toolbar:'#searchtool',
  99. checkOnSelect:true,
  100. selectOnCheck:true,
  101. nowrap:true,
  102. singleSelect: true,
  103. loadFilter:function(result){
  104. if(result.success){
  105. return result.obj;
  106. }else{
  107. alert(result.message);
  108. return ;
  109. }
  110. }
  111. }
  112. );*/
  113. });
  114. /**查询**/
  115. function searchFun(){
  116. var params = encodeURI("news.title="+trim($("#tblQuery").find("input[id='title']").val())+
  117. "&news.newsType="+trim($("#tblQuery").find("select[id='newsType']").val())+
  118. "&news.isImaged="+trim($("#tblQuery").find("select[id='isImaged']").val())
  119. );
  120. $('#newsDataGrid').datagrid({
  121. columns:columns,
  122. frozenColumns:frozenColumns,
  123. url:whzl.basePath + '/newsAction_List?'+params,pageNumber:1
  124. });
  125. toolBar("newsDataGrid","setNewsDialog","news");
  126. }
  127. /*清除查询条件**/
  128. function ClearQuery() {
  129. $("#tblQuery").find("input").val("");
  130. $("#tblQuery").find("select").val("-1");
  131. }
  132. /**格式化时间*/
  133. var dateFormatter = function(value,row,index){
  134. return dealDate(value);
  135. };
  136. /**栏目类型**/
  137. var typeFormatter = function(value , row , index){
  138. return getValue(typeobj, value);
  139. };
  140. /**新闻类型**/
  141. var imageFormatter = function(value , row , index){
  142. if(value == 1){
  143. return "图片新闻";
  144. }else{
  145. return "普通新闻";
  146. }
  147. };
  148. /**APP是否显示**/
  149. var visFormatter = function(value , row , index){
  150. if(value == 1){
  151. return "否";
  152. }else{
  153. return "是";
  154. }
  155. };
  156. /**增加功能**/
  157. function newsAdd(){
  158. $('#addNewsDialog').dialog(
  159. {
  160. buttons : [
  161. {
  162. text : '生成',
  163. iconCls : 'icon-ok',
  164. handler : function(){
  165. if($("#newsType_add").val() != ""){
  166. $('#addNewsForm').form('submit',
  167. {
  168. url : whzl.basePath+'/newsAction_add',
  169. onSubmit:function(){
  170. var flag = $('#addNewsForm').form('validate');
  171. if(flag){
  172. parent.$.messager.progress({
  173. title : '提示',
  174. text : '请稍候....'
  175. });
  176. }
  177. return flag;
  178. },
  179. success : function(result){
  180. var parseResult = $.parseJSON(result);
  181. if(parseResult.success){
  182. parent.$.messager.progress('close');
  183. $("#addNewsDialog").dialog("close");
  184. searchFun();
  185. }else{
  186. parent.$.messager.progress('close');
  187. $.messager.alert("提示",parseResult.message);
  188. }
  189. }
  190. }
  191. );
  192. }else{
  193. $.messager.alert("提示","请选择栏目类型!");
  194. }
  195. }
  196. },
  197. {
  198. text : '取消',
  199. iconCls : 'icon-cancel',
  200. handler : function(){
  201. $("#addNewsDialog").dialog("close");
  202. }
  203. }
  204. ],
  205. onLoad : function(){
  206. //加载类型
  207. for(var nItem = 0; nItem < typeobj.length; nItem++ ){
  208. $("#newsType_add").append("<option value="+typeobj[nItem].code+">"+typeobj[nItem].value+"</option>");
  209. }
  210. var myDate = new Date();
  211. var dd = myDate.getFullYear()+"-"+(myDate.getMonth()+1)+"-"+myDate.getDate();
  212. $("#businessTime_add").datebox("setValue", dd);
  213. }
  214. }
  215. );
  216. }
  217. /**删除**/
  218. var delFormatter = function(value , row , index){
  219. return "<img src='<%=basePath%>/images/edit_remove.png' title='删除' onclick=deleteRow(" + row.id + ") style='cursor:pointer' />";
  220. };
  221. /**删除功能**/
  222. function deleteRow(){
  223. var row = $('#newsDataGrid').datagrid('getSelected');
  224. if(row == null){
  225. $.messager.alert("提示","请先选择要删除的新闻信息!");
  226. }
  227. var id = row.id;
  228. $.messager.confirm('删除提示', '确定删除这条记录吗?', function(r){
  229. if (r){
  230. $.ajax({
  231. type: "post",//使用get方法访问后台
  232. dataType: "json",//返回json格式的数据
  233. url: "newsAction_delete",//要访问的后台地址
  234. data: "news.id="+id,//要发送的数据
  235. complete :function(){$("#load").hide();},//AJAX请求完成时隐藏loading提示
  236. success: function(msg){//msg为返回的数据,在这里做数据绑定
  237. if(msg.success){
  238. $.messager.alert('提示','删除成功!');
  239. $('#newsDataGrid').datagrid('reload');
  240. }else{
  241. $.messager.alert('提示',msg.message);
  242. }
  243. }
  244. });
  245. }
  246. });
  247. }
  248. /**标题连接*/
  249. var titleFormatter = function(value , row , index)
  250. {
  251. return "<a href='javascript:' title='查看详情' onclick=newsDetails(" + row.id + ") >" + row.title + "</a>";
  252. };
  253. /**详细页面对话框*/
  254. var newsDetails = function(id){
  255. $("#detailNewsDialog").dialog(
  256. {
  257. maximizable: true,
  258. buttons : [
  259. {
  260. text : '确定',
  261. iconCls : 'icon-ok',
  262. handler : function(){
  263. $("#detailNewsDialog").dialog("close");
  264. }
  265. }
  266. ],
  267. onLoad : function(){
  268. $.ajax({
  269. type: "post",//使用get方法访问后台
  270. dataType: "json",//返回json格式的数据
  271. url: "newsAction_findById",//要访问的后台地址
  272. data: {"news.id":id},//要发送的数据
  273. complete :function(){$("#load").hide();},//AJAX请求完成时隐藏loading提示
  274. success: function(msg){//msg为返回的数据,在这里做数据绑定
  275. $("#title_detail").text(msg.obj.title);
  276. setValue(typeobj,msg.obj.newsType,"type_detail");
  277. $("#user_detail").text(msg.obj.operator);
  278. $("#time_detail").text(dealDate(msg.obj.businessTime));
  279. $("#content_detail").html(msg.obj.content);
  280. }
  281. });
  282. }
  283. }
  284. );
  285. };
  286. /**编辑**/
  287. var updateFormatter = function(value , row , index){
  288. return "<img src='<%=basePath%>/images/pencil.png' title='编辑' onclick=updateRow(" + row.id + ") style='cursor:pointer' />";
  289. };
  290. /**编辑功能**/
  291. function updateRow(){
  292. //var updateIndex = $('#newsDataGrid').datagrid('getRowIndex',id);
  293. var row = $('#newsDataGrid').datagrid('getSelected');
  294. if(row == null){
  295. $.messager.alert("提示","请先选择要修改的新闻信息!");
  296. }
  297. var id = row.id;
  298. $('#updateNewsDialog').dialog(
  299. {
  300. maximizable: true,
  301. buttons : [
  302. {
  303. text : '提交',
  304. iconCls : 'icon-ok',
  305. handler : function(){
  306. $('#updateNewsForm').form('submit',
  307. {
  308. url : whzl.basePath+'/newsAction_update',
  309. onSubmit:function(){
  310. var flag = $('#updateNewsForm').form('validate');
  311. if(flag){
  312. parent.$.messager.progress({
  313. title : '提示',
  314. text : '请稍候....'
  315. });
  316. }
  317. return flag;
  318. },
  319. success : function(result){
  320. parent.$.messager.progress('close');
  321. var parseResult = $.parseJSON(result);
  322. if(parseResult.success){
  323. $('#newsDataGrid').datagrid('reload');
  324. $.messager.alert("提示","更新成功");
  325. $("#updateNewsDialog").dialog("close");
  326. }else{
  327. $.messager.alert("提示",parseResult.message);
  328. }
  329. }
  330. }
  331. );
  332. }
  333. },
  334. {
  335. text : '取消',
  336. iconCls : 'icon-cancel',
  337. handler : function(){
  338. $("#updateNewsDialog").dialog("close");
  339. }
  340. }
  341. ],
  342. onLoad : function(){
  343. $.ajax({
  344. type: "post",//使用get方法访问后台
  345. dataType: "json",//返回json格式的数据
  346. url: "newsAction_findById",//要访问的后台地址
  347. data: "news.id="+id,//要发送的数据
  348. complete :function(){$("#load").hide();},//AJAX请求完成时隐藏loading提示
  349. success: function(msg){//msg为返回的数据,在这里做数据绑定
  350. if(msg.success){
  351. $("#id_update").val(msg.obj.id);
  352. $("#businessTime_update").datebox("setValue",
  353. dealDate(msg.obj.businessTime));
  354. dealSelect(typeobj,msg.obj.newsType,"newsType_update");
  355. $("#appVisible_update").val(msg.obj.appVisible);
  356. editor_up.html(msg.obj.content);
  357. var json = {
  358. 'news.title' : msg.obj.title,
  359. 'news.operator' : msg.obj.operator,
  360. 'news.num' : msg.obj.num,
  361. 'news.imagePath' : msg.obj.imagePath,
  362. 'news.remark' : msg.obj.remark,
  363. 'news.orderID' : msg.obj.orderID,
  364. 'news.isImaged' : msg.obj.isImaged,
  365. 'news.createdOn' : msg.obj.createdOn,
  366. 'news.createdBy' : msg.obj.createdBy
  367. };
  368. $('#updateNewsForm').form('load', json);
  369. }else{
  370. $.messager.alert("提示", msg.message);
  371. $("#updateNewsDialog").dialog("close");
  372. }
  373. }
  374. });
  375. }
  376. });
  377. }
  378. function valueReplace(v) {
  379. v = v.toString().replace(new RegExp('(["\"])', 'g'), "\\\"");
  380. return v;
  381. }
  382. /**操作**/
  383. var topFormatter = function(value , row , index){
  384. if(value == '0'){
  385. return "<img src='<%=basePath%>/images/top.gif' title='固顶' onclick=setOnTop(" + row.id + ") style='cursor:pointer' />";
  386. }else{
  387. return "<img src='<%=basePath%>/images/untop.gif' title='解固' onclick=setUnTop(" + row.id + ") style='cursor:pointer' />";
  388. }
  389. };
  390. function setOnTop(id){
  391. $.messager.confirm('提示', '确定固顶这条记录吗?', function(r){
  392. if (r){
  393. $.ajax({
  394. type: "post",//使用get方法访问后台
  395. dataType: "json",//返回json格式的数据
  396. url: "newsAction_setTop",//要访问的后台地址
  397. data: "news.id="+id+"&option=onTop",//要发送的数据
  398. complete :function(){$("#load").hide();},//AJAX请求完成时隐藏loading提示
  399. success: function(msg){//msg为返回的数据,在这里做数据绑定
  400. if(msg.success){
  401. $.messager.alert('提示','固顶成功!');
  402. $('#newsDataGrid').datagrid('reload');
  403. }else{
  404. $.messager.alert('提示',msg.message);
  405. }
  406. }
  407. });
  408. }
  409. });
  410. }
  411. function setUnTop(id){
  412. $.messager.confirm('提示', '确定解固这条记录吗?', function(r){
  413. if (r){
  414. $.ajax({
  415. type: "post",//使用get方法访问后台
  416. dataType: "json",//返回json格式的数据
  417. url: "newsAction_setTop",//要访问的后台地址
  418. data: "news.id="+id+"&option=unTop",//要发送的数据
  419. complete :function(){$("#load").hide();},//AJAX请求完成时隐藏loading提示
  420. success: function(msg){//msg为返回的数据,在这里做数据绑定
  421. if(msg.success){
  422. $.messager.alert('提示','解固成功!');
  423. $('#newsDataGrid').datagrid('reload');
  424. }else{
  425. $.messager.alert('提示',msg.message);
  426. }
  427. }
  428. });
  429. }
  430. });
  431. }
  432. </script>
  433. <div class="easyui-layout" data-options="fit:true,border:false" style="margin: 0px;padding: 0px;">
  434. <div data-options="region:'center',border:false">
  435. <div id="searchtool" data-options="region:'north' , border:false">
  436. <table id="tblQuery" style="width:100%;">
  437. <tr>
  438. <td align="right" style="width: 10%"><span>标题</span></td>
  439. <td style="width: 10%">
  440. <input id="title" type="text"/>
  441. </td>
  442. <td align="right" style="width: 8%"><span>栏目类型</span></td>
  443. <td style="width: 10%">
  444. <select id="newsType" style="width:155px">
  445. <option value="">全部</option>
  446. </select>
  447. </td>
  448. <td align="right" style="width: 8%"><span>新闻类型</span></td>
  449. <td style="width: 18%">
  450. <select id="isImaged" style="width:172px">
  451. <option value="">全部</option>
  452. <option value="1">图片新闻</option>
  453. <option value="2">普通新闻</option>
  454. </select>
  455. </td>
  456. <td style="width: 32%">
  457. <a href="javascript:searchFun();" class="easyui-linkbutton" data-options="iconCls:'icon-search',plain:true">查询</a>
  458. <a href="javascript:ClearQuery();" class="easyui-linkbutton" data-options="iconCls:'icon-emptied',plain:true">清空</a>
  459. <a href="javascript:newsAdd();" class="easyui-linkbutton" data-options="iconCls:'icon-add',plain:true">增加</a>
  460. <a href="javascript:updateRow();" class="easyui-linkbutton" data-options="iconCls:'icon-edit',plain:true">修改</a>
  461. <a href="javascript:deleteRow();" class="easyui-linkbutton" data-options="iconCls:'icon-remove',plain:true">删除</a>
  462. </td>
  463. </tr>
  464. </table>
  465. </div>
  466. <table id="newsDataGrid">
  467. <!--<thead frozen="true">
  468. <tr>
  469. <th data-options="field:'id',checkbox:true,width:50">ID</th>
  470. </tr>
  471. </thead>
  472. <thead>
  473. <tr>
  474. <th data-options="field:'title',sortable:false,width:250,formatter:titleFormatter">标题</th>
  475. <th data-options="field:'isImaged',sortable:false,width:100,formatter:imageFormatter">新闻类型</th>
  476. <th data-options="field:'newsType',sortable:false,width:100,formatter:typeFormatter">栏目类型</th>
  477. <th data-options="field:'operator',sortable:false,width:80">发布人</th>
  478. <th data-options="field:'businessTime',sortable:false,width:140,formatter:dateFormatter">发布时间</th>
  479. <th data-options="field:'createdBy',width:80">创建人</th>
  480. <th data-options="field:'createdOn',width:140">创建时间</th>
  481. <th data-options="field:'update',align:'center',formatter:updateFormatter,width:50">编辑</th>
  482. <th data-options="field:'orderID',align:'center',formatter:topFormatter,width:50">置顶</th>
  483. <th data-options="field:'del',align:'center',formatter:delFormatter,width:50">删除</th>
  484. </tr>
  485. </thead>-->
  486. </table>
  487. </div>
  488. </div>
  489. <div id="addNewsDialog" data-options="title:'&nbsp;新增新闻信息',iconCls:'icon-edit',width:800,height:500,modal:true,href:'<%=basePath %>/newsAction_toAdd'">
  490. </div>
  491. <div id="detailNewsDialog" data-options="title:'&nbsp;新闻详细信息',iconCls:'icon-details',width:800,height:500,modal:true,href:'<%=basePath %>/newsAction_toDetail'">
  492. </div>
  493. <div id="updateNewsDialog" data-options="title:'&nbsp;更新新闻信息',iconCls:'icon-edit',width:800,height:500,modal:true,href:'<%=basePath %>/newsAction_toUpdate'">
  494. </div>
  495. <div id="setNewsDialog" data-options="title:'&nbsp;个性化设置',iconCls:'icon-cog',width:500,height:370,modal:true,href:'<%=basePath %>/columnSetAction_toSet?tname=news'">
  496. </div>
  497. <script type="text/javascript">
  498. <!--
  499. $(function(){
  500. parent.$.messager.progress('close');
  501. });
  502. //-->
  503. </script>