@dssp/supervision 1.0.0-alpha.8 → 1.0.0-y.0

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 (202) 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-ai-defect.d.ts +22 -0
  5. package/dist-client/pages/building-inspection/building-inspection-detail-ai-defect.js +169 -0
  6. package/dist-client/pages/building-inspection/building-inspection-detail-ai-defect.js.map +1 -0
  7. package/dist-client/pages/building-inspection/building-inspection-detail-ai-measurement.d.ts +57 -0
  8. package/dist-client/pages/building-inspection/building-inspection-detail-ai-measurement.js +825 -0
  9. package/dist-client/pages/building-inspection/building-inspection-detail-ai-measurement.js.map +1 -0
  10. package/dist-client/pages/building-inspection/building-inspection-detail-camera.d.ts +8 -6
  11. package/dist-client/pages/building-inspection/building-inspection-detail-camera.js +115 -65
  12. package/dist-client/pages/building-inspection/building-inspection-detail-camera.js.map +1 -1
  13. package/dist-client/pages/building-inspection/building-inspection-detail-checklist.d.ts +9 -0
  14. package/dist-client/pages/building-inspection/building-inspection-detail-checklist.js +130 -72
  15. package/dist-client/pages/building-inspection/building-inspection-detail-checklist.js.map +1 -1
  16. package/dist-client/pages/building-inspection/building-inspection-detail-drawing.d.ts +1 -0
  17. package/dist-client/pages/building-inspection/building-inspection-detail-drawing.js +77 -14
  18. package/dist-client/pages/building-inspection/building-inspection-detail-drawing.js.map +1 -1
  19. package/dist-client/pages/building-inspection/building-inspection-list.d.ts +18 -2
  20. package/dist-client/pages/building-inspection/building-inspection-list.js +358 -27
  21. package/dist-client/pages/building-inspection/building-inspection-list.js.map +1 -1
  22. package/dist-client/pages/building-inspection/component/building-inspection-detail-header.d.ts +3 -0
  23. package/dist-client/pages/building-inspection/component/building-inspection-detail-header.js +104 -17
  24. package/dist-client/pages/building-inspection/component/building-inspection-detail-header.js.map +1 -1
  25. package/dist-client/pages/building-inspection/component/daily-worklog-popup.d.ts +27 -0
  26. package/dist-client/pages/building-inspection/component/daily-worklog-popup.js +542 -0
  27. package/dist-client/pages/building-inspection/component/daily-worklog-popup.js.map +1 -0
  28. package/dist-client/pages/building-inspection/component/image-preview-popup.d.ts +15 -0
  29. package/dist-client/pages/building-inspection/component/image-preview-popup.js +351 -0
  30. package/dist-client/pages/building-inspection/component/image-preview-popup.js.map +1 -0
  31. package/dist-client/pages/building-inspection/component/inspection-document/inspection-request-document.d.ts +20 -0
  32. package/dist-client/pages/building-inspection/component/inspection-document/inspection-request-document.js +432 -0
  33. package/dist-client/pages/building-inspection/component/inspection-document/inspection-request-document.js.map +1 -0
  34. package/dist-client/pages/building-inspection/component/inspection-document/inspection-result-notification.d.ts +30 -0
  35. package/dist-client/pages/building-inspection/component/inspection-document/inspection-result-notification.js +479 -0
  36. package/dist-client/pages/building-inspection/component/inspection-document/inspection-result-notification.js.map +1 -0
  37. package/dist-client/pages/building-inspection/component/inspection-document/photo-album-popup.d.ts +27 -0
  38. package/dist-client/pages/building-inspection/component/inspection-document/photo-album-popup.js +416 -0
  39. package/dist-client/pages/building-inspection/component/inspection-document/photo-album-popup.js.map +1 -0
  40. package/dist-client/pages/building-inspection/component/inspection-event-provider.d.ts +2 -1
  41. package/dist-client/pages/building-inspection/component/inspection-event-provider.js +39 -17
  42. package/dist-client/pages/building-inspection/component/inspection-event-provider.js.map +1 -1
  43. package/dist-client/pages/building-inspection/inspection-create-popup.js +17 -5
  44. package/dist-client/pages/building-inspection/inspection-create-popup.js.map +1 -1
  45. package/dist-client/pages/building-inspection-grid/building-inspection-grid-detail.d.ts +16 -2
  46. package/dist-client/pages/building-inspection-grid/building-inspection-grid-detail.js +245 -43
  47. package/dist-client/pages/building-inspection-grid/building-inspection-grid-detail.js.map +1 -1
  48. package/dist-client/pages/building-inspection-grid/component/grid-inspection-create-popup.js +8 -2
  49. package/dist-client/pages/building-inspection-grid/component/grid-inspection-create-popup.js.map +1 -1
  50. package/dist-client/pages/building-inspection-grid/component/grid-inspection-list-layer.d.ts +19 -0
  51. package/dist-client/pages/building-inspection-grid/component/grid-inspection-list-layer.js +205 -0
  52. package/dist-client/pages/building-inspection-grid/component/grid-inspection-list-layer.js.map +1 -0
  53. package/dist-client/pages/checklist/attachment-list-popup.d.ts +1 -0
  54. package/dist-client/pages/checklist/attachment-list-popup.js +250 -67
  55. package/dist-client/pages/checklist/attachment-list-popup.js.map +1 -1
  56. package/dist-client/pages/checklist/checklist-view.d.ts +5 -0
  57. package/dist-client/pages/checklist/checklist-view.js +95 -18
  58. package/dist-client/pages/checklist/checklist-view.js.map +1 -1
  59. package/dist-client/pages/checklist/comment-list-popup.js +14 -3
  60. package/dist-client/pages/checklist/comment-list-popup.js.map +1 -1
  61. package/dist-client/pages/checklist/file-preview-popup.js +0 -1
  62. package/dist-client/pages/checklist/file-preview-popup.js.map +1 -1
  63. package/dist-client/pages/checklist/inspection-info-popup.d.ts +50 -0
  64. package/dist-client/pages/checklist/inspection-info-popup.js +684 -0
  65. package/dist-client/pages/checklist/inspection-info-popup.js.map +1 -0
  66. package/dist-client/pages/checklist/inspection-tab-popup.d.ts +18 -0
  67. package/dist-client/pages/checklist/inspection-tab-popup.js +196 -0
  68. package/dist-client/pages/checklist/inspection-tab-popup.js.map +1 -0
  69. package/dist-client/pages/checklist-template/checklist-template-item.js +14 -3
  70. package/dist-client/pages/checklist-template/checklist-template-item.js.map +1 -1
  71. package/dist-client/pages/checklist-template/checklist-template-list.js +1 -1
  72. package/dist-client/pages/checklist-template/checklist-template-list.js.map +1 -1
  73. package/dist-client/route.d.ts +1 -1
  74. package/dist-client/route.js +6 -0
  75. package/dist-client/route.js.map +1 -1
  76. package/dist-client/tsconfig.tsbuildinfo +1 -1
  77. package/dist-server/service/building-inspection/building-inspection-mutation.d.ts +2 -3
  78. package/dist-server/service/building-inspection/building-inspection-mutation.js +73 -35
  79. package/dist-server/service/building-inspection/building-inspection-mutation.js.map +1 -1
  80. package/dist-server/service/building-inspection/building-inspection-query.d.ts +3 -5
  81. package/dist-server/service/building-inspection/building-inspection-query.js +16 -29
  82. package/dist-server/service/building-inspection/building-inspection-query.js.map +1 -1
  83. package/dist-server/service/building-inspection/building-inspection-type.d.ts +23 -7
  84. package/dist-server/service/building-inspection/building-inspection-type.js +80 -13
  85. package/dist-server/service/building-inspection/building-inspection-type.js.map +1 -1
  86. package/dist-server/service/building-inspection/building-inspection.d.ts +4 -0
  87. package/dist-server/service/building-inspection/building-inspection.js +17 -2
  88. package/dist-server/service/building-inspection/building-inspection.js.map +1 -1
  89. package/dist-server/service/building-inspection/index.d.ts +3 -4
  90. package/dist-server/service/building-inspection/index.js +10 -3
  91. package/dist-server/service/building-inspection/index.js.map +1 -1
  92. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-mutation.d.ts +6 -0
  93. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-mutation.js +56 -0
  94. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-mutation.js.map +1 -0
  95. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-query.d.ts +16 -0
  96. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-query.js +171 -0
  97. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-query.js.map +1 -0
  98. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-type.d.ts +23 -0
  99. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-type.js +90 -0
  100. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-type.js.map +1 -0
  101. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog.d.ts +33 -0
  102. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog.js +132 -0
  103. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog.js.map +1 -0
  104. package/dist-server/service/building-inspection-daily-worklog/index.d.ts +5 -0
  105. package/dist-server/service/building-inspection-daily-worklog/index.js +9 -0
  106. package/dist-server/service/building-inspection-daily-worklog/index.js.map +1 -0
  107. package/dist-server/service/building-inspection-history/building-inspection-history-query.d.ts +16 -0
  108. package/dist-server/service/building-inspection-history/building-inspection-history-query.js +120 -0
  109. package/dist-server/service/building-inspection-history/building-inspection-history-query.js.map +1 -0
  110. package/dist-server/service/building-inspection-history/building-inspection-history-type.d.ts +5 -0
  111. package/dist-server/service/building-inspection-history/building-inspection-history-type.js +21 -0
  112. package/dist-server/service/building-inspection-history/building-inspection-history-type.js.map +1 -0
  113. package/dist-server/service/building-inspection-history/building-inspection-history.d.ts +34 -0
  114. package/dist-server/service/building-inspection-history/building-inspection-history.js +157 -0
  115. package/dist-server/service/building-inspection-history/building-inspection-history.js.map +1 -0
  116. package/dist-server/service/building-inspection-history/event-subscriber.d.ts +7 -0
  117. package/dist-server/service/building-inspection-history/event-subscriber.js +21 -0
  118. package/dist-server/service/building-inspection-history/event-subscriber.js.map +1 -0
  119. package/dist-server/service/building-inspection-history/index.d.ts +6 -0
  120. package/dist-server/service/building-inspection-history/index.js +10 -0
  121. package/dist-server/service/building-inspection-history/index.js.map +1 -0
  122. package/dist-server/service/checklist/checklist-mutation.d.ts +0 -5
  123. package/dist-server/service/checklist/checklist-mutation.js +1 -67
  124. package/dist-server/service/checklist/checklist-mutation.js.map +1 -1
  125. package/dist-server/service/checklist/checklist-query.d.ts +7 -0
  126. package/dist-server/service/checklist/checklist-query.js +83 -0
  127. package/dist-server/service/checklist/checklist-query.js.map +1 -1
  128. package/dist-server/service/checklist/checklist-type.d.ts +0 -13
  129. package/dist-server/service/checklist/checklist-type.js +1 -49
  130. package/dist-server/service/checklist/checklist-type.js.map +1 -1
  131. package/dist-server/service/checklist/checklist.d.ts +28 -3
  132. package/dist-server/service/checklist/checklist.js +89 -15
  133. package/dist-server/service/checklist/checklist.js.map +1 -1
  134. package/dist-server/service/checklist/event-subscriber.d.ts +7 -0
  135. package/dist-server/service/checklist/event-subscriber.js +21 -0
  136. package/dist-server/service/checklist/event-subscriber.js.map +1 -0
  137. package/dist-server/service/checklist/index.d.ts +1 -2
  138. package/dist-server/service/checklist/index.js +1 -2
  139. package/dist-server/service/checklist/index.js.map +1 -1
  140. package/dist-server/service/checklist-history/checklist-history-query.d.ts +11 -0
  141. package/dist-server/service/checklist-history/checklist-history-query.js +77 -0
  142. package/dist-server/service/checklist-history/checklist-history-query.js.map +1 -0
  143. package/dist-server/service/checklist-history/checklist-history-type.d.ts +5 -0
  144. package/dist-server/service/checklist-history/checklist-history-type.js +21 -0
  145. package/dist-server/service/checklist-history/checklist-history-type.js.map +1 -0
  146. package/dist-server/service/{checklist → checklist-history}/checklist-history.d.ts +19 -1
  147. package/dist-server/service/{checklist → checklist-history}/checklist-history.js +97 -14
  148. package/dist-server/service/checklist-history/checklist-history.js.map +1 -0
  149. package/dist-server/service/checklist-history/event-subscriber.d.ts +7 -0
  150. package/dist-server/service/checklist-history/event-subscriber.js +21 -0
  151. package/dist-server/service/checklist-history/event-subscriber.js.map +1 -0
  152. package/dist-server/service/checklist-history/index.d.ts +6 -0
  153. package/dist-server/service/checklist-history/index.js +10 -0
  154. package/dist-server/service/checklist-history/index.js.map +1 -0
  155. package/dist-server/service/checklist-item/checklist-item-query.d.ts +1 -1
  156. package/dist-server/service/checklist-item/checklist-item-query.js +5 -3
  157. package/dist-server/service/checklist-item/checklist-item-query.js.map +1 -1
  158. package/dist-server/service/checklist-item/index.d.ts +0 -1
  159. package/dist-server/service/checklist-item/index.js +1 -2
  160. package/dist-server/service/checklist-item/index.js.map +1 -1
  161. package/dist-server/service/checklist-item-comment/checklist-item-comment-mutation.d.ts +1 -0
  162. package/dist-server/service/checklist-item-comment/checklist-item-comment-mutation.js +33 -6
  163. package/dist-server/service/checklist-item-comment/checklist-item-comment-mutation.js.map +1 -1
  164. package/dist-server/service/checklist-item-history/checklist-item-history-query.d.ts +16 -0
  165. package/dist-server/service/checklist-item-history/checklist-item-history-query.js +123 -0
  166. package/dist-server/service/checklist-item-history/checklist-item-history-query.js.map +1 -0
  167. package/dist-server/service/checklist-item-history/checklist-item-history-type.d.ts +5 -0
  168. package/dist-server/service/checklist-item-history/checklist-item-history-type.js +21 -0
  169. package/dist-server/service/checklist-item-history/checklist-item-history-type.js.map +1 -0
  170. package/dist-server/service/checklist-item-history/checklist-item-history.d.ts +25 -0
  171. package/dist-server/service/checklist-item-history/checklist-item-history.js +123 -0
  172. package/dist-server/service/checklist-item-history/checklist-item-history.js.map +1 -0
  173. package/dist-server/service/checklist-item-history/event-subscriber.d.ts +7 -0
  174. package/dist-server/service/checklist-item-history/event-subscriber.js +21 -0
  175. package/dist-server/service/checklist-item-history/event-subscriber.js.map +1 -0
  176. package/dist-server/service/checklist-item-history/index.d.ts +6 -0
  177. package/dist-server/service/checklist-item-history/index.js +10 -0
  178. package/dist-server/service/checklist-item-history/index.js.map +1 -0
  179. package/dist-server/service/checklist-template-item/checklist-template-item-mutation.js +4 -1
  180. package/dist-server/service/checklist-template-item/checklist-template-item-mutation.js.map +1 -1
  181. package/dist-server/service/checklist-template-item/checklist-template-item-type.d.ts +2 -0
  182. package/dist-server/service/checklist-template-item/checklist-template-item-type.js +5 -0
  183. package/dist-server/service/checklist-template-item/checklist-template-item-type.js.map +1 -1
  184. package/dist-server/service/checklist-template-item/checklist-template-item.d.ts +6 -0
  185. package/dist-server/service/checklist-template-item/checklist-template-item.js +16 -1
  186. package/dist-server/service/checklist-template-item/checklist-template-item.js.map +1 -1
  187. package/dist-server/service/checklist-template-item/spec-matching-service.d.ts +2 -0
  188. package/dist-server/service/checklist-template-item/spec-matching-service.js +50 -0
  189. package/dist-server/service/checklist-template-item/spec-matching-service.js.map +1 -0
  190. package/dist-server/service/index.d.ts +4 -1
  191. package/dist-server/service/index.js +22 -3
  192. package/dist-server/service/index.js.map +1 -1
  193. package/dist-server/service/project-report/project-report.d.ts +0 -2
  194. package/dist-server/service/project-report/project-report.js +0 -6
  195. package/dist-server/service/project-report/project-report.js.map +1 -1
  196. package/dist-server/tsconfig.tsbuildinfo +1 -1
  197. package/package.json +7 -6
  198. package/things-factory.config.js +2 -0
  199. package/dist-server/service/building-inspection/building-inspection-history.d.ts +0 -17
  200. package/dist-server/service/building-inspection/building-inspection-history.js +0 -86
  201. package/dist-server/service/building-inspection/building-inspection-history.js.map +0 -1
  202. package/dist-server/service/checklist/checklist-history.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,9 @@ 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 = {};
