@dssp/project 1.0.0-alpha.0 → 1.0.0-alpha.14

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 (259) hide show
  1. package/dist-client/pages/lib/select2-component.js +1 -1
  2. package/dist-client/pages/lib/select2-component.js.map +1 -1
  3. package/dist-client/pages/lib/waether.d.ts +2 -1
  4. package/dist-client/pages/lib/waether.js +7 -3
  5. package/dist-client/pages/lib/waether.js.map +1 -1
  6. package/dist-client/pages/project/component/project-update-header.js.map +1 -1
  7. package/dist-client/pages/project/popup/checklist/attachment-list-popup.d.ts +1 -0
  8. package/dist-client/pages/project/popup/checklist/attachment-list-popup.js +309 -0
  9. package/dist-client/pages/project/popup/checklist/attachment-list-popup.js.map +1 -0
  10. package/dist-client/pages/project/popup/checklist/comment-list-popup.d.ts +1 -0
  11. package/dist-client/pages/project/popup/checklist/comment-list-popup.js +357 -0
  12. package/dist-client/pages/project/popup/checklist/comment-list-popup.js.map +1 -0
  13. package/dist-client/pages/project/popup/checklist/schedule-checklist-create-popup.d.ts +2 -0
  14. package/dist-client/pages/project/popup/checklist/schedule-checklist-create-popup.js +684 -0
  15. package/dist-client/pages/project/popup/checklist/schedule-checklist-create-popup.js.map +1 -0
  16. package/dist-client/pages/project/popup/checklist/schedule-checklist-view.d.ts +37 -0
  17. package/dist-client/pages/project/popup/checklist/schedule-checklist-view.js +627 -0
  18. package/dist-client/pages/project/popup/checklist/schedule-checklist-view.js.map +1 -0
  19. package/dist-client/pages/project/popup/popup-plan-export.d.ts +10 -0
  20. package/dist-client/pages/project/popup/popup-plan-export.js +236 -0
  21. package/dist-client/pages/project/popup/popup-plan-export.js.map +1 -0
  22. package/dist-client/pages/project/popup/popup-plan-upload.d.ts +3 -0
  23. package/dist-client/pages/project/popup/popup-plan-upload.js +130 -4
  24. package/dist-client/pages/project/popup/popup-plan-upload.js.map +1 -1
  25. package/dist-client/pages/project/popup/popup-project-create.js.map +1 -1
  26. package/dist-client/pages/project/popup/popup-schedule-upload.js.map +1 -1
  27. package/dist-client/pages/project/project-completed-list.js +0 -1
  28. package/dist-client/pages/project/project-completed-list.js.map +1 -1
  29. package/dist-client/pages/project/project-detail.d.ts +2 -1
  30. package/dist-client/pages/project/project-detail.js +269 -80
  31. package/dist-client/pages/project/project-detail.js.map +1 -1
  32. package/dist-client/pages/project/project-list.d.ts +12 -0
  33. package/dist-client/pages/project/project-list.js +15 -8
  34. package/dist-client/pages/project/project-list.js.map +1 -1
  35. package/dist-client/pages/project/project-plan-management.js +29 -13
  36. package/dist-client/pages/project/project-plan-management.js.map +1 -1
  37. package/dist-client/pages/project/project-schedule-list.js.map +1 -1
  38. package/dist-client/pages/project/project-schedule.d.ts +2 -0
  39. package/dist-client/pages/project/project-schedule.js +16 -1
  40. package/dist-client/pages/project/project-schedule.js.map +1 -1
  41. package/dist-client/pages/project/project-setting-list.js +25 -24
  42. package/dist-client/pages/project/project-setting-list.js.map +1 -1
  43. package/dist-client/pages/project/project-update.d.ts +1 -0
  44. package/dist-client/pages/project/project-update.js +128 -17
  45. package/dist-client/pages/project/project-update.js.map +1 -1
  46. package/dist-client/pages/resource/construction-detail-type-popup.js.map +1 -1
  47. package/dist-client/pages/resource/construction-type-management.js.map +1 -1
  48. package/dist-client/pages/resource/inspection-drawing-type-management.js.map +1 -1
  49. package/dist-client/pages/resource/inspection-part-popup.js.map +1 -1
  50. package/dist-client/pages/resource/resource-importer.js.map +1 -1
  51. package/dist-client/pages/resource/resource-list-page.js.map +1 -1
  52. package/dist-client/pages/resource/worker-type-management.js.map +1 -1
  53. package/dist-client/pages/task/task-importer.js.map +1 -1
  54. package/dist-client/pages/task/task-list-page.js.map +1 -1
  55. package/dist-client/pages/task-resource/task-resource-importer.js.map +1 -1
  56. package/dist-client/pages/task-resource/task-resource-list-page.js.map +1 -1
  57. package/dist-client/route.js.map +1 -1
  58. package/dist-client/tsconfig.tsbuildinfo +1 -1
  59. package/dist-server/controllers/export-tasks.js +1 -2
  60. package/dist-server/controllers/export-tasks.js.map +1 -1
  61. package/dist-server/controllers/import-task.js +1 -2
  62. package/dist-server/controllers/import-task.js.map +1 -1
  63. package/dist-server/controllers/parse-excel.d.ts +0 -2
  64. package/dist-server/controllers/parse-excel.js +1 -2
  65. package/dist-server/controllers/parse-excel.js.map +1 -1
  66. package/dist-server/middlewares/index.js +1 -2
  67. package/dist-server/middlewares/index.js.map +1 -1
  68. package/dist-server/migrations/1723861466413-seed-roles.js.map +1 -1
  69. package/dist-server/migrations/1723861466414-seed-codes.js.map +1 -1
  70. package/dist-server/migrations/1723861476419-seed-resources.js.map +1 -1
  71. package/dist-server/migrations/1723861478420-seed-/bsample-project.js.map +1 -1
  72. package/dist-server/migrations/1723861478421-seed-/bsample-tasks.js.map +1 -1
  73. package/dist-server/service/construction-detail-type/construction-detail-type-mutation.js +2 -2
  74. package/dist-server/service/construction-detail-type/construction-detail-type-mutation.js.map +1 -1
  75. package/dist-server/service/construction-detail-type/construction-detail-type-query.js +2 -2
  76. package/dist-server/service/construction-detail-type/construction-detail-type-query.js.map +1 -1
  77. package/dist-server/service/construction-detail-type/construction-detail-type-type.js +4 -4
  78. package/dist-server/service/construction-detail-type/construction-detail-type-type.js.map +1 -1
  79. package/dist-server/service/construction-detail-type/construction-detail-type.js +2 -2
  80. package/dist-server/service/construction-detail-type/construction-detail-type.js.map +1 -1
  81. package/dist-server/service/construction-type/construction-type-mutation.js +2 -2
  82. package/dist-server/service/construction-type/construction-type-mutation.js.map +1 -1
  83. package/dist-server/service/construction-type/construction-type-query.js +2 -2
  84. package/dist-server/service/construction-type/construction-type-query.js.map +1 -1
  85. package/dist-server/service/construction-type/construction-type-type.js +4 -4
  86. package/dist-server/service/construction-type/construction-type-type.js.map +1 -1
  87. package/dist-server/service/construction-type/construction-type.js +2 -2
  88. package/dist-server/service/construction-type/construction-type.js.map +1 -1
  89. package/dist-server/service/index.d.ts +1 -0
  90. package/dist-server/service/index.js +1 -0
  91. package/dist-server/service/index.js.map +1 -1
  92. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-mutation.js +2 -2
  93. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-mutation.js.map +1 -1
  94. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-query.js +2 -2
  95. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-query.js.map +1 -1
  96. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-type.js +4 -4
  97. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-type.js.map +1 -1
  98. package/dist-server/service/inspection-drawing-type/inspection-drawing-type.js +2 -2
  99. package/dist-server/service/inspection-drawing-type/inspection-drawing-type.js.map +1 -1
  100. package/dist-server/service/inspection-part/inspection-part-mutation.js +2 -2
  101. package/dist-server/service/inspection-part/inspection-part-mutation.js.map +1 -1
  102. package/dist-server/service/inspection-part/inspection-part-query.js +2 -2
  103. package/dist-server/service/inspection-part/inspection-part-query.js.map +1 -1
  104. package/dist-server/service/inspection-part/inspection-part-type.js +4 -4
  105. package/dist-server/service/inspection-part/inspection-part-type.js.map +1 -1
  106. package/dist-server/service/inspection-part/inspection-part.js +2 -2
  107. package/dist-server/service/inspection-part/inspection-part.js.map +1 -1
  108. package/dist-server/service/manager/index.d.ts +2 -0
  109. package/dist-server/service/manager/index.js +3 -1
  110. package/dist-server/service/manager/index.js.map +1 -1
  111. package/dist-server/service/manager/manager-mutation.js +2 -2
  112. package/dist-server/service/manager/manager-mutation.js.map +1 -1
  113. package/dist-server/service/manager/manager-query.js +3 -3
  114. package/dist-server/service/manager/manager-query.js.map +1 -1
  115. package/dist-server/service/manager/manager-type.js +4 -4
  116. package/dist-server/service/manager/manager-type.js.map +1 -1
  117. package/dist-server/service/manager/manager.js +2 -2
  118. package/dist-server/service/manager/manager.js.map +1 -1
  119. package/dist-server/service/project/project-mutation.d.ts +1 -0
  120. package/dist-server/service/project/project-mutation.js +109 -15
  121. package/dist-server/service/project/project-mutation.js.map +1 -1
  122. package/dist-server/service/project/project-query.d.ts +1 -0
  123. package/dist-server/service/project/project-query.js +14 -3
  124. package/dist-server/service/project/project-query.js.map +1 -1
  125. package/dist-server/service/project/project-type.d.ts +1 -0
  126. package/dist-server/service/project/project-type.js +13 -9
  127. package/dist-server/service/project/project-type.js.map +1 -1
  128. package/dist-server/service/project/project.d.ts +6 -0
  129. package/dist-server/service/project/project.js +15 -4
  130. package/dist-server/service/project/project.js.map +1 -1
  131. package/dist-server/service/resource/resource-mutation.js +2 -2
  132. package/dist-server/service/resource/resource-mutation.js.map +1 -1
  133. package/dist-server/service/resource/resource-query.js +2 -2
  134. package/dist-server/service/resource/resource-query.js.map +1 -1
  135. package/dist-server/service/resource/resource-type.js +6 -6
  136. package/dist-server/service/resource/resource-type.js.map +1 -1
  137. package/dist-server/service/resource/resource.js +3 -3
  138. package/dist-server/service/resource/resource.js.map +1 -1
  139. package/dist-server/service/task/task-mutation.js +2 -2
  140. package/dist-server/service/task/task-mutation.js.map +1 -1
  141. package/dist-server/service/task/task-query.js +4 -4
  142. package/dist-server/service/task/task-query.js.map +1 -1
  143. package/dist-server/service/task/task-type.js +10 -10
  144. package/dist-server/service/task/task-type.js.map +1 -1
  145. package/dist-server/service/task/task.js +7 -8
  146. package/dist-server/service/task/task.js.map +1 -1
  147. package/dist-server/service/task-resource/task-resource-mutation.js +2 -2
  148. package/dist-server/service/task-resource/task-resource-mutation.js.map +1 -1
  149. package/dist-server/service/task-resource/task-resource-query.js +2 -2
  150. package/dist-server/service/task-resource/task-resource-query.js.map +1 -1
  151. package/dist-server/service/task-resource/task-resource-type.js +6 -6
  152. package/dist-server/service/task-resource/task-resource-type.js.map +1 -1
  153. package/dist-server/service/task-resource/task-resource.js +2 -2
  154. package/dist-server/service/task-resource/task-resource.js.map +1 -1
  155. package/dist-server/service/worker-type/worker-type-mutation.js +2 -2
  156. package/dist-server/service/worker-type/worker-type-mutation.js.map +1 -1
  157. package/dist-server/service/worker-type/worker-type-query.js +2 -2
  158. package/dist-server/service/worker-type/worker-type-query.js.map +1 -1
  159. package/dist-server/service/worker-type/worker-type-type.js +4 -4
  160. package/dist-server/service/worker-type/worker-type-type.js.map +1 -1
  161. package/dist-server/service/worker-type/worker-type.js +2 -2
  162. package/dist-server/service/worker-type/worker-type.js.map +1 -1
  163. package/dist-server/tsconfig.tsbuildinfo +1 -1
  164. package/package.json +13 -11
  165. package/client/bootstrap.ts +0 -0
  166. package/client/index.ts +0 -0
  167. package/client/pages/lib/select2-component.ts +0 -175
  168. package/client/pages/lib/waether.ts +0 -159
  169. package/client/pages/project/component/project-update-header.ts +0 -88
  170. package/client/pages/project/popup/popup-plan-upload.ts +0 -138
  171. package/client/pages/project/popup/popup-project-create.ts +0 -147
  172. package/client/pages/project/popup/popup-schedule-upload.ts +0 -102
  173. package/client/pages/project/project-completed-list.ts +0 -281
  174. package/client/pages/project/project-detail.ts +0 -738
  175. package/client/pages/project/project-list.ts +0 -418
  176. package/client/pages/project/project-plan-management.ts +0 -476
  177. package/client/pages/project/project-schedule-list.ts +0 -294
  178. package/client/pages/project/project-schedule.ts +0 -393
  179. package/client/pages/project/project-setting-list.ts +0 -393
  180. package/client/pages/project/project-update.ts +0 -876
  181. package/client/pages/resource/construction-detail-type-popup.ts +0 -201
  182. package/client/pages/resource/construction-type-management.ts +0 -212
  183. package/client/pages/resource/inspection-drawing-type-management.ts +0 -245
  184. package/client/pages/resource/inspection-part-popup.ts +0 -201
  185. package/client/pages/resource/resource-importer.ts +0 -97
  186. package/client/pages/resource/resource-list-page.ts +0 -356
  187. package/client/pages/resource/worker-type-management.ts +0 -192
  188. package/client/pages/task/task-importer.ts +0 -94
  189. package/client/pages/task/task-list-page.ts +0 -340
  190. package/client/pages/task-resource/task-resource-importer.ts +0 -97
  191. package/client/pages/task-resource/task-resource-list-page.ts +0 -356
  192. package/client/route.ts +0 -55
  193. package/client/tsconfig.json +0 -11
  194. package/server/controllers/export-tasks.ts +0 -40
  195. package/server/controllers/import-task.ts +0 -134
  196. package/server/controllers/index.ts +0 -0
  197. package/server/controllers/parse-excel.ts +0 -86
  198. package/server/controllers/types.ts +0 -20
  199. package/server/index.ts +0 -4
  200. package/server/middlewares/index.ts +0 -3
  201. package/server/migrations/1723861466413-seed-roles.ts +0 -128
  202. package/server/migrations/1723861466414-seed-codes.ts +0 -157
  203. package/server/migrations/1723861476419-seed-resources.ts +0 -62
  204. package/server/migrations/1723861478420-seed-/bsample-project.ts +0 -87
  205. package/server/migrations/1723861478421-seed-/bsample-tasks.ts +0 -194
  206. package/server/migrations/index.ts +0 -9
  207. package/server/routes.ts +0 -108
  208. package/server/service/construction-detail-type/construction-detail-type-mutation.ts +0 -57
  209. package/server/service/construction-detail-type/construction-detail-type-query.ts +0 -31
  210. package/server/service/construction-detail-type/construction-detail-type-type.ts +0 -26
  211. package/server/service/construction-detail-type/construction-detail-type.ts +0 -52
  212. package/server/service/construction-detail-type/index.ts +0 -6
  213. package/server/service/construction-type/construction-type-mutation.ts +0 -66
  214. package/server/service/construction-type/construction-type-query.ts +0 -56
  215. package/server/service/construction-type/construction-type-type.ts +0 -26
  216. package/server/service/construction-type/construction-type.ts +0 -74
  217. package/server/service/construction-type/index.ts +0 -6
  218. package/server/service/index.ts +0 -56
  219. package/server/service/inspection-drawing-type/index.ts +0 -6
  220. package/server/service/inspection-drawing-type/inspection-drawing-type-mutation.ts +0 -69
  221. package/server/service/inspection-drawing-type/inspection-drawing-type-query.ts +0 -55
  222. package/server/service/inspection-drawing-type/inspection-drawing-type-type.ts +0 -23
  223. package/server/service/inspection-drawing-type/inspection-drawing-type.ts +0 -68
  224. package/server/service/inspection-part/index.ts +0 -6
  225. package/server/service/inspection-part/inspection-part-mutation.ts +0 -52
  226. package/server/service/inspection-part/inspection-part-query.ts +0 -41
  227. package/server/service/inspection-part/inspection-part-type.ts +0 -26
  228. package/server/service/inspection-part/inspection-part.ts +0 -51
  229. package/server/service/manager/index.ts +0 -6
  230. package/server/service/manager/manager-mutation.ts +0 -42
  231. package/server/service/manager/manager-query.ts +0 -28
  232. package/server/service/manager/manager-type.ts +0 -40
  233. package/server/service/manager/manager.ts +0 -29
  234. package/server/service/project/index.ts +0 -6
  235. package/server/service/project/project-mutation.ts +0 -255
  236. package/server/service/project/project-query.ts +0 -105
  237. package/server/service/project/project-type.ts +0 -72
  238. package/server/service/project/project.ts +0 -134
  239. package/server/service/resource/index.ts +0 -7
  240. package/server/service/resource/resource-mutation.ts +0 -137
  241. package/server/service/resource/resource-query.ts +0 -50
  242. package/server/service/resource/resource-type.ts +0 -41
  243. package/server/service/resource/resource.ts +0 -82
  244. package/server/service/task/index.ts +0 -6
  245. package/server/service/task/task-mutation.ts +0 -135
  246. package/server/service/task/task-query.ts +0 -169
  247. package/server/service/task/task-type.ts +0 -75
  248. package/server/service/task/task.ts +0 -130
  249. package/server/service/task-resource/index.ts +0 -7
  250. package/server/service/task-resource/task-resource-mutation.ts +0 -140
  251. package/server/service/task-resource/task-resource-query.ts +0 -36
  252. package/server/service/task-resource/task-resource-type.ts +0 -41
  253. package/server/service/task-resource/task-resource.ts +0 -51
  254. package/server/service/worker-type/index.ts +0 -6
  255. package/server/service/worker-type/worker-type-mutation.ts +0 -66
  256. package/server/service/worker-type/worker-type-query.ts +0 -47
  257. package/server/service/worker-type/worker-type-type.ts +0 -26
  258. package/server/service/worker-type/worker-type.ts +0 -68
  259. package/server/tsconfig.json +0 -10
