Initial Commit

This commit is contained in:
root
2013-05-06 03:38:29 -04:00
commit d392a540e7
134 changed files with 22012 additions and 0 deletions

View File

@ -0,0 +1,175 @@
<ul class="breadcrumb">
<li><a href="/clients"><i class="icon-briefcase"></i> Clients</a><span class="divider"></span><li>
<li class="active">New Client<li>
</ul>
<header>
<h1>New Client</h1>
</header>
<div class="form">
<div class="form-section">
<div class="section-label">Client Name</div>
<div class="section-container">
<div class="form-editor">
<div class="control-group">
<label class="control-label">Name</label>
<div class="controls">
<input ng-model="model.name" type="text" name="name" class="input-xlarge">
</div>
</div>
<div class="control-group">
<label class="control-label">Identifier</label>
<div class="controls">
<input ng-model="model.identifier" type="text" name="identifier" requiredclass="input-xlarge">
</div>
</div>
</div>
</div>
</div>
<div class="form-section">
<div class="section-label">Address</div>
<div class="section-container">
<div class="form-editor">
<div class="control-group">
<label class="control-label">Street</label>
<div class="controls">
<input ng-model="model.address.street1" type="text" name="street1" requiredclass="input-xlarge">
</div>
</div>
<div class="control-group">
<label class="control-label">Suite/Unit</label>
<div class="controls">
<input ng-model="model.address.street2" type="text" name="street2" class="input-xlarge">
</div>
</div>
<div class="control-group">
<label class="control-label">City</label>
<div class="controls">
<input ng-model="model.address.city" type="text" name="city" class="input-xlarge">
</div>
</div>
<div class="control-group">
<label class="control-label">State</label>
<div class="controls">
<select ng-model="model.address.state" name="state" class="input-xlarge">
<option value="AL">Alabama</option>
<option value="AK">Alaska</option>
<option value="AZ">Arizona</option>
<option value="AR">Arkansas</option>
<option value="CA">California</option>
<option value="CO">Colorado</option>
<option value="CT">Connecticut</option>
<option value="DC">District of Columbia</option>
<option value="DE">Delaware</option>
<option value="FL">Florida</option>
<option value="GA">Georgia</option>
<option value="HI">Hawaii</option>
<option value="ID">Idaho</option>
<option value="IL">Illinois</option>
<option value="ID">Indiana</option>
<option value="IA">Iowa</option>
<option value="KS">Kansas</option>
<option value="KY">Kentucky</option>
<option value="LA">Louisiana</option>
<option value="ME">Maine</option>
<option value="MD">Maryland</option>
<option value="MA">Massachusetts</option>
<option value="MI">Michigan</option>
<option value="MN">Minnesota</option>
<option value="MS">Mississippi</option>
<option value="MO">Missouri</option>
<option value="MT">Montana</option>
<option value="NE">Nebraska</option>
<option value="NV">Nevada</option>
<option value="NH">New Hampshire</option>
<option value="NJ">New Jersey</option>
<option value="NM">New Mexico</option>
<option value="NY">New York</option>
<option value="NC">North Carolina</option>
<option value="ND">North Dakota</option>
<option value="OH">Ohio</option>
<option value="OK">Oklahoma</option>
<option value="OR">Oregon</option>
<option value="PA">Pennsylvania</option>
<option value="RI">Rhode Island</option>
<option value="SA">South Carolina</option>
<option value="SD">South Dakota</option>
<option value="TN">Tennessee</option>
<option value="TX">Texas</option>
<option value="UT">Utah</option>
<option value="VT">Vermont</option>
<option value="VA">Virginia</option>
<option value="WA">Washington</option>
<option value="WV">West Virginia</option>
<option value="WI">Wisconsin</option>
<option value="WY">Wyoming</option>
</select>
</div>
</div>
<div class="control-group">
<label class="control-label">Zipcode</label>
<div class="controls">
<input ng-model="model.address.zip" type="text" name="zip" class="input-small">
</div>
</div>
</div>
</div>
</div>
<div class="form-section">
<div class="section-label">Primary Contact</div>
<div class="section-container">
<div class="form-editor">
<div class="control-group">
<label class="control-label">Name</label>
<div class="controls">
<input ng-model="primaryContact.name" type="text" class="input-xlarge">
</div>
</div>
<div class="control-group">
<label class="control-label">Phone</label>
<div class="controls">
<input ng-model="primaryContact.phone" type="text" class="input-xlarge">
</div>
</div>
<div class="control-group">
<label class="control-label">E-Mail</label>
<div class="controls">
<input ng-model="primaryContact.email" type="text" class="input-xlarge">
</div>
</div>
</div>
</div>
</div>
<div class="form-section">
<div class="section-label">Secondary Contact</div>
<div class="section-container">
<div class="form-editor">
<div class="control-group">
<label class="control-label">Name</label>
<div class="controls">
<input ng-model="secondaryContact.name" type="text" class="input-xlarge">
</div>
</div>
<div class="control-group">
<label class="control-label">Phone</label>
<div class="controls">
<input ng-model="secondaryContact.phone" type="text" class="input-xlarge">
</div>
</div>
<div class="control-group">
<label class="control-label">E-Mail</label>
<div class="controls">
<input ng-model="secondaryContact.email" type="text" class="input-xlarge">
</div>
</div>
</div>
</div>
</div>
<div class="form-section">
<div class="section-label">&nbsp;</div>
<div class="section-container">
<button ng-click="save()" type="button" class="btn btn-primary">Save</button>
</div>
</div>
</div>

