事故调查管理代码提交
							parent
							
								
									6dbdf598c7
								
							
						
					
					
						commit
						7847b69c62
					
				|  | @ -100,6 +100,12 @@ export const constantRoutes = [ | ||||||
|     hidden: true, |     hidden: true, | ||||||
|     component: () => import('@/views/map/index') |     component: () => import('@/views/map/index') | ||||||
|   } |   } | ||||||
|  |   // {
 | ||||||
|  |   //   path: '/accident/records',
 | ||||||
|  |   //   name: 'apiAccidentRecords',
 | ||||||
|  |   //   meta: { name: '事故调查' },
 | ||||||
|  |   //   component: () => import('@/views/accident/records/index.vue')
 | ||||||
|  |   // }
 | ||||||
| ] | ] | ||||||
| const createRouter = () => new Router({ | const createRouter = () => new Router({ | ||||||
|   // mode: 'history', // require service support
 |   // mode: 'history', // require service support
 | ||||||
|  |  | ||||||
|  | @ -1,14 +1,13 @@ | ||||||
| <template> | <template> | ||||||
|   <div class="app-container"> |   <div class="app-container"> | ||||||
|     <el-form ref="searchForm" :model="searchForm" label-width="90px"> |     <el-form ref="searchForm" :model="searchForm" label-width="100px"> | ||||||
|       <!-- 搜索查询 start --> |       <el-row :gutter="12"> | ||||||
|       <el-row :gutter="24"> |  | ||||||
|         <el-col :span="4"> |         <el-col :span="4"> | ||||||
|           <el-form-item label="事故名称" prop="incidentName"> |           <el-form-item label="事故名称" prop="incidentName"> | ||||||
|             <el-input v-model="searchForm.incidentName" placeholder="请输入事故名称" /> |             <el-input v-model="searchForm.incidentName" placeholder="请输入隐患描述" class="filter-item"/> | ||||||
|           </el-form-item> |           </el-form-item> | ||||||
|         </el-col> |         </el-col> | ||||||
|         <el-col :span="5"> |         <el-col :span="8"> | ||||||
|           <el-form-item label="发生时间" prop="incidentDates"> |           <el-form-item label="发生时间" prop="incidentDates"> | ||||||
|             <el-date-picker |             <el-date-picker | ||||||
|               v-model="searchForm.incidentDates" |               v-model="searchForm.incidentDates" | ||||||
|  | @ -29,14 +28,14 @@ | ||||||
|         <el-col :span="4"> |         <el-col :span="4"> | ||||||
|           <el-form-item label="事故类型" prop="incidentType"> |           <el-form-item label="事故类型" prop="incidentType"> | ||||||
|             <el-select v-model="searchForm.incidentType" placeholder="请选择"> |             <el-select v-model="searchForm.incidentType" placeholder="请选择"> | ||||||
|               <el-option v-for="item in incidentTypes" :key="item.value" :label="item.label" :value="item.value" /> |               <el-option v-for="item in incidentTypes" :key="item.id" :label="item.name" :value="item.id" /> | ||||||
|             </el-select> |             </el-select> | ||||||
|           </el-form-item> |           </el-form-item> | ||||||
|         </el-col> |         </el-col> | ||||||
|         <el-col :span="4"> |         <el-col :span="4"> | ||||||
|           <el-form-item label="事故等级" prop="incidentLevel"> |           <el-form-item label="事故等级" prop="incidentLevel"> | ||||||
|             <el-select v-model="searchForm.incidentLevel" placeholder="请选择"> |             <el-select v-model="searchForm.incidentLevel" placeholder="请选择"> | ||||||
|               <el-option v-for="item in incidentLevels" :key="item.value" :label="item.label" :value="item.value" /> |               <el-option v-for="item in incidentLevels" :key="item.id" :label="item.name" :value="item.id" /> | ||||||
|             </el-select> |             </el-select> | ||||||
|           </el-form-item> |           </el-form-item> | ||||||
|         </el-col> |         </el-col> | ||||||
|  | @ -73,25 +72,20 @@ | ||||||
|         <el-table-column type="selection" width="55"/> |         <el-table-column type="selection" width="55"/> | ||||||
|         <el-table-column label="事故名称" prop="incidentName"/> |         <el-table-column label="事故名称" prop="incidentName"/> | ||||||
|         <el-table-column label="所属公司" prop="companyName"/> |         <el-table-column label="所属公司" prop="companyName"/> | ||||||
|         <el-table-column label="发生时间" prop="incidentDate"> |         <el-table-column label="发生时间" prop="incidentDate"/> | ||||||
|           <template v-slot="{row}"> |  | ||||||
|             {{ formatDate(row.incidentDate, 'YYYY-MM-DD HH:mm:ss') }} |  | ||||||
|           </template> |  | ||||||
|         </el-table-column> |  | ||||||
|         <el-table-column label="发生地点" prop="location"/> |         <el-table-column label="发生地点" prop="location"/> | ||||||
|         <el-table-column label="操作" width="100"> |         <el-table-column label="操作" width="100"> | ||||||
|           <template v-slot="{row}"> |           <template v-slot="{row}"> | ||||||
|             <el-button v-show="edit" icon="el-icon-view" size="mini" @click="goView(row.id)">查看</el-button> |             <el-button icon="el-icon-view" size="mini" @click="goView(row.id)">查看</el-button> | ||||||
|             <el-button v-show="edit" icon="el-icon-view" size="mini" @click="changeDialog('修改',row.id)">修改</el-button> |             <el-button icon="el-icon-view" size="mini" @click="changeDialog('修改',row.id)">修改</el-button> | ||||||
|             <el-button v-show="del" icon="el-icon-view" size="mini" @click="deleteRow(row.id)">删除</el-button> |             <el-button icon="el-icon-view" size="mini" @click="deleteRow(row.id)">删除</el-button> | ||||||
|           </template> |           </template> | ||||||
|         </el-table-column> |         </el-table-column> | ||||||
|       </el-table> |       </el-table> | ||||||
|     </div> |     </div> | ||||||
|     <!-- table 表格 end --> |     <!-- table 表格 end --> | ||||||
| 
 |  | ||||||
|     <div class="pagination-group"> |     <div class="pagination-group"> | ||||||
|       <pagination :total="listQuery.total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" /> |       <pagination :total="listQuery.total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="searchList" /> | ||||||
|     </div> |     </div> | ||||||
|   </div> |   </div> | ||||||
| </template> | </template> | ||||||
|  | @ -99,6 +93,7 @@ | ||||||
| <script> | <script> | ||||||
| import Pagination from '@/components/Pagination' | import Pagination from '@/components/Pagination' | ||||||
| import waves from '@/directive/waves' | import waves from '@/directive/waves' | ||||||
|  | import { requestFN } from '../../../../utils/request' | ||||||
| 
 | 
 | ||||||
| export default { | export default { | ||||||
|   components: { Pagination }, |   components: { Pagination }, | ||||||
|  | @ -112,6 +107,10 @@ export default { | ||||||
|         incidentName: '', |         incidentName: '', | ||||||
|         /** 发生时间 */ |         /** 发生时间 */ | ||||||
|         incidentDates: [], |         incidentDates: [], | ||||||
|  |         /** 开始时间 */ | ||||||
|  |         startTime: null, | ||||||
|  |         /** 结束时间 */ | ||||||
|  |         endTime: null, | ||||||
|         /** 发生地点 */ |         /** 发生地点 */ | ||||||
|         location: '', |         location: '', | ||||||
|         /** 事故类型 */ |         /** 事故类型 */ | ||||||
|  | @ -124,31 +123,9 @@ export default { | ||||||
|       /** 源列表数据项 */ |       /** 源列表数据项 */ | ||||||
|       varList: [], |       varList: [], | ||||||
|       /** 事故类型 */ |       /** 事故类型 */ | ||||||
|       incidentTypes: [ |       incidentTypes: [], | ||||||
|         { |  | ||||||
|           id: '01', |  | ||||||
|           value: 'yiji', |  | ||||||
|           label: '一级事故' |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           id: '02', |  | ||||||
|           value: 'erji', |  | ||||||
|           label: '二级事故' |  | ||||||
|         } |  | ||||||
|       ], |  | ||||||
|       /** 事故等级 */ |       /** 事故等级 */ | ||||||
|       incidentLevels: [ |       incidentLevels: [], | ||||||
|         { |  | ||||||
|           id: '01', |  | ||||||
|           value: 'yiji', |  | ||||||
|           label: '一级等级' |  | ||||||
|         }, |  | ||||||
|         { |  | ||||||
|           id: '02', |  | ||||||
|           value: 'erji', |  | ||||||
|           label: '二级等级' |  | ||||||
|         } |  | ||||||
|       ], |  | ||||||
|       // 列表分页参数 |       // 列表分页参数 | ||||||
|       listQuery: { |       listQuery: { | ||||||
|         /** 当前页数 */ |         /** 当前页数 */ | ||||||
|  | @ -161,26 +138,45 @@ export default { | ||||||
|     } |     } | ||||||
|   }, |   }, | ||||||
| 
 | 
 | ||||||
|  |   created() { | ||||||
|  |     this.getDict() | ||||||
|  |     this.searchList() | ||||||
|  |   }, | ||||||
|  | 
 | ||||||
|   methods: { |   methods: { | ||||||
|     /** |     /** | ||||||
|      * 查询搜索 |      * 查询搜索 | ||||||
|      */ |      */ | ||||||
|     searchList() { }, |     searchList() { | ||||||
|  |       this.listLoading = true | ||||||
|  |       const dates = this.searchForm.incidentDates | ||||||
|  |       if (dates != null && dates.length === 2) { | ||||||
|  |         this.searchForm.startTime = dates[0] | ||||||
|  |         this.searchForm.endTime = dates[1] | ||||||
|  |       } | ||||||
|  |       const url = '/accident/page?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page | ||||||
|  |       requestFN(url, { ...this.searchForm }).then((data) => { | ||||||
|  |         this.listLoading = false | ||||||
|  |         this.varList = data.varList | ||||||
|  |         this.total = data.page.totalResult | ||||||
|  |       }).catch((e) => { | ||||||
|  |         this.listLoading = false | ||||||
|  |       }) | ||||||
|  |     }, | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|      * 重置搜索条件 |      * 重置搜索条件 | ||||||
|      */ |      */ | ||||||
|     handleReset() {}, |     handleReset() { | ||||||
| 
 |       this.searchForm = this.$options.data().searchForm | ||||||
|     /** |     }, | ||||||
|      * 获取分页列表 |  | ||||||
|      */ |  | ||||||
|     getList() {}, |  | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|      * 表格行选择器处理 |      * 表格行选择器处理 | ||||||
|      */ |      */ | ||||||
|     handleSelectionChange() {}, |     handleSelectionChange(val) { | ||||||
|  |       this.multipleSelection.push(val) | ||||||
|  |     }, | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|      * 新增 |      * 新增 | ||||||
|  | @ -189,6 +185,37 @@ export default { | ||||||
|       this.$parent.activeName = 'AddOrEdit' |       this.$parent.activeName = 'AddOrEdit' | ||||||
|     }, |     }, | ||||||
| 
 | 
 | ||||||
|  |     // 删除行数据 | ||||||
|  |     deleteRow(id) { | ||||||
|  |       if (id === null || id === '') { | ||||||
|  |         this.$message.warning('请选择要删除的行') | ||||||
|  |         return | ||||||
|  |       } | ||||||
|  | 
 | ||||||
|  |       // 弹出确认框 | ||||||
|  |       this.$confirm('确定要删除这调记录吗?', '提示', { | ||||||
|  |         confirmButtonText: '确定', | ||||||
|  |         cancelButtonText: '取消', | ||||||
|  |         type: 'warning' | ||||||
|  |       }).then(() => { | ||||||
|  |         // 发送删除请求 | ||||||
|  |         const url = '/accident/delete/' + '' + id | ||||||
|  |         requestFN(url).then((response) => { | ||||||
|  |           // 删除成功后的处理 | ||||||
|  |           this.$message.success('删除成功') | ||||||
|  |           // eslint-disable-next-line handle-callback-err | ||||||
|  |         }).catch((error) => { | ||||||
|  |           this.$message.error('删除失败') | ||||||
|  |         }) | ||||||
|  |       }).catch(() => { | ||||||
|  |         this.$message({ | ||||||
|  |           type: 'info', | ||||||
|  |           message: '已取消删除' | ||||||
|  |         }) | ||||||
|  |       }) | ||||||
|  |       this.searchList() | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|     /** |     /** | ||||||
|      * 导出 |      * 导出 | ||||||
|      */ |      */ | ||||||
|  | @ -202,12 +229,71 @@ export default { | ||||||
|     /** |     /** | ||||||
|      * 刷新 |      * 刷新 | ||||||
|      */ |      */ | ||||||
|     handleRefresh() {}, |     handleRefresh() { | ||||||
|  |       this.searchForm = this.$options.data().searchForm | ||||||
|  |       this.searchList() | ||||||
|  |       this.toggleSelection() | ||||||
|  |     }, | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|      * 批量删除 |      * 批量删除 | ||||||
|      */ |      */ | ||||||
|     handleBatchDel() {} |     handleBatchDel() { | ||||||
|  |       // 获取选中的行数据 | ||||||
|  |       const selectedRows = this.multipleSelection | ||||||
|  |       // 如果没有选中任何行,则提示用户 | ||||||
|  |       if (selectedRows.length === 0) { | ||||||
|  |         this.$message.warning('请选择要删除的行') | ||||||
|  |         return | ||||||
|  |       } | ||||||
|  |       // 弹出确认框 | ||||||
|  |       this.$confirm('确定要删除这些记录吗?', '提示', { | ||||||
|  |         confirmButtonText: '确定', | ||||||
|  |         cancelButtonText: '取消', | ||||||
|  |         type: 'warning' | ||||||
|  |       }).then(() => { | ||||||
|  |         // 获取所有选中行的 ID | ||||||
|  |         const ids = selectedRows.map(row => row.id).join(',') | ||||||
|  | 
 | ||||||
|  |         // 发送批量删除请求 | ||||||
|  |         const url = '/accident/delete/' + '' + ids | ||||||
|  |         requestFN(url).then((response) => { | ||||||
|  |           // 删除成功后的处理 | ||||||
|  |           this.$message.success('删除成功') | ||||||
|  |           this.searchList() // 重新获取数据 | ||||||
|  |           // eslint-disable-next-line handle-callback-err | ||||||
|  |         }).catch((error) => { | ||||||
|  |           this.$message.error('删除失败') | ||||||
|  |         }) | ||||||
|  |       }).catch(() => { | ||||||
|  |         this.$message({ | ||||||
|  |           type: 'info', | ||||||
|  |           message: '已取消删除' | ||||||
|  |         }) | ||||||
|  |       }) | ||||||
|  |       this.searchList() | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * 查询字典 | ||||||
|  |      */ | ||||||
|  |     getDict() { | ||||||
|  |       const url = '/dictionaries/listSelectTree' | ||||||
|  |       requestFN(url, | ||||||
|  |         { | ||||||
|  |           DICTIONARIES_ID: '8d4140a900184b60836ad1a6490fd510' | ||||||
|  |         } | ||||||
|  |       ).then((data) => { | ||||||
|  |         this.incidentTypes = JSON.parse(data.zTreeNodes) | ||||||
|  |       }) | ||||||
|  |       requestFN(url, | ||||||
|  |         { | ||||||
|  |           DICTIONARIES_ID: 'b61a1edc59c0430c8741c5f51aa26c3c' | ||||||
|  |         } | ||||||
|  |       ).then((data) => { | ||||||
|  |         this.incidentLevels = JSON.parse(data.zTreeNodes) | ||||||
|  |       }) | ||||||
|  |     } | ||||||
|   } |   } | ||||||
| } | } | ||||||
| </script> | </script> | ||||||
|  |  | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| <template> | <0template> | ||||||
|   <div class="app-container"> |   <div class="app-container"> | ||||||
|     <el-form ref="searchForm" :model="searchForm" label-width="100px"> |     <el-form ref="searchForm" :model="searchForm" label-width="100px"> | ||||||
|       <el-row :gutter="12"> |       <el-row :gutter="12"> | ||||||
|  | @ -193,7 +193,7 @@ | ||||||
|       </div> |       </div> | ||||||
|     </el-dialog> |     </el-dialog> | ||||||
|   </div> |   </div> | ||||||
| </template> | </0template> | ||||||
| 
 | 
 | ||||||
| <script> | <script> | ||||||
| import Pagination from '@/components/Pagination' | import Pagination from '@/components/Pagination' | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue