Merge remote-tracking branch 'origin/liujun0703-新项目开发' into liujun0703-新项目开发
commit
94b5031a27
|
@ -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>
|
Loading…
Reference in New Issue