View File

@ -0,0 +1,288 @@
<ul class="breadcrumb">
<li><a href="/clients"><i class="icon-briefcase"></i> Clients</a><span class="divider"></span><li>
<li ng-hide="loading" class="active">{{master.name}} ({{master.identifier}})<li>
</ul>
<i ng-show="loading" class="loader"></i>
<header ng-hide="loading">
<h1>{{master.name}}</h1>
<p class="lead">{{master.identifier}}</p>
</header>
<div ng-hide="loading" class="tabbable">
<div class="tab-content">
<div class="tab-pane active form" title="Details">
<div class="form-section">
<div class="section-label">Client Name</div>
<div class="section-container">
<div ng-hide="identification.visible" class="form-preview">
{{master.name}}<br>
{{master.identifier}}<br>
<a ng-click="identification.edit()" ng-class="{disabled: editing}">Edit</a>
</div>
<div ng-form="identificationForm" ng-show="identification.visible" class="form-editor">
<div ng-class="{error: identificationForm.name.$invalid}" class="control-group">
<label class="control-label">Name</label>
<div class="controls">
<input ng-model="identification.model.name" type="text" name="name" required="true" class="input-xlarge">
<span ng-show="identificationForm.name.$error.required" class="help-inline">Required</span>
</div>
</div>
<div ng-class="{error: identificationForm.identifier.$invalid}" class="control-group">
<label class="control-label">Identifier</label>
<div class="controls">
<input ng-model="identification.model.identifier" type="text" name="identifier" required="true" class="input-xlarge">
<span ng-show="identificationForm.identifier.$error.required" class="help-inline">Required</span>
</div>
</div>
<div class="form-actions">
<button ng-disabled="identificationForm.$invalid" ng-click="identification.save()" type="button" class="btn btn-primary">Save</button>
<button ng-click="identification.reset()" type="button" class="btn">Cancel</button>
</div>
</div>
</div>
</div>
<div class="form-section">
<div class="section-label">Address</div>
<div class="section-container">
<div ng-hide="address.visible" class="form-preview">
{{master.address.street1}}<br>
{{master.address.street2}}<br ng-show="master.address.street2">
{{master.address.city}}, {{master.address.state}}. {{master.address.zip}}<br>
<a ng-click="address.edit()" ng-class="{disabled: editing}">Edit</a>
</div>
<div ng-form="addressForm" ng-show="address.visible" class="form-editor">
<div ng-class="{error: addressForm.street1.$invalid}" class="control-group">
<label class="control-label">Street</label>
<div class="controls">
<input ng-model="address.model.address.street1" type="text" name="street1" required="true" class="input-xlarge">
<span ng-show="addressForm.street1.$error.required" class="help-inline">Required</span>
</div>
</div>
<div class="control-group">
<label class="control-label">Suite/Unit</label>
<div class="controls">
<input ng-model="address.model.address.street2" type="text" name="street2" class="input-xlarge">
</div>
</div>
<div ng-class="{error: addressForm.city.$invalid}" class="control-group">
<label class="control-label">City</label>
<div class="controls">
<input ng-model="address.model.address.city" type="text" name="city" class="input-xlarge">
<span ng-show="addressForm.city.$error.required" class="help-inline">Required</span>
</div>
</div>
<div ng-class="{error: addressForm.state.$invalid}" class="control-group">
<label class="control-label">State</label>
<div class="controls">
<select ng-model="address.model.address.state" name="state" class="input-xlarge">
<option value="AL">Alabama</option>
<option value="AK">Alaska</option>
<option value="AZ">Arizona</option>
<option value="AR">Arkansas</option>
<option value="CA">California</option>
<option value="CO">Colorado</option>
<option value="CT">Connecticut</option>
<option value="DC">District of Columbia</option>
<option value="DE">Delaware</option>
<option value="FL">Florida</option>
<option value="GA">Georgia</option>
<option value="HI">Hawaii</option>
<option value="ID">Idaho</option>
<option value="IL">Illinois</option>
<option value="ID">Indiana</option>
<option value="IA">Iowa</option>
<option value="KS">Kansas</option>
<option value="KY">Kentucky</option>
<option value="LA">Louisiana</option>
<option value="ME">Maine</option>
<option value="MD">Maryland</option>
<option value="MA">Massachusetts</option>
<option value="MI">Michigan</option>
<option value="MN">Minnesota</option>
<option value="MS">Mississippi</option>
<option value="MO">Missouri</option>
<option value="MT">Montana</option>
<option value="NE">Nebraska</option>
<option value="NV">Nevada</option>
<option value="NH">New Hampshire</option>
<option value="NJ">New Jersey</option>
<option value="NM">New Mexico</option>
<option value="NY">New York</option>
<option value="NC">North Carolina</option>
<option value="ND">North Dakota</option>
<option value="OH">Ohio</option>
<option value="OK">Oklahoma</option>
<option value="OR">Oregon</option>
<option value="PA">Pennsylvania</option>
<option value="RI">Rhode Island</option>
<option value="SA">South Carolina</option>
<option value="SD">South Dakota</option>
<option value="TN">Tennessee</option>
<option value="TX">Texas</option>
<option value="UT">Utah</option>
<option value="VT">Vermont</option>
<option value="VA">Virginia</option>
<option value="WA">Washington</option>
<option value="WV">West Virginia</option>
<option value="WI">Wisconsin</option>
<option value="WY">Wyoming</option>
</select>
<span ng-show="addressForm.state.$error.required" class="help-inline">Required</span>
</div>
</div>
<div ng-class="{error: addressForm.zip.$invalid}" class="control-group">
<label class="control-label">Zipcode</label>
<div class="controls">
<input ng-model="address.model.address.zip" type="text" name="zip" class="input-small">
<span ng-show="addressForm.zip.$error.required" class="help-inline">Required</span>
</div>
</div>
<div class="form-actions">
<button ng-disabled="addressForm.$invalid" ng-click="address.save()" type="button" class="btn btn-primary">Save</button>
<button ng-click="address.reset()" type="button" class="btn">Cancel</button>
</div>
</div>
</div>
</div>
<div class="form-section">
<div class="section-label">Primary Contact</div>
<div class="section-container">
<div ng-hide="primaryContact.visible" class="form-preview">
{{master.contacts[0].name}}<br ng-show="master.contacts[0].name">
{{master.contacts[0].phone}}<br ng-show="master.contacts[0].phone">
{{master.contacts[0].email}}<br ng-show="master.contacts[0].email">
<a ng-click="primaryContact.edit()" ng-class="{disabled: editing}">Edit</a>
</div>
<div ng-show="primaryContact.visible" class="form-editor">
<div class="control-group">
<label class="control-label">Name</label>
<div class="controls">
<input ng-model="primaryContact.model.contacts[0].name" type="text" class="input-xlarge">
</div>
</div>
<div class="control-group">
<label class="control-label">Phone</label>
<div class="controls">
<input ng-model="primaryContact.model.contacts[0].phone" type="text" class="input-xlarge">
</div>
</div>
<div class="control-group">
<label class="control-label">E-Mail</label>
<div class="controls">
<input ng-model="primaryContact.model.contacts[0].email" type="text" class="input-xlarge">
</div>
</div>
<div class="form-actions">
<button ng-click="primaryContact.save()" type="button" class="btn btn-primary">Save</button>
<button ng-click="primaryContact.reset()" type="button" class="btn">Cancel</button>
</div>
</div>
</div>
</div>
<div class="form-section">
<div class="section-label">Secondary Contact</div>
<div class="section-container">
<div ng-hide="secondaryContact.visible" class="form-preview">
{{master.contacts[1].name}}<br ng-show="master.contacts[1].name">
{{master.contacts[1].phone}}<br ng-show="master.contacts[1].phone">
{{master.contacts[1].email}}<br ng-show="master.contacts[1].email">
<a ng-click="secondaryContact.edit()" ng-class="{disabled: editing}">Edit</a>
</div>
<div ng-show="secondaryContact.visible" class="form-editor">
<div class="control-group">
<label class="control-label">Name</label>
<div class="controls">
<input ng-model="secondaryContact.model.contacts[1].name" type="text" class="input-xlarge">
</div>
</div>
<div class="control-group">
<label class="control-label">Phone</label>
<div class="controls">
<input ng-model="secondaryContact.model.contacts[1].phone" type="text" class="input-xlarge">
</div>
</div>
<div class="control-group">
<label class="control-label">E-Mail</label>
<div class="controls">
<input ng-model="secondaryContact.model.contacts[1].email" type="text" class="input-xlarge">
</div>
</div>
<div class="form-actions">
<button ng-click="secondaryContact.save()" type="button" class="btn btn-primary">Save</button>
<button ng-click="secondaryContact.reset()" type="button" class="btn">Cancel</button>
</div>
</div>
</div>
</div>
<div class="form-section">
<div class="section-label">Other</div>
<div class="section-container">
<button ng-click="other.destroy()" type="button" class="btn btn-danger">Remove client</button>
</div>
</div>
</div>
</div>
<div class="tab-pane" title="Workorders">
<div class="row-fluid">
<div class="span12">
<div class="toolbelt">
<a href="/workorders/add?clientId={{master._id}}" class="btn btn-primary">Create new Workorder</a>
</div>
<table class="biomed-table">
<thead>
<tr>
<th style="width: 80%">Workorder</th>
<th style="width: 10%">Date</th>
<th style="width: 10%">Status</th>
</tr>
</thead>
<tbody>
<tr ng-hide="workorders.length"><td colspan="4" class="table-message">There is no information to display.</td></tr>
<tr ng-repeat="pm in pms">
<td>
<a ng-href="/workorders/add?clientId={{master._id}}&amp;reason=Preventive%20Maintenance&amp;remarks={{pm}}">Preventive Maintenance ({{pm}})</a><br>
</td>
<td>This Month</td>
<td>PM Due</td>
</tr>
<tr ng-repeat="workorder in workorders">
<td>
<a ng-href="/workorders/{{workorder._id}}">{{workorder.reason}}</a><br>
<strong>Techs:</strong> {{ workorder.techs | techs }}<br>
{{workorder.remarks}}
</td>
<td>{{workorder.scheduling.start | date}}</td>
<td>{{workorder.status}}</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="tab-pane" title="Frequency">
<table class="table frequency">
<thead>
<tr>
<th></th>
<th>JAN</th>
<th>FEB</th>
<th>MAR</th>
<th>APR</th>
<th>MAY</th>
<th>JUN</th>
<th>JUL</th>
<th>AUG</th>
<th>SEP</th>
<th>OCT</th>
<th>NOV</th>
<th>DEC</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="(frequency, values) in master.frequencies">
<td class="name">{{frequency}}</td>
<td ng-repeat="enabled in values" class="{{enabled}}"><a ng-click="toggleFrequency(frequency, $index)"><i ng-class="{ 'icon-ok': enabled, 'icon-remove': !enabled }"></i></a></td>
</tr>
</tbody>
</table>
</div>
</div>

