@dssp/project 1.0.0-alpha.98 → 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 (327) hide show
  1. package/package.json +14 -14
  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 -308
  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 -356
  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 -682
  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 -33
  33. package/dist-client/pages/project/popup/checklist/task-checklist-view.js +0 -676
  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 -47
  51. package/dist-client/pages/project/project-detail.js +0 -1065
  52. package/dist-client/pages/project/project-detail.js.map +0 -1
  53. package/dist-client/pages/project/project-list.d.ts +0 -201
  54. package/dist-client/pages/project/project-list.js +0 -410
  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 -492
  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 -31
  60. package/dist-client/pages/project/project-setting-list.js +0 -456
  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 -692
  67. package/dist-client/pages/project/project-task.js.map +0 -1
  68. package/dist-client/pages/project/project-update.d.ts +0 -81
  69. package/dist-client/pages/project/project-update.js +0 -1477
  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 -214
  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 -62
  87. package/dist-client/pages/resource/resource-list-page.js +0 -331
  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 -62
  96. package/dist-client/pages/task/task-list-page.js +0 -322
  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 -62
  102. package/dist-client/pages/task-resource/task-resource-list-page.js +0 -331
  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/shared/domain-context.d.ts +0 -18
  108. package/dist-client/shared/domain-context.js +0 -28
  109. package/dist-client/shared/domain-context.js.map +0 -1
  110. package/dist-client/tsconfig.tsbuildinfo +0 -1
  111. package/dist-client/viewparts/domain-switch.d.ts +0 -19
  112. package/dist-client/viewparts/domain-switch.js +0 -274
  113. package/dist-client/viewparts/domain-switch.js.map +0 -1
  114. package/dist-server/controllers/export-tasks.d.ts +0 -7
  115. package/dist-server/controllers/export-tasks.js +0 -29
  116. package/dist-server/controllers/export-tasks.js.map +0 -1
  117. package/dist-server/controllers/import-task.d.ts +0 -3
  118. package/dist-server/controllers/import-task.js +0 -113
  119. package/dist-server/controllers/import-task.js.map +0 -1
  120. package/dist-server/controllers/index.d.ts +0 -0
  121. package/dist-server/controllers/index.js +0 -1
  122. package/dist-server/controllers/index.js.map +0 -1
  123. package/dist-server/controllers/parse-excel.d.ts +0 -2
  124. package/dist-server/controllers/parse-excel.js +0 -74
  125. package/dist-server/controllers/parse-excel.js.map +0 -1
  126. package/dist-server/controllers/types.d.ts +0 -18
  127. package/dist-server/controllers/types.js +0 -3
  128. package/dist-server/controllers/types.js.map +0 -1
  129. package/dist-server/index.d.ts +0 -3
  130. package/dist-server/index.js +0 -7
  131. package/dist-server/index.js.map +0 -1
  132. package/dist-server/middlewares/index.d.ts +0 -1
  133. package/dist-server/middlewares/index.js +0 -7
  134. package/dist-server/middlewares/index.js.map +0 -1
  135. package/dist-server/migrations/1723861466413-seed-roles.d.ts +0 -5
  136. package/dist-server/migrations/1723861466413-seed-roles.js +0 -117
  137. package/dist-server/migrations/1723861466413-seed-roles.js.map +0 -1
  138. package/dist-server/migrations/1723861466414-seed-codes.d.ts +0 -5
  139. package/dist-server/migrations/1723861466414-seed-codes.js +0 -150
  140. package/dist-server/migrations/1723861466414-seed-codes.js.map +0 -1
  141. package/dist-server/migrations/1723861476419-seed-resources.d.ts +0 -5
  142. package/dist-server/migrations/1723861476419-seed-resources.js +0 -57
  143. package/dist-server/migrations/1723861476419-seed-resources.js.map +0 -1
  144. package/dist-server/migrations/1723861478420-seed-/bsample-project.d.ts +0 -5
  145. package/dist-server/migrations/1723861478420-seed-/bsample-project.js +0 -68
  146. package/dist-server/migrations/1723861478420-seed-/bsample-project.js.map +0 -1
  147. package/dist-server/migrations/1723861478421-seed-/bsample-tasks.d.ts +0 -5
  148. package/dist-server/migrations/1723861478421-seed-/bsample-tasks.js +0 -189
  149. package/dist-server/migrations/1723861478421-seed-/bsample-tasks.js.map +0 -1
  150. package/dist-server/migrations/index.d.ts +0 -1
  151. package/dist-server/migrations/index.js +0 -12
  152. package/dist-server/migrations/index.js.map +0 -1
  153. package/dist-server/routes.d.ts +0 -1
  154. package/dist-server/routes.js +0 -105
  155. package/dist-server/routes.js.map +0 -1
  156. package/dist-server/service/construction-detail-type/construction-detail-type-mutation.d.ts +0 -6
  157. package/dist-server/service/construction-detail-type/construction-detail-type-mutation.js +0 -56
  158. package/dist-server/service/construction-detail-type/construction-detail-type-mutation.js.map +0 -1
  159. package/dist-server/service/construction-detail-type/construction-detail-type-query.d.ts +0 -9
  160. package/dist-server/service/construction-detail-type/construction-detail-type-query.js +0 -53
  161. package/dist-server/service/construction-detail-type/construction-detail-type-query.js.map +0 -1
  162. package/dist-server/service/construction-detail-type/construction-detail-type-type.d.ts +0 -11
  163. package/dist-server/service/construction-detail-type/construction-detail-type-type.js +0 -43
  164. package/dist-server/service/construction-detail-type/construction-detail-type-type.js.map +0 -1
  165. package/dist-server/service/construction-detail-type/construction-detail-type.d.ts +0 -15
  166. package/dist-server/service/construction-detail-type/construction-detail-type.js +0 -69
  167. package/dist-server/service/construction-detail-type/construction-detail-type.js.map +0 -1
  168. package/dist-server/service/construction-detail-type/index.d.ts +0 -5
  169. package/dist-server/service/construction-detail-type/index.js +0 -9
  170. package/dist-server/service/construction-detail-type/index.js.map +0 -1
  171. package/dist-server/service/construction-type/construction-type-mutation.d.ts +0 -6
  172. package/dist-server/service/construction-type/construction-type-mutation.js +0 -64
  173. package/dist-server/service/construction-type/construction-type-mutation.js.map +0 -1
  174. package/dist-server/service/construction-type/construction-type-query.d.ts +0 -13
  175. package/dist-server/service/construction-type/construction-type-query.js +0 -87
  176. package/dist-server/service/construction-type/construction-type-query.js.map +0 -1
  177. package/dist-server/service/construction-type/construction-type-type.d.ts +0 -12
  178. package/dist-server/service/construction-type/construction-type-type.js +0 -47
  179. package/dist-server/service/construction-type/construction-type-type.js.map +0 -1
  180. package/dist-server/service/construction-type/construction-type.d.ts +0 -19
  181. package/dist-server/service/construction-type/construction-type.js +0 -88
  182. package/dist-server/service/construction-type/construction-type.js.map +0 -1
  183. package/dist-server/service/construction-type/index.d.ts +0 -5
  184. package/dist-server/service/construction-type/index.js +0 -9
  185. package/dist-server/service/construction-type/index.js.map +0 -1
  186. package/dist-server/service/index.d.ts +0 -15
  187. package/dist-server/service/index.js +0 -59
  188. package/dist-server/service/index.js.map +0 -1
  189. package/dist-server/service/inspection-drawing-type/index.d.ts +0 -5
  190. package/dist-server/service/inspection-drawing-type/index.js +0 -9
  191. package/dist-server/service/inspection-drawing-type/index.js.map +0 -1
  192. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-mutation.d.ts +0 -6
  193. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-mutation.js +0 -64
  194. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-mutation.js.map +0 -1
  195. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-query.d.ts +0 -12
  196. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-query.js +0 -78
  197. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-query.js.map +0 -1
  198. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-type.d.ts +0 -10
  199. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-type.js +0 -39
  200. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-type.js.map +0 -1
  201. package/dist-server/service/inspection-drawing-type/inspection-drawing-type.d.ts +0 -16
  202. package/dist-server/service/inspection-drawing-type/inspection-drawing-type.js +0 -72
  203. package/dist-server/service/inspection-drawing-type/inspection-drawing-type.js.map +0 -1
  204. package/dist-server/service/inspection-part/index.d.ts +0 -5
  205. package/dist-server/service/inspection-part/index.js +0 -9
  206. package/dist-server/service/inspection-part/index.js.map +0 -1
  207. package/dist-server/service/inspection-part/inspection-part-mutation.d.ts +0 -6
  208. package/dist-server/service/inspection-part/inspection-part-mutation.js +0 -55
  209. package/dist-server/service/inspection-part/inspection-part-mutation.js.map +0 -1
  210. package/dist-server/service/inspection-part/inspection-part-query.d.ts +0 -10
  211. package/dist-server/service/inspection-part/inspection-part-query.js +0 -66
  212. package/dist-server/service/inspection-part/inspection-part-query.js.map +0 -1
  213. package/dist-server/service/inspection-part/inspection-part-type.d.ts +0 -11
  214. package/dist-server/service/inspection-part/inspection-part-type.js +0 -43
  215. package/dist-server/service/inspection-part/inspection-part-type.js.map +0 -1
  216. package/dist-server/service/inspection-part/inspection-part.d.ts +0 -15
  217. package/dist-server/service/inspection-part/inspection-part.js +0 -69
  218. package/dist-server/service/inspection-part/inspection-part.js.map +0 -1
  219. package/dist-server/service/manager/index.d.ts +0 -7
  220. package/dist-server/service/manager/index.js +0 -11
  221. package/dist-server/service/manager/index.js.map +0 -1
  222. package/dist-server/service/manager/manager-mutation.d.ts +0 -5
  223. package/dist-server/service/manager/manager-mutation.js +0 -39
  224. package/dist-server/service/manager/manager-mutation.js.map +0 -1
  225. package/dist-server/service/manager/manager-query.d.ts +0 -4
  226. package/dist-server/service/manager/manager-query.js +0 -35
  227. package/dist-server/service/manager/manager-query.js.map +0 -1
  228. package/dist-server/service/manager/manager-type.d.ts +0 -15
  229. package/dist-server/service/manager/manager-type.js +0 -62
  230. package/dist-server/service/manager/manager-type.js.map +0 -1
  231. package/dist-server/service/manager/manager.d.ts +0 -8
  232. package/dist-server/service/manager/manager.js +0 -41
  233. package/dist-server/service/manager/manager.js.map +0 -1
  234. package/dist-server/service/project/index.d.ts +0 -5
  235. package/dist-server/service/project/index.js +0 -9
  236. package/dist-server/service/project/index.js.map +0 -1
  237. package/dist-server/service/project/issue-project-code.d.ts +0 -7
  238. package/dist-server/service/project/issue-project-code.js +0 -27
  239. package/dist-server/service/project/issue-project-code.js.map +0 -1
  240. package/dist-server/service/project/project-mutation.d.ts +0 -14
  241. package/dist-server/service/project/project-mutation.js +0 -448
  242. package/dist-server/service/project/project-mutation.js.map +0 -1
  243. package/dist-server/service/project/project-query.d.ts +0 -31
  244. package/dist-server/service/project/project-query.js +0 -307
  245. package/dist-server/service/project/project-query.js.map +0 -1
  246. package/dist-server/service/project/project-type.d.ts +0 -42
  247. package/dist-server/service/project/project-type.js +0 -152
  248. package/dist-server/service/project/project-type.js.map +0 -1
  249. package/dist-server/service/project/project.d.ts +0 -66
  250. package/dist-server/service/project/project.js +0 -247
  251. package/dist-server/service/project/project.js.map +0 -1
  252. package/dist-server/service/resource/index.d.ts +0 -6
  253. package/dist-server/service/resource/index.js +0 -10
  254. package/dist-server/service/resource/index.js.map +0 -1
  255. package/dist-server/service/resource/resource-mutation.d.ts +0 -10
  256. package/dist-server/service/resource/resource-mutation.js +0 -131
  257. package/dist-server/service/resource/resource-mutation.js.map +0 -1
  258. package/dist-server/service/resource/resource-query.d.ts +0 -11
  259. package/dist-server/service/resource/resource-query.js +0 -76
  260. package/dist-server/service/resource/resource-query.js.map +0 -1
  261. package/dist-server/service/resource/resource-type.d.ts +0 -17
  262. package/dist-server/service/resource/resource-type.js +0 -65
  263. package/dist-server/service/resource/resource-type.js.map +0 -1
  264. package/dist-server/service/resource/resource.d.ts +0 -24
  265. package/dist-server/service/resource/resource.js +0 -93
  266. package/dist-server/service/resource/resource.js.map +0 -1
  267. package/dist-server/service/task/index.d.ts +0 -5
  268. package/dist-server/service/task/index.js +0 -9
  269. package/dist-server/service/task/index.js.map +0 -1
  270. package/dist-server/service/task/task-mutation.d.ts +0 -10
  271. package/dist-server/service/task/task-mutation.js +0 -135
  272. package/dist-server/service/task/task-mutation.js.map +0 -1
  273. package/dist-server/service/task/task-query.d.ts +0 -21
  274. package/dist-server/service/task/task-query.js +0 -219
  275. package/dist-server/service/task/task-query.js.map +0 -1
  276. package/dist-server/service/task/task-type.d.ts +0 -31
  277. package/dist-server/service/task/task-type.js +0 -114
  278. package/dist-server/service/task/task-type.js.map +0 -1
  279. package/dist-server/service/task/task.d.ts +0 -35
  280. package/dist-server/service/task/task.js +0 -151
  281. package/dist-server/service/task/task.js.map +0 -1
  282. package/dist-server/service/task-checklist-binding/index.d.ts +0 -5
  283. package/dist-server/service/task-checklist-binding/index.js +0 -9
  284. package/dist-server/service/task-checklist-binding/index.js.map +0 -1
  285. package/dist-server/service/task-checklist-binding/task-checklist-binding-mutation.d.ts +0 -5
  286. package/dist-server/service/task-checklist-binding/task-checklist-binding-mutation.js +0 -188
  287. package/dist-server/service/task-checklist-binding/task-checklist-binding-mutation.js.map +0 -1
  288. package/dist-server/service/task-checklist-binding/task-checklist-binding-query.d.ts +0 -8
  289. package/dist-server/service/task-checklist-binding/task-checklist-binding-query.js +0 -61
  290. package/dist-server/service/task-checklist-binding/task-checklist-binding-query.js.map +0 -1
  291. package/dist-server/service/task-checklist-binding/task-checklist-binding-type.d.ts +0 -15
  292. package/dist-server/service/task-checklist-binding/task-checklist-binding-type.js +0 -57
  293. package/dist-server/service/task-checklist-binding/task-checklist-binding-type.js.map +0 -1
  294. package/dist-server/service/task-checklist-binding/task-checklist-binding.d.ts +0 -22
  295. package/dist-server/service/task-checklist-binding/task-checklist-binding.js +0 -106
  296. package/dist-server/service/task-checklist-binding/task-checklist-binding.js.map +0 -1
  297. package/dist-server/service/task-resource/index.d.ts +0 -6
  298. package/dist-server/service/task-resource/index.js +0 -10
  299. package/dist-server/service/task-resource/index.js.map +0 -1
  300. package/dist-server/service/task-resource/task-resource-mutation.d.ts +0 -10
  301. package/dist-server/service/task-resource/task-resource-mutation.js +0 -132
  302. package/dist-server/service/task-resource/task-resource-mutation.js.map +0 -1
  303. package/dist-server/service/task-resource/task-resource-query.d.ts +0 -7
  304. package/dist-server/service/task-resource/task-resource-query.js +0 -45
  305. package/dist-server/service/task-resource/task-resource-query.js.map +0 -1
  306. package/dist-server/service/task-resource/task-resource-type.d.ts +0 -17
  307. package/dist-server/service/task-resource/task-resource-type.js +0 -65
  308. package/dist-server/service/task-resource/task-resource-type.js.map +0 -1
  309. package/dist-server/service/task-resource/task-resource.d.ts +0 -13
  310. package/dist-server/service/task-resource/task-resource.js +0 -59
  311. package/dist-server/service/task-resource/task-resource.js.map +0 -1
  312. package/dist-server/service/worker-type/index.d.ts +0 -5
  313. package/dist-server/service/worker-type/index.js +0 -9
  314. package/dist-server/service/worker-type/index.js.map +0 -1
  315. package/dist-server/service/worker-type/worker-type-mutation.d.ts +0 -6
  316. package/dist-server/service/worker-type/worker-type-mutation.js +0 -64
  317. package/dist-server/service/worker-type/worker-type-mutation.js.map +0 -1
  318. package/dist-server/service/worker-type/worker-type-query.d.ts +0 -11
  319. package/dist-server/service/worker-type/worker-type-query.js +0 -73
  320. package/dist-server/service/worker-type/worker-type-query.js.map +0 -1
  321. package/dist-server/service/worker-type/worker-type-type.d.ts +0 -11
  322. package/dist-server/service/worker-type/worker-type-type.js +0 -43
  323. package/dist-server/service/worker-type/worker-type-type.js.map +0 -1
  324. package/dist-server/service/worker-type/worker-type.d.ts +0 -16
  325. package/dist-server/service/worker-type/worker-type.js +0 -77
  326. package/dist-server/service/worker-type/worker-type.js.map +0 -1
  327. package/dist-server/tsconfig.tsbuildinfo +0 -1
