基于springboot的生鲜门店配送管理系统(idea+springboot+html+thymeleaf)

一、系统简介


本项目采用idea工具开发,html+springboot+mybatis+jquery+thymeleaf技术编写,数据库采用的是mysql,navicat开发工具。

系统一共分为5个角色分别是:管理员,接单员,调度员,司机,门店

二、模块简介

管理员

1、登录

2、统计管理

3、门店管理

4、生鲜管理

5、接单员管理

6、调度员管理

7、司机管理

8、汽车管理

9、订单管理

10、公告管理

接单员

1、登录

2、个人信息管理

3、查看订单

4、处理订单,给调度员

5、查看公告

调度员

1、登录

2、个人信息管理

3、查看订单

4、处理订单,分配司机,分配车

5、查看公告

门店

1、登录

2、个人信息管理

3、查看订单

4、查看生鲜

5、申请生鲜

6、签收订单

7、查看公告

8、管理地址

司机

1、登录

2、个人信息管理

3、查看订单

4、配送生鲜

5、还车

6、查看公告

项目简介:
难度等级:✩✩✩
用户类型:5角色( 管理员,接单员,调度员,司机,门店)
设计模式:MVC
项目架构:B/S架构
开发语言:Java语言
前端技术:bootstrap+HTML、CSS、JS、JQuery、thymeleaf等
后端技术:springboot+mybatis框架
运行环境:Windows7或10、JDK1.8
运行工具:本系统采用idea开发,仅支持idea运行,不支持MyEclipse和eclipse运行,因为三者的骨架不一样,强行导入打开运行可能会导致出现未知的错误。
数  据  库:MySQL5.5/5.7/8.0版本
是否基于Maven环境:是
是否采用框架:是
数据库表数量:12张表
JSP页面数量:30多张
是否有分页:有分页

获取方式:xystgl · master · 码盗_java_bishe / java系统 · GitCode

相关截图

相关代码

登录

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>登录</title>
    <link rel="icon" th:href="@{/public/favicon.ico}" type="image/x-icon"/>
    <link rel="bookmark" th:href="@{/public/favicon.ico}" type="image/x-icon"/>
    <link rel="stylesheet" type="text/css"  th:href="@{/css/bootstrap.css}">
    <link rel="stylesheet" type="text/css"  th:href="@{/css/back.css}">
    <link rel="stylesheet" type="text/css"  th:href="@{/css/bootstrap-theme.css}">
    <script type="text/javascript" th:src="@{/js/jquery-3.6.0.js}"></script>
    <script type="text/javascript" th:src="@{/js/login.js}"></script>
    <script>
        $(function() {
            //防止页面后退
            history.pushState(null, null, document.URL);
            window.addEventListener('popstate', function () {
                history.pushState(null, null, document.URL);
            });
        })
    </script>
</head>
<body onload="loadTopWindow()">
<div id="magicalDragScene" class="mc-root mc-ui-absolute-pane">
    <h1 style="margin-left: 30%;margin-top: 8%;font-family: 隶书;font-size: 60px;color: white" >豪海生鲜门店配送管理系统</h1>
    <br>
    <div id="tmd" style="margin-left: 35%;width: 25%;height: 300px;">
        <form style="margin: 0 auto;width: 80%;height: 300px;" th:action="@{/loginUser}" method="post" onsubmit="return regCheck()">
            <h1 class="h3 mb-3 font-weight-normal" style="color:white;font-family: 隶书;text-align: center;" >登录</h1>
            <input id="username" name="username" class="layui-input" type="text"  th:placeholder="请填写用户名"/>
            <input id="password" name="password" class="layui-input" style="margin-top: 5px" type="password" th:placeholder="请填写用户密码" origin-type="password"/>
            <br>
            <select name="type" class="form-control" style="width: 75%">
                <option value="1" selected>管理员</option>
                <option value="2">接单员</option>
                <option value="3">调度员</option>
                <option value="4">司机</option>
                <option value="5">门店</option>
            </select>
            <!--<input  name="type" value="1" style="margin-top: 5px" type="radio" checked/>管理员
            <input  name="type" value="2" style="margin-top: 5px" type="radio" />救助者-->

            <!--   <input name="remember" type="checkbox" style="margin-top: 15px;">&nbsp;<span style="color: #43a047;" ></span>-->
           <span id="statusTip" style="color: #d62727;font-size: 15px;margin-left: 40%" th:text="${status}"></span><br>
          <!--  <div class="form-check form-check-inline"></div>-->

            <!--<p class="mt-5 mb-3 text-muted text-sm-right" style="margin-top: 10px"><span >还没有账号,</span>
                <a class="text-info" th:href="@{/toReg}" draggable="false" style="color: #43a047" >求助者注册</a>
                <a class="text-info" th:href="@{/toReg2}" style="color: #00a1d6;margin-left: 2px" >救援者注册</a>
            </p>-->
            <button class="layui-btn1" style="width: 300px;height: 40px;font-size: 16px;margin-top: 50px;color: white" type="submit">登录</button>
        </form>
    </div>
    <br>
 <!--   <a style="color: white;margin-left: 75%" th:href="@{/login.html(language='zh_CN')}">中文</a>&nbsp;&nbsp;&nbsp;&nbsp;
    <a style="color: white" th:href="@{/login.html(language='en_US')}">English</a>-->


</div>

