TechnicalController.php 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. <?php
  2. namespace app\admin\controller;
  3. use think\exception\ValidateException;
  4. use app\model\Technical;
  5. use app\model\TechnicalLevel;
  6. use app\model\Category;
  7. use app\model\Store;
  8. use app\model\RegisterField;
  9. use app\model\Operatingcity;
  10. use app\model\Tuanzhang;
  11. use app\model\Users;
  12. class TechnicalController extends Base
  13. {
  14. function index()
  15. {
  16. $weid = weid();
  17. $page = input('post.page', 1, 'intval');
  18. $ptype = 'technical';
  19. $Fielddata = RegisterField::where(['weid' => $weid, 'ptype' => $ptype])->select()->toArray();
  20. if (empty($Fielddata)) {
  21. RegisterField::datainitial($ptype);
  22. }
  23. $query = $this->setSearch();
  24. $res = $query->order('sort asc,id desc')
  25. ->paginate(getpage())
  26. ->toArray();
  27. if (!empty($res['data'])) {
  28. foreach ($res['data'] as &$vo) {
  29. $vo = Technical::conversion($vo);
  30. }
  31. }
  32. $data['data'] = $res;
  33. if ($page == 1) {
  34. $data['field_data']['RegisterField'] = RegisterField::getlistViewField($ptype);
  35. }
  36. return $this->json($data);
  37. }
  38. function setSearch()
  39. {
  40. $keyword = trim(input('post.keyword', '', 'serach_in'));
  41. $status = input('post.status', '', 'serach_in');
  42. $path = input('post.path', '', 'serach_in');
  43. $weid = weid();
  44. if ($path == "/technical/audit") {
  45. $status = "0";
  46. }
  47. $query = Technical::where(['weid' => $weid]);
  48. if (!empty($this->sid)) {
  49. $query->where('sid', $this->sid);
  50. }
  51. if (!empty($this->ocid)) {
  52. $Operatingcitydata = Operatingcity::find($this->ocid);
  53. if ($Operatingcitydata) {
  54. $Operatingcitydata = $Operatingcitydata->toArray();
  55. if(empty($Operatingcitydata['areatype'])){
  56. $Operatingcitydata['areatype'] = 3;
  57. }
  58. if ($Operatingcitydata['areatype'] == 3) {
  59. $query->where('district_name', $Operatingcitydata['district_name']);
  60. } elseif ($Operatingcitydata['areatype'] == 2) {
  61. $query->where('city_name', $Operatingcitydata['city_name']);
  62. } elseif ($Operatingcitydata['areatype'] == 1) {
  63. $query->where('province_name', $Operatingcitydata['province_name']);
  64. }
  65. }
  66. }
  67. if (!empty($this->tzid)) {
  68. $Tuanzhangdata = Tuanzhang::find($this->tzid);
  69. if ($Tuanzhangdata) {
  70. $Tuanzhangdata = $Tuanzhangdata->toArray();
  71. $query->where('district_name', $Tuanzhangdata['district_name']);
  72. } else {
  73. $query->where('district_name', '无');
  74. }
  75. }
  76. if (!empty($keyword)) {
  77. $query->where('title|tel|region_name|province_name|city_name|district_name', 'like', '%' . $keyword . '%');
  78. }
  79. if (!empty($status) || $status === "0") {
  80. $query->where(['status' => $status]);
  81. }
  82. return $query;
  83. }
  84. function listUpdate()
  85. {
  86. $data = only('id,status');
  87. if (!$data['id']) throw new ValidateException('参数错误');
  88. Technical::update($data);
  89. return $this->json(['msg' => '操作成功']);
  90. }
  91. function delete()
  92. {
  93. return $this->del(new Technical());
  94. }
  95. //导出
  96. function dumpdata()
  97. {
  98. $page = $this->request->post('page', 1, 'intval');
  99. $ptype = 'technical';
  100. $query = $this->setSearch();
  101. $data = RegisterField::dumpdata($query, $ptype, $page);
  102. return $this->json($data);
  103. }
  104. }