customer-meter-list.jsp 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473
  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: 'showOrgNumber', align: 'center', width: "5%"},
  40. { display: '单位名称', name: 'showOrgName', align: 'center', width: "8%",
  41. render:function(rowdata, rowindex, value, column){
  42. return "<font class='textSlice' style='width:100%;cursor: pointer;' title='"+value+"'>"+value+"</font>";
  43. }
  44. },
  45. { display: '单位地址', name: 'showOrgAddress', align: 'center', width: "13%",
  46. render:function(rowdata, rowindex, value, column){
  47. return "<font class='textSlice' style='width:100%;cursor: pointer;' title='"+value+"'>"+value+"</font>";
  48. }
  49. },
  50. { display: '年度', name: 'year', align: 'center', width: "4%"},
  51. { display: '客户号', name: 'customerNumber', align: 'center', width: "5%",
  52. render:function(rowdata, rowindex, value, column){
  53. return "<font class='textSlice' style='width:100%;cursor: pointer;' title='"+value+"'>"+value+"</font>";
  54. }
  55. },
  56. { display: '水表编号', name: 'meterNumber', align: 'center', width: "8%"},
  57. { display: '用水地址', name: 'address', align: 'center', width: "8%"},
  58. { display: '水表变更原因', name: 'changeReason', align: 'center', width: "8%"},
  59. { display: '变更时间', name: 'changeTime', align: 'center', width: "8%"},
  60. { display: '水表规格(口径)', name: 'meterSpec', align: 'center', width: "8%"},
  61. { display: '水表类型', name: 'meterType', align: 'center', width: "8%"},
  62. { display: '操作', isAllowHide: false, align: 'center', width:"15%",
  63. render: function (rowdata, rowindex, value, column){
  64. return '<div class="padding_top4 padding_left20">'
  65. <@pop_perm url="/customerMeter/update.do">
  66. + '<a href="#" onclick="onEdit('+ rowdata.meterId+')"><span class="icon_edit">修改</span></a>'
  67. </@pop_perm>
  68. <@pop_perm url="/customerMeter/change.do">
  69. + '<a href="#" onclick="onChange('+ rowdata.meterId+')"><span class="icon_layers">变更</span></a>'
  70. </@pop_perm>
  71. <@pop_perm url="/customerMeter/delete.do">
  72. + '<a href="#" onclick="onDelete('+ rowdata.meterId+')"><span class="icon_delete">删除</span></a>'
  73. </@pop_perm>
  74. + '</div>';
  75. }
  76. }],
  77. toolbar:{
  78. items:[
  79. <@pop_perm url="/customerMeter/create.do">
  80. {text:'新增',click:onCreate,iconClass:'icon_add'},
  81. </@pop_perm>
  82. // <@pop_perm url="">
  83. // {line:true},
  84. // {text:'修改',click:onEdit, iconClass:'icon_edit'},
  85. // </@pop_perm>
  86. <@pop_perm url="/customerMeter/delete.do">
  87. {line:true},
  88. {text:'批量删除',click:batchDelete, iconClass:'icon_delete'},
  89. </@pop_perm>
  90. // <@pop_perm url="">
  91. // {line:true},
  92. // {text:'变更',click:mergeUnit, iconClass:'icon_layers'},
  93. // </@pop_perm>
  94. <@pop_perm url="/customerMeter/print.do">
  95. {line:true},
  96. {text:'打印',click:print, iconClass:'icon_print'},
  97. </@pop_perm>
  98. <@pop_perm url="/customerMeter/exportExcel.do">
  99. {line:true},
  100. {text:'导出',click:exportExcel, iconClass:'icon_export'},
  101. </@pop_perm>
  102. {line:true}
  103. ]
  104. },
  105. data:[], sortName: 'orgId',rownumbers:true,checkbox:true,usePager: false,height: '100%', width:"100%",heightDiff:-40,pageSize:g_pageSize,
  106. onChangeSort : function(){
  107. getData(g.options.sortName,g.options.sortOrder,g_pageNo,g_pageSize);
  108. return false;
  109. },isChecked:checkedHandler,onCheckRow: checkRowHandler, onCheckAllRow: checkAllRowHandler
  110. });
  111. //点击分页触发
  112. }
  113. $(function(){
  114. getData(g_pageNo,g_pageSize);
  115. })
  116. /**初始时通过向后台传递排序id、排序顺序、初始页码、每页条数**/
  117. function getData(pageNo,pageSize){
  118. jQuery.post("${ctx}/customerMeter/meterListPage.do",
  119. getFormParams(pageNo,pageSize),
  120. function(result){
  121. gridData = result;
  122. //刷新表格
  123. g.loadData(gridData);
  124. total_rows=gridData["pager.totalRows"];
  125. //设置左边内容页
  126. var content ="共有" + gridData["pager.totalRows"] + "条记录";
  127. $("#letfContent").html("");
  128. $("#letfContent").html(content);
  129. //取得分页组件
  130. var pager=$("#pager");
  131. //设置总页页数
  132. pager.attr("total",gridData["pager.totalRows"]);
  133. pager.render();
  134. //绑定翻页事件
  135. pager.unbind("pageChange");
  136. pager.bind("pageChange",function(e,index){
  137. g_pageNo = index + 1;
  138. getData(g_pageNo,g_pageSize);
  139. });
  140. //绑定选择每页显示记录数事件
  141. pager.bind("sizeChange",function(e,num){
  142. g_pageSize = num;
  143. getData(g_pageNo,g_pageSize);
  144. });
  145. },"json");
  146. }
  147. //打印
  148. function print(){
  149. var rows = g.getSelectedRows();
  150. var rowsLength = rows.length;
  151. var ids = getCheckedIdHandler();
  152. if(rowsLength == 0&& ids=='') {
  153. printByPage();
  154. return;
  155. }
  156. // alert(ids);
  157. // var orgIds=getCheckedOrgIdHandler();
  158. // var months=getCheckedMonthHandler();
  159. // var years=getCheckedYearHandler();
  160. //window.location.href="${ctx}/customerMeter/exportExcel.do?&ids="+ids+"&flag=selected&pageNo=1&pageSize="+total_rows;
  161. window.open("${ctx}/customerMeter/print.do?&ids="+ids+"&flag=selected&pageNo=1&pageSize="+total_rows);
  162. return;
  163. }
  164. function printByPage(){
  165. var orgNumber=$("#orgNumber").val();
  166. var orgName=$("#orgName").val();
  167. var year=$("#year").val();
  168. var busOrgCustomerNumber=$("#busOrgCustomerNumber").val();
  169. var busOrgMeterNumber=$("#busOrgMeterNumber").val();
  170. var isPlanUser=$("#isPlanUser").val();
  171. var userType=$("#userType").val();
  172. var address=$("#address").val();
  173. var url="${ctx}/customerMeter/print.do?";
  174. url +="orgNumber="+orgNumber;
  175. url +="&orgName="+orgName;
  176. url +="&busOrgCustomerNumber="+busOrgCustomerNumber;
  177. url +="&busOrgMeterNumber="+busOrgMeterNumber;
  178. url +="&year="+year;
  179. url +="&isPlanUser="+isPlanUser;
  180. url +="&userType="+userType;
  181. url +="&address="+address;
  182. url +="&flag=query";
  183. url +="&pageNo=1";
  184. url +="&pageSize="+total_rows;
  185. url = encodeURI(encodeURI(url));
  186. window.open(url);
  187. }
  188. //查询
  189. function searchHandler(){
  190. //清空数组
  191. clearArray();
  192. //重新加载数据,设置当前页面为1
  193. getData(1,g_pageSize);
  194. }
  195. /**获得查询表单的提交查询的值**/
  196. function getFormParams(pageNo,pageSize){
  197. $("#pageNo").val(pageNo);
  198. $("#pageSize").val(pageSize);
  199. return $("#searchForm").formToArray();
  200. }
  201. /**重置于查询表单,然后重新加载表格数据**/
  202. function resetSearch(){
  203. //清空数组
  204. clearArray();
  205. $("#searchForm")[0].reset();
  206. //重新加载数据,设置当前页面为1
  207. getData(1,g_pageSize);
  208. }
  209. //单条记录删除
  210. function onDelete(rowid){
  211. top.Dialog.confirm("确定要删除该记录吗?",function(){
  212. //删除记录
  213. jQuery.post("${ctx}/customerMeter/delete.do",
  214. {"ids":rowid},
  215. function(responseText){
  216. if(responseText.status=="y"){
  217. top.Dialog.alert(responseText.info);
  218. resetSearch();
  219. }else{
  220. top.Dialog.alert(responseText.info);
  221. }
  222. },
  223. "json");
  224. });
  225. }
  226. //批量删除
  227. function batchDelete() {
  228. var rows = g.getSelectedRows();
  229. var rowsLength = rows.length;
  230. if(rowsLength == 0) {
  231. top.Dialog.alert("请选中要删除的记录!");
  232. return;
  233. }
  234. top.Dialog.confirm("确定要删除吗?",function(){
  235. jQuery.post("${ctx}/customerMeter/delete.do",
  236. //获取所有选中行
  237. getSelectId(g),
  238. function(responseText){
  239. if(responseText.status=="y"){
  240. top.Dialog.alert(responseText.info);
  241. resetSearch();
  242. }else{
  243. top.Dialog.alert(responseText.info);
  244. return false;
  245. }
  246. },
  247. "json");
  248. });
  249. //获取所有选中行获取选中行的id 格式为 ids=1&ids=2
  250. function getSelectId(grid) {
  251. var selectedRows = grid.getSelectedRows();
  252. var selectedRowsLength = selectedRows.length;
  253. var ids = "";
  254. for(var i = 0;i<selectedRowsLength;i++) {
  255. ids += selectedRows[i].meterId + ",";
  256. }
  257. return {"ids":ids};
  258. }
  259. }
  260. //新增
  261. function onCreate(){
  262. top.Dialog.open({
  263. ID:'a1',
  264. URL:"${ctx}/customerMeter/create.do",
  265. Title:"新增水表",
  266. Width:700,
  267. Height:350
  268. });
  269. }
  270. //修改
  271. function onEdit(rowId){
  272. top.Dialog.open({
  273. ID:'a1',
  274. URL:"${ctx}/customerMeter/update.do?entity_id="+rowId,
  275. Title:"修改水表",
  276. Width:700,
  277. Height:350
  278. });
  279. }
  280. //变更
  281. function onChange(rowId){
  282. top.Dialog.open({
  283. ID:'a1',
  284. URL:"${ctx}/customerMeter/change.do?entity_id="+rowId,
  285. Title:"变更水表",
  286. Width:700,
  287. Height:500
  288. });
  289. }
  290. //导出单位水表水量表
  291. function exportExcel() {
  292. var rows = g.getSelectedRows();
  293. var rowsLength = rows.length;
  294. var ids = getCheckedIdHandler();
  295. if(rowsLength == 0&& ids=='') {
  296. exportExcelByPage();
  297. return;
  298. }
  299. // alert(ids);
  300. // var orgIds=getCheckedOrgIdHandler();
  301. // var months=getCheckedMonthHandler();
  302. // var years=getCheckedYearHandler();
  303. window.location.href="${ctx}/customerMeter/exportExcel.do?&ids="+ids+"&flag=selected&pageNo=1&pageSize="+total_rows;
  304. return;
  305. }
  306. //导出处理
  307. function exportExcelByPage(){
  308. var orgNumber=$("#orgNumber").val();
  309. var orgName=$("#orgName").val();
  310. var year=$("#year").val();
  311. var busOrgCustomerNumber=$("#busOrgCustomerNumber").val();
  312. var busOrgMeterNumber=$("#busOrgMeterNumber").val();
  313. var isPlanUser=$("#isPlanUser").val();
  314. var userType=$("#userType").val();
  315. var address=$("#address").val();
  316. var url="${ctx}/customerMeter/exportExcel.do?";
  317. url +="orgNumber="+orgNumber;
  318. url +="&orgName="+orgName;
  319. url +="&busOrgCustomerNumber="+busOrgCustomerNumber;
  320. url +="&busOrgMeterNumber="+busOrgMeterNumber;
  321. url +="&year="+year;
  322. url +="&isPlanUser="+isPlanUser;
  323. url +="&userType="+userType;
  324. url +="&address="+address;
  325. url +="&flag=query";
  326. url +="&pageNo=1";
  327. url +="&pageSize="+total_rows;
  328. url = encodeURI(encodeURI(url));
  329. window.location =url;
  330. return false;
  331. }
  332. var checkedArray = [];
  333. // var checkedMonthArray = [];
  334. // var checkedYearArray = [];
  335. function findCheckedArray(id){
  336. for(var i =0;i<checkedArray.length;i++){
  337. if(checkedArray[i] == id) return i;
  338. }
  339. return -1;
  340. }
  341. function addCheckedArray(id){
  342. if(findCheckedArray(id) == -1){
  343. checkedArray.push(id);
  344. }
  345. }
  346. function getCheckedIdHandler(){
  347. return checkedArray.join(',');
  348. }
  349. function removeCheckedArray(id){
  350. var i = findCheckedArray(id);
  351. if(i==-1) return;
  352. checkedArray.splice(i,1);
  353. }
  354. function checkedHandler(rowdata){
  355. if (findCheckedArray(rowdata.meterId) == -1)
  356. return false;
  357. return true;
  358. }
  359. function checkRowHandler(checked, data){
  360. if (checked) addCheckedArray(data.meterId);
  361. else removeCheckedArray(data.meterId);
  362. }
  363. function checkAllRowHandler(checked){
  364. for (var rowid in this.records){
  365. if(checked)
  366. addCheckedArray(this.records[rowid]['meterId']);
  367. else
  368. removeCheckedArray(this.records[rowid]['meterId']);
  369. }
  370. }
  371. //清空数组
  372. function clearArray(){
  373. checkedArray.length=0;
  374. }
  375. </script>
  376. </head>
  377. <body>
  378. <div class="box2" panelTitle="单位水表对应表信息列表">
  379. <form action="" id="searchForm" method="post">
  380. <input type="hidden" id="Q_importStatus_S_LK"
  381. name="Q_importStatus_S_LK" value="normal" /> <input type="hidden"
  382. id="pageNo" name="pageNo" value="1" /> <input type="hidden"
  383. id="pageSize" name="pageSize" value="10" />
  384. <table>
  385. <tr>
  386. <td>单位编号:</td>
  387. <td><input type="text" id="orgNumber" name="orgNumber" /></td>
  388. <td>单位名称:</td>
  389. <td><input type="text" id="orgName" name="orgName" /></td>
  390. <td align="right">年度:</td>
  391. <td><input class="date" dateFmt="yyyy" type="text" id="year"
  392. name="year" value="${year!''}" /></td>
  393. <td align="right">客户号:</td>
  394. <td><input type="text" id="busOrgCustomerNumber"
  395. name="busOrgCustomerNumber" /></td>
  396. <td style="padding-left: 15px;"><button type="button"
  397. onclick="searchHandler()">
  398. <span class="icon_find">查询</span>
  399. </button></td>
  400. </td>
  401. </tr>
  402. <tr>
  403. <td>单位地址:</td>
  404. <td><input type="text" id="address" name="address" /></td>
  405. <td>水表编号:</td>
  406. <td><input type="text" id="busOrgMeterNumber"
  407. name="busOrgMeterNumber" /></td>
  408. <td>是否计划户:</td>
  409. <td><select prompt="请选择" id="isPlanUser"
  410. data='{"list":[{"value":"yes","key":"计划户"},{"value":"no","key":"非计划户"}]}'
  411. name="isPlanUser"></select></td>
  412. <td>用户类型:</td>
  413. <td><select prompt="请选择" id="userType"
  414. data='${userType}' name="userType"></select></td>
  415. <td style="padding-left: 15px;"><button type="reset"
  416. onclick="resetSearch()">
  417. <span class="icon_find">重置</span>
  418. </button></td>
  419. </td>
  420. </tr>
  421. </table>
  422. </form>
  423. </div>
  424. <div id="scrollContent">
  425. <div class="padding_right5">
  426. <div id="maingrid"></div>
  427. </div>
  428. </div>
  429. <!-- 分页组件 -->
  430. <div style="height: 35px;">
  431. <div id="letfContent" class="float_left padding5"></div>
  432. <div class="float_right padding5">
  433. <div id="pager" total="0" class="pageArrow" showSelect="true"
  434. inputPosition="right"></div>
  435. </div>
  436. <div class="clear"></div>
  437. </div>
  438. </body>
  439. </html>