Selaa lähdekoodia

Merge branch 'V0.0.2' of http://10.87.10.227:4000/jzyd_yyds/soc_app into V0.0.2

coys 2 vuotta sitten
vanhempi
commit
563a1bfd2b
97 muutettua tiedostoa jossa 420 lisäystä ja 710 poistoa
  1. BIN
      src/assets/img/app菜单页图标/NFC管理.png
  2. BIN
      src/assets/img/app菜单页图标/介绍信管理.png
  3. BIN
      src/assets/img/app菜单页图标/优秀案例学习.png
  4. BIN
      src/assets/img/app菜单页图标/优秀案例管理.png
  5. BIN
      src/assets/img/app菜单页图标/作息管理.png
  6. BIN
      src/assets/img/app菜单页图标/出入登记.png
  7. BIN
      src/assets/img/app菜单页图标/培训登记.png
  8. BIN
      src/assets/img/app菜单页图标/外包评价.png
  9. BIN
      src/assets/img/app菜单页图标/天气预报.png
  10. BIN
      src/assets/img/app菜单页图标/安全检查登记.png
  11. BIN
      src/assets/img/app菜单页图标/履职报表.png
  12. BIN
      src/assets/img/app菜单页图标/履职登记.png
  13. BIN
      src/assets/img/app菜单页图标/布撤防报表.png
  14. BIN
      src/assets/img/app菜单页图标/教育统计报表.png
  15. BIN
      src/assets/img/app菜单页图标/消息中心.png
  16. BIN
      src/assets/img/app菜单页图标/演练排名.png
  17. BIN
      src/assets/img/app菜单页图标/演练登记.png
  18. BIN
      src/assets/img/app菜单页图标/视频调阅.png
  19. BIN
      src/assets/img/app菜单页图标/设备管理.png
  20. BIN
      src/assets/img/app菜单页图标/防区状态.png
  21. BIN
      src/assets/img/app菜单页图标/隐患问题清单.png
  22. BIN
      src/assets/img/app菜单页图标/驾驶舱.png
  23. BIN
      src/assets/img/icon/camera-fill.png
  24. BIN
      src/assets/img/icon/double right.png
  25. BIN
      src/assets/img/icon/edit-square.png
  26. BIN
      src/assets/img/icon/empty-default.png
  27. BIN
      src/assets/img/icon/u36.png
  28. BIN
      src/assets/img/icon/u37.png
  29. BIN
      src/assets/img/icon/u38.png
  30. BIN
      src/assets/img/icon/u39.png
  31. BIN
      src/assets/img/icon/u40.png
  32. BIN
      src/assets/img/icon/u41.png
  33. BIN
      src/assets/img/icon/u42.png
  34. BIN
      src/assets/img/icon/u43.png
  35. BIN
      src/assets/img/icon/u45.png
  36. BIN
      src/assets/img/icon/u46.png
  37. BIN
      src/assets/img/icon/u47.png
  38. BIN
      src/assets/img/icon/u48.png
  39. BIN
      src/assets/img/icon/u49.png
  40. BIN
      src/assets/img/icon/u50.png
  41. BIN
      src/assets/img/icon/u51.png
  42. BIN
      src/assets/img/icon/u52.png
  43. BIN
      src/assets/img/icon/u53.png
  44. BIN
      src/assets/img/icon/u54.png
  45. BIN
      src/assets/img/icon/u55.png
  46. BIN
      src/assets/img/icon/u56.png
  47. BIN
      src/assets/img/icon/u57.png
  48. BIN
      src/assets/img/icon/u58.png
  49. 0 6
      src/assets/img/icon/u59.svg
  50. 0 3
      src/assets/img/icon/u60.svg
  51. 0 1
      src/assets/svg/资源 33.svg
  52. 0 1
      src/assets/svg/资源 34.svg
  53. 0 0
      src/assets/svg/资源 35.svg
  54. 0 1
      src/assets/svg/资源 36.svg
  55. 0 1
      src/assets/svg/资源 37.svg
  56. 0 1
      src/assets/svg/资源 38.svg
  57. 0 1
      src/assets/svg/资源 39.svg
  58. 0 1
      src/assets/svg/资源 40.svg
  59. 0 1
      src/assets/svg/资源 41.svg
  60. 0 1
      src/assets/svg/资源 42.svg
  61. 0 1
      src/assets/svg/资源 43.svg
  62. 0 0
      src/assets/svg/资源 44.svg
  63. 0 0
      src/assets/svg/资源 45.svg
  64. 0 1
      src/assets/svg/资源 46.svg
  65. 0 1
      src/assets/svg/资源 47.svg
  66. 0 0
      src/assets/svg/资源 48.svg
  67. 0 1
      src/assets/svg/资源 49.svg
  68. 0 1
      src/assets/svg/资源 50.svg
  69. 0 0
      src/assets/svg/资源 51.svg
  70. 0 1
      src/assets/svg/资源 52.svg
  71. 0 1
      src/assets/svg/资源 53.svg
  72. 0 1
      src/assets/svg/资源 54.svg
  73. 8 6
      src/components/Calendar/index.vue
  74. 29 0
      src/components/EmptyBox/index.vue
  75. 0 175
      src/components/SearchSelectCell/SelectPicker.vue
  76. 145 54
      src/components/SearchSelectCell/index.vue
  77. 0 216
      src/components/Yselectcell/index.vue
  78. 12 0
      src/components/index.js
  79. 1 1
      src/components/list/index.vue
  80. 3 16
      src/components/scroll/scroll.vue
  81. 1 0
      src/components/selectCell/index.vue
  82. 2 1
      src/main.js
  83. 2 8
      src/router/router.config.js
  84. 1 1
      src/views/home/menu.vue
  85. 10 10
      src/views/home/works.vue
  86. 8 7
      src/views/menu/LZRegister/index.vue
  87. 8 8
      src/views/menu/drillStatistics/index.vue
  88. 1 1
      src/views/menu/educationStatistics/index.vue
  89. 2 7
      src/views/menu/message/index.vue
  90. 1 1
      src/views/menu/problemItem/index.vue
  91. 8 7
      src/views/menu/resumption/list.vue
  92. 1 1
      src/views/menu/safetyBook/index.vue
  93. 32 21
      src/views/menu/securityCheckRegister/addCheck.vue
  94. 30 12
      src/views/menu/securityCheckRegister/addWorker.vue
  95. 79 82
      src/views/menu/securityCheckRegister/detail.vue
  96. 35 48
      src/views/menu/securityCheckRegister/index.vue
  97. 1 1
      vue.config.js

BIN
src/assets/img/app菜单页图标/NFC管理.png


BIN
src/assets/img/app菜单页图标/介绍信管理.png


BIN
src/assets/img/app菜单页图标/优秀案例学习.png


BIN
src/assets/img/app菜单页图标/优秀案例管理.png


BIN
src/assets/img/app菜单页图标/作息管理.png


BIN
src/assets/img/app菜单页图标/出入登记.png


BIN
src/assets/img/app菜单页图标/培训登记.png


BIN
src/assets/img/app菜单页图标/外包评价.png


BIN
src/assets/img/app菜单页图标/天气预报.png


BIN
src/assets/img/app菜单页图标/安全检查登记.png


BIN
src/assets/img/app菜单页图标/履职报表.png


BIN
src/assets/img/app菜单页图标/履职登记.png


BIN
src/assets/img/app菜单页图标/布撤防报表.png


BIN
src/assets/img/app菜单页图标/教育统计报表.png


BIN
src/assets/img/app菜单页图标/消息中心.png


BIN
src/assets/img/app菜单页图标/演练排名.png


BIN
src/assets/img/app菜单页图标/演练登记.png


BIN
src/assets/img/app菜单页图标/视频调阅.png


BIN
src/assets/img/app菜单页图标/设备管理.png


BIN
src/assets/img/app菜单页图标/防区状态.png


BIN
src/assets/img/app菜单页图标/隐患问题清单.png


BIN
src/assets/img/app菜单页图标/驾驶舱.png


BIN
src/assets/img/icon/camera-fill.png


BIN
src/assets/img/icon/double right.png


BIN
src/assets/img/icon/edit-square.png


BIN
src/assets/img/icon/empty-default.png


BIN
src/assets/img/icon/u36.png


BIN
src/assets/img/icon/u37.png


BIN
src/assets/img/icon/u38.png


BIN
src/assets/img/icon/u39.png


BIN
src/assets/img/icon/u40.png


BIN
src/assets/img/icon/u41.png


BIN
src/assets/img/icon/u42.png


BIN
src/assets/img/icon/u43.png


BIN
src/assets/img/icon/u45.png


BIN
src/assets/img/icon/u46.png


BIN
src/assets/img/icon/u47.png


BIN
src/assets/img/icon/u48.png


BIN
src/assets/img/icon/u49.png


BIN
src/assets/img/icon/u50.png


BIN
src/assets/img/icon/u51.png


BIN
src/assets/img/icon/u52.png


BIN
src/assets/img/icon/u53.png


BIN
src/assets/img/icon/u54.png


BIN
src/assets/img/icon/u55.png


BIN
src/assets/img/icon/u56.png


BIN
src/assets/img/icon/u57.png


BIN
src/assets/img/icon/u58.png


+ 0 - 6
src/assets/img/icon/u59.svg

@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="50px" height="38px" xmlns="http://www.w3.org/2000/svg">
-  <g transform="matrix(1 0 0 1 -608 -144 )">
-    <path d="M 49.0967741935484 5.24579124579125  C 49.6989247311828 5.84287317620651  50 6.5679012345679  50 7.42087542087542  C 50 8.27384960718294  49.6989247311828 8.99887766554433  49.0967741935484 9.5959595959596  L 25.741935483871 32.7542087542088  L 21.3548387096774 37.1043771043771  C 20.752688172043 37.7014590347924  20.0215053763441 38  19.1612903225806 38  C 18.3010752688172 38  17.5698924731183 37.7014590347924  16.9677419354839 37.1043771043771  L 12.5806451612903 32.7542087542088  L 0.903225806451613 21.1750841750842  C 0.301075268817205 20.5780022446689  0 19.8529741863075  0 19  C 0 18.1470258136925  0.301075268817205 17.4219977553311  0.903225806451613 16.8249158249158  L 5.29032258064516 12.4747474747475  C 5.89247311827957 11.8776655443322  6.6236559139785 11.5791245791246  7.48387096774194 11.5791245791246  C 8.34408602150538 11.5791245791246  9.0752688172043 11.8776655443322  9.67741935483871 12.4747474747475  L 19.1612903225806 21.9107744107744  L 40.3225806451613 0.895622895622896  C 40.9247311827957 0.298540965207631  41.6559139784946 0  42.5161290322581 0  C 43.3763440860215 0  44.1075268817204 0.298540965207631  44.7096774193548 0.895622895622896  L 49.0967741935484 5.24579124579125  Z " fill-rule="nonzero" fill="#000000" stroke="none" transform="matrix(1 0 0 1 608 144 )" />
-  </g>
-</svg>

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 3
src/assets/img/icon/u60.svg


+ 0 - 1
src/assets/svg/资源 33.svg

@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 85.04 85.04"><defs><style>.cls-1{opacity:0;}.cls-2{fill:#fff;}.cls-3{fill:#d8bc70;fill-rule:evenodd;}</style></defs><title>资源 33</title><g id="图层_2" data-name="图层 2"><g id="图层_1-2" data-name="图层 1"><g class="cls-1"><rect class="cls-2" x="0.25" y="0.25" width="84.54" height="84.54"/><path class="cls-2" d="M84.54.5v84H.5V.5h84M85,0H0V85H85V0Z"/></g><path class="cls-3" d="M60.29,52.23l3.23,19.41c1.07,2.16,0,3.24-1.08,3.24H60.29L42,65.17l-18.3,9.71H22.6c-1.08,0-2.15-1.08-2.15-3.24l4.3-19.41L9.68,37.13C7.52,35,8.6,33.89,10.75,33.89l20.46-3.24,8.62-19.41A3.31,3.31,0,0,1,42,10.16c1.08,0,2.15,0,2.15,1.08l9.7,19.41,20.45,3.24c2.16,0,3.24,1.08,1.08,3.24L60.29,52.23Zm7.53-14L52.75,36.05,50.6,35l-2.16-2.16L42,19.87V58.7l3.23,1.08,12.92,7.55L54.9,52.23V50.07l2.16-2.16,10.76-9.7Z"/></g></g></svg>

+ 0 - 1
src/assets/svg/资源 34.svg

