除了对某个表基本的增删改查以外,可能需要额外的增加操作,这里是通过按钮来实现的
1、新增一个测试按钮
<el-button type="primary" class="butT" @click="test()">测试</el-button>

2、这个按钮绑定一个方法test(),这个方法是为了弹出一个框,只需要修改this.dialogFormVisibleTest的dialogFormVisibleTest值即可(dialogFormVisibleTest 是弹窗的名称,可以理解为是id)

- // 弹出测试窗口
- test() {
- this.dialogFormVisibleTest = true;
- this.resetForm();
- }
3、定义dialogFormVisibleTest 这个弹窗的内容
- <!-- 测试标签弹层 -->
- <div class="add-form">
- <el-dialog title="测试表单" :visible.sync="dialogFormVisibleTest">
- <el-form ref="" :model="formData" :rules="rules" label-position="right" label-width="100px">
- <el-row>
- <el-col :span="12">
- <el-form-item label="输入框1" prop="code1">
- <el-input v-model="formData.code1"/>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="输入框2" prop="code2">
- <el-input v-model="formData.code2"/>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="下拉框" prop="xlk">
- <el-select v-model="formData.xlk">
- <el-option label="不限" value="0"></el-option>
- <el-option label="男" value="1"></el-option>
- <el-option label="女" value="2"></el-option>
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="时间" prop="time">
- <el-date-picker
- v-model="formData.time"
- type="datetime"
- placeholder="选择日期时间">
- </el-date-picker>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="24">
- <el-form-item label="多行文本">
- <el-input v-model="formData.remark" type="textarea"></el-input>
- </el-form-item>
- </el-col>
- </el-row>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button @click="dialogFormVisibleTest = false">取消</el-button>
- <el-button type="primary" @click="handleTest()">确定</el-button>
- </div>
- </el-dialog>
- </div>


上面的弹窗包括常见的四种类型,输入文本框、时间、多行文本、下拉框,然后标红了的都是需要根据业务需求进行修改的地方,这里特别注意prop和v-model中绑定的值是要一致并且跟后端接收的实体类的属性名称要一致,不然表单数据就赋值不了给那个实体类,也就是后端就拿不到前端传过来的值了

这个弹窗还有在vue的data里定义一下

这样弹窗才会有效果
4、编写handleTest方法 ,只需要根据业务修改红色画出来的地方就可

到这里整个前端就改好了
5、后端定义与前端对应的实体类
- package com.sd.sbmb.entity;
-
- import lombok.AllArgsConstructor;
- import lombok.Data;
-
- import java.io.Serializable;
- import java.util.Date;
-
- @Data
- @AllArgsConstructor
- public class Test implements Serializable {
- String code1;
- String code2;
- Integer xlk;
- String remark;
- Date time;
- }
6、写个控制器看看前端数据传给后端没
- //测试
- @RequestMapping("/handleTest")
- public Result handleTest(@RequestBody Test test){
- try {
- System.out.println(test);
- }catch (Exception e){
- return new Result(false,MessageConstant.EDIT_FAIL);
- }
- return new Result(true,MessageConstant.EDIT_SUCCESS);
- }