Datastat = new Datastat($app); $this->AppropriationModel = new AppropriationModel(); $this->Field = new Field($app); $this->model = new CostProjectModel(); $this->Adminmodel = new Admin(); $this->Auditmodel = new AuditModel(); $this->ContactModel = new ContactModel(); $this->AppointmentModel = new AppointmentModel(); $this->uid = get_login_admin('id'); $this->unit = get_login_admin('unit_name'); $this->user_tpe = Db::name("department")->where("id", $this->unit)->value("type"); // $session_admin = get_config('app.session_admin'); // $request = Request::instance(); // if (!Session::has($session_admin) && $request->url() !== '/mobile/index/login.html') { // redirect('/mobile/index/login.html')->send(); // exit; // } } public function kan_list() { //根据所登录的账号,查询跟本身有关的项目 $param = get_params(); $rows = empty($param['limit']) ? get_config('app . page_size') : $param['limit']; $order = empty($param['order']) ? 'id desc' : $param['order']; if (isset($param["project_start_time"])) { $param["project_start_time"] = $param["project_start_time"] ? strtotime($param["project_start_time"]) : 0; } if (isset($param["project_end_time"])) { $param["project_end_time"] = $param["project_end_time"] ? strtotime($param["project_end_time"]) : 0; } $where3 = [];//搜索条件 if (!empty($param['project_status'])) { $where3[] = ['project_status', '=', $param['project_status']]; } if (!empty($param['province'])) { $where3[] = ['province', '=', $param['province']]; } if (!empty($param['city'])) { $where3[] = ['city', '=', $param['city']]; } if (!empty($param['area'])) { $where3[] = ['area', '=', $param['area']]; } if (!empty($param['project_end_time'])) { $where3[] = ['project_end_time', '<', $param['project_end_time']]; } if (!empty($param['project_start_time'])) { $where3[] = ['project_start_time', '>', $param['project_start_time']]; } if (!empty($param['keyword'])) { $keyword = $param['keyword']; $where3[] = ['project_num|project_name|review_unit', 'like', '%' . $keyword . '%']; } if (!empty($param['review_unit_name'])) { $where3[] = ['review_unit_name', 'like', '%' . $param['review_unit_name'] . '%']; } if (!empty($param['sent_review_unit_name'])) { $where3[] = ['sent_review_unit_name', 'like', '%' . $param['sent_review_unit_name'] . '%']; } if (!empty($param['entrust_unit_name'])) { $where3[] = ['entrust_unit_name', 'like', '%' . $param['entrust_unit_name'] . '%']; } if(isset($param['openid'])){ $res = Db::name('follow_project')->where('openid',$param['openid'])->column('project_id'); $list = $this->model->where($where3)->where('id','in',$res) ->order("create_time desc")->paginate(9999, false, ['query' => $param]) ->each(function ($item) {})->toArray(); $data = $list["data"]; }else{ $data = []; } // halt($list); // $data = $list["data"]; // halt($real_list); View::assign("detail", $data); return view(); } /** *个人资料 */ public function person() { $person = get_login_admin(); $red = $this->Auditmodel->where("approver", $this->uid)->where("audit_status", 1)->count(); $red_id = Db::name("new_msg")->where("uid", "=", $this->uid)->select(); $red_kan = 0; foreach ($red_id as $item => $value) { if ($value["detail"] || $value["comment"] || $value["report"] || $value["user"] || $value["contact"]) { $red_kan = 1; } } View::assign("red_kan", $red_kan); View::assign('red', $red); View::assign('person', $person); return view(); } /** * cp看板内容 */ public function detail() { $param = get_params(); $id = isset($param['id']) ? $param['id'] : 0; $type = isset($param['type']) ? $param['type'] : 0; $rows = empty($param['limit']) ? get_config('app.page_size') : $param['limit']; $order = empty($param['order']) ? 'a.id desc' : $param['order']; $detail = $this->model->getCostProjectById($id); $comment = Db::name("project_comment")->where("project_id", $id)->order('create_time', 'desc')->select(); $file_array = Db::name('ProjectFile') ->field('mf.id,mf.topic_id,mf.admin_id,f.name,f.filesize,f.filepath,f.fileext,f.create_time,f.admin_id,a.nickname as admin_name') ->alias('mf') ->join('File f', 'mf.file_id = f.id', 'LEFT') ->join('Admin a', 'mf.admin_id = a.id', 'LEFT') ->order('mf.create_time desc') ->where(array('mf.topic_id' => $id, 'mf.module' => 'project')) ->select()->toArray(); $report = Db::name("project_report") ->where([["project_id", "=", $id]]) ->alias("r")->join("admin a", "r.maker_id = a.id") ->field("r.*,a.nickname") ->select(); $contact = $this->ContactModel->where([['project_id', '=', $id]]) ->field('a.*,u.nickname as admin_name,f.name,f.filesize,f.filepath,f.fileext,f.admin_id') ->alias('a') ->join('file f', "a.file = f.id", "left") ->join('Admin u', 'a.maker_id = u.id', "left") ->order($order) ->paginate(9999, false, ['query' => $param]) ->each(function ($item, $key) { })->toArray(); $contact = $contact['data']; $where = [ ["cp_project_record.delete_time", "=", 0], ["project_id", "=", $id], ["maker_id", "=", get_login_admin('id')] ]; $record = Db::name('project_record')->where($where) ->field('a.*,u.nickname as admin_name') ->alias('a') ->join('Admin u', 'a.maker_id = u.id', "left") ->order($order) ->select(); $appropriation_uid = Db::name("appropriation_project")->where("project_id", $id)->value("uid"); if (empty($appropriation_uid)) { $appropriation_data = []; $appropriation_file_array = []; } else { $where = [ ["id", "=", $appropriation_uid], ["status", ">", 0] ]; //请款 $appropriation = Db::name("appropriation")->where($where)->find(); if (!empty($appropriation)) { $projects = Db::name("appropriation_project")->alias("a") ->leftJoin("cost_project c", "a.project_id=c.id") ->where("uid", $appropriation["id"])->column("c.project_name,c.sent_review_cost"); $data = []; $appropriation_amount = 0; for ($i = 0; $i < count($projects); $i++) { $v = $projects[$i]; $b = $i + 1; $appropriation_amount += $v["sent_review_cost"]; $data[] = $b . "." . $v["project_name"]; } $appropriation_data = $appropriation; $appropriation_data["appropriation_amount"] = $appropriation_amount; $appropriation_data["project_name"] = $data; $appropriation_file_array = Db::name('ProjectFile') ->field('mf.id,mf.topic_id,mf.admin_id,f.name,f.filesize,f.filepath,f.fileext,f.create_time,f.admin_id,a.nickname as admin_name') ->alias('mf') ->join('File f', 'mf.file_id = f.id', 'LEFT') ->join('Admin a', 'mf.admin_id = a.id', 'LEFT') ->order('mf.create_time desc') ->where(array('mf.topic_id' => $appropriation_uid, 'mf.module' => 'appropriation')) ->select()->toArray(); } else { $appropriation_data = []; $appropriation_file_array = []; } } $red = Db::name("new_msg")->where([["uid", '=', $this->uid], ["project_id", "=", $id]])->field('detail,comment,report,user,contact')->find(); if (empty($red)) { $red = ["detail" => 0, "comment" => 0, "report" => 0, "user" => 0, "contact" => 0]; } $field = $this->Field->get_field_rules_new($this->uid); $fields = []; foreach ($field as $k=>$v){ if($v==1){ $fields[$k] = true; }else{ $fields[$k] = false; } } if($this->user_tpe==2){ $fields["sent_review_approver_amount"] = false; $fields["construction_approver_amount"] = false; } $appointmentList = $this->AppointmentModel->where("project_id",$id)->paginate(9999, false, ['query' => $param]) ->order("create_time","desc") ->each(function ($item) { if($item->sponsor_unit==get_login_admin("unit_name")){ $item->operate = false; }else{ $item->operate = true; } });; // halt($appointmentList->toArray()); View::assign('field', $fields); if (!empty($detail)) { View::assign('appointmentList', $appointmentList); View::assign('project_id', $id); View::assign('comment', $comment); View::assign('record', $record); View::assign('contact', $contact); View::assign('detail', $detail); View::assign('appropriation', $appropriation_data); View::assign('file_array', $file_array); View::assign('appropriation_file_array', $appropriation_file_array); View::assign('report', $report); View::assign('red', $red); return view(); } else { throw new \think\exception\HttpException(404, '找不到页面'); } } public function followProject() { if (request()->isAjax()) { $param = request()->param(); if( !isset($param['openid'])){ return to_assign(1, '您还没有关注公众号,请先关注后再次扫码!'); } // halt($param); if(!isset($param['id'])|| !isset($param['openid']) ){ return to_assign(1, '参数错误请重试'); } $res = Db::name('follow_project')->where('project_id',$param['id'])->where('openid',$param['openid'])->find(); if($res == null){ $isTrue =Db::name('follow_project')->insert(['project_id'=>$param['id'] , 'openid'=>$param['openid']]); if($isTrue){ return to_assign(0, '关注成功!!'); }else{ return to_assign(1, '失败请重试!!'); } }else{ return to_assign(1, '已经关注过项目'); } } } public function notFollowProject() { if (request()->isAjax()) { $param = request()->param(); // halt($param); if(!isset($param['id'])|| !isset($param['openid']) ){ return to_assign(1, '参数错误请重试'); } $res = Db::name('follow_project')->where('project_id',$param['id'])->where('openid',$param['openid'])->find(); if($res !== null){ $isTrue =Db::name('follow_project')->where('project_id',$param['id'])->where('openid',$param['openid'])->delete(); if($isTrue){ return to_assign(0, '取消关注成功!!'); }else{ return to_assign(1, '取消关注失败请重试!!'); } }else{ return to_assign(1, '还未关注项目!'); } } } public function findFollowProject() { if (request()->isAjax()) { $param = request()->param(); // halt($param); if(!isset($param['id'])|| !isset($param['openid']) ){ return to_assign(1, '参数错误请重试'); } $res = Db::name('follow_project')->where('project_id',$param['id'])->where('openid',$param['openid'])->find(); if($res !== null){ return to_assign(0, '已经关注!'); }else{ return to_assign(1, '还未关注项目!'); } } } /** * cp代办内容 */ public function pdetail() { $param = get_params(); $id = isset($param['id']) ? $param['id'] : 0; $type = isset($param['type']) ? $param['type'] : 0; $rows = empty($param['limit']) ? get_config('app.page_size') : $param['limit']; $order = empty($param['order']) ? 'a.id desc' : $param['order']; $detail = $this->model->getCostProjectById($id); $comment = Db::name("project_comment")->where("project_id", $id)->order('create_time', 'desc')->select(); $file_array = Db::name('ProjectFile') ->field('mf.id,mf.topic_id,mf.admin_id,f.name,f.filesize,f.filepath,f.fileext,f.create_time,f.admin_id,a.nickname as admin_name') ->alias('mf') ->join('File f', 'mf.file_id = f.id', 'LEFT') ->join('Admin a', 'mf.admin_id = a.id', 'LEFT') ->order('mf.create_time desc') ->where(array('mf.topic_id' => $id, 'mf.module' => 'project')) ->select()->toArray(); $report = Db::name("project_report")->where([["project_id", "=", $id], ["r.status", "=", 1]])->alias("r")->join("admin a", "r.maker_id = a.id")->field("r.*,a.nickname")->select(); $contact = $this->ContactModel->where([['project_id', '=', $id]]) ->field('a.*,u.nickname as admin_name,f.name,f.filesize,f.filepath,f.fileext,f.admin_id') ->alias('a') ->join('file f', "a.file = f.id", "left") ->join('Admin u', 'a.maker_id = u.id', "left") ->order($order) ->paginate(9999, false, ['query' => $param]) ->each(function ($item, $key) { })->toArray(); $contact = $contact['data']; $where = [ ["cp_project_record.delete_time", "=", 0], ["project_id", "=", $id], ["maker_id", "=", get_login_admin('id')] ]; $record = Db::name('project_record')->where($where) ->field('a.*,u.nickname as admin_name') ->alias('a') ->join('Admin u', 'a.maker_id = u.id', "left") ->order($order) ->select(); //2是公司,0是财政局,1是业主 $unit_type = Db::name("department")->where("id", get_login_admin("unit_name"))->value("type"); if ($unit_type == 0) { $person = self::user($id); View::assign('project_five', self::getProjectFive()); } elseif ($unit_type == 2) { $person = self::user($id); View::assign('project_five', self::getProjectFiveCompany()); } else { $person = 0; View::assign('project_five', self::getProjectFiveYezhu()); } $field = $this->Field->get_field_rules_new($this->uid); $fields = []; foreach ($field as $k=>$v){ if($v==1){ $fields[$k] = true; }else{ $fields[$k] = false; } } if($this->user_tpe==2){ $fields["sent_review_approver_amount"] = false; $fields["construction_approver_amount"] = false; } View::assign('field', $fields); // halt($detail); if (!empty($detail)) { View::assign('project_id', $id); View::assign('comment', $comment); View::assign('record', $record); View::assign('contact', $contact); View::assign('detail', $detail); View::assign('file_array', $file_array); View::assign('report', $report); return view(); } else { echo '
项目不存在!
已被删除
'; // throw new \think\exception\HttpException(404, '项目不存在'); } } /** * cp看板报告内容 */ public function report_detail() { $param = get_params(); $id = isset($param['id']) ? $param['id'] : 0; $project_id = isset($param['project_id']) ? $param['project_id'] : 0; $detail = Db::name('ProjectReport')->where(['id' => $id])->find(); if (empty($detail)) { if (empty($detail)) { echo '
该文档不存在
'; exit; } } else { $maker_name = Db::name('admin')->where(['id' => $detail["maker_id"]])->value("nickname"); $detail["maker_name"] = $maker_name; $file_array = Db::name('ProjectReport') ->field("r.*,a.nickname as admin_name,f.name,f.filesize,f.filepath,f.fileext,f.admin_id") ->alias('r') ->join('File f', 'r.file = f.id') ->join('Admin a', 'r.maker_id = a.id', 'LEFT') ->order('r.create_time desc') ->where(array('r.id' => $id)) ->select()->toArray(); View::assign('file_array', $file_array); View::assign('project_id', $project_id); View::assign('detail', $detail); return view(); } } /** * cp待办报告内容 */ public function report_pdetail() { $param = get_params(); $id = isset($param['id']) ? $param['id'] : 0; $project_id = isset($param['project_id']) ? $param['project_id'] : 0; $detail = Db::name('ProjectReport')->where(['id' => $id])->find(); if (empty($detail)) { if (empty($detail)) { echo '
该文档不存在
'; exit; } } else { $maker_name = Db::name('admin')->where(['id' => $detail["maker_id"]])->value("nickname"); $detail["maker_name"] = $maker_name; $file_array = Db::name('ProjectReport') ->field("r.*,a.nickname as admin_name,f.name,f.filesize,f.filepath,f.fileext,f.admin_id") ->alias('r') ->join('File f', 'r.file = f.id') ->join('Admin a', 'r.maker_id = a.id', 'LEFT') ->order('r.create_time desc') ->where(array('r.id' => $id)) ->select()->toArray(); View::assign('file_array', $file_array); View::assign('project_id', $project_id); View::assign('detail', $detail); return view(); } } /** * */ public function sift() { return view(); } /** *项目人员 */ public function user($id) { $ids = $this->model->where("id", $id)->field("entrust_maker,review_head,operate_head,operate_team")->find(); if (empty($ids)) { return []; } else { $ids->toArray(); } $idarr = $ids["operate_team"] . ',' . $ids["operate_head"] . ',' . $ids["review_head"] . ',' . $ids["entrust_maker"]; $idarr = explode(",", $idarr); $param = []; $rows = empty($param['limit']) ? get_config('app.page_size') : $param['limit']; $list = $this->Adminmodel->whereIn("id", $idarr)->field("id,nickname,unit_name,mobile,email")->paginate(9999, false, ['query' => $param]) // field("a.id,a.nickname,a.unit_name,a.mobile,a.email,d.title,d.type")->join('department d', 'a.unit_name = d.id', 'LEFT') ->each(function ($item) { //获取单位的邮箱,单位信息页没做 $item->email = Db::name('department')->where(['id' => $item->unit_name])->value('email'); $type = Db::name('department')->where(['id' => $item->unit_name])->value('type'); $item->unit_name = Db::name('department')->where(['id' => $item->unit_name])->value('title'); // dump($type); if ($type == 0) { $item->unit_type = "委托单位"; } elseif ($type == 1) { $item->unit_type = "送审单位"; } elseif ($type == 2) { $item->unit_type = "评审机构"; } else { $item->unit_type = "施工单位"; } })->toArray(); $list = $list["data"]; $time_id = time(); $shigong = $this->model->where('id', $id)->find(); if ($shigong["construction_unit"] !== null || $shigong["construction_head"] !== null || $shigong["construction_email"] !== null || $shigong["construction_phone"] !== null ) { $shigongdata["id"] = $time_id; $shigongdata["nickname"] = $shigong["construction_unit"]; $shigongdata["unit_name"] = $shigong["construction_head"]; $shigongdata["email"] = $shigong["construction_email"]; $shigongdata["mobile"] = $shigong["construction_phone"]; $shigongdata["unit_type"] = "施工单位"; array_push($list, $shigongdata); } $time_id_sent = time() - 200; if ($shigong["sent_review_unit"] !== null || $shigong["sent_review_head"] !== null || $shigong["sent_review_phone"] !== null || $shigong["sent_review_head_email"] !== null ) { $sent_review_data["id"] = $time_id_sent; $sent_review_data["nickname"] = $shigong["sent_review_head_name"]; $sent_review_data["unit_name"] = $shigong["sent_review_unit_name"]; $sent_review_data["email"] = $shigong["sent_review_head_email"]; $sent_review_data["mobile"] = $shigong["sent_review_phone"]; $sent_review_data["unit_type"] = "送审单位"; array_push($list, $sent_review_data); } if (empty($ids['operate_team'])) { $operate_team[] = '0'; } else { $operate_team = explode(',', $ids['operate_team']); } for ($i = 0; $i < count($list); $i++) { if ($list[$i]['id'] == $ids['entrust_maker']) { // dump($list[$i]['id'],$ids['entrust_maker']); $list[$i]["type"] = 1; } elseif ($list[$i]['id'] == $ids['review_head']) { $list[$i]["type"] = 2; } elseif ($list[$i]['id'] == $ids['operate_head']) { $list[$i]["type"] = 3; } elseif (in_array($list[$i]['id'], $operate_team)) { $list[$i]["type"] = 4; } elseif ($list[$i]['id'] == $time_id) { $list[$i]["type"] = 5; } elseif ($list[$i]['id'] !== time() - 1000) { $list[$i]["type"] = 6; } } $type = array_column($list, 'type'); array_multisort($type, SORT_ASC, $list); return $list; } /** * 修改个人资料 */ public function revise() { $person = get_login_admin(); View::assign('person', $person); return view(); } /** * 消息通知 * 通用 */ public function notice() { $unread_id = Db::name("admin")->where("id", $this->uid)->value("unread"); if (empty($unread_id)) { $unread_ids = []; } else { $unread_ids = explode(",", $unread_id); } $list = Db::name("ProjectMsg")->where("uid", $this->uid)->select(); if (is_object($list)) { $data = $list->toArray(); } $real_data = []; foreach ($data as $item => $v) { if (in_array($v["id"], $unread_ids)) { $v["red"] = 1; $real_data[] = $v; } else { $v["red"] = 0; $real_data[] = $v; } } Db::name("admin")->where("id", $this->uid)->update(["unread" => null]); View::assign("msg", $real_data); return view(); } public function notice_content() { return view(); } /** * 工作记录 */ public function record() { $param = get_params(); $id = isset($param['id']) ? $param['id'] : 0; $project_id = isset($param['project_id']) ? $param['project_id'] : 0; $detail = (new ProjectRecord())->detail($id); if (empty($detail)) { if (empty($detail)) { echo '
该记录不存在
'; exit; } return ''; } $maker_name = Db::name('admin')->where(['id' => $detail["maker_id"]])->value("nickname"); $detail["maker_name"] = $maker_name; View::assign('detail', $detail); View::assign('project_id', $project_id); return view(); } /** * 编辑工作记录 */ public function record_edit() { $param = get_params(); $id = isset($param['id']) ? $param['id'] : 0;//记录id $project_id = isset($param['project_id']) ? $param['project_id'] : 0; $project = Db::name("cost_project")->where("id", $project_id)->value("project_name"); $detail = (new ProjectRecord())->getRecordById($id); if (!empty($detail)) { View::assign('id', $id); View::assign('user_type', $this->user_tpe); View::assign('project_id', $project_id); View::assign('project', $project); View::assign('detail', $detail); return view(); } else { throw new \think\exception\HttpException(404, '页面不存在'); } } /** * 邀请函 */ public function invite() { $param = get_params(); $id = isset($param['id']) ? $param['id'] : 0;//记录id $project_id = isset($param['project_id']) ? $param['project_id'] : 0; $project = Db::name("cost_project")->where("id", $project_id)->value("project_name"); $detail = (new Contact())->detail($id); $file_array = Db::name('contact') ->field("r.*,a.nickname as admin_name,f.name,f.filesize,f.filepath,f.fileext,f.admin_id") ->alias('r') ->join('File f', 'r.file = f.id') ->join('Admin a', 'r.maker_id = a.id', 'LEFT') ->order('r.create_time desc') ->where(array('r.id' => $id)) ->select()->toArray(); if (!empty($detail)) { View::assign('id', $id); View::assign('project_id', $project_id); View::assign('project', $project); View::assign('detail', $detail); View::assign('file_array', $file_array); return view(); } else { throw new \think\exception\HttpException(404, '页面不存在'); } } public function cost_detail() { return view(); } public function login() { return view(); } // cp请款函内容 public function request_detail() { $param = get_params(); return view(); } /** * 查看审批进度 */ public function progress() { $param = get_params(); $id = isset($param['id']) ? $param['id'] : 0; $rows = empty($param['limit']) ? get_config('app . page_size') : $param['limit']; $order = empty($param['order']) ? 'id desc' : $param['order']; $list = $this->Auditmodel->alias('a')->join("cost_project c", "a.project_id=c.id", 'left') ->field("a.*,c.project_status,c.sent_review_amount,c.engineering_type,c.review_unit_name")->where('else_id', $id)->order('create_time', "sec") ->select() ->each(function ($item) { switch ($item["audit_type"]) { case 4: $item->else_name = "报告一级审核"; break; case 5: $item->else_name = "报告二级审核"; break; case 6: $item->else_name = "报告三级审核"; break; } }); View::assign('list', $list); return view(); } public function contacts_exterior() { $param = get_params(); $where = []; if (!empty($param["keyword"])) { $where = [["a.nickname|d.title", "like", "%" . $param["keyword"] . "%"]]; } //0:财政局;1:业主;2:公司 if ($this->user_tpe == 0) { //公司负责人 $list_company = Db::name('department')->alias('d')->join("admin a", "d.leader_id=a.id") ->where([["d.type", "=", 2], ["pid", "=", 0], ["d.status", "=", 1]]) ->where($where)->field("d.id,d.title,d.type,a.nickname,a.mobile,a.email") ->select()->toArray(); $list_proprietor = Db::name('department')->alias('d')->join("admin a", "d.leader_id=a.id") ->where([["d.type", "=", 1], ["pid", "=", 0], ["d.status", "=", 1]]) ->where($where) ->field("d.id,d.title,d.type,a.nickname,a.mobile,a.email") ->select()->toArray(); $list_exterior = array_merge($list_company,$list_proprietor); } else if ($this->user_tpe == 1) { //公司负责人 $list_company = Db::name('department')->alias('d')->join("admin a", "d.leader_id=a.id") ->where([["d.type", "=", 2], ["pid", "=", 0], ["d.status", "=", 1]]) ->where($where)->field("d.id,d.title,d.type,a.nickname,a.mobile,a.email") ->select()->toArray(); //财评负责人 $list_entrust = Db::name('department')->alias('d')->join("admin a", "d.leader_id=a.id") ->where([["d.type", "=", 0], ["pid", "=", 0], ["d.status", "=", 1]]) ->where($where) ->field("d.id,d.title,d.type,a.nickname,a.mobile,a.email") ->select()->toArray(); $list_exterior = array_merge($list_company,$list_entrust); } else if ($this->user_tpe == 2) { //公司内部通讯录 $list_entrust = Db::name('department')->alias('d')->join("admin a", "d.leader_id=a.id") ->where([["d.type", "=", 0], ["pid", "=", 0], ["d.status", "=", 1]]) ->where($where) ->field("d.id,d.title,d.type,a.nickname,a.mobile,a.email") ->select()->toArray(); $list_proprietor = Db::name('department')->alias('d')->join("admin a", "d.leader_id=a.id") ->where([["d.type", "=", 1], ["pid", "=", 0], ["d.status", "=", 1]]) ->where($where) ->field("d.id,d.title,d.type,a.nickname,a.mobile,a.email") ->select()->toArray(); $list_exterior = array_merge($list_proprietor,$list_entrust); } View::assign('list_exterior', $list_exterior); return view(); } public function getProjectFive() { $where = [ ['name', '=', '作业日志-财政局'], ['name', '=', '工作记录-财政局'], ['name', '=', '项目报告-财政局'], ['name', '=', '项目人员-财政局'], ['name', '=', '项目动态-财政局'], ['name', '=', '项目附件-财政局'], ['name', '=', '联系函-财政局'], ]; $list = Db::name('AdminRule')->whereOr($where)->field('id,name')->select()->toArray(); $group_id = Db::name('AdminGroupAccess')->where('uid', get_login_admin('id'))->value('group_id'); $login_rules = Db::name('AdminGroup')->where('id', $group_id)->value('rules'); $login_rules = explode(',', $login_rules); $rules_id = array(); foreach ($list as $key => $value) { if ($value['name'] == "作业日志-财政局") { if (in_array($value['id'], $login_rules)) { $rules_id['project_comments'] = 1; } else { $rules_id['project_comments'] = 0; } } else if ($value['name'] == "工作记录-财政局") { if (in_array($value['id'], $login_rules)) { $rules_id['project_record'] = 1; } else { $rules_id['project_record'] = 0; } } else if ($value['name'] == "项目报告-财政局") { if (in_array($value['id'], $login_rules)) { $rules_id['project_report'] = 1; } else { $rules_id['project_report'] = 0; } } else if ($value['name'] == "项目人员-财政局") { if (in_array($value['id'], $login_rules)) { $rules_id['project_user'] = 1; } else { $rules_id['project_user'] = 0; } } else if ($value['name'] == "项目动态-财政局") { if (in_array($value['id'], $login_rules)) { $rules_id['project_log'] = 1; } else { $rules_id['project_log'] = 0; } } else if ($value['name'] == "项目附件-财政局") { if (in_array($value['id'], $login_rules)) { $rules_id['project_file'] = 1; } else { $rules_id['project_file'] = 0; } } else if ($value['name'] == "联系函-财政局") { if (in_array($value['id'], $login_rules)) { $rules_id['project_contact'] = 1; } else { $rules_id['project_contact'] = 0; } } } return $rules_id; } public function getProjectFiveCompany() { $where = [ ['name', '=', '作业日志-公司'], ['name', '=', '工作记录-公司'], ['name', '=', '项目报告-公司'], ['name', '=', '项目人员-公司'], ['name', '=', '项目动态-公司'], ['name', '=', '项目附件-公司'], ['name', '=', '联系函-公司'], ]; $list = Db::name('AdminRule')->whereOr($where)->field('id,name')->select()->toArray(); $group_id = Db::name('AdminGroupAccess')->where('uid', get_login_admin('id'))->value('group_id'); $login_rules = Db::name('AdminGroup')->where('id', $group_id)->value('rules'); $login_rules = explode(',', $login_rules); $rules_id = array(); foreach ($list as $key => $value) { if ($value['name'] == "作业日志-公司") { if (in_array($value['id'], $login_rules)) { $rules_id['project_comments'] = 1; } else { $rules_id['project_comments'] = 0; } } else if ($value['name'] == "工作记录-公司") { if (in_array($value['id'], $login_rules)) { $rules_id['project_record'] = 1; } else { $rules_id['project_record'] = 0; } } else if ($value['name'] == "项目报告-公司") { if (in_array($value['id'], $login_rules)) { $rules_id['project_report'] = 1; } else { $rules_id['project_report'] = 0; } } else if ($value['name'] == "项目人员-公司") { if (in_array($value['id'], $login_rules)) { $rules_id['project_user'] = 1; } else { $rules_id['project_user'] = 0; } } else if ($value['name'] == "项目动态-公司") { if (in_array($value['id'], $login_rules)) { $rules_id['project_log'] = 1; } else { $rules_id['project_log'] = 0; } } else if ($value['name'] == "项目附件-公司") { if (in_array($value['id'], $login_rules)) { $rules_id['project_file'] = 1; } else { $rules_id['project_file'] = 0; } } else if ($value['name'] == "联系函-公司") { if (in_array($value['id'], $login_rules)) { $rules_id['project_contact'] = 1; } else { $rules_id['project_contact'] = 0; } } } return $rules_id; } public function getProjectFiveYezhu() { $where = [ ['name', '=', '作业日志-业主'], ['name', '=', '工作记录-业主'], ['name', '=', '项目报告-业主'], ['name', '=', '项目人员-业主'], ['name', '=', '项目动态-业主'], ['name', '=', '项目附件-业主'], ['name', '=', '联系函-业主'], ]; $list = Db::name('AdminRule')->whereOr($where)->field('id,name')->select()->toArray(); $group_id = Db::name('AdminGroupAccess')->where('uid', get_login_admin('id'))->value('group_id'); $login_rules = Db::name('AdminGroup')->where('id', $group_id)->value('rules'); $login_rules = explode(',', $login_rules); $rules_id = array(); foreach ($list as $key => $value) { if ($value['name'] == "作业日志-业主") { if (in_array($value['id'], $login_rules)) { $rules_id['project_comments'] = 1; } else { $rules_id['project_comments'] = 0; } } else if ($value['name'] == "工作记录-业主") { if (in_array($value['id'], $login_rules)) { $rules_id['project_record'] = 1; } else { $rules_id['project_record'] = 0; } } else if ($value['name'] == "项目报告-业主") { if (in_array($value['id'], $login_rules)) { $rules_id['project_report'] = 1; } else { $rules_id['project_report'] = 0; } } else if ($value['name'] == "项目人员-业主") { if (in_array($value['id'], $login_rules)) { $rules_id['project_user'] = 1; } else { $rules_id['project_user'] = 0; } } else if ($value['name'] == "项目动态-业主") { if (in_array($value['id'], $login_rules)) { $rules_id['project_log'] = 1; } else { $rules_id['project_log'] = 0; } } else if ($value['name'] == "项目附件-业主") { if (in_array($value['id'], $login_rules)) { $rules_id['project_file'] = 1; } else { $rules_id['project_file'] = 0; } } else if ($value['name'] == "联系函-业主") { if (in_array($value['id'], $login_rules)) { $rules_id['project_contact'] = 1; } else { $rules_id['project_contact'] = 0; } } } return $rules_id; } public function read_company() { $param = get_params(); $unit_type = Db::name("department")->where("id", get_login_admin("unit_name"))->value("type"); // halt($param); $a = time(); $id = isset($param["project_id"]) ? $param["project_id"] : $a; if ($id == $a) { $datas = array(); $datas["data"] = null; return table_assign(0, "无项目", $datas); } $project = Db::name("appropriation_project")->where("uid", $id)->select(); $datas["data"] = $project; $datas["total"] = count($project); if ($param["type"] > 9) { $a = time(); $id = isset($param["project_id"]) ? $param["project_id"] : $a; $detail = Db::name("appropriation")->where("id", $id)->find(); $file_array = Db::name('ProjectFile') ->field('mf.id,mf.topic_id,mf.admin_id,f.name,f.filesize,f.filepath,f.fileext,f.create_time,f.admin_id,a.nickname as admin_name') ->alias('mf') ->join('File f', 'mf.file_id = f.id', 'LEFT') ->join('Admin a', 'mf.admin_id = a.id', 'LEFT') ->order('mf.create_time desc') ->where(array('mf.topic_id' => $id, 'mf.module' => 'appropriation')) ->select()->toArray(); $where = [ ["approver", "=", $this->uid], ["audit_status", "<", 5] ]; $list = $this->Auditmodel->alias("a")->join("cost_project c", "a.project_id=c.id", "left") ->where($where)->where('audit_status',1)->where('audit_type','in',[10,11,12]) ->field("a.*,c.project_num,c.project_status,c.engineering_type,c.sent_review_amount") ->paginate(9999, false, ['query' => $param]) ->each(function ($item, $key) { $item->approver_name = Db::name("admin")->where("id", $item->approver)->value("nickname"); })->toArray(); // halt($list); $red = 0; foreach ($list["data"] as $item => $value) { if ($value["audit_status"] == 1) { $red = 1; } } $red_id = Db::name("new_msg")->where("uid", "=", $this->uid)->select(); $red_kan = 0; foreach ($red_id as $item => $value) { if ($value["detail"] || $value["comment"] || $value["report"] || $value["user"] || $value["contact"]) { $red_kan = 1; } } if($unit_type == 2){ $auditdata = $this->Auditmodel->where('id',$param['id'])->find(); $detail['audit_status'] = $auditdata['audit_status']; View::assign('auditdata', $auditdata); }else{ $detail['audit_status'] = 0; } // halt($audit_status,$id); // halt($list); View::assign('unit_type', $unit_type); View::assign('datas', $datas['data']); View::assign('id', $id); View::assign('detail', $detail); View::assign("red_kan", $red_kan); View::assign('red', $red); View::assign('file_array', $file_array); return view(); } } public function datastat(){ return View(); } public function contract() { return view(); } public function contract_detail() { return view(); } }