Vue+elementUI实现增删改查(前端静态页面)

配置完路由,建立好页面直接复制以下代码即可。

注意:

BasePannel和BaseButton是自定义组件,需要删掉

代码:

<template>
    <div class="app-container">
        <BasePannel title="标题1">
            <el-form size="small" :model="queryParams" ref="queryForm" :inline="true" label-width="68px">
                <el-row>
                    <el-col :span="10">
                        <el-form-item label="测试单号" prop="number">
                            <el-input v-model="queryParams.number" placeholder="输入关键字搜索" clearable/>
                        </el-form-item>
                    </el-col>
                    <el-col :span="8">
                        <div>
                            <el-form-item>
                                <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
                                <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
                            </el-form-item>
                        </div>
                    </el-col>
                </el-row>
            </el-form>
        </BasePannel>
        <BasePannel class="top-margin">
            <el-row :gutter="10" class="mb8">
                <el-col :span="1.5">
                    <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd">新增</el-button>
                </el-col>
            </el-row>

            <el-table :data="tableData" style="width: 100%">
                <el-table-column prop="TextName" label="测试单号" sortable width="180"></el-table-column>
                <el-table-column prop="Status" label="测试单状态" width="180"></el-table-column>
                <el-table-column prop="level" label="事务级别"></el-table-column>
                <el-table-column prop="theme" label="主题"></el-table-column>
                <el-table-column prop="Details" label="详情说明"></el-table-column>
                <el-table-column prop="name" label="申请人姓名"></el-table-column>
                <el-table-column fixed="right" label="操作" width="120">
                    <template slot-scope="scope">
                        <el-button type="text" class="delete_button" size="mini" @click="handleDelete(scope.$index, tableData)">删除</el-button>
                        <el-col :span="1.5">
                            <el-button type="text" size="mini" @click="handleUpdate(scope.row)">修改</el-button>
                        </el-col>
                    </template>
                </el-table-column>
            </el-table>
        </BasePannel>
        <!-- 添加或修改【请填写功能名称】对话框 -->
        <el-dialog :title="title" :visible.sync="open" width="500px"  class="rounded-dialog">
            <el-form ref="form" :model="userInfo" label-width="80px">
                <el-form-item label="测试单号" prop="number">
                    <el-input v-model="userInfo.TextName" placeholder="请输入测试单号" maxlength="30" />
                </el-form-item>
                <el-form-item label="测试单状态" prop="Status">
                    <el-input v-model="userInfo.Status" placeholder="请输入测试单状态" maxlength="30" />
                </el-form-item>
                <el-form-item label="事务级别" prop="level">
                    <el-input v-model="userInfo.level" placeholder="请输入事务级别" maxlength="30" />
                </el-form-item>
                <el-form-item label="主题" prop="theme">
                    <el-input v-model="userInfo.theme" placeholder="请输入主题" maxlength="30" />
                </el-form-item>
                <el-form-item label="详情说明" prop="Details">
                    <el-input v-model="userInfo.Details" placeholder="请输入测试单状态" maxlength="30" />
                </el-form-item>
                <el-form-item label="申请人姓名" prop="name">
                    <el-input v-model="userInfo.name" placeholder="请输入姓名" maxlength="30" />
                </el-form-item>
                <div class="dialog-footer">
                    <el-button type="primary" size="small" @click="submitForm()">确 定</el-button>
                    <el-button  size="small" @click="cancel">取 消</el-button>
                </div>
            </el-form>
        </el-dialog>
    </div>
</template>

<script>
import BasePannel from "@/components/BasePannel";
import BaseButton from "@/components/BasePannel/buttons.vue";


