@dssp/supervision 1.0.0-alpha.3 → 1.0.0-alpha.30

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 (168) hide show
  1. package/dist-client/graphql/building-inspection.d.ts +1 -0
  2. package/dist-client/graphql/building-inspection.js +100 -0
  3. package/dist-client/graphql/building-inspection.js.map +1 -0
  4. package/dist-client/pages/building-inspection/building-inspection-detail-checklist.d.ts +9 -0
  5. package/dist-client/pages/building-inspection/building-inspection-detail-checklist.js +130 -72
  6. package/dist-client/pages/building-inspection/building-inspection-detail-checklist.js.map +1 -1
  7. package/dist-client/pages/building-inspection/building-inspection-detail-drawing.d.ts +1 -1
  8. package/dist-client/pages/building-inspection/building-inspection-detail-drawing.js +93 -25
  9. package/dist-client/pages/building-inspection/building-inspection-detail-drawing.js.map +1 -1
  10. package/dist-client/pages/building-inspection/building-inspection-list.d.ts +18 -2
  11. package/dist-client/pages/building-inspection/building-inspection-list.js +327 -27
  12. package/dist-client/pages/building-inspection/building-inspection-list.js.map +1 -1
  13. package/dist-client/pages/building-inspection/component/building-inspection-detail-header.js +31 -9
  14. package/dist-client/pages/building-inspection/component/building-inspection-detail-header.js.map +1 -1
  15. package/dist-client/pages/building-inspection/component/daily-worklog-popup.d.ts +22 -0
  16. package/dist-client/pages/building-inspection/component/daily-worklog-popup.js +431 -0
  17. package/dist-client/pages/building-inspection/component/daily-worklog-popup.js.map +1 -0
  18. package/dist-client/pages/building-inspection/component/image-preview-popup.d.ts +15 -0
  19. package/dist-client/pages/building-inspection/component/image-preview-popup.js +351 -0
  20. package/dist-client/pages/building-inspection/component/image-preview-popup.js.map +1 -0
  21. package/dist-client/pages/building-inspection/component/inspection-document/inspection-request-document.d.ts +20 -0
  22. package/dist-client/pages/building-inspection/component/inspection-document/inspection-request-document.js +432 -0
  23. package/dist-client/pages/building-inspection/component/inspection-document/inspection-request-document.js.map +1 -0
  24. package/dist-client/pages/building-inspection/component/inspection-document/inspection-result-notification.d.ts +30 -0
  25. package/dist-client/pages/building-inspection/component/inspection-document/inspection-result-notification.js +479 -0
  26. package/dist-client/pages/building-inspection/component/inspection-document/inspection-result-notification.js.map +1 -0
  27. package/dist-client/pages/building-inspection/component/inspection-document/photo-album-popup.d.ts +27 -0
  28. package/dist-client/pages/building-inspection/component/inspection-document/photo-album-popup.js +401 -0
  29. package/dist-client/pages/building-inspection/component/inspection-document/photo-album-popup.js.map +1 -0
  30. package/dist-client/pages/building-inspection/component/inspection-event-provider.d.ts +2 -1
  31. package/dist-client/pages/building-inspection/component/inspection-event-provider.js +39 -17
  32. package/dist-client/pages/building-inspection/component/inspection-event-provider.js.map +1 -1
  33. package/dist-client/pages/building-inspection/inspection-create-popup.js +22 -9
  34. package/dist-client/pages/building-inspection/inspection-create-popup.js.map +1 -1
  35. package/dist-client/pages/building-inspection-grid/building-inspection-grid-detail.d.ts +48 -0
  36. package/dist-client/pages/building-inspection-grid/building-inspection-grid-detail.js +1030 -0
  37. package/dist-client/pages/building-inspection-grid/building-inspection-grid-detail.js.map +1 -0
  38. package/dist-client/pages/building-inspection-grid/component/grid-inspection-create-popup.d.ts +2 -0
  39. package/dist-client/pages/building-inspection-grid/component/grid-inspection-create-popup.js +740 -0
  40. package/dist-client/pages/building-inspection-grid/component/grid-inspection-create-popup.js.map +1 -0
  41. package/dist-client/pages/building-inspection-grid/component/notice-comment-popup.d.ts +1 -0
  42. package/dist-client/pages/building-inspection-grid/component/notice-comment-popup.js +304 -0
  43. package/dist-client/pages/building-inspection-grid/component/notice-comment-popup.js.map +1 -0
  44. package/dist-client/pages/building-inspection-grid/component/plan-preview-popup.d.ts +15 -0
  45. package/dist-client/pages/building-inspection-grid/component/plan-preview-popup.js +430 -0
  46. package/dist-client/pages/building-inspection-grid/component/plan-preview-popup.js.map +1 -0
  47. package/dist-client/pages/checklist/attachment-list-popup.d.ts +1 -0
  48. package/dist-client/pages/checklist/attachment-list-popup.js +250 -67
  49. package/dist-client/pages/checklist/attachment-list-popup.js.map +1 -1
  50. package/dist-client/pages/checklist/checklist-view.d.ts +7 -0
  51. package/dist-client/pages/checklist/checklist-view.js +363 -185
  52. package/dist-client/pages/checklist/checklist-view.js.map +1 -1
  53. package/dist-client/pages/checklist/comment-list-popup.js +14 -3
  54. package/dist-client/pages/checklist/comment-list-popup.js.map +1 -1
  55. package/dist-client/pages/checklist/file-preview-popup.js +0 -1
  56. package/dist-client/pages/checklist/file-preview-popup.js.map +1 -1
  57. package/dist-client/pages/checklist/inspection-info-popup.d.ts +50 -0
  58. package/dist-client/pages/checklist/inspection-info-popup.js +684 -0
  59. package/dist-client/pages/checklist/inspection-info-popup.js.map +1 -0
  60. package/dist-client/pages/checklist/inspection-tab-popup.d.ts +18 -0
  61. package/dist-client/pages/checklist/inspection-tab-popup.js +196 -0
  62. package/dist-client/pages/checklist/inspection-tab-popup.js.map +1 -0
  63. package/dist-client/pages/checklist-template/checklist-template-item.js +8 -3
  64. package/dist-client/pages/checklist-template/checklist-template-item.js.map +1 -1
  65. package/dist-client/pages/checklist-template/checklist-template-list.js +2 -2
  66. package/dist-client/pages/checklist-template/checklist-template-list.js.map +1 -1
  67. package/dist-client/route.d.ts +1 -1
  68. package/dist-client/route.js +3 -0
  69. package/dist-client/route.js.map +1 -1
  70. package/dist-client/stt/speech-to-text.d.ts +36 -0
  71. package/dist-client/stt/speech-to-text.js +89 -0
  72. package/dist-client/stt/speech-to-text.js.map +1 -0
  73. package/dist-client/stt/stt-utils.d.ts +28 -0
  74. package/dist-client/stt/stt-utils.js +146 -0
  75. package/dist-client/stt/stt-utils.js.map +1 -0
  76. package/dist-client/tsconfig.tsbuildinfo +1 -1
  77. package/dist-server/service/action-plan/index.d.ts +0 -1
  78. package/dist-server/service/action-plan/index.js +1 -2
  79. package/dist-server/service/action-plan/index.js.map +1 -1
  80. package/dist-server/service/building-inspection/building-inspection-history.d.ts +1 -0
  81. package/dist-server/service/building-inspection/building-inspection-history.js +5 -0
  82. package/dist-server/service/building-inspection/building-inspection-history.js.map +1 -1
  83. package/dist-server/service/building-inspection/building-inspection-mutation.d.ts +3 -3
  84. package/dist-server/service/building-inspection/building-inspection-mutation.js +145 -34
  85. package/dist-server/service/building-inspection/building-inspection-mutation.js.map +1 -1
  86. package/dist-server/service/building-inspection/building-inspection-query.d.ts +3 -4
  87. package/dist-server/service/building-inspection/building-inspection-query.js +46 -30
  88. package/dist-server/service/building-inspection/building-inspection-query.js.map +1 -1
  89. package/dist-server/service/building-inspection/building-inspection-type.d.ts +28 -9
  90. package/dist-server/service/building-inspection/building-inspection-type.js +96 -17
  91. package/dist-server/service/building-inspection/building-inspection-type.js.map +1 -1
  92. package/dist-server/service/building-inspection/building-inspection.d.ts +13 -0
  93. package/dist-server/service/building-inspection/building-inspection.js +55 -2
  94. package/dist-server/service/building-inspection/building-inspection.js.map +1 -1
  95. package/dist-server/service/building-inspection/index.d.ts +3 -5
  96. package/dist-server/service/building-inspection/index.js +10 -4
  97. package/dist-server/service/building-inspection/index.js.map +1 -1
  98. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-mutation.d.ts +6 -0
  99. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-mutation.js +56 -0
  100. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-mutation.js.map +1 -0
  101. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-query.d.ts +14 -0
  102. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-query.js +135 -0
  103. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-query.js.map +1 -0
  104. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-type.d.ts +19 -0
  105. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-type.js +74 -0
  106. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-type.js.map +1 -0
  107. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog.d.ts +27 -0
  108. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog.js +104 -0
  109. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog.js.map +1 -0
  110. package/dist-server/service/building-inspection-daily-worklog/index.d.ts +5 -0
  111. package/dist-server/service/building-inspection-daily-worklog/index.js +9 -0
  112. package/dist-server/service/building-inspection-daily-worklog/index.js.map +1 -0
  113. package/dist-server/service/checklist/checklist-history.d.ts +8 -0
  114. package/dist-server/service/checklist/checklist-history.js +36 -0
  115. package/dist-server/service/checklist/checklist-history.js.map +1 -1
  116. package/dist-server/service/checklist/checklist-mutation.d.ts +0 -5
  117. package/dist-server/service/checklist/checklist-mutation.js +1 -67
  118. package/dist-server/service/checklist/checklist-mutation.js.map +1 -1
  119. package/dist-server/service/checklist/checklist-query.d.ts +6 -0
  120. package/dist-server/service/checklist/checklist-query.js +63 -0
  121. package/dist-server/service/checklist/checklist-query.js.map +1 -1
  122. package/dist-server/service/checklist/checklist-type.d.ts +0 -13
  123. package/dist-server/service/checklist/checklist-type.js +1 -49
  124. package/dist-server/service/checklist/checklist-type.js.map +1 -1
  125. package/dist-server/service/checklist/checklist.d.ts +38 -3
  126. package/dist-server/service/checklist/checklist.js +131 -15
  127. package/dist-server/service/checklist/checklist.js.map +1 -1
  128. package/dist-server/service/checklist/index.d.ts +0 -2
  129. package/dist-server/service/checklist/index.js +1 -3
  130. package/dist-server/service/checklist/index.js.map +1 -1
  131. package/dist-server/service/checklist-item/checklist-item-query.d.ts +1 -1
  132. package/dist-server/service/checklist-item/checklist-item-query.js +5 -3
  133. package/dist-server/service/checklist-item/checklist-item-query.js.map +1 -1
  134. package/dist-server/service/checklist-item-comment/checklist-item-comment-mutation.d.ts +1 -0
  135. package/dist-server/service/checklist-item-comment/checklist-item-comment-mutation.js +33 -6
  136. package/dist-server/service/checklist-item-comment/checklist-item-comment-mutation.js.map +1 -1
  137. package/dist-server/service/checklist-item-comment/index.d.ts +0 -2
  138. package/dist-server/service/checklist-item-comment/index.js +1 -3
  139. package/dist-server/service/checklist-item-comment/index.js.map +1 -1
  140. package/dist-server/service/checklist-template-item/checklist-template-item.js +2 -4
  141. package/dist-server/service/checklist-template-item/checklist-template-item.js.map +1 -1
  142. package/dist-server/service/index.d.ts +3 -2
  143. package/dist-server/service/index.js +8 -13
  144. package/dist-server/service/index.js.map +1 -1
  145. package/dist-server/service/issue/index.d.ts +0 -1
  146. package/dist-server/service/issue/index.js +1 -2
  147. package/dist-server/service/issue/index.js.map +1 -1
  148. package/dist-server/service/project-report/index.d.ts +0 -1
  149. package/dist-server/service/project-report/index.js +1 -2
  150. package/dist-server/service/project-report/index.js.map +1 -1
  151. package/dist-server/service/project-report/project-report.d.ts +0 -2
  152. package/dist-server/service/project-report/project-report.js +0 -6
  153. package/dist-server/service/project-report/project-report.js.map +1 -1
  154. package/dist-server/service/supervisor/index.d.ts +0 -1
  155. package/dist-server/service/supervisor/index.js +1 -2
  156. package/dist-server/service/supervisor/index.js.map +1 -1
  157. package/dist-server/tsconfig.tsbuildinfo +1 -1
  158. package/package.json +13 -13
  159. package/things-factory.config.js +3 -1
  160. package/dist-server/service/building-inspection/event-subscriber.d.ts +0 -7
  161. package/dist-server/service/building-inspection/event-subscriber.js +0 -21
  162. package/dist-server/service/building-inspection/event-subscriber.js.map +0 -1
  163. package/dist-server/service/checklist/event-subscriber.d.ts +0 -7
  164. package/dist-server/service/checklist/event-subscriber.js +0 -21
  165. package/dist-server/service/checklist/event-subscriber.js.map +0 -1
  166. package/dist-server/service/checklist-item-comment/event-subscriber.d.ts +0 -7
  167. package/dist-server/service/checklist-item-comment/event-subscriber.js +0 -21
  168. package/dist-server/service/checklist-item-comment/event-subscriber.js.map +0 -1