View File

@ -0,0 +1,41 @@
<ul class="breadcrumb">
<li><a href="/clients"><i class="icon-briefcase"></i> Clients</a><li>
</ul>
<header>
<h1>Clients</h1>
</header>
<div class="row-fluid">
<div class="span12">
<div class="toolbelt">
<a href="/clients/add" class="btn btn-primary">Create new Client</a>
<div class="pull-right">
<span class="toolbelt-text">Search:</span>
<div class="input-append">
<input type="text" ng-model="query" class="input-large" placeholder="Search">
<span class="add-on"><i class="icon-search"></i></span>
</div>
</div>
</div>
<table class="biomed-table" infinite-scroll="addItems()" can-load="canLoad" threshold="300">
<thead>
<tr>
<th style="width: 20%"></th>
<th style="width: 48%">Client Name</th>
<th style="width: 20%">Contact</th>
<th style="width: 12%">Phone</th>
</tr>
</thead>
<tbody>
<tr ng-show="loading"><td colspan="4" class="table-loading"><i class="loader"></i></td></tr>
<tr ng-hide="loading || clients.length"><td colspan="4" class="table-message">There is no information to display.</td></tr>
<tr ng-hide="loading" ng-repeat="client in clients">
<td>{{client.identifier | uppercase}}</td>
<td><a href="/clients/{{client._id}}">{{client.name}}</a></td>
<td>{{client.contacts[0].name}}</td>
<td>{{client.contacts[0].phone}}</td>
</tr>
</tbody>
</table>
</div>
</div>

