在service父工程的pom中增加nacos依赖:
com.alibaba.cloud spring-cloud-starter-alibaba-nacos-discovery
修改service_hosp的配置文件:
nacos服务地址spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
service_hosp服务的启动类增加nacos注解:
医院列表api接口@EnableDiscoveryClient //nacos注册使
service_hosp服务编写controller:
impl实现类中分页的逻辑:
1.2 service-cmn模块提供接口
这里是提供查询的接口:
由于我们的医院等级、省市区地址都是取的数据字典value值,因此我们在列表显示医院等级与医院地址时要根据数据字典value值获取数据字典名称
通过学习数据字典我们知道,根据上级编码与value值可以获取对应的数据字典名称,如果value值能够保持唯一(不一定唯一),我们也可以直接通过value值获取数据字典名称,目前省市区三级数据我们使用的是国家统计局的数据,数据编码我们就是数据字典的id与value,所以value能够唯一确定一条数据字典,如图:
在yygh_parent下搭建子模块:
复制controller接口:
、
启动数据字典模块和service_hosp模块:
打开这个注释:
测试成功;
前端的页面:
省市联动的接口:
前端页面开始:
效果:
页面:
this. fetchData(this.page);
页面的省份在这里显示:
测试遇到问题:
问题总结:前端在这里卡住了:
市选择不显示的在数据那边给searchObj里面写上provinceCode:‘’,cityCode:''或者使用强制渲染
选择了市不显示 的可以修改@change为$forceUpdate()
cityChange()自己加一下吧 和provinceChange()差不多的
不显示市的,去实现cityChanged方法,里面调用查所有医院的方法
//更新医院上线状态 @ApiOperation("更新医院上线状态") @GetMapping("updateHospStatus/{id}/{status}") public Result updateHospStatus(@PathVariable String id, @PathVariable Integer status){ hospitalService.updateStatus(id,status); return Result.ok(); }
@Override // //更新医院上线状态 public void updateStatus(String id, Integer status) { //根据id查询医院信息 Hospital hospital = hospitalRepository.findById(id).get(); //设置修改的值,本质就是修改医院status hospital.setStatus(status); hospital.setUpdateTime(new Date()); hospitalRepository.save(hospital); }
医院详情接口:
后台接口测试:
查看详情的按钮:
复制页面show组件
根据医院编号就可以查出此医院的所有科室信息:
科室结构: