parent
afcd511263
commit
a1194e2cd6
@ -1,19 +0,0 @@
|
|||||||
package com.example.demo.config.config;
|
|
||||||
|
|
||||||
import org.springframework.context.annotation.Configuration;
|
|
||||||
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
|
|
||||||
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Web 配置类
|
|
||||||
*
|
|
||||||
* @author huang
|
|
||||||
* @since 2022-03-18
|
|
||||||
*/
|
|
||||||
@Configuration
|
|
||||||
public class WebConfig implements WebMvcConfigurer {
|
|
||||||
@Override
|
|
||||||
public void addViewControllers(ViewControllerRegistry registry) {
|
|
||||||
registry.addViewController("/").setViewName("login/login");
|
|
||||||
}
|
|
||||||
}
|
|
@ -0,0 +1,67 @@
|
|||||||
|
package com.example.demo.controller;
|
||||||
|
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
|
import io.swagger.v3.oas.annotations.tags.Tags;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
||||||
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
import org.springframework.jdbc.core.JdbcTemplate;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
@SpringBootApplication
|
||||||
|
@Tag(name ="你的接口",description = "test")
|
||||||
|
public class ControllerText {
|
||||||
|
@Operation(summary = "获取用户列表",description = "test")
|
||||||
|
@RequestMapping("getUser")
|
||||||
|
|
||||||
|
public Map<String, Object> getUser(){
|
||||||
|
System.out.println("微信小程序正在调用。。。");
|
||||||
|
Map<String, Object> map = new HashMap<String, Object>();
|
||||||
|
List<String> list = new ArrayList<String>();
|
||||||
|
list.add("zhangsan");
|
||||||
|
list.add("lisi");
|
||||||
|
list.add("wanger");
|
||||||
|
list.add("mazi");
|
||||||
|
map.put("list",list);
|
||||||
|
System.out.println("微信小程序调用完成。。。");
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
@Operation(summary = "获取用户表",description = "test")
|
||||||
|
@RequestMapping("getWord")
|
||||||
|
public Map<String, Object> getText(String word){
|
||||||
|
Map<String, Object> map = new HashMap<String, Object>();
|
||||||
|
String message = "我能力有限,不要为难我";
|
||||||
|
if ("后来".equals(word)) {
|
||||||
|
message="正在热映的后来的我们是刘若英的处女作。";
|
||||||
|
}else if("微信小程序".equals(word)){
|
||||||
|
message= "想获取更多微信小程序相关知识,请更多的阅读微信官方文档,还有其他更多微信开发相关的内容,学无止境。";
|
||||||
|
}else if("cauc".equals(word)){
|
||||||
|
message="yes";
|
||||||
|
}
|
||||||
|
map.put("message", message);
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
JdbcTemplate jct;
|
||||||
|
@Operation(summary = "取用户列表",description = "test")
|
||||||
|
@GetMapping("userslist")
|
||||||
|
public List<Map<String, Object>> userlist(){
|
||||||
|
String sql = "select * from user";
|
||||||
|
List<Map<String, Object>> map = jct.queryForList(sql);
|
||||||
|
System.out.println("调用sql");
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,42 @@
|
|||||||
|
package com.example.demo.controller;
|
||||||
|
|
||||||
|
import com.example.demo.common.util.FormatResponseUtil;
|
||||||
|
import com.example.demo.common.util.ResponseResult;
|
||||||
|
import com.example.demo.domain.Dragon;
|
||||||
|
import com.example.demo.service.impl.DragonServiceImpl;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/dragon")
|
||||||
|
public class DragonController {
|
||||||
|
@Autowired(required = false)
|
||||||
|
DragonServiceImpl dragonService;
|
||||||
|
|
||||||
|
@GetMapping("/dragonList")
|
||||||
|
public ResponseResult queryAll() {
|
||||||
|
return FormatResponseUtil.formatResponse(dragonService.queryAll());
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/addDragon")
|
||||||
|
public ResponseResult addDragon(@RequestBody Dragon dragon) {
|
||||||
|
//System.out.println("1111111111");
|
||||||
|
return FormatResponseUtil.formatResponse(dragonService.save(dragon));
|
||||||
|
}
|
||||||
|
|
||||||
|
@DeleteMapping("/delete")//这里执行的是物理删除
|
||||||
|
public ResponseResult delTDragonById(Integer id) {
|
||||||
|
return FormatResponseUtil.formatResponse(dragonService.delDragonById(id));
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/one")
|
||||||
|
public ResponseResult queryById(int id) {
|
||||||
|
return FormatResponseUtil.formatResponse(dragonService.queryDragonById(id));
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/dragonInfo")
|
||||||
|
public ResponseResult updateArea(@RequestBody Dragon dragon) {
|
||||||
|
return FormatResponseUtil.formatResponse(dragonService.updateById(dragon));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,122 @@
|
|||||||
|
package com.example.demo.controller;
|
||||||
|
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.example.demo.domain.Dragonson;
|
||||||
|
import com.example.demo.domain.User;
|
||||||
|
import com.example.demo.mapper.DragonsonMapper;
|
||||||
|
import com.example.demo.mapper.UserMapper;
|
||||||
|
import org.apache.poi.hssf.usermodel.*;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.PathVariable;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import java.io.*;
|
||||||
|
import java.net.URLEncoder;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Controller
|
||||||
|
public class Webneed {
|
||||||
|
@Autowired
|
||||||
|
DragonsonMapper dragonsonMapper;
|
||||||
|
|
||||||
|
@GetMapping("/exceldownload/{Taskid}")
|
||||||
|
public void download(HttpServletResponse response, @PathVariable("Taskid") String dragonid) throws IOException {
|
||||||
|
HSSFWorkbook workbook = new HSSFWorkbook();
|
||||||
|
HSSFSheet sheet = workbook.createSheet("接龙情况");
|
||||||
|
QueryWrapper<Dragonson> queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.like("dragon_id", dragonid);
|
||||||
|
|
||||||
|
List<Dragonson> list = this.dragonsonMapper.selectList(queryWrapper);
|
||||||
|
String filename = dragonid + ".xls";
|
||||||
|
int rowNum = 1;
|
||||||
|
//表头
|
||||||
|
String[] headers = {"num", "dragonid", "studentnumber", "finishtime", "text"};
|
||||||
|
HSSFRow row = sheet.createRow(0);
|
||||||
|
for (int i = 0; i < headers.length; i++) {
|
||||||
|
HSSFCell cell = row.createCell(i);
|
||||||
|
HSSFRichTextString text = new HSSFRichTextString(headers[i]);
|
||||||
|
cell.setCellValue(text);
|
||||||
|
}
|
||||||
|
//在表中存放查询到的数据放入对应的列
|
||||||
|
for (Dragonson dragonson : list) {
|
||||||
|
HSSFRow row1 = sheet.createRow(rowNum);
|
||||||
|
row1.createCell(0).setCellValue(dragonson.getId());
|
||||||
|
row1.createCell(1).setCellValue(dragonson.getDragonid());
|
||||||
|
row1.createCell(2).setCellValue(dragonson.getStudentnumber());
|
||||||
|
row1.createCell(3).setCellValue(dragonson.getFinishtime());
|
||||||
|
row1.createCell(4).setCellValue(dragonson.getText());
|
||||||
|
rowNum++;
|
||||||
|
}
|
||||||
|
response.setContentType("application/octet-stream");
|
||||||
|
response.setHeader("Content-disposition", "attachment;filename=" + filename);
|
||||||
|
response.flushBuffer();
|
||||||
|
workbook.write(response.getOutputStream());
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestMapping("/daochu")
|
||||||
|
|
||||||
|
public String daochu() {
|
||||||
|
return "daochu";
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestMapping("/filedownload/{Taskid}")
|
||||||
|
public String downloadfile(@PathVariable("Taskid") String taskid,
|
||||||
|
HttpServletResponse response) throws UnsupportedEncodingException {
|
||||||
|
File scFileDir = new File("./");
|
||||||
|
String fileName = taskid + ".zip";
|
||||||
|
File fileDir = new File(scFileDir, fileName);
|
||||||
|
System.out.println(fileDir.getName());
|
||||||
|
if (fileDir.exists()) {
|
||||||
|
// 配置文件下载
|
||||||
|
response.setHeader("content-type", "application/octet-stream");
|
||||||
|
response.setContentType("application/octet-stream");
|
||||||
|
// 下载文件能正常显示中文
|
||||||
|
response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8"));
|
||||||
|
// 实现文件下载
|
||||||
|
byte[] buffer = new byte[1024];
|
||||||
|
FileInputStream fis = null;
|
||||||
|
BufferedInputStream bis = null;
|
||||||
|
try {
|
||||||
|
fis = new FileInputStream(fileDir);
|
||||||
|
bis = new BufferedInputStream(fis);
|
||||||
|
OutputStream os = response.getOutputStream();
|
||||||
|
int i = bis.read(buffer);
|
||||||
|
while (i != -1) {
|
||||||
|
os.write(buffer, 0, i);
|
||||||
|
i = bis.read(buffer);
|
||||||
|
}
|
||||||
|
System.out.println("Download the song successfully!");
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.out.println("Download the song failed!");
|
||||||
|
} finally {
|
||||||
|
if (bis != null) {
|
||||||
|
try {
|
||||||
|
bis.close();
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (fis != null) {
|
||||||
|
try {
|
||||||
|
fis.close();
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,61 @@
|
|||||||
|
package com.example.demo.domain;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.segments.MergeSegments;
|
||||||
|
import lombok.Data;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@TableName("dragonson")
|
||||||
|
public class Dragonson extends Wrapper<Dragonson> {
|
||||||
|
/**
|
||||||
|
* id
|
||||||
|
*/
|
||||||
|
@TableField("id")
|
||||||
|
private int id;
|
||||||
|
/**
|
||||||
|
* dragon_id
|
||||||
|
*/
|
||||||
|
@TableField("dragon_id")
|
||||||
|
private int dragonid;
|
||||||
|
/**
|
||||||
|
* studentnumber
|
||||||
|
*/
|
||||||
|
@TableField("studentnumber")
|
||||||
|
private String studentnumber;
|
||||||
|
/**
|
||||||
|
* finishtime
|
||||||
|
*/
|
||||||
|
@TableField("finishtime")
|
||||||
|
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||||
|
private Date finishtime;
|
||||||
|
/**
|
||||||
|
* text
|
||||||
|
*/
|
||||||
|
@TableField("text")
|
||||||
|
private String text;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Dragonson getEntity() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public MergeSegments getExpression() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void clear() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getSqlSegment() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,12 @@
|
|||||||
|
package com.example.demo.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.example.demo.domain.Dragon;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 和数据库的连接层
|
||||||
|
*/
|
||||||
|
@Mapper
|
||||||
|
public interface DragonMapper extends BaseMapper<Dragon> {
|
||||||
|
}
|
@ -0,0 +1,10 @@
|
|||||||
|
package com.example.demo.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.example.demo.domain.Dragonson;
|
||||||
|
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
|
@Mapper
|
||||||
|
public interface DragonsonMapper extends BaseMapper<Dragonson> {
|
||||||
|
}
|
@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.example.demo.mapper.DragonMapper">
|
||||||
|
</mapper>
|
@ -0,0 +1,25 @@
|
|||||||
|
package com.example.demo.service;
|
||||||
|
|
||||||
|
import com.example.demo.domain.Dragon;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 面向数据库的接口
|
||||||
|
*/
|
||||||
|
public interface IDragonService {
|
||||||
|
/**
|
||||||
|
* 查询所有Area
|
||||||
|
*/
|
||||||
|
List<Dragon> queryAll();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过Id查询Dragon
|
||||||
|
*/
|
||||||
|
Dragon queryDragonById(int id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过Id删除Dragon
|
||||||
|
*/
|
||||||
|
boolean delDragonById(int id);
|
||||||
|
}
|
@ -0,0 +1,41 @@
|
|||||||
|
package com.example.demo.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.example.demo.domain.Dragon;
|
||||||
|
import com.example.demo.mapper.DragonMapper;
|
||||||
|
import com.example.demo.service.IDragonService;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class DragonServiceImpl extends ServiceImpl<DragonMapper, Dragon> implements IDragonService {
|
||||||
|
|
||||||
|
|
||||||
|
@Autowired(required = false)
|
||||||
|
DragonMapper dragonMapper;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<Dragon> queryAll() {
|
||||||
|
LambdaQueryWrapper<Dragon> wrapper = Wrappers.lambdaQuery();
|
||||||
|
wrapper.orderByAsc(Dragon::getId);
|
||||||
|
List<Dragon> dragonList = dragonMapper.selectList(wrapper);
|
||||||
|
return dragonList;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Dragon queryDragonById(int id) {
|
||||||
|
Dragon dragon = dragonMapper.selectById(id);
|
||||||
|
return dragon;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean delDragonById(int id) {
|
||||||
|
boolean ans;
|
||||||
|
int i = dragonMapper.deleteById(id);
|
||||||
|
return ans = i > 0 ? true : false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,21 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>Title</title>
|
||||||
|
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<table border="0" style="margin-top:4px; margin-left: 18px">
|
||||||
|
<tr>
|
||||||
|
<td><a href="#" class="easyui-linkbutton" onclick="downloadfile();">数据导出</a></td>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<script>
|
||||||
|
function downloadfile() {
|
||||||
|
window.location.href = "/exceldownload";
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</table>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,202 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<!-- saved from url=(0052)http://getbootstrap.com/docs/4.0/examples/dashboard/ -->
|
||||||
|
<html lang=xmlns:th="http://www.thymeleaf.org">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
|
||||||
|
<title>Dashboard Template for Bootstrap</title>
|
||||||
|
<!-- Bootstrap core CSS -->
|
||||||
|
<link href="/css/bootstrap.min.css" rel="stylesheet">
|
||||||
|
|
||||||
|
<!-- Custom styles for this template -->
|
||||||
|
<link href="/css/dashboard.css" rel="stylesheet">
|
||||||
|
<style type="text/css">
|
||||||
|
/* Chart.js */
|
||||||
|
|
||||||
|
@-webkit-keyframes chartjs-render-animation {
|
||||||
|
from {
|
||||||
|
opacity: 0.99
|
||||||
|
}
|
||||||
|
to {
|
||||||
|
opacity: 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes chartjs-render-animation {
|
||||||
|
from {
|
||||||
|
opacity: 0.99
|
||||||
|
}
|
||||||
|
to {
|
||||||
|
opacity: 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.chartjs-render-monitor {
|
||||||
|
-webkit-animation: chartjs-render-animation 0.001s;
|
||||||
|
animation: chartjs-render-animation 0.001s;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<nav class="navbar navbar-dark sticky-top bg-dark flex-md-nowrap p-0">
|
||||||
|
<!-- <a class="navbar-brand col-sm-3 col-md-2 mr-0" href="http://getbootstrap.com/docs/4.0/examples/dashboard/#">Company name</a>-->
|
||||||
|
<input class="form-control form-control-dark w-100" type="text" placeholder="Search" aria-label="Search">
|
||||||
|
<ul class="navbar-nav px-3">
|
||||||
|
<li class="nav-item text-nowrap">
|
||||||
|
<a class="nav-link" th:href="@{/index}">Sign out</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row">
|
||||||
|
<div th:insert="~{dashboard::sidebar}"></div>
|
||||||
|
|
||||||
|
<main role="main" class="col-md-9 ml-sm-auto col-lg-10 pt-3 px-4">
|
||||||
|
<table class="table table-striped table-sm">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>ID</th>
|
||||||
|
<th>学号</th>
|
||||||
|
<th>提交时间</th>
|
||||||
|
<th>文件地址</th>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
</thead>
|
||||||
|
|
||||||
|
<tbody>
|
||||||
|
<tr th:each="item : ${groupdetail}" >
|
||||||
|
|
||||||
|
|
||||||
|
<form th:action="@{/totalgroupnote}" method="get">
|
||||||
|
<td th:text="${item.Taskid}"></td>
|
||||||
|
<td th:text="${item.studentnumber}"></td>
|
||||||
|
<td th:text="${item.finishtime}"></td>
|
||||||
|
<td th:text="${item.filepath}"></td>
|
||||||
|
<td><a class="btn btn-sm btn-success"th:href="@{/exceldownload/}+${item.Taskid}">导出</a></td>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- <input type="hidden" name="taskid" th:value="${item.id}">-->
|
||||||
|
<!-- <input type="hidden" name="taskname" th:value="${item.name}">-->
|
||||||
|
<!-- <div class="form-group">-->
|
||||||
|
<!-- <label>学号</label>-->
|
||||||
|
<!-- <input type="text" name="Studentnumber" class="form-control" th:placeholder="${user.StudentNumber}">-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- <div class="form-group">-->
|
||||||
|
<!-- <label>姓名</label>-->
|
||||||
|
<!-- <input type="text" name="name" class="form-control" th:placeholder="${user.name}">-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- <div class="form-group">-->
|
||||||
|
<!-- <label>权限</label><br>-->
|
||||||
|
<!-- <div class="form-check form-check-inline">-->
|
||||||
|
<!-- <input class="form-check-input" type="radio" name="power" value="1">-->
|
||||||
|
<!-- <label class="form-check-label">管理员</label>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- <div class="form-check form-check-inline">-->
|
||||||
|
<!-- <input class="form-check-input" type="radio" name="power" value="0">-->
|
||||||
|
<!-- <label class="form-check-label">用户</label>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
|
||||||
|
<button type="submit" class="btn btn-primary">返回</button>
|
||||||
|
</form>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<!-- <form th:action="@{/user}">-->
|
||||||
|
<!-- <div class="form-group">-->
|
||||||
|
<!-- <label>学号</label>-->
|
||||||
|
<!-- <input th:text="${user.name}" type="text" class="form-control" placeholder="海绵宝宝">-->
|
||||||
|
<!-- <div th:text="${users}"></div>-->
|
||||||
|
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- <div class="form-group">-->
|
||||||
|
<!-- <label>姓名</label>-->
|
||||||
|
<!-- <input type="email" class="form-control" placeholder="">-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!--<!– <div class="form-group">–>-->
|
||||||
|
<!--<!– <label>Gender</label><br>–>-->
|
||||||
|
<!--<!– <div class="form-check form-check-inline">–>-->
|
||||||
|
<!--<!– <input class="form-check-input" type="radio" name="gender" value="1">–>-->
|
||||||
|
<!--<!– <label class="form-check-label">男</label>–>-->
|
||||||
|
<!--<!– </div>–>-->
|
||||||
|
<!--<!– <div class="form-check form-check-inline">–>-->
|
||||||
|
<!--<!– <input class="form-check-input" type="radio" name="gender" value="0">–>-->
|
||||||
|
<!--<!– <label class="form-check-label">女</label>–>-->
|
||||||
|
<!--<!– </div>–>-->
|
||||||
|
<!--<!– </div>–>-->
|
||||||
|
<!-- <div class="form-group">-->
|
||||||
|
<!-- <label>管理员</label>-->
|
||||||
|
<!-- <select class="form-control">-->
|
||||||
|
<!-- <option>是</option>-->
|
||||||
|
<!-- <option>否</option>-->
|
||||||
|
<!--<!– <option>3</option>–>-->
|
||||||
|
<!--<!– <option>4</option>–>-->
|
||||||
|
<!--<!– <option>5</option>–>-->
|
||||||
|
<!-- </select>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!--<!– <div class="form-group">–>-->
|
||||||
|
<!--<!– <label>Birth</label>–>-->
|
||||||
|
<!--<!– <input type="text" class="form-control" placeholder="嘤嘤嘤">–>-->
|
||||||
|
<!--<!– </div>–>-->
|
||||||
|
<!-- <button type="submit" class="btn btn-primary">添加</button>-->
|
||||||
|
<!-- </form>-->
|
||||||
|
</main>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Bootstrap core JavaScript
|
||||||
|
================================================== -->
|
||||||
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
|
<script type="text/javascript" src="/js/jquery-3.2.1.slim.min.js"></script>
|
||||||
|
<script type="text/javascript" src="/js/popper.min.js"></script>
|
||||||
|
<script type="text/javascript" src="/js/bootstrap.min.js"></script>
|
||||||
|
|
||||||
|
<!-- Icons -->
|
||||||
|
<script type="text/javascript" src="/js/feather.min.js"></script>
|
||||||
|
<script>
|
||||||
|
feather.replace()
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<!-- Graphs -->
|
||||||
|
<script type="text/javascript" src="/js/Chart.min.js"></script>
|
||||||
|
<script>
|
||||||
|
var ctx = document.getElementById("myChart");
|
||||||
|
var myChart = new Chart(ctx, {
|
||||||
|
type: 'line',
|
||||||
|
data: {
|
||||||
|
labels: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
|
||||||
|
datasets: [{
|
||||||
|
data: [15339, 21345, 18483, 24003, 23489, 24092, 12034],
|
||||||
|
lineTension: 0,
|
||||||
|
backgroundColor: 'transparent',
|
||||||
|
borderColor: '#007bff',
|
||||||
|
borderWidth: 4,
|
||||||
|
pointBackgroundColor: '#007bff'
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
options: {
|
||||||
|
scales: {
|
||||||
|
yAxes: [{
|
||||||
|
ticks: {
|
||||||
|
beginAtZero: false
|
||||||
|
}
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
legend: {
|
||||||
|
display: false,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
@ -0,0 +1,148 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<!-- saved from url=(0052)http://getbootstrap.com/docs/4.0/examples/dashboard/ -->
|
||||||
|
<html lang=xmlns:th="http://www.thymeleaf.org">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
|
||||||
|
<title>Dashboard Template for Bootstrap</title>
|
||||||
|
<!-- Bootstrap core CSS -->
|
||||||
|
<link href="/css/bootstrap.min.css" rel="stylesheet">
|
||||||
|
|
||||||
|
<!-- Custom styles for this template -->
|
||||||
|
<link href="/css/dashboard.css" rel="stylesheet">
|
||||||
|
<style type="text/css">
|
||||||
|
/* Chart.js */
|
||||||
|
|
||||||
|
@-webkit-keyframes chartjs-render-animation {
|
||||||
|
from {
|
||||||
|
opacity: 0.99
|
||||||
|
}
|
||||||
|
to {
|
||||||
|
opacity: 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes chartjs-render-animation {
|
||||||
|
from {
|
||||||
|
opacity: 0.99
|
||||||
|
}
|
||||||
|
to {
|
||||||
|
opacity: 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.chartjs-render-monitor {
|
||||||
|
-webkit-animation: chartjs-render-animation 0.001s;
|
||||||
|
animation: chartjs-render-animation 0.001s;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<nav class="navbar navbar-dark sticky-top bg-dark flex-md-nowrap p-0">
|
||||||
|
<!-- <a class="navbar-brand col-sm-3 col-md-2 mr-0" href="http://getbootstrap.com/docs/4.0/examples/dashboard/#">Company name</a>-->
|
||||||
|
<input class="form-control form-control-dark w-100" type="text" placeholder="Search" aria-label="Search">
|
||||||
|
<ul class="navbar-nav px-3">
|
||||||
|
<li class="nav-item text-nowrap">
|
||||||
|
<a class="nav-link" th:href="@{/index}">Sign out</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row">
|
||||||
|
<div th:insert="~{dashboard::sidebar}"></div>
|
||||||
|
|
||||||
|
<main role="main" class="col-md-9 ml-sm-auto col-lg-10 pt-3 px-4">
|
||||||
|
<h2>接龙管理</h2>
|
||||||
|
<a class="btn btn-sm btn-success"th:href="@{/taskedit}">切换</a>
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table class="table table-striped table-sm">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>id</th>
|
||||||
|
<th>名称</th>
|
||||||
|
<th>内容</th>
|
||||||
|
<th>完成状态</th>
|
||||||
|
<th>截止时间</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr th:each="item : ${tasks}" >
|
||||||
|
<td th:text="${item.id}"></td>
|
||||||
|
<td th:text="${item.name}"></td>
|
||||||
|
<td th:text="${item.property}"></td>
|
||||||
|
<td th:text="${item.status==0?'未完成':'已完成'}"></td>
|
||||||
|
<td th:text="${item.deadtime}"></td>
|
||||||
|
<td><a class="btn btn-sm btn-primary"th:href="@{/itemedit2/}+${item.id}">编辑</a>
|
||||||
|
<a class="btn btn-sm btn-danger"th:href="@{/itemdel2/}+${item.id}">删除</a></td>
|
||||||
|
|
||||||
|
<!-- <a class="btn btn-sm btn-primary"th:href="@{/user/}+${user.StudentNumber}">编辑</a>-->
|
||||||
|
<!-- <a class="btn btn-sm btn-danger"th:href="@{/deluser/}+${user.StudentNumber}">删除</a>-->
|
||||||
|
<!-- </td>-->
|
||||||
|
<!-- </tr>-->
|
||||||
|
<!-- <tr>-->
|
||||||
|
<!-- <td th:text="${user.skey}"></td>-->
|
||||||
|
<!-- </tr>-->
|
||||||
|
<!-- <tr th:each="user:${users}">-->
|
||||||
|
<!-- <td th:text="@{}"></td>-->
|
||||||
|
<!-- </tr>-->
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Bootstrap core JavaScript
|
||||||
|
================================================== -->
|
||||||
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
|
<script type="text/javascript" src="/js/jquery-3.2.1.slim.min.js"></script>
|
||||||
|
<script type="text/javascript" src="/js/popper.min.js"></script>
|
||||||
|
<script type="text/javascript" src="/js/bootstrap.min.js"></script>
|
||||||
|
|
||||||
|
<!-- Icons -->
|
||||||
|
<script type="text/javascript" src="/js/feather.min.js"></script>
|
||||||
|
<script>
|
||||||
|
feather.replace()
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<!-- Graphs -->
|
||||||
|
<script type="text/javascript" src="/js/Chart.min.js"></script>
|
||||||
|
<script>
|
||||||
|
var ctx = document.getElementById("myChart");
|
||||||
|
var myChart = new Chart(ctx, {
|
||||||
|
type: 'line',
|
||||||
|
data: {
|
||||||
|
labels: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
|
||||||
|
datasets: [{
|
||||||
|
data: [15339, 21345, 18483, 24003, 23489, 24092, 12034],
|
||||||
|
lineTension: 0,
|
||||||
|
backgroundColor: 'transparent',
|
||||||
|
borderColor: '#007bff',
|
||||||
|
borderWidth: 4,
|
||||||
|
pointBackgroundColor: '#007bff'
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
options: {
|
||||||
|
scales: {
|
||||||
|
yAxes: [{
|
||||||
|
ticks: {
|
||||||
|
beginAtZero: false
|
||||||
|
}
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
legend: {
|
||||||
|
display: false,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
@ -0,0 +1,146 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<!-- saved from url=(0052)http://getbootstrap.com/docs/4.0/examples/dashboard/ -->
|
||||||
|
<html lang=xmlns:th="http://www.thymeleaf.org">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
|
||||||
|
<title>Dashboard Template for Bootstrap</title>
|
||||||
|
<!-- Bootstrap core CSS -->
|
||||||
|
<link href="/css/bootstrap.min.css" rel="stylesheet">
|
||||||
|
|
||||||
|
<!-- Custom styles for this template -->
|
||||||
|
<link href="/css/dashboard.css" rel="stylesheet">
|
||||||
|
<style type="text/css">
|
||||||
|
/* Chart.js */
|
||||||
|
|
||||||
|
@-webkit-keyframes chartjs-render-animation {
|
||||||
|
from {
|
||||||
|
opacity: 0.99
|
||||||
|
}
|
||||||
|
to {
|
||||||
|
opacity: 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes chartjs-render-animation {
|
||||||
|
from {
|
||||||
|
opacity: 0.99
|
||||||
|
}
|
||||||
|
to {
|
||||||
|
opacity: 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.chartjs-render-monitor {
|
||||||
|
-webkit-animation: chartjs-render-animation 0.001s;
|
||||||
|
animation: chartjs-render-animation 0.001s;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<nav class="navbar navbar-dark sticky-top bg-dark flex-md-nowrap p-0">
|
||||||
|
<!-- <a class="navbar-brand col-sm-3 col-md-2 mr-0" href="http://getbootstrap.com/docs/4.0/examples/dashboard/#">Company name</a>-->
|
||||||
|
<input class="form-control form-control-dark w-100" type="text" placeholder="Search" aria-label="Search">
|
||||||
|
<ul class="navbar-nav px-3">
|
||||||
|
<li class="nav-item text-nowrap">
|
||||||
|
<a class="nav-link" th:href="@{/index}">Sign out</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row">
|
||||||
|
<div th:insert="~{dashboard::sidebar}"></div>
|
||||||
|
|
||||||
|
<main role="main" class="col-md-9 ml-sm-auto col-lg-10 pt-3 px-4">
|
||||||
|
<h2>数据统计(接龙)</h2>
|
||||||
|
<a class="btn btn-sm btn-success"th:href="@{/totaltask}">切换</a>
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table class="table table-striped table-sm">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>id</th>
|
||||||
|
<th>名称</th>
|
||||||
|
<th>内容</th>
|
||||||
|
<th>完成状态</th>
|
||||||
|
<th>截止时间</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr th:each="item : ${tasks}" >
|
||||||
|
<td th:text="${item.id}"></td>
|
||||||
|
<td th:text="${item.name}"></td>
|
||||||
|
<td th:text="${item.property}"></td>
|
||||||
|
<td th:text="${item.status==0?'未完成':'已完成'}"></td>
|
||||||
|
<td th:text="${item.deadtime}"></td>
|
||||||
|
<td><a class="btn btn-sm btn-primary"th:href="@{/item2/}+${item.id}">详情</a></td>
|
||||||
|
<!-- <a class="btn btn-sm btn-primary"th:href="@{/user/}+${user.StudentNumber}">编辑</a>-->
|
||||||
|
<!-- <a class="btn btn-sm btn-danger"th:href="@{/deluser/}+${user.StudentNumber}">删除</a>-->
|
||||||
|
<!-- </td>-->
|
||||||
|
<!-- </tr>-->
|
||||||
|
<!-- <tr>-->
|
||||||
|
<!-- <td th:text="${user.skey}"></td>-->
|
||||||
|
<!-- </tr>-->
|
||||||
|
<!-- <tr th:each="user:${users}">-->
|
||||||
|
<!-- <td th:text="@{}"></td>-->
|
||||||
|
<!-- </tr>-->
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Bootstrap core JavaScript
|
||||||
|
================================================== -->
|
||||||
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
|
<script type="text/javascript" src="/js/jquery-3.2.1.slim.min.js"></script>
|
||||||
|
<script type="text/javascript" src="/js/popper.min.js"></script>
|
||||||
|
<script type="text/javascript" src="/js/bootstrap.min.js"></script>
|
||||||
|
|
||||||
|
<!-- Icons -->
|
||||||
|
<script type="text/javascript" src="/js/feather.min.js"></script>
|
||||||
|
<script>
|
||||||
|
feather.replace()
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<!-- Graphs -->
|
||||||
|
<script type="text/javascript" src="/js/Chart.min.js"></script>
|
||||||
|
<script>
|
||||||
|
var ctx = document.getElementById("myChart");
|
||||||
|
var myChart = new Chart(ctx, {
|
||||||
|
type: 'line',
|
||||||
|
data: {
|
||||||
|
labels: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
|
||||||
|
datasets: [{
|
||||||
|
data: [15339, 21345, 18483, 24003, 23489, 24092, 12034],
|
||||||
|
lineTension: 0,
|
||||||
|
backgroundColor: 'transparent',
|
||||||
|
borderColor: '#007bff',
|
||||||
|
borderWidth: 4,
|
||||||
|
pointBackgroundColor: '#007bff'
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
options: {
|
||||||
|
scales: {
|
||||||
|
yAxes: [{
|
||||||
|
ticks: {
|
||||||
|
beginAtZero: false
|
||||||
|
}
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
legend: {
|
||||||
|
display: false,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
@ -0,0 +1,211 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<!-- saved from url=(0052)http://getbootstrap.com/docs/4.0/examples/dashboard/ -->
|
||||||
|
<html lang=xmlns:th="http://www.thymeleaf.org">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
|
||||||
|
<title>Dashboard Template for Bootstrap</title>
|
||||||
|
<!-- Bootstrap core CSS -->
|
||||||
|
<link href="/css/bootstrap.min.css" rel="stylesheet">
|
||||||
|
|
||||||
|
<!-- Custom styles for this template -->
|
||||||
|
<link href="/css/dashboard.css" rel="stylesheet">
|
||||||
|
<style type="text/css">
|
||||||
|
/* Chart.js */
|
||||||
|
|
||||||
|
@-webkit-keyframes chartjs-render-animation {
|
||||||
|
from {
|
||||||
|
opacity: 0.99
|
||||||
|
}
|
||||||
|
to {
|
||||||
|
opacity: 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes chartjs-render-animation {
|
||||||
|
from {
|
||||||
|
opacity: 0.99
|
||||||
|
}
|
||||||
|
to {
|
||||||
|
opacity: 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.chartjs-render-monitor {
|
||||||
|
-webkit-animation: chartjs-render-animation 0.001s;
|
||||||
|
animation: chartjs-render-animation 0.001s;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<nav class="navbar navbar-dark sticky-top bg-dark flex-md-nowrap p-0">
|
||||||
|
<a class="navbar-brand col-sm-3 col-md-2 mr-0" href="http://getbootstrap.com/docs/4.0/examples/dashboard/#">Company name</a>
|
||||||
|
<input class="form-control form-control-dark w-100" type="text" placeholder="Search" aria-label="Search">
|
||||||
|
<ul class="navbar-nav px-3">
|
||||||
|
<li class="nav-item text-nowrap">
|
||||||
|
<a class="nav-link" href="http://getbootstrap.com/docs/4.0/examples/dashboard/#">Sign out</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row">
|
||||||
|
<div th:insert="~{dashboard::sidebar}"></div>
|
||||||
|
|
||||||
|
<main role="main" class="col-md-9 ml-sm-auto col-lg-10 pt-3 px-4">
|
||||||
|
<table class="table table-striped table-sm">
|
||||||
|
|
||||||
|
<tbody>
|
||||||
|
<tr th:each="item : ${tasks}" >
|
||||||
|
|
||||||
|
|
||||||
|
<form th:action="@{/groupnoteupdate}" method="get">
|
||||||
|
|
||||||
|
<div class="form-group">
|
||||||
|
|
||||||
|
<label th:text="@{/ID:/}+${item.id}"></label>
|
||||||
|
<div></div>
|
||||||
|
<!-- <div th:text="${item.id}"></div>-->
|
||||||
|
<input type="hidden" name="id" th:value="${item.id}">
|
||||||
|
<label>任务名称</label>
|
||||||
|
<input type="text" name="name" class="form-control" th:placeholder="${item.name}">
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label>内容</label>
|
||||||
|
<input type="text" name="property" class="form-control" th:placeholder="${item.property}">
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label>截止时间</label>
|
||||||
|
<input type="text" name="deadtime" class="form-control" th:placeholder="${item.deadtime}">
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label>完成状态</label><br>
|
||||||
|
<div class="form-check form-check-inline">
|
||||||
|
<input class="form-check-input" type="radio" name="status" value="1">
|
||||||
|
<label class="form-check-label">已完成</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-check form-check-inline">
|
||||||
|
<input class="form-check-input" type="radio" name="status" value="0">
|
||||||
|
<label class="form-check-label">未完成</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- <div class="form-group">-->
|
||||||
|
<!-- <label>管理员</label>-->
|
||||||
|
<!-- <select class="form-control">-->
|
||||||
|
<!-- <option>是</option>-->
|
||||||
|
<!-- <option>否</option>-->
|
||||||
|
<!-- <!– <option>3</option>–>-->
|
||||||
|
<!-- <!– <option>4</option>–>-->
|
||||||
|
<!-- <!– <option>5</option>–>-->
|
||||||
|
<!-- </select>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- <div class="form-group">-->
|
||||||
|
<!-- <label>Birth</label>-->
|
||||||
|
<!-- <input type="text" class="form-control" placeholder="嘤嘤嘤">-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<button type="submit" class="btn btn-primary">添加</button>
|
||||||
|
</form>
|
||||||
|
</tr>
|
||||||
|
<!-- <tr>-->
|
||||||
|
<!-- <td th:text="${user.skey}"></td>-->
|
||||||
|
<!-- </tr>-->
|
||||||
|
<!-- <tr th:each="user:${users}">-->
|
||||||
|
<!-- <td th:text="@{}"></td>-->
|
||||||
|
<!-- </tr>-->
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<!-- <form th:action="@{/user}">-->
|
||||||
|
<!-- <div class="form-group">-->
|
||||||
|
<!-- <label>学号</label>-->
|
||||||
|
<!-- <input th:text="${user.name}" type="text" class="form-control" placeholder="海绵宝宝">-->
|
||||||
|
<!-- <div th:text="${users}"></div>-->
|
||||||
|
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- <div class="form-group">-->
|
||||||
|
<!-- <label>姓名</label>-->
|
||||||
|
<!-- <input type="email" class="form-control" placeholder="">-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!--<!– <div class="form-group">–>-->
|
||||||
|
<!--<!– <label>Gender</label><br>–>-->
|
||||||
|
<!--<!– <div class="form-check form-check-inline">–>-->
|
||||||
|
<!--<!– <input class="form-check-input" type="radio" name="gender" value="1">–>-->
|
||||||
|
<!--<!– <label class="form-check-label">男</label>–>-->
|
||||||
|
<!--<!– </div>–>-->
|
||||||
|
<!--<!– <div class="form-check form-check-inline">–>-->
|
||||||
|
<!--<!– <input class="form-check-input" type="radio" name="gender" value="0">–>-->
|
||||||
|
<!--<!– <label class="form-check-label">女</label>–>-->
|
||||||
|
<!--<!– </div>–>-->
|
||||||
|
<!--<!– </div>–>-->
|
||||||
|
<!-- <div class="form-group">-->
|
||||||
|
<!-- <label>管理员</label>-->
|
||||||
|
<!-- <select class="form-control">-->
|
||||||
|
<!-- <option>是</option>-->
|
||||||
|
<!-- <option>否</option>-->
|
||||||
|
<!--<!– <option>3</option>–>-->
|
||||||
|
<!--<!– <option>4</option>–>-->
|
||||||
|
<!--<!– <option>5</option>–>-->
|
||||||
|
<!-- </select>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!--<!– <div class="form-group">–>-->
|
||||||
|
<!--<!– <label>Birth</label>–>-->
|
||||||
|
<!--<!– <input type="text" class="form-control" placeholder="嘤嘤嘤">–>-->
|
||||||
|
<!--<!– </div>–>-->
|
||||||
|
<!-- <button type="submit" class="btn btn-primary">添加</button>-->
|
||||||
|
<!-- </form>-->
|
||||||
|
</main>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Bootstrap core JavaScript
|
||||||
|
================================================== -->
|
||||||
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
|
<script type="text/javascript" src="/js/jquery-3.2.1.slim.min.js"></script>
|
||||||
|
<script type="text/javascript" src="/js/popper.min.js"></script>
|
||||||
|
<script type="text/javascript" src="/js/bootstrap.min.js"></script>
|
||||||
|
|
||||||
|
<!-- Icons -->
|
||||||
|
<script type="text/javascript" src="/js/feather.min.js"></script>
|
||||||
|
<script>
|
||||||
|
feather.replace()
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<!-- Graphs -->
|
||||||
|
<script type="text/javascript" src="/js/Chart.min.js"></script>
|
||||||
|
<script>
|
||||||
|
var ctx = document.getElementById("myChart");
|
||||||
|
var myChart = new Chart(ctx, {
|
||||||
|
type: 'line',
|
||||||
|
data: {
|
||||||
|
labels: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
|
||||||
|
datasets: [{
|
||||||
|
data: [15339, 21345, 18483, 24003, 23489, 24092, 12034],
|
||||||
|
lineTension: 0,
|
||||||
|
backgroundColor: 'transparent',
|
||||||
|
borderColor: '#007bff',
|
||||||
|
borderWidth: 4,
|
||||||
|
pointBackgroundColor: '#007bff'
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
options: {
|
||||||
|
scales: {
|
||||||
|
yAxes: [{
|
||||||
|
ticks: {
|
||||||
|
beginAtZero: false
|
||||||
|
}
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
legend: {
|
||||||
|
display: false,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
@ -0,0 +1,200 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<!-- saved from url=(0052)http://getbootstrap.com/docs/4.0/examples/dashboard/ -->
|
||||||
|
<html lang=xmlns:th="http://www.thymeleaf.org">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
|
||||||
|
<title>Dashboard Template for Bootstrap</title>
|
||||||
|
<!-- Bootstrap core CSS -->
|
||||||
|
<link href="/css/bootstrap.min.css" rel="stylesheet">
|
||||||
|
|
||||||
|
<!-- Custom styles for this template -->
|
||||||
|
<link href="/css/dashboard.css" rel="stylesheet">
|
||||||
|
<style type="text/css">
|
||||||
|
/* Chart.js */
|
||||||
|
|
||||||
|
@-webkit-keyframes chartjs-render-animation {
|
||||||
|
from {
|
||||||
|
opacity: 0.99
|
||||||
|
}
|
||||||
|
to {
|
||||||
|
opacity: 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes chartjs-render-animation {
|
||||||
|
from {
|
||||||
|
opacity: 0.99
|
||||||
|
}
|
||||||
|
to {
|
||||||
|
opacity: 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.chartjs-render-monitor {
|
||||||
|
-webkit-animation: chartjs-render-animation 0.001s;
|
||||||
|
animation: chartjs-render-animation 0.001s;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<nav class="navbar navbar-dark sticky-top bg-dark flex-md-nowrap p-0">
|
||||||
|
<a class="navbar-brand col-sm-3 col-md-2 mr-0" href="http://getbootstrap.com/docs/4.0/examples/dashboard/#">Company name</a>
|
||||||
|
<input class="form-control form-control-dark w-100" type="text" placeholder="Search" aria-label="Search">
|
||||||
|
<ul class="navbar-nav px-3">
|
||||||
|
<li class="nav-item text-nowrap">
|
||||||
|
<a class="nav-link" href="http://getbootstrap.com/docs/4.0/examples/dashboard/#">Sign out</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row">
|
||||||
|
<div th:insert="~{dashboard::sidebar}"></div>
|
||||||
|
|
||||||
|
<main role="main" class="col-md-9 ml-sm-auto col-lg-10 pt-3 px-4">
|
||||||
|
<table class="table table-striped table-sm">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>ID</th>
|
||||||
|
<th>学号</th>
|
||||||
|
<th>提交时间</th>
|
||||||
|
<th>文件地址</th>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
|
||||||
|
<tbody>
|
||||||
|
<tr th:each="item : ${taskdetail}" >
|
||||||
|
|
||||||
|
|
||||||
|
<form th:action="@{/totaltask}" method="get">
|
||||||
|
<td th:text="${item.Taskid}"></td>
|
||||||
|
<td th:text="${item.studentnumber}"></td>
|
||||||
|
<td th:text="${item.finishtime}"></td>
|
||||||
|
<td th:text="${item.filepath}"></td>
|
||||||
|
<td><a class="btn btn-sm btn-success"th:href="@{/filedownload/}+${item.Taskid}">导出</a></td>
|
||||||
|
|
||||||
|
<!-- <input type="hidden" name="taskid" th:value="${item.id}">-->
|
||||||
|
<!-- <input type="hidden" name="taskname" th:value="${item.name}">-->
|
||||||
|
<!-- <div class="form-group">-->
|
||||||
|
<!-- <label>学号</label>-->
|
||||||
|
<!-- <input type="text" name="Studentnumber" class="form-control" th:placeholder="${user.StudentNumber}">-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- <div class="form-group">-->
|
||||||
|
<!-- <label>姓名</label>-->
|
||||||
|
<!-- <input type="text" name="name" class="form-control" th:placeholder="${user.name}">-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- <div class="form-group">-->
|
||||||
|
<!-- <label>权限</label><br>-->
|
||||||
|
<!-- <div class="form-check form-check-inline">-->
|
||||||
|
<!-- <input class="form-check-input" type="radio" name="power" value="1">-->
|
||||||
|
<!-- <label class="form-check-label">管理员</label>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- <div class="form-check form-check-inline">-->
|
||||||
|
<!-- <input class="form-check-input" type="radio" name="power" value="0">-->
|
||||||
|
<!-- <label class="form-check-label">用户</label>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
|
||||||
|
<button type="submit" class="btn btn-primary">返回</button>
|
||||||
|
</form>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<!-- <form th:action="@{/user}">-->
|
||||||
|
<!-- <div class="form-group">-->
|
||||||
|
<!-- <label>学号</label>-->
|
||||||
|
<!-- <input th:text="${user.name}" type="text" class="form-control" placeholder="海绵宝宝">-->
|
||||||
|
<!-- <div th:text="${users}"></div>-->
|
||||||
|
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- <div class="form-group">-->
|
||||||
|
<!-- <label>姓名</label>-->
|
||||||
|
<!-- <input type="email" class="form-control" placeholder="">-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!--<!– <div class="form-group">–>-->
|
||||||
|
<!--<!– <label>Gender</label><br>–>-->
|
||||||
|
<!--<!– <div class="form-check form-check-inline">–>-->
|
||||||
|
<!--<!– <input class="form-check-input" type="radio" name="gender" value="1">–>-->
|
||||||
|
<!--<!– <label class="form-check-label">男</label>–>-->
|
||||||
|
<!--<!– </div>–>-->
|
||||||
|
<!--<!– <div class="form-check form-check-inline">–>-->
|
||||||
|
<!--<!– <input class="form-check-input" type="radio" name="gender" value="0">–>-->
|
||||||
|
<!--<!– <label class="form-check-label">女</label>–>-->
|
||||||
|
<!--<!– </div>–>-->
|
||||||
|
<!--<!– </div>–>-->
|
||||||
|
<!-- <div class="form-group">-->
|
||||||
|
<!-- <label>管理员</label>-->
|
||||||
|
<!-- <select class="form-control">-->
|
||||||
|
<!-- <option>是</option>-->
|
||||||
|
<!-- <option>否</option>-->
|
||||||
|
<!--<!– <option>3</option>–>-->
|
||||||
|
<!--<!– <option>4</option>–>-->
|
||||||
|
<!--<!– <option>5</option>–>-->
|
||||||
|
<!-- </select>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!--<!– <div class="form-group">–>-->
|
||||||
|
<!--<!– <label>Birth</label>–>-->
|
||||||
|
<!--<!– <input type="text" class="form-control" placeholder="嘤嘤嘤">–>-->
|
||||||
|
<!--<!– </div>–>-->
|
||||||
|
<!-- <button type="submit" class="btn btn-primary">添加</button>-->
|
||||||
|
<!-- </form>-->
|
||||||
|
</main>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Bootstrap core JavaScript
|
||||||
|
================================================== -->
|
||||||
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
|
<script type="text/javascript" src="/js/jquery-3.2.1.slim.min.js"></script>
|
||||||
|
<script type="text/javascript" src="/js/popper.min.js"></script>
|
||||||
|
<script type="text/javascript" src="/js/bootstrap.min.js"></script>
|
||||||
|
|
||||||
|
<!-- Icons -->
|
||||||
|
<script type="text/javascript" src="/js/feather.min.js"></script>
|
||||||
|
<script>
|
||||||
|
feather.replace()
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<!-- Graphs -->
|
||||||
|
<script type="text/javascript" src="/js/Chart.min.js"></script>
|
||||||
|
<script>
|
||||||
|
var ctx = document.getElementById("myChart");
|
||||||
|
var myChart = new Chart(ctx, {
|
||||||
|
type: 'line',
|
||||||
|
data: {
|
||||||
|
labels: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
|
||||||
|
datasets: [{
|
||||||
|
data: [15339, 21345, 18483, 24003, 23489, 24092, 12034],
|
||||||
|
lineTension: 0,
|
||||||
|
backgroundColor: 'transparent',
|
||||||
|
borderColor: '#007bff',
|
||||||
|
borderWidth: 4,
|
||||||
|
pointBackgroundColor: '#007bff'
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
options: {
|
||||||
|
scales: {
|
||||||
|
yAxes: [{
|
||||||
|
ticks: {
|
||||||
|
beginAtZero: false
|
||||||
|
}
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
legend: {
|
||||||
|
display: false,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
@ -0,0 +1,148 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<!-- saved from url=(0052)http://getbootstrap.com/docs/4.0/examples/dashboard/ -->
|
||||||
|
<html lang=xmlns:th="http://www.thymeleaf.org">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
|
||||||
|
<title>Dashboard Template for Bootstrap</title>
|
||||||
|
<!-- Bootstrap core CSS -->
|
||||||
|
<link href="/css/bootstrap.min.css" rel="stylesheet">
|
||||||
|
|
||||||
|
<!-- Custom styles for this template -->
|
||||||
|
<link href="/css/dashboard.css" rel="stylesheet">
|
||||||
|
<style type="text/css">
|
||||||
|
/* Chart.js */
|
||||||
|
|
||||||
|
@-webkit-keyframes chartjs-render-animation {
|
||||||
|
from {
|
||||||
|
opacity: 0.99
|
||||||
|
}
|
||||||
|
to {
|
||||||
|
opacity: 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes chartjs-render-animation {
|
||||||
|
from {
|
||||||
|
opacity: 0.99
|
||||||
|
}
|
||||||
|
to {
|
||||||
|
opacity: 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.chartjs-render-monitor {
|
||||||
|
-webkit-animation: chartjs-render-animation 0.001s;
|
||||||
|
animation: chartjs-render-animation 0.001s;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<nav class="navbar navbar-dark sticky-top bg-dark flex-md-nowrap p-0">
|
||||||
|
<a class="navbar-brand col-sm-3 col-md-2 mr-0" href="http://getbootstrap.com/docs/4.0/examples/dashboard/#">Company name</a>
|
||||||
|
<input class="form-control form-control-dark w-100" type="text" placeholder="Search" aria-label="Search">
|
||||||
|
<ul class="navbar-nav px-3">
|
||||||
|
<li class="nav-item text-nowrap">
|
||||||
|
<a class="nav-link" href="http://getbootstrap.com/docs/4.0/examples/dashboard/#">Sign out</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row">
|
||||||
|
<div th:insert="~{dashboard::sidebar}"></div>
|
||||||
|
|
||||||
|
<main role="main" class="col-md-9 ml-sm-auto col-lg-10 pt-3 px-4">
|
||||||
|
<h2>任务管理</h2>
|
||||||
|
<a class="btn btn-sm btn-success"th:href="@{/togroupnoteedit}">切换</a>
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table class="table table-striped table-sm">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>id</th>
|
||||||
|
<th>名称</th>
|
||||||
|
<th>内容</th>
|
||||||
|
<th>完成状态</th>
|
||||||
|
<th>截止时间</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr th:each="item : ${tasks}" >
|
||||||
|
<td th:text="${item.id}"></td>
|
||||||
|
<td th:text="${item.name}"></td>
|
||||||
|
<td th:text="${item.property}"></td>
|
||||||
|
<td th:text="${item.status==0?'未完成':'已完成'}"></td>
|
||||||
|
<td th:text="${item.deadtime}"></td>
|
||||||
|
<td><a class="btn btn-sm btn-primary"th:href="@{/itemedit1/}+${item.id}">编辑</a>
|
||||||
|
<a class="btn btn-sm btn-danger"th:href="@{/itemdel1/}+${item.id}">删除</a></td>
|
||||||
|
|
||||||
|
<!-- <a class="btn btn-sm btn-primary"th:href="@{/user/}+${user.StudentNumber}">编辑</a>-->
|
||||||
|
<!-- <a class="btn btn-sm btn-danger"th:href="@{/deluser/}+${user.StudentNumber}">删除</a>-->
|
||||||
|
<!-- </td>-->
|
||||||
|
<!-- </tr>-->
|
||||||
|
<!-- <tr>-->
|
||||||
|
<!-- <td th:text="${user.skey}"></td>-->
|
||||||
|
<!-- </tr>-->
|
||||||
|
<!-- <tr th:each="user:${users}">-->
|
||||||
|
<!-- <td th:text="@{}"></td>-->
|
||||||
|
<!-- </tr>-->
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Bootstrap core JavaScript
|
||||||
|
================================================== -->
|
||||||
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
|
<script type="text/javascript" src="/js/jquery-3.2.1.slim.min.js"></script>
|
||||||
|
<script type="text/javascript" src="/js/popper.min.js"></script>
|
||||||
|
<script type="text/javascript" src="/js/bootstrap.min.js"></script>
|
||||||
|
|
||||||
|
<!-- Icons -->
|
||||||
|
<script type="text/javascript" src="/js/feather.min.js"></script>
|
||||||
|
<script>
|
||||||
|
feather.replace()
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<!-- Graphs -->
|
||||||
|
<script type="text/javascript" src="/js/Chart.min.js"></script>
|
||||||
|
<script>
|
||||||
|
var ctx = document.getElementById("myChart");
|
||||||
|
var myChart = new Chart(ctx, {
|
||||||
|
type: 'line',
|
||||||
|
data: {
|
||||||
|
labels: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
|
||||||
|
datasets: [{
|
||||||
|
data: [15339, 21345, 18483, 24003, 23489, 24092, 12034],
|
||||||
|
lineTension: 0,
|
||||||
|
backgroundColor: 'transparent',
|
||||||
|
borderColor: '#007bff',
|
||||||
|
borderWidth: 4,
|
||||||
|
pointBackgroundColor: '#007bff'
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
options: {
|
||||||
|
scales: {
|
||||||
|
yAxes: [{
|
||||||
|
ticks: {
|
||||||
|
beginAtZero: false
|
||||||
|
}
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
legend: {
|
||||||
|
display: false,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
@ -0,0 +1,211 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<!-- saved from url=(0052)http://getbootstrap.com/docs/4.0/examples/dashboard/ -->
|
||||||
|
<html lang=xmlns:th="http://www.thymeleaf.org">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
|
||||||
|
<title>Dashboard Template for Bootstrap</title>
|
||||||
|
<!-- Bootstrap core CSS -->
|
||||||
|
<link href="/css/bootstrap.min.css" rel="stylesheet">
|
||||||
|
|
||||||
|
<!-- Custom styles for this template -->
|
||||||
|
<link href="/css/dashboard.css" rel="stylesheet">
|
||||||
|
<style type="text/css">
|
||||||
|
/* Chart.js */
|
||||||
|
|
||||||
|
@-webkit-keyframes chartjs-render-animation {
|
||||||
|
from {
|
||||||
|
opacity: 0.99
|
||||||
|
}
|
||||||
|
to {
|
||||||
|
opacity: 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes chartjs-render-animation {
|
||||||
|
from {
|
||||||
|
opacity: 0.99
|
||||||
|
}
|
||||||
|
to {
|
||||||
|
opacity: 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.chartjs-render-monitor {
|
||||||
|
-webkit-animation: chartjs-render-animation 0.001s;
|
||||||
|
animation: chartjs-render-animation 0.001s;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<nav class="navbar navbar-dark sticky-top bg-dark flex-md-nowrap p-0">
|
||||||
|
<a class="navbar-brand col-sm-3 col-md-2 mr-0" href="http://getbootstrap.com/docs/4.0/examples/dashboard/#">Company name</a>
|
||||||
|
<input class="form-control form-control-dark w-100" type="text" placeholder="Search" aria-label="Search">
|
||||||
|
<ul class="navbar-nav px-3">
|
||||||
|
<li class="nav-item text-nowrap">
|
||||||
|
<a class="nav-link" href="http://getbootstrap.com/docs/4.0/examples/dashboard/#">Sign out</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row">
|
||||||
|
<div th:insert="~{dashboard::sidebar}"></div>
|
||||||
|
|
||||||
|
<main role="main" class="col-md-9 ml-sm-auto col-lg-10 pt-3 px-4">
|
||||||
|
<table class="table table-striped table-sm">
|
||||||
|
|
||||||
|
<tbody>
|
||||||
|
<tr th:each="item : ${tasks}" >
|
||||||
|
|
||||||
|
|
||||||
|
<form th:action="@{/taskupdate}" method="get">
|
||||||
|
|
||||||
|
<div class="form-group">
|
||||||
|
|
||||||
|
<label th:text="@{/ID:/}+${item.id}"></label>
|
||||||
|
<div></div>
|
||||||
|
<!-- <div th:text="${item.id}"></div>-->
|
||||||
|
<input type="hidden" name="id" th:value="${item.id}">
|
||||||
|
<label>任务名称</label>
|
||||||
|
<input type="text" name="name" class="form-control" th:placeholder="${item.name}">
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label>内容</label>
|
||||||
|
<input type="text" name="property" class="form-control" th:placeholder="${item.property}">
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label>截止时间</label>
|
||||||
|
<input type="text" name="deadtime" class="form-control" th:placeholder="${item.deadtime}">
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label>完成状态</label><br>
|
||||||
|
<div class="form-check form-check-inline">
|
||||||
|
<input class="form-check-input" type="radio" name="status" value="1">
|
||||||
|
<label class="form-check-label">已完成</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-check form-check-inline">
|
||||||
|
<input class="form-check-input" type="radio" name="status" value="0">
|
||||||
|
<label class="form-check-label">未完成</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- <div class="form-group">-->
|
||||||
|
<!-- <label>管理员</label>-->
|
||||||
|
<!-- <select class="form-control">-->
|
||||||
|
<!-- <option>是</option>-->
|
||||||
|
<!-- <option>否</option>-->
|
||||||
|
<!-- <!– <option>3</option>–>-->
|
||||||
|
<!-- <!– <option>4</option>–>-->
|
||||||
|
<!-- <!– <option>5</option>–>-->
|
||||||
|
<!-- </select>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- <div class="form-group">-->
|
||||||
|
<!-- <label>Birth</label>-->
|
||||||
|
<!-- <input type="text" class="form-control" placeholder="嘤嘤嘤">-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<button type="submit" class="btn btn-primary">添加</button>
|
||||||
|
</form>
|
||||||
|
</tr>
|
||||||
|
<!-- <tr>-->
|
||||||
|
<!-- <td th:text="${user.skey}"></td>-->
|
||||||
|
<!-- </tr>-->
|
||||||
|
<!-- <tr th:each="user:${users}">-->
|
||||||
|
<!-- <td th:text="@{}"></td>-->
|
||||||
|
<!-- </tr>-->
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<!-- <form th:action="@{/user}">-->
|
||||||
|
<!-- <div class="form-group">-->
|
||||||
|
<!-- <label>学号</label>-->
|
||||||
|
<!-- <input th:text="${user.name}" type="text" class="form-control" placeholder="海绵宝宝">-->
|
||||||
|
<!-- <div th:text="${users}"></div>-->
|
||||||
|
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- <div class="form-group">-->
|
||||||
|
<!-- <label>姓名</label>-->
|
||||||
|
<!-- <input type="email" class="form-control" placeholder="">-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!--<!– <div class="form-group">–>-->
|
||||||
|
<!--<!– <label>Gender</label><br>–>-->
|
||||||
|
<!--<!– <div class="form-check form-check-inline">–>-->
|
||||||
|
<!--<!– <input class="form-check-input" type="radio" name="gender" value="1">–>-->
|
||||||
|
<!--<!– <label class="form-check-label">男</label>–>-->
|
||||||
|
<!--<!– </div>–>-->
|
||||||
|
<!--<!– <div class="form-check form-check-inline">–>-->
|
||||||
|
<!--<!– <input class="form-check-input" type="radio" name="gender" value="0">–>-->
|
||||||
|
<!--<!– <label class="form-check-label">女</label>–>-->
|
||||||
|
<!--<!– </div>–>-->
|
||||||
|
<!--<!– </div>–>-->
|
||||||
|
<!-- <div class="form-group">-->
|
||||||
|
<!-- <label>管理员</label>-->
|
||||||
|
<!-- <select class="form-control">-->
|
||||||
|
<!-- <option>是</option>-->
|
||||||
|
<!-- <option>否</option>-->
|
||||||
|
<!--<!– <option>3</option>–>-->
|
||||||
|
<!--<!– <option>4</option>–>-->
|
||||||
|
<!--<!– <option>5</option>–>-->
|
||||||
|
<!-- </select>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!--<!– <div class="form-group">–>-->
|
||||||
|
<!--<!– <label>Birth</label>–>-->
|
||||||
|
<!--<!– <input type="text" class="form-control" placeholder="嘤嘤嘤">–>-->
|
||||||
|
<!--<!– </div>–>-->
|
||||||
|
<!-- <button type="submit" class="btn btn-primary">添加</button>-->
|
||||||
|
<!-- </form>-->
|
||||||
|
</main>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Bootstrap core JavaScript
|
||||||
|
================================================== -->
|
||||||
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
|
<script type="text/javascript" src="/js/jquery-3.2.1.slim.min.js"></script>
|
||||||
|
<script type="text/javascript" src="/js/popper.min.js"></script>
|
||||||
|
<script type="text/javascript" src="/js/bootstrap.min.js"></script>
|
||||||
|
|
||||||
|
<!-- Icons -->
|
||||||
|
<script type="text/javascript" src="/js/feather.min.js"></script>
|
||||||
|
<script>
|
||||||
|
feather.replace()
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<!-- Graphs -->
|
||||||
|
<script type="text/javascript" src="/js/Chart.min.js"></script>
|
||||||
|
<script>
|
||||||
|
var ctx = document.getElementById("myChart");
|
||||||
|
var myChart = new Chart(ctx, {
|
||||||
|
type: 'line',
|
||||||
|
data: {
|
||||||
|
labels: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
|
||||||
|
datasets: [{
|
||||||
|
data: [15339, 21345, 18483, 24003, 23489, 24092, 12034],
|
||||||
|
lineTension: 0,
|
||||||
|
backgroundColor: 'transparent',
|
||||||
|
borderColor: '#007bff',
|
||||||
|
borderWidth: 4,
|
||||||
|
pointBackgroundColor: '#007bff'
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
options: {
|
||||||
|
scales: {
|
||||||
|
yAxes: [{
|
||||||
|
ticks: {
|
||||||
|
beginAtZero: false
|
||||||
|
}
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
legend: {
|
||||||
|
display: false,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
@ -0,0 +1,203 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<!-- saved from url=(0052)http://getbootstrap.com/docs/4.0/examples/dashboard/ -->
|
||||||
|
<html lang=xmlns:th="http://www.thymeleaf.org">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
|
<meta name="description" content="">
|
||||||
|
<meta name="author" content="">
|
||||||
|
|
||||||
|
<title>Dashboard Template for Bootstrap</title>
|
||||||
|
<!-- Bootstrap core CSS -->
|
||||||
|
<link href="/css/bootstrap.min.css" rel="stylesheet">
|
||||||
|
|
||||||
|
<!-- Custom styles for this template -->
|
||||||
|
<link href="/css/dashboard.css" rel="stylesheet">
|
||||||
|
<style type="text/css">
|
||||||
|
/* Chart.js */
|
||||||
|
|
||||||
|
@-webkit-keyframes chartjs-render-animation {
|
||||||
|
from {
|
||||||
|
opacity: 0.99
|
||||||
|
}
|
||||||
|
to {
|
||||||
|
opacity: 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes chartjs-render-animation {
|
||||||
|
from {
|
||||||
|
opacity: 0.99
|
||||||
|
}
|
||||||
|
to {
|
||||||
|
opacity: 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.chartjs-render-monitor {
|
||||||
|
-webkit-animation: chartjs-render-animation 0.001s;
|
||||||
|
animation: chartjs-render-animation 0.001s;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<nav class="navbar navbar-dark sticky-top bg-dark flex-md-nowrap p-0">
|
||||||
|
<a class="navbar-brand col-sm-3 col-md-2 mr-0" href="http://getbootstrap.com/docs/4.0/examples/dashboard/#">Company name</a>
|
||||||
|
<input class="form-control form-control-dark w-100" type="text" placeholder="Search" aria-label="Search">
|
||||||
|
<ul class="navbar-nav px-3">
|
||||||
|
<li class="nav-item text-nowrap">
|
||||||
|
<a class="nav-link" href="http://getbootstrap.com/docs/4.0/examples/dashboard/#">Sign out</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row">
|
||||||
|
<div th:insert="~{dashboard::sidebar}"></div>
|
||||||
|
|
||||||
|
<main role="main" class="col-md-9 ml-sm-auto col-lg-10 pt-3 px-4">
|
||||||
|
<table class="table table-striped table-sm">
|
||||||
|
|
||||||
|
<tbody>
|
||||||
|
<tr th:each="user : ${users}" >
|
||||||
|
|
||||||
|
|
||||||
|
<form th:action="@{/update}" method="get">
|
||||||
|
<input type="hidden" name="stuid" th:value="${user.StudentNumber}">
|
||||||
|
<input type="hidden" name="stuname" th:value="${user.name}">
|
||||||
|
<div class="form-group">
|
||||||
|
<label>学号</label>
|
||||||
|
<input type="text" name="Studentnumber" class="form-control" th:placeholder="${user.StudentNumber}">
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label>姓名</label>
|
||||||
|
<input type="text" name="name" class="form-control" th:placeholder="${user.name}">
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label>权限</label><br>
|
||||||
|
<div class="form-check form-check-inline">
|
||||||
|
<input class="form-check-input" type="radio" name="power" value="1">
|
||||||
|
<label class="form-check-label">管理员</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-check form-check-inline">
|
||||||
|
<input class="form-check-input" type="radio" name="power" value="0">
|
||||||
|
<label class="form-check-label">用户</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- <div class="form-group">-->
|
||||||
|
<!-- <label>管理员</label>-->
|
||||||
|
<!-- <select class="form-control">-->
|
||||||
|
<!-- <option>是</option>-->
|
||||||
|
<!-- <option>否</option>-->
|
||||||
|
<!-- <!– <option>3</option>–>-->
|
||||||
|
<!-- <!– <option>4</option>–>-->
|
||||||
|
<!-- <!– <option>5</option>–>-->
|
||||||
|
<!-- </select>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- <div class="form-group">-->
|
||||||
|
<!-- <label>Birth</label>-->
|
||||||
|
<!-- <input type="text" class="form-control" placeholder="嘤嘤嘤">-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<button type="submit" class="btn btn-primary">添加</button>
|
||||||
|
</form>
|
||||||
|
</tr>
|
||||||
|
<!-- <tr>-->
|
||||||
|
<!-- <td th:text="${user.skey}"></td>-->
|
||||||
|
<!-- </tr>-->
|
||||||
|
<!-- <tr th:each="user:${users}">-->
|
||||||
|
<!-- <td th:text="@{}"></td>-->
|
||||||
|
<!-- </tr>-->
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<!-- <form th:action="@{/user}">-->
|
||||||
|
<!-- <div class="form-group">-->
|
||||||
|
<!-- <label>学号</label>-->
|
||||||
|
<!-- <input th:text="${user.name}" type="text" class="form-control" placeholder="海绵宝宝">-->
|
||||||
|
<!-- <div th:text="${users}"></div>-->
|
||||||
|
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- <div class="form-group">-->
|
||||||
|
<!-- <label>姓名</label>-->
|
||||||
|
<!-- <input type="email" class="form-control" placeholder="">-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!--<!– <div class="form-group">–>-->
|
||||||
|
<!--<!– <label>Gender</label><br>–>-->
|
||||||
|
<!--<!– <div class="form-check form-check-inline">–>-->
|
||||||
|
<!--<!– <input class="form-check-input" type="radio" name="gender" value="1">–>-->
|
||||||
|
<!--<!– <label class="form-check-label">男</label>–>-->
|
||||||
|
<!--<!– </div>–>-->
|
||||||
|
<!--<!– <div class="form-check form-check-inline">–>-->
|
||||||
|
<!--<!– <input class="form-check-input" type="radio" name="gender" value="0">–>-->
|
||||||
|
<!--<!– <label class="form-check-label">女</label>–>-->
|
||||||
|
<!--<!– </div>–>-->
|
||||||
|
<!--<!– </div>–>-->
|
||||||
|
<!-- <div class="form-group">-->
|
||||||
|
<!-- <label>管理员</label>-->
|
||||||
|
<!-- <select class="form-control">-->
|
||||||
|
<!-- <option>是</option>-->
|
||||||
|
<!-- <option>否</option>-->
|
||||||
|
<!--<!– <option>3</option>–>-->
|
||||||
|
<!--<!– <option>4</option>–>-->
|
||||||
|
<!--<!– <option>5</option>–>-->
|
||||||
|
<!-- </select>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!--<!– <div class="form-group">–>-->
|
||||||
|
<!--<!– <label>Birth</label>–>-->
|
||||||
|
<!--<!– <input type="text" class="form-control" placeholder="嘤嘤嘤">–>-->
|
||||||
|
<!--<!– </div>–>-->
|
||||||
|
<!-- <button type="submit" class="btn btn-primary">添加</button>-->
|
||||||
|
<!-- </form>-->
|
||||||
|
</main>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Bootstrap core JavaScript
|
||||||
|
================================================== -->
|
||||||
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
|
<script type="text/javascript" src="/js/jquery-3.2.1.slim.min.js"></script>
|
||||||
|
<script type="text/javascript" src="/js/popper.min.js"></script>
|
||||||
|
<script type="text/javascript" src="/js/bootstrap.min.js"></script>
|
||||||
|
|
||||||
|
<!-- Icons -->
|
||||||
|
<script type="text/javascript" src="/js/feather.min.js"></script>
|
||||||
|
<script>
|
||||||
|
feather.replace()
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<!-- Graphs -->
|
||||||
|
<script type="text/javascript" src="/js/Chart.min.js"></script>
|
||||||
|
<script>
|
||||||
|
var ctx = document.getElementById("myChart");
|
||||||
|
var myChart = new Chart(ctx, {
|
||||||
|
type: 'line',
|
||||||
|
data: {
|
||||||
|
labels: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
|
||||||
|
datasets: [{
|
||||||
|
data: [15339, 21345, 18483, 24003, 23489, 24092, 12034],
|
||||||
|
lineTension: 0,
|
||||||
|
backgroundColor: 'transparent',
|
||||||
|
borderColor: '#007bff',
|
||||||
|
borderWidth: 4,
|
||||||
|
pointBackgroundColor: '#007bff'
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
options: {
|
||||||
|
scales: {
|
||||||
|
yAxes: [{
|
||||||
|
ticks: {
|
||||||
|
beginAtZero: false
|
||||||
|
}
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
legend: {
|
||||||
|
display: false,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
Loading…
Reference in new issue