parent
8f9bf438ed
commit
6ec2cd3f6b
src/views
corpInfo/user/components
emergen_cyrescue
duty_management
duty_log
components
shift_registration
components
emergency_information
emergency_address_book/components
emergency_management_agency/emergency_personnel/components
emergency_report
incident_report/components
notification_log
components
resource_management/fireInfo_report
components
|
@ -13,7 +13,8 @@
|
|||
:props="defaultProps"
|
||||
:filter-node-method="filterNode"
|
||||
class="filter-tree"
|
||||
@node-click="handleNodeClick"/>
|
||||
@node-click="handleNodeClick"
|
||||
/>
|
||||
</el-aside>
|
||||
<el-main>
|
||||
<el-form label-width="60px">
|
||||
|
|
|
@ -0,0 +1,244 @@
|
|||
<template>
|
||||
<div>
|
||||
<div class="app-container">
|
||||
<div class="level-title">
|
||||
<h1>救援队伍详情</h1>
|
||||
</div>
|
||||
<div class="mb-20">
|
||||
<table class="table-ui">
|
||||
<tr>
|
||||
<td class="tbg">救援队名称</td>
|
||||
<td>{{ form.RESCUE_TEAM_NAME }}</td>
|
||||
<td class="tbg">地址</td>
|
||||
<td>{{ form.RESCUE_TEAM_ADDRESS }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">类型</td>
|
||||
<td>{{ form.TYPE_NAME }}</td>
|
||||
<td class="tbg">级别</td>
|
||||
<td>{{ form.LEVEL }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">密级</td>
|
||||
<td>{{ form.SECURITY_LEVEL }}</td>
|
||||
<td class="tbg">所属区域</td>
|
||||
<td>{{ form.AREA_NAME }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">值班电话</td>
|
||||
<td>{{ form.DUTY_PHONE }}</td>
|
||||
<td class="tbg">传真</td>
|
||||
<td>{{ form.FAX }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">邮编</td>
|
||||
<td>{{ form.POSTAL_CODE }}</td>
|
||||
<td class="tbg">成立时间</td>
|
||||
<td>{{ form.ESTABLISHMENT_DATE }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">经度</td>
|
||||
<td>{{ form.LONGITUDE }}</td>
|
||||
<td class="tbg">纬度</td>
|
||||
<td>{{ form.LATITUDE }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">负责人</td>
|
||||
<td>{{ form.RESPONSIBLE_PERSON }}</td>
|
||||
<td class="tbg">负责人办公电话</td>
|
||||
<td>{{ form.RESPONSIBLE_OFFICE_PHONE }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">负责人移动电话</td>
|
||||
<td>{{ form.RESPONSIBLE_MOBILE_PHONE }}</td>
|
||||
<td class="tbg">负责人住宅电话</td>
|
||||
<td>{{ form.RESPONSIBLE_HOME_PHONE }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">联系人</td>
|
||||
<td>{{ form.CONTACT_PERSON }}</td>
|
||||
<td class="tbg">联系人办公电话</td>
|
||||
<td>{{ form.CONTACT_OFFICE_PHONE }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">联系人移动电话</td>
|
||||
<td>{{ form.CONTACT_MOBILE_PHONE }}</td>
|
||||
<td class="tbg">联系人住宅电话</td>
|
||||
<td>{{ form.CONTACT_HOME_PHONE }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">联系人电子邮箱</td>
|
||||
<td>{{ form.CONTACT_EMAIL }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">主管单位名称</td>
|
||||
<td>{{ form.SUPERVISING_UNIT_NAME }}</td>
|
||||
<td class="tbg">主管单位地址</td>
|
||||
<td>{{ form.SUPERVISING_UNIT_ADDRESS }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">总人数</td>
|
||||
<td>{{ form.TOTAL_PERSONNEL }}</td>
|
||||
<td class="tbg">应急通信方式</td>
|
||||
<td>{{ form.EMERGENCY_COMMUNICATION_MODE }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">预计准备时间</td>
|
||||
<td>{{ form.EXPECTED_PREPARATION_TIME }}</td>
|
||||
<td class="tbg">集合出发地点</td>
|
||||
<td>{{ form.ASSEMBLY_DEPARTURE_LOCATION }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">主要职责</td>
|
||||
<td colspan="3">{{ form.MAIN_DUTIES }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">主要装备描述</td>
|
||||
<td colspan="3">{{ form.MAIN_EQUIPMENT_DESCRIPTION }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">专长描述</td>
|
||||
<td colspan="3">{{ form.SPECIALTY_DESCRIPTION }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">资质等级</td>
|
||||
<td colspan="3">{{ form.QUALIFICATION_LEVEL }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">应急救援经历</td>
|
||||
<td colspan="3">{{ form.EMERGENCY_RESCUE_EXPERIENCE }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">备注</td>
|
||||
<td colspan="3">{{ form.REMARK }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ui-height" />
|
||||
<div class="ui-foot">
|
||||
<el-button type="primary" @click="goBack">返回基本信息</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { requestFN } from '@/utils/request'
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
form: {
|
||||
RESCUE_TEAM_NAME: '',
|
||||
RESCUE_TEAM_ADDRESS: '',
|
||||
TYPE: '',
|
||||
TYPE_NAME: '',
|
||||
LEVEL: '',
|
||||
LEVEL_NAME: '',
|
||||
SECURITY_LEVEL: '',
|
||||
SECURITY_LEVEL_NAME: '',
|
||||
AREA: '',
|
||||
AREA_NAME: '',
|
||||
DUTY_PHONE: '',
|
||||
FAX: '',
|
||||
POSTAL_CODE: '',
|
||||
LONGITUDE: '',
|
||||
LATITUDE: '',
|
||||
RESPONSIBLE_PERSON: '',
|
||||
RESPONSIBLE_OFFICE_PHONE: '',
|
||||
RESPONSIBLE_MOBILE_PHONE: '',
|
||||
RESPONSIBLE_HOME_PHONE: '',
|
||||
CONTACT_PERSON: '',
|
||||
CONTACT_OFFICE_PHONE: '',
|
||||
CONTACT_MOBILE_PHONE: '',
|
||||
CONTACT_HOME_PHONE: '',
|
||||
CONTACT_EMAIL: '',
|
||||
TOTAL_PERSONNEL: '',
|
||||
ESTABLISHMENT_DATE: '',
|
||||
EMERGENCY_COMMUNICATION_MODE: '',
|
||||
SUPERVISING_UNIT_NAME: '',
|
||||
SUPERVISING_UNIT_ADDRESS: '',
|
||||
MAIN_DUTIES: '',
|
||||
MAIN_EQUIPMENT_DESCRIPTION: '',
|
||||
SPECIALTY_DESCRIPTION: '',
|
||||
QUALIFICATION_LEVEL: '',
|
||||
EMERGENCY_RESCUE_EXPERIENCE: '',
|
||||
EXPECTED_PREPARATION_TIME: '',
|
||||
ASSEMBLY_DEPARTURE_LOCATION: '',
|
||||
REMARK: ''
|
||||
},
|
||||
Id: ''
|
||||
}
|
||||
},
|
||||
created() {
|
||||
if (this.$parent.CASE_ID) {
|
||||
this.Id = this.$parent.CASE_ID
|
||||
this.getDetail(this.Id)
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
goBack() {
|
||||
this.$parent.activeName = 'list'
|
||||
},
|
||||
getDetail(Id) {
|
||||
const params = { Id }
|
||||
requestFN('/major/emergency/detail', params).then((response) => {
|
||||
const data = response.msg
|
||||
this.form = {
|
||||
RESCUE_TEAM_NAME: data.RESCUE_TEAM_NAME,
|
||||
RESCUE_TEAM_ADDRESS: data.RESCUE_TEAM_ADDRESS,
|
||||
TYPE: data.TYPE,
|
||||
TYPE_NAME: data.TYPE_NAME,
|
||||
LEVEL: data.LEVEL,
|
||||
LEVEL_NAME: data.LEVEL_NAME,
|
||||
SECURITY_LEVEL: data.SECURITY_LEVEL,
|
||||
SECURITY_LEVEL_NAME: data.SECURITY_LEVEL_NAME,
|
||||
AREA: data.AREA,
|
||||
AREA_NAME: data.AREA_NAME,
|
||||
DUTY_PHONE: data.DUTY_PHONE,
|
||||
FAX: data.FAX,
|
||||
POSTAL_CODE: data.POSTAL_CODE,
|
||||
LONGITUDE: data.LONGITUDE,
|
||||
LATITUDE: data.LATITUDE,
|
||||
RESPONSIBLE_PERSON: data.RESPONSIBLE_PERSON,
|
||||
RESPONSIBLE_OFFICE_PHONE: data.RESPONSIBLE_OFFICE_PHONE,
|
||||
RESPONSIBLE_MOBILE_PHONE: data.RESPONSIBLE_MOBILE_PHONE,
|
||||
RESPONSIBLE_HOME_PHONE: data.RESPONSIBLE_HOME_PHONE,
|
||||
CONTACT_PERSON: data.CONTACT_PERSON,
|
||||
CONTACT_OFFICE_PHONE: data.CONTACT_OFFICE_PHONE,
|
||||
CONTACT_MOBILE_PHONE: data.CONTACT_MOBILE_PHONE,
|
||||
CONTACT_HOME_PHONE: data.CONTACT_HOME_PHONE,
|
||||
CONTACT_EMAIL: data.CONTACT_EMAIL,
|
||||
TOTAL_PERSONNEL: data.TOTAL_PERSONNEL,
|
||||
ESTABLISHMENT_DATE: data.ESTABLISHMENT_DATE,
|
||||
EMERGENCY_COMMUNICATION_MODE: data.EMERGENCY_COMMUNICATION_MODE,
|
||||
SUPERVISING_UNIT_NAME: data.SUPERVISING_UNIT_NAME,
|
||||
SUPERVISING_UNIT_ADDRESS: data.SUPERVISING_UNIT_ADDRESS,
|
||||
MAIN_DUTIES: data.MAIN_DUTIES,
|
||||
MAIN_EQUIPMENT_DESCRIPTION: data.MAIN_EQUIPMENT_DESCRIPTION,
|
||||
SPECIALTY_DESCRIPTION: data.SPECIALTY_DESCRIPTION,
|
||||
QUALIFICATION_LEVEL: data.QUALIFICATION_LEVEL,
|
||||
EMERGENCY_RESCUE_EXPERIENCE: data.EMERGENCY_RESCUE_EXPERIENCE,
|
||||
EXPECTED_PREPARATION_TIME: data.EXPECTED_PREPARATION_TIME,
|
||||
ASSEMBLY_DEPARTURE_LOCATION: data.ASSEMBLY_DEPARTURE_LOCATION,
|
||||
REMARK: data.REMARK,
|
||||
Id: data.ID
|
||||
}
|
||||
}).catch((e) => {
|
||||
console.error('获取详情数据失败', e)
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="sass" scoped>
|
||||
.table-ui
|
||||
td
|
||||
line-height: 34px
|
||||
.tbg
|
||||
width: 200px
|
||||
.ui-foot
|
||||
text-align: center
|
||||
margin-top: 20px
|
||||
</style>
|
|
@ -0,0 +1,315 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<div class="filter-container">
|
||||
<el-form inline>
|
||||
<el-form-item label="单位:" prop="UNIT">
|
||||
<el-input v-model="UNIT" placeholder="单位" class="filter-item" style="width: 200px;" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button class="filter-item" type="primary" icon="el-icon-search" @click="getQuery">搜索</el-button>
|
||||
<el-button class="filter-item" type="default" icon="el-icon-refresh" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<el-table ref="multipleTable" :data="varList" :header-cell-style="{'font-weight': 'bold','color': '#000'}" tooltip-effect="dark" border fit highlight-current-row>
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column type="index" label="序号" width="50" align="center" />
|
||||
<el-table-column prop="UNIT" label="单位" width="180" />
|
||||
<el-table-column prop="START_TIME" label="开始时间" show-overflow-tooltip="true" />
|
||||
<el-table-column prop="END_TIME" label="结束时间" show-overflow-tooltip="true" />
|
||||
<el-table-column prop="DUTY_PERSONNEL" label="值班人员" show-overflow-tooltip="true" />
|
||||
<el-table-column prop="SHIFT_PERSONNEL" label="接班人员" show-overflow-tooltip="true" />
|
||||
<el-table-column prop="DUTY_RECORD" label="值班记录" show-overflow-tooltip="true" />
|
||||
<el-table-column prop="HANDLING_SITUATION" label="处理情况" show-overflow-tooltip="true" />
|
||||
<el-table-column prop="HANDOVER_ITEMS" label="交接事项" show-overflow-tooltip="true" />
|
||||
<el-table-column prop="OPERATETIME" label="修改时间" show-overflow-tooltip="true" />
|
||||
<el-table-column label="操作" align="center" width="300">
|
||||
<template slot-scope="{ row }">
|
||||
<el-button type="primary" icon="el-icon-download" size="mini" @click="confirmExport(row.ID)">数据导出</el-button>
|
||||
<el-button type="primary" icon="el-icon-edit" size="mini" @click="handleEdit(row.ID)">编辑</el-button>
|
||||
<el-button type="danger" icon="el-icon-delete" size="mini" @click="handleDelete(row.ID, row.UNIT)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="page-btn-group">
|
||||
<div>
|
||||
<template>
|
||||
<el-button type="primary" icon="el-icon-plus" @click="handleAdd">新增</el-button>
|
||||
<el-button type="danger" icon="el-icon-delete" plain @click="makeAll('0')">删除</el-button>
|
||||
</template>
|
||||
</div>
|
||||
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
|
||||
</div>
|
||||
<el-dialog :visible.sync="dialogFormEdit" :title="dialogType === 'editUser' ? '修改' : '新增'" width="1000px">
|
||||
<el-form ref="form" :rules="rules" :model="form" label-width="250px">
|
||||
<el-form-item label="单位" prop="UNIT">
|
||||
<el-input v-model="form.UNIT" placeholder="请输入单位..." />
|
||||
</el-form-item>
|
||||
<el-form-item label="开始时间" prop="START_TIME">
|
||||
<el-date-picker
|
||||
v-model="form.START_TIME"
|
||||
type="datetime"
|
||||
placeholder="请选择接报时间"
|
||||
format="yyyy-MM-dd HH:mm:ss"
|
||||
value-format="yyyy-MM-dd HH:mm:ss"
|
||||
style="width: 100%;"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="结束时间" prop="END_TIME">
|
||||
<el-date-picker
|
||||
v-model="form.END_TIME"
|
||||
type="datetime"
|
||||
placeholder="请选择发生时间"
|
||||
format="yyyy-MM-dd HH:mm:ss"
|
||||
value-format="yyyy-MM-dd HH:mm:ss"
|
||||
style="width: 100%;"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="值班记录" prop="DUTY_RECORD">
|
||||
<el-input v-model="form.DUTY_RECORD" type="textarea" placeholder="请输入值班记录..." />
|
||||
</el-form-item>
|
||||
<el-form-item label="处理情况" prop="HANDLING_SITUATION">
|
||||
<el-input v-model="form.HANDLING_SITUATION" type="textarea" placeholder="请输入处理情况..." />
|
||||
</el-form-item>
|
||||
<el-form-item label="交接事项" prop="HANDOVER_ITEMS">
|
||||
<el-input v-model="form.HANDOVER_ITEMS" type="textarea" placeholder="请输入交接事项..." />
|
||||
</el-form-item>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="值班人员" prop="DUTY_PERSONNEL">
|
||||
<el-select v-model="form.DUTY_PERSONNEL" placeholder="请选择值班人员">
|
||||
<el-option
|
||||
v-for="item in addressOptions"
|
||||
:key="item.ID"
|
||||
:label="item.NAME"
|
||||
:value="item.NAME"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="接班人员" prop="SHIFT_PERSONNEL">
|
||||
<el-select v-model="form.SHIFT_PERSONNEL" placeholder="请选择接班人员">
|
||||
<el-option
|
||||
v-for="item in addressOptions"
|
||||
:key="item.ID"
|
||||
:label="item.NAME"
|
||||
:value="item.NAME"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogFormEdit = false">取 消</el-button>
|
||||
<el-button type="primary" @click="confirm">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Pagination from '@/components/Pagination'
|
||||
import { requestFN } from '@/utils/request'
|
||||
import { MessageBox, Message } from 'element-ui'
|
||||
|
||||
export default {
|
||||
components: { Pagination },
|
||||
data() {
|
||||
return {
|
||||
listLoading: false,
|
||||
dialogFormEdit: false,
|
||||
dialogFormShow: false,
|
||||
dialogType: 'add',
|
||||
UNIT: '',
|
||||
form: {
|
||||
ID: '',
|
||||
UNIT: '',
|
||||
START_TIME: '',
|
||||
END_TIME: '',
|
||||
DUTY_PERSONNEL: '',
|
||||
SHIFT_PERSONNEL: '',
|
||||
DUTY_RECORD: '',
|
||||
HANDLING_SITUATION: '',
|
||||
HANDOVER_ITEMS: ''
|
||||
},
|
||||
total: 0,
|
||||
varList: [],
|
||||
addressOptions: [],
|
||||
KEYWORDS_NAME: '',
|
||||
listQuery: {
|
||||
page: 1,
|
||||
limit: 10
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
this.getAddressList()
|
||||
},
|
||||
methods: {
|
||||
getQuery() {
|
||||
this.$refs.multipleTable.clearSelection()
|
||||
this.getList()
|
||||
},
|
||||
resetQuery() {
|
||||
this.UNIT = ''
|
||||
this.getQuery()
|
||||
},
|
||||
showDetails(row) {
|
||||
this.form = { ...row }
|
||||
this.dialogFormShow = true
|
||||
},
|
||||
handleEdit(id) {
|
||||
this.dialogFormEdit = true
|
||||
this.dialogType = 'editUser'
|
||||
this.getDetail(id) // 获取详情并回显
|
||||
},
|
||||
confirmExport(id) {
|
||||
MessageBox.confirm('确定要导出数据吗?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.getExportExcel(id)
|
||||
})
|
||||
},
|
||||
getExportExcel(id) {
|
||||
const params = { Id: id }
|
||||
requestFN('/major/dutylog/ExportExcel', params).then((response) => {
|
||||
Message({
|
||||
type: 'success',
|
||||
message: '导出成功'
|
||||
})
|
||||
}).catch((e) => {
|
||||
Message({
|
||||
type: 'error',
|
||||
message: '导出失败'
|
||||
})
|
||||
console.error('导出数据失败', e)
|
||||
})
|
||||
},
|
||||
getDetail(id) {
|
||||
const params = { Id: id }
|
||||
requestFN('/major/dutylog/detail', params).then((response) => {
|
||||
const data = response.msg
|
||||
this.form = {
|
||||
Id: data.ID,
|
||||
UNIT: data.UNIT,
|
||||
START_TIME: data.START_TIME,
|
||||
END_TIME: data.END_TIME,
|
||||
DUTY_PERSONNEL: data.DUTY_PERSONNEL,
|
||||
SHIFT_PERSONNEL: data.SHIFT_PERSONNEL,
|
||||
DUTY_RECORD: data.DUTY_RECORD,
|
||||
HANDLING_SITUATION: data.HANDLING_SITUATION,
|
||||
HANDOVER_ITEMS: data.HANDOVER_ITEMS
|
||||
}
|
||||
}).catch((e) => {
|
||||
console.error('获取详情数据失败', e)
|
||||
})
|
||||
},
|
||||
handleAdd() {
|
||||
this.dialogFormEdit = true
|
||||
this.form = {
|
||||
ID: '',
|
||||
UNIT: '',
|
||||
START_TIME: '',
|
||||
END_TIME: '',
|
||||
DUTY_PERSONNEL: '',
|
||||
SHIFT_PERSONNEL: '',
|
||||
DUTY_RECORD: '',
|
||||
HANDLING_SITUATION: '',
|
||||
HANDOVER_ITEMS: ''
|
||||
}
|
||||
this.dialogType = 'saveUser'
|
||||
},
|
||||
confirm() {
|
||||
this.dataSave()
|
||||
},
|
||||
dataSave() {
|
||||
this.listLoading = true
|
||||
requestFN('/major/dutylog/save', this.form).then((data) => {
|
||||
this.listLoading = false
|
||||
this.dialogFormEdit = false
|
||||
this.getList()
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
handleDelete(id, UNIT) {
|
||||
this.$confirm('确定要删除[' + UNIT + ']吗?', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.listLoading = true
|
||||
requestFN('/major/dutylog/delete', { id }).then((data) => {
|
||||
if (data.result === 'success') {
|
||||
this.listLoading = false
|
||||
this.getList()
|
||||
}
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
}).catch(() => { })
|
||||
},
|
||||
makeAll() {
|
||||
const _selectData = this.$refs.multipleTable.selection
|
||||
if (!_selectData || _selectData.length === 0) {
|
||||
this.$message({
|
||||
message: '请选中要删除的项...',
|
||||
type: 'error'
|
||||
})
|
||||
return false
|
||||
}
|
||||
const ids = _selectData.map(item => item.ID).join(',')
|
||||
|
||||
this.$confirm('确定要删除选中的数据吗?', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.listLoading = true
|
||||
requestFN('/major/dutylog/deleteAll', { ids }).then(() => {
|
||||
this.listLoading = false
|
||||
this.getList()
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
}).catch(() => { })
|
||||
},
|
||||
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
requestFN('/major/dutylog/list?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page,
|
||||
{
|
||||
name: this.UNIT
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.varList = data.varList
|
||||
this.total = data.page.totalResult
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
getAddressList() {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/yjcommunicate/listAddressBook?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page,
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.addressOptions = data.varList.map(item => ({
|
||||
ID: item.ID,
|
||||
NAME: item.NAME
|
||||
}))
|
||||
this.total = data.page.totalResult
|
||||
})
|
||||
.catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
|
@ -0,0 +1,19 @@
|
|||
<template>
|
||||
<div>
|
||||
<list v-show="activeName=='list'" ref="list" />
|
||||
<detail v-if="activeName=='detail'"/>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import list from './components/list.vue'
|
||||
import detail from './components/detail.vue'
|
||||
export default {
|
||||
components: { list, detail },
|
||||
data() {
|
||||
return {
|
||||
activeName: 'list',
|
||||
CASE_ID: ''
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
|
@ -0,0 +1,3 @@
|
|||
<template>
|
||||
<router-view />
|
||||
</template>
|
|
@ -0,0 +1,244 @@
|
|||
<template>
|
||||
<div>
|
||||
<div class="app-container">
|
||||
<div class="level-title">
|
||||
<h1>救援队伍详情</h1>
|
||||
</div>
|
||||
<div class="mb-20">
|
||||
<table class="table-ui">
|
||||
<tr>
|
||||
<td class="tbg">救援队名称</td>
|
||||
<td>{{ form.RESCUE_TEAM_NAME }}</td>
|
||||
<td class="tbg">地址</td>
|
||||
<td>{{ form.RESCUE_TEAM_ADDRESS }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">类型</td>
|
||||
<td>{{ form.TYPE_NAME }}</td>
|
||||
<td class="tbg">级别</td>
|
||||
<td>{{ form.LEVEL }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">密级</td>
|
||||
<td>{{ form.SECURITY_LEVEL }}</td>
|
||||
<td class="tbg">所属区域</td>
|
||||
<td>{{ form.AREA_NAME }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">值班电话</td>
|
||||
<td>{{ form.DUTY_PHONE }}</td>
|
||||
<td class="tbg">传真</td>
|
||||
<td>{{ form.FAX }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">邮编</td>
|
||||
<td>{{ form.POSTAL_CODE }}</td>
|
||||
<td class="tbg">成立时间</td>
|
||||
<td>{{ form.ESTABLISHMENT_DATE }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">经度</td>
|
||||
<td>{{ form.LONGITUDE }}</td>
|
||||
<td class="tbg">纬度</td>
|
||||
<td>{{ form.LATITUDE }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">负责人</td>
|
||||
<td>{{ form.RESPONSIBLE_PERSON }}</td>
|
||||
<td class="tbg">负责人办公电话</td>
|
||||
<td>{{ form.RESPONSIBLE_OFFICE_PHONE }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">负责人移动电话</td>
|
||||
<td>{{ form.RESPONSIBLE_MOBILE_PHONE }}</td>
|
||||
<td class="tbg">负责人住宅电话</td>
|
||||
<td>{{ form.RESPONSIBLE_HOME_PHONE }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">联系人</td>
|
||||
<td>{{ form.CONTACT_PERSON }}</td>
|
||||
<td class="tbg">联系人办公电话</td>
|
||||
<td>{{ form.CONTACT_OFFICE_PHONE }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">联系人移动电话</td>
|
||||
<td>{{ form.CONTACT_MOBILE_PHONE }}</td>
|
||||
<td class="tbg">联系人住宅电话</td>
|
||||
<td>{{ form.CONTACT_HOME_PHONE }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">联系人电子邮箱</td>
|
||||
<td>{{ form.CONTACT_EMAIL }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">主管单位名称</td>
|
||||
<td>{{ form.SUPERVISING_UNIT_NAME }}</td>
|
||||
<td class="tbg">主管单位地址</td>
|
||||
<td>{{ form.SUPERVISING_UNIT_ADDRESS }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">总人数</td>
|
||||
<td>{{ form.TOTAL_PERSONNEL }}</td>
|
||||
<td class="tbg">应急通信方式</td>
|
||||
<td>{{ form.EMERGENCY_COMMUNICATION_MODE }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">预计准备时间</td>
|
||||
<td>{{ form.EXPECTED_PREPARATION_TIME }}</td>
|
||||
<td class="tbg">集合出发地点</td>
|
||||
<td>{{ form.ASSEMBLY_DEPARTURE_LOCATION }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">主要职责</td>
|
||||
<td colspan="3">{{ form.MAIN_DUTIES }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">主要装备描述</td>
|
||||
<td colspan="3">{{ form.MAIN_EQUIPMENT_DESCRIPTION }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">专长描述</td>
|
||||
<td colspan="3">{{ form.SPECIALTY_DESCRIPTION }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">资质等级</td>
|
||||
<td colspan="3">{{ form.QUALIFICATION_LEVEL }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">应急救援经历</td>
|
||||
<td colspan="3">{{ form.EMERGENCY_RESCUE_EXPERIENCE }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">备注</td>
|
||||
<td colspan="3">{{ form.REMARK }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ui-height" />
|
||||
<div class="ui-foot">
|
||||
<el-button type="primary" @click="goBack">返回基本信息</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { requestFN } from '@/utils/request'
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
form: {
|
||||
RESCUE_TEAM_NAME: '',
|
||||
RESCUE_TEAM_ADDRESS: '',
|
||||
TYPE: '',
|
||||
TYPE_NAME: '',
|
||||
LEVEL: '',
|
||||
LEVEL_NAME: '',
|
||||
SECURITY_LEVEL: '',
|
||||
SECURITY_LEVEL_NAME: '',
|
||||
AREA: '',
|
||||
AREA_NAME: '',
|
||||
DUTY_PHONE: '',
|
||||
FAX: '',
|
||||
POSTAL_CODE: '',
|
||||
LONGITUDE: '',
|
||||
LATITUDE: '',
|
||||
RESPONSIBLE_PERSON: '',
|
||||
RESPONSIBLE_OFFICE_PHONE: '',
|
||||
RESPONSIBLE_MOBILE_PHONE: '',
|
||||
RESPONSIBLE_HOME_PHONE: '',
|
||||
CONTACT_PERSON: '',
|
||||
CONTACT_OFFICE_PHONE: '',
|
||||
CONTACT_MOBILE_PHONE: '',
|
||||
CONTACT_HOME_PHONE: '',
|
||||
CONTACT_EMAIL: '',
|
||||
TOTAL_PERSONNEL: '',
|
||||
ESTABLISHMENT_DATE: '',
|
||||
EMERGENCY_COMMUNICATION_MODE: '',
|
||||
SUPERVISING_UNIT_NAME: '',
|
||||
SUPERVISING_UNIT_ADDRESS: '',
|
||||
MAIN_DUTIES: '',
|
||||
MAIN_EQUIPMENT_DESCRIPTION: '',
|
||||
SPECIALTY_DESCRIPTION: '',
|
||||
QUALIFICATION_LEVEL: '',
|
||||
EMERGENCY_RESCUE_EXPERIENCE: '',
|
||||
EXPECTED_PREPARATION_TIME: '',
|
||||
ASSEMBLY_DEPARTURE_LOCATION: '',
|
||||
REMARK: ''
|
||||
},
|
||||
Id: ''
|
||||
}
|
||||
},
|
||||
created() {
|
||||
if (this.$parent.CASE_ID) {
|
||||
this.Id = this.$parent.CASE_ID
|
||||
this.getDetail(this.Id)
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
goBack() {
|
||||
this.$parent.activeName = 'list'
|
||||
},
|
||||
getDetail(Id) {
|
||||
const params = { Id }
|
||||
requestFN('/major/emergency/detail', params).then((response) => {
|
||||
const data = response.msg
|
||||
this.form = {
|
||||
RESCUE_TEAM_NAME: data.RESCUE_TEAM_NAME,
|
||||
RESCUE_TEAM_ADDRESS: data.RESCUE_TEAM_ADDRESS,
|
||||
TYPE: data.TYPE,
|
||||
TYPE_NAME: data.TYPE_NAME,
|
||||
LEVEL: data.LEVEL,
|
||||
LEVEL_NAME: data.LEVEL_NAME,
|
||||
SECURITY_LEVEL: data.SECURITY_LEVEL,
|
||||
SECURITY_LEVEL_NAME: data.SECURITY_LEVEL_NAME,
|
||||
AREA: data.AREA,
|
||||
AREA_NAME: data.AREA_NAME,
|
||||
DUTY_PHONE: data.DUTY_PHONE,
|
||||
FAX: data.FAX,
|
||||
POSTAL_CODE: data.POSTAL_CODE,
|
||||
LONGITUDE: data.LONGITUDE,
|
||||
LATITUDE: data.LATITUDE,
|
||||
RESPONSIBLE_PERSON: data.RESPONSIBLE_PERSON,
|
||||
RESPONSIBLE_OFFICE_PHONE: data.RESPONSIBLE_OFFICE_PHONE,
|
||||
RESPONSIBLE_MOBILE_PHONE: data.RESPONSIBLE_MOBILE_PHONE,
|
||||
RESPONSIBLE_HOME_PHONE: data.RESPONSIBLE_HOME_PHONE,
|
||||
CONTACT_PERSON: data.CONTACT_PERSON,
|
||||
CONTACT_OFFICE_PHONE: data.CONTACT_OFFICE_PHONE,
|
||||
CONTACT_MOBILE_PHONE: data.CONTACT_MOBILE_PHONE,
|
||||
CONTACT_HOME_PHONE: data.CONTACT_HOME_PHONE,
|
||||
CONTACT_EMAIL: data.CONTACT_EMAIL,
|
||||
TOTAL_PERSONNEL: data.TOTAL_PERSONNEL,
|
||||
ESTABLISHMENT_DATE: data.ESTABLISHMENT_DATE,
|
||||
EMERGENCY_COMMUNICATION_MODE: data.EMERGENCY_COMMUNICATION_MODE,
|
||||
SUPERVISING_UNIT_NAME: data.SUPERVISING_UNIT_NAME,
|
||||
SUPERVISING_UNIT_ADDRESS: data.SUPERVISING_UNIT_ADDRESS,
|
||||
MAIN_DUTIES: data.MAIN_DUTIES,
|
||||
MAIN_EQUIPMENT_DESCRIPTION: data.MAIN_EQUIPMENT_DESCRIPTION,
|
||||
SPECIALTY_DESCRIPTION: data.SPECIALTY_DESCRIPTION,
|
||||
QUALIFICATION_LEVEL: data.QUALIFICATION_LEVEL,
|
||||
EMERGENCY_RESCUE_EXPERIENCE: data.EMERGENCY_RESCUE_EXPERIENCE,
|
||||
EXPECTED_PREPARATION_TIME: data.EXPECTED_PREPARATION_TIME,
|
||||
ASSEMBLY_DEPARTURE_LOCATION: data.ASSEMBLY_DEPARTURE_LOCATION,
|
||||
REMARK: data.REMARK,
|
||||
Id: data.ID
|
||||
}
|
||||
}).catch((e) => {
|
||||
console.error('获取详情数据失败', e)
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="sass" scoped>
|
||||
.table-ui
|
||||
td
|
||||
line-height: 34px
|
||||
.tbg
|
||||
width: 200px
|
||||
.ui-foot
|
||||
text-align: center
|
||||
margin-top: 20px
|
||||
</style>
|
|
@ -0,0 +1,780 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<div class="filter-container">
|
||||
<el-form inline>
|
||||
|
||||
<el-form-item prop="ORGAN_ID" style="width: 250px;">
|
||||
<Treeselect
|
||||
:options="DepartmentData"
|
||||
v-model="ORGAN_ID"
|
||||
|
||||
placeholder="请选择单位"
|
||||
no-options-text="暂无数据"
|
||||
no-children-text="暂无数据"
|
||||
@input="handleDepartmentChange"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="月份:" prop="monthvalue">
|
||||
|
||||
<el-date-picker
|
||||
v-model="monthvalue"
|
||||
type="month"
|
||||
format="yyyy-MM"
|
||||
placeholder="选择月"/>
|
||||
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button class="filter-item" type="primary" icon="el-icon-tickets" @click="tempdown">模版下载</el-button>
|
||||
<el-button class="filter-item" type="primary" icon="el-icon-top" @click="tolead">导入</el-button>
|
||||
<el-button class="filter-item" type="primary" icon="el-icon-refresh" @click="clearmonth">清空本月</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button class="filter-item" type="primary" icon="el-icon-search" @click="getQuery">搜索</el-button>
|
||||
<el-button class="filter-item" type="default" icon="el-icon-refresh" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
|
||||
<el-table
|
||||
:data="varList"
|
||||
:header-cell-style="{'font-weight': 'bold','color': '#000'}"
|
||||
height="700px"
|
||||
tooltip-effect="dark"
|
||||
border
|
||||
fit
|
||||
highlight-current-row
|
||||
>
|
||||
<el-table-column
|
||||
prop="DUTY_DATE"
|
||||
label="值班日期"
|
||||
width="150"/>
|
||||
<el-table-column label="早班">
|
||||
<el-table-column
|
||||
prop="name"
|
||||
label="值班领导"
|
||||
width="180">
|
||||
|
||||
<template v-slot="scope">
|
||||
<div style="display: flex;justify-content: space-between">
|
||||
<div >
|
||||
<el-tag
|
||||
v-for=" tag in scope.row.morningShiftForLeader"
|
||||
:key="tag.ID"
|
||||
closable
|
||||
disable-transitions
|
||||
style="cursor: pointer;"
|
||||
@click="peopleDetail(tag.ID,tag.PEOPLE_NAME)"
|
||||
@close="peopleClose(scope.row.morningShiftForLeader,tag,tag.ID)"> {{ tag.PEOPLE_NAME }}</el-tag>
|
||||
</div>
|
||||
<div>
|
||||
<i class="el-icon-plus" style="cursor: pointer;" @click="addPeopleTz(scope.row.morningShiftForLeader,scope.row.ID,1,1)"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column
|
||||
prop="name"
|
||||
label="值班员"
|
||||
width="180">
|
||||
<template v-slot="scope">
|
||||
<div style="display: flex;justify-content: space-between">
|
||||
<div >
|
||||
<el-tag
|
||||
v-for=" tag in scope.row.morningShiftForAttendant"
|
||||
:key="tag.ID"
|
||||
closable
|
||||
style="cursor: pointer;"
|
||||
disable-transitions
|
||||
@click="peopleDetail(tag.ID,tag.PEOPLE_NAME)"
|
||||
@close="peopleClose(scope.row.morningShiftForAttendant,tag,tag.ID)">
|
||||
|
||||
{{ tag.PEOPLE_NAME }}
|
||||
|
||||
</el-tag>
|
||||
</div>
|
||||
<div>
|
||||
<i class="el-icon-plus" style="cursor: pointer;" @click="addPeopleTz(scope.row.morningShiftForAttendant,scope.row.ID,2,1)"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="name"
|
||||
label="值班司机"
|
||||
width="180" >
|
||||
<template v-slot="scope">
|
||||
<div style="display: flex;justify-content: space-between">
|
||||
<div >
|
||||
<el-tag
|
||||
v-for=" tag in scope.row.morningShiftForDrivers"
|
||||
:key="tag.ID"
|
||||
closable
|
||||
style="cursor: pointer;"
|
||||
disable-transitions
|
||||
@click="peopleDetail(tag.ID,tag.PEOPLE_NAME)"
|
||||
@close="peopleClose(scope.row.morningShiftForDrivers,tag,tag.ID)"> {{ tag.PEOPLE_NAME }}</el-tag>
|
||||
</div>
|
||||
<div>
|
||||
<i class="el-icon-plus" style="cursor: pointer;" @click="addPeopleTz(scope.row.morningShiftForDrivers,scope.row.ID,3,1)"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="晚班">
|
||||
<el-table-column
|
||||
prop="name"
|
||||
label="值班领导"
|
||||
width="180">
|
||||
<template v-slot="scope">
|
||||
<div style="display: flex;justify-content: space-between">
|
||||
<div >
|
||||
<el-tag
|
||||
v-for=" tag in scope.row.morningShiftForLeaderForNight"
|
||||
:key="tag.ID"
|
||||
closable
|
||||
disable-transitions
|
||||
style="cursor: pointer;"
|
||||
@click="peopleDetail(tag.ID,tag.PEOPLE_NAME)"
|
||||
@close="peopleClose(scope.row.morningShiftForLeaderForNight,tag,tag.ID)"> {{ tag.PEOPLE_NAME }}</el-tag>
|
||||
</div>
|
||||
<div>
|
||||
<i class="el-icon-plus" style="cursor: pointer;" @click="addPeopleTz(scope.row.morningShiftForLeaderForNight,scope.row.ID,1,2)"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="name"
|
||||
label="值班员"
|
||||
width="180">
|
||||
<template v-slot="scope">
|
||||
<div style="display: flex;justify-content: space-between">
|
||||
<div >
|
||||
<el-tag
|
||||
v-for=" tag in scope.row.morningShiftForAttendantForNight"
|
||||
:key="tag.ID"
|
||||
closable
|
||||
disable-transitions
|
||||
style="cursor: pointer;"
|
||||
@click="peopleDetail(tag.ID,tag.PEOPLE_NAME)"
|
||||
@close="peopleClose(scope.row.morningShiftForAttendantForNight,tag,tag.ID)"> {{ tag.PEOPLE_NAME }}</el-tag>
|
||||
</div>
|
||||
<div>
|
||||
<i class="el-icon-plus" style="cursor: pointer;" @click="addPeopleTz(scope.row.morningShiftForAttendantForNight,scope.row.ID,2,2)"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="name"
|
||||
label="值班司机"
|
||||
width="180">
|
||||
<template v-slot="scope">
|
||||
<div style="display: flex;justify-content: space-between">
|
||||
<div >
|
||||
<el-tag
|
||||
v-for=" tag in scope.row.morningShiftForDriversForNight"
|
||||
:key="tag.ID"
|
||||
closable
|
||||
disable-transitions
|
||||
style="cursor: pointer;"
|
||||
@click="peopleDetail(tag.ID,tag.PEOPLE_NAME)"
|
||||
@close="peopleClose(scope.row.morningShiftForDriversForNight,tag,tag.ID)"> {{ tag.PEOPLE_NAME }}</el-tag>
|
||||
</div>
|
||||
<div>
|
||||
<i class="el-icon-plus" style="cursor: pointer;" @click="addPeopleTz(scope.row.morningShiftForDriversForNight,scope.row.ID,3,2)"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column
|
||||
prop="REMARKS"
|
||||
label="备注"
|
||||
/>
|
||||
<el-table-column label="操作" align="center" width="200">
|
||||
<template slot-scope="{row}">
|
||||
<el-button type="danger" icon="el-icon-delete" size="mini" @click="clearyjDityMain(row.ID)">清空</el-button>
|
||||
<el-button type="primary" icon="el-icon-edit" size="mini" @click="updateMainDity(row.ID)">编辑</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-dialog :visible.sync="dialogPeopleFormEdit" :title="formPeople.PEOPLE_TYPE==1?'值班领导':formPeople.PEOPLE_TYPE==2?'值班员':'值班司机' " width="400px">
|
||||
<el-form ref="formPeople" :model="formPeople" label-width="110px" style="width: 300px;">
|
||||
|
||||
<el-form-item label="姓名" prop="PEOPLE_NAME">
|
||||
<el-input v-model="formPeople.PEOPLE_NAME" placeholder="这里姓名..." />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="电话" prop="PEOPLE_PHONE">
|
||||
<el-input
|
||||
v-model="formPeople.PEOPLE_PHONE"
|
||||
|
||||
placeholder="请输入电话..."/>
|
||||
</el-form-item>
|
||||
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="addSysChoice">从系统中选</el-button>
|
||||
<el-button @click="dialogPeopleFormEdit = false">取 消</el-button>
|
||||
<el-button type="primary" @click="savePeople">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog :visible.sync="dialogFormPeopleDetailShow" title="人员详情" width="400px">
|
||||
<table class="table-ui">
|
||||
<tr>
|
||||
<td class="tbg">姓名</td>
|
||||
<td>
|
||||
<div v-html="formPeopleDetail.PEOPLE_NAME" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">电话</td>
|
||||
<td>
|
||||
<div v-html="formPeopleDetail.PEOPLE_PHONE" />
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogFormPeopleDetailShow = false">关 闭</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog :visible.sync="dialogPeopleMainEdit" title="编辑" width="400px">
|
||||
<el-form ref="formPeople" :model="formMainPeople" label-width="110px" style="width: 300px;">
|
||||
|
||||
<el-form-item label="排班登记名称" prop="PEOPLE_NAME">
|
||||
<el-input v-model="formMainPeople.DUTY_NAME" placeholder="这里排班登记名称..." />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="排班登记类型" prop="DUTY_REG_TYPE">
|
||||
<el-input
|
||||
v-model="formMainPeople.DUTY_REG_TYPE"
|
||||
placeholder="请输入排班登记类型..."/>
|
||||
</el-form-item>
|
||||
<el-form-item label="备注" prop="REMARKS">
|
||||
<el-input
|
||||
v-model="formMainPeople.REMARKS"
|
||||
type="textarea"
|
||||
placeholder="请输入备注..."/>
|
||||
</el-form-item>
|
||||
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogPeopleMainEdit = false">取 消</el-button>
|
||||
<el-button type="primary" @click="saveMainDity">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog :visible.sync="exceltempFormAdd" title="模版导入" width="280px">
|
||||
<el-form ref="formPeople" label-width="100px" >
|
||||
<el-form-item label="请选择模版">
|
||||
|
||||
<el-upload
|
||||
ref="upload"
|
||||
:on-change="handleEditChange"
|
||||
:on-remove="handleRemove"
|
||||
:auto-upload="false"
|
||||
:limit="1"
|
||||
action="#" >
|
||||
<el-button size="small" type="primary">点击上传</el-button>
|
||||
|
||||
</el-upload>
|
||||
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="exceltempFormAdd = false">取 消</el-button>
|
||||
<el-button type="primary" @click="confirmExcel()">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog :visible.sync="dialogFormAddSysChoiceShow" title="选择人员" width="850px">
|
||||
<el-container>
|
||||
<el-aside width="240px" style="background-color:#fff">
|
||||
<el-tree
|
||||
ref="tree"
|
||||
:data="nodeData"
|
||||
:props="defaultProps"
|
||||
:filter-node-method="filterNode"
|
||||
:load="getTreeNode"
|
||||
lazy
|
||||
class="filter-tree"
|
||||
accordion
|
||||
@node-click="handleNodeClick" />
|
||||
</el-aside>
|
||||
<el-main>
|
||||
<div class="filter-btn-group">
|
||||
<el-form label-width="100px">
|
||||
<el-row>
|
||||
<el-col :span="10">
|
||||
<el-form-item label="姓名">
|
||||
<el-input v-model="addressName" placeholder="搜索姓名"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="10">
|
||||
<el-form-item label="性别">
|
||||
<el-radio v-model="addressSex" label="0">男</el-radio>
|
||||
<el-radio v-model="addressSex" label="1">女</el-radio>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col >
|
||||
<el-form-item label-width="10px">
|
||||
<el-button class="filter-item" type="primary" icon="el-icon-search" @click="getAddressList">
|
||||
搜索
|
||||
</el-button>
|
||||
<el-button class="filter-item" type="success" icon="el-icon-refresh" @click="goKeyReset">
|
||||
重置
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</div>
|
||||
<el-table ref="multipleTable" :data="adressvarList" :header-cell-style="{'font-weight': 'bold','color': '#000'}" style="height:350px" tooltip-effect="dark" border fit highlight-current-row>
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column prop="NAME" label="姓名" />
|
||||
<el-table-column prop="SEX" width="180" align="center" label="性别" >
|
||||
<template v-slot="{row}">
|
||||
<span>{{ row.SEX==='0'?'男':'女' }}</span>
|
||||
</template>
|
||||
|
||||
</el-table-column>
|
||||
<el-table-column prop="OFFICE_PHONE" label="移动电话" />
|
||||
<el-table-column prop="MOVE_PHONE" label="办公电话" />
|
||||
|
||||
</el-table>
|
||||
<div class="page-btn-group">
|
||||
<div />
|
||||
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
|
||||
</div>
|
||||
</el-main>
|
||||
</el-container>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogFormAddSysChoiceShow = false">取 消</el-button>
|
||||
<el-button type="primary" @click="savePeople2">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Pagination from '@/components/Pagination'
|
||||
import { requestFN } from '@/utils/request'
|
||||
import { Treeselect } from '@riophae/vue-treeselect'
|
||||
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
|
||||
import moment from 'moment'
|
||||
import { upload } from '@/utils/upload'
|
||||
export default {
|
||||
components: { Treeselect, Pagination },
|
||||
data() {
|
||||
return {
|
||||
exceltempFormAdd: false,
|
||||
FFILE: [],
|
||||
dialogPeopleMainEdit: false,
|
||||
formMainPeople: {
|
||||
DUTY_NAME: '',
|
||||
DUTY_REG_TYPE: '',
|
||||
REMARKS: ''
|
||||
},
|
||||
|
||||
monthvalue: moment().startOf('day').format('YYYY-MM'),
|
||||
dialogPeopleFormEdit: false,
|
||||
|
||||
varList: [],
|
||||
KEYWORDS: '',
|
||||
|
||||
formPeople: {
|
||||
MAIN_ID: '',
|
||||
PEOPLE_TYPE: '',
|
||||
PEOPLE_NAME: '',
|
||||
PEOPLE_PHONE: '',
|
||||
DITY_TYPE: ''
|
||||
},
|
||||
dynamicTags: [],
|
||||
// 人员详情弹框
|
||||
formPeopleDetail: {
|
||||
PEOPLE_NAME: '',
|
||||
PEOPLE_PHONE: ''
|
||||
},
|
||||
dialogFormPeopleDetailShow: false,
|
||||
|
||||
dialogFormAddSysChoiceShow: false,
|
||||
//* *******应急通讯录************
|
||||
listQuery: {
|
||||
page: 1,
|
||||
limit: 10
|
||||
},
|
||||
total: 0,
|
||||
adressvarList: [],
|
||||
addressName: '',
|
||||
addressSex: '',
|
||||
nodeData: [],
|
||||
addressgroupId: '',
|
||||
defaultProps: {
|
||||
value: 'DICTIONARIES_ID',
|
||||
children: 'nodes',
|
||||
label: 'NAME'
|
||||
},
|
||||
ORGAN_ID: null,
|
||||
DepartmentData: [],
|
||||
normalizer(node) {
|
||||
return {
|
||||
id: node.DICTIONARIES_ID,
|
||||
label: node.name,
|
||||
children: node.nodes
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getDepartmentList(() => {
|
||||
this.getList()
|
||||
})
|
||||
},
|
||||
methods: {
|
||||
//* *************部门组件查询*************************
|
||||
getDepartmentList(fun) {
|
||||
requestFN('/department/listAll').then((data) => {
|
||||
this.DepartmentData = data.list.map(item => ({
|
||||
id: item.department_ID,
|
||||
label: item.name
|
||||
}))
|
||||
this.ORGAN_ID = this.DepartmentData[0].id
|
||||
fun()
|
||||
console.log(this.DepartmentData)
|
||||
}).catch((e) => {
|
||||
console.error('获取主管单位数据失败', e)
|
||||
})
|
||||
},
|
||||
handleDepartmentChange(value) {
|
||||
const selectedDepartment = this.DepartmentData.find(department => department.id === value)
|
||||
if (selectedDepartment) {
|
||||
this.ORGAN_ID = selectedDepartment.id
|
||||
}
|
||||
},
|
||||
//* *********************应急通讯录选人*******************
|
||||
clearmonth() {
|
||||
requestFN(
|
||||
'/workingSchedule/clearOrganMonth',
|
||||
{
|
||||
ORGAN_ID: this.ORGAN_ID,
|
||||
date: this.monthvalue
|
||||
}
|
||||
).then((data) => {
|
||||
this.$message({
|
||||
message: '清空成功',
|
||||
type: 'success'
|
||||
})
|
||||
this.getList()
|
||||
})
|
||||
.catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
handleNodeClick(node, data, value) {
|
||||
this.addressgroupId = node.DICTIONARIES_ID
|
||||
this.getAddressList()
|
||||
},
|
||||
getTreeNode(node, resolve) {
|
||||
if (node.level === 0) {
|
||||
requestFN(
|
||||
'/yjcommunicate/getCommunicateGroupLevels',
|
||||
{
|
||||
regulationsId: ''
|
||||
}
|
||||
).then((data) => {
|
||||
resolve(data.list)
|
||||
}).catch((e) => {
|
||||
})
|
||||
} else {
|
||||
requestFN(
|
||||
'/yjcommunicate/getCommunicateGroupLevels',
|
||||
{
|
||||
regulationsId: node.data.DICTIONARIES_ID
|
||||
}
|
||||
).then((data) => {
|
||||
resolve(data.list)
|
||||
}).catch((e) => {
|
||||
})
|
||||
}
|
||||
},
|
||||
filterNode(value, data) {
|
||||
if (!value) return true
|
||||
return data.NAME.indexOf(value) !== -1
|
||||
},
|
||||
goKeyReset() {
|
||||
this.addressName = ''
|
||||
this.addressgroupId = ''
|
||||
this.addressSex = ''
|
||||
this.getAddressList()
|
||||
},
|
||||
getAddressList() {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/yjcommunicate/listAddressBook?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page,
|
||||
{
|
||||
groupId: this.addressgroupId,
|
||||
addressName: this.addressName,
|
||||
addressSex: this.addressSex
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.adressvarList = data.varList
|
||||
this.total = data.page.totalResult
|
||||
})
|
||||
.catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
addSysChoice() {
|
||||
this.dialogPeopleFormEdit = false
|
||||
this.dialogFormAddSysChoiceShow = true
|
||||
this.getAddressList()
|
||||
},
|
||||
// **********************文件上传*********************
|
||||
handleEditChange(file) {
|
||||
file.MATERIALS_ID = Math.random()
|
||||
const is5M = file.size / 1024 / 1024 < 5
|
||||
if (is5M) this.FFILE.push(file)
|
||||
},
|
||||
handleRemove(file, fileList) {
|
||||
this.FFILE = fileList
|
||||
},
|
||||
confirmExcel() {
|
||||
if (this.FFILE.length > 0) {
|
||||
this.upload((v) => {
|
||||
this.$message({
|
||||
message: '导入成功',
|
||||
type: 'success'
|
||||
})
|
||||
this.exceltempFormAdd = false
|
||||
this.$refs.upload.clearFiles()
|
||||
this.getList()
|
||||
})
|
||||
}
|
||||
},
|
||||
upload(fun) {
|
||||
const formData = new FormData()
|
||||
|
||||
for (let i = 0; i < this.FFILE.length; i++) {
|
||||
if (this.FFILE[i].raw) {
|
||||
formData.append('FFILE', this.FFILE[i].raw)
|
||||
}
|
||||
}
|
||||
formData.append('date', this.monthvalue)
|
||||
formData.append('ORGAN_ID', this.ORGAN_ID)
|
||||
upload(
|
||||
'/workingSchedule/upload',
|
||||
formData
|
||||
).then((data) => {
|
||||
fun()
|
||||
}).catch((e) => {
|
||||
})
|
||||
},
|
||||
//* ****************Excel功能********************
|
||||
tempdown() {
|
||||
const url = config.httpurl + '/workingSchedule/download?date=' + this.monthvalue
|
||||
|
||||
setTimeout(function() {
|
||||
window.open(url)
|
||||
// _this.$refs.downloadUrl.dispatchEvent(new MouseEvent('click'))
|
||||
}, 200)
|
||||
},
|
||||
tolead() {
|
||||
this.exceltempFormAdd = true
|
||||
this.FFILE = []
|
||||
this.$refs.upload.clearFiles()
|
||||
},
|
||||
clearyjDityMain(id) {
|
||||
this.$confirm('确定要清除排班数据吗?', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/workingSchedule/clearyjDityMain',
|
||||
{
|
||||
id: id
|
||||
}
|
||||
).then((data) => {
|
||||
if (data.result == 'success') {
|
||||
this.listLoading = false
|
||||
this.getList2()
|
||||
}
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
}).catch(() => {
|
||||
})
|
||||
},
|
||||
//* ****************************保存排班主表数据*******************************
|
||||
updateMainDity(id) {
|
||||
requestFN('/workingSchedule/getDityMainDetail', { id: id }).then((data) => {
|
||||
this.listLoading = false
|
||||
|
||||
this.formMainPeople = {
|
||||
ID: data.data.ID,
|
||||
DUTY_REG_TYPE: data.data.DUTY_REG_TYPE,
|
||||
REMARKS: data.data.REMARKS,
|
||||
DUTY_NAME: data.data.DUTY_NAME
|
||||
}
|
||||
this.dialogPeopleMainEdit = true
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
saveMainDity() {
|
||||
requestFN('/workingSchedule/saveMian', this.formMainPeople).then((data) => {
|
||||
this.dialogPeopleMainEdit = false
|
||||
this.getList2()
|
||||
}).catch((e) => {
|
||||
// this.listLoading = false
|
||||
})
|
||||
},
|
||||
//* ******************************排班人员操作*************************
|
||||
peopleDetail(id, name) {
|
||||
this.listLoading = true
|
||||
requestFN('/workingSchedule/getDityPeopleDetail', { id: id, name: name }).then((data) => {
|
||||
this.listLoading = false
|
||||
// this.varList = []
|
||||
// this.getList()
|
||||
this.formPeopleDetail = {
|
||||
PEOPLE_NAME: data.data.PEOPLE_NAME,
|
||||
PEOPLE_PHONE: data.data.PEOPLE_PHONE
|
||||
}
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
this.dialogFormPeopleDetailShow = true
|
||||
},
|
||||
peopleClose(dynamicTags, tag, id) {
|
||||
dynamicTags.splice(dynamicTags.indexOf(tag), 1)
|
||||
this.listLoading = true
|
||||
requestFN('/workingSchedule/deletePeople', { id: id }).then((data) => {
|
||||
this.listLoading = false
|
||||
// this.varList = []
|
||||
// this.getList()
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
addPeopleTz(dynamicTags, id, type, dity_type) {
|
||||
this.formPeople = {
|
||||
MAIN_ID: id,
|
||||
PEOPLE_TYPE: type,
|
||||
PEOPLE_NAME: '',
|
||||
DITY_TYPE: dity_type,
|
||||
PEOPLE_SOURCE: '1'
|
||||
}
|
||||
this.dynamicTags = dynamicTags
|
||||
this.dialogPeopleFormEdit = true
|
||||
},
|
||||
// 保存值班人员
|
||||
savePeople() {
|
||||
this.dynamicTags.push(this.formPeople)
|
||||
// this.listLoading = true
|
||||
requestFN('/workingSchedule/savePeopleMian', this.formPeople).then((data) => {
|
||||
// this.listLoading = false
|
||||
this.dialogPeopleFormEdit = false
|
||||
// this.varList = []
|
||||
this.getList2()
|
||||
}).catch((e) => {
|
||||
// this.listLoading = false
|
||||
})
|
||||
},
|
||||
savePeople2() {
|
||||
const _selectData = this.$refs.multipleTable.selection
|
||||
if (_selectData == null || _selectData.length == 0) {
|
||||
this.$message({
|
||||
message: '请选择人员...',
|
||||
type: 'error'
|
||||
})
|
||||
return false
|
||||
}
|
||||
const ids = _selectData.map((item, index) => {
|
||||
return item.ADDRESS_ID
|
||||
}).join(',')
|
||||
|
||||
this.formPeople.ids = ids
|
||||
this.formPeople.PEOPLE_SOURCE = 2
|
||||
// this.listLoading = true
|
||||
requestFN('/workingSchedule/savePeopleMian2', this.formPeople).then((data) => {
|
||||
// this.listLoading = false
|
||||
this.dialogFormAddSysChoiceShow = false
|
||||
// this.varList = []
|
||||
this.getList2()
|
||||
}).catch((e) => {
|
||||
// this.listLoading = false
|
||||
})
|
||||
},
|
||||
//* *******************************************
|
||||
resetQuery() {
|
||||
this.monthvalue = moment().startOf('day').format('YYYY-MM')
|
||||
this.ORGAN_ID = this.DepartmentData[0].id
|
||||
this.getQuery()
|
||||
},
|
||||
|
||||
//* *******************列表查询******************************
|
||||
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/workingSchedule/list',
|
||||
{
|
||||
date: this.monthvalue,
|
||||
ORGAN_ID: this.ORGAN_ID
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.varList = data.varList
|
||||
})
|
||||
.catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
getList2() {
|
||||
requestFN(
|
||||
'/workingSchedule/list',
|
||||
{
|
||||
ORGAN_ID: this.ORGAN_ID,
|
||||
date: this.monthvalue
|
||||
}
|
||||
).then((data) => {
|
||||
this.varList = data.varList
|
||||
})
|
||||
.catch((e) => {
|
||||
|
||||
})
|
||||
},
|
||||
|
||||
getQuery() {
|
||||
// this.$refs.multipleTable.clearSelection()
|
||||
this.getList()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style>
|
||||
.el-dialog__body {
|
||||
padding: 10px 20px !important;
|
||||
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,19 @@
|
|||
<template>
|
||||
<div>
|
||||
<list v-show="activeName=='list'" ref="list" />
|
||||
<detail v-if="activeName=='detail'"/>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import list from './components/list.vue'
|
||||
import detail from './components/detail.vue'
|
||||
export default {
|
||||
components: { list, detail },
|
||||
data() {
|
||||
return {
|
||||
activeName: 'list',
|
||||
CASE_ID: ''
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
|
@ -49,6 +49,8 @@
|
|||
</el-table-column>
|
||||
<el-table-column prop="OFFICE_PHONE" label="移动电话" />
|
||||
<el-table-column prop="MOVE_PHONE" label="办公电话" />
|
||||
<el-table-column prop="DEPARTMENT" label="所属部门" />
|
||||
<el-table-column prop="POSITION" label="职务" />
|
||||
<el-table-column label="操作" align="center" width="300">
|
||||
<template v-slot="{row}">
|
||||
<el-button type="primary" icon="el-icon-edit" size="mini" @click="handleEdit(row)">编辑</el-button>
|
||||
|
@ -97,6 +99,21 @@
|
|||
placeholder="请输入移动电话"/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="部门" prop="DEPARTMENT">
|
||||
<el-input
|
||||
v-model="form.DEPARTMENT"
|
||||
:rows="10"
|
||||
|
||||
placeholder="请输入部门"/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="职务" prop="POSITION">
|
||||
<el-input
|
||||
v-model="form.POSITION"
|
||||
:rows="10"
|
||||
|
||||
placeholder="请输入职务"/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogFormEdit = false">取 消</el-button>
|
||||
|
@ -129,6 +146,8 @@ export default {
|
|||
NAME: '',
|
||||
SEX: '0',
|
||||
OFFICE_PHONE: '',
|
||||
DEPARTMENT: '',
|
||||
POSITION: '',
|
||||
MOVE_PHONE: ''
|
||||
},
|
||||
rules: {
|
||||
|
@ -150,6 +169,12 @@ export default {
|
|||
],
|
||||
NAME: [
|
||||
{ required: true, message: '类型不能为空', trigger: 'blur' },
|
||||
{ min: 2, max: 30, message: '长度在 2 到 30 个字符', trigger: 'blur' }],
|
||||
DEPARTMENT: [
|
||||
{ required: true, message: '部门不能为空', trigger: 'blur' },
|
||||
{ min: 2, max: 30, message: '长度在 2 到 30 个字符', trigger: 'blur' }],
|
||||
POSITION: [
|
||||
{ required: true, message: '职务不能为空', trigger: 'blur' },
|
||||
{ min: 2, max: 30, message: '长度在 2 到 30 个字符', trigger: 'blur' }]
|
||||
|
||||
},
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
<el-table ref="multipleTable" :data="varList" :header-cell-style="{'font-weight': 'bold','color': '#000'}" tooltip-effect="dark" border fit highlight-current-row>
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column type="index" label="序号" width="50" align="center" />
|
||||
<el-table-column prop="NAME" label="姓名" width="180" />
|
||||
<el-table-column prop="USER_NAME" label="姓名" width="180" />
|
||||
<el-table-column label="性别" show-overflow-tooltip="true">
|
||||
<template slot-scope="{ row }">
|
||||
{{ row.GENDER === '0' ? '男' : row.GENDER === '1' ? '女' : '' }}
|
||||
|
@ -29,7 +29,7 @@
|
|||
<template slot-scope="{row}">
|
||||
<el-button type="primary" icon="el-icon-document" size="mini" @click="showDetails(row)">查看</el-button>
|
||||
<el-button type="primary" icon="el-icon-edit" size="mini" @click="handleEdit(row.ID)">编辑</el-button>
|
||||
<el-button type="danger" icon="el-icon-delete" size="mini" @click="handleDelete(row.ID,row.NAME)">删除</el-button>
|
||||
<el-button type="danger" icon="el-icon-delete" size="mini" @click="handleDelete(row.ID,row.USER_NAME)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
@ -46,8 +46,8 @@
|
|||
<!-- 查看弹窗 -->
|
||||
<el-dialog :visible.sync="dialogFormShow" title="详情" width="1000px">
|
||||
<el-form :model="form" label-width="250px">
|
||||
<el-form-item label="姓名" prop="NAME">
|
||||
<el-input v-model="form.NAME" placeholder="请输入姓名..." disabled />
|
||||
<el-form-item label="姓名" prop="USER_NAME">
|
||||
<el-input v-model="form.USER_NAME" placeholder="请输入姓名..." disabled />
|
||||
</el-form-item>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
|
@ -92,6 +92,32 @@
|
|||
</el-dialog>
|
||||
<el-dialog :visible.sync="dialogFormEdit" :title="dialogType==='editUser'?'修改':'新增'" width="1000px">
|
||||
<el-form ref="form" :rules="rules" :model="form" label-width="250px">
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="所属部门" prop="department">
|
||||
<el-cascader
|
||||
v-model="form.department"
|
||||
:options="departmentOptions"
|
||||
:props="{ checkStrictly: true }"
|
||||
placeholder="请选择所属部门"
|
||||
style="width: 100%;"
|
||||
@change="handleNodeClick"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="用户" prop="USER_ID">
|
||||
<el-select v-model="form.USER_ID" placeholder="请选择用户" style="width: 100%;" @change="handleUserChange">
|
||||
<el-option
|
||||
v-for="user in userList"
|
||||
:key="user.USER_ID"
|
||||
:label="user.NAME"
|
||||
:value="user.USER_ID"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="所属机构" prop="ORG_ID">
|
||||
|
@ -105,13 +131,6 @@
|
|||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="姓名" prop="NAME">
|
||||
<el-input v-model="form.NAME" placeholder="请输入姓名..." />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="性别" prop="GENDER">
|
||||
<el-select v-model="form.GENDER" placeholder="请选择性别">
|
||||
|
@ -174,8 +193,11 @@ export default {
|
|||
dialogFormShow: false,
|
||||
dialogType: 'add',
|
||||
form: {
|
||||
department: [],
|
||||
DEPARTMENT_ID: '',
|
||||
ORG_ID: '',
|
||||
NAME: '',
|
||||
USER_ID: '',
|
||||
USER_NAME: '',
|
||||
GENDER: '',
|
||||
ADMINISTRATIVE_POSITION: '',
|
||||
ADMINISTRATIVE_LEVEL: '',
|
||||
|
@ -184,9 +206,11 @@ export default {
|
|||
SORT_ORDER: '',
|
||||
ISDELETE: ''
|
||||
},
|
||||
departmentOptions: [],
|
||||
total: 0,
|
||||
varList: [],
|
||||
varTeamList: [],
|
||||
userList: [],
|
||||
KEYWORDS_NAME: '',
|
||||
listQuery: {
|
||||
page: 1,
|
||||
|
@ -194,7 +218,7 @@ export default {
|
|||
}
|
||||
// ,
|
||||
// rules: {
|
||||
// NAME: [{ required: true, message: '请输入姓名', trigger: 'blur' }],
|
||||
// USER_NAME: [{ required: true, message: '请输入姓名', trigger: 'blur' }],
|
||||
// GENDER: [{ required: true, message: '请输入性别', trigger: 'blur' }],
|
||||
// ADMINISTRATIVE_POSITION: [{ required: true, message: '请输入行政职务', trigger: 'blur' }],
|
||||
// ADMINISTRATIVE_LEVEL: [{ required: true, message: '请输入行政级别', trigger: 'blur' }],
|
||||
|
@ -208,6 +232,7 @@ export default {
|
|||
created() {
|
||||
this.getList()
|
||||
this.getTeamList()
|
||||
this.getTreeList()
|
||||
},
|
||||
methods: {
|
||||
resetQuery() {
|
||||
|
@ -223,6 +248,56 @@ export default {
|
|||
this.dialogType = 'editUser'
|
||||
this.getDetail(id) // 获取详情并回显
|
||||
},
|
||||
handleUserChange(value) {
|
||||
const selectedUser = this.userList.find(user => user.USER_ID === value)
|
||||
if (selectedUser) {
|
||||
this.form.USER_NAME = selectedUser.NAME
|
||||
}
|
||||
},
|
||||
getTreeList() {
|
||||
this.treeLoading = true
|
||||
requestFN('/department/listTree', {})
|
||||
.then((data) => {
|
||||
this.treeLoading = false
|
||||
const treeData = JSON.parse(data.zTreeNodes)
|
||||
this.departmentOptions = this.convertTreeData(treeData)
|
||||
})
|
||||
.catch((e) => {
|
||||
this.treeLoading = false
|
||||
})
|
||||
},
|
||||
convertTreeData(treeData) {
|
||||
return treeData.map(node => {
|
||||
const newNode = {
|
||||
value: node.id,
|
||||
label: node.name
|
||||
}
|
||||
if (node.nodes && node.nodes.length > 0) {
|
||||
newNode.children = this.convertTreeData(node.nodes)
|
||||
}
|
||||
return newNode
|
||||
})
|
||||
},
|
||||
handleNodeClick(value) {
|
||||
const selectedNodeId = value[value.length - 1]
|
||||
this.form.DEPARTMENT_ID = selectedNodeId
|
||||
this.getUserList(selectedNodeId)
|
||||
},
|
||||
getUserList(DEPARTMENT_ID) {
|
||||
this.listLoading = true
|
||||
requestFN(
|
||||
'/user/list?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page,
|
||||
{
|
||||
DEPARTMENT_ID: DEPARTMENT_ID
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.userList = data.userList
|
||||
this.total = data.page.totalResult
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
getDetail(id) {
|
||||
const params = { Id: id }
|
||||
requestFN('/major/personnel/detail', params).then((response) => {
|
||||
|
@ -230,15 +305,18 @@ export default {
|
|||
this.form = {
|
||||
Id: data.ID,
|
||||
ORG_ID: data.ORG_ID,
|
||||
NAME: data.NAME,
|
||||
USER_NAME: data.USER_NAME,
|
||||
GENDER: data.GENDER,
|
||||
ADMINISTRATIVE_POSITION: data.ADMINISTRATIVE_POSITION,
|
||||
ADMINISTRATIVE_LEVEL: data.ADMINISTRATIVE_LEVEL,
|
||||
IDENTITY_NUMBER: data.IDENTITY_NUMBER,
|
||||
CONTACT_PHONE: data.CONTACT_PHONE,
|
||||
SORT_ORDER: data.SORT_ORDER,
|
||||
ISDELETE: data.ISDELETE
|
||||
ISDELETE: data.ISDELETE,
|
||||
USER_ID: data.USER_ID,
|
||||
department: this.getDepartmentPath(data.DEPARTMENT_ID) // 设置部门路径
|
||||
}
|
||||
this.getUserList(data.DEPARTMENT_ID)
|
||||
}).catch((e) => {
|
||||
console.error('获取详情数据失败', e)
|
||||
})
|
||||
|
@ -248,13 +326,14 @@ export default {
|
|||
this.form = {
|
||||
ID: '',
|
||||
ORG_ID: '',
|
||||
NAME: '',
|
||||
USER_NAME: '',
|
||||
GENDER: '',
|
||||
ADMINISTRATIVE_POSITION: '',
|
||||
ADMINISTRATIVE_LEVEL: '',
|
||||
IDENTITY_NUMBER: '',
|
||||
CONTACT_PHONE: '',
|
||||
SORT_ORDER: '',
|
||||
department: [],
|
||||
ISDELETE: ''
|
||||
}
|
||||
this.dialogType = 'saveUser'
|
||||
|
@ -264,7 +343,11 @@ export default {
|
|||
},
|
||||
dataSave() {
|
||||
this.listLoading = true
|
||||
requestFN('/major/personnel/save', this.form).then((data) => {
|
||||
const payload = {
|
||||
...this.form,
|
||||
USER_NAME: this.form.USER_NAME
|
||||
}
|
||||
requestFN('/major/personnel/save', payload).then((data) => {
|
||||
this.listLoading = false
|
||||
this.dialogFormEdit = false
|
||||
this.getList()
|
||||
|
@ -272,8 +355,8 @@ export default {
|
|||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
handleDelete(id, NAME) {
|
||||
this.$confirm('确定要删除[' + NAME + ']吗?', {
|
||||
handleDelete(id, USER_NAME) {
|
||||
this.$confirm('确定要删除[' + USER_NAME + ']吗?', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
|
|
|
@ -36,8 +36,8 @@
|
|||
<el-table-column prop="OCCURRENCE_TIME" label="发生时间" show-overflow-tooltip="true" />
|
||||
<el-table-column label="操作" align="center" width="500">
|
||||
<template slot-scope="{row}">
|
||||
<el-button type="primary" size="mini" @click="handleRescue(row.ID)">是否救援</el-button>
|
||||
<el-button type="primary" icon="el-icon-document" size="mini" @click="goList('detail', row.ID, '1')">查看</el-button>
|
||||
<el-button type="info" icon="el-icon-location" size="mini" @click="viewMap(row.ID)">查看地图</el-button>
|
||||
<el-button type="primary" icon="el-icon-edit" size="mini" @click="handleEdit(row.ID, true)">生成专报</el-button>
|
||||
<el-button type="primary" icon="el-icon-edit" size="mini" @click="handleEdit(row.ID)">编辑</el-button>
|
||||
<el-button type="danger" icon="el-icon-delete" size="mini" @click="handleDelete(row.ID,row.EVENT_NAME)">删除</el-button>
|
||||
|
@ -58,7 +58,10 @@
|
|||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="接入方式" prop="ACCESS_MODE">
|
||||
<el-input v-model="form.ACCESS_MODE" placeholder="请输入接入方式..." />
|
||||
<el-select v-model="form.ACCESS_MODE" placeholder="请选择接入方式...">
|
||||
<el-option label="电话接报" value="电话接报" />
|
||||
<el-option label="App接报" value="App接报" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
|
@ -122,12 +125,83 @@
|
|||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="是否救援" prop="ISRESCUE">
|
||||
<el-radio-group v-model="form.ISRESCUE">
|
||||
<el-radio :label="true">是</el-radio>
|
||||
<el-radio :label="false">否</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row v-if="form.ISRESCUE" :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="应急预案" prop="FIRERESERVEPLAN_ID">
|
||||
<el-select v-model="form.FIRERESERVEPLAN_ID" placeholder="请选择应急预案..." @change="handlePlanChange">
|
||||
<el-option
|
||||
v-for="plan in FirereServePlan"
|
||||
:key="plan.id"
|
||||
:label="plan.label"
|
||||
:value="plan.id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="响应级别" prop="HIERARCHICALRESPONSE_ID">
|
||||
<el-select v-model="form.HIERARCHICALRESPONSE_ID" placeholder="请选择响应级别...">
|
||||
<el-option
|
||||
v-for="response in PlanFractional"
|
||||
:key="response.id"
|
||||
:label="response.label"
|
||||
:value="response.id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogFormEdit = false">取 消</el-button>
|
||||
<el-button type="primary" @click="confirm('edit')">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<!-- 是否救援弹窗 -->
|
||||
<el-dialog :visible.sync="dialogRescueVisible" title="是否救援">
|
||||
<el-form ref="rescueForm" :model="rescueForm" label-width="120px">
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="应急预案" prop="FIRERESERVEPLAN_ID">
|
||||
<el-select v-model="rescueForm.FIRERESERVEPLAN_ID" placeholder="请选择应急预案..." @change="handlePlanChange">
|
||||
<el-option
|
||||
v-for="plan in FirereServePlan"
|
||||
:key="plan.id"
|
||||
:label="plan.label"
|
||||
:value="plan.id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="响应级别" prop="HIERARCHICALRESPONSE_ID">
|
||||
<el-select v-model="rescueForm.HIERARCHICALRESPONSE_ID" placeholder="请选择响应级别...">
|
||||
<el-option
|
||||
v-for="response in PlanFractional"
|
||||
:key="response.id"
|
||||
:label="response.label"
|
||||
:value="response.id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogRescueVisible = false">取消</el-button>
|
||||
<el-button type="primary" @click="confirmRescue">确定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<!-- 添加事故报告弹窗 -->
|
||||
<el-dialog :visible.sync="dialogReportVisible" title="添加事故报告" width="1000px">
|
||||
<el-form ref="reportForm" :model="reportForm" label-width="250px">
|
||||
|
@ -418,6 +492,11 @@ export default {
|
|||
page: 1,
|
||||
limit: 10
|
||||
},
|
||||
dialogRescueVisible: false,
|
||||
rescueForm: {
|
||||
FIRERESERVEPLAN_ID: '',
|
||||
HIERARCHICALRESPONSE_ID: ''
|
||||
},
|
||||
total: 0,
|
||||
varList: [],
|
||||
EVENT_NAME: '',
|
||||
|
@ -466,7 +545,10 @@ export default {
|
|||
OPERATOR: '',
|
||||
OPERATETIME: '',
|
||||
CREATETIME: '',
|
||||
CREATOR: ''
|
||||
CREATOR: '',
|
||||
ISRESCUE: false,
|
||||
FIRERESERVEPLAN_ID: '',
|
||||
HIERARCHICALRESPONSE_ID: ''
|
||||
},
|
||||
reportForm: {
|
||||
ID: '',
|
||||
|
@ -612,6 +694,8 @@ export default {
|
|||
FFILE: [],
|
||||
caseSummaryList: [],
|
||||
regionData: [],
|
||||
FirereServePlan: [],
|
||||
PlanFractional: [],
|
||||
normalizer(node) {
|
||||
return {
|
||||
id: node.DICTIONARIES_ID,
|
||||
|
@ -624,8 +708,29 @@ export default {
|
|||
created() {
|
||||
this.getRegionDataList()
|
||||
this.getList()
|
||||
this.getFirereServePlanDataList()
|
||||
},
|
||||
methods: {
|
||||
handleRescue(id) {
|
||||
this.dialogRescueVisible = true
|
||||
this.rescueForm = {
|
||||
FIRERESERVEPLAN_ID: '',
|
||||
HIERARCHICALRESPONSE_ID: ''
|
||||
}
|
||||
},
|
||||
confirmRescue() {
|
||||
this.$refs.rescueForm.validate((valid) => {
|
||||
if (valid) {
|
||||
this.dialogRescueVisible = false
|
||||
// 发送救援信息
|
||||
this.sendSMS(this.rescueForm.FIRERESERVEPLAN_ID, this.rescueForm.HIERARCHICALRESPONSE_ID)
|
||||
}
|
||||
})
|
||||
},
|
||||
sendSMS(planId, responseId) {
|
||||
requestFN('/major/registration/sendSMS', { planId, responseId }).then((response) => {
|
||||
})
|
||||
},
|
||||
handleRegionChange(value) {
|
||||
const selectedRegion = this.regionData.find(region => region.DICTIONARIES_ID === value)
|
||||
if (selectedRegion) {
|
||||
|
@ -664,11 +769,29 @@ export default {
|
|||
console.error('获取树形数据失败', e)
|
||||
})
|
||||
},
|
||||
//* **************地图相关*****************
|
||||
// 查看地图方法
|
||||
viewMap(id) {
|
||||
this.getDetail(id, 'map')
|
||||
getFirereServePlanDataList() {
|
||||
requestFN('/major/emergencyplan/getForEmergencyModule')
|
||||
.then((response) => {
|
||||
const data = response.data
|
||||
this.FirereServePlan = data.map(item => ({
|
||||
id: item.firereserveplan_ID,
|
||||
label: item.planname
|
||||
}))
|
||||
})
|
||||
},
|
||||
handlePlanChange(planId) {
|
||||
this.getPlanFractionalDataList(planId)
|
||||
},
|
||||
getPlanFractionalDataList(planId) {
|
||||
requestFN('/plan/fractional/getForFractModule', { planId }).then((response) => {
|
||||
const data = response.data
|
||||
this.PlanFractional = data.map(item => ({
|
||||
id: item.HIERARCHICALRESPONSE_ID,
|
||||
label: item.HIERARCHICALNAME
|
||||
}))
|
||||
})
|
||||
},
|
||||
//* **************地图相关*****************
|
||||
// 地图相关
|
||||
mapOpen() {
|
||||
this.top = this.getScrollTop()
|
||||
|
|
|
@ -0,0 +1,283 @@
|
|||
<template>
|
||||
<div>
|
||||
<div class="app-container">
|
||||
<div class="level-title">
|
||||
<h1>事故详情</h1>
|
||||
</div>
|
||||
<div class="mb-20">
|
||||
<table class="table-ui">
|
||||
<tr>
|
||||
<td class="tbg">事件标题</td>
|
||||
<td>{{ form.EVENT_NAME }}</td>
|
||||
<td class="tbg">呼入电话</td>
|
||||
<td>{{ form.INCOMING_PHONE }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">机主姓名</td>
|
||||
<td>{{ form.OWNER_NAME }}</td>
|
||||
<td class="tbg">主叫地址</td>
|
||||
<td>{{ form.CALLER_ADDRESS }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">接入方式</td>
|
||||
<td>{{ form.ACCESS_MODE }}</td>
|
||||
<td class="tbg">事件类型</td>
|
||||
<td>{{ form.EVENT_TYPE }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">姓名</td>
|
||||
<td>{{ form.NAME }}</td>
|
||||
<td class="tbg">联系电话</td>
|
||||
<td>{{ form.CONTACT_PHONE }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">单位名称</td>
|
||||
<td>{{ form.UNIT_NAME }}</td>
|
||||
<td class="tbg">所在区域</td>
|
||||
<td>{{ form.REGION }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">单位地址</td>
|
||||
<td>{{ form.UNIT_ADDRESS }}</td>
|
||||
<td class="tbg">行业类型</td>
|
||||
<td>{{ form.INDUSTRY_TYPE }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">经济类型</td>
|
||||
<td>{{ form.ECONOMIC_TYPE }}</td>
|
||||
<td class="tbg">重大危险源</td>
|
||||
<td>{{ form.MAJOR_HAZARD }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">接报时间</td>
|
||||
<td>{{ form.REPORT_TIME }}</td>
|
||||
<td class="tbg">发生时间</td>
|
||||
<td>{{ form.OCCURRENCE_TIME }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">所在地址</td>
|
||||
<td>{{ form.LOCATION_ADDRESS }}</td>
|
||||
<td class="tbg">经度</td>
|
||||
<td>{{ form.LONGITUDE }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">纬度</td>
|
||||
<td>{{ form.LATITUDE }}</td>
|
||||
<td class="tbg">接报类型</td>
|
||||
<td>{{ form.REPORT_TYPE }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">事故标题</td>
|
||||
<td>{{ form.ACCIDENT_TITLE }}</td>
|
||||
<td class="tbg">事故级别</td>
|
||||
<td>{{ form.ACCIDENT_LEVEL }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">伤害类型</td>
|
||||
<td>{{ form.INJURY_TYPE }}</td>
|
||||
<td class="tbg">事故类型</td>
|
||||
<td>{{ form.ACCIDENT_TYPE }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">被困人数</td>
|
||||
<td>{{ form.TRAPPED_PEOPLE_COUNT }}</td>
|
||||
<td class="tbg">失踪人数</td>
|
||||
<td>{{ form.MISSING_PEOPLE_COUNT }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">死亡人数</td>
|
||||
<td>{{ form.DEATH_PEOPLE_COUNT }}</td>
|
||||
<td class="tbg">重伤人数</td>
|
||||
<td>{{ form.SERIOUS_INJURY_PEOPLE_COUNT }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">轻伤人数</td>
|
||||
<td>{{ form.MINOR_INJURY_PEOPLE_COUNT }}</td>
|
||||
<td class="tbg">中毒人数</td>
|
||||
<td>{{ form.POISONING_PEOPLE_COUNT }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">直接经济损失(万元)</td>
|
||||
<td>{{ form.DIRECT_ECONOMIC_LOSS }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">简要经过</td>
|
||||
<td colspan="3">{{ form.BRIEF_PROCESS }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">处置情况</td>
|
||||
<td colspan="3">{{ form.DISPOSAL_SITUATION }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="form.REPORT_UNIT !== null" class="app-container">
|
||||
<div class="level-title">
|
||||
<h1>专报详情</h1>
|
||||
</div>
|
||||
<div class="mb-20">
|
||||
<table class="table-ui">
|
||||
<tr>
|
||||
<td class="tbg">报告单位</td>
|
||||
<td>{{ form.REPORT_UNIT }}</td>
|
||||
<td class="tbg">审核人</td>
|
||||
<td>{{ form.AUDITOR }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">报告人</td>
|
||||
<td>{{ form.REPORTER }}</td>
|
||||
<td class="tbg">报告时间</td>
|
||||
<td>{{ form.REPORT_TIME }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">责任人</td>
|
||||
<td>{{ form.RESPONSIBLE_PERSON }}</td>
|
||||
<td class="tbg">联系方式</td>
|
||||
<td>{{ form.CONTACT_INFORMATION }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">安全评价等级</td>
|
||||
<td>{{ form.SAFETY_EVALUATION_LEVEL }}</td>
|
||||
<td class="tbg">持证情况</td>
|
||||
<td>{{ form.CERTIFICATE_STATUS }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ui-height" />
|
||||
<div class="ui-foot">
|
||||
<el-button type="primary" @click="goBack">返回基本信息</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { requestFN } from '@/utils/request'
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
form: {
|
||||
EVENT_NAME: '',
|
||||
INCOMING_PHONE: '',
|
||||
OWNER_NAME: '',
|
||||
CALLER_ADDRESS: '',
|
||||
ACCESS_MODE: '',
|
||||
EVENT_TYPE: '',
|
||||
NAME: '',
|
||||
CONTACT_PHONE: '',
|
||||
UNIT_NAME: '',
|
||||
REGION: '',
|
||||
UNIT_ADDRESS: '',
|
||||
INDUSTRY_TYPE: '',
|
||||
ECONOMIC_TYPE: '',
|
||||
MAJOR_HAZARD: '',
|
||||
REPORT_TIME: '',
|
||||
OCCURRENCE_TIME: '',
|
||||
LOCATION_ADDRESS: '',
|
||||
LONGITUDE: '',
|
||||
LATITUDE: '',
|
||||
REPORT_TYPE: '',
|
||||
ACCIDENT_TITLE: '',
|
||||
ACCIDENT_LEVEL: '',
|
||||
INJURY_TYPE: '',
|
||||
ACCIDENT_TYPE: '',
|
||||
TRAPPED_PEOPLE_COUNT: '',
|
||||
MISSING_PEOPLE_COUNT: '',
|
||||
DEATH_PEOPLE_COUNT: '',
|
||||
SERIOUS_INJURY_PEOPLE_COUNT: '',
|
||||
MINOR_INJURY_PEOPLE_COUNT: '',
|
||||
POISONING_PEOPLE_COUNT: '',
|
||||
DIRECT_ECONOMIC_LOSS: '',
|
||||
BRIEF_PROCESS: '',
|
||||
DISPOSAL_SITUATION: '',
|
||||
REPORT_UNIT: '',
|
||||
AUDITOR: '',
|
||||
REPORTER: '',
|
||||
RESPONSIBLE_PERSON: '',
|
||||
CONTACT_INFORMATION: '',
|
||||
SAFETY_EVALUATION_LEVEL: '',
|
||||
CERTIFICATE_STATUS: ''
|
||||
},
|
||||
Id: ''
|
||||
}
|
||||
},
|
||||
created() {
|
||||
if (this.$parent.CASE_ID) {
|
||||
this.Id = this.$parent.CASE_ID
|
||||
this.getDetail(this.Id)
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
goBack() {
|
||||
this.$parent.activeName = 'list'
|
||||
},
|
||||
getDetail(Id) {
|
||||
const params = { Id }
|
||||
requestFN('/major/registration/detail', params).then((response) => {
|
||||
const data = response.msg
|
||||
this.form = {
|
||||
REPORT_UNIT: data.REPORT_UNIT,
|
||||
AUDITOR: data.AUDITOR,
|
||||
REPORTER: data.REPORTER,
|
||||
RESPONSIBLE_PERSON: data.RESPONSIBLE_PERSON,
|
||||
CONTACT_INFORMATION: data.CONTACT_INFORMATION,
|
||||
SAFETY_EVALUATION_LEVEL: data.SAFETY_EVALUATION_LEVEL,
|
||||
CERTIFICATE_STATUS: data.CERTIFICATE_STATUS,
|
||||
EVENT_NAME: data.EVENT_NAME,
|
||||
INCOMING_PHONE: data.INCOMING_PHONE,
|
||||
OWNER_NAME: data.OWNER_NAME,
|
||||
CALLER_ADDRESS: data.CALLER_ADDRESS,
|
||||
ACCESS_MODE: data.ACCESS_MODE,
|
||||
EVENT_TYPE: data.EVENT_TYPE,
|
||||
NAME: data.NAME,
|
||||
CONTACT_PHONE: data.CONTACT_PHONE,
|
||||
UNIT_NAME: data.UNIT_NAME,
|
||||
REGION: data.REGION,
|
||||
UNIT_ADDRESS: data.UNIT_ADDRESS,
|
||||
INDUSTRY_TYPE: data.INDUSTRY_TYPE,
|
||||
ECONOMIC_TYPE: data.ECONOMIC_TYPE,
|
||||
MAJOR_HAZARD: data.MAJOR_HAZARD,
|
||||
REPORT_TIME: data.REPORT_TIME,
|
||||
OCCURRENCE_TIME: data.OCCURRENCE_TIME,
|
||||
LOCATION_ADDRESS: data.LOCATION_ADDRESS,
|
||||
LONGITUDE: data.LONGITUDE,
|
||||
LATITUDE: data.LATITUDE,
|
||||
REPORT_TYPE: data.REPORT_TYPE,
|
||||
ACCIDENT_TITLE: data.ACCIDENT_TITLE,
|
||||
ACCIDENT_LEVEL: data.ACCIDENT_LEVEL,
|
||||
INJURY_TYPE: data.INJURY_TYPE,
|
||||
ACCIDENT_TYPE: data.ACCIDENT_TYPE,
|
||||
TRAPPED_PEOPLE_COUNT: data.TRAPPED_PEOPLE_COUNT,
|
||||
MISSING_PEOPLE_COUNT: data.MISSING_PEOPLE_COUNT,
|
||||
DEATH_PEOPLE_COUNT: data.DEATH_PEOPLE_COUNT,
|
||||
SERIOUS_INJURY_PEOPLE_COUNT: data.SERIOUS_INJURY_PEOPLE_COUNT,
|
||||
MINOR_INJURY_PEOPLE_COUNT: data.MINOR_INJURY_PEOPLE_COUNT,
|
||||
POISONING_PEOPLE_COUNT: data.POISONING_PEOPLE_COUNT,
|
||||
DIRECT_ECONOMIC_LOSS: data.DIRECT_ECONOMIC_LOSS,
|
||||
BRIEF_PROCESS: data.BRIEF_PROCESS,
|
||||
DISPOSAL_SITUATION: data.DISPOSAL_SITUATION,
|
||||
OPERATOR: data.OPERATOR,
|
||||
OPERATETIME: data.OPERATETIME,
|
||||
CREATETIME: data.CREATETIME,
|
||||
CREATOR: data.CREATOR,
|
||||
Id: data.ID
|
||||
}
|
||||
}).catch((e) => {
|
||||
console.error('获取详情数据失败', e)
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="sass" scoped>
|
||||
.table-ui
|
||||
td
|
||||
line-height: 34px
|
||||
.tbg
|
||||
width: 200px
|
||||
.ui-foot
|
||||
text-align: center
|
||||
margin-top: 20px
|
||||
</style>
|
|
@ -0,0 +1,182 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<div class="filter-container">
|
||||
<el-form inline>
|
||||
<el-form-item label="姓名:" prop="NAME">
|
||||
<el-input v-model="NAME" placeholder="姓名" class="filter-item" style="width: 200px;" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button class="filter-item" type="primary" icon="el-icon-search" @click="getQuery">搜索</el-button>
|
||||
<el-button class="filter-item" type="default" icon="el-icon-refresh" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<el-table ref="multipleTable" :data="varList" :header-cell-style="{'font-weight': 'bold','color': '#000'}" tooltip-effect="dark" border fit highlight-current-row>
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column type="index" label="序号" width="50" align="center" />
|
||||
<el-table-column prop="NAME" label="姓名" width="180" />
|
||||
<el-table-column prop="PHONE" label="电话" show-overflow-tooltip="true" />
|
||||
<el-table-column prop="PLAN_NAME" label="预案名称" show-overflow-tooltip="true" />
|
||||
<el-table-column prop="RESPONSE_NAME" label="响应级别名称" show-overflow-tooltip="true" />
|
||||
<el-table-column prop="ORDER_CONTENT" label="指令内容" show-overflow-tooltip="true" />
|
||||
<el-table-column prop="CREATETIME" label="通知时间" show-overflow-tooltip="true" />
|
||||
<el-table-column label="操作" align="center" width="300">
|
||||
<template slot-scope="{ row }">
|
||||
<el-button type="primary" icon="el-icon-download" size="mini" @click="confirmExport(row.ID)">数据导出</el-button>
|
||||
<el-button type="danger" icon="el-icon-delete" size="mini" @click="handleDelete(row.ID, row.NAME)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="page-btn-group">
|
||||
<div>
|
||||
<template>
|
||||
<el-button type="danger" icon="el-icon-delete" plain @click="makeAll('0')">删除</el-button>
|
||||
</template>
|
||||
</div>
|
||||
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Pagination from '@/components/Pagination'
|
||||
import { requestFN } from '@/utils/request'
|
||||
import { MessageBox, Message } from 'element-ui'
|
||||
|
||||
export default {
|
||||
components: { Pagination },
|
||||
data() {
|
||||
return {
|
||||
listLoading: false,
|
||||
dialogFormShow: false,
|
||||
dialogType: 'add',
|
||||
NAME: '',
|
||||
form: {
|
||||
ID: '',
|
||||
NAME: '',
|
||||
ORDER_CONTENT: '',
|
||||
PHONE: '',
|
||||
PLAN_ID: '',
|
||||
RESPONSE_ID: ''
|
||||
},
|
||||
total: 0,
|
||||
varList: [],
|
||||
KEYWORDS_NAME: '',
|
||||
listQuery: {
|
||||
page: 1,
|
||||
limit: 10
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
getQuery() {
|
||||
this.$refs.multipleTable.clearSelection()
|
||||
this.getList()
|
||||
},
|
||||
resetQuery() {
|
||||
this.NAME = ''
|
||||
this.getQuery()
|
||||
},
|
||||
confirmExport(id) {
|
||||
MessageBox.confirm('确定要导出数据吗?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.getExportExcel(id)
|
||||
})
|
||||
},
|
||||
getExportExcel(id) {
|
||||
const params = { Id: id }
|
||||
requestFN('/major/dutylog/ExportExcel', params).then((response) => {
|
||||
Message({
|
||||
type: 'success',
|
||||
message: '导出成功'
|
||||
})
|
||||
}).catch((e) => {
|
||||
Message({
|
||||
type: 'error',
|
||||
message: '导出失败'
|
||||
})
|
||||
console.error('导出数据失败', e)
|
||||
})
|
||||
},
|
||||
getDetail(id) {
|
||||
const params = { Id: id }
|
||||
requestFN('/major/dutylog/detail', params).then((response) => {
|
||||
const data = response.msg
|
||||
this.form = {
|
||||
Id: data.ID,
|
||||
NAME: data.NAME,
|
||||
ORDER_CONTENT: data.ORDER_CONTENT,
|
||||
PHONE: data.PHONE,
|
||||
PLAN_ID: data.PLAN_ID,
|
||||
RESPONSE_ID: data.RESPONSE_ID
|
||||
}
|
||||
}).catch((e) => {
|
||||
console.error('获取详情数据失败', e)
|
||||
})
|
||||
},
|
||||
handleDelete(id, NAME) {
|
||||
this.$confirm('确定要删除[' + NAME + ']吗?', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.listLoading = true
|
||||
requestFN('/major/dutylog/delete', { id }).then((data) => {
|
||||
if (data.result === 'success') {
|
||||
this.listLoading = false
|
||||
this.getList()
|
||||
}
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
}).catch(() => { })
|
||||
},
|
||||
makeAll() {
|
||||
const _selectData = this.$refs.multipleTable.selection
|
||||
if (!_selectData || _selectData.length === 0) {
|
||||
this.$message({
|
||||
message: '请选中要删除的项...',
|
||||
type: 'error'
|
||||
})
|
||||
return false
|
||||
}
|
||||
const ids = _selectData.map(item => item.ID).join(',')
|
||||
|
||||
this.$confirm('确定要删除选中的数据吗?', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.listLoading = true
|
||||
requestFN('/major/dutylog/deleteAll', { ids }).then(() => {
|
||||
this.listLoading = false
|
||||
this.getList()
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
}).catch(() => { })
|
||||
},
|
||||
|
||||
getList() {
|
||||
this.listLoading = true
|
||||
requestFN('/major/notification/list?showCount=' + this.listQuery.limit + '¤tPage=' + this.listQuery.page,
|
||||
{
|
||||
name: this.NAME
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.varList = data.varList
|
||||
this.total = data.page.totalResult
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
|
@ -0,0 +1,19 @@
|
|||
<template>
|
||||
<div>
|
||||
<list v-show="activeName=='list'" ref="list" />
|
||||
<detail v-if="activeName=='detail'"/>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import list from './components/list.vue'
|
||||
import detail from './components/detail.vue'
|
||||
export default {
|
||||
components: { list, detail },
|
||||
data() {
|
||||
return {
|
||||
activeName: 'list',
|
||||
CASE_ID: ''
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
|
@ -0,0 +1,182 @@
|
|||
<template>
|
||||
<div>
|
||||
<div class="app-container">
|
||||
<div class="level-title">
|
||||
<h1>应急避难场所</h1>
|
||||
</div>
|
||||
<div class="mb-20">
|
||||
<table class="table-ui">
|
||||
<tr>
|
||||
<td class="tbg">名称</td>
|
||||
<td>{{ form.SHELTER_NAME }}</td>
|
||||
<td class="tbg">设备类型</td>
|
||||
<td>{{ form.TYPE_NAME }}</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="tbg">详情地址</td>
|
||||
<td colspan="3">{{ form.ADDRESS }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">经度</td>
|
||||
<td>{{ form.LONGITUDE }}</td>
|
||||
<td class="tbg">纬度</td>
|
||||
<td>{{ form.LATITUDE }}</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="tbg">联系人</td>
|
||||
<td>{{ form.CONTACT_PERSON }}</td>
|
||||
<td class="tbg">联系人固定电话</td>
|
||||
<td>{{ form.CONTACT_TELE_PHONE }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">联系人移动电话</td>
|
||||
<td>{{ form.CONTACT_MOBILE_PHONE }}</td>
|
||||
<td class="tbg"/>
|
||||
<td/>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">企业名称</td>
|
||||
<td>{{ form.COMPANY }}</td>
|
||||
<td class="tbg">所属区域</td>
|
||||
<td>{{ form.REGION_NAME }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tbg">所属单位</td>
|
||||
<td>{{ form.AFFILIATEDUNIT_NAME }}</td>
|
||||
<td class="tbg"/>
|
||||
<td/>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ui-height" />
|
||||
<div class="ui-foot">
|
||||
<el-button type="primary" @click="goBack">返回基本信息</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { requestFN } from '@/utils/request'
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
form: {
|
||||
// 名称
|
||||
SHELTER_NAME: '',
|
||||
// 设备类型
|
||||
TYPE: '',
|
||||
|
||||
// 经度
|
||||
LONGITUDE: '',
|
||||
// 纬度
|
||||
LATITUDE: '',
|
||||
|
||||
// 联系人
|
||||
CONTACT_PERSON: '',
|
||||
|
||||
// 联系人固定电话
|
||||
CONTACT_TELE_PHONE: '',
|
||||
|
||||
// 联系人移动电话
|
||||
CONTACT_MOBILE_PHONE: '',
|
||||
|
||||
// 详情地址
|
||||
ADDRESS: '',
|
||||
// 企业名称
|
||||
COMPANY: '',
|
||||
// 所属区域
|
||||
REGION: '',
|
||||
// 所属单位
|
||||
AFFILIATEDUNIT: ''
|
||||
},
|
||||
Id: ''
|
||||
}
|
||||
},
|
||||
created() {
|
||||
if (this.$parent.CASE_ID) {
|
||||
this.Id = this.$parent.CASE_ID
|
||||
this.getDetail(this.Id)
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
goBack() {
|
||||
this.$parent.activeName = 'list'
|
||||
},
|
||||
//* ************************下载**********************
|
||||
download(obj) {
|
||||
this.$confirm('确定要下载此文件吗?', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.downloadUrl = config.fileUrl + obj.FILE_URL
|
||||
const _this = this
|
||||
setTimeout(function() {
|
||||
window.open(_this.downloadUrl)
|
||||
}, 200)
|
||||
}).catch(() => {
|
||||
})
|
||||
},
|
||||
//* **************************************
|
||||
getDetail(id) {
|
||||
const params = {
|
||||
id: id
|
||||
}
|
||||
requestFN('/shelterRefuge/detail', params).then((response) => {
|
||||
const data = response.data
|
||||
console.log(data)
|
||||
this.form = {
|
||||
// 名称
|
||||
SHELTER_NAME: data.SHELTER_NAME,
|
||||
// 设备类型
|
||||
TYPE: data.TYPE,
|
||||
|
||||
// 经度
|
||||
LONGITUDE: data.LONGITUDE,
|
||||
// 纬度
|
||||
LATITUDE: data.LATITUDE,
|
||||
|
||||
// 联系人
|
||||
CONTACT_PERSON: data.CONTACT_PERSON,
|
||||
|
||||
// 联系人固定电话
|
||||
CONTACT_TELE_PHONE: data.CONTACT_TELE_PHONE,
|
||||
|
||||
// 联系人移动电话
|
||||
CONTACT_MOBILE_PHONE: data.CONTACT_MOBILE_PHONE,
|
||||
|
||||
// 详情地址
|
||||
ADDRESS: data.ADDRESS,
|
||||
// 企业名称
|
||||
COMPANY: data.COMPANY,
|
||||
// 所属区域
|
||||
REGION: data.REGION,
|
||||
// 所属单位
|
||||
AFFILIATEDUNIT: data.AFFILIATEDUNIT,
|
||||
SHELTER_ID: data.SHELTER_ID,
|
||||
|
||||
REGION_NAME: data.REGION_NAME,
|
||||
AFFILIATEDUNIT_NAME: data.AFFILIATEDUNIT_NAME,
|
||||
TYPE_NAME: data.TYPE_NAME
|
||||
|
||||
}
|
||||
}).catch((e) => {
|
||||
console.error('获取详情数据失败', e)
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="sass" scoped>
|
||||
.table-ui
|
||||
td
|
||||
line-height: 34px
|
||||
.tbg
|
||||
width: 200px
|
||||
.ui-foot
|
||||
text-align: center
|
||||
margin-top: 20px
|
||||
</style>
|
|
@ -0,0 +1,324 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<div class="rightCont">
|
||||
<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-option
|
||||
v-for="item in typeData"
|
||||
:key="item.NAME"
|
||||
:label="item.NAME"
|
||||
:value="item.BIANMA"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</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-option
|
||||
v-for="item in varRegionList"
|
||||
:key="item.FIRE_REGION_ID"
|
||||
:label="item.FIRE_REGION_NAME"
|
||||
:value="item.FIRE_REGION_ID"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="消防点位" label-width="110px">
|
||||
<el-input v-model="keySelect.FIRE_POINT_NAME" 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-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>
|
||||
<el-button v-waves class="filter-item" type="success" icon="el-icon-refresh" @click="goKeyReset">
|
||||
重置
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-form>
|
||||
<div>
|
||||
<el-table
|
||||
v-loading="listLoading"
|
||||
ref="multipleTable"
|
||||
:data="varList"
|
||||
:row-key="getRowKey"
|
||||
border
|
||||
tooltip-effect="dark"
|
||||
style="width: 100%">
|
||||
<el-table-column
|
||||
type="selection"
|
||||
width="55"
|
||||
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>
|
||||
<div class="page-btn-group">
|
||||
<div>
|
||||
<el-button @click = "goBack()">返 回</el-button>
|
||||
</div>
|
||||
<pagination
|
||||
:total="total"
|
||||
:page.sync="listQuery.page"
|
||||
:limit.sync="listQuery.limit"
|
||||
@pagination="getList(FIRE_DEVICE_ID)"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Pagination from '@/components/Pagination'
|
||||
import { requestFN } from '@/utils/request'
|
||||
import waves from '@/directive/waves' // waves directive
|
||||
import SelectTree from '@/components/SelectTree'
|
||||
export default {
|
||||
components: { Pagination, SelectTree },
|
||||
directives: { waves },
|
||||
inject: ['setActiveName', 'setInfo'],
|
||||
data() {
|
||||
return {
|
||||
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: ''
|
||||
},
|
||||
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'
|
||||
},
|
||||
daoruFrom: {
|
||||
FFILEName: '',
|
||||
FFILE: ''
|
||||
}
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
filterText(val) {
|
||||
console.log(val)
|
||||
this.$refs.tree.filter(val)
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
this.hasButton()
|
||||
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',
|
||||
{}
|
||||
).then((data) => {
|
||||
this.varRegionList = data.varList
|
||||
}).catch((e) => {
|
||||
})
|
||||
},
|
||||
goImportStand(FIRE_DEVICE_ID) {
|
||||
this.$parent.FIRE_DEVICE_ID = FIRE_DEVICE_ID
|
||||
this.$parent.activeName = 'Info'
|
||||
},
|
||||
getRowKey(row) {
|
||||
return row.FIRE_DEVICE_ID
|
||||
},
|
||||
// 搜索
|
||||
getQuery() {
|
||||
this.getList()
|
||||
},
|
||||
// 获取列表
|
||||
getList(pid) {
|
||||
this.listLoading = true
|
||||
this.varList = []
|
||||
this.FIRE_POINT_ID = pid
|
||||
requestFN(
|
||||
'/fireDevice/list?showCount=' + this.listQuery.limit + '¤tPage=' + 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
|
||||
}
|
||||
).then((data) => {
|
||||
this.listLoading = false
|
||||
this.varList = data.varList
|
||||
this.total = data.page.totalResult
|
||||
this.hasButton()
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
goKeyReset() {
|
||||
this.keySelect.FIRE_DEVICE_TYPE_ID = ''
|
||||
this.keySelect.FIRE_REGION_ID = ''
|
||||
this.keySelect.FIRE_DEVICE_CODE = ''
|
||||
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: '249151f04fd64132a949fdd430a7b9c5'
|
||||
}
|
||||
).then((data) => {
|
||||
this.typeData = data.list
|
||||
console.log(this.typeData)
|
||||
})
|
||||
.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
|
||||
})
|
||||
},
|
||||
|
||||
hasButton: function() {
|
||||
var keys = 'listmanager:add,listmanager:del,listmanager:edit,toExcel'
|
||||
requestFN(
|
||||
'/head/hasButton',
|
||||
{
|
||||
keys: keys
|
||||
}
|
||||
).then((data) => {
|
||||
this.add = data.listmanagerfhadminadd // 新增权限
|
||||
this.del = data.listmanagerfhadmindel // 删除权限
|
||||
this.edit = data.listmanagerfhadminedit // 修改权限
|
||||
this.toExcel = data.toExcel // 导出到excel权限
|
||||
}).catch((e) => {
|
||||
this.listLoading = false
|
||||
})
|
||||
},
|
||||
goBack() {
|
||||
this.setActiveName('List')
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.returnBtn {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.app-container {
|
||||
display: flex; /**/
|
||||
align-items: baseline;
|
||||
}
|
||||
|
||||
.rightCont {
|
||||
width: 100%
|
||||
}
|
||||
|
||||
</style>
|
||||
<style lang="sass" scoped>
|
||||
.table-qrcode
|
||||
text-align: center
|
||||
padding-top: 20px
|
||||
width: 100%
|
||||
.filter-container
|
||||
position: relative
|
||||
.filter-flot
|
||||
position: absolute
|
||||
right: 0
|
||||
top: 0
|
||||
.uploader
|
||||
width: 570px
|
||||
display: flex
|
||||
align-items: center
|
||||
.el-form-item__content
|
||||
line-height: 1
|
||||
|
||||
.ud-flex
|
||||
display: flex
|
||||
</style>
|
|
@ -0,0 +1,19 @@
|
|||
<template>
|
||||
<div>
|
||||
<list v-show="activeName=='list'" ref="list" />
|
||||
<detail v-if="activeName=='detail'"/>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import list from './components/list.vue'
|
||||
import detail from './components/detail.vue'
|
||||
export default {
|
||||
components: { list, detail },
|
||||
data() {
|
||||
return {
|
||||
activeName: 'list',
|
||||
CASE_ID: ''
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
Loading…
Reference in New Issue