From 8aa3edd56c279100c9053576f3e90fa55459fe77 Mon Sep 17 00:00:00 2001
From: zengh <123456>
Date: Mon, 16 Jan 2023 16:15:55 +0800
Subject: [PATCH] 修改
---
src/views/healthcode/healthcode.vue | 234 +++++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 204 insertions(+), 30 deletions(-)
diff --git a/src/views/healthcode/healthcode.vue b/src/views/healthcode/healthcode.vue
index 3140694..973b5e4 100644
--- a/src/views/healthcode/healthcode.vue
+++ b/src/views/healthcode/healthcode.vue
@@ -8,6 +8,8 @@
:before-open="beforeOpen"
v-model="form"
ref="crud"
+ :row-style="rowStyle"
+ :search.sync="search"
@row-update="rowUpdate"
@row-save="rowSave"
@row-del="rowDel"
@@ -21,24 +23,39 @@
<template slot="menuLeft">
<el-button
v-bind:class="activeClass == 0 ? 'btn-color' : ''"
- size="medium "
+ size="small "
@click="getHealthcodeData(0)"
>本日
</el-button>
<el-button
v-bind:class="activeClass == 1 ? 'btn-color' : ''"
- size="medium "
+ size="small "
@click="getHealthcodeData(1)"
>本周
</el-button>
<el-button
v-bind:class="activeClass == 2 ? 'btn-color' : ''"
- size="medium "
+ size="small "
@click="getHealthcodeData(2)"
>本月
</el-button>
</template>
-
+
+ <template slot="menuLeft">
+ <el-button type="warning"
+ size="small"
+ plain
+ icon="el-icon-download"
+ @click="handleExport">导出
+ </el-button>
+ <el-button type="warning"
+ size="small"
+ plain
+ icon="el-icon-pie-chart"
+ @click="handleExportStatis">导出报表
+ </el-button>
+ </template>
+
</avue-crud>
</basic-container>
</template>
@@ -52,7 +69,9 @@
return {
form: {},
query: {},
+ search:{},
loading: true,
+ activeClass: 0,
page: {
pageSize: 10,
currentPage: 1,
@@ -62,12 +81,12 @@
option: {
menu:false,
height:'auto',
- calcHeight: 30,
+ calcHeight: 54,
+ border: false,
+ stripe:true,
tip: false,
searchShow: true,
searchMenuSpan: 6,
- activeClass: 3,
- border: true,
index: true,
viewBtn: true,
selection: true,
@@ -102,6 +121,7 @@
format: "yyyy-MM-dd",
valueFormat: "yyyy-MM-dd",
searchRange: true,
+ searchValue:[this.getStartTime(),this.getEndTime()],
searchSpan: 5,
hide: true,
addDisplay: false,
@@ -119,7 +139,7 @@
{
label: '省份',
prop: 'province',
- search: true,
+ //search: true,
searchSpan: 3,
type: 'select',
props: {
@@ -135,7 +155,7 @@
prop: 'city',
type: 'select',
searchSpan: 3,
- search: true,
+ //search: true,
props: {
label: 'name',
value: 'name'
@@ -146,7 +166,7 @@
{
label: '区县',
searchSpan: 3,
- search: true,
+ //search: true,
prop: 'district',
type: 'select',
props: {
@@ -159,9 +179,10 @@
{
label: "健康码颜色",
search: true,
- searchLabelWidth:100,
+ searchLabelWidth:120,
prop: "type",
- searchSpan: 3,
+ searchSpan: 4,
+ searchValue: this.getHealthcodeType(),
width:210,
type: "select",
dicData: [
@@ -181,8 +202,13 @@
}
]
},
- data: []
+ data: [],
+ isActive: false,
+ recorder: null,
};
+ },
+ mounted(){
+
},
computed: {
...mapGetters(["permission"]),
@@ -202,15 +228,20 @@
return ids.join(",");
}
},
-
methods: {
beforeOpen(done, type) {
},
searchReset() {
+ //清空搜索框中的内容
this.query = {};
+ //清空this.$route.query
+ this.$router.push({ query: {} });
+ this.activeClass=0;
this.onLoad(this.page);
},
searchChange(params, done) {
+ //清空this.$route.query
+ this.$router.push({ query: {} });
this.query = params;
this.page.currentPage = 1;
this.onLoad(this.page, params);
@@ -232,51 +263,179 @@
refreshChange() {
this.onLoad(this.page, this.query);
},
+ rowStyle({row, column, rowIndex}){
+ if(row.type=="3"){
+ return {
+ color:"#fe1515"
+ }
+ }
+ },
+ getStartTime(){
+ if (this.$route.query.startTime != undefined && this.$route.query.startTime != null && this.$route.query.startTime != "" ) {
+ return this.$route.query.startTime
+ }
+ // 当前时间
+ var date = new Date();
+ //年
+ var Y = date.getFullYear();
+ //月
+ var M = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1;
+ //日
+ var D = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
+ return Y + "-" + M + "-" + D;
+ },
+ getEndTime(){
+ if (this.$route.query.endTime != undefined && this.$route.query.endTime != null && this.$route.query.endTime != "" ) {
+ return this.$route.query.endTime
+ }
+ // 当前时间
+ var date = new Date();
+ //年
+ var Y = date.getFullYear();
+ //月
+ var M = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1;
+ //日
+ var D = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
+ return Y + "-" + M + "-" + D;
+ },
+ getHealthcodeType(){
+ if (this.$route.query.type != undefined) {
+ var type = this.$route.query.type+"";
+ //this.$route.query = {};
+ return type;
+ }
+ },
getHealthcodeData(e) {
- this.activeClass = e;
+ var that = this;
+ this.query={};
+ this.$router.push({ query: {} });
+ that.activeClass = e;
//status 0:本日 1:本月 2:本年 type: 1:绿色 2:黄色 3:红色
- var params = {
+ var today = new Date();
+ var params ={};
+ if(e==0){
+ //修改搜索框中的值
+ this.search.releaseTimeRange=[this.showToDay(today)+" 00:00:00",this.showToDay(today)+" 23:59:59"]
+ }
+ if(e==1){
+ //修改搜索框中的值
+ this.search.releaseTimeRange=[this.showWeekFirstDay(today)+" 00:00:00",this.showToDay(today)+" 23:59:59"]
+ }
+ if(e==2){
+ //修改搜索框中的值
+ this.search.releaseTimeRange=[this.showMonthFirstDay(today)+" 00:00:00",this.showToDay(today)+" 23:59:59"]
+ }
+ params = {
+ ... params,
status: e
};
- this.query = params;
+ if(this.search.type){
+ params = {
+ ... params,
+ type: this.search.type
+ };
+ }
+ this.query=params;
this.page.currentPage = 1;
this.onLoad(this.page, params);
},
- onLoad(page, params = {}) {
+ //本日
+ showToDay(Nowdate){
+ var M=Number(Nowdate.getMonth())+1;
+ if(M<10){
+ M="0"+M;
+ }
+ var day = Nowdate.getDate();
+ if(day<10){
+ day = "0"+day;
+ }
+ return Nowdate.getFullYear()+"-"+M+"-"+day;
+ },
+
+ //本周第一天
+ showWeekFirstDay(Nowdate){
+ var WeekFirstDay=new Date(Nowdate-(Nowdate.getDay()-1)*86400000);
+ var M=Number(WeekFirstDay.getMonth())+1;
+ if(M<10){
+ M="0"+M;
+ }
+ var day = WeekFirstDay.getDate();
+ if(day<10){
+ day = "0"+day;
+ }
+ return WeekFirstDay.getFullYear()+"-"+M+"-"+day;
+ },
+
+ //本月第一天
+ showMonthFirstDay(Nowdate){
+ var MonthFirstDay=new Date(Nowdate.getFullYear(),Nowdate.getMonth(),1);
+ var M=Number(MonthFirstDay.getMonth())+1;
+ if(M<10){
+ M="0"+M;
+ }
+ return MonthFirstDay.getFullYear()+"-"+M+"-"+"0"+MonthFirstDay.getDate();
+ },
+ //数据导出
+ handleExport() {
+ this.$confirm("是否导出健康码数据?", "提示", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
+ }).then(() => {
+ window.open(`/api/blade-jfpts/healthcode/healthcode/export-healthcode?begTime=${this.$route.query.startTime}&endTime=${this.$route.query.endTime}&type=${this.$route.query.type}&timeDesc=${this.$route.query.timeDesc}`);
+ });
+ },
+ //数据报表导出
+ handleExportStatis() {
+ let begTime = this.$route.query.startTime==undefined? '':this.$route.query.startTime;
+ let endTime = this.$route.query.endTime==undefined? '':this.$route.query.endTime;
+ let type = this.$route.query.type==undefined? '':this.$route.query.type;
+ let timeDesc = this.$route.query.timeDesc==undefined? '':this.$route.query.timeDesc;
+ //window.open(`http://localhost:8108/ureport/excel?_u=blade-healthcode.statis.xml.ureport.xml&begTime=${begTime}&endTime=${endTime}&type=${type}&timeDesc=${timeDesc}`);
+ window.open(`https://web.byisf.com/api/blade-report/ureport/preview?_u=blade-healthcode.statis.xml.ureport.xml&begTime=${begTime}&endTime=${endTime}&type=${type}&timeDesc=${timeDesc}`);
+ },
+ onLoad(page, params={}) {
const { dateTime } = this.query;
let values = {
...params,
};
-
- if (this.$route.query.status && this.$route.query != undefined && this.$route.query != null && this.$route.query != "" ) {
- if (this.$route.query.type != undefined && this.$route.query.type != null && this.$route.query.type != "" ) {
- this.activeClass = this.$route.query.status;
+ if (this.$route.query.status!=undefined && this.$route.query != undefined && this.$route.query != null && this.$route.query != "" ) {
+ if (this.$route.query.type != undefined) {
this.page.currentPage = 1;
params = {
status:this.$route.query.status,
type:this.$route.query.type
}
} else {
- this.activeClass = 0;
this.page.currentPage = 1;
params = {
type:this.$route.query.status
};
}
- }else if(this.$route.query.type != undefined && this.$route.query.type != null && this.$route.query.type != "" ){
+ this.activeClass =4;
+ }else if(this.$route.query.type != undefined){
params = {
type: this.$route.query.type,
- beginTime: this.$route.query.startTime,
+ begTime: this.$route.query.startTime,
endTime: this.$route.query.endTime
}
- }else{
- params = {
- status:this.$route.query.status,
- type:this.$route.query.type
- }
+ this.activeClass =4;
+ }
+ // else{
+ // params = {
+ // status:this.$route.query.status,
+ // type:this.$route.query.type
+ // }
+ // }
+
+ if(this.activeClass == 0 && this.query.dateTime==null){
+ params = {
+ status:this.activeClass,
+ }
}
if (dateTime) {
+ this.activeClass =4;
values = {
...params,
begTime: dateTime[0],
@@ -287,6 +446,14 @@
} else {
values = {
...params,
+ ...this.query,
+ };
+ }
+
+ if (this.$route.query.timeDesc) {
+ values = {
+ ...params,
+ timeDesc: this.$route.query.timeDesc,
...this.query,
};
}
@@ -303,3 +470,10 @@
}
};
</script>
+<style scoped>
+ .el-button.btn-color {
+ color: rgb(255, 255, 255);
+ background-color: rgb(64, 158, 255);
+ border-color: rgb(64, 158, 255);
+ }
+</style>
--
Gitblit v1.9.3