From b5c3ddec4d6ccbcd5e2caf36529e86d58674baa0 Mon Sep 17 00:00:00 2001 From: jsasg <735273025@qq.com> Date: Tue, 28 Apr 2026 16:42:56 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=9A=E5=91=98=E6=9D=83=E7=9B=8A=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/controller/wdsxh/member/Level.php | 20 +++--- .../controller/wdsxh/member/RightsProject.php | 35 ++++++++++ .../admin/model/wdsxh/member/Level.php | 5 ++ .../wdsxh/member/MemberBenefitsProject.php | 68 +++++++++++++++++++ .../admin/view/wdsxh/member/level/add.html | 14 ++-- .../admin/view/wdsxh/member/level/edit.html | 14 ++-- .../wdsxh/member/rights_project/index.html | 0 7 files changed, 132 insertions(+), 24 deletions(-) create mode 100644 application/admin/controller/wdsxh/member/RightsProject.php create mode 100644 application/admin/model/wdsxh/member/MemberBenefitsProject.php create mode 100644 application/admin/view/wdsxh/member/rights_project/index.html diff --git a/application/admin/controller/wdsxh/member/Level.php b/application/admin/controller/wdsxh/member/Level.php index 9517c3e..14b22b2 100644 --- a/application/admin/controller/wdsxh/member/Level.php +++ b/application/admin/controller/wdsxh/member/Level.php @@ -35,15 +35,15 @@ class Level extends Backend protected $model = null; protected $modelValidate = true; protected $pay_method = null; - protected $benefit_model = null; protected $join_config_model = null; + protected $benefits_project_model = null; public function _initialize() { parent::_initialize(); $this->model = new \app\admin\model\wdsxh\member\Level; - $this->benefit_model = new \app\admin\model\wdsxh\member\MemberBenefits; $this->join_config_model = new \app\admin\model\wdsxh\member\JoinConfig; + $this->benefits_project_model = new \app\admin\model\wdsxh\member\MemberBenefitsProject(); $this->view->assign("statusList", $this->model->getStatusList()); $pay_method = (new FeesConfig())->where('id',1)->value('pay_method'); $this->pay_method = $pay_method; @@ -115,9 +115,9 @@ class Level extends Backend */ public function benefits() { - $join_config_id = $this->request->get('join_config_id'); - $benefits = $this->benefit_model->getSimpleByStatus(0, $join_config_id); - if (empty($benefits)) { + $join_config_id = $this->request->get('join_config_id'); + $benefits_project = $this->benefits_project_model->getSimpleByStatus(0, $join_config_id); + if (empty($benefits_project)) { return json([ 'code' => 1, 'msg' => __('No benefits found'), @@ -127,7 +127,7 @@ class Level extends Backend return json([ 'code' => 0, 'msg' => 'success', - 'data' => $benefits, + 'data' => $benefits_project, ]); } @@ -140,8 +140,8 @@ class Level extends Backend public function add() { if (false === $this->request->isPost()) { - $benefits = $this->benefit_model->getSimpleByStatus(0); - $this->view->assign('benefits', $benefits); + $benefits_project = $this->benefits_project_model->getSimpleByStatus(0); + $this->view->assign('benefits_project', $benefits_project); $join_config = $this->join_config_model->getSimpleByStatus(); $this->view->assign('join_config', $join_config); @@ -200,8 +200,8 @@ class Level extends Backend $this->error(__('You have no permission')); } if (false === $this->request->isPost()) { - $benefits = $this->benefit_model->getSimpleByStatus(0); - $this->view->assign('benefits', $benefits); + $benefits_project = $this->benefits_project_model->getSimpleByStatus(0); + $this->view->assign('benefits_project', $benefits_project); $join_config = $this->join_config_model->getSimpleByStatus(); $this->view->assign('join_config', $join_config); diff --git a/application/admin/controller/wdsxh/member/RightsProject.php b/application/admin/controller/wdsxh/member/RightsProject.php new file mode 100644 index 0000000..adf93d0 --- /dev/null +++ b/application/admin/controller/wdsxh/member/RightsProject.php @@ -0,0 +1,35 @@ + www.maiwd.cn +// +---------------------------------------------------------------------- + +namespace app\admin\controller\wdsxh\member; + +use app\common\controller\Backend; + +/** + * 会员列表 + * + * @icon fa fa-circle-o + */ +class Rights extends Backend +{ + protected $join_config_model = null; + + public function _initialize() + { + parent::_initialize(); + $this->model = new \app\admin\model\wdsxh\member\MemberBenefitsProject(); + $this->view->assign("statusList", $this->model->getDisabledList()); + + $this->join_config_model = new \app\admin\model\wdsxh\member\JoinConfig(); + $this->view->assign('join_config', $this->join_config_model->getSimpleByStatus()); + $this->searchFields = ['title']; + } +} diff --git a/application/admin/model/wdsxh/member/Level.php b/application/admin/model/wdsxh/member/Level.php index 82c8ff6..00a251a 100644 --- a/application/admin/model/wdsxh/member/Level.php +++ b/application/admin/model/wdsxh/member/Level.php @@ -32,6 +32,11 @@ class Level extends Model protected $updateTime = 'updatetime'; protected $deleteTime = false; + protected $type = [ + 'benefits_project' => 'json', + ]; + + // 追加属性 protected $append = [ 'status_text' diff --git a/application/admin/model/wdsxh/member/MemberBenefitsProject.php b/application/admin/model/wdsxh/member/MemberBenefitsProject.php new file mode 100644 index 0000000..e344429 --- /dev/null +++ b/application/admin/model/wdsxh/member/MemberBenefitsProject.php @@ -0,0 +1,68 @@ + www.maiwd.cn +// +---------------------------------------------------------------------- + +namespace app\admin\model\wdsxh\member; + +use think\Model; + + +class MemberBenefitsProject extends Model +{ + // 表名 + protected $name = 'wdsxh_member_benefits_project'; + + // 自动写入时间戳字段 + protected $autoWriteTimestamp = false; + + // 定义时间戳字段名 + protected $createTime = 'created_at'; + protected $updateTime = 'updated_at'; + protected $deleteTime = false; + + // 追加属性 + protected $append = [ + 'disabled_text' + ]; + + + protected static function init() + { + self::afterInsert(function ($row) { + $pk = $row->getPk(); + $row->getQuery()->where($pk, $row[$pk])->update(['sort' => $row[$pk]]); + }); + } + + public function getDisabledList() + { + return ['0' => __('Member Benefits Project Enabled'), '1' => __('Member Benefits Project Disabled')]; + } + + + public function getDisabledTextAttr($value, $data) + { + $value = $value ? $value : (isset($data['disabled']) ? $data['disabled'] : ''); + $list = $this->getDisabledList(); + return isset($list[$value]) ? $list[$value] : ''; + } + + public function getSimpleByStatus($disabled = 0, $join_config_id = null) + { + return Self::field(['id', 'name'])->where(function($query) use ($disabled, $join_config_id) { + if (null !== $disabled) { + $query->where('disabled', '=', $disabled); + } + if (null !== $join_config_id) { + $query->where('join_config_id', '=', $join_config_id); + } + })->order('sort', 'asc')->select(); + } +} diff --git a/application/admin/view/wdsxh/member/level/add.html b/application/admin/view/wdsxh/member/level/add.html index 96fb748..7f78d8e 100644 --- a/application/admin/view/wdsxh/member/level/add.html +++ b/application/admin/view/wdsxh/member/level/add.html @@ -22,17 +22,17 @@ - - +
+
- + {foreach $benefits_project as $project} + {/foreach}
-
--> +
diff --git a/application/admin/view/wdsxh/member/level/edit.html b/application/admin/view/wdsxh/member/level/edit.html index b866475..b03a878 100644 --- a/application/admin/view/wdsxh/member/level/edit.html +++ b/application/admin/view/wdsxh/member/level/edit.html @@ -22,17 +22,17 @@
- - +
+
- + {foreach $benefits_project as $project} + {/foreach}
-
--> +
diff --git a/application/admin/view/wdsxh/member/rights_project/index.html b/application/admin/view/wdsxh/member/rights_project/index.html new file mode 100644 index 0000000..e69de29