View File

@ -0,0 +1,75 @@
<div class="modal-header">
<h1>Send a message</h1>
</div>
<div class="modal-body form-horizontal">
<div class="control-group">
<label class="control-label" for="user">Message For:</label>
<div class="controls">
<select ng-model="model.user">
<option ng-repeat="user in users" value="{{user._id}}">{{user.name.first}} {{user.name.last}}</option>
</select>
</div>
</div>
<div class="control-group">
<label class="control-label" for="name">Name:</label>
<div class="controls">
<input type="text" class="input-large" ng-model="model.name" />
</div>
</div>
<div class="control-group">
<label class="control-label" for="name">Company:</label>
<div class="controls">
<input type="text" class="input-large" ng-model="model.company" />
</div>
</div>
<div class="control-group">
<label class="control-label" for="phone">Phone:</label>
<div class="controls">
<input type="text" class="input-large" ng-model="model.phone" placeholder="(999) 999-9999" />
</div>
</div>
<div class="control-group">
<label class="control-label" for="extension">Extension:</label>
<div class="controls">
<input type="text" class="input-large" ng-model="model.extension" />
</div>
</div>
<div class="control-group">
<label class="control-label" for="time">Time to return call:</label>
<div class="controls">
<input type="text" class="input-large" ng-model="model.returnTime" />
</div>
</div>
<div class="control-group">
<div class="controls controls-row">
<label ng-repeat="message in model.messages">
<input type="checkbox" value="{{message.message}}" ng-checked="message.checked" ng-model="message.checked">
<span>{{message.message}}</span>
</label>
</div>
</div>
<div class="control-group">
<label class="control-label" for="time">Notes:</label>
<div class="controls">
<textarea class="gwt-TextArea input-large" ng-model="model.notes"></textarea>
</div>
</div>
</div>
<div class="modal-footer">
<button ng-click="send()" class="btn btn-primary" >Send</button>
<button ng-click="cancel()" class="btn" >Cancel</button>
</div>

View File

