@dssp/supervision 1.0.0-alpha.7 → 1.0.0-alpha.74

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 (324) 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 +72 -0
  26. package/dist-client/pages/building-inspection/building-inspection-management.js +1256 -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/image-preview-popup.d.ts +15 -0
  35. package/dist-client/pages/building-inspection/component/image-preview-popup.js +348 -0
  36. package/dist-client/pages/building-inspection/component/image-preview-popup.js.map +1 -0
  37. package/dist-client/pages/building-inspection/component/inspection-document/inspection-request-document.d.ts +25 -0
  38. package/dist-client/pages/building-inspection/component/inspection-document/inspection-request-document.js +491 -0
  39. package/dist-client/pages/building-inspection/component/inspection-document/inspection-request-document.js.map +1 -0
  40. package/dist-client/pages/building-inspection/component/inspection-document/inspection-result-notification.d.ts +31 -0
  41. package/dist-client/pages/building-inspection/component/inspection-document/inspection-result-notification.js +485 -0
  42. package/dist-client/pages/building-inspection/component/inspection-document/inspection-result-notification.js.map +1 -0
  43. package/dist-client/pages/building-inspection/component/inspection-document/photo-album-popup.d.ts +27 -0
  44. package/dist-client/pages/building-inspection/component/inspection-document/photo-album-popup.js +416 -0
  45. package/dist-client/pages/building-inspection/component/inspection-document/photo-album-popup.js.map +1 -0
  46. package/dist-client/pages/building-inspection/component/inspection-event-provider.d.ts +2 -1
  47. package/dist-client/pages/building-inspection/component/inspection-event-provider.js +42 -18
  48. package/dist-client/pages/building-inspection/component/inspection-event-provider.js.map +1 -1
  49. package/dist-client/pages/building-inspection/inspection-create-popup.js +17 -5
  50. package/dist-client/pages/building-inspection/inspection-create-popup.js.map +1 -1
  51. package/dist-client/pages/building-inspection/inspection-with-checklist-create-popup.d.ts +3 -0
  52. package/dist-client/pages/building-inspection/inspection-with-checklist-create-popup.js +791 -0
  53. package/dist-client/pages/building-inspection/inspection-with-checklist-create-popup.js.map +1 -0
  54. package/dist-client/pages/building-inspection-grid/building-inspection-grid-detail.d.ts +16 -2
  55. package/dist-client/pages/building-inspection-grid/building-inspection-grid-detail.js +249 -45
  56. package/dist-client/pages/building-inspection-grid/building-inspection-grid-detail.js.map +1 -1
  57. package/dist-client/pages/building-inspection-grid/component/grid-inspection-create-popup.js +9 -3
  58. package/dist-client/pages/building-inspection-grid/component/grid-inspection-create-popup.js.map +1 -1
  59. package/dist-client/pages/building-inspection-grid/component/grid-inspection-list-layer.d.ts +19 -0
  60. package/dist-client/pages/building-inspection-grid/component/grid-inspection-list-layer.js +205 -0
  61. package/dist-client/pages/building-inspection-grid/component/grid-inspection-list-layer.js.map +1 -0
  62. package/dist-client/pages/checklist/attachment-list-popup.d.ts +1 -0
  63. package/dist-client/pages/checklist/attachment-list-popup.js +251 -69
  64. package/dist-client/pages/checklist/attachment-list-popup.js.map +1 -1
  65. package/dist-client/pages/checklist/checklist-view.d.ts +5 -0
  66. package/dist-client/pages/checklist/checklist-view.js +191 -30
  67. package/dist-client/pages/checklist/checklist-view.js.map +1 -1
  68. package/dist-client/pages/checklist/comment-list-popup.js +15 -5
  69. package/dist-client/pages/checklist/comment-list-popup.js.map +1 -1
  70. package/dist-client/pages/checklist/file-preview-popup.js +0 -1
  71. package/dist-client/pages/checklist/file-preview-popup.js.map +1 -1
  72. package/dist-client/pages/checklist/inspection-info-popup.d.ts +49 -0
  73. package/dist-client/pages/checklist/inspection-info-popup.js +683 -0
  74. package/dist-client/pages/checklist/inspection-info-popup.js.map +1 -0
  75. package/dist-client/pages/checklist/inspection-tab-popup.d.ts +18 -0
  76. package/dist-client/pages/checklist/inspection-tab-popup.js +196 -0
  77. package/dist-client/pages/checklist/inspection-tab-popup.js.map +1 -0
  78. package/dist-client/pages/checklist-database/checklist-database.d.ts +35 -0
  79. package/dist-client/pages/checklist-database/checklist-database.js +539 -0
  80. package/dist-client/pages/checklist-database/checklist-database.js.map +1 -0
  81. package/dist-client/pages/checklist-template/checklist-template-item.js +39 -3
  82. package/dist-client/pages/checklist-template/checklist-template-item.js.map +1 -1
  83. package/dist-client/pages/checklist-template/checklist-template-list.js +1 -1
  84. package/dist-client/pages/checklist-template/checklist-template-list.js.map +1 -1
  85. package/dist-client/pages/checklist-template/construction-checklist-template-item-popup.d.ts +2 -0
  86. package/dist-client/pages/checklist-template/construction-checklist-template-item-popup.js +242 -0
  87. package/dist-client/pages/checklist-template/construction-checklist-template-item-popup.js.map +1 -0
  88. package/dist-client/pages/checklist-template/construction-checklist-template-list.d.ts +55 -0
  89. package/dist-client/pages/checklist-template/construction-checklist-template-list.js +409 -0
  90. package/dist-client/pages/checklist-template/construction-checklist-template-list.js.map +1 -0
  91. package/dist-client/pages/issue/issue-list-page.d.ts +1 -2
  92. package/dist-client/pages/issue/issue-list-page.js +1 -2
  93. package/dist-client/pages/issue/issue-list-page.js.map +1 -1
  94. package/dist-client/pages/project-checklist/project-checklist-management.d.ts +50 -0
  95. package/dist-client/pages/project-checklist/project-checklist-management.js +910 -0
  96. package/dist-client/pages/project-checklist/project-checklist-management.js.map +1 -0
  97. package/dist-client/pages/project-report/project-report-list-page.d.ts +1 -2
  98. package/dist-client/pages/project-report/project-report-list-page.js +1 -2
  99. package/dist-client/pages/project-report/project-report-list-page.js.map +1 -1
  100. package/dist-client/pages/supervisor/supervisor-list-page.d.ts +1 -2
  101. package/dist-client/pages/supervisor/supervisor-list-page.js +1 -2
  102. package/dist-client/pages/supervisor/supervisor-list-page.js.map +1 -1
  103. package/dist-client/route.d.ts +1 -1
  104. package/dist-client/route.js +18 -0
  105. package/dist-client/route.js.map +1 -1
  106. package/dist-client/stt/speech-to-text.d.ts +13 -8
  107. package/dist-client/stt/speech-to-text.js +282 -40
  108. package/dist-client/stt/speech-to-text.js.map +1 -1
  109. package/dist-client/tsconfig.tsbuildinfo +1 -1
  110. package/dist-server/service/action-plan/action-plan-mutation.js +5 -6
  111. package/dist-server/service/action-plan/action-plan-mutation.js.map +1 -1
  112. package/dist-server/service/action-plan/action-plan-query.d.ts +2 -2
  113. package/dist-server/service/action-plan/action-plan-query.js +5 -11
  114. package/dist-server/service/action-plan/action-plan-query.js.map +1 -1
  115. package/dist-server/service/building-inspection/building-inspection-mutation.d.ts +2 -3
  116. package/dist-server/service/building-inspection/building-inspection-mutation.js +77 -39
  117. package/dist-server/service/building-inspection/building-inspection-mutation.js.map +1 -1
  118. package/dist-server/service/building-inspection/building-inspection-query.d.ts +5 -7
  119. package/dist-server/service/building-inspection/building-inspection-query.js +54 -52
  120. package/dist-server/service/building-inspection/building-inspection-query.js.map +1 -1
  121. package/dist-server/service/building-inspection/building-inspection-type.d.ts +26 -7
  122. package/dist-server/service/building-inspection/building-inspection-type.js +92 -13
  123. package/dist-server/service/building-inspection/building-inspection-type.js.map +1 -1
  124. package/dist-server/service/building-inspection/building-inspection.d.ts +5 -0
  125. package/dist-server/service/building-inspection/building-inspection.js +37 -4
  126. package/dist-server/service/building-inspection/building-inspection.js.map +1 -1
  127. package/dist-server/service/building-inspection/index.d.ts +3 -4
  128. package/dist-server/service/building-inspection/index.js +10 -3
  129. package/dist-server/service/building-inspection/index.js.map +1 -1
  130. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-mutation.d.ts +6 -0
  131. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-mutation.js +56 -0
  132. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-mutation.js.map +1 -0
  133. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-query.d.ts +16 -0
  134. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-query.js +171 -0
  135. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-query.js.map +1 -0
  136. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-type.d.ts +23 -0
  137. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-type.js +90 -0
  138. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-type.js.map +1 -0
  139. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog.d.ts +33 -0
  140. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog.js +132 -0
  141. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog.js.map +1 -0
  142. package/dist-server/service/building-inspection-daily-worklog/index.d.ts +5 -0
  143. package/dist-server/service/building-inspection-daily-worklog/index.js +9 -0
  144. package/dist-server/service/building-inspection-daily-worklog/index.js.map +1 -0
  145. package/dist-server/service/building-inspection-history/building-inspection-history-query.d.ts +16 -0
  146. package/dist-server/service/building-inspection-history/building-inspection-history-query.js +120 -0
  147. package/dist-server/service/building-inspection-history/building-inspection-history-query.js.map +1 -0
  148. package/dist-server/service/building-inspection-history/building-inspection-history-type.d.ts +5 -0
  149. package/dist-server/service/building-inspection-history/building-inspection-history-type.js +21 -0
  150. package/dist-server/service/building-inspection-history/building-inspection-history-type.js.map +1 -0
  151. package/dist-server/service/building-inspection-history/building-inspection-history.d.ts +35 -0
  152. package/dist-server/service/building-inspection-history/building-inspection-history.js +162 -0
  153. package/dist-server/service/building-inspection-history/building-inspection-history.js.map +1 -0
  154. package/dist-server/service/building-inspection-history/event-subscriber.d.ts +7 -0
  155. package/dist-server/service/building-inspection-history/event-subscriber.js +21 -0
  156. package/dist-server/service/building-inspection-history/event-subscriber.js.map +1 -0
  157. package/dist-server/service/building-inspection-history/index.d.ts +6 -0
  158. package/dist-server/service/building-inspection-history/index.js +10 -0
  159. package/dist-server/service/building-inspection-history/index.js.map +1 -0
  160. package/dist-server/service/checklist/checklist-mutation.d.ts +0 -5
  161. package/dist-server/service/checklist/checklist-mutation.js +1 -67
  162. package/dist-server/service/checklist/checklist-mutation.js.map +1 -1
  163. package/dist-server/service/checklist/checklist-query.d.ts +7 -0
  164. package/dist-server/service/checklist/checklist-query.js +83 -0
  165. package/dist-server/service/checklist/checklist-query.js.map +1 -1
  166. package/dist-server/service/checklist/checklist-type.d.ts +0 -13
  167. package/dist-server/service/checklist/checklist-type.js +1 -49
  168. package/dist-server/service/checklist/checklist-type.js.map +1 -1
  169. package/dist-server/service/checklist/checklist.d.ts +28 -3
  170. package/dist-server/service/checklist/checklist.js +89 -15
  171. package/dist-server/service/checklist/checklist.js.map +1 -1
  172. package/dist-server/service/checklist/event-subscriber.d.ts +7 -0
  173. package/dist-server/service/checklist/event-subscriber.js +21 -0
  174. package/dist-server/service/checklist/event-subscriber.js.map +1 -0
  175. package/dist-server/service/checklist/index.d.ts +1 -2
  176. package/dist-server/service/checklist/index.js +1 -2
  177. package/dist-server/service/checklist/index.js.map +1 -1
  178. package/dist-server/service/checklist-history/checklist-history-query.d.ts +11 -0
  179. package/dist-server/service/checklist-history/checklist-history-query.js +77 -0
  180. package/dist-server/service/checklist-history/checklist-history-query.js.map +1 -0
  181. package/dist-server/service/checklist-history/checklist-history-type.d.ts +5 -0
  182. package/dist-server/service/checklist-history/checklist-history-type.js +21 -0
  183. package/dist-server/service/checklist-history/checklist-history-type.js.map +1 -0
  184. package/dist-server/service/{checklist → checklist-history}/checklist-history.d.ts +19 -1
  185. package/dist-server/service/{checklist → checklist-history}/checklist-history.js +97 -14
  186. package/dist-server/service/checklist-history/checklist-history.js.map +1 -0
  187. package/dist-server/service/checklist-history/event-subscriber.d.ts +7 -0
  188. package/dist-server/service/checklist-history/event-subscriber.js +21 -0
  189. package/dist-server/service/checklist-history/event-subscriber.js.map +1 -0
  190. package/dist-server/service/checklist-history/index.d.ts +6 -0
  191. package/dist-server/service/checklist-history/index.js +10 -0
  192. package/dist-server/service/checklist-history/index.js.map +1 -0
  193. package/dist-server/service/checklist-item/checklist-item-query.d.ts +1 -1
  194. package/dist-server/service/checklist-item/checklist-item-query.js +5 -3
  195. package/dist-server/service/checklist-item/checklist-item-query.js.map +1 -1
  196. package/dist-server/service/checklist-item/index.d.ts +0 -1
  197. package/dist-server/service/checklist-item/index.js +1 -2
  198. package/dist-server/service/checklist-item/index.js.map +1 -1
  199. package/dist-server/service/checklist-item-comment/checklist-item-comment-mutation.d.ts +1 -0
  200. package/dist-server/service/checklist-item-comment/checklist-item-comment-mutation.js +33 -6
  201. package/dist-server/service/checklist-item-comment/checklist-item-comment-mutation.js.map +1 -1
  202. package/dist-server/service/checklist-item-history/checklist-item-history-query.d.ts +16 -0
  203. package/dist-server/service/checklist-item-history/checklist-item-history-query.js +123 -0
  204. package/dist-server/service/checklist-item-history/checklist-item-history-query.js.map +1 -0
  205. package/dist-server/service/checklist-item-history/checklist-item-history-type.d.ts +5 -0
  206. package/dist-server/service/checklist-item-history/checklist-item-history-type.js +21 -0
  207. package/dist-server/service/checklist-item-history/checklist-item-history-type.js.map +1 -0
  208. package/dist-server/service/checklist-item-history/checklist-item-history.d.ts +25 -0
  209. package/dist-server/service/checklist-item-history/checklist-item-history.js +123 -0
  210. package/dist-server/service/checklist-item-history/checklist-item-history.js.map +1 -0
  211. package/dist-server/service/checklist-item-history/event-subscriber.d.ts +7 -0
  212. package/dist-server/service/checklist-item-history/event-subscriber.js +21 -0
  213. package/dist-server/service/checklist-item-history/event-subscriber.js.map +1 -0
  214. package/dist-server/service/checklist-item-history/index.d.ts +6 -0
  215. package/dist-server/service/checklist-item-history/index.js +10 -0
  216. package/dist-server/service/checklist-item-history/index.js.map +1 -0
  217. package/dist-server/service/checklist-template/checklist-template-query.d.ts +1 -1
  218. package/dist-server/service/checklist-template/checklist-template-query.js +2 -5
  219. package/dist-server/service/checklist-template/checklist-template-query.js.map +1 -1
  220. package/dist-server/service/checklist-template-item/checklist-template-item-mutation.js +13 -1
  221. package/dist-server/service/checklist-template-item/checklist-template-item-mutation.js.map +1 -1
  222. package/dist-server/service/checklist-template-item/checklist-template-item-type.d.ts +3 -0
  223. package/dist-server/service/checklist-template-item/checklist-template-item-type.js +9 -0
  224. package/dist-server/service/checklist-template-item/checklist-template-item-type.js.map +1 -1
  225. package/dist-server/service/checklist-template-item/checklist-template-item.d.ts +7 -0
  226. package/dist-server/service/checklist-template-item/checklist-template-item.js +22 -2
  227. package/dist-server/service/checklist-template-item/checklist-template-item.js.map +1 -1
  228. package/dist-server/service/checklist-template-item/spec-matching-service.d.ts +2 -0
  229. package/dist-server/service/checklist-template-item/spec-matching-service.js +51 -0
  230. package/dist-server/service/checklist-template-item/spec-matching-service.js.map +1 -0
  231. package/dist-server/service/checklist-type/checklist-type-query.d.ts +1 -1
  232. package/dist-server/service/checklist-type/checklist-type-query.js +2 -5
  233. package/dist-server/service/checklist-type/checklist-type-query.js.map +1 -1
  234. package/dist-server/service/construction-checklist-template/construction-checklist-template-mutation.d.ts +7 -0
  235. package/dist-server/service/construction-checklist-template/construction-checklist-template-mutation.js +107 -0
  236. package/dist-server/service/construction-checklist-template/construction-checklist-template-mutation.js.map +1 -0
  237. package/dist-server/service/construction-checklist-template/construction-checklist-template-query.d.ts +10 -0
  238. package/dist-server/service/construction-checklist-template/construction-checklist-template-query.js +62 -0
  239. package/dist-server/service/construction-checklist-template/construction-checklist-template-query.js.map +1 -0
  240. package/dist-server/service/construction-checklist-template/construction-checklist-template-type.d.ts +11 -0
  241. package/dist-server/service/construction-checklist-template/construction-checklist-template-type.js +43 -0
  242. package/dist-server/service/construction-checklist-template/construction-checklist-template-type.js.map +1 -0
  243. package/dist-server/service/construction-checklist-template/construction-checklist-template.d.ts +18 -0
  244. package/dist-server/service/construction-checklist-template/construction-checklist-template.js +80 -0
  245. package/dist-server/service/construction-checklist-template/construction-checklist-template.js.map +1 -0
  246. package/dist-server/service/construction-checklist-template/index.d.ts +5 -0
  247. package/dist-server/service/construction-checklist-template/index.js +9 -0
  248. package/dist-server/service/construction-checklist-template/index.js.map +1 -0
  249. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-mutation.d.ts +6 -0
  250. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-mutation.js +60 -0
  251. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-mutation.js.map +1 -0
  252. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-query.d.ts +9 -0
  253. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-query.js +53 -0
  254. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-query.js.map +1 -0
  255. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-type.d.ts +17 -0
  256. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-type.js +67 -0
  257. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item-type.js.map +1 -0
  258. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item.d.ts +24 -0
  259. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item.js +113 -0
  260. package/dist-server/service/construction-checklist-template-item/construction-checklist-template-item.js.map +1 -0
  261. package/dist-server/service/construction-checklist-template-item/index.d.ts +5 -0
  262. package/dist-server/service/construction-checklist-template-item/index.js +9 -0
  263. package/dist-server/service/construction-checklist-template-item/index.js.map +1 -0
  264. package/dist-server/service/construction-checklist-template-item/spec-matching-service.d.ts +2 -0
  265. package/dist-server/service/construction-checklist-template-item/spec-matching-service.js +50 -0
  266. package/dist-server/service/construction-checklist-template-item/spec-matching-service.js.map +1 -0
  267. package/dist-server/service/index.d.ts +8 -1
  268. package/dist-server/service/index.js +38 -3
  269. package/dist-server/service/index.js.map +1 -1
  270. package/dist-server/service/issue/issue-mutation.js +5 -6
  271. package/dist-server/service/issue/issue-mutation.js.map +1 -1
  272. package/dist-server/service/issue/issue-query.d.ts +2 -2
  273. package/dist-server/service/issue/issue-query.js +5 -11
  274. package/dist-server/service/issue/issue-query.js.map +1 -1
  275. package/dist-server/service/project-checklist/index.d.ts +5 -0
  276. package/dist-server/service/project-checklist/index.js +9 -0
  277. package/dist-server/service/project-checklist/index.js.map +1 -0
  278. package/dist-server/service/project-checklist/project-checklist-mutation.d.ts +7 -0
  279. package/dist-server/service/project-checklist/project-checklist-mutation.js +109 -0
  280. package/dist-server/service/project-checklist/project-checklist-mutation.js.map +1 -0
  281. package/dist-server/service/project-checklist/project-checklist-query.d.ts +12 -0
  282. package/dist-server/service/project-checklist/project-checklist-query.js +76 -0
  283. package/dist-server/service/project-checklist/project-checklist-query.js.map +1 -0
  284. package/dist-server/service/project-checklist/project-checklist-type.d.ts +18 -0
  285. package/dist-server/service/project-checklist/project-checklist-type.js +69 -0
  286. package/dist-server/service/project-checklist/project-checklist-type.js.map +1 -0
  287. package/dist-server/service/project-checklist/project-checklist.d.ts +20 -0
  288. package/dist-server/service/project-checklist/project-checklist.js +90 -0
  289. package/dist-server/service/project-checklist/project-checklist.js.map +1 -0
  290. package/dist-server/service/project-checklist-item/index.d.ts +4 -0
  291. package/dist-server/service/project-checklist-item/index.js +9 -0
  292. package/dist-server/service/project-checklist-item/index.js.map +1 -0
  293. package/dist-server/service/project-checklist-item/project-checklist-item-mutation.d.ts +2 -0
  294. package/dist-server/service/project-checklist-item/project-checklist-item-mutation.js +13 -0
  295. package/dist-server/service/project-checklist-item/project-checklist-item-mutation.js.map +1 -0
  296. package/dist-server/service/project-checklist-item/project-checklist-item-query.d.ts +5 -0
  297. package/dist-server/service/project-checklist-item/project-checklist-item-query.js +34 -0
  298. package/dist-server/service/project-checklist-item/project-checklist-item-query.js.map +1 -0
  299. package/dist-server/service/project-checklist-item/project-checklist-item-type.d.ts +5 -0
  300. package/dist-server/service/project-checklist-item/project-checklist-item-type.js +21 -0
  301. package/dist-server/service/project-checklist-item/project-checklist-item-type.js.map +1 -0
  302. package/dist-server/service/project-checklist-item/project-checklist-item.d.ts +17 -0
  303. package/dist-server/service/project-checklist-item/project-checklist-item.js +82 -0
  304. package/dist-server/service/project-checklist-item/project-checklist-item.js.map +1 -0
  305. package/dist-server/service/project-report/project-report-mutation.js +5 -6
  306. package/dist-server/service/project-report/project-report-mutation.js.map +1 -1
  307. package/dist-server/service/project-report/project-report-query.d.ts +2 -2
  308. package/dist-server/service/project-report/project-report-query.js +5 -11
  309. package/dist-server/service/project-report/project-report-query.js.map +1 -1
  310. package/dist-server/service/project-report/project-report.d.ts +0 -2
  311. package/dist-server/service/project-report/project-report.js +0 -6
  312. package/dist-server/service/project-report/project-report.js.map +1 -1
  313. package/dist-server/service/supervisor/supervisor-mutation.js +5 -6
  314. package/dist-server/service/supervisor/supervisor-mutation.js.map +1 -1
  315. package/dist-server/service/supervisor/supervisor-query.d.ts +2 -2
  316. package/dist-server/service/supervisor/supervisor-query.js +5 -11
  317. package/dist-server/service/supervisor/supervisor-query.js.map +1 -1
  318. package/dist-server/tsconfig.tsbuildinfo +1 -1
  319. package/package.json +14 -13
  320. package/things-factory.config.js +9 -1
  321. package/dist-server/service/building-inspection/building-inspection-history.d.ts +0 -17
  322. package/dist-server/service/building-inspection/building-inspection-history.js +0 -86
  323. package/dist-server/service/building-inspection/building-inspection-history.js.map +0 -1
  324. package/dist-server/service/checklist/checklist-history.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"building-inspection-management.js","sourceRoot":"","sources":["../../../client/pages/building-inspection/building-inspection-management.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/icon/icon.js'\nimport '@material/web/button/elevated-button.js'\nimport '@material/web/button/filled-button.js'\nimport '@material/web/button/outlined-button.js'\nimport '@operato/image-marker/ox-image-marker-view.js'\nimport '@operato/input/ox-select-floor.js'\nimport '@operato/data-grist'\nimport '@operato/event-view/ox-event-view.js'\nimport './inspection-create-popup'\nimport './inspection-with-checklist-create-popup'\nimport './component/daily-worklog-popup'\nimport './component/inspection-document/photo-album-popup'\nimport './component/inspection-document/inspection-request-document'\nimport './component/inspection-document/inspection-result-notification'\nimport './component/image-preview-popup'\n\nimport { CommonGristStyles, ScrollbarStyles } from '@operato/styles'\nimport { PageView, navigate } from '@operato/shell'\nimport { PageLifecycle } from '@operato/shell/dist/src/app/pages/page-view'\nimport { css, html } from 'lit'\nimport { customElement, query, state } from 'lit/decorators.js'\nimport { ScopedElementsMixin } from '@open-wc/scoped-elements'\nimport { DataGrist, FetchOption } from '@operato/data-grist'\nimport { client } from '@operato/graphql'\nimport { notify, openPopup } from '@operato/layout'\nimport gql from 'graphql-tag'\nimport moment from 'moment-timezone'\n\nimport {\n BuildingInspectionStatus,\n BUILDING_INSPECTION_STATUS_DISPLAY,\n BUILDING_INSPECTION_RE_STATUS_DISPLAY\n} from './building-inspection-list'\nimport { InspectionEventProvider } from './component/inspection-event-provider'\nimport { EventProvider } from '@operato/event-view'\nimport { DailyWorklogMode } from './component/daily-worklog-popup'\nimport '../checklist/checklist-view'\nimport { ChecklistMode } from '../checklist/checklist-view'\nimport { getBuildingInspectionForChecklist } from '../../graphql/building-inspection'\nimport { InspectionMode } from './component/inspection-document/inspection-request-document'\nimport { DrawingImageProvider } from '@dssp/drawing/dist-client/drawing-management/drawing-image-provider.js'\n\n@customElement('building-inspection-management')\nexport class BuildingInspectionManagement extends ScopedElementsMixin(PageView) {\n static styles = [\n ScrollbarStyles,\n CommonGristStyles,\n css`\n :host {\n display: grid;\n grid-template-rows: 55px 1fr;\n color: #4e5055;\n\n width: 100%;\n height: 100%;\n background-color: var(--md-sys-color-background, #f6f6f6);\n overflow: hidden;\n }\n\n md-filled-button {\n --md-filled-button-container-color: #0595e5;\n --md-filled-button-container-height: 30px;\n --md-filled-button-trailing-space: 15px;\n --md-filled-button-leading-space: 15px;\n }\n\n md-filled-button[green] {\n --md-filled-button-container-color: #008000;\n }\n\n md-outlined-button {\n --md-outlined-button-container-height: 30px;\n --md-outlined-button-trailing-space: var(--spacing-medium, 8px);\n --md-outlined-button-leading-space: var(--spacing-medium, 8px);\n --md-sys-color-outline: rgba(51, 51, 51, 0.2);\n }\n\n *[bold] {\n font-weight: bold;\n }\n\n div[header] {\n display: flex;\n margin: 0px var(--spacing-large, 12px);\n\n h2 {\n display: flex;\n gap: 7px;\n flex: 0.5;\n color: #3f71a0;\n font-size: 18px;\n\n md-icon[back] {\n background: linear-gradient(135deg, #3f71a0 0%, #5a8cc7 100%);\n color: white;\n padding: 8px;\n border-radius: 50%;\n cursor: pointer;\n box-shadow: 0 2px 8px rgba(63, 113, 160, 0.3);\n width: 14px;\n height: 14px;\n --md-icon-size: 20px;\n }\n\n md-icon[back]:hover {\n background: linear-gradient(135deg, #2e5c89 0%, #4a7bb0 100%);\n box-shadow: 0 4px 12px rgba(63, 113, 160, 0.4);\n }\n }\n }\n\n div[header] div[button-container] {\n display: flex;\n align-items: center;\n justify-content: end;\n flex: 0.5;\n }\n\n div[body] {\n display: grid;\n grid-template-columns: 4fr 6fr;\n margin: var(--spacing-large, 12px);\n margin-top: 0;\n gap: var(--spacing-medium, 8px);\n overflow: hidden;\n }\n\n h3 {\n color: #2e79be;\n font-size: 16px;\n margin: 0px;\n }\n\n div[body] > div {\n display: flex;\n gap: var(--spacing-medium, 8px);\n padding: var(--spacing-large, 12px);\n border-radius: 5px;\n }\n\n div[left] {\n flex-direction: column;\n background-color: var(--md-sys-color-on-primary);\n border: 1px solid #cccccc80;\n overflow-y: auto;\n }\n\n div[subject] {\n margin-bottom: var(--spacing-small, 4px);\n }\n\n div[building-container] {\n display: block;\n\n & > * {\n margin-right: var(--spacing-medium, 8px);\n margin-bottom: var(--spacing-medium, 8px);\n }\n }\n\n div[right] {\n height: auto;\n overflow-x: hidden;\n overflow-y: auto;\n flex-direction: column;\n position: relative;\n }\n\n ox-select-floor {\n width: 100%;\n align-content: flex-end;\n\n --ox-select-floor-rotate-x: 60deg;\n --ox-select-floor-rotate-x-active: 30deg;\n --ox-select-floor-perspective: 1200px;\n\n user-select: none;\n overflow-y: auto;\n flex: 1;\n }\n\n div[status] {\n display: flex;\n position: absolute;\n right: 0px;\n bottom: 0px;\n align-items: center;\n z-index: 2;\n right: 3%;\n }\n\n div[status] > div[content] {\n display: flex;\n background-color: #4e5055;\n color: #fff;\n padding: var(--spacing-small, 4px) var(--spacing-medium, 8px);\n border-radius: 5px;\n gap: var(--spacing-medium, 8px);\n font-size: 14px;\n }\n\n div[status] span {\n display: flex;\n align-items: center;\n width: 40px;\n font-weight: bold;\n }\n\n div[status] md-icon {\n width: 16px;\n height: 16px;\n margin-right: var(--spacing-small, 4px);\n border-radius: 5px;\n font-size: 16px;\n font-weight: 700;\n }\n div[status] md-icon[wait] {\n background-color: #f7f7f7;\n color: #4e5055;\n }\n div[status] md-icon[request] {\n background-color: #f7f7f7;\n color: #4e5055;\n }\n div[status] md-icon[pass] {\n background-color: #4bbb4a;\n }\n div[status] md-icon[fail] {\n background-color: #ff4444;\n }\n\n span[name] {\n color: #4e5055;\n margin-left: var(--spacing-small, 4px);\n padding: var(--spacing-tiny, 2px) var(--spacing-small, 4px);\n }\n\n span[name][active] {\n color: var(--md-sys-color-on-error);\n background-color: var(--md-sys-color-error);\n border-radius: 5px;\n opacity: 0.7;\n }\n\n /* 오른쪽 패널 */\n div[right-panel] {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n }\n\n div[inspection-container] {\n gap: var(--spacing-medium, 8px);\n display: flex;\n flex-direction: column;\n flex: 1;\n min-height: 0;\n\n div[inspection] {\n display: grid;\n grid-template-columns: 90px 1fr 1fr 1fr 1fr 1fr;\n background: #ebc8321a;\n border-radius: 5px;\n padding: var(--spacing-medium, 8px) var(--spacing-large, 12px);\n\n & > div {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n\n span::before {\n display: inline-block;\n position: relative;\n content: '';\n width: 10px;\n height: 10px;\n border-radius: 6px;\n top: -1px;\n margin-right: 2px;\n }\n\n span[status='wait']::before {\n background-color: #4e5055;\n }\n span[status='request']::before {\n background-color: #2e79be;\n }\n span[status='pass']::before {\n background-color: #1bb401;\n }\n span[status='fail']::before {\n background-color: #ff4444;\n }\n span[status='re-wait']::before {\n background-color: #e89c0e;\n }\n }\n & > div[name] {\n flex-direction: row;\n text-align: right;\n gap: var(--spacing-small, 4px);\n padding-right: var(--spacing-large, 12px);\n border-right: 2px dotted #ccc;\n max-width: 100%;\n line-height: 1.3;\n\n md-icon {\n width: 40px;\n height: 40px;\n border-radius: 5px;\n color: #fff;\n background: #f16154;\n }\n }\n }\n }\n\n div[view-toggle] {\n display: flex;\n justify-content: flex-end;\n gap: var(--spacing-small, 4px);\n\n md-icon {\n cursor: pointer;\n padding: 4px;\n border-radius: 4px;\n font-size: 24px;\n }\n\n md-icon[active] {\n background-color: #0595e5;\n color: white;\n }\n }\n\n ox-event-view {\n flex: 1;\n overflow-y: auto;\n --calendar-monthly-date-min-height: 50px;\n height: 100%;\n }\n\n div[calendar-wrapper] {\n flex: 1;\n min-height: 0;\n overflow-y: auto;\n }\n\n div[list-wrapper] {\n flex: 1;\n min-height: 0;\n overflow-y: auto;\n }\n\n div[action-buttons] {\n flex-shrink: 0;\n }\n\n div[list-view] {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-medium, 8px);\n overflow-y: auto;\n flex: 1;\n }\n\n div[list-section] {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-small, 4px);\n\n h3[section-title] {\n color: #e15757;\n font-size: 14px;\n margin: 0;\n }\n\n h3[section-title][blue] {\n color: #3395f1;\n }\n\n h3[section-title][green] {\n color: #1bb401;\n }\n }\n\n ox-grist {\n overflow-y: auto;\n flex: 1;\n min-height: 150px;\n }\n\n div[action-buttons] {\n display: flex;\n justify-content: center;\n gap: var(--spacing-medium, 8px);\n padding: var(--spacing-medium, 8px) 0;\n\n md-filled-button {\n --md-filled-button-container-height: 40px;\n --md-filled-button-trailing-space: 20px;\n --md-filled-button-leading-space: 20px;\n }\n\n md-filled-button[green] {\n --md-filled-button-container-color: #008000;\n }\n\n md-filled-button[red] {\n --md-filled-button-container-color: #e15757;\n }\n\n md-filled-button[navy] {\n --md-filled-button-container-color: #3f71a0;\n }\n\n md-filled-button[navy-light] {\n --md-filled-button-container-color: #2e8b8b;\n }\n }\n `\n ]\n\n get context() {\n return {\n title: '업무 대시보드'\n }\n }\n\n private defaultProject = {\n name: '',\n buildingComplex: {\n buildings: []\n }\n }\n\n @state() projectId: string = ''\n @state() project: any = { ...this.defaultProject }\n @state() selectedBuilding: any = {}\n @state() building: any = {}\n @state() currentFloor: number = -1\n\n @state() buildingLevelId: string = ''\n @state() buildingInspectionSummary: any = {}\n @state() calendarData?: EventProvider\n @state() selectedYearMonth: string = moment().tz('Asia/Seoul').format('YYYY-MM')\n @state() selectedDate?: string = moment().tz('Asia/Seoul').format('YYYY-MM-DD')\n @state() dailyWorklog: any = {}\n\n @state() viewMode: 'calendar' | 'list' = 'calendar'\n @state() gristConfig: any\n\n @query('div[left]') private leftPanel!: HTMLElement\n @query('ox-grist[section=\"wait-fail\"]') private gristWaitFail!: DataGrist\n @query('ox-grist[section=\"request\"]') private gristRequest!: DataGrist\n @query('ox-grist[section=\"pass\"]') private gristPass!: DataGrist\n @query('ox-event-view') private eventView!: HTMLElement\n\n render() {\n const cards =\n this.building?.buildingLevels?.map(({ mainDrawingImage, floor }) => {\n return {\n image: mainDrawingImage || '/assets/images/img-drawing-default.png',\n name: floor\n }\n }) || []\n\n return html`\n <div header>\n <h2>\n <md-icon slot=\"icon\" back @click=${() => history.back()}>arrow_back</md-icon>\n 업무 대시보드\n </h2>\n </div>\n\n <div body>\n <div left>\n <div>\n <div subject bold>개별 단지 상세정보 바로가기</div>\n <div building-container>\n ${this.project.buildingComplex?.buildings?.map(building => {\n return this.selectedBuilding.id === building.id\n ? html`\n <md-filled-button @click=${() => this._onClickBuilding(building)}> ${building.name} </md-filled-button>\n `\n : html`\n <md-outlined-button @click=${() => this._onClickBuilding(building)}> ${building.name} </md-outlined-button>\n `\n })}\n </div>\n </div>\n\n <ox-select-floor\n .cards=${cards}\n .bottomLimit=${70}\n .interval=${50}\n @change=${(e: CustomEvent) => {\n this.currentFloor = e.detail\n }}\n >\n ${this.building?.buildingLevels?.map(({ id, floor, floorDisplayName, inspectionSummary }, idx) => {\n return html`\n <div slot=\"template-${idx}\" @click=${() => this._onSelectFloor(id)} style=\"cursor: pointer;\">\n <div status>\n <div content>\n <span><md-icon wait slot=\"icon\">frame_inspect</md-icon>${inspectionSummary.wait}</span>\n <span><md-icon request slot=\"icon\">exclamation</md-icon>${inspectionSummary.request}</span>\n <span><md-icon pass slot=\"icon\">check</md-icon>${inspectionSummary.pass}</span>\n <span><md-icon fail slot=\"icon\">close</md-icon>${inspectionSummary.fail}</span>\n </div>\n <span name ?active=${this.currentFloor == floor}>${floorDisplayName}층</span>\n </div>\n </div>\n `\n })}\n </ox-select-floor>\n </div>\n\n <div right-panel>\n ${this.buildingLevelId\n ? html`\n <div inspection-container>\n <div inspection>\n <div name bold>\n <md-icon slot=\"icon\">fact_check</md-icon>\n 검측 현황\n </div>\n\n <div>\n <label>${BUILDING_INSPECTION_STATUS_DISPLAY[BuildingInspectionStatus.WAIT]}</label>\n <span bold status=\"wait\"> ${this.buildingInspectionSummary.wait}</span>\n </div>\n <div>\n <label>${BUILDING_INSPECTION_STATUS_DISPLAY[BuildingInspectionStatus.REQUEST]}</label>\n <span bold status=\"request\"> ${this.buildingInspectionSummary.request}</span>\n </div>\n <div>\n <label>${BUILDING_INSPECTION_STATUS_DISPLAY[BuildingInspectionStatus.FAIL]}</label>\n <span bold status=\"fail\"> ${this.buildingInspectionSummary.fail}</span>\n </div>\n <div>\n <label>재검측 대기</label>\n <span bold status=\"re-wait\"> ${this.buildingInspectionSummary.reWait}</span>\n </div>\n <div>\n <label>${BUILDING_INSPECTION_STATUS_DISPLAY[BuildingInspectionStatus.PASS]}</label>\n <span bold status=\"pass\"> ${this.buildingInspectionSummary.pass}</span>\n </div>\n </div>\n\n <div view-toggle>\n <md-icon ?active=${this.viewMode === 'calendar'} @click=${() => this._setViewMode('calendar')}>\n calendar_month\n </md-icon>\n <md-icon ?active=${this.viewMode === 'list'} @click=${() => this._setViewMode('list')}> view_list </md-icon>\n </div>\n\n <div calendar-wrapper style=\"display:${this.viewMode === 'calendar' ? 'block' : 'none'}\">\n <ox-event-view\n .mode=${'monthly'}\n .eventProvider=${this.calendarData}\n @select-date=${(e: CustomEvent) => {\n this.selectedDate = moment(e.detail[0]).format('YYYY-MM-DD')\n this._fetchDailyWorklog(this.selectedDate)\n }}\n @change-month=${(e: CustomEvent) => {\n const year = e.detail.year\n const month = e.detail?.month?.toString()?.padStart(2, '0')\n this.selectedYearMonth = `${year}-${month}`\n this._refreshListGrists()\n }}\n ></ox-event-view>\n </div>\n <div list-wrapper style=\"display:${this.viewMode === 'list' ? 'block' : 'none'}\">\n <div list-view>\n <div list-section>\n <h3 section-title>작업 완료 / 조치 필요</h3>\n <ox-grist\n section=\"wait-fail\"\n .mode=${'GRID'}\n .config=${this.gristConfig}\n .fetchHandler=${this._fetchWaitFail.bind(this)}\n ></ox-grist>\n </div>\n <div list-section>\n <h3 section-title blue>감리 / 재검측 대기</h3>\n <ox-grist\n section=\"request\"\n .mode=${'GRID'}\n .config=${this.gristConfig}\n .fetchHandler=${this._fetchRequest.bind(this)}\n ></ox-grist>\n </div>\n <div list-section>\n <h3 section-title green>검측 완료</h3>\n <ox-grist\n section=\"pass\"\n .mode=${'GRID'}\n .config=${this.gristConfig}\n .fetchHandler=${this._fetchPass.bind(this)}\n ></ox-grist>\n </div>\n </div>\n </div>\n </div>\n\n <div action-buttons>\n <md-filled-button navy @click=${this._openFieldDocuments}>\n <md-icon slot=\"icon\">search</md-icon>현장 문서 확인\n </md-filled-button>\n <div style=\"flex:1\"></div>\n ${this.viewMode === 'calendar'\n ? this.dailyWorklog.id\n ? html`<md-filled-button green @click=${this._openDailyWorklogPopup}>\n <md-icon slot=\"icon\">edit</md-icon>일일 업무일지 수정\n </md-filled-button>`\n : html`<md-filled-button @click=${this._openDailyWorklogPopup}>\n <md-icon slot=\"icon\">note_add</md-icon>일일 업무일지 작성\n </md-filled-button>`\n : ''}\n ${this.viewMode === 'list'\n ? html`<md-filled-button red @click=${this._deleteInspections}>\n <md-icon slot=\"icon\">delete</md-icon>검측 삭제\n </md-filled-button>`\n : ''}\n <md-filled-button navy-light @click=${this._openCreateInspection}>\n <md-icon slot=\"icon\">check_circle</md-icon>검측 등록\n </md-filled-button>\n </div>\n `\n : html`\n <div style=\"display:flex;align-items:center;justify-content:center;flex:1;color:#999;\">\n 층을 선택하면 작업 현황이 표시됩니다.\n </div>\n `}\n </div>\n </div>\n `\n }\n\n async pageUpdated(changes: any, lifecycle: PageLifecycle) {\n if (this.active) {\n this.projectId = lifecycle.resourceId || ''\n await this._initProject(this.projectId)\n }\n }\n\n async pageInitialized(lifecycle: any) {\n this.gristConfig = {\n columns: [\n { type: 'gutter', gutterName: 'sequence' },\n { type: 'gutter', gutterName: 'row-selector', multiple: true },\n {\n type: 'gutter',\n gutterName: 'button',\n icon: 'open_in_new',\n header: '상세보기',\n width: 60,\n handlers: {\n click: (columns, data, column, record, rowIndex) => {\n navigate(`building-inspection-detail-drawing/${record.id}`)\n }\n }\n },\n {\n type: 'string',\n name: 'id',\n hidden: true\n },\n {\n type: 'string',\n name: 'statusDisplay',\n header: '검측 상태',\n record: { align: 'center' },\n width: 100\n },\n {\n type: 'string',\n name: 'location',\n header: '위치',\n width: 130\n },\n {\n type: 'string',\n name: 'constructionType',\n header: '공종',\n width: 120\n },\n {\n type: 'string',\n name: 'inspectionParts',\n header: '검측 부위',\n record: {\n renderer: value => value?.join(', ') || ''\n },\n width: 200\n },\n {\n type: 'string',\n name: 'requestDate',\n header: '검측 요청일시',\n width: 150\n },\n {\n type: 'gutter',\n gutterName: 'button',\n icon: 'fact_check',\n header: '도면',\n width: 50,\n handlers: {\n click: (columns, data, column, record, rowIndex) => {\n this._openDrawingPopup(record)\n }\n }\n },\n {\n type: 'gutter',\n gutterName: 'button',\n icon: 'edit_square',\n header: '요청서/결과통보',\n width: 100,\n handlers: {\n click: (columns, data, column, record, rowIndex) => {\n this._openInspectionRequestDocument(record.id)\n }\n }\n },\n {\n type: 'gutter',\n gutterName: 'button',\n icon: 'task',\n header: '체크리스트',\n width: 70,\n handlers: {\n click: (columns, data, column, record, rowIndex) => {\n this._openChecklistPopup(record.id)\n }\n }\n },\n {\n type: 'gutter',\n gutterName: 'button',\n icon: 'photo_camera',\n header: '사진대지',\n width: 60,\n handlers: {\n click: (columns, data, column, record, rowIndex) => {\n this._openPhotoAlbumPopup(record.checklistId)\n }\n }\n },\n {\n type: 'gutter',\n gutterName: 'button',\n icon: 'engineering',\n header: '실명부',\n width: 50,\n handlers: {\n click: (columns, data, column, record, rowIndex) => {\n this._showNameListPreview(record)\n }\n }\n }\n ],\n rows: {\n selectable: {\n multiple: true\n },\n appendable: false\n },\n sorters: [{ name: 'requestDate' }]\n }\n }\n\n private async _initProject(projectId: string = '') {\n const response = await client.query({\n query: gql`\n query Project($id: String!) {\n project(id: $id) {\n id\n name\n projectType\n mainPhoto {\n fullpath\n }\n buildingComplex {\n id\n drawing {\n id\n name\n fullpath\n }\n buildings {\n id\n name\n drawing {\n id\n name\n fullpath\n }\n }\n }\n }\n }\n `,\n variables: {\n id: projectId\n }\n })\n\n if (response.errors) return\n\n this.project = response.data?.project\n\n // 첫번째 빌딩 선택\n this.selectedBuilding = this.project?.buildingComplex?.buildings[0]\n\n if (this.selectedBuilding) {\n await this._getBuilding(this.selectedBuilding.id)\n }\n }\n\n private async _getBuilding(buildingId: string = '') {\n const response = await client.query({\n query: gql`\n query Building($id: String!) {\n building(id: $id) {\n id\n buildingLevels {\n id\n floor\n floorDisplayName\n mainDrawing {\n id\n name\n fullpath\n }\n mainDrawingImage\n inspectionSummary {\n wait\n request\n pass\n fail\n }\n }\n }\n }\n `,\n variables: {\n id: buildingId\n }\n })\n\n if (response.errors) return\n\n this.building = response.data?.building\n\n // 왼쪽 패널 스크롤을 맨 아래로\n await this.updateComplete\n if (this.leftPanel) {\n this.leftPanel.scrollTop = this.leftPanel.scrollHeight\n }\n }\n\n private async _onClickBuilding(building) {\n this.selectedBuilding = { ...building }\n this.buildingLevelId = ''\n this.buildingInspectionSummary = {}\n await this._getBuilding(this.selectedBuilding.id)\n }\n\n private async _onSelectFloor(levelId: string) {\n this.buildingLevelId = levelId\n await this._initBuildingLevel(levelId)\n }\n\n private async _initBuildingLevel(buildingLevelId: string) {\n const response = await client.query({\n query: gql`\n query BuildingInspectionSummaryOfBuildingLevel($buildingLevelId: String!) {\n buildingInspectionSummaryOfBuildingLevel(buildingLevelId: $buildingLevelId) {\n wait\n request\n pass\n fail\n reWait\n }\n }\n `,\n variables: {\n buildingLevelId\n }\n })\n\n if (response.errors) return\n\n this.buildingInspectionSummary = response.data?.buildingInspectionSummaryOfBuildingLevel\n\n // 달력 데이터 생성\n this.calendarData = new InspectionEventProvider(buildingLevelId, this.project.id)\n\n // 달력 최소 높이 속성 수정\n await this.updateComplete\n\n // 일일 업무일지 조회\n await this._fetchDailyWorklog(this.selectedDate)\n\n // 목록 모드일 경우 그리스트 갱신\n this._refreshListGrists()\n }\n\n private async _fetchInspectionsByStatus(\n statuses: string[],\n { page = 1, limit = 100 }: FetchOption,\n extraFilter?: (item: any) => boolean\n ) {\n if (!this.buildingLevelId) return { total: 0, records: [] }\n\n const response = await client.query({\n query: gql`\n query BuildingInspectionsOfBuildingLevel($params: BuildingInspectionsOfBuildingLevel!) {\n buildingInspectionsOfBuildingLevel(params: $params) {\n items {\n id\n status\n failCount\n requestDate\n\n checklist {\n checklistId: id\n name\n constructionType\n constructionDetailType\n location\n inspectionParts\n inspectionDrawingType\n\n nameListAttachment {\n id\n name\n fullpath\n }\n }\n drawingMarker\n }\n total\n }\n }\n `,\n variables: {\n params: {\n buildingLevelId: this.buildingLevelId,\n limit: 0\n }\n }\n })\n\n let items = response.data?.buildingInspectionsOfBuildingLevel?.items || []\n\n // 상태별 필터링\n items = items.filter(item => statuses.includes(item.status))\n\n if (extraFilter) {\n items = items.filter(extraFilter)\n }\n\n items = items.map(item => ({\n ...item,\n ...item.checklist,\n statusDisplay: (item.failCount > 0 ? BUILDING_INSPECTION_RE_STATUS_DISPLAY : BUILDING_INSPECTION_STATUS_DISPLAY)[\n item.status\n ],\n requestDate: this._formatDateTime(item.requestDate)\n }))\n\n return {\n total: items.length,\n records: items\n }\n }\n\n private async _fetchWaitFail(options: FetchOption) {\n return this._fetchInspectionsByStatus(\n [BuildingInspectionStatus.WAIT, BuildingInspectionStatus.OVERALL_WAIT, BuildingInspectionStatus.FAIL],\n options,\n // 재검측 대기(failCount > 0인 WAIT) 제외\n item =>\n !(\n (item.status === BuildingInspectionStatus.WAIT || item.status === BuildingInspectionStatus.OVERALL_WAIT) &&\n (item.failCount || 0) > 0\n )\n )\n }\n\n private async _fetchRequest(options: FetchOption) {\n return this._fetchInspectionsByStatus(\n [\n BuildingInspectionStatus.REQUEST,\n BuildingInspectionStatus.OVERALL_REQUEST,\n BuildingInspectionStatus.WAIT,\n BuildingInspectionStatus.OVERALL_WAIT\n ],\n options,\n // REQUEST/OVERALL_REQUEST 전체 + 재검측 대기(failCount > 0인 WAIT)만\n item =>\n item.status === BuildingInspectionStatus.REQUEST ||\n item.status === BuildingInspectionStatus.OVERALL_REQUEST ||\n ((item.status === BuildingInspectionStatus.WAIT || item.status === BuildingInspectionStatus.OVERALL_WAIT) &&\n (item.failCount || 0) > 0)\n )\n }\n\n private async _fetchPass(options: FetchOption) {\n return this._fetchInspectionsByStatus([BuildingInspectionStatus.PASS], options)\n }\n\n private _setViewMode(mode: 'calendar' | 'list') {\n this.viewMode = mode\n\n if (mode === 'list') {\n this.updateComplete.then(() => this._refreshListGrists())\n }\n }\n\n private _refreshListGrists() {\n if (this.viewMode === 'list') {\n this.updateComplete.then(() => {\n this.gristWaitFail?.fetch()\n this.gristRequest?.fetch()\n this.gristPass?.fetch()\n })\n }\n }\n\n private _formatDateTime(date: Date | string | number | undefined) {\n if (!date) return ''\n try {\n const parsed = typeof date === 'string' && /^\\d+$/.test(date) ? new Date(Number(date)) : new Date(date)\n return new Intl.DateTimeFormat('ko-KR', {\n timeZone: 'Asia/Seoul',\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n hour: '2-digit',\n minute: '2-digit',\n hour12: false\n }).format(parsed)\n } catch {\n return ''\n }\n }\n\n private _openDailyWorklogPopup() {\n const date = this.selectedDate\n\n openPopup(\n html`<daily-worklog-popup\n .project=${this.project}\n .date=${date}\n .dailyWorklog=${this.dailyWorklog}\n .mode=${this.dailyWorklog.id ? DailyWorklogMode.EDIT : DailyWorklogMode.CREATE}\n @createdDailyWorklog=${this._refreshCalendar.bind(this)}\n @updatedDailyWorklog=${() => this._fetchDailyWorklog(this.selectedDate)}\n ></daily-worklog-popup>`,\n {\n backdrop: true,\n size: 'large',\n title: '일일 업무일지 작성'\n }\n )\n }\n\n private async _deleteInspections() {\n const allSelected = [\n ...(this.gristWaitFail?.selected || []),\n ...(this.gristRequest?.selected || []),\n ...(this.gristPass?.selected || [])\n ]\n const ids = allSelected.map(record => record.id)\n\n if (!ids.length) {\n notify({ message: '삭제할 항목을 선택해주세요.', level: 'info' })\n return\n }\n\n if (confirm('삭제하시겠습니까?')) {\n const response = await client.mutate({\n mutation: gql`\n mutation ($ids: [String!]!) {\n deleteBuildingInspections(ids: $ids)\n }\n `,\n variables: { ids }\n })\n\n if (!response.errors) {\n this._refreshListGrists()\n this._initBuildingLevel(this.buildingLevelId)\n notify({ message: '삭제되었습니다.' })\n }\n }\n }\n\n private _openCreateInspection() {\n openPopup(\n html`\n <inspection-with-checklist-create-popup\n .projectId=${this.project.id}\n .selectedBuildingId=${this.selectedBuilding.id}\n .selectedBuildingLevelId=${this.buildingLevelId}\n @requestRefresh=\"${() => {\n this._initBuildingLevel(this.buildingLevelId)\n this._getBuilding(this.selectedBuilding.id)\n }}\"\n ></inspection-with-checklist-create-popup>\n `,\n { backdrop: true, size: 'large', title: '검측 등록' }\n )\n }\n\n // TODO: 현장 문서 확인 기능 구현\n private _openFieldDocuments() {\n notify({ message: '현장 문서 확인 기능은 준비 중입니다.', level: 'info' })\n }\n\n private async _openDrawingPopup(buildingInspection: any) {\n const drawingImageProvider: DrawingImageProvider = new DrawingImageProvider()\n const inspectionDrawingType = buildingInspection.inspectionDrawingType\n\n const drawingShapes = JSON.parse(buildingInspection?.drawingMarker || null) || []\n const markers = await drawingImageProvider.getMarkers(inspectionDrawingType)\n\n const imageUrl = String(inspectionDrawingType).normalize('NFC')\n const shapes = [...drawingShapes, ...markers]\n\n openPopup(\n html`<ox-image-marker-view\n style=\"pointer-events: none;\"\n id=\"image-marker\"\n .imageUrl=${imageUrl}\n .shapes=${shapes}\n .imageProvider=${drawingImageProvider}\n ></ox-image-marker-view>`,\n { backdrop: true, size: 'large', title: '검측 도면' }\n )\n }\n\n private async _openInspectionRequestDocument(buildingInspectionId: string) {\n const buildingInspection = await getBuildingInspectionForChecklist(buildingInspectionId)\n\n if (!buildingInspection.checklist.inspectionRequestUpdatedAt) {\n notify({ message: '검측 요청서가 없습니다.', level: 'info' })\n return\n }\n\n openPopup(\n html`\n <div style=\"overflow-y: auto;\">\n <inspection-request-document\n .checklist=${buildingInspection.checklist}\n .buildingInspection=${buildingInspection}\n .mode=${InspectionMode.VIEW}\n ></inspection-request-document>\n\n ${buildingInspection.checklist.inspectionResultUpdatedAt\n ? html`\n <hr />\n <inspection-result-notification\n .checklist=${buildingInspection.checklist}\n .buildingInspection=${buildingInspection}\n .mode=${InspectionMode.VIEW}\n ></inspection-result-notification>\n `\n : ''}\n </div>\n `,\n { backdrop: true, size: 'large', title: '검측요청결과 통보내용' }\n )\n }\n\n private async _openChecklistPopup(buildingInspectionId: string) {\n const buildingInspection = await getBuildingInspectionForChecklist(buildingInspectionId)\n\n openPopup(\n html`\n <div style=\"overflow-y: auto;\">\n <checklist-view\n .mode=${ChecklistMode.VIEWER}\n .checklist=${buildingInspection?.checklist}\n .buildingComplex=${buildingInspection?.buildingLevel?.building?.buildingComplex || {}}\n .status=${buildingInspection?.status}\n .failCount=${buildingInspection?.failCount || 0}\n .projectType=${this.project.projectType}\n ></checklist-view>\n </div>\n `,\n { backdrop: true, size: 'large', title: '체크 리스트 미리보기' }\n )\n }\n\n private _openPhotoAlbumPopup(checklistId: string) {\n openPopup(html`<photo-album-popup .checklistId=${checklistId}></photo-album-popup>`, {\n backdrop: true,\n size: 'large',\n title: '사진대지'\n })\n }\n\n private _showNameListPreview(record: any) {\n const nameListAttachment = record.nameListAttachment\n\n if (!nameListAttachment) {\n notify({ message: '실명부 파일이 없습니다.', level: 'info' })\n return\n }\n\n openPopup(\n html`\n <image-preview-popup\n .images=${[{ fullpath: nameListAttachment.fullpath, name: nameListAttachment.name }]}\n .currentIndex=${0}\n ></image-preview-popup>\n `,\n { backdrop: true, size: 'large', title: '실명부' }\n )\n }\n\n private async _refreshCalendar() {\n this.calendarData = new InspectionEventProvider(this.buildingLevelId, this.project.id)\n await this._fetchDailyWorklog(this.selectedDate)\n }\n\n private async _fetchDailyWorklog(date: string = '') {\n if (!date || !this.project.id) return\n\n const response = await client.query({\n query: gql`\n query ($projectId: String!, $date: String!) {\n buildingInspectionDailyWorklogByProjectIdAndDate(projectId: $projectId, date: $date) {\n id\n date\n documentNo\n worklogs\n memo\n directiveMemo\n taskSupervisorySignature\n overallSupervisorySignature\n\n taskSupervisory {\n id\n name\n }\n overallSupervisory {\n id\n name\n }\n\n buildingInspections {\n id\n\n checklist {\n overallSupervisorySignature\n taskSupervisorySignature\n taskSupervisory {\n id\n name\n }\n overallSupervisory {\n id\n name\n }\n }\n }\n }\n }\n `,\n variables: { projectId: this.project.id, date }\n })\n\n this.dailyWorklog = response.data?.buildingInspectionDailyWorklogByProjectIdAndDate || {}\n }\n}\n"]}
