Merge remote-tracking branch 'remotes/origin/王西霖.branch' into develop

develop
王壕 2 years ago
commit 1eb8e22332

Binary file not shown.

Before

Width:  |  Height:  |  Size: 108 KiB

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

After

Width:  |  Height:  |  Size: 76 KiB

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="DataSourceManagerImpl" format="xml" multifile-model="true">
<data-source source="LOCAL" name="@localhost" uuid="1d92a40e-a1ff-4d2f-b755-5fb6da20e458">
<driver-ref>mysql.8</driver-ref>
<synchronize>true</synchronize>
<jdbc-driver>com.mysql.cj.jdbc.Driver</jdbc-driver>
<jdbc-url>jdbc:mysql://localhost:3306</jdbc-url>
<working-dir>$ProjectFileDir$</working-dir>
</data-source>
</component>
</project>

@ -0,0 +1,47 @@
package com.example.demo.common.util;
public class FormatResponseUtil {
/**
*
*/
public static ResponseResult formatResponse() {
ResponseResult result = null;
return formatResponse(result);
}
private static ResponseResult formatResponse(ResponseResult result) {
if (result == null) {
result = new ResponseResult(true, "请求成功", null);
}
return result;
}
/**
* ,
*/
public static ResponseResult formatResponse(Object object) {
return new ResponseResult(true, "请求成功", object);
}
/**
*
*/
public static ResponseResult formatResponse(String msg, Object object) {
return new ResponseResult(true, msg, object);
}
/**
*
*/
public static ResponseResult error(Exception e) {
return new ResponseResult(false, e.getMessage());
}
/**
*
*/
public static ResponseResult error(String exception) {
return new ResponseResult(false, exception);
}
}

@ -0,0 +1,34 @@
package com.example.demo.common.util;
import lombok.Data;
@Data
public class ResponseResult {
/**
*
*/
private boolean success;
/**
*
*/
private String msg;
/**
*
*/
private Object data;
public ResponseResult(boolean success, String msg, Object data) {
this.success = success;
this.msg = msg;
this.data = data;
}
public ResponseResult(boolean code, String msg) {
this.success = success;
this.msg = msg;
}
public ResponseResult(boolean success) {
this.success = success;
}
}

@ -0,0 +1,33 @@
package com.example.demo.config.config;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import com.example.demo.domain.Task;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;
import java.time.LocalDateTime;
@Component
public class BaseEntityMetaObjectHandler implements MetaObjectHandler {
@Override
public void insertFill(MetaObject metaObject) {
// 创建时间自动填充
if (metaObject.hasSetter(Task.CREATE_TIME) && ObjectUtil.isNull(getFieldValByName(Task.CREATE_TIME, metaObject))) {
this.strictInsertFill(metaObject, Task.CREATE_TIME, LocalDateTime.class, LocalDateTime.now());
}
}
@Override
public void updateFill(MetaObject metaObject) {
//修改时间自动填充
if (metaObject.hasSetter(Task.MODIFIED_TIME) && ObjectUtil.isNull(getFieldValByName(Task.MODIFIED_TIME, metaObject))) {
this.strictUpdateFill(metaObject, Task.MODIFIED_TIME, LocalDateTime.class, LocalDateTime.now());
}
}
}

@ -0,0 +1,27 @@
package com.example.demo.config.config;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* MybatisPlus
*
* @author huang
* @since 2022-03-18
*/
@Configuration
public class MybatisPlusConfig {
/**
*
*/
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
return interceptor;
}
}

@ -0,0 +1,47 @@
package com.example.demo.controller;
import com.example.demo.domain.Task;
import com.example.demo.service.impl.TaskServiceImpl;
import com.example.demo.common.util.FormatResponseUtil;
import com.example.demo.common.util.ResponseResult;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@RestController
@Tag(name = "WXL")
@RequestMapping("/task")
public class taskController {
@Autowired
public TaskServiceImpl taskService;
@Operation(summary = "获取任务信息")
@GetMapping("/taskList")
public ResponseResult queryAll() {
return FormatResponseUtil.formatResponse(taskService.queryAll());
}
@PostMapping("/addTask")
public ResponseResult addTask(@RequestBody Task task) {
return FormatResponseUtil.formatResponse(taskService.save(task));
}
@DeleteMapping("/delete")//这里执行的是物理删除
public ResponseResult delTaskById(Integer id){
return FormatResponseUtil.formatResponse(taskService.delTaskById(id));
}
@GetMapping("/one")
public ResponseResult queryById(int id){
return FormatResponseUtil.formatResponse(taskService.queryTaskById(id));
}
@PostMapping("/taskInfo")
public ResponseResult updateArea(@RequestBody Task task){
return FormatResponseUtil.formatResponse(taskService.updateById(task));
}
}