@ -0,0 +1,34 @@
<ul class="breadcrumb">
<li><a href="/clients"><i class="icon-calendar"></i> Schedule</a><li>
</ul>
<header>
<h1>Schedule</h1>
</header>
<div class="row-fluid">
<div class="span12">
<div class="toolbelt">
<a href="/workorders/add" class="btn btn-primary">Create new Workorder</a>
<a href="/schedule/pms" class="btn btn-primary">View PMs</a>
<div class="pull-right">
<span class="toolbelt-text">Group: </span>
<div class="input-append">
<select ng-model="group" name="group" class="input-medium">
<option ng-repeat="(key, value) in TECH_GROUPS" value="{{key}}">{{value}}</option>
</select>
<span class="add-on"><i class="icon-calendar"></i></span>
</div>
<span class="toolbelt-text">Date: </span>
<div class="input-append">
<input ng-model="date" datepicker type="text" class="input-medium">
<span class="add-on"><i class="icon-calendar"></i></span>
</div>
</div>
</div>
<techpicker
users="users"
schedule="schedule"
date="date"
on-entry-click="onEntryClick(entry)"></techpicker>
</div>
</div>

View File

@ -0,0 +1,54 @@
<ul class="breadcrumb">
<li><a href="/clients"><i class="icon-briefcase"></i> Schedule</a><li>
</ul>
<header>
<h1>Preventive Maintenance</h1>
</header>
<div class="row-fluid">
<div class="span12">
<div class="toolbelt">
<a href="/clients/add" class="btn btn-primary">Create new Workorder</a>
<div class="pull-right">
<span class="toolbelt-text">Month:</span>
<div class="input-append">
<select ng-model="month" name="month" class="input-xlarge">
<option value="0">January</option>
<option value="1">February</option>
<option value="2">March</option>
<option value="3">April</option>
<option value="4">May</option>
<option value="5">June</option>
<option value="6">July</option>
<option value="7">August</option>
<option value="8">September</option>
<option value="9">October</option>
<option value="10">November</option>
<option value="11">December</option>
</select>
<span class="add-on"><i class="icon-calendar"></i></span>
</div>
</div>
</div>
<table class="biomed-table" infinite-scroll="addItems()" can-load="canLoad" threshold="300">
<thead>
<tr>
<th style="width: 48%">Client Name</th>
<th style="width: 20%">Reason</th>
<th style="width: 20%">Contact</th>
<th style="width: 12%">Phone</th>
</tr>
</thead>
<tbody>
<tr ng-show="loading"><td colspan="4" class="table-loading"><i class="loader"></i></td></tr>
<tr ng-hide="loading || pms.length"><td colspan="4" class="table-message">There is no information to display.</td></tr>
<tr ng-hide="loading" ng-repeat="pm in pms">
<td><a ng-href="/workorders/add?clientId={{pm.client._id}}&amp;reason=Preventive%20Maintenance&amp;remarks={{pm.reason}}">{{pm.client.name}} ({{pm.client.identifier | uppercase}})</a><br>
<td>{{pm.reason}}</td>
<td>{{pm.client.contacts[0].name}}</td>
<td>{{pm.lient.contacts[0].phone}}</td>
</tr>
</tbody>
</table>
</div>
</div>

View File

@ -0,0 +1,20 @@
<div class="techpicker">
<div class="hour-labels">
<div ng-repeat="hour in hourMarkers" class="hour-label" ng-style="hour.style">
{{ hour.date | date:'h a'}}
</div>
</div>
<div class="schedule">
<div class="hour-markers">
<div ng-repeat="hour in hourMarkers" class="marker" ng-style="hour.style">
<div class="half-hour-marker"></div>
</div>
</div>
<div ng-repeat="(name, values) in data" class="tech">
<div class="tech-label">{{name}}</div>
<div class="enteries">
<div ng-repeat="entry in values" ng-style="entry.style" class="entry" ng-click="onEntryClick({entry: entry})" title="{{entry.workorder.client.name}} ({{entry.workorder.client.identifier}}) - {{entry.workorder.client.address.city}}">{{entry.workorder.client.identifier}}</div>
</div>
</div>
</div>

View File

