<template>
|
<div class="system-edit-user-container">
|
<el-dialog
|
:title="titles"
|
v-model="isShowDialog"
|
width="900px"
|
draggable
|
:fullscreen="full"
|
@close="resetForm(ruleFormRef)"
|
>
|
<el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
|
<el-form
|
ref="ruleFormRef"
|
:model="ruleForm"
|
size="default"
|
label-width="120px"
|
>
|
<el-row :gutter="35">
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
<el-form-item label="演练名称" prop="emergencyPlanName">
|
<el-input :disabled="true" v-model="ruleForm.emergencyPlanName" placeholder="请填写队伍名称"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
<el-form-item label="演练地点" prop="drillAddress">
|
<el-input :disabled="true" v-model="ruleForm.drillAddress" placeholder="请填写队伍名称"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
<el-form-item label="主办部门" placeholder="请选择" prop="departmentId">
|
<!--<el-tree-select-->
|
<!--v-model="ruleForm.departmentId"-->
|
<!--:data="data" class="w100"-->
|
<!--placeholder="请选择"/>-->
|
|
<el-tree-select :disabled="true" v-model="ruleForm.departmentId"
|
:data="newTreeList" :props="propse" class="w100" placeholder="请选择" />
|
</el-form-item>
|
|
</el-col>
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
<el-form-item label="演练方式" prop="drillWay">
|
<el-select :disabled="true" v-model="ruleForm.drillWay" class="w100" placeholder="请选择">
|
<el-option label="综合" :value="1"></el-option>
|
<el-option label="桌面" :value="2"></el-option>
|
<el-option label="专项" :value="3"></el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
<el-form-item label="应急预案" prop="drillName" >
|
<el-input
|
:disabled="true"
|
v-model="ruleForm.drillName"
|
placeholder="请选择"
|
class="input-with-select"
|
>
|
<template #append>
|
<el-button :disabled="true" :icon="Search" @click="daiInpt"/>
|
</template>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
<el-form-item label="演练级别" prop="drillLevel">
|
<el-select :disabled="true" v-model="ruleForm.drillLevel" class="w100" placeholder="请选择">
|
<el-option label="公司级" :value="1"></el-option>
|
<el-option label="分厂级" :value="2"></el-option>
|
<el-option label="车间级" :value="3"></el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
<el-form-item label="计划定制日期" prop="makingPlanDate">
|
<el-date-picker :disabled="true" v-model="ruleForm.makingPlanDate"
|
value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" />
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
<el-form-item label="计划演练日期" prop="drillPlanDate">
|
<el-date-picker :disabled="true" v-model="ruleForm.drillPlanDate"
|
value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" />
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
<el-form-item label="修改时间" prop="updateDate">
|
<el-date-picker :disabled="true" v-model="ruleForm.updateDate" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" />
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
<el-form-item label="计划定制人" prop="makingUserUid">
|
<el-input :disabled="true" v-model="ruleForm.makingUserName" placeholder="请填写计划定制人"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
<el-form-item label="制定部门" prop="makingDepartmentId">
|
<!--<el-tree-select-->
|
<!--v-model="ruleForm.makingDepartmentId"-->
|
<!--:data="data" class="w100"-->
|
<!--placeholder="请选择"/>-->
|
|
<el-tree-select :disabled="true" v-model="ruleForm.makingDepartmentId"
|
:data="newTreeList" :props="propse" class="w100" placeholder="请选择" />
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
<el-form-item label="演练人员" prop="planUserListString" >
|
<el-input
|
:disabled="true"
|
v-model="ruleForm.planUserListString"
|
placeholder="请选择"
|
class="input-with-select"
|
>
|
<template #append>
|
<el-button :disabled="true" :icon="Search" @click="openUser"/>
|
</template>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
<el-form-item label="演练目的" prop="purpose">
|
<el-input
|
:disabled="true"
|
v-model="ruleForm.purpose"
|
placeholder="请填写演练目的"
|
class="input-with-select textarea"
|
type="textarea"
|
>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
<el-form-item label="演练负责人" prop="chargeUserListString" >
|
<el-input
|
:disabled="true"
|
v-model="ruleForm.chargeUserListString"
|
placeholder="请选择"
|
class="input-with-select"
|
>
|
<template #append>
|
<el-button :disabled="true" :icon="Search" @click="openUser"/>
|
</template>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
<el-form-item label="保险措施" prop="insuranceMeasures">
|
<el-input :disabled="true" v-model="ruleForm.insuranceMeasures" placeholder="请填写保险措施"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
<el-form-item label="演练经费" prop="drillExpense">
|
<el-input :disabled="true" v-model="ruleForm.drillExpense" placeholder="请填写演练经费"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
<el-form-item label="备注信息" prop="remark">
|
<el-input
|
:disabled="true"
|
v-model="ruleForm.remark"
|
placeholder="请填写备注信息"
|
class="input-with-select textarea"
|
type="textarea"
|
>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" style="margin-bottom: 0!important;">
|
<el-form-item label="预案附件">
|
<uploaderFile :fileList="ruleForm.planFileList" :disabled="true"></uploaderFile>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
<el-form-item label="实际到场人员" prop="executeUserListString" >
|
<el-input
|
v-model="ruleForm.executeUserListString"
|
placeholder="请选择"
|
class="input-with-select"
|
:disabled="true"
|
>
|
<template #append>
|
<el-button :icon="Search" @click="openUser"/>
|
</template>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
<el-form-item label="演练过程描述" prop="processDesc">
|
<el-input :disabled="true" v-model="ruleForm.processDesc" class="textarea" type="textarea" placeholder="请填写演练过程描述"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
<el-form-item label="演练记录人" prop="recordUserName" >
|
<el-input
|
v-model="ruleForm.recordUserName"
|
placeholder="请选择"
|
class="input-with-select"
|
:disabled="true"
|
>
|
<template #append>
|
<el-button :icon="Search" @click="openUser"/>
|
</template>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
<el-form-item label="演练记录时间" prop="drillRecordDate">
|
<el-date-picker
|
v-model="ruleForm.drillRecordDate"
|
class="w100"
|
type="datetime"
|
placeholder="选择日期时间"
|
:disabled="true"
|
/>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
<div class="el-divider--horizontal">
|
<div class="el-divider__text">
|
<h3>评价</h3>
|
</div>
|
</div>
|
</el-col>
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
<el-form-item label="演练负责人" prop="evaluationUserListString" >
|
<el-input
|
v-model="ruleForm.evaluationUserListString"
|
placeholder="请选择"
|
class="input-with-select"
|
:disabled="disabled"
|
>
|
<template #append>
|
<el-button :icon="Search" @click="openUser"/>
|
</template>
|
</el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
<el-form-item label="预案评审-适宜性" prop="suitable">
|
<el-select :disabled="disabled" v-model="ruleForm.suitable" class="w100" placeholder="请选择">
|
<el-option label="全部能够执行" :value="1"></el-option>
|
<el-option label="全部不能够执行" :value="2"></el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
<el-form-item label="预案评审-充分性" prop="sufficient">
|
<el-select :disabled="disabled" v-model="ruleForm.sufficient" class="w100" placeholder="请选择">
|
<el-option label="完全满足应急要求" :value="1"></el-option>
|
<el-option label="不完全满足应急要求" :value="2"></el-option>
|
<el-option label="完全不满足应急要求" :value="3"></el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
<el-form-item label="人员到位情况" prop="arrival">
|
<el-select :disabled="disabled" v-model="ruleForm.arrival" class="w100" placeholder="请选择">
|
<el-option label="迅速准确,基本按时到位" :value="1"></el-option>
|
<el-option label="未按时到位" :value="2"></el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
<el-form-item label="物资到位情况-现场物资" prop="supplies">
|
<el-select :disabled="disabled" v-model="ruleForm.supplies" class="w100" placeholder="请选择">
|
<el-option label="现场物资充分,全部有效" :value="1"></el-option>
|
<el-option label="现场物资不充分" :value="2"></el-option>
|
<el-option label="现场没有物资" :value="3"></el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
<el-form-item label="物资到位情况-个人防护" prop="protection">
|
<el-select :disabled="disabled" v-model="ruleForm.protection" class="w100" placeholder="请选择">
|
<el-option label="全部人员防护到位" :value="1"></el-option>
|
<el-option label="人员未防护到位" :value="2"></el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
<el-form-item label="协调组织情况-整体组织" prop="whole">
|
<el-select :disabled="disabled" v-model="ruleForm.whole" class="w100" placeholder="请选择">
|
<el-option label="协调基本顺利,能够满足要求" :value="1"></el-option>
|
<el-option label="协调不顺利" :value="2"></el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
<el-form-item label="协调组织情况-疏散组分工" prop="division">
|
<el-select :disabled="disabled" v-model="ruleForm.division" class="w100" placeholder="请选择">
|
<el-option label="安全,快速" :value="1"></el-option>
|
<el-option label="安全,不快速" :value="2"></el-option>
|
<el-option label="不安全,快速" :value="3"></el-option>
|
<el-option label="不安全,不快速" :value="4"></el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
<el-form-item label="实战效果评价" prop="effect">
|
<el-select :disabled="disabled" v-model="ruleForm.effect" class="w100" placeholder="请选择">
|
<el-option label="基本达到目的,部分环节有待改进" :value="1"></el-option>
|
<el-option label="未达到目的" :value="2"></el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
<el-form-item label="支援部门和协作有效性-报告上级" prop="report">
|
<el-select :disabled="disabled" v-model="ruleForm.report" class="w100" placeholder="请选择">
|
<el-option label="报告及时" :value="1"></el-option>
|
<el-option label="报告不及时" :value="2"></el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
<el-form-item label="支援部门和协作有效性-安全部门" prop="safety">
|
<el-select :disabled="disabled" v-model="ruleForm.safety" class="w100" placeholder="请选择">
|
<el-option label="按要求协作" :value="1"></el-option>
|
<el-option label="未按要求协作" :value="2"></el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
<el-form-item label="支援部门和协作有效性-救援后勤部门" prop="rescue">
|
<el-select :disabled="disabled" v-model="ruleForm.rescue" class="w100" placeholder="请选择">
|
<el-option label="按要求协作" :value="1"></el-option>
|
<el-option label="未按要求协作" :value="2"></el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
<el-form-item label="支援部门和协作有效性-警戒撤离配合" prop="evacuate">
|
<el-select :disabled="disabled" v-model="ruleForm.evacuate" class="w100" placeholder="请选择">
|
<el-option label="按要求配合" :value="1"></el-option>
|
<el-option label="未按要求配合" :value="2"></el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
<el-form-item label="是否需要修改应急预案" prop="needModify">
|
<el-select :disabled="disabled" v-model="ruleForm.needModify" class="w100" placeholder="请选择">
|
<el-option label="是" :value="true"></el-option>
|
<el-option label="否" :value="false"></el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
<el-form-item label="存在问题和改进措施" prop="questionAndImprove">
|
<el-input :disabled="disabled" v-model="ruleForm.questionAndImprove" class="textarea" type="textarea" placeholder="请填写备注信息"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
<el-form-item label="修改内容" prop="modifyContent">
|
<el-input :disabled="disabled" v-model="ruleForm.modifyContent" class="textarea" type="textarea" placeholder="请填写修改内容"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
<el-form-item label="附件列表">
|
<uploaderFile :fileList="fileList" :systemName="'EMERGENCY'" :disabled="disabled"
|
@successUploader="successUploader"></uploaderFile>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</el-form>
|
<template #footer>
|
<span class="dialog-footer">
|
<el-button @click="resetForm(ruleFormRef)" size="default">关闭</el-button>
|
<el-button v-if="!disabled" size="default" type="primary" @click="submitForm(titles, ruleFormRef)">确定</el-button>
|
</span>
|
</template>
|
</el-dialog>
|
<RegionsDialog ref="Shows" @SearchUser="onUser"/>
|
<DailogSearchUser ref="userRef" @SearchUser="selectUser"/>
|
<!-- <RegionsDialog ref="openRef"/>-->
|
</div>
|
</template>
|
|
<script lang="ts">
|
import {
|
reactive,
|
ref,
|
defineComponent,
|
onMounted,
|
} from 'vue';
|
|
import {
|
UploadUserFile,
|
FormInstance,
|
ElMessage
|
} from 'element-plus'
|
import {
|
Search,
|
FullScreen
|
} from '@element-plus/icons-vue'
|
import UserSelections from "/@/components/userSelections/index.vue"
|
import RegionsDialog from "/@/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/regionsDialog.vue"
|
import DailogSearchUser from "/@/components/DailogSearchUser/index.vue"
|
import {emergencyDrillEvaluationApi} from "/@/api/contingencyManagement/emergencyDrillEvaluation";
|
import {goalManagementApi} from "/@/api/goalManagement";
|
import uploaderFile from '/@/components/uploaderFile/index.vue';
|
export default defineComponent({
|
name: 'approvalProgress',
|
components: {
|
UserSelections,
|
RegionsDialog,
|
DailogSearchUser,
|
uploaderFile
|
},
|
setup(props, { emit }) {
|
const isShowDialog = ref(false)
|
|
const ruleFormRef = ref<FormInstance>()
|
//定义表单
|
const ruleForm = ref ({
|
drillExecuteId: '',
|
suitable: '',
|
sufficient: '',
|
arrival: '',
|
supplies: '',
|
protection: '',
|
whole: '',
|
division: '',
|
effect: '',
|
report: '',
|
safety: '',
|
rescue: '',
|
evacuate: '',
|
needModify: '',
|
questionAndImprove: '',
|
modifyContent: '',
|
fileList: [
|
],
|
userList: [
|
]
|
});
|
//定义表单
|
const realRuleForm = ref ({
|
drillExecuteId: '',
|
suitable: '',
|
sufficient: '',
|
arrival: '',
|
supplies: '',
|
protection: '',
|
whole: '',
|
division: '',
|
effect: '',
|
report: '',
|
safety: '',
|
rescue: '',
|
evacuate: '',
|
needModify: '',
|
questionAndImprove: '',
|
modifyContent: '',
|
fileList: [
|
],
|
userList: [
|
]
|
});
|
const titles = ref();
|
const disabled = ref();
|
// 打开弹窗
|
const openDialog = (title: string, id: number, type: boolean) => {
|
isShowDialog.value = true;
|
titles.value = title;
|
disabled.value = type;
|
if (title == '查看演练实施评价') {
|
emergencyDrillEvaluationApi()
|
.seeEmergencyDrillEvaluation(id)
|
.then((res) => {
|
if (res.data.code == 200) {
|
ruleForm.value = res.data.data;
|
ruleForm.value.planUserListString=''
|
ruleForm.value.chargeUserListString=''
|
ruleForm.value.executeUserListString=''
|
ruleForm.value.evaluationUserListString=''
|
//演练人员
|
for(var a = 0;a<res.data.data.planUserList.length;a++){
|
ruleForm.value.planUserListString += res.data.data.planUserList[a].userName+';'
|
}
|
//演练负责人员
|
for(var a = 0;a<res.data.data.planChargeUserList.length;a++){
|
ruleForm.value.chargeUserListString += res.data.data.planChargeUserList[a].userName+';'
|
}
|
//实际到场人员
|
for(var a = 0;a<res.data.data.executeUserList.length;a++){
|
ruleForm.value.executeUserListString += res.data.data.executeUserList[a].userName+';'
|
}
|
//演练负责人(评价)
|
for(var a = 0;a<res.data.data.evaluationUserList.length;a++){
|
ruleForm.value.evaluationUserListString += res.data.data.evaluationUserList[a].userName+';'
|
}
|
}
|
fileList.value = (res.data.data.evaluationFileList?res.data.data.evaluationFileList:[])
|
initFileListData()
|
});
|
}
|
if(title=='演练实施评价'){
|
emergencyDrillEvaluationApi()
|
.seeEmergencyDrillEvaluation(id)
|
.then((res) => {
|
if (res.data.code == 200) {
|
ruleForm.value = res.data.data;
|
ruleForm.value.planUserListString=''
|
ruleForm.value.chargeUserListString=''
|
ruleForm.value.executeUserListString=''
|
ruleForm.value.evaluationUserListString=''
|
if(res.data.data.planUserList){
|
for(var a = 0;a<res.data.data.planUserList.length;a++){
|
ruleForm.value.planUserListString += res.data.data.planUserList[a].userName+';'
|
}
|
}
|
|
if(res.data.data.planChargeUserList){
|
for(var a = 0;a<res.data.data.planChargeUserList.length;a++){
|
ruleForm.value.chargeUserListString += res.data.data.planChargeUserList[a].userName+';'
|
}
|
}
|
|
if(res.data.data.executeUserList){
|
for(var a = 0;a<res.data.data.executeUserList.length;a++){
|
ruleForm.value.executeUserListString += res.data.data.executeUserList[a].userName+';'
|
}
|
}
|
//演练负责人(评价)
|
if(res.data.data.evaluationUserList){
|
for(var a = 0;a<res.data.data.evaluationUserList.length;a++){
|
ruleForm.value.evaluationUserListString += res.data.data.evaluationUserList[a].userName+';'
|
}
|
}
|
}
|
fileList.value = (res.data.data.evaluationFileList?res.data.data.evaluationFileList:[])
|
initFileListData()
|
});
|
}
|
if(title=='演练实施查看评价'){
|
emergencyDrillEvaluationApi()
|
.seeEmergencyDrillEvaluation(id)
|
.then((res) => {
|
if (res.data.code == 200) {
|
ruleForm.value = res.data.data;
|
ruleForm.value.planUserListString=''
|
ruleForm.value.chargeUserListString=''
|
ruleForm.value.executeUserListString=''
|
ruleForm.value.evaluationUserListString=''
|
|
if(res.data.data.planUserList){
|
for(var a = 0;a<res.data.data.planUserList.length;a++){
|
ruleForm.value.planUserListString += res.data.data.planUserList[a].userName+';'
|
}
|
}
|
|
if(res.data.data.planChargeUserList){
|
for(var a = 0;a<res.data.data.planChargeUserList.length;a++){
|
ruleForm.value.chargeUserListString += res.data.data.planChargeUserList[a].userName+';'
|
}
|
}
|
|
if(res.data.data.executeUserList){
|
for(var a = 0;a<res.data.data.executeUserList.length;a++){
|
ruleForm.value.executeUserListString += res.data.data.executeUserList[a].userName+';'
|
}
|
}
|
//演练负责人(评价)
|
if(res.data.data.evaluationUserList){
|
for(var a = 0;a<res.data.data.evaluationUserList.length;a++){
|
ruleForm.value.evaluationUserListString += res.data.data.evaluationUserList[a].userName+';'
|
}
|
}
|
fileList.value = (res.data.data.evaluationFileList?res.data.data.evaluationFileList:[])
|
initFileListData()
|
}
|
});
|
}
|
|
};
|
const initFileListData = async () => {
|
for(var a = 0;a<ruleForm.value.planFileList.length;a++){
|
ruleForm.value.planFileList[a].name = ruleForm.value.planFileList[a].fileName
|
}
|
// 事故分析会议纪要
|
for(var a = 0;a<fileList.value.length;a++){
|
fileList.value[a].name = fileList.value[a].fileName
|
}
|
}
|
// 上传成功组装数据
|
const successUploader = (list) =>{
|
fileList.value = list
|
const formFileList = []
|
for(var a = 0;a<fileList.value.length;a++){
|
formFileList.push(
|
{
|
fileName:fileList.value[a].fileName,
|
fileUrl:''
|
}
|
)
|
}
|
ruleForm.value.fileList = formFileList
|
}
|
const resetForm = (formEl: FormInstance | undefined) => {
|
isShowDialog.value = false;
|
if (!formEl) return;
|
formEl.resetFields();
|
fileList.value = []
|
};
|
// 关闭弹窗
|
const closeDialog = () => {
|
isShowDialog.value = false;
|
};
|
// 取消
|
const onCancel = () => {
|
closeDialog();
|
};
|
//日期选择器
|
const value1 = ref('')
|
// 上传附件
|
const fileList = ref([])
|
// 可选择树
|
const treeSelect = ref()
|
const tree = [
|
,
|
]
|
//定义树形下拉框
|
const responsibleDepartment = ref()
|
const data = [
|
|
]
|
// 必填项提示
|
// const rules = reactive<FormRules>({
|
// teamName: [
|
// {
|
// required: true,
|
// message: '队伍名称不能为空',
|
// trigger: 'change',
|
// },
|
// ],
|
// teamLevel: [
|
// {
|
// required: true,
|
// message: '队伍级别不能为空',
|
// trigger: 'change',
|
// },
|
// ],
|
// teamLeader: [
|
// {
|
// required: true,
|
// message: '队伍负责人不能为空',
|
// trigger: 'change',
|
// },
|
// ],
|
// responsibleDepartment: [
|
// {
|
// required: true,
|
// message: '负责人部门不能为空',
|
// trigger: 'change',
|
// },
|
// ],
|
// teamPhone: [
|
// {
|
// required: true,
|
// message: '负责人手机不能为空',
|
// trigger: 'change',
|
// },
|
// ],
|
// telephone: [
|
// {
|
// required: true,
|
// message: '固定电话不能为空',
|
// trigger: 'change',
|
// },
|
// ],
|
// })
|
|
const submitForm = async (title: string, formEl: FormInstance | undefined) => {
|
if(!ruleForm.value.fileList){
|
ruleForm.value.fileList = []
|
}
|
//演练负责人(评价)
|
ruleForm.value.userList = ruleForm.value.evaluationUserList
|
|
|
|
realRuleForm.value.drillExecuteId=ruleForm.value.drillExecuteId
|
realRuleForm.value.suitable=ruleForm.value.suitable
|
realRuleForm.value.sufficient=ruleForm.value.sufficient
|
realRuleForm.value.arrival=ruleForm.value.arrival
|
realRuleForm.value.supplies=ruleForm.value.supplies
|
realRuleForm.value.protection=ruleForm.value.protection
|
realRuleForm.value.whole=ruleForm.value.whole
|
realRuleForm.value.division=ruleForm.value.division
|
realRuleForm.value.effect=ruleForm.value.effect
|
realRuleForm.value.report=ruleForm.value.report
|
realRuleForm.value.safety=ruleForm.value.safety
|
realRuleForm.value.rescue=ruleForm.value.rescue
|
realRuleForm.value.evacuate=ruleForm.value.evacuate
|
realRuleForm.value.needModify=ruleForm.value.needModify
|
realRuleForm.value.questionAndImprove=ruleForm.value.questionAndImprove
|
realRuleForm.value.modifyContent=ruleForm.value.modifyContent
|
realRuleForm.value.fileList=ruleForm.value.fileList
|
if(ruleForm.value.userList){
|
for(var a = 0;a<ruleForm.value.userList.length;a++){
|
realRuleForm.value.userList.push({
|
userUid:ruleForm.value.userList[a].userUid,
|
userName:ruleForm.value.userList[a].userName
|
})
|
}
|
}
|
// console.log(ruleForm.value.evaluationUserList)
|
// ruleForm.value.userList=[]
|
// for(var a = 0;a<ruleForm.value.evaluationUserList.length;a++){
|
// // += res.data.data.evaluationUserList[a].userName+';'
|
// }
|
if (title == '演练实施评价') {
|
if (!formEl) return;
|
await formEl.validate((valid, fields) => {
|
if (valid) {
|
// console.log(ruleForm.value)
|
emergencyDrillEvaluationApi()
|
.editEmergencyDrillEvaluation(realRuleForm.value)
|
// emergencyDrillExecuteApi()
|
// .editEmergencyDrillExecute(ruleForm.value)
|
.then((res) => {
|
if (res.data.code == 200) {
|
ElMessage({
|
showClose: true,
|
message: '评价成功',
|
type: 'success',
|
});
|
emit('myAdd', true);
|
} else {
|
ElMessage({
|
showClose: true,
|
message: res.data.msg,
|
type: 'error',
|
});
|
emit('myAdd', true);
|
}
|
formEl.resetFields();
|
});
|
} else {
|
console.log('error submit!', fields);
|
}
|
});
|
isShowDialog.value = false;
|
formEl.resetFields();
|
ruleForm.value = {
|
drillRecordDate: '', // 演练记录时间
|
drillPlanId: '', //演练计划ID
|
drillName:'',
|
recordUserUid: '', // 记录人ID
|
processDesc: '', // 演练过程描述
|
userList: [
|
{
|
userUid: '',
|
},
|
{
|
userUid: '',
|
}
|
]
|
};
|
}
|
}
|
// 应急队伍弹窗
|
const Shows=ref()
|
const daiInpt=()=>{
|
Shows.value.openDailog()
|
}
|
const onUser = (e:any) => {
|
ruleForm.value.drillPlanId=e.id
|
};
|
// 选择区域弹窗
|
const openRef=ref()
|
const regionsDialog=()=>{
|
openRef.value.openDailog()
|
}
|
// 打开用户选择弹窗
|
const userRef = ref();
|
const openUser = () => {
|
userRef.value.openDailog(0);
|
};
|
|
const selectUser = (e) =>{
|
ruleForm.value.evaluationUserListString=''
|
ruleForm.value.evaluationUserList=[]
|
for(var a = 0;a<e.length;a++){
|
ruleForm.value.evaluationUserList.push(
|
{
|
userName: e[a].realName,
|
userUid: e[a].uid,
|
}
|
)
|
ruleForm.value.evaluationUserListString+=e[a].realName+';'
|
}
|
console.log(ruleForm.value.evaluationUserList)
|
}
|
//el-tree-select回显
|
const propse = {
|
label: 'depName',
|
children: 'children',
|
};
|
const newTreeList = [];
|
//得到部门树
|
const department = async () => {
|
await goalManagementApi()
|
.getTreedepartment()
|
.then((res) => {
|
if (res.data.code == 200) {
|
data.value = res.data.data;
|
getTreeList(res.data.data, newTreeList);
|
} else {
|
ElMessage.error(res.data.msg);
|
}
|
});
|
};
|
// 递归树状数据且修改字段名
|
const getTreeList = (treeList, newTreeList) => {
|
treeList.map((c) => {
|
let tempData = {
|
depName: c.depName,
|
value: c.depId,
|
children: [],
|
};
|
if (c.children && c.children.length > 0) {
|
tempData.children = [];
|
getTreeList(c.children, tempData.children);
|
}
|
newTreeList.push(tempData);
|
});
|
};
|
onMounted(() => {
|
department();
|
});
|
//全屏
|
const full = ref(false);
|
const toggleFullscreen = () => {
|
if (full.value == false) {
|
full.value = true;
|
} else {
|
full.value = false;
|
}
|
};
|
return {
|
openDialog,
|
closeDialog,
|
isShowDialog,
|
onCancel,
|
fileList,
|
responsibleDepartment,
|
data,
|
Search,
|
ruleForm,
|
value1,
|
treeSelect,
|
tree,
|
daiInpt,
|
Shows,
|
onUser,
|
ruleFormRef,
|
// rules,
|
openUser,
|
userRef,
|
regionsDialog,
|
openRef,
|
toggleFullscreen,
|
FullScreen,
|
full,
|
resetForm,
|
titles,
|
disabled,
|
emit,
|
propse,
|
department,
|
newTreeList,
|
selectUser,
|
submitForm,
|
realRuleForm,
|
successUploader,
|
initFileListData
|
};
|
},
|
});
|
</script>
|
<style scoped lang="scss">
|
.el-form .el-form-item{
|
margin-bottom: 18px !important;
|
display: flex;
|
align-items: flex-start;
|
}
|
::v-deep .el-form-item--default .el-form-item__label{
|
text-align: right;
|
height: 100%;
|
}
|
.textarea{
|
height: 90px!important;
|
}
|
.textarea ::v-deep .el-textarea__inner{
|
height: 90px!important;
|
}
|
::v-deep .el-table__cell {
|
font-weight: 400;
|
}
|
.el-divider--horizontal{
|
height: 0;
|
margin: 0;
|
border-top: transparent;
|
}
|
.el-select{
|
width: 100%;
|
}
|
.el-divider--horizontal {
|
display: block;
|
height: 1px;
|
width: 100%;
|
margin: 24px 0;
|
background-color: #dcdfe6;
|
position: relative;
|
}
|
.el-divider__text {
|
position: absolute;
|
background-color: #fff;
|
padding: 0 20px;
|
color: #303133;
|
left: 50%;
|
font-weight: 500;
|
font-size: 14px;
|
}
|
</style>
|