174 lines
12 KiB
HTML
174 lines
12 KiB
HTML
<div id="messages" class="messages">
|
|
<div class="info-message" ng-show="success"><p>{{::'FILE_UPLOAD_SUCCESS_MESSAGE'|translate }}</p></div>
|
|
<div class="error-message" ng-show="orientation_warning"><p><i class="fa fa-exclamation-sign"></i>{{::'PLEASE_ROTATE_DEVICE_MESSAGE'|translate }}</p></div>
|
|
</div>
|
|
<div ng-if="toggleGallery">
|
|
<ul class="doc-upload-accordion" bm-gallery patient="patient" access-impression="false">
|
|
<li id="newVisit">
|
|
<h5 ng-click="resetCurrentVisit(newVisit)">
|
|
<i ng-hide="isCurrentVisit(newVisit)" class="fa fa-plus-circle state"></i>
|
|
<i ng-if="isCurrentVisit(newVisit)" class="fa fa-minus-circle state"></i>
|
|
{{::'NEW_VISIT_LABEL'|translate }}
|
|
</h5>
|
|
|
|
<div ng-show="isCurrentVisit(newVisit)" class="visit-content">
|
|
<form name="newVisitForm" single-submit="save(newVisit)">
|
|
<p class="caution" ng-show="newVisitForm.startDate.$error.overlap">
|
|
<i class="fa fa-exclamation-sign small"></i>
|
|
<span>{{::'VISIT_EXIST_LABEL'|translate }}</span>
|
|
</p>
|
|
|
|
<p class="caution" ng-show="newVisitForm.startDate.$error.future">
|
|
<i class="fa fa-exclamation-sign small"></i>
|
|
<span>{{::'VISIT_NOT_IN_FUTURE_LABEL'|translate }}</span>
|
|
</p>
|
|
|
|
<p class="caution" ng-show="newVisitForm.startDate.$error.dateSequence">
|
|
<i class="fa fa-exclamation-sign small"></i>
|
|
<span>{{::'START_NOT_GREATER_THAN_END_DATE_LABEL'|translate }}</span>
|
|
</p>
|
|
|
|
<div class="form-field">
|
|
<div>
|
|
<label><strong>{{::'VISIT_TYPE_LABEL'|translate }}</strong>
|
|
<span class="asterick">*</span>
|
|
</label>
|
|
</div>
|
|
<div class="field-value">
|
|
<select ng-model="newVisit.visitType" ng-options="vt.display for vt in visitTypes" ng-required="newVisit.hasFiles()">
|
|
<option value=""></option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="form-field">
|
|
<div>
|
|
<label class="form-attribute"><strong>{{::'START_DATE_LABEL'|translate }}</strong>
|
|
<span class="asterick">*</span>
|
|
</label>
|
|
</div>
|
|
<div class="field-value">
|
|
<input name="startDate" type="date" ng-model="newVisit.startDatetime" dependent-model="newVisit.stopDatetime" date-validator ng-blur="setDefaultEndDate(newVisit)" ng-required="newVisit.files.length >0" class="field-value" placeholder="yyyy-mm-dd"/>
|
|
</div>
|
|
</div>
|
|
<div class="form-field">
|
|
<div>
|
|
<label class="form-attribute"><strong>{{::'END_DATE_LABEL'|translate }}</strong></label>
|
|
</div>
|
|
<div class="field-value">
|
|
<input name="endDate" type="date" ng-model="newVisit.stopDatetime" dependent-model="newVisit.startDatetime" date-validator class="field-value" placeholder="yyyy-mm-dd">
|
|
</div>
|
|
</div>
|
|
<div class="upload-inline-buttons">
|
|
<input id="file-browse" type="file" multiple="multiple" name="image" accept="application/pdf, image/*" capture="camera" file-upload visit="newVisit" on-select="onSelect">
|
|
<label for="file-browse" class="btn btn-primary"><i class="fa fa-camera fa fa-white"></i> {{::'SCAN_LABEL'|translate }}</label>
|
|
<button type="submit" ng-disabled="!newVisit.hasFiles() || newVisitForm.$invalid || newVisit.hasErrors()" class="btn btn-primary">
|
|
<i class="fa fa-save fa fa-white"></i> {{::'SAVE_LABEL'|translate }}
|
|
</button>
|
|
</div>
|
|
</form>
|
|
<form>
|
|
<ul class="files">
|
|
<li class="clear" ng-repeat="file in newVisit.files | reverse">
|
|
<div class="file">
|
|
<a class="pdf-link fl" ng-if="isPdf(file)" ng-href="{{file.encodedValue}}" target="_blank">
|
|
<i class="fa fa-file-pdf-o"></i>
|
|
</a>
|
|
<img ng-if="!isPdf(file)" bm-gallery-item visit-uuid="'new'" visit-order="0" image="file" index="{{file.imageIndex}}" ng-src="{{file.thumbnail}}" width="100">
|
|
<select id="{{'file'+$index}}" required ng-readonly="!canDeleteFile(file)" class="concept-name" response-map="getDataResults" blur-on-select="true" ng-model="file.concept.editableName" ng-change="onConceptSelected(file)" ng-init="toInitFileConcept(file)" ng-disabled="file.voided">
|
|
<option ng-repeat="c in fileTypeConcepts" value="{{c.concept.name}}" ng-selected="file.concept.editableName==c.concept.name">
|
|
{{c.concept.name}}</option>
|
|
</select>
|
|
<button type="button" toggle="show" class="comment-toggle fr" tabindex="-1" ng-class="{'has-notes': file.comment}">
|
|
<i class="fa fa-file-o">
|
|
<i class="fa fa-plus-circle"></i>
|
|
<i class="fa fa-minus-circle"></i>
|
|
</i>
|
|
<i class="fa fa-file-text-o"></i>
|
|
</button>
|
|
|
|
<div ng-if="show" class="obs-comment-section">
|
|
<label class="control-label"></label>
|
|
<div class="field-value" ng-if="show">
|
|
<textarea class="obs-comment-section" maxlength="255" ng-model="file.comment" ng-change="enableSaveButtonOnCommentChange(file, visit)" placeholder="{{ 'NOTES_LABEL'|translate }}" msd-elastic>
|
|
</textarea>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<button type="button" ng-click="newVisit.removeNewAddedFile(file)" class="row-remover"><span class="fa fa-remove"></span></button>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</form>
|
|
|
|
</div>
|
|
</li>
|
|
|
|
<li ng-repeat="visit in visits">
|
|
<h5 ng-click="resetCurrentVisit(visit)">
|
|
<i ng-hide="isCurrentVisit(visit)" class="fa fa-plus-circle state"></i>
|
|
<i ng-if="isCurrentVisit(visit)" class="fa fa-minus-circle state"></i>
|
|
{{::'VISIT_LABEL'|translate }}
|
|
<small>{{::'VISIT_FROM_LABEL'|translate }}</small>
|
|
<span>{{visit.startDatetime | bahmniDate}}</span>
|
|
<small ng-if="visit.stopDatetime">{{::'VISIT_TO_LABEL'|translate }}</small>
|
|
<span ng-if="visit.stopDatetime">{{visit.stopDatetime | bahmniDate}}</span>
|
|
<span ng-if="visit.hasFiles()" class="containsImageMarker" title="Visit has images"><i class="fa fa-picture-o"></i></span>
|
|
<span ng-if="!visit.stopDatetime" class="currentVisitMarker" title="Current Visit"><i class="fa fa-star"></i></span>
|
|
</h5>
|
|
<div id="visit-content" class="visit-content" ng-show="isCurrentVisit(visit)">
|
|
<form name="{{'visit' + $index}}" single-submit="save(visit)" ng-disabled="!visit.changed">
|
|
<ul>
|
|
<li>
|
|
<ul class="files">
|
|
<li>
|
|
<div class="file-actions">
|
|
<button type="submit" ng-disabled="!visit.changed || visit.hasErrors()" class="btn btn-primary">
|
|
<i class="fa fa-save fa fa-white"></i> {{::'SAVE_LABEL'|translate }}
|
|
</button>
|
|
</div>
|
|
</li>
|
|
|
|
<li>
|
|
<input id="file-browse-{{visit.uuid}}" type="file" multiple="multiple" name="image-document-upload" accept="application/pdf,image/*" capture="camera" file-upload visit="visit" on-select="onSelect">
|
|
<label class="placeholder btn" for="file-browse-{{visit.uuid}}"><i class="fa fa-plus needsclick"></i></label>
|
|
</li>
|
|
<li ng-repeat="file in visit.files | reverse">
|
|
<div class="file">
|
|
<a class="pdf-link fl" ng-if="isPdf(file)" ng-href="{{file.encodedValue}}" target="_blank">
|
|
<i class="fa fa-file-pdf-o"></i>
|
|
</a>
|
|
<img ng-if="!isPdf(file)" bm-gallery-item index="{{file.imageIndex}}" visit-uuid="visit.uuid" visit-order="{{$parent.$index+1}}" image="file" ng-src="{{file.thumbnail}}" width="100" ng-class="{true:'transparent', false:'opaque'}[file.voided]"/>
|
|
<select id="{{'file'+$index}}" required ng-readonly="!canDeleteFile(file)" class="concept-name" ng-class="{saved: visit.isSaved(file)}" response-map="getDataResults" blur-on-select="true" ng-blur="visit.markAsUpdated()" ng-model="file.concept.editableName" ng-change="onConceptSelected(file)" ng-init="toInitFileConcept(file)" ng-disabled="file.voided">
|
|
<option ng-repeat="c in fileTypeConcepts" value="{{c.concept.name}}" ng-selected="file.concept.editableName==c.concept.name">
|
|
{{c.concept.name}}</option>
|
|
</select>
|
|
<button type="button" toggle="show" class="comment-toggle fr" tabindex="-1" ng-class="{'has-notes': file.comment}">
|
|
<i class="fa fa-file-o">
|
|
<i class="fa fa-plus-circle"></i>
|
|
<i class="fa fa-minus-circle"></i>
|
|
</i>
|
|
<i class="fa fa-file-text-o"></i>
|
|
</button>
|
|
|
|
<div ng-if="show" class="obs-comment-section">
|
|
<label class="control-label"></label>
|
|
<div class="field-value" ng-if="show">
|
|
<textarea class="obs-comment-section" maxlength="255" ng-model="file.comment" ng-change="enableSaveButtonOnCommentChange(file, visit)" ng-readonly="!canDeleteFile(file)" placeholder="{{ 'NOTES_LABEL'|translate }}" msd-elastic>
|
|
</textarea>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="file-remove">
|
|
<button type="button" id="remove-image{{$index}}" ng-click="visit.removeFile(file)" ng-if="canDeleteFile(file)" class="row-remover"><span ng-class="{'fa fa-remove': !file.voided, 'fa fa-undo': file.voided }"></span>
|
|
</button>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</form>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div> |