quarterly-overwater-charge-collect.jsp 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5. <title>季度超用水费用汇总</title>
  6. <!--框架必需start-->
  7. <script type="text/javascript" src="${ctx}/qui/libs/js/jquery.js"></script>
  8. <script type="text/javascript" src="${ctx}/qui/libs/js/framework.js"></script>
  9. <link href="${ctx}/qui/libs/css/import_basic.css" rel="stylesheet"
  10. type="text/css" />
  11. <link rel="stylesheet" type="text/css" id="skin" prePath="${ctx}/qui/" />
  12. <link rel="stylesheet" type="text/css" id="customSkin" />
  13. <!--框架必需end-->
  14. <!--数据表格start-->
  15. <script src="${ctx}/qui/libs/js/table/quiGrid.js" type="text/javascript"></script>
  16. <!--数据表格end-->
  17. <!--箭头分页start-->
  18. <script type="text/javascript" src="${ctx}/qui/libs/js/nav/pageArrow.js"></script>
  19. <!--箭头分页end-->
  20. <!--表单异步提交start-->
  21. <script src="${ctx}/qui/libs/js/form/form.js" type="text/javascript"></script>
  22. <!--表单异步提交end-->
  23. <!-- 日期选择框start -->
  24. <script type="text/javascript"
  25. src="${ctx}/qui/libs/js/form/datePicker/WdatePicker.js"></script>
  26. <!-- 日期选择框end -->
  27. <script type="text/javascript">
  28. var g_pageNo = 1;
  29. var g_pageSize = 10;
  30. var total_rows=0;
  31. //刷新记忆
  32. var checkedArray = [];
  33. //数据表格使用
  34. var g;
  35. var gridData;
  36. function initComplete(){
  37. g = $("#maingrid").quiGrid({
  38. columns: [
  39. { display: '单位名称', name: '3', align: 'center', width: "10%",
  40. render:function(rowdata, rowindex, value, column){
  41. return "<font class='textSlice' style='width:100%;cursor: pointer;' title='"+value+"'>"+value+"</font>";
  42. }
  43. },
  44. { display: '用户类型', name: '6', align: 'center', width: "6%",
  45. render:function(rowdata, rowindex, value, column){
  46. if(value == "1"){
  47. return "自来水户";
  48. }else if(value == "2"){
  49. return "取水户";
  50. }else{
  51. return "";
  52. }
  53. }
  54. },
  55. { display: '季度', name: '8', align: 'center', width: "5%"},
  56. { display: '批复用水指标', name: '21', align: 'center', width: "5%",
  57. render: function (rowdata, rowindex, value, column){
  58. return Number(value).toFixed(0);
  59. }
  60. },
  61. { display: '实际用水量', name: '14', align: 'center', width: "5%"},
  62. { display: '实际收水量', name: '15', align: 'center', width: "5%"},
  63. { display: '应收金额', name: '18', align: 'center', width: "5%",
  64. render: function (rowdata, rowindex, value, column){
  65. return Number(value).toFixed(2);
  66. }
  67. },
  68. { display: '实收金额', name: '17', align: 'center', width: "5%",
  69. render: function (rowdata, rowindex, value, column){
  70. return Number(value).toFixed(2);
  71. }
  72. },
  73. { display: '是否销账', name: '10', align: 'center', width: "5%",
  74. render: function (rowdata, rowindex, value, column){
  75. if(value=='yes'){
  76. return "是";
  77. }else{
  78. return "否";
  79. }
  80. }
  81. },
  82. { display: '销帐日期', name: '11', align: 'center', width: "5%"},
  83. { display: '付款方式', name: '12', align: 'center', width: "5%",
  84. render: function (rowdata, rowindex, value, column){
  85. if(value=='1'){
  86. return "现金";
  87. }
  88. if(value=='2'){
  89. return "转账";
  90. }
  91. }
  92. },
  93. { display: '用水单价', name: '13', align: 'center', width: "5%",
  94. render: function (rowdata, rowindex, value, column){
  95. return Number(value).toFixed(2);
  96. }
  97. },
  98. { display: '备注', name: '20', align: 'center', width: "10%"},
  99. { display: '操作', isAllowHide: false, align: 'center', width:"15%",
  100. render: function (rowdata, rowindex, value, column){
  101. return '<div class="padding_top4 padding_left20">'
  102. <@pop_perm url="/quarterAssessment/quarterlyAssessmentWriteOff.do">
  103. + '<a href="#" onclick="writeOff('+ rowdata[0]+')"><span class="icon_edit">销帐</span></a>'
  104. </@pop_perm>
  105. <@pop_perm url="/quarterAssessment/delete.do">
  106. + '<a href="#" onclick="onDelete('+ rowdata[0]+')"><span class="icon_delete">删除</span></a>'
  107. </@pop_perm>
  108. + '</div>';
  109. }
  110. }],
  111. toolbar:{
  112. items:[
  113. // <@pop_perm url="">
  114. // {text:'新增',click:onCreate,iconClass:'icon_add'},
  115. // </@pop_perm>
  116. <@pop_perm url="/quarterAssessment/delete.do">
  117. {line:true},
  118. {text:'批量删除',click:batchDelete, iconClass:'icon_delete'},
  119. </@pop_perm>
  120. <@pop_perm url="/quarterAssessment/print.do">
  121. {line:true},
  122. {text:'打印',click:print, iconClass:'icon_print'},
  123. </@pop_perm>
  124. <@pop_perm url="/quarterAssessment/printAddWaterNotice.do">
  125. {line:true},
  126. {text:'打印超计划用水加价水费通知预览',click:printAddWaterNotice, iconClass:'icon_print'},
  127. </@pop_perm>
  128. <@pop_perm url="/quarterAssessment/exportExcel.do">
  129. {line:true},
  130. {text:'导出',click:exportExcel, iconClass:'icon_export'},
  131. </@pop_perm>
  132. {line:true}
  133. ]
  134. },
  135. data:[], sortName: 'showOrgName',rownumbers:true,checkbox:true,usePager: false,height: '100%', width:"100%",heightDiff:-40,pageSize:g_pageSize,
  136. onChangeSort : function(){
  137. getData(g.options.sortName,g.options.sortOrder,g_pageNo,g_pageSize);
  138. return false;
  139. },isChecked:checkedHandler,onCheckRow: checkRowHandler, onCheckAllRow: checkAllRowHandler
  140. });
  141. }
  142. //点击分页触发
  143. $(function(){
  144. getData(g_pageNo,g_pageSize);
  145. })
  146. //打印预览
  147. // function print(){
  148. // window.open("${ctx}/quarterAssessment/print.do?exportType=writeOff&pageNo=1&pageSize="+total_rows);
  149. // }
  150. //打印
  151. function print(){
  152. var rows = g.getSelectedRows();
  153. var rowsLength = rows.length;
  154. var ids = getCheckedIdHandler();
  155. if(rowsLength == 0 && ids=='') {
  156. printByPage();
  157. return;
  158. }
  159. // alert(ids);
  160. // var orgIds=getCheckedOrgIdHandler();
  161. // var months=getCheckedMonthHandler();
  162. // var years=getCheckedYearHandler();
  163. //window.location.href="${ctx}/customerMeter/exportExcel.do?&ids="+ids+"&flag=selected&pageNo=1&pageSize="+total_rows;
  164. window.open("${ctx}/quarterAssessment/print.do?exportType=writeOff&ids="+ids+"&flag=selected&pageNo=1&pageSize="+total_rows);
  165. return;
  166. }
  167. function printByPage(){
  168. var orgName=$("#orgName").val();
  169. var year=$("#year").val();
  170. var quarter=$('#quarter').val();
  171. var userType=$("#userType").val();
  172. var isWriteOff=$("#isWriteOff").val();
  173. var url="${ctx}/quarterAssessment/print.do?";
  174. url +="&orgName="+orgName;
  175. url +="&year="+year;
  176. url +="&quarter="+quarter;
  177. url +="&isWriteOff="+isWriteOff;
  178. url +="&userType="+userType;
  179. url +="&flag=query";
  180. url +="&exportType=writeOff";
  181. url +="&pageNo=1";
  182. url +="&pageSize="+total_rows;
  183. url = encodeURI(encodeURI(url));
  184. window.open(url);
  185. }
  186. /**初始时通过向后台传递排序id、排序顺序、初始页码、每页条数**/
  187. function getData(pageNo,pageSize){
  188. // alert('aaa');
  189. jQuery.post("${ctx}/quarterAssessment/listPage.do",
  190. getFormParams(pageNo,pageSize),
  191. function(result){
  192. gridData = result;
  193. //刷新表格
  194. g.loadData(gridData);
  195. total_rows=gridData["pager.totalRows"];
  196. //设置左边内容页
  197. var content ="共有" + gridData["pager.totalRows"] + "条记录";
  198. $("#letfContent").html("");
  199. $("#letfContent").html(content);
  200. //取得分页组件
  201. var pager=$("#pager");
  202. //设置总页页数
  203. pager.attr("total",gridData["pager.totalRows"]);
  204. pager.render();
  205. //绑定翻页事件
  206. pager.unbind("pageChange");
  207. pager.bind("pageChange",function(e,index){
  208. g_pageNo = index + 1;
  209. getData(g_pageNo,g_pageSize);
  210. });
  211. //绑定选择每页显示记录数事件
  212. pager.bind("sizeChange",function(e,num){
  213. g_pageSize = num;
  214. getData(g_pageNo,g_pageSize);
  215. });
  216. },"json");
  217. }
  218. //查询
  219. function searchHandler(){
  220. //清空数组
  221. clearArray();
  222. //重新加载数据,设置当前页面为1
  223. getData(1,g_pageSize);
  224. }
  225. /**获得查询表单的提交查询的值**/
  226. function getFormParams(pageNo,pageSize){
  227. $("#pageNo").val(pageNo);
  228. $("#pageSize").val(pageSize);
  229. return $("#searchForm").formToArray();
  230. }
  231. /**重置于查询表单,然后重新加载表格数据**/
  232. function resetSearch(){
  233. //清空数组
  234. clearArray();
  235. $("#searchForm")[0].reset();
  236. //重新加载数据,设置当前页面为1
  237. getData(1,g_pageSize);
  238. }
  239. //单条记录删除
  240. function onDelete(rowid){
  241. top.Dialog.confirm("确定要删除该记录吗?",function(){
  242. //删除记录
  243. jQuery.post("${ctx}/quarterAssessment/delete.do",
  244. {"ids":rowid},
  245. function(responseText){
  246. if(responseText.status=="y"){
  247. top.Dialog.alert(responseText.info);
  248. resetSearch();
  249. }else{
  250. top.Dialog.alert(responseText.info);
  251. }
  252. },
  253. "json");
  254. });
  255. }
  256. //批量删除
  257. function batchDelete() {
  258. var rows = g.getSelectedRows();
  259. var rowsLength = rows.length;
  260. if(rowsLength == 0) {
  261. top.Dialog.alert("请选中要删除的记录!");
  262. return;
  263. }
  264. top.Dialog.confirm("确定要删除吗?",function(){
  265. jQuery.post("${ctx}/quarterAssessment/delete.do",
  266. //获取所有选中行
  267. getSelectId(g),
  268. function(responseText){
  269. if(responseText.status=="y"){
  270. top.Dialog.alert(responseText.info);
  271. resetSearch();
  272. }else{
  273. top.Dialog.alert(responseText.info);
  274. return false;
  275. }
  276. },
  277. "json");
  278. });
  279. //获取所有选中行获取选中行的id 格式为 ids=1&ids=2
  280. function getSelectId(grid) {
  281. var selectedRows = grid.getSelectedRows();
  282. var selectedRowsLength = selectedRows.length;
  283. var ids = "";
  284. for(var i = 0;i<selectedRowsLength;i++) {
  285. ids += selectedRows[i][0] + ",";
  286. }
  287. return {"ids":ids};
  288. }
  289. }
  290. //新增
  291. function onCreate(){
  292. top.Dialog.open({
  293. ID:'a1',
  294. URL:"${ctx}/quarterAssessment/create.do?year="+$('#year').val(),
  295. Title:"新增季度考核",
  296. Width:700,
  297. Height:350
  298. });
  299. }
  300. //销帐
  301. function writeOff(rowId){
  302. // alert(rowId);
  303. top.Dialog.open({
  304. ID:'a1',
  305. URL:"${ctx}/quarterAssessment/quarterlyAssessmentWriteOff.do?entity_id="+rowId,
  306. Title:"销帐",
  307. Width:700,
  308. Height:400
  309. });
  310. }
  311. //导出单位水表水量表
  312. function exportExcel() {
  313. var rows = g.getSelectedRows();
  314. var rowsLength = rows.length;
  315. var ids = getCheckedIdHandler();
  316. if(rowsLength == 0&& ids=='') {
  317. exportExcelByPage();
  318. return;
  319. }
  320. // alert(ids);
  321. window.location.href="${ctx}/quarterAssessment/exportExcel.do?&ids="+ids+"&exportType=writeOff&flag=selected&pageNo=1&pageSize="+total_rows;
  322. return;
  323. }
  324. //导出处理
  325. function exportExcelByPage(){
  326. var orgName=$("#orgName").val();
  327. var year=$("#year").val();
  328. var quarter=$('#quarter').val();
  329. var userType=$("#userType").val();
  330. var isWriteOff=$("#isWriteOff").val();
  331. var url="${ctx}/quarterAssessment/exportExcel.do?";
  332. url +="&orgName="+orgName;
  333. url +="&year="+year;
  334. url +="&quarter="+quarter;
  335. url +="&isWriteOff="+isWriteOff;
  336. url +="&userType="+userType;
  337. url +="&flag=query";
  338. url +="&exportType=writeOff";
  339. url +="&pageNo=1";
  340. url +="&pageSize="+total_rows;
  341. url = encodeURI(encodeURI(url));
  342. window.location =url;
  343. return false;
  344. }
  345. var checkedArray = [];
  346. var checkedOrgIdArray = [];
  347. var checkedQuarterArray = [];
  348. var checkedQuarterArrayByPage = [];
  349. function findCheckedArray(id){
  350. for(var i =0;i<checkedArray.length;i++){
  351. if(checkedArray[i] == id) return i;
  352. }
  353. return -1;
  354. }
  355. function addCheckedArray(id,orgId,quarter){
  356. if(findCheckedArray(id) == -1){
  357. checkedArray.push(id);
  358. checkedOrgIdArray.push(orgId);
  359. checkedQuarterArray.push(quarter);
  360. }
  361. }
  362. function getCheckedIdHandler(){
  363. return checkedArray.join(',');
  364. }
  365. function removeCheckedArray(id){
  366. var i = findCheckedArray(id);
  367. if(i==-1) return;
  368. checkedArray.splice(i,1);
  369. checkedOrgIdArray.splice(i,1);
  370. checkedQuarterArray.splice(i,1);
  371. }
  372. function checkedHandler(rowdata){
  373. if (findCheckedArray(rowdata[0]) == -1)
  374. return false;
  375. return true;
  376. }
  377. function checkRowHandler(checked, data){
  378. if (checked) addCheckedArray(data[0],data[1],data[8]);
  379. else removeCheckedArray(data[0],data[1],data[8]);
  380. }
  381. function checkAllRowHandler(checked){
  382. for (var rowid in this.records){
  383. if(checked)
  384. addCheckedArray(this.records[rowid][0],this.records[rowid][1],this.records[rowid][8]);
  385. else
  386. removeCheckedArray(this.records[rowid][0],this.records[rowid][1],this.records[rowid][8]);
  387. }
  388. }
  389. //得到单位id
  390. function getCheckedOrgIdHandler(){
  391. return checkedOrgIdArray.join(',');
  392. }
  393. //得到季度
  394. function getCheckedQuarterHandler(){
  395. return checkedQuarterArray.join(',');
  396. }
  397. //打印上半年超计划用水加价水费通知预览。添加日期,打印选中的记录
  398. function printAddWaterNotice(){
  399. if(total_rows<=0){
  400. top.Dialog.alert("没有要打印的数据");
  401. return;
  402. }
  403. var quarters = getCheckedQuarterHandler();
  404. if((quarters.indexOf("1")>=0&&quarters.indexOf("3")>=0)||(quarters.indexOf("1")>=0&&quarters.indexOf("4")>=0)
  405. ||(quarters.indexOf("2")>=0&&quarters.indexOf("3")>=0)||(quarters.indexOf("2")>=0&&quarters.indexOf("4")>=0))
  406. {
  407. top.Dialog.alert("不能同时选择上半年和下半年季度,请检查");
  408. return;
  409. }
  410. var rows = g.getSelectedRows();
  411. var rowsLength = rows.length;
  412. if(rowsLength == 0&&quarters=='') {
  413. //在没有选中记录时得到季度
  414. var quarters=getCheckedQuarterHandlerByPage();
  415. if((quarters.indexOf("1")>=0&&quarters.indexOf("3")>=0)||(quarters.indexOf("1")>=0&&quarters.indexOf("4")>=0)
  416. ||(quarters.indexOf("2")>=0&&quarters.indexOf("3")>=0)||(quarters.indexOf("2")>=0&&quarters.indexOf("4")>=0))
  417. {
  418. top.Dialog.alert("没有选中时默认打印查询出来的记录。不能同时打印上半年和下半年季度,请检查");
  419. return;
  420. }
  421. printNoticeByPage();
  422. return;
  423. }
  424. var ids = getCheckedIdHandler();
  425. var orgIds = getCheckedOrgIdHandler();
  426. var url="${ctx}/quarterAssessment/addPrintTime.do?";
  427. url +="ids="+ids;
  428. url +="&orgIds="+orgIds;
  429. url +="&flag=selected";
  430. top.Dialog.open({
  431. URL : url,
  432. Title : "添加缴纳加价水费日期",
  433. Width : 450,
  434. Height : 150
  435. });
  436. }
  437. //没有选中时打印
  438. function printNoticeByPage(){
  439. var orgName=$("#orgName").val();
  440. var year=$("#year").val();
  441. var quarter=$('#quarter').val();
  442. var userType=$("#userType").val();
  443. var isWriteOff=$("#isWriteOff").val();
  444. var url="${ctx}/quarterAssessment/addPrintTime.do?";
  445. url +="&orgName="+orgName;
  446. url +="&year="+year;
  447. url +="&quarter="+quarter;
  448. url +="&userType="+userType;
  449. url +="&isWriteOff="+isWriteOff;
  450. url +="&flag=query";
  451. top.Dialog.open({
  452. URL : url,
  453. Title : "添加缴纳加价水费日期",
  454. Width : 450,
  455. Height : 150
  456. });
  457. }
  458. function getCheckedQuarterHandlerByPage(){
  459. for (var record in g.records){
  460. checkedQuarterArrayByPage.push(g.records[record]['8']);
  461. }
  462. return checkedQuarterArrayByPage.join(',');
  463. }
  464. //清空数组
  465. function clearArray(){
  466. /*
  467. var chId=getCheckedIdHandler();
  468. var orgId=getCheckedOrgIdHandler();
  469. var quarters=getCheckedQuarterHandlerByPage();
  470. var quarter = getCheckedQuarterHandler();
  471. checkedArray.splice(0,chId.length);
  472. checkedOrgIdArray.splice(0,orgId.length);
  473. checkedQuarterArrayByPage.splice(0,quarters.length);
  474. checkedQuarterArray.splice(0,quarter.length);
  475. */
  476. checkedArray.length=0;
  477. checkedOrgIdArray.length=0;
  478. checkedQuarterArray.length=0;
  479. checkedQuarterArrayByPage.length=0;
  480. }
  481. </script>
  482. </head>
  483. <body>
  484. <div class="box2" panelTitle="季度超用水费用汇总信息列表">
  485. <form action="" id="searchForm" method="post">
  486. <input type="hidden" id="Q_importStatus_S_LK"
  487. name="Q_importStatus_S_LK" value="normal" /> <input type="hidden"
  488. id="pageNo" name="pageNo" value="1" /> <input type="hidden"
  489. id="pageSize" name="pageSize" value="10" />
  490. <table>
  491. <tr>
  492. <td align="right">年度:</td>
  493. <td><input class="date" dateFmt="yyyy" type="text" id="year"
  494. name="year" value="${year!''}" /></td>
  495. <td>用户类型:</td>
  496. <td><select prompt="请选择" id="userType"
  497. data='${userType}' name="userType"></select></td>
  498. <!-- <td align="right">季度:</td>
  499. <td><input type="text" id="quarter" name="quarter" /></td> -->
  500. <td>单位名称:</td>
  501. <td><input type="text" id="orgName" name="orgName" /></td>
  502. <td>是否销账:</td>
  503. <td><select prompt="请选择" id="isWriteOff"
  504. name="isWriteOff"
  505. data='{"list":[{"value":"yes","key":"是"},{"value":"no","key":"否"}]}'
  506. name=""></select></td>
  507. <td>季度:</td>
  508. <td><select prompt="请选择" id="quarter" name="quarter"
  509. data='{"list":[{"value":"1","key":"第一季度"},{"value":"2","key":"第二季度"},{"value":"3","key":"第三季度"},{"value":"4","key":"第四季度"},{"value":"1,2","key":"上半年"},{"value":"3,4","key":"下半年"}]}'></select></td>
  510. <td style="padding-left: 15px;"><button type="button"
  511. onclick="searchHandler()">
  512. <span class="icon_find">查询</span>
  513. </button></td>
  514. </td>
  515. <td style="padding-left: 15px;"><button type="reset"
  516. onclick="resetSearch()">
  517. <span class="icon_find">重置</span>
  518. </button></td>
  519. </td>
  520. </tr>
  521. </table>
  522. </form>
  523. </div>
  524. <div id="scrollContent">
  525. <div class="padding_right5">
  526. <div id="maingrid"></div>
  527. </div>
  528. </div>
  529. <!-- 分页组件 -->
  530. <div style="height: 35px;">
  531. <div id="letfContent" class="float_left padding5"></div>
  532. <div class="float_right padding5">
  533. <div id="pager" total="0" class="pageArrow" showSelect="true"
  534. inputPosition="right"></div>
  535. </div>
  536. <div class="clear"></div>
  537. </div>
  538. </body>
  539. </html>