今天我们解决了一个困扰了我们很久的问题——isqr值的获取与使用。

功能的设想:通过isqr这个值来确定该耗材是否使用二维码管理,在新增耗材种类的时候加入该属性(选择是或否),并写入数据库,在显示库存数据的时候通过耗材的id查找该值,以此决定是否显示二维码并扫码出入库。

遭遇的问题:
        1.前后端调用不一致。
        在问题的初始阶段,在前端调用getIsQR方法,但是在后端没有进行相应的调用。此时getIsQr的方法在create()中的getList内调用。

getList() {/**略*/getIsQr(this.dataStock.reagentId);
}
getIsQr(this.dataStock.reagentId).then(response => {this.listLoading = false;this.isQr = response.data;});

api调用代码:

export function getIsQr (params) {return request({url: '/baseInfo/getisQR',method: 'get',params: params})
}

通过debug发现后端并未调用相应的方法

@ApiOperation("获取是否使用二维码")@RequestMapping(value = "/getisQR", method = RequestMethod.GET)@ResponseBodypublic CommonResult<String> getisQR(@RequestBody ReagentStock reagentStock) {String bool=baseInfoService.searchbycode(reagentStock);return CommonResult.success(bool);}

问题的解决:将getIsQr()方法独立出来并在created()里直接调用

