13937891274
2022-07-30 f91c24d2b2b513716ffe9f4259a8a343c841bb00
数据对接
已修改26个文件
已删除1个文件
3610 ■■■■■ 文件已修改
src/api/emergencyDrillPlan/index.ts 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/releaseDrillPlan/index.ts 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/emergencySupplies/index.vue 135 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/equipmentDailog/DailogS.vue 194 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/contingencyManagement/contingency/component/addEmergencyPersonnel.vue 126 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/contingencyManagement/contingency/component/openAdd.vue 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/approvalProgress.vue 328 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/rectificationDialog.vue 261 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/index.vue 189 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/component/openAdd.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/component/regionsDialog.vue 266 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/index.vue 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/regionsDialog.vue 219 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/index.vue 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/contingencyManagement/emergencyPlanStartRecord/component/openSee.vue 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/contingencyManagement/emergencyPlanStartRecord/component/selectEmergencyPlan.vue 406 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/contingencyManagement/emergencyPlanStartRecord/index.vue 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/contingencyManagement/emergencyResources/emergencyMaterialsInspection/index.vue 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/contingencyManagement/emergencyResources/emergencySupplies/component/openAdd.vue 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/contingencyManagement/emergencyResources/emergencySupplies/component/openEdit.vue 791 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/contingencyManagement/emergencyResources/emergencySupplies/index.vue 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/index.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/contingencyManagement/panManagement/component/openAdd.vue 52 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/facilityManagement/keyEquipment/index.vue 264 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/goalManagement/IncentiveRecording/component/DailogSearch.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/goalManagement/targetDecompositionYear/component/DailogAdd.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/emergencyDrillPlan/index.ts
@@ -1,50 +1,44 @@
import request from '/@/utils/request';
export function emergencyDrillPlanApi(){
export function releaseDrillPlanApi(){
    return{
        getEmergencyDrillPlanList: (params: object) => {
        //演练计划发布一览
        getReleaseDrillPlanList: (params: object) => {
            return request({
                url: '/emergencyDrillPlan/page/list',
                method: 'post',
                data:params
            })
        },
        // v1
        addEmergencyDrillPlan: (data: object) => {
        // 演练计划发布新增
        addReleaseDrillPlan: (params:object) => {
            return request({
                url: `/emergencyDrillPlan/add`,
                method: 'post',
                data: data
                data: params
            });
        },
        seeEmergencyDrillPlan: (data: object) => {
        // 演练计划发布详情
        seeReleaseDrillPlan: (params:number) => {
            return request({
                url: `/emergencyDrillPlan/info/{id}`,
                method: 'post',
                data: data
                url: `/emergencyDrillPlan/info/${params}`,
                method: 'get'
            });
        },
        // v1
        editEmergencyDrillPlan: (data: object) => {
        // 演练计划发布编辑
        editReleaseDrillPlan: (params: object) => {
            return request({
                url: `/emergencyDrillPlan/update`,
                method: 'post',
                data: data
                data: params
            });
        },
        // v2
        // deleteEmergencyDrillPlan: (value?: object) => {
        //     return request({
        //         url: `/emergencyTeam/batchDelete/{ids}`,
        //         method: 'get',
        //         data: value
        //     });
        // },
        // deleteEmergencyDrillPlan: (ids: number | null) => {
        //     return request({
        //         url: `/emergencyDrillPlan/batchDelete/{ids}}`,
        //         method: 'get',
        //     });
        // },
        // 演练计划发布删除
        deleteReleaseDrillPlan: (params:object) => {
            return request({
                url: `/emergencyDrillPlan/batchDelete/${params}`,
                method: 'get',
            });
        },
    }
}
src/api/releaseDrillPlan/index.ts
文件已删除
src/components/emergencySupplies/index.vue
@@ -12,45 +12,58 @@
        <el-row>
          <el-form ref="ruleFormRef" :model="ruleForm" :inline="true" status-icon>
            <el-form-item>
              <el-input size="default" v-model="ruleForm.pass" placeholder="物资名称"  style="max-width: 215px;"/>
              <el-input size="default" v-model="listQuery.searchParams.name" placeholder="物资名称"  style="max-width: 215px;"/>
            </el-form-item>
            <el-form-item>
              <el-button size="default" type="primary" @click="submitForm(ruleFormRef)">查询</el-button>
              <el-button size="default" @click="resetForm(ruleFormRef)">重置</el-button>
              <el-button size="default" type="primary" @click="onSubmit">查询</el-button>
              <el-button size="default" @click="submitReset">重置</el-button>
              <el-button size="default" :icon="Delete">清除选择</el-button>
            </el-form-item>
          </el-form>
        </el-row>
        <el-table :data="tableData" style="width: 100%;margin-top:20px">
          <el-table-column type="selection" width="55" />
        <el-table :data="tableData" style="width: 100%;margin-top:20px" @cell-click="radio">
          <el-table-column width="55">
            <template #default="scope">
              <el-radio-group v-model="radio1">
                <el-radio :label="scope.row" size="large">{{ null }}</el-radio>
              </el-radio-group>
            </template>
          </el-table-column>
          <el-table-column align="center" prop="date" label="id" />
          <el-table-column align="center" prop="name" label="物资名称"/>
        </el-table>
        <div class="pages">
          <el-pagination
              v-model:currentPage="currentPage4"
              v-model:page-size="pageSize4"
              :page-sizes="[100, 200, 300, 400]"
              :small="small"
              :disabled="disabled"
              :background="background"
              v-model:currentPage="pageIndex"
              v-model:page-size="pageSize"
              :page-sizes="[10, 20, 30]"
              layout="total, sizes, prev, pager, next, jumper"
              :total="400"
              @size-change="handleSizeChange"
              @current-change="handleCurrentChange"
              :total="total"
              @size-change="onHandleSizeChange"
              @current-change="onHandleCurrentChange"
          />
        </div>
      </el-col>
      <el-col :span="6">
        <el-tag v-for="tag in dynamicTags" :key="tag" class="mx-1" style="margin:5px" closable :disable-transitions="false" @close="handleClose(tag)">
          {{ tag }}
        </el-tag>
        <div v-if="dynamicTags[0] == '' ? false : true">
          <el-tag
              v-for="tag in dynamicTags"
              :key="tag"
              class="mx-1"
              style="margin: 5px"
              closable
              :disable-transitions="false"
              @close="handleClose(tag)"
          >
            {{ tag.name }}
          </el-tag>
        </div>
      </el-col>
    </el-row>
    <template #footer>
            <span class="dialog-footer">
                <el-button @click="dialogVisible = false" size="default">关闭</el-button>
                <el-button type="primary" @click="dialogVisible = false" size="default">确定</el-button>
                <el-button type="primary" @click="submitForm" size="default">确定</el-button>
            </span>
    </template>
  </el-dialog>
@@ -65,46 +78,64 @@
  Delete,
  FullScreen
} from '@element-plus/icons-vue';
import { ElMessage } from 'element-plus';
import {emergencySuppliesApi} from "/@/api/emergencyResources";
export default defineComponent({
  setup() {
  setup(props, { emit }) {
    const dialogVisible = ref<boolean>(false);
    const openDailog = () => {
      dialogVisible.value = true;
      onSubmit()
    };
    // 搜索条件
    const ruleForm = reactive({
      pass: '',
    const listQuery = reactive({
      pageIndex: 1,
      pageSize: 10,
      searchParams:{
        name: '',
      }
    });
    // 表格
    const tableData = [
      {
        date: '6421cbc6cbb5493eabf9b27e83372d78',
        name: '应急救援组',
      },
      {
        date: '6421cbc6cbb5493eabf9b27e83372d78',
        name: '工艺抢险组',
      },
      {
        date: '6421cbc6cbb5493eabf9b27e83372d78',
        name: '后勤保障组',
      },
      {
        date: '6421cbc6cbb5493eabf9b27e83372d78',
        name: '应急救援组',
      },
    ];
    const pageSize4 = ref(100);
    // 定义表格数据
    const tableData = ref([]);
    // 列表请求数据
    const onSubmit = async () => {
      let res = await emergencySuppliesApi().getEmergencySuppliesList(listQuery);
      if (res.data.code === '200') {
        tableData.value = res.data.data;
        pageIndex.value = res.data.pageIndex;
        pageSize.value = res.data.pageSize;
        total.value = res.data.total;
      } else {
        ElMessage({
          showClose: true,
          type: 'error',
          message: res.data.msg,
        });
      }
    };
    // 重置
    const submitReset = () => {
      listQuery.searchParams.name = '';
      onSubmit();
    };
    const pageIndex = ref();
    const pageSize = ref();
    const total = ref();
    const handleSizeChange = (val: number) => {
      console.log(`${val} items per page`);
      listQuery.pageSize = val;
    };
    const handleCurrentChange = (val: number) => {
      console.log(`current page: ${val}`);
      listQuery.pageIndex = val;
    };
    // 右方点击添加后显示标签
    const dynamicTags = ref(['应急救援组', '工艺抢险组', '后勤保障组']);
    const dynamicTags = ref(['']);
    const handleClose = (tag: string) => {
      dynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1);
      radio1.value = '';
    };
    const radio1 = ref('');
    const radio = (event: any) => {
      dynamicTags.value[0] = event;
    };
    //全屏
    const full = ref(false);
@@ -115,12 +146,18 @@
        full.value = false;
      }
    };
    const submitForm = () => {
      let obj = JSON.parse(JSON.stringify(dynamicTags.value));
      emit('SearchUser', obj[0]);
      dialogVisible.value = false;
    };
    return {
      dialogVisible,
      openDailog,
      ruleForm,
      listQuery,
      onSubmit,
      tableData,
      pageSize4,
      submitReset,
      handleSizeChange,
      handleCurrentChange,
      dynamicTags,
@@ -129,6 +166,12 @@
      toggleFullscreen,
      FullScreen,
      full,
      pageIndex,
      pageSize,
      radio1,
      radio,
      submitForm,
      total,
    };
  },
});
src/components/equipmentDailog/DailogS.vue
@@ -1,11 +1,11 @@
<template>
    <el-dialog :fullscreen="full" v-model="dialogVisible" title="新建仪器仪表" width="60%">
    <el-dialog :fullscreen="full" v-model="isShowDialog" :title="titles" width="60%">
            <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
        <el-form :model="form" label-width="130px">
        <el-form :model="form" label-width="130px" :disabled="disabled">
            <el-row>
                <el-col :span="11">
                    <el-form-item label="类型/类别外键" size="default">
                        <el-input v-model="form.name" placeholder="请选择">
                        <el-input v-model="form.equipmentTypeId" placeholder="请选择">
                            <template #append>
                                <el-button :icon="Search" @click="opencategory"></el-button>
                            </template>
@@ -21,7 +21,7 @@
            <el-row>
                <el-col :span="11">
                    <el-form-item label="所属部门" size="default">
                        <el-select v-model="form.region" placeholder="请选择" style="width: 100%">
                        <el-select v-model="form.departmentId" placeholder="请选择" style="width: 100%">
                            <el-option label="Zone one" value="shanghai" />
                            <el-option label="Zone two" value="beijing" />
                        </el-select>
@@ -29,7 +29,7 @@
                </el-col>
                <el-col :span="11" :offset="2">
                    <el-form-item label="具体位置" size="default">
                        <el-input v-model="form.name" placeholder="请填写具体位置" />
                        <el-input v-model="form.position" placeholder="请填写具体位置" />
                    </el-form-item>
                </el-col>
            </el-row>
@@ -37,12 +37,12 @@
            <el-row>
                <el-col :span="11">
                    <el-form-item label="负责人姓名" size="default">
                        <el-input v-model="form.name" placeholder="请填写负责人姓名" />
                        <el-input v-model="form.leadingPersonName" placeholder="请填写负责人姓名" />
                    </el-form-item>
                </el-col>
                <el-col :span="11" :offset="2">
                    <el-form-item label="联系人" size="default">
                        <el-input v-model="form.name" placeholder="请选择">
                        <el-input v-model="form.connectPersonId" placeholder="请选择">
                            <template #append>
                                <el-button :icon="Search" @click="openUser"></el-button>
                            </template>
@@ -53,7 +53,7 @@
            <el-row>
                <el-col :span="11">
                    <el-form-item label="录入人" size="default">
                        <el-input v-model="form.name" placeholder="请选择">
                        <el-input v-model="form.inputPersonId" placeholder="请选择">
                            <template #append>
                                <el-button :icon="Search" @click="openUser"></el-button>
                            </template>
@@ -62,7 +62,7 @@
                </el-col>
                <el-col :span="11" :offset="2">
                    <el-form-item label="责任人" size="default">
                        <el-input v-model="form.name" placeholder="请选择">
                        <el-input v-model="form.responsibilityPersonId" placeholder="请选择">
                            <template #append>
                                <el-button :icon="Search" @click="openUser"></el-button>
                            </template>
@@ -73,7 +73,7 @@
            <el-row>
                <el-col :span="11">
                    <el-form-item label="装置部位分类" size="default">
                        <el-select v-model="form.region" placeholder="请选择" style="width: 100%">
                        <el-select v-model="form.partType" placeholder="请选择" style="width: 100%">
                            <el-option label="Zone one" value="shanghai" />
                            <el-option label="Zone two" value="beijing" />
                        </el-select>
@@ -81,14 +81,14 @@
                </el-col>
                <el-col :span="11" :offset="2">
                    <el-form-item label="检查周期" size="default">
                        <el-input v-model="form.name" placeholder="请选择检查周期" />
                        <el-input v-model="form.checkCycle" placeholder="请选择检查周期" />
                    </el-form-item>
                </el-col>
            </el-row>
            <el-row>
                <el-col :span="11">
                    <el-form-item label="相关应急预案" size="default">
                        <el-input v-model="form.name" placeholder="请选择">
                        <el-input v-model="form.emergencePlanId" placeholder="请选择">
                            <template #append>
                                <el-button :icon="Search" @click="openPlan"></el-button>
                            </template>
@@ -97,7 +97,7 @@
                </el-col>
                <el-col :span="11" :offset="2">
                    <el-form-item label="主要危险有害因素" size="default">
                        <el-input v-model="form.name" placeholder="请选择" />
                        <el-input v-model="form.dangerousElement" placeholder="请选择" />
                    </el-form-item>
                </el-col>
            </el-row>
@@ -105,13 +105,13 @@
            <el-row>
                <el-col :span="11">
                    <el-form-item label="易导致风险" size="default">
                        <el-input v-model="form.name" placeholder="请选择易导致风险" />
                        <el-input v-model="form.toDangerous" placeholder="请选择易导致风险" />
                    </el-form-item>
                </el-col>
                <el-col :span="11" :offset="2">
                    <el-form-item label="应急处置措施" size="default">
                        <el-input v-model="form.name" placeholder="请选择应急处置措施" />
                        <el-input v-model="form.treatment" placeholder="请选择应急处置措施" />
                    </el-form-item>
                </el-col>
            </el-row>
@@ -120,6 +120,7 @@
                <el-col :span="24">
                    <el-form-item label="现场图片">
                        <el-upload
              v-model="form.scenePic"
                            class="avatar-uploader"
                            action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"
                            :show-file-list="false"
@@ -142,11 +143,11 @@
            <el-tab-pane label="设备保养" name="first">
                <el-button type="primary" size="default" @click="openMaintenance">新增</el-button>
                <el-table :data="tableData" style="width: 100%">
                    <el-table-column align="center" prop="date" label="保养情况" />
                    <el-table-column align="center" prop="name" label="保养负责人" />
                    <el-table-column align="center" prop="address" label="保养日期" />
                    <el-table-column align="center" prop="address" label="保养负责人单位" />
                    <el-table-column align="center" prop="address" label="操作">
                    <el-table-column align="center" prop="takecareMemo" label="保养情况" />
                    <el-table-column align="center" prop="leadingPersonId" label="保养负责人" />
                    <el-table-column align="center" prop="takecareDate" label="保养日期" />
                    <el-table-column align="center" prop="leadingPersonDepartmentId" label="保养负责人单位" />
                    <el-table-column align="center" label="操作">
                        <template #default>
                            <el-button link type="primary" size="small">查看</el-button>
                        </template>
@@ -156,13 +157,13 @@
            <el-tab-pane label="设备检测" name="second">
                <el-button type="primary" size="default" @click="openDetect">新增</el-button>
                <el-table :data="tableData" style="width: 100%">
                    <el-table-column align="center" prop="date" label="检测人" />
                    <el-table-column align="center" prop="name" label="检测日期" />
                    <el-table-column align="center" prop="address" label="检测人单位" />
                    <el-table-column align="center" prop="address" label="检测内容" />
                    <el-table-column align="center" prop="address" label="检测结果" />
                    <el-table-column align="center" prop="address" label="检测状态" />
                    <el-table-column align="center" prop="address" label="操作">
                    <el-table-column align="center" prop="testPersonId" label="检测人" />
                    <el-table-column align="center" prop="testDate" label="检测日期" />
                    <el-table-column align="center" prop="testPersonDepartmentId" label="检测人单位" />
                    <el-table-column align="center" prop="testMemo" label="检测内容" />
                    <el-table-column align="center" prop="testResult" label="检测结果" />
                    <el-table-column align="center" prop="testStatus" label="检测状态" />
                    <el-table-column align="center" label="操作">
                        <template #default>
                            <el-button link type="primary" size="small">查看</el-button>
                        </template>
@@ -172,30 +173,30 @@
            <el-tab-pane label="设备维修" name="third">
                <el-button type="primary" size="default" @click="openRepair">新增</el-button>
                <el-table :data="tableData" style="width: 100%">
                    <el-table-column align="center" prop="date" label="设施异常项" />
                    <el-table-column align="center" prop="name" label="维修状态" />
                    <el-table-column align="center" prop="address" label="维修情况" />
                    <el-table-column align="center" prop="address" label="维修负责人" />
                    <el-table-column align="center" prop="address" label="维修负责人单位" />
                    <el-table-column align="center" prop="address" label="维修开始日期" />
                    <el-table-column align="center" prop="address" label="维修结束日期" />
                    <el-table-column align="center" prop="address" label="操作">
                    <el-table-column align="center" prop="exceptionInfo" label="设施异常项" />
                    <el-table-column align="center" prop="repairStatus" label="维修状态" />
                    <el-table-column align="center" prop="repairMemo" label="维修情况" />
                    <el-table-column align="center" prop="repairPersonId" label="维修负责人" />
                    <el-table-column align="center" prop="repairPersonDepartmentId" label="维修负责人单位" />
                    <el-table-column align="center" prop="repairStartDate" label="维修开始日期" />
                    <el-table-column align="center" prop="repairEndDate" label="维修结束日期" />
                    <el-table-column align="center" label="操作">
                        <template #default>
                            <el-button link type="primary" size="small">查看</el-button>
                        </template>
                    </el-table-column>
                </el-table>
            </el-tab-pane>
            <el-tab-pane label="检查标准设置" name="fourth">
            <el-tab-pane label="检查标准设置" name="fourth">checkContent
                <el-button type="primary" size="default" @click="openStandard">新增</el-button>
                <el-table :data="tableData" style="width: 100%">
                    <el-table-column align="center" type="index" label="序号" width="75" />
                    <el-table-column align="center" prop="name" label="检查内容" />
                    <el-table-column align="center" prop="address" label="检查指标" />
                    <el-table-column align="center" prop="address" label="单位" />
                    <el-table-column align="center" prop="address" label="巡检部位" />
                    <el-table-column align="center" prop="address" label="频次" />
                    <el-table-column align="center" prop="address" label="操作">
                    <el-table-column align="center" type="indexNum" label="序号" width="75" />
                    <el-table-column align="center" prop="checkContent" label="检查内容" />
                    <el-table-column align="center" prop="checkTarget" label="检查指标" />
                    <el-table-column align="center" prop="unit" label="单位" />
                    <el-table-column align="center" prop="checkPart" label="巡检部位" />
                    <el-table-column align="center" prop="rate" label="频次" />
                    <el-table-column align="center" label="操作">
                        <template #default>
                            <el-button link type="primary" size="small">查看</el-button>
                        </template>
@@ -234,8 +235,8 @@
        </el-tabs>
        <template #footer>
            <span class="dialog-footer">
                <el-button @click="dialogVisible = false">关闭</el-button>
                <el-button type="primary" @click="dialogVisible = false">确定</el-button>
                <el-button @click="resetForm(ruleFormRef)">关闭</el-button>
                <el-button type="primary" v-if="disabled == true ? false : true" @click="submitForm(titles, ruleFormRef)">确定</el-button>
            </span>
        </template>
    </el-dialog>
@@ -249,7 +250,7 @@
</template>
<script lang="ts">
import { defineComponent, ref, reactive } from 'vue';
import { Search,Plus,FullScreen } from '@element-plus/icons-vue';
import { Search,Plus,FullScreen, FormInstance, } from '@element-plus/icons-vue';
import categoryDailog from './categoryDailog.vue';
import planDailog from './planDailog.vue';
import maintenanceDailog from './maintenanceDailog.vue';
@@ -259,26 +260,103 @@
import DailogSearchUser from '/@/components/DailogSearchUser/index.vue';
import { ElMessage, ElMessageBox } from 'element-plus';
import type { UploadProps, UploadUserFile } from 'element-plus';
import {releaseDrillPlanApi} from "/@/api/emergencyDrillPlan";
import {facilityManagementApi} from "/@/api/facilityManagement";
export default defineComponent({
    components: { categoryDailog, planDailog, DailogSearchUser, maintenanceDailog, detectDailog, repairDailog, standardDailog },
    setup() {
        const dialogVisible = ref(false);
        const isShowDialog = ref(false);
        const form = reactive({
            name: '',
            region: '',
            date1: '',
            date2: '',
            delivery: false,
            type: [],
            resource: '',
            desc: '',
      equipmentTypeId: '',
      treatment: '',
      inputPersonId: '',
      departmentId: '',
      delRepaireDetailList: [],
      delTestDetailList: [],
      takecareDetailList: [{
        leadingPersonId:'',
        takecareDate:'',
        leadingPersonDepartmentId:'',
        equipmentId: '',
        takecareMemo: '',
      }],
      checkDetailList:[],
      responsibilityPersonId: '',
      delTakecareStardardeDetailList: [],
      connectPersonId:'',
      scenePic:'',
      partType:'',
      toDangerous:'',
      dangerousElement:'',
      takecareStardardeDetailList: [
        {
          filePath: '',
        }
      ],
      testDetailList:[{
        testMemo:'',
        testPersonDepartmentId:'',
        testPersonId:'',
        testStatus:'',
        testResult:'',
        testDate:'',
      }],
      checkCycle: '',
      repaireDetailList:[{
        repairStatus:'',
        repairPersonDepartmentId:'',
        repairMemo:'',
        infoTpe:'',
        repairPersonId:'',
        repairEndDate:'',
        repairStartDate:'',
        exceptionInfo:'',
      }],
      delCheckStandardeDetailList:[],
      leadingPersonName: '',
      name: '',
      delTakecareDetailList:[],
      position:'',
      emergencePlanId: '',
      checkStandardeDetailList: [{
        checkContent:'',
        checkTarget:'',
        unit:'',
        checkPart:'',
        rate:'',
        indexNum:'',
      }],
      delCheckStandardeDetails: '',
      delTakecareStardardeDetails: '',
      delTakecareDetails: '',
      delRepaireDetails: '',
      delTestDetails: '',
        });
        const Dailogtype = ref(false);
        const openDailog = (type: boolean) => {
            dialogVisible.value = true;
      isShowDialog.value = true;
            Dailogtype.value = type;
        };
    const ruleFormRef = ref<FormInstance>()
        const activeName = ref('first');
    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 == '查看仪器仪表' || title == '修改仪器仪表') {
        facilityManagementApi()
            .getkeypointEquipmentInfoDetail(id)
            .then((res) => {
              if (res.data.code == 200) {
                form.value = res.data.data;
              }
            });
      }
    };
        const tableData = [
            {
                date: '2016-05-03',
@@ -386,7 +464,7 @@
      }
        };
        return {
            dialogVisible,
      isShowDialog,
            Dailogtype,
            form,
            openDailog,
@@ -419,6 +497,8 @@
                full,
            toggleFullscreen,
            FullScreen,
      ruleFormRef,
      openDialog,
        };
    },
});
src/views/contingencyManagement/contingency/component/addEmergencyPersonnel.vue
@@ -22,9 +22,10 @@
                  v-model="ruleForm.userUid"
                  placeholder="请选择"
                  class="input-with-select"
                  disabled
              >
                <template #append>
                  <el-button :icon="Search" @click="openUser"/>
                  <el-button :icon="Search" @click="openUser" disabled/>
                </template>
              </el-input>
            </el-form-item>
@@ -61,7 +62,7 @@
      </el-form>
      <template #footer>
                <span class="dialog-footer">
          <el-button size="default" type="primary" @click="submitForm(ruleFormRef)">继续添加</el-button>
          <el-button size="default" type="primary" @click="addForm(ruleFormRef)">继续添加</el-button>
                    <el-button size="default" @click="resetForm(ruleFormRef)">关闭</el-button>
          <el-button size="default" type="primary" v-if="disabled == true ? false : true" @click="submitForm(titles, ruleFormRef)" >确定</el-button>
                </span>
@@ -101,7 +102,7 @@
    const ruleFormRef = ref<FormInstance>()
    const ruleForm = ref ({
      teamId: '',
      userUid: '',
      userUid: 1,
      gender: '',
      jobNumber: '', // 人员工号
      name: '', // 人员名称
@@ -147,32 +148,105 @@
    })
    const titles = ref();
    const disabled = ref();
    // const submitForm = async (title: string, formEl: FormInstance | undefined) => {
    //   if (title == '新建应急队伍人员') {
    //     if (!formEl) return;
    //     await formEl.validate((valid, fields) => {
    //       if (valid) {
    //         isShowDialog.value = false;
    //         contingencyApi()
    //             .addEmergencyTeamPersonnel(ruleForm.value)
    //             .then((res) => {
    //               if (res.data.code == 200) {
    //                 ElMessage({
    //                   showClose: true,
    //                   message: res.data.msg,
    //                   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);
    //       }
    //     });
    //   }
    //   else if (title == '修改应急队伍人员') {
    //     if (!formEl) return;
    //     await formEl.validate((valid, fields) => {
    //       if (valid) {
    //         isShowDialog.value = false;
    //         contingencyApi()
    //             .editEmergencyTeam(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);
    //       }
    //     });
    //     formEl.resetFields();
    //     ruleForm.value = {
    //       teamId: '',
    //       userUid: 1,
    //       gender: '',
    //       jobNumber: '', // 人员工号
    //       name: '', // 人员名称
    //       phone: '', // 手机号码
    //       position: '', // 职位
    //     };
    //   }
    // }
    const submitForm = async (title: string, formEl: FormInstance | undefined) => {
      if (title == '新建应急队伍人员') {
        if (!formEl) return;
        await formEl.validate((valid, fields) => {
          if (valid) {
            isShowDialog.value = false;
            contingencyApi()
                .addEmergencyTeamPersonnel(ruleForm.value)
                .then((res) => {
                  if (res.data.code == 200) {
                    ElMessage({
                      showClose: true,
                      message: res.data.msg,
                      type: 'success',
                    });
                    emit('myAdd', true);
                  } else {
                    ElMessage({
                      showClose: true,
                      message: res.data.msg,
                      type: 'error',
                    });
                    emit('myAdd', true);
                  }
                  formEl.resetFields();
                });
            emit('onAdd', ruleForm.value);
            // contingencyApi()
            //     .addEmergencyTeamPersonnel(ruleForm.value)
            //     .then((res) => {
            //       if (res.data.code == 200) {
            //         ElMessage({
            //           showClose: true,
            //           message: res.data.msg,
            //           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);
          }
@@ -210,7 +284,7 @@
        formEl.resetFields();
        ruleForm.value = {
          teamId: '',
          userUid: '',
          userUid: 1,
          gender: '',
          jobNumber: '', // 人员工号
          name: '', // 人员名称
@@ -261,7 +335,7 @@
      // closeDialog,
      isShowDialog,
      ruleFormRef,
      submitForm,
      // submitForm,
      // onCancel,
      ruleForm,
      rules,
@@ -276,6 +350,8 @@
      openUser,
      userRef,
      onUser,
      // addForm,
      submitForm,
    };
  },
});
src/views/contingencyManagement/contingency/component/openAdd.vue
@@ -1,7 +1,7 @@
<template>
    <div class="system-edit-user-container">
        <el-dialog :title="titles" v-model="isShowDialog" width="769px" draggable :fullscreen="full">
            <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
            <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen" ></el-button>
            <el-form ref="ruleFormRef" :model="ruleForm" size="default" :rules="rules" label-width="120px" :disabled="disabled">
                <el-row :gutter="35">
                    <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
@@ -20,9 +20,9 @@
                    </el-col>
                    <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
                        <el-form-item label="队伍负责人" prop="principalUid">
                            <el-input v-model="ruleForm.principalUid" placeholder="请选择" class="input-with-select">
                            <el-input v-model="ruleForm.principalUid" placeholder="请选择" class="input-with-select" disabled>
                                <template #append>
                                    <el-button :icon="Search" @click="openUser" />
                                    <el-button :icon="Search" @click="openUser" disabled/>
                                </template>
                            </el-input>
                        </el-form-item>
@@ -67,13 +67,14 @@
            <el-row :gutter="35">
                <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
                    <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
                        <el-tab-pane label="应急队伍人员" name="first">
                            <el-button type="primary" size="default" @click="onAddEmergencyPersonnel">新增</el-button>
                        <el-tab-pane label="应急队伍人员" name="first" :disabled="disabled">
                            <el-button type="primary" size="default" @click="onAddEmergencyPersonnel" :disabled="disabled">新增</el-button>
                            <el-table
                                :data="tableData"
                                style="width: 100%; margin-top: 15px"
                                ref="multipleTableRef"
                                :header-cell-style="{ background: '#f6f7fa', color: '#909399' }"
                :disabled="disabled"
                            >
                                <el-table-column prop="jobNumber" label="人员工号" show-overflow-tooltip></el-table-column>
                                <el-table-column prop="name" label="人员名称" show-overflow-tooltip></el-table-column>
@@ -99,7 +100,7 @@
            </template>
        </el-dialog>
        <AddEmergencyPersonnel ref="addRef"  @myAdd="onMyAdd"/>
        <DailogSearchUser ref="userRef" @SearchUser="onUser" />
        <DailogSearchUser ref="userRef" @SearchUsers="onUser" />
    </div>
</template>
@@ -144,7 +145,7 @@
    const ruleForm =ref({
        teamName: '', // 队伍名称
        teamLevel: '', // 队伍级别
        principalUid: '', // 队伍负责人
        principalUid: 1, // 队伍负责人
        principalDepartmentId: '',  //负责人部门
        principalPhone: '', // 负责人手机
        telephoneNumber: '', // 固定电话
@@ -238,9 +239,15 @@
    const openUser = () => {
      userRef.value.openDailog();
    };
    const nameC = ref();
    const onUser = (e:any) => {
      ruleForm.value.principalUid=e.id
      ruleForm.value.principalUid = e.uid
      nameC.value=e.realName
    };
    // const onUser = (e:any) => {
    //
    //   ruleForm.value.principalUid=e.id
    // };
    //定义tabs切换
    const activeName = ref('first')
    const handleClick = (tab: TabsPaneContext, event: Event) => {
@@ -364,7 +371,7 @@
        ruleForm.value = {
          teamName: '', // 队伍名称
          teamLevel: '', // 队伍级别
          principalUid: '', // 队伍负责人
          principalUid: 1, // 队伍负责人
          principalDepartmentId: '',  //负责人部门
          principalPhone: '', // 负责人手机
          telephoneNumber: '', // 固定电话
@@ -436,8 +443,8 @@
    const tableData = ref([]);
    //添加队伍负责人弹窗
    const addRef = ref();
    const onAddEmergencyPersonnel = () => {
      addRef.value.openDialog('新建应急队伍人员',false);
    const onAddEmergencyPersonnel = (title:string,data: any) => {
      addRef.value.openDialog('新建应急队伍人员',data);
    };
    // 新增后刷新
    const onMyAdd = (e: boolean) => {
@@ -508,7 +515,7 @@
      FullScreen,
      full,
      onUser,
      // listQuery,
      nameC,
      onMyAdd,
      // listApi,
      onEdit,
src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/approvalProgress.vue
@@ -1,7 +1,7 @@
<template>
  <div class="system-edit-user-container">
    <el-dialog
        title="查看演练实施评价"
        :title="titles"
        v-model="isShowDialog"
        width="900px"
        draggable
@@ -13,107 +13,84 @@
          :model="ruleForm"
          size="default"
          label-width="120px"
          :disabled="disabled"
      >
        <el-row :gutter="35">
          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
            <el-form-item label="演练名称" prop="teamName">
              <el-input v-model="ruleForm.teamName" placeholder="请填写队伍名称" disabled></el-input>
            <el-form-item label="演练名称" prop="emergencyPlanName">
              <el-input 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="teamName">
              <el-input v-model="ruleForm.teamName" placeholder="请填写队伍名称" disabled></el-input>
            <el-form-item label="演练地点" prop="drillAddress">
              <el-input 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="主办部门" prop="teamLeader">
              <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择" disabled>
                <el-option label="综合应急预案" value="admin"></el-option>
                <el-option label="现场处置方案" value="common"></el-option>
                <el-option label="专项应急预案" value="common"></el-option>
                <el-option label="其他预案" value="common"></el-option>
            <el-form-item label="主办部门"  placeholder="请选择" prop="departmentId">
              <el-tree-select
                  v-model="ruleForm.departmentId"
                  :data="data" 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 v-model="ruleForm.drillWay" class="w100" placeholder="请选择">
                <el-option label="综合" value="综合"></el-option>
                <el-option label="桌面" value="桌面"></el-option>
                <el-option label="专项" value="专项"></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="teamLeader">
              <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择" disabled>
                <el-option label="综合应急预案" value="admin"></el-option>
                <el-option label="现场处置方案" value="common"></el-option>
                <el-option label="专项应急预案" value="common"></el-option>
                <el-option label="其他预案" value="common"></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="telephone" >
            <el-form-item label="应急预案" prop="drillPlanId" >
              <el-input
                  v-model="ruleForm.teamLeader"
                  v-model="ruleForm.drillPlanId"
                  placeholder="请选择"
                  class="input-with-select"
                  disabled
              >
                <template #append>
                  <el-button :icon="Search" @click="daiInpt" disabled/>
                  <el-button :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="teamPhone">
              <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择" disabled>
                <el-option label="公司级" value="admin"></el-option>
                <el-option label="分厂级" value="common"></el-option>
                <el-option label="车间级" value="common"></el-option>
            <el-form-item label="演练级别" prop="drillLevel">
              <el-select v-model="ruleForm.drillLevel" class="w100" placeholder="请选择">
                <el-option label="公司级" value="公司级"></el-option>
                <el-option label="分厂级" value="分厂级"></el-option>
                <el-option label="车间级" value="车间级"></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="telephone">
              <el-date-picker
                  v-model="value1"
                  class="w100"
                  type="datetime"
                  placeholder="选择日期时间"
                  disabled
              />
            <el-form-item label="计划定制日期" prop="makingPlanDate">
              <el-date-picker 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="telephone">
              <el-date-picker
                  v-model="value1"
                  class="w100"
                  type="datetime"
                  placeholder="选择日期时间"
                  disabled
              />
            <el-form-item label="计划演练日期" prop="drillPlanDate">
              <el-date-picker 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="telephone">
              <el-date-picker
                  v-model="value1"
                  class="w100"
                  type="datetime"
                  placeholder="选择日期时间"
                  disabled
              />
            <el-form-item label="修改时间" prop="updateDate">
              <el-date-picker 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="teamName">
              <el-input v-model="ruleForm.teamName" placeholder="请填写队伍名称" disabled></el-input>
            <el-form-item label="计划定制人" prop="makingUserUid">
              <el-input v-model="ruleForm.makingUserUid" 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="teamLeader">
              <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择" disabled>
                <el-option label="综合应急预案" value="admin"></el-option>
                <el-option label="现场处置方案" value="common"></el-option>
                <el-option label="专项应急预案" value="common"></el-option>
                <el-option label="其他预案" value="common"></el-option>
              </el-select>
            <el-form-item label="制定部门" prop="makingDepartmentId">
              <el-tree-select
                  v-model="ruleForm.makingDepartmentId"
                  :data="data" class="w100"
                  placeholder="请选择"/>
            </el-form-item>
          </el-col>
          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
@@ -122,17 +99,22 @@
                  v-model="ruleForm.teamLeader"
                  placeholder="请选择"
                  class="input-with-select"
                  disabled
              >
                <template #append>
                  <el-button :icon="Search" @click="openUser" disabled/>
                  <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="teamLevel">
              <el-input v-model="ruleForm.name" class="textarea" type="textarea" disabled></el-input>
            <el-form-item label="演练目的" prop="purpose">
              <el-input
                  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">
@@ -141,39 +123,43 @@
                  v-model="ruleForm.teamLeader"
                  placeholder="请选择"
                  class="input-with-select"
                  disabled
              >
                <template #append>
                  <el-button :icon="Search" @click="openUser" disabled/>
                  <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="teamName">
              <el-input v-model="ruleForm.teamName" placeholder="请填写队伍名称" disabled></el-input>
            <el-form-item label="保险措施" prop="insuranceMeasures">
              <el-input 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="teamName">
              <el-input v-model="ruleForm.teamName" placeholder="请填写队伍名称" disabled></el-input>
            <el-form-item label="演练经费" prop="drillExpense">
              <el-input 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="teamLevel">
              <el-input v-model="ruleForm.name" class="textarea" type="textarea" placeholder="请填写备注信息" disabled></el-input>
            <el-form-item label="备注信息" prop="remark">
              <el-input
                  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">
          <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" style="margin-bottom: 0!important;">
            <el-form-item label="预案附件">
              <el-upload
                  v-model:file-list="fileList"
                  class="upload-demo"
                  action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"
                  :on-change="handleChange"
                  disabled
              >
                <el-button type="primary" disabled
                <el-button type="primary"
                >点击上传</el-button>
                <template #tip>
                  <div class="el-upload__tip">
@@ -189,17 +175,16 @@
                  v-model="ruleForm.teamLeader"
                  placeholder="请选择"
                  class="input-with-select"
                  disabled
              >
                <template #append>
                  <el-button :icon="Search" @click="openUser" disabled/>
                  <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="teamLevel">
              <el-input v-model="ruleForm.name" class="textarea" type="textarea" placeholder="请填写备注信息" disabled></el-input>
              <el-input v-model="ruleForm.name" 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">
@@ -208,10 +193,9 @@
                  v-model="ruleForm.teamLeader"
                  placeholder="请选择"
                  class="input-with-select"
                  disabled
              >
                <template #append>
                  <el-button :icon="Search" @click="openUser" disabled/>
                  <el-button :icon="Search" @click="openUser"/>
                </template>
              </el-input>
            </el-form-item>
@@ -223,7 +207,6 @@
                  class="w100"
                  type="datetime"
                  placeholder="选择日期时间"
                  disabled
              />
            </el-form-item>
          </el-col>
@@ -240,17 +223,16 @@
                  v-model="ruleForm.teamLeader"
                  placeholder="请选择"
                  class="input-with-select"
                  disabled
              >
                <template #append>
                  <el-button :icon="Search" @click="openUser" disabled/>
                  <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="teamLeader">
              <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择" disabled>
            <el-form-item label="预案评审-适宜性" prop="suitable">
              <el-select v-model="ruleForm.suitable" class="w100" placeholder="请选择">
                <el-option label="综合应急预案" value="admin"></el-option>
                <el-option label="现场处置方案" value="common"></el-option>
                <el-option label="专项应急预案" value="common"></el-option>
@@ -259,8 +241,8 @@
            </el-form-item>
          </el-col>
          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
            <el-form-item label="预案评审-充分性" prop="teamLeader">
              <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择" disabled>
            <el-form-item label="预案评审-充分性" prop="sufficient">
              <el-select v-model="ruleForm.sufficient" class="w100" placeholder="请选择">
                <el-option label="综合应急预案" value="admin"></el-option>
                <el-option label="现场处置方案" value="common"></el-option>
                <el-option label="专项应急预案" value="common"></el-option>
@@ -269,8 +251,8 @@
            </el-form-item>
          </el-col>
          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
            <el-form-item label="人员到位情况" prop="teamLeader">
              <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择" disabled>
            <el-form-item label="人员到位情况" prop="arrival">
              <el-select v-model="ruleForm.arrival" class="w100" placeholder="请选择">
                <el-option label="综合应急预案" value="admin"></el-option>
                <el-option label="现场处置方案" value="common"></el-option>
                <el-option label="专项应急预案" value="common"></el-option>
@@ -279,8 +261,8 @@
            </el-form-item>
          </el-col>
          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
            <el-form-item label="物资到位情况-现场物资" prop="teamLeader">
              <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择" disabled>
            <el-form-item label="物资到位情况-现场物资" prop="supplies">
              <el-select v-model="ruleForm.supplies" class="w100" placeholder="请选择">
                <el-option label="综合应急预案" value="admin"></el-option>
                <el-option label="现场处置方案" value="common"></el-option>
                <el-option label="专项应急预案" value="common"></el-option>
@@ -289,8 +271,8 @@
            </el-form-item>
          </el-col>
          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
            <el-form-item label="物资到位情况-个人防护" prop="teamLeader">
              <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择" disabled>
            <el-form-item label="物资到位情况-个人防护" prop="protection">
              <el-select v-model="ruleForm.protection" class="w100" placeholder="请选择">
                <el-option label="综合应急预案" value="admin"></el-option>
                <el-option label="现场处置方案" value="common"></el-option>
                <el-option label="专项应急预案" value="common"></el-option>
@@ -299,8 +281,8 @@
            </el-form-item>
          </el-col>
          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
            <el-form-item label="协调组织情况-整体组织" prop="teamLeader">
              <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择" disabled>
            <el-form-item label="协调组织情况-整体组织" prop="whole">
              <el-select v-model="ruleForm.whole" class="w100" placeholder="请选择">
                <el-option label="综合应急预案" value="admin"></el-option>
                <el-option label="现场处置方案" value="common"></el-option>
                <el-option label="专项应急预案" value="common"></el-option>
@@ -309,8 +291,8 @@
            </el-form-item>
          </el-col>
          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
            <el-form-item label="协调组织情况-疏散组分工" prop="teamLeader">
              <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择" disabled>
            <el-form-item label="协调组织情况-疏散组分工" prop="division">
              <el-select v-model="ruleForm.division" class="w100" placeholder="请选择">
                <el-option label="综合应急预案" value="admin"></el-option>
                <el-option label="现场处置方案" value="common"></el-option>
                <el-option label="专项应急预案" value="common"></el-option>
@@ -319,8 +301,8 @@
            </el-form-item>
          </el-col>
          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
            <el-form-item label="实战效果评价" prop="teamLeader">
              <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择" disabled>
            <el-form-item label="实战效果评价" prop="effect">
              <el-select v-model="ruleForm.effect" class="w100" placeholder="请选择">
                <el-option label="综合应急预案" value="admin"></el-option>
                <el-option label="现场处置方案" value="common"></el-option>
                <el-option label="专项应急预案" value="common"></el-option>
@@ -329,8 +311,8 @@
            </el-form-item>
          </el-col>
          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
            <el-form-item label="支援部门和协作有效性-报告上级" prop="teamLeader">
              <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择" disabled>
            <el-form-item label="支援部门和协作有效性-报告上级" prop="report">
              <el-select v-model="ruleForm.report" class="w100" placeholder="请选择">
                <el-option label="综合应急预案" value="admin"></el-option>
                <el-option label="现场处置方案" value="common"></el-option>
                <el-option label="专项应急预案" value="common"></el-option>
@@ -339,8 +321,8 @@
            </el-form-item>
          </el-col>
          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
            <el-form-item label="支援部门和协作有效性-安全部门" prop="teamLeader">
              <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择" disabled>
            <el-form-item label="支援部门和协作有效性-安全部门" prop="safety">
              <el-select v-model="ruleForm.safety" class="w100" placeholder="请选择">
                <el-option label="综合应急预案" value="admin"></el-option>
                <el-option label="现场处置方案" value="common"></el-option>
                <el-option label="专项应急预案" value="common"></el-option>
@@ -349,8 +331,8 @@
            </el-form-item>
          </el-col>
          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
            <el-form-item label="支援部门和协作有效性-救援后勤部门" prop="teamLeader">
              <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择" disabled>
            <el-form-item label="支援部门和协作有效性-救援后勤部门" prop="rescue">
              <el-select v-model="ruleForm.rescue" class="w100" placeholder="请选择">
                <el-option label="综合应急预案" value="admin"></el-option>
                <el-option label="现场处置方案" value="common"></el-option>
                <el-option label="专项应急预案" value="common"></el-option>
@@ -359,8 +341,8 @@
            </el-form-item>
          </el-col>
          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
            <el-form-item label="支援部门和协作有效性-警戒撤离配合" prop="teamLeader">
              <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择" disabled>
            <el-form-item label="支援部门和协作有效性-警戒撤离配合" prop="evacuate">
              <el-select v-model="ruleForm.evacuate" class="w100" placeholder="请选择">
                <el-option label="综合应急预案" value="admin"></el-option>
                <el-option label="现场处置方案" value="common"></el-option>
                <el-option label="专项应急预案" value="common"></el-option>
@@ -369,33 +351,32 @@
            </el-form-item>
          </el-col>
          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
            <el-form-item label="是否需要修改应急预案" prop="teamLeader">
              <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择" disabled>
            <el-form-item label="是否需要修改应急预案" prop="needModify">
              <el-select v-model="ruleForm.needModify" class="w100" placeholder="请选择">
                <el-option label="是" value="admin"></el-option>
                <el-option label="否" value="common"></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="teamLevel">
              <el-input v-model="ruleForm.name" class="textarea" type="textarea" placeholder="请填写备注信息" disabled></el-input>
            <el-form-item label="存在问题和改进措施" prop="questionAndImprove">
              <el-input 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="teamLevel">
              <el-input v-model="ruleForm.name" class="textarea" type="textarea" placeholder="请填写修改内容" disabled></el-input>
            <el-form-item label="修改内容" prop="modifyContent">
              <el-input 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="附件列表">
              <el-upload
                  v-model:file-list="fileList"
                  v-model:file-list="ruleForm.userList"
                  class="upload-demo"
                  action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"
                  :on-change="handleChange"
                  disabled
              >
                <el-button type="primary" disabled
                <el-button type="primary"
                >点击上传</el-button>
                <template #tip>
                  <div class="el-upload__tip">
@@ -409,13 +390,13 @@
      </el-form>
      <template #footer>
                <span class="dialog-footer">
                    <el-button @click="onCancel" size="default">关闭</el-button>
                    <el-button @click="resetForm(ruleFormRef)" size="default">关闭</el-button>
                </span>
      </template>
    </el-dialog>
    <CheckTemplate ref="Shows"/>
    <RegionsDialog ref="Shows" @SearchUser="onUser"/>
    <userSelections ref="userRef"/>
    <RegionsDialog ref="openRef"/>
<!--    <RegionsDialog ref="openRef"/>-->
  </div>
</template>
@@ -436,32 +417,73 @@
  FullScreen
} from '@element-plus/icons-vue'
import UserSelections from "/@/components/userSelections/index.vue"
import CheckTemplate from '/@/components/checkTemplate/index.vue'
import RegionsDialog from '/@/components/regionsDialog/index.vue'
import RegionsDialog from "/@/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/regionsDialog.vue"
import {emergencyDrillEvaluationApi} from "/@/api/emergencyDrillEvaluation";
export default defineComponent({
  name: 'approvalProgress',
  components: {
    CheckTemplate,
    UserSelections,
    RegionsDialog,
  },
  setup() {
  setup(props, { emit }) {
    const isShowDialog = ref(false)
    const ruleFormRef = ref<FormInstance>()
    //定义表单
    const ruleForm = reactive({
        teamName: '', // 队伍名称
        teamLeader: '', //队伍负责人
        department: [], // 负责人部门
        phone: '', // 负责人手机
        telephone: '', // 固定电话
    const ruleForm = ref ({
      drillPlanId: '',
      suitable: '',
      sufficient: '',
      arrival: '',
      supplies: '',
      protection: '',
      whole: '',
      division: '',
      effect: '',
      report: '',
      safety: '',
      rescue: '',
      evacuate: '',
      needModify: '',
      questionAndImprove: '',
      modifyContent: '',
      fileList: [
        {
          fileName: 'name',
          fileUrl: 'url',
        }
      ],
      userList: [
        {
          userUid: ''
        },
        {
          userUid: ''
        }
      ]
    });
    const titles = ref();
    const disabled = ref();
    // 打开弹窗
    const openDialog = () => {
      // state.ruleForm = row;
    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;
              }
            });
      }
    };
    const resetForm = (formEl: FormInstance | undefined) => {
      isShowDialog.value = false;
      if (!formEl) return;
      formEl.resetFields();
    };
    // 关闭弹窗
    const closeDialog = () => {
@@ -483,11 +505,11 @@
        label: 'Level one 1',
        children: [
          {
            value: '1-1',
            value: '11',
            label: 'Level two 1-1',
            children: [
              {
                value: '1-1-1',
                value: '111',
                label: 'Level three 1-1-1',
              },
            ],
@@ -499,21 +521,21 @@
        label: 'Level one 2',
        children: [
          {
            value: '2-1',
            value: '21',
            label: 'Level two 2-1',
            children: [
              {
                value: '2-1-1',
                value: '211',
                label: 'Level three 2-1-1',
              },
            ],
          },
          {
            value: '2-2',
            value: '22',
            label: 'Level two 2-2',
            children: [
              {
                value: '2-2-1',
                value: '221',
                label: 'Level three 2-2-1',
              },
            ],
@@ -525,21 +547,21 @@
        label: 'Level one 3',
        children: [
          {
            value: '3-1',
            value: '31',
            label: 'Level two 3-1',
            children: [
              {
                value: '3-1-1',
                value: '311',
                label: 'Level three 3-1-1',
              },
            ],
          },
          {
            value: '3-2',
            value: '32',
            label: 'Level two 3-2',
            children: [
              {
                value: '3-2-1',
                value: '321',
                label: 'Level three 3-2-1',
              },
            ],
@@ -555,7 +577,7 @@
        label: '广汇能源综合物流发展有限责任公司',
        children: [
          {
            value: '1-1',
            value: '11',
            label: '经营班子',
            children: [],
          },
@@ -566,12 +588,12 @@
        label: '生产运行部',
        children: [
          {
            value: '2-1',
            value: '21',
            label: '灌装一班',
            children: []
          },
          {
            value: '2-2',
            value: '22',
            label: '工艺四班',
            children: [],
          },
@@ -582,12 +604,12 @@
        label: '设备部',
        children: [
          {
            value: '3-1',
            value: '31',
            label: '仪表班',
            children: [],
          },
          {
            value: '3-2',
            value: '32',
            label: '机修班',
            children: [],
          },
@@ -644,6 +666,9 @@
    const daiInpt=()=>{
      Shows.value.openDailog()
    }
    const onUser = (e:any) => {
      ruleForm.value.drillPlanId=e.id
    };
    // 选择区域弹窗
    const openRef=ref()
    const regionsDialog=()=>{
@@ -678,6 +703,7 @@
      tree,
      daiInpt,
      Shows,
      onUser,
      ruleFormRef,
      // rules,
      openUser,
@@ -687,6 +713,10 @@
      toggleFullscreen,
      FullScreen,
      full,
      resetForm,
      titles,
      disabled,
      emit,
    };
  },
});
src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/rectificationDialog.vue
@@ -1,7 +1,7 @@
<template>
  <div class="system-edit-user-container">
    <el-dialog
        title="新建待整改"
        :title="titles"
        v-model="isShowDialog"
        width="769px"
        draggable
@@ -13,21 +13,22 @@
          :model="ruleForm"
          size="default"
          label-width="120px"
          :disabled="disabled"
      >
        <el-row :gutter="35">
          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
            <el-form-item label="整改标题" prop="teamName">
              <el-input v-model="ruleForm.teamName" placeholder="请填写队伍名称"></el-input>
            <el-form-item label="整改标题" prop="emergencyPlanName">
              <el-input 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="teamName">
              <el-input v-model="ruleForm.teamName" disabled placeholder="请填写队伍名称"></el-input>
              <el-input v-model="ruleForm.teamName" 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="teamLeader">
              <el-select v-model="ruleForm.teamLevel" class="w100" disabled placeholder="请选择">
              <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择">
                <el-option label="演练评价等" value="admin"></el-option>
                <el-option label="现场处置方案" value="common"></el-option>
                <el-option label="专项应急预案" value="common"></el-option>
@@ -53,21 +54,21 @@
          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
            <el-form-item label="隐患等级" prop="teamLeader">
              <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择">
                <el-option label="一般" value="admin"></el-option>
                <el-option label="重大" value="common"></el-option>
                <el-option label="一般">一般</el-option>
                <el-option label="重大">重大</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="teamLeader">
              <el-select v-model="ruleForm.teamLevel" class="w100" placeholder="请选择">
                <el-option label="死亡" value="admin"></el-option>
                <el-option label="重伤" value="common"></el-option>
                <el-option label="轻伤" value="admin"></el-option>
                <el-option label="火灾" value="common"></el-option>
                <el-option label="交通事故" value="admin"></el-option>
                <el-option label="财产损失" value="common"></el-option>
                <el-option label="其它" value="common"></el-option>
                <el-option label="死亡">死亡</el-option>
                <el-option label="重伤">重伤</el-option>
                <el-option label="轻伤">轻伤</el-option>
                <el-option label="火灾">火灾</el-option>
                <el-option label="交通事故">交通事故</el-option>
                <el-option label="财产损失">财产损失</el-option>
                <el-option label="其它">其它</el-option>
              </el-select>
            </el-form-item>
          </el-col>
@@ -90,7 +91,6 @@
                  v-model="ruleForm.teamLeader"
                  placeholder="请选择"
                  class="input-with-select"
                  disabled
              >
                <template #append>
                  <el-button :icon="Search" @click="regionsDialog"/>
@@ -98,20 +98,20 @@
              </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="telephone">
              <el-upload
                  class="avatar-uploader"
                  action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"
                  :show-file-list="false"
                  :on-success="handleAvatarSuccess"
                  :before-upload="beforeAvatarUpload"
              >
                <img v-if="imageUrl" :src="imageUrl" class="avatar" />
                <el-icon v-else class="avatar-uploader-icon"><Plus /></el-icon>
              </el-upload>
            </el-form-item>
          </el-col>
<!--          <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">-->
<!--            <el-form-item label="隐患照片" prop="telephone">-->
<!--              <el-upload-->
<!--                  class="avatar-uploader"-->
<!--                  action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"-->
<!--                  :show-file-list="false"-->
<!--                  :on-success="handleAvatarSuccess"-->
<!--                  :before-upload="beforeAvatarUpload"-->
<!--              >-->
<!--                <img v-if="imageUrl" :src="imageUrl" class="avatar" />-->
<!--                <el-icon v-else class="avatar-uploader-icon"><Plus /></el-icon>-->
<!--              </el-upload>-->
<!--            </el-form-item>-->
<!--          </el-col>-->
          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
            <el-form-item label="发现人" prop="telephone" >
              <el-input
@@ -188,7 +188,7 @@
                <el-row style="margin: 0">
                  <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" style="padding-left: 17.5px;padding-right: 17.5px;">
                    <el-form-item label="整改意见" prop="teamLevel">
                      <el-input v-model="ruleForm.name" class="textarea" type="textarea" disabled placeholder="请填写整改意见"></el-input>
                      <el-input v-model="ruleForm.name" 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" style="padding-left: 17.5px;padding-right: 17.5px;">
@@ -198,7 +198,6 @@
                          class="w100"
                          type="datetime"
                          placeholder="选择日期时间"
                          disabled
                      />
                    </el-form-item>
                  </el-col>
@@ -208,10 +207,9 @@
                          v-model="ruleForm.teamLeader"
                          placeholder="请选择"
                          class="input-with-select"
                          disabled
                      >
                        <template #append>
                          <el-button :icon="Search" disabled @click="openUser"/>
                          <el-button :icon="Search" @click="openUser"/>
                        </template>
                      </el-input>
                    </el-form-item>
@@ -223,7 +221,6 @@
                          class="w100"
                          type="datetime"
                          placeholder="选择日期时间"
                          disabled
                      />
                    </el-form-item>
                  </el-col>
@@ -235,7 +232,8 @@
      </el-form>
      <template #footer>
                <span class="dialog-footer">
                    <el-button @click="onCancel" size="default">关闭</el-button>
                    <el-button @click="resetForm(ruleFormRef)" size="default">关闭</el-button>
          <el-button size="default" v-if="disabled == true ? false : true" type="primary" @click="submitForm(titles, ruleFormRef)">确定</el-button>
                </span>
      </template>
    </el-dialog>
@@ -268,6 +266,8 @@
import UserSelections from "/@/components/userSelections/index.vue"
import CheckTemplate from '/@/components/checkTemplate/index.vue'
import RegionsDialog from '/@/components/regionsDialog/index.vue'
import {releaseDrillPlanApi} from "/@/api/emergencyDrillPlan";
import {emergencyDrillEvaluationApi} from "/@/api/emergencyDrillEvaluation";
export default defineComponent({
  name: 'rectificationDialog',
@@ -276,22 +276,60 @@
    UserSelections,
    RegionsDialog,
  },
  setup() {
  setup(props, { emit }) {
    const isShowDialog = ref(false)
    const ruleFormRef = ref<FormInstance>()
    //定义表单
    const ruleForm = reactive({
      teamName: '', // 队伍名称
      teamLeader: '', //队伍负责人
      department: [], // 负责人部门
      phone: '', // 负责人手机
      telephone: '', // 固定电话
      id: '',
      drillPlanId: '',
      suitable: '',
      sufficient: '',
      arrival: '',
      supplies: '',
      protection: '',
      whole: '',
      division: '',
      effect: '',
      report: '',
      safety: '',
      rescue: '',
      evacuate: '',
      needModify: '',
      questionAndImprove: '',
      modifyContent: '',
      fileList: [
        {
          fileName: 'name',
          fileUrl: 'url',
        }
      ],
      userList: [
        {
          userUid: ''
        },
        {
          userUid: ''
        }
      ]
    });
    const titles = ref();
    const disabled = ref();
    // 打开弹窗
    const openDialog = () => {
      // state.ruleForm = row;
    const openDialog = (title: string, id: number, type: boolean) => {
      isShowDialog.value = true;
      titles.value = title;
      disabled.value = type;
      // if (title == '查看演练实施评价' || title == '修改演练实施评价') {
      //   releaseDrillPlanApi()
      //       .seeReleaseDrillPlan(id)
      //       .then((res) => {
      //         if (res.data.code == 200) {
      //           ruleForm.value = res.data.data;
      //         }
      //       });
      // }
    };
    // 关闭弹窗
    const closeDialog = () => {
@@ -311,11 +349,11 @@
        label: 'Level one 1',
        children: [
          {
            value: '1-1',
            value: '11',
            label: 'Level two 1-1',
            children: [
              {
                value: '1-1-1',
                value: '111',
                label: 'Level three 1-1-1',
              },
            ],
@@ -327,21 +365,21 @@
        label: 'Level one 2',
        children: [
          {
            value: '2-1',
            value: '21',
            label: 'Level two 2-1',
            children: [
              {
                value: '2-1-1',
                value: '211',
                label: 'Level three 2-1-1',
              },
            ],
          },
          {
            value: '2-2',
            value: '22',
            label: 'Level two 2-2',
            children: [
              {
                value: '2-2-1',
                value: '221',
                label: 'Level three 2-2-1',
              },
            ],
@@ -353,21 +391,21 @@
        label: 'Level one 3',
        children: [
          {
            value: '3-1',
            value: '31',
            label: 'Level two 3-1',
            children: [
              {
                value: '3-1-1',
                value: '311',
                label: 'Level three 3-1-1',
              },
            ],
          },
          {
            value: '3-2',
            value: '32',
            label: 'Level two 3-2',
            children: [
              {
                value: '3-2-1',
                value: '321',
                label: 'Level three 3-2-1',
              },
            ],
@@ -383,7 +421,7 @@
        label: '广汇能源综合物流发展有限责任公司',
        children: [
          {
            value: '1-1',
            value: '11',
            label: '经营班子',
            children: [],
          },
@@ -394,12 +432,12 @@
        label: '生产运行部',
        children: [
          {
            value: '2-1',
            value: '21',
            label: '灌装一班',
            children: []
          },
          {
            value: '2-2',
            value: '22',
            label: '工艺四班',
            children: [],
          },
@@ -410,12 +448,12 @@
        label: '设备部',
        children: [
          {
            value: '3-1',
            value: '31',
            label: '仪表班',
            children: [],
          },
          {
            value: '3-2',
            value: '32',
            label: '机修班',
            children: [],
          },
@@ -468,6 +506,108 @@
    //   ],
    // })
    // 应急队伍弹窗
    // 表单提交验证必填项
    const submitForm = async (title: string, formEl: FormInstance | undefined) => {
      if (title == '查看演练实施评价') {
        if (!formEl) return;
        await formEl.validate((valid, fields) => {
          if (valid) {
            isShowDialog.value = false;
            emergencyDrillEvaluationApi()
                .addEmergencyDrillEvaluation(ruleForm.value)
                .then((res) => {
                  if (res.data.code == 200) {
                    ElMessage({
                      showClose: true,
                      message: res.data.msg,
                      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);
          }
        });
      }
      else if (title == '修改演练实施评价') {
        if (!formEl) return;
        await formEl.validate((valid, fields) => {
          if (valid) {
            isShowDialog.value = false;
            emergencyDrillEvaluationApi()
                .editEmergencyDrillEvaluation(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);
          }
        });
        formEl.resetFields();
        ruleForm.value = {
          id: '',
          drillPlanId: '',
          suitable: '',
          sufficient: '',
          arrival: '',
          supplies: '',
          protection: '',
          whole: '',
          division: '',
          effect: '',
          report: '',
          safety: '',
          rescue: '',
          evacuate: '',
          needModify: '',
          questionAndImprove: '',
          modifyContent: '',
          fileList: [
            {
              fileName: 'name',
              fileUrl: 'url',
            }
          ],
          userList: [
            {
              userUid: ''
            },
            {
              userUid: ''
            }
          ]
        };
      }
    }
    const resetForm = (formEl: FormInstance | undefined) => {
      isShowDialog.value = false;
      if (!formEl) return;
      formEl.resetFields();
    };
    const Shows=ref()
    const daiInpt=()=>{
      Shows.value.openDailog()
@@ -544,6 +684,11 @@
      toggleFullscreen,
      FullScreen,
      full,
      submitForm,
      emit,
      titles,
      disabled,
      resetForm,
    };
  },
});
src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/index.vue
@@ -3,7 +3,7 @@
    <el-card shadow="hover">
      <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
        <el-tab-pane label="待评价" name="first">
          <div class="button_Line">
          <div class="button_Line mb15">
            <div class="button_Left">
              <el-button size="default" type="danger" plain :disabled="danger" @click="onDeleteAll">
                <el-icon>
@@ -11,23 +11,23 @@
                </el-icon>删除
              </el-button>
            </div>
            <div class="button_Right">
              <el-button @click="upButton">
                <el-icon>
                  <Upload />
                </el-icon>
              </el-button>
              <el-button>
                <el-icon>
                  <Download />
                </el-icon>
              </el-button>
              <el-button>
                <el-icon>
                  <Refresh />
                </el-icon>
              </el-button>
            </div>
<!--            <div class="button_Right">-->
<!--              <el-button @click="upButton">-->
<!--                <el-icon>-->
<!--                  <Upload />-->
<!--                </el-icon>-->
<!--              </el-button>-->
<!--              <el-button>-->
<!--                <el-icon>-->
<!--                  <Download />-->
<!--                </el-icon>-->
<!--              </el-button>-->
<!--              <el-button>-->
<!--                <el-icon>-->
<!--                  <Refresh />-->
<!--                </el-icon>-->
<!--              </el-button>-->
<!--            </div>-->
          </div>
          <el-table
              :data="tableData"
@@ -39,13 +39,13 @@
                type="selection"
                width="55"
            />
            <el-table-column prop="teamName" label="演练名称" show-overflow-tooltip sortable></el-table-column>
            <el-table-column prop="teamLevel" label="演练地点" show-overflow-tooltip sortable></el-table-column>
            <el-table-column prop="teamDescription" label="演练方式" show-overflow-tooltip sortable></el-table-column>
            <el-table-column prop="phone" label="演练级别" show-overflow-tooltip sortable></el-table-column>
            <el-table-column prop="attachments" label="计划演练日期" show-overflow-tooltip sortable></el-table-column>
            <el-table-column prop="attachments" label="演练记录日期" show-overflow-tooltip sortable></el-table-column>
            <el-table-column prop="attachments" label="应急预案" show-overflow-tooltip sortable></el-table-column>
            <el-table-column prop="emergencyPlanName" label="演练名称" show-overflow-tooltip sortable></el-table-column>
            <el-table-column prop="drillAddress" label="演练地点" show-overflow-tooltip sortable></el-table-column>
            <el-table-column prop="drillWay" label="演练方式" show-overflow-tooltip sortable></el-table-column>
            <el-table-column prop="drillLevel" label="演练级别" show-overflow-tooltip sortable></el-table-column>
            <el-table-column prop="drillPlanDate" label="计划演练日期" show-overflow-tooltip sortable></el-table-column>
            <el-table-column prop="drillRecordDate" label="演练记录日期" show-overflow-tooltip sortable></el-table-column>
<!--            <el-table-column prop="attachments" label="应急预案" show-overflow-tooltip sortable></el-table-column>-->
            <el-table-column label="操作" width="260" align="center" fixed="right">
              <template #default="scope">
                <el-button size="small" text disabled>
@@ -53,10 +53,10 @@
                    <EditPen />
                  </el-icon>评价
                </el-button>
                <el-button size="small" text type="primary" @click="onFlowChart(scope.row)">
                  审批进度
                </el-button>
                <el-button size="small" text type="primary" @click="onEdit('详情',scope.row.id)">
<!--                <el-button size="small" text type="primary" @click="onFlowChart(scope.row.id)">-->
<!--                  审批进度-->
<!--                </el-button>-->
                <el-button size="small" text type="primary" @click="onApprovalProgress('详情',scope.row.id)">
                  <el-icon style="margin-right: 5px;">
                    <EditPen />
                  </el-icon>查看评价
@@ -89,11 +89,10 @@
        <el-tab-pane label="已评价" name="second">Config</el-tab-pane>
      </el-tabs>
    </el-card>
<!--    <ApprovalProgress ref="approvalRef" />-->
    <FlowChart ref="flowRef" />
    <RectificationDialog ref="rectificationRef" />
    <OpenEdit ref="editRef" />
    <upData ref="upShow"></upData>
    <ApprovalProgress ref="approvalRef" @myAdd="onMyAdd" />
<!--    <FlowChart ref="flowRef" />-->
    <RectificationDialog ref="rectificationRef" @myAdd="onMyAdds" />
<!--    <upData ref="upShow"></upData>-->
  </div>
</template>
@@ -106,58 +105,44 @@
  defineComponent
} from 'vue';
import {
  ElTable,
  ElMessage,
  ElMessageBox,
  TabsPaneContext,
} from 'element-plus';
import {
  Plus,
  Upload,
  Download,
  Refresh,
  // Upload,
  // Download,
  // Refresh,
  Delete,
  EditPen,
} from '@element-plus/icons-vue'
import FlowChart from '/@/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/flowChart.vue'
// import ApprovalProgress from '/@/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/approvalProgress.vue';
import OpenEdit from '/@/views/contingencyManagement/panManagement/component/openEdit.vue';
import UpData from '/@/views/contingencyManagement/panManagement/component/upData.vue';
// import FlowChart from '/@/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/flowChart.vue'
import ApprovalProgress from '/@/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/approvalProgress.vue';
// import UpData from '/@/views/contingencyManagement/panManagement/component/upData.vue';
import RectificationDialog from '/@/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/rectificationDialog.vue';
import {emergencyDrillEvaluationApi} from '/@/api/emergencyDrillEvaluation'
// 定义接口来定义对象的类型
interface TableDataRow {
  // userName: string;
  // userNickname: string;
  // roleSign: string;
  // department: string[];
  // phone: string;
  // email: string;
  // sex: string;
  // password: string;
  // overdueTime: Date;
  // // describe: string;
  // createTime: string;
}
// interface TableDataRow {
// }
export default defineComponent({
  name: 'systemUser',
  components: {
    OpenEdit,
    EditPen,
    Plus,
    Upload,
    Download,
    Refresh,
    UpData,
    // ApprovalProgress,
    // Upload,
    // Download,
    // Refresh,
    // UpData,
    Delete,
    ApprovalProgress,
    RectificationDialog,
    FlowChart
    // FlowChart
  },
  setup() {
    const activeName = ref('first')
    const handleClick = (tab: TabsPaneContext, event: Event) => {
      console.log(tab, event)
    }
@@ -189,35 +174,47 @@
    };
    // 上传
    const upShow=ref()
    const upButton=()=>{
      upShow.value.openDialog()
    }
    // const upShow=ref()
    // const upButton=()=>{
    //   upShow.value.openDialog()
    // }
    // 审批进度弹窗
    const flowRef = ref();
    const onFlowChart = (row: TableDataRow) => {
      flowRef.value.openDialog(row);
    };
    // // 查看整改弹窗
    // const editRef = ref();
    // const onOpenEdit = () => {
    //   editRef.value.openDialog('演练实施评价',false);
    // const flowRef = ref();
    // const onFlowChart = (row: TableDataRow) => {
    //   flowRef.value.openDialog(row);
    // };
    // 打开修改弹窗
    const rectificationRef = ref();
    const onEdit = (val: string, row: object) => {
      if (val == '详情') {
        rectificationRef.value.openDialog('查看演练实施评价',row,true);
      } else {
      if (val == '修改') {
        rectificationRef.value.openDialog('修改演练实施评价',row,false);
      } else {
        // rectificationRef.value.openDialog('修改演练实施评价',row,false);
      }
    };
    const onMyAdds = (e: boolean) => {
      if (e) {
        listApi();
      } else {
        listApi();
      }
    };
    // 审批进度弹窗
    // const approvalRef = ref();
    // const onApprovalProgress = () => {
    //   approvalRef.value.openDialog();
    // };
    const approvalRef = ref();
    const onApprovalProgress = (val: string, row: object) => {
      if (val == '详情') {
        approvalRef.value.openDialog('查看演练实施评价', row, true);
      }
    };
    // 新增后刷新
    const onMyAdd = (e: boolean) => {
      if (e) {
        listApi();
      } else {
        listApi();
      }
    };
    // 整改弹窗
    // const rectificationRef = ref();
    // const onEdit = () => {
@@ -253,7 +250,6 @@
          })
          .catch(() => {});
    };
    // 分页
    const pageIndex = ref();
    const pageSize = ref();
@@ -292,22 +288,26 @@
    return {
      activeName,
      handleClick,
      upButton,
      upShow,
      // upButton,
      // upShow,
      tableData,
      // onOpenEdit,  //编辑
      pageIndex,
      pageSize,
      handleSizeChange,
      handleCurrentChange,
      // onApprovalProgress,
      // approvalRef,
      onApprovalProgress,
      approvalRef,
      onEdit,
      rectificationRef,
      onFlowChart,
      flowRef,
      // onFlowChart,
      // flowRef,
      onDeleteAll,
      danger,
      total,
      handleSelectionChange,
      onMyAdd,
      onMyAdds,
    };
  },
});
@@ -326,6 +326,15 @@
  flex-direction: row;
  justify-content: space-between;
}
//表头
::v-deep .el-table th.el-table__cell {
  background-color: #f6f7fa;
  font-weight: 400;
  color: #909399;
}
.el-table .sort-caret.ascending{
  border-bottom-color: #c0c4cc;
}
//分页
.pages{
  display: flex;
src/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/component/openAdd.vue
@@ -87,7 +87,7 @@
    </el-dialog>
    <UserSelect ref="Shows"/>
    <UserCheckbox ref="userRef"/>
    <RegionsDialog ref="openRef"/>
    <RegionsDialog ref="openRef" @SearchUser="onUser"/>
  </div>
</template>
@@ -247,9 +247,12 @@
    }
    // 演练名称弹窗
    const openRef=ref()
    const regionsDialog=()=>{
    const regionsDialog = () => {
      openRef.value.openDailog()
    }
    const onUser = (e:any) => {
      ruleForm.value.drillPlanId=e.id
    };
    // 实际到场人员弹窗
    const userRef = ref();
    const openUser = () => {
@@ -278,6 +281,7 @@
      openUser,
      userRef,
      regionsDialog,
      onUser,
      openRef,
      toggleFullscreen,
      FullScreen,
src/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/component/regionsDialog.vue
@@ -1,109 +1,142 @@
<template>
    <el-dialog
      v-model="dialogVisible"
      title="选择演练名称"
      width="900px"
      draggable
      :fullscreen="full"
  >
  <el-dialog v-model="dialogVisible" title="选择应急预案" width="900px" draggable :fullscreen="full">
    <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
        <el-row>
            <el-col :span="18">
        <el-form :inline="true" ref="ruleFormRef" :model="ruleForm" status-icon>
            <el-form-item>
                <el-input size="default" v-model="ruleForm.checkPass" placeholder="演练名称" style="max-width: 215px;" />
            </el-form-item>
            <el-form-item>
                <el-button size="default" type="primary" @click="submitForm(ruleFormRef)" style="margin-left: 12px;">查询</el-button>
                <el-button size="default" @click="resetForm(ruleFormRef)">重置</el-button>
            </el-form-item>
      <el-button size="default" :icon="Delete" style="margin-left: 12px;">清除选择</el-button>
        </el-form>
        <el-table :data="tableData" style="width: 100%;margin-top:20px;">
      <el-table-column type="selection" width="55" />
            <el-table-column align="center" prop="name" label="演练名称"/>
        </el-table>
    <el-row>
      <el-col :span="18">
        <el-row>
          <el-col :span="24">
            <el-form ref="ruleFormRef" :inline="true" :model="ruleForm" status-icon>
              <el-form-item>
                <el-input size="default" v-model="listQuery.searchParams.drillName" placeholder="演练名称" style="max-width: 215px;margin-right: 12px;" />
              </el-form-item>
              <el-form-item>
                <el-button size="default" type="primary" @click="onSubmit">查询</el-button>
                <el-button size="default" @click="submitReset">重置</el-button>
              </el-form-item>
            </el-form>
          </el-col>
          <el-col :span="24">
            <el-button size="default" :icon="Delete" style="margin-top: 15px">清除选择</el-button>
          </el-col>
        </el-row>
        <el-table
            :data="tableData"
            style="width: 100%;
             margin-top: 20px"
            @cell-click="radio"
        >
          <el-table-column width="55">
            <template #default="scope">
              <el-radio-group v-model="radio1">
                <el-radio :label="scope.row" size="large">{{ null }}</el-radio>
              </el-radio-group>
            </template>
          </el-table-column>
          <el-table-column align="center" prop="drillName" label="预案名称" />
        </el-table>
        <div class="pages">
          <el-pagination
              v-model:currentPage="pageIndex"
              v-model:page-size="pageSize"
              :page-sizes="[10, 20, 30]"
              :pager-count="5"
              :small="small"
              :disabled="disabled"
              :background="background"
              layout="total, sizes, prev, pager, next, jumper"
              :total="40"
              @size-change="handleSizeChange"
              @current-change="handleCurrentChange"
              :total="total"
              @size-change="onHandleSizeChange"
              @current-change="onHandleCurrentChange"
          />
        </div>
        </el-col>
        <el-col :span="6" style="padding-left: 15px;">
            <el-tag v-for="tag in dynamicTags" :key="tag" class="mx-1" style="margin:5px" closable :disable-transitions="false" @close="handleClose(tag)">
                    {{ tag }}
                </el-tag>
        </el-col>
        </el-row>
        <template #footer>
      </el-col>
      <el-col :span="6">
        <div v-if="dynamicTags[0] == '' ? false : true">
          <el-tag
              v-for="tag in dynamicTags"
              :key="tag"
              class="mx-1"
              style="margin: 5px"
              closable
              :disable-transitions="false"
              @close="handleClose(tag)"
          >
            {{ tag.drillName }}
          </el-tag>
        </div>
      </el-col>
    </el-row>
    <template #footer>
            <span class="dialog-footer">
                <el-button @click="dialogVisible = false" size="default">关闭</el-button>
                <el-button type="primary" @click="dialogVisible = false" size="default">确定</el-button>
                <el-button type="primary" @click="submitForm" size="default">确定</el-button>
            </span>
        </template>
    </el-dialog>
    </template>
  </el-dialog>
</template>
<script lang="ts">
import {
  defineComponent,
  reactive,
  ref
} from 'vue';
import {
  Delete,
  FullScreen
} from '@element-plus/icons-vue';
import { defineComponent, reactive, ref, onMounted } from 'vue';
import { ElMessage } from 'element-plus';
import { Delete, FullScreen } from '@element-plus/icons-vue';
import { emergencyPlanLogApi } from '/@/api/emergencyPlanLog';
import { emergencyPlanApi } from '/@/api/emergencyPlan';
import {releaseDrillPlanApi} from "/@/api/emergencyDrillPlan";
export default defineComponent({
    setup() {
        const dialogVisible = ref<boolean>(false);
        const openDailog = () => {
            dialogVisible.value = true;
        };
        // 搜索条件
        const ruleForm = reactive({
            checkPass: '',
        });
        // 表格
        const tableData = [
            {
                name: '1#LNG储罐单元',
            },
            {
                name: 'LNG装车区',
            },
            {
                name: '丙烷储罐区',
            },
            {
                name: '4#LNG储罐单元',
            },
        ];
  setup(props, { emit }) {
    const dialogVisible = ref<boolean>(false);
    const openDailog = () => {
      dialogVisible.value = true;
      onSubmit()
    };
    // 搜索条件
    const listQuery = reactive({
      pageIndex: 1,
      pageSize: 10,
      searchParams: {
        drillName: ''
      },
    });
    // 列表请求数据
    const onSubmit = async () => {
      let res = await releaseDrillPlanApi().getReleaseDrillPlanList(listQuery);
      if (res.data.code === '200') {
        tableData.value = res.data.data;
        pageIndex.value = res.data.pageIndex;
        pageSize.value = res.data.pageSize;
        total.value = res.data.total;
      } else {
        ElMessage({
          showClose: true,
          type: 'error',
          message: res.data.msg,
        });
      }
    };
    // 定义表格数据
    const tableData = ref([]);
    // 重置
    const submitReset = () => {
      listQuery.searchParams.drillName = '';
      onSubmit();
    };
    // 分页
    const pageIndex = ref(4);
    const pageSize = ref(10);
    const pageIndex = ref();
    const pageSize = ref();
    const total = ref();
    // 分页改变
    const handleSizeChange = (val: number) => {
      console.log(`${val} items per page`);
    const onHandleSizeChange = (val: number) => {
      listQuery.pageSize = val;
    };
    // 分页未改变
    const handleCurrentChange = (val: number) => {
      console.log(`current page: ${val}`);
    const onHandleCurrentChange = (val: number) => {
      listQuery.pageIndex = val;
    };
        // 右方点击添加后显示标签
        const dynamicTags = ref(['应急救援组', '工艺抢险组', '后勤保障组']);
        const handleClose = (tag: string) => {
            dynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1);
        };
    // 右方点击添加后显示标签
    const dynamicTags = ref(['']);
    const handleClose = (tag: string) => {
      dynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1);
      radio1.value = '';
    };
    const radio1 = ref('');
    const radio = (event: any) => {
      dynamicTags.value[0] = event;
    };
    //全屏
    const full = ref(false);
    const toggleFullscreen = () => {
@@ -113,38 +146,50 @@
        full.value = false;
      }
    };
        return {
            dialogVisible,
            openDailog,
            ruleForm,
            tableData,
      pageIndex,
    const submitForm = () => {
      let obj = JSON.parse(JSON.stringify(dynamicTags.value));
      emit('SearchUser', obj[0]);
      dialogVisible.value = false;
    };
    onMounted(() => {
      onSubmit();
    });
    return {
      dialogVisible,
      openDailog,
      tableData,
      pageSize,
      handleSizeChange,
      handleCurrentChange,
            dynamicTags,
            handleClose,
            Delete,
      pageIndex,
      onHandleSizeChange,
      onHandleCurrentChange,
      dynamicTags,
      handleClose,
      Delete,
      radio1,
      radio,
      toggleFullscreen,
      FullScreen,
      full,
        };
    },
      submitReset,
      onMounted,
      listQuery,
      submitForm,
      onSubmit,
      total,
    };
  },
});
</script>
<style scoped>
.el-row {
    padding: 0 0 20px 0;
.el-form--inline .el-form-item {
  margin-bottom: 0;
  margin-right: 0;
}
.el-form--inline .el-form-item{
  margin: 0;
/*分页*/
.pages {
  margin-top: 15px;
}
/*分页开始*/
  .pages{
    display: flex;
    justify-content: flex-start;
    margin-top: 15px;
  }
::v-deep .el-pagination .el-pager li {
  margin: 0 5px;
  background-color: #f4f4f5;
@@ -163,15 +208,14 @@
  min-width: 30px;
  border-radius: 2px;
}
::v-deep .el-pagination button:disabled{
::v-deep .el-pagination button:disabled {
  color: #c0c4cc;
}
::v-deep .el-pagination .btn-next{
::v-deep .el-pagination .btn-next {
  margin: 0 5px;
  background-color: #f4f4f5;
  color: #606266;
  min-width: 30px;
  border-radius: 2px;
}
/*分页结束*/
</style>
src/views/contingencyManagement/emergencyDrill/implementationOfEmergencyDrill/index.vue
@@ -1,7 +1,7 @@
<template>
  <div class="system-user-container">
    <el-card shadow="hover">
      <div class="button_Line">
      <div class="button_Line mb15">
        <div class="button_Left">
          <el-button size="default" type="primary"  @click="onOpenAdd">
            <el-icon>
@@ -15,21 +15,21 @@
          </el-button>
        </div>
        <div class="button_Right">
          <el-button @click="upButton">
            <el-icon>
              <Upload />
            </el-icon>
          </el-button>
          <el-button>
            <el-icon>
              <Download />
            </el-icon>
          </el-button>
          <el-button>
            <el-icon>
              <Refresh />
            </el-icon>
          </el-button>
<!--          <el-button @click="upButton">-->
<!--            <el-icon>-->
<!--              <Upload />-->
<!--            </el-icon>-->
<!--          </el-button>-->
<!--          <el-button>-->
<!--            <el-icon>-->
<!--              <Download />-->
<!--            </el-icon>-->
<!--          </el-button>-->
<!--          <el-button>-->
<!--            <el-icon>-->
<!--              <Refresh />-->
<!--            </el-icon>-->
<!--          </el-button>-->
        </div>
      </div>
      <el-table
@@ -42,7 +42,7 @@
            type="selection"
            width="55"
        />
        <el-table-column prop="drillPlanId" label="演练名称" show-overflow-tooltip sortable></el-table-column>
        <el-table-column prop="emergencyPlanName" label="演练名称" show-overflow-tooltip sortable></el-table-column>
        <el-table-column prop="drillAddress" label="演练地点" show-overflow-tooltip sortable></el-table-column>
        <el-table-column prop="drillWay" label="演练方式" show-overflow-tooltip sortable></el-table-column>
        <el-table-column prop="drillLevel" label="演练级别" show-overflow-tooltip sortable></el-table-column>
@@ -85,7 +85,7 @@
      </div>
    </el-card>
    <OpenAdd ref="addRef" @myAdd="onMyAdd"/>
    <upData ref="upShow"></upData>
<!--    <upData ref="upShow"></upData>-->
  </div>
</template>
@@ -105,8 +105,8 @@
import { Plus,
  // Edit,
  Delete,
  Upload,
  Download,
  // Upload,
  // Download,
  View,
  Refresh,
  VideoPause,
@@ -125,8 +125,8 @@
    // Edit,
    Delete,
    View,
    Upload,
    Download,
    // Upload,
    // Download,
    Refresh,
    VideoPause,
    UpData
@@ -159,10 +159,10 @@
    };
    // 上传
    const upShow=ref()
    const upButton=()=>{
      upShow.value.openDialog()
    }
    // const upShow=ref()
    // const upButton=()=>{
    //   upShow.value.openDialog()
    // }
    // 打开新增用户弹窗
    const addRef = ref();
    const onOpenAdd = () => {
@@ -279,8 +279,8 @@
      listApi();
    });
    return {
      upButton,
      upShow,
      // upButton,
      // upShow,
      tableData,
      onOpenAdd,  //新增
      addRef,
@@ -295,6 +295,7 @@
      handleSelectionChange,
      danger,
      deletAll,
      onEdit,
    };
  },
});
@@ -313,6 +314,15 @@
  flex-direction: row;
  justify-content: space-between;
}
//表头
::v-deep .el-table th.el-table__cell {
  background-color: #f6f7fa;
  font-weight: 400;
  color: #909399;
}
.el-table .sort-caret.ascending{
  border-bottom-color: #c0c4cc;
}
//分页开始
.pages{
  display: flex;
src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue
@@ -178,7 +178,7 @@
                </span>
      </template>
    </el-dialog>
    <RegionsDialog ref="Shows"/>
    <RegionsDialog ref="Shows" @SearchUser="onUser"/>
    <UserCheckbox ref="userRef"/>
  </div>
</template>
@@ -201,7 +201,7 @@
} from '@element-plus/icons-vue'
import UserCheckbox from "/@/components/userCheckbox/index.vue"
import RegionsDialog from "/@/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/regionsDialog.vue"
import {releaseDrillPlanApi} from "/@/api/releaseDrillPlan";
import {releaseDrillPlanApi} from "/@/api/emergencyDrillPlan";
export default defineComponent({
  name: 'openAdd',
@@ -490,9 +490,12 @@
    };
    // 应急队伍弹窗
    const Shows=ref()
    const daiInpt=()=>{
    const daiInpt = () => {
      Shows.value.openDailog()
    }
    const onUser = (e:any) => {
      ruleForm.value.planId=e.id
    };
    // 打开用户选择弹窗
    const userRef = ref();
    const openUser = () => {
@@ -534,6 +537,7 @@
      disabled,
      resetForm,
      emit,
      onUser,
    };
  },
});
src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/regionsDialog.vue
@@ -1,127 +1,141 @@
<template>
  <el-dialog
      v-model="dialogVisible"
      title="选择应急预案"
      width="900px"
      draggable
      :fullscreen="full">
  <el-dialog v-model="dialogVisible" title="选择应急预案" width="900px" draggable :fullscreen="full">
    <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
    <el-row>
      <el-col :span="18">
        <el-form :inline="true" ref="ruleFormRef" :model="ruleForm" status-icon>
          <el-form-item>
            <el-input size="default" v-model="ruleForm.checkPass" placeholder="预案名称" style="max-width: 215px;" />
          </el-form-item>
          <el-form-item>
            <el-button size="default" type="primary" @click="submitForm(ruleFormRef)" style="padding-right: 12px;">查询</el-button>
            <el-button size="default" @click="resetForm(ruleFormRef)">重置</el-button>
          </el-form-item>
          <el-button size="default" :icon="Delete" style="margin-left: 12px;">清除选择</el-button>
        </el-form>
        <el-table :data="tableData" style="width: 100%;margin-top:20px;">
          <el-table-column align="center" width="55">
        <el-row>
          <el-col :span="24">
            <el-form ref="ruleFormRef" :inline="true" :model="ruleForm" status-icon>
              <el-form-item>
                <el-input size="default" v-model="listQuery.searchParams.name" placeholder="预案名称" style="max-width: 215px;margin-right: 12px;" />
              </el-form-item>
              <el-form-item>
                <el-button size="default" type="primary" @click="onSubmit">查询</el-button>
                <el-button size="default" @click="submitReset">重置</el-button>
              </el-form-item>
            </el-form>
          </el-col>
          <el-col :span="24">
            <el-button size="default" :icon="Delete" style="margin-top: 15px">清除选择</el-button>
          </el-col>
        </el-row>
        <el-table
            :data="tableData"
            style="width: 100%;
             margin-top: 20px"
            @cell-click="radio"
        >
          <el-table-column width="55">
            <template #default="scope">
              <el-radio-group v-model="radio1" @change="radio">
                <el-radio :label="scope.row.name" size="large">{{null}}</el-radio>
              <el-radio-group v-model="radio1">
                <el-radio :label="scope.row" size="large">{{ null }}</el-radio>
              </el-radio-group>
            </template>
          </el-table-column>
          <el-table-column align="center" prop="name" label="预案名称"/>
          <el-table-column align="center" prop="name" label="预案名称" />
        </el-table>
        <div class="pages">
          <el-pagination
              v-model:currentPage="pageIndex"
              v-model:page-size="pageSize"
              :page-sizes="[10, 20, 30]"
              :pager-count="5"
              :small="small"
              :disabled="disabled"
              :background="background"
              layout="total, sizes, prev, pager, next, jumper"
              :total="40"
              @size-change="handleSizeChange"
              @current-change="handleCurrentChange"
              :total="total"
              @size-change="onHandleSizeChange"
              @current-change="onHandleCurrentChange"
          />
        </div>
      </el-col>
      <el-col :span="6" style="padding-left: 15px;">
        <el-tag
            v-for="tag in dynamicTags"
            :key="tag"
            class="mx-1"
            style="margin: 5px"
            closable
            :disable-transitions="false"
            @close="handleClose(tag)"
        >
          {{ tag }}
        </el-tag>
      <el-col :span="6">
        <div v-if="dynamicTags[0] == '' ? false : true">
          <el-tag
              v-for="tag in dynamicTags"
              :key="tag"
              class="mx-1"
              style="margin: 5px"
              closable
              :disable-transitions="false"
              @close="handleClose(tag)"
          >
            {{ tag.name }}
          </el-tag>
        </div>
      </el-col>
    </el-row>
    <template #footer>
            <span class="dialog-footer">
                <el-button @click="dialogVisible = false" size="default">关闭</el-button>
                <el-button type="primary" @click="dialogVisible = false" size="default">确定</el-button>
                <el-button type="primary" @click="submitForm" size="default">确定</el-button>
            </span>
    </template>
  </el-dialog>
</template>
<script lang="ts">
import {
  defineComponent,
  reactive,
  ref
} from 'vue';
import {
  Delete,
  FullScreen
} from '@element-plus/icons-vue';
import { defineComponent, reactive, ref, onMounted } from 'vue';
import { ElMessage } from 'element-plus';
import { Delete, FullScreen } from '@element-plus/icons-vue';
import { emergencyPlanApi } from '/@/api/emergencyPlan';
export default defineComponent({
  setup() {
  setup(props, { emit }) {
    const dialogVisible = ref<boolean>(false);
    const openDailog = () => {
      dialogVisible.value = true;
      onSubmit()
    };
    // 搜索条件
    const ruleForm = reactive({
      checkPass: '',
    const listQuery = reactive({
      pageIndex: 1,
      pageSize: 10,
      searchParams: {
        name: '',
      },
    });
    // 表格
    const tableData = [
      {
        name: '1#LNG储罐单元',
      },
      {
        name: 'LNG装车区',
      },
      {
        name: '丙烷储罐区',
      },
      {
        name: '4#LNG储罐单元',
      },
    ];
    // 定义表格数据
    const tableData = ref([]);
    // 重置
    const submitReset = () => {
      listQuery.searchParams.name = '';
      onSubmit();
    };
    // 列表请求数据
    const onSubmit = async () => {
      let res = await emergencyPlanApi().getEmergencyPlanList(listQuery);
      if (res.data.code === '200') {
        tableData.value = res.data.data;
        pageIndex.value = res.data.pageIndex;
        pageSize.value = res.data.pageSize;
        total.value = res.data.total;
      } else {
        ElMessage({
          showClose: true,
          type: 'error',
          message: res.data.msg,
        });
      }
    };
    // 分页
    const pageIndex = ref(4);
    const pageSize = ref(10);
    const pageIndex = ref();
    const pageSize = ref();
    const total = ref();
    // 分页改变
    const handleSizeChange = (val: number) => {
      console.log(`${val} items per page`);
    const onHandleSizeChange = (val: number) => {
      listQuery.pageSize = val;
    };
    // 分页未改变
    const handleCurrentChange = (val: number) => {
      console.log(`current page: ${val}`);
    const onHandleCurrentChange = (val: number) => {
      listQuery.pageIndex = val;
    };
    // 右方点击添加后显示标签
    const dynamicTags = ref(['LNG储罐单元']);
    const dynamicTags = ref(['']);
    const handleClose = (tag: string) => {
      dynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1);
      radio1.value=""
      radio1.value = '';
    };
    const radio1=ref('LNG装车区')
    const radio=(event:any)=>{
      dynamicTags.value[0]=event
    }
    const radio1 = ref('');
    const radio = (event: any) => {
      dynamicTags.value[0] = event;
    };
    //全屏
    const full = ref(false);
    const toggleFullscreen = () => {
@@ -131,40 +145,49 @@
        full.value = false;
      }
    };
    const submitForm = () => {
      let obj = JSON.parse(JSON.stringify(dynamicTags.value));
      emit('SearchUser', obj[0]);
      dialogVisible.value = false;
    };
    onMounted(() => {
      onSubmit();
    });
    return {
      dialogVisible,
      openDailog,
      ruleForm,
      tableData,
      handleSizeChange,
      handleCurrentChange,
      pageIndex,
      pageSize,
      Delete,
      pageIndex,
      onHandleSizeChange,
      onHandleCurrentChange,
      dynamicTags,
      handleClose,
      Delete,
      radio1,
      radio,
      dynamicTags,
      toggleFullscreen,
      FullScreen,
      full,
      submitReset,
      onMounted,
      listQuery,
      onSubmit,
      submitForm,
    };
  },
});
</script>
<style scoped>
.el-row {
  padding: 0 0 20px 0;
}
.el-form--inline .el-form-item{
  margin: 0;
.el-form--inline .el-form-item {
  margin-bottom: 0;
  margin-right: 0;
}
/*分页*/
  .pages{
    display: flex;
    justify-content: flex-start;
    margin-top: 15px;
  }
.pages {
  margin-top: 15px;
}
::v-deep .el-pagination .el-pager li {
  margin: 0 5px;
  background-color: #f4f4f5;
@@ -183,10 +206,10 @@
  min-width: 30px;
  border-radius: 2px;
}
::v-deep .el-pagination button:disabled{
::v-deep .el-pagination button:disabled {
  color: #c0c4cc;
}
::v-deep .el-pagination .btn-next{
::v-deep .el-pagination .btn-next {
  margin: 0 5px;
  background-color: #f4f4f5;
  color: #606266;
src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/index.vue
@@ -2,7 +2,7 @@
  <div class="system-user-container">
    <el-card shadow="hover">
      <div class="button_Line">
        <div class="button_Left">
        <div class="button_Left mb15">
          <el-button size="default" type="primary"  @click="onOpenAdd">
            <el-icon>
              <Plus />
@@ -15,21 +15,21 @@
          </el-button>
        </div>
        <div class="button_Right">
          <el-button @click="upButton">
            <el-icon>
              <Upload />
            </el-icon>
          </el-button>
          <el-button>
            <el-icon>
              <Download />
            </el-icon>
          </el-button>
          <el-button>
            <el-icon>
              <Refresh />
            </el-icon>
          </el-button>
<!--          <el-button @click="upButton">-->
<!--            <el-icon>-->
<!--              <Upload />-->
<!--            </el-icon>-->
<!--          </el-button>-->
<!--          <el-button>-->
<!--            <el-icon>-->
<!--              <Download />-->
<!--            </el-icon>-->
<!--          </el-button>-->
<!--          <el-button>-->
<!--            <el-icon>-->
<!--              <Refresh />-->
<!--            </el-icon>-->
<!--          </el-button>-->
        </div>
      </div>
      <el-table
@@ -109,9 +109,9 @@
import {
  Plus,
  Delete,
  Upload,
  Download,
  Refresh,
  // Upload,
  // Download,
  // Refresh,
  View,
  VideoPlay,
  EditPen,
@@ -120,7 +120,7 @@
import OpenAdd from '/@/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue';
// import FlowChart from '/@/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/flowChart.vue';
import UpData from '/@/views/contingencyManagement/panManagement/component/upData.vue';
import { releaseDrillPlanApi } from '/@/api/releaseDrillPlan';
import { releaseDrillPlanApi } from '/@/api/emergencyDrillPlan';
export default defineComponent({
  name: 'systemUser',
@@ -130,9 +130,9 @@
    Plus,
    View,
    Delete,
    Upload,
    Download,
    Refresh,
    // Upload,
    // Download,
    // Refresh,
    VideoPlay,
    UpData,
    // FlowChart,
@@ -143,6 +143,7 @@
      pageIndex: 1,
      pageSize: 10,
      searchParams: {
        drillName: ''
      },
    });
    // 定义表格数据
@@ -167,10 +168,10 @@
      listApi();
    });
    // 上传
    const upShow=ref()
    const upButton=()=>{
      upShow.value.openDialog()
    }
    // const upShow=ref()
    // const upButton=()=>{
    //   upShow.value.openDialog()
    // }
    // 打开新增弹窗
    const addRef = ref();
@@ -301,8 +302,8 @@
      })
    }
    return {
      upButton,
      upShow,
      // upButton,
      // upShow,
      tableData,
      // onflowChart,
      // flowRef,
@@ -343,6 +344,15 @@
  flex-direction: row;
  justify-content: space-between;
}
//表头
::v-deep .el-table th.el-table__cell {
  background-color: #f6f7fa;
  font-weight: 400;
  color: #909399;
}
.el-table .sort-caret.ascending{
  border-bottom-color: #c0c4cc;
}
//分页
.pages{
  display: flex;
src/views/contingencyManagement/emergencyPlanStartRecord/component/openSee.vue
@@ -17,14 +17,15 @@
      >
        <el-row :gutter="35">
          <el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
            <el-form-item label="应急预案" prop="teamName">
            <el-form-item label="应急预案" prop="planId" >
              <el-input
                  v-model="ruleForm.planId"
                  placeholder="请选择"
                  class="input-with-select"
                  disabled
              >
                <template #append>
                  <el-button :icon="Search" @click="openUser"/>
                  <el-button :icon="Search" disabled @click="openUser"/>
                </template>
              </el-input>
            </el-form-item>
@@ -49,7 +50,7 @@
                </span>
      </template>
    </el-dialog>
    <userSelections ref="userRef"/>
    <DailogSearchUser ref="userRef" @SearchUser="onUser"/>
    <AddEmergencyPersonnel ref="addRef" />
    <EditEmergencyPersonnel ref="editRef" />
  </div>
@@ -68,7 +69,7 @@
  Search,
  FullScreen
} from '@element-plus/icons-vue'
import UserSelections from "/@/components/userSelections/index.vue"
import DailogSearchUser from "/@/components/DailogSearchUser/index.vue"
import AddEmergencyPersonnel from "/@/views/contingencyManagement/contingency/component/addEmergencyPersonnel.vue";
import EditEmergencyPersonnel from "/@/views/contingencyManagement/contingency/component/editEmergencyPersonnel.vue";
import {emergencyPlanLogApi} from "/@/api/emergencyPlanLog";
@@ -76,7 +77,7 @@
export default defineComponent({
  name: 'openEdit',
  components: {
    UserSelections,
    DailogSearchUser,
    AddEmergencyPersonnel,
    EditEmergencyPersonnel
  },
@@ -85,7 +86,7 @@
    const ruleFormRef = ref<FormInstance>();
    const ruleForm= ref({
      planId: '应急预案', //应急预案人员
      planId: '', //应急预案人员
      remark: '', // 备注
    })
    const titles = ref();
@@ -94,7 +95,10 @@
    // 打开用户选择弹窗
    const userRef = ref();
    const openUser = () => {
      userRef.value.openDialog();
      userRef.value.openDailog();
    };
    const onUser = (e:any) => {
      ruleForm.value.planId=e.id
    };
    // 打开弹窗
    const openDialog = (title: string, id: number, type: boolean) => {
@@ -144,7 +148,7 @@
        });
        formEl.resetFields();
        ruleForm.value = {
          planId: '应急预案', //应急预案人员
          planId: '', //应急预案人员
          remark: '', // 备注
        };
      }
@@ -179,6 +183,7 @@
      submitForm,
      resetForm,
      isShowDialog,
      onUser,
    };
  },
});
src/views/contingencyManagement/emergencyPlanStartRecord/component/selectEmergencyPlan.vue
@@ -1,202 +1,254 @@
<template>
  <el-dialog
      v-model="dialogVisible"
      title="选择应急预案"
      width="900px"
      draggable
      :fullscreen="full"
  >
    <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
    <el-row>
      <el-col :span="18">
        <el-row>
          <el-col :span="24">
            <el-form ref="ruleFormRef" :model="ruleForm" :inline="true" status-icon>
              <el-form-item>
                <el-input size="default" v-model="ruleForm.pass" placeholder="预案名称"  style="max-width: 215px;"/>
              </el-form-item>
              <el-form-item>
                <el-input size="default" v-model="ruleForm.checkPass" placeholder="预案类型"  style="max-width: 215px;padding: 0 12px;"/>
              </el-form-item>
              <el-form-item>
                <el-button size="default" type="primary" @click="submitForm(ruleFormRef)">查询</el-button>
                <el-button size="default" @click="resetForm(ruleFormRef)">重置</el-button>
              </el-form-item>
            </el-form>
          </el-col>
          <el-col :span="24">
            <el-button size="default" :icon="Delete" style="margin-top: 15px;">清除选择</el-button>
          </el-col>
        </el-row>
        <el-table :data="tableData" style="width: 100%;margin-top:20px">
          <el-table-column width="55">
            <template #default="scope">
              <el-radio-group v-model="radio1" @change="radio">
                <el-radio :label="scope.row.pass" size="large">{{null}}</el-radio>
              </el-radio-group>
            </template>
          </el-table-column>
          <el-table-column align="center" prop="pass" label="预案名称" />
          <el-table-column align="center" prop="checkPass" label="预案类型"/>
        </el-table>
        <div class="pages">
          <el-pagination
              v-model:currentPage="currentPage4"
              v-model:page-size="pageSize4"
              :page-sizes="[100, 200, 300, 400]"
              :small="small"
              :disabled="disabled"
              :background="background"
              layout="total, sizes, prev, pager, next, jumper"
              :total="400"
              @size-change="handleSizeChange"
              @current-change="handleCurrentChange"
          />
        </div>
      </el-col>
      <el-col :span="6">
        <el-tag
            v-for="tag in dynamicTags"
            :key="tag"
            class="mx-1"
            style="margin: 5px"
            closable
            :disable-transitions="false"
            @close="handleClose(tag)"
    <el-dialog v-model="dialogVisible" title="选择应急预案" width="900px" draggable :fullscreen="full">
        <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
        <el-row>
            <el-col :span="18">
                <el-row>
                    <el-col :span="24">
                        <el-form ref="ruleFormRef" :inline="true" :model="ruleForm" status-icon>
                            <el-form-item>
                                <el-input size="default" v-model="listQuery.searchParams.name" placeholder="预案名称" style="max-width: 215px" />
                            </el-form-item>
                            <el-form-item>
                <el-select size="default" v-model="listQuery.searchParams.type" placeholder="请选择预案类型" class="ml10" style="max-width: 215px;margin-right: 12px;">
                  <el-option label="综合应急预案" value="admin"></el-option>
                  <el-option label="现场处置方案" value="common"></el-option>
                  <el-option label="专项应急预案" value="common"></el-option>
                  <el-option label="其他预案" value="common"></el-option>
                </el-select>
                            </el-form-item>
                            <el-form-item>
                                <el-button size="default" type="primary" @click="onSubmit">查询</el-button>
                                <el-button size="default" @click="submitReset">重置</el-button>
                            </el-form-item>
                        </el-form>
                    </el-col>
                    <el-col :span="24">
                        <el-button size="default" :icon="Delete" style="margin-top: 15px">清除选择</el-button>
                    </el-col>
                </el-row>
                <el-table
            :data="tableData"
            style="width: 100%;
             margin-top: 20px"
            @cell-click="radio"
        >
          {{ tag }}
        </el-tag>
      </el-col>
    </el-row>
    <template #footer>
                    <el-table-column width="55">
                        <template #default="scope">
                            <el-radio-group v-model="radio1">
                                <el-radio :label="scope.row" size="large">{{ null }}</el-radio>
                            </el-radio-group>
                        </template>
                    </el-table-column>
                    <el-table-column align="center" prop="name" label="预案名称" />
                    <el-table-column align="center" prop="type" label="预案类型" />
                </el-table>
                <div class="pages">
                    <el-pagination
                        v-model:currentPage="pageIndex"
                        v-model:page-size="pageSize"
                        :page-sizes="[10, 20, 30]"
                        layout="total, sizes, prev, pager, next, jumper"
                        :total="total"
                        @size-change="onHandleSizeChange"
                        @current-change="onHandleCurrentChange"
                    />
                </div>
            </el-col>
            <el-col :span="6">
                <div v-if="dynamicTags[0] == '' ? false : true">
                    <el-tag
                        v-for="tag in dynamicTags"
                        :key="tag"
                        class="mx-1"
                        style="margin: 5px"
                        closable
                        :disable-transitions="false"
                        @close="handleClose(tag)"
                    >
                        {{ tag.name }}
                    </el-tag>
                </div>
            </el-col>
        </el-row>
        <template #footer>
            <span class="dialog-footer">
                <el-button @click="dialogVisible = false" size="default">关闭</el-button>
                <el-button type="primary" @click="dialogVisible = false" size="default">确定</el-button>
                <el-button type="primary" @click="submitForm" size="default">确定</el-button>
            </span>
    </template>
  </el-dialog>
        </template>
    </el-dialog>
</template>
<script lang="ts">
import {
  defineComponent,
  reactive,
  ref
} from 'vue';
import {
  Delete,
  FullScreen
} from '@element-plus/icons-vue';
import { defineComponent, reactive, ref, onMounted } from 'vue';
import { ElMessage } from 'element-plus';
import { Delete, FullScreen } from '@element-plus/icons-vue';
import { emergencyPlanLogApi } from '/@/api/emergencyPlanLog';
import { emergencyPlanApi } from '/@/api/emergencyPlan';
export default defineComponent({
  setup() {
    const dialogVisible = ref<boolean>(false);
    const openDailog = () => {
      dialogVisible.value = true;
    };
    // 搜索条件
    const ruleForm = reactive({
      pass: '',
      checkPass: '',
    setup(props, { emit }) {
        const dialogVisible = ref<boolean>(false);
        const openDailog = () => {
            dialogVisible.value = true;
      listApi()
        };
        // 搜索条件
        const listQuery = reactive({
            pageIndex: 1,
            pageSize: 10,
            searchParams: {
        name: '',
        type: '',
            },
        });
    // 列表参数
    const listQuery2 = reactive({
      pageIndex: 1,
      pageSize: 10,
      searchParams: {
        planId: '',
      },
    });
    // 表格
    const tableData = [
      {
        pass: '生产安全事故应急预案202102',
        checkPass: '1',
      },
      {
        pass: '生产安全事故应急预案',
        checkPass: '2',
      },
      {
        pass: '作业人员触电事故现场处置方案',
        checkPass: '4',
      },
      {
        pass: '船舶碰撞码头事故专项应急预案',
        checkPass: '2',
      },
    ];
    const pageSize4 = ref(100);
    const handleSizeChange = (val: number) => {
      console.log(`${val} items per page`);
        // 定义表格数据
        const tableData = ref([]);
        // 请求列表数据
        const onSubmit = async () => {
            let res = await emergencyPlanLogApi().getEmergencyPlanLogList(listQuery2);
            if (res.data.code == 200) {
                tableData.value = res.data.data;
                pageIndex.value = res.data.pageIndex;
                pageSize.value = res.data.pageSize;
                total.value = res.data.total;
            } else {
                ElMessage.error(res.data.msg);
            }
        };
    // 重置
    const submitReset = () => {
      listQuery.searchParams.name = '';
      listQuery.searchParams.type = '';
      onSubmit();
    };
    const handleCurrentChange = (val: number) => {
      console.log(`current page: ${val}`);
    };
    // 右方点击添加后显示标签
    const dynamicTags = ref(['船舶碰撞码头事故专项应急预案']);
    const handleClose = (tag: string) => {
      dynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1);
      radio1.value=""
    };
    const radio1=ref('生产安全事故应急预案202102')
    const radio=(event:any)=>{
      dynamicTags.value[0]=event
    }
    //全屏
    const full = ref(false);
    const toggleFullscreen = () => {
      if (full.value == false) {
        full.value = true;
      } else {
        full.value = false;
      }
    };
    return {
      dialogVisible,
      openDailog,
      ruleForm,
      tableData,
      pageSize4,
      handleSizeChange,
      handleCurrentChange,
      dynamicTags,
      handleClose,
      Delete,
      radio1,
      radio,
      toggleFullscreen,
      FullScreen,
      full,
    };
  },
    // 列表请求数据
        const listApi = async () => {
            let res = await emergencyPlanApi().getEmergencyPlanList(listQuery);
            if (res.data.code === '200') {
                tableData.value = res.data.data;
                pageIndex.value = res.data.pageIndex;
                pageSize.value = res.data.pageSize;
                total.value = res.data.total;
            } else {
                ElMessage({
                    showClose: true,
                    type: 'error',
                    message: res.data.msg,
                });
            }
        };
        // 分页
        const pageIndex = ref();
        const pageSize = ref();
        const total = ref();
        // 分页改变
        const onHandleSizeChange = (val: number) => {
      listQuery.pageSize = val;
        };
        // 分页未改变
        const onHandleCurrentChange = (val: number) => {
      listQuery.pageIndex = val;
        };
        // 右方点击添加后显示标签
        const dynamicTags = ref(['']);
        const handleClose = (tag: string) => {
            dynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1);
            radio1.value = '';
        };
        const radio1 = ref('');
        const radio = (event: any) => {
      dynamicTags.value[0] = event;
        };
        //全屏
        const full = ref(false);
        const toggleFullscreen = () => {
            if (full.value == false) {
                full.value = true;
            } else {
                full.value = false;
            }
        };
        const submitForm = () => {
            let obj = JSON.parse(JSON.stringify(dynamicTags.value));
            emit('SearchUser', obj[0]);
            dialogVisible.value = false;
        };
        onMounted(() => {
            onSubmit();
        });
        return {
            dialogVisible,
            openDailog,
            tableData,
            pageSize,
            pageIndex,
      onHandleSizeChange,
      onHandleCurrentChange,
            dynamicTags,
            handleClose,
            Delete,
            radio1,
            radio,
            toggleFullscreen,
            FullScreen,
            full,
            submitReset,
            onMounted,
            listQuery,
            onSubmit,
            submitForm,
            listApi,
      listQuery2,
      total,
        };
    },
});
</script>
<style scoped>
.el-form--inline .el-form-item{
  margin-bottom: 0;
  margin-right: 0;
.el-form--inline .el-form-item {
    margin-bottom: 0;
    margin-right: 0;
}
/*分页*/
.pages{
  margin-top: 15px;
.pages {
    margin-top: 15px;
}
::v-deep .el-pagination .el-pager li {
  margin: 0 5px;
  background-color: #f4f4f5;
  color: #606266;
  min-width: 30px;
  border-radius: 2px;
    margin: 0 5px;
    background-color: #f4f4f5;
    color: #606266;
    min-width: 30px;
    border-radius: 2px;
}
::v-deep .el-pagination .el-pager li.is-active {
  background-color: #409eff;
  color: #fff;
    background-color: #409eff;
    color: #fff;
}
::v-deep .el-pagination .btn-prev {
  margin: 0 5px;
  background-color: #f4f4f5;
  color: #606266;
  min-width: 30px;
  border-radius: 2px;
    margin: 0 5px;
    background-color: #f4f4f5;
    color: #606266;
    min-width: 30px;
    border-radius: 2px;
}
::v-deep .el-pagination button:disabled{
  color: #c0c4cc;
::v-deep .el-pagination button:disabled {
    color: #c0c4cc;
}
::v-deep .el-pagination .btn-next{
  margin: 0 5px;
  background-color: #f4f4f5;
  color: #606266;
  min-width: 30px;
  border-radius: 2px;
::v-deep .el-pagination .btn-next {
    margin: 0 5px;
    background-color: #f4f4f5;
    color: #606266;
    min-width: 30px;
    border-radius: 2px;
}
</style>
src/views/contingencyManagement/emergencyPlanStartRecord/index.vue
@@ -72,11 +72,11 @@
                <View />
              </el-icon>查看
            </el-button>
            <el-button size="small" text type="primary" @click="onEdit('修改',scope.row.id)">
              <el-icon style="margin-right: 5px;">
                <EditPen />
              </el-icon>修改
            </el-button>
<!--            <el-button size="small" text type="primary" @click="onEdit('修改',scope.row.id)">-->
<!--              <el-icon style="margin-right: 5px;">-->
<!--                <EditPen />-->
<!--              </el-icon>修改-->
<!--            </el-button>-->
            <el-button size="small" text type="primary" @click="onRowDel(scope.row.id)">
              <el-icon>
                <Delete />
@@ -99,7 +99,7 @@
        />
      </div>
    </el-card>
    <SelectEmergencyPlan ref="showRef"/>
    <SelectEmergencyPlan ref="showRef" @SearchUser="onUser"/>
    <OpenSee ref="editRef" @myAdd="onMyAdd" />
  </div>
</template>
@@ -216,6 +216,9 @@
    const daiInpt=()=>{
      showRef.value.openDailog()
    }
    const onUser = (e:any) => {
      listQuery.searchParams.planId=e.id
    };
    // 删除用户
    const onRowDel = (data: any) => {
      ElMessageBox.confirm('确定删除所选项吗?', '提示',{
@@ -321,6 +324,8 @@
      deleteAll,
      warning,
      danger,
      total,
      onUser,
      handleSelectionChange,
    };
  },
src/views/contingencyManagement/emergencyResources/emergencyMaterialsInspection/index.vue
@@ -104,7 +104,7 @@
        />
      </div>
    </el-card>
    <EmergencySupplies ref="showRef"/>
    <EmergencySupplies ref="showRef" @SearchUser="onUser"/>
    <upData ref="upShow"></upData>
    <OpenAdd ref="addRef" @myAdd="onMyAdd" />
  </div>
@@ -297,7 +297,9 @@
    const daiInpt=()=>{
      showRef.value.openDailog()
    }
    const onUser = (e:any) => {
      listQuery.searchParams.suppliesId=e.id
    };
    // 分页
    const pageIndex = ref();
    const pageSize = ref();
@@ -342,6 +344,7 @@
      warning,
      danger,
      total,
      onUser,
    };
  },
});
src/views/contingencyManagement/emergencyResources/emergencySupplies/component/openAdd.vue
@@ -120,7 +120,7 @@
                    </el-col>
                    <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
                        <el-form-item label="使用说明">
                            <el-input v-model="ruleForm.useExplain" placeholder="请填写使用说明"></el-input>
                            <el-input v-model="ruleForm.useExplain" type="textarea" placeholder="请填写使用说明"></el-input>
                        </el-form-item>
                    </el-col>
                    <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
@@ -580,6 +580,28 @@
        const openUser = () => {
            userRef.value.openDialog();
        };
    const dataList = [
      {
        maintainResult: '',
        suppliesId: 'Tom',
        maintainTime: '2016-05-02',
      },
      {
        maintainResult: '',
        suppliesId: 'Tom',
        maintainTime: '2016-05-02',
      },
      {
        maintainResult: '',
        suppliesId: 'Tom',
        maintainTime: '2016-05-02',
      },
      {
        maintainResult: '',
        suppliesId: 'Tom',
        maintainTime: '2016-05-02',
      },
    ]
        //全屏
        const full = ref(false);
        const toggleFullscreen = () => {
@@ -615,6 +637,7 @@
      titles,
      disabled,
      emit,
      dataList,
        };
    },
});
src/views/contingencyManagement/emergencyResources/emergencySupplies/component/openEdit.vue
@@ -1,267 +1,350 @@
<template>
  <div class="system-edit-user-container">
    <el-dialog
        title="查看应急物资代码"
        :title="titles"
        v-model="isShowDialog"
        width="769px"
        width="50%"
        draggable
        :fullscreen="full"
    >
      <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
      <el-form
          ref="ruleFormRef"
          :rules="rules"
          :model="ruleForm"
          size="default"
          label-width="120px"
          :disabled="disabled"
      >
        <el-row :gutter="35">
          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
            <el-form-item label="物资名称" prop="name">
              <el-input v-model="ruleForm.name"></el-input>
              <el-input v-model="ruleForm.name" 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="number">
              <el-input v-model="ruleForm.number"></el-input>
              <el-input v-model="ruleForm.number" 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="purpose">
              <el-input v-model="ruleForm.purpose"></el-input>
            <el-form-item label="物资用途" prop="use">
              <el-input v-model="ruleForm.use" 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="area">
              <el-input v-model="ruleForm.area"></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="model">
              <el-input v-model="ruleForm.model"></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="department">
              <el-tree-select v-model="ruleForm.department" :data="data" class="w100"/>
            </el-form-item>
          </el-col>
          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
            <el-form-item label="物资分类" prop="classification">
              <el-select v-model="ruleForm.classification" class="w100">
                <el-option label="事故气体吸收装置" value="0"></el-option>
                <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-option label="其它" value="5"></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="storageLocation">
              <el-input v-model="ruleForm.storageLocation"></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="storageQuantity">
              <el-input v-model="ruleForm.storageQuantity"></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="生产日期">
              <el-date-picker v-model="datetime" 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="teamName">
              <el-input v-model="ruleForm.teamName"></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="teamLevel">
              <el-select v-model="ruleForm.teamLevel" class="w100">
                <el-option label="完好" value="0"></el-option>
                <el-option label="维修" value="1"></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="teamName">
              <el-input v-model="ruleForm.teamName"></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="投用日期">
              <el-date-picker v-model="datetime" type="datetime" placeholder="选择日期时间" style="width: 100%" />
            </el-form-item>
          </el-col>
          <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
            <el-form-item label="使用说明">
              <el-input
                  class="textarea"
                  v-model="ruleForm.describe"
                  type="textarea"
                  maxlength="150"
                  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="检查日期">
              <el-date-picker v-model="datetime" 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="下次检查日期">
              <el-date-picker v-model="datetime" 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="teamLeader">
              <el-input
                  v-model="ruleForm.teamLeader"
                  placeholder="请选择"
                  class="input-with-select"
              >
            <el-form-item label="所属区域">
              <el-input v-model="ruleForm.areaId" placeholder="请选择" class="input-with-select">
                <template #append>
                  <el-button :icon="Search" @click="openUser"/>
                  <el-button :icon="Search" @click="regionsDialog" />
                </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="model">
              <el-input v-model="ruleForm.model" 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="departmentId">
              <el-tree-select v-model="ruleForm.departmentId" :data="data" 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="classification">
              <el-select v-model="ruleForm.classification" class="w100" placeholder="请选择">
                <el-option label="事故气体吸收装置" value="事故气体吸收装置"></el-option>
                <el-option label="通讯设施" value="通讯设施"></el-option>
                <el-option label="交通运输工具" value="交通运输工具"></el-option>
                <el-option label="照明装置" value="照明装置"></el-option>
                <el-option label="防护器材" value="防护器材"></el-option>
                <el-option label="其它" value="其它"></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="place">
              <el-input v-model="ruleForm.place" 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="count">
              <el-input v-model.number="ruleForm.count" maxlength="6" 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="productionDate">
              <el-date-picker
                  v-model="ruleForm.productionDate"
                  type="datetime"
                  class="w100"
                  placeholder="选择日期时间"
                  value-format="YYYY-MM-DD HH:mm:ss"
              />
            </el-form-item>
          </el-col>
          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
            <el-form-item label="使用期限(天)" prop="usePeriod">
              <el-input v-model.number="ruleForm.usePeriod" maxlength="6" 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="status">
              <el-select v-model="ruleForm.status" class="w100" placeholder="请选择">
                <el-option label="完好" value="完好"></el-option>
                <el-option label="维修" value="维修"></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="inspectPeiod">
              <el-input
                  v-model.number="ruleForm.inspectPeiod"
                  type=""
                  maxlength="4"
                  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="useDate">
              <el-date-picker
                  v-model="ruleForm.useDate"
                  type="datetime"
                  class="w100"
                  placeholder="选择日期时间"
                  value-format="YYYY-MM-DD HH:mm:ss"
              />
            </el-form-item>
          </el-col>
          <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
            <el-form-item label="使用说明">
              <el-input v-model="ruleForm.useExplain" 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="inspectDate">
              <el-date-picker
                  v-model="ruleForm.inspectDate"
                  type="datetime"
                  class="w100"
                  placeholder="选择日期时间"
                  value-format="YYYY-MM-DD HH:mm:ss"
              />
            </el-form-item>
          </el-col>
          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
            <el-form-item label="下次检查日期" prop="nextInspectDate">
              <el-date-picker
                  v-model="ruleForm.nextInspectDate"
                  type="datetime"
                  value-format="YYYY-MM-DD HH:mm:ss"
                  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="经度(度)">-->
          <!--                            <el-input v-model="ruleForm.longitude" 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="纬度(度)">-->
          <!--                            <el-input v-model="ruleForm.latitude" 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="负责人">
              <el-input v-model="ruleForm.principalUserUid" placeholder="请选择" class="input-with-select">
                <template #append>
                  <el-button :icon="Search" @click="daiInpt" />
                </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="保养记录">-->
<!--              <el-table-->
<!--                  :data="dataList"-->
<!--                  style="width: 100%"-->
<!--                  highlight-current-row>-->
<!--                <el-table-column label="保养结果" prop="maintainResult" width="170">-->
<!--                  <template slot-scope="scope">-->
<!--                    <el-select size="mini">-->
<!--                      <el-option value="is_hot_tag" label="热门标签"></el-option>-->
<!--                      <el-option value="is_latest_track_tag" label="最新赛道"></el-option>-->
<!--                      <el-option value="is_new_subhangye_tag" label="新体系子行业"></el-option>-->
<!--                    </el-select>-->
<!--                  </template>-->
<!--                </el-table-column>-->
<!--                <el-table-column label="创建人" prop="suppliesId" width="170"></el-table-column>-->
<!--                <el-table-column label="创建时间" prop="maintainTime" width="170"></el-table-column>-->
<!--              </el-table>-->
<!--            </el-form-item>-->
<!--          </el-col>-->
        </el-row>
      </el-form>
      <template #footer>
                <span class="dialog-footer">
                    <el-button @click="onCancel" size="default">关闭</el-button>
          <el-button size="default" type="primary" @click="submitForm(ruleFormRef)">确定</el-button>
                    <el-button @click="resetForm(ruleFormRef)" size="default">关闭</el-button>
                    <el-button size="default" type="primary" v-if="disabled == true ? false : true" @click="submitForm(titles, ruleFormRef)">确定</el-button>
                </span>
      </template>
    </el-dialog>
    <userSelections ref="userRef"/>
    <AddEmergencyPersonnel ref="addRef" />
    <PersonInCharge ref="Shows" />
    <userSelections ref="userRef" />
    <RegionsCheckbox ref="openRef" />
  </div>
</template>
<script lang="ts">
import {
  reactive,
  toRefs,
  ref,
  onMounted,
  defineComponent
} from 'vue';
import type {
  UploadUserFile,
  FormInstance,
  FormRules,
} from 'element-plus'
import {
  Search
} from '@element-plus/icons-vue'
import userSelections from "/@/components/userSelections/index.vue"
import AddEmergencyPersonnel from "/@/views/contingencyManagement/contingency/component/addEmergencyPersonnel.vue";
// 定义接口来定义对象的类型
interface DeptData {
  deptName: string;
  createTime: string;
  status: boolean;
  sort: number | string;
  describe: string;
  id: number;
  children?: DeptData[];
}
// 定义接口来定义对象的类型
interface RuleFormRow {
  // teamName: string;
  // teamLevel: string;
  // teamLeader: string;
  // responsibleDepartment: any
  // teamPhone: string;
  // telephone: string;
  // describe: string;
  selectPeople:string
  jobNumber: string;
  personnelName: string;
  personnelGender: string;
  phone: string;
  position: string;
}
interface UserState {
  isShowDialog: boolean;
  ruleForm: RuleFormRow;
  deptData: Array<DeptData>;
}
import { reactive, ref, defineComponent } from 'vue';
import type { FormInstance, FormRules } from 'element-plus';
import { ElMessage } from 'element-plus';
import { Search, FullScreen } from '@element-plus/icons-vue';
import UserSelections from '/@/components/userSelections/index.vue';
import PersonInCharge from '/@/views/contingencyManagement/emergencyResources/emergencySupplies/component/personInCharge.vue';
import RegionsCheckbox from '/@/views/contingencyManagement/emergencyResources/emergencySupplies/component/regionsCheckbox.vue';
import {emergencySuppliesApi} from "/@/api/emergencyResources";
export default defineComponent({
  name: 'openEdit',
  name: 'openAdd',
  components: {
    userSelections,
    AddEmergencyPersonnel,
    PersonInCharge,
    UserSelections,
    RegionsCheckbox,
  },
  setup() {
    const state = reactive<UserState>({
      isShowDialog: false,
      ruleForm: {
        selectPeople:'111', //选择人员
        jobNumber: '', // 人员工号
        phone: '', // 手机号码
        personnelGender: '', //人员性别
        position: '', //职位
        personnelName: '', // 人员名称
      },
      deptData: [], // 部门数据
    });
  setup(props, { emit }) {
    const isShowDialog = ref(false);
    // 关闭弹窗
    const closeDialog = () => {
      state.isShowDialog = false;
    const ruleFormRef = ref<FormInstance>();
    //定义表单
    const ruleForm = ref ({
      productionDate: '',
      useDate: '',
      inspectDate: '',
      nextInspectDate: '',
      inspectPeiod: '',
      count: '',
      usePeriod: '',
      departmentId: '',
      principalUserUid: '',
      status: '',
      classification: '',
      name: '',
      number: '',
      model: '',
      longitude: '',
      latitude: '',
      use: '',
      areaId: null,
      place: '',
      useExplain: '',
    });
    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 == '查看应急物资代码' || title == '修改应急物资代码') {
        emergencySuppliesApi()
            .seeEmergencySupplies(id)
            .then((res) => {
              if (res.data.code == 200) {
                ruleForm.value = res.data.data;
              }
            });
      }
    };
    // 取消
    const onCancel = () => {
      closeDialog();
    };
    // 初始化部门数据
    const initTableData = () => {
      state.deptData.push({
        deptName: 'vueNextAdmin',
        createTime: new Date().toLocaleString(),
        status: true,
        sort: Math.random(),
        describe: '顶级部门',
        id: Math.random(),
    //日期选择器
    const value1 = ref('');
    // 可选择树
    const treeSelect = ref();
    const tree = [
      {
        value: '1',
        label: 'Level one 1',
        children: [
          {
            deptName: 'IT外包服务',
            createTime: new Date().toLocaleString(),
            status: true,
            sort: Math.random(),
            describe: '总部',
            id: Math.random(),
          },
          {
            deptName: '资本控股',
            createTime: new Date().toLocaleString(),
            status: true,
            sort: Math.random(),
            describe: '分部',
            id: Math.random(),
            value: '11',
            label: 'Level two 1-1',
            children: [
              {
                value: '111',
                label: 'Level three 1-1-1',
              },
            ],
          },
        ],
      });
    };
    // 页面加载时
    onMounted(() => {
      initTableData();
    });
      },
      {
        value: '2',
        label: 'Level one 2',
        children: [
          {
            value: '21',
            label: 'Level two 2-1',
            children: [
              {
                value: '211',
                label: 'Level three 2-1-1',
              },
            ],
          },
          {
            value: '22',
            label: 'Level two 2-2',
            children: [
              {
                value: '221',
                label: 'Level three 2-2-1',
              },
            ],
          },
        ],
      },
      {
        value: '3',
        label: 'Level one 3',
        children: [
          {
            value: '31',
            label: 'Level two 3-1',
            children: [
              {
                value: '311',
                label: 'Level three 3-1-1',
              },
            ],
          },
          {
            value: '32',
            label: 'Level two 3-2',
            children: [
              {
                value: '321',
                label: 'Level three 3-2-1',
              },
            ],
          },
        ],
      },
    ];
    //定义树形下拉框
    const responsibleDepartment = ref()
    const responsibleDepartment = ref();
    const data = [
      {
        value: '1',
        label: '广汇能源综合物流发展有限责任公司',
        children: [
          {
            value: '1-1',
            value: 11,
            label: '经营班子',
            children: [],
          },
@@ -272,12 +355,12 @@
        label: '生产运行部',
        children: [
          {
            value: '2-1',
            value: '21',
            label: '灌装一班',
            children: []
            children: [],
          },
          {
            value: '2-2',
            value: '22',
            label: '工艺四班',
            children: [],
          },
@@ -288,109 +371,313 @@
        label: '设备部',
        children: [
          {
            value: '3-1',
            value: '31',
            label: '仪表班',
            children: [],
          },
          {
            value: '3-2',
            value: '32',
            label: '机修班',
            children: [],
          },
        ],
      },
    ]
    ];
    // 必填项提示
    const rules = reactive<FormRules>({
      teamName: [
      name: [
        {
          required: true,
          message: '队伍名称不能为空',
          message: '物资名称不能为空',
          trigger: 'change',
        },
      ],
      teamLevel: [
      number: [
        {
          required: true,
          message: '队伍级别不能为空',
          message: '物资编号不能为空',
          trigger: 'change',
        },
      ],
      teamLeader: [
      use: [
        {
          required: true,
          message: '队伍负责人不能为空',
          message: '物资用途不能为空',
          trigger: 'change',
        },
      ],
      responsibleDepartment: [
      model: [
        {
          required: true,
          message: '负责人部门不能为空',
          message: '物资型号不能为空',
          trigger: 'change',
        },
      ],
      teamPhone: [
      departmentId: [
        {
          required: true,
          message: '负责人手机不能为空',
          message: '负责部门不能为空',
          trigger: 'change',
        },
      ],
      telephone: [
      classification: [
        {
          required: true,
          message: '固定电话不能为空',
          message: '物资分类不能为空',
          trigger: 'change',
        },
      ],
    })
      place: [
        {
          required: true,
          message: '存放位置不能为空',
          trigger: 'change',
        },
      ],
      count: [
        {
          required: true,
          message: '存储数量不能为空',
          trigger: 'change',
        },
        { type: 'number', message: '请输入数字类型', trigger: 'change' },
      ],
      productionDate: [
        {
          required: true,
          message: '生产日期不能为空',
          trigger: 'change',
        },
      ],
      usePeriod: [
        {
          required: true,
          message: '使用期限不能为空',
          trigger: 'change',
        },
        { type: 'number', message: '请输入数字类型', trigger: 'change' },
      ],
      status: [
        {
          required: true,
          message: '物资状态不能为空',
          trigger: 'change',
        },
      ],
      inspectPeiod: [
        {
          required: true,
          message: '检查周期月不能为空',
          trigger: 'change',
        },
        { type: 'number', message: '请输入数字类型', trigger: 'change' },
      ],
      useDate: [
        {
          required: true,
          message: '投用日期不能为空',
          trigger: 'change',
        },
      ],
      inspectDate: [
        {
          required: true,
          message: '检查日期不能为空',
          trigger: 'change',
        },
      ],
      nextInspectDate: [
        {
          required: true,
          message: '下次检查日期不能为空',
          trigger: 'change',
        },
      ],
    });
    // 表单提交验证必填项
    const submitForm = async (title: string, formEl: FormInstance | undefined) => {
      if (title == '新建应急物资代码') {
        if (!formEl) return;
        await formEl.validate((valid, fields) => {
          if (valid) {
            isShowDialog.value = false;
            emergencySuppliesApi()
                .addEmergencySupplies(ruleForm.value)
                .then((res) => {
                  if (res.data.code == 200) {
                    ElMessage({
                      showClose: true,
                      message: res.data.msg,
                      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);
          }
        });
      }
      else if (title == '修改应急物资代码') {
        if (!formEl) return;
        await formEl.validate((valid, fields) => {
          if (valid) {
            isShowDialog.value = false;
            emergencySuppliesApi()
                .editEmergencySupplies(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);
          }
        });
        formEl.resetFields();
        ruleForm.value = {
          productionDate: '',
          useDate: '',
          inspectDate: '',
          nextInspectDate: '',
          inspectPeiod: '',
          count: '',
          usePeriod: '',
          departmentId: '',
          principalUserUid: '',
          status: '',
          classification: '',
          name: '',
          number: '',
          model: '',
          longitude: '',
          latitude: '',
          use: '',
          areaId: null,
          place: '',
          useExplain: '',
        }
      }
    }
    const resetForm = (formEl: FormInstance | undefined) => {
      isShowDialog.value = false;
      if (!formEl) return;
      formEl.resetFields();
    };
    // 应急队伍弹窗
    const Shows = ref();
    const daiInpt = () => {
      Shows.value.openDailog();
    };
    // 选择区域弹窗
    const openRef = ref();
    const regionsDialog = () => {
      openRef.value.openDailog();
    };
    // 打开用户选择弹窗
    const userRef = ref();
    const openUser = () => {
      userRef.value.openDialog();
    };
    const ruleFormRef = ref<FormInstance>()
    // 打开弹窗
    const openDialog = (row: RuleFormRow) => {
      state.ruleForm = row;
      state.isShowDialog = true;
    const dataList = [
      {
        maintainResult: '',
        suppliesId: 'Tom',
        maintainTime: '2016-05-02',
      },
      {
        maintainResult: '',
        suppliesId: 'Tom',
        maintainTime: '2016-05-02',
      },
      {
        maintainResult: '',
        suppliesId: 'Tom',
        maintainTime: '2016-05-02',
      },
      {
        maintainResult: '',
        suppliesId: 'Tom',
        maintainTime: '2016-05-02',
      },
    ]
    //全屏
    const full = ref(false);
    const toggleFullscreen = () => {
      if (full.value == false) {
        full.value = true;
      } else {
        full.value = false;
      }
    };
    // 表单提交验证必填项
    const submitForm = async (formEl: FormInstance | undefined) => {
      if (!formEl) return
      await formEl.validate((valid, fields) => {
        if (valid) {
          console.log('submit!')
        } else {
          console.log('error submit!', fields)
        }
      })
    }
    return {
      openDialog,
      closeDialog,
      onCancel,
      isShowDialog,
      responsibleDepartment,
      data,
      submitForm,
      Search,
      rules,
      ruleForm,
      value1,
      treeSelect,
      tree,
      daiInpt,
      Shows,
      ruleFormRef,
      submitForm,
      rules,
      openUser,
      userRef,
      ...toRefs(state),
      regionsDialog,
      openRef,
      toggleFullscreen,
      FullScreen,
      full,
      resetForm,
      titles,
      disabled,
      emit,
      dataList,
    };
  },
});
</script>
<style scoped lang="scss">
.textarea{
  height: 50px!important;
.textarea {
  height: 168px !important;
}
.textarea ::v-deep .el-textarea__inner{
  height: 50px!important;
.textarea ::v-deep .el-textarea__inner {
  height: 168px !important;
}
::v-deep .el-table__cell {
  font-weight: 400;
}
.el-divider--horizontal {
  height: 0;
  margin: 0;
  border-top: transparent;
}
.el-select {
  width: 100%;
}
</style>
src/views/contingencyManagement/emergencyResources/emergencySupplies/index.vue
@@ -79,6 +79,7 @@
        <Maintain ref="seeRef" @myadd="onMaintainAdd"/>
    <Inspect ref="spectRef" @myadd="onInspectAdd"/>
        <OpenAdd ref="addRef" @myAdd="onMyAdd" />
    <OpenEdit ref="editRef" @myAdd="onMyAdds" />
<!--        <upData ref="upShow"></upData>-->
    </div>
</template>
@@ -107,6 +108,7 @@
import OpenAdd from '/@/views/contingencyManagement/emergencyResources/emergencySupplies/component/openAdd.vue';
import Maintain from '/@/views/contingencyManagement/emergencyResources/emergencySupplies/component/maintain.vue';
import Inspect from '/@/views/contingencyManagement/emergencyResources/emergencySupplies/component/inspect.vue';
import OpenEdit from '/@/views/contingencyManagement/emergencyResources/emergencySupplies/component/openEdit.vue';
import UpData from '/@/views/contingencyManagement/panManagement/component/upData.vue';
import {emergencySuppliesApi} from '/@/api/emergencyResources';
@@ -115,8 +117,8 @@
    components: {
        OpenAdd,
        Maintain,
        // OpenEdit,
        View,
    OpenEdit,
        EditPen,
        Plus,
        Edit,
@@ -128,8 +130,6 @@
        UpData,
    },
    setup() {
        // const multipleTableRef = ref<InstanceType<typeof ElTable>>();
        // const multipleSelection = ref<User[]>([]);
        // 列表参数
        const listQuery = reactive({
            pageIndex: 1,
@@ -230,11 +230,20 @@
      }
    };
        // 打开修改用户弹窗
    const editRef = ref();
    const onEdit = (val: string, row: object) => {
      if (val == '详情') {
        addRef.value.openDialog('查看应急物资代码',row,true);
        editRef.value.openDialog('查看应急物资代码',row,true);
      } else {
        addRef.value.openDialog('修改应急物资代码',row,false);
        editRef.value.openDialog('修改应急物资代码',row,false);
      }
    };
    // 新增后刷新
    const onMyAdds = (e: boolean) => {
      if (e) {
        listApi();
      } else {
        listApi();
      }
    };
        // 删除用户
@@ -312,8 +321,6 @@
            listQuery.pageIndex = val;
        };
        return {
            // multipleSelection,
            // multipleTableRef,
            // upButton,
            // upShow,
            tableData,
@@ -333,6 +340,7 @@
            submitReset,
      onMyAdd,
      onEdit,
      editRef,
      onDeleteAll,
      handleSelectionChange,
      warning,
@@ -341,6 +349,7 @@
      onInspect,
      onMaintainAdd,
      onInspectAdd,
      onMyAdds,
        };
    },
});
src/views/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/index.vue
@@ -84,7 +84,7 @@
                />
            </div>
        </el-card>
        <EmergencySupplies ref="showRef" />
        <EmergencySupplies ref="showRef" @SearchUser="onUser"/>
        <OpenSee ref="editRef"/>
        <upData ref="upShow"></upData>
        <OpenAdd ref="addRef"  @myAdd="onMyAdd" />
@@ -278,6 +278,9 @@
        const daiInpt = () => {
            showRef.value.openDailog();
        };
    const onUser = (e:any) => {
      listQuery.searchParams.suppliesId=e.id
    };
        // 分页
    const pageIndex = ref();
    const pageSize = ref();
@@ -321,6 +324,7 @@
      handleSelectionChange,
      onDeleteAll,
      onEdit,
      onUser,
        };
    },
});
src/views/contingencyManagement/panManagement/component/openAdd.vue
@@ -36,27 +36,27 @@
          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
            <el-form-item label="预案类型" prop="type">
              <el-select v-model="ruleForm.type" class="w100" placeholder="请选择">
                <el-option label="综合应急预案" value="admin"></el-option>
                <el-option label="现场处置方案" value="common"></el-option>
                <el-option label="专项应急预案" value="common"></el-option>
                <el-option label="其他预案" value="common"></el-option>
                <el-option label="综合应急预案" value="综合应急预案"></el-option>
                <el-option label="现场处置方案" value="现场处置方案"></el-option>
                <el-option label="专项应急预案" value="专项应急预案"></el-option>
                <el-option label="其他预案" value="其他预案"></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="associatedDanger">
              <el-select v-model="ruleForm.associatedDanger" class="w100" placeholder="请选择">
                <el-option label="是" value="0"></el-option>
                <el-option label="否" value="1"></el-option>
                <el-option :label="true">是</el-option>
                <el-option :label="false">否</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="level">
              <el-select v-model="ruleForm.level" class="w100" placeholder="请选择">
                <el-option label="公司级" value="admin"></el-option>
                <el-option label="分厂级" value="common"></el-option>
                <el-option label="车间级" value="common"></el-option>
                <el-option label="公司级" value="公司级"></el-option>
                <el-option label="分厂级" value="分厂级"></el-option>
                <el-option label="车间级" value="车间级"></el-option>
              </el-select>
            </el-form-item>
          </el-col>
@@ -94,14 +94,14 @@
            </el-form-item>
          </el-col>
          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
            <el-form-item label="应急队伍" prop="emergencyTeam" @click="daiInpt" >
            <el-form-item label="应急队伍" prop="emergencyTeam">
              <el-input
                  v-model="ruleForm.emergencyTeam"
                  placeholder="请选择"
                  class="input-with-select"
              >
                <template #append>
                  <el-button :icon="Search"/>
                  <el-button :icon="Search" @click="daiInpt" />
                </template>
              </el-input>
            </el-form-item>
@@ -235,11 +235,11 @@
        label: 'Level one 1',
        children: [
          {
            value: '1-1',
            value: '11',
            label: 'Level two 1-1',
            children: [
              {
                value: '1-1-1',
                value: '111',
                label: 'Level three 1-1-1',
              },
            ],
@@ -251,21 +251,21 @@
        label: 'Level one 2',
        children: [
          {
            value: '2-1',
            value: '21',
            label: 'Level two 2-1',
            children: [
              {
                value: '2-1-1',
                value: '211',
                label: 'Level three 2-1-1',
              },
            ],
          },
          {
            value: '2-2',
            value: '22',
            label: 'Level two 2-2',
            children: [
              {
                value: '2-2-1',
                value: '221',
                label: 'Level three 2-2-1',
              },
            ],
@@ -277,21 +277,21 @@
        label: 'Level one 3',
        children: [
          {
            value: '3-1',
            value: '31',
            label: 'Level two 3-1',
            children: [
              {
                value: '3-1-1',
                value: '311',
                label: 'Level three 3-1-1',
              },
            ],
          },
          {
            value: '3-2',
            value: '32',
            label: 'Level two 3-2',
            children: [
              {
                value: '3-2-1',
                value: '321',
                label: 'Level three 3-2-1',
              },
            ],
@@ -307,7 +307,7 @@
        label: '广汇能源综合物流发展有限责任公司',
        children: [
          {
            value: '1-1',
            value: '11',
            label: '经营班子',
            children: [],
          },
@@ -318,12 +318,12 @@
        label: '生产运行部',
        children: [
          {
            value: '2-1',
            value: '21',
            label: '灌装一班',
            children: []
          },
          {
            value: '2-2',
            value: '22',
            label: '工艺四班',
            children: [],
          },
@@ -334,12 +334,12 @@
        label: '设备部',
        children: [
          {
            value: '3-1',
            value: '31',
            label: '仪表班',
            children: [],
          },
          {
            value: '3-2',
            value: '32',
            label: '机修班',
            children: [],
          },
src/views/facilityManagement/keyEquipment/index.vue
@@ -4,13 +4,13 @@
            <el-row>
                <el-col :span="4">
                    <el-form-item size="default">
                        <el-input v-model="ruleForm.pass" placeholder="装置/部位名称" />
                        <el-input v-model="ruleForm.searchParams.equipmentTypeId" placeholder="装置/部位名称" />
                    </el-form-item>
                </el-col>
                <el-col :span="4">
                    <el-form-item>
                        <el-button size="default" type="primary" @click="submitForm(ruleFormRef)">查询</el-button>
                        <el-button size="default" @click="resetForm(ruleFormRef)">重置</el-button>
                        <el-button size="default" type="primary" @click="listApi">查询</el-button>
                        <el-button size="default" @click="resetForm">重置</el-button>
                    </el-form-item>
                </el-col>
            </el-row>
@@ -18,16 +18,16 @@
        <el-row>
            <el-col :span="4">
                <div class="tree">
                    <el-input v-model="filterText" style="height: 30px" placeholder="Filter keyword" />
                    <el-tree ref="treeRef" class="filter-tree" :data="data" :props="defaultProps" default-expand-all :filter-node-method="filterNode" />
<!--                    <el-input v-model="filterText" style="height: 30px" placeholder="Filter keyword" />-->
          <el-tree ref="treeRef" :data="data" :props="defaultProps" :filter-node-method="filterNode" />
                </div>
            </el-col>
            <el-col :span="20">
                <div class="btns">
                    <div>
                        <el-button size="default" type="primary" :icon="Plus" @click="openD">新建</el-button>
                        <el-button size="default" type="warning" plain :icon="EditPen">修改</el-button>
                        <el-button size="default" type="danger" :icon="Delete" plain>删除</el-button>
                        <el-button size="default" :disabled="warning" type="warning" plain :icon="EditPen">修改</el-button>
                        <el-button size="default" :disabled="danger" type="danger" :icon="Delete" @click="onDeleteAll" plain>删除</el-button>
                    </div>
                    <div>
                        <!-- <el-button size="default" :icon="Upload" @click="openUp"></el-button>
@@ -42,7 +42,7 @@
                            <template #default>
                                <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick" style="margin: 0 5%">
                                    <el-tab-pane label="设备保养" name="first">
                                        <el-table ref="multipleTableRef" :data="tableData" style="width: 100%">
                                        <el-table ref="multipleTableRef" :data="scope.row.takecareDetailList" style="width: 100%">
                                            <el-table-column property="name" align="center" label="保养情况" sortable />
                                            <el-table-column property="name" align="center" label="保养负责人" sortable />
                                            <el-table-column property="name" align="center" label="保养日期" sortable />
@@ -50,7 +50,7 @@
                                        </el-table>
                                    </el-tab-pane>
                                    <el-tab-pane label="设备检查" name="second"
                                        ><el-table ref="multipleTableRef" :data="tableData" style="width: 100%">
                                        ><el-table ref="multipleTableRef" :data="scope.row.checkDetailList" style="width: 100%">
                                            <el-table-column property="name" align="center" label="检查人" sortable />
                                            <el-table-column property="name" align="center" label="检查日期" sortable />
                                            <el-table-column property="name" align="center" label="检查人部门" sortable />
@@ -58,7 +58,7 @@
                                            <el-table-column property="name" align="center" label="检查状态" sortable /> </el-table
                                    ></el-tab-pane>
                                    <el-tab-pane label="设备检测" name="third">
                                        <el-table ref="multipleTableRef" :data="tableData" style="width: 100%">
                                        <el-table ref="multipleTableRef" :data="scope.row.testDetailList" style="width: 100%">
                                            <el-table-column property="name" align="center" label="检测人" sortable />
                                            <el-table-column property="name" align="center" label="检测日期" sortable />
                                            <el-table-column property="name" align="center" label="检测人单位" sortable />
@@ -68,9 +68,9 @@
                                        </el-table>
                                    </el-tab-pane>
                                    <el-tab-pane label="设备维修" name="fourth">
                                        <el-table ref="multipleTableRef" :data="tableData" style="width: 100%">
                                        <el-table ref="multipleTableRef" :data="scope.row.repaireDetailList" style="width: 100%">
                                            <el-table-column property="name" align="center" label="设施异常项" sortable />
                                            <el-table-column property="name" align="center" label="维修状态" sortable />
                                            <el-table-column property="departmentId" align="center" label="维修状态" sortable />
                                            <el-table-column property="name" align="center" label="维修情况" sortable />
                                            <el-table-column property="name" align="center" label="维修负责人" sortable />
                                            <el-table-column property="name" align="center" label="维修负责人单位" sortable />
@@ -84,17 +84,17 @@
                        <el-table-column label="id" align="center" sortable>
                            <template #default="scope">{{ scope.row.date }}</template>
                        </el-table-column>
                        <el-table-column property="name" align="center" label="类型/类别外键" sortable />
                        <el-table-column property="equipmentTypeId" align="center" label="类型/类别外键" sortable />
                        <el-table-column property="name" align="center" label="装置/部位名称" sortable />
                        <el-table-column property="address" label="所属部门" align="center" sortable show-overflow-tooltip />
                        <el-table-column property="address" label="具体位置" align="center" sortable show-overflow-tooltip />
                        <el-table-column property="address" label="负责人姓名" align="center" sortable show-overflow-tooltip />
                        <el-table-column property="address" label="装置部位分类" align="center" sortable show-overflow-tooltip />
                        <el-table-column property="departmentId" label="所属部门" align="center" sortable show-overflow-tooltip />
                        <el-table-column property="position" label="具体位置" align="center" sortable show-overflow-tooltip />
                        <el-table-column property="leadingPersonName" label="负责人姓名" align="center" sortable show-overflow-tooltip />
            <el-table-column property="connectPersonId" label="装置部位分类" align="center" sortable show-overflow-tooltip />
                        <el-table-column label="操作" align="center" width="250">
                            <template #default>
                                <el-button link type="primary" size="default" :icon="View">查看</el-button>
                                <el-button link type="primary" size="default" :icon="EditPen">修改</el-button>
                                <el-button link type="primary" size="default" :icon="Delete">删除</el-button>
                            <template #default="scope">
                                <el-button link type="primary" size="default" :icon="View" @click="openEdit('查看', scope.row.id)">查看</el-button>
                                <el-button link type="primary" size="default" :icon="EditPen" @click="openEdit('修改', scope.row.id)">修改</el-button>
                                <el-button link type="primary" size="default" :icon="Delete" @click="onDelete(scope.row.id)">删除</el-button>
                            </template>
                        </el-table-column>
                    </el-table>
@@ -102,12 +102,9 @@
                        <el-pagination
                            v-model:currentPage="currentPage4"
                            v-model:page-size="pageSize4"
                            :page-sizes="[100, 200, 300, 400]"
                            :small="small"
                            :disabled="disabled"
                            :background="background"
                            :page-sizes="[10, 20, 30, 40]"
                            layout="total, sizes, prev, pager, next, jumper"
                            :total="400"
                            :total="total"
                            @size-change="handleSizeChange"
                            @current-change="handleCurrentChange"
                        />
@@ -116,15 +113,16 @@
            </el-col>
        </el-row>
        <updata ref="Show"></updata>
        <DailogS ref="ShowD"></DailogS>
        <DailogS ref="ShowD" @myAdd="onMyAdd"></DailogS>
    </div>
</template>
<script lang="ts">
import { defineComponent, ref, reactive, watch } from 'vue';
import { defineComponent, ref, reactive, watch, onMounted } from 'vue';
import updata from '/@/components/updata/updata.vue'
import DailogS from '/@/components/equipmentDailog/DailogS.vue'
import { ElTree, TabsPaneContext } from 'element-plus';
import { EditPen, Plus, Delete, Download, Refresh, Upload } from '@element-plus/icons-vue';
import { ElTree, TabsPaneContext ,ElMessage, ElMessageBox} from 'element-plus';
import { EditPen, Plus, Delete, Download, Refresh, Upload ,View} from '@element-plus/icons-vue';
import {facilityManagementApi} from "/@/api/facilityManagement";
interface Tree {
    id: number;
    label: string;
@@ -134,15 +132,63 @@
    components:{updata,DailogS},
    setup() {
        const ruleForm = reactive({
            pass: '',
            checkPass: '',
      pageSize: 10,
      pageIndex: 1,
      searchParams: {
        equipmentTypeId: '', ////类型/类别外键
        name: '', ////装置/部位名称
        departmentId: '',////所属部门
        position: '', ////具体位置
        leadingPersonName: '', ////负责人姓名
        connectPersonId: '',////装置部位分类
      },
        });
    // 重置
    const resetForm = () => {
      ruleForm.searchParams.equipmentTypeId = '';
      listApi();
    };
    const listApi = () => {
      facilityManagementApi()
          .getkeypointEquipmentInfoAddOrList(ruleForm)
          .then((res) => {
            if (res.data.code == 200) {
              tableData.value = res.data.data;
              currentPage4.value = res.data.pageIndex;
              pageSize4.value = res.data.pageSize;
              total.value = res.data.total;
            } else {
              ElMessage.error(res.data.msg);
            }
          });
    };
    onMounted(() => {
      listApi();
    });
    const onAddorUpdata = () => {
      listApi();
    };
    const tableData = ref();
    const currentPage4 = ref();
    const pageSize4 = ref();
    const total = ref();
    const handleSizeChange = (val: number) => {
      // console.log(`${val} items per page`);
      ruleForm.pageSize = val;
      listApi();
    };
    const handleCurrentChange = (val: number) => {
      // console.log(`current page: ${val}`);
      ruleForm.pageIndex = val;
      listApi();
    };
        const filterText = ref('');
        const treeRef = ref<InstanceType<typeof ElTree>>();
        const defaultProps = {
            children: 'children',
            label: 'label',
            label: 'typeName',
      value: 'id',
        };
        watch(filterText, (val) => {
@@ -151,9 +197,88 @@
        const filterNode = (value: string, data: Tree) => {
            if (!value) return true;
            return data.label.includes(value);
            return data.typeName.includes(value);
        };
    // 删除
    const onDelete = (id: number) => {
      ElMessageBox.confirm('确定删除所选项吗?', 'Warning', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning',
      })
          .then(() => {
            facilityManagementApi()
                .getkeypointEquipmentInfoDetele(id)
                .then((res) => {
                  if (res.data.code == 200) {
                    ElMessage({
                      message: res.data.msg,
                      type: 'success',
                    });
                    listApi();
                  } else {
                    ElMessage.error(res.data.msg);
                  }
                });
          })
          .catch(() => {
            ElMessage({
              type: 'info',
              message: 'Delete canceled',
            });
          });
    };
    // 批量删除
    const warning = ref(true);
    const danger = ref(true);
    const deletAll = ref();
    const handleSelectionChange = (val: any) => {
      let valId = JSON.parse(JSON.stringify(val));
      let arr = [];
      for (let i = 0; i < valId.length; i++) {
        arr.push(valId[i].id);
      }
      deletAll.value = arr.toString();
      if (val.length == 1) {
        // warning.value = false;
        danger.value = false;
      } else if (val.length == 0) {
        // warning.value = true;
        danger.value = true;
      } else {
        // warning.value = true;
        danger.value = false;
      }
    };
    const onDeleteAll = () => {
      ElMessageBox.confirm('确定删除所选项吗?', 'Warning', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning',
      })
          .then(() => {
            facilityManagementApi()
                .getkeypointEquipmentInfoDetele(deletAll.value)
                .then((res) => {
                  if (res.data.code == 200) {
                    ElMessage({
                      message: res.data.msg,
                      type: 'success',
                    });
                    listApi();
                  } else {
                    ElMessage.error(res.data.msg);
                  }
                });
          })
          .catch(() => {
            // ElMessage({
            //     type: 'info',
            //     message: 'Delete canceled',
            // });
          });
    };
        const data: Tree[] = [
            {
                id: 1,
@@ -204,43 +329,6 @@
                ],
            },
        ];
        const tableData = [
            {
                date: '2016-05-03',
                name: 'Tom',
                address: 'No. 189, Grove St, Los Angeles',
            },
            {
                date: '2016-05-02',
                name: 'Tom',
                address: 'No. 189, Grove St, Los Angeles',
            },
            {
                date: '2016-05-04',
                name: 'Tom',
                address: 'No. 189, Grove St, Los Angeles',
            },
            {
                date: '2016-05-01',
                name: 'Tom',
                address: 'No. 189, Grove St, Los Angeles',
            },
            {
                date: '2016-05-08',
                name: 'Tom',
                address: 'No. 189, Grove St, Los Angeles',
            },
            {
                date: '2016-05-06',
                name: 'Tom',
                address: 'No. 189, Grove St, Los Angeles',
            },
            {
                date: '2016-05-07',
                name: 'Tom',
                address: 'No. 189, Grove St, Los Angeles',
            },
        ];
        const activeName = ref('first');
        const handleClick = (tab: TabsPaneContext, event: Event) => {
@@ -250,10 +338,27 @@
        const openUp=()=>{
            Show.value.openDialog()
        }
    // 新增弹窗
        const ShowD=ref()
        const openD=()=>{
         ShowD.value.openDailog(false)
         ShowD.value.openDailog('新建仪器仪表',false)
        }
    // 新增后刷新
    const onMyAdd = (e: boolean) => {
      if (e) {
        listApi();
      } else {
        listApi();
      }
    };
    // 打开修改用户弹窗
    const openEdit = (val: string, row: object) => {
      if (val == '查看') {
        ShowD.value.openDailog('查看仪器仪表',row,true);
      } else {
        ShowD.value.openDailog('修改仪器仪表',row,false);
      }
    };
        return {
            activeName,
            handleClick,
@@ -268,12 +373,27 @@
            openUp,
            ShowD,
            openD,
      openEdit,
            Plus,
            EditPen,
            Delete,
      View,
            Download,
            Refresh,
            Upload,
      resetForm,
      listApi,
      onMyAdd,
      handleCurrentChange,
      handleSizeChange,
      onAddorUpdata,
      total,
      currentPage4,
      pageSize4,
      onDelete,
      warning,
      handleSelectionChange,
      onDeleteAll,
        };
    },
});
src/views/goalManagement/IncentiveRecording/component/DailogSearch.vue
@@ -35,9 +35,9 @@
                    <el-table-column align="center" prop="qname" label="奖惩名称" width="180" />
                    <el-table-column align="center" label="奖惩类型" width="180">
                        <template #default="scope">
                         <span v-if="scope.row.standardType==1">奖励</span>
                         <span v-if="scope.row.standardType==2">惩罚</span>
                         <span></span>
              <span v-if="scope.row.standardType==1">奖励</span>
              <span v-if="scope.row.standardType==2">惩罚</span>
              <span></span>
                        </template>
                    </el-table-column>    
                    <el-table-column align="center" prop="content" label="奖惩内容" />
src/views/goalManagement/targetDecompositionYear/component/DailogAdd.vue
@@ -173,7 +173,7 @@
        const nameC=ref()
        const onUser = (e: any) => {
            form.value.commitPersonId = e.uid;
            nameC.value=e.realName
            nameC.value = e.realName
        };
        return {
            disabled,