@dssp/supervision 1.0.0-alpha.8 → 1.0.0-alpha.84

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (357) hide show
  1. package/dist-client/graphql/building-inspection.d.ts +1 -0
  2. package/dist-client/graphql/building-inspection.js +101 -0
  3. package/dist-client/graphql/building-inspection.js.map +1 -0
  4. package/dist-client/pages/action-plan/action-plan-list-page.d.ts +1 -2
  5. package/dist-client/pages/action-plan/action-plan-list-page.js +1 -2
  6. package/dist-client/pages/action-plan/action-plan-list-page.js.map +1 -1
  7. package/dist-client/pages/building-inspection/building-inspection-detail-ai-defect.d.ts +22 -0
  8. package/dist-client/pages/building-inspection/building-inspection-detail-ai-defect.js +171 -0
  9. package/dist-client/pages/building-inspection/building-inspection-detail-ai-defect.js.map +1 -0
  10. package/dist-client/pages/building-inspection/building-inspection-detail-ai-measurement.d.ts +59 -0
  11. package/dist-client/pages/building-inspection/building-inspection-detail-ai-measurement.js +868 -0
  12. package/dist-client/pages/building-inspection/building-inspection-detail-ai-measurement.js.map +1 -0
  13. package/dist-client/pages/building-inspection/building-inspection-detail-camera.d.ts +8 -6
  14. package/dist-client/pages/building-inspection/building-inspection-detail-camera.js +116 -65
  15. package/dist-client/pages/building-inspection/building-inspection-detail-camera.js.map +1 -1
  16. package/dist-client/pages/building-inspection/building-inspection-detail-checklist.d.ts +11 -0
  17. package/dist-client/pages/building-inspection/building-inspection-detail-checklist.js +147 -72
  18. package/dist-client/pages/building-inspection/building-inspection-detail-checklist.js.map +1 -1
  19. package/dist-client/pages/building-inspection/building-inspection-detail-drawing.d.ts +1 -0
  20. package/dist-client/pages/building-inspection/building-inspection-detail-drawing.js +78 -14
  21. package/dist-client/pages/building-inspection/building-inspection-detail-drawing.js.map +1 -1
  22. package/dist-client/pages/building-inspection/building-inspection-list.d.ts +26 -2
  23. package/dist-client/pages/building-inspection/building-inspection-list.js +375 -34
  24. package/dist-client/pages/building-inspection/building-inspection-list.js.map +1 -1
  25. package/dist-client/pages/building-inspection/building-inspection-management.d.ts +81 -0
  26. package/dist-client/pages/building-inspection/building-inspection-management.js +1512 -0
  27. package/dist-client/pages/building-inspection/building-inspection-management.js.map +1 -0
  28. package/dist-client/pages/building-inspection/component/building-inspection-detail-header.d.ts +3 -0
  29. package/dist-client/pages/building-inspection/component/building-inspection-detail-header.js +112 -20
  30. package/dist-client/pages/building-inspection/component/building-inspection-detail-header.js.map +1 -1
  31. package/dist-client/pages/building-inspection/component/daily-worklog-popup.d.ts +27 -0
  32. package/dist-client/pages/building-inspection/component/daily-worklog-popup.js +542 -0
  33. package/dist-client/pages/building-inspection/component/daily-worklog-popup.js.map +1 -0
  34. package/dist-client/pages/building-inspection/component/field-document/field-document-constants.d.ts +18 -0
  35. package/dist-client/pages/building-inspection/component/field-document/field-document-constants.js +630 -0
  36. package/dist-client/pages/building-inspection/component/field-document/field-document-constants.js.map +1 -0
  37. package/dist-client/pages/building-inspection/component/field-document/field-document-detail-popup.d.ts +10 -0
  38. package/dist-client/pages/building-inspection/component/field-document/field-document-detail-popup.js +219 -0
  39. package/dist-client/pages/building-inspection/component/field-document/field-document-detail-popup.js.map +1 -0
  40. package/dist-client/pages/building-inspection/component/field-document/field-document-list-panel.d.ts +25 -0
  41. package/dist-client/pages/building-inspection/component/field-document/field-document-list-panel.js +545 -0
  42. package/dist-client/pages/building-inspection/component/field-document/field-document-list-panel.js.map +1 -0
  43. package/dist-client/pages/building-inspection/component/field-document/field-document-popup.d.ts +39 -0
  44. package/dist-client/pages/building-inspection/component/field-document/field-document-popup.js +675 -0
  45. package/dist-client/pages/building-inspection/component/field-document/field-document-popup.js.map +1 -0
  46. package/dist-client/pages/building-inspection/component/image-preview-popup.d.ts +15 -0
  47. package/dist-client/pages/building-inspection/component/image-preview-popup.js +348 -0
  48. package/dist-client/pages/building-inspection/component/image-preview-popup.js.map +1 -0
  49. package/dist-client/pages/building-inspection/component/inspection-document/inspection-request-document.d.ts +25 -0
  50. package/dist-client/pages/building-inspection/component/inspection-document/inspection-request-document.js +491 -0
  51. package/dist-client/pages/building-inspection/component/inspection-document/inspection-request-document.js.map +1 -0
  52. package/dist-client/pages/building-inspection/component/inspection-document/inspection-result-notification.d.ts +31 -0
  53. package/dist-client/pages/building-inspection/component/inspection-document/inspection-result-notification.js +485 -0
  54. package/dist-client/pages/building-inspection/component/inspection-document/inspection-result-notification.js.map +1 -0
  55. package/dist-client/pages/building-inspection/component/inspection-document/photo-album-popup.d.ts +27 -0
  56. package/dist-client/pages/building-inspection/component/inspection-document/photo-album-popup.js +416 -0
  57. package/dist-client/pages/building-inspection/component/inspection-document/photo-album-popup.js.map +1 -0
  58. package/dist-client/pages/building-inspection/component/inspection-event-provider.d.ts +4 -2
  59. package/dist-client/pages/building-inspection/component/inspection-event-provider.js +156 -37
  60. package/dist-client/pages/building-inspection/component/inspection-event-provider.js.map +1 -1
  61. package/dist-client/pages/building-inspection/inspection-create-popup.js +17 -5
  62. package/dist-client/pages/building-inspection/inspection-create-popup.js.map +1 -1
  63. package/dist-client/pages/building-inspection/inspection-with-checklist-create-popup.d.ts +3 -0
  64. package/dist-client/pages/building-inspection/inspection-with-checklist-create-popup.js +791 -0
  65. package/dist-client/pages/building-inspection/inspection-with-checklist-create-popup.js.map +1 -0
  66. package/dist-client/pages/building-inspection-grid/building-inspection-grid-detail.d.ts +16 -2
  67. package/dist-client/pages/building-inspection-grid/building-inspection-grid-detail.js +249 -45
  68. package/dist-client/pages/building-inspection-grid/building-inspection-grid-detail.js.map +1 -1
  69. package/dist-client/pages/building-inspection-grid/component/grid-inspection-create-popup.js +9 -3
  70. package/dist-client/pages/building-inspection-grid/component/grid-inspection-create-popup.js.map +1 -1
  71. package/dist-client/pages/building-inspection-grid/component/grid-inspection-list-layer.d.ts +19 -0
  72. package/dist-client/pages/building-inspection-grid/component/grid-inspection-list-layer.js +205 -0
  73. package/dist-client/pages/building-inspection-grid/component/grid-inspection-list-layer.js.map +1 -0
  74. package/dist-client/pages/checklist/attachment-list-popup.d.ts +1 -0
  75. package/dist-client/pages/checklist/attachment-list-popup.js +251 -69
  76. package/dist-client/pages/checklist/attachment-list-popup.js.map +1 -1
  77. package/dist-client/pages/checklist/checklist-view.d.ts +5 -0
  78. package/dist-client/pages/checklist/checklist-view.js +191 -30
  79. package/dist-client/pages/checklist/checklist-view.js.map +1 -1
  80. package/dist-client/pages/checklist/comment-list-popup.js +15 -5
  81. package/dist-client/pages/checklist/comment-list-popup.js.map +1 -1
  82. package/dist-client/pages/checklist/file-preview-popup.js +0 -1
  83. package/dist-client/pages/checklist/file-preview-popup.js.map +1 -1
  84. package/dist-client/pages/checklist/inspection-info-popup.d.ts +49 -0
  85. package/dist-client/pages/checklist/inspection-info-popup.js +683 -0
  86. package/dist-client/pages/checklist/inspection-info-popup.js.map +1 -0
  87. package/dist-client/pages/checklist/inspection-tab-popup.d.ts +18 -0
  88. package/dist-client/pages/checklist/inspection-tab-popup.js +196 -0
  89. package/dist-client/pages/checklist/inspection-tab-popup.js.map +1 -0
  90. package/dist-client/pages/checklist-database/checklist-database.d.ts +35 -0
  91. package/dist-client/pages/checklist-database/checklist-database.js +539 -0
  92. package/dist-client/pages/checklist-database/checklist-database.js.map +1 -0
  93. package/dist-client/pages/checklist-template/checklist-template-item.js +39 -3
  94. package/dist-client/pages/checklist-template/checklist-template-item.js.map +1 -1
  95. package/dist-client/pages/checklist-template/checklist-template-list.js +1 -1
  96. package/dist-client/pages/checklist-template/checklist-template-list.js.map +1 -1
  97. package/dist-client/pages/checklist-template/construction-checklist-template-item-popup.d.ts +2 -0
  98. package/dist-client/pages/checklist-template/construction-checklist-template-item-popup.js +242 -0
  99. package/dist-client/pages/checklist-template/construction-checklist-template-item-popup.js.map +1 -0
  100. package/dist-client/pages/checklist-template/construction-checklist-template-list.d.ts +55 -0
  101. package/dist-client/pages/checklist-template/construction-checklist-template-list.js +404 -0
  102. package/dist-client/pages/checklist-template/construction-checklist-template-list.js.map +1 -0
  103. package/dist-client/pages/issue/issue-list-page.d.ts +1 -2
  104. package/dist-client/pages/issue/issue-list-page.js +1 -2
  105. package/dist-client/pages/issue/issue-list-page.js.map +1 -1
  106. package/dist-client/pages/project-checklist/project-checklist-management.d.ts +52 -0
  107. package/dist-client/pages/project-checklist/project-checklist-management.js +932 -0
  108. package/dist-client/pages/project-checklist/project-checklist-management.js.map +1 -0
  109. package/dist-client/pages/project-report/project-report-list-page.d.ts +1 -2
  110. package/dist-client/pages/project-report/project-report-list-page.js +1 -2
  111. package/dist-client/pages/project-report/project-report-list-page.js.map +1 -1
  112. package/dist-client/pages/supervisor/supervisor-list-page.d.ts +1 -2
  113. package/dist-client/pages/supervisor/supervisor-list-page.js +1 -2
  114. package/dist-client/pages/supervisor/supervisor-list-page.js.map +1 -1
  115. package/dist-client/route.d.ts +1 -1
  116. package/dist-client/route.js +18 -0
  117. package/dist-client/route.js.map +1 -1
  118. package/dist-client/stt/speech-to-text.d.ts +13 -8
  119. package/dist-client/stt/speech-to-text.js +282 -40
  120. package/dist-client/stt/speech-to-text.js.map +1 -1
  121. package/dist-client/tsconfig.tsbuildinfo +1 -1
  122. package/dist-server/service/action-plan/action-plan-mutation.js +5 -6
  123. package/dist-server/service/action-plan/action-plan-mutation.js.map +1 -1
  124. package/dist-server/service/action-plan/action-plan-query.d.ts +2 -2
  125. package/dist-server/service/action-plan/action-plan-query.js +5 -11
  126. package/dist-server/service/action-plan/action-plan-query.js.map +1 -1
  127. package/dist-server/service/building-inspection/building-inspection-mutation.d.ts +2 -3
  128. package/dist-server/service/building-inspection/building-inspection-mutation.js +107 -39
  129. package/dist-server/service/building-inspection/building-inspection-mutation.js.map +1 -1
  130. package/dist-server/service/building-inspection/building-inspection-query.d.ts +9 -7
  131. package/dist-server/service/building-inspection/building-inspection-query.js +168 -52
  132. package/dist-server/service/building-inspection/building-inspection-query.js.map +1 -1
  133. package/dist-server/service/building-inspection/building-inspection-type.d.ts +30 -7
  134. package/dist-server/service/building-inspection/building-inspection-type.js +106 -13
  135. package/dist-server/service/building-inspection/building-inspection-type.js.map +1 -1
  136. package/dist-server/service/building-inspection/building-inspection.d.ts +5 -0
  137. package/dist-server/service/building-inspection/building-inspection.js +37 -4
  138. package/dist-server/service/building-inspection/building-inspection.js.map +1 -1
  139. package/dist-server/service/building-inspection/index.d.ts +3 -4
  140. package/dist-server/service/building-inspection/index.js +10 -3
  141. package/dist-server/service/building-inspection/index.js.map +1 -1
  142. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-mutation.d.ts +6 -0
  143. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-mutation.js +66 -0
  144. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-mutation.js.map +1 -0
  145. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-query.d.ts +16 -0
  146. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-query.js +171 -0
  147. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-query.js.map +1 -0
  148. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-type.d.ts +23 -0
  149. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-type.js +90 -0
  150. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-type.js.map +1 -0
  151. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog.d.ts +33 -0
  152. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog.js +132 -0
  153. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog.js.map +1 -0
  154. package/dist-server/service/building-inspection-daily-worklog/index.d.ts +5 -0
  155. package/dist-server/service/building-inspection-daily-worklog/index.js +9 -0
  156. package/dist-server/service/building-inspection-daily-worklog/index.js.map +1 -0
  157. package/dist-server/service/building-inspection-history/building-inspection-history-query.d.ts +16 -0
  158. package/dist-server/service/building-inspection-history/building-inspection-history-query.js +120 -0
  159. package/dist-server/service/building-inspection-history/building-inspection-history-query.js.map +1 -0
  160. package/dist-server/service/building-inspection-history/building-inspection-history-type.d.ts +5 -0
  161. package/dist-server/service/building-inspection-history/building-inspection-history-type.js +21 -0
  162. package/dist-server/service/building-inspection-history/building-inspection-history-type.js.map +1 -0
  163. package/dist-server/service/building-inspection-history/building-inspection-history.d.ts +35 -0
  164. package/dist-server/service/building-inspection-history/building-inspection-history.js +162 -0
  165. package/dist-server/service/building-inspection-history/building-inspection-history.js.map +1 -0
  166. package/dist-server/service/building-inspection-history/event-subscriber.d.ts +7 -0
  167. package/dist-server/service/building-inspection-history/event-subscriber.js +21 -0
  168. package/dist-server/service/building-inspection-history/event-subscriber.js.map +1 -0
  169. package/dist-server/service/building-inspection-history/index.d.ts +6 -0
  170. package/dist-server/service/building-inspection-history/index.js +10 -0
  171. package/dist-server/service/building-inspection-history/index.js.map +1 -0
  172. package/dist-server/service/checklist/checklist-mutation.d.ts +0 -5
  173. package/dist-server/service/checklist/checklist-mutation.js +1 -67
  174. package/dist-server/service/checklist/checklist-mutation.js.map +1 -1
  175. package/dist-server/service/checklist/checklist-query.d.ts +7 -0
  176. package/dist-server/service/checklist/checklist-query.js +83 -0
  177. package/dist-server/service/checklist/checklist-query.js.map +1 -1
  178. package/dist-server/service/checklist/checklist-type.d.ts +0 -13
  179. package/dist-server/service/checklist/checklist-type.js +1 -49
  180. package/dist-server/service/checklist/checklist-type.js.map +1 -1
  181. package/dist-server/service/checklist/checklist.d.ts +28 -3
  182. package/dist-server/service/checklist/checklist.js +89 -15
  183. package/dist-server/service/checklist/checklist.js.map +1 -1
  184. package/dist-server/service/checklist/event-subscriber.d.ts +7 -0
  185. package/dist-server/service/checklist/event-subscriber.js +21 -0
  186. package/dist-server/service/checklist/event-subscriber.js.map +1 -0
  187. package/dist-server/service/checklist/index.d.ts +1 -2
  188. package/dist-server/service/checklist/index.js +1 -2
  189. package/dist-server/service/checklist/index.js.map +1 -1
  190. package/dist-server/service/checklist-history/checklist-history-query.d.ts +11 -0
  191. package/dist-server/service/checklist-history/checklist-history-query.js +77 -0
  192. package/dist-server/service/checklist-history/checklist-history-query.js.map +1 -0
  193. package/dist-server/service/checklist-history/checklist-history-type.d.ts +5 -0
  194. package/dist-server/service/checklist-history/checklist-history-type.js +21 -0
  195. package/dist-server/service/checklist-history/checklist-history-type.js.map +1 -0
  196. package/dist-server/service/{checklist → checklist-history}/checklist-history.d.ts +19 -1
  197. package/dist-server/service/{checklist → checklist-history}/checklist-history.js +97 -14
  198. package/dist-server/service/checklist-history/checklist-history.js.map +1 -0
  199. package/dist-server/service/checklist-history/event-subscriber.d.ts +7 -0
  200. package/dist-server/service/checklist-history/event-subscriber.js +21 -0
  201. package/dist-server/service/checklist-history/event-subscriber.js.map +1 -0
  202. package/dist-server/service/checklist-history/index.d.ts +6 -0
  203. package/dist-server/service/checklist-history/index.js +10 -0
  204. package/dist-server/service/checklist-history/index.js.map +1 -0
  205. package/dist-server/service/checklist-item/checklist-item-query.d.ts +1 -1
  206. package/dist-server/service/checklist-item/checklist-item-query.js +5 -3
  207. package/dist-server/service/checklist-item/checklist-item-query.js.map +1 -1
  208. package/dist-server/service/checklist-item/index.d.ts +0 -1
  209. package/dist-server/service/checklist-item/index.js +1 -2
  210. package/dist-server/service/checklist-item/index.js.map +1 -1
  211. package/dist-server/service/checklist-item-comment/checklist-item-comment-mutation.d.ts +1 -0
  212. package/dist-server/service/checklist-item-comment/checklist-item-comment-mutation.js +33 -6
  213. package/dist-server/service/checklist-item-comment/checklist-item-comment-mutation.js.map +1 -1
  214. package/dist-server/service/checklist-item-history/checklist-item-history-query.d.ts +16 -0
  215. package/dist-server/service/checklist-item-history/checklist-item-history-query.js +123 -0
  216. package/dist-server/service/checklist-item-history/checklist-item-history-query.js.map +1 -0
  217. package/dist-server/service/checklist-item-history/checklist-item-history-type.d.ts +5 -0
  218. package/dist-server/service/checklist-item-history/checklist-item-history-type.js +21 -0
  219. package/dist-server/service/checklist-item-history/checklist-item-history-type.js.map +1 -0
  220. package/dist-server/service/checklist-item-history/checklist-item-history.d.ts +25 -0
  221. package/dist-server/service/checklist-item-history/checklist-item-history.js +123 -0
  222. package/dist-server/service/checklist-item-history/checklist-item-history.js.map +1 -0
  223. package/dist-server/service/checklist-item-history/event-subscriber.d.ts +7 -0
  224. package/dist-server/service/checklist-item-history/event-subscriber.js +21 -0
  225. package/dist-server/service/checklist-item-history/event-subscriber.js.map +1 -0
  226. package/dist-server/service/checklist-item-history/index.d.ts +6 -0
  227. package/dist-server/service/checklist-item-history/index.js +10 -0
  228. package/dist-server/service/checklist-item-history/index.js.map +1 -0
  229. package/dist-server/service/checklist-template/checklist-template-query.d.ts +1 -1
  230. package/dist-server/service/checklist-template/checklist-template-query.js +2 -5
  231. package/dist-server/service/checklist-template/checklist-template-query.js.map +1 -1
  232. package/dist-server/service/checklist-template-item/checklist-template-item-mutation.js +13 -1
  233. package/dist-server/service/checklist-template-item/checklist-template-item-mutation.js.map +1 -1
  234. package/dist-server/service/checklist-template-item/checklist-template-item-type.d.ts +3 -0
  235. package/dist-server/service/checklist-template-item/checklist-template-item-type.js +9 -0
  236. package/dist-server/service/checklist-template-item/checklist-template-item-type.js.map +1 -1
  237. package/dist-server/service/checklist-template-item/checklist-template-item.d.ts +7 -0
  238. package/dist-server/service/checklist-template-item/checklist-template-item.js +22 -2
  239. package/dist-server/service/checklist-template-item/checklist-template-item.js.map +1 -1
  240. package/dist-server/service/checklist-template-item/spec-matching-service.d.ts +2 -0
  241. package/dist-server/service/checklist-template-item/spec-matching-service.js +51 -0
  242. package/dist-server/service/checklist-template-item/spec-matching-service.js.map +1 -0
  243. package/dist-server/service/checklist-type/checklist-type-query.d.ts +1 -1
  244. package/dist-server/service/checklist-type/checklist-type-query.js +2 -5
  245. package/dist-server/service/checklist-type/checklist-type-query.js.map +1 -1
  246. package/dist-server/service/construction-checklist-template/construction-checklist-template-mutation.d.ts +7 -0
  247. package/dist-server/service/construction-checklist-template/construction-checklist-template-mutation.js +107 -0
  248. package/dist-server/service/construction-checklist-template/construction-checklist-template-mutation.js.map +1 -0
  249. package/dist-server/service/construction-checklist-template/construction-checklist-template-query.d.ts +10 -0
  250. package/dist-server/service/construction-checklist-template/construction-checklist-template-query.js +62 -0
  251. package/dist-server/service/construction-checklist-template/construction-checklist-template-query.js.map +1 -0
  252. package/dist-server/service/construction-checklist-template/construction-checklist-template-type.d.ts +11 -0
  253. package/dist-server/service/construction-checklist-template/construction-checklist-template-type.js +43 -0
  254. package/dist-server/service/construction-checklist-template/construction-checklist-template-type.js.map +1 -0
  255. package/dist-server/service/construction-checklist-template/construction-checklist-template.d.ts +18 -0
  256. package/dist-server/service/construction-checklist-template/construction-checklist-template.js +80 -0
  257. package/dist-server/service/construction-checklist-template/construction-checklist-template.js.map +1 -0
  258. package/dist-server/service/construction-checklist-template/index.d.ts +5 -0
  259. package/dist-server/service/construction-checklist-template/index.js +9 -0
  260. package/dist-server/service/construction-checklist-template/index.js.map +1 -0
  261. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-mutation.d.ts +6 -0
  262. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-mutation.js +60 -0
  263. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-mutation.js.map +1 -0
  264. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-query.d.ts +9 -0
  265. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-query.js +53 -0
  266. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-query.js.map +1 -0
  267. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-type.d.ts +17 -0
  268. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-type.js +67 -0
  269. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-type.js.map +1 -0
  270. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item.d.ts +24 -0
  271. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item.js +113 -0
  272. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item.js.map +1 -0
  273. package/dist-server/service/construction-checklist-template-item/index.d.ts +5 -0
  274. package/dist-server/service/construction-checklist-template-item/index.js +9 -0
  275. package/dist-server/service/construction-checklist-template-item/index.js.map +1 -0
  276. package/dist-server/service/construction-checklist-template-item/spec-matching-service.d.ts +2 -0
  277. package/dist-server/service/construction-checklist-template-item/spec-matching-service.js +50 -0
  278. package/dist-server/service/construction-checklist-template-item/spec-matching-service.js.map +1 -0
  279. package/dist-server/service/field-document/field-document-auto-file.d.ts +21 -0
  280. package/dist-server/service/field-document/field-document-auto-file.js +47 -0
  281. package/dist-server/service/field-document/field-document-auto-file.js.map +1 -0
  282. package/dist-server/service/field-document/field-document-mutation.d.ts +9 -0
  283. package/dist-server/service/field-document/field-document-mutation.js +136 -0
  284. package/dist-server/service/field-document/field-document-mutation.js.map +1 -0
  285. package/dist-server/service/field-document/field-document-query.d.ts +14 -0
  286. package/dist-server/service/field-document/field-document-query.js +120 -0
  287. package/dist-server/service/field-document/field-document-query.js.map +1 -0
  288. package/dist-server/service/field-document/field-document-summary-service.d.ts +2 -0
  289. package/dist-server/service/field-document/field-document-summary-service.js +55 -0
  290. package/dist-server/service/field-document/field-document-summary-service.js.map +1 -0
  291. package/dist-server/service/field-document/field-document-type.d.ts +23 -0
  292. package/dist-server/service/field-document/field-document-type.js +84 -0
  293. package/dist-server/service/field-document/field-document-type.js.map +1 -0
  294. package/dist-server/service/field-document/field-document.d.ts +29 -0
  295. package/dist-server/service/field-document/field-document.js +127 -0
  296. package/dist-server/service/field-document/field-document.js.map +1 -0
  297. package/dist-server/service/field-document/index.d.ts +5 -0
  298. package/dist-server/service/field-document/index.js +9 -0
  299. package/dist-server/service/field-document/index.js.map +1 -0
  300. package/dist-server/service/index.d.ts +9 -1
  301. package/dist-server/service/index.js +42 -3
  302. package/dist-server/service/index.js.map +1 -1
  303. package/dist-server/service/issue/issue-mutation.js +5 -6
  304. package/dist-server/service/issue/issue-mutation.js.map +1 -1
  305. package/dist-server/service/issue/issue-query.d.ts +2 -2
  306. package/dist-server/service/issue/issue-query.js +5 -11
  307. package/dist-server/service/issue/issue-query.js.map +1 -1
  308. package/dist-server/service/project-checklist/index.d.ts +5 -0
  309. package/dist-server/service/project-checklist/index.js +9 -0
  310. package/dist-server/service/project-checklist/index.js.map +1 -0
  311. package/dist-server/service/project-checklist/project-checklist-mutation.d.ts +7 -0
  312. package/dist-server/service/project-checklist/project-checklist-mutation.js +109 -0
  313. package/dist-server/service/project-checklist/project-checklist-mutation.js.map +1 -0
  314. package/dist-server/service/project-checklist/project-checklist-query.d.ts +12 -0
  315. package/dist-server/service/project-checklist/project-checklist-query.js +76 -0
  316. package/dist-server/service/project-checklist/project-checklist-query.js.map +1 -0
  317. package/dist-server/service/project-checklist/project-checklist-type.d.ts +18 -0
  318. package/dist-server/service/project-checklist/project-checklist-type.js +69 -0
  319. package/dist-server/service/project-checklist/project-checklist-type.js.map +1 -0
  320. package/dist-server/service/project-checklist/project-checklist.d.ts +20 -0
  321. package/dist-server/service/project-checklist/project-checklist.js +90 -0
  322. package/dist-server/service/project-checklist/project-checklist.js.map +1 -0
  323. package/dist-server/service/project-checklist-item/index.d.ts +4 -0
  324. package/dist-server/service/project-checklist-item/index.js +9 -0
  325. package/dist-server/service/project-checklist-item/index.js.map +1 -0
  326. package/dist-server/service/project-checklist-item/project-checklist-item-mutation.d.ts +2 -0
  327. package/dist-server/service/project-checklist-item/project-checklist-item-mutation.js +13 -0
  328. package/dist-server/service/project-checklist-item/project-checklist-item-mutation.js.map +1 -0
  329. package/dist-server/service/project-checklist-item/project-checklist-item-query.d.ts +5 -0
  330. package/dist-server/service/project-checklist-item/project-checklist-item-query.js +34 -0
  331. package/dist-server/service/project-checklist-item/project-checklist-item-query.js.map +1 -0
  332. package/dist-server/service/project-checklist-item/project-checklist-item-type.d.ts +5 -0
  333. package/dist-server/service/project-checklist-item/project-checklist-item-type.js +21 -0
  334. package/dist-server/service/project-checklist-item/project-checklist-item-type.js.map +1 -0
  335. package/dist-server/service/project-checklist-item/project-checklist-item.d.ts +17 -0
  336. package/dist-server/service/project-checklist-item/project-checklist-item.js +82 -0
  337. package/dist-server/service/project-checklist-item/project-checklist-item.js.map +1 -0
  338. package/dist-server/service/project-report/project-report-mutation.js +5 -6
  339. package/dist-server/service/project-report/project-report-mutation.js.map +1 -1
  340. package/dist-server/service/project-report/project-report-query.d.ts +2 -2
  341. package/dist-server/service/project-report/project-report-query.js +5 -11
  342. package/dist-server/service/project-report/project-report-query.js.map +1 -1
  343. package/dist-server/service/project-report/project-report.d.ts +0 -2
  344. package/dist-server/service/project-report/project-report.js +0 -6
  345. package/dist-server/service/project-report/project-report.js.map +1 -1
  346. package/dist-server/service/supervisor/supervisor-mutation.js +5 -6
  347. package/dist-server/service/supervisor/supervisor-mutation.js.map +1 -1
  348. package/dist-server/service/supervisor/supervisor-query.d.ts +2 -2
  349. package/dist-server/service/supervisor/supervisor-query.js +5 -11
  350. package/dist-server/service/supervisor/supervisor-query.js.map +1 -1
  351. package/dist-server/tsconfig.tsbuildinfo +1 -1
  352. package/package.json +14 -13
  353. package/things-factory.config.js +9 -1
  354. package/dist-server/service/building-inspection/building-inspection-history.d.ts +0 -17
  355. package/dist-server/service/building-inspection/building-inspection-history.js +0 -86
  356. package/dist-server/service/building-inspection/building-inspection-history.js.map +0 -1
  357. package/dist-server/service/checklist/checklist-history.js.map +0 -1
