Browse Source

Merge branch 'release-sy-v1.0.0-dev-merge' into 'dev'

Release sy v1.0.0 dev merge

See merge request project/water/shuili-vue!163
sy-water-data-board-ui
潘裕艺 5 months ago
parent
commit
cb78c14f22
  1. 2
      .env.production
  2. 6
      package.json
  3. 60
      src/api/reservoir/index.js
  4. 37
      src/assets/css/dialog.scss
  5. 1
      src/assets/icons/svg/Frame.svg
  6. 1
      src/assets/icons/svg/action.svg
  7. 1
      src/assets/icons/svg/board.svg
  8. 1
      src/assets/icons/svg/calc.svg
  9. 1
      src/assets/icons/svg/car.svg
  10. 1
      src/assets/icons/svg/champion.svg
  11. 1
      src/assets/icons/svg/clock.svg
  12. 1
      src/assets/icons/svg/clound.svg
  13. 1
      src/assets/icons/svg/clound2.svg
  14. 1
      src/assets/icons/svg/clound3.svg
  15. 1
      src/assets/icons/svg/clound4.svg
  16. 1
      src/assets/icons/svg/clound5.svg
  17. 1
      src/assets/icons/svg/compass.svg
  18. 1
      src/assets/icons/svg/debug.svg
  19. 1
      src/assets/icons/svg/device.svg
  20. 1
      src/assets/icons/svg/file1.svg
  21. 1
      src/assets/icons/svg/file2.svg
  22. 1
      src/assets/icons/svg/file3.svg
  23. 1
      src/assets/icons/svg/file4.svg
  24. 1
      src/assets/icons/svg/file5.svg
  25. 1
      src/assets/icons/svg/file6.svg
  26. 1
      src/assets/icons/svg/file7.svg
  27. 1
      src/assets/icons/svg/file8.svg
  28. 1
      src/assets/icons/svg/fire.svg
  29. 1
      src/assets/icons/svg/gift.svg
  30. 1
      src/assets/icons/svg/home.svg
  31. 1
      src/assets/icons/svg/light.svg
  32. 1
      src/assets/icons/svg/lightning.svg
  33. 1
      src/assets/icons/svg/link2.svg
  34. 1
      src/assets/icons/svg/local.svg
  35. 1
      src/assets/icons/svg/mail.svg
  36. 1
      src/assets/icons/svg/menu.svg
  37. 1
      src/assets/icons/svg/networld.svg
  38. 1
      src/assets/icons/svg/relationship.svg
  39. 1
      src/assets/icons/svg/rocket.svg
  40. 1
      src/assets/icons/svg/safe.svg
  41. 1
      src/assets/icons/svg/safe2.svg
  42. 1
      src/assets/icons/svg/safe3.svg
  43. 1
      src/assets/icons/svg/save.svg
  44. 1
      src/assets/icons/svg/server1.svg
  45. 1
      src/assets/icons/svg/server2.svg
  46. 1
      src/assets/icons/svg/share.svg
  47. 1
      src/assets/icons/svg/store.svg
  48. 1
      src/assets/icons/svg/time-circle.svg
  49. 1
      src/assets/icons/svg/trumpet.svg
  50. 1
      src/assets/icons/svg/trumpet2.svg
  51. 1
      src/assets/icons/svg/wallet.svg
  52. BIN
      src/assets/image/right.png
  53. BIN
      src/assets/image/warning.png
  54. BIN
      src/assets/logo/logo-shuili2.png
  55. 7
      src/assets/styles/element-ui.scss
  56. 30
      src/assets/styles/index.scss
  57. 7
      src/assets/styles/sidebar.scss
  58. 9
      src/components/Editor/index.vue
  59. 132
      src/components/HeaderSearch/index.vue
  60. 2
      src/components/ParagraphTree/index.vue
  61. 3
      src/components/myUpload/index.vue
  62. 8
      src/layout/components/Navbar.vue
  63. 3
      src/layout/components/Sidebar/Logo.vue
  64. 92
      src/layout/components/TagsView/ScrollPane.vue
  65. 36
      src/mixins/calcTableHeight.js
  66. 2
      src/permission.js
  67. 2
      src/router/index.js
  68. 20
      src/store/modules/permission.js
  69. 7
      src/utils/index.js
  70. 789
      src/views/aiSupervision/fourPredictions/warnInfo/components/Tree.vue
  71. 162
      src/views/aiSupervision/waterSetting/runScene/detail/index.vue
  72. 1
      src/views/aiSupervision/waterSetting/runScene/layerTree/index.js
  73. 45
      src/views/aiSupervision/waterSetting/runScene/layerTree/index.vue
  74. 18
      src/views/components/SyMixMap.vue
  75. 6
      src/views/dike/engineeringCondition/dikeBaseInfo copy/index.vue
  76. 28
      src/views/dike/engineeringCondition/dikeBaseInfo copy/options/projectManagement.vue
  77. 49
      src/views/dike/engineeringCondition/dikeBaseInfo/index.vue
  78. 5
      src/views/dike/engineeringCondition/dikeBaseInfo/options/managementSystem.vue
  79. 5
      src/views/dike/engineeringCondition/dikeBaseInfo/options/managementSystemFxzz.vue
  80. 5
      src/views/dike/engineeringCondition/dikeBaseInfo/options/managementSystemFzr.vue
  81. 5
      src/views/dike/engineeringCondition/dikeCompare/components/managementSystem.vue
  82. 5
      src/views/dike/engineeringCondition/dikeCompare/components/managementSystemFxzz.vue
  83. 5
      src/views/dike/engineeringCondition/dikeCompare/components/managementSystemFzr.vue
  84. 2
      src/views/dike/engineeringCondition/identificationPlate/components/markForm.vue
  85. 8
      src/views/dike/engineeringCondition/identificationPlate/index.vue
  86. 4
      src/views/dike/managementGuarantee/archivesManagement/index.vue
  87. 8
      src/views/dike/managementGuarantee/fundGuarantee/index.vue
  88. 8
      src/views/dike/managementGuarantee/standardizationConstruction/listPage/index.vue
  89. 37
      src/views/dike/runManage/dangerWeakProject/inspectGroup/index.vue
  90. 15
      src/views/dike/runManage/dangerWeakProject/inspectItemsSetting/index.vue
  91. 13
      src/views/dike/runManage/dangerWeakProject/inspectItemsSetting/itemDetails.vue
  92. 192
      src/views/dike/runManage/dangerWeakProject/inspectProjects/index.vue
  93. 168
      src/views/dike/runManage/dangerWeakProject/inspectReport/index.vue
  94. 9
      src/views/dike/runManage/dangerWeakProject/inspectStatistics/index.vue
  95. 196
      src/views/dike/runManage/dangerWeakProject/inspectTasks/index.vue
  96. 11
      src/views/dike/runManage/dangerWeakProject/inspectTasks/taskDetails.vue
  97. 2
      src/views/dike/runManage/enginerring/components/GaoDeMap.vue
  98. 74
      src/views/dike/runManage/enginerring/inspectionItems/index.vue
  99. 194
      src/views/dike/runManage/enginerring/inspectionPlan/index.vue
  100. 312
      src/views/dike/runManage/enginerring/inspectionRecords/index.vue

2
.env.production

@ -2,5 +2,5 @@
ENV = 'admin'
# 若依管理系统/生产环境
VUE_APP_BASE_API = '/api'
VUE_APP_BASE_API = '/sgcyy-slgcyxgl/thinking'
VUE_APP_FAST_BASE_URL = 'http://192.168.1.20:9080/'

6
package.json

@ -63,6 +63,8 @@
"jspdf": "^2.5.1",
"jsplumb": "^2.15.6",
"jszip": "^3.0.0",
"lodash-es": "^4.17.21",
"mitt": "^3.0.1",
"node-jsencrypt": "^1.0.0",
"normalize.css": "7.0.0",
"nprogress": "0.2.0",
@ -113,9 +115,9 @@
"less": "^4.1.1",
"less-loader": "^7.0.0",
"lint-staged": "8.1.5",
"node-sass": "^6.0.1",
"plop": "2.3.0",
"runjs": "4.3.2",
"sass": "^1.70.0",
"sass-loader": "^10.2.0",
"script-ext-html-webpack-plugin": "^2.1.5",
"script-loader": "0.7.2",
@ -132,4 +134,4 @@
"> 1%",
"last 2 versions"
]
}
}

60
src/api/reservoir/index.js

@ -0,0 +1,60 @@
import request from '@/utils/request'
// 获取场景列表
export const getSceneListData = async (data) => {
return request({
url: `/map/scene/sceneList`,
method: 'post',
data: {
pageNum: 1,
pageSize: 10,
data: {
id: '',
name: data.name
},
params: {
order: 'asc',
orderBy: 'pub_date'
}
}
});
};
// 根据id获取图层树
export const getLayerData = async (sceneId) => {
return request({
url: `/map/scene/getLayerTree/${sceneId}`,
method: 'get'
});
};
// 水库基础信息详情
export const getReservoirBaseDetailData = (id) =>{
return request({
url: `/sk/base/${id}`,
method: 'get'
})
}
// 水库特征信息详情
export const getReservoirRsppDetailData = (id) =>{
return request({
url: `/sk/rspp/${id}`,
method: 'get'
})
}
// 水库实时监测--监测站树数据
export const getReservoirMonitorTreeData = (id) =>{
return request({
url: `/sk/??`,
method: 'get'
})
}
// 水库实时监测--降雨量等详情
export const getReservoirRainDetailData = (id) =>{
return request({
url: `/sk/??`,
method: 'get'
})
}

37
src/assets/css/dialog.scss

@ -1,24 +1,23 @@
::v-deep {
.el-dialog {
// margin-top: 2vh !important;
// height: 680px;
// overflow-y: auto;
.content {
display: flex;
flex-direction: column;
align-items: center;
.margin-top {
width: 95%;
border-left: 1px solid #f0f0f0;
border-right: 1px solid #f0f0f0;
}
::v-deep .el-dialog {
// margin-top: 2vh !important;
// height: 680px;
// overflow-y: auto;
.content {
display: flex;
flex-direction: column;
align-items: center;
.margin-top {
width: 95%;
border-left: 1px solid #f0f0f0;
border-right: 1px solid #f0f0f0;
}
}
.el-dialog__title {
font-weight: 700;
font-size: 28px;
}
}
.el-dialog__title {
font-weight: 700;
font-size: 28px;
}
.draLine {
width: 100%;
border: 2px solid #000;
@ -28,4 +27,4 @@
color: #000;
font-size: 20px;
font-weight: 700;
}
}

1
src/assets/icons/svg/Frame.svg

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="24" height="24" viewBox="0 0 24 24"><defs><clipPath id="master_svg0_0_11148"><rect x="0" y="0" width="24" height="24" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_0_11148)"><g><path d="M11.90625,16.5C13.7695,16.5,15.2812,14.9883,15.2812,13.125C15.2812,11.26172,13.7695,9.75,11.90625,9.75C10.04297,9.75,8.53125,11.26172,8.53125,13.125C8.53125,14.9883,10.04297,16.5,11.90625,16.5C11.90625,16.5,11.90625,16.5,11.90625,16.5ZM11.90625,11.25C12.94219,11.25,13.7812,12.08906,13.7812,13.125C13.7812,14.1609,12.94219,15,11.90625,15C10.87031,15,10.03125,14.1609,10.03125,13.125C10.03125,12.08906,10.87031,11.25,11.90625,11.25C11.90625,11.25,11.90625,11.25,11.90625,11.25ZM19.5,6C19.5,6,18.8414,6,18.8414,6C18.8414,6,18.0047,3.1664060000000003,18.0047,3.1664060000000003C17.910899999999998,2.845313,17.618000000000002,2.625,17.2852,2.625C17.2852,2.625,6.714840000000001,2.625,6.714840000000001,2.625C6.37969,2.625,6.08672,2.845313,5.99531,3.1664060000000003C5.99531,3.1664060000000003,5.15859,6,5.15859,6C5.15859,6,4.5,6,4.5,6C4.085156,6,3.75,6.33516,3.75,6.75C3.75,6.75,3.75,7.40625,3.75,7.40625C3.75,7.50938,3.834375,7.59375,3.9375,7.59375C3.9375,7.59375,5.01094,7.59375,5.01094,7.59375C5.01094,7.59375,6.128909999999999,20.6883,6.128909999999999,20.6883C6.16172,21.0773,6.4875,21.375,6.87656,21.375C6.87656,21.375,16.9359,21.375,16.9359,21.375C17.325,21.375,17.6508,21.0773,17.6836,20.6883C17.6836,20.6883,18.8016,7.59375,18.8016,7.59375C18.8016,7.59375,20.0625,7.59375,20.0625,7.59375C20.1656,7.59375,20.25,7.50938,20.25,7.40625C20.25,7.40625,20.25,6.75,20.25,6.75C20.25,6.33516,19.9148,6,19.5,6C19.5,6,19.5,6,19.5,6ZM7.34531,4.21875C7.34531,4.21875,16.6547,4.21875,16.6547,4.21875C16.6547,4.21875,17.1797,6,17.1797,6C17.1797,6,6.82031,6,6.82031,6C6.82031,6,7.34531,4.21875,7.34531,4.21875C7.34531,4.21875,7.34531,4.21875,7.34531,4.21875ZM16.1625,19.7812C16.1625,19.7812,7.65,19.7812,7.65,19.7812C7.65,19.7812,6.60938,7.59375,6.60938,7.59375C6.60938,7.59375,17.2008,7.59375,17.2008,7.59375C17.2008,7.59375,16.1625,19.7812,16.1625,19.7812C16.1625,19.7812,16.1625,19.7812,16.1625,19.7812C16.1625,19.7812,16.1625,19.7812,16.1625,19.7812Z" fill="#000000" fill-opacity="1"/></g></g></svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

1
src/assets/icons/svg/action.svg

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 17 KiB

1
src/assets/icons/svg/board.svg

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="24" height="24" viewBox="0 0 24 24"><defs><clipPath id="master_svg0_0_10895"><rect x="0" y="0" width="24" height="24" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_0_10895)"><g><path d="M6.5625,17.625C6.5625,17.625,8.4375,17.625,8.4375,17.625C8.54063,17.625,8.625,17.540599999999998,8.625,17.4375C8.625,17.4375,8.625,6.5625,8.625,6.5625C8.625,6.459375,8.54063,6.375,8.4375,6.375C8.4375,6.375,6.5625,6.375,6.5625,6.375C6.459375,6.375,6.375,6.459375,6.375,6.5625C6.375,6.5625,6.375,17.4375,6.375,17.4375C6.375,17.540599999999998,6.459375,17.625,6.5625,17.625C6.5625,17.625,6.5625,17.625,6.5625,17.625ZM11.0625,11.0625C11.0625,11.0625,12.9375,11.0625,12.9375,11.0625C13.04063,11.0625,13.125,10.97813,13.125,10.875C13.125,10.875,13.125,6.5625,13.125,6.5625C13.125,6.459375,13.04063,6.375,12.9375,6.375C12.9375,6.375,11.0625,6.375,11.0625,6.375C10.95937,6.375,10.875,6.459375,10.875,6.5625C10.875,6.5625,10.875,10.875,10.875,10.875C10.875,10.97813,10.95937,11.0625,11.0625,11.0625C11.0625,11.0625,11.0625,11.0625,11.0625,11.0625ZM15.5625,12.75C15.5625,12.75,17.4375,12.75,17.4375,12.75C17.540599999999998,12.75,17.625,12.66563,17.625,12.5625C17.625,12.5625,17.625,6.5625,17.625,6.5625C17.625,6.459375,17.540599999999998,6.375,17.4375,6.375C17.4375,6.375,15.5625,6.375,15.5625,6.375C15.45938,6.375,15.375,6.459375,15.375,6.5625C15.375,6.5625,15.375,12.5625,15.375,12.5625C15.375,12.66563,15.45938,12.75,15.5625,12.75C15.5625,12.75,15.5625,12.75,15.5625,12.75Z" fill="#000000" fill-opacity="1"/></g><g><path d="M20.625,2.625C20.625,2.625,3.375,2.625,3.375,2.625C2.960156,2.625,2.625,2.960156,2.625,3.375C2.625,3.375,2.625,20.625,2.625,20.625C2.625,21.0398,2.960156,21.375,3.375,21.375C3.375,21.375,20.625,21.375,20.625,21.375C21.0398,21.375,21.375,21.0398,21.375,20.625C21.375,20.625,21.375,3.375,21.375,3.375C21.375,2.960156,21.0398,2.625,20.625,2.625C20.625,2.625,20.625,2.625,20.625,2.625ZM19.6875,19.6875C19.6875,19.6875,4.3125,19.6875,4.3125,19.6875C4.3125,19.6875,4.3125,4.3125,4.3125,4.3125C4.3125,4.3125,19.6875,4.3125,19.6875,4.3125C19.6875,4.3125,19.6875,19.6875,19.6875,19.6875C19.6875,19.6875,19.6875,19.6875,19.6875,19.6875Z" fill="#000000" fill-opacity="1"/></g></g></svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

1
src/assets/icons/svg/calc.svg

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 7.3 KiB

1
src/assets/icons/svg/car.svg

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 7.4 KiB

1
src/assets/icons/svg/champion.svg

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="24" height="24" viewBox="0 0 24 24"><defs><clipPath id="master_svg0_0_10701"><rect x="0" y="0" width="24" height="24" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_0_10701)"><g><path d="M20.3438,3.75C20.3438,3.75,18.1875,3.75,18.1875,3.75C18.1875,3.75,18.1875,2.8125,18.1875,2.8125C18.1875,2.709375,18.103099999999998,2.625,18,2.625C18,2.625,6,2.625,6,2.625C5.89687,2.625,5.8125,2.709375,5.8125,2.8125C5.8125,2.8125,5.8125,3.75,5.8125,3.75C5.8125,3.75,3.65625,3.75,3.65625,3.75C3.086719,3.75,2.625,4.21172,2.625,4.78125C2.625,4.78125,2.625,8.25,2.625,8.25C2.625,10.16484,4.03125,11.75625,5.86406,12.04688C6.22734,14.7703,8.41406,16.9148,11.15625,17.2148C11.15625,17.2148,11.15625,19.6805,11.15625,19.6805C11.15625,19.6805,6.5625,19.6805,6.5625,19.6805C6.14766,19.6805,5.8125,20.0156,5.8125,20.4305C5.8125,20.4305,5.8125,21.1875,5.8125,21.1875C5.8125,21.2906,5.89687,21.375,6,21.375C6,21.375,18,21.375,18,21.375C18.103099999999998,21.375,18.1875,21.2906,18.1875,21.1875C18.1875,21.1875,18.1875,20.4305,18.1875,20.4305C18.1875,20.0156,17.8523,19.6805,17.4375,19.6805C17.4375,19.6805,12.8438,19.6805,12.8438,19.6805C12.8438,19.6805,12.8438,17.2148,12.8438,17.2148C15.5859,16.9148,17.7727,14.7703,18.1359,12.04688C19.9688,11.75625,21.375,10.16484,21.375,8.25C21.375,8.25,21.375,4.78125,21.375,4.78125C21.375,4.21172,20.9133,3.75,20.3438,3.75C20.3438,3.75,20.3438,3.75,20.3438,3.75ZM4.3125,8.25C4.3125,8.25,4.3125,5.4375,4.3125,5.4375C4.3125,5.4375,5.8125,5.4375,5.8125,5.4375C5.8125,5.4375,5.8125,10.30313,5.8125,10.30313C4.94297,10.02656,4.3125,9.21094,4.3125,8.25C4.3125,8.25,4.3125,8.25,4.3125,8.25ZM16.5,11.25C16.5,12.40078,16.052300000000002,13.4859,15.2367,14.2992C14.4211,15.1148,13.3383,15.5625,12.1875,15.5625C12.1875,15.5625,11.8125,15.5625,11.8125,15.5625C10.66172,15.5625,9.57656,15.1148,8.76328,14.2992C7.94766,13.4836,7.5,12.40078,7.5,11.25C7.5,11.25,7.5,4.3125,7.5,4.3125C7.5,4.3125,16.5,4.3125,16.5,4.3125C16.5,4.3125,16.5,11.25,16.5,11.25C16.5,11.25,16.5,11.25,16.5,11.25ZM19.6875,8.25C19.6875,9.21094,19.057,10.02656,18.1875,10.30313C18.1875,10.30313,18.1875,5.4375,18.1875,5.4375C18.1875,5.4375,19.6875,5.4375,19.6875,5.4375C19.6875,5.4375,19.6875,8.25,19.6875,8.25C19.6875,8.25,19.6875,8.25,19.6875,8.25Z" fill="#262626" fill-opacity="1"/></g></g></svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

1
src/assets/icons/svg/clock.svg

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="24" height="24" viewBox="0 0 24 24"><defs><clipPath id="master_svg0_0_10777"><rect x="0" y="0" width="24" height="24" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_0_10777)"><g><path d="M12,1.5C6.20156,1.5,1.5,6.20156,1.5,12C1.5,17.7984,6.20156,22.5,12,22.5C17.7984,22.5,22.5,17.7984,22.5,12C22.5,6.20156,17.7984,1.5,12,1.5C12,1.5,12,1.5,12,1.5ZM12,20.7188C7.18594,20.7188,3.28125,16.8141,3.28125,12C3.28125,7.18594,7.18594,3.28125,12,3.28125C16.8141,3.28125,20.7188,7.18594,20.7188,12C20.7188,16.8141,16.8141,20.7188,12,20.7188C12,20.7188,12,20.7188,12,20.7188Z" fill="#262626" fill-opacity="1"/></g><g><path d="M16.09453,14.96719C16.09453,14.96719,12.75234,12.55078,12.75234,12.55078C12.75234,12.55078,12.75234,6.75,12.75234,6.75C12.75234,6.646875,12.66797,6.5625,12.56484,6.5625C12.56484,6.5625,11.4375,6.5625,11.4375,6.5625C11.3343749,6.5625,11.25,6.646875,11.25,6.75C11.25,6.75,11.25,13.20469,11.25,13.20469C11.25,13.26563,11.2781247,13.32188,11.3273434,13.35703C11.3273434,13.35703,15.2039,16.1836,15.2039,16.1836C15.28828,16.244529999999997,15.405470000000001,16.22578,15.4664,16.14375C15.4664,16.14375,16.13671,15.22969,16.13671,15.22969C16.19765,15.14297,16.1789,15.02578,16.09453,14.96719C16.09453,14.96719,16.09453,14.96719,16.09453,14.96719C16.09453,14.96719,16.09453,14.96719,16.09453,14.96719Z" fill="#262626" fill-opacity="1"/></g></g></svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

1
src/assets/icons/svg/clound.svg

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="24" height="24" viewBox="0 0 24 24"><defs><clipPath id="master_svg0_0_10616"><rect x="0" y="0" width="24" height="24" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_0_10616)"><g><path d="M19.0172,9.813279999999999C17.9438,6.98203,15.2086,4.96875,12.0047,4.96875C8.80078,4.96875,6.06563,6.97969,4.99219,9.81094C2.98359,10.338280000000001,1.5,12.166409999999999,1.5,14.34375C1.5,16.93355,3.59766,19.03125,6.18516,19.03125C6.18516,19.03125,17.8148,19.03125,17.8148,19.03125C20.4023,19.03125,22.5,16.93355,22.5,14.34375C22.5,12.17109,21.0211,10.342970000000001,19.0172,9.813279999999999C19.0172,9.813279999999999,19.0172,9.813279999999999,19.0172,9.813279999999999ZM19.868,16.399250000000002C19.3195,16.94765,18.5906,17.24995,17.8148,17.24995C17.8148,17.24995,6.18516,17.24995,6.18516,17.24995C5.40937,17.24995,4.68047,16.94765,4.13203,16.399250000000002C3.58359,15.85075,3.28125,15.11955,3.28125,14.34375C3.28125,13.6875,3.49453,13.07109,3.89531,12.55547C4.28672,12.05625,4.8375,11.692969999999999,5.44453,11.53125C5.44453,11.53125,6.33281,11.29922,6.33281,11.29922C6.33281,11.29922,6.65859,10.441410000000001,6.65859,10.441410000000001C6.86016,9.907029999999999,7.14141,9.40781,7.49531,8.95547C7.84453,8.505469999999999,8.25938,8.11406,8.72344,7.78594C9.68672,7.1085899999999995,10.82109,6.75,12.0047,6.75C13.1883,6.75,14.3227,7.1085899999999995,15.2859,7.78594C15.7523,8.11406,16.1648,8.50781,16.5141,8.95547C16.868000000000002,9.40781,17.1492,9.909379999999999,17.3508,10.441410000000001C17.3508,10.441410000000001,17.6742,11.29687,17.6742,11.29687C17.6742,11.29687,18.5602,11.53125,18.5602,11.53125C19.8328,11.871089999999999,20.7188,13.02656,20.7188,14.34375C20.7188,15.11955,20.4164,15.85075,19.868,16.399250000000002C19.868,16.399250000000002,19.868,16.399250000000002,19.868,16.399250000000002Z" fill="#262626" fill-opacity="1"/></g></g></svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

1
src/assets/icons/svg/clound2.svg

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="24" height="24" viewBox="0 0 24 24"><defs><clipPath id="master_svg0_0_10618"><rect x="0" y="0" width="24" height="24" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_0_10618)"><g><path d="M16.5,10.453125C16.5,10.453125,7.5,10.453125,7.5,10.453125C7.396875,10.453125,7.3125,10.5375,7.3125,10.640625C7.3125,10.640625,7.3125,20.062505,7.3125,20.062505C7.3125,20.165625,7.396875,20.250005,7.5,20.250005C7.5,20.250005,16.5,20.250005,16.5,20.250005C16.60312,20.250005,16.6875,20.165625,16.6875,20.062505C16.6875,20.062505,16.6875,10.640625,16.6875,10.640625C16.6875,10.5375,16.60312,10.453125,16.5,10.453125C16.5,10.453125,16.5,10.453125,16.5,10.453125ZM8.8125,11.953125C8.8125,11.953125,15.1875,11.953125,15.1875,11.953125C15.1875,11.953125,15.1875,14.695315,15.1875,14.695315C15.1875,14.695315,8.8125,14.695315,8.8125,14.695315C8.8125,14.695315,8.8125,11.953125,8.8125,11.953125C8.8125,11.953125,8.8125,11.953125,8.8125,11.953125ZM15.1875,18.750005C15.1875,18.750005,8.8125,18.750005,8.8125,18.750005C8.8125,18.750005,8.8125,16.007815,8.8125,16.007815C8.8125,16.007815,15.1875,16.007815,15.1875,16.007815C15.1875,16.007815,15.1875,18.750005,15.1875,18.750005C15.1875,18.750005,15.1875,18.750005,15.1875,18.750005Z" fill="#262626" fill-opacity="1"/></g><g><path d="M9.9375,17.53125C9.9375,17.730162,10.0165178,17.92093,10.15717,18.06158C10.297822,18.20223,10.488588,18.28125,10.6875,18.28125C10.886412,18.28125,11.07718,18.20223,11.21783,18.06158C11.35848,17.92093,11.4375,17.730162,11.4375,17.53125C11.4375,17.332338,11.35848,17.141572,11.21783,17.000919C11.07718,16.8602671,10.886412,16.78125,10.6875,16.78125C10.488588,16.78125,10.297822,16.8602671,10.15717,17.000919C10.0165178,17.141572,9.9375,17.332338,9.9375,17.53125C9.9375,17.53125,9.9375,17.53125,9.9375,17.53125Z" fill="#262626" fill-opacity="1"/></g><g><path d="M9.9375,13.359375C9.9375,13.558287,10.0165178,13.749055,10.15717,13.889705C10.297822,14.030355,10.488588,14.109375,10.6875,14.109375C10.886412,14.109375,11.07718,14.030355,11.21783,13.889705C11.35848,13.749055,11.4375,13.558287,11.4375,13.359375C11.4375,13.160463,11.35848,12.969697,11.21783,12.829044C11.07718,12.6883921,10.886412,12.609375,10.6875,12.609375C10.488588,12.609375,10.297822,12.6883921,10.15717,12.829044C10.0165178,12.969697,9.9375,13.160463,9.9375,13.359375C9.9375,13.359375,9.9375,13.359375,9.9375,13.359375Z" fill="#262626" fill-opacity="1"/></g><g><path d="M19.0173,8.646094999999999C17.9438,5.812495,15.2087,3.796875,12.0048,3.796875C8.80085,3.796875,6.06569,5.810155,4.99226,8.643745C2.97429,9.175775,1.4883501,11.020305,1.5000688296,13.209365C1.5141313,15.656275,3.41257,17.646075,5.80319,17.859375C5.91335,17.868775,6.0071,17.781975,6.0071,17.671875C6.0071,17.671875,6.0071,16.256275000000002,6.0071,16.256275000000002C6.0071,16.162475,5.93679,16.082774999999998,5.84304,16.071075C5.21022,15.991375,4.61257,15.714875,4.15319,15.262475C3.59069,14.711675,3.28132,13.971075,3.28132,13.185935C3.28132,12.529685,3.4946,11.910935,3.89538,11.395305C4.28679,10.893745,4.8375699999999995,10.530465,5.444599999999999,10.371085C5.444599999999999,10.371085,6.33288,10.136714999999999,6.33288,10.136714999999999C6.33288,10.136714999999999,6.65866,9.276555,6.65866,9.276555C6.86022,8.742185,7.14147,8.240625,7.49538,7.7882750000000005C7.8446,7.338274999999999,8.25944,6.9445250000000005,8.723510000000001,6.616405C9.68679,5.939064999999999,10.82116,5.580465,12.0048,5.580465C13.1883,5.580465,14.3227,5.939064999999999,15.286,6.6187450000000005C15.7524,6.946875,16.1649,7.340625,16.5141,7.790625C16.868000000000002,8.242965,17.1493,8.744525,17.3508,9.278905C17.3508,9.278905,17.6743,10.136714999999999,17.6743,10.136714999999999C17.6743,10.136714999999999,18.5602,10.371085,18.5602,10.371085C19.8305,10.708585,20.7188,11.864055,20.7188,13.183585C20.7188,13.971075,20.4094,14.709375,19.8469,15.260175C19.3899,15.710175,18.7946,15.989075,18.1618,16.068775000000002C18.068,16.080475,18.0001,16.160175000000002,18.0001,16.253875C18.0001,16.253875,18.0001,17.671875,18.0001,17.671875C18.0001,17.781975,18.0962,17.868775,18.2063,17.859375C20.5899,17.643774999999998,22.4837,15.656275,22.5001,13.214055C22.5141,11.024995,21.0305,9.180465,19.0173,8.646094999999999C19.0173,8.646094999999999,19.0173,8.646094999999999,19.0173,8.646094999999999C19.0173,8.646094999999999,19.0173,8.646094999999999,19.0173,8.646094999999999Z" fill="#262626" fill-opacity="1"/></g></g></svg>

After

Width:  |  Height:  |  Size: 4.4 KiB

