You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
455 lines
27 KiB
455 lines
27 KiB
<?xml version="1.0" encoding="UTF-8"?>
|
|
<templates id="template" xml:space="preserve">
|
|
<t t-name="PjDashboard">
|
|
<div class="oh_dashboards" style="margin-top: 20px;">
|
|
<div class="container-fluid o_pj_dashboard">
|
|
</div>
|
|
</div>
|
|
</t>
|
|
|
|
<t t-name="DashboardProject">
|
|
<div class="row main-section" style="margin-left: 170px;">
|
|
<div class="inner_select" style="display: flex;width:100%;">
|
|
<p style="margin-left: 20px;">Start Date :</p>
|
|
<p>
|
|
<input type="date" class="inner_select" id="start_date" name="start_date" />
|
|
</p>
|
|
<p>End Date :</p>
|
|
<p>
|
|
<input type="date" class="inner_select" id="end_date" name="end_date" />
|
|
</p>
|
|
<p>Project :</p>
|
|
<p>
|
|
<select class="inner_select" id="project_selection">
|
|
<option value="null">All Projects</option>
|
|
</select>
|
|
</p>
|
|
<p>Employees :</p>
|
|
<p>
|
|
<select class="inner_select" id="employee_selection">
|
|
<option value="null">All Employees</option>
|
|
</select>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
<div class="row" style="margin-left: 4%;">
|
|
<div class="col-md-4 col-sm-6 tot_projects oh-payslip">
|
|
<div class="oh-card" style="width: 410px;">
|
|
<div class="oh-card-body tot_projects" style="box-shadow:5px 11px 30px;">
|
|
<div class="stat-widget-one" style="display:flex;">
|
|
<div class="stat-icon"><i class="fa fa-puzzle-piece" /></div>
|
|
<div class="stat-head" style="padding: 5%;width: 60%;">Total Project</div>
|
|
<div class="stat_count" style="padding: 4%;width: 30%;" id="tot_project">
|
|
<t t-esc="widget.total_projects" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-4 col-sm-6 oh-payslip">
|
|
<div class="oh-card" style="width: 410px;">
|
|
<div class="oh-card-body tot_emp" style="box-shadow:5px 11px 30px;">
|
|
<div class="stat-widget-one" style="display:flex;">
|
|
<div class="stat-icon"><i class="fa fa-user" /></div>
|
|
<div class="stat-head" style="padding: 5%;width: 60%;">Total Employees</div>
|
|
<div class="stat_count" style="padding: 4%;width: 30%;" id="tot_employee">
|
|
<t t-esc="widget.total_employees" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-4 col-sm-6 oh-payslip">
|
|
<div class="oh-card" style="width: 410px;">
|
|
<div class="oh-card-body tot_tasks" style="box-shadow:5px 11px 30px;">
|
|
<div class="stat-widget-one" style="display:flex;">
|
|
<div class="stat-icon"><i class="fa fa-tasks" /></div>
|
|
<div class="stat-head" style="padding: 5%;width: 60%;">Total tasks</div>
|
|
<div class="stat_count" style="padding: 4%;width: 30%;" id="tot_task">
|
|
<t t-esc="widget.total_tasks" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-4 col-sm-6 oh-payslip">
|
|
<div class="oh-card" style="width: 410px;">
|
|
<div class="oh-card-body hr_recorded" style="box-shadow:5px 11px 30px;">
|
|
<div class="stat-widget-one" style="display:flex;">
|
|
<div class="stat-icon"><i class="fa fa-clock-o" /></div>
|
|
<div class="stat-head" style="padding: 5%;width: 60%;">Hours Recorded</div>
|
|
<div class="stat_count" style="padding: 4%;width: 30%;" id="tot_hrs">
|
|
<t t-esc="widget.total_hours" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-4 col-sm-6 oh-payslip">
|
|
<div class="oh-card" style="width: 410px;">
|
|
<div class="oh-card-body tot_profitability" style="box-shadow:5px 11px 30px;">
|
|
<div class="stat-widget-one" style="display:flex;">
|
|
<div class="stat-icon"><i class="fa fa-dollar" /></div>
|
|
<div class="stat-head" style="padding: 5%;width: 60%;">Total Profitability</div>
|
|
<div class="stat_count" style="padding: 4%;width: 30%;" id="tot_margin">
|
|
<t t-esc="widget.total_profitability" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-4 col-sm-6 oh-payslip">
|
|
<div class="oh-card" style="width: 410px;">
|
|
<div class="oh-card-body tot_sale" style="box-shadow:5px 11px 30px;">
|
|
<div class="stat-widget-one" style="display:flex;">
|
|
<div class="stat-icon"><i class="fa fa-ticket" /></div>
|
|
<div class="stat-head" style="padding: 5%;width: 60%;">Total Sale Orders</div>
|
|
<div class="stat_count" style="padding: 4%;width: 30%;" id="tot_so">
|
|
<t t-esc="widget.total_sale_orders" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</t>
|
|
|
|
<t t-name="DashboardChart">
|
|
<div class="col-xs-12 col-sm-12 col-lg-12 col-md-12">
|
|
<div class="row main-section">
|
|
<div class="col-sm-7 col-lg-7" style="margin-left: 2%;">
|
|
<div class="graph_view" style="padding:0">
|
|
<div class="text-color hr-chart-1">
|
|
<canvas id="project_doughnut" style="background:#fff;" width="200" height="120" />
|
|
</div>
|
|
</div>
|
|
<div class="selling_product_graph_view">
|
|
<div class="oh-card text-color" style="background-color:#fff;">
|
|
<canvas class="top_selling_employees" width="200" height="120" />
|
|
</div>
|
|
</div>
|
|
<div class="row" style="margin:0px">
|
|
<div class="col-md-12" id="col-graph">
|
|
<div class="card">
|
|
<div class="card-header">
|
|
<div class="card-title">
|
|
<b>
|
|
<h3 class="custom-h3">Profitability</h3>
|
|
</b>
|
|
</div>
|
|
<div class="card-tools">
|
|
<select id="income_expense_values">
|
|
<option id="income_this_year" value="income_this_year">This Year</option>
|
|
<option id="income_this_month" value="income_this_month">This Month</option>
|
|
<div role="separator" class="dropdown-divider" />
|
|
<option id="income_last_year" value="income_last_year">Last Year</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="card-body mt-3" id="in_ex_body_hide">
|
|
<div class="row">
|
|
<p id="myelement1"> </p>
|
|
<div class="chart">
|
|
<canvas id="canvas" width="100% !important" height="auto !important"> </canvas>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-4 col-lg-4" style="top: 20px;right: -100px;">
|
|
<div class="hr_notification" style="background: #fff;
|
|
height: 763px;margin-bottom: 15px;margin-top: 15px;box-shadow:5px 11px 30px;">
|
|
<div class="hr_notification_head" style="font-size: 17px;text-align: center;padding: 12px 0;color: #fff;font-weight: 300;background: #000080;margin-bottom: 9px;">
|
|
Project Task Details
|
|
</div>
|
|
<div class="col-sm-12 col-lg-12" style="padding:0;">
|
|
<div class="text-color">
|
|
<div class="media" style="overflow-y: auto;height: 704px;">
|
|
<div class="media-body">
|
|
<table class="table table-sm">
|
|
<thead>
|
|
<tr>
|
|
<th rowspan="14">Project Name</th>
|
|
<th rowspan="14">Task Name</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<t t-foreach="widget.task_data" t-as="proj">
|
|
<tr>
|
|
<td>
|
|
<t t-esc="proj[1]" />
|
|
</td>
|
|
<td>
|
|
<t t-esc="proj[0]" />
|
|
</td>
|
|
</tr>
|
|
</t>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="hr_notification" style="background: #fff;transition: transform 0.2s ease, box-shadow 0.2s ease;will-change: transform, box-shadow;box-shadow: 0 10px 40px 0 rgba(62,57,107,0.07), 0 2px 9px 0 rgba(62,57,107,0.06);
|
|
height: 284px;margin-bottom: 15px;">
|
|
<div class="hr_notification_head" style="font-size: 17px;text-align: center;padding: 12px 0;color: #fff;font-weight: 300;background: #000080;margin-bottom: 9px;">
|
|
Hours Recorded
|
|
</div>
|
|
<div class="col-sm-12 col-lg-12" style="padding:0;">
|
|
<div class="text-color">
|
|
<div class="">
|
|
<div class="media">
|
|
<div class="media-body">
|
|
<table class="table table-sm">
|
|
<thead>
|
|
<tr>
|
|
<th rowspan="14">Billed on Timesheet</th>
|
|
</tr>
|
|
|
|
</thead>
|
|
<tbody>
|
|
<t t-foreach="widget.hour_recorde" t-as="hour_recorde">
|
|
<tr>
|
|
<td>
|
|
<h2 class="text-color display-6" style="font-size: 15px;margin-left: 400px;margin-top: -30px;">
|
|
<t t-esc="hour_recorde" />
|
|
</h2>
|
|
</td>
|
|
</tr>
|
|
</t>
|
|
</tbody>
|
|
</table>
|
|
<table class="table table-sm">
|
|
<thead>
|
|
<tr>
|
|
<th rowspan="14">Billed at a Fixed price</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<t t-foreach="widget.billable_fix" t-as="billable_fix">
|
|
<tr>
|
|
<td>
|
|
<h2 class="text-color display-6" style="font-size: 15px;margin-left: 400px;margin-top: -30px;">
|
|
<t t-esc="billable_fix" />
|
|
</h2>
|
|
</td>
|
|
</tr>
|
|
</t>
|
|
</tbody>
|
|
</table>
|
|
<table class="table table-sm">
|
|
<thead>
|
|
<tr>
|
|
<th rowspan="14">No task found</th>
|
|
</tr>
|
|
|
|
</thead>
|
|
<tbody>
|
|
<t t-foreach="widget.hour_recorded" t-as="hour_recorded">
|
|
<tr>
|
|
|
|
<td>
|
|
<h2 class="text-color display-6" style="font-size: 15px;margin-left: 400px;margin-top: -30px;">
|
|
|
|
<t t-esc="hour_recorded" />
|
|
</h2>
|
|
</td>
|
|
</tr>
|
|
</t>
|
|
</tbody>
|
|
</table>
|
|
<table class="table table-sm">
|
|
<thead>
|
|
<tr>
|
|
<th rowspan="14">Non Billable Tasks</th>
|
|
</tr>
|
|
|
|
</thead>
|
|
<tbody>
|
|
<t t-foreach="widget.non_billable" t-as="non_billable">
|
|
<tr>
|
|
|
|
<td>
|
|
<h2 class="text-color display-6" style="font-size: 15px;margin-left: 400px;margin-top: -30px;">
|
|
|
|
<t t-esc="non_billable" />
|
|
</h2>
|
|
</td>
|
|
</tr>
|
|
</t>
|
|
</tbody>
|
|
</table>
|
|
<table class="table table-sm">
|
|
<thead>
|
|
<tr>
|
|
<th rowspan="14" style="padding-left: 24.3rem;">Total:</th>
|
|
</tr>
|
|
|
|
</thead>
|
|
<tbody>
|
|
<t t-foreach="widget.total_hr" t-as="total_hr">
|
|
<tr>
|
|
|
|
<td>
|
|
<h2 class="text-color display-6" style="font-size: 15px;margin-left: 400px;margin-top: -30px;">
|
|
|
|
<t t-esc="total_hr" />
|
|
</h2>
|
|
</td>
|
|
</tr>
|
|
</t>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
<div class="hr_notification" style="background: #fff;transition: transform 0.2s ease, box-shadow 0.2s ease;will-change: transform, box-shadow;box-shadow: 0 10px 40px 0 rgba(62,57,107,0.07), 0 2px 9px 0 rgba(62,57,107,0.06);
|
|
height: 284px;margin-bottom: 15px;">
|
|
<div class="hr_notification_head" style="font-size: 17px;text-align: center;padding: 12px 0;color: #fff;font-weight: 300;background:#000080;;margin-bottom: 9px;">
|
|
Profitability
|
|
</div>
|
|
<div class="col-sm-12 col-lg-12" style="padding:0;">
|
|
<div class="text-color">
|
|
<div class="">
|
|
<div class="media">
|
|
<div class="media-body">
|
|
<table class="table table-sm">
|
|
<thead>
|
|
<tr>
|
|
<th rowspan="14">Invoiced</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<t t-foreach="widget.invoiced" t-as="invoiced">
|
|
<tr>
|
|
<td>
|
|
<h2 class="text-color display-6" style="font-size: 15px;margin-left: 400px;margin-top: -30px;">
|
|
<t t-esc="invoiced" />
|
|
</h2>
|
|
</td>
|
|
</tr>
|
|
</t>
|
|
</tbody>
|
|
</table>
|
|
<table class="table table-sm">
|
|
<thead>
|
|
<tr>
|
|
<th rowspan="14">To Invoice</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<t t-foreach="widget.to_invoice" t-as="to_invoice">
|
|
<tr>
|
|
<td>
|
|
<h2 class="text-color display-6" style="font-size: 15px;margin-left: 400px;margin-top: -30px;">
|
|
|
|
<t t-esc="to_invoice" />
|
|
</h2>
|
|
</td>
|
|
</tr>
|
|
</t>
|
|
</tbody>
|
|
</table>
|
|
<table class="table table-sm">
|
|
<thead>
|
|
<tr>
|
|
<th rowspan="14">Timesheet costs</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<t t-foreach="widget.time_cost" t-as="time_cost">
|
|
<tr>
|
|
|
|
<td>
|
|
<h2 class="text-color display-6" style="font-size: 15px;margin-left: 400px;margin-top: -30px;">
|
|
|
|
<t t-esc="time_cost" />
|
|
</h2>
|
|
</td>
|
|
</tr>
|
|
</t>
|
|
</tbody>
|
|
</table>
|
|
<table class="table table-sm">
|
|
<thead>
|
|
<tr>
|
|
<th rowspan="14">Other costs</th>
|
|
</tr>
|
|
|
|
</thead>
|
|
<tbody>
|
|
<t t-foreach="widget.expen_cost" t-as="expen_cost">
|
|
<tr>
|
|
<td>
|
|
<h2 class="text-color display-6" style="font-size: 15px;margin-left: 400px;margin-top: -30px;">
|
|
|
|
<t t-esc="expen_cost" />
|
|
</h2>
|
|
</td>
|
|
</tr>
|
|
</t>
|
|
</tbody>
|
|
</table>
|
|
<table class="table table-sm">
|
|
<thead>
|
|
<tr>
|
|
<th rowspan="14" style="padding-left: 24.3rem;">Total:</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<t t-foreach="widget.payment_details" t-as="payment_method">
|
|
<tr>
|
|
|
|
<td>
|
|
<h2 class="text-color display-6" style="font-size: 15px;margin-left: 400px;margin-top: -30px;">
|
|
|
|
<t t-esc="payment_method" />
|
|
</h2>
|
|
</td>
|
|
</tr>
|
|
</t>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="hr_notification" style="background: #fff;transition: transform 0.2s ease, box-shadow 0.2s ease;will-change: transform, box-shadow;box-shadow: 0 10px 40px 0 rgba(62,57,107,0.07), 0 2px 9px 0 rgba(62,57,107,0.06);
|
|
height: auto;padding-bottom: 15px;box-shadow:5px 11px 30px;">
|
|
<div class="hr_notification_head" style="font-size: 17px;text-align: center;padding: 12px 0;color: #fff;font-weight: 300;background: #000080;margin-bottom: 9px;">
|
|
Stage Wise Total Projects
|
|
</div>
|
|
<table id="table_status" style="width">
|
|
<tr>
|
|
<th />
|
|
<th />
|
|
</tr>
|
|
<t t-foreach="widget.project_stage_list" t-as="data">
|
|
<tr>
|
|
<td style="text-align:center;">
|
|
<h4 t-esc="data['name']" />
|
|
</td>
|
|
<td style="text-align:center;">
|
|
<h4 class="project-pill" t-esc="data['projects']" />
|
|
</td>
|
|
</tr>
|
|
</t>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</t>
|
|
</templates>
|