@dssp/project 0.0.8 → 0.0.10

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 (286) hide show
  1. package/client/pages/project/project-detail.ts +109 -30
  2. package/client/pages/project/project-list.ts +46 -10
  3. package/client/pages/project/project-schedule-list.ts +11 -3
  4. package/client/pages/project/project-schedule.ts +111 -312
  5. package/client/pages/project/project-setting-list.ts +11 -3
  6. package/client/pages/resource/construction-detail-type-popup.ts +201 -0
  7. package/client/pages/resource/construction-type-management.ts +40 -39
  8. package/client/pages/resource/inspection-drawing-type-management.ts +210 -0
  9. package/client/pages/resource/inspection-part-popup.ts +201 -0
  10. package/client/pages/resource/manager-management.ts +0 -27
  11. package/client/pages/{checklist/checklist-importer.ts → resource/resource-importer.ts} +11 -8
  12. package/client/pages/{checklist/checklist-list-page.ts → resource/resource-list-page.ts} +41 -25
  13. package/client/pages/resource/worker-type-management.ts +3 -37
  14. package/client/pages/task-resource/task-resource-importer.ts +97 -0
  15. package/client/pages/task-resource/task-resource-list-page.ts +356 -0
  16. package/client/route.ts +13 -1
  17. package/dist-client/pages/project/project-detail.d.ts +5 -1
  18. package/dist-client/pages/project/project-detail.js +123 -40
  19. package/dist-client/pages/project/project-detail.js.map +1 -1
  20. package/dist-client/pages/project/project-list.d.ts +33 -7
  21. package/dist-client/pages/project/project-list.js +26 -11
  22. package/dist-client/pages/project/project-list.js.map +1 -1
  23. package/dist-client/pages/project/project-schedule-list.js +11 -3
  24. package/dist-client/pages/project/project-schedule-list.js.map +1 -1
  25. package/dist-client/pages/project/project-schedule.d.ts +5 -1
  26. package/dist-client/pages/project/project-schedule.js +117 -306
  27. package/dist-client/pages/project/project-schedule.js.map +1 -1
  28. package/dist-client/pages/project/project-setting-list.js +11 -3
  29. package/dist-client/pages/project/project-setting-list.js.map +1 -1
  30. package/dist-client/pages/resource/construction-detail-type-popup.d.ts +2 -0
  31. package/dist-client/pages/resource/construction-detail-type-popup.js +197 -0
  32. package/dist-client/pages/resource/construction-detail-type-popup.js.map +1 -0
  33. package/dist-client/pages/resource/construction-type-management.d.ts +12 -0
  34. package/dist-client/pages/resource/construction-type-management.js +30 -38
  35. package/dist-client/pages/resource/construction-type-management.js.map +1 -1
  36. package/dist-client/pages/resource/inspection-drawing-type-management.d.ts +34 -0
  37. package/dist-client/pages/resource/inspection-drawing-type-management.js +198 -0
  38. package/dist-client/pages/resource/inspection-drawing-type-management.js.map +1 -0
  39. package/dist-client/pages/resource/inspection-part-popup.d.ts +2 -0
  40. package/dist-client/pages/resource/inspection-part-popup.js +197 -0
  41. package/dist-client/pages/resource/inspection-part-popup.js.map +1 -0
  42. package/dist-client/pages/resource/manager-management.js +0 -27
  43. package/dist-client/pages/resource/manager-management.js.map +1 -1
  44. package/dist-client/pages/{checklist/checklist-importer.d.ts → resource/resource-importer.d.ts} +2 -2
  45. package/dist-client/pages/{checklist/checklist-importer.js → resource/resource-importer.js} +10 -10
  46. package/dist-client/pages/resource/resource-importer.js.map +1 -0
  47. package/dist-client/pages/{checklist/checklist-list-page.d.ts → resource/resource-list-page.d.ts} +6 -6
  48. package/dist-client/pages/{checklist/checklist-list-page.js → resource/resource-list-page.js} +41 -32
  49. package/dist-client/pages/resource/resource-list-page.js.map +1 -0
  50. package/dist-client/pages/resource/worker-type-management.d.ts +7 -1
  51. package/dist-client/pages/resource/worker-type-management.js +3 -45
  52. package/dist-client/pages/resource/worker-type-management.js.map +1 -1
  53. package/dist-client/pages/task-resource/task-resource-importer.d.ts +10 -0
  54. package/dist-client/pages/task-resource/task-resource-importer.js +101 -0
  55. package/dist-client/pages/task-resource/task-resource-importer.js.map +1 -0
  56. package/dist-client/pages/task-resource/task-resource-list-page.d.ts +63 -0
  57. package/dist-client/pages/task-resource/task-resource-list-page.js +332 -0
  58. package/dist-client/pages/task-resource/task-resource-list-page.js.map +1 -0
  59. package/dist-client/route.d.ts +1 -1
  60. package/dist-client/route.js +9 -0
  61. package/dist-client/route.js.map +1 -1
  62. package/dist-client/tsconfig.tsbuildinfo +1 -1
  63. package/dist-server/controllers/import-task.d.ts +19 -0
  64. package/dist-server/controllers/import-task.js +104 -0
  65. package/dist-server/controllers/import-task.js.map +1 -0
  66. package/dist-server/index.d.ts +1 -0
  67. package/dist-server/index.js +1 -0
  68. package/dist-server/index.js.map +1 -1
  69. package/dist-server/migrations/1723861466413-seed-roles.d.ts +5 -0
  70. package/dist-server/migrations/1723861466413-seed-roles.js +117 -0
  71. package/dist-server/migrations/1723861466413-seed-roles.js.map +1 -0
  72. package/dist-server/migrations/1723861466414-seed-codes.d.ts +5 -0
  73. package/dist-server/migrations/1723861466414-seed-codes.js +132 -0
  74. package/dist-server/migrations/1723861466414-seed-codes.js.map +1 -0
  75. package/dist-server/migrations/1723861476419-seed-resources.d.ts +5 -0
  76. package/dist-server/migrations/1723861476419-seed-resources.js +57 -0
  77. package/dist-server/migrations/1723861476419-seed-resources.js.map +1 -0
  78. package/dist-server/migrations/1723861478420-seed-/bsample-project.d.ts +5 -0
  79. package/dist-server/migrations/1723861478420-seed-/bsample-project.js +68 -0
  80. package/dist-server/migrations/1723861478420-seed-/bsample-project.js.map +1 -0
  81. package/dist-server/migrations/1723861478421-seed-/bsample-tasks.d.ts +5 -0
  82. package/dist-server/migrations/1723861478421-seed-/bsample-tasks.js +189 -0
  83. package/dist-server/migrations/1723861478421-seed-/bsample-tasks.js.map +1 -0
  84. package/dist-server/migrations/index.d.ts +1 -0
  85. package/dist-server/migrations/index.js +12 -0
  86. package/dist-server/migrations/index.js.map +1 -0
  87. package/dist-server/service/construction-detail-type/construction-detail-type-mutation.d.ts +6 -0
  88. package/dist-server/service/construction-detail-type/construction-detail-type-mutation.js +56 -0
  89. package/dist-server/service/construction-detail-type/construction-detail-type-mutation.js.map +1 -0
  90. package/dist-server/service/construction-detail-type/construction-detail-type-query.d.ts +9 -0
  91. package/dist-server/service/construction-detail-type/construction-detail-type-query.js +53 -0
  92. package/dist-server/service/construction-detail-type/construction-detail-type-query.js.map +1 -0
  93. package/dist-server/service/construction-detail-type/construction-detail-type-type.d.ts +11 -0
  94. package/dist-server/service/construction-detail-type/construction-detail-type-type.js +43 -0
  95. package/dist-server/service/construction-detail-type/construction-detail-type-type.js.map +1 -0
  96. package/dist-server/service/construction-detail-type/construction-detail-type.d.ts +15 -0
  97. package/dist-server/service/construction-detail-type/construction-detail-type.js +69 -0
  98. package/dist-server/service/construction-detail-type/construction-detail-type.js.map +1 -0
  99. package/dist-server/service/construction-detail-type/index.d.ts +5 -0
  100. package/dist-server/service/construction-detail-type/index.js +9 -0
  101. package/dist-server/service/construction-detail-type/index.js.map +1 -0
  102. package/dist-server/service/construction-type/construction-type-query.d.ts +2 -0
  103. package/dist-server/service/construction-type/construction-type-query.js +14 -0
  104. package/dist-server/service/construction-type/construction-type-query.js.map +1 -1
  105. package/dist-server/service/construction-type/construction-type.d.ts +2 -0
  106. package/dist-server/service/construction-type/construction-type.js +6 -0
  107. package/dist-server/service/construction-type/construction-type.js.map +1 -1
  108. package/dist-server/service/index.d.ts +7 -5
  109. package/dist-server/service/index.js +21 -10
  110. package/dist-server/service/index.js.map +1 -1
  111. package/dist-server/service/inspection-drawing-type/index.d.ts +5 -0
  112. package/dist-server/service/inspection-drawing-type/index.js +9 -0
  113. package/dist-server/service/inspection-drawing-type/index.js.map +1 -0
  114. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-mutation.d.ts +6 -0
  115. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-mutation.js +64 -0
  116. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-mutation.js.map +1 -0
  117. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-query.d.ts +12 -0
  118. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-query.js +83 -0
  119. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-query.js.map +1 -0
  120. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-type.d.ts +10 -0
  121. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-type.js +39 -0
  122. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-type.js.map +1 -0
  123. package/dist-server/service/inspection-drawing-type/inspection-drawing-type.d.ts +16 -0
  124. package/dist-server/service/inspection-drawing-type/inspection-drawing-type.js +72 -0
  125. package/dist-server/service/inspection-drawing-type/inspection-drawing-type.js.map +1 -0
  126. package/dist-server/service/inspection-part/index.d.ts +5 -0
  127. package/dist-server/service/inspection-part/index.js +9 -0
  128. package/dist-server/service/inspection-part/index.js.map +1 -0
  129. package/dist-server/service/inspection-part/inspection-part-mutation.d.ts +6 -0
  130. package/dist-server/service/inspection-part/inspection-part-mutation.js +55 -0
  131. package/dist-server/service/inspection-part/inspection-part-mutation.js.map +1 -0
  132. package/dist-server/service/inspection-part/inspection-part-query.d.ts +10 -0
  133. package/dist-server/service/inspection-part/inspection-part-query.js +66 -0
  134. package/dist-server/service/inspection-part/inspection-part-query.js.map +1 -0
  135. package/dist-server/service/inspection-part/inspection-part-type.d.ts +11 -0
  136. package/dist-server/service/inspection-part/inspection-part-type.js +43 -0
  137. package/dist-server/service/inspection-part/inspection-part-type.js.map +1 -0
  138. package/dist-server/service/inspection-part/inspection-part.d.ts +15 -0
  139. package/dist-server/service/inspection-part/inspection-part.js +69 -0
  140. package/dist-server/service/inspection-part/inspection-part.js.map +1 -0
  141. package/dist-server/service/project/index.d.ts +0 -2
  142. package/dist-server/service/project/index.js +1 -3
  143. package/dist-server/service/project/index.js.map +1 -1
  144. package/dist-server/service/project/project-query.d.ts +7 -5
  145. package/dist-server/service/project/project-query.js +34 -38
  146. package/dist-server/service/project/project-query.js.map +1 -1
  147. package/dist-server/service/project/project-type.d.ts +3 -6
  148. package/dist-server/service/project/project-type.js +25 -35
  149. package/dist-server/service/project/project-type.js.map +1 -1
  150. package/dist-server/service/project/project.d.ts +3 -2
  151. package/dist-server/service/project/project.js +10 -10
  152. package/dist-server/service/project/project.js.map +1 -1
  153. package/dist-server/service/resource/index.d.ts +6 -0
  154. package/dist-server/service/resource/index.js +10 -0
  155. package/dist-server/service/resource/index.js.map +1 -0
  156. package/dist-server/service/resource/resource-mutation.d.ts +10 -0
  157. package/dist-server/service/resource/resource-mutation.js +132 -0
  158. package/dist-server/service/resource/resource-mutation.js.map +1 -0
  159. package/dist-server/service/resource/resource-query.d.ts +11 -0
  160. package/dist-server/service/{checklist/checklist-query.js → resource/resource-query.js} +33 -38
  161. package/dist-server/service/resource/resource-query.js.map +1 -0
  162. package/dist-server/service/resource/resource-type.d.ts +17 -0
  163. package/dist-server/service/resource/resource-type.js +65 -0
  164. package/dist-server/service/resource/resource-type.js.map +1 -0
  165. package/dist-server/service/resource/resource.d.ts +24 -0
  166. package/dist-server/service/resource/resource.js +93 -0
  167. package/dist-server/service/resource/resource.js.map +1 -0
  168. package/dist-server/service/task/task-mutation.js +6 -0
  169. package/dist-server/service/task/task-mutation.js.map +1 -1
  170. package/dist-server/service/task/task-query.d.ts +9 -1
  171. package/dist-server/service/task/task-query.js +142 -20
  172. package/dist-server/service/task/task-query.js.map +1 -1
  173. package/dist-server/service/task/task-type.d.ts +13 -0
  174. package/dist-server/service/task/task-type.js +57 -12
  175. package/dist-server/service/task/task-type.js.map +1 -1
  176. package/dist-server/service/task/task.d.ts +12 -5
  177. package/dist-server/service/task/task.js +51 -16
  178. package/dist-server/service/task/task.js.map +1 -1
  179. package/dist-server/service/task-resource/index.d.ts +6 -0
  180. package/dist-server/service/task-resource/index.js +10 -0
  181. package/dist-server/service/task-resource/index.js.map +1 -0
  182. package/dist-server/service/task-resource/task-resource-mutation.d.ts +10 -0
  183. package/dist-server/service/task-resource/task-resource-mutation.js +132 -0
  184. package/dist-server/service/task-resource/task-resource-mutation.js.map +1 -0
  185. package/dist-server/service/task-resource/task-resource-query.d.ts +7 -0
  186. package/dist-server/service/task-resource/task-resource-query.js +50 -0
  187. package/dist-server/service/task-resource/task-resource-query.js.map +1 -0
  188. package/dist-server/service/task-resource/task-resource-type.d.ts +17 -0
  189. package/dist-server/service/task-resource/task-resource-type.js +65 -0
  190. package/dist-server/service/task-resource/task-resource-type.js.map +1 -0
  191. package/dist-server/service/task-resource/task-resource.d.ts +13 -0
  192. package/dist-server/service/task-resource/task-resource.js +59 -0
  193. package/dist-server/service/task-resource/task-resource.js.map +1 -0
  194. package/dist-server/tsconfig.tsbuildinfo +1 -1
  195. package/helps/project/checklist-type-detail.md +160 -0
  196. package/helps/project/checklist-type.md +160 -0
  197. package/helps/project/task-resource.md +160 -0
  198. package/package.json +11 -7
  199. package/server/controllers/import-task.ts +140 -0
  200. package/server/index.ts +1 -0
  201. package/server/migrations/1723861466413-seed-roles.ts +128 -0
  202. package/server/migrations/1723861466414-seed-codes.ts +139 -0
  203. package/server/migrations/1723861476419-seed-resources.ts +62 -0
  204. package/server/migrations/1723861478420-seed-/bsample-project.ts +87 -0
  205. package/server/migrations/1723861478421-seed-/bsample-tasks.ts +194 -0
  206. package/server/migrations/index.ts +9 -0
  207. package/server/service/construction-detail-type/construction-detail-type-mutation.ts +57 -0
  208. package/server/service/construction-detail-type/construction-detail-type-query.ts +31 -0
  209. package/server/service/construction-detail-type/construction-detail-type-type.ts +26 -0
  210. package/server/service/construction-detail-type/construction-detail-type.ts +52 -0
  211. package/server/service/construction-detail-type/index.ts +6 -0
  212. package/server/service/construction-type/construction-type-query.ts +9 -0
  213. package/server/service/construction-type/construction-type.ts +8 -2
  214. package/server/service/index.ts +24 -11
  215. package/server/service/inspection-drawing-type/index.ts +6 -0
  216. package/server/service/inspection-drawing-type/inspection-drawing-type-mutation.ts +69 -0
  217. package/server/service/inspection-drawing-type/inspection-drawing-type-query.ts +55 -0
  218. package/server/service/inspection-drawing-type/inspection-drawing-type-type.ts +23 -0
  219. package/server/service/inspection-drawing-type/inspection-drawing-type.ts +68 -0
  220. package/server/service/inspection-part/index.ts +6 -0
  221. package/server/service/inspection-part/inspection-part-mutation.ts +52 -0
  222. package/server/service/inspection-part/inspection-part-query.ts +41 -0
  223. package/server/service/inspection-part/inspection-part-type.ts +26 -0
  224. package/server/service/inspection-part/inspection-part.ts +51 -0
  225. package/server/service/project/index.ts +0 -2
  226. package/server/service/project/project-query.ts +30 -38
  227. package/server/service/project/project-type.ts +22 -27
  228. package/server/service/project/project.ts +11 -12
  229. package/server/service/resource/index.ts +7 -0
  230. package/server/service/resource/resource-mutation.ts +137 -0
  231. package/server/service/resource/resource-query.ts +50 -0
  232. package/server/service/resource/resource-type.ts +41 -0
  233. package/server/service/resource/resource.ts +82 -0
  234. package/server/service/task/task-mutation.ts +8 -9
  235. package/server/service/task/task-query.ts +135 -22
  236. package/server/service/task/task-type.ts +41 -15
  237. package/server/service/task/task.ts +44 -15
  238. package/server/service/task-resource/index.ts +7 -0
  239. package/server/service/task-resource/task-resource-mutation.ts +140 -0
  240. package/server/service/task-resource/task-resource-query.ts +36 -0
  241. package/server/service/task-resource/task-resource-type.ts +41 -0
  242. package/server/service/task-resource/task-resource.ts +51 -0
  243. package/things-factory.config.js +1 -0
  244. package/translations/en.json +15 -1
  245. package/translations/ko.json +9 -5
  246. package/dist-client/pages/checklist/checklist-importer.js.map +0 -1
  247. package/dist-client/pages/checklist/checklist-list-page.js.map +0 -1
  248. package/dist-server/service/check-item/check-item-mutation.d.ts +0 -10
  249. package/dist-server/service/check-item/check-item-mutation.js +0 -129
  250. package/dist-server/service/check-item/check-item-mutation.js.map +0 -1
  251. package/dist-server/service/check-item/check-item-query.d.ts +0 -11
  252. package/dist-server/service/check-item/check-item-query.js +0 -86
  253. package/dist-server/service/check-item/check-item-query.js.map +0 -1
  254. package/dist-server/service/check-item/check-item-type.d.ts +0 -18
  255. package/dist-server/service/check-item/check-item-type.js +0 -69
  256. package/dist-server/service/check-item/check-item-type.js.map +0 -1
  257. package/dist-server/service/check-item/check-item.d.ts +0 -18
  258. package/dist-server/service/check-item/check-item.js +0 -84
  259. package/dist-server/service/check-item/check-item.js.map +0 -1
  260. package/dist-server/service/check-item/index.d.ts +0 -5
  261. package/dist-server/service/check-item/index.js +0 -9
  262. package/dist-server/service/check-item/index.js.map +0 -1
  263. package/dist-server/service/checklist/checklist-mutation.d.ts +0 -10
  264. package/dist-server/service/checklist/checklist-mutation.js +0 -129
  265. package/dist-server/service/checklist/checklist-mutation.js.map +0 -1
  266. package/dist-server/service/checklist/checklist-query.d.ts +0 -11
  267. package/dist-server/service/checklist/checklist-query.js.map +0 -1
  268. package/dist-server/service/checklist/checklist-type.d.ts +0 -18
  269. package/dist-server/service/checklist/checklist-type.js +0 -69
  270. package/dist-server/service/checklist/checklist-type.js.map +0 -1
  271. package/dist-server/service/checklist/checklist.d.ts +0 -26
  272. package/dist-server/service/checklist/checklist.js +0 -120
  273. package/dist-server/service/checklist/checklist.js.map +0 -1
  274. package/dist-server/service/checklist/index.d.ts +0 -5
  275. package/dist-server/service/checklist/index.js +0 -9
  276. package/dist-server/service/checklist/index.js.map +0 -1
  277. package/server/service/check-item/check-item-mutation.ts +0 -142
  278. package/server/service/check-item/check-item-query.ts +0 -56
  279. package/server/service/check-item/check-item-type.ts +0 -49
  280. package/server/service/check-item/check-item.ts +0 -74
  281. package/server/service/check-item/index.ts +0 -6
  282. package/server/service/checklist/checklist-mutation.ts +0 -142
  283. package/server/service/checklist/checklist-query.ts +0 -56
  284. package/server/service/checklist/checklist-type.ts +0 -49
  285. package/server/service/checklist/checklist.ts +0 -105
  286. package/server/service/checklist/index.ts +0 -6
