前端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 ...
随机推荐
- 双指针 & 双向搜索
双指针 根据人类直觉这个东西需要满足单调性,所以预处理的时候大概率需要排序. 好像常与二分结合使用? 可以用在序列.链表(存储位置)或者树.图上(存储结点). 或者用于其他算法(eg:单调队列.差分) ...
- Week 0
Day 0 我8:00与lsh前往济南,在大约11:40左右抵达济南高铁站. 等高铁期间,我在庞大的济南高铁站中找到了我心心念念的而DY却没有的赛百味三明治,买了27的西式火腿三明治和34的香烤牛肉三 ...
- STM32开发环境配置记录——关于PlatformIO + VSCode + CubeMX的集成环境配置
前言 为什么配置这样的一个环境呢?鄙人受够了Keil5那个简陋的工作环境了,实在是用不下去,调试上很容易跟CubeMX的代码产生不协调导致调试--发布代码不一致造成的一系列问题.CubeIDE虽说 ...
- Jmeter函数助手20-eval
eval函数用于执行变量名.嵌套函数,允许在变量中的字符串中插入变量和函数引用 包含变量和函数引用的文本:填入变量名称或者函数或者字符,可以只填一种也可以组合都填入 1.eval函数填入的是变量名时则 ...
- Jmeter函数助手15-FiletoString
FiletoString函数用于一次读取整个文件值. 输入文件的全路径:填入文件路径 File encoding if not the platform default (opt):读取文件的编码格式 ...
- wordpress站点转移
title: wordpress站点转移 date: 2024/7/13 11:11:11 tag: linux学习 categories: wordpress建设 description: 搭建后的 ...
- Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock error was 14: curl#6 - "Could not resolve host: mirrorlist.centos.org; 未知的错误"解决yum下载报错
报错信息 │ (SSH client, X server and network tools) │ │ │ │ ⮞ SSH session to root@192.168.117.166 │ │ • ...
- 【Hibernate】Re01 快速入门
官网地址: http://hibernate.org/orm/releases/5.4/ 地址: https://bintray.com/hibernate/artifacts/hibernate-o ...
- conda/anconda报错:WARNING conda.models.version:get_matcher(556): Using .* with relational operat
conda/anconda报错:WARNING conda.models.version:get_matcher(556): Using .* with relational operat 解决方法, ...
- 连接huggingface.co报错:(MaxRetryError("SOCKSHTTPSConnectionPool(host='huggingface.co', port=443) (SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1007)
参考: https://blog.csdn.net/shizheng_Li/article/details/132942548 https://blog.csdn.net/weixin_4220944 ...