Compare commits

..

38 Commits

Author SHA1 Message Date
shanao b5e5e2b0e8 Merge remote-tracking branch 'origin/dev-shanao' into dev
# Conflicts:
#	config/index.js
#	package-lock.json
#	package.json
#	static/config.js
2024-09-13 18:02:30 +08:00
shanao 0f75e526de 测试完成 2024-09-13 17:18:25 +08:00
shanao 8062274b39 修复全部问题 2024-09-12 17:32:07 +08:00
huangyuxuan aec58b0f91 [BUG修复](dev)
修复删除检查记录主账号掉线BUG
2024-09-12 14:15:08 +08:00
shanao 270d0d3c86 修复全部问题 2024-09-12 14:10:14 +08:00
mengfanliang 638f6d4901 Merge branch 'dev-shanao' of http://47.92.113.182:3000/guoyuepeng/qa-prevention-gwj-vue into dev-shanao
fix: 解决分支合并冲突
2024-09-12 11:43:09 +08:00
mengfanliang b29e9ed249 feat: 调试事故信息查询菜单图片回显路径问题 2024-09-12 11:40:32 +08:00
shanao ce40b8f194 修复导出相关问题 2024-09-12 10:18:12 +08:00
guoyuepeng 290c566c73 1.代码格式优化 2024-09-11 17:43:28 +08:00
guoyuepeng c0667c8b46 1.删除info打印 2024-09-11 17:37:58 +08:00
guoyuepeng a8128a0e56 1.移植门口门禁系统和
2.升级js
3.还原安全环保检查
2024-09-11 17:35:16 +08:00
water_xu 4a314fc646 用户管理 - 人脸图像提示语修改 2024-09-11 08:48:24 +08:00
water_xu 952384269f 用户管理 - 人脸图像提示语修改 2024-09-10 19:14:15 +08:00
water_xu 537c7e129f 人员中台 - 暂时调整ISPUSH为2 2024-09-10 18:54:34 +08:00
huangyuxuan cfc84cfced [BUG修复](dev)
取消是否为相关方选项
2024-09-10 18:45:20 +08:00
shanao 4933738b6d 修复导出相关问题 2024-09-10 14:09:40 +08:00
shanao f7cb02d681 导出还没通 2024-09-09 18:04:04 +08:00
huangyuxuan 71cb404eb4 [BUG修复](hyx_2024-9-9_prevention)
修复新增安全环保检查时检察人员名字变为idbug
2024-09-09 16:50:28 +08:00
huangyuxuan d2d3d2d6f8 Merge remote-tracking branch 'origin/dev' into dev 2024-09-09 16:33:43 +08:00
huangyuxuan 98d69362b1 [代码更新](dev)
回退代码版本
2024-09-09 16:33:36 +08:00
guoyuepeng 1696e625be 1.还原人员信息查询条件 2024-09-09 16:30:29 +08:00
huangyuxuan 95525221d5 [代码更新](dev)
回退代码版本
2024-09-09 16:28:36 +08:00
mengfanliang d07eaa7cfc feat: 事故信息查询模块接口对接 2024-09-09 15:17:43 +08:00
shanao 6e97caf3a4 调试 2024-09-08 22:08:29 +08:00
shanao 5aa6676248 事故调查管理代码提交 2024-09-06 19:38:37 +08:00
mengfanliang 2c930b42b2 feat: 事故信息管理菜单重构 2024-09-06 18:17:09 +08:00
shanao 991ef9ea52 事故调查管理代码提交 2024-09-06 16:19:59 +08:00
water_xu 5d9fa4685c Merge branch 'dev' of http://47.92.113.182:3000/guoyuepeng/qa-prevention-gwj-vue into dev 2024-09-06 15:48:04 +08:00
water_xu 9883455926 人员中台 - 暂时调整ISPUSH字段值为2(允许查询所有用户) 2024-09-06 14:23:06 +08:00
huangyuxuan d0390f864f Merge branch 'pet' into dev 2024-09-06 11:44:41 +08:00
liujun 2b54822d58 Merge branch 'liujun-2024-09-05-九公司人员定位' into dev 2024-09-05 18:31:39 +08:00
liujun 7662675179 就公司人员定位系统功能更新 2024-09-05 10:19:49 +08:00
guoyuepeng eb90049369 1.修改提示 2024-09-05 08:39:34 +08:00
guoyuepeng 876c870efc 1.修改前端显示,强制回档 2024-09-04 11:27:24 +08:00
guoyuepeng 605feeceb8 Merge remote-tracking branch 'origin/dev' into dev 2024-09-04 11:23:59 +08:00
guoyuepeng 1354982c6a 1.八项作业强制回档 2024-09-04 11:23:38 +08:00
WenShiJun 202af29c01 消防安全管理添加扫码查看检查记录 2024-09-03 18:07:42 +08:00
wangpeng 3d576a33ca 事故调查管理代码提交 2024-08-30 18:22:13 +08:00
54 changed files with 1407 additions and 219 deletions

