mirror of
https://github.com/atlanticbiomedical/biomedjs.git
synced 2025-07-02 00:47:26 -04:00
Added a bunch of stuff
This commit is contained in:
71
public/partials/checkLists/add.html
Normal file
71
public/partials/checkLists/add.html
Normal file
@ -0,0 +1,71 @@
|
||||
<ul class="breadcrumb">
|
||||
<li><a href="/checkLists"><i class="icon-briefcase"></i> Check Lists</a><span class="divider"></span><li>
|
||||
<li class="active">
|
||||
<span ng-if="isEdit">Edit</span>
|
||||
<span ng-if="!isEdit">New</span> Check List
|
||||
<li>
|
||||
</ul>
|
||||
<header>
|
||||
<h1>New Check List</h1>
|
||||
</header>
|
||||
<form name="form" class="form">
|
||||
<div class="form-section">
|
||||
<div class="section-label">General</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" class="input-xlarge" required>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-section" ng-repeat="field in model.fields">
|
||||
<div class="section-label">Field {{$index + 1}}</div>
|
||||
<div class="section-container">
|
||||
<div class="form-editor">
|
||||
<div class="control-group">
|
||||
<label class="control-label">Label</label>
|
||||
<div class="controls">
|
||||
<input ng-model="field.label" type="text" class="input-xlarge" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label">Field Type</label>
|
||||
<div class="controls">
|
||||
<select ng-model="field.type" class="input-xlarge" required>
|
||||
<option value="boolean">Pass / Fail</option>
|
||||
<option value="range">Range</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div ng-if="field.type == 'range'">
|
||||
<div class="control-group">
|
||||
<label class="control-label">Minimum (Inclusive)</label>
|
||||
<div class="controls">
|
||||
<input ng-model="field.min" type="number" class="input-xlarge" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label">Maximum (Inclusive)</label>
|
||||
<div class="controls">
|
||||
<input ng-model="field.max" type="number" class="input-xlarge" required>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-actions">
|
||||
<button ng-click="removeField($index)" ng-disabled="model.fields.length <= 1" class="btn" type="button">Remove Field</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-section">
|
||||
<div class="section-label"> </div>
|
||||
<div class="section-container">
|
||||
<button ng-click="addField()" type="button" class="btn">Add Field</button>
|
||||
<button ng-click="save()" ng-disabled="form.$invalid" type="button" class="btn btn-primary">Save</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
36
public/partials/checkLists/index.html
Normal file
36
public/partials/checkLists/index.html
Normal file
@ -0,0 +1,36 @@
|
||||
<ul class="breadcrumb">
|
||||
<li><a href="/check_lists"><i class="icon-briefcase"></i> Check Lists</a><li>
|
||||
</ul>
|
||||
<header>
|
||||
<h1>Check Lists</h1>
|
||||
</header>
|
||||
|
||||
<div class="row-fluid">
|
||||
<div class="span12">
|
||||
<div class="toolbelt">
|
||||
<a href="/checkLists/add" class="btn btn-primary" ng-show="accountHasPermission('system.edit')">Create new Check List</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: 33%" ng-class="selectedCls('name')" ng-click="changeSorting('name')">Name</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-show="loading"><td colspan="4" class="table-loading"><i class="loader"></i></td></tr>
|
||||
<tr ng-hide="loading || checkLists.length"><td colspan="4" class="table-message">There is no information to display.</td></tr>
|
||||
<tr ng-hide="loading" ng-repeat="checkList in checkLists">
|
||||
<td><a href="/checkLists/{{checkList._id}}">{{checkList.name}}</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
@ -299,7 +299,7 @@
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width: 7%">Device ID</th>
|
||||
<th style="width: 6%">Device</th>
|
||||
<th style="width: 6%">Category</th>
|
||||
<th style="width: 5%">Make</th>
|
||||
<th style="width: 5%">Model</th>
|
||||
<th style="width: 5%">Serial No.</th>
|
||||
@ -313,7 +313,7 @@
|
||||
<tr ng-hide="devices.length"><td colspan="11" class="table-message">There is no information to display.</td></tr>
|
||||
<tr ng-repeat="device in devices">
|
||||
<td><a href="/devices/{{device._id}}">{{device.biomedId}}</a></td>
|
||||
<td></td>
|
||||
<td>{{device.deviceType.category}}</td>
|
||||
<td>{{device.deviceType.make}}</td>
|
||||
<td>{{device.deviceType.model}}</td>
|
||||
<td>{{device.serialNumber}}</td>
|
||||
|
@ -57,6 +57,22 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-section">
|
||||
<div class="section-label">Checklist</div>
|
||||
<div class="section-container">
|
||||
<div class="form-editor">
|
||||
<div class="control-group">
|
||||
<label class="control-label">Checklist</label>
|
||||
<div class="controls">
|
||||
<select ng-model="model.checkList" class="input-xlarge">
|
||||
<option value="">None</option>
|
||||
<option ng-repeat="checkList in checkLists" value="{{checkList._id}}">{{checkList.name}}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-section">
|
||||
<div class="section-label">Images</div>
|
||||
<div class="section-container">
|
||||
|
@ -6,75 +6,127 @@
|
||||
<h1>Edit Device</h1>
|
||||
</header>
|
||||
|
||||
<form name="form" class="form">
|
||||
<div class="form-section">
|
||||
<div class="section-label">Device Identification</div>
|
||||
<div class="section-container">
|
||||
<div class="form-editor">
|
||||
<div class="control-group">
|
||||
<label class="control-label">Device Type</label>
|
||||
<div class="controls">
|
||||
<input type="hidden" ng-model="categoryPicker" ui-select2="categoryOpts" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label">Make</label>
|
||||
<div class="controls">
|
||||
<input type="hidden" ng-model="makePicker" ui-select2="makeOpts" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label">Model</label>
|
||||
<div class="controls">
|
||||
<input ng-model="model.model" type="text" class="input-xlarge">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-section">
|
||||
<div class="section-label">Device Details</div>
|
||||
<div class="section-container">
|
||||
<div class="form-editor">
|
||||
<div class="control-group">
|
||||
<label class="control-label">Technical Data</label>
|
||||
<div class="controls">
|
||||
<textarea ng-model="model.technicalData" type="text" class="input-xxlarge"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label">Links</label>
|
||||
<div class="controls">
|
||||
<textarea ng-model="model.links" type="text" class="input-xxlarge"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label">Recommended Parts</label>
|
||||
<div class="controls">
|
||||
<textarea ng-model="model.partsRecommended" type="text" class="input-xxlarge"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-section">
|
||||
<div class="section-label">Images</div>
|
||||
<div class="section-container">
|
||||
<div class="form-editor">
|
||||
<div class="control-group">
|
||||
<label class="control-label">Images</label>
|
||||
<div class="controls">
|
||||
<div class="dropzone" dropzone="imageOpts" existing="existingImages" prefix="devices/"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<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"> </div>
|
||||
<div class="section-container">
|
||||
<button ng-click="save()" ng-disabled="form.$invalid" type="button" class="btn btn-primary">Save</button>
|
||||
<form name="form" class="form">
|
||||
<div class="form-section">
|
||||
<div class="section-label">Device Identification</div>
|
||||
<div class="section-container">
|
||||
<div class="form-editor">
|
||||
<div class="control-group">
|
||||
<label class="control-label">Device Type</label>
|
||||
<div class="controls">
|
||||
<input type="hidden" ng-model="categoryPicker" ui-select2="categoryOpts" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label">Make</label>
|
||||
<div class="controls">
|
||||
<input type="hidden" ng-model="makePicker" ui-select2="makeOpts" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label">Model</label>
|
||||
<div class="controls">
|
||||
<input ng-model="model.model" type="text" class="input-xlarge">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-section">
|
||||
<div class="section-label">Device Details</div>
|
||||
<div class="section-container">
|
||||
<div class="form-editor">
|
||||
<div class="control-group">
|
||||
<label class="control-label">Technical Data</label>
|
||||
<div class="controls">
|
||||
<textarea ng-model="model.technicalData" type="text" class="input-xxlarge"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label">Links</label>
|
||||
<div class="controls">
|
||||
<textarea ng-model="model.links" type="text" class="input-xxlarge"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label">Recommended Parts</label>
|
||||
<div class="controls">
|
||||
<textarea ng-model="model.partsRecommended" type="text" class="input-xxlarge"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-section">
|
||||
<div class="section-label">Checklist</div>
|
||||
<div class="section-container">
|
||||
<div class="form-editor">
|
||||
<div class="control-group">
|
||||
<label class="control-label">Checklist</label>
|
||||
<div class="controls">
|
||||
<select ng-model="model.checkList" class="input-xlarge">
|
||||
<option value="">None</option>
|
||||
<option ng-repeat="checkList in checkLists" value="{{checkList._id}}">{{checkList.name}}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-section">
|
||||
<div class="section-label">Images</div>
|
||||
<div class="section-container">
|
||||
<div class="form-editor">
|
||||
<div class="control-group">
|
||||
<label class="control-label">Images</label>
|
||||
<div class="controls">
|
||||
<div class="dropzone" dropzone="imageOpts" existing="existingImages" prefix="devices/"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-section">
|
||||
<div class="section-label"> </div>
|
||||
<div class="section-container">
|
||||
<button ng-click="save()" ng-disabled="form.$invalid" type="button" class="btn btn-primary">Save</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="tab-pane" title="Devices">
|
||||
<div class="row-fluid">
|
||||
<div class="span12">
|
||||
<table class="biomed-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width: 7%">Device ID</th>
|
||||
<th style="width: 6%">Client</th>
|
||||
<th style="width: 5%">Serial No.</th>
|
||||
<th style="width: 8%">Purchase Date</th>
|
||||
<th style="width: 6%">Warranty Expiration</th>
|
||||
<th style="width: 4%">Location</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-hide="devices.length"><td colspan="11" class="table-message">There is no information to display.</td></tr>
|
||||
<tr ng-repeat="device in devices">
|
||||
<td><a href="/devices/{{device._id}}">{{device.biomedId}}</a></td>
|
||||
<td><a ng-href="/clients/{{device.client._id}}">{{device.client.name}} ({{device.client.identifier}})</a></td>
|
||||
<td>{{device.serialNumber}}</td>
|
||||
<td>{{device.purchaseDate | date}}</td>
|
||||
<td>{{device.warrantyExpiration | date}}</td>
|
||||
<td>{{device.location}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
@ -8,25 +8,54 @@
|
||||
|
||||
<form name="form" class="form">
|
||||
<div class="form-section">
|
||||
<div class="section-label">Device Identifieion</div>
|
||||
<div class="section-label">Device Type</div>
|
||||
<div class="section-container">
|
||||
<div class="form-editor">
|
||||
<div class="control-group">
|
||||
<label class="control-label">Device Type</label>
|
||||
<label class="control-label">Category</label>
|
||||
<div class="controls">
|
||||
<input type="hidden" ng-model="categoryPicker" ui-select2="categoryOpts" />
|
||||
<input type="hidden" ng-model="deviceTypes.category.picker" ui-select2="deviceTypes.category.opts" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label">Make</label>
|
||||
<div class="controls">
|
||||
<input type="hidden" ng-model="makePicker" ui-select2="makeOpts" />
|
||||
<input type="hidden" ng-model="deviceTypes.make.picker" ui-select2="deviceTypes.make.opts" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label">Model</label>
|
||||
<div class="controls">
|
||||
<input type="hidden" ng-model="modelPicker" ui-select2="modelOpts">
|
||||
<input type="hidden" ng-model="deviceTypes.model.picker" ui-select2="deviceTypes.model.opts" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label"></label>
|
||||
<div class="controls">
|
||||
<button ng-click="deviceTypes.reset()" type="button" class="btn">Reset</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-section">
|
||||
<div class="section-label">Identifier</div>
|
||||
<div class="section-container">
|
||||
<div class="form-editor">
|
||||
<div
|
||||
ng-class="{ 'error': form.identifier.$invalid && !form.identifier.$pristine }"
|
||||
class="control-group">
|
||||
|
||||
<label class="control-label">Identifier</label>
|
||||
<div class="controls">
|
||||
<input
|
||||
ng-model="model.biomedId"
|
||||
required
|
||||
ab-device-unique="{field: 'biomedId'}"
|
||||
type="text"
|
||||
name="identifier"
|
||||
class="input-xlarge">
|
||||
<span ng-show="form.identifier.$error.unique" class="help-inline">Identifier must be unique</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -37,44 +66,101 @@
|
||||
<div class="section-container">
|
||||
<div class="form-editor">
|
||||
<div class="control-group">
|
||||
<label class="control-label">Technical Data</label>
|
||||
<label class="control-label">Serial Number</label>
|
||||
<div class="controls">
|
||||
<textarea ng-model="model.technicalData" type="text" class="input-xxlarge"></textarea>
|
||||
<input ng-model="model.serialNumber" type="text" class="input-large">
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label">Links</label>
|
||||
<label class="control-label">Purchase Date</label>
|
||||
<div class="controls">
|
||||
<textarea ng-model="model.links" type="text" class="input-xxlarge"></textarea>
|
||||
<input ng-model="model.purchaseDate" datepicker type="text" class="input-small">
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label">Recommended Parts</label>
|
||||
<label class="control-label">Warranty Expiration</label>
|
||||
<div class="controls">
|
||||
<textarea ng-model="model.partsRecommended" type="text" class="input-xxlarge"></textarea>
|
||||
<input ng-model="model.warrantyExpiration" datepicker type="text" class="input-small">
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label">Location</label>
|
||||
<div class="controls">
|
||||
<input ng-model="model.location" type="text" class="input-large">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-section">
|
||||
<div class="section-label">Images</div>
|
||||
<div class="section-label">Frequency</div>
|
||||
<div class="section-container">
|
||||
<div class="form-editor">
|
||||
<div class="control-group">
|
||||
<label class="control-label">Images</label>
|
||||
<label class="control-label">Frequency</label>
|
||||
<div class="controls">
|
||||
<div class="dropzone" dropzone="imageOpts"></div>
|
||||
<select ng-model="model.frequencyType" class="input-xlarge">
|
||||
<option value="">None</option>
|
||||
<option value="Anesthesia">Anesthesia</option>
|
||||
<option value="Annual">Annual</option>
|
||||
<option value="DLLR">DLLR</option>
|
||||
<option value="ERT">ERT</option>
|
||||
<option value="Ice Maker">Ice Maker</option>
|
||||
<option value="Imaging">Imaging</option>
|
||||
<option value="Medical Device">Medical Device</option>
|
||||
<option value="Medical Gas Systems">Medical Gas Systems</option>
|
||||
<option value="N2O Trace Gas">N2O Trace Gas</option>
|
||||
<option value="Quarterly">Quarterly</option>
|
||||
<option value="RAE">RAE</option>
|
||||
<option value="Semi">Semi</option>
|
||||
<option value="Sterilizer - Cleaning">Sterilizer - Cleaning</option>
|
||||
<option value="Sterilizer - F">Sterilizer - F</option>
|
||||
<option value="Sterilizer - TT">Sterilizer - TT</option>
|
||||
<option value="Vaporizer">Vaporizer</option>
|
||||
<option value="Waste Management System">Waste Management System</option>
|
||||
<option value="legacy" disabled>legacy</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group" ng-show="model.frequencyType">
|
||||
<label class="control-label">Schedule</label>
|
||||
<div class="controls">
|
||||
<table class="table frequency" style="margin-right: 30px">
|
||||
<thead>
|
||||
<tr>
|
||||
<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>
|
||||
<td ng-repeat="i in [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]">
|
||||
<a ng-click="toggleFrequency(i)" class="{{ model.frequencySchedule[i] }}">
|
||||
<i ng-class="{ 'icon-ok': model.frequencySchedule[i], 'icon-remove': !model.frequencySchedule[i] }"></i>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-section">
|
||||
<div class="section-label"> </div>
|
||||
<div class="section-container">
|
||||
<button ng-click="save()" ng-disabled="form.$invalid" type="button" class="btn btn-primary">Save</button>
|
||||
<button ng-click="create()" ng-disabled="form.$invalid || !model.deviceType" type="button" class="btn btn-primary">Save</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
@ -6,75 +6,196 @@
|
||||
<h1>Edit Device</h1>
|
||||
</header>
|
||||
|
||||
<form name="form" class="form">
|
||||
<div class="form-section">
|
||||
<div class="section-label">Device Identification</div>
|
||||
<div class="section-container">
|
||||
<div class="form-editor">
|
||||
<div class="control-group">
|
||||
<label class="control-label">Device Type</label>
|
||||
<div class="controls">
|
||||
<input type="hidden" ng-model="categoryPicker" ui-select2="categoryOpts" />
|
||||
<div ng-hide="loading" class="tabbable">
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane active form" title="Details">
|
||||
<form name="form" class="form">
|
||||
<div class="form-section">
|
||||
<div class="section-label">Device Type</div>
|
||||
<div class="section-container">
|
||||
<div class="form-editor">
|
||||
<div class="control-group">
|
||||
<label class="control-label">Category</label>
|
||||
<div class="controls">
|
||||
<input type="hidden" ng-model="deviceTypes.category.picker" ui-select2="deviceTypes.category.opts" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label">Make</label>
|
||||
<div class="controls">
|
||||
<input type="hidden" ng-model="deviceTypes.make.picker" ui-select2="deviceTypes.make.opts" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label">Model</label>
|
||||
<div class="controls">
|
||||
<input type="hidden" ng-model="deviceTypes.model.picker" ui-select2="deviceTypes.model.opts" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label"></label>
|
||||
<div class="controls">
|
||||
<button ng-click="deviceTypes.reset()" type="button" class="btn">Reset</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label">Make</label>
|
||||
<div class="controls">
|
||||
<input type="hidden" ng-model="makePicker" ui-select2="makeOpts" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label">Model</label>
|
||||
<div class="controls">
|
||||
<input ng-model="model.model" type="text" class="input-xlarge">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-section">
|
||||
<div class="section-label">Device Details</div>
|
||||
<div class="section-container">
|
||||
<div class="form-editor">
|
||||
<div class="control-group">
|
||||
<label class="control-label">Technical Data</label>
|
||||
<div class="controls">
|
||||
<textarea ng-model="model.technicalData" type="text" class="input-xxlarge"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label">Links</label>
|
||||
<div class="controls">
|
||||
<textarea ng-model="model.links" type="text" class="input-xxlarge"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label">Recommended Parts</label>
|
||||
<div class="controls">
|
||||
<textarea ng-model="model.partsRecommended" type="text" class="input-xxlarge"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-section">
|
||||
<div class="section-label">Images</div>
|
||||
<div class="section-container">
|
||||
<div class="form-editor">
|
||||
<div class="control-group">
|
||||
<label class="control-label">Images</label>
|
||||
<div class="controls">
|
||||
<div class="dropzone" dropzone="imageOpts" existing="existingImages" prefix="devices/"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-section">
|
||||
<div class="section-label">Identifier</div>
|
||||
<div class="section-container">
|
||||
<div class="form-editor">
|
||||
<div
|
||||
ng-class="{ 'error': form.identifier.$invalid && !form.identifier.$pristine }"
|
||||
class="control-group">
|
||||
|
||||
<div class="form-section">
|
||||
<div class="section-label"> </div>
|
||||
<div class="section-container">
|
||||
<button ng-click="save()" ng-disabled="form.$invalid" type="button" class="btn btn-primary">Save</button>
|
||||
<label class="control-label">Identifier</label>
|
||||
<div class="controls">
|
||||
<input
|
||||
ng-model="model.biomedId"
|
||||
required
|
||||
ab-device-unique="{field: 'biomedId', key: model._id}"
|
||||
type="text"
|
||||
name="identifier"
|
||||
class="input-xlarge">
|
||||
<span ng-show="form.identifier.$error.unique" class="help-inline">Identifier must be unique</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-section">
|
||||
<div class="section-label">Device Details</div>
|
||||
<div class="section-container">
|
||||
<div class="form-editor">
|
||||
<div class="control-group">
|
||||
<label class="control-label">Serial Number</label>
|
||||
<div class="controls">
|
||||
<input ng-model="model.serialNumber" type="text" class="input-large">
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label">Purchase Date</label>
|
||||
<div class="controls">
|
||||
<input ng-model="model.purchaseDate" datepicker type="text" class="input-small">
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label">Warranty Expiration</label>
|
||||
<div class="controls">
|
||||
<input ng-model="model.warrantyExpiration" datepicker type="text" class="input-small">
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label">Location</label>
|
||||
<div class="controls">
|
||||
<input ng-model="model.location" type="text" class="input-large">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-section">
|
||||
<div class="section-label">Frequency</div>
|
||||
<div class="section-container">
|
||||
<div class="form-editor">
|
||||
<div class="control-group">
|
||||
<label class="control-label">Frequency</label>
|
||||
<div class="controls">
|
||||
<select ng-model="model.frequencyType" class="input-xlarge">
|
||||
<option value="">None</option>
|
||||
<option value="Anesthesia">Anesthesia</option>
|
||||
<option value="Annual">Annual</option>
|
||||
<option value="DLLR">DLLR</option>
|
||||
<option value="ERT">ERT</option>
|
||||
<option value="Ice Maker">Ice Maker</option>
|
||||
<option value="Imaging">Imaging</option>
|
||||
<option value="Medical Device">Medical Device</option>
|
||||
<option value="Medical Gas Systems">Medical Gas Systems</option>
|
||||
<option value="N2O Trace Gas">N2O Trace Gas</option>
|
||||
<option value="Quarterly">Quarterly</option>
|
||||
<option value="RAE">RAE</option>
|
||||
<option value="Semi">Semi</option>
|
||||
<option value="Sterilizer - Cleaning">Sterilizer - Cleaning</option>
|
||||
<option value="Sterilizer - F">Sterilizer - F</option>
|
||||
<option value="Sterilizer - TT">Sterilizer - TT</option>
|
||||
<option value="Vaporizer">Vaporizer</option>
|
||||
<option value="Waste Management System">Waste Management System</option>
|
||||
<option value="legacy" disabled>legacy</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group" ng-show="model.frequencyType">
|
||||
<label class="control-label">Schedule</label>
|
||||
<div class="controls">
|
||||
<table class="table frequency" style="margin-right: 30px">
|
||||
<thead>
|
||||
<tr>
|
||||
<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>
|
||||
<td ng-repeat="i in [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]">
|
||||
<a ng-click="toggleFrequency(i)" class="{{ model.frequencySchedule[i] }}">
|
||||
<i ng-class="{ 'icon-ok': model.frequencySchedule[i], 'icon-remove': !model.frequencySchedule[i] }"></i>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-section">
|
||||
<div class="section-label"> </div>
|
||||
<div class="section-container">
|
||||
<button ng-click="update()" ng-disabled="form.$invalid || !model.deviceType" type="button" class="btn btn-primary">Save</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="tab-pane form" title="Test Runs">
|
||||
<div class="row-fluid">
|
||||
<div class="span12">
|
||||
<a class="btn" href="/testRuns/add?deviceId={{model._id}}" ng-show="accountHasPermission('system.edit')">New Test Run</a>
|
||||
|
||||
<table class="biomed-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width: 7%">Run</th>
|
||||
<th style="width: 6%">Result</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-hide="testRuns.length"><td colspan="11" class="table-message">There is no information to display.</td></tr>
|
||||
<tr ng-repeat="testRun in testRuns">
|
||||
<td><a href="/testRuns/{{testRun._id}}">{{testRun.date | date}}</a></td>
|
||||
<td>
|
||||
<span ng-if="testRun.result">Passed</span>
|
||||
<span ng-if="!testRun.result">Failed</span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
@ -1,41 +0,0 @@
|
||||
<ul class="breadcrumb">
|
||||
<li><a href="/devices"><i class="icon-briefcase"></i> Devices</a><li>
|
||||
</ul>
|
||||
<header>
|
||||
<h1>Devices</h1>
|
||||
</header>
|
||||
|
||||
<div class="row-fluid">
|
||||
<div class="span12">
|
||||
<div class="toolbelt">
|
||||
<a href="/devices/add" class="btn btn-primary" ng-show="accountHasPermission('system.edit')">Create new Device</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: 33%" ng-class="selectedCls('category')" ng-click="changeSorting('category')">Device Type</th>
|
||||
<th style="width: 33%" ng-class="selectedCls('make')" ng-click="changeSorting('make')">Make</th>
|
||||
<th style="width: 33%" ng-class="selectedCls('model')" ng-click="changeSorting('model')">Model</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-show="loading"><td colspan="4" class="table-loading"><i class="loader"></i></td></tr>
|
||||
<tr ng-hide="loading || devices.length"><td colspan="4" class="table-message">There is no information to display.</td></tr>
|
||||
<tr ng-hide="loading" ng-repeat="device in devices">
|
||||
<td>{{device.category}}</td>
|
||||
<td>{{device.make}}</td>
|
||||
<td>{{device.model}}</td>
|
||||
<td><a href="/devices/{{device._id}}">Edit</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
70
public/partials/testRuns/add.html
Normal file
70
public/partials/testRuns/add.html
Normal file
@ -0,0 +1,70 @@
|
||||
<ul class="breadcrumb">
|
||||
<li><a href="/checkLists"><i class="icon-briefcase"></i> Check Lists</a><span class="divider"></span><li>
|
||||
<li class="active">New Test Run</li>
|
||||
</ul>
|
||||
<header>
|
||||
<h1>New Test Run</h1>
|
||||
</header>
|
||||
<form name="form" class="form">
|
||||
<div class="form-section" ng-repeat="field in model.fields">
|
||||
<div class="section-label">{{$index + 1}}.</div>
|
||||
<div class="section-container {{field.result}}">
|
||||
<div class="form-editor">
|
||||
<div class="control-group">
|
||||
<label class="control-label">Test</label>
|
||||
<div class="controls">
|
||||
<p>{{field.label}}</p>
|
||||
<p ng-if="field.type == 'range'">Passing Values: {{field.min}} - {{field.max}}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group" ng-if="field.type == 'boolean'">
|
||||
<label class="control-label">Result</label>
|
||||
<div class="controls">
|
||||
<select ng-model="field.value" class="input-xlarge" required>
|
||||
<option value="true">Pass</option>
|
||||
<option value="false">Fail</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group" ng-if="field.type == 'range'">
|
||||
<label class="control-label">Result</label>
|
||||
<div class="controls">
|
||||
<input ng-model="field.value" type="number" class="input-xlarge" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label">Comments</label>
|
||||
<div class="controls">
|
||||
<textarea ng-model="field.comments" type="text" class="input-xxlarge" ng-required="!field.result"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-section">
|
||||
<div class="section-label">Summary</div>
|
||||
<div class="section-container">
|
||||
<div class="form-editor">
|
||||
<div class="control-group">
|
||||
<label class="control-label">Result</label>
|
||||
<div class="controls">
|
||||
<span ng-if="model.result">Passed</span>
|
||||
<span ng-if="!model.result">Failed</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label">Comments</label>
|
||||
<div class="controls">
|
||||
<textarea ng-model="model.comments" class="input-xlarge"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-section">
|
||||
<div class="section-label"> </div>
|
||||
<div class="section-container">
|
||||
<button ng-click="save()" ng-disabled="form.$invalid" type="button" class="btn btn-primary">Save</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
65
public/partials/testRuns/view.html
Normal file
65
public/partials/testRuns/view.html
Normal file
@ -0,0 +1,65 @@
|
||||
<ul class="breadcrumb">
|
||||
<li class="active">Test Results</li>
|
||||
</ul>
|
||||
<header>
|
||||
<h1>Test Results</h1>
|
||||
</header>
|
||||
<form name="form" class="form">
|
||||
<div class="form-section" ng-repeat="field in model.fields">
|
||||
<div class="section-label">{{$index + 1}}.</div>
|
||||
<div class="section-container {{field.result}}">
|
||||
<div class="form-editor">
|
||||
<div class="control-group">
|
||||
<label class="control-label">Test</label>
|
||||
<div class="controls">
|
||||
<p>{{field.label}}</p>
|
||||
<p ng-if="field.type == 'range'">Passing Values: {{field.min}} - {{field.max}}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group" ng-if="field.type == 'boolean'">
|
||||
<label class="control-label">Result</label>
|
||||
<div class="controls">
|
||||
<p style="padding-top: 5px">
|
||||
<span ng-if="field.value" style="color: green">Passed</span>
|
||||
<span ng-if="!field.value" style="color: red">Failed</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group" ng-if="field.type == 'range'">
|
||||
<label class="control-label">Result</label>
|
||||
<div class="controls">
|
||||
<p style="padding-top: 5px">{{field.value}}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label">Comments</label>
|
||||
<div class="controls">
|
||||
<p style="padding-top: 5px">{{field.comments}}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-section">
|
||||
<div class="section-label">Summary</div>
|
||||
<div class="section-container">
|
||||
<div class="form-editor">
|
||||
<div class="control-group">
|
||||
<label class="control-label">Result</label>
|
||||
<div class="controls">
|
||||
<p style="padding-top: 5px">
|
||||
<span ng-if="model.result" style="color: green">Passed</span>
|
||||
<span ng-if="!model.result" style="color: red">Failed</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label">Comments</label>
|
||||
<div class="controls">
|
||||
<p>{{model.comments}}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
@ -116,6 +116,23 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-section" ng-show="workorderType != 'shipment'">
|
||||
<div class="section-label">Devices</div>
|
||||
<div class="section-container">
|
||||
<div class="form-editor">
|
||||
<div class="control-group">
|
||||
<label class="control-label">Devices</label>
|
||||
<div class="controls">
|
||||
<select multiple ui-select2 ng-model="model.devices" data-placeholder="Choose Devices(s)" class="input-xxlarge">
|
||||
<option ng-repeat="device in devices" value="{{device._id}}">
|
||||
{{device.biomedId}} - {{device.deviceType.make}} {{device.deviceType.model}}
|
||||
</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-section" ng-show="workorderType != 'shipment'">
|
||||
<div class="section-label">Scheduling</div>
|
||||
<div class="section-container">
|
||||
|
@ -121,6 +121,33 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-section" ng-show="master.reason != 'Shipment'">
|
||||
<div class="section-label">Devices</div>
|
||||
<div class="section-container">
|
||||
<div ng-hide="devices.visible" class="form-preview">
|
||||
<span>Devices</span>: <strong>{{master.devices.length}}</strong><br>
|
||||
<a ng-click="devices.edit()" ng-show="accountHasPermission('system.edit')">Edit</a>
|
||||
</div>
|
||||
<div ng-show="devices.visible" class="form-editor">
|
||||
<div class="control-group">
|
||||
<label class="control-label"><span>Devices</span></label>
|
||||
<div class="controls">
|
||||
{{devices.devices}}
|
||||
<select multiple ui-select2 ng-model="devices.model.devices" data-placeholder="Choose Devices(s)" class="input-xxlarge">
|
||||
<option ng-repeat="device in allDevices" value="{{device._id}}">
|
||||
{{device.biomedId}} - {{device.deviceType.make}} {{device.deviceType.model}}
|
||||
</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-actions">
|
||||
<button ng-click="devices.save(false)" type="button" class="btn btn-primary">Save</button>
|
||||
<button ng-click="devices.save(true)" type="button" class="btn">Save & Notify</button>
|
||||
<button ng-click="devices.reset()" type="button" class="btn">Cancel</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-section" ng-show="master.reason != 'Shipment'">
|
||||
<div class="section-label">Scheduling</div>
|
||||
<div class="section-container">
|
||||
|
Reference in New Issue
Block a user