@dssp/project 1.0.0-alpha.1 → 1.0.0-alpha.16

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 (164) hide show
  1. package/dist-client/pages/lib/select2-component.js +1 -1
  2. package/dist-client/pages/lib/select2-component.js.map +1 -1
  3. package/dist-client/pages/lib/waether.d.ts +2 -1
  4. package/dist-client/pages/lib/waether.js +7 -3
  5. package/dist-client/pages/lib/waether.js.map +1 -1
  6. package/dist-client/pages/project/component/project-update-header.js.map +1 -1
  7. package/dist-client/pages/project/popup/checklist/attachment-list-popup.d.ts +1 -0
  8. package/dist-client/pages/project/popup/checklist/attachment-list-popup.js +309 -0
  9. package/dist-client/pages/project/popup/checklist/attachment-list-popup.js.map +1 -0
  10. package/dist-client/pages/project/popup/checklist/comment-list-popup.d.ts +1 -0
  11. package/dist-client/pages/project/popup/checklist/comment-list-popup.js +357 -0
  12. package/dist-client/pages/project/popup/checklist/comment-list-popup.js.map +1 -0
  13. package/dist-client/pages/project/popup/checklist/schedule-checklist-create-popup.d.ts +2 -0
  14. package/dist-client/pages/project/popup/checklist/schedule-checklist-create-popup.js +684 -0
  15. package/dist-client/pages/project/popup/checklist/schedule-checklist-create-popup.js.map +1 -0
  16. package/dist-client/pages/project/popup/checklist/schedule-checklist-view.d.ts +37 -0
  17. package/dist-client/pages/project/popup/checklist/schedule-checklist-view.js +627 -0
  18. package/dist-client/pages/project/popup/checklist/schedule-checklist-view.js.map +1 -0
  19. package/dist-client/pages/project/popup/popup-plan-export.d.ts +10 -0
  20. package/dist-client/pages/project/popup/popup-plan-export.js +236 -0
  21. package/dist-client/pages/project/popup/popup-plan-export.js.map +1 -0
  22. package/dist-client/pages/project/popup/popup-plan-upload.d.ts +3 -0
  23. package/dist-client/pages/project/popup/popup-plan-upload.js +130 -4
  24. package/dist-client/pages/project/popup/popup-plan-upload.js.map +1 -1
  25. package/dist-client/pages/project/popup/popup-project-create.js.map +1 -1
  26. package/dist-client/pages/project/popup/popup-schedule-upload.js.map +1 -1
  27. package/dist-client/pages/project/project-completed-list.js +0 -1
  28. package/dist-client/pages/project/project-completed-list.js.map +1 -1
  29. package/dist-client/pages/project/project-detail.d.ts +2 -1
  30. package/dist-client/pages/project/project-detail.js +269 -80
  31. package/dist-client/pages/project/project-detail.js.map +1 -1
  32. package/dist-client/pages/project/project-list.d.ts +12 -0
  33. package/dist-client/pages/project/project-list.js +15 -8
  34. package/dist-client/pages/project/project-list.js.map +1 -1
  35. package/dist-client/pages/project/project-plan-management.js +29 -13
  36. package/dist-client/pages/project/project-plan-management.js.map +1 -1
  37. package/dist-client/pages/project/project-schedule-list.js.map +1 -1
  38. package/dist-client/pages/project/project-schedule.d.ts +2 -0
  39. package/dist-client/pages/project/project-schedule.js +16 -1
  40. package/dist-client/pages/project/project-schedule.js.map +1 -1
  41. package/dist-client/pages/project/project-setting-list.js +25 -24
  42. package/dist-client/pages/project/project-setting-list.js.map +1 -1
  43. package/dist-client/pages/project/project-update.d.ts +1 -0
  44. package/dist-client/pages/project/project-update.js +128 -17
  45. package/dist-client/pages/project/project-update.js.map +1 -1
  46. package/dist-client/pages/resource/construction-detail-type-popup.js.map +1 -1
  47. package/dist-client/pages/resource/construction-type-management.js.map +1 -1
  48. package/dist-client/pages/resource/inspection-drawing-type-management.js.map +1 -1
  49. package/dist-client/pages/resource/inspection-part-popup.js.map +1 -1
  50. package/dist-client/pages/resource/resource-importer.js.map +1 -1
  51. package/dist-client/pages/resource/resource-list-page.js.map +1 -1
  52. package/dist-client/pages/resource/worker-type-management.js.map +1 -1
  53. package/dist-client/pages/task/task-importer.js.map +1 -1
  54. package/dist-client/pages/task/task-list-page.js.map +1 -1
  55. package/dist-client/pages/task-resource/task-resource-importer.js.map +1 -1
  56. package/dist-client/pages/task-resource/task-resource-list-page.js.map +1 -1
  57. package/dist-client/route.js.map +1 -1
  58. package/dist-client/tsconfig.tsbuildinfo +1 -1
  59. package/dist-server/controllers/export-tasks.js +1 -2
  60. package/dist-server/controllers/export-tasks.js.map +1 -1
  61. package/dist-server/controllers/import-task.js +1 -2
  62. package/dist-server/controllers/import-task.js.map +1 -1
  63. package/dist-server/controllers/parse-excel.d.ts +0 -2
  64. package/dist-server/controllers/parse-excel.js +1 -2
  65. package/dist-server/controllers/parse-excel.js.map +1 -1
  66. package/dist-server/middlewares/index.js +1 -2
  67. package/dist-server/middlewares/index.js.map +1 -1
  68. package/dist-server/migrations/1723861466413-seed-roles.js.map +1 -1
  69. package/dist-server/migrations/1723861466414-seed-codes.js.map +1 -1
  70. package/dist-server/migrations/1723861476419-seed-resources.js.map +1 -1
  71. package/dist-server/migrations/1723861478420-seed-/bsample-project.js.map +1 -1
  72. package/dist-server/migrations/1723861478421-seed-/bsample-tasks.js.map +1 -1
  73. package/dist-server/service/construction-detail-type/construction-detail-type-mutation.js +2 -2
  74. package/dist-server/service/construction-detail-type/construction-detail-type-mutation.js.map +1 -1
  75. package/dist-server/service/construction-detail-type/construction-detail-type-query.js +2 -2
  76. package/dist-server/service/construction-detail-type/construction-detail-type-query.js.map +1 -1
  77. package/dist-server/service/construction-detail-type/construction-detail-type-type.js +4 -4
  78. package/dist-server/service/construction-detail-type/construction-detail-type-type.js.map +1 -1
  79. package/dist-server/service/construction-detail-type/construction-detail-type.js +2 -2
  80. package/dist-server/service/construction-detail-type/construction-detail-type.js.map +1 -1
  81. package/dist-server/service/construction-type/construction-type-mutation.js +2 -2
  82. package/dist-server/service/construction-type/construction-type-mutation.js.map +1 -1
  83. package/dist-server/service/construction-type/construction-type-query.js +2 -2
  84. package/dist-server/service/construction-type/construction-type-query.js.map +1 -1
  85. package/dist-server/service/construction-type/construction-type-type.js +4 -4
  86. package/dist-server/service/construction-type/construction-type-type.js.map +1 -1
  87. package/dist-server/service/construction-type/construction-type.js +2 -2
  88. package/dist-server/service/construction-type/construction-type.js.map +1 -1
  89. package/dist-server/service/index.d.ts +1 -0
  90. package/dist-server/service/index.js +1 -0
  91. package/dist-server/service/index.js.map +1 -1
  92. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-mutation.js +2 -2
  93. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-mutation.js.map +1 -1
  94. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-query.js +2 -2
  95. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-query.js.map +1 -1
  96. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-type.js +4 -4
  97. package/dist-server/service/inspection-drawing-type/inspection-drawing-type-type.js.map +1 -1
  98. package/dist-server/service/inspection-drawing-type/inspection-drawing-type.js +2 -2
  99. package/dist-server/service/inspection-drawing-type/inspection-drawing-type.js.map +1 -1
  100. package/dist-server/service/inspection-part/inspection-part-mutation.js +2 -2
  101. package/dist-server/service/inspection-part/inspection-part-mutation.js.map +1 -1
  102. package/dist-server/service/inspection-part/inspection-part-query.js +2 -2
  103. package/dist-server/service/inspection-part/inspection-part-query.js.map +1 -1
  104. package/dist-server/service/inspection-part/inspection-part-type.js +4 -4
  105. package/dist-server/service/inspection-part/inspection-part-type.js.map +1 -1
  106. package/dist-server/service/inspection-part/inspection-part.js +2 -2
  107. package/dist-server/service/inspection-part/inspection-part.js.map +1 -1
  108. package/dist-server/service/manager/index.d.ts +2 -0
  109. package/dist-server/service/manager/index.js +3 -1
  110. package/dist-server/service/manager/index.js.map +1 -1
  111. package/dist-server/service/manager/manager-mutation.js +2 -2
  112. package/dist-server/service/manager/manager-mutation.js.map +1 -1
  113. package/dist-server/service/manager/manager-query.js +3 -3
  114. package/dist-server/service/manager/manager-query.js.map +1 -1
  115. package/dist-server/service/manager/manager-type.js +4 -4
  116. package/dist-server/service/manager/manager-type.js.map +1 -1
  117. package/dist-server/service/manager/manager.js +2 -2
  118. package/dist-server/service/manager/manager.js.map +1 -1
  119. package/dist-server/service/project/project-mutation.d.ts +1 -0
  120. package/dist-server/service/project/project-mutation.js +109 -15
  121. package/dist-server/service/project/project-mutation.js.map +1 -1
  122. package/dist-server/service/project/project-query.d.ts +1 -0
  123. package/dist-server/service/project/project-query.js +14 -3
  124. package/dist-server/service/project/project-query.js.map +1 -1
  125. package/dist-server/service/project/project-type.d.ts +1 -0
  126. package/dist-server/service/project/project-type.js +13 -9
  127. package/dist-server/service/project/project-type.js.map +1 -1
  128. package/dist-server/service/project/project.d.ts +6 -0
  129. package/dist-server/service/project/project.js +15 -4
  130. package/dist-server/service/project/project.js.map +1 -1
  131. package/dist-server/service/resource/resource-mutation.js +2 -2
  132. package/dist-server/service/resource/resource-mutation.js.map +1 -1
  133. package/dist-server/service/resource/resource-query.js +2 -2
  134. package/dist-server/service/resource/resource-query.js.map +1 -1
  135. package/dist-server/service/resource/resource-type.js +6 -6
  136. package/dist-server/service/resource/resource-type.js.map +1 -1
  137. package/dist-server/service/resource/resource.js +3 -3
  138. package/dist-server/service/resource/resource.js.map +1 -1
  139. package/dist-server/service/task/task-mutation.js +2 -2
  140. package/dist-server/service/task/task-mutation.js.map +1 -1
  141. package/dist-server/service/task/task-query.js +4 -4
  142. package/dist-server/service/task/task-query.js.map +1 -1
  143. package/dist-server/service/task/task-type.js +10 -10
  144. package/dist-server/service/task/task-type.js.map +1 -1
  145. package/dist-server/service/task/task.js +7 -8
  146. package/dist-server/service/task/task.js.map +1 -1
  147. package/dist-server/service/task-resource/task-resource-mutation.js +2 -2
  148. package/dist-server/service/task-resource/task-resource-mutation.js.map +1 -1
  149. package/dist-server/service/task-resource/task-resource-query.js +2 -2
  150. package/dist-server/service/task-resource/task-resource-query.js.map +1 -1
  151. package/dist-server/service/task-resource/task-resource-type.js +6 -6
  152. package/dist-server/service/task-resource/task-resource-type.js.map +1 -1
  153. package/dist-server/service/task-resource/task-resource.js +2 -2
  154. package/dist-server/service/task-resource/task-resource.js.map +1 -1
  155. package/dist-server/service/worker-type/worker-type-mutation.js +2 -2
  156. package/dist-server/service/worker-type/worker-type-mutation.js.map +1 -1
  157. package/dist-server/service/worker-type/worker-type-query.js +2 -2
  158. package/dist-server/service/worker-type/worker-type-query.js.map +1 -1
  159. package/dist-server/service/worker-type/worker-type-type.js +4 -4
  160. package/dist-server/service/worker-type/worker-type-type.js.map +1 -1
  161. package/dist-server/service/worker-type/worker-type.js +2 -2
  162. package/dist-server/service/worker-type/worker-type.js.map +1 -1
  163. package/dist-server/tsconfig.tsbuildinfo +1 -1
  164. package/package.json +13 -11
