dataList(1); /** * 渲染模板 */ return $this->render('index', $params); } /** * 查询数据列表 */ protected function dataList($type = '') { $request = Yii::$app->request; $createTime = $request->get('createTime'); $endTime = $request->get('endTime'); $contactMobile = $request->get('contactMobile'); $customer = $request->get('customer'); $carNo = $request->get('carNo'); $maintainerMobile = $request->get('maintainerMobile'); $status = $request->get('status'); $gets = [ 'createTime' => $createTime, 'endTime' => $endTime, 'contactMobile' => $contactMobile, 'customer' => $customer, 'carNo' => $carNo, 'maintainerMobile' => $maintainerMobile, 'status' => $status, 'statusList' => RepairOrderStatus::getLabels() ]; $where = ['and']; if ($createTime) { $createTime = strtotime($createTime); $where[] = ['>=', 'ord.created_at', $createTime]; } if ($endTime) { $endTime = strtotime($endTime) + 86400; $where[] = ['<=', 'ord.created_at', $endTime]; } if ($contactMobile) { $where[] = ['like', 'ord.contact_mobile', $contactMobile]; } if ($customer) { $where[] = ['like', 'ord.customer', $customer]; } if ($carNo) { $where[] = ['like', 'ord.car_no', $carNo]; } if ($maintainerMobile) { $where[] = ['like', 'u.mobile', $maintainerMobile]; } if ($status) { $where[] = ['=', 'ord.status', $status]; } if ($type == 0) { $pageList = RepairOrderRepository::getAdminOrderList(0, 0, $where); $pages = null; } else { $pageSize = 20; $pages = new Pagination(['totalCount' => RepairOrderRepository::getAdminOrderListCount($where), 'pageSize' => $pageSize]); $pageList = RepairOrderRepository::getAdminOrderList($pages->offset, $pages->limit, $where); } /** * 数据整理 */ return [ 'listdata' => $pageList, 'pages' => $pages, 'gets' => $gets ]; } /** * 导出订单数据 * @return string */ public function actionExportDa() { $data = $this->dataList(0); return $this->renderPartial("exportDa", $data); } /** * @return string */ public function actionInfo() { $id = $this->request->get('id'); $orderModel = RepairOrderRepository::findOne(['id' => $id]); if (empty($orderModel)) { $params = []; return $this->render('info', $params); } $orderId = $orderModel->id; $brokenImageModels = RepairOrderRepository::findOrderImageAll(['repair_order_id' => $orderId]); $brokenImages = []; foreach($brokenImageModels as $k => $v) { $brokenImages[] = ImageManager::getUrl($v->image_path); } $totalPrice = $orderModel->order_price; $rPlans = RepairOrderRepository::findOrderPlansAll(['repair_order_id' => $orderId]); $repairPlans = []; foreach($rPlans as $k => $plan) { $repairPlans[] = ['plan' => $plan['repair_plan'] ,'price' => $plan['price']]; } $fImages = RepairOrderRepository::findOrderFinishImageAll(['repair_order_id' => $orderId]); $finishImages = []; foreach($fImages as $k => $image) { $finishImages[] = ImageManager::getUrl($image['image_path']);; } $hasComment = false; $comments = []; $rateModel = RepairOrderRateRepository::findOne(['repair_order_id' => $orderId]); if ($rateModel) { $hasComment = true; $comments = ['starTxt' => RepairOrderRate::starLabel($rateModel->star_count), 'comment' => $rateModel->comment]; } $user = UserRepository::findOne(['id' => $orderModel->user_id]); $order = [ 'id' => $orderId, 'uuid' => $orderModel->uuid, 'userId' => $orderModel->user_id, 'userName' => $user->name, 'userMobile' => $user->mobile, 'carNo' => $orderModel->car_no, 'carModel' => $orderModel->car_model, 'customer' => $orderModel->customer, 'contact_mobile'=> $orderModel->contact_mobile, 'preRepair' => $orderModel->predict_fault, 'prePrice' => $orderModel->predict_price.'元', 'preFinishDate' => $orderModel->predict_finish_time? date('Y-m-d H:00', $orderModel->predict_finish_time):'暂无', 'orderDateTime' => date('Y-m-d H:00', $orderModel->created_at), 'finishDateTime'=> $orderModel->finish_at? date('Y-m-d H:00', $orderModel->finish_at):'暂无', 'status' => RepairOrderStatus::getLabels($orderModel->status), 'hasComment' => $hasComment, 'comments' => $comments, 'brokenImages' => $brokenImages, 'repairPlans' => $repairPlans, 'totalPrice' => $totalPrice, 'finishImages' => $finishImages ]; $params['order'] = $order; return $this->render('info', $params); } }