@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 85.04 85.04"><defs><style>.cls-1{opacity:0;}.cls-2{fill:#fff;}.cls-3{fill:#cc98a5;fill-rule:evenodd;}</style></defs><title>资源 34</title><g id="图层_2" data-name="图层 2"><g id="图层_1-2" data-name="图层 1"><g class="cls-1"><rect class="cls-2" x="0.25" y="0.25" width="84.54" height="84.54"/><path class="cls-2" d="M84.54.5v84H.5V.5h84M85,0H0V85H85V0Z"/></g><path class="cls-3" d="M40.91,59c0-9.92,8.47-18.13,18.69-18.13a17.79,17.79,0,0,1,6.72,1.41V9.64H16.39c-2.05,0-4.09.28-5.55,1.7C8.5,13.61,8.5,16.44,8.5,19.27c.3,2.27,3.8,2.27,3.51,0,0-1.7-.29-4.25,1.46-5.38A5,5,0,0,1,16.39,13v9.64c-2.05,0-4.09.28-5.55,1.7C8.5,26.64,8.5,29.48,8.5,32.31c.3,2.27,3.8,2.27,3.51,0,0-1.7-.29-4.25,1.46-5.38a5,5,0,0,1,2.92-.85v9.63c-2.05,0-4.09.29-5.55,1.7-2.34,2-2.34,5.11-2.34,7.94.3,2.27,3.8,2.27,3.51,0,0-1.7-.29-4.25,1.46-5.38a5,5,0,0,1,2.92-.86v9.64c-2.05,0-4.09.28-5.55,1.7-2.34,2-2.34,5.1-2.34,7.94.3,2.27,3.8,2.27,3.51,0,0-2-.29-4.25,1.46-5.39a3.59,3.59,0,0,1,2.92-.85v9.64c-2.05,0-4.09.28-5.55,1.7-2.34,2-2.34,5.1-2.34,7.94.3,2.26,3.8,2.26,3.51,0,0-2-.29-4.26,1.46-5.67a4.89,4.89,0,0,1,2.92-.57v7.09H47.05A18,18,0,0,1,40.91,59M27.77,16.16H54.93V30H27.77V16.16Z"/><path class="cls-3" d="M66.32,44.08A17.63,17.63,0,0,0,59.6,43C50.26,43,43,50,43,59A16.69,16.69,0,0,0,49.67,72.3a17.23,17.23,0,0,0,9.93,3.1c9.34,0,16.94-7.34,16.94-16.37a16.52,16.52,0,0,0-10.22-15m0,14.39L60.18,64.4,56.1,68.63,51.72,64.4l-4.09-3.67L52,56.49l4.09,3.95,10.22-9.87.29-.57,4.09,4.24-4.38,4.23Z"/></g></g></svg>

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
src/assets/svg/资源 35.svg


+ 0 - 1
src/assets/svg/资源 36.svg

@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 85.04 85.04"><defs><style>.cls-1{fill:#6c9b73;fill-rule:evenodd;}.cls-2{fill:none;}</style></defs><title>资源 36</title><g id="图层_2" data-name="图层 2"><g id="图层_1-2" data-name="图层 1"><path class="cls-1" d="M76.54,8.5H8.5v68h6.84V69.7h6.83v6.84h41V69.7H70v6.84h6.53V8.5ZM63.18,56.34H70v6.53H63.18V56.34Zm0-13.67H70v6.84H63.18V42.67Zm0-13.66H70v6.83H63.18V29Zm0-13.67H70v6.83H63.18V15.34ZM29,49.51H56.34V69.7H29V49.51Zm0-34.17H56.34v20.5H29V15.34Zm-13.67,41h6.83v6.53H15.34V56.34Zm0-13.67h6.83v6.84H15.34V42.67Zm0-13.66h6.83v6.83H15.34V29Zm0-13.67h6.83v6.83H15.34V15.34Z"/><rect class="cls-2" width="85.04" height="85.04"/></g></g></svg>

+ 0 - 1
src/assets/svg/资源 37.svg

@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 85.04 85.04"><defs><style>.cls-1{fill:none;}.cls-2{fill:#ab6866;fill-rule:evenodd;}</style></defs><title>资源 37</title><g id="图层_2" data-name="图层 2"><g id="图层_1-2" data-name="图层 1"><rect class="cls-1" width="85.04" height="85.04"/><path class="cls-2" d="M75.16,67.9l-8.85,8.83a2.53,2.53,0,0,1-2.22,1.1,2.5,2.5,0,0,1-2.21-1.1l-4.42-4.41a2.52,2.52,0,0,1-1.11-2.21,3.19,3.19,0,0,1,3.32-3.31,2.5,2.5,0,0,1,2.21,1.1l2.21,1.93,6.64-6.34A2.54,2.54,0,0,1,73,62.38a3.19,3.19,0,0,1,3.31,3.31,2.5,2.5,0,0,1-1.1,2.21M64.09,65.14a6.28,6.28,0,0,0-4.42-1.65A6.72,6.72,0,0,0,53,70.11,6.63,6.63,0,0,0,55,74.8h0l3,3H12.09a3.2,3.2,0,0,1-3.32-3.31V17.14a3.2,3.2,0,0,1,3.32-3.31h5.54v3.31a6.64,6.64,0,0,0,13.27,0V13.83h3.32v3.31a6.64,6.64,0,0,0,13.28,0V13.83h3.32v3.31a6.64,6.64,0,0,0,13.27,0V13.83h5.54A3.2,3.2,0,0,1,73,17.14V59.07A6.71,6.71,0,0,0,68.24,61l-4.15,4.14ZM17.63,64a2.61,2.61,0,0,0,2.76,2.76h21a2.76,2.76,0,1,0,0-5.52h-21A2.6,2.6,0,0,0,17.63,64M60.78,32.59H21a3.31,3.31,0,1,0,0,6.62H60.78a3.31,3.31,0,1,0,0-6.62m0,14.34H21a3.32,3.32,0,1,0,0,6.63H60.78a3.32,3.32,0,0,0,0-6.63M57.46,20.45a3.19,3.19,0,0,1-3.32-3.31V10.52a3.32,3.32,0,0,1,6.64,0v6.62a3.2,3.2,0,0,1-3.32,3.31m-16.6,0a3.19,3.19,0,0,1-3.32-3.31V10.52a3.32,3.32,0,0,1,6.64,0v6.62a3.19,3.19,0,0,1-3.32,3.31m-16.6,0A3.19,3.19,0,0,1,21,17.14V10.52a3.18,3.18,0,0,1,3.31-3.31,3.18,3.18,0,0,1,3.32,3.31v6.62a3.19,3.19,0,0,1-3.32,3.31"/><rect class="cls-1" width="85.04" height="85.04"/></g></g></svg>

+ 0 - 1
src/assets/svg/资源 38.svg

@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 85.04 85.04"><defs><style>.cls-1{opacity:0;}.cls-2{fill:#fff;}.cls-3{fill:#d8bc70;fill-rule:evenodd;}</style></defs><title>资源 38</title><g id="图层_2" data-name="图层 2"><g id="图层_1-2" data-name="图层 1"><g class="cls-1"><rect class="cls-2" x="0.25" y="0.25" width="84.54" height="84.54"/><path class="cls-2" d="M84.54.5v84H.5V.5h84M85,0H0V85H85V0Z"/></g><path class="cls-3" d="M79.37,62.72c0,2.12-1,4.25-1.91,4.25l-15.32,8.5c-1,1.07-1,1.07-1.91,1.07s-1.92,0-1.92-1.07L43,67H42l-15.31,8.5c0,1.07-1,1.07-1.92,1.07a2.83,2.83,0,0,1-1.91-1.07L7.58,67c-1,0-1.91-2.13-1.91-4.25V47.83a6,6,0,0,1,2.87-5.31L22.9,36.14V20.2a5.73,5.73,0,0,1,2.87-4.26L41.08,8.5H44l15.31,7.44a5.73,5.73,0,0,1,2.87,4.26V36.14l15.32,6.38a8.64,8.64,0,0,1,1.91,5.31V62.72ZM39.17,46.77,24.81,40.39l-13.4,6.38,13.4,6.38,14.36-6.38Zm1,15.95V51L27.68,57.4V70.16l12.45-7.44ZM57.36,20.2,43,13.82,27.68,20.2,43,27.64,57.36,20.2Zm1,15.94V25.51l-13.4,6.38V42.52l13.4-6.38ZM73.63,46.77l-13.4-6.38L45.87,46.77l14.36,6.38,13.4-6.38Zm1.91,15.95V51L62.14,57.4V70.16l13.4-7.44Z"/></g></g></svg>

+ 0 - 1
src/assets/svg/资源 39.svg

@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 85.04 85.04"><defs><style>.cls-1{opacity:0;}.cls-2{fill:#fff;}.cls-3{fill:#ab6866;fill-rule:evenodd;}</style></defs><title>资源 39</title><g id="图层_2" data-name="图层 2"><g id="图层_1-2" data-name="图层 1"><g class="cls-1"><rect class="cls-2" x="0.25" y="0.25" width="84.54" height="84.54"/><path class="cls-2" d="M84.54.5v84H.5V.5h84M85,0H0V85H85V0Z"/></g><path class="cls-3" d="M69.69,67h-17a9.59,9.59,0,0,1-19.18,0h-17a5,5,0,0,1-5.33-5.32C16.41,57.4,22.81,48.9,22.81,29.76c0-7.44,6.39-14.88,17.05-15.94-1.07-1.06-1.07-1.06-1.07-2.13,0-2.12,2.13-3.19,4.26-3.19s3.2,1.07,3.2,3.19v2.13c9.59,1.06,16,8.5,16,15.94,0,19.14,6.4,27.64,11.72,31.89C74,64.84,71.82,67,69.69,67ZM43.05,72.28c-3.19,0-5.33-3.19-5.33-5.31a1.07,1.07,0,0,0-2.13,0c0,3.19,3.2,6.38,7.46,6.38V72.28Z"/></g></g></svg>

+ 0 - 1
src/assets/svg/资源 40.svg

@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 85.04 85.04"><defs><style>.cls-1{opacity:0;}.cls-2{fill:#fff;}.cls-3{fill:#7799ac;fill-rule:evenodd;}</style></defs><title>资源 40</title><g id="图层_2" data-name="图层 2"><g id="图层_1-2" data-name="图层 1"><g class="cls-1"><rect class="cls-2" x="0.25" y="0.25" width="84.54" height="84.54"/><path class="cls-2" d="M84.54.5v84H.5V.5h84M85,0H0V85H85V0Z"/></g><path class="cls-3" d="M54.74,40.13,75.47,20a3.24,3.24,0,0,1,1.07,2.39V62.69a3,3,0,0,1-.8,2.12l-21-24.68ZM9.57,20a3,3,0,0,1,2.12-.79H73.35a3,3,0,0,1,2.12.79L42.52,45.7,9.57,20ZM9.3,64.81a3,3,0,0,1-.8-2.12V22.35A3.24,3.24,0,0,1,9.57,20L30.3,40.13,9.3,64.81ZM42.52,52.07l8.77-8.49,24.18,21.5a3,3,0,0,1-2.12.79H11.69a3,3,0,0,1-2.12-.79l24.18-21.5,8.77,8.49Z"/></g></g></svg>

+ 0 - 1
src/assets/svg/资源 41.svg

@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 85.04 85.04"><defs><style>.cls-1{opacity:0;}.cls-2{fill:#fff;}.cls-3{fill:#a680a5;fill-rule:evenodd;}</style></defs><title>资源 41</title><g id="图层_2" data-name="图层 2"><g id="图层_1-2" data-name="图层 1"><g class="cls-1"><rect class="cls-2" x="0.25" y="0.25" width="84.54" height="84.54"/><path class="cls-2" d="M84.54.5v84H.5V.5h84M85,0H0V85H85V0Z"/></g><path class="cls-3" d="M73.35,53.76a6.39,6.39,0,0,0-4.52,1.87l-4,4A6,6,0,0,0,60.59,58a6.49,6.49,0,0,0-6.38,6.42c0,.8.27,1.34.27,2.14H11.69A3.08,3.08,0,0,1,8.5,63.39V29.14h68V54.56a7,7,0,0,0-3.19-.8M8.5,22.72V16.3a3.08,3.08,0,0,1,3.19-3.21h16L34,19.51H73.35a3.08,3.08,0,0,1,3.19,3.21v3.21H8.5V22.72ZM60.59,61.25a2.4,2.4,0,0,1,2.13,1.07l2.12,1.87L71.22,58A2.4,2.4,0,0,1,73.35,57a3.08,3.08,0,0,1,3.19,3.21,2.45,2.45,0,0,1-1.07,2.14L67,70.88a2.65,2.65,0,0,1-4.25,0L58.46,66.6a2.46,2.46,0,0,1-1.06-2.14,3.08,3.08,0,0,1,3.19-3.21"/></g></g></svg>

+ 0 - 1
src/assets/svg/资源 42.svg

