添加后端管理页面

main
wanghb 2 years ago
parent 5e5df87aaf
commit 2e072078b3

@ -1,8 +1,6 @@
package com.zhiyun.zhiyun03.course.controller;
import com.zhiyun.zhiyun03.application.entity.Directory;
import com.zhiyun.zhiyun03.course.entity.Course;
import com.zhiyun.zhiyun03.course.service.CourseService;
import com.zhiyun.zhiyun03.course.vo.CourseVo;
@ -12,33 +10,42 @@ import com.zhiyun.zhiyun03.utils.common.JsonResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.models.auth.In;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
/**
*
*/
@Api("课程")
@RestController
@RequestMapping("/api/course")
public class CourseController {
/**
* service
*/
@Resource
private CourseService courseService;
/**
*
*/
@ApiOperation("查询课程")
@GetMapping("/queryCourse")
public JsonResult<PageVO<CourseVo>> queryCourse(@ApiParam @RequestParam(value = "page",required = false,defaultValue = "1")Integer page,
@ApiParam @RequestParam(value = "limit",required = false,defaultValue = "1")Integer limit ){
@ApiParam @RequestParam(value = "limit",required = false,defaultValue = "5")Integer limit ){
PageVO<CourseVo> lists = courseService.queryCourse(page,limit);
return JsonResult.success(lists);
return JsonResult.success(lists).setCount(lists.getTotal());
}
/**
* ID
*/
@ApiOperation("根据ID查询课程")
@GetMapping("/queryCourseById")
public JsonResult<CourseVo> queryCourseById(Integer id){
@ -50,7 +57,9 @@ public class CourseController {
/**
*
*/
@ApiOperation("课程添加")
@PostMapping("/addCourse")
public JsonResult addCourse(CourseVo courseVo){
@ -59,13 +68,19 @@ public class CourseController {
return JsonResult.success();
}
/**
* ID
*/
@ApiOperation("删除课程")
@DeleteMapping("delCourseById")
@GetMapping("delCourseById")
public JsonResult delCourseById(Integer id){
courseService.delCourseById(id);
return JsonResult.success();
}
/**
*
*/
@ApiOperation("更新课程")
@PostMapping("updateById")
public JsonResult updateById(CourseVo courseVo){

@ -11,12 +11,23 @@ import java.util.List;
@Mapper
public interface CourseMapper extends BaseMapper<Course> {
/**
*
*/
List<CourseVo> queryCourse();
/**
* id
*/
CourseVo queryCourseById(Integer id);
/**
*
*/
int updateCourseById(Course course);
/**
*
*/
int selectByName(String courseName);
}

@ -10,24 +10,29 @@ import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
public interface CourseService extends IService<Course> {
// public void addCourse(Course course);
//
// void delCourseById(Integer id);
//
// void updateById(Course course);
/*
*
* */
/**
*
*/
PageVO<CourseVo> queryCourse(Integer page, Integer limit );
/**
*
*/
int addCourse(CourseVo courseVo);
/**
* ID
*/
void delCourseById(Integer id);
/**
*
*/
int updateById(CourseVo courseVo);
/*
/**
* ID
* */
*/
CourseVo queryCourseById(Integer id);
}

@ -17,17 +17,25 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
*
*/
@Service
public class CourseServiceImpl extends ServiceImpl<CourseMapper,Course> implements CourseService {
/**
* CourseMapper
*/
@Resource
private CourseMapper courseMapper;
/**
* DirectoryMapper
*/
@Resource
private DirectoryMapper directoryMapper;
/**
*
*
*/
@Override
public PageVO<CourseVo> queryCourse(Integer page, Integer limit) {
@ -62,7 +70,7 @@ public class CourseServiceImpl extends ServiceImpl<CourseMapper,Course> implemen
{
throw new ServiceException("400","课程添加失败");
}
//查询名称查询课程
int sum = courseMapper.selectByName(courseVo.getCourseName());
if (sum>0)
{
@ -74,18 +82,20 @@ public class CourseServiceImpl extends ServiceImpl<CourseMapper,Course> implemen
BeanUtils.copyProperties(courseVo,course);
//获取目录名称
String dirName = courseVo.getDirName();
//查询目录id并赋值给course
Integer id = directoryMapper.selectByName(dirName);
course.setDirId(id);
//课程插入
int count = courseMapper.insert(course);
System.out.println("count====="+count);
if (count<0)
if (count>0)
{
throw new ServiceException("400","课程添加失败");
return count;
}else {
throw new ServiceException("400", "课程添加失败");
}
return count;
}
@ -95,6 +105,11 @@ public class CourseServiceImpl extends ServiceImpl<CourseMapper,Course> implemen
*/
@Override
public void delCourseById(Integer id) {
if (id==null)
{
throw new ServiceException("405", "查询不到课程信息");
}
//根据id删除课程
courseMapper.deleteById(id);
}
@ -103,6 +118,10 @@ public class CourseServiceImpl extends ServiceImpl<CourseMapper,Course> implemen
*/
@Override
public int updateById(CourseVo courseVo) {
if (courseVo==null)
{
throw new ServiceException("400","课程更新失败");
}
//将vo值赋给course
Course course = new Course();
BeanUtils.copyProperties(courseVo,course);
@ -114,7 +133,7 @@ public class CourseServiceImpl extends ServiceImpl<CourseMapper,Course> implemen
int count = courseMapper.updateCourseById(course);
if (count<0)
{
throw new ServiceException("400","课程更新失败");
throw new ServiceException("402","课程更新失败");
}
return count;
@ -125,6 +144,12 @@ public class CourseServiceImpl extends ServiceImpl<CourseMapper,Course> implemen
*/
@Override
public CourseVo queryCourseById(Integer id) {
if (id== null)
{
throw new ServiceException("405", "查询不到课程信息");
}
//根据id查找数据
CourseVo courseVo = courseMapper.queryCourseById(id);
if (courseVo==null)

@ -33,7 +33,7 @@ public class DownloadController {
PageVO<DownloadVo> lists = downloadService.queryDownload(page,limit);
return JsonResult.success(lists);
return JsonResult.success(lists).setCount(lists.getTotal());
}
@ApiOperation("添加下载")
@ -73,7 +73,7 @@ public class DownloadController {
@ApiOperation("删除下载")
@PostMapping("/delDownload")
@GetMapping("/delDownload")
public JsonResult delDownload(Integer id){
int count = downloadService.delDownload(id);
return JsonResult.success();

@ -48,7 +48,7 @@ public class InviteController {
}
@ApiOperation("删除课程")
@DeleteMapping("delInviteById")
@GetMapping("delInviteById")
public JsonResult delInviteById(Integer id){
inviteService.delInviteById(id);
return JsonResult.success();

@ -78,7 +78,7 @@ public class ServeController {
@ApiOperation("删除服务")
@PostMapping("/delServe")
@GetMapping("/delServe")
public JsonResult delServe(Integer id){
int count = serveService.delServe(id);
return JsonResult.success();

@ -1,13 +1,16 @@
package com.zhiyun.zhiyun03.utils.common;
import lombok.Data;
import lombok.experimental.Accessors;
@Data
@Accessors(chain = true)
public class JsonResult<T> {
private String code;
private String msg;
private T data;
private Long count;
public static JsonResult success() {

@ -6,7 +6,7 @@
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" href="layui/css/layui.css" tppabs="//res.ilayuis.com/layui/dist/css/layui.css" media="all">
<link rel="stylesheet" href="layui/css/layui.css" tppabs="//res.ilayuis.com/layui/dist/css/layui.css" media="all">
<!-- 注意如果你直接复制所有代码到本地上述css路径需要改成你本地的 -->
</head>
<body>
@ -15,9 +15,8 @@
<script type="text/html" id="toolbarDemo">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-sm" lay-event="getCheckData">获取选中行数据</button>
<button class="layui-btn layui-btn-sm" lay-event="getCheckLength">获取选中数目</button>
<button class="layui-btn layui-btn-sm" lay-event="isAll">验证是否全选</button>
<button class="layui-btn layui-btn-sm" lay-event="getCheckData">添加目录</button>
<button class="layui-btn layui-btn-sm" lay-event="getCheckLength">添加课程</button>
</div>
</script>
<script type="text/html" id="barDemo">
@ -25,120 +24,66 @@
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>
<!--<script src="layui/layui.js" charset="utf-8"></script>-->
<!--&lt;!&ndash; 注意:如果你直接复制所有代码到本地,上述 JS 路径需要改成你本地的 &ndash;&gt;-->
<!--<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>-->
<!--<script>-->
<!-- layui.use('table', function(){-->
<!-- var table = layui.table;-->
<!-- //温馨提示:默认由前端自动合计当前行数据。从 layui 2.5.6 开始: 若接口直接返回了合计行数据,则优先读取接口合计行数据。-->
<!-- //详见http://www.ilayuis.com/doc/modules/table.html#totalRow-->
<!-- table.render({-->
<!-- elem: '#test'-->
<!-- ,url:'http://localhost:8080/api/course/queryCourse'-->
<!-- ,toolbar: '#toolbarDemo'-->
<!-- ,title: '课程数据表'-->
<!-- ,totalRow: true-->
<!-- ,cols: [[-->
<!-- {type: 'checkbox', fixed: 'left'}-->
<!-- ,{field:'id', title:'编号', width:120, sort: true, }-->
<!-- ,{field:'courseName', title:'课程名称', width:120}-->
<!-- ,{field:'courseBrief', title:'课程简介', width:120}-->
<!-- ,{field:'courseUrl', title:'超链接', width:120}-->
<!-- ,{field:'dirName', title:'归属目录', width:120}-->
<!-- ,{field:'courseIcon', title:'课程图标', width:120}-->
<!-- ,{fixed: 'right', title:'操作', toolbar: '#barDemo', width:150}-->
<!-- ]]-->
<!-- ,page: true-->
<!-- });-->
<!-- //工具栏事件-->
<!-- table.on('toolbar(test)', function(obj){-->
<!-- var checkStatus = table.checkStatus(obj.config.id);-->
<!-- switch(obj.event){-->
<!-- case 'getCheckData':-->
<!-- var data = checkStatus.data;-->
<!-- layer.alert(JSON.stringify(data));-->
<!-- break;-->
<!-- case 'getCheckLength':-->
<!-- var data = checkStatus.data;-->
<!-- layer.msg('选中了:'+ data.length + ' 个');-->
<!-- break;-->
<!-- case 'isAll':-->
<!-- layer.msg(checkStatus.isAll ? '全选': '未全选')-->
<!-- break;-->
<!-- };-->
<!-- });-->
<!-- });-->
<!--</script>-->
<script src="layui/layui.js" charset="utf-8"></script>
<!-- 注意:如果你直接复制所有代码到本地,上述 JS 路径需要改成你本地的 -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<!-- 引入jquery-3.5.1.min.js -->
<script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-3.5.1.min.js"></script>
<script>
layui.use('table', function(){
layui.use('table', function () {
var table = layui.table;
//温馨提示:默认由前端自动合计当前行数据。从 layui 2.5.6 开始: 若接口直接返回了合计行数据,则优先读取接口合计行数据。
//详见http://www.ilayuis.com/doc/modules/table.html#totalRow
table.render({
elem: '#test'
,url:'http://localhost:8080/api/course/queryCourse'/*tpa=https://www.layuiweb.com/test/table/demo1.json*/
,toolbar: '#toolbarDemo' //开启头部工具栏,并为其绑定左侧模板
,defaultToolbar: ['filter', 'exports', 'print', { //自定义头部工具栏右侧图标。如无需自定义,去除该参数即可
title: '提示'
,layEvent: 'LAYTABLE_TIPS'
,icon: 'layui-icon-tips'
}]
,title: '课程数据表'
,cols: [[
, url: 'http://localhost:8080/api/course/queryCourse'
, toolbar: '#toolbarDemo'
, title: '课程中心'
, totalRow: true
, parseData: function (res) {
console.log('data', res)
return {
"code": res.code, //解析接口状态
"count": res.count, //解析总页数
"msg": res.msg, //解析提示文本
"data": res.data.list //解析数据列表
};
}
, response: {
statusName: 'code', //规定返回的状态码字段为code
statusCode: 200 //规定成功的状态码为200
}
, cols: [[
{type: 'checkbox', fixed: 'left'}
,{field:'id', title:'编号', width:120, sort: true, }
,{field:'courseName', title:'课程名称', width:120}
,{field:'courseBrief', title:'课程简介', width:120}
,{field:'courseUrl', title:'超链接', width:120}
,{field:'dirName', title:'归属目录', width:120}
,{field:'courseIcon', title:'课程图标', width:120}
,{fixed: 'right', title:'操作', toolbar: '#barDemo', width:150}
, {field: 'id', title: '序号', width: 300, sort: true,}
, {field: 'courseName', title: '课程名称', width: 300}
, {field: 'courseBrief', title: '课程简介', width: 300}
, {field: 'courseUrl', title: '超链接', width: 300}
, {field: 'dirName', title: '归属目录', width: 300}
, {fixed: 'right', title: '操作', toolbar: '#barDemo', width: 150}
]]
,page: { //支持传入 laypage 组件的所有参数某些参数除外jump/elem - 详见文档
//layout: ['limit', 'count', 'prev', 'page', 'next', 'skip'] //自定义分页布局
layout: ['count', 'prev', 'page', 'next', 'skip'] //自定义分页布局
,curr: 1 //设定初始在第 1 页
,groups: 3 //只显示 3 个连续页码
,first:"首页" //显示首页
,last:"尾页" //显示尾页
,limit: 2 //每页显示两条数据(和后端保持一致)
//,limits: [1,3,5]
}
, page: true
});
//工具栏事件
table.on('toolbar(test)', function(obj){
//工具栏事件
table.on('toolbar(test)', function (obj) {
var checkStatus = table.checkStatus(obj.config.id);
switch(obj.event){
switch (obj.event) {
case 'getCheckData':
var data = checkStatus.data;
layer.alert(JSON.stringify(data));
break;
case 'getCheckLength':
var data = checkStatus.data;
layer.msg('选中了:'+ data.length + ' 个');
layer.msg('选中了:' + data.length + ' 个');
break;
case 'isAll':
layer.msg(checkStatus.isAll ? '全选': '未全选');
break;
//自定义头工具栏右侧图标 - 提示
case 'LAYTABLE_TIPS':
layer.alert('这是工具栏右侧自定义的一个图标按钮');
layer.msg(checkStatus.isAll ? '全选' : '未全选')
break;
};
}
;
});
//监听行工具事件
@ -150,18 +95,16 @@
//obj.del();//删除表结构
layer.close(index);
//获取要删除的歌曲的id
var deleteMusicId = data.musicId;
//获取要删除的服务的id
var deleteCourseId = data.id;
//发送Ajax到后台进行删除操作
$.get("music/after/delete.do", { "musicId": deleteMusicId},
$.get("http://localhost:8080/api/course/delCourseById", { "id": deleteCourseId},
function(data){
if("success" == data){
if("success" == data.msg){
location.reload();//重新加载当前页面
}
});
});
} else if(obj.event === 'edit'){
// layer.prompt({
@ -178,7 +121,10 @@
selectOne(data);
}
});
});
</script>
</body>

@ -0,0 +1,130 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Layui</title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" href="layui/css/layui.css" tppabs="//res.ilayuis.com/layui/dist/css/layui.css" media="all">
<!-- 注意如果你直接复制所有代码到本地上述css路径需要改成你本地的 -->
</head>
<body>
<table class="layui-hide" id="test" lay-filter="test"></table>
<script type="text/html" id="toolbarDemo">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-sm" lay-event="getCheckData">添加目录</button>
<button class="layui-btn layui-btn-sm" lay-event="getCheckLength">添加下载</button>
</div>
</script>
<script type="text/html" id="barDemo">
<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>
<script src="layui/layui.js" charset="utf-8"></script>
<!-- 注意:如果你直接复制所有代码到本地,上述 JS 路径需要改成你本地的 -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
layui.use('table', function () {
var table = layui.table;
//温馨提示:默认由前端自动合计当前行数据。从 layui 2.5.6 开始: 若接口直接返回了合计行数据,则优先读取接口合计行数据。
//详见http://www.ilayuis.com/doc/modules/table.html#totalRow
table.render({
elem: '#test'
, url: 'http://localhost:8080/download/queryDownload'
, toolbar: '#toolbarDemo'
, title: '下载中心'
, totalRow: true
, parseData: function (res) {
console.log('data', res)
return {
"code": res.code, //解析接口状态
"count": res.count, //解析总页数
"msg": res.msg, //解析提示文本
"data": res.data.list //解析数据列表
};
}
, response: {
statusName: 'code', //规定返回的状态码字段为code
statusCode: 200 //规定成功的状态码为200
}
, cols: [[
{type: 'checkbox', fixed: 'left'}
, {field: 'id', title: '序号', width: 300, sort: true,}
, {field: 'downloadName', title: '招聘名称', width: 300}
, {field: 'downloadBrief', title: '招聘简介', width: 300}
, {field: 'downloadUrl', title: '超链接', width: 300}
, {field: 'dirName', title: '归属目录', width: 300}
, {fixed: 'right', title: '操作', toolbar: '#barDemo', width: 150}
]]
, page: true
});
//工具栏事件
table.on('toolbar(test)', function (obj) {
var checkStatus = table.checkStatus(obj.config.id);
switch (obj.event) {
case 'getCheckData':
var data = checkStatus.data;
layer.alert(JSON.stringify(data));
break;
case 'getCheckLength':
var data = checkStatus.data;
layer.msg('选中了:' + data.length + ' 个');
break;
case 'isAll':
layer.msg(checkStatus.isAll ? '全选' : '未全选')
break;
}
;
});
//监听行工具事件
table.on('tool(test)', function(obj){
var data = obj.data;
//console.log(obj)
if(obj.event === 'del'){
layer.confirm('真的删除行么', function(index){
//obj.del();//删除表结构
layer.close(index);
//获取要删除的服务的id
var deleteDownloadId = data.id;
//发送Ajax到后台进行删除操作
$.get("http://localhost:8080/download/delDownload", { "id": deleteDownloadId},
function(data){
if("success" == data.msg){
location.reload();//重新加载当前页面
}
});
});
} else if(obj.event === 'edit'){
// layer.prompt({
// formType: 2
// ,value: data.email
// }, function(value, index){
// obj.update({
// email: value
// });
// layer.close(index);
// });
//layer.alert(JSON.stringify(data));
selectOne(data);
}
});
});
</script>
</body>
</html>

@ -54,23 +54,24 @@
<!-- 左侧导航区域可配合layui已有的垂直导航 -->
<ul class="layui-nav layui-nav-tree" lay-filter="test">
<li class="layui-nav-item layui-nav-itemed">
<a class="" href="javascript:;" onclick="openUrl('courseList1.html')">课程中心</a>
<a class="" href="javascript:;" onclick="openUrl('courseList.html')">课程中心</a>
</li>
<li class="layui-nav-item">
<a href="javascript:;">应用中心</a>
<!-- <dl class="layui-nav-child">-->
<!-- <dd><a href="javascript:;">list 1</a></dd>-->
<!-- <dd><a href="javascript:;">list 2</a></dd>-->
<!-- <dd><a href="">超链接</a></dd>-->
<!-- </dl>-->
</li>
<li class="layui-nav-item"><a href="javascript:;">大赛中心</a></li>
<li class="layui-nav-item"><a href="">考证中心</a></li>
<li class="layui-nav-item"><a href="">学术中心</a></li>
<li class="layui-nav-item"><a href="">知识分享</a></li>
<li class="layui-nav-item"><a href="">下载中心</a></li>
<li class="layui-nav-item"><a href="">就业中心</a></li>
<li class="layui-nav-item"><a href="">服务相关</a></li>
<li class="layui-nav-item layui-nav-itemed">
<a class="" href="javascript:;" onclick="openUrl('downloadList.html')">下载中心</a>
</li>
<li class="layui-nav-item layui-nav-itemed">
<a class="" href="javascript:;" onclick="openUrl('inviteList.html')">就业中心</a>
</li>
<li class="layui-nav-item layui-nav-itemed">
<a class="" href="javascript:;" onclick="openUrl('serveList.html')">服务相关</a>
</li>
</ul>
</div>
</div>

@ -0,0 +1,116 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Layui</title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" href="layui/css/layui.css" tppabs="//res.ilayuis.com/layui/dist/css/layui.css" media="all">
<!-- 注意如果你直接复制所有代码到本地上述css路径需要改成你本地的 -->
</head>
<body>
<table class="layui-hide" id="test" lay-filter="test"></table>
<script type="text/html" id="toolbarDemo">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-sm" lay-event="getCheckData">添加目录</button>
<button class="layui-btn layui-btn-sm" lay-event="getCheckLength">添加招聘</button>
</div>
</script>
<script type="text/html" id="barDemo">
<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>
<script src="layui/layui.js" charset="utf-8"></script>
<!-- 注意:如果你直接复制所有代码到本地,上述 JS 路径需要改成你本地的 -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
layui.use('table', function () {
var table = layui.table;
//温馨提示:默认由前端自动合计当前行数据。从 layui 2.5.6 开始: 若接口直接返回了合计行数据,则优先读取接口合计行数据。
//详见http://www.ilayuis.com/doc/modules/table.html#totalRow
table.render({
elem: '#test'
, url: 'http://localhost:8080/api/invite/queryInvite'
, toolbar: '#toolbarDemo'
, title: '就业中心'
, totalRow: true
, parseData: function (res) {
console.log('data', res)
return {
"code": res.code, //解析接口状态
"count": res.count, //解析总页数
"msg": res.msg, //解析提示文本
"data": res.data.list //解析数据列表
};
}
, response: {
statusName: 'code', //规定返回的状态码字段为code
statusCode: 200 //规定成功的状态码为200
}
, cols: [[
{type: 'checkbox', fixed: 'left'}
, {field: 'id', title: '序号', width: 300, sort: true,}
, {field: 'inviteName', title: '招聘名称', width: 300}
, {field: 'inviteBrief', title: '招聘简介', width: 300}
, {field: 'inviteUrl', title: '超链接', width: 300}
, {field: 'dirName', title: '归属目录', width: 300}
, {fixed: 'right', title: '操作', toolbar: '#barDemo', width: 150}
]]
, page: true
});
//工具栏事件
table.on('toolbar(test)', function (obj) {
var checkStatus = table.checkStatus(obj.config.id);
switch (obj.event) {
case 'getCheckData':
var data = checkStatus.data;
layer.alert(JSON.stringify(data));
break;
case 'getCheckLength':
var data = checkStatus.data;
layer.msg('选中了:' + data.length + ' 个');
break;
case 'isAll':
layer.msg(checkStatus.isAll ? '全选' : '未全选')
break;
}
;
});
//监听行工具事件
table.on('tool(test)', function(obj){
var data = obj.data;
//console.log(obj)
if(obj.event === 'del'){
layer.confirm('真的删除行么', function(index){
//obj.del();//删除表结构
layer.close(index);
//获取要删除的服务的id
var deleteDownloadId = data.id;
//发送Ajax到后台进行删除操作
$.get("http://localhost:8080/download/delDownload", { "id": deleteDownloadId},
function(data){
if("success" == data.msg){
location.reload();//重新加载当前页面
}
});
});
}
});
});
</script>
</body>
</html>

@ -0,0 +1,131 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Layui</title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" href="layui/css/layui.css" tppabs="//res.ilayuis.com/layui/dist/css/layui.css" media="all">
<!-- 注意如果你直接复制所有代码到本地上述css路径需要改成你本地的 -->
</head>
<body>
<table class="layui-hide" id="test" lay-filter="test"></table>
<script type="text/html" id="toolbarDemo">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-sm" lay-event="getCheckData">添加目录</button>
<button class="layui-btn layui-btn-sm" lay-event="getCheckLength">添加服务</button>
</div>
</script>
<script type="text/html" id="barDemo">
<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>
<script src="layui/layui.js" charset="utf-8"></script>
<!-- 注意:如果你直接复制所有代码到本地,上述 JS 路径需要改成你本地的 -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
layui.use('table', function () {
var table = layui.table;
//温馨提示:默认由前端自动合计当前行数据。从 layui 2.5.6 开始: 若接口直接返回了合计行数据,则优先读取接口合计行数据。
//详见http://www.ilayuis.com/doc/modules/table.html#totalRow
table.render({
elem: '#test'
, url: 'http://localhost:8080/api/serve/queryServe'
, toolbar: '#toolbarDemo'
, title: '服务相关'
, totalRow: true
, parseData: function (res) {
console.log('data', res)
return {
"code": res.code, //解析接口状态
"count": res.count, //解析总页数
"msg": res.msg, //解析提示文本
"data": res.data.list //解析数据列表
};
}
, response: {
statusName: 'code', //规定返回的状态码字段为code
statusCode: 200 //规定成功的状态码为200
}
, cols: [[
{type: 'checkbox', fixed: 'left'}
, {field: 'id', title: '序号', width: 300, sort: true,}
, {field: 'serveName', title: '课程名称', width: 300}
, {field: 'serveBrief', title: '课程简介', width: 300}
, {field: 'serveUrl', title: '超链接', width: 300}
, {field: 'dirName', title: '归属目录', width: 300}
, {fixed: 'right', title: '操作', toolbar: '#barDemo', width: 150}
]]
, page: true
});
//工具栏事件
table.on('toolbar(test)', function (obj) {
var checkStatus = table.checkStatus(obj.config.id);
switch (obj.event) {
case 'getCheckData':
var data = checkStatus.data;
layer.alert(JSON.stringify(data));
break;
case 'getCheckLength':
var data = checkStatus.data;
layer.msg('选中了:' + data.length + ' 个');
break;
case 'isAll':
layer.msg(checkStatus.isAll ? '全选' : '未全选')
break;
}
;
});
//监听行工具事件
table.on('tool(test)', function(obj){
var data = obj.data;
//console.log(obj)
if(obj.event === 'del'){
layer.confirm('真的删除行么', function(index){
//obj.del();//删除表结构
layer.close(index);
//获取要删除的服务的id
var deleteCourseId = data.id;
//发送Ajax到后台进行删除操作
$.get("http://localhost:8080/api/course/delCourseById", { "id": deleteCourseId},
function(data){
if("success" == data){
location.reload();//重新加载当前页面
}
});
});
} else if(obj.event === 'edit'){
// layer.prompt({
// formType: 2
// ,value: data.email
// }, function(value, index){
// obj.update({
// email: value
// });
// layer.close(index);
// });
//layer.alert(JSON.stringify(data));
selectOne(data);
}
});
});
</script>
});
</script>
</body>
</html>
Loading…
Cancel
Save