您好,欢迎来到华拓科技网。
搜索
您的当前位置:首页基于django+vue的养老退休管理系统(前后端分离)

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

来源:华拓科技网

项目介绍: 

本系统为最新原创项目,采用前后端分离,创作于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': '更新成功'})

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

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

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo6.cn 版权所有 赣ICP备2024042791号-9

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务