@dssp/project 1.0.0-y.0 → 1.0.0

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 (318) hide show
  1. package/package.json +15 -15
  2. package/dist-client/bootstrap.d.ts +0 -0
  3. package/dist-client/bootstrap.js +0 -2
  4. package/dist-client/bootstrap.js.map +0 -1
  5. package/dist-client/index.d.ts +0 -1
  6. package/dist-client/index.js +0 -2
  7. package/dist-client/index.js.map +0 -1
  8. package/dist-client/pages/lib/chatbot-widget.d.ts +0 -53
  9. package/dist-client/pages/lib/chatbot-widget.js +0 -631
  10. package/dist-client/pages/lib/chatbot-widget.js.map +0 -1
  11. package/dist-client/pages/lib/select2-component.d.ts +0 -23
  12. package/dist-client/pages/lib/select2-component.js +0 -181
  13. package/dist-client/pages/lib/select2-component.js.map +0 -1
  14. package/dist-client/pages/lib/waether.d.ts +0 -7
  15. package/dist-client/pages/lib/waether.js +0 -156
  16. package/dist-client/pages/lib/waether.js.map +0 -1
  17. package/dist-client/pages/project/component/pagenation.d.ts +0 -18
  18. package/dist-client/pages/project/component/pagenation.js +0 -142
  19. package/dist-client/pages/project/component/pagenation.js.map +0 -1
  20. package/dist-client/pages/project/component/project-update-header.d.ts +0 -1
  21. package/dist-client/pages/project/component/project-update-header.js +0 -121
  22. package/dist-client/pages/project/component/project-update-header.js.map +0 -1
  23. package/dist-client/pages/project/popup/checklist/task-checklist-attachment-list-popup.d.ts +0 -1
  24. package/dist-client/pages/project/popup/checklist/task-checklist-attachment-list-popup.js +0 -309
  25. package/dist-client/pages/project/popup/checklist/task-checklist-attachment-list-popup.js.map +0 -1
  26. package/dist-client/pages/project/popup/checklist/task-checklist-comment-list-popup.d.ts +0 -1
  27. package/dist-client/pages/project/popup/checklist/task-checklist-comment-list-popup.js +0 -357
  28. package/dist-client/pages/project/popup/checklist/task-checklist-comment-list-popup.js.map +0 -1
  29. package/dist-client/pages/project/popup/checklist/task-checklist-create-popup.d.ts +0 -1
  30. package/dist-client/pages/project/popup/checklist/task-checklist-create-popup.js +0 -681
  31. package/dist-client/pages/project/popup/checklist/task-checklist-create-popup.js.map +0 -1
  32. package/dist-client/pages/project/popup/checklist/task-checklist-view.d.ts +0 -32
  33. package/dist-client/pages/project/popup/checklist/task-checklist-view.js +0 -621
  34. package/dist-client/pages/project/popup/checklist/task-checklist-view.js.map +0 -1
  35. package/dist-client/pages/project/popup/popup-plan-export.d.ts +0 -10
  36. package/dist-client/pages/project/popup/popup-plan-export.js +0 -242
  37. package/dist-client/pages/project/popup/popup-plan-export.js.map +0 -1
  38. package/dist-client/pages/project/popup/popup-plan-upload.d.ts +0 -13
  39. package/dist-client/pages/project/popup/popup-plan-upload.js +0 -265
  40. package/dist-client/pages/project/popup/popup-plan-upload.js.map +0 -1
  41. package/dist-client/pages/project/popup/popup-project-create.d.ts +0 -12
  42. package/dist-client/pages/project/popup/popup-project-create.js +0 -152
  43. package/dist-client/pages/project/popup/popup-project-create.js.map +0 -1
  44. package/dist-client/pages/project/popup/popup-task-upload.d.ts +0 -9
  45. package/dist-client/pages/project/popup/popup-task-upload.js +0 -105
  46. package/dist-client/pages/project/popup/popup-task-upload.js.map +0 -1
  47. package/dist-client/pages/project/project-completed-list.d.ts +0 -23
  48. package/dist-client/pages/project/project-completed-list.js +0 -322
  49. package/dist-client/pages/project/project-completed-list.js.map +0 -1
  50. package/dist-client/pages/project/project-detail.d.ts +0 -41
  51. package/dist-client/pages/project/project-detail.js +0 -959
  52. package/dist-client/pages/project/project-detail.js.map +0 -1
  53. package/dist-client/pages/project/project-list.d.ts +0 -185
  54. package/dist-client/pages/project/project-list.js +0 -402
  55. package/dist-client/pages/project/project-list.js.map +0 -1
  56. package/dist-client/pages/project/project-plan-management.d.ts +0 -33
  57. package/dist-client/pages/project/project-plan-management.js +0 -487
  58. package/dist-client/pages/project/project-plan-management.js.map +0 -1
  59. package/dist-client/pages/project/project-setting-list.d.ts +0 -29
  60. package/dist-client/pages/project/project-setting-list.js +0 -431
  61. package/dist-client/pages/project/project-setting-list.js.map +0 -1
  62. package/dist-client/pages/project/project-task-list.d.ts +0 -18
  63. package/dist-client/pages/project/project-task-list.js +0 -306
  64. package/dist-client/pages/project/project-task-list.js.map +0 -1
  65. package/dist-client/pages/project/project-task.d.ts +0 -51
  66. package/dist-client/pages/project/project-task.js +0 -686
  67. package/dist-client/pages/project/project-task.js.map +0 -1
  68. package/dist-client/pages/project/project-update.d.ts +0 -47
  69. package/dist-client/pages/project/project-update.js +0 -1197
  70. package/dist-client/pages/project/project-update.js.map +0 -1
  71. package/dist-client/pages/resource/construction-detail-type-popup.d.ts +0 -2
  72. package/dist-client/pages/resource/construction-detail-type-popup.js +0 -197
  73. package/dist-client/pages/resource/construction-detail-type-popup.js.map +0 -1
  74. package/dist-client/pages/resource/construction-type-management.d.ts +0 -34
  75. package/dist-client/pages/resource/construction-type-management.js +0 -200
  76. package/dist-client/pages/resource/construction-type-management.js.map +0 -1
  77. package/dist-client/pages/resource/inspection-drawing-type-management.d.ts +0 -48
  78. package/dist-client/pages/resource/inspection-drawing-type-management.js +0 -234
  79. package/dist-client/pages/resource/inspection-drawing-type-management.js.map +0 -1
  80. package/dist-client/pages/resource/inspection-part-popup.d.ts +0 -2
  81. package/dist-client/pages/resource/inspection-part-popup.js +0 -197
  82. package/dist-client/pages/resource/inspection-part-popup.js.map +0 -1
  83. package/dist-client/pages/resource/resource-importer.d.ts +0 -10
  84. package/dist-client/pages/resource/resource-importer.js +0 -101
  85. package/dist-client/pages/resource/resource-importer.js.map +0 -1
  86. package/dist-client/pages/resource/resource-list-page.d.ts +0 -63
  87. package/dist-client/pages/resource/resource-list-page.js +0 -332
  88. package/dist-client/pages/resource/resource-list-page.js.map +0 -1
  89. package/dist-client/pages/resource/worker-type-management.d.ts +0 -34
  90. package/dist-client/pages/resource/worker-type-management.js +0 -180
  91. package/dist-client/pages/resource/worker-type-management.js.map +0 -1
  92. package/dist-client/pages/task/task-importer.d.ts +0 -10
  93. package/dist-client/pages/task/task-importer.js +0 -101
  94. package/dist-client/pages/task/task-importer.js.map +0 -1
  95. package/dist-client/pages/task/task-list-page.d.ts +0 -63
  96. package/dist-client/pages/task/task-list-page.js +0 -323
  97. package/dist-client/pages/task/task-list-page.js.map +0 -1
  98. package/dist-client/pages/task-resource/task-resource-importer.d.ts +0 -10
  99. package/dist-client/pages/task-resource/task-resource-importer.js +0 -101
  100. package/dist-client/pages/task-resource/task-resource-importer.js.map +0 -1
  101. package/dist-client/pages/task-resource/task-resource-list-page.d.ts +0 -63
  102. package/dist-client/pages/task-resource/task-resource-list-page.js +0 -332
  103. package/dist-client/pages/task-resource/task-resource-list-page.js.map +0 -1
  104. package/dist-client/route.d.ts +0 -1
  105. package/dist-client/route.js +0 -44
  106. package/dist-client/route.js.map +0 -1
  107. package/dist-client/tsconfig.tsbuildinfo +0 -1
  108. package/dist-server/controllers/export-tasks.d.ts +0 -7
  109. package/dist-server/controllers/export-tasks.js +0 -29
  110. package/dist-server/controllers/export-tasks.js.map +0 -1
  111. package/dist-server/controllers/import-task.d.ts +0 -3
  112. package/dist-server/controllers/import-task.js +0 -113
  113. package/dist-server/controllers/import-task.js.map +0 -1
  114. package/dist-server/controllers/index.d.ts +0 -0
  115. package/dist-server/controllers/index.js +0 -1
  116. package/dist-server/controllers/index.js.map +0 -1
  117. package/dist-server/controllers/parse-excel.d.ts +0 -2
  118. package/dist-server/controllers/parse-excel.js +0 -74
  119. package/dist-server/controllers/parse-excel.js.map +0 -1
  120. package/dist-server/controllers/types.d.ts +0 -18
  121. package/dist-server/controllers/types.js +0 -3
  122. package/dist-server/controllers/types.js.map +0 -1
  123. package/dist-server/index.d.ts +0 -3
  124. package/dist-server/index.js +0 -7
  125. package/dist-server/index.js.map +0 -1
  126. package/dist-server/middlewares/index.d.ts +0 -1
  127. package/dist-server/middlewares/index.js +0 -7
  128. package/dist-server/middlewares/index.js.map +0 -1
  129. package/dist-server/migrations/1723861466413-seed-roles.d.ts +0 -5
  130. package/dist-server/migrations/1723861466413-seed-roles.js +0 -117
  131. package/dist-server/migrations/1723861466413-seed-roles.js.map +0 -1
  132. package/dist-server/migrations/1723861466414-seed-codes.d.ts +0 -5
  133. package/dist-server/migrations/1723861466414-seed-codes.js +0 -150
  134. package/dist-server/migrations/1723861466414-seed-codes.js.map +0 -1
  135. package/dist-server/migrations/1723861476419-seed-resources.d.ts +0 -5
  136. package/dist-server/migrations/1723861476419-seed-resources.js +0 -57
  137. package/dist-server/migrations/1723861476419-seed-resources.js.map +0 -1
  138. package/dist-server/migrations/1723861478420-seed-/bsample-project.d.ts +0 -5
  139. package/dist-server/migrations/1723861478420-seed-/bsample-project.js +0 -68
  140. package/dist-server/migrations/1723861478420-seed-/bsample-project.js.map +0 -1
  141. package/dist-server/migrations/1723861478421-seed-/bsample-tasks.d.ts +0 -5
  142. package/dist-server/migrations/1723861478421-seed-/bsample-tasks.js +0 -189
  143. package/dist-server/migrations/1723861478421-seed-/bsample-tasks.js.map +0 -1
  144. package/dist-server/migrations/index.d.ts +0 -1
  145. package/dist-server/migrations/index.js +0 -12
  146. package/dist-server/migrations/index.js.map +0 -1
  147. package/dist-server/routes.d.ts +0 -1
  148. package/dist-server/routes.js +0 -105
  149. package/dist-server/routes.js.map +0 -1
  150. package/dist-server/service/construction-detail-type/construction-detail-type-mutation.d.ts +0 -6
  151. package/dist-server/service/construction-detail-type/construction-detail-type-mutation.js +0 -56
  152. package/dist-server/service/construction-detail-type/construction-detail-type-mutation.js.map +0 -1
  153. package/dist-server/service/construction-detail-type/construction-detail-type-query.d.ts +0 -9
  154. package/dist-server/service/construction-detail-type/construction-detail-type-query.js +0 -53
  155. package/dist-server/service/construction-detail-type/construction-detail-type-query.js.map +0 -1
  156. package/dist-server/service/construction-detail-type/construction-detail-type-type.d.ts +0 -11
  157. package/dist-server/service/construction-detail-type/construction-detail-type-type.js +0 -43
  158. package/dist-server/service/construction-detail-type/construction-detail-type-type.js.map +0 -1
  159. package/dist-server/service/construction-detail-type/construction-detail-type.d.ts +0 -15
  160. package/dist-server/service/construction-detail-type/construction-detail-type.js +0 -69
  161. package/dist-server/service/construction-detail-type/construction-detail-type.js.map +0 -1
  162. package/dist-server/service/construction-detail-type/index.d.ts +0 -5
  163. package/dist-server/service/construction-detail-type/index.js +0 -9
  164. package/dist-server/service/construction-detail-type/index.js.map +0 -1
  165. package/dist-server/service/construction-type/construction-type-mutation.d.ts +0 -6
  166. package/dist-server/service/construction-type/construction-type-mutation.js +0 -64
  167. package/dist-server/service/construction-type/construction-type-mutation.js.map +0 -1
  168. package/dist-server/service/construction-type/construction-type-query.d.ts +0 -13
  169. package/dist-server/service/construction-type/construction-type-query.js +0 -92
  170. package/dist-server/service/construction-type/construction-type-query.js.map +0 -1
  171. package/dist-server/service/construction-type/construction-type-type.d.ts +0 -11
  172. package/dist-server/service/construction-type/construction-type-type.js +0 -43
  173. package/dist-server/service/construction-type/construction-type-type.js.map +0 -1
  174. package/dist-server/service/construction-type/construction-type.d.ts +0 -18
  175. package/dist-server/service/construction-type/construction-type.js +0 -83
  176. package/dist-server/service/construction-type/construction-type.js.map +0 -1
  177. package/dist-server/service/construction-type/index.d.ts +0 -5
  178. package/dist-server/service/construction-type/index.js +0 -9
  179. package/dist-server/service/construction-type/index.js.map +0 -1
  180. package/dist-server/service/index.d.ts +0 -15
  181. package/dist-server/service/index.js +0 -59
  182. package/dist-server/service/index.js.map +0 -1
  183. package/dist-server/service/inspection-drawing-type/index.d.ts +0 -5
  184. package/dist-server/service/inspection-drawing-type/index.js +0 -9
  185. package/dist-server/service/inspection-drawing-type/index.js.map +0 -1
  186. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-mutation.d.ts +0 -6
  187. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-mutation.js +0 -64
  188. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-mutation.js.map +0 -1
  189. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-query.d.ts +0 -12
  190. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-query.js +0 -83
  191. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-query.js.map +0 -1
  192. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-type.d.ts +0 -10
  193. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-type.js +0 -39
  194. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-type.js.map +0 -1
  195. package/dist-server/service/inspection-drawing-type/inspection-drawing-type.d.ts +0 -16
  196. package/dist-server/service/inspection-drawing-type/inspection-drawing-type.js +0 -72
  197. package/dist-server/service/inspection-drawing-type/inspection-drawing-type.js.map +0 -1
  198. package/dist-server/service/inspection-part/index.d.ts +0 -5
  199. package/dist-server/service/inspection-part/index.js +0 -9
  200. package/dist-server/service/inspection-part/index.js.map +0 -1
  201. package/dist-server/service/inspection-part/inspection-part-mutation.d.ts +0 -6
  202. package/dist-server/service/inspection-part/inspection-part-mutation.js +0 -55
  203. package/dist-server/service/inspection-part/inspection-part-mutation.js.map +0 -1
  204. package/dist-server/service/inspection-part/inspection-part-query.d.ts +0 -10
  205. package/dist-server/service/inspection-part/inspection-part-query.js +0 -66
  206. package/dist-server/service/inspection-part/inspection-part-query.js.map +0 -1
  207. package/dist-server/service/inspection-part/inspection-part-type.d.ts +0 -11
  208. package/dist-server/service/inspection-part/inspection-part-type.js +0 -43
  209. package/dist-server/service/inspection-part/inspection-part-type.js.map +0 -1
  210. package/dist-server/service/inspection-part/inspection-part.d.ts +0 -15
  211. package/dist-server/service/inspection-part/inspection-part.js +0 -69
  212. package/dist-server/service/inspection-part/inspection-part.js.map +0 -1
  213. package/dist-server/service/manager/index.d.ts +0 -7
  214. package/dist-server/service/manager/index.js +0 -11
  215. package/dist-server/service/manager/index.js.map +0 -1
  216. package/dist-server/service/manager/manager-mutation.d.ts +0 -5
  217. package/dist-server/service/manager/manager-mutation.js +0 -39
  218. package/dist-server/service/manager/manager-mutation.js.map +0 -1
  219. package/dist-server/service/manager/manager-query.d.ts +0 -4
  220. package/dist-server/service/manager/manager-query.js +0 -39
  221. package/dist-server/service/manager/manager-query.js.map +0 -1
  222. package/dist-server/service/manager/manager-type.d.ts +0 -15
  223. package/dist-server/service/manager/manager-type.js +0 -62
  224. package/dist-server/service/manager/manager-type.js.map +0 -1
  225. package/dist-server/service/manager/manager.d.ts +0 -8
  226. package/dist-server/service/manager/manager.js +0 -41
  227. package/dist-server/service/manager/manager.js.map +0 -1
  228. package/dist-server/service/project/index.d.ts +0 -5
  229. package/dist-server/service/project/index.js +0 -9
  230. package/dist-server/service/project/index.js.map +0 -1
  231. package/dist-server/service/project/project-mutation.d.ts +0 -12
  232. package/dist-server/service/project/project-mutation.js +0 -339
  233. package/dist-server/service/project/project-mutation.js.map +0 -1
  234. package/dist-server/service/project/project-query.d.ts +0 -23
  235. package/dist-server/service/project/project-query.js +0 -215
  236. package/dist-server/service/project/project-query.js.map +0 -1
  237. package/dist-server/service/project/project-type.d.ts +0 -36
  238. package/dist-server/service/project/project-type.js +0 -128
  239. package/dist-server/service/project/project-type.js.map +0 -1
  240. package/dist-server/service/project/project.d.ts +0 -52
  241. package/dist-server/service/project/project.js +0 -190
  242. package/dist-server/service/project/project.js.map +0 -1
  243. package/dist-server/service/resource/index.d.ts +0 -6
  244. package/dist-server/service/resource/index.js +0 -10
  245. package/dist-server/service/resource/index.js.map +0 -1
  246. package/dist-server/service/resource/resource-mutation.d.ts +0 -10
  247. package/dist-server/service/resource/resource-mutation.js +0 -132
  248. package/dist-server/service/resource/resource-mutation.js.map +0 -1
  249. package/dist-server/service/resource/resource-query.d.ts +0 -11
  250. package/dist-server/service/resource/resource-query.js +0 -81
  251. package/dist-server/service/resource/resource-query.js.map +0 -1
  252. package/dist-server/service/resource/resource-type.d.ts +0 -17
  253. package/dist-server/service/resource/resource-type.js +0 -65
  254. package/dist-server/service/resource/resource-type.js.map +0 -1
  255. package/dist-server/service/resource/resource.d.ts +0 -24
  256. package/dist-server/service/resource/resource.js +0 -93
  257. package/dist-server/service/resource/resource.js.map +0 -1
  258. package/dist-server/service/task/index.d.ts +0 -5
  259. package/dist-server/service/task/index.js +0 -9
  260. package/dist-server/service/task/index.js.map +0 -1
  261. package/dist-server/service/task/task-mutation.d.ts +0 -10
  262. package/dist-server/service/task/task-mutation.js +0 -135
  263. package/dist-server/service/task/task-mutation.js.map +0 -1
  264. package/dist-server/service/task/task-query.d.ts +0 -21
  265. package/dist-server/service/task/task-query.js +0 -219
  266. package/dist-server/service/task/task-query.js.map +0 -1
  267. package/dist-server/service/task/task-type.d.ts +0 -31
  268. package/dist-server/service/task/task-type.js +0 -114
  269. package/dist-server/service/task/task-type.js.map +0 -1
  270. package/dist-server/service/task/task.d.ts +0 -35
  271. package/dist-server/service/task/task.js +0 -151
  272. package/dist-server/service/task/task.js.map +0 -1
  273. package/dist-server/service/task-checklist-binding/index.d.ts +0 -5
  274. package/dist-server/service/task-checklist-binding/index.js +0 -9
  275. package/dist-server/service/task-checklist-binding/index.js.map +0 -1
  276. package/dist-server/service/task-checklist-binding/task-checklist-binding-mutation.d.ts +0 -5
  277. package/dist-server/service/task-checklist-binding/task-checklist-binding-mutation.js +0 -186
  278. package/dist-server/service/task-checklist-binding/task-checklist-binding-mutation.js.map +0 -1
  279. package/dist-server/service/task-checklist-binding/task-checklist-binding-query.d.ts +0 -8
  280. package/dist-server/service/task-checklist-binding/task-checklist-binding-query.js +0 -61
  281. package/dist-server/service/task-checklist-binding/task-checklist-binding-query.js.map +0 -1
  282. package/dist-server/service/task-checklist-binding/task-checklist-binding-type.d.ts +0 -15
  283. package/dist-server/service/task-checklist-binding/task-checklist-binding-type.js +0 -57
  284. package/dist-server/service/task-checklist-binding/task-checklist-binding-type.js.map +0 -1
  285. package/dist-server/service/task-checklist-binding/task-checklist-binding.d.ts +0 -22
  286. package/dist-server/service/task-checklist-binding/task-checklist-binding.js +0 -106
  287. package/dist-server/service/task-checklist-binding/task-checklist-binding.js.map +0 -1
  288. package/dist-server/service/task-resource/index.d.ts +0 -6
  289. package/dist-server/service/task-resource/index.js +0 -10
  290. package/dist-server/service/task-resource/index.js.map +0 -1
  291. package/dist-server/service/task-resource/task-resource-mutation.d.ts +0 -10
  292. package/dist-server/service/task-resource/task-resource-mutation.js +0 -132
  293. package/dist-server/service/task-resource/task-resource-mutation.js.map +0 -1
  294. package/dist-server/service/task-resource/task-resource-query.d.ts +0 -7
  295. package/dist-server/service/task-resource/task-resource-query.js +0 -50
  296. package/dist-server/service/task-resource/task-resource-query.js.map +0 -1
  297. package/dist-server/service/task-resource/task-resource-type.d.ts +0 -17
  298. package/dist-server/service/task-resource/task-resource-type.js +0 -65
  299. package/dist-server/service/task-resource/task-resource-type.js.map +0 -1
  300. package/dist-server/service/task-resource/task-resource.d.ts +0 -13
  301. package/dist-server/service/task-resource/task-resource.js +0 -59
  302. package/dist-server/service/task-resource/task-resource.js.map +0 -1
  303. package/dist-server/service/worker-type/index.d.ts +0 -5
  304. package/dist-server/service/worker-type/index.js +0 -9
  305. package/dist-server/service/worker-type/index.js.map +0 -1
  306. package/dist-server/service/worker-type/worker-type-mutation.d.ts +0 -6
  307. package/dist-server/service/worker-type/worker-type-mutation.js +0 -64
  308. package/dist-server/service/worker-type/worker-type-mutation.js.map +0 -1
  309. package/dist-server/service/worker-type/worker-type-query.d.ts +0 -11
  310. package/dist-server/service/worker-type/worker-type-query.js +0 -78
  311. package/dist-server/service/worker-type/worker-type-query.js.map +0 -1
  312. package/dist-server/service/worker-type/worker-type-type.d.ts +0 -11
  313. package/dist-server/service/worker-type/worker-type-type.js +0 -43
  314. package/dist-server/service/worker-type/worker-type-type.js.map +0 -1
  315. package/dist-server/service/worker-type/worker-type.d.ts +0 -16
  316. package/dist-server/service/worker-type/worker-type.js +0 -77
  317. package/dist-server/service/worker-type/worker-type.js.map +0 -1
  318. package/dist-server/tsconfig.tsbuildinfo +0 -1