@@ -1,6 +1,7 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
2
  import '@material/web/icon/icon.js';
3
3
  import '@operato/data-grist';
4
+ import '@operato/image-marker/ox-image-marker-view.js';
4
5
  import { CommonGristStyles, CommonButtonStyles, ScrollbarStyles } from '@operato/styles';
5
6
  import { PageView, navigate } from '@operato/shell';
6
7
  import { css, html } from 'lit';
@@ -12,8 +13,18 @@ import { notify } from '@operato/layout';
12
13
  import gql from 'graphql-tag';
13
14
  import { openPopup } from '@operato/layout';
14
15
  import './inspection-create-popup';
16
+ import './component/inspection-document/photo-album-popup';
17
+ import './component/inspection-document/inspection-request-document';
18
+ import './component/inspection-document/inspection-result-notification';
19
+ import './component/image-preview-popup';
20
+ import './component/daily-worklog-popup';
15
21
  import '@operato/event-view/ox-event-view.js';
16
22
  import { InspectionEventProvider } from './component/inspection-event-provider';
23
+ import { getBuildingInspectionForChecklist } from '../../graphql/building-inspection';
24
+ import { InspectionMode } from './component/inspection-document/inspection-request-document';
25
+ import moment from 'moment-timezone';
26
+ import { DailyWorklogMode } from './component/daily-worklog-popup';
27
+ import { DrawingImageProvider } from '@dssp/drawing/dist-client/drawing-management/drawing-image-provider.js';
17
28
  export var ChecklistTypeMainType;
