| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <TableLayout :permissions="['business:empower:query']"> |
| | | <!-- æç´¢è¡¨å --> |
| | | <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item label="ææ¥äºº" prop="memberName"> |
| | | <el-input v-model="searchForm.memberName" placeholder="请è¾å
¥å§å" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="ææ¥äººç»ç»" prop="companyName"> |
| | | <el-input v-model="searchForm.companyName" placeholder="请è¾å
¥" clearable |
| | | @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="责任é¨é¨" prop="dutyCompanyName"> |
| | | <el-input v-model="searchForm.dutyCompanyName" placeholder="请è¾å
¥è´£ä»»é¨é¨" clearable |
| | | @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="鿣åºå" prop="areaId"> |
| | | <el-select v-model="searchForm.areaId" placeholder="è¯·éæ©éæ£åºå" clearable @change="search"> |
| | | <el-option v-for="item in areaList" :key="item.id" :label="item.name" :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="éæ£ç±»å" prop="cateId"> |
| | | <el-select v-model="searchForm.cateId" placeholder="è¯·éæ©éæ£ç±»å" clearable @change="search"> |
| | | <el-option v-for="item in cateList" :key="item.id" :label="item.name" :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="ç¶æ" prop="status"> |
| | | <el-select v-model="searchForm.status" @change="search" clearable placeholder="ç¶æ"> |
| | | <el-option label="å¾
å¤ç" value="0"></el-option> |
| | | <el-option label="å·²å¤ç" value="1"></el-option> |
| | | <el-option label="å·²éå" value="2"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="ææ¥æ¶é´" prop="startTime"> |
| | | <!-- <el-date-picker @change="seleTime" v-model="time" @keypress.enter.native="search" type="datetimerange" |
| | | format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" :default-time="['00:00:00', '23:59:59']" |
| | | range-separator="è³" start-placeholder="å¼å§æ¥æ" end-placeholder="ç»ææ¥æ"> |
| | | </el-date-picker> --> |
| | | <el-date-picker type="datetime" v-model="searchForm.queryStartTime" value-format="yyyy-MM-dd HH:mm:ss" |
| | | placeholder="è¯·éæ©å¼å§æ¶é´" @change="changeRadio" /> |
| | | <el-date-picker type="datetime" v-model="searchForm.queryEndTime" value-format="yyyy-MM-dd HH:mm:ss" |
| | | placeholder="è¯·éæ©ç»ææ¶é´" @change="changeRadio" /> |
| | | </el-form-item> |
| | | <el-radio-group v-model="searchForm.radio" size="small" @input="changeRadio"> |
| | | <el-radio-button label="0">å½å¤©</el-radio-button> |
| | | <el-radio-button label="1">è¿7天</el-radio-button> |
| | | <el-radio-button label="2">è¿30天</el-radio-button> |
| | | </el-radio-group> |
| | | <section> |
| | | <el-button type="primary" @click="search">æç´¢</el-button> |
| | | <el-button @click="reset">éç½®</el-button> |
| | | </section> |
| | | </el-form> |
| | | <!-- è¡¨æ ¼åå页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul class="toolbar" v-permissions="['business:hiddendanger:create', 'business:hiddendanger:exportExcel']"> |
| | | <li><el-button type="primary" icon="el-icon-plus" v-permissions="['business:hiddendanger:create']" |
| | | @click="handleEdit">æ°å»º</el-button></li> |
| | | <li><el-button type="primary" v-permissions="['business:hiddendanger:exportExcel']" |
| | | @click="handleEx">导åº</el-button></li> |
| | | </ul> |
| | | <el-table v-loading="isWorking.search" :data="tableData.list" :height="tableHeightNew" stripe @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="55"></el-table-column> |
| | | <el-table-column prop="dutyCompanyName" show-overflow-tooltip label="责任é¨é¨" min-width="150px"></el-table-column> |
| | | <el-table-column prop="areaName" label="鿣åºå" show-overflow-tooltip min-width="150px"></el-table-column> |
| | | <el-table-column prop="categoryName" label="éæ£ç±»å" min-width="150px"></el-table-column> |
| | | <el-table-column prop="content" label="é®é¢æè¿°" min-width="150px"></el-table-column> |
| | | <el-table-column prop="memberName" label="ææ¥äºº" min-width="80px"></el-table-column> |
| | | <el-table-column prop="companyName" show-overflow-tooltip label="æå±ç»ç»" min-width="150px"></el-table-column> |
| | | <el-table-column prop="createDate" label="ææ¥æ¶é´" min-width="150px"></el-table-column> |
| | | <el-table-column label="å¤çç»æ" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span class="status-blue" v-if="row.status === 0">å¾
å¤ç</span> |
| | | <span class="status-green" v-if="row.status === 1">å·²å¤ç</span> |
| | | <span class="status-red" v-if="row.status === 2">å·²éå</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="editDate" label="æä½æ¶é´" min-width="150px"></el-table-column> |
| | | <!-- <el-table-column label="æä½" min-width="180" fixed="right"> --> |
| | | <el-table-column prop="dealTime" label="å¤çæ¶é´" min-width="150px"></el-table-column> |
| | | <!-- |
| | | <el-table-column prop="editDate" label="æè¿æä½æ¶é´" min-width="150px"></el-table-column> |
| | | --> |
| | | <el-table-column |
| | | label="æä½" |
| | | min-width="180" |
| | | fixed="right" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" icon="el-icon-edit" |
| | | @click="$refs.OperaHiddenDangerWindow.open('éæ£éææè¯¦æ
', row)">æ¥ç详æ
</el-button> |
| | | <el-button type="text" icon="el-icon-delete" @click="deleteById(row)" style="color: red" |
| | | v-permissions="['business:hiddendanger:delete']">å é¤</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination @size-change="handleSizeChange" @current-change="handlePageChange" :pagination="tableData.pagination"> |
| | | </pagination> |
| | | </template> |
| | | <OperaHiddenDangerWindow ref="OperaHiddenDangerWindow" @success="handlePageChange" /> |
| | | <!-- æ°å»º --> |
| | | <HiddenDangerParam @close="isShowEdit = false" @success="search" v-if="isShowEdit" ref="HiddenDangerParamRef" /> |
| | | </TableLayout> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseTable from '@/components/base/BaseTable' |
| | | import TableLayout from '@/layouts/TableLayout' |
| | | import Pagination from '@/components/common/Pagination' |
| | | import OperaHiddenDangerWindow from '@/components/business/OperaHiddenDangerWindow' |
| | | import HiddenDangerParam from '@/components/operation/HiddenDangerParam.vue' |
| | | import { timeForMat } from '@/utils/util' |
| | | import { allList, exportExcel } from '@/api/business/hiddenDangerParam' |
| | | export default { |
| | | name: 'Empower', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination, OperaHiddenDangerWindow, HiddenDangerParam }, |
| | | data() { |
| | | return { |
| | | isShowEdit: false, |
| | | // æç´¢ |
| | | searchForm: { |
| | | memberName: '', |
| | | companyName: '', |
| | | queryStartTime: '', |
| | | queryEndTime: '', |
| | | areaId: null, |
| | | cateId: null, |
| | | status: null, |
| | | radio: 0 |
| | | }, |
| | | cateList: [], |
| | | areaList: [], |
| | | time: [] |
| | | } |
| | | }, |
| | | created() { |
| | | this.config({ |
| | | module: 'éæ£éææç®¡ç', |
| | | api: '/business/hiddenDanger', |
| | | 'field.id': 'id', |
| | | 'field.main': 'id' |
| | | }) |
| | | // this.search() |
| | | this.changeRadio('0') |
| | | this.loadParams() |
| | | }, |
| | | methods: { |
| | | handleEx() { |
| | | this.$dialog.exportConfirm('确认导åºåï¼') |
| | | .then(() => { |
| | | this.exLoading = true |
| | | exportExcel({ |
| | | model: this.searchForm |
| | | }) |
| | | .then(response => { |
| | | this.download(response) |
| | | }) |
| | | .catch(e => { |
| | | }) |
| | | .finally(() => { |
| | | this.exLoading = false |
| | | }) |
| | | }) |
| | | }, |
| | | handleEdit() { |
| | | this.isShowEdit = true |
| | | this.$nextTick(() => { |
| | | this.$refs.HiddenDangerParamRef.isShowModal = true |
| | | }) |
| | | }, |
| | | changeRadio(e) { |
| | | this.searchForm.radio = e |
| | | if (e === '0') { |
| | | this.searchForm.queryStartTime = timeForMat(0)[0] |
| | | this.searchForm.queryEndTime = timeForMat(0)[1] |
| | | } else if (e === '1') { |
| | | this.searchForm.queryStartTime = timeForMat(6)[0] |
| | | this.searchForm.queryEndTime = timeForMat(6)[1] |
| | | } else if (e === '2') { |
| | | this.searchForm.queryStartTime = timeForMat(29)[0] |
| | | this.searchForm.queryEndTime = timeForMat(29)[1] |
| | | } else { |
| | | this.searchForm.radio = '' |
| | | } |
| | | if (this.searchForm.queryStartTime && this.searchForm.queryEndTime && new Date(this.searchForm.queryStartTime).getTime() > new Date(this.searchForm.queryEndTime).getTime()) { |
| | | this.$message.error('å¼å§æ¶é´ä¸è½å¤§äºç»ææ¶é´') |
| | | this.searchForm.queryStartTime = '' |
| | | return |
| | | } |
| | | this.search() |
| | | }, |
| | | loadParams() { |
| | | allList({ |
| | | }) |
| | | .then(res => { |
| | | if (res != null && res.length) { |
| | | res.forEach(item => { |
| | | if (item && item.type != null && item.type === 0) { |
| | | this.areaList.push(item) |
| | | } |
| | | if (item && item.type != null && item.type === 1) { |
| | | this.cateList.push(item) |
| | | } |
| | | }) |
| | | } |
| | | }) |
| | | .catch(e => { |
| | | // this.$tip.apiFailed(e) |
| | | }) |
| | | .finally(() => { |
| | | }) |
| | | }, |
| | | seleTime(e) { |
| | | this.searchForm.queryStartTime = e[0] |
| | | this.searchForm.queryEndTime = e[1] |
| | | this.searchForm.radio = null |
| | | this.search() |
| | | }, |
| | | reset() { |
| | | this.$refs.searchForm.resetFields() |
| | | this.searchForm = {} |
| | | this.time = [] |
| | | // this.searchForm.radio = '0' |
| | | // this.changeRadio('0') |
| | | this.search() |
| | | } |
| | | } |
| | | } |
| | | </script> |