@@ -0,0 +1,684 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import '@material/web/icon/icon.js';
3
+ import '@operato/data-grist/ox-grist.js';
4
+ import gql from 'graphql-tag';
5
+ import { css, html, LitElement } from 'lit';
6
+ import { customElement, property, query, state } from 'lit/decorators.js';
7
+ import { DataGrist } from '@operato/data-grist/ox-grist.js';
8
+ import { client } from '@operato/graphql';
9
+ import { ButtonContainerStyles, ScrollbarStyles } from '@operato/styles';
10
+ import { notify } from '@operato/layout';
11
+ import { BuildingInspectionStatus, CHECKLIST_MAIN_TYPE_LIST, ChecklistReferenceType } from './schedule-checklist-view';
12
+ let ScheduleChecklistCreatePopup = class ScheduleChecklistCreatePopup extends LitElement {
13
+ constructor() {
14
+ super(...arguments);
15
+ this.projectId = '';
16
+ this.taskCode = '';
17
+ this.gristConfig = {};
18
+ this.checklistDetailTypes = [];
19
+ this.checklistTemplateId = '';
20
+ this.constructionTypes = [];
21
+ this.selectedConstructionType = {};
22
+ this.selectedConstructionDetailType = {};
23
+ this.managers = [];
24
+ this.selectedManager = {};
25
+ this.checklistTemplates = [];
26
+ this.checklist = {};
27
+ this.activeTab = 'edit';
28
+ }
29
+ render() {
30
+ var _a, _b, _c, _d, _e, _f;
31
+ return html `
32
+ <div body>
33
+ <div tab-container ?inactive=${this.activeTab !== 'edit'} edit>
34
+ <div detail>
35
+ <h3>세부 정보</h3>
36
+
37
+ <div data-row>
38
+ <label>공종</label>
39
+ <md-filled-select constructionType @change=${this._onSelectConstructionType}>
40
+ ${(_a = this.constructionTypes) === null || _a === void 0 ? void 0 : _a.map(constructionType => {
41
+ var _a;
42
+ const selected = constructionType.id === ((_a = this.selectedConstructionType) === null || _a === void 0 ? void 0 : _a.id);
43
+ return html `<md-select-option ?selected=${selected} .value=${constructionType.id}>
44
+ <div slot="headline">${constructionType.name}</div>
45
+ </md-select-option>`;
46
+ })}
47
+ </md-filled-select>
48
+
49
+ <div partition></div>
50
+
51
+ <label>세부 공종</label>
52
+ <md-filled-select constructionDetailType @change=${this._onSelectConstructionDetailType}>
53
+ ${(_c = (_b = this.selectedConstructionType) === null || _b === void 0 ? void 0 : _b.constructionDetailTypes) === null || _c === void 0 ? void 0 : _c.map(constructionDetailType => {
54
+ const selected = constructionDetailType.id === this.selectedConstructionDetailType.id;
55
+ return html `<md-select-option ?selected=${selected} .value=${constructionDetailType.id}>
56
+ <div slot="headline">${constructionDetailType.name}</div>
57
+ </md-select-option>`;
58
+ })}
59
+ </md-filled-select>
60
+ </div>
61
+ </div>
62
+
63
+ <div checklist>
64
+ <h3>체크리스트</h3>
65
+
66
+ <div data-row>
67
+ <label>이름</label>
68
+ <md-filled-text-field
69
+ name="checklistName"
70
+ type="text"
71
+ .value=${((_d = this.checklist) === null || _d === void 0 ? void 0 : _d.name) || ''}
72
+ @input=${this._onInputChange}
73
+ >
74
+ </md-filled-text-field>
75
+
76
+ <div partition></div>
77
+
78
+ <label>템플릿</label>
79
+ <md-filled-select checklistTemplate @change=${this._onSelectChecklistTemplate}>
80
+ <md-select-option></md-select-option>
81
+ ${(_e = this.checklistTemplates) === null || _e === void 0 ? void 0 : _e.map((checklistTemplate, idx) => {
82
+ return html ` <md-select-option .value=${checklistTemplate.id}>
83
+ <div slot="headline">${checklistTemplate.name}</div>
84
+ </md-select-option>`;
85
+ })}
86
+ </md-filled-select>
87
+ </div>
88
+ </div>
89
+
90
+ <div manager>
91
+ <h3>담당자</h3>
92
+
93
+ <div data-row>
94
+ <label>담당자</label>
95
+ <md-filled-select manager @change=${this._onSelectManager}>
96
+ <md-select-option></md-select-option>
97
+ ${(_f = this.managers) === null || _f === void 0 ? void 0 : _f.map((manager, idx) => {
98
+ return html ` <md-select-option .value=${manager.userId}>
99
+ <div slot="headline">${manager.name}</div>
100
+ </md-select-option>`;
101
+ })}
102
+ </md-filled-select>
103
+ </div>
104
+ </div>
105
+
106
+ <ox-grist
107
+ .mode=${'GRID'}
108
+ .config=${this.gristConfig}
109
+ .fetchHandler=${this.fetchHandler.bind(this)}
110
+ @field-change=${this.onChangeGird}
111
+ >
112
+ </ox-grist>
113
+ </div>
114
+
115
+ <div tab-container ?inactive=${this.activeTab !== 'preview'} preview>
116
+ <schedule-checklist-view .mode=${"VIEWER" /* ChecklistMode.VIEWER */} .checklist=${this.checklist}></schedule-checklist-view>
117
+ </div>
118
+ </div>
119
+
120
+ <div tabs>
121
+ <button ?active=${this.activeTab === 'edit'} @click=${() => (this.activeTab = 'edit')}>검측 요청 정보</button>
122
+ <button ?active=${this.activeTab === 'preview'} @click=${() => (this.activeTab = 'preview')}>미리보기</button>
123
+ </div>
124
+
125
+ <div button-container>
126
+ <md-elevated-button blue @click=${this._createInspection}>
127
+ <md-icon slot="icon">task</md-icon>검측 요청서 등록
128
+ </md-elevated-button>
129
+ <md-elevated-button @click=${this._close}> <md-icon slot="icon">cancel</md-icon>취소</md-elevated-button>
130
+ </div>
131
+ `;
132
+ }
133
+ updated() {
134
+ var _a, _b;
135
+ const ratio = Math.round((((_a = this.checklistViewContainer) === null || _a === void 0 ? void 0 : _a.offsetWidth) / ((_b = this.checklistView) === null || _b === void 0 ? void 0 : _b.offsetWidth)) * 100) / 100 || 1;
136
+ this.checklistView.style.transform = `scale(${ratio})`;
137
+ }
138
+ async firstUpdated() {
139
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
140
+ const response = await client.query({
141
+ query: gql `
142
+ query Project($id: String!) {
143
+ project(id: $id) {
144
+ id
145
+ name
146
+ buildingComplex {
147
+ id
148
+ buildings {
149
+ id
150
+ name
151
+ }
152
+ }
153
+ }
154
+
155
+ constructionTypes {
156
+ items {
157
+ name
158
+ id
159
+ }
160
+ }
161
+
162
+ checklistTemplates {
163
+ items {
164
+ id
165
+ name
166
+ }
167
+ }
168
+
169
+ checklistTypes {
170
+ items {
171
+ id
172
+ mainType
173
+ detailType
174
+ }
175
+ }
176
+
177
+ managers {
178
+ id
179
+ phone
180
+ position
181
+ userId
182
+ name
183
+ }
184
+ }
185
+ `,
186
+ variables: {
187
+ id: this.projectId
188
+ }
189
+ });
190
+ if (response.errors)
191
+ return;
192
+ const project = (_a = response.data) === null || _a === void 0 ? void 0 : _a.project;
193
+ const checklistTemplates = ((_c = (_b = response.data) === null || _b === void 0 ? void 0 : _b.checklistTemplates) === null || _c === void 0 ? void 0 : _c.items) || [];
194
+ const constructionTypes = ((_e = (_d = response.data) === null || _d === void 0 ? void 0 : _d.constructionTypes) === null || _e === void 0 ? void 0 : _e.items) || [];
195
+ this.managers = (_f = response.data) === null || _f === void 0 ? void 0 : _f.managers;
196
+ this.checklistDetailTypes = (_h = (_g = response.data.checklistTypes) === null || _g === void 0 ? void 0 : _g.items) === null || _h === void 0 ? void 0 : _h.map(v => {
197
+ return {
198
+ display: v.detailType,
199
+ value: v.id,
200
+ mainType: v.mainType
201
+ };
202
+ });
203
+ this.constructionTypes = [...constructionTypes];
204
+ this.checklistTemplates = [...checklistTemplates];
205
+ this.selectedConstructionType = constructionTypes === null || constructionTypes === void 0 ? void 0 : constructionTypes[0];
206
+ // 세부 공종 리스트 가져오기
207
+ this.selectedConstructionType = await this._getConstructionType(this.selectedConstructionType.id);
208
+ this.selectedConstructionDetailType = (_k = (_j = this.selectedConstructionType) === null || _j === void 0 ? void 0 : _j.constructionDetailTypes) === null || _k === void 0 ? void 0 : _k[0];
209
+ this.selectedConstructionType = await Object.assign({}, this.selectedConstructionType);
210
+ // 기본 값 셋팅 select
211
+ await this.htmlSelectChecklistTemplate.selectIndex(0);
212
+ await this.htmlSelectConstructionDetailType.selectIndex(0);
213
+ this.checklist = {
214
+ constructionType: (_l = this.selectedConstructionType) === null || _l === void 0 ? void 0 : _l.name,
215
+ constructionDetailType: (_m = this.selectedConstructionDetailType) === null || _m === void 0 ? void 0 : _m.name,
216
+ documentNo: '0000-000-000000',
217
+ buildingInspection: {
218
+ status: BuildingInspectionStatus.WAIT
219
+ }
220
+ };
221
+ // 그리드 셋팅
222
+ this.setGristConfig();
223
+ }
224
+ requestRefresh(buildingInspectionId = '') {
225
+ this.dispatchEvent(new CustomEvent('requestRefresh', { detail: { buildingInspectionId } }));
226
+ }
227
+ _close() {
228
+ history.back();
229
+ }
230
+ setGristConfig() {
231
+ this.gristConfig = {
232
+ columns: [
233
+ { type: 'gutter', gutterName: 'row-selector', multiple: true },
234
+ {
235
+ type: 'gutter',
236
+ gutterName: 'button',
237
+ icon: 'arrow_upward',
238
+ handlers: {
239
+ click: 'move-up'
240
+ }
241
+ },
242
+ {
243
+ type: 'gutter',
244
+ gutterName: 'button',
245
+ icon: 'arrow_downward',
246
+ handlers: {
247
+ click: 'move-down'
248
+ }
249
+ },
250
+ {
251
+ type: 'select',
252
+ name: 'mainType',
253
+ header: '구분',
254
+ record: {
255
+ editable: true,
256
+ options: [{ display: '', value: '' }].concat(Object.keys(CHECKLIST_MAIN_TYPE_LIST).map(key => ({ display: CHECKLIST_MAIN_TYPE_LIST[key], value: key })))
257
+ },
258
+ width: 100
259
+ },
260
+ {
261
+ type: 'select',
262
+ name: 'detailType',
263
+ header: '상세 구분',
264
+ record: {
265
+ editable: true,
266
+ options: (columns, data, column) => [
267
+ { display: '', value: '' },
268
+ ...this.checklistDetailTypes.filter(v => v.mainType == column.mainType)
269
+ ]
270
+ },
271
+ width: 200
272
+ },
273
+ {
274
+ type: 'string',
275
+ name: 'name',
276
+ header: '검사 항목',
277
+ record: {
278
+ editable: true
279
+ },
280
+ width: 200
281
+ },
282
+ {
283
+ type: 'string',
284
+ name: 'inspctionCriteria',
285
+ header: '검사 기준',
286
+ record: {
287
+ editable: true
288
+ },
289
+ width: 200
290
+ }
291
+ ],
292
+ pagination: {
293
+ infinite: true
294
+ },
295
+ sorters: [{ name: 'mainType' }, { name: 'sequence' }]
296
+ };
297
+ }
298
+ async fetchHandler() {
299
+ if (!this.checklistTemplateId)
300
+ return [];
301
+ const response = await client.query({
302
+ query: gql `
303
+ query ($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {
304
+ checklistTemplateItems(filters: $filters, pagination: $pagination, sortings: $sortings) {
305
+ items {
306
+ id
307
+ sequence
308
+ name
309
+ inspctionCriteria
310
+ mainType
311
+ detailType
312
+ }
313
+ }
314
+ }
315
+ `,
316
+ variables: {
317
+ filters: {
318
+ name: 'checklistTemplateId',
319
+ value: this.checklistTemplateId,
320
+ operator: 'eq'
321
+ },
322
+ sortings: [{ name: 'mainType' }, { name: 'sequence' }]
323
+ }
324
+ });
325
+ // 체크리스트 아이템 데이터 갱신
326
+ this.onChangeGird();
327
+ return {
328
+ records: response.data.checklistTemplateItems.items || []
329
+ };
330
+ }
331
+ async _getBuilding(buildingId = '') {
332
+ var _a;
333
+ const response = await client.query({
334
+ query: gql `
335
+ query Building($id: String!) {
336
+ building(id: $id) {
337
+ id
338
+ name
339
+ buildingLevels {
340
+ id
341
+ floor
342
+ floorDisplayName
343
+ mainDrawing {
344
+ id
345
+ name
346
+ fullpath
347
+ }
348
+ mainDrawingImage
349
+ }
350
+ }
351
+ }
352
+ `,
353
+ variables: {
354
+ id: buildingId
355
+ }
356
+ });
357
+ if (response.errors)
358
+ return;
359
+ return ((_a = response.data) === null || _a === void 0 ? void 0 : _a.building) || {};
360
+ }
361
+ _onSelectChecklistTemplate(e) {
362
+ const checklistTemplateId = e.target.value;
363
+ // 체크 리스트 이름 셋팅
364
+ this.checklist = Object.assign(Object.assign({}, this.checklist), { name: e.target.displayText });
365
+ // 그리드 아이템 셋팅
366
+ if (checklistTemplateId) {
367
+ this.checklistTemplateId = checklistTemplateId;
368
+ this.grist.fetch();
369
+ }
370
+ }
371
+ _onSelectManager(e) {
372
+ const managerId = e.target.value;
373
+ this.selectedManager = this.managers.find(manager => manager.userId == managerId);
374
+ }
375
+ async _createInspection() {
376
+ var _a, _b, _c;
377
+ let patch = {};
378
+ patch.managerId = this.selectedManager.userId;
379
+ patch.checklist = {
380
+ name: this.checklist.name,
381
+ constructionType: this.htmlSelectConstructionType.displayText,
382
+ constructionDetailType: this.htmlSelectConstructionDetailType.displayText,
383
+ inspectionParts: this.checklist.inspectionParts,
384
+ checklistReferenceType: ChecklistReferenceType.SCHEDULE,
385
+ taskCode: this.taskCode,
386
+ projectId: this.projectId
387
+ };
388
+ patch.checklistItem = (_a = this.checklist.checklistItems) === null || _a === void 0 ? void 0 : _a.map(item => {
389
+ return {
390
+ name: item.name,
391
+ mainType: item.mainType,
392
+ detailType: item.detailType,
393
+ inspctionCriteria: item.inspctionCriteria
394
+ };
395
+ });
396
+ const response = await client.mutate({
397
+ mutation: gql `
398
+ mutation CreateBuildingInspection($patch: NewBuildingInspection!) {
399
+ createBuildingInspection(patch: $patch) {
400
+ id
401
+ }
402
+ }
403
+ `,
404
+ variables: {
405
+ patch
406
+ }
407
+ });
408
+ if (!response.errors) {
409
+ notify({ message: '검측 요청서를 등록하였습니다.' });
410
+ this.requestRefresh(response.data.createBuildingInspection.id);
411
+ this._close();
412
+ }
413
+ else {
414
+ notify({ message: ((_c = (_b = response.errors) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.message) || '검측 요청서 등록에 실패하였습니다.', level: 'error' });
415
+ }
416
+ }
417
+ // Input 요소의 값이 변경될 때 호출되는 콜백 함수
418
+ _onInputChange(event) {
419
+ const target = event.target;
420
+ this[target.name] = target.value;
421
+ this.checklist = Object.assign(Object.assign({}, this.checklist), { name: target.value });
422
+ }
423
+ // 체크리스트 아이템 데이터 갱신
424
+ onChangeGird() {
425
+ const checklistDetailTypes = Object.fromEntries(this.checklistDetailTypes.map(item => [item.value, item.display]));
426
+ const grist = this.grist;
427
+ // grist field-change가 오는 시점이 데이터 변경 전이라 setTimeout으로 변경
428
+ setTimeout(() => {
429
+ this.checklist.checklistItems = grist.dirtyData.records.map((row, idx) => {
430
+ return Object.assign(Object.assign({}, row), { detailType: checklistDetailTypes[row.detailType], sequence: idx });
431
+ });
432
+ this.checklist = Object.assign({}, this.checklist);
433
+ }, 100);
434
+ }
435
+ async _onSelectConstructionType(e) {
436
+ var _a, _b, _c, _d;
437
+ const constructionTypeId = e.target.value;
438
+ this.selectedConstructionType = await this._getConstructionType(constructionTypeId);
439
+ this.selectedConstructionDetailType = await Object.assign({}, (_b = (_a = this.selectedConstructionType) === null || _a === void 0 ? void 0 : _a.constructionDetailTypes) === null || _b === void 0 ? void 0 : _b[0]);
440
+ this.checklist = Object.assign(Object.assign({}, this.checklist), { constructionType: (_c = this.selectedConstructionType) === null || _c === void 0 ? void 0 : _c.name, constructionDetailType: (_d = this.selectedConstructionDetailType) === null || _d === void 0 ? void 0 : _d.name });
441
+ await this.htmlSelectConstructionDetailType.selectIndex(0);
442
+ }
443
+ _onSelectConstructionDetailType(e) {
444
+ var _a, _b, _c, _d;
445
+ const constructionDetailTypeId = e.target.value;
446
+ this.selectedConstructionDetailType = Object.assign({}, (((_b = (_a = this.selectedConstructionType) === null || _a === void 0 ? void 0 : _a.constructionDetailTypes) === null || _b === void 0 ? void 0 : _b.find(v => v.id == constructionDetailTypeId)) || {}));
447
+ this.checklist = Object.assign(Object.assign({}, this.checklist), { constructionType: (_c = this.selectedConstructionType) === null || _c === void 0 ? void 0 : _c.name, constructionDetailType: (_d = this.selectedConstructionDetailType) === null || _d === void 0 ? void 0 : _d.name });
448
+ }
449
+ async _getConstructionType(id = '') {
450
+ var _a;
451
+ const response = await client.query({
452
+ query: gql `
453
+ query ConstructionType($id: String!) {
454
+ constructionType(id: $id) {
455
+ id
456
+ name
457
+ description
458
+ constructionDetailTypes {
459
+ id
460
+ name
461
+ }
462
+ }
463
+ }
464
+ `,
465
+ variables: { id }
466
+ });
467
+ if (response.errors)
468
+ return;
469
+ return ((_a = response.data) === null || _a === void 0 ? void 0 : _a.constructionType) || {};
470
+ }
471
+ };
472
+ ScheduleChecklistCreatePopup.styles = [
473
+ ButtonContainerStyles,
474
+ ScrollbarStyles,
475
+ css `
476
+ :host {
477
+ display: flex;
478
+ flex-direction: column;
479
+ padding: 15px 20px;
480
+
481
+ background-color: var(--md-sys-color-surface);
482
+ }
483
+
484
+ md-filled-select {
485
+ width: auto;
486
+ min-width: 150px;
487
+ --md-filled-select-text-field-container-color: transparent;
488
+ --md-filled-select-text-field-active-indicator-color: #999;
489
+ --md-filled-select-text-field-input-text-size: 14px;
490
+ --md-filled-select-text-field-input-text-weight: bold;
491
+ --md-filled-select-text-field-input-text-line-height: 6px;
492
+ }
493
+ md-filled-select[level] {
494
+ min-width: 110px;
495
+ margin-left: 20px;
496
+ }
497
+
498
+ checklist-view {
499
+ pointer-events: none;
500
+ transform-origin: top left;
501
+ }
502
+
503
+ div[body] {
504
+ height: 100%;
505
+ overflow-y: auto;
506
+
507
+ div[tab-container][inactive] {
508
+ display: none !important;
509
+ }
510
+
511
+ div[edit] {
512
+ width: 100%;
513
+
514
+ div[detail] {
515
+ margin-bottom: 30px;
516
+ }
517
+
518
+ h3 {
519
+ position: relative;
520
+ color: #0595e5;
521
+ font-size: 17px;
522
+ font-weight: 700;
523
+ background-color: var(--md-sys-color-surface);
524
+ margin-top: 0;
525
+ margin-bottom: 5px;
526
+ }
527
+
528
+ div[data-row] {
529
+ display: grid;
530
+ grid-template-columns: 100px 1fr 0.3fr 100px 1fr;
531
+ gap: 15px;
532
+ margin-bottom: 11px;
533
+
534
+ & > label {
535
+ display: flex;
536
+ justify-content: flex-end;
537
+ align-items: center;
538
+ font-size: 15px;
539
+ }
540
+
541
+ div[inspection-parts] {
542
+ display: block;
543
+ margin-top: 7px;
544
+
545
+ & > span {
546
+ display: inline-block;
547
+ margin-right: 5px;
548
+ margin-bottom: 5px;
549
+
550
+ & > md-checkbox {
551
+ margin-top: 2px;
552
+ }
553
+ }
554
+ }
555
+ }
556
+ }
557
+
558
+ div[preview] {
559
+ display: flex;
560
+ overflow-y: auto;
561
+ overflow-x: hidden;
562
+ }
563
+ }
564
+
565
+ div[tabs] {
566
+ display: flex;
567
+
568
+ button {
569
+ background-color: #fff;
570
+ padding: 6px 14px;
571
+ color: #999;
572
+ border: solid 1px #999;
573
+ border-top: none;
574
+ border-radius: 0px 0px 8px 8px;
575
+ margin-right: -2px;
576
+ cursor: pointer;
577
+
578
+ &[active] {
579
+ color: var(--button-color, var(--md-sys-color-on-secondary-container));
580
+ font-weight: 600;
581
+ }
582
+ }
583
+ }
584
+
585
+ div[button-container] {
586
+ display: flex;
587
+ justify-content: flex-end;
588
+ gap: 10px;
589
+
590
+ md-elevated-button[blue] {
591
+ --md-elevated-button-container-color: #0595e5;
592
+
593
+ --md-elevated-button-label-text-color: #fff;
594
+ --md-elevated-button-hover-label-text-color: #fff;
595
+ --md-elevated-button-pressed-label-text-color: #fff;
596
+ --md-elevated-button-focus-label-text-color: #fff;
597
+ --md-elevated-button-icon-color: #fff;
598
+ --md-elevated-button-hover-icon-color: #fff;
599
+ --md-elevated-button-pressed-icon-color: #fff;
600
+ --md-elevated-button-focus-icon-color: #fff;
601
+ }
602
+ }
603
+ `
604
+ ];
605
+ __decorate([
606
+ property({ type: String }),
607
+ __metadata("design:type", String)
608
+ ], ScheduleChecklistCreatePopup.prototype, "projectId", void 0);
609
+ __decorate([
610
+ property({ type: String }),
611
+ __metadata("design:type", String)
612
+ ], ScheduleChecklistCreatePopup.prototype, "taskCode", void 0);
613
+ __decorate([
614
+ state(),
615
+ __metadata("design:type", Object)
616
+ ], ScheduleChecklistCreatePopup.prototype, "gristConfig", void 0);
617
+ __decorate([
618
+ state(),
619
+ __metadata("design:type", Object)
620
+ ], ScheduleChecklistCreatePopup.prototype, "checklistDetailTypes", void 0);
621
+ __decorate([
622
+ state(),
623
+ __metadata("design:type", String)
624
+ ], ScheduleChecklistCreatePopup.prototype, "checklistTemplateId", void 0);
625
+ __decorate([
626
+ state(),
627
+ __metadata("design:type", Object)
628
+ ], ScheduleChecklistCreatePopup.prototype, "constructionTypes", void 0);
629
+ __decorate([
630
+ state(),
631
+ __metadata("design:type", Object)
632
+ ], ScheduleChecklistCreatePopup.prototype, "selectedConstructionType", void 0);
633
+ __decorate([
634
+ state(),
635
+ __metadata("design:type", Object)
636
+ ], ScheduleChecklistCreatePopup.prototype, "selectedConstructionDetailType", void 0);
637
+ __decorate([
638
+ state(),
639
+ __metadata("design:type", Object)
640
+ ], ScheduleChecklistCreatePopup.prototype, "managers", void 0);
641
+ __decorate([
642
+ state(),
643
+ __metadata("design:type", Object)
644
+ ], ScheduleChecklistCreatePopup.prototype, "selectedManager", void 0);
645
+ __decorate([
646
+ state(),
647
+ __metadata("design:type", Object)
648
+ ], ScheduleChecklistCreatePopup.prototype, "checklistTemplates", void 0);
649
+ __decorate([
650
+ state(),
651
+ __metadata("design:type", Object)
652
+ ], ScheduleChecklistCreatePopup.prototype, "checklist", void 0);
653
+ __decorate([
654
+ state(),
655
+ __metadata("design:type", String)
656
+ ], ScheduleChecklistCreatePopup.prototype, "activeTab", void 0);
657
+ __decorate([
658
+ query('md-filled-select[checklistTemplate]'),
659
+ __metadata("design:type", Object)
660
+ ], ScheduleChecklistCreatePopup.prototype, "htmlSelectChecklistTemplate", void 0);
661
+ __decorate([
662
+ query('md-filled-select[constructionType]'),
663
+ __metadata("design:type", Object)
664
+ ], ScheduleChecklistCreatePopup.prototype, "htmlSelectConstructionType", void 0);
665
+ __decorate([
666
+ query('md-filled-select[constructionDetailType]'),
667
+ __metadata("design:type", Object)
668
+ ], ScheduleChecklistCreatePopup.prototype, "htmlSelectConstructionDetailType", void 0);
669
+ __decorate([
670
+ query('ox-grist'),
671
+ __metadata("design:type", DataGrist)
672
+ ], ScheduleChecklistCreatePopup.prototype, "grist", void 0);
673
+ __decorate([
674
+ query('div[preview]'),
675
+ __metadata("design:type", HTMLDivElement)
676
+ ], ScheduleChecklistCreatePopup.prototype, "checklistViewContainer", void 0);
677
+ __decorate([
678
+ query('schedule-checklist-view'),
679
+ __metadata("design:type", HTMLElement)
680
+ ], ScheduleChecklistCreatePopup.prototype, "checklistView", void 0);
681
+ ScheduleChecklistCreatePopup = __decorate([
682
+ customElement('schedule-checklist-create-popup')
683
+ ], ScheduleChecklistCreatePopup);
684
+ //# sourceMappingURL=schedule-checklist-create-popup.js.map