| | |
| | | <el-col :span="6" style="display:flex;align-items: center"> |
| | | <span style="white-space: nowrap">预警类型:</span> |
| | | <div class="grid-content topInfo"> |
| | | <el-select v-model="searchAlert" placeholder="请选择预警类型"> |
| | | <el-select v-model="warningType" placeholder="请选择预警类型"> |
| | | <el-option |
| | | v-for="item in alertTypeList" |
| | | :key="item.id" |
| | |
| | | <div class="main-card"> |
| | | <!-- <el-row class="cardTop">--> |
| | | <!-- <el-col :span="12" class="mainCardBtn">--> |
| | | <!-- <el-button type="primary" :icon="Plus" size="default" @click="dialogAddRecord = true">新建</el-button>--> |
| | | <!-- <el-button type="primary" :icon="Plus" size="default" @click="dialogAddRecord = true">新增</el-button>--> |
| | | <!-- </el-col>--> |
| | | <!-- <el-button type="primary" :icon="Refresh" size="default"/>--> |
| | | <!-- <el-button type="primary" :icon="Refresh" size="default" @click="reLoadData"/>--> |
| | | <!-- </el-row>--> |
| | | <el-table |
| | | ref="multipleTableRef" |
| | |
| | | height="calc(100% - 48px)" |
| | | :header-cell-style="{background: '#fafafa'}" |
| | | > |
| | | <el-table-column type="index" label="序号" width="200"/> |
| | | <el-table-column property="id" label="作业证编号" width="200"/> |
| | | <el-table-column property="workType" label="作业类型" width="200"/> |
| | | <el-table-column property="alertInfo" label="预警信息"/> |
| | | <el-table-column property="alertType" label="预警类型"/> |
| | | <el-table-column property="desc" label="描述" width="200"/> |
| | | <el-table-column property="name" label="上报人"/> |
| | | <el-table-column property="updateTime" label="上报时间"/> |
| | | <el-table-column type="index" label="序号" width="80"/> |
| | | <el-table-column property="workPermitNo" label="作业证编号"/> |
| | | <el-table-column property="workTypeDesc" label="作业类型"/> |
| | | <el-table-column property="warningContent" show-overflow-tooltip label="预警信息"/> |
| | | <el-table-column property="warningTypeDesc" label="预警类型"/> |
| | | <el-table-column property="warningInfo" show-overflow-tooltip label="描述" width="200"/> |
| | | <el-table-column property="operatorUname" label="上报人"/> |
| | | <el-table-column property="operationTime" label="上报时间" width="180"/> |
| | | <el-table-column fixed="right" label="操作" align="center" width="250"> |
| | | <template #default="scope"> |
| | | <el-button link type="primary" size="small" :icon="View" @click="viewRecord(scope.row)">查看</el-button> |
| | |
| | | small=false |
| | | background |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="100" |
| | | :total="totalSize" |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | /> |
| | |
| | | <el-dialog v-model="dialogDetails" title="作业预警记录"> |
| | | <el-form :model="details" label-width="120px"> |
| | | <el-form-item label="作业证编号"> |
| | | <el-input v-model="details.id" readonly/> |
| | | <el-input v-model="details.workPermitNo" readonly/> |
| | | </el-form-item> |
| | | <el-form-item label="作业类型"> |
| | | <el-input v-model="details.workType" readonly/> |
| | | <el-input v-model="details.workTypeDesc" readonly/> |
| | | </el-form-item> |
| | | <el-form-item label="预警信息"> |
| | | <el-input v-model="details.alertInfo" readonly/> |
| | | <el-input v-model="details.warningContent" readonly/> |
| | | </el-form-item> |
| | | <el-form-item label="预警类型"> |
| | | <el-input v-model="details.alertType" readonly/> |
| | | <el-input v-model="details.warningTypeDesc" readonly/> |
| | | </el-form-item> |
| | | <el-form-item label="图片" v-if="details.imagePaths && details.imagePaths.length>0"> |
| | | <el-image v-for="item in details.imagePaths" :preview-src-list="details.imagePaths" style="width: 150px; height: 150px;margin-right: 50px;margin-bottom: 20px" :src="item" fit="cover" /> |
| | | </el-form-item> |
| | | <el-form-item label="描述"> |
| | | <el-input v-model="details.desc" type="textarea" readonly/> |
| | | <el-input v-model="details.warningInfo" type="textarea" readonly/> |
| | | </el-form-item> |
| | | <el-form-item label="上报人"> |
| | | <el-input v-model="details.name" readonly/> |
| | | <el-input v-model="details.operatorUname" readonly/> |
| | | </el-form-item> |
| | | <el-form-item label="上报时间"> |
| | | <el-input v-model="details.updateTime" readonly/> |
| | | <el-input v-model="details.operationTime" readonly/> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" @click="dialogDetails = false" size="default">确认</el-button> |
| | |
| | | import { Edit, View, Plus, Delete, Refresh, Search, Download } from '@element-plus/icons-vue'; |
| | | import { ElTable } from 'element-plus'; |
| | | import { FormInstance, FormRules, ElMessage } from 'element-plus'; |
| | | import { teamManageApi } from '/@/api/systemManage/basicDateManage/personShiftManage/teamManage'; |
| | | import { workProcessApi } from '/@/api/specialWorkSystem/workProcess'; |
| | | |
| | | // 定义接口来定义对象的类型 |
| | | interface stateType { |
| | |
| | | departmentList: Array<any>; |
| | | department:string; |
| | | workerList: Array<string>; |
| | | casProps: {}; |
| | | multipleSelection: Array<any>; |
| | | deleteArr: Array<any>; |
| | | dialogDetails: boolean; |
| | |
| | | chosenIndex: null | number; |
| | | deleteId: null | number; |
| | | searchWord: string; |
| | | searchType: number | null; |
| | | searchAlert: number | null; |
| | | searchType: string; |
| | | warningType: string; |
| | | totalSize: number; |
| | | addRecord: { |
| | | |
| | | }; |
| | | details: { |
| | | |
| | | }; |
| | |
| | | totalSize: 0, |
| | | chosenIndex: null, |
| | | searchWord: '', |
| | | searchType: null, |
| | | searchAlert: null, |
| | | tableData: [ |
| | | { |
| | | id: 'GTXH-0000001', |
| | | workType: '动火作业', |
| | | alertInfo: '可燃气检查超标', |
| | | alertType: '气体分析', |
| | | desc: 'A车间动火作业过程检查', |
| | | name: '李羽飞', |
| | | updateTime: '2022-08-31 12:00:00' |
| | | }, |
| | | { |
| | | id: 'GTXH-0000002', |
| | | workType: '动火作业', |
| | | alertInfo: '作业现场检查异常', |
| | | alertType: '作业检查', |
| | | desc: 'B车间动火作业过程气体检查', |
| | | name: '李羽飞', |
| | | updateTime: '2022-08-31 16:31:44' |
| | | }, |
| | | { |
| | | id: 'GTXH-0000003', |
| | | workType: '动火作业', |
| | | alertInfo: '可燃气检查超标', |
| | | alertType: '气体分析', |
| | | desc: '', |
| | | name: '李羽飞', |
| | | updateTime: '2022-08-31 17:05:20' |
| | | } |
| | | ], |
| | | searchType: '', |
| | | warningType: '', |
| | | tableData: [], |
| | | departmentList: [], |
| | | department: '', |
| | | workerList: [], |
| | | casProps: { |
| | | expandTrigger: 'hover', |
| | | emitPath: false, |
| | | value: 'depId', |
| | | label: 'depName' |
| | | }, |
| | | multipleSelection: [], |
| | | dialogDetails: false, |
| | | dialogAddRecord: false, |
| | | deleteDialog: false, |
| | | deleteSetDialog: false, |
| | | addRecord: { |
| | | |
| | | }, |
| | | details: { |
| | | |
| | | }, |
| | | details: {}, |
| | | deleteId: null, |
| | | deleteArr: [], |
| | | workTypeList: [ |
| | | { id: 1, name: '动火作业' }, |
| | | { id: 2, name: '受限空间作业' }, |
| | | { id: 3, name: '吊装作业' }, |
| | | { id: 4, name: '动土作业' }, |
| | | { id: 5, name: '断路作业' }, |
| | | { id: 6, name: '高处作业' }, |
| | | { id: 7, name: '临时用电作业' }, |
| | | { id: 8, name: '盲板抽堵作业' } |
| | | { id: '1', name: '动火作业' }, |
| | | { id: '2', name: '受限空间作业' }, |
| | | { id: '3', name: '吊装作业' }, |
| | | { id: '4', name: '动土作业' }, |
| | | { id: '5', name: '断路作业' }, |
| | | { id: '6', name: '高处作业' }, |
| | | { id: '7', name: '临时用电作业' }, |
| | | { id: '8', name: '盲板抽堵作业' } |
| | | ], |
| | | alertTypeList: [ |
| | | { id: 1, name: '气体分析' }, |
| | | { id: 2, name: '作业检查' } |
| | | { id: '1', name: '检查' }, |
| | | { id: '2', name: '检测' } |
| | | ] |
| | | }); |
| | | |
| | | // 页面载入时执行方法 |
| | | onMounted(() => { |
| | | // getListByPage(); |
| | | // getAllDepartment(); |
| | | getListByPage(); |
| | | }); |
| | | |
| | | // 分页获取班组管理列表 |
| | | const getListByPage = async () => { |
| | | const data = { pageSize: state.pageSize, pageIndex: state.pageIndex, searchParams: { groupName: state.searchWord, containGroupMemberEnable: true } }; |
| | | let res = await teamManageApi().getRecordPage(data); |
| | | const data = { pageSize: state.pageSize, pageIndex: state.pageIndex, searchParams: { workType: state.searchType, workPermitNo: state.searchWord,warningType: state.warningType } }; |
| | | let res = await workProcessApi().postAlertList(data); |
| | | if (res.data.code === '200') { |
| | | state.tableData = res.data.data.map((item) => { |
| | | if (!item.groupMembers || item.groupMembers == null) { |
| | | item.groupMembers = []; |
| | | } else { |
| | | item.groupMembers = Array.from(item.groupMembers, ({ username }) => username); |
| | | } |
| | | return item; |
| | | }); |
| | | state.tableData = JSON.parse(JSON.stringify(res.data.data)) |
| | | state.totalSize = res.data.total; |
| | | } else { |
| | | ElMessage({ |
| | |
| | | } |
| | | }; |
| | | |
| | | // 获取部门列表 |
| | | const getAllDepartment = async () => { |
| | | let res = await teamManageApi().getAllDepartment(); |
| | | if (res.data.code === '200') { |
| | | state.departmentList = res.data.data; |
| | | } else { |
| | | ElMessage({ |
| | | type: 'warning', |
| | | message: res.data.msg |
| | | }); |
| | | } |
| | | }; |
| | | |
| | | const handleChange = async (value) => { |
| | | state.addRecord.depId = value; |
| | | console.log(state.addRecord.department, 'de'); |
| | | let res = await teamManageApi().getAllMember(value); |
| | | if (res.data.code === '200') { |
| | | state.workerList = res.data.data; |
| | | } else { |
| | | ElMessage({ |
| | | type: 'warning', |
| | | message: res.data.msg |
| | | }); |
| | | } |
| | | }; |
| | | |
| | | // 关键词查询记录 |
| | | const searchRecord = async () => { |
| | | if (state.searchWord == '') { |
| | | const searchRecord = () => { |
| | | if (state.searchWord == ''&& state.searchType == ''&& state.warningType == '') { |
| | | ElMessage({ |
| | | type: 'warning', |
| | | message: '请输入查询关键词' |
| | |
| | | } |
| | | }; |
| | | |
| | | const clearSearch = async () => { |
| | | state.searchWord = ''; |
| | | getListByPage(); |
| | | const clearSearch = () => { |
| | | state.searchWord = '' |
| | | state.searchType = '' |
| | | state.warningType = '' |
| | | getListByPage() |
| | | }; |
| | | |
| | | const handleSizeChange = (val: number) => { |
| | |
| | | Delete, |
| | | Refresh, |
| | | Plus, |
| | | handleChange, |
| | | searchRecord, |
| | | clearSearch, |
| | | viewRecord, |