@@ -1,1197 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import '@material/web/icon/icon.js';
3
- import '@material/web/button/elevated-button.js';
4
- import '@material/web/textfield/outlined-text-field.js';
5
- import { PageView } from '@operato/shell';
6
- import { css, html } from 'lit';
7
- import { customElement, state } from 'lit/decorators.js';
8
- import { ScopedElementsMixin } from '@open-wc/scoped-elements';
9
- import { client } from '@operato/graphql';
10
- import { notify } from '@operato/layout';
11
- import gql from 'graphql-tag';
12
- import { SITE_TYPE_DISPLAY } from './project-list';
13
- import '../lib/select2-component';
14
- import './component/project-update-header';
15
- let ProjectUpdate = class ProjectUpdate extends ScopedElementsMixin(PageView) {
16
- constructor() {
17
- super(...arguments);
18
- this.defaultProject = {
19
- name: '',
20
- documentNaming: '',
21
- buildingComplex: {
22
- address: '',
23
- area: 0,
24
- constructionCompany: '',
25
- clientCompany: '',
26
- supervisoryCompany: '',
27
- designCompany: '',
28
- constructionType: '',
29
- buildings: []
30
- }
31
- };
32
- this.projectId = '';
33
- this.project = Object.assign({}, this.defaultProject);
34
- this.selectedValues = [];
35
- this.overallConstructorList = [];
36
- this.taskConstructorList = [];
37
- this.taskSupervisoryList = [];
38
- this.overallSupervisoryList = [];
39
- }
40
- get context() {
41
- return {
42
- title: '프로젝트 정보 관리'
43
- };
44
- }
45
- render() {
46
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50;
47
- return html `
48
- <project-update-header .projectId=${this.project.id || ''} title="프로젝트 정보 관리" @custom-click=${this._saveProject}>
49
- </project-update-header>
50
-
51
- <div body>
52
- <div project-info>
53
- <h3>기본 정보</h3>
54
- <div row>
55
- <span>프로젝트명</span>
56
- <span
57
- ><md-outlined-text-field
58
- type="text"
59
- name="name"
60
- project
61
- .value=${this.project.name || ''}
62
- @input=${this._onInputChange}
63
- ></md-outlined-text-field>
64
- </span>
65
- </div>
66
- <div row>
67
- <span>프로젝트 문서 네이밍</span>
68
- <span>
69
- <md-outlined-text-field
70
- type="text"
71
- name="documentNaming"
72
- project
73
- .value=${this.project.documentNaming || ''}
74
- @input=${this._onInputChange}
75
- placeholder="프로젝트 문서 네이밍"
76
- ></md-outlined-text-field>
77
- </span>
78
- </div>
79
- <div row>
80
- <span></span>
81
- <span>
82
- <div document-preview>📄 문서 생성 예시: <br />${this.project.documentNaming} 검측 제01-00001호</div>
83
- </span>
84
- </div>
85
- <div row>
86
- <span>프로젝트 주소</span>
87
- <span>
88
- <md-outlined-text-field
89
- type="text"
90
- name="address"
91
- building-complex
92
- .value=${((_b = (_a = this.project) === null || _a === void 0 ? void 0 : _a.buildingComplex) === null || _b === void 0 ? void 0 : _b.address) || ''}
93
- @input=${this._onInputChange}
94
- ></md-outlined-text-field>
95
- </span>
96
- </div>
97
- <div row>
98
- <span>위도</span>
99
- <span>
100
- <md-outlined-text-field
101
- type="text"
102
- name="latitude"
103
- numeric
104
- building-complex
105
- .value=${((_e = (_d = (_c = this.project) === null || _c === void 0 ? void 0 : _c.buildingComplex) === null || _d === void 0 ? void 0 : _d.latitude) === null || _e === void 0 ? void 0 : _e.toString()) || ''}
106
- @input=${this._onInputChange}
107
- ></md-outlined-text-field>
108
- </span>
109
- </div>
110
- <div row>
111
- <span>경도</span>
112
- <span>
113
- <md-outlined-text-field
114
- type="text"
115
- name="longitude"
116
- numeric
117
- building-complex
118
- .value=${((_h = (_g = (_f = this.project) === null || _f === void 0 ? void 0 : _f.buildingComplex) === null || _g === void 0 ? void 0 : _g.longitude) === null || _h === void 0 ? void 0 : _h.toString()) || ''}
119
- @input=${this._onInputChange}
120
- ></md-outlined-text-field>
121
- </span>
122
- </div>
123
- <div row>
124
- <span>연 면적</span>
125
- <span align-end
126
- ><md-outlined-text-field
127
- type="text"
128
- name="area"
129
- numeric
130
- building-complex
131
- .value=${((_l = (_k = (_j = this.project) === null || _j === void 0 ? void 0 : _j.buildingComplex) === null || _k === void 0 ? void 0 : _k.area) === null || _l === void 0 ? void 0 : _l.toString()) || ''}
132
- @input=${this._onInputChange}
133
- suffix-text="㎡"
134
- ></md-outlined-text-field>
135
- </span>
136
- </div>
137
-
138
- <div row>
139
- <span>건폐율</span>
140
- <span align-end>
141
- <md-outlined-text-field
142
- type="text"
143
- name="coverageRatio"
144
- numeric
145
- building-complex
146
- .value=${((_p = (_o = (_m = this.project) === null || _m === void 0 ? void 0 : _m.buildingComplex) === null || _o === void 0 ? void 0 : _o.coverageRatio) === null || _p === void 0 ? void 0 : _p.toString()) || ''}
147
- @input=${this._onInputChange}
148
- suffix-text="%"
149
- ></md-outlined-text-field>
150
- </span>
151
- </div>
152
- <div row>
153
- <span>용적률</span>
154
- <span align-end>
155
- <md-outlined-text-field
156
- type="text"
157
- name="floorAreaRatio"
158
- numeric
159
- building-complex
160
- .value=${((_s = (_r = (_q = this.project) === null || _q === void 0 ? void 0 : _q.buildingComplex) === null || _r === void 0 ? void 0 : _r.floorAreaRatio) === null || _s === void 0 ? void 0 : _s.toString()) || ''}
161
- @input=${this._onInputChange}
162
- suffix-text="%"
163
- ></md-outlined-text-field>
164
- </span>
165
- </div>
166
-
167
- <div row>
168
- <span>현장유형</span>
169
- <span
170
- ><md-filled-select name="siteType" building-complex @change=${this._onInputChange}>
171
- ${Object.entries(SITE_TYPE_DISPLAY).map(([key, display]) => {
172
- var _a, _b;
173
- return html `
174
- <md-select-option ?selected=${((_b = (_a = this.project) === null || _a === void 0 ? void 0 : _a.buildingComplex) === null || _b === void 0 ? void 0 : _b.siteType) === key} .value=${key}>
175
- <div slot="headline">${display}</div>
176
- </md-select-option>
177
- `;
178
- })}
179
- </md-filled-select>
180
- </span>
181
- </div>
182
-
183
- <div row>
184
- <span>착공일정 ~ 준공일정</span>
185
- <span
186
- ><input
187
- type="date"
188
- name="startDate"
189
- project
190
- .value=${this.project.startDate || ''}
191
- @input=${this._onInputChange}
192
- max="9999-12-31"
193
- />
194
- ~
195
- <input
196
- type="date"
197
- name="endDate"
198
- project
199
- .value=${this.project.endDate || ''}
200
- @input=${this._onInputChange}
201
- max="9999-12-31"
202
- />
203
- </span>
204
- </div>
205
- <div row>
206
- <span>발주처</span>
207
- <span
208
- ><md-outlined-text-field
209
- type="text"
210
- name="clientCompany"
211
- building-complex
212
- .value=${((_u = (_t = this.project) === null || _t === void 0 ? void 0 : _t.buildingComplex) === null || _u === void 0 ? void 0 : _u.clientCompany) || ''}
213
- @input=${this._onInputChange}
214
- ></md-outlined-text-field>
215
- </span>
216
- </div>
217
- <div row>
218
- <span>건설사</span>
219
- <span
220
- ><md-outlined-text-field
221
- type="text"
222
- name="constructionCompany"
223
- building-complex
224
- .value=${((_w = (_v = this.project) === null || _v === void 0 ? void 0 : _v.buildingComplex) === null || _w === void 0 ? void 0 : _w.constructionCompany) || ''}
225
- @input=${this._onInputChange}
226
- ></md-outlined-text-field>
227
- </span>
228
- </div>
229
- <div row>
230
- <span>설계사</span>
231
- <span
232
- ><md-outlined-text-field
233
- type="text"
234
- name="designCompany"
235
- building-complex
236
- .value=${((_y = (_x = this.project) === null || _x === void 0 ? void 0 : _x.buildingComplex) === null || _y === void 0 ? void 0 : _y.designCompany) || ''}
237
- @input=${this._onInputChange}
238
- ></md-outlined-text-field>
239
- </span>
240
- </div>
241
- <div row>
242
- <span>감리사</span>
243
- <span
244
- ><md-outlined-text-field
245
- type="text"
246
- name="supervisoryCompany"
247
- building-complex
248
- .value=${((_0 = (_z = this.project) === null || _z === void 0 ? void 0 : _z.buildingComplex) === null || _0 === void 0 ? void 0 : _0.supervisoryCompany) || ''}
249
- @input=${this._onInputChange}
250
- ></md-outlined-text-field>
251
- </span>
252
- </div>
253
- <div row>
254
- <span>건설구분</span>
255
- <span
256
- ><md-outlined-text-field
257
- type="text"
258
- name="constructionType"
259
- building-complex
260
- .value=${((_2 = (_1 = this.project) === null || _1 === void 0 ? void 0 : _1.buildingComplex) === null || _2 === void 0 ? void 0 : _2.constructionType) || ''}
261
- @input=${this._onInputChange}
262
- ></md-outlined-text-field>
263
- </span>
264
- </div>
265
- <div row>
266
- <span>구조 유형</span>
267
- <span
268
- ><md-outlined-text-field
269
- type="text"
270
- name="structureType"
271
- building-complex
272
- .value=${((_4 = (_3 = this.project) === null || _3 === void 0 ? void 0 : _3.buildingComplex) === null || _4 === void 0 ? void 0 : _4.structureType) || ''}
273
- @input=${this._onInputChange}
274
- ></md-outlined-text-field>
275
- </span>
276
- </div>
277
-
278
- <div row>
279
- <span>대표사진 업로드</span>
280
- <span>
281
- <ox-input-image
282
- name="mainPhoto"
283
- value=${((_6 = (_5 = this.project) === null || _5 === void 0 ? void 0 : _5.mainPhoto) === null || _6 === void 0 ? void 0 : _6.fullpath) || ''}
284
- @change=${this.onCreateAttachment.bind(this)}
285
- ></ox-input-image>
286
- </span>
287
- </div>
288
- <div row>
289
- <span>단지 BIM</span>
290
- <span>
291
- <ox-input-file
292
- name="drawing"
293
- label=" "
294
- description="IFC 업로드"
295
- .value=${((_8 = (_7 = this.project) === null || _7 === void 0 ? void 0 : _7.buildingComplex) === null || _8 === void 0 ? void 0 : _8.drawing) || ''}
296
- @change=${this.onCreateAttachment.bind(this)}
297
- ></ox-input-file>
298
- </span>
299
- </div>
300
- <div row>
301
- <span>공사금액</span>
302
- <span
303
- ><md-outlined-text-field
304
- type="text"
305
- name="constructionCost"
306
- numeric
307
- building-complex
308
- .value=${((_11 = (_10 = (_9 = this.project) === null || _9 === void 0 ? void 0 : _9.buildingComplex) === null || _10 === void 0 ? void 0 : _10.constructionCost) === null || _11 === void 0 ? void 0 : _11.toString()) || ''}
309
- @input=${this._onInputChange}
310
- suffix-text="원"
311
- ></md-outlined-text-field>
312
- </span>
313
- </div>
314
- <div row>
315
- <span>투입 인력</span>
316
- <span
317
- ><md-outlined-text-field
318
- type="text"
319
- name="workerCount"
320
- numeric
321
- building-complex
322
- .value=${((_14 = (_13 = (_12 = this.project) === null || _12 === void 0 ? void 0 : _12.buildingComplex) === null || _13 === void 0 ? void 0 : _13.workerCount) === null || _14 === void 0 ? void 0 : _14.toString()) || ''}
323
- @input=${this._onInputChange}
324
- suffix-text="명"
325
- ></md-outlined-text-field>
326
- </span>
327
- </div>
328
- <div row>
329
- <span>기타사항</span>
330
- <span>
331
- <md-outlined-text-field
332
- type="textarea"
333
- name="etc"
334
- building-complex
335
- .value=${((_16 = (_15 = this.project) === null || _15 === void 0 ? void 0 : _15.buildingComplex) === null || _16 === void 0 ? void 0 : _16.etc) || ''}
336
- @input=${this._onInputChange}
337
- ></md-outlined-text-field>
338
- </span>
339
- </div>
340
- <div row>
341
- <span>총괄 시공 관리자 리스트</span>
342
- <span>
343
- <select2-component
344
- placeholder="총괄 시공 관리자 리스트"
345
- name="overallConstructorEmails"
346
- .options=${this.overallConstructorList}
347
- .selectedValues=${((_18 = (_17 = this.project) === null || _17 === void 0 ? void 0 : _17.buildingComplex) === null || _18 === void 0 ? void 0 : _18.overallConstructorEmails) || []}
348
- @selection-changed=${this._handleSelectionChange}
349
- ></select2-component>
350
- </span>
351
- </div>
352
- <div row>
353
- <span>공종별 시공 관리자 리스트</span>
354
- <span>
355
- <select2-component
356
- placeholder="공종별 시공 관리자 리스트"
357
- name="taskConstructorEmails"
358
- .options=${this.taskConstructorList}
359
- .selectedValues=${((_20 = (_19 = this.project) === null || _19 === void 0 ? void 0 : _19.buildingComplex) === null || _20 === void 0 ? void 0 : _20.taskConstructorEmails) || []}
360
- @selection-changed=${this._handleSelectionChange}
361
- ></select2-component>
362
- </span>
363
- </div>
364
- <div row>
365
- <span>총괄 감리 책임자 리스트</span>
366
- <span>
367
- <select2-component
368
- placeholder="총괄 감리 책임자 리스트"
369
- name="overallSupervisoryEmails"
370
- .options=${this.overallSupervisoryList}
371
- .selectedValues=${((_22 = (_21 = this.project) === null || _21 === void 0 ? void 0 : _21.buildingComplex) === null || _22 === void 0 ? void 0 : _22.overallSupervisoryEmails) || []}
372
- @selection-changed=${this._handleSelectionChange}
373
- ></select2-component>
374
- </span>
375
- </div>
376
- <div row>
377
- <span>공종별 감리 책임자 리스트</span>
378
- <span>
379
- <select2-component
380
- placeholder="공종별 감리 책임자 리스트"
381
- name="taskSupervisoryEmails"
382
- .options=${this.taskSupervisoryList}
383
- .selectedValues=${((_24 = (_23 = this.project) === null || _23 === void 0 ? void 0 : _23.buildingComplex) === null || _24 === void 0 ? void 0 : _24.taskSupervisoryEmails) || []}
384
- @selection-changed=${this._handleSelectionChange}
385
- ></select2-component
386
- ></span>
387
- </div>
388
- </div>
389
-
390
- <div detail-info>
391
- <div>
392
- <h3>건설구분 상세 정보</h3>
393
- <div row>
394
- <span>세대수</span>
395
- <span
396
- ><md-outlined-text-field
397
- type="text"
398
- numeric
399
- building-complex
400
- name="householdCount"
401
- .value=${((_27 = (_26 = (_25 = this.project) === null || _25 === void 0 ? void 0 : _25.buildingComplex) === null || _26 === void 0 ? void 0 : _26.householdCount) === null || _27 === void 0 ? void 0 : _27.toString()) || ''}
402
- @input=${this._onInputChange}
403
- ></md-outlined-text-field>
404
- </span>
405
- </div>
406
- <div row>
407
- <span>동수</span>
408
- <span
409
- ><md-outlined-text-field
410
- type="text"
411
- numeric
412
- building-complex
413
- name="buildingCount"
414
- value=${((_30 = (_29 = (_28 = this.project) === null || _28 === void 0 ? void 0 : _28.buildingComplex) === null || _29 === void 0 ? void 0 : _29.buildingCount) === null || _30 === void 0 ? void 0 : _30.toString()) || ''}
415
- @input=${this._onInputChange}
416
- ></md-outlined-text-field>
417
- <md-outlined-button @click=${this._setBuilding}>적용</md-outlined-button>
418
- </span>
419
- </div>
420
- <hr />
421
- <div warn>* 동/층의 정보를 수정하면 기존의 동/층 정보는 모두 제거됩니다.</div>
422
- <div separate-container>
423
- ${(_33 = (_32 = (_31 = this.project) === null || _31 === void 0 ? void 0 : _31.buildingComplex) === null || _32 === void 0 ? void 0 : _32.buildings) === null || _33 === void 0 ? void 0 : _33.map((building, idx) => {
424
- var _a, _b;
425
- return html `
426
- <div>
427
- <span>
428
- <md-outlined-text-field
429
- type="text"
430
- building
431
- name="name"
432
- .value=${(building === null || building === void 0 ? void 0 : building.name) || ''}
433
- @input=${e => this._onInputChange(e, idx)}
434
- placeholder="ooo동"
435
- ></md-outlined-text-field>
436
- </span>
437
- <span floor-row>
438
- <span floor-title>층수</span>
439
- <md-outlined-text-field
440
- type="text"
441
- numeric
442
- building
443
- name="floorCount"
444
- .value=${((_a = building === null || building === void 0 ? void 0 : building.floorCount) === null || _a === void 0 ? void 0 : _a.toString()) || ''}
445
- @input=${e => this._onInputChange(e, idx)}
446
- placeholder="oo"
447
- ></md-outlined-text-field>
448
- </span>
449
-
450
- <div basement-container>
451
- <div
452
- basement-checkbox
453
- name="hasBasement"
454
- ?checked=${(building === null || building === void 0 ? void 0 : building.hasBasement) || false}
455
- @click=${() => this._toggleBasement(idx)}
456
- >
457
- <md-icon>format_bold</md-icon>
458
- </div>
459
- ${(building === null || building === void 0 ? void 0 : building.hasBasement)
460
- ? html `
461
- <md-outlined-text-field
462
- basement-floor
463
- type="text"
464
- numeric
465
- building
466
- name="basementFloorCount"
467
- .value=${((_b = building === null || building === void 0 ? void 0 : building.basementFloorCount) === null || _b === void 0 ? void 0 : _b.toString()) || ''}
468
- @input=${e => this._onInputChange(e, idx)}
469
- placeholder="지하층수"
470
- ></md-outlined-text-field>
471
- `
472
- : ''}
473
- </div>
474
- </div>
475
- `;
476
- })}
477
- </div>
478
- </div>
479
-
480
- <div project>
481
- <h3>프로젝트 현황</h3>
482
- <div row separate-container>
483
- <div>
484
- <span>전체 진행현황</span>
485
- <span>
486
- <md-outlined-text-field
487
- type="text"
488
- numeric
489
- project
490
- name="totalProgress"
491
- .value=${((_34 = this.project.totalProgress) === null || _34 === void 0 ? void 0 : _34.toString()) || ''}
492
- @input=${this._onInputChange}
493
- suffix-text="%"
494
- ></md-outlined-text-field>
495
- </span>
496
- </div>
497
- <div>
498
- <span>검측/통과비율</span>
499
- <span>
500
- <md-outlined-text-field
501
- type="text"
502
- numeric
503
- project
504
- name="inspPassRate"
505
- .value=${((_35 = this.project.inspPassRate) === null || _35 === void 0 ? void 0 : _35.toString()) || ''}
506
- @input=${this._onInputChange}
507
- suffix-text="%"
508
- ></md-outlined-text-field>
509
- </span>
510
- </div>
511
- </div>
512
- <div row separate-container>
513
- <div>
514
- <span>주간 진행현황</span>
515
- <span>
516
- <md-outlined-text-field
517
- type="text"
518
- numeric
519
- project
520
- name="weeklyProgress"
521
- .value=${((_36 = this.project.weeklyProgress) === null || _36 === void 0 ? void 0 : _36.toString()) || ''}
522
- @input=${this._onInputChange}
523
- suffix-text="%"
524
- ></md-outlined-text-field>
525
- </span>
526
- </div>
527
- <div>
528
- <span>로봇작업진행율</span>
529
- <span>
530
- <md-outlined-text-field
531
- type="text"
532
- numeric
533
- project
534
- name="robotProgressRate"
535
- .value=${((_37 = this.project.robotProgressRate) === null || _37 === void 0 ? void 0 : _37.toString()) || ''}
536
- @input=${this._onInputChange}
537
- suffix-text="%"
538
- ></md-outlined-text-field>
539
- </span>
540
- </div>
541
- </div>
542
- <div row separate-container>
543
- <div>
544
- <span>KPI</span>
545
- <span
546
- ><md-outlined-text-field
547
- type="text"
548
- numeric
549
- project
550
- name="kpi"
551
- .value=${((_38 = this.project.kpi) === null || _38 === void 0 ? void 0 : _38.toString()) || ''}
552
- @input=${this._onInputChange}
553
- suffix-text="%"
554
- ></md-outlined-text-field>
555
- </span>
556
- </div>
557
- <div>
558
- <span>구조안전도</span>
559
- <span
560
- ><md-outlined-text-field
561
- type="text"
562
- numeric
563
- project
564
- name="structuralSafetyRate"
565
- .value=${((_39 = this.project.structuralSafetyRate) === null || _39 === void 0 ? void 0 : _39.toString()) || ''}
566
- @input=${this._onInputChange}
567
- suffix-text="%"
568
- ></md-outlined-text-field>
569
- </span>
570
- </div>
571
- </div>
572
-
573
- <div row separate-container>
574
- <div>
575
- <span>로봇 작업 대수</span>
576
- <span
577
- ><md-outlined-text-field
578
- type="text"
579
- numeric
580
- project
581
- name="robotCount"
582
- .value=${((_40 = this.project.robotCount) === null || _40 === void 0 ? void 0 : _40.toString()) || ''}
583
- @input=${this._onInputChange}
584
- ></md-outlined-text-field>
585
- </span>
586
- </div>
587
- </div>
588
-
589
- <hr />
590
-
591
- <div row separate-container>
592
- <div>
593
- <span>설계 변경 횟수</span>
594
- <span
595
- ><md-outlined-text-field
596
- type="text"
597
- numeric
598
- building-complex
599
- name="designChangeCount"
600
- .value=${((_42 = (_41 = this.project.buildingComplex) === null || _41 === void 0 ? void 0 : _41.designChangeCount) === null || _42 === void 0 ? void 0 : _42.toString()) || ''}
601
- @input=${this._onInputChange}
602
- ></md-outlined-text-field>
603
- </span>
604
- </div>
605
- <div>
606
- <span>계획 공정률</span>
607
- <span
608
- ><md-outlined-text-field
609
- type="text"
610
- numeric
611
- building-complex
612
- name="plannedProgress"
613
- .value=${((_44 = (_43 = this.project.buildingComplex) === null || _43 === void 0 ? void 0 : _43.plannedProgress) === null || _44 === void 0 ? void 0 : _44.toString()) || ''}
614
- @input=${this._onInputChange}
615
- suffix-text="%"
616
- ></md-outlined-text-field>
617
- </span>
618
- </div>
619
- </div>
620
-
621
- <div row separate-container>
622
- <div>
623
- <span>실제 공정률</span>
624
- <span
625
- ><md-outlined-text-field
626
- type="text"
627
- numeric
628
- building-complex
629
- name="actualProgress"
630
- .value=${((_46 = (_45 = this.project.buildingComplex) === null || _45 === void 0 ? void 0 : _45.actualProgress) === null || _46 === void 0 ? void 0 : _46.toString()) || ''}
631
- @input=${this._onInputChange}
632
- suffix-text="%"
633
- ></md-outlined-text-field>
634
- </span>
635
- </div>
636
- </div>
637
- </div>
638
-
639
- <div>
640
- <h3>공지사항</h3>
641
- <div>
642
- <span></span>
643
- <span>
644
- <md-outlined-text-field
645
- type="textarea"
646
- name="notice"
647
- building-complex
648
- .value=${((_48 = (_47 = this.project) === null || _47 === void 0 ? void 0 : _47.buildingComplex) === null || _48 === void 0 ? void 0 : _48.notice) || ''}
649
- @input=${this._onInputChange}
650
- ></md-outlined-text-field>
651
- </span>
652
- </div>
653
- </div>
654
-
655
- <div>
656
- <h3>Virtual Tour Link</h3>
657
- <div>
658
- <span></span>
659
- <span>
660
- <md-outlined-text-field
661
- type="text"
662
- name="virtualTourLink"
663
- building-complex
664
- .value=${((_50 = (_49 = this.project) === null || _49 === void 0 ? void 0 : _49.buildingComplex) === null || _50 === void 0 ? void 0 : _50.virtualTourLink) || ''}
665
- @input=${this._onInputChange}
666
- ></md-outlined-text-field>
667
- </span>
668
- </div>
669
- </div>
670
- </div>
671
- </div>
672
- `;
673
- }
674
- async pageInitialized(lifecycle) { }
675
- async pageUpdated(changes, lifecycle) {
676
- if (this.active) {
677
- this.projectId = lifecycle.resourceId || '';
678
- await this.initProject(this.projectId);
679
- }
680
- }
681
- async initProject(projectId = '') {
682
- var _a, _b, _c;
683
- const response = await client.query({
684
- query: gql `
685
- query Project($id: String!, $filters: [Filter!]) {
686
- project(id: $id) {
687
- id
688
- name
689
- documentNaming
690
- startDate
691
- endDate
692
- mainPhoto {
693
- fullpath
694
- }
695
- totalProgress
696
- weeklyProgress
697
- kpi
698
- inspPassRate
699
- robotProgressRate
700
- structuralSafetyRate
701
- robotCount
702
- buildingComplex {
703
- id
704
- address
705
- siteType
706
- latitude
707
- longitude
708
- area
709
- coverageRatio
710
- floorAreaRatio
711
- structureType
712
- workerCount
713
- designChangeCount
714
- plannedProgress
715
- actualProgress
716
- clientCompany
717
- constructionCompany
718
- supervisoryCompany
719
- designCompany
720
- drawing {
721
- id
722
- name
723
- }
724
- constructionType
725
- constructionCost
726
- etc
727
- notice
728
- householdCount
729
- buildingCount
730
- overallConstructorEmails
731
- taskConstructorEmails
732
- overallSupervisoryEmails
733
- taskSupervisoryEmails
734
- virtualTourLink
735
- buildings {
736
- id
737
- name
738
- floorCount
739
- hasBasement
740
- basementFloorCount
741
- }
742
- }
743
- }
744
-
745
- employees(filters: $filters) {
746
- items {
747
- id
748
- name
749
- jobResponsibility
750
- active
751
- user {
752
- id
753
- name
754
- email
755
- }
756
- }
757
- }
758
- }
759
- `,
760
- variables: {
761
- id: projectId,
762
- filters: [
763
- {
764
- name: 'active',
765
- operator: 'eq',
766
- value: true
767
- },
768
- {
769
- name: 'userId',
770
- operator: 'is_not_null',
771
- value: ''
772
- }
773
- ]
774
- }
775
- });
776
- this.project = (_a = response.data) === null || _a === void 0 ? void 0 : _a.project;
777
- const items = ((_c = (_b = response.data) === null || _b === void 0 ? void 0 : _b.employees) === null || _c === void 0 ? void 0 : _c.items) || [];
778
- this.overallConstructorList = this._filterUserByPermission(items, 'OVERALL_CONSTRUCTOR');
779
- this.taskConstructorList = this._filterUserByPermission(items, 'TASK_CONSTRUCTOR');
780
- this.overallSupervisoryList = this._filterUserByPermission(items, 'OVERALL_SUPERVISORY');
781
- this.taskSupervisoryList = this._filterUserByPermission(items, 'TASK_SUPERVISORY');
782
- }
783
- _filterUserByPermission(userList, permission) {
784
- return userList
785
- .filter(v => v.jobResponsibility == permission || v.jobResponsibility == 'ADMIN')
786
- .map(v => ({ name: v.name, value: v.user.email }));
787
- }
788
- async _saveProject() {
789
- // 첨부 파일 필드 제거 (첨부 파일은 {filename}Upload 로 전송)
790
- delete this.project.mainPhoto;
791
- delete this.project.buildingComplex.drawing;
792
- const response = await client.mutate({
793
- mutation: gql `
794
- mutation UpdateProject($project: ProjectPatch!) {
795
- updateProject(project: $project) {
796
- id
797
- }
798
- }
799
- `,
800
- variables: {
801
- project: this.project
802
- },
803
- context: {
804
- hasUpload: true
805
- }
806
- });
807
- if (!response.errors) {
808
- notify({ message: '저장에 성공하였습니다.' });
809
- }
810
- }
811
- // 동 적용 버튼을 누르면 입력한 수 만큼 해당 단지에 동 데이터 생성
812
- _setBuilding() {
813
- var _a, _b, _c, _d, _e;
814
- const buildingCount = ((_b = (_a = this.project) === null || _a === void 0 ? void 0 : _a.buildingComplex) === null || _b === void 0 ? void 0 : _b.buildingCount) || 0;
815
- const buildingInitData = { name: undefined, floorCount: undefined };
816
- // 빌딩 데이터가 없으면 빈 배열 넣어줌
817
- if (!((_e = (_d = (_c = this.project) === null || _c === void 0 ? void 0 : _c.buildingComplex) === null || _d === void 0 ? void 0 : _d.buildings) === null || _e === void 0 ? void 0 : _e.length)) {
818
- this.project.buildingComplex.buildings = [];
819
- }
820
- if (this.project.buildingComplex.buildings.length >= buildingCount) {
821
- // 동 수가 더 작게 들어오면 기존 배열을 필요한 크기만큼 잘라내기
822
- this.project.buildingComplex.buildings = [...this.project.buildingComplex.buildings.slice(0, buildingCount)];
823
- }
824
- else {
825
- // 동수가 더 크게 들어오면 기존 배열 + 빈 값을 채움
826
- const additionalCount = buildingCount - this.project.buildingComplex.buildings.length;
827
- const additionalBuildings = Array.from({ length: additionalCount }, () => (Object.assign({}, buildingInitData)));
828
- this.project.buildingComplex.buildings = [...this.project.buildingComplex.buildings, ...additionalBuildings];
829
- }
830
- // 리렌더링
831
- this.project = Object.assign({}, this.project);
832
- }
833
- // Input 요소의 값이 변경될 때 호출되는 콜백 함수
834
- _onInputChange(event, idx) {
835
- const target = event.target;
836
- let inputVal = target.value;
837
- // 숫자 타입은 다른 문자 입력 제거
838
- if (target.hasAttribute('numeric')) {
839
- inputVal = Number(inputVal.replace(/[^\d.]/g, ''));
840
- }
841
- if (target.hasAttribute('project')) {
842
- this.project[target.name] = inputVal;
843
- // documentNaming 필드가 변경되면 실시간으로 미리보기 업데이트
844
- if (target.name === 'documentNaming') {
845
- this.requestUpdate();
846
- }
847
- }
848
- else if (target.hasAttribute('building-complex')) {
849
- this.project.buildingComplex[target.name] = inputVal;
850
- }
851
- else if (target.hasAttribute('building')) {
852
- this.project.buildingComplex.buildings[idx][target.name] = inputVal;
853
- }
854
- }
855
- // 이미지 업로드
856
- async onCreateAttachment(e) {
857
- const target = e.target;
858
- const file = (target.name === 'mainPhoto' ? e.detail : e.detail[0]) || null;
859
- if (target.name === 'mainPhoto') {
860
- this.project.mainPhotoUpload = file;
861
- }
862
- else {
863
- this.project.buildingComplex.drawingUpload = file;
864
- }
865
- }
866
- _handleSelectionChange(e) {
867
- const name = e.target.getAttribute('name');
868
- const selectedValues = e.detail.selectedValues;
869
- this.project.buildingComplex[name] = selectedValues;
870
- }
871
- _toggleBasement(idx) {
872
- const building = this.project.buildingComplex.buildings[idx];
873
- building.hasBasement = !building.hasBasement;
874
- // 층 수가 0이거나 체크 해제시 지하층수 초기화 (플레이스 홀더 나오게 하기 위함)
875
- if (building.basementFloorCount == 0 || !building.hasBasement) {
876
- building.basementFloorCount = undefined;
877
- }
878
- this.project.buildingComplex.buildings[idx]['hasBasement'] = building.hasBasement;
879
- this.requestUpdate();
880
- }
881
- };
882
- ProjectUpdate.styles = [
883
- css `
884
- :host {
885
- display: grid;
886
- grid-template-rows: 55px auto;
887
- color: #4e5055;
888
-
889
- width: 100%;
890
- background-color: var(--md-sys-color-background, #f6f6f6);
891
- overflow-y: auto;
892
-
893
- --grid-record-emphasized-background-color: red;
894
- --grid-record-emphasized-color: yellow;
895
- }
896
-
897
- md-outlined-text-field {
898
- width: 100%;
899
-
900
- --md-outlined-text-field-container-shape: 5px;
901
- --md-outlined-text-field-outline-color: rgba(51, 51, 51, 0.2);
902
- --md-outlined-text-field-focus-outline-color: #1f7fd9;
903
- --md-outlined-text-field-focus-outline-width: 1px;
904
- --md-sys-color-primary: #586878;
905
- --md-outlined-text-field-input-text-size: 14px;
906
- --md-outlined-field-bottom-space: 3px;
907
- --md-outlined-field-top-space: 3px;
908
- --md-outlined-field-leading-space: var(--spacing-medium, 8px);
909
- --md-outlined-field-trailing-space: var(--spacing-medium, 8px);
910
- }
911
- select2-component {
912
- width: 100%;
913
- }
914
- md-filled-select {
915
- width: 100%;
916
- --md-filled-select-text-field-container-color: transparent;
917
- --md-filled-select-text-field-active-indicator-color: #999;
918
- --md-filled-select-text-field-input-text-size: 14px;
919
- --md-filled-select-text-field-input-text-line-height: 6px;
920
- }
921
- input[type='date'] {
922
- border: 1px solid rgba(51, 51, 51, 0.2);
923
- padding: var(--spacing-small, 4px) var(--spacing-medium, 8px);
924
- border-radius: 5px;
925
- }
926
- md-outlined-text-field[type='textarea'] {
927
- width: 100%;
928
- height: 120px;
929
- resize: none;
930
- }
931
-
932
- ox-input-image {
933
- width: 120px;
934
- height: 90px;
935
- }
936
- ox-input-file {
937
- width: 120px;
938
- height: 90px;
939
- padding: 0;
940
- }
941
-
942
- div[body] {
943
- display: flex;
944
- margin: var(--spacing-large, 12px);
945
- margin-top: 0;
946
- gap: var(--spacing-medium, 8px);
947
-
948
- & > div {
949
- display: flex;
950
- height: fit-content;
951
- flex-direction: column;
952
- padding: var(--spacing-large, 12px);
953
- background-color: var(--md-sys-color-on-primary);
954
- border: 1px solid #cccccc80;
955
- border-radius: 5px;
956
- gap: var(--spacing-medium, 8px);
957
-
958
- h3 {
959
- color: #2e79be;
960
- font-size: 16px;
961
- margin: 0px;
962
- }
963
-
964
- div[row] {
965
- display: flex;
966
- align-items: center;
967
-
968
- span:first-child {
969
- flex: 0.3;
970
- text-align: right;
971
- font-size: 14px;
972
- }
973
-
974
- span:last-child {
975
- flex: 0.7;
976
- display: flex;
977
- gap: var(--spacing-medium, 8px);
978
- margin-left: var(--spacing-medium, 8px);
979
- align-items: center;
980
-
981
- &[align-end] {
982
- align-items: end;
983
- }
984
- }
985
- }
986
- }
987
-
988
- div[project-info] {
989
- flex: 0.55;
990
- }
991
-
992
- div[document-preview] {
993
- width: 100%;
994
- font-size: 12px;
995
- color: #2e79be;
996
- font-weight: 500;
997
- background-color: #f8f9fa;
998
- padding: 8px 12px;
999
- border-radius: 4px;
1000
- border-left: 3px solid #2e79be;
1001
- margin-top: 4px;
1002
- }
1003
-
1004
- div[detail-info] {
1005
- flex: 0.45;
1006
- padding: 0px;
1007
- gap: 10px;
1008
- background-color: transparent;
1009
- border: none;
1010
-
1011
- & > div {
1012
- display: flex;
1013
- flex-direction: column;
1014
- gap: var(--spacing-medium, 8px);
1015
- border: 1px solid #cccccc80;
1016
- border-radius: 5px;
1017
- padding: var(--spacing-large, 12px);
1018
- background-color: var(--md-sys-color-on-primary);
1019
-
1020
- md-outlined-text-field[type='text'] {
1021
- width: 60%;
1022
- }
1023
-
1024
- md-elevated-button {
1025
- --md-elevated-button-container-height: 30px;
1026
- --md-elevated-button-container-color: var(--md-sys-color-on-primary);
1027
- --md-elevated-button-label-text-size: 16px;
1028
- }
1029
- hr {
1030
- border: 1px rgba(51, 51, 51, 0.1) dashed;
1031
- width: 100%;
1032
- margin-bottom: var(--spacing-tiny, 2px);
1033
- }
1034
- div[warn] {
1035
- font-size: 12px;
1036
- color: red;
1037
- margin-left: var(--spacing-small, 4px);
1038
- margin-bottom: var(--spacing-small, 4px);
1039
- }
1040
-
1041
- md-outlined-button {
1042
- min-height: 30px;
1043
- padding: 0 var(--spacing-large, 12px);
1044
- box-shadow: 1px 1px 1px #0000001a;
1045
- --md-outlined-button-label-text-color: #586878;
1046
- --md-outlined-button-label-text-weight: bold;
1047
- --md-sys-color-outline: rgba(51, 51, 51, 0.2);
1048
- }
1049
-
1050
- div[row] {
1051
- span:first-child {
1052
- flex: 0.2;
1053
- }
1054
- span:last-child {
1055
- flex: 0.8;
1056
- }
1057
- }
1058
-
1059
- div[separate-container] {
1060
- display: grid;
1061
- grid-template-columns: repeat(2, 1fr);
1062
- gap: 8px 30px;
1063
- margin-left: 15px;
1064
-
1065
- md-outlined-text-field {
1066
- width: 80px;
1067
- }
1068
-
1069
- & > div {
1070
- display: flex;
1071
- gap: 15px;
1072
-
1073
- span[floor-row] {
1074
- display: inline-flex;
1075
- align-items: center;
1076
- margin-left: 5px;
1077
- }
1078
-
1079
- span[floor-title] {
1080
- min-width: 33px;
1081
- margin-right: var(--spacing-small, 4px);
1082
- }
1083
- span:first-child {
1084
- flex: 0.4;
1085
- justify-content: flex-start;
1086
- display: flex;
1087
- }
1088
- span:last-child {
1089
- flex: 0.6;
1090
- display: flex;
1091
- align-items: center;
1092
- padding-left: var(--spacing-medium, 8px);
1093
- }
1094
- }
1095
-
1096
- div[basement-container] {
1097
- display: flex;
1098
- align-items: center;
1099
- gap: 4px;
1100
-
1101
- div[basement-checkbox] {
1102
- display: flex;
1103
- align-items: center;
1104
- cursor: pointer;
1105
-
1106
- md-icon {
1107
- --md-icon-size: 25px;
1108
- color: #808080;
1109
- transition: opacity 0.2s ease;
1110
- }
1111
-
1112
- &[disabled] {
1113
- cursor: not-allowed;
1114
- opacity: 0.4;
1115
-
1116
- md-icon {
1117
- color: #cccccc;
1118
- }
1119
- }
1120
-
1121
- &[checked] md-icon {
1122
- background-color: #2e79be;
1123
- color: white;
1124
- border-radius: 3px;
1125
- }
1126
- }
1127
-
1128
- md-outlined-text-field[basement-floor] {
1129
- width: 70px;
1130
- margin-left: var(--spacing-small, 4px);
1131
- opacity: 1;
1132
- transition: opacity 0.2s ease;
1133
-
1134
- &[disabled] {
1135
- opacity: 0.4;
1136
- pointer-events: none;
1137
- }
1138
- }
1139
- }
1140
- }
1141
-
1142
- &[project] {
1143
- div[separate-container] {
1144
- margin-left: 15px;
1145
-
1146
- & > div {
1147
- align-items: center;
1148
-
1149
- span:first-child {
1150
- flex: 0.4;
1151
- min-width: 100px;
1152
- }
1153
- span:last-child {
1154
- flex: 0.4;
1155
- margin-left: 0;
1156
- }
1157
- }
1158
- }
1159
- }
1160
- }
1161
- }
1162
- }
1163
- `
1164
- ];
1165
- __decorate([
1166
- state(),
1167
- __metadata("design:type", String)
1168
- ], ProjectUpdate.prototype, "projectId", void 0);
1169
- __decorate([
1170
- state(),
1171
- __metadata("design:type", Object)
1172
- ], ProjectUpdate.prototype, "project", void 0);
1173
- __decorate([
1174
- state(),
1175
- __metadata("design:type", Array)
1176
- ], ProjectUpdate.prototype, "selectedValues", void 0);
1177
- __decorate([
1178
- state(),
1179
- __metadata("design:type", Array)
1180
- ], ProjectUpdate.prototype, "overallConstructorList", void 0);
1181
- __decorate([
1182
- state(),
1183
- __metadata("design:type", Array)
1184
- ], ProjectUpdate.prototype, "taskConstructorList", void 0);
1185
- __decorate([
1186
- state(),
1187
- __metadata("design:type", Array)
1188
- ], ProjectUpdate.prototype, "taskSupervisoryList", void 0);
1189
- __decorate([
1190
- state(),
1191
- __metadata("design:type", Array)
1192
- ], ProjectUpdate.prototype, "overallSupervisoryList", void 0);
1193
- ProjectUpdate = __decorate([
1194
- customElement('project-update')
1195
- ], ProjectUpdate);
1196
- export { ProjectUpdate };
1197
- //# sourceMappingURL=project-update.js.map