View File

@ -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: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -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`)
}
}

View File

@ -7,7 +7,6 @@
* @returns {Boolean}
*/
export function validText(str) {
console.info(str)
if (str.trim().length < 1) {
return false
}

View File

@ -30,13 +30,12 @@
<el-date-picker
:disabled="isDisabled"
v-model="infoForm.incidentDate"
type="date"
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-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">
@ -90,11 +89,9 @@
<el-date-picker
v-model="infoForm.reportDate"
:disabled="isDisabled"
type="date"
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>
@ -162,8 +159,7 @@ export default {
rules: {
incidentNumber: [{ required: true, message: '事故案号不能为空', trigger: 'blur' }],
incidentName: [{ required: true, message: '事故名称不能为空', trigger: 'blur' }],
HIDDENTYPE: [{ required: true, message: '事故类型不能为空', trigger: 'blur' }],
incidentType: [{ 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' }],
@ -339,6 +335,10 @@ export default {
* 表单确认按钮
*/
confirm() {
this.$refs.form.validate(valid => {
if (!valid) {
return false
}
const params = {
...this.infoForm,
photos: this.infoForm.fileList[0].remotePathName
@ -354,6 +354,7 @@ export default {
}).catch((error) => {
this.$message.error(this.tableName + '失败')
})
})
},
/**

View File

@ -4,20 +4,22 @@
<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-input v-model="searchForm.incidentName" placeholder="请输入事故名称" class="filter-item"/>
</el-form-item>
</el-col>
<el-col :span="4">
<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 HH:mm:ss"
format="yyyy-MM-dd"
style="width: 100%"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期" />
end-placeholder="结束日期"
/>
</el-form-item>
</el-col>
<el-col :span="4">
@ -25,14 +27,14 @@
<el-input v-model="searchForm.location" placeholder="请输入发生地点" />
</el-form-item>
</el-col>
<el-col :span="4">
<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="4">
<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" />
@ -51,7 +53,6 @@
<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 icon="el-icon-refresh-left" @click="handleRefresh"></el-button>
<el-button type="danger" icon="el-icon-delete-solid" @click="handleBatchDel"></el-button>
</el-col>
</el-row>
@ -64,14 +65,19 @@
v-loading="listLoading"
ref="multipleTable"
:data="varList"
border
tooltip-effect="dark"
style="width: 100%"
@selection-change="handleSelectionChange">
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"/>
<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}">
@ -93,6 +99,7 @@
<script>
import Pagination from '@/components/Pagination'
import waves from '@/directive/waves'
import formatDate from '@/utils/dateformat'
import { requestFN } from '../../../../utils/request'
export default {
@ -160,7 +167,7 @@ export default {
requestFN(url, { ...this.searchForm }).then((data) => {
this.listLoading = false
this.varList = data.varList
this.total = data.page.totalResult
this.listQuery.total = data.page.totalResult
}).catch((e) => {
this.listLoading = false
})
@ -171,13 +178,14 @@ export default {
*/
handleReset() {
this.searchForm = this.$options.data().searchForm
this.searchList()
},
/**
* 表格行选择器处理
*/
handleSelectionChange(val) {
this.multipleSelection.push(val)
this.multipleSelection = val
},
/**
@ -264,7 +272,7 @@ export default {
//
const selectedRows = this.multipleSelection
//
if (selectedRows.length === 0) {
if (this.multipleSelection === '' || selectedRows.length === 0) {
this.$message.warning('请选择要删除的行')
return
}
@ -275,15 +283,16 @@ export default {
type: 'warning'
}).then(() => {
// ID
const ids = selectedRows.map(row => row.id).join(',')
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((error) => {
}).catch(() => {
this.$message.error('删除失败')
})
}).catch(() => {
@ -292,7 +301,6 @@ export default {
message: '已取消删除'
})
})
this.searchList()
},
/**
@ -314,6 +322,10 @@ export default {
).then((data) => {
this.incidentLevels = JSON.parse(data.zTreeNodes)
})
},
formatDate(date, format) {
return formatDate(date, format)
}
}
}

View File

@ -2,7 +2,6 @@
<div>
<List v-if="activeName === 'List'" ref="List" />
<Add v-if="activeName === 'AddOrEdit'" ref="AddOrEdit" />
<!-- <Detail v-if="activeName==='Detail'"/>-->
</div>
</template>
@ -14,7 +13,6 @@ export default {
components: {
List: List,
Add: Add
// Detail: Detail
},
data() {
return {

View File

@ -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) => {
})
},

View File

@ -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
}

View File

@ -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">* 图像格式JPEGJPGPNGBMP</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>
@ -812,7 +812,7 @@ export default {
DUTIES_ID: [{ required: true, message: '请选择岗位', trigger: 'change' }],
SORT: [{ required: true, message: '请输入排序', trigger: 'blur' }],
NATION: [{ required: false, trigger: 'blur' }],
SEX: [{ required: false, trigger: 'blur' }], // / dsfsdfsd
SEX: [{ required: false, trigger: 'blur' }],
POLITICAL_OUTLOOK: [{ required: true, message: '政治面貌不能为空', trigger: 'blur' }],
DATE_OF_BIRTH: [{ required: true, message: '请选择出生年月', trigger: 'blur' }],
DEGREE_OF_EDUCATION: [{ required: true, message: '文化程度不能为空', trigger: 'blur' }],

View File

@ -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

View File

@ -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">* 图像格式JPEGJPGPNGBMP</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>

View File

@ -73,7 +73,7 @@
<el-tag v-else type="danger"></el-tag>
</template>
</el-table-column>
<el-table-column label="操作" width="380">
<el-table-column label="操作" width="450">
<template slot-scope="{row}">
<el-button
v-show="true"
@ -97,6 +97,14 @@
size="mini"
@click="handleDelete(row)">删除
</el-button>
<!-- 新增按钮检查记录二维码 -->
<el-button
class="tiffany-btn"
icon="el-icon-document"
type="info"
size="mini"
@click="handleShowRecordQr(row)">检查记录二维码
</el-button>
</template>
</el-table-column>
</el-table>
@ -143,6 +151,22 @@
<el-button v-print="'#printTest'" type="primary"> </el-button>
</div>
</el-dialog>
<el-dialog :visible.sync="dialogRecordFormShow" title="查看检查记录二维码" width="680px" class="top-dialog">
<div id="recordPrintTest" style="border: 1px solid #fff;">
<div class="level-title" style="margin-top:20px">
<h1>检查记录二维码</h1>
</div>
<div class="table-qrcode">
<vue-qr :text="recordQrcodeStr" :margin="0" :size="300" color-dark="#000" color-light="#fff" />
</div>
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogRecordFormShow = false"> </el-button>
<el-button v-print="'#recordPrintTest'" type="primary"> </el-button>
</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-row>
@ -157,7 +181,6 @@
<el-button @click="dialogEditUser = false"> </el-button>
<el-button type="primary" @click="dialogEditUserConfirm"> </el-button>
</div>
</el-dialog>
</div>
</template>
@ -171,9 +194,7 @@ import waves from '@/directive/waves' // waves directive
import SelectTree from '@/components/SelectTree'
export default {
components: { Pagination, SelectTree, vueQr },
directives: { waves },
data() {
return {
@ -181,7 +202,9 @@ export default {
addBtnType: true,
listLoading: true,
dialogFormShow: false,
dialogRecordFormShow: false,
qrcodeStr: '',
recordQrcodeStr: '',
qrInfo: {},
add: false,
del: false,
@ -246,39 +269,36 @@ export default {
handleShowQr(ROW) {
this.dialogFormShow = true
this.qrInfo = ROW
// 2024-07-22 H5created by liu jun
this.qrcodeStr = this.config.weburlWaiwang + 'static/qrcode/views/bsbw/point_list.html?id=' + ROW.FIRE_POINT_ID
// const json = {
// MANAGER_TYPE: 'fireListManager',
// FIRE_POINT_ID: ROW.FIRE_POINT_ID
// }
// const jsonStr = JSON.stringify(json)
// this.qrcodeStr = jsonStr
},
handleShowRecordQr(ROW) {
this.dialogRecordFormShow = true
const json = {
MANAGER_TYPE: 'fireListManager',
USER_ID: ROW.USER_ID,
DEPARTMENT_ID: ROW.DEPARTMENT_ID
}
this.recordQrcodeStr = JSON.stringify(json)
},
handleEdit(FIRE_POINT_ID) {
this.$parent.FIRE_POINT_ID = FIRE_POINT_ID
this.$parent.activeName = 'Edit'
},
selectable(row, index) {
// return row.DEVICE_COUNT == 0
return true
},
getRowKey(row) {
return row.FIRE_POINT_ID
},
//
handleAdd() {
this.$parent.activeName = 'Edit'
this.$parent.FIRE_POINT_ID = ''
this.$parent.FIRE_POINT_CODE = ''
this.$parent.FIRE_POINT_NAME = ''
},
//
getQuery() {
// this.$refs.multipleTable.clearSelection()
this.getList()
},
//
getList(pid) {
this.listLoading = true
this.varList = []
@ -299,7 +319,8 @@ export default {
}).catch((e) => {
this.listLoading = false
})
}, goKeyReset() {
},
goKeyReset() {
this.FIRE_POINT_NAME = ''
this.FIRE_POINT_CODE = ''
this.IS_PUNCTUATION = ''
@ -345,7 +366,6 @@ export default {
this.listLoading = false
})
},
//
getTreeData() {
requestFN(
'/department/listTreeV2',
@ -355,7 +375,6 @@ export default {
}).catch((e) => {
})
},
//
handleEditUser(row) {
this.editDataIds = []
if (row.FIRE_POINT_ID) {
@ -510,7 +529,7 @@ export default {
float: right;
}
.app-container {
display: flex; /**/
display: flex;
align-items: baseline;
}
.table-qrcode {

View File

@ -81,7 +81,8 @@
</el-table-column>
<el-table-column prop="STATE" label="审核状态" >
<template slot-scope="{row}">
{{ translate(row.STATE.toString(), statusList) }}
<template v-if="row.IS_FORCED_END ===1"> </template>
<template v-else > {{ translate(row.STATE.toString(), statusList) }} </template>
</template>
</el-table-column>
<el-table-column prop="examineUserName" label="审核人" >
@ -89,11 +90,12 @@
{{ row.examineUserName || row.examineDeptName }}
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="200">
<el-table-column label="操作" align="center" width="300">
<template slot-scope="{row}">
<!-- <el-button :disabled="row.STATE !='11'" type="primary" icon="el-icon-document" size="mini" @click="goDetail(row.HOTWORKAPPLICATION_ID,'apply')"></el-button>-->
<!-- <el-button :disabled="row.STATE !='-2'" type="primary" icon="el-icon-document" size="mini" @click="goDetail(row.HOTWORKAPPLICATION_ID,'repulse')"></el-button>-->
<el-button icon="el-icon-view" size="mini" @click="goInfo(row.HOTWORKAPPLICATION_ID,'see')"></el-button>
<el-button v-if="(row.CREATOR == loginUserID || loginUserID == '1' || loginRoleNumber == 'R20201225624685') && row.STATE != 11" type="primary" icon="el-icon-document" size="mini" @click="forcedEnd(row.HOTWORKAPPLICATION_ID,row.STATE)"></el-button>
<!--<el-button v-if="row.STATE=='-6' && row.CREATOR == loginUserID" type="danger" icon="el-icon-delete" plain @click="batchDel(row.HOTWORKAPPLICATION_ID)"></el-button>-->
<el-button v-if="(row.CREATOR == loginUserID || loginUserID == '1' || loginRoleNumber == 'R20201225624685') && row.STATE != 11" type="danger" icon="el-icon-delete" plain @click="batchDel(row.HOTWORKAPPLICATION_ID)"></el-button>
</template>
@ -184,7 +186,7 @@ export default {
{ id: '36', name: '安委会办公室待审批' },
{ id: '37', name: '安全总监待审批' },
{ id: '10', name: '延时监火' },
{ id: '11', name: '归档' },
{ id: '11', name: '归档' }, // 1.,2.
{ id: '-1', name: '审核不通过' },
{ id: '-2', name: '特级不通过' },
{ id: '-3', name: '关闭归档' },
@ -294,6 +296,7 @@ export default {
this.$parent.HOTWORKAPPLICATION_ID = id
this.$parent.HOTWORKAPPLICATION_TYPE = type
},
getDictTreeData() {
return new Promise((resolve) => {
requestFN(
@ -354,6 +357,35 @@ export default {
})
}).catch(() => {
})
},
forcedEnd(id, STATE) { //
this.$confirm('确定要强制结束吗?', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.listLoading = true
requestFN(
'/hotworkapplication/forcedEnd',
{
HOTWORKAPPLICATION_ID: id,
STATE: STATE,
loginUserId: this.loginUserID
}
).then(() => {
this.$message({
message: '结束成功',
type: 'success'
})
this.listLoading = false
this.varList = []
this.listQuery.page = 1
this.getList()
}).catch((e) => {
this.listLoading = false
})
}).catch(() => {
})
}
}
}

View File

@ -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>

View File

@ -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>

View File

@ -55,7 +55,7 @@
</div>
</div>
</div>
<div class="block4">
<div v-if="corpInfoId !== '21590a00ea5e462e9ee44dd332dddc26'" class="block4">
<layout-title title="报警列表"/>
<div class="content">
<div class="table">
@ -72,6 +72,25 @@
</div>
</div>
</div>
<div v-if="corpInfoId === '21590a00ea5e462e9ee44dd332dddc26'" class="block4">
<layout-title title="报警列表"/>
<div class="content">
<div class="table">
<div class="tr">
<div class="td">报警类型</div>
<div class="td">报警时间</div>
<div class="td">触发人</div>
<div class="td">报警地点</div>
</div>
<div v-for="(item,index) in block4List" :key="index" class="tr">
<div class="td">{{ item.alarmName }}</div>
<div class="td">{{ item.alarmTime }}</div>
<div class="td">{{ item.foulUserName }}</div>
<div class="td">{{ item.place }}</div>
</div>
</div>
</div>
</div>
</div>
</template>
@ -173,9 +192,10 @@ export default {
},
getData() {
requestFN(
'/map/getAllDwMessage',
{ corpId: this.corpInfoId }
'/map/getAllDwMessage', { corpId: this.corpInfoId }
).then((data) => {
//
if (this.corpInfoId === '035958e685cf4850bc40151c5e0617a6') {
this.block4List = data.alarmList.list
this.block1OptionsList = [
{
@ -204,6 +224,27 @@ export default {
count: data.orthermessage.infoList.tklyr.num
}
]
}
if (this.corpInfoId === '21590a00ea5e462e9ee44dd332dddc26') {
this.block1OptionsList = [
{
title: '总设备数',
img: require('../../../assets/map/renyuan/img1ico1.png'),
count: data.orthermessage.onlineDeviceNum
},
{
title: '在线人员数',
img: require('../../../assets/map/renyuan/img1ico1.png'),
count: data.orthermessage.lockNum
},
{
title: '离线人数',
img: require('../../../assets/map/renyuan/img1ico1.png'),
count: data.orthermessage.unLockNum
}
]
this.block4List = data.orthermessage.alarmList
}
}).catch((e) => {
this.$message.error(e)
})

View File

@ -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 {

View File

@ -9,7 +9,16 @@
<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"/>
@ -180,6 +189,14 @@ export default {
infoname: {
type: String,
default: ''
},
videoType: {
type: String,
default: ''
},
code: {
type: String,
default: ''
}
},
methods: {

View File

@ -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() {
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&currentPage=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) => {
})

View File

@ -126,7 +126,6 @@ export default {
this.ImgList = data.ImgList
this.measuresList = data.varList
this.gongdanList = data.data
console.info(this.gongdanList)
}).catch((e) => {
})
}

View File

@ -105,7 +105,6 @@ export default {
this.ImgList = data.ImgList
this.measuresList = data.varList
this.gongdanList = data.data
console.info(this.gongdanList)
}).catch((e) => {
})
}

View File

@ -1,5 +1,5 @@
<template>
<div class="app-container print-work" style="width: 100%;">
<div class="app-container print-work">
<div class="level-title">
<h1>人员信息</h1>
</div>
@ -29,12 +29,12 @@
<td>{{ otherInfo?otherInfo.postName:'' }}</td>
</tr>
</table>
<table class="table-ui">
<!-- 一公司人员定位页面 -->
<table v-if="corpId === '035958e685cf4850bc40151c5e0617a6'" class="table-ui">
<tr>
<td class="bbg-transparent">姓名</td>
<td >{{ info?info.userName:'' }}</td>
</tr>
<tr>
<td class="bbg-transparent">定位卡号:</td>
<td >{{ info?info.id:'' }}</td>
@ -48,6 +48,25 @@
<td>{{ info?info.departmentName:'' }}</td>
</tr>
</table>
<!-- 九公司人员定位页面 -->
<table v-if="corpId === '21590a00ea5e462e9ee44dd332dddc26'" class="table-ui">
<tr>
<td class="bbg-transparent">姓名</td>
<td >{{ (info && info.name) ? info.name : '未绑定人员' }}</td>
</tr>
<tr>
<td class="bbg-transparent">定位卡号:</td>
<td >{{ info?info.id:'' }}</td>
</tr>
<tr>
<td class="bbg-transparent">定位卡电量</td>
<td >{{ info?info.battery:'' }}</td>
</tr>
<tr>
<td class="bbg-transparent">公司</td>
<td>{{ info?info.corpName:'' }}</td>
</tr>
</table>
</div>
</template>

View File

@ -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>

View File

@ -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, '处置前照片上传完成')

View File

@ -182,6 +182,18 @@
</template>
</template>
</template>
<transition
enter-active-class="animate__animated animate__fadeInDown"
leave-active-class="animate__animated animate__fadeOutUp"
>
<div v-if="isPeopleTrajectory" class="people_trajectory">
<el-select v-model="peopleTrajectoryValue" popper-class="people_trajectory_select">
<el-option v-for="item in onePerLocArr" :key="item.id" :value="item.id" :label="item.id"/>
</el-select>
<el-button class="search_btn" @click="addTrajectory"></el-button>
<el-button class="reset_btn" @click="()=>{removeTrajectory();peopleTrajectoryValue = ''}">重置</el-button>
</div>
</transition>
</div>
</transition>
<div class="right_options">
@ -203,6 +215,8 @@
:corp-info-id="dialog.corpInfoId"
:gangkou="gangkouActive"
:infoname="dialog.infoname"
:code="dialog.code"
:video-type="dialog.video_type"
/>
</div>
</template>
@ -217,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'
@ -403,7 +417,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: []
},
{
@ -413,9 +427,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',
@ -656,26 +690,17 @@ export default {
checkImg: require('../../assets/map/gangkou_index/buttom/ico21_on.png'),
containAuthorization: [],
eliminateAuthorization: []
},
{
label: '人员轨迹',
dialog_width: '1200px',
check: false,
type: 'peopleTrajectory',
img: require('../../assets/map/gangkou_index/buttom/ico29.png'),
checkImg: require('../../assets/map/gangkou_index/buttom/ico29_on.png'),
containAuthorization: [],
eliminateAuthorization: []
}
// {
// label: '',
// dialog_width: '1200px',
// check: false,
// type: 'platcamera',
// img: require('../../assets/map/gangkou_index/buttom/ico26.png'),
// checkImg: require('../../assets/map/gangkou_index/buttom/ico26_on.png'),
// containAuthorization: [],
// eliminateAuthorization: []
// }
// {
// label: '',
// dialog_width: '1200px',
// check: false,
// img: require('../../assets/map/gangkou_index/buttom/ico22.png'),
// checkImg: require('../../assets/map/gangkou_index/buttom/ico22_on.png'),
// containAuthorization: [],
// eliminateAuthorization: []
// }
]
},
{
@ -1091,7 +1116,9 @@ export default {
longitude: '',
latitude: ''
},
trajectoryEntityCollection: {}
trajectoryEntityCollection: {},
isPeopleTrajectory: false,
peopleTrajectoryValue: ''
}
},
mounted() {
@ -1189,7 +1216,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)
@ -1197,6 +1224,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()
@ -1226,12 +1256,13 @@ export default {
}
}, Cesium.ScreenSpaceEventType.RIGHT_CLICK)
},
addTrajectory(point_id, corpInfoId) {
addTrajectory() {
this.removeTrajectory()
requestFN(
'/map/getPersonTrace',
{
id: point_id,
corpId: corpInfoId
id: this.peopleTrajectoryValue,
corpId: this.CORP_INFO_ID
}
).then((data) => {
if (data.list) {
@ -1671,6 +1702,7 @@ export default {
this.bottomOptionsList[i].list[j].check = false
}
}
this.isPeopleTrajectory = false
}
},
clearAllBottomOptionsItemsEntityCollection() {
@ -1757,12 +1789,26 @@ export default {
}
this.carLocArr = []
}
if (urlType === 'peopleTrajectory') {
this.isPeopleTrajectory = false
}
if (this.gangkouActive === '00003' && this.CORP_INFO_ID === '035958e685cf4850bc40151c5e0617a6' && urlType === 'peoplePosition') {
this.doUnSubscribe()
this.clearMqttPoint('+/UwbBQ/')
this.removeTrajectory()
for (let i = 0; i < this.bottomOptionsList[pindex].list.length; i++) {
if (this.bottomOptionsList[pindex].list[i].type === 'peopleTrajectory') {
if (this.bottomOptionsList[pindex].list[i].check) {
this.bottomOptionsList[pindex].list[i].check = false
this.isPeopleTrajectory = false
break
}
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()
}
@ -1778,17 +1824,45 @@ export default {
}
})
} else {
if (urlType === 'peopleTrajectory') {
let flag = false
for (let i = 0; i < this.bottomOptionsList[pindex].list.length; i++) {
if (this.bottomOptionsList[pindex].list[i].type === 'peoplePosition') {
if (!this.bottomOptionsList[pindex].list[i].check) {
flag = true
break
}
}
}
if (flag) {
this.$message.warning('请先选择人员定位!!!')
return
} else {
this.isPeopleTrajectory = true
}
}
this.bottomOptionsList[pindex].list[index].check = true
if (this.gangkouActive === '00004') {
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,
@ -1801,6 +1875,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
@ -1843,6 +1918,7 @@ export default {
}
points.push(point)
}
console.info(points)
if (this.gangkouActive === '00004' && urlType === 'carPosition') {
this.timerCfdCarDingwei()
this.carLocArr = points
@ -2341,10 +2417,10 @@ export default {
_this.fwebsocket = new WebSocket(encodeURI(wsUrl))
_this.fwebsocket.onmessage = function(message) {
console.info('接收消息')
const peopleList = JSON.parse(message.data).data.data
const peopleList = JSON.parse(message.data)
for (let i = 0; i < peopleList.length; i++) {
const item = peopleList[i]
if ((!item) || (item.ts === 1)) continue
if ((!item)) continue
//
const index = _this.onePerLocArr.findIndex(item1 => {
return item1.id.toString() === item.id.toString()
@ -2360,6 +2436,7 @@ export default {
} else {
const perLoc = {
id: item.id,
name: item.name,
x: x,
y: y,
icon_type: 'img4_0' + pointColor,
@ -2680,6 +2757,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
}
@ -3099,9 +3178,52 @@ export default {
transform: translateY(0);
}
}
.people_trajectory{
position: absolute;
top: -60px;
left: 0;
width: 400px;
padding: 10px;
background-image: linear-gradient(to right, rgb(31 62 129 / 57%) 0%, rgb(17 93 255 / 40%) 50%, rgb(31 62 129 / 57%) 100%);
.search_btn{
background-color: #1563e3;
color: #fff;
border-color: #1563e3;
}
.reset_btn{
background-color: #558be5;
color: #fff;
border-color: #558be5;
}
}
</style>
<style>
.cesium-viewer-toolbar, .cesium-viewer-fullscreenContainer, .cesium-infoBox-visible {
display: none !important;
}
.people_trajectory .el-input__inner{
background-color: #100693 !important;
border-color: #100693 !important;
color: #fff !important;
}
.people_trajectory_select{
background-color: #100693 !important;
border-color: #100693 !important;
}
.people_trajectory_select .el-select-dropdown__item{
color: #fff !important;
}
.people_trajectory_select .el-select-dropdown__item.hover{
background-color: #2111ec !important;
color: #fff !important;
}
.people_trajectory_select .popper__arrow{
border-top-color: #100693 !important;
border-bottom-color: #100693 !important;
}
.people_trajectory_select .popper__arrow::after{
border-top-color: #100693 !important;
border-bottom-color: #100693 !important;
}
</style>

View File

@ -111,6 +111,37 @@ export default class DragEntity {
}
}
if (value.point_type.indexOf('标记点') !== -1) {
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,
@ -121,6 +152,7 @@ export default class DragEntity {
disableDepthTestDistance: Number.POSITIVE_INFINITY
}
}
}
// 曹妃甸使用
if (value.gangkou === '00004') {
if (value.label === '人员定位') {

View File

@ -30,6 +30,16 @@ export default class DragEntity {
heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
disableDepthTestDistance: Number.POSITIVE_INFINITY
},
label: {
text: point.name ? point.name : point.id,
font: '13px sans-serif',
pixelOffset: new Cesium.Cartesian2(0, -55),
showBackground: true,
// eslint-disable-next-line new-cap
backgroundColor: new Cesium.Color.fromCssColorString('rgba(20, 58, 142, 1)'),
backgroundPadding: new Cesium.Cartesian2(7, 5),
disableDepthTestDistance: Number.POSITIVE_INFINITY
},
orientation: new Cesium.VelocityOrientationProperty(point.property),
monitoItems: {
@ -43,7 +53,9 @@ export default class DragEntity {
this.viewer.clock.clockRange = Cesium.ClockRange.CLAMPED
this.viewer.clock.shouldAnimate = false
}
delEntity(point) {
this.viewer.entities.remove(point)
}
getPosition(point) {
if (this.viewer.clock.shouldAnimate === false) {
this.viewer.clock.shouldAnimate = true

View File

@ -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,

View File

@ -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

View File

@ -243,7 +243,7 @@ export default {
getData() {
return new Promise((resolve) => {
requestFN(
'/safetyenvironmental/V2/goShow',
'/safetyenvironmental/goShow',
{
INSPECTION_ID: this.$parent.INSPECTION_ID
}

View File

@ -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

View File

@ -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
},

View File

@ -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) {

View File

@ -306,7 +306,7 @@ export default {
getData() {
return new Promise((resolve) => {
requestFN(
'/safetyenvironmental/V2/goShow',
'/safetyenvironmental/goShow',
{
INSPECTION_ID: this.$parent.INSPECTION_ID
}

View File

@ -357,7 +357,7 @@ export default {
getList() {
this.listLoading = true
requestFN(
'/safetyenvironmental/V2/list?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
'/safetyenvironmental/list?showCount=' + this.listQuery.limit + '&currentPage=' + 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'

View File

@ -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>

2
static/bi/js/jquery-3.7.1.min.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -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>

View File

@ -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">

View File

@ -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">

View File

@ -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">

View File

@ -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>

View File

@ -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>

View File

@ -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">

View File

@ -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;

View File

@ -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">

View File

@ -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>

View File

@ -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;

View File

@ -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">

View File

@ -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">

View File

@ -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">

View File

@ -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>