前端VUE调用后台接口,实现基本增删改查
设置接口请求
作为一个后台,个人一点感想:前端现在都是组件化开发,会看文档基本功能就能实现。
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调用后台接口,实现基本增删改查的更多相关文章
- vue实现对表格数据的增删改查
在管理员的一些后台页面里,个人中心里的数据列表里,都会有对这些数据进行增删改查的操作.比如在管理员后台的用户列表里,我们可以录入新用户的信息,也可以对既有的用户信息进行修改.在vue中,我们更应该专注 ...
- Zookeeper 客户端API调用示例(基本使用,增删改查znode数据,监听znode,其它案例,其它网络参考资料)
9.1 基本使用 org.apache.zookeeper.Zookeeper是客户端入口主类,负责建立与server的会话 它提供以下几类主要方法 : 功能 描述 create 在本地目录树中创建 ...
- .net core项目搭建swagger接口实现简单增删改查
.net core搭建swagger 1,新建立.net core项目(这里不再细说) 2,引入NuGet程序包 3,建立项目之后在Startup类中配置swagger 这里我直接把代码贴出来: 在C ...
- SqlServer调用OPENQUERY函数远程执行增删改查
/* OPENQUERY函数,远程执行数据库增删改查 关于OPENQUERY函数第二个参数不支持拼接变量的方案 方案1:将OPENQUERY语句整个拼接为字符串,再用EXEC执行该字符串语句 方案2: ...
- 【vue入门】日志demo,增删改查的练习(无vuex版本)
安装 1. 确定电脑已装node和npm 出现版本号则说明电脑已经安装好node和npm2. 创建一个基于webpack的项目 3. 在项目里安装依赖 4. 运行 配置路由为了动态渲染各个页面的组 ...
- 使用Django开发简单接口:文章增删改查
目录 1.一些准备工作 安装django 创建django项目 创建博客应用(app) 2.models.py 3.django admin 登录 创建超级用户 4.修改urls.py 5.新增文章接 ...
- solr后台操作Documents之增删改查
偶尔会用到solr后台操作一些数据,比如测试等一些情况.但具体用的时候可能会忘记,或者搜的时候结果不全,在此略详细的记一下. 1.添加 {"id":6,"title&qu ...
- ABP框架服务层的接口与实现(增删改查)
public interface ITaskAppService : IApplicationService { IList<TaskDto> GetAllTasks();//所有 Get ...
- python调用函数实现数据的增删改查(2)
1 添加数据 def add(): # 输入姓名,年龄,电话 name=raw_input('name:') age=raw_input('age:') phone=raw_input('phone ...
- python调用函数实现数据的增删改查(1)
实现一个小功能,当输入相应的序号,会执行相关操作, 比如当输入序号1,会执行添加功能 #coding:utf-8print '''1 添加数据2 删除数据3 修改数据4 查看数据5 退出程序'''de ...
随机推荐
- Python | 解决方案 | 多个文件共用logger,重复打印问题
项目中封装了logging库为log.py,实现既把日志输出到控制台, 又写入日志文件文件. 环境:python3.7.3 项目中,多个文件共用logger,出现重复打印问题,解决流程记录如下: 文件 ...
- 搭建lnmp环境-php(第二步)
系统环境:centos7 php7.4 编译安装太繁琐,这里用yum安装即可 ===========yum形式安装======== # 安装EPEL源(nginx那里已安装了,跳过) yum inst ...
- [rCore学习笔记 020]第二章作业
写在前面 本随笔是非常菜的菜鸡写的.如有问题请及时提出. 可以联系:1160712160@qq.com GitHhub:https://github.com/WindDevil (目前啥也没有 编程题 ...
- [银河麒麟] Samba的安装与配置
什么是Samba以及它是干嘛的 Samba,是种用来让UNIX系列的操作系统与微软Windows操作系统的SMB/CIFS(Server Message Block/Common Internet F ...
- 【PHP】5版本 过程式操作MySQL
建立连接和释放连接: # 连接参数 $sever = 'localhost:3309'; $username = 'root'; $password = 'root'; # 调用连接方法,如果失败结束 ...
- 【Binary】XShell6 无法使用的解决办法
感谢博主的解决方案: https://www.cnblogs.com/pinkpolk/articles/13554445.html 首先需要安装VsCode,并且安装一个[Hex Editor]的插 ...
- 【Eclipse】入门使用
Eclipse界面简单概述 第一次启动时,工作空间的选择 工作界面的介绍: 选项条 工具栏 工程浏览窗口 工程大纲窗口 控制台输出窗口 在窗口选项中悬浮放在Show View选项中可以查看所有的窗口 ...
- 家务机器人(人形机器人)—— Mobile ALOHA: Your Housekeeping Robot
项目地址: https://mobile-aloha.github.io/ 演示视频地址: https://www.youtube.com/watch?v=HaaZ8ss-HP4 论文地址: http ...
- AI的发展需要有应用和落地场景 —— 李开复:传统公司看不懂技术,大模型落地B端阻碍多
引自:https://baijiahao.baidu.com/s?id=1801826206644007472&wfr=spider&for=pc "我们投了七八家机器人企业 ...
- NVIDIA公司在实体机器人上的第一步尝试 —— Nova Cater AMR —— 九号机器人与英伟达联合开发的自动驾驶研发平台“Nova Cater AMR(简称:NC)”
相关: https://www.leiphone.com/category/robot/Hgy9i8azqGncESIB.html Nova Cater AMR是一款仓储运货机器人,可以应用在仓储物流 ...