export default {
    name: "Manage",
    components: {
        BasePannel,
        BaseButton,
    },
    data() {
        return {
            tableData: [],
            loading: true,
            title:'',
            TextName: [],
            showSearch: true,
            // 查询参数
            queryParams: {
                number : null,
            },
            // 表单参数
            userInfo: {},
            open:false,
            rowIndex:null,
        };
    },
    created() {
        this.getList();
    },
    methods: {
        /** 查询【请填写功能名称】列表 */
        getList() {
            this.loading = true;
            this.tableData= [
                { TextName: '1234567', Status: '已完成', level: 'ckfvvjgkn', theme: 'wwwww', Details: 'qwe234545234', name: 'zzz' },
                { TextName: '111111111', Status: '已完成', level: 'vrjeiuf8493', theme: 'rrewdw', Details: 'qwe234545234', name: 'assds' },
                { TextName: '22222222', Status: '已完成', level: 'yyhyr5', theme: 'qedfvf', Details: 'qwe234545234', name: 'qqq' },
                { TextName: '1234555', Status: '已完成', level: 'mjmky456h', theme: 'vfgbg', Details: 'qwe234545234', name: 'aaa' },
                { TextName: '11122222', Status: '已完成', level: 'c12445556', theme: 'ddcdsf', Details: 'qwe234545234', name: 'aaa' },
                { TextName: '1234566', Status: '已完成', level: 'jujyhj567', theme: '1333e4ff', Details: 'qwe234545234', name: 'abc' }
            ];
            this.loading = false;
        },
        // 取消按钮
        cancel() {
            this.open = false;
            this.reset();
        },
        // 表单重置
        reset() {
            this.userInfo = {
                TextName: null
            };
            this.resetForm("form");
        },
        /** 搜索按钮操作 */
        handleQuery() {
            const searchText = this.queryParams.number;
            if (searchText) {
                this.tableData = this.tableData.filter(item => item.TextName.includes(searchText));
            } else {
                this.getList();
            }
        },
        /** 重置按钮操作 */
        resetQuery() {
            this.resetForm("queryForm");
            this.queryParams.number = null;
            this.getList();
        },
        /** 新增按钮操作 */
        handleAdd() {
            this.title = "增加";
            this.open = true;
            this.userInfo = {};
        },
        /** 修改按钮操作 */
        handleUpdate(row) {
            this.title = "修改";
            this.open = true;
            this.userInfo ={
                TextName:row.TextName,
                Status:row.Status,
                level:row.level,
                theme:row.theme,
                Details:row.Details,
                name:row.name
            }
            this.rowIndex = this.tableData.indexOf(row);
        },
        /** 提交按钮 */
        submitForm() {
            if (this.title === '修改') {
                this.tableData.splice(this.rowIndex, 1, this.userInfo);
                this.open = false;
                return;
            }else{
                this.tableData.splice(0, 0, this.userInfo);
                this.open = false;
            }
        },
        /** 删除按钮操作 */
        handleDelete(index,row) {
            this.$confirm(`确定删除选中的数据项吗?`, '提示', {
                confirmButtonText: '确定',
                cancelButtonText: '取消',
                type: 'error',
            }).then(() => {
                this.tableData.splice(index, 1);
            });
        },
    },
};
</script>

相关推荐

  1. Vue+elementUI实现增删前端静态页面

    2024-04-02 08:50:03       16 阅读
  2. SpringBoot实现增删

    2024-04-02 08:50:03       14 阅读
  3. 图表管理功能(前后实现增删

    2024-04-02 08:50:03       34 阅读
  4. VUE实现增删功能

    2024-04-02 08:50:03       11 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-02 08:50:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-02 08:50:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-02 08:50:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-02 08:50:03       20 阅读

热门阅读

  1. 分布式机房运维管理解决方案

    2024-04-02 08:50:03       14 阅读
  2. 32-5 XXE漏洞 - xml数据格式

    2024-04-02 08:50:03       14 阅读
  3. 机器视觉系统-分辨率、信噪比、动态范围

    2024-04-02 08:50:03       16 阅读
  4. 6-88 Print the right subtree of X in BST

    2024-04-02 08:50:03       14 阅读
  5. 如何重置woocommerce,如何批量删除woocommerce产品

    2024-04-02 08:50:03       13 阅读
  6. StarRocks部署

    2024-04-02 08:50:03       13 阅读
  7. WPF —— 动画

    2024-04-02 08:50:03       13 阅读