医院信息化与智能化系统(7)

医院信息化与智能化系统(7)

这里只描述对应过程,和可能遇到的问题及解决办法以及对应的参考链接,并不会直接每一步详细配置
如果你想通过文字描述或代码画流程图,可以试试PlantUML,告诉GPT你的文件结构,让他给你对应的代码

预约挂号微服务模块搭建

前端知识点补充,此章节不会详细讲具体前端的每个知识点

1、医院设置–前端列表

先在 router下的index.js文件添加医院设置路由,仿照之前的example写即可。

在这里插入图片描述

在views文件夹创建hospset文件夹,里面存放add.vuelist.vue文件,对应医院设置列表医院设置添加跳转,别忘记在router中的index.js上做相应的修改。

在创建的这两个文件内先添加一些内容,仿照table.vue,这里面的app-containersrc/sytles下的index.scss文件中的类

<template>
    <div class="app-container">
        医院设置列表
        </div>
</template>

接着创建一个api文件下的hospset.js定义后端接口路径(这里以后端条件查询带分页函数为例)

这里说几个点

首先current,limit指的是当前页,每页记录数,默认以url形式传递

searchObj 是查询封装实体类形参,在后端是以@RequestBody修饰,即以JSON形式传递

import request from '@/utils/request'

export default {
    getHospSetList(current,limit,searchObj){
      return request({
        url:`/admin/hosp/hospitalSet/findPageHospSet/${current}/${limit}`,
        method:'post',
        data: searchObj //使用json传递
        //如果你使用 params 来传递参数,查询参数会被拼接到 URL 的末尾
      })
    }
}

随后的工作是更改端口号ip,我们本地的服务端口设置的是8201

config/dev.env.js

BASE_API: '"http://localhost:8201"',这里不能用https,那是加密传输,需要额外操作。

既然我们已经在hospset.js提供了接口,接着就在list.vue中进行调用

这里注释说的很清楚

<templete>...</templete>
import {hospset} from '@/api/hospset'

export default{
//定义变量和初始值
    data(){
        return{
            current:1,//当前页
            limit:3,//每页显示记录数
            searchObj:{},//条件封装对象
            list:[]//每页数据集合
        }
    },created(){//在页面渲染之前执行
        //一般调用methods定义的方法,得到数据
        this.getList()

    },methods:{//定义方法,进行请求接口调用
        //医院设置列表
        getList(){
            hospset.getHospSetList(this.current,this.limit,this.searchObj)
                .then(response=>{//responce是接口返回数据
                    console.log(response)
                })//请求成功调用
                .catch(error =>{//error是返回的错误信息
                    console.log(error)
                })//请求失败调用
        }
    }
}

在进行测试之前,可以现在后端启动项目,使用swagger测试,其中发现,在使用mybatis-plus分页时,需要在HospConfig配置文件中正确注册该分页插件。

现在使用前端访问后端,首先面临的是跨域问题

跨域问题通常指的是在浏览器中,出于安全考虑,阻止一个域名的网页去请求另一个域名的资源。

访问协议不同(http)访问地址不同端口号不同,都将产生跨域问题。

解决方法是,在后端HospitalSetController类上添加@CrossOrigin注解,表示允许跨域访问

