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