18
29
  (function (ChecklistTypeMainType) {
19
30
  ChecklistTypeMainType["BASIC"] = "10";
@@ -55,6 +66,13 @@ let BuildingInspectionList = class BuildingInspectionList extends ScopedElements
55
66
  this.building = {};
56
67
  this.drawingImage = '';
57
68
  this.buildingInspectionSummary = {};
69
+ this.selectedYearMonth = moment().tz('Asia/Seoul').format('YYYY-MM');
70
+ this.selectedDate = moment().tz('Asia/Seoul').format('YYYY-MM-DD');
71
+ this.dailyWorklog = {};
72
+ // 캘린더 객체 재 생성하여 재 랜더링
73
+ this._refreshCalendar = (e) => {
74
+ this.calendarData = new InspectionEventProvider(this.buildingLevelId, this.project.id);
75
+ };
58
76
  }
59
77
  get context() {
60
78
  return {
@@ -68,7 +86,10 @@ let BuildingInspectionList = class BuildingInspectionList extends ScopedElements
68
86
  render() {
69
87
  return html `
70
88
  <div header>
71
- <h2>${this.project.name}</h2>
89
+ <h2>
90
+ <md-icon slot="icon" back @click=${() => history.back()}>arrow_back</md-icon>
91
+ ${this.project.name}
92
+ </h2>
72
93
  </div>
73
94
 
74
95
  <div body>
@@ -115,8 +136,15 @@ let BuildingInspectionList = class BuildingInspectionList extends ScopedElements
115
136
  .mode=${'monthly'}
116
137
  .eventProvider=${this.calendarData}
117
138
  @select-date=${(e) => {
118
- // TODO 선택된 날짜의 검측데이터만 그리드에 보여야함
119
- console.log('select-date', e.detail);
139
+ this.selectedDate = moment(e.detail[0]).format('YYYY-MM-DD');
140
+ this._fetchDailyWorklog(this.selectedDate);
141
+ }}
142
+ @change-month=${(e) => {
143
+ var _a, _b, _c;
144
+ const year = e.detail.year;
145
+ 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');
146
+ this.selectedYearMonth = `${year}-${month}`;
147
+ this.grist.fetch();
120
148
  }}
121
149
  >
122
150
  </ox-event-view>
@@ -124,6 +152,15 @@ let BuildingInspectionList = class BuildingInspectionList extends ScopedElements
124
152
  </div>
125
153
 
126
154
  <div bottom>
155
+ <div daily-worklog-actions>
156
+ ${this.dailyWorklog.id
157
+ ? html `<md-filled-button green @click=${this._openDailyWorklogPopup}>
158
+ <md-icon slot="icon">edit</md-icon>일일 업무일지 수정
159
+ </md-filled-button>`
160
+ : html `<md-filled-button @click=${this._openDailyWorklogPopup}>
161
+ <md-icon slot="icon">note_add</md-icon>일일 업무일지 작성
162
+ </md-filled-button>`}
163
+ </div>
127
164
  <ox-grist .mode=${'GRID'} .config=${this.gristConfig} .fetchHandler=${this.fetchHandler.bind(this)}> </ox-grist>
128
165
  </div>
129
166
  </div>
@@ -144,6 +181,7 @@ let BuildingInspectionList = class BuildingInspectionList extends ScopedElements
144
181
  projectByBuildingLevelId(buildingLevelId: $buildingLevelId) {
145
182
  id
146
183
  name
184
+ projectType
147
185
  mainPhoto {
148
186
  fullpath
149
187
  }
@@ -177,7 +215,7 @@ let BuildingInspectionList = class BuildingInspectionList extends ScopedElements
177
215
  return;
178
216
  this.project = (_a = response.data) === null || _a === void 0 ? void 0 : _a.projectByBuildingLevelId;
179
217
  this.buildingInspectionSummary = (_b = response.data) === null || _b === void 0 ? void 0 : _b.buildingInspectionSummaryOfBuildingLevel;
180
- this.calendarData = new InspectionEventProvider(buildingLevelId);
218
+ this.calendarData = new InspectionEventProvider(buildingLevelId, this.project.id);
181
219
  // 캘린더 최소 높이 속성 수정
182
220
  this.eventView.style.setProperty('--calendar-monthly-date-min-height', '50px');
183
221
  }
@@ -186,6 +224,18 @@ let BuildingInspectionList = class BuildingInspectionList extends ScopedElements
186
224
  columns: [
187
225
  { type: 'gutter', gutterName: 'sequence' },
188
226
  { type: 'gutter', gutterName: 'row-selector', multiple: true },
227
+ {
228
+ type: 'gutter',
229
+ gutterName: 'button',
230
+ icon: 'open_in_new',
231
+ header: '상세보기',
232
+ width: 60,
233
+ handlers: {
234
+ click: (columns, data, column, record, rowIndex) => {
235
+ navigate(`building-inspection-detail-drawing/${record.id}`);
236
+ }
237
+ }
238
+ },
189
239
  {
190
240
  type: 'string',
191
241
  name: 'id',
@@ -195,13 +245,23 @@ let BuildingInspectionList = class BuildingInspectionList extends ScopedElements
195
245
  type: 'string',
196
246
  name: 'location',
197
247
  header: '위치',
198
- width: 150
248
+ width: 150,
249
+ handlers: {
250
+ click: (columns, data, column, record, rowIndex) => {
251
+ navigate(`building-inspection-detail-drawing/${record.id}`);
252
+ }
253
+ }
199
254
  },
200
255
  {
201
256
  type: 'string',
202
257
  name: 'constructionType',
203
258
  header: '공종',
204
- width: 120
259
+ width: 120,
260
+ handlers: {
261
+ click: (columns, data, column, record, rowIndex) => {
262
+ navigate(`building-inspection-detail-drawing/${record.id}`);
263
+ }
264
+ }
205
265
  },
206
266
  {
207
267
  type: 'string',
@@ -210,13 +270,23 @@ let BuildingInspectionList = class BuildingInspectionList extends ScopedElements
210
270
  record: {
211
271
  renderer: value => (value === null || value === void 0 ? void 0 : value.join(', ')) || ''
212
272
  },
213
- width: 200
273
+ width: 200,
274
+ handlers: {
275
+ click: (columns, data, column, record, rowIndex) => {
276
+ navigate(`building-inspection-detail-drawing/${record.id}`);
277
+ }
278
+ }
214
279
  },
215
280
  {
216
281
  type: 'string',
217
282
  name: 'requestDate',
218
283
  header: '검측 요청일',
219
- width: 120
284
+ width: 120,
285
+ handlers: {
286
+ click: (columns, data, column, record, rowIndex) => {
287
+ navigate(`building-inspection-detail-drawing/${record.id}`);
288
+ }
289
+ }
220
290
  },
221
291
  {
222
292
  type: 'string',
@@ -225,19 +295,79 @@ let BuildingInspectionList = class BuildingInspectionList extends ScopedElements
225
295
  record: {
226
296
  renderer: value => BUILDING_INSPECTION_STATUS_DISPLAY[value]
227
297
  },
228
- width: 120
298
+ width: 120,
299
+ handlers: {
300
+ click: (columns, data, column, record, rowIndex) => {
301
+ navigate(`building-inspection-detail-drawing/${record.id}`);
302
+ }
303
+ }
304
+ },
305
+ {
306
+ type: 'gutter',
307
+ gutterName: 'button',
308
+ icon: 'fact_check',
309
+ header: '도면',
310
+ width: 50,
311
+ handlers: {
312
+ click: (columns, data, column, record, rowIndex) => {
313
+ this._openDrawingPopup(record);
314
+ }
315
+ }
316
+ },
317
+ {
318
+ type: 'gutter',
319
+ gutterName: 'button',
320
+ icon: 'edit_square',
321
+ header: '요청서/결과통보',
322
+ width: 100,
323
+ handlers: {
324
+ click: (columns, data, column, record, rowIndex) => {
325
+ this._openInspectionRequestDocument(record.id);
326
+ }
327
+ }
328
+ },
329
+ {
330
+ type: 'gutter',
331
+ gutterName: 'button',
332
+ icon: 'task',
333
+ header: '체크리스트',
334
+ width: 70,
335
+ handlers: {
336
+ click: (columns, data, column, record, rowIndex) => {
337
+ this._openChecklistPopup(record.id);
338
+ }
339
+ }
340
+ },
341
+ {
342
+ type: 'gutter',
343
+ gutterName: 'button',
344
+ icon: 'photo_camera',
345
+ header: '사진대지',
346
+ width: 60,
347
+ handlers: {
348
+ click: (columns, data, column, record, rowIndex) => {
349
+ this._openPhotoAlbumPopup(record.checklistId);
350
+ }
351
+ }
352
+ },
353
+ {
354
+ type: 'gutter',
355
+ gutterName: 'button',
356
+ icon: 'engineering',
357
+ header: '실명부',
358
+ width: 50,
359
+ handlers: {
360
+ click: (columns, data, column, record, rowIndex) => {
361
+ this._showNameListPreview(record);
362
+ }
363
+ }
229
364
  }
230
365
  ],
231
366
  rows: {
232
367
  selectable: {
233
368
  multiple: true
234
369
  },
235
- appendable: false,
236
- handlers: {
237
- click: (columns, data, column, record, rowIndex) => {
238
- navigate(`building-inspection-detail-drawing/${record.id}`);
239
- }
240
- }
370
+ appendable: false
241
371
  },
242
372
  sorters: [{ name: 'requestDate' }]
243
373
  };
@@ -254,6 +384,8 @@ let BuildingInspectionList = class BuildingInspectionList extends ScopedElements
254
384
  id
255
385
  status
256
386
  requestDate
387
+ drawingMarker
388
+
257
389
  checklist {
258
390
  checklistId: id
259
391
  name
@@ -261,6 +393,13 @@ let BuildingInspectionList = class BuildingInspectionList extends ScopedElements
261
393
  constructionDetailType
262
394
  location
263
395
  inspectionParts
396
+ inspectionDrawingType
397
+
398
+ nameListAttachment {
399
+ id
400
+ name
401
+ fullpath
402
+ }
264
403
  }
265
404
  }
266
405
  total
@@ -269,6 +408,7 @@ let BuildingInspectionList = class BuildingInspectionList extends ScopedElements
269
408
  buildingLevel(id: $buildingLevelId) {
270
409
  id
271
410
  floor
411
+ floorDisplayName
272
412
  building {
273
413
  id
274
414
  name
@@ -285,7 +425,9 @@ let BuildingInspectionList = class BuildingInspectionList extends ScopedElements
285
425
  variables: {
286
426
  params: {
287
427
  buildingLevelId: this.buildingLevelId,
288
- limit: 0
428
+ limit: 0,
429
+ startDate: moment(this.selectedYearMonth).startOf('month').format('YYYY-MM-DD'),
430
+ endDate: moment(this.selectedYearMonth).endOf('month').format('YYYY-MM-DD')
289
431
  },
290
432
  buildingLevelId: this.buildingLevelId
291
433
  }
@@ -293,7 +435,7 @@ let BuildingInspectionList = class BuildingInspectionList extends ScopedElements
293
435
  let items = ((_b = (_a = response.data) === null || _a === void 0 ? void 0 : _a.buildingInspectionsOfBuildingLevel) === null || _b === void 0 ? void 0 : _b.items) || [];
294
436
  items = items.map(item => (Object.assign(Object.assign(Object.assign({}, item), item.checklist), { requestDate: this._formatDate(item.requestDate) })));
295
437
  const buildingLevel = (_c = response.data) === null || _c === void 0 ? void 0 : _c.buildingLevel;
296
- this.location = `${buildingLevel.building.name} ${buildingLevel.floor}층` || '';
438
+ this.location = `${buildingLevel.building.name} ${buildingLevel.floorDisplayName}층` || '';
297
439
  this.drawingImage = (buildingLevel === null || buildingLevel === void 0 ? void 0 : buildingLevel.mainDrawingImage) || '';
298
440
  this.building = (buildingLevel === null || buildingLevel === void 0 ? void 0 : buildingLevel.building) || {};
299
441
  return {
@@ -330,11 +472,7 @@ let BuildingInspectionList = class BuildingInspectionList extends ScopedElements
330
472
  .selectedBuildingLevelId=${this.buildingLevelId}
331
473
  @requestRefresh="${() => this.grist.fetch()}"
332
474
  ></inspection-create-popup>
333
- `, {
334
- backdrop: true,
335
- size: 'large',
336
- title: '검측 요청서 등록'
337
- });
475
+ `, { backdrop: true, size: 'large', title: '검측 등록' });
338
476
  }
339
477
  _formatDate(date) {
340
478
  return date
@@ -346,6 +484,127 @@ let BuildingInspectionList = class BuildingInspectionList extends ScopedElements
346
484
  }).format(new Date(date))
347
485
  : '';
348
486
  }
487
+ async _openChecklistPopup(buildingInspectionId) {
488
+ var _a, _b;
489
+ const buildingInspection = await getBuildingInspectionForChecklist(buildingInspectionId);
490
+ openPopup(html `
491
+ <div style="overflow-y: auto;">
492
+ <checklist-view
493
+ .mode=${"VIEWER" /* ChecklistMode.VIEWER */}
494
+ .checklist=${buildingInspection === null || buildingInspection === void 0 ? void 0 : buildingInspection.checklist}
495
+ .buildingComplex=${((_b = (_a = buildingInspection === null || buildingInspection === void 0 ? void 0 : buildingInspection.buildingLevel) === null || _a === void 0 ? void 0 : _a.building) === null || _b === void 0 ? void 0 : _b.buildingComplex) || {}}
496
+ .status=${buildingInspection === null || buildingInspection === void 0 ? void 0 : buildingInspection.status}
497
+ .projectType=${this.project.projectType}
498
+ ></checklist-view>
499
+ </div>
500
+ `, { backdrop: true, size: 'large', title: '체크 리스트 미리보기' });
501
+ }
502
+ async _openPhotoAlbumPopup(checklistId) {
503
+ openPopup(html ` <photo-album-popup .checklistId=${checklistId}></photo-album-popup> `, {
504
+ backdrop: true,
505
+ size: 'large',
506
+ title: '사진대지'
507
+ });
508
+ }
509
+ async _openInspectionRequestDocument(buildingInspectionId) {
510
+ const buildingInspection = await getBuildingInspectionForChecklist(buildingInspectionId);
511
+ if (!buildingInspection.checklist.inspectionRequestUpdatedAt) {
512
+ notify({ message: '검측 요청서가 없습니다.', level: 'info' });
513
+ return;
514
+ }
515
+ openPopup(html `
516
+ <div style="overflow-y: auto;">
517
+ <inspection-request-document
518
+ .checklist=${buildingInspection.checklist}
519
+ .buildingInspection=${buildingInspection}
520
+ .mode=${InspectionMode.VIEW}
521
+ ></inspection-request-document>
522
+
523
+ ${buildingInspection.checklist.inspectionResultUpdatedAt
524
+ ? html `
525
+ <hr />
526
+
527
+ <inspection-result-notification
528
+ .checklist=${buildingInspection.checklist}
529
+ .buildingInspection=${buildingInspection}
530
+ .mode=${InspectionMode.VIEW}
531
+ ></inspection-result-notification>
532
+ `
533
+ : ''}
534
+ </div>
535
+ `, { backdrop: true, size: 'large', title: '검측요청결과 통보내용' });
536
+ }
537
+ // 실명부 미리보기
538
+ _showNameListPreview(record) {
539
+ const nameListAttachment = record.nameListAttachment;
540
+ if (!nameListAttachment) {
541
+ notify({ message: '실명부 파일이 없습니다.', level: 'info' });
542
+ return;
543
+ }
544
+ // 이미지 미리보기 팝업
545
+ openPopup(html `
546
+ <image-preview-popup
547
+ .images=${[{ fullpath: nameListAttachment.fullpath, name: nameListAttachment.name }]}
548
+ .currentIndex=${0}
549
+ ></image-preview-popup>
550
+ `, { backdrop: true, size: 'large', title: '실명부' });
551
+ }
552
+ _openDailyWorklogPopup() {
553
+ const date = this.selectedDate;
554
+ openPopup(html `<daily-worklog-popup
555
+ .project=${this.project}
556
+ .date=${date}
557
+ .dailyWorklog=${this.dailyWorklog}
558
+ .mode=${this.dailyWorklog.id ? DailyWorklogMode.EDIT : DailyWorklogMode.CREATE}
559
+ @createdDailyWorklog=${this._refreshCalendar}
560
+ ></daily-worklog-popup>`, {
561
+ backdrop: true,
562
+ size: 'large',
563
+ title: '일일 업무일지 작성'
564
+ });
565
+ }
566
+ async _fetchDailyWorklog(date) {
567
+ var _a;
568
+ const response = await client.query({
569
+ query: gql `
570
+ query ($projectId: String!, $date: String!) {
571
+ buildingInspectionDailyWorklogByProjectIdAndDate(projectId: $projectId, date: $date) {
572
+ id
573
+ date
574
+ documentNo
575
+ worklogs
576
+ memo
577
+ directiveMemo
578
+
579
+ buildingInspections {
580
+ id
581
+ }
582
+ }
583
+ }
584
+ `,
585
+ variables: { projectId: this.project.id, date }
586
+ });
587
+ this.dailyWorklog = ((_a = response.data) === null || _a === void 0 ? void 0 : _a.buildingInspectionDailyWorklogByProjectIdAndDate) || {};
588
+ }
589
+ async _openDrawingPopup(buildingInspection) {
590
+ const drawingImageProvider = new DrawingImageProvider();
591
+ const inspectionDrawingType = buildingInspection.checklist.inspectionDrawingType;
592
+ const drawingShapes = JSON.parse((buildingInspection === null || buildingInspection === void 0 ? void 0 : buildingInspection.drawingMarker) || null) || [];
593
+ const markers = await drawingImageProvider.getMarkers(inspectionDrawingType);
594
+ const imageUrl = String(inspectionDrawingType).normalize('NFC');
595
+ const shapes = [...drawingShapes, ...markers];
596
+ openPopup(html `<ox-image-marker-view
597
+ style="pointer-events: none;"
598
+ id="image-marker"
599
+ .imageUrl=${imageUrl}
600
+ .shapes=${shapes}
601
+ .imageProvider=${drawingImageProvider}
602
+ ></ox-image-marker-view>`, {
603
+ backdrop: true,
604
+ size: 'large',
605
+ title: '검측 도면'
606
+ });
607
+ }
349
608
  };
350
609
  BuildingInspectionList.styles = [
351
610
  ScrollbarStyles,
@@ -371,6 +630,10 @@ BuildingInspectionList.styles = [
371
630
  --md-filled-button-leading-space: 15px;
372
631
  }
373
632
 
633
+ md-filled-button[green] {
634
+ --md-filled-button-container-color: #008000;
635
+ }
636
+
374
637
  md-outlined-button {
375
638
  --md-outlined-button-container-height: 30px;
376
639
  --md-outlined-button-trailing-space: var(--spacing-medium, 8px);
@@ -386,12 +649,31 @@ BuildingInspectionList.styles = [
386
649
  display: flex;
387
650
  margin: 0px var(--spacing-large, 12px);
388
651
  margin-bottom: var(--spacing-small, 5px);
389
- }
390
652
 
391
- div[header] h2 {
392
- flex: 0.5;
393
- color: #3f71a0;
394
- font-size: 18px;
653
+ h2 {
654
+ display: flex;
655
+ gap: 7px;
656
+ flex: 0.5;
657
+ color: #3f71a0;
658
+ font-size: 18px;
659
+
660
+ md-icon[back] {
661
+ background: linear-gradient(135deg, #3f71a0 0%, #5a8cc7 100%);
662
+ color: white;
663
+ padding: 8px;
664
+ border-radius: 50%;
665
+ cursor: pointer;
666
+ box-shadow: 0 2px 8px rgba(63, 113, 160, 0.3);
667
+ width: 14px;
668
+ height: 14px;
669
+ --md-icon-size: 20px;
670
+ }
671
+
672
+ md-icon[back]:hover {
673
+ background: linear-gradient(135deg, #2e5c89 0%, #4a7bb0 100%);
674
+ box-shadow: 0 4px 12px rgba(63, 113, 160, 0.4);
675
+ }
676
+ }
395
677
  }
396
678
 
397
679
  div[body] {
@@ -517,6 +799,12 @@ BuildingInspectionList.styles = [
517
799
  flex-direction: column;
518
800
  overflow: hidden;
519
801
  min-height: 300px;
802
+ gap: 0px !important;
803
+ }
804
+
805
+ div[daily-worklog-actions] {
806
+ display: flex;
807
+ justify-content: flex-end;
520
808
  }
521
809
 
522
810
  ox-grist {
@@ -557,6 +845,18 @@ __decorate([
557
845
  state(),
558
846
  __metadata("design:type", Object)
559
847
  ], BuildingInspectionList.prototype, "calendarData", void 0);
848
+ __decorate([
849
+ state(),
850
+ __metadata("design:type", String)
851
+ ], BuildingInspectionList.prototype, "selectedYearMonth", void 0);
852
+ __decorate([
853
+ state(),
854
+ __metadata("design:type", String)
855
+ ], BuildingInspectionList.prototype, "selectedDate", void 0);
856
+ __decorate([
857
+ state(),
858
+ __metadata("design:type", Object)
859
+ ], BuildingInspectionList.prototype, "dailyWorklog", void 0);
560
860
  __decorate([
561
861
  query('ox-grist'),
562
862
  __metadata("design:type", DataGrist)