1. 消防模块问题修复以及重构

pet
shanao 2025-01-08 09:29:52 +08:00
parent 68f6944b64
commit f35b235d9f
11 changed files with 752 additions and 1438 deletions

View File

@ -1,20 +1,20 @@
<template>
<div class="app-container">
<div class="level-title">
<h1>{{ this.$parent.FIRE_DEVICE_ID == '' ? "新增" : "修改" }}</h1>
<h1>{{ this.$parent.fireDeviceId === '' ? "新增" : "修改" }}</h1>
</div>
<div>
<el-form ref="form" :model="form" :rules="rules" label-width="180px">
<el-row>
<el-col :span="12">
<el-row>
<el-form-item label="消防区域:" prop="FIRE_REGION_ID">
<el-select v-model="form.FIRE_REGION_ID" placeholder="请选择消防区域" class="filter-item" style="width: 100%;">
<el-form-item label="消防区域:" prop="fireRegionId">
<el-select v-model="form.fireRegionId" placeholder="请选择消防区域" class="filter-item" style="width: 100%;">
<el-option
v-for="item in varRegionList"
:key="item.FIRE_REGION_ID"
:label="item.FIRE_REGION_NAME"
:value="item.FIRE_REGION_ID"/>
:key="item.fireRegionId"
:label="item.fireRegionName"
:value="item.fireRegionId"/>
</el-select>
</el-form-item>
</el-row>
@ -22,21 +22,21 @@
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="消防点位:" prop="FIRE_POINT_ID">
<el-select v-model="form.FIRE_POINT_ID" placeholder="请选择点位" style="width: 100%;">
<el-form-item label="消防点位:" prop="firePointId">
<el-select v-model="form.firePointId" placeholder="请选择点位" style="width: 100%;">
<el-option
v-for="item in pointList"
:key="item.FIRE_POINT_NAME"
:label="item.FIRE_POINT_NAME"
:value="item.FIRE_POINT_ID"/>
:key="item.firePointName"
:label="item.firePointName"
:value="item.firePointId"/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="负责部门:" prop="DEPARTMENT_ID">
<el-select v-model="form.DEPARTMENT_ID" placeholder="请选择负责部门" style="width: 100%;">
<el-form-item label="负责部门:" prop="departmentId">
<el-select v-model="form.departmentId" placeholder="请选择负责部门" style="width: 100%;">
<el-option
v-for="item in departmentList"
:key="item.DEPARTMENT_ID"
@ -48,8 +48,8 @@
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="消防器材类型:" prop="FIRE_DEVICE_TYPE_ID">
<el-select v-model="form.FIRE_DEVICE_TYPE_ID" placeholder="请选择" style="width: 100%;">
<el-form-item label="消防器材类型:" prop="fireDeviceTypeId">
<el-select v-model="form.fireDeviceTypeId" placeholder="请选择" style="width: 100%;">
<el-option
v-for="item in typeData"
:key="item.NAME"
@ -59,23 +59,23 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-button v-show="form.FIRE_DEVICE_TYPE_ID" type="primary" style="margin-left: 16px;" @click="showDrawer">
<el-button v-show="form.fireDeviceTypeId" type="primary" style="margin-left: 16px;" @click="showDrawer">
查看检查项
</el-button>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="消防器材编码:" prop="FIRE_DEVICE_CODE">
<el-input v-model="form.FIRE_DEVICE_CODE" placeholder="请输入内容"/>
<el-form-item label="消防器材编码:" prop="fireDeviceCode">
<el-input v-model="form.fireDeviceCode" placeholder="请输入内容"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="有效期开始/结束时间:" prop="VALIDITY_TIME">
<el-form-item label="有效期开始/结束时间:" prop="validityTime">
<el-date-picker
v-model="VALIDITY_TIME"
v-model="validityTime"
type="daterange"
start-placeholder="有效期开始日期"
end-placeholder="有效期结束日期"
@ -88,10 +88,10 @@
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="存放地点:" prop="REMAKE">
<el-form-item label="存放地点:" prop="remake">
<el-input
:autosize="{ minRows: 3, maxRows: 5}"
v-model="form.REMAKE"
v-model="form.remake"
type="textarea"
placeholder="请输入内容"
/>
@ -108,7 +108,7 @@
:visible.sync="drawer"
direction="rtl"
title="检查项列表">
<el-table :data="CHECK_STANDARD_LIST" border>
<el-table :data="checkStandardList" border>
<el-table-column type="index" label="序号" width="55" align="center"/>
<el-table-column property="FIRE_CHECK_STANDARD_ITEM" label="检查项"/>
</el-table>
@ -117,112 +117,58 @@
</template>
<script>
import Pagination from '@/components/Pagination' // el-pagination
import Pagination from '@/components/Pagination'
import { requestFN } from '@/utils/request'
import SelectTree from '@/components/SelectTree'
import waves from '@/directive/waves'
import dateformat from '../../../../utils/dateformat'
export default {
export default {
components: { Pagination, SelectTree },
directives: { waves },
data() {
// var hasFireDeviceCode = (rule, value, callback) => {
// requestFN(
// '/fireDevice/hasFireDeviceCode',
// {
// FIRE_DEVICE_CODE: value
// }
// ).then((data) => {
// if (data.result == 'success') {
// callback()
// } else {
// callback(new Error(''))
// this.form.FIRE_DEVICE_CODE = ''
// }
// }).catch((e) => {
// callback()
// })
// }
return {
drawer: false,
count: 10,
dialogFormVisible: false,
dialogTableVisible: false,
DEPARTMENT_ID: '',
SORTINDEX: '',
PERSON_CHARGE: '',
CHECK_STANDARD_LIST: [],
VALIDITY_TIME: [],
checkStandardList: [],
validityTime: [],
departmentList: [],
form: {
FIRE_DEVICE_ID: '',
FIRE_POINT_NAME: '',
FIRE_POINT_ID: '',
FIRE_REGION_ID: '',
DEPARTMENT_ID: '',
DEPARTMENT_NAME: '',
FIRE_DEVICE_CODE: '',
FIRE_DEVICE_TYPE_ID: '',
VALIDITY_START_TIME: '',
VALIDITY_END_TIME: '',
REMAKE: ''
fireDeviceId: '',
firePointId: '',
fireRegionId: '',
departmentId: '',
fireDeviceCode: '',
fireDeviceTypeId: '',
remake: ''
},
rules: {
FIRE_DEVICE_TYPE_ID: [{ required: true, message: '请选择设备类型', trigger: 'change' }],
// FIRE_DEVICE_CODE: [{ required: true, message: '', trigger: 'blur' }, { validator: hasFireDeviceCode, trigger: 'blur' }],
FIRE_DEVICE_CODE: [{ required: true, message: '请输入设备编码', trigger: 'blur' }],
FIRE_POINT_ID: [{ required: true, message: '请选择消防点位', trigger: 'change' }],
FIRE_REGION_ID: [{ required: true, message: '请选择消防区域', trigger: 'change' }],
DEPARTMENT_ID: [{ required: true, message: '请选择负责部门', trigger: 'change' }],
REMAKE: [{ required: true, message: '请输入存放地点', trigger: 'blur' }]
fireDeviceTypeId: [{ required: true, message: '请选择设备类型', trigger: 'change' }],
fireDeviceCode: [{ required: true, message: '请输入设备编码', trigger: 'blur' }],
firePointId: [{ required: true, message: '请选择消防点位', trigger: 'change' }],
fireRegionId: [{ required: true, message: '请选择消防区域', trigger: 'change' }],
departmentId: [{ required: true, message: '请选择负责部门', trigger: 'change' }],
remake: [{ required: true, message: '请输入存放地点', trigger: 'blur' }]
},
riskForm: {
},
KEYWORDS: '',
periodList: [],
postList: [],
varList: [],
pointList: [],
varRegionList: [],
checked: false, //
checkList: [], //
otherItemList: [], //
treeData: [],
typeData: [],
partsList: [],
dates: [], //
defaultProps2: {
value: 'id',
children: 'nodes',
label: 'name'
},
defaultProps: {
value: 'id',
children: 'children',
label: 'name'
},
formLabelWidth: '120px',
total: 0,
listQuery: {
page: 1,
limit: 20
},
deForm: {
DEPARTMENT_ID: '',
DEPARTMENT_NAME: ''
},
multipleSelection: [],
REGION_ID: '',
FIRE_POINT_ID: '',
FIRE_REGION_ID: '',
accidentList: []
}
}
},
/**
* 监听区域id
*
* @param newVal 新值
* @param oldVal 旧值
*/
watch: {
'form.FIRE_REGION_ID': {
'form.fireRegionId': {
handler(newVal, oldVal) {
if (oldVal) this.form.FIRE_POINT_ID = ''
if (oldVal) this.form.firePointId = ''
this.$nextTick(() => {
this.getPointByRegionId(newVal)
this.getPointDepartmentId(newVal)
@ -231,61 +177,70 @@ export default {
immediate: false
}
},
/**
* @description 初始化数据
*
* @returns {Promise<void>}
*/
async created() {
this.FIRE_POINT_ID = this.$parent.FIRE_POINT_ID
this.FIRE_REGION_ID = this.$parent.FIRE_REGION_ID
this.DEPARTMENT_ID = this.$parent.DEPARTMENT_ID
if (this.$parent.row) {
this.form.DEPARTMENT_NAME = this.$parent.row.DEPARTMENT_NAME
this.form.FIRE_POINT_NAME = this.$parent.row.FIRE_POINT_NAME
}
this.getPointByRegionId(this.FIRE_REGION_ID)
this.getFireRegion()
this.getTreeData()
this.getDicListByPID()
if (this.$parent.fireDeviceId != null && this.$parent.fireDeviceId !== '') {
this.getDeviceInfo(this.$parent.fireDeviceId)
}
this.getDict()
this.getList(this.DEPARTMENT_ID)
},
methods: {
laod() {
this.count += 2
},
/**
* 获取检查项列表
*/
showDrawer() {
this.getStandardListByDeviceType(this.form.FIRE_DEVICE_TYPE_ID)
this.getStandardListByDeviceType(this.form.fireDeviceTypeId)
this.drawer = true
},
getStandardListByDeviceType(FIRE_DEVICE_TYPE) {
/**
* 根据设备类型获取检查项列表
*
* @param fireDeviceTypeId 设备类型
*/
getStandardListByDeviceType(fireDeviceTypeId) {
requestFN(
'/fireCheckStandard/getStandardListByDeviceType',
{
FIRE_DEVICE_TYPE: FIRE_DEVICE_TYPE
FIRE_DEVICE_TYPE: fireDeviceTypeId
}
).then((data) => {
this.CHECK_STANDARD_LIST = data.varList
}).catch((e) => {
this.checkStandardList = data.varList
})
},
getPointDepartmentId(FIRE_REGION_ID) {
/**
* 根据区域获取负责的部门
*
* @param fireRegionId 区域ID
*/
getPointDepartmentId(fireRegionId) {
this.listLoading = true
this.deForm.DEPARTMENT_ID = ''
this.deForm.DEPARTMENT_NAME = ''
requestFN(
'/fireregion/getFireRegionInfo',
'/fire/region/v2/info',
{
FIRE_REGION_ID: FIRE_REGION_ID
fireRegionId: fireRegionId
}
).then((data) => {
this.listLoading = false
this.deForm.DEPARTMENT_ID = data.res.DEPARTMENT_ID
this.form.DEPARTMENT_ID = data.res.DEPARTMENT_ID
this.deForm.DEPARTMENT_NAME = data.res.DEPARTMENT_NAME
this.deForm.DEPARTMENT_ID = data.res.departmentId
this.form.departmentId = data.res.departmentId
this.deForm.DEPARTMENT_NAME = data.res.departmentName
this.departmentList = []
this.departmentList.push(this.deForm)
}).catch((e) => {
}).catch(() => {
this.listLoading = false
})
},
/**
* 获取设备类型列表
*/
getDict() {
requestFN(
'dictionaries/getLevels',
@ -295,225 +250,150 @@ export default {
).then((data) => {
this.typeData = data.list
})
.catch((e) => {
.catch(() => {
this.listLoading = false
})
},
async getPointByRegionId(REGION_ID) {
/**
* 根据区域id获取点位列表
*/
getPointByRegionId(fireRegionId) {
requestFN(
'/fireregion/getAllPointName',
{ FIRE_REGION_ID: REGION_ID }
'/fire/point/v2/list',
{ fireRegionId: fireRegionId }
).then((data) => {
this.$nextTick(() => {
this.pointList = data.varList
if (data.varList != null && data.varList.length === 1) {
this.form.firePointId = data.varList[0].firePointId
}
})
}).catch((e) => {
})
},
//
/**
* 获取部门列表
*/
getTreeData() {
requestFN(
'/department/listTree',
{}
).then((data) => {
this.treeData = JSON.parse(data.zTreeNodes)
}).catch((e) => {
})
},
//
/**
* 获取区域列表
*/
getFireRegion() {
requestFN(
'/fireregion/getAllRegionName',
'/fire/region/v2/list',
{}
).then((data) => {
this.varRegionList = data.varList
}).catch((e) => {
})
},
/**
* 提交
*/
confirm() {
this.listLoading = true
// code
requestFN(
'/fireDevice/hasFireDeviceCode',
'/fire/device/v2/code',
{
FIRE_DEVICE_CODE: this.form.FIRE_DEVICE_CODE,
FIRE_DEVICE_ID: this.form.FIRE_DEVICE_ID
fireDeviceCode: this.form.fireDeviceCode,
id: this.form.fireDeviceId
}
).then((data) => {
if (data.result == 'success') {
this.$refs.form.validate(valid => {
if (valid) {
if (this.$parent.FIRE_DEVICE_ID == '') {
this.handleAdd()
} else {
// debugger
if (!this.VALIDITY_TIME) {
this.VALIDITY_TIME = []
}
console.log('add45')
requestFN(
'/fireDevice/updFireDeviceById',
{
FIRE_DEVICE_ID: this.form.FIRE_DEVICE_ID,
FIRE_POINT_ID: this.form.FIRE_POINT_ID,
FIRE_REGION_ID: this.form.FIRE_REGION_ID,
DEPARTMENT_ID: this.form.DEPARTMENT_ID,
FIRE_DEVICE_CODE: this.form.FIRE_DEVICE_CODE,
FIRE_DEVICE_TYPE_ID: this.form.FIRE_DEVICE_TYPE_ID,
VALIDITY_START_TIME: dateformat(this.VALIDITY_TIME[0], 'YYYY-MM-DD'),
VALIDITY_END_TIME: dateformat(this.VALIDITY_TIME[1], 'YYYY-MM-DD'),
REMAKE: this.form.REMAKE
}
).then((data) => {
this.listLoading = false
this.dialogFormEdit = false
this.$parent.activeName = 'List'
this.$parent.$refs.list.getList()
}).catch((e) => {
this.listLoading = false
})
}
} else {
console.log(valid)
}
})
} else {
if (data.result !== 'success') {
this.$message.warning('消防器材编码重复')
return
}
}).catch((e) => {
this.$refs.form.validate(valid => {
if (valid) {
if (this.$parent.FIRE_DEVICE_ID === '') {
this.handleAdd()
} else {
this.handleUpdate()
}
}
})
}).catch(() => {
this.listLoading = true
})
},
number() {
this.form.SORTINDEX = this.form.SORTINDEX.replace(/[^\.\d]/g, '')
this.form.SORTINDEX = this.form.SORTINDEX.replace('.', '')
},
/**
* 新增器材
*/
handleAdd() {
this.listLoading = true
console.log('1008')
this.form.VALIDITY_START_TIME = dateformat(this.VALIDITY_TIME[0], 'YYYY-MM-DD')
this.form.VALIDITY_END_TIME = dateformat(this.VALIDITY_TIME[1], 'YYYY-MM-DD')
console.log('1008')
this.form.validityStartTime = dateformat(this.validityTime[0], 'YYYY-MM-DD')
this.form.validityEndTime = dateformat(this.validityTime[1], 'YYYY-MM-DD')
requestFN(
'/fireDevice/saveDeviceInfo',
'/fire/device/v2/save',
this.form
).then((data) => {
).then(() => {
this.$parent.activeName = 'List'
this.$parent.$refs.list.getList()
this.listLoading = false
}).catch((e) => {
}).catch(() => {
this.listLoading = false
})
},
getDicListByPID() {
requestFN(
'/fireDevice/getFireDeviceInfo',
{ FIRE_DEVICE_ID: this.$parent.FIRE_DEVICE_ID }
).then((data) => {
this.form.FIRE_DEVICE_ID = data.res.FIRE_DEVICE_ID
this.form.FIRE_POINT_ID = data.res.FIRE_POINT_ID
this.form.FIRE_REGION_ID = data.res.FIRE_REGION_ID
this.form.FIRE_DEVICE_CODE = data.res.FIRE_DEVICE_CODE
this.form.FIRE_DEVICE_TYPE_ID = data.res.FIRE_DEVICE_TYPE_ID
this.$set(this.VALIDITY_TIME, 0, dateformat(data.res.VALIDITY_START_TIME, 'YYYY-MM-DD'))
this.$set(this.VALIDITY_TIME, 1, dateformat(data.res.VALIDITY_END_TIME, 'YYYY-MM-DD'))
this.form.DEPARTMENT_ID = data.res.DEPARTMENT_ID
this.form.VALIDITY_START_TIME = data.res.VALIDITY_START_TIME
this.form.VALIDITY_END_TIME = data.res.VALIDITY_END_TIME
this.form.REMAKE = data.res.REMAKE
}).catch((e) => {
})
},
getList(DEPARTMENT_ID) {
// debugger
this.listLoading = true
if (DEPARTMENT_ID) {
this.DEPARTMENT_ID = DEPARTMENT_ID
/**
* 修改器材
*/
handleUpdate() {
if (!this.validityTime) {
this.validityTime = []
}
requestFN(
'/user/getDepartmentId',
'/fire/device/v2/update',
{
KEYWORDS: this.KEYWORDS,
DEPARTMENT_ID: this.DEPARTMENT_ID
fireDeviceId: this.form.fireDeviceId,
firePointId: this.form.firePointId,
fireRegionId: this.form.fireRegionId,
departmentId: this.form.departmentId,
fireDeviceCode: this.form.fireDeviceCode,
fireDeviceTypeId: this.form.fireDeviceTypeId,
validityStartTime: dateformat(this.validityTime[0], 'YYYY-MM-DD'),
validityEndTime: dateformat(this.validityTime[1], 'YYYY-MM-DD'),
remake: this.form.remake
}
).then((data) => {
).then(() => {
this.listLoading = false
this.varList = data.userList
this.total = data.page.totalResult
}).catch((e) => {
this.dialogFormEdit = false
this.$parent.activeName = 'List'
this.$parent.$refs.list.getList()
}).catch(() => {
this.listLoading = false
})
},
//
getReset() {
this.OTHERKEYWORDS = ''
this.OTHERDEPARTMENT_ID = ''
this.$refs.deptTree_Select.clearHandle()
this.OTHERLEVELID = ''
/**
* 获取器材详情
*/
getDeviceInfo(deviceId) {
requestFN(
'/fire/device/v2/info',
{ id: deviceId }
).then((data) => {
this.form.fireDeviceId = data.res.fireDeviceId
this.form.firePointId = data.res.firePointId
this.form.fireRegionId = data.res.fireRegionId
this.form.fireDeviceCode = data.res.fireDeviceCode
this.form.fireDeviceTypeId = data.res.fireDeviceTypeId
this.$set(this.validityTime, 0, dateformat(data.res.validityStartTime, 'YYYY-MM-DD'))
this.$set(this.validityTime, 1, dateformat(data.res.validityEndTime, 'YYYY-MM-DD'))
this.form.departmentId = data.res.departmentId
this.form.remake = data.res.remake
})
},
//
/**
* 返回列表
*/
goBack() {
this.$parent.activeName = 'List'/*
this.form.HIDDENREGION_ID = ''
this.form.HIDDENREGION = ''
this.form.SORTINDEX = ''
this.form.COMMENTS = ''
this.$parent.HIDDENREGION_ID = '' */
this.$parent.activeName = 'List'
}
//
/* getDict() {
requestFN(
'/dictionaries/getLevels',
{
DICTIONARIES_ID: '5a81e63ec0e94d919b3138bc01dbef6b'
}
).then((data) => {
this.levelList = data.list
})
requestFN(
'/dictionaries/getLevels',
{
DICTIONARIES_ID: 'f60cf0e8315b4993b6d6049dd29f2ba5'
}
).then((data) => {
this.periodList = data.list
})
requestFN(
'/dictionaries/getLevels',
{
DICTIONARIES_ID: '4a3d0d99b0ea4e268c11dd0b18866917'
}
).then((data) => {
this.typeList = data.list
})
requestFN(
'/dictionaries/getLevels',
{
DICTIONARIES_ID: 'dc92de8a375c4b638b1b9f8d374e6426'
}
).then((data) => {
this.screenTypeList = data.list
})
requestFN(
'/riskpoint/getPointSelect',
{}
).then((data) => {
this.unitList = data.unitList
}).catch((e) => {
})
requestFN(
'/dictionaries/getLevels',
{
DICTIONARIES_ID: 'cee1190ea96a4ca9b7bca81e11f0d0f8'
}
).then((data) => {
this.accidentList = data.list
})
}*/
}
}
</script>
<style>
</style>

View File

@ -4,7 +4,7 @@
<el-form label-width="50px">
<el-col :span="4">
<el-form-item label="消防器材类型:" label-width="110px">
<el-select v-model="keySelect.FIRE_DEVICE_TYPE_ID" placeholder="请选择">
<el-select v-model="keySelect.fireDeviceTypeId" placeholder="请选择">
<el-option
v-for="item in typeData"
:key="item.NAME"
@ -15,44 +15,44 @@
</el-col>
<el-col :span="4">
<el-form-item label="消防区域" label-width="110px">
<el-select v-model="keySelect.FIRE_REGION_ID" placeholder="请选择" class="filter-item">
<el-select v-model="keySelect.fireRegionId" placeholder="请选择" class="filter-item">
<el-option
v-for="item in varRegionList"
:key="item.FIRE_REGION_ID"
:label="item.FIRE_REGION_NAME"
:value="item.FIRE_REGION_ID"/>
:key="item.fireRegionId"
:label="item.fireRegionName"
:value="item.fireRegionId"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="消防点位" label-width="110px">
<el-input v-model="keySelect.FIRE_POINT_NAME" placeholder="请输入关键字"/>
<el-input v-model="keySelect.firePointName" placeholder="请输入关键字"/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="器材编号" label-width="110px">
<el-input v-model="keySelect.FIRE_DEVICE_CODE" placeholder="请输入关键字"/>
<el-input v-model="keySelect.fireDeviceCode" placeholder="请输入关键字"/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="负责部门" label-width="110px">
<el-input v-model="keySelect.DEPARTMENT_NAME" placeholder="请输入关键字"/>
<el-input v-model="keySelect.departmentName" placeholder="请输入关键字"/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="负责人" label-width="110px">
<el-input v-model="keySelect.USER_NAME" placeholder="请输入关键字"/>
<el-input v-model="keySelect.userName" placeholder="请输入关键字"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label-width="10px">
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery">
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getList">
搜索
</el-button>
<el-button v-waves class="filter-item" type="success" icon="el-icon-refresh" @click="goKeyReset">
重置
</el-button>
<el-button v-waves class="filter-item" type="success" icon="el-icon-refresh" @click="goDaoru">
<el-button v-waves class="filter-item" type="success" icon="el-icon-refresh" @click="dialogFormDaoru = true">
导入
</el-button>
<el-button v-waves type="info" icon="el-icon-download" @click="exportData">
@ -76,17 +76,17 @@
reserve-selection
align="center"/>
<el-table-column type="index" label="序号" width="55" align="center"/>
<el-table-column prop="FIRE_DEVICE_TYPE_NAME" label="器材类型"/>
<el-table-column prop="FIRE_DEVICE_CODE" label="器材编号"/>
<el-table-column prop="FIRE_REGION_NAME" label="消防区域名称"/>
<el-table-column prop="FIRE_POINT_NAME" label="消防点位名称"/>
<el-table-column prop="FIRE_REGION_CODE" label="消防区域编码"/>
<el-table-column prop="FIRE_POINT_CODE" label="消防点位编码"/>
<el-table-column prop="VALIDITY_START_TIME" label="有效期开始时间"/>
<el-table-column prop="VALIDITY_END_TIME" label="有效期结束时间"/>
<el-table-column prop="REMAKE" label="存放地点"/>
<el-table-column prop="DEPARTMENTNAME" width ="170" label="负责部门"/>
<el-table-column prop="USERNAME" label="点位负责人"/>
<el-table-column prop="fireDeviceTypeName" label="器材类型"/>
<el-table-column prop="fireDeviceCode" label="器材编号"/>
<el-table-column prop="fireRegionName" label="消防区域名称"/>
<el-table-column prop="firePointName" label="消防点位名称"/>
<el-table-column prop="fireRegionCode" label="消防区域编码"/>
<el-table-column prop="firePointCode" label="消防点位编码"/>
<el-table-column prop="validityStartTime" label="有效期开始时间"/>
<el-table-column prop="validityEndTime" label="有效期结束时间"/>
<el-table-column prop="remake" label="存放地点"/>
<el-table-column prop="departmentName" width ="170" label="负责部门"/>
<el-table-column prop="userName" label="点位负责人"/>
<el-table-column label="操作" width="200px">
<template slot-scope="{row}">
<el-button
@ -115,7 +115,7 @@
:total="total"
:page.sync="listQuery.page"
:limit.sync="listQuery.limit"
@pagination="getList(FIRE_DEVICE_ID)"/>
@pagination="getList()"/>
</div>
</div>
</div>
@ -125,7 +125,7 @@
<el-form ref="form" :model="daoruFrom" label-width="110px" class="in-uploader">
<el-form-item label="上传附件" prop="FIELDS">
<div class="uploader">
<el-input v-model="daoruFrom.FFILEName" :disabled="true" />
<el-input v-model="daoruFrom.fileName" :disabled="true" />
<el-upload :before-upload="beforeFileUpload" class="avatar-uploader" action="#">
<el-button type="primary" icon="el-icon-upload" style="margin-left:10px">上传附件</el-button>
</el-upload>
@ -142,193 +142,144 @@
<el-button type="primary" @click="goUpload"> </el-button>
</div>
</el-dialog>
<!-- <el-dialog :visible.sync="dialogFormDaoru" title="导入" width="800px">-->
<!-- <template>-->
<!-- <div class="app-container">-->
<!-- <el-form ref="form" :model="daoruFrom" label-width="110px" class="in-uploader">-->
<!-- <el-form-item label="上传附件" prop="FIELDS">-->
<!-- <div class="uploader">-->
<!-- <el-input v-model="daoruFrom.FFILEName" :disabled="true" />-->
<!-- <el-upload :before-upload="beforeFileUpload" class="avatar-uploader" action="#">-->
<!-- <el-button type="primary" icon="el-icon-upload" style="margin-left:10px">上传附件</el-button>-->
<!-- </el-upload>-->
<!-- <el-button v-waves type="success" icon="el-icon-right" style="margin-left:10px" @click="getExcelModel">-->
<!-- 导出模板-->
<!-- </el-button>-->
<!-- </div>-->
<!-- </el-form-item>-->
<!-- </el-form>-->
<!-- </div>-->
<!-- </template>-->
<!-- <div slot="footer" class="dialog-footer">-->
<!-- <el-button @click="dialogFormDaoru = false"> </el-button>-->
<!-- <el-button type="primary" @click="goUpload"> </el-button>-->
<!-- </div>-->
<!-- </el-dialog>-->
</div>
</template>
<script>
import Pagination from '@/components/Pagination'
import { requestFN } from '@/utils/request'
import waves from '@/directive/waves' // waves directive
import waves from '@/directive/waves'
import SelectTree from '@/components/SelectTree'
import { upload } from '@/utils/upload'
export default {
components: { Pagination, SelectTree },
directives: { waves },
data() {
return {
config: config,
addBtnType: true,
listLoading: true,
add: false,
del: false,
edit: false,
form: {
FIRE_DEVICE_TYPE_ID: '',
FIRE_REGION_ID: ''
},
keySelect: {
FIRE_DEVICE_TYPE_ID: '',
FIRE_REGION_ID: '',
FIRE_POINT_NAME: '',
FIRE_DEVICE_CODE: '',
DEPARTMENT_NAME: '',
USER_NAME: ''
fireDeviceTypeId: '',
fireRegionId: '',
firePointName: '',
fireDeviceCode: '',
departmentName: '',
userName: ''
},
treeData: [],
typeData: [],
varRegionList: [],
listQuery: {
page: 1,
limit: 20
},
ls: [],
dates: [],
total: 0,
KEYWORDS: '',
FIRE_POINT_NAME: '',
FIRE_POINT_CODE: '',
//
filterText: '',
varList: [],
pd: [],
defaultProps: {
value: 'id',
children: 'children',
label: 'name'
},
dialogFormDaoru: false,
daoruFrom: {
FFILEName: '',
FFILE: ''
fileName: '',
file: ''
}
}
},
watch: {
filterText(val) {
console.log(val)
this.$refs.tree.filter(val)
}
},
created() {
this.getList()
this.hasButton()
// this.getDeviceType()
this.getDict()
this.getTreeData()
this.getFireRegion()
},
methods: {
getTreeData() {
requestFN(
'/department/listTree',
{}
).then((data) => {
this.treeData = JSON.parse(data.zTreeNodes)
}).catch((e) => {
})
},
//
/**
* 获取消防区域
*/
getFireRegion() {
requestFN(
'/fireregion/getAllRegionName',
'/fire/region/v2/list',
{}
).then((data) => {
this.varRegionList = data.varList
}).catch((e) => {
})
},
/**
* 修改
*
* @param row 当前行数据
*/
handleEdit(row) {
this.$parent.FIRE_DEVICE_ID = row.FIRE_DEVICE_ID
this.$parent.FIRE_POINT_ID = row.FIRE_POINT_ID
this.$parent.FIRE_REGION_ID = row.FIRE_REGION_ID
this.$parent.DEPARTMENT_ID = row.DEPARTMENT_ID
this.$parent.fireDeviceId = row.fireDeviceId
this.$parent.firePointId = row.firePointId
this.$parent.fireRegionId = row.fireRegionId
this.$parent.departmentId = row.departmentId
this.$parent.row = row
this.$parent.activeName = 'Edit'
},
goImportStand(FIRE_DEVICE_ID) {
this.$parent.FIRE_DEVICE_ID = FIRE_DEVICE_ID
this.$parent.activeName = 'Info'
},
/**
* 获取主键
*
* @param row 当前行数据
* @returns {string|*}
*/
getRowKey(row) {
return row.FIRE_DEVICE_ID
return row.fireDeviceId
},
//
/**
* 新增
*/
handleAdd() {
this.$parent.activeName = 'Edit'
this.$parent.FIRE_DEVICE_ID = ''
this.$parent.FIRE_DEVICE_CODE = ''
this.$parent.fireDeviceId = ''
this.$parent.fireDeviceCode = ''
},
//
getQuery() {
this.getList()
},
//
getList(pid) {
/**
* 搜索
*/
getList() {
this.listLoading = true
this.varList = []
this.FIRE_POINT_ID = pid
requestFN(
'/fireDevice/list?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
'/fire/device/v2/page?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
{
FIRE_REGION_ID: this.keySelect.FIRE_REGION_ID,
FIRE_DEVICE_TYPE_ID: this.keySelect.FIRE_DEVICE_TYPE_ID,
FIRE_POINT_NAME: this.keySelect.FIRE_POINT_NAME,
FIRE_DEVICE_CODE: this.keySelect.FIRE_DEVICE_CODE,
DEPARTMENT_NAME: this.keySelect.DEPARTMENT_NAME,
USER_NAME: this.keySelect.USER_NAME
fireRegionId: this.keySelect.fireRegionId,
fireDeviceTypeId: this.keySelect.fireDeviceTypeId,
firePointName: this.keySelect.firePointName,
fireDeviceCode: this.keySelect.fireDeviceCode,
departmentName: this.keySelect.departmentName,
userName: this.keySelect.userName
}
).then((data) => {
this.listLoading = false
this.varList = data.varList
this.total = data.page.totalResult
this.hasButton()
}).catch((e) => {
}).catch(() => {
this.listLoading = false
})
},
/**
* 重置
*/
goKeyReset() {
this.keySelect.FIRE_DEVICE_TYPE_ID = ''
this.keySelect.FIRE_REGION_ID = ''
this.keySelect.FIRE_DEVICE_CODE = ''
this.keySelect.DEPARTMENT_NAME = ''
this.keySelect.USER_NAME = ''
this.keySelect.fireDeviceTypeId = ''
this.keySelect.fireRegionId = ''
this.keySelect.firePointName = ''
this.keySelect.departmentName = ''
this.keySelect.fireDeviceCode = ''
this.keySelect.userName = ''
this.getList()
},
/**
* 获取消防器材类型列表
*/
getDict() {
requestFN(
'dictionaries/getLevels',
{
DICTIONARIES_ID: '4a3d0d99b0ea4e268c11dd0b18866917'
}
).then((data) => {
this.typeList = data.list
})
.catch((e) => {
this.listLoading = false
})
requestFN(
'dictionaries/getLevels',
{
@ -337,40 +288,19 @@ export default {
).then((data) => {
this.typeData = data.list
console.log(this.typeData)
}).catch(() => {
this.listLoading = false
})
.catch((e) => {
this.listLoading = false
})
requestFN(
'dictionaries/getLevels',
{
DICTIONARIES_ID: 'f60cf0e8315b4993b6d6049dd29f2ba5'
}
).then((data) => {
this.periodList = data.list
})
.catch((e) => {
this.listLoading = false
})
requestFN(
'dictionaries/getLevels',
{
DICTIONARIES_ID: '4a661fa8aedc4d158c9cddaa9d2ec47e'
}
).then((data) => {
this.listingLevelList = this.listingLevelList.concat(data.list)
})
.catch((e) => {
this.listLoading = false
})
},
/**
* 删除
*
* @param row 当前行数据
*/
handleDelete(row) {
const DATA_IDS = []
if (row.FIRE_DEVICE_ID) {
DATA_IDS.push(row.FIRE_DEVICE_ID)
if (row.fireDeviceId) {
DATA_IDS.push(row.fireDeviceId)
} else {
const selection = this.$refs.multipleTable.selection
if (!selection.length > 0) {
@ -381,7 +311,7 @@ export default {
return
}
selection.forEach(item => {
DATA_IDS.push(item.FIRE_DEVICE_ID)
DATA_IDS.push(item.fireDeviceId)
})
}
this.$confirm('确定要删除消防器材吗?', {
@ -391,9 +321,9 @@ export default {
}).then(() => {
this.listLoading = true
requestFN(
'/fireDevice/removeFireDeviceByIds',
'/fire/device/v2/remove',
{
DATA_IDS: DATA_IDS.join(',')
ids: DATA_IDS.join(',')
}
).then(() => {
this.$message({
@ -410,7 +340,9 @@ export default {
}).catch(() => {
})
},
/**
* 获取按钮权限
*/
hasButton: function() {
var keys = 'listmanager:add,listmanager:del,listmanager:edit,toExcel'
requestFN(
@ -423,45 +355,47 @@ export default {
this.del = data.listmanagerfhadmindel //
this.edit = data.listmanagerfhadminedit //
this.toExcel = data.toExcel // excel
}).catch((e) => {
}).catch(() => {
this.listLoading = false
})
},
goDaoru() {
this.dialogFormDaoru = true
},
/**
* 导入excel前置处理
* 解析上传进来的文件
* @param file 文件
* @returns {boolean}
*/
beforeFileUpload(file) {
this.daoruFrom.FFILE = file
this.daoruFrom.FFILEName = file.name
this.daoruFrom.file = file
this.daoruFrom.fileName = file.name
this.$forceUpdate()
return false
},
/**
* 执行上传
*/
goUpload() {
const formData = new FormData()
Object.keys(this.daoruFrom).map(key => {
formData.append(key, this.daoruFrom[key])
})
upload(
'/fireDevice/readExcel',
'/fire/device/v2/import/excel',
formData
).then((data) => {
if (data.result == 'success') {
this.$message({
message: data.msg,
type: 'success'
})
} else if (data.result == 'fail') {
this.$message({
message: data.msg,
type: 'error'
})
}
this.$message({
message: data.msg,
type: data.result === 'success' ? 'error' : 'success'
})
this.getList()
this.dialogFormDaoru = false
}).catch((e) => {
}).catch(() => {
this.listLoading = false
})
},
/**
* 下载excel模板
*/
getExcelModel() {
this.$confirm('确定要下载excel模板吗?', {
confirmButtonText: '确定',
@ -469,37 +403,43 @@ export default {
type: 'warning'
}).then(() => {
this.listLoading = false
window.location.href = config.httpurl + 'fireDevice/downExcel'
window.location.href = config.httpurl + '/fire/device/v2/download/excel/format'
}).catch(() => {
this.listLoading = false
})
this.listLoading = false
},
//
/**
* 导出到excel
*/
exportData() {
this.$confirm('确定要导出到excel吗?', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
console.log('开始')
this.listLoading = false
let pageData = ''
if (this.keySelect.FIRE_REGION_ID) {
pageData += '&FIRE_REGION_ID=' + this.keySelect.FIRE_REGION_ID
if (this.keySelect.fireRegionId) {
pageData += '&fireRegionId=' + this.keySelect.fireRegionId
}
if (this.keySelect.FIRE_DEVICE_TYPE_ID) {
pageData += '&FIRE_DEVICE_TYPE_ID=' + this.keySelect.FIRE_DEVICE_TYPE_ID
if (this.keySelect.fireDeviceTypeId) {
pageData += '&fireDeviceTypeId=' + this.keySelect.fireDeviceTypeId
}
if (this.keySelect.FIRE_POINT_NAME) {
pageData += '&FIRE_POINT_NAME=' + this.keySelect.FIRE_POINT_NAME
if (this.keySelect.firePointName) {
pageData += '&firePointName=' + this.keySelect.firePointName
}
if (this.keySelect.FIRE_DEVICE_CODE) {
pageData += '&FIRE_DEVICE_CODE=' + this.keySelect.FIRE_DEVICE_CODE
if (this.keySelect.fireDeviceCode) {
pageData += '&fireDeviceCode=' + this.keySelect.fireDeviceCode
}
window.open(this.config.httpurl + 'fireDevice/excelAll?' + pageData)
if (this.keySelect.departmentName) {
pageData += '&departmentName=' + this.keySelect.departmentName
}
if (this.keySelect.userName) {
pageData += '&userName=' + this.keySelect.userName
}
window.open(this.config.httpurl + '/fire/device/v2/export/excel?' + pageData)
}).catch(() => {
console.log('报错')
this.listLoading = false
})
this.listLoading = false
@ -509,12 +449,8 @@ export default {
</script>
<style scoped>
.returnBtn {
float: right;
}
.app-container {
display: flex; /**/
display: flex;
align-items: baseline;
}

View File

@ -1,9 +1,9 @@
<template>
<!-- <component :is="activeName" />-->
<div>
<List v-show="activeName=='List'" ref="list" />
<Edit v-if="activeName=='Edit'" />
<Info v-if="activeName=='Info'" />
<List v-show="activeName==='List'" ref="list" />
<Edit v-if="activeName==='Edit'" />
<Info v-if="activeName==='Info'" />
</div>
</template>
@ -25,7 +25,7 @@ export default {
},
watch: {
activeName(val) {
if (val == 'List') {
if (val === 'List') {
this.$refs.list.getList()
}
}

View File

@ -1,32 +1,32 @@
<template>
<div class="app-container">
<div class="level-title">
<h1>{{ this.$parent.FIRE_POINT_ID == '' ? "新增" : "修改" }}</h1>
<h1>{{ this.$parent.firePointId === '' ? "新增" : "修改" }}</h1>
</div>
<div>
<el-form ref="form" :model="form" :rules="rules" label-width="180px">
<el-row>
<el-col :span="12">
<el-form-item label="消防区域名称:" prop="FIRE_REGION_ID">
<el-select v-model="form.FIRE_REGION_ID" placeholder="请选择" class="filter-item" style="width: 100%;">
<el-form-item label="消防区域名称:" prop="fireRegionId">
<el-select v-model="form.fireRegionId" placeholder="请选择" class="filter-item" style="width: 100%;">
<el-option
v-for="item in varRegionList"
:key="item.FIRE_REGION_ID"
:label="item.FIRE_REGION_NAME"
:value="item.FIRE_REGION_ID"/>
:key="item.fireRegionId"
:label="item.fireRegionName"
:value="item.fireRegionId"/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="负责部门:" prop="DEPARTMENT_ID">
<el-select v-model="form.DEPARTMENT_ID" placeholder="请选择负责部门" style="width: 100%;">
<el-form-item label="负责部门:" prop="departmentId">
<el-select v-model="form.departmentId" placeholder="请选择负责部门" style="width: 100%;">
<el-option
v-for="item in departmentList"
:key="item.DEPARTMENT_ID"
:label="item.DEPARTMENT_NAME"
:value="item.DEPARTMENT_ID"/>
:key="item.departmentId"
:label="item.departmentName"
:value="item.departmentId"/>
</el-select>
</el-form-item>
</el-col>
@ -34,7 +34,7 @@
<el-row>
<el-col :span="12">
<el-form-item label="负责人:" prop="USER_ID">
<el-select v-model="form.USER_ID" placeholder="请选择人员" class="filter-item" style="width: 100%;">
<el-select v-model="form.userId" placeholder="请选择人员" class="filter-item" style="width: 100%;">
<el-option v-for="item in varList" :key="item.USER_ID" :label="item.NAME" :value="item.USER_ID"/>
</el-select>
</el-form-item>
@ -42,22 +42,22 @@
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="消防点位名称:" prop="FIRE_POINT_NAME">
<el-input v-model="form.FIRE_POINT_NAME" placeholder="请输入内容"/>
<el-form-item label="消防点位名称:" prop="firePointName">
<el-input v-model="form.firePointName" placeholder="请输入内容"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="消防点位编码:" prop="FIRE_POINT_CODE">
<el-input v-model="form.FIRE_POINT_CODE" placeholder="请输入内容"/>
<el-form-item label="消防点位编码:" prop="firePointCode">
<el-input v-model="form.firePointCode" placeholder="请输入内容"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="经纬度:" prop="LONGTITUDEANDLATITUDE">
<el-input v-model="form.LONGTITUDEANDLATITUDE" style="width:206px" placeholder="请选择" disabled/>
<el-form-item label="经纬度:" prop="longitudeAndLatitude">
<el-input v-model="form.longitudeAndLatitude" style="width:206px" placeholder="请选择" disabled/>
<el-button style="margin-left: 10px" type="primary" @click="handleMap"></el-button>
</el-form-item>
</el-col>
@ -79,8 +79,8 @@
<i slot="default" class="el-icon-plus"/>
<div slot="file" slot-scope="{file}">
<img
v-if="file.FILEPATH"
:src="config.fileUrl + file.FILEPATH"
v-if="file.filePath"
:src="config.fileUrl + file.filePath"
class="el-upload-list__item-thumbnail"
alt=""
>
@ -117,30 +117,17 @@
只能上传jpg/png文件单张且不超过5mb
</div>
</el-form-item>
</el-col>
</el-row>
<!-- 检查过的点位最新得记录
<el-row v-if="qualifiedImgs.length>0">-->
<!-- <el-col :span="12">-->
<!-- <el-form-item label="消防点位照片:">-->
<!-- <el-carousel :interval="4000" type="card" height="200px" style="margin-top: 10px">-->
<!-- <el-carousel-item v-for="(item, index) in qualifiedImgs[0].FILEPATH_LIST" :key="index">-->
<!-- <img v-viewer :src="config.fileUrl + item" style="max-width: 100%;">-->
<!-- </el-carousel-item>-->
<!-- </el-carousel>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- </el-row>-->
</el-form>
</div>
<el-dialog :visible.sync="dialogFormMap" title="定位" width="1050px" class="dy-dialog">
<div id="cesiumContainer"/>
<div slot="footer" class="dialog-footer">
<span>经度</span>
<el-input v-model="LONGTITUDE" style="width: 200px" placeholder="请输入内容" disabled/>
<el-input v-model="longitude" style="width: 200px" placeholder="请输入内容" disabled/>
<span>纬度</span>
<el-input v-model="LATITUDE" style="width: 200px" placeholder="请输入内容" disabled/>
<el-input v-model="latitude" style="width: 200px" placeholder="请输入内容" disabled/>
<el-button @click="dialogFormMap = false"> </el-button>
<el-button type="primary" @click="setPosition"> </el-button>
</div>
@ -149,23 +136,15 @@
<el-button type="success" @click="confirm"> </el-button>
<el-button plain type="info" @click="goBack"> </el-button>
</div>
<el-drawer
:visible.sync="drawer"
:with-header="false"
title="我是标题">
<div>
<el-image v-for="item in qualifiedImgs" :key="item.IMGFILES_ID" :src="config.fileUrl+item.FILEPATH"/>
</div>
</el-drawer>
</div>
</template>
<script>
import Pagination from '@/components/Pagination' // el-pagination
import Pagination from '@/components/Pagination'
import { requestFN } from '@/utils/request'
import { upload } from '@/utils/upload'
import SelectTree from '@/components/SelectTree'
import waves from '@/directive/waves' // waves directive
import waves from '@/directive/waves'
import TiandiMap from '@/components/TianMap/TiandiMap.vue'
import RyDragEntity from '../../../map/js/ry_dragentity'
import DragEntity from '../../../map/js/dragentity'
@ -187,91 +166,40 @@ export default {
config: config,
firefightingImgs: [],
waitForDeleteImgs: [],
firefightingPicture: false,
dialogVisible: false,
dialogImageUrl: '',
dialogFormMap: false,
map: null,
LONGTITUDE: '',
LATITUDE: '',
dialogFormVisible: false,
dialogTableVisible: false,
DEPARTMENT_ID: '',
longitude: '',
latitude: '',
SORTINDEX: '',
drawer: false,
PERSON_CHARGE: '',
departmentList: [],
qualifiedImgs: [],
form: {
FIRE_POINT_ID: '',
FIRE_POINT_NAME: '',
FIRE_POINT_CODE: '',
LONGTITUDEANDLATITUDE: '',
LONGITUDE: '',
LATITUDE: '',
firePointId: '',
firePointName: '',
firePointCode: '',
longitudeAndLatitude: '',
longitude: '',
latitude: '',
POST_ID: '',
FIRE_REGION_ID: '',
DEPARTMENT_ID: '',
QUALIFIED_PHOTOS_ID: '',
USER_ID: ''
fireRegionId: '',
departmentId: '',
userId: ''
},
rules: {
FIRE_REGION_ID: [{ required: true, message: '消防区域不为空', trigger: 'blur' }],
FIRE_POINT_NAME: [{ required: true, message: '消防点位不为空', trigger: 'blur' }],
FIRE_POINT_CODE: [{ required: true, message: '消防点位编码不为空', trigger: 'blur' }],
DEPARTMENT_ID: [{ required: true, message: '请选责任部门', trigger: 'blur' }],
LONGTITUDEANDLATITUDE: [{ required: false, message: '请选经纬度', trigger: 'blur' }],
QUALIFIED_PHOTOS_ID: [{ required: false, message: '请选消防点位合格照片', trigger: 'blur' }],
USER_ID: [{ required: true, message: '请选责任人', trigger: 'blur' }]
fireRegionId: [{ required: true, message: '消防区域不为空', trigger: 'blur' }],
firePointName: [{ required: true, message: '消防点位不为空', trigger: 'blur' }],
firePointCode: [{ required: true, message: '消防点位编码不为空', trigger: 'blur' }],
departmentId: [{ required: true, message: '请选责任部门', trigger: 'blur' }],
longitudeAndLatitude: [{ required: false, message: '请选经纬度', trigger: 'blur' }],
userId: [{ required: true, message: '请选责任人', trigger: 'blur' }]
},
riskForm: {
RISKPOINT_ID: '',
DEPARTMENT_ID: '',
USER_ID: '',
RISK_UNIT_ID: '',
IDENTIFICATION_ID: '',
RISK_DESCR: '',
LEVELID: '',
MEASURES: '',
ACCIDENTS: '',
ACCIDENTS_NAME: '',
CHECK_CONTENT: '',
EME_MEASURES: ''
},
KEYWORDS: '',
periodList: [],
postList: [],
varList: [],
qualifiedPhotosList: [],
varRegionList: [],
checked: false, //
checkList: [], //
otherItemList: [], //
treeData: [],
partsList: [],
dates: [], //
defaultProps: {
value: 'id',
children: 'nodes',
label: 'name'
},
formLabelWidth: '120px',
OTHERLEVELID: '',
OTHERDEPARTMENT_ID: '',
OTHERKEYWORDS: '',
levelList: [],
riskList: [],
deForm: {
DEPARTMENT_ID: '',
DEPARTMENT_NAME: ''
departmentId: '',
departmentName: ''
},
total: 0,
listQuery: {
page: 1,
limit: 20
},
multipleSelection: [],
accidentList: [],
corpInfo: {
CORP_INFO_ID: '',
longitude: '',
@ -283,32 +211,21 @@ export default {
}
},
watch: {
'form.FIRE_REGION_ID': {
'form.fireRegionId': {
handler(newVal, oldVal) {
if (oldVal) this.form.USER_ID = ''
this.form.DEPARTMENT_ID = ''
if (oldVal) this.form.userId = ''
this.form.departmentId = ''
this.varList = []
this.getFireRegionInfo(newVal)
},
immediate: false
}
// 'form.DEPARTMENT_ID': {
// handler(newVal, oldVal) {
// this.varList = []
// this.getUserList()
// },
// immediate: false
// }
},
async created() {
this.FIRE_POINT_ID = this.$parent.FIRE_POINT_ID
await this.getTreeData()
await this.getDict()
await this.getFireQualifiedPhotosList()
this.FIRE_POINT_ID = this.$parent.firePointId
await this.getFireRegion()
if (this.FIRE_POINT_ID) {
this.getDicListByPID()
// this.getFirePointCheckPhotos(this.FIRE_POINT_ID)
}
},
mounted() {
@ -372,10 +289,10 @@ export default {
//
this.initInfo()
this.leftDownAction()
console.log(this.LATITUDE)
if (this.LATITUDE) {
console.log('LATITUDE')
this.dfdfd(this.LONGTITUDE, this.LATITUDE)
console.log(this.latitude)
if (this.latitude) {
console.log('latitude')
this.dfdfd(this.longitude, this.latitude)
}
this.loadTilesetHandler()
@ -462,8 +379,8 @@ export default {
const lng = Cesium.Math.toDegrees(cartographic.longitude)
const lat = Cesium.Math.toDegrees(cartographic.latitude)
const height = cartographic.height //
this.LONGTITUDE = lng
this.LATITUDE = lat
this.longitude = lng
this.latitude = lat
this.dfdfd(lng, lat)
return `CGCS2000 坐标: 经度 ${lng}, 纬度 ${lat}, 高度 ${height}`
}
@ -478,10 +395,10 @@ export default {
)
: Cesium.Cartesian3.ZERO
},
dfdfd(LONGITUDE, LATITUDE) {
dfdfd(LONGITUDE, latitude) {
let dianweiName = '消防点位'
if (this.form.FIRE_POINT_NAME) {
dianweiName = this.form.FIRE_POINT_NAME
if (this.form.firePointName) {
dianweiName = this.form.firePointName
}
var initPoint = [
{
@ -494,7 +411,7 @@ export default {
'descr': '',
'position': {
'x': LONGITUDE,
'y': LATITUDE
'y': latitude
},
CORP_INFO_ID: 'f8da1790b1034058ae2efefd69af3284'
}
@ -506,8 +423,6 @@ export default {
},
//
dragAreaEntity(pointArr) {
console.log('pointArr', pointArr)
console.log('')
this.poinEntity = {}
const collection = new Cesium.CustomDataSource('clickEntityCollection')
@ -544,9 +459,9 @@ export default {
},
toCenter(center = this.center) {
console.log('toCenter', center)
if (this.FIRE_POINT_ID && this.LONGTITUDE && this.LATITUDE && this.LONGTITUDE.trim() != '' && this.LATITUDE.trim() != '') {
this.center.longitude = this.LONGTITUDE
this.center.latitude = this.LATITUDE
if (this.FIRE_POINT_ID && this.longitude && this.latitude && this.longitude.trim() !== '' && this.latitude.trim() !== '') {
this.center.longitude = this.longitude
this.center.latitude = this.latitude
} else {
this.center.longitude = center.longitude
this.center.latitude = center.latitude
@ -558,7 +473,6 @@ export default {
})
},
loadTilesetHandler() {
console.log('loadTilesetHandler')
Cesium.ExperimentalFeatures.enableModelExperimental = true
var cfdd = new Cesium.Cesium3DTileset({
url: '/mapapi/ware/upload/%E6%9B%B9%E5%A6%83%E7%94%B8%E6%B8%AF%E4%B8%9C/%E6%9B%B9%E5%A6%83%E7%94%B8%E6%B8%AF%E4%B8%9C/merge_tile.json'
@ -581,20 +495,20 @@ export default {
viewer.scene.primitives.add(qhdgysh)
},
handleRemove(file) {
if (file.IMGFILES_ID) {
if (file.imgfilesId) {
// id
this.waitForDeleteImgs.push(file.IMGFILES_ID)
this.firefightingImgs = this.firefightingImgs.filter(x => x.IMGFILES_ID != file.IMGFILES_ID)
this.waitForDeleteImgs.push(file.imgfilesId)
this.firefightingImgs = this.firefightingImgs.filter(x => x.imgfilesId !== file.imgfilesId)
} else {
this.firefightingImgs = this.firefightingImgs.filter(x => x.MATERIALS_ID != file.MATERIALS_ID)
this.firefightingImgs = this.firefightingImgs.filter(x => x.MATERIALS_ID !== file.MATERIALS_ID)
}
},
handlePictureCardPreview(file) {
if (file.url) {
this.dialogImageUrl = file.url
}
if (file.FILEPATH) {
this.dialogImageUrl = config.fileUrl + file.FILEPATH
if (file.filePath) {
this.dialogImageUrl = config.fileUrl + file.filePath
}
this.dialogVisible = true
},
@ -606,73 +520,20 @@ export default {
const is5M = file.size / 1024 / 1024 < 5
if (is5M) this.firefightingImgs.push(file)
},
getFireQualifiedPhotosList() {
requestFN(
'/fireQualifiedPhotos/listForSelect',
{}
).then((data) => {
this.qualifiedPhotosList = data.varList
}).catch((e) => {
})
},
//
getFirePointCheckPhotos(FIRE_POINT_ID) {
requestFN(
'/firePoint/getFirePointCheckPhotos',
{
FIRE_POINT_ID: FIRE_POINT_ID
}
).then((data) => {
this.qualifiedImgs = data.imgList
}).catch((e) => {
})
},
//
getFireQualifiedPhotos(QUALIFIED_PHOTOS_ID) {
requestFN(
'/imgfiles/listImgs',
{
FOREIGN_KEY: QUALIFIED_PHOTOS_ID,
TYPE: 115
}
).then((data) => {
this.qualifiedImgs = data.imgs
}).catch((e) => {
})
},
getFireRegion() {
requestFN(
'/fireregion/getAllRegionName',
'/fire/region/v2/list',
{}
).then((data) => {
this.varRegionList = data.varList
}).catch((e) => {
})
},
showDrawer() {
// if (!this.form.QUALIFIED_PHOTOS_ID) {
// this.$message.warning('')
// return
// }
this.getFirePointCheckPhotos(this.form.FIRE_POINT_ID)
this.drawer = true
},
setPosition() {
this.form.LONGTITUDEANDLATITUDE = this.LATITUDE + '--' + this.LONGTITUDE
this.form.longitudeAndLatitude = this.latitude + '--' + this.longitude
this.dialogFormMap = false
},
initTDT() {
// return new Promise((resolve, reject) => {
// if (window.T) {
// console.log('...')
// resolve(window.T)
// reject('error')
// } else {
// console.info(999999999)
// }
// }).then(T => {
// window.T = T
// })
},
/**
* 初始化地图
@ -693,13 +554,13 @@ export default {
},
initCenter(lng, lat, zoom) {
//
if (!this.LONGTITUDE && !this.LATITUDE) {
if (!this.longitude && !this.latitude) {
this.map.centerAndZoom(new window.T.LngLat(119.58273, 39.91724), zoom)
} else {
this.map.centerAndZoom(new window.T.LngLat(lng, lat), zoom)
this.marker && this.map.removeOverLay(this.marker)
this.LONGTITUDE = lng
this.LATITUDE = lat
this.longitude = lng
this.latitude = lat
this.marker = new window.T.Marker(new window.T.LngLat(lng, lat))
//
this.map.addOverLay(this.marker)
@ -715,8 +576,8 @@ export default {
},
MapClick(event) {
this.marker && this.map.removeOverLay(this.marker)
this.LONGTITUDE = event.lnglat.getLng()
this.LATITUDE = event.lnglat.getLat()
this.longitude = event.lnglat.getLng()
this.latitude = event.lnglat.getLat()
this.marker = new window.T.Marker(new window.T.LngLat(event.lnglat.getLng(), event.lnglat.getLat()))
//
this.map.addOverLay(this.marker)
@ -725,10 +586,9 @@ export default {
this.dialogFormMap = true
this.$nextTick(() => {
if (!this.map) {
// this.initMap(this.LONGTITUDE, this.LATITUDE, 16)
this.initCorpInfo()
} else {
this.initCenter(this.LONGTITUDE, this.LATITUDE, 16)
this.initCenter(this.longitude, this.latitude, 16)
}
})
},
@ -736,32 +596,27 @@ export default {
this.$refs.form.validate(valid => {
if (valid) {
const formData = new FormData()
if (this.form.LONGTITUDEANDLATITUDE) {
this.form.LONGITUDE = this.form.LONGTITUDEANDLATITUDE.split('--')[1]
this.form.LATITUDE = this.form.LONGTITUDEANDLATITUDE.split('--')[0]
if (this.form.longitudeAndLatitude) {
const [latitude, longitude] = this.form.longitudeAndLatitude.split('--')
this.form.longitude = longitude
this.form.latitude = latitude
}
console.log(this.form.LONGTITUDEANDLATITUDE)
Object.keys(this.form).map(key => {
formData.append(key, this.form[key])
})
if (this.form.LONGTITUDEANDLATITUDE.split('--')[0]) {
formData.append('LONGITUDE', this.form.LONGITUDE)
formData.append('LATITUDE', this.form.LATITUDE)
}
if (this.firefightingImgs.length > 0) {
for (let i = 0; i < this.firefightingImgs.length; i++) {
formData.append('files', this.firefightingImgs[i].raw)
}
}
formData.append('WAIT_REMOVE_DATA_IDS', this.waitForDeleteImgs.join(','))
if (this.$parent.FIRE_POINT_ID == '') {
formData.append('waitForDeleteImgs', this.waitForDeleteImgs.join(','))
if (this.$parent.FIRE_POINT_ID === '') {
this.handleAdd(formData)
} else {
// debugger
if (valid) {
this.listLoading = true
upload(
'/firePoint/updFireRegionById',
'/fire/point/v2/update',
formData
).then((data) => {
this.waitForDeleteImgs = []
@ -783,49 +638,31 @@ export default {
},
handleAdd(formData) {
upload(
'/firePoint/savePointInfo',
'/fire/point/v2/save',
formData
).then((data) => {
this.waitForDeleteImgs = []
this.$parent.activeName = 'List'
}).catch((e) => {})
// requestFN(
// '/firePoint/savePointInfo',
// this.form
// ).then((data) => {
// this.$parent.activeName = 'List'
// }).catch((e) => {
// })
},
getDicListByPID() {
requestFN(
'/firePoint/getFirPointInfo',
{ FIRE_POINT_ID: this.$parent.FIRE_POINT_ID }
'/fire/point/v2/info',
{ id: this.$parent.firePointId }
).then((data) => {
this.form = Object.assign(this.form, data.res)
this.LONGTITUDE = this.form.LONGITUDE
this.LATITUDE = this.form.LATITUDE
this.longitude = this.form.longitude
this.latitude = this.form.latitude
this.firefightingImgs = data.imgList
}).catch((e) => {
})
},
//
getPostList() {
requestFN(
'/post/listAll',
{ DEPARTMENT_ID: this.form.DEPARTMENT_ID }
).then((data) => {
this.postList = data.postList
}).catch((e) => {
})
},
//
getUserList() {
// debugger
requestFN(
'/user/listAll',
{
DEPARTMENT_ID: this.form.DEPARTMENT_ID,
DEPARTMENT_ID: this.form.departmentId,
POST_ID: this.form.POST_ID
}
).then((data) => {
@ -833,25 +670,20 @@ export default {
}).catch((e) => {
})
},
handleNodeClick(node, data, value) {
// debugger
this.form.DEPARTMENT_ID = node.id
this.getList(node.id)
},
getFireRegionInfo(FIRE_REGION_ID) {
this.listLoading = true
this.departmentList = []
requestFN(
'/fireregion/getFireRegionInfo',
'/fire/region/v2/info',
{
FIRE_REGION_ID: FIRE_REGION_ID
fireRegionId: FIRE_REGION_ID
}
).then((data) => {
this.listLoading = false
this.deForm.DEPARTMENT_ID = data.res.DEPARTMENT_ID
this.deForm.DEPARTMENT_NAME = data.res.DEPARTMENT_NAME
this.deForm.departmentId = data.res.departmentId
this.deForm.departmentName = data.res.departmentName
this.departmentList.push(this.deForm)
this.form.DEPARTMENT_ID = data.res.DEPARTMENT_ID
this.form.departmentId = data.res.departmentId
this.$nextTick(() => {
this.getUserList()
})
@ -859,103 +691,10 @@ export default {
this.listLoading = false
})
},
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
}
).then((data) => {
this.listLoading = false
this.varList = data.userList
console.log(data.userList + '------')
this.total = data.page.totalResult
}).catch((e) => {
this.listLoading = false
})
},
//
getTreeData() {
requestFN(
'/department/listTree',
{}
).then((data) => {
this.treeData = JSON.parse(data.zTreeNodes)
}).catch((e) => {
})
},
//
getReset() {
this.OTHERKEYWORDS = ''
this.OTHERDEPARTMENT_ID = ''
this.$refs.deptTree_Select.clearHandle()
this.OTHERLEVELID = ''
},
//
goBack() {
this.$parent.activeName = 'List'
this.form.HIDDENREGION_ID = ''
this.form.HIDDENREGION = ''
this.form.SORTINDEX = ''
this.form.COMMENTS = ''
this.$parent.HIDDENREGION_ID = ''
},
//
getDict() {
requestFN(
'/dictionaries/getLevels',
{
DICTIONARIES_ID: '5a81e63ec0e94d919b3138bc01dbef6b'
}
).then((data) => {
this.levelList = data.list
})
requestFN(
'/dictionaries/getLevels',
{
DICTIONARIES_ID: 'f60cf0e8315b4993b6d6049dd29f2ba5'
}
).then((data) => {
this.periodList = data.list
})
requestFN(
'/dictionaries/getLevels',
{
DICTIONARIES_ID: '4a3d0d99b0ea4e268c11dd0b18866917'
}
).then((data) => {
this.typeList = data.list
})
requestFN(
'/dictionaries/getLevels',
{
DICTIONARIES_ID: 'dc92de8a375c4b638b1b9f8d374e6426'
}
).then((data) => {
this.screenTypeList = data.list
})
requestFN(
'/riskpoint/getPointSelect',
{}
).then((data) => {
this.unitList = data.unitList
}).catch((e) => {
})
requestFN(
'/dictionaries/getLevels',
{
DICTIONARIES_ID: 'cee1190ea96a4ca9b7bca81e11f0d0f8'
}
).then((data) => {
this.accidentList = data.list
})
this.$parent.firePointId = ''
}
}
}

View File

@ -5,30 +5,30 @@
<el-row>
<el-col :span="4">
<el-form-item label="点位名称" label-width="110px">
<el-input v-model="FIRE_POINT_NAME" placeholder="请输入关键字"/>
<el-input v-model="firePointName" placeholder="请输入关键字"/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="点位编码" label-width="110px">
<el-input v-model="FIRE_POINT_CODE" placeholder="请输入关键字"/>
<el-input v-model="firePointCode" placeholder="请输入关键字"/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="负责部门" label-width="110px">
<SelectTree
ref="deptTree_Select"
:key="selectForm.DEPARTMENT_ID"
:key="selectForm.departmentId"
:clearable="true"
:options="deptTreeData"
:props="defaultProps"
v-model="selectForm.DEPARTMENT_ID"
v-model="selectForm.departmentId"
placeholder="请选择部门"
style="width: 100%;"/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="是否标点" label-width="110px">
<el-select v-model="IS_PUNCTUATION" clearable placeholder="请选择" style="width: 100%;">
<el-select v-model="punctuation" clearable placeholder="请选择" style="width: 100%;">
<el-option
v-for="item in punctuationStatusList"
:key="item.value"
@ -65,50 +65,34 @@
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="DEVICE_COUNT" label="点位下消防器材数"/>
<el-table-column prop="DEPARTMENT_NAME" label="负责部门"/>
<el-table-column prop="USERNAME" label="负责人"/>
<el-table-column prop="ISPUNCTUATION" label="是否标点">
<el-table-column prop="fireRegionName" label="区域名称"/>
<el-table-column prop="firePointName" label="点位名称"/>
<el-table-column prop="firePointCode" label="编码"/>
<el-table-column prop="numberOfEquipment" label="点位下消防器材数"/>
<el-table-column prop="departmentName" label="负责部门"/>
<el-table-column prop="username" label="负责人"/>
<el-table-column prop="punctuation" label="是否标点">
<template slot-scope="{row}">
<el-tag v-if="row.ISPUNCTUATION == 0" type="success"></el-tag>
<el-tag v-if="row.punctuation === 0" type="success"></el-tag>
<el-tag v-else type="danger"></el-tag>
</template>
</el-table-column>
<el-table-column label="操作" width="450">
<template slot-scope="{row}">
<!-- <el-button-->
<!-- v-show="true"-->
<!-- class="tiffany-btn"-->
<!-- icon="el-icon-picture"-->
<!-- type="primary"-->
<!-- size="mini"-->
<!-- @click="handleShowQr(row)">点位二维码-->
<!-- </el-button>-->
<el-button
v-show="edit"
type="primary"
icon="el-icon-edit"
size="mini"
@click="handleEdit(row.FIRE_POINT_ID)">修改
@click="handleEdit(row.firePointId)">修改
</el-button>
<el-button
v-show="row.DEVICE_COUNT == 0"
v-show="row.numberOfEquipment === 0"
type="danger"
icon="el-icon-delete"
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>-->
<el-button
class="tiffany-btn"
icon="el-icon-document"
@ -134,36 +118,6 @@
</div>
</div>
</div>
<!-- <el-dialog :visible.sync="dialogFormShow" title="查看二维码" width="680px" class="top-dialog">-->
<!-- <div id="printTest" style="border: 1px solid #fff;">-->
<!-- <div class="level-title" style="margin-top:20px">-->
<!-- <h1>消防点位信息</h1>-->
<!-- </div>-->
<!-- <table class="table-ui">-->
<!-- <tr>-->
<!-- <td class="tbg">消防区域</td>-->
<!-- <td >{{ qrInfo.FIRE_REGION_NAME }}</td>-->
<!-- <td class="tbg">消防点位</td>-->
<!-- <td>{{ qrInfo.FIRE_POINT_NAME }}</td>-->
<!-- </tr>-->
<!-- <tr>-->
<!-- <td class="tbg">负责部门</td>-->
<!-- <td>{{ qrInfo.DEPARTMENT_NAME }}</td>-->
<!-- <td class="tbg">负责人</td>-->
<!-- <td>{{ qrInfo.USERNAME }}</td>-->
<!-- </tr>-->
<!-- </table>-->
<!-- <div class="table-qrcode">-->
<!-- <vue-qr :text="qrcodeStr" :margin="0" :size="300" color-dark="#000" color-light="#fff" />-->
<!-- </div>-->
<!-- </div>-->
<!-- <div slot="footer" class="dialog-footer">-->
<!-- <el-button @click="dialogFormShow = false"> </el-button>-->
<!-- <el-button v-print="'#printTest'" type="primary"> </el-button>-->
<!-- </div>-->
<!-- </el-dialog>-->
<el-dialog :visible.sync="dialogFormShow" title="消防点位维护信息告知牌" width="780px" class="top-dialog">
<el-tabs v-model="tabsActive">
<el-tab-pane label="横版" name="horizontal"/>
@ -175,11 +129,11 @@
<div class="info">
<div class="row">
<div class="title">消防点位</div>
<div class="value">{{ qrInfo.FIRE_POINT_NAME }}</div>
<div class="value">{{ qrInfo.firePointName }}</div>
</div>
<div class="row">
<div class="title">点位编号</div>
<div class="value">{{ qrInfo.FIRE_POINT_CODE }}</div>
<div class="value">{{ qrInfo.firePointCode }}</div>
</div>
</div>
<div class="qr_info">
@ -199,11 +153,11 @@
<div class="info">
<div class="row">
<div class="title">消防点位</div>
<div class="value">{{ qrInfo.FIRE_POINT_NAME }}</div>
<div class="value">{{ qrInfo.firePointName }}</div>
</div>
<div class="row">
<div class="title">点位编号</div>
<div class="value">{{ qrInfo.FIRE_POINT_CODE }}</div>
<div class="value">{{ qrInfo.firePointCode }}</div>
</div>
</div>
<div class="qr_info">
@ -272,9 +226,8 @@
<script>
import Pagination from '@/components/Pagination'
import { requestFN } from '@/utils/request'
import vueQr from 'vue-qr'
import waves from '@/directive/waves' // waves directive
import waves from '@/directive/waves'
import SelectTree from '@/components/SelectTree'
export default {
@ -282,8 +235,6 @@ export default {
directives: { waves },
data() {
return {
config: config,
addBtnType: true,
listLoading: true,
dialogFormShow: false,
dialogRecordFormShow: false,
@ -299,16 +250,12 @@ export default {
page: 1,
limit: 20
},
ls: [],
dates: [],
total: 0,
KEYWORDS: '',
FIRE_POINT_NAME: '',
FIRE_POINT_CODE: '',
firePointName: '',
firePointCode: '',
selectForm: {
DEPARTMENT_ID: ''
departmentId: ''
},
//
filterText: '',
varList: [],
pd: [],
@ -337,7 +284,7 @@ export default {
label: '否'
}
],
IS_PUNCTUATION: ''
punctuation: ''
}
},
watch: {
@ -355,28 +302,28 @@ export default {
handleShowNotificationCard(ROW) {
this.dialogFormShow = true
this.qrInfo = ROW
//
//
this.qrcodeStr_chaxunma = JSON.stringify({
MANAGER_TYPE: 'checkRecordManager',
USER_ID: ROW.USER_ID,
DEPARTMENT_ID: ROW.DEPARTMENT_ID,
FIRE_POINT_ID: ROW.FIRE_POINT_ID
USER_ID: ROW.userId,
DEPARTMENT_ID: ROW.departmentId,
FIRE_POINT_ID: ROW.firePointId
})
//
//
this.qrcodeStr_jianchama = JSON.stringify({
MANAGER_TYPE: 'fireListManager',
FIRE_POINT_ID: ROW.FIRE_POINT_ID
FIRE_POINT_ID: ROW.firePointId
})
},
handleEdit(FIRE_POINT_ID) {
this.$parent.FIRE_POINT_ID = FIRE_POINT_ID
handleEdit(firePointId) {
this.$parent.firePointId = firePointId
this.$parent.activeName = 'Edit'
},
selectable(row, index) {
return true
},
getRowKey(row) {
return row.FIRE_POINT_ID
return row.firePointId
},
handleAdd() {
this.$parent.activeName = 'Edit'
@ -392,12 +339,12 @@ export default {
this.varList = []
this.FIRE_POINT_ID = pid
requestFN(
'/firePoint/list?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
'/fire/point/v2/page?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
{
FIRE_POINT_NAME: this.FIRE_POINT_NAME,
FIRE_POINT_CODE: this.FIRE_POINT_CODE,
DEPARTMENT_ID: this.selectForm.DEPARTMENT_ID,
IS_PUNCTUATION: this.IS_PUNCTUATION
firePointName: this.firePointName,
firePointCode: this.firePointCode,
departmentId: this.selectForm.departmentId,
punctuation: this.punctuation
}
).then((data) => {
this.listLoading = false
@ -409,51 +356,14 @@ export default {
})
},
goKeyReset() {
this.FIRE_POINT_NAME = ''
this.FIRE_POINT_CODE = ''
this.IS_PUNCTUATION = ''
this.firePointName = ''
this.firePointCode = ''
this.punctuation = ''
this.selectForm = {
DEPARTMENT_ID: ''
departmentId: ''
}
this.getList()
},
getDict() {
requestFN(
'dictionaries/getLevels',
{
DICTIONARIES_ID: '4a3d0d99b0ea4e268c11dd0b18866917'
}
).then((data) => {
this.typeList = data.list
})
.catch((e) => {
this.listLoading = false
})
requestFN(
'dictionaries/getLevels',
{
DICTIONARIES_ID: 'f60cf0e8315b4993b6d6049dd29f2ba5'
}
).then((data) => {
this.periodList = data.list
})
.catch((e) => {
this.listLoading = false
})
requestFN(
'dictionaries/getLevels',
{
DICTIONARIES_ID: '4a661fa8aedc4d158c9cddaa9d2ec47e'
}
).then((data) => {
this.listingLevelList = this.listingLevelList.concat(data.list)
})
.catch((e) => {
this.listLoading = false
})
},
getTreeData() {
requestFN(
'/department/listTreeV2',
@ -465,8 +375,8 @@ export default {
},
handleEditUser(row) {
this.editDataIds = []
if (row.FIRE_POINT_ID) {
this.editDataIds.push(row.FIRE_POINT_ID)
if (row.firePointId) {
this.editDataIds.push(row.firePointId)
} else {
const selection = this.$refs.multipleTable.selection
if (!selection.length > 0) {
@ -477,15 +387,16 @@ export default {
return
}
selection.forEach(item => {
this.editDataIds.push(item.FIRE_POINT_ID)
this.editDataIds.push(item.firePointId)
})
}
const selection = this.$refs.multipleTable.selection
const DEPARTMENT_ID = selection[0].DEPARTMENT_ID
const departmentId = selection[0].departmentId
if (selection.length > 1) {
let flag = false
selection.forEach(item => {
if (DEPARTMENT_ID !== item.DEPARTMENT_ID) {
if (departmentId !== item.departmentId) {
console.log(departmentId + '---' + item.departmentId)
this.$message({
type: 'warning',
message: '只能选择同一部门下的数据'
@ -497,7 +408,7 @@ export default {
return
}
}
this.getUserList(DEPARTMENT_ID)
this.getUserList(departmentId)
this.dialogEditUserForm = {
USER_ID: ''
}
@ -519,10 +430,10 @@ export default {
if (valid) {
this.listLoading = true
requestFN(
'/firePoint/batchEditFirePointUser',
'/fire/point/v2/update/users',
{
DATA_IDS: this.editDataIds.join(','),
USER_ID: this.dialogEditUserForm.USER_ID
ids: this.editDataIds.join(','),
userId: this.dialogEditUserForm.USER_ID
}
).then(() => {
this.$message({
@ -538,8 +449,8 @@ export default {
},
handleDelete(row) {
const DATA_IDS = []
if (row.FIRE_POINT_ID) {
DATA_IDS.push(row.FIRE_POINT_ID)
if (row.firePointId) {
DATA_IDS.push(row.firePointId)
} else {
const selection = this.$refs.multipleTable.selection
if (!selection.length > 0) {
@ -563,7 +474,7 @@ export default {
return
}
selection.forEach(item => {
DATA_IDS.push(item.FIRE_POINT_ID)
DATA_IDS.push(item.firePointId)
})
}
this.$confirm('确定要删除吗?', {
@ -573,9 +484,9 @@ export default {
}).then(() => {
this.listLoading = true
requestFN(
'/firePoint/removeFirePointByIds',
'/fire/point/v2/remove',
{
DATA_IDS: DATA_IDS.join(',')
ids: DATA_IDS.join(',')
}
).then(() => {
this.$message({

View File

@ -1,8 +1,8 @@
<template>
<!-- <component :is="activeName" />-->
<div>
<List v-show="activeName=='List'" ref="list" />
<Edit v-if="activeName=='Edit'" />
<List v-show="activeName === 'List'" ref="list" />
<Edit v-if="activeName === 'Edit'" />
</div>
</template>
@ -22,7 +22,7 @@ export default {
},
watch: {
activeName(val) {
if (val == 'List') {
if (val === 'List') {
this.$refs.list.getList()
}
}

View File

@ -1,34 +1,34 @@
<template>
<div class="app-container">
<div class="level-title">
<h1>{{ this.$parent.FIRE_REGION_ID == '' ? "新增" : "修改" }}</h1>
<h1>{{ this.$parent.fireRegionId === '' ? "新增" : "修改" }}</h1>
</div>
<div>
<el-form v-loading="dialogFormVisible" ref="form" :model="form" :rules="rules" label-width="150px">
<el-row>
<el-col :span="12">
<el-form-item label="消防区域名称:" prop="FIRE_REGION_NAME">
<el-input v-model="form.FIRE_REGION_NAME" placeholder="请输入内容"/>
<el-form-item label="消防区域名称:" prop="fireRegionName">
<el-input v-model="form.fireRegionName" placeholder="请输入内容"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="编码:" prop="FIRE_REGION_CODE">
<el-input v-model="form.FIRE_REGION_CODE" placeholder="请输入内容"/>
<el-form-item label="编码:" prop="fireRegionCode">
<el-input v-model="form.fireRegionCode" placeholder="请输入内容"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="负责部门:" prop="DEPARTMENT_ID">
<el-form-item label="负责部门:" prop="departmentId">
<SelectTree
v-if="treeData.length !== 0"
ref="deptTree_Select"
:clearable="false"
:options="treeData"
:props="defaultProps"
v-model="form.DEPARTMENT_ID"
v-model="form.departmentId"
style="width: 100%;"
placeholder="请选择部门"
/>
@ -37,16 +37,16 @@
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="备注:" prop="REMAKE">
<el-input v-model="form.REMAKE" type="textarea" placeholder="请输入内容"/>
<el-form-item label="备注:" prop="remake">
<el-input v-model="form.remake" type="textarea" placeholder="请输入内容"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="检查照片上传方式:" prop="PHOTO_UPLOAD_METHOD">
<el-radio v-model="form.PHOTO_UPLOAD_METHOD" label="1"></el-radio>
<el-radio v-model="form.PHOTO_UPLOAD_METHOD" label="2"></el-radio>
<el-form-item label="检查照片上传方式:" prop="photoUploadMethod">
<el-radio v-model="form.photoUploadMethod" label="1"></el-radio>
<el-radio v-model="form.photoUploadMethod" label="2"></el-radio>
</el-form-item>
</el-col>
</el-row>
@ -72,111 +72,76 @@ export default {
return {
dialogFormVisible: false,
dialogTableVisible: false,
FIRE_REGION_ID: '',
SORTINDEX: '',
PERSON_CHARGE: '',
DEPARTMENT_ID_OLD: '',
fireRegionId: '',
departmentIdOld: '',
form: {
FIRE_REGION_NAME: '',
FIRE_REGION_ID: '',
DEPARTMENT_ID: '',
REMAKE: '',
FIRE_REGION_CODE: '',
PHOTO_UPLOAD_METHOD: '1' // 1 2
fireRegionName: '',
fireRegionId: '',
departmentId: '',
remake: '',
fireRegionCode: '',
photoUploadMethod: '1' // 1 2
},
riskForm: {},
KEYWORDS: '',
periodList: [],
postList: [],
varList: [],
checked: false, //
checkList: [], //
otherItemList: [], //
treeData: [],
partsList: [],
dates: [], //
defaultProps: {
value: 'id',
children: 'nodes',
label: 'name'
},
rules: {
FIRE_REGION_NAME: [{ required: true, message: '消防区域不为空', trigger: 'blur' }],
DEPARTMENT_ID: [{ required: true, message: '负责部门不为空', trigger: 'blur' }],
FIRE_REGION_CODE: [{ required: true, message: '区域编码不为空', trigger: 'blur' }],
PHOTO_UPLOAD_METHOD: [{ required: true, message: '区域编码不为空', trigger: 'blur' }]
},
formLabelWidth: '120px',
OTHERLEVELID: '',
OTHERDEPARTMENT_ID: '',
OTHERKEYWORDS: '',
levelList: [],
riskList: [],
fullscreenLoading: false,
total: 0,
listQuery: {
page: 1,
limit: 20
},
multipleSelection: [],
accidentList: []
fireRegionName: [{ required: true, message: '消防区域不为空', trigger: 'blur' }],
departmentId: [{ required: true, message: '负责部门不为空', trigger: 'blur' }],
fireRegionCode: [{ required: true, message: '区域编码不为空', trigger: 'blur' }],
photoUploadMethod: [{ required: true, message: '区域编码不为空', trigger: 'blur' }]
}
}
},
watch: {
},
async created() {
this.FIRE_REGION_ID = this.$parent.FIRE_REGION_ID
this.fireRegionId = this.$parent.fireRegionId
this.getDataByID()
this.getTreeData()
// this.getDict()
},
methods: {
confirm() {
this.$refs.form.validate(valid => {
if (valid) {
if (this.$parent.FIRE_REGION_ID == '') {
if (this.$parent.FIRE_REGION_ID === '') {
this.handleAdd()
} else {
// debugger
if (valid) {
this.listLoading = true
requestFN(
'/fireregion/updFireRegionById',
{
FIRE_REGION_ID: this.FIRE_REGION_ID,
FIRE_REGION_NAME: this.form.FIRE_REGION_NAME,
FIRE_REGION_CODE: this.form.FIRE_REGION_CODE,
DEPARTMENT_ID: this.form.DEPARTMENT_ID,
DEPARTMENT_ID_OLD: this.DEPARTMENT_ID_OLD,
REMAKE: this.form.REMAKE,
PHOTO_UPLOAD_METHOD: this.form.PHOTO_UPLOAD_METHOD
}
).then((data) => {
if (data.code != 0) {
this.$message.warning(data.msg)
} else {
this.$message.success(data.msg)
this.listLoading = false
this.dialogFormEdit = false
this.$parent.activeName = 'List'
this.$parent.$refs.list.getList()
}
}).catch((e) => {
this.listLoading = false
})
}
return
}
this.listLoading = true
requestFN(
'/fire/region/v2/update',
{
fireRegionId: this.fireRegionId,
fireRegionName: this.form.FIRE_REGION_NAME,
fireRegionCode: this.form.FIRE_REGION_CODE,
departmentId: this.form.DEPARTMENT_ID,
departmentIdOld: this.DEPARTMENT_ID_OLD,
remake: this.form.REMAKE,
photoUploadMethod: this.form.PHOTO_UPLOAD_METHOD
}
).then((data) => {
if (data.code === 0 || data.code === 200) {
this.$message.success(data.msg)
this.listLoading = false
this.dialogFormEdit = false
this.$parent.activeName = 'List'
this.$parent.$refs.list.getList()
} else {
this.$message.warning(data.msg)
}
}).catch((e) => {
this.listLoading = false
})
}
})
},
number() {
this.form.SORTINDEX = this.form.SORTINDEX.replace(/[^\.\d]/g, '')
this.form.SORTINDEX = this.form.SORTINDEX.replace('.', '')
},
handleAdd() {
requestFN(
'/fireregion/saveInfo',
'/fire/region/v2/save',
this.form
).then((data) => {
this.$parent.activeName = 'List'
@ -185,19 +150,22 @@ export default {
})
},
getDataByID() {
if (this.$parent.fireRegionId === '') {
return
}
this.listLoading = true
this.dialogFormVisible = true
requestFN(
'/fireregion/getFireRegionInfo',
{ FIRE_REGION_ID: this.FIRE_REGION_ID }
'/fire/region/v2/info',
{ fireRegionId: this.fireRegionId }
).then((data) => {
this.form.FIRE_REGION_NAME = data.res.FIRE_REGION_NAME
this.form.FIRE_REGION_CODE = data.res.FIRE_REGION_CODE
this.form.DEPARTMENT_ID = data.res.DEPARTMENT_ID
this.DEPARTMENT_ID_OLD = data.res.DEPARTMENT_ID
this.form.FIRE_REGION_ID = data.res.FIRE_REGION_ID
this.form.REMAKE = data.res.REMAKE
this.form.PHOTO_UPLOAD_METHOD = data.res.PHOTO_UPLOAD_METHOD.toString()
this.form.fireRegionName = data.res.fireRegionName
this.form.fireRegionCode = data.res.fireRegionCode
this.form.departmentId = data.res.departmentId
this.departmentIdOld = data.res.departmentId
this.form.fireRegionId = data.res.fireRegionId
this.form.remake = data.res.remake
this.form.photoUploadMethod = data.res.photoUploadMethod.toString()
this.dialogFormVisible = false
}).catch((e) => {
this.dialogFormVisible = false
@ -218,57 +186,6 @@ export default {
//
goBack() {
this.$parent.activeName = 'List'
},
//
getDict() {
requestFN(
'/dictionaries/getLevels',
{
DICTIONARIES_ID: '5a81e63ec0e94d919b3138bc01dbef6b'
}
).then((data) => {
this.levelList = data.list
})
requestFN(
'/dictionaries/getLevels',
{
DICTIONARIES_ID: 'f60cf0e8315b4993b6d6049dd29f2ba5'
}
).then((data) => {
this.periodList = data.list
})
requestFN(
'/dictionaries/getLevels',
{
DICTIONARIES_ID: '4a3d0d99b0ea4e268c11dd0b18866917'
}
).then((data) => {
this.typeList = data.list
})
requestFN(
'/dictionaries/getLevels',
{
DICTIONARIES_ID: 'dc92de8a375c4b638b1b9f8d374e6426'
}
).then((data) => {
this.screenTypeList = data.list
})
requestFN(
'/riskpoint/getPointSelect',
{}
).then((data) => {
this.unitList = data.unitList
}).catch((e) => {
})
requestFN(
'/dictionaries/getLevels',
{
DICTIONARIES_ID: 'cee1190ea96a4ca9b7bca81e11f0d0f8'
}
).then((data) => {
this.accidentList = data.list
})
}
}
}

View File

@ -5,7 +5,7 @@
<el-row>
<el-col :span="4">
<el-form-item label="区域名称/编码" label-width="110px">
<el-input v-model="KEYWORDS" placeholder="请输入关键字"/>
<el-input v-model="keywords" placeholder="请输入关键字"/>
</el-form-item>
</el-col>
<el-col :span="4"/>
@ -32,17 +32,17 @@
style="width: 100%">
<el-table-column :selectable="selectable" type="selection" reserve-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="DEPARTMENT_NAME" label="负责部门"/>
<el-table-column prop="FIRE_REGION_CODE" label="编码"/>
<el-table-column prop="ITEMCOUNT" label="区域下点位数"/>
<el-table-column prop="STATE" label="状态">
<el-table-column prop="fireRegionName" label="区域名称"/>
<el-table-column prop="departmentName" label="负责部门"/>
<el-table-column prop="fireRegionCode" label="编码"/>
<el-table-column prop="pointCount" label="区域下点位数"/>
<el-table-column prop="state" label="状态">
<template slot-scope="{row}">
<span v-if="row.STATE === 1" class="color-red"></span>
<span v-if="row.STATE === 0" class="color-green"></span>
<span v-if="row.state === 1" class="color-red"></span>
<span v-if="row.state === 0" class="color-green"></span>
</template>
</el-table-column>
<el-table-column prop="REMAKE" label="备注"/>
<el-table-column prop="remake" label="备注"/>
<el-table-column label="操作" width="300">
<template slot-scope="{row}">
<el-button
@ -50,28 +50,28 @@
type="primary"
icon="el-icon-edit"
size="mini"
@click="handleEdit(row.FIRE_REGION_ID,row.STATE)">编辑
@click="handleEdit(row.fireRegionId, row.state)">编辑
</el-button>
<el-button
v-show="edit && row.ITEMCOUNT == 0"
v-show="edit && row.pointCount === 0"
type="danger"
icon="el-icon-delete"
size="mini"
@click="handelDelete(row)">删除
</el-button>
<el-button
v-show="row.STATE === 0"
v-show="row.state === 0"
type="warning"
icon="el-icon-circle-close"
size="mini"
@click="handleClose(row.FIRE_REGION_ID,row.FIRE_REGION_NAME)">禁用
@click="handleClose(row.fireRegionId, row.fireRegionName, 1)">禁用
</el-button>
<el-button
v-show="row.STATE === 1"
v-show="row.state === 1"
type="success"
icon="el-icon-circle-check"
size="mini"
@click="handleOpen(row.FIRE_REGION_ID,row.FIRE_REGION_NAME)">启用
@click="handleClose(row.fireRegionId, row.fireRegionName, 0)">启用
</el-button>
</template>
</el-table-column>
@ -93,15 +93,15 @@
<el-dialog v-loading ="listLoading" :visible.sync="dialogEditDept" title="批量修改负责部门" width="800px">
<el-form ref="firefightingBatchEditDept" :model="form" :rules="rule" label-width="150px">
<el-row>
<el-form-item label="负责部门" prop="DEPARTMENT_ID">
<el-form-item label="负责部门" prop="departmentId">
<SelectTree
v-if="deptTreeData.length !== 0"
ref="deptTree_Select"
:key="form.DEPARTMENT_ID"
:key="form.departmentId"
:clearable="false"
:options="deptTreeData"
:props="defaultProps"
v-model="form.DEPARTMENT_ID"
v-model="form.departmentId"
style="width: 80%;"
placeholder="请选择部门"
/>
@ -112,7 +112,6 @@
<el-button @click="dialogEditDept = false"> </el-button>
<el-button type="primary" @click="dialogEditDeptConfirm"> </el-button>
</div>
</el-dialog>
</div>
</template>
@ -120,18 +119,14 @@
<script>
import Pagination from '@/components/Pagination'
import { requestFN } from '@/utils/request'
import waves from '@/directive/waves' // waves directive
import waves from '@/directive/waves'
import SelectTree from '@/components/SelectTree'
export default {
components: { Pagination, SelectTree },
directives: { waves },
data() {
return {
addBtnType: true,
listLoading: true,
add: false,
del: false,
@ -140,14 +135,11 @@ export default {
page: 1,
limit: 20
},
ls: [],
dates: [],
total: 0,
KEYWORDS: '',
keywords: '',
//
filterText: '',
varList: [],
pd: [],
defaultProps: {
value: 'id',
children: 'nodes',
@ -155,10 +147,10 @@ export default {
},
dialogEditDept: false,
form: {
DEPARTMENT_ID: ''
departmentId: ''
},
rule: {
DEPARTMENT_ID: [{ required: true, message: '负责部门不能为空', trigger: 'blur' }]
departmentId: [{ required: true, message: '负责部门不能为空', trigger: 'blur' }]
},
deptTreeData: [],
editDataIds: []
@ -181,21 +173,17 @@ export default {
if (!value) return true
return data.name.indexOf(value) !== -1
},
handleEdit(FIRE_REGION_ID, STATE) {
if (STATE == 1) {
handleEdit(fireRegionId, state) {
if (state === 1) {
this.$message({
message: '该区域已禁用',
type: 'warning'
})
return
}
this.$parent.FIRE_REGION_ID = FIRE_REGION_ID
this.$parent.fireRegionId = fireRegionId
this.$parent.activeName = 'Edit'
},
handleSubset(FIRE_REGION_ID) {
this.$parent.FIRE_REGION_NAME = FIRE_REGION_ID
this.$parent.activeName = 'Subset'
},
//
getTreeData() {
requestFN(
@ -206,58 +194,35 @@ export default {
}).catch((e) => {
})
},
handleClose(FIRE_REGION_ID, name) {
this.$confirm('确定要禁用[' + name + ']吗?', {
handleClose(fireRegionId, name, state) {
const stateName = state === 0 ? '启用' : '禁用'
this.$confirm('确定要' + stateName + '[' + name + ']吗?', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.listLoading = true
requestFN(
'/fireregion/udpStateById',
'/fire/region/v2/update/state',
{
FIRE_REGION_ID: FIRE_REGION_ID,
STATE: 1
fireRegionId: fireRegionId,
state: state
}
).then(() => {
this.$message({
message: '禁用成功',
type: 'success'
})
this.listLoading = false
this.getTreeList()
this.varList = []
this.listQuery.page = 1
this.getList(this.FIRE_REGION_ID)
}).catch((e) => {
this.listLoading = false
})
}).catch(() => {
})
},
handleOpen(FIRE_REGION_ID, name) {
this.$confirm('确定要启用[' + name + ']吗?', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.listLoading = true
requestFN(
'/fireregion/udpStateById',
{
FIRE_REGION_ID: FIRE_REGION_ID,
STATE: 0
).then((r) => {
if (r.msg === 'success') {
this.$message({
message: stateName + '成功',
type: 'success'
})
this.listLoading = false
this.getTreeList()
this.varList = []
this.listQuery.page = 1
this.getList(this.FIRE_REGION_ID)
} else {
this.listLoading = false
this.$message.warning(r.msg)
}
).then(() => {
this.$message({
message: '启用成功',
type: 'success'
})
this.listLoading = false
this.getTreeList()
this.varList = []
this.listQuery.page = 1
this.getList(this.FIRE_REGION_ID)
}).catch((e) => {
this.listLoading = false
})
@ -274,8 +239,8 @@ export default {
//
handelEditDept(row) {
this.editDataIds = []
if (row.FIRE_REGION_ID) {
this.editDataIds.push(row.FIRE_REGION_ID)
if (row.fireRegionId) {
this.editDataIds.push(row.fireRegionId)
} else {
const selection = this.$refs.multipleTable.selection
if (!selection.length > 0) {
@ -286,46 +251,44 @@ export default {
return
}
selection.forEach(item => {
this.editDataIds.push(item.FIRE_REGION_ID)
this.editDataIds.push(item.fireRegionId)
})
}
this.dialogEditDept = true
this.form = {
DEPARTMENT_ID: ''
departmentId: ''
}
},
dialogEditDeptConfirm() {
this.$refs.firefightingBatchEditDept.validate((valid) => {
if (valid) {
this.listLoading = true
requestFN(
'/fireregion/batchEditDeptByIds',
{
DATA_IDS: this.editDataIds.join(','),
DEPARTMENT_ID: this.form.DEPARTMENT_ID
}
).then((data) => {
this.$message({
message: data.msg,
type: 'success'
})
this.$refs.multipleTable.clearSelection()
this.listLoading = false
this.dialogEditDept = false
this.varList = []
this.listQuery.page = 1
this.getList()
}).catch((e) => {
this.listLoading = false
})
if (!valid) {
return
}
this.listLoading = true
requestFN(
'/fire/region/v2/update/dept',
{
ids: this.editDataIds.join(','),
departmentId: this.form.departmentId
}
).then((data) => {
this.$message.success(data.msg)
this.$refs.multipleTable.clearSelection()
this.listLoading = false
this.dialogEditDept = false
this.varList = []
this.listQuery.page = 1
this.getList()
}).catch((e) => {
this.listLoading = false
})
})
},
//
handelDelete(row) {
const DATA_IDS = []
if (row.FIRE_REGION_ID) {
DATA_IDS.push(row.FIRE_REGION_ID)
if (row.fireRegionId) {
DATA_IDS.push(row.fireRegionId)
} else {
const selection = this.$refs.multipleTable.selection
if (!selection.length > 0) {
@ -349,7 +312,7 @@ export default {
return
}
selection.forEach(item => {
DATA_IDS.push(item.FIRE_REGION_ID)
DATA_IDS.push(item.fireRegionId)
})
}
this.$confirm('确定要删除吗?', {
@ -359,9 +322,9 @@ export default {
}).then(() => {
this.listLoading = true
requestFN(
'/fireregion/delFireRegionByIds',
'/fire/region/v2/remove',
{
DATA_IDS: DATA_IDS.join(',')
ids: DATA_IDS.join(',')
}
).then(() => {
this.$message({
@ -381,6 +344,7 @@ export default {
},
//
handleAdd() {
this.$parent.fireRegionId = ''
this.$parent.activeName = 'Edit'
this.$parent.FIRE_REGION_ID = ''
this.$parent.FIRE_REGION_CODE = ''
@ -397,9 +361,9 @@ export default {
this.varList = []
this.HIDDENREGION_ID = pid
requestFN(
'/fireregion/list?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
'/fire/region/v2/page?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
{
KEYWORDS: this.KEYWORDS
keywords: this.keywords
}
).then((data) => {
this.listLoading = false
@ -409,8 +373,9 @@ export default {
}).catch((e) => {
this.listLoading = false
})
}, goKeyReset() {
this.KEYWORDS = ''
},
goKeyReset() {
this.keywords = ''
this.getList()
},
getDict() {
@ -450,36 +415,6 @@ export default {
this.listLoading = false
})
},
handleDelete(id, name) {
this.$confirm('确定要删除[' + name + ']吗?', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.listLoading = true
requestFN(
'/fireregion/delFireRegionByIds',
{
FIRE_REGION_ID: id
}
).then(() => {
this.$message({
message: '删除成功',
type: 'success'
})
this.listLoading = false
this.getTreeList()
this.varList = []
this.listQuery.page = 1
this.getList(this.FIRE_REGION_ID)
}).catch((e) => {
this.listLoading = false
})
}).catch(() => {
})
},
hasButton: function() {
var keys = 'listmanager:add,listmanager:del,listmanager:edit,toExcel'
requestFN(
@ -520,12 +455,8 @@ export default {
</script>
<style scoped>
.returnBtn {
float: right;
}
.app-container {
display: flex; /**/
display: flex;
align-items: baseline;
}

View File

@ -1,8 +1,9 @@
<template>
<!-- <component :is="activeName" />-->
<div>
<List v-show="activeName=='List'" ref="list" />
<Edit v-if="activeName=='Edit'" />
<keep-alive>
<List v-show="activeName==='List'" ref="list" />
</keep-alive>
<Edit v-if="activeName==='Edit'" />
</div>
</template>
@ -22,7 +23,7 @@ export default {
},
watch: {
activeName(val) {
if (val == 'List') {
if (val === 'List') {
this.$refs.list.getList()
this.$refs.list.getTreeList()
}

View File

@ -4,12 +4,12 @@
<el-row>
<el-col :span="4">
<el-form-item label="检查项关键字" label-width="120px">
<el-input v-model="KEYWORDS" placeholder="搜索"/>
<el-input v-model="keywords" placeholder="搜索"/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="消防器材类型">
<el-select v-model="FIRE_DEVICE_TYPE" placeholder="请选择">
<el-select v-model="fireDeviceType" placeholder="请选择">
<el-option
v-for="item in typeData"
:key="item.NAME"
@ -20,7 +20,7 @@
</el-col>
<el-col :span="4">
<el-form-item label-width="20px">
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery">
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getList">
搜索
</el-button>
<el-button v-waves class="filter-item" type="success" icon="el-icon-refresh" @click="goKeyReset">
@ -40,15 +40,15 @@
<el-table v-loading="listLoading" ref="multipleTable" :data="varList" :row-key="getRowKey" :header-cell-style="{'font-weight': 'bold','color': '#000'}" tooltip-effect="dark" border fit highlight-current-row>
<el-table-column :reserve-selection="true" type="selection" width="55" align="center" />
<el-table-column type="index" label="序号" width="50" align="center" />
<el-table-column prop="DEVICE_NAME" label="消防器材名称" />
<el-table-column prop="DEVICE_TYPE_NAME" label="消防器材类型" />
<el-table-column prop="FIRE_CHECK_STANDARD_ITEM" label="检查项" />
<el-table-column prop="EMPLOYER" label="单位名称" />
<el-table-column prop="OPERATTIME" label="导入时间" />
<el-table-column prop="deviceName" label="消防器材名称" />
<el-table-column prop="fireDeviceTypeName" label="消防器材类型" />
<el-table-column prop="fireCheckStandardItem" label="检查项" />
<el-table-column prop="employer" label="单位名称" />
<el-table-column prop="creattime" label="导入时间" />
<el-table-column label="操作" align="center" width="450">
<template slot-scope="{row}">
<el-button v-show="edit" type="primary" icon="el-icon-edit" size="mini" @click="handleEdit(row.FIRE_CHECK_STANDARD_ID)"></el-button>
<el-button v-show="del" type="danger" icon="el-icon-delete" size="mini" @click="handleDelete(row.FIRE_CHECK_STANDARD_ID)"></el-button>
<el-button v-show="edit" type="primary" icon="el-icon-edit" size="mini" @click="handleEdit(row.fireCheckStandardId)"></el-button>
<el-button v-show="del" type="danger" icon="el-icon-delete" size="mini" @click="handleDelete(row.fireCheckStandardId)"></el-button>
</template>
</el-table-column>
</el-table>
@ -62,8 +62,8 @@
<el-dialog :visible.sync="dialogFormEdit" :title="dialogType==='edit'?'修改':'新增'" width="600px">
<el-form ref="form" :rules="rules" :model="form" label-width="120px" style="width: 500px;">
<el-form-item label="请选择设备类型" prop="FIRE_DEVICE_TYPE">
<el-select v-model="form.FIRE_DEVICE_TYPE" placeholder="请选择">
<el-form-item label="请选择设备类型" prop="fireDeviceType">
<el-select v-model="form.fireDeviceType" placeholder="请选择">
<el-option
v-for="item in typeData"
:key="item.NAME"
@ -71,14 +71,14 @@
:value="item.BIANMA"/>
</el-select>
</el-form-item>
<el-form-item label="消防器材名称" prop="DEVICE_NAME">
<el-input id="DEVICE_NAME" ref="DEVICE_NAME" v-model="form.DEVICE_NAME" maxlength="255" placeholder="这里输入..." />
<el-form-item label="消防器材名称" prop="deviceName">
<el-input id="deviceName" ref="deviceName" v-model="form.deviceName" maxlength="255" placeholder="这里输入..." />
</el-form-item>
<el-form-item label="单位名称" prop="EMPLOYER">
<el-input id="EMPLOYER" ref="EMPLOYER" v-model="form.EMPLOYER" maxlength="255" placeholder="这里输入..." />
<el-form-item label="单位名称" prop="employer">
<el-input id="employer" ref="employer" v-model="form.employer" maxlength="255" placeholder="这里输入..." />
</el-form-item>
<el-form-item label="检查项" prop="FIRE_CHECK_STANDARD_ITEM">
<el-input id="FIRE_CHECK_STANDARD_ITEM" ref="FIRE_CHECK_STANDARD_ITEM" v-model="form.FIRE_CHECK_STANDARD_ITEM" type="textarea"/>
<el-form-item label="检查项" prop="fireCheckStandardItem">
<el-input id="fireCheckStandardItem" ref="fireCheckStandardItem" v-model="form.fireCheckStandardItem" type="textarea"/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@ -92,7 +92,7 @@
<div class="app-container">
<el-form ref="form" :model="daoruFrom" :rules="rules" label-width="120px" class="in-uploader">
<el-form-item label="请选择设备类型" prop="importType">
<el-select v-model="daoruFrom.FIRE_DEVICE_TYPE" placeholder="请选择">
<el-select v-model="daoruFrom.fireDeviceType" placeholder="请选择">
<el-option
v-for="item in typeData"
:key="item.NAME"
@ -102,7 +102,7 @@
</el-form-item>
<el-form-item label="上传附件" prop="FIELDS">
<div class="uploader">
<el-input v-model="daoruFrom.FFILEName" :disabled="true" />
<el-input v-model="daoruFrom.fileName" :disabled="true" />
<el-upload :before-upload="beforeFileUpload" class="avatar-uploader" action="#">
<el-button type="primary" icon="el-icon-upload" style="margin-left:10px">上传附件</el-button>
</el-upload>
@ -123,15 +123,13 @@
</div>
</template>
<script>
import Pagination from '@/components/Pagination' // el-pagination
import Pagination from '@/components/Pagination'
import { requestFN } from '@/utils/request'
import SelectTree from '@/components/SelectTree'
import waves from '@/directive/waves' // waves directive
import vueQr from 'vue-qr'
import waves from '@/directive/waves'
import { upload } from '@/utils/upload'
import { Message } from 'element-ui'
export default {
components: { Pagination, SelectTree, vueQr },
components: { Pagination },
directives: { waves },
data() {
return {
@ -146,49 +144,32 @@ export default {
limit: 20
},
total: 0,
KEYWORDS: this.$route.query.KEYWORDS || '',
DEPARTMENT_ID: '',
keywords: this.$route.query.KEYWORDS || '',
varList: [],
pd: {
RISKUNITNAME: '',
DEPT_NAME: '',
HEADMAN: '',
CORP_NAME: ''
},
qrcodeStr: '',
form: {
FIRE_CHECK_STANDARD_ID: '',
EMPLOYER: '',
FIRE_CHECK_STANDARD_ITEM: '',
DEVICE_NAME: '',
FIRE_DEVICE_TYPE: ''
fireCheckStandardId: '',
employer: '',
fireCheckStandardItem: '',
deviceName: '',
fireDeviceType: ''
},
rules: {
FIRE_DEVICE_TYPE: [{ required: true, message: '设备类型不能为空', trigger: 'blur' }],
DEVICE_NAME: [{ required: true, message: '设备名不能为空', trigger: 'blur' }],
fireDeviceType: [{ required: true, message: '设备类型不能为空', trigger: 'blur' }],
deviceName: [{ required: true, message: '设备名不能为空', trigger: 'blur' }],
importType: [{ required: true, message: '请选择器材类型', trigger: 'blur' }],
FIELDS: [{ required: true, message: '请选择文件', trigger: 'blur' }],
FIRE_CHECK_STANDARD_ITEM: [{ required: true, message: '检查标准不能为空', trigger: 'blur' }],
EMPLOYER: [{ required: true, message: '单位名称不能为空', trigger: 'blur' }]
fireCheckStandardItem: [{ required: true, message: '检查标准不能为空', trigger: 'blur' }],
employer: [{ required: true, message: '单位名称不能为空', trigger: 'blur' }]
},
defaultProps: {
value: 'id',
children: 'nodes',
label: 'name'
},
treeData: [],
typeData: [],
multipleSelectionAll: [], //
multipleSelection: [], //
dialogFormEdit: false,
dialogFormShow: false,
dialogType: 'add',
FIRE_DEVICE_TYPE: '',
dialogType: 'save',
fireDeviceType: '',
dialogFormDaoru: false,
daoruFrom: {
FFILE: '',
FFILEName: '',
FIRE_DEVICE_TYPE: ''
file: '',
fileName: '',
fireDeviceType: ''
}
}
},
@ -198,66 +179,65 @@ export default {
this.getTreeList()
},
methods: {
getQuery() {
this.getList()
},
/**
* 获取主键
* @param row 行数据
* @returns {string}
*/
getRowKey(row) {
return row.FIRE_CHECK_STANDARD_ID
return row.fireCheckStandardId
},
getTreeList() {
requestFN(
'/department/listTree',
{}
).then((data) => {
this.treeData = JSON.parse(data.zTreeNodes)
}).catch((e) => {
})
},
//
getuery() {
// this.$refs.multipleTable.clearSelection()
/**
* 重置
*/
goKeyReset() {
this.keywords = ''
this.fireDeviceType = ''
this.getList()
},
goKeyReset() {
this.KEYWORDS = ''
this.FIRE_DEVICE_TYPE = ''
this.getQuery()
},
//
/**
* 分页查询
*/
getList() {
this.listLoading = true
requestFN(
'/fireCheckStandard/getList?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
'/fire/standard/v2/page?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
{
KEYWORDS: this.KEYWORDS,
FIRE_DEVICE_TYPE: this.FIRE_DEVICE_TYPE
keywords: this.keywords,
fireDeviceType: this.fireDeviceType
}
).then((data) => {
this.listLoading = false
this.varList = data.varList
this.total = data.page.totalResult
this.hasButton()
}).catch((e) => {
}).catch(() => {
this.listLoading = false
})
},
//
/**
* 新增按钮
*/
handleAdd() {
this.dialogType = 'add'
this.dialogType = 'save'
this.dialogFormEdit = true
this.resetForm()
this.$refs.deptTree.clearHandle()
this.getDict()
if (this.typeData == null || this.typeData.length <= 0) {
this.getDict()
}
},
//
handleEdit(ID) {
/**
* 修改按钮
* @param fireCheckStandardId 检查标准id
*/
handleEdit(fireCheckStandardId) {
this.getDict()
this.dialogType = 'edit'
console.log(ID)
this.dialogType = 'update'
requestFN(
'/fireCheckStandard/getInfo',
'/fire/standard/v2/info',
{
FIRE_CHECK_STANDARD_ID: ID
id: fireCheckStandardId
}
).then((data) => {
this.form = Object.assign({}, data.res) // copy obj
@ -268,23 +248,25 @@ export default {
this.$nextTick(() => { // 使
this.$refs.deptTree.handleNodeClick(node)
})
}).catch((e) => {
}).catch(() => {
this.listLoading = false
})
},
//
/**
* 新增或修改
*/
confirm() {
this.$refs.form.validate(valid => {
if (valid) {
this.listLoading = true
requestFN(
'/fireCheckStandard/' + this.dialogType,
'/fire/standard/v2/' + this.dialogType,
this.form
).then((data) => {
).then(() => {
this.listLoading = false
this.dialogFormEdit = false
this.getList()
}).catch((e) => {
}).catch(() => {
this.listLoading = false
})
} else {
@ -292,21 +274,30 @@ export default {
}
})
},
/**
* 文件上传前
* @param file 文件
* @returns {boolean}
*/
beforeFileUpload(file) {
this.daoruFrom.FFILE = file
this.daoruFrom.FFILEName = file.name
this.daoruFrom.file = file
this.daoruFrom.fileName = file.name
this.$forceUpdate()
return false
},
/**
* 执行上传
* @returns {boolean}
*/
goUpload() {
if (this.daoruFrom.FFILE === '') {
if (this.daoruFrom.file === '') {
this.$message({
message: '必须选择文件',
type: 'error'
})
return false
}
if (this.daoruFrom.FIRE_DEVICE_TYPE === '') {
if (this.daoruFrom.fireDeviceType === '') {
this.$message({
message: '必须选择设备类型',
type: 'error'
@ -318,22 +309,25 @@ export default {
formData.append(key, this.daoruFrom[key])
})
upload(
'/fireCheckStandard/importExcelTemplate',
'/fire/standard/v2/import/excel',
formData
).then((data) => {
if (data.msg) {
Message({
message: data.msg,
type: data.type,
type: data.result === 'success' ? 'success' : 'error',
duration: 5 * 1000
})
}
this.dialogFormDaoru = false
this.getList()
}).catch((e) => {
}).catch(() => {
this.listLoading = false
})
},
/**
* 下载模板
*/
getExcelModel() {
this.$confirm('确定要下载excel模板吗?', {
confirmButtonText: '确定',
@ -341,12 +335,16 @@ export default {
type: 'warning'
}).then(() => {
this.listLoading = false
window.location.href = config.httpurl + 'fireCheckStandard/excelModel'
window.location.href = config.httpurl + '/fire/standard/v2/download/excel/format'
}).catch(() => {
this.listLoading = false
})
this.listLoading = false
},
/**
* 删除按钮
* @param id 主键
*/
handleDelete(id) {
this.$confirm('确定要删除吗?', {
confirmButtonText: '确定',
@ -355,9 +353,9 @@ export default {
}).then(() => {
this.listLoading = true
requestFN(
'/fireCheckStandard/delByIds',
'/fire/standard/v2/remove',
{
DATA_IDS: id
ids: id
}
).then((res) => {
if (res.result === 'success') {
@ -370,16 +368,18 @@ export default {
this.varList = []
this.listQuery.page = 1
this.getList()
}).catch((e) => {
}).catch(() => {
this.listLoading = false
})
}).catch(() => {
})
},
/**
* 批量删除
* @returns {boolean}
*/
batchDel() {
const _selectData = this.$refs.multipleTable.selection
if (_selectData == null || _selectData.length == 0) {
if (_selectData == null || _selectData.length === 0) {
this.$message({
message: '请选中要删除的项...',
type: 'error'
@ -387,7 +387,7 @@ export default {
return false
}
const ids = _selectData.map((item, index) => {
return item.FIRE_CHECK_STANDARD_ID
return item.fireCheckStandardId
}).join(',')
this.$confirm('确定要删除选中的数据吗?', {
@ -397,9 +397,9 @@ export default {
}).then(() => {
this.listLoading = true
requestFN(
'/fireCheckStandard/delByIds',
'/fire/standard/v2/remove',
{
DATA_IDS: ids
ids: ids
}
).then(() => {
this.$message({
@ -411,15 +411,16 @@ export default {
this.listQuery.page = 1
this.$refs.multipleTable.clearSelection()
this.getList()
}).catch((e) => {
}).catch(() => {
this.listLoading = false
})
}).catch(() => {
})
},
//
/**
* 按钮权限
*/
hasButton() {
var keys = 'riskunit:add,riskunit:del,riskunit:edit,toExcel'
const keys = 'riskunit:add,riskunit:del,riskunit:edit,toExcel'
requestFN(
'/head/hasButton',
{
@ -429,11 +430,13 @@ export default {
this.add = data.riskunitfhadminadd //
this.del = data.riskunitfhadmindel //
this.edit = data.riskunitfhadminedit //
}).catch((e) => {
}).catch(() => {
this.listLoading = false
})
},
//
/**
* 获取数据字典数据
*/
getDict() {
requestFN(
'dictionaries/getLevels',
@ -442,23 +445,19 @@ export default {
}
).then((data) => {
this.typeData = data.list
console.log(this.typeData)
})
},
/**
* 清空表单
*/
resetForm() {
this.form = {
FIRE_CHECK_STANDARD_ID: '',
EMPLOYER: '',
FIRE_CHECK_STANDARD_ITEM: '',
DEVICE_NAME: '',
FIRE_DEVICE_TYPE: ''
fireCheckStandardId: '',
employer: '',
fireCheckStandardItem: '',
deviceName: '',
fireDeviceType: ''
}
},
goDetail(row) {
this.$parent.activeName = 'Info'
this.$parent.RISKUNIT_ID = row.RISKUNIT_ID
this.$parent.RISKUNITNAME = row.RISKUNITNAME
this.$parent.DEPT_NAME = row.DEPT_NAME
}
}
}

View File

@ -1,8 +1,8 @@
<template>
<!-- <component :is="activeName"/>-->
<div>
<List v-show="activeName=='List'" ref="list" />
<Info v-if="activeName=='Info'" />
<List v-show="activeName==='List'" ref="list" />
<Info v-if="activeName==='Info'" />
</div>
</template>