@ -0,0 +1,171 @@
<ul class="breadcrumb">
<li><a href="/clients"><i class="icon-briefcase"></i> Workorders</a><span class="divider"></span><li>
<li ng-hide="loading" class="active">New Workorder<li>
</ul>
<header>
<h1>New Workorder</h1>
</header>
<div class="form">
<div class="form-section">
<div class="section-label">Client</div>
<div class="section-container">
<div class="form-editor">
<div class="control-group">
<label class="control-label">Client</label>
<div class="controls">
<select ui-select2 ng-model="model.client" data-placeholder="Choose a Client" class="input-xxlarge">
<option ng-repeat="client in clients" value="{{client._id}}">{{client.name}} ({{client.identifier}})</option>
</select>
</div>
</div>
</div>
</div>
</div>
<div class="form-section">
<div class="section-label">Remarks</div>
<div class="section-container">
<div class="form-editor">
<div class="control-group">
<label class="control-label">Reason</label>
<div class="controls">
<select ng-model="model.reason" name="reason" class="input-xlarge">
<option value="Add New Equipment">Add New Equipment</option>
<option value="As Directed">As Directed</option>
<option value="Autoclave Repair">Autoclave Repair</option>
<option value="Calibration">Calibration</option>
<option value="Delivery">Delivery</option>
<option value="Diagnose Problem">Diagnose Problem</option>
<option value="Install Parts">Install Parts</option>
<option value="Off">Off</option>
<option value="PM Reschedule">PM Reschedule</option>
<option value="Preventive Maintenance">Preventive Maintenance</option>
<option value="Printer Failure">Printer Failure</option>
<option value="Repair">Repair</option>
</select>
</div>
</div>
<div class="control-group">
<label class="control-label">Remarks</label>
<div class="controls">
<textarea ng-model="model.remarks" name="remarks" rows="5" class="input-xxlarge"></textarea>
</div>
</div>
</div>
</div>
</div>
<div class="form-section">
<div class="section-label">Scheduling</div>
<div class="section-container">
<div class="form-editor">
<div class="control-group">
<label class="control-label">Date</label>
<div class="controls">
<input ng-model="picker.date" datepicker type="text" class="input-small">
<select ng-model="picker.start" name="start" class="input-small">
<option value="05:00:00">5:00am</option>
<option value="05:30:00">5:30am</option>
<option value="06:00:00">6:00am</option>
<option value="06:30:00">6:30am</option>
<option value="07:00:00">7:00am</option>
<option value="07:30:00">7:30am</option>
<option value="08:00:00">8:00am</option>
<option value="08:30:00">8:30am</option>
<option value="09:00:00">9:00am</option>
<option value="09:30:00">9:30am</option>
<option value="10:00:00">10:00am</option>
<option value="10:30:00">10:30am</option>
<option value="11:00:00">11:00am</option>
<option value="11:30:00">11:30am</option>
<option value="12:00:00">12:00pm</option>
<option value="12:30:00">12:30pm</option>
<option value="13:00:00">1:00pm</option>
<option value="13:30:00">1:30pm</option>
<option value="14:00:00">2:00pm</option>
<option value="14:30:00">2:30pm</option>
<option value="15:00:00">3:00pm</option>
<option value="15:30:00">3:30pm</option>
<option value="16:00:00">4:00pm</option>
<option value="16:30:00">4:30pm</option>
<option value="17:00:00">5:00pm</option>
<option value="17:30:00">5:30pm</option>
<option value="18:00:00">6:00pm</option>
<option value="18:30:00">6:30pm</option>
<option value="19:00:00">7:00pm</option>
<option value="19:30:00">7:30pm</option>
<option value="20:00:00">8:00pm</option>
<option value="20:30:00">8:30pm</option>
<option value="21:00:00">9:00pm</option>
<option value="21:30:00">9:30pm</option>
<option value="22:00:00">10:00pm</option>
</select>
<span>to</span>
<select ng-model="picker.end" name="end" class="input-small">
<option value="06:00:00">6:00am</option>
<option value="06:30:00">6:30am</option>
<option value="07:00:00">7:00am</option>
<option value="07:30:00">7:30am</option>
<option value="08:00:00">8:00am</option>
<option value="08:30:00">8:30am</option>
<option value="09:00:00">9:00am</option>
<option value="09:30:00">9:30am</option>
<option value="10:00:00">10:00am</option>
<option value="10:30:00">10:30am</option>
<option value="11:00:00">11:00am</option>
<option value="11:30:00">11:30am</option>
<option value="12:00:00">12:00pm</option>
<option value="12:30:00">12:30pm</option>
<option value="13:00:00">1:00pm</option>
<option value="13:30:00">1:30pm</option>
<option value="14:00:00">2:00pm</option>
<option value="14:30:00">2:30pm</option>
<option value="15:00:00">3:00pm</option>
<option value="15:30:00">3:30pm</option>
<option value="16:00:00">4:00pm</option>
<option value="16:30:00">4:30pm</option>
<option value="17:00:00">5:00pm</option>
<option value="17:30:00">5:30pm</option>
<option value="18:00:00">6:00pm</option>
<option value="18:30:00">6:30pm</option>
<option value="19:00:00">7:00pm</option>
<option value="19:30:00">7:30pm</option>
<option value="20:00:00">8:00pm</option>
<option value="20:30:00">8:30pm</option>
<option value="21:00:00">9:00pm</option>
<option value="21:30:00">9:30pm</option>
<option value="22:00:00">10:00pm</option>
</select>
</div>
</div>
<div class="control-group">
<label class="control-label">Techs</label>
<div class="controls">
<select multiple ui-select2 ng-model="model.techs" data-placeholder="Choose a Tech" class="input-xxlarge">
<option ng-repeat="tech in allUsers" value="{{tech._id}}">{{tech.name.first}} {{tech.name.last}}</option>
</select>
</div>
</div>
<div class="toolbelt" style="margin: 20px">
<div class="pull-right">
<span class="toolbelt-text">Group: </span>
<select ng-model="group" name="group" class="input-medium">
<option ng-repeat="(key, value) in TECH_GROUPS" value="{{key}}">{{value}}</option>
</select>
</div>
</div>
<techpicker
users="users"
schedule="schedule"
date="picker.date"
start="picker.start"
end="picker.end"></techpicker>
</div>
</div>
</div>
<div class="form-section">
<div class="section-label">&nbsp;</div>
<div class="section-container">
<button ng-click="save()" type="button" class="btn btn-primary">Save</button>
</div>
</div>
</div>

View File

