一公司人员定位 报警列表2

20240528Test
limingyu 2024-04-13 16:22:26 +08:00
parent b5aaa3d6d1
commit ffc9dcf5fe
1 changed files with 101 additions and 214 deletions

View File

@ -3,72 +3,45 @@
<el-form ref="searchForm" :model="searchForm" label-width="80px"> <el-form ref="searchForm" :model="searchForm" label-width="80px">
<el-row> <el-row>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="作业编号" prop="keySource"> <el-form-item label="报警状态" prop="status">
<el-input v-model="searchForm.keyJobNumber" placeholder="请输入作业编号" class="filter-item" /> <el-select v-model="searchForm.status" style="width: 100%;">
</el-form-item> <el-option v-for="item in statusList" :key="item.DICTIONARIES_ID" :value="item.BIANMA" :label="item.NAME"/>
</el-col>
<el-col :span="6">
<el-form-item label="特级动火审批状态" prop="keyHiddenDescr" label-width="130px">
<el-select v-model="searchForm.keyState" placeholder="请选择">
<el-option v-for="item in statusSuperList" :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="6"> <el-col :span="6">
<el-form-item label="动火等级" prop="HOT_WORK_LEVEL_INDEX" > <el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getList">
<el-select v-model="searchForm.HOT_WORK_LEVEL_INDEX" placeholder="请选择" style="width: 80%"> 搜索
<el-option v-for="item in hotworklevelList" :key="item.id" :label="item.name" :value="item.id" /> </el-button>
</el-select> <el-button v-waves class="filter-item" type="success" icon="el-icon-refresh" @click="chongzhi">
</el-form-item> 重置
</el-col> </el-button>
<el-col :span="6">
<el-form-item label="动火内容" prop="keySource">
<el-input v-model="searchForm.JOB_CONTENT" placeholder="请输入动火内容" class="filter-item" />
</el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
<el-table v-loading="listLoading" ref="multipleTable" :data="varList" :row-key="getRowKey" :header-cell-style="{'font-weight': 'bold','color': '#000'}" tooltip-effect="dark" border fit highlight-current-row> <el-table v-loading="listLoading" ref="multipleTable" :data="varList" :row-key="getRowKey" :header-cell-style="{'font-weight': 'bold','color': '#000'}" tooltip-effect="dark" border fit highlight-current-row>
<el-table-column :reserve-selection="true" type="selection" width="55" align="center" /> <el-table-column :reserve-selection="true" type="selection" width="55" align="center" />
<el-table-column type="index" label="序号" width="50" align="center" /> <el-table-column fixed="left" type="index" label="序号" width="50" align="center" />
<el-table-column prop="JOB_NUMBER" label="作业编号" /> <el-table-column prop="alarmName" label="报警名称" width="100"/>
<el-table-column prop="JOB_TYPE_INDEX" label="作业类型" > <el-table-column prop="alarmMessage" label="报警信息" />
<el-table-column prop="relatedFunctions" label="相关功能" />
<el-table-column prop="typeName" label="类型名称" />
<el-table-column prop="message" label="报警信息" width="200"/>
<!-- <el-table-column prop="id" label="其他系统id" width="200"/>-->
<el-table-column prop="idRemak" label="其他系统备注" />
<el-table-column prop="remark" label="备注" />
<el-table-column prop="corpName" label="企业名称" width="150"/>
<el-table-column prop="departmentName" label="部门名称" />
<el-table-column prop="equipmentName" label="报警来源" width="100"/>
<el-table-column prop="createdTime" label="创建时间" width="150"/>
<el-table-column prop="level" label="报警等级" />
<el-table-column prop="address" label="报警地址" />
<el-table-column prop="statusName" label="状态名称" />
<el-table-column prop="opinion" label="处理意见" width="200"/>
<el-table-column fixed="right" label="操作" align="center" width="200">
<template slot-scope="{row}"> <template slot-scope="{row}">
{{ translate(row.JOB_TYPE_INDEX, jobTypeList) }} <el-button v-if="row.status == null || row.status == '0'" icon="el-icon-view" type="danger" size="mini" @click="goInfo(row.dwAlarmId,'ignore')"></el-button>
</template> <el-button v-if="row.status == null || row.status == '0'" icon="el-icon-view" type="primary" size="mini" @click="goInfo(row.dwAlarmId,'confirm')"></el-button>
</el-table-column>
<el-table-column prop="HOT_WORK_LEVEL_NAME" label="动火等级" />
<el-table-column prop="JOB_CONTENT" label="动火内容" />
<el-table-column prop="HOT_WORK_POSITION" label="动火部位" />
<el-table-column prop="UNIT_LEADER_DEPARTMENT_NAME" label="动火区域管辖单位" />
<el-table-column prop="WORK_LEVEL" label="申请单位" >
<template slot-scope="{row}">
{{ getUserName('deptName', row.HOT_WORK_APPLICATION_List) }}
</template>
</el-table-column>
<el-table-column prop="APPLY_USER_NAME" label="申请人" />
<el-table-column prop="APPLY_USER_NAME" label="申请时间" >
<template slot-scope="{row}">
{{ getUserName('OPERATTIME', row.HOT_WORK_APPLICATION_List) }}
</template>
</el-table-column>
<el-table-column prop="STATE" label="审核状态" >
<template slot-scope="{row}">
{{ translate(row.STATE.toString(), statusList) }}
</template>
</el-table-column>
<el-table-column prop="examineUserName" label="审核人" >
<template slot-scope="{row}">
{{ row.examineUserName || row.examineDeptName }}
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="200">
<template slot-scope="{row}">
<!-- <el-button :disabled="row.STATE !='11'" type="primary" icon="el-icon-document" size="mini" @click="goDetail(row.HOTWORKAPPLICATION_ID,'apply')"></el-button>-->
<!-- <el-button :disabled="row.STATE !='-2'" type="primary" icon="el-icon-document" size="mini" @click="goDetail(row.HOTWORKAPPLICATION_ID,'repulse')"></el-button>-->
<el-button icon="el-icon-view" size="mini" @click="goInfo(row.HOTWORKAPPLICATION_ID,'see')"></el-button>
<!--<el-button v-if="row.STATE=='-6' && row.CREATOR == loginUserID" type="danger" icon="el-icon-delete" plain @click="batchDel(row.HOTWORKAPPLICATION_ID)"></el-button>-->
<el-button v-if="(row.CREATOR == loginUserID || loginUserID == '1' || loginRoleNumber == 'R20201225624685') && row.STATE != 11" type="danger" icon="el-icon-delete" plain @click="batchDel(row.HOTWORKAPPLICATION_ID)"></el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -79,6 +52,17 @@
</div> </div>
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" /> <pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
</div> </div>
<el-dialog :visible.sync="dialogManageAlarm" :title="dialogType === 'ignore' ? '忽略报警' : '确认报警'" width="650px">
<el-form ref="form" :model="manageAlarmForm" :rules="manageAlarmRules" label-width="110px" style="width: 500px;">
<el-form-item label="处理意见" prop="opinion">
<el-input v-model="manageAlarmForm.opinion" :rows="4" type="textarea" placeholder="这里输入处理意见..." />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="closeManageAlarm()"> </el-button>
<el-button type="primary" @click="manageAlarm()"> </el-button>
</div>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
@ -108,78 +92,31 @@ export default {
multipleSelectionAll: [], // multipleSelectionAll: [], //
multipleSelection: [], // multipleSelection: [], //
treeData: [], // treeData: [], //
dialogFormShow: false, dialogType: 'ignore',
dialogFormEdit: false,
dialogType: 'add',
replyListQuery: { replyListQuery: {
page: 1, page: 1,
limit: 20 limit: 20
}, },
jobTypeList: [
{ id: '0', name: '内部作业' },
{ id: '1', name: '相关方作业' }
],
statusSuperList: [
{ id: '0', name: '请选择' },
{ id: '1', name: '待提交' },
{ id: '2', name: '待审批' },
{ id: '3', name: '审批通过' },
{ id: '4', name: '已打回' }
],
hotworklevelList: [
{ id: '0', name: '特级' },
{ id: '1', name: '一级' },
{ id: '2', name: '二级' },
{ id: '3', name: '三级' }
],
defaultProps: { defaultProps: {
value: 'id', value: 'id',
children: 'nodes', children: 'nodes',
label: 'name' label: 'name'
}, },
statusList: [
{ id: '0', 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: '现场管辖人待确认' },
{ id: '9', name: '动火后现场管辖人待确认' },
{ id: '30', name: '动火负责人待确认' },
{ id: '31', name: '项目主管人员待待初审' },
{ id: '32', name: '项目主管部门负责人待审核' },
{ id: '33', name: '分公司安全总监待审批' },
{ id: '34', name: '分公司主要负责人待签批' },
{ id: '35', name: '(港股)安全监督部门待初审' },
{ id: '36', name: '安委会办公室待审批' },
{ id: '37', name: '安全总监待审批' },
{ id: '10', name: '延时监火' },
{ id: '11', name: '归档' },
{ id: '-1', name: '审核不通过' },
{ id: '-2', name: '特级不通过' },
{ id: '-3', name: '关闭归档' },
{ id: '-4', name: '延期' },
{ id: '-5', name: '已打回' },
{ id: '-6', name: '超期未动火' }
],
STATUS: '',
DEPTIDS: '',
searchForm: {
keyJobNumber: '',
keyState: '',
keyApplyUserName: '',
keyApproveUserName: '',
keyApproveTime: '',
HOT_WORK_LEVEL_INDEX: '',
JOB_CONTENT: '',
HOT_WORK_POSITION: '',
UNIT_LEADER_DEPARTMENT_ID: ''
},
loginUserID: '', loginUserID: '',
loginRoleNumber: JSON.parse(sessionStorage.getItem('user')).RNUMBER loginRoleNumber: JSON.parse(sessionStorage.getItem('user')).RNUMBER,
dialogManageAlarm: false,
manageAlarmForm: {
opinion: '', //
DW_ALARM_ID: '',
status: ''
},
manageAlarmRules: {
opinion: [{ required: true, message: '处理意见不能为空', trigger: 'blur' }]
},
searchForm: {
status: ''
},
statusList: []
} }
}, },
created() { created() {
@ -189,7 +126,7 @@ export default {
}, },
methods: { methods: {
getRowKey(row) { getRowKey(row) {
return row.HOTWORK_ID return row.dwAlarmId
}, },
// //
getQuery() { getQuery() {
@ -211,59 +148,58 @@ export default {
getList() { getList() {
this.listLoading = true this.listLoading = true
requestFN( requestFN(
'/dw/getAlarmList?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page, '/dingWei/getAlarmList?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
{ {}
tm: new Date().getTime()
}
).then((data) => { ).then((data) => {
this.listLoading = false this.listLoading = false
this.varList = data.varList this.varList = data.list
this.total = data.page.totalResult this.total = data.page.total
}).catch((e) => { }).catch((e) => {
this.listLoading = false this.listLoading = false
}) })
}, },
//
hasButton() {
var keys = 'hotwork:add,hotwork:del,hotwork:edit,toExcel'
requestFN(
'/head/hasButton',
{
keys: keys
}
).then((data) => {
this.add = data.hotworkfhadminadd //
this.del = data.hotworkfhadmindel //
this.edit = data.hotworkfhadminedit //
}).catch((e) => {
this.listLoading = false
})
},
translate(id, list) {
for (let i = 0; i < list.length; i++) {
if (list[i].BIANMA === id || list[i].value === id || list[i].id === id) return list[i].NAME || list[i].label || list[i].name
}
},
getUserName(keyName, list) {
if (list) {
var keyVal = ''
for (let i = 0; i < list.length; i++) {
if (list[i][keyName]) {
keyVal += list[i][keyName] + ','
}
}
return keyVal.substring(0, (keyVal.length - 1))
}
},
goDetail(id, type) {
this.$parent.activeName = 'Detail'
this.$parent.HOTWORKAPPLICATION_ID = id
this.$parent.HOTWORKAPPLICATION_TYPE = type
},
goInfo(id, type) { goInfo(id, type) {
this.$parent.activeName = 'Info' this.dialogManageAlarm = true
this.$parent.HOTWORKAPPLICATION_ID = id this.dialogType = type
this.$parent.HOTWORKAPPLICATION_TYPE = type this.manageAlarmForm.DW_ALARM_ID = id
if (type === 'ignore') {
this.manageAlarmForm.status = '2'
} else {
this.manageAlarmForm.status = '1'
}
},
manageAlarm() {
this.$refs.form.validate(valid => {
if (valid) {
this.listLoading = true
requestFN(
'/dingWei/manageAlarm',
this.manageAlarmForm
).then((data) => {
if (data.code === 200) {
this.closeManageAlarm()
this.getList()
this.$message({
message: '操作成功',
type: 'success'
})
} else {
this.$message.error(data.message)
}
})
}
})
},
closeManageAlarm() {
this.dialogManageAlarm = false
this.resetForm()
},
resetForm() {
this.manageAlarmForm = {
opinion: '', //
DW_ALARM_ID: '',
status: ''
}
}, },
getDictTreeData() { getDictTreeData() {
return new Promise((resolve) => { return new Promise((resolve) => {
@ -276,55 +212,6 @@ export default {
}).catch((e) => { }).catch((e) => {
}) })
}) })
},
chongzhi() {
this.searchForm = {
stateConfirm: '',
keySource: '',
keyHiddenDescr: '',
keyFindUserName: '',
keyFindUserDept: '',
keyHiddenType: '',
keyHiddenPart: '',
keyHiddenlevel: '',
keyFindTime: [],
keyFindStateTime: '',
keyFindEndTime: '',
keyConfirmUser: '',
HOT_WORK_LEVEL_INDEX: '',
JOB_CONTENT: '',
HOT_WORK_POSITION: ''
}
this.$refs.searchForm.resetFields()
this.getList()
},
batchDel(id) {
this.$confirm('确定要删除吗?', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.listLoading = true
requestFN(
'/hotworkapplication/delete',
{
HOTWORKAPPLICATION_ID: id,
loginUserId: this.loginUserID
}
).then(() => {
this.$message({
message: '删除成功',
type: 'success'
})
this.listLoading = false
this.varList = []
this.listQuery.page = 1
this.getList()
}).catch((e) => {
this.listLoading = false
})
}).catch(() => {
})
} }
} }
} }