@@ -3,19 +3,21 @@ import '@material/web/button/elevated-button.js'
3
3
  import '@material/web/textfield/outlined-text-field.js'
4
4
  import '@material/web/button/outlined-button.js'
5
5
 
6
- import { PageView } from '@operato/shell'
6
+ import { navigate, PageView } from '@operato/shell'
7
7
  import { PageLifecycle } from '@operato/shell/dist/src/app/pages/page-view'
8
8
  import { css, html } from 'lit'
9
9
  import { customElement, state } from 'lit/decorators.js'
10
10
  import { ScopedElementsMixin } from '@open-wc/scoped-elements'
11
11
  import { client } from '@operato/graphql'
12
+ import { ScrollbarStyles } from '@operato/styles'
12
13
 
13
14
  import gql from 'graphql-tag'
14
- import { Project } from './project-list'
15
+ import { BUILDING_INSPECTION_STATUS, BuildingInspection, BuildingInspectionStatus, Project } from './project-list'
15
16
  import _getWeather from '../lib/waether'
16
17
  import '@operato/chart/ox-progress-circle.js'
17
18
 
18
19
  export interface InspectionSummary {
20
+ wait: number
19
21
  request: number
20
22
  pass: number
21
23
  fail: number
@@ -31,6 +33,7 @@ interface Weather {
31
33
  @customElement('project-detail')
32
34
  export class ProjectDetail extends ScopedElementsMixin(PageView) {
33
35
  static styles = [
36
+ ScrollbarStyles,
34
37
  css`
35
38
  :host {
36
39
  display: grid;
@@ -98,6 +101,11 @@ export class ProjectDetail extends ScopedElementsMixin(PageView) {
98
101
  color: #2e79be;
99
102
  font-size: 18px;
100
103
  margin: 0px;
104
+
105
+ a {
106
+ text-decoration: none;
107
+ color: #2e79be;
108
+ }
101
109
  }
102
110
 
103
111
  & > div {
@@ -167,8 +175,6 @@ export class ProjectDetail extends ScopedElementsMixin(PageView) {
167
175
  }
168
176
 
169
177
  div[right-top] {
170
- flex: 3;
171
-
172
178
  div[state] {
173
179
  display: grid;
174
180
  grid-template-columns: 0.95fr 0.95fr 1.1fr;
@@ -210,7 +216,7 @@ export class ProjectDetail extends ScopedElementsMixin(PageView) {
210
216
  }
211
217
  div[inspection] {
212
218
  display: grid;
213
- grid-template-columns: 1.4fr 0.9fr 0.9fr 0.9fr;
219
+ grid-template-columns: 1.4fr 0.9fr 0.9fr 0.9fr 0.9fr;
214
220
  margin-top: 5px;
215
221
  background: #f6f6f6;
216
222
  border-radius: 7px;
@@ -260,8 +266,6 @@ export class ProjectDetail extends ScopedElementsMixin(PageView) {
260
266
  }
261
267
 
262
268
  div[right-bottom] {
263
- flex: 2;
264
-
265
269
  div[table-container] {
266
270
  width: 100%;
267
271
  height: 15rem;
@@ -295,6 +299,7 @@ export class ProjectDetail extends ScopedElementsMixin(PageView) {
295
299
  thead th {
296
300
  padding: 5px;
297
301
  font-size: 15px;
302
+ text-wrap: pretty;
298
303
  }
299
304
 
300
305
  tbody td {
@@ -304,7 +309,28 @@ export class ProjectDetail extends ScopedElementsMixin(PageView) {
304
309
  white-space: nowrap;
305
310
  text-overflow: ellipsis;
306
311
  overflow: hidden;
307
- font-size: 15px;
312
+ font-size: 13px;
313
+ }
314
+
315
+ md-elevated-button {
316
+ margin: 0px 3px;
317
+
318
+ --md-elevated-button-container-height: 35px;
319
+ --md-elevated-button-label-text-size: 16px;
320
+ --md-elevated-button-container-color: #0595e5;
321
+
322
+ --md-elevated-button-label-text-color: #fff;
323
+ --md-elevated-button-hover-label-text-color: #fff;
324
+ --md-elevated-button-pressed-label-text-color: #fff;
325
+ --md-elevated-button-focus-label-text-color: #fff;
326
+ --md-elevated-button-icon-color: #fff;
327
+ --md-elevated-button-hover-icon-color: #fff;
328
+ --md-elevated-button-pressed-icon-color: #fff;
329
+ --md-elevated-button-focus-icon-color: #fff;
330
+
331
+ &[red] {
332
+ --md-elevated-button-container-color: #e15757;
333
+ }
308
334
  }
309
335
  }
310
336
  }
@@ -334,7 +360,9 @@ export class ProjectDetail extends ScopedElementsMixin(PageView) {
334
360
 
335
361
  @state() projectId: string = ''
336
362
  @state() project: Project = { ...this.defaultProject }
363
+ @state() buildingInspections: BuildingInspection[] = []
337
364
  @state() inspectionSummary: InspectionSummary = {
365
+ wait: 0,
338
366
  request: 0,
339
367
  pass: 0,
340
368
  fail: 0
@@ -376,7 +404,7 @@ export class ProjectDetail extends ScopedElementsMixin(PageView) {
376
404
  <div>
377
405
  <div row>
378
406
  <span>- 면적 : </span>
379
- <span>${this.project.buildingComplex?.area}</span>
407
+ <span>${this.project.buildingComplex?.area?.toLocaleString()}</span>
380
408
  </div>
381
409
  <div row>
382
410
  <span>- 착공 ~ 준공 : </span>
@@ -408,11 +436,11 @@ export class ProjectDetail extends ScopedElementsMixin(PageView) {
408
436
  </div>
409
437
  <div row>
410
438
  <span>- 공사금액 : </span>
411
- <span>${this.project.buildingComplex?.constructionCost}</span>
439
+ <span>${this.project.buildingComplex?.constructionCost?.toLocaleString()} 원</span>
412
440
  </div>
413
441
  <div row>
414
442
  <span>- 세대수 : </span>
415
- <span>${this.project.buildingComplex?.householdCount}</span>
443
+ <span>${this.project.buildingComplex?.householdCount?.toLocaleString()}</span>
416
444
  </div>
417
445
  <div row>
418
446
  <span>- 기타 : </span>
@@ -445,7 +473,7 @@ export class ProjectDetail extends ScopedElementsMixin(PageView) {
445
473
  <div state>
446
474
  <span progress>
447
475
  <ox-progress-circle
448
- .value=${70}
476
+ .value=${this.project.totalProgress}
449
477
  titleText="전체"
450
478
  suffix="%"
451
479
  fontSize="27px"
@@ -460,8 +488,9 @@ export class ProjectDetail extends ScopedElementsMixin(PageView) {
460
488
  </span>
461
489
  <span progress>
462
490
  <ox-progress-circle
463
- .value=${30.4}
491
+ .value=${this.project.weeklyProgress}
464
492
  titleText="주간"
493
+ suffix="%"
465
494
  fontSize="27px"
466
495
  fontColor="#4E5055"
467
496
  borderStyle="none"
@@ -475,7 +504,7 @@ export class ProjectDetail extends ScopedElementsMixin(PageView) {
475
504
  <span weather>
476
505
  <div bold>현장현황</div>
477
506
  <div>
478
- <span><md-icon slot="icon">rainy</md-icon> 강수확률</span>
507
+ <span><md-icon slot="icon">rainy</md-icon>강수확률</span>
479
508
  <span bold>${this.weather.rain}%</span>
480
509
  </div>
481
510
  <div>
@@ -499,6 +528,10 @@ export class ProjectDetail extends ScopedElementsMixin(PageView) {
499
528
  </span>
500
529
  <span>
501
530
  <div>검측요청</div>
531
+ <div bold>${this.inspectionSummary.wait}</div>
532
+ </span>
533
+ <span>
534
+ <div>검측대기</div>
502
535
  <div bold>${this.inspectionSummary.request}</div>
503
536
  </span>
504
537
  <span>
@@ -517,25 +550,31 @@ export class ProjectDetail extends ScopedElementsMixin(PageView) {
517
550
  </div>
518
551
 
519
552
  <div right-bottom>
520
- <h3>기타 사항</h3>
553
+ <h3>검측 현황</h3>
521
554
  <div table-container>
522
555
  <hr />
523
556
  <table>
524
557
  <thead>
525
558
  <tr>
526
- <th width="20%">검측 위치</th>
527
- <th width="20%">공종</th>
528
- <th width="40%">내용</th>
529
- <th width="20%">검측결과</th>
559
+ <th width="5%">순번</th>
560
+ <th width="10%">검측 위치</th>
561
+ <th width="10%">공종</th>
562
+ <th width="20%">내용</th>
563
+ <th width="15%">검측 요청일</th>
564
+ <th width="10%">검측 결과</th>
565
+ <th width="15%">검측 결과 데이터</th>
530
566
  </tr>
531
567
  </thead>
532
568
  <tbody>
533
- ${[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1].map(inspection => {
534
- return html`<tr>
535
- <td>101동 3층</td>
536
- <td bold>단열공사</td>
537
- <td>단열재 시공 층간 차음재 시공 벽돌/블록 및 ALC 패널 공사</td>
538
- <td bold>검측완료</td>
569
+ ${this.buildingInspections.map((inspection, idx) => {
570
+ return html` <tr @click=${() => this._onClickInspection(inspection.id || '')}>
571
+ <td>${idx + 1}</td>
572
+ <td>${inspection?.buildingLevel?.building?.name} ${inspection?.buildingLevel?.floor}층</td>
573
+ <td bold>${inspection.checklist?.constructionType}</td>
574
+ <td>${inspection.checklist?.inspectionParts?.join(', ') || ''}</td>
575
+ <td>${this._formatDate(inspection.requestDate)}</td>
576
+ <td bold>${inspection.status && BUILDING_INSPECTION_STATUS[inspection.status]}</td>
577
+ <td>ㅁㅁㅁㅁㅁㅁ</td>
539
578
  </tr>`
540
579
  })}
541
580
  </tbody>
@@ -552,14 +591,14 @@ export class ProjectDetail extends ScopedElementsMixin(PageView) {
552
591
  async pageUpdated(changes: any, lifecycle: PageLifecycle) {
553
592
  if (this.active) {
554
593
  this.projectId = lifecycle.resourceId || ''
555
- await this.initProject(this.projectId)
594
+ await this.initProject(lifecycle.resourceId)
556
595
  }
557
596
  }
558
597
 
559
598
  async initProject(projectId: string = '') {
560
599
  const response = await client.query({
561
600
  query: gql`
562
- query Project($id: String!, $projectId: String!) {
601
+ query Project($id: String!, $projectId: String!, $params: BuildingInspectionsOfProject!) {
563
602
  project(id: $id) {
564
603
  id
565
604
  name
@@ -603,16 +642,42 @@ export class ProjectDetail extends ScopedElementsMixin(PageView) {
603
642
  }
604
643
  }
605
644
 
606
- inspectionSummary(projectId: $projectId) {
645
+ inspectionSummary: buildingInspectionSummaryOfProject(projectId: $projectId) {
646
+ wait
607
647
  request
608
648
  pass
609
649
  fail
610
650
  }
651
+
652
+ buildingInspectionsOfProject(params: $params) {
653
+ items {
654
+ id
655
+ status
656
+ requestDate
657
+ buildingLevel {
658
+ floor
659
+ building {
660
+ name
661
+ }
662
+ }
663
+ checklist {
664
+ name
665
+ constructionType
666
+ constructionDetailType
667
+ inspectionParts
668
+ }
669
+ }
670
+ total
671
+ }
611
672
  }
612
673
  `,
613
674
  variables: {
614
675
  id: projectId,
615
- projectId
676
+ projectId,
677
+ params: {
678
+ projectId,
679
+ limit: 20
680
+ }
616
681
  }
617
682
  })
618
683
 
@@ -620,12 +685,26 @@ export class ProjectDetail extends ScopedElementsMixin(PageView) {
620
685
 
621
686
  this.project = response.data?.project || {}
622
687
  this.inspectionSummary = response.data?.inspectionSummary || {}
688
+ this.buildingInspections = response.data?.buildingInspectionsOfProject?.items || []
623
689
 
624
690
  const { latitude, longitude } = this.project?.buildingComplex
625
691
  if (latitude && longitude) {
626
692
  this.weather = await _getWeather(latitude, longitude)
627
693
  }
694
+ }
695
+
696
+ private _onClickInspection(buildingInspectionId: string) {
697
+ navigate(`building-inspection-detail-drawing/${buildingInspectionId}`)
698
+ }
628
699
 
629
- console.log('init project : ', this.project)
700
+ private _formatDate(date: Date | undefined) {
701
+ return date
702
+ ? new Intl.DateTimeFormat('en-CA', {
703
+ timeZone: 'Asia/Seoul',
704
+ year: 'numeric',
705
+ month: '2-digit',
706
+ day: '2-digit'
707
+ }).format(new Date(date))
708
+ : ''
630
709
  }
631
710
  }
@@ -10,14 +10,21 @@ import { Attachment } from '@things-factory/attachment-base'
10
10
  import type { FileUpload } from 'graphql-upload/GraphQLUpload.js'
11
11
 
12
12
  export enum ProjectStatus {
13
- 'PROCEEDING' = '10',
14
- 'COMPLICATED' = '20'
13
+ 'ONGOING' = '10',
14
+ 'COMPLETED' = '20'
15
15
  }
16
- export enum InspectionStatus {
16
+ export enum BuildingInspectionStatus {
17
+ WAIT = 'WAIT',
17
18
  REQUEST = 'REQUEST',
18
19
  PASS = 'PASS',
19
20
  FAIL = 'FAIL'
20
21
  }
22
+ export const BUILDING_INSPECTION_STATUS = {
23
+ [BuildingInspectionStatus.WAIT]: '검측 대기',
24
+ [BuildingInspectionStatus.REQUEST]: '검측 요청',
25
+ [BuildingInspectionStatus.PASS]: '합격',
26
+ [BuildingInspectionStatus.FAIL]: '불합격'
27
+ }
21
28
 
22
29
  export interface Project {
23
30
  id?: string
@@ -78,17 +85,38 @@ export interface BuildingLevel {
78
85
  rebarDistributionDrawing?: Attachment
79
86
  rebarDistributionDrawingThumbnail?: string
80
87
  rebarDistributionDrawingUpload?: FileUpload
88
+ building?: Building
81
89
  buildingInspections?: BuildingInspection[]
82
90
  }
83
91
 
84
92
  export interface BuildingInspection {
85
93
  id?: string
86
- indexX?: number
87
- indexY?: number
88
- status?: InspectionStatus
89
- detail?: string
90
94
  attatchments?: Attachment[]
91
95
  // buildingInspectionAttachments?: BuildingInspectionAttachment[]
96
+ status?: BuildingInspectionStatus
97
+ requestDate?: Date
98
+ buildingLevel?: BuildingLevel
99
+ checklist?: Checklist
100
+ createdAt?: Date
101
+ updatedAt?: Date
102
+ deletedAt?: Date
103
+ }
104
+
105
+ export interface Checklist {
106
+ id: string
107
+ name?: string
108
+ documentNo?: string
109
+ constructionType?: string
110
+ constructionDetailType?: string
111
+ location?: string
112
+ constructionInspectorDate?: Date
113
+ supervisorInspectorDate?: Date
114
+ overallConstructorSignature?: string
115
+ taskConstructorSignature?: string
116
+ overallSupervisorySignature?: string
117
+ taskSupervisorySignature?: string
118
+ inspectionParts?: string[]
119
+ // checklistItems?: ChecklistItem[]
92
120
  }
93
121
 
94
122
  @customElement('project-list')
@@ -319,8 +347,8 @@ export class ProjectListPage extends ScopedElementsMixin(PageView) {
319
347
  async getProjectList() {
320
348
  const response = await client.query({
321
349
  query: gql`
322
- query Projects($projectName: String!) {
323
- projects(projectName: $projectName) {
350
+ query Projects($filters: [Filter!]) {
351
+ projects(filters: $filters) {
324
352
  items {
325
353
  id
326
354
  name
@@ -346,7 +374,15 @@ export class ProjectListPage extends ScopedElementsMixin(PageView) {
346
374
  }
347
375
  `,
348
376
  variables: {
349
- projectName: this.projectName || ''
377
+ filters: this.projectName
378
+ ? [
379
+ {
380
+ name: 'name',
381
+ operator: 'search',
382
+ value: `%${this.projectName}%`
383
+ }
384
+ ]
385
+ : []
350
386
  }
351
387
  })
352
388
 
@@ -236,8 +236,8 @@ export class ProjectScheduleListPage extends ScopedElementsMixin(PageView) {
236
236
  async getProjectList() {
237
237
  const response = await client.query({
238
238
  query: gql`
239
- query Projects($projectName: String!) {
240
- projects(projectName: $projectName) {
239
+ query Projects($filters: [Filter!]) {
240
+ projects(filters: $filters) {
241
241
  items {
242
242
  id
243
243
  name
@@ -263,7 +263,15 @@ export class ProjectScheduleListPage extends ScopedElementsMixin(PageView) {
263
263
  }
264
264
  `,
265
265
  variables: {
266
- projectName: this.projectName || ''
266
+ filters: this.projectName
267
+ ? [
268
+ {
269
+ name: 'name',
270
+ operator: 'search',
271
+ value: `%${this.projectName}%`
272
+ }
273
+ ]
274
+ : []
267
275
  }
268
276
  })
269
277