@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 85.04 85.04"><defs><style>.cls-1{opacity:0;}.cls-2{fill:#fff;}.cls-3{fill:#6c9b73;fill-rule:evenodd;}</style></defs><title>资源 42</title><g id="图层_2" data-name="图层 2"><g id="图层_1-2" data-name="图层 1"><g class="cls-1"><rect class="cls-2" x="0.25" y="0.25" width="84.54" height="84.54"/><path class="cls-2" d="M84.54.5v84H.5V.5h84M85,0H0V85H85V0Z"/></g><path class="cls-3" d="M67,35.43c1.88-3.11,8.76-11.17,8.76-11.17a6.7,6.7,0,0,0-.62-9.3c-3.13-2.48-6.89-1.24-9.39,1.86L57,28h0a98.64,98.64,0,0,0,9.39,7.45H67"/><path class="cls-3" d="M73.27,35.63a2.29,2.29,0,0,1-1.88.63,1.17,1.17,0,0,1,0-1.88L77,26.87a2.32,2.32,0,0,1,1.88-.62,1.16,1.16,0,0,1,0,1.87l-5.63,7.51Z"/><path class="cls-3" d="M56.7,31.06c-.63-.64-.63-.64-.63,0-1.27,1.27-7,9.56-8.86,12.11-1.27,1.91-1.27,5.1-1.27,7h0c0,.64,0,.64-.63,1.28,0,.63,0,1.27.63,1.27a.88.88,0,0,0,1.27,0l.63-.64h0a11.5,11.5,0,0,0,7-3.18c1.9-2.55,8.86-10.2,9.49-11.48h0a66.79,66.79,0,0,0-7.59-6.37"/><path class="cls-3" d="M47,35.68l-.63.58H13.81a.58.58,0,0,1-.63-.58V34.51c0-.59,0-1.17.63-1.17H46.35A2,2,0,0,1,47,34.51v1.17Z"/><path class="cls-3" d="M47,55.54a2,2,0,0,1-.64,1.17H33.64a1.32,1.32,0,0,1-1.27-1.17V55a1.31,1.31,0,0,1,1.27-1.16h12.7A2,2,0,0,1,47,55v.59Z"/><path class="cls-3" d="M47,26.16a2.39,2.39,0,0,1-.63,1.34H13.81c-.63,0-.63-.67-.63-1.34v-.67c0-.66,0-1.33.63-1.33H46.35A2.38,2.38,0,0,1,47,25.49v.67Z"/><path class="cls-3" d="M51.75,55.31v10c0,1.87-1.89,3.11-3.79,3.11H12a3.35,3.35,0,0,1-3.15-3.11V19.13A4,4,0,0,1,12,16H48c1.9,0,3.79,1.87,3.79,3.12v10.6c0,1.25,0,.63.63.63.63-.63,1.26-2.5,1.9-2.5A2.27,2.27,0,0,0,54.91,26V16a3,3,0,0,0-3.16-3.12H8.83A3,3,0,0,0,5.67,16V69a3,3,0,0,0,3.16,3.12H51.75A3,3,0,0,0,54.91,69v-15a.62.62,0,0,0-.63-.63c-.64,0-1.27.63-1.9.63s-.63,0-.63,1.25"/></g></g></svg>

+ 0 - 1
src/assets/svg/资源 43.svg

@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 85.04 85.04"><defs><style>.cls-1{opacity:0;}.cls-2{fill:#fff;}.cls-3{fill:#7799ac;fill-rule:evenodd;}</style></defs><title>资源 43</title><g id="图层_2" data-name="图层 2"><g id="图层_1-2" data-name="图层 1"><g class="cls-1"><rect class="cls-2" x="0.25" y="0.25" width="84.54" height="84.54"/><path class="cls-2" d="M84.54.5v84H.5V.5h84M85,0H0V85H85V0Z"/></g><path class="cls-3" d="M37.72,69.55l-3.79,3.23c-.54.53-1.08.53-1.08,0l-4.33-3.23c0-.53-.54-1.07-.54-1.61l2.16-9.67V55.59a1.16,1.16,0,0,1,1.08-1.08h4.33a1.16,1.16,0,0,1,1.09,1.08,12.09,12.09,0,0,0-.54,2.15v.53l2.16,9.67a2,2,0,0,1-.54,1.61m17.86,5.91L48,54.51s-2.17-3.75-4.88-3.75H23.64c-3.78,0-4.87,3.75-4.87,3.75L10.65,75.46c0,.54,0,1.08,1.09,1.08h6a1.06,1.06,0,0,0,1.08-1.08l3.79-9.67s.54-1.61.54,0v9.13c0,1.08,0,1.62,1.09,1.62H43.13c1.63,0,1.63-.54,1.63-1.62V65.26l3.79,10.2s0,1.08,1.62,1.08H54.5c1.63,0,1.63-.54,1.08-1.08"/><path class="cls-3" d="M21.39,35.54a11.82,11.82,0,0,1,12-11.64,11.82,11.82,0,0,1,12,11.64,11.82,11.82,0,0,1-12,11.63,11.82,11.82,0,0,1-12-11.63Z"/><path class="cls-3" d="M69.52,21c0,.54-.54.54-1.08.54H51.69a.53.53,0,0,1-.54-.54v-.55a1.93,1.93,0,0,1,.54-1.09H68.44a1.17,1.17,0,0,1,1.08,1.09V21ZM51.15,14.49a1.93,1.93,0,0,1,.54-1.09H65.2c.54,0,.54.55.54,1.09V15c0,.54,0,.54-.54.54H51.69a.53.53,0,0,1-.54-.54v-.55Zm21.62-6H47.9a2.41,2.41,0,0,0-2.16,1.64V25.93c0,1.09,1.08,1.63,2.16,1.63h4.33c1.08,0,1.62,1.09,1.08,1.64l-.54,4.35c0,1.09,0,1.09,1.08.55l5.94-5.45A5.83,5.83,0,0,1,63,27.56h9.73a1.44,1.44,0,0,0,1.62-1.63V10.14A1.73,1.73,0,0,0,72.77,8.5"/></g></g></svg>

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
src/assets/svg/资源 44.svg


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
src/assets/svg/资源 45.svg


+ 0 - 1
src/assets/svg/资源 46.svg

@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 85.04 85.04"><defs><style>.cls-1{opacity:0;}.cls-2{fill:#fff;}.cls-3{fill:#d8bc70;fill-rule:evenodd;}</style></defs><title>资源 46</title><g id="图层_2" data-name="图层 2"><g id="图层_1-2" data-name="图层 1"><g class="cls-1"><rect class="cls-2" x="0.25" y="0.25" width="84.54" height="84.54"/><path class="cls-2" d="M84.54.5v84H.5V.5h84M85,0H0V85H85V0Z"/></g><path class="cls-3" d="M40,56.4a2.52,2.52,0,1,1,2.52,2.52A2.52,2.52,0,0,1,40,56.4Z"/><path class="cls-3" d="M38.91,35.31A10.82,10.82,0,1,1,49.73,45.94,10.73,10.73,0,0,1,38.91,35.31Z"/><path class="cls-3" d="M70.1,72.6l-7-19.21a5.41,5.41,0,0,0-4.87-3.84H40.36c-3.25,0-4.33,3.29-4.33,3.84L28.46,72.6c0,.55,0,1.1,1.08,1.1H35A1.07,1.07,0,0,0,36,72.6l3.79-9.33s.54-1.1.54,0V72.6c0,.55,0,1.1.54,1.1H58.74c1.08,0,1.08-.55,1.08-1.65V63.27c0-.55.54,0,.54,0l3.25,9.33a1.07,1.07,0,0,0,1.08,1.1h4.87c.54,0,1.08-.55.54-1.1"/><path class="cls-3" d="M25.06,65.05H16.55a1.16,1.16,0,0,0-1.07,1.08v6c0,1.08.54,1.62,1.07,1.62H22.4c1.07,0,1.6-1.62,1.6-1.62l2.13-6s.53-1.08-1.07-1.08"/><path class="cls-3" d="M30,51.49H17a2.56,2.56,0,0,1-2.72-2.71V18.39A2.57,2.57,0,0,1,17,15.68H68.08a2.57,2.57,0,0,1,2.72,2.71V48.78a2.5,2.5,0,0,1-1.64,2.71c-1.08.55-1.08,1.09-1.08,1.09l3.26,8.68a1.88,1.88,0,0,0,1.09.55c1.63,0,2.17-1.09,2.17-2.72v-45a2.56,2.56,0,0,0-2.72-2.71H12.61a2.47,2.47,0,0,0-2.17,2.71v45a2.48,2.48,0,0,0,2.17,2.72h13.6a2.38,2.38,0,0,0,1.63-.55l3.26-8.68A1.07,1.07,0,0,0,30,51.49"/></g></g></svg>

+ 0 - 1
src/assets/svg/资源 47.svg

@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 85.04 85.04"><defs><style>.cls-1{opacity:0;}.cls-2{fill:#fff;}.cls-3{fill:#cc98a5;fill-rule:evenodd;}</style></defs><title>资源 47</title><g id="图层_2" data-name="图层 2"><g id="图层_1-2" data-name="图层 1"><g class="cls-1"><rect class="cls-2" x="0.25" y="0.25" width="84.54" height="84.54"/><path class="cls-2" d="M84.54.5v84H.5V.5h84M85,0H0V85H85V0Z"/></g><path class="cls-3" d="M31.47,42.31c0-2,.67-2.7,2-2.7a2.46,2.46,0,0,1,2.68,2.7V55.14a2.89,2.89,0,0,1-2.68,2.7c-1.34,0-2-1.35-2-2.7V42.31Zm2-8.1a1.78,1.78,0,0,1,2,2,1.79,1.79,0,0,1-2,2,1.79,1.79,0,0,1-2-2,1.78,1.78,0,0,1,2-2m23.44-2s-3.35-2.7-14.74-2.7-14.06,2.7-14.06,2.7v23c-1.34,0-2.68.67-3.35.67a3.73,3.73,0,0,0-2,3.38V72c0,1.35.67,2.7,2,2.7a87.56,87.56,0,0,0,17.41,2,81.17,81.17,0,0,0,17.42-2A2.89,2.89,0,0,0,62.28,72V59.19a3.73,3.73,0,0,0-2-3.38c-1.34,0-2-.67-3.35-.67v-23Z"/><path class="cls-3" d="M42.11,26.22a2.84,2.84,0,0,0,2.65-2.65V11a2.65,2.65,0,1,0-5.3,0V23.57a2.85,2.85,0,0,0,2.65,2.65"/><path class="cls-3" d="M31.45,24.32c.68.68.68.68,1.36.68a.67.67,0,0,0,.68-.68,1.27,1.27,0,0,0,0-2l-8.83-8.83a1.27,1.27,0,0,0-2,0,1.28,1.28,0,0,0,0,2l8.82,8.82Z"/><path class="cls-3" d="M52.21,25a.66.66,0,0,0,.67-.68l8.73-8.82a1.29,1.29,0,0,0,0-2c0-.68-.67-.68-1.35,0l-9.39,8.83v2c.67.68.67.68,1.34.68"/><path class="cls-3" d="M76.54,27.67c-.68-1.33-2-2.67-3.4-2l-12.22,2a2.46,2.46,0,0,0-2.72,2.67c.68,1.33,1.36,2,2.72,2h.68l12.22-2a2.9,2.9,0,0,0,2.72-2.67"/><path class="cls-3" d="M23.33,32.34c1.34,0,2.69-.67,2.69-2s-.67-2.67-2-2.67l-12.8-2c-1.35-.67-2.7.67-2.7,2s.68,2.67,2,2.67l12.8,2h0"/></g></g></svg>

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
src/assets/svg/资源 48.svg


+ 0 - 1
src/assets/svg/资源 49.svg

@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 85.04 85.04"><defs><style>.cls-1{opacity:0;}.cls-2{fill:#fff;}.cls-3{fill:#c0d292;fill-rule:evenodd;}</style></defs><title>资源 49</title><g id="图层_2" data-name="图层 2"><g id="图层_1-2" data-name="图层 1"><g class="cls-1"><rect class="cls-2" x="0.25" y="0.25" width="84.54" height="84.54"/><path class="cls-2" d="M84.54.5v84H.5V.5h84M85,0H0V85H85V0Z"/></g><path class="cls-3" d="M46.38,57.49a8.44,8.44,0,0,1-4.21,1.29,8.36,8.36,0,0,1-3.69-1.29L20,43.87s-1.58-1.3-1.58,1.3V58.78C18.45,65.92,29,73.7,42.17,73.7s23.71-7.78,23.71-14.92V44.52c0-2-1-1.3-1-1.3L46.38,57.49Z"/><path class="cls-3" d="M72.91,33a2.76,2.76,0,0,0,0-3.88l-28-16.79a3.41,3.41,0,0,0-4.76,0l-28,16.79a2.76,2.76,0,0,0,0,3.88l28,20.67a3.41,3.41,0,0,0,4.76,0"/><path class="cls-3" d="M71.15,63.84V40.66s0-.65-.52-.65c0,.65-1.06,1.29-1.58,1.29a2.21,2.21,0,0,0-.53,1.29V63.84h0a5,5,0,0,0-1.58,3.86c0,1.94,1.58,3.87,3.16,3.87s3.16-1.93,3.16-3.87a5,5,0,0,0-1.58-3.86h-.53"/></g></g></svg>

