From 14e02654e0545ee69456d64aef2f35c7c219d708 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Fri, 07 May 2021 11:26:49 +0800
Subject: [PATCH] 地图模式设备状态修改
---
src/views/healthcode/healthcode.vue | 261 ++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 223 insertions(+), 38 deletions(-)
diff --git a/src/views/healthcode/healthcode.vue b/src/views/healthcode/healthcode.vue
index 9803fcb..ae02016 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"
@@ -18,15 +20,42 @@
@size-change="sizeChange"
@refresh-change="refreshChange"
@on-load="onLoad">
- <template slot="menuLeft">
- <el-button type="danger"
- size="small"
- icon="el-icon-delete"
- plain
- v-if="true"
- @click="handleDelete">删 除
- </el-button>
- </template>
+ <template slot="menuLeft">
+ <el-button
+ v-bind:class="activeClass == 0 ? 'btn-color' : ''"
+ size="small "
+ @click="getHealthcodeData(0)"
+ >本日
+ </el-button>
+ <el-button
+ v-bind:class="activeClass == 1 ? 'btn-color' : ''"
+ size="small "
+ @click="getHealthcodeData(1)"
+ >本周
+ </el-button>
+ <el-button
+ v-bind:class="activeClass == 2 ? 'btn-color' : ''"
+ 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>
@@ -40,6 +69,7 @@
return {
form: {},
query: {},
+ search:{},
loading: true,
page: {
pageSize: 10,
@@ -48,12 +78,15 @@
},
selectionList: [],
option: {
+ menu:false,
height:'auto',
- calcHeight: 30,
+ calcHeight: 54,
+ border: false,
+ stripe:true,
tip: false,
searchShow: true,
searchMenuSpan: 6,
- border: true,
+ activeClass: 0,
index: true,
viewBtn: true,
selection: true,
@@ -88,6 +121,7 @@
format: "yyyy-MM-dd",
valueFormat: "yyyy-MM-dd",
searchRange: true,
+ searchValue:[this.getStartTime(),this.getEndTime()],
searchSpan: 5,
hide: true,
addDisplay: false,
@@ -103,53 +137,87 @@
]
},
{
- label: "行政区",
- searchSpan: 4,
- prop: "addvcd",
- search: true,
- type: "tree",
- dicUrl: "/api/blade-jfpts/district/district/selectd",
+ label: '省份',
+ prop: 'province',
+ //search: true,
+ searchSpan: 3,
+ type: 'select',
props: {
- label: "addvnm",
- value: "addvcds"
- }
+ label: 'name',
+ value: 'name'
+ },
+ cascaderItem: ['city', 'district'],
+ dicUrl: '/api/blade-system/region/select',
+ span: 6,
+ },
+ {
+ label: '地市',
+ prop: 'city',
+ type: 'select',
+ searchSpan: 3,
+ //search: true,
+ props: {
+ label: 'name',
+ value: 'name'
+ },
+ dicUrl: '/api/blade-system/region/select?code={{key}}',
+ span: 6,
+ },
+ {
+ label: '区县',
+ searchSpan: 3,
+ //search: true,
+ prop: 'district',
+ type: 'select',
+ props: {
+ label: 'name',
+ value: 'name'
+ },
+ dicUrl: '/api/blade-system/region/select?code={{key}}',
+ span: 6,
},
{
label: "健康码颜色",
search: true,
- searchLabelWidth: 120,
+ searchLabelWidth:120,
prop: "type",
- searchSpan: 5,
- width:110,
+ searchSpan: 4,
+ searchValue: this.getHealthcodeType(),
+ width:210,
type: "select",
dicData: [
{
label: "绿色",
- value: 1
+ value: "1"
},
{
label: "黄色",
- value: 2
+ value: "2"
},
{
label: "红色",
- value: 3
+ value: "3"
}
],
}
]
},
- data: []
+ data: [],
+ isActive: false,
+ recorder: null,
};
+ },
+ mounted(){
+
},
computed: {
...mapGetters(["permission"]),
permissionList() {
return {
- addBtn: this.vaildData(null, true),
- viewBtn: this.vaildData(null, true),
- delBtn: this.vaildData(null, true),
- editBtn: this.vaildData(null, true)
+ addBtn: this.vaildData(null, false),
+ viewBtn: this.vaildData(null, false),
+ delBtn: this.vaildData(null, false),
+ editBtn: this.vaildData(null, false)
};
},
ids() {
@@ -164,7 +232,10 @@
beforeOpen(done, type) {
},
searchReset() {
+ //清空搜索框中的内容
this.query = {};
+ //清空this.$route.query
+ this.$router.push({ query: {} });
this.onLoad(this.page);
},
searchChange(params, done) {
@@ -189,15 +260,122 @@
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
+ }
+ return '';
+ },
+ getEndTime(){
+ if (this.$route.query.endTime != undefined && this.$route.query.endTime != null && this.$route.query.endTime != "" ) {
+ return this.$route.query.endTime
+ }
+ return '';
+ },
+ getHealthcodeType(){
+ if (this.$route.query.type != undefined) {
+ var type = this.$route.query.type+"";
+ //this.$route.query = {};
+ return type;
+ }
+ },
+ getHealthcodeData(e) {
+ var that = this;
+ that.activeClass = e;
+ //status 0:本日 1:本月 2:本年 type: 1:绿色 2:黄色 3:红色
+ var params = {
+ status: e
+ };
+ this.query = params;
+ this.page.currentPage = 1;
+ this.onLoad(this.page, params);
+ },
+ //数据导出
+ 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 = {}) {
- this.loading = true;
- console.log("status="+this.$route.query.status);
- params ={
- status:this.$route.query.status,
- type:this.$route.query.type
+ const { dateTime } = this.query;
+ let values = {
+ ...params,
+ };
+
+ if (this.$route.query.status!=undefined && this.$route.query != undefined && this.$route.query != null && this.$route.query != "" ) {
+ if (this.$route.query.type != undefined) {
+ this.activeClass = this.$route.query.status;
+ 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){
+ params = {
+ type: this.$route.query.type,
+ begTime: this.$route.query.startTime,
+ endTime: this.$route.query.endTime
+ }
+ }else{
+ params = {
+ status:this.$route.query.status,
+ type:this.$route.query.type
+ }
+
}
- console.log("params="+params);
- getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
+
+ if (dateTime) {
+ values = {
+ ...params,
+ begTime: dateTime[0],
+ endTime: dateTime[1],
+ ...this.query,
+ };
+ values.dateTime = null;
+ } else {
+ values = {
+ ...params,
+ ...this.query,
+ };
+ }
+
+ if (this.$route.query.timeDesc) {
+ values = {
+ ...params,
+ timeDesc: this.$route.query.timeDesc,
+ ...this.query,
+ };
+ }
+
+ this.loading = true;
+ getList(page.currentPage, page.pageSize,values).then(res => {
const data = res.data.data;
this.page.total = data.total;
this.data = data.records;
@@ -208,3 +386,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