feat: code save
|
@ -6,28 +6,28 @@ module.exports = {
|
|||
"postcss-url": {},
|
||||
// to edit target browsers: use "browserslist" field in package.json
|
||||
"autoprefixer": {},
|
||||
'postcss-px-to-viewport': {
|
||||
// options
|
||||
unitToConvert: 'px',//(String) 需要转换的单位,默认为"px"
|
||||
viewportWidth: 1920, // (Number) 设计稿的视口宽度,一般是750
|
||||
unitPrecision: 3, // (Number) 单位转换后保留的精度(很多时候无法整除)
|
||||
viewportUnit: 'vw', // (String) 希望使用的视口单位
|
||||
selectorBlackList: ['.ignore', '.hairlines'],
|
||||
/*(Array) 需要忽略的CSS选择器,不会转为视口单位,使用原有的px等单位
|
||||
如果传入的值为字符串的话,只要选择器中含有传入值就会被匹配
|
||||
例如 selectorBlackList 为 ['body'] 的话, 那么 .body-class 就会被忽略
|
||||
如果传入的值为正则表达式的话,那么就会依据CSS选择器是否匹配该正则
|
||||
例如 selectorBlackList 为 [/^body$/] , 那么 body 会被忽略,而 .body 不会*/
|
||||
minPixelValue: 1, // (Number) 设置最小的转换数值,如果为1的话,只有大于1的值会被转换
|
||||
mediaQuery: false, // (Boolean) 媒体查询里的单位是否需要转换单位
|
||||
exclude: [/^node_modules$/],// (Array or Regexp) 忽略某些文件夹下的文件或特定文件,例如 'node_modules' 下的文件
|
||||
include: [/BI/],
|
||||
/*(Array or Regexp) 如果设置了include,那将只有匹配到的文件才会被转换,例如只转换 'src/mobile' 下的文件
|
||||
如果值是一个正则表达式,将包含匹配的文件,否则将排除该文件
|
||||
如果传入的值是一个数组,那么数组里的值必须为正则
|
||||
注意:exclude和include是可以一起设置的,将取两者规则的交集*/
|
||||
landscapeUnit: 'vw', //横屏时使用的单位
|
||||
landscapeWidth: 750,// 横屏时使用的视口宽度
|
||||
}
|
||||
// 'postcss-px-to-viewport': {
|
||||
// // options
|
||||
// unitToConvert: 'px',//(String) 需要转换的单位,默认为"px"
|
||||
// viewportWidth: 1920, // (Number) 设计稿的视口宽度,一般是750
|
||||
// unitPrecision: 3, // (Number) 单位转换后保留的精度(很多时候无法整除)
|
||||
// viewportUnit: 'vw', // (String) 希望使用的视口单位
|
||||
// selectorBlackList: ['.ignore', '.hairlines'],
|
||||
// /*(Array) 需要忽略的CSS选择器,不会转为视口单位,使用原有的px等单位
|
||||
// 如果传入的值为字符串的话,只要选择器中含有传入值就会被匹配
|
||||
// 例如 selectorBlackList 为 ['body'] 的话, 那么 .body-class 就会被忽略
|
||||
// 如果传入的值为正则表达式的话,那么就会依据CSS选择器是否匹配该正则
|
||||
// 例如 selectorBlackList 为 [/^body$/] , 那么 body 会被忽略,而 .body 不会*/
|
||||
// minPixelValue: 1, // (Number) 设置最小的转换数值,如果为1的话,只有大于1的值会被转换
|
||||
// mediaQuery: false, // (Boolean) 媒体查询里的单位是否需要转换单位
|
||||
// exclude: [/^node_modules$/],// (Array or Regexp) 忽略某些文件夹下的文件或特定文件,例如 'node_modules' 下的文件
|
||||
// include: [/BI/],
|
||||
// /*(Array or Regexp) 如果设置了include,那将只有匹配到的文件才会被转换,例如只转换 'src/mobile' 下的文件
|
||||
// 如果值是一个正则表达式,将包含匹配的文件,否则将排除该文件
|
||||
// 如果传入的值是一个数组,那么数组里的值必须为正则
|
||||
// 注意:exclude和include是可以一起设置的,将取两者规则的交集*/
|
||||
// landscapeUnit: 'vw', //横屏时使用的单位
|
||||
// landscapeWidth: 750,// 横屏时使用的视口宽度
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
"dependencies": {
|
||||
"@jiaminghi/data-view": "^2.10.0",
|
||||
"@riophae/vue-treeselect": "^0.4.0",
|
||||
"autofit.js": "^3.1.1",
|
||||
"axios": "^0.21.1",
|
||||
"dayjs": "^1.11.10",
|
||||
"echarts": "^5.3.1",
|
||||
|
@ -26,11 +27,11 @@
|
|||
"jspdf": "^2.5.1",
|
||||
"moment": "^2.29.3",
|
||||
"motion": "^10.16.4",
|
||||
"throttle-debounce": "^5.0.0",
|
||||
"mqtt": "4.2.1",
|
||||
"normalize.css": "^8.0.1",
|
||||
"nprogress": "^0.2.0",
|
||||
"relation-graph": "^1.1.0",
|
||||
"throttle-debounce": "^5.0.0",
|
||||
"video.js": "^7.19.2",
|
||||
"vue": "^2.5.2",
|
||||
"vue-baidu-map": "^0.21.22",
|
||||
|
|
After Width: | Height: | Size: 1002 KiB |
After Width: | Height: | Size: 1.3 MiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 4.4 KiB |
After Width: | Height: | Size: 4.5 KiB |
After Width: | Height: | Size: 208 KiB |
|
@ -11,38 +11,56 @@
|
|||
<div class="right-menu-item hover-effect">
|
||||
<span style="font-weight: bold">姓名:{{ userForm.NAME }}</span>
|
||||
</div>
|
||||
<div class="right-menu-item hover-effect" @click="gotoBI()">
|
||||
<svg-icon icon-class="dashboard" />
|
||||
<span>可视化</span>
|
||||
</div>
|
||||
<div class="right-menu-item hover-effect" @click="gotoMap()">
|
||||
<svg-icon icon-class="dashboard" />
|
||||
<span>地图</span>
|
||||
</div>
|
||||
<div class="right-menu-item hover-effect" @click="setShowModel('prevention')">
|
||||
<svg-icon icon-class="dashboard" />
|
||||
<span>双重预防</span>
|
||||
</div>
|
||||
<div class="right-menu-item hover-effect" @click="setShowModel('relatedParties')">
|
||||
<svg-icon icon-class="dashboard" />
|
||||
<span>相关方</span>
|
||||
</div>
|
||||
<div class="right-menu-item hover-effect" @click="setShowModel('educationAndTraining')">
|
||||
<!-- <div class="right-menu-item hover-effect" @click="gotoBI()">-->
|
||||
<!-- <svg-icon icon-class="dashboard" />-->
|
||||
<!-- <span>可视化</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="right-menu-item hover-effect" @click="gotoMap()">-->
|
||||
<!-- <svg-icon icon-class="dashboard" />-->
|
||||
<!-- <span>地图</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="right-menu-item hover-effect" @click="setShowModel('prevention')">-->
|
||||
<!-- <svg-icon icon-class="dashboard" />-->
|
||||
<!-- <span>双重预防</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="right-menu-item hover-effect" @click="setShowModel('relatedParties')">-->
|
||||
<!-- <svg-icon icon-class="dashboard" />-->
|
||||
<!-- <span>相关方</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="right-menu-item hover-effect" @click="setShowModel('educationAndTraining')">-->
|
||||
<!-- <svg-icon icon-class="example" />-->
|
||||
<!-- <span>教育培训</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="right-menu-item hover-effect" @click="setShowModel('highRisk')">-->
|
||||
<!-- <svg-icon icon-class="example" />-->
|
||||
<!-- <span>高危作业管理</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="right-menu-item hover-effect" @click="setShowModel('monitor')">-->
|
||||
<!-- <svg-icon icon-class="example" />-->
|
||||
<!-- <span>监测预警</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="right-menu-item hover-effect" @click="setShowModel('comprehensive')">-->
|
||||
<!-- <svg-icon icon-class="example" />-->
|
||||
<!-- <span>综合管理</span>-->
|
||||
<!-- </div>-->
|
||||
<div class="right-menu-item hover-effect" @click="$router.push({path:'/guide'})">
|
||||
<svg-icon icon-class="example" />
|
||||
<span>教育培训</span>
|
||||
</div>
|
||||
<div class="right-menu-item hover-effect" @click="setShowModel('highRisk')">
|
||||
<svg-icon icon-class="example" />
|
||||
<span>高危作业管理</span>
|
||||
</div>
|
||||
<div class="right-menu-item hover-effect" @click="setShowModel('monitor')">
|
||||
<svg-icon icon-class="example" />
|
||||
<span>监测预警</span>
|
||||
</div>
|
||||
<div class="right-menu-item hover-effect" @click="setShowModel('comprehensive')">
|
||||
<svg-icon icon-class="example" />
|
||||
<span>综合管理</span>
|
||||
<span>首页</span>
|
||||
</div>
|
||||
<el-dropdown class="right-menu-item" trigger="click">
|
||||
<div style="cursor:pointer;">
|
||||
<svg-icon icon-class="guide" />
|
||||
<span>更多</span>
|
||||
<i class="el-icon-arrow-down el-icon--right"/>
|
||||
</div>
|
||||
<template #dropdown>
|
||||
<el-dropdown-menu>
|
||||
<el-dropdown-item v-for="(item,index) in menuList" :key="index" @click.native="item.click">
|
||||
{{ item.text }}
|
||||
</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</template>
|
||||
</el-dropdown>
|
||||
<!-- <template v-if="device!=='mobile'">
|
||||
<screenfull id="screenfull" class="right-menu-item hover-effect" />
|
||||
|
||||
|
@ -163,6 +181,7 @@ import Screenfull from '@/components/Screenfull'
|
|||
import SizeSelect from '@/components/SizeSelect'
|
||||
import { requestFN } from '@/utils/request'
|
||||
import { upload } from '@/utils/upload'
|
||||
import { menuList } from '@/views/newBI/menuList'
|
||||
export default {
|
||||
components: {
|
||||
Breadcrumb,
|
||||
|
@ -285,7 +304,8 @@ export default {
|
|||
dialogImageUrl: '',
|
||||
dialogVisible: false,
|
||||
DEPARTMENT_NAME: '',
|
||||
FFILE: {}
|
||||
FFILE: {},
|
||||
menuList
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
|
|
|
@ -99,6 +99,18 @@ export const constantRoutes = [
|
|||
name: 'map',
|
||||
hidden: true,
|
||||
component: () => import('@/views/map/index')
|
||||
},
|
||||
{
|
||||
path: '/guide',
|
||||
name: 'guide',
|
||||
hidden: true,
|
||||
component: () => import('@/views/newBI/index'),
|
||||
children: [
|
||||
{
|
||||
path: '',
|
||||
component: () => import('@/views/newBI/guide')
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
const createRouter = () => new Router({
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
</ul>
|
||||
</menu>
|
||||
<div class="right">
|
||||
<div class="iconfont icon-tuichu" @click="$router.push('/index')"/>
|
||||
<div class="iconfont icon-tuichu" @click="$router.push('/guide')"/>
|
||||
<div
|
||||
:class="['iconfont', !isFullScreen ? 'icon-full-screen' : 'icon-tuichuquanping']"
|
||||
@click="handleFullScreen(undefined)"/>
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
@click="handleFullScreen(undefined)">
|
||||
<span>全屏</span>
|
||||
</div>
|
||||
<div class="iconfont icon-tuichu color058" @click="$router.push('/index')">
|
||||
<div class="iconfont icon-tuichu color058" @click="$router.push('/guide')">
|
||||
<span>退出</span>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
@click="handleFullScreen(undefined)">
|
||||
<span>全屏</span>
|
||||
</div>
|
||||
<div class="iconfont icon-tuichu" @click="$router.push('/index')">
|
||||
<div class="iconfont icon-tuichu" @click="$router.push('/guide')">
|
||||
<span>退出</span>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -34,6 +34,11 @@
|
|||
<el-table-column prop="EVENT_TYPE" label="事件类型" show-overflow-tooltip="true" />
|
||||
<el-table-column prop="REPORT_TIME" label="接报时间" show-overflow-tooltip="true" />
|
||||
<el-table-column prop="OCCURRENCE_TIME" label="发生时间" show-overflow-tooltip="true" />
|
||||
<el-table-column prop="RESCUE_SITUATION" label="救援情况" show-overflow-tooltip="true">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.RESCUE_SITUATION === '1' ? '已发起' : (scope.row.RESCUE_SITUATION === '2' || scope.row.RESCUE_SITUATION === null ? '未发起' : '') }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" width="500">
|
||||
<template slot-scope="{row}">
|
||||
<el-button type="primary" size="mini" @click="handleRescue(row.ID)">是否救援</el-button>
|
||||
|
@ -715,7 +720,8 @@ export default {
|
|||
this.dialogRescueVisible = true
|
||||
this.rescueForm = {
|
||||
FIRERESERVEPLAN_ID: '',
|
||||
HIERARCHICALRESPONSE_ID: ''
|
||||
HIERARCHICALRESPONSE_ID: '',
|
||||
REGISTRATION_ID: id
|
||||
}
|
||||
},
|
||||
confirmRescue() {
|
||||
|
@ -723,13 +729,15 @@ export default {
|
|||
if (valid) {
|
||||
this.dialogRescueVisible = false
|
||||
// 发送救援信息
|
||||
this.sendSMS(this.rescueForm.FIRERESERVEPLAN_ID, this.rescueForm.HIERARCHICALRESPONSE_ID)
|
||||
this.sendSMS(this.rescueForm.FIRERESERVEPLAN_ID, this.rescueForm.HIERARCHICALRESPONSE_ID, this.rescueForm.REGISTRATION_ID)
|
||||
.finally(() => {
|
||||
this.getList()
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
sendSMS(planId, responseId) {
|
||||
requestFN('/major/registration/sendSMS', { planId, responseId }).then((response) => {
|
||||
})
|
||||
sendSMS(planId, responseId, registrationId) {
|
||||
return requestFN('/major/registration/sendSMS', { planId, responseId, registrationId })
|
||||
},
|
||||
handleRegionChange(value) {
|
||||
const selectedRegion = this.regionData.find(region => region.DICTIONARIES_ID === value)
|
||||
|
@ -934,7 +942,7 @@ export default {
|
|||
this.form.LONGITUDE = this.LONGITUDE
|
||||
},
|
||||
//* *******************列表查询******************************
|
||||
getList(queryParams) {
|
||||
getList(queryParams = {}) {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/major/registration/list?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page,
|
||||
|
|
|
@ -214,7 +214,7 @@ export default {
|
|||
},
|
||||
getDetail(Id) {
|
||||
const params = { Id }
|
||||
requestFN('/major/registration/detail', params).then((response) => {
|
||||
requestFN('/major/registration/detailLog', params).then((response) => {
|
||||
const data = response.msg
|
||||
this.form = {
|
||||
REPORT_UNIT: data.REPORT_UNIT,
|
||||
|
|
|
@ -22,7 +22,6 @@
|
|||
<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="primary" icon="el-icon-download" size="mini" @click="confirmExport(row.ID)">数据导出</el-button>
|
||||
<el-button type="danger" icon="el-icon-delete" size="mini" @click="handleDelete(row.ID, row.NAME)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
@ -41,8 +40,6 @@
|
|||
<script>
|
||||
import Pagination from '@/components/Pagination'
|
||||
import { requestFN } from '@/utils/request'
|
||||
import { MessageBox, Message } from 'element-ui'
|
||||
|
||||
export default {
|
||||
components: { Pagination },
|
||||
data() {
|
||||
|
@ -80,46 +77,6 @@ export default {
|
|||
this.NAME = ''
|
||||
this.getQuery()
|
||||
},
|
||||
confirmExport(id) {
|
||||
MessageBox.confirm('确定要导出数据吗?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.getExportExcel(id)
|
||||
})
|
||||
},
|
||||
getExportExcel(id) {
|
||||
const params = { Id: id }
|
||||
requestFN('/major/dutylog/ExportExcel', params).then((response) => {
|
||||
Message({
|
||||
type: 'success',
|
||||
message: '导出成功'
|
||||
})
|
||||
}).catch((e) => {
|
||||
Message({
|
||||
type: 'error',
|
||||
message: '导出失败'
|
||||
})
|
||||
console.error('导出数据失败', e)
|
||||
})
|
||||
},
|
||||
getDetail(id) {
|
||||
const params = { Id: id }
|
||||
requestFN('/major/dutylog/detail', params).then((response) => {
|
||||
const data = response.msg
|
||||
this.form = {
|
||||
Id: data.ID,
|
||||
NAME: data.NAME,
|
||||
ORDER_CONTENT: data.ORDER_CONTENT,
|
||||
PHONE: data.PHONE,
|
||||
PLAN_ID: data.PLAN_ID,
|
||||
RESPONSE_ID: data.RESPONSE_ID
|
||||
}
|
||||
}).catch((e) => {
|
||||
console.error('获取详情数据失败', e)
|
||||
})
|
||||
},
|
||||
handleDelete(id, NAME) {
|
||||
this.$confirm('确定要删除[' + NAME + ']吗?', {
|
||||
confirmButtonText: '确定',
|
||||
|
@ -127,7 +84,7 @@ export default {
|
|||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.listLoading = true
|
||||
requestFN('/major/dutylog/delete', { id }).then((data) => {
|
||||
requestFN('/major/notification/delete', { id }).then((data) => {
|
||||
if (data.result === 'success') {
|
||||
this.listLoading = false
|
||||
this.getList()
|
||||
|
@ -154,7 +111,7 @@ export default {
|
|||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.listLoading = true
|
||||
requestFN('/major/dutylog/deleteAll', { ids }).then(() => {
|
||||
requestFN('/major/notification/deleteAll', { ids }).then(() => {
|
||||
this.listLoading = false
|
||||
this.getList()
|
||||
}).catch((e) => {
|
||||
|
@ -162,7 +119,6 @@ export default {
|
|||
})
|
||||
}).catch(() => { })
|
||||
},
|
||||
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
requestFN('/major/notification/list?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page,
|
||||
|
|
|
@ -0,0 +1,264 @@
|
|||
<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>
|
||||
<tr>
|
||||
<td class="tbg">事件标题</td>
|
||||
<td>{{ form.EVENT_NAME }}</td>
|
||||
<td class="tbg">呼入电话</td>
|
||||
<td>{{ form.INCOMING_PHONE }}</td>
|
||||
</tr>
|
||||
<tr v-for="order in orderInfoList" :key="order.id">
|
||||
<td class="tbg">指令名称</td>
|
||||
<td>{{ order.name }}</td>
|
||||
<td class="tbg">指令内容</td>
|
||||
<td>{{ order.order_CONTENT }}</td>
|
||||
</tr>
|
||||
<tr v-for="order in orderInfoList" :key="order.id">
|
||||
<td class="tbg">响应级别</td>
|
||||
<td>{{ order.response_NAME }}</td>
|
||||
<td class="tbg">预案名称</td>
|
||||
<td>{{ order.plan_NAME }}</td>
|
||||
</tr>
|
||||
<tr v-for="order in orderInfoList" :key="order.id">
|
||||
<td class="tbg">联系电话</td>
|
||||
<td>{{ order.phone }}</td>
|
||||
<td class="tbg">备注</td>
|
||||
<td>{{ order.remark }}</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: '',
|
||||
ORDER_CONTENT: '',
|
||||
PLAN_NAME: '',
|
||||
RESPONSE_NAME: '',
|
||||
DISPOSAL_SITUATION: ''
|
||||
},
|
||||
Id: ''
|
||||
}
|
||||
},
|
||||
created() {
|
||||
if (this.$parent.CASE_ID) {
|
||||
this.Id = this.$parent.CASE_ID
|
||||
this.RegistrationId = this.$parent.REGISTRATION_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 = {
|
||||
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,
|
||||
RESPONSE_NAME: data.RESPONSE_NAME,
|
||||
PLAN_NAME: data.PLAN_NAME,
|
||||
ORDER_CONTENT: data.ORDER_CONTENT,
|
||||
Id: data.ID
|
||||
}
|
||||
this.orderInfoList = data.orderInfoList
|
||||
}).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>
|
|
@ -0,0 +1,158 @@
|
|||
<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="EVENT_NAME" label="事件标题" width="180" />
|
||||
<el-table-column prop="INCOMING_PHONE" label="接入电话" show-overflow-tooltip="true" />
|
||||
<el-table-column prop="OWNER_NAME" label="机主姓名" show-overflow-tooltip="true" />
|
||||
<el-table-column prop="ACCESS_MODE" label="接入方式" show-overflow-tooltip="true" />
|
||||
<el-table-column prop="EVENT_TYPE" label="事件类型" show-overflow-tooltip="true" />
|
||||
<el-table-column prop="CALLER_ADDRESS" label="主叫地址" show-overflow-tooltip="true" />
|
||||
<el-table-column label="操作" align="center" width="300">
|
||||
<template slot-scope="{ row }">
|
||||
<el-button type="primary" icon="el-icon-document" size="mini" @click="goList('detail', row.ID, '1')">查看</el-button>
|
||||
<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: '',
|
||||
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()
|
||||
},
|
||||
goList(page, CASE_ID, ticketType) {
|
||||
this.$parent.activeName = page
|
||||
this.$parent.CASE_ID = CASE_ID
|
||||
this.$parent.ticketType = ticketType
|
||||
},
|
||||
getDetail(id) {
|
||||
const params = { Id: id }
|
||||
requestFN('/major/dutylog/detail', params).then((response) => {
|
||||
const data = response.msg
|
||||
this.form = {
|
||||
Id: data.ID,
|
||||
NAME: data.NAME,
|
||||
PHONE: data.PHONE,
|
||||
PLAN_ID: data.PLAN_ID,
|
||||
RESPONSE_ID: data.RESPONSE_ID
|
||||
}
|
||||
}).catch((e) => {
|
||||
console.error('获取详情数据失败', e)
|
||||
})
|
||||
},
|
||||
handleDelete(id, NAME) {
|
||||
this.$confirm('确定要删除[' + NAME + ']吗?', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.listLoading = true
|
||||
requestFN('/major/dutylog/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/dutylog/deleteAll', { ids }).then(() => {
|
||||
this.listLoading = false
|
||||
this.getList()
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
}).catch(() => { })
|
||||
},
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
requestFN('/major/registration/listLog?showCount=' + this.listQuery.limit + '¤tPage=' + 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>
|
|
@ -0,0 +1,19 @@
|
|||
<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>
|
|
@ -102,19 +102,6 @@
|
|||
</el-form-item>
|
||||
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="所属区域" prop="ADMINISTRATIVE_REGION">
|
||||
<Treeselect
|
||||
:options="treeData"
|
||||
:normalizer="normalizer"
|
||||
v-model="form.REGION"
|
||||
:disable-branch-nodes="true"
|
||||
placeholder="请选择所属区域"
|
||||
no-options-text="暂无数据"
|
||||
no-children-text="暂无数据"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="所属单位" prop="SUPERVISING_AGENCY">
|
||||
<Treeselect
|
||||
|
@ -248,7 +235,6 @@ export default {
|
|||
},
|
||||
|
||||
yjrescueEquipData: [],
|
||||
treeData: [],
|
||||
DepartmentData: [],
|
||||
normalizer(node) {
|
||||
return {
|
||||
|
@ -304,19 +290,9 @@ export default {
|
|||
console.error('获取主管单位数据失败', e)
|
||||
})
|
||||
},
|
||||
getTreeList() {
|
||||
const params = {
|
||||
PARENT_ID: '5a5d2809ed644aa6ba97a5240ff35484'
|
||||
}
|
||||
requestFN('/dictionaries/listTree', params).then((data) => {
|
||||
this.treeData = JSON.parse(data.zTreeNodes)
|
||||
}).catch((e) => {
|
||||
console.error('获取树形数据失败', e)
|
||||
})
|
||||
},
|
||||
getyjrescueEquipDataList() {
|
||||
const params = {
|
||||
PARENT_ID: '73e875a1123443b69956cf6761f943de'
|
||||
PARENT_ID: 'd80b53993f8e46cca18bc98e1ad9304e'
|
||||
}
|
||||
requestFN('/dictionaries/listTree', params).then((data) => {
|
||||
this.yjrescueEquipData = JSON.parse(data.zTreeNodes)
|
||||
|
|
|
@ -35,14 +35,8 @@
|
|||
<tr>
|
||||
<td class="tbg">企业名称</td>
|
||||
<td>{{ form.COMPANY }}</td>
|
||||
<td class="tbg">所属区域</td>
|
||||
<td>{{ form.REGION_NAME }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">采集单位</td>
|
||||
<td>{{ form.AFFILIATEDUNIT_NAME }}</td>
|
||||
<td class="tbg"/>
|
||||
<td/>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
|
|
@ -49,10 +49,6 @@
|
|||
no-children-text="暂无数据"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="所在位置" prop="LOCATION">
|
||||
<el-input v-model="form.LOCATION" placeholder="请输入所在位置..." />
|
||||
</el-form-item>
|
||||
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item :key="form.LONGITUDE" label="经度" prop="LONGITUDE">
|
||||
|
@ -177,7 +173,6 @@ export default {
|
|||
},
|
||||
data() {
|
||||
return {
|
||||
|
||||
// 地图相关
|
||||
CORPINFO_ID: this.$parent.CORPINFO_ID,
|
||||
clientHeight: 600,
|
||||
|
@ -193,7 +188,6 @@ export default {
|
|||
dialogFormMap: false,
|
||||
LATITUDE: '',
|
||||
LONGITUDE: '',
|
||||
|
||||
listQuery: {
|
||||
page: 1,
|
||||
limit: 10
|
||||
|
@ -227,8 +221,6 @@ export default {
|
|||
// 联系人移动电话
|
||||
CONTACT_MOBILE_TOW_PHONE: '',
|
||||
|
||||
// 所在位置
|
||||
LOCATION: '',
|
||||
// 概述
|
||||
OVERVIEW: '',
|
||||
// 附件
|
||||
|
@ -284,7 +276,7 @@ export default {
|
|||
|
||||
getyjEquipmentFacilitiesDataList() {
|
||||
const params = {
|
||||
PARENT_ID: 'd2d163a49a1842a99b28067eee05884b'
|
||||
PARENT_ID: 'd80b53993f8e46cca18bc98e1ad9304e'
|
||||
}
|
||||
requestFN('/dictionaries/listTree', params).then((data) => {
|
||||
this.yjEquipmentFacilitiesData = JSON.parse(data.zTreeNodes)
|
||||
|
@ -476,8 +468,6 @@ export default {
|
|||
// 联系人移动电话
|
||||
CONTACT_MOBILE_TOW_PHONE: data.CONTACT_MOBILE_TOW_PHONE,
|
||||
|
||||
// 所在位置
|
||||
LOCATION: data.LOCATION,
|
||||
// 概述
|
||||
OVERVIEW: data.OVERVIEW,
|
||||
// 附件
|
||||
|
|
|
@ -12,18 +12,12 @@
|
|||
<td class="tbg">设备类型</td>
|
||||
<td>{{ form.TYPE_NAME }}</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="tbg">所在位置</td>
|
||||
<td colspan="3">{{ form.LOCATION }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">经度</td>
|
||||
<td>{{ form.LONGITUDE }}</td>
|
||||
<td class="tbg">纬度</td>
|
||||
<td>{{ form.LATITUDE }}</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="tbg">联系人</td>
|
||||
<td>{{ form.CONTACT_PERSON }}</td>
|
||||
|
|
|
@ -102,19 +102,6 @@
|
|||
</el-form-item>
|
||||
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="所属区域" prop="ADMINISTRATIVE_REGION">
|
||||
<Treeselect
|
||||
:options="treeData"
|
||||
:normalizer="normalizer"
|
||||
v-model="form.REGION"
|
||||
:disable-branch-nodes="true"
|
||||
placeholder="请选择所属区域"
|
||||
no-options-text="暂无数据"
|
||||
no-children-text="暂无数据"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="采集单位" prop="SUPERVISING_AGENCY">
|
||||
<Treeselect
|
||||
|
@ -248,7 +235,6 @@ export default {
|
|||
},
|
||||
|
||||
yjrescueSuppliesData: [],
|
||||
treeData: [],
|
||||
DepartmentData: [],
|
||||
normalizer(node) {
|
||||
return {
|
||||
|
@ -304,19 +290,9 @@ export default {
|
|||
console.error('获取主管单位数据失败', e)
|
||||
})
|
||||
},
|
||||
getTreeList() {
|
||||
const params = {
|
||||
PARENT_ID: '5a5d2809ed644aa6ba97a5240ff35484'
|
||||
}
|
||||
requestFN('/dictionaries/listTree', params).then((data) => {
|
||||
this.treeData = JSON.parse(data.zTreeNodes)
|
||||
}).catch((e) => {
|
||||
console.error('获取树形数据失败', e)
|
||||
})
|
||||
},
|
||||
getyjrescueSuppliesDataList() {
|
||||
const params = {
|
||||
PARENT_ID: '73e875a1123443b69956cf6761f943de'
|
||||
PARENT_ID: 'd80b53993f8e46cca18bc98e1ad9304e'
|
||||
}
|
||||
requestFN('/dictionaries/listTree', params).then((data) => {
|
||||
this.yjrescueSuppliesData = JSON.parse(data.zTreeNodes)
|
||||
|
|
|
@ -12,14 +12,12 @@
|
|||
<td class="tbg">物资类别</td>
|
||||
<td>{{ form.TYPE_NAME }}</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="tbg">经度</td>
|
||||
<td>{{ form.LONGITUDE }}</td>
|
||||
<td class="tbg">纬度</td>
|
||||
<td>{{ form.LATITUDE }}</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="tbg">联系人</td>
|
||||
<td>{{ form.CONTACT_PERSON }}</td>
|
||||
|
@ -35,14 +33,8 @@
|
|||
<tr>
|
||||
<td class="tbg">企业物资名称</td>
|
||||
<td>{{ form.COMPANY }}</td>
|
||||
<td class="tbg">所属区域</td>
|
||||
<td>{{ form.REGION_NAME }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">所属单位</td>
|
||||
<td>{{ form.AFFILIATEDUNIT_NAME }}</td>
|
||||
<td class="tbg"/>
|
||||
<td/>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
|
|
@ -284,7 +284,7 @@ export default {
|
|||
if (data.result === 'success') {
|
||||
sessionStorage.setItem('user', JSON.stringify(data))
|
||||
sessionStorage.setItem('loginCount', '0')
|
||||
this.$router.push({ path: '/index' })
|
||||
this.$router.push({ path: '/guide' })
|
||||
this.loading = false
|
||||
this.flag = false
|
||||
this.getWorkTask(data.USER_ID)
|
||||
|
|
|
@ -1582,7 +1582,7 @@ export default {
|
|||
|
||||
this.destroyConnection()
|
||||
this.onePerLocArr = []
|
||||
this.$router.push('/index')
|
||||
this.$router.push('/guide')
|
||||
} else if (index === 1) {
|
||||
this.handleFullScreen(undefined)
|
||||
} else if (index === 2) {
|
||||
|
@ -2849,7 +2849,7 @@ export default {
|
|||
}
|
||||
|
||||
.title {
|
||||
background-image: linear-gradient(bottom, #5bb4f7, #ffffff);
|
||||
background-image: linear-gradient(to bottom, #5bb4f7, #ffffff);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
font-size: 34px;
|
||||
|
|
|
@ -0,0 +1,159 @@
|
|||
<template>
|
||||
<div id="guide">
|
||||
<div class="header">
|
||||
<div class="title">秦港某公司安全监管平台</div>
|
||||
</div>
|
||||
<div class="container">
|
||||
<div class="menu">
|
||||
<template v-for="(item, index) in menuList">
|
||||
<div
|
||||
v-if="index < 7"
|
||||
:key="index"
|
||||
:style="{'--x': position[index].x + 'px', '--y': position[index].y + 'px'}"
|
||||
class="item left"
|
||||
@click="item.click"
|
||||
>
|
||||
<div class="text">{{ item.text }}</div>
|
||||
<img src="../../assets/images/enterprise/jiantou_left.png" alt="">
|
||||
</div>
|
||||
<div
|
||||
v-else
|
||||
:key="index"
|
||||
:style="{'--x': position[index - 7].x + 'px', '--y': position[index - 7].y + 'px'}"
|
||||
class="item right"
|
||||
@click="item.click"
|
||||
>
|
||||
<img src="../../assets/images/enterprise/jiantou_right.png" alt="">
|
||||
<div class="text">{{ item.text }}</div>
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import autofit from 'autofit.js'
|
||||
import { menuList } from './menuList'
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
position: [
|
||||
{ x: -100, y: 92 },
|
||||
{ x: -160, y: 192 },
|
||||
{ x: -200, y: 292 },
|
||||
{ x: -240, y: 392 },
|
||||
{ x: -220, y: 492 },
|
||||
{ x: -200, y: 592 },
|
||||
{ x: -160, y: 692 }
|
||||
],
|
||||
menuList
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
autofit.init({
|
||||
dh: 1080,
|
||||
dw: 1920,
|
||||
el: '#guide',
|
||||
resize: true
|
||||
})
|
||||
},
|
||||
beforeDestroy() {
|
||||
autofit.off()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
#guide {
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
background-image: url("../../assets/images/enterprise/bg.png");
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100% 100%;
|
||||
position: relative;
|
||||
|
||||
.header {
|
||||
width: 100%;
|
||||
height: 125px;
|
||||
background-image: url("../../assets/images/enterprise/titbg.png");
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100% 100%;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
|
||||
.title {
|
||||
max-width: 800px;
|
||||
height: 52px;
|
||||
text-align: center;
|
||||
position: absolute;
|
||||
top: 20px;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
font-weight: bold;
|
||||
background-image: linear-gradient(to bottom, #00a2ff, #fff);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
font-size: 44px;
|
||||
}
|
||||
}
|
||||
|
||||
.container {
|
||||
width: 991px;
|
||||
height: 954px;
|
||||
background-image: url("../../assets/images/enterprise/img1.png");
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100% 100%;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
|
||||
.menu {
|
||||
font-size: 15px;
|
||||
color: #fff;
|
||||
|
||||
.item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
position: absolute;
|
||||
top: var(--y);
|
||||
width: 177px;
|
||||
height: 53px;
|
||||
cursor: pointer;
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100% 100%;
|
||||
|
||||
&.left {
|
||||
background-image: url("../../assets/images/enterprise/navbg_left.png");
|
||||
left: var(--x);
|
||||
|
||||
.text {
|
||||
margin-left: 30px;
|
||||
margin-right: 15px;
|
||||
}
|
||||
}
|
||||
|
||||
&.right {
|
||||
background-image: url("../../assets/images/enterprise/navbg_right.png");
|
||||
right: var(--x);
|
||||
|
||||
img {
|
||||
margin-left: 30px;
|
||||
}
|
||||
|
||||
.text {
|
||||
margin-left: 15px;
|
||||
}
|
||||
}
|
||||
|
||||
.text {
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,12 @@
|
|||
<script>
|
||||
export default {
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<router-view/>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
|
@ -0,0 +1,112 @@
|
|||
import store from '@/store/index'
|
||||
import router from '@/router/index'
|
||||
export const menuList = [
|
||||
{
|
||||
text: '管理员驾驶舱',
|
||||
click: () => {
|
||||
router.push({ path: '/monitoringCenter' })
|
||||
}
|
||||
},
|
||||
{
|
||||
text: '物联网+地图',
|
||||
click: () => {
|
||||
router.push({ path: '/map' })
|
||||
}
|
||||
},
|
||||
{
|
||||
text: '企业信息管理',
|
||||
model: 'enterpriseInformation',
|
||||
click: () => {
|
||||
store.dispatch('permission/setShowModel', 'enterpriseInformation')
|
||||
router.push({ path: '/corpInfo/information/info' })
|
||||
}
|
||||
},
|
||||
{
|
||||
text: '法律法规管理',
|
||||
model: 'regulations',
|
||||
click: () => {
|
||||
store.dispatch('permission/setShowModel', 'regulations')
|
||||
router.push({ path: '/threeSystems/safetyOperationRegulations' })
|
||||
}
|
||||
},
|
||||
{
|
||||
text: '安全目标管理',
|
||||
model: 'safetyObjectives',
|
||||
click: () => {
|
||||
store.dispatch('permission/setShowModel', 'safetyObjectives')
|
||||
router.push({ path: '/security_commitment/promise_book' })
|
||||
}
|
||||
},
|
||||
{
|
||||
text: '安全教育管理',
|
||||
model: 'educationTraining',
|
||||
click: () => {
|
||||
store.dispatch('permission/setShowModel', 'educationTraining')
|
||||
router.push({ path: '/archives/user' })
|
||||
}
|
||||
},
|
||||
{
|
||||
text: '双重预防管理',
|
||||
model: 'doublePrevention',
|
||||
click: () => {
|
||||
store.dispatch('permission/setShowModel', 'doublePrevention')
|
||||
router.push({ path: '/risk/riskunit' })
|
||||
}
|
||||
},
|
||||
{
|
||||
text: '相关方管理',
|
||||
model: 'relatedParties',
|
||||
click: () => {
|
||||
store.dispatch('permission/setShowModel', 'relatedParties')
|
||||
router.push({ path: '/relevantunits/insert' })
|
||||
}
|
||||
},
|
||||
{
|
||||
text: '消防安全管理',
|
||||
model: 'fireSafety',
|
||||
click: () => {
|
||||
store.dispatch('permission/setShowModel', 'fireSafety')
|
||||
router.push({ path: '/firefighting/qualifiedphotos' })
|
||||
}
|
||||
},
|
||||
{
|
||||
text: '危险作业管理',
|
||||
model: 'dangerousOperations',
|
||||
click: () => {
|
||||
store.dispatch('permission/setShowModel', 'dangerousOperations')
|
||||
router.push({ path: '/specialType/InterestedParties' })
|
||||
}
|
||||
},
|
||||
{
|
||||
text: '作业现场管理',
|
||||
model: 'workSiteManagement',
|
||||
click: () => {
|
||||
store.dispatch('permission/setShowModel', 'workSiteManagement')
|
||||
router.push({ path: '/keyprojects/units' })
|
||||
}
|
||||
},
|
||||
{
|
||||
text: '绩效考评管理',
|
||||
model: 'performanceAssessment',
|
||||
click: () => {
|
||||
store.dispatch('permission/setShowModel', 'performanceAssessment')
|
||||
router.push({ path: '/statistics/branch' })
|
||||
}
|
||||
},
|
||||
{
|
||||
text: '应急管理',
|
||||
model: 'emergency',
|
||||
click: () => {
|
||||
store.dispatch('permission/setShowModel', 'emergency')
|
||||
router.push({ path: '/emergency/plan' })
|
||||
}
|
||||
},
|
||||
{
|
||||
text: '科技创新',
|
||||
model: 'innovation',
|
||||
click: () => {
|
||||
store.dispatch('permission/setShowModel', 'innovation')
|
||||
router.push({ path: '/oneCompany/alarmList' })
|
||||
}
|
||||
}
|
||||
]
|