diff --git a/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/SchedulingUnitList.js b/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/SchedulingUnitList.js index 3aca66a0102aa972d67ad91db6cd66aabee01ff5..9e64bdb13a17ccfad2dbcc20b55990a511a512c6 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/SchedulingUnitList.js +++ b/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/SchedulingUnitList.js @@ -1,6 +1,6 @@ import React, { Component } from 'react' import 'primeflex/primeflex.css'; - +import moment, { duration } from 'moment'; import AppLoader from "./../../layout/components/AppLoader"; import ViewTable from './../../components/ViewTable'; @@ -18,6 +18,7 @@ class SchedulingUnitList extends Component{ }], isLoading: true, defaultcolumns: [ { + "type":"Type", "name":"Name", "description":"Description", "created_at":"Created Date", @@ -25,7 +26,7 @@ class SchedulingUnitList extends Component{ "requirements_template_id": "Template", "start_time":"Start Time", "stop_time":"End time", - "duration":"Duration" + "duration":"Duration (HH:mm:ss)" }], optionalcolumns: [{ "actionpath":"actionpath", @@ -33,25 +34,42 @@ class SchedulingUnitList extends Component{ columnclassname: [{ "Template":"filter-input-50", "Duration":"filter-input-50", + "Type": "filter-input-75" }] } } + + async getSchedulingUnitList () { const bluePrint = await ScheduleService.getSchedulingUnitBlueprint(); ScheduleService.getSchedulingUnitDraft().then(scheduleunit =>{ + const output = []; var scheduleunits = scheduleunit.data.results; for( const scheduleunit of scheduleunits){ - const blueprintdata = bluePrint.data.results.find(i => i.draft_id === scheduleunit.id); + const blueprintdata = bluePrint.data.results.filter(i => i.draft_id === scheduleunit.id); + blueprintdata.map(blueP => { + blueP.duration = moment.utc(blueP.duration*1000).format('HH:mm:ss'); + blueP.type="Blueprint"; + blueP['actionpath'] = '/task/view/type/id'; + return blueP; + }); + output.push(...blueprintdata); scheduleunit['actionpath']='/schedulingunit/view'; - scheduleunit['start_time'] = blueprintdata.start_time; - scheduleunit['stop_time'] = blueprintdata.stop_time; + scheduleunit['type'] = 'Draft'; + scheduleunit['duration'] = moment.utc(scheduleunit.duration*1000).format('HH:mm:ss'); + output.push(scheduleunit); } this.setState({ - scheduleunit : scheduleunit.data ,isLoading:false + scheduleunit: output, isLoading:false }); }) } + + componentDidMount(){ + this.getSchedulingUnitList(); + + } componentDidMount(){ this.getSchedulingUnitList(); @@ -74,9 +92,9 @@ class SchedulingUnitList extends Component{ paths - specify the path for navigation - Table will set "id" value for each row in action button */} - {this.state.scheduleunit.results && + {this.state.scheduleunit && <ViewTable - data={this.state.scheduleunit.results} + data={this.state.scheduleunit} defaultcolumns={this.state.defaultcolumns} optionalcolumns={this.state.optionalcolumns} columnclassname={this.state.columnclassname} diff --git a/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/ViewSchedulingUnit.js b/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/ViewSchedulingUnit.js index 4b3c24179fb7025275c45512fb753e32fb5822a5..d1774c92f2a617f471744ac18cd7e22a25fa59d8 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/ViewSchedulingUnit.js +++ b/SAS/TMSS/frontend/tmss_webapp/src/routes/Scheduling/ViewSchedulingUnit.js @@ -21,7 +21,7 @@ class ViewSchedulingUnit extends Component{ }], defaultcolumns: [ { - "tasktype":"Task Type", + "tasktype":"Type", "id":"ID", "name":"Name", "description":"Description", @@ -30,11 +30,11 @@ class ViewSchedulingUnit extends Component{ "do_cancel":"Cancelled", "start_time":"Start Time", "stop_time":"End Time", - "duration":"Duration", + "duration":"Duration (HH:mm:ss)", }], optionalcolumns: [{ - "relative_start_time":"Relative Start Time", - "relative_stop_time":"Relative End Time", + "relative_start_time":"Relative Start Time (HH:mm:ss)", + "relative_stop_time":"Relative End Time (HH:mm:ss)", "tags":"Tags", "blueprint_draft":"BluePrint / Task Draft link", "url":"URL", @@ -42,12 +42,14 @@ class ViewSchedulingUnit extends Component{ }], columnclassname: [{ - "Task Type":"filter-input-100", + "Type":"filter-input-75", "ID":"filter-input-50", "Cancelled":"filter-input-50", - "Duration":"filter-input-50", + "Duration (HH:mm:ss)":"filter-input-75", "Template ID":"filter-input-50", - "BluePrint / Task Draft link":"filter-input-100", + "BluePrint / Task Draft link": "filter-input-100", + "Relative Start Time (HH:mm:ss)": "filter-input-75", + "Relative End Time (HH:mm:ss)": "filter-input-75", }] } } @@ -59,6 +61,11 @@ class ViewSchedulingUnit extends Component{ .then(scheduleunit =>{ ScheduleService.getScheduleTasksBySchedulingUnitId(scheduleunit.data.id) .then(tasks =>{ + tasks.map(task => { + task.duration = moment.utc(task.duration*1000).format('HH:mm:ss'); + task.relative_start_time = moment.utc(task.relative_start_time*1000).format('HH:mm:ss'); + task.relative_stop_time = moment.utc(task.relative_stop_time*1000).format('HH:mm:ss'); + }); this.setState({ scheduleunit : scheduleunit.data, schedule_unit_task : tasks, @@ -90,35 +97,35 @@ class ViewSchedulingUnit extends Component{ { this.state.isLoading ? <AppLoader/> :this.state.scheduleunit && <> <div className="p-grid"> - <label className="p-col-2">Name</label> - <span className="p-col-4">{this.state.scheduleunit.name}</span> - <label className="p-col-2">Description</label> - <span className="p-col-4">{this.state.scheduleunit.description}</span> + <label className="col-lg-2 col-md-2 col-sm-12">Name</label> + <span className="p-col-lg-4 col-md-4 col-sm-12">{this.state.scheduleunit.name}</span> + <label className="col-lg-2 col-md-2 col-sm-12">Description</label> + <span className="col-lg-4 col-md-4 col-sm-12">{this.state.scheduleunit.description}</span> </div> <div className="p-grid"> - <label className="p-col-2">Created At</label> - <span className="p-col-4">{moment(this.state.scheduleunit.created_at).format("YYYY-MMM-DD HH:mm:SS")}</span> - <label className="p-col-2">Updated At</label> - <span className="p-col-4">{moment(this.state.scheduleunit.updated_at).format("YYYY-MMM-DD HH:mm:SS")}</span> + <label className="col-lg-2 col-md-2 col-sm-12">Created At</label> + <span className="col-lg-4 col-md-4 col-sm-12">{moment(this.state.scheduleunit.created_at).format("YYYY-MMM-DD HH:mm:SS")}</span> + <label className="col-lg-2 col-md-2 col-sm-12">Updated At</label> + <span className="col-lg-4 col-md-4 col-sm-12">{moment(this.state.scheduleunit.updated_at).format("YYYY-MMM-DD HH:mm:SS")}</span> </div> <div className="p-grid"> - <label className="p-col-2">Start Time</label> - <span className="p-col-4">{this.state.scheduleunit.start_time && moment(this.state.scheduleunit.start_time).format("YYYY-MMM-DD HH:mm:SS")}</span> - <label className="p-col-2">End Time</label> - <span className="p-col-4">{this.state.scheduleunit.stop_time && moment(this.state.scheduleunit.stop_time).format("YYYY-MMM-DD HH:mm:SS")}</span> + <label className="col-lg-2 col-md-2 col-sm-12">Start Time</label> + <span className="col-lg-4 col-md-4 col-sm-12">{this.state.scheduleunit.start_time && moment(this.state.scheduleunit.start_time).format("YYYY-MMM-DD HH:mm:SS")}</span> + <label className="col-lg-2 col-md-2 col-sm-12">End Time</label> + <span className="col-lg-4 col-md-4 col-sm-12">{this.state.scheduleunit.stop_time && moment(this.state.scheduleunit.stop_time).format("YYYY-MMM-DD HH:mm:SS")}</span> </div> <div className="p-grid"> - <label className="p-col-2">Template ID</label> - <span className="p-col-4">{this.state.scheduleunit.requirements_template_id}</span> - <label className="p-col-2">Scheduling set</label> - <span className="p-col-4">{this.state.scheduleunit.scheduling_set_id}</span> + <label className="col-lg-2 col-md-2 col-sm-12">Template ID</label> + <span className="col-lg-4 col-md-4 col-sm-12">{this.state.scheduleunit.requirements_template_id}</span> + <label className="col-lg-2 col-md-2 col-sm-12">Scheduling set</label> + <span className="col-lg-4 col-md-4 col-sm-12">{this.state.scheduleunit.scheduling_set_id}</span> </div> <div className="p-grid"> - <label className="p-col-2">Duration</label> - <span className="p-col-4">{this.state.scheduleunit.duration}</span> - <label className="p-col-2">Tags</label> + <label className="col-lg-2 col-md-2 col-sm-12">Duration (HH:mm:ss)</label> + <span className="col-lg-4 col-md-4 col-sm-12">{moment.utc(this.state.scheduleunit.duration*1000).format('HH:mm:ss')}</span> + <label className="col-lg-2 col-md-2 col-sm-12">Tags</label> <Chips className="p-col-4 chips-readonly" disabled value={this.state.scheduleunit.tags}></Chips> - <span className="p-col-4">{this.state.scheduleunit.tags}</span> + <span className="col-lg-4 col-md-4 col-sm-12">{this.state.scheduleunit.tags}</span> </div> </> diff --git a/SAS/TMSS/frontend/tmss_webapp/src/services/schedule.service.js b/SAS/TMSS/frontend/tmss_webapp/src/services/schedule.service.js index 602c36a0245c964d3312ffe472c88894e183d033..f09e1da9e877f7867ce4f2614cabadccf3a9f6aa 100644 --- a/SAS/TMSS/frontend/tmss_webapp/src/services/schedule.service.js +++ b/SAS/TMSS/frontend/tmss_webapp/src/services/schedule.service.js @@ -46,7 +46,7 @@ const ScheduleService = { .then(response =>{ for(const task of response.data.results){ let scheduletask = []; - scheduletask['tasktype'] = 'Task Draft'; + scheduletask['tasktype'] = 'Draft'; scheduletask['actionpath'] = '/task/view/draft/'+task['id']; scheduletask['blueprint_draft'] = task['task_blueprints'];