From 4bced4c45dac14f20953b6f3b0326e535a99729b Mon Sep 17 00:00:00 2001
From: quanyawei <401863037@qq.com>
Date: Thu, 23 Nov 2023 09:48:03 +0800
Subject: [PATCH] fix:导出修改
---
src/store/modules/user.js | 130 +++++++------
.eslintrc.js | 15 +
src/store/index.js | 3
src/store/modules/downLoadProgress.js | 49 +++++
src/views/toCarryOutLegislativeReforms/reform/index.vue | 173 +++++++++++++-----
src/store/getters.js | 5
src/App.vue | 6
src/mixins/downLoadNotice.js | 60 ++++++
src/views/toCarryOutLegislativeReforms/summaryPage/index.vue | 53 +++--
9 files changed, 349 insertions(+), 145 deletions(-)
diff --git a/.eslintrc.js b/.eslintrc.js
index d172433..a949ef5 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -4,13 +4,20 @@
node: true
},
extends: [
- 'plugin:vue/recommended', // ���������������������vue.js������
- 'eslint:recommended' //������Eslint������������������������������������
+ // ������vuejs���������eslint��������� https://eslint.vuejs.org/user-guide/#usage
+ 'plugin:vue/recommended',
+ // ������ ESLint ��������������� prettier ������������
+ 'eslint:recommended'
],
parserOptions: {
- ecmaVersion: 13,
+ ecmaVersion: 10,
sourceType: 'module'
},
plugins: ['vue'],
- rules: {}
+ rules: {
+ 'space-before-function-paren': 0,
+ 'no-console': 'off',
+ 'no-unused-vars': 'off',
+ 'vue/attribute-hyphenation': 0 // ������������������
+ }
}
diff --git a/src/App.vue b/src/App.vue
index 6520001..3336e60 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -6,8 +6,10 @@
<script>
// import { getMenus } from '@/router/dynamicRouter.js'
+import { mixins } from './mixins/downLoadNotice'
export default {
- name: 'App'
+ name: 'App',
+ mixins: [mixins]
// mounted() {
// console.log('-------------')
// setTimeout(() => {
@@ -17,7 +19,7 @@
}
</script>
<style >
-#app{
+#app {
height: 100%;
}
</style>
diff --git a/src/mixins/downLoadNotice.js b/src/mixins/downLoadNotice.js
new file mode 100644
index 0000000..16801eb
--- /dev/null
+++ b/src/mixins/downLoadNotice.js
@@ -0,0 +1,60 @@
+import { mapState } from 'vuex'
+export const mixins = {
+ data: function () {
+ return {
+ notify: {} // ������������������������������������������
+ }
+ },
+ computed: {
+ ...mapState({
+ progressList: state => state.downLoadProgress.progressList
+ })
+ },
+ watch: {
+ // ������������������
+ progressList: {
+ handler(n) {
+ const data = JSON.parse(JSON.stringify(n))
+ console.log('Mixin', data)
+ data.forEach(item => {
+ const domList = [...document.getElementsByClassName(item.path)]
+ if (domList.find(i => i.className === item.path)) {
+ // ���������������������������������������������������������������������progress
+ if (item.progress) {
+ domList.find(i => i.className === item.path).innerHTML =
+ item.progress + '%'
+ }
+ if (item.progress === null) {
+ // ���������������������������������������������������������������������������������
+ this.$store.commit('downLoadProgress/DEL_PROGRESS', item.path)
+ this.$notify.error({
+ title: '������',
+ message: '���������������������'
+ })
+ }
+ } else {
+ // ������������������������������������������������������������������������������������notify���������������������������������������������������������path(������������path������������)���������������$notify(element ui������������������)������������
+ this.notify[item.path] = this.$notify.success({
+ // title: 'info',
+ dangerouslyUseHTMLString: true,
+ customClass: 'progress-notify',
+ message: `<p style="width: 100px;">������������<span class="${item.path}" style="float: right">${item.progress}%</span></p>`, // ������������������������������������������������path(���������������������������������)
+ duration: 0
+ })
+ }
+
+ if (item.progress == 100) {
+ // ������������������������100%������������������������������notify������������������������
+ this.notify[item.path].close()
+ // delete this.notify[item.path] ���������close()���������������������������������������������������������setTimeout���������������������������������
+ setTimeout(() => {
+ delete this.notify[item.path]
+ }, 1000)
+ this.$store.commit('downLoadProgress/DEL_PROGRESS', item.path) // ������caseInformation���state���progressList������������������
+ }
+ })
+ },
+ deep: true
+ }
+ }
+}
diff --git a/src/store/getters.js b/src/store/getters.js
index afdb60a..d90a40c 100644
--- a/src/store/getters.js
+++ b/src/store/getters.js
@@ -6,7 +6,8 @@
token: state => state.user.token,
avatar: state => state.user.avatar,
name: state => state.user.name,
- regionCode: state => state.regionCode
+ regionCode: state => state.regionCode,
+ progressList: state => state.downLoadProgress.progressList,
+ progressError: state => state.downLoadProgress.progressError
}
export default getters
-
diff --git a/src/store/index.js b/src/store/index.js
index e1ab594..abcce36 100644
--- a/src/store/index.js
+++ b/src/store/index.js
@@ -4,6 +4,7 @@
import app from './modules/app'
import settings from './modules/settings'
import user from './modules/user'
+import downLoadProgress from './modules/downLoadProgress'
Vue.use(Vuex)
@@ -12,6 +13,7 @@
app,
settings,
user,
+ downLoadProgress,
orgId: 0,
accountId: 0,
regionCode: 0,
@@ -27,7 +29,6 @@
// alarmTableVisible: false
},
getters
-
})
export default store
diff --git a/src/store/modules/downLoadProgress.js b/src/store/modules/downLoadProgress.js
new file mode 100644
index 0000000..e69f1aa
--- /dev/null
+++ b/src/store/modules/downLoadProgress.js
@@ -0,0 +1,49 @@
+const state = {
+ // ������������������
+ progressList: [],
+ progressError: ''
+}
+const mutations = {
+ SET_PROGRESS: (state, progressObj) => {
+ // ������������������
+ console.log('Vuex', progressObj)
+ if (state.progressList.length) {
+ // ������������������������
+ if (state.progressList.find(item => item.path == progressObj.path)) {
+ // ������������path���������������������������������������������������������������������������������������
+ state.progressList.find(
+ item => item.path == progressObj.path
+ ).progress = progressObj.progress
+ // ���������������������������progress
+ }
+ } else {
+ // ������������������������������������������������������������������������������������������������
+ state.progressList.push(progressObj)
+ }
+ },
+ DEL_PROGRESS: (state, props) => {
+ state.progressList.splice(
+ state.progressList.findIndex(item => item.path == props),
+ 1
+ ) // ������������������������������������
+ },
+ CHANGE_SETTING: (state, { key, value }) => {
+ // eslint-disable-next-line no-prototype-builtins
+ if (state.hasOwnProperty(key)) {
+ state[key] = value
+ }
+ }
+}
+
+const actions = {
+ changeSetting({ commit }, data) {
+ commit('CHANGE_SETTING', data)
+ }
+}
+
+export default {
+ namespaced: true,
+ state,
+ mutations,
+ actions
+}
diff --git a/src/store/modules/user.js b/src/store/modules/user.js
index ce56294..d1db7b5 100644
--- a/src/store/modules/user.js
+++ b/src/store/modules/user.js
@@ -26,79 +26,86 @@
login({ commit }, userInfo) {
const { account, password } = userInfo
return new Promise((resolve, reject) => {
- login({ account: account.trim(), password: password }).then(response => {
- // ���������������������������������token
- axios.defaults.headers['token'] = response.data.token
- // const { data } = response
- console.log('���������������������������')
- window.loginInfo = response.message
- if (response.code === 0) {
- commit('SET_TOKEN', response.data.token)
- setToken(response.data.token)
- // axios.interceptors.request.use(config => {
- // config.headers.token = response.data.token
- // })
- // console.log('������axios���token')
- } else {
- this.$store.state.loginInfo = response.message
- // console.log(this.$store.state.loginInfo)
- reject()
- }
- resolve(response)
- }).catch(error => {
- console.log('���������������������������')
- reject(error)
- })
+ login({ account: account.trim(), password: password })
+ .then(response => {
+ // ���������������������������������token
+ axios.defaults.headers['token'] = response.data.token
+ // const { data } = response
+ console.log('���������������������������')
+ window.loginInfo = response.message
+ if (response.code === 0) {
+ commit('SET_TOKEN', response.data.token)
+ setToken(response.data.token)
+ // axios.interceptors.request.use(config => {
+ // config.headers.token = response.data.token
+ // })
+ // console.log('������axios���token')
+ } else {
+ this.$store.state.loginInfo = response.message
+ // console.log(this.$store.state.loginInfo)
+ reject()
+ }
+ resolve(response)
+ })
+ .catch(error => {
+ console.log('���������������������������')
+ reject(error)
+ })
})
},
// get user info
getInfo({ commit, state }) {
return new Promise((resolve, reject) => {
- getInfo(state.token).then(response => {
- console.log(response, 'res')
- // ���accountId������sotre
- // console.log(66777)
- // console.log(response)
- this.state.accountId = response.data.userId
- // ���orgId������sotre
- this.state.orgId = response.data.organization.id
- // ���regionCode������sotre
- this.state.regionCode = response.data.organization.locationLevelCode
- // monitorPointId������������sotre
- this.state.monitorPointId = response.data.monitorPointIds
- this.state.user.name = response.data.userName
- this.state.user.menus = JSON.stringify(response.data.menus)
- // ���menu������������store
- // sessionStorage.setItem('menus', )
- // this.state.menus = response.data.menus
- if (!response) {
- reject('Verification failed, please Login again.')
- }
- resolve(response)
- }).catch(error => {
- console.log('���������token������������')
- // this.$router.push({ path: '/login' })
- reject(error)
- })
+ getInfo(state.token)
+ .then(response => {
+ console.log(response, 'res')
+ // ���accountId������sotre
+ // console.log(66777)
+ // console.log(response)
+ this.state.accountId = response.data.userId
+ // ���orgId������sotre
+ this.state.orgId = response.data.organization.id
+ // ���regionCode������sotre
+ this.state.regionCode = response.data.organization.locationLevelCode
+ // monitorPointId������������sotre
+ this.state.monitorPointId = response.data.monitorPointIds
+ this.state.user.name = response.data.userName
+ this.state.user.menus = []
+ this.state.user.menus = JSON.stringify(response.data.menus)
+ // ���menu������������store
+ // sessionStorage.setItem('menus', )
+ // this.state.menus = response.data.menus
+ if (!response) {
+ reject('Verification failed, please Login again.')
+ }
+ resolve(response)
+ })
+ .catch(error => {
+ console.log('���������token������������')
+ // this.$router.push({ path: '/login' })
+ reject(error)
+ })
})
},
// user logout
logout({ commit, state }) {
return new Promise((resolve, reject) => {
- // console.log('������������������������������token')
- // console.log(state.token)
- logout(state.token).then((res) => {
- commit('SET_TOKEN', '')
- removeToken()
- resetRouter()
- sessionStorage.clear()
- resolve()
- }).catch(error => {
- console.log('������������������')
- reject(error)
- })
+ // console.log('������������������������������token')
+ // console.log(state.token)
+ logout(state.token)
+ .then(res => {
+ commit('SET_TOKEN', '')
+ removeToken()
+ resetRouter()
+ sessionStorage.clear()
+ resolve()
+ })
+ .catch(error => {
+ console.log('������������������')
+ reject(error)
+ })
})
},
@@ -118,4 +125,3 @@
mutations,
actions
}
-
diff --git a/src/views/toCarryOutLegislativeReforms/reform/index.vue b/src/views/toCarryOutLegislativeReforms/reform/index.vue
index 4c5e0b6..cdeb5b5 100644
--- a/src/views/toCarryOutLegislativeReforms/reform/index.vue
+++ b/src/views/toCarryOutLegislativeReforms/reform/index.vue
@@ -1,5 +1,5 @@
<template>
- <div class="main" v-loading="loading">
+ <div v-loading="loading" class="main">
<div>
<searchBar v-if="searchType" :search-type="'reform'" @handleSearch="handleSearchBut" @handleAdd="handleOpenDialog(null, 'add')" />
<newWorkOrder v-if="centerDialogVisible" ref="newWorkOrder" :parent-form-data="parentFormData" :title="title" :page-state="pageState" :visible.sync="centerDialogVisible" @handleSubmit="newHandleSubmit" />
@@ -8,8 +8,12 @@
<div class="exportBox">
<div>������������</div>
<div>
- <el-button type="primary" size="mini" @click="handleOpenDialog(null, 'add')">������</el-button>
- <el-button :disabled="!(selectionRows.length>0)" type="info" size="mini" @click="exportData">������</el-button>
+ <el-button type="primary" size="mini" @click="handleOpenDialog(null, 'add')">
+ ������
+ </el-button>
+ <el-button :disabled="!(selectionRows.length>0)" type="info" size="mini" @click="isNowDonw">
+ ������
+ </el-button>
</div>
</div>
@@ -17,19 +21,20 @@
<div>
<div v-if="sealList.length>0">
<div v-for="(item,index) in sealList" :key="index" :style="{'height':item.styleHeight}">
- <div class="yingzhang" v-if="item.isInvalid===1">
- <div class="seal-red"> ��������� </div>
+ <div v-if="item.isInvalid===1" class="yingzhang">
+ <div class="seal-red">
+ ���������
+ </div>
</div>
</div>
</div>
</div>
<div style="position: absolute;top:0;width: 100%;">
- <el-table size="mini" :data="tableData" border style="width: 100%" @selection-change="handleSelectionChange" :header-cell-style="{
- color: '#101111',
- fontSize: '16px'
- }">
- <el-table-column type="selection" width="40" align="center">
- </el-table-column>
+ <el-table size="mini" :data="tableData" border style="width: 100%" :header-cell-style="{
+ color: '#101111',
+ fontSize: '16px'
+ }" @selection-change="handleSelectionChange">
+ <el-table-column type="selection" width="40" align="center" />
<el-table-column type="index" label="������" width="60px" align="center" />
<el-table-column align="center">
<template slot="header">
@@ -104,11 +109,10 @@
</el-table-column>
<el-table-column align="center" prop="createTime" min-width="100px" label="������">
<template slot-scope="scope">
-
<el-button type="text" size="medium" @click="openWorkOrdinDialog(scope.row, 'detail')">
������
</el-button>
- <el-button type="text" v-if="scope.row.isCode==='1'" size="medium" @click="openEditDialog(scope.row)">
+ <el-button v-if="scope.row.isCode==='1'" type="text" size="medium" @click="openEditDialog(scope.row)">
������������
</el-button>
<el-button v-if="scope.row.state === 9" type="text" size="medium" @click="handleOpenDialog(scope.row, 'edit')">
@@ -123,11 +127,7 @@
<el-button v-if="scope.row.state === 30 && scope.row.isApprove === 1" type="text" size="medium" @click="openWorkOrdinDialog(scope.row, 'approve')">
������
</el-button>
- <el-button v-if="
- scope.row.state === 20 &&
- scope.row.changeType === 2 &&
- scope.row.applyState === 0
- " type="text" size="medium" @click="openWorkOrdinDialog(scope.row, 'delay')">
+ <el-button v-if="scope.row.state === 20 && scope.row.changeType === 2 &&scope.row.applyState === 0" type="text" size="medium" @click="openWorkOrdinDialog(scope.row, 'delay')">
������������
</el-button>
</template>
@@ -154,25 +154,43 @@
<el-button type="primary" @click="handleInvalid">��� ���</el-button>
</span>
</el-dialog>
- <el-dialog title="������" v-if="dialogEditVisible" :visible.sync="dialogEditVisible" width="800px" top='5vh' :before-close="handleClose" center>
+ <el-dialog v-if="dialogEditVisible" title="������" :visible.sync="dialogEditVisible" width="800px" top="5vh" :before-close="handleClose" center>
<el-descriptions title="������������">
<template slot="extra">
<div>
- {{ editEscalationUnitData.allocationNum}}
+ {{ editEscalationUnitData.allocationNum }}
</div>
</template>
- <el-descriptions-item label="������������" label-class-name="itemSpan">{{ editEscalationUnitData.escalationTime }}</el-descriptions-item>
- <el-descriptions-item label="������������" label-class-name="itemSpan">{{ updataUnitIdFormatter }}</el-descriptions-item>
- <el-descriptions-item label="������������" label-class-name="itemSpan">{{ polluteTypeeDITFormatter }}</el-descriptions-item>
- <el-descriptions-item label="������������" label-class-name="itemSpan">{{ dictObj.changeEnum[editEscalationUnitData.changeType] }}</el-descriptions-item>
- <el-descriptions-item label="������������" label-class-name="itemSpan">{{ editEscalationUnitData.changeDay || 0}} ���</el-descriptions-item>
- <el-descriptions-item label="������������" label-class-name="itemSpan">{{ updataEscalationUnitIdFormatter }}</el-descriptions-item>
- <el-descriptions-item label="���������" label-class-name="itemSpan">{{ editEscalationUnitData.escalationName }}</el-descriptions-item>
- <el-descriptions-item label="������������" label-class-name="itemSpan">{{ editEscalationUnitData.pollutePosition }}</el-descriptions-item>
+ <el-descriptions-item label="������������" label-class-name="itemSpan">
+ {{ editEscalationUnitData.escalationTime }}
+ </el-descriptions-item>
+ <el-descriptions-item label="������������" label-class-name="itemSpan">
+ {{ updataUnitIdFormatter }}
+ </el-descriptions-item>
+ <el-descriptions-item label="������������" label-class-name="itemSpan">
+ {{ polluteTypeeDITFormatter }}
+ </el-descriptions-item>
+ <el-descriptions-item label="������������" label-class-name="itemSpan">
+ {{ dictObj.changeEnum[editEscalationUnitData.changeType] }}
+ </el-descriptions-item>
+ <el-descriptions-item label="������������" label-class-name="itemSpan">
+ {{ editEscalationUnitData.changeDay || 0 }} ���
+ </el-descriptions-item>
+ <el-descriptions-item label="������������" label-class-name="itemSpan">
+ {{ updataEscalationUnitIdFormatter }}
+ </el-descriptions-item>
+ <el-descriptions-item label="���������" label-class-name="itemSpan">
+ {{ editEscalationUnitData.escalationName }}
+ </el-descriptions-item>
+ <el-descriptions-item label="������������" label-class-name="itemSpan">
+ {{ editEscalationUnitData.pollutePosition }}
+ </el-descriptions-item>
</el-descriptions>
- <el-divider></el-divider>
+ <el-divider />
<div>
- <p class="editTile">������������</p>
+ <p class="editTile">
+ ������������
+ </p>
<el-form :inline="true" class="demo-form-inline">
<el-form-item label="������������:">
<el-select v-model="formInEdit.unitId" size="small" clearable placeholder="���������">
@@ -191,9 +209,15 @@
<div class="block">
<el-timeline>
<el-timeline-item v-for="(activity, index) in operatingLog" :key="index" :color="'#0bbd87'" :timestamp="activity.createTime">
- <div v-if="activity.content"> ���������: {{activity.userName}}</div>
- <div v-if="activity.content"> ������������: {{activity.content}}</div>
- <div v-if="activity.polluteType"> ������������: {{activity.polluteType}}</div>
+ <div v-if="activity.content">
+ ���������: {{ activity.userName }}
+ </div>
+ <div v-if="activity.content">
+ ������������: {{ activity.content }}
+ </div>
+ <div v-if="activity.polluteType">
+ ������������: {{ activity.polluteType }}
+ </div>
</el-timeline-item>
</el-timeline>
</div>
@@ -209,6 +233,7 @@
</template>
<script>
+// import { mixins } from './downLoadNotice'
import axios from 'axios'
import _ from 'lodash'
import qs from 'qs'
@@ -221,6 +246,7 @@
newWorkOrder,
workOrderInformation
},
+ // mixins: [mixins],
data() {
return {
loading: false,
@@ -302,15 +328,38 @@
console.log(rows)
this.selectionRows = rows
},
+ isNowDonw() {
+ this.$confirm('������������������������������?', '������', {
+ confirmButtonText: '������������',
+ cancelButtonText: '������������',
+ type: 'warning'
+ })
+ .then(() => {
+ this.loading = true
+ this.exportData()
+ })
+ .catch(() => {
+ this.loading = false
+ this.exportData()
+ })
+ },
exportData() {
+ // this.dowOrgFile('���������������.xlsx')
+ let that = this
const CancelToken = axios.CancelToken
let cancel
- let timer = setTimeout(() => {
- cancel()
- this.loading = false
- this.$message.error('���������������������������������������������')
- }, 300000)
- this.loading = true
+ let timer
+ const totalSize = this.selectionRows.length * 1024 * 1024
+ const uniSign = new Date().getTime() + '' // ���������������������������������������������������������������������������������������������
+ if (this.loading) {
+ timer = setTimeout(() => {
+ cancel()
+ this.loading = false
+ this.$message.error('���������������������������������������������')
+ }, 300000)
+ }
+
+ // this.loading = true
this.$request({
url: '/allocation/listExcel',
method: 'get',
@@ -321,6 +370,19 @@
cancelToken: new CancelToken(function executor(c) {
cancel = c
}),
+ onDownloadProgress(progress) {
+ const loaded = progress.loaded
+ // progress������������loaded������������������������������total������������������������������������������
+ let downProgress = Math.round((loaded / totalSize) * 100)
+ console.log('downProgress', downProgress)
+ // ������������������������������������������������������������vuex������������
+ if (!that.loading) {
+ that.$store.commit('downLoadProgress/SET_PROGRESS', {
+ path: uniSign,
+ progress: downProgress
+ })
+ }
+ },
paramsSerializer: params => {
return qs.stringify(params, {
indices: false
@@ -333,6 +395,12 @@
if (res.code === -1) {
this.$message.error(res.message)
} else {
+ if (!that.loading) {
+ that.$store.commit('downLoadProgress/SET_PROGRESS', {
+ path: uniSign,
+ progress: 100
+ })
+ }
this.getOutExcel('���������������.xlsx', res)
}
})
@@ -342,23 +410,24 @@
})
},
getOutExcel(fileName, res) {
- let blob = new Blob([res], { type: 'application/x-xls' })
+ const blob = new Blob([res], { type: 'application/x-xls' })
if (window.navigator.msSaveOrOpenBlob) {
- //������ IE & EDGE
+ // ������ IE & EDGE
this.loading = false
navigator.msSaveBlob(blob, fileName)
} else {
- var link = document.createElement('a')
+ const link = document.createElement('a')
// ������������������������URL������
const url = window.URL || window.webkitURL || window.moxURL
// ������������������
link.href = url.createObjectURL(blob)
- //������������������
+ // ������������������
link.download = fileName
- //������������������
+ // ������������������
link.click()
- //������������������������
+ // ������������������������
url.revokeObjectURL(link.href)
+ this.$message.success('���������������')
this.loading = false
}
},
@@ -376,7 +445,7 @@
this.operatingLog = res.data
})
.catch(err => {
- this.$message.error(res.message)
+ this.$message.error(err.message)
console.log('������Region������')
console.log(err)
})
@@ -420,7 +489,7 @@
}
})
.catch(err => {
- this.$message.error(res.message)
+ this.$message.error(err.message)
console.log('������Region������')
console.log(err)
})
@@ -548,7 +617,7 @@
})
},
handleSearchBut(obj) {
- let pageSize = this.pagination.pageSize
+ const pageSize = this.pagination.pageSize
this.pagination = {
currentPage: 1,
// ������������������������������������������(���������������������������)
@@ -582,10 +651,10 @@
})
this.pagination.totalCount = res.data.page.totalNum
this.$nextTick(() => {
- var rows = this.$el.querySelectorAll('table tr')
- for (var i = 0; i < rows.length; i++) {
- var row = rows[i]
- var height = row.getBoundingClientRect().height
+ const rows = this.$el.querySelectorAll('table tr')
+ for (let i = 0; i < rows.length; i++) {
+ const row = rows[i]
+ const height = row.getBoundingClientRect().height
this.sealList[i]['styleHeight'] = height + 'px'
}
this.$forceUpdate()
diff --git a/src/views/toCarryOutLegislativeReforms/summaryPage/index.vue b/src/views/toCarryOutLegislativeReforms/summaryPage/index.vue
index d53fbe1..bc4adb2 100644
--- a/src/views/toCarryOutLegislativeReforms/summaryPage/index.vue
+++ b/src/views/toCarryOutLegislativeReforms/summaryPage/index.vue
@@ -2,11 +2,21 @@
<div class="main">
<div class="timeSelect">
<el-radio-group v-model="searchForm.number" style="margin-left:20px" @input="changeNumber('timeMouted')">
- <el-radio-button label="1">���1������</el-radio-button>
- <el-radio-button label="2">���2������</el-radio-button>
- <el-radio-button label="3">���3������</el-radio-button>
- <el-radio-button label="6">���6������</el-radio-button>
- <el-radio-button label="12">���12������</el-radio-button>
+ <el-radio-button label="1">
+ ���1������
+ </el-radio-button>
+ <el-radio-button label="2">
+ ���2������
+ </el-radio-button>
+ <el-radio-button label="3">
+ ���3������
+ </el-radio-button>
+ <el-radio-button label="6">
+ ���6������
+ </el-radio-button>
+ <el-radio-button label="12">
+ ���12������
+ </el-radio-button>
</el-radio-group>
<el-date-picker v-model="timeInterval" el-time-picker type="daterange" value-format="yyyy-MM-dd" range-separator="���" start-placeholder="������������" end-placeholder="������������" @change="changeNumber('timeValue')" />
</div>
@@ -31,20 +41,20 @@
<div class="overviewAndDetails">
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="������" name="first">
+ <div class="tit">
+ <span>
+ ���������������������������
+ </span>
+ <el-button type="primary" plain size="small" style="float: right;" @click="ecxport">
+ ������
+ </el-button>
+ </div>
<div>
- <div class="tit">
- <span>
- ���������������������������
- </span>
- <el-button type="primary" plain size="small" style="float: right;" @click="ecxport">
- ������
- </el-button>
- </div>
<div class="min">
<div class="tab" style="display: inline-block; width: 100%">
- <el-table :data="tableData" class="top" border style="width: 100%" :header-cell-style="{
- background: '#99D4FF', color: '#101111', fontSize: '16px'
- }">
+ <el-table :data="tableData" class="topTable" border style="width: 100%" :header-cell-style="{
+ background: '#99D4FF', color: '#101111', fontSize: '16px'
+ }">
<el-table-column align="center" type="index" width="60" label="������" />
<el-table-column align="center" prop="unitName" label="������������" />
<el-table-column align="center" prop="total" label="���������" />
@@ -55,8 +65,8 @@
<el-table-column align="center" prop="marks" label="������" />
<el-table-column align="center" prop="totalPoints" label="���������" />
</el-table>
- <vueSeamless :data="tableData" v-if="tableData.length>5" ref="scroll3" :pause="true" class="seamless-warp" style="width: 100%;" :class-option="classOption">
- <el-table :data="tableData" v-if="tableData.length>0" class="bottom" border style="width: 100%;margin-bottom:50px">
+ <vueSeamless v-if="tableData.length>5" ref="scroll3" :data="tableData" :pause="true" class="seamless-warp" style="width: 100%;" :class-option="classOption">
+ <el-table v-if="tableData.length>0" :data="tableData" class="bottom" border style="width: 100%;margin-bottom:50px">
<el-table-column align="center" type="index" width="60" />
<el-table-column align="center" prop="unitName" label="������������" />
<el-table-column align="center" prop="total" label="���������" />
@@ -68,7 +78,7 @@
<el-table-column align="center" prop="totalPoints" label="���������" />
</el-table>
</vueSeamless>
- <el-table :data="tableData" v-else class="bottom" border style="width: 100%;margin-bottom:50px">
+ <el-table v-else :data="tableData" class="bottomTable" border style="width: 100%;margin-bottom:50px">
<el-table-column align="center" type="index" width="60" />
<el-table-column align="center" prop="unitName" label="������������" />
<el-table-column align="center" prop="total" label="���������" />
@@ -81,7 +91,6 @@
</el-table>
</div>
</div>
-
</div>
</el-tab-pane>
<el-tab-pane label="������" name="second">
@@ -414,10 +423,10 @@
display: flex;
width: 100%;
}
- .top /deep/.el-table__body-wrapper {
+ .topTable /deep/.el-table__body-wrapper {
display: none;
}
- .bottom /deep/.el-table__header-wrapper {
+ .bottomTable /deep/.el-table__header-wrapper {
display: none;
width: 100%;
}
--
Gitblit v1.8.0