@dssp/project 1.0.0-alpha.2 → 1.0.0-alpha.21

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