@dssp/supervision 1.0.0-alpha.9 → 1.0.0-alpha.93

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