assign('breadcrumb1','基础信息'); $this->assign('breadcrumb2','产品类型'); } /** * 首页列表 * * */ public function index(Model $Model,Type $Type){ // 接受参数 $name = request('name',''); $status = request('status'); $typeId = request('type_id'); $startTime = request('start_time',''); // 查询条件 $map = []; // 编码ID if( $name ) $map[] = ['name','=',$name]; if( $typeId ) $map[] = ['type_id','=',$typeId]; if( $startTime ) $map[] = ['insert_time','>=',Carbon::createFromFormat('Y-m-d',$startTime)->startOfDay()->getTimestamp()]; if( $startTime ) $map[] = ['insert_time','<=',Carbon::createFromFormat('Y-m-d',$startTime)->endOfDay()->getTimestamp()]; if( !is_null($status) ) $map[] = ['status','=',$status]; // 查询数据 $list = $Model->query()->where($map)->orderByDesc('id')->paginate(request('limit',config('page_num',10)))->appends(request()->all()); // 循环处理数据 foreach ($list as $key => $value) { // 类型名称 $value['type_name'] = $Type->getOne($value['type_id'],'name'); // 重组 $list[$key] = $value; } // 获取类型列表 $typeList = $Type->getList(); // 分配数据 $this->assign('empty', '~~暂无数据'); $this->assign('list', $list); $this->assign('typeList', $typeList); // 加载模板 return $this->fetch(); } /** * 添加 * * */ public function add( Request $request, Model $Model,Type $Type){ if( request()->isMethod('post') ){ // 验证参数 $request->scene('add')->validate(); // 组合数据 $data['name'] = request('name',''); $data['type_id'] = request('type_id',0); $data['has_img'] = request('has_img',0); $data['input_type'] = request('input_type',0); // 获取个数 $count = $Model->where([['type_id','=',$data['type_id']]])->count(); // 如果超过2个 if( $count >= 2 ) return json_send(['code'=>'error','msg'=>'每个类目仅允许两个规格']); // 写入 $id = $Model->add($data); // 提示新增失败 if( !$id ) return json_send(['code'=>'error','msg'=>'新增失败']); // 记录行为 $this->addAdminHistory(admin('uid'),$Model->getTable(),$id,1,[],$data); // 告知结果 return json_send(['code'=>'success','msg'=>'新增成功','action'=>'add']); } // 获取类型列表 $typeList = $Type->getList(); // 分配数据 $this->assign('crumbs','新增'); $this->assign('typeList', $typeList); // 加载模板 return $this->fetch(); } /** * 编辑 * * */ public function edit( Request $request, Model $Model,Type $Type){ if(request()->isMethod('post')){ // 验证参数 $request->scene('edit')->validate(); // 组合数据 $id = request('id',0); $data['name'] = request('name',''); $data['type_id'] = request('type_id',0); $data['has_img'] = request('has_img',0); $data['input_type'] = request('input_type',0); // 写入 $result = $Model->edit($id,$data); // 提示新增失败 if( !$result ) return json_send(['code'=>'error','msg'=>'修改失败']); // 记录行为 $this->addAdminHistory(admin('uid'),$Model->getTable(),$id,2,[],$data); // 告知结果 return json_send(['code'=>'success','msg'=>'修改成功','action'=>'edit']); } // 接收参数 $id = request('id',0); // 查询数据 $oldData = $Model->where(['id'=>$id])->first(); // 如果是没有数据 if( !$oldData ) return $this->error('查无数据'); // 产品信息转格式 $oldData = $oldData->toArray(); // 获取类型列表 $typeList = $Type->getList(); // 分配数据 $this->assign('crumbs','修改'); $this->assign('oldData',$oldData); $this->assign('typeList', $typeList); // 加载模板 return $this->fetch(); } /** * 状态 * * */ public function set_status( Request $request, Model $Model ){ // 验证参数 $request->scene('set_status')->validate(); // 接收参数 $id = request('id',0); $status = request('status',0); // 查询数据 $result = $Model->edit($id,['status'=>$status]); // 提示新增失败 if( !$result ) return json_send(['code'=>'error','msg'=>'设置失败']); // 记录行为 $this->addAdminHistory(admin('uid'),$Model->getTable(),$id,2,[],['status'=>$status]); // 告知结果 return json_send(['code'=>'success','msg'=>'设置成功','path'=>'']); } }