@ -0,0 +1,207 @@
<ul class="breadcrumb">
<li><a href="/clients"><i class="icon-briefcase"></i> Workorders</a><span class="divider"></span><li>
<li ng-hide="loading" class="active">#{{master.biomedId}} - {{master.reason}}<li>
</ul>
<i ng-show="loading" class="loader"></i>
<header ng-hide="loading">
<h1>#{{master.biomedId}} - {{master.reason}}</h1>
<p class="lead"><a ng-href="/clients/{{master.client._id}}">{{master.client.name}} ({{master.client.identifier}})</a></p>
</header>
<div ng-hide="loading" class="tabbable">
<div class="tab-content">
<div class="tab-pane active form" title="Details">
<div class="form-section">
<div class="section-label">Status</div>
<div class="section-container">
<div ng-hide="status.visible" class="form-preview">
{{master.status}}<br>
<a ng-click="status.edit()" ng-class="{disabled: editing}">Edit</a>
</div>
<div ng-show="status.visible" class="form-editor">
<div class="control-group">
<label class="control-label">Status</label>
<div class="controls">
<select ng-model="status.model.status" name="status" class="input-xlarge">
<option value="scheduled">Scheduled</option>
<option value="invoiced">Invoiced</option>
<option value="paid">Paid</option>
</select>
</div>
</div>
<div class="form-actions">
<button ng-click="status.save()" type="button" class="btn btn-primary">Save</button>
<button ng-click="status.reset()" type="button" class="btn">Cancel</button>
</div>
</div>
</div>
</div>
<div class="form-section">
<div class="section-label">Remarks</div>
<div class="section-container">
<div ng-hide="remarks.visible" class="form-preview">
{{master.remarks}}<br>
<a ng-click="remarks.edit()" ng-class="{disabled: editing}">Edit</a>
</div>
<div ng-show="remarks.visible" class="form-editor">
<div class="control-group">
<label class="control-label">Reason</label>
<div class="controls">
<select ng-model="remarks.model.reason" name="reason" class="input-xlarge">
<option value="Add New Equipment">Add New Equipment</option>
<option value="As Directed">As Directed</option>
<option value="Autoclave Repair">Autoclave Repair</option>
<option value="Calibration">Calibration</option>
<option value="Delivery">Delivery</option>
<option value="Diagnose Problem">Diagnose Problem</option>
<option value="Install Parts">Install Parts</option>
<option value="Off">Off</option>
<option value="PM Reschedule">PM Reschedule</option>
<option value="Preventive Maintenance">Preventive Maintenance</option>
<option value="Printer Failure">Printer Failure</option>
<option value="Repair">Repair</option>
</select>
</div>
</div>
<div class="control-group">
<label class="control-label">Remarks</label>
<div class="controls">
<textarea ng-model="remarks.model.remarks" name="remarks" rows="5" class="input-xxlarge"></textarea>
</div>
</div>
<div class="form-actions">
<button ng-click="remarks.save()" type="button" class="btn btn-primary">Save</button>
<button ng-click="remarks.reset()" type="button" class="btn">Cancel</button>
</div>
</div>
</div>
</div>
<div class="form-section">
<div class="section-label">Scheduling</div>
<div class="section-container">
<div ng-hide="scheduling.visible" class="form-preview">
<strong>{{master.scheduling.start | date}}</strong><br>
From <strong>{{master.scheduling.start | time}}</strong> to <strong>{{master.scheduling.end | time}}</strong><br>
Techs: <strong>{{ master.techs | techs }}</strong><br>
<a ng-click="scheduling.edit()">Edit</a>
</div>
<div ng-show="scheduling.visible" class="form-editor">
<div class="control-group">
<label class="control-label">Date</label>
<div class="controls">
<input ng-model="scheduling.date" datepicker type="text" class="input-small">
<select ng-model="scheduling.start" name="start" class="input-small">
<option value="05:00:00">5:00am</option>
<option value="05:30:00">5:30am</option>
<option value="06:00:00">6:00am</option>
<option value="06:30:00">6:30am</option>
<option value="07:00:00">7:00am</option>
<option value="07:30:00">7:30am</option>
<option value="08:00:00">8:00am</option>
<option value="08:30:00">8:30am</option>
<option value="09:00:00">9:00am</option>
<option value="09:30:00">9:30am</option>
<option value="10:00:00">10:00am</option>
<option value="10:30:00">10:30am</option>
<option value="11:00:00">11:00am</option>
<option value="11:30:00">11:30am</option>
<option value="12:00:00">12:00pm</option>
<option value="12:30:00">12:30pm</option>
<option value="13:00:00">1:00pm</option>
<option value="13:30:00">1:30pm</option>
<option value="14:00:00">2:00pm</option>
<option value="14:30:00">2:30pm</option>
<option value="15:00:00">3:00pm</option>
<option value="15:30:00">3:30pm</option>
<option value="16:00:00">4:00pm</option>
<option value="16:30:00">4:30pm</option>
<option value="17:00:00">5:00pm</option>
<option value="17:30:00">5:30pm</option>
<option value="18:00:00">6:00pm</option>
<option value="18:30:00">6:30pm</option>
<option value="19:00:00">7:00pm</option>
<option value="19:30:00">7:30pm</option>
<option value="20:00:00">8:00pm</option>
<option value="20:30:00">8:30pm</option>
<option value="21:00:00">9:00pm</option>
<option value="21:30:00">9:30pm</option>
<option value="22:00:00">10:00pm</option>
</select>
<span>to</span>
<select ng-model="scheduling.end" name="end" class="input-small">
<option value="06:00:00">6:00am</option>
<option value="06:30:00">6:30am</option>
<option value="07:00:00">7:00am</option>
<option value="07:30:00">7:30am</option>
<option value="08:00:00">8:00am</option>
<option value="08:30:00">8:30am</option>
<option value="09:00:00">9:00am</option>
<option value="09:30:00">9:30am</option>
<option value="10:00:00">10:00am</option>
<option value="10:30:00">10:30am</option>
<option value="11:00:00">11:00am</option>
<option value="11:30:00">11:30am</option>
<option value="12:00:00">12:00pm</option>
<option value="12:30:00">12:30pm</option>
<option value="13:00:00">1:00pm</option>
<option value="13:30:00">1:30pm</option>
<option value="14:00:00">2:00pm</option>
<option value="14:30:00">2:30pm</option>
<option value="15:00:00">3:00pm</option>
<option value="15:30:00">3:30pm</option>
<option value="16:00:00">4:00pm</option>
<option value="16:30:00">4:30pm</option>
<option value="17:00:00">5:00pm</option>
<option value="17:30:00">5:30pm</option>
<option value="18:00:00">6:00pm</option>
<option value="18:30:00">6:30pm</option>
<option value="19:00:00">7:00pm</option>
<option value="19:30:00">7:30pm</option>
<option value="20:00:00">8:00pm</option>
<option value="20:30:00">8:30pm</option>
<option value="21:00:00">9:00pm</option>
<option value="21:30:00">9:30pm</option>
<option value="22:00:00">10:00pm</option>
</select>
</div>
</div>
<div class="control-group">
<label class="control-label">Techs</label>
<div class="controls">
<select multiple ui-select2 ng-model="scheduling.techs" data-placeholder="Choose a Tech" class="input-xxlarge">
<option ng-repeat="tech in allUsers" value="{{tech._id}}">{{tech.name.first}} {{tech.name.last}}</option>
</select>
</div>
</div>
<div class="toolbelt" style="margin: 20px">
<div class="pull-right">
<span class="toolbelt-text">Group: </span>
<select ng-model="group" name="group" class="input-medium">
<option ng-repeat="(key, value) in TECH_GROUPS" value="{{key}}">{{value}}</option>
</select>
</div>
</div>
<techpicker
users="users"
schedule="scheduling.schedule"
date="scheduling.date"
start="scheduling.start"
end="scheduling.end"></techpicker>
<div class="form-actions">
<button ng-click="scheduling.save()" type="button" class="btn btn-primary">Save</button>
<button ng-click="scheduling.reset()" type="button" class="btn">Cancel</button>
</div>
</div>
</div>
</div>
<div class="form-section">
<div class="section-label">Other</div>
<div class="section-container">
<button ng-click="destroy()" type="button" class="btn btn-danger">Remove workorder</button>
</div>
</div>
</div>
<div class="tab-pane form" title="History">
No history is currently available.
</div>
</div>
</div>