@ -0,0 +1,118 @@
package com.example.demo.domain;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.time.LocalDateTime;
@TableName("task")
public class Task {
private static final long serialVersionUID = 1L;
public static final String CREATE_TIME = "createTime";
public static final String MODIFIED_TIME = "lastTime";
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
private String name;
/*
*
* */
private String property;
//任务关联学号
private String stuid;
//任务截止时间
private String deadtime;
//任务状态默认0未完成
private Integer status;
/**
*
*/
@TableField(fill = FieldFill.INSERT)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime;
/**
*
*/
@TableField(fill = FieldFill.UPDATE)
private LocalDateTime lastTime;
public String getDeadtime() {
return deadtime;
}
public void setDeadtime(String deadtime) {
this.deadtime = deadtime;
}
public String getStuid() {
return stuid;
}
public void setStuid(String stuid) {
this.stuid = stuid;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getProperty() {
return property;
}
public void setProperty(String property) {
this.property = property;
}
public LocalDateTime getCreateTime() {
return createTime;
}
public void setCreateTime(LocalDateTime createTime) {
this.createTime = createTime;
}
public LocalDateTime getLastTime() {
return lastTime;
}
public void setLastTime(LocalDateTime lastEditTime) {
this.lastTime = lastEditTime;
}
@Override
public String toString() {
return "Task{" +
"id=" + id +
", name=" + name +
", priority=" + property +
", createTime=" + createTime +
", lastEditTime=" + lastTime +
"}";
}
}

@ -0,0 +1,18 @@
package com.example.demo.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.demo.domain.Task;
import org.apache.ibatis.annotations.Mapper;
/**
* <p>
* Mapper
* </p>
*
* @author huang
* @since 2022-03-27
*/
@Mapper
public interface TaskMapper extends BaseMapper<Task> {
}

@ -0,0 +1,5 @@
<?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.TaskMapper">
</mapper>

@ -0,0 +1,29 @@
package com.example.demo.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.demo.domain.Task;
import java.util.List;
/**
* <p>
*
* </p>
*/
public interface ITaskService extends IService<Task> {
/**
* Area
*/
List<Task> queryAll();
/**
* IdTask
*/
Task queryTaskById(int id);
/**
* IdTask
*/
boolean delTaskById(int id);
}

@ -0,0 +1,56 @@
package com.example.demo.service.impl;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.example.demo.domain.Task;
import com.example.demo.mapper.TaskMapper;
import com.example.demo.service.ITaskService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
/**
* <p>
*
* </p>
*
*/
@Service
public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements ITaskService {
@Autowired(required = false)
TaskMapper taskMapper;
@Override
public List<Task> queryAll() {
LambdaQueryWrapper<Task> wrapper = Wrappers.lambdaQuery();
wrapper.orderByAsc(Task::getId);
List<Task> taskList = taskMapper.selectList(wrapper);
return taskList;
}
@Override
public Task queryTaskById(int id) {
Task task = taskMapper.selectById(id);
return task;
}
@Override
public boolean delTaskById(int id) {
boolean ans;
int i = taskMapper.deleteById(id);
return ans = i>0 ? true:false;
}
}

@ -0,0 +1,16 @@
server:
port: 81
spring:
application:
name: wxlogin
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/wxlogin?useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true&useSSL=false
username: root
password: root
thymeleaf:
cache: false

File diff suppressed because one or more lines are too long

@ -0,0 +1,93 @@
body {
font-size: .875rem;
}
.feather {
width: 16px;
height: 16px;
vertical-align: text-bottom;
}
/*
* Sidebar
*/
.sidebar {
position: fixed;
top: 0;
bottom: 0;
left: 0;
z-index: 100; /* Behind the navbar */
padding: 0;
box-shadow: inset -1px 0 0 rgba(0, 0, 0, .1);
}
.sidebar-sticky {
position: -webkit-sticky;
position: sticky;
top: 48px; /* Height of navbar */
height: calc(100vh - 48px);
padding-top: .5rem;
overflow-x: hidden;
overflow-y: auto; /* Scrollable contents if viewport is shorter than content. */
}
.sidebar .nav-link {
font-weight: 500;
color: #333;
}
.sidebar .nav-link .feather {
margin-right: 4px;
color: #999;
}
.sidebar .nav-link.active {
color: #007bff;
}
.sidebar .nav-link:hover .feather,
.sidebar .nav-link.active .feather {
color: inherit;
}
.sidebar-heading {
font-size: .75rem;
text-transform: uppercase;
}
/*
* Navbar
*/
.navbar-brand {
padding-top: .75rem;
padding-bottom: .75rem;
font-size: 1rem;
background-color: rgba(0, 0, 0, .25);
box-shadow: inset -1px 0 0 rgba(0, 0, 0, .25);
}
.navbar .form-control {
padding: .75rem 1rem;
border-width: 0;
border-radius: 0;
}
.form-control-dark {
color: #fff;
background-color: rgba(255, 255, 255, .1);
border-color: rgba(255, 255, 255, .1);
}
.form-control-dark:focus {
border-color: transparent;
box-shadow: 0 0 0 3px rgba(255, 255, 255, .25);
}
/*
* Utilities
*/
.border-top { border-top: 1px solid #e5e5e5; }
.border-bottom { border-bottom: 1px solid #e5e5e5; }

@ -0,0 +1,49 @@
html,
body {
height: 100%;
}
body {
display: -ms-flexbox;
display: -webkit-box;
display: flex;
-ms-flex-align: center;
-ms-flex-pack: center;
-webkit-box-align: center;
align-items: center;
-webkit-box-pack: center;
justify-content: center;
padding-top: 40px;
padding-bottom: 40px;
/*background-color: #f5f5f5;*/
}
.form-signin {
width: 100%;
max-width: 330px;
padding: 15px;
margin: 0 auto;
}
.form-signin .checkbox {
font-weight: 400;
}
.form-signin .form-control {
position: relative;
box-sizing: border-box;
height: auto;
padding: 10px;
font-size: 16px;
}
.form-signin .form-control:focus {
z-index: 2;
}
.form-signin input[type="email"] {
margin-bottom: -1px;
border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
}
.form-signin input[type="password"] {
margin-bottom: 10px;
border-top-left-radius: 0;
border-top-right-radius: 0;
}

@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 612 612">
<g sodipodi:docname="twitter_bootstrap_logo.svg" inkscape:version="0.48.1 r9760" xmlns:svg="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape">
<path fill="#563D7C" d="M612 510c0 56.1-45.9 102-102 102H102C45.9 612 0 566.1 0 510V102C0 45.9 45.9 0 102 0h408c56.1 0 102 45.9 102 102v408z"/>
<path fill="#FFF" d="M166.3 133h173.5c32 0 57.7 7.3 77 22s29 36.8 29 66.5c0 18-4.4 33.4-13.2 46.2-8.8 12.8-21.4 22.8-37.8 29.8v1c22 4.7 38.7 15.1 50 31.2 11.3 16.2 17 36.4 17 60.8 0 14-2.5 27.1-7.5 39.2-5 12.2-12.8 22.7-23.5 31.5s-24.3 15.8-41 21-36.5 7.8-59.5 7.8h-164V133zm62.5 149.5h102c15 0 27.5-4.2 37.5-12.8s15-20.8 15-36.8c0-18-4.5-30.7-13.5-38s-22-11-39-11h-102v98.6zm0 156.5h110.5c19 0 33.8-4.9 44.2-14.8 10.5-9.8 15.8-23.8 15.8-41.8 0-17.7-5.2-31.2-15.8-40.8s-25.2-14.2-44.2-14.2H228.8V439z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -0,0 +1,14 @@
/**
* 网页登录二维码生成
* auther:wangh
* 2022.11.6
*/
createCode()
{
let codeNumber = '';
for (var i = 0; i < 0; i++) {
codeNumber += Math.floor(Math.random() * 10);
}
this.codeNumber = codeNumber;
this.qrCode = ''
}

File diff suppressed because one or more lines are too long

@ -0,0 +1,233 @@
<!DOCTYPE html>
<!-- saved from url=(0052)http://getbootstrap.com/docs/4.0/examples/dashboard/ -->
<html lang="en">
<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="asserts/css/bootstrap.min.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="asserts/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">
<nav class="col-md-2 d-none d-md-block bg-light sidebar">
<div class="sidebar-sticky">
<ul class="nav flex-column">
<li class="nav-item">
<a class="nav-link active" href="http://getbootstrap.com/docs/4.0/examples/dashboard/#">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-home">
<path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path>
<polyline points="9 22 9 12 15 12 15 22"></polyline>
</svg>
Dashboard <span class="sr-only">(current)</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="http://getbootstrap.com/docs/4.0/examples/dashboard/#">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-file">
<path d="M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z"></path>
<polyline points="13 2 13 9 20 9"></polyline>
</svg>
Orders
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="http://getbootstrap.com/docs/4.0/examples/dashboard/#">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-shopping-cart">
<circle cx="9" cy="21" r="1"></circle>
<circle cx="20" cy="21" r="1"></circle>
<path d="M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6"></path>
</svg>
Products
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="http://getbootstrap.com/docs/4.0/examples/dashboard/#">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-users">
<path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path>
<circle cx="9" cy="7" r="4"></circle>
<path d="M23 21v-2a4 4 0 0 0-3-3.87"></path>
<path d="M16 3.13a4 4 0 0 1 0 7.75"></path>
</svg>
Customers
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="http://getbootstrap.com/docs/4.0/examples/dashboard/#">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-bar-chart-2">
<line x1="18" y1="20" x2="18" y2="10"></line>
<line x1="12" y1="20" x2="12" y2="4"></line>
<line x1="6" y1="20" x2="6" y2="14"></line>
</svg>
Reports
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="http://getbootstrap.com/docs/4.0/examples/dashboard/#">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-layers">
<polygon points="12 2 2 7 12 12 22 7 12 2"></polygon>
<polyline points="2 17 12 22 22 17"></polyline>
<polyline points="2 12 12 17 22 12"></polyline>
</svg>
Integrations
</a>
</li>
</ul>
<h6 class="sidebar-heading d-flex justify-content-between align-items-center px-3 mt-4 mb-1 text-muted">
<span>Saved reports</span>
<a class="d-flex align-items-center text-muted" href="http://getbootstrap.com/docs/4.0/examples/dashboard/#">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-plus-circle"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="16"></line><line x1="8" y1="12" x2="16" y2="12"></line></svg>
</a>
</h6>
<ul class="nav flex-column mb-2">
<li class="nav-item">
<a class="nav-link" href="http://getbootstrap.com/docs/4.0/examples/dashboard/#">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-file-text">
<path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path>
<polyline points="14 2 14 8 20 8"></polyline>
<line x1="16" y1="13" x2="8" y2="13"></line>
<line x1="16" y1="17" x2="8" y2="17"></line>
<polyline points="10 9 9 9 8 9"></polyline>
</svg>
Current month
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="http://getbootstrap.com/docs/4.0/examples/dashboard/#">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-file-text">
<path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path>
<polyline points="14 2 14 8 20 8"></polyline>
<line x1="16" y1="13" x2="8" y2="13"></line>
<line x1="16" y1="17" x2="8" y2="17"></line>
<polyline points="10 9 9 9 8 9"></polyline>
</svg>
Last quarter
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="http://getbootstrap.com/docs/4.0/examples/dashboard/#">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-file-text">
<path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path>
<polyline points="14 2 14 8 20 8"></polyline>
<line x1="16" y1="13" x2="8" y2="13"></line>
<line x1="16" y1="17" x2="8" y2="17"></line>
<polyline points="10 9 9 9 8 9"></polyline>
</svg>
Social engagement
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="http://getbootstrap.com/docs/4.0/examples/dashboard/#">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-file-text">
<path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path>
<polyline points="14 2 14 8 20 8"></polyline>
<line x1="16" y1="13" x2="8" y2="13"></line>
<line x1="16" y1="17" x2="8" y2="17"></line>
<polyline points="10 9 9 9 8 9"></polyline>
</svg>
Year-end sale
</a>
</li>
</ul>
</div>
</nav>
<main role="main" class="col-md-9 ml-sm-auto col-lg-10 pt-3 px-4">
<h1>404</h1>
</main>
</div>
</div>
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script type="text/javascript" src="asserts/js/jquery-3.2.1.slim.min.js" ></script>
<script type="text/javascript" src="asserts/js/popper.min.js" ></script>
<script type="text/javascript" src="asserts/js/bootstrap.min.js" ></script>
<!-- Icons -->
<script type="text/javascript" src="asserts/js/feather.min.js" ></script>
<script>
feather.replace()
</script>
<!-- Graphs -->
<script type="text/javascript" src="asserts/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,176 @@
<!DOCTYPE html>
<!-- saved from url=(0052)http://getbootstrap.com/docs/4.0/examples/dashboard/ -->
<html lang="en">
<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="">admin</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">
<nav class="col-md-2 d-none d-md-block bg-light sidebar" th:fragment="sidebar">
<div class="sidebar-sticky">
<ul class="nav flex-column">
<li class="nav-item">
<a class="nav-link active" th:href="@{/totaltask}">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-home">
<path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path>
<polyline points="9 22 9 12 15 12 15 22"></polyline>
</svg>
数据统计 <span class="sr-only">(current)</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link" th:href="@{/taskedit}">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-shopping-cart">
<circle cx="9" cy="21" r="1"></circle>
<circle cx="20" cy="21" r="1"></circle>
<path d="M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6"></path>
</svg>
任务管理
</a>
</li>
<li class="nav-item">
<a class="nav-link" th:href="@{/users}">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-users">
<path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path>
<circle cx="9" cy="7" r="4"></circle>
<path d="M23 21v-2a4 4 0 0 0-3-3.87"></path>
<path d="M16 3.13a4 4 0 0 1 0 7.75"></path>
</svg>
成员管理
</a>
</li>
</ul>
</div>
</nav>
<main role="main" class="col-md-9 ml-sm-auto col-lg-10 pt-3 px-4">
<div class="chartjs-size-monitor" style="position: absolute; left: 0px; top: 0px; right: 0px; bottom: 0px; overflow: hidden; pointer-events: none; visibility: hidden; z-index: -1;">
<div class="chartjs-size-monitor-expand" style="position:absolute;left:0;top:0;right:0;bottom:0;overflow:hidden;pointer-events:none;visibility:hidden;z-index:-1;">
<div style="position:absolute;width:1000000px;height:1000000px;left:0;top:0"></div>
</div>
<div class="chartjs-size-monitor-shrink" style="position:absolute;left:0;top:0;right:0;bottom:0;overflow:hidden;pointer-events:none;visibility:hidden;z-index:-1;">
<div style="position:absolute;width:200%;height:200%;left:0; top:0"></div>
</div>
</div>
<div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pb-2 mb-3 border-bottom">
<h1 class="h2">Dashboard</h1>
<div class="btn-toolbar mb-2 mb-md-0">
<div class="btn-group mr-2">
<button class="btn btn-sm btn-outline-secondary">Share</button>
<button class="btn btn-sm btn-outline-secondary">Export</button>
</div>
<button class="btn btn-sm btn-outline-secondary dropdown-toggle">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-calendar"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line></svg>
This week
</button>
</div>
</div>
<canvas class="my-4 chartjs-render-monitor" id="myChart" width="1076" height="454" style="display: block; width: 1076px; height: 454px;"></canvas>
</main>
</div>
</div>
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script type="text/javascript" src="asserts/js/jquery-3.2.1.slim.min.js" ></script>
<script type="text/javascript" src="asserts/js/popper.min.js" ></script>
<script type="text/javascript" src="asserts/js/bootstrap.min.js" ></script>
<!-- Icons -->
<script type="text/javascript" src="asserts/js/feather.min.js" ></script>
<script>
feather.replace()
</script>
<!-- Graphs -->
<script type="text/javascript" src="asserts/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,40 @@
<!DOCTYPE html>
<html lang="en" 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>Signin Template for Bootstrap</title>
<!-- Bootstrap core CSS -->
<link rel="stylesheet" th:href="@{/css/bootstrap.min.css}">
<!-- Custom styles for this template -->
<link rel="stylesheet" th:href="@{/css/signin.css}">
</head>
<body class="text-center">
<form class="form-signin" action="/login">
<img class="mb-4" th:src="@{/img/bootstrap-solid.svg}" alt="" width="72" height="72">
<h1 class="h3 mb-3 font-weight-normal">Please sign in</h1>
<p style="color: red" th:text="${msg}" ></p>
<label class="sr-only">Username</label>
<input type="text" name="code" class="form-control" placeholder="微信授权登录(未实现)" required="" autofocus="">
<div class="checkbox mb-3">
<label>
<input type="checkbox" value="remember-me"> Remember me
</label>
</div>
<button class="btn btn-lg btn-primary btn-block" type="submit">Sign in</button>
<p class="mt-5 mb-3 text-muted">© 2017-2018</p>
<a class="btn btn-sm">中文</a>
<a class="btn btn-sm">English</a>
</form>
</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" >Admin</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>
<div class="table-responsive">
<table class="table table-striped table-sm">
<thead>
<tr>
<th>student_number</th>
<th>name</th>
<!-- <th>gender</th>-->
<!-- <th>city</th>-->
<th>power</th>
</tr>
</thead>
<tbody>
<tr th:each="user : ${users}" >
<td th:text="${user.StudentNumber}"></td>
<!-- <td>11</td>-->
<td th:text="${user.name}"></td>
<!-- <td th:text="${user.gender}"></td>-->
<!-- <td th:text="${user.city}"></td>-->
<td th:text="${user.power==0?'user':'admin'}"></td>
<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,3 @@
{
"navigationBarTitleText": "任务信息列表"
}

@ -0,0 +1,138 @@
// pages/list/list.js
Page({
/**
*
*/
data: {
list:[]
},
/**
* --
*/
onLoad: function () {
},
/**
* --
*/
onReady: function () {
},
/**
* --
* Show
*/
onShow: function () {
//这里的this是指窗口而在request中this是指onShow方法(因为是页面调用onShow,onShow调用request),所以要先定义
var that = this;
wx.request({
//后端接口提供的url
url: 'http://localhost:81/task/taskList',
method:'GET',
//需要传入的参数
data:{},
success:function(res :any){
var list = res.data.data;
if(list == null){
//如果获取数据失败,提示使用者
var toastText = '获取数据失败' + res.data.msg;
wx.showToast({
title: toastText,
//显示时长为2s
duration:2000
})
}else{
that.setData({
list:list
})
}
}
})
},
/**
* --
*/
onHide: function () {
},
/**
* --
*/
onUnload: function () {
},
/**
* --
*/
onPullDownRefresh: function () {
},
/**
*
*/
onReachBottom: function () {
},
/**
*
*/
onShareAppMessage: function () {
},
addTask: function(){
wx.navigateTo({
url: '../operation/operation',
})
},
//e表示响应的控件
delTask: function(e :any){
var that = this;
//相当于confirm窗口
wx.showModal({
title: '提示',
//这里的变量名需要与响应控件的data-后面的变量名相同
content: '确认要删除['+e.target.dataset.name+']吗?',
success:function(sm){
if(sm.confirm){
wx.request({
url: 'http://localhost:81/task/delete',
data: {'id':e.target.dataset.id},
header: {
//默认是 'content-type': 'application/json'要传post的参数必须写成这样要传delete参数则为null
"content-type": "application/x-www-form-urlencoded"
},
method: 'DELETE',
success: function(res:any) {
var result = res.data.success;
var toastText='删除成功';
if(result == true){
that.data.list.splice(e.target.dataset.index,1);
that.setData({
list:that.data.list
});
}else{
toastText = '删除失败';
}
wx.showToast({
title: toastText,
duration:2000
})
},
})
}
}
})
}
})

@ -0,0 +1,31 @@
<!--pages/list/list.wxml-->
<view class='container'>
<view class='widget'>
<text class='column'>您发布的任务信息如下:</text>
</view>
<scroll-view scroll-y="true">
<!--遍历list变量名要和js中的名字相同且item是定值不可修改 -->
<block class='widget' wx:for="{{list}}">
<view class='widget'>
<text class='row'>ID:</text>
<text class='row'>{{item.id}}</text>
<text class='column'>名字:</text>
<text class='column'>{{item.name}}</text>
<view>
<text class='column'>信息:</text>
<text class='column'>{{item.property}}</text>
</view>
<text class='column'>时间:</text>
<text class='column'>{{item.deadtime}}</text>
<text class='link-row'>任务编辑:</text>
<view class='link-row'>
<navigator class='link' url='../operation/operation?id={{item.id}}'>编辑</navigator>|
<text class='link' bindtap='delTask' data-id='{{item.id}}' data-index='{{index}}' data-name='{{item.name}}'>删除
</text>
</view>
</view>
</block>
<button type='primary' bindtap='addTask'>添加任务信息</button>
</scroll-view>
</view>

@ -0,0 +1,40 @@
/* pages/list/list.wxss */
.container{
display: flex;
flex-direction: column;
justify-content: space-between;
box-sizing: border-box;
padding-top: 10rpx;
padding-bottom: 10rpx;
}
.widget{
position: relative;
margin-top: 5rpx;
margin-bottom: 5rpx;
padding-top: 20rpx;
padding-bottom: 20rpx;
padding-left: 5rpx;
padding-right: 4rpx;
border: rgb(16, 196, 157) 1px solid;
}
.row{
width: 3rem;
display: table-cell;
}
.form-box picker{
margin: 30rpx 30rpx 0 0;
color: rgb(187, 19, 19);
}
.link-row{
width: 5rem;
display: table-cell;
}
.link{
color: blue;
display: inline-table;
}

@ -0,0 +1,3 @@
{
"usingComponents": {}
}

@ -0,0 +1,99 @@
// pages/mmm/mmm.ts
Page({
/**
*
*/
data: {
mmm:'',
releaseFlag: false
},
/**
* --
*/
onLoad: function () {
},
atbutton(){
let skey = wx.getStorageSync('skey')
var that = this
wx.request({ //请求地址
url: 'http://127.0.0.1:81/getrcode',
method: 'GET',
data:{
skey:skey},
header: { //请求头
'content-type': 'application/json'
// "Content-Type": "application/x-www-form-urlencoded"
},
success: function (res:any) {
wx.showModal({
title: '验证码',
content: res.data
})
if (res.confirm) {//这里是点击了确定以后
console.log('用户点击确定')
} else {//这里是点击了取消以后
console.log('用户点击取消')
}
},
})
},
/**
* --
*/
onReady() {
},
/**
* --
*/
onShow() {
},
/**
* --
*/
onHide() {
},
/**
* --
*/
onUnload() {
},
/**
* --
*/
onPullDownRefresh() {
},
/**
*
*/
onReachBottom() {
},
/**
*
*/
onShareAppMessage() {
}
})

@ -0,0 +1,6 @@
<!--pages/mmm/mmm.wxml-->
<view class="page-body">
<view class="btn-area" id="buttonContainer" catchtap="atbutton">
<button type="primary" >获取验证码</button>
</view>
</view>

@ -0,0 +1,5 @@
/* pages/mmm/mmm.wxss */
button{
margin-top: 30rpx;
margin-bottom: 30rpx;
}

@ -0,0 +1,3 @@
{
"navigationBarTitleText": "任务信息表单"
}

@ -0,0 +1,147 @@
// logs.ts
// const util = require('../../utils/util.js')
import { formatTime } from '../../utils/util'
Page({
data: {
logs: [],
taskList: [],
taskFlag: false,
releaseFlag: false,
id:undefined,
name:'',
property:'',
stuid:'',
deadtime:'',
addUrl:'http://localhost:81/task/addTask',
updateUrl:'http://localhost:81/task/taskInfo',
from: {
taskName: "",
end: ""
}
},
inputFrom(event:any) {
if (event.currentTarget.dataset.gater == "from.end") {
let num = event.detail.value;
if (num.length == 4) num += "-";
if (num.length == 7) num += "-";
this.setData({ [`from.end`]: num })
} else if(event.currentTarget.dataset.gater == "from.taskName"){
this.setData({
[`${event.currentTarget.dataset.gater}`]: event.detail.value
})
}else{
this.setData({
[`${event.currentTarget.dataset.gater}`]: event.detail.value
})
}
},
addSelect() {
const { taskName, end } = this.data.from;
if (end.length != 10) return;
if (!taskName || !end) {
wx.showToast({
title: "请填写任务名称和任务进度",
icon: 'error',
});
return;
}
const list = wx.getStorageSync("taskList") || [];
const index = list.findIndex((item:any) => item.title == taskName);
if (index >= 0) {
wx.showToast({
title: "任务名称重复",
icon: 'error',
});
return;
}
const data = {
id: list.length + 1,
title: taskName,
startTime: formatTime(new Date), endTime: end, end: '40',
}
list.push(data)
wx.setStorageSync("taskList", list);
wx.showToast({
title: "发布成功",
icon: 'success',
});
this.setData({
taskList: wx.getStorageSync("taskList") || []
});
},
formSubmit:function(e:any){
var that = this;
//获取表单值
var formData = e.detail.value;
var url = this.data.addUrl;
if(this.data.id != undefined){
//如果是编辑按钮跳转
formData.id = this.data.id;
url = this.data.updateUrl;
}
console.log(JSON.stringify(formData));
wx.request({
url: url,
//将其转换成JSON
data: JSON.stringify(formData),
method: 'POST',
success: function(res:any) {
var result = res.data.success;
var toastText = '请求成功';
if(!result){
toastText = '请求失败'+res.data.msg;
}
wx.showToast({
title: toastText,
duration: 2000,
})
if(result){
wx.redirectTo({
//操作结束后跳转回列表页
url: '../list/list',
})
}
},
})
},
atTaskFlag() {
this.setData({ taskFlag: !this.data.taskFlag })
},
onShow() {
this.setData({
taskList: wx.getStorageSync("taskList") || []
});
},
onLoad: function (options:any) {
//options为页面跳转带来的参数
var that = this;
if(options.id != undefined){
//若是由编辑按钮跳转过来的
that.setData({
id:options.id
});
wx.request({
url: 'http://localhost:81/task/one',
data: {'id':options.id},
method: 'GET',
success: function(res:any) {
var result = res.data.success;
if(result){
that.setData({
areaName:res.data.data.name,
priority: res.data.data.priority
});
}else{
wx.showToast({
title: '请求失败'+res.data.msg,
duration: 2000,
});
}
},
})
}
},
})

@ -0,0 +1,19 @@
<view class="release-view">
<form bindsubmit='formSubmit' bindreset='formReset'>
<label>任务名称
<input type='text' name='name' placeholder='请输入任务名' value='{{name}}'></input>
</label>
<label>任务结束时间
<input type="text" name="deadtime" value="{{deadtime}}" placeholder="输入任务结束时间" ></input>
</label>
<label>任务详情
<input type="text" name="property" value="{{property}}" placeholder="输入任务详情" ></input>
</label>
<view class='row'>
<button type='primary' form-type='submit' catchtap="addSelect">提交</button>
<button type='primary' form-type='reset'>清空</button>
</view>
</form>
</view>

@ -0,0 +1,69 @@
/* pages/opration/opration.wxss */
.row input {
font-size: 0.7rem;
flex-grow: 3;
border: ipx solid #09c;
display: inline-block;
border-radius: 0.3rem;
box-shadow: 0 0 0.15rem #aaa;
padding: 0.3rem;
}
.row button {
padding: 0.3rem;
margin: 3rem 1rem;
}
.container {
padding: 1rem;
font-size: 0.9rem;
line-height: 1.5rem;
}
.row {
display: flex;
align-items: center;
margin-bottom: 0.8rem;
}
.row text {
flex-grow: 1.5;
text-align: right;
}
.form-box picker{
margin: 30rpx 30rpx 0 0;
color: rgb(153, 153, 153);
}
.title {
background: #fff;
display: inline-block;
border-radius: 4px;
padding: 4px;
margin: 10px 0;
position: relative;
}
.title::after {
content: "";
position: absolute;
top: 50%;
width: 100vw;
height: 4px;
background: #fff;
}
.release-view{
padding: 8px;
background-color: #fff;
border-radius: 4px;
}
.release-view input{
border: 1px #ccc solid;
border-radius: 4px;
margin: 6px 0;
padding: 4px;
}

@ -0,0 +1,3 @@
{
"navigationBarTitleText": "接龙信息表单"
}

@ -0,0 +1,95 @@
// logs.ts
// const util = require('../../utils/util.js')
import { formatTime } from '../../utils/util'
Page({
data: {
logs: [],
taskList: [],
taskFlag: false,
releaseFlag: false,
id:undefined,
name:'',
property:'',
stuid:'',
deadtime:'',
addUrl:'http://localhost:81/dragon/addDragon',
updateUrl:'http://localhost:81/dragon/dragonInfo',
from: {
taskName: "",
end: ""
}
},
formSubmit:function(e:any){
var that = this;
//获取表单值
var formData = e.detail.value;
var url = this.data.addUrl;
if(this.data.id != undefined){
//如果是编辑按钮跳转
formData.id = this.data.id;
url = this.data.updateUrl;
}
console.log(JSON.stringify(formData));
wx.request({
url: url,
//将其转换成JSON
data: JSON.stringify(formData),
method: 'POST',
success: function(res:any) {
var result = res.data.success;
var toastText = '请求成功';
if(!result){
toastText = '请求失败'+res.data.msg;
}
wx.showToast({
title: toastText,
duration: 2000,
})
if(result){
wx.redirectTo({
//操作结束后跳转回列表页
url: '../list1/list1',
})
}
},
})
},
atTaskFlag() {
this.setData({ taskFlag: !this.data.taskFlag })
},
onShow() {
this.setData({
taskList: wx.getStorageSync("taskList") || []
});
},
onLoad: function (options:any) {
//options为页面跳转带来的参数
var that = this;
if(options.id != undefined){
//若是由编辑按钮跳转过来的
that.setData({
id:options.id
});
wx.request({
url: 'http://localhost:81/dragon/one',
data: {'id':options.id},
method: 'GET',
success: function(res:any) {
var result = res.data.success;
if(result){
that.setData({
areaName:res.data.data.name,
priority: res.data.data.priority
});
}else{
wx.showToast({
title: '请求失败'+res.data.msg,
duration: 2000,
});
}
},
})
}
},
})

@ -0,0 +1,18 @@
<view class="release-view">
<form bindsubmit='formSubmit' bindreset='formReset'>
<label>接龙名称
<input type='text' name='name' placeholder='请输入接龙名' value='{{name}}'></input>
</label>
<label>接龙结束时间
<input type="text" name="deadtime" value="{{deadtime}}" placeholder="输入接龙结束时间" ></input>
</label>
<label>接龙详情
<input type="text" name="property" value="{{property}}" placeholder="输入接龙详情" ></input>
</label>
<view class='row'>
<button type='primary' form-type='submit' catchtap="addSelect">提交</button>
<button type='primary' form-type='reset'>清空</button>
</view>
</form>
</view>

@ -0,0 +1,69 @@
/* pages/opration/opration.wxss */
.row input {
font-size: 0.7rem;
flex-grow: 3;
border: ipx solid #09c;
display: inline-block;
border-radius: 0.3rem;
box-shadow: 0 0 0.15rem #aaa;
padding: 0.3rem;
}
.row button {
padding: 0.3rem;
margin: 3rem 1rem;
}
.container {
padding: 1rem;
font-size: 0.9rem;
line-height: 1.5rem;
}
.row {
display: flex;
align-items: center;
margin-bottom: 0.8rem;
}
.row text {
flex-grow: 1.5;
text-align: right;
}
.form-box picker{
margin: 30rpx 30rpx 0 0;
color: rgb(153, 153, 153);
}
.title {
background: #fff;
display: inline-block;
border-radius: 4px;
padding: 4px;
margin: 10px 0;
position: relative;
}
.title::after {
content: "";
position: absolute;
top: 50%;
width: 100vw;
height: 4px;
background: #fff;
}
.release-view{
padding: 8px;
background-color: #fff;
border-radius: 4px;
}
.release-view input{
border: 1px #ccc solid;
border-radius: 4px;
margin: 6px 0;
padding: 4px;
}

@ -171,8 +171,6 @@
<version>1.1.21</version> <version>1.1.21</version>
</dependency> </dependency>
<!-- lombok--> <!-- lombok-->
<dependency> <dependency>
<groupId>org.projectlombok</groupId> <groupId>org.projectlombok</groupId>
@ -200,17 +198,6 @@
</dependencies> </dependencies>
<!-- <dependencyManagement>-->
<!-- <dependencies>-->
<!-- <dependency>-->
<!-- <groupId>org.springframework.boot</groupId>-->
<!-- <artifactId>spring-boot-dependencies</artifactId>-->
<!-- <version>${spring-boot.version}</version>-->
<!-- <type>pom</type>-->
<!-- <scope>import</scope>-->
<!-- </dependency>-->
<!-- </dependencies>-->
<!-- </dependencyManagement>-->
<build> <build>
<plugins> <plugins>

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Loading…
Cancel
Save