+ 0 - 1
src/assets/svg/资源 50.svg

@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 85.04 85.04"><defs><style>.cls-1{opacity:0;}.cls-2{fill:#fff;}.cls-3{fill:#a680a5;fill-rule:evenodd;}</style></defs><title>资源 50</title><g id="图层_2" data-name="图层 2"><g id="图层_1-2" data-name="图层 1"><g class="cls-1"><rect class="cls-2" x="0.25" y="0.25" width="84.54" height="84.54"/><path class="cls-2" d="M84.54.5v84H.5V.5h84M85,0H0V85H85V0Z"/></g><path class="cls-3" d="M59.24,64.88A27.87,27.87,0,0,1,39.36,73.1a28.3,28.3,0,0,1,0-56.59V44.8L59.24,64.88ZM43.88,40.24V11.94a28.3,28.3,0,0,1,28,28.3ZM73.7,44.8C73.7,53,71,60.32,65.57,64.88L45.68,44.8Z"/></g></g></svg>

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
src/assets/svg/资源 51.svg


+ 0 - 1
src/assets/svg/资源 52.svg

@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 85.04 85.04"><defs><style>.cls-1{opacity:0;}.cls-2{fill:#fff;}.cls-3{fill:#a680a5;fill-rule:evenodd;}</style></defs><title>资源 52</title><g id="图层_2" data-name="图层 2"><g id="图层_1-2" data-name="图层 1"><g class="cls-1"><rect class="cls-2" x="0.25" y="0.25" width="84.54" height="84.54"/><path class="cls-2" d="M84.54.5v84H.5V.5h84M85,0H0V85H85V0Z"/></g><path class="cls-3" d="M30.66,33.3a8,8,0,0,1-2.16-1.49,7.46,7.46,0,0,1,0-10.59,8,8,0,0,1,2.16-1.49l-3.32-3.32a11.22,11.22,0,0,0-1.63,1.35,11.5,11.5,0,0,0,.05,16.31,10.26,10.26,0,0,0,2.35,1.78l2.55-2.55Zm-9.47,7.07a12,12,0,0,0,1.25,1.15l2.83-2.84A12.59,12.59,0,0,1,24,37.58,15.59,15.59,0,0,1,24,15.5a16.38,16.38,0,0,1,1.25-1.16l-2.83-2.83a12,12,0,0,0-1.25,1.15,19.6,19.6,0,0,0,0,27.71Z"/><path class="cls-3" d="M35.5,12.73H65.35V63.67H35.5V12.73ZM31.26,17V68.08c0,4.23,4.24,8.46,8.65,8.46h21.2c4.24,0,8.48-4.23,8.48-8.46V17c0-4.23-4.24-8.46-8.48-8.46H39.91c-4.41,0-8.65,4.23-8.65,8.46ZM48.39,70.19a2,2,0,0,1,2.12-2.11,2.14,2.14,0,0,1,2.12,2.11,2.28,2.28,0,0,1-2.12,2.12,2.15,2.15,0,0,1-2.12-2.12Z"/></g></g></svg>

+ 0 - 1
src/assets/svg/资源 53.svg

@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 85.04 85.04"><defs><style>.cls-1{opacity:0;}.cls-2{fill:#fff;}.cls-3{fill:#6c9b73;fill-rule:evenodd;}</style></defs><title>资源 53</title><g id="图层_2" data-name="图层 2"><g id="图层_1-2" data-name="图层 1"><g class="cls-1"><rect class="cls-2" x="0.25" y="0.25" width="84.54" height="84.54"/><path class="cls-2" d="M84.54.5v84H.5V.5h84M85,0H0V85H85V0Z"/></g><polygon class="cls-3" points="69.43 65.21 73.7 65.21 73.7 25.97 54.62 25.97 54.62 47.87 54.62 49.86 52.91 49.86 32.13 49.86 32.13 65.21 59.46 65.21 59.46 76.3 69.43 65.21 69.43 65.21 69.43 65.21"/><path class="cls-3" d="M11.34,47.85h4.37L25.84,59.07V47.85H53.19V8.74H11.34V47.85Zm34.74-22.7a5.2,5.2,0,0,1,2.18.82,3.8,3.8,0,0,1,1.37,2.74,3.56,3.56,0,0,1-7.11,0A3.8,3.8,0,0,1,43.89,26a5.19,5.19,0,0,1,2.19-.82m-9.3,0A5.2,5.2,0,0,1,39,26a3.8,3.8,0,0,1,1.37,2.74,3.56,3.56,0,0,1-7.11,0A3.8,3.8,0,0,1,34.59,26a5.24,5.24,0,0,1,2.19-.82m-9.3,0a3.56,3.56,0,1,1-3.56,3.56,3.62,3.62,0,0,1,3.56-3.56m-9,0a3.39,3.39,0,0,1,3.28,3.56,3.39,3.39,0,0,1-3.28,3.55,3.56,3.56,0,1,1,0-7.11"/></g></g></svg>

+ 0 - 1
src/assets/svg/资源 54.svg

@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 85.04 85.04"><defs><style>.cls-1{opacity:0;}.cls-2{fill:#fff;}.cls-3{fill:#d8bc70;fill-rule:evenodd;}</style></defs><title>资源 54</title><g id="图层_2" data-name="图层 2"><g id="图层_1-2" data-name="图层 1"><g class="cls-1"><rect class="cls-2" x="0.25" y="0.25" width="84.54" height="84.54"/><path class="cls-2" d="M84.54.5v84H.5V.5h84M85,0H0V85H85V0Z"/></g><path class="cls-3" d="M53.51,48.54h.78A14.24,14.24,0,0,0,68.42,34.41,14.19,14.19,0,0,0,54.29,20.54,14,14,0,0,0,40.16,34.15,23.86,23.86,0,0,1,48,38.86a23.8,23.8,0,0,1,5.5,9.68"/><polygon class="cls-3" points="58.22 18.71 54.43 12.17 50.37 18.71 58.22 18.71 58.22 18.71 58.22 18.71"/><polygon class="cls-3" points="70.26 38.86 76.53 34.39 70.26 30.48 70.26 38.86 70.26 38.86 70.26 38.86"/><path class="cls-3" d="M38.33,30.48,34.41,33.1a20.27,20.27,0,0,1,3.92.52V30.48Z"/><polygon class="cls-3" points="62.67 20.59 68.3 26.3 69.99 19.23 62.67 20.59 62.67 20.59 62.67 20.59"/><polygon class="cls-3" points="68.3 43.04 62.67 48.48 69.99 50.11 68.3 43.04 68.3 43.04 68.3 43.04"/><polygon class="cls-3" points="40.23 26.3 45.66 20.59 38.59 19.23 40.23 26.3 40.23 26.3 40.23 26.3"/><path class="cls-3" d="M59.22,51H57.91a9.89,9.89,0,0,0-5.52,2.64,13.31,13.31,0,0,0-.53-3.16c0-.79-.26-1.32-.26-2.11A20,20,0,0,0,40,36a4.88,4.88,0,0,1-1.84-.53,15.29,15.29,0,0,0-5-.53h-.78a19.09,19.09,0,0,0-17.35,24.5A6.93,6.93,0,0,0,8.5,66.29a6.58,6.58,0,0,0,6.84,6.58H59.22a10.94,10.94,0,1,0,0-21.87"/></g></g></svg>

+ 8 - 6
src/components/Calendar/index.vue

@@ -145,12 +145,14 @@ export default {
 }
 </script>
 <style lang="scss">
