|
@@ -0,0 +1,148 @@
|
|
|
+<?php
|
|
|
+namespace app\synth\controller;
|
|
|
+use app\common\model\User;
|
|
|
+use library\Controller;
|
|
|
+use think\Db;
|
|
|
+/**
|
|
|
+ * 请假列表
|
|
|
+ * Class Maintain
|
|
|
+ * @package app\synth\controller
|
|
|
+ */
|
|
|
+class Maintain extends Controller
|
|
|
+{
|
|
|
+ /**
|
|
|
+ * 绑定数据表
|
|
|
+ * @var string
|
|
|
+ */
|
|
|
+ protected $table = 'Maintain';
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 列表
|
|
|
+ * @auth true
|
|
|
+ * @menu true
|
|
|
+ * @throws \think\Exception
|
|
|
+ * @throws \think\db\exception\DataNotFoundException
|
|
|
+ * @throws \think\db\exception\ModelNotFoundException
|
|
|
+ * @throws \think\exception\DbException
|
|
|
+ * @throws \think\exception\PDOException
|
|
|
+ */
|
|
|
+ public function index()
|
|
|
+ {
|
|
|
+
|
|
|
+ $this->title = '列表管理';
|
|
|
+ $all_type = \app\common\model\OfferType::getAllType();
|
|
|
+ $all_type = array_merge([['id'=>0,'title'=>'全部']],$all_type);
|
|
|
+ $this->all_type = array_column($all_type,null,'id');
|
|
|
+ $this->status_arr = [0=>'全部','1'=>'审批中',2=>'审批通过',3=>'审批拒绝',9=>'已取消'];
|
|
|
+ $sel_where = [];
|
|
|
+ $time = explode(' - ',input('create_at'));
|
|
|
+ if(input('create_at')){
|
|
|
+ $sel_where[] = ['a.create_at','between time',$time];
|
|
|
+ }
|
|
|
+ if($type = input('type')) $sel_where[] = ['a.type','=',$type];
|
|
|
+ if($status = input('status')) $sel_where[] = ['a.status','=',$status];
|
|
|
+ if($name = input('name')) $sel_where[] = ['u.name','like','%'.$name.'%'];
|
|
|
+ $query = $this->_query($this->table)
|
|
|
+ ->field('a.*,u.name,u.headimg')
|
|
|
+ ->where($sel_where)
|
|
|
+ ->alias('a')
|
|
|
+ ->leftJoin('store_member u','u.id = a.user_id')
|
|
|
+ ->where('a.is_deleted',0)
|
|
|
+ ->order('a.id desc')
|
|
|
+ ->page();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 数据列表处理
|
|
|
+ * @auth true
|
|
|
+ * @menu true
|
|
|
+ * @param array $data
|
|
|
+ * @throws \think\db\exception\DataNotFoundException
|
|
|
+ * @throws \think\db\exception\ModelNotFoundException
|
|
|
+ * @throws \think\exception\DbException
|
|
|
+ */
|
|
|
+ protected function _index_page_filter(&$data)
|
|
|
+ {
|
|
|
+ foreach ($data as $k=>&$v){
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 删除
|
|
|
+ * @auth true
|
|
|
+ * @menu true
|
|
|
+ * @param array $data
|
|
|
+ * @throws \think\db\exception\DataNotFoundException
|
|
|
+ * @throws \think\db\exception\ModelNotFoundException
|
|
|
+ * @throws \think\exception\DbException
|
|
|
+ */
|
|
|
+ public function remove()
|
|
|
+ {
|
|
|
+ $this->_save($this->table, ['is_deleted' => '1']);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ * 编辑
|
|
|
+ * @auth true
|
|
|
+ * @menu true
|
|
|
+ * @param array $data
|
|
|
+ * @throws \think\db\exception\DataNotFoundException
|
|
|
+ * @throws \think\db\exception\ModelNotFoundException
|
|
|
+ * @throws \think\exception\DbException
|
|
|
+ */
|
|
|
+ public function edit()
|
|
|
+ {
|
|
|
+ $this->title = '编辑';
|
|
|
+ $this->_form($this->table, 'form');
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ * 数据处理
|
|
|
+ * @auth true
|
|
|
+ * @menu true
|
|
|
+ * @param array $data
|
|
|
+ * @throws \think\db\exception\DataNotFoundException
|
|
|
+ * @throws \think\db\exception\ModelNotFoundException
|
|
|
+ * @throws \think\exception\DbException
|
|
|
+ */
|
|
|
+ protected function _form_filter(&$data)
|
|
|
+ {
|
|
|
+ $this->all_type = \app\common\model\OfferType::getAllType();
|
|
|
+ if($this->request->isGet() && $this->request->action() == 'edit')
|
|
|
+ {
|
|
|
+ $data['user_name'] = User::where('id',$data['user_id'])->value('name');
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ * 审批记录
|
|
|
+ * @auth true
|
|
|
+ * @menu true
|
|
|
+ * @param array $data
|
|
|
+ * @throws \think\db\exception\DataNotFoundException
|
|
|
+ * @throws \think\db\exception\ModelNotFoundException
|
|
|
+ * @throws \think\exception\DbException
|
|
|
+ */
|
|
|
+ public function approve()
|
|
|
+ {
|
|
|
+ $id = input('id');
|
|
|
+ $list = $this->_query('OfferApprove')
|
|
|
+ ->alias('r')
|
|
|
+ ->field('r.*,u.name,u.phone,u.headimg')
|
|
|
+ ->leftJoin('store_member u','u.id = r.approve_user')
|
|
|
+ ->where('r.info_id',$id)
|
|
|
+ ->order('r.id asc')->page(false);
|
|
|
+ $this->assign('list',$list);
|
|
|
+ $this->fetch();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+}
|