Compare commits
10 Commits
034e5b87a7
...
8bf9f47d62
Author | SHA1 | Date | |
---|---|---|---|
8bf9f47d62 | |||
0edd267f78 | |||
e42f1a0b8c | |||
c2dd889c99 | |||
cd1779fffd | |||
9d092facd0 | |||
784c7c0783 | |||
fbea1c2c2a | |||
5bb201b272 | |||
e67d555685 |
@ -5,7 +5,11 @@ VITE_APP_TITLE = 新能源项目管理平台
|
|||||||
VITE_APP_ENV = 'development'
|
VITE_APP_ENV = 'development'
|
||||||
|
|
||||||
# 开发环境
|
# 开发环境
|
||||||
VITE_APP_BASE_API = 'http://192.168.110.6:8899'
|
VITE_APP_BASE_API = 'http://192.168.110.119:8899'
|
||||||
|
|
||||||
|
# 无人机接口地址
|
||||||
|
|
||||||
|
VITE_APP_BASE_DRONE_API = 'http://192.168.110.8:9136'
|
||||||
|
|
||||||
# 应用访问路径 例如使用前缀 /admin/
|
# 应用访问路径 例如使用前缀 /admin/
|
||||||
VITE_APP_CONTEXT_PATH = '/'
|
VITE_APP_CONTEXT_PATH = '/'
|
||||||
|
@ -14,7 +14,7 @@ VITE_APP_MONITOR_ADMIN = '/admin/applications'
|
|||||||
VITE_APP_SNAILJOB_ADMIN = '/snail-job'
|
VITE_APP_SNAILJOB_ADMIN = '/snail-job'
|
||||||
|
|
||||||
# 生产环境
|
# 生产环境
|
||||||
VITE_APP_BASE_API = 'http://192.168.110.5:8899'
|
VITE_APP_BASE_API = 'http://192.168.110.2:8899'
|
||||||
|
|
||||||
# 是否在打包时开启压缩,支持 gzip 和 brotli
|
# 是否在打包时开启压缩,支持 gzip 和 brotli
|
||||||
VITE_BUILD_COMPRESS = gzip
|
VITE_BUILD_COMPRESS = gzip
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||||
<meta name="renderer" content="webkit" />
|
<meta name="renderer" content="webkit" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" />
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.0" />
|
||||||
<link rel="icon" href="/favicon.ico" />
|
<link rel="icon" href="/favicon.ico" />
|
||||||
<title>新能源项目管理平台</title>
|
<title>新能源项目管理平台</title>
|
||||||
<!--[if lt IE 11
|
<!--[if lt IE 11
|
||||||
@ -209,6 +209,8 @@
|
|||||||
<div class="load_title">正在加载系统资源,请耐心等待</div>
|
<div class="load_title">正在加载系统资源,请耐心等待</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<script src="./src/assets/sdk/YJEarth.min.js"></script>
|
||||||
|
<script src="./src/utils/reconnecting-websocket.js"></script>
|
||||||
<script type="module" src="/src/main.ts"></script>
|
<script type="module" src="/src/main.ts"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -20,8 +20,10 @@
|
|||||||
"url": "https://gitee.com/JavaLionLi/plus-ui.git"
|
"url": "https://gitee.com/JavaLionLi/plus-ui.git"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@amap/amap-jsapi-loader": "^1.0.1",
|
||||||
"@element-plus/icons-vue": "2.3.1",
|
"@element-plus/icons-vue": "2.3.1",
|
||||||
"@highlightjs/vue-plugin": "2.1.0",
|
"@highlightjs/vue-plugin": "2.1.0",
|
||||||
|
"@turf/turf": "^7.2.0",
|
||||||
"@vueup/vue-quill": "1.2.0",
|
"@vueup/vue-quill": "1.2.0",
|
||||||
"@vueuse/core": "11.3.0",
|
"@vueuse/core": "11.3.0",
|
||||||
"animate.css": "4.1.1",
|
"animate.css": "4.1.1",
|
||||||
@ -33,21 +35,32 @@
|
|||||||
"echarts": "5.5.0",
|
"echarts": "5.5.0",
|
||||||
"element-plus": "2.8.8",
|
"element-plus": "2.8.8",
|
||||||
"esbuild": "^0.25.0",
|
"esbuild": "^0.25.0",
|
||||||
|
"ezuikit-js": "^8.1.10",
|
||||||
"file-saver": "2.0.5",
|
"file-saver": "2.0.5",
|
||||||
"fuse.js": "7.0.0",
|
"fuse.js": "7.0.0",
|
||||||
"highlight.js": "11.9.0",
|
"highlight.js": "11.9.0",
|
||||||
"image-conversion": "2.1.1",
|
"image-conversion": "2.1.1",
|
||||||
"js-cookie": "3.0.5",
|
"js-cookie": "3.0.5",
|
||||||
|
"js-md5": "^0.8.3",
|
||||||
"jsencrypt": "3.3.2",
|
"jsencrypt": "3.3.2",
|
||||||
|
"jszip": "^3.10.1",
|
||||||
|
"lodash": "^4.17.21",
|
||||||
|
"md5": "^2.3.0",
|
||||||
|
"mitt": "^3.0.1",
|
||||||
"nprogress": "0.2.0",
|
"nprogress": "0.2.0",
|
||||||
|
"ol": "^10.5.0",
|
||||||
"pinia": "2.2.6",
|
"pinia": "2.2.6",
|
||||||
"screenfull": "6.0.2",
|
"screenfull": "6.0.2",
|
||||||
|
"spark-md5": "^3.0.2",
|
||||||
"vue": "3.5.13",
|
"vue": "3.5.13",
|
||||||
"vue-cropper": "1.1.1",
|
"vue-cropper": "1.1.1",
|
||||||
"vue-i18n": "10.0.5",
|
"vue-i18n": "10.0.5",
|
||||||
"vue-json-pretty": "2.4.0",
|
"vue-json-pretty": "2.4.0",
|
||||||
|
"vue-print-nb": "^1.7.5",
|
||||||
"vue-router": "4.4.5",
|
"vue-router": "4.4.5",
|
||||||
"vue-types": "5.1.3",
|
"vue-types": "5.1.3",
|
||||||
|
"vue3-print-nb": "^0.1.4",
|
||||||
|
"vue3-scroll-seamless": "^1.0.6",
|
||||||
"vxe-table": "4.5.22"
|
"vxe-table": "4.5.22"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
@ -70,6 +83,7 @@
|
|||||||
"fast-glob": "3.3.2",
|
"fast-glob": "3.3.2",
|
||||||
"globals": "15.12.0",
|
"globals": "15.12.0",
|
||||||
"postcss": "8.4.36",
|
"postcss": "8.4.36",
|
||||||
|
"postcss-px-to-viewport": "^1.1.1",
|
||||||
"prettier": "3.2.5",
|
"prettier": "3.2.5",
|
||||||
"sass": "1.72.0",
|
"sass": "1.72.0",
|
||||||
"typescript": "5.7.2",
|
"typescript": "5.7.2",
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<template>
|
<template loading="true">
|
||||||
<el-config-provider :locale="appStore.locale" :size="appStore.size">
|
<el-config-provider :locale="appStore.locale" :size="appStore.size">
|
||||||
<router-view />
|
<router-view />
|
||||||
</el-config-provider>
|
</el-config-provider>
|
||||||
@ -8,13 +8,33 @@
|
|||||||
import useSettingsStore from '@/store/modules/settings';
|
import useSettingsStore from '@/store/modules/settings';
|
||||||
import { handleThemeStyle } from '@/utils/theme';
|
import { handleThemeStyle } from '@/utils/theme';
|
||||||
import useAppStore from '@/store/modules/app';
|
import useAppStore from '@/store/modules/app';
|
||||||
|
import { getProjectTeam } from './utils/projectTeam';
|
||||||
const appStore = useAppStore();
|
const appStore = useAppStore();
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
nextTick(() => {
|
nextTick(() => {
|
||||||
// 初始化主题样式
|
// 初始化主题样式
|
||||||
handleThemeStyle(useSettingsStore().theme);
|
handleThemeStyle(useSettingsStore().theme);
|
||||||
|
getProjectTeam();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
<style>
|
||||||
|
* {
|
||||||
|
-webkit-touch-callout: none; /*系统默认菜单被禁用*/
|
||||||
|
-webkit-user-select: none; /*webkit浏览器*/
|
||||||
|
-khtml-user-select: none; /*早期浏览器*/
|
||||||
|
-moz-user-select: none; /*火狐*/
|
||||||
|
-ms-user-select: none; /*IE10*/
|
||||||
|
user-select: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
input {
|
||||||
|
-webkit-user-select: auto; /*webkit浏览器*/
|
||||||
|
user-select: auto;
|
||||||
|
}
|
||||||
|
textarea {
|
||||||
|
user-select: auto;
|
||||||
|
-webkit-user-select: auto; /*webkit浏览器*/
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
430
plus-ui/src/api/air/index.ts
Normal file
@ -0,0 +1,430 @@
|
|||||||
|
import { request } from '../../utils/requset2.js';
|
||||||
|
|
||||||
|
// 开关空调
|
||||||
|
export function airConditionerModeSwitch(data) {
|
||||||
|
return request({
|
||||||
|
url: '/dj/remote/debug/airConditionerModeSwitch',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 生成航线文件
|
||||||
|
export function waypoint(data) {
|
||||||
|
return request({
|
||||||
|
url: '/dj/router/waypoint',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 创建任务 /dj/task/create
|
||||||
|
export function taskCreate(data) {
|
||||||
|
return request({
|
||||||
|
url: '/dj/missions/create',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 下发任务 /dj/flightTaskPrepare
|
||||||
|
export function flightTaskPrepare(data) {
|
||||||
|
return request({
|
||||||
|
url: '/dj/flightTaskPrepare',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 执行任务
|
||||||
|
export function flightTaskExecute(data) {
|
||||||
|
return request({
|
||||||
|
url: '/dj/flightTaskExecute',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 取消任务
|
||||||
|
export function flightTaskUndo(data) {
|
||||||
|
return request({
|
||||||
|
url: '/dj/flightTaskUndo',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 恢复航线
|
||||||
|
export function flightTaskRecovery(data) {
|
||||||
|
return request({
|
||||||
|
url: '/dj/flightTaskRecovery',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 恢复航线
|
||||||
|
export function flightTaskPause(data) {
|
||||||
|
return request({
|
||||||
|
url: '/dj/flightTaskPause',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 一键返航
|
||||||
|
export function returnHome(data) {
|
||||||
|
return request({
|
||||||
|
url: '/dj/returnHome',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 无参飞行指令
|
||||||
|
export function noDataFlight(data) {
|
||||||
|
return request({
|
||||||
|
url: '/dj/cmdFly/noDataFlight',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 有参飞行指令
|
||||||
|
export function hasDataFlight(data) {
|
||||||
|
return request({
|
||||||
|
url: '/dj/cmdFly/hasDataFlight',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 开启指令
|
||||||
|
export function drcModeEnte(data) {
|
||||||
|
return request({
|
||||||
|
url: '/dj/cmdFly/drcModeEnter',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询航线文件信息列表
|
||||||
|
export function listPaths(query) {
|
||||||
|
return request({
|
||||||
|
url: '/system/paths/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除航线文件信息
|
||||||
|
export function delPaths(id) {
|
||||||
|
return request({
|
||||||
|
url: '/system/paths/' + id,
|
||||||
|
method: 'delete'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询任务列表
|
||||||
|
export function listTasks(query) {
|
||||||
|
return request({
|
||||||
|
url: '/system/tasks/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询无人机任务列表
|
||||||
|
export function listMissions(query) {
|
||||||
|
return request({
|
||||||
|
url: '/system/missions/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除无人机任务
|
||||||
|
export function delMissions(id) {
|
||||||
|
return request({
|
||||||
|
url: '/system/missions/' + id,
|
||||||
|
method: 'delete'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 远程调试
|
||||||
|
export function remoteDebug(data) {
|
||||||
|
return request({
|
||||||
|
url: '/dj/remote/debug/service',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 增强图传
|
||||||
|
export function sdrWorkmodeSwitch(data) {
|
||||||
|
return request({
|
||||||
|
url: '/dj/remote/debug/sdrWorkmodeSwitch',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询视频设备列表
|
||||||
|
export function listInfo(query) {
|
||||||
|
return request({
|
||||||
|
url: '/system/info/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 登录
|
||||||
|
export function login(data) {
|
||||||
|
return request({
|
||||||
|
url: '/login',
|
||||||
|
headers: {
|
||||||
|
isToken: false,
|
||||||
|
repeatSubmit: false
|
||||||
|
},
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取文件
|
||||||
|
export function getFileByflightId(data) {
|
||||||
|
return request({
|
||||||
|
url: '/dj/getFileByflightId',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 机场列表
|
||||||
|
export function droneList(data) {
|
||||||
|
return request({
|
||||||
|
url: '/system/drone/list',
|
||||||
|
method: 'get',
|
||||||
|
data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 监听网关
|
||||||
|
export function gatewaysAdd(data) {
|
||||||
|
return request({
|
||||||
|
url: '/dj/gateways/add',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 关闭网关
|
||||||
|
export function gatewaysRemove(data) {
|
||||||
|
return request({
|
||||||
|
url: '/dj/gateways/remove',
|
||||||
|
method: 'delete',
|
||||||
|
data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 添加航线
|
||||||
|
export function routerAdd(data) {
|
||||||
|
return request({
|
||||||
|
url: '/dj/router/add',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 复制航线 /dj/router/copy/{id}
|
||||||
|
export function routerCopy(id) {
|
||||||
|
return request({
|
||||||
|
url: '/dj/router/copy/' + id,
|
||||||
|
method: 'post'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 重命名文件
|
||||||
|
|
||||||
|
export function routerRename(data) {
|
||||||
|
return request({
|
||||||
|
url: '/dj/router/rename',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 获取文件
|
||||||
|
export function takeoffList(data) {
|
||||||
|
return request({
|
||||||
|
url: '/system/takeoff/list',
|
||||||
|
method: 'get',
|
||||||
|
data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 切换直播流
|
||||||
|
export function liveChange(data) {
|
||||||
|
return request({
|
||||||
|
url: '/dj/live/change',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 设置清晰度 /dj/live/quality
|
||||||
|
export function liveChangeQuality(data) {
|
||||||
|
return request({
|
||||||
|
url: '/dj/live/quality',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 开启直播
|
||||||
|
export function liveStart(data) {
|
||||||
|
return request({
|
||||||
|
url: '/dj/live/start',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 关闭直播
|
||||||
|
export function liveStop(data) {
|
||||||
|
return request({
|
||||||
|
url: '/dj/live/stop',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 静音模式开关
|
||||||
|
export function propertySet(data) {
|
||||||
|
return request({
|
||||||
|
url: '/property/set',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 直播相机切换
|
||||||
|
export function cameraChange(data) {
|
||||||
|
return request({
|
||||||
|
url: '/dj/live/camera/change',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新建计划
|
||||||
|
export function taskAdd(data) {
|
||||||
|
return request({
|
||||||
|
url: '/dj/task/add',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 计划列表
|
||||||
|
export function taskList(data) {
|
||||||
|
return request({
|
||||||
|
url: '/dj/task/list',
|
||||||
|
method: 'get',
|
||||||
|
params: data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 新暂停
|
||||||
|
export function flightTaskPauseNew(data) {
|
||||||
|
return request({
|
||||||
|
url: '/dj/task/flightTaskPause',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 新恢复
|
||||||
|
export function flightTaskRecoveryNew(data) {
|
||||||
|
return request({
|
||||||
|
url: '/dj/task/flightTaskRecovery',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 取消任务
|
||||||
|
export function flightTaskUndoNew(data) {
|
||||||
|
return request({
|
||||||
|
url: '/dj/task/flightTaskUndo',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 一键返航 post
|
||||||
|
export function returnHomeNew(data) {
|
||||||
|
return request({
|
||||||
|
url: '/dj/task/returnHome',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 删除
|
||||||
|
export function delMissionsNew(id) {
|
||||||
|
return request({
|
||||||
|
url: '/system/new/missions/' + id,
|
||||||
|
method: 'delete'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// drc飞行控制 /dj/cmdFly/droneControl
|
||||||
|
export function droneControl(data) {
|
||||||
|
return request({
|
||||||
|
url: '/dj/cmdFly/droneControl',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// drc急停 /dj/cmdFly/droneEmergencyStop
|
||||||
|
export function droneEmergencyStop(data) {
|
||||||
|
return request({
|
||||||
|
url: '/dj/cmdFly/droneEmergencyStop',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 取消返航 /dj/returnHomeCancel
|
||||||
|
export function returnHomeCancel(data) {
|
||||||
|
return request({
|
||||||
|
url: '/dj/returnHomeCancel',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 导入航线
|
||||||
|
export function returnImport(data) {
|
||||||
|
return request({
|
||||||
|
url: '/dj/router/import',
|
||||||
|
method: 'post',
|
||||||
|
data,
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'multipart/form-data'
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// DRC心跳
|
||||||
|
export function heartBeat(data) {
|
||||||
|
return request({
|
||||||
|
url: '/dj/cmdFly/heartBeat',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// AI识别
|
||||||
|
export function aiInfo(data) {
|
||||||
|
return request({
|
||||||
|
url: '/minio/ai/info',
|
||||||
|
method: 'get',
|
||||||
|
params: data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 当前最新任务
|
||||||
|
export function getLatest(data) {
|
||||||
|
return request({
|
||||||
|
url: '/dj/task/getLatest',
|
||||||
|
method: 'get',
|
||||||
|
params: data
|
||||||
|
});
|
||||||
|
}
|
118
plus-ui/src/api/fileMangement/index.ts
Normal file
@ -0,0 +1,118 @@
|
|||||||
|
import { request } from '../../utils/requset2';
|
||||||
|
// 获取文件列表
|
||||||
|
export function getFiles(data) {
|
||||||
|
return request({
|
||||||
|
url: '/minio/file',
|
||||||
|
method: 'get',
|
||||||
|
data,
|
||||||
|
params: data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 获取ai文件列表
|
||||||
|
export function getAiFiles(data) {
|
||||||
|
return request({
|
||||||
|
url: '/minio/ai/file',
|
||||||
|
method: 'get',
|
||||||
|
data,
|
||||||
|
params: data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 获取文件信息
|
||||||
|
export function getInfo(data) {
|
||||||
|
return request({
|
||||||
|
url: '/minio/info',
|
||||||
|
method: 'get',
|
||||||
|
data,
|
||||||
|
params: data,
|
||||||
|
timeout: 30000
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 获取ai文件信息
|
||||||
|
export function getAiInfo(data) {
|
||||||
|
return request({
|
||||||
|
url: '/minio/ai/info',
|
||||||
|
method: 'get',
|
||||||
|
data,
|
||||||
|
params: data,
|
||||||
|
timeout: 30000
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 下载文件
|
||||||
|
export function fileDownload(params, onProgress) {
|
||||||
|
return request({
|
||||||
|
url: '/minio/download',
|
||||||
|
method: 'post',
|
||||||
|
params,
|
||||||
|
responseType: 'blob',
|
||||||
|
timeout: 0,
|
||||||
|
// header: {
|
||||||
|
// "Content-Length": Buffer.byteLength(JSON.stringify(params)),
|
||||||
|
// },
|
||||||
|
onDownloadProgress: (progressEvent) => {
|
||||||
|
if (onProgress && typeof onProgress === 'function') {
|
||||||
|
const { loaded, total } = progressEvent;
|
||||||
|
console.log('progressEvent', progressEvent);
|
||||||
|
const percentage = Math.round((loaded / total) * 100); // 计算百分比
|
||||||
|
onProgress(percentage); // 调用传入的 onProgress 回调函数
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 删除文件
|
||||||
|
export function deleteFile(data) {
|
||||||
|
return request({
|
||||||
|
url: '/minio/deleteBatch',
|
||||||
|
method: 'delete',
|
||||||
|
data,
|
||||||
|
timeout: 0
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 删除ai文件
|
||||||
|
export function deleteAiFile(data) {
|
||||||
|
return request({
|
||||||
|
url: '/minio/ai/deleteBatch',
|
||||||
|
method: 'delete',
|
||||||
|
data,
|
||||||
|
timeout: 0
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 批量下载文件或目录
|
||||||
|
export function downloadBatch(data, onProgress) {
|
||||||
|
return request({
|
||||||
|
url: '/minio/downloadBatch',
|
||||||
|
method: 'post',
|
||||||
|
responseType: 'blob',
|
||||||
|
data,
|
||||||
|
timeout: 0,
|
||||||
|
onDownloadProgress: (progressEvent) => {
|
||||||
|
if (onProgress && typeof onProgress === 'function') {
|
||||||
|
const { loaded, total } = progressEvent;
|
||||||
|
console.log('progressEvent', progressEvent);
|
||||||
|
const percentage = Math.round((loaded / total) * 100); // 计算百分比
|
||||||
|
onProgress(percentage); // 调用传入的 onProgress 回调函数
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取某个目录下面的所有文件的URL列表
|
||||||
|
export function getUrlList(data) {
|
||||||
|
return request({
|
||||||
|
url: '/minio/urlList',
|
||||||
|
method: 'post',
|
||||||
|
data,
|
||||||
|
params: data,
|
||||||
|
timeout: 0
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 获取某个目录下面的所有文件的URL列表
|
||||||
|
|
||||||
|
export function getAiUrlList(data) {
|
||||||
|
return request({
|
||||||
|
url: '/minio/ai/urlList',
|
||||||
|
method: 'post',
|
||||||
|
data,
|
||||||
|
params: data,
|
||||||
|
timeout: 0
|
||||||
|
});
|
||||||
|
}
|
136
plus-ui/src/api/gis/index.ts
Normal file
@ -0,0 +1,136 @@
|
|||||||
|
import request from '@/utils/request';
|
||||||
|
import { AxiosPromise } from 'axios';
|
||||||
|
import {
|
||||||
|
QualityVO,
|
||||||
|
Query,
|
||||||
|
ConstructionUserVO,
|
||||||
|
MachineryrVO,
|
||||||
|
MaterialsVO,
|
||||||
|
projectNewsVO,
|
||||||
|
safetyInspectionVO,
|
||||||
|
projectNewsDetailVO,
|
||||||
|
weatherVO,
|
||||||
|
safetyDayVO
|
||||||
|
} from './type';
|
||||||
|
/**
|
||||||
|
* 查询大屏质量信息
|
||||||
|
* @param query
|
||||||
|
* @returns {*}
|
||||||
|
*/
|
||||||
|
|
||||||
|
export const getQualityList = (query?: Query): AxiosPromise<QualityVO> => {
|
||||||
|
return request({
|
||||||
|
url: '/quality/qualityInspection/gis',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询大屏项目新闻列表
|
||||||
|
* @param query
|
||||||
|
* @returns {*}
|
||||||
|
*/
|
||||||
|
|
||||||
|
export const getprojectNewsList = (query?: Query): AxiosPromise<projectNewsVO[]> => {
|
||||||
|
return request({
|
||||||
|
url: '/project/projectNews/list/gis',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取项目新闻详细信息
|
||||||
|
* @param query
|
||||||
|
* @returns {*}
|
||||||
|
*/
|
||||||
|
|
||||||
|
export const getprojectNewsDetailList = (id: number): AxiosPromise<projectNewsDetailVO> => {
|
||||||
|
return request({
|
||||||
|
url: '/project/projectNews/' + id,
|
||||||
|
method: 'get'
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询大屏安全信息
|
||||||
|
* @param query
|
||||||
|
* @returns {*}
|
||||||
|
*/
|
||||||
|
|
||||||
|
export const getsafetyInspectionList = (query?: Query): AxiosPromise<safetyInspectionVO> => {
|
||||||
|
return request({
|
||||||
|
url: '/safety/safetyInspection/gis',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询施工人员大屏数据
|
||||||
|
* @param query
|
||||||
|
* @returns {*}
|
||||||
|
*/
|
||||||
|
|
||||||
|
export const getConstructionUserList = (query?: Query): AxiosPromise<ConstructionUserVO> => {
|
||||||
|
return request({
|
||||||
|
url: '/project/constructionUser/gis',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询大屏机械列表
|
||||||
|
* @param query
|
||||||
|
* @returns {*}
|
||||||
|
*/
|
||||||
|
|
||||||
|
export const getMachineryrList = (query?: Query): AxiosPromise<MachineryrVO[]> => {
|
||||||
|
return request({
|
||||||
|
url: '/machinery/machinery/list/gis',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询大屏材料信息
|
||||||
|
* @param query
|
||||||
|
* @returns {*}
|
||||||
|
*/
|
||||||
|
|
||||||
|
export const getMaterialsList = (query?: Query): AxiosPromise<MaterialsVO[]> => {
|
||||||
|
return request({
|
||||||
|
url: '/materials/materials/list/gis',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询项目天气
|
||||||
|
* @param query
|
||||||
|
* @returns {*}
|
||||||
|
*/
|
||||||
|
|
||||||
|
export const getweatherList = (id?: string): AxiosPromise<weatherVO[]> => {
|
||||||
|
return request({
|
||||||
|
url: '/project/project/weather/' + id,
|
||||||
|
method: 'get'
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询项目安全天数
|
||||||
|
* @param query
|
||||||
|
* @returns {*}
|
||||||
|
*/
|
||||||
|
|
||||||
|
export const getSafetyDay = (id?: string): AxiosPromise<safetyDayVO> => {
|
||||||
|
return request({
|
||||||
|
url: '/project/project/safetyDay/' + id,
|
||||||
|
method: 'get'
|
||||||
|
});
|
||||||
|
};
|
92
plus-ui/src/api/gis/type.ts
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
export interface QualityVO {
|
||||||
|
count: number;
|
||||||
|
correctSituation: string;
|
||||||
|
list: Qualitylist[];
|
||||||
|
}
|
||||||
|
export interface Qualitylist {
|
||||||
|
id: number;
|
||||||
|
inspectionTypeLabel: string;
|
||||||
|
inspectionHeadline: string;
|
||||||
|
createTime: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Query {
|
||||||
|
projectId: string | number;
|
||||||
|
pageSize?: string | number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface ConstructionUserVO {
|
||||||
|
peopleCount: number;
|
||||||
|
attendanceCount: number;
|
||||||
|
attendanceRate: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface MachineryrVO {
|
||||||
|
//机械名称
|
||||||
|
machineryName: string;
|
||||||
|
//机械数量
|
||||||
|
machineryCount: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface MaterialsVO {
|
||||||
|
//材料名称
|
||||||
|
materialsName: string;
|
||||||
|
//计量单位
|
||||||
|
weightId: string;
|
||||||
|
//预计材料数量
|
||||||
|
quantityCount: string;
|
||||||
|
//入库数量
|
||||||
|
putCount: string;
|
||||||
|
//出库数量
|
||||||
|
outCount: string;
|
||||||
|
value: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface projectNewsVO {
|
||||||
|
id: string;
|
||||||
|
title: string;
|
||||||
|
|
||||||
|
show?: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface projectNewsDetailVO {
|
||||||
|
id: string;
|
||||||
|
title: string;
|
||||||
|
content: string;
|
||||||
|
file: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface safetyInspectionVO {
|
||||||
|
//站班会总数
|
||||||
|
teamMeetingCount: string;
|
||||||
|
//安全巡检总数
|
||||||
|
safetyInspectionCount: string;
|
||||||
|
//整改情况
|
||||||
|
correctSituationCount: string;
|
||||||
|
//站班会列表
|
||||||
|
teamMeetingList: safetyInspectionlist[];
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface safetyInspectionlist {
|
||||||
|
id: string;
|
||||||
|
teamName: string;
|
||||||
|
name: string;
|
||||||
|
meetingDate: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface weatherVO {
|
||||||
|
date: string;
|
||||||
|
week: string;
|
||||||
|
tempMax: string;
|
||||||
|
tempMin: string;
|
||||||
|
dayStatus: string;
|
||||||
|
dayIcon: string;
|
||||||
|
nightStatus: string;
|
||||||
|
nightIcon: string;
|
||||||
|
sunRise: string;
|
||||||
|
sunSet: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface safetyDayVO {
|
||||||
|
safetyDay: string;
|
||||||
|
}
|
@ -45,7 +45,8 @@ export interface MachineryForm extends BaseEntity {
|
|||||||
* 主键id
|
* 主键id
|
||||||
*/
|
*/
|
||||||
id?: string | number;
|
id?: string | number;
|
||||||
|
principalPhone: string | number;
|
||||||
|
provider: string | number;
|
||||||
/**
|
/**
|
||||||
* 机械名称
|
* 机械名称
|
||||||
*/
|
*/
|
||||||
@ -82,7 +83,8 @@ export interface MachineryQuery extends PageQuery {
|
|||||||
* 机械名称
|
* 机械名称
|
||||||
*/
|
*/
|
||||||
machineryName?: string;
|
machineryName?: string;
|
||||||
|
principalPhone: string | number;
|
||||||
|
provider: string | number;
|
||||||
/**
|
/**
|
||||||
* 机械型号
|
* 机械型号
|
||||||
*/
|
*/
|
||||||
|
@ -45,6 +45,8 @@ export interface CompanyForm extends BaseEntity {
|
|||||||
* 公司名称
|
* 公司名称
|
||||||
*/
|
*/
|
||||||
companyName?: string;
|
companyName?: string;
|
||||||
|
principalPhone?: string;
|
||||||
|
principal?: string;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 项目id
|
* 项目id
|
||||||
@ -72,6 +74,8 @@ export interface CompanyQuery extends PageQuery {
|
|||||||
* 公司名称
|
* 公司名称
|
||||||
*/
|
*/
|
||||||
companyName?: string;
|
companyName?: string;
|
||||||
|
principalPhone?: string;
|
||||||
|
principal?: string;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 项目id
|
* 项目id
|
||||||
|
74
plus-ui/src/api/other/devicePreset/index.ts
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
import request from '@/utils/request';
|
||||||
|
import { AxiosPromise } from 'axios';
|
||||||
|
import { DevicePresetVO, DevicePresetForm, DevicePresetQuery } from '@/api/other/devicePreset/types';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询摄像头预置位列表
|
||||||
|
* @param query
|
||||||
|
* @returns {*}
|
||||||
|
*/
|
||||||
|
|
||||||
|
export const listDevicePreset = (query?: DevicePresetQuery): AxiosPromise<DevicePresetVO[]> => {
|
||||||
|
return request({
|
||||||
|
url: '/other/devicePreset/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询摄像头预置位详细
|
||||||
|
* @param id
|
||||||
|
*/
|
||||||
|
export const getDevicePreset = (id: string | number): AxiosPromise<DevicePresetVO> => {
|
||||||
|
return request({
|
||||||
|
url: '/other/devicePreset/' + id,
|
||||||
|
method: 'get'
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增摄像头预置位
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
export const addDevicePreset = (data: DevicePresetForm) => {
|
||||||
|
return request({
|
||||||
|
url: '/other/devicePreset',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改摄像头预置位
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
export const updateDevicePreset = (data: DevicePresetForm) => {
|
||||||
|
return request({
|
||||||
|
url: '/other/devicePreset',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除摄像头预置位
|
||||||
|
* @param id
|
||||||
|
*/
|
||||||
|
export const delDevicePreset = (id: string | number | Array<string | number>) => {
|
||||||
|
return request({
|
||||||
|
url: '/other/devicePreset/' + id,
|
||||||
|
method: 'delete'
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 调用摄像头预置位
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
export const callDevicePreset = (id: number | string) => {
|
||||||
|
return request({
|
||||||
|
url: '/other/devicePreset/move/' + id,
|
||||||
|
method: 'put'
|
||||||
|
});
|
||||||
|
};
|
80
plus-ui/src/api/other/devicePreset/types.ts
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
export interface DevicePresetVO {
|
||||||
|
/**
|
||||||
|
* 主键id
|
||||||
|
*/
|
||||||
|
id: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设备序列号
|
||||||
|
*/
|
||||||
|
deviceSerial: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通道号
|
||||||
|
*/
|
||||||
|
channelNo: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 预置点序号
|
||||||
|
*/
|
||||||
|
index: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 预置点
|
||||||
|
*/
|
||||||
|
name: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface DevicePresetForm extends BaseEntity {
|
||||||
|
/**
|
||||||
|
* 主键id
|
||||||
|
*/
|
||||||
|
id?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设备序列号
|
||||||
|
*/
|
||||||
|
deviceSerial?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通道号
|
||||||
|
*/
|
||||||
|
channelNo?: number | string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 预置点序号
|
||||||
|
*/
|
||||||
|
index?: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 预置点
|
||||||
|
*/
|
||||||
|
name?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface DevicePresetQuery extends PageQuery {
|
||||||
|
/**
|
||||||
|
* 设备序列号
|
||||||
|
*/
|
||||||
|
deviceSerial?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通道号
|
||||||
|
*/
|
||||||
|
channelNo?: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 预置点序号
|
||||||
|
*/
|
||||||
|
index?: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 预置点
|
||||||
|
*/
|
||||||
|
name?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 日期范围参数
|
||||||
|
*/
|
||||||
|
params?: any;
|
||||||
|
}
|
91
plus-ui/src/api/other/ys7Device/index.ts
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
import request from '@/utils/request';
|
||||||
|
import { AxiosPromise } from 'axios';
|
||||||
|
import { Ys7DeviceVO, Ys7DeviceForm, Ys7DeviceQuery } from '@/api/other/ys7Device/types';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询萤石摄像头列表
|
||||||
|
* @param query
|
||||||
|
* @returns {*}
|
||||||
|
*/
|
||||||
|
|
||||||
|
export const listYs7Device = (query?: Ys7DeviceQuery): AxiosPromise<Ys7DeviceVO[]> => {
|
||||||
|
return request({
|
||||||
|
url: '/other/ys7Device/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询萤石摄像头详细
|
||||||
|
* @param id
|
||||||
|
*/
|
||||||
|
export const getYs7Device = (id: string | number): AxiosPromise<Ys7DeviceVO> => {
|
||||||
|
return request({
|
||||||
|
url: '/other/ys7Device/' + id,
|
||||||
|
method: 'get'
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增萤石摄像头
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
export const addYs7Device = (data: Ys7DeviceForm) => {
|
||||||
|
return request({
|
||||||
|
url: '/other/ys7Device',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改萤石摄像头
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
export const updateYs7Device = (data: Ys7DeviceForm) => {
|
||||||
|
return request({
|
||||||
|
url: '/other/ys7Device',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除萤石摄像头
|
||||||
|
* @param id
|
||||||
|
*/
|
||||||
|
export const delYs7Device = (id: string | number | Array<string | number>) => {
|
||||||
|
return request({
|
||||||
|
url: '/other/ys7Device/' + id,
|
||||||
|
method: 'delete'
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/// 修改加密状态
|
||||||
|
export const toggleEncrypt = (data?: any): AxiosPromise<{}> => {
|
||||||
|
return request({
|
||||||
|
url: '/other/ys7Device/video/encrypted',
|
||||||
|
method: 'put',
|
||||||
|
data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
export const devicesLinkPro = (data: { id: string | number; projectId: string | number }): AxiosPromise<Ys7DeviceVO> => {
|
||||||
|
return request({
|
||||||
|
url: '/other/ys7Device/with/project',
|
||||||
|
method: 'put',
|
||||||
|
data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取 token
|
||||||
|
* @param id
|
||||||
|
*/
|
||||||
|
export const getAccessToken = () => {
|
||||||
|
return request({
|
||||||
|
url: '/other/ys7Device/get/token',
|
||||||
|
method: 'get'
|
||||||
|
});
|
||||||
|
};
|
131
plus-ui/src/api/other/ys7Device/types.ts
Normal file
@ -0,0 +1,131 @@
|
|||||||
|
export interface Ys7DeviceVO {
|
||||||
|
id: any;
|
||||||
|
/**
|
||||||
|
* 项目id
|
||||||
|
*/
|
||||||
|
projectId: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设备序列号
|
||||||
|
*/
|
||||||
|
deviceSerial: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设备名称
|
||||||
|
*/
|
||||||
|
deviceName: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设备型号
|
||||||
|
*/
|
||||||
|
deviceType: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设备在线状态(0离线 1在线)
|
||||||
|
*/
|
||||||
|
status: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 固件版本号
|
||||||
|
*/
|
||||||
|
deviceVersion: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设备添加时间
|
||||||
|
*/
|
||||||
|
deviceCreateTime: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 视频加密(0关闭 1开启)
|
||||||
|
*/
|
||||||
|
videoEncrypted: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
remark: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Ys7DeviceForm extends BaseEntity {
|
||||||
|
/**
|
||||||
|
* 主键id
|
||||||
|
*/
|
||||||
|
id?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目id
|
||||||
|
*/
|
||||||
|
projectId?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设备序列号
|
||||||
|
*/
|
||||||
|
deviceSerial?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设备名称
|
||||||
|
*/
|
||||||
|
deviceName?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设备型号
|
||||||
|
*/
|
||||||
|
deviceType?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设备在线状态(0离线 1在线)
|
||||||
|
*/
|
||||||
|
status?: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 固件版本号
|
||||||
|
*/
|
||||||
|
deviceVersion?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 视频加密(0关闭 1开启)
|
||||||
|
*/
|
||||||
|
videoEncrypted?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
remark?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Ys7DeviceQuery extends PageQuery {
|
||||||
|
/**
|
||||||
|
* 项目id
|
||||||
|
*/
|
||||||
|
projectId?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设备序列号
|
||||||
|
*/
|
||||||
|
deviceSerial?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设备名称
|
||||||
|
*/
|
||||||
|
deviceName?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设备型号
|
||||||
|
*/
|
||||||
|
deviceType?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设备在线状态(0离线 1在线)
|
||||||
|
*/
|
||||||
|
status?: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 固件版本号
|
||||||
|
*/
|
||||||
|
deviceVersion?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 日期范围参数
|
||||||
|
*/
|
||||||
|
params?: any;
|
||||||
|
}
|
193
plus-ui/src/api/progress/plan/index.ts
Normal file
@ -0,0 +1,193 @@
|
|||||||
|
import request from '@/utils/request';
|
||||||
|
import { AxiosPromise } from 'axios';
|
||||||
|
import {
|
||||||
|
ProgressCategoryVO,
|
||||||
|
ProgressCategoryForm,
|
||||||
|
ProgressCategoryQuery,
|
||||||
|
ProgressPlanForm,
|
||||||
|
lastTimeVo,
|
||||||
|
workScheduleListVO,
|
||||||
|
workScheduleListQuery,
|
||||||
|
progressPlanDetailForm,
|
||||||
|
pvModuleListQuery,
|
||||||
|
pvModuleListVO
|
||||||
|
} from '@/api/progress/plan/types';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询进度类别列表
|
||||||
|
* @param query
|
||||||
|
* @returns {*}
|
||||||
|
*/
|
||||||
|
|
||||||
|
export const listProgressCategory = (query?: ProgressCategoryQuery): AxiosPromise<ProgressCategoryVO[]> => {
|
||||||
|
return request({
|
||||||
|
url: '/progress/progressCategory/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询进度类别详细
|
||||||
|
* @param id
|
||||||
|
*/
|
||||||
|
export const getProgressCategory = (id: string | number): AxiosPromise<ProgressCategoryVO> => {
|
||||||
|
return request({
|
||||||
|
url: '/progress/progressCategory/' + id,
|
||||||
|
method: 'get'
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增进度类别
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
export const addProgressCategory = (data: ProgressCategoryForm) => {
|
||||||
|
return request({
|
||||||
|
url: '/progress/progressCategory',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改进度类别
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
export const updateProgressCategory = (data: ProgressCategoryForm) => {
|
||||||
|
return request({
|
||||||
|
url: '/progress/progressCategory',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除进度类别
|
||||||
|
* @param id
|
||||||
|
*/
|
||||||
|
export const delProgressCategory = (id: string | number | Array<string | number>) => {
|
||||||
|
return request({
|
||||||
|
url: '/progress/progressCategory/' + id,
|
||||||
|
method: 'delete'
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询设施-方阵列表
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
export const getProjectSquare = (projectId: string) => {
|
||||||
|
return request({
|
||||||
|
url: '/project/project/list/sub/matrix/' + projectId,
|
||||||
|
method: 'get'
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取进度类别最后一次进度信息
|
||||||
|
* @param id
|
||||||
|
*/
|
||||||
|
export const lastTime = (id: string | number): AxiosPromise<lastTimeVo> => {
|
||||||
|
return request({
|
||||||
|
url: '/progress/progressCategory/lastTime/' + id,
|
||||||
|
method: 'get'
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增进度计划
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
export const workScheduleAddPlan = (data: ProgressPlanForm) => {
|
||||||
|
return request({
|
||||||
|
url: '/progress/progressPlan',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取进度计划详细信息
|
||||||
|
* @param params
|
||||||
|
*/
|
||||||
|
export const workScheduleList = (query: workScheduleListQuery): AxiosPromise<workScheduleListVO[]> => {
|
||||||
|
return request({
|
||||||
|
url: '/progress/progressPlan/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取进度类别坐标信息
|
||||||
|
* @param params
|
||||||
|
*/
|
||||||
|
export const workScheduleListPosition = (id: string): AxiosPromise<any> => {
|
||||||
|
return request({
|
||||||
|
url: '/progress/progressCategory/coordinate/' + id,
|
||||||
|
method: 'get'
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增进度计划详情(百分比设施)
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
export const workScheduleSubmit = (data: progressPlanDetailForm) => {
|
||||||
|
return request({
|
||||||
|
url: '/progress/progressPlanDetail/insert/percentage',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取进度计划详情未完成设施详细信息
|
||||||
|
* @param params
|
||||||
|
*/
|
||||||
|
export const pvModuleList = (query: pvModuleListQuery): AxiosPromise<pvModuleListVO[]> => {
|
||||||
|
return request({
|
||||||
|
url: '/progress/progressPlanDetail/detail/unFinish/' + query.id,
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增进度计划详情(普通设施)
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
export const addDaily = (data: progressPlanDetailForm) => {
|
||||||
|
return request({
|
||||||
|
url: '/progress/progressPlanDetail/insert/detail',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取进度计划详情已完成设施详细信息
|
||||||
|
* @param params
|
||||||
|
*/
|
||||||
|
export const getDailyBook = (query: pvModuleListQuery): AxiosPromise<pvModuleListVO[]> => {
|
||||||
|
return request({
|
||||||
|
url: '/progress/progressPlanDetail/detail/finished/' + query.id,
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除进度计划详情
|
||||||
|
* @param id
|
||||||
|
*/
|
||||||
|
export const deleteDaily = (query: { id: string; detailIdList: string[] }) => {
|
||||||
|
return request({
|
||||||
|
url: '/progress/progressPlanDetail/remove/detail',
|
||||||
|
method: 'delete',
|
||||||
|
params: query
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
export const workScheduleDel = () => {};
|
153
plus-ui/src/api/progress/plan/types.ts
Normal file
@ -0,0 +1,153 @@
|
|||||||
|
export interface ProgressCategoryVO {
|
||||||
|
/**
|
||||||
|
* 主键id
|
||||||
|
*/
|
||||||
|
id: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 父类别id
|
||||||
|
*/
|
||||||
|
pid: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 类别名称
|
||||||
|
*/
|
||||||
|
name: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 计量方式(1数量 2百分比)
|
||||||
|
*/
|
||||||
|
unitType: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目id(0表示共用)
|
||||||
|
*/
|
||||||
|
projectId: string | number;
|
||||||
|
matrixId?: string | number;
|
||||||
|
/**
|
||||||
|
* 子对象
|
||||||
|
*/
|
||||||
|
children: ProgressCategoryVO[];
|
||||||
|
threeChildren: any[];
|
||||||
|
hasChildren: any;
|
||||||
|
detailChildren: any;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface ProgressCategoryForm extends BaseEntity {
|
||||||
|
/**
|
||||||
|
* 主键id
|
||||||
|
*/
|
||||||
|
id?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 父类别id
|
||||||
|
*/
|
||||||
|
pid?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 类别名称
|
||||||
|
*/
|
||||||
|
name?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 计量方式(1数量 2百分比)
|
||||||
|
*/
|
||||||
|
unitType?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目id(0表示共用)
|
||||||
|
*/
|
||||||
|
projectId?: string | number;
|
||||||
|
matrixId?: string | number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface ProgressPlanForm {
|
||||||
|
projectId?: string | number;
|
||||||
|
matrixId?: string | number;
|
||||||
|
progressCategoryId?: string | number;
|
||||||
|
startDate?: string;
|
||||||
|
endDate?: string;
|
||||||
|
planNumber?: number;
|
||||||
|
detailList: {
|
||||||
|
date: string;
|
||||||
|
planNumber: number;
|
||||||
|
}[];
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface workScheduleListVO {
|
||||||
|
id: string | number;
|
||||||
|
progressCategoryId: string | number;
|
||||||
|
progressCategoryName: string;
|
||||||
|
startDate: string;
|
||||||
|
endDate: string;
|
||||||
|
planNumber: number;
|
||||||
|
finishedNumber: number;
|
||||||
|
detailList: {
|
||||||
|
id: string | number;
|
||||||
|
date: string;
|
||||||
|
planNumber: number;
|
||||||
|
finishedNumber: number;
|
||||||
|
aiFill: boolean;
|
||||||
|
}[];
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface pvModuleListQuery {
|
||||||
|
id: string | number;
|
||||||
|
pageSize?: number;
|
||||||
|
pageNum?: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface pvModuleListVO {
|
||||||
|
id: string | number;
|
||||||
|
name: string;
|
||||||
|
status: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface progressPlanDetailForm {
|
||||||
|
id: string | number;
|
||||||
|
finishedNumber?: number;
|
||||||
|
finishedDetailIdList?: any[];
|
||||||
|
submitTime?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface workScheduleListQuery {
|
||||||
|
progressCategoryId?: string | number;
|
||||||
|
pageSize?: number;
|
||||||
|
pageNum?: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface lastTimeVo {
|
||||||
|
endDate: string;
|
||||||
|
leftNum: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface ProgressCategoryQuery {
|
||||||
|
/**
|
||||||
|
* 父类别id
|
||||||
|
*/
|
||||||
|
pid?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 类别名称
|
||||||
|
*/
|
||||||
|
name?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 计量方式(1数量 2百分比)
|
||||||
|
*/
|
||||||
|
unitType?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目id(0表示共用)
|
||||||
|
*/
|
||||||
|
projectId?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 日期范围参数
|
||||||
|
*/
|
||||||
|
params?: any;
|
||||||
|
/**
|
||||||
|
* 方阵id
|
||||||
|
*/
|
||||||
|
matrixId?: string | number;
|
||||||
|
}
|
63
plus-ui/src/api/progress/progressCategoryTemplate/index.ts
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
import request from '@/utils/request';
|
||||||
|
import { AxiosPromise } from 'axios';
|
||||||
|
import { ProgressCategoryTemplateVO, ProgressCategoryTemplateForm, ProgressCategoryTemplateQuery } from '@/api/progress/progressCategoryTemplate/types';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询进度类别模版列表
|
||||||
|
* @param query
|
||||||
|
* @returns {*}
|
||||||
|
*/
|
||||||
|
|
||||||
|
export const listProgressCategoryTemplate = (query?: ProgressCategoryTemplateQuery): AxiosPromise<ProgressCategoryTemplateVO[]> => {
|
||||||
|
return request({
|
||||||
|
url: '/progress/progressCategoryTemplate/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询进度类别模版详细
|
||||||
|
* @param id
|
||||||
|
*/
|
||||||
|
export const getProgressCategoryTemplate = (id: string | number): AxiosPromise<ProgressCategoryTemplateVO> => {
|
||||||
|
return request({
|
||||||
|
url: '/progress/progressCategoryTemplate/' + id,
|
||||||
|
method: 'get'
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增进度类别模版
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
export const addProgressCategoryTemplate = (data: ProgressCategoryTemplateForm) => {
|
||||||
|
return request({
|
||||||
|
url: '/progress/progressCategoryTemplate',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改进度类别模版
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
export const updateProgressCategoryTemplate = (data: ProgressCategoryTemplateForm) => {
|
||||||
|
return request({
|
||||||
|
url: '/progress/progressCategoryTemplate',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除进度类别模版
|
||||||
|
* @param id
|
||||||
|
*/
|
||||||
|
export const delProgressCategoryTemplate = (id: string | number | Array<string | number>) => {
|
||||||
|
return request({
|
||||||
|
url: '/progress/progressCategoryTemplate/' + id,
|
||||||
|
method: 'delete'
|
||||||
|
});
|
||||||
|
};
|
105
plus-ui/src/api/progress/progressCategoryTemplate/types.ts
Normal file
@ -0,0 +1,105 @@
|
|||||||
|
export interface ProgressCategoryTemplateVO {
|
||||||
|
/**
|
||||||
|
* 类别名称
|
||||||
|
*/
|
||||||
|
name: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 计量方式(0无 1数量 2百分比)
|
||||||
|
*/
|
||||||
|
unitType: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工作类型
|
||||||
|
*/
|
||||||
|
workType: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目id(0表示共用)
|
||||||
|
*/
|
||||||
|
projectId: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
remark: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 子对象
|
||||||
|
*/
|
||||||
|
children: ProgressCategoryTemplateVO[];
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface ProgressCategoryTemplateForm extends BaseEntity {
|
||||||
|
/**
|
||||||
|
* 主键id
|
||||||
|
*/
|
||||||
|
id?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 父类别id
|
||||||
|
*/
|
||||||
|
pid?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 类别名称
|
||||||
|
*/
|
||||||
|
name?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 计量方式(0无 1数量 2百分比)
|
||||||
|
*/
|
||||||
|
unitType?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工作类型
|
||||||
|
*/
|
||||||
|
workType?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目id(0表示共用)
|
||||||
|
*/
|
||||||
|
projectId?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
remark?: string;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface ProgressCategoryTemplateQuery {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 父类别id
|
||||||
|
*/
|
||||||
|
pid?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 类别名称
|
||||||
|
*/
|
||||||
|
name?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 计量方式(0无 1数量 2百分比)
|
||||||
|
*/
|
||||||
|
unitType?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工作类型
|
||||||
|
*/
|
||||||
|
workType?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目id(0表示共用)
|
||||||
|
*/
|
||||||
|
projectId?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 日期范围参数
|
||||||
|
*/
|
||||||
|
params?: any;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
63
plus-ui/src/api/project/attendance/echarts.ts
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
const grid = {
|
||||||
|
left: 100,
|
||||||
|
right: 100,
|
||||||
|
top: 30,
|
||||||
|
bottom: 50
|
||||||
|
};
|
||||||
|
|
||||||
|
const color = ['#4FD6A9', '#409EFF', '#ECF5FF', '#FFC069'];
|
||||||
|
const titleList = [
|
||||||
|
{ name: '全勤人数', color: '#fff' },
|
||||||
|
{ name: '半勤人数', color: '#fff' },
|
||||||
|
{ name: '缺勤人数', color: '#000' },
|
||||||
|
{ name: '请假人数', color: '#000' }
|
||||||
|
];
|
||||||
|
|
||||||
|
// export const echartsConfig = (ref: any, list?: any) => {
|
||||||
|
// const commandstatsIntance = echarts.init(ref, 'macarons');
|
||||||
|
// };
|
||||||
|
|
||||||
|
export const option = (list?: any) => {
|
||||||
|
const attendanceArray = list.map((item) => item.attendance);
|
||||||
|
const halfAttendanceArray = list.map((item) => item.halfAttendance);
|
||||||
|
const absenteeismArray = list.map((item) => item.absenteeism);
|
||||||
|
const leaveArray = list.map((item) => item.leave);
|
||||||
|
|
||||||
|
const rawData = [attendanceArray, halfAttendanceArray, absenteeismArray, leaveArray];
|
||||||
|
const series: any = titleList.map((item, sid) => {
|
||||||
|
return {
|
||||||
|
name: item.name,
|
||||||
|
type: 'bar',
|
||||||
|
stack: 'total',
|
||||||
|
barWidth: '25',
|
||||||
|
label: {
|
||||||
|
show: true,
|
||||||
|
color: item.color,
|
||||||
|
fontSize: 10,
|
||||||
|
formatter: function (params) {
|
||||||
|
return params.value > 0 ? params.value : '';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data: rawData[sid]
|
||||||
|
};
|
||||||
|
});
|
||||||
|
const data = list.map((item) => item.clockDate);
|
||||||
|
const option = {
|
||||||
|
legend: {
|
||||||
|
selectedMode: false,
|
||||||
|
right: 0
|
||||||
|
},
|
||||||
|
grid,
|
||||||
|
yAxis: {
|
||||||
|
type: 'value',
|
||||||
|
show: false
|
||||||
|
},
|
||||||
|
xAxis: {
|
||||||
|
type: 'category',
|
||||||
|
data
|
||||||
|
},
|
||||||
|
series,
|
||||||
|
color
|
||||||
|
};
|
||||||
|
return option;
|
||||||
|
};
|
99
plus-ui/src/api/project/attendance/index.ts
Normal file
@ -0,0 +1,99 @@
|
|||||||
|
import request from '@/utils/request';
|
||||||
|
import { AxiosPromise } from 'axios';
|
||||||
|
import {
|
||||||
|
AttendanceVO,
|
||||||
|
AttendanceForm,
|
||||||
|
AttendanceQuery,
|
||||||
|
AttendanceTwoWeekQuery,
|
||||||
|
AttendanceTwoWeekVO,
|
||||||
|
AttendanceMonthVO,
|
||||||
|
AttendanceMonthQuery
|
||||||
|
} from '@/api/project/attendance/types';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询考勤列表
|
||||||
|
* @param query
|
||||||
|
* @returns {*}
|
||||||
|
*/
|
||||||
|
|
||||||
|
export const listAttendance = (query?: AttendanceQuery): AxiosPromise<AttendanceVO[]> => {
|
||||||
|
return request({
|
||||||
|
url: '/project/constructionUser/list/attendance/total',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询近两周考勤列表
|
||||||
|
* @param query
|
||||||
|
* @returns {*}
|
||||||
|
*/
|
||||||
|
|
||||||
|
export const listAttendanceTwoWeek = (query?: AttendanceTwoWeekQuery): AxiosPromise<AttendanceTwoWeekVO[]> => {
|
||||||
|
return request({
|
||||||
|
url: '/project/attendance/list/clockDate/twoWeek',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询施工人员月份考勤列表
|
||||||
|
* @param query
|
||||||
|
* @returns {*}
|
||||||
|
*/
|
||||||
|
|
||||||
|
export const listAttendanceMonth = (query?: AttendanceMonthQuery): AxiosPromise<AttendanceMonthVO[]> => {
|
||||||
|
return request({
|
||||||
|
url: '/project/attendance/list/month/byUserId',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询考勤详细
|
||||||
|
* @param id
|
||||||
|
*/
|
||||||
|
export const getAttendance = (id: string | number): AxiosPromise<AttendanceVO> => {
|
||||||
|
return request({
|
||||||
|
url: '/project/attendance/' + id,
|
||||||
|
method: 'get'
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增考勤
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
export const addAttendance = (data: AttendanceForm) => {
|
||||||
|
return request({
|
||||||
|
url: '/project/attendance',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改考勤
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
export const updateAttendance = (data: AttendanceForm) => {
|
||||||
|
return request({
|
||||||
|
url: '/project/attendance',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除考勤
|
||||||
|
* @param id
|
||||||
|
*/
|
||||||
|
export const delAttendance = (id: string | number | Array<string | number>) => {
|
||||||
|
return request({
|
||||||
|
url: '/project/attendance/' + id,
|
||||||
|
method: 'delete'
|
||||||
|
});
|
||||||
|
};
|
210
plus-ui/src/api/project/attendance/types.ts
Normal file
@ -0,0 +1,210 @@
|
|||||||
|
export interface AttendanceVO {
|
||||||
|
/**
|
||||||
|
* 人员姓名
|
||||||
|
*/
|
||||||
|
userName: string;
|
||||||
|
|
||||||
|
id?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 人员id
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 上班打卡时间
|
||||||
|
*/
|
||||||
|
onClockTime: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 下班打卡时间
|
||||||
|
*/
|
||||||
|
offClockTime: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 打卡日期
|
||||||
|
*/
|
||||||
|
clockDate: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 1正常,2迟到,3早退,4缺勤,5补卡
|
||||||
|
*/
|
||||||
|
clockStatus: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 上下班(1上班,2下班)
|
||||||
|
*/
|
||||||
|
commuter: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
remark: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface AttendanceTwoWeekQuery {
|
||||||
|
projectId?: string | number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface AttendanceMonthQuery {
|
||||||
|
userId: string | number;
|
||||||
|
clockMonth?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface AttendanceMonthVO {
|
||||||
|
id: string | number;
|
||||||
|
clockDate: string;
|
||||||
|
status: string;
|
||||||
|
attendanceList?: monthList[];
|
||||||
|
clockList?: clockObject;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface clockObject {
|
||||||
|
downClockTime?: string;
|
||||||
|
downClockPic?: string;
|
||||||
|
upClockTime?: string;
|
||||||
|
upClockPic?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface monthList {
|
||||||
|
commuter: string;
|
||||||
|
clockTime: string;
|
||||||
|
clockStatus: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface AttendanceTwoWeekVO {
|
||||||
|
/**
|
||||||
|
* 出勤人数
|
||||||
|
*/
|
||||||
|
attendance: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 半勤人数
|
||||||
|
|
||||||
|
*/
|
||||||
|
halfAttendance: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 打卡日期
|
||||||
|
*/
|
||||||
|
clockDate: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 缺勤人数
|
||||||
|
|
||||||
|
*/
|
||||||
|
absenteeism: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface AttendanceForm extends BaseEntity {
|
||||||
|
/**
|
||||||
|
* 主键id
|
||||||
|
*/
|
||||||
|
id?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 人员id
|
||||||
|
*/
|
||||||
|
userId?: string | number;
|
||||||
|
typeOfWork?: string;
|
||||||
|
teamId?: string;
|
||||||
|
clockDate?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 人脸照
|
||||||
|
*/
|
||||||
|
facePic?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目id
|
||||||
|
*/
|
||||||
|
projectId?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 上班打卡时间
|
||||||
|
*/
|
||||||
|
onClockTime?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 下班打卡时间
|
||||||
|
*/
|
||||||
|
offClockTime?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 打卡日期
|
||||||
|
*/
|
||||||
|
clockDate?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 1正常,2迟到,3早退,4缺勤,5补卡
|
||||||
|
*/
|
||||||
|
clockStatus?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 代打人员id
|
||||||
|
*/
|
||||||
|
pinchUserId?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 多次打卡时间记录
|
||||||
|
*/
|
||||||
|
clockRecord?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 上下班(1上班,2下班)
|
||||||
|
*/
|
||||||
|
commuter?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 日薪
|
||||||
|
*/
|
||||||
|
dailyWage?: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 经度
|
||||||
|
*/
|
||||||
|
lng?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 纬度
|
||||||
|
*/
|
||||||
|
lat?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
remark?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface AttendanceQuery extends PageQuery {
|
||||||
|
/**
|
||||||
|
* 人员姓名
|
||||||
|
*/
|
||||||
|
userName?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目id
|
||||||
|
*/
|
||||||
|
projectId?: string | number;
|
||||||
|
typeOfWork?: string | number;
|
||||||
|
teamId?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 打卡日期
|
||||||
|
*/
|
||||||
|
clockDate?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 1正常,2迟到,3早退,4缺勤,5补卡
|
||||||
|
*/
|
||||||
|
clockStatus?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 上下班(1上班,2下班)
|
||||||
|
*/
|
||||||
|
commuter?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 日期范围参数
|
||||||
|
*/
|
||||||
|
params?: any;
|
||||||
|
}
|
63
plus-ui/src/api/project/attendanceRecords/index.ts
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
import request from '@/utils/request';
|
||||||
|
import { AxiosPromise } from 'axios';
|
||||||
|
import { AttendanceVO, AttendanceForm, AttendanceQuery } from '@/api/project/attendance/types';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询考勤列表
|
||||||
|
* @param query
|
||||||
|
* @returns {*}
|
||||||
|
*/
|
||||||
|
|
||||||
|
export const listAttendance = (query?: AttendanceQuery): AxiosPromise<AttendanceVO[]> => {
|
||||||
|
return request({
|
||||||
|
url: '/project/attendance/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询考勤详细
|
||||||
|
* @param id
|
||||||
|
*/
|
||||||
|
export const getAttendance = (id: string | number): AxiosPromise<AttendanceVO> => {
|
||||||
|
return request({
|
||||||
|
url: '/project/attendance/' + id,
|
||||||
|
method: 'get'
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增考勤
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
export const addAttendance = (data: AttendanceForm) => {
|
||||||
|
return request({
|
||||||
|
url: '/project/attendance',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改考勤
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
export const updateAttendance = (data: AttendanceForm) => {
|
||||||
|
return request({
|
||||||
|
url: '/project/attendance',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除考勤
|
||||||
|
* @param id
|
||||||
|
*/
|
||||||
|
export const delAttendance = (id: string | number | Array<string | number>) => {
|
||||||
|
return request({
|
||||||
|
url: '/project/attendance/' + id,
|
||||||
|
method: 'delete'
|
||||||
|
});
|
||||||
|
};
|
146
plus-ui/src/api/project/attendanceRecords/types.ts
Normal file
@ -0,0 +1,146 @@
|
|||||||
|
export interface AttendanceVO {
|
||||||
|
/**
|
||||||
|
* 人员姓名
|
||||||
|
*/
|
||||||
|
userName: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 上班打卡时间
|
||||||
|
*/
|
||||||
|
onClockTime: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 下班打卡时间
|
||||||
|
*/
|
||||||
|
offClockTime: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 打卡日期
|
||||||
|
*/
|
||||||
|
clockDate: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 1正常,2迟到,3早退,4缺勤,5补卡
|
||||||
|
*/
|
||||||
|
clockStatus: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 上下班(1上班,2下班)
|
||||||
|
*/
|
||||||
|
commuter: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
remark: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface AttendanceForm extends BaseEntity {
|
||||||
|
/**
|
||||||
|
* 主键id
|
||||||
|
*/
|
||||||
|
id?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 人员id
|
||||||
|
*/
|
||||||
|
userId?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 人脸照
|
||||||
|
*/
|
||||||
|
facePic?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目id
|
||||||
|
*/
|
||||||
|
projectId?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 上班打卡时间
|
||||||
|
*/
|
||||||
|
onClockTime?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 下班打卡时间
|
||||||
|
*/
|
||||||
|
offClockTime?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 打卡日期
|
||||||
|
*/
|
||||||
|
clockDate?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 1正常,2迟到,3早退,4缺勤,5补卡
|
||||||
|
*/
|
||||||
|
clockStatus?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 代打人员id
|
||||||
|
*/
|
||||||
|
pinchUserId?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 多次打卡时间记录
|
||||||
|
*/
|
||||||
|
clockRecord?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 上下班(1上班,2下班)
|
||||||
|
*/
|
||||||
|
commuter?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 日薪
|
||||||
|
*/
|
||||||
|
dailyWage?: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 经度
|
||||||
|
*/
|
||||||
|
lng?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 纬度
|
||||||
|
*/
|
||||||
|
lat?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
remark?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface AttendanceQuery extends PageQuery {
|
||||||
|
/**
|
||||||
|
* 人员姓名
|
||||||
|
*/
|
||||||
|
userName?: string;
|
||||||
|
teamId?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目id
|
||||||
|
*/
|
||||||
|
projectId?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 打卡日期
|
||||||
|
*/
|
||||||
|
clockDate?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 1正常,2迟到,3早退,4缺勤,5补卡
|
||||||
|
*/
|
||||||
|
clockStatus?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 上下班(1上班,2下班)
|
||||||
|
*/
|
||||||
|
commuter?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 日期范围参数
|
||||||
|
*/
|
||||||
|
params?: any;
|
||||||
|
}
|
@ -1,7 +1,33 @@
|
|||||||
import request from '@/utils/request';
|
import request, { download } from '@/utils/request';
|
||||||
import { AxiosPromise } from 'axios';
|
import { AxiosPromise } from 'axios';
|
||||||
import { ConstructionUserForm, ConstructionUserQuery, ConstructionUserVO } from '@/api/project/constructionUser/types';
|
import {
|
||||||
|
ConstructionUserForm,
|
||||||
|
ConstructionUserQuery,
|
||||||
|
ConstructionUserVO,
|
||||||
|
skipType,
|
||||||
|
ConstructionUserStatusForm,
|
||||||
|
ConstructionUserPlayCardForm,
|
||||||
|
ConstructionUserSalaryForm,
|
||||||
|
ConstructionUserExitForm,
|
||||||
|
ConstructionUserTemplateForm,
|
||||||
|
ConstructionUserMembeForm,
|
||||||
|
ConstructionMonthQuery
|
||||||
|
} from '@/api/project/constructionUser/types';
|
||||||
|
import { AttendanceMonthVO } from '../attendance/types';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询施工人员月份考勤列表
|
||||||
|
* @param query
|
||||||
|
* @returns {*}
|
||||||
|
*/
|
||||||
|
|
||||||
|
export const listConstructionMonth = (query?: ConstructionMonthQuery): AxiosPromise<AttendanceMonthVO[]> => {
|
||||||
|
return request({
|
||||||
|
url: '/project/constructionUser/list/attendance/month',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
});
|
||||||
|
};
|
||||||
/**
|
/**
|
||||||
* 查询施工人员列表
|
* 查询施工人员列表
|
||||||
* @param query
|
* @param query
|
||||||
@ -27,6 +53,28 @@ export const getConstructionUser = (id: string | number): AxiosPromise<Construct
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 人员迁移
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
export const transferConstructionUser = (data: skipType) => {
|
||||||
|
return request({
|
||||||
|
url: '/project/constructionUser/change/project',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询项目以及项目下的分包公司列表
|
||||||
|
*/
|
||||||
|
export const getProjectContractorList = () => {
|
||||||
|
return request({
|
||||||
|
url: '/project/project/list/project/contractorList',
|
||||||
|
method: 'get'
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增施工人员
|
* 新增施工人员
|
||||||
* @param data
|
* @param data
|
||||||
@ -61,3 +109,97 @@ export const delConstructionUser = (id: string | number | Array<string | number>
|
|||||||
method: 'delete'
|
method: 'delete'
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改施工人员在职状态
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
export const updateConstructionUserStatus = (data: ConstructionUserStatusForm) => {
|
||||||
|
return request({
|
||||||
|
url: '/project/constructionUser/batch/status',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据项目id批量修改施工人员打卡状态
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
export const updateConstructionUserPlayCardStatus = (data: ConstructionUserPlayCardForm) => {
|
||||||
|
return request({
|
||||||
|
url: '/project/constructionUser/batch/clock',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改施工人员打卡状态
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
export const updateConstructionUserPlayCardOneStatus = (data: ConstructionUserPlayCardForm) => {
|
||||||
|
return request({
|
||||||
|
url: '/project/constructionUser/clock',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改施工人员工资
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
export const updateConstructionUserSalary = (data: ConstructionUserSalaryForm) => {
|
||||||
|
return request({
|
||||||
|
url: '/project/constructionUser/salary',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询施工人员入退场记录
|
||||||
|
* @param query
|
||||||
|
*/
|
||||||
|
export const getConstructionUserExit = (query: ConstructionUserExitForm) => {
|
||||||
|
return request({
|
||||||
|
url: '/project/constructionUserExit/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 下载施工人员文件存储模板
|
||||||
|
* @param query
|
||||||
|
*/
|
||||||
|
export const dowloadConstructionUserTemplate = (query: ConstructionUserTemplateForm) => {
|
||||||
|
let { projectId } = query;
|
||||||
|
const fileName = projectId + '_project.zip';
|
||||||
|
return download('/project/constructionUserFile/exportFileTemplate', query, fileName);
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 施工人员退场
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
export const delConstructionUserMember = (data: ConstructionUserMembeForm) => {
|
||||||
|
return request({
|
||||||
|
url: '/project/projectTeamMember/',
|
||||||
|
method: 'delete',
|
||||||
|
data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 上传施工人员文件压缩包,批量导入存储施工人员文件
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
export const importConstructionUserInfo = (file: string) => {
|
||||||
|
return request({
|
||||||
|
url: '/project/constructionUserFile/upload/zip',
|
||||||
|
method: 'post',
|
||||||
|
data: { file }
|
||||||
|
});
|
||||||
|
};
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
import { ContractorVO } from '@/api/project/contractor/types';
|
import { ContractorVO } from '@/api/project/contractor/types';
|
||||||
import { ProjectTeamVO } from '@/api/project/projectTeam/types';
|
import { ProjectTeamVO } from '@/api/project/projectTeam/types';
|
||||||
|
import { S } from 'node_modules/vite/dist/node/types.d-aGj9QkWt';
|
||||||
|
|
||||||
export interface ConstructionUserVO {
|
export interface ConstructionUserVO {
|
||||||
/**
|
/**
|
||||||
@ -182,6 +183,118 @@ export interface ConstructionUserVO {
|
|||||||
*/
|
*/
|
||||||
createTime: string;
|
createTime: string;
|
||||||
}
|
}
|
||||||
|
export interface skipType {
|
||||||
|
/**
|
||||||
|
* 项目id
|
||||||
|
*/
|
||||||
|
projectId: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分包id
|
||||||
|
*/
|
||||||
|
contractorId: string | number;
|
||||||
|
id: string | number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface ConstructionMonthQuery {
|
||||||
|
/**
|
||||||
|
* id
|
||||||
|
*/
|
||||||
|
userId: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 打卡月份
|
||||||
|
|
||||||
|
*/
|
||||||
|
clockMonth?: string | number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface ConstructionUserMembeForm {
|
||||||
|
/**
|
||||||
|
* 用户id
|
||||||
|
*/
|
||||||
|
id: string | number;
|
||||||
|
/**
|
||||||
|
* 用户姓名
|
||||||
|
*/
|
||||||
|
userName: string | number;
|
||||||
|
/**
|
||||||
|
* 文件路径
|
||||||
|
*/
|
||||||
|
filePath: string;
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
remark: string | number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface ConstructionUserTemplateForm {
|
||||||
|
/**
|
||||||
|
* 项目id
|
||||||
|
*/
|
||||||
|
projectId: string | number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface ConstructionUserExitForm {
|
||||||
|
/**
|
||||||
|
* userId
|
||||||
|
*/
|
||||||
|
userId: number | string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface ConstructionUserSalaryForm {
|
||||||
|
/**
|
||||||
|
* 列表
|
||||||
|
*/
|
||||||
|
id: number | string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工资
|
||||||
|
*/
|
||||||
|
salary?: number | string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface ConstructionUserPlayCardForm {
|
||||||
|
/**
|
||||||
|
* 项目
|
||||||
|
*/
|
||||||
|
projectId?: string | number;
|
||||||
|
/**
|
||||||
|
* 用户id
|
||||||
|
*/
|
||||||
|
id?: string | number;
|
||||||
|
/**
|
||||||
|
* 打卡状态
|
||||||
|
*/
|
||||||
|
clock: number | string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface skipOptionType {
|
||||||
|
/**
|
||||||
|
* 名称
|
||||||
|
*/
|
||||||
|
projectName: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* id
|
||||||
|
*/
|
||||||
|
id: string | number;
|
||||||
|
/**
|
||||||
|
* 子项
|
||||||
|
*/
|
||||||
|
contractorList: Array<skipTeamType>;
|
||||||
|
}
|
||||||
|
export interface skipTeamType {
|
||||||
|
/**
|
||||||
|
* 名称
|
||||||
|
*/
|
||||||
|
name: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* id
|
||||||
|
*/
|
||||||
|
id: string | number;
|
||||||
|
}
|
||||||
|
|
||||||
export interface ConstructionUserForm extends BaseEntity {
|
export interface ConstructionUserForm extends BaseEntity {
|
||||||
/**
|
/**
|
||||||
@ -218,6 +331,10 @@ export interface ConstructionUserForm extends BaseEntity {
|
|||||||
* 分包公司id
|
* 分包公司id
|
||||||
*/
|
*/
|
||||||
contractorId?: string | number;
|
contractorId?: string | number;
|
||||||
|
/**
|
||||||
|
* 结算方式
|
||||||
|
*/
|
||||||
|
wageMeasureUnit?: string | number;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 班组id
|
* 班组id
|
||||||
@ -345,6 +462,11 @@ export interface ConstructionUserForm extends BaseEntity {
|
|||||||
remark?: string;
|
remark?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface ConstructionUserStatusForm {
|
||||||
|
status: number | string;
|
||||||
|
idList: Array<string | number>;
|
||||||
|
}
|
||||||
|
|
||||||
export interface ConstructionUserQuery extends PageQuery {
|
export interface ConstructionUserQuery extends PageQuery {
|
||||||
/**
|
/**
|
||||||
* 微信id
|
* 微信id
|
||||||
|
40
plus-ui/src/api/project/constructionUserFile/index.ts
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
import request from '@/utils/request';
|
||||||
|
import { AxiosPromise } from 'axios';
|
||||||
|
import { ConstructionUserFileVO, ConstructionUserFileForm, ConstructionUserFileQuery } from '@/api/project/constructionUserFile/types';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询施工人员文件存储列表
|
||||||
|
* @param query
|
||||||
|
* @returns {*}
|
||||||
|
*/
|
||||||
|
|
||||||
|
export const listConstructionUserFile = (query?: ConstructionUserFileQuery): AxiosPromise<ConstructionUserFileVO[]> => {
|
||||||
|
return request({
|
||||||
|
url: '/project/constructionUserFile/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询施工人员文件存储详细
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
export const setConstructionUserFile = (data: ConstructionUserFileForm): AxiosPromise<string | number> => {
|
||||||
|
return request({
|
||||||
|
url: '/project/constructionUserFile/save',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除施工人员文件存储
|
||||||
|
* @param id
|
||||||
|
*/
|
||||||
|
export const delConstructionUserFile = (id: string | number | Array<string | number>) => {
|
||||||
|
return request({
|
||||||
|
url: '/project/constructionUserFile/' + id,
|
||||||
|
method: 'delete'
|
||||||
|
});
|
||||||
|
};
|
137
plus-ui/src/api/project/constructionUserFile/types.ts
Normal file
@ -0,0 +1,137 @@
|
|||||||
|
export interface ConstructionUserFileVO {
|
||||||
|
/**
|
||||||
|
* 主键id
|
||||||
|
*/
|
||||||
|
id: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户id
|
||||||
|
*/
|
||||||
|
userId: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 文件类型
|
||||||
|
*/
|
||||||
|
fileType: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 文件名称
|
||||||
|
*/
|
||||||
|
fileName: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 文件路径
|
||||||
|
*/
|
||||||
|
path: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
remark: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface ConstructionUserExitVO {
|
||||||
|
/**
|
||||||
|
* 主键id
|
||||||
|
*/
|
||||||
|
id: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户id
|
||||||
|
*/
|
||||||
|
userId: string | number;
|
||||||
|
/**
|
||||||
|
* 文件路径地址
|
||||||
|
*/
|
||||||
|
pathUrl: Array<string>;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 身份证号码
|
||||||
|
|
||||||
|
*/
|
||||||
|
sfzNumber: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目id
|
||||||
|
*/
|
||||||
|
projectId: string;
|
||||||
|
/**
|
||||||
|
* 班组id
|
||||||
|
*/
|
||||||
|
teamId: string;
|
||||||
|
/**
|
||||||
|
* 入场时间
|
||||||
|
|
||||||
|
*/
|
||||||
|
entryDate: string;
|
||||||
|
/**
|
||||||
|
* 退场时间
|
||||||
|
|
||||||
|
*/
|
||||||
|
leaveDate: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 退场文件
|
||||||
|
|
||||||
|
*/
|
||||||
|
path: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
remark: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface ConstructionUserFileForm extends BaseEntity {
|
||||||
|
/**
|
||||||
|
* 用户id
|
||||||
|
*/
|
||||||
|
userId?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 文件类型
|
||||||
|
*/
|
||||||
|
fileList?: Array<fileListType>;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface fileListType {
|
||||||
|
fileId: string | number;
|
||||||
|
fileType: string | number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface ConstructionUserFileQuery {
|
||||||
|
/**
|
||||||
|
* 主键id
|
||||||
|
*/
|
||||||
|
id?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户id
|
||||||
|
*/
|
||||||
|
userId?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 文件类型
|
||||||
|
*/
|
||||||
|
fileType?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 文件名称
|
||||||
|
*/
|
||||||
|
fileName?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 文件路径
|
||||||
|
*/
|
||||||
|
path?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
remark?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 日期范围参数
|
||||||
|
*/
|
||||||
|
params?: any;
|
||||||
|
}
|
@ -51,6 +51,11 @@ export interface ContractorForm extends BaseEntity {
|
|||||||
*/
|
*/
|
||||||
id?: string | number;
|
id?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主键id
|
||||||
|
*/
|
||||||
|
projectId?: string | number;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 公司名称
|
* 公司名称
|
||||||
*/
|
*/
|
||||||
|
76
plus-ui/src/api/project/leave/index.ts
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
import request from '@/utils/request';
|
||||||
|
import { AxiosPromise } from 'axios';
|
||||||
|
import { LeaveVO, LeaveForm, LeaveQuery } from '@/api/project/leave/types';
|
||||||
|
import { AuditReissueCardForm } from '../reissueCard/types';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询施工人员请假申请列表
|
||||||
|
* @param query
|
||||||
|
* @returns {*}
|
||||||
|
*/
|
||||||
|
|
||||||
|
export const listLeave = (query?: LeaveQuery): AxiosPromise<LeaveVO[]> => {
|
||||||
|
return request({
|
||||||
|
url: '/project/leave/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询施工人员请假申请详细
|
||||||
|
* @param id
|
||||||
|
*/
|
||||||
|
export const getLeave = (id: string | number): AxiosPromise<LeaveVO> => {
|
||||||
|
return request({
|
||||||
|
url: '/project/leave/' + id,
|
||||||
|
method: 'get'
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增施工人员请假申请
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
export const addLeave = (data: LeaveForm) => {
|
||||||
|
return request({
|
||||||
|
url: '/project/leave',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改施工人员请假申请
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
export const updateLeave = (data: LeaveForm) => {
|
||||||
|
return request({
|
||||||
|
url: '/project/leave',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除施工人员请假申请
|
||||||
|
* @param id
|
||||||
|
*/
|
||||||
|
export const delLeave = (id: string | number | Array<string | number>) => {
|
||||||
|
return request({
|
||||||
|
url: '/project/leave/' + id,
|
||||||
|
method: 'delete'
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 管理员审核施工人员请假申请
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
export const AuditReissueCard = (data: AuditReissueCardForm) => {
|
||||||
|
return request({
|
||||||
|
url: '/project/leave/review/manager',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
};
|
206
plus-ui/src/api/project/leave/types.ts
Normal file
@ -0,0 +1,206 @@
|
|||||||
|
export interface LeaveVO {
|
||||||
|
/**
|
||||||
|
* 申请人名字
|
||||||
|
*/
|
||||||
|
userName: string;
|
||||||
|
id?: string | number;
|
||||||
|
/**
|
||||||
|
* 申请请假说明
|
||||||
|
*/
|
||||||
|
userExplain: string;
|
||||||
|
status?: string;
|
||||||
|
/**
|
||||||
|
* 请假申请时间
|
||||||
|
*/
|
||||||
|
userTime: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 请假类型(1事假 2病假)
|
||||||
|
*/
|
||||||
|
leaveType: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 请假开始时间
|
||||||
|
*/
|
||||||
|
startTime: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 请假结束时间
|
||||||
|
*/
|
||||||
|
endTime: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 班组长名字
|
||||||
|
*/
|
||||||
|
gangerName: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 班组长意见(1未读 2同意 3拒绝)
|
||||||
|
*/
|
||||||
|
gangerOpinion: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 班组长说明
|
||||||
|
*/
|
||||||
|
gangerExplain: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 班组长操作时间
|
||||||
|
*/
|
||||||
|
gangerTime: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 管理员意见(1未读 2同意 3拒绝)
|
||||||
|
*/
|
||||||
|
managerOpinion: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 管理员说明
|
||||||
|
*/
|
||||||
|
managerExplain: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 管理员操作时间
|
||||||
|
*/
|
||||||
|
managerTime: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
remark: string;
|
||||||
|
managerName?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface LeaveForm extends BaseEntity {
|
||||||
|
/**
|
||||||
|
* 主键id
|
||||||
|
*/
|
||||||
|
id?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 申请人id
|
||||||
|
*/
|
||||||
|
userId?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 申请人名字
|
||||||
|
*/
|
||||||
|
userName?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 申请请假说明
|
||||||
|
*/
|
||||||
|
userExplain?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 请假申请时间
|
||||||
|
*/
|
||||||
|
userTime?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 请假类型(1事假 2病假)
|
||||||
|
*/
|
||||||
|
leaveType?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 请假开始时间
|
||||||
|
*/
|
||||||
|
startTime?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 请假结束时间
|
||||||
|
*/
|
||||||
|
endTime?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 班组长
|
||||||
|
*/
|
||||||
|
gangerId?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 班组长名字
|
||||||
|
*/
|
||||||
|
gangerName?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 班组长意见(1未读 2同意 3拒绝)
|
||||||
|
*/
|
||||||
|
gangerOpinion?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 班组长说明
|
||||||
|
*/
|
||||||
|
gangerExplain?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 班组长操作时间
|
||||||
|
*/
|
||||||
|
gangerTime?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 管理员意见(1未读 2同意 3拒绝)
|
||||||
|
*/
|
||||||
|
managerOpinion?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 管理员说明
|
||||||
|
*/
|
||||||
|
managerExplain?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 管理员操作时间
|
||||||
|
*/
|
||||||
|
managerTime?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目id
|
||||||
|
*/
|
||||||
|
projectId?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 班组id
|
||||||
|
*/
|
||||||
|
teamId?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
remark?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface LeaveQuery extends PageQuery {
|
||||||
|
/**
|
||||||
|
* 申请人名字
|
||||||
|
*/
|
||||||
|
userName?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 请假类型(1事假 2病假)
|
||||||
|
*/
|
||||||
|
leaveType?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 班组长意见(1未读 2同意 3拒绝)
|
||||||
|
*/
|
||||||
|
gangerOpinion?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 管理员意见(1未读 2同意 3拒绝)
|
||||||
|
*/
|
||||||
|
managerOpinion?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目id
|
||||||
|
*/
|
||||||
|
projectId?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 班组id
|
||||||
|
*/
|
||||||
|
teamId?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 日期范围参数
|
||||||
|
*/
|
||||||
|
params?: any;
|
||||||
|
}
|
@ -1,6 +1,6 @@
|
|||||||
import request from '@/utils/request';
|
import request from '@/utils/request';
|
||||||
import { AxiosPromise } from 'axios';
|
import { AxiosPromise } from 'axios';
|
||||||
import { ProjectForm, ProjectQuery, ProjectVO } from '@/api/project/project/types';
|
import { childProjectQuery, ProjectForm, ProjectQuery, ProjectVO } from '@/api/project/project/types';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询项目列表
|
* 查询项目列表
|
||||||
@ -16,6 +16,19 @@ export const listProject = (query?: ProjectQuery): AxiosPromise<ProjectVO[]> =>
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询项目dxf
|
||||||
|
* @param query
|
||||||
|
* @returns {*}
|
||||||
|
*/
|
||||||
|
|
||||||
|
export const listDXFProject = (id: string | number): AxiosPromise<any> => {
|
||||||
|
return request({
|
||||||
|
url: '/project/projectFile/json/' + id,
|
||||||
|
method: 'get'
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询项目详细
|
* 查询项目详细
|
||||||
* @param id
|
* @param id
|
||||||
@ -51,6 +64,83 @@ export const updateProject = (data: ProjectForm) => {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 上传dxf文件
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
export const upLoadProjectDXF = (data: any) => {
|
||||||
|
return request({
|
||||||
|
url: '/project/projectFile/upload/dxf',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过GeoJson新增设施-光伏板
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
export const addProjectFacilities = (data: any) => {
|
||||||
|
return request({
|
||||||
|
url: '/facility/photovoltaicPanel/geoJson',
|
||||||
|
method: 'post',
|
||||||
|
data: data,
|
||||||
|
headers: {
|
||||||
|
'X-No-Cache': 'true'
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过GeoJson新增设施-光伏板桩点、立柱、支架
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
export const addProjectPilePoint = (data: any) => {
|
||||||
|
console.log('🚀 ~ addProjectPilePoint ~ data:', data);
|
||||||
|
|
||||||
|
return request({
|
||||||
|
url: '/facility/photovoltaicPanelPoint/parts/geoJson',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过GeoJson新增设施-方阵
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
export const addProjectSquare = (data: any) => {
|
||||||
|
return request({
|
||||||
|
url: '/facility/matrix/geoJson',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过GeoJson新增设施-箱变
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
export const addBoxTransformer = (data: any) => {
|
||||||
|
return request({
|
||||||
|
url: '/facility/boxTransformer/geoJson',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过GeoJson新增设施-逆变器
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
export const addInverter = (data: any) => {
|
||||||
|
return request({
|
||||||
|
url: '/facility/inverter/geoJson',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除项目
|
* 删除项目
|
||||||
* @param id
|
* @param id
|
||||||
@ -61,3 +151,26 @@ export const delProject = (id: string | number | Array<string | number>) => {
|
|||||||
method: 'delete'
|
method: 'delete'
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增子项目
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
export const addChildProject = (data: childProjectQuery) => {
|
||||||
|
return request({
|
||||||
|
url: '/project/project/sub',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询项目下的子项目列表
|
||||||
|
* @param id
|
||||||
|
*/
|
||||||
|
export const getChildProject = (id: string | number): AxiosPromise<childProjectQuery[]> => {
|
||||||
|
return request({
|
||||||
|
url: '/project/project/list/sub/' + id,
|
||||||
|
method: 'get'
|
||||||
|
});
|
||||||
|
};
|
||||||
|
@ -2,7 +2,7 @@ export interface ProjectVO {
|
|||||||
/**
|
/**
|
||||||
* id
|
* id
|
||||||
*/
|
*/
|
||||||
id: string | number;
|
id: string;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 项目名称
|
* 项目名称
|
||||||
@ -13,7 +13,7 @@ export interface ProjectVO {
|
|||||||
* 项目简称
|
* 项目简称
|
||||||
*/
|
*/
|
||||||
shortName: string;
|
shortName: string;
|
||||||
|
designId: string;
|
||||||
/**
|
/**
|
||||||
* 父项目id
|
* 父项目id
|
||||||
*/
|
*/
|
||||||
@ -37,12 +37,12 @@ export interface ProjectVO {
|
|||||||
/**
|
/**
|
||||||
* 项目类型
|
* 项目类型
|
||||||
*/
|
*/
|
||||||
type: string;
|
projectType: string;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 项目类型(1光伏 2风电)
|
* 项目类型(1光伏 2风电)
|
||||||
*/
|
*/
|
||||||
isType: number;
|
projectCategory: number;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除时间
|
* 删除时间
|
||||||
@ -113,6 +113,25 @@ export interface ProjectVO {
|
|||||||
* 创建时间
|
* 创建时间
|
||||||
*/
|
*/
|
||||||
createTime: string;
|
createTime: string;
|
||||||
|
type?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface locationType {
|
||||||
|
/**
|
||||||
|
* 经度
|
||||||
|
*/
|
||||||
|
lng: string;
|
||||||
|
// 纬度
|
||||||
|
lat: string;
|
||||||
|
// 逆地理编码地址
|
||||||
|
|
||||||
|
projectSite: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface childProjectQuery{
|
||||||
|
projectName:string;
|
||||||
|
pid:string;
|
||||||
|
id?:string
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface ProjectForm extends BaseEntity {
|
export interface ProjectForm extends BaseEntity {
|
||||||
@ -146,6 +165,16 @@ export interface ProjectForm extends BaseEntity {
|
|||||||
*/
|
*/
|
||||||
picUrl?: string;
|
picUrl?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 经度
|
||||||
|
*/
|
||||||
|
lng?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 纬度
|
||||||
|
*/
|
||||||
|
lat?: string;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 备注
|
* 备注
|
||||||
*/
|
*/
|
||||||
@ -154,12 +183,12 @@ export interface ProjectForm extends BaseEntity {
|
|||||||
/**
|
/**
|
||||||
* 项目类型
|
* 项目类型
|
||||||
*/
|
*/
|
||||||
type?: string;
|
projectType?: string;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 项目类型(1光伏 2风电)
|
* 项目类型(1光伏 2风电)
|
||||||
*/
|
*/
|
||||||
isType?: number;
|
projectCategory?: number;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除时间
|
* 删除时间
|
||||||
@ -197,9 +226,14 @@ export interface ProjectForm extends BaseEntity {
|
|||||||
onStreamTime?: string;
|
onStreamTime?: string;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 打卡范围(09:00,18:00)
|
* 打卡开始时间(09:00,18:00)
|
||||||
*/
|
*/
|
||||||
punchRange?: string;
|
playCardStart?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 打卡结束时间(09:00,18:00)
|
||||||
|
*/
|
||||||
|
playCardEnd?: string;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设计总量
|
* 设计总量
|
||||||
@ -256,12 +290,12 @@ export interface ProjectQuery extends PageQuery {
|
|||||||
/**
|
/**
|
||||||
* 项目类型
|
* 项目类型
|
||||||
*/
|
*/
|
||||||
type?: string;
|
projectType?: string;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 项目类型(1光伏 2风电)
|
* 项目类型(1光伏 2风电)
|
||||||
*/
|
*/
|
||||||
isType?: number;
|
projectCategory?: number;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除时间
|
* 删除时间
|
||||||
@ -273,6 +307,16 @@ export interface ProjectQuery extends PageQuery {
|
|||||||
*/
|
*/
|
||||||
projectSite?: string;
|
projectSite?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 经度
|
||||||
|
*/
|
||||||
|
lng?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 纬度
|
||||||
|
*/
|
||||||
|
lat?: string;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 负责人
|
* 负责人
|
||||||
*/
|
*/
|
||||||
@ -299,9 +343,14 @@ export interface ProjectQuery extends PageQuery {
|
|||||||
onStreamTime?: string;
|
onStreamTime?: string;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 打卡范围(09:00,18:00)
|
* 打卡开始时间(09:00,18:00)
|
||||||
*/
|
*/
|
||||||
punchRange?: string;
|
playCardStart?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 打卡结束时间(09:00,18:00)
|
||||||
|
*/
|
||||||
|
playCardEnd?: string;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设计总量
|
* 设计总量
|
||||||
|
@ -35,7 +35,7 @@ export interface ProjectTeamForm extends BaseEntity {
|
|||||||
* 主键id
|
* 主键id
|
||||||
*/
|
*/
|
||||||
id?: string | number;
|
id?: string | number;
|
||||||
|
peopleNumber?: string | number;
|
||||||
/**
|
/**
|
||||||
* 项目id
|
* 项目id
|
||||||
*/
|
*/
|
||||||
@ -62,7 +62,7 @@ export interface ProjectTeamQuery extends PageQuery {
|
|||||||
* 项目id
|
* 项目id
|
||||||
*/
|
*/
|
||||||
projectId?: string | number;
|
projectId?: string | number;
|
||||||
|
peopleNumber?: string | number;
|
||||||
/**
|
/**
|
||||||
* 班组名称
|
* 班组名称
|
||||||
*/
|
*/
|
||||||
@ -84,7 +84,7 @@ export interface ProjectTeamForemanResp {
|
|||||||
* 班组id
|
* 班组id
|
||||||
*/
|
*/
|
||||||
id: string | number;
|
id: string | number;
|
||||||
|
foremanList: foremanQuery[];
|
||||||
/**
|
/**
|
||||||
* 班组名称
|
* 班组名称
|
||||||
*/
|
*/
|
||||||
@ -94,7 +94,9 @@ export interface ProjectTeamForemanResp {
|
|||||||
* 项目id
|
* 项目id
|
||||||
*/
|
*/
|
||||||
projectId: string | number;
|
projectId: string | number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface foremanQuery {
|
||||||
/**
|
/**
|
||||||
* 班组长id
|
* 班组长id
|
||||||
*/
|
*/
|
||||||
|
@ -24,6 +24,11 @@ export interface ProjectTeamMemberVO {
|
|||||||
*/
|
*/
|
||||||
postId: string | number;
|
postId: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 施工人员姓名
|
||||||
|
*/
|
||||||
|
memberName: string;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 备注
|
* 备注
|
||||||
*/
|
*/
|
||||||
|
75
plus-ui/src/api/project/reissueCard/index.ts
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
import request from '@/utils/request';
|
||||||
|
import { AxiosPromise } from 'axios';
|
||||||
|
import { ReissueCardVO, ReissueCardForm, ReissueCardQuery, AuditReissueCardForm } from '@/api/project/reissueCard/types';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询施工人员补卡申请列表
|
||||||
|
* @param query
|
||||||
|
* @returns {*}
|
||||||
|
*/
|
||||||
|
|
||||||
|
export const listReissueCard = (query?: ReissueCardQuery): AxiosPromise<ReissueCardVO[]> => {
|
||||||
|
return request({
|
||||||
|
url: '/project/reissueCard/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询施工人员补卡申请详细
|
||||||
|
* @param id
|
||||||
|
*/
|
||||||
|
export const getReissueCard = (id: string | number): AxiosPromise<ReissueCardVO> => {
|
||||||
|
return request({
|
||||||
|
url: '/project/reissueCard/' + id,
|
||||||
|
method: 'get'
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增施工人员补卡申请
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
export const addReissueCard = (data: ReissueCardForm) => {
|
||||||
|
return request({
|
||||||
|
url: '/project/reissueCard',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改施工人员补卡申请
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
export const updateReissueCard = (data: ReissueCardForm) => {
|
||||||
|
return request({
|
||||||
|
url: '/project/reissueCard',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除施工人员补卡申请
|
||||||
|
* @param id
|
||||||
|
*/
|
||||||
|
export const delReissueCard = (id: string | number | Array<string | number>) => {
|
||||||
|
return request({
|
||||||
|
url: '/project/reissueCard/' + id,
|
||||||
|
method: 'delete'
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 管理员审核施工人员补卡申请
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
export const AuditReissueCard = (data: AuditReissueCardForm) => {
|
||||||
|
return request({
|
||||||
|
url: '/project/reissueCard/review/manager',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
};
|
173
plus-ui/src/api/project/reissueCard/types.ts
Normal file
@ -0,0 +1,173 @@
|
|||||||
|
export interface ReissueCardVO {
|
||||||
|
/**
|
||||||
|
* 申请人名字
|
||||||
|
*/
|
||||||
|
userName: string;
|
||||||
|
id?: string | number;
|
||||||
|
status?: string;
|
||||||
|
managerName?: string;
|
||||||
|
/**
|
||||||
|
* 申请补卡说明
|
||||||
|
*/
|
||||||
|
userExplain: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 补卡申请时间
|
||||||
|
*/
|
||||||
|
userTime: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 班组长名字
|
||||||
|
*/
|
||||||
|
gangerName: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 班组长意见(1未读 2同意 3拒绝)
|
||||||
|
*/
|
||||||
|
gangerOpinion: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 班组长说明
|
||||||
|
*/
|
||||||
|
gangerExplain: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 班组长操作时间
|
||||||
|
*/
|
||||||
|
gangerTime: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 管理员意见(1未读 2同意 3拒绝)
|
||||||
|
*/
|
||||||
|
managerOpinion: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 管理员说明
|
||||||
|
*/
|
||||||
|
managerExplain: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 管理员操作时间
|
||||||
|
*/
|
||||||
|
managerTime: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
remark: string;
|
||||||
|
}
|
||||||
|
export interface AuditReissueCardForm {
|
||||||
|
/**
|
||||||
|
* 主键id
|
||||||
|
*/
|
||||||
|
id?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 管理员意见
|
||||||
|
*/
|
||||||
|
managerOpinion?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 管理员说明
|
||||||
|
*/
|
||||||
|
managerExplain?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
remark?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface ReissueCardForm extends BaseEntity {
|
||||||
|
/**
|
||||||
|
* 主键id
|
||||||
|
*/
|
||||||
|
id?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 申请人id
|
||||||
|
*/
|
||||||
|
userId?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 申请补卡说明
|
||||||
|
*/
|
||||||
|
userExplain?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 班组长
|
||||||
|
*/
|
||||||
|
gangerId?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 班组长意见(1未读 2同意 3拒绝)
|
||||||
|
*/
|
||||||
|
gangerOpinion?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 班组长说明
|
||||||
|
*/
|
||||||
|
gangerExplain?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 管理员意见(1未读 2同意 3拒绝)
|
||||||
|
*/
|
||||||
|
managerOpinion?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 管理员说明
|
||||||
|
*/
|
||||||
|
managerExplain?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目id
|
||||||
|
*/
|
||||||
|
projectId?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 考勤表主键id
|
||||||
|
*/
|
||||||
|
attendanceId?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
remark?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface ReissueCardQuery extends PageQuery {
|
||||||
|
/**
|
||||||
|
* 申请人名字
|
||||||
|
*/
|
||||||
|
userName?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 班组长意见(1未读 2同意 3拒绝)
|
||||||
|
*/
|
||||||
|
gangerOpinion?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 管理员意见(1未读 2同意 3拒绝)
|
||||||
|
*/
|
||||||
|
managerOpinion?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目id
|
||||||
|
*/
|
||||||
|
projectId?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 班组id
|
||||||
|
*/
|
||||||
|
teamId?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 补卡类型(1上班 2下班)
|
||||||
|
*/
|
||||||
|
reissueCardType?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 日期范围参数
|
||||||
|
*/
|
||||||
|
params?: any;
|
||||||
|
}
|
63
plus-ui/src/api/project/workerDailyReport/index.ts
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
import request from '@/utils/request';
|
||||||
|
import { AxiosPromise } from 'axios';
|
||||||
|
import { WorkerDailyReportVO, WorkerDailyReportForm, WorkerDailyReportQuery } from '@/api/project/workerDailyReport/types';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询施工人员日报列表
|
||||||
|
* @param query
|
||||||
|
* @returns {*}
|
||||||
|
*/
|
||||||
|
|
||||||
|
export const listWorkerDailyReport = (query?: WorkerDailyReportQuery): AxiosPromise<WorkerDailyReportVO[]> => {
|
||||||
|
return request({
|
||||||
|
url: '/project/workerDailyReport/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询施工人员日报详细
|
||||||
|
* @param id
|
||||||
|
*/
|
||||||
|
export const getWorkerDailyReport = (id: string | number): AxiosPromise<WorkerDailyReportVO> => {
|
||||||
|
return request({
|
||||||
|
url: '/project/workerDailyReport/' + id,
|
||||||
|
method: 'get'
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增施工人员日报
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
export const addWorkerDailyReport = (data: WorkerDailyReportForm) => {
|
||||||
|
return request({
|
||||||
|
url: '/project/workerDailyReport',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改施工人员日报
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
export const updateWorkerDailyReport = (data: WorkerDailyReportForm) => {
|
||||||
|
return request({
|
||||||
|
url: '/project/workerDailyReport',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除施工人员日报
|
||||||
|
* @param id
|
||||||
|
*/
|
||||||
|
export const delWorkerDailyReport = (id: string | number | Array<string | number>) => {
|
||||||
|
return request({
|
||||||
|
url: '/project/workerDailyReport/' + id,
|
||||||
|
method: 'delete'
|
||||||
|
});
|
||||||
|
};
|
132
plus-ui/src/api/project/workerDailyReport/types.ts
Normal file
@ -0,0 +1,132 @@
|
|||||||
|
export interface WorkerDailyReportVO {
|
||||||
|
/**
|
||||||
|
* 申请人名字
|
||||||
|
*/
|
||||||
|
userName: string;
|
||||||
|
userId?: string;
|
||||||
|
id?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 今日完成工作
|
||||||
|
*/
|
||||||
|
todayCompletedWork: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 未完成工作
|
||||||
|
*/
|
||||||
|
unfinishedWork: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 明日工作
|
||||||
|
*/
|
||||||
|
tomorrowWork: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 需协调与帮助
|
||||||
|
*/
|
||||||
|
coordinationHelp: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface WorkerDailyReportForm extends BaseEntity {
|
||||||
|
/**
|
||||||
|
* 主键id
|
||||||
|
*/
|
||||||
|
id?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目id
|
||||||
|
*/
|
||||||
|
projectId?: string | number;
|
||||||
|
teamName?: string;
|
||||||
|
resubmitReason?: string;
|
||||||
|
reportDate?: string;
|
||||||
|
isResubmit: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 班组id
|
||||||
|
*/
|
||||||
|
teamId?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 申请人id
|
||||||
|
*/
|
||||||
|
userId?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 申请人名字
|
||||||
|
*/
|
||||||
|
userName?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 今日完成工作
|
||||||
|
*/
|
||||||
|
todayCompletedWork?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 未完成工作
|
||||||
|
*/
|
||||||
|
unfinishedWork?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 明日工作
|
||||||
|
*/
|
||||||
|
tomorrowWork?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 需协调与帮助
|
||||||
|
*/
|
||||||
|
coordinationHelp?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 附件
|
||||||
|
*/
|
||||||
|
fileList?: Array<string>;
|
||||||
|
dailyPieceItemVoList?: dailyPieceItemVO[];
|
||||||
|
}
|
||||||
|
|
||||||
|
interface dailyPieceItemVO {
|
||||||
|
/**
|
||||||
|
* 主键id
|
||||||
|
*/
|
||||||
|
id?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 计件类型
|
||||||
|
*/
|
||||||
|
pieceType?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数量
|
||||||
|
*/
|
||||||
|
pieceCount?: number;
|
||||||
|
pieceUnit?: string;
|
||||||
|
remark?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface WorkerDailyReportQuery extends PageQuery {
|
||||||
|
/**
|
||||||
|
* 项目id
|
||||||
|
*/
|
||||||
|
projectId?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 班组id
|
||||||
|
*/
|
||||||
|
teamId?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 申请人id
|
||||||
|
*/
|
||||||
|
userId?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 申请人名字
|
||||||
|
*/
|
||||||
|
userName?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 日期范围参数
|
||||||
|
*/
|
||||||
|
params?: any;
|
||||||
|
isResubmit?: string;
|
||||||
|
}
|
63
plus-ui/src/api/quality/qualityConstructionLog/index.ts
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
import request from '@/utils/request';
|
||||||
|
import { AxiosPromise } from 'axios';
|
||||||
|
import { QualityConstructionLogVO, QualityConstructionLogForm, QualityConstructionLogQuery } from '@/api/quality/qualityConstructionLog/types';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询质量-施工日志列表
|
||||||
|
* @param query
|
||||||
|
* @returns {*}
|
||||||
|
*/
|
||||||
|
|
||||||
|
export const listQualityConstructionLog = (query?: QualityConstructionLogQuery): AxiosPromise<QualityConstructionLogVO[]> => {
|
||||||
|
return request({
|
||||||
|
url: '/quality/qualityConstructionLog/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询质量-施工日志详细
|
||||||
|
* @param id
|
||||||
|
*/
|
||||||
|
export const getQualityConstructionLog = (id: string | number): AxiosPromise<QualityConstructionLogVO> => {
|
||||||
|
return request({
|
||||||
|
url: '/quality/qualityConstructionLog/' + id,
|
||||||
|
method: 'get'
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增质量-施工日志
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
export const addQualityConstructionLog = (data: QualityConstructionLogForm) => {
|
||||||
|
return request({
|
||||||
|
url: '/quality/qualityConstructionLog',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改质量-施工日志
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
export const updateQualityConstructionLog = (data: QualityConstructionLogForm) => {
|
||||||
|
return request({
|
||||||
|
url: '/quality/qualityConstructionLog',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除质量-施工日志
|
||||||
|
* @param id
|
||||||
|
*/
|
||||||
|
export const delQualityConstructionLog = (id: string | number | Array<string | number>) => {
|
||||||
|
return request({
|
||||||
|
url: '/quality/qualityConstructionLog/' + id,
|
||||||
|
method: 'delete'
|
||||||
|
});
|
||||||
|
};
|
84
plus-ui/src/api/quality/qualityConstructionLog/types.ts
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
export interface QualityConstructionLogVO {
|
||||||
|
/**
|
||||||
|
* 发生日期
|
||||||
|
*/
|
||||||
|
happenDate: string;
|
||||||
|
id?: string | number;
|
||||||
|
projectName: string;
|
||||||
|
createTime: string;
|
||||||
|
fileList: any[];
|
||||||
|
file?: string;
|
||||||
|
/**
|
||||||
|
* 生产情况
|
||||||
|
*/
|
||||||
|
productionStatus: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 技术质量安全工作
|
||||||
|
*/
|
||||||
|
technologyQuality: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
remark: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建者
|
||||||
|
*/
|
||||||
|
createBy: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface QualityConstructionLogForm extends BaseEntity {
|
||||||
|
/**
|
||||||
|
* 主键id
|
||||||
|
*/
|
||||||
|
id?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目id
|
||||||
|
*/
|
||||||
|
projectId?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发生日期
|
||||||
|
*/
|
||||||
|
happenDate?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生产情况
|
||||||
|
*/
|
||||||
|
productionStatus?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 技术质量安全工作
|
||||||
|
*/
|
||||||
|
technologyQuality?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 附件
|
||||||
|
*/
|
||||||
|
file?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
remark?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface QualityConstructionLogQuery extends PageQuery {
|
||||||
|
/**
|
||||||
|
* 项目id
|
||||||
|
*/
|
||||||
|
projectId?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发生日期
|
||||||
|
*/
|
||||||
|
happenDate?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 日期范围参数
|
||||||
|
*/
|
||||||
|
params?: any;
|
||||||
|
}
|
63
plus-ui/src/api/quality/qualityInspection/index.ts
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
import request from '@/utils/request';
|
||||||
|
import { AxiosPromise } from 'axios';
|
||||||
|
import { QualityInspectionVO, QualityInspectionForm, QualityInspectionQuery } from '@/api/quality/qualityInspection/types';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询质量-检查工单列表
|
||||||
|
* @param query
|
||||||
|
* @returns {*}
|
||||||
|
*/
|
||||||
|
|
||||||
|
export const listQualityInspection = (query?: QualityInspectionQuery): AxiosPromise<QualityInspectionVO[]> => {
|
||||||
|
return request({
|
||||||
|
url: '/quality/qualityInspection/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询质量-检查工单详细
|
||||||
|
* @param id
|
||||||
|
*/
|
||||||
|
export const getQualityInspection = (id: string | number): AxiosPromise<QualityInspectionVO> => {
|
||||||
|
return request({
|
||||||
|
url: '/quality/qualityInspection/' + id,
|
||||||
|
method: 'get'
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增质量-检查工单
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
export const addQualityInspection = (data: QualityInspectionForm) => {
|
||||||
|
return request({
|
||||||
|
url: '/quality/qualityInspection',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改质量-检查工单
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
export const updateQualityInspection = (data: QualityInspectionForm) => {
|
||||||
|
return request({
|
||||||
|
url: '/quality/qualityInspection',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除质量-检查工单
|
||||||
|
* @param id
|
||||||
|
*/
|
||||||
|
export const delQualityInspection = (id: string | number | Array<string | number>) => {
|
||||||
|
return request({
|
||||||
|
url: '/quality/qualityInspection/' + id,
|
||||||
|
method: 'delete'
|
||||||
|
});
|
||||||
|
};
|
168
plus-ui/src/api/quality/qualityInspection/types.ts
Normal file
@ -0,0 +1,168 @@
|
|||||||
|
export interface QualityInspectionVO {
|
||||||
|
verificationType: string;
|
||||||
|
measure: string;
|
||||||
|
/**
|
||||||
|
* 巡检类型
|
||||||
|
*/
|
||||||
|
inspectionType: string;
|
||||||
|
id?: string | number;
|
||||||
|
projectName: string;
|
||||||
|
rectificationFileList: any[];
|
||||||
|
inspectionFile: string;
|
||||||
|
correctorName: string;
|
||||||
|
replyPeriodDate: string;
|
||||||
|
rectificationTime: string;
|
||||||
|
rectificationFile: string;
|
||||||
|
verificationResult: string;
|
||||||
|
/**
|
||||||
|
* 巡检附件
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
* 巡检标题
|
||||||
|
*/
|
||||||
|
inspectionHeadline: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 巡检结果
|
||||||
|
*/
|
||||||
|
inspectionResult: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工单状态(1通知 2整改 3验证)
|
||||||
|
*/
|
||||||
|
inspectionStatus: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
remark: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建者
|
||||||
|
*/
|
||||||
|
createBy: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建时间
|
||||||
|
*/
|
||||||
|
createTime: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface QualityInspectionForm extends BaseEntity {
|
||||||
|
/**
|
||||||
|
* 主键id
|
||||||
|
*/
|
||||||
|
id?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目id
|
||||||
|
*/
|
||||||
|
projectId?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 巡检类型
|
||||||
|
*/
|
||||||
|
inspectionType?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 巡检标题
|
||||||
|
*/
|
||||||
|
inspectionHeadline?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 巡检结果
|
||||||
|
*/
|
||||||
|
inspectionResult?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工单状态(1通知 2整改 3验证)
|
||||||
|
*/
|
||||||
|
inspectionStatus?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 巡检附件
|
||||||
|
*/
|
||||||
|
inspectionFile?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 班组id
|
||||||
|
*/
|
||||||
|
teamId?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 整改人(班组长)
|
||||||
|
*/
|
||||||
|
corrector?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否回复(1回复 2不回复)
|
||||||
|
*/
|
||||||
|
isReply?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 回复期限日期
|
||||||
|
*/
|
||||||
|
replyPeriodDate?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 整改反馈
|
||||||
|
*/
|
||||||
|
rectificationResult?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 整改时间
|
||||||
|
*/
|
||||||
|
rectificationTime?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 整改附件
|
||||||
|
*/
|
||||||
|
rectificationFile?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 验证结果
|
||||||
|
*/
|
||||||
|
verificationResult?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 验证状态(1通过 2未通过)
|
||||||
|
*/
|
||||||
|
verificationType?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 验证时间
|
||||||
|
*/
|
||||||
|
verificationTime?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
remark?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface QualityInspectionQuery extends PageQuery {
|
||||||
|
/**
|
||||||
|
* 项目id
|
||||||
|
*/
|
||||||
|
projectId?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 巡检类型
|
||||||
|
*/
|
||||||
|
inspectionType?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工单状态(1通知 2整改 3验证)
|
||||||
|
*/
|
||||||
|
inspectionStatus?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 班组id
|
||||||
|
*/
|
||||||
|
teamId?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 日期范围参数
|
||||||
|
*/
|
||||||
|
params?: any;
|
||||||
|
}
|
87
plus-ui/src/api/safety/documentSafetyMeeting/index.ts
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
import request from '@/utils/request';
|
||||||
|
import {
|
||||||
|
documentSafetyMeetingListFile,
|
||||||
|
documentSafetyMeetingListFolder,
|
||||||
|
documentSafetyMeetingListQuery,
|
||||||
|
documentSafetyMeetingListVo,
|
||||||
|
documentRecycleBinListQuery,
|
||||||
|
documentRecycleBinListVO
|
||||||
|
} from './type';
|
||||||
|
import { AxiosPromise } from 'axios';
|
||||||
|
// 查询安全会议结构
|
||||||
|
export function documentCompletionTreeStructure(query: object) {
|
||||||
|
return request({
|
||||||
|
url: '/safety/documentSafetyMeeting/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 查询安全会议文件列表
|
||||||
|
export function documentCompletionList(query: documentSafetyMeetingListQuery): AxiosPromise<documentSafetyMeetingListVo> {
|
||||||
|
return request({
|
||||||
|
url: '/safety/documentSafetyMeeting/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 安全会议添加
|
||||||
|
export function documentCompletionAdd(data: documentSafetyMeetingListFile) {
|
||||||
|
return request({
|
||||||
|
url: '/safety/documentSafetyMeeting/file',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 安全会议修改文件名
|
||||||
|
export function documentCompletionEdit(query: object) {
|
||||||
|
return request({
|
||||||
|
url: '/api/v1/system/documentSafetyMeeting/edit',
|
||||||
|
method: 'put',
|
||||||
|
params: query
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 安全会议删除文件
|
||||||
|
export function documentCompletionDelete(id: string) {
|
||||||
|
return request({
|
||||||
|
url: '/safety/documentSafetyMeeting/' + id,
|
||||||
|
method: 'delete'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 安全会议获取指定id信息
|
||||||
|
export function documentCompletionGet(id: string) {
|
||||||
|
return request({
|
||||||
|
url: '/safety/documentSafetyMeeting/' + id,
|
||||||
|
method: 'get'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 新建文件夹
|
||||||
|
export function newFolder(data: documentSafetyMeetingListFolder): AxiosPromise<any> {
|
||||||
|
return request({
|
||||||
|
url: '/safety/documentSafetyMeeting/folder',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 单文件下载
|
||||||
|
export function uniFileDownload(query: object) {
|
||||||
|
return request({
|
||||||
|
url: '/api/v1/system/documentSafetyMeeting/safetyDataUniFileDownload',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 回收站恢复
|
||||||
|
export function completionDataRecyclingStation(id: string[]) {
|
||||||
|
return request({
|
||||||
|
url: '/safety/documentSafetyMeeting/recovery/' + id,
|
||||||
|
method: 'put'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 回收站列表数据
|
||||||
|
export function documentRecycleBinList(query: documentRecycleBinListQuery): AxiosPromise<documentRecycleBinListVO> {
|
||||||
|
return request({
|
||||||
|
url: '/safety/documentSafetyMeeting/recycleBin/list',
|
||||||
|
method: 'get',
|
||||||
|
params: { ...query, fileType: '2' }
|
||||||
|
});
|
||||||
|
}
|
61
plus-ui/src/api/safety/documentSafetyMeeting/type.ts
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
export interface documentSafetyMeetingListFolder {
|
||||||
|
//新增文件夹
|
||||||
|
projectId: string;
|
||||||
|
pid?: string;
|
||||||
|
fileName: string;
|
||||||
|
remark?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface documentSafetyMeetingListFile {
|
||||||
|
//新增文件
|
||||||
|
file: any;
|
||||||
|
req?: reqQuery;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface reqQuery {
|
||||||
|
projectId: string;
|
||||||
|
pid?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface documentSafetyMeetingListQuery {
|
||||||
|
projectId: string;
|
||||||
|
pid?: string;
|
||||||
|
//1文件 2文件夹 3图片
|
||||||
|
fileType?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface documentSafetyMeetingListVo {
|
||||||
|
projectId: string;
|
||||||
|
id: string;
|
||||||
|
pid: string;
|
||||||
|
fileName: string;
|
||||||
|
fileStatus?: string;
|
||||||
|
filePath: string;
|
||||||
|
fileSuffix: string;
|
||||||
|
originalName: string;
|
||||||
|
remark?: string;
|
||||||
|
//1文件 2文件夹 3图片
|
||||||
|
fileType?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface documentRecycleBinListQuery {
|
||||||
|
projectId: string;
|
||||||
|
pid?: string;
|
||||||
|
fileType?: string;
|
||||||
|
pageSize?: number;
|
||||||
|
pageNum?: number;
|
||||||
|
orderByColumn?: string;
|
||||||
|
isAsc?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface documentRecycleBinListVO {
|
||||||
|
id: string;
|
||||||
|
projectId: string;
|
||||||
|
pid?: string;
|
||||||
|
fileName?: string;
|
||||||
|
filePath?: number;
|
||||||
|
fileSuffix?: number;
|
||||||
|
fileStatus?: string;
|
||||||
|
originalName?: string;
|
||||||
|
remark?: string;
|
||||||
|
}
|
@ -61,3 +61,15 @@ export const delQuestionUserAnswer = (id: string | number | Array<string | numbe
|
|||||||
method: 'delete'
|
method: 'delete'
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 上传线下考试试卷存储
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
export const uploadQuestionUserAnswer = (data: any) => {
|
||||||
|
return request({
|
||||||
|
url: '/safety/questionUserAnswer/upload/zip',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
@ -1,33 +1,17 @@
|
|||||||
export interface QuestionUserAnswerVO {
|
export interface QuestionUserAnswerVO {
|
||||||
/**
|
|
||||||
* 主键id
|
|
||||||
*/
|
|
||||||
id: string | number;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 项目id
|
|
||||||
*/
|
|
||||||
projectId: string | number;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 用户id
|
|
||||||
*/
|
|
||||||
userId: string | number;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 题库id列表
|
|
||||||
*/
|
|
||||||
bankIdList: Array<string | number>;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 答案列表
|
|
||||||
*/
|
|
||||||
answerList: Array<string>;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 得分
|
* 得分
|
||||||
*/
|
*/
|
||||||
score: number;
|
score: number;
|
||||||
|
id: string | number;
|
||||||
|
file: string;
|
||||||
|
/**
|
||||||
|
* 考试类型(1线上考试 2线下考试)
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
* 考试时间(时间戳/秒)
|
||||||
|
*/
|
||||||
|
examTime: number;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用时时间(时间戳/秒)
|
* 用时时间(时间戳/秒)
|
||||||
@ -38,11 +22,6 @@ export interface QuestionUserAnswerVO {
|
|||||||
* 及格线/总分(格式:60,100)
|
* 及格线/总分(格式:60,100)
|
||||||
*/
|
*/
|
||||||
pass: string;
|
pass: string;
|
||||||
|
|
||||||
/**
|
|
||||||
* 文件地址
|
|
||||||
*/
|
|
||||||
file: string;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface QuestionUserAnswerForm extends BaseEntity {
|
export interface QuestionUserAnswerForm extends BaseEntity {
|
||||||
@ -50,7 +29,8 @@ export interface QuestionUserAnswerForm extends BaseEntity {
|
|||||||
* 主键id
|
* 主键id
|
||||||
*/
|
*/
|
||||||
id?: string | number;
|
id?: string | number;
|
||||||
|
teamId?: string | number;
|
||||||
|
userName?: string;
|
||||||
/**
|
/**
|
||||||
* 项目id
|
* 项目id
|
||||||
*/
|
*/
|
||||||
@ -64,18 +44,23 @@ export interface QuestionUserAnswerForm extends BaseEntity {
|
|||||||
/**
|
/**
|
||||||
* 题库id列表
|
* 题库id列表
|
||||||
*/
|
*/
|
||||||
bankIdList: Array<string | number>;
|
bankId?: string | number;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 答案列表
|
* 答案列表
|
||||||
*/
|
*/
|
||||||
answerList: Array<string>;
|
answer?: string;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 得分
|
* 得分
|
||||||
*/
|
*/
|
||||||
score?: number;
|
score?: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 考试时间(时间戳/秒)
|
||||||
|
*/
|
||||||
|
examTime?: number;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用时时间(时间戳/秒)
|
* 用时时间(时间戳/秒)
|
||||||
*/
|
*/
|
||||||
@ -93,45 +78,17 @@ export interface QuestionUserAnswerForm extends BaseEntity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export interface QuestionUserAnswerQuery extends PageQuery {
|
export interface QuestionUserAnswerQuery extends PageQuery {
|
||||||
/**
|
|
||||||
* 项目id
|
|
||||||
*/
|
|
||||||
projectId?: string | number;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户id
|
* 用户id
|
||||||
*/
|
*/
|
||||||
userId?: string | number;
|
userId?: string | number;
|
||||||
|
teamId?: string | number;
|
||||||
|
userName?: string;
|
||||||
|
projectId?: string | number;
|
||||||
/**
|
/**
|
||||||
* 题库id列表
|
* 考试类型(1线上考试 2线下考试)
|
||||||
*/
|
*/
|
||||||
bankIdList: Array<string | number>;
|
examType?: string;
|
||||||
|
|
||||||
/**
|
|
||||||
* 答案列表
|
|
||||||
*/
|
|
||||||
answerList: Array<string>;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 得分
|
|
||||||
*/
|
|
||||||
score?: number;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 用时时间(时间戳/秒)
|
|
||||||
*/
|
|
||||||
takeTime?: number;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 及格线/总分(格式:60,100)
|
|
||||||
*/
|
|
||||||
pass?: string;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 文件地址
|
|
||||||
*/
|
|
||||||
file?: string;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 日期范围参数
|
* 日期范围参数
|
||||||
|
63
plus-ui/src/api/safety/questionsCategory/index.ts
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
import request from '@/utils/request';
|
||||||
|
import { AxiosPromise } from 'axios';
|
||||||
|
import { QuestionsCategoryVO, QuestionsCategoryForm, QuestionsCategoryQuery } from '@/api/safety/questionsCategory/types';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询题库类别列表
|
||||||
|
* @param query
|
||||||
|
* @returns {*}
|
||||||
|
*/
|
||||||
|
|
||||||
|
export const listQuestionsCategory = (query?: QuestionsCategoryQuery): AxiosPromise<QuestionsCategoryVO[]> => {
|
||||||
|
return request({
|
||||||
|
url: '/safety/questionsCategory/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询题库类别详细
|
||||||
|
* @param id
|
||||||
|
*/
|
||||||
|
export const getQuestionsCategory = (id: string | number): AxiosPromise<QuestionsCategoryVO> => {
|
||||||
|
return request({
|
||||||
|
url: '/safety/questionsCategory/' + id,
|
||||||
|
method: 'get'
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增题库类别
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
export const addQuestionsCategory = (data: QuestionsCategoryForm) => {
|
||||||
|
return request({
|
||||||
|
url: '/safety/questionsCategory',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改题库类别
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
export const updateQuestionsCategory = (data: QuestionsCategoryForm) => {
|
||||||
|
return request({
|
||||||
|
url: '/safety/questionsCategory',
|
||||||
|
method: 'put',
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除题库类别
|
||||||
|
* @param id
|
||||||
|
*/
|
||||||
|
export const delQuestionsCategory = (id: string | number | Array<string | number>) => {
|
||||||
|
return request({
|
||||||
|
url: '/safety/questionsCategory/' + id,
|
||||||
|
method: 'delete'
|
||||||
|
});
|
||||||
|
};
|
41
plus-ui/src/api/safety/questionsCategory/types.ts
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
export interface QuestionsCategoryVO {
|
||||||
|
/**
|
||||||
|
* 题库类别
|
||||||
|
*/
|
||||||
|
categoryName: string;
|
||||||
|
id: string | number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface QuestionsCategoryForm extends BaseEntity {
|
||||||
|
/**
|
||||||
|
* 主键id
|
||||||
|
*/
|
||||||
|
id?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目id
|
||||||
|
*/
|
||||||
|
projectId?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 题库类别
|
||||||
|
*/
|
||||||
|
categoryName?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface QuestionsCategoryQuery extends PageQuery {
|
||||||
|
/**
|
||||||
|
* 项目id
|
||||||
|
*/
|
||||||
|
projectId?: string | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 题库类别
|
||||||
|
*/
|
||||||
|
categoryName?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 日期范围参数
|
||||||
|
*/
|
||||||
|
params?: any;
|
||||||
|
}
|
@ -102,6 +102,7 @@ export interface SafetyLogForm extends BaseEntity {
|
|||||||
* 主键id
|
* 主键id
|
||||||
*/
|
*/
|
||||||
id?: string | number;
|
id?: string | number;
|
||||||
|
creatorName?: string;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 项目id
|
* 项目id
|
||||||
@ -189,6 +190,7 @@ export interface SafetyLogQuery extends PageQuery {
|
|||||||
* 项目id
|
* 项目id
|
||||||
*/
|
*/
|
||||||
projectId?: string | number;
|
projectId?: string | number;
|
||||||
|
creatorName?: string;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 发生日期
|
* 发生日期
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import { IdAndNameVO } from '@/api/types';
|
import { IdAndNameVO } from '@/api/types';
|
||||||
|
|
||||||
export interface TeamMeetingVO {
|
export interface TeamMeetingVO {
|
||||||
|
pictureUrlList: Array<string>;
|
||||||
/**
|
/**
|
||||||
* 主键id
|
* 主键id
|
||||||
*/
|
*/
|
||||||
@ -14,12 +15,12 @@ export interface TeamMeetingVO {
|
|||||||
/**
|
/**
|
||||||
* 班组
|
* 班组
|
||||||
*/
|
*/
|
||||||
team: IdAndNameVO;
|
teamName: IdAndNameVO;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分包公司
|
* 分包公司
|
||||||
*/
|
*/
|
||||||
contractor: IdAndNameVO;
|
contractorName: IdAndNameVO;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 开会时间
|
* 开会时间
|
||||||
@ -29,7 +30,7 @@ export interface TeamMeetingVO {
|
|||||||
/**
|
/**
|
||||||
* 宣讲人
|
* 宣讲人
|
||||||
*/
|
*/
|
||||||
compere: IdAndNameVO;
|
compereName: IdAndNameVO;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 参与人列表
|
* 参与人列表
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import request from '@/utils/request';
|
import request, { download } from '@/utils/request';
|
||||||
import { OssQuery, OssVO } from './types';
|
import { OssQuery, OssVO } from './types';
|
||||||
import { AxiosPromise } from 'axios';
|
import { AxiosPromise } from 'axios';
|
||||||
|
|
||||||
@ -26,3 +26,8 @@ export function delOss(ossId: string | number | Array<string | number>) {
|
|||||||
method: 'delete'
|
method: 'delete'
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 下载OSS对象存储
|
||||||
|
export function downLoadOss(ossId: { id?: string | number; idList?: string | number | Array<string | number> }, url: string, fileName: string) {
|
||||||
|
return download(url, ossId, fileName);
|
||||||
|
}
|
||||||
|
BIN
plus-ui/src/assets/fonts/Alibaba/Alibaba-PuHuiTi-Bold.otf
Normal file
BIN
plus-ui/src/assets/fonts/Alibaba/Alibaba-PuHuiTi-Medium.otf
Normal file
BIN
plus-ui/src/assets/fonts/Alibaba/AlimamaShuHeiTi-Bold.otf
Normal file
BIN
plus-ui/src/assets/fonts/D-Din/D-DIN-Bold.ttf
Normal file
BIN
plus-ui/src/assets/fonts/D-Din/D-DIN-Italic.ttf
Normal file
BIN
plus-ui/src/assets/fonts/D-Din/D-DIN.ttf
Normal file
BIN
plus-ui/src/assets/fonts/D-Din/D-DINCondensed-Bold.ttf
Normal file
BIN
plus-ui/src/assets/fonts/D-Din/D-DINCondensed.ttf
Normal file
BIN
plus-ui/src/assets/fonts/D-Din/D-DINExp-Bold.ttf
Normal file
BIN
plus-ui/src/assets/fonts/D-Din/D-DINExp-Italic.ttf
Normal file
BIN
plus-ui/src/assets/fonts/D-Din/D-DINExp.ttf
Normal file
BIN
plus-ui/src/assets/fonts/DOUYU/DOUYU.TTF
Normal file
BIN
plus-ui/src/assets/fonts/DOUYU/斗鱼追光体2.0.ttf
Normal file
BIN
plus-ui/src/assets/fonts/PangmenTi/PangMenZhengDaoBiaoTiTi-1.ttf
Normal file
BIN
plus-ui/src/assets/fonts/ReflectTi/SourceHanSansCN-Light.otf
Normal file
BIN
plus-ui/src/assets/fonts/ReflectTi/SourceHanSansCN-Medium_0.otf
Normal file
BIN
plus-ui/src/assets/fonts/ReflectTi/SourceHanSansCN-Regular.otf
Normal file
BIN
plus-ui/src/assets/fonts/Roboto/Roboto-Regular.ttf
Normal file
165
plus-ui/src/assets/fonts/fonts.scss
Normal file
@ -0,0 +1,165 @@
|
|||||||
|
@font-face {
|
||||||
|
font-family: 'Rang_men_zheng'; //庞门正道字体
|
||||||
|
src: url('./PangmenTi/PangMenZhengDaoBiaoTiTi-1.ttf');
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Rang_men_zheng_title'; //庞门正道标题体
|
||||||
|
src: url('./PangMenZhengDaoBiaoTiTi/PangMenZhengDaoBiaoTiTi-1.ttf');
|
||||||
|
font-weight: normal;
|
||||||
|
font-weight: normal;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
// 思源字体
|
||||||
|
// @font-face {
|
||||||
|
// font-family: 'SourceHanSansCN-Bold';
|
||||||
|
// src: url('./ReflectTi/SourceHanSansCN-Bold_0.otf'); //暂时没用
|
||||||
|
// font-weight: normal;
|
||||||
|
// font-style: normal;
|
||||||
|
// }
|
||||||
|
// @font-face {
|
||||||
|
// font-family: 'SourceHanSansCN-ExtraLight';
|
||||||
|
// src: url('./ReflectTi/SourceHanSansCN-ExtraLight.otf');//暂时没用
|
||||||
|
// font-weight: normal;
|
||||||
|
// font-style: normal;
|
||||||
|
// }
|
||||||
|
// @font-face {
|
||||||
|
// font-family: 'SourceHanSansCN-Heavy';
|
||||||
|
// src: url('./ReflectTi/SourceHanSansCN-Heavy.otf');//暂时没用
|
||||||
|
// font-weight: normal;
|
||||||
|
// font-style: normal;
|
||||||
|
// }
|
||||||
|
// @font-face {
|
||||||
|
// font-family: 'SourceHanSansCN-Light';
|
||||||
|
// src: url('./ReflectTi/SourceHanSansCN-Light.otf');
|
||||||
|
// font-weight: normal;
|
||||||
|
// font-style: normal;
|
||||||
|
// }
|
||||||
|
// @font-face {
|
||||||
|
// font-family: 'SourceHanSansCN-Medium';
|
||||||
|
// src: url('./ReflectTi/SourceHanSansCN-Medium_0.otf');
|
||||||
|
// font-weight: normal;
|
||||||
|
// font-style: normal;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// @font-face {
|
||||||
|
// font-family: 'SourceHanSansCN-Normal';
|
||||||
|
// src: url('./ReflectTi/SourceHanSansCN-Normal.otf');//暂时没用
|
||||||
|
// font-weight: normal;
|
||||||
|
// font-style: normal;
|
||||||
|
// }
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'SourceHanSansCN-Regular';
|
||||||
|
src: url('./ReflectTi/SourceHanSansCN-Regular.otf');
|
||||||
|
font-weight: normal;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
// @font-face {
|
||||||
|
// font-family: 'SourceHanSansCN-Bold';
|
||||||
|
// src: url('./ReflectTi/SourceHanSerifCN-Bold.otf');//暂时没用
|
||||||
|
// font-weight: normal;
|
||||||
|
// font-style: normal;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// @font-face {
|
||||||
|
// font-family: 'SourceHanSansCN-ExtraLight';
|
||||||
|
// src: url('./ReflectTi/SourceHanSerifCN-ExtraLight.otf');//暂时没用
|
||||||
|
// font-weight: normal;
|
||||||
|
// font-style: normal;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// @font-face {
|
||||||
|
// font-family: 'SourceHanSerifCN-Heavy';
|
||||||
|
// src: url('./ReflectTi/SourceHanSerifCN-Heavy.otf');//暂时没用
|
||||||
|
// font-weight: normal;
|
||||||
|
// font-style: normal;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// @font-face {
|
||||||
|
// font-family: 'SourceHanSerifCN-Light';
|
||||||
|
// src: url('./ReflectTi/SourceHanSerifCN-Light.otf');//暂时没用
|
||||||
|
// font-weight: normal;
|
||||||
|
// font-style: normal;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// @font-face {
|
||||||
|
// font-family: 'SourceHanSerifCN-Medium';
|
||||||
|
// src: url('./ReflectTi/SourceHanSerifCN-Medium.otf');//暂时没用
|
||||||
|
// font-weight: normal;
|
||||||
|
// font-style: normal;
|
||||||
|
// }
|
||||||
|
// @font-face {
|
||||||
|
// font-family: 'SourceHanSerifCN-Regular';
|
||||||
|
// src: url('./ReflectTi/SourceHanSerifCN-Regular.otf');//暂时没用
|
||||||
|
// font-weight: normal;
|
||||||
|
// font-style: normal;
|
||||||
|
// }
|
||||||
|
// @font-face {
|
||||||
|
// font-family: 'SourceHanSerifCN-SemiBold';
|
||||||
|
// src: url('./ReflectTi/SourceHanSerifCN-SemiBold.otf');//暂时没用
|
||||||
|
// font-weight: normal;
|
||||||
|
// font-style: normal;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// 阿里巴巴普惠体
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Alibaba-PuHuiTi-Bold';
|
||||||
|
src: url('./Alibaba/Alibaba-PuHuiTi-Bold.otf');
|
||||||
|
font-weight: normal;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
//阿里黑体
|
||||||
|
@font-face {
|
||||||
|
font-family: 'AlimamaShuHeiTi-Bold';
|
||||||
|
src: url('./Alibaba/AlimamaShuHeiTi-Bold.otf');
|
||||||
|
font-weight: normal;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
// @font-face {
|
||||||
|
// font-family: 'Alibaba-PuHuiTi-Heavy';
|
||||||
|
// src: url('./Alibaba/Alibaba-PuHuiTi-Heavy.otf');//暂时没用
|
||||||
|
// font-weight: normal;
|
||||||
|
// font-style: normal;
|
||||||
|
// }
|
||||||
|
// @font-face {
|
||||||
|
// font-family: 'Alibaba-PuHuiTi-Light';
|
||||||
|
// src: url('./Alibaba/Alibaba-PuHuiTi-Light.otf');//暂时没用
|
||||||
|
// font-weight: normal;
|
||||||
|
// font-style: normal;
|
||||||
|
// }
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Alibaba-PuHuiTi-Medium';
|
||||||
|
src: url('./Alibaba/Alibaba-PuHuiTi-Medium.otf');
|
||||||
|
font-weight: normal;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
// @font-face {
|
||||||
|
// font-family: 'Alibaba-PuHuiTi-Regular';
|
||||||
|
// src: url('./Alibaba/Alibaba-PuHuiTi-Regular.otf');//暂时没用
|
||||||
|
// font-weight: normal;
|
||||||
|
// font-style: normal;
|
||||||
|
// }
|
||||||
|
@font-face {
|
||||||
|
font-family: 'DOUYUFont'; //斗鱼追光体
|
||||||
|
src: url('./DouYu//斗鱼追光体2.0.ttf');
|
||||||
|
font-weight: normal;
|
||||||
|
font-weight: normal;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
@font-face {
|
||||||
|
font-family: 'D-Din';
|
||||||
|
src: url('./D-Din//D-DIN.ttf');
|
||||||
|
font-weight: normal;
|
||||||
|
font-weight: normal;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Roboto-Regular'; //Roboto
|
||||||
|
src: url('./Roboto//Roboto-Regular.ttf');
|
||||||
|
font-weight: normal;
|
||||||
|
font-weight: normal;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
|
539
plus-ui/src/assets/iconfont/demo.css
Normal file
@ -0,0 +1,539 @@
|
|||||||
|
/* Logo 字体 */
|
||||||
|
@font-face {
|
||||||
|
font-family: "iconfont logo";
|
||||||
|
src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834');
|
||||||
|
src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'),
|
||||||
|
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'),
|
||||||
|
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'),
|
||||||
|
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg');
|
||||||
|
}
|
||||||
|
|
||||||
|
.logo {
|
||||||
|
font-family: "iconfont logo";
|
||||||
|
font-size: 160px;
|
||||||
|
font-style: normal;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
-moz-osx-font-smoothing: grayscale;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* tabs */
|
||||||
|
.nav-tabs {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-tabs .nav-more {
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
height: 42px;
|
||||||
|
line-height: 42px;
|
||||||
|
color: #666;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tabs {
|
||||||
|
border-bottom: 1px solid #eee;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tabs li {
|
||||||
|
cursor: pointer;
|
||||||
|
width: 100px;
|
||||||
|
height: 40px;
|
||||||
|
line-height: 40px;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 16px;
|
||||||
|
border-bottom: 2px solid transparent;
|
||||||
|
position: relative;
|
||||||
|
z-index: 1;
|
||||||
|
margin-bottom: -1px;
|
||||||
|
color: #666;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#tabs .active {
|
||||||
|
border-bottom-color: #f00;
|
||||||
|
color: #222;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-container .content {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 页面布局 */
|
||||||
|
.main {
|
||||||
|
padding: 30px 100px;
|
||||||
|
width: 960px;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main .logo {
|
||||||
|
color: #333;
|
||||||
|
text-align: left;
|
||||||
|
margin-bottom: 30px;
|
||||||
|
line-height: 1;
|
||||||
|
height: 110px;
|
||||||
|
margin-top: -50px;
|
||||||
|
overflow: hidden;
|
||||||
|
*zoom: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main .logo a {
|
||||||
|
font-size: 160px;
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.helps {
|
||||||
|
margin-top: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.helps pre {
|
||||||
|
padding: 20px;
|
||||||
|
margin: 10px 0;
|
||||||
|
border: solid 1px #e7e1cd;
|
||||||
|
background-color: #fffdef;
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon_lists {
|
||||||
|
width: 100% !important;
|
||||||
|
overflow: hidden;
|
||||||
|
*zoom: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon_lists li {
|
||||||
|
width: 100px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
margin-right: 20px;
|
||||||
|
text-align: center;
|
||||||
|
list-style: none !important;
|
||||||
|
cursor: default;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon_lists li .code-name {
|
||||||
|
line-height: 1.2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon_lists .icon {
|
||||||
|
display: block;
|
||||||
|
height: 100px;
|
||||||
|
line-height: 100px;
|
||||||
|
font-size: 42px;
|
||||||
|
margin: 10px auto;
|
||||||
|
color: #333;
|
||||||
|
-webkit-transition: font-size 0.25s linear, width 0.25s linear;
|
||||||
|
-moz-transition: font-size 0.25s linear, width 0.25s linear;
|
||||||
|
transition: font-size 0.25s linear, width 0.25s linear;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon_lists .icon:hover {
|
||||||
|
font-size: 100px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon_lists .svg-icon {
|
||||||
|
/* 通过设置 font-size 来改变图标大小 */
|
||||||
|
width: 1em;
|
||||||
|
/* 图标和文字相邻时,垂直对齐 */
|
||||||
|
vertical-align: -0.15em;
|
||||||
|
/* 通过设置 color 来改变 SVG 的颜色/fill */
|
||||||
|
fill: currentColor;
|
||||||
|
/* path 和 stroke 溢出 viewBox 部分在 IE 下会显示
|
||||||
|
normalize.css 中也包含这行 */
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon_lists li .name,
|
||||||
|
.icon_lists li .code-name {
|
||||||
|
color: #666;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* markdown 样式 */
|
||||||
|
.markdown {
|
||||||
|
color: #666;
|
||||||
|
font-size: 14px;
|
||||||
|
line-height: 1.8;
|
||||||
|
}
|
||||||
|
|
||||||
|
.highlight {
|
||||||
|
line-height: 1.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown img {
|
||||||
|
vertical-align: middle;
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown h1 {
|
||||||
|
color: #404040;
|
||||||
|
font-weight: 500;
|
||||||
|
line-height: 40px;
|
||||||
|
margin-bottom: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown h2,
|
||||||
|
.markdown h3,
|
||||||
|
.markdown h4,
|
||||||
|
.markdown h5,
|
||||||
|
.markdown h6 {
|
||||||
|
color: #404040;
|
||||||
|
margin: 1.6em 0 0.6em 0;
|
||||||
|
font-weight: 500;
|
||||||
|
clear: both;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown h1 {
|
||||||
|
font-size: 28px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown h2 {
|
||||||
|
font-size: 22px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown h3 {
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown h4 {
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown h5 {
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown h6 {
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown hr {
|
||||||
|
height: 1px;
|
||||||
|
border: 0;
|
||||||
|
background: #e9e9e9;
|
||||||
|
margin: 16px 0;
|
||||||
|
clear: both;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown p {
|
||||||
|
margin: 1em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown>p,
|
||||||
|
.markdown>blockquote,
|
||||||
|
.markdown>.highlight,
|
||||||
|
.markdown>ol,
|
||||||
|
.markdown>ul {
|
||||||
|
width: 80%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown ul>li {
|
||||||
|
list-style: circle;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown>ul li,
|
||||||
|
.markdown blockquote ul>li {
|
||||||
|
margin-left: 20px;
|
||||||
|
padding-left: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown>ul li p,
|
||||||
|
.markdown>ol li p {
|
||||||
|
margin: 0.6em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown ol>li {
|
||||||
|
list-style: decimal;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown>ol li,
|
||||||
|
.markdown blockquote ol>li {
|
||||||
|
margin-left: 20px;
|
||||||
|
padding-left: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown code {
|
||||||
|
margin: 0 3px;
|
||||||
|
padding: 0 5px;
|
||||||
|
background: #eee;
|
||||||
|
border-radius: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown strong,
|
||||||
|
.markdown b {
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown>table {
|
||||||
|
border-collapse: collapse;
|
||||||
|
border-spacing: 0px;
|
||||||
|
empty-cells: show;
|
||||||
|
border: 1px solid #e9e9e9;
|
||||||
|
width: 95%;
|
||||||
|
margin-bottom: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown>table th {
|
||||||
|
white-space: nowrap;
|
||||||
|
color: #333;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown>table th,
|
||||||
|
.markdown>table td {
|
||||||
|
border: 1px solid #e9e9e9;
|
||||||
|
padding: 8px 16px;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown>table th {
|
||||||
|
background: #F7F7F7;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown blockquote {
|
||||||
|
font-size: 90%;
|
||||||
|
color: #999;
|
||||||
|
border-left: 4px solid #e9e9e9;
|
||||||
|
padding-left: 0.8em;
|
||||||
|
margin: 1em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown blockquote p {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown .anchor {
|
||||||
|
opacity: 0;
|
||||||
|
transition: opacity 0.3s ease;
|
||||||
|
margin-left: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown .waiting {
|
||||||
|
color: #ccc;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown h1:hover .anchor,
|
||||||
|
.markdown h2:hover .anchor,
|
||||||
|
.markdown h3:hover .anchor,
|
||||||
|
.markdown h4:hover .anchor,
|
||||||
|
.markdown h5:hover .anchor,
|
||||||
|
.markdown h6:hover .anchor {
|
||||||
|
opacity: 1;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.markdown>br,
|
||||||
|
.markdown>p>br {
|
||||||
|
clear: both;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.hljs {
|
||||||
|
display: block;
|
||||||
|
background: white;
|
||||||
|
padding: 0.5em;
|
||||||
|
color: #333333;
|
||||||
|
overflow-x: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hljs-comment,
|
||||||
|
.hljs-meta {
|
||||||
|
color: #969896;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hljs-string,
|
||||||
|
.hljs-variable,
|
||||||
|
.hljs-template-variable,
|
||||||
|
.hljs-strong,
|
||||||
|
.hljs-emphasis,
|
||||||
|
.hljs-quote {
|
||||||
|
color: #df5000;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hljs-keyword,
|
||||||
|
.hljs-selector-tag,
|
||||||
|
.hljs-type {
|
||||||
|
color: #a71d5d;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hljs-literal,
|
||||||
|
.hljs-symbol,
|
||||||
|
.hljs-bullet,
|
||||||
|
.hljs-attribute {
|
||||||
|
color: #0086b3;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hljs-section,
|
||||||
|
.hljs-name {
|
||||||
|
color: #63a35c;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hljs-tag {
|
||||||
|
color: #333333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hljs-title,
|
||||||
|
.hljs-attr,
|
||||||
|
.hljs-selector-id,
|
||||||
|
.hljs-selector-class,
|
||||||
|
.hljs-selector-attr,
|
||||||
|
.hljs-selector-pseudo {
|
||||||
|
color: #795da3;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hljs-addition {
|
||||||
|
color: #55a532;
|
||||||
|
background-color: #eaffea;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hljs-deletion {
|
||||||
|
color: #bd2c00;
|
||||||
|
background-color: #ffecec;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hljs-link {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 代码高亮 */
|
||||||
|
/* PrismJS 1.15.0
|
||||||
|
https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */
|
||||||
|
/**
|
||||||
|
* prism.js default theme for JavaScript, CSS and HTML
|
||||||
|
* Based on dabblet (http://dabblet.com)
|
||||||
|
* @author Lea Verou
|
||||||
|
*/
|
||||||
|
code[class*="language-"],
|
||||||
|
pre[class*="language-"] {
|
||||||
|
color: black;
|
||||||
|
background: none;
|
||||||
|
text-shadow: 0 1px white;
|
||||||
|
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
|
||||||
|
text-align: left;
|
||||||
|
white-space: pre;
|
||||||
|
word-spacing: normal;
|
||||||
|
word-break: normal;
|
||||||
|
word-wrap: normal;
|
||||||
|
line-height: 1.5;
|
||||||
|
|
||||||
|
-moz-tab-size: 4;
|
||||||
|
-o-tab-size: 4;
|
||||||
|
tab-size: 4;
|
||||||
|
|
||||||
|
-webkit-hyphens: none;
|
||||||
|
-moz-hyphens: none;
|
||||||
|
-ms-hyphens: none;
|
||||||
|
hyphens: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre[class*="language-"]::-moz-selection,
|
||||||
|
pre[class*="language-"] ::-moz-selection,
|
||||||
|
code[class*="language-"]::-moz-selection,
|
||||||
|
code[class*="language-"] ::-moz-selection {
|
||||||
|
text-shadow: none;
|
||||||
|
background: #b3d4fc;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre[class*="language-"]::selection,
|
||||||
|
pre[class*="language-"] ::selection,
|
||||||
|
code[class*="language-"]::selection,
|
||||||
|
code[class*="language-"] ::selection {
|
||||||
|
text-shadow: none;
|
||||||
|
background: #b3d4fc;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media print {
|
||||||
|
|
||||||
|
code[class*="language-"],
|
||||||
|
pre[class*="language-"] {
|
||||||
|
text-shadow: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Code blocks */
|
||||||
|
pre[class*="language-"] {
|
||||||
|
padding: 1em;
|
||||||
|
margin: .5em 0;
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
:not(pre)>code[class*="language-"],
|
||||||
|
pre[class*="language-"] {
|
||||||
|
background: #f5f2f0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Inline code */
|
||||||
|
:not(pre)>code[class*="language-"] {
|
||||||
|
padding: .1em;
|
||||||
|
border-radius: .3em;
|
||||||
|
white-space: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.comment,
|
||||||
|
.token.prolog,
|
||||||
|
.token.doctype,
|
||||||
|
.token.cdata {
|
||||||
|
color: slategray;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.punctuation {
|
||||||
|
color: #999;
|
||||||
|
}
|
||||||
|
|
||||||
|
.namespace {
|
||||||
|
opacity: .7;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.property,
|
||||||
|
.token.tag,
|
||||||
|
.token.boolean,
|
||||||
|
.token.number,
|
||||||
|
.token.constant,
|
||||||
|
.token.symbol,
|
||||||
|
.token.deleted {
|
||||||
|
color: #905;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.selector,
|
||||||
|
.token.attr-name,
|
||||||
|
.token.string,
|
||||||
|
.token.char,
|
||||||
|
.token.builtin,
|
||||||
|
.token.inserted {
|
||||||
|
color: #690;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.operator,
|
||||||
|
.token.entity,
|
||||||
|
.token.url,
|
||||||
|
.language-css .token.string,
|
||||||
|
.style .token.string {
|
||||||
|
color: #9a6e3a;
|
||||||
|
background: hsla(0, 0%, 100%, .5);
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.atrule,
|
||||||
|
.token.attr-value,
|
||||||
|
.token.keyword {
|
||||||
|
color: #07a;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.function,
|
||||||
|
.token.class-name {
|
||||||
|
color: #DD4A68;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.regex,
|
||||||
|
.token.important,
|
||||||
|
.token.variable {
|
||||||
|
color: #e90;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.important,
|
||||||
|
.token.bold {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.italic {
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
.token.entity {
|
||||||
|
cursor: help;
|
||||||
|
}
|
211
plus-ui/src/assets/iconfont/demo_index.html
Normal file
@ -0,0 +1,211 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8"/>
|
||||||
|
<title>iconfont Demo</title>
|
||||||
|
<link rel="shortcut icon" href="//img.alicdn.com/imgextra/i4/O1CN01Z5paLz1O0zuCC7osS_!!6000000001644-55-tps-83-82.svg" type="image/x-icon"/>
|
||||||
|
<link rel="icon" type="image/svg+xml" href="//img.alicdn.com/imgextra/i4/O1CN01Z5paLz1O0zuCC7osS_!!6000000001644-55-tps-83-82.svg"/>
|
||||||
|
<link rel="stylesheet" href="https://g.alicdn.com/thx/cube/1.3.2/cube.min.css">
|
||||||
|
<link rel="stylesheet" href="demo.css">
|
||||||
|
<link rel="stylesheet" href="iconfont.css">
|
||||||
|
<script src="iconfont.js"></script>
|
||||||
|
<!-- jQuery -->
|
||||||
|
<script src="https://a1.alicdn.com/oss/uploads/2018/12/26/7bfddb60-08e8-11e9-9b04-53e73bb6408b.js"></script>
|
||||||
|
<!-- 代码高亮 -->
|
||||||
|
<script src="https://a1.alicdn.com/oss/uploads/2018/12/26/a3f714d0-08e6-11e9-8a15-ebf944d7534c.js"></script>
|
||||||
|
<style>
|
||||||
|
.main .logo {
|
||||||
|
margin-top: 0;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main .logo a {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main .logo .sub-title {
|
||||||
|
margin-left: 0.5em;
|
||||||
|
font-size: 22px;
|
||||||
|
color: #fff;
|
||||||
|
background: linear-gradient(-45deg, #3967FF, #B500FE);
|
||||||
|
-webkit-background-clip: text;
|
||||||
|
-webkit-text-fill-color: transparent;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="main">
|
||||||
|
<h1 class="logo"><a href="https://www.iconfont.cn/" title="iconfont 首页" target="_blank">
|
||||||
|
<img width="200" src="https://img.alicdn.com/imgextra/i3/O1CN01Mn65HV1FfSEzR6DKv_!!6000000000514-55-tps-228-59.svg">
|
||||||
|
|
||||||
|
</a></h1>
|
||||||
|
<div class="nav-tabs">
|
||||||
|
<ul id="tabs" class="dib-box">
|
||||||
|
<li class="dib active"><span>Unicode</span></li>
|
||||||
|
<li class="dib"><span>Font class</span></li>
|
||||||
|
<li class="dib"><span>Symbol</span></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<a href="https://www.iconfont.cn/manage/index?manage_type=myprojects&projectId=4936044" target="_blank" class="nav-more">查看项目</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="tab-container">
|
||||||
|
<div class="content unicode" style="display: block;">
|
||||||
|
<ul class="icon_lists dib-box">
|
||||||
|
|
||||||
|
<li class="dib">
|
||||||
|
<span class="icon iconfont"></span>
|
||||||
|
<div class="name">问号</div>
|
||||||
|
<div class="code-name">&#xe72d;</div>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
<div class="article markdown">
|
||||||
|
<h2 id="unicode-">Unicode 引用</h2>
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
<p>Unicode 是字体在网页端最原始的应用方式,特点是:</p>
|
||||||
|
<ul>
|
||||||
|
<li>支持按字体的方式去动态调整图标大小,颜色等等。</li>
|
||||||
|
<li>默认情况下不支持多色,直接添加多色图标会自动去色。</li>
|
||||||
|
</ul>
|
||||||
|
<blockquote>
|
||||||
|
<p>注意:新版 iconfont 支持两种方式引用多色图标:SVG symbol 引用方式和彩色字体图标模式。(使用彩色字体图标需要在「编辑项目」中开启「彩色」选项后并重新生成。)</p>
|
||||||
|
</blockquote>
|
||||||
|
<p>Unicode 使用步骤如下:</p>
|
||||||
|
<h3 id="-font-face">第一步:拷贝项目下面生成的 <code>@font-face</code></h3>
|
||||||
|
<pre><code class="language-css"
|
||||||
|
>@font-face {
|
||||||
|
font-family: 'iconfont';
|
||||||
|
src: url('iconfont.woff2?t=1748505165241') format('woff2'),
|
||||||
|
url('iconfont.woff?t=1748505165241') format('woff'),
|
||||||
|
url('iconfont.ttf?t=1748505165241') format('truetype');
|
||||||
|
}
|
||||||
|
</code></pre>
|
||||||
|
<h3 id="-iconfont-">第二步:定义使用 iconfont 的样式</h3>
|
||||||
|
<pre><code class="language-css"
|
||||||
|
>.iconfont {
|
||||||
|
font-family: "iconfont" !important;
|
||||||
|
font-size: 16px;
|
||||||
|
font-style: normal;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
-moz-osx-font-smoothing: grayscale;
|
||||||
|
}
|
||||||
|
</code></pre>
|
||||||
|
<h3 id="-">第三步:挑选相应图标并获取字体编码,应用于页面</h3>
|
||||||
|
<pre>
|
||||||
|
<code class="language-html"
|
||||||
|
><span class="iconfont">&#x33;</span>
|
||||||
|
</code></pre>
|
||||||
|
<blockquote>
|
||||||
|
<p>"iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。</p>
|
||||||
|
</blockquote>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="content font-class">
|
||||||
|
<ul class="icon_lists dib-box">
|
||||||
|
|
||||||
|
<li class="dib">
|
||||||
|
<span class="icon iconfont icon-wenhao"></span>
|
||||||
|
<div class="name">
|
||||||
|
问号
|
||||||
|
</div>
|
||||||
|
<div class="code-name">.icon-wenhao
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
<div class="article markdown">
|
||||||
|
<h2 id="font-class-">font-class 引用</h2>
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
<p>font-class 是 Unicode 使用方式的一种变种,主要是解决 Unicode 书写不直观,语意不明确的问题。</p>
|
||||||
|
<p>与 Unicode 使用方式相比,具有如下特点:</p>
|
||||||
|
<ul>
|
||||||
|
<li>相比于 Unicode 语意明确,书写更直观。可以很容易分辨这个 icon 是什么。</li>
|
||||||
|
<li>因为使用 class 来定义图标,所以当要替换图标时,只需要修改 class 里面的 Unicode 引用。</li>
|
||||||
|
</ul>
|
||||||
|
<p>使用步骤如下:</p>
|
||||||
|
<h3 id="-fontclass-">第一步:引入项目下面生成的 fontclass 代码:</h3>
|
||||||
|
<pre><code class="language-html"><link rel="stylesheet" href="./iconfont.css">
|
||||||
|
</code></pre>
|
||||||
|
<h3 id="-">第二步:挑选相应图标并获取类名,应用于页面:</h3>
|
||||||
|
<pre><code class="language-html"><span class="iconfont icon-xxx"></span>
|
||||||
|
</code></pre>
|
||||||
|
<blockquote>
|
||||||
|
<p>"
|
||||||
|
iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。</p>
|
||||||
|
</blockquote>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="content symbol">
|
||||||
|
<ul class="icon_lists dib-box">
|
||||||
|
|
||||||
|
<li class="dib">
|
||||||
|
<svg class="icon svg-icon" aria-hidden="true">
|
||||||
|
<use xlink:href="#icon-wenhao"></use>
|
||||||
|
</svg>
|
||||||
|
<div class="name">问号</div>
|
||||||
|
<div class="code-name">#icon-wenhao</div>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
<div class="article markdown">
|
||||||
|
<h2 id="symbol-">Symbol 引用</h2>
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
<p>这是一种全新的使用方式,应该说这才是未来的主流,也是平台目前推荐的用法。相关介绍可以参考这篇<a href="">文章</a>
|
||||||
|
这种用法其实是做了一个 SVG 的集合,与另外两种相比具有如下特点:</p>
|
||||||
|
<ul>
|
||||||
|
<li>支持多色图标了,不再受单色限制。</li>
|
||||||
|
<li>通过一些技巧,支持像字体那样,通过 <code>font-size</code>, <code>color</code> 来调整样式。</li>
|
||||||
|
<li>兼容性较差,支持 IE9+,及现代浏览器。</li>
|
||||||
|
<li>浏览器渲染 SVG 的性能一般,还不如 png。</li>
|
||||||
|
</ul>
|
||||||
|
<p>使用步骤如下:</p>
|
||||||
|
<h3 id="-symbol-">第一步:引入项目下面生成的 symbol 代码:</h3>
|
||||||
|
<pre><code class="language-html"><script src="./iconfont.js"></script>
|
||||||
|
</code></pre>
|
||||||
|
<h3 id="-css-">第二步:加入通用 CSS 代码(引入一次就行):</h3>
|
||||||
|
<pre><code class="language-html"><style>
|
||||||
|
.icon {
|
||||||
|
width: 1em;
|
||||||
|
height: 1em;
|
||||||
|
vertical-align: -0.15em;
|
||||||
|
fill: currentColor;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</code></pre>
|
||||||
|
<h3 id="-">第三步:挑选相应图标并获取类名,应用于页面:</h3>
|
||||||
|
<pre><code class="language-html"><svg class="icon" aria-hidden="true">
|
||||||
|
<use xlink:href="#icon-xxx"></use>
|
||||||
|
</svg>
|
||||||
|
</code></pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
$(document).ready(function () {
|
||||||
|
$('.tab-container .content:first').show()
|
||||||
|
|
||||||
|
$('#tabs li').click(function (e) {
|
||||||
|
var tabContent = $('.tab-container .content')
|
||||||
|
var index = $(this).index()
|
||||||
|
|
||||||
|
if ($(this).hasClass('active')) {
|
||||||
|
return
|
||||||
|
} else {
|
||||||
|
$('#tabs li').removeClass('active')
|
||||||
|
$(this).addClass('active')
|
||||||
|
|
||||||
|
tabContent.hide().eq(index).fadeIn()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
19
plus-ui/src/assets/iconfont/iconfont.css
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
@font-face {
|
||||||
|
font-family: "iconfont"; /* Project id 4936044 */
|
||||||
|
src: url('iconfont.woff2?t=1748505165241') format('woff2'),
|
||||||
|
url('iconfont.woff?t=1748505165241') format('woff'),
|
||||||
|
url('iconfont.ttf?t=1748505165241') format('truetype');
|
||||||
|
}
|
||||||
|
|
||||||
|
.iconfont {
|
||||||
|
font-family: "iconfont" !important;
|
||||||
|
font-size: 16px;
|
||||||
|
font-style: normal;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
-moz-osx-font-smoothing: grayscale;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon-wenhao:before {
|
||||||
|
content: "\e72d";
|
||||||
|
}
|
||||||
|
|
1
plus-ui/src/assets/iconfont/iconfont.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
window._iconfont_svg_string_4936044='<svg><symbol id="icon-wenhao" viewBox="0 0 1024 1024"><path d="M463.99957 784.352211c0 26.509985 21.490445 48.00043 48.00043 48.00043s48.00043-21.490445 48.00043-48.00043c0-26.509985-21.490445-48.00043-48.00043-48.00043S463.99957 757.842226 463.99957 784.352211z" fill="#575B66" ></path><path d="M512 960c-247.039484 0-448-200.960516-448-448S264.960516 64 512 64 960 264.960516 960 512 759.039484 960 512 960zM512 128.287273c-211.584464 0-383.712727 172.128262-383.712727 383.712727 0 211.551781 172.128262 383.712727 383.712727 383.712727 211.551781 0 383.712727-172.159226 383.712727-383.712727C895.712727 300.415536 723.551781 128.287273 512 128.287273z" fill="#575B66" ></path><path d="M512 673.695256c-17.664722 0-32.00086-14.336138-32.00086-31.99914l0-54.112297c0-52.352533 39.999785-92.352318 75.32751-127.647359 25.887273-25.919957 52.67249-52.67249 52.67249-74.016718 0-53.343368-43.07206-96.735385-95.99914-96.735385-53.823303 0-95.99914 41.535923-95.99914 94.559333 0 17.664722-14.336138 31.99914-32.00086 31.99914s-32.00086-14.336138-32.00086-31.99914c0-87.423948 71.775299-158.559333 160.00086-158.559333s160.00086 72.095256 160.00086 160.735385c0 47.904099-36.32028 84.191695-71.424378 119.295794-27.839699 27.776052-56.575622 56.511974-56.575622 82.3356l0 54.112297C544.00086 659.328155 529.664722 673.695256 512 673.695256z" fill="#575B66" ></path></symbol></svg>',(n=>{var t=(e=(e=document.getElementsByTagName("script"))[e.length-1]).getAttribute("data-injectcss"),e=e.getAttribute("data-disable-injectsvg");if(!e){var i,o,c,d,s,a=function(t,e){e.parentNode.insertBefore(t,e)};if(t&&!n.__iconfont__svg__cssinject__){n.__iconfont__svg__cssinject__=!0;try{document.write("<style>.svgfont {display: inline-block;width: 1em;height: 1em;fill: currentColor;vertical-align: -0.1em;font-size:16px;}</style>")}catch(t){console&&console.log(t)}}i=function(){var t,e=document.createElement("div");e.innerHTML=n._iconfont_svg_string_4936044,(e=e.getElementsByTagName("svg")[0])&&(e.setAttribute("aria-hidden","true"),e.style.position="absolute",e.style.width=0,e.style.height=0,e.style.overflow="hidden",e=e,(t=document.body).firstChild?a(e,t.firstChild):t.appendChild(e))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(i,0):(o=function(){document.removeEventListener("DOMContentLoaded",o,!1),i()},document.addEventListener("DOMContentLoaded",o,!1)):document.attachEvent&&(c=i,d=n.document,s=!1,r(),d.onreadystatechange=function(){"complete"==d.readyState&&(d.onreadystatechange=null,l())})}function l(){s||(s=!0,c())}function r(){try{d.documentElement.doScroll("left")}catch(t){return void setTimeout(r,50)}l()}})(window);
|
16
plus-ui/src/assets/iconfont/iconfont.json
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"id": "4936044",
|
||||||
|
"name": "no name",
|
||||||
|
"font_family": "iconfont",
|
||||||
|
"css_prefix_text": "icon-",
|
||||||
|
"description": "",
|
||||||
|
"glyphs": [
|
||||||
|
{
|
||||||
|
"icon_id": "577319",
|
||||||
|
"name": "问号",
|
||||||
|
"font_class": "wenhao",
|
||||||
|
"unicode": "e72d",
|
||||||
|
"unicode_decimal": 59181
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
BIN
plus-ui/src/assets/iconfont/iconfont.ttf
Normal file
BIN
plus-ui/src/assets/iconfont/iconfont.woff
Normal file
BIN
plus-ui/src/assets/iconfont/iconfont.woff2
Normal file
BIN
plus-ui/src/assets/icons/svg/PDF.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
plus-ui/src/assets/icons/svg/danggerVerification.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
plus-ui/src/assets/icons/svg/derived.png
Normal file
After Width: | Height: | Size: 922 B |
BIN
plus-ui/src/assets/icons/svg/empty-CZvxqguX.png
Normal file
After Width: | Height: | Size: 5.7 KiB |
BIN
plus-ui/src/assets/icons/svg/failure.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
plus-ui/src/assets/icons/svg/file.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
plus-ui/src/assets/icons/svg/file1.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
plus-ui/src/assets/icons/svg/print.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
plus-ui/src/assets/icons/svg/rectification.png
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
plus-ui/src/assets/icons/svg/successLogo.png
Normal file
After Width: | Height: | Size: 8.7 KiB |
BIN
plus-ui/src/assets/icons/svg/successVerification.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
plus-ui/src/assets/icons/svg/successful.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
plus-ui/src/assets/images/Attendancerate.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
plus-ui/src/assets/images/Group 1000015122.png
Normal file
After Width: | Height: | Size: 6.2 KiB |
BIN
plus-ui/src/assets/images/News.png
Normal file
After Width: | Height: | Size: 390 B |
BIN
plus-ui/src/assets/images/Quality.png
Normal file
After Width: | Height: | Size: 841 B |
BIN
plus-ui/src/assets/images/Safety.png
Normal file
After Width: | Height: | Size: 738 B |
BIN
plus-ui/src/assets/images/Segmentation.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
plus-ui/src/assets/images/Vector.png
Normal file
After Width: | Height: | Size: 663 B |
BIN
plus-ui/src/assets/images/Weather.png
Normal file
After Width: | Height: | Size: 9.2 KiB |