-.calendar {
-  border: none;
-  width: 100%;
-}
-.vc-day{
-  margin: 10px 0;
+.calendarBar{
+  .calendar {
+    border: none;
+    width: 100%;
+  }
+  .vc-day{
+    margin: 10px 0;
+  }
 }
 </style>
 <style lang="scss" scoped>

+ 29 - 0
src/components/EmptyBox/index.vue

@@ -0,0 +1,29 @@
+<template>
+  <van-empty
+    class="custom-image"
+    :image="image"
+    :description="description"
+  />
+</template>
+
+<script>
+export default {
+  name: "empty-box",
+  props:{
+    image:{
+      type: String,
+      default: require ('@/assets/img/icon/empty-default.png'),
+    },
+    description:{
+      type: String,
+      default: '暂无数据',
+    },
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+.custom-image .van-empty__image {
+  /*这里设置默认图片大小*/
+}
+</style>

+ 0 - 175
src/components/SearchSelectCell/SelectPicker.vue

@@ -1,175 +0,0 @@
-<template>
-  <van-popup class="search-data-popup" round lazy-render v-model="show" position="bottom" >
-    <div class="header-line">
-      <div class="cancel" @click="onSearchCancel">取消</div>
-      <div class="title">{{ title }}</div>
-      <div class="sure" @click="onSearchConfirm">确定</div>
-    </div>
-    <van-search v-if="showSearch" placeholder="输入搜索内容" v-model="searchValue" @input="inputSearchValue" />
-<!--    <div class="tip">已选{{temp_datas.length}}条</div>-->
-    <div v-if="itemList.length >0"  class="lists">
-      <div  class="line" v-for="(item, index) in itemList" :key="item[valueKey]">
-
-        <van-cell
-          clickable
-          :key="item[valueKey]"
-          :title="item[valueKey]"
-          @click="click(item,index)">
-          <template #right-icon>
-            <van-checkbox v-model="item.checked"/>
-          </template>
-        </van-cell>
-      </div>
-    </div>
-    <div v-else class="lists">
-      <van-empty description="无数据" />
-    </div>
-  </van-popup>
-</template>
-<script>
-export default {
-  props: {
-    showPicker: {
-      types:Boolean,
-      default:false
-    }, //是否显示
-    options: {
-      type:Array,
-      default: ()=>[],
-    }, //未根据搜索内容筛选的所有列表数据
-    value: {
-      type:Array,
-      default: ()=>[],
-    },//默认选中数据
-    //自定义字段
-    valueKey:{
-      type: String,
-      default:'label'
-    },
-    showSearch:{
-      type:Boolean,
-      default:true
-    },
-    title: String //标题
-  },
-  data(){
-    return {
-      searchValue: "", //搜索框内容
-      itemList:[],
-    }
-  },
-  watch:{
-    temp_datas:{
-      handler(val){
-        this.itemList = val;
-      },
-      deep:true
-    },
-  },
-  computed: {
-    columns(){
-      return this.options
-    },
-    temp_datas(){
-      this.columns.forEach(v=>{
-        this.value.forEach((item)=>{
-          if(v[this.valueKey] === item[this.valueKey]){
-            v.checked = true;
-          }else {
-            v.checked = false;
-          }
-        })
-      })
-      return this.columns
-    },
-    show:{
-      get(){
-        return this.showPicker;
-      },
-      set(){
-        this.$emit("cancel");
-      },
-    },
-  },
-  methods: {
-    click(v,i){
-      this.$set(this.columns[i],'checked',!this.columns[i].checked);
-    },
-    inputSearchValue(query) {
-      console.log(query,'query')
-      if(!query){
-        this.itemList = this.options
-        return
-      }
-      //搜索框值发生改变
-      setTimeout(() => {
-        this.itemList= this.temp_datas.filter(item => {
-          return item[this.valueKey].indexOf(query.toLowerCase()) > -1;
-        });
-      }, 200);
-    },
-    onSearchCancel() {
-      //取消
-      this.$emit("cancel");
-    },
-    onSearchConfirm() {
-      let arr = this.columns.filter(v=>v.checked === true)
-      //确认
-      this.$emit("confirm", arr);
-      this.show = false;
-    },
-  },
-}
-</script>
-<style lang="scss" scoped>
-.search-data-popup{
-  .header-line {
-    display: flex;
-    justify-content: space-between;
-    align-items: center;
-    height: 90px;
-  }
-  .header-line .cancel {
-    padding: 0 30px;
-    font-size: 28px;
-    color: #969799;
-  }
-   .header-line .title {
-    font-weight: 500;
-    font-size: 30px;
-    color: #343434;
-  }
-   .header-line .sure {
-    padding: 0 30px;
-    font-size: 28px;
-    color: #1989fa;
-  }
-   .lists {
-    display: flex;
-    flex-direction: column;
-    padding: 10px 12px 20px 12px;
-    min-height: 300px;
-    max-height: 700px;
-    overflow: auto;
-  }
-   .lists .line {
-    line-height: 40px;
-    font-size: 16px;
-    color: #000;
-    display: flex;
-    justify-content: space-between;
-    align-items: center;
-  }
-   .lists .line img {
-    width: 20px;
-    height: 20px;
-  }
-  .tip {
-    color: #666;
-    padding-bottom: 5px;
-  }
-  .van-empty{
-    padding: 0;
-  }
-}
-</style>

+ 145 - 54
src/components/SearchSelectCell/index.vue

@@ -1,26 +1,46 @@
 <template>
-  <div class="date-cell">
-    <van-cell v-if="disabled" :required="required" :title="title" :label="label"/>
-    <van-cell v-else  :required="required" :title="title" :label="label" is-link  @click="clickItem"/>
-    <Select-picker
-      :options="dataList"
-      v-bind="$attrs"
-      :showPicker="showPicker"
-      :title="title"
-      :value-key="prop.label"
-      :value="selected"
-      @confirm="pickerConfirm"
-      @cancel="cancelPicker">
-    </Select-picker>
+  <div class="search-select-cell">
+    <van-cell v-if="disabled" :required="required" :title="title" :label="nameListStr"/>
+    <van-cell v-else  :required="required" :title="title" :label="nameListStr" is-link  @click="clickItem"/>
+    <van-popup
+      class="search-data-popup"
+      round lazy-render
+      v-model="showPicker"
+      position="bottom"
+      @click-overlay="clickOverlay"
+      :close-on-click-overlay="closeOnClickOverlay">
+      <div class="header-line">
+        <div class="cancel" @click="onSearchCancel">取消</div>
+        <div class="title">{{ title }}</div>
+        <div class="sure" @click="onSearchConfirm">确定</div>
+      </div>
+
+      <van-search v-if="showSearch" placeholder="输入搜索内容" v-model="searchValue" @input="inputSearchValue" />
+
+      <div v-if="itemList.length >0"  class="lists">
+        <van-checkbox-group v-model="selected">
+          <van-cell-group>
+            <van-cell
+              v-for="(item, index) in itemList"
+              clickable
+              :key="item.id"
+              :title="item.name">
+              <template #right-icon>
+                <van-checkbox :name="item.id" ref="checkboxes"/>
+              </template>
+            </van-cell>
+          </van-cell-group>
+        </van-checkbox-group>
+      </div>
+      <div v-else class="lists">
+        <empty description="无数据" />
+      </div>
+    </van-popup>
   </div>
 </template>
 
 <script>
-import SelectPicker from './SelectPicker.vue'
 export default {
-  components:{
-    SelectPicker
-  },
   props:{
     //禁用
     disabled:{
@@ -46,6 +66,14 @@ export default {
       type: Array,
       default: ()=>[],
     },
+    closeOnClickOverlay:{
+      type:Boolean,
+      default:true
+    },
+    showSearch:{
+      type:Boolean,
+      default:true
+    },
     //自定义字段
     prop:{
       type: Object,
@@ -54,58 +82,71 @@ export default {
           label:'label',
           value:'value'
         }
-      ) ,
+      ),
     }
   },
   data(){
     return{
       showPicker:false,
+      selected:[],
       label:'',
+      searchValue: "", //搜索框内容
+      itemList:[],
     }
   },
-  // watch:{
-  //   value:{
-  //     handler(val){
-  //       console.log(val,'val')
-  //       let arr = [];
-  //       val.forEach(v=>{
-  //         this.columns.forEach(item=>{
-  //           if(v === item[this.prop.value]){
-  //             arr.push(item[this.prop.label]);
-  //           }
-  //         })
-  //       })
-  //       this.label = arr.toString();
-  //       console.log(this.label,'label')
-  //     },
-  //     //immediate:true,
-  //   }
-  // },
-  computed:{
-    columns(){
-      return this.dataList;
-    },
-    selected(){
-      let val = [];
-      this.columns.forEach(v=> {
-        if (v[this.prop.value] == this.value) {
-          val.push(v[this.prop.label]);
+  watch:{
+    value:{
+      handler(val){
+        console.log(val,'val256')
+        if(!val) {
+          this.selected = [];
+        }else{
+          this.selected = this.value;
         }
-      });
-      this.label = val.toString();
-      return val;
+      },
+      immediate:true,
+    },
+    dataList:{
+      handler(val){
+        console.log(val,'dataList')
+        this.itemList = JSON.parse(JSON.stringify(this.dataList));
+      },
+      immediate:true,
+    }
+  },
+  computed: {
+    nameListStr() {
+      const list = this.dataList.filter(item => this.selected.includes(item.id));
+      return list.map(item => item.name).join(',')
     },
   },
   methods:{
-    cancelPicker(){
+    clickOverlay(){
+      this.selected = this.value;
       this.showPicker = false;
     },
-    pickerConfirm(val){
-      console.log(val,'234')
-      this.label = val.map(v=>v[this.prop.label]).toString();
+    /** 有bug*/
+    click(v,i){
+      console.log(this.$refs.checkboxes,i,'4546456')
+      this.$refs.checkboxes[i].toggle();
+    },
+    inputSearchValue(query) {
+      //搜索框值发生改变
+      setTimeout(() => {
+        this.itemList= this.dataList.filter(item => {
+          return item.name.indexOf(query) > -1;
+        });
+      }, 200);
+    },
+    onSearchCancel() {
+      this.selected = this.value;
+      this.$emit("cancel");
+      this.showPicker = false;
+    },
+    onSearchConfirm() {
+      console.log(this.selected,'selected')
+      this.$emit("change", this.selected);
       this.showPicker = false;
-      let arr = val.map(v=>v[this.prop.value]);
-      this.$emit('change',arr)
     },
     clickItem(){
       this.showPicker = true;
@@ -122,4 +163,54 @@ export default {
 .van-cell__label{
   margin: 0;
 }
+.search-data-popup{
+  .header-line {
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    height: 90px;
+  }
+  .header-line .cancel {
+    padding: 0 30px;
+    font-size: 28px;
+    color: #969799;
+  }
+  .header-line .title {
+    font-weight: 500;
+    font-size: 30px;
+    color: #343434;
+  }
+  .header-line .sure {
+    padding: 0 30px;
+    font-size: 28px;
+    color: #1989fa;
+  }
+  .lists {
+    display: flex;
+    flex-direction: column;
+    padding: 10px 12px 20px 12px;
+    min-height: 300px;
+    max-height: 700px;
+    overflow: auto;
+  }
+  .lists .line {
+    line-height: 40px;
+    font-size: 16px;
+    color: #000;
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+  }
+  .lists .line img {
+    width: 20px;
+    height: 20px;
+  }
+  .tip {
+    color: #666;
+    padding-bottom: 5px;
+  }
+  .van-empty{
+    padding: 0;
+  }
+}
 </style>

+ 0 - 216
src/components/Yselectcell/index.vue

@@ -1,216 +0,0 @@
-<template>
-  <div class="search-select-cell">
-    <van-cell v-if="disabled" :required="required" :title="title" :label="nameListStr"/>
-    <van-cell v-else  :required="required" :title="title" :label="nameListStr" is-link  @click="clickItem"/>
-    <van-popup
-      class="search-data-popup"
-      round lazy-render
-      v-model="showPicker"
-      position="bottom"
-      @click-overlay="clickOverlay"
-      :close-on-click-overlay="closeOnClickOverlay">
-      <div class="header-line">
-        <div class="cancel" @click="onSearchCancel">取消</div>
-        <div class="title">{{ title }}</div>
-        <div class="sure" @click="onSearchConfirm">确定</div>
-      </div>
-
-      <van-search v-if="showSearch" placeholder="输入搜索内容" v-model="searchValue" @input="inputSearchValue" />
-
-      <div v-if="itemList.length >0"  class="lists">
-        <van-checkbox-group v-model="selected">
-          <van-cell-group>
-            <van-cell
-              v-for="(item, index) in itemList"
-              clickable
-              :key="item.id"
-              :title="item.name">
-              <template #right-icon>
-                <van-checkbox :name="item.id" ref="checkboxes"/>
-              </template>
-            </van-cell>
-          </van-cell-group>
-        </van-checkbox-group>
-      </div>
-      <div v-else class="lists">
-        <van-empty description="无数据" />
-      </div>
-    </van-popup>
-  </div>
-</template>
-
-<script>
-export default {
-  props:{
-    //禁用
-    disabled:{
-      type: [Boolean,String],
-      default: false,
-    },
-    //双向绑定的数据
-    value:{
-      type:Array,
-      default: ()=>[],
-    },
-    required:{
-      type: [Boolean,String],
-      default: false,
-    },
-    //标题
-    title:{
-      type: String,
-      default: null,
-    },
-    //父组件给的列表数据
-    dataList:{
-      type: Array,
-      default: ()=>[],
-    },
-    closeOnClickOverlay:{
-      type:Boolean,
-      default:true
-    },
-    showSearch:{
-      type:Boolean,
-      default:true
-    },
-    //自定义字段
-    prop:{
-      type: Object,
-      default: ()=>(
-        {
-          label:'label',
-          value:'value'
-        }
-      ),
-    }
-  },
-  data(){
-    return{
-      showPicker:false,
-      selected:[],
-      label:'',
-      searchValue: "", //搜索框内容
-      itemList:[],
-    }
-  },
-  watch:{
-    value:{
-      handler(val){
-        console.log(val,'val256')
-        if(!val) {
-          this.selected = [];
-        }else{
-          this.selected = this.value;
-        }
-      },
-      immediate:true,
-    },
-    dataList:{
-      handler(val){
-        console.log(val,'dataList')
-        this.itemList = JSON.parse(JSON.stringify(this.dataList));
-      },
-      immediate:true,
-    }
-  },
-  computed: {
-    nameListStr() {
-      const list = this.dataList.filter(item => this.selected.includes(item.id));
-      return list.map(item => item.name).join(',')
-    },
-  },
-  methods:{
-    clickOverlay(){
-      this.selected = this.value;
-      this.showPicker = false;
-    },
-    /** 有bug*/
-    click(v,i){
-      console.log(this.$refs.checkboxes,i,'4546456')
-      this.$refs.checkboxes[i].toggle();
-    },
-    inputSearchValue(query) {
-      //搜索框值发生改变
-      setTimeout(() => {
-        this.itemList= this.dataList.filter(item => {
-          return item.name.indexOf(query) > -1;
-        });
-      }, 200);
-    },
-    onSearchCancel() {
-      this.selected = this.value;
-      this.$emit("cancel");
-      this.showPicker = false;
-    },
-    onSearchConfirm() {
-      console.log(this.selected,'selected')
-      this.$emit("change", this.selected);
-      this.showPicker = false;
-    },
-    clickItem(){
-      this.showPicker = true;
-    },
-  },
-  model:{
-    prop: 'value',
-    event: 'change',
-  }
-}
-</script>
-
-<style lang="scss" scoped>
-.van-cell__label{
-  margin: 0;
-}
-.search-data-popup{
-  .header-line {
-    display: flex;
-    justify-content: space-between;
-    align-items: center;
-    height: 90px;
-  }
-  .header-line .cancel {
-    padding: 0 30px;
-    font-size: 28px;
-    color: #969799;
-  }
-  .header-line .title {
-    font-weight: 500;
-    font-size: 30px;
-    color: #343434;
-  }
-  .header-line .sure {
-    padding: 0 30px;
-    font-size: 28px;
-    color: #1989fa;
-  }
-  .lists {
-    display: flex;
-    flex-direction: column;
-    padding: 10px 12px 20px 12px;
-    min-height: 300px;
-    max-height: 700px;
-    overflow: auto;
-  }
-  .lists .line {
-    line-height: 40px;
-    font-size: 16px;
-    color: #000;
-    display: flex;
-    justify-content: space-between;
-    align-items: center;
-  }
-  .lists .line img {
-    width: 20px;
-    height: 20px;
-  }
-  .tip {
-    color: #666;
-    padding-bottom: 5px;
-  }
-  .van-empty{
-    padding: 0;
-  }
-}
-</style>

+ 12 - 0
src/components/index.js

@@ -0,0 +1,12 @@
+import Vue from 'vue'
+// 注册全局组件
+import Empty from "./EmptyBox";
+import NavBar from "./NavBar";
+import SelectCell from "./selectCell";
+import Card from "./card";
+
+Vue.component('Empty',Empty);
+Vue.component('NavBar',NavBar);
+Vue.component('SelectCell',SelectCell);
+Vue.component('Card',Card);
+

+ 1 - 1
src/components/list/index.vue

@@ -4,7 +4,7 @@
     <van-list v-model="isLoading" :finished="isFinished" finished-text @load="next">
       <slot v-for="(data, index) in dataList" :data="data" :index="index"></slot>
     </van-list>
-    <van-empty v-if="dataList.length == 0 && !isLoading" description="暂无数据" />
+    <empty v-if="dataList.length == 0 && !isLoading" />
   </div>
 </template>
 <script>

+ 3 - 16
src/components/scroll/scroll.vue

@@ -72,18 +72,13 @@ export default {
     },
   },
   methods: {
-    /** 刷新滚动容器高度,使用时最好在nextTick函数中调用*/
+    /** 手动刷新容器高度,使用时最好在nextTick函数中或者异步调用*/
     refresh() {
-      // this.$nextTick(()=>{
-      //   console.log('刷新滚动容器')
-      //   this.bs.finishPullUp(); //  加载更多完成
-      //   this.bs.refresh(); // 重新计算高度
-      // })
       setTimeout(() => {
         console.log('刷新滚动容器')
         this.bs.finishPullUp(); //  加载更多完成
         this.bs.refresh();
-      },500)
+      },200)
     },
     // 初始化 better-scroll
     initScroll() {
@@ -114,7 +109,7 @@ export default {
       console.log('下拉刷新')
       if(this.pullupDown) {
         this.isRefreshing = true;
-        //this.refreshText = '正在刷新';
+        this.refreshText = '正在刷新';
         this.$emit('refresh');
         // 这里可以执行刷新操作,例如发送请求获取数据
         await this.downFn();
@@ -136,8 +131,6 @@ export default {
         this.loadMoreText = '正在加载...';
         this.$emit('loadMore');
         await this.upFn();
-        this.loadMoreText = '加载更多';
-        this.showLoadMoreText = false;
         // 加载完成后,调用 this.loadMoreFinish() 结束加载更多
       }else {
         setTimeout(() => {
@@ -174,12 +167,6 @@ export default {
     this.bs = null;
     console.log(this.bs,'销毁')
   },
-  // destroyed() {
-  //   // 销毁 better-scroll
-  //   this.bs.destroy();
-  //   this.bs = null;
-  //   console.log(this.bs,'销毁')
-  // },
 };
 </script>
 

+ 1 - 0
src/components/selectCell/index.vue

@@ -68,6 +68,7 @@ export default {
   },
   computed:{
     columns(){
+      console.log(this.dataList,'datalist')
       if(this.isAll){
         let obj = {};
         obj[this.prop.label] = '全部';

+ 2 - 1
src/main.js

@@ -17,6 +17,7 @@ import dayjs from "dayjs";
 import {imgUrl} from "@/utils";
 // 设置 js中可以访问 $cdn
 import config, { $cdn } from '@/config'
+import EmptyBox from '@/components/EmptyBox'
 Vue.prototype.$cdn = $cdn
 Vue.prototype.dayjs = dayjs
 Vue.prototype.imgUrl = imgUrl;
@@ -30,13 +31,13 @@ Vue.config.productionTip = false
 import VCalendar from 'v-calendar';
 import globals from "@/utils/global.js"//全局混入
 import '@vant/touch-emulator'
+import './components/index.js'
 Vue.use(Vant);
 Vue.use(VueEasytable);
 Vue.use(globals);
 Vue.use(VCalendar,{
   componentPrefix: 'vc',  // Use <vc-calendar /> instead of <v-calendar />
 });
-
 new Vue({
   el: '#app',
   router,

+ 2 - 8
src/router/router.config.js

@@ -206,19 +206,13 @@ export let routers = [
         path: '/securityCheckRegister',
         name: 'securityCheckRegister',
         component: () => import('@/views/menu/securityCheckRegister/index'),
-        meta: { title: '安全检查登记', keepAlive: true }
+        meta: { title: '安全检查登记', keepAlive: false }
       },
       {
         path: '/securityDetail',
         name: 'securityDetail',
         component: () => import('@/views/menu/securityCheckRegister/detail'),
-        meta: { title: '安全检查详情', keepAlive: true }
-      },
-      {
-        path: '/addCheck',
-        name: 'addCheck',
-        component: () => import('@/views/menu/securityCheckRegister/addCheck'),
-        meta: { title: '添加检查内容', keepAlive: false ,hideTabBar:true}
+        meta: { title: '安全检查详情', keepAlive: false ,hideTabBar:true}
       },
       {
         path: '/addWorker',

+ 1 - 1
src/views/home/menu.vue

@@ -4,7 +4,7 @@
 
     <div class="menu-list">
       <Scroll ref="Scroll" :pullupDown="false" :pullup="false">
-        <van-empty v-if="!menuList.length" description="暂无数据" />
+        <empty v-if="!menuList.length" />
         <card v-else class="menu-list-item" v-for="(v, i) in menuList" :key="i">
           <p>{{ v.meta.title }}</p>
           <div style="border-left: 1px solid #f4f4f4;">

+ 10 - 10
src/views/home/works.vue

@@ -1,12 +1,12 @@
 <template>
   <div class="index-container">
     <top-bar ref="topbar"></top-bar>
-    
+
     <!-- 步骤条 -->
     <van-tabs class="tab-tabs" color="#1989fa" @click="tabClickHandler" v-if="workList&&workList.length>0">
       <van-tab  :title="item.taskTypeText" :name="worksLink(1, item.taskType)" v-for="item in workList" :key="item.taskType" :badge="item.nums"></van-tab>
     </van-tabs>
- 
+
     <div :class="big_box" @scroll="scrolling">
       <!-- 列表 -->
       <div class="cellMargin" v-for="item in workList" :key="item.taskType">
@@ -219,7 +219,7 @@ export default {
         }
         //履职跳转
         if (val == 0 && taskType == 1) {
-         
+
           pathInfo = `/resumption_detail?id=${id}&enable=${taskType}&taskDate=${item.startTime.split(' ')[0]}
 `        }
         return pathInfo
@@ -267,17 +267,17 @@ export default {
     },
     //tab栏点击
     tabClickHandler(name){
-       
+
         const filePath = `/#${name}`
         const tempLink = document.createElement('a')
         tempLink.style.display = 'none'
         tempLink.href = filePath
-        
+
         tempLink.setAttribute('target', '_self')
         document.body.appendChild(tempLink)
         tempLink.click()
         document.body.removeChild(tempLink)
-       
+
     }
   },
   beforeDestroy() {
@@ -332,7 +332,7 @@ export default {
   background-color: #fff;
   // overflow-y: scroll;
 }
-.van-empty {
+.empty {
   width: 100%;
   height: 100%;
   box-sizing: border-box;
@@ -348,15 +348,15 @@ export default {
 .big_box {
   height: calc(100vh - 520px);
   overflow: auto;
-  
+
 }
 .tab-tabs{
   padding-top: 55px;
-  
+
 }
 .big_boxTwo {
   height: calc(100vh - 570px);
-  
+
   overflow: auto;
 }
 a {

+ 8 - 7
src/views/menu/LZRegister/index.vue

@@ -11,7 +11,7 @@
           <van-tabs >
             <van-tab title="待完成">
               <template #title>待完成 {{dayList.unfinished.length}} </template>
-              <van-empty description="暂无数据" v-if="!dayList.unfinished.length"/>
+              <empty v-if="!dayList.unfinished.length"/>
               <van-cell-group  v-else>
                 <van-cell
                   v-for="v in dayList.unfinished"
@@ -26,7 +26,7 @@
             </van-tab>
             <van-tab title="未完成">
               <template #title>未完成 {{dayList.proceed.length}} </template>
-              <van-empty description="暂无数据" v-if="!dayList.proceed.length"/>
+              <empty v-if="!dayList.proceed.length"/>
               <van-cell-group v-else>
                 <van-cell
                   v-for="v in dayList.proceed"
@@ -41,7 +41,7 @@
             </van-tab>
             <van-tab title="已完成">
               <template #title>已完成 {{dayList.finished.length}} </template>
-              <van-empty description="暂无数据" v-if="!dayList.finished.length"/>
+              <empty v-if="!dayList.finished.length"/>
               <van-cell-group v-else>
                 <van-cell
                   v-for="v in dayList.finished"
@@ -63,7 +63,7 @@
           <van-tabs >
             <van-tab title="待完成">
               <template #title>待完成 {{otherList.unfinished.length}} </template>
-              <van-empty description="暂无数据" v-if="!otherList.unfinished.length"/>
+              <empty v-if="!otherList.unfinished.length"/>
               <van-cell-group v-else>
                 <van-cell
                   v-for="v in otherList.unfinished"
@@ -78,7 +78,7 @@
             </van-tab>
             <van-tab title="未完成">
               <template #title>未完成 {{otherList.proceed.length}} </template>
-              <van-empty description="暂无数据" v-if="!otherList.proceed.length"/>
+              <empty v-if="!otherList.proceed.length"/>
               <van-cell-group v-else>
                 <van-cell
                   v-for="v in otherList.proceed"
@@ -93,7 +93,7 @@
             </van-tab>
             <van-tab title="已完成">
               <template #title>已完成 {{otherList.finished.length}} </template>
-              <van-empty description="暂无数据" v-if="!otherList.finished.length"/>
+              <empty v-if="!otherList.finished.length"/>
               <van-cell-group v-else>
                 <van-cell
                   v-for="v in otherList.finished"
@@ -116,6 +116,7 @@
 <script>
 import NavBar from '@/components/NavBar';
 import DatePicker from '@/components/DatePicker';
+import Empty from '@/components/EmptyBox';
 import {mapGetters} from "vuex";
 import {dataList} from "./api";
 import dayjs from "dayjs";
@@ -123,7 +124,7 @@ import {getDict} from "@/api/toConsult";
 
 export default {
   name: 'lvzhi',
-  components:{NavBar,DatePicker},
+  components:{NavBar,DatePicker,Empty},
   data(){
     return{
       //绑定的日期

+ 8 - 8
src/views/menu/drillStatistics/index.vue

@@ -65,7 +65,7 @@
       </van-row>
 
       <div class="card-list">
-        <van-empty description="暂无数据" v-if="!dataList || dataList.length === 0" />
+        <empty v-if="!dataList || dataList.length === 0" />
         <ve-table
           v-else
           maxHeight="calc(100vh - 252px)"
@@ -148,7 +148,7 @@ export default {
     getNewMonth() {
       //获取当前月份
       let date = new Date().getMonth() + 1
-     
+
       //默认填充当前季度
       if (date > 7 && date < 10) {
         this.active='07-01'
@@ -174,7 +174,7 @@ export default {
         if (res.data.length === 0) return this.$toast('暂无演练排名数据')
         this.planList = res.data
         this.taskList=(res.data.map(item => item.name))
-      
+
         this.fieldValue=res.data[0].name
         this.statusValue=res.data[0].id
         this.getDataList()
@@ -182,13 +182,13 @@ export default {
     },
     //机构搜索
     getOrgDataList(val) {
-      
+
       this.cascaderValue = val
-      
+
       this.getDataList()
     },
     getDataList() {
-        
+
       let data = {
         planId: this.statusValue || '',
         orgId: this.cascaderValue || '',
@@ -207,7 +207,7 @@ export default {
           this.statusValue = item.id
         }
       })
-      
+
       this.getDataList()
       this.showStatus = false
     },
@@ -233,7 +233,7 @@ export default {
       var Year = years.slice(0, 4)
       // 将截取的年份赋值给绑定值 用于点击弹出日期窗口后显示当前的时间
       this.yearSelect = this.yearColumns.indexOf(Number(Year))
-    }, 
+    },
     //日期格式
     formatDate(date) {
       return `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`

+ 1 - 1
src/views/menu/educationStatistics/index.vue

@@ -15,7 +15,7 @@
         <date-cell title="统计月份" v-model="query.date" date-type="year-month" @change="getDataList" />
       </div>
       <div class="card-list">
-        <van-empty description="暂无数据" v-if="!dataList || dataList.length === 0" />
+        <empty v-if="!dataList || dataList.length === 0" />
         <ve-table
           v-else
           maxHeight="calc(100vh - 252px)"

+ 2 - 7
src/views/menu/message/index.vue

@@ -12,7 +12,7 @@
         @refresh="refreshData"
         @loadMore="getDataList"
         :pullup="pullup">
-        <van-empty v-if="!dataList.length" description="暂无数据" />
+        <empty v-if="!dataList.length" />
         <card class="list-item" v-else v-for="(v,i) in dataList" :key="i">
           <van-cell :title="v.title" :label="v.content" @click="clickItem(v)">
             <template #right-icon>
@@ -63,18 +63,13 @@
 </template>
 
 <script>
-import NavBar from '@/components/NavBar'
 import Scroll from '@/components/scroll/scroll'
-import Card from '@/components/card'
 import {msgList,dataList} from './api'
-import {mapGetters} from "vuex";
-import {imgUrl} from "@/utils";
+import {mapGetters} from "vuex"
 
 export default {
   components: {
-    NavBar,
     Scroll,
-    Card
   },
   data() {
     return {

+ 1 - 1
src/views/menu/problemItem/index.vue

@@ -20,7 +20,7 @@
           @refresh="refreshData"
           @loadMore="getDataList"
           :pullup="pullup">
-          <van-empty description="暂无数据" v-if="!dataList || dataList.length === 0" />
+          <empty  v-if="!dataList || dataList.length === 0" />
           <card v-else v-for="(v,i) in dataList" :key="v.id">
               <van-cell :title="v.orgName">
                 <template #extra>

+ 8 - 7
src/views/menu/resumption/list.vue

@@ -9,7 +9,7 @@
           <van-tabs >
             <van-tab title="待完成">
               <template #title>待完成 {{dayList.unfinished.length}} </template>
-              <van-empty description="暂无数据" v-if="!dayList.unfinished.length"/>
+              <Empty v-if="!dayList.unfinished.length"/>
               <div class="list-container" v-else>
                   <van-cell
                     v-for="v in dayList.unfinished"
@@ -24,7 +24,7 @@
             </van-tab>
             <van-tab title="未完成">
               <template #title>未完成 {{dayList.proceed.length}} </template>
-              <van-empty description="暂无数据" v-if="!dayList.proceed.length"/>
+              <Empty v-if="!dayList.proceed.length"/>
               <div class="list-container" v-else>
                   <van-cell
                     v-for="v in dayList.proceed"
@@ -37,7 +37,7 @@
             </van-tab>
             <van-tab title="已完成">
               <template #title>已完成 {{dayList.finished.length}} </template>
-              <van-empty description="暂无数据" v-if="!dayList.finished.length"/>
+              <Empty v-if="!dayList.finished.length"/>
               <div class="list-container" v-else>
                   <van-cell
                     v-for="v in dayList.finished"
@@ -57,7 +57,7 @@
           <van-tabs >
             <van-tab title="待完成">
               <template #title>待完成 {{otherList.unfinished.length}} </template>
-              <van-empty description="暂无数据" v-if="!otherList.unfinished.length"/>
+              <Empty v-if="!otherList.unfinished.length"/>
               <div class="list-container" v-else>
                   <van-cell
                     v-for="v in otherList.unfinished"
@@ -72,7 +72,7 @@
             </van-tab>
             <van-tab title="未完成">
               <template #title>未完成 {{otherList.proceed.length}} </template>
-              <van-empty description="暂无数据" v-if="!otherList.proceed.length"/>
+              <Empty v-if="!otherList.proceed.length"/>
               <div class="list-container" v-else>
                   <van-cell
                     v-for="v in otherList.proceed"
@@ -85,7 +85,7 @@
             </van-tab>
             <van-tab title="已完成">
               <template #title>已完成 {{otherList.finished.length}} </template>
-              <van-empty description="暂无数据" v-if="!otherList.finished.length"/>
+              <Empty v-if="!otherList.finished.length"/>
               <div class="list-container" v-else>
                   <van-cell
                   v-for="v in otherList.finished"
@@ -108,6 +108,7 @@
 <script>
 import NavBar from '@/components/NavBar';
 import DatePicker from '@/components/DatePicker';
+import Empty from '@/components/EmptyBox';
 import {mapGetters} from "vuex";
 import {dataList} from "./api";
 import dayjs from "dayjs";
@@ -115,7 +116,7 @@ import {getDict} from "@/api/toConsult";
 
 export default {
   name: 'lvzhi',
-  components:{NavBar,DatePicker},
+  components:{NavBar,DatePicker,Empty},
   data(){
     return{
       //绑定的日期

+ 1 - 1
src/views/menu/safetyBook/index.vue

@@ -11,7 +11,7 @@
           :pullupDownFn="refreshData"
           :pullupFn="getDataList"
           :pullup="pullup">
-          <van-empty v-if="!dataList.length" description="暂无数据" />
+          <empty v-if="!dataList.length" />
           <card class="list-item" v-else v-for="(v,i) in dataList" :key="i">
             <p class="item-title">{{v.orgName}}</p>
             <div :title="v.orgName" @click="clickItem(v)">

+ 32 - 21
src/views/menu/securityCheckRegister/addCheck.vue

@@ -1,6 +1,10 @@
 <template>
   <div class="addCheck">
-    <NavBar :go="go"/>
+    <van-nav-bar
+      title="消息详情"
+      left-arrow
+      @click-left="onClickLeft"
+    />
     <div class="addCheck-container">
       <div class="search-flex">
         <van-search v-model="query.key" placeholder="请输入检查子项"  @change="refreshData"/>
@@ -8,12 +12,11 @@
       </div>
       <div class="card-list">
         <Scroll
-          @pulldown="refreshData"
-          @pullup="getDataList"
-          :data='dataList'
-          :pullup="pullup"
-          class="wrapper">
-          <van-empty description="暂无数据" v-if="!dataList || dataList.length === 0" />
+          ref="Scroll"
+          @refresh="refreshData"
+          @loadMore="getDataList"
+          :pullup="pullup">
+          <empty v-if="!dataList || dataList.length === 0" />
           <div  v-else class="list-item">
             <van-cell
               :class="{'active':item.checked}"
@@ -56,7 +59,7 @@ export default {
         key:'',
         ruleId:null,
         pageNum:1,
-        pageSize:2,
+        pageSize:10,
       },
       dataList:[],
       ruleList:[],
@@ -77,9 +80,13 @@ export default {
     this.getCheckItem();
   },
   methods:{
+    onClickLeft(){
+      this.$emit('goBack')
+    },
     refreshData(){
+      this.pullup = true;
       this.query.pageNum = 1;
-      this.pullup = false;
+      this.total = 0;
       this.dataList = [];
       this.getDataList();
     },
@@ -89,13 +96,7 @@ export default {
     addItem(){
       this.selected = this.dataList.filter(v=>v.checked);
       if(this.selected.length === 0) return this.$toast('请选择检查项');
-      sessionStorage.setItem('selected',JSON.stringify(this.selected));
-      this.$router.replace({
-        path:'/securityDetail',
-        query:{
-          id:this.id,
-        },
-      })
+      this.$emit('addItem',this.selected);
     },
     getCheckItem(){
       let data = {orgType:4};
@@ -106,18 +107,27 @@ export default {
       })
     },
     getDataList(){
+      if( this.dataList.length !== 0 && this.dataList.length >= this.total) {
+        this.pullup = false;
+        this.$toast('已加载完毕');
+        return;
+      }
       checkList(this.query).then(res=>{
+        if(res.total === '0'){
+          this.pullup = false;
+          this.$toast('已加载完毕');
+          return
+        }
         res.rows.forEach(v=>{
           v.checked = false;
           v.pointId = v.id;
         });
-        this.query.pageNum === 1 ? this.dataList = res.rows : this.dataList = [...this.dataList,...res.rows];
-        console.log(this.dataList.length,res.total,'this.dataList')
-        if(this.dataList.length < res.total){
+        this.total = res.total;
+        if(this.dataList.length < res.total) {
+          this.dataList = [...this.dataList,...res.rows] ;
           this.pullup = true;
           this.query.pageNum++;
-        }else {
-          this.pullup = false;
+          this.$refs.Scroll.refresh();
         }
       })
     },
@@ -128,6 +138,7 @@ export default {
 <style lang="scss" scoped>
 .addCheck{
   .card-list{
+    padding: 20px 0;
     height: calc(100vh - 424px);
     overflow: auto;
   }

+ 30 - 12
src/views/menu/securityCheckRegister/addWorker.vue

@@ -1,19 +1,17 @@
 <template>
   <div class="addWork">
-    <NavBar :go="go"/>
+    <NavBar/>
     <div class="addWork-container">
       <div class="search-flex">
         <van-search v-model="query.name" placeholder="请输入姓名"  @change="refreshData"/>
       </div>
       <div class="card-list">
         <Scroll
-          @pulldown="refreshData"
-          @pullup="getDataList"
-          :data='dataList'
-          :pullup="pullup"
-          class="wrapper"
-          ref="wrapper">
-          <van-empty description="暂无数据" v-if="!dataList || dataList.length === 0" />
+          ref="Scroll"
+          @refresh="refreshData"
+          @loadMore="getDataList"
+          :pullup="pullup">
+          <empty v-if="!dataList || dataList.length === 0" />
           <div v-else class="list-item">
             <van-cell
               :class="{'active':item.checked}"
@@ -53,6 +51,7 @@ export default {
         pageNum:1,
         pageSize:10
       },
+      total:0,
       formData:{
         planId:null,
         beCheckedOrgId:null,
@@ -97,17 +96,36 @@ export default {
       this.selected = v.id;
     },
     refreshData(){
+      this.pullup = true;
+      this.total = 0;
       this.query.pageNum = 1;
-      this.pullup = false;
       this.dataList = [];
       this.getDataList();
     },
     getDataList(){
-      workerList(this.query).then(res=>{
-        res.data.rows.forEach(v=>{
+      if( this.dataList.length !== 0 && this.dataList.length >= this.total) {
+        this.pullup = false;
+        this.$toast('已加载完毕');
+        return;
+      }
+      workerList(this.query).then(data=>{
+        let res = data.data;
+        console.log(res,'resssssssss')
+        if(res.total === '0'){
+          this.pullup = false;
+          this.$toast('已加载完毕');
+          return
+        }
+        res.rows.forEach(v=>{
           v.checked = false;
         });
-        this.dataList = res.data.rows;
+        this.total = res.total;
+        if(this.dataList.length < res.total) {
+          this.dataList = [...this.dataList,...res.rows] ;
+          this.pullup = true;
+          this.query.pageNum++;
+          this.$refs.Scroll.refresh();
+        }
       })
     },
   }

+ 79 - 82
src/views/menu/securityCheckRegister/detail.vue

@@ -1,10 +1,17 @@
 <template>
-  <div class="register-edit">
+  <div v-if="active" class="register-edit">
     <nav-bar :go="go"></nav-bar>
     <div class="page-container">
       <!--   基本信息   -->
       <div class="card" v-if="taskInfo">
-        <van-panel :title="taskInfo.taskName"  :status="getDictLabel(taskInfo.status,'safety_check_status')">
+        <van-cell-group>
+          <van-cell :title="taskInfo.taskName">
+            <template #right-icon>
+              <span :style="{color:getState(getDictLabel(taskInfo.status,'safety_check_status'))}">
+                {{getDictLabel(taskInfo.status,'safety_check_status')}}
+              </span>
+            </template>
+          </van-cell>
           <van-cell title="日期时间" :value="rangDate(taskInfo.planstarttime,taskInfo.planendtime)" />
           <van-cell title="受检机构" :value="taskInfo.beCheckedOrgName" />
           <van-field
@@ -15,10 +22,8 @@
             autosize
             type="textarea"
             placeholder="请输入" />
-        </van-panel>
+        </van-cell-group>
       </div>
-
-
       <!--  检查项目    -->
       <fieldset class="fieldset"  :disabled="!enable">
         <div class="card" >
@@ -52,7 +57,7 @@
                       <span>{{img.checkName}}</span>
                     </div>
                   </van-cell>
-                  <select-cell required :disabled="!enable" title="整改期限" v-model="item.rectificationDeadline"  :data-list="dayList" />
+                  <select-cell required :disabled="!enable" title="整改期限" v-model="item.rectificationDeadline"  :data-list="getDictItem('rectification_deadline')" />
                   <van-field
                     required
                     v-model="item.remark"
@@ -83,14 +88,15 @@
             </van-collapse-item>
           </van-collapse>
         </div >
-
-        <div v-if="enable" class="flex-box">
-          <van-button type="default" style="width: 30%;" plain  @click="accredit">授权</van-button>
-          <van-button type="info" style="width: 30%;" plain hairline @click="saveData">保存</van-button>
-          <van-button type="info" style="width: 30%;"  @click="submitData">提交</van-button>
-        </div>
       </fieldset>
     </div>
+    <!--  按钮   -->
+    <div v-if="enable" class="flex-box">
+      <van-button type="default" style="width: 30%;" plain  @click="accredit">授权</van-button>
+      <van-button type="info" style="width: 30%;" plain hairline @click="saveData">保存</van-button>
+      <van-button type="info" style="width: 30%;"  @click="submitData">提交</van-button>
+    </div>
+
 
 <!--    <van-image-preview v-model="showPreView" :images="preViewImages.images" :startPosition="preViewImages.startPosition">-->
 <!--      <template v-slot:index>第{{ index }}页</template>-->
@@ -99,24 +105,27 @@
     <!--  nfc弹窗  -->
     <nfc-popup v-if="enable" ref="NfcPopup" @change="changeNfcImg"></nfc-popup>
   </div>
+
+  <!--  添加检查内容  -->
+  <AddCheck v-else @goBack="goBack" @addItem="addItem"></AddCheck>
 </template>
 
 <script>
+
 import NavBar from '@/components/NavBar';
 import SelectCell from '@/components/selectCell';
 import DateCell from '@/components/dateCell';
 import Uploader from '@/components/upload/uploader';
 import NfcPopup from '@/components/nfcPopup/more';
+import AddCheck from './addCheck'
 import {registerDetail,registerSubmit} from "./api";
-import {formatDate} from "@/filters/filter";
-import {getDict} from "@/api/toConsult";
 import {imgUrl} from "@/utils";
 import { ImagePreview } from 'vant';
 import {mapGetters} from "vuex";
-import taskInfo from "@/views/menu/monitoringCall/components/taskInfo";
+
 export default {
   name:'securityDetail',
-  components:{NavBar,SelectCell,DateCell,Uploader,NfcPopup},
+  components:{NavBar,SelectCell,DateCell,Uploader,NfcPopup,AddCheck},
   data(){
     return {
       id:null,
@@ -143,87 +152,72 @@ export default {
         images:[],
         startPosition:0
       },
-      dicts:['safety_check_status'],
+      dicts:['safety_check_status','rectification_deadline'],
       showPreView:false,
       selected:null,
+      active:true,
       go:{
         type:'replace',
         path:'/securityCheckRegister',
       },
     }
   },
-  beforeRouteEnter: (to, from, next) => {
-    if(from.name === 'securityCheckRegister'){
-      next(vm => {
-        vm.id = to.query.id;
-      })
-    }
-    if(from.name === 'addCheck'){
-      let str = sessionStorage.getItem('selected') ;
-      next(vm => {
-        vm.selected = JSON.parse(str);
-        sessionStorage.removeItem('selected');
-      })
-    }
-    next()
-  },
-  watch:{
-    id(){
-      this.getData();
-    },
-    selected:{
-      handler(val){
-        console.log(val,'val')
-        if(!val)return
-        let str =  JSON.parse(JSON.stringify(val));
-        str.forEach((valItem) => {
-          // 查找是否有与 valItem.itemId 相同的项
-          const existingItem = this.checkList.find((checkItem) => checkItem.itemId === valItem.itemId);
-          if (existingItem) {
-            // // 如果存在相同 itemId 的项,查找 pointList 是否有与 valItem.pointId 相同的项
-            const existingPoint = existingItem.pointList.find((pointItem) => pointItem.pointId === valItem.id);
-            if (!existingPoint) {
-              console.log(existingItem,'point添加成功')
-              this.$nextTick(()=>{
-                existingItem.pointList.push(valItem);
-              })
-            }else {
-              this.$toast('该检查项已添加');
-            }
-          } else {
-            console.log(valItem,'item添加成功')
-            this.$nextTick(()=>{
-              this.checkList.push({
-                itemId: valItem.itemId,
-                itemName: valItem.itemName,
-                pointList: [valItem],
-              });
-            })
-          }
-        });
-      },
-    },
-  },
   computed:{
     ...mapGetters(['dictionary'])
   },
-  created() {
-    getDict( 'resumption_status' ).then(res => {
-      let { data } = res
-      this.stateList = data;
-    })
-    getDict( 'rectification_deadline' ).then(res => {
-      let { data } = res
-      this.dayList = data;
-    })
-  },
   mounted() {
     this.id = this.$route.query.id;
     this.getData();
   },
   methods:{
+    addItem(val){
+      console.log(val,'list')
+      if(!val)return
+      let str =  JSON.parse(JSON.stringify(val));
+      str.forEach((valItem) => {
+        console.log(this.checkList,'checkList')
+        // 查找是否有与 valItem.itemId 相同的项
+        const existingItem = this.checkList.find((checkItem) => checkItem.itemId === valItem.itemId);
+        if (existingItem) {
+          // // 如果存在相同 itemId 的项,查找 pointList 是否有与 valItem.pointId 相同的项
+          const existingPoint = existingItem.pointList.find((pointItem) => pointItem.pointId === valItem.id);
+          if (!existingPoint) {
+            console.log(existingItem,'point添加成功')
+            this.$nextTick(()=>{
+              existingItem.pointList.push(valItem);
+              this.active = true;
+            })
+          }else {
+            this.$toast(existingPoint.pointName+'已添加');
+          }
+        } else {
+          console.log(valItem,'item添加成功')
+            this.checkList.push({
+              itemId: valItem.itemId,
+              itemName: valItem.itemName,
+              pointList: [valItem],
+            });
+            this.active = true;
+        }
+      });
+    },
+    goBack(){
+      this.active = true;
+    },
+    getState(state){
+       switch (state){
+         case '待检查':
+            return '#bbbbbb';
+         case '进行中':
+            return '#008cd6';
+         case '完成':
+            return '#009240';
+         case '已过期':
+            return '#D7000F';
+       }
+    },
     addCheck(){
-      this.$router.push({path:'/addCheck',query:{id:this.id}});
+      this.active = false;
     },
     clickWarnImage(arr,i){
       this.preViewImages.images = arr.map(v=>imgUrl(v.imgPath));
@@ -265,7 +259,6 @@ export default {
         }
       })
       if(arr.length) return this.$toast(`${arr[0].itemName}:该信息不完整请填写`);
-      //console.log( this.taskInfo,' this.taskInfo')
       this.taskInfo.isSubmit = 0;
       registerSubmit(this.taskInfo).then(res=>{
         this.$toast('保存成功');
@@ -360,11 +353,12 @@ export default {
     height: 100%;
     overflow: hidden;
     .page-container{
-      height: calc(100vh - 194px);
+      height: calc(100vh - 220px);
       overflow: auto;
       padding: 20px;
     }
     .flex-box{
+      padding: 20px;
       display: flex;
       justify-content: space-between;
       align-items: center;
@@ -387,6 +381,9 @@ export default {
     .card{
       margin-bottom: 20px;
       box-shadow: 0 10px 10px #eaeaea;
+      &:last-child{
+        margin-bottom: 0;
+      }
     }
     .check-area{
       background-color: #f1f1f1;

+ 35 - 48
src/views/menu/securityCheckRegister/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="check-register">
-    <NavBar />
+    <NavBar :go="go"/>
     <div class="statistics-container">
       <!--   搜索   -->
       <div style="background-color: #fff;">
@@ -36,8 +36,7 @@
           @refresh="refreshData"
           @loadMore="getDataList"
           :pullup="pullup">
-          <van-empty description="暂无数据" v-if="!dataList || dataList.length === 0" />
-
+          <empty v-if="!dataList || dataList.length === 0" />
           <card class="list-item" v-for="(v,i) in dataList" :key="v.planId">
             <div class="item-title">
               <van-cell :title="v.taskName" :border="false" :label="rangDate(formatDate(v.planStartTime,'DATE'),formatDate(v.planEndTime,'DATE'))" ></van-cell>
@@ -53,7 +52,7 @@
               </div>
             </div>
             <div class="check-item-list">
-              <van-empty v-if="v.active==1? v.completed.length == 0 : v.uncompleted.length == 0" />
+              <empty v-if="v.active==1? v.completed.length == 0 : v.uncompleted.length == 0" />
               <van-cell
                 v-else
                 v-for="(a,index) in v.active==1? v.completed:v.uncompleted" :key="a.taskId"
@@ -61,35 +60,14 @@
                 :to="{path:path,query:{id:a.taskId,enable:1}}">
                 <template #right-icon>
                   <div>
-                    <span style="color:#bbbbbb;" v-if="getDictLabel(a.status,'safety_check_status') == '待检查'">{{getDictLabel(a.status,'safety_check_status')}}</span>
-                    <span style="color:#008cd6;" v-if="getDictLabel(a.status,'safety_check_status') == '进行中'">{{getDictLabel(a.status,'safety_check_status')}}</span>
-                    <span style="color:#009240;" v-if="getDictLabel(a.status,'safety_check_status') == '完成'">{{getDictLabel(a.status,'safety_check_status')}}</span>
-                    <span style="color:#D7000F;" v-if="getDictLabel(a.status,'safety_check_status') == '已过期'">{{getDictLabel(a.status,'safety_check_status')}}</span>
+                    <span :style="{color:getState(getDictLabel(a.status,'safety_check_status'))}">
+                      {{getDictLabel(a.status,'safety_check_status')}}
+                    </span>
                   </div>
                 </template>
               </van-cell>
             </div>
           </card>
-<!--          <card class="list-item" v-for="(v,i) in dataList" :key="v.planId">-->
-<!--            <van-cell  :title="v.taskName" :label="rangDate(formatDate(v.planStartTime,'DATE'),formatDate(v.planEndTime,'DATE'))" ></van-cell>-->
-<!--            <van-collapse v-model="active" @change="collapseChange">-->
-<!--              <van-collapse-item :name="v.planId" >-->
-<!--                <template #title>-->
-<!--                  <div class="collapse-title">-->
-<!--                    <div :class="{'active':v.active==1}" @click.stop="changeList(v,1)">完成</div>-->
-<!--                    <div :class="{'active':v.active==2}" @click.stop="changeList(v,2)">未完成</div>-->
-<!--                  </div>-->
-<!--                </template>-->
-<!--                  <van-cell-->
-<!--                    v-if="v.active==1? v.completed.length > 0 : v.uncompleted.length > 0"-->
-<!--                    v-for="(a,index) in v.active==1? v.completed:v.uncompleted" :key="a.taskId"-->
-<!--                    :title="a.beCheckedOrgName"-->
-<!--                    :value="getDictLabel(a.status,'safety_check_status')"-->
-<!--                    :to="{path:path,query:{id:a.taskId,enable:1}}"-->
-<!--                    is-link/>-->
-<!--              </van-collapse-item>-->
-<!--            </van-collapse>-->
-<!--          </card>-->
         </Scroll>
       </div>
 
@@ -102,7 +80,7 @@ import OrgTree from '@/components/orgTree'
 import Card from '@/components/card'
 import DateCell from '@/components/dateCell'
 import SelectCell from '@/components/selectCell'
-import SearchSelectCell from '@/components/Yselectcell'
+import SearchSelectCell from '@/components/SearchSelectCell'
 import Scroll from '@/components/scroll/scroll'
 import {dataList,registerRole} from './api'
 import {mapGetters} from "vuex";
@@ -140,10 +118,14 @@ export default {
       loading:false,
       dataList:[],
       dicts:['safety_check_status'],
-      //控制上拉加载
-      pullup:false,
       finishList:[],
       unfinishedList:[],
+      //控制上拉加载
+      pullup:false,
+      go:{
+        type:'replace',
+        path:'/menu',
+      }
     }
   },
   mounted() {
@@ -156,27 +138,30 @@ export default {
   },
   methods: {
     formatDate,
+    getState(state){
+      switch (state){
+        case '待检查':
+          return '#bbbbbb';
+        case '进行中':
+          return '#008cd6';
+        case '完成':
+          return '#009240';
+        case '已过期':
+          return '#D7000F';
+      }
+    },
     changeOrgId(){
       this.query.roldIds = [];
       this.getRoleList();
       this.refreshData();
     },
-    collapseChange(){
-      console.log('collapseChange')
-      this.$nextTick(()=>{
-        //this.$refs.Scroll.refresh();
-      })
-    },
     changeList(item,type){
       this.$set(item,'active',type);
-      this.$nextTick(()=>{
-        //this.$refs.Scroll.refresh();
-      })
     },
     refreshData(){
       this.pullup = true;
-      this.query.pageNum = 1;
       this.total = 0;
+      this.query.pageNum = 1;
       this.dataList = [];
       this.getDataList();
     },
@@ -202,23 +187,23 @@ export default {
       }
       if(!this.query.checkOrgId) return this.$toast('请选择机构');
       dataList(data).then(res=>{
+        console.log(res,'ressssssss')
         if(res.total === '0'){
           this.pullup = false;
           this.$toast('已加载完毕');
           return
         }
         this.total = res.total;
-        let arr = res.rows.map(v=>{
+        res.rows.forEach(v=>{
           v.active = 2
-          return v
         });
-        console.log(arr,'arr')
+        console.log(res.rows,'arr')
         if(this.dataList.length < res.total) {
-          this.dataList = [...this.dataList,...arr];
+          this.dataList = [...this.dataList,...res.rows];
           console.log(111)
           this.pullup = true;
           this.query.pageNum++;
-          //this.$refs.Scroll.refresh();
+          this.$refs.Scroll.refresh();  //异步请求数据量过大,需手动刷新容器
         }
       })
     },
@@ -267,6 +252,7 @@ export default {
     display: flex;
     align-items: center;
     justify-content: space-between;
+    border-bottom: 1px solid #f5f5f5;
     >div{
       width: 50%;
     }
@@ -295,7 +281,7 @@ export default {
   }
   .check-item-list{
     -max-height: 500px;
-    overflow: scroll;
+    overflow: auto;
   }
   .card-num{
     display: flex;
@@ -316,8 +302,9 @@ export default {
       font-size: 24px;
       height: 70px;
       padding: 5px 10px;
-      border: 3px solid #ccc;
+      border: 2px solid #ccc;
       border-radius: 10px;
+      box-shadow: 0 3px 6px #eaeaea;
       >p{
         height: 28px;
         line-height: 28px;

+ 1 - 1
vue.config.js

@@ -119,7 +119,7 @@ module.exports = defineConfig({
         }
       },
       '/test': {
-        target: "http://47.92.229.224:9002",
+        target: "http://47.92.229.224:8080",
         // ws:true,
         changOrigin:true,
         pathRewrite:{

Kaikkia tiedostoja ei voida näyttää, sillä liian monta tiedostoa muuttui tässä diffissä