医院预约管理系统开发 代码展示 九价疫苗接种预约功能(含小程序源代码)

news2024/11/15 11:12:35

基于微信小程序的疫苗预约系统让疫苗信息,疫苗预约信息等相关信息集中在后台让管理员管理,让用户在小程序端预约疫苗,查看疫苗预约信息,该系统让信息管理变得高效,也让用户预约疫苗,查看疫苗预约等信息变得越来越方便。

一、项目简述
本系统功能包括:
1、疫苗添加、修改、删除等管理
2、接种点管理(接种点、工作人员)
3、预约跟进(预约、签到、预检、接种、留观、留观历史)
4、用户管理

1、小程序预约的界面展示

在这里插入图片描述

2、医生管理控制器

<?php
namespace app\store\controller;
use app\store\model\Doctors as DoctorsModel;

/**
 * 医生管理控制器
 * Class Doctors
 * @package app\store\controller
 */
class Doctors extends Controller
{
    /**
     * 医生列表
     * @return mixed
     * @throws \think\exception\DbException
     */
    public function index()
    {
        $model = new DoctorsModel;
        $list = $model->getList();
        // return json($list);
        return $this->fetch('index', compact('list'));
    }

3、添加医生

    /**
     * 添加医生
     * @return array|mixed
     */
    public function add()
    {
        if (!$this->request->isAjax()) {
            return $this->fetch('add');
        }
        $model = new DoctorsModel;
        if ($model->add($this->postData('doctors'))) {
            return $this->renderSuccess('添加成功', url('doctors/index'));
        }
        $error = $model->getError() ?: '添加失败';
        return $this->renderError($error);
    }

    /**
     * 删除医生
     * @param $doctors_id
     * @return array
     * @throws \think\exception\DbException
     */
    public function delete($doctors_id)
    {
        $model = DoctorsModel::get($doctors_id);
        if (!$model->remove()) {
            return $this->renderError('删除失败');
        }
        return $this->renderSuccess('删除成功');
    }

4、医生编辑

    /**
     * 医生编辑
     * @param $doctors_id
     * @return array|mixed
     * @throws \think\exception\DbException
     */
    public function edit($doctors_id)
    {
        // 商品详情
        $model = DoctorsModel::detail($doctors_id);
        if (!$this->request->isAjax()) {
            return $this->fetch('edit', compact('model'));
        }
        // 更新记录
        if ($model->edit($this->postData('doctors'))) {
            return $this->renderSuccess('更新成功', url('doctors/index'));
        }
        $error = $model->getError() ?: '更新失败';
        return $this->renderError($error);
    }

}

5、订单管理

<?php

namespace app\store\controller;

use app\store\model\Order as OrderModel;

/**
 * 订单管理
 * Class Order
 * @package app\store\controller
 */
class Order extends Controller
{
    /**
     * 待发货订单列表
     * @return mixed
     * @throws \think\exception\DbException
     */
    public function delivery_list()
    {
        return $this->getList('待发货订单列表', [
            'pay_status' => 20,
            'delivery_status' => 10
        ]);
    }

    /**
     * 已付款订单列表
     * @return mixed
     * @throws \think\exception\DbException
     */
    public function receipt_list()
    {
        return $this->getList('已付款订单列表', ['status' => 1]);
    }

    /**
     * 待付款订单列表
     * @return mixed
     * @throws \think\exception\DbException
     */
    public function pay_list()
    {
        return $this->getList('待付款订单列表', ['status' => 0]);
    }

    /**
     * 已完成订单列表
     * @return mixed
     * @throws \think\exception\DbException
     */
    public function complete_list()
    {
        return $this->getList('已完成订单列表', ['status' => 2]);
    }

    /**
     * 已取消订单列表
     * @return mixed
     * @throws \think\exception\DbException
     */
    public function cancel_list()
    {
        return $this->getList('已取消订单列表', ['status' => -1]);
    }