1
src/assets/icons/svg/clound3.svg

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="24" height="24" viewBox="0 0 24 24"><defs><clipPath id="master_svg0_0_10623"><rect x="0" y="0" width="24" height="24" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_0_10623)"><g><path d="M12.1470534375,10.757617175C12.0720534375,10.661523475,11.9267434375,10.661523475,11.8517434375,10.757617175C11.8517434375,10.757617175,9.2267463375,14.078706875,9.2267463375,14.078706875C9.1306526375,14.200586874999999,9.2173710375,14.381056875,9.3744024375,14.381056875C9.3744024375,14.381056875,11.1064334375,14.381056875,11.1064334375,14.381056875C11.1064334375,14.381056875,11.1064334375,20.062306875,11.1064334375,20.062306875C11.1064334375,20.165426875,11.1908034375,20.249806875,11.2939334375,20.249806875C11.2939334375,20.249806875,12.7001834375,20.249806875,12.7001834375,20.249806875C12.8033034375,20.249806875,12.8876834375,20.165426875,12.8876834375,20.062306875C12.8876834375,20.062306875,12.8876834375,14.383396874999999,12.8876834375,14.383396874999999C12.8876834375,14.383396874999999,14.6244034375,14.383396874999999,14.6244034375,14.383396874999999C14.781433437499999,14.383396874999999,14.868143437499999,14.202926875,14.7720534375,14.081056875C14.7720534375,14.081056875,12.1470534375,10.757617175,12.1470534375,10.757617175C12.1470534375,10.757617175,12.1470534375,10.757617175,12.1470534375,10.757617175Z" fill="#262626" fill-opacity="1"/></g><g><path d="M19.0172,8.594529999999999C17.9438,5.76328,15.2086,3.75,12.0047,3.75C8.80078,3.75,6.06563,5.76094,4.99219,8.59219C2.98359,9.119530000000001,1.5,10.95,1.5,13.125C1.5,15.7148,3.59766,17.8125,6.18516,17.8125C6.18516,17.8125,7.125,17.8125,7.125,17.8125C7.22813,17.8125,7.3125,17.728099999999998,7.3125,17.625C7.3125,17.625,7.3125,16.2188,7.3125,16.2188C7.3125,16.1156,7.22813,16.0312,7.125,16.0312C7.125,16.0312,6.18516,16.0312,6.18516,16.0312C5.39531,16.0312,4.652340000000001,15.7172,4.09922,15.1477C3.54844,14.5805,3.25547,13.8164,3.28125,13.02422C3.30234,12.40547,3.51328,11.82422,3.89531,11.33438C4.28672,10.83516,4.83516,10.47187,5.44453,10.31016C5.44453,10.31016,6.33281,10.07812,6.33281,10.07812C6.33281,10.07812,6.65859,9.22031,6.65859,9.22031C6.86016,8.68594,7.14141,8.186720000000001,7.49531,7.73438C7.84453,7.28437,8.25938,6.89297,8.72344,6.56484C9.68672,5.8875,10.82109,5.52891,12.0047,5.52891C13.1883,5.52891,14.3227,5.8875,15.2859,6.56484C15.7523,6.89297,16.1648,7.28672,16.5141,7.73438C16.868000000000002,8.186720000000001,17.1492,8.688279999999999,17.3508,9.22031C17.3508,9.22031,17.6742,10.07578,17.6742,10.07578C17.6742,10.07578,18.5602,10.31016,18.5602,10.31016C19.8305,10.652339999999999,20.7188,11.80781,20.7188,13.125C20.7188,13.9008,20.4164,14.632,19.868,15.1805C19.3195,15.7289,18.5906,16.0312,17.8148,16.0312C17.8148,16.0312,16.875,16.0312,16.875,16.0312C16.771900000000002,16.0312,16.6875,16.1156,16.6875,16.2188C16.6875,16.2188,16.6875,17.625,16.6875,17.625C16.6875,17.728099999999998,16.771900000000002,17.8125,16.875,17.8125C16.875,17.8125,17.8148,17.8125,17.8148,17.8125C20.4023,17.8125,22.5,15.7148,22.5,13.125C22.5,10.95234,21.0211,9.124220000000001,19.0172,8.594529999999999C19.0172,8.594529999999999,19.0172,8.594529999999999,19.0172,8.594529999999999Z" fill="#262626" fill-opacity="1"/></g></g></svg>

After

Width:  |  Height:  |  Size: 3.2 KiB

1
src/assets/icons/svg/clound4.svg

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="24" height="24" viewBox="0 0 24 24"><defs><clipPath id="master_svg0_0_10626"><rect x="0" y="0" width="24" height="24" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_0_10626)"><g><path d="M14.6244034375,16.553910000000002C14.6244034375,16.553910000000002,12.8876834375,16.553910000000002,12.8876834375,16.553910000000002C12.8876834375,16.553910000000002,12.8876834375,10.875,12.8876834375,10.875C12.8876834375,10.7718751,12.8033034375,10.6875,12.7001834375,10.6875C12.7001834375,10.6875,11.2939334375,10.6875,11.2939334375,10.6875C11.1908034375,10.6875,11.1064334375,10.7718751,11.1064334375,10.875C11.1064334375,10.875,11.1064334375,16.553910000000002,11.1064334375,16.553910000000002C11.1064334375,16.553910000000002,9.3744024375,16.553910000000002,9.3744024375,16.553910000000002C9.2173710375,16.553910000000002,9.1306526375,16.73438,9.2267463375,16.85625C9.2267463375,16.85625,11.8517434375,20.17735,11.8517434375,20.17735C11.9267434375,20.27345,12.0720534375,20.27345,12.1470534375,20.17735C12.1470534375,20.17735,14.7720534375,16.85625,14.7720534375,16.85625C14.868143437499999,16.73438,14.781433437499999,16.553910000000002,14.6244034375,16.553910000000002C14.6244034375,16.553910000000002,14.6244034375,16.553910000000002,14.6244034375,16.553910000000002C14.6244034375,16.553910000000002,14.6244034375,16.553910000000002,14.6244034375,16.553910000000002Z" fill="#262626" fill-opacity="1"/></g><g><path d="M19.0172,8.594529999999999C17.9438,5.76328,15.2086,3.75,12.0047,3.75C8.80078,3.75,6.06563,5.76094,4.99219,8.59219C2.98359,9.119530000000001,1.5,10.95,1.5,13.125C1.5,15.7148,3.59766,17.8125,6.18516,17.8125C6.18516,17.8125,7.125,17.8125,7.125,17.8125C7.22813,17.8125,7.3125,17.728099999999998,7.3125,17.625C7.3125,17.625,7.3125,16.2188,7.3125,16.2188C7.3125,16.1156,7.22813,16.0312,7.125,16.0312C7.125,16.0312,6.18516,16.0312,6.18516,16.0312C5.39531,16.0312,4.652340000000001,15.7172,4.09922,15.1477C3.54844,14.5805,3.25547,13.8164,3.28125,13.02422C3.30234,12.40547,3.51328,11.82422,3.89531,11.33438C4.28672,10.83516,4.83516,10.47187,5.44453,10.31016C5.44453,10.31016,6.33281,10.07812,6.33281,10.07812C6.33281,10.07812,6.65859,9.22031,6.65859,9.22031C6.86016,8.68594,7.14141,8.186720000000001,7.49531,7.73438C7.84453,7.28437,8.25938,6.89297,8.72344,6.56484C9.68672,5.8875,10.82109,5.52891,12.0047,5.52891C13.1883,5.52891,14.3227,5.8875,15.2859,6.56484C15.7523,6.89297,16.1648,7.28672,16.5141,7.73438C16.868000000000002,8.186720000000001,17.1492,8.688279999999999,17.3508,9.22031C17.3508,9.22031,17.6742,10.07578,17.6742,10.07578C17.6742,10.07578,18.5602,10.31016,18.5602,10.31016C19.8305,10.652339999999999,20.7188,11.80781,20.7188,13.125C20.7188,13.9008,20.4164,14.632,19.868,15.1805C19.3195,15.7289,18.5906,16.0312,17.8148,16.0312C17.8148,16.0312,16.875,16.0312,16.875,16.0312C16.771900000000002,16.0312,16.6875,16.1156,16.6875,16.2188C16.6875,16.2188,16.6875,17.625,16.6875,17.625C16.6875,17.728099999999998,16.771900000000002,17.8125,16.875,17.8125C16.875,17.8125,17.8148,17.8125,17.8148,17.8125C20.4023,17.8125,22.5,15.7148,22.5,13.125C22.5,10.95234,21.0211,9.124220000000001,19.0172,8.594529999999999C19.0172,8.594529999999999,19.0172,8.594529999999999,19.0172,8.594529999999999Z" fill="#262626" fill-opacity="1"/></g></g></svg>

After

Width:  |  Height:  |  Size: 3.3 KiB

1
src/assets/icons/svg/clound5.svg

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.4 KiB

1
src/assets/icons/svg/compass.svg

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="21" height="21" viewBox="0 0 21 21"><g><path d="M10.5,0C4.70156,0,0,4.70156,0,10.5C0,16.2984,4.70156,21,10.5,21C16.2984,21,21,16.2984,21,10.5C21,4.70156,16.2984,0,10.5,0C10.5,0,10.5,0,10.5,0ZM10.5,19.2188C5.68594,19.2188,1.78125,15.3141,1.78125,10.5C1.78125,5.68594,5.68594,1.78125,10.5,1.78125C15.3141,1.78125,19.2188,5.68594,19.2188,10.5C19.2188,15.3141,15.3141,19.2188,10.5,19.2188C10.5,19.2188,10.5,19.2188,10.5,19.2188Z" fill="#000000" fill-opacity="1"/></g></svg>

After

Width:  |  Height:  |  Size: 585 B

1
src/assets/icons/svg/debug.svg

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.1 KiB

1
src/assets/icons/svg/device.svg

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="24" height="24" viewBox="0 0 24 24"><defs><clipPath id="master_svg0_0_10718"><rect x="0" y="0" width="24" height="24" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_0_10718)"><g><path d="M21.375,7.08516C21.375,7.08516,18.375,8.8125,18.375,8.8125C18.375,8.8125,18.375,5.25,18.375,5.25C18.375,4.422656,17.7023,3.75,16.875,3.75C16.875,3.75,3,3.75,3,3.75C2.172656,3.75,1.5,4.422656,1.5,5.25C1.5,5.25,1.5,18.75,1.5,18.75C1.5,19.5773,2.172656,20.25,3,20.25C3,20.25,16.875,20.25,16.875,20.25C17.7023,20.25,18.375,19.5773,18.375,18.75C18.375,18.75,18.375,15.1875,18.375,15.1875C18.375,15.1875,21.375,16.9148,21.375,16.9148C21.8742,17.2031,22.5,16.8422,22.5,16.268C22.5,16.268,22.5,7.73438,22.5,7.73438C22.5,7.15781,21.8742,6.79687,21.375,7.08516C21.375,7.08516,21.375,7.08516,21.375,7.08516ZM16.6875,18.5625C16.6875,18.5625,3.1875,18.5625,3.1875,18.5625C3.1875,18.5625,3.1875,5.4375,3.1875,5.4375C3.1875,5.4375,16.6875,5.4375,16.6875,5.4375C16.6875,5.4375,16.6875,18.5625,16.6875,18.5625C16.6875,18.5625,16.6875,18.5625,16.6875,18.5625ZM20.8125,14.6484C20.8125,14.6484,18.375,13.24688,18.375,13.24688C18.375,13.24688,18.375,10.755469999999999,18.375,10.755469999999999C18.375,10.755469999999999,20.8125,9.35156,20.8125,9.35156C20.8125,9.35156,20.8125,14.6484,20.8125,14.6484C20.8125,14.6484,20.8125,14.6484,20.8125,14.6484Z" fill="#262626" fill-opacity="1"/></g><g><path d="M4.875,8.4375C4.875,8.4375,7.5,8.4375,7.5,8.4375C7.60313,8.4375,7.6875,8.35312,7.6875,8.25C7.6875,8.25,7.6875,7.125,7.6875,7.125C7.6875,7.021875,7.60313,6.9375,7.5,6.9375C7.5,6.9375,4.875,6.9375,4.875,6.9375C4.771875,6.9375,4.6875,7.021875,4.6875,7.125C4.6875,7.125,4.6875,8.25,4.6875,8.25C4.6875,8.35312,4.771875,8.4375,4.875,8.4375C4.875,8.4375,4.875,8.4375,4.875,8.4375Z" fill="#262626" fill-opacity="1"/></g></g></svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

1
src/assets/icons/svg/file1.svg

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="24" height="24" viewBox="0 0 24 24"><defs><clipPath id="master_svg0_0_10569"><rect x="0" y="0" width="24" height="24" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_0_10569)"><g><path d="M6.9375,5.859375C6.834375,5.859375,6.75,5.94375,6.75,6.046875C6.75,6.046875,6.75,7.171875,6.75,7.171875C6.75,7.2749950000000005,6.834375,7.359375,6.9375,7.359375C6.9375,7.359375,15.9375,7.359375,15.9375,7.359375C16.04062,7.359375,16.125,7.2749950000000005,16.125,7.171875C16.125,7.171875,16.125,6.046875,16.125,6.046875C16.125,5.94375,16.04062,5.859375,15.9375,5.859375C15.9375,5.859375,6.9375,5.859375,6.9375,5.859375C6.9375,5.859375,6.9375,5.859375,6.9375,5.859375ZM11.25,9.234375C11.25,9.234375,6.9375,9.234375,6.9375,9.234375C6.834375,9.234375,6.75,9.318745,6.75,9.421875C6.75,9.421875,6.75,10.546875,6.75,10.546875C6.75,10.650005,6.834375,10.734375,6.9375,10.734375C6.9375,10.734375,11.25,10.734375,11.25,10.734375C11.35313,10.734375,11.4375,10.650005,11.4375,10.546875C11.4375,10.546875,11.4375,9.421875,11.4375,9.421875C11.4375,9.318745,11.35313,9.234375,11.25,9.234375C11.25,9.234375,11.25,9.234375,11.25,9.234375Z" fill="#262626" fill-opacity="1"/></g><g><path d="M10.125,19.96875C10.125,19.96875,4.875,19.96875,4.875,19.96875C4.875,19.96875,4.875,3.46875,4.875,3.46875C4.875,3.46875,18,3.46875,18,3.46875C18,3.46875,18,10.96875,18,10.96875C18,11.07187,18.084400000000002,11.15625,18.1875,11.15625C18.1875,11.15625,19.5,11.15625,19.5,11.15625C19.6031,11.15625,19.6875,11.07187,19.6875,10.96875C19.6875,10.96875,19.6875,2.53125,19.6875,2.53125C19.6875,2.116406,19.3523,1.78125,18.9375,1.78125C18.9375,1.78125,3.9375,1.78125,3.9375,1.78125C3.522656,1.78125,3.1875,2.116406,3.1875,2.53125C3.1875,2.53125,3.1875,20.90625,3.1875,20.90625C3.1875,21.32105,3.522656,21.65625,3.9375,21.65625C3.9375,21.65625,10.125,21.65625,10.125,21.65625C10.22813,21.65625,10.3125,21.57185,10.3125,21.46875C10.3125,21.46875,10.3125,20.15625,10.3125,20.15625C10.3125,20.05315,10.22813,19.96875,10.125,19.96875C10.125,19.96875,10.125,19.96875,10.125,19.96875Z" fill="#262626" fill-opacity="1"/></g><g><path d="M20.4375,17.90625C20.4375,17.90625,17.0625,17.90625,17.0625,17.90625C17.0625,17.90625,17.0625,17.04844,17.0625,17.04844C18.147660000000002,16.725,18.9375,15.72187,18.9375,14.53125C18.9375,13.08047,17.76328,11.90625,16.3125,11.90625C14.86172,11.90625,13.6875,13.08047,13.6875,14.53125C13.6875,15.719529999999999,14.47734,16.725,15.5625,17.04844C15.5625,17.04844,15.5625,17.90625,15.5625,17.90625C15.5625,17.90625,12.1875,17.90625,12.1875,17.90625C11.98125,17.90625,11.8125,18.075,11.8125,18.28125C11.8125,18.28125,11.8125,21.84375,11.8125,21.84375C11.8125,22.05005,11.98125,22.21875,12.1875,22.21875C12.1875,22.21875,20.4375,22.21875,20.4375,22.21875C20.64375,22.21875,20.8125,22.05005,20.8125,21.84375C20.8125,21.84375,20.8125,18.28125,20.8125,18.28125C20.8125,18.075,20.64375,17.90625,20.4375,17.90625C20.4375,17.90625,20.4375,17.90625,20.4375,17.90625ZM15.14062,14.53125C15.14062,13.88437,15.66563,13.35937,16.3125,13.35937C16.95937,13.35937,17.48438,13.88437,17.48438,14.53125C17.48438,15.17812,16.95937,15.70313,16.3125,15.70313C15.66563,15.70313,15.14062,15.17812,15.14062,14.53125C15.14062,14.53125,15.14062,14.53125,15.14062,14.53125ZM19.35938,20.76563C19.35938,20.76563,13.26562,20.76563,13.26562,20.76563C13.26562,20.76563,13.26562,19.35937,13.26562,19.35937C13.26562,19.35937,19.35938,19.35937,19.35938,19.35937C19.35938,19.35937,19.35938,20.76563,19.35938,20.76563C19.35938,20.76563,19.35938,20.76563,19.35938,20.76563Z" fill="#262626" fill-opacity="1"/></g></g></svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

1
src/assets/icons/svg/file2.svg

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="24" height="24" viewBox="0 0 24 24"><defs><clipPath id="master_svg0_0_10573"><rect x="0" y="0" width="24" height="24" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_0_10573)"><g><path d="M16.125,7.3125C16.125,7.3125,16.125,6.1875,16.125,6.1875C16.125,6.084375,16.04062,6,15.9375,6C15.9375,6,6.9375,6,6.9375,6C6.834375,6,6.75,6.084375,6.75,6.1875C6.75,6.1875,6.75,7.3125,6.75,7.3125C6.75,7.4156200000000005,6.834375,7.5,6.9375,7.5C6.9375,7.5,15.9375,7.5,15.9375,7.5C16.04062,7.5,16.125,7.4156200000000005,16.125,7.3125C16.125,7.3125,16.125,7.3125,16.125,7.3125ZM6.9375,9.375C6.834375,9.375,6.75,9.45937,6.75,9.5625C6.75,9.5625,6.75,10.6875,6.75,10.6875C6.75,10.79063,6.834375,10.875,6.9375,10.875C6.9375,10.875,11.25,10.875,11.25,10.875C11.35313,10.875,11.4375,10.79063,11.4375,10.6875C11.4375,10.6875,11.4375,9.5625,11.4375,9.5625C11.4375,9.45937,11.35313,9.375,11.25,9.375C11.25,9.375,6.9375,9.375,6.9375,9.375C6.9375,9.375,6.9375,9.375,6.9375,9.375ZM15.75,12.09375C12.95391,12.09375,10.6875,14.36016,10.6875,17.1562C10.6875,19.9523,12.95391,22.2188,15.75,22.2188C18.5461,22.2188,20.8125,19.9523,20.8125,17.1562C20.8125,14.36016,18.5461,12.09375,15.75,12.09375C15.75,12.09375,15.75,12.09375,15.75,12.09375ZM18.2695,19.675800000000002C17.596899999999998,20.348399999999998,16.70156,20.7188,15.75,20.7188C14.79844,20.7188,13.903120000000001,20.348399999999998,13.23047,19.675800000000002C12.55781,19.0031,12.1875,18.107799999999997,12.1875,17.1562C12.1875,16.204700000000003,12.55781,15.30937,13.23047,14.63672C13.903120000000001,13.96406,14.79844,13.59375,15.75,13.59375C16.70156,13.59375,17.596899999999998,13.96406,18.2695,14.63672C18.9422,15.30937,19.3125,16.204700000000003,19.3125,17.1562C19.3125,18.107799999999997,18.9422,19.0031,18.2695,19.675800000000002C18.2695,19.675800000000002,18.2695,19.675800000000002,18.2695,19.675800000000002Z" fill="#262626" fill-opacity="1"/></g><g><path d="M17.83632572845459,15.375C17.83632572845459,15.375,16.79804572845459,15.375,16.79804572845459,15.375C16.73710572845459,15.375,16.68085572845459,15.4031247,16.64570572845459,15.4523435C16.64570572845459,15.4523435,15.15742572845459,17.51016,15.15742572845459,17.51016C15.15742572845459,17.51016,14.61601572845459,16.7625,14.61601572845459,16.7625C14.58086572845459,16.71328,14.52461572845459,16.68516,14.46367572845459,16.68516C14.46367572845459,16.68516,13.43008272845459,16.68516,13.43008272845459,16.68516C13.27773882845459,16.68516,13.18867642845459,16.85859,13.27773872845459,16.98281C13.27773872845459,16.98281,15.00742572845459,19.37578,15.00742572845459,19.37578C15.08242572845459,19.47891,15.23476572845459,19.47891,15.30976572845459,19.37578C15.30976572845459,19.37578,17.986325728454588,15.672657,17.986325728454588,15.672657C18.07773572845459,15.548438,17.988665728454592,15.375,17.83632572845459,15.375C17.83632572845459,15.375,17.83632572845459,15.375,17.83632572845459,15.375Z" fill="#262626" fill-opacity="1"/></g><g><path d="M10.3125,19.96875C10.3125,19.96875,4.875,19.96875,4.875,19.96875C4.875,19.96875,4.875,3.46875,4.875,3.46875C4.875,3.46875,18,3.46875,18,3.46875C18,3.46875,18,11.53125,18,11.53125C18,11.63437,18.084400000000002,11.71875,18.1875,11.71875C18.1875,11.71875,19.5,11.71875,19.5,11.71875C19.6031,11.71875,19.6875,11.63437,19.6875,11.53125C19.6875,11.53125,19.6875,2.53125,19.6875,2.53125C19.6875,2.116406,19.3523,1.78125,18.9375,1.78125C18.9375,1.78125,3.9375,1.78125,3.9375,1.78125C3.522656,1.78125,3.1875,2.116406,3.1875,2.53125C3.1875,2.53125,3.1875,20.90625,3.1875,20.90625C3.1875,21.32105,3.522656,21.65625,3.9375,21.65625C3.9375,21.65625,10.3125,21.65625,10.3125,21.65625C10.41563,21.65625,10.5,21.57185,10.5,21.46875C10.5,21.46875,10.5,20.15625,10.5,20.15625C10.5,20.05315,10.41563,19.96875,10.3125,19.96875C10.3125,19.96875,10.3125,19.96875,10.3125,19.96875Z" fill="#262626" fill-opacity="1"/></g></g></svg>

After

Width:  |  Height:  |  Size: 3.9 KiB

1
src/assets/icons/svg/file3.svg

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="24" height="24" viewBox="0 0 24 24"><defs><clipPath id="master_svg0_0_10583"><rect x="0" y="0" width="24" height="24" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_0_10583)"><g><path d="M16.125,7.3125C16.125,7.3125,16.125,6.1875,16.125,6.1875C16.125,6.084375,16.04062,6,15.9375,6C15.9375,6,6.9375,6,6.9375,6C6.834375,6,6.75,6.084375,6.75,6.1875C6.75,6.1875,6.75,7.3125,6.75,7.3125C6.75,7.4156200000000005,6.834375,7.5,6.9375,7.5C6.9375,7.5,15.9375,7.5,15.9375,7.5C16.04062,7.5,16.125,7.4156200000000005,16.125,7.3125C16.125,7.3125,16.125,7.3125,16.125,7.3125ZM6.9375,9.375C6.834375,9.375,6.75,9.45937,6.75,9.5625C6.75,9.5625,6.75,10.6875,6.75,10.6875C6.75,10.79063,6.834375,10.875,6.9375,10.875C6.9375,10.875,11.25,10.875,11.25,10.875C11.35313,10.875,11.4375,10.79063,11.4375,10.6875C11.4375,10.6875,11.4375,9.5625,11.4375,9.5625C11.4375,9.45937,11.35313,9.375,11.25,9.375C11.25,9.375,6.9375,9.375,6.9375,9.375C6.9375,9.375,6.9375,9.375,6.9375,9.375ZM15.75,12.09375C12.95391,12.09375,10.6875,14.36016,10.6875,17.1562C10.6875,19.9523,12.95391,22.2188,15.75,22.2188C18.5461,22.2188,20.8125,19.9523,20.8125,17.1562C20.8125,14.36016,18.5461,12.09375,15.75,12.09375C15.75,12.09375,15.75,12.09375,15.75,12.09375ZM18.2695,19.675800000000002C17.596899999999998,20.348399999999998,16.70156,20.7188,15.75,20.7188C14.79844,20.7188,13.903120000000001,20.348399999999998,13.23047,19.675800000000002C12.55781,19.0031,12.1875,18.107799999999997,12.1875,17.1562C12.1875,16.204700000000003,12.55781,15.30937,13.23047,14.63672C13.903120000000001,13.96406,14.79844,13.59375,15.75,13.59375C16.70156,13.59375,17.596899999999998,13.96406,18.2695,14.63672C18.9422,15.30937,19.3125,16.204700000000003,19.3125,17.1562C19.3125,18.107799999999997,18.9422,19.0031,18.2695,19.675800000000002C18.2695,19.675800000000002,18.2695,19.675800000000002,18.2695,19.675800000000002Z" fill="#262626" fill-opacity="1"/></g><g><path d="M15,19.03125C15,19.230162,15.0790171,19.42093,15.219669,19.56158C15.360322,19.70223,15.551088,19.78125,15.75,19.78125C15.948912,19.78125,16.13968,19.70223,16.28033,19.56158C16.42098,19.42093,16.5,19.230162,16.5,19.03125C16.5,18.832338,16.42098,18.641572,16.28033,18.500919C16.13968,18.3602671,15.948912,18.28125,15.75,18.28125C15.551088,18.28125,15.360322,18.3602671,15.219669,18.500919C15.0790171,18.641572,15,18.832338,15,19.03125C15,19.03125,15,19.03125,15,19.03125Z" fill="#262626" fill-opacity="1"/></g><g><path d="M15.28125,17.53125C15.28125,17.53125,16.21875,17.53125,16.21875,17.53125C16.32187,17.53125,16.40625,17.44688,16.40625,17.34375C16.40625,17.34375,16.40625,14.71875,16.40625,14.71875C16.40625,14.615625,16.32187,14.53125,16.21875,14.53125C16.21875,14.53125,15.28125,14.53125,15.28125,14.53125C15.178125,14.53125,15.09375,14.615625,15.09375,14.71875C15.09375,14.71875,15.09375,17.34375,15.09375,17.34375C15.09375,17.44688,15.178125,17.53125,15.28125,17.53125C15.28125,17.53125,15.28125,17.53125,15.28125,17.53125Z" fill="#262626" fill-opacity="1"/></g><g><path d="M10.3125,19.96875C10.3125,19.96875,4.875,19.96875,4.875,19.96875C4.875,19.96875,4.875,3.46875,4.875,3.46875C4.875,3.46875,18,3.46875,18,3.46875C18,3.46875,18,11.53125,18,11.53125C18,11.63437,18.084400000000002,11.71875,18.1875,11.71875C18.1875,11.71875,19.5,11.71875,19.5,11.71875C19.6031,11.71875,19.6875,11.63437,19.6875,11.53125C19.6875,11.53125,19.6875,2.53125,19.6875,2.53125C19.6875,2.116406,19.3523,1.78125,18.9375,1.78125C18.9375,1.78125,3.9375,1.78125,3.9375,1.78125C3.522656,1.78125,3.1875,2.116406,3.1875,2.53125C3.1875,2.53125,3.1875,20.90625,3.1875,20.90625C3.1875,21.32105,3.522656,21.65625,3.9375,21.65625C3.9375,21.65625,10.3125,21.65625,10.3125,21.65625C10.41563,21.65625,10.5,21.57185,10.5,21.46875C10.5,21.46875,10.5,20.15625,10.5,20.15625C10.5,20.05315,10.41563,19.96875,10.3125,19.96875C10.3125,19.96875,10.3125,19.96875,10.3125,19.96875Z" fill="#262626" fill-opacity="1"/></g></g></svg>

After

Width:  |  Height:  |  Size: 3.9 KiB

1
src/assets/icons/svg/file4.svg

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 4.9 KiB

1
src/assets/icons/svg/file5.svg

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="24" height="24" viewBox="0 0 24 24"><defs><clipPath id="master_svg0_0_10592"><rect x="0" y="0" width="24" height="24" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_0_10592)"><g><path d="M16.125,7.3125C16.125,7.3125,16.125,6.1875,16.125,6.1875C16.125,6.084375,16.04062,6,15.9375,6C15.9375,6,6.9375,6,6.9375,6C6.834375,6,6.75,6.084375,6.75,6.1875C6.75,6.1875,6.75,7.3125,6.75,7.3125C6.75,7.4156200000000005,6.834375,7.5,6.9375,7.5C6.9375,7.5,15.9375,7.5,15.9375,7.5C16.04062,7.5,16.125,7.4156200000000005,16.125,7.3125C16.125,7.3125,16.125,7.3125,16.125,7.3125ZM6.9375,9.375C6.834375,9.375,6.75,9.45937,6.75,9.5625C6.75,9.5625,6.75,10.6875,6.75,10.6875C6.75,10.79063,6.834375,10.875,6.9375,10.875C6.9375,10.875,11.25,10.875,11.25,10.875C11.35313,10.875,11.4375,10.79063,11.4375,10.6875C11.4375,10.6875,11.4375,9.5625,11.4375,9.5625C11.4375,9.45937,11.35313,9.375,11.25,9.375C11.25,9.375,6.9375,9.375,6.9375,9.375C6.9375,9.375,6.9375,9.375,6.9375,9.375Z" fill="#262626" fill-opacity="1"/></g><g><path d="M10.3125,19.96875C10.3125,19.96875,4.875,19.96875,4.875,19.96875C4.875,19.96875,4.875,3.46875,4.875,3.46875C4.875,3.46875,18,3.46875,18,3.46875C18,3.46875,18,11.53125,18,11.53125C18,11.63437,18.084400000000002,11.71875,18.1875,11.71875C18.1875,11.71875,19.5,11.71875,19.5,11.71875C19.6031,11.71875,19.6875,11.63437,19.6875,11.53125C19.6875,11.53125,19.6875,2.53125,19.6875,2.53125C19.6875,2.116406,19.3523,1.78125,18.9375,1.78125C18.9375,1.78125,3.9375,1.78125,3.9375,1.78125C3.522656,1.78125,3.1875,2.116406,3.1875,2.53125C3.1875,2.53125,3.1875,20.90625,3.1875,20.90625C3.1875,21.32105,3.522656,21.65625,3.9375,21.65625C3.9375,21.65625,10.3125,21.65625,10.3125,21.65625C10.41563,21.65625,10.5,21.57185,10.5,21.46875C10.5,21.46875,10.5,20.15625,10.5,20.15625C10.5,20.05315,10.41563,19.96875,10.3125,19.96875C10.3125,19.96875,10.3125,19.96875,10.3125,19.96875Z" fill="#262626" fill-opacity="1"/></g><g><path d="M20.7586,21.17578C20.7586,21.17578,18.57188,18.989060000000002,18.57188,18.989060000000002C19.094540000000002,18.29766,19.40626,17.43516,19.40626,16.5C19.40626,14.22188,17.55938,12.375,15.28125,12.375C13.00313,12.375,11.15625,14.22188,11.15625,16.5C11.15625,18.77812,13.00313,20.625,15.28125,20.625C16.12032,20.625,16.89844,20.37422,17.55001,19.94531C17.55001,19.94531,19.76954,22.164839999999998,19.76954,22.164839999999998C19.80704,22.20234,19.85391,22.21875,19.90079,22.21875C19.94766,22.21875,19.99688,22.2,20.032040000000002,22.164839999999998C20.032040000000002,22.164839999999998,20.7586,21.43828,20.7586,21.43828C20.83126,21.36563,20.83126,21.248440000000002,20.7586,21.17578C20.7586,21.17578,20.7586,21.17578,20.7586,21.17578ZM15.28125,19.125C13.83047,19.125,12.65625,17.95078,12.65625,16.5C12.65625,15.04922,13.83047,13.875,15.28125,13.875C16.732039999999998,13.875,17.90626,15.04922,17.90626,16.5C17.90626,17.95078,16.732039999999998,19.125,15.28125,19.125C15.28125,19.125,15.28125,19.125,15.28125,19.125Z" fill="#262626" fill-opacity="1"/></g></g></svg>

