|
@@ -4,17 +4,46 @@
|
|
|
<div id="process-claims" class="px-3 mcp-theme-1 mt-3" v-cloak>
|
|
|
<div class="row">
|
|
|
<div class="col-9">
|
|
|
- <div class="d-flex align-items-center">
|
|
|
+ <div class="d-flex align-items-end">
|
|
|
<div class="font-weight-bold py-3 font-size-14 text-secondary">
|
|
|
To Do
|
|
|
</div>
|
|
|
- <form class="ml-4 mr-auto d-inline-flex align-items-center" v-on:submit.prevent="doFilter()">
|
|
|
- <input type="text" v-model="filter.q" class="form-control form-control-sm width-200px mr-2" placeholder="Name/MCN/Chart #">
|
|
|
- <input type="date" v-model="filter.from" class="form-control form-control-sm width-150px mr-2">
|
|
|
- <input type="date" v-model="filter.to" class="form-control form-control-sm width-150px mr-2">
|
|
|
- <button class="btn btn-sm btn-primary mr-2">Filter</button>
|
|
|
- <button class="btn btn-sm btn-default border" v-on:click.prevent="resetFilter()">Reset</button>
|
|
|
+ <form class="ml-4 d-inline-flex align-items-center py-3" v-on:submit.prevent="doFilter()">
|
|
|
+ <div class="width-150px mr-2">
|
|
|
+ <label class="mb-1 text-sm text-secondary">Search</label>
|
|
|
+ <input type="text" v-model="filter.q"
|
|
|
+ class="form-control form-control-sm w-100 min-width-unset"
|
|
|
+ :class="filter.q ? 'bg-aliceblue' : ''"
|
|
|
+ placeholder="Name/MCN/Chart #">
|
|
|
+ </div>
|
|
|
+ <div class="width-150px min-width-unset mr-2">
|
|
|
+ <label class="mb-1 text-sm text-secondary">HCP</label>
|
|
|
+ <select class="form-control form-control-sm mr-2 filter-hcp" provider-search
|
|
|
+ v-model="filter.hcp">
|
|
|
+ <option value="">-- HCP --</option>
|
|
|
+ </select>
|
|
|
+ </div>
|
|
|
+ <div class="width-150px mr-2">
|
|
|
+ <label class="mb-1 text-sm text-secondary">From Date</label>
|
|
|
+ <input type="date" v-model="filter.from"
|
|
|
+ class="form-control form-control-sm w-100 min-width-unset"
|
|
|
+ :class="filter.from ? 'bg-aliceblue' : ''">
|
|
|
+ </div>
|
|
|
+ <div class="width-150px mr-2">
|
|
|
+ <label class="mb-1 text-sm text-secondary">To Date</label>
|
|
|
+ <input type="date" v-model="filter.to"
|
|
|
+ class="form-control form-control-sm w-100 min-width-unset"
|
|
|
+ :class="filter.to ? 'bg-aliceblue' : ''">
|
|
|
+ </div>
|
|
|
+ <div class="">
|
|
|
+ <label class="mb-1 text-sm text-secondary"> </label>
|
|
|
+ <div class="d-flex align-items-center">
|
|
|
+ <button class="btn btn-sm btn-primary mr-2">Filter</button>
|
|
|
+ <button class="btn btn-sm btn-default border" v-on:click.prevent="resetFilter()">Reset</button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</form>
|
|
|
+ <div class="py-3 ml-auto">Unsubmitted: <b>@{{ numUnsubmitted }}</b></div>
|
|
|
</div>
|
|
|
<div v-for="(claim, claimIndex) in claims"
|
|
|
v-if="!claim.status || claim.status === 'NEW' || (claim.status === 'PICKED_UP' && claim.status_pro_id === proId)">
|
|
@@ -250,7 +279,9 @@
|
|
|
q: '',
|
|
|
from: '',
|
|
|
to: '',
|
|
|
- }
|
|
|
+ hcp: '',
|
|
|
+ },
|
|
|
+ numUnsubmitted: 0
|
|
|
},
|
|
|
methods: {
|
|
|
hasError: function (_data) {
|
|
@@ -295,7 +326,8 @@
|
|
|
resetCurrentClaim: function() {
|
|
|
if(this.claims && this.claims.length) {
|
|
|
for (let i = 0; i < this.claims.length; i++) {
|
|
|
- if (!this.claims[i].status || this.claims[i].status === 'NEW' || this.claims[i].status === 'PICKED_UP') {
|
|
|
+ if (!this.claims[i].status || this.claims[i].status === 'NEW' ||
|
|
|
+ (this.claims[i].status === 'PICKED_UP' && this.claims[i].status_pro_id === this.proId)) {
|
|
|
this.setCurrentClaim(i);
|
|
|
break;
|
|
|
}
|
|
@@ -308,10 +340,12 @@
|
|
|
if($.trim(this.filter.q)) ql.push('q=' + encodeURIComponent($.trim(this.filter.q)));
|
|
|
if($.trim(this.filter.from)) ql.push('from=' + encodeURIComponent($.trim(this.filter.from)));
|
|
|
if($.trim(this.filter.to)) ql.push('to=' + encodeURIComponent($.trim(this.filter.to)));
|
|
|
+ if($.trim(this.filter.hcp)) ql.push('hcp=' + encodeURIComponent($.trim(this.filter.hcp)));
|
|
|
ql = ql.join('&');
|
|
|
$.get('{{route('practice-management.process-claims')}}?' + ql, _data => {
|
|
|
this.claims = _data;
|
|
|
this.resetCurrentClaim();
|
|
|
+ this.recaclculateNumUnsubmitted();
|
|
|
hideMask();
|
|
|
}, 'json');
|
|
|
},
|
|
@@ -319,11 +353,35 @@
|
|
|
this.filter.q = '';
|
|
|
this.filter.from = '';
|
|
|
this.filter.to = '';
|
|
|
+ this.filter.hcp = '';
|
|
|
this.doFilter();
|
|
|
+ },
|
|
|
+ recaclculateNumUnsubmitted: function() {
|
|
|
+ let count = 0;
|
|
|
+ if(this.claims && this.claims.length) {
|
|
|
+ for (let i = 0; i < this.claims.length; i++) {
|
|
|
+ if (!this.claims[i].status || this.claims[i].status === 'NEW' ||
|
|
|
+ (this.claims[i].status === 'PICKED_UP' && this.claims[i].status_pro_id === this.proId)) {
|
|
|
+ count++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.numUnsubmitted = count;
|
|
|
}
|
|
|
},
|
|
|
mounted: function() {
|
|
|
+ let self = this;
|
|
|
this.resetCurrentClaim();
|
|
|
+ this.recaclculateNumUnsubmitted();
|
|
|
+ window.setTimeout(() => {
|
|
|
+ $('[pro-suggest-initialized]').removeAttr('pro-suggest-initialized');
|
|
|
+ $('.pro-suggest-input').remove();
|
|
|
+ $('.pro-suggestions-container').remove();
|
|
|
+ window.initProSuggest();
|
|
|
+ }, 500);
|
|
|
+ $(document).on('pro-changed', '.filter-hcp', function() {
|
|
|
+ self.filter.hcp = this.value;
|
|
|
+ });
|
|
|
}
|
|
|
})
|
|
|
|