就预言列表信息

liujun0703-新项目开发
liujun 2024-08-02 09:24:38 +08:00
parent d046e71a76
commit a17678b097
3 changed files with 441 additions and 0 deletions

View File

@ -0,0 +1,283 @@
<template>
<div>
<div class="app-container">
<div class="level-title">
<h1>事故详情</h1>
</div>
<div class="mb-20">
<table class="table-ui">
<tr>
<td class="tbg">事件标题</td>
<td>{{ form.EVENT_NAME }}</td>
<td class="tbg">呼入电话</td>
<td>{{ form.INCOMING_PHONE }}</td>
</tr>
<tr>
<td class="tbg">机主姓名</td>
<td>{{ form.OWNER_NAME }}</td>
<td class="tbg">主叫地址</td>
<td>{{ form.CALLER_ADDRESS }}</td>
</tr>
<tr>
<td class="tbg">接入方式</td>
<td>{{ form.ACCESS_MODE }}</td>
<td class="tbg">事件类型</td>
<td>{{ form.EVENT_TYPE }}</td>
</tr>
<tr>
<td class="tbg">姓名</td>
<td>{{ form.NAME }}</td>
<td class="tbg">联系电话</td>
<td>{{ form.CONTACT_PHONE }}</td>
</tr>
<tr>
<td class="tbg">单位名称</td>
<td>{{ form.UNIT_NAME }}</td>
<td class="tbg">所在区域</td>
<td>{{ form.REGION }}</td>
</tr>
<tr>
<td class="tbg">单位地址</td>
<td>{{ form.UNIT_ADDRESS }}</td>
<td class="tbg">行业类型</td>
<td>{{ form.INDUSTRY_TYPE }}</td>
</tr>
<tr>
<td class="tbg">经济类型</td>
<td>{{ form.ECONOMIC_TYPE }}</td>
<td class="tbg">重大危险源</td>
<td>{{ form.MAJOR_HAZARD }}</td>
</tr>
<tr>
<td class="tbg">接报时间</td>
<td>{{ form.REPORT_TIME }}</td>
<td class="tbg">发生时间</td>
<td>{{ form.OCCURRENCE_TIME }}</td>
</tr>
<tr>
<td class="tbg">所在地址</td>
<td>{{ form.LOCATION_ADDRESS }}</td>
<td class="tbg">经度</td>
<td>{{ form.LONGITUDE }}</td>
</tr>
<tr>
<td class="tbg">纬度</td>
<td>{{ form.LATITUDE }}</td>
<td class="tbg">接报类型</td>
<td>{{ form.REPORT_TYPE }}</td>
</tr>
<tr>
<td class="tbg">事故标题</td>
<td>{{ form.ACCIDENT_TITLE }}</td>
<td class="tbg">事故级别</td>
<td>{{ form.ACCIDENT_LEVEL }}</td>
</tr>
<tr>
<td class="tbg">伤害类型</td>
<td>{{ form.INJURY_TYPE }}</td>
<td class="tbg">事故类型</td>
<td>{{ form.ACCIDENT_TYPE }}</td>
</tr>
<tr>
<td class="tbg">被困人数</td>
<td>{{ form.TRAPPED_PEOPLE_COUNT }}</td>
<td class="tbg">失踪人数</td>
<td>{{ form.MISSING_PEOPLE_COUNT }}</td>
</tr>
<tr>
<td class="tbg">死亡人数</td>
<td>{{ form.DEATH_PEOPLE_COUNT }}</td>
<td class="tbg">重伤人数</td>
<td>{{ form.SERIOUS_INJURY_PEOPLE_COUNT }}</td>
</tr>
<tr>
<td class="tbg">轻伤人数</td>
<td>{{ form.MINOR_INJURY_PEOPLE_COUNT }}</td>
<td class="tbg">中毒人数</td>
<td>{{ form.POISONING_PEOPLE_COUNT }}</td>
</tr>
<tr>
<td class="tbg">直接经济损失万元</td>
<td>{{ form.DIRECT_ECONOMIC_LOSS }}</td>
</tr>
<tr>
<td class="tbg">简要经过</td>
<td colspan="3">{{ form.BRIEF_PROCESS }}</td>
</tr>
<tr>
<td class="tbg">处置情况</td>
<td colspan="3">{{ form.DISPOSAL_SITUATION }}</td>
</tr>
</table>
</div>
</div>
<div v-if="form.REPORT_UNIT !== null" class="app-container">
<div class="level-title">
<h1>专报详情</h1>
</div>
<div class="mb-20">
<table class="table-ui">
<tr>
<td class="tbg">报告单位</td>
<td>{{ form.REPORT_UNIT }}</td>
<td class="tbg">审核人</td>
<td>{{ form.AUDITOR }}</td>
</tr>
<tr>
<td class="tbg">报告人</td>
<td>{{ form.REPORTER }}</td>
<td class="tbg">报告时间</td>
<td>{{ form.REPORT_TIME }}</td>
</tr>
<tr>
<td class="tbg">责任人</td>
<td>{{ form.RESPONSIBLE_PERSON }}</td>
<td class="tbg">联系方式</td>
<td>{{ form.CONTACT_INFORMATION }}</td>
</tr>
<tr>
<td class="tbg">安全评价等级</td>
<td>{{ form.SAFETY_EVALUATION_LEVEL }}</td>
<td class="tbg">持证情况</td>
<td>{{ form.CERTIFICATE_STATUS }}</td>
</tr>
</table>
</div>
</div>
<div class="ui-height" />
<div class="ui-foot">
<el-button type="primary" @click="goBack"></el-button>
</div>
</div>
</template>
<script>
import { requestFN } from '@/utils/request'
export default {
data() {
return {
form: {
EVENT_NAME: '',
INCOMING_PHONE: '',
OWNER_NAME: '',
CALLER_ADDRESS: '',
ACCESS_MODE: '',
EVENT_TYPE: '',
NAME: '',
CONTACT_PHONE: '',
UNIT_NAME: '',
REGION: '',
UNIT_ADDRESS: '',
INDUSTRY_TYPE: '',
ECONOMIC_TYPE: '',
MAJOR_HAZARD: '',
REPORT_TIME: '',
OCCURRENCE_TIME: '',
LOCATION_ADDRESS: '',
LONGITUDE: '',
LATITUDE: '',
REPORT_TYPE: '',
ACCIDENT_TITLE: '',
ACCIDENT_LEVEL: '',
INJURY_TYPE: '',
ACCIDENT_TYPE: '',
TRAPPED_PEOPLE_COUNT: '',
MISSING_PEOPLE_COUNT: '',
DEATH_PEOPLE_COUNT: '',
SERIOUS_INJURY_PEOPLE_COUNT: '',
MINOR_INJURY_PEOPLE_COUNT: '',
POISONING_PEOPLE_COUNT: '',
DIRECT_ECONOMIC_LOSS: '',
BRIEF_PROCESS: '',
DISPOSAL_SITUATION: '',
REPORT_UNIT: '',
AUDITOR: '',
REPORTER: '',
RESPONSIBLE_PERSON: '',
CONTACT_INFORMATION: '',
SAFETY_EVALUATION_LEVEL: '',
CERTIFICATE_STATUS: ''
},
Id: ''
}
},
created() {
if (this.$parent.CASE_ID) {
this.Id = this.$parent.CASE_ID
this.getDetail(this.Id)
}
},
methods: {
goBack() {
this.$parent.activeName = 'list'
},
getDetail(Id) {
const params = { Id }
requestFN('/major/registration/detailLog', params).then((response) => {
const data = response.msg
this.form = {
REPORT_UNIT: data.REPORT_UNIT,
AUDITOR: data.AUDITOR,
REPORTER: data.REPORTER,
RESPONSIBLE_PERSON: data.RESPONSIBLE_PERSON,
CONTACT_INFORMATION: data.CONTACT_INFORMATION,
SAFETY_EVALUATION_LEVEL: data.SAFETY_EVALUATION_LEVEL,
CERTIFICATE_STATUS: data.CERTIFICATE_STATUS,
EVENT_NAME: data.EVENT_NAME,
INCOMING_PHONE: data.INCOMING_PHONE,
OWNER_NAME: data.OWNER_NAME,
CALLER_ADDRESS: data.CALLER_ADDRESS,
ACCESS_MODE: data.ACCESS_MODE,
EVENT_TYPE: data.EVENT_TYPE,
NAME: data.NAME,
CONTACT_PHONE: data.CONTACT_PHONE,
UNIT_NAME: data.UNIT_NAME,
REGION: data.REGION,
UNIT_ADDRESS: data.UNIT_ADDRESS,
INDUSTRY_TYPE: data.INDUSTRY_TYPE,
ECONOMIC_TYPE: data.ECONOMIC_TYPE,
MAJOR_HAZARD: data.MAJOR_HAZARD,
REPORT_TIME: data.REPORT_TIME,
OCCURRENCE_TIME: data.OCCURRENCE_TIME,
LOCATION_ADDRESS: data.LOCATION_ADDRESS,
LONGITUDE: data.LONGITUDE,
LATITUDE: data.LATITUDE,
REPORT_TYPE: data.REPORT_TYPE,
ACCIDENT_TITLE: data.ACCIDENT_TITLE,
ACCIDENT_LEVEL: data.ACCIDENT_LEVEL,
INJURY_TYPE: data.INJURY_TYPE,
ACCIDENT_TYPE: data.ACCIDENT_TYPE,
TRAPPED_PEOPLE_COUNT: data.TRAPPED_PEOPLE_COUNT,
MISSING_PEOPLE_COUNT: data.MISSING_PEOPLE_COUNT,
DEATH_PEOPLE_COUNT: data.DEATH_PEOPLE_COUNT,
SERIOUS_INJURY_PEOPLE_COUNT: data.SERIOUS_INJURY_PEOPLE_COUNT,
MINOR_INJURY_PEOPLE_COUNT: data.MINOR_INJURY_PEOPLE_COUNT,
POISONING_PEOPLE_COUNT: data.POISONING_PEOPLE_COUNT,
DIRECT_ECONOMIC_LOSS: data.DIRECT_ECONOMIC_LOSS,
BRIEF_PROCESS: data.BRIEF_PROCESS,
DISPOSAL_SITUATION: data.DISPOSAL_SITUATION,
OPERATOR: data.OPERATOR,
OPERATETIME: data.OPERATETIME,
CREATETIME: data.CREATETIME,
CREATOR: data.CREATOR,
Id: data.ID
}
}).catch((e) => {
console.error('获取详情数据失败', e)
})
}
}
}
</script>
<style lang="sass" scoped>
.table-ui
td
line-height: 34px
.tbg
width: 200px
.ui-foot
text-align: center
margin-top: 20px
</style>