After

Width:  |  Height:  |  Size: 3.0 KiB

1
src/assets/icons/svg/file6.svg

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="24" height="24" viewBox="0 0 24 24"><defs><clipPath id="master_svg0_0_10596"><rect x="0" y="0" width="24" height="24" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_0_10596)"><g><path d="M16.125,6.1875C16.125,6.084375,16.04062,6,15.9375,6C15.9375,6,6.9375,6,6.9375,6C6.834375,6,6.75,6.084375,6.75,6.1875C6.75,6.1875,6.75,7.3125,6.75,7.3125C6.75,7.4156200000000005,6.834375,7.5,6.9375,7.5C6.9375,7.5,15.9375,7.5,15.9375,7.5C16.04062,7.5,16.125,7.4156200000000005,16.125,7.3125C16.125,7.3125,16.125,6.1875,16.125,6.1875C16.125,6.1875,16.125,6.1875,16.125,6.1875ZM15.9375,9.375C15.9375,9.375,6.9375,9.375,6.9375,9.375C6.834375,9.375,6.75,9.45937,6.75,9.5625C6.75,9.5625,6.75,10.6875,6.75,10.6875C6.75,10.79063,6.834375,10.875,6.9375,10.875C6.9375,10.875,15.9375,10.875,15.9375,10.875C16.04062,10.875,16.125,10.79063,16.125,10.6875C16.125,10.6875,16.125,9.5625,16.125,9.5625C16.125,9.45937,16.04062,9.375,15.9375,9.375C15.9375,9.375,15.9375,9.375,15.9375,9.375ZM11.25,12.75C11.25,12.75,6.9375,12.75,6.9375,12.75C6.834375,12.75,6.75,12.83437,6.75,12.9375C6.75,12.9375,6.75,14.0625,6.75,14.0625C6.75,14.16562,6.834375,14.25,6.9375,14.25C6.9375,14.25,11.25,14.25,11.25,14.25C11.35313,14.25,11.4375,14.16562,11.4375,14.0625C11.4375,14.0625,11.4375,12.9375,11.4375,12.9375C11.4375,12.83437,11.35313,12.75,11.25,12.75C11.25,12.75,11.25,12.75,11.25,12.75Z" fill="#262626" fill-opacity="1"/></g><g><path d="M10.125,19.96875C10.125,19.96875,4.875,19.96875,4.875,19.96875C4.875,19.96875,4.875,3.46875,4.875,3.46875C4.875,3.46875,18,3.46875,18,3.46875C18,3.46875,18,11.53125,18,11.53125C18,11.63437,18.084400000000002,11.71875,18.1875,11.71875C18.1875,11.71875,19.5,11.71875,19.5,11.71875C19.6031,11.71875,19.6875,11.63437,19.6875,11.53125C19.6875,11.53125,19.6875,2.53125,19.6875,2.53125C19.6875,2.116406,19.3523,1.78125,18.9375,1.78125C18.9375,1.78125,3.9375,1.78125,3.9375,1.78125C3.522656,1.78125,3.1875,2.116406,3.1875,2.53125C3.1875,2.53125,3.1875,20.90625,3.1875,20.90625C3.1875,21.32105,3.522656,21.65625,3.9375,21.65625C3.9375,21.65625,10.125,21.65625,10.125,21.65625C10.22813,21.65625,10.3125,21.57185,10.3125,21.46875C10.3125,21.46875,10.3125,20.15625,10.3125,20.15625C10.3125,20.05315,10.22813,19.96875,10.125,19.96875C10.125,19.96875,10.125,19.96875,10.125,19.96875Z" fill="#262626" fill-opacity="1"/></g><g><path d="M18.487887901000978,18.225002500000002C19.167577901000975,17.6085925,19.594137901000977,16.717972500000002,19.594137901000977,15.7265625C19.594137901000977,13.8632825,18.082417901000976,12.3515625,16.219137901000977,12.3515625C14.355857901000977,12.3515625,12.844137901000977,13.8632825,12.844137901000977,15.7265625C12.844137901000977,16.717972500000002,13.270697901000977,17.6085925,13.950387901000976,18.225002500000002C12.614451901000976,18.9867225,11.695701901000977,20.3976525,11.625389434000976,22.0242225C11.620701931000976,22.1296925,11.707420701000977,22.2187525,11.812889901000977,22.2187525C11.812889901000977,22.2187525,12.940227901000977,22.2187525,12.940227901000977,22.2187525C13.038667901000977,22.2187525,13.120697901000977,22.141402499999998,13.127727901000977,22.040622499999998C13.219137901000977,20.4187525,14.571487901000976,19.1250025,16.219137901000977,19.1250025C17.86679790100098,19.1250025,19.219137901000977,20.4187525,19.310547901000977,22.040622499999998C19.315237901000977,22.1390625,19.397267901000976,22.2187525,19.498047901000977,22.2187525C19.498047901000977,22.2187525,20.625387901000977,22.2187525,20.625387901000977,22.2187525C20.733207901000977,22.2187525,20.817577901000977,22.1296925,20.812887901000977,22.0242225C20.744917901000974,20.3953125,19.823827901000975,18.9867225,18.487887901000978,18.225002500000002C18.487887901000978,18.225002500000002,18.487887901000978,18.225002500000002,18.487887901000978,18.225002500000002ZM16.219137901000977,13.8515625C17.255077901000977,13.8515625,18.094137901000977,14.6906225,18.094137901000977,15.7265625C18.094137901000977,16.7625025,17.255077901000977,17.6015625,16.219137901000977,17.6015625C15.183197901000977,17.6015625,14.344137901000977,16.7625025,14.344137901000977,15.7265625C14.344137901000977,14.6906225,15.183197901000977,13.8515625,16.219137901000977,13.8515625C16.219137901000977,13.8515625,16.219137901000977,13.8515625,16.219137901000977,13.8515625Z" fill="#262626" fill-opacity="1"/></g></g></svg>

After

Width:  |  Height:  |  Size: 4.3 KiB

1
src/assets/icons/svg/file7.svg

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.0 KiB

1
src/assets/icons/svg/file8.svg

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.2 KiB

1
src/assets/icons/svg/fire.svg

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="24" height="24" viewBox="0 0 24 24"><defs><clipPath id="master_svg0_0_10614"><rect x="0" y="0" width="24" height="24" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_0_10614)"><g><path d="M19.5492,10.996869083709717C19.0922,9.970299083709717,18.438299999999998,9.060929083709716,17.606299999999997,8.296869083709716C17.606299999999997,8.296869083709716,16.9242,7.671079083709717,16.9242,7.671079083709717C16.8234,7.582019083709717,16.664099999999998,7.621869083709717,16.619500000000002,7.748429083709717C16.619500000000002,7.748429083709717,16.314799999999998,8.622649083709717,16.314799999999998,8.622649083709717C16.125,9.171079083709717,15.7758,9.731239083709717,15.2812,10.282019083709717C15.2484,10.317179083709716,15.2109,10.326549083709716,15.1852,10.328899083709716C15.1594,10.331239083709717,15.1195,10.326549083709716,15.0844,10.293739083709717C15.0516,10.265619083709717,15.0352,10.223429083709716,15.0375,10.181239083709716C15.1242,8.770299083709716,14.7023,7.178899083709717,13.7789,5.446869083709717C13.01484,4.007799083709717,11.95312,2.8851490837097167,10.62656,2.102334083709717C10.62656,2.102334083709717,9.65859,1.5328025837097168,9.65859,1.5328025837097168C9.532029999999999,1.4578025837097168,9.37031,1.5562399837097167,9.37734,1.7038960837097168C9.37734,1.7038960837097168,9.42891,2.8288990837097168,9.42891,2.8288990837097168C9.46406,3.5976490837097166,9.375,4.277329083709716,9.16406,4.842179083709716C8.90625,5.533579083709717,8.53594,6.175769083709717,8.0625,6.752329083709717C7.72969,7.155459083709717,7.35703,7.5187390837097166,6.94922,7.832799083709717C5.9625,8.589829083709716,5.14922,9.576549083709716,4.598437,10.680459083709717C4.042969,11.796049083709716,3.75,13.045349083709716,3.75,14.296849083709716C3.75,15.403149083709717,3.967969,16.474249083709715,4.399219,17.484349083709716C4.81641,18.457049083709716,5.41172,19.333549083709716,6.16875,20.083549083709716C6.9281299999999995,20.833549083709716,7.80938,21.424249083709718,8.791409999999999,21.834349083709718C9.808589999999999,22.26094908370972,10.88672,22.476549083709717,12,22.476549083709717C13.11328,22.476549083709717,14.1914,22.26094908370972,15.2086,21.836749083709716C16.1906,21.426549083709716,17.074199999999998,20.838249083709716,17.831200000000003,20.085949083709718C18.590600000000002,19.335949083709718,19.1859,18.459349083709718,19.6008,17.486749083709718C20.032,16.476549083709717,20.25,15.405449083709717,20.25,14.299249083709716C20.25,13.155449083709717,20.0156,12.044549083709716,19.5492,10.996869083709717C19.5492,10.996869083709717,19.5492,10.996869083709717,19.5492,10.996869083709717C19.5492,10.996869083709717,19.5492,10.996869083709717,19.5492,10.996869083709717ZM16.710900000000002,18.949249083709717C15.4523,20.196049083709717,13.7812,20.880449083709717,12,20.880449083709717C10.21875,20.880449083709717,8.54766,20.196049083709717,7.28906,18.949249083709717C6.035159999999999,17.704649083709718,5.34375,16.054649083709716,5.34375,14.299249083709716C5.34375,13.279649083709717,5.57344,12.302349083709716,6.02578,11.392959083709718C6.46641,10.504679083709716,7.12266,9.710149083709716,7.91953,9.098429083709718C8.42344,8.714049083709718,8.885159999999999,8.266399083709718,9.29297,7.767179083709717C9.878910000000001,7.052329083709717,10.338280000000001,6.255459083709717,10.657029999999999,5.399989083709716C10.78359,5.060149083709717,10.87969,4.696869083709717,10.94062,4.310149083709717C11.505469999999999,4.830459083709717,11.97891,5.458579083709717,12.375,6.194519083709717C13.15781,7.661709083709717,13.51875,8.967179083709716,13.44844,10.078119083709717C13.41562,10.612489083709717,13.62422,11.121079083709716,14.0203,11.479679083709717C14.3648,11.789049083709717,14.8102,11.946049083709717,15.2719,11.920349083709716C15.7336,11.896849083709716,16.1578,11.692949083709717,16.4672,11.348429083709716C16.7789,10.999209083709717,17.0484,10.642959083709718,17.273400000000002,10.279679083709716C17.601599999999998,10.699209083709716,17.875799999999998,11.156239083709718,18.0938,11.648449083709718C18.4664,12.487449083709716,18.6562,13.380449083709717,18.6562,14.299249083709716C18.6562,16.054649083709716,17.9648,17.707049083709716,16.710900000000002,18.949249083709717C16.710900000000002,18.949249083709717,16.710900000000002,18.949249083709717,16.710900000000002,18.949249083709717Z" fill="#262626" fill-opacity="1"/></g></g></svg>

After

Width:  |  Height:  |  Size: 4.4 KiB

1
src/assets/icons/svg/gift.svg

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="24" height="24" viewBox="0 0 24 24"><defs><clipPath id="master_svg0_0_10726"><rect x="0" y="0" width="24" height="24" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_0_10726)"><g><path d="M20.625,7.265625C20.625,7.265625,17.165599999999998,7.265625,17.165599999999998,7.265625C17.4844,6.764065,17.6719,6.168755,17.6719,5.531255C17.6719,3.747655,16.2211,2.296875,14.4375,2.296875C13.4672,2.296875,12.59297,2.728125,12,3.4078150000000003C11.40703,2.728125,10.53281,2.296875,9.5625,2.296875C7.77891,2.296875,6.32812,3.747655,6.32812,5.531255C6.32812,6.168755,6.51328,6.764065,6.83438,7.265625C6.83438,7.265625,3.375,7.265625,3.375,7.265625C2.960156,7.265625,2.625,7.600785,2.625,8.015625C2.625,8.015625,2.625,12.703075,2.625,12.703075C2.625,12.806275,2.709375,12.890675,2.8125,12.890675C2.8125,12.890675,3.75,12.890675,3.75,12.890675C3.75,12.890675,3.75,20.953075,3.75,20.953075C3.75,21.367975,4.08516,21.703075,4.5,21.703075C4.5,21.703075,19.5,21.703075,19.5,21.703075C19.9148,21.703075,20.25,21.367975,20.25,20.953075C20.25,20.953075,20.25,12.890675,20.25,12.890675C20.25,12.890675,21.1875,12.890675,21.1875,12.890675C21.2906,12.890675,21.375,12.806275,21.375,12.703075C21.375,12.703075,21.375,8.015625,21.375,8.015625C21.375,7.600785,21.0398,7.265625,20.625,7.265625C20.625,7.265625,20.625,7.265625,20.625,7.265625ZM12.7969,5.531255C12.7969,4.626564999999999,13.5328,3.890625,14.4375,3.890625C15.3422,3.890625,16.0781,4.626564999999999,16.0781,5.531255C16.0781,6.435935,15.3422,7.171875,14.4375,7.171875C14.4375,7.171875,12.7969,7.171875,12.7969,7.171875C12.7969,7.171875,12.7969,5.531255,12.7969,5.531255C12.7969,5.531255,12.7969,5.531255,12.7969,5.531255ZM9.5625,3.890625C10.46719,3.890625,11.20312,4.626564999999999,11.20312,5.531255C11.20312,5.531255,11.20312,7.171875,11.20312,7.171875C11.20312,7.171875,9.5625,7.171875,9.5625,7.171875C8.65781,7.171875,7.92188,6.435935,7.92188,5.531255C7.92188,4.626564999999999,8.65781,3.890625,9.5625,3.890625C9.5625,3.890625,9.5625,3.890625,9.5625,3.890625ZM4.21875,11.296875C4.21875,11.296875,4.21875,8.859375,4.21875,8.859375C4.21875,8.859375,11.20312,8.859375,11.20312,8.859375C11.20312,8.859375,11.20312,11.296875,11.20312,11.296875C11.20312,11.296875,4.21875,11.296875,4.21875,11.296875C4.21875,11.296875,4.21875,11.296875,4.21875,11.296875ZM5.34375,12.890675C5.34375,12.890675,11.20312,12.890675,11.20312,12.890675C11.20312,12.890675,11.20312,20.109375,11.20312,20.109375C11.20312,20.109375,5.34375,20.109375,5.34375,20.109375C5.34375,20.109375,5.34375,12.890675,5.34375,12.890675C5.34375,12.890675,5.34375,12.890675,5.34375,12.890675ZM18.6562,20.109375C18.6562,20.109375,12.7969,20.109375,12.7969,20.109375C12.7969,20.109375,12.7969,12.890675,12.7969,12.890675C12.7969,12.890675,18.6562,12.890675,18.6562,12.890675C18.6562,12.890675,18.6562,20.109375,18.6562,20.109375C18.6562,20.109375,18.6562,20.109375,18.6562,20.109375ZM19.7812,11.296875C19.7812,11.296875,12.7969,11.296875,12.7969,11.296875C12.7969,11.296875,12.7969,8.859375,12.7969,8.859375C12.7969,8.859375,19.7812,8.859375,19.7812,8.859375C19.7812,8.859375,19.7812,11.296875,19.7812,11.296875C19.7812,11.296875,19.7812,11.296875,19.7812,11.296875Z" fill="#262626" fill-opacity="1"/></g></g></svg>

After

Width:  |  Height:  |  Size: 3.3 KiB

1
src/assets/icons/svg/home.svg

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="24" height="24" viewBox="0 0 24 24"><defs><clipPath id="master_svg0_0_11156"><rect x="0" y="0" width="24" height="24" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_0_11156)"><g><path d="M22.183554833221436,11.835940625C22.183554833221436,11.835940625,13.127354833221435,2.784374625,13.127354833221435,2.784374625C13.127354833221435,2.784374625,12.520354833221436,2.177343625,12.520354833221436,2.177343625C12.232054833221435,1.891406325,11.767954833221436,1.891406325,11.479654833221435,2.177343625C11.479654833221435,2.177343625,1.8164058332214355,11.835940625,1.8164058332214355,11.835940625C1.5281248332214354,12.124190625,1.3734373332214356,12.506290625,1.3757810789214355,12.914090625C1.3851560732214356,13.739090625,2.0718748332214356,14.397690625,2.8968748332214354,14.397690625C2.8968748332214354,14.397690625,3.8929648332214355,14.397690625,3.8929648332214355,14.397690625C3.8929648332214355,14.397690625,3.8929648332214355,22.031290625,3.8929648332214355,22.031290625C3.8929648332214355,22.031290625,20.107054833221436,22.031290625,20.107054833221436,22.031290625C20.107054833221436,22.031290625,20.107054833221436,14.397690625,20.107054833221436,14.397690625C20.107054833221436,14.397690625,21.124254833221435,14.397690625,21.124254833221435,14.397690625C21.524954833221436,14.397690625,21.902354833221434,14.240590625,22.185954833221434,13.956990625C22.469554833221437,13.673390625,22.624254833221435,13.296090625,22.624254833221435,12.895290625C22.624254833221435,12.496890625,22.467154833221436,12.119490625,22.183554833221436,11.835940625C22.183554833221436,11.835940625,22.183554833221436,11.835940625,22.183554833221436,11.835940625C22.183554833221436,11.835940625,22.183554833221436,11.835940625,22.183554833221436,11.835940625ZM13.312454833221436,20.343790625C13.312454833221436,20.343790625,10.687494833221436,20.343790625,10.687494833221436,20.343790625C10.687494833221436,20.343790625,10.687494833221436,15.562490625,10.687494833221436,15.562490625C10.687494833221436,15.562490625,13.312454833221436,15.562490625,13.312454833221436,15.562490625C13.312454833221436,15.562490625,13.312454833221436,20.343790625,13.312454833221436,20.343790625C13.312454833221436,20.343790625,13.312454833221436,20.343790625,13.312454833221436,20.343790625ZM18.419554833221436,12.710190625C18.419554833221436,12.710190625,18.419554833221436,20.343790625,18.419554833221436,20.343790625C18.419554833221436,20.343790625,14.812454833221436,20.343790625,14.812454833221436,20.343790625C14.812454833221436,20.343790625,14.812454833221436,14.999990625,14.812454833221436,14.999990625C14.812454833221436,14.481990625,14.392954833221436,14.062490625,13.874954833221436,14.062490625C13.874954833221436,14.062490625,10.124994833221436,14.062490625,10.124994833221436,14.062490625C9.607024833221436,14.062490625,9.187494833221436,14.481990625,9.187494833221436,14.999990625C9.187494833221436,14.999990625,9.187494833221436,20.343790625,9.187494833221436,20.343790625C9.187494833221436,20.343790625,5.580464833221436,20.343790625,5.580464833221436,20.343790625C5.580464833221436,20.343790625,5.580464833221436,12.710190625,5.580464833221436,12.710190625C5.580464833221436,12.710190625,3.3304648332214355,12.710190625,3.3304648332214355,12.710190625C3.3304648332214355,12.710190625,12.002354833221435,4.045310625,12.002354833221435,4.045310625C12.002354833221435,4.045310625,12.543754833221435,4.586720625,12.543754833221435,4.586720625C12.543754833221435,4.586720625,20.671854833221435,12.710190625,20.671854833221435,12.710190625C20.671854833221435,12.710190625,18.419554833221436,12.710190625,18.419554833221436,12.710190625C18.419554833221436,12.710190625,18.419554833221436,12.710190625,18.419554833221436,12.710190625Z" fill="#000000" fill-opacity="1"/></g></g></svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

1
src/assets/icons/svg/light.svg

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="24" height="24" viewBox="0 0 24 24"><defs><clipPath id="master_svg0_0_10693"><rect x="0" y="0" width="24" height="24" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_0_10693)"><g><path d="M14.8125,20.8125C14.8125,20.8125,9.1875,20.8125,9.1875,20.8125C9.08437,20.8125,9,20.8969,9,21C9,21,9,21.75,9,21.75C9,22.1648,9.33516,22.5,9.75,22.5C9.75,22.5,14.25,22.5,14.25,22.5C14.6648,22.5,15,22.1648,15,21.75C15,21.75,15,21,15,21C15,20.8969,14.9156,20.8125,14.8125,20.8125C14.8125,20.8125,14.8125,20.8125,14.8125,20.8125ZM12,1.5C7.75547,1.5,4.3125,4.94297,4.3125,9.1875C4.3125,12.0328,5.85938,14.5172,8.15625,15.8461C8.15625,15.8461,8.15625,18.5625,8.15625,18.5625C8.15625,18.9773,8.49141,19.3125,8.90625,19.3125C8.90625,19.3125,15.0937,19.3125,15.0937,19.3125C15.5086,19.3125,15.8437,18.9773,15.8437,18.5625C15.8437,18.5625,15.8437,15.8461,15.8437,15.8461C18.1406,14.5172,19.6875,12.0328,19.6875,9.1875C19.6875,4.94297,16.244500000000002,1.5,12,1.5C12,1.5,12,1.5,12,1.5ZM14.9977,14.3859C14.9977,14.3859,14.15625,14.8734,14.15625,14.8734C14.15625,14.8734,14.15625,17.625,14.15625,17.625C14.15625,17.625,9.84375,17.625,9.84375,17.625C9.84375,17.625,9.84375,14.8734,9.84375,14.8734C9.84375,14.8734,9.00234,14.3859,9.00234,14.3859C7.15781,13.3195,6,11.35547,6,9.1875C6,5.87344,8.68594,3.1875,12,3.1875C15.3141,3.1875,18,5.87344,18,9.1875C18,11.35547,16.8422,13.3195,14.9977,14.3859C14.9977,14.3859,14.9977,14.3859,14.9977,14.3859Z" fill="#262626" fill-opacity="1"/></g></g></svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

1
src/assets/icons/svg/lightning.svg

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="24" height="24" viewBox="0 0 24 24"><defs><clipPath id="master_svg0_0_10612"><rect x="0" y="0" width="24" height="24" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_0_10612)"><g><path d="M19.874670175552367,8.42109C19.874670175552367,8.42109,14.711370175552368,8.42109,14.711370175552368,8.42109C14.711370175552368,8.42109,19.35427017555237,2.554687,19.35427017555237,2.554687C19.45037017555237,2.430469,19.363670175552368,2.25,19.206670175552368,2.25C19.206670175552368,2.25,10.218380175552369,2.25,10.218380175552369,2.25C10.152750175552368,2.25,10.089470175552368,2.2851562,10.056660175552368,2.34375C10.056660175552368,2.34375,3.984002475552368,12.832,3.984002475552368,12.832C3.911346175552368,12.9562,4.000408575552368,13.1133,4.145721175552368,13.1133C4.145721175552368,13.1133,8.233220175552368,13.1133,8.233220175552368,13.1133C8.233220175552368,13.1133,6.137910175552368,21.4945,6.137910175552368,21.4945C6.093380175552368,21.6773,6.3136901755523684,21.8062,6.449630175552368,21.675C6.449630175552368,21.675,20.00357017555237,8.74219,20.00357017555237,8.74219C20.12537017555237,8.62734,20.04337017555237,8.42109,19.874670175552367,8.42109C19.874670175552367,8.42109,19.874670175552367,8.42109,19.874670175552367,8.42109ZM8.863690175552367,17.168C8.863690175552367,17.168,10.276970175552368,11.51953,10.276970175552368,11.51953C10.276970175552368,11.51953,6.587910175552368,11.51953,6.587910175552368,11.51953C6.587910175552368,11.51953,11.031660175552368,3.8460900000000002,11.031660175552368,3.8460900000000002C11.031660175552368,3.8460900000000002,16.29577017555237,3.8460900000000002,16.29577017555237,3.8460900000000002C16.29577017555237,3.8460900000000002,11.413690175552368,10.01719,11.413690175552368,10.01719C11.413690175552368,10.01719,16.35897017555237,10.01719,16.35897017555237,10.01719C16.35897017555237,10.01719,8.863690175552367,17.168,8.863690175552367,17.168C8.863690175552367,17.168,8.863690175552367,17.168,8.863690175552367,17.168Z" fill="#262626" fill-opacity="1"/></g></g></svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

1
src/assets/icons/svg/link2.svg

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="24" height="24" viewBox="0 0 24 24"><defs><clipPath id="master_svg0_0_10679"><rect x="0" y="0" width="24" height="24" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_0_10679)"><g><path d="M16.722263124999998,14.06016C16.466793125000002,13.92891,15.194143125,13.30547,14.957423125,13.2211C14.720703125,13.13204,14.547263125,13.08985,14.376173125000001,13.352350000000001C14.202733125,13.61251,13.710543125000001,14.191410000000001,13.555863125,14.36719C13.405863125,14.54063,13.253513125,14.561720000000001,12.998043124999999,14.43282C11.479293125,13.67344,10.483203125,13.07813,9.482423125,11.36016C9.217573125,10.90313,9.747263125,10.93594,10.241793125000001,9.94922C10.326173125,9.775780000000001,10.283983124999999,9.62813,10.218363125,9.49688C10.152733125000001,9.36563,9.637113124999999,8.095313,9.421483125,7.577344C9.212893125,7.0734372,8.997263125,7.1437499,8.840233125000001,7.13437486C8.690233125,7.124999856809,8.519143125,7.125,8.345703125,7.125C8.172263125,7.125,7.8933631250000005,7.1906253,7.656641125,7.446094C7.419922125,7.706251,6.751953125,8.33203,6.751953125,9.60235C6.751953125,10.87266,7.677734125,12.10313,7.804293125,12.27657C7.935543125,12.45,9.625393125,15.05626,12.219923125000001,16.178910000000002C13.860543125,16.88673,14.502733124999999,16.94766,15.323043125,16.825789999999998C15.822263125,16.750790000000002,16.851153125,16.20235,17.064453125,15.59532C17.277753125,14.99063,17.277753125,14.472660000000001,17.214453125,14.36485C17.151153125,14.25001,16.977753125,14.18438,16.722263124999998,14.06016C16.722263124999998,14.06016,16.722263124999998,14.06016,16.722263124999998,14.06016Z" fill="#262626" fill-opacity="1"/></g><g><path d="M21.6845,7.93125C21.1548,6.67266,20.3954,5.54297,19.4275,4.57266C18.4595,3.60469,17.3298,2.84297,16.0689,2.315625C14.7798,1.774219,13.4111,1.5,12.0001,1.5C12.0001,1.5,11.9533,1.5,11.9533,1.5C10.53294,1.50703125,9.157160000000001,1.788281,7.86341,2.341406C6.6142,2.87578,5.49388,3.63516,4.53529,4.6031200000000005C3.5767,5.57109,2.82435,6.69609,2.304039,7.95C1.764977,9.24844,1.49310172,10.62891,1.500132967,12.0492C1.50716422,13.6758,1.896227,15.2906,2.62513,16.7344C2.62513,16.7344,2.62513,20.2969,2.62513,20.2969C2.62513,20.8922,3.1079499999999998,21.375,3.70326,21.375C3.70326,21.375,7.2681,21.375,7.2681,21.375C8.71185,22.1039,10.32669,22.493,11.9533,22.5C11.9533,22.5,12.0025,22.5,12.0025,22.5C13.4064,22.5,14.7681,22.2281,16.0501,21.6961C17.304000000000002,21.1734,18.4314,20.4234,19.397,19.4648C20.365,18.5063,21.1267,17.3859,21.6587,16.136699999999998C22.2118,14.843,22.4931,13.4672,22.5001,12.0469C22.5072,10.61953,22.2306,9.23438,21.6845,7.93125C21.6845,7.93125,21.6845,7.93125,21.6845,7.93125C21.6845,7.93125,21.6845,7.93125,21.6845,7.93125ZM18.1431,18.1969C16.5001,19.8234,14.3204,20.7188,12.0001,20.7188C12.0001,20.7188,11.9603,20.7188,11.9603,20.7188C10.54701,20.7117,9.1431,20.3602,7.90326,19.6992C7.90326,19.6992,7.70638,19.5938,7.70638,19.5938C7.70638,19.5938,4.40638,19.5938,4.40638,19.5938C4.40638,19.5938,4.40638,16.293799999999997,4.40638,16.293799999999997C4.40638,16.293799999999997,4.30091,16.096899999999998,4.30091,16.096899999999998C3.63998,14.857,3.28841,13.4531,3.28138,12.0398C3.27201,9.70312,4.16498,7.50937,5.80326,5.85703C7.4392,4.204689999999999,9.62591,3.29062,11.9626,3.28125C11.9626,3.28125,12.0025,3.28125,12.0025,3.28125C13.1744,3.28125,14.3111,3.50859,15.3822,3.95859C16.427500000000002,4.39687,17.365000000000002,5.027340000000001,18.1712,5.83359C18.9751,6.6375,19.6079,7.57734,20.0462,8.62266C20.5009,9.70547,20.7283,10.85391,20.7236,12.0398C20.7095,14.3742,19.7931,16.5609,18.1431,18.1969C18.1431,18.1969,18.1431,18.1969,18.1431,18.1969C18.1431,18.1969,18.1431,18.1969,18.1431,18.1969Z" fill="#262626" fill-opacity="1"/></g></g></svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

1
src/assets/icons/svg/local.svg

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="24" height="24" viewBox="0 0 24 24"><g style="opacity:0.00009999999747378752;"><rect x="0" y="0" width="24" height="24" rx="0" fill="#262626" fill-opacity="1"/></g></svg>

After

Width:  |  Height:  |  Size: 286 B

