| | |
| | | 新增 |
| | | </el-button> --> |
| | | </el-button-group> |
| | | |
| | | <span style="margin-left: 100px;"> |
| | | <el-date-picker v-model="timeExport" type="daterange" unlink-panels :picker-options="pickerOptions" |
| | | range-separator="至" start-placeholder="开始时间" end-placeholder="结束时间" value-format="yyyy-MM-dd" /> |
| | | |
| | | <el-button style="margin-left: 10px;" type="primary" @click="exportExcel">导出EXCEL</el-button> |
| | | |
| | | </span> |
| | | |
| | | |
| | | </div> |
| | | |
| | | <el-table v-loading="listLoading" :data="list" element-loading-text="Loading" border fit height="100%" |
| | |
| | | |
| | | |
| | | </el-table-column> |
| | | <el-table-column label="添加时间" > |
| | | <el-table-column label="添加时间"> |
| | | <template slot-scope="scope"> |
| | | {{ scope.row.addtime }} |
| | | </template> |
| | |
| | | </div> |
| | | <div v-else class="app-container"> |
| | | <div style="margin-bottom: 30px;"> |
| | | <el-date-picker v-model="queryForm.time" type="monthrange" unlink-panels :picker-options="pickerOptions" range-separator="至" start-placeholder="开始时间" |
| | | end-placeholder="结束时间" value-format="yyyy-MM-dd" /> |
| | | <el-date-picker v-model="queryForm.time" type="daterange" unlink-panels :picker-options="pickerOptions" |
| | | range-separator="至" start-placeholder="开始时间" end-placeholder="结束时间" value-format="yyyy-MM-dd" /> |
| | | <el-button style="margin-left: 10px;" type="primary" @click="handlechart">搜索</el-button> |
| | | <el-button style="position: absolute; right: 50px;" type="primary" @click="fanhui">返回</el-button> |
| | | |
| | |
| | | <el-button v-if="last" style="margin-left: 10px;" :type="lastyearprimary" @click="lastyear">上一年</el-button> |
| | | <el-button v-if="next" style="margin-left: 10px;" :type="nextyearprimary" @click="nextyear">下一年</el-button> |
| | | </div> |
| | | <span style=" display: flex;justify-content: center;align-items: center;font-size: 25px;"> {{ this.anchorname+"-" +this.tagid+"变化趋势图"}}</span> |
| | | <span style=" display: flex;justify-content: center;align-items: center;font-size: 25px;"> {{ this.anchorname + "-" |
| | | + this.tagid +"变化趋势图"}}</span> |
| | | <line-chart :chart-data="lineChartData" /> |
| | | |
| | | |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import * as XLSX from 'xlsx'; |
| | | import { saveAs } from 'file-saver'; |
| | | import { formatTime1 } from "@/utils/index.js"; //日期格式转换 |
| | | import LineChart from "./components/LineChart"; |
| | | import Pagination from '@/components/Pagination' |
| | | import { getList, searcheveryday, handlechart2, handlechartupdate3 } from '@/api/analysis' |
| | | import { getList, searcheveryday, handlechart2, handlechartupdate3,handlechartupdate2 } from '@/api/analysis' |
| | | import { deepClone } from '@/utils' |
| | | |
| | | const lineChartData = { |
| | |
| | | nd: [], |
| | | hd: [], |
| | | x: [], |
| | | |
| | | |
| | | }, |
| | | |
| | | }; |
| | |
| | | data() { |
| | | return { |
| | | pickerOptions: { |
| | | shortcuts: [{ |
| | | text: '本月', |
| | | onClick(picker) { |
| | | picker.$emit('pick', [new Date(), new Date()]); |
| | | } |
| | | }, { |
| | | text: '今年至今', |
| | | onClick(picker) { |
| | | const end = new Date(); |
| | | const start = new Date(new Date().getFullYear(), 0); |
| | | picker.$emit('pick', [start, end]); |
| | | } |
| | | }, { |
| | | text: '最近六个月', |
| | | onClick(picker) { |
| | | const end = new Date(); |
| | | const start = new Date(); |
| | | start.setMonth(start.getMonth() - 6); |
| | | picker.$emit('pick', [start, end]); |
| | | } |
| | | }] |
| | | }, |
| | | yearprimary:'success', |
| | | oneprimary:'primary', |
| | | twoprimary:'primary', |
| | | threeprimary:'primary', |
| | | lastyearprimary:'primary', |
| | | nextyearprimary:'primary', |
| | | last:true, |
| | | next:false, |
| | | yeardata:0, |
| | | anchorname:'', |
| | | tagid:'', |
| | | shortcuts: [{ |
| | | text: '本月', |
| | | onClick(picker) { |
| | | picker.$emit('pick', [new Date(), new Date()]); |
| | | } |
| | | }, { |
| | | text: '今年至今', |
| | | onClick(picker) { |
| | | const end = new Date(); |
| | | const start = new Date(new Date().getFullYear(), 0); |
| | | picker.$emit('pick', [start, end]); |
| | | } |
| | | }, { |
| | | text: '最近六个月', |
| | | onClick(picker) { |
| | | const end = new Date(); |
| | | const start = new Date(); |
| | | start.setMonth(start.getMonth() - 6); |
| | | picker.$emit('pick', [start, end]); |
| | | } |
| | | }] |
| | | }, |
| | | yearprimary: 'success', |
| | | oneprimary: 'primary', |
| | | twoprimary: 'primary', |
| | | threeprimary: 'primary', |
| | | lastyearprimary: 'primary', |
| | | nextyearprimary: 'primary', |
| | | last: true, |
| | | next: false, |
| | | yeardata: 0, |
| | | anchorname: '', |
| | | tagid: '', |
| | | queryForm: { |
| | | time: '', |
| | | tagid: '' |
| | | }, |
| | | timeExport: '', |
| | | lineChartData: lineChartData.newVisitis, |
| | | analy: true, |
| | | total: 0, |
| | |
| | | this.fetchData() |
| | | }, |
| | | methods: { |
| | | exportExcel() { |
| | | console.log(this.timeExport); |
| | | // const data = [] |
| | | const params = { date1: this.timeExport[1], date2: this.timeExport[0], username: localStorage.getItem('username') || '' }; |
| | | handlechartupdate2(params).then(response => { |
| | | console.log(response); |
| | | const data = response.data |
| | | // 获取要导出的数据 |
| | | // const data = this.list; // 假设list是表格的数据 |
| | | // 创建一个空的工作簿 |
| | | const workbook = XLSX.utils.book_new(); |
| | | // 创建一个工作表 |
| | | const worksheet = XLSX.utils.json_to_sheet(data); |
| | | // 将工作表添加到工作簿中 |
| | | XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1'); |
| | | // 将工作簿转换为二进制字符串 |
| | | const excelBuffer = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' }); |
| | | // 将二进制字符串转换为Blob对象 |
| | | const blob = new Blob([excelBuffer], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8' }); |
| | | // 创建一个下载链接 |
| | | const url = URL.createObjectURL(blob); |
| | | // 创建一个隐藏的链接元素 |
| | | const link = document.createElement('a'); |
| | | link.href = url; |
| | | link.download = 'export.xlsx'; // 设置下载的文件名 |
| | | // 模拟点击下载链接 |
| | | link.click(); |
| | | // 释放URL对象 |
| | | URL.revokeObjectURL(url); |
| | | }) |
| | | // console.log(data); |
| | | |
| | | |
| | | }, |
| | | Export() { |
| | | |
| | | }, |
| | | fanhui() { |
| | | this.analy = true |
| | | }, |
| | | analyze(scope) { |
| | | this.anchorname=scope.row.anchorname |
| | | this.tagid=scope.row.tagid |
| | | const params = { date1: this.queryForm.time[1], date2: this.queryForm.time[0], username: localStorage.getItem('username') || '' ,tagid:scope.row.tagid}; |
| | | this.anchorname = scope.row.anchorname |
| | | this.tagid = scope.row.tagid |
| | | const params = { date1: this.queryForm.time[1], date2: this.queryForm.time[0], username: localStorage.getItem('username') || '', tagid: scope.row.tagid }; |
| | | handlechart2(params).then(response => { |
| | | console.log(response); |
| | | |
| | | this.lineChartData = response.data |
| | | this.analy = false |
| | | }) |
| | | }, |
| | | one() { |
| | | this.oneprimary='success' |
| | | this.twoprimary='primary' |
| | | this.threeprimary='primary' |
| | | this.yearprimary='primary' |
| | | this.lastyearprimary='primary' |
| | | this.nextyearprimary='primary' |
| | | this.oneprimary = 'success' |
| | | this.twoprimary = 'primary' |
| | | this.threeprimary = 'primary' |
| | | this.yearprimary = 'primary' |
| | | this.lastyearprimary = 'primary' |
| | | this.nextyearprimary = 'primary' |
| | | // 获取当前日期 |
| | | const currentDate = new Date(); |
| | | // 获取当前月份 |
| | |
| | | var time = [] |
| | | time.push(newDate) |
| | | time.push(dateYear) |
| | | this.queryForm.time=time |
| | | const params = { date1: dateYear, date2: newDate, username: localStorage.getItem('username') || '' ,tagid:this.tagid}; |
| | | this.queryForm.time = time |
| | | const params = { date1: dateYear, date2: newDate, username: localStorage.getItem('username') || '', tagid: this.tagid }; |
| | | handlechartupdate3(params).then(response => { |
| | | this.lineChartData = response.data |
| | | }) |
| | | |
| | | }, |
| | | two() { |
| | | this.oneprimary='primary' |
| | | this.twoprimary='success' |
| | | this.threeprimary='primary' |
| | | this.yearprimary='primary' |
| | | this.lastyearprimary='primary' |
| | | this.nextyearprimary='primary' |
| | | // 获取当前日期 |
| | | const currentDate = new Date(); |
| | | this.oneprimary = 'primary' |
| | | this.twoprimary = 'success' |
| | | this.threeprimary = 'primary' |
| | | this.yearprimary = 'primary' |
| | | this.lastyearprimary = 'primary' |
| | | this.nextyearprimary = 'primary' |
| | | // 获取当前日期 |
| | | const currentDate = new Date(); |
| | | // 获取当前月份 |
| | | const currentMonth = currentDate.getMonth(); |
| | | // 设置日期的月份为当前月份减一 |
| | |
| | | var time = [] |
| | | time.push(newDate) |
| | | time.push(dateYear) |
| | | this.queryForm.time=time |
| | | const params = { date1: dateYear, date2: newDate, username: localStorage.getItem('username') || '' ,tagid:this.tagid}; |
| | | this.queryForm.time = time |
| | | const params = { date1: dateYear, date2: newDate, username: localStorage.getItem('username') || '', tagid: this.tagid }; |
| | | handlechartupdate3(params).then(response => { |
| | | this.lineChartData = response.data |
| | | }) |
| | | |
| | | }, |
| | | three() { |
| | | this.oneprimary='primary' |
| | | this.twoprimary='primary' |
| | | this.threeprimary='success' |
| | | this.yearprimary='primary' |
| | | this.lastyearprimary='primary' |
| | | this.nextyearprimary='primary' |
| | | this.oneprimary = 'primary' |
| | | this.twoprimary = 'primary' |
| | | this.threeprimary = 'success' |
| | | this.yearprimary = 'primary' |
| | | this.lastyearprimary = 'primary' |
| | | this.nextyearprimary = 'primary' |
| | | // 获取当前日期 |
| | | const currentDate = new Date(); |
| | | // 获取当前月份 |
| | |
| | | var time = [] |
| | | time.push(newDate) |
| | | time.push(dateYear) |
| | | this.queryForm.time=time |
| | | const params = { date1: dateYear, date2: newDate, username: localStorage.getItem('username') || '',tagid:this.tagid }; |
| | | this.queryForm.time = time |
| | | const params = { date1: dateYear, date2: newDate, username: localStorage.getItem('username') || '', tagid: this.tagid }; |
| | | handlechartupdate3(params).then(response => { |
| | | |
| | | |
| | | this.lineChartData = response.data |
| | | }) |
| | | }, |
| | | |
| | | year() { |
| | | this.oneprimary='primary' |
| | | this.twoprimary='primary' |
| | | this.threeprimary='primary' |
| | | this.yearprimary='success' |
| | | this.lastyearprimary='primary' |
| | | this.nextyearprimary='primary' |
| | | this.next=false |
| | | this.last=true |
| | | this.oneprimary = 'primary' |
| | | this.twoprimary = 'primary' |
| | | this.threeprimary = 'primary' |
| | | this.yearprimary = 'success' |
| | | this.lastyearprimary = 'primary' |
| | | this.nextyearprimary = 'primary' |
| | | this.next = false |
| | | this.last = true |
| | | // 获取当前日期 |
| | | // const currentDate = new Date(); |
| | | // 获取当前月份 |
| | |
| | | const newDate = formatTime1(new Date(), "yyyy-MM-dd"); |
| | | //获取当前年月日 |
| | | const dateYear = formatTime1(new Date(), "yyyy"); |
| | | console.log(dateYear+'-01-01'); |
| | | console.log(dateYear + '-01-01'); |
| | | this.yeardata = dateYear |
| | | var time = [] |
| | | time.push(newDate+'-01-01') |
| | | time.push(newDate + '-01-01') |
| | | time.push(newDate) |
| | | this.queryForm.time=time |
| | | const params = { date1: newDate, date2: dateYear+'-01-01', username: localStorage.getItem('username') || '',tagid:this.tagid }; |
| | | this.queryForm.time = time |
| | | const params = { date1: newDate, date2: dateYear + '-01-01', username: localStorage.getItem('username') || '', tagid: this.tagid }; |
| | | handlechartupdate3(params).then(response => { |
| | | console.log(response); |
| | | |
| | | |
| | | this.lineChartData = response.data |
| | | }) |
| | | }, |
| | | |
| | | lastornext(){ |
| | | lastornext() { |
| | | const currentDate = new Date(); |
| | | const currentMonth = currentDate.getFullYear(); |
| | | console.log(currentMonth); |
| | | console.log(this.yeardata); |
| | | |
| | | |
| | | if (this.yeardata<currentMonth) { |
| | | this.next=true |
| | | if (this.yeardata<=2022) { |
| | | this.last=false |
| | | }else{ |
| | | this.last=true |
| | | |
| | | |
| | | if (this.yeardata < currentMonth) { |
| | | this.next = true |
| | | if (this.yeardata <= 2022) { |
| | | this.last = false |
| | | } else { |
| | | this.last = true |
| | | } |
| | | } else { |
| | | this.next = false |
| | | } |
| | | }else { |
| | | this.next=false |
| | | } |
| | | |
| | | |
| | | }, |
| | | |
| | | lastyear() { |
| | | this.oneprimary='primary' |
| | | this.twoprimary='primary' |
| | | this.threeprimary='primary' |
| | | this.yearprimary='primary' |
| | | this.lastyearprimary='success' |
| | | this.nextyearprimary='primary' |
| | | this.oneprimary = 'primary' |
| | | this.twoprimary = 'primary' |
| | | this.threeprimary = 'primary' |
| | | this.yearprimary = 'primary' |
| | | this.lastyearprimary = 'success' |
| | | this.nextyearprimary = 'primary' |
| | | // 获取当前日期 |
| | | const currentDate = new Date(); |
| | | // 获取当前月份 |
| | | const currentMonth = currentDate.getFullYear(); |
| | | |
| | | // 设置日期的月份为当前月份减一 |
| | | |
| | | if (this.yeardata=="") { |
| | | |
| | | if (this.yeardata == "") { |
| | | currentDate.setFullYear(currentMonth - 1); |
| | | // this.yeardata=currentMonth - 1; |
| | | |
| | | }else{ |
| | | } else { |
| | | currentDate.setFullYear(this.yeardata - 1); |
| | | // this.yeardata = this.yeardata - 1 |
| | | |
| | | } |
| | | const newDate = formatTime1(currentDate, "yyyy"); |
| | | |
| | | |
| | | this.yeardata = parseInt(newDate) |
| | | this.lastornext() |
| | | this.lastornext() |
| | | //获取当前年月日 |
| | | const dateYear = formatTime1(new Date(), "yyyy-MM-dd"); |
| | | // this.queryForm.time.push(newDate+'-01-01') |
| | | // this.queryForm.time.push(newDate+'-12-31') |
| | | var time = [] |
| | | time.push(newDate+'-01-01') |
| | | time.push(newDate+'-12-31') |
| | | this.queryForm.time=time |
| | | const params = { date1: newDate+'-12-31', date2: newDate+'-01-01', username: localStorage.getItem('username') || '',tagid:this.tagid }; |
| | | time.push(newDate + '-01-01') |
| | | time.push(newDate + '-12-31') |
| | | this.queryForm.time = time |
| | | const params = { date1: newDate + '-12-31', date2: newDate + '-01-01', username: localStorage.getItem('username') || '', tagid: this.tagid }; |
| | | handlechartupdate3(params).then(response => { |
| | | |
| | | |
| | | this.lineChartData = response.data |
| | | }) |
| | | }, |
| | | |
| | | nextyear() { |
| | | this.oneprimary='primary' |
| | | this.twoprimary='primary' |
| | | this.threeprimary='primary' |
| | | this.yearprimary='primary' |
| | | this.lastyearprimary='primary' |
| | | this.nextyearprimary='success' |
| | | this.oneprimary = 'primary' |
| | | this.twoprimary = 'primary' |
| | | this.threeprimary = 'primary' |
| | | this.yearprimary = 'primary' |
| | | this.lastyearprimary = 'primary' |
| | | this.nextyearprimary = 'success' |
| | | // 获取当前日期 |
| | | const currentDate = new Date(); |
| | | // 获取当前月份 |
| | | // const currentMonth = currentDate.getFullYear(); |
| | | // 设置日期的月份为当前月份减一 |
| | | console.log(this.yeardata); |
| | | |
| | | currentDate.setFullYear( this.yeardata + 1); |
| | | |
| | | currentDate.setFullYear(this.yeardata + 1); |
| | | const newDate = formatTime1(currentDate, "yyyy"); |
| | | console.log(newDate); |
| | | |
| | | |
| | | this.yeardata = parseInt(newDate) |
| | | //获取当前年月日 |
| | | this.lastornext() |
| | | const dateYear = formatTime1(new Date(), "yyyy-MM-dd"); |
| | | var time = [] |
| | | time.push(newDate+'-01-01') |
| | | time.push(newDate+'-12-31') |
| | | this.queryForm.time=time |
| | | const params = { date1: newDate+'-12-31', date2: newDate+'-01-01', username: localStorage.getItem('username') || '',tagid:this.tagid }; |
| | | time.push(newDate + '-01-01') |
| | | time.push(newDate + '-12-31') |
| | | this.queryForm.time = time |
| | | const params = { date1: newDate + '-12-31', date2: newDate + '-01-01', username: localStorage.getItem('username') || '', tagid: this.tagid }; |
| | | handlechartupdate3(params).then(response => { |
| | | |
| | | |
| | | this.lineChartData = response.data |
| | | }) |
| | | }, |
| | | |
| | | |
| | | handlechart() { |
| | | console.log(this.queryForm.time); |
| | | |
| | | const params = { date1: this.queryForm.time[1], date2: this.queryForm.time[0], username: localStorage.getItem('username') || '',tagid:this.tagid }; |
| | | |
| | | const params = { date1: this.queryForm.time[1], date2: this.queryForm.time[0], username: localStorage.getItem('username') || '', tagid: this.tagid }; |
| | | handlechartupdate3(params).then(response => { |
| | | this.lineChartData = response.data |
| | | }) |
| | |
| | | search() { |
| | | this.listLoading = true |
| | | searcheveryday(this.listQuery).then(response => { |
| | | this.list = response.data.records |
| | | this.total = response.data.total |
| | | if (response.data!=null) { |
| | | this.list = response.data.records |
| | | this.total = response.data.total |
| | | }else{ |
| | | this.$message({ |
| | | message: '未搜索到数据', |
| | | type: 'error' |
| | | }) |
| | | } |
| | | |
| | | this.listLoading = false |
| | | }) |
| | | }, |
| | |
| | | this.listLoading = true |
| | | getList(this.listQuery).then(response => { |
| | | console.log(response); |
| | | |
| | | |
| | | this.list = response.data.records |
| | | this.total = response.data.total |
| | | this.listLoading = false |
| | |
| | | |
| | | |
| | | searchorfetchData() { |
| | | console.log(this.listQuery.keyword); |
| | | console.log(this.listQuery.keyword); |
| | | |
| | | if (this.listQuery.keyword!=undefined) { |
| | | if (this.listQuery.keyword != undefined) { |
| | | console.log(111111); |
| | | |
| | | |
| | | this.search() |
| | | }else{ |
| | | } else { |
| | | console.log(2222); |
| | | |
| | | |
| | | this.fetchData() |
| | | } |
| | | // this.listLoading = true |
| | | // getList(this.listQuery).then(response => { |
| | | // console.log(response); |
| | | |
| | | |
| | | // this.list = response.data.records |
| | | // this.total = response.data.total |
| | | // this.listLoading = false |
| | |
| | | text-align: center; |
| | | } |
| | | } |
| | | |
| | | .el-table .el-table__body tr:hover { |
| | | background-color: transparent!important; /* 你想要的背景色 */ |
| | | color: #000!important; |
| | | background-color: transparent !important; |
| | | /* 你想要的背景色 */ |
| | | color: #000 !important; |
| | | } |
| | | |
| | | .el-table__body { |
| | | tr:hover > td { |
| | | background-color: transparent!important; /* 你想要的背景色 */ |
| | | color: #000!important; |
| | | tr:hover>td { |
| | | background-color: transparent !important; |
| | | /* 你想要的背景色 */ |
| | | color: #000 !important; |
| | | } |
| | | } |
| | | |