@dssp/project 0.0.7 → 0.0.9
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.
- package/assets/images/img-building-complex-default.jpg +0 -0
- package/assets/images/img-building-default.png +0 -0
- package/assets/images/no-image.png +0 -0
- package/client/pages/project/project-detail.ts +17 -4
- package/client/pages/project/project-list.ts +9 -1
- package/client/pages/project/project-schedule-list.ts +13 -9
- package/client/pages/project/project-schedule.ts +98 -46
- package/client/pages/project/project-setting-list.ts +9 -1
- package/dist-client/pages/project/project-detail.js +28 -15
- package/dist-client/pages/project/project-detail.js.map +1 -1
- package/dist-client/pages/project/project-list.js +10 -2
- package/dist-client/pages/project/project-list.js.map +1 -1
- package/dist-client/pages/project/project-schedule-list.js +14 -10
- package/dist-client/pages/project/project-schedule-list.js.map +1 -1
- package/dist-client/pages/project/project-schedule.js +94 -42
- package/dist-client/pages/project/project-schedule.js.map +1 -1
- package/dist-client/pages/project/project-setting-list.js +10 -2
- package/dist-client/pages/project/project-setting-list.js.map +1 -1
- package/dist-client/route.d.ts +1 -1
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -124,7 +124,12 @@ export class ProjectDetail extends ScopedElementsMixin(PageView) {
|
|
|
124
124
|
|
|
125
125
|
img {
|
|
126
126
|
width: 42%;
|
|
127
|
-
height:
|
|
127
|
+
height: auto;
|
|
128
|
+
aspect-ratio: 1920 / 1080;
|
|
129
|
+
}
|
|
130
|
+
img[no-image] {
|
|
131
|
+
object-fit: contain;
|
|
132
|
+
opacity: 0.5;
|
|
128
133
|
}
|
|
129
134
|
|
|
130
135
|
div[row] {
|
|
@@ -138,10 +143,13 @@ export class ProjectDetail extends ScopedElementsMixin(PageView) {
|
|
|
138
143
|
}
|
|
139
144
|
|
|
140
145
|
div[left-bottom] {
|
|
141
|
-
img {
|
|
146
|
+
[building-complex-img] {
|
|
142
147
|
width: 100%;
|
|
143
148
|
aspect-ratio: 2 / 1;
|
|
144
149
|
}
|
|
150
|
+
img {
|
|
151
|
+
opacity: 0.5;
|
|
152
|
+
}
|
|
145
153
|
|
|
146
154
|
div[subject] {
|
|
147
155
|
margin-bottom: 7px;
|
|
@@ -360,7 +368,10 @@ export class ProjectDetail extends ScopedElementsMixin(PageView) {
|
|
|
360
368
|
<div left-top>
|
|
361
369
|
<h3>기본 정보</h3>
|
|
362
370
|
<div content-1>
|
|
363
|
-
<img
|
|
371
|
+
<img
|
|
372
|
+
?no-image=${!this.project.mainPhoto?.fullpath}
|
|
373
|
+
src=${this.project.mainPhoto?.fullpath || '/assets/images/no-image.png'}
|
|
374
|
+
/>
|
|
364
375
|
|
|
365
376
|
<div>
|
|
366
377
|
<div row>
|
|
@@ -412,7 +423,9 @@ export class ProjectDetail extends ScopedElementsMixin(PageView) {
|
|
|
412
423
|
|
|
413
424
|
<div left-bottom>
|
|
414
425
|
<h3>조감도(BIM도면)</h3>
|
|
415
|
-
|
|
426
|
+
${this.project.buildingComplex?.drawing?.fullpath
|
|
427
|
+
? html`<div building-complex-img></div>`
|
|
428
|
+
: html`<img building-complex-img src="/assets/images/img-building-complex-default.jpg" />`}
|
|
416
429
|
<div>
|
|
417
430
|
<div subject bold>개별 단지 상세정보 바로가기</div>
|
|
418
431
|
<div building-container>
|
|
@@ -162,6 +162,10 @@ export class ProjectListPage extends ScopedElementsMixin(PageView) {
|
|
|
162
162
|
width: 285px;
|
|
163
163
|
background-color: #cccccc80;
|
|
164
164
|
}
|
|
165
|
+
img[project-img][no-image] {
|
|
166
|
+
object-fit: contain;
|
|
167
|
+
opacity: 0.5;
|
|
168
|
+
}
|
|
165
169
|
|
|
166
170
|
span[project-info] {
|
|
167
171
|
flex: 0.45;
|
|
@@ -252,7 +256,11 @@ export class ProjectListPage extends ScopedElementsMixin(PageView) {
|
|
|
252
256
|
return html`
|
|
253
257
|
<div project-container>
|
|
254
258
|
<a href=${`project-detail/${project.id}`}>
|
|
255
|
-
<img
|
|
259
|
+
<img
|
|
260
|
+
?no-image=${!project.mainPhoto?.fullpath}
|
|
261
|
+
project-img
|
|
262
|
+
src=${project.mainPhoto?.fullpath || '/assets/images/no-image.png'}
|
|
263
|
+
/>
|
|
256
264
|
|
|
257
265
|
<span project-info>
|
|
258
266
|
<div name>${project.name}</div>
|
|
@@ -79,6 +79,10 @@ export class ProjectScheduleListPage extends ScopedElementsMixin(PageView) {
|
|
|
79
79
|
width: 285px;
|
|
80
80
|
background-color: #cccccc80;
|
|
81
81
|
}
|
|
82
|
+
img[project-img][no-image] {
|
|
83
|
+
object-fit: contain;
|
|
84
|
+
opacity: 0.5;
|
|
85
|
+
}
|
|
82
86
|
|
|
83
87
|
span[project-info] {
|
|
84
88
|
flex: 0.45;
|
|
@@ -169,7 +173,11 @@ export class ProjectScheduleListPage extends ScopedElementsMixin(PageView) {
|
|
|
169
173
|
return html`
|
|
170
174
|
<div project-container>
|
|
171
175
|
<a href=${`project-schedule/${project.id}`}>
|
|
172
|
-
<img
|
|
176
|
+
<img
|
|
177
|
+
?no-image=${!project.mainPhoto?.fullpath}
|
|
178
|
+
project-img
|
|
179
|
+
src=${project.mainPhoto?.fullpath || '/assets/images/no-image.png'}
|
|
180
|
+
/>
|
|
173
181
|
|
|
174
182
|
<span project-info>
|
|
175
183
|
<div name>${project.name}</div>
|
|
@@ -181,14 +189,12 @@ export class ProjectScheduleListPage extends ScopedElementsMixin(PageView) {
|
|
|
181
189
|
|
|
182
190
|
<span project-state>
|
|
183
191
|
<div progress>
|
|
184
|
-
<md-linear-progress buffer="100" max="100" value=${project.totalProgress || 0}>
|
|
185
|
-
</md-linear-progress>
|
|
192
|
+
<md-linear-progress buffer="100" max="100" value=${project.totalProgress || 0}> </md-linear-progress>
|
|
186
193
|
<span>전체</span>
|
|
187
194
|
<span>${project.totalProgress || 0}%</span>
|
|
188
195
|
</div>
|
|
189
196
|
<div progress>
|
|
190
|
-
<md-linear-progress buffer="100" max="100" value=${project.weeklyProgress || 0}>
|
|
191
|
-
</md-linear-progress>
|
|
197
|
+
<md-linear-progress buffer="100" max="100" value=${project.weeklyProgress || 0}> </md-linear-progress>
|
|
192
198
|
<span>주간</span>
|
|
193
199
|
<span>${project.weeklyProgress || 0}%</span>
|
|
194
200
|
</div>
|
|
@@ -203,14 +209,12 @@ export class ProjectScheduleListPage extends ScopedElementsMixin(PageView) {
|
|
|
203
209
|
<span>${project.inspPassRate || 0}%</span>
|
|
204
210
|
</div>
|
|
205
211
|
<div progress>
|
|
206
|
-
<md-linear-progress buffer="100" max="100" value=${project.robotProgressRate || 0}>
|
|
207
|
-
</md-linear-progress>
|
|
212
|
+
<md-linear-progress buffer="100" max="100" value=${project.robotProgressRate || 0}> </md-linear-progress>
|
|
208
213
|
<span>Robot Progress</span>
|
|
209
214
|
<span>${project.robotProgressRate || 0}%</span>
|
|
210
215
|
</div>
|
|
211
216
|
<div progress>
|
|
212
|
-
<md-linear-progress buffer="100" max="100" value=${project.structuralSafetyRate || 0}>
|
|
213
|
-
</md-linear-progress>
|
|
217
|
+
<md-linear-progress buffer="100" max="100" value=${project.structuralSafetyRate || 0}> </md-linear-progress>
|
|
214
218
|
<span>Structural safety</span>
|
|
215
219
|
<span>${project.structuralSafetyRate || 0}%</span>
|
|
216
220
|
</div>
|
|
@@ -21,8 +21,9 @@ export class ProjectSchedule extends ScopedElementsMixin(PageView) {
|
|
|
21
21
|
static styles = [
|
|
22
22
|
css`
|
|
23
23
|
:host {
|
|
24
|
-
display:
|
|
25
|
-
|
|
24
|
+
display: flex;
|
|
25
|
+
flex-direction: column;
|
|
26
|
+
|
|
26
27
|
color: #4e5055;
|
|
27
28
|
|
|
28
29
|
width: 100%;
|
|
@@ -72,10 +73,13 @@ export class ProjectSchedule extends ScopedElementsMixin(PageView) {
|
|
|
72
73
|
}
|
|
73
74
|
|
|
74
75
|
div[body] {
|
|
76
|
+
flex: 1;
|
|
77
|
+
|
|
75
78
|
display: flex;
|
|
76
79
|
flex-direction: column;
|
|
77
80
|
margin: 0px 25px 25px 25px;
|
|
78
81
|
gap: 15px;
|
|
82
|
+
overflow: hidden;
|
|
79
83
|
|
|
80
84
|
h3 {
|
|
81
85
|
color: #2e79be;
|
|
@@ -88,29 +92,13 @@ export class ProjectSchedule extends ScopedElementsMixin(PageView) {
|
|
|
88
92
|
border-radius: 5px;
|
|
89
93
|
}
|
|
90
94
|
|
|
91
|
-
|
|
95
|
+
ox-gantt {
|
|
92
96
|
flex: 1;
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
div[chart] {
|
|
97
|
-
flex: 0.7;
|
|
98
|
-
background: #03a9f44d;
|
|
97
|
+
box-sizing: border-box;
|
|
98
|
+
overflow: hidden;
|
|
99
99
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
aspect-ratio: 3 / 1;
|
|
103
|
-
box-sizing: border-box;
|
|
104
|
-
|
|
105
|
-
background-color: var(--md-sys-color-primary-container);
|
|
106
|
-
color: var(--md-sys-color-on-primary-container);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
div[table] {
|
|
111
|
-
flex: 0.3;
|
|
112
|
-
background: #8fd170b8;
|
|
113
|
-
}
|
|
100
|
+
background-color: var(--md-sys-color-primary-container);
|
|
101
|
+
color: var(--md-sys-color-on-primary-container);
|
|
114
102
|
}
|
|
115
103
|
|
|
116
104
|
div[select-container] {
|
|
@@ -182,6 +170,7 @@ export class ProjectSchedule extends ScopedElementsMixin(PageView) {
|
|
|
182
170
|
dependsOn: '',
|
|
183
171
|
length: '5d',
|
|
184
172
|
tags: ['active'],
|
|
173
|
+
resources: [{ type: '철근/형틀공', allocated: 6 }],
|
|
185
174
|
children: []
|
|
186
175
|
},
|
|
187
176
|
{
|
|
@@ -195,6 +184,7 @@ export class ProjectSchedule extends ScopedElementsMixin(PageView) {
|
|
|
195
184
|
dependsOn: '1',
|
|
196
185
|
length: '1d',
|
|
197
186
|
tags: ['milestone'],
|
|
187
|
+
resources: [{ type: '철근/형틀공', allocated: 6 }],
|
|
198
188
|
children: []
|
|
199
189
|
},
|
|
200
190
|
{
|
|
@@ -220,7 +210,35 @@ export class ProjectSchedule extends ScopedElementsMixin(PageView) {
|
|
|
220
210
|
dependsOn: '',
|
|
221
211
|
length: '4d',
|
|
222
212
|
tags: ['done'],
|
|
223
|
-
children: [
|
|
213
|
+
children: [
|
|
214
|
+
{
|
|
215
|
+
id: '3-1-1',
|
|
216
|
+
title: 'Coding-A',
|
|
217
|
+
type: 'task',
|
|
218
|
+
// section: developmentSection,
|
|
219
|
+
startDate: '2023-01-07',
|
|
220
|
+
endDate: '2023-01-10',
|
|
221
|
+
progress: 60,
|
|
222
|
+
dependsOn: '',
|
|
223
|
+
length: '4d',
|
|
224
|
+
tags: ['active'],
|
|
225
|
+
resources: [{ type: '창호공', allocated: 5 }],
|
|
226
|
+
children: []
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
id: '3-1-2',
|
|
230
|
+
title: 'Coding-B',
|
|
231
|
+
type: 'task',
|
|
232
|
+
// section: developmentSection,
|
|
233
|
+
startDate: '2023-01-11',
|
|
234
|
+
endDate: '2023-01-15',
|
|
235
|
+
dependsOn: '3-1-1',
|
|
236
|
+
length: '5d',
|
|
237
|
+
tags: ['active'],
|
|
238
|
+
resources: [{ type: '창호공', allocated: 3 }],
|
|
239
|
+
children: []
|
|
240
|
+
}
|
|
241
|
+
]
|
|
224
242
|
},
|
|
225
243
|
{
|
|
226
244
|
id: '3-2',
|
|
@@ -232,6 +250,7 @@ export class ProjectSchedule extends ScopedElementsMixin(PageView) {
|
|
|
232
250
|
dependsOn: '3-1',
|
|
233
251
|
length: '5d',
|
|
234
252
|
tags: ['active'],
|
|
253
|
+
resources: [{ type: '창호공', allocated: 6 }],
|
|
235
254
|
children: []
|
|
236
255
|
}
|
|
237
256
|
]
|
|
@@ -247,6 +266,7 @@ export class ProjectSchedule extends ScopedElementsMixin(PageView) {
|
|
|
247
266
|
dependsOn: '1',
|
|
248
267
|
length: '1d',
|
|
249
268
|
tags: ['done'],
|
|
269
|
+
resources: [{ type: '방수공', allocated: 5 }],
|
|
250
270
|
children: []
|
|
251
271
|
},
|
|
252
272
|
{
|
|
@@ -259,6 +279,7 @@ export class ProjectSchedule extends ScopedElementsMixin(PageView) {
|
|
|
259
279
|
dependsOn: '4',
|
|
260
280
|
length: '1d',
|
|
261
281
|
tags: ['milestone'],
|
|
282
|
+
resources: [{ type: '목공', allocated: 3 }],
|
|
262
283
|
children: []
|
|
263
284
|
},
|
|
264
285
|
{
|
|
@@ -271,6 +292,7 @@ export class ProjectSchedule extends ScopedElementsMixin(PageView) {
|
|
|
271
292
|
dependsOn: '5',
|
|
272
293
|
length: '1d',
|
|
273
294
|
tags: ['milestone'],
|
|
295
|
+
resources: [{ type: '금속공', allocated: 1 }],
|
|
274
296
|
children: []
|
|
275
297
|
},
|
|
276
298
|
{
|
|
@@ -283,6 +305,7 @@ export class ProjectSchedule extends ScopedElementsMixin(PageView) {
|
|
|
283
305
|
dependsOn: '6',
|
|
284
306
|
length: '1d',
|
|
285
307
|
tags: ['milestone'],
|
|
308
|
+
resources: [{ type: '타일공', allocated: 6 }],
|
|
286
309
|
children: []
|
|
287
310
|
},
|
|
288
311
|
{
|
|
@@ -295,6 +318,7 @@ export class ProjectSchedule extends ScopedElementsMixin(PageView) {
|
|
|
295
318
|
dependsOn: '7',
|
|
296
319
|
length: '1d',
|
|
297
320
|
tags: ['critical'],
|
|
321
|
+
resources: [{ type: '창호공', allocated: 7 }],
|
|
298
322
|
children: []
|
|
299
323
|
},
|
|
300
324
|
{
|
|
@@ -307,6 +331,7 @@ export class ProjectSchedule extends ScopedElementsMixin(PageView) {
|
|
|
307
331
|
dependsOn: '8',
|
|
308
332
|
length: '1d',
|
|
309
333
|
tags: ['active'],
|
|
334
|
+
resources: [{ type: '도배공', allocated: 8 }],
|
|
310
335
|
children: []
|
|
311
336
|
},
|
|
312
337
|
{
|
|
@@ -319,6 +344,7 @@ export class ProjectSchedule extends ScopedElementsMixin(PageView) {
|
|
|
319
344
|
dependsOn: '9',
|
|
320
345
|
length: '1d',
|
|
321
346
|
tags: ['critical'],
|
|
347
|
+
resources: [{ type: '조적공', allocated: 6 }],
|
|
322
348
|
children: []
|
|
323
349
|
},
|
|
324
350
|
{
|
|
@@ -331,6 +357,7 @@ export class ProjectSchedule extends ScopedElementsMixin(PageView) {
|
|
|
331
357
|
dependsOn: '9',
|
|
332
358
|
length: '1d',
|
|
333
359
|
tags: ['milestone'],
|
|
360
|
+
resources: [{ type: '철근/형틀공', allocated: 6 }],
|
|
334
361
|
children: []
|
|
335
362
|
},
|
|
336
363
|
{
|
|
@@ -342,8 +369,37 @@ export class ProjectSchedule extends ScopedElementsMixin(PageView) {
|
|
|
342
369
|
endDate: '2023-01-23',
|
|
343
370
|
dependsOn: '9',
|
|
344
371
|
length: '1d',
|
|
372
|
+
resources: [{ type: '방수공', allocated: 6 }],
|
|
345
373
|
tags: ['milestone'],
|
|
346
|
-
children: [
|
|
374
|
+
children: [
|
|
375
|
+
{
|
|
376
|
+
id: '12-1',
|
|
377
|
+
title: 'Coding-A',
|
|
378
|
+
type: 'task',
|
|
379
|
+
// section: developmentSection,
|
|
380
|
+
startDate: '2023-01-07',
|
|
381
|
+
endDate: '2023-01-10',
|
|
382
|
+
progress: 60,
|
|
383
|
+
dependsOn: '',
|
|
384
|
+
length: '4d',
|
|
385
|
+
tags: ['done'],
|
|
386
|
+
resources: [{ type: '방수공', allocated: 6 }],
|
|
387
|
+
children: []
|
|
388
|
+
},
|
|
389
|
+
{
|
|
390
|
+
id: '12-2',
|
|
391
|
+
title: 'Coding-B',
|
|
392
|
+
type: 'task',
|
|
393
|
+
// section: developmentSection,
|
|
394
|
+
startDate: '2023-01-11',
|
|
395
|
+
endDate: '2023-01-15',
|
|
396
|
+
dependsOn: '12-1',
|
|
397
|
+
length: '5d',
|
|
398
|
+
tags: ['active'],
|
|
399
|
+
resources: [{ type: '조적공', allocated: 6 }],
|
|
400
|
+
children: []
|
|
401
|
+
}
|
|
402
|
+
]
|
|
347
403
|
},
|
|
348
404
|
{
|
|
349
405
|
id: '13',
|
|
@@ -367,6 +423,7 @@ export class ProjectSchedule extends ScopedElementsMixin(PageView) {
|
|
|
367
423
|
dependsOn: '13',
|
|
368
424
|
length: '1d',
|
|
369
425
|
tags: ['milestone'],
|
|
426
|
+
resources: [{ type: '금속공', allocated: 1 }],
|
|
370
427
|
children: []
|
|
371
428
|
},
|
|
372
429
|
{
|
|
@@ -390,6 +447,7 @@ export class ProjectSchedule extends ScopedElementsMixin(PageView) {
|
|
|
390
447
|
endDate: '2023-02-05',
|
|
391
448
|
dependsOn: '15',
|
|
392
449
|
length: '1d',
|
|
450
|
+
resources: [{ type: '창호공', allocated: 1 }],
|
|
393
451
|
tags: ['active'],
|
|
394
452
|
children: []
|
|
395
453
|
},
|
|
@@ -427,6 +485,7 @@ export class ProjectSchedule extends ScopedElementsMixin(PageView) {
|
|
|
427
485
|
dependsOn: '18',
|
|
428
486
|
length: '1d',
|
|
429
487
|
tags: ['milestone'],
|
|
488
|
+
resources: [{ type: '창호공', allocated: 7 }],
|
|
430
489
|
children: []
|
|
431
490
|
}
|
|
432
491
|
]
|
|
@@ -449,27 +508,20 @@ export class ProjectSchedule extends ScopedElementsMixin(PageView) {
|
|
|
449
508
|
</div>
|
|
450
509
|
|
|
451
510
|
<div body>
|
|
452
|
-
<
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
>
|
|
467
|
-
</ox-gantt>
|
|
468
|
-
</div>
|
|
469
|
-
<div table>
|
|
470
|
-
<table></table>
|
|
471
|
-
</div>
|
|
472
|
-
</div>
|
|
511
|
+
<ox-gantt
|
|
512
|
+
from-date=${new Date(this.fromDate).toISOString().split('T')[0]}
|
|
513
|
+
to-date=${new Date(this.toDate).toISOString().split('T')[0]}
|
|
514
|
+
.timeScale=${this.timeScale}
|
|
515
|
+
.tasks=${this.tasks}
|
|
516
|
+
@date-range-selected=${(e: CustomEvent) => {
|
|
517
|
+
console.log('date-range-selected', e.detail)
|
|
518
|
+
}}
|
|
519
|
+
@task-clicked=${(e: CustomEvent) => {
|
|
520
|
+
console.log('task-clicked', e.detail)
|
|
521
|
+
}}
|
|
522
|
+
?extend-grid-lines=${this.extendGridLines}
|
|
523
|
+
>
|
|
524
|
+
</ox-gantt>
|
|
473
525
|
<div select-container>
|
|
474
526
|
<div date>
|
|
475
527
|
<span name>기간선택</span>
|
|
@@ -89,6 +89,10 @@ export class ProjectSettingList extends ScopedElementsMixin(PageView) {
|
|
|
89
89
|
aspect-ratio: 2;
|
|
90
90
|
background-color: #cccccc80;
|
|
91
91
|
}
|
|
92
|
+
img[project-img][no-image] {
|
|
93
|
+
object-fit: contain;
|
|
94
|
+
opacity: 0.5;
|
|
95
|
+
}
|
|
92
96
|
|
|
93
97
|
span[project-info] {
|
|
94
98
|
flex: 0.45;
|
|
@@ -208,7 +212,11 @@ export class ProjectSettingList extends ScopedElementsMixin(PageView) {
|
|
|
208
212
|
|
|
209
213
|
return html`
|
|
210
214
|
<div project-container>
|
|
211
|
-
<img
|
|
215
|
+
<img
|
|
216
|
+
?no-image=${!project.mainPhoto?.fullpath}
|
|
217
|
+
project-img
|
|
218
|
+
src=${project.mainPhoto?.fullpath || '/assets/images/no-image.png'}
|
|
219
|
+
/>
|
|
212
220
|
|
|
213
221
|
<span project-info>
|
|
214
222
|
<div name>${project.name}</div>
|
|
@@ -47,7 +47,7 @@ let ProjectDetail = class ProjectDetail extends ScopedElementsMixin(PageView) {
|
|
|
47
47
|
};
|
|
48
48
|
}
|
|
49
49
|
render() {
|
|
50
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
50
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
|
|
51
51
|
return html `
|
|
52
52
|
<div header>
|
|
53
53
|
<h2>${this.project.name}</h2>
|
|
@@ -69,12 +69,15 @@ let ProjectDetail = class ProjectDetail extends ScopedElementsMixin(PageView) {
|
|
|
69
69
|
<div left-top>
|
|
70
70
|
<h3>기본 정보</h3>
|
|
71
71
|
<div content-1>
|
|
72
|
-
<img
|
|
72
|
+
<img
|
|
73
|
+
?no-image=${!((_a = this.project.mainPhoto) === null || _a === void 0 ? void 0 : _a.fullpath)}
|
|
74
|
+
src=${((_b = this.project.mainPhoto) === null || _b === void 0 ? void 0 : _b.fullpath) || '/assets/images/no-image.png'}
|
|
75
|
+
/>
|
|
73
76
|
|
|
74
77
|
<div>
|
|
75
78
|
<div row>
|
|
76
79
|
<span>- 면적 : </span>
|
|
77
|
-
<span>${(
|
|
80
|
+
<span>${(_c = this.project.buildingComplex) === null || _c === void 0 ? void 0 : _c.area}</span>
|
|
78
81
|
</div>
|
|
79
82
|
<div row>
|
|
80
83
|
<span>- 착공 ~ 준공 : </span>
|
|
@@ -82,19 +85,19 @@ let ProjectDetail = class ProjectDetail extends ScopedElementsMixin(PageView) {
|
|
|
82
85
|
</div>
|
|
83
86
|
<div row>
|
|
84
87
|
<span>- 발주처 : </span>
|
|
85
|
-
<span>${(
|
|
88
|
+
<span>${(_d = this.project.buildingComplex) === null || _d === void 0 ? void 0 : _d.clientCompany}</span>
|
|
86
89
|
</div>
|
|
87
90
|
<div row>
|
|
88
91
|
<span>- 건설사 : </span>
|
|
89
|
-
<span>${(
|
|
92
|
+
<span>${(_e = this.project.buildingComplex) === null || _e === void 0 ? void 0 : _e.constructionCompany}</span>
|
|
90
93
|
</div>
|
|
91
94
|
<div row>
|
|
92
95
|
<span>- 감리사 : </span>
|
|
93
|
-
<span>${(
|
|
96
|
+
<span>${(_f = this.project.buildingComplex) === null || _f === void 0 ? void 0 : _f.supervisoryCompany}</span>
|
|
94
97
|
</div>
|
|
95
98
|
<div row>
|
|
96
99
|
<span>- 설계사 : </span>
|
|
97
|
-
<span>${(
|
|
100
|
+
<span>${(_g = this.project.buildingComplex) === null || _g === void 0 ? void 0 : _g.designCompany}</span>
|
|
98
101
|
</div>
|
|
99
102
|
</div>
|
|
100
103
|
</div>
|
|
@@ -102,30 +105,32 @@ let ProjectDetail = class ProjectDetail extends ScopedElementsMixin(PageView) {
|
|
|
102
105
|
<div content-2>
|
|
103
106
|
<div row>
|
|
104
107
|
<span>- 건설구분 : </span>
|
|
105
|
-
<span>${(
|
|
108
|
+
<span>${(_h = this.project.buildingComplex) === null || _h === void 0 ? void 0 : _h.constructionType}</span>
|
|
106
109
|
</div>
|
|
107
110
|
<div row>
|
|
108
111
|
<span>- 공사금액 : </span>
|
|
109
|
-
<span>${(
|
|
112
|
+
<span>${(_j = this.project.buildingComplex) === null || _j === void 0 ? void 0 : _j.constructionCost}</span>
|
|
110
113
|
</div>
|
|
111
114
|
<div row>
|
|
112
115
|
<span>- 세대수 : </span>
|
|
113
|
-
<span>${(
|
|
116
|
+
<span>${(_k = this.project.buildingComplex) === null || _k === void 0 ? void 0 : _k.householdCount}</span>
|
|
114
117
|
</div>
|
|
115
118
|
<div row>
|
|
116
119
|
<span>- 기타 : </span>
|
|
117
|
-
<span>${(
|
|
120
|
+
<span>${(_l = this.project.buildingComplex) === null || _l === void 0 ? void 0 : _l.etc}</span>
|
|
118
121
|
</div>
|
|
119
122
|
</div>
|
|
120
123
|
</div>
|
|
121
124
|
|
|
122
125
|
<div left-bottom>
|
|
123
126
|
<h3>조감도(BIM도면)</h3>
|
|
124
|
-
|
|
127
|
+
${((_o = (_m = this.project.buildingComplex) === null || _m === void 0 ? void 0 : _m.drawing) === null || _o === void 0 ? void 0 : _o.fullpath)
|
|
128
|
+
? html `<div building-complex-img></div>`
|
|
129
|
+
: html `<img building-complex-img src="/assets/images/img-building-complex-default.jpg" />`}
|
|
125
130
|
<div>
|
|
126
131
|
<div subject bold>개별 단지 상세정보 바로가기</div>
|
|
127
132
|
<div building-container>
|
|
128
|
-
${(
|
|
133
|
+
${(_q = (_p = this.project.buildingComplex) === null || _p === void 0 ? void 0 : _p.buildings) === null || _q === void 0 ? void 0 : _q.map(building => {
|
|
129
134
|
return html `<md-outlined-button href=${`building-complex-detail/${this.project.id}?buildingId=${building.id}`}>
|
|
130
135
|
${building.name}
|
|
131
136
|
</md-outlined-button>`;
|
|
@@ -414,7 +419,12 @@ ProjectDetail.styles = [
|
|
|
414
419
|
|
|
415
420
|
img {
|
|
416
421
|
width: 42%;
|
|
417
|
-
height:
|
|
422
|
+
height: auto;
|
|
423
|
+
aspect-ratio: 1920 / 1080;
|
|
424
|
+
}
|
|
425
|
+
img[no-image] {
|
|
426
|
+
object-fit: contain;
|
|
427
|
+
opacity: 0.5;
|
|
418
428
|
}
|
|
419
429
|
|
|
420
430
|
div[row] {
|
|
@@ -428,10 +438,13 @@ ProjectDetail.styles = [
|
|
|
428
438
|
}
|
|
429
439
|
|
|
430
440
|
div[left-bottom] {
|
|
431
|
-
img {
|
|
441
|
+
[building-complex-img] {
|
|
432
442
|
width: 100%;
|
|
433
443
|
aspect-ratio: 2 / 1;
|
|
434
444
|
}
|
|
445
|
+
img {
|
|
446
|
+
opacity: 0.5;
|
|
447
|
+
}
|
|
435
448
|
|
|
436
449
|
div[subject] {
|
|
437
450
|
margin-bottom: 7px;
|