123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198 |
- <?php
- /**
- * Created by PhpStorm.
- * User: Administrator
- * Date: 2020-08-28
- * Time: 10:44
- */
-
- namespace app\back\controller;
-
-
- use app\back\model\JsProjectCategoryModel;
- use app\back\model\JsProjectTagModel;
- use app\back\model\RegionModel;
- use cmf\controller\AdminBaseController;
- use app\back\model\JsProjectModel;
- use think\Db;
- use app\back\model\JsProjectServiceModel;
- class JsProjectController extends AdminBaseController
- {
- public function index()
- {
-
- $where = [];
- $page = $this->request->param('page',1);
- $pw = [];
- $JsProjectModel = new JsProjectModel();
- $name = $this->request->param('name');
- $this->assign('name',$name);
- $JsProJectCategoryModel = new JsProjectCategoryModel();
- $category_list = $JsProJectCategoryModel::select();
- $category_id = $this->request->param('category_id');
- if($category_id){
- $project_ids = Db::name('js_project_category_relevancy')->where('category_id',$category_id)->field('project_id')->select();
- $project_new_ids = [];
- foreach ($project_ids as $vo){
- $project_new_ids[] = $vo['project_id'];
- }
- $pw['category_id'] = $category_id;
- $where['id'] = $project_new_ids;
- $this->assign('category_id',$category_id);
- }
- $is_show = $this->request->param('is_show');
- if($is_show != ''){
- $where['is_show'] = $is_show;
- $pw['is_show'] = $is_show;
- $this->assign('is_show',$is_show);
- }
-
- $list = $JsProjectModel->getList($where,$page,$pw,$name);
- $this->assign('list',$list);
- $this->assign('category_list',$category_list);
- return $this->fetch();
- }
- public function add()
- {
- $region_list = Db::name('region')->where('depth',1)->select();
- $tagList = JsProjectTagModel::where('is_show',1)->order('list_order','asc')->select();
- $this->assign('tagList',$tagList);
- $service = JsProjectServiceModel::where('is_show',1)->select();
- $this->assign('service',$service);
- $this->assign('region_list',$region_list);
- return $this->fetch();
- }
- public function addPost()
- {
- $data = $this->request->param();
-
- if (!empty($data['photo_names']) && !empty($data['photo_urls'])) {
- $data['banner'] = [];
- foreach ($data['photo_urls'] as $key => $url) {
- $photoUrl = cmf_asset_relative_url($url);
- array_push( $data['banner'], ["url" => $photoUrl, "name" => $data['photo_names'][$key]]);
- }
- }
-
- unset($data['photo_urls']);
- unset($data['photo_names']);
- if(empty($data['service_zhi'])){
- $this->error('请选择服务区!');
- }
- $service_zhi = $data['service_zhi'];
- unset($data['service_zhi']);
- $JsProjectModel = new JsProjectModel();
- $tag = [];
- if(!empty($data['tag'])){
- $tag = $data['tag'];
- unset($data['tag']);
- }
-
- $cagories = $data['cagories'];
- unset($data['category']);
- $JsProjectModel->addPost($data,$tag,$cagories,$service_zhi);
-
- $this->success('添加成功');
-
- }
- public function edit()
- {
- $id = $this->request->param('id');
- $info = JsProjectModel::get($id);
- $info['service'] = $info->service;
-
-
- $tagList = JsProjectTagModel::where('is_show',1)->order('list_order','asc')->select();
- $this->assign('tagList',$tagList);
- $tegIds = Db::name('js_project_tag_relevancy')->where('project_id',$id)->column('project_tag_id');
-
- $region_list = Db::name('region')->where('depth',1)->select();
- $this->assign('region_list',$region_list);
- $fuji = [];
- $fuji_ids = [];
- $servicesIds = [];
- $parentId = [];
- if(count($info['service']) > 0) {
- foreach ($info['service'] as $value){
- if(!in_array($value['parentId'],$parentId)){
- $parentId[] = $value['parentId'];
- }
- $servicesIds[] = $value['id'];
- }
- $fuji = RegionModel::where('id','in',$parentId)->field('id,mergerName')->select();
- foreach ($fuji as $key=>$value){
- $fuji[$key]['district_list'] = RegionModel::where('parentId',$value['id'])->field('id,cityName')->select();
- $fuji_ids[] = $value['id'];
- }
- }
- $this->assign('fuji',$fuji);
- $categories = $info->category()->alias('a')->column('a.category_name', 'a.id');
-
-
-
- $categoryIds = implode(',', array_keys($categories));
- $this->assign('categories',$categories);
- $this->assign('categoryIds',$categoryIds);
- $this->assign('servicesIds',$servicesIds);
- $this->assign('info',$info);
- $this->assign('fuji_ids',$fuji_ids);
- $this->assign('tegIds',$tegIds);
- return $this->fetch();
- }
- public function editPost()
- {
- $data = $this->request->param();
- if(empty($data['service_zhi'])){
- $this->error('请选择服务区!');
- }
- $service_zhi = json_decode(html_entity_decode($data['service_zhi']),true);
- unset($data['service_zhi']);
- $data['banner'] = [];
- if (!empty($data['photo_names']) && !empty($data['photo_urls'])) {
-
- foreach ($data['photo_urls'] as $key => $url) {
- $photoUrl = cmf_asset_relative_url($url);
- array_push( $data['banner'], ["url" => $photoUrl, "name" => $data['photo_names'][$key]]);
- }
- }
-
- unset($data['photo_urls']);
- unset($data['photo_names']);
-
- $JsProjectModel = new JsProjectModel();
- $tag = [];
- if(!empty($data['tag'])){
- $tag = $data['tag'];
- unset($data['tag']);
- }
- $cagories = $data['cagories'];
- unset($data['category']);
-
- $JsProjectModel->editPost($data,$tag,$cagories,$service_zhi);
- $this->success('编辑成功');
- }
- public function delete()
- {
- $id = $this->request->param('id');
- JsProjectModel::destroy($id);
- Db::name('js_project_tag_relevancy')->where('project_id',$id)->delete();
- $this->success('删除成功');
- }
-
- public function show()
- {
- $ids = $this->request->param('ids/a');
- $is_show = $this->request->param('is_show');
- JsProjectModel::where('id','in',$ids)->update(['is_show'=>$is_show]);
- $this->success('操作成功');
- }
-
- public function listOrder()
- {
- $JsProjectModel = new JsProjectModel();
- parent::listOrders($JsProjectModel);
- $this->success("排序更新成功!");
- }
- }
|