MailSearch.php 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: Administrator
  5. * Date: 2017/12/1/001
  6. * Time: 15:23
  7. */
  8. namespace backend\models\searches;
  9. use backend\models\MailApi;
  10. use yii\data\ArrayDataProvider;
  11. use yii\data\Pagination;
  12. class MailSearch extends DataTable
  13. {
  14. public function search($params)
  15. {
  16. $this->setAttributes($params);
  17. $this->initSearchParams();
  18. $pagination = new Pagination();
  19. $pagination->pageSize = $this->pageSize;
  20. $data['page'] = $this->page;
  21. $data['pageSize'] = $pagination->getPageSize();
  22. if ($this->orderBy) {
  23. $data['orderBy'] = $this->orderBy;
  24. }
  25. if (!empty($this->search['value']) && trim($this->search['value']) !== '') {
  26. $data['search'] = trim($this->search['value']);
  27. }
  28. $mailApi = new MailApi();
  29. $result = $mailApi->getMailList($data);
  30. $models = [];
  31. if ($result['code'] == 1) {
  32. $models = (array)$result['data']['dataList'];
  33. $pagination->totalCount = (int)$result['data']['totalCount'];
  34. }
  35. $dataProvider = new ArrayDataProvider([
  36. 'models' => $models,
  37. 'pagination' => $pagination,
  38. 'totalCount' => $pagination->totalCount,
  39. ]);
  40. return $dataProvider;
  41. }
  42. }