Compare commits

...

88 Commits

Author SHA1 Message Date
yangbin b34efc847d Merge remote-tracking branch 'origin/main'
# Conflicts:
#	frontend/src/layout/components/SemesterBar.vue
#	frontend/src/views/classHour/plan/index.vue
2026-08-27 17:04:52 +08:00
yangbin be7b91ac20 全局操作栏固定修复 和切换学期配色调整 2026-08-27 17:02:32 +08:00
zhaichao c2cc535d80 移除冗余文件 2026-08-27 16:49:04 +08:00
zhaichao 108d848b4b 学期 2026-08-27 16:44:07 +08:00
zhaichao 6e472028c8 教学大纲 2026-08-27 16:39:04 +08:00
zhaichao 1e852d03a9 人才培养 2026-08-27 16:38:52 +08:00
zhaichao b93375ee7a 学科专业 2026-08-27 16:38:44 +08:00
zhaichao f2071455d1 联教 2026-08-27 16:21:55 +08:00
zhaichao b33e6b4a52 顶部学期切换栏优化 2026-08-27 16:21:42 +08:00
zhaichao 5a81ce54b0 Merge branch 'main' of https://gitea.fengyingkj.top/zhaichao/education 2026-08-27 15:36:12 +08:00
zhaichao 743ec5de14 人才培养方案 2026-08-27 15:36:09 +08:00
yangbin 06715c0767 人才培养方案 新增调整 2026-08-27 15:31:19 +08:00
zhaichao 18f538cca3 人培 2026-08-27 15:30:08 +08:00
zhaichao 0de768b459 Merge branch 'main' of https://gitea.fengyingkj.top/zhaichao/education 2026-08-27 15:28:17 +08:00
zhaichao 61d563489c 大纲 2026-08-27 15:28:11 +08:00
yangbin 2328a6c938 全局用到全量查询的下拉框 做模糊查询 2026-08-27 14:40:16 +08:00
yangbin 26072ffe4e 若干前端bug修复 2026-08-27 12:01:33 +08:00
zhaichao c8990ab1a4 机关教学日志 2026-08-27 11:52:34 +08:00
zhaichao ffdcfaa350 教研室管理 2026-08-27 10:42:49 +08:00
zhaichao 90e03e1faf 模板 2026-08-27 10:31:21 +08:00
zhaichao 25f37a1d9a 移除缓存相关按钮 2026-08-27 09:36:52 +08:00
yangbin 65b96c0732 学员信息维护列表展示问题修复 2026-08-27 09:31:23 +08:00
yangbin 2778604e99 Merge remote-tracking branch 'origin/main' 2026-08-26 18:08:17 +08:00
yangbin 42e692fc8c 学员信息维护成绩表单展示 2026-08-26 18:08:09 +08:00
zhaichao 87335c4c51 Merge branch 'main' of https://gitea.fengyingkj.top/zhaichao/education 2026-08-26 18:01:24 +08:00
zhaichao 2c684c3dbf 教研室模板 2026-08-26 18:01:20 +08:00
yangbin 0877228043 学员管理前两项的调整 2026-08-26 18:00:43 +08:00
zhaichao f2aac5aa30 Merge branch 'main' of https://gitea.fengyingkj.top/zhaichao/education 2026-08-26 17:54:25 +08:00
zhaichao 73c00286e7 学员队模板 2026-08-26 17:54:22 +08:00
yangbin ed6dfd6059 学员管理界面 导航栏列表展示优化 2026-08-26 17:20:24 +08:00
zhaichao 91c2b7c0a7 教研室管理 2026-08-26 17:08:01 +08:00
zhaichao 6f59fa29e1 教研室管理 2026-08-26 17:06:33 +08:00
zhaichao 42fb981c8c 教研室管理表格新增停用 2026-08-26 16:13:28 +08:00
zhaichao 2c4cc2aaaf 学员成绩管理条件查询 2026-08-26 16:12:39 +08:00
zhaichao ebbbd5fb01 校历删除功能完善 2026-08-26 15:04:52 +08:00
zhaichao e821ac7d97 教学大纲接口变更 2026-08-26 14:22:25 +08:00
zhaichao ca7d7b6869 Merge branch 'main' of https://gitea.fengyingkj.top/zhaichao/education 2026-08-26 14:12:30 +08:00
zhaichao d0d871f7c6 教学大纲 2026-08-26 14:12:19 +08:00
zhaichao 4f9b543c74 课表调整申请新增 2026-08-26 14:12:00 +08:00
zhaichao 9ae21acaf8 校历 2026-08-26 14:10:01 +08:00
yangbin f0b8ba57ff 课表调整小卡片逻辑优化 2026-08-26 11:43:37 +08:00
yangbin 5b8c7b0e7b 人才培养方案新增表单调整 2026-08-26 10:44:36 +08:00
yangbin cf04ac37df Merge remote-tracking branch 'origin/main' 2026-08-26 10:07:11 +08:00
yangbin 3443d24d42 学员信息维护籍贯列表项的居中展示 2026-08-26 10:06:39 +08:00
zhaichao 09578b9b58 样式变更 2026-08-26 10:06:16 +08:00
zhaichao f32fdc664d chore: 取消追踪 node_modules 2026-08-26 09:57:30 +08:00
zhaichao f2ad0509c4 恢复最新前端代码 2026-08-26 09:52:26 +08:00
zhaichao 12cac0fce3 Merge branch 'main' of https://gitea.fengyingkj.top/zhaichao/education 2026-08-26 09:40:27 +08:00
zhaichao 394eb0285d Merge remote-tracking branch 'upstream/main' 2026-08-26 09:31:34 +08:00
zhaichao 9b8c4bfab6 合并 main 分支并处理冲突 2026-08-26 09:27:48 +08:00
yangbin bfb1afb470 课表以及课表调整申请 2026-08-25 20:07:13 +08:00
yangbin 303d15e234 学员信息维护 2026-08-25 19:48:36 +08:00
yangbin 13d72c54f2 停用 2026-08-25 19:25:55 +08:00
zhaichao 0240f410b6 教员 2026-08-25 18:21:53 +08:00
zhaichao 76edcb8cb3 Merge branch 'main' of https://gitea.fengyingkj.top/zhaichao/education 2026-08-25 18:08:32 +08:00
zhaichao 5c107426c1 教员管理,教研室管理 2026-08-25 18:08:29 +08:00
yangbin 7f178cb23f 全部列表页列表项 展示居中 2026-08-25 17:52:41 +08:00
yangbin 0d3c89a0c4 人才培养方案查询框的 字典录入 接口对接 2026-08-25 17:45:04 +08:00
yangbin 2adb096ebe Merge remote-tracking branch 'origin/main' 2026-08-25 17:45:00 +08:00
zhaichao 7fa8041bf7 教研室管理查询区新增是否停用 2026-08-25 17:44:32 +08:00
yangbin d7d138b8ef 新增教学场地弹窗内容调整 2026-08-25 17:39:37 +08:00
zhaichao 169b30a5c2 Merge branch 'main' of https://gitea.fengyingkj.top/zhaichao/education 2026-08-25 17:24:36 +08:00
zhaichao 94e43d7d8b 角色页面控制台报错 2026-08-25 17:24:31 +08:00
yangbin 05c1bce6d3 Merge remote-tracking branch 'origin/main' 2026-08-25 17:21:08 +08:00
yangbin 3276f47928 教学业务:教学场地里的教学场地类型下拉框 反向覆盖问题修复 2026-08-25 17:20:55 +08:00
zhaichao a731eafe29 报错修复 2026-08-25 17:17:00 +08:00
zhaichao f60db56719 Merge branch 'main' of https://gitea.fengyingkj.top/zhaichao/education 2026-08-25 17:05:48 +08:00
zhaichao 872eb4c84a 序号跨页连续 2026-08-25 17:05:41 +08:00
yangbin 99436d14c5 “分组教学任务”的“任务名称”列已居中
同步修正“教学任务计划管理”中的相同列
检查并统一了教学场地、培养方案、课表、调课、课表冲突、班次学期等列表中的短名称和编号列
2026-08-25 16:59:49 +08:00
yangbin 9d45526af2 Merge remote-tracking branch 'origin/main' 2026-08-25 16:52:32 +08:00
yangbin c98cd0aaca 分组教学任务查不到数据bug修复 2026-08-25 16:52:02 +08:00
zhaichao af7370def4 教学大纲新增对话框停用改复选框 2026-08-25 15:45:10 +08:00
yangbin 99ae7a7947 Merge remote-tracking branch 'origin/main' 2026-08-25 15:40:19 +08:00
yangbin b2d27c87d2 教学大纲字典统一 新增专业 课程等字典调整 2026-08-25 15:40:13 +08:00
zhaichao ada2d04736 Merge branch 'main' of https://gitea.fengyingkj.top/zhaichao/education 2026-08-25 15:11:14 +08:00
zhaichao 5a55d74a86 学期信息新增重复校验 2026-08-25 15:11:01 +08:00
yangbin e89863900e tab页面修改 只保持最近的八个页面 2026-08-25 15:09:20 +08:00
yangbin 2d738549b5 Merge remote-tracking branch 'origin/main' 2026-08-25 14:53:43 +08:00
yangbin d58d044c6a 全局主按钮 颜色样式统一 2026-08-25 14:53:34 +08:00
zhaichao ebf4928e3f 课表 2026-08-25 14:48:51 +08:00
yangbin 6f61e87303 Merge remote-tracking branch 'origin/main' 2026-08-25 14:46:35 +08:00
yangbin cab512e033 全局列表展示下侧的滚动条隐藏 2026-08-25 14:46:28 +08:00
zhaichao 656ee817e6 样式变更 2026-08-25 14:16:12 +08:00
zhaichao 7bfc19c4f4 样式变更 2026-08-25 10:43:24 +08:00
zhaichao 54fa1c6be2 样式变更 2026-08-25 09:47:30 +08:00
zhaichao 0934a4d910 样式变更 2026-08-25 09:29:11 +08:00
yangbin 763bf34c3a 系统风格以及部分页面样式变更 2026-08-24 18:35:40 +08:00
zhaichao 9f4571a40e 首页只保留通知公告 2026-08-24 16:11:05 +08:00
370 changed files with 73650 additions and 1 deletions
-1
View File
@@ -2,7 +2,6 @@
<project version="4"> <project version="4">
<component name="DataSourceManagerImpl" format="xml" multifile-model="true"> <component name="DataSourceManagerImpl" format="xml" multifile-model="true">
<data-source source="LOCAL" name="DM" uuid="a3a7e92a-b8da-4229-8b83-5db11f9db9a9"> <data-source source="LOCAL" name="DM" uuid="a3a7e92a-b8da-4229-8b83-5db11f9db9a9">
<driver-ref>9fcb59ee-b3c5-470d-89df-ad01e7cabb15</driver-ref>
<imported>true</imported> <imported>true</imported>
<configured-by-url>true</configured-by-url> <configured-by-url>true</configured-by-url>
<remarks>$PROJECT_DIR$/backend/roomroot-admin/src/main/resources/application-druid.yml</remarks> <remarks>$PROJECT_DIR$/backend/roomroot-admin/src/main/resources/application-druid.yml</remarks>
+22
View File
@@ -0,0 +1,22 @@
# 告诉EditorConfig插件,这是根文件,不用继续往上查找
root = true
# 匹配全部文件
[*]
# 设置字符集
charset = utf-8
# 缩进风格,可选space、tab
indent_style = space
# 缩进的空格数
indent_size = 2
# 结尾换行符,可选lf、cr、crlf
end_of_line = lf
# 在文件结尾插入新行
insert_final_newline = true
# 删除一行中的前后空格
trim_trailing_whitespace = true
# 匹配md结尾的文件
[*.md]
insert_final_newline = false
trim_trailing_whitespace = false
+11
View File
@@ -0,0 +1,11 @@
# 页面标题
VUE_APP_TITLE = 教学管理信息系统
# 开发环境配置
ENV = 'development'
# 智慧教学管理系统/开发环境
VUE_APP_BASE_API = '/api'
# 路由懒加载
VUE_CLI_BABEL_TRANSPILE_MODULES = true
+8
View File
@@ -0,0 +1,8 @@
# 页面标题
VUE_APP_TITLE = 教学管理信息系统
# 生产环境配置
ENV = 'production'
# 智慧教学管理系统/生产环境
VUE_APP_BASE_API = '/prod-api'
+12
View File
@@ -0,0 +1,12 @@
# 页面标题
VUE_APP_TITLE = 教学管理信息系统
BABEL_ENV = production
NODE_ENV = production
# 测试环境配置
ENV = 'staging'
# 智慧教学管理系统/测试环境
VUE_APP_BASE_API = '/stage-api'
+23
View File
@@ -0,0 +1,23 @@
.DS_Store
node_modules/
dist/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
**/*.log
tests/**/coverage/
tests/e2e/reports
selenium-debug.log
# Editor directories and files
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
*.local
package-lock.json
yarn.lock
+30
View File
@@ -0,0 +1,30 @@
## 开发
```bash
# 克隆项目
git clone https://gitee.com/y_project/RuoYi-Vue
# 进入项目目录
cd ruoyi-ui
# 安装依赖
npm install
# 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题
npm install --registry=https://registry.npmmirror.com
# 启动服务
npm run dev
```
浏览器访问 http://localhost:80
## 发布
```bash
# 构建测试环境
npm run build:stage
# 构建生产环境
npm run build:prod
```
+13
View File
@@ -0,0 +1,13 @@
module.exports = {
presets: [
// https://github.com/vuejs/vue-cli/tree/master/packages/@vue/babel-preset-app
'@vue/cli-plugin-babel/preset'
],
'env': {
'development': {
// babel-plugin-dynamic-import-node plugin only does one thing by converting all import() to require().
// This plugin can significantly increase the speed of hot updates, when you have a large number of pages.
'plugins': ['dynamic-import-node']
}
}
}
+18813
View File
File diff suppressed because it is too large Load Diff
+72
View File
@@ -0,0 +1,72 @@
{
"name": "roomroot",
"version": "3.9.2",
"description": "教学管理信息系统",
"author": "教务",
"license": "MIT",
"scripts": {
"dev": "vue-cli-service serve",
"build:prod": "vue-cli-service build",
"build:stage": "vue-cli-service build --mode staging",
"preview": "node build/index.js --preview",
"dict:init-course-type": "node scripts/init-course-type-dict.js"
},
"keywords": [
"vue",
"admin",
"dashboard",
"element-ui",
"boilerplate",
"admin-template",
"management-system"
],
"repository": {
"type": "git",
"url": "https://gitee.com/y_project/roomroot-Vue.git"
},
"dependencies": {
"@riophae/vue-treeselect": "0.4.0",
"axios": "0.30.3",
"clipboard": "2.0.8",
"core-js": "3.37.1",
"echarts": "5.4.0",
"element-ui": "2.15.14",
"file-saver": "2.0.5",
"fuse.js": "6.4.3",
"highlight.js": "9.18.5",
"js-beautify": "1.13.0",
"js-cookie": "3.0.1",
"jsencrypt": "3.0.0-rc.1",
"nprogress": "0.2.0",
"quill": "2.0.2",
"screenfull": "5.0.2",
"sortablejs": "1.10.2",
"vue": "2.6.12",
"vue-count-to": "1.0.13",
"vue-cropper": "0.5.5",
"vue-router": "3.4.9",
"vuedraggable": "2.24.3",
"vuex": "3.6.0"
},
"devDependencies": {
"@vue/cli-plugin-babel": "4.4.6",
"@vue/cli-service": "4.4.6",
"babel-plugin-dynamic-import-node": "2.3.3",
"chalk": "4.1.0",
"compression-webpack-plugin": "6.1.2",
"connect": "3.6.6",
"sass": "1.32.13",
"sass-loader": "10.1.1",
"script-ext-html-webpack-plugin": "2.1.5",
"svg-sprite-loader": "5.1.1",
"vue-template-compiler": "2.6.12"
},
"engines": {
"node": ">=8.9",
"npm": ">= 3.0.0"
},
"browserslist": [
"> 1%",
"last 2 versions"
]
}
Binary file not shown.
File diff suppressed because one or more lines are too long
+208
View File
@@ -0,0 +1,208 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="renderer" content="webkit">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title><%= webpackConfig.name %></title>
<!--[if lt IE 11]><script>window.location.href='/html/ie.html';</script><![endif]-->
<style>
html,
body,
#app {
height: 100%;
margin: 0px;
padding: 0px;
}
.chromeframe {
margin: 0.2em 0;
background: #ccc;
color: #000;
padding: 0.2em 0;
}
#loader-wrapper {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 999999;
}
#loader {
display: block;
position: relative;
left: 50%;
top: 50%;
width: 150px;
height: 150px;
margin: -75px 0 0 -75px;
border-radius: 50%;
border: 3px solid transparent;
border-top-color: #FFF;
-webkit-animation: spin 2s linear infinite;
-ms-animation: spin 2s linear infinite;
-moz-animation: spin 2s linear infinite;
-o-animation: spin 2s linear infinite;
animation: spin 2s linear infinite;
z-index: 1001;
}
#loader:before {
content: "";
position: absolute;
top: 5px;
left: 5px;
right: 5px;
bottom: 5px;
border-radius: 50%;
border: 3px solid transparent;
border-top-color: #FFF;
-webkit-animation: spin 3s linear infinite;
-moz-animation: spin 3s linear infinite;
-o-animation: spin 3s linear infinite;
-ms-animation: spin 3s linear infinite;
animation: spin 3s linear infinite;
}
#loader:after {
content: "";
position: absolute;
top: 15px;
left: 15px;
right: 15px;
bottom: 15px;
border-radius: 50%;
border: 3px solid transparent;
border-top-color: #FFF;
-moz-animation: spin 1.5s linear infinite;
-o-animation: spin 1.5s linear infinite;
-ms-animation: spin 1.5s linear infinite;
-webkit-animation: spin 1.5s linear infinite;
animation: spin 1.5s linear infinite;
}
@-webkit-keyframes spin {
0% {
-webkit-transform: rotate(0deg);
-ms-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
-ms-transform: rotate(360deg);
transform: rotate(360deg);
}
}
@keyframes spin {
0% {
-webkit-transform: rotate(0deg);
-ms-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
-ms-transform: rotate(360deg);
transform: rotate(360deg);
}
}
#loader-wrapper .loader-section {
position: fixed;
top: 0;
width: 51%;
height: 100%;
background: #7171C6;
z-index: 1000;
-webkit-transform: translateX(0);
-ms-transform: translateX(0);
transform: translateX(0);
}
#loader-wrapper .loader-section.section-left {
left: 0;
}
#loader-wrapper .loader-section.section-right {
right: 0;
}
.loaded #loader-wrapper .loader-section.section-left {
-webkit-transform: translateX(-100%);
-ms-transform: translateX(-100%);
transform: translateX(-100%);
-webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
}
.loaded #loader-wrapper .loader-section.section-right {
-webkit-transform: translateX(100%);
-ms-transform: translateX(100%);
transform: translateX(100%);
-webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
}
.loaded #loader {
opacity: 0;
-webkit-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}
.loaded #loader-wrapper {
visibility: hidden;
-webkit-transform: translateY(-100%);
-ms-transform: translateY(-100%);
transform: translateY(-100%);
-webkit-transition: all 0.3s 1s ease-out;
transition: all 0.3s 1s ease-out;
}
.no-js #loader-wrapper {
display: none;
}
.no-js h1 {
color: #222222;
}
#loader-wrapper .load_title {
font-family: 'Open Sans';
color: #FFF;
font-size: 19px;
width: 100%;
text-align: center;
z-index: 9999999999999;
position: absolute;
top: 60%;
opacity: 1;
line-height: 30px;
}
#loader-wrapper .load_title span {
font-weight: normal;
font-style: italic;
font-size: 13px;
color: #FFF;
opacity: 0.5;
}
</style>
</head>
<body>
<div id="app">
<div id="loader-wrapper">
<div id="loader"></div>
<div class="loader-section section-left"></div>
<div class="loader-section section-right"></div>
<div class="load_title">正在加载系统资源,请耐心等待</div>
</div>
</div>
</body>
</html>
+2
View File
@@ -0,0 +1,2 @@
User-agent: *
Disallow: /
File diff suppressed because one or more lines are too long
+11
View File
@@ -0,0 +1,11 @@
<template>
<div id="app">
<router-view />
</div>
</template>
<script>
export default {
name: "App"
}
</script>
+42
View File
@@ -0,0 +1,42 @@
import request from '@/utils/request'
// ======================== 课时补助核算:课时统计 / 课时费统计 ========================
// 接口前缀 /ks,经 vue.config.js 代理转发为 /api/ks;返回行为 HourStatisticsVO。
// 分页查询课时统计(支持 nd 年度、xq 学期序号、jyxm 教员姓名)
export function listHourStatistics(query) {
return request({
url: '/ks/hour-stat/list',
method: 'get',
params: query
})
}
// 导出课时统计 Excel(返回 Blob,文件名 课时统计.xlsx)
export function exportHourStatistics(query) {
return request({
url: '/ks/hour-stat/export',
method: 'get',
params: query,
responseType: 'blob'
})
}
// 分页查询课时费统计(支持 nd、xq、jyxm、ksfbzbh 课时费标准编号)
export function listFeeStatistics(query) {
return request({
url: '/ks/fee-stat/list',
method: 'get',
params: query
})
}
// 导出课时费统计 Excel(返回 Blob,文件名 课时费统计.xlsx)
export function exportFeeStatistics(query) {
return request({
url: '/ks/fee-stat/export',
method: 'get',
params: query,
responseType: 'blob'
})
}
@@ -0,0 +1,79 @@
import request from '@/utils/request'
// ======================== 联教联训管理(课时补助项目) ========================
// 接口前缀 /ks,经 vue.config.js 代理转发为 /api/ks;后端实体为 KSBZXM。
// 新增联教联训(编号为空时后端自动生成 UUID)
export function addJointTraining(data) {
return request({
url: '/ks/yjlx/add',
method: 'post',
data: data
})
}
// 删除联教联训
export function deleteJointTraining(bh) {
return request({
url: '/ks/yjlx/delete',
method: 'post',
params: { bh: bh }
})
}
// 修改联教联训
export function updateJointTraining(data) {
return request({
url: '/ks/yjlx/update',
method: 'post',
data: data
})
}
// 按编号查询联教联训详情
export function getJointTraining(bh) {
return request({
url: '/ks/yjlx/get',
method: 'get',
params: { bh: bh }
})
}
// 分页查询联教联训列表(支持名称模糊)
export function listJointTraining(query) {
return request({
url: '/ks/yjlx/list',
method: 'get',
params: query
})
}
// 导入联教联训 Excel(multipart,字段名 file)
export function importJointTraining(file) {
const formData = new FormData()
formData.append('file', file)
return request({
url: '/ks/yjlx/import',
method: 'post',
data: formData
})
}
// 导出联教联训到 Excel(返回 Blob)
export function exportJointTraining() {
return request({
url: '/ks/yjlx/export',
method: 'get',
responseType: 'blob'
})
}
// 下载联教联训导入模板(返回 Blob)
// GET /download/joint-training
export function downloadJointTrainingTemplate() {
return request({
url: '/download/joint-training',
method: 'get',
responseType: 'blob'
})
}
+87
View File
@@ -0,0 +1,87 @@
import request from '@/utils/request'
// ======================== 方案管理:课时费方案 / 课时方案 ========================
// 接口前缀 /ks,经 vue.config.js 代理转发为 /api/ks。
// ---------- 课时费方案(KSFBZ) ----------
// 分页列表(名称模糊)
export function listFeeStandard(query) {
return request({
url: '/ks/fee-standard/list',
method: 'get',
params: query
})
}
// 详情
export function getFeeStandard(bh) {
return request({
url: '/ks/fee-standard/get',
method: 'get',
params: { bh: bh }
})
}
// 新增(编号为空时后端自动生成 UUID)
export function addFeeStandard(data) {
return request({
url: '/ks/fee-standard/add',
method: 'post',
data: data
})
}
// 编辑(编号必传)
export function updateFeeStandard(data) {
return request({
url: '/ks/fee-standard/update',
method: 'post',
data: data
})
}
// 删除
export function deleteFeeStandard(bh) {
return request({
url: '/ks/fee-standard/delete',
method: 'post',
params: { bh: bh }
})
}
// ---------- 课时方案(KSXSFA) ----------
// 分页列表(名称模糊)
export function listCoefficientPlan(query) {
return request({
url: '/ks/coefficient-plan/list',
method: 'get',
params: query
})
}
// 详情
export function getCoefficientPlan(bh) {
return request({
url: '/ks/coefficient-plan/get',
method: 'get',
params: { bh: bh }
})
}
// 新增(编号为空时后端自动生成 UUID)
export function addCoefficientPlan(data) {
return request({
url: '/ks/coefficient-plan/add',
method: 'post',
data: data
})
}
// 编辑(编号必传)
export function updateCoefficientPlan(data) {
return request({
url: '/ks/coefficient-plan/update',
method: 'post',
data: data
})
}
+125
View File
@@ -0,0 +1,125 @@
import request from '@/utils/request'
// ======================== 教学日志核心(以 api.txt 为准) ========================
// 接口前缀 /log,经 vue.config.js 代理转发为 /api/log(axios baseURL 为 /api)。
// 分页条件查询教学日志列表(待上报视图)
// 支持参数:pageNum pageSize ksrq jsrq kcmc jys jxff skjy rzzt pxqb gdqk gdxxqk rwlb
export function getTeachingLogList(query) {
return request({
url: '/log/teaching-log/list',
method: 'get',
params: query
})
}
// 分页条件查询已上报的教学日志列表(状态固定为「已上报」)
export function getReportedTeachingLogList(query) {
return request({
url: '/log/teaching-log/reported/list',
method: 'get',
params: query
})
}
// 分页条件查询已审核的教学日志列表(状态固定为「已审核」)
export function getAuditedTeachingLogList(query) {
return request({
url: '/log/teaching-log/audited/list',
method: 'get',
params: query
})
}
// 新增教学日志(请求体为 SSKCB_RZ 实体)
export function addTeachingLog(data) {
return request({
url: '/log/teaching-log/add',
method: 'post',
data: data
})
}
// 编辑教学日志(请求体为 SSKCB_RZ 实体,bh 必传)
export function updateTeachingLog(data) {
return request({
url: '/log/teaching-log/update',
method: 'post',
data: data
})
}
// 根据编号查询教学日志详情
export function getTeachingLogByBh(bh) {
return request({
url: '/log/teaching-log/get',
method: 'get',
params: { bh: bh }
})
}
// 提交教学日志审核,接口形态:POST /log/teaching-log/submit?bh=&targetStatus=
export function submitTeachingLog(bh, targetStatus) {
return request({
url: '/log/teaching-log/submit',
method: 'post',
params: { bh: bh, targetStatus: targetStatus }
})
}
// 审核通过教学日志,接口形态:GET /log/teaching-log/approve?bh=&feedback=
export function approveTeachingLog(bh, feedback) {
return request({
url: '/log/teaching-log/approve',
method: 'get',
params: { bh: bh, feedback: feedback }
})
}
// 退回教学日志(撤回重填),接口形态:POST /log/teaching-log/reject?bh=&thyj=
export function rejectTeachingLog(bh, thyj) {
return request({
url: '/log/teaching-log/reject',
method: 'post',
params: { bh: bh, thyj: thyj }
})
}
// 根据课表自动创建教学日志,接口形态:POST /log/teaching-log/auto-create?tybh=
export function autoCreateTeachingLog(tybh) {
return request({
url: '/log/teaching-log/auto-create',
method: 'post',
params: { tybh: tybh }
})
}
// 批量导入教学日志 Excel,接口形态:POST /log/teaching-log/import-excel(multipart,字段名 file)
export function importTeachingLogExcel(file) {
const formData = new FormData()
formData.append('file', file)
return request({
url: '/log/teaching-log/import-excel',
method: 'post',
data: formData
})
}
// 导出教学日志 Excel(返回 Blob),接口形态:GET /log/teaching-log/export
export function exportTeachingLog(query) {
return request({
url: '/log/teaching-log/export',
method: 'get',
params: query,
responseType: 'blob'
})
}
// 下载导入模板(返回 Blob),接口形态:GET /download/teaching-log
export function downloadTeachingLogTemplate() {
return request({
url: '/download/teaching-log',
method: 'get',
responseType: 'blob'
})
}
+58
View File
@@ -0,0 +1,58 @@
import request from '@/utils/request'
// 登录方法
export function login(username, password, code, uuid) {
const data = {
username,
password,
code,
uuid
}
return request({
url: '/login',
headers: {
isToken: false,
repeatSubmit: false
},
method: 'post',
data: data
})
}
// 注册方法
export function register(data) {
return request({
url: '/register',
headers: {
isToken: false
},
method: 'post',
data: data
})
}
// 获取用户详细信息
export function getInfo() {
return request({
url: '/getInfo',
method: 'get'
})
}
// 解锁屏幕
export function unlockScreen(password) {
return request({
url: '/unlockscreen',
method: 'post',
data: { password }
})
}
// 退出方法
export function logout() {
return request({
url: '/logout',
method: 'post'
})
}
+9
View File
@@ -0,0 +1,9 @@
import request from '@/utils/request'
// 获取路由
export const getRouters = () => {
return request({
url: '/getRouters',
method: 'get'
})
}
+57
View File
@@ -0,0 +1,57 @@
import request from '@/utils/request'
// 查询缓存详细
export function getCache() {
return request({
url: '/monitor/cache',
method: 'get'
})
}
// 查询缓存名称列表
export function listCacheName() {
return request({
url: '/monitor/cache/getNames',
method: 'get'
})
}
// 查询缓存键名列表
export function listCacheKey(cacheName) {
return request({
url: '/monitor/cache/getKeys/' + cacheName,
method: 'get'
})
}
// 查询缓存内容
export function getCacheValue(cacheName, cacheKey) {
return request({
url: '/monitor/cache/getValue/' + cacheName + '/' + cacheKey,
method: 'get'
})
}
// 清理指定名称缓存
export function clearCacheName(cacheName) {
return request({
url: '/monitor/cache/clearCacheName/' + cacheName,
method: 'delete'
})
}
// 清理指定键名缓存
export function clearCacheKey(cacheKey) {
return request({
url: '/monitor/cache/clearCacheKey/' + cacheKey,
method: 'delete'
})
}
// 清理全部缓存
export function clearCacheAll() {
return request({
url: '/monitor/cache/clearCacheAll',
method: 'delete'
})
}
+71
View File
@@ -0,0 +1,71 @@
import request from '@/utils/request'
// 查询定时任务调度列表
export function listJob(query) {
return request({
url: '/monitor/job/list',
method: 'get',
params: query
})
}
// 查询定时任务调度详细
export function getJob(jobId) {
return request({
url: '/monitor/job/' + jobId,
method: 'get'
})
}
// 新增定时任务调度
export function addJob(data) {
return request({
url: '/monitor/job',
method: 'post',
data: data
})
}
// 修改定时任务调度
export function updateJob(data) {
return request({
url: '/monitor/job',
method: 'put',
data: data
})
}
// 删除定时任务调度
export function delJob(jobId) {
return request({
url: '/monitor/job/' + jobId,
method: 'delete'
})
}
// 任务状态修改
export function changeJobStatus(jobId, status) {
const data = {
jobId,
status
}
return request({
url: '/monitor/job/changeStatus',
method: 'put',
data: data
})
}
// 定时任务立即执行一次
export function runJob(jobId, jobGroup) {
const data = {
jobId,
jobGroup
}
return request({
url: '/monitor/job/run',
method: 'put',
data: data
})
}
+26
View File
@@ -0,0 +1,26 @@
import request from '@/utils/request'
// 查询调度日志列表
export function listJobLog(query) {
return request({
url: '/monitor/jobLog/list',
method: 'get',
params: query
})
}
// 删除调度日志
export function delJobLog(jobLogId) {
return request({
url: '/monitor/jobLog/' + jobLogId,
method: 'delete'
})
}
// 清空调度日志
export function cleanJobLog() {
return request({
url: '/monitor/jobLog/clean',
method: 'delete'
})
}
+43
View File
@@ -0,0 +1,43 @@
import request from '@/utils/request'
// 查询登录日志列表
export function list(query) {
return request({
url: '/monitor/logininfor/list',
method: 'get',
params: query
})
}
// 查询首页登录日志列表
export function homeList(query) {
return request({
url: '/monitor/logininfor/homeList',
method: 'get',
params: query
})
}
// 删除登录日志
export function delLogininfor(infoId) {
return request({
url: '/monitor/logininfor/' + infoId,
method: 'delete'
})
}
// 解锁用户登录状态
export function unlockLogininfor(userName) {
return request({
url: '/monitor/logininfor/unlock/' + userName,
method: 'get'
})
}
// 清空登录日志
export function cleanLogininfor() {
return request({
url: '/monitor/logininfor/clean',
method: 'delete'
})
}
+18
View File
@@ -0,0 +1,18 @@
import request from '@/utils/request'
// 查询在线用户列表
export function list(query) {
return request({
url: '/monitor/online/list',
method: 'get',
params: query
})
}
// 强退用户
export function forceLogout(tokenId) {
return request({
url: '/monitor/online/' + tokenId,
method: 'delete'
})
}
+26
View File
@@ -0,0 +1,26 @@
import request from '@/utils/request'
// 查询操作日志列表
export function list(query) {
return request({
url: '/monitor/operlog/list',
method: 'get',
params: query
})
}
// 删除操作日志
export function delOperlog(operId) {
return request({
url: '/monitor/operlog/' + operId,
method: 'delete'
})
}
// 清空操作日志
export function cleanOperlog() {
return request({
url: '/monitor/operlog/clean',
method: 'delete'
})
}
+9
View File
@@ -0,0 +1,9 @@
import request from '@/utils/request'
// 获取服务信息
export function getServer() {
return request({
url: '/monitor/server',
method: 'get'
})
}
+34
View File
@@ -0,0 +1,34 @@
import request from '@/utils/request'
// ======================== 教学实施计划导入 ========================
// 接口前缀 /teachingPlan,经 vue.config.js 代理转发为 /api/teachingPlan。
// 分页查询教学实施计划列表
// 支持参数:pageNum pageSize nd kcmc bc zrdw skjy ytgjc ybdr(与后端 Mapper 一致)
export function listTeachingPlan(query) {
return request({
url: '/teachingPlan/list',
method: 'get',
params: query
})
}
// 导入教学实施计划 Excel(multipart,字段名 file),返回导入条数
export function importTeachingPlan(file) {
const formData = new FormData()
formData.append('file', file)
return request({
url: '/teachingPlan/import',
method: 'post',
data: formData
})
}
// 下载教学实施计划导入模板(返回 Blob)
export function downloadTeachingPlanTemplate() {
return request({
url: '/teachingPlan/template',
method: 'get',
responseType: 'blob'
})
}
@@ -0,0 +1,49 @@
import request from '@/utils/request'
// ======================== 学员学籍异动申请(实体 XYXJYDSQB) ========================
// 列表查询仅支持 bh / xybh / sqlx / zt 四个等值筛选。
// 分页查询学籍异动申请列表
export function listApplication(query) {
return request({
url: '/student-records/application/list',
method: 'get',
params: query
})
}
// 查询学籍异动申请详情(bh 异动申请编号)
export function getApplication(bh) {
return request({
url: '/student-records/application/get',
method: 'get',
params: { bh: bh }
})
}
// 新增学籍异动申请(编号、状态和创建/修改时间由后端维护)
export function addApplication(data) {
return request({
url: '/student-records/application/add',
method: 'post',
data: data
})
}
// 编辑学籍异动申请(bh 异动申请编号必传,请求体 XYXJYDSQB 实体)
export function updateApplication(data) {
return request({
url: '/student-records/application/update',
method: 'post',
data: data
})
}
// 删除学籍异动申请(bh 异动申请编号)
export function delApplication(bh) {
return request({
url: '/student-records/application/delete',
method: 'post',
params: { bh: bh }
})
}
@@ -0,0 +1,105 @@
import request from '@/utils/request'
// ======================== 班历管理(实体 XYDRWB 学员队任务表) ========================
// 接口依据:api2.txt「班次学期日历(班历)」分组 + StudentTeamTaskController
// 每个班次学期(xydxqbh)下挂若干条课程任务记录:
// bh 编号、nd 年度、xydbh 学员队编号、kbh 课编号、xqdc 学期第次、jybh 教员编号、kcxh 课次序号、
// jsbh 教室编号、rs 人数、zks 周课时、xs 学时、klx 课类型、jc 简称、ksdd 考试地点、ksbh 考试编号、
// jysdh 教研室代号、jysjhjybh 教研室计划教员编号、jysjhbz 教研室计划备注、jhkcxh 计划课次序号、
// xhbs 序号标识、xydxqbh 学员队学期编号、bz 备注、xf 学分、cjsj/bdsj/kbbdsj 时间、
// ksks 考试课时、bz2 编组、cjfz 成绩分制、bjrxypjf 不计入学员平均分、llxs 理论学时、sjxs 实践学时、
// ksksbxs 考试课时不显示、pdxh 配档序号、pdqsz 配档起始周、pdaz 配档按周、pdzzksj 配档占正课时间、
// pdbz 配档编组、pdtbykxxbz 配当同班异课选修编组、pdzdyxsfbsj 配档自定义学时分布数据、
// pdqyzdyxs 配档启用自定义学时
// 查询某班次学期下的全部班历记录(xydxqbh 学员队学期编号)
export function listClassCalendar(xydxqbh) {
return request({
url: '/classCalendar/all',
method: 'get',
params: { xydxqbh: xydxqbh }
})
}
// 根据主键查询班历记录
export function getClassCalendar(bh) {
return request({
url: '/classCalendar/get',
method: 'get',
params: { bh: bh }
})
}
// 更新班历记录(请求体 XYDRWB,bh 必传)
export function updateClassCalendar(data) {
return request({
url: '/classCalendar/update',
method: 'post',
data: data
})
}
// 选定区域设置应用于其它班次(请求体 { sourceBhList: 源记录编号, targetBhList: 目标班次学期编号 })
export function batchCopyCalendar(data) {
return request({
url: '/classCalendar/batchCopy',
method: 'post',
data: data
})
}
// 整个班历应用于其它班次(请求体 { sourceXydxqbh: 源班次学期编号, targetBhList: 目标班次学期编号 })
export function batchCopyCalendarBySemester(data) {
return request({
url: '/classCalendar/batchCopyBySemester',
method: 'post',
data: data
})
}
// ======================== 学员队任务表操作(/studentTeamTask) ========================
// 新增班历记录(请求体 XYDRWB;bh 留空后端生成 UUID)
export function addTeamTask(data) {
return request({
url: '/studentTeamTask/add',
method: 'post',
data: data
})
}
// 删除班历记录(bh 编号)
export function delTeamTask(bh) {
return request({
url: '/studentTeamTask/delete',
method: 'post',
params: { bh: bh }
})
}
// 批量预设合班(请求体 { bhList },按年度排序生成统一课次序号)
export function batchPresetMerge(bhList) {
return request({
url: '/studentTeamTask/batchPresetMerge',
method: 'post',
data: { bhList: bhList }
})
}
// 批量预设拆班(请求体 { bhList },清空课次序号)
export function batchPresetSplit(bhList) {
return request({
url: '/studentTeamTask/batchPresetSplit',
method: 'post',
data: { bhList: bhList }
})
}
// 自动生成必修课程(按学员队+学期第次从专业教学计划生成班历记录)
export function autoGenerateRequiredCourses(xydbh, xqdc) {
return request({
url: '/studentTeamTask/autoGenerateRequiredCourses',
method: 'post',
params: { xydbh: xydbh, xqdc: xqdc }
})
}
+117
View File
@@ -0,0 +1,117 @@
import request from '@/utils/request'
// ======================== 班次学期管理(实体 XYDNDXQJBXXB 学员队年度学期基本信息表) ========================
// 接口依据:api1.txt「班次学期」分组,实际后端位于 StudentRecordsController (/student-records/semester/*)
// 列表仅支持 xydbh(学员队编号)模糊筛选,无年度筛选,前端需本地过滤
// 新增 bh 留空由后端生成 UUID;字段 nd 年度、xydbh 学员队编号、kxrq 开学日期、jsrq 结束日期、
// xqdc 学期第次、zyjsbh 专用教室编号、jxrwbh 教学任务编号、bdsj 变动时间、bz 备注、
// xhbs 序号标识、ysbbh 预设编班号、jclb 节次类别、xtms 系统模式、kfjypk 开放教员排课(0/1)、
// jsonzd、fxbgscsj 分析报告生成时间、fxbgwd1bh/fxbgwd2bh/fxbgwd3bh 分析报告文档编号
// 分页查询班次学期列表(支持 xydbh 模糊)
export function listSemester(query) {
return request({
url: '/student-records/semester/list',
method: 'get',
params: query
})
}
// 查询所有有效班次学期(DEL_FLAG = 0)
export function allSemester() {
return request({
url: '/student-records/semester/all',
method: 'get'
})
}
// 查询班次学期详情(bh 编号)
export function getSemester(bh) {
return request({
url: '/student-records/semester/get',
method: 'get',
params: { bh: bh }
})
}
// 新增班次学期(请求体 XYDNDXQJBXXB;bh 留空后端生成 UUID,delFlag 后端置 0)
export function addSemester(data) {
return request({
url: '/student-records/semester/add',
method: 'post',
data: data
})
}
// 编辑班次学期(bh 编号必传,请求体 XYDNDXQJBXXB)
export function updateSemester(data) {
return request({
url: '/student-records/semester/update',
method: 'post',
data: data
})
}
// 删除班次学期(逻辑删除并级联删除其班历记录)
export function delSemester(bh) {
return request({
url: '/student-records/semester/delete',
method: 'post',
params: { bh: bh }
})
}
// 批量删除班次学期(请求体为编号数组)
export function batchDeleteSemester(bhList) {
return request({
url: '/student-records/semester/batchDelete',
method: 'post',
data: bhList
})
}
// 批量设定学期日期(请求体 { bhList, xqkssj, xqjssj })
export function batchUpdateDateRange(data) {
return request({
url: '/student-records/semester/batchUpdateDateRange',
method: 'post',
data: data
})
}
// 批量修改开放教员排课状态(请求体 { bhList, kfjypk },0-否 1-是)
export function batchUpdateKfjypk(data) {
return request({
url: '/student-records/semester/batchUpdateKfjypk',
method: 'post',
data: data
})
}
// 批量修改学期第次(请求体 { bhList, xqdc })
export function batchUpdateXqdc(data) {
return request({
url: '/student-records/semester/batchUpdateXqdc',
method: 'post',
data: data
})
}
// 批量设置教学任务(请求体 { bhList, jxrwbh })
export function batchUpdateJxrwbh(data) {
return request({
url: '/student-records/semester/batchUpdateJxrwbh',
method: 'post',
data: data
})
}
// 批量创建班次学期(按时间范围筛选可建班的学员队;xqdc 传 春季学期/夏季学期/秋季学期)
// 参数:startTime 起始日、endTime 截止日、nd 年度、xqdc 学期
export function batchAddFromElective(params) {
return request({
url: '/student-records/semester/batchAddFromElective',
method: 'post',
params: params
})
}
@@ -0,0 +1,84 @@
import request from '@/utils/request'
// 分页查询学员信息列表(姓名/联系电话/通信地址支持模糊查询,其余实体字段可作为查询条件)
export function listStudentRecord(query) {
return request({
url: '/student-records/list',
method: 'get',
params: query
})
}
// 查询学员信息详情(bh 编号必传)
export function getStudentRecord(bh) {
return request({
url: '/student-records/get',
method: 'get',
params: { bh: bh }
})
}
// 新增学员信息
export function addStudentRecord(data) {
return request({
url: '/student-records/add',
method: 'post',
data: data
})
}
// 修改学员信息(bh 编号必传)
export function updateStudentRecord(data) {
return request({
url: '/student-records/update',
method: 'post',
data: data
})
}
// 删除学员信息(bh 编号)
export function delStudentRecord(bh) {
return request({
url: '/student-records/delete',
method: 'post',
params: { bh: bh }
})
}
// 分页查询学员课程成绩(xybh/nd 查询)
export function listStudentGrades(query) {
return request({
url: '/student-records/grades',
method: 'get',
params: query
})
}
// 分页查询学员课程过程成绩(xybh/nd 查询)
export function listStudentProcessGrades(query) {
return request({
url: '/student-records/process-grades',
method: 'get',
params: query
})
}
// 导出指定学员的课程成绩 Excel(xybh 必传)
export function exportStudentGrades(query) {
return request({
url: '/student-records/export-grades',
method: 'get',
params: query,
responseType: 'blob'
})
}
// 导出指定学员的课程过程成绩 Excel(xybh 必传)
export function exportStudentProcessGrades(query) {
return request({
url: '/student-records/export-process-grades',
method: 'get',
params: query,
responseType: 'blob'
})
}
+88
View File
@@ -0,0 +1,88 @@
import request from '@/utils/request'
// ======================== 班次(学员队)管理(实体 XYDB) ========================
// 分页列表查询条件为 XYDB 实体字段。
// 分页查询学员队列表
export function listTeam(query) {
return request({
url: '/student-records/team/list',
method: 'get',
params: query
})
}
// 查询学员队详情(xydbh 学员队编号)
export function getTeam(xydbh) {
return request({
url: '/student-records/team/get',
method: 'get',
params: { xydbh: xydbh }
})
}
// 根据是否为主体培训任务查询可选培训任务
export function listTrainingTasks(ztpxrw) {
return request({
url: '/student-records/training-tasks',
method: 'get',
params: { ztpxrw }
})
}
// 新增学员队(请求体 XYDB)
export function addTeam(data) {
return request({
url: '/student-records/team/add',
method: 'post',
data: data
})
}
// 编辑学员队(xydbh 学员队编号必传,请求体 XYDB)
export function updateTeam(data) {
return request({
url: '/student-records/team/update',
method: 'post',
data: data
})
}
// 删除学员队(xydbh 学员队编号)
export function delTeam(xydbh) {
return request({
url: '/student-records/team/delete',
method: 'post',
params: { xydbh: xydbh }
})
}
// 导入学员队 Excel(multipart,字段名 file)
export function importTeam(file) {
const formData = new FormData()
formData.append('file', file)
return request({
url: '/student-records/team/import',
method: 'post',
data: formData
})
}
// 导出学员队 Excel(查询条件为 XYDB 实体)
export function exportTeam(query) {
return request({
url: '/student-records/team/export',
method: 'get',
params: query,
responseType: 'blob'
})
}
// 下载学员队导入模板
export function downloadTeamTemplate() {
return request({
url: '/download/student-team',
method: 'get',
responseType: 'blob'
})
}
@@ -0,0 +1,37 @@
import request from '@/utils/request'
// 分页查询预警条件列表
export function listWarningCondition(query) {
return request({
url: '/student-records/warning-condition/list',
method: 'get',
params: query
})
}
// 查询预警条件详情
export function getWarningCondition(bh) {
return request({
url: '/student-records/warning-condition/get',
method: 'get',
params: { bh: bh }
})
}
// 新增预警条件
export function addWarningCondition(data) {
return request({
url: '/student-records/warning-condition/add',
method: 'post',
data: data
})
}
// 修改预警条件
export function updateWarningCondition(data) {
return request({
url: '/student-records/warning-condition/update',
method: 'post',
data: data
})
}
@@ -0,0 +1,21 @@
import request from '@/utils/request'
// ======================== 学员学籍预警结果(实体 XYXJYJGJG,查询:实体类) ========================
// 分页查询预警结果列表
export function listWarningResult(query) {
return request({
url: '/student-records/warning-result/list',
method: 'get',
params: query
})
}
// 查询预警结果详情(bh 预警结果编号)
export function getWarningResult(bh) {
return request({
url: '/student-records/warning-result/get',
method: 'get',
params: { bh: bh }
})
}
@@ -0,0 +1,46 @@
import request from '@/utils/request'
// 分页查询学科专业列表
export function listDiscipline(query) {
return request({
url: '/discipline/list',
method: 'get',
params: query
})
}
// 查询学科专业详情
export function getDiscipline(bsh) {
return request({
url: '/discipline/get',
method: 'get',
params: { bsh: bsh }
})
}
// 新增学科专业
export function addDiscipline(data) {
return request({
url: '/discipline/add',
method: 'post',
data: data
})
}
// 编辑学科专业
export function updateDiscipline(data) {
return request({
url: '/discipline/update',
method: 'post',
data: data
})
}
// 停用学科专业
export function disableDiscipline(bsh) {
return request({
url: '/discipline/disable',
method: 'post',
params: { bsh: bsh }
})
}
+56
View File
@@ -0,0 +1,56 @@
import request from '@/utils/request'
// 分页查询专业列表
export function listMajor(query) {
return request({
url: '/discipline/major/list',
method: 'get',
params: query
})
}
// 查询专业详情
export function getMajor(zydh) {
return request({
url: '/discipline/major/get',
method: 'get',
params: { zydh: zydh }
})
}
// 新增专业
export function addMajor(data) {
return request({
url: '/discipline/major/add',
method: 'post',
data: data
})
}
// 修改专业
export function updateMajor(data) {
return request({
url: '/discipline/major/update',
method: 'post',
data: data
})
}
// 删除专业
export function delMajor(zydh) {
return request({
url: '/discipline/major/delete',
method: 'post',
params: { zydh: zydh }
})
}
// 下载人才培养方案课程数据文件模板
export function downloadMajorTemplate() {
return request({
url: '/download/training-program',
method: 'get',
responseType: 'blob',
timeout: 30000
})
}
+60
View File
@@ -0,0 +1,60 @@
import request from '@/utils/request'
// 查询参数列表
export function listConfig(query) {
return request({
url: '/system/config/list',
method: 'get',
params: query
})
}
// 查询参数详细
export function getConfig(configId) {
return request({
url: '/system/config/' + configId,
method: 'get'
})
}
// 根据参数键名查询参数值
export function getConfigKey(configKey) {
return request({
url: '/system/config/configKey/' + configKey,
method: 'get'
})
}
// 新增参数配置
export function addConfig(data) {
return request({
url: '/system/config',
method: 'post',
data: data
})
}
// 修改参数配置
export function updateConfig(data) {
return request({
url: '/system/config',
method: 'put',
data: data
})
}
// 删除参数配置
export function delConfig(configId) {
return request({
url: '/system/config/' + configId,
method: 'delete'
})
}
// 刷新参数缓存
export function refreshCache() {
return request({
url: '/system/config/refreshCache',
method: 'delete'
})
}
+61
View File
@@ -0,0 +1,61 @@
import request from '@/utils/request'
// 查询部门列表
export function listDept(query) {
return request({
url: '/system/dept/list',
method: 'get',
params: query
})
}
// 查询部门列表(排除节点)
export function listDeptExcludeChild(deptId) {
return request({
url: '/system/dept/list/exclude/' + deptId,
method: 'get'
})
}
// 查询部门详细
export function getDept(deptId) {
return request({
url: '/system/dept/' + deptId,
method: 'get'
})
}
// 新增部门
export function addDept(data) {
return request({
url: '/system/dept',
method: 'post',
data: data
})
}
// 修改部门
export function updateDept(data) {
return request({
url: '/system/dept',
method: 'put',
data: data
})
}
// 保存部门排序
export function updateDeptSort(data) {
return request({
url: '/system/dept/updateSort',
method: 'put',
data: data
})
}
// 删除部门
export function delDept(deptId) {
return request({
url: '/system/dept/' + deptId,
method: 'delete'
})
}
+52
View File
@@ -0,0 +1,52 @@
import request from '@/utils/request'
// 查询字典数据列表
export function listData(query) {
return request({
url: '/system/dict/data/list',
method: 'get',
params: query
})
}
// 查询字典数据详细
export function getData(dictCode) {
return request({
url: '/system/dict/data/' + dictCode,
method: 'get'
})
}
// 根据字典类型查询字典数据信息
export function getDicts(dictType) {
return request({
url: '/system/dict/data/type/' + dictType,
method: 'get'
})
}
// 新增字典数据
export function addData(data) {
return request({
url: '/system/dict/data',
method: 'post',
data: data
})
}
// 修改字典数据
export function updateData(data) {
return request({
url: '/system/dict/data',
method: 'put',
data: data
})
}
// 删除字典数据
export function delData(dictCode) {
return request({
url: '/system/dict/data/' + dictCode,
method: 'delete'
})
}
+60
View File
@@ -0,0 +1,60 @@
import request from '@/utils/request'
// 查询字典类型列表
export function listType(query) {
return request({
url: '/system/dict/type/list',
method: 'get',
params: query
})
}
// 查询字典类型详细
export function getType(dictId) {
return request({
url: '/system/dict/type/' + dictId,
method: 'get'
})
}
// 新增字典类型
export function addType(data) {
return request({
url: '/system/dict/type',
method: 'post',
data: data
})
}
// 修改字典类型
export function updateType(data) {
return request({
url: '/system/dict/type',
method: 'put',
data: data
})
}
// 删除字典类型
export function delType(dictId) {
return request({
url: '/system/dict/type/' + dictId,
method: 'delete'
})
}
// 刷新字典缓存
export function refreshCache() {
return request({
url: '/system/dict/type/refreshCache',
method: 'delete'
})
}
// 获取字典选择框列表
export function optionselect() {
return request({
url: '/system/dict/type/optionselect',
method: 'get'
})
}
+69
View File
@@ -0,0 +1,69 @@
import request from '@/utils/request'
// 查询菜单列表
export function listMenu(query) {
return request({
url: '/system/menu/list',
method: 'get',
params: query
})
}
// 查询菜单详细
export function getMenu(menuId) {
return request({
url: '/system/menu/' + menuId,
method: 'get'
})
}
// 查询菜单下拉树结构
export function treeselect() {
return request({
url: '/system/menu/treeselect',
method: 'get'
})
}
// 根据角色ID查询菜单下拉树结构
export function roleMenuTreeselect(roleId) {
return request({
url: '/system/menu/roleMenuTreeselect/' + roleId,
method: 'get'
})
}
// 新增菜单
export function addMenu(data) {
return request({
url: '/system/menu',
method: 'post',
data: data
})
}
// 修改菜单
export function updateMenu(data) {
return request({
url: '/system/menu',
method: 'put',
data: data
})
}
// 保存菜单排序
export function updateMenuSort(data) {
return request({
url: '/system/menu/updateSort',
method: 'put',
data: data
})
}
// 删除菜单
export function delMenu(menuId) {
return request({
url: '/system/menu/' + menuId,
method: 'delete'
})
}
+79
View File
@@ -0,0 +1,79 @@
import request from '@/utils/request'
// 查询公告列表
export function listNotice(query) {
return request({
url: '/system/notice/list',
method: 'get',
params: query
})
}
// 查询公告详细
export function getNotice(noticeId) {
return request({
url: '/system/notice/' + noticeId,
method: 'get'
})
}
// 新增公告
export function addNotice(data) {
return request({
url: '/system/notice',
method: 'post',
data: data
})
}
// 修改公告
export function updateNotice(data) {
return request({
url: '/system/notice',
method: 'put',
data: data
})
}
// 删除公告
export function delNotice(noticeId) {
return request({
url: '/system/notice/' + noticeId,
method: 'delete'
})
}
// 首页顶部公告列表(带已读状态)
export function listNoticeTop() {
return request({
url: '/system/notice/listTop',
method: 'get'
})
}
// 标记公告已读
export function markNoticeRead(noticeId) {
return request({
url: '/system/notice/markRead',
method: 'post',
params: { noticeId }
})
}
// 批量标记已读
export function markNoticeReadAll(ids) {
return request({
url: '/system/notice/markReadAll',
method: 'post',
params: { ids }
})
}
// 查询公告已读用户列表
export function listNoticeReadUsers(query) {
return request({
url: '/system/notice/readUsers/list',
method: 'get',
params: query
})
}
+44
View File
@@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询岗位列表
export function listPost(query) {
return request({
url: '/system/post/list',
method: 'get',
params: query
})
}
// 查询岗位详细
export function getPost(postId) {
return request({
url: '/system/post/' + postId,
method: 'get'
})
}
// 新增岗位
export function addPost(data) {
return request({
url: '/system/post',
method: 'post',
data: data
})
}
// 修改岗位
export function updatePost(data) {
return request({
url: '/system/post',
method: 'put',
data: data
})
}
// 删除岗位
export function delPost(postId) {
return request({
url: '/system/post/' + postId,
method: 'delete'
})
}
+119
View File
@@ -0,0 +1,119 @@
import request from '@/utils/request'
// 查询角色列表
export function listRole(query) {
return request({
url: '/system/role/list',
method: 'get',
params: query
})
}
// 查询角色详细
export function getRole(roleId) {
return request({
url: '/system/role/' + roleId,
method: 'get'
})
}
// 新增角色
export function addRole(data) {
return request({
url: '/system/role',
method: 'post',
data: data
})
}
// 修改角色
export function updateRole(data) {
return request({
url: '/system/role',
method: 'put',
data: data
})
}
// 角色数据权限
export function dataScope(data) {
return request({
url: '/system/role/dataScope',
method: 'put',
data: data
})
}
// 角色状态修改
export function changeRoleStatus(roleId, status) {
const data = {
roleId,
status
}
return request({
url: '/system/role/changeStatus',
method: 'put',
data: data
})
}
// 删除角色
export function delRole(roleId) {
return request({
url: '/system/role/' + roleId,
method: 'delete'
})
}
// 查询角色已授权用户列表
export function allocatedUserList(query) {
return request({
url: '/system/role/authUser/allocatedList',
method: 'get',
params: query
})
}
// 查询角色未授权用户列表
export function unallocatedUserList(query) {
return request({
url: '/system/role/authUser/unallocatedList',
method: 'get',
params: query
})
}
// 取消用户授权角色
export function authUserCancel(data) {
return request({
url: '/system/role/authUser/cancel',
method: 'put',
data: data
})
}
// 批量取消用户授权角色
export function authUserCancelAll(data) {
return request({
url: '/system/role/authUser/cancelAll',
method: 'put',
params: data
})
}
// 授权用户选择
export function authUserSelectAll(data) {
return request({
url: '/system/role/authUser/selectAll',
method: 'put',
params: data
})
}
// 根据角色ID查询部门树结构
export function deptTreeSelect(roleId) {
return request({
url: '/system/role/deptTree/' + roleId,
method: 'get'
})
}
+136
View File
@@ -0,0 +1,136 @@
import request from '@/utils/request'
import { parseStrEmpty } from "@/utils/roomroot"
// 查询用户列表
export function listUser(query) {
return request({
url: '/system/user/list',
method: 'get',
params: query
})
}
// 查询用户详细
export function getUser(userId) {
return request({
url: '/system/user/' + parseStrEmpty(userId),
method: 'get'
})
}
// 新增用户
export function addUser(data) {
return request({
url: '/system/user',
method: 'post',
data: data
})
}
// 修改用户
export function updateUser(data) {
return request({
url: '/system/user',
method: 'put',
data: data
})
}
// 删除用户
export function delUser(userId) {
return request({
url: '/system/user/' + userId,
method: 'delete'
})
}
// 用户密码重置
export function resetUserPwd(userId, password) {
const data = {
userId,
password
}
return request({
url: '/system/user/resetPwd',
method: 'put',
data: data
})
}
// 用户状态修改
export function changeUserStatus(userId, status) {
const data = {
userId,
status
}
return request({
url: '/system/user/changeStatus',
method: 'put',
data: data
})
}
// 查询用户个人信息
export function getUserProfile() {
return request({
url: '/system/user/profile',
method: 'get'
})
}
// 修改用户个人信息
export function updateUserProfile(data) {
return request({
url: '/system/user/profile',
method: 'put',
data: data
})
}
// 用户密码重置
export function updateUserPwd(oldPassword, newPassword) {
const data = {
oldPassword,
newPassword
}
return request({
url: '/system/user/profile/updatePwd',
method: 'put',
data: data
})
}
// 用户头像上传
export function uploadAvatar(data) {
return request({
url: '/system/user/profile/avatar',
method: 'post',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
data: data
})
}
// 查询授权角色
export function getAuthRole(userId) {
return request({
url: '/system/user/authRole/' + userId,
method: 'get'
})
}
// 保存授权角色
export function updateAuthRole(data) {
return request({
url: '/system/user/authRole',
method: 'put',
params: data
})
}
// 查询部门下拉树结构
export function deptTreeSelect() {
return request({
url: '/system/user/deptTree',
method: 'get'
})
}
+107
View File
@@ -0,0 +1,107 @@
import request from '@/utils/request'
// 教学场地/教室管理(JSB 教室表 /classroom)
// 接口依据:classroom 控制器(前端 baseURL 为 /api,此处不重复 /api 前缀)
/**
* 新增教室
* POST /classroom/add
* 请求体(JSB):id/jsbh/jsmc 必填,其余字段可空;ty/xslx 为 Boolean
*/
export function addClassroom(data) {
return request({
url: '/classroom/add',
method: 'post',
data
})
}
/**
* 删除教室(不提供批量删除接口)
* POST /classroom/delete
* @param id 教室编号(主键,必填)
*/
export function deleteClassroom(id) {
return request({
url: '/classroom/delete',
method: 'post',
params: { id }
})
}
/**
* 更新教室
* POST /classroom/update
* 请求体(JSB):id 必传
*/
export function updateClassroom(data) {
return request({
url: '/classroom/update',
method: 'post',
data
})
}
/**
* 根据编号查询教室详情
* GET /classroom/get
* @param id 教室编号
*/
export function getClassroom(id) {
return request({
url: '/classroom/get',
method: 'get',
params: { id }
})
}
/**
* 分页查询教室列表
* GET /classroom/list
* 查询参数:jsbh(模糊)、jsmc(模糊)、jxldh(等值)、jxcdlx(等值)、ty(等值)、pageNum、pageSize
* 返回:PageResult<JSB>(records/total)
*/
export function listClassroom(params) {
return request({
url: '/classroom/list',
method: 'get',
params
})
}
/**
* 查询全部教室
* GET /classroom/all
* 返回:List<JSB>(无分页)
*/
export function listAllClassroom() {
return request({
url: '/classroom/all',
method: 'get'
})
}
/**
* 根据教学楼代号查询教室
* GET /classroom/listByJxldh
* @param jxldh 教学楼代号(必填)
*/
export function listClassroomByJxldh(jxldh) {
return request({
url: '/classroom/listByJxldh',
method: 'get',
params: { jxldh }
})
}
/**
* 下载教学场地导入模板(返回 Blob)
* GET /download/classroom
*/
export function downloadClassroomTemplate() {
return request({
url: '/download/classroom',
method: 'get',
responseType: 'blob'
})
}
@@ -0,0 +1,110 @@
import request from '@/utils/request'
// 课程教学运行管理(CourseRunningController /course-running)
// 接口依据:course-running 控制器(前端 baseURL 为 /api,此处不重复 /api 前缀)
/**
* 分页查询教学实施计划课次列表
* GET /course-running/plan/list
* 查询参数(TeachingPlanQueryDTO):
* sskcbh 实施_课程编号、nd 年度、jxff 教学方法、
* rqStart 日期范围开始、rqEnd 日期范围结束(均传 ISO 格式,如 2026-08-23T00:00:00)、
* txzt 填写状态(0-未填写 1-已填写 2-已提交)、pageNum、pageSize
* 返回:PageResult<TeachingPlanLessonVO>(records/total)
*/
export function listTeachingPlan(params) {
return request({
url: '/course-running/plan/list',
method: 'get',
params
})
}
// ==================== 调课申请管理 /course-running/adjust ====================
// 接口依据:CourseRunningController(类上 @RequestMapping("/course-running"),前端 baseURL 为 /api,此处不重复 /api 前缀)
/**
* 分页查询调课申请列表
* GET /course-running/adjust/list
* 查询参数(ScheduleAdjustQueryDTO):sskcbbh 课次编号、sqjybh 申请教员编号、nd 年度、
* jyspzzt 教研室审批状态、jyscszt 教研室查收状态、sczt 删除状态、
* cjsjStart/cjsjEnd 申请日期范围(ISO 格式)、pageNum、pageSize
* 返回:PageResult<ScheduleAdjustApplyVO>(records/total)
*/
export function listScheduleAdjust(params) {
return request({
url: '/course-running/adjust/list',
method: 'get',
params
})
}
/**
* 查询当前教员可供调课的课次
* GET /course-running/adjust/lessons
* 查询参数:nd 年度(可选)
* 返回:List<AdjustableLessonVO>,包含提交所需的课次主字段及教室、教员、学员队、保障明细。
*/
export function listAdjustableLessons(params) {
return request({
url: '/course-running/adjust/lessons',
method: 'get',
params
})
}
/**
* 查询调课申请详情
* GET /course-running/adjust/detail
* @param ssdksqbh 调课申请编号
* 返回:ScheduleAdjustDetailVO
*/
export function getScheduleAdjustDetail(ssdksqbh) {
return request({
url: '/course-running/adjust/detail',
method: 'get',
params: { ssdksqbh }
})
}
/**
* 提交调课申请
* POST /course-running/adjust/submit
* 请求体(ScheduleAdjustApplyDTO)核心字段:sskcbbh 课次编号、sy 调课事由、rq 调课后新日期、
* jc 调课后新节次、nd 年度;sqjybh/xydrwbh/kbh/kcbbh/xjsbh 为可选关联字段,
* roomList/teacherList/teamList/supportList 为调整后的关联明细。
*/
export function submitScheduleAdjust(data) {
return request({
url: '/course-running/adjust/submit',
method: 'post',
data
})
}
/**
* 教研室审批调课申请
* POST /course-running/adjust/audit/jys
* 请求体(ScheduleAdjustAuditDTO):ssdksqbh(必填)、spzt(1同意/2发回/3拒绝)、
* fhyj(审批意见,发回时填写)、sprbh(审批人编号,不传时取当前登录人;点审批即已查收)
*/
export function auditByTeachingOffice(data) {
return request({
url: '/course-running/adjust/audit/jys',
method: 'post',
data
})
}
/**
* 撤销调课申请
* DELETE /course-running/adjust/cancel
* @param params { ssdksqbh, sqjybh }
*/
export function cancelScheduleAdjust(params) {
return request({
url: '/course-running/adjust/cancel',
method: 'delete',
params
})
}
@@ -0,0 +1,54 @@
import request from '@/utils/request'
// 分页查询学期列表
export function listSemester(query) {
return request({
url: '/semester/list',
method: 'get',
params: query
})
}
// 查询所有学期列表(年度下拉数据源,返回全部学期含 nd/dqxq,按年度倒序)
export function listAllSemester() {
return request({
url: '/semester/all',
method: 'get'
})
}
// 根据主键查询学期
export function getSemester(nd) {
return request({
url: '/semester/get',
method: 'get',
params: { nd: nd }
})
}
// 学期新增
export function addSemester(data) {
return request({
url: '/semester/add',
method: 'post',
data: data
})
}
// 根据主键修改
export function updateSemester(data) {
return request({
url: '/semester/update',
method: 'post',
data: data
})
}
// 根据主键删除
export function delSemester(nd) {
return request({
url: '/semester/delete',
method: 'post',
params: { nd: nd }
})
}
@@ -0,0 +1,18 @@
import request from '@/utils/request'
// 学员队任务表(StudentTeamTaskController /studentTeamTask)
// 接口依据:studentTeamTask 控制器(前端 baseURL 为 /api,此处不重复 /api 前缀)
/**
* 分页查询学员队任务表(按班次/年度)
* GET /studentTeamTask/list
* 查询参数(XYDRWB 实体字段):xydbh 学员队编号、nd 年度、kcxh 课次序号、jhkcxh 计划课次序号、xs 学时等
* 返回:Page<XYDRWB>(records/total)
*/
export function listStudentTeamTask(params) {
return request({
url: '/studentTeamTask/list',
method: 'get',
params
})
}
@@ -0,0 +1,58 @@
import request from '@/utils/request'
// 专业教学计划(教学大纲 ZYJXJHB)
// 接口依据:/zyjxjhb/*(前端 baseURL 为 '/api',此处不再加前缀)
// 新增(bh 留空后端自动生成 UUID,ty 默认 0,qysj 默认当前时间)
export function addSyllabus(data) {
return request({
url: '/zyjxjhb/add',
method: 'post',
data
})
}
// 删除(软删:置 ty=1 并写 tysj)
export function deleteSyllabus(bh) {
return request({
url: '/zyjxjhb/delete',
method: 'post',
params: { bh }
})
}
// 批量删除(软删)
export function batchDeleteSyllabus(bhList) {
return request({
url: '/zyjxjhb/batchDelete',
method: 'post',
data: bhList
})
}
// 更新(bh 必传)
export function updateSyllabus(data) {
return request({
url: '/zyjxjhb/update',
method: 'post',
data
})
}
// 根据编号查询
export function getSyllabus(bh) {
return request({
url: '/zyjxjhb/get',
method: 'get',
params: { bh }
})
}
// 根据专业代号和停用标识查询
export function listByZydhAndTy(query) {
return request({
url: '/zyjxjhb/listByZydhAndTy',
method: 'get',
params: query
})
}
@@ -0,0 +1,90 @@
import request from '@/utils/request'
// 教学任务管理(TeachingTaskController /teachingTask)
// 接口依据:api.txt「教学任务管理」分组(前端 baseURL 为 /api,此处不重复 /api 前缀)
// 实体:JXRW(bh 编号、rwmc 任务名称、nd 年度、zt 状态、
// fbsj 发布时间、cjsj 创建时间、jssj 结束时间、jcxqscsj 教材需求生成时间)
// 新增时 bh 留空由后端生成(api.txt 新增示例未传 bh),编辑/更新时 bh 必传
/**
* 分页查询教学任务列表
* GET /teachingTask/list
* 查询参数(JXRW):rwmc 任务名称(模糊)、nd 年度(等值)、zt 状态(等值)、
* pageNum、pageSize
* 返回:PageResult<JXRW>(records/total)
*/
export function listTeachingTask(params) {
return request({
url: '/teachingTask/list',
method: 'get',
params
})
}
/**
* 根据编号查询教学任务
* GET /teachingTask/get?bh=
* @param bh 编号
* 返回:JXRW
*/
export function getTeachingTask(bh) {
return request({
url: '/teachingTask/get',
method: 'get',
params: { bh }
})
}
/**
* 新增教学任务
* POST /teachingTask/add
* 请求体(JXRW):rwmc 任务名称(必填)、nd 年度(必填)、zt 状态、fbsj/jssj/jcxqscsj
* 说明:bh 不传由后端自动生成;cjsj 创建时间由后端自动维护
*/
export function addTeachingTask(data) {
return request({
url: '/teachingTask/add',
method: 'post',
data
})
}
/**
* 更新教学任务(根据主键)
* POST /teachingTask/update
* 请求体(JXRW):bh 编号(必填)、rwmc、nd、zt
*/
export function updateTeachingTask(data) {
return request({
url: '/teachingTask/update',
method: 'post',
data
})
}
/**
* 级联删除教学任务和教研室任务书
* POST /teachingTask/delete?bh=
* @param bh 编号
*/
export function deleteTeachingTask(bh) {
return request({
url: '/teachingTask/delete',
method: 'post',
params: { bh }
})
}
/**
* 教学任务发布(需要先填写教研室任务书)
* POST /teachingTask/batchPublish?bh=
* @param bh 教学任务编号
* 返回:更新数量
*/
export function publishTeachingTask(bh) {
return request({
url: '/teachingTask/batchPublish',
method: 'post',
params: { bh }
})
}
@@ -0,0 +1,89 @@
import request from '@/utils/request'
// 课表查询管理(KCBController /kcb,前端 baseURL 为 /api,此处不重复 /api 前缀)
// 接口依据:课表页面接口规格
// 查询实体 TimetableQuery:nd 年度(可选,不传自动取当前学期)、xydbh 学员队编号/班次(可选,按班次筛选)
/**
* 今日课表
* GET /kcb/today/list
* @param params offset 日期偏移量、rq 基准日期(yyyy-MM-dd)
* 返回:今日课表记录(实体字段 bh/sksj/kc/zrdw/bc/jy/cd/jxnrxff/bz)
*/
export function listToday(data) {
return request({
url: '/kcb/today/list',
method: 'get',
params: data
})
}
/**
* 本周课表
* GET /kcb/week/list
* @param params offset 周偏移量、rq 基准日期(yyyy-MM-dd)
* 返回:本周课表记录
*/
export function listWeek(data) {
return request({
url: '/kcb/week/list',
method: 'get',
params: data
})
}
/**
* 班次课表(分页)
* GET /kcb/class/list
* @param params pageNum、pageSize,cond=TimetableQuery:nd、xydbh
* 返回:PageResult<班次课程记录>(records/total)
*/
export function listClass(params) {
return request({
url: '/kcb/class/list',
method: 'get',
params
})
}
/**
* 下载学期教学实施计划 Excel
* GET /kcb/class/export-plan
* @param data TimetableQuery:nd、xydbh
*/
export function exportClassPlan(data) {
return request({
url: '/kcb/class/export-plan',
method: 'get',
params: data,
responseType: 'blob'
})
}
/**
* 下载学期成绩表 Excel
* GET /kcb/class/export-grades
* @param data TimetableQuery:nd、xydbh
*/
export function exportClassGrades(data) {
return request({
url: '/kcb/class/export-grades',
method: 'get',
params: data,
responseType: 'blob'
})
}
/**
* 班次课程列表另存 Excel
* GET /kcb/class/export-courses
* @param data TimetableQuery:nd、xydbh
*/
export function exportClassCourses(data) {
return request({
url: '/kcb/class/export-courses',
method: 'get',
params: data,
responseType: 'blob'
})
}
@@ -0,0 +1,45 @@
import request from '@/utils/request'
// 课表冲突检查:单维度检查(POST /timetable-conflict/check)
// body: { nd 年度(必填), dimensionCode 维度编码(必填), writeToDb?(落库), jcpch?(批次号) }
// 返回 TimetableConflictCardVO { dimensionCode, title, description, checked, conflictCount }
export function checkConflict(data) {
return request({
url: '/timetable-conflict/check',
method: 'post',
data
})
}
// 课表冲突检查:执行全部维度检查(POST /timetable-conflict/check-all)
// body: { nd 年度(必填), writeToDb? }
// 返回 TimetableConflictSummaryVO { nd, cards[], totalConflictCount, fullyChecked }
export function checkAllConflict(data) {
return request({
url: '/timetable-conflict/check-all',
method: 'post',
data
})
}
// 课表冲突检查:重置检查结果(POST /timetable-conflict/reset)
// body: { nd 年度(必填), clearDb? 是否同时清空落库表 }
// 返回 TimetableConflictSummaryVO(所有卡片未检查状态)
export function resetConflict(data) {
return request({
url: '/timetable-conflict/reset',
method: 'post',
data
})
}
// 课表冲突检查:分页查询冲突明细(GET /timetable-conflict/details)
// params: { nd 年度(必填), dimensionCode? 维度编码, pageNum?, pageSize?, useDb?, jcpch? }
// 返回 PageResult<TimetableConflictDetailVO>
export function getConflictDetails(params) {
return request({
url: '/timetable-conflict/details',
method: 'get',
params
})
}
+110
View File
@@ -0,0 +1,110 @@
import request from '@/utils/request'
// 人才培养方案(专业表 ZYB /training)
// 接口依据:TrainingProgramController(前端 baseURL 为 /api,此处不重复 /api 前缀)
/**
* 新增培养方案(专业)
* POST /training/add
* 请求体(ZYB):zydh/zymc/zydm/pxcc/pxlx 必填;
* 主键 zydh 需手动传入(留空时后端自动生成 UUID,后端同时置 ty=false、qysj=当前时间)
*/
export function addTraining(data) {
return request({
url: '/training/add',
method: 'post',
data
})
}
/**
* 停用(逻辑删除)培养方案
* POST /training/disable?zydh=
* @param zydh 专业代号(必填)
*/
export function disableTraining(zydh) {
return request({
url: '/training/disable',
method: 'post',
params: { zydh }
})
}
/**
* 更新培养方案
* POST /training/update
* 请求体(ZYB):zydh 必传
*/
export function updateTraining(data) {
return request({
url: '/training/update',
method: 'post',
data
})
}
/**
* 根据专业代号查询培养方案详情
* GET /training/get?zydh=
* @param zydh 专业代号
*/
export function getTraining(zydh) {
return request({
url: '/training/get',
method: 'get',
params: { zydh }
})
}
/**
* 分页条件查询培养方案列表
* GET /training/list
* 查询参数:zymc(模糊)、zydm(模糊)、pxlx(精确)、pxcc(精确)、pageNum、pageSize
* 返回:PageResult<ZYB>(records/total)
*/
export function listTraining(params) {
return request({
url: '/training/list',
method: 'get',
params
})
}
/**
* 导出培养方案到 Excel(返回 Blob)
* GET /training/export
*/
export function exportTrainingProgram() {
return request({
url: '/training/export',
method: 'get',
responseType: 'blob'
})
}
/**
* 下载培养方案导入模板(返回 Blob)
* GET /download/training-program
*/
export function downloadTrainingProgramTemplate() {
return request({
url: '/download/training-program',
method: 'get',
responseType: 'blob'
})
}
/**
* 导入培养方案 Excel(multipart,字段名 file)
* POST /training/import
*/
export function importTrainingProgram(file) {
const formData = new FormData()
formData.append('file', file)
return request({
url: '/training/import',
method: 'post',
data: formData,
headers: { 'Content-Type': 'multipart/form-data' }
})
}
+28
View File
@@ -0,0 +1,28 @@
import request from '@/utils/request'
// 按学期查询校历假期列表(nd 为学期代号,如 202601)
export function listXqxlb(query) {
return request({
url: '/xqxlb/list',
method: 'get',
params: query
})
}
// 根据主键查询校历假期
export function getXqxlb(bh) {
return request({
url: '/xqxlb/get',
method: 'get',
params: { bh: bh }
})
}
// 新增 / 修改校历假期(无 bh 时为新增,带 bh 时为修改)
export function updateXqxlb(data) {
return request({
url: '/xqxlb/update',
method: 'post',
data: data
})
}
+47
View File
@@ -0,0 +1,47 @@
import request from '@/utils/request'
// 分页查询教学公告列表
export function listTeachNotice(query) {
return request({
url: '/notice-announcement/list',
method: 'get',
params: query
})
}
// 查询公告详情
export function getTeachNotice(Id) {
return request({
url: '/notice-announcement/get',
method: 'get',
params: { Id }
})
}
// 新增公告
export function addTeachNotice(data) {
return request({
url: '/notice-announcement/add',
method: 'post',
data: data
})
}
// 修改公告(含下架/上架:更新时附带 status)
export function updateTeachNotice(data) {
return request({
url: '/notice-announcement/update',
method: 'post',
params: { Id: data.id },
data: data
})
}
// 删除/下架(级联删除:先删通告用户信息表,再删通告表)
export function delTeachNotice(Id) {
return request({
url: '/notice-announcement/delete',
method: 'post',
params: { Id }
})
}
+77
View File
@@ -0,0 +1,77 @@
import request from '@/utils/request'
// 分页查询选修班
// pageNum/pageSize/jyxm(通信)/kmc(通信)/kxbcnj(通信)/xxbmc(通信)/xkzt(等值)/pxcc(等值)
export function listElective(query) {
return request({
url: '/jys/elective/list',
method: 'get',
params: query
})
}
// 新建选修课(body: ElectiveCourseSaveDTO)
export function addElective(data) {
return request({
url: '/jys/elective/add',
method: 'post',
data: data
})
}
// 批量开放报名
export function batchOpenElective(bhList) {
return request({
url: '/jys/elective/batch-open',
method: 'post',
data: { bhList: bhList }
})
}
// 批量取消开放报名
export function batchCancelOpenElective(bhList) {
return request({
url: '/jys/elective/batch-cancel-open',
method: 'post',
data: { bhList: bhList }
})
}
// 批量停止报名
export function batchStopElective(bhList) {
return request({
url: '/jys/elective/batch-stop',
method: 'post',
data: { bhList: bhList }
})
}
// 下载选修班列表(Excel)
export function exportElectiveList(query) {
return request({
url: '/jys/elective/export',
method: 'get',
params: query,
responseType: 'blob'
})
}
// 下载选修班学员名单(Excel)
export function exportElectiveStudentsExcel(bhList) {
return request({
url: '/jys/elective/students/export-excel',
method: 'get',
params: { bhList: bhList },
responseType: 'blob'
})
}
// 下载选修班学员名单(Word)
export function exportElectiveStudentsWord(bhList) {
return request({
url: '/jys/elective/students/export-word',
method: 'get',
params: { bhList: bhList },
responseType: 'blob'
})
}
+57
View File
@@ -0,0 +1,57 @@
import request from '@/utils/request'
// 分页查询课程科目(课表 KB)
// kmc/kmdm/jc 模糊,jysdh/kclx/pxlx/pxcc 等值
export function listKb(query) {
return request({
url: '/jys/kb/list',
method: 'get',
params: query
})
}
// 课程科目详情(kbh 课编号)
export function getKb(kbh) {
return request({
url: '/jys/kb/get',
method: 'get',
params: { kbh: kbh }
})
}
// 新增课程科目(kbh 留空后端生成 UUID)
export function addKb(data) {
return request({
url: '/jys/kb/add',
method: 'post',
data: data
})
}
// 删除课程科目(kbh 课编号)
export function deleteKb(kbh) {
return request({
url: '/jys/kb/delete',
method: 'post',
params: { kbh: kbh }
})
}
// 编辑课程科目(kbh 必传)
export function updateKb(data) {
return request({
url: '/jys/kb/update',
method: 'post',
data: data
})
}
// 下载课程科目导入模板(返回 Blob)
// GET /download/course-subject
export function downloadCourseSubjectTemplate() {
return request({
url: '/download/course-subject',
method: 'get',
responseType: 'blob'
})
}
+46
View File
@@ -0,0 +1,46 @@
import request from '@/utils/request'
// 查询教研室列表
export function listOffice(query) {
return request({
url: '/jys/office/list',
method: 'get',
params: query
})
}
// 新增教研室
export function addOffice(data) {
return request({
url: '/jys/office/add',
method: 'post',
data: data
})
}
// 更新教研室
export function updateOffice(data) {
return request({
url: '/jys/office/update',
method: 'post',
data: data
})
}
// 停用教研室(jysdh 必传,query 参数)
export function disableOffice(jysdh) {
return request({
url: '/jys/office/disable',
method: 'post',
params: { jysdh: jysdh }
})
}
// 下载教研室导入模板
export function downloadOfficeTemplate() {
return request({
url: '/download/jys',
method: 'get',
responseType: 'blob'
})
}
+75
View File
@@ -0,0 +1,75 @@
import request from '@/utils/request'
// 教员管理:教员(JYB)+ 教员属性(JYSX)
// 接口依据:/jys/teacher/*(前端 baseURL 为 /api,此处不重复 /api 前缀)
/**
* 分页查询教员列表
* GET /jys/teacher/list
* 查询参数(JYBMapper.xml 支持):jyxm 模糊、jysdh 等值、zc 模糊、jylb 等值
*/
export function listTeacher(params) {
return request({
url: '/jys/teacher/list',
method: 'get',
params
})
}
/** 根据教员编号查询教员详情 GET /jys/teacher/get?jybh= */
export function getTeacher(jybh) {
return request({
url: '/jys/teacher/get',
method: 'get',
params: { jybh }
})
}
/**
* 新增教员 POST /jys/teacher/add
* body 为 AddTeacherDTO:{ teacher: JYB, attributes: JYSX }
* lzzt 前端不传,后端自动置 0
*/
export function addTeacher(data) {
return request({
url: '/jys/teacher/add',
method: 'post',
data
})
}
/** 更新教员基本信息 POST /jys/teacher/update(body 为 JYB,jybh 必传) */
export function updateTeacher(data) {
return request({
url: '/jys/teacher/update',
method: 'post',
data
})
}
/** 教员离职(逻辑删除)POST /jys/teacher/disable?jybh= */
export function disableTeacher(jybh) {
return request({
url: '/jys/teacher/disable',
method: 'post',
params: { jybh }
})
}
/** 查询教员属性 GET /jys/teacher/attribute/get?jybh= */
export function getTeacherAttribute(jybh) {
return request({
url: '/jys/teacher/attribute/get',
method: 'get',
params: { jybh }
})
}
/** 更新教员属性 POST /jys/teacher/attribute/update(body 为 JYSX,jybh 必传) */
export function updateTeacherAttribute(data) {
return request({
url: '/jys/teacher/attribute/update',
method: 'post',
data
})
}
@@ -0,0 +1,83 @@
import request from '@/utils/request'
// 教材管理:教材信息(JCXX 实体)
// 接口依据 api.txt:/teachingMaterial/*(前端 baseURL 为 /api,此处不重复 /api 前缀)
/**
* 教材信息分页查询
* GET /teachingMaterial/list
* 查询参数(TeachingMaterialMapper.xml 支持):bh/mc/isbn/cbs/zz 模糊,jcfl/jclx 等值,ty 等值
*/
export function listTeachingMaterial(params) {
return request({
url: '/teachingMaterial/list',
method: 'get',
params
})
}
/** 根据编号查询 GET /teachingMaterial/getByBh?bh= */
export function getTeachingMaterialByBh(bh) {
return request({
url: '/teachingMaterial/getByBh',
method: 'get',
params: { bh }
})
}
/** 根据ID查询 GET /teachingMaterial/getById?id= */
export function getTeachingMaterialById(id) {
return request({
url: '/teachingMaterial/getById',
method: 'get',
params: { id }
})
}
/** 新增教材信息 POST /teachingMaterial/add */
export function addTeachingMaterial(data) {
return request({
url: '/teachingMaterial/add',
method: 'post',
data
})
}
/** 根据ID修改 POST /teachingMaterial/update(body 需携带 id) */
export function updateTeachingMaterial(data) {
return request({
url: '/teachingMaterial/update',
method: 'post',
data
})
}
/** 删除 POST /teachingMaterial/delete?id= */
export function deleteTeachingMaterial(id) {
return request({
url: '/teachingMaterial/delete',
method: 'post',
params: { id }
})
}
/** 教材导入模板下载 GET /download/teaching-material */
export function downloadTeachingMaterialTemplate() {
return request({
url: '/download/teaching-material',
method: 'get',
responseType: 'blob'
})
}
/** 教材导入 POST /teachingMaterial/import(form-data,字段名 file) */
export function importTeachingMaterial(file) {
const formData = new FormData()
formData.append('file', file)
return request({
url: '/teachingMaterial/import',
method: 'post',
data: formData,
headers: { 'Content-Type': 'multipart/form-data' }
})
}
+106
View File
@@ -0,0 +1,106 @@
import request from '@/utils/request'
// 教材库存:库存单(JCKCD)+ 库存明细项(JCKCMXX)
// 接口依据 api.txt:/teachingStock/*(前端 baseURL 为 /api,此处不重复 /api 前缀)
// ==================== 教材库存单(JCKCD) ====================
/**
* 分页查询库存单
* GET /teachingStock/list
* 查询参数(TeachingStockMapper.xml 支持):bh/mc 模糊,lb/zb/zt 等值
*/
export function listTeachingStock(params) {
return request({
url: '/teachingStock/list',
method: 'get',
params
})
}
/** 根据ID查询库存单 GET /teachingStock/get?id= */
export function getTeachingStock(id) {
return request({
url: '/teachingStock/get',
method: 'get',
params: { id }
})
}
/** 新增库存单 POST /teachingStock/add(bh 留空由后端自动生成) */
export function addTeachingStock(data) {
return request({
url: '/teachingStock/add',
method: 'post',
data
})
}
/** 修改库存单 POST /teachingStock/update(body 需携带 id) */
export function updateTeachingStock(data) {
return request({
url: '/teachingStock/update',
method: 'post',
data
})
}
/** 删除库存单 POST /teachingStock/delete?id= */
export function deleteTeachingStock(id) {
return request({
url: '/teachingStock/delete',
method: 'post',
params: { id }
})
}
// ==================== 教材库存明细项(JCKCMXX) ====================
/**
* 分页查询库存明细项
* GET /teachingStock/detail/list
* 查询参数(TeachingStockDetailMapper.xml 支持):bh 模糊,jckcdbbh 等值,jcxxbh 模糊,hwbw 等值
*/
export function listTeachingStockDetail(params) {
return request({
url: '/teachingStock/detail/list',
method: 'get',
params
})
}
/** 根据ID查询库存明细项 GET /teachingStock/detail/get?id= */
export function getTeachingStockDetail(id) {
return request({
url: '/teachingStock/detail/get',
method: 'get',
params: { id }
})
}
/** 新增库存明细项 POST /teachingStock/detail/add(bh 留空由后端自动生成) */
export function addTeachingStockDetail(data) {
return request({
url: '/teachingStock/detail/add',
method: 'post',
data
})
}
/** 修改库存明细项 POST /teachingStock/detail/update(body 需携带 id) */
export function updateTeachingStockDetail(data) {
return request({
url: '/teachingStock/detail/update',
method: 'post',
data
})
}
/** 删除库存明细项 POST /teachingStock/detail/delete?id= */
export function deleteTeachingStockDetail(id) {
return request({
url: '/teachingStock/detail/delete',
method: 'post',
params: { id }
})
}
+86
View File
@@ -0,0 +1,86 @@
import request from '@/utils/request'
// 查询生成表数据
export function listTable(query) {
return request({
url: '/tool/gen/list',
method: 'get',
params: query
})
}
// 查询db数据库列表
export function listDbTable(query) {
return request({
url: '/tool/gen/db/list',
method: 'get',
params: query
})
}
// 查询表详细信息
export function getGenTable(tableId) {
return request({
url: '/tool/gen/' + tableId,
method: 'get'
})
}
// 修改代码生成信息
export function updateGenTable(data) {
return request({
url: '/tool/gen',
method: 'put',
data: data
})
}
// 导入表
export function importTable(data) {
return request({
url: '/tool/gen/importTable',
method: 'post',
params: data
})
}
// 创建表
export function createTable(data) {
return request({
url: '/tool/gen/createTable',
method: 'post',
params: data
})
}
// 预览生成代码
export function previewTable(tableId) {
return request({
url: '/tool/gen/preview/' + tableId,
method: 'get'
})
}
// 删除表数据
export function delTable(tableId) {
return request({
url: '/tool/gen/' + tableId,
method: 'delete'
})
}
// 生成代码(自定义路径)
export function genCode(tableName) {
return request({
url: '/tool/gen/genCode/' + tableName,
method: 'get'
})
}
// 同步数据库
export function synchDb(tableName) {
return request({
url: '/tool/gen/synchDb/' + tableName,
method: 'get'
})
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 160 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

+9
View File
@@ -0,0 +1,9 @@
import Vue from 'vue'
import SvgIcon from '@/components/SvgIcon'// svg component
// register globally
Vue.component('svg-icon', SvgIcon)
const req = require.context('./svg', false, /\.svg$/)
const requireAll = requireContext => requireContext.keys().map(requireContext)
requireAll(req)
+1
View File
@@ -0,0 +1 @@
<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M121.718 73.272v9.953c3.957-7.584 6.199-16.05 6.199-24.995C127.917 26.079 99.273 0 63.958 0 28.644 0 0 26.079 0 58.23c0 .403.028.806.028 1.21l22.97-25.953h13.34l-19.76 27.187h6.42V53.77l13.728-19.477v49.361H22.998V73.272H2.158c5.951 20.284 23.608 36.208 45.998 41.399-1.44 3.3-5.618 11.263-12.565 12.674-8.607 1.764 23.358.428 46.163-13.178 17.519-4.611 31.938-15.849 39.77-30.513h-13.506V73.272H85.02V59.464l22.998-25.977h13.008l-19.429 27.187h6.421v-7.433l13.727-19.402v39.433h-.027zm-78.24 2.822a10.516 10.516 0 0 1-.996-4.535V44.548c0-1.613.332-3.124.996-4.535a11.66 11.66 0 0 1 2.713-3.68c1.134-1.032 2.49-1.864 4.04-2.468 1.55-.605 3.21-.908 4.982-.908h11.292c1.77 0 3.431.303 4.981.908 1.522.604 2.85 1.41 3.986 2.418l-12.26 16.303v-2.898a1.96 1.96 0 0 0-.665-1.512c-.443-.403-.996-.604-1.66-.604-.665 0-1.218.201-1.661.604a1.96 1.96 0 0 0-.664 1.512v9.071L44.364 77.606a10.556 10.556 0 0 1-.886-1.512zm35.73-4.535c0 1.613-.332 3.124-.997 4.535a11.66 11.66 0 0 1-2.712 3.68c-1.134 1.032-2.49 1.864-4.04 2.469-1.55.604-3.21.907-4.982.907H55.185c-1.77 0-3.431-.303-4.981-.907-1.55-.605-2.906-1.437-4.041-2.47a12.49 12.49 0 0 1-1.384-1.512l13.727-18.217v6.375c0 .605.222 1.109.665 1.512.442.403.996.604 1.66.604.664 0 1.218-.201 1.66-.604a1.96 1.96 0 0 0 .665-1.512V53.87L75.97 36.838c.913.932 1.66 1.99 2.214 3.175.664 1.41.996 2.922.996 4.535v27.011h.028z"/></svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

+1
View File
@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1773923748724" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5930" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M512 212l48.8 12c101.6 24.8 176 117.6 176 220.8v254.4l18.4 18.4 24.8 25.6h-536l24.8-25.6 18.4-18.4V444.8c0-103.2 73.6-196.8 176-220.8l48.8-12M512 64c-36.8 0-64 30.4-64 68v30.4C320.8 192 223.2 307.2 223.2 444.8v228.8L136 763.2v44.8h752v-44.8l-87.2-89.6V444.8c0-137.6-97.6-252.8-224.8-283.2v-28.8c0-32-17.6-60.8-48-67.2-5.6-1.6-11.2-1.6-16-1.6z m88 808H424c0 49.6 38.4 88 88 88s88-38.4 88-88z" p-id="5931"></path></svg>

After

Width:  |  Height:  |  Size: 750 B

+1
View File
@@ -0,0 +1 @@
<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M127.88 73.143c0 1.412-.506 2.635-1.518 3.669-1.011 1.033-2.209 1.55-3.592 1.55h-17.887c0 9.296-1.783 17.178-5.35 23.645l16.609 17.044c1.011 1.034 1.517 2.257 1.517 3.67 0 1.412-.506 2.635-1.517 3.668-.958 1.033-2.155 1.55-3.593 1.55-1.438 0-2.635-.517-3.593-1.55l-15.811-16.063a15.49 15.49 0 0 1-1.196 1.06c-.532.434-1.65 1.208-3.353 2.322a50.104 50.104 0 0 1-5.192 2.974c-1.758.87-3.94 1.658-6.546 2.364-2.607.706-5.189 1.06-7.748 1.06V47.044H58.89v73.062c-2.716 0-5.417-.367-8.106-1.102-2.688-.734-5.003-1.631-6.945-2.692a66.769 66.769 0 0 1-5.268-3.179c-1.571-1.057-2.73-1.94-3.476-2.65L33.9 109.34l-14.611 16.877c-1.066 1.14-2.344 1.711-3.833 1.711-1.277 0-2.422-.434-3.434-1.304-1.012-.978-1.557-2.187-1.635-3.627-.079-1.44.333-2.705 1.236-3.794l16.129-18.51c-3.087-6.197-4.63-13.644-4.63-22.342H5.235c-1.383 0-2.58-.517-3.592-1.55S.125 74.545.125 73.132c0-1.412.506-2.635 1.518-3.668 1.012-1.034 2.21-1.55 3.592-1.55h17.887V43.939L9.308 29.833c-1.012-1.033-1.517-2.256-1.517-3.669 0-1.412.505-2.635 1.517-3.668 1.012-1.034 2.21-1.55 3.593-1.55s2.58.516 3.593 1.55l13.813 14.106h67.396l13.814-14.106c1.012-1.034 2.21-1.55 3.592-1.55 1.384 0 2.581.516 3.593 1.55 1.012 1.033 1.518 2.256 1.518 3.668 0 1.413-.506 2.636-1.518 3.67l-13.814 14.105v23.975h17.887c1.383 0 2.58.516 3.593 1.55 1.011 1.033 1.517 2.256 1.517 3.668l-.005.01zM89.552 26.175H38.448c0-7.23 2.489-13.386 7.466-18.469C50.892 2.623 56.92.082 64 .082c7.08 0 13.108 2.541 18.086 7.624 4.977 5.083 7.466 11.24 7.466 18.469z"/></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

+1
View File
@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1568899741379" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2054" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M960 591.424V368.96c0-0.288 0.16-0.512 0.16-0.768S960 367.68 960 367.424V192a32 32 0 0 0-32-32H96a32 32 0 0 0-32 32v175.424c0 0.288-0.16 0.512-0.16 0.768s0.16 0.48 0.16 0.768v222.464c0 0.288-0.16 0.512-0.16 0.768s0.16 0.48 0.16 0.768V864a32 32 0 0 0 32 32h832a32 32 0 0 0 32-32v-271.04c0-0.288 0.16-0.512 0.16-0.768S960 591.68 960 591.424z m-560-31.232v-160H608v160h-208z m208 64V832h-208v-207.808H608z m-480-224h208v160H128v-160z m544 0h224v160h-224v-160zM896 224v112.192H128V224h768zM128 624.192h208V832H128v-207.808zM672 832v-207.808h224V832h-224z" p-id="2055"></path></svg>

After

Width:  |  Height:  |  Size: 954 B

+1
View File
@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1588670460195" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1314" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M230.4 307.712c13.824 0 25.088-11.264 25.088-25.088 0-100.352 81.92-182.272 182.272-182.272s182.272 81.408 182.272 182.272c0 13.824 11.264 25.088 25.088 25.088s25.088-11.264 24.576-25.088c0-127.488-103.936-231.936-231.936-231.936S205.824 154.624 205.824 282.624c-0.512 14.336 10.752 25.088 24.576 25.088z m564.736 234.496c-11.264 0-21.504 2.048-31.232 6.144 0-44.544-40.448-81.92-88.064-81.92-14.848 0-28.16 3.584-39.936 10.24-13.824-28.16-44.544-48.128-78.848-48.128-12.288 0-24.576 2.56-35.328 7.68V284.16c0-45.568-37.888-81.92-84.48-81.92s-84.48 36.864-84.48 81.92v348.672l-69.12-112.64c-18.432-28.16-58.368-36.864-91.136-19.968-26.624 14.336-46.592 47.104-30.208 88.064 3.072 8.192 76.8 205.312 171.52 311.296 0 0 28.16 24.576 43.008 58.88 4.096 9.728 13.312 15.36 22.528 15.36 3.072 0 6.656-0.512 9.728-2.048 12.288-5.12 18.432-19.968 12.8-32.256-19.456-44.544-53.76-74.752-53.76-74.752C281.6 768 209.408 573.44 208.384 570.88c-5.12-12.8-2.56-20.992 7.168-26.112 9.216-4.608 21.504-4.608 26.112 2.56l113.152 184.32c4.096 8.704 12.8 14.336 22.528 14.336 13.824 0 25.088-10.752 25.088-25.088V284.16c0-17.92 15.36-32.256 34.816-32.256s34.816 14.336 34.816 32.256v284.16c0 13.824 10.24 25.088 24.576 25.088 13.824 0 25.088-11.264 25.088-25.088v-57.344c0-17.92 15.36-32.768 34.816-32.768 19.968 0 37.376 15.36 37.376 32.768v95.232c0 7.168 3.072 13.312 7.68 17.92 4.608 4.608 10.752 7.168 17.92 7.168 13.824 0 24.576-11.264 24.576-25.088V547.84c0-18.432 13.824-32.256 32.256-32.256 20.48 0 38.912 15.36 38.912 32.256v95.232c0 13.824 11.264 25.088 25.088 25.088s24.576-11.264 25.088-25.088v-18.944c0-18.944 12.8-32.256 30.72-32.256 18.432 0 22.528 18.944 22.528 31.744 0 1.024-11.776 99.84-50.688 173.056-30.72 58.368-45.056 112.128-51.2 146.944-2.56 13.312 6.656 26.112 19.968 28.672 1.536 0 3.072 0.512 4.608 0.512 11.776 0 22.016-8.192 24.064-20.48 5.632-31.232 18.432-79.36 46.08-132.608 43.52-81.92 55.808-186.88 56.32-193.536-0.512-50.688-29.696-83.968-72.704-83.968z"></path></path></svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1576153230908" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="971" xmlns:xlink="http://www.w3.org/1999/xlink" width="81" height="81"><defs><style type="text/css"></style></defs><path d="M772.87036133 734.06115723c-43.34106445 0-80.00793458 27.93273926-93.76831055 66.57714843H475.90991211c-56.60705567 0-102.66723633-46.06018067-102.66723633-102.66723633V600.82446289h305.859375c13.76037598 38.64440918 50.42724609 66.57714844 93.76831055 66.57714844 55.12390137 0 99.94812012-44.82421875 99.94812012-99.94812012S827.9942627 467.50537109 772.87036133 467.50537109c-43.34106445 0-80.00793458 27.93273926-93.76831055 66.57714844H373.24267578V401.01062011h321.92687989c55.12390137 0 99.94812012-44.82421875 99.94812011-99.94812011V190.07312011C795.11767578 134.94921875 750.29345703 90.125 695.16955567 90.125H251.12963867C196.0057373 90.125 151.18151855 134.94921875 151.18151855 190.07312011V301.0625c0 55.12390137 44.82421875 99.94812012 99.94812012 99.94812012h55.53588867v296.96044921c0 93.35632325 75.97045898 169.32678223 169.32678224 169.32678223h203.19213866c13.76037598 38.64440918 50.42724609 66.57714844 93.76831055 66.57714844 55.12390137 0 99.94812012-44.82421875 99.94812012-99.94812012s-44.90661622-99.86572266-100.03051758-99.86572265z m0-199.89624024c18.37463379 0 33.28857422 14.91394043 33.28857422 33.28857423s-14.91394043 33.28857422-33.28857422 33.28857421-33.28857422-14.91394043-33.28857422-33.28857421 14.91394043-33.28857422 33.28857422-33.28857422zM217.75866699 301.0625V190.07312011c0-18.37463379 14.91394043-33.28857422 33.28857423-33.28857421h444.03991698c18.37463379 0 33.28857422 14.91394043 33.28857422 33.28857422V301.0625c0 18.37463379-14.91394043 33.28857422-33.28857422 33.28857422H251.12963867c-18.37463379 0-33.37097168-14.91394043-33.37097168-33.28857422z m555.11169434 566.23535156c-18.37463379 0-33.28857422-14.91394043-33.28857422-33.28857422 0-18.37463379 14.91394043-33.28857422 33.28857422-33.28857422s33.28857422 14.91394043 33.28857422 33.28857422c0.08239747 18.29223633-14.91394043 33.28857422-33.28857422 33.28857422z" p-id="972"></path></svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

+1
View File
@@ -0,0 +1 @@
<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M0 54.857h36.571V128H0V54.857zM91.429 27.43H128V128H91.429V27.429zM45.714 0h36.572v128H45.714V0z"/></svg>

After

Width:  |  Height:  |  Size: 179 B

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1575982282951" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="902" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M828.40625 90.125H195.59375C137.375 90.125 90.125 137.375 90.125 195.59375v632.8125c0 58.21875 47.25 105.46875 105.46875 105.46875h632.8125c58.21875 0 105.46875-47.25 105.46875-105.46875V195.59375c0-58.21875-47.25-105.46875-105.46875-105.46875z m52.734375 738.28125c0 29.16-23.57015625 52.734375-52.734375 52.734375H195.59375c-29.109375 0-52.734375-23.574375-52.734375-52.734375V195.59375c0-29.109375 23.625-52.734375 52.734375-52.734375h632.8125c29.16 0 52.734375 23.625 52.734375 52.734375v632.8125z" p-id="903"></path><path d="M421.52890625 709.55984375a36.28125 36.28125 0 0 1-27.55265625-12.66890625L205.17453125 476.613125a36.28546875 36.28546875 0 0 1 55.10109375-47.22890625l164.986875 192.4846875 342.16171875-298.48078125a36.2896875 36.2896875 0 0 1 47.70984375 54.68765625L445.3859375 700.6203125a36.3234375 36.3234375 0 0 1-23.85703125 8.93953125z" p-id="904"></path></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

@@ -0,0 +1 @@
<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M54.857 118.857h64V73.143H89.143c-1.902 0-3.52-.668-4.855-2.002-1.335-1.335-2.002-2.954-2.002-4.855V36.57H54.857v82.286zM73.143 16v-4.571a2.2 2.2 0 0 0-.677-1.61 2.198 2.198 0 0 0-1.609-.676H20.571c-.621 0-1.158.225-1.609.676a2.198 2.198 0 0 0-.676 1.61V16a2.2 2.2 0 0 0 .676 1.61c.451.45.988.676 1.61.676h50.285c.622 0 1.158-.226 1.61-.677.45-.45.676-.987.676-1.609zm18.286 48h21.357L91.43 42.642V64zM128 73.143v48c0 1.902-.667 3.52-2.002 4.855-1.335 1.335-2.953 2.002-4.855 2.002H52.57c-1.901 0-3.52-.667-4.854-2.002-1.335-1.335-2.003-2.953-2.003-4.855v-11.429H6.857c-1.902 0-3.52-.667-4.855-2.002C.667 106.377 0 104.759 0 102.857v-96c0-1.902.667-3.52 2.002-4.855C3.337.667 4.955 0 6.857 0h77.714c1.902 0 3.52.667 4.855 2.002 1.335 1.335 2.003 2.953 2.003 4.855V30.29c1 .622 1.856 1.29 2.569 2.003l29.147 29.147c1.335 1.335 2.478 3.145 3.429 5.43.95 2.287 1.426 4.383 1.426 6.291v-.018z"/></svg>

After

Width:  |  Height:  |  Size: 971 B

+1
View File
@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1546567861908" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2422" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M318.577778 819.2L17.066667 512l301.511111-307.2 45.511111 45.511111L96.711111 512l267.377778 261.688889zM705.422222 819.2l-45.511111-45.511111L927.288889 512l-267.377778-261.688889 45.511111-45.511111L1006.933333 512zM540.785778 221.866667l55.751111 11.150222L483.157333 802.133333l-55.751111-11.093333z" p-id="2423"></path></svg>

After

Width:  |  Height:  |  Size: 717 B

+1
View File
@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1577252187056" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2508" xmlns:xlink="http://www.w3.org/1999/xlink" width="81" height="81"><defs><style type="text/css"></style></defs><path d="M747.59340925 691.12859384c11.51396329 0.25305413 22.43746719-0.21087818 40.74171707-1.51832482 29.35428085-2.10878421 35.84933734-2.36183835 46.47761114-0.8856895 24.71495444 3.37405491 41.12129828 21.76265671 32.47528161 47.95376084-85.57447632 258.19957947-442.00123984 249.76444099-628.67084683 50.73735554-153.47733892-159.33976008-153.09775772-414.41833795 0.92786545-573.42069196 159.71934128-162.67163983 424.03439521-166.59397897 565.78689185 0.63263534 80.38686649 94.81095318 108.34934958 169.16669549 89.11723508 230.57450162-15.01454608 47.99593598-50.61082928 77.68762207-119.77896259 114.63352789-4.89237973 2.65706845-29.35428085 15.52065436-35.84933652 19.02123633-46.94154346 25.30541465-63.51659033 41.20565021-62.20914449 58.45550757 2.95229856 39.13904114 24.16667102 52.7196135 70.98168823 53.81618115z m44.41100207 50.10472101c-19.82257471 1.43397372-32.05352527 1.940082-45.63409763 1.6448519-70.34905207-1.60267593-115.98314969-30.91478165-121.38163769-101.64341492-3.45840683-46.05585397 24.7571304-73.13264758 89.24376132-107.96976837 6.7902866-3.66928501 31.37871396-16.57504688 36.06021551-19.06341229 57.69634516-30.83042972 85.15271997-53.73183005 94.76877722-84.47790866 12.77923398-40.78389304-9.10994898-98.94417051-79.24812286-181.6507002-121.17075953-142.97559219-350.14258521-139.60153647-489.2380134 2.06660824-134.49827774 138.84237405-134.79350784 362.12048163-0.42175717 501.637667 158.53842169 168.99799328 451.9968783 181.18676788 534.57688175-11.80919339-4.68150156 0.2952301-10.71262573 0.67481131-18.72600705 1.26527069z" p-id="2509"></path><path d="M346.03865637 637.18588562a78.82636652 78.82636652 0 0 0 78.32025825-79.29029883c0-43.69401562-35.005823-79.29029883-78.32025825-79.29029882a78.82636652 78.82636652 0 0 0-78.36243338 79.29029882c0 43.69401562 35.005823 79.29029883 78.36243338 79.29029883z m0-51.7495729a27.07679361 27.07679361 0 0 1-26.5706845-27.54072593c0-15.30977536 11.97789643-27.54072593 26.5706845-27.54072592 14.55061295 0 26.57068533 12.23095057 26.57068533 27.54072592a27.07679361 27.07679361 0 0 1-26.57068533 27.54072593zM475.7289063 807.11174353a78.82636652 78.82636652 0 0 0 78.3624334-79.29029882c0-43.69401562-34.96364785-79.29029883-78.32025825-79.29029883a78.82636652 78.82636652 0 0 0-78.32025742 79.29029883c0 43.69401562 34.96364785 79.29029883 78.32025742 79.29029882z m0-51.74957208a27.07679361 27.07679361 0 0 1-26.57068532-27.54072674c0-15.30977536 12.06224753-27.54072593 26.57068532-27.54072593 14.59278892 0 26.57068533 12.23095057 26.57068453 27.54072593a27.07679361 27.07679361 0 0 1-26.57068453 27.54072674zM601.24376214 377.21492718a78.82636652 78.82636652 0 0 0 78.32025742-79.29029883c0-43.69401562-34.96364785-79.29029883-78.32025742-79.29029882a78.82636652 78.82636652 0 0 0-78.32025823 79.29029883c0 43.69401562 34.96364785 79.29029883 78.32025824 79.29029883z m1e-8-51.74957208a27.07679361 27.07679361 0 0 1-26.57068534-27.54072675c0-15.30977536 11.97789643-27.54072593 26.57068534-27.54072591 14.55061295 0 26.57068533 12.23095057 26.57068451 27.54072592a27.07679361 27.07679361 0 0 1-26.57068451 27.54072674zM378.80916809 433.85687983a78.82636652 78.82636652 0 0 0 78.32025824-79.29029883c0-43.69401562-34.96364785-79.29029883-78.32025824-79.29029802a78.82636652 78.82636652 0 0 0-78.32025742 79.29029802c0 43.69401562 34.96364785 79.29029883 78.32025742 79.29029883z m0-51.74957209a27.07679361 27.07679361 0 0 1-26.57068451-27.54072674c0-15.30977536 11.97789643-27.54072593 26.57068451-27.54072593 14.55061295 0 26.57068533 12.23095057 26.57068533 27.54072593a27.07679361 27.07679361 0 0 1-26.57068533 27.54072674z" p-id="2510"></path></svg>

After

Width:  |  Height:  |  Size: 3.9 KiB

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1575804206892" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3145" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M826.56 470.016c-32.896 0-64.384 12.288-89.984 35.52l0-104.96c0-62.208-50.496-112.832-112.64-113.088L623.936 287.04 519.552 287.104C541.824 262.72 554.56 230.72 554.56 197.12c0-73.536-59.904-133.44-133.504-133.44-73.472 0-133.376 59.904-133.376 133.44 0 32.896 12.224 64.256 35.52 89.984L175.232 287.104l0 0.576C113.728 288.704 64 338.88 64 400.576l0.32 0 0.32 116.48C60.864 544.896 70.592 577.728 100.8 588.48c12.736 4.608 37.632 7.488 60.864-25.28 12.992-18.368 34.24-29.248 56.64-29.248 38.336 0 69.504 31.104 69.504 69.312 0 38.4-31.168 69.504-69.504 69.504-22.656 0-44.032-11.264-57.344-30.4C138.688 610.112 112.576 615.36 102.464 619.136c-29.824 10.752-39.104 43.776-38.144 67.392l0 160.384L64 846.912C64 909.248 114.752 960 177.216 960l446.272 0c62.4 0 113.152-50.752 113.152-113.152l0-145.024c24.384 22.272 56.384 35.008 89.984 35.008 73.536 0 133.44-59.904 133.44-133.504C960 529.92 900.096 470.016 826.56 470.016zM826.56 672.896c-22.72 0-44.032-11.264-57.344-30.4-22.272-32.384-48.448-27.136-58.56-23.36-29.824 10.752-39.04 43.776-38.08 67.392l0 160.384c0 27.136-22.016 49.152-49.152 49.152L177.216 896.064C150.08 896 128 873.984 128 846.848l0.32 0 0-145.024c24.384 22.272 56.384 35.008 89.984 35.008 73.6 0 133.504-59.904 133.504-133.504 0-73.472-59.904-133.376-133.504-133.376-32.896 0-64.32 12.288-89.984 35.52l0-104.96L128 400.512c0-27.072 22.08-49.152 49.216-49.152L177.216 351.04 334.656 350.72c3.776 0.512 7.616 0.832 11.52 0.832 24.896 0 50.752-10.816 60.032-37.056 4.544-12.736 7.424-37.568-25.344-60.736C362.624 240.768 351.68 219.52 351.68 197.12c0-38.272 31.104-69.44 69.376-69.44 38.336 0 69.504 31.168 69.504 69.44 0 22.72-11.264 44.032-30.528 57.472C427.968 276.736 433.088 302.784 436.8 313.024c10.752 29.888 43.072 39.232 67.392 38.08l119.232 0 0 0.384c27.136 0 49.152 22.08 49.152 49.152l0.256 116.48c-3.776 27.84 6.016 60.736 36.224 71.488 12.736 4.608 37.632 7.488 60.8-25.28 13.056-18.368 34.24-29.248 56.704-29.248C864.832 534.016 896 565.12 896 603.392 896 641.728 864.832 672.896 826.56 672.896z" p-id="3146"></path></svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

@@ -0,0 +1 @@
<svg width="128" height="100" xmlns="http://www.w3.org/2000/svg"><path d="M27.429 63.638c0-2.508-.893-4.65-2.679-6.424-1.786-1.775-3.94-2.662-6.464-2.662-2.524 0-4.679.887-6.465 2.662-1.785 1.774-2.678 3.916-2.678 6.424 0 2.508.893 4.65 2.678 6.424 1.786 1.775 3.94 2.662 6.465 2.662 2.524 0 4.678-.887 6.464-2.662 1.786-1.775 2.679-3.916 2.679-6.424zm13.714-31.801c0-2.508-.893-4.65-2.679-6.424-1.785-1.775-3.94-2.662-6.464-2.662-2.524 0-4.679.887-6.464 2.662-1.786 1.774-2.679 3.916-2.679 6.424 0 2.508.893 4.65 2.679 6.424 1.785 1.774 3.94 2.662 6.464 2.662 2.524 0 4.679-.888 6.464-2.662 1.786-1.775 2.679-3.916 2.679-6.424zM71.714 65.98l7.215-27.116c.285-1.23.107-2.378-.536-3.443-.643-1.064-1.56-1.762-2.75-2.094-1.19-.33-2.333-.177-3.429.462-1.095.639-1.81 1.573-2.143 2.804l-7.214 27.116c-2.857.237-5.405 1.266-7.643 3.088-2.238 1.822-3.738 4.152-4.5 6.992-.952 3.644-.476 7.098 1.429 10.364 1.905 3.265 4.69 5.37 8.357 6.317 3.667.947 7.143.474 10.429-1.42 3.285-1.892 5.404-4.66 6.357-8.305.762-2.84.619-5.607-.429-8.305-1.047-2.697-2.762-4.85-5.143-6.46zm47.143-2.342c0-2.508-.893-4.65-2.678-6.424-1.786-1.775-3.94-2.662-6.465-2.662-2.524 0-4.678.887-6.464 2.662-1.786 1.774-2.679 3.916-2.679 6.424 0 2.508.893 4.65 2.679 6.424 1.786 1.775 3.94 2.662 6.464 2.662 2.524 0 4.679-.887 6.465-2.662 1.785-1.775 2.678-3.916 2.678-6.424zm-45.714-45.43c0-2.509-.893-4.65-2.679-6.425C68.68 10.01 66.524 9.122 64 9.122c-2.524 0-4.679.887-6.464 2.661-1.786 1.775-2.679 3.916-2.679 6.425 0 2.508.893 4.65 2.679 6.424 1.785 1.774 3.94 2.662 6.464 2.662 2.524 0 4.679-.888 6.464-2.662 1.786-1.775 2.679-3.916 2.679-6.424zm32 13.629c0-2.508-.893-4.65-2.679-6.424-1.785-1.775-3.94-2.662-6.464-2.662-2.524 0-4.679.887-6.464 2.662-1.786 1.774-2.679 3.916-2.679 6.424 0 2.508.893 4.65 2.679 6.424 1.785 1.774 3.94 2.662 6.464 2.662 2.524 0 4.679-.888 6.464-2.662 1.786-1.775 2.679-3.916 2.679-6.424zM128 63.638c0 12.351-3.357 23.78-10.071 34.286-.905 1.372-2.19 2.058-3.858 2.058H13.93c-1.667 0-2.953-.686-3.858-2.058C3.357 87.465 0 76.037 0 63.638c0-8.613 1.69-16.847 5.071-24.703C8.452 31.08 13 24.312 18.714 18.634c5.715-5.68 12.524-10.199 20.429-13.559C47.048 1.715 55.333.035 64 .035c8.667 0 16.952 1.68 24.857 5.04 7.905 3.36 14.714 7.88 20.429 13.559 5.714 5.678 10.262 12.446 13.643 20.301 3.38 7.856 5.071 16.09 5.071 24.703z"/></svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1579774833889" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1376" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M887.466667 192.853333h-100.693334V119.466667c0-10.24-6.826667-17.066667-17.066666-17.066667s-17.066667 6.826667-17.066667 17.066667v73.386666H303.786667V119.466667c0-10.24-6.826667-17.066667-17.066667-17.066667s-17.066667 6.826667-17.066667 17.066667v73.386666H168.96c-46.08 0-85.333333 37.546667-85.333333 85.333334V836.266667c0 46.08 37.546667 85.333333 85.333333 85.333333H887.466667c46.08 0 85.333333-37.546667 85.333333-85.333333V278.186667c0-47.786667-37.546667-85.333333-85.333333-85.333334z m-718.506667 34.133334h100.693333v66.56c0 10.24 6.826667 17.066667 17.066667 17.066666s17.066667-6.826667 17.066667-17.066666v-66.56h450.56v66.56c0 10.24 6.826667 17.066667 17.066666 17.066666s17.066667-6.826667 17.066667-17.066666v-66.56H887.466667c27.306667 0 51.2 22.186667 51.2 51.2v88.746666H117.76v-88.746666c0-29.013333 22.186667-51.2 51.2-51.2zM887.466667 887.466667H168.96c-27.306667 0-51.2-22.186667-51.2-51.2V401.066667H938.666667V836.266667c0 27.306667-22.186667 51.2-51.2 51.2z" p-id="1377"></path><path d="M858.453333 493.226667H327.68c-10.24 0-17.066667 6.826667-17.066667 17.066666v114.346667h-116.053333c-10.24 0-17.066667 6.826667-17.066667 17.066667v133.12c0 10.24 6.826667 17.066667 17.066667 17.066666H460.8c10.24 0 17.066667-6.826667 17.066667-17.066666v-114.346667h380.586666c10.24 0 17.066667-6.826667 17.066667-17.066667v-133.12c0-10.24-6.826667-17.066667-17.066667-17.066666z m-413.013333 34.133333v97.28h-98.986667v-97.28h98.986667z m-230.4 131.413333h98.986667v98.986667h-98.986667v-98.986667z m131.413333 97.28v-97.28h98.986667v97.28h-98.986667z m133.12-228.693333h97.28v98.986667h-97.28v-98.986667z m131.413334 0h98.986666v98.986667h-98.986666v-98.986667z m230.4 97.28h-98.986667v-98.986667h98.986667v98.986667z" p-id="1378"></path></svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

+1
View File
@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1577186573535" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1068" xmlns:xlink="http://www.w3.org/1999/xlink" width="81" height="81"><defs><style type="text/css"></style></defs><path d="M479.85714249 608.42857168h64.28571502c19.28571417 0 32.14285751-12.85714249 32.14285664-32.14285751s-12.85714249-32.14285751-32.14285664-32.14285664h-64.28571504c-19.28571417 0-32.14285751 12.85714249-32.14285664 32.14285662s12.85714249 32.14285751 32.14285664 32.14285753z m-2e-8 122.14285665h64.28571504c19.28571417 0 32.14285751-12.85714249 32.14285664-32.14285665s-12.85714249-32.14285751-32.14285664-32.14285751h-64.28571504c-19.28571417 0-32.14285751 12.85714249-32.14285664 32.14285751s12.85714249 32.14285751 32.14285664 32.14285664z m353.57142921-559.28571416h-128.57142921v-32.14285664c0-19.28571417-12.85714249-32.14285751-32.14285664-32.14285753s-32.14285751 12.85714249-32.14285751 32.14285753v32.14285664h-257.14285665v-32.14285664c0-19.28571417-12.85714249-32.14285751-32.14285752-32.14285753s-32.14285751 12.85714249-32.14285664 32.14285753v32.14285664h-128.57142919c-70.71428585 0-128.57142832 57.85714249-128.57142832 122.14285751v501.42857081c0 70.71428585 57.85714249 128.57142832 128.57142832 122.14285751h642.85714335c70.71428585 0 128.57142832-57.85714249 128.57142833-122.14285751v-501.42857081c0-70.71428585-57.85714249-122.14285753-128.57142833-122.14285751z m64.28571415 623.57142832c0 32.14285751-32.14285751 64.28571415-64.28571416 64.28571504h-642.85714335c-32.14285751 0-64.28571415-25.71428583-64.28571417-64.28571504v-372.85714249h771.42857168v372.85714249z m0-437.14285664h-771.42857168v-64.28571417c0-32.14285751 32.14285751-64.28571415 64.28571417-64.28571415h128.57142919v32.14285664c0 19.28571417 12.85714249 32.14285751 32.14285664 32.14285751s32.14285751-12.85714249 32.14285753-32.14285751v-32.14285664h257.14285665v32.14285664c0 19.28571417 12.85714249 32.14285751 32.1428575 32.14285751s32.14285751-12.85714249 32.14285664-32.14285751v-32.14285664h128.57142921c32.14285751 0 64.28571415 25.71428583 64.28571415 64.28571415v64.28571417z m-610.71428583 372.85714247h64.28571415c19.28571417 0 32.14285751-12.85714249 32.14285753-32.14285664s-12.85714249-32.14285751-32.14285753-32.14285751h-64.28571415c-19.28571417 0-32.14285751 12.85714249-32.14285751 32.14285751s12.85714249 32.14285751 32.14285751 32.14285665z m385.71428583-122.14285664h64.28571417c19.28571417 0 32.14285751-12.85714249 32.14285751-32.14285751s-12.85714249-32.14285751-32.14285751-32.14285664h-64.28571415c-19.28571417 0-32.14285751 12.85714249-32.14285753 32.14285664s12.85714249 32.14285751 32.14285753 32.14285751z m-385.71428583 0h64.28571415c19.28571417 0 32.14285751-12.85714249 32.14285753-32.14285751s-12.85714249-32.14285751-32.14285753-32.14285664h-64.28571415c-19.28571417 0-32.14285751 12.85714249-32.14285751 32.14285664s12.85714249 32.14285751 32.14285751 32.14285751z m385.71428583 122.14285665h64.28571417c19.28571417 0 32.14285751-12.85714249 32.14285751-32.14285665s-12.85714249-32.14285751-32.14285751-32.14285751h-64.28571415c-19.28571417 0-32.14285751 12.85714249-32.14285753 32.14285751s12.85714249 32.14285751 32.14285753 32.14285665z" p-id="1069"></path></svg>

After

Width:  |  Height:  |  Size: 3.3 KiB

+1
View File
@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1566035680909" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3601" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M1002.0848 744.672l-33.568 10.368c0.96 7.264 2.144 14.304 2.144 21.76 0 7.328-1.184 14.432-2.368 21.568l33.792 10.56c7.936 2.24 14.496 7.616 18.336 14.752 3.84 7.328 4.672 15.808 1.952 23.552-5.376 16-23.168 24.672-39.936 19.68l-34.176-10.624c-7.136 12.8-15.776 24.672-26.208 35.2l20.8 27.488a28.96 28.96 0 0 1 5.824 22.816 29.696 29.696 0 0 1-12.704 19.616 32.544 32.544 0 0 1-44.416-6.752l-20.8-27.552c-13.696 6.56-28.192 11.2-43.008 13.888v33.632c0 16.736-14.112 30.432-31.648 30.432-17.6 0-31.872-13.696-31.872-30.432v-33.632a167.616 167.616 0 0 1-42.88-13.888l-20.928 27.552c-10.72 13.76-30.08 16.64-44.288 6.752a29.632 29.632 0 0 1-12.704-19.616 29.28 29.28 0 0 1 5.696-22.816l20.896-27.808a166.72 166.72 0 0 1-27.008-34.688l-33.376 10.432c-16.8 5.184-34.56-3.552-39.936-19.616a29.824 29.824 0 0 1 20.224-38.24l33.472-10.432c-0.8-7.264-2.016-14.304-2.016-21.824 0-7.36 1.184-14.496 2.304-21.632l-33.792-10.368c-16.672-5.376-25.632-22.496-20.224-38.432 5.376-16 23.136-24.672 39.936-19.68l34.016 10.752c7.328-12.672 15.84-24.8 26.336-35.328l-20.8-27.552a29.44 29.44 0 0 1 6.944-42.432 32.704 32.704 0 0 1 44.384 6.752l20.832 27.616c13.696-6.432 28.224-11.2 43.104-13.952v-33.568c0-16.736 14.048-30.432 31.648-30.432 17.536 0 31.808 13.568 31.808 30.432v33.504c15.072 2.688 29.344 7.808 42.848 14.016l20.992-27.616a32.48 32.48 0 0 1 44.224-6.752 29.568 29.568 0 0 1 7.136 42.432l-21.024 27.808c10.432 10.432 19.872 21.888 27.04 34.752l33.376-10.432c16.768-5.12 34.56 3.68 39.936 19.68 5.536 15.936-3.712 33.056-20.32 38.304z m-206.016-74.432c-61.344 0-111.136 47.808-111.136 106.56 0 58.88 49.792 106.496 111.136 106.496 61.312 0 111.104-47.616 111.104-106.496 0-58.752-49.792-106.56-111.104-106.56z" p-id="3602"></path><path d="M802.7888 57.152h-76.448c0-22.08-21.024-38.24-42.848-38.24H39.3968a39.68 39.68 0 0 0-39.36 40.032v795.616s41.888 120.192 110.752 120.192H673.2848a227.488 227.488 0 0 1-107.04-97.44H117.6368s-40.608-13.696-40.608-41.248l470.304-0.256 1.664 3.36a227.68 227.68 0 0 1-12.64-73.632c0-60.576 24-118.624 66.88-161.44a228.352 228.352 0 0 1 123.552-63.392l-3.2 0.288 2.144-424.672h38.208l0.576 421.024c27.04 0 52.672 4.8 76.64 13.344V101.536c0.032 0-6.304-44.384-38.368-44.384zM149.7648 514.336H72.3888v-77.408H149.7648v77.408z m0-144.32H72.3888v-77.44H149.7648v77.44z m0-137.248H72.3888v-77.44H149.7648v77.44z m501.856 281.568H206.0848v-77.408h445.536v77.408z m0-144.32H206.0848v-77.44h445.536v77.44z m0-137.248H206.0848v-77.44h445.536v77.44z" p-id="3603"></path></svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

@@ -0,0 +1 @@
<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M71.984 44.815H115.9L71.984 9.642v35.173zM16.094.05h63.875l47.906 38.37v76.74c0 3.392-1.682 6.645-4.677 9.044-2.995 2.399-7.056 3.746-11.292 3.746H16.094c-4.236 0-8.297-1.347-11.292-3.746-2.995-2.399-4.677-5.652-4.677-9.044V12.84C.125 5.742 7.23.05 16.094.05zm71.86 102.32V89.58h-71.86v12.79h71.86zm23.952-25.58V64H16.094v12.79h95.812z"/></svg>

After

Width:  |  Height:  |  Size: 418 B

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1569915748289" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3062" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M768.35456 416a256 256 0 1 0-512 0 192 192 0 1 0 0 384v64a256 256 0 0 1-58.88-505.216 320.128 320.128 0 0 1 629.76 0A256.128 256.128 0 0 1 768.35456 864v-64a192 192 0 0 0 0-384z m-512 384h64v64H256.35456v-64z m448 0h64v64h-64v-64z" fill="#333333" p-id="3063"></path><path d="M539.04256 845.248V512.192a32.448 32.448 0 0 0-32-32.192c-17.664 0-32 14.912-32 32.192v333.056l-36.096-36.096a32.192 32.192 0 0 0-45.056 0.192 31.616 31.616 0 0 0-0.192 45.056l90.88 90.944a31.36 31.36 0 0 0 22.528 9.088 30.08 30.08 0 0 0 22.4-9.088l90.88-90.88a32.192 32.192 0 0 0-0.192-45.12 31.616 31.616 0 0 0-45.056-0.192l-36.096 36.096z" fill="#333333" p-id="3064"></path></svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

+1
View File
@@ -0,0 +1 @@
<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M73.137 29.08h-9.209 29.7L63.886.093 34.373 29.08h20.49v27.035H27.238v17.948h27.625v27.133h18.274V74.063h27.41V56.115h-27.41V29.08zm-9.245 98.827l27.518-26.711H36.59l27.302 26.71zM.042 64.982l27.196 27.029V38.167L.042 64.982zm100.505-26.815V92.01l27.41-27.029-27.41-26.815z"/></svg>

After

Width:  |  Height:  |  Size: 356 B

+1
View File
@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1566036347051" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5853" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M832 128H192a64.19 64.19 0 0 0-64 64v640a64.19 64.19 0 0 0 64 64h640a64.19 64.19 0 0 0 64-64V192a64.19 64.19 0 0 0-64-64z m0 703.89l-0.11 0.11H192.11l-0.11-0.11V768h640zM832 544H720L605.6 696.54 442.18 435.07 333.25 544H192v-64h114.75l147.07-147.07L610.4 583.46 688 480h144z m0-288H192v-63.89l0.11-0.11h639.78l0.11 0.11z" p-id="5854"></path></svg>

After

Width:  |  Height:  |  Size: 724 B

+1
View File
@@ -0,0 +1 @@
<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M106.133 67.2a4.797 4.797 0 0 0-4.8 4.8c0 .187.014.36.027.533h-.027V118.4H9.6V26.667h50.133c2.654 0 4.8-2.147 4.8-4.8 0-2.654-2.146-4.8-4.8-4.8H9.6a9.594 9.594 0 0 0-9.6 9.6V118.4c0 5.307 4.293 9.6 9.6 9.6h91.733c5.307 0 9.6-4.293 9.6-9.6V72.533h-.026c.013-.173.026-.346.026-.533 0-2.653-2.146-4.8-4.8-4.8z"/><path d="M125.16 13.373L114.587 2.8c-3.747-3.747-9.854-3.72-13.6.027l-52.96 52.96a4.264 4.264 0 0 0-.907 1.36L33.813 88.533c-.746 1.76-.226 3.534.907 4.68 1.133 1.147 2.92 1.667 4.693.92l31.4-13.293c.507-.213.96-.52 1.36-.907l52.96-52.96c3.747-3.746 3.774-9.853.027-13.6zM66.107 72.4l-18.32 7.76 7.76-18.32L92.72 24.667l10.56 10.56L66.107 72.4zm52.226-52.227l-8.266 8.267-10.56-10.56 8.266-8.267.027-.026 10.56 10.56-.027.026z"/></svg>

After

Width:  |  Height:  |  Size: 818 B

@@ -0,0 +1 @@
<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M88.883 119.565c-7.284 0-19.434 2.495-21.333 8.25v.127c-4.232.13-5.222 0-7.108 0-1.895-5.76-14.045-8.256-21.333-8.256H0V0h42.523c9.179 0 17.109 5.47 21.47 13.551C68.352 5.475 76.295 0 85.478 0H128v119.57l-39.113-.005h-.004zM60.442 24.763c0-9.651-8.978-16.507-17.777-16.507H7.108V111.43H39.11c7.054-.14 18.177.082 21.333 6.12v-4.628c-.134-5.722-.004-13.522 0-13.832V27.413l.004-2.655-.004.005zm60.442-16.517h-35.55c-8.802 0-17.78 6.856-17.78 16.493v74.259c.004.32.138 8.115 0 13.813v4.627c3.155-6.022 14.279-6.26 21.333-6.114h32V8.25l-.003-.005z"/></svg>

After

Width:  |  Height:  |  Size: 627 B

+1
View File
@@ -0,0 +1 @@
<svg width="128" height="96" xmlns="http://www.w3.org/2000/svg"><path d="M64.125 56.975L120.188.912A12.476 12.476 0 0 0 115.5 0h-103c-1.588 0-3.113.3-4.513.838l56.138 56.137z"/><path d="M64.125 68.287l-62.3-62.3A12.42 12.42 0 0 0 0 12.5v71C0 90.4 5.6 96 12.5 96h103c6.9 0 12.5-5.6 12.5-12.5v-71a12.47 12.47 0 0 0-1.737-6.35L64.125 68.287z"/></svg>

After

Width:  |  Height:  |  Size: 347 B

+1
View File
@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1746590936918" class="icon" viewBox="0 0 1194 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5378" xmlns:xlink="http://www.w3.org/1999/xlink" width="233.203125" height="200"><path d="M1151.9144 325.11999969V89.12a57.04000031 57.04000031 0 0 0-28.8-49.44 58.15999969 58.15999969 0 0 0-57.76000031 0 57.04000031 57.04000031 0 0 0-28.8 49.44v235.99999969c0.24 84.31999969-33.6 152.56000031-94.08 212.00000062-60.07999969 59.83999969-141.84 80.64-227.04 80.4H225.91440031L388.07439969 457.11999969a56.80000031 56.80000031 0 0 0 12.40000031-62.16 57.76000031 57.76000031 0 0 0-94.00000031-18.63999938L48.8744 631.20000031a56.88 56.88 0 0 0 0 80.79999938l264.96 262.56a58.08 58.08 0 0 0 96.55999969-25.59999938 56.80000031 56.80000031 0 0 0-14.95999969-55.2L232.07439969 731.67999969h483.44000062c116.56000031 0 226.15999969-32.08000031 308.64-113.76 82.15999969-80.80000031 128.23999969-178.15999969 127.83999938-292.87999969" p-id="5379"></path></svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

@@ -0,0 +1 @@
<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M96.258 57.462h31.421C124.794 27.323 100.426 2.956 70.287.07v31.422a32.856 32.856 0 0 1 25.971 25.97zm-38.796-25.97V.07C27.323 2.956 2.956 27.323.07 57.462h31.422a32.856 32.856 0 0 1 25.97-25.97zm12.825 64.766v31.421c30.46-2.885 54.507-27.253 57.713-57.712H96.579c-2.886 13.466-13.146 23.726-26.292 26.291zM31.492 70.287H.07c2.886 30.46 27.253 54.507 57.713 57.713V96.579c-13.466-2.886-23.726-13.146-26.291-26.292z"/></svg>

After

Width:  |  Height:  |  Size: 497 B

+1
View File
@@ -0,0 +1 @@
<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M78.208 16.576v8.384h38.72v5.376h-38.72v8.704h38.72v5.376h-38.72v8.576h38.72v5.376h-38.72v8.576h38.72v5.376h-38.72v8.576h38.72v5.376h-38.72v8.512h38.72v5.376h-38.72v11.136H128v-94.72H78.208zM0 114.368L72.128 128V0L0 13.632v100.736z"/><path d="M28.672 82.56h-11.2l14.784-23.488-14.08-22.592h11.52l8.192 14.976 8.448-14.976h11.136l-14.08 22.208L58.368 82.56H46.656l-8.768-15.68z"/></svg>

After

Width:  |  Height:  |  Size: 459 B

@@ -0,0 +1 @@
<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M49.217 41.329l-.136-35.24c-.06-2.715-2.302-4.345-5.022-4.405h-3.65c-2.712-.06-4.866 2.303-4.806 5.016l.152 19.164-24.151-23.79a6.698 6.698 0 0 0-9.499 0 6.76 6.76 0 0 0 0 9.526l23.93 23.713-18.345.074c-2.712-.069-5.228 1.813-5.64 5.02v3.462c.069 2.721 2.31 4.97 5.022 5.03l35.028-.207c.052.005.087.025.133.025l2.457.054a4.626 4.626 0 0 0 3.436-1.38c.88-.874 1.205-2.096 1.169-3.462l-.262-2.465c0-.048.182-.081.182-.136h.002zm52.523 51.212l18.32-.073c2.713.06 5.224-1.609 5.64-4.815v-3.462c-.068-2.722-2.317-4.97-5.021-5.04l-34.58.21c-.053 0-.086-.021-.138-.021l-2.451-.06a4.64 4.64 0 0 0-3.445 1.381c-.885.868-1.201 2.094-1.174 3.46l.27 2.46c.005.06-.177.095-.177.141l.141 34.697c.069 2.713 2.31 4.338 5.022 4.397l3.45.006c2.705.062 4.867-2.31 4.8-5.026l-.153-18.752 24.151 23.946a6.69 6.69 0 0 0 9.494 0 6.747 6.747 0 0 0 0-9.523L101.74 92.54v.001zM48.125 80.662a4.636 4.636 0 0 0-3.437-1.382l-2.457.06c-.05 0-.082.022-.137.022l-35.025-.21c-2.712.07-4.957 2.318-5.022 5.04v3.462c.409 3.206 2.925 4.874 5.633 4.814l18.554.06-24.132 23.928c-2.62 2.626-2.62 6.89 0 9.524a6.694 6.694 0 0 0 9.496 0l24.155-23.79-.155 18.866c-.06 2.722 2.094 5.093 4.801 5.025h3.65c2.72-.069 4.962-1.685 5.022-4.406l.141-34.956c0-.05-.182-.082-.182-.136l.262-2.46c.03-1.366-.286-2.592-1.166-3.46h-.001zM80.08 47.397a4.62 4.62 0 0 0 3.443 1.374l2.45-.054c.055 0 .088-.02.143-.028l35.08.21c2.712-.062 4.953-2.312 5.021-5.033l.009-3.463c-.417-3.211-2.937-5.084-5.64-5.025l-18.615-.073 23.917-23.715c2.63-2.623 2.63-6.879.008-9.513a6.691 6.691 0 0 0-9.494 0L92.251 26.016l.155-19.312c.065-2.713-2.097-5.085-4.802-5.025h-3.45c-2.713.069-4.954 1.693-5.022 4.406l-.139 35.247c0 .054.18.088.18.136l-.267 2.465c-.028 1.366.288 2.588 1.174 3.463v.001z"/></svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

@@ -0,0 +1 @@
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="128" height="128"><defs><style/></defs><path d="M512 128q69.675 0 135.51 21.163t115.498 54.997 93.483 74.837 73.685 82.006 51.67 74.837 32.17 54.827L1024 512q-2.347 4.992-6.315 13.483T998.87 560.17t-31.658 51.669-44.331 59.99-56.832 64.34-69.504 60.16-82.347 51.5-94.848 34.687T512 896q-69.675 0-135.51-21.163t-115.498-54.826-93.483-74.326-73.685-81.493-51.67-74.496-32.17-54.997L0 513.707q2.347-4.992 6.315-13.483t18.816-34.816 31.658-51.84 44.331-60.33 56.832-64.683 69.504-60.331 82.347-51.84 94.848-34.816T512 128.085zm0 85.333q-46.677 0-91.648 12.331t-81.152 31.83-70.656 47.146-59.648 54.485-48.853 57.686-37.675 52.821-26.325 43.99q12.33 21.674 26.325 43.52t37.675 52.351 48.853 57.003 59.648 53.845T339.2 767.02t81.152 31.488T512 810.667t91.648-12.331 81.152-31.659 70.656-46.848 59.648-54.186 48.853-57.344 37.675-52.651T927.957 512q-12.33-21.675-26.325-43.648t-37.675-52.65-48.853-57.345-59.648-54.186-70.656-46.848-81.152-31.659T512 213.334zm0 128q70.656 0 120.661 50.006T682.667 512 632.66 632.661 512 682.667 391.339 632.66 341.333 512t50.006-120.661T512 341.333zm0 85.334q-35.328 0-60.33 25.002T426.666 512t25.002 60.33T512 597.334t60.33-25.002T597.334 512t-25.002-60.33T512 426.666z"/></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

+1
View File
@@ -0,0 +1 @@
<svg width="128" height="64" xmlns="http://www.w3.org/2000/svg"><path d="M127.072 7.994c1.37-2.208.914-5.152-.914-6.87-2.056-1.717-4.797-1.226-6.396.982-.229.245-25.586 32.382-55.74 32.382-29.24 0-55.74-32.382-55.968-32.627-1.6-1.963-4.57-2.208-6.397-.49C-.17 3.086-.399 6.275 1.2 8.238c.457.736 5.94 7.36 14.62 14.72L4.17 35.96c-1.828 1.963-1.6 5.152.228 6.87.457.98 1.6 1.471 2.742 1.471s2.284-.49 3.198-1.472l12.564-13.983c5.94 4.416 13.021 8.587 20.788 11.53l-4.797 17.418c-.685 2.699.686 5.397 3.198 6.133h1.37c2.057 0 3.884-1.472 4.341-3.68L52.6 42.83c3.655.736 7.538 1.227 11.422 1.227 3.883 0 7.767-.49 11.422-1.227l4.797 17.173c.457 2.208 2.513 3.68 4.34 3.68.457 0 .914 0 1.143-.246 2.513-.736 3.883-3.434 3.198-6.133l-4.797-17.172c7.767-2.944 14.848-7.114 20.788-11.53l12.336 13.738c.913.981 2.056 1.472 3.198 1.472s2.284-.49 3.198-1.472c1.828-1.963 1.828-4.906.228-6.87l-11.65-13.001c9.366-7.36 14.849-14.474 14.849-14.474z"/></svg>

After

Width:  |  Height:  |  Size: 944 B

+1
View File
@@ -0,0 +1 @@
<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M84.068 23.784c-1.02 0-1.877-.32-2.572-.96a8.588 8.588 0 0 1-1.738-2.237 11.524 11.524 0 0 1-1.042-2.621c-.232-.895-.348-1.641-.348-2.238V0h.278c.834 0 1.622.085 2.363.256.742.17 1.645.575 2.711 1.214 1.066.64 2.363 1.535 3.892 2.686 1.53 1.15 3.453 2.664 5.77 4.54 2.502 2.045 4.494 3.771 5.977 5.178 1.483 1.406 2.618 2.6 3.406 3.58.787.98 1.274 1.812 1.46 2.494.185.682.277 1.278.277 1.79v2.046H84.068zM127.3 84.01c.278.682.464 1.535.556 2.558.093 1.023-.37 2.003-1.39 2.94-.463.427-.88.832-1.25 1.215-.372.384-.696.704-.974.96a6.69 6.69 0 0 1-.973.767l-11.816-10.741a44.331 44.331 0 0 0 1.877-1.535 31.028 31.028 0 0 1 1.737-1.406c1.112-.938 2.317-1.343 3.615-1.215 1.297.128 2.363.405 3.197.83.927.427 1.923 1.173 2.989 2.239 1.065 1.065 1.876 2.195 2.432 3.388zM78.23 95.902c2.038 0 3.752-.511 5.143-1.534l-26.969 25.83H18.037c-1.761 0-3.684-.47-5.77-1.407a24.549 24.549 0 0 1-5.838-3.709 21.373 21.373 0 0 1-4.518-5.306c-1.204-2.003-1.807-4.07-1.807-6.202V16.495c0-1.79.44-3.665 1.32-5.626A18.41 18.41 0 0 1 5.04 5.562a21.798 21.798 0 0 1 5.213-3.964C12.198.533 14.237 0 16.37 0h53.24v15.984c0 1.62.278 3.367.834 5.242a16.704 16.704 0 0 0 2.572 5.179c1.159 1.577 2.665 2.898 4.518 3.964 1.853 1.066 4.078 1.598 6.673 1.598h20.295v42.325L85.458 92.45c1.02-1.364 1.529-2.856 1.529-4.476 0-2.216-.857-4.113-2.572-5.69-1.714-1.577-3.776-2.366-6.186-2.366H26.1c-2.409 0-4.448.789-6.116 2.366-1.668 1.577-2.502 3.474-2.502 5.69 0 2.217.834 4.092 2.502 5.626 1.668 1.535 3.707 2.302 6.117 2.302h52.13zM26.1 47.951c-2.41 0-4.449.789-6.117 2.366-1.668 1.577-2.502 3.473-2.502 5.69 0 2.216.834 4.092 2.502 5.626 1.668 1.534 3.707 2.302 6.117 2.302h52.13c2.409 0 4.47-.768 6.185-2.302 1.715-1.534 2.572-3.41 2.572-5.626 0-2.217-.857-4.113-2.572-5.69-1.714-1.577-3.776-2.366-6.186-2.366H26.1zm52.407 64.063l1.807-1.663 3.476-3.196a479.75 479.75 0 0 0 4.587-4.284 500.757 500.757 0 0 1 5.004-4.667c3.985-3.666 8.48-7.758 13.485-12.276l11.677 10.741-13.485 12.404-5.004 4.603-4.587 4.22a179.46 179.46 0 0 0-3.267 3.068c-.88.853-1.367 1.322-1.46 1.407-.463.341-.973.703-1.529 1.087-.556.383-1.112.703-1.668.959-.556.256-1.413.575-2.572.959a83.5 83.5 0 0 1-3.545 1.087 72.2 72.2 0 0 1-3.475.895c-1.112.256-1.946.426-2.502.511-1.112.17-1.854.043-2.224-.383-.371-.426-.464-1.151-.278-2.174.092-.511.278-1.279.556-2.302.278-1.023.602-2.067.973-3.132l1.042-3.005c.325-.938.58-1.577.765-1.918a10.157 10.157 0 0 1 2.224-2.941z"/></svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

Some files were not shown because too many files have changed in this diff Show More