@@ -0,0 +1,1512 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import '@material/web/icon/icon.js';
3
+ import '@material/web/button/elevated-button.js';
4
+ import '@material/web/button/filled-button.js';
5
+ import '@material/web/button/outlined-button.js';
6
+ import '@operato/image-marker/ox-image-marker-view.js';
7
+ import '@operato/input/ox-select-floor.js';
8
+ import '@operato/data-grist';
9
+ import '@operato/event-view/ox-event-view.js';
10
+ import './inspection-create-popup';
11
+ import './inspection-with-checklist-create-popup';
12
+ import './component/daily-worklog-popup';
13
+ import './component/inspection-document/photo-album-popup';
14
+ import './component/inspection-document/inspection-request-document';
15
+ import './component/inspection-document/inspection-result-notification';
16
+ import './component/image-preview-popup';
17
+ import './component/field-document/field-document-popup';
18
+ import { CommonGristStyles, ScrollbarStyles } from '@operato/styles';
19
+ import { PageView, navigate } from '@operato/shell';
20
+ import { css, html } from 'lit';
21
+ import { customElement, query, state } from 'lit/decorators.js';
22
+ import { ScopedElementsMixin } from '@open-wc/scoped-elements';
23
+ import { DataGrist } from '@operato/data-grist';
24
+ import { client } from '@operato/graphql';
25
+ import { notify, openPopup } from '@operato/layout';
26
+ import gql from 'graphql-tag';
27
+ import moment from 'moment-timezone';
28
+ import { BuildingInspectionStatus, BUILDING_INSPECTION_STATUS_DISPLAY, BUILDING_INSPECTION_RE_STATUS_DISPLAY } from './building-inspection-list';
29
+ import { InspectionEventProvider } from './component/inspection-event-provider';
30
+ import { DailyWorklogMode } from './component/daily-worklog-popup';
31
+ import '../checklist/checklist-view';
32
+ import { getBuildingInspectionForChecklist } from '../../graphql/building-inspection';
33
+ import { InspectionMode } from './component/inspection-document/inspection-request-document';
34
+ import { DrawingImageProvider } from '@dssp/drawing/dist-client/drawing-management/drawing-image-provider.js';
35
+ let BuildingInspectionManagement = class BuildingInspectionManagement extends ScopedElementsMixin(PageView) {
36
+ constructor() {
37
+ super(...arguments);
38
+ this.defaultProject = {
39
+ name: '',
40
+ buildingComplex: {
41
+ buildings: []
42
+ }
43
+ };
44
+ this.projectId = '';
45
+ this.project = Object.assign({}, this.defaultProject);
46
+ this.selectedBuilding = {};
47
+ this.building = {};
48
+ this.currentFloor = 1;
49
+ this.buildingLevelId = '';
50
+ this.buildingInspectionSummary = {};
51
+ this.selectedYearMonth = moment().tz('Asia/Seoul').format('YYYY-MM');
52
+ this.selectedDate = moment().tz('Asia/Seoul').format('YYYY-MM-DD');
53
+ this.dailyWorklog = {};
54
+ this.viewMode = 'calendar';
55
+ }
56
+ get context() {
57
+ var _a;
58
+ return {
59
+ title: ((_a = this.project) === null || _a === void 0 ? void 0 : _a.name) ? `업무 대시보드 - ${this.project.name}` : '업무 대시보드'
60
+ };
61
+ }
62
+ // 동 미선택 시 프로젝트 전체 데이터 모드
63
+ get _isProjectMode() {
64
+ var _a;
65
+ return !((_a = this.selectedBuilding) === null || _a === void 0 ? void 0 : _a.id);
66
+ }
67
+ // 동 선택 + 층 미선택 시 동 전체 데이터 모드
68
+ get _isBuildingMode() {
69
+ var _a;
70
+ return !!((_a = this.selectedBuilding) === null || _a === void 0 ? void 0 : _a.id) && !this.buildingLevelId;
71
+ }
72
+ // 현재 데이터 스코프 표시 라벨
73
+ get _scopeLabel() {
74
+ var _a, _b, _c, _d;
75
+ if (this.buildingLevelId) {
76
+ const level = (_b = (_a = this.building) === null || _a === void 0 ? void 0 : _a.buildingLevels) === null || _b === void 0 ? void 0 : _b.find(l => l.id === this.buildingLevelId);
77
+ return `${((_c = this.selectedBuilding) === null || _c === void 0 ? void 0 : _c.name) || ''} ${(level === null || level === void 0 ? void 0 : level.floorDisplayName) || ''}층`;
78
+ }
79
+ if ((_d = this.selectedBuilding) === null || _d === void 0 ? void 0 : _d.id) {
80
+ return `${this.selectedBuilding.name} 전체`;
81
+ }
82
+ return '프로젝트 전체';
83
+ }
84
+ render() {
85
+ var _a, _b, _c, _d, _e, _f;
86
+ const cards = ((_b = (_a = this.building) === null || _a === void 0 ? void 0 : _a.buildingLevels) === null || _b === void 0 ? void 0 : _b.map(({ mainDrawingImage, floor }) => {
87
+ return {
88
+ image: mainDrawingImage || '/assets/images/img-drawing-default.png',
89
+ name: floor
90
+ };
91
+ })) || [];
92
+ return html `
93
+ <div header>
94
+ <h2>
95
+ <md-icon slot="icon" back @click=${() => history.back()}>arrow_back</md-icon>
96
+ 업무 대시보드
97
+ </h2>
98
+ </div>
99
+
100
+ <div body>
101
+ <div left>
102
+ <div>
103
+ <div subject bold>개별 단지 상세정보 바로가기</div>
104
+ <div building-container>
105
+ ${(_d = (_c = this.project.buildingComplex) === null || _c === void 0 ? void 0 : _c.buildings) === null || _d === void 0 ? void 0 : _d.map(building => {
106
+ return this.selectedBuilding.id === building.id
107
+ ? html `
108
+ <md-filled-button @click=${() => this._onClickBuilding(building)}> ${building.name} </md-filled-button>
109
+ `
110
+ : html `
111
+ <md-outlined-button @click=${() => this._onClickBuilding(building)}> ${building.name} </md-outlined-button>
112
+ `;
113
+ })}
114
+ </div>
115
+ </div>
116
+
117
+ <ox-select-floor
118
+ .cards=${cards}
119
+ .bottomLimit=${70}
120
+ .interval=${50}
121
+ @change=${(e) => {
122
+ this.currentFloor = e.detail;
123
+ }}
124
+ >
125
+ ${(_f = (_e = this.building) === null || _e === void 0 ? void 0 : _e.buildingLevels) === null || _f === void 0 ? void 0 : _f.map(({ id, floor, floorDisplayName, inspectionSummary }, idx) => {
126
+ return html `
127
+ <div slot="template-${idx}" @click=${() => this._onSelectFloor(id)} style="cursor: pointer;">
128
+ <div status>
129
+ <div content>
130
+ <span><md-icon wait slot="icon">frame_inspect</md-icon>${inspectionSummary.wait}</span>
131
+ <span><md-icon request slot="icon">exclamation</md-icon>${inspectionSummary.request}</span>
132
+ <span><md-icon pass slot="icon">check</md-icon>${inspectionSummary.pass}</span>
133
+ <span><md-icon fail slot="icon">close</md-icon>${inspectionSummary.fail}</span>
134
+ </div>
135
+ <span name ?active=${this.currentFloor == floor}>${floorDisplayName}층</span>
136
+ </div>
137
+ </div>
138
+ `;
139
+ })}
140
+ </ox-select-floor>
141
+ </div>
142
+
143
+ <div right-panel>
144
+ ${this.buildingLevelId || this._isBuildingMode || this._isProjectMode
145
+ ? html `
146
+ <div inspection-container>
147
+ <div scope-header>
148
+ <h3>검측 현황</h3>
149
+ <span scope-label>${this._scopeLabel}</span>
150
+ </div>
151
+ <div inspection>
152
+ <div name bold>
153
+ <md-icon slot="icon">fact_check</md-icon>
154
+ 검측 현황
155
+ </div>
156
+
157
+ <div>
158
+ <label>${BUILDING_INSPECTION_STATUS_DISPLAY[BuildingInspectionStatus.WAIT]}</label>
159
+ <span bold status="wait"> ${this.buildingInspectionSummary.wait}</span>
160
+ </div>
161
+ <div>
162
+ <label>${BUILDING_INSPECTION_STATUS_DISPLAY[BuildingInspectionStatus.REQUEST]}</label>
163
+ <span bold status="request"> ${this.buildingInspectionSummary.request}</span>
164
+ </div>
165
+ <div>
166
+ <label>${BUILDING_INSPECTION_STATUS_DISPLAY[BuildingInspectionStatus.FAIL]}</label>
167
+ <span bold status="fail"> ${this.buildingInspectionSummary.fail}</span>
168
+ </div>
169
+ <div>
170
+ <label>재검측 대기</label>
171
+ <span bold status="re-wait"> ${this.buildingInspectionSummary.reWait}</span>
172
+ </div>
173
+ <div>
174
+ <label>${BUILDING_INSPECTION_STATUS_DISPLAY[BuildingInspectionStatus.PASS]}</label>
175
+ <span bold status="pass"> ${this.buildingInspectionSummary.pass}</span>
176
+ </div>
177
+ </div>
178
+
179
+ <div view-toggle>
180
+ <md-icon ?active=${this.viewMode === 'calendar'} @click=${() => this._setViewMode('calendar')}>
181
+ calendar_month
182
+ </md-icon>
183
+ <md-icon ?active=${this.viewMode === 'list'} @click=${() => this._setViewMode('list')}> view_list </md-icon>
184
+ </div>
185
+
186
+ <div calendar-wrapper style="display:${this.viewMode === 'calendar' ? 'block' : 'none'}">
187
+ <ox-event-view
188
+ .mode=${'monthly'}
189
+ .eventProvider=${this.calendarData}
190
+ @select-date=${(e) => {
191
+ this.selectedDate = moment(e.detail[0]).format('YYYY-MM-DD');
192
+ this._fetchDailyWorklog(this.selectedDate);
193
+ }}
194
+ @change-month=${(e) => {
195
+ var _a, _b, _c;
196
+ const year = e.detail.year;
197
+ const month = (_c = (_b = (_a = e.detail) === null || _a === void 0 ? void 0 : _a.month) === null || _b === void 0 ? void 0 : _b.toString()) === null || _c === void 0 ? void 0 : _c.padStart(2, '0');
198
+ this.selectedYearMonth = `${year}-${month}`;
199
+ this._refreshListGrists();
200
+ }}
201
+ @open-worklog=${(e) => {
202
+ this._openWorklogForDate(e.detail.date);
203
+ }}
204
+ ></ox-event-view>
205
+ </div>
206
+ <div list-wrapper style="display:${this.viewMode === 'list' ? 'block' : 'none'}">
207
+ <div list-view>
208
+ <div list-section>
209
+ <h3 section-title>작업 완료 / 조치 필요</h3>
210
+ <ox-grist
211
+ section="wait-fail"
212
+ .mode=${'GRID'}
213
+ .config=${this.gristConfig}
214
+ .fetchHandler=${this._fetchWaitFail.bind(this)}
215
+ ></ox-grist>
216
+ </div>
217
+ <div list-section>
218
+ <h3 section-title blue>감리 / 재검측 대기</h3>
219
+ <ox-grist
220
+ section="request"
221
+ .mode=${'GRID'}
222
+ .config=${this.gristConfig}
223
+ .fetchHandler=${this._fetchRequest.bind(this)}
224
+ ></ox-grist>
225
+ </div>
226
+ <div list-section>
227
+ <h3 section-title green>검측 완료</h3>
228
+ <ox-grist
229
+ section="pass"
230
+ .mode=${'GRID'}
231
+ .config=${this.gristConfig}
232
+ .fetchHandler=${this._fetchPass.bind(this)}
233
+ ></ox-grist>
234
+ </div>
235
+ </div>
236
+ </div>
237
+ </div>
238
+
239
+ <div action-buttons>
240
+ <md-filled-button navy @click=${this._openFieldDocuments}>
241
+ <md-icon slot="icon">search</md-icon>현장 문서 확인
242
+ </md-filled-button>
243
+ <div style="flex:1"></div>
244
+ ${this.viewMode === 'calendar'
245
+ ? this.dailyWorklog.id
246
+ ? html `<md-filled-button green @click=${this._openDailyWorklogPopup}>
247
+ <md-icon slot="icon">edit</md-icon>일일 업무일지 수정
248
+ </md-filled-button>`
249
+ : html `<md-filled-button @click=${this._openDailyWorklogPopup}>
250
+ <md-icon slot="icon">note_add</md-icon>일일 업무일지 작성
251
+ </md-filled-button>`
252
+ : ''}
253
+ ${this.viewMode === 'list'
254
+ ? html `<md-filled-button red @click=${this._deleteInspections}>
255
+ <md-icon slot="icon">delete</md-icon>검측 삭제
256
+ </md-filled-button>`
257
+ : ''}
258
+ <md-filled-button navy-light @click=${this._openCreateInspection}>
259
+ <md-icon slot="icon">check_circle</md-icon>검측 등록
260
+ </md-filled-button>
261
+ </div>
262
+ `
263
+ : html `
264
+ <div style="display:flex;align-items:center;justify-content:center;flex:1;color:#999;">
265
+ 층을 선택하면 작업 현황이 표시됩니다.
266
+ </div>
267
+ `}
268
+ </div>
269
+ </div>
270
+ `;
271
+ }
272
+ updated(changedProperties) {
273
+ var _a;
274
+ super.updated(changedProperties);
275
+ // ox-grist shadow DOM 내부 #wrap의 overflow를 제어
276
+ (_a = this.renderRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('ox-grist').forEach(grist => {
277
+ var _a, _b;
278
+ const oxGrid = (_a = grist.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('ox-grid');
279
+ const gridBody = (_b = oxGrid === null || oxGrid === void 0 ? void 0 : oxGrid.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('ox-grid-body');
280
+ if (gridBody) {
281
+ gridBody.style.maxHeight = '150px';
282
+ }
283
+ });
284
+ }
285
+ async pageUpdated(changes, lifecycle) {
286
+ if (this.active) {
287
+ this.projectId = lifecycle.resourceId || '';
288
+ await this._initProject(this.projectId);
289
+ }
290
+ }
291
+ async pageInitialized(lifecycle) {
292
+ this.gristConfig = {
293
+ columns: [
294
+ { type: 'gutter', gutterName: 'sequence' },
295
+ { type: 'gutter', gutterName: 'row-selector', multiple: true },
296
+ {
297
+ type: 'gutter',
298
+ gutterName: 'button',
299
+ icon: 'open_in_new',
300
+ header: '상세보기',
301
+ width: 60,
302
+ handlers: {
303
+ click: (columns, data, column, record, rowIndex) => {
304
+ navigate(`building-inspection-detail-drawing/${record.id}`);
305
+ }
306
+ }
307
+ },
308
+ {
309
+ type: 'string',
310
+ name: 'id',
311
+ hidden: true
312
+ },
313
+ {
314
+ type: 'string',
315
+ name: 'statusDisplay',
316
+ header: '검측 상태',
317
+ record: { align: 'center' },
318
+ width: 100
319
+ },
320
+ {
321
+ type: 'string',
322
+ name: 'location',
323
+ header: '위치',
324
+ width: 130
325
+ },
326
+ {
327
+ type: 'string',
328
+ name: 'constructionType',
329
+ header: '공종',
330
+ width: 120
331
+ },
332
+ {
333
+ type: 'string',
334
+ name: 'inspectionParts',
335
+ header: '검측 부위',
336
+ record: {
337
+ renderer: value => (value === null || value === void 0 ? void 0 : value.join(', ')) || ''
338
+ },
339
+ width: 200
340
+ },
341
+ {
342
+ type: 'string',
343
+ name: 'createdDate',
344
+ header: '검측 등록일시',
345
+ width: 110
346
+ },
347
+ {
348
+ type: 'string',
349
+ name: 'requestDate',
350
+ header: '검측 요청일시',
351
+ width: 150
352
+ },
353
+ {
354
+ type: 'gutter',
355
+ gutterName: 'button',
356
+ icon: 'fact_check',
357
+ header: '도면',
358
+ width: 50,
359
+ handlers: {
360
+ click: (columns, data, column, record, rowIndex) => {
361
+ this._openDrawingPopup(record);
362
+ }
363
+ }
364
+ },
365
+ {
366
+ type: 'gutter',
367
+ gutterName: 'button',
368
+ icon: 'edit_square',
369
+ header: '요청서/결과통보',
370
+ width: 100,
371
+ handlers: {
372
+ click: (columns, data, column, record, rowIndex) => {
373
+ this._openInspectionRequestDocument(record.id);
374
+ }
375
+ }
376
+ },
377
+ {
378
+ type: 'gutter',
379
+ gutterName: 'button',
380
+ icon: 'task',
381
+ header: '체크리스트',
382
+ width: 70,
383
+ handlers: {
384
+ click: (columns, data, column, record, rowIndex) => {
385
+ this._openChecklistPopup(record.id);
386
+ }
387
+ }
388
+ },
389
+ {
390
+ type: 'gutter',
391
+ gutterName: 'button',
392
+ icon: 'photo_camera',
393
+ header: '사진대지',
394
+ width: 60,
395
+ handlers: {
396
+ click: (columns, data, column, record, rowIndex) => {
397
+ this._openPhotoAlbumPopup(record.checklistId);
398
+ }
399
+ }
400
+ },
401
+ {
402
+ type: 'gutter',
403
+ gutterName: 'button',
404
+ icon: 'engineering',
405
+ header: '실명부',
406
+ width: 50,
407
+ handlers: {
408
+ click: (columns, data, column, record, rowIndex) => {
409
+ this._showNameListPreview(record);
410
+ }
411
+ }
412
+ }
413
+ ],
414
+ rows: {
415
+ selectable: {
416
+ multiple: true
417
+ },
418
+ appendable: false
419
+ },
420
+ sorters: [{ name: 'requestDate' }]
421
+ };
422
+ }
423
+ async _initProject(projectId = '') {
424
+ var _a;
425
+ const response = await client.query({
426
+ query: gql `
427
+ query Project($id: String!) {
428
+ project(id: $id) {
429
+ id
430
+ name
431
+ projectType
432
+ mainPhoto {
433
+ fullpath
434
+ }
435
+ buildingComplex {
436
+ id
437
+ drawing {
438
+ id
439
+ name
440
+ fullpath
441
+ }
442
+ buildings {
443
+ id
444
+ name
445
+ drawing {
446
+ id
447
+ name
448
+ fullpath
449
+ }
450
+ }
451
+ }
452
+ }
453
+ }
454
+ `,
455
+ variables: {
456
+ id: projectId
457
+ }
458
+ });
459
+ if (response.errors)
460
+ return;
461
+ this.project = (_a = response.data) === null || _a === void 0 ? void 0 : _a.project;
462
+ this.updateContext();
463
+ // 동 미선택 상태 → 프로젝트 전체 데이터 로드
464
+ this.selectedBuilding = {};
465
+ this.building = {};
466
+ this.buildingLevelId = '';
467
+ await this._initProjectLevel();
468
+ }
469
+ async _getBuilding(buildingId = '') {
470
+ var _a;
471
+ const response = await client.query({
472
+ query: gql `
473
+ query Building($id: String!) {
474
+ building(id: $id) {
475
+ id
476
+ buildingLevels {
477
+ id
478
+ floor
479
+ floorDisplayName
480
+ mainDrawing {
481
+ id
482
+ name
483
+ fullpath
484
+ }
485
+ mainDrawingImage
486
+ inspectionSummary {
487
+ wait
488
+ request
489
+ pass
490
+ fail
491
+ }
492
+ }
493
+ }
494
+ }
495
+ `,
496
+ variables: {
497
+ id: buildingId
498
+ }
499
+ });
500
+ if (response.errors)
501
+ return;
502
+ this.building = (_a = response.data) === null || _a === void 0 ? void 0 : _a.building;
503
+ // 왼쪽 패널 스크롤을 맨 아래로
504
+ await this.updateComplete;
505
+ if (this.leftPanel) {
506
+ this.leftPanel.scrollTop = this.leftPanel.scrollHeight;
507
+ }
508
+ }
509
+ async _onClickBuilding(building) {
510
+ var _a;
511
+ if (((_a = this.selectedBuilding) === null || _a === void 0 ? void 0 : _a.id) === building.id) {
512
+ // 토글: 이미 선택된 동 클릭 시 해제 → 프로젝트 전체 데이터
513
+ this.selectedBuilding = {};
514
+ this.building = {};
515
+ this.buildingLevelId = '';
516
+ this.currentFloor = 0;
517
+ await this._initProjectLevel();
518
+ return;
519
+ }
520
+ this.selectedBuilding = Object.assign({}, building);
521
+ this.buildingLevelId = '';
522
+ this.buildingInspectionSummary = {};
523
+ await this._getBuilding(this.selectedBuilding.id);
524
+ await this._initBuildingData(this.selectedBuilding.id);
525
+ }
526
+ async _onSelectFloor(levelId) {
527
+ this.buildingLevelId = levelId;
528
+ await this._initBuildingLevel(levelId);
529
+ }
530
+ async _initProjectLevel() {
531
+ var _a;
532
+ if (!this.projectId)
533
+ return;
534
+ // 프로젝트 전체 검측 현황 조회
535
+ const response = await client.query({
536
+ query: gql `
537
+ query BuildingInspectionSummaryOfProject($projectId: String!) {
538
+ buildingInspectionSummaryOfProject(projectId: $projectId) {
539
+ wait
540
+ request
541
+ pass
542
+ fail
543
+ reWait
544
+ }
545
+ }
546
+ `,
547
+ variables: { projectId: this.projectId }
548
+ });
549
+ if (response.errors)
550
+ return;
551
+ this.buildingInspectionSummary = (_a = response.data) === null || _a === void 0 ? void 0 : _a.buildingInspectionSummaryOfProject;
552
+ // 달력 데이터 생성 (프로젝트 레벨 - buildingLevelId 없이)
553
+ this.calendarData = new InspectionEventProvider('', this.projectId);
554
+ await this.updateComplete;
555
+ // 일일 업무일지 조회
556
+ await this._fetchDailyWorklog(this.selectedDate);
557
+ // 목록 모드일 경우 그리스트 갱신
558
+ this._refreshListGrists();
559
+ }
560
+ async _initBuildingData(buildingId) {
561
+ var _a;
562
+ if (!buildingId)
563
+ return;
564
+ // 동 전체 검측 현황 조회
565
+ const response = await client.query({
566
+ query: gql `
567
+ query BuildingInspectionSummaryOfBuilding($buildingId: String!) {
568
+ buildingInspectionSummaryOfBuilding(buildingId: $buildingId) {
569
+ wait
570
+ request
571
+ pass
572
+ fail
573
+ reWait
574
+ }
575
+ }
576
+ `,
577
+ variables: { buildingId }
578
+ });
579
+ if (response.errors)
580
+ return;
581
+ this.buildingInspectionSummary = (_a = response.data) === null || _a === void 0 ? void 0 : _a.buildingInspectionSummaryOfBuilding;
582
+ // 달력 데이터 생성 (동 레벨)
583
+ this.calendarData = new InspectionEventProvider('', this.projectId, buildingId);
584
+ await this.updateComplete;
585
+ // 일일 업무일지 조회
586
+ await this._fetchDailyWorklog(this.selectedDate);
587
+ // 목록 모드일 경우 그리스트 갱신
588
+ this._refreshListGrists();
589
+ }
590
+ async _initBuildingLevel(buildingLevelId) {
591
+ var _a;
592
+ const response = await client.query({
593
+ query: gql `
594
+ query BuildingInspectionSummaryOfBuildingLevel($buildingLevelId: String!) {
595
+ buildingInspectionSummaryOfBuildingLevel(buildingLevelId: $buildingLevelId) {
596
+ wait
597
+ request
598
+ pass
599
+ fail
600
+ reWait
601
+ }
602
+ }
603
+ `,
604
+ variables: {
605
+ buildingLevelId
606
+ }
607
+ });
608
+ if (response.errors)
609
+ return;
610
+ this.buildingInspectionSummary = (_a = response.data) === null || _a === void 0 ? void 0 : _a.buildingInspectionSummaryOfBuildingLevel;
611
+ // 달력 데이터 생성
612
+ this.calendarData = new InspectionEventProvider(buildingLevelId, this.project.id);
613
+ // 달력 최소 높이 속성 수정
614
+ await this.updateComplete;
615
+ // 일일 업무일지 조회
616
+ await this._fetchDailyWorklog(this.selectedDate);
617
+ // 목록 모드일 경우 그리스트 갱신
618
+ this._refreshListGrists();
619
+ }
620
+ async _fetchInspectionsByStatus(statuses, { page = 1, limit = 100 }, extraFilter) {
621
+ var _a, _b, _c, _d, _e, _f;
622
+ if (!this.buildingLevelId && !this._isBuildingMode && !this._isProjectMode)
623
+ return { total: 0, records: [] };
624
+ if ((this._isProjectMode || this._isBuildingMode) && !this.projectId)
625
+ return { total: 0, records: [] };
626
+ let items;
627
+ if (this.buildingLevelId) {
628
+ // 층 레벨 조회
629
+ const response = await client.query({
630
+ query: gql `
631
+ query BuildingInspectionsOfBuildingLevel($params: BuildingInspectionsOfBuildingLevel!) {
632
+ buildingInspectionsOfBuildingLevel(params: $params) {
633
+ items {
634
+ id
635
+ status
636
+ failCount
637
+ requestDate
638
+ createdAt
639
+
640
+ checklist {
641
+ checklistId: id
642
+ name
643
+ constructionType
644
+ constructionDetailType
645
+ location
646
+ inspectionParts
647
+ inspectionDrawingType
648
+
649
+ nameListAttachment {
650
+ id
651
+ name
652
+ fullpath
653
+ }
654
+ }
655
+ drawingMarker
656
+ }
657
+ total
658
+ }
659
+ }
660
+ `,
661
+ variables: {
662
+ params: {
663
+ buildingLevelId: this.buildingLevelId,
664
+ limit: 0
665
+ }
666
+ }
667
+ });
668
+ items = ((_b = (_a = response.data) === null || _a === void 0 ? void 0 : _a.buildingInspectionsOfBuildingLevel) === null || _b === void 0 ? void 0 : _b.items) || [];
669
+ }
670
+ else if (this._isBuildingMode) {
671
+ // 동 레벨 조회
672
+ const response = await client.query({
673
+ query: gql `
674
+ query BuildingInspectionsOfBuilding($params: BuildingInspectionsOfBuilding!) {
675
+ buildingInspectionsOfBuilding(params: $params) {
676
+ items {
677
+ id
678
+ status
679
+ failCount
680
+ requestDate
681
+ createdAt
682
+
683
+ checklist {
684
+ checklistId: id
685
+ name
686
+ constructionType
687
+ constructionDetailType
688
+ location
689
+ inspectionParts
690
+ inspectionDrawingType
691
+
692
+ nameListAttachment {
693
+ id
694
+ name
695
+ fullpath
696
+ }
697
+ }
698
+ drawingMarker
699
+ }
700
+ total
701
+ }
702
+ }
703
+ `,
704
+ variables: {
705
+ params: {
706
+ buildingId: this.selectedBuilding.id,
707
+ limit: 0
708
+ }
709
+ }
710
+ });
711
+ items = ((_d = (_c = response.data) === null || _c === void 0 ? void 0 : _c.buildingInspectionsOfBuilding) === null || _d === void 0 ? void 0 : _d.items) || [];
712
+ }
713
+ else {
714
+ // 프로젝트 레벨 조회 (동 미선택 시)
715
+ const response = await client.query({
716
+ query: gql `
717
+ query BuildingInspectionsOfProject($params: BuildingInspectionsOfProject!) {
718
+ buildingInspectionsOfProject(params: $params) {
719
+ items {
720
+ id
721
+ status
722
+ failCount
723
+ requestDate
724
+ createdAt
725
+
726
+ checklist {
727
+ checklistId: id
728
+ name
729
+ constructionType
730
+ constructionDetailType
731
+ location
732
+ inspectionParts
733
+ inspectionDrawingType
734
+
735
+ nameListAttachment {
736
+ id
737
+ name
738
+ fullpath
739
+ }
740
+ }
741
+ drawingMarker
742
+ }
743
+ total
744
+ }
745
+ }
746
+ `,
747
+ variables: {
748
+ params: {
749
+ projectId: this.projectId,
750
+ limit: 0
751
+ }
752
+ }
753
+ });
754
+ items = ((_f = (_e = response.data) === null || _e === void 0 ? void 0 : _e.buildingInspectionsOfProject) === null || _f === void 0 ? void 0 : _f.items) || [];
755
+ }
756
+ // 상태별 필터링
757
+ items = items.filter(item => statuses.includes(item.status));
758
+ if (extraFilter) {
759
+ items = items.filter(extraFilter);
760
+ }
761
+ items = items.map(item => (Object.assign(Object.assign(Object.assign({}, item), item.checklist), { statusDisplay: (item.failCount > 0 ? BUILDING_INSPECTION_RE_STATUS_DISPLAY : BUILDING_INSPECTION_STATUS_DISPLAY)[item.status], createdDate: this._formatDate(item.createdAt), requestDate: this._formatDateTime(item.requestDate) })));
762
+ return {
763
+ total: items.length,
764
+ records: items
765
+ };
766
+ }
767
+ async _fetchWaitFail(options) {
768
+ return this._fetchInspectionsByStatus([BuildingInspectionStatus.WAIT, BuildingInspectionStatus.OVERALL_WAIT, BuildingInspectionStatus.FAIL], options,
769
+ // 재검측 대기(failCount > 0인 WAIT) 제외
770
+ item => !((item.status === BuildingInspectionStatus.WAIT || item.status === BuildingInspectionStatus.OVERALL_WAIT) &&
771
+ (item.failCount || 0) > 0));
772
+ }
773
+ async _fetchRequest(options) {
774
+ return this._fetchInspectionsByStatus([
775
+ BuildingInspectionStatus.REQUEST,
776
+ BuildingInspectionStatus.OVERALL_REQUEST,
777
+ BuildingInspectionStatus.WAIT,
778
+ BuildingInspectionStatus.OVERALL_WAIT
779
+ ], options,
780
+ // REQUEST/OVERALL_REQUEST 전체 + 재검측 대기(failCount > 0인 WAIT)만
781
+ item => item.status === BuildingInspectionStatus.REQUEST ||
782
+ item.status === BuildingInspectionStatus.OVERALL_REQUEST ||
783
+ ((item.status === BuildingInspectionStatus.WAIT || item.status === BuildingInspectionStatus.OVERALL_WAIT) &&
784
+ (item.failCount || 0) > 0));
785
+ }
786
+ async _fetchPass(options) {
787
+ return this._fetchInspectionsByStatus([BuildingInspectionStatus.PASS], options);
788
+ }
789
+ _setViewMode(mode) {
790
+ this.viewMode = mode;
791
+ if (mode === 'list') {
792
+ this.updateComplete.then(() => this._refreshListGrists());
793
+ }
794
+ }
795
+ _refreshListGrists() {
796
+ if (this.viewMode === 'list') {
797
+ this.updateComplete.then(() => {
798
+ var _a, _b, _c;
799
+ (_a = this.gristWaitFail) === null || _a === void 0 ? void 0 : _a.fetch();
800
+ (_b = this.gristRequest) === null || _b === void 0 ? void 0 : _b.fetch();
801
+ (_c = this.gristPass) === null || _c === void 0 ? void 0 : _c.fetch();
802
+ });
803
+ }
804
+ }
805
+ _formatDateTime(date) {
806
+ if (!date)
807
+ return '';
808
+ try {
809
+ const parsed = typeof date === 'string' && /^\d+$/.test(date) ? new Date(Number(date)) : new Date(date);
810
+ return new Intl.DateTimeFormat('ko-KR', {
811
+ timeZone: 'Asia/Seoul',
812
+ year: 'numeric',
813
+ month: '2-digit',
814
+ day: '2-digit',
815
+ hour: '2-digit',
816
+ minute: '2-digit',
817
+ hour12: false
818
+ }).format(parsed);
819
+ }
820
+ catch (_a) {
821
+ return '';
822
+ }
823
+ }
824
+ _formatDate(date) {
825
+ if (!date)
826
+ return '';
827
+ try {
828
+ const parsed = typeof date === 'string' && /^\d+$/.test(date) ? new Date(Number(date)) : new Date(date);
829
+ return new Intl.DateTimeFormat('ko-KR', {
830
+ timeZone: 'Asia/Seoul',
831
+ year: 'numeric',
832
+ month: '2-digit',
833
+ day: '2-digit'
834
+ }).format(parsed);
835
+ }
836
+ catch (_a) {
837
+ return '';
838
+ }
839
+ }
840
+ async _openWorklogForDate(date) {
841
+ this.selectedDate = date;
842
+ await this._fetchDailyWorklog(date);
843
+ this._openDailyWorklogPopup();
844
+ }
845
+ _openDailyWorklogPopup() {
846
+ const date = this.selectedDate;
847
+ openPopup(html `<daily-worklog-popup
848
+ .project=${this.project}
849
+ .date=${date}
850
+ .dailyWorklog=${this.dailyWorklog}
851
+ .mode=${this.dailyWorklog.id ? DailyWorklogMode.EDIT : DailyWorklogMode.CREATE}
852
+ @createdDailyWorklog=${this._refreshCalendar.bind(this)}
853
+ @updatedDailyWorklog=${() => this._fetchDailyWorklog(this.selectedDate)}
854
+ ></daily-worklog-popup>`, {
855
+ backdrop: true,
856
+ size: 'large',
857
+ title: '일일 업무일지 작성'
858
+ });
859
+ }
860
+ async _deleteInspections() {
861
+ var _a, _b, _c;
862
+ const allSelected = [
863
+ ...(((_a = this.gristWaitFail) === null || _a === void 0 ? void 0 : _a.selected) || []),
864
+ ...(((_b = this.gristRequest) === null || _b === void 0 ? void 0 : _b.selected) || []),
865
+ ...(((_c = this.gristPass) === null || _c === void 0 ? void 0 : _c.selected) || [])
866
+ ];
867
+ const ids = allSelected.map(record => record.id);
868
+ if (!ids.length) {
869
+ notify({ message: '삭제할 항목을 선택해주세요.', level: 'info' });
870
+ return;
871
+ }
872
+ if (confirm('삭제하시겠습니까?')) {
873
+ const response = await client.mutate({
874
+ mutation: gql `
875
+ mutation ($ids: [String!]!) {
876
+ deleteBuildingInspections(ids: $ids)
877
+ }
878
+ `,
879
+ variables: { ids }
880
+ });
881
+ if (!response.errors) {
882
+ this._refreshListGrists();
883
+ this._initBuildingLevel(this.buildingLevelId);
884
+ notify({ message: '삭제되었습니다.' });
885
+ }
886
+ }
887
+ }
888
+ _openCreateInspection() {
889
+ openPopup(html `
890
+ <inspection-with-checklist-create-popup
891
+ .projectId=${this.project.id}
892
+ .selectedBuildingId=${this.selectedBuilding.id}
893
+ .selectedBuildingLevelId=${this.buildingLevelId}
894
+ @requestRefresh="${() => {
895
+ this._initBuildingLevel(this.buildingLevelId);
896
+ this._getBuilding(this.selectedBuilding.id);
897
+ }}"
898
+ ></inspection-with-checklist-create-popup>
899
+ `, { backdrop: true, size: 'large', title: '검측 등록' });
900
+ }
901
+ _openFieldDocuments() {
902
+ openPopup(html `<field-document-popup .projectId=${this.projectId}></field-document-popup>`, {
903
+ backdrop: true,
904
+ size: 'full',
905
+ title: '현장 문서 확인'
906
+ });
907
+ }
908
+ async _openDrawingPopup(buildingInspection) {
909
+ const drawingImageProvider = new DrawingImageProvider();
910
+ const inspectionDrawingType = buildingInspection.inspectionDrawingType;
911
+ const drawingShapes = JSON.parse((buildingInspection === null || buildingInspection === void 0 ? void 0 : buildingInspection.drawingMarker) || null) || [];
912
+ const markers = await drawingImageProvider.getMarkers(inspectionDrawingType);
913
+ const imageUrl = String(inspectionDrawingType).normalize('NFC');
914
+ const shapes = [...drawingShapes, ...markers];
915
+ openPopup(html `<ox-image-marker-view
916
+ style="pointer-events: none;"
917
+ id="image-marker"
918
+ .imageUrl=${imageUrl}
919
+ .shapes=${shapes}
920
+ .imageProvider=${drawingImageProvider}
921
+ ></ox-image-marker-view>`, { backdrop: true, size: 'large', title: '검측 도면' });
922
+ }
923
+ async _openInspectionRequestDocument(buildingInspectionId) {
924
+ const buildingInspection = await getBuildingInspectionForChecklist(buildingInspectionId);
925
+ if (!buildingInspection.checklist.inspectionRequestUpdatedAt) {
926
+ notify({ message: '검측 요청서가 없습니다.', level: 'info' });
927
+ return;
928
+ }
929
+ openPopup(html `
930
+ <div style="overflow-y: auto;">
931
+ <inspection-request-document
932
+ .checklist=${buildingInspection.checklist}
933
+ .buildingInspection=${buildingInspection}
934
+ .mode=${InspectionMode.VIEW}
935
+ ></inspection-request-document>
936
+
937
+ ${buildingInspection.checklist.inspectionResultUpdatedAt
938
+ ? html `
939
+ <hr />
940
+ <inspection-result-notification
941
+ .checklist=${buildingInspection.checklist}
942
+ .buildingInspection=${buildingInspection}
943
+ .mode=${InspectionMode.VIEW}
944
+ ></inspection-result-notification>
945
+ `
946
+ : ''}
947
+ </div>
948
+ `, { backdrop: true, size: 'large', title: '검측요청결과 통보내용' });
949
+ }
950
+ async _openChecklistPopup(buildingInspectionId) {
951
+ var _a, _b;
952
+ const buildingInspection = await getBuildingInspectionForChecklist(buildingInspectionId);
953
+ openPopup(html `
954
+ <div style="overflow-y: auto;">
955
+ <checklist-view
956
+ .mode=${"VIEWER" /* ChecklistMode.VIEWER */}
957
+ .checklist=${buildingInspection === null || buildingInspection === void 0 ? void 0 : buildingInspection.checklist}
958
+ .buildingComplex=${((_b = (_a = buildingInspection === null || buildingInspection === void 0 ? void 0 : buildingInspection.buildingLevel) === null || _a === void 0 ? void 0 : _a.building) === null || _b === void 0 ? void 0 : _b.buildingComplex) || {}}
959
+ .status=${buildingInspection === null || buildingInspection === void 0 ? void 0 : buildingInspection.status}
960
+ .failCount=${(buildingInspection === null || buildingInspection === void 0 ? void 0 : buildingInspection.failCount) || 0}
961
+ .projectType=${this.project.projectType}
962
+ ></checklist-view>
963
+ </div>
964
+ `, { backdrop: true, size: 'large', title: '체크 리스트 미리보기' });
965
+ }
966
+ _openPhotoAlbumPopup(checklistId) {
967
+ openPopup(html `<photo-album-popup .checklistId=${checklistId}></photo-album-popup>`, {
968
+ backdrop: true,
969
+ size: 'large',
970
+ title: '사진대지'
971
+ });
972
+ }
973
+ _showNameListPreview(record) {
974
+ const nameListAttachment = record.nameListAttachment;
975
+ if (!nameListAttachment) {
976
+ notify({ message: '실명부 파일이 없습니다.', level: 'info' });
977
+ return;
978
+ }
979
+ openPopup(html `
980
+ <image-preview-popup
981
+ .images=${[{ fullpath: nameListAttachment.fullpath, name: nameListAttachment.name }]}
982
+ .currentIndex=${0}
983
+ ></image-preview-popup>
984
+ `, { backdrop: true, size: 'large', title: '실명부' });
985
+ }
986
+ async _refreshCalendar() {
987
+ this.calendarData = new InspectionEventProvider(this.buildingLevelId, this.project.id);
988
+ await this._fetchDailyWorklog(this.selectedDate);
989
+ }
990
+ async _fetchDailyWorklog(date = '') {
991
+ var _a;
992
+ if (!date || !this.project.id)
993
+ return;
994
+ const response = await client.query({
995
+ query: gql `
996
+ query ($projectId: String!, $date: String!) {
997
+ buildingInspectionDailyWorklogByProjectIdAndDate(projectId: $projectId, date: $date) {
998
+ id
999
+ date
1000
+ documentNo
1001
+ worklogs
1002
+ memo
1003
+ directiveMemo
1004
+ taskSupervisorySignature
1005
+ overallSupervisorySignature
1006
+
1007
+ taskSupervisory {
1008
+ id
1009
+ name
1010
+ }
1011
+ overallSupervisory {
1012
+ id
1013
+ name
1014
+ }
1015
+
1016
+ buildingInspections {
1017
+ id
1018
+
1019
+ checklist {
1020
+ overallSupervisorySignature
1021
+ taskSupervisorySignature
1022
+ taskSupervisory {
1023
+ id
1024
+ name
1025
+ }
1026
+ overallSupervisory {
1027
+ id
1028
+ name
1029
+ }
1030
+ }
1031
+ }
1032
+ }
1033
+ }
1034
+ `,
1035
+ variables: { projectId: this.project.id, date }
1036
+ });
1037
+ this.dailyWorklog = ((_a = response.data) === null || _a === void 0 ? void 0 : _a.buildingInspectionDailyWorklogByProjectIdAndDate) || {};
1038
+ }
1039
+ };
1040
+ BuildingInspectionManagement.styles = [
1041
+ ScrollbarStyles,
1042
+ CommonGristStyles,
1043
+ css `
1044
+ :host {
1045
+ display: grid;
1046
+ grid-template-rows: 55px 1fr;
1047
+ color: #4e5055;
1048
+
1049
+ width: 100%;
1050
+ height: 100%;
1051
+ background-color: var(--md-sys-color-background, #f6f6f6);
1052
+ overflow: hidden;
1053
+ }
1054
+
1055
+ md-filled-button {
1056
+ --md-filled-button-container-color: #0595e5;
1057
+ --md-filled-button-container-height: 30px;
1058
+ --md-filled-button-trailing-space: 15px;
1059
+ --md-filled-button-leading-space: 15px;
1060
+ }
1061
+
1062
+ md-filled-button[green] {
1063
+ --md-filled-button-container-color: #008000;
1064
+ }
1065
+
1066
+ md-outlined-button {
1067
+ --md-outlined-button-container-height: 30px;
1068
+ --md-outlined-button-trailing-space: var(--spacing-medium, 8px);
1069
+ --md-outlined-button-leading-space: var(--spacing-medium, 8px);
1070
+ --md-sys-color-outline: rgba(51, 51, 51, 0.2);
1071
+ }
1072
+
1073
+ *[bold] {
1074
+ font-weight: bold;
1075
+ }
1076
+
1077
+ div[header] {
1078
+ display: flex;
1079
+ margin: 0px var(--spacing-large, 12px);
1080
+
1081
+ h2 {
1082
+ display: flex;
1083
+ gap: 7px;
1084
+ flex: 0.5;
1085
+ color: #3f71a0;
1086
+ font-size: 18px;
1087
+
1088
+ md-icon[back] {
1089
+ background: linear-gradient(135deg, #3f71a0 0%, #5a8cc7 100%);
1090
+ color: white;
1091
+ padding: 8px;
1092
+ border-radius: 50%;
1093
+ cursor: pointer;
1094
+ box-shadow: 0 2px 8px rgba(63, 113, 160, 0.3);
1095
+ width: 14px;
1096
+ height: 14px;
1097
+ --md-icon-size: 20px;
1098
+ }
1099
+
1100
+ md-icon[back]:hover {
1101
+ background: linear-gradient(135deg, #2e5c89 0%, #4a7bb0 100%);
1102
+ box-shadow: 0 4px 12px rgba(63, 113, 160, 0.4);
1103
+ }
1104
+ }
1105
+ }
1106
+
1107
+ div[header] div[button-container] {
1108
+ display: flex;
1109
+ align-items: center;
1110
+ justify-content: end;
1111
+ flex: 0.5;
1112
+ }
1113
+
1114
+ div[body] {
1115
+ display: grid;
1116
+ grid-template-columns: 4fr 6fr;
1117
+ margin: var(--spacing-large, 12px);
1118
+ margin-top: 0;
1119
+ gap: var(--spacing-medium, 8px);
1120
+ overflow: hidden;
1121
+ }
1122
+
1123
+ h3 {
1124
+ color: #2e79be;
1125
+ font-size: 16px;
1126
+ margin: 0px;
1127
+ }
1128
+
1129
+ div[body] > div {
1130
+ display: flex;
1131
+ gap: var(--spacing-medium, 8px);
1132
+ padding: var(--spacing-large, 12px);
1133
+ border-radius: 5px;
1134
+ }
1135
+
1136
+ div[left] {
1137
+ flex-direction: column;
1138
+ background-color: var(--md-sys-color-on-primary);
1139
+ border: 1px solid #cccccc80;
1140
+ overflow-y: auto;
1141
+ }
1142
+
1143
+ div[subject] {
1144
+ margin-bottom: var(--spacing-small, 4px);
1145
+ }
1146
+
1147
+ div[building-container] {
1148
+ display: block;
1149
+
1150
+ & > * {
1151
+ margin-right: var(--spacing-medium, 8px);
1152
+ margin-bottom: var(--spacing-medium, 8px);
1153
+ }
1154
+ }
1155
+
1156
+ div[right] {
1157
+ height: auto;
1158
+ overflow-x: hidden;
1159
+ overflow-y: auto;
1160
+ flex-direction: column;
1161
+ position: relative;
1162
+ }
1163
+
1164
+ ox-select-floor {
1165
+ width: 100%;
1166
+ align-content: flex-end;
1167
+
1168
+ --ox-select-floor-rotate-x: 60deg;
1169
+ --ox-select-floor-rotate-x-active: 30deg;
1170
+ --ox-select-floor-perspective: 1200px;
1171
+
1172
+ user-select: none;
1173
+ overflow-y: auto;
1174
+ flex: 1;
1175
+ }
1176
+
1177
+ div[status] {
1178
+ display: flex;
1179
+ position: absolute;
1180
+ right: 0px;
1181
+ bottom: 0px;
1182
+ align-items: center;
1183
+ z-index: 2;
1184
+ right: 3%;
1185
+ }
1186
+
1187
+ div[status] > div[content] {
1188
+ display: flex;
1189
+ background-color: #4e5055;
1190
+ color: #fff;
1191
+ padding: var(--spacing-small, 4px) var(--spacing-medium, 8px);
1192
+ border-radius: 5px;
1193
+ gap: var(--spacing-medium, 8px);
1194
+ font-size: 14px;
1195
+ }
1196
+
1197
+ div[status] span {
1198
+ display: flex;
1199
+ align-items: center;
1200
+ width: 40px;
1201
+ font-weight: bold;
1202
+ }
1203
+
1204
+ div[status] md-icon {
1205
+ width: 16px;
1206
+ height: 16px;
1207
+ margin-right: var(--spacing-small, 4px);
1208
+ border-radius: 5px;
1209
+ font-size: 16px;
1210
+ font-weight: 700;
1211
+ }
1212
+ div[status] md-icon[wait] {
1213
+ background-color: #f7f7f7;
1214
+ color: #4e5055;
1215
+ }
1216
+ div[status] md-icon[request] {
1217
+ background-color: #f7f7f7;
1218
+ color: #4e5055;
1219
+ }
1220
+ div[status] md-icon[pass] {
1221
+ background-color: #4bbb4a;
1222
+ }
1223
+ div[status] md-icon[fail] {
1224
+ background-color: #ff4444;
1225
+ }
1226
+
1227
+ span[name] {
1228
+ color: #4e5055;
1229
+ margin-left: var(--spacing-small, 4px);
1230
+ padding: var(--spacing-tiny, 2px) var(--spacing-small, 4px);
1231
+ }
1232
+
1233
+ span[name][active] {
1234
+ color: var(--md-sys-color-on-error);
1235
+ background-color: var(--md-sys-color-error);
1236
+ border-radius: 5px;
1237
+ opacity: 0.7;
1238
+ }
1239
+
1240
+ /* 오른쪽 패널 */
1241
+ div[right-panel] {
1242
+ display: flex;
1243
+ flex-direction: column;
1244
+ overflow: hidden;
1245
+ }
1246
+
1247
+ div[scope-header] {
1248
+ display: flex;
1249
+ align-items: center;
1250
+ gap: var(--spacing-medium, 8px);
1251
+ margin-bottom: var(--spacing-small, 4px);
1252
+
1253
+ h3 {
1254
+ margin: 0;
1255
+ }
1256
+
1257
+ span[scope-label] {
1258
+ font-size: 12px;
1259
+ color: #888;
1260
+ background: #f0f0f0;
1261
+ padding: 2px 8px;
1262
+ border-radius: 4px;
1263
+ }
1264
+ }
1265
+
1266
+ div[inspection-container] {
1267
+ gap: var(--spacing-medium, 8px);
1268
+ display: flex;
1269
+ flex-direction: column;
1270
+ flex: 1;
1271
+ min-height: 0;
1272
+
1273
+ div[inspection] {
1274
+ display: grid;
1275
+ grid-template-columns: 90px 1fr 1fr 1fr 1fr 1fr;
1276
+ background: #ebc8321a;
1277
+ border-radius: 5px;
1278
+ padding: var(--spacing-medium, 8px) var(--spacing-large, 12px);
1279
+
1280
+ & > div {
1281
+ display: flex;
1282
+ flex-direction: column;
1283
+ align-items: center;
1284
+ justify-content: center;
1285
+
1286
+ span::before {
1287
+ display: inline-block;
1288
+ position: relative;
1289
+ content: '';
1290
+ width: 10px;
1291
+ height: 10px;
1292
+ border-radius: 6px;
1293
+ top: -1px;
1294
+ margin-right: 2px;
1295
+ }
1296
+
1297
+ span[status='wait']::before {
1298
+ background-color: #4e5055;
1299
+ }
1300
+ span[status='request']::before {
1301
+ background-color: #2e79be;
1302
+ }
1303
+ span[status='pass']::before {
1304
+ background-color: #1bb401;
1305
+ }
1306
+ span[status='fail']::before {
1307
+ background-color: #ff4444;
1308
+ }
1309
+ span[status='re-wait']::before {
1310
+ background-color: #e89c0e;
1311
+ }
1312
+ }
1313
+ & > div[name] {
1314
+ flex-direction: row;
1315
+ text-align: right;
1316
+ gap: var(--spacing-small, 4px);
1317
+ padding-right: var(--spacing-large, 12px);
1318
+ border-right: 2px dotted #ccc;
1319
+ max-width: 100%;
1320
+ line-height: 1.3;
1321
+
1322
+ md-icon {
1323
+ width: 40px;
1324
+ height: 40px;
1325
+ border-radius: 5px;
1326
+ color: #fff;
1327
+ background: #f16154;
1328
+ }
1329
+ }
1330
+ }
1331
+ }
1332
+
1333
+ div[view-toggle] {
1334
+ display: flex;
1335
+ justify-content: flex-end;
1336
+ gap: var(--spacing-small, 4px);
1337
+
1338
+ md-icon {
1339
+ cursor: pointer;
1340
+ padding: 4px;
1341
+ border-radius: 4px;
1342
+ font-size: 24px;
1343
+ }
1344
+
1345
+ md-icon[active] {
1346
+ background-color: #0595e5;
1347
+ color: white;
1348
+ }
1349
+ }
1350
+
1351
+ ox-event-view {
1352
+ flex: 1;
1353
+ overflow-y: auto;
1354
+ --calendar-monthly-date-min-height: 50px;
1355
+ height: 100%;
1356
+ }
1357
+
1358
+ div[calendar-wrapper] {
1359
+ flex: 1;
1360
+ min-height: 0;
1361
+ overflow-y: auto;
1362
+ }
1363
+
1364
+ div[list-wrapper] {
1365
+ flex: 1;
1366
+ min-height: 0;
1367
+ overflow-y: auto;
1368
+ }
1369
+
1370
+ div[action-buttons] {
1371
+ flex-shrink: 0;
1372
+ }
1373
+
1374
+ div[list-view] {
1375
+ display: flex;
1376
+ flex-direction: column;
1377
+ gap: var(--spacing-medium, 8px);
1378
+ overflow-y: auto;
1379
+ flex: 1;
1380
+ }
1381
+
1382
+ div[list-section] {
1383
+ display: flex;
1384
+ flex-direction: column;
1385
+ gap: 6px;
1386
+
1387
+ h3[section-title] {
1388
+ color: #e15757;
1389
+ font-size: 14px;
1390
+ margin: 0;
1391
+ }
1392
+
1393
+ h3[section-title][blue] {
1394
+ color: #3395f1;
1395
+ }
1396
+
1397
+ h3[section-title][green] {
1398
+ color: #1bb401;
1399
+ }
1400
+ }
1401
+
1402
+ ox-grist {
1403
+ padding: 0px 16px 10px;
1404
+ }
1405
+
1406
+ div[action-buttons] {
1407
+ display: flex;
1408
+ justify-content: center;
1409
+ gap: var(--spacing-medium, 8px);
1410
+ padding: var(--spacing-medium, 8px) 0;
1411
+
1412
+ md-filled-button {
1413
+ --md-filled-button-container-height: 40px;
1414
+ --md-filled-button-trailing-space: 20px;
1415
+ --md-filled-button-leading-space: 20px;
1416
+ }
1417
+
1418
+ md-filled-button[green] {
1419
+ --md-filled-button-container-color: #008000;
1420
+ }
1421
+
1422
+ md-filled-button[red] {
1423
+ --md-filled-button-container-color: #e15757;
1424
+ }
1425
+
1426
+ md-filled-button[navy] {
1427
+ --md-filled-button-container-color: #3f71a0;
1428
+ }
1429
+
1430
+ md-filled-button[navy-light] {
1431
+ --md-filled-button-container-color: #2e8b8b;
1432
+ }
1433
+ }
1434
+ `
1435
+ ];
1436
+ __decorate([
1437
+ state(),
1438
+ __metadata("design:type", String)
1439
+ ], BuildingInspectionManagement.prototype, "projectId", void 0);
1440
+ __decorate([
1441
+ state(),
1442
+ __metadata("design:type", Object)
1443
+ ], BuildingInspectionManagement.prototype, "project", void 0);
1444
+ __decorate([
1445
+ state(),
1446
+ __metadata("design:type", Object)
1447
+ ], BuildingInspectionManagement.prototype, "selectedBuilding", void 0);
1448
+ __decorate([
1449
+ state(),
1450
+ __metadata("design:type", Object)
1451
+ ], BuildingInspectionManagement.prototype, "building", void 0);
1452
+ __decorate([
1453
+ state(),
1454
+ __metadata("design:type", Number)
1455
+ ], BuildingInspectionManagement.prototype, "currentFloor", void 0);
1456
+ __decorate([
1457
+ state(),
1458
+ __metadata("design:type", String)
1459
+ ], BuildingInspectionManagement.prototype, "buildingLevelId", void 0);
1460
+ __decorate([
1461
+ state(),
1462
+ __metadata("design:type", Object)
1463
+ ], BuildingInspectionManagement.prototype, "buildingInspectionSummary", void 0);
1464
+ __decorate([
1465
+ state(),
1466
+ __metadata("design:type", Object)
1467
+ ], BuildingInspectionManagement.prototype, "calendarData", void 0);
1468
+ __decorate([
1469
+ state(),
1470
+ __metadata("design:type", String)
1471
+ ], BuildingInspectionManagement.prototype, "selectedYearMonth", void 0);
1472
+ __decorate([
1473
+ state(),
1474
+ __metadata("design:type", String)
1475
+ ], BuildingInspectionManagement.prototype, "selectedDate", void 0);
1476
+ __decorate([
1477
+ state(),
1478
+ __metadata("design:type", Object)
1479
+ ], BuildingInspectionManagement.prototype, "dailyWorklog", void 0);
1480
+ __decorate([
1481
+ state(),
1482
+ __metadata("design:type", String)
1483
+ ], BuildingInspectionManagement.prototype, "viewMode", void 0);
1484
+ __decorate([
1485
+ state(),
1486
+ __metadata("design:type", Object)
1487
+ ], BuildingInspectionManagement.prototype, "gristConfig", void 0);
1488
+ __decorate([
1489
+ query('div[left]'),
1490
+ __metadata("design:type", HTMLElement)
1491
+ ], BuildingInspectionManagement.prototype, "leftPanel", void 0);
1492
+ __decorate([
1493
+ query('ox-grist[section="wait-fail"]'),
1494
+ __metadata("design:type", DataGrist)
1495
+ ], BuildingInspectionManagement.prototype, "gristWaitFail", void 0);
1496
+ __decorate([
1497
+ query('ox-grist[section="request"]'),
1498
+ __metadata("design:type", DataGrist)
1499
+ ], BuildingInspectionManagement.prototype, "gristRequest", void 0);
1500
+ __decorate([
1501
+ query('ox-grist[section="pass"]'),
1502
+ __metadata("design:type", DataGrist)
1503
+ ], BuildingInspectionManagement.prototype, "gristPass", void 0);
1504
+ __decorate([
1505
+ query('ox-event-view'),
1506
+ __metadata("design:type", HTMLElement)
1507
+ ], BuildingInspectionManagement.prototype, "eventView", void 0);
1508
+ BuildingInspectionManagement = __decorate([
1509
+ customElement('building-inspection-management')
1510
+ ], BuildingInspectionManagement);
1511
+ export { BuildingInspectionManagement };
1512
+ //# sourceMappingURL=building-inspection-management.js.map