前端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 ...
随机推荐
- c++17 auto非类型模板参数
//用auto非类型模板参数 #include <iostream> using namespace std; template<auto c> auto foot() { c ...
- pytest批量执行多个测试文件(批量执行一个文件夹下的所有测试用例)
图片 代码 #!/usr/bin/env python # @File : test_runall.py import pytest import os # path = os.path.dirnam ...
- FusionAccess liteAD
回车回车 fusion access完成 进入access网页 https://IP:8443进入web网页 输入用户名:admin:密码:IaaS@PORTAL-CLOUD8! 输入完账号密码后改密 ...
- HDP 源码集
HDP 各个组件的源码(含历史各个版本) 分支 组件 标签 最后发版时间 地址 hadoop 2256 2020-12-21 17:44 https://gitee.com/piaolingzxh/h ...
- PyCharm2024 专业版激活设置中文
PyCharm2024 专业版激活设置中文 官网下载最新版:https://www.jetbrains.com/zh-cn/pycharm/download 「hack-jet激活idea家族.zip ...
- NVIDIA的OpenUSD是什么? —— Universal Scene Description (USD)
正如NVIDIA的老黄在2024年的技术大会上的展示一样,NVIDIA公司或许最准确的定义应该是计算机图形学公司,因为不论是NVIDIA搞GPU还是搞通用计算还是搞软件生态以至于现在搞AI搞机器人搞自 ...
- 日均调度 10W+ 任务实例,DolphinScheduler 在蔚来汽车一站式数据治理开发平台的应用改造
大家好我是张金明,在蔚来汽车担任大数据平台研发工程师.这次和大家分享的是 Apache DolphinScheduler 在蔚来汽车一站式数据治理开发平台的应用和改造,接下来我将从背景.应用现状和技术 ...
- Unity编辑器批量设置图片格式
在游戏开发中,经常需要批量设置图片的格式为Sprite类型,手动设置太麻烦,下面的编辑器脚本实现选中文件夹右键/Texture/SetAllImagesToSpriteType实现批量设置图片格式,具 ...
- CH03_运算符
CH03_运算符 算术运算符 作用:用于处理四则运算 示例: #include <iostream> using namespace std; int main() { int a = 1 ...
- 【牛客刷题】BM50 两数之和
本题的链接:BM50 两数之和 最初拿到这个题目首先想到的就是两个指针,然后向后遍历,于是写出来的代码也简明易懂: package main /** * * @param numbers int整型一 ...