Merge remote-tracking branch 'origin/pet' into pet
# Conflicts: # src/views/corpInfo/user/components/edit.vuehyx_2024-9-25_tongbu
commit
5163d5ca32
|
@ -10,10 +10,12 @@
|
|||
<script type="text/javascript" charset="utf-8" src="https://g.alicdn.com/de/prismplayer/2.16.0/aliplayer-min.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="https://api.tianditu.gov.cn/api?v=4.0&tk=e8a16137fd226a62a23cc7ba5c9c78ce"></script>
|
||||
|
||||
<script type="text/javascript" src="static/jswebrtc.min.js"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="https://api.tianditu.gov.cn/api?v=4.0&tk=e8a16137fd226a62a23cc7ba5c9c78ce"></script>
|
||||
<script type="text/javascript" src="./static/map/cesium91/CesiumUnminified/Cesium.js"></script>
|
||||
<script type="text/javascript" src="./static/map/cesium91/CustomCesiumSDK.js"></script>
|
||||
<link href="./static/map/cesium91/CesiumUnminified/Widgets/widgets.css" rel="stylesheet"/>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 8.1 KiB |
Binary file not shown.
After Width: | Height: | Size: 8.3 KiB |
Binary file not shown.
After Width: | Height: | Size: 8.4 KiB |
Binary file not shown.
After Width: | Height: | Size: 8.6 KiB |
|
@ -24,7 +24,6 @@ router.beforeEach((to, from, next) => {
|
|||
router.addRoutes(accessRoutes)
|
||||
next({ ...to, replace: true })
|
||||
} catch (error) {
|
||||
console.info(error)
|
||||
next(`/login`)
|
||||
}
|
||||
})
|
||||
|
@ -37,7 +36,6 @@ router.beforeEach((to, from, next) => {
|
|||
router.addRoutes(accessRoutes)
|
||||
next({ ...to, replace: true })
|
||||
} catch (error) {
|
||||
console.info(error)
|
||||
next(`/login`)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -100,6 +100,12 @@ export const constantRoutes = [
|
|||
hidden: true,
|
||||
component: () => import('@/views/map/index')
|
||||
}
|
||||
// {
|
||||
// path: '/accident/records',
|
||||
// name: 'apiAccidentRecords',
|
||||
// meta: { name: '事故调查' },
|
||||
// component: () => import('@/views/accident/records/index.vue')
|
||||
// }
|
||||
]
|
||||
const createRouter = () => new Router({
|
||||
// mode: 'history', // require service support
|
||||
|
|
|
@ -7,7 +7,6 @@
|
|||
* @returns {Boolean}
|
||||
*/
|
||||
export function validText(str) {
|
||||
console.info(str)
|
||||
if (str.trim().length < 1) {
|
||||
return false
|
||||
}
|
||||
|
|
|
@ -0,0 +1,395 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-form
|
||||
ref="form"
|
||||
:model="infoForm"
|
||||
:rules="rules"
|
||||
label-width="180px"
|
||||
style="width: 900px"
|
||||
>
|
||||
<el-form-item :label-width="formLabelWidth" label="事故案号" prop="incidentNumber">
|
||||
<el-input v-model="infoForm.incidentNumber" :disabled="isDisabled" autocomplete="off"/>
|
||||
</el-form-item>
|
||||
<el-form-item :label-width="formLabelWidth" label="事故名称" prop="incidentName">
|
||||
<el-input v-model="infoForm.incidentName" :disabled="isDisabled" autocomplete="off"/>
|
||||
</el-form-item>
|
||||
<el-form-item :label-width="formLabelWidth" label="事故类型" prop="incidentType">
|
||||
<el-select v-model="infoForm.incidentType" :disabled="isDisabled" placeholder="请选择">
|
||||
<el-option v-for="item in incidentTypes" :key="item.id" :label="item.name" :value="item.id"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item :label-width="formLabelWidth" label="事故级别" prop="incidentLevel">
|
||||
<el-select v-model="infoForm.incidentLevel" :disabled="isDisabled" placeholder="请选择">
|
||||
<el-option v-for="item in incidentLevels" :key="item.id" :label="item.name" :value="item.id"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item :label-width="formLabelWidth" label="事故发生地点" prop="location">
|
||||
<el-input v-model="infoForm.location" :disabled="isDisabled" autocomplete="off"/>
|
||||
</el-form-item>
|
||||
<el-form-item :label-width="formLabelWidth" label="事故发生时间" prop="incidentDate">
|
||||
<el-date-picker
|
||||
:disabled="isDisabled"
|
||||
v-model="infoForm.incidentDate"
|
||||
type="datetime"
|
||||
placeholder="选择事故发生时间"
|
||||
style="width: 100%;"
|
||||
format="yyyy-MM-dd HH:mm:ss"
|
||||
value-format="yyyy-MM-dd HH:mm:ss"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item :label-width="formLabelWidth" label="直接经济损失(万元)" prop="directLoss">
|
||||
<el-input v-model="infoForm.directLoss" :disabled="isDisabled" type="number" autocomplete="off"/>
|
||||
</el-form-item>
|
||||
<el-form-item :label-width="formLabelWidth" label="受伤人数" prop="injured">
|
||||
<el-input v-model="infoForm.injured" :disabled="isDisabled" type="number" autocomplete="off"/>
|
||||
</el-form-item>
|
||||
<el-form-item :label-width="formLabelWidth" label="死亡人数" prop="fatalities">
|
||||
<el-input v-model="infoForm.fatalities" :disabled="isDisabled" type="number" autocomplete="off"/>
|
||||
</el-form-item>
|
||||
<el-form-item :label-width="formLabelWidth" label="重伤人数" prop="seriouslyInjured">
|
||||
<el-input v-model="infoForm.seriouslyInjured" :disabled="isDisabled" type="number" autocomplete="off"/>
|
||||
</el-form-item>
|
||||
<el-form-item :label-width="formLabelWidth" label="事故起因" prop="cause">
|
||||
<el-input v-model="infoForm.cause" :disabled="isDisabled" autocomplete="off"/>
|
||||
</el-form-item>
|
||||
<el-form-item :label-width="formLabelWidth" label="事故概述" prop="summary">
|
||||
<el-input v-model="infoForm.summary" :disabled="isDisabled" autocomplete="off"/>
|
||||
</el-form-item>
|
||||
<el-form-item :label-width="formLabelWidth" label="事故照片" prop="fileList">
|
||||
<el-upload
|
||||
ref="upload"
|
||||
:disabled="isDisabled"
|
||||
:file-list="infoForm.fileList"
|
||||
:multiple="false"
|
||||
:auto-upload="true"
|
||||
:limit="limitNum"
|
||||
:on-remove="handleRemovePicture"
|
||||
:on-preview="handlePictureCardPreview"
|
||||
:before-upload="beforeAccidentUpload"
|
||||
:on-error="handleError"
|
||||
:on-exceed="handleExceed"
|
||||
name="file"
|
||||
action="#"
|
||||
accept=".jpg,.jpeg,.png"
|
||||
list-type="picture-card">
|
||||
<i class="el-icon-plus"/>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
<el-form-item :label-width="formLabelWidth" label="原因分析及责任认定" prop="analysis">
|
||||
<el-input v-model="infoForm.analysis" :disabled="isDisabled" autocomplete="off"/>
|
||||
</el-form-item>
|
||||
<el-form-item :label-width="formLabelWidth" label="考核建议" prop="suggestions">
|
||||
<el-input v-model="infoForm.suggestions" :disabled="isDisabled" autocomplete="off"/>
|
||||
</el-form-item>
|
||||
<el-form-item :label-width="formLabelWidth" label="整改措施" prop="measures">
|
||||
<el-input v-model="infoForm.measures" :disabled="isDisabled" autocomplete="off"/>
|
||||
</el-form-item>
|
||||
<el-form-item :label-width="formLabelWidth" label="填表人" prop="creator">
|
||||
<el-input v-model="infoForm.creator" :disabled="isDisabled" autocomplete="off"/>
|
||||
</el-form-item>
|
||||
<el-form-item :label-width="formLabelWidth" label="报出日期" prop="reportDate">
|
||||
<el-date-picker
|
||||
v-model="infoForm.reportDate"
|
||||
:disabled="isDisabled"
|
||||
type="datetime"
|
||||
placeholder="请选择报出日期"
|
||||
style="width: 100%;"
|
||||
format="yyyy-MM-dd HH:mm:ss"
|
||||
value-format="yyyy-MM-dd HH:mm:ss"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-dialog :visible.sync="dialogImgVisible">
|
||||
<div v-if="infoForm.fileList.length > 0">
|
||||
<img :src="infoForm.fileList[0].url" width="100%" alt="">
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
<div class="ui-height"/>
|
||||
<div class="ui-foot">
|
||||
<el-button
|
||||
type="primary"
|
||||
icon="el-icon-arrow-left"
|
||||
plain
|
||||
@click="goBack">返回
|
||||
</el-button>
|
||||
<el-button type="primary" @click="confirm">确 定</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { requestFN } from '../../../../utils/request'
|
||||
import { upload } from '@/utils/upload'
|
||||
import formatDate from '@/utils/dateformat'
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
config: config,
|
||||
infoForm: {
|
||||
id: '', // 主键ID
|
||||
incidentNumber: '', // 事故案号
|
||||
incidentName: '', // 事故名称
|
||||
incidentType: null, // 事故类型
|
||||
companyName: '', // 所属公司
|
||||
incidentLevel: '', // 事故级别
|
||||
incidentNature: '', // 事故性质
|
||||
location: '', // 事故发生地点
|
||||
incidentDate: null, // 事故发生时间
|
||||
directLoss: '', // 直接经济损失(万元)
|
||||
injured: null, // 受伤人数
|
||||
fatalities: null, // 死亡人数
|
||||
seriouslyInjured: null, // 重伤人数
|
||||
cause: '', // 事故起因
|
||||
summary: '', // 事故概述
|
||||
fileList: [], // 事故照片
|
||||
analysis: '', // 原因分析及责任认定
|
||||
suggestions: '', // 考核建议
|
||||
measures: '', // 整改措施
|
||||
creator: '', // 填表人
|
||||
reportDate: null // 报出日期
|
||||
},
|
||||
formLabelWidth: '140px',
|
||||
/** 事故类型 */
|
||||
incidentTypes: [],
|
||||
/** 事故等级 */
|
||||
incidentLevels: [],
|
||||
tableName: '',
|
||||
/** 图片上传限制个数 */
|
||||
limitNum: 1,
|
||||
/** 预览弹窗 */
|
||||
dialogImgVisible: false,
|
||||
rules: {
|
||||
incidentNumber: [{ required: true, message: '事故案号不能为空', trigger: 'blur' }],
|
||||
incidentName: [{ required: true, message: '事故名称不能为空', trigger: 'blur' }],
|
||||
incidentType: [{ required: true, message: '事故类型不能为空', trigger: 'blur' }],
|
||||
incidentLevel: [{ required: true, message: '事故级别不能为空', trigger: 'blur' }],
|
||||
incidentNature: [{ required: true, message: '事故性质不能为空', trigger: 'blur' }],
|
||||
location: [{ required: true, message: '事故发生地点不能为空', trigger: 'blur' }],
|
||||
incidentDate: [{ required: true, message: '事故发生时间不能为空', trigger: 'blur' }],
|
||||
directLoss: [{ required: true, message: '直接经济损失(万元)不能为空', trigger: 'blur' }],
|
||||
injured: [{ required: true, message: '受伤人数不能为空', trigger: 'blur' }],
|
||||
seriouslyInjured: [{ required: true, message: '重伤人数不能为空', trigger: 'blur' }],
|
||||
cause: [{ required: true, message: '事故起因不能为空', trigger: 'blur' }],
|
||||
summary: [{ required: true, message: '事故概述不能为空', trigger: 'blur' }],
|
||||
fileList: [{ required: true, message: '事故照片不能为空', trigger: 'blur' }],
|
||||
analysis: [{ required: true, message: '原因分析及责任认定不能为空', trigger: 'blur' }],
|
||||
suggestions: [{ required: true, message: '考核建议不能为空', trigger: 'blur' }],
|
||||
measures: [{ required: true, message: '整改措施不能为空', trigger: 'blur' }],
|
||||
creator: [{ required: true, message: '填表人不能为空', trigger: 'blur' }],
|
||||
reportDate: [{ required: true, message: '报出日期不能为空', trigger: 'blur' }]
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
computed: {
|
||||
isDisabled() {
|
||||
return this.$parent.tableName === '查看'
|
||||
}
|
||||
},
|
||||
|
||||
created() {
|
||||
this.getDict()
|
||||
const id = this.$parent.id
|
||||
this.tableName = this.$parent.tableName
|
||||
if (id == null || id === '') {
|
||||
this.infoForm = this.$options.data().infoForm
|
||||
} else {
|
||||
// 若有数据项的ID, 则请求接口并回显表单
|
||||
requestFN('/accident/' + id, {}).then((data) => {
|
||||
this.infoForm = {
|
||||
...data.info,
|
||||
fileList: [
|
||||
{
|
||||
name: 'photo',
|
||||
url: config.fileUrl + data.info.photos,
|
||||
remotePathName: data.info.photos
|
||||
}
|
||||
]
|
||||
}
|
||||
this.infoForm.incidentDate = new Date(data.info.incidentDate)
|
||||
this.infoForm.reportDate = new Date(data.info.reportDate)
|
||||
}).catch((e) => {
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
methods: {
|
||||
/**
|
||||
* 文件列表移除文件时的钩子
|
||||
*/
|
||||
handleRemovePicture(file) {
|
||||
if (file.remotePathName) {
|
||||
requestFN(`/accident/delete/photos`, {
|
||||
path: file.remotePathName
|
||||
}).then((res) => {
|
||||
if (res.result === 'success') {
|
||||
this.infoForm.fileList = []
|
||||
this.$message({
|
||||
message: '文件删除成功',
|
||||
type: 'info',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* 点击文件列表中已上传的文件时的钩子
|
||||
*/
|
||||
handlePictureCardPreview(file) {
|
||||
this.dialogImgVisible = true
|
||||
this.dialogImageUrl = file.url
|
||||
},
|
||||
|
||||
/**
|
||||
* 文件上传失败时的钩子处理
|
||||
*/
|
||||
// eslint-disable-next-line handle-callback-err
|
||||
handleError(err, file, fileList) {
|
||||
this.$message({
|
||||
message: `${file.name}上传失败, 请稍后重试`,
|
||||
type: 'error',
|
||||
duration: 2000
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 文件超出个数限制的钩子处理
|
||||
*/
|
||||
handleExceed(files, fileList) {
|
||||
this.$message.warning(`当前限制选择 ${this.limitNum} 个文件,本次选择了 ${files.length} 个文件`)
|
||||
},
|
||||
|
||||
/**
|
||||
* 上传文件之前的钩子,参数为上传的文件,若返回 false 或者返回 Promise 且被 reject,则停止上传。
|
||||
*/
|
||||
beforeAccidentUpload(file) {
|
||||
if (!file) {
|
||||
this.$message({
|
||||
message: '请上传图片',
|
||||
type: 'error'
|
||||
})
|
||||
return false
|
||||
}
|
||||
const types = ['image/jpeg', 'image/jpg', 'image/png']
|
||||
const isImage = types.includes(file.type)
|
||||
if (!isImage) {
|
||||
this.$message.error('上传图片只能是 JPG、JPEG、PNG 格式!')
|
||||
return false
|
||||
} else {
|
||||
const formData = new FormData()
|
||||
formData.append('file', file)
|
||||
upload('/accident/import/photos', formData).then((data) => {
|
||||
if (data.result === 'success') {
|
||||
this.infoForm = {
|
||||
...this.infoForm,
|
||||
fileList: [{
|
||||
name: file.name,
|
||||
url: config.fileUrl + data.path,
|
||||
remotePathName: data.path
|
||||
}]
|
||||
}
|
||||
}
|
||||
})
|
||||
return false
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* 返回到列表页面
|
||||
*/
|
||||
goBack() {
|
||||
this.handleResetInitForm()
|
||||
this.image = []
|
||||
this.dialogImageUrl = ''
|
||||
this.$parent.activeName = 'List'
|
||||
},
|
||||
|
||||
/**
|
||||
* 表单清空处理
|
||||
*/
|
||||
handleResetInitForm() {
|
||||
this.infoForm = {
|
||||
id: '', // 主键ID
|
||||
incidentNumber: '', // 事故案号
|
||||
incidentName: '', // 事故名称
|
||||
incidentType: null, // 事故类型
|
||||
companyName: '', // 所属公司
|
||||
incidentLevel: '', // 事故级别
|
||||
incidentNature: '', // 事故性质
|
||||
location: '', // 事故发生地点
|
||||
incidentDate: null, // 事故发生时间
|
||||
directLoss: '', // 直接经济损失(万元)
|
||||
injured: null, // 受伤人数
|
||||
fatalities: null, // 死亡人数
|
||||
seriouslyInjured: null, // 重伤人数
|
||||
cause: '', // 事故起因
|
||||
summary: '', // 事故概述
|
||||
fileList: [], // 事故照片
|
||||
analysis: '', // 原因分析及责任认定
|
||||
suggestions: '', // 考核建议
|
||||
measures: '', // 整改措施
|
||||
creator: '', // 填表人
|
||||
reportDate: null // 报出日期
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* 表单确认按钮
|
||||
*/
|
||||
confirm() {
|
||||
this.$refs.form.validate(valid => {
|
||||
if (!valid) {
|
||||
return false
|
||||
}
|
||||
|
||||
this.infoForm.incidentDate = formatDate(this.infoForm.incidentDate, 'YYYY-MM-DD HH:mm:ss')
|
||||
this.infoForm.reportDate = formatDate(this.infoForm.reportDate, 'YYYY-MM-DD HH:mm:ss')
|
||||
|
||||
const params = {
|
||||
...this.infoForm,
|
||||
photos: this.infoForm.fileList[0].remotePathName
|
||||
}
|
||||
delete params.fileList
|
||||
requestFN('/accident' + (this.tableName === '修改' ? '/update' : '/save'), params)
|
||||
.then((response) => {
|
||||
// 删除成功后的处理
|
||||
this.$message.success(this.tableName + '成功')
|
||||
this.infoForm = this.$options.data().infoForm
|
||||
this.$parent.activeName = 'List'
|
||||
// eslint-disable-next-line handle-callback-err
|
||||
}).catch((error) => {
|
||||
this.$message.error(this.tableName + '失败')
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 获取字典
|
||||
*/
|
||||
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>
|
||||
|
||||
<style scoped lang="scss"></style>
|
|
@ -0,0 +1,338 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-form ref="searchForm" :model="searchForm" label-width="100px">
|
||||
<el-row :gutter="12">
|
||||
<el-col :span="4">
|
||||
<el-form-item label="事故名称" prop="incidentName">
|
||||
<el-input v-model="searchForm.incidentName" placeholder="请输入事故名称" class="filter-item"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="发生时间" prop="incidentDates">
|
||||
<el-date-picker
|
||||
v-model="searchForm.incidentDates"
|
||||
:default-time="['00:00:00', '23:59:59']"
|
||||
value-format="yyyy-MM-dd HH:mm:ss"
|
||||
format="yyyy-MM-dd"
|
||||
style="width: 100%"
|
||||
type="daterange"
|
||||
range-separator="-"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="发生地点" prop="location">
|
||||
<el-input v-model="searchForm.location" placeholder="请输入发生地点" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="3">
|
||||
<el-form-item label="事故类型" prop="incidentType">
|
||||
<el-select v-model="searchForm.incidentType" placeholder="请选择">
|
||||
<el-option v-for="item in incidentTypes" :key="item.id" :label="item.name" :value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="3">
|
||||
<el-form-item label="事故等级" prop="incidentLevel">
|
||||
<el-select v-model="searchForm.incidentLevel" placeholder="请选择">
|
||||
<el-option v-for="item in incidentLevels" :key="item.id" :label="item.name" :value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="3">
|
||||
<el-button v-waves type="primary" icon="el-icon-search" @click="searchList">查询</el-button>
|
||||
<el-button v-waves icon="el-icon-refresh" @click="handleReset">重置</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<!-- 搜索查询 end -->
|
||||
|
||||
<!-- 顶部操作按钮 start -->
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="24">
|
||||
<el-button type="primary" icon="el-icon-circle-plus" @click="goView('', '新增')">新增</el-button>
|
||||
<el-button icon="el-icon-s-promotion" @click="handleAllExport">全部导出</el-button>
|
||||
<el-button type="danger" icon="el-icon-delete-solid" @click="handleBatchDel">批量删除</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<!-- 顶部操作按钮 end -->
|
||||
</el-form>
|
||||
|
||||
<!-- table 表格 start -->
|
||||
<div style="margin-top: 16px;">
|
||||
<el-table
|
||||
v-loading="listLoading"
|
||||
ref="multipleTable"
|
||||
:data="varList"
|
||||
tooltip-effect="dark"
|
||||
style="width: 100%"
|
||||
border
|
||||
@selection-change="handleSelectionChange"
|
||||
>
|
||||
<el-table-column type="selection" width="55"/>
|
||||
<el-table-column label="事故名称" prop="incidentName"/>
|
||||
<el-table-column label="所属公司" prop="companyName"/>
|
||||
<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="操作" width="300">
|
||||
<template v-slot="{row}">
|
||||
<el-button icon="el-icon-view" size="mini" @click="goView(row.id, '查看')">查看</el-button>
|
||||
<el-button icon="el-icon-edit" size="mini" @click="goEdit(row.id, '修改')">修改</el-button>
|
||||
<el-button icon="el-icon-delete-solid" type="danger" size="mini" @click="deleteRow(row.id)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
<!-- table 表格 end -->
|
||||
|
||||
<div class="pagination-group">
|
||||
<pagination :total="listQuery.total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="searchList" />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Pagination from '@/components/Pagination'
|
||||
import waves from '@/directive/waves'
|
||||
import formatDate from '@/utils/dateformat'
|
||||
import { requestFN } from '../../../../utils/request'
|
||||
|
||||
export default {
|
||||
components: { Pagination },
|
||||
directives: { waves },
|
||||
|
||||
data() {
|
||||
return {
|
||||
// 搜索查询条件
|
||||
searchForm: {
|
||||
/** 事故名称 */
|
||||
incidentName: '',
|
||||
/** 发生时间 */
|
||||
incidentDates: [],
|
||||
/** 开始时间 */
|
||||
startTime: null,
|
||||
/** 结束时间 */
|
||||
endTime: null,
|
||||
/** 发生地点 */
|
||||
location: '',
|
||||
/** 事故类型 */
|
||||
incidentType: '',
|
||||
/** 事故等级 */
|
||||
incidentLevel: ''
|
||||
},
|
||||
/** 当前选中行 */
|
||||
multipleSelection: [],
|
||||
/** 列表加载态 */
|
||||
listLoading: false,
|
||||
/** 源列表数据项 */
|
||||
varList: [],
|
||||
/** 事故类型 */
|
||||
incidentTypes: [],
|
||||
/** 事故等级 */
|
||||
incidentLevels: [],
|
||||
// 列表分页参数
|
||||
listQuery: {
|
||||
/** 当前页数 */
|
||||
page: 1,
|
||||
/** 分页数 */
|
||||
limit: 20,
|
||||
/** 总页数 */
|
||||
total: 0
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
created() {
|
||||
this.getDict()
|
||||
this.searchList()
|
||||
},
|
||||
|
||||
methods: {
|
||||
/**
|
||||
* 查询搜索
|
||||
*/
|
||||
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.listQuery.total = data.page.totalResult
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 重置搜索条件
|
||||
*/
|
||||
handleReset() {
|
||||
this.searchForm = this.$options.data().searchForm
|
||||
this.searchList()
|
||||
},
|
||||
|
||||
/**
|
||||
* 表格行选择器处理
|
||||
*/
|
||||
handleSelectionChange(val) {
|
||||
this.multipleSelection = val
|
||||
},
|
||||
|
||||
/**
|
||||
* 跳转查看详情页面
|
||||
*/
|
||||
goView(id, name) {
|
||||
this.$parent.id = id
|
||||
this.$parent.tableName = name
|
||||
this.$parent.activeName = 'AddOrEdit'
|
||||
},
|
||||
|
||||
/**
|
||||
* 跳转修改页面
|
||||
*/
|
||||
goEdit(id, name) {
|
||||
this.$parent.id = id
|
||||
this.$parent.tableName = name
|
||||
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('删除成功')
|
||||
this.searchList()
|
||||
// eslint-disable-next-line handle-callback-err
|
||||
}).catch((error) => {
|
||||
this.$message.error('删除失败')
|
||||
})
|
||||
}).catch(() => {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: '已取消删除'
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 全部导出
|
||||
*/
|
||||
handleAllExport() {
|
||||
this.$confirm('确定要下载excel模板吗?', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.listLoading = false
|
||||
window.location.href = config.httpurl + '/accident/export/excel'
|
||||
}).catch(() => {
|
||||
this.listLoading = false
|
||||
})
|
||||
this.listLoading = false
|
||||
},
|
||||
|
||||
/**
|
||||
* 刷新
|
||||
*/
|
||||
handleRefresh() {
|
||||
this.searchForm = this.$options.data().searchForm
|
||||
this.searchList()
|
||||
// this.toggleSelection()
|
||||
},
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*/
|
||||
handleBatchDel() {
|
||||
// 获取选中的行数据
|
||||
const selectedRows = this.multipleSelection
|
||||
// 如果没有选中任何行,则提示用户
|
||||
if (this.multipleSelection === '' || selectedRows.length === 0) {
|
||||
this.$message.warning('请选择要删除的行')
|
||||
return
|
||||
}
|
||||
// 弹出确认框
|
||||
this.$confirm('确定要删除这些记录吗?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
// 获取所有选中行的 ID
|
||||
let ids = ''
|
||||
selectedRows.forEach(row => { ids += row.id + ',' })
|
||||
// 发送批量删除请求
|
||||
const url = '/accident/delete/' + '' + ids
|
||||
requestFN(url).then((response) => {
|
||||
// 删除成功后的处理
|
||||
this.$message.success('删除成功')
|
||||
this.searchList()
|
||||
// eslint-disable-next-line handle-callback-err
|
||||
}).catch(() => {
|
||||
this.$message.error('删除失败')
|
||||
})
|
||||
}).catch(() => {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: '已取消删除'
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 查询字典
|
||||
*/
|
||||
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)
|
||||
})
|
||||
},
|
||||
|
||||
formatDate(date, format) {
|
||||
return formatDate(date, format)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.pagination-group {
|
||||
margin-top: 14px;
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,37 @@
|
|||
<template>
|
||||
<div>
|
||||
<List v-if="activeName === 'List'" ref="List" />
|
||||
<Add v-if="activeName === 'AddOrEdit'" ref="AddOrEdit" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import List from './components/list.vue'
|
||||
import Add from './components/addOrEdit.vue'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
List: List,
|
||||
Add: Add
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
activeName: 'List',
|
||||
id: '',
|
||||
tableName: ''
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
activeName(val) {
|
||||
if (val === 'List') {
|
||||
this.$nextTick(() => {
|
||||
this.$refs.List.searchList()
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
</style>
|
|
@ -368,7 +368,7 @@ export default {
|
|||
this.listLoading = false
|
||||
this.disposal.MAJORDANGERSOURCE_DISPOSAL_ID = data.pd.MAJORDANGERSOURCE_DISPOSAL_ID
|
||||
this.disposal.DISPOSAL_TIME = data.pd.DISPOSAL_TIME
|
||||
console.info(this.disposal)
|
||||
|
||||
// this.dialogFormEdit = false
|
||||
// this.hasDisposal = false
|
||||
}).catch((e) => {
|
||||
|
@ -414,7 +414,7 @@ export default {
|
|||
this.uploadDisposalAfterFile()
|
||||
this.listLoading = true
|
||||
this.disposal.DISPOSAL_STATUS = '1'
|
||||
console.info(this.disposal)
|
||||
|
||||
requestFN(
|
||||
'/majordangersourcedisposal/' + methodName,
|
||||
this.disposal
|
||||
|
@ -423,7 +423,6 @@ export default {
|
|||
this.dialogFormEdit = false
|
||||
this.hasDisposal = false
|
||||
this.resetDisposal()
|
||||
console.info(this.disposal)
|
||||
this.timer = setInterval(this.handleTimerOperation, 5000)
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
|
@ -443,7 +442,7 @@ export default {
|
|||
}
|
||||
}
|
||||
// formData.append('FFILE', this.disposal.disposalBeforeFile)
|
||||
console.info(this.disposal.MAJORDANGERSOURCE_DISPOSAL_ID)
|
||||
|
||||
formData.append('FOREIGN_KEY', this.disposal.MAJORDANGERSOURCE_DISPOSAL_ID)
|
||||
formData.append('TYPE', 20)
|
||||
this.uploadFileSubmit(formData, '处置前照片上传完成')
|
||||
|
@ -457,7 +456,7 @@ export default {
|
|||
}
|
||||
}
|
||||
// formData.append('FFILE', this.disposal.disposalAfterFile)
|
||||
console.info(this.disposal.MAJORDANGERSOURCE_DISPOSAL_ID)
|
||||
|
||||
formData.append('FOREIGN_KEY', this.disposal.MAJORDANGERSOURCE_DISPOSAL_ID)
|
||||
formData.append('TYPE', 21)
|
||||
this.uploadFileSubmit(formData, '处置后照片上传完成')
|
||||
|
@ -467,7 +466,7 @@ export default {
|
|||
'/imgfiles/add',
|
||||
formData
|
||||
).then((data) => {
|
||||
console.info(str)
|
||||
|
||||
}).catch((e) => {
|
||||
})
|
||||
},
|
||||
|
|
|
@ -496,9 +496,6 @@ export default {
|
|||
if (this.isClearRectificationor) {
|
||||
this.hiddenForm.RECTIFICATIONOR = ''
|
||||
}
|
||||
|
||||
console.info(this.isClearRectificationor)
|
||||
console.info(this.hiddenForm.RECTIFICATIONOR)
|
||||
this.getReUserList(newVal)
|
||||
this.isClearRectificationor = true
|
||||
}
|
||||
|
|
|
@ -96,7 +96,7 @@
|
|||
</template>
|
||||
<el-button v-show="edit" type="primary" icon="el-icon-edit" size="mini" @click="handleEdit(row)">编辑</el-button>
|
||||
<el-button v-show="del && row.ISMAIN=='0'" type="danger" icon="el-icon-delete" size="mini" @click="handleDelete(row.USER_ID, row.NAME, row.ISPUSH)">删除</el-button>
|
||||
<el-button v-if="row.ISPUSH == '0'" type="primary" icon="el-icon-position" size="mini" @click="goPush(row)">推送</el-button>
|
||||
<!-- <el-button v-if="row.ISPUSH == '0'" type="primary" icon="el-icon-position" size="mini" @click="goPush(row)">推送</el-button>-->
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
@ -798,7 +798,7 @@ export default {
|
|||
SHIFTDUTYTWO: this.SHIFTDUTYTWO,
|
||||
IS_HAZARDCONFIRMER: this.IS_HAZARDCONFIRMER,
|
||||
USER_ID: this.USER_ID,
|
||||
ISPUSH: '1'
|
||||
ISPUSH: '2'
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
|
|
|
@ -139,11 +139,11 @@
|
|||
<i class="el-icon-plus"/>
|
||||
</el-upload>
|
||||
<div style="margin-left:20px;line-height:1.6">
|
||||
<div style="color: red;font-size: 12px">(若新上传人脸图片将覆盖旧人脸信息,不上传则不做修改)</div>
|
||||
<!-- <div style="color: red;font-size: 12px">(若新上传人脸图片将覆盖旧人脸信息,不上传则不做修改)</div>
|
||||
<div style="color: red;font-size: 12px">* 图像格式:JPEG、JPG、PNG、BMP</div>
|
||||
<div style="color: red;font-size: 12px">* 图像大小:不超过1M。</div>
|
||||
<div style="color: red;font-size: 12px">* 图像分辨率:大于32×32像素,小于4096×4096像素,<br>人脸占比不低于64×64像素。</div>
|
||||
<div style="color: red;font-size: 12px">(如无合适照片请该人员登陆曹港APP中进行人脸照片采集)</div>
|
||||
<div style="color: red;font-size: 12px">* 图像分辨率:大于32×32像素,小于4096×4096像素,<br>人脸占比不低于64×64像素。</div> -->
|
||||
<!-- <div style="color: red;font-size: 12px">(如无合适照片请该人员登陆曹港APP中进行人脸照片采集)</div> -->
|
||||
</div>
|
||||
</div>
|
||||
</el-form-item>
|
||||
|
|
|
@ -29,7 +29,11 @@
|
|||
<el-col :span="4">
|
||||
<el-form-item label="是否标点" label-width="110px">
|
||||
<el-select v-model="IS_PUNCTUATION" clearable placeholder="请选择" style="width: 100%;">
|
||||
<el-option v-for="item in punctuationStatusList" :key="item.value" :label="item.label" :value="item.value" />
|
||||
<el-option
|
||||
v-for="item in punctuationStatusList"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
@ -75,14 +79,14 @@
|
|||
</el-table-column>
|
||||
<el-table-column label="操作" width="450">
|
||||
<template slot-scope="{row}">
|
||||
<el-button
|
||||
v-show="true"
|
||||
class="tiffany-btn"
|
||||
icon="el-icon-picture"
|
||||
type="primary"
|
||||
size="mini"
|
||||
@click="handleShowQr(row)">点位二维码
|
||||
</el-button>
|
||||
<!-- <el-button-->
|
||||
<!-- v-show="true"-->
|
||||
<!-- class="tiffany-btn"-->
|
||||
<!-- icon="el-icon-picture"-->
|
||||
<!-- type="primary"-->
|
||||
<!-- size="mini"-->
|
||||
<!-- @click="handleShowQr(row)">点位二维码-->
|
||||
<!-- </el-button>-->
|
||||
<el-button
|
||||
v-show="edit"
|
||||
type="primary"
|
||||
|
@ -98,12 +102,20 @@
|
|||
@click="handleDelete(row)">删除
|
||||
</el-button>
|
||||
<!-- 新增按钮:检查记录二维码 -->
|
||||
<!-- <el-button-->
|
||||
<!-- class="tiffany-btn"-->
|
||||
<!-- icon="el-icon-document"-->
|
||||
<!-- type="info"-->
|
||||
<!-- size="mini"-->
|
||||
<!-- @click="handleShowRecordQr(row)">检查记录二维码-->
|
||||
<!-- </el-button>-->
|
||||
<el-button
|
||||
class="tiffany-btn"
|
||||
icon="el-icon-document"
|
||||
type="info"
|
||||
size="mini"
|
||||
@click="handleShowRecordQr(row)">检查记录二维码
|
||||
@click="handleShowNotificationCard(row)">
|
||||
告知卡
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
@ -123,27 +135,91 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<el-dialog :visible.sync="dialogFormShow" title="查看二维码" width="680px" class="top-dialog">
|
||||
<div id="printTest" style="border: 1px solid #fff;">
|
||||
<div class="level-title" style="margin-top:20px">
|
||||
<h1>消防点位信息</h1>
|
||||
<!-- <el-dialog :visible.sync="dialogFormShow" title="查看二维码" width="680px" class="top-dialog">-->
|
||||
<!-- <div id="printTest" style="border: 1px solid #fff;">-->
|
||||
<!-- <div class="level-title" style="margin-top:20px">-->
|
||||
<!-- <h1>消防点位信息</h1>-->
|
||||
<!-- </div>-->
|
||||
<!-- <table class="table-ui">-->
|
||||
<!-- <tr>-->
|
||||
<!-- <td class="tbg">消防区域</td>-->
|
||||
<!-- <td >{{ qrInfo.FIRE_REGION_NAME }}</td>-->
|
||||
<!-- <td class="tbg">消防点位</td>-->
|
||||
<!-- <td>{{ qrInfo.FIRE_POINT_NAME }}</td>-->
|
||||
<!-- </tr>-->
|
||||
<!-- <tr>-->
|
||||
<!-- <td class="tbg">负责部门</td>-->
|
||||
<!-- <td>{{ qrInfo.DEPARTMENT_NAME }}</td>-->
|
||||
<!-- <td class="tbg">负责人</td>-->
|
||||
<!-- <td>{{ qrInfo.USERNAME }}</td>-->
|
||||
<!-- </tr>-->
|
||||
<!-- </table>-->
|
||||
<!-- <div class="table-qrcode">-->
|
||||
<!-- <vue-qr :text="qrcodeStr" :margin="0" :size="300" color-dark="#000" color-light="#fff" />-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div slot="footer" class="dialog-footer">-->
|
||||
<!-- <el-button @click="dialogFormShow = false">关 闭</el-button>-->
|
||||
<!-- <el-button v-print="'#printTest'" type="primary">打 印</el-button>-->
|
||||
<!-- </div>-->
|
||||
<!-- </el-dialog>-->
|
||||
|
||||
<el-dialog :visible.sync="dialogFormShow" title="消防点位维护信息告知牌" width="780px" class="top-dialog">
|
||||
<el-tabs v-model="tabsActive">
|
||||
<el-tab-pane label="横版" name="horizontal"/>
|
||||
<el-tab-pane label="竖版" name="vertical"/>
|
||||
</el-tabs>
|
||||
<div id="printTest">
|
||||
<div class="main_title">消防点位维护信息告知牌</div>
|
||||
<div v-if="tabsActive === 'horizontal'" class="horizontal">
|
||||
<div class="info">
|
||||
<div class="row">
|
||||
<div class="title">消防点位</div>
|
||||
<div class="value">{{ qrInfo.FIRE_POINT_NAME }}</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="title">点位编号</div>
|
||||
<div class="value">{{ qrInfo.FIRE_POINT_CODE }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="qr_info">
|
||||
<div class="row">
|
||||
<div class="title">检查码</div>
|
||||
<div class="qr">
|
||||
<vue-qr :text="qrcodeStr" :margin="0" :size="280" color-dark="#000" color-light="#fff"/>
|
||||
</div>
|
||||
<div class="title">查询码</div>
|
||||
<div class="qr">
|
||||
<vue-qr :text="qrcodeStr1" :margin="0" :size="280" color-dark="#000" color-light="#fff"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<table class="table-ui">
|
||||
<tr>
|
||||
<td class="tbg">消防区域</td>
|
||||
<td >{{ qrInfo.FIRE_REGION_NAME }}</td>
|
||||
<td class="tbg">消防点位</td>
|
||||
<td>{{ qrInfo.FIRE_POINT_NAME }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">负责部门</td>
|
||||
<td>{{ qrInfo.DEPARTMENT_NAME }}</td>
|
||||
<td class="tbg">负责人</td>
|
||||
<td>{{ qrInfo.USERNAME }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="table-qrcode">
|
||||
<vue-qr :text="qrcodeStr" :margin="0" :size="300" color-dark="#000" color-light="#fff" />
|
||||
<div v-if="tabsActive === 'vertical'" class="vertical">
|
||||
<div class="info">
|
||||
<div class="row">
|
||||
<div class="title">消防点位</div>
|
||||
<div class="value">{{ qrInfo.FIRE_POINT_NAME }}</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="title">点位编号</div>
|
||||
<div class="value">{{ qrInfo.FIRE_POINT_CODE }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="qr_info">
|
||||
<div class="row">
|
||||
<div class="title">检查码</div>
|
||||
<div class="qr">
|
||||
<vue-qr :text="qrcodeStr" :margin="0" :size="280" color-dark="#000" color-light="#fff"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="title">查询码</div>
|
||||
<div class="qr">
|
||||
<vue-qr :text="qrcodeStr1" :margin="0" :size="280" color-dark="#000" color-light="#fff"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
|
@ -158,7 +234,7 @@
|
|||
<h1>检查记录二维码</h1>
|
||||
</div>
|
||||
<div class="table-qrcode">
|
||||
<vue-qr :text="recordQrcodeStr" :margin="0" :size="300" color-dark="#000" color-light="#fff" />
|
||||
<vue-qr :text="recordQrcodeStr" :margin="0" :size="300" color-dark="#000" color-light="#fff"/>
|
||||
</div>
|
||||
</div>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
|
@ -167,11 +243,19 @@
|
|||
</div>
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog v-loading ="listLoading" :visible.sync="dialogEditUser" title="批量修改负责人" width="800px">
|
||||
<el-form ref="firefightingBatchEditDept" :model="dialogEditUserForm" :rules="dialogEditUserRules" label-width="150px">
|
||||
<el-dialog v-loading="listLoading" :visible.sync="dialogEditUser" title="批量修改负责人" width="800px">
|
||||
<el-form
|
||||
ref="firefightingBatchEditDept"
|
||||
:model="dialogEditUserForm"
|
||||
:rules="dialogEditUserRules"
|
||||
label-width="150px">
|
||||
<el-row>
|
||||
<el-form-item label="负责人员" prop="USER_ID">
|
||||
<el-select v-model="dialogEditUserForm.USER_ID" placeholder="请选择人员" class="filter-item" style="width: 80%;">
|
||||
<el-select
|
||||
v-model="dialogEditUserForm.USER_ID"
|
||||
placeholder="请选择人员"
|
||||
class="filter-item"
|
||||
style="width: 80%;">
|
||||
<el-option v-for="item in userList" :key="item.USER_ID" :label="item.NAME" :value="item.USER_ID"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
@ -204,6 +288,8 @@ export default {
|
|||
dialogFormShow: false,
|
||||
dialogRecordFormShow: false,
|
||||
qrcodeStr: '',
|
||||
qrcodeStr1: '',
|
||||
tabsActive: 'horizontal',
|
||||
recordQrcodeStr: '',
|
||||
qrInfo: {},
|
||||
add: false,
|
||||
|
@ -269,16 +355,46 @@ export default {
|
|||
handleShowQr(ROW) {
|
||||
this.dialogFormShow = true
|
||||
this.qrInfo = ROW
|
||||
this.qrcodeStr = this.config.weburlWaiwang + 'static/qrcode/views/bsbw/point_list.html?id=' + ROW.FIRE_POINT_ID
|
||||
this.qrcodeStr = JSON.stringify({
|
||||
MANAGER_TYPE: 'fireListManager',
|
||||
FIRE_POINT_ID: ROW.FIRE_POINT_ID
|
||||
})
|
||||
},
|
||||
handleShowRecordQr(ROW) {
|
||||
this.dialogRecordFormShow = true
|
||||
const json = {
|
||||
MANAGER_TYPE: 'fireListManager',
|
||||
USER_ID: ROW.USER_ID,
|
||||
DEPARTMENT_ID: ROW.DEPARTMENT_ID
|
||||
console.log(ROW)
|
||||
this.dialogFormShow = true
|
||||
// 确保qrInfo绑定了需要显示的数据字段
|
||||
this.qrInfo = {
|
||||
FIRE_REGION_NAME: ROW.FIRE_REGION_NAME, // 消防区域
|
||||
FIRE_POINT_NAME: ROW.FIRE_POINT_NAME, // 消防点位
|
||||
DEPARTMENT_NAME: ROW.DEPARTMENT_NAME, // 负责部门
|
||||
USERNAME: ROW.USERNAME // 负责人
|
||||
}
|
||||
this.recordQrcodeStr = JSON.stringify(json)
|
||||
const json = {
|
||||
MANAGER_TYPE: 'checkRecordManager',
|
||||
USER_ID: ROW.USER_ID,
|
||||
DEPARTMENT_ID: ROW.DEPARTMENT_ID,
|
||||
FIRE_POINT_ID: ROW.FIRE_POINT_ID
|
||||
}
|
||||
const jsonStr = JSON.stringify(json)
|
||||
this.qrcodeStr = jsonStr
|
||||
console.info(this.qrcodeStr)
|
||||
},
|
||||
handleShowNotificationCard(ROW) {
|
||||
this.dialogFormShow = true
|
||||
this.qrInfo = ROW
|
||||
// 检查码
|
||||
this.qrcodeStr = JSON.stringify({
|
||||
MANAGER_TYPE: 'checkRecordManager',
|
||||
USER_ID: ROW.USER_ID,
|
||||
DEPARTMENT_ID: ROW.DEPARTMENT_ID,
|
||||
FIRE_POINT_ID: ROW.FIRE_POINT_ID
|
||||
})
|
||||
// 查询码
|
||||
this.qrcodeStr1 = JSON.stringify({
|
||||
MANAGER_TYPE: 'fireListManager',
|
||||
FIRE_POINT_ID: ROW.FIRE_POINT_ID
|
||||
})
|
||||
},
|
||||
handleEdit(FIRE_POINT_ID) {
|
||||
this.$parent.FIRE_POINT_ID = FIRE_POINT_ID
|
||||
|
@ -443,7 +559,8 @@ export default {
|
|||
})
|
||||
this.dialogEditUser = false
|
||||
this.getList()
|
||||
}).catch(() => {})
|
||||
}).catch(() => {
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
|
@ -528,10 +645,12 @@ export default {
|
|||
.returnBtn {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.app-container {
|
||||
display: flex;
|
||||
align-items: baseline;
|
||||
}
|
||||
|
||||
.table-qrcode {
|
||||
text-align: center;
|
||||
padding-top: 20px;
|
||||
|
@ -542,3 +661,139 @@ export default {
|
|||
width: 100%
|
||||
}
|
||||
</style>
|
||||
|
||||
<style scoped lang="scss">
|
||||
#printTest {
|
||||
border: 1px solid #ccc;
|
||||
padding: 20px;
|
||||
margin: 10px;
|
||||
|
||||
.main_title {
|
||||
font-weight: bold;
|
||||
font-size: 30px;
|
||||
text-align: center;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.horizontal {
|
||||
.info {
|
||||
color: #000;
|
||||
font-size: 16px;
|
||||
margin-top: 30px;
|
||||
|
||||
.row {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
.title {
|
||||
width: 120px;
|
||||
text-align: center;
|
||||
border: 1px solid #000;
|
||||
padding: 5px;
|
||||
letter-spacing: 6px;
|
||||
}
|
||||
|
||||
.value {
|
||||
border: 1px solid #000;
|
||||
border-left: none;
|
||||
flex: 1;
|
||||
padding: 5px 5px 5px 10px;
|
||||
}
|
||||
|
||||
& + .row {
|
||||
.title, .value {
|
||||
border-top: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.qr_info {
|
||||
color: #000;
|
||||
font-size: 16px;
|
||||
|
||||
.row {
|
||||
display: flex;
|
||||
|
||||
.title {
|
||||
width: 30px;
|
||||
line-height: 22px;
|
||||
writing-mode: vertical-rl;
|
||||
text-align: center;
|
||||
letter-spacing: 15px;
|
||||
border: 1px solid #000;
|
||||
border-top: none;
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
.qr {
|
||||
flex: 1;
|
||||
border: 1px solid #000;
|
||||
border-top: none;
|
||||
border-left: none;
|
||||
padding: 5px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
|
||||
& + .title {
|
||||
border-left: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.vertical {
|
||||
.info, .qr_info {
|
||||
color: #000;
|
||||
font-size: 16px;
|
||||
margin-top: 30px;
|
||||
|
||||
.row {
|
||||
display: flex;
|
||||
|
||||
.title {
|
||||
width: 200px;
|
||||
text-align: center;
|
||||
padding: 5px;
|
||||
border: 1px solid #000;
|
||||
letter-spacing: 6px;
|
||||
}
|
||||
|
||||
.value, .qr {
|
||||
padding: 5px 5px 5px 10px;
|
||||
border: 1px solid #000;
|
||||
border-left: none;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
& + .row {
|
||||
.title, .value, .qr {
|
||||
border-top: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.qr_info {
|
||||
margin-top: 0;
|
||||
|
||||
.row {
|
||||
.title {
|
||||
letter-spacing: 12px;
|
||||
line-height: 280px;
|
||||
border-top: none;
|
||||
}
|
||||
|
||||
.qr {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border-top: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -0,0 +1,470 @@
|
|||
<template>
|
||||
<div class="menjin">
|
||||
<div class="block1">
|
||||
<layout-title title="设备在线情况"/>
|
||||
<div class="options">
|
||||
<div v-for="(item,index) in block1OptionsList" :key="index" class="option">
|
||||
<div class="title active">{{ item.title }}</div>
|
||||
<div class="circular">
|
||||
<img :src="item.img" alt="">
|
||||
</div>
|
||||
<div class="label">
|
||||
{{ item.label1 }}:<count-to :start-val="0" :end-val="item.count1" :duration="3600"/>
|
||||
</div>
|
||||
<div v-if="item.label2" class="label">
|
||||
{{ item.label2 }}:<count-to :start-val="0" :end-val="item.count2" :duration="3600"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="block4">
|
||||
<layout-title title="区域进出记录"/>
|
||||
<div class="content">
|
||||
<div class="options">
|
||||
<div
|
||||
v-for="(item,index) in block4OptionsTabs"
|
||||
:key="index"
|
||||
:class="['title', {active:index === block4OptionsIndex}]"
|
||||
@click="block4OptionsClick(index)"
|
||||
>
|
||||
{{ item }}
|
||||
</div>
|
||||
</div>
|
||||
<div id="main1"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="block3">
|
||||
<layout-title title="口门进出记录"/>
|
||||
<div class="content">
|
||||
<div class="options">
|
||||
<div
|
||||
v-for="(item,index) in block3OptionsList"
|
||||
:key="index"
|
||||
:class="['title', {active:index === block3OptionsIndex}]"
|
||||
@click="block3OptionsClick(index)"
|
||||
>
|
||||
{{ item }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="table">
|
||||
<div class="tr">
|
||||
<div class="td">卡口名称</div>
|
||||
<div class="td">{{ block3OptionsIndex===0 ? '人员':'车牌' }}</div>
|
||||
<div class="td">时间</div>
|
||||
<div class="td">状态</div>
|
||||
</div>
|
||||
<div v-for="(item,index) in block3List" :key="index" class="tr">
|
||||
<div class="td line1">{{ item.DOORNAME }}</div>
|
||||
<div class="td">{{ item.NAME }}</div>
|
||||
<div class="td line1">{{ item.TIME.substring(11) }}</div>
|
||||
<div class="td">{{ item.STATUS }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import layoutTitle from './title.vue'
|
||||
import CountTo from 'vue-count-to'
|
||||
import { requestFN } from '@/utils/request'
|
||||
import * as echarts from 'echarts'
|
||||
|
||||
let myChart1
|
||||
export default {
|
||||
components: {
|
||||
layoutTitle,
|
||||
CountTo
|
||||
},
|
||||
props: {
|
||||
corpInfoId: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
area: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
gangkou: {
|
||||
type: String,
|
||||
default: ''
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
block1OptionsList: [
|
||||
{
|
||||
title: '人员闸机数',
|
||||
img: require('../../../assets/map/menjin/ico1.png'),
|
||||
label1: '在线数',
|
||||
count1: 0
|
||||
// label2: '离线数',
|
||||
// count2: 0
|
||||
},
|
||||
{
|
||||
title: '车辆闸机数',
|
||||
img: require('../../../assets/map/menjin/ico2.png'),
|
||||
label1: '在线数',
|
||||
count1: 0
|
||||
// label2: '离线数',
|
||||
// count2: 0
|
||||
},
|
||||
{
|
||||
title: '摄像头数',
|
||||
img: require('../../../assets/map/menjin/ico3.png'),
|
||||
label1: '摄像头数',
|
||||
count1: 0
|
||||
}
|
||||
],
|
||||
block3OptionsList: ['人员闸机', '车辆闸机'],
|
||||
block3OptionsIndex: 1,
|
||||
block2List: [],
|
||||
block3List: [],
|
||||
block4OptionsTabs: ['人员', '车辆'],
|
||||
block4OptionsIndex: 0,
|
||||
block4OptionsList: []
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.getMachineCount() // 设备数
|
||||
this.getEntryAndExitCount()// echar
|
||||
this.listPerpleCarGateMachine('1') // 进出记录
|
||||
window.onresize = function() {
|
||||
myChart1 && myChart1.resize()
|
||||
}
|
||||
},
|
||||
destroyed() {
|
||||
myChart1 = null
|
||||
},
|
||||
methods: {
|
||||
getEntryAndExitCount() {
|
||||
requestFN(
|
||||
'/mkmjRelation/getAllCarAndPeopleInfoCountByArea',
|
||||
{ CORPINFO_ID: this.corpInfoId }
|
||||
).then((data) => {
|
||||
this.block4OptionsList = data.varList
|
||||
this.initEcharts1(this.block4OptionsList)
|
||||
}).catch((e) => {
|
||||
})
|
||||
},
|
||||
initEcharts1(data) {
|
||||
const xAxisData = []
|
||||
const entryData = []
|
||||
const exitData = []
|
||||
for (let i = 0; i < data.length; i++) {
|
||||
if (this.block4OptionsIndex === 0) {
|
||||
if (data[i].TYPE === 'person') {
|
||||
xAxisData.push(data[i].AREA_NAME)
|
||||
console.log(data[i])
|
||||
entryData.push(data[i].INPERSONCOUNT)
|
||||
exitData.push(data[i].OUTPERSONCOUNT)
|
||||
}
|
||||
}
|
||||
if (this.block4OptionsIndex === 1) {
|
||||
if (data[i].TYPE === 'car') {
|
||||
xAxisData.push(data[i].AREA_NAME)
|
||||
console.log(data[i])
|
||||
entryData.push(data[i].INCARCOUNT)
|
||||
exitData.push(data[i].OUTCARCOUNT)
|
||||
}
|
||||
}
|
||||
}
|
||||
myChart1 && myChart1.dispose()
|
||||
myChart1 = echarts.init(document.querySelector('#main1'))
|
||||
const option = {
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
axisPointer: { // 坐标轴指示器,坐标轴触发有效
|
||||
type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
|
||||
}
|
||||
},
|
||||
grid: {
|
||||
left: '2%',
|
||||
right: '4%',
|
||||
bottom: '8%',
|
||||
top: '16%',
|
||||
containLabel: true
|
||||
},
|
||||
legend: {
|
||||
data: ['进', '出'],
|
||||
right: 10,
|
||||
top: 12,
|
||||
textStyle: {
|
||||
color: '#fff'
|
||||
},
|
||||
itemWidth: 12,
|
||||
itemHeight: 10
|
||||
},
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
data: xAxisData,
|
||||
axisLine: {
|
||||
lineStyle: {
|
||||
color: 'white'
|
||||
}
|
||||
},
|
||||
axisLabel: {
|
||||
textStyle: {
|
||||
fontFamily: 'Microsoft YaHei'
|
||||
}
|
||||
}
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value',
|
||||
axisLine: {
|
||||
show: false,
|
||||
lineStyle: {
|
||||
color: 'white'
|
||||
}
|
||||
},
|
||||
splitLine: {
|
||||
show: true,
|
||||
lineStyle: {
|
||||
color: 'rgba(255,255,255,0.3)'
|
||||
}
|
||||
},
|
||||
axisLabel: {}
|
||||
},
|
||||
series: [{
|
||||
name: '进',
|
||||
type: 'bar',
|
||||
barWidth: '15%',
|
||||
itemStyle: {
|
||||
normal: {
|
||||
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
|
||||
offset: 0,
|
||||
color: '#8bd46e'
|
||||
}, {
|
||||
offset: 1,
|
||||
color: '#09bcb7'
|
||||
}]),
|
||||
barBorderRadius: 12
|
||||
}
|
||||
},
|
||||
data: entryData
|
||||
},
|
||||
{
|
||||
name: '出',
|
||||
type: 'bar',
|
||||
barWidth: '15%',
|
||||
itemStyle: {
|
||||
normal: {
|
||||
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
|
||||
offset: 0,
|
||||
color: '#fccb05'
|
||||
}, {
|
||||
offset: 1,
|
||||
color: '#f5804d'
|
||||
}]),
|
||||
barBorderRadius: 11
|
||||
}
|
||||
|
||||
},
|
||||
data: exitData
|
||||
}
|
||||
]
|
||||
}
|
||||
myChart1.setOption(option)
|
||||
},
|
||||
block4OptionsClick(index) {
|
||||
console.log(index)
|
||||
this.block4OptionsIndex = index
|
||||
this.initEcharts1(this.block4OptionsList)
|
||||
},
|
||||
getMachineCount() {
|
||||
requestFN(
|
||||
'/map/getDoorCount',
|
||||
{
|
||||
CORPINFO_ID: this.corpInfoId
|
||||
}
|
||||
).then((data) => {
|
||||
this.block1OptionsList[0].count1 = data.data.personMachineCount
|
||||
this.block1OptionsList[1].count1 = data.data.carMachineCount
|
||||
this.block1OptionsList[2].count1 = data.data.cameraCount
|
||||
}).catch((e) => {
|
||||
})
|
||||
},
|
||||
|
||||
listPerpleCarGateMachine(type) {
|
||||
requestFN(
|
||||
'/map/getDoorRecord',
|
||||
{
|
||||
TYPE: type,
|
||||
CORPINFO_ID: this.corpInfoId
|
||||
}
|
||||
).then((data) => {
|
||||
this.block3List = data.varList.slice(0, 8)
|
||||
}).catch((e) => {
|
||||
})
|
||||
},
|
||||
block3OptionsClick(index) {
|
||||
this.block3OptionsIndex = index
|
||||
this.listPerpleCarGateMachine(index)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.menjin {
|
||||
.title {
|
||||
background-image: url("../../../assets/map/menjin/title_on.png");
|
||||
background-size: 100% 100%;
|
||||
background-repeat: no-repeat;
|
||||
width: 113px;
|
||||
height: 26px;
|
||||
font-size: 14px;
|
||||
line-height: 26px;
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
|
||||
&.active {
|
||||
background-image: url("../../../assets/map/menjin/title.png");
|
||||
}
|
||||
}
|
||||
|
||||
.block1 {
|
||||
width: 410px;
|
||||
background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.8));
|
||||
|
||||
.options {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
padding: 10px 15px;
|
||||
border: 1px solid;
|
||||
border-image: linear-gradient(to bottom, rgba(58, 122, 149, 0), rgba(58, 122, 149, 1)) 1;
|
||||
border-top: none;
|
||||
|
||||
.option {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
|
||||
.circular {
|
||||
margin-top: 5px;
|
||||
background-image: url("../../../assets/map/menjin/img1.png");
|
||||
background-size: 100% 100%;
|
||||
background-repeat: no-repeat;
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
text-align: center;
|
||||
padding-top: 13px;
|
||||
|
||||
img {
|
||||
width: 30px;
|
||||
height: 26px;
|
||||
animation: scale 2s infinite;
|
||||
}
|
||||
}
|
||||
|
||||
.label {
|
||||
margin-top: 5px;
|
||||
font-size: 12px;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.block4 {
|
||||
margin-top: 10px;
|
||||
width: 410px;
|
||||
background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.8));
|
||||
|
||||
.content {
|
||||
border: 1px solid;
|
||||
border-image: linear-gradient(to bottom, rgba(58, 122, 149, 0), rgba(58, 122, 149, 1)) 1;
|
||||
border-top: none;
|
||||
padding: 10px;
|
||||
|
||||
.options {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
|
||||
.title {
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
#main1{
|
||||
margin-top: 10px;
|
||||
width: 100%;
|
||||
height: 200px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.block3 {
|
||||
margin-top: 10px;
|
||||
width: 410px;
|
||||
background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.8));
|
||||
|
||||
.content {
|
||||
border: 1px solid;
|
||||
border-image: linear-gradient(to bottom, rgba(58, 122, 149, 0), rgba(58, 122, 149, 1)) 1;
|
||||
border-top: none;
|
||||
padding: 10px;
|
||||
|
||||
.options {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
|
||||
.title {
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
|
||||
.table {
|
||||
margin-top: 5px;
|
||||
|
||||
.tr {
|
||||
display: flex;
|
||||
|
||||
&:nth-child(odd) {
|
||||
background-color: rgba(42, 86, 158, 0.53);
|
||||
}
|
||||
|
||||
.td {
|
||||
flex: 1;
|
||||
text-align: center;
|
||||
font-size: 12px;
|
||||
color: #fff;
|
||||
padding: 5px;
|
||||
|
||||
&:nth-child(2) {
|
||||
flex-basis: 20%;
|
||||
}
|
||||
|
||||
&.green {
|
||||
color: #7ccf41;
|
||||
}
|
||||
|
||||
&.yellow {
|
||||
color: #ffcb05;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes scale {
|
||||
0% {
|
||||
transform: scale(1);
|
||||
}
|
||||
50% {
|
||||
transform: scale(0.8);
|
||||
}
|
||||
100% {
|
||||
transform: scale(1);
|
||||
}
|
||||
}
|
||||
|
||||
.line1 {
|
||||
width: 150px;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,207 @@
|
|||
<template>
|
||||
<div>
|
||||
{{ corpInfoId }}
|
||||
{{ area }}
|
||||
{{ gangkou }}
|
||||
<menjin2 v-if="corpInfoId" :corp-info-id="corpInfoId" :area="area" :gangkou="gangkou"/>
|
||||
<menjin v-else :corp-info-id="corpInfoId" :area="area" :gangkou="gangkou"/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import menjin from './menjin'
|
||||
import menjin2 from './menjin2'
|
||||
export default {
|
||||
components: {
|
||||
menjin,
|
||||
menjin2
|
||||
},
|
||||
props: {
|
||||
corpInfoId: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
area: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
gangkou: {
|
||||
type: String,
|
||||
default: ''
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.menjin {
|
||||
.title {
|
||||
background-image: url("../../../assets/map/menjin/title_on.png");
|
||||
background-size: 100% 100%;
|
||||
background-repeat: no-repeat;
|
||||
width: 113px;
|
||||
height: 26px;
|
||||
font-size: 14px;
|
||||
line-height: 26px;
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
|
||||
&.active {
|
||||
background-image: url("../../../assets/map/menjin/title.png");
|
||||
}
|
||||
}
|
||||
|
||||
.block1 {
|
||||
width: 410px;
|
||||
background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.8));
|
||||
|
||||
.options {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
padding: 10px 15px;
|
||||
border: 1px solid;
|
||||
border-image: linear-gradient(to bottom, rgba(58, 122, 149, 0), rgba(58, 122, 149, 1)) 1;
|
||||
border-top: none;
|
||||
|
||||
.option {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.img{
|
||||
width: 81px;
|
||||
height: 93px;
|
||||
img{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
.info{
|
||||
margin-left: 10px;
|
||||
font-size: 14px;
|
||||
color: #fff;
|
||||
div{
|
||||
margin-top: 5px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.block2 {
|
||||
width: 410px;
|
||||
background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.8));
|
||||
margin-top: 10px;
|
||||
|
||||
.options {
|
||||
padding: 10px 15px;
|
||||
border: 1px solid;
|
||||
border-image: linear-gradient(to bottom, rgba(58, 122, 149, 0), rgba(58, 122, 149, 1)) 1;
|
||||
border-top: none;
|
||||
#main1{
|
||||
width: 100%;
|
||||
height: 300px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.block3 {
|
||||
margin-top: 10px;
|
||||
width: 410px;
|
||||
background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.8));
|
||||
|
||||
.content {
|
||||
border: 1px solid;
|
||||
border-image: linear-gradient(to bottom, rgba(58, 122, 149, 0), rgba(58, 122, 149, 1)) 1;
|
||||
border-top: none;
|
||||
padding: 10px;
|
||||
|
||||
.options {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
|
||||
.title {
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
|
||||
.table {
|
||||
margin-top: 5px;
|
||||
.scroll {
|
||||
max-height: 200px;
|
||||
overflow-y: auto;
|
||||
|
||||
&::-webkit-scrollbar {
|
||||
width: 5px;
|
||||
}
|
||||
|
||||
&::-webkit-scrollbar-thumb {
|
||||
border-radius: 5px;
|
||||
background: rgba(2, 30, 81, 0.851);
|
||||
}
|
||||
|
||||
&::-webkit-scrollbar-track {
|
||||
border-radius: 5px;
|
||||
background: rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
|
||||
.tr {
|
||||
&:nth-child(odd) {
|
||||
background-color: transparent;
|
||||
}
|
||||
}
|
||||
}
|
||||
.tr {
|
||||
display: flex;
|
||||
|
||||
&:nth-child(odd) {
|
||||
background-color: rgba(42, 86, 158, 0.53);
|
||||
}
|
||||
|
||||
.td {
|
||||
flex: 1;
|
||||
text-align: center;
|
||||
font-size: 12px;
|
||||
color: #fff;
|
||||
padding: 5px;
|
||||
|
||||
&:nth-child(2) {
|
||||
flex-basis: 20%;
|
||||
}
|
||||
|
||||
&:nth-child(3) {
|
||||
flex: none;
|
||||
flex-basis: 50px;
|
||||
}
|
||||
|
||||
&.green {
|
||||
color: #7ccf41;
|
||||
}
|
||||
|
||||
&.yellow {
|
||||
color: #ffcb05;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes scale {
|
||||
0% {
|
||||
transform: scale(1);
|
||||
}
|
||||
50% {
|
||||
transform: scale(0.8);
|
||||
}
|
||||
100% {
|
||||
transform: scale(1);
|
||||
}
|
||||
}
|
||||
|
||||
.line1 {
|
||||
width: 150px;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
</style>
|
|
@ -230,7 +230,7 @@ export default {
|
|||
this.measuresList = data.measuresList
|
||||
this.gasList = data.gasList
|
||||
this.otherProtectiveMeasures = this.validStr(this.info.OTHER_PROTECTIVE_MEASURES.replace(/;_;/g, '')) ? this.info.OTHER_PROTECTIVE_MEASURES.split(';_;') : []
|
||||
console.info(this.otherProtectiveMeasures)
|
||||
|
||||
if (!this.info.WORK_OPERATOR_ID) {
|
||||
this.$set(this.info, 'WORK_OPERATOR_ID', [])
|
||||
} else {
|
||||
|
|
|
@ -9,13 +9,22 @@
|
|||
<windspeedstation v-if="type === '2da29f00852a4653ba3e760b9de57412'" :id="id" :type="type" :gangkou="gangkou"/>
|
||||
<xf-point v-if="type === 'point'" :id="id" :type="type" :gangkou="gangkou"/>
|
||||
<xf-control v-if="type === 'xfbf01' || type ==='xfkzs01' || type ==='xfjyd01' || type ==='xfsy01'" :id="id" :type="type" :gangkou="gangkou"/>
|
||||
<mk-gate-machine v-if="type === 'CAR'||type ==='PERSON' || type ==='CAMERA'" :id="id" :type="type" :gangkou="gangkou"/>
|
||||
<mk-gate-machine
|
||||
v-if="type === 'CAR'||type ==='PERSON' || type ==='CAMERA'|| type ==='PERSON_MACHINE'|| type ==='CAR_MACHINE' "
|
||||
:id="id"
|
||||
:type="type"
|
||||
:gangkou="gangkou"
|
||||
:corp-id="corpInfoId"
|
||||
:gate-video-id="GATE_VIDEO_ID"
|
||||
:code = "code"
|
||||
:video-type="videoType"
|
||||
:name = "name" />
|
||||
<mk-gate-machine-cfd v-if="type === 'CAR00004'||type ==='PERSON00004' " :id="id" :type="type" :gangkou="gangkou" :infoname="infoname"/>
|
||||
<zhong_da_info v-if="type === 'majordangersource'" :id="id" :type="type" :gangkou="gangkou"/>
|
||||
<video-play v-if="type === 'video'" :id="id" :type="type" :gangkou="gangkou" request-url="/api/homemajor/getVideoInfo"/>
|
||||
<video-play-cfd v-if="type === 'CAMERA00004' || type === 'platcamera00004'" :id="id" :type="type" :gangkou="gangkou"/>
|
||||
<video-play-plat v-if="type === 'platcamera'" :id="id" :type="type" :gangkou="gangkou"/>
|
||||
<!--秦港一公司 边界入侵 详细页面 start-->
|
||||
<!--秦港一公司 边界入侵 详细页面 start-->
|
||||
<video-play-bianjieruqin v-if="type === 'bianjieruqin'" :id="id" :type="type" :gangkou="gangkou"/>
|
||||
<!--秦港一公司 边界入侵 详细页面 end-->
|
||||
<!--秦港一公司 八项作业 详细页面 start-->
|
||||
|
@ -180,6 +189,14 @@ export default {
|
|||
infoname: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
videoType: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
code: {
|
||||
type: String,
|
||||
default: ''
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<div class="app-container print-work" style="width: 100%">
|
||||
<div v-if= "type !== 'CAMERA'" class="level-title">
|
||||
<div v-if="corpId == '035958e685cf4850bc40151c5e0617a6' " class="app-container print-work">
|
||||
<div v-if= "type !== 'CAMERA'" class="level-title">\
|
||||
<h1>区域名称:{{ info.GATE_AREA_NAME }}</h1>
|
||||
</div>
|
||||
<table v-if= "type !== 'CAMERA'" class="table-ui">
|
||||
|
@ -55,14 +55,91 @@
|
|||
<video-play v-if="type === 'CAMERA' && info.GATEVIDEO_ID" :id="info.GATEVIDEO_ID" :type="type" :gangkou="gangkou"/>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else class="app-container print-work">
|
||||
<div v-if= "type !== 'CAMERA'" class="level-title">
|
||||
<h1>区域名称:{{ info.GATE_AREA_NAME }}</h1>
|
||||
</div>
|
||||
<div v-if= "type !== 'CAMERA'" >
|
||||
<table v-for="(item,index) in varList" :key="index" class="table-ui">
|
||||
<tr>
|
||||
<td class="bbg-transparent">闸机名称</td>
|
||||
<td colspan="5">{{ item.GATE_NAME }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bbg-transparent">今日进</td>
|
||||
<td width="80px">{{ item.CAR_IN }}</td>
|
||||
<td class="bbg-transparent">今日出</td>
|
||||
<td width="80px">{{ item.CAR_OUT }}</td>
|
||||
<td class="bbg-transparent">当前滞留</td>
|
||||
<td width="80px">{{ item.CAR_IN - item.CAR_OUT }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<table v-if= "type != 'CAMERA'" class="table-ui">
|
||||
<tr v-if="carRecordAllList != null && carRecordAllList.length > 0">
|
||||
<td colspan="6">
|
||||
<table class="table-ui">
|
||||
<tr>
|
||||
<td class="bbg-transparent">车牌</td>
|
||||
<td class="bbg-transparent">时间</td>
|
||||
<td class="bbg-transparent">闸机</td>
|
||||
<td class="bbg-transparent">状态</td>
|
||||
</tr>
|
||||
<tr v-for="(item,index) in carRecordAllList" :key="index">
|
||||
<td>{{ item.LICENSE_PLATE }}</td>
|
||||
<td>{{ item.TIME }}</td>
|
||||
<td>{{ item.COMING_REASON }}</td>
|
||||
<td>{{ item.STATE == '0' ? '进港': '出港' }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="recordAllList != null && recordAllList.length > 0">
|
||||
<td colspan="6">
|
||||
<table class="table-ui">
|
||||
<tr>
|
||||
<td>卡号</td>
|
||||
<td>人员姓名</td>
|
||||
<td>刷卡时间</td>
|
||||
<td>闸机</td>
|
||||
<td>状态</td>
|
||||
</tr>
|
||||
<tr v-for="(item,index) in recordAllList" :key="index">
|
||||
<td>{{ item.CARDTYPE }}</td>
|
||||
<td>{{ item.USERNAME }}</td>
|
||||
<td>{{ item.TIME }}</td>
|
||||
<td>{{ item.EQUIPMENTNAME }}</td>
|
||||
<td>
|
||||
<span v-if="item.STATE == '0'">进</span>
|
||||
<span v-if="item.STATE == '1'">出</span>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div v-if= "type == 'CAMERA'" class="level-title">
|
||||
<h1>摄像头名称:{{ name }}</h1>
|
||||
</div>
|
||||
<table v-if= "type == 'CAMERA'" class="table-ui">
|
||||
<tr>
|
||||
<td class="bbg-transparent">编码</td>
|
||||
<td >{{ code }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="video">
|
||||
<video-play-gate v-if="type === 'CAMERA' && code" :id="code" :type="videoType" :gangkou="gangkou"/>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { requestFN } from '@/utils/request'
|
||||
import moment from 'moment'
|
||||
import videoPlay from './video_play.vue'
|
||||
import videoPlayGate from './video_play_gate.vue'
|
||||
export default {
|
||||
components: { videoPlay },
|
||||
components: { videoPlay, videoPlayGate },
|
||||
props: {
|
||||
id: {
|
||||
type: String,
|
||||
|
@ -79,19 +156,53 @@ export default {
|
|||
gangkou: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
corpId: {
|
||||
type: String,
|
||||
default() {
|
||||
return ''
|
||||
}
|
||||
},
|
||||
GATE_VIDEO_ID: {
|
||||
type: String,
|
||||
default() {
|
||||
return ''
|
||||
}
|
||||
},
|
||||
code: {
|
||||
type: String,
|
||||
default() {
|
||||
return ''
|
||||
}
|
||||
},
|
||||
videoType: {
|
||||
type: String,
|
||||
default() {
|
||||
return ''
|
||||
}
|
||||
},
|
||||
name: {
|
||||
type: String,
|
||||
default() {
|
||||
return ''
|
||||
}
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
config: config,
|
||||
info: {},
|
||||
recordAllList: []
|
||||
recordAllList: [],
|
||||
varList: [],
|
||||
carRecordAllList: []
|
||||
}
|
||||
},
|
||||
|
||||
created() {
|
||||
this.getData()
|
||||
this.getListData()
|
||||
if (this.type !== 'CAMERA') {
|
||||
this.getData()
|
||||
this.getListData()
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
formatDate(date, format) {
|
||||
|
@ -106,8 +217,10 @@ export default {
|
|||
'/map/getGatesInAndOutNumById',
|
||||
{
|
||||
GATE_AREA_ID: this.id,
|
||||
GATE_VIDEO_ID: this.GATE_VIDEO_ID,
|
||||
TYPE: this.type,
|
||||
GANGKOU: this.gangkou
|
||||
GANGKOU: this.gangkou,
|
||||
CORPINFO_ID: this.corpId
|
||||
}
|
||||
).then((data) => {
|
||||
Object.assign(this.info, data.pd)
|
||||
|
@ -117,6 +230,7 @@ export default {
|
|||
this.info.CAR_OUT = 0
|
||||
this.info.PERSON_IN = 0
|
||||
this.info.PERSON_OUT = 0
|
||||
this.varList = data.pd.varList
|
||||
for (let i = 0; i < data.pd.varList.length; i++) {
|
||||
if (data.pd.varList[i].TYPE == 'CAR_IN') {
|
||||
this.info.CAR_IN = data.pd.varList[i].COUNT
|
||||
|
@ -132,6 +246,11 @@ export default {
|
|||
}
|
||||
}
|
||||
}
|
||||
if (this.type == 'CAMERA') {
|
||||
Object.assign(this.info, data.pd.info)
|
||||
this.info.CODE = data.pd.video.EXTERNALINDEXCODE
|
||||
this.info.VIDEONAME = data.pd.video.NAME
|
||||
}
|
||||
|
||||
this.$forceUpdate()
|
||||
}).catch((e) => {
|
||||
|
@ -142,11 +261,14 @@ export default {
|
|||
'/map/getGatesInAndOutListById?showCount=10000¤tPage=1',
|
||||
{
|
||||
GATE_AREA_ID: this.id,
|
||||
GATE_VIDEO_ID: this.GATE_VIDEO_ID,
|
||||
TYPE: this.type,
|
||||
GANGKOU: this.gangkou
|
||||
GANGKOU: this.gangkou,
|
||||
CORPINFO_ID: this.corpId
|
||||
}
|
||||
).then((data) => {
|
||||
this.recordAllList = data.recordAllList
|
||||
this.carRecordAllList = data.carRecordAllList
|
||||
this.$forceUpdate()
|
||||
}).catch((e) => {
|
||||
})
|
||||
|
|
|
@ -126,7 +126,6 @@ export default {
|
|||
this.ImgList = data.ImgList
|
||||
this.measuresList = data.varList
|
||||
this.gongdanList = data.data
|
||||
console.info(this.gongdanList)
|
||||
}).catch((e) => {
|
||||
})
|
||||
}
|
||||
|
|
|
@ -105,7 +105,6 @@ export default {
|
|||
this.ImgList = data.ImgList
|
||||
this.measuresList = data.varList
|
||||
this.gongdanList = data.data
|
||||
console.info(this.gongdanList)
|
||||
}).catch((e) => {
|
||||
})
|
||||
}
|
||||
|
|
|
@ -0,0 +1,88 @@
|
|||
<template>
|
||||
<div>
|
||||
<div id="aLiVideoPlayer" class="prism-player"/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { requestFN } from '@/utils/request'
|
||||
|
||||
export default {
|
||||
props: {
|
||||
id: {
|
||||
type: String,
|
||||
default() {
|
||||
return ''
|
||||
}
|
||||
},
|
||||
type: {
|
||||
type: String,
|
||||
default() {
|
||||
return ''
|
||||
}
|
||||
},
|
||||
gangkou: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
requestUrl: {
|
||||
type: String,
|
||||
default: '/mkmjGateVideo/goAllVideo'
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
hls: false,
|
||||
player: null,
|
||||
url: ''
|
||||
}
|
||||
},
|
||||
beforeDestroy() {
|
||||
this.player && this.player.dispose()
|
||||
},
|
||||
created() {
|
||||
this.showVideo()
|
||||
},
|
||||
methods: {
|
||||
showVideo() {
|
||||
requestFN(
|
||||
'/platform/door/video/getHlsPath',
|
||||
{
|
||||
INDEXCODE: this.id
|
||||
}
|
||||
).then((res) => {
|
||||
// for (let i = 0; i < data.videoList.length; i++) {
|
||||
// if (data.videoList[0].HLSVIDEOURL) {
|
||||
// this.url = data.videoList[0].GBSVIDEOURL
|
||||
// this.hls = true
|
||||
// } else {
|
||||
this.hls = false
|
||||
this.$nextTick(() => {
|
||||
// eslint-disable-next-line no-undef
|
||||
this.player = new Aliplayer({
|
||||
'id': 'aLiVideoPlayer',
|
||||
'source': res.data.url,
|
||||
'width': '100%',
|
||||
'height': '500px',
|
||||
'autoplay': true,
|
||||
'isLive': true,
|
||||
'rePlay': false,
|
||||
'playsinline': true,
|
||||
'preload': true,
|
||||
'controlBarVisibility': 'hover',
|
||||
'useH5Prism': true
|
||||
}, function(player) {
|
||||
console.log('The player is created')
|
||||
})
|
||||
})
|
||||
// }
|
||||
// }
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
</style>
|
|
@ -279,7 +279,7 @@ export default {
|
|||
this.listLoading = false
|
||||
this.disposal.MAJORDANGERSOURCE_DISPOSAL_ID = data.pd.MAJORDANGERSOURCE_DISPOSAL_ID
|
||||
this.disposal.DISPOSAL_TIME = data.pd.DISPOSAL_TIME
|
||||
console.info(this.disposal)
|
||||
|
||||
// this.dialogFormEdit = false
|
||||
// this.hasDisposal = false
|
||||
}).catch((e) => {
|
||||
|
@ -325,7 +325,7 @@ export default {
|
|||
this.uploadDisposalAfterFile()
|
||||
this.listLoading = true
|
||||
this.disposal.DISPOSAL_STATUS = '1'
|
||||
console.info(this.disposal)
|
||||
|
||||
requestFN(
|
||||
'/majordangersourcedisposal/' + methodName,
|
||||
this.disposal
|
||||
|
@ -334,7 +334,7 @@ export default {
|
|||
this.dialogFormEdit = false
|
||||
this.hasDisposal = false
|
||||
this.resetDisposal()
|
||||
console.info(this.disposal)
|
||||
|
||||
this.timer = setInterval(this.handleTimerOperation, 5000)
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
|
@ -354,7 +354,7 @@ export default {
|
|||
}
|
||||
}
|
||||
// formData.append('FFILE', this.disposal.disposalBeforeFile)
|
||||
console.info(this.disposal.MAJORDANGERSOURCE_DISPOSAL_ID)
|
||||
|
||||
formData.append('FOREIGN_KEY', this.disposal.MAJORDANGERSOURCE_DISPOSAL_ID)
|
||||
formData.append('TYPE', 20)
|
||||
this.uploadFileSubmit(formData, '处置前照片上传完成')
|
||||
|
|
|
@ -215,6 +215,8 @@
|
|||
:corp-info-id="dialog.corpInfoId"
|
||||
:gangkou="gangkouActive"
|
||||
:infoname="dialog.infoname"
|
||||
:code="dialog.code"
|
||||
:video-type="dialog.video_type"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
@ -229,7 +231,7 @@ import { requestFN } from '@/utils/request'
|
|||
import gangkouIndex from './components/gangkou_index.vue'
|
||||
import fengongsiIndex from './components/fengongsi_index.vue'
|
||||
import caofeidianIndex from './components/caofeidian_index.vue'
|
||||
import menjin from './components/menjin.vue'
|
||||
import menjin from './components/menjin_index.vue'
|
||||
import menjinCfd from './components/menjinCfd.vue'
|
||||
import xiaofang from './components/xiaofang.vue'
|
||||
import anquan from './components/anquan.vue'
|
||||
|
@ -386,6 +388,18 @@ export default {
|
|||
checkImg: require('../../assets/map/index/map_on.png'),
|
||||
check: '',
|
||||
label: '气象监测'
|
||||
},
|
||||
{
|
||||
img: require('../../assets/map/index/sisetu.png'),
|
||||
checkImg: require('../../assets/map/index/sisetu_on.png'),
|
||||
check: false,
|
||||
label: '四色图'
|
||||
},
|
||||
{
|
||||
img: require('../../assets/map/index/bianjie.png'),
|
||||
checkImg: require('../../assets/map/index/bianjie_on.png'),
|
||||
check: false,
|
||||
label: '边界'
|
||||
}
|
||||
],
|
||||
myEntityCollection: {},
|
||||
|
@ -415,7 +429,7 @@ export default {
|
|||
img: require('../../assets/map/gangkou_index/buttom/ico1.png'),
|
||||
checkImg: require('../../assets/map/gangkou_index/buttom/ico1_on.png'),
|
||||
type: 'PERSON',
|
||||
containAuthorization: [],
|
||||
containAuthorization: ['035958e685cf4850bc40151c5e0617a6'],
|
||||
eliminateAuthorization: []
|
||||
},
|
||||
{
|
||||
|
@ -425,9 +439,29 @@ export default {
|
|||
img: require('../../assets/map/gangkou_index/buttom/ico2.png'),
|
||||
checkImg: require('../../assets/map/gangkou_index/buttom/ico2_on.png'),
|
||||
type: 'CAR',
|
||||
containAuthorization: [],
|
||||
containAuthorization: ['035958e685cf4850bc40151c5e0617a6'],
|
||||
eliminateAuthorization: []
|
||||
},
|
||||
{
|
||||
label: '人员闸机', // 杂货公司的人员
|
||||
dialog_width: '800px',
|
||||
check: false,
|
||||
img: require('../../assets/map/gangkou_index/buttom/ico1.png'),
|
||||
checkImg: require('../../assets/map/gangkou_index/buttom/ico1_on.png'),
|
||||
type: 'PERSON_MACHINE',
|
||||
containAuthorization: ['allCorp'],
|
||||
eliminateAuthorization: ['035958e685cf4850bc40151c5e0617a6']
|
||||
},
|
||||
{
|
||||
label: '车辆闸机', // 杂货公司的车辆
|
||||
dialog_width: '600px',
|
||||
check: false,
|
||||
img: require('../../assets/map/gangkou_index/buttom/ico2.png'),
|
||||
checkImg: require('../../assets/map/gangkou_index/buttom/ico2_on.png'),
|
||||
type: 'CAR_MACHINE',
|
||||
containAuthorization: ['allCorp'],
|
||||
eliminateAuthorization: ['035958e685cf4850bc40151c5e0617a6']
|
||||
},
|
||||
{
|
||||
label: '摄像头',
|
||||
dialog_width: '600px',
|
||||
|
@ -1194,7 +1228,7 @@ export default {
|
|||
}
|
||||
const point_type = pick.id._monitoItems.data.point_type
|
||||
if (point_type.indexOf('标记点') !== -1) {
|
||||
const { label, point_type, data_id, corpInfoId, dialog_width, infoname } = pick.id._monitoItems.data
|
||||
const { label, point_type, data_id, corpInfoId, dialog_width, infoname, code, video_type, name } = pick.id._monitoItems.data
|
||||
this.dialog.visible = true
|
||||
this.dialog.title = label
|
||||
this.dialog.type = point_type.substring(3)
|
||||
|
@ -1202,6 +1236,9 @@ export default {
|
|||
this.dialog.corpInfoId = corpInfoId
|
||||
this.dialog.infoname = infoname
|
||||
this.dialog.width = dialog_width || '50%'
|
||||
this.dialog.code = code
|
||||
this.dialog.video_type = video_type
|
||||
this.dialog.name = name
|
||||
}
|
||||
} else {
|
||||
this.closeBubbles()
|
||||
|
@ -1364,7 +1401,7 @@ export default {
|
|||
this.bottomOptionsKey = Math.random()
|
||||
this.bottomOptionsAnimationComplex = false
|
||||
this.toCenter({ longitude, latitude, height })
|
||||
drag.addPolygon(id)
|
||||
// drag.addPolygon(id)
|
||||
viewer.dataSources.removeAll()
|
||||
this.poinEntity = {}
|
||||
this.branchPoint = []
|
||||
|
@ -1624,6 +1661,26 @@ export default {
|
|||
this.dialog.corpInfoId = ''
|
||||
this.dialog.infoname = ''
|
||||
this.dialog.width = '96%'
|
||||
} else if (index === 7) {
|
||||
if (!this.gangkouActive) {
|
||||
this.$message.warning('请先选择港口')
|
||||
return
|
||||
}
|
||||
if (this.rightOptionsList[index].check) {
|
||||
drag.addPolygon(this.gangkouActive, '')
|
||||
} else {
|
||||
drag.removeFourColorDiagram()
|
||||
}
|
||||
} else if (index === 8) {
|
||||
if (!this.gangkouActive) {
|
||||
this.$message.warning('请先选择港口')
|
||||
return
|
||||
}
|
||||
if (this.rightOptionsList[index].check) {
|
||||
drag.addPolygon(this.gangkouActive, 'wall')
|
||||
} else {
|
||||
drag.removeWall()
|
||||
}
|
||||
}
|
||||
},
|
||||
changeSceneMode(check) {
|
||||
|
@ -1735,6 +1792,8 @@ export default {
|
|||
this.poinEntity = {}
|
||||
this.toCenter(this.initCenter)
|
||||
this.dragAreaEntity(this.initPoint)
|
||||
this.rightOptionsList[7].check = false
|
||||
this.rightOptionsList[8].check = false
|
||||
}
|
||||
|
||||
this.componentKey = Math.random()
|
||||
|
@ -1781,7 +1840,9 @@ export default {
|
|||
}
|
||||
}
|
||||
}
|
||||
if (this.gangkouActive === '00003' && this.CORP_INFO_ID === '21590a00ea5e462e9ee44dd332dddc26' && urlType === 'peoplePosition') {
|
||||
if (this.gangkouActive === '00003' && this.CORP_INFO_ID === '21590a00ea5e462e9ee44dd332dddc26' &&
|
||||
this.CORP_INFO_ID === '033549ed3bd648e49c8a65eb4993ec2f' &&
|
||||
urlType === 'peoplePosition') {
|
||||
this.clearRYDWPoint('+/UwbBQ/')
|
||||
this.removeTrajectory()
|
||||
}
|
||||
|
@ -1819,12 +1880,23 @@ export default {
|
|||
this.cfdBottomOptionsList[pindex].list[index].check = true
|
||||
this.bottomOptionsList[pindex].list[index].check = false
|
||||
}
|
||||
console.info('---------')
|
||||
console.info('---------')
|
||||
console.info(this.CORP_INFO_ID === '033549ed3bd648e49c8a65eb4993ec2f')
|
||||
console.info('---------')
|
||||
console.info('---------')
|
||||
|
||||
if (this.gangkouActive === '00003' && this.CORP_INFO_ID === '035958e685cf4850bc40151c5e0617a6' && urlType === 'peoplePosition') {
|
||||
!this.connecting ? this.createConnection(this.CORP_INFO_ID) : this.doSubscribe()
|
||||
} else if (this.gangkouActive === '00003' && this.CORP_INFO_ID === '21590a00ea5e462e9ee44dd332dddc26' && urlType === 'peoplePosition') {
|
||||
} else if (this.gangkouActive === '00003' && this.CORP_INFO_ID === '21590a00ea5e462e9ee44dd332dddc26' &&
|
||||
urlType === 'peoplePosition') {
|
||||
// websocket实时获取人员定位
|
||||
console.info('Assssssss')
|
||||
this.initRYDWWebsocket('21590a00ea5e462e9ee44dd332dddc26')
|
||||
} else if (this.gangkouActive === '00003' && this.CORP_INFO_ID === '033549ed3bd648e49c8a65eb4993ec2f' && urlType === 'peoplePosition') {
|
||||
// websocket实时获取人员定位
|
||||
console.info('Assssssss')
|
||||
this.initRYDWWebsocket('033549ed3bd648e49c8a65eb4993ec2f')
|
||||
} else {
|
||||
requestFN(
|
||||
pointUrl,
|
||||
|
@ -1837,6 +1909,7 @@ export default {
|
|||
).then(async(data) => {
|
||||
const points = []
|
||||
const varList = this.filterNull(data.varList)
|
||||
console.info(data)
|
||||
for (let i = 0; i < varList.length; i++) {
|
||||
const point = {}
|
||||
point.id = pindex + '_' + index + '_' + i
|
||||
|
@ -1879,6 +1952,7 @@ export default {
|
|||
}
|
||||
points.push(point)
|
||||
}
|
||||
console.info(points)
|
||||
if (this.gangkouActive === '00004' && urlType === 'carPosition') {
|
||||
this.timerCfdCarDingwei()
|
||||
this.carLocArr = points
|
||||
|
@ -2717,6 +2791,8 @@ export default {
|
|||
if (containAuthorization.length === 0) return true
|
||||
if (containAuthorization.includes(CORP_INFO_ID)) {
|
||||
return true
|
||||
} else if (containAuthorization.includes('allCorp') && CORP_INFO_ID) {
|
||||
return true
|
||||
} else {
|
||||
return false
|
||||
}
|
||||
|
|
|
@ -80,6 +80,7 @@ const polygonMap = {
|
|||
export default class DragEntity {
|
||||
constructor(val) {
|
||||
this.viewer = val.viewer
|
||||
this.id = []
|
||||
}
|
||||
|
||||
addEntity(value) {
|
||||
|
@ -111,14 +112,46 @@ export default class DragEntity {
|
|||
}
|
||||
}
|
||||
if (value.point_type.indexOf('标记点') !== -1) {
|
||||
billboard = {
|
||||
image: imgMap['img' + value.icon_type],
|
||||
height: 36,
|
||||
width: 30,
|
||||
verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
|
||||
horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
|
||||
heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
|
||||
disableDepthTestDistance: Number.POSITIVE_INFINITY
|
||||
if (value.label == '人员闸机') {
|
||||
billboard = {
|
||||
image: imgMap['img0_0' ],
|
||||
height: 36,
|
||||
width: 30,
|
||||
verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
|
||||
horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
|
||||
heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
|
||||
disableDepthTestDistance: Number.POSITIVE_INFINITY
|
||||
}
|
||||
} else if (value.label == '车辆闸机') {
|
||||
billboard = {
|
||||
image: imgMap['img0_1' ],
|
||||
height: 36,
|
||||
width: 30,
|
||||
verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
|
||||
horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
|
||||
heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
|
||||
disableDepthTestDistance: Number.POSITIVE_INFINITY
|
||||
}
|
||||
} else if (value.label == '摄像头') {
|
||||
billboard = {
|
||||
image: imgMap['img0_2' ],
|
||||
height: 36,
|
||||
width: 30,
|
||||
verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
|
||||
horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
|
||||
heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
|
||||
disableDepthTestDistance: Number.POSITIVE_INFINITY
|
||||
}
|
||||
} else {
|
||||
billboard = {
|
||||
image: imgMap['img' + value.icon_type],
|
||||
height: 36,
|
||||
width: 30,
|
||||
verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
|
||||
horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
|
||||
heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
|
||||
disableDepthTestDistance: Number.POSITIVE_INFINITY
|
||||
}
|
||||
}
|
||||
}
|
||||
// 曹妃甸使用
|
||||
|
@ -243,16 +276,24 @@ export default class DragEntity {
|
|||
})
|
||||
}
|
||||
|
||||
addPolygon(id) {
|
||||
addPolygon(id, type) {
|
||||
if (!polygonMap[id]) return
|
||||
const loadMapBoxObj = polygonMap[id]()
|
||||
if (type === 'wall') {
|
||||
const loadMapBoxItem = loadMapBoxObj['wallList']
|
||||
for (let i = 0; i < loadMapBoxItem.length; i++) {
|
||||
this.addWall(this.formatPolygon(loadMapBoxItem[i]))
|
||||
}
|
||||
return
|
||||
}
|
||||
// 循环获取所有颜色
|
||||
for (const loadMapBoxKey in loadMapBoxObj) {
|
||||
// 获取每种颜色
|
||||
const loadMapBoxItem = loadMapBoxObj[loadMapBoxKey]
|
||||
if (loadMapBoxKey === 'wallList') continue
|
||||
// 循环每种颜色里每一块创建多边形
|
||||
for (let i = 0; i < loadMapBoxItem.length; i++) {
|
||||
this.formatPolygon(loadMapBoxItem[i])
|
||||
this.addFourColorDiagram(this.formatPolygon(loadMapBoxItem[i]), loadMapBoxItem[i])
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -263,33 +304,68 @@ export default class DragEntity {
|
|||
latitudeAndLongitude.push(item.x)
|
||||
latitudeAndLongitude.push(item.y)
|
||||
})
|
||||
if (item.type === 'wall') {
|
||||
const target = new Cesium.Entity({
|
||||
wall: {
|
||||
positions: Cesium.Cartesian3.fromDegreesArray(latitudeAndLongitude),
|
||||
material: new Cesium.PolylineTrailLinkMaterialProperty({
|
||||
color: Cesium.Color.fromBytes(201, 118, 243).withAlpha(0.5),
|
||||
duration: 2000
|
||||
}, this.viewer),
|
||||
maximumHeights: new Array(latitudeAndLongitude.length).fill(40),
|
||||
minimumHeights: new Array(latitudeAndLongitude.length).fill(0)
|
||||
}
|
||||
})
|
||||
this.viewer.entities.add(target)
|
||||
} else {
|
||||
const target = new Cesium.Entity({
|
||||
polygon: {
|
||||
hierarchy: Cesium.Cartesian3.fromDegreesArray(latitudeAndLongitude),
|
||||
extrudedHeight: item.stretchHeight,
|
||||
height: item.height,
|
||||
// eslint-disable-next-line new-cap
|
||||
material: new Cesium.Color.fromCssColorString(item.color),
|
||||
outline: !!item.strokeColor,
|
||||
// eslint-disable-next-line new-cap
|
||||
outlineColor: new Cesium.Color.fromCssColorString(item.strokeColor)
|
||||
}
|
||||
})
|
||||
this.viewer.entities.add(target)
|
||||
return latitudeAndLongitude
|
||||
}
|
||||
|
||||
addFourColorDiagram(latitudeAndLongitude, item) {
|
||||
const id = Cesium.createGuid()
|
||||
this.id.push({
|
||||
id,
|
||||
key: 'FourColorDiagram'
|
||||
})
|
||||
const target = new Cesium.Entity({
|
||||
id,
|
||||
polygon: {
|
||||
hierarchy: Cesium.Cartesian3.fromDegreesArray(latitudeAndLongitude),
|
||||
extrudedHeight: item.stretchHeight,
|
||||
height: item.height,
|
||||
// eslint-disable-next-line new-cap
|
||||
material: new Cesium.Color.fromCssColorString(item.color),
|
||||
outline: !!item.strokeColor,
|
||||
// eslint-disable-next-line new-cap
|
||||
outlineColor: new Cesium.Color.fromCssColorString(item.strokeColor)
|
||||
}
|
||||
})
|
||||
this.viewer.entities.add(target)
|
||||
}
|
||||
addWall(latitudeAndLongitude) {
|
||||
const id = Cesium.createGuid()
|
||||
this.id.push({
|
||||
id,
|
||||
key: 'Wall'
|
||||
})
|
||||
const target = new Cesium.Entity({
|
||||
id,
|
||||
wall: {
|
||||
positions: Cesium.Cartesian3.fromDegreesArray(latitudeAndLongitude),
|
||||
material: new Cesium.PolylineTrailLinkMaterialProperty({
|
||||
color: Cesium.Color.fromBytes(201, 118, 243).withAlpha(0.5),
|
||||
duration: 2000
|
||||
}, this.viewer),
|
||||
maximumHeights: new Array(latitudeAndLongitude.length).fill(40),
|
||||
minimumHeights: new Array(latitudeAndLongitude.length).fill(0)
|
||||
}
|
||||
})
|
||||
this.viewer.entities.add(target)
|
||||
}
|
||||
|
||||
removeFourColorDiagram() {
|
||||
for (let i = 0; i < this.id.length; i++) {
|
||||
if (this.id[i].key === 'FourColorDiagram') {
|
||||
this.viewer.entities.removeById(this.id[i].id)
|
||||
this.id.splice(i, 1)
|
||||
i--
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
removeWall() {
|
||||
for (let i = 0; i < this.id.length; i++) {
|
||||
if (this.id[i].key === 'Wall') {
|
||||
this.viewer.entities.removeById(this.id[i].id)
|
||||
this.id.splice(i, 1)
|
||||
i--
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -595,7 +595,7 @@ export default {
|
|||
this.$refs.form.validate(valid => {
|
||||
if (valid) {
|
||||
requestFN(
|
||||
'/safetyenvironmental/V2/finalcheck',
|
||||
'/hidden/finalcheck',
|
||||
{
|
||||
HIDDEN_ID: this.HIDDEN_ID,
|
||||
FINAL_CHECKDESCR: this.form.FINAL_CHECKDESCR,
|
||||
|
|
|
@ -340,7 +340,7 @@ export default {
|
|||
})
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/safetyenvironmental/V2/assign',
|
||||
'/hidden/assign',
|
||||
{ ...this.form,
|
||||
HIDDEN_STATUS: this.$parent.HIDDEN_STATUS,
|
||||
INSPECTION_ID: this.$parent.INSPECTION_ID
|
||||
|
|
|
@ -243,7 +243,7 @@ export default {
|
|||
getData() {
|
||||
return new Promise((resolve) => {
|
||||
requestFN(
|
||||
'/safetyenvironmental/V2/goShow',
|
||||
'/safetyenvironmental/goShow',
|
||||
{
|
||||
INSPECTION_ID: this.$parent.INSPECTION_ID
|
||||
}
|
||||
|
|
|
@ -436,7 +436,7 @@ export default {
|
|||
})
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/safetyenvironmental/V2/assign',
|
||||
'/hidden/assign',
|
||||
{ ...this.form,
|
||||
HIDDEN_STATUS: this.$parent.HIDDEN_STATUS,
|
||||
INSPECTION_ID: this.$parent.INSPECTION_ID
|
||||
|
|
|
@ -330,7 +330,7 @@ export default {
|
|||
hiddenCount(INSPECTION_ID) {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/safetyenvironmental/V2/hiddencount',
|
||||
'/safetyenvironmentalexplain/hiddencount',
|
||||
{
|
||||
INSPECTION_ID: INSPECTION_ID
|
||||
}
|
||||
|
@ -347,10 +347,9 @@ export default {
|
|||
},
|
||||
// 完成
|
||||
subCanvas(img64) {
|
||||
console.info('img64:' + img64)
|
||||
this.form.INSPECTED_SITEUSER_SIGN_IMG = img64
|
||||
this.$set(this.form, 'INSPECTED_SITEUSER_SIGN_TIME', formatDate(new Date(), 'YYYY-MM-DD HH:mm'))
|
||||
console.info(this.form)
|
||||
|
||||
this.dialogWriteSign = false
|
||||
},
|
||||
|
||||
|
|
|
@ -13,16 +13,16 @@
|
|||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="是否为相关方" prop="IS_XGF">
|
||||
<el-radio-group id="IS_XGF" ref="IS_XGF" v-model="form.IS_XGF" @change="getXgfTreeData">
|
||||
<el-radio :label="'1'" >是</el-radio>
|
||||
<el-radio :label="'0'" >否</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<!-- <el-row :gutter="20">-->
|
||||
<!-- <el-col :span="12">-->
|
||||
<!-- <el-form-item label="是否为相关方" prop="IS_XGF">-->
|
||||
<!-- <el-radio-group id="IS_XGF" ref="IS_XGF" v-model="form.IS_XGF" @change="getXgfTreeData">-->
|
||||
<!-- <el-radio :label="'1'" >是</el-radio>-->
|
||||
<!-- <el-radio :label="'0'" >否</el-radio>-->
|
||||
<!-- </el-radio-group>-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- </el-col>-->
|
||||
<!-- </el-row>-->
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="被检查单位" prop="INSPECTED_DEPARTMENT_ID">
|
||||
|
@ -96,7 +96,7 @@
|
|||
<el-col :span="11">
|
||||
<el-form-item label="检查人员" prop="INSPECTION_USER_ID">
|
||||
<el-select v-model="item.INSPECTION_USER_ID" clearable placeholder="请选择检查人员" @change="changeHiddenUserList">
|
||||
<el-option v-for="data in INSPECTED_SITEUSER_List" :key="data.USER_ID" :label="data.NAME" :value="data.USER_ID" />
|
||||
<el-option v-for="data in INSPECTOR_List[index]" :key="data.USER_ID" :label="data.NAME" :value="data.USER_ID" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
@ -530,7 +530,7 @@ export default {
|
|||
this.INSPECTED_SITEUSER_List = []
|
||||
}
|
||||
if (newVal != null && newVal != '') {
|
||||
this.getXgfUserList(newVal)
|
||||
this.getUserList(newVal)
|
||||
}
|
||||
},
|
||||
immediate: false
|
||||
|
@ -600,7 +600,9 @@ export default {
|
|||
updateInspecteDept(DEPARTMENT_ID, i) {
|
||||
// this.form.inspectorList[i].INSPECTION_USER_ID = ''
|
||||
// this.getInspectorList(DEPARTMENT_ID, i)
|
||||
this.getXgfUserList(DEPARTMENT_ID)
|
||||
// this.getXgfUserList(DEPARTMENT_ID)
|
||||
this.form.inspectorList[i].INSPECTION_USER_ID = ''
|
||||
this.getInspectorList(DEPARTMENT_ID, i)
|
||||
},
|
||||
// 获取人员列表
|
||||
getInspectorList(DEPARTMENT_ID, i) {
|
||||
|
|
|
@ -306,7 +306,7 @@ export default {
|
|||
getData() {
|
||||
return new Promise((resolve) => {
|
||||
requestFN(
|
||||
'/safetyenvironmental/V2/goShow',
|
||||
'/safetyenvironmental/goShow',
|
||||
{
|
||||
INSPECTION_ID: this.$parent.INSPECTION_ID
|
||||
}
|
||||
|
|
|
@ -357,7 +357,7 @@ export default {
|
|||
getList() {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/safetyenvironmental/V2/list?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page,
|
||||
'/safetyenvironmental/list?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page,
|
||||
{
|
||||
...this.search,
|
||||
INSPECTION_TIME_START: this.search.INSPECTION_TIME[0],
|
||||
|
@ -471,7 +471,7 @@ export default {
|
|||
}).then(() => {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/safetyenvironmental/V2/hide',
|
||||
'/safetyenvironmental/hide',
|
||||
{
|
||||
INSPECTION_ID: id,
|
||||
hide: '1'
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<link rel="stylesheet" type="text/css" href="./css/style.css" />
|
||||
<link rel="stylesheet" href="./swiper-master/package/swiper-bundle.min.css">
|
||||
<script src="./js/vue.js"></script>
|
||||
<script type="text/javascript" src="./js/jquery-3.3.1.min.js"></script>
|
||||
<script type="text/javascript" src="./js/jquery-3.7.1.min.js"></script>
|
||||
<script src="../config.js"></script>
|
||||
<script src="./js/sweetalert.min.js"></script>
|
||||
<script src="./js/ezuikit.js"></script>
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -16,7 +16,7 @@
|
|||
<script src="js/IndoorMap3d.js"></script>
|
||||
<script src="js/Theme.js"></script>
|
||||
<link href="css/indoor3D.css" rel="stylesheet">
|
||||
<script type="text/javascript" src="../js/jquery-3.3.1.min.js"></script>
|
||||
<script type="text/javascript" src="../js/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../js/pre-loader.js"></script>
|
||||
<!-- vue -->
|
||||
<script src="../js/vue.js"></script>
|
||||
|
|
|
@ -71,7 +71,7 @@
|
|||
<a href="javascript:;" class="weui-btn bg-blue" style="font-size: 14px;line-height:2.6;" onclick="back()">返回列表</a>
|
||||
</div>
|
||||
-->
|
||||
<script type="text/javascript" src="../../assets/js/jquery-1.7.2.js"></script>
|
||||
<script type="text/javascript" src="../../../bi/js/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../bi/js/pre-loader.js"></script>
|
||||
<script src="../../../bi/js/sweetalert.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
|
|
|
@ -373,7 +373,7 @@
|
|||
<div style="padding: 0 20px;">
|
||||
<a href="javascript:;" class="weui-btn bg-blue" style="font-size: 14px;line-height:2.6;" onclick="back()">返回列表</a>
|
||||
</div>
|
||||
<script type="text/javascript" src="../../assets/js/jquery-1.7.2.js"></script>
|
||||
<script type="text/javascript" src="../../../bi/js/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../bi/js/pre-loader.js"></script>
|
||||
<script src="../../../bi/js/sweetalert.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
|
|
|
@ -81,7 +81,7 @@
|
|||
</div>
|
||||
|
||||
<script src="//api.map.baidu.com/api?type=webgl&v=1.0&ak=OElqFYoKiAH8KFtph8ftLKF5NlNrbCUr"></script>
|
||||
<script type="text/javascript" src="../../assets/js/jquery-1.7.2.js"></script>
|
||||
<script type="text/javascript" src="../../../bi/js/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../bi/js/pre-loader.js"></script>
|
||||
<script src="../../../bi/js/sweetalert.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
|
|
|
@ -91,7 +91,7 @@
|
|||
|
||||
|
||||
<!--<script src="//api.map.baidu.com/api?type=webgl&v=1.0&ak=OElqFYoKiAH8KFtph8ftLKF5NlNrbCUr"></script>-->
|
||||
<script type="text/javascript" src="../../assets/js/jquery-1.7.2.js"></script>
|
||||
<script type="text/javascript" src="../../../bi/js/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../bi/js/pre-loader.js"></script>
|
||||
<script src="../../../bi/js/sweetalert.min.js"></script>
|
||||
<script src="../../assets/js/vant.min.js"></script>
|
||||
|
|
|
@ -116,7 +116,7 @@
|
|||
</div>
|
||||
</div>
|
||||
</body>
|
||||
<script type="text/javascript" src="../../assets/js/jquery-1.7.2.js"></script>
|
||||
<script type="text/javascript" src="../../../bi/js/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../bi/js/pre-loader.js"></script>
|
||||
<script src="../../../bi/js/sweetalert.min.js"></script>
|
||||
<script src="../../assets/js/vant.min.js"></script>
|
||||
|
|
|
@ -119,7 +119,7 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript" src="../../assets/js/jquery-1.7.2.js"></script>
|
||||
<script type="text/javascript" src="../../../bi/js/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../bi/js/pre-loader.js"></script>
|
||||
<script src="../../../bi/js/sweetalert.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
<!--全局配置-->
|
||||
<script src="../../../config.js"></script>
|
||||
<script src="../../assets/js/vant.min.js"></script>
|
||||
<script type="text/javascript" src="../../assets/js/jquery-1.7.2.js"></script>
|
||||
<script type="text/javascript" src="../../../bi/js/jquery-3.7.1.min.js"></script>
|
||||
<style>
|
||||
.wrapper {
|
||||
display: flex;
|
||||
|
|
|
@ -70,7 +70,7 @@
|
|||
<div style="padding: 0 20px;">
|
||||
<a href="javascript:;" class="weui-btn bg-blue" style="font-size: 14px;line-height:2.6;" onclick="back()">返回列表</a>
|
||||
</div>
|
||||
<script type="text/javascript" src="../../assets/js/jquery-1.7.2.js"></script>
|
||||
<script type="text/javascript" src="../../../bi/js/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../bi/js/pre-loader.js"></script>
|
||||
<script src="../../../bi/js/sweetalert.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
|
|
|
@ -85,7 +85,7 @@
|
|||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript" src="../../assets/js/jquery-1.7.2.js"></script>
|
||||
<script type="text/javascript" src="../../../bi/js/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../bi/js/pre-loader.js"></script>
|
||||
<script src="../../../bi/js/sweetalert.min.js"></script>
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
<!--全局配置-->
|
||||
<script src="../../../config.js"></script>
|
||||
<script src="../../assets/js/vant.min.js"></script>
|
||||
<script type="text/javascript" src="../../assets/js/jquery-1.7.2.js"></script>
|
||||
<script type="text/javascript" src="../../../bi/js/jquery-3.7.1.min.js"></script>
|
||||
<style>
|
||||
.wrapper {
|
||||
display: flex;
|
||||
|
|
|
@ -321,7 +321,7 @@
|
|||
<div style="padding: 0 20px;">
|
||||
<a href="javascript:;" class="weui-btn bg-blue" style="font-size: 14px;line-height:2.6;" onclick="back()">返回列表</a>
|
||||
</div>
|
||||
<script type="text/javascript" src="../../assets/js/jquery-1.7.2.js"></script>
|
||||
<script type="text/javascript" src="../../../bi/js/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../bi/js/pre-loader.js"></script>
|
||||
<script src="../../../bi/js/sweetalert.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
|
|
|
@ -82,7 +82,7 @@
|
|||
|
||||
|
||||
<script src="//api.map.baidu.com/api?type=webgl&v=1.0&ak=OElqFYoKiAH8KFtph8ftLKF5NlNrbCUr"></script>
|
||||
<script type="text/javascript" src="../../assets/js/jquery-1.7.2.js"></script>
|
||||
<script type="text/javascript" src="../../../bi/js/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../bi/js/pre-loader.js"></script>
|
||||
<script src="../../../bi/js/sweetalert.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
|
|
|
@ -60,7 +60,7 @@
|
|||
<div style="padding: 0 20px;margin-top:20px">
|
||||
<a href="javascript:;" class="weui-btn bg-blue" style="font-size: 14px;line-height:2.6;" onclick="back()">返回列表</a>
|
||||
</div>
|
||||
<script type="text/javascript" src="../../assets/js/jquery-1.7.2.js"></script>
|
||||
<script type="text/javascript" src="../../../bi/js/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../bi/js/pre-loader.js"></script>
|
||||
<script src="../../../bi/js/sweetalert.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript" src="../../assets/js/jquery-1.7.2.js"></script>
|
||||
<script type="text/javascript" src="../../../bi/js/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../../bi/js/pre-loader.js"></script>
|
||||
<script src="../../../bi/js/sweetalert.min.js"></script>
|
||||
<script src="../../../request.js"></script>
|
||||
|
|
Loading…
Reference in New Issue