首页 前端知识 基于django vue的养老退休管理系统(前后端分离)

基于django vue的养老退休管理系统(前后端分离)

2024-11-02 10:11:59 前端知识 前端哥 59 622 我要收藏

博主主页:猫头鹰源码
博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作
​主要内容:毕业设计(Javaweb项目|小程序|Python|HTML|数据可视化|SSM|SpringBoot|Vue|Jsp|PHP等)、简历模板、学习资料、面试题库、技术咨询
文末联系获取
感兴趣可以先收藏起来,以防走丢,有任何选题、文档编写、代码问题也可以咨询我们

项目介绍: 

本系统为最新原创项目,采用前后端分离,创作于2024年10月,项目代码工整,结构清晰,非常适用于毕业设计、课程设计或者学习等,适合选题:养老、养老管理、养老退休、前后端分离类其他养老话题等。系统采用django+vue整合开发,前端主要使用了vue、项目后端使用了django。

部分功能:

角色:管理员、家属

管理员:
老人信息管理:老人信息维护
健康档案管理:记录老年人健康状况、病史、用药情况等
家属管理:关联家属信息,便于家属了解老年人生活状况
服务项目展示:展示养老服务机构提供的服务项目,如生活照料、医疗护理、心理咨询等
预约服务:用户可根据需求预约养老服务
服务评价:用户对服务进行评价,提高服务质量
政策发布:发布国家和地方养老政策、优惠政策

费用查询:展示养老服务机构收费标准
费用支付:用户在线支付养老服务费用

家属:
老人信息管理:老年人姓名、年龄、性别、身份证号、住址
健康档案管理:记录老年人健康状况、病史、用药情况等
预约服务管理:查看自己的预约记录
服务评价管理:查看我的服务评价
费用管理:查看自己的费用,缴费
政策查询:用户可按关键词搜索相关政策

系统包含技术:

后端:django
前端:vue、js、css等
开发工具:pycharm/vscode
数据库:mysql 5.7
python版本:3.8

部分截图说明:

首页展示

服务信息

服务详情

政策信息

登录功能

家属管理

老人管理

健康档案管理

服务项目管理

预约

部分代码:

class ListView(generics.GenericAPIView):
    queryset = Articles.objects.order_by('-create_time')
    # 该视图在进行序列化或反序列化时使用的序列化器
    serializer_class = ArticlesSerializer
    pagination_class = MyPageNumberPagination

    def post(self, request):
        try:
            page = request.data.get("page")
            size = request.data.get("size")
            if page:  # 判断请求中是否有page和size参数
                request.query_params._mutable = True  # 让查询参数dict变为可编辑
                request.query_params['page'] = page  # 添加page查询参数
                if size:
                    request.query_params['size'] = size  # 添加size查询参数
                request.query_params._mutable = False  # 让查询参数dict变为不可编辑
            # 条件查询: __contains 模糊
            q1 = Q()
            q1.connector = 'AND'
            if request.data.get("image"):
                q1.children.append(('image', request.data.get("image")))
            if request.data.get("title"):
                q1.children.append(('title__contains', request.data.get("title")))
            if request.data.get("content"):
                q1.children.append(('content', request.data.get("content")))

            item_queryset = self.get_queryset().filter(q1).extra(select={
              })
            item_page = self.paginate_queryset(item_queryset)
            if item_page:
                # 将分页后的数据序列化
                item_serializer = ArticlesSerializer(instance=item_page, many=True)
                total = item_queryset.count()  # 总数据量
                return JsonResponse({'list': item_serializer.data,'total': total, 'code':0, 'msg':'获取成功'})
            serializer = ArticlesSerializer(instance=item_queryset, many=True)
            return JsonResponse({'list': serializer.data, 'code': 0, 'msg':'获取成功'})
        except (ParseError, NotFound) as e:
            print("出现如下异常%s" % e)
            return JsonResponse({'code': 1, 'msg':'请求错误'})


class SaveView(View):

    def post(self, request):
        data = json.loads(request.body.decode("utf-8"))
        print(data)
        if not 'id' in data: #添加
            json_data = request.body.decode("utf-8")
            try:
                dic = json.loads(json_data)
            except Exception as e:
                return JsonResponse({'code': 1, 'msg': '参数有误'})
            serializer_obj = ArticlesSerializer(data=dic)
            if not serializer_obj.is_valid():
                return JsonResponse({'code': 1, 'msg': serializer_obj.errors})
            Articles.objects.create(**serializer_obj.validated_data)
            return JsonResponse({'code': 0, 'msg': '添加成功'})
        else: #修改
            try:
                obj = Articles.objects.get(id=data['id'])
            except Exception as e:
                return JsonResponse({'code': 1, 'msg': '主键有误'})
            # 获取json参数并转化为字典
            try:
                dic = json.loads(request.body)
            except Exception as e:
                return JsonResponse({'code': 1, 'msg': '参数有误'})
            # 更新数据
            if 'image' in dic:
                obj.image = dic.get('image')
            if 'title' in dic:
                obj.title = dic.get('title')
            if 'content' in dic:
                obj.content = dic.get('content')
            obj.save()
            return JsonResponse({'code': 0, 'msg': '更新成功'})

以上就是部分功能展示,从整体上来看,本系统功能是十分完整的,界面设计简洁大方,交互友好,数据库设计也很合理,规模适中,代码工整,清晰,适合学习使用。

好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,下期见~

转载请注明出处或者链接地址:https://www.qianduange.cn//article/19740.html
标签
评论
发布的文章

JQuery中的load()、$

2024-05-10 08:05:15

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!