【测试开花】五、项目管理-前端-实现查询、新增功能

简介: 【测试开花】五、项目管理-前端-实现查询、新增功能

基于 springboot+vue 的测试平台开发继续更新。


一、查询功能


在之前的项目列表接口里,支持使用项目名称模糊查询,现在来实现前端。


1. input 输入框


到组件库里找个输入框:


1268169-20210920193643009-1106601675.png


复制代码,修改代码:


1268169-20210920194927253-855696430.png


  • v-model: 绑定了下面 data 中的projectQuery.projectName
  • style="width:20%": 调整输入框宽度。
  • size="small": 调整输入框整体大小,参考elementUI组件库对应的文档说明。
  • placeholder: 占位符显示,输入框里的提示信息。
  • clearable: 输入框清空功能。


2. 查询按钮


到组件库里找个输入框:


1268169-20210920200032328-2047422342.png


修改代码:


1268169-20210920221737151-987867183.png


  • 这里用了一个标签把输入框和查询按钮包了起来,方便后续如果有需要整体调整下样式啥的。
  • style="margin-left: 10px"调整了下按钮的左边距,让按钮和输入框之间留出点间隔。
  • @click="fetchData"绑定一个点击事件,点击按钮的时候调用fetchData方法。


1268169-20210920221958370-1270358353.png


测试一下根据项目名称模糊查询,输入:0915,点击查询。


1268169-20210920222038662-1240126722.png


查询功能完成。


二、新增功能


1. 新增按钮


新增接口之前已经实现好了,现在实现前端。


使用这个嵌套了表单的对话框。


1268169-20210921000055249-854874833.png


这个触发按钮,就改成【新增】按钮,放到【查询】按钮的后面。


1268169-20210921001117974-439193448.png


效果是这样的:


1268169-20210921001129368-499235482.png


2. 对话框


新增页面这里只需要输入项目名称和描述即可,所以就是 2 个简单的输入框。

另外,复制代码的时候也需要把组件里需要用到的 data 也拷贝过来,替换成我们自己需要用的。


1268169-20210921002057588-733952171.png


  • dialogFormVisible,visible属性绑定的值,它接收Boolean,当为true时显示 Dialog 对话框。
  • form 就是保存新增页面里填写的字段值。
  • formLabelWidth 这个控制了这个表单的整体的宽度。


现在修改对话框表单的页面内容:


1268169-20210921003135670-1214878836.png


可以更加自己的要求来调整样式,我的大概如此:


1268169-20210921003151511-1772244124.png


3. 新增数据


点击【保存】按钮,要保存数据到表里,然后关闭弹窗,刷新列表页,展示新增的数据。


(1)添加接口


后端接口已实现,现在添加到 js 文件src/api/projectManagement.js里。


export function addProject(data) {
  return request({
    url: '/bloomtest/project/add',
    method: 'post',
    data: data
  })
}


(2)绑定点击事件


在对话框【保存】按钮上绑定一个点击事件。


<el-button type="primary" @click="add">保 存</el-button>


这里要去掉复制出来的@click="dialogFormVisible = false",只能绑定一个事件,如果要绑定多个,需要使用addEventListener(),后续再说。


(3)add 方法调用接口


在 methods 里增加上面按钮点击事件的方法 add,方法的作用是调用 js 文件里的添加接口。在使用方法之前要先导入进来:


import { getList, addProject } from '@/api/projectManagement'


编写 add 方法:


1268169-20210921082927986-622934991.png


  • addProject(this.form),需要传入表单的参数。
  • then(),就是当 .then() 前的方法执行完后再执行 then()内部 的程序,这里就是用来处理请求之后的事情。


保存成功提示信息,依然到组件库里寻找,这里就用它:


1268169-20210921083913665-1069833060.png


另外,在这里可以加个判断,当接口返回状态码是20000时,提供保存成功,其他提示保存失败。


1268169-20210921085241055-1693100384.png


关闭对话框,就是修改下 dialogFormVisible 的属性为 fasle:


this.dialogFormVisible = false


刷新列表,我可以再调一次查询方法即可:


this.fetchData()


最后,完整的 add 方法:


1268169-20210921085919885-1327446641.png


测试一下效果,可以正常保存,对话框关闭,提示成功。


1268169-20210921090032895-1501726762.png


但是发现 2 个问题


  • 再次点击新增的时候,对话框里还显示上一次的内容。
  • 列表没排序,新增的数据在后面的页,展示不直观。


解决 问题1


在新增方法里,把表单里的字段值设为空字符串即可:


// 清空表单
    this.form.projectName = ''
    this.form.description = ''


解决 问题2


调整列表接口,增加排序 order by,按照 id 倒序。


1268169-20210921092547834-739696760.png


最后,重新测试一下新增。


1268169-20210921092657444-884412048.png


输入内容,保存。


1268169-20210921092723241-1988499367.png


功能完成。

相关文章
|
24天前
|
JavaScript 前端开发 安全
在众多的测试工具中,Cypress以其强大的端到端测试能力和与TypeScript的完美结合,成为了前端开发者的首选
【6月更文挑战第11天】Cypress结合TypeScript,打造前端测试新体验。TypeScript增强代码可读性和稳定性,Cypress提供强大端到端测试,二者结合提升测试准确性和可靠性。通过类型定义、自定义命令和断言,优化测试代码;Cypress模拟真实用户操作、时间旅行功能及内置调试工具,确保应用功能性能。推荐前端开发者使用TypeScript+Cypress进行端到端测试。
44 2
|
1天前
|
监控 Java 数据挖掘
通过A/B测试优化返利App的功能设计
通过A/B测试优化返利App的功能设计
|
11天前
|
缓存 负载均衡 前端开发
SSMP整合案例第八步 前端页面的分页功能完善与维护和实现条件查询
SSMP整合案例第八步 前端页面的分页功能完善与维护和实现条件查询
13 1
|
2天前
|
前端开发 开发者
移动端-------app开发02,了解apicloud功能和使用,真机测试
移动端-------app开发02,了解apicloud功能和使用,真机测试
|
3天前
|
前端开发 JavaScript
前端 JS 经典:封装全屏功能
前端 JS 经典:封装全屏功能
4 0
|
25天前
|
IDE 测试技术 持续交付
Python作为一种简洁、易读且功能强大的编程语言,其自动化测试和单元测试框架的丰富性和易用性为开发者提供了极大的便利
【6月更文挑战第10天】本文探讨了Python自动化测试与单元测试框架在提升代码质量和效率中的作用。Selenium、Appium和pytest是常用的自动化测试框架,分别支持Web和移动应用的测试。unittest是Python的标准单元测试框架,提供断言方法和测试组织结构。通过制定测试计划、编写高质量测试用例、持续集成与测试、以及有效利用测试报告,开发者能提高代码质量和开发效率。
30 1
|
2月前
|
Android开发 数据安全/隐私保护 iOS开发
ios和安卓测试包发布网站http://fir.im的注册与常用功能
ios和安卓测试包发布网站http://fir.im的注册与常用功能
31 0
ios和安卓测试包发布网站http://fir.im的注册与常用功能
|
8天前
|
前端开发 JavaScript 数据库
如何实现前后端分离-----前端笔记
如何实现前后端分离-----前端笔记
|
8天前
|
前端开发 安全 NoSQL
技术笔记:Security前端页面配置
技术笔记:Security前端页面配置
|
1月前
|
JSON 前端开发 JavaScript
前端Ajax、Axios和Fetch的用法和区别笔记
前端Ajax、Axios和Fetch的用法和区别笔记
32 2