ScannerCtrl.php 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580
  1. <?php
  2. /*
  3. * Scanner Class
  4. * by lijg 20181107
  5. */
  6. require_once 'trdLibrary/PHPExcel/PHPExcel.php';
  7. require_once 'library/mdb.php';
  8. require_once 'library/common.php';
  9. class ScannerCtrl{
  10. public function __construct(){
  11. $this->db = new MdbLib();
  12. $this->common = new CommonLib();
  13. $this->skey = '2019';
  14. }
  15. //show
  16. public function getOrders(){
  17. if(!isset($_GET['now']) || !isset($_GET['shop']) || !isset($_GET['status']) || !isset($_GET['startDate']) || !isset($_GET['endDate'])){
  18. return false;
  19. }else{
  20. $now = $this->common->my_filter_input($_GET['now']);
  21. $shop = $this->common->my_filter_input($_GET['shop']);
  22. $status = $this->common->my_filter_input($_GET['status']);
  23. $startDate = $_GET['startDate'] . ' 00:00:00';
  24. $endDate = $_GET['endDate'].' 23:59:59';
  25. $key = $this->common->my_filter_input($_GET['key']);
  26. $pnsn = isset($_GET['pnsn'])?$this->common->my_filter_input($_GET['pnsn']):15;
  27. }
  28. $shop_type = '';
  29. switch($shop){
  30. case 1:
  31. $shop_type = 'AAASSS';
  32. break;
  33. case 2:
  34. $shop_type = 'Alipearl';
  35. break;
  36. case 3:
  37. $shop_type = 'QQ';
  38. break;
  39. case 4:
  40. $shop_type = 'SuperNova';
  41. break;
  42. case 5:
  43. $shop_type = 'West-Kiss';
  44. break;
  45. case 6:
  46. $shop_type = 'Yolissa';
  47. break;
  48. default:
  49. $shop_type = '';
  50. }
  51. $offset = ($now-1)*$pnsn;
  52. $sql = 'SELECT `oid`,`order_sn`,`order_barcode`,`order_status`,`goods_no`,`goods_info`,`create_time`,`out_time`,`gir` ';
  53. $sql .= 'FROM `orders` ';
  54. $sql .= "WHERE `create_time` BETWEEN '{$startDate}' AND '{$endDate}' ";
  55. if($shop != 0){
  56. $sql .= " AND `order_barcode` LIKE '{$shop_type}%' ";
  57. }
  58. if($status != 0){
  59. $sql .= " AND `order_status`='{$status}' ";
  60. }
  61. //$sql .= "ORDER BY `create_time` DESC, `oid` DESC LIMIT {$offset},$pnsn;";
  62. $sql .= "ORDER BY `oid` DESC LIMIT {$offset},$pnsn;";
  63. $query = $this->db->querySql($sql);
  64. $line = "";
  65. while($item = $this->db->queryRs($query)) {
  66. if($item['order_status'] == '2'){
  67. $order_status = "已出库";
  68. $out_time = $item['out_time'];
  69. $class = 'ok';
  70. }elseif($item['order_status'] == '1'){
  71. $order_status = "未出库";
  72. $out_time = '暂无';
  73. $class = 'no';
  74. }elseif($item['order_status'] == '3'){
  75. $order_status = "已取消";
  76. $out_time = '暂无';
  77. $class = 'cancel';
  78. }
  79. if($item['gir'] == 1){
  80. $repeat = 'repeat';
  81. }else{
  82. $repeat = '';
  83. }
  84. $line .= '<div class="list_block">';
  85. $line .= "<span class=\"order_id\">{$item['oid']}</span>";
  86. $line .= "<span class=\"order_barcode\">{$item['order_barcode']}</span>";
  87. $line .= "<span class=\"order_no\">{$item['order_sn']}</span>";
  88. $line .= "<span class=\"goods_no {$repeat}\">{$item['goods_no']}</span>";
  89. $line .= "<span class=\"goods_info\" title=\"{$item['goods_info']}\">{$item['goods_info']}</span>";
  90. $line .= "<span class=\"create_time\">{$item['create_time']}</span>";
  91. $line .= "<span class=\"order_status {$class}\">{$order_status}</span>";
  92. $line .= "<span class=\"out_time\">{$out_time}</span>";
  93. if(!empty($key) && $key==$this->skey){
  94. if($item['order_status'] == '1'){
  95. $line .= "<span class=\"options\"><input type=\"button\" class=\"cancel_order\" data-ordersn=\"{$item['order_sn']}\" value=\"取消\"></span>";
  96. }else{
  97. $line .= "<span class=\"options\">暂无</span>";
  98. }
  99. }
  100. $line .= '</div>';
  101. }
  102. return $line;
  103. }
  104. public function searchOrders(){
  105. if(!isset($_GET['key'])){
  106. return false;
  107. }else{
  108. $key = $this->common->my_filter_input($_GET['key']);
  109. }
  110. $sql = 'SELECT `oid`,`order_sn`,`order_barcode`,`order_status`,`goods_no`,`goods_info`,`create_time`,`out_time`,`gir` ';
  111. $sql .= 'FROM `orders` ';
  112. if(isset($_GET['barcode'])){
  113. $barcode = $this->common->my_filter_input($_GET['barcode']);
  114. $sql .= "WHERE `order_barcode`='{$barcode}' LIMIT 1;";
  115. }elseif(isset($_GET['sn'])){
  116. $sn = $this->common->my_filter_input($_GET['sn']);
  117. $sql .= "WHERE `order_sn`='{$sn}' LIMIT 1;";
  118. }elseif(isset($_GET['gn'])){
  119. $gn = $this->common->my_filter_input($_GET['gn']);
  120. $sql .= "WHERE `goods_no`='{$gn}';";
  121. }
  122. $query = $this->db->querySql($sql);
  123. $line = "";
  124. while($item = $this->db->queryRs($query)) {
  125. if($item['order_status'] == '2'){
  126. $order_status = "已出库";
  127. $out_time = $item['out_time'];
  128. $class = 'ok';
  129. }elseif($item['order_status'] == '1'){
  130. $order_status = "未出库";
  131. $out_time = '暂无';
  132. $class = 'no';
  133. }elseif($item['order_status'] == '3'){
  134. $order_status = "已取消";
  135. $out_time = '暂无';
  136. $class = 'cancel';
  137. }
  138. if($item['gir'] == 1){
  139. $repeat = 'repeat';
  140. }else{
  141. $repeat = '';
  142. }
  143. $line .= '<div class="list_block">';
  144. $line .= "<span class=\"order_id\">{$item['oid']}</span>";
  145. $line .= "<span class=\"order_barcode\">{$item['order_barcode']}</span>";
  146. $line .= "<span class=\"order_no\">{$item['order_sn']}</span>";
  147. $line .= "<span class=\"goods_no {$repeat}\">{$item['goods_no']}</span>";
  148. $line .= "<span class=\"goods_info\" title=\"{$item['goods_info']}\">{$item['goods_info']}</span>";
  149. $line .= "<span class=\"create_time\">{$item['create_time']}</span>";
  150. $line .= "<span class=\"order_status {$class}\">{$order_status}</span>";
  151. $line .= "<span class=\"out_time\">{$out_time}</span>";
  152. if(!empty($key) && $key==$this->skey){
  153. if($item['order_status'] == '1'){
  154. $line .= "<span class=\"options\"><input type=\"button\" class=\"cancel_order\" data-ordersn=\"{$item['order_sn']}\" value=\"取消\"></span>";
  155. }else{
  156. $line .= "<span class=\"options\">暂无</span>";
  157. }
  158. }
  159. $line .= '</div>';
  160. }
  161. if(!empty($line)){
  162. return $line;
  163. }else{
  164. return -1;
  165. }
  166. }
  167. public function uploadExcel(){
  168. $tmp = pathinfo($_FILES['excel']['name']);
  169. if(($tmp['extension'] == 'xlsx') && ($_FILES['excel']['size'] < 5000000)){
  170. if($_FILES['excel']['error'] > 0){
  171. echo "error on upload file";
  172. return -2;
  173. }else{
  174. $newName = 'sc_'.date('YmdHis').'.'.$tmp['extension'];
  175. $newPath = "../public/upload/SCANNER/{$newName}";
  176. if(!move_uploaded_file($_FILES['excel']['tmp_name'], $newPath)){
  177. return -3;
  178. }else{
  179. if($this->readExcel($newPath) < 1){
  180. return -4;
  181. }else{
  182. return 1;
  183. }
  184. }
  185. }
  186. } else {
  187. return -1;
  188. }
  189. }
  190. public function readExcel($file){
  191. $PHPExcel = new \PHPExcel();
  192. $PHPReader = new \PHPExcel_Reader_Excel2007();
  193. if(!$PHPReader->canRead($file)){
  194. return -1;
  195. }
  196. $PHPExcel = $PHPReader->load($file);
  197. $currentSheet = $PHPExcel->getsheet(0);
  198. $allColumn = $currentSheet->getHighestColumn();
  199. $allRow = $currentSheet->getHighestRow();
  200. $lastColumn = 'E';
  201. $startRow = 2;
  202. $startColumn = 'A';
  203. $endColumn = 'E';
  204. if($allColumn != $lastColumn){
  205. return -2;
  206. }
  207. $insertValues = '';
  208. for($currentRow = $startRow; $currentRow <= $allRow; $currentRow++){
  209. $cellStr = "";
  210. for($currentColumn = $startColumn; $currentColumn <= $endColumn; $currentColumn++){
  211. $cellValue = $currentSheet->getCellByColumnAndRow(ord($currentColumn)-65, $currentRow)->getValue();
  212. $cellValue = $this->common->my_filter_input($cellValue);
  213. if(empty($cellValue)){
  214. break;
  215. }else{
  216. $cellValue = trim($cellValue, chr(194).chr(160));
  217. $cellStr .= '"' . trim($cellValue, '&quot;') . '",';
  218. }
  219. }
  220. if(!empty($cellStr)){
  221. $cellStr .= '"' . date('Y-m-d H:i:s', time()) . '"';
  222. $insertValues .= "({$cellStr}),";
  223. }
  224. }
  225. $insertValues = trim($insertValues, ',');
  226. $sql = "INSERT INTO `orders`(`create_time`,`order_sn`,`order_barcode`,`goods_no`,`goods_info`,`out_time`) VALUES {$insertValues};";
  227. $this->db->querySql("SET AUTOCOMMIT=0");
  228. $this->db->begin();
  229. if(!($this->db->querySql($sql))){
  230. $this->db->querySql("ROLLBACK");
  231. return -3;
  232. }else{
  233. $sql_gir = "UPDATE `orders` SET `gir`=1 WHERE `goods_no` IN (";
  234. $sql_gir .= "SELECT * FROM (SELECT `goods_no` FROM `orders` GROUP BY `goods_no` HAVING COUNT(`goods_no`)>1) AS `tmp`) AND `gir`!=1;";
  235. if($this->db->querySql($sql_gir)){
  236. $this->db->commit();
  237. return 1;
  238. }else{
  239. $this->db->querySql("ROLLBACK");
  240. return -4;
  241. }
  242. }
  243. }
  244. public function updateOrder(){
  245. if(isset($_GET['order_sn']) && !empty($_GET['order_sn']) && isset($_GET['status']) && !empty($_GET['status'])){
  246. $order_sn = $this->common->my_filter_input($_GET['order_sn']);
  247. $order_status = $this->common->my_filter_input($_GET['status']);
  248. } else {
  249. return false;
  250. }
  251. $sql_status = "SELECT `order_status`,`out_time` FROM `orders` WHERE `order_sn`='{$order_sn}';";
  252. $query = $this->db->querySql($sql_status);
  253. $arr_status = $this->db->queryRsAll($query);
  254. if(empty($arr_status)){
  255. return json_encode(array(
  256. 'no' => '-10'
  257. ));
  258. }
  259. $now = date("Y-m-d H:i:s", time());
  260. $sql = "UPDATE `orders` SET `order_status`='{$order_status}',`out_time`='{$now}' WHERE `order_sn`='{$order_sn}';";
  261. if($arr_status[0]['order_status'] == 1 && $order_status == 2){
  262. $this->db->querySql($sql);
  263. if($this->db->queryAR() == 1){
  264. return json_encode(array(
  265. 'no' => '1'
  266. ));
  267. }else{
  268. return json_encode(array(
  269. 'no' => '-1'
  270. ));
  271. }
  272. }elseif($arr_status[0]['order_status'] == 1 && $order_status == 3){
  273. $this->db->querySql($sql);
  274. if($this->db->queryAR() == 1){
  275. return json_encode(array(
  276. 'no' => '2'
  277. ));
  278. }else{
  279. return json_encode(array(
  280. 'no' => '-2'
  281. ));
  282. }
  283. }elseif($arr_status[0]['order_status'] == 2 && $order_status == 2){
  284. return json_encode(array(
  285. 'no' => '-3',
  286. 'out_time' => $arr_status[0]['out_time'],
  287. ));
  288. }elseif($arr_status[0]['order_status'] == 2 && $order_status == 3){
  289. return json_encode(array(
  290. 'no' => '-4',
  291. 'out_time' => $arr_status[0]['out_time'],
  292. ));
  293. }elseif($arr_status[0]['order_status'] == 3 && $order_status == 2){
  294. return json_encode(array(
  295. 'no' => '-5',
  296. 'out_time' => $arr_status[0]['out_time'],
  297. ));
  298. }elseif($arr_status[0]['order_status'] == 3 && $order_status == 3){
  299. return json_encode(array(
  300. 'no' => '-6',
  301. 'out_time' => $arr_status[0]['out_time'],
  302. ));
  303. }else{
  304. return json_encode(array(
  305. 'no' => '-7'
  306. ));
  307. }
  308. }
  309. public function getStatistics(){
  310. if(!isset($_GET['startDate']) || !isset($_GET['endDate'])){
  311. return false;
  312. } else {
  313. $startDate = $_GET['startDate'] . ' 00:00:00';
  314. $endDate = $_GET['endDate'].' 23:59:59';
  315. }
  316. $yesterday_start = date("Y-m-d", strtotime('-1 day')) . ' 00:00:00';
  317. $yesterday_end = date("Y-m-d", strtotime('-1 day')) . ' 23:59:59';
  318. $sql_yesterday = "SELECT COUNT(`oid`) AS `total_yesterday_out` FROM `orders`";
  319. $sql_yesterday .= " WHERE `out_time` BETWEEN '{$yesterday_start}' AND '{$yesterday_end}' AND `order_status`='2';";
  320. $sql_total = "SELECT COUNT(`oid`) AS `total_num` FROM `orders` ";
  321. $sql_total .= "WHERE `create_time` BETWEEN '{$startDate}' AND '{$endDate}';";
  322. $sql_out = "SELECT COUNT(`oid`) AS `total_out` FROM `orders` ";
  323. $sql_out .= "WHERE `create_time` BETWEEN '{$startDate}' AND '{$endDate}' AND `order_status`='2';";
  324. $sql_cancel = "SELECT COUNT(`oid`) AS `total_out` FROM `orders` ";
  325. $sql_cancel .= "WHERE `create_time` BETWEEN '{$startDate}' AND '{$endDate}' AND `order_status`='3';";
  326. $query_yesterday = $this->db->querySql($sql_yesterday);
  327. $rs_yesterday = $this->db->queryRs($query_yesterday);
  328. $query_total = $this->db->querySql($sql_total);
  329. $rs_total = $this->db->queryRs($query_total);
  330. $query_out = $this->db->querySql($sql_out);
  331. $rs_out = $this->db->queryRs($query_out);
  332. $query_cancel = $this->db->querySql($sql_cancel);
  333. $rs_cancel = $this->db->queryRs($query_cancel);
  334. $rs = array();
  335. $rs['yesterday'] = $rs_yesterday[0];
  336. $rs['total'] = $rs_total[0];
  337. $rs['out'] = $rs_out[0];
  338. $rs['cancel'] = $rs_cancel[0];
  339. $rs['in'] = $rs['total'] - $rs['out'] - $rs['cancel'];
  340. return json_encode($rs);
  341. }
  342. public function exportExcel(){
  343. set_time_limit(120);
  344. $PHPExcel = new \PHPExcel();
  345. if(!isset($_GET['shop']) || !isset($_GET['status']) || !isset($_GET['startDate']) || !isset($_GET['endDate'])){
  346. return false;
  347. }else{
  348. $shop = $this->common->my_filter_input($_GET['shop']);
  349. $status = $this->common->my_filter_input($_GET['status']);
  350. $startDate = $_GET['startDate'] . ' 00:00:00';
  351. $endDate = $_GET['endDate'].' 23:59:59';
  352. }
  353. $shop_type = '';
  354. switch($shop){
  355. case 1:
  356. $shop_type = 'AAASSS';
  357. break;
  358. case 2:
  359. $shop_type = 'Alipearl';
  360. break;
  361. case 3:
  362. $shop_type = 'QQ';
  363. break;
  364. case 4:
  365. $shop_type = 'SuperNova';
  366. break;
  367. case 5:
  368. $shop_type = 'West-Kiss';
  369. break;
  370. case 6:
  371. $shop_type = 'Yolissa';
  372. break;
  373. default:
  374. $shop_type = '';
  375. }
  376. $sql = 'SELECT `oid`,`order_sn`,`order_barcode`,`order_status`,`goods_no`,`goods_info`,`create_time`,`out_time` ';
  377. $sql .= 'FROM `orders` ';
  378. $sql .= "WHERE `out_time` BETWEEN '{$startDate}' AND '{$endDate}' ";
  379. if($shop != 0){
  380. $sql .= " AND `order_barcode` LIKE '{$shop_type}%' ";
  381. }
  382. if($status != 0){
  383. $sql .= " AND `order_status`='{$status}' ";
  384. }
  385. $query = $this->db->querySql($sql);
  386. $line = "";
  387. $PHPExcel->setActiveSheetIndex(0)
  388. ->setCellValue('A1', '运单编号')
  389. ->setCellValue('B1', '条码编号')
  390. ->setCellValue('C1', '状态')
  391. ->setCellValue('D1', '订单编号')
  392. ->setCellValue('E1', '货物明细')
  393. ->setCellValue('F1', '创建日期')
  394. ->setCellValue('G1', '出库日期');
  395. $k = 2;
  396. while($item = $this->db->queryRs($query)) {
  397. if($item['order_status'] == '2'){
  398. $order_status = "已出库";
  399. $out_time = $item['out_time'];
  400. }elseif($item['order_status'] == '1'){
  401. $order_status = "未出库";
  402. $out_time = '暂无';
  403. }elseif($item['order_status'] == '3'){
  404. $order_status = "已取消";
  405. $out_time = '暂无';
  406. }
  407. $PHPExcel->setActiveSheetIndex(0)
  408. ->setCellValue('A'.$k, $item['order_sn'])
  409. ->setCellValue('B'.$k, $item['order_barcode'])
  410. ->setCellValue('C'.$k, $order_status)
  411. ->setCellValue('D'.$k, $item['goods_no'])
  412. ->setCellValue('E'.$k, $item['goods_info'])
  413. ->setCellValue('F'.$k, $item['create_time'])
  414. ->setCellValue('G'.$k, $out_time);
  415. $k++;
  416. }
  417. // set wdith
  418. $PHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(15);
  419. $PHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(25);
  420. $PHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(10);
  421. $PHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(25);
  422. $PHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(40);
  423. $PHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(20);
  424. $PHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(20);
  425. $filename = 'waybill.'.date('His',time()).'.xls';
  426. $PHPExcel->getActiveSheet()->setTitle('waybill');
  427. $PHPExcel->setActiveSheetIndex(0);
  428. //header("Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; charset=utf-8");
  429. header("Content-Type: application/ms-excel; charset=utf-8");
  430. header("Content-Disposition: attachment; filename={$filename}");
  431. header("Expires: 0");
  432. header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
  433. header("Cache-Control: private",false);
  434. //$PHPWriter = new PHPExcel_Writer_Excel2007($PHPExcel, 'Excel2007');
  435. $PHPWriter = new PHPExcel_Writer_Excel5($PHPExcel, 'Excel5');
  436. $PHPWriter->save('php://output');
  437. }
  438. public function pagination(){
  439. if(!isset($_GET['shop']) || !isset($_GET['status']) || !isset($_GET['startDate']) || !isset($_GET['endDate']) || !isset($_GET['wh'])){
  440. return false;
  441. }else {
  442. $shop = $this->common->my_filter_input($_GET['shop']);
  443. $status = $this->common->my_filter_input($_GET['status']);
  444. $startDate = $_GET['startDate'] . ' 00:00:00';
  445. $endDate = $_GET['endDate'].' 23:59:59';
  446. $wh = $this->common->my_filter_input($_GET['wh']);
  447. $pnsn = isset($_GET['pnsn'])?$this->common->my_filter_input($_GET['pnsn']):15;
  448. }
  449. $shop_type = '';
  450. switch($shop){
  451. case 1:
  452. $shop_type = 'AAASSS';
  453. break;
  454. case 2:
  455. $shop_type = 'Alipearl';
  456. break;
  457. case 3:
  458. $shop_type = 'QQ';
  459. break;
  460. case 4:
  461. $shop_type = 'SuperNova';
  462. break;
  463. case 5:
  464. $shop_type = 'West-Kiss';
  465. break;
  466. case 6:
  467. $shop_type = 'Yolissa';
  468. break;
  469. default:
  470. $shop_type = '';
  471. }
  472. $sql = "SELECT `oid` FROM `orders` ";
  473. $sql .= "WHERE `create_time` BETWEEN '{$startDate}' AND '{$endDate}'";
  474. if($shop != 0){
  475. $sql .= " AND `order_barcode` LIKE '{$shop_type}%'";
  476. }
  477. if($status != 0){
  478. $sql .= " AND `order_status`='{$status}'";
  479. }
  480. $sql .= ';';
  481. $query = $this->db->querySql($sql);
  482. $total = $this->db->queryNum($query);
  483. if($total == 0){
  484. $num = '0';
  485. }else{
  486. $num = ceil($total/$pnsn);
  487. $wh_max = ceil($num/10);
  488. }
  489. $direction = substr($wh, 0, 1);
  490. $wh = substr($wh, 1);
  491. if($direction == 'h'){
  492. $whh = ($wh==0)?'0':$wh-1;
  493. $wht = ($wh==0)?'1':$wh;
  494. }elseif($direction == 't'){
  495. $whh = ($wh==$wh_max)?($wh-1):$wh;
  496. $wht = ($wh==$wh_max)?$wh:($wh+1);
  497. }else{
  498. $whh = '0';
  499. $wht = '1';
  500. }
  501. $pagination = '<span class="total_page" data-ttpg="'.$num.'">共&nbsp;'.$num.'&nbsp;页</span>';
  502. if($num > 1){
  503. $pagination .= ($num>10)?"<span class=\"gtlt head\" data-wh=\"h{$whh}\">&lt;&lt;</span>":'';
  504. $clazz = '';
  505. for($i=1+$whh*10; $i<=10+$whh*10; $i++){
  506. if($i > $num){
  507. break;
  508. }else{
  509. if($i != 1+$whh*10){
  510. $clazz = 'page';
  511. }else{
  512. $clazz = 'page pn';
  513. }
  514. $param = $i . '_' . $shop .'_' . $status . '_' . substr($startDate, 0, 10) . '_' . substr($endDate, 0, 10);
  515. $pagination .= "<span class=\"{$clazz}\" onclick=\"getOFP('{$param}')\">".$i."</span>";
  516. }
  517. }
  518. $pagination .= ($num>10)?"<span class=\"gtlt tail\" data-wh=\"t{$wht}\">&gt;&gt;</span>":'';
  519. }
  520. $pagination .= "<span>展示 <select class=\"pnsn\">";
  521. $pns = array('15', '50', '100', '250', '500');
  522. for($i=0; $i<5; $i++){
  523. if($pnsn == $pns[$i]){
  524. $s = 'selected="selected"';
  525. }else{
  526. $s = '';
  527. }
  528. $pagination .= "<option value=\"{$pns[$i]}\" {$s}>{$pns[$i]}条</option>";
  529. }
  530. $pagination .= "</select> 记录</span>";
  531. return $pagination;
  532. }
  533. public function __destruct(){
  534. //TODO
  535. }
  536. }