表格内新增按钮功能

 

<el-form>   
    <div class="btnTool">
        <el-button
                   size="mini"
                   type="primary"
                   class="greenButton"
                   @click="newlyIncreased"
                   >新增</el-button
            >
    </div>
</el-form> 
<!-- 新增弹窗 -->
<el-dialog
           :visible.sync="dialogFormVisible"
           width="936px"
           top="35vh"
           @close="shut"
           :close-on-click-modal="false"
           >
    <template #title>
		<div class="titleZise"><span>铁路线路信息</span></div>
    </template>
    <div style="height: 193px" class="railway">
        <el-form :model="form1" :rules="rules" ref="ruleForms">
            <el-row>
                <el-col :span="12">
                    <el-form-item label="铁路名称:" prop="railwayLineName">
                        <el-input
                                  size="small"
                                  v-model="form1.railwayLineName"
                                  autocomplete="off"
                                  placeholder="请输入内容"
                                  ></el-input>
                    </el-form-item>
                </el-col>
                <el-col :span="12">
                    <el-form-item label="铁路类型" prop="railwayType">
                        <el-select
                                   size="small"
                                   v-model="form1.railwayType"
                                   placeholder="请选择"
                                   clearable
                                   >
                            <el-option
                                       v-for="(item, index) in railwayTypeList"
                                       :key="index"
                                       :label="item.name"
                                       :value="item.code"
                                       >
                            </el-option>
                        </el-select>
                    </el-form-item>
                </el-col>
            </el-row>
        </el-form>
    </div>
    <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="newlyAdded">确 定</el-button>
        <el-button @click="dialogFormVisible = false">取 消</el-button>
    </div>
</el-dialog>
data(){
	return{
		url: {
			inquiry: "/bRailwayLine/list", //电气化铁路查询接口
			addModify: "/bRailwayLine/saveOrUpdate", //新增修改按钮接口
		},
		row: {},
		tableData1:{},
		total1:{},
		dialogFormVisible: false,
        form1: {
            railwayLineName: "",
            railwayType: "",
        },
		rules: {
            railwayLineName: [
              { required: true, message: "请输入铁路名称", trigger: "blur" },
            ],
            railwayType: [
              { required: true, message: "请选择铁路类型", trigger: "change" },
            ],
      	},
		//查询参数
        queryParameters: {
            page: 1,
            limit: 10,
            id: undefined, //电铁线路编号
            railwayLineName: undefined, //电铁线路名称
            railwayType: undefined, //铁路类型
        },
	}
},
created() {
    this.queryList();
},
methods:{
	//查询列表
    queryList() {
      https(this.url.inquiry, this.queryParameters).then((res) => {
        this.tableData1 = res.data.list;
        this.total1 = res.data.total;
      });
    },
	//新增dialog关闭时的回调
    shut() {
      this.dialogFormVisible = false;
    },
	//新增按钮确定事件
    newlyAdded() {
      this.$refs.ruleForms.validate((valid) => {
        if (valid) {
          https(this.url.addModify, this.form1).then((res) => {
            if (res.success != true) {
              return this.$message.error("新增失败!");
            }
            this.$message.success("新增成功!");
            this.dialogFormVisible = false;
            //调用列表查询方法
            this.queryList();
          });
        } else {
          return false;
        }
      });
    },
	//新增按钮事件
	newlyIncreased() {
      this.dialogFormVisible = true;
      this.$nextTick(() => {
        this.$refs.ruleForms.resetFields();
      });
    },
}

<style lang="scss" scoped>
    .greenButton {
        background-color: #0d867f;
        width: 80px;
        color: white;
    }
    .greenButton:hover {
        background-color: rgb(110, 182, 178);
        color: white;
        border: none;
    }
    #resetButton {
        color: #000;
        width: 80px;
    }
    #resetButton:hover {
        background-color: white;
    }
    .railway {
        margin-top: 40px;
    }
    .titleZise {
        background-color: RGB(247, 247, 247);
        height: 46px;
        span {
            line-height: 46px;
            font-size: 16px;
            color: #666666;
            font-weight: 700;
            margin-left: 20px;
            font-style: normal;
            border-width: 0px;
            font-family: "思源黑体 CN Bold", "思源黑体 CN", sans-serif;
        }
    }
</style>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
layUI表格新增和修改功能可以通过弹出层来实现。具体步骤如下: 1. 在layUI表格中添加操作列,包含“编辑”和“删除”按钮等; 2. 给“编辑”按钮绑定事件,点击后弹出一个弹出层,用于填写数据; 3. 在弹出层中添加表单,包含需要填写的数据项; 4. 给表单中的“确定”按钮绑定事件,点击后将数据提交到后台并更新表格数据; 5. 给“删除”按钮绑定事件,点击后弹出确认框,确认后将数据删除并更新表格数据。 示例代码如下: HTML代码: ```html <table class="layui-table" lay-data="{url:'/api/data', page:true, limit:10}" lay-filter="demo"> <thead> <tr> <th lay-data="{field:'id', width:80}">ID</th> <th lay-data="{field:'name', width:120}">名称</th> <th lay-data="{field:'type', width:80}">类型</th> <th lay-data="{field:'remark', width:200}">备注</th> <th lay-data="{field:'operate', toolbar:'#operateTpl', width:150}">操作</th> </tr> </thead> </table> <!--操作列模板--> <script type="text/html" id="operateTpl"> <button class="layui-btn layui-btn-xs" lay-event="edit">编辑</button> <button class="layui-btn layui-btn-danger layui-btn-xs" lay-event="delete">删除</button> </script> <!--弹窗模板--> <div id="formTpl" style="display:none;"> <form class="layui-form" action=""> <div class="layui-form-item"> <label class="layui-form-label">名称</label> <div class="layui-input-block"> <input type="text" name="name" lay-verify="required" placeholder="请输入名称" autocomplete="off" class="layui-input"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">类型</label> <div class="layui-input-block"> <input type="text" name="type" lay-verify="required" placeholder="请输入类型" autocomplete="off" class="layui-input"> </div> </div> <div class="layui-form-item layui-form-text"> <label class="layui-form-label">备注</label> <div class="layui-input-block"> <textarea name="remark" placeholder="请输入备注" class="layui-textarea"></textarea> </div> </div> <div class="layui-form-item"> <div class="layui-input-block"> <button class="layui-btn" lay-submit lay-filter="submitForm">确定</button> </div> </div> </form> </div> ``` JavaScript代码: ```javascript //执行渲染 layui.use(['table', 'layer', 'form'], function(){ var table = layui.table, layer = layui.layer, form = layui.form; //监听表格操作列按钮点击事件 table.on('tool(demo)', function(obj){ var data = obj.data; if(obj.event === 'edit'){ //编辑 //弹出编辑弹窗 var index = layer.open({ type: 1, title: '编辑', area: ['500px', '400px'], content: $('#formTpl').html(), success: function(layero, index){ //填充弹窗表单数据 form.val('form', data); } }); //监听弹窗表单提交事件 form.on('submit(submitForm)', function(formData){ //提交表单数据到后台 $.ajax({ url: '/api/update', type: 'POST', data: formData.field, success: function(){ layer.close(index); table.reload('demo'); } }); return false; }); } else if(obj.event === 'delete'){ //删除 layer.confirm('确认删除该数据吗?', function(index){ //提交删除请求到后台 $.ajax({ url: '/api/delete', type: 'POST', data: {id: data.id}, success: function(){ layer.close(index); table.reload('demo'); } }); }); } }); }); ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值