From acf45ddd0cb93d690ea6946028fca5e1035d7db1 Mon Sep 17 00:00:00 2001 From: qinzexin <“731344816@qq.com”> Date: Thu, 3 Jul 2025 17:59:32 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E9=9D=92=E5=B9=B4=E4=B9=9D?= =?UTF-8?q?=E5=AE=AB=E6=A0=BC=E5=9B=BE=E7=89=87=E8=B7=B3=E8=BD=AC=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=20=E5=9B=A2=E5=8A=A1=E7=99=BE=E7=A7=91=E9=9C=80?= =?UTF-8?q?=E8=A6=81=E5=A2=9E=E5=8A=A0=E5=88=86=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: qinzexin <“731344816@qq.com”> --- .../admin/controller/home/Encyclopedia.php | 40 +++++ .../controller/home/EncyclopediaCate.php | 37 +++++ application/admin/controller/home/Images.php | 1 + .../lang/zh-cn/home/encyclopedia_cate.php | 16 ++ application/admin/lang/zh-cn/home/images.php | 7 +- application/admin/model/home/Encyclopedia.php | 7 + .../admin/model/home/EncyclopediaCate.php | 59 +++++++ application/admin/model/home/Images.php | 21 ++- application/admin/model/home/News.php | 5 +- .../admin/validate/home/EncyclopediaCate.php | 27 ++++ .../admin/view/home/encyclopedia/add.html | 8 + .../admin/view/home/encyclopedia/edit.html | 7 + .../view/home/encyclopedia_cate/add.html | 53 ++++++ .../view/home/encyclopedia_cate/edit.html | 53 ++++++ .../view/home/encyclopedia_cate/index.html | 46 ++++++ .../home/encyclopedia_cate/recyclebin.html | 25 +++ application/admin/view/home/images/add.html | 14 ++ application/admin/view/home/images/edit.html | 14 ++ application/admin/view/home/images/index.html | 21 ++- .../admin/view/home/media_matrix/add.html | 2 +- .../admin/view/home/media_matrix/edit.html | 2 +- application/api/controller/Index.php | 10 +- .../api/controller/home/Encyclopedia.php | 41 ++++- .../api/controller/home/MediaMatrix.php | 1 + .../common/model/home/EncyclopediaCate.php | 151 ++++++++++++++++++ public/assets/js/backend/home/encyclopedia.js | 3 + .../js/backend/home/encyclopedia_cate.js | 118 ++++++++++++++ public/assets/js/backend/home/images.js | 2 + 28 files changed, 777 insertions(+), 14 deletions(-) create mode 100644 application/admin/controller/home/EncyclopediaCate.php create mode 100644 application/admin/lang/zh-cn/home/encyclopedia_cate.php create mode 100644 application/admin/model/home/EncyclopediaCate.php create mode 100644 application/admin/validate/home/EncyclopediaCate.php create mode 100644 application/admin/view/home/encyclopedia_cate/add.html create mode 100644 application/admin/view/home/encyclopedia_cate/edit.html create mode 100644 application/admin/view/home/encyclopedia_cate/index.html create mode 100644 application/admin/view/home/encyclopedia_cate/recyclebin.html create mode 100644 application/common/model/home/EncyclopediaCate.php create mode 100644 public/assets/js/backend/home/encyclopedia_cate.js diff --git a/application/admin/controller/home/Encyclopedia.php b/application/admin/controller/home/Encyclopedia.php index 93b534a..fbc6ff0 100644 --- a/application/admin/controller/home/Encyclopedia.php +++ b/application/admin/controller/home/Encyclopedia.php @@ -37,4 +37,44 @@ class Encyclopedia extends Backend */ + + /** + * 查看 + */ + public function index() + { + //当前是否为关联查询 + $this->relationSearch = true; + + $this->searchFields = ["id","title","subtitle","source","cate.name","cate.flag"]; + + //设置过滤方法 + $this->request->filter(['strip_tags', 'trim']); + if ($this->request->isAjax()) { + //如果发送的来源是Selectpage,则转发到Selectpage + if ($this->request->request('keyField')) { + return $this->selectpage(); + } + list($where, $sort, $order, $offset, $limit) = $this->buildparams(); + + $list = $this->model + ->with(['cate']) + ->where($where) + ->order($sort, $order) + ->paginate($limit); + + foreach ($list as $row) { + + $row->getRelation('cate')->visible(['name']); + } + + $result = array("total" => $list->total(), "rows" => $list->items()); + + return json($result); + } + return $this->view->fetch(); + } + + + } diff --git a/application/admin/controller/home/EncyclopediaCate.php b/application/admin/controller/home/EncyclopediaCate.php new file mode 100644 index 0000000..8026ad7 --- /dev/null +++ b/application/admin/controller/home/EncyclopediaCate.php @@ -0,0 +1,37 @@ +model = new \app\admin\model\home\EncyclopediaCate; + $this->view->assign("statusList", $this->model->getStatusList()); + } + + + + /** + * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法 + * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑 + * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改 + */ + + +} diff --git a/application/admin/controller/home/Images.php b/application/admin/controller/home/Images.php index 644d013..0a76633 100644 --- a/application/admin/controller/home/Images.php +++ b/application/admin/controller/home/Images.php @@ -24,6 +24,7 @@ class Images extends Backend $this->model = new \app\admin\model\home\Images; $this->view->assign("typeList", $this->model->getTypeList()); $this->view->assign("showtypeList", $this->model->getShowtypeList()); + $this->view->assign("statusList", $this->model->getStatusList()); } diff --git a/application/admin/lang/zh-cn/home/encyclopedia_cate.php b/application/admin/lang/zh-cn/home/encyclopedia_cate.php new file mode 100644 index 0000000..5ed72f9 --- /dev/null +++ b/application/admin/lang/zh-cn/home/encyclopedia_cate.php @@ -0,0 +1,16 @@ + 'icon', + 'Name' => '类目名', + 'Flag' => '分类标识', + 'Status' => '状态', + 'Status 1' => '上架', + 'Set status to 1'=> '设为上架', + 'Status 2' => '下架', + 'Set status to 2'=> '设为下架', + 'Weigh' => '权重', + 'Createtime' => '创建时间', + 'Updatetime' => '修改时间', + 'Deletetime' => '删除时间' +]; diff --git a/application/admin/lang/zh-cn/home/images.php b/application/admin/lang/zh-cn/home/images.php index 65c53d5..81c1ee0 100644 --- a/application/admin/lang/zh-cn/home/images.php +++ b/application/admin/lang/zh-cn/home/images.php @@ -12,5 +12,10 @@ return [ 'Showtype' => '展示类型', 'Showtype image' => '图片', 'Showtype video' => '视频', - 'Title' => '轮播图标题' + 'Title' => '轮播图标题', + 'Status' => '状态', + 'Status 1' => '顶部', + 'Set status to 1'=> '设为顶部', + 'Status 2' => '服务青年专栏', + 'Set status to 2'=> '设为服务青年专栏', ]; diff --git a/application/admin/model/home/Encyclopedia.php b/application/admin/model/home/Encyclopedia.php index 0829b91..84dc2ee 100644 --- a/application/admin/model/home/Encyclopedia.php +++ b/application/admin/model/home/Encyclopedia.php @@ -81,4 +81,11 @@ class Encyclopedia extends Model } + + public function cate() + { + return $this->belongsTo(EncyclopediaCate::class, 'cate_id', 'id', [], 'LEFT')->setEagerlyType(0); + } + + } diff --git a/application/admin/model/home/EncyclopediaCate.php b/application/admin/model/home/EncyclopediaCate.php new file mode 100644 index 0000000..0d5ec8a --- /dev/null +++ b/application/admin/model/home/EncyclopediaCate.php @@ -0,0 +1,59 @@ +getPk(); + $row->getQuery()->where($pk, $row[$pk])->update(['weigh' => $row[$pk]]); + } + }); + } + + + public function getStatusList() + { + return ['1' => __('Status 1'), '2' => __('Status 2')]; + } + + + public function getStatusTextAttr($value, $data) + { + $value = $value ?: ($data['status'] ?? ''); + $list = $this->getStatusList(); + return $list[$value] ?? ''; + } + + + + +} diff --git a/application/admin/model/home/Images.php b/application/admin/model/home/Images.php index 007adb7..b6ea59f 100644 --- a/application/admin/model/home/Images.php +++ b/application/admin/model/home/Images.php @@ -26,7 +26,8 @@ class Images extends Model // 追加属性 protected $append = [ 'type_text', - 'showtype_text' + 'showtype_text', + 'status_text' ]; @@ -40,7 +41,23 @@ class Images extends Model }); } - + + public function getStatusList() + { + return ['1' => __('Status 1'), '2' => __('Status 2')]; + } + + + public function getStatusTextAttr($value, $data) + { + $value = $value ?: ($data['status'] ?? ''); + $list = $this->getStatusList(); + return $list[$value] ?? ''; + } + + + + public function getTypeList() { return ['in' => __('Type in'), 'out' => __('Type out')]; diff --git a/application/admin/model/home/News.php b/application/admin/model/home/News.php index 44d1b1f..f8b4d42 100644 --- a/application/admin/model/home/News.php +++ b/application/admin/model/home/News.php @@ -43,7 +43,10 @@ class News extends Model }); } - + + + + public function getTypeList() { return ['1' => __('Type 1'), '2' => __('Type 2')]; diff --git a/application/admin/validate/home/EncyclopediaCate.php b/application/admin/validate/home/EncyclopediaCate.php new file mode 100644 index 0000000..7427c98 --- /dev/null +++ b/application/admin/validate/home/EncyclopediaCate.php @@ -0,0 +1,27 @@ + [], + 'edit' => [], + ]; + +} diff --git a/application/admin/view/home/encyclopedia/add.html b/application/admin/view/home/encyclopedia/add.html index a0a4293..1220a41 100644 --- a/application/admin/view/home/encyclopedia/add.html +++ b/application/admin/view/home/encyclopedia/add.html @@ -1,5 +1,13 @@