@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,539 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import '@material/web/icon/icon.js';
3
+ import '@material/web/textfield/filled-text-field.js';
4
+ import '@operato/data-grist';
5
+ import '../checklist/checklist-view';
6
+ import { CommonGristStyles, ScrollbarStyles } from '@operato/styles';
7
+ import { PageView } from '@operato/shell';
8
+ import { css, html } from 'lit';
9
+ import { customElement, query, state } from 'lit/decorators.js';
10
+ import { DataGrist } from '@operato/data-grist';
11
+ import { client } from '@operato/graphql';
12
+ import { openPopup } from '@operato/layout';
13
+ import gql from 'graphql-tag';
14
+ import { BuildingInspectionStatus } from '../building-inspection/building-inspection-list';
15
+ let ChecklistDatabase = class ChecklistDatabase extends PageView {
16
+ constructor() {
17
+ super(...arguments);
18
+ this.projects = [];
19
+ this.projectCount = 0;
20
+ this.searchKeyword = '';
21
+ this.selectedProjectId = '';
22
+ this.selectedProjectName = '';
23
+ this.constructionTypes = [];
24
+ this.allDetailTypes = [];
25
+ }
26
+ get context() {
27
+ return {
28
+ title: '체크리스트 DB'
29
+ };
30
+ }
31
+ render() {
32
+ return html `
33
+ <div header>
34
+ <h2>
35
+ <md-icon slot="icon" back @click=${() => history.back()}>arrow_back</md-icon>
36
+ 체크리스트 DB
37
+ </h2>
38
+ </div>
39
+
40
+ <div body>
41
+ <div left>
42
+ <div section-header>
43
+ <md-icon>apartment</md-icon>
44
+ 프로젝트 목록
45
+ <span count>(${this.projectCount})</span>
46
+ </div>
47
+
48
+ <md-filled-text-field
49
+ type="search"
50
+ label="프로젝트 검색"
51
+ .value=${this.searchKeyword}
52
+ @input=${this._onSearchInput}
53
+ @keypress=${this._onSearchKeypress}
54
+ >
55
+ <md-icon slot="leading-icon">search</md-icon>
56
+ </md-filled-text-field>
57
+
58
+ <div project-list>
59
+ ${this.projects.map(project => {
60
+ var _a, _b, _c, _d;
61
+ return html `
62
+ <div project-card ?selected=${project.id === this.selectedProjectId} @click=${() => this._selectProject(project)}>
63
+ <img
64
+ project-img
65
+ ?no-image=${!((_a = project.mainPhoto) === null || _a === void 0 ? void 0 : _a.fullpath)}
66
+ src=${((_b = project.mainPhoto) === null || _b === void 0 ? void 0 : _b.fullpath) || '/assets/images/no-image.png'}
67
+ />
68
+ <div project-info>
69
+ <div project-name>${project.name}</div>
70
+ <div project-address>${((_c = project.buildingComplex) === null || _c === void 0 ? void 0 : _c.address) || ''}</div>
71
+ <div project-company>${((_d = project.buildingComplex) === null || _d === void 0 ? void 0 : _d.clientCompany) || ''}</div>
72
+ </div>
73
+ </div>
74
+ `;
75
+ })}
76
+ </div>
77
+ </div>
78
+
79
+ <div right>
80
+ <div section-header>
81
+ <md-icon>checklist</md-icon>
82
+ 체크리스트 목록
83
+ ${this.selectedProjectName ? html `<span project-label>- ${this.selectedProjectName}</span>` : ''}
84
+ </div>
85
+
86
+ ${this.selectedProjectId
87
+ ? html `
88
+ <ox-grist .mode=${'GRID'} .config=${this.gristConfig} .fetchHandler=${this._fetchChecklists.bind(this)}></ox-grist>
89
+ `
90
+ : html `
91
+ <div empty-state>
92
+ <md-icon>touch_app</md-icon>
93
+ <p>프로젝트를 선택해주세요</p>
94
+ </div>
95
+ `}
96
+ </div>
97
+ </div>
98
+ `;
99
+ }
100
+ async pageInitialized(lifecycle) {
101
+ await this._init();
102
+ }
103
+ async pageUpdated(changes, lifecycle) {
104
+ if (this.active) {
105
+ await this._init();
106
+ }
107
+ }
108
+ async _init() {
109
+ await this._fetchConstructionTypes();
110
+ this._buildGristConfig();
111
+ await this._fetchProjects();
112
+ }
113
+ async _fetchProjects() {
114
+ var _a, _b, _c, _d;
115
+ const response = await client.query({
116
+ query: gql `
117
+ query Projects($filters: [Filter!], $sortings: [Sorting!]) {
118
+ projects(filters: $filters, sortings: $sortings) {
119
+ items {
120
+ id
121
+ name
122
+ mainPhoto {
123
+ fullpath
124
+ }
125
+ buildingComplex {
126
+ address
127
+ clientCompany
128
+ }
129
+ }
130
+ total
131
+ }
132
+ }
133
+ `,
134
+ variables: {
135
+ filters: this.searchKeyword ? [{ name: 'name', operator: 'search', value: `%${this.searchKeyword}%` }] : [],
136
+ sortings: [{ name: 'createdAt', desc: true }]
137
+ }
138
+ });
139
+ this.projects = ((_b = (_a = response.data) === null || _a === void 0 ? void 0 : _a.projects) === null || _b === void 0 ? void 0 : _b.items) || [];
140
+ this.projectCount = ((_d = (_c = response.data) === null || _c === void 0 ? void 0 : _c.projects) === null || _d === void 0 ? void 0 : _d.total) || 0;
141
+ }
142
+ async _fetchConstructionTypes() {
143
+ var _a, _b;
144
+ const response = await client.query({
145
+ query: gql `
146
+ query {
147
+ constructionTypes {
148
+ items {
149
+ id
150
+ name
151
+ projectType
152
+ constructionDetailTypes {
153
+ id
154
+ name
155
+ sequence
156
+ }
157
+ }
158
+ }
159
+ }
160
+ `
161
+ });
162
+ const items = ((_b = (_a = response.data) === null || _a === void 0 ? void 0 : _a.constructionTypes) === null || _b === void 0 ? void 0 : _b.items) || [];
163
+ this.constructionTypes = items;
164
+ this.allDetailTypes = items.flatMap(ct => (ct.constructionDetailTypes || []).map(dt => (Object.assign(Object.assign({}, dt), { constructionTypeId: ct.id }))));
165
+ }
166
+ _buildGristConfig() {
167
+ this.gristConfig = {
168
+ columns: [
169
+ { type: 'gutter', gutterName: 'sequence' },
170
+ {
171
+ type: 'gutter',
172
+ gutterName: 'button',
173
+ fixed: true,
174
+ icon: 'preview',
175
+ handlers: {
176
+ click: async (columns, data, column, record, rowIndex) => {
177
+ if (!record.id)
178
+ return;
179
+ await this._openPreview(record);
180
+ }
181
+ }
182
+ },
183
+ {
184
+ type: 'string',
185
+ name: 'constructionTypeName',
186
+ header: '공종',
187
+ width: 120
188
+ },
189
+ {
190
+ type: 'string',
191
+ name: 'constructionDetailTypeName',
192
+ header: '세부공종',
193
+ width: 120
194
+ },
195
+ {
196
+ type: 'string',
197
+ name: 'name',
198
+ header: '체크리스트명',
199
+ width: 200
200
+ }
201
+ ],
202
+ rows: {
203
+ selectable: { multiple: false },
204
+ appendable: false
205
+ },
206
+ pagination: { infinite: true }
207
+ };
208
+ }
209
+ async _fetchChecklists() {
210
+ var _a, _b, _c, _d;
211
+ if (!this.selectedProjectId)
212
+ return { total: 0, records: [] };
213
+ const response = await client.query({
214
+ query: gql `
215
+ query ($filters: [Filter!], $sortings: [Sorting!]) {
216
+ projectChecklists(filters: $filters, sortings: $sortings) {
217
+ items {
218
+ id
219
+ projectId
220
+ constructionTypeId
221
+ constructionDetailTypeId
222
+ name
223
+ updatedAt
224
+ }
225
+ total
226
+ }
227
+ }
228
+ `,
229
+ variables: {
230
+ filters: [{ name: 'projectId', value: this.selectedProjectId, operator: 'eq' }],
231
+ sortings: [{ name: 'updatedAt', desc: true }]
232
+ }
233
+ });
234
+ const items = ((_b = (_a = response.data) === null || _a === void 0 ? void 0 : _a.projectChecklists) === null || _b === void 0 ? void 0 : _b.items) || [];
235
+ const records = items.map(item => {
236
+ var _a, _b;
237
+ return (Object.assign(Object.assign({}, item), { constructionTypeName: ((_a = this.constructionTypes.find(ct => ct.id === item.constructionTypeId)) === null || _a === void 0 ? void 0 : _a.name) || '', constructionDetailTypeName: ((_b = this.allDetailTypes.find(dt => dt.id === item.constructionDetailTypeId)) === null || _b === void 0 ? void 0 : _b.name) || '' }));
238
+ });
239
+ return {
240
+ total: ((_d = (_c = response.data) === null || _c === void 0 ? void 0 : _c.projectChecklists) === null || _d === void 0 ? void 0 : _d.total) || 0,
241
+ records
242
+ };
243
+ }
244
+ async _fetchChecklistItems(checklistId) {
245
+ var _a, _b, _c, _d;
246
+ const response = await client.query({
247
+ query: gql `
248
+ query ($filters: [Filter!]) {
249
+ projectChecklists(filters: $filters) {
250
+ items {
251
+ projectChecklistItems {
252
+ id
253
+ mainType
254
+ name
255
+ inspctionCriteria
256
+ sequence
257
+ }
258
+ }
259
+ }
260
+ }
261
+ `,
262
+ variables: {
263
+ filters: [{ name: 'id', value: checklistId, operator: 'eq' }]
264
+ }
265
+ });
266
+ return ((_d = (_c = (_b = (_a = response.data) === null || _a === void 0 ? void 0 : _a.projectChecklists) === null || _b === void 0 ? void 0 : _b.items) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.projectChecklistItems) || [];
267
+ }
268
+ async _openPreview(record) {
269
+ var _a, _b;
270
+ const items = await this._fetchChecklistItems(record.id);
271
+ const ctName = ((_a = this.constructionTypes.find(ct => ct.id === record.constructionTypeId)) === null || _a === void 0 ? void 0 : _a.name) || '';
272
+ const cdtName = ((_b = this.allDetailTypes.find(dt => dt.id === record.constructionDetailTypeId)) === null || _b === void 0 ? void 0 : _b.name) || '';
273
+ const checklist = {
274
+ name: record.name,
275
+ constructionType: ctName,
276
+ constructionDetailType: cdtName,
277
+ location: '',
278
+ documentNo: '',
279
+ inspectionParts: [],
280
+ buildingInspection: {
281
+ status: BuildingInspectionStatus.WAIT
282
+ },
283
+ checklistItems: items.map(item => (Object.assign(Object.assign({}, item), { detailType: '' })))
284
+ };
285
+ openPopup(html `
286
+ <div style="overflow-y: auto;">
287
+ <checklist-view .mode=${"VIEWER" /* ChecklistMode.VIEWER */} .checklist=${checklist}></checklist-view>
288
+ </div>
289
+ `, {
290
+ backdrop: true,
291
+ size: 'large',
292
+ title: `체크리스트 미리보기 - ${record.name}`
293
+ });
294
+ }
295
+ _selectProject(project) {
296
+ this.selectedProjectId = project.id;
297
+ this.selectedProjectName = project.name;
298
+ // grist가 이미 렌더링된 상태면 refetch
299
+ this.updateComplete.then(() => {
300
+ var _a;
301
+ (_a = this.grist) === null || _a === void 0 ? void 0 : _a.fetch();
302
+ });
303
+ }
304
+ _onSearchInput(e) {
305
+ this.searchKeyword = e.target.value;
306
+ }
307
+ _onSearchKeypress(e) {
308
+ if (e.code === 'Enter') {
309
+ this._fetchProjects();
310
+ }
311
+ }
312
+ };
313
+ ChecklistDatabase.styles = [
314
+ ScrollbarStyles,
315
+ CommonGristStyles,
316
+ css `
317
+ :host {
318
+ display: flex;
319
+ flex-direction: column;
320
+ width: 100%;
321
+ height: 100%;
322
+ background-color: var(--md-sys-color-surface);
323
+ }
324
+
325
+ div[header] {
326
+ display: flex;
327
+ align-items: center;
328
+ padding: 0px 12px;
329
+
330
+ h2 {
331
+ display: flex;
332
+ gap: 7px;
333
+ flex: 1;
334
+ margin-bottom: 8px;
335
+ color: #3f71a0;
336
+ font-size: 18px;
337
+
338
+ md-icon[back] {
339
+ background: linear-gradient(135deg, #3f71a0 0%, #5a8cc7 100%);
340
+ color: white;
341
+ padding: 8px;
342
+ border-radius: 50%;
343
+ cursor: pointer;
344
+ box-shadow: 0 2px 8px rgba(63, 113, 160, 0.3);
345
+ width: 14px;
346
+ height: 14px;
347
+ --md-icon-size: 20px;
348
+ }
349
+
350
+ md-icon[back]:hover {
351
+ background: linear-gradient(135deg, #2e5c89 0%, #4a7bb0 100%);
352
+ box-shadow: 0 4px 12px rgba(63, 113, 160, 0.4);
353
+ }
354
+ }
355
+ }
356
+
357
+ div[body] {
358
+ display: grid;
359
+ grid-template-columns: 2fr 3fr;
360
+ gap: 15px;
361
+ flex: 1;
362
+ padding: 15px;
363
+ overflow: hidden;
364
+ }
365
+
366
+ div[left],
367
+ div[right] {
368
+ display: flex;
369
+ flex-direction: column;
370
+ overflow: hidden;
371
+ border: 1px solid #ddd;
372
+ border-radius: 8px;
373
+ padding: 15px;
374
+ }
375
+
376
+ div[section-header] {
377
+ font-size: 16px;
378
+ font-weight: 600;
379
+ margin-bottom: 10px;
380
+ color: #0595e5;
381
+ display: flex;
382
+ align-items: center;
383
+ gap: 6px;
384
+
385
+ span[count] {
386
+ font-size: 13px;
387
+ color: #999;
388
+ font-weight: 400;
389
+ }
390
+
391
+ span[project-label] {
392
+ font-size: 14px;
393
+ color: #666;
394
+ font-weight: 400;
395
+ }
396
+ }
397
+
398
+ md-filled-text-field {
399
+ width: 100%;
400
+ margin-bottom: 10px;
401
+ --md-filled-text-field-container-color: transparent;
402
+ --md-filled-text-field-active-indicator-color: #999;
403
+ --md-filled-text-field-input-text-size: 14px;
404
+ }
405
+
406
+ div[project-list] {
407
+ flex: 1;
408
+ overflow-y: auto;
409
+ }
410
+
411
+ div[project-card] {
412
+ display: flex;
413
+ gap: 10px;
414
+ padding: 8px;
415
+ border: 1px solid #e0e0e0;
416
+ border-radius: 6px;
417
+ margin-bottom: 8px;
418
+ cursor: pointer;
419
+ transition: all 0.2s;
420
+ overflow: hidden;
421
+ }
422
+
423
+ div[project-card]:hover {
424
+ border-color: #0595e5;
425
+ background-color: #f0f7ff;
426
+ }
427
+
428
+ div[project-card][selected] {
429
+ border-color: #0595e5;
430
+ background-color: #e3f2fd;
431
+ box-shadow: 0 2px 4px rgba(5, 149, 229, 0.2);
432
+ }
433
+
434
+ img[project-img] {
435
+ width: 80px;
436
+ height: 60px;
437
+ object-fit: cover;
438
+ border-radius: 4px;
439
+ background-color: #cccccc80;
440
+ flex-shrink: 0;
441
+ }
442
+
443
+ img[project-img][no-image] {
444
+ object-fit: contain;
445
+ opacity: 0.5;
446
+ }
447
+
448
+ div[project-info] {
449
+ flex: 1;
450
+ min-width: 0;
451
+ display: flex;
452
+ flex-direction: column;
453
+ justify-content: center;
454
+ }
455
+
456
+ div[project-name] {
457
+ font-weight: 600;
458
+ color: #2e79be;
459
+ margin-bottom: 4px;
460
+ white-space: nowrap;
461
+ overflow: hidden;
462
+ text-overflow: ellipsis;
463
+ }
464
+
465
+ div[project-address],
466
+ div[project-company] {
467
+ font-size: 12px;
468
+ color: #888;
469
+ white-space: nowrap;
470
+ overflow: hidden;
471
+ text-overflow: ellipsis;
472
+ }
473
+
474
+ ox-grist {
475
+ flex: 1;
476
+ overflow-y: auto;
477
+ }
478
+
479
+ div[empty-state] {
480
+ flex: 1;
481
+ display: flex;
482
+ flex-direction: column;
483
+ align-items: center;
484
+ justify-content: center;
485
+ color: #aaa;
486
+
487
+ md-icon {
488
+ font-size: 64px;
489
+ margin-bottom: 16px;
490
+ color: #ddd;
491
+ }
492
+
493
+ p {
494
+ font-size: 16px;
495
+ }
496
+ }
497
+ `
498
+ ];
499
+ __decorate([
500
+ state(),
501
+ __metadata("design:type", Array)
502
+ ], ChecklistDatabase.prototype, "projects", void 0);
503
+ __decorate([
504
+ state(),
505
+ __metadata("design:type", Number)
506
+ ], ChecklistDatabase.prototype, "projectCount", void 0);
507
+ __decorate([
508
+ state(),
509
+ __metadata("design:type", String)
510
+ ], ChecklistDatabase.prototype, "searchKeyword", void 0);
511
+ __decorate([
512
+ state(),
513
+ __metadata("design:type", String)
514
+ ], ChecklistDatabase.prototype, "selectedProjectId", void 0);
515
+ __decorate([
516
+ state(),
517
+ __metadata("design:type", String)
518
+ ], ChecklistDatabase.prototype, "selectedProjectName", void 0);
519
+ __decorate([
520
+ state(),
521
+ __metadata("design:type", Array)
522
+ ], ChecklistDatabase.prototype, "constructionTypes", void 0);
523
+ __decorate([
524
+ state(),
525
+ __metadata("design:type", Array)
526
+ ], ChecklistDatabase.prototype, "allDetailTypes", void 0);
527
+ __decorate([
528
+ state(),
529
+ __metadata("design:type", Object)
530
+ ], ChecklistDatabase.prototype, "gristConfig", void 0);
531
+ __decorate([
532
+ query('ox-grist'),
533
+ __metadata("design:type", DataGrist)
534
+ ], ChecklistDatabase.prototype, "grist", void 0);
535
+ ChecklistDatabase = __decorate([
536
+ customElement('checklist-database')
537
+ ], ChecklistDatabase);
538
+ export { ChecklistDatabase };
539
+ //# sourceMappingURL=checklist-database.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checklist-database.js","sourceRoot":"","sources":["../../../client/pages/checklist-database/checklist-database.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/icon/icon.js'\nimport '@material/web/textfield/filled-text-field.js'\nimport '@operato/data-grist'\nimport '../checklist/checklist-view'\n\nimport { CommonGristStyles, ScrollbarStyles } from '@operato/styles'\nimport { PageView } 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 { DataGrist } from '@operato/data-grist'\nimport { client } from '@operato/graphql'\nimport { openPopup } from '@operato/layout'\nimport gql from 'graphql-tag'\nimport { ChecklistMode } from '../checklist/checklist-view'\nimport { BuildingInspectionStatus } from '../building-inspection/building-inspection-list'\n\n@customElement('checklist-database')\nexport class ChecklistDatabase extends PageView {\n static styles = [\n ScrollbarStyles,\n CommonGristStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n background-color: var(--md-sys-color-surface);\n }\n\n div[header] {\n display: flex;\n align-items: center;\n padding: 0px 12px;\n\n h2 {\n display: flex;\n gap: 7px;\n flex: 1;\n margin-bottom: 8px;\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[body] {\n display: grid;\n grid-template-columns: 2fr 3fr;\n gap: 15px;\n flex: 1;\n padding: 15px;\n overflow: hidden;\n }\n\n div[left],\n div[right] {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n border: 1px solid #ddd;\n border-radius: 8px;\n padding: 15px;\n }\n\n div[section-header] {\n font-size: 16px;\n font-weight: 600;\n margin-bottom: 10px;\n color: #0595e5;\n display: flex;\n align-items: center;\n gap: 6px;\n\n span[count] {\n font-size: 13px;\n color: #999;\n font-weight: 400;\n }\n\n span[project-label] {\n font-size: 14px;\n color: #666;\n font-weight: 400;\n }\n }\n\n md-filled-text-field {\n width: 100%;\n margin-bottom: 10px;\n --md-filled-text-field-container-color: transparent;\n --md-filled-text-field-active-indicator-color: #999;\n --md-filled-text-field-input-text-size: 14px;\n }\n\n div[project-list] {\n flex: 1;\n overflow-y: auto;\n }\n\n div[project-card] {\n display: flex;\n gap: 10px;\n padding: 8px;\n border: 1px solid #e0e0e0;\n border-radius: 6px;\n margin-bottom: 8px;\n cursor: pointer;\n transition: all 0.2s;\n overflow: hidden;\n }\n\n div[project-card]:hover {\n border-color: #0595e5;\n background-color: #f0f7ff;\n }\n\n div[project-card][selected] {\n border-color: #0595e5;\n background-color: #e3f2fd;\n box-shadow: 0 2px 4px rgba(5, 149, 229, 0.2);\n }\n\n img[project-img] {\n width: 80px;\n height: 60px;\n object-fit: cover;\n border-radius: 4px;\n background-color: #cccccc80;\n flex-shrink: 0;\n }\n\n img[project-img][no-image] {\n object-fit: contain;\n opacity: 0.5;\n }\n\n div[project-info] {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n justify-content: center;\n }\n\n div[project-name] {\n font-weight: 600;\n color: #2e79be;\n margin-bottom: 4px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n div[project-address],\n div[project-company] {\n font-size: 12px;\n color: #888;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n ox-grist {\n flex: 1;\n overflow-y: auto;\n }\n\n div[empty-state] {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n color: #aaa;\n\n md-icon {\n font-size: 64px;\n margin-bottom: 16px;\n color: #ddd;\n }\n\n p {\n font-size: 16px;\n }\n }\n `\n ]\n\n @state() private projects: any[] = []\n @state() private projectCount: number = 0\n @state() private searchKeyword: string = ''\n @state() private selectedProjectId: string = ''\n @state() private selectedProjectName: string = ''\n @state() private constructionTypes: any[] = []\n @state() private allDetailTypes: any[] = []\n @state() private gristConfig: any\n\n @query('ox-grist') grist!: DataGrist\n\n get context() {\n return {\n title: '체크리스트 DB'\n }\n }\n\n render() {\n return html`\n <div header>\n <h2>\n <md-icon slot=\"icon\" back @click=${() => history.back()}>arrow_back</md-icon>\n 체크리스트 DB\n </h2>\n </div>\n\n <div body>\n <div left>\n <div section-header>\n <md-icon>apartment</md-icon>\n 프로젝트 목록\n <span count>(${this.projectCount})</span>\n </div>\n\n <md-filled-text-field\n type=\"search\"\n label=\"프로젝트 검색\"\n .value=${this.searchKeyword}\n @input=${this._onSearchInput}\n @keypress=${this._onSearchKeypress}\n >\n <md-icon slot=\"leading-icon\">search</md-icon>\n </md-filled-text-field>\n\n <div project-list>\n ${this.projects.map(\n project => html`\n <div project-card ?selected=${project.id === this.selectedProjectId} @click=${() => this._selectProject(project)}>\n <img\n project-img\n ?no-image=${!project.mainPhoto?.fullpath}\n src=${project.mainPhoto?.fullpath || '/assets/images/no-image.png'}\n />\n <div project-info>\n <div project-name>${project.name}</div>\n <div project-address>${project.buildingComplex?.address || ''}</div>\n <div project-company>${project.buildingComplex?.clientCompany || ''}</div>\n </div>\n </div>\n `\n )}\n </div>\n </div>\n\n <div right>\n <div section-header>\n <md-icon>checklist</md-icon>\n 체크리스트 목록\n ${this.selectedProjectName ? html`<span project-label>- ${this.selectedProjectName}</span>` : ''}\n </div>\n\n ${this.selectedProjectId\n ? html`\n <ox-grist .mode=${'GRID'} .config=${this.gristConfig} .fetchHandler=${this._fetchChecklists.bind(this)}></ox-grist>\n `\n : html`\n <div empty-state>\n <md-icon>touch_app</md-icon>\n <p>프로젝트를 선택해주세요</p>\n </div>\n `}\n </div>\n </div>\n `\n }\n\n async pageInitialized(lifecycle: PageLifecycle) {\n await this._init()\n }\n\n async pageUpdated(changes: any, lifecycle: PageLifecycle) {\n if (this.active) {\n await this._init()\n }\n }\n\n private async _init() {\n await this._fetchConstructionTypes()\n this._buildGristConfig()\n await this._fetchProjects()\n }\n\n private async _fetchProjects() {\n const response = await client.query({\n query: gql`\n query Projects($filters: [Filter!], $sortings: [Sorting!]) {\n projects(filters: $filters, sortings: $sortings) {\n items {\n id\n name\n mainPhoto {\n fullpath\n }\n buildingComplex {\n address\n clientCompany\n }\n }\n total\n }\n }\n `,\n variables: {\n filters: this.searchKeyword ? [{ name: 'name', operator: 'search', value: `%${this.searchKeyword}%` }] : [],\n sortings: [{ name: 'createdAt', desc: true }]\n }\n })\n\n this.projects = response.data?.projects?.items || []\n this.projectCount = response.data?.projects?.total || 0\n }\n\n private async _fetchConstructionTypes() {\n const response = await client.query({\n query: gql`\n query {\n constructionTypes {\n items {\n id\n name\n projectType\n constructionDetailTypes {\n id\n name\n sequence\n }\n }\n }\n }\n `\n })\n\n const items = response.data?.constructionTypes?.items || []\n this.constructionTypes = items\n this.allDetailTypes = items.flatMap(ct =>\n (ct.constructionDetailTypes || []).map(dt => ({\n ...dt,\n constructionTypeId: ct.id\n }))\n )\n }\n\n private _buildGristConfig() {\n this.gristConfig = {\n columns: [\n { type: 'gutter', gutterName: 'sequence' },\n {\n type: 'gutter',\n gutterName: 'button',\n fixed: true,\n icon: 'preview',\n handlers: {\n click: async (columns, data, column, record, rowIndex) => {\n if (!record.id) return\n await this._openPreview(record)\n }\n }\n },\n {\n type: 'string',\n name: 'constructionTypeName',\n header: '공종',\n width: 120\n },\n {\n type: 'string',\n name: 'constructionDetailTypeName',\n header: '세부공종',\n width: 120\n },\n {\n type: 'string',\n name: 'name',\n header: '체크리스트명',\n width: 200\n }\n ],\n rows: {\n selectable: { multiple: false },\n appendable: false\n },\n pagination: { infinite: true }\n }\n }\n\n private async _fetchChecklists() {\n if (!this.selectedProjectId) return { total: 0, records: [] }\n\n const response = await client.query({\n query: gql`\n query ($filters: [Filter!], $sortings: [Sorting!]) {\n projectChecklists(filters: $filters, sortings: $sortings) {\n items {\n id\n projectId\n constructionTypeId\n constructionDetailTypeId\n name\n updatedAt\n }\n total\n }\n }\n `,\n variables: {\n filters: [{ name: 'projectId', value: this.selectedProjectId, operator: 'eq' }],\n sortings: [{ name: 'updatedAt', desc: true }]\n }\n })\n\n const items = response.data?.projectChecklists?.items || []\n const records = items.map(item => ({\n ...item,\n constructionTypeName: this.constructionTypes.find(ct => ct.id === item.constructionTypeId)?.name || '',\n constructionDetailTypeName: this.allDetailTypes.find(dt => dt.id === item.constructionDetailTypeId)?.name || ''\n }))\n\n return {\n total: response.data?.projectChecklists?.total || 0,\n records\n }\n }\n\n private async _fetchChecklistItems(checklistId: string): Promise<any[]> {\n const response = await client.query({\n query: gql`\n query ($filters: [Filter!]) {\n projectChecklists(filters: $filters) {\n items {\n projectChecklistItems {\n id\n mainType\n name\n inspctionCriteria\n sequence\n }\n }\n }\n }\n `,\n variables: {\n filters: [{ name: 'id', value: checklistId, operator: 'eq' }]\n }\n })\n\n return response.data?.projectChecklists?.items?.[0]?.projectChecklistItems || []\n }\n\n private async _openPreview(record: any) {\n const items = await this._fetchChecklistItems(record.id)\n const ctName = this.constructionTypes.find(ct => ct.id === record.constructionTypeId)?.name || ''\n const cdtName = this.allDetailTypes.find(dt => dt.id === record.constructionDetailTypeId)?.name || ''\n\n const checklist = {\n name: record.name,\n constructionType: ctName,\n constructionDetailType: cdtName,\n location: '',\n documentNo: '',\n inspectionParts: [],\n buildingInspection: {\n status: BuildingInspectionStatus.WAIT\n },\n checklistItems: items.map(item => ({\n ...item,\n detailType: ''\n }))\n }\n\n openPopup(\n html`\n <div style=\"overflow-y: auto;\">\n <checklist-view .mode=${ChecklistMode.VIEWER} .checklist=${checklist}></checklist-view>\n </div>\n `,\n {\n backdrop: true,\n size: 'large',\n title: `체크리스트 미리보기 - ${record.name}`\n }\n )\n }\n\n private _selectProject(project: any) {\n this.selectedProjectId = project.id\n this.selectedProjectName = project.name\n\n // grist가 이미 렌더링된 상태면 refetch\n this.updateComplete.then(() => {\n this.grist?.fetch()\n })\n }\n\n private _onSearchInput(e: InputEvent) {\n this.searchKeyword = (e.target as HTMLInputElement).value\n }\n\n private _onSearchKeypress(e: KeyboardEvent) {\n if (e.code === 'Enter') {\n this._fetchProjects()\n }\n }\n}\n"]}
@@ -20,6 +20,7 @@ let ChecklistTemplateItem = class ChecklistTemplateItem extends LitElement {
20
20
  `;
21
21
  }
22
22
  async firstUpdated() {
23
+ const projectType = await this.getProjectType();
23
24
  this.gristConfig = {
24
25
  columns: [
25
26
  { type: 'gutter', gutterName: 'row-selector', multiple: true },
@@ -80,7 +81,7 @@ let ChecklistTemplateItem = class ChecklistTemplateItem extends LitElement {
80
81
  ...this.checklistDetailTypes.filter(v => v.mainType == column.mainType)
81
82
  ]
82
83
  },
83
- width: 250
84
+ width: 200
84
85
  },
85
86
  {
86
87
  type: 'string',
@@ -89,16 +90,39 @@ let ChecklistTemplateItem = class ChecklistTemplateItem extends LitElement {
89
90
  record: {
90
91
  editable: true
91
92
  },
92
- width: 250
93
+ width: 200
93
94
  },
94
95
  {
95
96
  type: 'string',
96
97
  name: 'inspctionCriteria',
97
98
  header: '검사 기준',
99
+ hidden: projectType === 'DSSP', // DSSP는 AI 검사 기준 숨김
98
100
  record: {
99
- editable: true
101
+ editable: false
100
102
  },
101
103
  width: 250
104
+ },
105
+ {
106
+ type: 'string',
107
+ name: 'criteriaRequestStatus',
108
+ header: '검사 기준 요청 상태',
109
+ hidden: projectType === 'DSSP', // DSSP는 AI 검사 기준 숨김
110
+ record: {
111
+ align: 'center',
112
+ editable: false
113
+ },
114
+ width: 150
115
+ },
116
+ {
117
+ type: 'string',
118
+ name: 'inspctionCriteriaText',
119
+ header: '검사 기준',
120
+ hidden: projectType !== 'DSSP', // DSSP는 검사 기준을 텍스트로
121
+ record: {
122
+ align: 'center',
123
+ editable: true
124
+ },
125
+ width: 150
102
126
  }
103
127
  ],
104
128
  rows: {
@@ -112,6 +136,16 @@ let ChecklistTemplateItem = class ChecklistTemplateItem extends LitElement {
112
136
  sorters: [{ name: 'mainType' }, { name: 'sequence' }]
113
137
  };
114
138
  }
139
+ async getProjectType() {
140
+ const response = await client.query({
141
+ query: gql `
142
+ query {
143
+ currentProjectType
144
+ }
145
+ `
146
+ });
147
+ return response.data.currentProjectType;
148
+ }
115
149
  async fetchHandler({ page, limit, sorters = [] }) {
116
150
  const response = await client.query({
117
151
  query: gql `
@@ -124,6 +158,8 @@ let ChecklistTemplateItem = class ChecklistTemplateItem extends LitElement {
124
158
  inspctionCriteria
125
159
  mainType
126
160
  detailType
161
+ criteriaRequestStatus
162
+ inspctionCriteriaText
127
163
  }
128
164
  }
129
165
  }