58
72
  }
59
73
  get context() {
60
74
  return {
@@ -68,7 +82,10 @@ let BuildingInspectionList = class BuildingInspectionList extends ScopedElements
68
82
  render() {
69
83
  return html `
70
84
  <div header>
71
- <h2>${this.project.name}</h2>
85
+ <h2>
86
+ <md-icon slot="icon" back @click=${() => history.back()}>arrow_back</md-icon>
87
+ ${this.project.name}
88
+ </h2>
72
89
  </div>
73
90
 
74
91
  <div body>
@@ -115,8 +132,15 @@ let BuildingInspectionList = class BuildingInspectionList extends ScopedElements
115
132
  .mode=${'monthly'}
116
133
  .eventProvider=${this.calendarData}
117
134
  @select-date=${(e) => {
118
- // TODO 선택된 날짜의 검측데이터만 그리드에 보여야함
119
- console.log('select-date', e.detail);
135
+ this.selectedDate = moment(e.detail[0]).format('YYYY-MM-DD');
136
+ this._fetchDailyWorklog(this.selectedDate);
137
+ }}
138
+ @change-month=${(e) => {
139
+ var _a, _b, _c;
140
+ const year = e.detail.year;
141
+ 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');
142
+ this.selectedYearMonth = `${year}-${month}`;
143
+ this.grist.fetch();
120
144
  }}
121
145
  >
122
146
  </ox-event-view>
@@ -124,6 +148,15 @@ let BuildingInspectionList = class BuildingInspectionList extends ScopedElements
124
148
  </div>
125
149
 
126
150
  <div bottom>
151
+ <div daily-worklog-actions>
152
+ ${this.dailyWorklog.id
153
+ ? html `<md-filled-button green @click=${this._openDailyWorklogPopup}>
154
+ <md-icon slot="icon">edit</md-icon>일일 업무일지 수정
155
+ </md-filled-button>`
156
+ : html `<md-filled-button @click=${this._openDailyWorklogPopup}>
157
+ <md-icon slot="icon">note_add</md-icon>일일 업무일지 작성
158
+ </md-filled-button>`}
159
+ </div>
127
160
  <ox-grist .mode=${'GRID'} .config=${this.gristConfig} .fetchHandler=${this.fetchHandler.bind(this)}> </ox-grist>
128
161
  </div>
129
162
  </div>
@@ -144,6 +177,7 @@ let BuildingInspectionList = class BuildingInspectionList extends ScopedElements
144
177
  projectByBuildingLevelId(buildingLevelId: $buildingLevelId) {
145
178
  id
146
179
  name
180
+ projectType
147
181
  mainPhoto {
148
182
  fullpath
149
183
  }
@@ -177,7 +211,7 @@ let BuildingInspectionList = class BuildingInspectionList extends ScopedElements
177
211
  return;
178
212
  this.project = (_a = response.data) === null || _a === void 0 ? void 0 : _a.projectByBuildingLevelId;
179
213
  this.buildingInspectionSummary = (_b = response.data) === null || _b === void 0 ? void 0 : _b.buildingInspectionSummaryOfBuildingLevel;
180
- this.calendarData = new InspectionEventProvider(buildingLevelId);
214
+ this.calendarData = new InspectionEventProvider(buildingLevelId, this.project.id);
181
215
  // 캘린더 최소 높이 속성 수정
182
216
  this.eventView.style.setProperty('--calendar-monthly-date-min-height', '50px');
183
217
  }
@@ -186,6 +220,18 @@ let BuildingInspectionList = class BuildingInspectionList extends ScopedElements
186
220
  columns: [
187
221
  { type: 'gutter', gutterName: 'sequence' },
188
222
  { type: 'gutter', gutterName: 'row-selector', multiple: true },
223
+ {
224
+ type: 'gutter',
225
+ gutterName: 'button',
226
+ icon: 'open_in_new',
227
+ header: '상세보기',
228
+ width: 60,
229
+ handlers: {
230
+ click: (columns, data, column, record, rowIndex) => {
231
+ navigate(`building-inspection-detail-drawing/${record.id}`);
232
+ }
233
+ }
234
+ },
189
235
  {
190
236
  type: 'string',
191
237
  name: 'id',
@@ -195,13 +241,23 @@ let BuildingInspectionList = class BuildingInspectionList extends ScopedElements
195
241
  type: 'string',
196
242
  name: 'location',
197
243
  header: '위치',
198
- width: 150
244
+ width: 150,
245
+ handlers: {
246
+ click: (columns, data, column, record, rowIndex) => {
247
+ navigate(`building-inspection-detail-drawing/${record.id}`);
248
+ }
249
+ }
199
250
  },
200
251
  {
201
252
  type: 'string',
202
253
  name: 'constructionType',
203
254
  header: '공종',
204
- width: 120
255
+ width: 120,
256
+ handlers: {
257
+ click: (columns, data, column, record, rowIndex) => {
258
+ navigate(`building-inspection-detail-drawing/${record.id}`);
259
+ }
260
+ }
205
261
  },
206
262
  {
207
263
  type: 'string',
@@ -210,13 +266,23 @@ let BuildingInspectionList = class BuildingInspectionList extends ScopedElements
210
266
  record: {
211
267
  renderer: value => (value === null || value === void 0 ? void 0 : value.join(', ')) || ''
212
268
  },
213
- width: 200
269
+ width: 200,
270
+ handlers: {
271
+ click: (columns, data, column, record, rowIndex) => {
272
+ navigate(`building-inspection-detail-drawing/${record.id}`);
273
+ }
274
+ }
214
275
  },
215
276
  {
216
277
  type: 'string',
217
278
  name: 'requestDate',
218
279
  header: '검측 요청일',
219
- width: 120
280
+ width: 120,
281
+ handlers: {
282
+ click: (columns, data, column, record, rowIndex) => {
283
+ navigate(`building-inspection-detail-drawing/${record.id}`);
284
+ }
285
+ }
220
286
  },
221
287
  {
222
288
  type: 'string',
@@ -225,19 +291,79 @@ let BuildingInspectionList = class BuildingInspectionList extends ScopedElements
225
291
  record: {
226
292
  renderer: value => BUILDING_INSPECTION_STATUS_DISPLAY[value]
227
293
  },
228
- width: 120
294
+ width: 120,
295
+ handlers: {
296
+ click: (columns, data, column, record, rowIndex) => {
297
+ navigate(`building-inspection-detail-drawing/${record.id}`);
298
+ }
299
+ }
300
+ },
301
+ {
302
+ type: 'gutter',
303
+ gutterName: 'button',
304
+ icon: 'fact_check',
305
+ header: '도면',
306
+ width: 50,
307
+ handlers: {
308
+ click: (columns, data, column, record, rowIndex) => {
309
+ this._openDrawingPopup(record);
310
+ }
311
+ }
312
+ },
313
+ {
314
+ type: 'gutter',
315
+ gutterName: 'button',
316
+ icon: 'edit_square',
317
+ header: '요청서/결과통보',
318
+ width: 100,
319
+ handlers: {
320
+ click: (columns, data, column, record, rowIndex) => {
321
+ this._openInspectionRequestDocument(record.id);
322
+ }
323
+ }
324
+ },
325
+ {
326
+ type: 'gutter',
327
+ gutterName: 'button',
328
+ icon: 'task',
329
+ header: '체크리스트',
330
+ width: 70,
331
+ handlers: {
332
+ click: (columns, data, column, record, rowIndex) => {
333
+ this._openChecklistPopup(record.id);
334
+ }
335
+ }
336
+ },
337
+ {
338
+ type: 'gutter',
339
+ gutterName: 'button',
340
+ icon: 'photo_camera',
341
+ header: '사진대지',
342
+ width: 60,
343
+ handlers: {
344
+ click: (columns, data, column, record, rowIndex) => {
345
+ this._openPhotoAlbumPopup(record.checklistId);
346
+ }
347
+ }
348
+ },
349
+ {
350
+ type: 'gutter',
351
+ gutterName: 'button',
352
+ icon: 'engineering',
353
+ header: '실명부',
354
+ width: 50,
355
+ handlers: {
356
+ click: (columns, data, column, record, rowIndex) => {
357
+ this._showNameListPreview(record);
358
+ }
359
+ }
229
360
  }
230
361
  ],
231
362
  rows: {
232
363
  selectable: {
233
364
  multiple: true
234
365
  },
235
- appendable: false,
236
- handlers: {
237
- click: (columns, data, column, record, rowIndex) => {
238
- navigate(`building-inspection-detail-drawing/${record.id}`);
239
- }
240
- }
366
+ appendable: false
241
367
  },
242
368
  sorters: [{ name: 'requestDate' }]
243
369
  };
@@ -254,6 +380,8 @@ let BuildingInspectionList = class BuildingInspectionList extends ScopedElements
254
380
  id
255
381
  status
256
382
  requestDate
383
+ drawingMarker
384
+
257
385
  checklist {
258
386
  checklistId: id
259
387
  name
@@ -261,6 +389,13 @@ let BuildingInspectionList = class BuildingInspectionList extends ScopedElements
261
389
  constructionDetailType
262
390
  location
263
391
  inspectionParts
392
+ inspectionDrawingType
393
+
394
+ nameListAttachment {
395
+ id
396
+ name
397
+ fullpath
398
+ }
264
399
  }
265
400
  }
266
401
  total
@@ -286,7 +421,9 @@ let BuildingInspectionList = class BuildingInspectionList extends ScopedElements
286
421
  variables: {
287
422
  params: {
288
423
  buildingLevelId: this.buildingLevelId,
289
- limit: 0
424
+ limit: 0,
425
+ startDate: moment(this.selectedYearMonth).startOf('month').format('YYYY-MM-DD'),
426
+ endDate: moment(this.selectedYearMonth).endOf('month').format('YYYY-MM-DD')
290
427
  },
291
428
  buildingLevelId: this.buildingLevelId
292
429
  }
@@ -318,6 +455,7 @@ let BuildingInspectionList = class BuildingInspectionList extends ScopedElements
318
455
  });
319
456
  if (!response.errors) {
320
457
  this.grist.fetch();
458
+ this.initProject(this.buildingLevelId);
321
459
  notify({ message: '삭제되었습니다.' });
322
460
  }
323
461
  }
@@ -329,13 +467,12 @@ let BuildingInspectionList = class BuildingInspectionList extends ScopedElements
329
467
  .projectId=${this.project.id}
330
468
  .selectedBuildingId=${this.building.id}
331
469
  .selectedBuildingLevelId=${this.buildingLevelId}
332
- @requestRefresh="${() => this.grist.fetch()}"
470
+ @requestRefresh="${() => {
471
+ this.grist.fetch();
472
+ this.initProject(this.buildingLevelId);
473
+ }}"
333
474
  ></inspection-create-popup>
334
- `, {
335
- backdrop: true,
336
- size: 'large',
337
- title: '검측 요청서 등록'
338
- });
475
+ `, { backdrop: true, size: 'large', title: '검측 등록' });
339
476
  }
340
477
  _formatDate(date) {
341
478
  return date
@@ -347,6 +484,159 @@ let BuildingInspectionList = class BuildingInspectionList extends ScopedElements
347
484
  }).format(new Date(date))
348
485
  : '';
349
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.bind(this)}
560
+ @updatedDailyWorklog=${() => this._fetchDailyWorklog(this.selectedDate)}
561
+ ></daily-worklog-popup>`, {
562
+ backdrop: true,
563
+ size: 'large',
564
+ title: '일일 업무일지 작성'
565
+ });
566
+ }
567
+ // 캘린더 객체 재 생성하여 재 랜더링
568
+ async _refreshCalendar() {
569
+ this.calendarData = new InspectionEventProvider(this.buildingLevelId, this.project.id);
570
+ await this._fetchDailyWorklog(this.selectedDate);
571
+ }
572
+ async _fetchDailyWorklog(date = '') {
573
+ var _a;
574
+ if (!date)
575
+ return;
576
+ const response = await client.query({
577
+ query: gql `
578
+ query ($projectId: String!, $date: String!) {
579
+ buildingInspectionDailyWorklogByProjectIdAndDate(projectId: $projectId, date: $date) {
580
+ id
581
+ date
582
+ documentNo
583
+ worklogs
584
+ memo
585
+ directiveMemo
586
+ taskSupervisorySignature
587
+ overallSupervisorySignature
588
+
589
+ taskSupervisory {
590
+ id
591
+ name
592
+ }
593
+ overallSupervisory {
594
+ id
595
+ name
596
+ }
597
+
598
+ buildingInspections {
599
+ id
600
+
601
+ checklist {
602
+ overallSupervisorySignature
603
+ taskSupervisorySignature
604
+ taskSupervisory {
605
+ id
606
+ name
607
+ }
608
+ overallSupervisory {
609
+ id
610
+ name
611
+ }
612
+ }
613
+ }
614
+ }
615
+ }
616
+ `,
617
+ variables: { projectId: this.project.id, date }
618
+ });
619
+ this.dailyWorklog = ((_a = response.data) === null || _a === void 0 ? void 0 : _a.buildingInspectionDailyWorklogByProjectIdAndDate) || {};
620
+ }
621
+ async _openDrawingPopup(buildingInspection) {
622
+ const drawingImageProvider = new DrawingImageProvider();
623
+ const inspectionDrawingType = buildingInspection.checklist.inspectionDrawingType;
624
+ const drawingShapes = JSON.parse((buildingInspection === null || buildingInspection === void 0 ? void 0 : buildingInspection.drawingMarker) || null) || [];
625
+ const markers = await drawingImageProvider.getMarkers(inspectionDrawingType);
626
+ const imageUrl = String(inspectionDrawingType).normalize('NFC');
627
+ const shapes = [...drawingShapes, ...markers];
628
+ openPopup(html `<ox-image-marker-view
629
+ style="pointer-events: none;"
630
+ id="image-marker"
631
+ .imageUrl=${imageUrl}
632
+ .shapes=${shapes}
633
+ .imageProvider=${drawingImageProvider}
634
+ ></ox-image-marker-view>`, {
635
+ backdrop: true,
636
+ size: 'large',
637
+ title: '검측 도면'
638
+ });
639
+ }
350
640
  };
