提交代码
10
.env.development
Normal file
@ -0,0 +1,10 @@
|
||||
# 页面标题
|
||||
VITE_APP_TITLE = 智慧换电管理系统
|
||||
|
||||
# 开发环境配置
|
||||
VITE_APP_ENV = 'development'
|
||||
|
||||
# 开发环境
|
||||
VITE_APP_BASE_API = 'http://192.168.5.213:9100/gateway'
|
||||
VITE_APP_BASE_API = '/dev-api'
|
||||
#VITE_APP_BASE_API = 'https://api.evo-techina.com'
|
||||
11
.env.production
Normal file
@ -0,0 +1,11 @@
|
||||
# 页面标题
|
||||
VITE_APP_TITLE = 若依管理系统
|
||||
|
||||
# 生产环境配置
|
||||
VITE_APP_ENV = 'production'
|
||||
|
||||
# 若依管理系统/生产环境
|
||||
#VITE_APP_BASE_API = '/prod-api'
|
||||
VITE_APP_BASE_API = 'https://api.evo-techina.com'
|
||||
# 是否在打包时开启压缩,支持 gzip 和 brotli
|
||||
VITE_BUILD_COMPRESS = gzip
|
||||
11
.env.staging
Normal file
@ -0,0 +1,11 @@
|
||||
# 页面标题
|
||||
VITE_APP_TITLE = 若依管理系统
|
||||
|
||||
# 生产环境配置
|
||||
VITE_APP_ENV = 'staging'
|
||||
|
||||
# 若依管理系统/生产环境
|
||||
VITE_APP_BASE_API = '/stage-api'
|
||||
|
||||
# 是否在打包时开启压缩,支持 gzip 和 brotli
|
||||
VITE_BUILD_COMPRESS = gzip
|
||||
21
.eslintrc.cjs
Normal file
@ -0,0 +1,21 @@
|
||||
/* eslint-env node */
|
||||
require("@rushstack/eslint-patch/modern-module-resolution");
|
||||
|
||||
//https://eslint.vuejs.org/rules/
|
||||
|
||||
module.exports = {
|
||||
root: true,
|
||||
extends: [
|
||||
// "plugin:vue/vue3-essential",
|
||||
// "plugin:vue/vue3-recommended",
|
||||
// "plugin:vue/vue3-strongly-recommended",
|
||||
// "eslint:recommended",
|
||||
// "@vue/eslint-config-typescript/recommended",
|
||||
// "@vue/eslint-config-prettier",
|
||||
// "@vue/eslint-config-prettier/skip-formatting", // 或者和esline分开执行prettier --write . --ignore-path .gitignore
|
||||
],
|
||||
rules: {
|
||||
// "vue/multi-word-component-names": "off", // 关闭名称校验
|
||||
// "vue/html-closing-bracket-newline": "off", // html 不换行
|
||||
},
|
||||
};
|
||||
5
.prettierrc.json
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"printWidth": 180,
|
||||
"jsxBracketSameLine": true,
|
||||
"htmlWhitespaceSensitivity": "ignore"
|
||||
}
|
||||
3
.vscode/settings.json
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"typescript.tsdk": "node_modules\\typescript\\lib"
|
||||
}
|
||||
21
LICENSE
Normal file
@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2023 黄龙
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
58
README.md
Normal file
@ -0,0 +1,58 @@
|
||||
# ruoyi-web-vue3-ts
|
||||
|
||||
本项目参考若依前后端分离版,前端由[若依 vue3](https://github.com/yangzongzhuan/RuoYi-Vue3)改写为 ts 版本,后端对[若依 V3.8.7](https://gitee.com/y_project/RuoYi-Vue)进行了修改[后端版本分支 vue3.ts.3.8.7](https://gitee.com/huanglgln/RuoYi-Vue),具体文档参见[若依官方文档](https://www.ruoyi.vip/)。本项目对部分代码做了优化,增加了 activiti7 工作流,icon 使用了 elementPLus icon,菜单对应 icon 需要重新配置,欢迎大家交流学习。
|
||||
|
||||
演示地址:[http://101.43.32.67:8090/login](http://101.43.32.67:8090/login)
|
||||
admin admin123
|
||||
工作流测试:zhangsan/admin123;lisi/admin123
|
||||
|
||||
## 功能说明
|
||||
|
||||
工作台:我的流程、我的待办、我的已办
|
||||
系统管理:用户管理、角色管理、菜单管理、部门管理、岗位管理、字典管理、参数设置、通知公告、日志管理
|
||||
系统监控:在线用户、定时任务、数据监控、服务监控、缓存监控、缓存列表
|
||||
系统工具:表单构建、代码生成、系统接口、文件预览
|
||||
流程管理:模型定义、流程部署、请假流程
|
||||
|
||||
## 页面展示
|
||||
|
||||
<img src="https://gitee.com/huanglgln/ruoyi-web-vue3-ts/raw/master/public/images/page1.png" width = "50%" align=center /><img src="https://gitee.com/huanglgln/ruoyi-web-vue3-ts/raw/master/public/images/page2.png" width = "50%" align=center />
|
||||
<img src="https://gitee.com/huanglgln/ruoyi-web-vue3-ts/raw/master/public/images/page3.png" width = "50%" align=center /><img src="https://gitee.com/huanglgln/ruoyi-web-vue3-ts/raw/master/public/images/page4.png" width = "50%" align=center />
|
||||
<img src="https://gitee.com/huanglgln/ruoyi-web-vue3-ts/raw/master/public/images/page5.png" width = "50%" align=center /><img src="https://gitee.com/huanglgln/ruoyi-web-vue3-ts/raw/master/public/images/page6.png" width = "50%" align=center />
|
||||
<img src="https://gitee.com/huanglgln/ruoyi-web-vue3-ts/raw/master/public/images/page7.png" width = "50%" align=center /><img src="https://gitee.com/huanglgln/ruoyi-web-vue3-ts/raw/master/public/images/page8.png" width = "50%" align=center />
|
||||
<img src="https://gitee.com/huanglgln/ruoyi-web-vue3-ts/raw/master/public/images/page9.png" width = "50%" align=center />
|
||||
|
||||
## 脚本命令
|
||||
|
||||
### 依赖安装(建议用 pnpm)
|
||||
|
||||
```sh
|
||||
npm install
|
||||
or (pnpm install)
|
||||
```
|
||||
|
||||
### 本地运行
|
||||
|
||||
```sh
|
||||
pnpm run dev
|
||||
```
|
||||
|
||||
### 代码检查(提交代码前执行,养成好习惯)
|
||||
|
||||
```sh
|
||||
pnpm run lint
|
||||
```
|
||||
|
||||
### 打包
|
||||
|
||||
```sh
|
||||
pnpm run build:prod
|
||||
```
|
||||
|
||||
### 支持作者
|
||||
|
||||

|
||||
|
||||
### 欢迎讨论
|
||||
|
||||
huanglgln@163.com
|
||||
10
env.d.ts
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
/// <reference types="vite/client" />
|
||||
|
||||
interface ImportMetaEnv {
|
||||
readonly VITE_BASE_URL: string;
|
||||
readonly VITE_PARAM: string;
|
||||
}
|
||||
|
||||
interface ImportMeta {
|
||||
readonly env: ImportMetaEnv;
|
||||
}
|
||||
14
index.html
Normal file
@ -0,0 +1,14 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<link rel="icon" href="/favicon.ico" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>智慧换电管理系统</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="app" style="background: #ebf5ff;"></div>
|
||||
<script type="module" src="/src/main.ts"></script>
|
||||
<script charset="utf-8" src="https://map.qq.com/api/js?v=2.exp&key=ZJABZ-FWV6G-F7ZQ2-QKQKL-KQ3I5-DNBT7"></script>
|
||||
</body>
|
||||
</html>
|
||||
80
package.json
Normal file
@ -0,0 +1,80 @@
|
||||
{
|
||||
"name": "yite",
|
||||
"version": "0.0.0",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
"build:prod": "run-p type-check build-only:prod",
|
||||
"build:stag": "run-p type-check build-only:stag",
|
||||
"preview": "vite preview --port 4173",
|
||||
"test:unit": "vitest --environment jsdom",
|
||||
"type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false",
|
||||
"build-only:prod": "vite build --mode production",
|
||||
"build-only:stag": "vite build --mode staging",
|
||||
"lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore"
|
||||
},
|
||||
"dependencies": {
|
||||
"@bpmn-io/properties-panel": "^3.18.1",
|
||||
"@element-plus/icons-vue": "^2.0.10",
|
||||
"@form-create/designer": "^3.1.5",
|
||||
"@form-create/element-ui": "^3.1.28",
|
||||
"@vue-flow/additional-components": "^1.3.3",
|
||||
"@vue-flow/core": "^1.6.0",
|
||||
"@vue-office/docx": "^1.6.0",
|
||||
"@vue-office/excel": "^1.6.4",
|
||||
"@vue-office/pdf": "^1.6.3",
|
||||
"@vueuse/components": "^10.9.0",
|
||||
"@vueuse/core": "^10.6.1",
|
||||
"@wangeditor/editor": "^5.1.23",
|
||||
"@wangeditor/editor-for-vue": "^5.1.12",
|
||||
"axios": "^1.2.3",
|
||||
"bpmn-js": "^17.2.1",
|
||||
"bpmn-js-properties-panel": "^5.13.0",
|
||||
"camunda-bpmn-js-behaviors": "^1.3.0",
|
||||
"camunda-bpmn-moddle": "^7.0.1",
|
||||
"diagram-js": "^14.1.0",
|
||||
"echarts": "^5.4.1",
|
||||
"element-plus": "^2.4.4",
|
||||
"file-saver": "^2.0.5",
|
||||
"fuse.js": "7.0.0",
|
||||
"gm-crypto": "^0.1.8",
|
||||
"js-cookie": "^3.0.5",
|
||||
"jsencrypt": "^3.3.2",
|
||||
"nprogress": "^0.2.0",
|
||||
"pinia": "^2.0.29",
|
||||
"qqmap": "^1.0.1",
|
||||
"screenfull": "^6.0.2",
|
||||
"splitpanes": "^3.1.5",
|
||||
"tiny-svg": "^4.0.0",
|
||||
"vue": "~3.3.4",
|
||||
"vue-cropper": "^1.1.1",
|
||||
"vue-demi": "^0.14.7",
|
||||
"vue-jsonp": "^2.0.0",
|
||||
"vue-qqmap": "^1.1.1",
|
||||
"vue-router": "^4.2.4",
|
||||
"zeebe-bpmn-moddle": "^1.1.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@rushstack/eslint-patch": "^1.2.0",
|
||||
"@types/file-saver": "^2.0.7",
|
||||
"@types/js-cookie": "^3.0.6",
|
||||
"@types/jsdom": "^16.2.15",
|
||||
"@types/node": "^16.18.108",
|
||||
"@types/nprogress": "^0.2.3",
|
||||
"@types/splitpanes": "^2.2.6",
|
||||
"@vitejs/plugin-vue": "^3.2.0",
|
||||
"@vue/eslint-config-prettier": "^7.0.0",
|
||||
"@vue/eslint-config-typescript": "^11.0.2",
|
||||
"@vue/tsconfig": "^0.1.3",
|
||||
"eslint": "^8.32.0",
|
||||
"eslint-plugin-vue": "^9.9.0",
|
||||
"jsdom": "^20.0.3",
|
||||
"less": "^4.2.0",
|
||||
"npm-run-all": "^4.1.5",
|
||||
"prettier": "^2.8.3",
|
||||
"typescript": "~5.0.4",
|
||||
"vite": "^4.5.2",
|
||||
"vite-plugin-svg-icons": "^2.0.1",
|
||||
"vitest": "^0.18.1",
|
||||
"vue-tsc": "^0.38.9"
|
||||
}
|
||||
}
|
||||
6782
pnpm-lock.yaml
Normal file
BIN
public/favicon.ico
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
11
src/App.d.ts
vendored
Normal file
@ -0,0 +1,11 @@
|
||||
declare module "*.vue" {
|
||||
import { ComponentOptions } from "vue";
|
||||
const componentOptions: ComponentOptions;
|
||||
export default componentOptions;
|
||||
}
|
||||
|
||||
declare const qq: any;
|
||||
// declare module 'qqmap'{
|
||||
// import QQMap from 'qqmap'
|
||||
// export default qqmap
|
||||
// }
|
||||
88
src/App.vue
Normal file
@ -0,0 +1,88 @@
|
||||
<script setup lang="ts" name="App">
|
||||
import { ref,watch } from 'vue'
|
||||
import { RouterView } from 'vue-router'
|
||||
import { getToken } from '@/utils/auth'
|
||||
import { checktoken } from '@/api/login'
|
||||
import appStore from "@/stores/app";
|
||||
import { ElMessage } from 'element-plus'
|
||||
import Login from './views/components/login.vue'
|
||||
|
||||
const TIEM = 1000*60*10
|
||||
let openpop = ref(false)
|
||||
|
||||
watch(() => appStore().isEffecti,(v) => {
|
||||
openpop.value = false
|
||||
if(!v && getToken()){
|
||||
openpop.value = true
|
||||
}
|
||||
})
|
||||
|
||||
watch(() => appStore().loginPage,(v) => {
|
||||
if(v){
|
||||
openpop.value = false
|
||||
}
|
||||
})
|
||||
|
||||
setInterval(() => {
|
||||
if(getToken() && !openpop.value){
|
||||
checktoken({
|
||||
token:getToken() as string
|
||||
}).then(rps => {
|
||||
if(rps.code != 1000){
|
||||
ElMessage({
|
||||
type: 'warning',
|
||||
message: '登录失效请重新登录'
|
||||
})
|
||||
openpop.value = true
|
||||
}
|
||||
})
|
||||
}
|
||||
}, TIEM)
|
||||
|
||||
function update() {
|
||||
openpop.value = false
|
||||
//location.reload()
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<el-dialog
|
||||
v-model="openpop"
|
||||
title=""
|
||||
width="800px"
|
||||
append-to-body
|
||||
class="logingpop"
|
||||
:show-close="false"
|
||||
:close-on-click-modal="false"
|
||||
>
|
||||
<login type="2" @update="update" />
|
||||
<!-- <template #footer>
|
||||
<div class="dialog-footer">
|
||||
<el-button type="primary" @click="">登录</el-button>
|
||||
</div>
|
||||
</template> -->
|
||||
</el-dialog>
|
||||
<RouterView />
|
||||
</template>
|
||||
|
||||
<style>
|
||||
@import "./assets/main.css";
|
||||
/* 自定义滚动条轨道 */
|
||||
::-webkit-scrollbar-track {
|
||||
background-color: #f1f1f1;
|
||||
}
|
||||
|
||||
/* 自定义滚动条的滑块 */
|
||||
::-webkit-scrollbar-thumb {
|
||||
background-color: #888;
|
||||
}
|
||||
|
||||
/* 设置滚动条的宽度 */
|
||||
::-webkit-scrollbar {
|
||||
width: 5px;
|
||||
}
|
||||
.logingpop {
|
||||
/* 设置背景透明 */
|
||||
background-color: transparent !important;
|
||||
}
|
||||
</style>
|
||||
46
src/api/common.ts
Normal file
@ -0,0 +1,46 @@
|
||||
import server from '@/utils/request'
|
||||
|
||||
|
||||
//单文件上传
|
||||
//gateway/resource/file/upload
|
||||
|
||||
interface File{
|
||||
user:String,
|
||||
isAlterRandomName:Boolean,
|
||||
file:File
|
||||
}
|
||||
|
||||
export function updateyys(data:File) {
|
||||
|
||||
|
||||
// let formData = new FormData()
|
||||
// formData.append('user',data.user)
|
||||
// formData.append('isAlterRandomName',data.isAlterRandomName)
|
||||
// formData.append('file', data.file)
|
||||
|
||||
|
||||
// return server.request({
|
||||
// headers:{
|
||||
// 'Content-Type':'multipart/form-data',
|
||||
// },
|
||||
// url: '/resource/file/upload',
|
||||
// method: 'post',
|
||||
// data:formData
|
||||
// })
|
||||
}
|
||||
|
||||
//查询区划
|
||||
interface Query{
|
||||
admdvsNo?:String
|
||||
admdvsName?:String
|
||||
level?:String|Number
|
||||
isTree?:String|Number //是否返回树,1-是,0-否
|
||||
}
|
||||
|
||||
export function getArea(params:Query) {
|
||||
return server.request({
|
||||
url: '/resource/admdvs/treelist',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
16
src/api/form.ts
Normal file
@ -0,0 +1,16 @@
|
||||
import type { FormContext, FormValidateCallback, FormValidationResult } from "element-plus";
|
||||
import type { App } from "vue";
|
||||
|
||||
export type ElForm = FormContext &
|
||||
App & {
|
||||
readonly validate: (callback?: FormValidateCallback | undefined) => FormValidationResult;
|
||||
};
|
||||
|
||||
export type QueryParam = {
|
||||
pageNum: number;
|
||||
pageSize: number;
|
||||
beginTime?: string;
|
||||
endTime?: string;
|
||||
orderByColumn?: string;
|
||||
isAsc?: string;
|
||||
};
|
||||
96
src/api/login.ts
Normal file
@ -0,0 +1,96 @@
|
||||
import server from "@/utils/request";
|
||||
import type { UserInfoObj } from "./system/user";
|
||||
|
||||
export type LoginReq = {
|
||||
username: string;
|
||||
password: string;
|
||||
confirmPassword?: string;
|
||||
rememberMe?: boolean;
|
||||
code?: string;
|
||||
uuid?: string;
|
||||
};
|
||||
|
||||
// 登录方法
|
||||
export function login(data: LoginReq) {
|
||||
return server.requestT<{ token: string }>({
|
||||
url: "/oauth2/login/oauthlogin",
|
||||
headers: {
|
||||
Authorization: "Basic eXRoZDpZVEhEMTIz",
|
||||
isToken: false,
|
||||
},
|
||||
method: "post",
|
||||
data: data,
|
||||
},false);
|
||||
}
|
||||
|
||||
// 注册方法
|
||||
export function register(data: LoginReq) {
|
||||
return server.request({
|
||||
url: "/register",
|
||||
headers: {
|
||||
isToken: false,
|
||||
},
|
||||
method: "post",
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 获取用户详细信息
|
||||
export function getInfo() {
|
||||
return server.requestT<{
|
||||
user: UserInfoObj;
|
||||
roles: string[];
|
||||
permissions: string[];
|
||||
}>({
|
||||
url: "/getInfo",
|
||||
method: "get",
|
||||
});
|
||||
}
|
||||
|
||||
// 退出方法
|
||||
export function logout() {
|
||||
return server.request({
|
||||
url: "/oauth2/login/oauthlogout",
|
||||
method: "DELETE",
|
||||
});
|
||||
}
|
||||
|
||||
// 获取验证码
|
||||
export function getCodeImg() {
|
||||
return server.requestT<{
|
||||
captchaEnabled: boolean;
|
||||
img: string;
|
||||
uuid: string;
|
||||
}>({
|
||||
url: "/oauth2/captcha/get",
|
||||
headers: {
|
||||
isToken: false,
|
||||
},
|
||||
method: "get",
|
||||
timeout: 20000,
|
||||
},false);
|
||||
}
|
||||
|
||||
//验证验证码是否有效
|
||||
interface Code {
|
||||
code: string | number;
|
||||
}
|
||||
export function checkcaptcha(data: Code) {
|
||||
return server.requestT({
|
||||
url: "/oauth2/captcha/check",
|
||||
headers: {
|
||||
isToken: false,
|
||||
},
|
||||
method: "post",
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
//检查token 是否失效
|
||||
export function checktoken(data: {token:string}) {
|
||||
return server.requestT({
|
||||
url: "/oauth2/login/checktoken",
|
||||
method: "post",
|
||||
data: data
|
||||
});
|
||||
}
|
||||
27
src/api/menu.ts
Normal file
@ -0,0 +1,27 @@
|
||||
import server from "@/utils/request";
|
||||
|
||||
export type MenuRouter = {
|
||||
name: string;
|
||||
path: string;
|
||||
hidden?: boolean;
|
||||
redirect?: string;
|
||||
component?: string;
|
||||
alwaysShow?: boolean;
|
||||
meta: {
|
||||
title: string;
|
||||
icon?: string;
|
||||
noCache?: boolean;
|
||||
link?: string;
|
||||
};
|
||||
children?: MenuRouter[];
|
||||
};
|
||||
|
||||
// 获取路由
|
||||
export const getRouters = () => {
|
||||
return server.request<MenuRouter[]>({
|
||||
url:"/resource/menu/tree", //"/getRouters",
|
||||
method: "get",
|
||||
})
|
||||
}
|
||||
|
||||
//'/gateway/resource/menu/tree'
|
||||
81
src/api/monitor/cache.ts
Normal file
@ -0,0 +1,81 @@
|
||||
import server from "@/utils/request";
|
||||
export type CacheObj = {
|
||||
cacheName: string;
|
||||
cacheKey: string;
|
||||
cacheValue?: string;
|
||||
};
|
||||
|
||||
export type CacheInfoObj = {
|
||||
info?: {
|
||||
redis_version?: string;
|
||||
redis_mode?: string;
|
||||
tcp_port?: string;
|
||||
connected_clients?: string;
|
||||
uptime_in_days?: string;
|
||||
used_memory_human?: string;
|
||||
used_cpu_user_children?: string;
|
||||
maxmemory_human?: string;
|
||||
aof_enabled?: string;
|
||||
rdb_last_bgsave_status?: string;
|
||||
instantaneous_input_kbps?: string;
|
||||
instantaneous_output_kbps?: string;
|
||||
};
|
||||
dbSize?: string;
|
||||
commandStats?: string;
|
||||
};
|
||||
|
||||
// 查询缓存详细
|
||||
export function getCache() {
|
||||
return server.request<CacheInfoObj>({
|
||||
url: "/monitor/cache",
|
||||
method: "get",
|
||||
});
|
||||
}
|
||||
|
||||
// 查询缓存名称列表
|
||||
export function listCacheName() {
|
||||
return server.request<string[]>({
|
||||
url: "/monitor/cache/getNames",
|
||||
method: "get",
|
||||
});
|
||||
}
|
||||
|
||||
// 查询缓存键名列表
|
||||
export function listCacheKey(cacheName: string) {
|
||||
return server.request<string[]>({
|
||||
url: "/monitor/cache/getKeys/" + cacheName,
|
||||
method: "get",
|
||||
});
|
||||
}
|
||||
|
||||
// 查询缓存内容
|
||||
export function getCacheValue(cacheName: string, cacheKey: string) {
|
||||
return server.request<CacheObj>({
|
||||
url: "/monitor/cache/getValue/" + cacheName + "/" + cacheKey,
|
||||
method: "get",
|
||||
});
|
||||
}
|
||||
|
||||
// 清理指定名称缓存
|
||||
export function clearCacheName(cacheName: string) {
|
||||
return server.request({
|
||||
url: "/monitor/cache/clearCacheName/" + cacheName,
|
||||
method: "delete",
|
||||
});
|
||||
}
|
||||
|
||||
// 清理指定键名缓存
|
||||
export function clearCacheKey(cacheKey: string) {
|
||||
return server.request({
|
||||
url: "/monitor/cache/clearCacheKey/" + cacheKey,
|
||||
method: "delete",
|
||||
});
|
||||
}
|
||||
|
||||
// 清理全部缓存
|
||||
export function clearCacheAll() {
|
||||
return server.request({
|
||||
url: "/monitor/cache/clearCacheAll",
|
||||
method: "delete",
|
||||
});
|
||||
}
|
||||
81
src/api/monitor/job.ts
Normal file
@ -0,0 +1,81 @@
|
||||
import server from "@/utils/request";
|
||||
export type JobObj = {
|
||||
jobId: string;
|
||||
jobName?: string;
|
||||
jobGroup?: string;
|
||||
invokeTarget?: string;
|
||||
cronExpression?: string;
|
||||
misfirePolicy?: number;
|
||||
concurrent?: number;
|
||||
status?: string;
|
||||
createTime?: string;
|
||||
nextValidTime?: string;
|
||||
};
|
||||
// 查询定时任务调度列表
|
||||
export function listJob(query: JobObj & { pageNum: number; pageSize: number }) {
|
||||
return server.request<JobObj>({
|
||||
url: "/monitor/job/list",
|
||||
method: "get",
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
// 查询定时任务调度详细
|
||||
export function getJob(jobId: string) {
|
||||
return server.request<JobObj>({
|
||||
url: "/monitor/job/" + jobId,
|
||||
method: "get",
|
||||
});
|
||||
}
|
||||
|
||||
// 新增定时任务调度
|
||||
export function addJob(data: JobObj) {
|
||||
return server.request({
|
||||
url: "/monitor/job",
|
||||
method: "post",
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 修改定时任务调度
|
||||
export function updateJob(data: JobObj) {
|
||||
return server.request({
|
||||
url: "/monitor/job",
|
||||
method: "put",
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 删除定时任务调度
|
||||
export function delJob(jobId: string) {
|
||||
return server.request({
|
||||
url: "/monitor/job/" + jobId,
|
||||
method: "delete",
|
||||
});
|
||||
}
|
||||
|
||||
// 任务状态修改
|
||||
export function changeJobStatus(jobId: string, status: string) {
|
||||
const data = {
|
||||
jobId,
|
||||
status,
|
||||
};
|
||||
return server.request({
|
||||
url: "/monitor/job/changeStatus",
|
||||
method: "put",
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 定时任务立即执行一次
|
||||
export function runJob(jobId: string, jobGroup: string) {
|
||||
const data = {
|
||||
jobId,
|
||||
jobGroup,
|
||||
};
|
||||
return server.request({
|
||||
url: "/monitor/job/run",
|
||||
method: "put",
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
36
src/api/monitor/jobLog.ts
Normal file
@ -0,0 +1,36 @@
|
||||
import server from "@/utils/request";
|
||||
import type { QueryParam } from "../form";
|
||||
export type JobLogObj = {
|
||||
jobLogId: string;
|
||||
jobName?: string;
|
||||
jobGroup?: string;
|
||||
createTime?: string;
|
||||
invokeTarget?: string;
|
||||
jobMessage?: string;
|
||||
status?: string;
|
||||
exceptionInfo?: string;
|
||||
};
|
||||
// 查询调度日志列表
|
||||
export function listJobLog(query: JobLogObj & QueryParam) {
|
||||
return server.request<JobLogObj>({
|
||||
url: "/monitor/jobLog/list",
|
||||
method: "get",
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
// 删除调度日志
|
||||
export function delJobLog(jobLogId: string) {
|
||||
return server.request({
|
||||
url: "/monitor/jobLog/" + jobLogId,
|
||||
method: "delete",
|
||||
});
|
||||
}
|
||||
|
||||
// 清空调度日志
|
||||
export function cleanJobLog() {
|
||||
return server.request({
|
||||
url: "/monitor/jobLog/clean",
|
||||
method: "delete",
|
||||
});
|
||||
}
|
||||
51
src/api/monitor/logininfor.ts
Normal file
@ -0,0 +1,51 @@
|
||||
import server from "@/utils/request";
|
||||
import type { QueryParam } from "../form";
|
||||
|
||||
export type LoginLogObj = {
|
||||
browser?: string;
|
||||
createBy?: string;
|
||||
createTime?: string;
|
||||
infoId: string;
|
||||
ipaddr?: string;
|
||||
loginLocation?: string;
|
||||
loginTime?: string;
|
||||
msg?: string;
|
||||
os?: string;
|
||||
remark?: string;
|
||||
status?: string;
|
||||
updateBy?: string;
|
||||
updateTime?: string;
|
||||
userName?: string;
|
||||
};
|
||||
// 查询登录日志列表
|
||||
export function list(query: LoginLogObj & QueryParam) {
|
||||
return server.request<LoginLogObj>({
|
||||
url: "/monitor/logininfor/list",
|
||||
method: "get",
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
// 删除登录日志
|
||||
export function delLogininfor(infoId: string) {
|
||||
return server.request({
|
||||
url: "/monitor/logininfor/" + infoId,
|
||||
method: "delete",
|
||||
});
|
||||
}
|
||||
|
||||
// 解锁用户登录状态
|
||||
export function unlockLogininfor(userName: string) {
|
||||
return server.request({
|
||||
url: "/monitor/logininfor/unlock/" + userName,
|
||||
method: "get",
|
||||
});
|
||||
}
|
||||
|
||||
// 清空登录日志
|
||||
export function cleanLogininfor() {
|
||||
return server.request({
|
||||
url: "/monitor/logininfor/clean",
|
||||
method: "delete",
|
||||
});
|
||||
}
|
||||
22
src/api/monitor/online.ts
Normal file
@ -0,0 +1,22 @@
|
||||
import server from "@/utils/request";
|
||||
export type OnlineInfoObj = {
|
||||
ipaddr?: string;
|
||||
userName?: string;
|
||||
tokenId: string;
|
||||
};
|
||||
// 查询在线用户列表
|
||||
export function list(query: OnlineInfoObj & { pageNum: number; pageSize: number }) {
|
||||
return server.request<OnlineInfoObj>({
|
||||
url: "/monitor/online/list",
|
||||
method: "get",
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
// 强退用户
|
||||
export function forceLogout(tokenId: string) {
|
||||
return server.request({
|
||||
url: "/monitor/online/" + tokenId,
|
||||
method: "delete",
|
||||
});
|
||||
}
|
||||
51
src/api/monitor/operlog.ts
Normal file
@ -0,0 +1,51 @@
|
||||
import server from "@/utils/request";
|
||||
|
||||
export type OperLogObj = {
|
||||
businessType: string;
|
||||
businessTypes?: string;
|
||||
createBy?: string;
|
||||
createTime?: string;
|
||||
deptName?: string;
|
||||
errorMsg?: string;
|
||||
jsonResult?: string;
|
||||
method?: string;
|
||||
operId: string;
|
||||
operIp?: string;
|
||||
operLocation?: string;
|
||||
operName?: string;
|
||||
operParam?: string;
|
||||
costTime?: string;
|
||||
operTime?: string;
|
||||
operUrl?: string;
|
||||
operatorType?: string;
|
||||
remark?: string;
|
||||
requestMethod?: string;
|
||||
status?: number;
|
||||
title?: string;
|
||||
updateBy?: string;
|
||||
updateTime?: string;
|
||||
};
|
||||
// 查询操作日志列表
|
||||
export function list(query: OperLogObj & { pageNum: number; pageSize: number }) {
|
||||
return server.request<OperLogObj>({
|
||||
url: "/monitor/operlog/list",
|
||||
method: "get",
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
// 删除操作日志
|
||||
export function delOperlog(operId: string) {
|
||||
return server.request({
|
||||
url: "/monitor/operlog/" + operId,
|
||||
method: "delete",
|
||||
});
|
||||
}
|
||||
|
||||
// 清空操作日志
|
||||
export function cleanOperlog() {
|
||||
return server.request({
|
||||
url: "/monitor/operlog/clean",
|
||||
method: "delete",
|
||||
});
|
||||
}
|
||||
52
src/api/monitor/server.ts
Normal file
@ -0,0 +1,52 @@
|
||||
import server from "@/utils/request";
|
||||
|
||||
export type ServerObj = {
|
||||
cpu?: {
|
||||
cpuNum?: number;
|
||||
used?: number;
|
||||
sys?: number;
|
||||
free?: number;
|
||||
};
|
||||
mem?: {
|
||||
total?: number;
|
||||
used?: number;
|
||||
free?: number;
|
||||
usage?: number;
|
||||
};
|
||||
jvm?: {
|
||||
total?: number;
|
||||
used?: number;
|
||||
free?: number;
|
||||
usage?: number;
|
||||
name?: string;
|
||||
version?: string;
|
||||
startTime?: string;
|
||||
runTime?: string;
|
||||
home?: string;
|
||||
inputArgs?: string;
|
||||
};
|
||||
sys?: {
|
||||
computerName?: string;
|
||||
osName?: string;
|
||||
userDir?: string;
|
||||
computerIp?: string;
|
||||
osArch?: string;
|
||||
};
|
||||
sysFiles?: {
|
||||
dirName?: string;
|
||||
sysTypeName?: string;
|
||||
typeName?: string;
|
||||
total?: number;
|
||||
free?: number;
|
||||
used?: number;
|
||||
usage?: number;
|
||||
}[];
|
||||
};
|
||||
|
||||
// 获取服务信息
|
||||
export function getServer() {
|
||||
return server.request<ServerObj>({
|
||||
url: "/monitor/server",
|
||||
method: "get",
|
||||
});
|
||||
}
|
||||
64
src/api/order/accdetails.ts
Normal file
@ -0,0 +1,64 @@
|
||||
import server from '@/utils/request'
|
||||
|
||||
//新增
|
||||
interface Addobj{
|
||||
code:String //编码
|
||||
tradeNo:String //交易编码
|
||||
preTotalAmount:String //交易前账户总金额,分:总金额=充值金额+赠送金额
|
||||
preRechargeAmount:String //交易前充值余额,分
|
||||
preGiftAmount:String //交易前赠送金额,分
|
||||
tradeTotalAmount:String //交易总金额,分:总金额=充值金额+赠送金额
|
||||
tradeRechargeAmount:String //交易充值余额,分
|
||||
tradeGiftAmount:String //交易赠送金额,分
|
||||
afterTotalAmount:String //交易后总金额,分:总金额=充值金额+赠送金额
|
||||
afterRechargeAmount:String //交易后充值余额,分
|
||||
afterGiftAmount:String //交易后赠送金额,分
|
||||
}
|
||||
|
||||
export function addhdz(data:Addobj) {
|
||||
return server.request({
|
||||
url: '/cloud/batterystation/fee/detail/add',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
//修改 ??
|
||||
// export function update(data:Addobj) {
|
||||
// return server.request({
|
||||
// url: '/cloud/batterystation/fee/detail/update',
|
||||
// method: 'post',
|
||||
// data
|
||||
// })
|
||||
// }
|
||||
|
||||
//查询
|
||||
interface Querydata{
|
||||
pageSize:String|Number //每页条数,示例值(10)
|
||||
pageNo:String|Number //页数,示例值
|
||||
ownerType?:String //户主类型:1-个人,2-企业
|
||||
ownerId?:String //户主ID
|
||||
code?:String //编码
|
||||
stationCode?:String //引入站点
|
||||
}
|
||||
export function getmxlist(params:Querydata) {
|
||||
return server.request({
|
||||
url: '/cloud/wallet/detail/list',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
//删除
|
||||
export function delhdz(id:string,code:string) {
|
||||
return server.request({
|
||||
url: '/cloud/wallet/detail/del',
|
||||
method: 'post',
|
||||
data:{
|
||||
id,
|
||||
code
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
61
src/api/order/account.ts
Normal file
@ -0,0 +1,61 @@
|
||||
import server from '@/utils/request'
|
||||
|
||||
//新增
|
||||
interface Addobj{
|
||||
ownerType:String //户主类型:1-个人,2-企业
|
||||
ownerId:String //户主ID
|
||||
stationCode:String //引入站点
|
||||
pkId?:String
|
||||
totalAmount?:String //账户总金额,分:总金额=充值金额+赠送金额
|
||||
rechargeAmount?:String //充值余额,分
|
||||
giftAmount?:String //赠送金额,分
|
||||
point?:String //积分余额
|
||||
deposit?:String //押金
|
||||
snCode?:String //SN码
|
||||
rent?:String //租金
|
||||
}
|
||||
|
||||
export function addhdz(data:Addobj) {
|
||||
return server.request({
|
||||
url: '/cloud/wallet/add',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
//修改
|
||||
export function update(data:Addobj) {
|
||||
return server.request({
|
||||
url: '/cloud/wallet/update',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
//查询
|
||||
interface Querydata{
|
||||
pageSize:String|number, //每页条数
|
||||
pageNo:String|number //页数
|
||||
ownerType?:String //户主类型:1-个人,2-企业
|
||||
ownerId?:String //户主ID
|
||||
code?:String //编码
|
||||
stationCode?:String //引入站点
|
||||
}
|
||||
export function getjqrlist(params:Querydata) {
|
||||
return server.request({
|
||||
url: '/cloud/wallet/list',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
//删除
|
||||
export function delhdz(id:string) {
|
||||
return server.request({
|
||||
url: '/cloud/wallet/del',
|
||||
method: 'post',
|
||||
data:{
|
||||
id
|
||||
}
|
||||
})
|
||||
}
|
||||
84
src/api/order/replabatt.ts
Normal file
@ -0,0 +1,84 @@
|
||||
import server from '@/utils/request'
|
||||
|
||||
//新增
|
||||
interface Addobj{
|
||||
orderType:String|Number //类型:1-换电,2-充电
|
||||
plateNum:String //车牌号
|
||||
orderTime:String //订单时间,示例值(yyyy-MM-dd HH:mm:ss)
|
||||
stationCode:String //换电站编码
|
||||
stationName:String //换电站名称
|
||||
accountCode:String //金额账号
|
||||
amount:String|Number //订单金额
|
||||
status:String|Number //订单状态:1-等待受理,2-换电中,3-换电完成,4-出现异常,5-未结算,6-订单取消,7-已结算
|
||||
feeType:String //计算费用方式:1-ODO,2-SOC,3-按电量
|
||||
basicFee:String //基础费用
|
||||
serviceTimeBegin:String|Number //服务开始时间
|
||||
serviceTimeEnd:String //服务结束时间
|
||||
serviceFee:String|Number //服务费
|
||||
lastRentBatCarOdo:String //上次租赁电池时车辆里程
|
||||
nowReturnBatCarOdo:String //归还电池时车辆里程
|
||||
odoAmount:String|Number //按ODO换电费
|
||||
electAmount:String|Number //总充电量
|
||||
rentBatNo:String|Number //租借电池包仓位
|
||||
rentBatCode:String //租用电池包编码
|
||||
rentBatSoc:String //租用电池包SOC
|
||||
returnBatCode:String //归还电池包编码
|
||||
returnBatNo:String|Number //归还电池包仓位
|
||||
returnBatSoc:String //归还电池包SOC
|
||||
returnBatRentSoc:String //归还电池租出时soc
|
||||
returnBatRentStationCode:String //归还电池租出的换电站编码
|
||||
returnBatRentStationName:String //归还电池租出的换电站
|
||||
changeMode:String|Number //换电模式:1-全自动,2-半自动,3-人工干预
|
||||
changeLane:String|Number //换电车道 1-A 车道;2-B 车道
|
||||
userId:String //换电车主ID
|
||||
tradeNo:String //交易编码
|
||||
}
|
||||
|
||||
export function addhdz(data:Addobj) {
|
||||
return server.request({
|
||||
url: '/cloud/order/swap/add',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
//修改
|
||||
export function update(data:Addobj) {
|
||||
return server.request({
|
||||
url: '/cloud/order/swap/update',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
//查询
|
||||
interface Querydata{
|
||||
pageSize:String|Number //每页条数
|
||||
pageNo:String|Number //页数
|
||||
orderNo:String //订单编码
|
||||
plateNum:String //车牌号
|
||||
orderTimeBegin:String //订单时间开始,示例值(yyyy-MM-dd HH:mm:ss)
|
||||
orderTimeEnd:String //订单时间结束
|
||||
stationCode:String //换电站编码
|
||||
stationName:String //换电站名称
|
||||
userId:String //换电车主ID
|
||||
tradeNo:String //交易编码
|
||||
}
|
||||
export function getjqrlist(params:Querydata) {
|
||||
return server.request({
|
||||
url: '/cloud/order/swap/list',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
//删除
|
||||
export function delhdz(id:string) {
|
||||
return server.request({
|
||||
url: '/cloud/order/swap/del',
|
||||
method: 'post',
|
||||
data:{
|
||||
id
|
||||
}
|
||||
})
|
||||
}
|
||||
57
src/api/order/reservation.ts
Normal file
@ -0,0 +1,57 @@
|
||||
import server from '@/utils/request'
|
||||
|
||||
//新增
|
||||
interface Addobj{
|
||||
userId:String //预约人ID
|
||||
uname:String //预约人姓名
|
||||
phone:String //手机号码
|
||||
plateNum:String //车牌号
|
||||
stationCode:String //换电站编码
|
||||
stationName:String //换电站名称
|
||||
swapDay:String //预约换电日期,示例值(yyyyMMdd)
|
||||
swapDuration:String //预约换电时间段,示例值(8:00-10:00)
|
||||
status:String|Number //状态:1-预约成功,2-到店使用,3-取消,4-过期
|
||||
}
|
||||
|
||||
export function addhdz(data:Addobj) {
|
||||
return server.request({
|
||||
url: '/cloud/order/swap/pre/add',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
//修改
|
||||
export function update(data:Addobj) {
|
||||
return server.request({
|
||||
url: '/cloud/order/swap/update',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
//查询
|
||||
interface Querydata{
|
||||
pageSize:String|Number //每页条数
|
||||
pageNo:String|Number //页数
|
||||
userId:String //车主id
|
||||
status:String //状态
|
||||
}
|
||||
export function getjqrlist(params:Querydata) {
|
||||
return server.request({
|
||||
url: '/cloud/order/swap/pre/list',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
//取消预约
|
||||
export function delhdz(id:string) {
|
||||
return server.request({
|
||||
url: '/cloud/order/swap/pre/cancel',
|
||||
method: 'post',
|
||||
data:{
|
||||
id
|
||||
}
|
||||
})
|
||||
}
|
||||
60
src/api/swapstation/battery.ts
Normal file
@ -0,0 +1,60 @@
|
||||
import server from '@/utils/request'
|
||||
|
||||
//新增
|
||||
interface Addobj{
|
||||
typeCode:String //电池型号编码
|
||||
batCode:String //电池编码
|
||||
sourceFrom:String|Number //初始来源:1-站,2-车
|
||||
status:String|Number //状态:1-出租中,2-充电中,3-充电完毕,4-故障,5-其它
|
||||
pkId?:String
|
||||
productionDate?:String //生产日期
|
||||
registrationDate?:String //注册时间
|
||||
sourceCode?:String //站码或车牌照
|
||||
stationCode?:String //换电站编码
|
||||
soc?:String|Number //当前电量
|
||||
}
|
||||
|
||||
export function addhdz(data:Addobj) {
|
||||
return server.request({
|
||||
url: '/cloud/batterystation/dc/add',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
//修改
|
||||
export function update(data:Addobj) {
|
||||
return server.request({
|
||||
url: '/cloud/batterystation/dc/update',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
//查询
|
||||
interface Querydata{
|
||||
pageSize:String|number, //每页条数
|
||||
pageNo:String|number //页数
|
||||
stationCode?:String //换电站编码
|
||||
proxyId?:String //归属运营商ID
|
||||
}
|
||||
export function getjqrlist(params:Querydata) {
|
||||
return server.request({
|
||||
url: '/cloud/batterystation/dc/list',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
//删除
|
||||
export function delhdz(id:string) {
|
||||
return server.request({
|
||||
url: '/cloud/batterystation/dc/del',
|
||||
method: 'post',
|
||||
data:{
|
||||
id
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
56
src/api/swapstation/costdetails.ts
Normal file
@ -0,0 +1,56 @@
|
||||
import server from '@/utils/request'
|
||||
|
||||
//新增
|
||||
interface Addobj{
|
||||
stationCode:String //换电站编码
|
||||
standardId:String //收费规则ID
|
||||
timeBegin:String //开始时间
|
||||
timeEnd:String //结束时间
|
||||
pkId?:String
|
||||
eachKmFee?:String|Number //每公里收费
|
||||
eachSocFee?:String|Number //每SOC收费
|
||||
eachKwhFee?:String|Number //每度电收费
|
||||
timeServiceFee?:String|Number //谷段服务费
|
||||
}
|
||||
|
||||
export function addhdz(data:Addobj) {
|
||||
return server.request({
|
||||
url: '/cloud/batterystation/fee/detail/add',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
//修改
|
||||
export function update(data:Addobj) {
|
||||
return server.request({
|
||||
url: '/cloud/batterystation/fee/detail/update',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
//查询
|
||||
interface Querydata{
|
||||
standardId:String //收费规则id
|
||||
}
|
||||
export function getmxlist(params:Querydata) {
|
||||
return server.request({
|
||||
url: '/cloud/batterystation/fee/detail/list',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
//删除
|
||||
export function delhdz(id:string) {
|
||||
return server.request({
|
||||
url: '/cloud/batterystation/fee/detail/del',
|
||||
method: 'post',
|
||||
data:{
|
||||
id
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
54
src/api/swapstation/dcc.ts
Normal file
@ -0,0 +1,54 @@
|
||||
import server from '@/utils/request'
|
||||
|
||||
//新增
|
||||
interface Addobj{
|
||||
pkId?:String
|
||||
stationCode:String //换电站编码
|
||||
dccNo:String|Number //电池仓序号
|
||||
status:String|Number //状态:1-正常,2-检修, 3-坏
|
||||
}
|
||||
|
||||
export function addhdz(data:Addobj) {
|
||||
return server.request({
|
||||
url: '/cloud/batterystation/dcc/add',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
//修改
|
||||
export function update(data:Addobj) {
|
||||
return server.request({
|
||||
url: '/cloud/batterystation/dcc/update',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
//查询
|
||||
interface Querydata{
|
||||
pageSize:String|number, //每页条数
|
||||
pageNo:String|number //页数
|
||||
stationCode?:String //换电站编码
|
||||
proxyId?:String //归属运营商ID
|
||||
}
|
||||
export function getjqrlist(params:Querydata) {
|
||||
return server.request({
|
||||
url: '/cloud/batterystation/dcc/list',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
//删除
|
||||
export function delhdz(id:string) {
|
||||
return server.request({
|
||||
url: '/cloud/batterystation/dcc/del',
|
||||
method: 'post',
|
||||
data:{
|
||||
id
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
59
src/api/swapstation/electmach.ts
Normal file
@ -0,0 +1,59 @@
|
||||
import server from '@/utils/request'
|
||||
|
||||
//新增
|
||||
interface Addobj{
|
||||
|
||||
stationCode:String //换电站编码
|
||||
code:String //充电机编码
|
||||
version:String //充电机软件版本
|
||||
switchType:String|Number //充电连接类型:1-连接器,2-充电枪
|
||||
status:String|Number //状态:1-正常,2-检修, 3-坏
|
||||
pkId?:String
|
||||
dccNo?:String //电池仓序号
|
||||
gunNum?:String|Number //充电枪数量
|
||||
}
|
||||
|
||||
export function addhdz(data:Addobj) {
|
||||
return server.request({
|
||||
url: '/cloud/batterystation/dj/add',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
//修改
|
||||
export function update(data:Addobj) {
|
||||
return server.request({
|
||||
url: '/cloud/batterystation/dj/update',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
//查询
|
||||
interface Querydata{
|
||||
pageSize:String|number, //每页条数
|
||||
pageNo:String|number //页数
|
||||
stationCode:String //换电站编码
|
||||
proxyId?:String //归属运营商ID
|
||||
}
|
||||
export function getjqrlist(params:Querydata) {
|
||||
return server.request({
|
||||
url: '/cloud/batterystation/dj/list',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
//删除
|
||||
export function delhdz(id:string) {
|
||||
return server.request({
|
||||
url: '/cloud/batterystation/dj/del',
|
||||
method: 'post',
|
||||
data:{
|
||||
id
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
78
src/api/swapstation/hdz.ts
Normal file
@ -0,0 +1,78 @@
|
||||
import server from '@/utils/request'
|
||||
|
||||
//新增
|
||||
interface Addobj{
|
||||
pkId?:String
|
||||
proxyId:String //归属运营商ID
|
||||
name:String //站点名称
|
||||
code:String //站点编码
|
||||
status:String|Number //状态:1-正常营业,2-正常停运,3-故障停运,4-指令停运,9-其它
|
||||
type?:String //站点类型ID
|
||||
division?:String, //地区 ??
|
||||
divisionNo?:String, //地区编码 ??
|
||||
address?:String //地址
|
||||
addressProvince?:String //地址-省
|
||||
addressCity?:String //地址-市 query
|
||||
addressArea?:String //地址-区县
|
||||
registerDate?:String //注册日期
|
||||
contacts?:String //联系人
|
||||
phone?:String //联系电话
|
||||
delFlag?:String|Number //删除标识:1-已删除,0-未删除
|
||||
activeDate?:String //激活日期
|
||||
locationPoint?:String //经纬度信息
|
||||
openAllDay?:String|Number //全天营业:1-是,0-否
|
||||
tdQuantity?:String|Number //通道数
|
||||
jqrQuantity?:String|Number //机器人数量
|
||||
cdjQuantity?:String|Number //充电机数量
|
||||
dccQuantity?:String|Number //电池仓数量
|
||||
dcQuantity?:String|Number //电池数量
|
||||
}
|
||||
|
||||
export function addhdz(data:Addobj) {
|
||||
return server.request({
|
||||
url: '/cloud/batterystation/add',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
//修改
|
||||
export function update(data:Addobj) {
|
||||
return server.request({
|
||||
url: '/cloud/batterystation/update',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
//查询
|
||||
interface Querydata{
|
||||
pageSize:String|number, //每页条数
|
||||
pageNo:String|number //页数
|
||||
proxyId:String //归属运营商ID
|
||||
pkId?:String
|
||||
name?:String //站点名称
|
||||
code?:String //站点编码
|
||||
status?:String //状态:1-正常营业,2-正常停运,3-故障停运,4-指令停运,9-其它
|
||||
type?:String //站点类型ID
|
||||
}
|
||||
export function gethdzlist(params:Querydata) {
|
||||
return server.request({
|
||||
url: '/cloud/batterystation/list',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
//删除
|
||||
export function delhdz(id:string) {
|
||||
return server.request({
|
||||
url: '/cloud/batterystation/del',
|
||||
method: 'post',
|
||||
data:{
|
||||
id
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
54
src/api/swapstation/robot.ts
Normal file
@ -0,0 +1,54 @@
|
||||
import server from '@/utils/request'
|
||||
|
||||
//新增
|
||||
interface Addobj{
|
||||
pkId?:String
|
||||
stationCode:String //换电站编码
|
||||
code:String //机器人编码
|
||||
status:String|Number //状态:1-正常 2-禁用
|
||||
runMode:String|Number //运行模式:1-就地,2-远程
|
||||
}
|
||||
|
||||
export function addhdz(data:Addobj) {
|
||||
return server.request({
|
||||
url: '/cloud/batterystation/robot/add',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
//修改
|
||||
export function update(data:Addobj) {
|
||||
return server.request({
|
||||
url: '/cloud/batterystation/robot/update',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
//查询
|
||||
interface Querydata{
|
||||
pageSize:String|number, //每页条数
|
||||
pageNo:String|number //页数
|
||||
stationCode:String //换电站编码
|
||||
}
|
||||
export function getjqrlist(params:Querydata) {
|
||||
return server.request({
|
||||
url: '/cloud/batterystation/robot/list',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
//删除
|
||||
export function delhdz(id:string) {
|
||||
return server.request({
|
||||
url: '/cloud/batterystation/robot/del',
|
||||
method: 'post',
|
||||
data:{
|
||||
id
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
59
src/api/swapstation/swapstation.ts
Normal file
@ -0,0 +1,59 @@
|
||||
import server from '@/utils/request'
|
||||
|
||||
//新增
|
||||
interface Addobj{
|
||||
stationCode:String //换电站编码
|
||||
dayBegin:String //开始时间
|
||||
dayEnd:String //结束时间
|
||||
name:String //费用标准名称
|
||||
pkId?:String
|
||||
stationName:String //换电站名称
|
||||
commonRemainFee?:String //正常换电服务费
|
||||
commonRemainSocRange?:String //换电时正常电量范围
|
||||
moreRemainSoc?:String //换电时电量剩余过多的soc界定
|
||||
moreRemainFee?:String //换电时电量剩余过多的服务费
|
||||
fewRemainSoc?:String //换电时电量剩余一般的soc界定
|
||||
fewRemainFee?:String //换电时电量剩余一般的服务费
|
||||
}
|
||||
|
||||
export function addhdz(data:Addobj) {
|
||||
return server.request({
|
||||
url: '/cloud/batterystation/fee/add',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
//修改
|
||||
export function update(data:Addobj) {
|
||||
return server.request({
|
||||
url: '/cloud/batterystation/fee/update',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
//查询
|
||||
interface Querydata{
|
||||
stationCode:String //换电站编码
|
||||
}
|
||||
export function getjqrlist(params:Querydata) {
|
||||
return server.request({
|
||||
url: '/cloud/batterystation/fee/list',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
//删除
|
||||
export function delhdz(id:string) {
|
||||
return server.request({
|
||||
url: '/cloud/batterystation/fee/del',
|
||||
method: 'post',
|
||||
data:{
|
||||
id
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
78
src/api/swapstation/vehicle.ts
Normal file
@ -0,0 +1,78 @@
|
||||
import server from '@/utils/request'
|
||||
|
||||
//新增
|
||||
interface Addobj{
|
||||
typeCode:String //车辆型号编码
|
||||
vinNo:String //车辆识别代码VIN号
|
||||
frameworkNo:String //车架号
|
||||
ownerType:String|Number //车主类型:1-个人,2-企业
|
||||
ownerName:String //车主名称
|
||||
plateNum:String //车牌号
|
||||
engineNo:String //引擎号
|
||||
usageType:String //消费方式:1-电量,2-里程
|
||||
pkId?:String
|
||||
ownerId?:String //车主ID
|
||||
seatsCount?:String //座位数
|
||||
carColor?:String //车身颜色
|
||||
carArea?:String //车籍/归属地
|
||||
productionDate?:String //出厂日期
|
||||
purchaseDate?:String //购车日期
|
||||
boardDate?:String //上牌日期
|
||||
registrationDate?:String //首次登记日期
|
||||
totalMileage?:String //总里程
|
||||
phone?:String //联系电话
|
||||
cname?:String //公司名称
|
||||
ccode?:String //组织机构代码
|
||||
}
|
||||
|
||||
export function addhdz(data:Addobj) {
|
||||
return server.request({
|
||||
url: '/cloud/vehicle/add',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
//修改
|
||||
export function update(data:Addobj) {
|
||||
return server.request({
|
||||
url: '/cloud/vehicle/update',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
//查询
|
||||
interface Querydata{
|
||||
pageSize:String|number, //每页条数
|
||||
pageNo:String|number //页数
|
||||
typeCode?:String //型号编码
|
||||
vinNo?:String //车辆识别代码VIN号
|
||||
frameworkNo?:String //车架号
|
||||
ownerType?:String //车主类型:1-个人,2-企业
|
||||
ownerId?:String //车主ID
|
||||
ownerName?:String //车主名称
|
||||
plateNum?:String //车牌号
|
||||
phone?:String //联系电话
|
||||
engineNo?:String //引擎号
|
||||
}
|
||||
export function getjqrlist(params:Querydata) {
|
||||
return server.request({
|
||||
url: '/cloud/vehicle/list',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
//删除
|
||||
export function delhdz(id:string) {
|
||||
return server.request({
|
||||
url: '/cloud/vehicle/del',
|
||||
method: 'post',
|
||||
data:{
|
||||
id
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
68
src/api/system/config.ts
Normal file
@ -0,0 +1,68 @@
|
||||
import server from "@/utils/request";
|
||||
import type { QueryParam } from "../form";
|
||||
export type SysConfigObj = {
|
||||
configId?: string;
|
||||
configName?: string;
|
||||
configKey?: string;
|
||||
configValue?: string;
|
||||
configType?: string;
|
||||
remark?: string;
|
||||
};
|
||||
// 查询参数列表
|
||||
export function listConfig(query: SysConfigObj & QueryParam) {
|
||||
return server.request<SysConfigObj>({
|
||||
url: "/system/config/list",
|
||||
method: "get",
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
// 查询参数详细
|
||||
export function getConfig(configId: string) {
|
||||
return server.request<SysConfigObj>({
|
||||
url: "/system/config/" + configId,
|
||||
method: "get",
|
||||
});
|
||||
}
|
||||
|
||||
// 根据参数键名查询参数值
|
||||
export function getConfigKey(configKey: string) {
|
||||
return server.request({
|
||||
url: "/system/config/configKey/" + configKey,
|
||||
method: "get",
|
||||
});
|
||||
}
|
||||
|
||||
// 新增参数配置
|
||||
export function addConfig(data: SysConfigObj) {
|
||||
return server.request({
|
||||
url: "/system/config",
|
||||
method: "post",
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 修改参数配置
|
||||
export function updateConfig(data: SysConfigObj) {
|
||||
return server.request({
|
||||
url: "/system/config",
|
||||
method: "put",
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 删除参数配置
|
||||
export function delConfig(configId: string) {
|
||||
return server.request({
|
||||
url: "/system/config/" + configId,
|
||||
method: "delete",
|
||||
});
|
||||
}
|
||||
|
||||
// 刷新参数缓存
|
||||
export function refreshCache() {
|
||||
return server.request({
|
||||
url: "/system/config/refreshCache",
|
||||
method: "delete",
|
||||
});
|
||||
}
|
||||
70
src/api/system/dept.ts
Normal file
@ -0,0 +1,70 @@
|
||||
import server from "@/utils/request";
|
||||
|
||||
export type DeptObj = {
|
||||
deptId: string;
|
||||
parentId?: string;
|
||||
deptName?: string;
|
||||
orderNum?: number;
|
||||
leader?: string;
|
||||
phone?: string;
|
||||
email?: string;
|
||||
status?: string;
|
||||
children?: DeptObj[];
|
||||
};
|
||||
|
||||
export type TreeDeptObj = {
|
||||
id: number;
|
||||
label: string;
|
||||
children?: TreeDeptObj[];
|
||||
};
|
||||
|
||||
// 查询部门列表
|
||||
export function listDept(query?: DeptObj) {
|
||||
return server.request<DeptObj[]>({
|
||||
url: "/system/dept/list",
|
||||
method: "get",
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
// 查询部门列表(排除节点)
|
||||
export function listDeptExcludeChild(deptId: string) {
|
||||
return server.request<DeptObj[]>({
|
||||
url: "/system/dept/list/exclude/" + deptId,
|
||||
method: "get",
|
||||
});
|
||||
}
|
||||
|
||||
// 查询部门详细
|
||||
export function getDept(deptId: string) {
|
||||
return server.request<DeptObj>({
|
||||
url: "/system/dept/" + deptId,
|
||||
method: "get",
|
||||
});
|
||||
}
|
||||
|
||||
// 新增部门
|
||||
export function addDept(data: DeptObj) {
|
||||
return server.request({
|
||||
url: "/system/dept",
|
||||
method: "post",
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 修改部门
|
||||
export function updateDept(data: DeptObj) {
|
||||
return server.request({
|
||||
url: "/system/dept",
|
||||
method: "put",
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 删除部门
|
||||
export function delDept(deptId: string) {
|
||||
return server.request({
|
||||
url: "/system/dept/" + deptId,
|
||||
method: "delete",
|
||||
});
|
||||
}
|
||||
75
src/api/system/dict/data.ts
Normal file
@ -0,0 +1,75 @@
|
||||
import server from "@/utils/request";
|
||||
import type { DictTypeObj } from "./type";
|
||||
|
||||
export type DictObj = {
|
||||
createBy?: string;
|
||||
createTime?: string;
|
||||
updateBy?: string;
|
||||
updateTime?: string;
|
||||
remark?: string;
|
||||
dictCode: string;
|
||||
dictSort?: number;
|
||||
dictLabel: string;
|
||||
dictValue: string;
|
||||
dictType: string;
|
||||
cssClass?: string;
|
||||
listClass?: string;
|
||||
isDefault?: string;
|
||||
elTagType?: string;
|
||||
elTagClass?: string;
|
||||
status?: string;
|
||||
default?: boolean;
|
||||
label?: string;
|
||||
value?: string;
|
||||
};
|
||||
|
||||
// 查询字典数据列表
|
||||
export function listData(query: DictTypeObj & { pageNum: number; pageSize: number }) {
|
||||
return server.request<DictObj>({
|
||||
url: "/system/dict/data/list",
|
||||
method: "get",
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
// 查询字典数据详细
|
||||
export function getData(dictCode: string) {
|
||||
return server.request<DictObj>({
|
||||
url: "/system/dict/data/" + dictCode,
|
||||
method: "get",
|
||||
});
|
||||
}
|
||||
|
||||
// 根据字典类型查询字典数据信息
|
||||
export function getDicts(dictType: string) {
|
||||
return server.request<DictObj[]>({
|
||||
url: "/system/dict/data/type/" + dictType,
|
||||
method: "get",
|
||||
});
|
||||
}
|
||||
|
||||
// 新增字典数据
|
||||
export function addData(data: DictObj) {
|
||||
return server.request({
|
||||
url: "/system/dict/data",
|
||||
method: "post",
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 修改字典数据
|
||||
export function updateData(data: DictObj) {
|
||||
return server.request({
|
||||
url: "/system/dict/data",
|
||||
method: "put",
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 删除字典数据
|
||||
export function delData(dictCode: string) {
|
||||
return server.request({
|
||||
url: "/system/dict/data/" + dictCode,
|
||||
method: "delete",
|
||||
});
|
||||
}
|
||||
69
src/api/system/dict/type.ts
Normal file
@ -0,0 +1,69 @@
|
||||
import type { QueryParam } from "@/api/form";
|
||||
import server from "@/utils/request";
|
||||
|
||||
export type DictTypeObj = {
|
||||
dictId?: string;
|
||||
dictName?: string;
|
||||
dictType?: string;
|
||||
status?: string;
|
||||
remark?: string;
|
||||
};
|
||||
|
||||
// 查询字典类型列表
|
||||
export function listType(query: DictTypeObj & QueryParam) {
|
||||
return server.request<DictTypeObj>({
|
||||
url: "/system/dict/type/list",
|
||||
method: "get",
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
// 查询字典类型详细
|
||||
export function getType(dictId: string) {
|
||||
return server.request<DictTypeObj>({
|
||||
url: "/system/dict/type/" + dictId,
|
||||
method: "get",
|
||||
});
|
||||
}
|
||||
|
||||
// 新增字典类型
|
||||
export function addType(data: DictTypeObj) {
|
||||
return server.request({
|
||||
url: "/system/dict/type",
|
||||
method: "post",
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 修改字典类型
|
||||
export function updateType(data: DictTypeObj) {
|
||||
return server.request({
|
||||
url: "/system/dict/type",
|
||||
method: "put",
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 删除字典类型
|
||||
export function delType(dictId: string) {
|
||||
return server.request({
|
||||
url: "/system/dict/type/" + dictId,
|
||||
method: "delete",
|
||||
});
|
||||
}
|
||||
|
||||
// 刷新字典缓存
|
||||
export function refreshCache() {
|
||||
return server.request({
|
||||
url: "/system/dict/type/refreshCache",
|
||||
method: "delete",
|
||||
});
|
||||
}
|
||||
|
||||
// 获取字典选择框列表
|
||||
export function optionselect() {
|
||||
return server.request<DictTypeObj[]>({
|
||||
url: "/system/dict/type/optionselect",
|
||||
method: "get",
|
||||
});
|
||||
}
|
||||
83
src/api/system/menu.ts
Normal file
@ -0,0 +1,83 @@
|
||||
import server from "@/utils/request";
|
||||
export type MenuObj = {
|
||||
menuId: string;
|
||||
parentId?: string;
|
||||
menuName?: string;
|
||||
icon?: string;
|
||||
menuType?: string;
|
||||
orderNum?: string;
|
||||
isFrame?: string;
|
||||
isCache?: string;
|
||||
visible?: string;
|
||||
status?: string;
|
||||
query?: string;
|
||||
perms?: string;
|
||||
component?: string;
|
||||
path?: string;
|
||||
children?: MenuObj[];
|
||||
};
|
||||
|
||||
export type TreeMenuObj = {
|
||||
id: number;
|
||||
label: string;
|
||||
children?: TreeMenuObj[];
|
||||
};
|
||||
|
||||
// 查询菜单列表
|
||||
export function listMenu(query?: MenuObj) {
|
||||
return server.request<MenuObj[]>({
|
||||
url: "/system/menu/list",
|
||||
method: "get",
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
// 查询菜单详细
|
||||
export function getMenu(menuId: string) {
|
||||
return server.request<MenuObj>({
|
||||
url: "/system/menu/" + menuId,
|
||||
method: "get",
|
||||
});
|
||||
}
|
||||
|
||||
// 查询菜单下拉树结构
|
||||
export function treeselect() {
|
||||
return server.request<TreeMenuObj[]>({
|
||||
url: "/system/menu/treeselect",
|
||||
method: "get",
|
||||
});
|
||||
}
|
||||
|
||||
// 根据角色ID查询菜单下拉树结构
|
||||
export function roleMenuTreeselect(roleId: string) {
|
||||
return server.requestT<{ menus: TreeMenuObj[]; checkedKeys: number[] }>({
|
||||
url: "/system/menu/roleMenuTreeselect/" + roleId,
|
||||
method: "get",
|
||||
});
|
||||
}
|
||||
|
||||
// 新增菜单
|
||||
export function addMenu(data: MenuObj) {
|
||||
return server.request({
|
||||
url: "/system/menu",
|
||||
method: "post",
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 修改菜单
|
||||
export function updateMenu(data: MenuObj) {
|
||||
return server.request({
|
||||
url: "/system/menu",
|
||||
method: "put",
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 删除菜单
|
||||
export function delMenu(menuId: string) {
|
||||
return server.request({
|
||||
url: "/system/menu/" + menuId,
|
||||
method: "delete",
|
||||
});
|
||||
}
|
||||
53
src/api/system/notice.ts
Normal file
@ -0,0 +1,53 @@
|
||||
import server from "@/utils/request";
|
||||
|
||||
export type NoticeObj = {
|
||||
noticeId: string;
|
||||
noticeTitle?: string;
|
||||
noticeType?: string;
|
||||
createBy?: string;
|
||||
noticeContent?: string;
|
||||
status?: string;
|
||||
};
|
||||
|
||||
// 查询公告列表
|
||||
export function listNotice(query: NoticeObj & { pageNum: number; pageSize: number }) {
|
||||
return server.request<NoticeObj>({
|
||||
url: "/system/notice/list",
|
||||
method: "get",
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
// 查询公告详细
|
||||
export function getNotice(noticeId: string) {
|
||||
return server.request<NoticeObj>({
|
||||
url: "/system/notice/" + noticeId,
|
||||
method: "get",
|
||||
});
|
||||
}
|
||||
|
||||
// 新增公告
|
||||
export function addNotice(data: NoticeObj) {
|
||||
return server.request({
|
||||
url: "/system/notice",
|
||||
method: "post",
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 修改公告
|
||||
export function updateNotice(data: NoticeObj) {
|
||||
return server.request({
|
||||
url: "/system/notice",
|
||||
method: "put",
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 删除公告
|
||||
export function delNotice(noticeId: string) {
|
||||
return server.request({
|
||||
url: "/system/notice/" + noticeId,
|
||||
method: "delete",
|
||||
});
|
||||
}
|
||||
52
src/api/system/post.ts
Normal file
@ -0,0 +1,52 @@
|
||||
import server from "@/utils/request";
|
||||
|
||||
export type PostObj = {
|
||||
postId: string;
|
||||
postCode?: string;
|
||||
postName?: string;
|
||||
postSort?: number;
|
||||
status?: string;
|
||||
remark?: string;
|
||||
};
|
||||
// 查询岗位列表
|
||||
export function listPost(query: PostObj & { pageNum: number; pageSize: number }) {
|
||||
return server.request<PostObj>({
|
||||
url: "/system/post/list",
|
||||
method: "get",
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
// 查询岗位详细
|
||||
export function getPost(postId: string) {
|
||||
return server.request<PostObj>({
|
||||
url: "/system/post/" + postId,
|
||||
method: "get",
|
||||
});
|
||||
}
|
||||
|
||||
// 新增岗位
|
||||
export function addPost(data: PostObj) {
|
||||
return server.request({
|
||||
url: "/system/post",
|
||||
method: "post",
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 修改岗位
|
||||
export function updatePost(data: PostObj) {
|
||||
return server.request({
|
||||
url: "/system/post",
|
||||
method: "put",
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 删除岗位
|
||||
export function delPost(postId: string) {
|
||||
return server.request({
|
||||
url: "/system/post/" + postId,
|
||||
method: "delete",
|
||||
});
|
||||
}
|
||||
139
src/api/system/role.ts
Normal file
@ -0,0 +1,139 @@
|
||||
import server from "@/utils/request";
|
||||
import type { TreeDeptObj } from "./dept";
|
||||
import type { UserInfoObj } from "./user";
|
||||
import type { QueryParam } from "../form";
|
||||
import type { TreeKey } from "element-plus/es/components/tree/src/tree.type";
|
||||
|
||||
export type RoleObj = {
|
||||
roleId: string;
|
||||
roleName?: string;
|
||||
roleKey?: string;
|
||||
createTime?: string;
|
||||
flag?: boolean;
|
||||
dataScope?: number;
|
||||
status?: string;
|
||||
roleSort?: number;
|
||||
menuIds?: TreeKey[];
|
||||
deptIds?: TreeKey[];
|
||||
menuCheckStrictly?: boolean;
|
||||
deptCheckStrictly?: boolean;
|
||||
remark?: string;
|
||||
};
|
||||
|
||||
// 查询角色列表
|
||||
export function listRole(query: RoleObj & QueryParam) {
|
||||
return server.request<RoleObj>({
|
||||
url: "/system/role/list",
|
||||
method: "get",
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
// 查询角色详细
|
||||
export function getRole(roleId: string) {
|
||||
return server.request<RoleObj>({
|
||||
url: "/system/role/" + roleId,
|
||||
method: "get",
|
||||
});
|
||||
}
|
||||
|
||||
// 新增角色
|
||||
export function addRole(data: RoleObj) {
|
||||
return server.request({
|
||||
url: "/system/role",
|
||||
method: "post",
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 修改角色
|
||||
export function updateRole(data: RoleObj) {
|
||||
return server.request({
|
||||
url: "/system/role",
|
||||
method: "put",
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 角色数据权限
|
||||
export function dataScope(data: RoleObj) {
|
||||
return server.request({
|
||||
url: "/system/role/dataScope",
|
||||
method: "put",
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 角色状态修改
|
||||
export function changeRoleStatus(roleId: string, status: string) {
|
||||
const data = {
|
||||
roleId,
|
||||
status,
|
||||
};
|
||||
return server.request({
|
||||
url: "/system/role/changeStatus",
|
||||
method: "put",
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 删除角色
|
||||
export function delRole(roleId: string) {
|
||||
return server.request({
|
||||
url: "/system/role/" + roleId,
|
||||
method: "delete",
|
||||
});
|
||||
}
|
||||
|
||||
// 查询角色已授权用户列表
|
||||
export function allocatedUserList(query: { pageNum: number; pageSize: number; roleId: string; userName: string; phonenumber: string }) {
|
||||
return server.request<UserInfoObj>({
|
||||
url: "/system/role/authUser/allocatedList",
|
||||
method: "get",
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
// 查询角色未授权用户列表
|
||||
export function unallocatedUserList(query: RoleObj) {
|
||||
return server.request<UserInfoObj>({
|
||||
url: "/system/role/authUser/unallocatedList",
|
||||
method: "get",
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
// 取消用户授权角色
|
||||
export function authUserCancel(data: { userId: string; roleId: string }) {
|
||||
return server.request({
|
||||
url: "/system/role/authUser/cancel",
|
||||
method: "put",
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 批量取消用户授权角色
|
||||
export function authUserCancelAll(data: { roleId: string; userIds: string }) {
|
||||
return server.request({
|
||||
url: "/system/role/authUser/cancelAll",
|
||||
method: "put",
|
||||
params: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 授权用户选择
|
||||
export function authUserSelectAll(data: { roleId: string; userIds: string }) {
|
||||
return server.request({
|
||||
url: "/system/role/authUser/selectAll",
|
||||
method: "put",
|
||||
params: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 根据角色ID查询部门树结构
|
||||
export function deptTreeSelect(roleId: string) {
|
||||
return server.requestT<{ depts: TreeDeptObj[]; checkedKeys: number[] }>({
|
||||
url: "/system/role/deptTree/" + roleId,
|
||||
method: "get",
|
||||
});
|
||||
}
|
||||
167
src/api/system/user.ts
Normal file
@ -0,0 +1,167 @@
|
||||
import server from "@/utils/request";
|
||||
import { parseStrEmpty } from "@/utils/ruoyi";
|
||||
import type { RoleObj } from "./role";
|
||||
import type { DeptObj } from "./dept";
|
||||
import type { PostObj } from "./post";
|
||||
import type { QueryParam } from "../form";
|
||||
|
||||
export type UserInfoObj = {
|
||||
userId: string;
|
||||
avatar?: string;
|
||||
deptId?: string;
|
||||
nickName?: string;
|
||||
userName?: string;
|
||||
phonenumber?: string;
|
||||
password?: string;
|
||||
email?: string;
|
||||
sex?: string;
|
||||
createTime?: string;
|
||||
status?: string;
|
||||
remark?: string;
|
||||
dept?: DeptObj;
|
||||
postIds?: string[];
|
||||
roleIds?: string[];
|
||||
};
|
||||
|
||||
// 查询用户列表
|
||||
export function listUser(query: UserInfoObj & QueryParam) {
|
||||
return server.request<UserInfoObj>({
|
||||
url: "/system/user/list",
|
||||
method: "get",
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
// 查询用户详细
|
||||
export function getUser(userId: string) {
|
||||
return server.requestT<{
|
||||
data: UserInfoObj;
|
||||
posts: PostObj[];
|
||||
roles: RoleObj[];
|
||||
postIds: string[];
|
||||
roleIds: string[];
|
||||
}>({
|
||||
url: "/system/user/" + parseStrEmpty(userId),
|
||||
method: "get",
|
||||
});
|
||||
}
|
||||
|
||||
// 新增用户
|
||||
export function addUser(data: UserInfoObj) {
|
||||
return server.request({
|
||||
url: "/system/user",
|
||||
method: "post",
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 修改用户
|
||||
export function updateUser(data: UserInfoObj) {
|
||||
return server.request({
|
||||
url: "/system/user",
|
||||
method: "put",
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 删除用户
|
||||
export function delUser(userId: string) {
|
||||
return server.request({
|
||||
url: "/system/user/" + userId,
|
||||
method: "delete",
|
||||
});
|
||||
}
|
||||
|
||||
// 用户密码重置
|
||||
export function resetUserPwd(userId: string, password: string) {
|
||||
const data = {
|
||||
userId,
|
||||
password,
|
||||
};
|
||||
return server.request({
|
||||
url: "/system/user/resetPwd",
|
||||
method: "put",
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 用户状态修改
|
||||
export function changeUserStatus(userId: string, status: string) {
|
||||
const data = {
|
||||
userId,
|
||||
status,
|
||||
};
|
||||
return server.request({
|
||||
url: "/system/user/changeStatus",
|
||||
method: "put",
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 查询用户个人信息
|
||||
export function getUserProfile() {
|
||||
return server.requestT<{
|
||||
data: UserInfoObj;
|
||||
roleGroup: string;
|
||||
postGroup: string;
|
||||
}>({
|
||||
url: "/system/user/profile",
|
||||
method: "get",
|
||||
});
|
||||
}
|
||||
|
||||
// 修改用户个人信息
|
||||
export function updateUserProfile(data: UserInfoObj) {
|
||||
return server.request({
|
||||
url: "/system/user/profile",
|
||||
method: "put",
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 用户密码重置
|
||||
export function updateUserPwd(oldPassword: string, newPassword: string) {
|
||||
const data = {
|
||||
oldPassword,
|
||||
newPassword,
|
||||
};
|
||||
return server.request({
|
||||
url: "/system/user/profile/updatePwd",
|
||||
method: "put",
|
||||
params: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 用户头像上传
|
||||
export function uploadAvatar(data: FormData) {
|
||||
return server.requestT<{ imgUrl: string }>({
|
||||
url: "/system/user/profile/avatar",
|
||||
method: "post",
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 查询授权角色
|
||||
export function getAuthRole(userId: string) {
|
||||
return server.requestT<{ user: UserInfoObj; roles: RoleObj[] }>({
|
||||
url: "/system/user/authRole/" + userId,
|
||||
method: "get",
|
||||
});
|
||||
}
|
||||
|
||||
// 保存授权角色
|
||||
export function updateAuthRole(data: { userId: string; roleIds: string }) {
|
||||
return server.request({
|
||||
url: "/system/user/authRole",
|
||||
method: "put",
|
||||
params: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 查询部门下拉树结构
|
||||
export function deptTreeSelect() {
|
||||
return server.request<DeptObj[]>({
|
||||
url: "/system/user/deptTree",
|
||||
method: "get",
|
||||
});
|
||||
}
|
||||
54
src/api/systemSet/cartype.ts
Normal file
@ -0,0 +1,54 @@
|
||||
import server from '@/utils/request'
|
||||
|
||||
//新增
|
||||
interface Addobj{
|
||||
pkId?:String,
|
||||
typeName:String, //类型名称
|
||||
typeCode:String, //类型编码
|
||||
manufacturer:String, //车辆厂商
|
||||
announceNum:String //公告号
|
||||
|
||||
}
|
||||
|
||||
export function adddicttype(data:Addobj) {
|
||||
return server.request({
|
||||
url: '/resource/cartype/add',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
//修改
|
||||
export function update(data:Addobj) {
|
||||
return server.request({
|
||||
url: '/resource/cartype/update',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
//查询
|
||||
interface Querydata{
|
||||
pageSize:String|number, //每页条数
|
||||
pageNo:String|number //页数
|
||||
}
|
||||
export function getdicttype(params:Querydata) {
|
||||
return server.request({
|
||||
url: '/resource/cartype/list',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
//删除
|
||||
export function deltype(id:string) {
|
||||
return server.request({
|
||||
url: '/resource/cartype/del',
|
||||
method: 'post',
|
||||
data:{
|
||||
id
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
62
src/api/systemSet/company.ts
Normal file
@ -0,0 +1,62 @@
|
||||
import server from '@/utils/request'
|
||||
|
||||
|
||||
//查询
|
||||
interface Query{
|
||||
pageSize:String|Number //每页条数
|
||||
pageNo:String|Number //页数
|
||||
divisionNo?:String //区划编码
|
||||
}
|
||||
|
||||
export function getlist(params:Query) {
|
||||
return server.request({
|
||||
url: '/resource/system/company/list',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
//新增
|
||||
interface Addata{
|
||||
division:String //区划名称
|
||||
divisionNo:String //区划编码
|
||||
cname:String //公司名称
|
||||
ccode:String //组织机构代码
|
||||
address?:String //地址
|
||||
addressProvince?:String //地址-省
|
||||
addressCity?:String //地址-市
|
||||
addressArea?:String //地址-区县
|
||||
contacts?:String //联系人
|
||||
phone?:String //联系电话
|
||||
status?:String|Number //状态:1-启用,0-禁用
|
||||
logo?:String //logo地址
|
||||
delFlag?:String //删除标识:1-已删除,0-未删除
|
||||
accountBalance?:String //账户余额
|
||||
}
|
||||
export function addyunys(data:Addata) {
|
||||
return server.request({
|
||||
url: '/resource/system/company/add',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
//修改
|
||||
export function updateyys(data:Addata) {
|
||||
return server.request({
|
||||
url: '/resource/system/company/update',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
//删除
|
||||
export function delyys(id:String) {
|
||||
return server.request({
|
||||
url: '/resource/system/company/del',
|
||||
method: 'post',
|
||||
data:{
|
||||
id
|
||||
}
|
||||
})
|
||||
}
|
||||
112
src/api/systemSet/dict.ts
Normal file
@ -0,0 +1,112 @@
|
||||
import server from '@/utils/request'
|
||||
|
||||
|
||||
//查询字典类型
|
||||
|
||||
interface Dictypequery{
|
||||
pageSize:String|Number //每页条数
|
||||
pageNo:Number //页数
|
||||
typeName?:String //类型名称
|
||||
typeCode?:String //类型编码
|
||||
}
|
||||
|
||||
export function getdicttype(params:Dictypequery) {
|
||||
return server.request({
|
||||
url: '/resource/dict/listtype',
|
||||
method: 'get',
|
||||
params
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
//新增字典类型
|
||||
interface Dicttype {
|
||||
pkId:String
|
||||
typeName:String //类型名称
|
||||
typeCode:String //类型编码
|
||||
mark?:String //描述
|
||||
}
|
||||
|
||||
export function adddicttype(data:Dicttype) {
|
||||
return server.request({
|
||||
url: '/resource/dict/addtype',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
//修改字典类型
|
||||
export function updatetype(data:Dicttype) {
|
||||
return server.request({
|
||||
url: '/resource/dict/updatetype',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
//删除字典类型
|
||||
export function deltype(typeId:String) {
|
||||
return server.request({
|
||||
url: '/resource/dict/deltype',
|
||||
method: 'post',
|
||||
data:{
|
||||
typeId
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//查询字典值
|
||||
interface Dictval{
|
||||
typeId?:String //字典类型id
|
||||
typeName?:String //字典类型名
|
||||
typeCode?:String //字典类型编码
|
||||
dictId?:String //字典id
|
||||
dictName?:String //字典名
|
||||
dictCode?:String //字典编码
|
||||
dictValue?:String //字典值
|
||||
}
|
||||
export function getdict(params?:Dictval) {
|
||||
return server.request({
|
||||
url: '/resource/dict/listdict',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
interface Dictqs {
|
||||
typeId:string //类型ID
|
||||
dictName:string //字典名称
|
||||
dictCode:string //字典编码
|
||||
dictValue:string //字典值
|
||||
sort?:string|Number //排序
|
||||
typeCode?:string
|
||||
}
|
||||
|
||||
//新增字典值
|
||||
export function adddict(data:Dictqs) {
|
||||
return server.request({
|
||||
url: '/resource/dict/adddict',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
//新增字典值
|
||||
export function updatedict(data:Dictqs) {
|
||||
return server.request({
|
||||
url: '/resource/dict/updatedict',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
//删除字典值
|
||||
export function dedictval(dictId:String|Number) {
|
||||
return server.request({
|
||||
url: '/resource/dict/deldict',
|
||||
method: 'post',
|
||||
data:{
|
||||
dictId
|
||||
}
|
||||
})
|
||||
}
|
||||
43
src/api/systemSet/guanlf.ts
Normal file
@ -0,0 +1,43 @@
|
||||
import server from '@/utils/request'
|
||||
|
||||
|
||||
//查询
|
||||
interface Query{
|
||||
pageSize?:String|Number //每页条数
|
||||
pageNo?:String|Number //页数
|
||||
divisionNo?:String //区划编码
|
||||
}
|
||||
|
||||
export function getlist(params:Query) {
|
||||
return server.request({
|
||||
url: '/resource/system/manager/list',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
interface Addata{
|
||||
division:String //区划名称
|
||||
divisionNo:String //区划编码
|
||||
name:String //管理方名称
|
||||
code:String //组织机构代码
|
||||
logo:String //logo地址
|
||||
address:String //地址
|
||||
addressProvince:String //地址-省
|
||||
addressCity:String //地址-市
|
||||
addressArea:String //地址-区县
|
||||
contacts:String //联系人
|
||||
phone:String //联系电话
|
||||
bankName:String //开户行名称
|
||||
bankAccount:String //银行账户
|
||||
wechatPayMchid:String //微信支付商户号
|
||||
}
|
||||
|
||||
//修改
|
||||
export function updateyys(data:Addata) {
|
||||
return server.request({
|
||||
url: '/resource/system/manager/update',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
54
src/api/systemSet/hdzxh.ts
Normal file
@ -0,0 +1,54 @@
|
||||
import server from '@/utils/request'
|
||||
|
||||
//新增
|
||||
interface Addobj{
|
||||
name:String //型号名称
|
||||
dccNumMin:String //仓位数量下限
|
||||
dccNumMax:String //仓位数量上限
|
||||
serviceCapability:String //服务能力
|
||||
chargerPower:String //充电机功率
|
||||
autoLevel:String //自动化级别:1-无人值守,2-有人值守
|
||||
}
|
||||
|
||||
export function adddicttype(data:Addobj) {
|
||||
return server.request({
|
||||
url: '/resource/stationtype/add',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
//修改
|
||||
export function update(data:Addobj) {
|
||||
return server.request({
|
||||
url: '/resource/stationtype/update',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
//查询
|
||||
interface Querydata{
|
||||
pageSize:String|number, //每页条数
|
||||
pageNo:String|number //页数
|
||||
}
|
||||
export function getdicttype(params:Querydata) {
|
||||
return server.request({
|
||||
url: '/resource/stationtype/list',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
//删除
|
||||
export function deltype(id:string) {
|
||||
return server.request({
|
||||
url: '/resource/stationtype/del',
|
||||
method: 'post',
|
||||
data:{
|
||||
id
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
94
src/api/systemSet/menu.ts
Normal file
@ -0,0 +1,94 @@
|
||||
import server from '@/utils/request'
|
||||
|
||||
interface Addobj{
|
||||
name:String //菜单名称
|
||||
mark:String //功能描述
|
||||
component:String //对应路由组件component
|
||||
path:String //对应路由path
|
||||
status:String|Number //状态
|
||||
sort:String|Number //排序
|
||||
icon:String //菜单图标
|
||||
type:String //菜单类型: 系统-1,目录-2,页面-3
|
||||
parentId:String //父级菜单id
|
||||
pkId?:String
|
||||
}
|
||||
|
||||
//新增
|
||||
export function addmenu(data:Addobj) {
|
||||
return server.request({
|
||||
url: '/resource/menu/add',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
//修改
|
||||
export function update(data:Addobj) {
|
||||
return server.request({
|
||||
url: '/resource/menu/update',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
//删除
|
||||
export function delmenu(menuId:String) {
|
||||
return server.request({
|
||||
url: '/resource/menu/del',
|
||||
method: 'post',
|
||||
data:{
|
||||
menuId
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//新增接口权限
|
||||
|
||||
interface AddTnter{
|
||||
code:String //资源编码:页面:操作 权限标识符
|
||||
name:String //接口名称
|
||||
menuId:String //菜单ID
|
||||
allow:String //允许访问路径,gateway-允许网关访问,private-不允许网关访问
|
||||
uri:String //uri路径
|
||||
requestType:String //请求方式:GET/POST/DEL/PUSH
|
||||
mark:String //接口描述
|
||||
pkId?:String
|
||||
}
|
||||
|
||||
export function addInter(data:AddTnter) {
|
||||
return server.request({
|
||||
url: '/resource/permission/add',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
//修改
|
||||
export function updateInter(data:AddTnter) {
|
||||
return server.request({
|
||||
url: '/resource/permission/update',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
//删除
|
||||
export function delInter(permissionId:String) {
|
||||
return server.request({
|
||||
url: '/resource/permission/del',
|
||||
method: 'post',
|
||||
data:{
|
||||
permissionId
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//查询
|
||||
export function getInter(menuId:String) {
|
||||
return server.request({
|
||||
url: '/resource/permission/list',
|
||||
method: 'get',
|
||||
params:{
|
||||
menuId
|
||||
}
|
||||
})
|
||||
}
|
||||
59
src/api/systemSet/modelno.ts
Normal file
@ -0,0 +1,59 @@
|
||||
import server from '@/utils/request'
|
||||
|
||||
//新增
|
||||
interface Addobj{
|
||||
pkId?:String,
|
||||
typeName:String //型号名称
|
||||
typeCode:String //型号编码
|
||||
batteryCellManuafactory:String //电芯厂商
|
||||
batteryManuafactory:String //电池包厂商
|
||||
material:String //电池材料:1-三元铁锂,2-磷酸铁锂
|
||||
connectionMode:String //连接方式
|
||||
capacity:String //标称容量,单位千瓦时kWh
|
||||
voltage:String //标称电压,单位伏特V
|
||||
weight:String //重量,单位克
|
||||
size:String //尺寸,长宽高
|
||||
}
|
||||
|
||||
export function adddicttype(data:Addobj) {
|
||||
return server.request({
|
||||
url: '/resource/batterytype/add',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
//修改
|
||||
export function update(data:Addobj) {
|
||||
return server.request({
|
||||
url: '/resource/batterytype/update',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
//查询
|
||||
interface Querydata{
|
||||
pageSize:String|number, //每页条数
|
||||
pageNo:String|number //页数
|
||||
}
|
||||
export function getdicttype(params:Querydata) {
|
||||
return server.request({
|
||||
url: '/resource/batterytype/list',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
//删除
|
||||
export function deltype(id:string) {
|
||||
return server.request({
|
||||
url: '/resource/batterytype/del',
|
||||
method: 'post',
|
||||
data:{
|
||||
id
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
64
src/api/systemSet/operator.ts
Normal file
@ -0,0 +1,64 @@
|
||||
import server from '@/utils/request'
|
||||
|
||||
|
||||
//查询
|
||||
interface Query{
|
||||
pageSize:String|Number //每页条数
|
||||
pageNo:String|Number //页数
|
||||
divisionNo?:String //区划编码
|
||||
poname?:String //运营商名称
|
||||
pocode?:String //运营商组织机构代码
|
||||
status?:String //状态:1-启用,0-禁用
|
||||
}
|
||||
|
||||
export function getlist(params:Query) {
|
||||
return server.request({
|
||||
url: '/resource/proxyoperater/list',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
//新增
|
||||
interface Addata{
|
||||
division:String //区划名称
|
||||
divisionNo:String //区划编码
|
||||
poname:String //运营商名称
|
||||
pocode:String //运营商组织机构代码
|
||||
address?:String //地址
|
||||
addressProvince?:String //地址-省
|
||||
addressCity?:String //地址-市
|
||||
addressArea?:String //地址-区县
|
||||
contacts?:String //联系人
|
||||
phone?:String //联系电话
|
||||
status?:String|Number //状态:1-启用,0-禁用
|
||||
readonly?:String|Number //只读:1-是,0-否
|
||||
stationCount?:String //换电站数量
|
||||
}
|
||||
export function addyunys(data:Addata) {
|
||||
return server.request({
|
||||
url: '/resource/proxyoperater/add',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
//修改
|
||||
export function updateyys(data:Addata) {
|
||||
return server.request({
|
||||
url: '/resource/proxyoperater/update',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
//删除
|
||||
export function delyys(id:String) {
|
||||
return server.request({
|
||||
url: '/resource/proxyoperater/del',
|
||||
method: 'post',
|
||||
data:{
|
||||
id
|
||||
}
|
||||
})
|
||||
}
|
||||
80
src/api/systemSet/role.ts
Normal file
@ -0,0 +1,80 @@
|
||||
import server from '@/utils/request'
|
||||
|
||||
//新增
|
||||
interface Addobj{
|
||||
pkId:String
|
||||
name:String //角色名称
|
||||
rcode:String //角色编码
|
||||
mark:String //功能描述
|
||||
status:String|Number //状态
|
||||
type:String|Number //角色类型:1-开发者,2-运营方,3-客户
|
||||
readonly:String|Number //是否内置角色,内置角色不允许修改
|
||||
}
|
||||
|
||||
export function addrole(data:Addobj) {
|
||||
return server.request({
|
||||
url: '/resource/role/add',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
//修改
|
||||
export function updaterole(data:Addobj) {
|
||||
return server.request({
|
||||
url: '/resource/role/update',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
//删除
|
||||
export function delrole(rid:String) {
|
||||
return server.request({
|
||||
url: '/resource/role/del',
|
||||
method: 'post',
|
||||
data:{
|
||||
rid
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//查询
|
||||
export function getlist(userId:String) {
|
||||
return server.request({
|
||||
url: '/resource/role/list',
|
||||
method: 'get',
|
||||
params:{
|
||||
userId
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//全量新增资源权限
|
||||
interface Addquanx{
|
||||
rcode:String, //角色编码
|
||||
types:String //类型,不同类型之间用';' SYS-系统,MENU-菜单,PER-资源权限 示例 SYS;MENU;PER
|
||||
sourceIds:String //资源ID。同一类型之间用','隔开,不同类型之间用';'隔开,与type对应 跟types顺序保持一致 示例 123,4561;asd,sdd;ms11,4d4s
|
||||
}
|
||||
|
||||
|
||||
export function allAddpermi(data:Addquanx) {
|
||||
return server.request({
|
||||
url: '/resource/role/deladdrolesource',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
//查询角色资源
|
||||
interface Qsobj{
|
||||
rcode:String //角色编码
|
||||
resourceType:String //资源类型
|
||||
}
|
||||
export function getinter(data:Qsobj) {
|
||||
return server.request({
|
||||
url: '/resource/role/listrolesource',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
89
src/api/systemSet/user.ts
Normal file
@ -0,0 +1,89 @@
|
||||
import server from '@/utils/request'
|
||||
|
||||
//新增用户
|
||||
interface User{
|
||||
uname:String //账号
|
||||
type:String|Number //账号类型:1-开发者,2-运营方,3-客户
|
||||
password:String // 密码
|
||||
status:String|Number //状态:1-启用,0-禁用
|
||||
uid?:String //用户ID(修改时用)
|
||||
typeRelateCode?:String //关联方代码
|
||||
name?:String //姓名
|
||||
email?:String //邮箱
|
||||
phone?:String //手机号码
|
||||
sex?:String|Number //性别
|
||||
readonly?:String|Number //是否内置账号,内置账号不允许动
|
||||
avatar?:String //头像
|
||||
}
|
||||
|
||||
//新增
|
||||
export function adduser(data:User) {
|
||||
return server.request({
|
||||
url: '/resource/user/add',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
interface Userquery{
|
||||
pageSize:String|Number //每页条数
|
||||
pageNo:String|Number //页数
|
||||
uname?:String //账号
|
||||
typeRelateCode?:String //关联方代码
|
||||
name?:String //姓名
|
||||
phone?:String //手机
|
||||
}
|
||||
|
||||
//查询
|
||||
export function getuser(params:Userquery) {
|
||||
return server.request({
|
||||
url: '/resource/user/list',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
//修改
|
||||
export function updateuser(data:User) {
|
||||
return server.request({
|
||||
url: '/resource/user/update',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
//删除
|
||||
export function deleteuser(data:String) {
|
||||
return server.request({
|
||||
url: '/resource/user/del',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
//查询角色 ??
|
||||
// export function getrolelist(userId:String) {
|
||||
// return server.request({
|
||||
// url: '/resource/role/list',
|
||||
// method: 'get',
|
||||
// params:{
|
||||
// userId
|
||||
// }
|
||||
// })
|
||||
// }
|
||||
|
||||
//给用户分配角色
|
||||
interface Addrole{
|
||||
uid:String //用户ID
|
||||
rcode:String //角色编码
|
||||
pkId?:String
|
||||
}
|
||||
|
||||
export function adduserrole(data:Addrole) {
|
||||
return server.request({
|
||||
url: '/resource/user/adduserrole',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
121
src/api/tool/gen.ts
Normal file
@ -0,0 +1,121 @@
|
||||
import server from "@/utils/request";
|
||||
import type { QueryParam } from "../form";
|
||||
|
||||
export type GenEColumn = {
|
||||
columnName?: string;
|
||||
columnComment?: string;
|
||||
};
|
||||
export type GenTColumn = {
|
||||
tableName?: string;
|
||||
tableComment?: string;
|
||||
columns?: GenEColumn[];
|
||||
};
|
||||
|
||||
export type GenInfoObj = {
|
||||
subTableName?: string;
|
||||
subTableFkName?: string;
|
||||
tplWebType?: string;
|
||||
tplCategory?: string;
|
||||
packageName?: string;
|
||||
moduleName?: string;
|
||||
businessName?: string;
|
||||
functionName?: string;
|
||||
treeName?: string;
|
||||
genType?: string;
|
||||
parentMenuId?: string;
|
||||
genPath?: string;
|
||||
treeCode?: string;
|
||||
columns?: GenEColumn[];
|
||||
treeParentCode?: string;
|
||||
params?: {
|
||||
treeCode?: string;
|
||||
treeName?: string;
|
||||
treeParentCode?: string;
|
||||
parentMenuId?: string;
|
||||
};
|
||||
tableId?: string;
|
||||
tableName?: string;
|
||||
tableComment?: string;
|
||||
className?: string;
|
||||
functionAuthor?: string;
|
||||
remark?: string;
|
||||
};
|
||||
|
||||
// 查询生成表数据
|
||||
export function listTable(query: GenTColumn & QueryParam) {
|
||||
return server.request<GenInfoObj>({
|
||||
url: "/tool/gen/list",
|
||||
method: "get",
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
// 查询db数据库列表
|
||||
export function listDbTable(query: GenTColumn & QueryParam) {
|
||||
return server.request<GenInfoObj>({
|
||||
url: "/tool/gen/db/list",
|
||||
method: "get",
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
// 查询表详细信息
|
||||
export function getGenTable(tableId: string) {
|
||||
return server.request<{
|
||||
rows?: GenEColumn[];
|
||||
info?: GenInfoObj;
|
||||
tables?: GenTColumn[];
|
||||
}>({
|
||||
url: "/tool/gen/" + tableId,
|
||||
method: "get",
|
||||
});
|
||||
}
|
||||
|
||||
// 修改代码生成信息
|
||||
export function updateGenTable(data: GenInfoObj) {
|
||||
return server.request({
|
||||
url: "/tool/gen",
|
||||
method: "put",
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 导入表
|
||||
export function importTable(data: { tables: string }) {
|
||||
return server.request({
|
||||
url: "/tool/gen/importTable",
|
||||
method: "post",
|
||||
params: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 预览生成代码
|
||||
export function previewTable(tableId: string) {
|
||||
return server.request<{ [key: string]: string }>({
|
||||
url: "/tool/gen/preview/" + tableId,
|
||||
method: "get",
|
||||
});
|
||||
}
|
||||
|
||||
// 删除表数据
|
||||
export function delTable(tableId: string) {
|
||||
return server.request({
|
||||
url: "/tool/gen/" + tableId,
|
||||
method: "delete",
|
||||
});
|
||||
}
|
||||
|
||||
// 生成代码(自定义路径)
|
||||
export function genCode(tableName: string) {
|
||||
return server.request({
|
||||
url: "/tool/gen/genCode/" + tableName,
|
||||
method: "get",
|
||||
});
|
||||
}
|
||||
|
||||
// 同步数据库
|
||||
export function synchDb(tableName: string) {
|
||||
return server.request({
|
||||
url: "/tool/gen/synchDb/" + tableName,
|
||||
method: "get",
|
||||
});
|
||||
}
|
||||
60
src/api/workflow/activiti/definition.ts
Normal file
@ -0,0 +1,60 @@
|
||||
import server from "@/utils/request";
|
||||
import type { QueryParam } from "../../form";
|
||||
|
||||
export type ActDefinitionObj = {
|
||||
id: string;
|
||||
key?: string;
|
||||
name?: string;
|
||||
category?: string;
|
||||
version?: string;
|
||||
description?: string;
|
||||
deploymentId?: string;
|
||||
suspendState?: number;
|
||||
};
|
||||
|
||||
// 查询ActDefinition列表
|
||||
export function listDefinition(query: ActDefinitionObj & QueryParam) {
|
||||
return server.request<ActDefinitionObj>({
|
||||
url: "/activiti/processDefinition/list",
|
||||
method: "get",
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
// 挂起激活转换
|
||||
export function suspendOrActiveApply(data: ActDefinitionObj) {
|
||||
return server.request({
|
||||
url: "/activiti/processDefinition/suspendOrActiveApply",
|
||||
method: "post",
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 删除ActDefinition
|
||||
export function delDefinition(id: string) {
|
||||
return server.request({
|
||||
url: "/activiti/processDefinition/remove/" + id,
|
||||
method: "delete",
|
||||
});
|
||||
}
|
||||
|
||||
// 流程定义转成模型
|
||||
export function convert2Model(data: { processDefinitionId: string }) {
|
||||
return server.request({
|
||||
url: "/activiti/processDefinition/convert2Model",
|
||||
method: "post",
|
||||
params: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 上传并部署流程定义
|
||||
export function uploadDefinition(data: { file: File }) {
|
||||
return server.request({
|
||||
url: "/activiti/processDefinition/upload",
|
||||
method: "post",
|
||||
headers: {
|
||||
"Content-Type": "multipart/form-data",
|
||||
},
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
19
src/api/workflow/activiti/historyFormdata.ts
Normal file
@ -0,0 +1,19 @@
|
||||
import server from "@/utils/request";
|
||||
|
||||
export type ApprovalHisObj = {
|
||||
id: string;
|
||||
taskNodeName?: string;
|
||||
createName?: string;
|
||||
createdDate?: string;
|
||||
formHistoryDataDTO?: {
|
||||
title?: string;
|
||||
value?: string;
|
||||
}[];
|
||||
};
|
||||
// 查询请假详细
|
||||
export function historyFromData(instanceId: string) {
|
||||
return server.request<ApprovalHisObj[]>({
|
||||
url: "/historyFromData/ByInstanceId/" + instanceId,
|
||||
method: "get",
|
||||
});
|
||||
}
|
||||
81
src/api/workflow/activiti/modeler.ts
Normal file
@ -0,0 +1,81 @@
|
||||
import server from "@/utils/request";
|
||||
import type { QueryParam } from "../../form";
|
||||
|
||||
export type XmlMetaInfo = {
|
||||
key?: string;
|
||||
name?: string;
|
||||
description?: string;
|
||||
version?: number;
|
||||
};
|
||||
|
||||
export type ActModelerObj = {
|
||||
id: string;
|
||||
key?: string;
|
||||
name?: string;
|
||||
version?: string;
|
||||
createTime?: string;
|
||||
lastUpdateTime?: string;
|
||||
description?: string;
|
||||
bpmnXml?: string;
|
||||
svgXml?: string;
|
||||
metaInfo?: string;
|
||||
};
|
||||
|
||||
// 查询模型列表
|
||||
export function listModeler(query: ActModelerObj & QueryParam) {
|
||||
return server.request<ActModelerObj>({
|
||||
url: "/activiti/modeler/list",
|
||||
method: "get",
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
// 新增模型
|
||||
export function addModeler(data: ActModelerObj) {
|
||||
return server.request<string>({
|
||||
url: "/activiti/modeler/create",
|
||||
method: "post",
|
||||
params: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 删除模型
|
||||
export function delModeler(modelId: string) {
|
||||
return server.request({
|
||||
url: "/activiti/modeler/remove/" + modelId,
|
||||
method: "delete",
|
||||
});
|
||||
}
|
||||
|
||||
// 导出模型
|
||||
export function exportModeler(modelId: string) {
|
||||
return server.request({
|
||||
url: "/activiti/modeler/export/" + modelId,
|
||||
method: "get",
|
||||
});
|
||||
}
|
||||
|
||||
// 部署模型
|
||||
export function deployModeler(modelId: string) {
|
||||
return server.request({
|
||||
url: "/activiti/modeler/deploy/" + modelId,
|
||||
method: "get",
|
||||
});
|
||||
}
|
||||
|
||||
// 获取Modeler详情
|
||||
export function getModelerDetail(modelId: string) {
|
||||
return server.request<ActModelerObj>({
|
||||
url: "/activiti/modeler/detail/" + modelId,
|
||||
method: "get",
|
||||
});
|
||||
}
|
||||
|
||||
// 部署模型
|
||||
export function updateModeler(data: ActModelerObj) {
|
||||
return server.request({
|
||||
url: "/activiti/modeler/save",
|
||||
method: "put",
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
103
src/api/workflow/activiti/task.ts
Normal file
@ -0,0 +1,103 @@
|
||||
import server from "@/utils/request";
|
||||
import type { QueryParam } from "../../form";
|
||||
|
||||
export type ActTaskObj = {
|
||||
taskId?: string;
|
||||
taskName?: string;
|
||||
taskContent?: string;
|
||||
procDefId?: string;
|
||||
instanceId?: string;
|
||||
definitionKey?: string;
|
||||
businessKey?: string;
|
||||
instanceName?: string;
|
||||
createUser?: string;
|
||||
createUserName?: string;
|
||||
startTime?: string;
|
||||
endTime?: string;
|
||||
status?: string;
|
||||
};
|
||||
|
||||
export type TaskHistoryObj = {
|
||||
actId?: string;
|
||||
actName?: string;
|
||||
actType?: string;
|
||||
actKey?: string;
|
||||
definitionKey?: string;
|
||||
businessKey?: string;
|
||||
instanceId?: string;
|
||||
instanceName?: string;
|
||||
assignee?: string;
|
||||
assigneeName?: string;
|
||||
startTime?: string;
|
||||
endTime?: string;
|
||||
status?: string;
|
||||
pass?: string;
|
||||
reason?: string;
|
||||
department?: string;
|
||||
actParams?: string;
|
||||
actParamsObj?: { [key: string]: string };
|
||||
};
|
||||
|
||||
// 查询已办任务列表
|
||||
export function queryDoneList(query: ActTaskObj & QueryParam) {
|
||||
return server.request<ActTaskObj>({
|
||||
url: "/activiti/task/doneList",
|
||||
method: "get",
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
// 查询待办办任务列表
|
||||
export function queryTodoList(query: ActTaskObj & QueryParam) {
|
||||
return server.request<ActTaskObj>({
|
||||
url: "/activiti/task/todoList",
|
||||
method: "get",
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
// 查询我的流程列表
|
||||
export function queryMyProcess(query: ActTaskObj & QueryParam) {
|
||||
return server.request<ActTaskObj>({
|
||||
url: "/activiti/task/myProcessList",
|
||||
method: "get",
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
// 查询流程图相关数据
|
||||
export function queryViewerData(params: { procDefId: string; instanceId: string }) {
|
||||
return server.request<{ bpmnXml: string; actList: TaskHistoryObj[] }>({
|
||||
url: `/activiti/task/viewerData`,
|
||||
method: "get",
|
||||
params: params,
|
||||
});
|
||||
}
|
||||
|
||||
// 查询历史审批
|
||||
export function queryHistoryList(query: TaskHistoryObj & QueryParam) {
|
||||
return server.request<TaskHistoryObj>({
|
||||
url: "/activiti/task/historyList",
|
||||
method: "get",
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
// 审批任务
|
||||
export function complete(params: { taskId: string; pass: string; comment?: string }) {
|
||||
return server.request<ActTaskObj>({
|
||||
url: "/activiti/task/complete",
|
||||
method: "post",
|
||||
data: params,
|
||||
});
|
||||
}
|
||||
|
||||
// 查询已办任务列表
|
||||
export function queryTaskCount() {
|
||||
return server.get<{
|
||||
todoCount: number;
|
||||
doneCount: number;
|
||||
myProcessCount: number;
|
||||
finishCount: number;
|
||||
}>("/activiti/task/taskCount");
|
||||
}
|
||||
70
src/api/workflow/leave.ts
Normal file
@ -0,0 +1,70 @@
|
||||
import server from "@/utils/request";
|
||||
import type { QueryParam } from "../form";
|
||||
|
||||
export type LeaveObj = {
|
||||
id: string;
|
||||
createName?: string;
|
||||
processType?: string;
|
||||
department?: string;
|
||||
type?: string;
|
||||
title?: string;
|
||||
reason?: string;
|
||||
leaveStartTime?: string;
|
||||
leaveEndTime?: string;
|
||||
instanceId?: string;
|
||||
state?: string;
|
||||
createBy?: string;
|
||||
createTime?: string;
|
||||
updateTime?: string;
|
||||
};
|
||||
// 查询请假列表
|
||||
export function listLeave(query: LeaveObj & QueryParam) {
|
||||
return server.request<LeaveObj>({
|
||||
url: "/workflow/leave/list",
|
||||
method: "get",
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
// 查询请假详细
|
||||
export function getLeave(id: string) {
|
||||
return server.request<LeaveObj>({
|
||||
url: "/workflow/leave/" + id,
|
||||
method: "get",
|
||||
});
|
||||
}
|
||||
|
||||
// 新增请假
|
||||
export function addLeave(data: LeaveObj) {
|
||||
return server.request({
|
||||
url: "/workflow/leave",
|
||||
method: "post",
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 修改请假
|
||||
export function updateLeave(data: LeaveObj) {
|
||||
return server.request({
|
||||
url: "/workflow/leave",
|
||||
method: "put",
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 删除请假
|
||||
export function delLeave(id: LeaveObj) {
|
||||
return server.request({
|
||||
url: "/workflow/leave/" + id,
|
||||
method: "delete",
|
||||
});
|
||||
}
|
||||
|
||||
// 导出请假
|
||||
export function exportLeave(query: LeaveObj) {
|
||||
return server.request({
|
||||
url: "/workflow/leave/export",
|
||||
method: "get",
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
BIN
src/assets/401_images/401.gif
Normal file
|
After Width: | Height: | Size: 160 KiB |
BIN
src/assets/404_images/404.png
Normal file
|
After Width: | Height: | Size: 96 KiB |
BIN
src/assets/404_images/404_cloud.png
Normal file
|
After Width: | Height: | Size: 4.7 KiB |
74
src/assets/base.css
Normal file
@ -0,0 +1,74 @@
|
||||
/* color palette from <https://github.com/vuejs/theme> */
|
||||
:root {
|
||||
--vt-c-white: #ffffff;
|
||||
--vt-c-white-soft: #f8f8f8;
|
||||
--vt-c-white-mute: #f2f2f2;
|
||||
|
||||
--vt-c-black: #181818;
|
||||
--vt-c-black-soft: #222222;
|
||||
--vt-c-black-mute: #282828;
|
||||
|
||||
--vt-c-indigo: #2c3e50;
|
||||
|
||||
--vt-c-divider-light-1: rgba(60, 60, 60, 0.29);
|
||||
--vt-c-divider-light-2: rgba(60, 60, 60, 0.12);
|
||||
--vt-c-divider-dark-1: rgba(84, 84, 84, 0.65);
|
||||
--vt-c-divider-dark-2: rgba(84, 84, 84, 0.48);
|
||||
|
||||
--vt-c-text-light-1: var(--vt-c-indigo);
|
||||
--vt-c-text-light-2: rgba(60, 60, 60, 0.66);
|
||||
--vt-c-text-dark-1: var(--vt-c-white);
|
||||
--vt-c-text-dark-2: rgba(235, 235, 235, 0.64);
|
||||
}
|
||||
|
||||
/* semantic color variables for this project */
|
||||
:root {
|
||||
--color-background: var(--vt-c-white);
|
||||
--color-background-soft: var(--vt-c-white-soft);
|
||||
--color-background-mute: var(--vt-c-white-mute);
|
||||
|
||||
--color-border: var(--vt-c-divider-light-2);
|
||||
--color-border-hover: var(--vt-c-divider-light-1);
|
||||
|
||||
--color-heading: var(--vt-c-text-light-1);
|
||||
--color-text: var(--vt-c-text-light-1);
|
||||
|
||||
--section-gap: 160px;
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
:root {
|
||||
--color-background: var(--vt-c-black);
|
||||
--color-background-soft: var(--vt-c-black-soft);
|
||||
--color-background-mute: var(--vt-c-black-mute);
|
||||
|
||||
--color-border: var(--vt-c-divider-dark-2);
|
||||
--color-border-hover: var(--vt-c-divider-dark-1);
|
||||
|
||||
--color-heading: var(--vt-c-text-dark-1);
|
||||
--color-text: var(--vt-c-text-dark-2);
|
||||
}
|
||||
}
|
||||
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
box-sizing: border-box;
|
||||
margin: 0;
|
||||
position: relative;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
body {
|
||||
min-height: 100vh;
|
||||
color: var(--color-text);
|
||||
background: var(--color-background);
|
||||
transition: color 0.5s, background-color 0.5s;
|
||||
line-height: 1.6;
|
||||
font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu,
|
||||
Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
|
||||
font-size: 15px;
|
||||
text-rendering: optimizeLegibility;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
1
src/assets/icons/svg/404.svg
Normal 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
src/assets/icons/svg/alignCenterHorizontal.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 20 20"><g fill="none"><path d="M18 9.5a.5.5 0 0 1-.5.5H16v2a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-2H9v4a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-4H2.5a.5.5 0 0 1 0-1H4V5a2 2 0 0 1 2-2h1a2 2 0 0 1 2 2v4h2V7a2 2 0 0 1 2-2h1a2 2 0 0 1 2 2v2h1.5a.5.5 0 0 1 .5.5zM5 14a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H6a1 1 0 0 0-1 1v9zm7-2a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1h-1a1 1 0 0 0-1 1v5z" fill="currentColor"></path></g></svg>
|
||||
|
After Width: | Height: | Size: 517 B |
1
src/assets/icons/svg/alignCenterVertical.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 20 20"><g fill="none"><path d="M10.5 18a.5.5 0 0 1-.5-.5V16H8a2 2 0 0 1-2-2v-1a2 2 0 0 1 2-2h2V9H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h4V2.5a.5.5 0 0 1 1 0V4h4a2 2 0 0 1 2 2v1a2 2 0 0 1-2 2h-4v2h2a2 2 0 0 1 2 2v1a2 2 0 0 1-2 2h-2v1.5a.5.5 0 0 1-.5.5zM6 5a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h9a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H6zm2 7a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1v-1a1 1 0 0 0-1-1H8z" fill="currentColor"></path></g></svg>
|
||||
|
After Width: | Height: | Size: 518 B |
1
src/assets/icons/svg/alignEndHorizontal.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 20 20"><g fill="none"><path d="M16.5 18a.5.5 0 0 1-.5-.5v-15a.5.5 0 0 1 1 0v15a.5.5 0 0 1-.5.5z" fill="currentColor"></path><path d="M10 4a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-2zM9 6a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1V6z" fill="currentColor"></path></g></svg>
|
||||
|
After Width: | Height: | Size: 409 B |
1
src/assets/icons/svg/alignEndVertical.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 20 20"><g fill="none"><path d="M6 8a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2v-2a2 2 0 0 0-2-2H6zm-1 2a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1v-2z" fill="currentColor"></path><path d="M2 16.5a.5.5 0 0 1 .5-.5h15a.5.5 0 0 1 0 1h-15a.5.5 0 0 1-.5-.5z" fill="currentColor"></path></g></svg>
|
||||
|
After Width: | Height: | Size: 409 B |
1
src/assets/icons/svg/alignStartHorizontal.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 20 20"><g fill="none"><path d="M3.5 18a.5.5 0 0 1-.5-.5v-15a.5.5 0 0 1 1 0v15a.5.5 0 0 1-.5.5z" fill="currentColor"></path><path d="M8 4a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2H8zM7 6a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1V6z" fill="currentColor"></path></g></svg>
|
||||
|
After Width: | Height: | Size: 405 B |
1
src/assets/icons/svg/alignStartVertical.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 20 20"><g fill="none"><path d="M2 3.5a.5.5 0 0 1 .5-.5h15a.5.5 0 0 1 0 1h-15a.5.5 0 0 1-.5-.5z" fill="currentColor"></path><path d="M6 6a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2H6zM5 8a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V8z" fill="currentColor"></path></g></svg>
|
||||
|
After Width: | Height: | Size: 405 B |
1
src/assets/icons/svg/bug.svg
Normal 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
src/assets/icons/svg/build.svg
Normal 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
src/assets/icons/svg/button.svg
Normal 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 |
1
src/assets/icons/svg/cascader.svg
Normal 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="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
src/assets/icons/svg/chart.svg
Normal 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 |
1
src/assets/icons/svg/checkbox.svg
Normal 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="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 |
1
src/assets/icons/svg/clipboard.svg
Normal file
@ -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
src/assets/icons/svg/code.svg
Normal 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
src/assets/icons/svg/color.svg
Normal 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 |
1
src/assets/icons/svg/component.svg
Normal 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="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 |
1
src/assets/icons/svg/dashboard.svg
Normal file
@ -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 |
1
src/assets/icons/svg/date.svg
Normal 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
src/assets/icons/svg/dateRange.svg
Normal 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="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
src/assets/icons/svg/dict.svg
Normal 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 |
1
src/assets/icons/svg/documentation.svg
Normal file
@ -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 |
1
src/assets/icons/svg/download.svg
Normal 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="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
src/assets/icons/svg/drag.svg
Normal 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
src/assets/icons/svg/druid.svg
Normal 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
src/assets/icons/svg/edit.svg
Normal 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 |
1
src/assets/icons/svg/education.svg
Normal file
@ -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
src/assets/icons/svg/email.svg
Normal 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
src/assets/icons/svg/eraser.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 20 20"><g fill="none"><path d="M11.197 2.44a1.5 1.5 0 0 1 2.121 0l4.243 4.242a1.5 1.5 0 0 1 0 2.121L9.364 17H14.5a.5.5 0 0 1 0 1H7.82a1.496 1.496 0 0 1-1.14-.437L2.437 13.32a1.5 1.5 0 0 1 0-2.121l8.76-8.76zm1.414.706a.5.5 0 0 0-.707 0L5.538 9.512l4.95 4.95l6.366-6.366a.5.5 0 0 0 0-.707L12.61 3.146zM9.781 15.17l-4.95-4.95l-1.687 1.687a.5.5 0 0 0 0 .707l4.243 4.243a.5.5 0 0 0 .707 0l1.687-1.687z" fill="currentColor"></path></g></svg>
|
||||
|
After Width: | Height: | Size: 531 B |
1
src/assets/icons/svg/example.svg
Normal file
@ -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
src/assets/icons/svg/excel.svg
Normal 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 |
1
src/assets/icons/svg/exitFullscreen.svg
Normal file
@ -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 |