1122 lines
38 KiB
Vue
1122 lines
38 KiB
Vue
<template>
|
|
<div class="app-container">
|
|
<div class="level-title">
|
|
<h1>消防点位检查表</h1>
|
|
</div>
|
|
<div>
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="auto">
|
|
<el-row>
|
|
<el-col :span="10">
|
|
<el-form-item label="消防点位检查表名称:" prop="FIRE_CHECK_STANDARD_NAME">
|
|
<el-input v-model="form.FIRE_CHECK_STANDARD_NAME" placeholder="请输入内容"/>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="5">
|
|
<el-form-item label="检查表类型:" prop="FIRE_CHECK_TYPE">
|
|
<el-select v-model="form.FIRE_CHECK_TYPE" placeholder="请选择" @change = "getCheckTypeName">
|
|
<el-option v-for="item in periodList" :key="item.DICTIONARIES_ID" :label="item.NAME" :value="item.BIANMA"/>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
<el-row>
|
|
<el-col :span="10">
|
|
<el-form-item label="负责部门:" prop="DEPARTMENT_ID">
|
|
<SelectTree
|
|
v-if="treeData.length !== 0 && FIRE_CHECK_ID != ''"
|
|
ref="deptTree_Select"
|
|
:clearable="false"
|
|
:options="treeData"
|
|
:props="defaultProps"
|
|
:key="form.UPDATE_DEPARTMENT_ID"
|
|
v-model="form.UPDATE_DEPARTMENT_ID"
|
|
placeholder="请选择部门"
|
|
@change="updateDeptChange"/>
|
|
<Treeselect
|
|
v-if="updateValue && FIRE_CHECK_ID == ''"
|
|
:multiple="true"
|
|
:flat="true"
|
|
:default-expand-level="1"
|
|
:options="treeData"
|
|
:normalizer="normalizer"
|
|
:disable="true"
|
|
:clearable="false"
|
|
v-model="form.DEPARTMENT_ID"
|
|
placeholder="请选择部门"
|
|
no-options-text="暂无数据"
|
|
no-children-text="暂无数据"
|
|
style="width: 100%;"
|
|
@select="handleSelect"
|
|
@deselect="handleRemove"
|
|
/>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="5">
|
|
<el-form-item label="检查人:" prop="USER_ID">
|
|
<el-select
|
|
v-if="FIRE_CHECK_ID == ''"
|
|
ref="userTree_Select"
|
|
:key="userListChangeValue"
|
|
v-model="form.USER_ID"
|
|
multiple
|
|
clearable
|
|
placeholder="请选择人员"
|
|
class="filter-item">
|
|
<el-option v-for="item in peopleList" :key="item.USER_ID" :label="item.NAME" :value="item.USER_ID"/>
|
|
</el-select>
|
|
<el-select
|
|
v-if="FIRE_CHECK_ID != ''"
|
|
ref="userTree_Select"
|
|
:key="form.UPDATE_USER_ID"
|
|
v-model="form.UPDATE_USER_ID"
|
|
clearable
|
|
placeholder="请选择人员"
|
|
class="filter-item">
|
|
<el-option v-for="item in peopleList" :key="item.USER_ID" :label="item.NAME" :value="item.USER_ID"/>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
</el-form>
|
|
</div>
|
|
<div class="level-line"/>
|
|
<div class="level-title">
|
|
<h1>检查器材</h1>
|
|
<!-- <div class="level-btns">-->
|
|
<!-- <el-button type="danger" size="mini" @click="removeSelectHandel">-->
|
|
<!-- 批量移除消防设备-->
|
|
<!-- </el-button>-->
|
|
<!-- <el-button type="primary" size="mini" @click="showRisk">-->
|
|
<!-- 添加消防设备-->
|
|
<!-- </el-button>-->
|
|
<!-- </div>-->
|
|
</div>
|
|
<div>
|
|
<div class="rightCont">
|
|
<el-form label-width="100px">
|
|
<el-row :gutter="20">
|
|
<el-col :span="4">
|
|
<el-form-item label="消防区域" label-width="110px">
|
|
<el-select v-model="deviceCriteria.FIRE_REGION_NAME" placeholder="请选择">
|
|
<el-option v-for="item in FILTER_LIST_REGION" :key="item" :label="item" :value="item" />
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="4">
|
|
<el-form-item label="消防点位" label-width="110px">
|
|
<el-select v-model="deviceCriteria.FIRE_POINT_NAME" placeholder="请选择">
|
|
<el-option v-for="item in FILTER_LIST_POINT" :key="item" :label="item" :value="item" />
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item>
|
|
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="searchCheckList">
|
|
搜索
|
|
</el-button>
|
|
<el-button v-waves class="filter-item" type="success" icon="el-icon-refresh" @click="resetCheckSearch">
|
|
重置
|
|
</el-button>
|
|
<el-button v-waves class="filter-item" type="danger" icon="el-icon-delete-solid" @click="removeSelectHandel">
|
|
批量移除消防设备
|
|
</el-button>
|
|
<el-button v-waves class="filter-item" type="primary" icon="el-icon-circle-plus" @click="showRisk">
|
|
添加其他消防设备
|
|
</el-button>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
</el-form>
|
|
<div>
|
|
<el-table ref="multipleTable" :data="checkList" border style="width: 100%">
|
|
<el-table-column
|
|
type="selection"
|
|
width="55"/>
|
|
<el-table-column type="index" label="序号" width="55" align="center"/>
|
|
<el-table-column prop="FIRE_REGION_NAME" label="消防区域"/>
|
|
<el-table-column prop="FIRE_POINT_NAME" label="消防点位"/>
|
|
<el-table-column prop="FIRE_POINT_CODE" label="点位编号"/>
|
|
<el-table-column prop="FIRE_DEVICE_CODE" label="设备编号"/>
|
|
<el-table-column prop="FIRE_DEVICE_TYPE_NAME" label="设备类型"/>
|
|
<el-table-column prop="DEPARTMENTNAME" label="点位负责部门"/>
|
|
<el-table-column prop="POSTNAME" label="岗位"/>
|
|
<el-table-column prop="USERNAME" label="点位责任人"/>
|
|
<el-table-column label="操作" width="350">
|
|
<template slot-scope="{row}">
|
|
<el-button type="success" icon="el-icon-success" @click="handleInfo(row)">查看检查项</el-button>
|
|
<el-button type="danger" icon="el-icon-success" @click="handleDelete(row)">移除此设备</el-button>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="ui-height"/>
|
|
<div class="ui-foot">
|
|
<el-button v-if="FIRE_CHECK_ID == ''" type="success" @click="save">保 存</el-button>
|
|
<el-button v-else type="success" @click="edit">修 改</el-button>
|
|
<el-button plain type="info" @click="back">返 回</el-button>
|
|
</div>
|
|
<!--检查项数组-->
|
|
<el-dialog :visible.sync="checkShow" title="检查项列表" width="80%">
|
|
<div>
|
|
<el-table
|
|
ref="multipleTableRisk"
|
|
:data="csList"
|
|
border
|
|
tooltip-effect="dark"
|
|
style="width: 100%;">
|
|
<el-table-column type="index" label="序号" width="55" align="center"/>
|
|
<el-table-column prop="FIRE_CHECK_STANDARD_ITEM" label="检查项"/>
|
|
</el-table>
|
|
</div>
|
|
<div class="page-btn-group">
|
|
<div>
|
|
<el-button plain type="info" @click="closAddOtherPoint">返 回</el-button>
|
|
</div>
|
|
</div>
|
|
</el-dialog>
|
|
<!--选择设备与检查标准-->
|
|
<el-dialog :visible.sync="dialogTableVisible" title="添加消防设备" width="80%">
|
|
<div class="filter-container">
|
|
<el-form label-width="10px">
|
|
<el-row>
|
|
<el-col :span="4">
|
|
<el-form-item label="消防区域" label-width="80px">
|
|
<el-select
|
|
v-model="waitFor.FIRE_REGION_ID"
|
|
placeholder="请选择"
|
|
class="filter-item"
|
|
@change="changeRegionName">
|
|
<el-option
|
|
v-for="item in varRegionList"
|
|
:key="item.FIRE_REGION_ID"
|
|
:label="item.FIRE_REGION_NAME"
|
|
:value="item.FIRE_REGION_ID"
|
|
/>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="4">
|
|
<el-form-item label="消防点位" label-width="80px">
|
|
<el-select
|
|
v-model="waitFor.FIRE_POINT_ID"
|
|
placeholder="请选择点位"
|
|
class="filter-item"
|
|
@change="changePointName">
|
|
<el-option
|
|
v-for="item in pointList"
|
|
:key="item.FIRE_POINT_ID"
|
|
:label="item.FIRE_POINT_NAME"
|
|
:value="item.FIRE_POINT_ID"/>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="4">
|
|
<el-form-item label="设备编号" label-width="80px">
|
|
<el-input
|
|
v-model="waitFor.FIRE_DEVICE_CODE"
|
|
placeholder="请输入"
|
|
/>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="4">
|
|
<el-form-item label="消防设备类型" label-width="100px">
|
|
<el-select
|
|
v-model="waitFor.FIRE_DEVICE_TYPE_ID"
|
|
placeholder="消防设备类型"
|
|
class="filter-item"
|
|
@change="changeDeviceCode">
|
|
<el-option
|
|
v-for="item in deviceTypeList"
|
|
:key="item.NAME"
|
|
:label="item.NAME"
|
|
:value="item.BIANMA"/>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="4" label-width="80px">
|
|
<el-form-item>
|
|
<el-button v-waves class="filter-item" type="success" icon="el-icon-refresh" @click="getDevice">
|
|
查询设备
|
|
</el-button>
|
|
<el-button v-waves class="filter-item" type="success" icon="el-icon-refresh" @click="getReset">
|
|
重置
|
|
</el-button>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
</el-form>
|
|
</div>
|
|
<el-table
|
|
ref="multipleTableRisk"
|
|
:data="tempList"
|
|
border
|
|
tooltip-effect="dark"
|
|
style="width: 100%;">
|
|
<el-table-column :reserve-selection="true" type="selection" width="55" align="center"/>
|
|
<el-table-column type="index" label="序号" width="55" align="center"/>
|
|
<el-table-column prop="FIRE_REGION_NAME" label="消防区域"/>
|
|
<el-table-column prop="FIRE_POINT_NAME" label="消防点位"/>
|
|
<el-table-column prop="FIRE_POINT_CODE" label="点位编号"/>
|
|
<el-table-column prop="FIRE_DEVICE_CODE" label="设备编号"/>
|
|
<el-table-column prop="DEPARTMENTNAME" label="部门"/>
|
|
<el-table-column prop="POSTNAME" label="岗位"/>
|
|
<el-table-column prop="USERNAME" label="责任人"/>
|
|
</el-table>
|
|
<div class="page-btn-group">
|
|
<div/>
|
|
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getDevice"/>
|
|
</div>
|
|
<template slot="footer">
|
|
<el-button type="success" @click="checkItem">保 存</el-button>
|
|
<el-button plain type="info" @click="closAddOtherPoint">返 回</el-button>
|
|
</template>
|
|
</el-dialog>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import Pagination from '@/components/Pagination' // 通过 el-pagination二次打包
|
|
import { requestFN } from '@/utils/request'
|
|
import SelectTree from '@/components/SelectTree'
|
|
import waves from '@/directive/waves' // waves directive
|
|
export default {
|
|
|
|
components: { Pagination, SelectTree },
|
|
directives: { waves },
|
|
data() {
|
|
return {
|
|
FILTER_LIST_REGION: [],
|
|
FILTER_LIST_POINT: [],
|
|
deviceCriteria: {
|
|
FIRE_REGION_NAME: '',
|
|
FIRE_POINT_NAME: ''
|
|
},
|
|
FIRE_CHECK_ID: '',
|
|
dialogFormVisible: false,
|
|
dialogTableVisible: false,
|
|
riskForm: {
|
|
RISKPOINT_ID: '',
|
|
DEPARTMENT_ID: '',
|
|
USER_ID: '',
|
|
RISK_UNIT_ID: '',
|
|
IDENTIFICATION_ID: '',
|
|
RISK_DESCR: '',
|
|
LEVELID: '',
|
|
MEASURES: '',
|
|
ACCIDENTS: '',
|
|
ACCIDENTS_NAME: '',
|
|
CHECK_CONTENT: '',
|
|
EME_MEASURES: ''
|
|
},
|
|
riskRules: {
|
|
DEPARTMENT_ID: [{ required: true, message: '部门不能为空', trigger: 'blur' }]
|
|
},
|
|
unitList: [],
|
|
LISTMANAGER_ID: '', // 主键ID
|
|
KEYWORDS: '',
|
|
msg: 'add',
|
|
periodList: [],
|
|
typeList: [],
|
|
postList: [],
|
|
userList: [],
|
|
screenTypeList: [],
|
|
defaultNodes: {},
|
|
DEPARTMENT_ID: '',
|
|
varList: [],
|
|
otherIds: [],
|
|
listItem: [],
|
|
START_DATE: '',
|
|
END_DATE: '',
|
|
USER_IDS: '', // 负责人合集
|
|
checked: false, // 全选框
|
|
checkList: [], // 检查项
|
|
waitfordel: [], // 待删除的检查项id
|
|
waitfordelDeviceIds: [], // 待删除的检查项id
|
|
checkListBackUp: [], // 检查项备份数组
|
|
otherItemList: [], // 选中的其他存在风险集合
|
|
treeData: [],
|
|
peopleList: [],
|
|
partsList: [],
|
|
dates: [], // 时间
|
|
defaultProps: {
|
|
value: 'id',
|
|
children: 'nodes',
|
|
label: 'name'
|
|
},
|
|
formLabelWidth: '120px',
|
|
OTHERLEVELID: '',
|
|
OTHERDEPARTMENT_ID: '',
|
|
OTHERKEYWORDS: '',
|
|
levelList: [],
|
|
riskList: [],
|
|
// myself------------------
|
|
checkShow: false,
|
|
// 检查表类型 0日检1月检
|
|
checkType: [
|
|
{ value: '0', label: '日检' },
|
|
{ value: '1', label: '月检' }
|
|
],
|
|
form: {
|
|
FIRE_CHECK_STANDARD_NAME: '',
|
|
FIRE_CHECK_TYPE: '',
|
|
POST_ID: [],
|
|
FIRE_CHECK_TYPE_NAME: '',
|
|
DEPARTMENT_ID: [],
|
|
UPDATE_DEPARTMENT_ID: '',
|
|
USER_ID: [],
|
|
UPDATE_USER_ID: '',
|
|
DATA: ''
|
|
},
|
|
rules: {
|
|
FIRE_CHECK_STANDARD_NAME: [{ required: true, message: '清单名称不能为空', trigger: 'blur' }],
|
|
DEPARTMENT_ID: [{ required: true, message: '部门不能为空', trigger: 'blur' }],
|
|
POST_ID: [{ required: true, message: '岗位不能为空', trigger: 'blur' }],
|
|
USER_ID: [{ required: true, message: '人员不能为空', trigger: 'blur' }],
|
|
FIRE_CHECK_TYPE: [{ required: true, message: '清单类型不能为空', trigger: 'blur' }]
|
|
},
|
|
varRegionList: '',
|
|
// 检查标准数组
|
|
csList: [],
|
|
// 检查项的id
|
|
idListFcS: [],
|
|
tableList: [],
|
|
tempList: [],
|
|
// 添加其他点位准备压入 展示页的数据
|
|
waitList: [],
|
|
tempRow: '',
|
|
tempidListFcS: '',
|
|
typeData: [],
|
|
deviceTypeList: [],
|
|
// 弹窗的点位等信息
|
|
waitFor: {
|
|
FIRE_REGION_ID: '',
|
|
FIRE_REGION_NAME: '',
|
|
FIRE_DEVICE_ID: '',
|
|
FIRE_DEVICE_TYPE_ID: '',
|
|
FIRE_DEVICE_CODE: '',
|
|
FIRE_DEVICE_TYPE: '',
|
|
FIRE_POINT_ID: '',
|
|
FIRE_POINT_NAME: '',
|
|
FIRE_POINT_CODE: '',
|
|
DEPARTMENTNAME: '',
|
|
POSTNAME: '',
|
|
USERNAME: '',
|
|
varList: [],
|
|
idListFcS: []
|
|
},
|
|
pointList: [],
|
|
pointCode: '',
|
|
// ------------end
|
|
total: 0,
|
|
listQuery: {
|
|
page: 1,
|
|
limit: 20
|
|
},
|
|
multipleSelectionAll: [], // 所有选中的数据包含跨页数据
|
|
multipleSelection: [], // 当前页选中的数据
|
|
accidentList: [],
|
|
updateValue: true,
|
|
normalizer(node) {
|
|
return {
|
|
id: node.id,
|
|
label: node.name,
|
|
children: node.nodes,
|
|
isDisabled: node.pId === '0'
|
|
}
|
|
},
|
|
userListChangeValue: 0
|
|
}
|
|
},
|
|
watch: {
|
|
// 根据消防设备 查 检查列表
|
|
'waitFor.FIRE_DEVICE_ID': {
|
|
handler(newVal, oldVal) {
|
|
if (newVal !== '') this.changeCheckItem(newVal)
|
|
}, immediate: false
|
|
},
|
|
'form.USER_ID': {
|
|
handler(newVal, oldVal) {
|
|
|
|
}, immediate: false
|
|
},
|
|
'waitFor.FIRE_REGION_ID': {
|
|
handler(newVal, oldVal) {
|
|
if (newVal !== '') this.waitFor.FIRE_POINT_ID = ''
|
|
if (newVal !== '') this.getPointByRegionId(newVal)
|
|
}, immediate: false
|
|
},
|
|
'waitFor.FIRE_POINT_ID': {
|
|
handler(newVal, oldVal) {
|
|
if (newVal !== '') this.getDeviceByPointId(newVal)
|
|
}, immediate: false
|
|
},
|
|
// 'form.POST_ID': {
|
|
// handler(newVal, oldVal) {
|
|
// this.peopleList = []
|
|
// this.form.USER_ID = []
|
|
// if (this.form.POST_ID != '') this.getUserList()
|
|
// }
|
|
// },
|
|
'form.DEPARTMENT_ID': {
|
|
// 选择了负责部门 查询相关的点检
|
|
handler(newVal, oldVal) {
|
|
this.peopleList = []
|
|
// if (newVal !== '') this.form.POST_ID = ''
|
|
if (newVal.length !== 0) this.getList(newVal)
|
|
if (newVal.length !== 0) this.getCheckList(newVal)
|
|
// if (newVal !== '') this.getPostList(newVal)
|
|
if (newVal.length !== 0) this.getUserList()
|
|
},
|
|
immediate: false
|
|
},
|
|
'form.UPDATE_DEPARTMENT_ID': {
|
|
// 选择了负责部门 查询相关的点检
|
|
handler(newVal, oldVal) {
|
|
this.peopleList = []
|
|
// if (newVal !== '') this.form.POST_ID = ''
|
|
if (newVal.length !== 0) this.getList(newVal)
|
|
if (newVal.length !== 0) this.getCheckList(newVal)
|
|
// if (newVal !== '') this.getPostList(newVal)
|
|
if (newVal.length !== 0) this.getUserList()
|
|
},
|
|
immediate: false
|
|
}
|
|
},
|
|
async created() {
|
|
this.getDict()
|
|
await this.getTreeData()
|
|
this.getFireRegion()
|
|
if (this.$parent.FIRE_CHECK_ID) {
|
|
// 修改的
|
|
this.FIRE_CHECK_ID = this.$parent.FIRE_CHECK_ID
|
|
this.getData(this.$parent.FIRE_CHECK_ID)
|
|
}
|
|
},
|
|
methods: {
|
|
getUserList() {
|
|
let DEPARTMENT_ID = ''
|
|
if (this.FIRE_CHECK_ID != '') {
|
|
DEPARTMENT_ID = this.form.UPDATE_DEPARTMENT_ID
|
|
} else {
|
|
DEPARTMENT_ID = this.form.DEPARTMENT_ID.toString()
|
|
}
|
|
requestFN(
|
|
'/user/listAll',
|
|
{
|
|
DEPARTMENT_ID: DEPARTMENT_ID
|
|
// DEPARTMENT_ID: this.form.DEPARTMENT_ID,
|
|
// POST_ID: this.form.POST_ID
|
|
}
|
|
).then((data) => {
|
|
this.peopleList = data.userList
|
|
}).catch((e) => {
|
|
})
|
|
},
|
|
// 岗位
|
|
getPostList() {
|
|
requestFN(
|
|
'/post/listAll',
|
|
{ DEPARTMENT_ID: this.form.DEPARTMENT_ID }
|
|
).then((data) => {
|
|
this.postList = data.postList
|
|
}).catch((e) => {
|
|
})
|
|
},
|
|
getDevice() {
|
|
requestFN(
|
|
'/fireDevice/list?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page,
|
|
{
|
|
FIRE_DEVICE_TYPE_ID: this.waitFor.FIRE_DEVICE_TYPE_ID,
|
|
FIRE_POINT_ID: this.waitFor.FIRE_POINT_ID,
|
|
FIRE_DEVICE_CODE: this.waitFor.FIRE_DEVICE_CODE,
|
|
FIRE_REGION_ID: this.waitFor.FIRE_REGION_ID
|
|
}
|
|
).then((data) => {
|
|
this.listLoading = false
|
|
this.tempList = data.varList
|
|
this.total = data.page.totalResult
|
|
}).catch((e) => {
|
|
this.listLoading = false
|
|
})
|
|
},
|
|
getCheckTypeName(value) {
|
|
this.periodList.find((item) => {
|
|
if (item.DICTIONARIES_ID === value) {
|
|
this.form.FIRE_CHECK_TYPE_NAME = item.NAME
|
|
}
|
|
})
|
|
},
|
|
// 根据设备id 获取 检查项
|
|
getDeviceCheckItem(FIRE_DEVICE_ID, FIRE_DEVICE_TYPE_ID) {
|
|
requestFN(
|
|
'/fireCheckStandard/getStandardListByDeviceId',
|
|
{
|
|
FIRE_DEVICE_ID: FIRE_DEVICE_ID,
|
|
FIRE_DEVICE_TYPE_ID: FIRE_DEVICE_TYPE_ID
|
|
}
|
|
).then((data) => {
|
|
this.csList = data.varList
|
|
this.total = data.page.totalResult
|
|
}).catch((e) => {
|
|
})
|
|
},
|
|
// 点击添加其他的 器材
|
|
changeCheckItem(newVal) {
|
|
requestFN(
|
|
'/fireCheckStandard/list',
|
|
{
|
|
FIRE_DEVICE_ID: newVal
|
|
}
|
|
).then((data) => {
|
|
this.tempList = data.varList
|
|
this.waitList = data.waitList
|
|
this.total = data.page.totalResult
|
|
}).catch((e) => {
|
|
})
|
|
},
|
|
// 部门列表树
|
|
async getTreeData() {
|
|
return new Promise((resolve, reject) => {
|
|
requestFN(
|
|
'/department/listTree',
|
|
{}
|
|
).then((data) => {
|
|
this.treeData = JSON.parse(data.zTreeNodes)
|
|
this.treeData.forEach((item) => {
|
|
item.isDisabled = true
|
|
})
|
|
resolve()
|
|
}).catch((e) => {
|
|
})
|
|
})
|
|
},
|
|
getList(DEPARTMENT_ID) {
|
|
// debugger
|
|
this.listLoading = true
|
|
if (DEPARTMENT_ID) {
|
|
this.DEPARTMENT_ID = DEPARTMENT_ID
|
|
}
|
|
requestFN(
|
|
'/user/getDepartmentId',
|
|
{
|
|
KEYWORDS: this.KEYWORDS,
|
|
DEPARTMENT_ID: this.DEPARTMENT_ID.toString()
|
|
}
|
|
).then((data) => {
|
|
this.listLoading = false
|
|
// this.peopleList = data.userList
|
|
this.total = data.page.totalResult
|
|
}).catch((e) => {
|
|
this.listLoading = false
|
|
})
|
|
},
|
|
// 删除单个检查项 未用
|
|
handleCheckDelete(row) {
|
|
this.tempRow.varList = this.tempList.filter(o => o.FIRE_CHECK_STANDARD_ID !== row.FIRE_CHECK_STANDARD_ID)
|
|
this.tempList = this.tempList.filter(o => o.FIRE_CHECK_STANDARD_ID !== row.FIRE_CHECK_STANDARD_ID)
|
|
this.tempRow.idListFcS = this.tempidListFcS.filter(o => o !== row.FIRE_CHECK_STANDARD_ID)
|
|
this.tempidListFcS = this.tempidListFcS.filter(o => o !== row.FIRE_CHECK_STANDARD_ID)
|
|
},
|
|
// 获取消防区域名字
|
|
changeRegionName(value) {
|
|
this.varRegionList.find((item) => {
|
|
if (item.FIRE_REGION_ID === value) {
|
|
this.waitFor.FIRE_REGION_NAME = item.FIRE_REGION_NAME
|
|
}
|
|
})
|
|
},
|
|
// 获取点位名字
|
|
changePointName(value) {
|
|
this.pointList.find((item) => {
|
|
if (item.FIRE_POINT_ID === value) {
|
|
this.waitFor.FIRE_POINT_NAME = item.FIRE_POINT_NAME
|
|
this.waitFor.FIRE_POINT_ID = item.FIRE_POINT_ID
|
|
this.waitFor.FIRE_POINT_CODE = this.pointCode
|
|
}
|
|
})
|
|
},
|
|
// 获取消防设备
|
|
changeDeviceCode(value) {
|
|
this.pointList.find((item) => {
|
|
if (item.FIRE_DEVICE_ID === value) {
|
|
this.waitFor.FIRE_DEVICE_ID = item.FIRE_DEVICE_ID
|
|
this.waitFor.FIRE_DEVICE_CODE = item.FIRE_DEVICE_CODE
|
|
}
|
|
})
|
|
},
|
|
// 查看当前的检查项
|
|
handleInfo(row) {
|
|
this.checkShow = true
|
|
this.getDeviceCheckItem(row.FIRE_DEVICE_ID, row.FIRE_DEVICE_TYPE_ID)
|
|
},
|
|
// 删除单个行
|
|
handleDelete(row) {
|
|
this.$confirm('确定要移除吗?', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
}).then(() => {
|
|
this.listLoading = true
|
|
if (row.FIRE_PREPARED_ID) this.waitfordel.push(row.FIRE_PREPARED_ID)
|
|
if (row.FIRE_DEVICE_ID) this.waitfordelDeviceIds.push(row.FIRE_DEVICE_ID)
|
|
this.checkList = this.checkList.filter(o => o.FIRE_DEVICE_ID !== row.FIRE_DEVICE_ID)
|
|
this.checkListBackUp = this.checkListBackUp.filter(o => o.FIRE_DEVICE_ID !== row.FIRE_DEVICE_ID)
|
|
this.$message.success('移除成功')
|
|
this.listLoading = false
|
|
})
|
|
},
|
|
// 获取所有的检查标准
|
|
/*
|
|
getCheckStandard() {
|
|
requestFN(
|
|
'/fireCheckStandard/list?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page,
|
|
{}
|
|
).then((data) => {
|
|
this.listLoading = false
|
|
this.csList = data.varList
|
|
this.total = data.page.totalResult
|
|
this.hasButton()
|
|
}).catch((e) => {
|
|
this.listLoading = false
|
|
})
|
|
},*/
|
|
// 获取点位下所有设备
|
|
getDeviceByPointId(POINT_ID) {
|
|
requestFN(
|
|
'/fireDevice/getDeviceByPointId',
|
|
{ FIRE_POINT_ID: POINT_ID }
|
|
).then((data) => {
|
|
this.pointList = data.varList
|
|
this.pointCode = data.pointCode
|
|
}).catch((e) => {
|
|
})
|
|
},
|
|
getCheckList(DEPARTMENT_ID) {
|
|
if (!this.FIRE_CHECK_ID) {
|
|
requestFN(
|
|
'/fireCheckList/getCheckList',
|
|
{ DEPARTMENT_ID: DEPARTMENT_ID.toString() }
|
|
).then((data) => {
|
|
this.checkList = data.varList
|
|
this.checkListBackUp = data.varList
|
|
var r = new Set()
|
|
var p = new Set()
|
|
data.varList.forEach(item => {
|
|
if (!r.has(item.FIRE_REGION_NAME)) {
|
|
r.add(item.FIRE_REGION_NAME)
|
|
}
|
|
if (!p.has(item.FIRE_POINT_NAME)) {
|
|
p.add(item.FIRE_POINT_NAME)
|
|
}
|
|
})
|
|
this.FILTER_LIST_REGION = r
|
|
this.FILTER_LIST_POINT = p
|
|
}).catch((e) => {
|
|
|
|
})
|
|
}
|
|
},
|
|
// 获取所有区域下的点位
|
|
getPointByRegionId(REGION_ID) {
|
|
requestFN(
|
|
'/fireregion/getAllPointName',
|
|
{ FIRE_REGION_ID: REGION_ID }
|
|
).then((data) => {
|
|
this.pointList = data.varList
|
|
}).catch((e) => {
|
|
})
|
|
},
|
|
save() {
|
|
if (this.checkList == null || this.checkList.length === 0) {
|
|
this.$message({
|
|
message: '请选择检查项...',
|
|
type: 'error'
|
|
})
|
|
return false
|
|
}
|
|
this.$refs.form.validate(valid => {
|
|
// debugger
|
|
// 库里已有数据 所以对改数据修改
|
|
if (valid) {
|
|
this.listLoading = true
|
|
this.form.DATA = this.checkList
|
|
requestFN(
|
|
'/fireCheckList/saveInfo',
|
|
{
|
|
from: JSON.stringify(this.form)
|
|
}
|
|
).then((data) => {
|
|
this.listLoading = false
|
|
this.dialogFormEdit = false
|
|
this.$parent.activeName = 'List'
|
|
}).catch((e) => {
|
|
this.listLoading = false
|
|
})
|
|
} else {
|
|
this.form.DATA = this.tableList
|
|
return false
|
|
}
|
|
})
|
|
},
|
|
edit() {
|
|
this.$confirm('确定要修改吗?当前排查的清单将会变更,但已排查的记录不会变更。', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
}).then(() => {
|
|
if (this.checkList == null || this.checkList.length === 0) {
|
|
this.$message({
|
|
message: '请选择检查项...',
|
|
type: 'error'
|
|
})
|
|
return false
|
|
}
|
|
this.$refs.form.validate(valid => {
|
|
// debugger
|
|
// 库里已有数据 所以对改数据修改
|
|
if (valid) {
|
|
this.listLoading = true
|
|
this.form.DATA = this.checkList
|
|
requestFN(
|
|
// 修改人 会添加很多表
|
|
// '/fireCheckList/updById',
|
|
// {
|
|
// DATA_IDS: this.FIRE_CHECK_ID,
|
|
// from: JSON.stringify(this.form)
|
|
// }
|
|
'/fireCheckList/upd4PcById',
|
|
{
|
|
FIRE_CHECK_ID: this.FIRE_CHECK_ID,
|
|
from: JSON.stringify(this.form),
|
|
DEVICE_IDS: this.waitfordelDeviceIds.join(','),
|
|
DEVICE_PREPARED_IDS: this.waitfordel.join(',')
|
|
}
|
|
).then((data) => {
|
|
this.listLoading = false
|
|
this.dialogFormEdit = false
|
|
this.$parent.activeName = 'List'
|
|
this.$message.success('修改成功')
|
|
}).catch((e) => {
|
|
this.listLoading = false
|
|
})
|
|
} else {
|
|
this.form.DATA = this.tableList
|
|
return false
|
|
}
|
|
})
|
|
})
|
|
},
|
|
// 获取消防区域列表
|
|
getFireRegion() {
|
|
requestFN(
|
|
'/fireregion/getAllRegionName',
|
|
{}
|
|
).then((data) => {
|
|
this.varRegionList = data.varList
|
|
}).catch((e) => {
|
|
})
|
|
},
|
|
// 风险项搜索条件重置
|
|
getReset() {
|
|
this.waitFor.FIRE_REGION_ID = ''
|
|
this.waitFor.FIRE_POINT_ID = ''
|
|
this.waitFor.FIRE_CHECK_TYPE = ''
|
|
this.waitFor.FIRE_CHECK_TYPE_ID = ''
|
|
this.waitFor.FIRE_DEVICE_TYPE_ID = ''
|
|
this.waitFor.FIRE_DEVICE_ID = ''
|
|
this.waitFor.FIRE_DEVICE_CODE = ''
|
|
this.waitFor.FIRE_POINT_NAME = ''
|
|
this.pointList = []
|
|
this.getList()
|
|
this.getDevice()
|
|
},
|
|
// 选择检查项
|
|
checkItem() {
|
|
// 跨页保存
|
|
const _selectData = this.$refs.multipleTableRisk.selection
|
|
if (_selectData == null || _selectData.length == 0) {
|
|
this.$message({
|
|
message: '请选中要保存的项...',
|
|
type: 'error'
|
|
})
|
|
return false
|
|
}
|
|
_selectData.map((item, index) => {
|
|
var flag = true
|
|
this.checkList.forEach(cl => {
|
|
if (cl.FIRE_DEVICE_ID === item.FIRE_DEVICE_ID) {
|
|
flag = false
|
|
}
|
|
})
|
|
if (flag) {
|
|
this.checkList.push(item)
|
|
var p = new Set(this.FILTER_LIST_POINT)
|
|
var r = new Set(this.FILTER_LIST_REGION)
|
|
|
|
if (!p.has(item.FIRE_POINT_NAME)) {
|
|
p.add(item.FIRE_POINT_NAME)
|
|
this.FILTER_LIST_POINT = p
|
|
}
|
|
if (!r.has(item.FIRE_REGION_NAME)) {
|
|
r.add(item.FIRE_REGION_NAME)
|
|
this.FILTER_LIST_REGION = r
|
|
}
|
|
// this.checkListBackUp.push(item)
|
|
}
|
|
// this.checkList = this.checkList.filter(cl => cl.FIRE_DEVICE_ID === item.FIRE_DEVICE_ID)
|
|
})
|
|
// 清除选中项 this.$refs.multipleTable.clearSelection()
|
|
// 校验等待添加的 集合不为null
|
|
// if (this.waitFor.FIRE_DEVICE_ID !== '') {
|
|
// this.checkList = this.checkList.filter(cl => cl.FIRE_DEVICE_ID !== this.waitList[0].FIRE_DEVICE_ID)
|
|
// this.checkList.push(this.waitList[0])
|
|
// } else {
|
|
// this.$message({ message: '请选择设备', type: 'error' })
|
|
// return
|
|
// }
|
|
// this.$message({ message: '添加成功', type: 'success' })
|
|
this.resetWaitFor()
|
|
this.closAddOtherPoint()
|
|
},
|
|
// 清除缓存
|
|
resetWaitFor() {
|
|
this.waitFor.FIRE_REGION_ID = ''
|
|
this.waitFor.FIRE_REGION_NAME = ''
|
|
this.waitFor.FIRE_CHECK_STANDARD_NAME = ''
|
|
this.waitFor.FIRE_DEVICE_ID = ''
|
|
this.waitFor.FIRE_DEVICE_CODE = ''
|
|
this.waitFor.FIRE_CHECK_TYPE = ''
|
|
this.waitFor.FIRE_POINT_ID = ''
|
|
this.waitFor.FIRE_POINT_NAME = ''
|
|
this.waitFor.FIRE_POINT_CODE = ''
|
|
this.waitList = []
|
|
this.waitFor.varList = []
|
|
this.waitFor.idListFcS = []
|
|
},
|
|
searchCheckList() {
|
|
if (this.deviceCriteria.FIRE_DEVICE_CODE) {
|
|
this.checkList = this.checkList.filter(item => item.FIRE_DEVICE_CODE.search(this.deviceCriteria.FIRE_DEVICE_CODE) !== -1)
|
|
}
|
|
if (this.deviceCriteria.FIRE_POINT_CODE) {
|
|
this.checkList = this.checkList.filter(item => item.FIRE_POINT_CODE.search(this.deviceCriteria.FIRE_POINT_CODE) !== -1)
|
|
}
|
|
if (this.deviceCriteria.FIRE_POINT_NAME) {
|
|
this.checkList = this.checkList.filter(item => item.FIRE_POINT_NAME === this.deviceCriteria.FIRE_POINT_NAME)
|
|
}
|
|
if (this.deviceCriteria.FIRE_REGION_NAME) {
|
|
this.checkList = this.checkList.filter(item => item.FIRE_REGION_NAME.search(this.deviceCriteria.FIRE_REGION_NAME) !== -1)
|
|
}
|
|
},
|
|
resetCheckSearch() {
|
|
this.checkList = this.checkListBackUp
|
|
this.deviceCriteria = {}
|
|
},
|
|
// 批量移除检查项
|
|
removeSelectHandel() {
|
|
this.$confirm('确定要移除吗?', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
}).then(() => {
|
|
const selectData = this.$refs.multipleTable.selection
|
|
if (!selectData.length > 0) {
|
|
this.$message.warning('请选择要移除的设备')
|
|
return
|
|
}
|
|
selectData.forEach(item => {
|
|
if (item.FIRE_PREPARED_ID) {
|
|
this.waitfordel.push(item.FIRE_PREPARED_ID)
|
|
}
|
|
this.waitfordelDeviceIds.push(item.FIRE_DEVICE_ID)
|
|
})
|
|
var set1 = new Set(this.checkList)
|
|
var set2 = new Set(selectData)
|
|
var set3 = new Set(this.checkListBackUp)
|
|
var subset = []
|
|
var subsetBack = []
|
|
for (const item of set1) {
|
|
if (!set2.has(item)) {
|
|
subset.push(item)
|
|
}
|
|
}
|
|
for (const item of set3) {
|
|
if (!set2.has(item)) {
|
|
subsetBack.push(item)
|
|
}
|
|
}
|
|
this.checkList = subset
|
|
this.checkListBackUp = subsetBack
|
|
this.$message.success('移除成功')
|
|
})
|
|
},
|
|
// 添加消防设备与检查内容
|
|
showRisk() {
|
|
if (this.form.USER_ID === '') {
|
|
this.$message({ message: '请填写表头', type: 'error' })
|
|
return
|
|
}
|
|
this.resetWaitFor()
|
|
this.getDevice()
|
|
this.$refs.multipleTableRisk && this.$refs.multipleTableRisk.clearSelection()
|
|
this.dialogTableVisible = true
|
|
// 重置表单
|
|
},
|
|
// 关闭选择其他风险
|
|
closAddOtherPoint() {
|
|
this.dialogTableVisible = false
|
|
this.checkShow = false
|
|
},
|
|
// 返回列表
|
|
back() {
|
|
this.$parent.activeName = 'List'
|
|
},
|
|
getData(FIRE_CHECK_ID) {
|
|
requestFN(
|
|
'/fireCheckList/getInfo4Edit',
|
|
{
|
|
FIRE_CHECK_ID: FIRE_CHECK_ID
|
|
}
|
|
).then((data) => {
|
|
this.form.FIRE_CHECK_STANDARD_NAME = data.checkListInfo.FIRE_CHECK_STANDARD_NAME
|
|
this.form.FIRE_CHECK_TYPE = data.checkListInfo.FIRE_CHECK_TYPE
|
|
// this.form.DEPARTMENT_ID = data.checkListInfo.DEPARTMENT_ID
|
|
this.form.DEPARTMENT_ID.push(data.checkListInfo.DEPARTMENT_ID)
|
|
this.form.UPDATE_DEPARTMENT_ID = data.checkListInfo.DEPARTMENT_ID
|
|
this.$nextTick(() => {
|
|
// this.form.POST_ID = data.checkListInfo.POST_ID
|
|
this.userList = []
|
|
this.getUserList()
|
|
const u = []
|
|
u.push(data.checkListInfo.USER_ID)
|
|
this.form.UPDATE_USER_ID = data.checkListInfo.USER_ID
|
|
this.$nextTick(() => {
|
|
this.form.USER_ID = u
|
|
this.checkListBackUp = data.checkStandardList
|
|
this.checkList = data.checkStandardList
|
|
var r = new Set()
|
|
var p = new Set()
|
|
data.checkStandardList.forEach(item => {
|
|
if (!r.has(item.FIRE_REGION_NAME)) {
|
|
r.add(item.FIRE_REGION_NAME)
|
|
}
|
|
if (!p.has(item.FIRE_POINT_NAME)) {
|
|
p.add(item.FIRE_POINT_NAME)
|
|
}
|
|
})
|
|
this.FILTER_LIST_REGION = r
|
|
this.FILTER_LIST_POINT = p
|
|
})
|
|
})
|
|
})
|
|
},
|
|
// 数据字典
|
|
getDict() {
|
|
requestFN(
|
|
'/dictionaries/getLevels',
|
|
{
|
|
DICTIONARIES_ID: 'f60cf0e8315b4993b6d6049dd29f2ba5'
|
|
}
|
|
).then((data) => {
|
|
this.periodList = data.list
|
|
})
|
|
requestFN(
|
|
'dictionaries/getLevels',
|
|
{
|
|
DICTIONARIES_ID: '249151f04fd64132a949fdd430a7b9c5'
|
|
}
|
|
).then((data) => {
|
|
this.deviceTypeList = data.list
|
|
})
|
|
},
|
|
onClick() {
|
|
this.updateValue = false
|
|
this.$nextTick(() => {
|
|
this.updateValue = true
|
|
})
|
|
},
|
|
// 选择项时触发的事件
|
|
handleSelect(selectedItems) {
|
|
// 选择父节点时同时勾选全部子节点
|
|
if (!this.form.DEPARTMENT_ID.includes(selectedItems.id)) {
|
|
this.form.DEPARTMENT_ID.push(selectedItems.id)
|
|
}
|
|
this.pullSelectedNodes(selectedItems)
|
|
this.onClick()
|
|
},
|
|
// 将树节点的子节点全部添加到数组中
|
|
pullSelectedNodes(selectedItems) {
|
|
if (selectedItems.nodes && selectedItems.nodes.length > 0) {
|
|
for (let i = 0; i < selectedItems.nodes.length; i++) {
|
|
if (!this.form.DEPARTMENT_ID.includes(selectedItems.nodes[i].id)) {
|
|
this.form.DEPARTMENT_ID.push(selectedItems.nodes[i].id)
|
|
}
|
|
this.pullSelectedNodes(selectedItems.nodes[i])
|
|
}
|
|
}
|
|
},
|
|
// 移除选中项时触发的事件
|
|
handleRemove(selectedItems) {
|
|
console.log(this.form.USER_ID)
|
|
const currentUserId = this.form.USER_ID
|
|
requestFN(
|
|
'/user/listUserByCorp',
|
|
{
|
|
DEPARTMENT_ID: selectedItems.id
|
|
}
|
|
).then((data) => {
|
|
const userList = data.userList
|
|
if (userList) {
|
|
for (let i = 0; i < userList.length; i++) {
|
|
for (let j = 0; j < this.form.USER_ID.length; j++) {
|
|
if (userList[i].USER_ID === this.form.USER_ID[j]) {
|
|
for (let k = 0; k < currentUserId.length; k++) {
|
|
if (this.form.USER_ID[j] === currentUserId[k]) {
|
|
console.log(this.form.USER_ID[j])
|
|
currentUserId.splice(k, 1)
|
|
break
|
|
}
|
|
}
|
|
break
|
|
}
|
|
}
|
|
}
|
|
}
|
|
this.listLoading = false
|
|
// this.peopleList = data.userList
|
|
}).catch((e) => {
|
|
this.listLoading = false
|
|
})
|
|
this.form.USER_ID = currentUserId
|
|
// 移除选中项时同时移除全部子节点
|
|
if (this.form.INVOLVING_CORPS_DEPART_ID.includes(selectedItems.id)) {
|
|
this.form.INVOLVING_CORPS_DEPART_ID.splice(this.form.INVOLVING_CORPS_DEPART_ID.indexOf(selectedItems.id), 1)
|
|
}
|
|
this.removeSelectedNodes(selectedItems)
|
|
this.onClick()
|
|
},
|
|
// 将选中项的子节点全部移除
|
|
removeSelectedNodes(selectedItems) {
|
|
if (selectedItems.nodes && selectedItems.nodes.length > 0) {
|
|
for (let i = 0; i < selectedItems.nodes.length; i++) {
|
|
if (this.form.INVOLVING_CORPS_DEPART_ID.includes(selectedItems.nodes[i].id)) {
|
|
this.form.INVOLVING_CORPS_DEPART_ID.splice(this.form.INVOLVING_CORPS_DEPART_ID.indexOf(selectedItems.nodes[i].id), 1)
|
|
}
|
|
this.removeSelectedNodes(selectedItems.nodes[i])
|
|
}
|
|
}
|
|
},
|
|
updateDeptChange() {
|
|
this.form.UPDATE_USER_ID = ''
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style scoped lang="scss">
|
|
.level-search {
|
|
align-items: center;
|
|
}
|
|
</style>
|