|
@@ -11,7 +11,7 @@
|
|
|
<el-form-item
|
|
<el-form-item
|
|
|
label="Report Type:"
|
|
label="Report Type:"
|
|
|
class="row-item">
|
|
class="row-item">
|
|
|
- <el-select v-model="reportFilter.reportType">
|
|
|
|
|
|
|
+ <el-select v-model="reportFilter.reportType" @change="changeReportType">
|
|
|
<el-option
|
|
<el-option
|
|
|
v-for="reportType in reportTypeOptions"
|
|
v-for="reportType in reportTypeOptions"
|
|
|
:label="reportType.name"
|
|
:label="reportType.name"
|
|
@@ -21,7 +21,7 @@
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
|
|
|
|
- <el-form-item label="Service Provider:" v-if="reportFilter.reportType !== 'MTU' && reportFilter.reportType !== 'MSUR'">
|
|
|
|
|
|
|
+ <el-form-item label="Service Provider:" v-if="reportFilter.reportType !== 'MTU' && reportFilter.reportType !== 'MSUR' && reportFilter.reportType !== 'MAF'">
|
|
|
<el-select v-model="reportFilter.providerPk">
|
|
<el-select v-model="reportFilter.providerPk">
|
|
|
<el-option
|
|
<el-option
|
|
|
v-for="serviceProvider in serviceProviderOptions"
|
|
v-for="serviceProvider in serviceProviderOptions"
|
|
@@ -31,7 +31,7 @@
|
|
|
></el-option>
|
|
></el-option>
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
- <el-form-item label="Site:" v-if="reportFilter.reportType == 'MSUR'">
|
|
|
|
|
|
|
+ <el-form-item label="Site:" v-if="reportFilter.reportType == 'MSUR' || reportFilter.reportType == 'MAF'">
|
|
|
<el-select
|
|
<el-select
|
|
|
class="add-text"
|
|
class="add-text"
|
|
|
filterable
|
|
filterable
|
|
@@ -51,29 +51,38 @@
|
|
|
<div class="row">
|
|
<div class="row">
|
|
|
<el-form-item
|
|
<el-form-item
|
|
|
label="Month:"
|
|
label="Month:"
|
|
|
- class="row-item">
|
|
|
|
|
|
|
+ class="row-item"
|
|
|
|
|
+ v-if="reportFilter.reportType != 'MAF'">
|
|
|
<el-select v-model="reportFilter.month">
|
|
<el-select v-model="reportFilter.month">
|
|
|
<el-option
|
|
<el-option
|
|
|
v-for="month in monthOptions"
|
|
v-for="month in monthOptions"
|
|
|
:label="month.name"
|
|
:label="month.name"
|
|
|
:value="month.value"
|
|
:value="month.value"
|
|
|
- :key="month.value"
|
|
|
|
|
- ></el-option>
|
|
|
|
|
|
|
+ :key="month.value"/>
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
-
|
|
|
|
|
<el-form-item
|
|
<el-form-item
|
|
|
label="Year:"
|
|
label="Year:"
|
|
|
- class="row-item">
|
|
|
|
|
|
|
+ class="row-item"
|
|
|
|
|
+ v-if="reportFilter.reportType != 'MAF'">
|
|
|
<el-date-picker
|
|
<el-date-picker
|
|
|
v-model="reportFilter.year"
|
|
v-model="reportFilter.year"
|
|
|
format="yyyy"
|
|
format="yyyy"
|
|
|
value-format="yyyy"
|
|
value-format="yyyy"
|
|
|
type="year"
|
|
type="year"
|
|
|
- :clearable="false"
|
|
|
|
|
- />
|
|
|
|
|
|
|
+ :clearable="false"/>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item
|
|
|
|
|
+ label="Date Range:"
|
|
|
|
|
+ class="row-item"
|
|
|
|
|
+ v-if="reportFilter.reportType == 'MAF'">
|
|
|
|
|
+ <el-date-picker
|
|
|
|
|
+ v-model="dateRange"
|
|
|
|
|
+ type="daterange"
|
|
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
|
|
+ start-placeholder="Start Date"
|
|
|
|
|
+ end-placeholder="End Date"/>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
-
|
|
|
|
|
<el-button
|
|
<el-button
|
|
|
class="filter-item generate-button"
|
|
class="filter-item generate-button"
|
|
|
v-waves
|
|
v-waves
|
|
@@ -201,6 +210,7 @@ export default {
|
|
|
return {
|
|
return {
|
|
|
loading: false,
|
|
loading: false,
|
|
|
regenbtn: false,
|
|
regenbtn: false,
|
|
|
|
|
+ dateRange: [],
|
|
|
siteOptions: [],
|
|
siteOptions: [],
|
|
|
reportTypeOptions: [],
|
|
reportTypeOptions: [],
|
|
|
serviceProviderOptions: [],
|
|
serviceProviderOptions: [],
|
|
@@ -233,11 +243,45 @@ export default {
|
|
|
this.loading = false
|
|
this.loading = false
|
|
|
})
|
|
})
|
|
|
},
|
|
},
|
|
|
|
|
+ changeReportType() {
|
|
|
|
|
+ this.getSiteOptions("")
|
|
|
|
|
+ },
|
|
|
|
|
+ validate(isGen) {
|
|
|
|
|
+ var valid = true;
|
|
|
|
|
+ if (this.reportFilter.reportType == 'MAF') {
|
|
|
|
|
+ if (this.dateRange.length == 2) {
|
|
|
|
|
+ this.reportFilter.dateStart = this.dateRange[0]
|
|
|
|
|
+ this.reportFilter.dateEnd = this.dateRange[1]
|
|
|
|
|
+ } else {
|
|
|
|
|
+ this.$message({
|
|
|
|
|
+ type: 'error',
|
|
|
|
|
+ message: "Please select date range"
|
|
|
|
|
+ });
|
|
|
|
|
+ valid = false;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ if (this.reportFilter.reportType == 'MSUR' || this.reportFilter.reportType == 'MAF') {
|
|
|
|
|
+ if (!this.reportFilter.sitePk && isGen) {
|
|
|
|
|
+ this.$message({
|
|
|
|
|
+ type: 'error',
|
|
|
|
|
+ message: "Please select a site"
|
|
|
|
|
+ });
|
|
|
|
|
+ valid = false;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ return valid;
|
|
|
|
|
+ },
|
|
|
handleGenerateReport() {
|
|
handleGenerateReport() {
|
|
|
|
|
+ if (!this.validate()) {
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
this.loading = true
|
|
this.loading = true
|
|
|
this.getReportsPages()
|
|
this.getReportsPages()
|
|
|
},
|
|
},
|
|
|
async reGenerateReport() {
|
|
async reGenerateReport() {
|
|
|
|
|
+ if (!this.validate(true)) {
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
this.regenbtn = true;
|
|
this.regenbtn = true;
|
|
|
this.loading = true;
|
|
this.loading = true;
|
|
|
generateMonthlyExcel(this.reportFilter).then(res => {
|
|
generateMonthlyExcel(this.reportFilter).then(res => {
|