    /**
     * 全部订单列表
     * @return mixed
     * @throws \think\exception\DbException
     */
    public function all_list()
    {
        return $this->getList('全部订单列表');
    }

6、订单列表、订单详情控制器

    /**
     * 订单列表
     * @param $title
     * @param $filter
     * @return mixed
     * @throws \think\exception\DbException
     */
    private function getList($title, $filter = [])
    {
        $model = new OrderModel;
        $list = $model->getList($filter);
        return $this->fetch('index', compact('title','list'));
    }

    /**
     * 订单详情
     * @param $order_id
     * @return mixed
     * @throws \think\exception\DbException
     */
    public function detail($order_id)
    {
        $detail = OrderModel::detail($order_id);
        return $this->fetch('detail', compact('detail'));
    }

7、确认发货

    /**
     * 确认发货
     * @param $order_id
     * @return array
     * @throws \think\exception\DbException
     */
    public function delivery($order_id)
    {
        $model = OrderModel::detail($order_id);
        if ($model->delivery($this->postData('order'))) {
            return $this->renderSuccess('发货成功');
        }
        $error = $model->getError() ?: '发货失败';
        return $this->renderError($error);
    }

}

8、在后台设置可以进行预约接种疫苗的时间段

在这里插入图片描述

9、疫苗上架的功能界面图:

在这里插入图片描述

10、订阅的用户信息管理

在这里插入图片描述

11、预约的用户信息管理

在这里插入图片描述

12、预约的用户信息管理详情页,后台管理员也可以手动为客户修改预约日期

在这里插入图片描述

13、导出订阅用户

<?php
namespace app\store\controller;
use think\Db;
use think\Log;

