13937891274
2022-08-02 1f772a6c7834eef35ff4c9f2c8ed734a4c2be76a
数据对接
已修改8个文件
1527 ■■■■ 文件已修改
src/components/equipmentDailog/DailogS.vue 366 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/contingencyManagement/contingency/component/openAdd.vue 121 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/contingencyManagement/contingency/index.vue 58 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/contingencyManagement/emergencyResources/emergencySupplies/component/openAdd.vue 156 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/component/openAdd.vue 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/contingencyManagement/panManagement/component/openAdd.vue 226 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/facilityManagement/keyEquipment/index.vue 503 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/equipmentDailog/DailogS.vue
@@ -1,6 +1,6 @@
<template>
    <el-dialog :fullscreen="full" v-model="isShowDialog" :title="titles" width="60%">
            <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
    <el-dialog :fullscreen="full" v-model="dialogVisible" draggable :title="titles" width="60%">
        <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
        <el-form :model="form" label-width="130px" :disabled="disabled">
            <el-row>
                <el-col :span="11">
@@ -120,7 +120,7 @@
                <el-col :span="24">
                    <el-form-item label="现场图片">
                        <el-upload
              v-model="form.scenePic"
                            v-model="form.scenePic"
                            class="avatar-uploader"
                            action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"
                            :show-file-list="false"
@@ -141,22 +141,22 @@
        </el-form>
        <el-tabs v-model="activeName" class="demo-tabs">
            <el-tab-pane label="设备保养" name="first">
                <el-button type="primary" size="default" @click="openMaintenance">新增</el-button>
                <el-table :data="tableData" style="width: 100%">
                <el-button type="primary" size="default" @click="openMaintenance('新增', '')">新增</el-button>
                <el-table :data="form.takecareDetailList" style="width: 100%">
                    <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 #default="scope">
                            <el-button link type="primary" @click="openMaintenance('查看', scope.row)" size="small">查看</el-button>
                        </template>
                    </el-table-column>
                </el-table>
            </el-tab-pane>
            <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 :data="form.testDetailList" style="width: 100%">
                    <el-table-column align="center" prop="testPersonId" label="检测人" />
                    <el-table-column align="center" prop="testDate" label="检测日期" />
                    <el-table-column align="center" prop="testPersonDepartmentId" label="检测人单位" />
@@ -165,14 +165,14 @@
                    <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>
                            <el-button link type="primary" @click="openDetect('查看', scope.row)" size="small">查看</el-button>
                        </template>
                    </el-table-column>
                </el-table>
            </el-tab-pane>
            <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 :data="form.repaireDetailList" style="width: 100%">
                    <el-table-column align="center" prop="exceptionInfo" label="设施异常项" />
                    <el-table-column align="center" prop="repairStatus" label="维修状态" />
                    <el-table-column align="center" prop="repairMemo" label="维修情况" />
@@ -181,15 +181,16 @@
                    <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 #default="scope">
                            <el-button link type="primary" @click="openRepair('查看', scope.row)" size="small">查看</el-button>
                        </template>
                    </el-table-column>
                </el-table>
            </el-tab-pane>
            <el-tab-pane label="检查标准设置" name="fourth">checkContent
            <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 :data="form.checkStandardeDetailList" style="width: 100%">
                    <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="检查指标" />
@@ -197,14 +198,14 @@
                    <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 #default="scope">
                            <el-button link type="primary" @click="openStandard('查看', scope.row)" size="small">查看</el-button>
                        </template>
                    </el-table-column>
                </el-table>
            </el-tab-pane>
            <el-tab-pane label="巡检记录" name="five">
                <el-table :data="tableData" style="width: 100%">
                <el-table :data="name" style="width: 100%">
                    <el-table-column align="center" type="selection" width="75" />
                    <el-table-column align="center" sortable prop="name" label="任务编号" />
                    <el-table-column align="center" sortable prop="address" label="任务名称" />
@@ -235,22 +236,22 @@
        </el-tabs>
        <template #footer>
            <span class="dialog-footer">
                <el-button @click="resetForm(ruleFormRef)">关闭</el-button>
                <el-button type="primary" v-if="disabled == true ? false : true" @click="submitForm(titles, ruleFormRef)">确定</el-button>
                <el-button @click="resetForm">关闭</el-button>
                <el-button type="primary" @click="submitForm">确定</el-button>
            </span>
        </template>
    </el-dialog>
    <categoryDailog ref="categoryShow"></categoryDailog>
    <planDailog ref="planShow"></planDailog>
    <DailogSearchUser ref="UserShow"></DailogSearchUser>
    <maintenanceDailog ref="maintenanceShow"></maintenanceDailog>
    <detectDailog ref="detectShow"></detectDailog>
    <repairDailog ref="repairShow"></repairDailog>
    <standardDailog ref="standardShow"></standardDailog>
    <maintenanceDailog ref="maintenanceShow" @onMain="main"></maintenanceDailog>
    <detectDailog ref="detectShow" @onDelect="delect"></detectDailog>
    <repairDailog ref="repairShow" @onRepair="Repair"></repairDailog>
    <standardDailog ref="standardShow" @onStand="Stand"></standardDailog>