1
src/assets/icons/svg/mail.svg

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="24" height="24" viewBox="0 0 24 24"><g><g style="opacity:0.00009999999747378752;"><rect x="0" y="0" width="24" height="24" rx="0" fill="#262626" fill-opacity="1"/></g><g><path d="M21.75,3.75C21.75,3.75,2.25,3.75,2.25,3.75C1.835156,3.75,1.5,4.085156,1.5,4.5C1.5,4.5,1.5,19.5,1.5,19.5C1.5,19.9148,1.835156,20.25,2.25,20.25C2.25,20.25,21.75,20.25,21.75,20.25C22.1648,20.25,22.5,19.9148,22.5,19.5C22.5,19.5,22.5,4.5,22.5,4.5C22.5,4.085156,22.1648,3.75,21.75,3.75C21.75,3.75,21.75,3.75,21.75,3.75ZM20.8129,6.34668C20.8129,6.34668,20.8129,18.5623,20.8129,18.5623C20.8129,18.5623,3.18789,18.5623,3.18789,18.5623C3.18789,18.5623,3.18789,6.34668,3.18789,6.34668C3.18789,6.34668,2.54102,5.84277,2.54102,5.84277C2.54102,5.84277,2.54102,5.84276,2.54102,5.84276C2.54102,5.84276,3.1851599999999998,6.34453,3.1851599999999998,6.34453C3.1851599999999998,6.34453,11.19141,12.56953,11.19141,12.56953C11.6648,12.9375,12.3281,12.9375,12.8016,12.56953C12.8016,12.56953,20.8125,6.34687,20.8125,6.34687C20.8125,6.34687,21.4594,5.84297,21.4594,5.84297C21.4594,5.84297,20.5392,4.660579,20.5392,4.660579C20.5392,4.660579,20.541,4.65918,20.541,4.65918C20.541,4.65918,21.4621,5.84277,21.4621,5.84277C21.4621,5.84277,20.8129,6.34668,20.8129,6.34668C20.8129,6.34668,20.8129,6.34668,20.8129,6.34668ZM19.5347,5.43965C19.5347,5.43965,19.5375,5.4375,19.5375,5.4375C19.5375,5.4375,20.5383,4.659375,20.5383,4.659375C20.5383,4.659375,20.5392,4.660579,20.5392,4.660579C20.5392,4.660579,19.5379,5.43965,19.5379,5.43965C19.5379,5.43965,19.5347,5.43965,19.5347,5.43965C19.5347,5.43965,19.5347,5.43965,19.5347,5.43965ZM19.5347,5.43965C19.5347,5.43965,12,11.29688,12,11.29688C12,11.29688,4.46526,5.43965,4.46526,5.43965C4.46526,5.43965,19.5347,5.43965,19.5347,5.43965C19.5347,5.43965,19.5347,5.43965,19.5347,5.43965ZM4.46526,5.43965C4.46526,5.43965,4.46523,5.43965,4.46523,5.43965C4.46523,5.43965,3.46211,4.65918,3.46211,4.65918C3.46211,4.65918,2.54102,5.84276,2.54102,5.84276C2.54102,5.84276,2.5382800000000003,5.84063,2.5382800000000003,5.84063C2.5382800000000003,5.84063,3.45937,4.657031,3.45937,4.657031C3.45937,4.657031,4.4625,5.4375,4.4625,5.4375C4.4625,5.4375,4.46526,5.43965,4.46526,5.43965C4.46526,5.43965,4.46526,5.43965,4.46526,5.43965Z" fill-rule="evenodd" fill="#262626" fill-opacity="1"/></g></g></svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

1
src/assets/icons/svg/menu.svg

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="24" height="24" viewBox="0 0 24 24"><g><g style="opacity:0.00009999999747378752;"><rect x="0" y="0" width="24" height="24" rx="0" fill="#262626" fill-opacity="1"/></g><g><path d="M3.75,3.375C3.75,3.375,10.875,3.375,10.875,3.375C11.08125,3.375,11.25,3.54375,11.25,3.75C11.25,3.75,11.25,10.875,11.25,10.875C11.25,11.08125,11.08125,11.25,10.875,11.25C10.875,11.25,3.75,11.25,3.75,11.25C3.54375,11.25,3.375,11.08125,3.375,10.875C3.375,10.875,3.375,3.75,3.375,3.75C3.375,3.54375,3.54375,3.375,3.75,3.375C3.75,3.375,3.75,3.375,3.75,3.375ZM4.96875,9.65625C4.96875,9.65625,9.65625,9.65625,9.65625,9.65625C9.65625,9.65625,9.65625,4.96875,9.65625,4.96875C9.65625,4.96875,4.96875,4.96875,4.96875,4.96875C4.96875,4.96875,4.96875,9.65625,4.96875,9.65625C4.96875,9.65625,4.96875,9.65625,4.96875,9.65625ZM20.25,3.375C20.25,3.375,13.125,3.375,13.125,3.375C12.91875,3.375,12.75,3.54375,12.75,3.75C12.75,3.75,12.75,10.875,12.75,10.875C12.75,11.08125,12.91875,11.25,13.125,11.25C13.125,11.25,20.25,11.25,20.25,11.25C20.4562,11.25,20.625,11.08125,20.625,10.875C20.625,10.875,20.625,3.75,20.625,3.75C20.625,3.54375,20.4562,3.375,20.25,3.375C20.25,3.375,20.25,3.375,20.25,3.375ZM14.3438,9.65625C14.3438,9.65625,19.0312,9.65625,19.0312,9.65625C19.0312,9.65625,19.0312,4.96875,19.0312,4.96875C19.0312,4.96875,14.3438,4.96875,14.3438,4.96875C14.3438,4.96875,14.3438,9.65625,14.3438,9.65625C14.3438,9.65625,14.3438,9.65625,14.3438,9.65625ZM10.875,12.75C10.875,12.75,3.75,12.75,3.75,12.75C3.54375,12.75,3.375,12.91875,3.375,13.125C3.375,13.125,3.375,20.25,3.375,20.25C3.375,20.4562,3.54375,20.625,3.75,20.625C3.75,20.625,10.875,20.625,10.875,20.625C11.08125,20.625,11.25,20.4562,11.25,20.25C11.25,20.25,11.25,13.125,11.25,13.125C11.25,12.91875,11.08125,12.75,10.875,12.75C10.875,12.75,10.875,12.75,10.875,12.75ZM4.96875,19.0312C4.96875,19.0312,9.65625,19.0312,9.65625,19.0312C9.65625,19.0312,9.65625,14.3438,9.65625,14.3438C9.65625,14.3438,4.96875,14.3438,4.96875,14.3438C4.96875,14.3438,4.96875,19.0312,4.96875,19.0312C4.96875,19.0312,4.96875,19.0312,4.96875,19.0312ZM20.25,12.75C20.25,12.75,13.125,12.75,13.125,12.75C12.91875,12.75,12.75,12.91875,12.75,13.125C12.75,13.125,12.75,20.25,12.75,20.25C12.75,20.4562,12.91875,20.625,13.125,20.625C13.125,20.625,20.25,20.625,20.25,20.625C20.4562,20.625,20.625,20.4562,20.625,20.25C20.625,20.25,20.625,13.125,20.625,13.125C20.625,12.91875,20.4562,12.75,20.25,12.75C20.25,12.75,20.25,12.75,20.25,12.75ZM14.3438,19.0312C14.3438,19.0312,19.0312,19.0312,19.0312,19.0312C19.0312,19.0312,19.0312,14.3438,19.0312,14.3438C19.0312,14.3438,14.3438,14.3438,14.3438,14.3438C14.3438,14.3438,14.3438,19.0312,14.3438,19.0312C14.3438,19.0312,14.3438,19.0312,14.3438,19.0312Z" fill-rule="evenodd" fill="#262626" fill-opacity="1"/></g></g></svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

1
src/assets/icons/svg/networld.svg

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 7.8 KiB

1
src/assets/icons/svg/relationship.svg

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="24" height="24" viewBox="0 0 24 24"><defs><clipPath id="master_svg0_0_10857"><rect x="0" y="0" width="24" height="24" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_0_10857)"><g><path d="M20.8197,16.246875C19.8236,15.670275,18.6095,15.824975,17.791600000000003,16.546875C17.791600000000003,16.546875,16.5494,15.827375,16.5494,15.827375C16.5494,15.827375,16.5494,12.271875,16.5494,12.271875C16.5494,11.903905,16.3525,11.561715,16.0337,11.378905C16.0337,11.378905,12.8462,9.543755,12.8462,9.543755C12.8462,9.543755,12.8462,7.971095,12.8462,7.971095C13.8822,7.619535,14.6275,6.639845,14.6275,5.484375C14.6275,4.033595,13.4533,2.859375,12.0025,2.859375C10.55171,2.859375,9.37749,4.033595,9.37749,5.484375C9.37749,6.639845,10.1228,7.619535,11.15874,7.971095C11.15874,7.971095,11.15874,9.543755,11.15874,9.543755C11.15874,9.543755,7.97124,11.378905,7.97124,11.378905C7.65249,11.561715,7.45562,11.903905,7.45562,12.271875C7.45562,12.271875,7.45562,15.824975,7.45562,15.824975C7.45562,15.824975,6.21343,16.544575000000002,6.21343,16.544575000000002C5.39546,15.822675,4.17905,15.667975,3.1853,16.244574999999998C1.9313966,16.971075,1.504834,18.574175,2.224366,19.828175C2.94624,21.082075,4.54233,21.513275,5.79155,20.789075C6.78765,20.212475,7.26109,19.078175,7.0478,18.004675C7.0478,18.004675,8.18921,17.341375,8.18921,17.341375C8.18921,17.341375,11.48452,19.239875,11.48452,19.239875C11.6439,19.331275,11.82202,19.378075,12.0001,19.378075C12.1783,19.378075,12.3564,19.331275,12.5158,19.239875C12.5158,19.239875,15.8087,17.343775,15.8087,17.343775C15.8087,17.343775,16.9501,18.007075,16.9501,18.007075C16.7369,19.078175,17.212600000000002,20.214875,18.2064,20.791375C19.4556,21.515575,21.0541,21.086675,21.7736,19.830475C22.4955,18.574175,22.0689,16.971075,20.8197,16.246875C20.8197,16.246875,20.8197,16.246875,20.8197,16.246875C20.8197,16.246875,20.8197,16.246875,20.8197,16.246875ZM5.04624,19.490575C4.51187,19.799975,3.82515,19.617175,3.5181199999999997,19.078175C3.2087399999999997,18.541375000000002,3.39155,17.852375000000002,3.92827,17.542975C4.46265,17.233575000000002,5.149369999999999,17.416375000000002,5.4564,17.955475C5.76577,18.492175,5.58296,19.181275,5.04624,19.490575C5.04624,19.490575,5.04624,19.490575,5.04624,19.490575ZM10.87515,5.484375C10.87515,4.863284999999999,11.37905,4.359375,12.0001,4.359375C12.6212,4.359375,13.1251,4.863284999999999,13.1251,5.484375C13.1251,6.105465000000001,12.6212,6.609375,12.0001,6.609375C11.37905,6.609375,10.87515,6.105465000000001,10.87515,5.484375C10.87515,5.484375,10.87515,5.484375,10.87515,5.484375ZM14.8595,15.942175C14.8595,15.942175,12.0001,17.589875,12.0001,17.589875C12.0001,17.589875,9.14077,15.942175,9.14077,15.942175C9.14077,15.942175,9.14077,12.651565,9.14077,12.651565C9.14077,12.651565,12.0001,11.003905,12.0001,11.003905C12.0001,11.003905,14.8595,12.651565,14.8595,12.651565C14.8595,12.651565,14.8595,15.942175,14.8595,15.942175C14.8595,15.942175,14.8595,15.942175,14.8595,15.942175C14.8595,15.942175,14.8595,15.942175,14.8595,15.942175ZM20.4822,19.080475C20.1728,19.617175,19.4884,19.802375,18.9541,19.492975C18.4197,19.183575,18.2345,18.494574999999998,18.5439,17.957774999999998C18.8533,17.421075000000002,19.5376,17.235975,20.072,17.545275C20.6087,17.854675,20.7916,18.541375000000002,20.4822,19.080475C20.4822,19.080475,20.4822,19.080475,20.4822,19.080475Z" fill="#262626" fill-opacity="1"/></g></g></svg>

After

Width:  |  Height:  |  Size: 3.4 KiB

1
src/assets/icons/svg/rocket.svg

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="24" height="24" viewBox="0 0 24 24"><defs><clipPath id="master_svg0_0_10721"><rect x="0" y="0" width="24" height="24" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_0_10721)"><g><path d="M20.25,17.24995C20.25,14.63435,18.7172,12.37495,16.5,11.32266C16.5,11.32266,16.5,7.43672,16.5,7.43672C16.5,7.08281,16.375799999999998,6.74063,16.1461,6.47109C16.1461,6.47109,12.57422,2.235938,12.57422,2.235938C12.42422,2.0578125,12.21094,1.96875,12,1.96875C11.78906,1.96875,11.57578,2.0578125,11.42578,2.235938C11.42578,2.235938,7.85391,6.47109,7.85391,6.47109C7.62656,6.74063,7.5,7.08281,7.5,7.43672C7.5,7.43672,7.5,11.32266,7.5,11.32266C5.28281,12.37495,3.75,14.63435,3.75,17.24995C3.75,17.24995,7.41797,17.24995,7.41797,17.24995C7.36406,17.41875,7.33594,17.60155,7.33594,17.807850000000002C7.33594,18.32575,7.514060000000001,18.83205,7.8375,19.23285C8.10234,19.56095,8.45156,19.80935,8.847660000000001,19.95005C9.38906,21.21565,10.619530000000001,22.03125,12,22.03125C12.68203,22.03125,13.34297,21.82965,13.9078,21.45005C14.4609,21.07965,14.8898,20.56175,15.15,19.95005C15.5461,19.80935,15.8953,19.56325,16.1602,19.23515C16.4836,18.83205,16.6617,18.32575,16.6617,17.81015C16.6617,17.61325,16.6359,17.42575,16.589100000000002,17.25235C16.589100000000002,17.25235,20.25,17.25235,20.25,17.25235C20.25,17.25235,20.25,17.24995,20.25,17.24995C20.25,17.24995,20.25,17.24995,20.25,17.24995ZM17.8664,14.56405C18.0867,14.90625,18.2648,15.27425,18.393700000000003,15.65625C18.393700000000003,15.65625,16.4062,15.65625,16.4062,15.65625C16.4062,15.65625,16.4062,13.09455,16.4062,13.09455C16.9875,13.47425,17.4867,13.97345,17.8664,14.56405C17.8664,14.56405,17.8664,14.56405,17.8664,14.56405C17.8664,14.56405,17.8664,14.56405,17.8664,14.56405ZM9.09375,11.32266C9.09375,11.32266,9.09375,7.47187,9.09375,7.47187C9.09375,7.47187,12,4.02656,12,4.02656C12,4.02656,14.9062,7.47187,14.9062,7.47187C14.9062,7.47187,14.9062,15.65625,14.9062,15.65625C14.9062,15.65625,9.09375,15.65625,9.09375,15.65625C9.09375,15.65625,9.09375,11.32266,9.09375,11.32266C9.09375,11.32266,9.09375,11.32266,9.09375,11.32266ZM5.60625,15.65625C5.7351600000000005,15.27425,5.91328,14.90625,6.13359,14.56405C6.51563,13.97345,7.0125,13.47425,7.59375,13.09455C7.59375,13.09455,7.59375,15.65625,7.59375,15.65625C7.59375,15.65625,5.60625,15.65625,5.60625,15.65625C5.60625,15.65625,5.60625,15.65625,5.60625,15.65625ZM14.7211,18.37965C14.5992,18.45005,14.4586,18.47815,14.3203,18.45935C14.3203,18.45935,13.8633,18.40315,13.8633,18.40315C13.8633,18.40315,13.7977,18.85785,13.7977,18.85785C13.67109,19.74605,12.89766,20.41645,12,20.41645C11.10234,20.41645,10.32891,19.74605,10.20234,18.85785C10.20234,18.85785,10.13672,18.40075,10.13672,18.40075C10.13672,18.40075,9.67969,18.45935,9.67969,18.45935C9.65625,18.46175,9.630469999999999,18.46405,9.60234,18.46405C9.4875,18.46405,9.37734,18.43355,9.27891,18.37735C9.075,18.26015,8.94844,18.04215,8.94844,17.80545C8.94844,17.55705,9.08672,17.350749999999998,9.29062,17.24765C9.29062,17.24765,14.7117,17.24765,14.7117,17.24765C14.918,17.35315,15.0539,17.559350000000002,15.0539,17.80545C15.0516,18.04455,14.925,18.26485,14.7211,18.37965C14.7211,18.37965,14.7211,18.37965,14.7211,18.37965Z" fill="#262626" fill-opacity="1"/></g><g><path d="M10.875,9.375C10.875000000000002,9.67337,10.993526,9.95952,11.204505,10.1705C11.415483,10.38147,11.701631,10.5,12,10.5C12.29837,10.5,12.58452,10.38147,12.795490000000001,10.1705C13.00647,9.95952,13.125,9.67337,13.125,9.375C13.125,9.076631,13.00647,8.790483,12.795490000000001,8.579505C12.58452,8.368526,12.29837,8.25,12,8.25C11.701631,8.25,11.415483,8.368526,11.204505,8.579505C10.993526,8.790483,10.875000000000002,9.076631,10.875,9.375C10.875,9.375,10.875,9.375,10.875,9.375C10.875,9.375,10.875,9.375,10.875,9.375Z" fill="#262626" fill-opacity="1"/></g></g></svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

1
src/assets/icons/svg/safe.svg

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="24" height="24" viewBox="0 0 24 24"><defs><clipPath id="master_svg0_0_11033"><rect x="0" y="0" width="24" height="24" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_0_11033)"><g><path d="M20.317925,3.98203C20.317925,3.98203,12.353905,1.2679687,12.353905,1.2679687C12.257815,1.2351562,12.128905,1.21875,12.000005,1.21875C11.871095,1.21875,11.742185,1.2351562,11.646095,1.2679687C11.646095,1.2679687,3.682031,3.98203,3.682031,3.98203C3.4875,4.0476600000000005,3.328125,4.27266,3.328125,4.47891C3.328125,4.47891,3.328125,15.78515,3.328125,15.78515C3.328125,15.99145,3.461719,16.26325,3.623438,16.39215C3.623438,16.39215,11.702345,22.68745,11.702345,22.68745C11.784375,22.75075,11.889845,22.78355,11.997655,22.78355C12.105465,22.78355,12.213285,22.75075,12.292965,22.68745C12.292965,22.68745,20.371925,16.39215,20.371925,16.39215C20.533625,16.26565,20.667225,15.99375,20.667225,15.78515C20.667225,15.78515,20.667225,4.47891,20.667225,4.47891C20.671925,4.27266,20.512525,4.05,20.317925,3.98203C20.317925,3.98203,20.317925,3.98203,20.317925,3.98203C20.317925,3.98203,20.317925,3.98203,20.317925,3.98203ZM18.984425,15.33515C18.984425,15.33515,12.000005,20.77735,12.000005,20.77735C12.000005,20.77735,5.015625,15.33515,5.015625,15.33515C5.015625,15.33515,5.015625,5.31328,5.015625,5.31328C5.015625,5.31328,12.000005,2.93203,12.000005,2.93203C12.000005,2.93203,18.984425,5.31328,18.984425,5.31328C18.984425,5.31328,18.984425,15.33515,18.984425,15.33515C18.984425,15.33515,18.984425,15.33515,18.984425,15.33515Z" fill="#262626" fill-opacity="1"/></g><g><path d="M9.47383585784912,10.624220000000001C9.403525857849122,10.52812,9.291025857849121,10.469529999999999,9.169155857849121,10.469529999999999C9.169155857849121,10.469529999999999,7.875402857849121,10.469529999999999,7.875402857849121,10.469529999999999C7.723058957849121,10.469529999999999,7.633996457849121,10.64297,7.723058957849121,10.76718C7.723058957849121,10.76718,10.68555585784912,14.84531,10.68555585784912,14.84531C10.835555857849121,15.05156,11.14493585784912,15.05156,11.294935857849122,14.84531C11.294935857849122,14.84531,16.27774585784912,7.985156,16.27774585784912,7.985156C16.366805857849123,7.860938,16.27774585784912,7.6875,16.12540585784912,7.6875C16.12540585784912,7.6875,14.831655857849121,7.6875,14.831655857849121,7.6875C14.71212585784912,7.6875,14.597275857849121,7.7460938,14.52696585784912,7.842188C14.52696585784912,7.842188,10.990245857849121,12.7125,10.990245857849121,12.7125C10.990245857849121,12.7125,9.47383585784912,10.624220000000001,9.47383585784912,10.624220000000001C9.47383585784912,10.624220000000001,9.47383585784912,10.624220000000001,9.47383585784912,10.624220000000001C9.47383585784912,10.624220000000001,9.47383585784912,10.624220000000001,9.47383585784912,10.624220000000001Z" fill="#262626" fill-opacity="1"/></g></g></svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

1
src/assets/icons/svg/safe2.svg

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.2 KiB

1
src/assets/icons/svg/safe3.svg

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="24" height="24" viewBox="0 0 24 24"><defs><clipPath id="master_svg0_0_11150"><rect x="0" y="0" width="24" height="24" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_0_11150)"><g><path d="M20.317925,3.98203C20.317925,3.98203,12.353905,1.2679687,12.353905,1.2679687C12.257815,1.2351562,12.128905,1.21875,12.000005,1.21875C11.871095,1.21875,11.742185,1.2351562,11.646095,1.2679687C11.646095,1.2679687,3.682031,3.98203,3.682031,3.98203C3.4875,4.0476600000000005,3.328125,4.27266,3.328125,4.47891C3.328125,4.47891,3.328125,15.78515,3.328125,15.78515C3.328125,15.99145,3.461719,16.26325,3.623438,16.39215C3.623438,16.39215,11.702345,22.68745,11.702345,22.68745C11.784375,22.75075,11.889845,22.78355,11.997655,22.78355C12.105465,22.78355,12.213285,22.75075,12.292965,22.68745C12.292965,22.68745,20.371925,16.39215,20.371925,16.39215C20.533625,16.26565,20.667225,15.99375,20.667225,15.78515C20.667225,15.78515,20.667225,4.47891,20.667225,4.47891C20.671925,4.27266,20.512525,4.05,20.317925,3.98203C20.317925,3.98203,20.317925,3.98203,20.317925,3.98203C20.317925,3.98203,20.317925,3.98203,20.317925,3.98203ZM18.984425,15.33515C18.984425,15.33515,12.000005,20.77735,12.000005,20.77735C12.000005,20.77735,5.015625,15.33515,5.015625,15.33515C5.015625,15.33515,5.015625,5.31328,5.015625,5.31328C5.015625,5.31328,12.000005,2.93203,12.000005,2.93203C12.000005,2.93203,18.984425,5.31328,18.984425,5.31328C18.984425,5.31328,18.984425,15.33515,18.984425,15.33515C18.984425,15.33515,18.984425,15.33515,18.984425,15.33515Z" fill="#262626" fill-opacity="1"/></g><g><path d="M9.442962969207764,12.393743967132568C9.442962969207764,12.393743967132568,7.626555169207764,14.21015396713257,7.626555169207764,14.21015396713257C7.553898869207764,14.282803967132569,7.553898869207764,14.402333967132568,7.626555169207764,14.47499396713257C7.626555169207764,14.47499396713257,8.423430969207764,15.271863967132568,8.423430969207764,15.271863967132568C8.496086969207763,15.344523967132568,8.615622969207763,15.344523967132568,8.688272969207764,15.271863967132568C8.688272969207764,15.271863967132568,10.504682969207764,13.45546396713257,10.504682969207764,13.45546396713257C11.810152969207763,14.278113967132569,13.553902969207764,14.121083967132568,14.690622969207764,12.98437396713257C16.010152969207766,11.664843967132569,16.010152969207766,9.527343967132568,14.690622969207764,8.207811967132569C13.371092969207764,6.888280967132569,11.233592969207763,6.888280967132569,9.914052969207763,8.207811967132569C8.777332969207764,9.344533967132568,8.620302969207764,11.090623967132569,9.442962969207764,12.393743967132568C9.442962969207764,12.393743967132568,9.442962969207764,12.393743967132568,9.442962969207764,12.393743967132568C9.442962969207764,12.393743967132568,9.442962969207764,12.393743967132568,9.442962969207764,12.393743967132568ZM10.975772969207764,9.269523967132567C11.709372969207763,8.535933967132568,12.897652969207764,8.535933967132568,13.628902969207765,9.269523967132567C14.362492969207764,10.003123967132568,14.362492969207764,11.191403967132569,13.628902969207765,11.922653967132568C12.895312969207763,12.656243967132568,11.707022969207763,12.656243967132568,10.975772969207764,11.922653967132568C10.244522969207765,11.189053967132569,10.242182969207764,10.003123967132568,10.975772969207764,9.269523967132567C10.975772969207764,9.269523967132567,10.975772969207764,9.269523967132567,10.975772969207764,9.269523967132567C10.975772969207764,9.269523967132567,10.975772969207764,9.269523967132567,10.975772969207764,9.269523967132567Z" fill="#262626" fill-opacity="1"/></g></g></svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

1
src/assets/icons/svg/save.svg

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="24" height="24" viewBox="0 0 24 24"><defs><clipPath id="master_svg0_0_11048"><rect x="0" y="0" width="24" height="24" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_0_11048)"><g><path d="M20.9367,6.87422C20.9367,6.87422,17.125799999999998,3.063281,17.125799999999998,3.063281C16.95,2.8875,16.7344,2.758594,16.5,2.6882812C16.5,2.6882812,16.5,2.625,16.5,2.625C16.5,2.625,3.375,2.625,3.375,2.625C2.960156,2.625,2.625,2.960156,2.625,3.375C2.625,3.375,2.625,20.625,2.625,20.625C2.625,21.0398,2.960156,21.375,3.375,21.375C3.375,21.375,20.625,21.375,20.625,21.375C21.0398,21.375,21.375,21.0398,21.375,20.625C21.375,20.625,21.375,7.93359,21.375,7.93359C21.375,7.53516,21.218,7.15547,20.9367,6.87422C20.9367,6.87422,20.9367,6.87422,20.9367,6.87422ZM9,4.3125C9,4.3125,15,4.3125,15,4.3125C15,4.3125,15,6.75,15,6.75C15,6.75,9,6.75,9,6.75C9,6.75,9,4.3125,9,4.3125C9,4.3125,9,4.3125,9,4.3125ZM19.6875,19.6875C19.6875,19.6875,4.3125,19.6875,4.3125,19.6875C4.3125,19.6875,4.3125,4.3125,4.3125,4.3125C4.3125,4.3125,7.5,4.3125,7.5,4.3125C7.5,4.3125,7.5,7.5,7.5,7.5C7.5,7.91484,7.83516,8.25,8.25,8.25C8.25,8.25,15.75,8.25,15.75,8.25C16.1648,8.25,16.5,7.91484,16.5,7.5C16.5,7.5,16.5,4.82344,16.5,4.82344C16.5,4.82344,19.6875,8.01094,19.6875,8.01094C19.6875,8.01094,19.6875,19.6875,19.6875,19.6875C19.6875,19.6875,19.6875,19.6875,19.6875,19.6875Z" fill="#262626" fill-opacity="1"/></g><g><path d="M12,10.359375C10.13672,10.359375,8.625,11.871095,8.625,13.734375C8.625,15.597655,10.13672,17.109375,12,17.109375C13.86328,17.109375,15.375,15.597655,15.375,13.734375C15.375,11.871095,13.86328,10.359375,12,10.359375C12,10.359375,12,10.359375,12,10.359375ZM12,15.609375C10.96406,15.609375,10.125,14.770315,10.125,13.734375C10.125,12.698435,10.96406,11.859375,12,11.859375C13.03594,11.859375,13.875,12.698435,13.875,13.734375C13.875,14.770315,13.03594,15.609375,12,15.609375C12,15.609375,12,15.609375,12,15.609375Z" fill="#262626" fill-opacity="1"/></g></g></svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

1
src/assets/icons/svg/server1.svg

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="24" height="24" viewBox="0 0 24 24"><defs><clipPath id="master_svg0_0_11095"><rect x="0" y="0" width="24" height="24" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_0_11095)"><g><path d="M19.5,1.5C19.5,1.5,4.5,1.5,4.5,1.5C4.085156,1.5,3.75,1.835156,3.75,2.25C3.75,2.25,3.75,21.75,3.75,21.75C3.75,22.1648,4.085156,22.5,4.5,22.5C4.5,22.5,19.5,22.5,19.5,22.5C19.9148,22.5,20.25,22.1648,20.25,21.75C20.25,21.75,20.25,2.25,20.25,2.25C20.25,1.835156,19.9148,1.5,19.5,1.5C19.5,1.5,19.5,1.5,19.5,1.5ZM5.4375,3.1875C5.4375,3.1875,18.5625,3.1875,18.5625,3.1875C18.5625,3.1875,18.5625,8.0625,18.5625,8.0625C18.5625,8.0625,5.4375,8.0625,5.4375,8.0625C5.4375,8.0625,5.4375,3.1875,5.4375,3.1875C5.4375,3.1875,5.4375,3.1875,5.4375,3.1875ZM18.5625,14.4375C18.5625,14.4375,5.4375,14.4375,5.4375,14.4375C5.4375,14.4375,5.4375,9.5625,5.4375,9.5625C5.4375,9.5625,18.5625,9.5625,18.5625,9.5625C18.5625,9.5625,18.5625,14.4375,18.5625,14.4375C18.5625,14.4375,18.5625,14.4375,18.5625,14.4375ZM18.5625,20.8125C18.5625,20.8125,5.4375,20.8125,5.4375,20.8125C5.4375,20.8125,5.4375,15.9375,5.4375,15.9375C5.4375,15.9375,18.5625,15.9375,18.5625,15.9375C18.5625,15.9375,18.5625,20.8125,18.5625,20.8125C18.5625,20.8125,18.5625,20.8125,18.5625,20.8125Z" fill="#262626" fill-opacity="1"/></g><g><path d="M11.625,4.875C11.625,4.875,7.3125,4.875,7.3125,4.875C7.209375,4.875,7.125,4.959375,7.125,5.0625C7.125,5.0625,7.125,6.1875,7.125,6.1875C7.125,6.2906200000000005,7.209375,6.375,7.3125,6.375C7.3125,6.375,11.625,6.375,11.625,6.375C11.72813,6.375,11.8125,6.2906200000000005,11.8125,6.1875C11.8125,6.1875,11.8125,5.0625,11.8125,5.0625C11.8125,4.959375,11.72813,4.875,11.625,4.875C11.625,4.875,11.625,4.875,11.625,4.875ZM7.3125,12.75C7.3125,12.75,11.625,12.75,11.625,12.75C11.72813,12.75,11.8125,12.66563,11.8125,12.5625C11.8125,12.5625,11.8125,11.4375,11.8125,11.4375C11.8125,11.33437,11.72813,11.25,11.625,11.25C11.625,11.25,7.3125,11.25,7.3125,11.25C7.209375,11.25,7.125,11.33437,7.125,11.4375C7.125,11.4375,7.125,12.5625,7.125,12.5625C7.125,12.66563,7.209375,12.75,7.3125,12.75C7.3125,12.75,7.3125,12.75,7.3125,12.75Z" fill="#262626" fill-opacity="1"/></g><g><path d="M15,18.46875C15,18.71739,15.098772,18.95585,15.274587,19.13166C15.450403,19.307479999999998,15.68886,19.40625,15.9375,19.40625C16.18614,19.40625,16.4246,19.307479999999998,16.60041,19.13166C16.776229999999998,18.95585,16.875,18.71739,16.875,18.46875C16.875,18.22011,16.776229999999998,17.981653,16.60041,17.805837C16.4246,17.630022,16.18614,17.53125,15.9375,17.53125C15.68886,17.53125,15.450403,17.630022,15.274587,17.805837C15.098772,17.981653,15,18.22011,15,18.46875C15,18.46875,15,18.46875,15,18.46875C15,18.46875,15,18.46875,15,18.46875Z" fill="#262626" fill-opacity="1"/></g></g></svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

