设置接口请求

作为一个后台,个人一点感想:前端现在都是组件化开发,会看文档基本功能就能实现。

js文件

import request from '@/router/axios'
// 查询
export function queryWordDictList(query) {
return request({
url: '/bbs/regtech/wordDict/queryWordDictList',
method: 'get',
params: query
})
}
// 修改
export function updateWordDict(obj) {
return request({
url: '/bbs/regtech/wordDict/updateWordDict',
method: 'put',
data: obj
})
}
// 新增
export function saveWordDict(obj) {
return request({
url: '/bbs/regtech/wordDict/saveWordDict',
method: 'post',
data: obj
})
}
// 删除
export function deleteWordDict(params) {
return request({
url: '/bbs/regtech/wordDict/deleteWordDict',
method: 'delete',
params: params
})
}

VUE数据渲染 + 分页

<template>
<div>
<el-row>
<el-button type="primary" @click="(saveView = true), reset()"
>新增检测方向</el-button
>
</el-row>
<!-- 数据表单 -->
<el-table
:data="tableData"
stripe="true"
style="width: 100%"
max-height="100%"
>
<el-table-column align="center" type="index" width="45" label="序号">
<template slot-scope="scope">
{{ (page.pageNum - 1) * page.pageSize + scope.$index + 1 }}
</template>
</el-table-column>
<el-table-column prop="type" align="center" label="类型">
</el-table-column>
<el-table-column prop="description" align="center" label="描述">
</el-table-column>
<el-table-column prop="remarks" align="center" label="备注">
</el-table-column>
<el-table-column prop="createTime" align="center" label="日期">
</el-table-column>
<el-table-column align="center" label="操作" width="200px">
<template slot-scope="scope">
<el-button
type="text"
@click="(dialogVisible = true), handleClick(scope.row)"
>编辑</el-button
>
<el-button type="text">关键字</el-button>
<el-button type="text" @click="deleteDict(scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
<div class="block">
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage4"
:page-sizes="[10, 20, 30, 40]"
:page-size="page.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="page.total"
>
</el-pagination>
</div>
<!-- 新增 -->
<el-dialog title="新增" :visible.sync="saveView" width="30%">
<el-form :model="form" :rules="rules">
<el-form-item label="类型" :label-width="formLabelWidth">
<el-input v-model="form.type" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="描述" :label-width="formLabelWidth">
<el-input v-model="form.description" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="备注" :label-width="formLabelWidth">
<el-input v-model="form.remarks" autocomplete="off"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="saveView = false">取 消</el-button>
<el-button type="primary" @click="(saveView = false), saveForm(form)"
>确 定</el-button
>
</span>
</el-dialog>
<!-- 编辑 -->
<el-dialog title="编辑" :visible.sync="dialogVisible" width="30%">
<el-form :model="form">
<el-form-item label="类型" :label-width="formLabelWidth">
<el-input v-model="form.type" autocomplete="off" disabled></el-input>
</el-form-item>
<el-form-item label="描述" :label-width="formLabelWidth">
<el-input v-model="form.description" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="备注" :label-width="formLabelWidth">
<el-input v-model="form.remarks" autocomplete="off"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false">取 消</el-button>
<el-button
type="primary"
@click="(dialogVisible = false), updateForm(form)"
>确 定</el-button
>
</span>
</el-dialog>
</div>
</template> <script>
import {
queryWordDictList,
updateWordDict,
saveWordDict,
deleteWordDict,
} from "@/api/assistance/keywords.js";
export default {
methods: {
deleteRow(index, rows) {
rows.splice(index, 1);
},
},
data() {
return {
dialogVisible: false,
saveView: false,
tableData: [],
page: {
total: 0, // 总条数
pageNum: 1,
pageSize: 10, // 每页显示多少条
type: undefined,
description: undefined,
},
form: {
id: null,
type: "",
description: "",
remarks: "",
createTime: "",
},
rules: {
type: [{ required: true, message: "请输入类型", trigger: "blur" }],
},
};
},
created() {
this.getList();
}, methods: {
getList() {
queryWordDictList(this.page).then((res) => {
this.tableData = res.data.data.records;
this.page.total = res.data.data.total;
});
},
reset() {
this.form = {};
},
updateForm() {
updateWordDict(this.form).then((res) => {
this.$message({
message: res.data.data,
type: "success",
});
this.form = {};
});
},
saveForm() {
saveWordDict(this.form).then((res) => {
this.$message({
message: res.data.data,
type: "success",
});
this.form = {};
this.getList();
});
},
//每页条数改变时触发 选择一页显示多少行
handleSizeChange(val) {
this.page.pageSize = val;
this.getList();
},
//当前页改变时触发 跳转其他页
handleCurrentChange(val) {
this.page.pageNum = val;
this.getList();
},
handleClick(row) {
this.form = row;
},
deleteDict(row) {
this.$confirm("是否删除?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
deleteWordDict(row).then((res) => {
this.$message({
message: res.data.data,
type: "success",
});
this.getList();
});
})
.catch(() => {
this.$message({
type: "info",
message: "已取消删除",
});
});
},
},
};
</script>