@@ -1,1477 +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
- import { isProjectTypeDomain } from '../../shared/domain-context';
16
- let ProjectUpdate = class ProjectUpdate extends ScopedElementsMixin(PageView) {
17
- constructor() {
18
- super(...arguments);
19
- this.defaultProject = {
20
- name: '',
21
- documentNaming: '',
22
- buildingComplex: {
23
- address: '',
24
- area: 0,
25
- constructionCompany: '',
26
- clientCompany: '',
27
- supervisoryCompany: '',
28
- designCompany: '',
29
- constructionType: '',
30
- buildings: []
31
- }
32
- };
33
- this.projectId = '';
34
- this.project = Object.assign({}, this.defaultProject);
35
- this.selectedValues = [];
36
- this.overallConstructorList = [];
37
- this.taskConstructorList = [];
38
- this.taskSupervisoryList = [];
39
- this.overallSupervisoryList = [];
40
- this.collectingBasicInfo = false;
41
- }
42
- get context() {
43
- var _a, _b;
44
- return {
45
- title: !isProjectTypeDomain() && ((_a = this.project) === null || _a === void 0 ? void 0 : _a.name)
46
- ? `프로젝트 정보 관리 - ${(_b = this.project) === null || _b === void 0 ? void 0 : _b.name}`
47
- : '프로젝트 정보 관리'
48
- };
49
- }
50
- render() {
51
- 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;
52
- return html `
53
- <project-update-header .projectId=${this.project.id || ''} title="프로젝트 정보 관리" @custom-click=${this._saveProject}>
54
- </project-update-header>
55
-
56
- <div body>
57
- <div project-info>
58
- <h3>기본 정보</h3>
59
- <div row>
60
- <span>프로젝트명</span>
61
- <span
62
- ><md-outlined-text-field
63
- type="text"
64
- name="name"
65
- project
66
- .value=${this.project.name || ''}
67
- @input=${this._onInputChange}
68
- ></md-outlined-text-field>
69
- </span>
70
- </div>
71
- <div row>
72
- <span>프로젝트 문서 네이밍</span>
73
- <span>
74
- <md-outlined-text-field
75
- type="text"
76
- name="documentNaming"
77
- project
78
- .value=${this.project.documentNaming || ''}
79
- @input=${this._onInputChange}
80
- placeholder="프로젝트 문서 네이밍"
81
- ></md-outlined-text-field>
82
- </span>
83
- </div>
84
- <div row>
85
- <span></span>
86
- <span>
87
- <div document-preview>📄 문서 생성 예시: <br />${this.project.documentNaming} 검측 제01-00001호</div>
88
- </span>
89
- </div>
90
- <div row>
91
- <span>프로젝트 주소</span>
92
- <span class="address-row">
93
- <md-outlined-text-field
94
- type="text"
95
- name="address"
96
- building-complex
97
- .value=${((_b = (_a = this.project) === null || _a === void 0 ? void 0 : _a.buildingComplex) === null || _b === void 0 ? void 0 : _b.address) || ''}
98
- @input=${this._onInputChange}
99
- ></md-outlined-text-field>
100
- <md-elevated-button
101
- class="info-link-btn"
102
- ?disabled=${this.collectingBasicInfo}
103
- @click=${() => this._collectBasicInfo()}
104
- title="입력된 주소로 세움터 건축물대장 정보를 가져와 폼을 채웁니다"
105
- >
106
- ${this.collectingBasicInfo ? '연동 중…' : '🔗 정보 연동'}
107
- </md-elevated-button>
108
- </span>
109
- </div>
110
- <div row>
111
- <span>위도</span>
112
- <span>
113
- <md-outlined-text-field
114
- type="text"
115
- name="latitude"
116
- numeric
117
- building-complex
118
- .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()) || ''}
119
- @input=${this._onInputChange}
120
- ></md-outlined-text-field>
121
- </span>
122
- </div>
123
- <div row>
124
- <span>경도</span>
125
- <span>
126
- <md-outlined-text-field
127
- type="text"
128
- name="longitude"
129
- numeric
130
- building-complex
131
- .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()) || ''}
132
- @input=${this._onInputChange}
133
- ></md-outlined-text-field>
134
- </span>
135
- </div>
136
- <div row>
137
- <span>연 면적</span>
138
- <span align-end
139
- ><md-outlined-text-field
140
- type="text"
141
- name="area"
142
- numeric
143
- building-complex
144
- .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()) || ''}
145
- @input=${this._onInputChange}
146
- suffix-text="㎡"
147
- ></md-outlined-text-field>
148
- </span>
149
- </div>
150
-
151
- <div row>
152
- <span>건폐율</span>
153
- <span align-end>
154
- <md-outlined-text-field
155
- type="text"
156
- name="coverageRatio"
157
- numeric
158
- building-complex
159
- .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()) || ''}
160
- @input=${this._onInputChange}
161
- suffix-text="%"
162
- ></md-outlined-text-field>
163
- </span>
164
- </div>
165
- <div row>
166
- <span>용적률</span>
167
- <span align-end>
168
- <md-outlined-text-field
169
- type="text"
170
- name="floorAreaRatio"
171
- numeric
172
- building-complex
173
- .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()) || ''}
174
- @input=${this._onInputChange}
175
- suffix-text="%"
176
- ></md-outlined-text-field>
177
- </span>
178
- </div>
179
-
180
- <div row>
181
- <span>현장유형</span>
182
- <span
183
- ><md-filled-select name="siteType" building-complex @change=${this._onInputChange}>
184
- ${Object.entries(SITE_TYPE_DISPLAY).map(([key, display]) => {
185
- var _a, _b;
186
- return html `
187
- <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}>
188
- <div slot="headline">${display}</div>
189
- </md-select-option>
190
- `;
191
- })}
192
- </md-filled-select>
193
- </span>
194
- </div>
195
-
196
- <div row>
197
- <span>착공일정 ~ 준공일정</span>
198
- <span
199
- ><input
200
- type="date"
201
- name="startDate"
202
- project
203
- .value=${this.project.startDate || ''}
204
- @input=${this._onInputChange}
205
- max="9999-12-31"
206
- />
207
- ~
208
- <input
209
- type="date"
210
- name="endDate"
211
- project
212
- .value=${this.project.endDate || ''}
213
- @input=${this._onInputChange}
214
- max="9999-12-31"
215
- />
216
- </span>
217
- </div>
218
- <div row>
219
- <span>발주처</span>
220
- <span
221
- ><md-outlined-text-field
222
- type="text"
223
- name="clientCompany"
224
- building-complex
225
- .value=${((_u = (_t = this.project) === null || _t === void 0 ? void 0 : _t.buildingComplex) === null || _u === void 0 ? void 0 : _u.clientCompany) || ''}
226
- @input=${this._onInputChange}
227
- ></md-outlined-text-field>
228
- </span>
229
- </div>
230
- <div row>
231
- <span>건설사</span>
232
- <span
233
- ><md-outlined-text-field
234
- type="text"
235
- name="constructionCompany"
236
- building-complex
237
- .value=${((_w = (_v = this.project) === null || _v === void 0 ? void 0 : _v.buildingComplex) === null || _w === void 0 ? void 0 : _w.constructionCompany) || ''}
238
- @input=${this._onInputChange}
239
- ></md-outlined-text-field>
240
- </span>
241
- </div>
242
- <div row>
243
- <span>설계사</span>
244
- <span
245
- ><md-outlined-text-field
246
- type="text"
247
- name="designCompany"
248
- building-complex
249
- .value=${((_y = (_x = this.project) === null || _x === void 0 ? void 0 : _x.buildingComplex) === null || _y === void 0 ? void 0 : _y.designCompany) || ''}
250
- @input=${this._onInputChange}
251
- ></md-outlined-text-field>
252
- </span>
253
- </div>
254
- <div row>
255
- <span>감리사</span>
256
- <span
257
- ><md-outlined-text-field
258
- type="text"
259
- name="supervisoryCompany"
260
- building-complex
261
- .value=${((_0 = (_z = this.project) === null || _z === void 0 ? void 0 : _z.buildingComplex) === null || _0 === void 0 ? void 0 : _0.supervisoryCompany) || ''}
262
- @input=${this._onInputChange}
263
- ></md-outlined-text-field>
264
- </span>
265
- </div>
266
- <div row>
267
- <span>건설구분</span>
268
- <span
269
- ><md-outlined-text-field
270
- type="text"
271
- name="constructionType"
272
- building-complex
273
- .value=${((_2 = (_1 = this.project) === null || _1 === void 0 ? void 0 : _1.buildingComplex) === null || _2 === void 0 ? void 0 : _2.constructionType) || ''}
274
- @input=${this._onInputChange}
275
- ></md-outlined-text-field>
276
- </span>
277
- </div>
278
- <div row>
279
- <span>구조 유형</span>
280
- <span
281
- ><md-outlined-text-field
282
- type="text"
283
- name="structureType"
284
- building-complex
285
- .value=${((_4 = (_3 = this.project) === null || _3 === void 0 ? void 0 : _3.buildingComplex) === null || _4 === void 0 ? void 0 : _4.structureType) || ''}
286
- @input=${this._onInputChange}
287
- ></md-outlined-text-field>
288
- </span>
289
- </div>
290
-
291
- <div row>
292
- <span>대표사진 업로드</span>
293
- <span>
294
- <ox-input-image
295
- name="mainPhoto"
296
- value=${((_6 = (_5 = this.project) === null || _5 === void 0 ? void 0 : _5.mainPhoto) === null || _6 === void 0 ? void 0 : _6.fullpath) || ''}
297
- @change=${this.onCreateAttachment.bind(this)}
298
- ></ox-input-image>
299
- </span>
300
- </div>
301
- <div row>
302
- <span>단지 BIM</span>
303
- <span>
304
- <ox-input-file
305
- name="drawing"
306
- label=" "
307
- description="IFC 업로드"
308
- .value=${((_8 = (_7 = this.project) === null || _7 === void 0 ? void 0 : _7.buildingComplex) === null || _8 === void 0 ? void 0 : _8.drawing) || ''}
309
- @change=${this.onCreateAttachment.bind(this)}
310
- ></ox-input-file>
311
- </span>
312
- </div>
313
- <div row>
314
- <span>공사금액</span>
315
- <span
316
- ><md-outlined-text-field
317
- type="text"
318
- name="constructionCost"
319
- numeric
320
- building-complex
321
- .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()) || ''}
322
- @input=${this._onInputChange}
323
- suffix-text="억원"
324
- ></md-outlined-text-field>
325
- </span>
326
- </div>
327
- <div row>
328
- <span>투입 인력</span>
329
- <span
330
- ><md-outlined-text-field
331
- type="text"
332
- name="workerCount"
333
- numeric
334
- building-complex
335
- .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()) || ''}
336
- @input=${this._onInputChange}
337
- suffix-text="명"
338
- ></md-outlined-text-field>
339
- </span>
340
- </div>
341
- <div row>
342
- <span>기타사항</span>
343
- <span>
344
- <md-outlined-text-field
345
- type="textarea"
346
- name="etc"
347
- building-complex
348
- .value=${((_16 = (_15 = this.project) === null || _15 === void 0 ? void 0 : _15.buildingComplex) === null || _16 === void 0 ? void 0 : _16.etc) || ''}
349
- @input=${this._onInputChange}
350
- ></md-outlined-text-field>
351
- </span>
352
- </div>
353
- <div row>
354
- <span>총괄 시공 관리자 리스트</span>
355
- <span>
356
- <select2-component
357
- placeholder="총괄 시공 관리자 리스트"
358
- name="overallConstructorEmails"
359
- .options=${this.overallConstructorList}
360
- .selectedValues=${((_18 = (_17 = this.project) === null || _17 === void 0 ? void 0 : _17.buildingComplex) === null || _18 === void 0 ? void 0 : _18.overallConstructorEmails) || []}
361
- @selection-changed=${this._handleSelectionChange}
362
- ></select2-component>
363
- </span>
364
- </div>
365
- <div row>
366
- <span>공종별 시공 관리자 리스트</span>
367
- <span>
368
- <select2-component
369
- placeholder="공종별 시공 관리자 리스트"
370
- name="taskConstructorEmails"
371
- .options=${this.taskConstructorList}
372
- .selectedValues=${((_20 = (_19 = this.project) === null || _19 === void 0 ? void 0 : _19.buildingComplex) === null || _20 === void 0 ? void 0 : _20.taskConstructorEmails) || []}
373
- @selection-changed=${this._handleSelectionChange}
374
- ></select2-component>
375
- </span>
376
- </div>
377
- <div row>
378
- <span>총괄 감리 책임자 리스트</span>
379
- <span>
380
- <select2-component
381
- placeholder="총괄 감리 책임자 리스트"
382
- name="overallSupervisoryEmails"
383
- .options=${this.overallSupervisoryList}
384
- .selectedValues=${((_22 = (_21 = this.project) === null || _21 === void 0 ? void 0 : _21.buildingComplex) === null || _22 === void 0 ? void 0 : _22.overallSupervisoryEmails) || []}
385
- @selection-changed=${this._handleSelectionChange}
386
- ></select2-component>
387
- </span>
388
- </div>
389
- <div row>
390
- <span>공종별 감리 책임자 리스트</span>
391
- <span>
392
- <select2-component
393
- placeholder="공종별 감리 책임자 리스트"
394
- name="taskSupervisoryEmails"
395
- .options=${this.taskSupervisoryList}
396
- .selectedValues=${((_24 = (_23 = this.project) === null || _23 === void 0 ? void 0 : _23.buildingComplex) === null || _24 === void 0 ? void 0 : _24.taskSupervisoryEmails) || []}
397
- @selection-changed=${this._handleSelectionChange}
398
- ></select2-component
399
- ></span>
400
- </div>
401
- </div>
402
-
403
- <div detail-info>
404
- <div>
405
- <h3>테넌트 관리</h3>
406
- <div row>
407
- <span>관리번호</span>
408
- <span>
409
- ${this.project.tenantDomain
410
- ? html `<a href=${`/project/${this.project.code}/`} target="_blank" title="테넌트로 이동"
411
- >${this.project.code} <md-icon style="font-size:14px;vertical-align:middle">open_in_new</md-icon></a
412
- >`
413
- : this.project.code
414
- ? html `${this.project.code}`
415
- : html `<span style="color:#999">미발번 (승격 시 자동 부여)</span>`}
416
- </span>
417
- </div>
418
- <div row>
419
- <span>현재 상태</span>
420
- <span>
421
- ${this.project.tenantDomain
422
- ? html `<b style="color:#42b382">활성 테넌트</b>`
423
- : this.project.code
424
- ? html `<b style="color:#aa6633">강등됨</b> (재승격 시 ${this.project.code} 재사용)`
425
- : html `<b style="color:#999">미승격</b>`}
426
- </span>
427
- </div>
428
- <div row>
429
- <span></span>
430
- <span tenant-actions>
431
- ${this.project.tenantDomain
432
- ? html `<md-elevated-button @click=${this._demoteTenant} ?disabled=${!this.project.id}>
433
- <md-icon slot="icon">link_off</md-icon>테넌트 강등
434
- </md-elevated-button>`
435
- : html `<md-elevated-button green @click=${this._promoteTenant} ?disabled=${!this.project.id}>
436
- <md-icon slot="icon">verified</md-icon>테넌트 승격
437
- </md-elevated-button>`}
438
- </span>
439
- </div>
440
- </div>
441
-
442
- <div>
443
- <h3>건설구분 상세 정보</h3>
444
- <div row>
445
- <span>세대수</span>
446
- <span
447
- ><md-outlined-text-field
448
- type="text"
449
- numeric
450
- building-complex
451
- name="householdCount"
452
- .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()) || ''}
453
- @input=${this._onInputChange}
454
- ></md-outlined-text-field>
455
- </span>
456
- </div>
457
- <div row>
458
- <span>동수</span>
459
- <span
460
- ><md-outlined-text-field
461
- type="text"
462
- numeric
463
- building-complex
464
- name="buildingCount"
465
- 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()) || ''}
466
- @input=${this._onInputChange}
467
- ></md-outlined-text-field>
468
- <md-outlined-button @click=${this._setBuilding}>적용</md-outlined-button>
469
- </span>
470
- </div>
471
- <hr />
472
- <div warn>* 동/층의 정보를 수정하면 기존의 동/층 정보는 모두 제거됩니다.</div>
473
- <div separate-container>
474
- ${(_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) => {
475
- var _a, _b;
476
- return html `
477
- <div>
478
- <span>
479
- <md-outlined-text-field
480
- type="text"
481
- building
482
- name="name"
483
- .value=${(building === null || building === void 0 ? void 0 : building.name) || ''}
484
- @input=${e => this._onInputChange(e, idx)}
485
- placeholder="ooo동"
486
- ></md-outlined-text-field>
487
- </span>
488
- <span floor-row>
489
- <span floor-title>층수</span>
490
- <md-outlined-text-field
491
- type="text"
492
- numeric
493
- building
494
- name="floorCount"
495
- .value=${((_a = building === null || building === void 0 ? void 0 : building.floorCount) === null || _a === void 0 ? void 0 : _a.toString()) || ''}
496
- @input=${e => this._onInputChange(e, idx)}
497
- placeholder="oo"
498
- ></md-outlined-text-field>
499
- </span>
500
-
501
- <div basement-container>
502
- <div
503
- basement-checkbox
504
- name="hasBasement"
505
- ?checked=${(building === null || building === void 0 ? void 0 : building.hasBasement) || false}
506
- @click=${() => this._toggleBasement(idx)}
507
- >
508
- <md-icon>format_bold</md-icon>
509
- </div>
510
- ${(building === null || building === void 0 ? void 0 : building.hasBasement)
511
- ? html `
512
- <md-outlined-text-field
513
- basement-floor
514
- type="text"
515
- numeric
516
- building
517
- name="basementFloorCount"
518
- .value=${((_b = building === null || building === void 0 ? void 0 : building.basementFloorCount) === null || _b === void 0 ? void 0 : _b.toString()) || ''}
519
- @input=${e => this._onInputChange(e, idx)}
520
- placeholder="지하층수"
521
- ></md-outlined-text-field>
522
- `
523
- : ''}
524
- </div>
525
- </div>
526
- `;
527
- })}
528
- </div>
529
- </div>
530
-
531
- <div project>
532
- <h3>프로젝트 현황</h3>
533
- <div row separate-container>
534
- <div>
535
- <span>전체 진행현황</span>
536
- <span>
537
- <md-outlined-text-field
538
- type="text"
539
- numeric
540
- project
541
- name="totalProgress"
542
- .value=${((_34 = this.project.totalProgress) === null || _34 === void 0 ? void 0 : _34.toString()) || ''}
543
- @input=${this._onInputChange}
544
- suffix-text="%"
545
- ></md-outlined-text-field>
546
- </span>
547
- </div>
548
- <div>
549
- <span>검측/통과비율</span>
550
- <span>
551
- <md-outlined-text-field
552
- type="text"
553
- numeric
554
- project
555
- name="inspPassRate"
556
- .value=${((_35 = this.project.inspPassRate) === null || _35 === void 0 ? void 0 : _35.toString()) || ''}
557
- @input=${this._onInputChange}
558
- suffix-text="%"
559
- ></md-outlined-text-field>
560
- </span>
561
- </div>
562
- </div>
563
- <div row separate-container>
564
- <div>
565
- <span>주간 진행현황</span>
566
- <span>
567
- <md-outlined-text-field
568
- type="text"
569
- numeric
570
- project
571
- name="weeklyProgress"
572
- .value=${((_36 = this.project.weeklyProgress) === null || _36 === void 0 ? void 0 : _36.toString()) || ''}
573
- @input=${this._onInputChange}
574
- suffix-text="%"
575
- ></md-outlined-text-field>
576
- </span>
577
- </div>
578
- <div>
579
- <span>로봇작업진행율</span>
580
- <span>
581
- <md-outlined-text-field
582
- type="text"
583
- numeric
584
- project
585
- name="robotProgressRate"
586
- .value=${((_37 = this.project.robotProgressRate) === null || _37 === void 0 ? void 0 : _37.toString()) || ''}
587
- @input=${this._onInputChange}
588
- suffix-text="%"
589
- ></md-outlined-text-field>
590
- </span>
591
- </div>
592
- </div>
593
- <div row separate-container>
594
- <div>
595
- <span>KPI</span>
596
- <span
597
- ><md-outlined-text-field
598
- type="text"
599
- numeric
600
- project
601
- name="kpi"
602
- .value=${((_38 = this.project.kpi) === null || _38 === void 0 ? void 0 : _38.toString()) || ''}
603
- @input=${this._onInputChange}
604
- suffix-text="%"
605
- ></md-outlined-text-field>
606
- </span>
607
- </div>
608
- <div>
609
- <span>구조안전도</span>
610
- <span
611
- ><md-outlined-text-field
612
- type="text"
613
- numeric
614
- project
615
- name="structuralSafetyRate"
616
- .value=${((_39 = this.project.structuralSafetyRate) === null || _39 === void 0 ? void 0 : _39.toString()) || ''}
617
- @input=${this._onInputChange}
618
- suffix-text="%"
619
- ></md-outlined-text-field>
620
- </span>
621
- </div>
622
- </div>
623
-
624
- <div row separate-container>
625
- <div>
626
- <span>로봇 작업 대수</span>
627
- <span
628
- ><md-outlined-text-field
629
- type="text"
630
- numeric
631
- project
632
- name="robotCount"
633
- .value=${((_40 = this.project.robotCount) === null || _40 === void 0 ? void 0 : _40.toString()) || ''}
634
- @input=${this._onInputChange}
635
- ></md-outlined-text-field>
636
- </span>
637
- </div>
638
- </div>
639
-
640
- <hr />
641
-
642
- <div row separate-container>
643
- <div>
644
- <span>설계 변경 횟수</span>
645
- <span
646
- ><md-outlined-text-field
647
- type="text"
648
- numeric
649
- building-complex
650
- name="designChangeCount"
651
- .value=${((_42 = (_41 = this.project.buildingComplex) === null || _41 === void 0 ? void 0 : _41.designChangeCount) === null || _42 === void 0 ? void 0 : _42.toString()) || ''}
652
- @input=${this._onInputChange}
653
- ></md-outlined-text-field>
654
- </span>
655
- </div>
656
- <div>
657
- <span>계획 공정률</span>
658
- <span
659
- ><md-outlined-text-field
660
- type="text"
661
- numeric
662
- building-complex
663
- name="plannedProgress"
664
- .value=${((_44 = (_43 = this.project.buildingComplex) === null || _43 === void 0 ? void 0 : _43.plannedProgress) === null || _44 === void 0 ? void 0 : _44.toString()) || ''}
665
- @input=${this._onInputChange}
666
- suffix-text="%"
667
- ></md-outlined-text-field>
668
- </span>
669
- </div>
670
- </div>
671
-
672
- <div row separate-container>
673
- <div>
674
- <span>실제 공정률</span>
675
- <span
676
- ><md-outlined-text-field
677
- type="text"
678
- numeric
679
- building-complex
680
- name="actualProgress"
681
- .value=${((_46 = (_45 = this.project.buildingComplex) === null || _45 === void 0 ? void 0 : _45.actualProgress) === null || _46 === void 0 ? void 0 : _46.toString()) || ''}
682
- @input=${this._onInputChange}
683
- suffix-text="%"
684
- ></md-outlined-text-field>
685
- </span>
686
- </div>
687
- </div>
688
- </div>
689
-
690
- <div>
691
- <h3>공지사항</h3>
692
- <div>
693
- <span></span>
694
- <span>
695
- <md-outlined-text-field
696
- type="textarea"
697
- name="notice"
698
- building-complex
699
- .value=${((_48 = (_47 = this.project) === null || _47 === void 0 ? void 0 : _47.buildingComplex) === null || _48 === void 0 ? void 0 : _48.notice) || ''}
700
- @input=${this._onInputChange}
701
- ></md-outlined-text-field>
702
- </span>
703
- </div>
704
- </div>
705
-
706
- <div>
707
- <h3>Virtual Tour Link</h3>
708
- <div>
709
- <span></span>
710
- <span>
711
- <md-outlined-text-field
712
- type="text"
713
- name="virtualTourLink"
714
- building-complex
715
- .value=${((_50 = (_49 = this.project) === null || _49 === void 0 ? void 0 : _49.buildingComplex) === null || _50 === void 0 ? void 0 : _50.virtualTourLink) || ''}
716
- @input=${this._onInputChange}
717
- ></md-outlined-text-field>
718
- </span>
719
- </div>
720
- </div>
721
- </div>
722
- </div>
723
- `;
724
- }
725
- async pageInitialized(lifecycle) { }
726
- async pageUpdated(changes, lifecycle) {
727
- if (!this.active)
728
- return;
729
- this.projectId = await this._resolveProjectId(lifecycle.resourceId || '');
730
- await this.initProject(this.projectId);
731
- }
732
- /**
733
- * resourceId 를 정상 Project.id (UUID) 로 변환한다.
734
- * - UUID 형식이면 그대로 사용
735
- * - 그 외 (code 또는 비어있음) 에는 현재 테넌트 컨텍스트의 프로젝트 조회
736
- */
737
- async _resolveProjectId(resourceId) {
738
- var _a, _b;
739
- if (resourceId && resourceId.length === 36)
740
- return resourceId;
741
- const response = await client.query({
742
- query: gql `
743
- query CurrentProject {
744
- currentProject {
745
- id
746
- }
747
- }
748
- `
749
- });
750
- return ((_b = (_a = response.data) === null || _a === void 0 ? void 0 : _a.currentProject) === null || _b === void 0 ? void 0 : _b.id) || '';
751
- }
752
- async initProject(projectId = '') {
753
- var _a, _b, _c;
754
- const response = await client.query({
755
- query: gql `
756
- query Project($id: String!, $filters: [Filter!]) {
757
- project(id: $id) {
758
- id
759
- code
760
- tenantDomain {
761
- id
762
- subdomain
763
- name
764
- }
765
- name
766
- documentNaming
767
- startDate
768
- endDate
769
- mainPhoto {
770
- fullpath
771
- }
772
- totalProgress
773
- weeklyProgress
774
- kpi
775
- inspPassRate
776
- robotProgressRate
777
- structuralSafetyRate
778
- robotCount
779
- buildingComplex {
780
- id
781
- address
782
- siteType
783
- latitude
784
- longitude
785
- area
786
- coverageRatio
787
- floorAreaRatio
788
- structureType
789
- workerCount
790
- designChangeCount
791
- plannedProgress
792
- actualProgress
793
- clientCompany
794
- constructionCompany
795
- supervisoryCompany
796
- designCompany
797
- drawing {
798
- id
799
- name
800
- }
801
- constructionType
802
- constructionCost
803
- etc
804
- notice
805
- householdCount
806
- buildingCount
807
- overallConstructorEmails
808
- taskConstructorEmails
809
- overallSupervisoryEmails
810
- taskSupervisoryEmails
811
- virtualTourLink
812
- buildings {
813
- id
814
- name
815
- floorCount
816
- hasBasement
817
- basementFloorCount
818
- }
819
- }
820
- }
821
-
822
- employees(filters: $filters) {
823
- items {
824
- id
825
- name
826
- jobResponsibility
827
- active
828
- user {
829
- id
830
- name
831
- email
832
- }
833
- }
834
- }
835
- }
836
- `,
837
- variables: {
838
- id: projectId,
839
- filters: [
840
- {
841
- name: 'active',
842
- operator: 'eq',
843
- value: true
844
- },
845
- {
846
- name: 'userId',
847
- operator: 'is_not_null',
848
- value: ''
849
- }
850
- ]
851
- }
852
- });
853
- this.project = ((_a = response.data) === null || _a === void 0 ? void 0 : _a.project) || Object.assign({}, this.defaultProject);
854
- const items = ((_c = (_b = response.data) === null || _b === void 0 ? void 0 : _b.employees) === null || _c === void 0 ? void 0 : _c.items) || [];
855
- this.overallConstructorList = this._filterUserByPermission(items, 'OVERALL_CONSTRUCTOR');
856
- this.taskConstructorList = this._filterUserByPermission(items, 'TASK_CONSTRUCTOR');
857
- this.overallSupervisoryList = this._filterUserByPermission(items, 'OVERALL_SUPERVISORY');
858
- this.taskSupervisoryList = this._filterUserByPermission(items, 'TASK_SUPERVISORY');
859
- this.updateContext();
860
- }
861
- _filterUserByPermission(userList, permission) {
862
- return userList
863
- .filter(v => v.jobResponsibility == permission || v.jobResponsibility == 'ADMIN')
864
- .map(v => ({ name: v.name, value: v.user.email }));
865
- }
866
- _stripTypename(obj) {
867
- if (Array.isArray(obj)) {
868
- return obj.map(item => this._stripTypename(item));
869
- }
870
- if (obj && typeof obj === 'object' && !(obj instanceof File)) {
871
- const cleaned = {};
872
- for (const [key, value] of Object.entries(obj)) {
873
- if (key === '__typename')
874
- continue;
875
- cleaned[key] = this._stripTypename(value);
876
- }
877
- return cleaned;
878
- }
879
- return obj;
880
- }
881
- async _saveProject() {
882
- // 첨부 파일 필드 제거 (첨부 파일은 {filename}Upload 로 전송)
883
- delete this.project.mainPhoto;
884
- delete this.project.buildingComplex.drawing;
885
- // ProjectPatch 입력 타입에 없는 표시 전용 필드 제거 (테넌트 승격 UI 표시용)
886
- delete this.project.code;
887
- delete this.project.tenantDomain;
888
- const response = await client.mutate({
889
- mutation: gql `
890
- mutation UpdateProject($project: ProjectPatch!) {
891
- updateProject(project: $project) {
892
- id
893
- }
894
- }
895
- `,
896
- variables: {
897
- project: this._stripTypename(this.project)
898
- },
899
- context: {
900
- hasUpload: true
901
- }
902
- });
903
- if (!response.errors) {
904
- notify({ message: '저장에 성공하였습니다.' });
905
- }
906
- }
907
- /**
908
- * 주소 옆 "정보 연동" 버튼 handler.
909
- * - 현재 폼의 주소를 backend 로 보냄 → backend 가 EnvVar 갱신 + 세움터 시나리오 호출
910
- * - 결과 (한글 raw + 숫자) 를 받아 BuildingComplex 폼 필드들에 매핑
911
- * · siteType (한글) → SiteType enum 변환 (BC.siteType, enum 컬럼)
912
- * · siteType (한글) → BC.constructionType 그대로 (자유 텍스트 컬럼)
913
- * · area / floorAreaRatio / coverageRatio / householdCount / buildingCount /
914
- * structureType → BC 동명 컬럼에 직접 대입
915
- * · upperFloorCount / lowerFloorCount / bldNm / useAprDay / pmsDay → BC 컬럼
916
- * 없음, 매핑 skip (참고용 콘솔 로그만)
917
- */
918
- async _collectBasicInfo() {
919
- var _a, _b, _c;
920
- const address = (((_b = (_a = this.project) === null || _a === void 0 ? void 0 : _a.buildingComplex) === null || _b === void 0 ? void 0 : _b.address) || '').trim();
921
- if (!address) {
922
- notify({ message: '먼저 프로젝트 주소를 입력해 주세요.' });
923
- return;
924
- }
925
- this.collectingBasicInfo = true;
926
- try {
927
- const response = await client.mutate({
928
- mutation: gql `
929
- mutation CollectProjectBasicInfo($projectId: String!, $address: String) {
930
- collectProjectBasicInfo(projectId: $projectId, address: $address) {
931
- source
932
- label
933
- ok
934
- message
935
- data
936
- }
937
- }
938
- `,
939
- variables: { projectId: this.project.id, address }
940
- });
941
- if (response.errors) {
942
- throw new Error(response.errors.map((e) => e.message).join('\n'));
943
- }
944
- const result = (_c = response.data) === null || _c === void 0 ? void 0 : _c.collectProjectBasicInfo;
945
- if (!(result === null || result === void 0 ? void 0 : result.ok)) {
946
- notify({ message: (result === null || result === void 0 ? void 0 : result.message) || '업데이트할 정보가 없습니다.' });
947
- return;
948
- }
949
- const data = result.data || {};
950
- this._applyBasicInfoToForm(data);
951
- this.requestUpdate();
952
- notify({ message: '외부 시스템에서 기본 정보를 가져왔습니다. 검토 후 [저장]을 눌러주세요.' });
953
- }
954
- catch (err) {
955
- console.warn('[정보 연동] 실패', err);
956
- notify({ message: '외부 시스템 연동이 일시적으로 안 됩니다.' });
957
- }
958
- finally {
959
- this.collectingBasicInfo = false;
960
- }
961
- }
962
- /**
963
- * 한글 주용도명 → SiteType enum.
964
- * - NFC normalize + 공백 제거로 보이지 않는 문자/표기 차이 대응
965
- * - 매핑 미존재시 null
966
- */
967
- _siteTypeFromKorean(korean) {
968
- if (!korean)
969
- return null;
970
- const KEYS = {
971
- 공동주택: 'APARTMENT_COMPLEX',
972
- 단독주택: 'DETACHED_HOUSE',
973
- 제1종근린생활시설: 'NEIGHBORHOOD_FACILITY',
974
- 제2종근린생활시설: 'NEIGHBORHOOD_FACILITY',
975
- 근린생활시설: 'NEIGHBORHOOD_FACILITY',
976
- 업무시설: 'OFFICE',
977
- 판매시설: 'COMMERCIAL',
978
- 교육연구시설: 'EDUCATION',
979
- 의료시설: 'MEDICAL',
980
- 문화및집회시설: 'CULTURAL',
981
- 종교시설: 'RELIGIOUS',
982
- 공장: 'INDUSTRIAL',
983
- 창고시설: 'INDUSTRIAL',
984
- 운수시설: 'TRANSPORT'
985
- };
986
- const key = korean.normalize('NFC').replace(/\s+/g, '').trim();
987
- return KEYS[key] || null;
988
- }
989
- /**
990
- * 시나리오 result data 를 폼에 매핑 — BuildingComplex 와 Project 양쪽.
991
- * 빈 값(null/undefined/'')은 기존 값 유지 — 자동 수집이 사용자 입력을 무리하게 덮지 않도록.
992
- */
993
- _applyBasicInfoToForm(data) {
994
- const bc = Object.assign({}, this.project.buildingComplex);
995
- const setBC = (key, value) => {
996
- if (value === null || value === undefined || value === '')
997
- return;
998
- bc[key] = value;
999
- };
1000
- setBC('area', this._toNum(data.area));
1001
- setBC('floorAreaRatio', this._toNum(data.floorAreaRatio));
1002
- setBC('coverageRatio', this._toNum(data.coverageRatio));
1003
- setBC('householdCount', this._toNum(data.householdCount));
1004
- setBC('buildingCount', this._toNum(data.buildingCount));
1005
- setBC('structureType', data.structureType);
1006
- // siteType: 한글 → SiteType enum 매핑. 매핑 안 되면 BC.siteType 빈 채로.
1007
- if (data.siteType) {
1008
- const enumVal = this._siteTypeFromKorean(data.siteType);
1009
- if (enumVal)
1010
- bc.siteType = enumVal;
1011
- }
1012
- // Project 엔티티 컬럼 — 착공일/준공일.
1013
- // 세움터 useAprDay (사용승인일) = 준공으로 매핑. stcnsDay = 착공.
1014
- const project = Object.assign(Object.assign({}, this.project), { buildingComplex: bc });
1015
- if (data.startDate)
1016
- project.startDate = data.startDate;
1017
- if (data.endDate)
1018
- project.endDate = data.endDate;
1019
- this.project = project;
1020
- // 참고 메타 — BC/Project 직접 컬럼 없음, 콘솔로만 (permitDate=건축허가일, bldNm 등)
1021
- console.log('[정보 연동] meta:', JSON.stringify({
1022
- upperFloorCount: data.upperFloorCount,
1023
- lowerFloorCount: data.lowerFloorCount,
1024
- bldNm: data.bldNm,
1025
- permitDate: data.permitDate
1026
- }));
1027
- }
1028
- _toNum(v) {
1029
- if (v === null || v === undefined || v === '')
1030
- return null;
1031
- const n = Number(v);
1032
- return Number.isFinite(n) ? n : null;
1033
- }
1034
- async _promoteTenant() {
1035
- if (!this.project.id)
1036
- return;
1037
- if (!confirm('이 프로젝트를 테넌트로 승격하시겠습니까?\n승격 시 관리번호(YYYY-NNNNN)가 자동 발번되며 변경할 수 없습니다.')) {
1038
- return;
1039
- }
1040
- const response = await client.mutate({
1041
- mutation: gql `
1042
- mutation PromoteProjectToTenant($projectId: String!) {
1043
- promoteProjectToTenant(projectId: $projectId) {
1044
- id
1045
- code
1046
- }
1047
- }
1048
- `,
1049
- variables: { projectId: this.project.id }
1050
- });
1051
- if (!response.errors) {
1052
- notify({ message: `테넌트로 승격되었습니다. 관리번호: ${response.data.promoteProjectToTenant.code}` });
1053
- await this.initProject(this.projectId);
1054
- }
1055
- }
1056
- async _demoteTenant() {
1057
- if (!this.project.id)
1058
- return;
1059
- if (!confirm('이 프로젝트의 테넌트를 강등하시겠습니까?\n관리번호는 보존되며 재승격 시 같은 번호가 재사용됩니다.')) {
1060
- return;
1061
- }
1062
- const response = await client.mutate({
1063
- mutation: gql `
1064
- mutation DemoteProjectTenant($projectId: String!) {
1065
- demoteProjectTenant(projectId: $projectId)
1066
- }
1067
- `,
1068
- variables: { projectId: this.project.id }
1069
- });
1070
- if (!response.errors) {
1071
- notify({ message: '테넌트가 강등되었습니다.' });
1072
- await this.initProject(this.projectId);
1073
- }
1074
- }
1075
- // 동 적용 버튼을 누르면 입력한 수 만큼 해당 단지에 동 데이터 생성
1076
- _setBuilding() {
1077
- var _a, _b, _c, _d, _e;
1078
- const buildingCount = ((_b = (_a = this.project) === null || _a === void 0 ? void 0 : _a.buildingComplex) === null || _b === void 0 ? void 0 : _b.buildingCount) || 0;
1079
- const buildingInitData = { name: undefined, floorCount: undefined };
1080
- // 빌딩 데이터가 없으면 빈 배열 넣어줌
1081
- 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)) {
1082
- this.project.buildingComplex.buildings = [];
1083
- }
1084
- if (this.project.buildingComplex.buildings.length >= buildingCount) {
1085
- // 동 수가 더 작게 들어오면 기존 배열을 필요한 크기만큼 잘라내기
1086
- this.project.buildingComplex.buildings = [...this.project.buildingComplex.buildings.slice(0, buildingCount)];
1087
- }
1088
- else {
1089
- // 동수가 더 크게 들어오면 기존 배열 + 빈 값을 채움
1090
- const additionalCount = buildingCount - this.project.buildingComplex.buildings.length;
1091
- const additionalBuildings = Array.from({ length: additionalCount }, () => (Object.assign({}, buildingInitData)));
1092
- this.project.buildingComplex.buildings = [...this.project.buildingComplex.buildings, ...additionalBuildings];
1093
- }
1094
- // 리렌더링
1095
- this.project = Object.assign({}, this.project);
1096
- }
1097
- // Input 요소의 값이 변경될 때 호출되는 콜백 함수
1098
- _onInputChange(event, idx) {
1099
- const target = event.target;
1100
- let inputVal = target.value;
1101
- // 숫자 타입은 다른 문자 입력 제거
1102
- if (target.hasAttribute('numeric')) {
1103
- inputVal = Number(inputVal.replace(/[^\d.]/g, ''));
1104
- }
1105
- if (target.hasAttribute('project')) {
1106
- this.project[target.name] = inputVal;
1107
- // documentNaming 필드가 변경되면 실시간으로 미리보기 업데이트
1108
- if (target.name === 'documentNaming') {
1109
- this.requestUpdate();
1110
- }
1111
- }
1112
- else if (target.hasAttribute('building-complex')) {
1113
- this.project.buildingComplex[target.name] = inputVal;
1114
- }
1115
- else if (target.hasAttribute('building')) {
1116
- this.project.buildingComplex.buildings[idx][target.name] = inputVal;
1117
- }
1118
- }
1119
- // 이미지 업로드
1120
- async onCreateAttachment(e) {
1121
- const target = e.target;
1122
- const file = (target.name === 'mainPhoto' ? e.detail : e.detail[0]) || null;
1123
- if (target.name === 'mainPhoto') {
1124
- this.project.mainPhotoUpload = file;
1125
- }
1126
- else {
1127
- this.project.buildingComplex.drawingUpload = file;
1128
- }
1129
- }
1130
- _handleSelectionChange(e) {
1131
- const name = e.target.getAttribute('name');
1132
- const selectedValues = e.detail.selectedValues;
1133
- this.project.buildingComplex[name] = selectedValues;
1134
- }
1135
- _toggleBasement(idx) {
1136
- const building = this.project.buildingComplex.buildings[idx];
1137
- building.hasBasement = !building.hasBasement;
1138
- // 층 수가 0이거나 체크 해제시 지하층수 초기화 (플레이스 홀더 나오게 하기 위함)
1139
- if (building.basementFloorCount == 0 || !building.hasBasement) {
1140
- building.basementFloorCount = undefined;
1141
- }
1142
- this.project.buildingComplex.buildings[idx]['hasBasement'] = building.hasBasement;
1143
- this.requestUpdate();
1144
- }
1145
- };
1146
- ProjectUpdate.styles = [
1147
- css `
1148
- :host {
1149
- display: grid;
1150
- grid-template-rows: 55px auto;
1151
- color: #4e5055;
1152
-
1153
- width: 100%;
1154
- background-color: var(--md-sys-color-background, #f6f6f6);
1155
- overflow-y: auto;
1156
-
1157
- --grid-record-emphasized-background-color: red;
1158
- --grid-record-emphasized-color: yellow;
1159
- }
1160
-
1161
- md-outlined-text-field {
1162
- width: 100%;
1163
-
1164
- --md-outlined-text-field-container-shape: 5px;
1165
- --md-outlined-text-field-outline-color: rgba(51, 51, 51, 0.2);
1166
- --md-outlined-text-field-focus-outline-color: #1f7fd9;
1167
- --md-outlined-text-field-focus-outline-width: 1px;
1168
- --md-sys-color-primary: #586878;
1169
- --md-outlined-text-field-input-text-size: 14px;
1170
- --md-outlined-field-bottom-space: 3px;
1171
- --md-outlined-field-top-space: 3px;
1172
- --md-outlined-field-leading-space: var(--spacing-medium, 8px);
1173
- --md-outlined-field-trailing-space: var(--spacing-medium, 8px);
1174
- }
1175
- select2-component {
1176
- width: 100%;
1177
- }
1178
- md-filled-select {
1179
- width: 100%;
1180
- --md-filled-select-text-field-container-color: transparent;
1181
- --md-filled-select-text-field-active-indicator-color: #999;
1182
- --md-filled-select-text-field-input-text-size: 14px;
1183
- --md-filled-select-text-field-input-text-line-height: 6px;
1184
- }
1185
- input[type='date'] {
1186
- border: 1px solid rgba(51, 51, 51, 0.2);
1187
- padding: var(--spacing-small, 4px) var(--spacing-medium, 8px);
1188
- border-radius: 5px;
1189
- }
1190
- md-outlined-text-field[type='textarea'] {
1191
- width: 100%;
1192
- height: 120px;
1193
- resize: none;
1194
- }
1195
-
1196
- ox-input-image {
1197
- width: 120px;
1198
- height: 90px;
1199
- }
1200
- ox-input-file {
1201
- width: 120px;
1202
- height: 90px;
1203
- padding: 0;
1204
- }
1205
-
1206
- div[body] {
1207
- display: flex;
1208
- margin: var(--spacing-large, 12px);
1209
- margin-top: 0;
1210
- gap: var(--spacing-medium, 8px);
1211
-
1212
- & > div {
1213
- display: flex;
1214
- height: fit-content;
1215
- flex-direction: column;
1216
- padding: var(--spacing-large, 12px);
1217
- background-color: var(--md-sys-color-on-primary);
1218
- border: 1px solid #cccccc80;
1219
- border-radius: 5px;
1220
- gap: var(--spacing-medium, 8px);
1221
-
1222
- h3 {
1223
- color: #2e79be;
1224
- font-size: 16px;
1225
- margin: 0px;
1226
- }
1227
-
1228
- div[row] {
1229
- display: flex;
1230
- align-items: center;
1231
-
1232
- span:first-child {
1233
- flex: 0.3;
1234
- text-align: right;
1235
- font-size: 14px;
1236
- }
1237
-
1238
- span:last-child {
1239
- flex: 0.7;
1240
- display: flex;
1241
- gap: var(--spacing-medium, 8px);
1242
- margin-left: var(--spacing-medium, 8px);
1243
- align-items: center;
1244
-
1245
- &.address-row {
1246
- md-outlined-text-field {
1247
- flex: 1;
1248
- }
1249
- .info-link-btn {
1250
- flex: 0 0 auto;
1251
- --md-elevated-button-container-color: #2e79be;
1252
- --md-elevated-button-label-text-color: #fff;
1253
- --md-elevated-button-container-height: 36px;
1254
- }
1255
- }
1256
-
1257
- &[align-end] {
1258
- align-items: end;
1259
- }
1260
- }
1261
- }
1262
- }
1263
-
1264
- div[project-info] {
1265
- flex: 0.55;
1266
- }
1267
-
1268
- div[document-preview] {
1269
- width: 100%;
1270
- font-size: 12px;
1271
- color: #2e79be;
1272
- font-weight: 500;
1273
- background-color: #f8f9fa;
1274
- padding: 8px 12px;
1275
- border-radius: 4px;
1276
- border-left: 3px solid #2e79be;
1277
- margin-top: 4px;
1278
- }
1279
-
1280
- div[detail-info] {
1281
- flex: 0.45;
1282
- padding: 0px;
1283
- gap: 10px;
1284
- background-color: transparent;
1285
- border: none;
1286
-
1287
- & > div {
1288
- display: flex;
1289
- flex-direction: column;
1290
- gap: var(--spacing-medium, 8px);
1291
- border: 1px solid #cccccc80;
1292
- border-radius: 5px;
1293
- padding: var(--spacing-large, 12px);
1294
- background-color: var(--md-sys-color-on-primary);
1295
-
1296
- md-outlined-text-field[type='text'] {
1297
- width: 60%;
1298
- }
1299
-
1300
- md-elevated-button {
1301
- --md-elevated-button-container-height: 30px;
1302
- --md-elevated-button-container-color: var(--md-sys-color-on-primary);
1303
- --md-elevated-button-label-text-size: 16px;
1304
- }
1305
- hr {
1306
- border: 1px rgba(51, 51, 51, 0.1) dashed;
1307
- width: 100%;
1308
- margin-bottom: var(--spacing-tiny, 2px);
1309
- }
1310
- div[warn] {
1311
- font-size: 12px;
1312
- color: red;
1313
- margin-left: var(--spacing-small, 4px);
1314
- margin-bottom: var(--spacing-small, 4px);
1315
- }
1316
-
1317
- md-outlined-button {
1318
- min-height: 30px;
1319
- padding: 0 var(--spacing-large, 12px);
1320
- box-shadow: 1px 1px 1px #0000001a;
1321
- --md-outlined-button-label-text-color: #586878;
1322
- --md-outlined-button-label-text-weight: bold;
1323
- --md-sys-color-outline: rgba(51, 51, 51, 0.2);
1324
- }
1325
-
1326
- div[row] {
1327
- span:first-child {
1328
- flex: 0.2;
1329
- }
1330
- span:last-child {
1331
- flex: 0.8;
1332
- }
1333
- }
1334
-
1335
- div[separate-container] {
1336
- display: grid;
1337
- grid-template-columns: repeat(2, 1fr);
1338
- gap: 8px 30px;
1339
- margin-left: 15px;
1340
-
1341
- md-outlined-text-field {
1342
- width: 80px;
1343
- }
1344
-
1345
- & > div {
1346
- display: flex;
1347
- gap: 15px;
1348
-
1349
- span[floor-row] {
1350
- display: inline-flex;
1351
- align-items: center;
1352
- margin-left: 5px;
1353
- }
1354
-
1355
- span[floor-title] {
1356
- min-width: 33px;
1357
- margin-right: var(--spacing-small, 4px);
1358
- }
1359
- span:first-child {
1360
- flex: 0.4;
1361
- justify-content: flex-start;
1362
- display: flex;
1363
- }
1364
- span:last-child {
1365
- flex: 0.6;
1366
- display: flex;
1367
- align-items: center;
1368
- padding-left: var(--spacing-medium, 8px);
1369
- }
1370
- }
1371
-
1372
- div[basement-container] {
1373
- display: flex;
1374
- align-items: center;
1375
- gap: 4px;
1376
-
1377
- div[basement-checkbox] {
1378
- display: flex;
1379
- align-items: center;
1380
- cursor: pointer;
1381
-
1382
- md-icon {
1383
- --md-icon-size: 25px;
1384
- color: #808080;
1385
- transition: opacity 0.2s ease;
1386
- }
1387
-
1388
- &[disabled] {
1389
- cursor: not-allowed;
1390
- opacity: 0.4;
1391
-
1392
- md-icon {
1393
- color: #cccccc;
1394
- }
1395
- }
1396
-
1397
- &[checked] md-icon {
1398
- background-color: #2e79be;
1399
- color: white;
1400
- border-radius: 3px;
1401
- }
1402
- }
1403
-
1404
- md-outlined-text-field[basement-floor] {
1405
- width: 70px;
1406
- margin-left: var(--spacing-small, 4px);
1407
- opacity: 1;
1408
- transition: opacity 0.2s ease;
1409
-
1410
- &[disabled] {
1411
- opacity: 0.4;
1412
- pointer-events: none;
1413
- }
1414
- }
1415
- }
1416
- }
1417
-
1418
- &[project] {
1419
- div[separate-container] {
1420
- margin-left: 15px;
1421
-
1422
- & > div {
1423
- align-items: center;
1424
-
1425
- span:first-child {
1426
- flex: 0.4;
1427
- min-width: 100px;
1428
- }
1429
- span:last-child {
1430
- flex: 0.4;
1431
- margin-left: 0;
1432
- }
1433
- }
1434
- }
1435
- }
1436
- }
1437
- }
1438
- }
1439
- `
1440
- ];
1441
- __decorate([
1442
- state(),
1443
- __metadata("design:type", String)
1444
- ], ProjectUpdate.prototype, "projectId", void 0);
1445
- __decorate([
1446
- state(),
1447
- __metadata("design:type", Object)
1448
- ], ProjectUpdate.prototype, "project", void 0);
1449
- __decorate([
1450
- state(),
1451
- __metadata("design:type", Array)
1452
- ], ProjectUpdate.prototype, "selectedValues", void 0);
1453
- __decorate([
1454
- state(),
1455
- __metadata("design:type", Array)
1456
- ], ProjectUpdate.prototype, "overallConstructorList", void 0);
1457
- __decorate([
1458
- state(),
1459
- __metadata("design:type", Array)
1460
- ], ProjectUpdate.prototype, "taskConstructorList", void 0);
1461
- __decorate([
1462
- state(),
1463
- __metadata("design:type", Array)
1464
- ], ProjectUpdate.prototype, "taskSupervisoryList", void 0);
1465
- __decorate([
1466
- state(),
1467
- __metadata("design:type", Array)
1468
- ], ProjectUpdate.prototype, "overallSupervisoryList", void 0);
1469
- __decorate([
1470
- state(),
1471
- __metadata("design:type", Boolean)
1472
- ], ProjectUpdate.prototype, "collectingBasicInfo", void 0);
1473
- ProjectUpdate = __decorate([
1474
- customElement('project-update')
1475
- ], ProjectUpdate);
1476
- export { ProjectUpdate };
1477
- //# sourceMappingURL=project-update.js.map