created() {this.getList();this.getStock();this.getIsQr();},
/**中间代码略
*/
methods: {getIsQr(){getIsQr(listQuery).then(response => {this.isQr = response.data;})},

2.无法正常传递参数。
在解决了上面的问题后,又出现了新的问题,从前端将参数传入后端时总是报错。
错误为400 Bad Request

解决办法:将方法的属性"get"改为"post"

export function getIsQr(data) {return request({url: '/baseInfo/getisQR',method: 'post',data: data})
}

3.不能传递正确的参数。
通过debug,发现每次传递进来的参数为空,更改参数后数据的格式不匹配。

null是因为使用的参数不正确。
修改后格式不匹配是因为没有在传入的时候定义为.json文件

解决办法:把后端调用方法时形参列表中的形参类型定义为JSONObject并重写该代码

@ApiOperation("获取是否使用二维码")@RequestMapping(value = "/getisQR", method = RequestMethod.POST)@ResponseBodypublic CommonResult<String> getisQR(@RequestBody JSONObject id) {String stocknum=id.getString("keyword");String bool=baseInfoService.searchbycode(stocknum);return CommonResult.success(bool);}

具体实现:

@Overridepublic String searchbycode(String stocknum){String reagentid=baseInfoMapper.getreagentid(stocknum);String isqr =baseInfoMapper.selectByPrimaryKey(Long.valueOf(reagentid)).getisQR();return isqr;}

代码得到了正确的运行,isqr值为“否”的耗材不再显示二维码。

如图所示

isqr为“是”的针头和isqr为“否”的纸

最终困扰了我们了两个多月的问题终于得到了完美的解决。

山东大学项目实训开发日志——基于vue+springboot的医院耗材管理系统(16)相关推荐

  1. 山东大学项目实训开发日志——基于vue+springboot的医院耗材管理系统(2)

    因为我主要负责前端的内容,因此本专栏主要记录前端页面的一些设计. 首先是前端逻辑的整理,按照一般流程,耗材的管理系统应该有两级库,即中心库和各个科室库.角色应当有管理员,中心库库管,科室库库管,供货商 ...

  2. 山东大学项目实训开发日志——基于vue+springboot的医院耗材管理系统(14)

    我们解决了一个逻辑上的问题: 1.医院向供货商下单,如果供货商一时不能提供足够的数量,应该怎么办. 2.科室库向中心库提交申请,如果中心库库存不满足申请的数量,应该怎么办. 经过一番讨论,对于第一个问 ...

  3. 山东大学项目实训小组一——基于深度学习的AI视频剪辑器“易剪”

    技术要点:图像处理 计算机视觉 深度学习 多媒体前端 一.项目研究背景: 随着短视频热潮的兴起,越来越多的人投入精力到了视频剪辑视频制作之中.然而利用现有的视频剪辑工具,剪辑一段视频是非常麻烦的,尤其 ...

  4. 基于java SpringBoot的医院门诊管理系统源码和论文

    医院门诊信息管理系统是一个基于Internet的应用系统,它是一个面对当前的医院门诊管理工作基本还处于手工和半信息自动化处理状态而应运而生的一个基于Internet的一个信息自动化的系统,整个系统从符 ...

  5. 山东大学项目实训——6月29日

    总结项目实训近两天的工作. 首先在第一天上午,参加项目实训开幕仪式,了解实训相关规定和内容.然后与李学庆老师见面,由他像我们讲解项目内容,介绍项目需求. 同时我主动提出担任项目组长. 通过与李学庆老师 ...

  6. 山东大学项目实训——地图圈系统——微信小程序(16)

    地图圈系统--微信小程序(16) 一.社区功能 二.项目代码 三.效果展示 一.社区功能 这次项目实训的社区功能是一个很大的模块,包括显示用户发布的文字及图片.用户选择的地点.发布的时间.点赞.评论等 ...

  7. <山东大学项目实训>——Unity开发植物大战僵尸(1)

    关于关卡场景中小推车的添加 割草机(Lawn Mower),又称小推车,是益智策略类塔防御战游戏<植物大战僵尸>系列中的一种道具.当僵尸走至屏幕最后一格并触碰时,会启动并碾压一整行的僵尸. ...

  8. 山东大学项目实训——简易微信小游戏(一)

    一.项目背景 微信小程序接触真实用户快,对用户反馈快速体现,是一个非常好的实践平台.同时就行业背景来看,人们对于无需安装打开即玩的休闲类小游戏的需求依然存在. 二.工作内容 开发绳套奶牛.大鱼吃小鱼. ...

  9. 山东大学项目实训(四)—— 微信小程序扫描web端二维码实现web端登录

    效果 点击登录后,显示二维码→打开"探古"(本项目)微信小程序,扫描二维码确认登录→web端登录成功 主要流程 因为本人主要负责web前端的开发,所以本文仅介绍web前端的实现方法 ...

最新文章

  1. 自定义Matlab功能函数——10进制整数矩阵转二进制字符矩阵
  2. 10 分钟学会 5 个酷炫 Linux 命令
  3. P1975 [国家集训队]排队(三维偏序)
  4. 非常实用的设计类导航
  5. 亚信安全中标南方电网网络架构优化调整项目 智能联动抑制未知威胁
  6. 高薪诚聘游戏引擎研发,有意者请与我联系!
  7. SpaceBase – 基于 Sass 的响应式 CSS 框架
  8. 用AWK来过滤nginx日志中的特定值~~~
  9. NP问题验证机的理解
  10. Linux杂谈之unzip命令
  11. PHP网页监控系统,实现网页变化监控
  12. 计算机学不学p图的,五分钟学会P图!只需要电脑自带的看图软件!无需专业的PS软件!...
  13. 计算机函数if使用折扣率,excel1-服装采购表题目要求
  14. 3d max材质贴图
  15. Excel画横坐标不均分的图表
  16. 去健身房健身戴什么耳机好、最适合运动健身的健身房耳机推荐
  17. linux模糊查找子目录,Linux运维知识之linux中模糊查找文件
  18. 高考色彩静物组合想要画好?画之前注意下这8点:
  19. 帮你解读身份证号码的秘密
  20. 使用remix发布部署 发币 智能合约

热门文章

  1. 一个15分钟的视频,教你用Python创建自己的微信聊天机器人文中赠送全部源代码
  2. 全球与中国铟金属市场深度研究分析报告
  3. Exception Processing Message 0xc0000005 Parameters
  4. 程序员容易读错的IT专业术语词典
  5. Kubeadm 快速搭建 k8s v1.24.1 集群(openEuler 22.03 LTS)
  6. wp/wordpress文章页面添加阅读量/点击量,后台并显示阅读量
  7. 岩土工程勘察报告毕业设计论文
  8. 点击iPhone/iPad上的加密相册或保险箱提示“无法安装加密相册或保险箱,App Store已不提供此应用”解决方案
  9. Android学习笔记:Android基础知识点(不断更新中)
  10. 上海诺基亚贝尔-S-010W-AV2B卡刷固件包