View File

@ -0,0 +1,52 @@
<ul class="breadcrumb">
<li><a href="/clients"><i class="icon-wrench"></i> Workorders</a><li>
</ul>
<h1>Workorders</h1>
<div class="row-fluid">
<div class="span12">
<div class="toolbelt">
<a href="/workorders/add" class="btn btn-primary">Create new workorder</a>
<div class="pull-right">
<div class="input-append">
<input type="text" ng-model="query" class="input-large" placeholder="Search">
<span class="add-on"><i class="icon-search"></i></span>
</div>
<span class="toolbelt-text">Start: </span>
<div class="input-append">
<input ng-model="start" datepicker type="text" class="input-medium">
<span class="add-on"><i class="icon-calendar"></i></span>
</div>
<span class="toolbelt-text">End: </span>
<div class="input-append">
<input ng-model="end" datepicker type="text" class="input-medium">
<span class="add-on"><i class="icon-calendar"></i></span>
</div>
</div>
</div>
<table class="biomed-table" infinite-scroll="addItems()" can-load="canLoad" threshold="300">
<thead>
<tr>
<th style="width: 50%">Workorder</th>
<th style="width: 30%">Client</th>
<th style="width: 10%">Date</th>
<th style="width: 10%">Status</th>
</tr>
</thead>
<tbody>
<tr ng-show="loading"><td colspan="4" class="table-loading"><i class="loader"></i></td></tr>
<tr ng-hide="loading || workorders.length"><td colspan="4" class="table-message">There is no information to display.</td></tr>
<tr ng-hide="loading" ng-repeat="workorder in workorders">
<td>
<a ng-href="/workorders/{{workorder._id}}">#{{workorder.biomedId}} - {{workorder.reason}}</a><br>
<strong>Techs:</strong> {{ workorder.techs | techs }}<br>
{{workorder.remarks}}
</td>
<td>{{workorder.client.name}} ({{workorder.client.identifier}})</td>
<td>{{workorder.scheduling.start | date}}</td>
<td>{{workorder.status}}</td>
</tr>
</tbody>
</table>
</div>
</div>