11111
parent
5c7df2fe8d
commit
ab28e7148d
|
@ -20,6 +20,9 @@
|
|||
<el-button v-waves class="filter-item" type="success" icon="el-icon-refresh" @click="goKeyReset">
|
||||
重置
|
||||
</el-button>
|
||||
<el-button v-waves class="filter-item" type="info" icon="el-icon-download" @click="exportExcel">
|
||||
导出
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
@ -34,9 +37,10 @@
|
|||
'color': '#000'
|
||||
}"
|
||||
tooltip-effect="dark"
|
||||
highlight-current-row
|
||||
border
|
||||
fit
|
||||
highlight-current-row
|
||||
@current-change="handleCurrentChange"
|
||||
>
|
||||
<el-table-column type="index" label="序号" width="50" align="center" />
|
||||
<el-table-column prop="CORP_NAME" label="公司名称" show-overflow-tooltip />
|
||||
|
@ -89,7 +93,9 @@
|
|||
<script>
|
||||
import Pagination from '@/components/Pagination' // 通过 el-pagination二次打包
|
||||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves' // waves directive
|
||||
import waves from '@/directive/waves'
|
||||
import axios from 'axios'
|
||||
import dayjs from 'dayjs' // waves directive
|
||||
export default {
|
||||
name: 'IndexVue',
|
||||
components: { Pagination },
|
||||
|
@ -115,7 +121,8 @@ export default {
|
|||
total: 0,
|
||||
OUTSOURCED_NAME: '',
|
||||
CORP_NAME: '',
|
||||
varList: []
|
||||
varList: [],
|
||||
row: null
|
||||
}
|
||||
},
|
||||
created() {
|
||||
|
@ -155,6 +162,55 @@ export default {
|
|||
goDetail(ID) {
|
||||
this.$parent.CORPINFO_ID = ID
|
||||
this.$parent.activeName = this.activeName
|
||||
},
|
||||
|
||||
handleCurrentChange(row) {
|
||||
this.row = row
|
||||
},
|
||||
|
||||
exportExcel() {
|
||||
if (this.row == null || this.row.CORPINFO_ID == null || this.row.CORPINFO_ID === '') {
|
||||
this.$message.error('请选择公司')
|
||||
return
|
||||
}
|
||||
this.$confirm('确定要下载' + this.row.CORP_NAME + '的检查数据吗?', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.listLoading = false
|
||||
const loading = this.$loading({
|
||||
lock: true,
|
||||
text: '加载中...',
|
||||
spinner: 'el-icon-loading',
|
||||
background: 'rgba(0, 0, 0, 0.7)'
|
||||
})
|
||||
axios.get(config.httpurl + '/keyprojectcheck/export/excel/' + this.row.CORPINFO_ID, {
|
||||
responseType: 'blob'
|
||||
}).then(res => {
|
||||
setTimeout(() => {
|
||||
const blob = new Blob([res.data], { type: 'application/vnd.ms-excel' })
|
||||
const downloadElement = document.createElement('a')
|
||||
const href = window.URL.createObjectURL(blob)
|
||||
downloadElement.style.display = 'none'
|
||||
downloadElement.href = href
|
||||
downloadElement.download = this.row.CORP_NAME
|
||||
document.body.appendChild(downloadElement)
|
||||
downloadElement.click()
|
||||
document.body.removeChild(downloadElement)
|
||||
window.URL.revokeObjectURL(href)
|
||||
this.$emit('getResult', '')
|
||||
loading.close()
|
||||
this.close()
|
||||
}, 2000)
|
||||
}).catch((e) => {
|
||||
console.log(e)
|
||||
loading.close()
|
||||
this.$message.error('导出失败,或未查询到隐患')
|
||||
})
|
||||
}).catch(() => {
|
||||
this.listLoading = false
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -91,7 +91,7 @@
|
|||
import Pagination from '@/components/Pagination'
|
||||
import waves from '@/directive/waves'
|
||||
import formatDate from '../../../../utils/dateformat'
|
||||
import { requestFN } from '../../../../utils/request'
|
||||
import { requestFN } from '@/utils/request'
|
||||
|
||||
export default {
|
||||
components: { Pagination },
|
||||
|
|
|
@ -19,6 +19,20 @@
|
|||
<el-input v-model="searchForm.KEYWORDS" placeholder="请输入关键字"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item label="考评时间" prop="incidentDates">
|
||||
<el-date-picker
|
||||
v-model="searchForm.incidentDates"
|
||||
:default-time="['00:00:00', '23:59:59']"
|
||||
value-format="yyyy-MM-dd HH:mm:ss"
|
||||
format="yyyy-MM-dd"
|
||||
style="width: 100%"
|
||||
type="daterange"
|
||||
range-separator="-"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label-width="10px">
|
||||
<el-button v-waves type="primary" icon="el-icon-search" @click="getList">
|
||||
|
@ -101,6 +115,9 @@ export default {
|
|||
searchForm: {
|
||||
KEYWORDS: '',
|
||||
TYPE: '',
|
||||
incidentDates: [],
|
||||
START_TIME: '',
|
||||
END_TIME: '',
|
||||
DEPARTMENT_ID: null
|
||||
}
|
||||
}
|
||||
|
@ -129,6 +146,11 @@ export default {
|
|||
// 获取列表
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
const dates = this.searchForm.incidentDates
|
||||
if (dates != null && dates.length === 2) {
|
||||
this.searchForm.START_TIME = dates[0]
|
||||
this.searchForm.END_TIME = dates[1]
|
||||
}
|
||||
requestFN(
|
||||
'/keyProject/evaluationscore/list?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page,
|
||||
{
|
||||
|
|
|
@ -50,6 +50,9 @@
|
|||
<el-button v-waves class="filter-item" type="success" icon="el-icon-refresh" @click="goKeyReset">
|
||||
重置
|
||||
</el-button>
|
||||
<el-button v-waves class="filter-item" type="danger" icon="el-icon-delete" @click="handleBatchDel">
|
||||
删除
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
@ -67,6 +70,7 @@
|
|||
border
|
||||
fit
|
||||
highlight-current-row
|
||||
@selection-change="handleSelectionChange"
|
||||
>
|
||||
<el-table-column
|
||||
:reserve-selection="true"
|
||||
|
@ -141,6 +145,8 @@ export default {
|
|||
ISCHECK: '',
|
||||
ISPUNISH: '',
|
||||
varList: [],
|
||||
/** 当前选中行 */
|
||||
multipleSelection: [],
|
||||
stateList: [
|
||||
// { ID: '0', NAME: '未申请' },
|
||||
// { ID: '1', NAME: '申请中' },
|
||||
|
@ -226,6 +232,49 @@ export default {
|
|||
goDetail(ID) {
|
||||
this.$parent.HIDDEN_ID = ID
|
||||
this.$parent.activeName = 'Info'
|
||||
},
|
||||
/**
|
||||
* 批量删除
|
||||
*/
|
||||
handleBatchDel() {
|
||||
// 获取选中的行数据
|
||||
const selectedRows = this.multipleSelection
|
||||
// 如果没有选中任何行,则提示用户
|
||||
if (this.multipleSelection === '' || selectedRows.length === 0) {
|
||||
this.$message.warning('请选择要删除的行')
|
||||
return
|
||||
}
|
||||
// 弹出确认框
|
||||
this.$confirm('确定要删除这些记录吗?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
// 获取所有选中行的 ID
|
||||
let ids = ''
|
||||
selectedRows.forEach(row => { ids += row.HIDDEN_ID + ',' })
|
||||
// 发送批量删除请求
|
||||
const url = '/keyprojectcheck/delete/hidden/all'
|
||||
requestFN(url, { DATA_IDS: ids }).then((response) => {
|
||||
// 删除成功后的处理
|
||||
this.$message.success('删除成功')
|
||||
this.getList()
|
||||
// eslint-disable-next-line handle-callback-err
|
||||
}).catch(() => {
|
||||
this.$message.error('删除失败')
|
||||
})
|
||||
}).catch(() => {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: '已取消删除'
|
||||
})
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 表格行选择器处理
|
||||
*/
|
||||
handleSelectionChange(val) {
|
||||
this.multipleSelection = val
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,18 +9,28 @@
|
|||
<!-- <el-input v-model="KEYWORDS" placeholder="搜索关键字" />-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- </el-col>-->
|
||||
<el-col :span="5">
|
||||
<el-col :span="4">
|
||||
<el-form-item label="重点工程名称">
|
||||
<el-input v-model="KEYWORDS" placeholder="搜索重点工程名称" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-col :span="4">
|
||||
<el-form-item label="状态" label-width="50px">
|
||||
<el-select ref="SELECT_STATE" v-model="STATE" style="width: 100%;">
|
||||
<el-option v-for="item in stateList" :key="item.ID" :label="item.NAME" :value="item.ID" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="负责人姓名">
|
||||
<el-input v-model="UNITS_PIC_NAME" placeholder="搜索负责人姓名" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="负责人手机号">
|
||||
<el-input v-model="UNITS_PHONE" placeholder="搜索负责人手机号" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label-width="10px">
|
||||
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery">
|
||||
|
@ -93,6 +103,8 @@ export default {
|
|||
},
|
||||
STATE: '',
|
||||
total: 0,
|
||||
UNITS_PIC_NAME: '',
|
||||
UNITS_PHONE: '',
|
||||
KEYWORDS: '',
|
||||
OUTSOURCED_NAME: '',
|
||||
stateList: [
|
||||
|
@ -134,6 +146,8 @@ export default {
|
|||
'/outsourced/list?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page,
|
||||
{
|
||||
KEYWORDS: this.KEYWORDS,
|
||||
UNITS_PIC_NAME: this.UNITS_PIC_NAME,
|
||||
UNITS_PHONE: this.UNITS_PHONE,
|
||||
CORPINFO_ID: this.$parent.CORPINFO_ID,
|
||||
STATE: this.STATE
|
||||
}
|
||||
|
|
|
@ -220,10 +220,11 @@ export default {
|
|||
}
|
||||
},
|
||||
created() {
|
||||
// this.ROLE_ID
|
||||
console.log(this.$data)
|
||||
this.getList()
|
||||
this.getDict()
|
||||
this.getTreeList()
|
||||
// this.ROLE_ID
|
||||
},
|
||||
methods: {
|
||||
onChange(value) {
|
||||
|
|
|
@ -73,14 +73,19 @@
|
|||
<el-input v-model="search.INSPECTION_CASE" placeholder="检查情况" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label-width="10px">
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col>
|
||||
<el-form-item label-width="20px">
|
||||
<el-button v-waves type="primary" icon="el-icon-search" @click="getQuery">
|
||||
搜索
|
||||
</el-button>
|
||||
<el-button v-waves type="success" icon="el-icon-refresh" @click="goKeyReset">
|
||||
重置
|
||||
</el-button>
|
||||
<el-button v-waves class="filter-item" type="info" icon="el-icon-download" @click="exportExcel">
|
||||
导出
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
@ -230,6 +235,7 @@ import waves from '@/directive/waves' // waves directive
|
|||
import WriteSign from '@/components/WriteSign'
|
||||
import safetyFlowChart from '../../../hiddenUtil/safetyFlowChart'
|
||||
import SelectTree from '@/components/SelectTree'
|
||||
import axios from 'axios'
|
||||
export default {
|
||||
components: { Pagination, WriteSign, safetyFlowChart, SelectTree },
|
||||
directives: { waves },
|
||||
|
@ -258,7 +264,7 @@ export default {
|
|||
INSPECTION_TIME: ['', ''], // 检查时间
|
||||
INSPECTION_STATUS: '', // 检查状态
|
||||
INSPECTION_SUBJECT: '', // 检查题目
|
||||
INSPECTION_CASE:'' // 检查情况
|
||||
INSPECTION_CASE: '' // 检查情况
|
||||
},
|
||||
statusList: [
|
||||
{ ID: '', NAME: '请选择' },
|
||||
|
@ -557,6 +563,73 @@ export default {
|
|||
INSPECTION_ORIGINATOR_SIGN_IMG: '' // 被检查单位现场负责人签字
|
||||
// INSPECTION_ORIGINATOR_SIGN_TIME: '', // 被检查单位现场负责人签字时间
|
||||
}
|
||||
},
|
||||
exportExcel() {
|
||||
this.$confirm('确定要下载检查记录吗?', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
const loading = this.$loading({
|
||||
lock: true,
|
||||
text: '加载中...',
|
||||
spinner: 'el-icon-loading',
|
||||
background: 'rgba(0, 0, 0, 0.7)'
|
||||
})
|
||||
const object = {
|
||||
...this.search,
|
||||
INSPECTION_TIME_START: this.search.INSPECTION_TIME[0],
|
||||
INSPECTION_TIME_END: this.search.INSPECTION_TIME[1]
|
||||
}
|
||||
const formData = new FormData()
|
||||
Object.keys({
|
||||
...this.search,
|
||||
INSPECTION_TIME_START: this.search.INSPECTION_TIME[0],
|
||||
INSPECTION_TIME_END: this.search.INSPECTION_TIME[1]
|
||||
}).forEach(key => {
|
||||
const value = object[key]
|
||||
if (Array.isArray(value)) {
|
||||
value.forEach((subValue, i) => {
|
||||
formData.append(key + `[${i}]`, subValue)
|
||||
})
|
||||
} else {
|
||||
formData.append(key, object[key])
|
||||
}
|
||||
})
|
||||
console.log(formData)
|
||||
axios({
|
||||
url: config.httpurl + 'safetyenvironmental/export/excel',
|
||||
method: 'post',
|
||||
headers: { 'content-type': 'application/x-www-form-urlencoded' },
|
||||
responseType: 'blob',
|
||||
data: formData
|
||||
}).then(res => {
|
||||
console.log('+++++++++++++++++++++++++++++')
|
||||
const blob = new Blob([res.data], { type: 'application/vnd.ms-excel' })
|
||||
const downloadElement = document.createElement('a')
|
||||
const href = window.URL.createObjectURL(blob)
|
||||
downloadElement.style.display = 'none'
|
||||
downloadElement.href = href
|
||||
downloadElement.download = '检查记录'
|
||||
|
||||
// 减少DOM操作次数
|
||||
document.body.appendChild(downloadElement)
|
||||
downloadElement.click()
|
||||
document.body.removeChild(downloadElement)
|
||||
window.URL.revokeObjectURL(href)
|
||||
loading.close()
|
||||
}).catch((e) => {
|
||||
console.error(e)
|
||||
loading.close()
|
||||
if (e.response && e.response.status === 404) {
|
||||
this.$message.error('未查询到数据')
|
||||
} else {
|
||||
this.$message.error('导出失败,请稍后再试')
|
||||
}
|
||||
})
|
||||
}).catch(() => {
|
||||
this.$message.warning('取消导出')
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue