Compare commits

..

188 Commits

Author SHA1 Message Date
Teo
149499ccc1 1 2025-09-12 22:10:11 +08:00
ljx
e1360a3f16 提交 2025-09-12 22:02:14 +08:00
ljx
8316636c68 提交 2025-09-12 22:01:26 +08:00
ljx
6bc9ed7054 Merge branch 'szq' of http://xny.yj-3d.com:3000/taoge/new_project into ljx 2025-09-12 22:01:17 +08:00
ljx
05157ff600 Merge branch 'fs' of http://xny.yj-3d.com:3000/taoge/new_project into ljx 2025-09-12 21:22:20 +08:00
Teo
d154147735 合并 2025-09-12 21:03:35 +08:00
tcy
bc59e4a893 style(progressCategory): 优化进度分类页面的样式和交互效果
- 调整摘要卡片的布局和间距
- 添加悬停动画效果和渐变边框
- 改进数值显示样式和默认值处理
- 增强图标视觉效果和交互反馈
2025-09-12 21:00:10 +08:00
Teo
4dc620b877 修复图片上传 2025-09-12 20:51:06 +08:00
Teo
17c9166ecd 合并 2025-09-12 20:46:19 +08:00
shi
198e42a26f 修改项目级大屏 2025-09-12 20:43:56 +08:00
Teo
9927ed4b00 h合并 2025-09-12 20:37:59 +08:00
4dc74dd4bf 倾斜模型 2025-09-12 20:28:12 +08:00
Teo
a1a9d13789 h合并 2025-09-12 20:16:25 +08:00
ljx
22440878b5 提交 2025-09-12 20:08:27 +08:00
Teo
6885712677 合并 2025-09-12 20:05:55 +08:00
ljx
0ed7ab95aa Merge branch 'main' of http://xny.yj-3d.com:3000/taoge/new_project into ljx 2025-09-12 20:01:15 +08:00
ljx
fd30294f69 提交 2025-09-12 20:00:26 +08:00
Teo
0c27426d80 合并 2025-09-12 19:38:17 +08:00
Teo
eb28d089cc 合并 2025-09-12 19:36:11 +08:00
Teo
cd75261a6d 合并 2025-09-12 19:35:45 +08:00
dhr
120a46d76c 0912 2025-09-12 19:34:45 +08:00
shi
aa1f2e8fdb 修改项目级大屏 2025-09-12 19:33:07 +08:00
ljx
ae21698e5f 修改 2025-09-12 19:28:43 +08:00
shi
9fbabd2b6a Merge branch 'main' of http://192.168.110.2:3000/taoge/mk_system into szq 2025-09-12 19:02:43 +08:00
shi
abb1817671 修改 2025-09-12 18:54:44 +08:00
Teo
02479cd4e5 合并 2025-09-12 11:16:09 +08:00
Teo
9deadf48bc 1 2025-09-12 11:14:51 +08:00
Teo
0db23ba44e 进度计划优化切换项目逻辑 2025-09-12 10:21:29 +08:00
Teo
9cc4e17c6a 进度计划 2025-09-11 21:01:16 +08:00
dhr
10d4314780 0911 2025-09-11 19:59:26 +08:00
ljx
6a07a25c2e 提交 2025-09-11 19:30:45 +08:00
ff33d02438 合并 2025-09-11 18:50:59 +08:00
094f64accd 合并 2025-09-11 18:49:36 +08:00
ljx
7993b7e6ac 修改 2025-09-11 18:47:55 +08:00
dhr
ed00cd6e0f 0911
git commit -m 0911
2025-09-11 18:45:28 +08:00
ljx
3f04ebcbda 修改 2025-09-11 18:23:30 +08:00
ljx
bfbf55eb19 修改 2025-09-11 17:45:10 +08:00
9caa6f215c 1 2025-09-11 17:05:15 +08:00
shi
2cd70eb415 修改 2025-09-11 17:01:06 +08:00
ljx
61a21a6250 提交 2025-09-11 16:49:24 +08:00
dhr
c26b87303c 0911 2025-09-11 15:59:47 +08:00
69cfffa0d4 合并 2025-09-11 09:10:25 +08:00
a658f0893f 合并 2025-09-11 09:09:50 +08:00
shi
122df7699f 增加项目公告滚动效果 2025-09-10 20:52:01 +08:00
ljx
b6eff020ce 提交代码 2025-09-10 20:03:15 +08:00
ljx
a3dd00645f 提交 2025-09-10 19:34:57 +08:00
c6f38a9593 打卡范围、项目级页面修改 2025-09-10 19:22:22 +08:00
ljx
a3d35a7410 提交 2025-09-10 15:26:29 +08:00
Teo
410c6beece Merge branch 'master' of http://192.168.110.2:3000/taoge_xiaodi/td_official 2025-09-10 11:51:09 +08:00
Teo
2a76bbb64c 取消进度日报分页 2025-09-10 11:51:03 +08:00
Teo
0755ab891d 1 2025-09-10 11:44:31 +08:00
38dcbe7f7a 优化 2025-09-10 11:42:24 +08:00
6ee83aae94 Merge branch 'main' of http://192.168.110.2:3000/taoge/mk_system into fs 2025-09-10 10:04:40 +08:00
644a222430 连接ws 2025-09-10 10:03:35 +08:00
ljx
f3b7417b4f 修改 2025-09-10 10:02:04 +08:00
71ba51772d 优化 2025-09-10 09:58:41 +08:00
Teo
11a3db5b61 修改 2025-09-10 09:23:51 +08:00
b62b12c0b4 优化 2025-09-10 09:11:50 +08:00
Teo
b662da584a 合并 2025-09-10 01:20:22 +08:00
Teo
311623e208 合并 2025-09-10 01:11:46 +08:00
dhr
65ff68673c 0909 2025-09-09 22:34:40 +08:00
fadbb6a911 大屏合并 2025-09-09 22:14:04 +08:00
ljx
0afefe44ca 大屏提交 2025-09-09 22:07:43 +08:00
71ec027000 优化 2025-09-09 22:00:19 +08:00
c913be2690 合并 2025-09-09 21:57:51 +08:00
217cf85ea4 优化 2025-09-09 21:55:42 +08:00
d5cf2a600e 项目级页面添加漫游、摄像头、定位设备、无人机、摄像头视频播放 2025-09-09 21:52:59 +08:00
tcy
e6f235036e refactor(components): 优化多个组件的样式和布局
- 调整了多个组件的输入框、按钮等元素的样式
- 优化了部分对话框的布局结构
- 统一了表单项的样式
- 调整了部分字体大小和颜色
2025-09-09 21:12:04 +08:00
35a7825759 项目级大屏地球 2025-09-09 19:52:26 +08:00
4bd192dc87 Merge branch 'main' of http://192.168.110.2:3000/taoge/mk_system into fs 2025-09-09 19:18:09 +08:00
dhr
78de3276d3 Merge branch 'ljx' of http://xny.yj-3d.com:3000/taoge/mk_system into dhr 2025-09-09 18:35:52 +08:00
dhr
cabf64088b 0909 2025-09-09 18:35:03 +08:00
a50fbc26d7 优化 2025-09-09 18:18:17 +08:00
d92a540786 金额格式设置 2025-09-09 17:03:01 +08:00
dhr
db6d39e02e 0909 2025-09-09 15:38:38 +08:00
ljx
d01a56d9dc 修改 2025-09-09 15:37:59 +08:00
ljx
16eb852d9d 数字化大屏 2025-09-09 15:26:15 +08:00
Teo
f006ca5a2b 1 2025-09-09 14:45:43 +08:00
ljx
460472b29a Merge branch 'main' of http://xny.yj-3d.com:3000/taoge/new_project into ljx 2025-09-09 11:47:40 +08:00
ljx
3579ff100f 修改 2025-09-09 11:46:44 +08:00
731c423483 优化 2025-09-09 10:50:32 +08:00
c3a2e68980 合并 2025-09-09 10:48:54 +08:00
dhr
84246a3a61 0909 2025-09-09 10:37:05 +08:00
ljx
23ceb718e9 tijiao 2025-09-09 10:18:28 +08:00
ljx
9cb43687c4 Merge branch 'main' of http://xny.yj-3d.com:3000/taoge/new_project into ljx 2025-09-09 10:18:14 +08:00
fe9c299d64 Merge branch 'main' of http://192.168.110.2:3000/taoge/mk_system into fs 2025-09-09 10:17:02 +08:00
16fda90d96 合并 2025-09-09 10:15:34 +08:00
Teo
e3ff6020ac 1 2025-09-09 10:11:50 +08:00
Teo
32dc012598 合并 2025-09-09 10:07:21 +08:00
f6afa97b2d 合并 2025-09-09 10:03:11 +08:00
ljx
7be3859988 Merge branch 'main' of http://xny.yj-3d.com:3000/taoge/new_project into ljx 2025-09-09 10:00:56 +08:00
ljx
f1339ad082 识别身份证 2025-09-09 09:59:03 +08:00
dhr
ac812246ea Merge branch 'main' of http://xny.yj-3d.com:3000/taoge/mk_system into dhr 2025-09-09 09:42:56 +08:00
dhr
177da7a28a 0909 2025-09-09 09:42:28 +08:00
e520f3b581 Merge branch 'main' of http://192.168.110.2:3000/taoge/mk_system into fs 2025-09-09 09:36:29 +08:00
ee849ba62a 合并 2025-09-09 09:12:18 +08:00
Teo
0c3ea8fe73 提交 2025-09-09 09:08:34 +08:00
cd9e00fc33 优化 2025-09-09 09:05:28 +08:00
7738212dd7 优化 2025-09-08 20:08:32 +08:00
ljx
942375b06b 修改提交 2025-09-08 20:07:09 +08:00
cf2b805770 优化 2025-09-08 20:00:59 +08:00
dhr
7e7d21f9ce Merge branch 'main' of http://xny.yj-3d.com:3000/taoge/mk_system into dhr 2025-09-08 15:45:11 +08:00
dhr
dc35cb8354 0908 2025-09-08 15:44:35 +08:00
Teo
4a9a0c4214 设计管理人员任命修复ui 2025-09-08 10:23:39 +08:00
Teo
e377368c41 合并 2025-09-08 10:22:41 +08:00
Teo
f341f08248 1 2025-09-08 10:21:17 +08:00
8eac9bce6c 合并 2025-09-08 09:49:11 +08:00
ljx
2ec6dcd74f 提交 2025-09-08 09:46:27 +08:00
6e33ae2972 优化 2025-09-08 09:41:59 +08:00
8631a697f4 合并 2025-09-06 19:20:55 +08:00
22a1379ca8 合并 2025-09-06 19:20:17 +08:00
38cf536f1b 合并 2025-09-06 19:18:50 +08:00
4f21a81706 优化 2025-09-06 19:18:00 +08:00
178f44a5a3 优化 2025-09-06 19:15:47 +08:00
dhr
4fa4c754f9 0906 2025-09-06 18:51:05 +08:00
tcy
5101dc7657 fix(ctr): 修复收入合同类型切换后未重置合同类型的问题
- 在切换收入合同类型时,确保合同类型被正确重置
- 优化了模板中的代码格式,提高了可读性
2025-09-06 18:26:17 +08:00
ljx
b412e847d4 提交 2025-09-06 18:24:12 +08:00
ljx
e39823db40 Merge branch 'main' of http://xny.yj-3d.com:3000/taoge/new_project into ljx 2025-09-06 18:24:00 +08:00
ljx
e71ec5b9c1 提交 2025-09-06 18:23:14 +08:00
ljx
52342e6623 修改9.06bug 2025-09-06 18:18:31 +08:00
ljx
dd594676ac 台账修改 2025-09-06 17:38:25 +08:00
6380ee505f 优化 2025-09-06 15:58:47 +08:00
Teo
c5dac4fbcc 合并 2025-09-06 15:27:22 +08:00
tcy
d50dbe719d refactor(formalities): 优化手续办理清单模板页面布局
- 调整了多个组件的样式和布局,包括表格、表单、按钮等
- 优化了部分代码结构,提高了代码可读性和维护性
- 添加了文件数量徽章,增强了用户界面的交互性
2025-09-06 15:19:02 +08:00
Teo
3fa3b5b508 1 2025-09-06 15:16:15 +08:00
tcy
dd12f54dc9 Merge branch 'main' of http://xny.yj-3d.com:3000/taoge/mk_system into tcy 2025-09-06 15:10:10 +08:00
tcy
d37243af6b refactor(volumeCatalog): 优化卷册目录页面布局和功能
- 调整表格列布局,增加文件数量徽章
- 优化导入按钮位置和样式
- 改进查看文件列表对话框,统一操作按钮样式
- 调整上传图纸和意见的组件样式
- 优化表格样式,增加对齐方式
2025-09-06 15:09:47 +08:00
3e4b85fc48 合并 2025-09-06 14:43:13 +08:00
b4dadc415d 优化 2025-09-06 14:41:47 +08:00
dhr
fff6fb5584 0905 2025-09-06 14:37:46 +08:00
dhr
3d50132338 0906 2025-09-06 13:21:10 +08:00
10538985ce 合并 2025-09-06 12:50:05 +08:00
2696d5cad5 合并 2025-09-06 12:46:03 +08:00
f0af5e47fa 优化 2025-09-06 12:45:15 +08:00
a517e694aa Merge branch 'main' of http://192.168.110.2:3000/taoge/mk_system into fs 2025-09-06 12:40:09 +08:00
ljx
03ec2223aa 提交 2025-09-05 22:17:25 +08:00
c9496f4400 gps 2025-09-05 21:36:48 +08:00
shi
db20b45f78 style:修改用户弹窗样式 2025-09-05 17:28:00 +08:00
shi
78dd437746 Merge branch 'main' of http://192.168.110.2:3000/taoge/mk_system into szq 2025-09-05 16:03:39 +08:00
922af12760 优化 2025-09-05 16:01:49 +08:00
b910c6fee2 Merge branch 'dhr' of http://192.168.110.2:3000/taoge/mk_system into fs 2025-09-05 15:13:10 +08:00
dhr
eb895793dd 0905 2025-09-05 15:11:21 +08:00
19b48371ef 优化 2025-09-05 14:18:26 +08:00
26b2ff2370 优化 2025-09-05 10:53:30 +08:00
b96217b9bb 优化 2025-09-05 10:46:16 +08:00
ljx
f68e5f96f6 修改 2025-09-05 10:44:38 +08:00
dhr
c35a75d030 0904 2025-09-04 22:56:00 +08:00
974b2e7038 优化 2025-09-04 22:02:54 +08:00
f9a6ad7fda 优化 2025-09-04 18:55:48 +08:00
eaaf940960 合并 2025-09-04 18:55:11 +08:00
6f7d7e56c2 合并 2025-09-04 18:53:10 +08:00
0f439c9220 优化 2025-09-04 18:42:45 +08:00
Teo
2b989e1d46 采购设计报表新增tab切换 2025-09-04 18:40:25 +08:00
Teo
26bef3f724 修复bug 2025-09-04 17:56:01 +08:00
shi
e075ce1bfc style 2025-09-04 17:36:13 +08:00
a257068054 打卡范围 2025-09-04 17:11:18 +08:00
Teo
80bb267e7d 合并 2025-09-04 11:11:22 +08:00
Teo
57460d0af1 增加搜索 2025-09-04 11:10:55 +08:00
4dd1f2d6d5 1 2025-09-04 10:56:28 +08:00
17ee714729 11 2025-09-04 10:37:24 +08:00
08556fbf7f 111 2025-09-04 10:36:43 +08:00
23b6551829 合并 2025-09-04 09:04:27 +08:00
9b06c042ef 优化 2025-09-04 09:03:42 +08:00
ljx
ab7d51d3a2 Merge branch 'main' of http://xny.yj-3d.com:3000/taoge/new_project into ljx 2025-09-03 17:31:25 +08:00
ljx
5f6547aeb1 提交 2025-09-03 17:31:16 +08:00
d26db2d321 优化 2025-09-03 17:28:50 +08:00
9d9224d6ad 合并 2025-09-03 15:44:29 +08:00
055811702b 优化 2025-09-03 15:42:10 +08:00
ljx
eb98e8c8c3 修改禅道bug 2025-09-03 15:10:20 +08:00
ljx
288ee14d5e Merge branch 'main' of http://xny.yj-3d.com:3000/taoge/new_project into ljx 2025-09-03 11:56:52 +08:00
ljx
26e4c899db 修改bug 2025-09-02 20:37:07 +08:00
a95d18906f 优化 2025-09-02 19:34:26 +08:00
2737e579c8 合并 2025-09-02 19:20:07 +08:00
069841ea99 合并 2025-09-02 19:16:42 +08:00
ljx
85e5572e53 修改bug 2025-09-02 19:15:36 +08:00
46f9c0568c 合并 2025-09-02 19:14:34 +08:00
1a476b8ee8 优化 2025-09-02 19:13:43 +08:00
ljx
d06d6a9504 修改禅道bug 2025-09-02 19:09:43 +08:00
ljx
0c81842fd6 Merge branch 'main' of http://xny.yj-3d.com:3000/taoge/new_project into ljx 2025-09-02 19:03:49 +08:00
ljx
2ba08c79ed 修改禅道bug 2025-09-02 19:00:50 +08:00
ddccc64586 工程量清单 2025-09-02 15:08:39 +08:00
0c0e55a383 Merge branch 'main' of http://192.168.110.2:3000/taoge/mk_system into fs 2025-09-02 14:59:06 +08:00
253e395ace 优化 2025-09-02 09:52:36 +08:00
192ffb5091 合并 2025-09-01 09:22:33 +08:00
9cecbeaa20 合并 2025-09-01 09:22:12 +08:00
shi
290fc16c32 略改样式 2025-08-25 19:59:36 +08:00
shi
e4523299d4 完善项目及大屏 2025-08-22 22:17:57 +08:00
shi
a712dce2cd 添加屏幕扩展动画 2025-08-22 17:47:58 +08:00
305 changed files with 26817 additions and 5826 deletions

View File

@ -8,10 +8,15 @@ VITE_APP_ENV = 'development'
VITE_APP_BASE_API = 'http://192.168.110.209:8899' VITE_APP_BASE_API = 'http://192.168.110.209:8899'
# VITE_APP_BASE_API = 'http://58.17.134.85:8899' # VITE_APP_BASE_API = 'http://58.17.134.85:8899'
# GO开发环境 # GO开发环境
VITE_APP_BASE_API_GO = 'http://192.168.110.188:8919' VITE_APP_BASE_API_GO = 'http://xny.yj-3d.com:7464'
# VITE_APP_BASE_API_GO = 'http://192.168.110.188:8919'
# ws
VITE_APP_BASE_WS_API = 'ws://192.168.110.149:8899/resource/websocket'
# EARTH
VITE_APP_BASE_EARTH_API = "http://192.168.110.2:8895"
# 无人机接口地址 # 无人机接口地址
VITE_APP_BASE_DRONE_API = 'http://58.17.134.85:9512' VITE_APP_BASE_DRONE_API = 'http://58.17.134.85:9512'
# 应用访问路径 例如使用前缀 /admin/ # 应用访问路径 例如使用前缀 /admin/

View File

@ -15,8 +15,9 @@ VITE_APP_SNAILJOB_ADMIN = '/snail-job'
# 生产环境 # 生产环境
# GO生产环境 # GO生产环境
VITE_APP_BASE_API_GO = 'http://58.17.134.85:7363' VITE_APP_BASE_API_GO = 'http://58.17.134.85:7464'
VITE_APP_BASE_API = 'http://xny.yj-3d.com:8899' VITE_APP_BASE_API = 'http://xny.yj-3d.com:8899'
VITE_APP_BASE_EARTH_API = "http://192.168.110.2:8895"
# 是否在打包时开启压缩,支持 gzip 和 brotli # 是否在打包时开启压缩,支持 gzip 和 brotli
VITE_BUILD_COMPRESS = gzip VITE_BUILD_COMPRESS = gzip

View File

@ -0,0 +1 @@

View File

@ -34,7 +34,7 @@
"date-fns": "^4.1.0", "date-fns": "^4.1.0",
"diagram-js": "12.3.0", "diagram-js": "12.3.0",
"didi": "9.0.2", "didi": "9.0.2",
"echarts": "5.5.0", "echarts": "^5.5.0",
"echarts-gl": "^2.0.9", "echarts-gl": "^2.0.9",
"element-plus": "2.8.8", "element-plus": "2.8.8",
"esbuild": "^0.25.0", "esbuild": "^0.25.0",

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

BIN
public/assets/demo/fog.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
public/assets/demo/haze.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

1
public/vite.svg Normal file
View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
public/xx.xlsx Normal file

Binary file not shown.

View File

@ -16,6 +16,17 @@ export const listContactnotice = (query?: ContactnoticeQuery): AxiosPromise<Cont
}); });
}; };
/**
* 根据项目id查询项目班组班组长信息列表
* @param projectId
*/
export const listProjectTeamForeman = (projectId: string | number): AxiosPromise<any[]> => {
return request({
url: '/project/projectTeam/listForeman/' + projectId,
method: 'get'
});
};
/** /**
* 查询联系单详细 * 查询联系单详细
* @param id * @param id

View File

@ -24,3 +24,11 @@ export const exportWord = (params) => {
method: 'post' method: 'post'
}); });
}; };
// 导出模版
export const exportExcel = (params) => {
return request({
url: '/design/collect/exportExcel',
method: 'post',
params: params
});
};

View File

@ -127,6 +127,17 @@ export const majorList = (params) => {
params: params params: params
}); });
}; };
/**
* 获取人员列表
* @param query
*/
export const copyUserList = (params) => {
return request({
url: '/design/volumeCatalog/copyUserList',
method: 'get',
params: params
});
};
/** /**
* 获取二维码信息 * 获取二维码信息
* @param query * @param query

View File

@ -0,0 +1,44 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
/**
* 查询企业关键指标
*/
export const keyIndex = () => {
return request({
url: '/enterprise/big/screen/keyIndex',
method: 'get'
});
};
/**
* 每个项目的出勤人数
*/
export const projectAttendanceCount = () => {
return request({
url: '/enterprise/big/screen/projectAttendanceCount',
method: 'get'
});
};
/**
* 人数统计
*/
export const peopleCount = () => {
return request({
url: '/enterprise/big/screen/peopleCount',
method: 'get'
});
};
/**
* 出勤人数统计
*/
export const allAttendanceCount = () => {
return request({
url: '/enterprise/big/screen/allAttendanceCount',
method: 'get'
});
};

111
src/api/equipment/index.ts Normal file
View File

@ -0,0 +1,111 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { EquipmentVO, EquipmentForm, EquipmentQuery } from '@/api/equipment/types';
/**
* 查询GPS设备详细列表
* @param query
* @returns {*}
*/
export const listEquipment = (query?: EquipmentQuery): AxiosPromise<EquipmentVO[]> => {
return request({
url: '/gps/equipment/list',
method: 'get',
params: query
});
};
/**
* 查询GPS设备详细详细
* @param id
*/
export const getEquipment = (id: string | number): AxiosPromise<EquipmentVO> => {
return request({
url: '/gps/equipment/' + id,
method: 'get'
});
};
/**
* 新增GPS设备详细
* @param data
*/
export const addEquipment = (data: EquipmentForm) => {
return request({
url: '/gps/equipment',
method: 'post',
data: data
});
};
/**
* 修改GPS设备详细
* @param data
*/
export const updateEquipment = (data: EquipmentForm) => {
return request({
url: '/gps/equipment',
method: 'put',
data: data
});
};
/**
* 删除GPS设备详细
* @param id
*/
export const delEquipment = (id: string | number | Array<string | number>) => {
return request({
url: '/gps/equipment/' + id,
method: 'delete'
});
};
export const bindUser = (data) => {
return request({
url: '/gps/equipment/bindManmachine',
method: 'post',
data: data
});
};
export const getUserId = (projectId) => {
return request({
url: '/gps/equipment/userList',
method: 'get',
params: { projectId }
});
};
export const gethistroyUser = (data) => {
return request({
url: '/gps/equipment/getUserList',
method: 'get',
params: data
});
};
// 解除绑定接口定义确保使用POST方法并正确传递data
export function getRemoveBind(data: { id: number; clientId: string }) {
return request({
url: '/gps/equipment/unbindManmachine',
method: 'post',
data: data
});
}
export function getProjectId() {
return request({
url: 'gps/equipment/getProjectList',
method: 'get'
});
}
export const getFootNote = (data) => {
return request({
url: 'gps/equipmentSon/getList',
method: 'get',
params: data
});
};

174
src/api/equipment/types.ts Normal file
View File

@ -0,0 +1,174 @@
export interface EquipmentVO {
/**
*
*/
id: string | number;
/**
* 项目ID
*/
projectId: string | number;
/**
* 用户id
*/
userId: string | number;
/**
* 设备标识
*/
clientId: string | number;
/**
* 设备名称
*/
deviceName: string;
/**
* 是否使用UDP协议0=否1=是
*/
udp: number;
/**
* 远程连接地址IP:端口)
*/
remoteAddressStr: string;
/**
* 连接创建时间
*/
creationTime: number;
/**
* 最后活动时间
*/
lastAccessedTime: number;
/**
* 是否已注册0=未注册1=已注册
*/
registered: number;
/**
* 备注
*/
remark: string;
}
export interface EquipmentForm extends BaseEntity {
/**
*
*/
id?: string | number;
/**
* 项目ID
*/
projectId?: string | number;
/**
* 用户id
*/
userId?: string | number;
/**
* 设备标识
*/
clientId?: string | number;
/**
* 设备名称
*/
deviceName?: string;
/**
* 是否使用UDP协议0=否1=是
*/
udp?: number;
/**
* 远程连接地址IP:端口)
*/
remoteAddressStr?: string;
/**
* 连接创建时间
*/
creationTime?: number;
/**
* 最后活动时间
*/
lastAccessedTime?: number;
/**
* 是否已注册0=未注册1=已注册
*/
registered?: number;
/**
* 备注
*/
remark?: string;
}
export interface EquipmentQuery extends PageQuery {
/**
* 项目ID
*/
projectId?: string | number;
/**
* 是否绑定
*/
type?: string | number;
/**
* 展示用户/设备数据1=用户数据0=设备数据
*/
gpsType?: string | number;
/**
* 用户id
*/
userId?: string | number;
/**
* 设备标识
*/
clientId?: string | number;
/**
* 设备名称
*/
deviceName?: string;
/**
* 是否使用UDP协议0=否1=是
*/
udp?: number;
/**
* 远程连接地址IP:端口)
*/
remoteAddressStr?: string;
/**
* 连接创建时间
*/
creationTime?: number;
/**
* 最后活动时间
*/
lastAccessedTime?: number;
/**
* 是否已注册0=未注册1=已注册
*/
registered?: number;
/**
* 日期范围参数
*/
params?: any;
}

View File

@ -1,4 +1,5 @@
import request from '@/utils/request-go'; import request from '@/utils/request-go';
import request1 from '@/utils/request';
import { AxiosPromise } from 'axios'; import { AxiosPromise } from 'axios';
import { import {
QualityVO, QualityVO,
@ -172,7 +173,7 @@ export const getweatherList = (): AxiosPromise<weatherVO[]> => {
*/ */
export const getSafetyDay = (id?: string): AxiosPromise<safetyDayVO> => { export const getSafetyDay = (id?: string): AxiosPromise<safetyDayVO> => {
return request({ return request1({
url: '/project/project/safetyDay/' + id, url: '/project/project/safetyDay/' + id,
method: 'get' method: 'get'
}); });

View File

@ -98,3 +98,18 @@ export const cashTotal = () => {
method: 'get' method: 'get'
}); });
}; };
//安全天数
export const getSafetyDay = (projectId) => {
return request({
url: '/money/big/screen/safetyDay/' + projectId,
method: 'get'
});
};
//安全天数
export const getWeather = (projectId) => {
return request({
url: '/money/big/screen/weather/' + projectId,
method: 'get'
});
};

View File

@ -129,10 +129,10 @@ export function getGoToken(): AxiosPromise<any> {
data: { data: {
status: 'yjdsj', status: 'yjdsj',
verifyCode: '1111', verifyCode: '1111',
// username: 'admin',
// password: 'zmkg@2023A'
username: 'admin', username: 'admin',
password: 'zmkg@2023A' password: 'zmkg@2023C'
// username: 'admin1',
// password: 'zmkg@2023C'
} }
}); });
} }

View File

@ -1,63 +1,45 @@
import request from '@/utils/request'; import request from '@/utils/request-go';
import { AxiosPromise } from 'axios'; // 查询机械列表
import { MachineryForm, MachineryQuery, MachineryVO } from '@/api/machinery/machinery/types'; export function listBusMachinery(query: object) {
/**
* 查询机械列表
* @param query
* @returns {*}
*/
export const listMachinery = (query?: MachineryQuery): AxiosPromise<MachineryVO[]> => {
return request({ return request({
url: '/machinery/machinery/list', url: '/zm/api/v1/system/busMachinery/list',
method: 'get', method: 'get',
params: query params: query
}); });
}; }
// 查询机械详细
/** export function getBusMachinery(id: number) {
* 查询机械详细
* @param id
*/
export const getMachinery = (id: string | number): AxiosPromise<MachineryVO> => {
return request({ return request({
url: '/machinery/machinery/' + id, url: '/zm/api/v1/system/busMachinery/get',
method: 'get' method: 'get',
params: {
id: id.toString()
}
}); });
}; }
// 新增机械
/** export function addBusMachinery(data: object) {
* 新增机械
* @param data
*/
export const addMachinery = (data: MachineryForm): AxiosPromise<string | number> => {
return request({ return request({
url: '/machinery/machinery', url: '/zm/api/v1/system/busMachinery/add',
method: 'post', method: 'post',
data: data data: data
}); });
}; }
// 修改机械
/** export function updateBusMachinery(data: object) {
* 修改机械
* @param data
*/
export const updateMachinery = (data: MachineryForm) => {
return request({ return request({
url: '/machinery/machinery', url: '/zm/api/v1/system/busMachinery/edit',
method: 'put', method: 'put',
data: data data: data
}); });
}; }
// 删除机械
/** export function delBusMachinery(ids: number[]) {
* 删除机械
* @param id
*/
export const delMachinery = (id: string | number | Array<string | number>) => {
return request({ return request({
url: '/machinery/machinery/' + id, url: '/zm/api/v1/system/busMachinery/delete',
method: 'delete' method: 'delete',
data: {
ids: ids
}
}); });
}; }

View File

@ -1,63 +1,45 @@
import request from '@/utils/request'; import request from '@/utils/request-go';
import { AxiosPromise } from 'axios'; // 查询机械详情列表
import { MachineryDetailForm, MachineryDetailQuery, MachineryDetailVO } from '@/api/machinery/machineryDetail/types'; export function listBusMachineryDetail(query: object) {
/**
* 查询机械详情列表
* @param query
* @returns {*}
*/
export const listMachineryDetail = (query?: MachineryDetailQuery): AxiosPromise<MachineryDetailVO[]> => {
return request({ return request({
url: '/machinery/machineryDetail/list', url: '/zm/api/v1/system/busMachineryDetail/list',
method: 'get', method: 'get',
params: query params: query
}); });
}; }
// 查询机械详情详细
/** export function getBusMachineryDetail(id: number) {
* 查询机械详情详细
* @param id
*/
export const getMachineryDetail = (id: string | number): AxiosPromise<MachineryDetailVO> => {
return request({ return request({
url: '/machinery/machineryDetail/' + id, url: '/zm/api/v1/system/busMachineryDetail/get',
method: 'get' method: 'get',
params: {
id: id.toString()
}
}); });
}; }
// 新增机械详情
/** export function addBusMachineryDetail(data: object) {
* 新增机械详情
* @param data
*/
export const addMachineryDetail = (data: MachineryDetailForm): AxiosPromise<string | number> => {
return request({ return request({
url: '/machinery/machineryDetail', url: '/zm/api/v1/system/busMachineryDetail/add',
method: 'post', method: 'post',
data: data data: data
}); });
}; }
// 修改机械详情
/** export function updateBusMachineryDetail(data: object) {
* 修改机械详情
* @param data
*/
export const updateMachineryDetail = (data: MachineryDetailForm) => {
return request({ return request({
url: '/machinery/machineryDetail', url: '/zm/api/v1/system/busMachineryDetail/edit',
method: 'put', method: 'put',
data: data data: data
}); });
}; }
// 删除机械详情
/** export function delBusMachineryDetail(ids: number[]) {
* 删除机械详情
* @param id
*/
export const delMachineryDetail = (id: string | number | Array<string | number>) => {
return request({ return request({
url: '/machinery/machineryDetail/' + id, url: '/zm/api/v1/system/busMachineryDetail/delete',
method: 'delete' method: 'delete',
data: {
ids: ids
}
}); });
}; }

View File

@ -1,4 +1,5 @@
import request from '@/utils/request-go'; import requestGo from '@/utils/request-go';
import request from '@/utils/request';
import { AxiosPromise } from 'axios'; import { AxiosPromise } from 'axios';
import { CompanyForm, CompanyQuery, CompanyVO } from '@/api/materials/company/types'; import { CompanyForm, CompanyQuery, CompanyVO } from '@/api/materials/company/types';
@ -9,11 +10,23 @@ import { CompanyForm, CompanyQuery, CompanyVO } from '@/api/materials/company/ty
*/ */
export const listCompany = (query?: CompanyQuery): AxiosPromise<CompanyVO[]> => { export const listCompany = (query?: CompanyQuery): AxiosPromise<CompanyVO[]> => {
return request({ return requestGo({
url: '/zm/api/v1/system/busCompany/list', url: '/zm/api/v1/system/busCompany/list',
method: 'get', method: 'get',
params: query params: query
}); });
}; /**
* 查询材料提供商
* @param query
* @returns {*}
*/
export const supplierInputGet = (query?) => {
return request({
url: '/supplierInput/supplierInput/getList',
method: 'get',
params: query
});
}; };
/** /**

View File

@ -75,3 +75,11 @@ export const inventoryList = (id: any) => {
method: 'get' method: 'get'
}); });
}; };
//获取材料表信息
export const getMaterialInfo = (id: any) => {
return request({
url: '/materials/materials/listByFormCode/' + id,
method: 'get'
});
};

View File

@ -0,0 +1,27 @@
import request from '@/utils/request';
//获取出库材料得列表
export const outboundMaterials = (query?: any) => {
return request({
url: '/materials/materials/listRelevancy',
method: 'get',
params: query
});
};
//新增出库
export const addOutbound = (data?: any) => {
return request({
url: '/materials/materialsInventory',
method: 'post',
data
});
};
//获取材料列表
export const getMaterialsList = (query?: any) => {
return request({
url: '/materials/materials/list',
method: 'get',
params: query
});
};

View File

@ -53,7 +53,6 @@ export interface MaterialReceiveVO {
* 备注 * 备注
*/ */
remark: string; remark: string;
} }
export interface MaterialReceiveForm extends BaseEntity { export interface MaterialReceiveForm extends BaseEntity {
@ -156,11 +155,13 @@ export interface MaterialReceiveForm extends BaseEntity {
* 备注 * 备注
*/ */
remark?: string; remark?: string;
/**
* 附件
*/
attachmentId?: string | number;
} }
export interface MaterialReceiveQuery extends PageQuery { export interface MaterialReceiveQuery extends PageQuery {
/** /**
* 项目id * 项目id
*/ */
@ -206,6 +207,3 @@ export interface MaterialReceiveQuery extends PageQuery {
*/ */
params?: any; params?: any;
} }

View File

@ -1,4 +1,5 @@
import request from '@/utils/request-go'; import requestGo from '@/utils/request-go';
import request from '@/utils/request';
import { AxiosPromise } from 'axios'; import { AxiosPromise } from 'axios';
import { MaterialsForm, MaterialsQuery, MaterialsVO } from '@/api/materials/materials/types'; import { MaterialsForm, MaterialsQuery, MaterialsVO } from '@/api/materials/materials/types';
@ -8,7 +9,7 @@ import { MaterialsForm, MaterialsQuery, MaterialsVO } from '@/api/materials/mate
* @returns {*} * @returns {*}
*/ */
export const listMaterials = (query?: MaterialsQuery): AxiosPromise<MaterialsVO[]> => { export const listMaterials = (query?: MaterialsQuery): AxiosPromise<MaterialsVO[]> => {
return request({ return requestGo({
url: '/zm/api/v1/system/busEquipmentMaterials/list', url: '/zm/api/v1/system/busEquipmentMaterials/list',
method: 'get', method: 'get',
params: query params: query
@ -20,7 +21,7 @@ export const listMaterials = (query?: MaterialsQuery): AxiosPromise<MaterialsVO[
* @param id * @param id
*/ */
export const getMaterials = (id: string | number): AxiosPromise<MaterialsVO> => { export const getMaterials = (id: string | number): AxiosPromise<MaterialsVO> => {
return request({ return requestGo({
url: '/zm/api/v1/system/busEquipmentMaterials/get', url: '/zm/api/v1/system/busEquipmentMaterials/get',
method: 'get', method: 'get',
params: { params: {

View File

@ -1,4 +1,5 @@
import request from '@/utils/request-go'; import requestGo from '@/utils/request-go';
import request from '@/utils/request';
import { AxiosPromise } from 'axios'; import { AxiosPromise } from 'axios';
import { MaterialsInventoryForm, MaterialsInventoryQuery, MaterialsInventoryVO } from '@/api/materials/materialsInventory/types'; import { MaterialsInventoryForm, MaterialsInventoryQuery, MaterialsInventoryVO } from '@/api/materials/materialsInventory/types';
@ -9,7 +10,7 @@ import { MaterialsInventoryForm, MaterialsInventoryQuery, MaterialsInventoryVO }
*/ */
export const listMaterialsInventory = (query?: MaterialsInventoryQuery): AxiosPromise<MaterialsInventoryVO[]> => { export const listMaterialsInventory = (query?: MaterialsInventoryQuery): AxiosPromise<MaterialsInventoryVO[]> => {
return request({ return requestGo({
url: '/zm/api/v1/system/busEquipmentMaterialsInventory/excellist', url: '/zm/api/v1/system/busEquipmentMaterialsInventory/excellist',
method: 'get', method: 'get',
params: query params: query
@ -61,3 +62,13 @@ export const delMaterialsInventory = (id: string | number | Array<string | numbe
method: 'delete' method: 'delete'
}); });
}; };
//获取新的列表数据
export const getLedgerList = (query?: any) => {
return request({
url: '/materials/materials/listUseDetail',
method: 'get',
params: query
});
};
//导出

View File

@ -33,7 +33,6 @@ export interface MaterialsUseRecordVO {
* 备注 * 备注
*/ */
remark: string; remark: string;
} }
export interface MaterialsUseRecordForm extends BaseEntity { export interface MaterialsUseRecordForm extends BaseEntity {
@ -71,11 +70,9 @@ export interface MaterialsUseRecordForm extends BaseEntity {
* 备注 * 备注
*/ */
remark?: string; remark?: string;
} }
export interface MaterialsUseRecordQuery extends PageQuery { export interface MaterialsUseRecordQuery extends PageQuery {
/** /**
* 项目ID * 项目ID
*/ */
@ -105,7 +102,5 @@ export interface MaterialsUseRecordQuery extends PageQuery {
* 日期范围参数 * 日期范围参数
*/ */
params?: any; params?: any;
materialsId?: string | number;
} }

View File

@ -0,0 +1,72 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { MechanicalrewritingVO, MechanicalrewritingForm, MechanicalrewritingQuery } from '@/api/mechanical/mechanicalrewriting/types';
/**
* 查询机械台账列表
* @param query
* @returns {*}
*/
export const listMechanicalrewriting = (query?: MechanicalrewritingQuery): AxiosPromise<MechanicalrewritingVO[]> => {
return request({
url: '/mechanical/mechanicalrewriting/list',
method: 'get',
params: query
});
};
/**
* 查询机械台账详细
* @param id
*/
export const getMechanicalrewriting = (id: string | number): AxiosPromise<MechanicalrewritingVO> => {
return request({
url: '/mechanical/mechanicalrewriting/' + id,
method: 'get'
});
};
/**
* 新增机械台账
* @param data
*/
export const addMechanicalrewriting = (data: MechanicalrewritingForm) => {
return request({
url: '/mechanical/mechanicalrewriting',
method: 'post',
data: data
});
};
/**
* 修改机械台账
* @param data
*/
export const updateMechanicalrewriting = (data: MechanicalrewritingForm) => {
return request({
url: '/mechanical/mechanicalrewriting',
method: 'put',
data: data
});
};
/**
* 删除机械台账
* @param id
*/
export const delMechanicalrewriting = (id: string | number | Array<string | number>) => {
return request({
url: '/mechanical/mechanicalrewriting/' + id,
method: 'delete'
});
};
//获取类型
export const getType = (query?: any) => {
return request({
url: '/mechanical/mechanicaltype/getTree',
method: 'get',
params: query
});
};

View File

@ -0,0 +1,306 @@
export interface MechanicalrewritingVO {
/**
* 自增ID
*/
id: string | number;
/**
* 项目ID
*/
projectId: string | number;
/**
* 班组名称
*/
teamName: string;
/**
* 设备名称
*/
devicename: string;
/**
* 设备类型
*/
deviceType: string;
/**
* 设备编号
*/
deviceNumber: string;
/**
* 入场日期
*/
entryTime: string;
/**
* 规格型号
*/
specification: string;
/**
* 生产能力
*/
production: string;
/**
* 车牌号码
*/
plateNumber: string;
/**
* 设备管理员
*/
deviceKeeper: string;
/**
* 车辆行驶证
*/
drivingLicence: string;
/**
* 新旧程度
*/
degree: string;
/**
* 车辆容量
*/
vehicleCapacity: string;
/**
* 车辆净重
*/
suttle: string;
/**
* 铭牌
*/
nameplate: string;
/**
* 合格证书
*/
qualification: string;
/**
* 设备照片
*/
equipmentPhoto: string;
/**
* 检验报告
*/
verificationReport: string;
/**
* 备注
*/
remark: string;
}
export interface MechanicalrewritingForm extends BaseEntity {
/**
* 自增ID
*/
id?: string | number;
/**
* 项目ID
*/
projectId?: string | number;
/**
* 班组名称
*/
teamName?: string;
/**
* 设备名称
*/
devicename?: string;
/**
* 设备类型
*/
deviceType?: string;
/**
* 设备编号
*/
deviceNumber?: string;
/**
* 入场日期
*/
entryTime?: string;
/**
* 规格型号
*/
specification?: string;
/**
* 生产能力
*/
production?: string;
/**
* 车牌号码
*/
plateNumber?: string;
/**
* 设备管理员
*/
deviceKeeper?: string;
/**
* 车辆行驶证
*/
drivingLicence?: string;
/**
* 新旧程度
*/
degree?: string;
/**
* 车辆容量
*/
vehicleCapacity?: string;
/**
* 车辆净重
*/
suttle?: string;
/**
* 铭牌
*/
nameplate?: string;
/**
* 合格证书
*/
qualification?: string;
/**
* 设备照片
*/
equipmentPhoto?: string;
/**
* 检验报告
*/
verificationReport?: string;
/**
* 备注
*/
remark?: string;
}
export interface MechanicalrewritingQuery extends PageQuery {
/**
* 项目ID
*/
projectId?: string | number;
/**
* 班组名称
*/
teamName?: string;
/**
* 设备名称
*/
devicename?: string;
/**
* 设备类型
*/
deviceType?: string;
/**
* 设备编号
*/
deviceNumber?: string;
/**
* 入场日期
*/
entryTime?: string;
/**
* 规格型号
*/
specification?: string;
/**
* 生产能力
*/
production?: string;
/**
* 车牌号码
*/
plateNumber?: string;
/**
* 设备管理员
*/
deviceKeeper?: string;
/**
* 车辆行驶证
*/
drivingLicence?: string;
/**
* 新旧程度
*/
degree?: string;
/**
* 车辆容量
*/
vehicleCapacity?: string;
/**
* 车辆净重
*/
suttle?: string;
/**
* 铭牌
*/
nameplate?: string;
/**
* 合格证书
*/
qualification?: string;
/**
* 设备照片
*/
equipmentPhoto?: string;
/**
* 检验报告
*/
verificationReport?: string;
/**
* 日期范围参数
*/
params?: any;
}

View File

@ -0,0 +1,63 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import { MechanicaltypeVO, MechanicaltypeForm, MechanicaltypeQuery } from '@/api/mechanical/mechanicaltype/types';
/**
* 查询设备类型列表
* @param query
* @returns {*}
*/
export const listMechanicaltype = (query?: MechanicaltypeQuery): AxiosPromise<MechanicaltypeVO[]> => {
return request({
url: '/mechanical/mechanicaltype/list',
method: 'get',
params: query
});
};
/**
* 查询设备类型详细
* @param id
*/
export const getMechanicaltype = (id: string | number): AxiosPromise<MechanicaltypeVO> => {
return request({
url: '/mechanical/mechanicaltype/' + id,
method: 'get'
});
};
/**
* 新增设备类型
* @param data
*/
export const addMechanicaltype = (data: MechanicaltypeForm) => {
return request({
url: '/mechanical/mechanicaltype',
method: 'post',
data: data
});
};
/**
* 修改设备类型
* @param data
*/
export const updateMechanicaltype = (data: MechanicaltypeForm) => {
return request({
url: '/mechanical/mechanicaltype',
method: 'put',
data: data
});
};
/**
* 删除设备类型
* @param id
*/
export const delMechanicaltype = (id: string | number | Array<string | number>) => {
return request({
url: '/mechanical/mechanicaltype/' + id,
method: 'delete'
});
};

View File

@ -0,0 +1,129 @@
export interface MechanicaltypeVO {
/**
* 自增ID
*/
id: string | number;
/**
* 编码
*/
code: string;
/**
* 父编码
*/
pcode: string;
/**
* 大
*/
largeclass: string;
/**
* 中
*/
middleclass: string | number;
/**
* 子类
*/
subclass: string;
/**
* 备注
*/
remark: string;
/**
* 全名
*/
fullName: string;
/**
* 类型
*/
deviceType?: string;
}
export interface MechanicaltypeForm extends BaseEntity {
/**
* 自增ID
*/
id?: string | number;
/**
* 编码
*/
code?: string;
/**
* 父编码
*/
pcode?: string;
/**
* 大
*/
largeclass?: string;
/**
* 中
*/
middleclass?: string | number;
/**
* 子类
*/
subclass?: string;
/**
* 备注
*/
remark?: string;
/**
* 全名
*/
fullName?: string;
/**
* 类型
*/
deviceType?: string;
}
export interface MechanicaltypeQuery extends PageQuery {
/**
* 编码
*/
code?: string;
/**
* 父编码
*/
pcode?: string;
/**
* 大
*/
largeclass?: string;
/**
* 中
*/
middleclass?: string | number;
/**
* 子类
*/
subclass?: string;
/**
* 全名
*/
fullName?: string;
/**
* 日期范围参数
*/
params?: any;
}

View File

@ -8,7 +8,7 @@ import { MonthPlanVO, MonthPlanForm, MonthPlanQuery } from '@/api/out/monthPlan/
* @returns {*} * @returns {*}
*/ */
export const listMonthPlan = (query?: MonthPlanQuery): AxiosPromise<MonthPlanVO[]> => { export const listMonthPlan = (query?: any) => {
return request({ return request({
url: '/out/monthPlan/list', url: '/out/monthPlan/list',
method: 'get', method: 'get',
@ -93,7 +93,7 @@ export const isSubmit = (id): AxiosPromise => {
*/ */
export const getMonthInfo = (query): AxiosPromise<MonthPlanVO> => { export const getMonthInfo = (query): AxiosPromise<MonthPlanVO> => {
return request({ return request({
url: '/out/monthPlan/monthInfo', url: '/out/monthPlan/monthInfo/' + query.id,
method: 'get', method: 'get',
params: query params: query
}); });

View File

@ -0,0 +1,43 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
/**
* 查询项目数据
* @param query
* @returns {*}
*/
export const projectProgress = (query?: any): any => {
return request({
url: '/enterprise/big/screen/projectProgress',
method: 'get',
params: query
});
};
/**
* 产值
* @param query
* @returns {*}
*/
export const outpuProgress = (query?: any): any => {
return request({
url: '/enterprise/big/screen/projectProgressCapacity',
method: 'get',
params: query
});
};
/**
* 预警
* @param query
* @returns {*}
*/
export const earlyWarning = (query?: any): any => {
return request({
url: '/enterprise/big/screen/riskEarlyWarning',
method: 'get',
params: query
});
};

View File

@ -8,10 +8,11 @@ import { ProgressCategoryVO, ProgressCategoryForm, ProgressCategoryQuery } from
* @returns {*} * @returns {*}
*/ */
export const listProgressCategory = (id?: string | number): AxiosPromise<any[]> => { export const listProgressCategory = (parentId?: string | number,name?:string): AxiosPromise<any[]> => {
return request({ return request({
url: '/progress/progressCategory/listByParent/' + id, url: '/progress/progressCategory/listByParent',
method: 'get' method: 'get',
params:{parentId,name}
}); });
}; };

View File

@ -78,9 +78,10 @@ export const getTabList = (id: string) => {
* @param parentId * @param parentId
* @returns {*} * @returns {*}
*/ */
export const listProgressCategoryTemplateByParent = (parentId: string | number): AxiosPromise<ProgressCategoryTemplateVO[]> => { export const listProgressCategoryTemplateByParent = (parentId: string | number,name:string): AxiosPromise<ProgressCategoryTemplateVO[]> => {
return request({ return request({
url: '/progress/progressCategoryTemplate/listByParent/' + parentId, url: '/progress/progressCategoryTemplate/listByParent' ,
method: 'get' method: 'get',
params:{parentId,name}
}); });
}; };

View File

@ -1,4 +1,4 @@
import request from '@/utils/request-go'; import request from '@/utils/request';
import { AxiosPromise } from 'axios'; import { AxiosPromise } from 'axios';
import { import {
ConstructionUserForm, ConstructionUserForm,
@ -23,7 +23,7 @@ import requestGo from '@/utils/request-go';
*/ */
export const listConstructionMonth = (query?: ConstructionMonthQuery): AxiosPromise<AttendanceMonthVO[]> => { export const listConstructionMonth = (query?: ConstructionMonthQuery): AxiosPromise<AttendanceMonthVO[]> => {
return request({ return requestGo({
url: '/zm/api/wxApplet/wxApplet/busAttendance/byOpenId', url: '/zm/api/wxApplet/wxApplet/busAttendance/byOpenId',
method: 'get', method: 'get',
params: query params: query
@ -62,7 +62,7 @@ export const listConstructionUserInTeam = (query?: ConstructionUserQuery): Axios
* @param id * @param id
*/ */
export const getConstructionUser = (id: string | number): AxiosPromise<ConstructionUserVO> => { export const getConstructionUser = (id: string | number): AxiosPromise<ConstructionUserVO> => {
return request({ return requestGo({
url: '/zm/api/wxApplet/wxApplet/busConstructionUser/getDetails?id=' + id, url: '/zm/api/wxApplet/wxApplet/busConstructionUser/getDetails?id=' + id,
method: 'get' method: 'get'
}); });
@ -73,7 +73,7 @@ export const getConstructionUser = (id: string | number): AxiosPromise<Construct
* @param data * @param data
*/ */
export const transferConstructionUser = (data: skipType) => { export const transferConstructionUser = (data: skipType) => {
return request({ return requestGo({
url: '/zm/api/wxApplet/wxApplet/busConstructionUser/changePay', url: '/zm/api/wxApplet/wxApplet/busConstructionUser/changePay',
method: 'put', method: 'put',
data: data data: data
@ -84,7 +84,7 @@ export const transferConstructionUser = (data: skipType) => {
* 查询项目以及项目下的分包公司列表 * 查询项目以及项目下的分包公司列表
*/ */
export const getProjectContractorList = () => { export const getProjectContractorList = () => {
return request({ return requestGo({
url: '/zm/api/v1/system/sysProject/list?pageNum=1&pageSize=1000', url: '/zm/api/v1/system/sysProject/list?pageNum=1&pageSize=1000',
method: 'get' method: 'get'
}); });
@ -95,7 +95,7 @@ export const getProjectContractorList = () => {
* @param data * @param data
*/ */
export const addConstructionUser = (data: ConstructionUserForm): AxiosPromise<string | number> => { export const addConstructionUser = (data: ConstructionUserForm): AxiosPromise<string | number> => {
return request({ return requestGo({
url: '/zm/api/wxApplet/wxApplet/busConstructionUser/add', url: '/zm/api/wxApplet/wxApplet/busConstructionUser/add',
method: 'post', method: 'post',
data: data data: data
@ -107,7 +107,7 @@ export const addConstructionUser = (data: ConstructionUserForm): AxiosPromise<st
* @param data * @param data
*/ */
export const updateConstructionUser = (data: ConstructionUserForm) => { export const updateConstructionUser = (data: ConstructionUserForm) => {
return request({ return requestGo({
url: '/zm/api/v1/system/busConstructionUser/pcEdit', url: '/zm/api/v1/system/busConstructionUser/pcEdit',
method: 'put', method: 'put',
data: data data: data
@ -119,7 +119,7 @@ export const updateConstructionUser = (data: ConstructionUserForm) => {
* @param id * @param id
*/ */
export const delConstructionUser = (data) => { export const delConstructionUser = (data) => {
return request({ return requestGo({
url: '/zm/api/wxApplet/wxApplet/busConstructionUser/delete', url: '/zm/api/wxApplet/wxApplet/busConstructionUser/delete',
method: 'delete', method: 'delete',
data data
@ -131,7 +131,7 @@ export const delConstructionUser = (data) => {
* @param data * @param data
*/ */
export const updateConstructionUserStatus = (data: ConstructionUserStatusForm) => { export const updateConstructionUserStatus = (data: ConstructionUserStatusForm) => {
return request({ return requestGo({
url: '/zm/api/wxApplet/wxApplet/busConstructionUser/changeState', url: '/zm/api/wxApplet/wxApplet/busConstructionUser/changeState',
method: 'delete', method: 'delete',
data: data data: data
@ -143,7 +143,7 @@ export const updateConstructionUserStatus = (data: ConstructionUserStatusForm) =
* @param data * @param data
*/ */
export const updateConstructionUserPlayCardStatus = (data: ConstructionUserPlayCardForm) => { export const updateConstructionUserPlayCardStatus = (data: ConstructionUserPlayCardForm) => {
return request({ return requestGo({
url: '/zm/api/v1/system/busConstructionUser/oneClickOpen', url: '/zm/api/v1/system/busConstructionUser/oneClickOpen',
method: 'put', method: 'put',
data: data data: data
@ -155,7 +155,7 @@ export const updateConstructionUserPlayCardStatus = (data: ConstructionUserPlayC
* @param data * @param data
*/ */
export const updateConstructionUserPlayCardOneStatus = (data: ConstructionUserPlayCardForm) => { export const updateConstructionUserPlayCardOneStatus = (data: ConstructionUserPlayCardForm) => {
return request({ return requestGo({
url: '/zm/api/v1/system/busConstructionUser/clockingCondition', url: '/zm/api/v1/system/busConstructionUser/clockingCondition',
method: 'put', method: 'put',
data: data data: data
@ -167,7 +167,7 @@ export const updateConstructionUserPlayCardOneStatus = (data: ConstructionUserPl
* @param data * @param data
*/ */
export const updateConstructionUserSalary = (data: ConstructionUserSalaryForm) => { export const updateConstructionUserSalary = (data: ConstructionUserSalaryForm) => {
return request({ return requestGo({
url: '/zm/api/wxApplet/wxApplet/busConstructionUser/payEdit', url: '/zm/api/wxApplet/wxApplet/busConstructionUser/payEdit',
method: 'put', method: 'put',
data: data data: data
@ -179,7 +179,7 @@ export const updateConstructionUserSalary = (data: ConstructionUserSalaryForm) =
* @param query * @param query
*/ */
export const getConstructionUserExit = (query: ConstructionUserExitForm) => { export const getConstructionUserExit = (query: ConstructionUserExitForm) => {
return request({ return requestGo({
url: '/zm/api/v1/system/busConstructionUser/departureRecord', url: '/zm/api/v1/system/busConstructionUser/departureRecord',
method: 'post', method: 'post',
data: query data: query
@ -191,7 +191,7 @@ export const getConstructionUserExit = (query: ConstructionUserExitForm) => {
* @param query * @param query
*/ */
export const dowloadConstructionUserTemplate = (query: ConstructionUserTemplateForm) => { export const dowloadConstructionUserTemplate = (query: ConstructionUserTemplateForm) => {
return request({ return requestGo({
url: '/zm/api/v1/system/busConstructionUser/templateExport', url: '/zm/api/v1/system/busConstructionUser/templateExport',
method: 'get', method: 'get',
params: query params: query
@ -208,7 +208,7 @@ export const dowloadConstructionUserTemplate = (query: ConstructionUserTemplateF
* @param data * @param data
*/ */
export const delConstructionUserMember = (data: ConstructionUserMembeForm) => { export const delConstructionUserMember = (data: ConstructionUserMembeForm) => {
return request({ return requestGo({
url: '/zm/api/v1/system/busConstructionUser/departure', url: '/zm/api/v1/system/busConstructionUser/departure',
method: 'post', method: 'post',
data data
@ -226,3 +226,30 @@ export const importConstructionUserInfo = (file: string) => {
data: { file } data: { file }
}); });
}; };
// 获取项目列表
export const ProjectList = (query) => {
return request({
url: '/contractor/constructionUser/projectList',
method: 'get',
params: query
});
};
// 获取班组列表
export const TeamList = (query) => {
return request({
url: '/contractor/constructionUser/teamList',
method: 'get',
params: query
});
};
// 班组分配
export const TeamDistribution = (data) => {
return request({
url: '/contractor/constructionUser/addTeam',
method: 'post',
data: data
});
};

View File

@ -182,6 +182,8 @@ export interface ConstructionUserVO {
* 创建时间 * 创建时间
*/ */
createTime: string; createTime: string;
sysUserId: string | number;
} }
export interface skipType { export interface skipType {
/** /**

View File

@ -23,7 +23,7 @@ export const listConstructionUserFile = (query?: ConstructionUserFileQuery): Axi
*/ */
export const setConstructionUserFile = (data: ConstructionUserFileForm): AxiosPromise<string | number> => { export const setConstructionUserFile = (data: ConstructionUserFileForm): AxiosPromise<string | number> => {
return request({ return request({
url: '/project/constructionUserFile/save', url: '/contractor/constructionUserFile/save',
method: 'post', method: 'post',
data data
}); });
@ -35,7 +35,7 @@ export const setConstructionUserFile = (data: ConstructionUserFileForm): AxiosPr
*/ */
export const delConstructionUserFile = (id: string | number | Array<string | number>) => { export const delConstructionUserFile = (id: string | number | Array<string | number>) => {
return request({ return request({
url: '/project/constructionUserFile/' + id, url: '/contractor/constructionUserFile/' + id,
method: 'delete' method: 'delete'
}); });
}; };

View File

@ -196,3 +196,71 @@ export const changeProject = (id: string | number) => {
method: 'get' method: 'get'
}); });
}; };
/**
* 打卡规则
* @param id
*/
export const attendanceRuleEdit = (data) => {
return request({
url: '/project/attendanceRule',
method: 'put',
data
});
};
/**
* 打卡规则
* @param id
*/
export const attendanceRuleAdd = (data) => {
return request({
url: '/project/attendanceRule',
method: 'post',
data
});
};
/**
* 获取规则
* @param id
*/
export const byProjectIdDetail = (id) => {
return request({
url: '/project/attendanceRule/byProjectId/' + id,
method: 'get'
});
};
// 新增项目打卡范围
export const addAttendanceRange = (data) => {
return request({
url: '/project/projectPunchrange',
method: 'post',
data
});
};
// 删除项目打卡范围
export const delAttendanceRange = (id) => {
return request({
url: '/project/projectPunchrange/' + id,
method: 'delete'
});
};
// 修改项目打卡范围
export const updateAttendanceRange = (data) => {
return request({
url: '/project/projectPunchrange',
method: 'put',
data
});
};
// 查询项目打卡范围列表
export const getAttendanceRangeList = (data) => {
return request({
url: '/project/projectPunchrange/list',
method: 'get',
params: data
});
};

View File

@ -55,6 +55,11 @@ export interface ProjectTeamForm extends BaseEntity {
* 备注 * 备注
*/ */
remark?: string; remark?: string;
/**
* 创建时间
*/
punchRangeList?: [];
} }
export interface ProjectTeamQuery extends PageQuery { export interface ProjectTeamQuery extends PageQuery {

View File

@ -0,0 +1,102 @@
import request from '@/utils/request';
import { AxiosPromise } from 'axios';
// 查询生项目天气
export const getScreenWeather = (projectId: number | string) => {
return request({
url: '/project/big/screen/weather/' + projectId,
method: 'get'
});
};
// 查询项目安全天数
export const getScreenSafetyDay = (projectId: number | string) => {
return request({
url: '/project/big/screen/safetyDay/' + projectId,
method: 'get'
});
};
// 查询项目公告
export const getScreenNews = (projectId: number | string) => {
return request({
url: '/project/big/screen/news/' + projectId,
method: 'get'
});
};
// 查询项目土地统计
export const getScreenLand = (projectId: number | string) => {
return request({
url: '/project/big/screen/' + projectId,
method: 'get'
});
};
// 查询项目形象进度
export const getScreenImgProcess = (projectId: number | string) => {
return request({
url: '/project/big/screen/imageProgress/' + projectId,
method: 'get'
});
};
// 查询项目人员情况
export const getScreenPeople = (projectId: number | string) => {
return request({
url: '/project/big/screen/people/' + projectId,
method: 'get'
});
};
// 查询项目AI安全巡检
export const getScreenSafetyInspection = (projectId: number | string) => {
return request({
url: '/project/big/screen/safetyInspection/',
method: 'get',
params: {
projectId
}
});
};
// 查询项目概况
export const getScreenGeneralize = (projectId: number | string) => {
return request({
url: '/project/big/screen/generalize/' + projectId,
method: 'get'
});
};
// 获取gps数据
export const getGps = (projectId) => {
return request({
url: '/project/big/screen/getClientList/' + projectId,
method: 'get'
});
};
// 选中列表
export const getSelectList = (params) => {
return request({
url: '/project/big/screen/getList',
method: 'get',
params
});
};
// 设置选中
export const setSelect = (data) => {
return request({
url: '/project/big/screen/setList',
method: 'post',
data
});
};
// 获取模型列表
export const getModelList = (params) => {
return request({
url: '/yjearth4.0/api/v1/source/list',
method: 'get',
params
});
};

View File

@ -0,0 +1,5 @@
export interface TableQuery extends PageQuery {
tableName: string;
tableComment: string;
dataName: string;
}

View File

@ -1,4 +1,5 @@
import request from '@/utils/request-go'; import requestGo from '@/utils/request-go';
import request from '@/utils/request';
import { AxiosPromise } from 'axios'; import { AxiosPromise } from 'axios';
import { QualityConstructionLogVO, QualityConstructionLogForm, QualityConstructionLogQuery } from '@/api/quality/qualityConstructionLog/types'; import { QualityConstructionLogVO, QualityConstructionLogForm, QualityConstructionLogQuery } from '@/api/quality/qualityConstructionLog/types';
@ -9,7 +10,7 @@ import { QualityConstructionLogVO, QualityConstructionLogForm, QualityConstructi
*/ */
export const listQualityConstructionLog = (query?: QualityConstructionLogQuery): AxiosPromise<QualityConstructionLogVO[]> => { export const listQualityConstructionLog = (query?: QualityConstructionLogQuery): AxiosPromise<QualityConstructionLogVO[]> => {
return request({ return requestGo({
url: '/zm/api/v1/system/busConstructionLog/list', url: '/zm/api/v1/system/busConstructionLog/list',
method: 'get', method: 'get',
params: query params: query
@ -21,8 +22,8 @@ export const listQualityConstructionLog = (query?: QualityConstructionLogQuery):
* @param id * @param id
*/ */
export const getQualityConstructionLog = (id: string | number): AxiosPromise<QualityConstructionLogVO> => { export const getQualityConstructionLog = (id: string | number): AxiosPromise<QualityConstructionLogVO> => {
return request({ return requestGo({
url: 'zm/api/v1/system/busConstructionLog/get', url: '/zm/api/v1/system/busConstructionLog/get',
method: 'get', method: 'get',
params: { id } params: { id }
}); });
@ -57,7 +58,7 @@ export const updateQualityConstructionLog = (data: QualityConstructionLogForm) =
* @param id * @param id
*/ */
export const delQualityConstructionLog = (id: string | number | Array<string | number>) => { export const delQualityConstructionLog = (id: string | number | Array<string | number>) => {
return request({ return requestGo({
url: '/zm/api/v1/system/busConstructionLog/delete', url: '/zm/api/v1/system/busConstructionLog/delete',
method: 'delete', method: 'delete',
data: { ids: id } data: { ids: id }

View File

@ -1,6 +1,6 @@
import request from '@/utils/request'; import request from '@/utils/request';
import { AxiosPromise } from 'axios'; import { AxiosPromise } from 'axios';
import { QuestionBankVO, QuestionBankForm, QuestionBankQuery } from '@/api/safety/questionBank/types'; import { QuestionBankVO, QuestionBankForm, QuestionBankQuery } from '@/api/safety/wgzQuestionBank/types';
/** /**
* 查询题库列表 * 查询题库列表
@ -10,7 +10,7 @@ import { QuestionBankVO, QuestionBankForm, QuestionBankQuery } from '@/api/safet
export const listQuestionBank = (query?: QuestionBankQuery): AxiosPromise<QuestionBankVO[]> => { export const listQuestionBank = (query?: QuestionBankQuery): AxiosPromise<QuestionBankVO[]> => {
return request({ return request({
url: '/safety/questionBank/list', url: '/safety/wgzQuestionBank/list',
method: 'get', method: 'get',
params: query params: query
}); });
@ -22,7 +22,7 @@ export const listQuestionBank = (query?: QuestionBankQuery): AxiosPromise<Questi
*/ */
export const getQuestionBank = (id: string | number): AxiosPromise<QuestionBankVO> => { export const getQuestionBank = (id: string | number): AxiosPromise<QuestionBankVO> => {
return request({ return request({
url: '/safety/questionBank/' + id, url: '/safety/wgzQuestionBank/' + id,
method: 'get' method: 'get'
}); });
}; };
@ -33,7 +33,7 @@ export const getQuestionBank = (id: string | number): AxiosPromise<QuestionBankV
*/ */
export const addQuestionBank = (data: QuestionBankForm) => { export const addQuestionBank = (data: QuestionBankForm) => {
return request({ return request({
url: '/safety/questionBank', url: '/safety/wgzQuestionBank',
method: 'post', method: 'post',
data: data data: data
}); });
@ -45,7 +45,7 @@ export const addQuestionBank = (data: QuestionBankForm) => {
*/ */
export const updateQuestionBank = (data: QuestionBankForm) => { export const updateQuestionBank = (data: QuestionBankForm) => {
return request({ return request({
url: '/safety/questionBank', url: '/safety/wgzQuestionBank',
method: 'put', method: 'put',
data: data data: data
}); });
@ -57,7 +57,7 @@ export const updateQuestionBank = (data: QuestionBankForm) => {
*/ */
export const delQuestionBank = (id: string | number | Array<string | number>) => { export const delQuestionBank = (id: string | number | Array<string | number>) => {
return request({ return request({
url: '/safety/questionBank/' + id, url: '/safety/wgzQuestionBank/' + id,
method: 'delete' method: 'delete'
}); });
}; };

View File

@ -1,6 +1,6 @@
import request from '@/utils/request'; import request from '@/utils/request';
import { AxiosPromise } from 'axios'; import { AxiosPromise } from 'axios';
import { QuestionUserAnswerVO, QuestionUserAnswerForm, QuestionUserAnswerQuery } from '@/api/safety/questionUserAnswer/types'; import { QuestionUserAnswerVO, QuestionUserAnswerForm, QuestionUserAnswerQuery } from '@/api/safety/wgzQuestionSave/types';
/** /**
* 查询用户试卷存储列表 * 查询用户试卷存储列表
@ -10,7 +10,7 @@ import { QuestionUserAnswerVO, QuestionUserAnswerForm, QuestionUserAnswerQuery }
export const listQuestionUserAnswer = (query?: QuestionUserAnswerQuery): AxiosPromise<QuestionUserAnswerVO[]> => { export const listQuestionUserAnswer = (query?: QuestionUserAnswerQuery): AxiosPromise<QuestionUserAnswerVO[]> => {
return request({ return request({
url: '/safety/questionUserAnswer/list', url: '/safety/wgzQuestionSave/list',
method: 'get', method: 'get',
params: query params: query
}); });
@ -22,7 +22,7 @@ export const listQuestionUserAnswer = (query?: QuestionUserAnswerQuery): AxiosPr
*/ */
export const getQuestionUserAnswer = (id: string | number): AxiosPromise<QuestionUserAnswerVO> => { export const getQuestionUserAnswer = (id: string | number): AxiosPromise<QuestionUserAnswerVO> => {
return request({ return request({
url: '/safety/questionUserAnswer/' + id, url: '/safety/wgzQuestionSave/' + id,
method: 'get' method: 'get'
}); });
}; };
@ -33,7 +33,7 @@ export const getQuestionUserAnswer = (id: string | number): AxiosPromise<Questio
*/ */
export const addQuestionUserAnswer = (data: QuestionUserAnswerForm) => { export const addQuestionUserAnswer = (data: QuestionUserAnswerForm) => {
return request({ return request({
url: '/safety/questionUserAnswer', url: '/safety/wgzQuestionSave',
method: 'post', method: 'post',
data: data data: data
}); });
@ -45,7 +45,7 @@ export const addQuestionUserAnswer = (data: QuestionUserAnswerForm) => {
*/ */
export const updateQuestionUserAnswer = (data: QuestionUserAnswerForm) => { export const updateQuestionUserAnswer = (data: QuestionUserAnswerForm) => {
return request({ return request({
url: '/safety/questionUserAnswer', url: '/safety/wgzQuestionSave',
method: 'put', method: 'put',
data: data data: data
}); });
@ -57,7 +57,7 @@ export const updateQuestionUserAnswer = (data: QuestionUserAnswerForm) => {
*/ */
export const delQuestionUserAnswer = (id: string | number | Array<string | number>) => { export const delQuestionUserAnswer = (id: string | number | Array<string | number>) => {
return request({ return request({
url: '/safety/questionUserAnswer/' + id, url: '/safety/wgzQuestionSave/' + id,
method: 'delete' method: 'delete'
}); });
}; };
@ -68,7 +68,7 @@ export const delQuestionUserAnswer = (id: string | number | Array<string | numbe
*/ */
export const uploadQuestionUserAnswer = (data: any) => { export const uploadQuestionUserAnswer = (data: any) => {
return request({ return request({
url: '/safety/questionUserAnswer/upload/zip', url: '/safety/wgzQuestionSave/upload/zip',
method: 'post', method: 'post',
data: data data: data
}); });

View File

@ -10,7 +10,7 @@ import { QuestionsCategoryVO, QuestionsCategoryForm, QuestionsCategoryQuery } fr
export const listQuestionsCategory = (query?: QuestionsCategoryQuery): AxiosPromise<QuestionsCategoryVO[]> => { export const listQuestionsCategory = (query?: QuestionsCategoryQuery): AxiosPromise<QuestionsCategoryVO[]> => {
return request({ return request({
url: '/safety/questionsCategory/list', url: '/safety/wzgQuestionCategory/list',
method: 'get', method: 'get',
params: query params: query
}); });
@ -22,7 +22,7 @@ export const listQuestionsCategory = (query?: QuestionsCategoryQuery): AxiosProm
*/ */
export const getQuestionsCategory = (id: string | number): AxiosPromise<QuestionsCategoryVO> => { export const getQuestionsCategory = (id: string | number): AxiosPromise<QuestionsCategoryVO> => {
return request({ return request({
url: '/safety/questionsCategory/' + id, url: '/safety/wzgQuestionCategory' + id,
method: 'get' method: 'get'
}); });
}; };
@ -33,7 +33,7 @@ export const getQuestionsCategory = (id: string | number): AxiosPromise<Question
*/ */
export const addQuestionsCategory = (data: QuestionsCategoryForm) => { export const addQuestionsCategory = (data: QuestionsCategoryForm) => {
return request({ return request({
url: '/safety/questionsCategory', url: '/safety/wzgQuestionCategory',
method: 'post', method: 'post',
data: data data: data
}); });
@ -45,7 +45,7 @@ export const addQuestionsCategory = (data: QuestionsCategoryForm) => {
*/ */
export const updateQuestionsCategory = (data: QuestionsCategoryForm) => { export const updateQuestionsCategory = (data: QuestionsCategoryForm) => {
return request({ return request({
url: '/safety/questionsCategory', url: '/safety/wzgQuestionCategory',
method: 'put', method: 'put',
data: data data: data
}); });
@ -57,7 +57,7 @@ export const updateQuestionsCategory = (data: QuestionsCategoryForm) => {
*/ */
export const delQuestionsCategory = (id: string | number | Array<string | number>) => { export const delQuestionsCategory = (id: string | number | Array<string | number>) => {
return request({ return request({
url: '/safety/questionsCategory/' + id, url: '/safety/wzgQuestionCategory' + id,
method: 'delete' method: 'delete'
}); });
}; };

View File

@ -22,7 +22,7 @@ export const listQuestionsConfig = (query?: QuestionsConfigQuery): AxiosPromise<
*/ */
export const getQuestionsConfig = (id: string | number): AxiosPromise<QuestionsConfigVO> => { export const getQuestionsConfig = (id: string | number): AxiosPromise<QuestionsConfigVO> => {
return request({ return request({
url: '/safety/questionsConfig/' + id, url: '/safety/wzgQuestionsConfiguration/' + id,
method: 'get' method: 'get'
}); });
}; };
@ -45,7 +45,7 @@ export const addQuestionsConfig = (data: QuestionsConfigForm) => {
*/ */
export const updateQuestionsConfig = (data: QuestionsConfigForm) => { export const updateQuestionsConfig = (data: QuestionsConfigForm) => {
return request({ return request({
url: '/safety/questionsConfig', url: '/safety/wzgQuestionsConfiguration',
method: 'put', method: 'put',
data: data data: data
}); });

View File

@ -1,4 +1,5 @@
import request from '@/utils/request-go'; import requestGo from '@/utils/request-go';
import request from '@/utils/request';
import { AxiosPromise } from 'axios'; import { AxiosPromise } from 'axios';
import { SafetyWeeklyReportForm, SafetyWeeklyReportQuery, SafetyWeeklyReportVO } from '@/api/safety/safetyWeeklyReport/types'; import { SafetyWeeklyReportForm, SafetyWeeklyReportQuery, SafetyWeeklyReportVO } from '@/api/safety/safetyWeeklyReport/types';
@ -9,7 +10,7 @@ import { SafetyWeeklyReportForm, SafetyWeeklyReportQuery, SafetyWeeklyReportVO }
*/ */
export const listSafetyWeeklyReport = (query?: SafetyWeeklyReportQuery): AxiosPromise<SafetyWeeklyReportVO[]> => { export const listSafetyWeeklyReport = (query?: SafetyWeeklyReportQuery): AxiosPromise<SafetyWeeklyReportVO[]> => {
return request({ return requestGo({
url: '/zm/api/v1/system/busWeeklySecurityReport/list', url: '/zm/api/v1/system/busWeeklySecurityReport/list',
method: 'get', method: 'get',
params: query params: query
@ -21,9 +22,12 @@ export const listSafetyWeeklyReport = (query?: SafetyWeeklyReportQuery): AxiosPr
* @param id * @param id
*/ */
export const getSafetyWeeklyReport = (id: string | number): AxiosPromise<SafetyWeeklyReportVO> => { export const getSafetyWeeklyReport = (id: string | number): AxiosPromise<SafetyWeeklyReportVO> => {
return request({ return requestGo({
url: '/safety/safetyWeeklyReport/' + id, url: '/zm/api/v1/system/busWeeklySecurityReport/get',
method: 'get' method: 'get',
params: {
id
}
}); });
}; };
@ -32,7 +36,7 @@ export const getSafetyWeeklyReport = (id: string | number): AxiosPromise<SafetyW
* @param data * @param data
*/ */
export const addSafetyWeeklyReport = (data: SafetyWeeklyReportForm) => { export const addSafetyWeeklyReport = (data: SafetyWeeklyReportForm) => {
return request({ return requestGo({
url: '/zm/api/v1/system/busWeeklySecurityReport/add', url: '/zm/api/v1/system/busWeeklySecurityReport/add',
method: 'post', method: 'post',
data: data data: data
@ -56,7 +60,7 @@ export const updateSafetyWeeklyReport = (data: SafetyWeeklyReportForm) => {
* @param id * @param id
*/ */
export const delSafetyWeeklyReport = (id: string | number | Array<string | number>) => { export const delSafetyWeeklyReport = (id: string | number | Array<string | number>) => {
return request({ return requestGo({
url: '/zm/api/v1/system/busWeeklySecurityReport/delete', url: '/zm/api/v1/system/busWeeklySecurityReport/delete',
method: 'delete', method: 'delete',
data: { ids: id } data: { ids: id }

View File

@ -61,3 +61,22 @@ export const delSupplierInput = (id: string | number | Array<string | number>) =
method: 'delete' method: 'delete'
}); });
}; };
//导入供商入库
export const leadingIn = (formData: FormData, projectId) => {
return request({
url: '/supplierInput/supplierInput/import?projectId=' + projectId,
method: 'post',
data: formData,
headers: {
'Content-Type': 'multipart/form-data'
}
});
};
//导入供商出库
export const leadingOut = () => {
return request({
url: '/supplierInput/supplierInput/export',
method: 'post'
});
};

View File

@ -79,3 +79,26 @@ export const landTransferLedgerCount = (id: string | number | Array<string | num
method: 'get' method: 'get'
}); });
}; };
export const addSonLandTransferLedger = (data) => {
return request({
url: '/land/landTransferLedger/children/add',
method: 'post',
data: data
});
};
export const listSonLandTransferLedger = (query) => {
return request({
url: '/land/landTransferLedger/children/list',
method: 'get',
params: query
});
};
// api/yourApiModule.js
export const listallCountValue = (projectId) => {
return request({
url: '/land/landTransferLedger/allCountValue/' + projectId,
method: 'get'
});
};

View File

@ -4,6 +4,11 @@ export interface LandTransferLedgerVO {
*/ */
id: string | number; id: string | number;
/**
* 父级ID
*/
parentId: string | number;
/** /**
* 项目ID * 项目ID
*/ */
@ -83,7 +88,6 @@ export interface LandTransferLedgerVO {
* 下一步策略 * 下一步策略
*/ */
nextStrategy: string; nextStrategy: string;
} }
export interface LandTransferLedgerForm extends BaseEntity { export interface LandTransferLedgerForm extends BaseEntity {
@ -92,6 +96,11 @@ export interface LandTransferLedgerForm extends BaseEntity {
*/ */
id?: string | number; id?: string | number;
/**
* 父级ID
*/
parentId: string | number;
/** /**
* 项目ID * 项目ID
*/ */
@ -171,11 +180,9 @@ export interface LandTransferLedgerForm extends BaseEntity {
* 下一步策略 * 下一步策略
*/ */
nextStrategy?: string; nextStrategy?: string;
} }
export interface LandTransferLedgerQuery extends PageQuery { export interface LandTransferLedgerQuery extends PageQuery {
/** /**
* 项目ID * 项目ID
*/ */
@ -261,6 +268,3 @@ export interface LandTransferLedgerQuery extends PageQuery {
*/ */
params?: any; params?: any;
} }

View File

@ -20,18 +20,20 @@ export const getMenu = (menuId: string | number): AxiosPromise<MenuVO> => {
}; };
// 查询菜单下拉树结构 // 查询菜单下拉树结构
export const treeselect = (): AxiosPromise<MenuTreeOption[]> => { export const treeselect = (params?: any): AxiosPromise<MenuTreeOption[]> => {
return request({ return request({
url: '/system/menu/treeselect', url: '/system/menu/treeselect',
method: 'get' method: 'get',
params
}); });
}; };
// 根据角色ID查询菜单下拉树结构 // 根据角色ID查询菜单下拉树结构
export const roleMenuTreeselect = (roleId: string | number): AxiosPromise<RoleMenuTree> => { export const roleMenuTreeselect = (roleId: string | number, params?: any): AxiosPromise<RoleMenuTree> => {
return request({ return request({
url: '/system/menu/roleMenuTreeselect/' + roleId, url: '/system/menu/roleMenuTreeselect/' + roleId,
method: 'get' method: 'get',
params
}); });
}; };

View File

@ -31,3 +31,20 @@ export function delOss(ossId: string | number | Array<string | number>) {
export function downLoadOss(ossId: { id?: string | number; idList?: string | number | Array<string | number> }, url: string, fileName: string) { export function downLoadOss(ossId: { id?: string | number; idList?: string | number | Array<string | number> }, url: string, fileName: string) {
return download(url, ossId, fileName); return download(url, ossId, fileName);
} }
//识别身份证
export function recognizeidCard(data: any, type: any) {
return request({
url: '/contractor/constructionUser/idCard?idCardSide=' + type,
method: 'post',
data: data
});
}
//识别银行卡
export function recognizeBankCard(data: any) {
return request({
url: '/contractor/constructionUser/bankCard',
method: 'post',
data: data
});
}

View File

@ -147,10 +147,11 @@ export const authUserSelectAll = (data: any) => {
}); });
}; };
// 根据角色ID查询部门树结构 // 根据角色ID查询部门树结构
export const deptTreeSelect = (roleId: string | number): AxiosPromise<RoleDeptTree> => { export const deptTreeSelect = (roleId: string | number, params?) => {
return request({ return request({
url: '/system/role/deptTree/' + roleId, url: '/system/role/deptTree/' + roleId,
method: 'get' method: 'get',
params
}); });
}; };

View File

@ -31,6 +31,7 @@ export interface FlowTaskVO {
version?: string; version?: string;
applyNode?: boolean; applyNode?: boolean;
buttonList?: buttonList[]; buttonList?: buttonList[];
projectName?: string;
} }
export interface buttonList { export interface buttonList {

View File

@ -12,7 +12,8 @@ export default {
businessId: routerJumpVo.businessId, businessId: routerJumpVo.businessId,
type: routerJumpVo.type, type: routerJumpVo.type,
planMonth: routerJumpVo.planMonth, planMonth: routerJumpVo.planMonth,
taskId: routerJumpVo.taskId taskId: routerJumpVo.taskId,
projectName: routerJumpVo.projectName
} }
}); });
} }

View File

@ -4,6 +4,7 @@ export interface RouterJumpVo {
type: string; type: string;
formCustom: string; formCustom: string;
formPath: string; formPath: string;
projectName?: string;
} }
export interface StartProcessBo { export interface StartProcessBo {

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

BIN
src/assets/images/break.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

BIN
src/assets/images/man.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

BIN
src/assets/images/map.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 360 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
src/assets/large/actual.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

BIN
src/assets/large/delay.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

BIN
src/assets/large/plan.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 248 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 652 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 665 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 104 KiB

View File

@ -53,7 +53,7 @@
style="margin-top: 10px" style="margin-top: 10px"
v-for="(file, index) in fileList" v-for="(file, index) in fileList"
:key="file.uid" :key="file.uid"
class="el-upload-list__item upload-list__item-content" class="el-upload-list__item ele-upload-list__item-content"
v-if="autoUpload" v-if="autoUpload"
> >
<el-link :href="`${file.url}`" :underline="false" target="_blank"> <el-link :href="`${file.url}`" :underline="false" target="_blank">
@ -208,6 +208,7 @@ watch(
}); });
} else { } else {
fileList.value = []; fileList.value = [];
return []; return [];
} }
}, },
@ -225,7 +226,12 @@ watch(
); );
// 上传前校检格式和大小 // 上传前校检格式和大小
const handleBeforeUpload = (file: any) => { const handleBeforeUpload = (file: any) => {
if (!validateFile(file)) return false; if (!validateFile(file)) {
if (props.isGo) {
fileList.value = [];
}
return false;
}
proxy?.$modal.loading('正在上传文件,请稍候...'); proxy?.$modal.loading('正在上传文件,请稍候...');
number.value++; number.value++;
return true; return true;
@ -265,7 +271,6 @@ interface UploadFileWithOssId extends UploadFile {
} }
const handleUploadSuccess = (res: any, file: UploadFileWithOssId) => { const handleUploadSuccess = (res: any, file: UploadFileWithOssId) => {
console.log('🚀 ~ handleUploadSuccess ~ res:', res.code);
if (res.code === 200 || res.code === 0) { if (res.code === 200 || res.code === 0) {
console.log('上传成功'); console.log('上传成功');
// 上传成功,不管 data 是否为空 // 上传成功,不管 data 是否为空
@ -276,6 +281,9 @@ const handleUploadSuccess = (res: any, file: UploadFileWithOssId) => {
}); });
} else { } else {
console.log('失败', res); console.log('失败', res);
if (props.isGo) {
fileList.value = [];
}
number.value--; number.value--;
proxy?.$modal.closeLoading(); proxy?.$modal.closeLoading();
@ -299,7 +307,7 @@ const handleChange = (file: any, filelist: any) => {
} }
} }
// 记录 status = 'ready' 的文件 // 记录 status = 'ready' 的文件
if (file.status === 'ready') { if (file.status === 'ready' && !props.isConstruction) {
pendingFiles.value.push(file); pendingFiles.value.push(file);
fileList.value = pendingFiles.value; fileList.value = pendingFiles.value;
} }
@ -310,8 +318,6 @@ const handleChange = (file: any, filelist: any) => {
// 删除文件 // 删除文件
const handleRemove = (file: any, fileList: any) => { const handleRemove = (file: any, fileList: any) => {
console.log(11);
emit('handleRemove', file, fileList); emit('handleRemove', file, fileList);
}; };
@ -329,12 +335,15 @@ const handleDelete = async (index: string | number, type?: string) => {
delOss(index); delOss(index);
fileList.value = fileList.value.filter((f) => f.ossId !== index); fileList.value = fileList.value.filter((f) => f.ossId !== index);
} else { } else {
if (!props.isGo) {
let ossId = fileList.value[index].ossId; let ossId = fileList.value[index].ossId;
delOss(ossId); delOss(ossId);
}
index = parseInt(index as string); index = parseInt(index as string);
fileList.value.splice(index, 1); fileList.value.splice(index, 1);
} }
} finally { } finally {
// fileList.value = [];
emit('handleRemove'); emit('handleRemove');
emit('update:modelValue', listToString(fileList.value)); emit('update:modelValue', listToString(fileList.value));
} }

View File

@ -41,11 +41,12 @@
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { listByIds, delOss } from '@/api/system/oss'; import { listByIds, delOss, recognizeidCard, recognizeBankCard } from '@/api/system/oss';
import { OssVO } from '@/api/system/oss/types'; import { OssVO } from '@/api/system/oss/types';
import { propTypes } from '@/utils/propTypes'; import { propTypes } from '@/utils/propTypes';
import { globalHeaders } from '@/utils/request'; import { globalHeaders } from '@/utils/request';
import { compressAccurately } from 'image-conversion'; import { compressAccurately } from 'image-conversion';
import { bool } from 'vue-types';
const props = defineProps({ const props = defineProps({
modelValue: { modelValue: {
@ -63,24 +64,39 @@ const props = defineProps({
type: Boolean, type: Boolean,
default: true default: true
}, },
isGo: {
type: Boolean,
default: false
},
// 图片上传路径
action: {
type: String,
default: ''
},
// 是否支持压缩,默认否 // 是否支持压缩,默认否
compressSupport: { compressSupport: {
type: Boolean, type: Boolean,
default: false default: false
}, },
// 压缩目标大小单位KB。默认300KB以上文件才压缩并压缩至300KB以内 // 压缩目标大小单位KB。默认300KB以上文件才压缩并压缩至300KB以内
compressTargetSize: propTypes.number.def(300) compressTargetSize: propTypes.number.def(300),
idCardType: {
type: String,
default: ''
}
}); });
const { proxy } = getCurrentInstance() as ComponentInternalInstance; const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const emit = defineEmits(['update:modelValue']); const emit = defineEmits(['update:modelValue', 'success']);
const number = ref(0); const number = ref(0);
const uploadList = ref<any[]>([]); const uploadList = ref<any[]>([]);
const dialogImageUrl = ref(''); const dialogImageUrl = ref('');
const dialogVisible = ref(false); const dialogVisible = ref(false);
const baseUrl = import.meta.env.VITE_APP_BASE_API; const baseUrl = props.isGo ? import.meta.env.VITE_APP_BASE_API_GO : import.meta.env.VITE_APP_BASE_API;
const uploadImgUrl = ref(baseUrl + '/resource/oss/upload'); // 上传的图片服务器地址 const uploadImgUrl = ref(baseUrl + (props.action ? props.action : '/resource/oss/upload')); // 上传的图片服务器地址
console.log('🚀 ~ uploadImgUrl:', uploadImgUrl.value, baseUrl, props.action);
const headers = ref(globalHeaders()); const headers = ref(globalHeaders());
const fileList = ref<any[]>([]); const fileList = ref<any[]>([]);
@ -121,7 +137,7 @@ watch(
); );
/** 上传前loading加载 */ /** 上传前loading加载 */
const handleBeforeUpload = (file: any) => { const handleBeforeUpload = async (file: any) => {
let isImg = false; let isImg = false;
if (props.fileType.length) { if (props.fileType.length) {
let fileExtension = ''; let fileExtension = '';
@ -169,10 +185,32 @@ const handleExceed = () => {
}; };
// 上传成功回调 // 上传成功回调
const handleUploadSuccess = (res: any, file: UploadFile) => { const handleUploadSuccess = async (res: any, file: UploadFile) => {
if (res.code === 200) { if (res.code === 200) {
uploadList.value.push({ name: res.data.fileName, url: res.data.url, ossId: res.data.ossId }); uploadList.value.push({ name: res.data.fileName, url: res.data.url, ossId: res.data.ossId });
uploadedSuccessfully(); uploadedSuccessfully();
if (props.idCardType) {
const formData = new FormData();
formData.append('file', file.raw); // 假设后端接收的字段名为file
if (props.idCardType === 'front' || props.idCardType === 'back') {
const res = await recognizeidCard(formData, props.idCardType);
if (res.code === 200) {
proxy?.$modal.msgSuccess('身份证识别成功');
emit('success', res.data);
} else {
proxy?.$modal.msgError('身份证识别失败');
}
}
if (props.idCardType === 'bank') {
const res = await recognizeBankCard(formData);
if (res.code === 200) {
proxy?.$modal.msgSuccess('银行卡识别成功');
emit('success', res.data);
} else {
proxy?.$modal.msgError('银行卡识别失败');
}
}
}
} else { } else {
number.value--; number.value--;
proxy?.$modal.closeLoading(); proxy?.$modal.closeLoading();
@ -201,6 +239,7 @@ const uploadedSuccessfully = () => {
fileList.value = fileList.value.filter((f) => f.url !== undefined).concat(uploadList.value); fileList.value = fileList.value.filter((f) => f.url !== undefined).concat(uploadList.value);
uploadList.value = []; uploadList.value = [];
number.value = 0; number.value = 0;
console.log(listToString(fileList.value));
emit('update:modelValue', listToString(fileList.value)); emit('update:modelValue', listToString(fileList.value));
proxy?.$modal.closeLoading(); proxy?.$modal.closeLoading();
} }

View File

@ -1,4 +1,5 @@
<template> <template>
<div>
<div style="display: flex; justify-content: space-between"> <div style="display: flex; justify-content: space-between">
<div> <div>
<el-button v-if="submitButtonShow" :loading="props.buttonLoading" type="info" @click="submitForm('draft')">暂存</el-button> <el-button v-if="submitButtonShow" :loading="props.buttonLoading" type="info" @click="submitForm('draft')">暂存</el-button>
@ -11,6 +12,8 @@
<el-button style="float: right" @click="goBack()">返回</el-button> <el-button style="float: right" @click="goBack()">返回</el-button>
</div> </div>
</div> </div>
<h3 v-if="props.projectName" class="text-lg font-semibold text-gray-800">项目名称{{ props.projectName }}</h3>
</div>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { propTypes } from '@/utils/propTypes'; import { propTypes } from '@/utils/propTypes';
@ -22,7 +25,8 @@ const props = defineProps({
status: propTypes.string.def(''), status: propTypes.string.def(''),
pageType: propTypes.string.def(''), pageType: propTypes.string.def(''),
buttonLoading: propTypes.bool.def(false), buttonLoading: propTypes.bool.def(false),
id: propTypes.string.def('') || propTypes.number.def() id: propTypes.string.def('') || propTypes.number.def(),
projectName: propTypes.string.def('')
}); });
const emits = defineEmits(['submitForm', 'approvalVerifyOpen', 'handleApprovalRecord']); const emits = defineEmits(['submitForm', 'approvalVerifyOpen', 'handleApprovalRecord']);
//暂存,提交 //暂存,提交

View File

@ -170,8 +170,6 @@ onMounted(() => {
//分页 //分页
const getWaitingList = () => { const getWaitingList = () => {
pageByTaskWait({ pageNum: 1, pageSize: 10 }).then((resp) => { pageByTaskWait({ pageNum: 1, pageSize: 10 }).then((resp) => {
console.log(resp);
total.value = resp.total; total.value = resp.total;
}); });
}; };

View File

@ -51,7 +51,7 @@ const instance = axios.create({
}); });
import sign from '@/utils/sign.js'; import sign from '@/utils/sign.js';
import { getGoToken } from '@/utils/auth'; import { getGoToken } from '@/utils/auth';
const BASE_URL = 'http://58.17.134.85:8919'; const BASE_URL = 'http://58.17.134.85:8920';
const acceptConfig = ['.zip', '.rar']; //文件 const acceptConfig = ['.zip', '.rar']; //文件
// const acceptConfig = { // const acceptConfig = {
// // image: ['gif', 'jpg', 'jpeg', 'png', 'bmp', 'webp'], // // image: ['gif', 'jpg', 'jpeg', 'png', 'bmp', 'webp'],

View File

@ -0,0 +1,244 @@
<template>
<div class="up-img" v-if="limit > 1">
<el-upload
v-model:file-list="dataFileList"
:limit="limit"
:action="action"
:multiple="multiple"
:list-type="listType"
:on-success="handleAvatarSuccess"
:on-preview="handlePictureCardPreview"
:on-remove="handleRemove"
:on-exceed="handleExceed"
:before-upload="beforeAvatarUpload"
:data="dataParam"
:name="fileName"
:headers="headers"
ref="elUploadRef"
>
<el-icon><Plus /></el-icon>
</el-upload>
<el-dialog v-model="dialogVisible">
<img w-full :src="dialogImageUrl" alt="Preview Image" />
</el-dialog>
</div>
<div v-else>
<div class="up-img">
<el-upload
ref="elUploadRef"
v-model:file-list="dataFileList"
:limit="limit"
class="avatar-uploader"
:action="action"
:show-file-list="false"
:on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload"
:on-preview="handlePictureCardPreview"
:on-remove="handleRemove"
:on-exceed="handleExceed"
:data="dataParam"
:name="fileName"
:headers="headers"
>
<img v-if="imageUrl" :src="imageUrl" class="avatar" />
<el-icon v-else class="avatar-uploader-icon"><Plus /></el-icon>
</el-upload>
</div>
</div>
</template>
<script lang="ts">
import { defineComponent, ref, computed, getCurrentInstance, reactive, toRefs } from 'vue';
import type { UploadProps, UploadUserFile, UploadInstance } from 'element-plus';
import { ElMessage, genFileId } from 'element-plus';
import _ from 'lodash';
import sign from '@/utils/sign.js';
export default defineComponent({
name: 'uploadImg',
props: {
action: { type: String, default: '' }, //上传地址
name: { type: String, default: 'file' }, //上传文件类型
limit: { type: Number, default: 1 }, //上传最大数量
method: { type: String, default: 'post' }, //设置上传请求方法
multiple: { type: Boolean, default: true }, //是否支持多选文件
showFileList: { type: Boolean, default: true }, //是否显示已上传文件列表
drag: { type: Boolean, default: false }, //是否启用拖拽上传
accept: { type: String, default: '' }, //接受上传的文件类型格式
disabled: { type: Boolean, default: false }, //是否是否禁止上传
listType: { type: String, default: 'picture-card' }, //是否启用拖拽上传
uploadSize: { type: Number, default: 100 }, //上传文件大小
modelValue: {
type: Array,
default: function () {
return [];
}
},
uploadData: { type: Object, default: {} },
fileName: {
type: String,
default: 'file'
}
},
setup(props, { emit }) {
const baseURL: string | undefined | boolean = import.meta.env.VITE_APP_BASE_API_GO;
const { proxy } = getCurrentInstance() as any;
const token = proxy?.$cache.local.get('goToken');
const dialogImageUrl = ref('');
const elUploadRef = ref<UploadInstance>();
const dialogVisible = ref(false);
const imageUrl = ref('');
const state = reactive({
fileName: props.fileName
});
const headers = reactive({
Authorization: 'Bearer ' + token,
...sign({ token: token, ...props.uploadData })
});
const dataParam = reactive({
token: token,
...props.uploadData
});
let uploadedFile: Array<any> = [];
const dataFileList = computed({
get: () => {
let value: Array<UploadUserFile> = (props.modelValue as UploadUserFile[]) || [];
if (value.length) {
value.map((item: UploadUserFile) => {
if (item.url) {
// item.url = proxy.getUpFileUrl(item.url);
}
return item;
});
}
uploadedFile = _.cloneDeep(value);
return value;
},
set: (val) => {
emit('uploadData', val);
}
});
const beforeAvatarUpload: UploadProps['beforeUpload'] = (rawFile) => {
if (rawFile.type.substring(0, 5) !== 'image') {
ElMessage.error('请上传图片文件');
return false;
} else if (rawFile.size / 1024 / 1024 > props.uploadSize) {
ElMessage.error('上传文件超过' + props.uploadSize + 'M');
return false;
}
return true;
};
const handleRemove: UploadProps['onRemove'] = (file) => {
uploadedFile.splice(
uploadedFile.findIndex((item: any) => item.uid === file.uid),
1
);
setDataFileList();
};
const handleExceed = (files) => {
elUploadRef.value!.clearFiles();
const file = files[0];
file.uid = genFileId();
elUploadRef.value!.handleStart(file);
elUploadRef.value!.submit();
// ElMessage.error('最多可上传' + props.limit + '个文件,已超出最大限制数。');
};
const handlePictureCardPreview: UploadProps['onPreview'] = (uploadFile) => {
dialogImageUrl.value = uploadFile.url!;
dialogVisible.value = true;
};
const handleAvatarSuccess: UploadProps['onSuccess'] = (response, uploadFile) => {
emit('uploadImageAuth', response); //返回认证的数据
if (props.limit == 1) {
uploadedFile = [];
imageUrl.value = URL.createObjectURL(uploadFile.raw!);
}
uploadedFile = uploadedFile.filter((item: UploadUserFile) => {
return item.raw?.uid != uploadFile.raw?.uid;
});
if (response.code === 0) {
// if (response.data.name) {
// uploadedFile.push({
// // 单图
// name: response.data.name,
// url: response.data.path,
// fileType: response.data.type,
// size: response.data.size,
// });
// } else {
// console.log(response.data);
// if (response.data.list) {
// uploadedFile.push({
// // 多图
// name: response.data.list[0].name,
// url: response.data.list[0].path,
// fileType: response.data.list[0].type,
// size: response.data.list[0].size,
// });
// return;
// }
uploadedFile.push({
// 多图
name: response.data[0].name,
url: response.data[0].path,
fileType: response.data[0].type,
size: response.data[0].size
});
// }
setDataFileList();
} else {
ElMessage.error(response.message);
imageUrl.value = '';
}
emit('uploadImageAuth1', uploadedFile); //返回认证的数据
};
const setDataFileList = () => {
dataFileList.value = uploadedFile;
};
return {
dataFileList,
imageUrl,
baseURL,
dialogVisible,
dialogImageUrl,
handleExceed,
beforeAvatarUpload,
handleRemove,
handlePictureCardPreview,
handleAvatarSuccess,
dataParam,
headers,
elUploadRef,
...toRefs(state)
};
}
});
</script>
<style scoped>
.up-img :deep(.avatar-uploader .avatar) {
width: 178px;
height: 178px;
display: block;
}
.up-img :deep(.avatar-uploader .el-upload) {
border: 1px dashed var(--el-border-color);
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
transition: var(--el-transition-duration-fast);
}
.up-img :deep(.avatar-uploader .el-upload:hover) {
border-color: var(--el-color-primary);
}
.up-img :deep(.el-icon.avatar-uploader-icon) {
font-size: 28px;
color: #8c939d;
width: 178px;
height: 178px;
text-align: center;
}
</style>

View File

@ -7,6 +7,7 @@
<template #title> <template #title>
<span class="menu-title" :title="hasTitle(onlyOneChild.meta.title)">{{ onlyOneChild.meta.title }}</span> <span class="menu-title" :title="hasTitle(onlyOneChild.meta.title)">{{ onlyOneChild.meta.title }}</span>
<span class="bage" v-if="onlyOneChild.meta?.title == '我的待办' && total > 0">{{ total }}</span> <span class="bage" v-if="onlyOneChild.meta?.title == '我的待办' && total > 0">{{ total }}</span>
<span class="bage" v-if="onlyOneChild.meta?.title == '我的抄送' && totalChao > 0">{{ totalChao }}</span>
</template> </template>
</el-menu-item> </el-menu-item>
</app-link> </app-link>
@ -16,7 +17,7 @@
<template v-if="item.meta" #title> <template v-if="item.meta" #title>
<svg-icon :icon-class="item.meta ? item.meta.icon : ''" /> <svg-icon :icon-class="item.meta ? item.meta.icon : ''" />
<span class="menu-title" :title="hasTitle(item.meta?.title)">{{ item.meta?.title }}</span> <span class="menu-title" :title="hasTitle(item.meta?.title)">{{ item.meta?.title }}</span>
<!-- <span class="bage" v-if="item.meta?.title == '我的任务' && total >= 0">{{ total }}</span> --> <span class="bage" v-if="item.meta?.title == '我的任务' && total + totalChao > 0">{{ total + totalChao }}</span>
</template> </template>
<sidebar-item <sidebar-item
@ -36,7 +37,7 @@ import { isExternal } from '@/utils/validate';
import AppLink from './Link.vue'; import AppLink from './Link.vue';
import { getNormalPath } from '@/utils/ruoyi'; import { getNormalPath } from '@/utils/ruoyi';
import { RouteRecordRaw } from 'vue-router'; import { RouteRecordRaw } from 'vue-router';
import { pageByTaskWait } from '@/api/workflow/task'; import { pageByTaskWait, pageByTaskCopy } from '@/api/workflow/task';
import useUserStore from '@/store/modules/user'; import useUserStore from '@/store/modules/user';
import useNoticeStore from '@/store/modules/notice'; import useNoticeStore from '@/store/modules/notice';
const userStore = useUserStore(); const userStore = useUserStore();
@ -56,21 +57,28 @@ const props = defineProps({
} }
}); });
const total = ref(0); const total = ref(0);
const totalChao = ref(0);
onMounted(() => { onMounted(() => {
if (onlyOneChild.value.meta?.title == '我的待办' || props.item.meta?.title == '我的任务') { if (onlyOneChild.value.meta?.title == '我的待办' || props.item.meta?.title == '我的任务') {
console.log(44444444);
getWaitingList(); getWaitingList();
getChaoList();
}
if (onlyOneChild.value.meta?.title == '我的抄送') {
getChaoList();
} }
}); });
// 获取我的待办 // 获取我的待办
//分页
const getWaitingList = () => { const getWaitingList = () => {
pageByTaskWait({ pageNum: 1, pageSize: 10 }).then((resp) => { pageByTaskWait({ pageNum: 1, pageSize: 10 }).then((resp) => {
console.log(resp);
total.value = resp.total; total.value = resp.total;
}); });
}; };
// 获取我的抄送
const getChaoList = () => {
pageByTaskCopy({ pageNum: 1, pageSize: 10 }).then((resp) => {
totalChao.value = resp.total;
});
};
const onlyOneChild = ref<any>({}); const onlyOneChild = ref<any>({});
const hasOneShowingChild = (parent: RouteRecordRaw, children?: RouteRecordRaw[]) => { const hasOneShowingChild = (parent: RouteRecordRaw, children?: RouteRecordRaw[]) => {
@ -123,9 +131,7 @@ const hasTitle = (title: string | undefined): string => {
watch( watch(
() => noticeStore.state.value.notices, () => noticeStore.state.value.notices,
(newVal) => { (newVal) => {
if (onlyOneChild.value.meta?.title == '我的待办') { if (onlyOneChild.value.meta?.title == '我的待办' || props.item.meta?.title == '我的任务') {
console.log(121212121);
let time = setTimeout(() => { let time = setTimeout(() => {
getWaitingList(); getWaitingList();
clearTimeout(time); clearTimeout(time);

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