<?phpnamespace app\api\controller;/*** 首页接口*/
class Coursess extends Api
{//签订合同public function contract(){$id = $this->request->post('id');$qian = $this->request->post('qian');if (!$id || !$qian) {$this->error(__('Invalid parameters'));}$order_house = OrderHouse::find($id);if (!$order_house) {$this->error(__('订单不存在'));}if ($order_house->contract == 1) {$this->error(__('合同已签署'));}$order = Order::where('order_first_id|order_two_id',$order_house->id)->find();if (!$order) {$this->error(__('订单不存在'));}$j_order = OrderHouse::find($order->order_first_id);if (!$j_order) {$this->error(__('订单不存在'));}$j_time = explode(' - ',$j_order->reservation);$date1 = new \DateTime($j_time[0]);$date2 = new \DateTime($j_time[1]);$interval = $date1->diff($date2);$day = $interval->format('%a');$s_time = explode('-',$j_time[0]);$e_time = explode('-',$j_time[1]);$j_user_real = UserReal::where('user_id',$j_order->user_id)->find();if (!$j_user_real) {$this->error(__('未找到实名信息'));}$y_order = OrderHouse::find($order->order_two_id);if (!$y_order) {$this->error(__('订单不存在'));}$y_user_real = UserReal::where('user_id',$y_order->user_id)->find();if (!$y_user_real) {$this->error(__('未找到实名信息'));}$data = ['j_name' => $j_user_real->username,'j_card' => $j_user_real->card,'y_name' => $y_user_real->username,'y_card' => $y_user_real->card,'j_address' => $j_order->house->address.$j_order->house->add_detailed,'j_mian' => $j_order->house->house_area,'y_address' => $y_order->house->address.$y_order->house->add_detailed,'y_mian' => $y_order->house->house_area,'s_year' => $s_time[0],'s_month' => $s_time[1],'s_ri' => $s_time[2],'e_year' => $e_time[0],'e_month' => $e_time[1],'e_ri' => $e_time[2],'day' => $day,'k_year' => $s_time[0],'k_month' => $s_time[1],'k_ri' => $s_time[2],'j_dprice' => Order::getChineseNumber($j_order->price),'j_price' => $j_order->price,'y_dprice' => Order::getChineseNumber($y_order->price),'y_price' => $y_order->price,'j_mobile' => $j_order->user->mobile,'y_mobile' => $y_order->user->mobile,'q_y' => date('Y'),'q_m' => date('m'),'q_r' => date('d'),];if ($order->contract != '') {$bg = $order->contract;}else{$bg = '/hfht.docx';}if ($id == $order->order_first_id) {$type = 1;}else{$type = 2;}$contract = Order::words($data,$bg,$type, $qian);// halt($contract);if ($contract) {$order->contract = $contract;$order->save();$order_house->contract = 1;$order_house->save();$this->success('签订成功');}else{$this->error(__('签订失败'));}}//合同填充public static function words($data, $bg, $type, $qian){$templatePath = ROOT_PATH."public".$bg;$tpl = new \PhpOffice\PhpWord\TemplateProcessor($templatePath);//填充数据foreach ($data as $key => $value) {$tpl->setValue($key, $value);}if ($type == 1) {$tpl->setImageValue('j_qian', array('path' => ROOT_PATH."public".$qian, 'width' => 50, 'height' => 50, 'ratio' => false));}else{$tpl->setImageValue('y_qian', array('path' => ROOT_PATH."public".$qian, 'width' => 50, 'height' => 50, 'ratio' => false));}// $tpl->setImageValue('y_qian', ROOT_PATH."public".$qian);//文件名// if ($type == 1) {// $title = 'queren';// }else{// $title = 'songji';// }$file = time() . '.docx';//文件名// $encoded_filename = urlencode($file); // 将文件名进行urlencode转码$url = ROOT_PATH.'public';$path = '/contract/'.str_replace('+', '%20', $file);$tpl->saveAs($url.$path);// return \fast\Http::sendToBrowser($path,true);return $path;}}
文档样式