@dssp/project 0.0.7 → 0.0.9

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.
@@ -1 +1 @@
1
- {"version":3,"file":"project-schedule.js","sourceRoot":"","sources":["../../../client/pages/project/project-schedule.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/icon/icon.js'\nimport '@material/web/button/elevated-button.js'\nimport '@material/web/textfield/outlined-text-field.js'\nimport '@material/web/button/filled-button.js'\nimport '@material/web/button/outlined-button.js'\n\nimport { PageView } from '@operato/shell'\nimport { PageLifecycle } from '@operato/shell/dist/src/app/pages/page-view'\nimport { css, html } from 'lit'\nimport { customElement, state } from 'lit/decorators.js'\nimport { ScopedElementsMixin } from '@open-wc/scoped-elements'\nimport { client } from '@operato/graphql'\nimport { notify } from '@operato/layout'\n\nimport gql from 'graphql-tag'\nimport { Building, Project } from './project-list'\nimport '@operato/gantt/ox-gantt.js'\n\n@customElement('project-schedule')\nexport class ProjectSchedule extends ScopedElementsMixin(PageView) {\n static styles = [\n css`\n :host {\n display: grid;\n grid-template-rows: 75px auto;\n color: #4e5055;\n\n width: 100%;\n background-color: #f7f7f7;\n overflow-y: auto;\n\n --grid-record-emphasized-background-color: red;\n --grid-record-emphasized-color: yellow;\n }\n\n *[bold] {\n font-weight: bold;\n }\n\n div[header] {\n display: flex;\n margin: 0px 20px;\n\n h2 {\n flex: 0.5;\n color: #3f71a0;\n }\n\n div[button-container] {\n display: flex;\n align-items: center;\n justify-content: end;\n flex: 0.5;\n\n md-elevated-button {\n margin: 0px 3px;\n\n --md-elevated-button-container-height: 35px;\n --md-elevated-button-label-text-size: 16px;\n --md-elevated-button-container-color: #0595e5;\n\n --md-elevated-button-label-text-color: #fff;\n --md-elevated-button-hover-label-text-color: #fff;\n --md-elevated-button-pressed-label-text-color: #fff;\n --md-elevated-button-focus-label-text-color: #fff;\n --md-elevated-button-icon-color: #fff;\n --md-elevated-button-hover-icon-color: #fff;\n --md-elevated-button-pressed-icon-color: #fff;\n --md-elevated-button-focus-icon-color: #fff;\n }\n }\n }\n\n div[body] {\n display: flex;\n flex-direction: column;\n margin: 0px 25px 25px 25px;\n gap: 15px;\n\n h3 {\n color: #2e79be;\n font-size: 18px;\n margin: 0px;\n }\n\n & > div {\n display: flex;\n border-radius: 5px;\n }\n\n div[chart-container] {\n flex: 1;\n flex-direction: column;\n border: 1px solid #cccccc80;\n\n div[chart] {\n flex: 0.7;\n background: #03a9f44d;\n\n ox-gantt {\n max-width: 91vw;\n aspect-ratio: 3 / 1;\n box-sizing: border-box;\n\n background-color: var(--md-sys-color-primary-container);\n color: var(--md-sys-color-on-primary-container);\n }\n }\n\n div[table] {\n flex: 0.3;\n background: #8fd170b8;\n }\n }\n\n div[select-container] {\n gap: 15px;\n\n div[date] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n background-color: #2ea4df1a;\n border: 1px solid #2ea4df33;\n border-radius: 5px;\n gap: 12px;\n padding: 12px 36px 12px 15px;\n\n span[name] {\n font-size: 16px;\n font-weight: bold;\n }\n }\n\n div[button] {\n flex: 1;\n border-radius: 5px;\n border: 1px solid #cccccc80;\n background-color: #fff;\n }\n }\n }\n `\n ]\n\n get context() {\n return {\n title: '공정표'\n }\n }\n\n private defaultProject = {\n name: '',\n buildingComplex: {\n address: '',\n area: 0,\n constructionCompany: '',\n clientCompany: '',\n supervisoryCompany: '',\n designCompany: '',\n constructionType: '',\n buildings: []\n }\n }\n @state() projectId: string = ''\n @state() project: Project = { ...this.defaultProject }\n @state() selectedBuildingIdx: number = 0\n\n private fromDate = '2022-12-27'\n private toDate = '2024-12-31'\n private timeScale = 'week-day'\n private extendGridLines = false\n private tasks = [\n {\n id: '1',\n title: 'Design',\n type: 'task',\n // section: developmentSection,\n startDate: '2023-01-01',\n endDate: '2023-01-05',\n progress: 60,\n dependsOn: '',\n length: '5d',\n tags: ['active'],\n children: []\n },\n {\n id: '2',\n title: 'Development',\n type: 'milestone',\n // section: developmentSection,\n startDate: '2023-01-06',\n endDate: '2023-01-06',\n progress: 30,\n dependsOn: '1',\n length: '1d',\n tags: ['milestone'],\n children: []\n },\n {\n id: '3',\n title: 'Coding',\n type: 'phase',\n // section: developmentSection,\n startDate: '2023-01-07',\n endDate: '2023-01-15',\n progress: 10,\n dependsOn: '2',\n length: '9d',\n tags: ['critical'],\n children: [\n {\n id: '3-1',\n title: 'Coding-A',\n type: 'task',\n // section: developmentSection,\n startDate: '2023-01-07',\n endDate: '2023-01-10',\n progress: 60,\n dependsOn: '',\n length: '4d',\n tags: ['done'],\n children: []\n },\n {\n id: '3-2',\n title: 'Coding-B',\n type: 'task',\n // section: developmentSection,\n startDate: '2023-01-11',\n endDate: '2023-01-15',\n dependsOn: '3-1',\n length: '5d',\n tags: ['active'],\n children: []\n }\n ]\n },\n {\n id: '4',\n title: 'Test',\n type: 'milestone',\n // section: developmentSection,\n startDate: '2023-01-07',\n endDate: '2023-01-10',\n progress: 100,\n dependsOn: '1',\n length: '1d',\n tags: ['done'],\n children: []\n },\n {\n id: '5',\n title: 'Deploy',\n type: 'milestone',\n // section: developmentSection,\n startDate: '2023-01-15',\n endDate: '2023-01-21',\n dependsOn: '4',\n length: '1d',\n tags: ['milestone'],\n children: []\n },\n {\n id: '6',\n title: 'Publishing',\n type: 'milestone',\n // section: developmentSection,\n startDate: '2023-01-11',\n endDate: '2023-01-15',\n dependsOn: '5',\n length: '1d',\n tags: ['milestone'],\n children: []\n },\n {\n id: '7',\n title: 'Provisioning',\n type: 'milestone',\n // section: developmentSection,\n startDate: '2023-01-12',\n endDate: '2023-01-15',\n dependsOn: '6',\n length: '1d',\n tags: ['milestone'],\n children: []\n },\n {\n id: '8',\n title: 'Alpha Test',\n type: 'milestone',\n // section: testSection,\n startDate: '2023-01-15',\n endDate: '2023-01-17',\n dependsOn: '7',\n length: '1d',\n tags: ['critical'],\n children: []\n },\n {\n id: '9',\n title: 'Beta Task',\n type: 'milestone',\n // section: testSection,\n startDate: '2023-01-15',\n endDate: '2023-01-18',\n dependsOn: '8',\n length: '1d',\n tags: ['active'],\n children: []\n },\n {\n id: '10',\n title: 'Gamma Test',\n type: 'milestone',\n // section: testSection,\n startDate: '2023-01-18',\n endDate: '2023-01-19',\n dependsOn: '9',\n length: '1d',\n tags: ['critical'],\n children: []\n },\n {\n id: '11',\n title: 'Zeta Test',\n type: 'milestone',\n // section: testSection,\n startDate: '2023-01-18',\n endDate: '2023-01-22',\n dependsOn: '9',\n length: '1d',\n tags: ['milestone'],\n children: []\n },\n {\n id: '12',\n title: 'Release',\n type: 'milestone',\n // section: releaseSection,\n startDate: '2023-01-18',\n endDate: '2023-01-23',\n dependsOn: '9',\n length: '1d',\n tags: ['milestone'],\n children: []\n },\n {\n id: '13',\n title: 'Release',\n type: 'milestone',\n // section: releaseSection,\n startDate: '2023-01-22',\n endDate: '2023-01-27',\n dependsOn: '12',\n length: '1d',\n tags: ['done'],\n children: []\n },\n {\n id: '14',\n title: 'Release',\n type: 'milestone',\n // section: releaseSection,\n startDate: '2023-01-27',\n endDate: '2023-01-30',\n dependsOn: '13',\n length: '1d',\n tags: ['milestone'],\n children: []\n },\n {\n id: '15',\n title: 'Release',\n type: 'milestone',\n // section: releaseSection,\n startDate: '2023-01-30',\n endDate: '2023-01-31',\n dependsOn: '14',\n length: '1d',\n tags: ['milestone'],\n children: []\n },\n {\n id: '16',\n title: 'Release',\n type: 'milestone',\n // section: releaseSection,\n startDate: '2023-01-31',\n endDate: '2023-02-05',\n dependsOn: '15',\n length: '1d',\n tags: ['active'],\n children: []\n },\n {\n id: '17',\n title: 'Release',\n type: 'milestone',\n // section: releaseSection,\n startDate: '2023-02-06',\n endDate: '2023-02-07',\n dependsOn: '16',\n length: '1d',\n tags: ['milestone'],\n children: []\n },\n {\n id: '18',\n title: 'Release',\n type: 'milestone',\n // section: releaseSection,\n startDate: '2023-02-08',\n endDate: '2023-02-09',\n dependsOn: '17',\n length: '1d',\n tags: ['critical'],\n children: []\n },\n {\n id: '19',\n title: 'Release',\n type: 'milestone',\n // section: releaseSection,\n startDate: '2023-02-10',\n endDate: '2023-02-25',\n dependsOn: '18',\n length: '1d',\n tags: ['milestone'],\n children: []\n }\n ]\n\n render() {\n return html`\n <div header>\n <h2>${this.project.name}</h2>\n <div button-container>\n <md-elevated-button href=${`project-update/${this.project.id}`}>\n <md-icon slot=\"icon\">assignment</md-icon>프로젝트 정보 수정\n </md-elevated-button>\n <md-elevated-button href=${`project-plan-management/${this.project.id}`}>\n <md-icon slot=\"icon\">description</md-icon>도면 관리\n </md-elevated-button>\n <md-elevated-button href=${`project-task-update/${this.project.id}`}>\n <md-icon slot=\"icon\">event_note</md-icon>공정표 관리\n </md-elevated-button>\n </div>\n </div>\n\n <div body>\n <div chart-container>\n <div chart>\n <ox-gantt\n from-date=${new Date(this.fromDate).toISOString().split('T')[0]}\n to-date=${new Date(this.toDate).toISOString().split('T')[0]}\n .timeScale=${this.timeScale}\n .tasks=${this.tasks}\n @date-range-selected=${(e: CustomEvent) => {\n console.log('date-range-selected', e.detail)\n }}\n @task-clicked=${(e: CustomEvent) => {\n console.log('task-clicked', e.detail)\n }}\n ?extend-grid-lines=${this.extendGridLines}\n >\n </ox-gantt>\n </div>\n <div table>\n <table></table>\n </div>\n </div>\n <div select-container>\n <div date>\n <span name>기간선택</span>\n <div>\n <input type=\"date\" name=\"startDate\" project .value=${this.project.startDate || ''} max=\"9999-12-31\" />\n ~\n <input type=\"date\" name=\"endDate\" project .value=${this.project.endDate || ''} max=\"9999-12-31\" />\n </div>\n </div>\n <div button></div>\n </div>\n </div>\n `\n }\n\n async pageInitialized(lifecycle: PageLifecycle) {}\n\n async pageUpdated(changes: any, lifecycle: PageLifecycle) {\n if (this.active) {\n this.projectId = lifecycle.resourceId || ''\n await this.initProject(this.projectId)\n }\n }\n\n async initProject(projectId: string = '') {\n const response = await client.query({\n query: gql`\n query Project($id: String!) {\n project(id: $id) {\n id\n name\n buildingComplex {\n id\n planXScale\n planYScale\n buildings {\n id\n name\n drawing {\n id\n name\n }\n buildingLevels {\n id\n floor\n mainDrawing {\n id\n name\n }\n }\n }\n }\n }\n }\n `,\n variables: {\n id: projectId\n }\n })\n\n this.project = response.data?.project\n\n console.log('init project : ', this.project)\n }\n}\n"]}
1
+ {"version":3,"file":"project-schedule.js","sourceRoot":"","sources":["../../../client/pages/project/project-schedule.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/icon/icon.js'\nimport '@material/web/button/elevated-button.js'\nimport '@material/web/textfield/outlined-text-field.js'\nimport '@material/web/button/filled-button.js'\nimport '@material/web/button/outlined-button.js'\n\nimport { PageView } from '@operato/shell'\nimport { PageLifecycle } from '@operato/shell/dist/src/app/pages/page-view'\nimport { css, html } from 'lit'\nimport { customElement, state } from 'lit/decorators.js'\nimport { ScopedElementsMixin } from '@open-wc/scoped-elements'\nimport { client } from '@operato/graphql'\nimport { notify } from '@operato/layout'\n\nimport gql from 'graphql-tag'\nimport { Building, Project } from './project-list'\nimport '@operato/gantt/ox-gantt.js'\n\n@customElement('project-schedule')\nexport class ProjectSchedule extends ScopedElementsMixin(PageView) {\n static styles = [\n css`\n :host {\n display: flex;\n flex-direction: column;\n\n color: #4e5055;\n\n width: 100%;\n background-color: #f7f7f7;\n overflow-y: auto;\n\n --grid-record-emphasized-background-color: red;\n --grid-record-emphasized-color: yellow;\n }\n\n *[bold] {\n font-weight: bold;\n }\n\n div[header] {\n display: flex;\n margin: 0px 20px;\n\n h2 {\n flex: 0.5;\n color: #3f71a0;\n }\n\n div[button-container] {\n display: flex;\n align-items: center;\n justify-content: end;\n flex: 0.5;\n\n md-elevated-button {\n margin: 0px 3px;\n\n --md-elevated-button-container-height: 35px;\n --md-elevated-button-label-text-size: 16px;\n --md-elevated-button-container-color: #0595e5;\n\n --md-elevated-button-label-text-color: #fff;\n --md-elevated-button-hover-label-text-color: #fff;\n --md-elevated-button-pressed-label-text-color: #fff;\n --md-elevated-button-focus-label-text-color: #fff;\n --md-elevated-button-icon-color: #fff;\n --md-elevated-button-hover-icon-color: #fff;\n --md-elevated-button-pressed-icon-color: #fff;\n --md-elevated-button-focus-icon-color: #fff;\n }\n }\n }\n\n div[body] {\n flex: 1;\n\n display: flex;\n flex-direction: column;\n margin: 0px 25px 25px 25px;\n gap: 15px;\n overflow: hidden;\n\n h3 {\n color: #2e79be;\n font-size: 18px;\n margin: 0px;\n }\n\n & > div {\n display: flex;\n border-radius: 5px;\n }\n\n ox-gantt {\n flex: 1;\n box-sizing: border-box;\n overflow: hidden;\n\n background-color: var(--md-sys-color-primary-container);\n color: var(--md-sys-color-on-primary-container);\n }\n\n div[select-container] {\n gap: 15px;\n\n div[date] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n background-color: #2ea4df1a;\n border: 1px solid #2ea4df33;\n border-radius: 5px;\n gap: 12px;\n padding: 12px 36px 12px 15px;\n\n span[name] {\n font-size: 16px;\n font-weight: bold;\n }\n }\n\n div[button] {\n flex: 1;\n border-radius: 5px;\n border: 1px solid #cccccc80;\n background-color: #fff;\n }\n }\n }\n `\n ]\n\n get context() {\n return {\n title: '공정표'\n }\n }\n\n private defaultProject = {\n name: '',\n buildingComplex: {\n address: '',\n area: 0,\n constructionCompany: '',\n clientCompany: '',\n supervisoryCompany: '',\n designCompany: '',\n constructionType: '',\n buildings: []\n }\n }\n @state() projectId: string = ''\n @state() project: Project = { ...this.defaultProject }\n @state() selectedBuildingIdx: number = 0\n\n private fromDate = '2022-12-27'\n private toDate = '2024-12-31'\n private timeScale = 'week-day'\n private extendGridLines = false\n private tasks = [\n {\n id: '1',\n title: 'Design',\n type: 'task',\n // section: developmentSection,\n startDate: '2023-01-01',\n endDate: '2023-01-05',\n progress: 60,\n dependsOn: '',\n length: '5d',\n tags: ['active'],\n resources: [{ type: '철근/형틀공', allocated: 6 }],\n children: []\n },\n {\n id: '2',\n title: 'Development',\n type: 'milestone',\n // section: developmentSection,\n startDate: '2023-01-06',\n endDate: '2023-01-06',\n progress: 30,\n dependsOn: '1',\n length: '1d',\n tags: ['milestone'],\n resources: [{ type: '철근/형틀공', allocated: 6 }],\n children: []\n },\n {\n id: '3',\n title: 'Coding',\n type: 'phase',\n // section: developmentSection,\n startDate: '2023-01-07',\n endDate: '2023-01-15',\n progress: 10,\n dependsOn: '2',\n length: '9d',\n tags: ['critical'],\n children: [\n {\n id: '3-1',\n title: 'Coding-A',\n type: 'task',\n // section: developmentSection,\n startDate: '2023-01-07',\n endDate: '2023-01-10',\n progress: 60,\n dependsOn: '',\n length: '4d',\n tags: ['done'],\n children: [\n {\n id: '3-1-1',\n title: 'Coding-A',\n type: 'task',\n // section: developmentSection,\n startDate: '2023-01-07',\n endDate: '2023-01-10',\n progress: 60,\n dependsOn: '',\n length: '4d',\n tags: ['active'],\n resources: [{ type: '창호공', allocated: 5 }],\n children: []\n },\n {\n id: '3-1-2',\n title: 'Coding-B',\n type: 'task',\n // section: developmentSection,\n startDate: '2023-01-11',\n endDate: '2023-01-15',\n dependsOn: '3-1-1',\n length: '5d',\n tags: ['active'],\n resources: [{ type: '창호공', allocated: 3 }],\n children: []\n }\n ]\n },\n {\n id: '3-2',\n title: 'Coding-B',\n type: 'task',\n // section: developmentSection,\n startDate: '2023-01-11',\n endDate: '2023-01-15',\n dependsOn: '3-1',\n length: '5d',\n tags: ['active'],\n resources: [{ type: '창호공', allocated: 6 }],\n children: []\n }\n ]\n },\n {\n id: '4',\n title: 'Test',\n type: 'milestone',\n // section: developmentSection,\n startDate: '2023-01-07',\n endDate: '2023-01-10',\n progress: 100,\n dependsOn: '1',\n length: '1d',\n tags: ['done'],\n resources: [{ type: '방수공', allocated: 5 }],\n children: []\n },\n {\n id: '5',\n title: 'Deploy',\n type: 'milestone',\n // section: developmentSection,\n startDate: '2023-01-15',\n endDate: '2023-01-21',\n dependsOn: '4',\n length: '1d',\n tags: ['milestone'],\n resources: [{ type: '목공', allocated: 3 }],\n children: []\n },\n {\n id: '6',\n title: 'Publishing',\n type: 'milestone',\n // section: developmentSection,\n startDate: '2023-01-11',\n endDate: '2023-01-15',\n dependsOn: '5',\n length: '1d',\n tags: ['milestone'],\n resources: [{ type: '금속공', allocated: 1 }],\n children: []\n },\n {\n id: '7',\n title: 'Provisioning',\n type: 'milestone',\n // section: developmentSection,\n startDate: '2023-01-12',\n endDate: '2023-01-15',\n dependsOn: '6',\n length: '1d',\n tags: ['milestone'],\n resources: [{ type: '타일공', allocated: 6 }],\n children: []\n },\n {\n id: '8',\n title: 'Alpha Test',\n type: 'milestone',\n // section: testSection,\n startDate: '2023-01-15',\n endDate: '2023-01-17',\n dependsOn: '7',\n length: '1d',\n tags: ['critical'],\n resources: [{ type: '창호공', allocated: 7 }],\n children: []\n },\n {\n id: '9',\n title: 'Beta Task',\n type: 'milestone',\n // section: testSection,\n startDate: '2023-01-15',\n endDate: '2023-01-18',\n dependsOn: '8',\n length: '1d',\n tags: ['active'],\n resources: [{ type: '도배공', allocated: 8 }],\n children: []\n },\n {\n id: '10',\n title: 'Gamma Test',\n type: 'milestone',\n // section: testSection,\n startDate: '2023-01-18',\n endDate: '2023-01-19',\n dependsOn: '9',\n length: '1d',\n tags: ['critical'],\n resources: [{ type: '조적공', allocated: 6 }],\n children: []\n },\n {\n id: '11',\n title: 'Zeta Test',\n type: 'milestone',\n // section: testSection,\n startDate: '2023-01-18',\n endDate: '2023-01-22',\n dependsOn: '9',\n length: '1d',\n tags: ['milestone'],\n resources: [{ type: '철근/형틀공', allocated: 6 }],\n children: []\n },\n {\n id: '12',\n title: 'Release',\n type: 'milestone',\n // section: releaseSection,\n startDate: '2023-01-18',\n endDate: '2023-01-23',\n dependsOn: '9',\n length: '1d',\n resources: [{ type: '방수공', allocated: 6 }],\n tags: ['milestone'],\n children: [\n {\n id: '12-1',\n title: 'Coding-A',\n type: 'task',\n // section: developmentSection,\n startDate: '2023-01-07',\n endDate: '2023-01-10',\n progress: 60,\n dependsOn: '',\n length: '4d',\n tags: ['done'],\n resources: [{ type: '방수공', allocated: 6 }],\n children: []\n },\n {\n id: '12-2',\n title: 'Coding-B',\n type: 'task',\n // section: developmentSection,\n startDate: '2023-01-11',\n endDate: '2023-01-15',\n dependsOn: '12-1',\n length: '5d',\n tags: ['active'],\n resources: [{ type: '조적공', allocated: 6 }],\n children: []\n }\n ]\n },\n {\n id: '13',\n title: 'Release',\n type: 'milestone',\n // section: releaseSection,\n startDate: '2023-01-22',\n endDate: '2023-01-27',\n dependsOn: '12',\n length: '1d',\n tags: ['done'],\n children: []\n },\n {\n id: '14',\n title: 'Release',\n type: 'milestone',\n // section: releaseSection,\n startDate: '2023-01-27',\n endDate: '2023-01-30',\n dependsOn: '13',\n length: '1d',\n tags: ['milestone'],\n resources: [{ type: '금속공', allocated: 1 }],\n children: []\n },\n {\n id: '15',\n title: 'Release',\n type: 'milestone',\n // section: releaseSection,\n startDate: '2023-01-30',\n endDate: '2023-01-31',\n dependsOn: '14',\n length: '1d',\n tags: ['milestone'],\n children: []\n },\n {\n id: '16',\n title: 'Release',\n type: 'milestone',\n // section: releaseSection,\n startDate: '2023-01-31',\n endDate: '2023-02-05',\n dependsOn: '15',\n length: '1d',\n resources: [{ type: '창호공', allocated: 1 }],\n tags: ['active'],\n children: []\n },\n {\n id: '17',\n title: 'Release',\n type: 'milestone',\n // section: releaseSection,\n startDate: '2023-02-06',\n endDate: '2023-02-07',\n dependsOn: '16',\n length: '1d',\n tags: ['milestone'],\n children: []\n },\n {\n id: '18',\n title: 'Release',\n type: 'milestone',\n // section: releaseSection,\n startDate: '2023-02-08',\n endDate: '2023-02-09',\n dependsOn: '17',\n length: '1d',\n tags: ['critical'],\n children: []\n },\n {\n id: '19',\n title: 'Release',\n type: 'milestone',\n // section: releaseSection,\n startDate: '2023-02-10',\n endDate: '2023-02-25',\n dependsOn: '18',\n length: '1d',\n tags: ['milestone'],\n resources: [{ type: '창호공', allocated: 7 }],\n children: []\n }\n ]\n\n render() {\n return html`\n <div header>\n <h2>${this.project.name}</h2>\n <div button-container>\n <md-elevated-button href=${`project-update/${this.project.id}`}>\n <md-icon slot=\"icon\">assignment</md-icon>프로젝트 정보 수정\n </md-elevated-button>\n <md-elevated-button href=${`project-plan-management/${this.project.id}`}>\n <md-icon slot=\"icon\">description</md-icon>도면 관리\n </md-elevated-button>\n <md-elevated-button href=${`project-task-update/${this.project.id}`}>\n <md-icon slot=\"icon\">event_note</md-icon>공정표 관리\n </md-elevated-button>\n </div>\n </div>\n\n <div body>\n <ox-gantt\n from-date=${new Date(this.fromDate).toISOString().split('T')[0]}\n to-date=${new Date(this.toDate).toISOString().split('T')[0]}\n .timeScale=${this.timeScale}\n .tasks=${this.tasks}\n @date-range-selected=${(e: CustomEvent) => {\n console.log('date-range-selected', e.detail)\n }}\n @task-clicked=${(e: CustomEvent) => {\n console.log('task-clicked', e.detail)\n }}\n ?extend-grid-lines=${this.extendGridLines}\n >\n </ox-gantt>\n <div select-container>\n <div date>\n <span name>기간선택</span>\n <div>\n <input type=\"date\" name=\"startDate\" project .value=${this.project.startDate || ''} max=\"9999-12-31\" />\n ~\n <input type=\"date\" name=\"endDate\" project .value=${this.project.endDate || ''} max=\"9999-12-31\" />\n </div>\n </div>\n <div button></div>\n </div>\n </div>\n `\n }\n\n async pageInitialized(lifecycle: PageLifecycle) {}\n\n async pageUpdated(changes: any, lifecycle: PageLifecycle) {\n if (this.active) {\n this.projectId = lifecycle.resourceId || ''\n await this.initProject(this.projectId)\n }\n }\n\n async initProject(projectId: string = '') {\n const response = await client.query({\n query: gql`\n query Project($id: String!) {\n project(id: $id) {\n id\n name\n buildingComplex {\n id\n planXScale\n planYScale\n buildings {\n id\n name\n drawing {\n id\n name\n }\n buildingLevels {\n id\n floor\n mainDrawing {\n id\n name\n }\n }\n }\n }\n }\n }\n `,\n variables: {\n id: projectId\n }\n })\n\n this.project = response.data?.project\n\n console.log('init project : ', this.project)\n }\n}\n"]}
@@ -46,7 +46,7 @@ let ProjectSettingList = class ProjectSettingList extends ScopedElementsMixin(Pa
46
46
 
47
47
  <div body>
48
48
  ${(_a = this.projectList) === null || _a === void 0 ? void 0 : _a.map((project) => {
49
- var _a;
49
+ var _a, _b;
50
50
  const filledText = html `<strong filled>등록완료</strong>`;
51
51
  const nonFilledText = html `<strong not-filled>미등록</strong>`;
52
52
  const projectFilledState = project.buildingComplex.address ? filledText : nonFilledText;
@@ -54,7 +54,11 @@ let ProjectSettingList = class ProjectSettingList extends ScopedElementsMixin(Pa
54
54
  const taskFilledState = false ? filledText : nonFilledText;
55
55
  return html `
56
56
  <div project-container>
57
- <img project-img src=${((_a = project.mainPhoto) === null || _a === void 0 ? void 0 : _a.fullpath) || ''} />
57
+ <img
58
+ ?no-image=${!((_a = project.mainPhoto) === null || _a === void 0 ? void 0 : _a.fullpath)}
59
+ project-img
60
+ src=${((_b = project.mainPhoto) === null || _b === void 0 ? void 0 : _b.fullpath) || '/assets/images/no-image.png'}
61
+ />
58
62
 
59
63
  <span project-info>
60
64
  <div name>${project.name}</div>
@@ -213,6 +217,10 @@ ProjectSettingList.styles = [
213
217
  aspect-ratio: 2;
214
218
  background-color: #cccccc80;
215
219
  }
220
+ img[project-img][no-image] {
221
+ object-fit: contain;
222
+ opacity: 0.5;
223
+ }
216
224
 
217
225
  span[project-info] {
218
226
  flex: 0.45;
@@ -1 +1 @@
1
- {"version":3,"file":"project-setting-list.js","sourceRoot":"","sources":["../../../client/pages/project/project-setting-list.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/icon/icon.js'\nimport '@material/web/button/elevated-button.js'\nimport '@material/web/button/outlined-button.js'\nimport '@material/web/progress/linear-progress.js'\nimport '@material/web/textfield/filled-text-field.js'\n\nimport { PageView } from '@operato/shell'\nimport { css, html } from 'lit'\nimport { customElement, state } from 'lit/decorators.js'\nimport { ScopedElementsMixin } from '@open-wc/scoped-elements'\nimport { client } from '@operato/graphql'\nimport { openPopup } from '@operato/layout'\n\nimport gql from 'graphql-tag'\nimport './popup/popup-project-create'\nimport { Project } from './project-list'\n\n@customElement('project-setting-list')\nexport class ProjectSettingList extends ScopedElementsMixin(PageView) {\n static styles = [\n css`\n :host {\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n\n width: 100%;\n height: 100%;\n background-color: #f7f7f7;\n\n --grid-record-emphasized-background-color: red;\n --grid-record-emphasized-color: yellow;\n }\n\n div[header] {\n display: flex;\n height: 100px;\n align-items: center;\n background-color: #2ea4df1a;\n border: 1px solid #2ea4df33;\n margin: 15px 23px;\n font-size: 18px;\n padding: 7px;\n border-radius: 5px;\n\n md-filled-text-field[type='search'] {\n margin-left: 5px;\n margin-right: 26px;\n\n --md-filled-text-field-container-shape: 0px;\n --md-filled-text-field-container-color: transparent;\n --md-filled-text-field-label-text-color: #999999;\n --md-filled-text-field-input-text-color: #4e5055;\n }\n\n md-elevated-button[add-project] {\n font-weight: bold;\n font-size: 16px;\n margin-left: 17px;\n padding: 13px 20px;\n\n --md-elevated-button-container-color: #24be7b;\n --md-elevated-button-label-text-color: #ffffff;\n --md-elevated-button-hover-label-text-color: #fff;\n --md-elevated-button-pressed-label-text-color: #fff;\n --md-elevated-button-focus-label-text-color: #fff;\n --md-elevated-button-icon-color: #fff;\n --md-elevated-button-hover-icon-color: #fff;\n --md-elevated-button-pressed-icon-color: #fff;\n --md-elevated-button-focus-icon-color: #fff;\n\n --md-elevated-button-container-shape: 7px;\n }\n }\n\n div[body] {\n div[project-container] {\n display: flex;\n flex-direction: row;\n min-height: 140px;\n margin: 17px 23px;\n background-color: #ffffff;\n border: 1px solid #cccccc80;\n border-radius: 5px;\n align-items: center;\n\n img[project-img] {\n width: 285px;\n aspect-ratio: 2;\n background-color: #cccccc80;\n }\n\n span[project-info] {\n flex: 0.45;\n padding: 6px 15px;\n font-size: 16px;\n\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n div[name] {\n color: #2e79be;\n font-weight: bold;\n font-size: 19px;\n margin-bottom: 2px;\n }\n }\n\n span[project-state] {\n flex: 0.55;\n padding: 10px 20px;\n min-width: 350px;\n\n & > div {\n margin-bottom: 13px;\n }\n\n div[progress] {\n position: relative;\n\n md-linear-progress {\n --md-linear-progress-track-height: 18px;\n --md-linear-progress-active-indicator-height: 18px;\n --md-linear-progress-track-shape: 5px;\n --md-linear-progress-active-indicator-color: #0595e51a;\n --md-linear-progress-track-color: #0595e533;\n }\n\n span {\n position: absolute;\n top: 0;\n left: 12px;\n font-size: 12px;\n font-weight: bold;\n color: #2e79be;\n\n &:last-child {\n left: unset;\n right: 12px;\n }\n }\n }\n\n div[filled] div {\n margin-right: 18px;\n display: inline-block;\n }\n\n strong[filled] {\n color: #1bb401;\n }\n strong[not-filled] {\n color: #ff4444;\n }\n\n md-outlined-button {\n min-height: 33px;\n padding: 0px 13px;\n margin-right: 2px;\n box-shadow: 1px 1px 1px #0000001a;\n --md-outlined-button-label-text-color: #586878;\n --md-outlined-button-label-text-weight: bold;\n }\n }\n }\n }\n `\n ]\n\n get context() {\n return {\n title: '셋팅'\n }\n }\n\n @state() private projectName: string = ''\n @state() private projectList: Project[] = []\n @state() private projectCount: number = 0\n\n render() {\n return html`\n <div header>\n <label>프로젝트 이름</label>\n <md-filled-text-field\n name=\"projectName\"\n type=\"search\"\n label=\"프로젝트 이름\"\n .value=${this.projectName}\n @input=${this._onInputChange}\n @keypress=${this._onKeypress}\n >\n <md-icon slot=\"leading-icon\">search</md-icon>\n </md-filled-text-field>\n\n <strong>총 ${this.projectCount}개</strong>\n <md-elevated-button add-project @click=${this._openCreateProjectPopup}>+ 신규 프로젝트 추가</md-elevated-button>\n </div>\n\n <div body>\n ${this.projectList?.map((project: Project) => {\n const filledText = html`<strong filled>등록완료</strong>`\n const nonFilledText = html`<strong not-filled>미등록</strong>`\n\n const projectFilledState = project.buildingComplex.address ? filledText : nonFilledText\n const supervisoryFilledState = true ? filledText : nonFilledText\n const taskFilledState = false ? filledText : nonFilledText\n\n return html`\n <div project-container>\n <img project-img src=${project.mainPhoto?.fullpath || ''} />\n\n <span project-info>\n <div name>${project.name}</div>\n <div content>${project.buildingComplex.address}</div>\n <div content>면적: ${project.buildingComplex.area}㎡</div>\n <div content>착공~준공: ${project.startDate}~${project.endDate}</div>\n <div content>발주처: <strong>${project.buildingComplex.clientCompany}</strong></div>\n </span>\n\n <span project-state>\n <div progress>\n <md-linear-progress buffer=\"100\" max=\"100\" value=${project.totalProgress || 0}> </md-linear-progress>\n <span>${project.totalProgress == 100 ? '완료' : '진행중'}</span>\n <span>${project.totalProgress || 0}%</span>\n </div>\n <div filled>\n <div>프로젝트 정보 ${projectFilledState}</div>\n <div>시공감리 자료 ${supervisoryFilledState}</div>\n <div>공정표 ${taskFilledState}</div>\n </div>\n <div>\n <md-outlined-button href=\"project-update/${project.id}\">프로젝트 정보 수정</md-outlined-button>\n <md-outlined-button href=\"project-plan-management/${project.id}\">도면 관리</md-outlined-button>\n <md-outlined-button href=\"project-task-management/${project.id}\">공정표 관리</md-outlined-button>\n </div>\n </span>\n </div>\n `\n })}\n </div>\n `\n }\n\n async pageInitialized(lifecycle: any) {\n this.getProjectList()\n }\n\n async getProjectList() {\n const response = await client.query({\n query: gql`\n query Projects($projectName: String!) {\n projects(projectName: $projectName) {\n items {\n id\n name\n mainPhoto {\n fullpath\n }\n startDate\n endDate\n totalProgress\n buildingComplex {\n address\n area\n clientCompany\n }\n }\n total\n }\n }\n `,\n variables: {\n projectName: this.projectName || ''\n }\n })\n\n this.projectList = response.data.projects?.items || []\n this.projectCount = response.data.projects?.total || 0\n }\n\n private _openCreateProjectPopup() {\n openPopup(html`<popup-project-create .refreshFn=${this.getProjectList.bind(this)}></popup-project-create>`, {\n backdrop: true,\n size: 'small',\n title: '신규 프로젝트 생성'\n })\n }\n\n // Input 요소의 값이 변경될 때 호출되는 콜백 함수\n private _onInputChange(event: InputEvent) {\n const target = event.target as HTMLInputElement\n this[target.name] = target.value\n }\n\n // 검색창에서 엔터입력시 검색\n private _onKeypress(event: KeyboardEvent) {\n if (event.code === 'Enter') {\n this.getProjectList()\n }\n }\n}\n"]}
1
+ {"version":3,"file":"project-setting-list.js","sourceRoot":"","sources":["../../../client/pages/project/project-setting-list.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/icon/icon.js'\nimport '@material/web/button/elevated-button.js'\nimport '@material/web/button/outlined-button.js'\nimport '@material/web/progress/linear-progress.js'\nimport '@material/web/textfield/filled-text-field.js'\n\nimport { PageView } from '@operato/shell'\nimport { css, html } from 'lit'\nimport { customElement, state } from 'lit/decorators.js'\nimport { ScopedElementsMixin } from '@open-wc/scoped-elements'\nimport { client } from '@operato/graphql'\nimport { openPopup } from '@operato/layout'\n\nimport gql from 'graphql-tag'\nimport './popup/popup-project-create'\nimport { Project } from './project-list'\n\n@customElement('project-setting-list')\nexport class ProjectSettingList extends ScopedElementsMixin(PageView) {\n static styles = [\n css`\n :host {\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n\n width: 100%;\n height: 100%;\n background-color: #f7f7f7;\n\n --grid-record-emphasized-background-color: red;\n --grid-record-emphasized-color: yellow;\n }\n\n div[header] {\n display: flex;\n height: 100px;\n align-items: center;\n background-color: #2ea4df1a;\n border: 1px solid #2ea4df33;\n margin: 15px 23px;\n font-size: 18px;\n padding: 7px;\n border-radius: 5px;\n\n md-filled-text-field[type='search'] {\n margin-left: 5px;\n margin-right: 26px;\n\n --md-filled-text-field-container-shape: 0px;\n --md-filled-text-field-container-color: transparent;\n --md-filled-text-field-label-text-color: #999999;\n --md-filled-text-field-input-text-color: #4e5055;\n }\n\n md-elevated-button[add-project] {\n font-weight: bold;\n font-size: 16px;\n margin-left: 17px;\n padding: 13px 20px;\n\n --md-elevated-button-container-color: #24be7b;\n --md-elevated-button-label-text-color: #ffffff;\n --md-elevated-button-hover-label-text-color: #fff;\n --md-elevated-button-pressed-label-text-color: #fff;\n --md-elevated-button-focus-label-text-color: #fff;\n --md-elevated-button-icon-color: #fff;\n --md-elevated-button-hover-icon-color: #fff;\n --md-elevated-button-pressed-icon-color: #fff;\n --md-elevated-button-focus-icon-color: #fff;\n\n --md-elevated-button-container-shape: 7px;\n }\n }\n\n div[body] {\n div[project-container] {\n display: flex;\n flex-direction: row;\n min-height: 140px;\n margin: 17px 23px;\n background-color: #ffffff;\n border: 1px solid #cccccc80;\n border-radius: 5px;\n align-items: center;\n\n img[project-img] {\n width: 285px;\n aspect-ratio: 2;\n background-color: #cccccc80;\n }\n img[project-img][no-image] {\n object-fit: contain;\n opacity: 0.5;\n }\n\n span[project-info] {\n flex: 0.45;\n padding: 6px 15px;\n font-size: 16px;\n\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n div[name] {\n color: #2e79be;\n font-weight: bold;\n font-size: 19px;\n margin-bottom: 2px;\n }\n }\n\n span[project-state] {\n flex: 0.55;\n padding: 10px 20px;\n min-width: 350px;\n\n & > div {\n margin-bottom: 13px;\n }\n\n div[progress] {\n position: relative;\n\n md-linear-progress {\n --md-linear-progress-track-height: 18px;\n --md-linear-progress-active-indicator-height: 18px;\n --md-linear-progress-track-shape: 5px;\n --md-linear-progress-active-indicator-color: #0595e51a;\n --md-linear-progress-track-color: #0595e533;\n }\n\n span {\n position: absolute;\n top: 0;\n left: 12px;\n font-size: 12px;\n font-weight: bold;\n color: #2e79be;\n\n &:last-child {\n left: unset;\n right: 12px;\n }\n }\n }\n\n div[filled] div {\n margin-right: 18px;\n display: inline-block;\n }\n\n strong[filled] {\n color: #1bb401;\n }\n strong[not-filled] {\n color: #ff4444;\n }\n\n md-outlined-button {\n min-height: 33px;\n padding: 0px 13px;\n margin-right: 2px;\n box-shadow: 1px 1px 1px #0000001a;\n --md-outlined-button-label-text-color: #586878;\n --md-outlined-button-label-text-weight: bold;\n }\n }\n }\n }\n `\n ]\n\n get context() {\n return {\n title: '셋팅'\n }\n }\n\n @state() private projectName: string = ''\n @state() private projectList: Project[] = []\n @state() private projectCount: number = 0\n\n render() {\n return html`\n <div header>\n <label>프로젝트 이름</label>\n <md-filled-text-field\n name=\"projectName\"\n type=\"search\"\n label=\"프로젝트 이름\"\n .value=${this.projectName}\n @input=${this._onInputChange}\n @keypress=${this._onKeypress}\n >\n <md-icon slot=\"leading-icon\">search</md-icon>\n </md-filled-text-field>\n\n <strong>총 ${this.projectCount}개</strong>\n <md-elevated-button add-project @click=${this._openCreateProjectPopup}>+ 신규 프로젝트 추가</md-elevated-button>\n </div>\n\n <div body>\n ${this.projectList?.map((project: Project) => {\n const filledText = html`<strong filled>등록완료</strong>`\n const nonFilledText = html`<strong not-filled>미등록</strong>`\n\n const projectFilledState = project.buildingComplex.address ? filledText : nonFilledText\n const supervisoryFilledState = true ? filledText : nonFilledText\n const taskFilledState = false ? filledText : nonFilledText\n\n return html`\n <div project-container>\n <img\n ?no-image=${!project.mainPhoto?.fullpath}\n project-img\n src=${project.mainPhoto?.fullpath || '/assets/images/no-image.png'}\n />\n\n <span project-info>\n <div name>${project.name}</div>\n <div content>${project.buildingComplex.address}</div>\n <div content>면적: ${project.buildingComplex.area}㎡</div>\n <div content>착공~준공: ${project.startDate}~${project.endDate}</div>\n <div content>발주처: <strong>${project.buildingComplex.clientCompany}</strong></div>\n </span>\n\n <span project-state>\n <div progress>\n <md-linear-progress buffer=\"100\" max=\"100\" value=${project.totalProgress || 0}> </md-linear-progress>\n <span>${project.totalProgress == 100 ? '완료' : '진행중'}</span>\n <span>${project.totalProgress || 0}%</span>\n </div>\n <div filled>\n <div>프로젝트 정보 ${projectFilledState}</div>\n <div>시공감리 자료 ${supervisoryFilledState}</div>\n <div>공정표 ${taskFilledState}</div>\n </div>\n <div>\n <md-outlined-button href=\"project-update/${project.id}\">프로젝트 정보 수정</md-outlined-button>\n <md-outlined-button href=\"project-plan-management/${project.id}\">도면 관리</md-outlined-button>\n <md-outlined-button href=\"project-task-management/${project.id}\">공정표 관리</md-outlined-button>\n </div>\n </span>\n </div>\n `\n })}\n </div>\n `\n }\n\n async pageInitialized(lifecycle: any) {\n this.getProjectList()\n }\n\n async getProjectList() {\n const response = await client.query({\n query: gql`\n query Projects($projectName: String!) {\n projects(projectName: $projectName) {\n items {\n id\n name\n mainPhoto {\n fullpath\n }\n startDate\n endDate\n totalProgress\n buildingComplex {\n address\n area\n clientCompany\n }\n }\n total\n }\n }\n `,\n variables: {\n projectName: this.projectName || ''\n }\n })\n\n this.projectList = response.data.projects?.items || []\n this.projectCount = response.data.projects?.total || 0\n }\n\n private _openCreateProjectPopup() {\n openPopup(html`<popup-project-create .refreshFn=${this.getProjectList.bind(this)}></popup-project-create>`, {\n backdrop: true,\n size: 'small',\n title: '신규 프로젝트 생성'\n })\n }\n\n // Input 요소의 값이 변경될 때 호출되는 콜백 함수\n private _onInputChange(event: InputEvent) {\n const target = event.target as HTMLInputElement\n this[target.name] = target.value\n }\n\n // 검색창에서 엔터입력시 검색\n private _onKeypress(event: KeyboardEvent) {\n if (event.code === 'Enter') {\n this.getProjectList()\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- export default function route(page: string): "construction-type-management" | "project-list" | "project-detail" | "project-schedule-list" | "project-schedule" | "project-setting-list" | "project-update" | "project-plan-management" | "manager-management" | "worker-type-management" | undefined;
1
+ export default function route(page: string): "project-list" | "project-detail" | "project-schedule-list" | "project-schedule" | "project-setting-list" | "project-update" | "project-plan-management" | "manager-management" | "worker-type-management" | "construction-type-management" | undefined;