@@ -1 +1,4 @@
1
1
  import '@material/web/icon/icon.js';
2
+ import '@material/web/menu/menu.js';
3
+ import '@material/web/menu/menu-item.js';
4
+ import '@material/web/divider/divider.js';
@@ -1,8 +1,12 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
2
  import '@material/web/icon/icon.js';
3
+ import '@material/web/menu/menu.js';
4
+ import '@material/web/menu/menu-item.js';
5
+ import '@material/web/divider/divider.js';
3
6
  import { css, html, LitElement } from 'lit';
4
- import { customElement, property } from 'lit/decorators.js';
7
+ import { customElement, property, state } from 'lit/decorators.js';
5
8
  import { ButtonContainerStyles, ScrollbarStyles } from '@operato/styles';
9
+ import { navigate } from '@operato/shell';
6
10
  let BuildingInspectionDetailHeader = class BuildingInspectionDetailHeader extends LitElement {
7
11
  constructor() {
8
12
  super(...arguments);
@@ -11,18 +15,23 @@ let BuildingInspectionDetailHeader = class BuildingInspectionDetailHeader extend
11
15
  this.projectName = '';
12
16
  this.buildingName = '';
13
17
  this.buildingLevelFloor = '';
18
+ this.projectId = '';
19
+ this.isPhotoMenuOpen = false;
14
20
  }
15
21
  render() {
16
22
  const path = window.location.pathname;
17
23
  return html `
18
24
  <div header>
19
- <h2>${this.projectName || ''} ${this.buildingName || ''} ${this.buildingLevelFloor || ''}층</h2>
25
+ <h2>
26
+ <md-icon slot="icon" back @click=${() => history.back()}>arrow_back</md-icon>
27
+ ${this.projectName || ''} ${this.buildingName || ''} ${this.buildingLevelFloor || ''}층
28
+ </h2>
20
29
  <div button-container>
21
30
  <md-elevated-button
22
- ?disabled=${path.includes('building-inspection-list/')}
23
- href=${`building-inspection-list/${this.buildingLevelId}`}
31
+ ?disabled=${path.includes('building-inspection-management/')}
32
+ href=${`building-inspection-management/${this.projectId}`}
24
33
  >
25
- <md-icon slot="icon">list_alt</md-icon>검측 리스트
34
+ <md-icon slot="icon">dashboard</md-icon>업무 대시보드
26
35
  </md-elevated-button>
27
36
  <md-elevated-button
28
37
  ?disabled=${path.includes('building-inspection-detail-drawing/')}
@@ -36,13 +45,27 @@ let BuildingInspectionDetailHeader = class BuildingInspectionDetailHeader extend
36
45
  >
37
46
  <md-icon slot="icon">task</md-icon>검측 체크리스트
38
47
  </md-elevated-button>
39
- <md-elevated-button
40
- ?disabled=${path.includes('building-inspection-detail-camera/')}
41
- href=${`building-inspection-detail-camera/${this.buildingInspectionId}`}
42
- disabled
43
- >
44
- <md-icon slot="icon">photo_camera</md-icon>사진촬영
45
- </md-elevated-button>
48
+ <div class="photo-menu-container">
49
+ <md-elevated-button @click=${this.togglePhotoMenu} id="photo-menu-anchor">
50
+ <md-icon slot="icon">arrow_drop_down</md-icon>사진촬영
51
+ </md-elevated-button>
52
+ <md-menu .open=${this.isPhotoMenuOpen} anchor="photo-menu-anchor" @closed=${() => (this.isPhotoMenuOpen = false)}>
53
+ <md-menu-item @click=${() => navigate(`building-inspection-detail-camera/${this.buildingInspectionId}`)}>
54
+ <md-icon slot="start">photo_camera</md-icon>
55
+ 사진 촬영
56
+ </md-menu-item>
57
+ <md-divider></md-divider>
58
+ <md-menu-item @click=${() => navigate(`building-inspection-detail-ai-measurement/${this.buildingInspectionId}`)}>
59
+ <md-icon slot="start">straighten</md-icon>
60
+ AI 길이 측정
61
+ </md-menu-item>
62
+ <md-divider></md-divider>
63
+ <md-menu-item @click=${() => navigate(`building-inspection-detail-ai-defect/${this.buildingInspectionId}`)}>
64
+ <md-icon slot="start">manga</md-icon>
65
+ AI 하자 분석
66
+ </md-menu-item>
67
+ </md-menu>
68
+ </div>
46
69
  <md-elevated-button
47
70
  ?disabled=${path.includes('building-inspection-detail-history/')}
48
71
  href=${`building-inspection-detail-history/${this.buildingInspectionId}`}
@@ -54,6 +77,9 @@ let BuildingInspectionDetailHeader = class BuildingInspectionDetailHeader extend
54
77
  </div>
55
78
  `;
56
79
  }
80
+ togglePhotoMenu() {
81
+ this.isPhotoMenuOpen = !this.isPhotoMenuOpen;
82
+ }
57
83
  };
