@dssp/project 0.0.31 → 0.0.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/client/pages/lib/select2-component.ts +21 -16
- package/client/pages/project/component/project-update-header.ts +16 -13
- package/client/pages/project/project-detail.ts +74 -60
- package/client/pages/project/project-plan-management.ts +39 -29
- package/client/pages/project/project-schedule.ts +4 -3
- package/client/pages/project/project-setting-list.ts +9 -9
- package/client/pages/project/project-update.ts +53 -29
- package/dist-client/pages/lib/select2-component.js +21 -16
- package/dist-client/pages/lib/select2-component.js.map +1 -1
- package/dist-client/pages/project/component/project-update-header.js +16 -13
- package/dist-client/pages/project/component/project-update-header.js.map +1 -1
- package/dist-client/pages/project/project-detail.js +74 -60
- package/dist-client/pages/project/project-detail.js.map +1 -1
- package/dist-client/pages/project/project-plan-management.js +39 -29
- package/dist-client/pages/project/project-plan-management.js.map +1 -1
- package/dist-client/pages/project/project-schedule.js +4 -3
- package/dist-client/pages/project/project-schedule.js.map +1 -1
- package/dist-client/pages/project/project-setting-list.js +9 -9
- package/dist-client/pages/project/project-setting-list.js.map +1 -1
- package/dist-client/pages/project/project-update.js +53 -29
- package/dist-client/pages/project/project-update.js.map +1 -1
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-server/controllers/{project-to-excel.js → export-tasks.js} +1 -1
- package/dist-server/controllers/export-tasks.js.map +1 -0
- package/dist-server/controllers/import-task.d.ts +1 -17
- package/dist-server/controllers/import-task.js +24 -14
- package/dist-server/controllers/import-task.js.map +1 -1
- package/dist-server/controllers/parse-excel.d.ts +4 -0
- package/dist-server/controllers/parse-excel.js +75 -0
- package/dist-server/controllers/parse-excel.js.map +1 -0
- package/dist-server/controllers/types.d.ts +18 -0
- package/dist-server/controllers/types.js +3 -0
- package/dist-server/controllers/types.js.map +1 -0
- package/dist-server/routes.js +2 -2
- package/dist-server/routes.js.map +1 -1
- package/dist-server/service/project/project-mutation.d.ts +2 -1
- package/dist-server/service/project/project-mutation.js +52 -24
- package/dist-server/service/project/project-mutation.js.map +1 -1
- package/dist-server/service/task/task.d.ts +1 -0
- package/dist-server/service/task/task.js +5 -0
- package/dist-server/service/task/task.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/server/controllers/import-task.ts +25 -31
- package/server/controllers/parse-excel.ts +86 -0
- package/server/controllers/types.ts +20 -0
- package/server/routes.ts +1 -1
- package/server/service/project/project-mutation.ts +40 -24
- package/server/service/task/task.ts +4 -0
- package/dist-server/controllers/project-to-excel.js.map +0 -1
- /package/dist-server/controllers/{project-to-excel.d.ts → export-tasks.d.ts} +0 -0
- /package/server/controllers/{project-to-excel.ts → export-tasks.ts} +0 -0
|
@@ -6,17 +6,19 @@ export class Select2Component extends LitElement {
|
|
|
6
6
|
static styles = css`
|
|
7
7
|
div[select-container] {
|
|
8
8
|
position: relative;
|
|
9
|
-
|
|
10
|
-
border:
|
|
11
|
-
|
|
12
|
-
padding: 4px 16px;
|
|
9
|
+
border: 1px solid rgba(51,51,51,.20);
|
|
10
|
+
border-radius: 5px;
|
|
11
|
+
padding: var(--spacing-small, 4px) var(--spacing-medium, 8px);
|
|
13
12
|
font-size: 14px;
|
|
14
13
|
color: var(--md-sys-color-primary);
|
|
15
14
|
}
|
|
15
|
+
div[select-container]:focus {
|
|
16
|
+
border: 1px solid #1f7fd9;
|
|
17
|
+
}
|
|
16
18
|
|
|
17
19
|
div[dropdown] {
|
|
18
20
|
border: 1px solid #ccc;
|
|
19
|
-
padding:
|
|
21
|
+
padding: var(--spacing-small, 4px);
|
|
20
22
|
cursor: pointer;
|
|
21
23
|
}
|
|
22
24
|
|
|
@@ -24,9 +26,10 @@ export class Select2Component extends LitElement {
|
|
|
24
26
|
position: absolute;
|
|
25
27
|
left: 0;
|
|
26
28
|
top: 30px;
|
|
27
|
-
width:
|
|
29
|
+
min-width: 50%;
|
|
28
30
|
border: 1px solid #ccc;
|
|
29
|
-
background-color:
|
|
31
|
+
background-color: var(--md-sys-color-surface-tint);
|
|
32
|
+
color:var(--md-sys-color-on-primary);
|
|
30
33
|
max-height: 150px;
|
|
31
34
|
overflow-y: auto;
|
|
32
35
|
display: block;
|
|
@@ -34,42 +37,44 @@ export class Select2Component extends LitElement {
|
|
|
34
37
|
}
|
|
35
38
|
|
|
36
39
|
div[option] {
|
|
37
|
-
padding:
|
|
40
|
+
padding: var(--spacing-small, 4px) var(--spacing-medium, 8px);
|
|
38
41
|
cursor: pointer;
|
|
39
|
-
border-bottom: 1px solid
|
|
42
|
+
border-bottom: 1px solid rgba(0,0,0,.4);
|
|
40
43
|
}
|
|
41
44
|
div[option]:last-child {
|
|
42
45
|
border-bottom: none;
|
|
43
46
|
}
|
|
44
47
|
|
|
45
48
|
div[option]:hover {
|
|
46
|
-
background-color:
|
|
49
|
+
background-color: var(--md-sys-color-tertiary-container);
|
|
47
50
|
}
|
|
48
51
|
|
|
49
52
|
div[option][selected] {
|
|
50
|
-
background-color:
|
|
53
|
+
background-color: var(--md-sys-color-tertiary-container);
|
|
54
|
+
font-weight: bold;
|
|
55
|
+
color:var(--md-sys-color-on-primary);
|
|
51
56
|
}
|
|
52
57
|
|
|
53
58
|
div[selected-tags] {
|
|
54
59
|
display: flex;
|
|
55
60
|
flex-wrap: wrap;
|
|
56
|
-
gap:
|
|
57
|
-
margin-top:
|
|
61
|
+
gap: var(--spacing-small, 4px);
|
|
62
|
+
margin-top: var(--spacing-small, 4px);
|
|
58
63
|
}
|
|
59
64
|
|
|
60
65
|
div[tag] {
|
|
61
66
|
background-color: #2e79be;
|
|
62
67
|
color: white;
|
|
63
|
-
padding:
|
|
68
|
+
padding: var(--spacing-tiny, 2px) var(--spacing-medium, 8px);
|
|
64
69
|
border-radius: 20px;
|
|
65
|
-
font-size:
|
|
70
|
+
font-size: 12px;
|
|
66
71
|
display: inline-flex;
|
|
67
72
|
align-items: center;
|
|
68
73
|
cursor: pointer;
|
|
69
74
|
}
|
|
70
75
|
|
|
71
76
|
span[tag-close] {
|
|
72
|
-
margin-left:
|
|
77
|
+
margin-left: var(--spacing-small, 4px);
|
|
73
78
|
}
|
|
74
79
|
`
|
|
75
80
|
|
|
@@ -11,11 +11,13 @@ class ProjectUpdateHeader extends LitElement {
|
|
|
11
11
|
css`
|
|
12
12
|
div[header] {
|
|
13
13
|
display: flex;
|
|
14
|
-
margin: 0px
|
|
14
|
+
margin: 0px var(--spacing-large, 12px);
|
|
15
15
|
|
|
16
16
|
h2 {
|
|
17
|
-
flex:
|
|
17
|
+
flex: 1;
|
|
18
|
+
margin-bottom: var(--spacing-medium, 8px);
|
|
18
19
|
color: #3f71a0;
|
|
20
|
+
font-size:18px;
|
|
19
21
|
}
|
|
20
22
|
}
|
|
21
23
|
|
|
@@ -23,23 +25,24 @@ class ProjectUpdateHeader extends LitElement {
|
|
|
23
25
|
display: flex;
|
|
24
26
|
align-items: center;
|
|
25
27
|
justify-content: end;
|
|
26
|
-
flex:
|
|
28
|
+
flex: 1;
|
|
29
|
+
padding-top: var(--spacing-medium, 8px);
|
|
27
30
|
|
|
28
31
|
md-elevated-button {
|
|
29
|
-
margin:
|
|
32
|
+
margin: 0 var(--spacing-small, 4px);
|
|
30
33
|
|
|
31
|
-
--md-elevated-button-container-height:
|
|
34
|
+
--md-elevated-button-container-height: 32px;
|
|
32
35
|
--md-elevated-button-label-text-size: 16px;
|
|
33
36
|
--md-elevated-button-container-color: #0595e5;
|
|
34
37
|
|
|
35
|
-
--md-elevated-button-label-text-color:
|
|
36
|
-
--md-elevated-button-hover-label-text-color:
|
|
37
|
-
--md-elevated-button-pressed-label-text-color:
|
|
38
|
-
--md-elevated-button-focus-label-text-color:
|
|
39
|
-
--md-elevated-button-icon-color:
|
|
40
|
-
--md-elevated-button-hover-icon-color:
|
|
41
|
-
--md-elevated-button-pressed-icon-color:
|
|
42
|
-
--md-elevated-button-focus-icon-color:
|
|
38
|
+
--md-elevated-button-label-text-color: var(--md-sys-color-on-primary);
|
|
39
|
+
--md-elevated-button-hover-label-text-color: var(--md-sys-color-on-primary);
|
|
40
|
+
--md-elevated-button-pressed-label-text-color: var(--md-sys-color-on-primary);
|
|
41
|
+
--md-elevated-button-focus-label-text-color: var(--md-sys-color-on-primary);
|
|
42
|
+
--md-elevated-button-icon-color: var(--md-sys-color-on-primary);
|
|
43
|
+
--md-elevated-button-hover-icon-color: var(--md-sys-color-on-primary);
|
|
44
|
+
--md-elevated-button-pressed-icon-color: var(--md-sys-color-on-primary);
|
|
45
|
+
--md-elevated-button-focus-icon-color: var(--md-sys-color-on-primary);
|
|
43
46
|
|
|
44
47
|
&[green] {
|
|
45
48
|
--md-elevated-button-container-color: #42b382;
|
|
@@ -37,11 +37,11 @@ export class ProjectDetail extends ScopedElementsMixin(PageView) {
|
|
|
37
37
|
css`
|
|
38
38
|
:host {
|
|
39
39
|
display: grid;
|
|
40
|
-
grid-template-rows:
|
|
40
|
+
grid-template-rows: 55px auto;
|
|
41
41
|
color: #4e5055;
|
|
42
42
|
|
|
43
43
|
width: 100%;
|
|
44
|
-
background-color: #
|
|
44
|
+
background-color: var(--md-sys-color-background, #f6f6f6);
|
|
45
45
|
overflow-y: auto;
|
|
46
46
|
|
|
47
47
|
--grid-record-emphasized-background-color: red;
|
|
@@ -50,8 +50,9 @@ export class ProjectDetail extends ScopedElementsMixin(PageView) {
|
|
|
50
50
|
|
|
51
51
|
md-outlined-button {
|
|
52
52
|
--md-outlined-button-container-height: 30px;
|
|
53
|
-
--md-outlined-button-trailing-space:
|
|
54
|
-
--md-outlined-button-leading-space:
|
|
53
|
+
--md-outlined-button-trailing-space: var(--spacing-medium, 8px);
|
|
54
|
+
--md-outlined-button-leading-space: var(--spacing-medium, 8px);
|
|
55
|
+
--md-sys-color-outline: rgba(51,51,51,.20);
|
|
55
56
|
}
|
|
56
57
|
|
|
57
58
|
*[bold] {
|
|
@@ -60,11 +61,12 @@ export class ProjectDetail extends ScopedElementsMixin(PageView) {
|
|
|
60
61
|
|
|
61
62
|
div[header] {
|
|
62
63
|
display: flex;
|
|
63
|
-
margin: 0px
|
|
64
|
+
margin: 0px var(--spacing-large, 12px);
|
|
64
65
|
|
|
65
66
|
h2 {
|
|
66
67
|
flex: 0.5;
|
|
67
68
|
color: #3f71a0;
|
|
69
|
+
font-size:18px;
|
|
68
70
|
}
|
|
69
71
|
|
|
70
72
|
div[button-container] {
|
|
@@ -74,32 +76,33 @@ export class ProjectDetail extends ScopedElementsMixin(PageView) {
|
|
|
74
76
|
flex: 0.5;
|
|
75
77
|
|
|
76
78
|
md-elevated-button {
|
|
77
|
-
margin:
|
|
79
|
+
margin: 0 var(--spacing-small, 4px);
|
|
78
80
|
|
|
79
|
-
--md-elevated-button-container-height:
|
|
81
|
+
--md-elevated-button-container-height: 32px;
|
|
80
82
|
--md-elevated-button-label-text-size: 16px;
|
|
81
83
|
--md-elevated-button-container-color: #0595e5;
|
|
82
84
|
|
|
83
|
-
--md-elevated-button-label-text-color:
|
|
84
|
-
--md-elevated-button-hover-label-text-color:
|
|
85
|
-
--md-elevated-button-pressed-label-text-color:
|
|
86
|
-
--md-elevated-button-focus-label-text-color:
|
|
87
|
-
--md-elevated-button-icon-color:
|
|
88
|
-
--md-elevated-button-hover-icon-color:
|
|
89
|
-
--md-elevated-button-pressed-icon-color:
|
|
90
|
-
--md-elevated-button-focus-icon-color:
|
|
85
|
+
--md-elevated-button-label-text-color: var(--md-sys-color-on-primary);
|
|
86
|
+
--md-elevated-button-hover-label-text-color: var(--md-sys-color-on-primary);
|
|
87
|
+
--md-elevated-button-pressed-label-text-color: var(--md-sys-color-on-primary);
|
|
88
|
+
--md-elevated-button-focus-label-text-color: var(--md-sys-color-on-primary);
|
|
89
|
+
--md-elevated-button-icon-color: var(--md-sys-color-on-primary);
|
|
90
|
+
--md-elevated-button-hover-icon-color: var(--md-sys-color-on-primary);
|
|
91
|
+
--md-elevated-button-pressed-icon-color: var(--md-sys-color-on-primary);
|
|
92
|
+
--md-elevated-button-focus-icon-color: var(--md-sys-color-on-primary);
|
|
91
93
|
}
|
|
92
94
|
}
|
|
93
95
|
}
|
|
94
96
|
|
|
95
97
|
div[body] {
|
|
96
98
|
display: flex;
|
|
97
|
-
margin:
|
|
98
|
-
|
|
99
|
+
margin: var(--spacing-large, 12px);
|
|
100
|
+
margin-top:0;
|
|
101
|
+
gap: var(--spacing-medium, 8px);
|
|
99
102
|
|
|
100
103
|
h3 {
|
|
101
104
|
color: #2e79be;
|
|
102
|
-
font-size:
|
|
105
|
+
font-size: 16px;
|
|
103
106
|
margin: 0px;
|
|
104
107
|
|
|
105
108
|
a {
|
|
@@ -111,16 +114,16 @@ export class ProjectDetail extends ScopedElementsMixin(PageView) {
|
|
|
111
114
|
& > div {
|
|
112
115
|
display: flex;
|
|
113
116
|
flex: 1;
|
|
114
|
-
gap:
|
|
117
|
+
gap: var(--spacing-medium, 8px);
|
|
115
118
|
flex-direction: column;
|
|
116
119
|
|
|
117
120
|
& > div {
|
|
118
121
|
display: flex;
|
|
119
122
|
flex-direction: column;
|
|
120
|
-
background-color:
|
|
123
|
+
background-color: var(--md-sys-color-on-primary);
|
|
121
124
|
border: 1px solid #cccccc80;
|
|
122
|
-
gap:
|
|
123
|
-
padding:
|
|
125
|
+
gap: var(--spacing-medium, 8px);
|
|
126
|
+
padding: var(--spacing-large, 12px);
|
|
124
127
|
border-radius: 5px;
|
|
125
128
|
}
|
|
126
129
|
|
|
@@ -128,25 +131,24 @@ export class ProjectDetail extends ScopedElementsMixin(PageView) {
|
|
|
128
131
|
div[content-1] {
|
|
129
132
|
display: flex;
|
|
130
133
|
align-items: center;
|
|
131
|
-
gap:
|
|
134
|
+
gap: var(--spacing-medium, 8px);
|
|
135
|
+
font-size: 14px;
|
|
132
136
|
|
|
133
137
|
img {
|
|
134
138
|
width: 42%;
|
|
135
139
|
height: auto;
|
|
136
140
|
aspect-ratio: 1920 / 1080;
|
|
141
|
+
border: 1px solid #cccccc80;
|
|
137
142
|
}
|
|
138
143
|
img[no-image] {
|
|
139
144
|
object-fit: contain;
|
|
140
145
|
opacity: 0.5;
|
|
141
146
|
}
|
|
142
|
-
|
|
143
|
-
div[row] {
|
|
144
|
-
line-height: 25px;
|
|
145
|
-
}
|
|
146
147
|
}
|
|
147
148
|
div[content-2] {
|
|
148
149
|
height: 65px;
|
|
149
150
|
overflow-y: auto;
|
|
151
|
+
font-size: 14px;
|
|
150
152
|
}
|
|
151
153
|
}
|
|
152
154
|
|
|
@@ -167,15 +169,21 @@ export class ProjectDetail extends ScopedElementsMixin(PageView) {
|
|
|
167
169
|
}
|
|
168
170
|
|
|
169
171
|
div[subject] {
|
|
170
|
-
margin-bottom:
|
|
172
|
+
margin-bottom: var(--spacing-small, 4px);
|
|
171
173
|
}
|
|
172
174
|
|
|
173
175
|
div[building-container] {
|
|
174
176
|
display: block;
|
|
175
177
|
|
|
176
178
|
& > * {
|
|
177
|
-
margin-right:
|
|
178
|
-
margin-bottom:
|
|
179
|
+
margin-right: var(--spacing-medium, 8px);
|
|
180
|
+
margin-bottom: var(--spacing-medium, 8px);
|
|
181
|
+
}
|
|
182
|
+
md-outlined-button {
|
|
183
|
+
--md-outlined-button-container-height: 30px;
|
|
184
|
+
--md-outlined-button-trailing-space: var(--spacing-medium, 8px);
|
|
185
|
+
--md-outlined-button-leading-space: var(--spacing-medium, 8px);
|
|
186
|
+
--md-sys-color-outline: rgba(51,51,51,.20);
|
|
179
187
|
}
|
|
180
188
|
}
|
|
181
189
|
}
|
|
@@ -184,10 +192,10 @@ export class ProjectDetail extends ScopedElementsMixin(PageView) {
|
|
|
184
192
|
div[state] {
|
|
185
193
|
display: grid;
|
|
186
194
|
grid-template-columns: 0.95fr 0.95fr 1.1fr;
|
|
187
|
-
gap:
|
|
195
|
+
gap: var(--spacing-large, 12px);
|
|
188
196
|
|
|
189
197
|
span[progress] {
|
|
190
|
-
max-width:
|
|
198
|
+
max-width: 150px;
|
|
191
199
|
text-align: center;
|
|
192
200
|
display: flex;
|
|
193
201
|
justify-self: center;
|
|
@@ -198,7 +206,7 @@ export class ProjectDetail extends ScopedElementsMixin(PageView) {
|
|
|
198
206
|
font-weight: bold;
|
|
199
207
|
color: #2e79be;
|
|
200
208
|
font-size: 12px;
|
|
201
|
-
margin-top:
|
|
209
|
+
margin-top: var(--spacing-small, 4px);
|
|
202
210
|
}
|
|
203
211
|
& > div[week] {
|
|
204
212
|
color: #06b5af;
|
|
@@ -207,15 +215,20 @@ export class ProjectDetail extends ScopedElementsMixin(PageView) {
|
|
|
207
215
|
span[weather] {
|
|
208
216
|
display: flex;
|
|
209
217
|
flex-direction: column;
|
|
210
|
-
gap:
|
|
211
|
-
margin-left:
|
|
218
|
+
gap: var(--spacing-small, 4px);
|
|
219
|
+
margin-left: var(--spacing-medium, 8px);
|
|
220
|
+
font-size:14px;
|
|
212
221
|
|
|
213
222
|
& > div {
|
|
214
223
|
display: flex;
|
|
215
224
|
justify-content: space-between;
|
|
225
|
+
--md-icon-size: 18px;
|
|
226
|
+
margin-right: var(--spacing-small, 4px);
|
|
216
227
|
|
|
217
228
|
& > span {
|
|
218
229
|
display: flex;
|
|
230
|
+
align-item:center;
|
|
231
|
+
var(--spacing-tiny, 2px);
|
|
219
232
|
}
|
|
220
233
|
}
|
|
221
234
|
}
|
|
@@ -223,10 +236,10 @@ export class ProjectDetail extends ScopedElementsMixin(PageView) {
|
|
|
223
236
|
div[inspection] {
|
|
224
237
|
display: grid;
|
|
225
238
|
grid-template-columns: 1.4fr 0.9fr 0.9fr 0.9fr 0.9fr;
|
|
226
|
-
margin-top:
|
|
239
|
+
margin-top: var(--spacing-small, 4px);
|
|
227
240
|
background: #f6f6f6;
|
|
228
241
|
border-radius: 7px;
|
|
229
|
-
padding:
|
|
242
|
+
padding: var(--spacing-small, 4px) 0px;
|
|
230
243
|
|
|
231
244
|
& > span {
|
|
232
245
|
display: flex;
|
|
@@ -250,7 +263,8 @@ export class ProjectDetail extends ScopedElementsMixin(PageView) {
|
|
|
250
263
|
& > span[name] {
|
|
251
264
|
flex-direction: row;
|
|
252
265
|
text-align: right;
|
|
253
|
-
gap:
|
|
266
|
+
gap: var(--spacing-medium, 8px);
|
|
267
|
+
line-height:1.3;
|
|
254
268
|
|
|
255
269
|
md-icon {
|
|
256
270
|
width: 40px;
|
|
@@ -262,7 +276,7 @@ export class ProjectDetail extends ScopedElementsMixin(PageView) {
|
|
|
262
276
|
}
|
|
263
277
|
}
|
|
264
278
|
div[notice] {
|
|
265
|
-
margin-top:
|
|
279
|
+
margin-top: var(--spacing-medium, 8px);
|
|
266
280
|
|
|
267
281
|
div[name] {
|
|
268
282
|
margin-left: 4px;
|
|
@@ -270,9 +284,9 @@ export class ProjectDetail extends ScopedElementsMixin(PageView) {
|
|
|
270
284
|
div[content] {
|
|
271
285
|
background-color: #ebc8321a;
|
|
272
286
|
border-radius: 10px;
|
|
273
|
-
padding:
|
|
287
|
+
padding: var(--spacing-medium, 8px);
|
|
274
288
|
font-size: 14px;
|
|
275
|
-
margin-top:
|
|
289
|
+
margin-top: var(--spacing-small, 4px);
|
|
276
290
|
}
|
|
277
291
|
}
|
|
278
292
|
}
|
|
@@ -306,21 +320,21 @@ export class ProjectDetail extends ScopedElementsMixin(PageView) {
|
|
|
306
320
|
|
|
307
321
|
thead {
|
|
308
322
|
position: sticky;
|
|
309
|
-
top: 2px;
|
|
323
|
+
top: var(--spacing-tiny, 2px);
|
|
310
324
|
background-color: #464651;
|
|
311
|
-
color:
|
|
325
|
+
color: var(--md-sys-color-on-primary);
|
|
312
326
|
z-index: 1;
|
|
313
327
|
}
|
|
314
328
|
|
|
315
329
|
thead th {
|
|
316
|
-
padding:
|
|
330
|
+
padding: var(--spacing-tiny, 2px) var(--spacing-small, 4px);
|
|
317
331
|
font-size: 15px;
|
|
318
332
|
text-wrap: pretty;
|
|
319
333
|
}
|
|
320
334
|
|
|
321
335
|
tbody td {
|
|
322
|
-
border-bottom: 1px solid
|
|
323
|
-
padding:
|
|
336
|
+
border-bottom: 1px solid rgba(51,51,51,.20);
|
|
337
|
+
padding: var(--spacing-small, 4px);
|
|
324
338
|
text-align: center;
|
|
325
339
|
white-space: nowrap;
|
|
326
340
|
text-overflow: ellipsis;
|
|
@@ -329,20 +343,20 @@ export class ProjectDetail extends ScopedElementsMixin(PageView) {
|
|
|
329
343
|
}
|
|
330
344
|
|
|
331
345
|
md-elevated-button {
|
|
332
|
-
margin:
|
|
346
|
+
margin: 0 var(--spacing-small, 4px);
|
|
333
347
|
|
|
334
|
-
--md-elevated-button-container-height:
|
|
348
|
+
--md-elevated-button-container-height: 32px;
|
|
335
349
|
--md-elevated-button-label-text-size: 16px;
|
|
336
350
|
--md-elevated-button-container-color: #0595e5;
|
|
337
351
|
|
|
338
|
-
--md-elevated-button-label-text-color:
|
|
339
|
-
--md-elevated-button-hover-label-text-color:
|
|
340
|
-
--md-elevated-button-pressed-label-text-color:
|
|
341
|
-
--md-elevated-button-focus-label-text-color:
|
|
342
|
-
--md-elevated-button-icon-color:
|
|
343
|
-
--md-elevated-button-hover-icon-color:
|
|
344
|
-
--md-elevated-button-pressed-icon-color:
|
|
345
|
-
--md-elevated-button-focus-icon-color:
|
|
352
|
+
--md-elevated-button-label-text-color: var(--md-sys-color-on-primary);
|
|
353
|
+
--md-elevated-button-hover-label-text-color: var(--md-sys-color-on-primary);
|
|
354
|
+
--md-elevated-button-pressed-label-text-color: var(--md-sys-color-on-primary);
|
|
355
|
+
--md-elevated-button-focus-label-text-color: var(--md-sys-color-on-primary);
|
|
356
|
+
--md-elevated-button-icon-color: var(--md-sys-color-on-primary);
|
|
357
|
+
--md-elevated-button-hover-icon-color: var(--md-sys-color-on-primary);
|
|
358
|
+
--md-elevated-button-pressed-icon-color: var(--md-sys-color-on-primary);
|
|
359
|
+
--md-elevated-button-focus-icon-color: var(--md-sys-color-on-primary);
|
|
346
360
|
|
|
347
361
|
&[red] {
|
|
348
362
|
--md-elevated-button-container-color: #e15757;
|
|
@@ -423,8 +437,8 @@ export class ProjectDetail extends ScopedElementsMixin(PageView) {
|
|
|
423
437
|
<span>${this.project.buildingComplex?.area?.toLocaleString()} ㎡</span>
|
|
424
438
|
</div>
|
|
425
439
|
<div row>
|
|
426
|
-
<span>-
|
|
427
|
-
<span bold>${this.project.startDate}
|
|
440
|
+
<span>- 착공~준공 : </span>
|
|
441
|
+
<span bold>${this.project.startDate}~${this.project.endDate}</span>
|
|
428
442
|
</div>
|
|
429
443
|
<div row>
|
|
430
444
|
<span>- 발주처 : </span>
|
|
@@ -572,10 +586,10 @@ export class ProjectDetail extends ScopedElementsMixin(PageView) {
|
|
|
572
586
|
<table>
|
|
573
587
|
<thead>
|
|
574
588
|
<tr>
|
|
575
|
-
<th width="
|
|
589
|
+
<th width="3%"></th>
|
|
576
590
|
<th width="10%">검측 위치</th>
|
|
577
591
|
<th width="10%">공종</th>
|
|
578
|
-
<th width="
|
|
592
|
+
<th width="22%">내용</th>
|
|
579
593
|
<th width="15%">검측 요청일</th>
|
|
580
594
|
<th width="10%">검측 결과</th>
|
|
581
595
|
</tr>
|
|
@@ -24,10 +24,10 @@ export class ProjectPlanManagement extends ScopedElementsMixin(PageView) {
|
|
|
24
24
|
css`
|
|
25
25
|
:host {
|
|
26
26
|
display: grid;
|
|
27
|
-
grid-template-rows:
|
|
27
|
+
grid-template-rows: 55px auto;
|
|
28
28
|
color: #4e5055;
|
|
29
29
|
|
|
30
|
-
background-color: #
|
|
30
|
+
background-color: var(--md-sys-color-background, #f6f6f6);
|
|
31
31
|
overflow: hidden;
|
|
32
32
|
overflow-y: auto;
|
|
33
33
|
|
|
@@ -39,10 +39,15 @@ export class ProjectPlanManagement extends ScopedElementsMixin(PageView) {
|
|
|
39
39
|
width: 100%;
|
|
40
40
|
|
|
41
41
|
--md-outlined-text-field-container-shape: 5px;
|
|
42
|
+
--md-outlined-text-field-outline-color: rgba(51,51,51,.20);
|
|
43
|
+
--md-outlined-text-field-focus-outline-color: #1f7fd9;
|
|
44
|
+
--md-outlined-text-field-focus-outline-width: 1px;
|
|
42
45
|
--md-sys-color-primary: #586878;
|
|
43
46
|
--md-outlined-text-field-input-text-size: 14px;
|
|
44
|
-
--md-outlined-field-bottom-space:
|
|
45
|
-
--md-outlined-field-top-space:
|
|
47
|
+
--md-outlined-field-bottom-space: 3px;
|
|
48
|
+
--md-outlined-field-top-space: 3px;
|
|
49
|
+
--md-outlined-field-leading-space: var(--spacing-medium, 8px);
|
|
50
|
+
--md-outlined-field-trailing-space: var(--spacing-medium, 8px);
|
|
46
51
|
}
|
|
47
52
|
|
|
48
53
|
ox-input-image {
|
|
@@ -56,22 +61,23 @@ export class ProjectPlanManagement extends ScopedElementsMixin(PageView) {
|
|
|
56
61
|
|
|
57
62
|
div[body] {
|
|
58
63
|
display: grid;
|
|
59
|
-
grid-template-rows:
|
|
60
|
-
margin:
|
|
61
|
-
|
|
64
|
+
grid-template-rows: 205px 1fr 60px;
|
|
65
|
+
margin: var(--spacing-large, 12px);
|
|
66
|
+
margin-top:0;
|
|
67
|
+
gap: var(--spacing-medium, 8px);
|
|
62
68
|
|
|
63
69
|
& > div {
|
|
64
70
|
display: grid;
|
|
65
71
|
grid-template-rows: 25px auto;
|
|
66
|
-
padding:
|
|
67
|
-
background-color:
|
|
72
|
+
padding: var(--spacing-large, 12px);
|
|
73
|
+
background-color: var(--md-sys-color-on-primary);
|
|
68
74
|
border: 1px solid #cccccc80;
|
|
69
75
|
border-radius: 5px;
|
|
70
|
-
gap:
|
|
76
|
+
gap: var(--spacing-medium, 8px);
|
|
71
77
|
|
|
72
78
|
h3 {
|
|
73
79
|
color: #2e79be;
|
|
74
|
-
font-size:
|
|
80
|
+
font-size: 16px;
|
|
75
81
|
margin: 0px;
|
|
76
82
|
text-wrap: nowrap;
|
|
77
83
|
}
|
|
@@ -79,12 +85,12 @@ export class ProjectPlanManagement extends ScopedElementsMixin(PageView) {
|
|
|
79
85
|
|
|
80
86
|
& > div[building-container] > div {
|
|
81
87
|
display: flex;
|
|
82
|
-
gap:
|
|
88
|
+
gap: var(--spacing-medium, 8px);
|
|
83
89
|
overflow-x: auto;
|
|
84
90
|
overflow-y: hidden;
|
|
85
91
|
|
|
86
92
|
ox-input-file {
|
|
87
|
-
height:
|
|
93
|
+
height: 100px;
|
|
88
94
|
}
|
|
89
95
|
|
|
90
96
|
span[building] {
|
|
@@ -93,7 +99,8 @@ export class ProjectPlanManagement extends ScopedElementsMixin(PageView) {
|
|
|
93
99
|
|
|
94
100
|
div {
|
|
95
101
|
color: #586878;
|
|
96
|
-
margin-top:
|
|
102
|
+
margin-top:var(--spacing-small, 4px);
|
|
103
|
+
font-size: 14px;
|
|
97
104
|
}
|
|
98
105
|
}
|
|
99
106
|
}
|
|
@@ -103,38 +110,40 @@ export class ProjectPlanManagement extends ScopedElementsMixin(PageView) {
|
|
|
103
110
|
display: flex;
|
|
104
111
|
justify-content: space-between;
|
|
105
112
|
height: fit-content;
|
|
106
|
-
gap:
|
|
113
|
+
gap: var(--spacing-huge, 24px);
|
|
107
114
|
overflow: hidden;
|
|
108
115
|
|
|
109
116
|
span[building-button] {
|
|
110
117
|
display: flex;
|
|
111
118
|
margin-left: auto;
|
|
112
|
-
gap:
|
|
119
|
+
gap: var(--spacing-small, 4px);
|
|
113
120
|
overflow-x: auto;
|
|
114
121
|
overflow-y: hidden;
|
|
115
122
|
|
|
116
123
|
md-filled-button {
|
|
117
124
|
--md-filled-button-container-color: #0595e5;
|
|
118
125
|
--md-filled-button-container-height: 30px;
|
|
119
|
-
--md-filled-button-trailing-space:
|
|
120
|
-
--md-filled-button-leading-space:
|
|
126
|
+
--md-filled-button-trailing-space: var(--spacing-medium, 8px);
|
|
127
|
+
--md-filled-button-leading-space: var(--spacing-medium, 8px);
|
|
121
128
|
}
|
|
122
129
|
md-outlined-button {
|
|
123
130
|
--md-outlined-button-container-height: 30px;
|
|
124
|
-
--md-outlined-button-trailing-space:
|
|
125
|
-
--md-outlined-button-leading-space:
|
|
131
|
+
--md-outlined-button-trailing-space: var(--spacing-medium, 8px);
|
|
132
|
+
--md-outlined-button-leading-space: var(--spacing-medium, 8px);
|
|
133
|
+
--md-sys-color-outline: rgba(51,51,51,.20);
|
|
126
134
|
}
|
|
127
135
|
}
|
|
128
136
|
}
|
|
129
137
|
|
|
130
138
|
div[floor-plan] {
|
|
131
139
|
overflow-y: auto;
|
|
132
|
-
margin-top:
|
|
140
|
+
margin-top: var(--spacing-medium, 8px);
|
|
133
141
|
|
|
134
142
|
& > span {
|
|
135
143
|
display: inline-block;
|
|
136
144
|
text-align: center;
|
|
137
|
-
margin:
|
|
145
|
+
margin-right:var(--spacing-medium, 8px);
|
|
146
|
+
margin-bottom:var(--spacing-medium, 8px);
|
|
138
147
|
cursor: pointer;
|
|
139
148
|
|
|
140
149
|
& > [name='building-plan'] {
|
|
@@ -143,19 +152,20 @@ export class ProjectPlanManagement extends ScopedElementsMixin(PageView) {
|
|
|
143
152
|
display: flex;
|
|
144
153
|
flex-direction: column;
|
|
145
154
|
justify-content: center;
|
|
146
|
-
border: 1px solid
|
|
147
|
-
box-shadow:
|
|
155
|
+
border: 1px solid rgba(51,51,51,.1);
|
|
156
|
+
box-shadow: 1px 1px 1px #0000001a;
|
|
148
157
|
align-items: center;
|
|
149
|
-
border-radius:
|
|
158
|
+
border-radius: 5px;
|
|
150
159
|
font-size: 13px;
|
|
151
160
|
|
|
152
161
|
md-icon {
|
|
153
|
-
margin-bottom:
|
|
162
|
+
margin-bottom: var(--spacing-small, 4px);
|
|
154
163
|
}
|
|
155
164
|
}
|
|
156
165
|
|
|
157
166
|
& > div[floor-name] {
|
|
158
|
-
margin-top:
|
|
167
|
+
margin-top: var(--spacing-small, 4px);
|
|
168
|
+
font-size:14px;
|
|
159
169
|
|
|
160
170
|
&[no-data] {
|
|
161
171
|
color: #f16154;
|
|
@@ -172,8 +182,8 @@ export class ProjectPlanManagement extends ScopedElementsMixin(PageView) {
|
|
|
172
182
|
& > div {
|
|
173
183
|
display: flex;
|
|
174
184
|
align-items: center;
|
|
175
|
-
gap:
|
|
176
|
-
margin-left:
|
|
185
|
+
gap: var(--spacing-medium, 8px);
|
|
186
|
+
margin-left: var(--spacing-medium, 8px);
|
|
177
187
|
|
|
178
188
|
md-outlined-text-field {
|
|
179
189
|
width: 100px;
|
|
@@ -29,6 +29,7 @@ const TaskFragment = gql`
|
|
|
29
29
|
endDate
|
|
30
30
|
dependsOn
|
|
31
31
|
progress
|
|
32
|
+
style
|
|
32
33
|
resources {
|
|
33
34
|
type
|
|
34
35
|
allocated
|
|
@@ -192,7 +193,7 @@ export class ProjectSchedule extends ScopedElementsMixin(PageView) {
|
|
|
192
193
|
@state() constructionTypeList = []
|
|
193
194
|
|
|
194
195
|
@state() private fromDate = '2024-01-01'
|
|
195
|
-
@state() private toDate = '
|
|
196
|
+
@state() private toDate = '2026-12-31'
|
|
196
197
|
|
|
197
198
|
@query('input[name="startDate"]') inputStartDate!: HTMLInputElement
|
|
198
199
|
@query('input[name="endDate"]') inputEndDate!: HTMLInputElement
|
|
@@ -251,7 +252,7 @@ export class ProjectSchedule extends ScopedElementsMixin(PageView) {
|
|
|
251
252
|
?extend-grid-lines=${this.extendGridLines}
|
|
252
253
|
.columnConfigProvider=${this.columnConfigProvider}
|
|
253
254
|
.colorProvider=${task => {
|
|
254
|
-
return task.
|
|
255
|
+
return task.style || 'gray'
|
|
255
256
|
}}
|
|
256
257
|
>
|
|
257
258
|
</ox-gantt>
|
|
@@ -343,7 +344,7 @@ export class ProjectSchedule extends ScopedElementsMixin(PageView) {
|
|
|
343
344
|
|
|
344
345
|
if (this.project) {
|
|
345
346
|
this.fromDate = this.project.startDate || '2024-01-01' /* TODO default: start date of this year - 3 */
|
|
346
|
-
this.toDate = this.project.endDate || '
|
|
347
|
+
this.toDate = this.project.endDate || '2026-12-31' /* TODO defaule: end date of this year + 3 */
|
|
347
348
|
}
|
|
348
349
|
|
|
349
350
|
console.log('init project : ', this.project)
|