MaterialCateController.php 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. <?php
  2. namespace addons\BusinessCard\backend\controllers;
  3. use addons\BusinessCard\common\models\BusinessCardMaterials;
  4. use addons\BusinessCard\common\models\BusinessCardMaterialsCate;
  5. use common\enums\StatusEnum;
  6. use Yii;
  7. class MaterialCateController extends BaseController
  8. {
  9. public $enableCsrfValidation = false;
  10. public function actionIndex()
  11. {
  12. if (Yii::$app->request->isAjax && Yii::$app->request->isPost) {
  13. $get = Yii::$app->request->post();
  14. $where = [['=', 'mall_id', $this->mall_id], ['<>', 'status' , StatusEnum::DELETE]];
  15. if (isset($get['name']) && $get['name']) {
  16. $where[] = ['like', 'name', "%{$get['name']}%", false];
  17. }
  18. $params = [
  19. 'limit' => 10,
  20. 'where' => $where,
  21. 'order' => 'order_sort desc'
  22. ];
  23. $list = BusinessCardMaterialsCate::listPage($params);
  24. if (!empty($list['list'])) {
  25. foreach ($list['list'] as &$item) {
  26. $item['child_num'] = BusinessCardMaterials::find()->where(['status' => StatusEnum::ENABLED])
  27. ->andWhere(['cate_id' => $item['id']])->count();
  28. }
  29. }
  30. return $this->success('操作成功', $list);
  31. } else {
  32. return $this->render('index');
  33. }
  34. }
  35. /**
  36. * 招商员列表-表格操作
  37. */
  38. public function actionHandle()
  39. {
  40. if (Yii::$app->request->isAjax && Yii::$app->request->isPost) {
  41. $params = Yii::$app->request->post();
  42. $res = Yii::$app->services->validate->validate($params, [
  43. [['id', 'status'], 'integer'],
  44. ]);
  45. if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage());
  46. $params = array_filter($params, function ($val) {
  47. return $val != null;
  48. });
  49. $params['mall_id'] = $this->mall_id;
  50. $res = BusinessCardMaterialsCate::setData($params);
  51. if ($res == false) return $this->error("操作失败: " . BusinessCardMaterialsCate::getStaticError());
  52. return $this->success("操作成功");
  53. }
  54. }
  55. // 编辑
  56. public function actionEdit()
  57. {
  58. if (Yii::$app->request->isAjax && Yii::$app->request->isPost) {
  59. $params = Yii::$app->request->post();
  60. $res = Yii::$app->services->validate->validate($params, [
  61. [['id', 'order_sort', 'status'], 'integer'],
  62. [['name'], 'string'],
  63. ]);
  64. if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage());
  65. $params = array_filter($params, function ($val) {
  66. return $val != null;
  67. });
  68. $params['mall_id'] = $this->mall_id;
  69. $params['status'] = isset($params['status']) ? $params['status'] : StatusEnum::ENABLED;
  70. $res = BusinessCardMaterialsCate::setData($params);
  71. if ($res == false) return $this->error("操作失败: " . BusinessCardMaterialsCate::getStaticError());
  72. return $this->success('操作成功', []);
  73. } else {
  74. return $this->render('edit');
  75. }
  76. }
  77. public function actionInfo()
  78. {
  79. if (Yii::$app->request->isAjax && Yii::$app->request->isGet) {
  80. $id = Yii::$app->request->get('id');
  81. $info = BusinessCardMaterialsCate::getOne([
  82. ['=', 'id', $id],
  83. ['=', 'mall_id', $this->mall_id]
  84. ], true);
  85. $is_null = $info ? 0 : 1;
  86. return $this->success('操作成功', compact('info', 'is_null'));
  87. }
  88. }
  89. }