58
84
  BuildingInspectionDetailHeader.styles = [
59
85
  ButtonContainerStyles,
@@ -78,12 +104,31 @@ BuildingInspectionDetailHeader.styles = [
78
104
  div[header] {
79
105
  display: flex;
80
106
  margin: 0px var(--spacing-large, 12px);
81
- }
82
107
 
83
- h2 {
84
- flex: 0.5;
85
- color: #3f71a0;
86
- font-size:18px;
108
+ h2 {
109
+ display: flex;
110
+ gap: 7px;
111
+ flex: 0.5;
112
+ color: #3f71a0;
113
+ font-size: 18px;
114
+
115
+ md-icon[back] {
116
+ background: linear-gradient(135deg, #3f71a0 0%, #5a8cc7 100%);
117
+ color: white;
118
+ padding: 8px;
119
+ border-radius: 50%;
120
+ cursor: pointer;
121
+ box-shadow: 0 2px 8px rgba(63, 113, 160, 0.3);
122
+ width: 14px;
123
+ height: 14px;
124
+ --md-icon-size: 20px;
125
+ }
126
+
127
+ md-icon[back]:hover {
128
+ background: linear-gradient(135deg, #2e5c89 0%, #4a7bb0 100%);
129
+ box-shadow: 0 4px 12px rgba(63, 113, 160, 0.4);
130
+ }
131
+ }
87
132
  }
88
133
 
89
134
  div[button-container] {
@@ -95,7 +140,7 @@ BuildingInspectionDetailHeader.styles = [
95
140
 
96
141
  md-elevated-button {
97
142
  margin-left: var(--spacing-small, 4px);
98
- letter-spacing: -1px;
143
+ letter-spacing: -1px;
99
144
 
100
145
  --md-elevated-button-container-height: 32px;
101
146
  --md-elevated-button-label-text-size: 16px;
@@ -109,15 +154,54 @@ BuildingInspectionDetailHeader.styles = [
109
154
  --md-elevated-button-hover-icon-color: var(--md-sys-color-on-primary);
110
155
  --md-elevated-button-pressed-icon-color: var(--md-sys-color-on-primary);
111
156
  --md-elevated-button-focus-icon-color: var(--md-sys-color-on-primary);
112
- --_leading-space:var(--spacing-tiny, 2px);
157
+ --_leading-space: var(--spacing-tiny, 2px);
113
158
 
114
159
  --_with-leading-icon-leading-space: var(--spacing-medium, 8px);
115
160
  --_with-leading-icon-trailing-space: var(--spacing-medium, 8px);
116
161
 
117
- md-icon{
162
+ md-icon {
118
163
  margin-right: -2px;
119
164
  }
120
165
  }
166
+
167
+ /* 드롭다운 메뉴 컨테이너 */
168
+ .photo-menu-container {
169
+ position: relative;
170
+ display: inline-block;
171
+ }
172
+
173
+ md-menu {
174
+ --md-menu-container-color: #fff;
175
+ --md-menu-container-elevation: 2;
176
+ border-radius: 8px;
177
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
178
+ min-width: 150px;
179
+ }
180
+
181
+ md-menu-item {
182
+ --md-menu-item-container-height: 20px;
183
+ --md-menu-item-one-line-container-height: 30px;
184
+ --md-menu-item-label-text-size: 15px;
185
+ --md-menu-item-label-text-color: #333;
186
+ --md-menu-item-hover-state-layer-color: #f5f5f5;
187
+ --md-menu-item-top-space: 0px;
188
+ --md-menu-item-bottom-space: 0px;
189
+
190
+ cursor: pointer;
191
+ padding: 2px 4px !important;
192
+ min-height: 18px !important;
193
+ }
194
+
195
+ md-menu-item md-icon {
196
+ margin-right: 2px;
197
+ color: #666;
198
+ --md-icon-size: 14px;
199
+ }
200
+
201
+ md-divider {
202
+ margin: 1px 0;
203
+ --md-divider-thickness: 1px;
204
+ }
121
205
  `
122
206
  ];
123
207
  __decorate([
@@ -140,6 +224,14 @@ __decorate([
140
224
  property({ type: String }),
141
225
  __metadata("design:type", String)
142
226
  ], BuildingInspectionDetailHeader.prototype, "buildingLevelFloor", void 0);
227
+ __decorate([
228
+ property({ type: String }),
229
+ __metadata("design:type", String)
230
+ ], BuildingInspectionDetailHeader.prototype, "projectId", void 0);
231
+ __decorate([
232
+ state(),
233
+ __metadata("design:type", Object)
234
+ ], BuildingInspectionDetailHeader.prototype, "isPhotoMenuOpen", void 0);
143
235
  BuildingInspectionDetailHeader = __decorate([
144
236
  customElement('building-inspection-detail-header')
145
237
  ], BuildingInspectionDetailHeader);
@@ -1 +1 @@
1
- {"version":3,"file":"building-inspection-detail-header.js","sourceRoot":"","sources":["../../../../client/pages/building-inspection/component/building-inspection-detail-header.ts"],"names":[],"mappings":";AAAA,OAAO,4BAA4B,CAAA;AACnC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAS,MAAM,mBAAmB,CAAA;AAClE,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAGxE,IAAM,8BAA8B,GAApC,MAAM,8BAA+B,SAAQ,UAAU;IAAvD;;QAmE8B,yBAAoB,GAAW,EAAE,CAAA;QACjC,oBAAe,GAAW,EAAE,CAAA;QAC5B,gBAAW,GAAW,EAAE,CAAA;QACxB,iBAAY,GAAW,EAAE,CAAA;QACzB,uBAAkB,GAAW,EAAE,CAAA;IA6C7D,CAAC;IA3CC,MAAM;QACJ,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAA;QAErC,OAAO,IAAI,CAAA;;cAED,IAAI,CAAC,WAAW,IAAI,EAAE,IAAI,IAAI,CAAC,YAAY,IAAI,EAAE,IAAI,IAAI,CAAC,kBAAkB,IAAI,EAAE;;;wBAGxE,IAAI,CAAC,QAAQ,CAAC,2BAA2B,CAAC;mBAC/C,4BAA4B,IAAI,CAAC,eAAe,EAAE;;;;;wBAK7C,IAAI,CAAC,QAAQ,CAAC,qCAAqC,CAAC;mBACzD,sCAAsC,IAAI,CAAC,oBAAoB,EAAE;;;;;wBAK5D,IAAI,CAAC,QAAQ,CAAC,uCAAuC,CAAC;mBAC3D,wCAAwC,IAAI,CAAC,oBAAoB,EAAE;;;;;wBAK9D,IAAI,CAAC,QAAQ,CAAC,oCAAoC,CAAC;mBACxD,qCAAqC,IAAI,CAAC,oBAAoB,EAAE;;;;;;wBAM3D,IAAI,CAAC,QAAQ,CAAC,qCAAqC,CAAC;mBACzD,sCAAsC,IAAI,CAAC,oBAAoB,EAAE;;;;;;;KAO/E,CAAA;IACH,CAAC;;AAlHM,qCAAM,GAAG;IACd,qBAAqB;IACrB,eAAe;IACf,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA4DF;CACF,AAhEY,CAgEZ;AAE2B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;4EAAkC;AACjC;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;uEAA6B;AAC5B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;mEAAyB;AACxB;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;oEAA0B;AACzB;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;0EAAgC;AAvEvD,8BAA8B;IADnC,aAAa,CAAC,mCAAmC,CAAC;GAC7C,8BAA8B,CAoHnC","sourcesContent":["import '@material/web/icon/icon.js'\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { ButtonContainerStyles, ScrollbarStyles } from '@operato/styles'\n\n@customElement('building-inspection-detail-header')\nclass BuildingInspectionDetailHeader extends LitElement {\n static styles = [\n ButtonContainerStyles,\n ScrollbarStyles,\n css`\n md-filled-button {\n --md-filled-button-container-color: #0595e5;\n --md-filled-button-container-height: 30px;\n --md-filled-button-trailing-space: 15px;\n --md-filled-button-leading-space: 15px;\n }\n md-outlined-button {\n --md-outlined-button-container-height: 30px;\n --md-outlined-button-trailing-space: 15px;\n --md-outlined-button-leading-space: 15px;\n }\n\n *[bold] {\n font-weight: bold;\n }\n\n div[header] {\n display: flex;\n margin: 0px var(--spacing-large, 12px);\n }\n\n h2 {\n flex: 0.5;\n color: #3f71a0;\n font-size:18px;\n }\n\n div[button-container] {\n display: flex;\n align-items: center;\n justify-content: end;\n flex: 0.5;\n }\n\n md-elevated-button {\n margin-left: var(--spacing-small, 4px);\n letter-spacing: -1px; \n\n --md-elevated-button-container-height: 32px;\n --md-elevated-button-label-text-size: 16px;\n --md-elevated-button-container-color: #0595e5;\n\n --md-elevated-button-label-text-color: var(--md-sys-color-on-primary);\n --md-elevated-button-hover-label-text-color: var(--md-sys-color-on-primary);\n --md-elevated-button-pressed-label-text-color: var(--md-sys-color-on-primary);\n --md-elevated-button-focus-label-text-color: var(--md-sys-color-on-primary);\n --md-elevated-button-icon-color: var(--md-sys-color-on-primary);\n --md-elevated-button-hover-icon-color: var(--md-sys-color-on-primary);\n --md-elevated-button-pressed-icon-color: var(--md-sys-color-on-primary);\n --md-elevated-button-focus-icon-color: var(--md-sys-color-on-primary);\n --_leading-space:var(--spacing-tiny, 2px);\n\n --_with-leading-icon-leading-space: var(--spacing-medium, 8px);\n --_with-leading-icon-trailing-space: var(--spacing-medium, 8px);\n\n md-icon{\n margin-right: -2px;\n }\n }\n `\n ]\n\n @property({ type: String }) buildingInspectionId: string = ''\n @property({ type: String }) buildingLevelId: string = ''\n @property({ type: String }) projectName: string = ''\n @property({ type: String }) buildingName: string = ''\n @property({ type: String }) buildingLevelFloor: string = ''\n\n render() {\n const path = window.location.pathname\n\n return html`\n <div header>\n <h2>${this.projectName || ''} ${this.buildingName || ''} ${this.buildingLevelFloor || ''}층</h2>\n <div button-container>\n <md-elevated-button\n ?disabled=${path.includes('building-inspection-list/')}\n href=${`building-inspection-list/${this.buildingLevelId}`}\n >\n <md-icon slot=\"icon\">list_alt</md-icon>검측 리스트\n </md-elevated-button>\n <md-elevated-button\n ?disabled=${path.includes('building-inspection-detail-drawing/')}\n href=${`building-inspection-detail-drawing/${this.buildingInspectionId}`}\n >\n <md-icon slot=\"icon\">fact_check</md-icon>검측도면\n </md-elevated-button>\n <md-elevated-button\n ?disabled=${path.includes('building-inspection-detail-checklist/')}\n href=${`building-inspection-detail-checklist/${this.buildingInspectionId}`}\n >\n <md-icon slot=\"icon\">task</md-icon>검측 체크리스트\n </md-elevated-button>\n <md-elevated-button\n ?disabled=${path.includes('building-inspection-detail-camera/')}\n href=${`building-inspection-detail-camera/${this.buildingInspectionId}`}\n disabled\n >\n <md-icon slot=\"icon\">photo_camera</md-icon>사진촬영\n </md-elevated-button>\n <md-elevated-button\n ?disabled=${path.includes('building-inspection-detail-history/')}\n href=${`building-inspection-detail-history/${this.buildingInspectionId}`}\n disabled\n >\n <md-icon slot=\"icon\">pending_actions</md-icon>감리이력\n </md-elevated-button>\n </div>\n </div>\n `\n }\n}\n"]}
1
+ {"version":3,"file":"building-inspection-detail-header.js","sourceRoot":"","sources":["../../../../client/pages/building-inspection/component/building-inspection-detail-header.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/icon/icon.js'\nimport '@material/web/menu/menu.js'\nimport '@material/web/menu/menu-item.js'\nimport '@material/web/divider/divider.js'\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { ButtonContainerStyles, ScrollbarStyles } from '@operato/styles'\nimport { navigate } from '@operato/shell'\n\n@customElement('building-inspection-detail-header')\nclass BuildingInspectionDetailHeader extends LitElement {\n static styles = [\n ButtonContainerStyles,\n ScrollbarStyles,\n css`\n md-filled-button {\n --md-filled-button-container-color: #0595e5;\n --md-filled-button-container-height: 30px;\n --md-filled-button-trailing-space: 15px;\n --md-filled-button-leading-space: 15px;\n }\n md-outlined-button {\n --md-outlined-button-container-height: 30px;\n --md-outlined-button-trailing-space: 15px;\n --md-outlined-button-leading-space: 15px;\n }\n\n *[bold] {\n font-weight: bold;\n }\n\n div[header] {\n display: flex;\n margin: 0px var(--spacing-large, 12px);\n\n h2 {\n display: flex;\n gap: 7px;\n flex: 0.5;\n color: #3f71a0;\n font-size: 18px;\n\n md-icon[back] {\n background: linear-gradient(135deg, #3f71a0 0%, #5a8cc7 100%);\n color: white;\n padding: 8px;\n border-radius: 50%;\n cursor: pointer;\n box-shadow: 0 2px 8px rgba(63, 113, 160, 0.3);\n width: 14px;\n height: 14px;\n --md-icon-size: 20px;\n }\n\n md-icon[back]:hover {\n background: linear-gradient(135deg, #2e5c89 0%, #4a7bb0 100%);\n box-shadow: 0 4px 12px rgba(63, 113, 160, 0.4);\n }\n }\n }\n\n div[button-container] {\n display: flex;\n align-items: center;\n justify-content: end;\n flex: 0.5;\n }\n\n md-elevated-button {\n margin-left: var(--spacing-small, 4px);\n letter-spacing: -1px;\n\n --md-elevated-button-container-height: 32px;\n --md-elevated-button-label-text-size: 16px;\n --md-elevated-button-container-color: #0595e5;\n\n --md-elevated-button-label-text-color: var(--md-sys-color-on-primary);\n --md-elevated-button-hover-label-text-color: var(--md-sys-color-on-primary);\n --md-elevated-button-pressed-label-text-color: var(--md-sys-color-on-primary);\n --md-elevated-button-focus-label-text-color: var(--md-sys-color-on-primary);\n --md-elevated-button-icon-color: var(--md-sys-color-on-primary);\n --md-elevated-button-hover-icon-color: var(--md-sys-color-on-primary);\n --md-elevated-button-pressed-icon-color: var(--md-sys-color-on-primary);\n --md-elevated-button-focus-icon-color: var(--md-sys-color-on-primary);\n --_leading-space: var(--spacing-tiny, 2px);\n\n --_with-leading-icon-leading-space: var(--spacing-medium, 8px);\n --_with-leading-icon-trailing-space: var(--spacing-medium, 8px);\n\n md-icon {\n margin-right: -2px;\n }\n }\n\n /* 드롭다운 메뉴 컨테이너 */\n .photo-menu-container {\n position: relative;\n display: inline-block;\n }\n\n md-menu {\n --md-menu-container-color: #fff;\n --md-menu-container-elevation: 2;\n border-radius: 8px;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n min-width: 150px;\n }\n\n md-menu-item {\n --md-menu-item-container-height: 20px;\n --md-menu-item-one-line-container-height: 30px;\n --md-menu-item-label-text-size: 15px;\n --md-menu-item-label-text-color: #333;\n --md-menu-item-hover-state-layer-color: #f5f5f5;\n --md-menu-item-top-space: 0px;\n --md-menu-item-bottom-space: 0px;\n\n cursor: pointer;\n padding: 2px 4px !important;\n min-height: 18px !important;\n }\n\n md-menu-item md-icon {\n margin-right: 2px;\n color: #666;\n --md-icon-size: 14px;\n }\n\n md-divider {\n margin: 1px 0;\n --md-divider-thickness: 1px;\n }\n `\n ]\n\n @property({ type: String }) buildingInspectionId: string = ''\n @property({ type: String }) buildingLevelId: string = ''\n @property({ type: String }) projectName: string = ''\n @property({ type: String }) buildingName: string = ''\n @property({ type: String }) buildingLevelFloor: string = ''\n @property({ type: String }) projectId: string = ''\n\n @state() private isPhotoMenuOpen = false\n\n render() {\n const path = window.location.pathname\n\n return html`\n <div header>\n <h2>\n <md-icon slot=\"icon\" back @click=${() => history.back()}>arrow_back</md-icon>\n ${this.projectName || ''} ${this.buildingName || ''} ${this.buildingLevelFloor || ''}층\n </h2>\n <div button-container>\n <md-elevated-button\n ?disabled=${path.includes('building-inspection-management/')}\n href=${`building-inspection-management/${this.projectId}`}\n >\n <md-icon slot=\"icon\">dashboard</md-icon>업무 대시보드\n </md-elevated-button>\n <md-elevated-button\n ?disabled=${path.includes('building-inspection-detail-drawing/')}\n href=${`building-inspection-detail-drawing/${this.buildingInspectionId}`}\n >\n <md-icon slot=\"icon\">fact_check</md-icon>검측도면\n </md-elevated-button>\n <md-elevated-button\n ?disabled=${path.includes('building-inspection-detail-checklist/')}\n href=${`building-inspection-detail-checklist/${this.buildingInspectionId}`}\n >\n <md-icon slot=\"icon\">task</md-icon>검측 체크리스트\n </md-elevated-button>\n <div class=\"photo-menu-container\">\n <md-elevated-button @click=${this.togglePhotoMenu} id=\"photo-menu-anchor\">\n <md-icon slot=\"icon\">arrow_drop_down</md-icon>사진촬영\n </md-elevated-button>\n <md-menu .open=${this.isPhotoMenuOpen} anchor=\"photo-menu-anchor\" @closed=${() => (this.isPhotoMenuOpen = false)}>\n <md-menu-item @click=${() => navigate(`building-inspection-detail-camera/${this.buildingInspectionId}`)}>\n <md-icon slot=\"start\">photo_camera</md-icon>\n 사진 촬영\n </md-menu-item>\n <md-divider></md-divider>\n <md-menu-item @click=${() => navigate(`building-inspection-detail-ai-measurement/${this.buildingInspectionId}`)}>\n <md-icon slot=\"start\">straighten</md-icon>\n AI 길이 측정\n </md-menu-item>\n <md-divider></md-divider>\n <md-menu-item @click=${() => navigate(`building-inspection-detail-ai-defect/${this.buildingInspectionId}`)}>\n <md-icon slot=\"start\">manga</md-icon>\n AI 하자 분석\n </md-menu-item>\n </md-menu>\n </div>\n <md-elevated-button\n ?disabled=${path.includes('building-inspection-detail-history/')}\n href=${`building-inspection-detail-history/${this.buildingInspectionId}`}\n disabled\n >\n <md-icon slot=\"icon\">pending_actions</md-icon>감리이력\n </md-elevated-button>\n </div>\n </div>\n `\n }\n\n private togglePhotoMenu() {\n this.isPhotoMenuOpen = !this.isPhotoMenuOpen\n }\n}\n"]}
@@ -0,0 +1,27 @@
1
+ import '@material/web/button/elevated-button.js';
2
+ import '@material/web/icon/icon.js';
3
+ import '@material/web/radio/radio.js';
4
+ import { LitElement } from 'lit';
5
+ export declare enum DailyWorklogMode {
6
+ EDIT = "edit",
7
+ CREATE = "create"
8
+ }
9
+ export declare class DailyWorklogPopup extends LitElement {
10
+ static styles: import("lit").CSSResult[];
11
+ date?: string;
12
+ project?: any;
13
+ dailyWorklog: any;
14
+ mode?: DailyWorklogMode;
15
+ private selectedRowIndex;
16
+ private selectedBuildingInspection;
17
+ render(): import("lit-html").TemplateResult<1>;
18
+ connectedCallback(): void;
19
+ private _formatSelectedDate;
20
+ private _updateWorklogs;
21
+ private _onConstructionTypeInput;
22
+ private _addRow;
23
+ private _remove;
24
+ private _selectRow;
25
+ private _create;
26
+ private _update;
27
+ }