View File

@ -0,0 +1,138 @@
<template>
<div class="app-container">
<div class="filter-container">
<el-form inline>
<el-form-item label="姓名:" prop="NAME">
<el-input v-model="NAME" placeholder="姓名" class="filter-item" style="width: 200px;" />
</el-form-item>
<el-form-item>
<el-button class="filter-item" type="primary" icon="el-icon-search" @click="getQuery"></el-button>
<el-button class="filter-item" type="default" icon="el-icon-refresh" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
</div>
<el-table ref="multipleTable" :data="varList" :header-cell-style="{'font-weight': 'bold','color': '#000'}" tooltip-effect="dark" border fit highlight-current-row>
<el-table-column type="selection" width="55" align="center" />
<el-table-column type="index" label="序号" width="50" align="center" />
<el-table-column prop="NAME" label="姓名" width="180" />
<el-table-column prop="PHONE" label="电话" show-overflow-tooltip="true" />
<el-table-column prop="PLAN_NAME" label="预案名称" show-overflow-tooltip="true" />
<el-table-column prop="RESPONSE_NAME" label="响应级别名称" show-overflow-tooltip="true" />
<el-table-column prop="ORDER_CONTENT" label="指令内容" show-overflow-tooltip="true" />
<el-table-column prop="CREATETIME" label="通知时间" show-overflow-tooltip="true" />
<el-table-column label="操作" align="center" width="300">
<template slot-scope="{ row }">
<el-button type="danger" icon="el-icon-delete" size="mini" @click="handleDelete(row.ID, row.NAME)">删除</el-button>
</template>
</el-table-column>
</el-table>
<div class="page-btn-group">
<div>
<template>
<el-button type="danger" icon="el-icon-delete" plain @click="makeAll('0')"></el-button>
</template>
</div>
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
</div>
</div>
</template>
<script>
import Pagination from '@/components/Pagination'
import { requestFN } from '@/utils/request'
export default {
components: { Pagination },
data() {
return {
listLoading: false,
dialogFormShow: false,
dialogType: 'add',
NAME: '',
form: {
ID: '',
NAME: '',
ORDER_CONTENT: '',
PHONE: '',
PLAN_ID: '',
RESPONSE_ID: ''
},
total: 0,
varList: [],
KEYWORDS_NAME: '',
listQuery: {
page: 1,
limit: 10
}
}
},
created() {
this.getList()
},
methods: {
getQuery() {
this.$refs.multipleTable.clearSelection()
this.getList()
},
resetQuery() {
this.NAME = ''
this.getQuery()
},
handleDelete(id, NAME) {
this.$confirm('确定要删除[' + NAME + ']吗?', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.listLoading = true
requestFN('/major/notification/delete', { id }).then((data) => {
if (data.result === 'success') {
this.listLoading = false
this.getList()
}
}).catch((e) => {
this.listLoading = false
})
}).catch(() => { })
},
makeAll() {
const _selectData = this.$refs.multipleTable.selection
if (!_selectData || _selectData.length === 0) {
this.$message({
message: '请选中要删除的项...',
type: 'error'
})
return false
}
const ids = _selectData.map(item => item.ID).join(',')
this.$confirm('确定要删除选中的数据吗?', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.listLoading = true
requestFN('/major/notification/deleteAll', { ids }).then(() => {
this.listLoading = false
this.getList()
}).catch((e) => {
this.listLoading = false
})
}).catch(() => { })
},
getList() {
this.listLoading = true
requestFN('/major/notification/list?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
{
name: this.NAME
}
).then((data) => {
this.listLoading = false
this.varList = data.varList
this.total = data.page.totalResult
}).catch((e) => {
this.listLoading = false
})
}
}
}
</script>

View File

@ -0,0 +1,20 @@
<template>
<div>
<list v-show="activeName==='list'" ref="list"/>
<detail v-if="activeName==='detail'"/>
</div>
</template>
<script>
import list from './components/list.vue'
import detail from './components/detail.vue'
export default {
components: { list, detail },
data() {
return {
activeName: 'list',
CASE_ID: ''
}
}
}
</script>