</body>
</html>

    /**
     * 登录
     * @param username
     * @param password
     * @param type
     * @param httpSession
     * @param model
     * @return
     * @throws UnsupportedEncodingException
     */
    @RequestMapping(value = "/loginUser",method = RequestMethod.POST)
    public String loginUser( String username,String password, String type,HttpSession httpSession, Model model) throws UnsupportedEncodingException {
        Admin admin = new Admin();
        if(type !=null&& type.equals("1")){
            admin = loginService.selectAdmin(username,password);
            if (admin != null){
                httpSession.setAttribute("username",admin.getUsername());
                httpSession.setAttribute("admin",admin);
                httpSession.setAttribute("type",type);
                model.addAttribute("type",type);

                return "home/homepage";
            }else{
                model.addAttribute("status","账号或者密码输入错误!");
                return "login";
            }
        }
       else if(type.equals("2")){//接单员
            User user = loginService.selectUser(username,password,"1");
            if(user != null){
                httpSession.setAttribute("username",user.getNames());
                httpSession.setAttribute("user",user);
                httpSession.setAttribute("type",type);
                model.addAttribute("type",type);
                return "home/homepage";
            }else{
                model.addAttribute("status","账号或者密码输入错误!");
                return "login";
            }
        }else if(type.equals("3")){//调度员
            User user = loginService.selectUser(username,password,"2");
            if(user != null){
                httpSession.setAttribute("username",user.getNames());
                httpSession.setAttribute("user",user);
                httpSession.setAttribute("type",type);
                model.addAttribute("type",type);

                return "home/homepage";
            }else{
                model.addAttribute("status","账号或者密码输入错误!");
                return "login";
            }
        }else if(type.equals("5")){//门店
            Store store = loginService.selectStore(username,password);
            if(store != null){
                httpSession.setAttribute("username",store.getNames());
                httpSession.setAttribute("store",store);
                httpSession.setAttribute("type",type);
                model.addAttribute("type",type);

                return "home/homepage";
            }else{
                model.addAttribute("status","账号或者密码输入错误!");
                return "login";
            }
        }else if(type.equals("4")){//司机
            Driver driver = loginService.selectDriver(username,password);
            if(driver != null){
                httpSession.setAttribute("username",driver.getNames());
                httpSession.setAttribute("driver",driver);
                httpSession.setAttribute("type",type);
                model.addAttribute("type",type);

                return "home/homepage";
            }else{
                model.addAttribute("status","账号或者密码输入错误!");
                return "login";
            }
        }else{
            model.addAttribute("status","账号或者密码输入错误!");
            return "login";
        }
    }

其他模块代码都是类似的,此项目适合初学者学习借鉴
喜欢的朋友的点赞加关注,感兴趣的同学可以研究!!!!!

项目截图中的数据,很多是用来测试的,需要自行添加合适的数据图片!!
非开源!!!!!! 感谢  = v =

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
.2.2 职工需求描述 对于职工来说,职工可以修改其密码信息,查询其基本信息和工资信息,收发留言信息。 职工登陆 职工在登陆时输入自己的用户名和密码,如无误后进入职工信息中心界面。默认的密码由管理员分配。如果密码错误则提示密码出错请重新输入,职工可以返回登陆界面。 职工密码修改 职工在登陆后,可以修改自己的密码。在修改密码界面中,需要两次输入自己的新密码,然后系统经过判断修改密码。下次可以通过新密码登陆系统。 职工考勤信息查询 在职工登陆后,进入考勤查询界面,页面给出每月的考勤信息,点击相应的年月,可以查看自己每个月的考勤记录详细信息。 职工工资信息查询 进入查询界面,职工可以查看详细工资情况,职工可以通过选择月份,便可以查询职工固定月份的工资信息。职工还可以查询自己的奖惩信息。 职工留言管理 职工可以向管理员发送留言,查看管理员发送给自己的留言。 3.2.3 管理员需求描述 对于管理员来说,管理员的能够实现的功能是该工资管理系统的核心功能,包括员工基本档案信息的管理,工资的设定与计算,考勤记录与统计,奖惩或其他重要事项的记录,留言管理,科室信息管理等。 管理员登陆 管理员在登陆框选择身份为管理员,输入自己的管理员号以及密码。如无误后进入管理员界面。如果密码不正确则提示密码错误信息,需要重新输入,返回管理员登陆界面。 密码修改 管理员可以修改自己的密码,下次登陆时管理员就需要输入自己的新密码登陆系统。 科室管理 随着医院规模的扩大,医院可能需要增加某些科室,修改科室信息等,管理员登陆系统后,可以对科室信息进行管理、操作。 员工信息管理 管理员登陆后,可以进行查看员工信息,增加员工,修改员工信息,删除员工信息等操作。 员工奖惩信息管理 根据 人民医院管理制度,管理员可以使用系统记录每个员工的奖励 ,惩罚等其他重要信息,以便确定员工的工作状况,实现相应的奖励和处罚。 员工工资设置 管理员登陆系统后,可以设置每个员工的每月工资信息,其中工资项包括基本工资,基本津贴,财务人员需要为每个在职的员工设定基本工资与基本津贴。财务人员根据员工的具体工资情况,输入奖金,税率等,系统自动计算应发,扣发,实发等工资项。 工资统计与报表打印 统计每个月所有员工的工资信息,并提供报表打印功能。 留言管理模块 职工查看自己的工资信息后,如有问题,可以向财务人员(系统管理员)发送留言,管理员可以回复留言,删除留言信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码盗_java_bishe

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值