vue
<template>
<div>
<div style="margin: 20px"></div>
<el-button type="primary" @click="addBtn()" v-hasPermi="['student:student:add']">添加</el-button>
<!-- <div style="width: 200px">-->
<!-- <h1>学生姓名:</h1> <el-input v-model="input.name" placeholder="请输入内容"></el-input>-->
<!-- <h1>学生年龄:</h1> <el-input v-model="input.age" placeholder="请输入内容"></el-input>-->
<!-- </div>-->
<!-- <el-button type="success" @click="inputSelect()">搜索</el-button>-->
<!-- 模糊查询-->
<div style="margin: 20px"></div>
<el-form :inline="true" :model="input" class="demo-form-inline" ref="queryForm">
<el-form-item label="学生姓名:">
<el-input v-model="input.name" placeholder="学生姓名:"></el-input>
</el-form-item>
<el-form-item label="学生年龄:">
<el-input v-model="input.age" placeholder="学生年龄:"></el-input>
</el-form-item>
<el-form-item>
<el-button type="success" @click="inputSelect()">搜索</el-button>
</el-form-item>
</el-form>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery()">重置</el-button>
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="DeleteMor"
>删除</el-button>
<el-table
:data="tableData"
style="width: 100%"
@selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column
prop="id"
label="id"
width="180">
</el-table-column>
<el-table-column
prop="name"
label="名字"
width="180">
</el-table-column>
<el-table-column
prop="age"
label="年龄"
width="180">
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row.id)"
v-hasPermi="['student:student:update']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row.id)"
v-hasPermi="['student:student:delete']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<!-- 添加 -->
<el-dialog title="收货地址" :visible.sync="dialogFormVisible">
<el-form :model="form">
<el-form-item label="学生姓名" :label-width="formLabelWidth">
<el-input v-model="form.name" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="学生年龄" :label-width="formLabelWidth">
<el-input v-model="form.age" autocomplete="off"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogFormVisible = false">取 消</el-button>
<el-button type="primary" @click="formOk()">确 定</el-button>
</div>
</el-dialog>
<!-- 分页组件-->
<pagination
v-show="total>0"
:total="total"
:page.sync="input.pageNum"
:limit.sync="input.pageSize"
@pagination="getList"
/>
</div>
</template>
<script>
import { listNotice,delNotice,addNotice,getNotice,updateNotice,delMor } from "@/api/student/student";
export default {
data() {
return {
tableData: [],
dialogFormVisible : false,
openStatus : false,
form : {},
input : {
pageNum: 1,
pageSize: 10
},
formLabelWidth: '120px',
total : 0,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
}
},
created() {
this.getList();
},
methods: {
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!=1
this.multiple = !selection.length
},
/** 查询公告列表 */
getList() {
listNotice(this.input).then(response => {
this.tableData = response.rows;
this.total = response.total;
});
},
/** 重置 */
resetQuery(){
this.$nextTick(() => {
this.input = {
};
});
},
/** 点击删除按钮 */
handleDelete(id){
this.$modal.confirm('是否确认删除学生编号为"' + id + '"的数据项?').then(function() {
return delNotice(id);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 删除多条数据 */
DeleteMor(){
const noticeIds = this.ids
this.$modal.confirm('是否确认删除公告编号为"' + noticeIds + '"的数据项?').then(function() {
return delMor(noticeIds);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 点击确定按钮事件 */
formOk(){
if(this.openStatus){
updateNotice(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.dialogFormVisible = false;
this.getList();
});
}else {
addNotice(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.dialogFormVisible = false;
this.getList();
});
}
},
/** 点击添加事件 */
addBtn(){
this.openStatus = false;
this.form = {};
this.dialogFormVisible = true
},
/** 点击修改按钮 */
handleUpdate(id){
this.openStatus = true;
getNotice(id).then(response => {
this.form = response.data[0];
this.dialogFormVisible = true;
});
},
/** 点模糊查询搜索按钮 */
inputSelect(){
this.getList()
}
}
}
</script>
<style>
</style>
js
import request from '@/utils/request'
// 查询列表
export function listNotice(query) {
return request({
url: '/student/student/list',
method: 'get',
params: query
})
}
// 删除学生
export function delNotice(id) {
return request({
url: '/student/student/delete?id=' + id,
method: 'get'
})
}
// 新增学生
export function addNotice(data) {
return request({
url: '/student/student/add',
method: 'post',
data: data
})
}
// 根据id查询
export function getNotice(id) {
return request({
url: '/student/student/selectById?id=' + id,
method: 'get'
})
}
// 修改学生数据
export function updateNotice(data) {
return request({
url: '/student/student/update',
method: 'post',
data: data
})
}
// 删除多条
export function delMor(id) {
return request({
url: '/student/student/deleteMor/' + id,
method: 'get'
})
}
java controller
/**
* 批量删除
*/
@PreAuthorize("@ss.hasPermi('student:student:delete')")
@Log(title = "通知公告", businessType = BusinessType.DELETE)
@GetMapping("deleteMor/{Ids}")
public AjaxResult remove(@PathVariable Long[] Ids)
{
return toAjax(studentService.deleteIds(Ids));
}
xml
<delete id="deleteIds" parameterType="Long">
delete from student where id in
<foreach item="ids" collection="array" open="(" separator="," close=")">
#{ids}
</foreach>
</delete>