@dssp/supervision 1.0.0-alpha.76 → 1.0.0-alpha.78
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/dist-client/pages/building-inspection/building-inspection-list.js +2 -2
- package/dist-client/pages/building-inspection/building-inspection-list.js.map +1 -1
- package/dist-client/pages/building-inspection/building-inspection-management.d.ts +9 -0
- package/dist-client/pages/building-inspection/building-inspection-management.js +303 -47
- package/dist-client/pages/building-inspection/building-inspection-management.js.map +1 -1
- package/dist-client/pages/building-inspection/component/field-document/field-document-constants.d.ts +18 -0
- package/dist-client/pages/building-inspection/component/field-document/field-document-constants.js +630 -0
- package/dist-client/pages/building-inspection/component/field-document/field-document-constants.js.map +1 -0
- package/dist-client/pages/building-inspection/component/field-document/field-document-detail-popup.d.ts +10 -0
- package/dist-client/pages/building-inspection/component/field-document/field-document-detail-popup.js +219 -0
- package/dist-client/pages/building-inspection/component/field-document/field-document-detail-popup.js.map +1 -0
- package/dist-client/pages/building-inspection/component/field-document/field-document-list-panel.d.ts +25 -0
- package/dist-client/pages/building-inspection/component/field-document/field-document-list-panel.js +545 -0
- package/dist-client/pages/building-inspection/component/field-document/field-document-list-panel.js.map +1 -0
- package/dist-client/pages/building-inspection/component/field-document/field-document-popup.d.ts +39 -0
- package/dist-client/pages/building-inspection/component/field-document/field-document-popup.js +675 -0
- package/dist-client/pages/building-inspection/component/field-document/field-document-popup.js.map +1 -0
- package/dist-client/pages/building-inspection/component/inspection-event-provider.d.ts +3 -2
- package/dist-client/pages/building-inspection/component/inspection-event-provider.js +129 -34
- package/dist-client/pages/building-inspection/component/inspection-event-provider.js.map +1 -1
- package/dist-client/pages/checklist-template/construction-checklist-template-list.js +9 -14
- package/dist-client/pages/checklist-template/construction-checklist-template-list.js.map +1 -1
- package/dist-client/pages/project-checklist/project-checklist-management.d.ts +2 -0
- package/dist-client/pages/project-checklist/project-checklist-management.js +24 -2
- package/dist-client/pages/project-checklist/project-checklist-management.js.map +1 -1
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-server/service/building-inspection/building-inspection-mutation.js +30 -0
- package/dist-server/service/building-inspection/building-inspection-mutation.js.map +1 -1
- package/dist-server/service/building-inspection/building-inspection-query.d.ts +5 -1
- package/dist-server/service/building-inspection/building-inspection-query.js +114 -0
- package/dist-server/service/building-inspection/building-inspection-query.js.map +1 -1
- package/dist-server/service/building-inspection/building-inspection-type.d.ts +4 -0
- package/dist-server/service/building-inspection/building-inspection-type.js +15 -1
- package/dist-server/service/building-inspection/building-inspection-type.js.map +1 -1
- package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-mutation.js +10 -0
- package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-mutation.js.map +1 -1
- package/dist-server/service/field-document/field-document-auto-file.d.ts +21 -0
- package/dist-server/service/field-document/field-document-auto-file.js +47 -0
- package/dist-server/service/field-document/field-document-auto-file.js.map +1 -0
- package/dist-server/service/field-document/field-document-mutation.d.ts +9 -0
- package/dist-server/service/field-document/field-document-mutation.js +136 -0
- package/dist-server/service/field-document/field-document-mutation.js.map +1 -0
- package/dist-server/service/field-document/field-document-query.d.ts +14 -0
- package/dist-server/service/field-document/field-document-query.js +120 -0
- package/dist-server/service/field-document/field-document-query.js.map +1 -0
- package/dist-server/service/field-document/field-document-summary-service.d.ts +2 -0
- package/dist-server/service/field-document/field-document-summary-service.js +55 -0
- package/dist-server/service/field-document/field-document-summary-service.js.map +1 -0
- package/dist-server/service/field-document/field-document-type.d.ts +23 -0
- package/dist-server/service/field-document/field-document-type.js +84 -0
- package/dist-server/service/field-document/field-document-type.js.map +1 -0
- package/dist-server/service/field-document/field-document.d.ts +29 -0
- package/dist-server/service/field-document/field-document.js +127 -0
- package/dist-server/service/field-document/field-document.js.map +1 -0
- package/dist-server/service/field-document/index.d.ts +5 -0
- package/dist-server/service/field-document/index.js +9 -0
- package/dist-server/service/field-document/index.js.map +1 -0
- package/dist-server/service/index.d.ts +2 -1
- package/dist-server/service/index.js +4 -0
- package/dist-server/service/index.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -14,6 +14,7 @@ import './component/inspection-document/photo-album-popup';
|
|
|
14
14
|
import './component/inspection-document/inspection-request-document';
|
|
15
15
|
import './component/inspection-document/inspection-result-notification';
|
|
16
16
|
import './component/image-preview-popup';
|
|
17
|
+
import './component/field-document/field-document-popup';
|
|
17
18
|
import { CommonGristStyles, ScrollbarStyles } from '@operato/styles';
|
|
18
19
|
import { PageView, navigate } from '@operato/shell';
|
|
19
20
|
import { css, html } from 'lit';
|
|
@@ -44,7 +45,7 @@ let BuildingInspectionManagement = class BuildingInspectionManagement extends Sc
|
|
|
44
45
|
this.project = Object.assign({}, this.defaultProject);
|
|
45
46
|
this.selectedBuilding = {};
|
|
46
47
|
this.building = {};
|
|
47
|
-
this.currentFloor =
|
|
48
|
+
this.currentFloor = 1;
|
|
48
49
|
this.buildingLevelId = '';
|
|
49
50
|
this.buildingInspectionSummary = {};
|
|
50
51
|
this.selectedYearMonth = moment().tz('Asia/Seoul').format('YYYY-MM');
|
|
@@ -53,10 +54,33 @@ let BuildingInspectionManagement = class BuildingInspectionManagement extends Sc
|
|
|
53
54
|
this.viewMode = 'calendar';
|
|
54
55
|
}
|
|
55
56
|
get context() {
|
|
57
|
+
var _a;
|
|
56
58
|
return {
|
|
57
|
-
title: '업무 대시보드'
|
|
59
|
+
title: ((_a = this.project) === null || _a === void 0 ? void 0 : _a.name) ? `업무 대시보드 - ${this.project.name}` : '업무 대시보드'
|
|
58
60
|
};
|
|
59
61
|
}
|
|
62
|
+
// 동 미선택 시 프로젝트 전체 데이터 모드
|
|
63
|
+
get _isProjectMode() {
|
|
64
|
+
var _a;
|
|
65
|
+
return !((_a = this.selectedBuilding) === null || _a === void 0 ? void 0 : _a.id);
|
|
66
|
+
}
|
|
67
|
+
// 동 선택 + 층 미선택 시 동 전체 데이터 모드
|
|
68
|
+
get _isBuildingMode() {
|
|
69
|
+
var _a;
|
|
70
|
+
return !!((_a = this.selectedBuilding) === null || _a === void 0 ? void 0 : _a.id) && !this.buildingLevelId;
|
|
71
|
+
}
|
|
72
|
+
// 현재 데이터 스코프 표시 라벨
|
|
73
|
+
get _scopeLabel() {
|
|
74
|
+
var _a, _b, _c, _d;
|
|
75
|
+
if (this.buildingLevelId) {
|
|
76
|
+
const level = (_b = (_a = this.building) === null || _a === void 0 ? void 0 : _a.buildingLevels) === null || _b === void 0 ? void 0 : _b.find(l => l.id === this.buildingLevelId);
|
|
77
|
+
return `${((_c = this.selectedBuilding) === null || _c === void 0 ? void 0 : _c.name) || ''} ${(level === null || level === void 0 ? void 0 : level.floorDisplayName) || ''}층`;
|
|
78
|
+
}
|
|
79
|
+
if ((_d = this.selectedBuilding) === null || _d === void 0 ? void 0 : _d.id) {
|
|
80
|
+
return `${this.selectedBuilding.name} 전체`;
|
|
81
|
+
}
|
|
82
|
+
return '프로젝트 전체';
|
|
83
|
+
}
|
|
60
84
|
render() {
|
|
61
85
|
var _a, _b, _c, _d, _e, _f;
|
|
62
86
|
const cards = ((_b = (_a = this.building) === null || _a === void 0 ? void 0 : _a.buildingLevels) === null || _b === void 0 ? void 0 : _b.map(({ mainDrawingImage, floor }) => {
|
|
@@ -117,9 +141,13 @@ let BuildingInspectionManagement = class BuildingInspectionManagement extends Sc
|
|
|
117
141
|
</div>
|
|
118
142
|
|
|
119
143
|
<div right-panel>
|
|
120
|
-
${this.buildingLevelId
|
|
144
|
+
${this.buildingLevelId || this._isBuildingMode || this._isProjectMode
|
|
121
145
|
? html `
|
|
122
146
|
<div inspection-container>
|
|
147
|
+
<div scope-header>
|
|
148
|
+
<h3>검측 현황</h3>
|
|
149
|
+
<span scope-label>${this._scopeLabel}</span>
|
|
150
|
+
</div>
|
|
123
151
|
<div inspection>
|
|
124
152
|
<div name bold>
|
|
125
153
|
<md-icon slot="icon">fact_check</md-icon>
|
|
@@ -169,6 +197,9 @@ let BuildingInspectionManagement = class BuildingInspectionManagement extends Sc
|
|
|
169
197
|
const month = (_c = (_b = (_a = e.detail) === null || _a === void 0 ? void 0 : _a.month) === null || _b === void 0 ? void 0 : _b.toString()) === null || _c === void 0 ? void 0 : _c.padStart(2, '0');
|
|
170
198
|
this.selectedYearMonth = `${year}-${month}`;
|
|
171
199
|
this._refreshListGrists();
|
|
200
|
+
}}
|
|
201
|
+
@open-worklog=${(e) => {
|
|
202
|
+
this._openWorklogForDate(e.detail.date);
|
|
172
203
|
}}
|
|
173
204
|
></ox-event-view>
|
|
174
205
|
</div>
|
|
@@ -238,6 +269,19 @@ let BuildingInspectionManagement = class BuildingInspectionManagement extends Sc
|
|
|
238
269
|
</div>
|
|
239
270
|
`;
|
|
240
271
|
}
|
|
272
|
+
updated(changedProperties) {
|
|
273
|
+
var _a;
|
|
274
|
+
super.updated(changedProperties);
|
|
275
|
+
// ox-grist shadow DOM 내부 #wrap의 overflow를 제어
|
|
276
|
+
(_a = this.renderRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('ox-grist').forEach(grist => {
|
|
277
|
+
var _a, _b;
|
|
278
|
+
const oxGrid = (_a = grist.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('ox-grid');
|
|
279
|
+
const gridBody = (_b = oxGrid === null || oxGrid === void 0 ? void 0 : oxGrid.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('ox-grid-body');
|
|
280
|
+
if (gridBody) {
|
|
281
|
+
gridBody.style.maxHeight = '150px';
|
|
282
|
+
}
|
|
283
|
+
});
|
|
284
|
+
}
|
|
241
285
|
async pageUpdated(changes, lifecycle) {
|
|
242
286
|
if (this.active) {
|
|
243
287
|
this.projectId = lifecycle.resourceId || '';
|
|
@@ -294,6 +338,12 @@ let BuildingInspectionManagement = class BuildingInspectionManagement extends Sc
|
|
|
294
338
|
},
|
|
295
339
|
width: 200
|
|
296
340
|
},
|
|
341
|
+
{
|
|
342
|
+
type: 'string',
|
|
343
|
+
name: 'createdDate',
|
|
344
|
+
header: '검측 등록일시',
|
|
345
|
+
width: 110
|
|
346
|
+
},
|
|
297
347
|
{
|
|
298
348
|
type: 'string',
|
|
299
349
|
name: 'requestDate',
|
|
@@ -371,7 +421,7 @@ let BuildingInspectionManagement = class BuildingInspectionManagement extends Sc
|
|
|
371
421
|
};
|
|
372
422
|
}
|
|
373
423
|
async _initProject(projectId = '') {
|
|
374
|
-
var _a
|
|
424
|
+
var _a;
|
|
375
425
|
const response = await client.query({
|
|
376
426
|
query: gql `
|
|
377
427
|
query Project($id: String!) {
|
|
@@ -409,11 +459,12 @@ let BuildingInspectionManagement = class BuildingInspectionManagement extends Sc
|
|
|
409
459
|
if (response.errors)
|
|
410
460
|
return;
|
|
411
461
|
this.project = (_a = response.data) === null || _a === void 0 ? void 0 : _a.project;
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
462
|
+
this.updateContext();
|
|
463
|
+
// 동 미선택 상태 → 프로젝트 전체 데이터 로드
|
|
464
|
+
this.selectedBuilding = {};
|
|
465
|
+
this.building = {};
|
|
466
|
+
this.buildingLevelId = '';
|
|
467
|
+
await this._initProjectLevel();
|
|
417
468
|
}
|
|
418
469
|
async _getBuilding(buildingId = '') {
|
|
419
470
|
var _a;
|
|
@@ -456,15 +507,86 @@ let BuildingInspectionManagement = class BuildingInspectionManagement extends Sc
|
|
|
456
507
|
}
|
|
457
508
|
}
|
|
458
509
|
async _onClickBuilding(building) {
|
|
510
|
+
var _a;
|
|
511
|
+
if (((_a = this.selectedBuilding) === null || _a === void 0 ? void 0 : _a.id) === building.id) {
|
|
512
|
+
// 토글: 이미 선택된 동 클릭 시 해제 → 프로젝트 전체 데이터
|
|
513
|
+
this.selectedBuilding = {};
|
|
514
|
+
this.building = {};
|
|
515
|
+
this.buildingLevelId = '';
|
|
516
|
+
this.currentFloor = 0;
|
|
517
|
+
await this._initProjectLevel();
|
|
518
|
+
return;
|
|
519
|
+
}
|
|
459
520
|
this.selectedBuilding = Object.assign({}, building);
|
|
460
521
|
this.buildingLevelId = '';
|
|
461
522
|
this.buildingInspectionSummary = {};
|
|
462
523
|
await this._getBuilding(this.selectedBuilding.id);
|
|
524
|
+
await this._initBuildingData(this.selectedBuilding.id);
|
|
463
525
|
}
|
|
464
526
|
async _onSelectFloor(levelId) {
|
|
465
527
|
this.buildingLevelId = levelId;
|
|
466
528
|
await this._initBuildingLevel(levelId);
|
|
467
529
|
}
|
|
530
|
+
async _initProjectLevel() {
|
|
531
|
+
var _a;
|
|
532
|
+
if (!this.projectId)
|
|
533
|
+
return;
|
|
534
|
+
// 프로젝트 전체 검측 현황 조회
|
|
535
|
+
const response = await client.query({
|
|
536
|
+
query: gql `
|
|
537
|
+
query BuildingInspectionSummaryOfProject($projectId: String!) {
|
|
538
|
+
buildingInspectionSummaryOfProject(projectId: $projectId) {
|
|
539
|
+
wait
|
|
540
|
+
request
|
|
541
|
+
pass
|
|
542
|
+
fail
|
|
543
|
+
reWait
|
|
544
|
+
}
|
|
545
|
+
}
|
|
546
|
+
`,
|
|
547
|
+
variables: { projectId: this.projectId }
|
|
548
|
+
});
|
|
549
|
+
if (response.errors)
|
|
550
|
+
return;
|
|
551
|
+
this.buildingInspectionSummary = (_a = response.data) === null || _a === void 0 ? void 0 : _a.buildingInspectionSummaryOfProject;
|
|
552
|
+
// 달력 데이터 생성 (프로젝트 레벨 - buildingLevelId 없이)
|
|
553
|
+
this.calendarData = new InspectionEventProvider('', this.projectId);
|
|
554
|
+
await this.updateComplete;
|
|
555
|
+
// 일일 업무일지 조회
|
|
556
|
+
await this._fetchDailyWorklog(this.selectedDate);
|
|
557
|
+
// 목록 모드일 경우 그리스트 갱신
|
|
558
|
+
this._refreshListGrists();
|
|
559
|
+
}
|
|
560
|
+
async _initBuildingData(buildingId) {
|
|
561
|
+
var _a;
|
|
562
|
+
if (!buildingId)
|
|
563
|
+
return;
|
|
564
|
+
// 동 전체 검측 현황 조회
|
|
565
|
+
const response = await client.query({
|
|
566
|
+
query: gql `
|
|
567
|
+
query BuildingInspectionSummaryOfBuilding($buildingId: String!) {
|
|
568
|
+
buildingInspectionSummaryOfBuilding(buildingId: $buildingId) {
|
|
569
|
+
wait
|
|
570
|
+
request
|
|
571
|
+
pass
|
|
572
|
+
fail
|
|
573
|
+
reWait
|
|
574
|
+
}
|
|
575
|
+
}
|
|
576
|
+
`,
|
|
577
|
+
variables: { buildingId }
|
|
578
|
+
});
|
|
579
|
+
if (response.errors)
|
|
580
|
+
return;
|
|
581
|
+
this.buildingInspectionSummary = (_a = response.data) === null || _a === void 0 ? void 0 : _a.buildingInspectionSummaryOfBuilding;
|
|
582
|
+
// 달력 데이터 생성 (동 레벨)
|
|
583
|
+
this.calendarData = new InspectionEventProvider('', this.projectId, buildingId);
|
|
584
|
+
await this.updateComplete;
|
|
585
|
+
// 일일 업무일지 조회
|
|
586
|
+
await this._fetchDailyWorklog(this.selectedDate);
|
|
587
|
+
// 목록 모드일 경우 그리스트 갱신
|
|
588
|
+
this._refreshListGrists();
|
|
589
|
+
}
|
|
468
590
|
async _initBuildingLevel(buildingLevelId) {
|
|
469
591
|
var _a;
|
|
470
592
|
const response = await client.query({
|
|
@@ -496,54 +618,147 @@ let BuildingInspectionManagement = class BuildingInspectionManagement extends Sc
|
|
|
496
618
|
this._refreshListGrists();
|
|
497
619
|
}
|
|
498
620
|
async _fetchInspectionsByStatus(statuses, { page = 1, limit = 100 }, extraFilter) {
|
|
499
|
-
var _a, _b;
|
|
500
|
-
if (!this.buildingLevelId)
|
|
621
|
+
var _a, _b, _c, _d, _e, _f;
|
|
622
|
+
if (!this.buildingLevelId && !this._isBuildingMode && !this._isProjectMode)
|
|
501
623
|
return { total: 0, records: [] };
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
624
|
+
if ((this._isProjectMode || this._isBuildingMode) && !this.projectId)
|
|
625
|
+
return { total: 0, records: [] };
|
|
626
|
+
let items;
|
|
627
|
+
if (this.buildingLevelId) {
|
|
628
|
+
// 층 레벨 조회
|
|
629
|
+
const response = await client.query({
|
|
630
|
+
query: gql `
|
|
631
|
+
query BuildingInspectionsOfBuildingLevel($params: BuildingInspectionsOfBuildingLevel!) {
|
|
632
|
+
buildingInspectionsOfBuildingLevel(params: $params) {
|
|
633
|
+
items {
|
|
634
|
+
id
|
|
635
|
+
status
|
|
636
|
+
failCount
|
|
637
|
+
requestDate
|
|
638
|
+
createdAt
|
|
511
639
|
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
640
|
+
checklist {
|
|
641
|
+
checklistId: id
|
|
642
|
+
name
|
|
643
|
+
constructionType
|
|
644
|
+
constructionDetailType
|
|
645
|
+
location
|
|
646
|
+
inspectionParts
|
|
647
|
+
inspectionDrawingType
|
|
648
|
+
|
|
649
|
+
nameListAttachment {
|
|
650
|
+
id
|
|
651
|
+
name
|
|
652
|
+
fullpath
|
|
653
|
+
}
|
|
654
|
+
}
|
|
655
|
+
drawingMarker
|
|
656
|
+
}
|
|
657
|
+
total
|
|
658
|
+
}
|
|
659
|
+
}
|
|
660
|
+
`,
|
|
661
|
+
variables: {
|
|
662
|
+
params: {
|
|
663
|
+
buildingLevelId: this.buildingLevelId,
|
|
664
|
+
limit: 0
|
|
665
|
+
}
|
|
666
|
+
}
|
|
667
|
+
});
|
|
668
|
+
items = ((_b = (_a = response.data) === null || _a === void 0 ? void 0 : _a.buildingInspectionsOfBuildingLevel) === null || _b === void 0 ? void 0 : _b.items) || [];
|
|
669
|
+
}
|
|
670
|
+
else if (this._isBuildingMode) {
|
|
671
|
+
// 동 레벨 조회
|
|
672
|
+
const response = await client.query({
|
|
673
|
+
query: gql `
|
|
674
|
+
query BuildingInspectionsOfBuilding($params: BuildingInspectionsOfBuilding!) {
|
|
675
|
+
buildingInspectionsOfBuilding(params: $params) {
|
|
676
|
+
items {
|
|
677
|
+
id
|
|
678
|
+
status
|
|
679
|
+
failCount
|
|
680
|
+
requestDate
|
|
681
|
+
createdAt
|
|
520
682
|
|
|
521
|
-
|
|
522
|
-
id
|
|
683
|
+
checklist {
|
|
684
|
+
checklistId: id
|
|
523
685
|
name
|
|
524
|
-
|
|
686
|
+
constructionType
|
|
687
|
+
constructionDetailType
|
|
688
|
+
location
|
|
689
|
+
inspectionParts
|
|
690
|
+
inspectionDrawingType
|
|
691
|
+
|
|
692
|
+
nameListAttachment {
|
|
693
|
+
id
|
|
694
|
+
name
|
|
695
|
+
fullpath
|
|
696
|
+
}
|
|
525
697
|
}
|
|
698
|
+
drawingMarker
|
|
526
699
|
}
|
|
527
|
-
|
|
700
|
+
total
|
|
528
701
|
}
|
|
529
|
-
total
|
|
530
702
|
}
|
|
703
|
+
`,
|
|
704
|
+
variables: {
|
|
705
|
+
params: {
|
|
706
|
+
buildingId: this.selectedBuilding.id,
|
|
707
|
+
limit: 0
|
|
708
|
+
}
|
|
709
|
+
}
|
|
710
|
+
});
|
|
711
|
+
items = ((_d = (_c = response.data) === null || _c === void 0 ? void 0 : _c.buildingInspectionsOfBuilding) === null || _d === void 0 ? void 0 : _d.items) || [];
|
|
531
712
|
}
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
713
|
+
else {
|
|
714
|
+
// 프로젝트 레벨 조회 (동 미선택 시)
|
|
715
|
+
const response = await client.query({
|
|
716
|
+
query: gql `
|
|
717
|
+
query BuildingInspectionsOfProject($params: BuildingInspectionsOfProject!) {
|
|
718
|
+
buildingInspectionsOfProject(params: $params) {
|
|
719
|
+
items {
|
|
720
|
+
id
|
|
721
|
+
status
|
|
722
|
+
failCount
|
|
723
|
+
requestDate
|
|
724
|
+
createdAt
|
|
725
|
+
|
|
726
|
+
checklist {
|
|
727
|
+
checklistId: id
|
|
728
|
+
name
|
|
729
|
+
constructionType
|
|
730
|
+
constructionDetailType
|
|
731
|
+
location
|
|
732
|
+
inspectionParts
|
|
733
|
+
inspectionDrawingType
|
|
734
|
+
|
|
735
|
+
nameListAttachment {
|
|
736
|
+
id
|
|
737
|
+
name
|
|
738
|
+
fullpath
|
|
739
|
+
}
|
|
537
740
|
}
|
|
741
|
+
drawingMarker
|
|
742
|
+
}
|
|
743
|
+
total
|
|
538
744
|
}
|
|
539
|
-
|
|
540
|
-
|
|
745
|
+
}
|
|
746
|
+
`,
|
|
747
|
+
variables: {
|
|
748
|
+
params: {
|
|
749
|
+
projectId: this.projectId,
|
|
750
|
+
limit: 0
|
|
751
|
+
}
|
|
752
|
+
}
|
|
753
|
+
});
|
|
754
|
+
items = ((_f = (_e = response.data) === null || _e === void 0 ? void 0 : _e.buildingInspectionsOfProject) === null || _f === void 0 ? void 0 : _f.items) || [];
|
|
755
|
+
}
|
|
541
756
|
// 상태별 필터링
|
|
542
757
|
items = items.filter(item => statuses.includes(item.status));
|
|
543
758
|
if (extraFilter) {
|
|
544
759
|
items = items.filter(extraFilter);
|
|
545
760
|
}
|
|
546
|
-
items = items.map(item => (Object.assign(Object.assign(Object.assign({}, item), item.checklist), { statusDisplay: (item.failCount > 0 ? BUILDING_INSPECTION_RE_STATUS_DISPLAY : BUILDING_INSPECTION_STATUS_DISPLAY)[item.status], requestDate: this._formatDateTime(item.requestDate) })));
|
|
761
|
+
items = items.map(item => (Object.assign(Object.assign(Object.assign({}, item), item.checklist), { statusDisplay: (item.failCount > 0 ? BUILDING_INSPECTION_RE_STATUS_DISPLAY : BUILDING_INSPECTION_STATUS_DISPLAY)[item.status], createdDate: this._formatDate(item.createdAt), requestDate: this._formatDateTime(item.requestDate) })));
|
|
547
762
|
return {
|
|
548
763
|
total: items.length,
|
|
549
764
|
records: items
|
|
@@ -606,6 +821,27 @@ let BuildingInspectionManagement = class BuildingInspectionManagement extends Sc
|
|
|
606
821
|
return '';
|
|
607
822
|
}
|
|
608
823
|
}
|
|
824
|
+
_formatDate(date) {
|
|
825
|
+
if (!date)
|
|
826
|
+
return '';
|
|
827
|
+
try {
|
|
828
|
+
const parsed = typeof date === 'string' && /^\d+$/.test(date) ? new Date(Number(date)) : new Date(date);
|
|
829
|
+
return new Intl.DateTimeFormat('ko-KR', {
|
|
830
|
+
timeZone: 'Asia/Seoul',
|
|
831
|
+
year: 'numeric',
|
|
832
|
+
month: '2-digit',
|
|
833
|
+
day: '2-digit'
|
|
834
|
+
}).format(parsed);
|
|
835
|
+
}
|
|
836
|
+
catch (_a) {
|
|
837
|
+
return '';
|
|
838
|
+
}
|
|
839
|
+
}
|
|
840
|
+
async _openWorklogForDate(date) {
|
|
841
|
+
this.selectedDate = date;
|
|
842
|
+
await this._fetchDailyWorklog(date);
|
|
843
|
+
this._openDailyWorklogPopup();
|
|
844
|
+
}
|
|
609
845
|
_openDailyWorklogPopup() {
|
|
610
846
|
const date = this.selectedDate;
|
|
611
847
|
openPopup(html `<daily-worklog-popup
|
|
@@ -662,9 +898,12 @@ let BuildingInspectionManagement = class BuildingInspectionManagement extends Sc
|
|
|
662
898
|
></inspection-with-checklist-create-popup>
|
|
663
899
|
`, { backdrop: true, size: 'large', title: '검측 등록' });
|
|
664
900
|
}
|
|
665
|
-
// TODO: 현장 문서 확인 기능 구현
|
|
666
901
|
_openFieldDocuments() {
|
|
667
|
-
|
|
902
|
+
openPopup(html `<field-document-popup .projectId=${this.projectId}></field-document-popup>`, {
|
|
903
|
+
backdrop: true,
|
|
904
|
+
size: 'full',
|
|
905
|
+
title: '현장 문서 확인'
|
|
906
|
+
});
|
|
668
907
|
}
|
|
669
908
|
async _openDrawingPopup(buildingInspection) {
|
|
670
909
|
const drawingImageProvider = new DrawingImageProvider();
|
|
@@ -1005,6 +1244,25 @@ BuildingInspectionManagement.styles = [
|
|
|
1005
1244
|
overflow: hidden;
|
|
1006
1245
|
}
|
|
1007
1246
|
|
|
1247
|
+
div[scope-header] {
|
|
1248
|
+
display: flex;
|
|
1249
|
+
align-items: center;
|
|
1250
|
+
gap: var(--spacing-medium, 8px);
|
|
1251
|
+
margin-bottom: var(--spacing-small, 4px);
|
|
1252
|
+
|
|
1253
|
+
h3 {
|
|
1254
|
+
margin: 0;
|
|
1255
|
+
}
|
|
1256
|
+
|
|
1257
|
+
span[scope-label] {
|
|
1258
|
+
font-size: 12px;
|
|
1259
|
+
color: #888;
|
|
1260
|
+
background: #f0f0f0;
|
|
1261
|
+
padding: 2px 8px;
|
|
1262
|
+
border-radius: 4px;
|
|
1263
|
+
}
|
|
1264
|
+
}
|
|
1265
|
+
|
|
1008
1266
|
div[inspection-container] {
|
|
1009
1267
|
gap: var(--spacing-medium, 8px);
|
|
1010
1268
|
display: flex;
|
|
@@ -1124,7 +1382,7 @@ BuildingInspectionManagement.styles = [
|
|
|
1124
1382
|
div[list-section] {
|
|
1125
1383
|
display: flex;
|
|
1126
1384
|
flex-direction: column;
|
|
1127
|
-
gap:
|
|
1385
|
+
gap: 6px;
|
|
1128
1386
|
|
|
1129
1387
|
h3[section-title] {
|
|
1130
1388
|
color: #e15757;
|
|
@@ -1142,9 +1400,7 @@ BuildingInspectionManagement.styles = [
|
|
|
1142
1400
|
}
|
|
1143
1401
|
|
|
1144
1402
|
ox-grist {
|
|
1145
|
-
|
|
1146
|
-
flex: 1;
|
|
1147
|
-
min-height: 150px;
|
|
1403
|
+
padding: 0px 16px 10px;
|
|
1148
1404
|
}
|
|
1149
1405
|
|
|
1150
1406
|
div[action-buttons] {
|