Inventorydetails.php 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <?php
  2. namespace app\admin\controller;
  3. use app\common\controller\Backend;
  4. use think\Db;
  5. use function EasyWeChat\Kernel\Support\rsa_public_encrypt;
  6. /**
  7. * 版本管理
  8. *
  9. * @icon fa fa-circle-o
  10. */
  11. class Inventorydetails extends Backend
  12. {
  13. /**
  14. * Inventorydetails模型对象
  15. * @var \app\admin\model\Inventorydetails
  16. */
  17. protected $model = null;
  18. public function _initialize()
  19. {
  20. parent::_initialize();
  21. $this->model = new \app\admin\model\Inventorydetails;
  22. $this->view->assign("statusList", $this->model->getStatusList());
  23. }
  24. /**
  25. * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
  26. * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
  27. * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
  28. */
  29. public function index()
  30. {
  31. $search = input('');
  32. $page = input('get.page', 1);
  33. $limit = input('get.limit', 10);
  34. $mongo = \think\Db::connect('mongodb');
  35. // 初始化查询条件
  36. $where = [];
  37. if (!empty($search['search'])) {
  38. // 使用正则表达式来实现模糊匹配,'i' 表示忽略大小写
  39. $where['jjcp_cpdh|jjcp_cpmc|jjcp_gdbh|order_ddbh'] = new \MongoDB\BSON\Regex($search['search'], 'i');
  40. }
  41. $data = $mongo->name('finished_products')
  42. ->limit(($page - 1) * $limit, $limit)
  43. ->where($where)
  44. ->select();
  45. usort($data, function ($a, $b) {
  46. return strtotime($b['created_at']) - strtotime($a['created_at']);
  47. });
  48. if (request()->isAjax()) {
  49. return json([
  50. 'data' => $data,
  51. 'total' => count($data),
  52. 'page' => $page,
  53. 'limit' => $limit
  54. ]);
  55. }
  56. $this->assign('data', $data);
  57. return $this->fetch();
  58. }
  59. }