前端VUE调用后台接口,实现基本增删改查的更多相关文章

  1. vue实现对表格数据的增删改查

    在管理员的一些后台页面里,个人中心里的数据列表里,都会有对这些数据进行增删改查的操作.比如在管理员后台的用户列表里,我们可以录入新用户的信息,也可以对既有的用户信息进行修改.在vue中,我们更应该专注 ...

  2. Zookeeper 客户端API调用示例(基本使用,增删改查znode数据,监听znode,其它案例,其它网络参考资料)

    9.1 基本使用 org.apache.zookeeper.Zookeeper是客户端入口主类,负责建立与server的会话 它提供以下几类主要方法  : 功能 描述 create 在本地目录树中创建 ...

  3. .net core项目搭建swagger接口实现简单增删改查

    .net core搭建swagger 1,新建立.net core项目(这里不再细说) 2,引入NuGet程序包 3,建立项目之后在Startup类中配置swagger 这里我直接把代码贴出来: 在C ...

  4. SqlServer调用OPENQUERY函数远程执行增删改查

    /* OPENQUERY函数,远程执行数据库增删改查 关于OPENQUERY函数第二个参数不支持拼接变量的方案 方案1:将OPENQUERY语句整个拼接为字符串,再用EXEC执行该字符串语句 方案2: ...

  5. 【vue入门】日志demo,增删改查的练习(无vuex版本)

    安装 1. 确定电脑已装node和npm 出现版本号则说明电脑已经安装好node和npm2. 创建一个基于webpack的项目   3. 在项目里安装依赖 4. 运行 配置路由为了动态渲染各个页面的组 ...

  6. 使用Django开发简单接口:文章增删改查

    目录 1.一些准备工作 安装django 创建django项目 创建博客应用(app) 2.models.py 3.django admin 登录 创建超级用户 4.修改urls.py 5.新增文章接 ...

  7. solr后台操作Documents之增删改查

    偶尔会用到solr后台操作一些数据,比如测试等一些情况.但具体用的时候可能会忘记,或者搜的时候结果不全,在此略详细的记一下. 1.添加 {"id":6,"title&qu ...

  8. ABP框架服务层的接口与实现(增删改查)

    public interface ITaskAppService : IApplicationService { IList<TaskDto> GetAllTasks();//所有 Get ...

  9. python调用函数实现数据的增删改查(2)

    1  添加数据 def add(): # 输入姓名,年龄,电话 name=raw_input('name:') age=raw_input('age:') phone=raw_input('phone ...

  10. python调用函数实现数据的增删改查(1)

    实现一个小功能,当输入相应的序号,会执行相关操作, 比如当输入序号1,会执行添加功能 #coding:utf-8print '''1 添加数据2 删除数据3 修改数据4 查看数据5 退出程序'''de ...

随机推荐

  1. Pandas库学习笔记(4)---Pandas DataFrame

    Pandas DataFrame Pandas DataFrame基本操作 DataFrame是二维数据结构,即,数据以表格形式在行和列中对齐. DataFrame的功能 潜在的列是不同类型的 大小可 ...

  2. 题解:P10537 [APIO2024] 九月

    题解:P10537 [APIO2024] 九月 题意 在一个树上,在 \(k\) 天内有 \(n-1\) 个节点掉落,会有 \(m\) 个记录者记录掉落的情况,每一天每一个人会以任意的顺序记录当天的掉 ...

  3. Spring Boot快速入门(二)搭建javaWeb项目

    1.配置pom.xml 教程一创建的项目为maven项目,所以搭建一个Spring Boot的Web项目,先导入一下jar包:即在pom.xml以下依赖: 1 <dependencies> ...

  4. WPF控件库

    Welcome to CookPopularControl 介绍 CookPopularControl是支持.NetFramework4.6.1与.Net5.0的WPF控件库,其中参考了一些资料,目前 ...

  5. ComfyUI插件:ComfyUI Impact 节点(四)

    前言: 学习ComfyUI是一场持久战,而 ComfyUI Impact 是一个庞大的模块节点库,内置许多非常实用且强大的功能节点 ,例如检测器.细节强化器.预览桥.通配符.Hook.图片发送器.图片 ...

  6. Jmeter循环控制器

    循环控制器(Loop Controller),循环控制器会将该控制器里面所有请求循环运行指定次数 循环次数:勾选"永远"则程序会一直循环运行不会停止,不勾选"永远&quo ...

  7. 8、SpringBoot2之打包及运行

    为了演示高级启动时动态配置参数的使用,本文在SpringBoot2之配置文件的基础上进行 8.1.概述 普通的 web 项目,会被打成一个 war 包,然后再将 war 包放到 tomcat 的 we ...

  8. 【转载】 解决 sudo echo x > 时的 Permission denied错误

    版权声明:本文为CSDN博主「Yannick_J」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明.原文链接:https://blog.csdn.net/don_chi ...

  9. java多线程之-CAS无锁-unsafe理解

    1.背景 这一节我们来学习一下unsafe对象 2.案例 1.自定义一个获取unsafe对象的类 package com.ldp.demo07Unfase; import sun.misc.Unsaf ...

  10. [USACO22FEB] Paint by Rectangles P 题解

    前言 没用线段树的小常数.小短码. 题目链接:洛谷. 题意简述 给出 \(n\) 个平行于坐标轴的矩形,各边所在直线互不重合,钦定最外面为白色,对这个平面图黑白染色,分别求黑色块数和白色块数. 题目分 ...