同时还要考虑的地方是请求状态码,在后端我们设置了一系列状态及对应状态码,在前端的utils/reque.js文件中对状态码进行了一定的设置,我们需要根据自己设置的状态码,进行对照修改。

    /**
     * code为非200是抛错 可结合自己业务进行修改
     */
    if (res.code !== 200) {
      Message({
        message: res.message,
        type: 'error',
        duration: 5 * 1000
      }

注意:这里在试前端的代码功能时,出了一个问题。后端调用的函数报了空指针异常

原因:HospitalSetQueryVo hospitalSetQueryVo这个查询条件可能为,所以在赋值hosnamehoscode前要先判断查询实例是否为空!!

  if(hospitalSetQueryVo!=null){
            String hosname = hospitalSetQueryVo.getHosname();//医院名称
            String hoscode = hospitalSetQueryVo.getHoscode();//医院编号
            if(!StringUtils.isEmpty(hosname)) {
                wrapper.like("hosname",hospitalSetQueryVo.getHosname());
            }
            if(!StringUtils.isEmpty(hoscode)) {
                wrapper.eq("hoscode",hospitalSetQueryVo.getHoscode());
            }
        }

最终实现了效果,在医院设置列表界面,右键检查,查看控制台,后续在list.vue中的方法getList,将响应的结果赋值给listtotal,前者表示查询的结果,后者表示查询到的个数

在这里插入图片描述
获取到了的数据,需要在前端以表格的形式展现,之前已经引入了element-ui,可以在该网站挑选好喜欢的表格风格,可以直接复制代码,在基础代码上做修改即可

网址:https://element.eleme.cn/#/zh-CN/component/table

前端展示页代码

<el-table>是 Element UI(一个基于 Vue.js 的组件库)提供的表格组件,用于展示数据。

stripe:这个属性是 el-table 的一个布尔属性,用来控制表格是否具有斑马条纹效果。如果你设置了这个属性,表格的每一行将交替显示不同的背景颜色

<el-table-column type="index" width="50" label="序号"/>Element UI 会自动生成行号,并按顺序排列,表头名字叫序号

<el-table-column prop="hosname" label="医院名称"/>prop 属性绑定表格中每行的数据属性,也就是说,它会从 list 数据中找出每一行的 hosname 字段并展示。

判断代码:状态列存储的数据是01===表示值和类型都相等判断

<template>
    <div class="app-container">
    
    <!-- banner列表 -->
    <el-table
    :data="list"
    stripe
          style="width: 100%">
    
    <el-table-column type="index" width="50" label = "序号"/>
    <el-table-column prop="hosname" label="医院名称"/>
    <el-table-column prop="hoscode" label="医院编号"/>
    <el-table-column prop="apiUrl" label="api基础路径" width="200"/>
    <el-table-column prop="contactsName" label="联系人姓名"/>
    <el-table-column prop="contactsPhone" label="联系人手机"/>
    <el-table-column label="状态" width="80">
    <template slot-scope="scope">
              {{ scope.row.status === 1 ? '可用' : '不可用' }}
    </template>
    </el-table-column>
    </el-table>
    </div>
    </template>

现在在前端界面可以看到表格数据了,但是只有单页,想要添加多页,可以继续使用Element-ui中的分页组件

在此之前,我们先在getList()方法上做一些修改,给它添加一个形参page,用于控制分页数,因为之前的current只有默认值1,不添加此处,后续无法修改。

在表格组件下方写分页代码
@current-change表示每次页数跳转都自动调用getList方法,并且page + 1

 <!-- 分页 -->
    <el-pagination
    :current-page="current"
    :page-size="limit"
    :total="total"
    style="padding: 30px 0; text-align: center;"
    layout="total, prev, pager, next, jumper"
    @current-change="getList"
    />

随后显示表单查询功能,根据条件进行查询。

v-model双向绑定,在输入医院名称、医院编号的时候,赋值给查询类实例searchObj,在点击查询后,按钮绑定getList()函数

该代码应在表格数据展示代码之

    <el-form :inline="true"  class="demo-form-inline">
      <el-form-item>
            <el-input    v-model="searchObj.hosname"  placeholder="医院名称"/>
      </el-form-item>
      <el-form-item>
            <el-input  v-model="searchObj.hoscode"  placeholder="医院编号"/>
      </el-form-item>
      <el-button  type="primary"  icon="el-icon-search"  @click="getList()">查询</el-button>
    </el-form>

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

最新PHP网盘搜索引擎系统源码 附教程

最新PHP网盘搜索引擎系统源码 附教程&#xff0c;这是一个基于thinkphp5.1MySQL开发的网盘搜索引擎&#xff0c;可以批量导入各大网盘链接&#xff0c;例如百度网盘、阿里云盘、夸克网盘等。 功能特点&#xff1a;网盘失效检测&#xff0c;后台管理功能&#xff0c;网盘链接管…

使用freemarker实现在线展示文档功能开发,包括数据填充

首先&#xff0c;在这个独属于程序员节日的这一天&#xff0c;祝大家节日快乐【求职的能找到心仪的工作&#xff0c;已经工作的工资翻倍】。 ---------------------------------------------------------------回到正文-----------------------------------------------------…

状态栏黑底白字后如何实现圆角以及固定状态栏

如何实现如下效果: 上述是将状态栏实现黑底白字+圆角+状态栏固定的逻辑 具体代码patch如下: From 6a3b8ed5d3f49a38d8f9d3e488314a66ef5576b8 Mon Sep 17 00:00:00 2001 From: andrew.hu <andrew.hu@quectel.com> Date: Fri, 18 Oct 2024 16:43:49 +0800 Subject: [P…

Next.js14快速上手

文章目录 ***客户端***什么是Next项目在线地址官方文档项目创建查看项目目录结构app属于根目录 ***服务端***vercel数据库prisma 客户端 什么是Next Next.js 是一个用于构建全栈 Web 应用程序的 React 框架。您可以使用 React Components 来构建用户界面&#xff0c;并使用 Ne…

Unity引擎:游戏开发的核心力量

目录 引言 Unity引擎的发展历程 早期发展 跨平台支持 Unity引擎的核心特性 易用性 社区支持 跨平台能力 Unity在游戏开发中的应用 移动游戏 独立游戏 3A游戏 Unity的未来展望 高级图形和渲染技术 扩展现实&#xff08;XR&#xff09;支持 云服务和多人游戏 结论…

excel中,将时间戳(ms或s)转换成yyyy-MM-dd hh:mm.ss或毫秒格式

问题 在一些输出为时间戳的文本中&#xff0c;按照某种格式显示更便于查看。 如下&#xff0c;第一列为时间戳(s)&#xff0c;第二列是转换后的格式。 解决方案&#xff1a; 在公式输入框中输入&#xff1a;yyyy/mm/dd hh:mm:ss TEXT((A18*3600)/8640070*36519, "yyy…

Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks

Abstract 图像到图像转换是一类视觉和图形问题&#xff0c;其目标是使用对齐图像对的训练集来学习输入图像和输出图像之间的映射。 然而&#xff0c;对于许多任务&#xff0c;配对训练数据将不可用。 我们提出了一种在没有配对示例的情况下学习将图像从源域 X 转换到目标域 Y …

Android 15自定义设置导航栏与状态栏,EdgeToEdge适配

背景&#xff1a;android api 35&#xff0c;activity设置EdgeToEdge.enable((ComponentActivity) this)前提下 一、设置导航栏与状态栏颜色 设置的状态栏颜色&#xff0c;只需要设置fitsSystemWindows跟setOnApplyWindowInsetsListener xml设置&#xff1a; 代码&#xff1a;…

没有AWS账号能不能在手机上使用AWS服务吗?

关于“没有AWS账号能不能在手机上使用AWS服务”这个问题&#xff0c;答案是不行的。要使用AWS&#xff08;亚马逊云服务&#xff09;提供的云服务&#xff0c;无论是在电脑还是手机上&#xff0c;都必须先创建一个AWS账号。AWS提供的各种云计算资源&#xff0c;比如EC2&#xf…

51单片机——OLED显示图片

取模软件&#xff1a;链接:https://pan.baidu.com/s/1UcrbS7nU4bsawNxsaaULfQ 提取码:gclc 1、如果图片大小和格式不合适&#xff0c;可以先用Img2Lcd软件进行调整图片大小&#xff0c;一般取模软件使用的是.bmp图片&#xff0c;可以进行输出.bmp格式。软件界面如下&#xff1…

ubuntu编译kaldi和vosk

文章目录 前言一、开源框架的选取二、kaldi编译三、编译vosk方案一方案二 前言 由于工作需要语音识别的功能&#xff0c;环境是在linux arm版上&#xff0c;所以想先在ubuntu上跑起来看一看&#xff0c;就找了一下语音识别的开源框架&#xff0c;选中了vosk这个开源库&#xf…

java控制台打印乘法口诀表

目录 前言具体代码完整代码 前言 背乘法口诀表我没记错话&#xff0c;应该是我们在上小学二年级的时候&#xff0c;相信大家对乘法表相当熟悉&#xff0c;那你知道如何用java打印这个漂亮的表吗&#xff1f;下面咱们一起来学习学习。 具体代码 数字乘法表 关键代码&#xf…

ffmpeg视频滤镜:腐蚀滤镜

滤镜简述 erosion 官网链接> FFmpeg Filters Documentation 这个滤镜会在视频上应用腐蚀操作&#xff0c;腐蚀操作是形态学中一种操作&#xff0c;接触过opencv的同学应该很熟悉。滤镜主要有如下作用&#xff1a; 去除噪声&#xff1a;腐蚀可以帮助去除图像中的小颗粒噪…

大尺寸反射式液晶显示模块行业分析:预计2030年全球市场规模将达到2,020.21百万美元

大尺寸反射式液晶显示模块&#xff08;Large-Size Reflective LCD Module&#xff09;是指采用反射显示技术的液晶显示屏&#xff0c;主要依赖自然光或环境光反射来显示内容&#xff0c;减少了对背光的依赖。这类显示屏常用于户外显示、公共信息系统、可穿戴设备及低能耗电子设…

GANDALF: 基于图的Transformer与数据增强主动学习框架,具有可解释特征的多标签胸部X光分类|文献速递-基于生成模型的数据增强与疾病监测应用

Title 题目 GANDALF: Graph-based transformer and Data Augmentation Active Learning Framework with interpretable features for multi-label chest Xrayclassification GANDALF: 基于图的Transformer与数据增强主动学习框架&#xff0c;具有可解释特征的多标签胸部X光分…

【Unity 安装教程】

Unity 中国官网地址链接 Unity - 实时内容开发平台 | 3D、2D、VR & AR可视化https://unity.cn/首先我们想要安装Unity之前&#xff0c;需要安装Unity Hub&#xff1a; Unity Hub 是 Unity Technologies 开发的一个集成软件&#xff0c;它为使用 Unity 引擎的开发者提供了一…

Linux巡检利器xsos的安装和使用

一、 一般项目基本完成的时候&#xff0c;后期运维工作的重点就是及时的&#xff0c;合理的频率巡检了&#xff0c;巡检的目的主要是及时发现各种各样的问题 那么&#xff0c;自己编写shell脚本是大部分人的第一选择&#xff0c;这里有个比较麻烦的地方&#xff0c;shell脚本…

ctfshow(259->261)--反序列化漏洞--原生类与更多魔术方法

Web259 进入界面&#xff0c;回显如下&#xff1a; highlight_file(__FILE__);$vip unserialize($_GET[vip]); //vip can get flag one key $vip->getFlag();题干里还提示了网站有一个flag.php界面&#xff0c;源代码如下&#xff1a; $xff explode(,, $_SERVER[HTTP_X…

开源限流组件分析(三):golang-time/rate

文章目录 本系列前言提供获取令牌的API数据结构基础方法tokensFromDurationdurationFromTokensadvance 获取令牌方法reverseN其他系列API 令人费解的CancelAt是bug吗 取消后无法唤醒其他请求 本系列 开源限流组件分析&#xff08;一&#xff09;&#xff1a;juju/ratelimit开源…

Apache Paimon Catalog

Paimon Catalog可以持久化元数据&#xff0c;当前支持两种类型的metastore&#xff1a; 文件系统&#xff08;默认&#xff09;&#xff1a;将元数据和表文件存储在文件系统中。hive&#xff1a;在 hive metastore中存储元数据。用户可以直接从 Hive 访问表。 2.2.1 文件系统…