1
src/assets/icons/svg/server2.svg

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="24" height="24" viewBox="0 0 24 24"><defs><clipPath id="master_svg0_0_11065"><rect x="0" y="0" width="24" height="24" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_0_11065)"><g><path d="M19.5,1.5C19.5,1.5,4.5,1.5,4.5,1.5C4.085156,1.5,3.75,1.835156,3.75,2.25C3.75,2.25,3.75,21.75,3.75,21.75C3.75,22.1648,4.085156,22.5,4.5,22.5C4.5,22.5,19.5,22.5,19.5,22.5C19.9148,22.5,20.25,22.1648,20.25,21.75C20.25,21.75,20.25,2.25,20.25,2.25C20.25,1.835156,19.9148,1.5,19.5,1.5C19.5,1.5,19.5,1.5,19.5,1.5ZM5.4375,3.1875C5.4375,3.1875,18.5625,3.1875,18.5625,3.1875C18.5625,3.1875,18.5625,8.0625,18.5625,8.0625C18.5625,8.0625,5.4375,8.0625,5.4375,8.0625C5.4375,8.0625,5.4375,3.1875,5.4375,3.1875C5.4375,3.1875,5.4375,3.1875,5.4375,3.1875ZM18.5625,14.4375C18.5625,14.4375,5.4375,14.4375,5.4375,14.4375C5.4375,14.4375,5.4375,9.5625,5.4375,9.5625C5.4375,9.5625,18.5625,9.5625,18.5625,9.5625C18.5625,9.5625,18.5625,14.4375,18.5625,14.4375C18.5625,14.4375,18.5625,14.4375,18.5625,14.4375ZM18.5625,20.8125C18.5625,20.8125,5.4375,20.8125,5.4375,20.8125C5.4375,20.8125,5.4375,15.9375,5.4375,15.9375C5.4375,15.9375,18.5625,15.9375,18.5625,15.9375C18.5625,15.9375,18.5625,20.8125,18.5625,20.8125C18.5625,20.8125,18.5625,20.8125,18.5625,20.8125Z" fill="#262626" fill-opacity="1"/></g><g><path d="M7.125,5.625C7.125000000000002,5.87364,7.223772,6.1121,7.399587,6.28791C7.575403,6.46373,7.81386,6.5625,8.0625,6.5625C8.31114,6.5625,8.5496,6.46373,8.72541,6.28791C8.90123,6.1121,9,5.87364,9,5.625C9,5.37636,8.90123,5.137903,8.72541,4.962087C8.5496,4.786272,8.31114,4.6875,8.0625,4.6875C7.81386,4.6875,7.575403,4.786272,7.399587,4.962087C7.223772,5.137903,7.125,5.37636,7.125,5.625C7.125,5.625,7.125,5.625,7.125,5.625C7.125,5.625,7.125,5.625,7.125,5.625Z" fill="#262626" fill-opacity="1"/></g><g><path d="M7.125,12C7.125000000000002,12.24864,7.223772,12.4871,7.399587,12.66291C7.575403,12.83873,7.81386,12.9375,8.0625,12.9375C8.31114,12.9375,8.5496,12.83873,8.72541,12.66291C8.90123,12.4871,9,12.24864,9,12C9,11.75136,8.90123,11.512903,8.72541,11.337087C8.5496,11.161272,8.31114,11.0625,8.0625,11.0625C7.81386,11.0625,7.575403,11.161272,7.399587,11.337087C7.223772,11.512903,7.125,11.75136,7.125,12C7.125,12,7.125,12,7.125,12C7.125,12,7.125,12,7.125,12Z" fill="#262626" fill-opacity="1"/></g><g><path d="M7.125,18.375C7.125000000000002,18.62364,7.223772,18.8621,7.399587,19.03791C7.575403,19.213729999999998,7.81386,19.3125,8.0625,19.3125C8.31114,19.3125,8.5496,19.213729999999998,8.72541,19.03791C8.90123,18.8621,9,18.62364,9,18.375C9,18.12636,8.90123,17.887903,8.72541,17.712087C8.5496,17.536272,8.31114,17.4375,8.0625,17.4375C7.81386,17.4375,7.575403,17.536272,7.399587,17.712087C7.223772,17.887903,7.125,18.12636,7.125,18.375C7.125,18.375,7.125,18.375,7.125,18.375C7.125,18.375,7.125,18.375,7.125,18.375Z" fill="#262626" fill-opacity="1"/></g></g></svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

1
src/assets/icons/svg/share.svg

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="24" height="24" viewBox="0 0 24 24"><defs><clipPath id="master_svg0_0_10861"><rect x="0" y="0" width="24" height="24" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_0_10861)"><g><path d="M17.34375,3.77344C15.89535,3.77344,14.71875,4.95,14.71875,6.39844C14.71875,7.57266,15.49455,8.56875,16.55855,8.90391C16.55855,8.90391,16.55855,11.15156,16.55855,11.15156C16.55855,11.15156,7.5,14.11875,7.5,14.11875C7.5,14.11875,7.5,7.45547,7.5,7.45547C8.53594,7.10391,9.28125,6.1218699999999995,9.28125,4.96875C9.28125,3.5203100000000003,8.10469,2.34375,6.65625,2.34375C5.20781,2.34375,4.03125,3.5203100000000003,4.03125,4.96875C4.03125,6.1218699999999995,4.776562,7.10156,5.8125,7.45547C5.8125,7.45547,5.8125,16.54685,5.8125,16.54685C4.776562,16.89845,4.03125,17.88045,4.03125,19.03355C4.03125,20.48205,5.20781,21.65855,6.65625,21.65855C8.10469,21.65855,9.28125,20.48205,9.28125,19.03355C9.28125,17.88045,8.53594,16.900750000000002,7.5,16.54685C7.5,16.54685,7.5,15.89535,7.5,15.89535C7.5,15.89535,17.42575,12.64455,17.42575,12.64455C17.91565,12.48515,18.24375,12.03047,18.24375,11.51484C18.24375,11.51484,18.24375,8.86406,18.24375,8.86406C19.24925,8.49375,19.96875,7.52812,19.96875,6.39844C19.96875,4.95,18.79215,3.77344,17.34375,3.77344C17.34375,3.77344,17.34375,3.77344,17.34375,3.77344ZM5.53125,4.96875C5.53125,4.347659999999999,6.035159999999999,3.84375,6.65625,3.84375C7.277340000000001,3.84375,7.78125,4.347659999999999,7.78125,4.96875C7.78125,5.589840000000001,7.277340000000001,6.09375,6.65625,6.09375C6.035159999999999,6.09375,5.53125,5.589840000000001,5.53125,4.96875C5.53125,4.96875,5.53125,4.96875,5.53125,4.96875ZM7.78125,19.03125C7.78125,19.65235,7.277340000000001,20.15625,6.65625,20.15625C6.035159999999999,20.15625,5.53125,19.65235,5.53125,19.03125C5.53125,18.41015,6.035159999999999,17.90625,6.65625,17.90625C7.277340000000001,17.90625,7.78125,18.41015,7.78125,19.03125C7.78125,19.03125,7.78125,19.03125,7.78125,19.03125ZM17.34375,7.52344C16.72265,7.52344,16.21875,7.01953,16.21875,6.39844C16.21875,5.777340000000001,16.72265,5.27344,17.34375,5.27344C17.96485,5.27344,18.46875,5.777340000000001,18.46875,6.39844C18.46875,7.01953,17.96485,7.52344,17.34375,7.52344C17.34375,7.52344,17.34375,7.52344,17.34375,7.52344Z" fill="#262626" fill-opacity="1"/></g></g></svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

1
src/assets/icons/svg/store.svg

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="24" height="24" viewBox="0 0 24 24"><defs><clipPath id="master_svg0_0_10697"><rect x="0" y="0" width="24" height="24" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_0_10697)"><g><path d="M20.6719,6.37734C20.6719,6.37734,20.6719,3.375,20.6719,3.375C20.6719,2.960156,20.3367,2.625,19.9219,2.625C19.9219,2.625,4.07812,2.625,4.07812,2.625C3.6632800000000003,2.625,3.328125,2.960156,3.328125,3.375C3.328125,3.375,3.328125,6.37734,3.328125,6.37734C2.936719,6.40078,2.625,6.72656,2.625,7.125C2.625,7.125,2.625,10.21172,2.625,10.21172C2.625,10.78359,2.7375,11.33906,2.9625,11.86172C3.063281,12.10078,3.1875,12.32578,3.328125,12.53906C3.328125,12.53906,3.328125,20.625,3.328125,20.625C3.328125,21.0375,3.6632800000000003,21.375,4.07812,21.375C4.07812,21.375,19.9219,21.375,19.9219,21.375C20.3367,21.375,20.6719,21.0398,20.6719,20.625C20.6719,20.625,20.6719,12.53906,20.6719,12.53906C20.8148,12.32578,20.9367,12.09844,21.0375,11.86172C21.2602,11.33906,21.375,10.78359,21.375,10.21172C21.375,10.21172,21.375,7.125,21.375,7.125C21.375,6.72656,21.0633,6.40078,20.6719,6.37734C20.6719,6.37734,20.6719,6.37734,20.6719,6.37734ZM5.01562,4.3125C5.01562,4.3125,18.9844,4.3125,18.9844,4.3125C18.9844,4.3125,18.9844,6.375,18.9844,6.375C18.9844,6.375,5.01562,6.375,5.01562,6.375C5.01562,6.375,5.01562,4.3125,5.01562,4.3125C5.01562,4.3125,5.01562,4.3125,5.01562,4.3125ZM13.5,19.6898C13.5,19.6898,10.5,19.6898,10.5,19.6898C10.5,19.6898,10.5,17.25,10.5,17.25C10.5,17.25,13.5,17.25,13.5,17.25C13.5,17.25,13.5,19.6898,13.5,19.6898C13.5,19.6898,13.5,19.6898,13.5,19.6898ZM18.9844,19.6898C18.9844,19.6898,15,19.6898,15,19.6898C15,19.6898,15,16.5,15,16.5C15,16.0852,14.6648,15.75,14.25,15.75C14.25,15.75,9.75,15.75,9.75,15.75C9.33516,15.75,9,16.0852,9,16.5C9,16.5,9,19.6898,9,19.6898C9,19.6898,5.01562,19.6898,5.01562,19.6898C5.01562,19.6898,5.01562,14.0133,5.01562,14.0133C5.08359,14.0461,5.15391,14.0789,5.22656,14.107C5.74922,14.3273,6.30469,14.4375,6.87656,14.4375C7.44844,14.4375,8.00156,14.3273,8.52656,14.107C8.85,13.9711,9.15469,13.7977,9.433589999999999,13.5891C9.438279999999999,13.5867,9.442969999999999,13.5867,9.447659999999999,13.5891C9.72656,13.7977,10.02891,13.9711,10.35469,14.107C10.87734,14.3273,11.43281,14.4375,12.00469,14.4375C12.57656,14.4375,13.1297,14.3273,13.6547,14.107C13.9781,13.9711,14.2828,13.7977,14.5617,13.5891C14.5664,13.5867,14.5711,13.5867,14.5758,13.5891C14.8547,13.7977,15.157,13.9711,15.4828,14.107C16.005499999999998,14.3273,16.5609,14.4375,17.1328,14.4375C17.704700000000003,14.4375,18.2578,14.3273,18.7828,14.107C18.8531,14.0766,18.9234,14.0461,18.9938,14.0133C18.9938,14.0133,18.9938,19.6898,18.9938,19.6898C18.9938,19.6898,18.9844,19.6898,18.9844,19.6898C18.9844,19.6898,18.9844,19.6898,18.9844,19.6898ZM19.6875,10.21172C19.6875,11.61328,18.539099999999998,12.75,17.125799999999998,12.75C16.1695,12.75,15.3352,12.23203,14.8945,11.46328C14.8266,11.34609,14.7047,11.27344,14.5687,11.27344C14.5687,11.27344,14.5547,11.27344,14.5547,11.27344C14.4211,11.27344,14.2969,11.34609,14.2289,11.46328C13.7906,12.23203,12.9563,12.75,12,12.75C11.04609,12.75,10.21406,12.23438,9.77344,11.46797C9.70312,11.34844,9.57656,11.27344,9.438279999999999,11.27344C9.3,11.27344,9.17109,11.34844,9.10312,11.46797C8.660160000000001,12.23438,7.82812,12.75,6.87422,12.75C5.46094,12.75,4.3125,11.61328,4.3125,10.21172C4.3125,10.21172,4.3125,8.07422,4.3125,8.07422C4.3125,8.06719,4.31719,8.0625,4.32422,8.0625C4.32422,8.0625,19.6758,8.0625,19.6758,8.0625C19.6828,8.0625,19.6875,8.06719,19.6875,8.07422C19.6875,8.07422,19.6875,10.21172,19.6875,10.21172C19.6875,10.21172,19.6875,10.21172,19.6875,10.21172C19.6875,10.21172,19.6875,10.21172,19.6875,10.21172Z" fill="#262626" fill-opacity="1"/></g></g></svg>

After

Width:  |  Height:  |  Size: 3.7 KiB

1
src/assets/icons/svg/time-circle.svg

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="24" height="24" viewBox="0 0 24 24"><g><g style="opacity:0.00009999999747378752;"><rect x="0" y="0" width="24" height="24" rx="0" fill="#262626" fill-opacity="1"/></g><g><path d="M1.5,12C1.5,6.20156,6.20156,1.5,12,1.5C17.7984,1.5,22.5,6.20156,22.5,12C22.5,17.7984,17.7984,22.5,12,22.5C6.20156,22.5,1.5,17.7984,1.5,12C1.5,12,1.5,12,1.5,12ZM3.28125,12C3.28125,16.8141,7.18594,20.7188,12,20.7188C16.8141,20.7188,20.7188,16.8141,20.7188,12C20.7188,7.18594,16.8141,3.28125,12,3.28125C7.18594,3.28125,3.28125,7.18594,3.28125,12C3.28125,12,3.28125,12,3.28125,12Z" fill-rule="evenodd" fill="#262626" fill-opacity="1"/></g><g><path d="M16.09453,14.96719C16.09453,14.96719,12.75234,12.55078,12.75234,12.55078C12.75234,12.55078,12.75234,6.75,12.75234,6.75C12.75234,6.646875,12.66797,6.5625,12.56484,6.5625C12.56484,6.5625,11.4375,6.5625,11.4375,6.5625C11.334375,6.5625,11.25,6.646875,11.25,6.75C11.25,6.75,11.25,13.20469,11.25,13.20469C11.25,13.26562,11.278125,13.32188,11.3273437,13.35703C11.3273437,13.35703,15.20391,16.183590000000002,15.20391,16.183590000000002C15.28828,16.244529999999997,15.405470000000001,16.22578,15.46641,16.14375C15.46641,16.14375,16.13672,15.22969,16.13672,15.22969C16.19766,15.14297,16.178910000000002,15.02578,16.09453,14.96719C16.09453,14.96719,16.09453,14.96719,16.09453,14.96719C16.09453,14.96719,16.09453,14.96719,16.09453,14.96719Z" fill="#262626" fill-opacity="1"/></g></g></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

1
src/assets/icons/svg/trumpet.svg

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="24" height="24" viewBox="0 0 24 24"><defs><clipPath id="master_svg0_0_11026"><rect x="0" y="0" width="24" height="24" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_0_11026)"><g><path d="M20.625,2.625C20.5359,2.625,20.4445,2.6414063,20.3531,2.6789063C20.3531,2.6789063,6.84375,8.10703,6.84375,8.10703C6.84375,8.10703,3,8.10703,3,8.10703C2.79375,8.10703,2.625,8.280470000000001,2.625,8.496089999999999C2.625,8.496089999999999,2.625,15.5039,2.625,15.5039C2.625,15.7195,2.79375,15.893,3,15.893C3,15.893,5.38359,15.893,5.38359,15.893C5.29687,16.1648,5.25,16.4531,5.25,16.7461C5.25,18.290599999999998,6.51094,19.5469,8.0625,19.5469C9.36094,19.5469,10.45547,18.6656,10.77891,17.475C10.77891,17.475,20.3555,21.3234,20.3555,21.3234C20.4469,21.3586,20.5383,21.3773,20.6273,21.3773C21.0234,21.3773,21.3773,21.0445,21.3773,20.5992C21.3773,20.5992,21.3773,3.403125,21.3773,3.403125C21.375,2.957812,21.0234,2.625,20.625,2.625C20.625,2.625,20.625,2.625,20.625,2.625ZM8.0625,17.8664C7.44141,17.8664,6.9375,17.364800000000002,6.9375,16.7461C6.9375,16.4836,7.02891,16.232799999999997,7.19531,16.0336C7.19531,16.0336,9.18516,16.8328,9.18516,16.8328C9.13828,17.409399999999998,8.653120000000001,17.8664,8.0625,17.8664C8.0625,17.8664,8.0625,17.8664,8.0625,17.8664C8.0625,17.8664,8.0625,17.8664,8.0625,17.8664ZM19.6875,19.2352C19.6875,19.2352,7.47187,14.3273,7.47187,14.3273C7.47187,14.3273,7.16953,14.2055,7.16953,14.2055C7.16953,14.2055,4.3125,14.2055,4.3125,14.2055C4.3125,14.2055,4.3125,9.79453,4.3125,9.79453C4.3125,9.79453,7.16953,9.79453,7.16953,9.79453C7.16953,9.79453,7.47187,9.67266,7.47187,9.67266C7.47187,9.67266,19.6875,4.7648399999999995,19.6875,4.7648399999999995C19.6875,4.7648399999999995,19.6875,19.2352,19.6875,19.2352C19.6875,19.2352,19.6875,19.2352,19.6875,19.2352C19.6875,19.2352,19.6875,19.2352,19.6875,19.2352Z" fill="#262626" fill-opacity="1"/></g></g></svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

1
src/assets/icons/svg/trumpet2.svg

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="24" height="24" viewBox="0 0 24 24"><defs><clipPath id="master_svg0_0_11028"><rect x="0" y="0" width="24" height="24" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_0_11028)"><g><path d="M14.669575,2.6953125C14.531275,2.6953125,14.390575,2.7328126,14.261675,2.8195315C14.261675,2.8195315,5.953125,8.2500025,5.953125,8.2500025C5.953125,8.2500025,2.109375,8.2500025,2.109375,8.2500025C1.903125,8.2500025,1.734375,8.4187525,1.734375,8.6250025C1.734375,8.6250025,1.734375,15.3750125,1.734375,15.3750125C1.734375,15.5812125,1.903125,15.7500125,2.109375,15.7500125C2.109375,15.7500125,5.953125,15.7500125,5.953125,15.7500125C5.953125,15.7500125,14.261675,21.1805125,14.261675,21.1805125C14.390575,21.2648125,14.533575,21.3047125,14.669575,21.3047125C15.060975,21.3047125,15.421875,20.9930125,15.421875,20.5523125C15.421875,20.5523125,15.421875,3.4476565,15.421875,3.4476565C15.421875,3.0070315,15.060975,2.6953125,14.669575,2.6953125C14.669575,2.6953125,14.669575,2.6953125,14.669575,2.6953125ZM13.734375,18.8203125C13.734375,18.8203125,6.876565,14.3367125,6.876565,14.3367125C6.876565,14.3367125,6.454685,14.0625125,6.454685,14.0625125C6.454685,14.0625125,3.421875,14.0625125,3.421875,14.0625125C3.421875,14.0625125,3.421875,9.9375025,3.421875,9.9375025C3.421875,9.9375025,6.454685,9.9375025,6.454685,9.9375025C6.454685,9.9375025,6.874215,9.663282500000001,6.874215,9.663282500000001C6.874215,9.663282500000001,13.734375,5.1796925,13.734375,5.1796925C13.734375,5.1796925,13.734375,18.8203125,13.734375,18.8203125C13.734375,18.8203125,13.734375,18.8203125,13.734375,18.8203125ZM21.890575,11.1562525C21.890575,11.1562525,18.890575,11.1562525,18.890575,11.1562525C18.684375,11.1562525,18.515575,11.3250025,18.515575,11.5312525C18.515575,11.5312525,18.515575,12.4687525,18.515575,12.4687525C18.515575,12.6750025,18.684375,12.8437125,18.890575,12.8437125C18.890575,12.8437125,21.890575,12.8437125,21.890575,12.8437125C22.096875,12.8437125,22.265575,12.6750025,22.265575,12.4687525C22.265575,12.4687525,22.265575,11.5312525,22.265575,11.5312525C22.265575,11.3250025,22.096875,11.1562525,21.890575,11.1562525C21.890575,11.1562525,21.890575,11.1562525,21.890575,11.1562525ZM20.908575,17.292212499999998C20.908575,17.292212499999998,18.323475,15.7992125,18.323475,15.7992125C18.264875,15.7664125,18.201575,15.7500125,18.138275,15.7500125C18.009375,15.7500125,17.882775,15.8180125,17.814875,15.9375125C17.814875,15.9375125,17.348475,16.746112500000002,17.348475,16.746112500000002C17.245275,16.9242125,17.306275,17.1539125,17.484375,17.257012500000002C17.484375,17.257012500000002,20.069575,18.7500125,20.069575,18.7500125C20.128075,18.7828125,20.191375,18.7992125,20.254675,18.7992125C20.383575,18.7992125,20.510175,18.7312125,20.578175,18.6117125C20.578175,18.6117125,21.044575,17.803112499999997,21.044575,17.803112499999997C21.147675,17.6250125,21.084375,17.3953125,20.908575,17.292212499999998C20.908575,17.292212499999998,20.908575,17.292212499999998,20.908575,17.292212499999998C20.908575,17.292212499999998,20.908575,17.292212499999998,20.908575,17.292212499999998ZM17.812475,8.0625025C17.880475,8.1820325,18.007075,8.2500025,18.135975,8.2500025C18.199175,8.2500025,18.262475,8.2335925,18.321075,8.200782499999999C18.321075,8.200782499999999,20.906275,6.7078125,20.906275,6.7078125C21.084375,6.6046925000000005,21.145275,6.3750025,21.042175,6.1968725C21.042175,6.1968725,20.578175,5.3906225,20.578175,5.3906225C20.510175,5.2710925,20.383575,5.2031225,20.254675,5.2031225C20.191375,5.2031225,20.128075,5.2195325,20.069575,5.2523425C20.069575,5.2523425,17.484375,6.7453125,17.484375,6.7453125C17.306275,6.8484325,17.245275,7.0781225,17.348475,7.2562525C17.348475,7.2562525,17.812475,8.0625025,17.812475,8.0625025C17.812475,8.0625025,17.812475,8.0625025,17.812475,8.0625025Z" fill="#262626" fill-opacity="1"/></g></g></svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

1
src/assets/icons/svg/wallet.svg

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="24" height="24" viewBox="0 0 24 24"><defs><clipPath id="master_svg0_0_11045"><rect x="0" y="0" width="24" height="24" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_0_11045)"><g><path d="M20.625,2.625C20.625,2.625,3.375,2.625,3.375,2.625C2.960156,2.625,2.625,2.960156,2.625,3.375C2.625,3.375,2.625,20.625,2.625,20.625C2.625,21.0398,2.960156,21.375,3.375,21.375C3.375,21.375,20.625,21.375,20.625,21.375C21.0398,21.375,21.375,21.0398,21.375,20.625C21.375,20.625,21.375,3.375,21.375,3.375C21.375,2.960156,21.0398,2.625,20.625,2.625C20.625,2.625,20.625,2.625,20.625,2.625ZM19.6875,13.5C19.6875,13.5,12.375,13.5,12.375,13.5C12.375,13.5,12.375,10.5,12.375,10.5C12.375,10.5,19.6875,10.5,19.6875,10.5C19.6875,10.5,19.6875,13.5,19.6875,13.5C19.6875,13.5,19.6875,13.5,19.6875,13.5ZM19.6875,19.6875C19.6875,19.6875,4.3125,19.6875,4.3125,19.6875C4.3125,19.6875,4.3125,4.3125,4.3125,4.3125C4.3125,4.3125,19.6875,4.3125,19.6875,4.3125C19.6875,4.3125,19.6875,9,19.6875,9C19.6875,9,11.625,9,11.625,9C11.21016,9,10.875,9.33516,10.875,9.75C10.875,9.75,10.875,14.25,10.875,14.25C10.875,14.6648,11.21016,15,11.625,15C11.625,15,19.6875,15,19.6875,15C19.6875,15,19.6875,19.6875,19.6875,19.6875C19.6875,19.6875,19.6875,19.6875,19.6875,19.6875Z" fill="#262626" fill-opacity="1"/></g><g><path d="M13.59375,12C13.59375,12.24864,13.692522,12.4871,13.868337,12.66291C14.044153,12.83873,14.28261,12.9375,14.53125,12.9375C14.77989,12.9375,15.01835,12.83873,15.19416,12.66291C15.36998,12.4871,15.46875,12.24864,15.46875,12C15.46875,11.75136,15.36998,11.512903,15.19416,11.337087C15.01835,11.161272,14.77989,11.0625,14.53125,11.0625C14.28261,11.0625,14.044153,11.161272,13.868337,11.337087C13.692522,11.512903,13.59375,11.75136,13.59375,12C13.59375,12,13.59375,12,13.59375,12Z" fill="#262626" fill-opacity="1"/></g></g></svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
src/assets/image/right.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 866 B

BIN
src/assets/image/warning.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 789 B

BIN
src/assets/logo/logo-shuili2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

7
src/assets/styles/element-ui.scss

@ -83,4 +83,11 @@
box-sizing: content-box;
}
.el-tree.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{
background: #36B29E1a;
// border-right: 2px solid #36B29E;
box-shadow: inset -4px 0px 0px 0px #36B29E;
}

30
src/assets/styles/index.scss

