LatelyFill.jsp 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612
  1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
  2. <%@ page import="com.runzhixing.bean.CityPlace" %>
  3. <%@ page import="com.runzhixing.bean.CountryPlace" %>
  4. <%@ page import="com.runzhixing.bean.Station" %>
  5. <%@ page import="com.runzhixing.bean.AuthorityRegionPlace" %>
  6. <%@ page import="com.runzhixing.bean.User" %>
  7. <%@ page import="com.runzhixing.tool.Util" %>
  8. <%@ page import="com.runzhixing.constant.Constant" %>
  9. <%
  10. String path = request.getContextPath();
  11. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
  12. User user = (User)session.getAttribute(Constant.userMark);
  13. List<AuthorityRegionPlace> arplist = user.getPrivilegePlaces1();
  14. List<CityPlace> cplist = new ArrayList<CityPlace>();
  15. List<CountryPlace> cyplist = new ArrayList<CountryPlace>();
  16. List<Station> slist = new ArrayList<Station>();
  17. %>
  18. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  19. <html>
  20. <head>
  21. <base href="<%=basePath%>">
  22. <title>充装数据查询</title>
  23. <meta http-equiv="pragma" content="no-cache">
  24. <meta http-equiv="cache-control" content="no-cache">
  25. <meta http-equiv="expires" content="0">
  26. <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  27. <meta http-equiv="description" content="This is my page">
  28. <meta http-equiv="X-UA-Compatible" content="IE=9"/>
  29. <meta http-equiv="X-UA-Compatible" content="IE=10"/>
  30. <link rel="stylesheet" type="text/css" href="css/easyui/themes/default/easyui.css">
  31. <link rel="stylesheet" type="text/css" href="css/easyui/themes/icon.css">
  32. <link rel="stylesheet" type="text/css" href="css/easyui/demo/demo.css">
  33. <script type="text/javascript" src="css/easyui/jquery.min.js"></script>
  34. <script type="text/javascript" src="css/easyui/jquery.easyui.min.js" charset="utf-8"></script>
  35. <script type="text/javascript" src="css/easyui/locale/easyui-lang-zh_CN.js" charset="utf-8"></script>
  36. <link rel="stylesheet" type="text/css" href="css/common/hzbstyle.css">
  37. <script type="text/javascript" src="js/easyui/export.js"></script>
  38. <script type="text/javascript" src="js/common/area.js"></script>
  39. <style type="text/css">
  40. a:HOVER{
  41. color: red;
  42. text-decoration: none;
  43. }
  44. a{
  45. color: #f08300;
  46. text-decoration: none;
  47. }
  48. </style>
  49. <script type="text/javascript">
  50. var grid="";
  51. var exportString="";
  52. var i = 1;//第几页
  53. var sum;//总条数
  54. var pageSize =10;
  55. var totalpage;//总页数
  56. $(document).ready(function(){
  57. var carGuid = '<%=request.getParameter("carGuid") %>';
  58. var cylinderGuid = '<%=request.getParameter("cylinderGuid") %>';
  59. if(cylinderGuid&&cylinderGuid!="null"){
  60. document.getElementById("cylinderGuid").value=cylinderGuid;
  61. }
  62. if(carGuid&&carGuid!="null"){
  63. document.getElementById("carGuid").value=carGuid;
  64. }
  65. //pageSize = $('#pageSize').val();
  66. //selectCountry();
  67. //selectstation();
  68. fLoadTable();
  69. //selectjqjandop();
  70. //fLoadData(i,pageSize);
  71. $('#day1').numberbox('setValue',0);
  72. $('#day2').numberbox('setValue',10);
  73. });
  74. function show(message) {
  75. $.messager.show({
  76. title: '提示信息',
  77. msg: message,
  78. timeout: 2000,
  79. showType: 'slide'
  80. });
  81. }
  82. function fLoadTable(){
  83. grid=$('#tt').datagrid({
  84. fit: true,//自动大小
  85. title: '',
  86. width: '100%',
  87. height: 580,
  88. toolbar: '#toolbar',
  89. fitColumns: true,
  90. singleSelect:false,
  91. loadMsg:'正在加载, 请稍等 …',
  92. nowrap : true,//设置为true,当数据长度超出列宽时将会自动截取
  93. striped : true,//设置为true将交替显示行背景
  94. collapsible : false,//显示可折叠按钮
  95. singleSelect:true,//为true时只能选择单行
  96. fitColumns:true,//允许表格自动缩放,以适应父容器
  97. rownumbers:true,
  98. pagination:false,//分页控件
  99. columns:[[
  100. {field:'stationNo',align:'left',title:'充装站',width:'160px',rowspan:'2'},
  101. {field:'machineNo',align:'left',title:'加气机',width:'120px',rowspan:'2'},
  102. {field:'gunNo',align:'left',title:'加气枪',width:'120px',rowspan:'2'},
  103. {field:'media',align:'left',title:'充装介质',width:'120px',rowspan:'2',formatter:function(value,row,index){
  104. if(value==1){
  105. return "LNG-低温液化天然气";
  106. }else if(value==0){
  107. return "CNG-高压气体";
  108. }else {
  109. return "其他";
  110. }
  111. }},
  112. {field:'operatorName',align:'left',title:'操作员',width:'120px',rowspan:'2'},
  113. {field:'fillState',align:'left',title:'充装状态',width:'120px',rowspan:'2',formatter: function(value, row, index){
  114. if(value=="超期未检"){
  115. return '<div style="background-color: #f08300;">'+value+'</div>';
  116. }
  117. return value;
  118. }},
  119. {field:'fillTime1',align:'left',title:'充装时间',width:160,rowspan:'2'},
  120. {field:'carNo',align:'left',title:'车牌号',width:'120px',rowspan:'2',formatter: function(value, row, index){
  121. if(value){
  122. var v=0;
  123. if(row.appType.indexOf("其他")!=-1) {v=0;}else
  124. if(row.appType.indexOf("出租")!=-1) {v=1;}else
  125. if(row.appType.indexOf("公交")!=-1) {v=2;}else
  126. if(row.appType.indexOf("私用")!=-1){v=3;}else
  127. if(row.appType.indexOf("货运")!=-1){v=4;}else
  128. if(row.appType.indexOf("客运")!=-1) {v=5;}else
  129. if(row.appType.indexOf("外地车")!=-1) {v=9;}else
  130. if(row.appType.indexOf("营转非")!=-1) {v=6;}
  131. return '<a href="machineDetailfill?carNo='+value+'&appType='+v+'&operState=-1'+'&plateType='+row.plateType+'&fixCarNo='+row.fixCarNo+'&fillTimes='+row.fillTime1+'" target="_blank">'+value+'</a>';
  132. }
  133. return value;
  134. }},
  135. {field:'plateTypeName',align:'left',title:'车牌类型',width:'120px',rowspan:'2'},
  136. {field:'appType',align:'left',title:'应用类型',width:'120px',rowspan:'2'},
  137. {field:'cylinderNum',align:'left',title:'气瓶数量',width:'120px',rowspan:'2'},
  138. {field:'regNo',align:'left',title:'使用登记证',width:'120px',rowspan:'2'},
  139. {field:'nowNumber',align:'left',title:'已充装次数',width:'120px',rowspan:'2'},
  140. {field:'fillcheckstr',align:'left',title:'已充装次数',width:'120px',rowspan:'2'},
  141. {"title":"充装前检查",align:'left',"colspan":6},
  142. {"title":"充装后检查",align:'left',"colspan":3},
  143. {field:'endTime1',align:'left',title:'结束时间',width:160,rowspan:'2'},
  144. {field:'lowPress',align:'left',title:'充装前压',width:'120px',rowspan:'2',formatter: function(value, row, index){
  145. return value;
  146. }},
  147. {field:'highPress',align:'left',title:'充装后压',width:'120px',rowspan:'2',formatter: function(value, row, index){
  148. return value;
  149. }},
  150. {field:'flux',align:'left',title:'流量',width:'120px',rowspan:'2',formatter: function(value, row, index){
  151. return value;
  152. }},
  153. {field:'money',align:'left',title:'金额(元)',width:'120px',rowspan:'2',formatter: function(value, row, index){
  154. return value;
  155. }}
  156. ],
  157. [
  158. {"field":"taskNo",align:'left',"title":'附件齐全'+"<br/>"+'符合安全'+"<br/>"+'要求',"rowspan":1,formatter: function(value, row, index){
  159. var v=row.fillcheckstr;
  160. if(v!=null&&v!=""&&v!=undefined&&(row.fillStateNum<=0||row.fillStateNum>=21)){
  161. var str="✔";
  162. if(v.substring(v.length-1,v.length)=="1"){
  163. str="×";
  164. }
  165. if(row.fillStateNum=="31"){
  166. str="✔";
  167. }
  168. return str;
  169. }
  170. }},
  171. {"field":"taskNo1",align:'left',"title":'瓶内有余'+"<br/>"+'压(首次充'+"<br/>"+'装已置换)',"rowspan":1,formatter: function(value, row, index){
  172. var v=row.fillcheckstr;
  173. if(v!=null&&v!=""&&v!=undefined&&(row.fillStateNum<=0||row.fillStateNum>=21)){
  174. var str="✔";
  175. if(v.substring(v.length-2,v.length-1)=="1"){
  176. str="×";
  177. }
  178. if(row.fillStateNum=="31"){
  179. str="✔";
  180. }
  181. return str;
  182. }
  183. }},
  184. {"field":"taskNo2",align:'left',"title":'外观完好、无缺陷('+"<br/>"+'裂纹、腐蚀、'+"<br/>"+'变形等)、安装稳定',"rowspan":1,formatter: function(value, row, index){
  185. var v=row.fillcheckstr;
  186. if(v!=null&&v!=""&&v!=undefined&&(row.fillStateNum<=0||row.fillStateNum>=21)){
  187. var str="✔";
  188. if(v.substring(v.length-3,v.length-2)=="1"){
  189. str="×";
  190. }
  191. if(row.fillStateNum=="31"){
  192. str="✔";
  193. }
  194. return str;
  195. }
  196. }},
  197. {"field":"taskNo3",align:'left',"title":'无私改'+"<br/>"+'符合规定',"rowspan":1,formatter: function(value, row, index){
  198. var v=row.fillcheckstr;
  199. if(v!=null&&v!=""&&v!=undefined&&(row.fillStateNum<=0||row.fillStateNum>=21)){
  200. var str="✔";
  201. if(v.substring(v.length-4,v.length-3)=="1"){
  202. str="×";
  203. }
  204. if(row.fillStateNum=="31"){
  205. str="✔";
  206. }
  207. return str;
  208. }
  209. }},
  210. {"field":"taskNo4",align:'left',"title":'无漏气、'+"<br/>"+'漏电、'+"<br/>"+'漏油现象',"rowspan":1,formatter: function(value, row, index){
  211. var v=row.fillcheckstr;
  212. if(v!=null&&v!=""&&v!=undefined&&(row.fillStateNum<=0||row.fillStateNum>=21)){
  213. var str="✔";
  214. if(v.substring(v.length-5,v.length-4)=="1"){
  215. str="×";
  216. }
  217. if(row.fillStateNum=="31"){
  218. str="✔";
  219. }
  220. return str;
  221. }
  222. }},
  223. {"field":"taskNo5",align:'left',"title":'电子标签与车辆'+"<br/>"+'信息相符并贴于瓶'+"<br/>"+'体上(判定标签除外)',"rowspan":1,formatter: function(value, row, index){
  224. var v=row.fillcheckstr;
  225. if(v!=null&&v!=""&&v!=undefined&&(row.fillStateNum<=0||row.fillStateNum>=21)){
  226. var str="✔";
  227. if(v.substring(v.length-6,v.length-5)=="1"){
  228. str="×";
  229. }
  230. if(row.fillStateNum=="31"){
  231. str="✔";
  232. }
  233. return str;
  234. }
  235. }},
  236. {"field":"taskNo6",align:'left',"title":'瓶内压力'+"<br/>"+'在规定范'+"<br/>"+'围内',"rowspan":1,formatter: function(value, row, index){
  237. if(row.fillStateNum<=0||row.fillStateNum>=21){
  238. if(
  239. (row.endTime1&&row.fillTime1&&(row.endTime1>row.fillTime1))
  240. ||
  241. (row.fillStateNum&&row.fillStateNum=="31")
  242. ){
  243. var v=row.fillcheckstr;
  244. if(v!=null&&v!=""&&v!=undefined){
  245. var str="✔";
  246. if(v.substring(v.length-1,v.length)=="1"){
  247. str="×";
  248. }
  249. return str;
  250. }
  251. }
  252. }
  253. }},
  254. {"field":"taskNo7",align:'left',"title":'附件连接'+"<br/>"+'可靠、密封'+"<br/>"+'完好',"rowspan":1,formatter: function(value, row, index){
  255. if(row.fillStateNum<=0||row.fillStateNum>=21){
  256. if(
  257. (row.endTime1&&row.fillTime1&&(row.endTime1>row.fillTime1))
  258. ||
  259. (row.fillStateNum&&row.fillStateNum=="31")
  260. ){
  261. var v=row.fillcheckstr;
  262. if(v!=null&&v!=""&&v!=undefined){
  263. var str="✔";
  264. if(v.substring(v.length-2,v.length-1)=="1"){
  265. str="×";
  266. }
  267. return str;
  268. }
  269. }
  270. }
  271. }},
  272. {"field":"taskNo8",align:'left',"title":'无鼓包、变'+"<br/>"+'形、泄露等'+"<br/>"+'异常现象',"rowspan":1,formatter: function(value, row, index){
  273. if(row.fillStateNum<=0||row.fillStateNum>=21){
  274. if(
  275. (row.endTime1&&row.fillTime1&&(row.endTime1>row.fillTime1))
  276. ||
  277. (row.fillStateNum&&row.fillStateNum=="31")
  278. ){
  279. var v=row.fillcheckstr;
  280. if(v!=null&&v!=""&&v!=undefined){
  281. var str="✔";
  282. if(v.substring(v.length-3,v.length-2)=="1"){
  283. str="×";
  284. }
  285. return str;
  286. }
  287. }
  288. }
  289. }},
  290. ]
  291. ]
  292. });
  293. //$('#tt').datagrid('hideColumn','endTime1');
  294. }
  295. function fLoadData(page,rows){
  296. if($("#fillingform").form('validate')){
  297. var day1 = $('#day1').numberbox('getValue');
  298. var day2 = $('#day2').numberbox('getValue');
  299. if(day1==day2){
  300. $.messager.alert('提示','结束天数必须大于开始天数');
  301. }else if(day1>day2){
  302. $('#day1').numberbox('setValue',day2);
  303. $('#day2').numberbox('setValue',day1);
  304. }
  305. $.messager.progress({
  306. title: '请等待',
  307. msg: '正在加载数据...',
  308. text: '查询中.......'
  309. });
  310. $.ajax({
  311. type:"POST",
  312. contentType: "application/x-www-form-urlencoded; charset=UTF-8",
  313. data:$('#fillingform').serialize(),
  314. url:"ajax/latelyFill",
  315. success:function (data){
  316. $.messager.progress('close');
  317. var vData = $.parseJSON(data);
  318. $('#tt').datagrid('loadData', vData);
  319. }
  320. });
  321. }else{
  322. $.messager.alert('提示','验证未通过,有必填信息未填写!');
  323. }
  324. }
  325. function selectCountry(){
  326. var id=document.getElementById("city").value;
  327. var select = document.getElementById("country");
  328. for(var i=select.options.length-1;i>=0;i--) {
  329. select.options.remove(i);
  330. }
  331. $.ajax({
  332. type:"POST",
  333. contentType: "application/x-www-form-urlencoded; charset=UTF-8",
  334. url:"ajax/hiddenCity?cityId="+id,
  335. success:function (data){
  336. var obj=eval("(" + data + ")");
  337. if(obj.rows.length==1){
  338. select.options.add(new Option("请选择县", ""));
  339. }
  340. $.each(obj.rows, function(i,item){
  341. select.options.add(new Option(item.name, item.id));
  342. });
  343. }
  344. });
  345. }
  346. function selectCountry1(){
  347. selectCountry();
  348. selectstation();
  349. }
  350. function changeSize(){
  351. fLoadData(1,10);
  352. }
  353. function selectstation(){
  354. var ii=1;
  355. var id=document.getElementById("country").value;
  356. var select = document.getElementById("station");
  357. for(var i=select.options.length-1;i>=0;i--) {
  358. select.options.remove(i);
  359. }
  360. $.ajax({
  361. type:"POST",
  362. contentType: "application/x-www-form-urlencoded; charset=UTF-8",
  363. data:$('#fillingform').serialize(),
  364. //url:"ajax/hiddenCNGStation?cityId="+id,
  365. url:"ajax/hiddenspeStation?type=2",
  366. success:function (data){
  367. var obj=eval("(" + data + ")");
  368. $.each(obj.rows, function(i,item){
  369. if(ii==1){
  370. if(obj.rows.length>1){
  371. select.options.add(new Option("全部", ""));
  372. }
  373. ii++;
  374. }
  375. select.options.add(new Option(item.name, item.id));
  376. });
  377. }
  378. });
  379. }
  380. function selectstation1(){
  381. selectstation();
  382. //changeSize();
  383. }
  384. function selectjqjandop(){
  385. selectjqj();
  386. selectoperatorNo();
  387. }
  388. function selectjqj(){
  389. var ii=1;
  390. var id=document.getElementById("station").value;
  391. var select = document.getElementById("jqj");
  392. for(var i=select.options.length-1;i>=0;i--) {
  393. select.options.remove(i);
  394. }
  395. $.ajax({
  396. type:"POST",
  397. contentType: "application/x-www-form-urlencoded; charset=UTF-8",
  398. url:"ajax/hiddenjqj?stationId="+id,
  399. success:function (data){
  400. var obj=eval("(" + data + ")");
  401. select.options.add(new Option("全部", ""));
  402. $.each(obj.rows, function(i,item){
  403. select.options.add(new Option(item.manu+item.type, item.machineNo));
  404. });
  405. }
  406. });
  407. }
  408. function selectoperatorNo(){
  409. var ii=1;
  410. var id=document.getElementById("station").value;
  411. var select = document.getElementById("operatorNo");
  412. for(var i=select.options.length-1;i>=0;i--) {
  413. select.options.remove(i);
  414. }
  415. $.ajax({
  416. type:"POST",
  417. contentType: "application/x-www-form-urlencoded; charset=UTF-8",
  418. url:"ajax/hiddenoperatorNo?stationId="+id,
  419. success:function (data){
  420. var obj=eval("(" + data + ")");
  421. select.options.add(new Option("全部", ""));
  422. $.each(obj.rows, function(i,item){
  423. select.options.add(new Option(item.name, item.operatorNo));
  424. });
  425. }
  426. });
  427. }
  428. function expt1(){
  429. expt(grid);
  430. }
  431. function exptSingle(){
  432. if(!grid){
  433. alert("数据为空");
  434. return false;
  435. }else{
  436. expt(grid);
  437. }
  438. }
  439. function exptAll(){
  440. fLoadDataAll(1,5000);
  441. }
  442. function fLoadDataAll(page,rows){
  443. var startTime1 = $('#startTime').datebox('getValue');
  444. var endTime1 = $('#endTime').datebox('getValue');
  445. document.getElementById("pageNumber").innerText = i;
  446. document.getElementById("from").innerText = (page-1)*rows;
  447. document.getElementById("to").innerText = page*rows;
  448. $.messager.progress({
  449. title: '请等待',
  450. msg: '正在加载数据...',
  451. text: '查询中.......'
  452. });
  453. $.ajax({
  454. type:"POST",
  455. contentType: "application/x-www-form-urlencoded; charset=UTF-8",
  456. data:$('#fillingform').serialize(),
  457. url:"ajax/fillingDataQuery?page="+page+"&psize="+rows,
  458. success:function (data){
  459. $.messager.progress('close');
  460. var vData = $.parseJSON(data);
  461. sum = vData.total;
  462. if(sum==0){
  463. show("没有查询到相关信息!!!");
  464. }
  465. totalpage = Math.ceil(sum/rows);
  466. document.getElementById("total").innerText = sum;
  467. document.getElementById("totalpage").innerText = totalpage;
  468. var vData = $.parseJSON(data);
  469. $('#tt').datagrid('loadData', vData); //将数据绑定到datagrid
  470. var p = $('#tt').datagrid('getPager');
  471. $(p).pagination({
  472. pageList: [10,20,30,100,200,400],//可以设置每页记录条数的列表
  473. beforePageText: '第',//页数文本框前显示的汉字
  474. afterPageText: '页 共 {pages} 页',
  475. displayMsg: '当前显示 {from} - {to} 条记录 共 {total} 条记录',
  476. onSelectPage: function (pageNumber, pageSize) {
  477. fLoadData(pageNumber, pageSize);
  478. }
  479. });
  480. if(!grid){
  481. alert("数据为空");
  482. return false;
  483. }else{
  484. expt(grid);
  485. }
  486. }
  487. });
  488. }
  489. function selectpage(){
  490. var selectpage = $('#selectpage').val();
  491. if(selectpage>=1&&selectpage<=totalpage){
  492. i = selectpage;
  493. $("#selectpage").val("");
  494. pageSize = $('#pageSize').val();
  495. fLoadData(i,pageSize);
  496. }else{
  497. $("#selectpage").val("");
  498. return false;
  499. }
  500. }
  501. function selectjqjandop22(){
  502. selectjqjandop();
  503. //changeSize();
  504. }
  505. function selectoperatorNo22(){
  506. //selectoperatorNo();
  507. //changeSize();
  508. }
  509. </script>
  510. </head>
  511. <body>
  512. <!-- 查询结果:数据表格 -->
  513. <table id="tt" cellspacing="0" cellpadding="0" >
  514. </table>
  515. <div id="toolbar" style="padding-top: 0px;height: auto;">
  516. <form id="fillingform" action="ajax/filling" method="post">
  517. <input id="carGuid" name="carGuid" type="text" style="display: none;" />
  518. <input id="cylinderGuid" name="cylinderGuid" type="text" style="display: none;" />
  519. <table>
  520. <tr>
  521. <td>天数选择:</td>
  522. </tr>
  523. <tr>
  524. <td>从过去的第</td>
  525. <td>
  526. <input type="text" name="day1" id="day1" class="easyui-numberbox" data-options="required:true,prompt:'必填',"/>
  527. </td>
  528. <td>天到</td>
  529. <td>过去的第</td>
  530. <td>
  531. <input type="text" name="day2" id="day2" class="easyui-numberbox" data-options="required:true,prompt:'必填'," />
  532. </td>
  533. <td>天</td>
  534. <td>
  535. <a id="btninfosearch" onclick="changeSize();" class="easyui-linkbutton" icon="icon-search" href="javascript:void(0)" style="margin-bottom: 5px;" ><span class="hzbspan" style="color: #f08300;font-size: 16px;">查询</span></a>
  536. </td>
  537. </tr>
  538. </table>
  539. </form>
  540. </div>
  541. <div id="dialog2"></div>
  542. </body>
  543. </html>