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

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

基于 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


功能完成。

相关文章
|
19天前
|
监控 测试技术
slb测试会话保持功能
slb测试会话保持功能
28 6
|
2月前
|
运维
【运维基础知识】用dos批处理批量替换文件中的某个字符串(本地单元测试通过,部分功能有待优化,欢迎指正)
该脚本用于将C盘test目录下所有以t开头的txt文件中的字符串“123”批量替换为“abc”。通过创建批处理文件并运行,可实现自动化文本替换,适合初学者学习批处理脚本的基础操作与逻辑控制。
182 56
|
1月前
|
机器学习/深度学习 自然语言处理 前端开发
前端神经网络入门:Brain.js - 详细介绍和对比不同的实现 - CNN、RNN、DNN、FFNN -无需准备环境打开浏览器即可测试运行-支持WebGPU加速
本文介绍了如何使用 JavaScript 神经网络库 **Brain.js** 实现不同类型的神经网络,包括前馈神经网络(FFNN)、深度神经网络(DNN)和循环神经网络(RNN)。通过简单的示例和代码,帮助前端开发者快速入门并理解神经网络的基本概念。文章还对比了各类神经网络的特点和适用场景,并简要介绍了卷积神经网络(CNN)的替代方案。
115 1
|
1月前
|
前端开发 数据管理 测试技术
前端自动化测试:Jest与Cypress的实战应用与最佳实践
【10月更文挑战第27天】本文介绍了前端自动化测试中Jest和Cypress的实战应用与最佳实践。Jest适合React应用的单元测试和快照测试,Cypress则擅长端到端测试,模拟用户交互。通过结合使用这两种工具,可以有效提升代码质量和开发效率。最佳实践包括单元测试与集成测试结合、快照测试、并行执行、代码覆盖率分析、测试环境管理和测试数据管理。
59 2
|
1月前
|
前端开发 JavaScript 数据可视化
前端自动化测试:Jest与Cypress的实战应用与最佳实践
【10月更文挑战第26天】前端自动化测试在现代软件开发中至关重要,Jest和Cypress分别是单元测试和端到端测试的流行工具。本文通过解答一系列问题,介绍Jest与Cypress的实战应用与最佳实践,帮助开发者提高测试效率和代码质量。
45 2
|
2月前
|
测试技术
Appscan手工探索、手工测试功能实战
Appscan手工探索、手工测试功能实战
|
3月前
|
JSON 移动开发 监控
快速上手|HTTP 接口功能自动化测试
HTTP接口功能测试对于确保Web应用和H5应用的数据正确性至关重要。这类测试主要针对后台HTTP接口,通过构造不同参数输入值并获取JSON格式的输出结果来进行验证。HTTP协议基于TCP连接,包括请求与响应模式。请求由请求行、消息报头和请求正文组成,响应则包含状态行、消息报头及响应正文。常用的请求方法有GET、POST等,而响应状态码如2xx代表成功。测试过程使用Python语言和pycurl模块调用接口,并通过断言机制比对实际与预期结果,确保功能正确性。
273 3
快速上手|HTTP 接口功能自动化测试
|
4月前
|
JavaScript 前端开发 测试技术
Vue.js开发者必看!Vue Test Utils携手端到端测试,打造无懈可击的应用体验,引领前端测试新风尚!
【8月更文挑战第30天】随着Vue.js的普及,构建可靠的Vue应用至关重要。测试不仅能确保应用质量,还能提升开发效率。Vue Test Utils作为官方测试库,方便进行单元测试,而结合端到端(E2E)测试,则能构建全面的测试体系,保障应用稳定性。本文将带你深入了解如何使用Vue Test Utils进行单元测试,通过具体示例展示如何测试组件行为;并通过Cypress进行E2E测试,确保整个应用流程的正确性。无论是单元测试还是E2E测试,都能显著提高Vue应用的质量,让你更加自信地交付高质量的应用。
83 0
|
2月前
|
存储 人工智能 前端开发
前端大模型应用笔记(三):Vue3+Antdv+transformers+本地模型实现浏览器端侧增强搜索
本文介绍了一个纯前端实现的增强列表搜索应用,通过使用Transformer模型,实现了更智能的搜索功能,如使用“番茄”可以搜索到“西红柿”。项目基于Vue3和Ant Design Vue,使用了Xenova的bge-base-zh-v1.5模型。文章详细介绍了从环境搭建、数据准备到具体实现的全过程,并展示了实际效果和待改进点。
183 2
|
2月前
|
JavaScript 前端开发 程序员
前端学习笔记——node.js
前端学习笔记——node.js
49 0
下一篇
DataWorks