351
641
  BuildingInspectionList.styles = [
352
642
  ScrollbarStyles,
@@ -372,6 +662,10 @@ BuildingInspectionList.styles = [
372
662
  --md-filled-button-leading-space: 15px;
373
663
  }
374
664
 
665
+ md-filled-button[green] {
666
+ --md-filled-button-container-color: #008000;
667
+ }
668
+
375
669
  md-outlined-button {
376
670
  --md-outlined-button-container-height: 30px;
377
671
  --md-outlined-button-trailing-space: var(--spacing-medium, 8px);
@@ -387,12 +681,31 @@ BuildingInspectionList.styles = [
387
681
  display: flex;
388
682
  margin: 0px var(--spacing-large, 12px);
389
683
  margin-bottom: var(--spacing-small, 5px);
390
- }
391
684
 
392
- div[header] h2 {
393
- flex: 0.5;
394
- color: #3f71a0;
395
- font-size: 18px;
685
+ h2 {
686
+ display: flex;
687
+ gap: 7px;
688
+ flex: 0.5;
689
+ color: #3f71a0;
690
+ font-size: 18px;
691
+
692
+ md-icon[back] {
693
+ background: linear-gradient(135deg, #3f71a0 0%, #5a8cc7 100%);
694
+ color: white;
695
+ padding: 8px;
696
+ border-radius: 50%;
697
+ cursor: pointer;
698
+ box-shadow: 0 2px 8px rgba(63, 113, 160, 0.3);
699
+ width: 14px;
700
+ height: 14px;
701
+ --md-icon-size: 20px;
702
+ }
703
+
704
+ md-icon[back]:hover {
705
+ background: linear-gradient(135deg, #2e5c89 0%, #4a7bb0 100%);
706
+ box-shadow: 0 4px 12px rgba(63, 113, 160, 0.4);
707
+ }
708
+ }
396
709
  }
397
710
 
398
711
  div[body] {
@@ -518,6 +831,12 @@ BuildingInspectionList.styles = [
518
831
  flex-direction: column;
519
832
  overflow: hidden;
520
833
  min-height: 300px;
834
+ gap: 0px !important;
835
+ }
836
+
837
+ div[daily-worklog-actions] {
838
+ display: flex;
839
+ justify-content: flex-end;
521
840
  }
522
841
 
523
842
  ox-grist {
@@ -558,6 +877,18 @@ __decorate([
558
877
  state(),
559
878
  __metadata("design:type", Object)
560
879
  ], BuildingInspectionList.prototype, "calendarData", void 0);
880
+ __decorate([
881
+ state(),
882
+ __metadata("design:type", String)
883
+ ], BuildingInspectionList.prototype, "selectedYearMonth", void 0);
884
+ __decorate([
885
+ state(),
886
+ __metadata("design:type", String)
887
+ ], BuildingInspectionList.prototype, "selectedDate", void 0);
888
+ __decorate([
889
+ state(),
890
+ __metadata("design:type", Object)
891
+ ], BuildingInspectionList.prototype, "dailyWorklog", void 0);
561
892
  __decorate([
562
893
  query('ox-grist'),
563
894
  __metadata("design:type", DataGrist)