@ -154,15 +154,15 @@ aside {
overflow: auto;
.slider-right-body{
width: 100%;
// height: calc(100% - 74px);
height: calc(100% - 50px - 24px);
margin-top: 24px;
padding: 16px;
padding-bottom: 60px; // 预留给分页器的
// padding-bottom: 60px; // 预留给分页器的
background-color: #fff;
// overflow: auto;
overflow: auto;
}
.table-box{
padding-bottom: 60px !important;
// padding-bottom: 60px !important;
}
.bottom-btns{
width: 100%;
@ -191,6 +191,12 @@ aside {
.text-center {
text-align: center
}
.text-left {
text-align: left;
}
.text-right{
text-align: right;
}
.sub-navbar {
height: 50px;
@ -272,34 +278,34 @@ aside {
/* 修改select的样式 */
.el-select {
/deep/.el-input__inner {
::v-deep .el-input__inner {
background: #ffffff;
border-radius: 3px;
height: 32px;
line-height: 32px;
color: #333333;
}
/deep/.el-input__icon {
::v-deep .el-input__icon {
line-height: 32px;
}
}
//边框透明度
.select-normal {
/deep/.el-input__inner {
::v-deep .el-input__inner {
border: 1px solid #c7c7c7;
}
}
.select-opacity {
/deep/.el-input__inner {
::v-deep .el-input__inner {
border: 1px solid rgba(199, 199, 199, 0.3);
}
}
//长度很小的select
.select-small {
/deep/.el-input__inner {
::v-deep .el-input__inner {
padding-right: 22px;
}
/deep/.el-input__suffix {
::v-deep .el-input__suffix {
right: 0;
}
}
@ -325,10 +331,10 @@ aside {
}
}
}
/deep/.el-dialog__header {
::v-deep .el-dialog__header {
padding: 24px 30px 20px 30px;
}
/deep/.el-dialog__body {
::v-deep .el-dialog__body {
padding: 0 30px 24px 30px;
}
}

7
src/assets/styles/sidebar.scss

@ -71,7 +71,7 @@
.el-submenu.is-opened > .el-submenu__title .el-submenu__icon-arrow {
transform: rotate(180deg);
}
.el-submenu.is-opened > .el-submenu__title {
margin-bottom: 0;
}
@ -93,6 +93,11 @@
background-color: #ebf7f5 !important;
}
}
.el-menu-item{
height: 48px;
line-height: 48px;
}
}
// menu hover

9
src/components/Editor/index.vue

@ -266,7 +266,7 @@ export default {
watch: {
value: {
handler(val, oldV) {
console.log(oldV,'1111')
console.log(oldV, "1111");
this.currentValue = val === null ? "" : val;
if (this.quillEditor) {
@ -278,7 +278,6 @@ export default {
this.currentValue
);
// this.quillEditor.clipboard.dangerouslyPasteHTML(this.currentValue);
if (this.quillEditor.getSelection()) {
this.quillEditor.setSelection(this.currentIndex, 0);
@ -663,17 +662,17 @@ Quill.register(FontAttributor, true);
top: 47px;
right: 31px;
.el-select {
/deep/.el-input__inner {
::v-deep .el-input__inner {
border-radius: 4px 0 0 4px;
}
}
/deep/.el-autocomplete {
::v-deep .el-autocomplete {
.el-input__inner {
width: 268px;
}
}
}
/deep/.custom-link {
::v-deep .custom-link {
.el-dialog__header {
padding: 0;
}

132
src/components/HeaderSearch/index.vue

@ -1,6 +1,10 @@
<template>
<div :class="{'show':show}" class="header-search">
<svg-icon class-name="search-icon" icon-class="search" @click.stop="click" />
<div :class="{ show: show }" class="header-search">
<svg-icon
class-name="search-icon"
icon-class="search"
@click.stop="click"
/>
<el-select
ref="headerSearchSelect"
v-model="search"
@ -12,7 +16,12 @@
class="header-search-select"
@change="change"
>
<el-option v-for="item in options" :key="item.path" :value="item" :label="item.title.join(' > ')" />
<el-option
v-for="item in options"
:key="item.path"
:value="item"
:label="item.title.join(' > ')"
/>
</el-select>
</div>
</template>
@ -20,67 +29,67 @@
<script>
// fuse is a lightweight fuzzy-search module
// make search results more in line with expectations
import Fuse from 'fuse.js'
import path from 'path'
import Fuse from "fuse.js";
import path from "path";
export default {
name: 'HeaderSearch',
name: "HeaderSearch",
data() {
return {
search: '',
search: "",
options: [],
searchPool: [],
show: false,
fuse: undefined
}
fuse: undefined,
};
},
computed: {
routes() {
return this.$store.getters.permission_routes
}
return this.$store.getters.permission_routes;
},
},
watch: {
routes() {
this.searchPool = this.generateRoutes(this.routes)
this.searchPool = this.generateRoutes(this.routes);
},
searchPool(list) {
this.initFuse(list)
this.initFuse(list);
},
show(value) {
if (value) {
document.body.addEventListener('click', this.close)
document.body.addEventListener("click", this.close);
} else {
document.body.removeEventListener('click', this.close)
document.body.removeEventListener("click", this.close);
}
}
},
},
mounted() {
this.searchPool = this.generateRoutes(this.routes)
this.searchPool = this.generateRoutes(this.routes);
},
methods: {
click() {
this.show = !this.show
this.show = !this.show;
if (this.show) {
this.$refs.headerSearchSelect && this.$refs.headerSearchSelect.focus()
this.$refs.headerSearchSelect && this.$refs.headerSearchSelect.focus();
}
},
close() {
this.$refs.headerSearchSelect && this.$refs.headerSearchSelect.blur()
this.options = []
this.show = false
this.$refs.headerSearchSelect && this.$refs.headerSearchSelect.blur();
this.options = [];
this.show = false;
},
change(val) {
if(this.ishttp(val.path)) {
if (this.ishttp(val.path)) {
// http(s)://
window.open(val.path, "_blank");
} else {
this.$router.push(val.path)
this.$router.push(val.path);
}
this.search = ''
this.options = []
this.search = "";
this.options = [];
this.$nextTick(() => {
this.show = false
})
this.show = false;
});
},
initFuse(list) {
this.fuse = new Fuse(list, {
@ -90,61 +99,72 @@ export default {
distance: 100,
maxPatternLength: 32,
minMatchCharLength: 1,
keys: [{
name: 'title',
weight: 0.7
}, {
name: 'path',
weight: 0.3
}]
})
keys: [
{
name: "title",
weight: 0.7,
},
{
name: "path",
weight: 0.3,
},
],
});
},
// Filter out the routes that can be displayed in the sidebar
// And generate the internationalized title
generateRoutes(routes, basePath = '/', prefixTitle = []) {
let res = []
generateRoutes(routes, basePath = "/", prefixTitle = []) {
let res = [];
for (const router of routes) {
// skip hidden router
if (router.hidden) { continue }
if (router.hidden) {
continue;
}
const data = {
path: !this.ishttp(router.path) ? path.resolve(basePath, router.path) : router.path,
title: [...prefixTitle]
}
path: !this.ishttp(router.path)
? path.resolve(basePath, router.path)
: router.path,
title: [...prefixTitle],
};
if (router.meta && router.meta.title) {
data.title = [...data.title, router.meta.title]
data.title = [...data.title, router.meta.title];
if (router.redirect !== 'noRedirect') {
if (router.redirect !== "noRedirect") {
// only push the routes with title
// special case: need to exclude parent router without redirect
res.push(data)
res.push(data);
}
}
// recursive child routes
if (router.children) {
const tempRoutes = this.generateRoutes(router.children, data.path, data.title)
const tempRoutes = this.generateRoutes(
router.children,
data.path,
data.title
);
if (tempRoutes.length >= 1) {
res = [...res, ...tempRoutes]
res = [...res, ...tempRoutes];
}
}
}
return res
return res;
},
querySearch(query) {
if (query !== '') {
this.options = this.fuse.search(query)
if (query !== "") {
this.options = this.fuse.search(query);
} else {
this.options = []
this.options = [];
}
},
ishttp(url) {
return url.indexOf('http://') !== -1 || url.indexOf('https://') !== -1
}
}
}
return url.indexOf("http://") !== -1 || url.indexOf("https://") !== -1;
},
},
};
</script>
<style lang="scss" scoped>
@ -167,7 +187,7 @@ export default {
display: inline-block;
vertical-align: middle;
/deep/ .el-input__inner {
::v-deep .el-input__inner {
border-radius: 0;
border: 0;
padding-left: 0;

2
src/components/ParagraphTree/index.vue

@ -436,7 +436,7 @@ export default {
</style>
<style lang="scss" scoped>
/deep/.el-step__main {
::v-deep .el-step__main {
padding-bottom: 36px;
.el-step__title {
position: relative;

3
src/components/myUpload/index.vue

@ -1,7 +1,7 @@
<template>
<el-upload
class="upload-demo"
action="thinking/common/upload"
:action="uploadUrl"
:headers="headers"
:before-upload="(file) => $fileBeforeUpload(file, 'fileList')"
:on-preview="handlePreview"
@ -35,6 +35,7 @@ export default {
},
data() {
return {
uploadUrl: process.env.VUE_APP_BASE_API + "/system/upload",
headers: {
shuili: "water " + getToken(),
},

8
src/layout/components/Navbar.vue

@ -11,7 +11,6 @@
<!-- />-->
<!-- <breadcrumb id="breadcrumb-container" class="breadcrumb-container" />-->
<div class="centerTab">
<!-- <div>安全运行</div> -->
<div
class="tab-item"
v-for="item in topTabList"
@ -21,9 +20,6 @@
>
{{ item.label }}
</div>
<!-- <div class="tab-item" :class="selectTab == 'reservoir' ? 'select-item' : ''" @click="handleSelectTab('reservoir')">水库运行管理</div>
<div class="tab-item" :class="selectTab == 'sluice' ? 'select-item' : ''" @click="handleSelectTab('sluice')">水闸运行管理</div>
<div class="tab-item" :class="selectTab == 'dike' ? 'select-item' : ''" @click="handleSelectTab('dike')">堤防运行管理</div> -->
</div>
<div class="right-menu">
<template v-if="device !== 'mobile'">
@ -144,7 +140,7 @@ export default {
sessionStorage.setItem("topTab", e);
this.$store.dispatch("changeTopTab", e);
this.$router.replace({
path: "/",
path: `/`,
query: {
timestamp: new Date().getTime(),
},
@ -210,6 +206,8 @@ export default {
}
.centerTab {
padding-left: 64px;
flex: 1;
display: inline-flex;
.tab-item {

3
src/layout/components/Sidebar/Logo.vue

@ -21,8 +21,9 @@
<script>
// import logoImg from '@/assets/logo/logo-white.png'
// import logoImg from '@/assets/logo/log-2.png'
import logoImg from "@/assets/logo/logo-shuili.jpg";
// import logoImg from "@/assets/logo/logo-shuili.jpg";
// import logoImg from '@/assets/logo/logo.png'
import logoImg from "@/assets/logo/logo-shuili2.png";
export default {
name: "SidebarLogo",

92
src/layout/components/TagsView/ScrollPane.vue

@ -1,79 +1,90 @@
<template>
<el-scrollbar ref="scrollContainer" :vertical="false" class="scroll-container" @wheel.native.prevent="handleScroll">
<el-scrollbar
ref="scrollContainer"
:vertical="false"
class="scroll-container"
@wheel.native.prevent="handleScroll"
>
<slot />
</el-scrollbar>
</template>
<script>
const tagAndTagSpacing = 4 // tagAndTagSpacing
const tagAndTagSpacing = 4; // tagAndTagSpacing
export default {
name: 'ScrollPane',
name: "ScrollPane",
data() {
return {
left: 0
}
left: 0,
};
},
computed: {
scrollWrapper() {
return this.$refs.scrollContainer.$refs.wrap
}
return this.$refs.scrollContainer.$refs.wrap;
},
},
mounted() {
this.scrollWrapper.addEventListener('scroll', this.emitScroll, true)
this.scrollWrapper.addEventListener("scroll", this.emitScroll, true);
},
beforeDestroy() {
this.scrollWrapper.removeEventListener('scroll', this.emitScroll)
this.scrollWrapper.removeEventListener("scroll", this.emitScroll);
},
methods: {
handleScroll(e) {
const eventDelta = e.wheelDelta || -e.deltaY * 40
const $scrollWrapper = this.scrollWrapper
$scrollWrapper.scrollLeft = $scrollWrapper.scrollLeft + eventDelta / 4
const eventDelta = e.wheelDelta || -e.deltaY * 40;
const $scrollWrapper = this.scrollWrapper;
$scrollWrapper.scrollLeft = $scrollWrapper.scrollLeft + eventDelta / 4;
},
emitScroll() {
this.$emit('scroll')
this.$emit("scroll");
},
moveToTarget(currentTag) {
const $container = this.$refs.scrollContainer.$el
const $containerWidth = $container.offsetWidth
const $scrollWrapper = this.scrollWrapper
const tagList = this.$parent.$refs.tag
const $container = this.$refs.scrollContainer.$el;
const $containerWidth = $container.offsetWidth;
const $scrollWrapper = this.scrollWrapper;
const tagList = this.$parent.$refs.tag;
let firstTag = null
let lastTag = null
let firstTag = null;
let lastTag = null;
// find first tag and last tag
if (tagList.length > 0) {
firstTag = tagList[0]
lastTag = tagList[tagList.length - 1]
firstTag = tagList[0];
lastTag = tagList[tagList.length - 1];
}
if (firstTag === currentTag) {
$scrollWrapper.scrollLeft = 0
$scrollWrapper.scrollLeft = 0;
} else if (lastTag === currentTag) {
$scrollWrapper.scrollLeft = $scrollWrapper.scrollWidth - $containerWidth
$scrollWrapper.scrollLeft =
$scrollWrapper.scrollWidth - $containerWidth;
} else {
// find preTag and nextTag
const currentIndex = tagList.findIndex(item => item === currentTag)
const prevTag = tagList[currentIndex - 1]
const nextTag = tagList[currentIndex + 1]
const currentIndex = tagList.findIndex((item) => item === currentTag);
const prevTag = tagList[currentIndex - 1];
const nextTag = tagList[currentIndex + 1];
// the tag's offsetLeft after of nextTag
const afterNextTagOffsetLeft = nextTag.$el.offsetLeft + nextTag.$el.offsetWidth + tagAndTagSpacing
const afterNextTagOffsetLeft =
nextTag.$el.offsetLeft + nextTag.$el.offsetWidth + tagAndTagSpacing;
// the tag's offsetLeft before of prevTag
const beforePrevTagOffsetLeft = prevTag.$el.offsetLeft - tagAndTagSpacing
const beforePrevTagOffsetLeft =
prevTag.$el.offsetLeft - tagAndTagSpacing;
if (afterNextTagOffsetLeft > $scrollWrapper.scrollLeft + $containerWidth) {
$scrollWrapper.scrollLeft = afterNextTagOffsetLeft - $containerWidth
if (
afterNextTagOffsetLeft >
$scrollWrapper.scrollLeft + $containerWidth
) {
$scrollWrapper.scrollLeft = afterNextTagOffsetLeft - $containerWidth;
} else if (beforePrevTagOffsetLeft < $scrollWrapper.scrollLeft) {
$scrollWrapper.scrollLeft = beforePrevTagOffsetLeft
$scrollWrapper.scrollLeft = beforePrevTagOffsetLeft;
}
}
}
}
}
},
},
};
</script>
<style lang="scss" scoped>
@ -82,13 +93,12 @@ export default {
position: relative;
overflow: hidden;
width: 100%;
/deep/ {
.el-scrollbar__bar {
bottom: 0px;
}
.el-scrollbar__wrap {
height: 49px;
}
::v-deep .el-scrollbar__bar {
bottom: 0px;
}
::v-deep .el-scrollbar__wrap {
height: 49px;
}
}
</style>

36
src/mixins/calcTableHeight.js

@ -0,0 +1,36 @@
/**
* 计算table高度的mixin
* 默认计算tableBoxRef的高度 - topBoxRef的高度
* 如果没有ref的节点则不计算
*
*/
export const calcTableHeight = {
data(){
return {
tableHeight: null,
}
},
mounted() {
this.calcTableHeight();
window.addEventListener('resize', this.calcTableHeight);
},
beforeDestroy() {
window.removeEventListener('resize', this.calcTableHeight);
},
methods: {
calcTableHeight(){
const tableBoxRef = this.$refs.tableBoxRef;
const topBoxRef = this.$refs.topBoxRef;
let h = null
if(tableBoxRef){
h = tableBoxRef.offsetHeight - 32 - 60; // 32: table的padding; 60: table的分页预留空间
if(topBoxRef){
console.dir(topBoxRef.offsetHeight)
h -= topBoxRef.offsetHeight;
}
this.tableHeight = h < 60 ? 60:h;
}
console.log('最后计算的tableHeight >>>> ', this.tableHeight)
}
}
}

2
src/permission.js

@ -23,7 +23,6 @@ router.beforeEach((to, from, next) => {
store.dispatch('GetInfo').then(res => {
// 拉取user_info
const roles = res.roles
console.log('GenerateRoutes >>>>> ')
store.dispatch('GenerateRoutes', { roles }).then(accessRoutes => {
// 测试 默认静态页面
// store.dispatch('permission/generateRoutes', { roles }).then(accessRoutes => {
@ -40,7 +39,6 @@ router.beforeEach((to, from, next) => {
})
} else {
if(!store.getters.permission_add_routes.length){
console.log('GenerateRoutes >>>>> ')
store.dispatch('GenerateRoutes').then(accessRoutes => {
// 测试 默认静态页面
// store.dispatch('permission/generateRoutes', { roles }).then(accessRoutes => {

2
src/router/index.js

@ -157,7 +157,7 @@ const router = createRouter()
// 注册一个全局前置守卫
router.beforeEach((to, from, next) => {
if (to.path === "/singleLogin") {
console.log("单点登录设置token", to.query.token); //判断当前路由是否需要进行权限控制
if (to.query.token) {

20
src/store/modules/permission.js

@ -167,7 +167,7 @@ function filterAsyncRouter(asyncRouterMap) {
return asyncRouterMap.filter((route) => {
if (route.component) {
// Layout组件特殊处理
if (route.component === 'Layout') {
if ( route.component === 'Layout') {
route.component = Layout;
} else {
route.component = loadView(route.component);
@ -202,6 +202,24 @@ function resolveChildrenRoutes(routes, pickRoute = permission.state.selectTab) {
path: `${parentRoute.path}/${v.path}`
};
}) || [];
newChildrenRoutes = newChildrenRoutes.map(v=> {
if(v.path && v.path != '/' && (!v.children || !v.children.length)){
// 为了让非目录的一级菜单正常展示
return {
path: '/',
orderNum: v.orderNum,
meta: v.meta,
component: Layout,
hidden: v.hidden,
children: [
v
]
}
} else {
return v
}
})
}
}
return {

7
src/utils/index.js

@ -466,3 +466,10 @@ export function loadScript(url) {
document.head.appendChild(script)
})
}
// 开发时候生效
export function devRun(cb){
if(process.env.NODE_ENV === 'development'){
if(cb) cb()
}
}

789
src/views/aiSupervision/fourPredictions/warnInfo/components/Tree.vue

@ -1,428 +1,465 @@
<template>
<div class="tree-wrapper">
<div class="tree-filter" v-if="showInput">
<el-input placeholder="请输入搜索关键字" v-model="filterText" maxlength="30" show-word-limit clearable></el-input>
<slot name="filter-btns"></slot>
</div>
<el-tree ref="tree" class="tree-main" :class="{ 'no-checkbox': noCheckbox }" :node-key="nodeKey" :data="data"
:props="defaultProps" :filter-node-method="filterNode" :default-expand-all="defaultExpandAll"
:emptyText="emptyText" :renderAfterExpand="renderAfterExpand" :checkStrictly="checkStrictly"
:expandOnClickNode="expandOnClickNode" :checkOnClickNode="checkOnClickNode"
:checkDescendants="checkDescendants" :autoExpandParent="autoExpandParent"
:defaultCheckedKeys="defaultCheckedKeys" :defaultExpandedKeys="defaultExpandedKeys"
:showCheckbox="showCheckbox" :lazy="lazy" :load="load" :draggable="draggable" :allowDrag="allowDrag"
:allowDrop="allowDrop" :highlightCurrent="highlightCurrent" :accordion="accordion" :indent="indent"
:iconClass="iconClass" :renderContent="renderContent" @node-click="handleNodeClick"
@node-expand="handleExpand" @node-collapse="handleCollapse">
<template slot-scope="{ node, data }">
<div class="custom-tree-node" :class="node.checked || node.indeterminate ? '' : 'opacity'">
<div class="left">
<!-- <iconpark-icon v-if="data && data[defaultProps.children]" class="icon" name="organization"
<div class="tree-wrapper">
<div class="tree-filter" v-if="showInput">
<el-input
placeholder="请输入搜索关键字"
v-model="filterText"
maxlength="30"
show-word-limit
clearable
></el-input>
<slot name="filter-btns"></slot>
</div>
<el-tree
ref="tree"
class="tree-main"
:class="{ 'no-checkbox': noCheckbox }"
:node-key="nodeKey"
:data="data"
:props="defaultProps"
:filter-node-method="filterNode"
:default-expand-all="defaultExpandAll"
:emptyText="emptyText"
:renderAfterExpand="renderAfterExpand"
:checkStrictly="checkStrictly"
:expandOnClickNode="expandOnClickNode"
:checkOnClickNode="checkOnClickNode"
:checkDescendants="checkDescendants"
:autoExpandParent="autoExpandParent"
:defaultCheckedKeys="defaultCheckedKeys"
:defaultExpandedKeys="defaultExpandedKeys"
:showCheckbox="showCheckbox"
:lazy="lazy"
:load="load"
:draggable="draggable"
:allowDrag="allowDrag"
:allowDrop="allowDrop"
:highlightCurrent="highlightCurrent"
:accordion="accordion"
:indent="indent"
:iconClass="iconClass"
:renderContent="renderContent"
@node-click="handleNodeClick"
@node-expand="handleExpand"
@node-collapse="handleCollapse"
>
<template slot-scope="{ node, data }">
<div
class="custom-tree-node"
:class="node.checked || node.indeterminate ? '' : 'opacity'"
>
<div class="left">
<!-- <iconpark-icon v-if="data && data[defaultProps.children]" class="icon" name="organization"
size="16"></iconpark-icon> -->
<slot v-bind="{ node, data }"></slot>
</div>
<div class="right">
<slot name="right" v-bind="{ node, data }"></slot>
<span class="more" @mouseleave="moreMenuLeave">
<slot name="more" v-bind="{ node, data, onMoreHandle }"></slot>
</span>
</div>
</div>
</template>
</el-tree>
<div class="more-menu-box" ref="moreMenuBox" v-show="isMoreMenuShow" @mouseleave="hideMoreMenu">
<slot name="more-menu" v-bind="{ moreMenuData, hideMoreMenu }"></slot>
<slot v-bind="{ node, data }"></slot>
</div>
<div class="right">
<slot name="right" v-bind="{ node, data }"></slot>
<span class="more" @mouseleave="moreMenuLeave">
<slot name="more" v-bind="{ node, data, onMoreHandle }"></slot>
</span>
</div>
</div>
</template>
</el-tree>
<div
class="more-menu-box"
ref="moreMenuBox"
v-show="isMoreMenuShow"
@mouseleave="hideMoreMenu"
>
<slot name="more-menu" v-bind="{ moreMenuData, hideMoreMenu }"></slot>
</div>
</div>
</template>
<script>
let timer;
export default {
name: "tree",
props: {
data: {
type: Array,
default: () => [],
},
emptyText: {
type: String,
default () {
return "暂无数据";
},
},
renderAfterExpand: {
type: Boolean,
default: true,
},
nodeKey: {
type: String,
default: "key",
},
checkStrictly: {
type: Boolean,
default: false,
},
defaultExpandAll: {
type: Boolean,
default: true,
},
expandOnClickNode: {
type: Boolean,
default: true,
},
checkOnClickNode: {
type: Boolean,
default: false,
},
checkDescendants: {
type: Boolean,
default: false,
},
autoExpandParent: {
type: Boolean,
default: true,
},
defaultCheckedKeys: {
type: Array,
default: () => [],
},
defaultExpandedKeys: {
type: Array,
default: () => [],
},
currentNodeKey: [String, Number],
renderContent: Function,
showCheckbox: {
type: Boolean,
default: false,
},
draggable: {
type: Boolean,
default: false,
},
allowDrag: Function,
allowDrop: Function,
defaultProps: {
default () {
return {
children: "children",
label: "label",
isLeaf: "isLeaf",
};
},
},
lazy: {
type: Boolean,
default: false,
},
highlightCurrent: Boolean,
load: Function,
filterNodeMethod: Function,
accordion: Boolean,
indent: {
type: Number,
default: 18,
},
iconClass: String,
noCheckbox: {
type: Boolean,
default: true,
},
showInput: {
type: Boolean,
default: true
}
name: "tree",
props: {
data: {
type: Array,
default: () => [],
},
emptyText: {
type: String,
default() {
return "暂无数据";
},
},
renderAfterExpand: {
type: Boolean,
default: true,
},
nodeKey: {
type: String,
default: "key",
},
checkStrictly: {
type: Boolean,
default: false,
},
defaultExpandAll: {
type: Boolean,
default: true,
},
expandOnClickNode: {
type: Boolean,
default: true,
},
checkOnClickNode: {
type: Boolean,
default: false,
},
data () {
checkDescendants: {
type: Boolean,
default: false,
},
autoExpandParent: {
type: Boolean,
default: true,
},
defaultCheckedKeys: {
type: Array,
default: () => [],
},
defaultExpandedKeys: {
type: Array,
default: () => [],
},
currentNodeKey: [String, Number],
renderContent: Function,
showCheckbox: {
type: Boolean,
default: false,
},
draggable: {
type: Boolean,
default: false,
},
allowDrag: Function,
allowDrop: Function,
defaultProps: {
default() {
return {
filterText: "",
isMoreMenuShow: false,
moreMenuData: null,
moreMenuTriggered: false,
children: "children",
label: "label",
isLeaf: "isLeaf",
};
},
},
lazy: {
type: Boolean,
default: false,
},
highlightCurrent: Boolean,
load: Function,
filterNodeMethod: Function,
accordion: Boolean,
indent: {
type: Number,
default: 18,
},
iconClass: String,
noCheckbox: {
type: Boolean,
default: true,
},
showInput: {
type: Boolean,
default: true,
},
watch: {
filterText (val) {
this.$refs.tree.filter(val);
},
},
data() {
return {
filterText: "",
isMoreMenuShow: false,
moreMenuData: null,
moreMenuTriggered: false,
};
},
watch: {
filterText(val) {
this.$refs.tree.filter(val);
},
},
mounted () { },
methods: {
handleNodeClick (data, node, self) {
this.$emit("node-click", data, node, self);
},
handleExpand (data) {
this.$emit("node-expand", data);
},
handleCollapse (data) {
this.$emit("node-collapse", data);
},
filterNode (value, data) {
if (!value || !data || !data[this.defaultProps.label]) return true;
if (this.filterNodeMethod) {
return this.filterNodeMethod.call(null, value, data);
}
return data[this.defaultProps.label].indexOf(value) !== -1;
},
onMoreHandle (event, data) {
this.$set(this, "moreMenuData", data);
this.isMoreMenuShow = true;
this.moreMenuTriggered = true;
this.$nextTick(() => {
this.$refs.moreMenuBox.style.top = event.clientY + 20 + "px";
this.$refs.moreMenuBox.style.left =
event.clientX - this.$refs.moreMenuBox.offsetWidth + 15 + "px";
});
},
hideMoreMenu () {
clearTimeout(timer);
timer = setTimeout(() => {
this.isMoreMenuShow = false;
}, 600);
},
moreMenuLeave () {
if (this.moreMenuTriggered) {
clearTimeout(timer);
timer = setTimeout(() => {
this.isMoreMenuShow = false;
this.moreMenuTriggered = false;
}, 300);
}
},
toggleShow (node, data, keyName) {
const isShow = !data[keyName];
node.data[keyName] = isShow;
if (node.data.children) {
const traverse = function (arr) {
for (let i = 0; i < arr.length; i++) {
arr[i][keyName] = isShow;
if (arr[i].children) {
traverse(arr[i].children);
}
}
};
traverse(node.data.children);
}
let tempNode = node.parent;
let tempTreeData = [];
while (tempNode) {
tempTreeData = tempNode.data;
if (
tempTreeData.children &&
tempTreeData.children.every((f) => f[keyName] === isShow)
) {
tempTreeData[keyName] = isShow;
}
tempNode = tempNode.parent;
mounted() {},
methods: {
handleNodeClick(data, node, self) {
this.$emit("node-click", data, node, self);
},
handleExpand(data) {
this.$emit("node-expand", data);
},
handleCollapse(data) {
this.$emit("node-collapse", data);
},
filterNode(value, data) {
if (!value || !data || !data[this.defaultProps.label]) return true;
if (this.filterNodeMethod) {
return this.filterNodeMethod.call(null, value, data);
}
return data[this.defaultProps.label].indexOf(value) !== -1;
},
onMoreHandle(event, data) {
this.$set(this, "moreMenuData", data);
this.isMoreMenuShow = true;
this.moreMenuTriggered = true;
this.$nextTick(() => {
this.$refs.moreMenuBox.style.top = event.clientY + 20 + "px";
this.$refs.moreMenuBox.style.left =
event.clientX - this.$refs.moreMenuBox.offsetWidth + 15 + "px";
});
},
hideMoreMenu() {
clearTimeout(timer);
timer = setTimeout(() => {
this.isMoreMenuShow = false;
}, 600);
},
moreMenuLeave() {
if (this.moreMenuTriggered) {
clearTimeout(timer);
timer = setTimeout(() => {
this.isMoreMenuShow = false;
this.moreMenuTriggered = false;
}, 300);
}
},
toggleShow(node, data, keyName) {
const isShow = !data[keyName];
node.data[keyName] = isShow;
if (node.data.children) {
const traverse = function (arr) {
for (let i = 0; i < arr.length; i++) {
arr[i][keyName] = isShow;
if (arr[i].children) {
traverse(arr[i].children);
}
tempTreeData = JSON.parse(JSON.stringify(tempTreeData));
return tempTreeData;
},
getCheckedKeys (leafOnly) {
return this.$refs?.tree?.getCheckedKeys(leafOnly);
},
setCheckedKeys (keys, leafOnly) {
this.$refs?.tree?.setCheckedKeys(keys, leafOnly);
},
getCheckedNode (leafOnly) {
return this.$refs?.tree?.getCheckedNodes(leafOnly);
},
getNode (data) {
return this.$refs?.tree?.getNode(data);
},
setChecked (key, checked, deep) {
this.$refs?.tree?.setChecked(key, checked, deep);
},
updateKeyChildren (key, data) {
this.$refs?.tree?.updateKeyChildren(key, data);
},
},
beforeDestroy () { },
}
};
traverse(node.data.children);
}
let tempNode = node.parent;
let tempTreeData = [];
while (tempNode) {
tempTreeData = tempNode.data;
if (
tempTreeData.children &&
tempTreeData.children.every((f) => f[keyName] === isShow)
) {
tempTreeData[keyName] = isShow;
}
tempNode = tempNode.parent;
}
tempTreeData = JSON.parse(JSON.stringify(tempTreeData));
return tempTreeData;
},
getCheckedKeys(leafOnly) {
return this.$refs?.tree?.getCheckedKeys(leafOnly);
},
setCheckedKeys(keys, leafOnly) {
this.$refs?.tree?.setCheckedKeys(keys, leafOnly);
},
getCheckedNode(leafOnly) {
return this.$refs?.tree?.getCheckedNodes(leafOnly);
},
getNode(data) {
return this.$refs?.tree?.getNode(data);
},
setChecked(key, checked, deep) {
this.$refs?.tree?.setChecked(key, checked, deep);
},
updateKeyChildren(key, data) {
this.$refs?.tree?.updateKeyChildren(key, data);
},
},
beforeDestroy() {},
};
</script>
<style lang="scss" scoped>
.tree-wrapper {
padding: 12px 0;
min-height: 350px;
padding: 12px 0;
min-height: 350px;
::v-deep.tree-filter {
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 16px;
margin-bottom: 8px;
::v-deep .tree-filter {
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 16px;
margin-bottom: 8px;
.el-input__inner,
.el-textarea__inner {
// color: #fff;
.el-input__inner,
.el-textarea__inner {
// color: #fff;
&::placeholder {
color: rgba(255, 255, 255, 0.35);
font-size: 12px;
}
}
&::placeholder {
color: rgba(255, 255, 255, 0.35);
font-size: 12px;
}
}
.el-input__count .el-input__count-inner {
background: transparent;
}
.el-input__count .el-input__count-inner {
background: transparent;
}
.el-input__inner {
//background-color: transparent;
border-color: transparent;
}
.el-input__inner {
//background-color: transparent;
border-color: transparent;
}
.is-disabled {
background-color: transparent;
}
.is-disabled {
background-color: transparent;
}
}
::v-deep .el-input {
.el-input__inner {
height: 32px;
line-height: 32px;
background-color: #444550;
color: rgb(38, 38, 38);
border: none;
padding-left: 8px;
}
::v-deep .el-input {
.el-input__inner {
height: 32px;
line-height: 32px;
background-color: #444550;
color: rgb(38, 38, 38);
border: none;
padding-left: 8px;
}
.el-input__count-inner {
background: #444550;
color: rgba(255, 255, 255, 0.35);
}
.el-input__count-inner {
background: #444550;
color: rgba(255, 255, 255, 0.35);
}
.el-input__icon {
line-height: 28px;
}
.el-input__icon {
line-height: 28px;
}
}
::v-deep.tree-main {
background: none;
padding: 0 16px;
::v-deep .tree-main {
background: none;
padding: 0 16px;
.el-tree-node__content {
height: 34px;
line-height: 34px;
margin-bottom: 4px;
display: flex;
align-items: center;
justify-content: flex-start;
}
.el-tree-node__content {
height: 34px;
line-height: 34px;
margin-bottom: 4px;
display: flex;
align-items: center;
justify-content: flex-start;
}
.el-tree-node:focus>.el-tree-node__content,
.el-tree-node__content:hover {
background: #ebf7f5;
color: rgb(54, 178, 158) !important;
// border-right: 3px solid #36b29e;
}
.el-tree-node:focus > .el-tree-node__content,
.el-tree-node__content:hover {
background: #ebf7f5;
color: rgb(54, 178, 158) !important;
// border-right: 3px solid #36b29e;
}
//.el-tree-node__expand-icon {
// color: rgba(255, 255, 255, 0.55);
// }
//.el-tree-node__expand-icon {
// color: rgba(255, 255, 255, 0.55);
// }
.el-tree-node__expand-icon.is-leaf {
color: transparent;
cursor: default;
}
.el-tree-node__expand-icon.is-leaf {
color: transparent;
cursor: default;
}
.custom-tree-node {
display: flex;
justify-content: space-between;
align-items: center;
// color: rgb(38, 38, 38);
// width: 100%;
// padding-right: 8px;
font-family: "思源黑体";
font-size: 14px;
font-weight: normal;
letter-spacing: 0em;
flex: 1;
.custom-tree-node {
display: flex;
justify-content: space-between;
align-items: center;
// color: rgb(38, 38, 38);
// width: 100%;
// padding-right: 8px;
font-family: "思源黑体";
font-size: 14px;
font-weight: normal;
letter-spacing: 0em;
flex: 1;
.left,
.right {
display: flex;
justify-content: space-between;
align-items: center;
}
.left,
.right {
display: flex;
justify-content: space-between;
align-items: center;
}
.icon {
margin-right: 8px;
}
.icon {
margin-right: 8px;
}
.name {
// flex: 1;
max-width: 120px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.name {
// flex: 1;
max-width: 120px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.btn-item {
margin-right: 9px;
display: flex;
justify-content: center;
align-items: center;
.btn-item {
margin-right: 9px;
display: flex;
justify-content: center;
align-items: center;
&:hover {
background: rgba(255, 255, 255, 0.16);
}
}
&:hover {
background: rgba(255, 255, 255, 0.16);
}
}
}
.custom-tree-node.opacity {
// opacity: 0.5;
}
.custom-tree-node.opacity {
// opacity: 0.5;
}
&.no-checkbox {
.el-tree-node__content {
.el-checkbox {
display: none;
}
}
&.no-checkbox {
.el-tree-node__content {
.el-checkbox {
display: none;
}
}
}
}
.more-menu-box {
position: fixed;
background-color: #4d4f5b;
border-radius: 4px;
z-index: 1000;
padding: 8px;
border: 0.5px solid rgba(255, 255, 255, 0.16);
box-shadow: 0px 3px 14px 2px rgba(0, 0, 0, 0.05),
0px 8px 10px 1px rgba(0, 0, 0, 0.06), 0px 5px 5px -3px rgba(0, 0, 0, 0.1);
display: flex;
flex-direction: column;
gap: 4px;
flex-grow: 1;
.more-menu-box {
position: fixed;
background-color: #4d4f5b;
border-radius: 4px;
z-index: 1000;
padding: 8px;
border: 0.5px solid rgba(255, 255, 255, 0.16);
box-shadow: 0px 3px 14px 2px rgba(0, 0, 0, 0.05),
0px 8px 10px 1px rgba(0, 0, 0, 0.06), 0px 5px 5px -3px rgba(0, 0, 0, 0.1);
display: flex;
flex-direction: column;
gap: 4px;
flex-grow: 1;
.menu-item {
min-width: 104px;
height: 28px;
display: flex;
flex-direction: row;
align-items: center;
padding: 3px 8px;
gap: 8px;
align-self: stretch;
border-radius: 4px;
font-family: "思源黑体";
font-size: 14px;
font-weight: normal;
line-height: 22px;
letter-spacing: 0em;
color: rgb(38, 38, 38);
cursor: pointer;
.menu-item {
min-width: 104px;
height: 28px;
display: flex;
flex-direction: row;
align-items: center;
padding: 3px 8px;
gap: 8px;
align-self: stretch;
border-radius: 4px;
font-family: "思源黑体";
font-size: 14px;
font-weight: normal;
line-height: 22px;
letter-spacing: 0em;
color: rgb(38, 38, 38);
cursor: pointer;
&:hover {
background: rgba(0, 0, 0, 0.1216);
}
&:hover {
background: rgba(0, 0, 0, 0.1216);
}
&.red {
color: #d54941;
}
}
&.red {
color: #d54941;
}
}
}
}
</style>
</style>

162
src/views/aiSupervision/waterSetting/runScene/detail/index.vue

@ -1,39 +1,39 @@
<script>
import { MessageBox } from 'element-ui';
import SceneConfig from './sceneConfig.vue';
import layerResource from './resource.json';
import { MessageBox } from "element-ui";
import SceneConfig from "./sceneConfig.vue";
import layerResource from "./resource.json";
import {
getSceneDetail,
getLayerDirsBySceneId,
getDirectoryApi,
updateSceneLayerDirs
} from '@/api/aiSupervision/layerConfigApi';
import { deepClone } from '@/utils';
import LayerTree from '../layerTree/index.vue';
updateSceneLayerDirs,
} from "@/api/aiSupervision/layerConfigApi";
import { deepClone } from "@/utils";
import LayerTree from "../layerTree/index.vue";
export default {
name: 'RunSceneDetail',
name: "RunSceneDetail",
components: {
SceneConfig,
LayerTree
LayerTree,
},
data() {
return {
currentItem: {},
activeName: 'data',
activeName: "data",
tableData: [],
pageData: {
pageNum: 1,
pageSize: 10,
pageSizes: [10, 20, 30, 40],
total: 5
total: 5,
},
keyword: '',
keyword: "",
dialogVisible: false,
treeData: [],
defaultProps: {
children: 'children',
label: 'name'
children: "children",
label: "name",
},
layerResourceData: null,
layerDirsData: [],
@ -42,30 +42,30 @@ export default {
pageNum: 1,
pageSize: 10,
pageSizes: [10, 20, 30, 40],
total: 5
total: 5,
},
currentNodeId: '',
currentNodeId: "",
layerTableMap: null,
checkedKeys: []
checkedKeys: [],
};
},
watch: {
activeName(val) {
if (val === 'scene') {
if (val === "scene") {
this.$nextTick(() => {
this.$refs.sceneConfig.initData();
});
}
},
//tableData: {
// handler(val) {
// this.checkedKeys = [];
// val?.forEach((item) => {
// this.checkedKeys.push(item.id);
// });
// debugger
// },
// immediate: true
// handler(val) {
// this.checkedKeys = [];
// val?.forEach((item) => {
// this.checkedKeys.push(item.id);
// });
// debugger
// },
// immediate: true
//}
},
mounted() {
@ -102,18 +102,20 @@ export default {
},
viewDetail(item) {
this.$router.push({
path: 'resourceDetails',
query: { id: item.id }
path: "resourceDetails",
query: { id: item.id },
});
},
deleteItem(item) {
MessageBox.confirm(`是否要删除图层“${item.name}`, '删除提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
MessageBox.confirm(`是否要删除图层“${item.name}`, "删除提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}).then((res) => {
this.selectedLayerDirs = this.selectedLayerDirs.filter((row) => row.id !== item.id);
this.addLayerData('delete');
this.selectedLayerDirs = this.selectedLayerDirs.filter(
(row) => row.id !== item.id
);
this.addLayerData("delete");
});
},
fetchLayerResourceDirs() {
@ -123,12 +125,12 @@ export default {
ids: null,
data: {
name: this.keyword,
id: this.keyword
id: this.keyword,
},
params: {
orderBy: 'pub_date',
sortBy: 'asc'
}
orderBy: "pub_date",
sortBy: "asc",
},
};
getDirectoryApi(params).then((res) => {
if (res.success) {
@ -200,12 +202,12 @@ export default {
this.selectedLayerDirs = val;
},
addLayerData(handle) {
const dirIds = this.selectedLayerDirs.map((item) => item.id).join(',');
const dirIds = this.selectedLayerDirs.map((item) => item.id).join(",");
updateSceneLayerDirs({
dirIds,
sceneId: this.currentItem.id
sceneId: this.currentItem.id,
}).then((res) => {
const msg = handle === 'delete' ? '删除成功' : '添加成功';
const msg = handle === "delete" ? "删除成功" : "添加成功";
if (res.success) {
this.$message.success(msg);
this.initData();
@ -216,10 +218,10 @@ export default {
setCheckedKeys(keys) {
this.checkedKeys = [];
for (const item of keys) {
this.checkedKeys.push(item)
this.checkedKeys.push(item);
}
}
}
},
},
};
</script>
@ -267,20 +269,46 @@ export default {
<div class="table-box">
<div class="top-search">
<el-button type="primary" @click="addData">添加数据</el-button>
<el-input class="search-input" placeholder="请输入图层目录名称或编号" v-model="keyword">
<el-input
class="search-input"
placeholder="请输入图层目录名称或编号"
v-model="keyword"
>
<el-button slot="append">搜索</el-button>
</el-input>
</div>
<el-table height="625" :data="tableData" row-key="id" border>
<el-table-column type="index" align="left" label="序号" width="80"> </el-table-column>
<el-table-column prop="id" align="left" label="图层资源目录编号"> </el-table-column>
<el-table-column prop="name" align="left" label="图层资源目录名称"> </el-table-column>
<el-table-column prop="pubDate" align="left" label="添加时间"> </el-table-column>
<el-table-column prop="directoryDescription" align="left" label="描述"> </el-table-column>
<el-table-column
type="index"
align="left"
label="序号"
width="80"
>
</el-table-column>
<el-table-column prop="id" align="left" label="图层资源目录编号">
</el-table-column>
<el-table-column
prop="name"
align="left"
label="图层资源目录名称"
>
</el-table-column>
<el-table-column prop="pubDate" align="left" label="添加时间">
</el-table-column>
<el-table-column
prop="directoryDescription"
align="left"
label="描述"
>
</el-table-column>
<el-table-column align="center" label="操作" width="180">
<template slot-scope="scope">
<el-button type="text" @click="viewDetail(scope.row)">目录详情</el-button>
<el-button type="text" @click="deleteItem(scope.row)">删除</el-button>
<el-button type="text" @click="viewDetail(scope.row)"
>目录详情</el-button
>
<el-button type="text" @click="deleteItem(scope.row)"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
@ -307,11 +335,21 @@ export default {
</el-tab-pane>
</el-tabs>
</div>
<el-dialog class="sy-dialog" width="50%" title="添加数据" :visible.sync="dialogVisible" @close="closeDialog">
<el-dialog
class="sy-dialog"
width="50%"
title="添加数据"
:visible.sync="dialogVisible"
@close="closeDialog"
>
<div class="dialog-content">
<div class="table-box">
<div class="top-search">
<el-input class="search-input" placeholder="请输入图层资源目录名称或编号" v-model="keyword">
<el-input
class="search-input"
placeholder="请输入图层资源目录名称或编号"
v-model="keyword"
>
<el-button slot="append">搜索</el-button>
</el-input>
</div>
@ -323,10 +361,14 @@ export default {
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55"> </el-table-column>
<el-table-column type="index" align="left" label="序号" width="80"> </el-table-column>
<el-table-column prop="id" align="left" label="图层资源目录编号"> </el-table-column>
<el-table-column prop="name" align="left" label="图层资源目录名称"> </el-table-column>
<el-table-column prop="pubDate" align="left" label="创建时间"> </el-table-column>
<el-table-column type="index" align="left" label="序号" width="80">
</el-table-column>
<el-table-column prop="id" align="left" label="图层资源目录编号">
</el-table-column>
<el-table-column prop="name" align="left" label="图层资源目录名称">
</el-table-column>
<el-table-column prop="pubDate" align="left" label="创建时间">
</el-table-column>
</el-table>
<div class="pagination-box">
<el-pagination
@ -391,7 +433,7 @@ export default {
}
}
}
/deep/.el-tabs {
::v-deep .el-tabs {
height: calc(100% - 130px);
margin-top: 12px;
@ -444,7 +486,7 @@ export default {
}
}
/deep/.sy-dialog {
::v-deep .sy-dialog {
.el-dialog__body {
padding: 0 20px;
.dialog-content {

1
src/views/aiSupervision/waterSetting/runScene/layerTree/index.js

@ -183,6 +183,7 @@ const zoomToLayerActions = {
// 添加图层
export async function addLayer(layerData) {
console.log('addLayer-layerData >>>>> ', layerData)
const { layerType, url, id } = layerData;
let action = null;
// 超图 S3M图层

45
src/views/aiSupervision/waterSetting/runScene/layerTree/index.vue

@ -1,58 +1,58 @@
<script>
export default {
name: 'LayerTree',
name: "LayerTree",
props: {
data: {
type: Array,
default: () => []
default: () => [],
},
defaultCheckedKeys: {
type: Array,
default: () => []
default: () => [],
},
showSearch: {
type: Boolean,
default: false
default: false,
},
showCheckbox: {
type: Boolean,
default: false
default: false,
},
showBtns: {
type: Boolean,
default: false
default: false,
},
nodeKey: {
type: String,
default: 'id'
default: "id",
},
defaultProps: {
type: Object,
default: () => ({
children: 'children',
label: 'name'
})
}
children: "children",
label: "name",
}),
},
},
data() {
return {
keyword: ''
keyword: "",
};
},
watch: {
keyword(val) {
this.$refs.tree.filter(val);
}
},
},
methods: {
getCheckedKeys() {
return this.$refs.tree.getCheckedKeys();
},
handleNodeClick(node, data) {
this.$emit('node-click', node, data);
this.$emit("node-click", node, data);
},
handleCheckChange(data, checked, indeterminate) {
this.$emit('check-change', data, checked, indeterminate);
this.$emit("check-change", data, checked, indeterminate);
},
getCheckedNodes(leafOnly = false) {
return this.$refs.tree.getCheckedNodes(leafOnly);
@ -62,15 +62,20 @@ export default {
return data[this.defaultProps.label].indexOf(value) !== -1;
},
goPosition(node) {
this.$emit('location', node);
}
}
this.$emit("location", node);
},
},
};
</script>
<template>
<div class="layer-tree-wrapper">
<el-input v-show="showSearch" class="search-btn" v-model="keyword" placeholder="请输入搜索内容"></el-input>
<el-input
v-show="showSearch"
class="search-btn"
v-model="keyword"
placeholder="请输入搜索内容"
></el-input>
<el-tree
ref="tree"
class="filter-tree"
@ -104,7 +109,7 @@ export default {
.search-btn {
margin-bottom: 12px;
}
/deep/.el-tree {
::v-deep .el-tree {
.custom-tree-node {
flex: 1;
display: flex;

18
src/views/components/SyMixMap.vue

@ -23,9 +23,7 @@ const viewerClick = (e) => {
if (e.graphic?._style?.canEdit) {
currentGraphic = e.graphic;
plot.edit(e.graphic, () => {
console.log('编辑viewerClick >>>>> ', e.graphic, graphicsList)
let res = graphicsList.find(item => item.graphicId === e.graphic.graphicId);
console.log('res >>>>> ', res)
if(res){
res.position = e.graphic.position;
res.positions = e.graphic.positions;
@ -201,14 +199,14 @@ export default {
// );
setTimeout(() => {
viewer.scene.camera.setView({
destination: new Cesium.Cartesian3.fromDegrees(113.27, 23.13, this.defaultHeight),
// orientation: {
// heading: 0,
// pitch: -90,
// roll: 0,
// },
duration: 2,
});
destination: new Cesium.Cartesian3.fromDegrees(113.27, 23.13, this.defaultHeight),
// orientation: {
// heading: 0,
// pitch: -90,
// roll: 0,
// },
duration: 2,
});
}, 300);
},
handleKeyUpFunc(e){

6
src/views/dike/engineeringCondition/dikeBaseInfo copy/index.vue

@ -1269,9 +1269,7 @@ export default {
</script>
<style lang="scss" scoped>
@import "@/assets/css/dialog.scss";
::v-deep {
.el-dialog {
margin-top: 2vh !important;
}
::v-deep .el-dialog {
margin-top: 2vh !important;
}
</style>

28
src/views/dike/engineeringCondition/dikeBaseInfo copy/options/projectManagement.vue

@ -231,7 +231,7 @@
/> -->
<el-upload
class="upload-demo"
action="thinking/common/upload"
:action="uploadUrl"
:headers="headers"
:on-preview="handleOpinionPreview"
:on-remove="
@ -298,7 +298,7 @@
/> -->
<el-upload
class="upload-demo"
action="thinking/common/upload"
:action="uploadUrl"
:headers="headers"
:on-preview="handleOpinionPreview"
:on-remove="
@ -361,7 +361,7 @@
/> -->
<el-upload
class="upload-demo"
action="thinking/common/upload"
:action="uploadUrl"
:headers="headers"
:on-preview="handleOpinionPreview"
:on-remove="(file) => handleOpinionRemove(file, 'fileList3')"
@ -399,7 +399,7 @@
/> -->
<el-upload
class="upload-demo"
action="thinking/common/upload"
:action="uploadUrl"
:headers="headers"
:on-preview="handleOpinionPreview"
:on-remove="(file) => handleOpinionRemove(file, 'fileList4')"
@ -508,6 +508,7 @@ export default {
protectionDelimitationOptions: [],
//
monitoringTypeOptions: [],
uploadUrl: process.env.VUE_APP_BASE_API + "/common/upload",
//
queryParams: {
pageNum: 1,
@ -920,17 +921,16 @@ export default {
};
</script>
<style lang="scss" scoped>
::v-deep {
.el-divider {
height: 4px;
color: #000;
}
.el-divider__text {
font-weight: 700;
font-size: 20px;
background-color: #f4f9f7;
}
::v-deep .el-divider {
height: 4px;
color: #000;
}
::v-deep .el-divider__text {
font-weight: 700;
font-size: 20px;
background-color: #f4f9f7;
}
.btnList {
position: fixed;
bottom: 20px;

49
src/views/dike/engineeringCondition/dikeBaseInfo/index.vue

@ -786,32 +786,31 @@ export default {
</script>
<style lang="scss" scoped>
@import "@/assets/css/dialog.scss";
::v-deep {
.el-dialog {
margin-top: 2vh !important;
.noPass {
// padding: 10px 0;
// display: inline;
border: 1px solid #ccc;
display: flex;
// height: 50px;
margin-bottom: 20px;
.noPassTitle {
display: flex;
justify-content: center;
align-items: center;
padding: 20px 10px;
background: #f0f0f0;
border-right: 1px solid #ccc;
}
.noPassContent {
flex: 1;
padding: 20px;
display: flex;
justify-content: center;
align-items: center;
}
::v-deep .el-dialog {
margin-top: 2vh !important;
.noPass {
// padding: 10px 0;
// display: inline;
border: 1px solid #ccc;
display: flex;
// height: 50px;
margin-bottom: 20px;
.noPassTitle {
display: flex;
justify-content: center;
align-items: center;
padding: 20px 10px;
background: #f0f0f0;
border-right: 1px solid #ccc;
}
.noPassContent {
flex: 1;
padding: 20px;
display: flex;
justify-content: center;
align-items: center;
}
}
}

5
src/views/dike/engineeringCondition/dikeBaseInfo/options/managementSystem.vue

@ -41,11 +41,6 @@ export default {
</script>
<style lang="scss" scoped>
@import "@/assets/css/dialog.scss";
// ::v-deep {
// .el-dialog {
// margin-top: 10vh !important;
// }
// }
.listTitle {
font-size: 14px;
padding-left: 10px;

5
src/views/dike/engineeringCondition/dikeBaseInfo/options/managementSystemFxzz.vue

@ -699,11 +699,6 @@ export default {
</script>
<style lang="scss" scoped>
@import "@/assets/css/dialog.scss";
// ::v-deep {
// .el-dialog {
// margin-top: 10vh !important;
// }
// }
.listTitle {
font-size: 14px;

5
src/views/dike/engineeringCondition/dikeBaseInfo/options/managementSystemFzr.vue

@ -536,9 +536,4 @@ export default {
</script>
<style lang="scss" scoped>
@import "@/assets/css/dialog.scss";
// ::v-deep {
// .el-dialog {
// margin-top: 10vh !important;
// }
// }
</style>

5
src/views/dike/engineeringCondition/dikeCompare/components/managementSystem.vue

@ -41,11 +41,6 @@ export default {
</script>
<style lang="scss" scoped>
@import "@/assets/css/dialog.scss";
// ::v-deep {
// .el-dialog {
// margin-top: 10vh !important;
// }
// }
.listTitle {
font-size: 14px;
padding-left: 10px;

5
src/views/dike/engineeringCondition/dikeCompare/components/managementSystemFxzz.vue

@ -699,11 +699,6 @@ export default {
</script>
<style lang="scss" scoped>
@import "@/assets/css/dialog.scss";
// ::v-deep {
// .el-dialog {
// margin-top: 10vh !important;
// }
// }
.listTitle {
font-size: 14px;

5
src/views/dike/engineeringCondition/dikeCompare/components/managementSystemFzr.vue

@ -536,9 +536,4 @@ export default {
</script>
<style lang="scss" scoped>
@import "@/assets/css/dialog.scss";
// ::v-deep {
// .el-dialog {
// margin-top: 10vh !important;
// }
// }
</style>

2
src/views/dike/engineeringCondition/identificationPlate/components/markForm.vue

@ -32,7 +32,7 @@
<myUpload :fileList="fileList" />
<!-- <el-upload
class="upload-demo"
action="thinking/common/upload"
:action="uploadUrl"
:headers="headers"
:on-preview="handleOpinionPreview"
:on-remove="(file) => handleOpinionRemove(file, 'fileList')"

8
src/views/dike/engineeringCondition/identificationPlate/index.vue

@ -1188,11 +1188,11 @@ export default {
</script>
<style lang="scss" scoped>
@import "@/assets/css/dialog.scss";
::v-deep {
.el-dialog {
margin-top: 2vh !important;
}
::v-deep .el-dialog {
margin-top: 2vh !important;
}
.mainCon {
display: flex;
overflow-x: auto;

4
src/views/dike/managementGuarantee/archivesManagement/index.vue

@ -249,7 +249,7 @@
<myUpload :fileList="fileList1" />
<!-- <el-upload
class="upload-demo"
action="thinking/common/upload"
:action="uploadUrl"
:headers="headers"
:on-preview="handlePreview"
:on-remove="(file) => handleRemove(file, 'fileList1')"
@ -272,7 +272,7 @@
<myUpload :fileList="fileLis2" />
<!-- <el-upload
class="upload-demo"
action="thinking/common/upload"
:action="uploadUrl"
:headers="headers"
:on-preview="handlePreview"
:on-remove="(file) => handleRemove(file, 'fileList2')"

8
src/views/dike/managementGuarantee/fundGuarantee/index.vue

@ -51,7 +51,7 @@
></el-button>
</el-input>
</el-form-item>
<!--
<!--
<el-form-item label="单位名称" prop="unitName">
<el-input
v-model="queryParams.data.unitName"
@ -568,11 +568,7 @@ export default {
</script>
<style lang="scss" scoped>
@import "@/assets/css/dialog.scss";
// ::v-deep {
// .el-dialog {
// margin-top: 2vh !important;
// }
// }
.listTitle {
font-size: 14px;
padding-left: 10px;

8
src/views/dike/managementGuarantee/standardizationConstruction/listPage/index.vue

@ -197,7 +197,7 @@
<myUpload :fileList="fileList1" />
<!-- <el-upload
class="upload-demo"
action="thinking/common/upload"
:action="uploadUrl"
:headers="headers"
:on-preview="handlePreview"
:on-remove="(file) => handleRemove(file, 'fileList1')"
@ -954,10 +954,8 @@ export default {
</script>
<style lang="scss" scoped>
@import "@/assets/css/dialog.scss";
::v-deep {
.el-dialog {
margin-top: 2vh !important;
}
::v-deep .el-dialog {
margin-top: 2vh !important;
}
.listTitle {

37
src/views/dike/runManage/dangerWeakProject/inspectGroup/index.vue

@ -8,8 +8,14 @@ import {
getDangerGroupingDetailsData,
} from "@/api/dike";
import { listUser } from "@/api/system/user";
import TopBackTitle from "@/components/TopBackTitle/index.vue";
import { calcTableHeight } from "@/mixins/calcTableHeight";
export default {
name: "InspectionItems",
components: { TopBackTitle },
mixins: [calcTableHeight],
data() {
return {
showAddDialog: false,
@ -204,17 +210,20 @@ export default {
<template>
<div class="body slider-right">
<div class="top-title">{{ $router.currentRoute.meta.title }}</div>
<div class="table-box">
<el-button
class="search-btn mb-10"
style="margin-right: 16px; margin-bottom: 8px; float: right"
type="success"
v-hasPermi="['df:run:jc:group:add']"
@click="handleAddNew()"
>创建</el-button
>
<el-table class="table mt-16" height="640" :data="tableData" border>
<TopBackTitle :showBackBtn="false"></TopBackTitle>
<div class="table-box slider-right-body" ref="tableBoxRef">
<div class="pb-16" ref="topBoxRef">
<el-button
class="search-btn mb-10"
style="margin-right: 16px"
type="success"
v-hasPermi="['df:run:jc:group:add']"
@click="handleAddNew()"
>创建</el-button
>
</div>
<el-table :height="tableHeight" :data="tableData" border>
<el-table-column type="index" align="center" label="序号" width="60" />
<el-table-column prop="name" align="center" label="小组名称" />
<el-table-column prop="groupNames" align="center" label="小组成员">
@ -390,7 +399,6 @@ export default {
<style scoped lang="less">
.body {
width: 100%;
min-height: calc(100vh - 56px);
padding-left: 24px;
.top-title {
@ -404,7 +412,6 @@ export default {
.table-box {
width: 100%;
min-height: calc(100vh - 56px - 64px);
margin-top: 24px;
padding: 16px;
background-color: white;
@ -412,10 +419,6 @@ export default {
.top-search {
margin-bottom: 8px;
}
.table {
height: calc(680px - 34px);
}
}
.search-input {
width: 202px;

15
src/views/dike/runManage/dangerWeakProject/inspectItemsSetting/index.vue

@ -1,7 +1,8 @@
<template>
<div class="body slider-right">
<div class="top-title">{{ $router.currentRoute.meta.title }}</div>
<div class="items-list-page">
<TopBackTitle :showBackBtn="false"></TopBackTitle>
<div class="items-list-page slider-right-body">
<div class="pl-20 pr-20 pt-20 flex justify-between">
<el-button type="primary" @click="handleAddNew">新增项目</el-button>
</div>
@ -79,7 +80,13 @@ import {
delDangerProjectItemsData,
} from "@/api/dike";
import { listUser } from "@/api/system/user";
import TopBackTitle from "@/components/TopBackTitle/index.vue";
export default {
components: {
TopBackTitle,
},
data() {
return {
showAddDialog: false,
@ -170,7 +177,6 @@ export default {
<style scoped lang="scss">
.body {
width: 100%;
min-height: calc(100vh - 36px);
padding-left: 24px;
.top-title {
@ -184,7 +190,6 @@ export default {
.items-list-page {
margin-top: 20px;
background-color: #fff;
height: calc(100% - 56px);
}
.input {
width: 200px;
@ -195,7 +200,7 @@ export default {
overflow-y: auto;
transition: all 0.5s;
grid-template-columns: repeat(auto-fill, 240px);
grid-template-rows: repeat(auto-fill, 160px);
grid-template-rows: repeat(auto-fill, 120px);
gap: 16px;
.items-list-item {
position: relative;

13
src/views/dike/runManage/dangerWeakProject/inspectItemsSetting/itemDetails.vue

@ -1,7 +1,8 @@
<template>
<div class="body slider-right">
<div class="top-title">{{ $router.currentRoute.meta.title }}</div>
<div class="method-details-page">
<TopBackTitle></TopBackTitle>
<div class="method-details-page slider-right-body">
<div class="flex justify-between items-center">
<span v-if="editTitle">
<el-input class="input" v-model="itemName" :maxlength="50"></el-input>
@ -101,7 +102,13 @@ import {
postDangerProjectItemsListData,
delDangerProjectItemsListData,
} from "@/api/dike";
import TopBackTitle from "@/components/TopBackTitle/index.vue";
export default {
components: {
TopBackTitle,
},
data() {
return {
itemName: "",
@ -204,7 +211,6 @@ export default {
<style scoped lang="scss">
.body {
width: 100%;
min-height: calc(100vh - 36px);
padding-left: 24px;
overflow: auto;
@ -220,7 +226,6 @@ export default {
margin-top: 20px;
background-color: #fff;
padding: 20px;
min-height: calc(100% - 60px);
.table-box {
border: 1px solid #ccc;
border-radius: 4px;

192
src/views/dike/runManage/dangerWeakProject/inspectProjects/index.vue

@ -6,8 +6,13 @@ import { delDangerTaskData, getDangerTaskListData } from "@/api/dike";
import { codeToText } from "element-china-area-data";
import { getAreasData } from "@/api/areas/index";
import TopBackTitle from "@/components/TopBackTitle/index.vue";
import { calcTableHeight } from "@/mixins/calcTableHeight";
export default {
name: "InspectionItems",
components: { TopBackTitle },
mixins: [calcTableHeight],
data() {
return {
areasOptionProps: {
@ -209,101 +214,104 @@ export default {
<template>
<div class="body slider-right">
<div class="top-title">{{ $router.currentRoute.meta.title }}</div>
<div class="table-box">
<div class="flex items-start">
<div class="">
<div>
<span>堤防名称</span>
<el-input
class="search-input ml-10"
v-model="paramsData.dikeName"
@change="handleChangeQuery"
placeholder="请输入名称"
/>
<span class="ml-10">堤防级别</span>
<el-select
size=""
class="search-input ml-10"
v-model="paramsData.mainBuildGrad"
filterable
@change="handleChangeQuery"
placeholder="请选择"
>
<el-option label="全部" value=""> </el-option>
<el-option
v-for="item in buildingLevelOptions"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
<TopBackTitle :showBackBtn="false"></TopBackTitle>
<div class="table-box slider-right-body" ref="tableBoxRef">
<div class="pb-16" ref="topBoxRef">
<div class="flex items-start">
<div class="">
<div>
<span>堤防名称</span>
<el-input
class="search-input ml-10"
v-model="paramsData.dikeName"
@change="handleChangeQuery"
placeholder="请输入名称"
/>
<span class="ml-10">堤防级别</span>
<el-select
size=""
class="search-input ml-10"
v-model="paramsData.mainBuildGrad"
filterable
@change="handleChangeQuery"
placeholder="请选择"
>
</el-option>
</el-select>
<span class="ml-10">堤防型式</span>
<el-select
size=""
class="search-input ml-10"
v-model="paramsData.dikePatt"
@change="handleChangeQuery"
filterable
placeholder="请选择"
>
<el-option label="全部" value=""> </el-option>
<el-option
v-for="item in dikeFormOptions"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
<el-option label="全部" value=""> </el-option>
<el-option
v-for="item in buildingLevelOptions"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
>
</el-option>
</el-select>
<span class="ml-10">堤防型式</span>
<el-select
size=""
class="search-input ml-10"
v-model="paramsData.dikePatt"
@change="handleChangeQuery"
filterable
placeholder="请选择"
>
</el-option>
</el-select>
</div>
<div class="mt-10">
<span class="">主管单位</span>
<el-input
class="search-input ml-10"
v-model="paramsData.engineeringManagementUnit"
@change="handleChangeQuery"
placeholder="请输入"
/>
<span class="ml-10">行政区划</span>
<el-cascader
class="ml-10 search-input"
:options="areasOptions"
@change="handleChangeQuery"
v-model="paramsData.adcdStart"
:props="areasOptionProps"
placeholder="请选择行政区划"
clearable
size="small"
>
</el-cascader>
<span class="ml-10">堤防类型</span>
<el-select
size=""
class="search-input ml-10"
@change="handleChangeQuery"
v-model="paramsData.dikeType"
filterable
placeholder="请选择"
>
<el-option label="全部" value=""> </el-option>
<el-option
v-for="item in projectTypeOptions"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
<el-option label="全部" value=""> </el-option>
<el-option
v-for="item in dikeFormOptions"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
>
</el-option>
</el-select>
</div>
<div class="mt-10">
<span class="">主管单位</span>
<el-input
class="search-input ml-10"
v-model="paramsData.engineeringManagementUnit"
@change="handleChangeQuery"
placeholder="请输入"
/>
<span class="ml-10">行政区划</span>
<el-cascader
class="ml-10 search-input"
:options="areasOptions"
@change="handleChangeQuery"
v-model="paramsData.adcdStart"
:props="areasOptionProps"
placeholder="请选择行政区划"
clearable
size="small"
>
</el-cascader>
<span class="ml-10">堤防类型</span>
<el-select
size=""
class="search-input ml-10"
@change="handleChangeQuery"
v-model="paramsData.dikeType"
filterable
placeholder="请选择"
>
</el-option>
</el-select>
<el-option label="全部" value=""> </el-option>
<el-option
v-for="item in projectTypeOptions"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
>
</el-option>
</el-select>
</div>
</div>
<el-button class="search-btn" type="success" @click="getTableData()"
>搜索</el-button
>
<el-button class="search-btn" @click="resetSearch">重置</el-button>
</div>
<el-button class="search-btn" type="success" @click="getTableData()"
>搜索</el-button
>
<el-button class="search-btn" @click="resetSearch">重置</el-button>
</div>
<el-table class="table mt-16" height="610" :data="tableData" border>
<el-table :height="tableHeight" :data="tableData" border>
<el-table-column type="index" align="center" label="序号" width="60" />
<el-table-column prop="name" align="center" label="任务名称" />
<el-table-column prop="dikeName" align="center" label="堤防名称" />
@ -381,7 +389,6 @@ export default {
<style scoped lang="less">
.body {
width: 100%;
min-height: calc(100vh - 76px);
padding-left: 24px;
.top-title {
@ -395,7 +402,6 @@ export default {
.table-box {
width: 100%;
min-height: calc(100vh - 56px - 64px);
margin-top: 24px;
padding: 16px;
background-color: white;
@ -403,10 +409,6 @@ export default {
.top-search {
margin-bottom: 8px;
}
.table {
height: calc(680px - 34px);
}
}
.search-input {
width: 202px;

168
src/views/dike/runManage/dangerWeakProject/inspectReport/index.vue

@ -7,8 +7,13 @@ import {
import { codeToText } from "element-china-area-data";
import { getAreasData } from "@/api/areas/index";
import TopBackTitle from "@/components/TopBackTitle/index.vue";
import { calcTableHeight } from "@/mixins/calcTableHeight";
export default {
name: "InspectionItems",
components: { TopBackTitle },
mixins: [calcTableHeight],
data() {
return {
searchWagaName: "",
@ -190,88 +195,91 @@ export default {
<template>
<div class="body slider-right">
<div class="top-title">{{ $router.currentRoute.meta.title }}</div>
<div class="table-box">
<div class="flex items-start">
<div class="">
<div>
<span>任务名称</span>
<el-input
class="search-input ml-10"
v-model="paramsData.taskName"
placeholder="请输入名称"
/>
<span class="ml-10">堤防名称</span>
<el-input
class="search-input ml-10"
v-model="paramsData.dikeName"
placeholder="请输入名称"
/>
<span class="ml-10">核查小组</span>
<el-select
size=""
class="search-input ml-10"
v-model="paramsData.groupId"
filterable
clearable
remote
@focus="searchGroupList('')"
:remote-method="searchGroupList"
placeholder="请选择"
>
<el-option label="全部" value=""> </el-option>
<el-option
v-for="item in personalList"
:key="item.id"
:label="item.name"
:value="item.id"
<TopBackTitle :showBackBtn="false"></TopBackTitle>
<div class="table-box slider-right-body" ref="tableBoxRef">
<div class="pb-16" ref="topBoxRef">
<div class="flex items-start">
<div class="">
<div>
<span>任务名称</span>
<el-input
class="search-input ml-10"
v-model="paramsData.taskName"
placeholder="请输入名称"
/>
<span class="ml-10">堤防名称</span>
<el-input
class="search-input ml-10"
v-model="paramsData.dikeName"
placeholder="请输入名称"
/>
<span class="ml-10">核查小组</span>
<el-select
size=""
class="search-input ml-10"
v-model="paramsData.groupId"
filterable
clearable
remote
@focus="searchGroupList('')"
:remote-method="searchGroupList"
placeholder="请选择"
>
</el-option>
</el-select>
</div>
<div class="mt-10">
<span class="">管理单位</span>
<el-input
class="search-input ml-10"
v-model="paramsData.engineeringManagementUnit"
placeholder="请输入"
/>
<span class="ml-10">所属区域</span>
<el-cascader
class="ml-10 search-input"
:options="areasOptions"
v-model="paramsData.adcdStart"
:props="areasOptionProps"
placeholder="请选择"
clearable
size="small"
>
</el-cascader>
<span class="ml-10">所属流域</span>
<el-select
size=""
class="search-input ml-10"
v-model="paramsData.riverLocation"
filterable
placeholder="请选择"
>
<el-option label="全部" value=""> </el-option>
<el-option
v-for="item in riverLocationList"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
<el-option label="全部" value=""> </el-option>
<el-option
v-for="item in personalList"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option>
</el-select>
</div>
<div class="mt-10">
<span class="">管理单位</span>
<el-input
class="search-input ml-10"
v-model="paramsData.engineeringManagementUnit"
placeholder="请输入"
/>
<span class="ml-10">所属区域</span>
<el-cascader
class="ml-10 search-input"
:options="areasOptions"
v-model="paramsData.adcdStart"
:props="areasOptionProps"
placeholder="请选择"
clearable
size="small"
>
</el-cascader>
<span class="ml-10">所属流域</span>
<el-select
size=""
class="search-input ml-10"
v-model="paramsData.riverLocation"
filterable
placeholder="请选择"
>
</el-option>
</el-select>
<el-option label="全部" value=""> </el-option>
<el-option
v-for="item in riverLocationList"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
>
</el-option>
</el-select>
</div>
</div>
<el-button class="search-btn" type="success" @click="getTableData()"
>搜索</el-button
>
<el-button class="search-btn" @click="resetSearch">重置</el-button>
</div>
<el-button class="search-btn" type="success" @click="getTableData()"
>搜索</el-button
>
<el-button class="search-btn" @click="resetSearch">重置</el-button>
</div>
<el-table class="table mt-16" height="610" :data="tableData" border>
<el-table :height="tableHeight" :data="tableData" border>
<el-table-column type="index" align="center" label="序号" width="60" />
<el-table-column prop="name" align="center" label="任务名称" />
<el-table-column prop="dikeName" align="center" label="堤防名称" />
@ -324,7 +332,6 @@ export default {
<style scoped lang="less">
.body {
width: 100%;
min-height: calc(100vh - 76px);
padding-left: 24px;
.top-title {
@ -338,7 +345,6 @@ export default {
.table-box {
width: 100%;
min-height: calc(100vh - 56px - 64px);
margin-top: 24px;
padding: 16px;
background-color: white;
@ -346,10 +352,6 @@ export default {
.top-search {
margin-bottom: 8px;
}
.table {
height: calc(680px - 34px);
}
}
.search-input {
width: 202px;

9
src/views/dike/runManage/dangerWeakProject/inspectStatistics/index.vue

@ -3,11 +3,13 @@
import { getDangerTaskListData, getDangerTaskTotalData } from "@/api/dike";
import { getAreasData } from "@/api/areas";
import Pie from "./components/Pie.vue";
import TopBackTitle from "@/components/TopBackTitle/index.vue";
export default {
name: "InspectionItems",
components: {
Pie,
TopBackTitle,
},
data() {
return {
@ -181,8 +183,9 @@ export default {
<template>
<div class="body slider-right">
<div class="top-title">统计分析</div>
<div class="table-box">
<TopBackTitle :showBackBtn="false" title="统计分析"></TopBackTitle>
<div class="table-box slider-right-body">
<div class="flex title-box justify-between items-center">
<div class="title">监督检查任务统计分析</div>
<div class="select-box flex items-center font-14">
@ -294,7 +297,6 @@ export default {
<style scoped lang="less">
.body {
width: 100%;
min-height: calc(100vh - 56px);
padding-left: 24px;
.top-title {
height: 40px;
@ -307,7 +309,6 @@ export default {
.table-box {
width: 100%;
min-height: calc(100vh - 56px - 64px);
margin-top: 24px;
background-color: white;
.title-box {

196
src/views/dike/runManage/dangerWeakProject/inspectTasks/index.vue

@ -4,8 +4,13 @@ import { delDangerTaskData, getDangerTaskListData } from "@/api/dike";
import { codeToText } from "element-china-area-data";
import { getAreasData } from "@/api/areas/index";
import TopBackTitle from "@/components/TopBackTitle/index.vue";
import { calcTableHeight } from "@/mixins/calcTableHeight";
export default {
name: "InspectionItems",
components: { TopBackTitle },
mixins: [calcTableHeight],
data() {
return {
areasOptionProps: {
@ -194,103 +199,106 @@ export default {
<template>
<div class="body slider-right">
<div class="top-title">{{ $router.currentRoute.meta.title }}</div>
<div class="table-box">
<div class="flex items-start">
<div class="">
<div>
<span>堤防名称</span>
<el-input
class="search-input ml-10"
v-model="paramsData.dikeName"
placeholder="请输入名称"
/>
<span class="ml-10">堤防级别</span>
<el-select
size=""
class="search-input ml-10"
v-model="paramsData.mainBuildGrad"
filterable
placeholder="请选择"
>
<el-option label="全部" value=""> </el-option>
<el-option
v-for="item in buildingLevelOptions"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
<TopBackTitle :showBackBtn="false"></TopBackTitle>
<div class="table-box slider-right-body" ref="tableBoxRef">
<div class="pb-16" ref="topBoxRef">
<div class="flex items-start">
<div class="">
<div>
<span>堤防名称</span>
<el-input
class="search-input ml-10"
v-model="paramsData.dikeName"
placeholder="请输入名称"
/>
<span class="ml-10">堤防级别</span>
<el-select
size=""
class="search-input ml-10"
v-model="paramsData.mainBuildGrad"
filterable
placeholder="请选择"
>
</el-option>
</el-select>
<span class="ml-10">堤防型式</span>
<el-select
size=""
class="search-input ml-10"
v-model="paramsData.dikePatt"
filterable
placeholder="请选择"
>
<el-option label="全部" value=""> </el-option>
<el-option
v-for="item in dikeFormOptions"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
<el-option label="全部" value=""> </el-option>
<el-option
v-for="item in buildingLevelOptions"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
>
</el-option>
</el-select>
<span class="ml-10">堤防型式</span>
<el-select
size=""
class="search-input ml-10"
v-model="paramsData.dikePatt"
filterable
placeholder="请选择"
>
</el-option>
</el-select>
</div>
<div class="mt-10">
<span class="">主管单位</span>
<el-input
class="search-input ml-10"
v-model="paramsData.engineeringManagementUnit"
placeholder="请输入"
/>
<span class="ml-10">行政区划</span>
<el-cascader
class="ml-10 search-input"
:options="areasOptions"
v-model="paramsData.adcdStart"
:props="areasOptionProps"
placeholder="请选择行政区划"
clearable
size="small"
>
</el-cascader>
<span class="ml-10">堤防类型</span>
<el-select
size=""
class="search-input ml-10"
v-model="paramsData.dikeType"
filterable
placeholder="请选择"
>
<el-option label="全部" value=""> </el-option>
<el-option
v-for="item in projectTypeOptions"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
<el-option label="全部" value=""> </el-option>
<el-option
v-for="item in dikeFormOptions"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
>
</el-option>
</el-select>
</div>
<div class="mt-10">
<span class="">主管单位</span>
<el-input
class="search-input ml-10"
v-model="paramsData.engineeringManagementUnit"
placeholder="请输入"
/>
<span class="ml-10">行政区划</span>
<el-cascader
class="ml-10 search-input"
:options="areasOptions"
v-model="paramsData.adcdStart"
:props="areasOptionProps"
placeholder="请选择行政区划"
clearable
size="small"
>
</el-cascader>
<span class="ml-10">堤防类型</span>
<el-select
size=""
class="search-input ml-10"
v-model="paramsData.dikeType"
filterable
placeholder="请选择"
>
</el-option>
</el-select>
<el-option label="全部" value=""> </el-option>
<el-option
v-for="item in projectTypeOptions"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
>
</el-option>
</el-select>
</div>
</div>
<el-button class="search-btn" type="success" @click="getTableData()"
>搜索</el-button
>
<el-button class="search-btn" @click="resetSearch">重置</el-button>
<el-button
class="search-btn"
style="margin-left: auto"
type="success"
v-hasPermi="['df:run:jc:task:add']"
@click="handleGoDetails()"
>添加</el-button
>
</div>
<el-button class="search-btn" type="success" @click="getTableData()"
>搜索</el-button
>
<el-button class="search-btn" @click="resetSearch">重置</el-button>
<el-button
class="search-btn"
style="margin-left: auto"
type="success"
v-hasPermi="['df:run:jc:task:add']"
@click="handleGoDetails()"
>添加</el-button
>
</div>
<el-table class="table mt-16" height="610" :data="tableData" border>
<el-table :height="tableHeight" :data="tableData" border>
<el-table-column type="index" align="center" label="序号" width="60" />
<el-table-column prop="name" align="center" label="任务名称" />
<el-table-column prop="dikeName" align="center" label="堤防名称" />
@ -361,7 +369,6 @@ export default {
<style scoped lang="less">
.body {
width: 100%;
min-height: calc(100vh - 76px);
padding-left: 24px;
.top-title {
@ -375,7 +382,6 @@ export default {
.table-box {
width: 100%;
min-height: calc(100vh - 56px - 64px);
margin-top: 24px;
padding: 16px;
background-color: white;
@ -383,10 +389,6 @@ export default {
.top-search {
margin-bottom: 8px;
}
.table {
height: calc(680px - 34px);
}
}
.search-input {
width: 202px;

11
src/views/dike/runManage/dangerWeakProject/inspectTasks/taskDetails.vue

@ -12,8 +12,11 @@ import {
import { codeToText } from "element-china-area-data";
import { getAreasData } from "@/api/areas/index";
import TopBackTitle from "@/components/TopBackTitle/index.vue";
export default {
name: "tasksDetails",
components: { TopBackTitle },
data() {
return {
areasOptionProps: {
@ -425,8 +428,9 @@ export default {
<template>
<div class="body slider-right">
<div class="top-title">{{ $router.currentRoute.meta.title }}</div>
<div class="content-box">
<TopBackTitle></TopBackTitle>
<div class="content-box slider-right-body">
<div class="title">新增/编辑检查项</div>
<div class="font-14">
<el-form
@ -748,7 +752,6 @@ export default {
<style scoped lang="less">
.body {
width: 100%;
min-height: calc(100vh - 56px);
padding-left: 24px;
.top-title {
@ -762,10 +765,10 @@ export default {
.content-box {
width: 100%;
height: calc(100vh - 56px - 64px);
margin-top: 24px;
overflow: auto;
padding: 16px;
padding-bottom: 60px;
background-color: white;
.title {
font-size: 16px;

2
src/views/dike/runManage/enginerring/components/GaoDeMap.vue

@ -394,7 +394,7 @@ export default {
z-index: 9;
}
/deep/.amap-marker-label {
::v-deep .amap-marker-label {
background-color: rgba(0, 0, 0, 0.6);
border: none;
border-radius: 2px;

74
src/views/dike/runManage/enginerring/inspectionItems/index.vue

@ -7,12 +7,14 @@ import {
} from "@/api/management";
import TopBackTitle from "@/components/TopBackTitle/index.vue";
import { calcTableHeight } from "@/mixins/calcTableHeight";
export default {
name: "InspectionItems",
components: {
TopBackTitle,
},
mixins: [calcTableHeight],
data() {
return {
searchInput: "",
@ -141,41 +143,43 @@ export default {
<template>
<div class="slider-right">
<TopBackTitle :showBackBtn="false" />
<div class="table-box">
<div class="top-search">
<span>巡视检查名称</span>
<el-input
class="search-input"
v-model="searchInput"
placeholder="请输入巡视检查名称"
/>
<span>巡查类型</span>
<el-select v-model="searchType" placeholder="请选择">
<el-option label="全部" :value="3"></el-option>
<el-option
v-for="item in examType"
:label="item.dictLabel"
:value="item.dictValue"
:key="item.id"
></el-option>
</el-select>
<el-button
class="search-btn !ml-16"
type="success"
@click="searchTableList()"
>搜索</el-button
>
<el-button @click="resetSearch()">重置</el-button>
<el-button
class="search-btn"
style="float: right"
type="success"
v-hasPermi="['df:run:checking:item:add']"
@click="handleAddItem"
>添加</el-button
>
<div class="table-box slider-right-body" ref="tableBoxRef">
<div class="" ref="topBoxRef">
<div class="top-search">
<span>巡视检查名称</span>
<el-input
class="search-input"
v-model="searchInput"
placeholder="请输入巡视检查名称"
/>
<span>巡查类型</span>
<el-select v-model="searchType" placeholder="请选择">
<el-option label="全部" :value="3"></el-option>
<el-option
v-for="item in examType"
:label="item.dictLabel"
:value="item.dictValue"
:key="item.id"
></el-option>
</el-select>
<el-button
class="search-btn !ml-16"
type="success"
@click="searchTableList()"
>搜索</el-button
>
<el-button @click="resetSearch()">重置</el-button>
<el-button
class="search-btn"
style="float: right"
type="success"
v-hasPermi="['df:run:checking:item:add']"
@click="handleAddItem"
>添加</el-button
>
</div>
</div>
<el-table :data="tableData" border>
<el-table :height="tableHeight" :data="tableData" border>
<el-table-column type="index" align="center" label="序号" width="100">
</el-table-column>
<el-table-column prop="name" align="center" label="巡视检查名称">
@ -266,10 +270,8 @@ export default {
.table-box {
width: 100%;
// height: calc(100% - 50px);
margin-top: 24px;
padding: 16px;
padding-bottom: 60px;
background-color: white;
.top-search {

194
src/views/dike/runManage/enginerring/inspectionPlan/index.vue

@ -17,6 +17,7 @@ import TopBackTitle from "@/components/TopBackTitle/index.vue";
import { uploadFileData } from "@/api/system/upload";
import PlanDetail from "./components/PlanDetail.vue";
import { reqCountMixins } from "@/mixins/reqCount";
import { calcTableHeight } from "@/mixins/calcTableHeight";
export default {
name: "InspectionItems",
@ -24,7 +25,7 @@ export default {
TopBackTitle,
PlanDetail,
},
mixins: [reqCountMixins],
mixins: [reqCountMixins, calcTableHeight],
data() {
return {
paramsData: {
@ -350,105 +351,108 @@ export default {
<template>
<div class="slider-right">
<TopBackTitle :showBackBtn="false"></TopBackTitle>
<div class="table-box slider-right-body">
<div class="search-form flex flex-wrap">
<div class="search-item flex items-center">
<span class="search-label">巡查计划名称</span>
<el-input
clearable
size="small"
class="w-202 ml-10"
:maxlength="50"
v-model="paramsData.name"
placeholder="请输入名称"
/>
</div>
<div class="search-item flex items-center">
<span class="search-label">巡查计划启用状态</span>
<el-select
clearable
size="small"
class="w-202 ml-10"
v-model="paramsData.status"
:popper-append-to-body="false"
filterable
placeholder="请选择"
>
<el-option label="全部" value=""> </el-option>
<el-option label="启用" value="1"> </el-option>
<el-option label="停用" value="0"> </el-option>
</el-select>
</div>
<div class="search-item flex items-center">
<span class="search-label">巡查计划责任人</span>
<el-select
clearable
size="small"
class="w-202 ml-10"
v-model="paramsData.userIds"
:popper-append-to-body="false"
multiple
filterable
remote
:multiple-limit="5"
:remote-method="searchUser"
value-key="id"
placeholder="请输入关键词搜索用户"
>
<el-option
v-for="item in personnelList"
:key="item.id"
:label="item.name"
:value="item.id"
<div class="table-box slider-right-body" ref="tableBoxRef">
<div class="pb-16" ref="topBoxRef">
<div class="search-form flex flex-wrap">
<div class="search-item flex items-center">
<span class="search-label">巡查计划名称</span>
<el-input
clearable
size="small"
class="w-202 ml-10"
:maxlength="50"
v-model="paramsData.name"
placeholder="请输入名称"
/>
</div>
<div class="search-item flex items-center">
<span class="search-label">巡查计划启用状态</span>
<el-select
clearable
size="small"
class="w-202 ml-10"
v-model="paramsData.status"
:popper-append-to-body="false"
filterable
placeholder="请选择"
>
</el-option>
</el-select>
</div>
<div class="search-item flex items-center">
<span class="search-label">巡查计划日期</span>
<el-date-picker
clearable
size="small"
class="ml-10"
v-model="paramsData.planDateArr"
type="daterange"
placeholder="开始日期"
value-format="yyyy-MM-dd"
></el-date-picker>
</div>
<div class="flex-1 flex justify-end search-item">
<el-button
size="small"
class="flex-shrink-0 myml-12"
type="success"
@click="handleChangeQuery"
>查询</el-button
>
<el-button
class="flex-shrink-0"
size="small"
@click="handleResetQuery"
>重置</el-button
>
<el-option label="全部" value=""> </el-option>
<el-option label="启用" value="1"> </el-option>
<el-option label="停用" value="0"> </el-option>
</el-select>
</div>
<div class="search-item flex items-center">
<span class="search-label">巡查计划责任人</span>
<el-select
clearable
size="small"
class="w-202 ml-10"
v-model="paramsData.userIds"
:popper-append-to-body="false"
multiple
filterable
remote
:multiple-limit="5"
:remote-method="searchUser"
value-key="id"
placeholder="请输入关键词搜索用户"
>
<el-option
v-for="item in personnelList"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option>
</el-select>
</div>
<div class="search-item flex items-center">
<span class="search-label">巡查计划日期</span>
<el-date-picker
clearable
size="small"
class="ml-10"
v-model="paramsData.planDateArr"
type="daterange"
placeholder="开始日期"
value-format="yyyy-MM-dd"
></el-date-picker>
</div>
<div class="flex-1 flex justify-end search-item">
<el-button
size="small"
class="flex-shrink-0 myml-12"
type="success"
@click="handleChangeQuery"
>查询</el-button
>
<el-button
class="flex-shrink-0"
size="small"
@click="handleResetQuery"
>重置</el-button
>
</div>
</div>
</div>
<div class="line"></div>
<div class="flex justify-end mb-16">
<div>
<el-button type="primary" size="small" @click="handleAdd"
>新增</el-button
>
<el-button
type="danger"
size="small"
@click="handleDelAll"
v-hasPermi="['df:run:inspection:plan:delAll']"
>删除</el-button
>
<div class="line"></div>
<div class="flex justify-end">
<div>
<el-button type="primary" size="small" @click="handleAdd"
>新增</el-button
>
<el-button
type="danger"
size="small"
@click="handleDelAll"
v-hasPermi="['df:run:inspection:plan:delAll']"
>删除</el-button
>
</div>
</div>
</div>
<el-table
:height="tableHeight"
:data="tableData"
border
@selection-change="handleSelectionChange"
@ -605,10 +609,8 @@ export default {
}
.table-box {
// height: calc(100% - 50px - 24px);
margin-top: 24px;
padding: 16px;
padding-bottom: 60px;
background-color: white;
.top-search {

312
src/views/dike/runManage/enginerring/inspectionRecords/index.vue

@ -18,6 +18,8 @@ import { getAreasData } from "@/api/areas/index";
import PDF from "./components/PDF.vue";
import { calcTableHeight } from "@/mixins/calcTableHeight";
export default {
name: "InspectionItems",
components: {
@ -25,7 +27,7 @@ export default {
RecordDetails,
PDF,
},
mixins: [reqCountMixins],
mixins: [reqCountMixins, calcTableHeight],
data() {
return {
dayjs,
@ -334,166 +336,168 @@ export default {
<template>
<div class="slider-right">
<TopBackTitle :showBackBtn="false"></TopBackTitle>
<div class="table-box">
<div class="search-form flex flex-wrap">
<div class="search-item flex items-center">
<span class="search-label">行政区划</span>
<el-cascader
clearable
class="ml-10 w-202"
:options="areasOptions"
v-model="paramsData.adcd"
:props="areasOptionProps"
placeholder="请选择行政区划"
size="small"
>
</el-cascader>
</div>
<div class="search-item flex items-center">
<span class="search-label">堤防名称</span>
<el-input
clearable
size="small"
class="w-202 ml-10"
:maxlength="50"
v-model="paramsData.dikeName"
placeholder="请输入名称"
/>
</div>
<div class="search-item flex items-center">
<span class="search-label">堤防类型</span>
<el-select
clearable
size="small"
class="w-202 ml-10"
v-model="paramsData.dikeType"
:popper-append-to-body="false"
filterable
placeholder="请选择"
>
<el-option label="全部" value=""> </el-option>
<el-option
v-for="item in projectTypeOptions"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
<div class="table-box slider-right-body" ref="tableBoxRef">
<div class="pb-16" ref="topBoxRef">
<div class="search-form flex flex-wrap" ref="searchFormRef">
<div class="search-item flex items-center">
<span class="search-label">行政区划</span>
<el-cascader
clearable
class="ml-10 w-202"
:options="areasOptions"
v-model="paramsData.adcd"
:props="areasOptionProps"
placeholder="请选择行政区划"
size="small"
>
</el-option>
</el-select>
</div>
<div class="search-item flex items-center">
<span class="search-label">巡查路线名称</span>
<el-input
clearable
size="small"
class="w-202 ml-10"
:maxlength="50"
v-model="paramsData.lineName"
placeholder="请输入名称"
/>
</div>
<div class="search-item flex items-center">
<span class="search-label">巡查类型</span>
<el-select
clearable
size="small"
class="w-202 ml-10"
v-model="paramsData.lineType"
:popper-append-to-body="false"
filterable
placeholder="请选择"
>
<el-option label="全部" value=""> </el-option>
<el-option
v-for="item in xcTypeOptions"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
</el-cascader>
</div>
<div class="search-item flex items-center">
<span class="search-label">堤防名称</span>
<el-input
clearable
size="small"
class="w-202 ml-10"
:maxlength="50"
v-model="paramsData.dikeName"
placeholder="请输入名称"
/>
</div>
<div class="search-item flex items-center">
<span class="search-label">堤防类型</span>
<el-select
clearable
size="small"
class="w-202 ml-10"
v-model="paramsData.dikeType"
:popper-append-to-body="false"
filterable
placeholder="请选择"
>
</el-option>
</el-select>
</div>
<div class="search-item flex items-center">
<span class="search-label">负责人类型</span>
<el-select
clearable
size="small"
class="w-202 ml-10"
v-model="paramsData.dutyHolderType"
:popper-append-to-body="false"
filterable
placeholder="请选择"
>
<el-option label="全部" value=""> </el-option>
<el-option
v-for="item in dutyHolderTypeOptions"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
<el-option label="全部" value=""> </el-option>
<el-option
v-for="item in projectTypeOptions"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
>
</el-option>
</el-select>
</div>
<div class="search-item flex items-center">
<span class="search-label">巡查路线名称</span>
<el-input
clearable
size="small"
class="w-202 ml-10"
:maxlength="50"
v-model="paramsData.lineName"
placeholder="请输入名称"
/>
</div>
<div class="search-item flex items-center">
<span class="search-label">巡查类型</span>
<el-select
clearable
size="small"
class="w-202 ml-10"
v-model="paramsData.lineType"
:popper-append-to-body="false"
filterable
placeholder="请选择"
>
</el-option>
</el-select>
</div>
<div class="search-item flex items-center">
<span class="search-label">隐患处置状态</span>
<el-select
clearable
size="small"
class="w-202 ml-10"
v-model="paramsData.handleStatus"
:popper-append-to-body="false"
filterable
placeholder="请选择"
>
<el-option label="全部" value=""> </el-option>
<el-option
v-for="item in handleStatusOptions"
:label="item.dictLabel"
:value="item.dictValue"
<el-option label="全部" value=""> </el-option>
<el-option
v-for="item in xcTypeOptions"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
>
</el-option>
</el-select>
</div>
<div class="search-item flex items-center">
<span class="search-label">负责人类型</span>
<el-select
clearable
size="small"
class="w-202 ml-10"
v-model="paramsData.dutyHolderType"
:popper-append-to-body="false"
filterable
placeholder="请选择"
>
</el-option>
</el-select>
</div>
<div class="flex-1 flex justify-end search-item">
<el-button
size="small"
class="flex-shrink-0 myml-12"
type="success"
@click="handleChangeQuery"
>查询</el-button
>
<el-button
class="flex-shrink-0"
size="small"
@click="handleResetQuery"
>重置</el-button
>
<el-option label="全部" value=""> </el-option>
<el-option
v-for="item in dutyHolderTypeOptions"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
>
</el-option>
</el-select>
</div>
<div class="search-item flex items-center">
<span class="search-label">隐患处置状态</span>
<el-select
clearable
size="small"
class="w-202 ml-10"
v-model="paramsData.handleStatus"
:popper-append-to-body="false"
filterable
placeholder="请选择"
>
<el-option label="全部" value=""> </el-option>
<el-option
v-for="item in handleStatusOptions"
:label="item.dictLabel"
:value="item.dictValue"
>
</el-option>
</el-select>
</div>
<div class="flex-1 flex justify-end search-item">
<el-button
size="small"
class="flex-shrink-0 myml-12"
type="success"
@click="handleChangeQuery"
>查询</el-button
>
<el-button
class="flex-shrink-0"
size="small"
@click="handleResetQuery"
>重置</el-button
>
</div>
</div>
</div>
<div class="line"></div>
<div class="flex justify-end mb-16">
<div>
<el-button type="primary" size="small" @click="handleAdd"
>新增</el-button
>
<el-button
size="small"
v-if="tableCheckData.length"
v-hasPermi="['df:run:inspection:record:export']"
@click="handleExport"
>导出</el-button
>
<el-button
type="danger"
size="small"
@click="handleDelAll"
v-hasPermi="['df:run:inspection:record:delAll']"
>删除</el-button
>
<div class="line" ref="lineRef"></div>
<div class="flex justify-end" ref="btnBoxRef">
<div>
<el-button type="primary" size="small" @click="handleAdd"
>新增</el-button
>
<el-button
size="small"
v-if="tableCheckData.length"
v-hasPermi="['df:run:inspection:record:export']"
@click="handleExport"
>导出</el-button
>
<el-button
type="danger"
size="small"
@click="handleDelAll"
v-hasPermi="['df:run:inspection:record:delAll']"
>删除</el-button
>
</div>
</div>
</div>
<el-table
class="table"
:height="tableHeight"
:data="tableData"
border
@selection-change="handleSelectionChange"
@ -702,10 +706,8 @@ export default {
}
.table-box {
// height: calc(100% - 24px);
margin-top: 24px;
padding: 16px;
padding-bottom: 60px;
background-color: white;
}

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

Loading…
Cancel
Save