@@ -1,418 +0,0 @@
1
- import '@material/web/icon/icon.js'
2
-
3
- import { PageView } from '@operato/shell'
4
- import { css, html } from 'lit'
5
- import { customElement, state } from 'lit/decorators.js'
6
- import { ScopedElementsMixin } from '@open-wc/scoped-elements'
7
- import { client } from '@operato/graphql'
8
- import gql from 'graphql-tag'
9
- import { Attachment } from '@things-factory/attachment-base'
10
- import type { FileUpload } from 'graphql-upload/GraphQLUpload.js'
11
-
12
- export enum ProjectState {
13
- 'ONGOING' = '10',
14
- 'COMPLETED' = '20'
15
- }
16
- export enum BuildingInspectionStatus {
17
- WAIT = 'WAIT',
18
- OVERALL_WAIT = 'OVERALL_WAIT',
19
- REQUEST = 'REQUEST',
20
- OVERALL_REQUEST = 'OVERALL_REQUEST',
21
- PASS = 'PASS',
22
- FAIL = 'FAIL'
23
- }
24
- export const BUILDING_INSPECTION_STATUS = {
25
- [BuildingInspectionStatus.WAIT]: '검측 대기',
26
- [BuildingInspectionStatus.OVERALL_WAIT]: '검측 대기',
27
- [BuildingInspectionStatus.REQUEST]: '검측 요청',
28
- [BuildingInspectionStatus.OVERALL_REQUEST]: '검측 요청',
29
- [BuildingInspectionStatus.PASS]: '합격',
30
- [BuildingInspectionStatus.FAIL]: '불합격'
31
- }
32
-
33
- export interface Project {
34
- id?: string
35
- name: string
36
- startDate?: string
37
- endDate?: string
38
- mainPhoto?: Attachment
39
- mainPhotoUpload?: FileUpload
40
- totalProgress?: number
41
- weeklyProgress?: number
42
- kpi?: number
43
- inspPassRate?: number
44
- robotProgressRate?: number
45
- structuralSafetyRate?: number
46
- scheduleTable?: Attachment
47
- buildingComplex: BuildingComplex
48
- }
49
- export interface BuildingComplex {
50
- id?: string
51
- address?: string
52
- latitude?: number
53
- longitude?: number
54
- area?: number
55
- constructionCompany?: string
56
- clientCompany?: string
57
- designCompany?: string
58
- supervisoryCompany?: string
59
- drawing?: Attachment
60
- drawingUpload?: FileUpload
61
- constructionType?: string
62
- constructionCost?: number
63
- etc?: string
64
- householdCount?: number
65
- buildingCount?: number
66
- notice?: string
67
- planXScale?: number
68
- planYScale?: number
69
- overallConstructorEmails?: string[]
70
- taskConstructorEmails?: string[]
71
- overallSupervisoryEmails?: string[]
72
- taskSupervisoryEmails?: string[]
73
- buildings?: Building[]
74
- }
75
- export interface Building {
76
- id?: string
77
- name: string | undefined
78
- floorCount: number | undefined
79
- drawing?: Attachment
80
- drawingUpload?: FileUpload
81
- buildingLevels?: BuildingLevel[]
82
- }
83
-
84
- export interface BuildingLevel {
85
- id?: string
86
- floor?: number
87
- mainDrawing?: Attachment
88
- mainDrawingImage?: string
89
- mainDrawingThumbnail?: string
90
- mainDrawingUpload?: FileUpload
91
- elevationDrawing?: Attachment
92
- elevationDrawingThumbnail?: string
93
- elevationDrawingUpload?: FileUpload
94
- rebarDistributionDrawing?: Attachment
95
- rebarDistributionDrawingThumbnail?: string
96
- rebarDistributionDrawingUpload?: FileUpload
97
- building?: Building
98
- buildingInspections?: BuildingInspection[]
99
- }
100
-
101
- export interface BuildingInspection {
102
- id?: string
103
- attatchments?: Attachment[]
104
- // buildingInspectionAttachments?: BuildingInspectionAttachment[]
105
- status?: BuildingInspectionStatus
106
- requestDate?: Date
107
- buildingLevel?: BuildingLevel
108
- checklist?: Checklist
109
- createdAt?: Date
110
- updatedAt?: Date
111
- deletedAt?: Date
112
- }
113
-
114
- export interface Checklist {
115
- id: string
116
- name?: string
117
- documentNo?: string
118
- constructionType?: string
119
- constructionDetailType?: string
120
- location?: string
121
- constructionInspectorDate?: Date
122
- supervisorInspectorDate?: Date
123
- overallConstructorSignature?: string
124
- taskConstructorSignature?: string
125
- overallSupervisorySignature?: string
126
- taskSupervisorySignature?: string
127
- inspectionParts?: string[]
128
- // checklistItems?: ChecklistItem[]
129
- }
130
-
131
- @customElement('project-list')
132
- export class ProjectListPage extends ScopedElementsMixin(PageView) {
133
- static styles = [
134
- css`
135
- :host {
136
- display: flex;
137
- flex-direction: column;
138
- overflow-y: auto;
139
-
140
- width: 100%;
141
- height: 100%;
142
- background-color: var(--md-sys-color-background, #f6f6f6);
143
-
144
- --grid-record-emphasized-background-color: red;
145
- --grid-record-emphasized-color: yellow;
146
- }
147
-
148
- div[header] {
149
- display: flex;
150
- align-items: center;
151
- background-color: #2ea4df1a;
152
- border: 1px solid #2ea4df33;
153
- margin: var(--spacing-large, 12px);
154
- margin-bottom:var(--spacing-small, 5px);
155
- padding: var(--spacing-medium, 8px) var(--spacing-large, 12px);
156
- border-radius: var(--md-sys-shape-corner-small, 5px);
157
-
158
- md-filled-text-field[type='search'] {
159
- --md-filled-text-field-container-shape: 0px;
160
- --md-sys-color-primary: #2e79be;
161
- --md-sys-color-surface-container-highest: transparent;
162
- --md-filled-text-field-label-text-color: #999999;
163
- }
164
- strong{
165
- flex:1;
166
- padding-right:var(--spacing-medium, 8px);
167
- text-align:right
168
- }
169
-
170
- md-elevated-button[add-project] {
171
- font-weight: bold;
172
- font-size: 16px;
173
- margin-left: 17px;
174
- padding: 13px 20px;
175
-
176
- --md-sys-color-surface-container-low: #24be7b;
177
- --md-sys-color-primary: #ffffff;
178
- --md-elevated-button-container-shape: 7px;
179
- }
180
- }
181
-
182
- div[body] {
183
- div[project-container] {
184
- height: 140px;
185
- margin: var(--spacing-large, 12px);
186
- background-color: var(--md-sys-color-on-primary);
187
- border: 1px solid #cccccc80;
188
- border-radius: var(--md-sys-shape-corner-small, 5px);
189
- overflow:hidden;
190
-
191
- & > a {
192
- display: flex;
193
- gap:0 var(--spacing-large, 12px);
194
- width: 100%;
195
- height: 100%;
196
- text-decoration: none;
197
- color: #000;
198
- }
199
-
200
- img[project-img] {
201
- width: 240px;
202
- background-color: #cccccc80;
203
- }
204
- img[project-img][no-image] {
205
- object-fit: contain;
206
- opacity: 0.5;
207
- }
208
-
209
- span[project-info] {
210
- flex: 0.55;
211
- padding: var(--spacing-small, 4px);
212
- font-size: 14px;
213
-
214
- white-space: nowrap;
215
- overflow: hidden;
216
- text-overflow: ellipsis;
217
-
218
- div[name] {
219
- color: #2e79be;
220
- font-weight: bold;
221
- font-size: 18px;
222
- margin: var(--spacing-small, 4px);
223
- }
224
- }
225
-
226
- span[project-state] {
227
- flex: 0.45;
228
- padding: var(--spacing-medium, 8px);
229
-
230
- & > div {
231
- margin: var(--spacing-tiny, 2px);
232
- }
233
-
234
- div[progress] {
235
- position: relative;
236
-
237
- md-linear-progress {
238
- --md-linear-progress-track-height: 18px;
239
- --md-linear-progress-active-indicator-height: 18px;
240
- --md-linear-progress-track-shape: 5px;
241
- --md-sys-color-primary: #0595e526;
242
- --md-sys-color-surface-container-highest: #0595e52a;
243
- }
244
-
245
- span {
246
- position: absolute;
247
- top: 0;
248
- left: var(--spacing-large, 12px);
249
- font-size: 12px;
250
- font-weight: bold;
251
- color: #2e79be;
252
-
253
- &:last-child {
254
- left: unset;
255
- right: var(--spacing-large, 12px);
256
- }
257
- }
258
- }
259
- }
260
- }
261
- }
262
- `
263
- ]
264
-
265
- get context() {
266
- return {
267
- title: '진행중 프로젝트'
268
- }
269
- }
270
-
271
- @state() private projectName: string = ''
272
- @state() private projectList: Project[] = []
273
- @state() private projectCount: number = 0
274
-
275
- render() {
276
- return html`
277
- <div header>
278
- <md-filled-text-field
279
- name="projectName"
280
- type="search"
281
- label="프로젝트명"
282
- .value=${this.projectName}
283
- @input=${this._onInputChange}
284
- @keypress=${this._onKeypress}
285
- >
286
- <md-icon slot="leading-icon">search</md-icon>
287
- </md-filled-text-field>
288
-
289
- <strong>총 ${this.projectCount}개</strong>
290
- </div>
291
-
292
- <div body>
293
- ${this.projectList?.map((project: Project) => {
294
- return html`
295
- <div project-container>
296
- <a href=${`project-detail/${project.id}`}>
297
- <img
298
- ?no-image=${!project.mainPhoto?.fullpath}
299
- project-img
300
- src=${project.mainPhoto?.fullpath || '/assets/images/no-image.png'}
301
- />
302
-
303
- <span project-info>
304
- <div name>${project.name}</div>
305
- <div content>${project.buildingComplex.address}</div>
306
- <div content>면적: ${project.buildingComplex?.area?.toLocaleString() || ''}㎡</div>
307
- <div content>착공~준공: ${project.startDate} ~ ${project.endDate}</div>
308
- <div content>발주처: <strong>${project.buildingComplex.clientCompany}</strong></div>
309
- </span>
310
-
311
- <span project-state>
312
- <div progress>
313
- <md-linear-progress buffer="100" max="100" value=${project.totalProgress || 0}> </md-linear-progress>
314
- <span>전체</span>
315
- <span>${project.totalProgress || 0}%</span>
316
- </div>
317
- <div progress>
318
- <md-linear-progress buffer="100" max="100" value=${project.weeklyProgress || 0}> </md-linear-progress>
319
- <span>주간</span>
320
- <span>${project.weeklyProgress || 0}%</span>
321
- </div>
322
- <div progress>
323
- <md-linear-progress buffer="100" max="100" value=${project.kpi || 0}> </md-linear-progress>
324
- <span>KPI</span>
325
- <span>${project.kpi || 0}%</span>
326
- </div>
327
- <div progress>
328
- <md-linear-progress buffer="100" max="100" value=${project.inspPassRate || 0}> </md-linear-progress>
329
- <span>Inspection Passing Rate</span>
330
- <span>${project.inspPassRate || 0}%</span>
331
- </div>
332
- <div progress>
333
- <md-linear-progress buffer="100" max="100" value=${project.robotProgressRate || 0}> </md-linear-progress>
334
- <span>Robot Progress</span>
335
- <span>${project.robotProgressRate || 0}%</span>
336
- </div>
337
- <div progress>
338
- <md-linear-progress buffer="100" max="100" value=${project.structuralSafetyRate || 0}> </md-linear-progress>
339
- <span>Structural safety</span>
340
- <span>${project.structuralSafetyRate || 0}%</span>
341
- </div>
342
- </span>
343
- </a>
344
- </div>
345
- `
346
- })}
347
- </div>
348
- `
349
- }
350
-
351
- async pageUpdated(changes: any, lifecycle: any) {
352
- if (this.active) {
353
- this.getProjectList()
354
- }
355
- }
356
-
357
- async getProjectList() {
358
- const response = await client.query({
359
- query: gql`
360
- query Projects($filters: [Filter!]) {
361
- projects(filters: $filters) {
362
- items {
363
- id
364
- name
365
- startDate
366
- endDate
367
- mainPhoto {
368
- fullpath
369
- }
370
- totalProgress
371
- weeklyProgress
372
- kpi
373
- inspPassRate
374
- robotProgressRate
375
- structuralSafetyRate
376
- buildingComplex {
377
- address
378
- area
379
- clientCompany
380
- }
381
- }
382
- total
383
- }
384
- }
385
- `,
386
- variables: {
387
- filters: [
388
- {
389
- name: 'name',
390
- operator: 'search',
391
- value: `%${this.projectName}%`
392
- },
393
- {
394
- name: 'state',
395
- operator: 'eq',
396
- value: ProjectState.ONGOING
397
- }
398
- ]
399
- }
400
- })
401
-
402
- this.projectList = response.data.projects?.items || []
403
- this.projectCount = response.data.projects?.total || 0
404
- }
405
-
406
- // Input 요소의 값이 변경될 때 호출되는 콜백 함수
407
- private _onInputChange(event: InputEvent) {
408
- const target = event.target as HTMLInputElement
409
- this[target.name] = target.value
410
- }
411
-
412
- // 검색창에서 엔터입력시 검색
413
- private _onKeypress(event: KeyboardEvent) {
414
- if (event.code === 'Enter') {
415
- this.getProjectList()
416
- }
417
- }
418
- }