Class Output extends Controller
{
	/**
	 * 导出订阅用户
	 */
	public function outExcel(){
		vendor("PHPExcel.PHPExcel");
		//实例化phpexcel对象
		$objPHPExcel = new \PHPExcel();
		$orders = session('output_orders');
		// 给表格添加数据
		$objPHPExcel->setActiveSheetIndex(0)
		            ->setCellValue('A1', '名字')
		            ->setCellValue('B1', '排号')
		            ->setCellValue('C1', '电话')
					->setCellValue('D1', '疫苗种类')
					->setCellValue('E1', '年龄')
					->setCellValue('F1', '出生日期')
					->setCellValue('G1', '身份证号')
					->setCellValue('H1', '发货状态')
					->setCellValue('I1', '订阅时间')
					->setCellValue('J1', '发货时间')
					->setCellValue('K1', '渠道来源')
					->setCellValue('L1', '分销员');
		$arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L'];
		$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(15);
		$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(10);
		$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(15);
		$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(25);
		$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(10);
		$objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(15);
		$objPHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(25);
		$objPHPExcel->getActiveSheet()->getColumnDimension('H')->setWidth(15);
		$objPHPExcel->getActiveSheet()->getColumnDimension('I')->setWidth(20);
		$objPHPExcel->getActiveSheet()->getColumnDimension('J')->setWidth(20);
		$objPHPExcel->getActiveSheet()->getColumnDimension('K')->setWidth(15);
		$objPHPExcel->getActiveSheet()->getColumnDimension('K')->setWidth(15);
		for($i = 0; $i < count($arr); $i++){
			$objPHPExcel->getActiveSheet()->getStyle($arr[$i].'1')->getFont()->setBold(true);
			$objPHPExcel->getActiveSheet()->getStyle($arr[$i].'1')->getFont()->setSize(12);
			$objPHPExcel->getActiveSheet()->getStyle($arr[$i].'1')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
			$objPHPExcel->getActiveSheet()->getStyle($arr[$i].'1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
		}
		$objPHPExcel->getActiveSheet()->getRowDimension(1)->setRowHeight(30);
		for($i = 2; $i <= count($orders) + 1; $i++){
			$objPHPExcel->getActiveSheet()->getStyle('A'.$i)->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
			$objPHPExcel->getActiveSheet()->getStyle('A'.$i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
			$objPHPExcel->getActiveSheet()->getStyle('B'.$i)->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
			$objPHPExcel->getActiveSheet()->getStyle('B'.$i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
			$objPHPExcel->getActiveSheet()->getStyle('C'.$i)->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
			$objPHPExcel->getActiveSheet()->getStyle('C'.$i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
			$objPHPExcel->getActiveSheet()->getStyle('D'.$i)->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
			$objPHPExcel->getActiveSheet()->getStyle('D'.$i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
			$objPHPExcel->getActiveSheet()->getStyle('E'.$i)->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
			$objPHPExcel->getActiveSheet()->getStyle('E'.$i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
			$objPHPExcel->getActiveSheet()->getStyle('F'.$i)->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
			$objPHPExcel->getActiveSheet()->getStyle('F'.$i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
			$objPHPExcel->getActiveSheet()->getStyle('G'.$i)->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
			$objPHPExcel->getActiveSheet()->getStyle('G'.$i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
			$objPHPExcel->getActiveSheet()->getStyle('H'.$i)->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
			$objPHPExcel->getActiveSheet()->getStyle('H'.$i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
			$objPHPExcel->getActiveSheet()->getStyle('I'.$i)->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
			$objPHPExcel->getActiveSheet()->getStyle('I'.$i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
			$objPHPExcel->getActiveSheet()->getStyle('J'.$i)->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
			$objPHPExcel->getActiveSheet()->getStyle('J'.$i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
			$objPHPExcel->getActiveSheet()->getStyle('K'.$i)->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
			$objPHPExcel->getActiveSheet()->getStyle('K'.$i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
			$objPHPExcel->getActiveSheet()->getStyle('L'.$i)->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
			$objPHPExcel->getActiveSheet()->getStyle('L'.$i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
			if($orders[$i-2]['deliver_status'] == '1'){
				$deliver_status = "已发货";
			}elseif($orders[$i-2]['deliver_status'] == '-1'){
				$deliver_status = "已过期";
			}else{
				$deliver_status = "未发货";
			}
			$minus_time = time() - strtotime($orders[$i-2]['birthday']);
			$age = floor($minus_time/3600/24/365);
			$objPHPExcel->getActiveSheet()->setCellValue('A' . $i, $orders[$i-2]['user_name']);
			$objPHPExcel->getActiveSheet()->setCellValue('B' . $i, $orders[$i-2]['subscribe_id']);
			$objPHPExcel->getActiveSheet()->setCellValue('C' . $i, $orders[$i-2]['telephone']);
			$objPHPExcel->getActiveSheet()->setCellValue('D' . $i, $orders[$i-2]['vaccines']);
			$objPHPExcel->getActiveSheet()->setCellValue('E' . $i, $age);
			$objPHPExcel->getActiveSheet()->setCellValue('F' . $i, $orders[$i-2]['birthday']);
			$objPHPExcel->getActiveSheet()->setCellValue('G' . $i, $orders[$i-2]['idcard']."\t");
			$objPHPExcel->getActiveSheet()->setCellValue('H' . $i, $deliver_status);
			$objPHPExcel->getActiveSheet()->setCellValue('I' . $i, $orders[$i-2]['create_time']);
			$objPHPExcel->getActiveSheet()->setCellValue('J' . $i, $orders[$i-2]['deliver_time']);
			$objPHPExcel->getActiveSheet()->setCellValue('K' . $i, $orders[$i-2]['channel']);
			$objPHPExcel->getActiveSheet()->setCellValue('l' . $i, $orders[$i-2]['name']);
		}
		$objPHPExcel->getActiveSheet()->setTitle('订阅用户');
		//激活当前表
		$objPHPExcel->setActiveSheetIndex(0);
		ob_end_clean();//清除缓冲区,避免乱码
		$name = '订阅用户_'.date('YmdHis').'.xlsx';
		//弹出提示下载文件
		header('pragma:public');
		header("Content-Disposition:attachment;filename=".$name);
		header('Cache-Control: max-age=0');
		$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
		$objWriter->save('php://output');
	}

14、导出预约用户Excel表单

	/**
	 * 导出预约用户
	 */
	public function outExcel2(){
		vendor("PHPExcel.PHPExcel");
		//实例化phpexcel对象
		$objPHPExcel = new \PHPExcel();
		$orders = session('output_orders2');
		// 给表格添加数据
		$objPHPExcel->setActiveSheetIndex(0)
		            ->setCellValue('A1', '名字')
		            ->setCellValue('B1', '针次')
		            ->setCellValue('C1', '电话')
					->setCellValue('D1', '疫苗种类')
					->setCellValue('E1', '年龄')
					->setCellValue('F1', '出生日期')
					->setCellValue('G1', '身份证号')
					->setCellValue('H1', '接种状态')
					->setCellValue('I1', '下单时间')
					->setCellValue('J1', '预约日期')
					->setCellValue('K1', '预约时段')
					->setCellValue('L1', '渠道来源')
					->setCellValue('M1', '分销员');
		$arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M'];
		$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(15);
		$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(10);
		$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(15);
		$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(25);
		$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(10);
		$objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(15);
		$objPHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(25);
		$objPHPExcel->getActiveSheet()->getColumnDimension('H')->setWidth(15);
		$objPHPExcel->getActiveSheet()->getColumnDimension('I')->setWidth(20);
		$objPHPExcel->getActiveSheet()->getColumnDimension('J')->setWidth(15);
		$objPHPExcel->getActiveSheet()->getColumnDimension('K')->setWidth(15);
		$objPHPExcel->getActiveSheet()->getColumnDimension('L')->setWidth(15);
		$objPHPExcel->getActiveSheet()->getColumnDimension('M')->setWidth(15);
		for($i = 0; $i < count($arr); $i++){
			$objPHPExcel->getActiveSheet()->getStyle($arr[$i].'1')->getFont()->setBold(true);
			$objPHPExcel->getActiveSheet()->getStyle($arr[$i].'1')->getFont()->setSize(12);
			$objPHPExcel->getActiveSheet()->getStyle($arr[$i].'1')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
			$objPHPExcel->getActiveSheet()->getStyle($arr[$i].'1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
		}
		$objPHPExcel->getActiveSheet()->getRowDimension(1)->setRowHeight(30);
		for($i = 2; $i <= count($orders) + 1; $i++){
			$objPHPExcel->getActiveSheet()->getStyle('A'.$i)->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
			$objPHPExcel->getActiveSheet()->getStyle('A'.$i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
			$objPHPExcel->getActiveSheet()->getStyle('B'.$i)->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
			$objPHPExcel->getActiveSheet()->getStyle('B'.$i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
			$objPHPExcel->getActiveSheet()->getStyle('C'.$i)->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
			$objPHPExcel->getActiveSheet()->getStyle('C'.$i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
			$objPHPExcel->getActiveSheet()->getStyle('D'.$i)->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
			$objPHPExcel->getActiveSheet()->getStyle('D'.$i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
			$objPHPExcel->getActiveSheet()->getStyle('E'.$i)->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
			$objPHPExcel->getActiveSheet()->getStyle('E'.$i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
			$objPHPExcel->getActiveSheet()->getStyle('F'.$i)->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
			$objPHPExcel->getActiveSheet()->getStyle('F'.$i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
			$objPHPExcel->getActiveSheet()->getStyle('G'.$i)->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
			$objPHPExcel->getActiveSheet()->getStyle('G'.$i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
			$objPHPExcel->getActiveSheet()->getStyle('H'.$i)->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
			$objPHPExcel->getActiveSheet()->getStyle('H'.$i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
			$objPHPExcel->getActiveSheet()->getStyle('I'.$i)->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
			$objPHPExcel->getActiveSheet()->getStyle('I'.$i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
			$objPHPExcel->getActiveSheet()->getStyle('J'.$i)->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
			$objPHPExcel->getActiveSheet()->getStyle('J'.$i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
			$objPHPExcel->getActiveSheet()->getStyle('K'.$i)->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
			$objPHPExcel->getActiveSheet()->getStyle('K'.$i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
			$objPHPExcel->getActiveSheet()->getStyle('L'.$i)->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
			$objPHPExcel->getActiveSheet()->getStyle('L'.$i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
			$objPHPExcel->getActiveSheet()->getStyle('M'.$i)->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
			$objPHPExcel->getActiveSheet()->getStyle('M'.$i)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
			if($orders[$i-2]['number'] == '1'){
				$number = "第一针";
			}elseif($orders[$i-2]['number'] == '2'){
				$number = "第二针";
			}elseif($orders[$i-2]['number'] == '3'){
				$number = "第三针";
			}
			if($orders[$i-2]['status'] == '1'){
				$status = "已完成";
			}elseif($orders[$i-2]['status'] == '2'){
				$status = "已过期";
			}elseif($orders[$i-2]['status'] == '-1'){
				$status = "已取消";
			}else{
				$status = "待接种";
			}
			$minus_time = time() - strtotime($orders[$i-2]['birthday']);
			$age = floor($minus_time/3600/24/365);
			$objPHPExcel->getActiveSheet()->setCellValue('A' . $i, $orders[$i-2]['user_name']);
			$objPHPExcel->getActiveSheet()->setCellValue('B' . $i, $number);
			$objPHPExcel->getActiveSheet()->setCellValue('C' . $i, $orders[$i-2]['telephone']);
			$objPHPExcel->getActiveSheet()->setCellValue('D' . $i, $orders[$i-2]['vaccines']);
			$objPHPExcel->getActiveSheet()->setCellValue('E' . $i, $age);
			$objPHPExcel->getActiveSheet()->setCellValue('F' . $i, $orders[$i-2]['birthday']);
			$objPHPExcel->getActiveSheet()->setCellValue('G' . $i, $orders[$i-2]['idcard']."\t");
			$objPHPExcel->getActiveSheet()->setCellValue('H' . $i, $status);
			$objPHPExcel->getActiveSheet()->setCellValue('I' . $i, $orders[$i-2]['order_time']);
			$objPHPExcel->getActiveSheet()->setCellValue('J' . $i, $orders[$i-2]['appoint_date']);
			$objPHPExcel->getActiveSheet()->setCellValue('K' . $i, $orders[$i-2]['appoint_time']);
			$objPHPExcel->getActiveSheet()->setCellValue('L' . $i, $orders[$i-2]['channel']);
			$objPHPExcel->getActiveSheet()->setCellValue('M' . $i, $orders[$i-2]['name']);
		}
		$objPHPExcel->getActiveSheet()->setTitle('预约用户');
		//激活当前表
		$objPHPExcel->setActiveSheetIndex(0);
		ob_end_clean();//清除缓冲区,避免乱码
		$name = '预约用户_'.date('YmdHis').'.xlsx';
		//弹出提示下载文件
		header('pragma:public');
		header("Content-Disposition:attachment;filename=".$name);
		header('Cache-Control: max-age=0');
		$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
		$objWriter->save('php://output');
	}
}

15、需要开发医院在线预约管理系统的 可以QQ扫一扫:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1248840.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

力扣刷题篇之排序算法

系列文章目录 前言 本系列是个人力扣刷题汇总&#xff0c;本文是排序算法。刷题顺序按照[力扣刷题攻略] Re&#xff1a;从零开始的力扣刷题生活 - 力扣&#xff08;LeetCode&#xff09; 这个之前写的左神的课程笔记里也有&#xff1a; 左程云算法与数据结构代码汇总之排序&am…

网络安全工程师就业前景怎么样?

网络安全工程师的就业前景整体来看是不错的&#xff0c;近些年的岗位需求总体呈现上升的趋势&#xff0c;可以说只要有互联网的存在&#xff0c;就会有网络安全工程师的一席之地。不过现在企业更缺乏资深技术人才&#xff0c;如果只学会了皮毛&#xff0c;可能不会很好就业。 网…

推荐几款优秀的Chrome插件,值得收藏!

文章目录 1、Tampermonkey2、WeTab3、Chrono下载管理器4、AdBlock5、Cookie-Editor 1、Tampermonkey 使用用户脚本自由地改变网络&#xff0c;提升您的浏览体验&#xff0c;使用篡改猴&#xff01;&#x1f310;&#x1f680; 篡改猴是一款功能强大的浏览器扩展功能&#xff0c…

python与C++与TensorRT的绑定

绑定的起因 Jetpack中的TensorRT不能直接在python3.8环境中使用,所以我们需要对TensorRT利用pybind11对python相进性绑定。 绑定的官方链接如下:点击这里 这个是8.2版本的,你可以使用其他版本也是可以的。 整个过程可以在虚拟环境中完成,主要是想最后的whl文件 在Jetson…

【快速解决】使用IDEA快速搭建SpringBoot项目(超详细)

前言 Spring Boot是Spring Framework的一款脚手架式框架&#xff0c;可以帮助开发者快速构建基于Spring的企业级应用程序。本篇博客将介绍如何使用IntelliJ IDEA&#xff08;以下简称IDEA&#xff09;来快速搭建一个Spring Boot项目。 目录 ​编辑 前言 使用IDEA快速搭建Spri…

react的开发中关于图片的知识

React是一个流行的JavaScript库&#xff0c;用于构建用户界面。在React开发中&#xff0c;图片是一个非常重要的元素&#xff0c;可以用于美化界面和展示内容。本篇博客将详细讲解React中关于图片的知识。 1. React中使用图片 在React中使用图片非常简单&#xff0c;只需要使…

链表经典面试题

1 回文链表 1.1 判断方法 第一种&#xff08;笔试&#xff09;&#xff1a; 链表从中间分开&#xff0c;把后半部分的节点放到栈中从链表的头结点开始&#xff0c;依次和弹出的节点比较 第二种&#xff08;面试&#xff09;&#xff1a; 反转链表的后半部分&#xff0c;中间节…

用户隐私与游戏体验如何平衡?第二周 Web3 开发者集结精华回顾

由 TinTinLand 联合 Dataverse 、Web3Go 、Subquery 、Cregis 、Litentry、Aspecta、SpaceID、ANOME、VARA&Gear、Moonbeam、Mantle、Obelisk 等 10 余家 Web3 项目共同举办的 Web3 开发者赢积分活动已举办至第三周。精彩线上主题活动分享、近距离交流体验互动&#xff0c;…

PostgreSQL Patroni 3.0 新功能规划 2023年 纽约PG 大会 (音译)

开头还是介绍一下群&#xff0c;如果感兴趣PolarDB ,MongoDB ,MySQL ,PostgreSQL ,Redis, Oceanbase, Sql Server等有问题&#xff0c;有需求都可以加群群内有各大数据库行业大咖&#xff0c;CTO&#xff0c;可以解决你的问题。加群请联系 liuaustin3 &#xff0c;&#xff08;…

AlDente Pro v1.22.2(mac电池最大充电限制工具)

AlDente Pro是一款适用于Mac操作系统的小工具&#xff0c;可以帮助您限制电池充电量以延长电池寿命。通常情况下&#xff0c;电池在充满的状态下会继续接受电源充电&#xff0c;这可能会导致电池寿命缩短。使用AlDente Pro&#xff0c;您可以设置电池只充到特定的充电水平&…

TYPE-C、PD原理

一、Type-C简介以及历史 自1998年以来&#xff0c;USB发布至今&#xff0c;USB已经走过20个年头有余了。在这20年间&#xff0c;USB-IF组织发布N种接口状态&#xff0c;包括A口、B口、MINI-A、MINI-B、Micro-A、Micro-B等等接口形态&#xff0c;由于各家产品的喜好不同&#x…

Azkaban极简使用文档

登录 地址: http://服务器ip:8081/, 用户名密码默认都是azkaban 构建项目流程 添加Project 编写工作流文件 在本机新建文件夹如test, 创建一个flow20.project 文件, 内容 azkaban-flow-version: 2.0(固定步骤)编写flow文件, 例如一个最基础的实例 test1.flow nodes:- name…

C语言剔除相关数(ZZULIOJ1204:剔除相关数)

题目描述 一个数与另一个数如果含有相同数字和个数的字符&#xff0c;则称两数相关。现有一堆乱七八糟的整数&#xff0c;里面可能充满了彼此相关的数&#xff0c;请你用一下手段&#xff0c;自动地将其剔除。 输入&#xff1a;多实例测试。每组数据包含一个n(n<1000)&#…

Pbootcms商城插件,支持购物车、订单、支付管理等

pbootcms商城插件上线&#xff0c;可以实现简单的商品管理、商品购买、加入购物车、购物车批量购买、以及后台的订单管理&#xff0c;发货管理、改价功能&#xff0c;支付信息管理等功能&#xff0c;满足商城基本功能后台效果截图&#xff1a; 前端效果截图&#xff1a; 演示网…

【Golang】解决使用interface{}解析json数字会变成科学计数法的问题

在使用解析json结构体的时候&#xff0c;使用interface{}接数字会发现变成了科学计数法格式的数字&#xff0c;不符合实际场景的使用要求。 举例代码如下&#xff1a; type JsonUnmStruct struct {Id interface{} json:"id"Name string json:"name"…

基于Vue+SpringBoot的天沐瑜伽馆管理系统

项目编号&#xff1a; S 039 &#xff0c;文末获取源码。 \color{red}{项目编号&#xff1a;S039&#xff0c;文末获取源码。} 项目编号&#xff1a;S039&#xff0c;文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 瑜伽课程模块2.3 课…

C语言—指针和数组

写在前 一个指针变量指向某个普通变量&#xff0c;则指针变量就等于普通变量。 指针变量存放的是地址&#xff0c;普通变量存放的是数据。 int * p; int i5,j; p &i;此程序&#xff0c;*pi5&#xff0c;在所有出现 *p 或 i 的位置&#xff0c;两者都可以互相替换。 通过…

无人机巡检如何做到实时识别,从数据到模型全流程解读

在数字化和自动化飞速发展的今天&#xff0c;AI识别算法正在加速进入行业生产系统。 基于巡检数据的智能开发&#xff0c;识别算法突破性进展的核心驱动力在于需求——从全天候巡视的平安城市&#xff0c;到潮汐变化的交通网络&#xff0c;从广阔的水域&#xff0c;到繁忙的街道…

【2023.11.23】JDBC基本连接语法学习➹

1.导入jar包依赖&#xff1a;mysql-connector-java-8.0.27.jar 2.连接数据库&#xff01; 3.无法解析类->导入java.sql.*&#xff0c;&#xff08;将项目方言改为Mysql&#xff09; JDBC&#xff0c;启动&#xff01;&#xff01; public class Main {public static voi…

c语言-浅谈指针(4)

文章目录 1.回调函数概念举例 2.qsort函数qsort的使用 3.通过冒泡排序来模拟qsort函数排序int类型排序结构体类型 这是指针最后一篇了喔&#xff0c;完结撒花 ! 前三篇&#xff1a; 浅谈指针&#xff08;1&#xff09;http://t.csdnimg.cn/JTRjW 浅谈指针&#xff08;2&#xf…