</template>
<script lang="ts">
import { defineComponent, ref, reactive } from 'vue';
import { Search,Plus,FullScreen, FormInstance, } from '@element-plus/icons-vue';
import { defineComponent, ref } from 'vue';
import { Search, Plus, FullScreen } from '@element-plus/icons-vue';
import categoryDailog from './categoryDailog.vue';
import planDailog from './planDailog.vue';
import maintenanceDailog from './maintenanceDailog.vue';
@@ -260,101 +261,176 @@
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";
import { facilityManagementApi } from '/@/api/facilityManagement';
export default defineComponent({
    components: { categoryDailog, planDailog, DailogSearchUser, maintenanceDailog, detectDailog, repairDailog, standardDailog },
    setup() {
        const isShowDialog = ref(false);
        const form = reactive({
      equipmentTypeId: '',
      treatment: '',
      inputPersonId: '',
      departmentId: '',
      delRepaireDetailList: [],
      delTestDetailList: [],
      takecareDetailList: [{
        leadingPersonId:'',
        takecareDate:'',
        leadingPersonDepartmentId:'',
        equipmentId: '',
        takecareMemo: '',
      }],
      checkDetailList:[],
      responsibilityPersonId: '',
    setup(props, { emit }) {
        const dialogVisible = ref(false);
        const form = ref({
            equipmentTypeId: '3',
            treatment: '发生的',
            inputPersonId: 0,
            departmentId: 0,
            delRepaireDetailList: [],
            delTestDetailList: [],
            takecareDetailList: [
                {
          leadingPersonDepartmentId: '',
          takecareDate: '',
          equipmentId: '',
          leadingPersonId: '',
          takecareMemo: '',
                },
            ],
      checkDetailList: [],
      responsibilityPersonId: 0,
      delTakecareStardardeDetailList: [],
      connectPersonId:'',
      scenePic:'',
      partType:'',
      toDangerous:'',
      dangerousElement:'',
      connectPersonId: 0,
      scenePic: '',
      partType: 0,
      toDangerous: '份12',
      dangerousElement: '',
      takecareStardardeDetailList: [
        {
          filePath: '',
        }
      ],
      testDetailList:[{
        testMemo:'',
        testPersonDepartmentId:'',
        testPersonId:'',
        testStatus:'',
        testResult:'',
        testDate:'',
      }],
                {
                    filePath: '123',
                },
            ],
      testDetailList: [
                {
          testMemo: '',
          testPersonDepartmentId: 0,
          testStatus: '',
          testPersonId: 0,
          testResult: 0,
          testDate: 1658284314185 ,
                },
            ],
      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: '',
      repaireDetailList: [
                {
          repairStatus: 0,
          repairPersonDepartmentId: 0,
          repairMemo: '',
          infoTpe: 0,
          repairPersonId: 0,
          repairEndDate: 1658284314184,
          repairStartDate: 1658284314184,
          exceptionInfo: '',
                },
            ],
      delCheckStandardeDetailList: [],
      leadingPersonName: '312',
      name: '3123',
            delTakecareDetailList: [],
      position: '312',
      emergencePlanId: 0,
      checkStandardeDetailList: [
                {
          indexNum: '1',
          checkTarget: '3',
          checkPart: '5',
          checkContent: '2',
          unit: '4',
          rate: '6',
                },
            ],
      delCheckStandardeDetails: '1,2',
      delTakecareStardardeDetails: '1,2',
      delTakecareDetails: '1,2',
      delRepaireDetails: '1,2',
      delTestDetails: '1,2',
        });
        const Dailogtype = ref(false);
        const openDailog = (type: boolean) => {
      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 disabled = ref(false);
    const Dailogtype = ref(false);
        const openDailog = (title: string, type: boolean, id: number, num: any) => {
            dialogVisible.value = true;
            Dailogtype.value = type;
      if (num == 0) {
        titles.value = `${title}仪表信息`;
      } else if (num == 1) {
        titles.value = `${title}设备设施`;
      } else if (num == 2) {
        titles.value = `${title}设备设施`;
      }
      disabled.value = title == '查看' ? true : false;
      if (title == '查看' || title == '修改')
        facilityManagementApi()
        .getkeypointEquipmentInfoDetail(id)
        .then((res) => {
          if (res.data.code == 200) {
            form.value = res.data.data;
          } else {
            ElMessage.error(res.data.msg);
          }
        });
        };
    // 提交
    const submitForm = () => {
      dialogVisible.value = false;
      facilityManagementApi()
          .getkeypointEquipmentInfoAddOrUpdate(form.value)
          .then((res) => {
            if (res.data.code == 200) {
              ElMessage({
                message: res.data.msg,
                type: 'success',
              });
              emit('navAddorUpdata');
            } else {
              ElMessage.error(res.data.msg);
            }
          });
      // form.value = null;
    };
    //   取消
    const resetForm = () => {
      dialogVisible.value = false;
    };
        const activeName = ref('first');
    const categoryShow = ref();
    const opencategory = () => {
      categoryShow.value.openDailog();
    };
        const tableData = [
@@ -379,10 +455,7 @@
                address: 'No. 189, Grove St, Los Angeles',
            },
        ];
        const categoryShow = ref();
        const opencategory = () => {
            categoryShow.value.openDailog();
        };
        const planShow = ref();
        const openPlan = () => {
            planShow.value.openDailog();
@@ -392,20 +465,20 @@
            UserShow.value.openDailog();
        };
        const maintenanceShow = ref();
        const openMaintenance = () => {
            maintenanceShow.value.openDailog();
        const openMaintenance = (title: string, data: any) => {
            maintenanceShow.value.openDailog(title, data);
        };
        const detectShow = ref();
        const openDetect = () => {
            detectShow.value.openDailog();
        const openDetect = (title: string, data: any) => {
            detectShow.value.openDailog(title, data);
        };
        const repairShow = ref();
        const openRepair = () => {
            repairShow.value.openDailog();
        const openRepair = (title: string, data: any) => {
            repairShow.value.openDailog(title, data);
        };
        const standardShow = ref();
        const openStandard = () => {
            standardShow.value.openDailog();
        const openStandard = (title: string, data: any) => {
            standardShow.value.openDailog(title, data);
        };
        // 上传
        const fileList = ref<UploadUserFile[]>([
@@ -437,6 +510,20 @@
                () => false
            );
        };
    // 回传
    const main = (val: any) => {
      form.value.takecareDetailList.push(val);
    };
    const delect = (val: any) => {
      form.value.testDetailList.push(val);
    };
    const Repair= (val:any)=>{
      form.value.repaireDetailList.push(val);
    }
    const Stand=(val:any)=>{
      form.value.checkStandardeDetailList.push(val);
    }
        //图片提交
        const imageUrl = ref('');
@@ -454,21 +541,27 @@
            }
            return true;
        };
            //全屏
        //全屏
        const full = ref(false);
        const toggleFullscreen = () => {
            if (full.value == false) {
                full.value = true;
            }else{
        full.value = false;
      }
            } else {
                full.value = false;
            }
        };
        return {
      isShowDialog,
            submitForm,
            dialogVisible,
            Dailogtype,
            form,
            openDailog,
            Search,
      main,
      delect,
      Repair,
      Stand,
            activeName,
            tableData,
            categoryShow,
@@ -489,24 +582,25 @@
            handleRemove,
            handlePreview,
            handleExceed,
      disabled,
      titles,
            beforeRemove,
            imageUrl,
            handleAvatarSuccess,
            beforeAvatarUpload,
            Plus,
                full,
            full,
            toggleFullscreen,
            FullScreen,
      ruleFormRef,
      openDialog,
            resetForm,
        };
    },
});
</script>
<style scoped>
 .el-row{
     padding: 0 0 20px 0;
 }
.el-row {
    padding: 0 0 20px 0;
}
.avatar-uploader .avatar {
    width: 178px;
    height: 178px;
@@ -514,7 +608,7 @@
}
</style>
<style>
    .avatar-uploader .el-upload {
.avatar-uploader .el-upload {
    border: 1px dashed var(--el-border-color);
    border-radius: 6px;
    cursor: pointer;
src/views/contingencyManagement/contingency/component/openAdd.vue
@@ -29,7 +29,7 @@
                    </el-col>
                    <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
                        <el-form-item label="负责人部门" prop="principalDepartmentId">
                            <el-tree-select v-model="ruleForm.principalDepartmentId" :data="data" class="w100" placeholder="请选择" />
                            <el-tree-select v-model="ruleForm.principalDepartmentId" :data="data" class="w100" :props="propse" clearable  placeholder="请选择" />
                        </el-form-item>
                    </el-col>
                    <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
@@ -109,6 +109,7 @@
  reactive,
  ref,
  defineComponent,
  onMounted,
  // toRefs,
} from 'vue';
import {
@@ -130,6 +131,7 @@
import AddEmergencyPersonnel from "/@/views/contingencyManagement/contingency/component/addEmergencyPersonnel.vue";
import DailogSearchUser from "/@/components/DailogSearchUser/index.vue"
import {contingencyApi} from "/@/api/contingency";
import {goalManagementApi} from "/@/api/goalManagement";
// import {releaseDrillPlanApi} from "/@/api/releaseDrillPlan";
@@ -145,7 +147,7 @@
    const ruleForm =ref({
        teamName: '', // 队伍名称
        teamLevel: '', // 队伍级别
        principalUid: 1, // 队伍负责人
        principalUid: '', // 队伍负责人
        principalDepartmentId: '',  //负责人部门
        principalPhone: '', // 负责人手机
        telephoneNumber: '', // 固定电话
@@ -187,53 +189,74 @@
    // 上传附件
    const fileList = ref<UploadUserFile[]>([])
    //部门树
    const department = () => {
      goalManagementApi()
          .getTreedepartment()
          .then((res) => {
            if (res.data.code == 200) {
              data.value = res.data.data;
            } else {
              ElMessage.error(res.data.msg);
            }
          });
    };
    //定义树形下拉框
    const principalDepartmentId = ref()
    const data = [
      {
        value: '1',
        label: '广汇能源综合物流发展有限责任公司',
        children: [
          {
            value: '11',
            label: '经营班子',
            children: [],
          },
        ],
      },
      {
        value: '2',
        label: '生产运行部',
        children: [
          {
            value: '21',
            label: '灌装一班',
            children: []
          },
          {
            value: '22',
            label: '工艺四班',
            children: [],
          },
        ],
      },
      {
        value: '3',
        label: '设备部',
        children: [
          {
            value: '31',
            label: '仪表班',
            children: [],
          },
          {
            value: '32',
            label: '机修班',
            children: [],
          },
        ],
      },
    ]
    const propse = {
      label: 'depName',
      children: 'children',
      value: 'depId',
    };
    const data=ref()
    onMounted(() => {
      department();
    });
    // const data = [
    //   {
    //     value: '1',
    //     label: '广汇能源综合物流发展有限责任公司',
    //     children: [
    //       {
    //         value: '11',
    //         label: '经营班子',
    //         children: [],
    //       },
    //     ],
    //   },
    //   {
    //     value: '2',
    //     label: '生产运行部',
    //     children: [
    //       {
    //         value: '21',
    //         label: '灌装一班',
    //         children: []
    //       },
    //       {
    //         value: '22',
    //         label: '工艺四班',
    //         children: [],
    //       },
    //     ],
    //   },
    //   {
    //     value: '3',
    //     label: '设备部',
    //     children: [
    //       {
    //         value: '31',
    //         label: '仪表班',
    //         children: [],
    //       },
    //       {
    //         value: '32',
    //         label: '机修班',
    //         children: [],
    //       },
    //     ],
    //   },
    // ]
    // 打开用户选择弹窗
    const userRef = ref();
    const openUser = () => {
@@ -371,7 +394,7 @@
        ruleForm.value = {
          teamName: '', // 队伍名称
          teamLevel: '', // 队伍级别
          principalUid: 1, // 队伍负责人
          principalUid: '', // 队伍负责人
          principalDepartmentId: '',  //负责人部门
          principalPhone: '', // 负责人手机
          telephoneNumber: '', // 固定电话
@@ -507,6 +530,7 @@
      userRef,
      titles,
      disabled,
      propse,
      emit,
      onSubmit,
      openUser,
@@ -520,6 +544,7 @@
      // listApi,
      onEdit,
      onRowDel,
      department,
    };
  },
});
src/views/contingencyManagement/contingency/index.vue
@@ -41,23 +41,23 @@
            </el-icon>删除
          </el-button>
        </div>
        <div class="button_Right">
          <el-button size="default" @click="upButton">
            <el-icon>
              <Upload />
            </el-icon>
          </el-button>
          <el-button size="default">
            <el-icon>
              <Download />
            </el-icon>
          </el-button>
          <el-button size="default">
            <el-icon>
              <Refresh />
            </el-icon>
          </el-button>
        </div>
<!--        <div class="button_Right">-->
<!--          <el-button size="default" @click="upButton">-->
<!--            <el-icon>-->
<!--              <Upload />-->
<!--            </el-icon>-->
<!--          </el-button>-->
<!--          <el-button size="default">-->
<!--            <el-icon>-->
<!--              <Download />-->
<!--            </el-icon>-->
<!--          </el-button>-->
<!--          <el-button size="default">-->
<!--            <el-icon>-->
<!--              <Refresh />-->
<!--            </el-icon>-->
<!--          </el-button>-->
<!--        </div>-->
      </div>
      <el-table
          :data="tableData"
@@ -131,9 +131,9 @@
import { Plus,
  Edit,
  Delete,
  Upload,
  Download,
  Refresh,
  // Upload,
  // Download,
  // Refresh,
  View,
  EditPen,
} from '@element-plus/icons-vue'
@@ -153,9 +153,9 @@
    Plus,
    Edit,
    Delete,
    Upload,
    Download,
    Refresh,
    // Upload,
    // Download,
    // Refresh,
    UpData,
    contingencyApi
  },
@@ -217,10 +217,10 @@
    };
    // 上传
    const upShow=ref()
    const upButton=()=>{
      upShow.value.openDialog()
    }
    // const upShow=ref()
    // const upButton=()=>{
    //   upShow.value.openDialog()
    // }
    // 打开新增应急队伍弹窗
    const addRef = ref();
    const onOpenAdd = () => {
@@ -320,8 +320,8 @@
    return {
      listQuery,
      onSubmit,
      upButton,
      upShow,
      // upButton,
      // upShow,
      onOpenAdd,  //新增
      addRef,
      pageIndex,
src/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/openAdd.vue
@@ -30,7 +30,11 @@
            <el-form-item label="主办部门"  placeholder="请选择" prop="departmentId">
              <el-tree-select
                  v-model="ruleForm.departmentId"
                  :data="data" class="w100"
                  :data="data"
                  check-strictly
                  class="w100"
                  :props="propse"
                  clearable
                  placeholder="请选择"/>
            </el-form-item>
          </el-col>
@@ -89,7 +93,11 @@
            <el-form-item label="制定部门" prop="makingDepartmentId">
              <el-tree-select
                  v-model="ruleForm.makingDepartmentId"
                  :data="data" class="w100"
                  check-strictly
                  :data="data"
                  class="w100"
                  :props="propse"
                  clearable
                  placeholder="请选择"/>
            </el-form-item>
          </el-col>
@@ -187,7 +195,8 @@
import {
  // reactive,
  ref,
  defineComponent
  defineComponent,
  onMounted,
} from 'vue';
import type {
@@ -202,6 +211,7 @@
import UserCheckbox from "/@/components/userCheckbox/index.vue"
import RegionsDialog from "/@/views/contingencyManagement/emergencyDrill/releaseOfDrillPlan/component/regionsDialog.vue"
import {releaseDrillPlanApi} from "/@/api/emergencyDrillPlan";
import {goalManagementApi} from "/@/api/goalManagement";
export default defineComponent({
  name: 'openAdd',
@@ -339,54 +349,29 @@
        ],
      },
    ]
    //部门树
    const department = () => {
      goalManagementApi()
          .getTreedepartment()
          .then((res) => {
            if (res.data.code == 200) {
              data.value = res.data.data;
            } else {
              ElMessage.error(res.data.msg);
            }
          });
    };
    //定义树形下拉框
    const responsibleDepartment = ref()
    const data = [
      {
        value: '1',
        label: '广汇能源综合物流发展有限责任公司',
        children: [
          {
            value: '11',
            label: '经营班子',
            children: [],
          },
        ],
      },
      {
        value: '12',
        label: '生产运行部',
        children: [
          {
            value: '21',
            label: '灌装一班',
            children: []
          },
          {
            value: '22',
            label: '工艺四班',
            children: [],
          },
        ],
      },
      {
        value: '3',
        label: '设备部',
        children: [
          {
            value: '31',
            label: '仪表班',
            children: [],
          },
          {
            value: '32',
            label: '机修班',
            children: [],
          },
        ],
      },
    ]
    const data = ref()
    const propse = {
      label: 'depName',
      children: 'children',
      value: 'depId',
    };
    onMounted(() => {
      department();
    });
    // 表单提交验证必填项
    const submitForm = async (title: string, formEl: FormInstance | undefined) => {
      if (title == '新建应急演练计划发布') {
@@ -518,6 +503,8 @@
      fileList,
      responsibleDepartment,
      data,
      department,
      propse,
      Search,
      ruleForm,
      value1,
src/views/contingencyManagement/emergencyResources/emergencySupplies/component/openAdd.vue
@@ -48,7 +48,16 @@
                    </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-tree-select
                  v-model="ruleForm.departmentId"
                  check-strictly
                  :data="data"
                  :props="propse"
                  class="w100"
                  clearable
                  :render-after-expand="false"
                  placeholder="请选择"
              />
                        </el-form-item>
                    </el-col>
                    <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
@@ -180,7 +189,7 @@
</template>
<script lang="ts">
import { reactive, ref, defineComponent } from 'vue';
import { reactive, ref, defineComponent,onMounted, } from 'vue';
import type { FormInstance, FormRules } from 'element-plus';
import { ElMessage } from 'element-plus';
@@ -190,6 +199,7 @@
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";
import {goalManagementApi} from "/@/api/goalManagement";
export default defineComponent({
    name: 'openAdd',
@@ -244,125 +254,29 @@
        };
        //日期选择器
        const value1 = ref('');
        // 可选择树
        const treeSelect = ref();
        const tree = [
            {
                value: '1',
                label: 'Level one 1',
                children: [
                    {
                        value: '11',
                        label: 'Level two 1-1',
                        children: [
                            {
                                value: '111',
                                label: 'Level three 1-1-1',
                            },
                        ],
                    },
                ],
            },
            {
                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 department = () => {
      goalManagementApi()
          .getTreedepartment()
          .then((res) => {
            if (res.data.code == 200) {
              data.value = res.data.data;
            } else {
              ElMessage.error(res.data.msg);
            }
          });
    };
        //定义树形下拉框
        const responsibleDepartment = ref();
        const data = [
            {
                value: '1',
                label: '广汇能源综合物流发展有限责任公司',
                children: [
                    {
                        value: 11,
                        label: '经营班子',
                        children: [],
                    },
                ],
            },
            {
                value: '2',
                label: '生产运行部',
                children: [
                    {
                        value: '21',
                        label: '灌装一班',
                        children: [],
                    },
                    {
                        value: '22',
                        label: '工艺四班',
                        children: [],
                    },
                ],
            },
            {
                value: '3',
                label: '设备部',
                children: [
                    {
                        value: '31',
                        label: '仪表班',
                        children: [],
                    },
                    {
                        value: '32',
                        label: '机修班',
                        children: [],
                    },
                ],
            },
        ];
        const data = ref()
    const propse = {
      label: 'depName',
      children: 'children',
      value: 'depId',
    };
    onMounted(() => {
      department();
    });
        // 必填项提示
        const rules = reactive<FormRules>({
            name: [
@@ -616,11 +530,11 @@
            isShowDialog,
            responsibleDepartment,
            data,
      propse,
      department,
            Search,
            ruleForm,
            value1,
            treeSelect,
            tree,
            daiInpt,
            Shows,
            ruleFormRef,
src/views/contingencyManagement/emergencyResources/maintenanceOfEmergencyMaterials/component/openAdd.vue
@@ -71,7 +71,7 @@
      </template>
    </el-dialog>
    <EmergencySupplies ref="showRef" @SearchUser="onUser"/>
    <userSelections ref="userRef"/>
    <userSelections ref="userRef" @SearchUser="onUsers"/>
  </div>
</template>
@@ -90,9 +90,9 @@
  Search,
  FullScreen
} from '@element-plus/icons-vue'
import EmergencySupplies from '/@/components/emergencySupplies/index.vue'
import UserSelections from "/@/components/userSelections/index.vue"
import {maintenanceEmergencyMaterialsApi} from "/@/api/maintenanceEmergencyMaterials";
import EmergencySupplies from '../../../../../components/emergencySupplies/index.vue'
import UserSelections from "../../../../../components/userSelections/index.vue"
import {maintenanceEmergencyMaterialsApi} from "../../../../../api/maintenanceEmergencyMaterials";
export default defineComponent({
  name: 'openAdd',
@@ -232,6 +232,9 @@
    const openUser = () => {
      userRef.value.openDialog();
    };
    const onUsers = (e:any) => {
      ruleForm.value.userUid=e.id
    };
    //全屏
    const full = ref(false);
    const toggleFullscreen = () => {
@@ -249,6 +252,7 @@
      maintainTime,
      daiInpt,
      onUser,
      onUsers,
      showRef,
      ruleFormRef,
      submitForm,
src/views/contingencyManagement/panManagement/component/openAdd.vue
@@ -3,7 +3,7 @@
    <el-dialog
        :title="titles"
        v-model="isShowDialog"
        width="769px"
        width="40%"
        draggable
        :fullscreen="full"
    >
@@ -25,10 +25,12 @@
            <el-form-item label="适用部门" prop="responsibleDepartment">
              <el-tree-select
              v-model="ruleForm.treeSelect"
              :data="tree"
              :data="data"
              multiple
              :render-after-expand="true"
              :props="propse"
              show-checkbox
              clearable
              />
              <el-divider />
            </el-form-item>
@@ -77,8 +79,12 @@
            <el-form-item label="编写部门" prop="authorDeptId">
              <el-tree-select
                  v-model="ruleForm.authorDeptId"
                  check-strictly
                  :data="data"
                  class="w100"
                  :props="propse"
                  clearable
                  :render-after-expand="false"
                  placeholder="请选择"/>
            </el-form-item>
          </el-col>
@@ -155,7 +161,8 @@
<script lang="ts">
import {
  ref,
  defineComponent
  defineComponent,
  onMounted,
} from 'vue';
import type {
@@ -171,6 +178,7 @@
import CheckTemplate from '/@/components/checkTemplate/index.vue'
import RegionsDialog from '/@/components/regionsDialog/index.vue'
import {emergencyPlanApi} from "/@/api/emergencyPlan";
import {goalManagementApi} from "/@/api/goalManagement";
export default defineComponent({
  name: 'openAdd',
@@ -227,125 +235,101 @@
    const releaseDate = ref('')
    // 上传附件
    const fileList = ref<UploadUserFile[]>([])
    // 可选择树
    //部门树
    const department = () => {
      goalManagementApi()
          .getTreedepartment()
          .then((res) => {
            if (res.data.code == 200) {
              data.value = res.data.data;
            } else {
              ElMessage.error(res.data.msg);
            }
          });
    };
    const treeSelect = ref()
    const tree = [
      {
        value: '1',
        label: 'Level one 1',
        children: [
          {
            value: '11',
            label: 'Level two 1-1',
            children: [
              {
                value: '111',
                label: 'Level three 1-1-1',
              },
            ],
          },
        ],
      },
      {
        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 trees = ref();
    const propse = {
      label: 'depName',
      children: 'children',
      value: 'depId',
    };
    onMounted(() => {
      department();
    });
    // const tree = [
    //   {
    //     value: '1',
    //     label: 'Level one 1',
    //     children: [
    //       {
    //         value: '11',
    //         label: 'Level two 1-1',
    //         children: [
    //           {
    //             value: '111',
    //             label: 'Level three 1-1-1',
    //           },
    //         ],
    //       },
    //     ],
    //   },
    //   {
    //     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 data = [
      {
        value: '1',
        label: '广汇能源综合物流发展有限责任公司',
        children: [
          {
            value: '11',
            label: '经营班子',
            children: [],
          },
        ],
      },
      {
        value: '2',
        label: '生产运行部',
        children: [
          {
            value: '21',
            label: '灌装一班',
            children: []
          },
          {
            value: '22',
            label: '工艺四班',
            children: [],
          },
        ],
      },
      {
        value: '3',
        label: '设备部',
        children: [
          {
            value: '31',
            label: '仪表班',
            children: [],
          },
          {
            value: '32',
            label: '机修班',
            children: [],
          },
        ],
      },
    ]
    const data = ref();
    const submitForm = async (title: string, formEl: FormInstance | undefined) => {
      if (title == '新建应急预案管理') {
@@ -419,7 +403,9 @@
      Search,
      releaseDate,
      treeSelect,
      tree,
      // trees,
      propse,
      department,
      daiInpt,
      Shows,
      submitForm,
src/views/facilityManagement/keyEquipment/index.vue
@@ -4,7 +4,7 @@
            <el-row>
                <el-col :span="4">
                    <el-form-item size="default">
                        <el-input v-model="ruleForm.searchParams.equipmentTypeId" placeholder="装置/部位名称" />
                        <el-input v-model="ruleForm.searchParams.qName" placeholder="装置/部位名称" />
                    </el-form-item>
                </el-col>
                <el-col :span="4">
@@ -17,9 +17,10 @@
        </el-form>
        <el-row>
            <el-col :span="4">
                <el-input v-model="filterText" style="height: 30px" placeholder="请输入关键字" />
                <div class="tree">
<!--                    <el-input v-model="filterText" style="height: 30px" placeholder="Filter keyword" />-->
          <el-tree ref="treeRef" :data="data" :props="defaultProps" :filter-node-method="filterNode" />
                    <!--                    <el-input v-model="filterText" style="height: 30px" placeholder="Filter keyword" />-->
          <el-tree ref="treeRef" :data="data" :props="props" @node-click="handleNodeClick" :filter-node-method="filterNode" />
                </div>
            </el-col>
            <el-col :span="20">
@@ -36,64 +37,61 @@
                    </div>
                </div>
                <div style="padding-left: 10px">
                    <el-table ref="multipleTableRef" :data="tableData" style="width: 100%">
                    <el-table ref="multipleTableRef" :data="tableData" @selection-change="handleSelectionChange" style="width: 100%">
                        <el-table-column type="selection" align="center" width="55" />
                        <el-table-column type="expand">
                            <template #default>
                            <template #default="scope">
                                <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="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 />
                                            <el-table-column property="name" align="center" label="保养负责人单位" sortable />
                                            <el-table-column property="takecareMemo" align="center" label="保养情况" sortable />
                                            <el-table-column property="leadingPersonId" align="center" label="保养负责人" sortable />
                                            <el-table-column property="takecareDate" align="center" label="保养日期" sortable />
                                            <el-table-column property="leadingPersonDepartmentId" align="center" label="保养负责人单位" sortable />
                                        </el-table>
                                    </el-tab-pane>
                                    <el-tab-pane label="设备检查" name="second"
                                        ><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="leadingPersonId" align="center" label="检查人" sortable />
                                            <el-table-column property="createTime" 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="takecareMemo" align="center" label="检查结果" sortable />
                                            <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="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 />
                                            <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 />
                                        <el-table ref="multipleTableRef" :data="scope.row.testDetailList" style="width: 100%">
                                            <el-table-column property="testPersonId" align="center" label="检测人" sortable />
                                            <el-table-column property="testDate" align="center" label="检测日期" sortable />
                                            <el-table-column property="testPersonDepartmentId" align="center" label="检测人单位" sortable />
                                            <el-table-column property="testMemo" align="center" label="检测内容" sortable />
                                            <el-table-column property="testResult" align="center" label="检测结果" sortable />
                                            <el-table-column property="testStatus" align="center" label="检测状态" sortable />
                                        </el-table>
                                    </el-tab-pane>
                                    </el-tab-pane>
                                    <el-tab-pane label="设备维修" name="fourth">
                                        <el-table ref="multipleTableRef" :data="scope.row.repaireDetailList" style="width: 100%">
                                            <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 />
                                            <el-table-column property="name" align="center" label="维修开始日期" sortable />
                                            <el-table-column property="name" align="center" label="维修结束日期" sortable />
                                            <el-table-column property="exceptionInfo" align="center" label="设施异常项" sortable />
                                            <el-table-column property="repairStatus" align="center" label="维修状态" sortable />
                                            <el-table-column property="repairMemo" align="center" label="维修情况" sortable />
                                            <el-table-column property="repairPersonId" align="center" label="维修负责人" sortable />
                                            <el-table-column property="repairPersonDepartmentId" align="center" label="维修负责人单位" sortable />
                                            <el-table-column property="repairStartDate" align="center" label="维修开始日期" sortable />
                                            <el-table-column property="repairEndDate" align="center" label="维修结束日期" sortable />
                                        </el-table>
                                    </el-tab-pane>
                                </el-tabs>
                            </template>
                        </el-table-column>
                        <el-table-column label="id" align="center" sortable>
                            <template #default="scope">{{ scope.row.date }}</template>
                        </el-table-column>
                        <el-table-column property="equipmentTypeId" align="center" label="类型/类别外键" sortable />
                        <el-table-column property="name" align="center" label="装置/部位名称" sortable />
                        <el-table-column property="qName" align="center" label="装置/部位名称" sortable />
                        <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 property="connectPersonId" label="装置部位分类" align="center" sortable show-overflow-tooltip />
                        <el-table-column label="操作" align="center" width="250">
                            <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="View" @click="openD('查看', scope.row.id)">查看</el-button>
                                <el-button link type="primary" size="default" :icon="EditPen" @click="openD('修改', 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>
@@ -112,288 +110,251 @@
                </div>
            </el-col>
        </el-row>
        <updata ref="Show"></updata>
        <DailogS ref="ShowD" @myAdd="onMyAdd"></DailogS>
        <!--        <updata ref="Show"></updata>-->
        <DailogS ref="ShowD" @navAddorUpdata="onAddorUpdata"></DailogS>
    </div>
</template>
<script lang="ts">
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 ,ElMessage, ElMessageBox} from 'element-plus';
import { EditPen, Plus, Delete, Download, Refresh, Upload ,View} from '@element-plus/icons-vue';
import {facilityManagementApi} from "/@/api/facilityManagement";
// import updata from '/@/components/updata/updata.vue'
import DailogS from '/@/components/equipmentDailog/DailogS.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;
    children?: Tree[];
}
export default defineComponent({
    components:{updata,DailogS},
    components: {
        // updata,
        DailogS,
    },
    setup() {
        const ruleForm = reactive({
      pageSize: 10,
      pageIndex: 1,
      searchParams: {
        equipmentTypeId: '', ////类型/类别外键
        name: '', ////装置/部位名称
        departmentId: '',////所属部门
        position: '', ////具体位置
        leadingPersonName: '', ////负责人姓名
        connectPersonId: '',////装置部位分类
      },
            pageSize: 10,
            pageIndex: 1,
            searchParams: {
                equipmentTypeId: '', ////类型/类别外键
        qName: '', ////装置/部位名称
                // departmentId: '',////所属部门
                // position: '', ////具体位置
                // leadingPersonName: '', ////负责人姓名
                // connectPersonId: '',////装置部位分类
                infoTpe: 0, ////具体类型(页面左侧的导航栏使用) 0:仪器仪表信息 1:生产设备设施 2:安全设备设施  3:重点监管装置/设备
            },
        });
    // 重置
    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 resetForm = () => {
            ruleForm.searchParams.qName = '';
            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: 'typeName',
      value: 'id',
        // 树形
        const listApiTree = () => {
            facilityManagementApi()
                .getequipmentTypeMngTreeData()
                .then((res) => {
                    if (res.data.code == 200) {
                        console.log(res.data.data);
                        data.value = res.data.data;
                    } else {
                        ElMessage({
                            showClose: true,
                            message: res.data.msg,
                            type: 'error',
                        });
                    }
                });
        };
    const props = {
      label: 'typeName',
      children: 'childList',
      value: 'id',
    }
        watch(filterText, (val) => {
            treeRef.value!.filter(val);
        });
        const filterNode = (value: string, data: Tree) => {
            if (!value) return true;
            return data.typeName.includes(value);
        };
        const handleNodeClick = (data: Tree) => {
      console.log(data)
            ruleForm.searchParams.qName = data.typeName;
    // 删除
    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,
                label: 'Level one 1',
                children: [
                    {
                        id: 4,
                        label: 'Level two 1-1',
                        children: [
                            {
                                id: 9,
                                label: 'Level three 1-1-1',
                            },
                            {
                                id: 10,
                                label: 'Level three 1-1-2',
                            },
                        ],
                    },
                ],
            },
            {
                id: 2,
                label: 'Level one 2',
                children: [
                    {
                        id: 5,
                        label: 'Level two 2-1',
                    },
                    {
                        id: 6,
                        label: 'Level two 2-2',
                    },
                ],
            },
            {
                id: 3,
                label: 'Level one 3',
                children: [
                    {
                        id: 7,
                        label: 'Level two 3-1',
                    },
                    {
                        id: 8,
                        label: 'Level two 3-2',
                    },
                ],
            },
        ];
            listApi();
        };
        const data = ref([]);
        onMounted(() => {
            listApiTree();
        });
        // 删除
        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 activeName = ref('first');
        const handleClick = (tab: TabsPaneContext, event: Event) => {
            console.log(tab, event);
        };
        const Show=ref()
        const openUp=()=>{
            Show.value.openDialog()
        }
    // 新增弹窗
        const ShowD=ref()
        const openD=()=>{
         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);
      }
    };
        // const Show=ref()
        // const openUp=()=>{
        //     Show.value.openDialog()
        // }
        // 新增弹窗
        const ShowD = ref();
        const openD = (title: String, id: number) => {
            ShowD.value.openDailog(title, false, id, 2);
        };
        return {
            activeName,
            handleClick,
            ruleForm,
            filterText,
            treeRef,
            defaultProps,
            props,
            filterNode,
            data,
            tableData,
            Show,
            openUp,
            // Show,
            // openUp,
            ShowD,
            danger,
            openD,
      openEdit,
            // openEdit,
            Plus,
            EditPen,
            listApiTree,
            Delete,
      View,
            View,
            Download,
            Refresh,
            Upload,
      resetForm,
      listApi,
      onMyAdd,
      handleCurrentChange,
      handleSizeChange,
      onAddorUpdata,
      total,
      currentPage4,
      pageSize4,
      onDelete,
      warning,
      handleSelectionChange,
      onDeleteAll,
            resetForm,
            listApi,
            handleCurrentChange,
            handleSizeChange,
            onAddorUpdata,
            total,
            currentPage4,
            pageSize4,
            onDelete,
            warning,
            handleSelectionChange,
            onDeleteAll,
            handleNodeClick,
        };
    },
});