shj
2022-07-15 6efd77ec0be9fc91c9ef4f3488aca631a4a49621
管理
已添加4个文件
953 ■■■■■ 文件已修改
src/components/equipmentDailog/DailogS.vue 444 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/equipmentDailog/planDailog.vue 143 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/facilityManagement/EquipmentStatistics/index.vue 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/facilityManagement/keyEquipment/index.vue 299 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/equipmentDailog/DailogS.vue
对比新文件
@@ -0,0 +1,444 @@
<template>
    <el-dialog v-model="dialogVisible" title="新建仪器仪表" width="60%">
        <el-form :model="form" label-width="130px">
            <el-row>
                <el-col :span="11">
                    <el-form-item label="类型/类别外键">
                        <el-input v-model="form.name" placeholder="请选择">
                            <template #append>
                                <el-button :icon="Search" @click="opencategory"></el-button>
                            </template>
                        </el-input>
                    </el-form-item>
                </el-col>
                <el-col :span="11" :offset="2">
                    <el-form-item label="装置/部位名称">
                        <el-input v-model="form.name" placeholder="请选择" />
                    </el-form-item>
                </el-col>
            </el-row>
            <el-row>
                <el-col :span="11">
                    <el-form-item label="所属部门">
                        <el-select v-model="form.region" placeholder="请选择" style="width: 100%">
                            <el-option label="Zone one" value="shanghai" />
                            <el-option label="Zone two" value="beijing" />
                        </el-select>
                    </el-form-item>
                </el-col>
                <el-col :span="11" :offset="2">
                    <el-form-item label="具体位置">
                        <el-input v-model="form.name" placeholder="请填写具体位置" />
                    </el-form-item>
                </el-col>
            </el-row>
            <el-row>
                <el-col :span="11">
                    <el-form-item label="负责人姓名">
                        <el-input v-model="form.name" placeholder="请填写负责人姓名" />
                    </el-form-item>
                </el-col>
                <el-col :span="11" :offset="2">
                    <el-form-item label="联系人">
                        <el-input v-model="form.name" placeholder="请选择">
                            <template #append>
                                <el-button :icon="Search" @click="openUser"></el-button>
                            </template>
                        </el-input>
                    </el-form-item>
                </el-col>
            </el-row>
            <el-row>
                <el-col :span="11">
                    <el-form-item label="录入人">
                        <el-input v-model="form.name" placeholder="请选择">
                            <template #append>
                                <el-button :icon="Search" @click="openUser"></el-button>
                            </template>
                        </el-input>
                    </el-form-item>
                </el-col>
                <el-col :span="11" :offset="2">
                    <el-form-item label="责任人">
                        <el-input v-model="form.name" placeholder="请选择">
                            <template #append>
                                <el-button :icon="Search" @click="openUser"></el-button>
                            </template>
                        </el-input>
                    </el-form-item>
                </el-col>
            </el-row>
            <el-row>
                <el-col :span="11">
                    <el-form-item label="装置部位分类">
                        <el-select v-model="form.region" placeholder="请选择" style="width: 100%">
                            <el-option label="Zone one" value="shanghai" />
                            <el-option label="Zone two" value="beijing" />
                        </el-select>
                    </el-form-item>
                </el-col>
                <el-col :span="11" :offset="2">
                    <el-form-item label="检查周期">
                        <el-input v-model="form.name" placeholder="请选择检查周期" />
                    </el-form-item>
                </el-col>
            </el-row>
            <el-row>
                <el-col :span="11">
                    <el-form-item label="相关应急预案">
                        <el-input v-model="form.name" placeholder="请选择">
                            <template #append>
                                <el-button :icon="Search" @click="openPlan"></el-button>
                            </template>
                        </el-input>
                    </el-form-item>
                </el-col>
                <el-col :span="11" :offset="2">
                    <el-form-item label="主要危险有害因素">
                        <el-input v-model="form.name" placeholder="请选择" />
                    </el-form-item>
                </el-col>
            </el-row>
            <el-row>
                <el-col :span="11">
                    <el-form-item label="易导致风险">
                        <el-input v-model="form.name" placeholder="请选择易导致风险" />
                    </el-form-item>
                </el-col>
                <el-col :span="11" :offset="2">
                    <el-form-item label="应急处置措施">
                        <el-input v-model="form.name" placeholder="请选择应急处置措施" />
                    </el-form-item>
                </el-col>
            </el-row>
            <el-row>
                <el-col :span="24">
                    <el-form-item label="现场图片">
                        <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-row>
            <el-row>
                <el-col :span="11">
                    <el-form-item label="备注信息"> <el-input v-model="form.name" placeholder="请选择应急处置措施" /> </el-form-item>
                </el-col>
            </el-row>
        </el-form>
        <el-tabs v-model="activeName" class="demo-tabs">
            <el-tab-pane label="设备保养" name="first">
                <el-button type="primary" @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="操作">
                        <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="second">
                <el-button type="primary" @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="操作">
                        <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="third">
                <el-button type="primary" @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="操作">
                        <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-button type="primary" @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="操作">
                        <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="five">
                <el-table :data="tableData" 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="任务名称" />
                    <el-table-column align="center" sortable prop="address" label="点位类型" />
                    <el-table-column align="center" sortable prop="address" label="检查频次" />
                    <el-table-column align="center" sortable prop="address" label="巡检时间" />
                    <el-table-column align="center" sortable prop="address" label="巡检人" />
                </el-table>
            </el-tab-pane>
            <el-tab-pane label="保养维修标准" name="six" v-if="Dailogtype">
                <el-upload
                    v-model:file-list="fileList"
                    class="upload-demo"
                    action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"
                    multiple
                    :on-preview="handlePreview"
                    :on-remove="handleRemove"
                    :before-remove="beforeRemove"
                    :limit="3"
                    :on-exceed="handleExceed"
                >
                    <el-button type="primary">点击上传</el-button>
                    <template #tip>
                        <div class="el-upload__tip"></div>
                    </template>
                </el-upload>
            </el-tab-pane>
        </el-tabs>
        <template #footer>
            <span class="dialog-footer">
                <el-button @click="dialogVisible = false">关闭</el-button>
                <el-button type="primary" @click="dialogVisible = false">确定</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>
</template>
<script lang="ts">
import { defineComponent, ref, reactive } from 'vue';
import { Search,Plus } from '@element-plus/icons-vue';
import categoryDailog from './categoryDailog.vue';
import planDailog from './planDailog.vue';
import maintenanceDailog from './maintenanceDailog.vue';
import detectDailog from './detectDailog.vue';
import repairDailog from './repairDailog.vue';
import standardDailog from './standardDailog.vue';
import DailogSearchUser from '/@/components/DailogSearchUser/index.vue';
import { ElMessage, ElMessageBox } from 'element-plus';
import type { UploadProps, UploadUserFile } from 'element-plus';
export default defineComponent({
    components: { categoryDailog, planDailog, DailogSearchUser, maintenanceDailog, detectDailog, repairDailog, standardDailog },
    setup() {
        const dialogVisible = ref(false);
        const form = reactive({
            name: '',
            region: '',
            date1: '',
            date2: '',
            delivery: false,
            type: [],
            resource: '',
            desc: '',
        });
        const Dailogtype = ref(false);
        const openDailog = (type: boolean) => {
            dialogVisible.value = true;
            Dailogtype.value = type;
        };
        const activeName = ref('first');
        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',
            },
        ];
        const categoryShow = ref();
        const opencategory = () => {
            categoryShow.value.openDailog();
        };
        const planShow = ref();
        const openPlan = () => {
            planShow.value.openDailog();
        };
        const UserShow = ref();
        const openUser = () => {
            UserShow.value.openDailog();
        };
        const maintenanceShow = ref();
        const openMaintenance = () => {
            maintenanceShow.value.openDailog();
        };
        const detectShow = ref();
        const openDetect = () => {
            detectShow.value.openDailog();
        };
        const repairShow = ref();
        const openRepair = () => {
            repairShow.value.openDailog();
        };
        const standardShow = ref();
        const openStandard = () => {
            standardShow.value.openDailog();
        };
        // 上传
        const fileList = ref<UploadUserFile[]>([
            {
                name: 'element-plus-logo.svg',
                url: 'https://element-plus.org/images/element-plus-logo.svg',
            },
            {
                name: 'element-plus-logo2.svg',
                url: 'https://element-plus.org/images/element-plus-logo.svg',
            },
        ]);
        const handleRemove: UploadProps['onRemove'] = (file, uploadFiles) => {
            console.log(file, uploadFiles);
        };
        const handlePreview: UploadProps['onPreview'] = (uploadFile) => {
            console.log(uploadFile);
        };
        const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {
            ElMessage.warning(`The limit is 3, you selected ${files.length} files this time, add up to ${files.length + uploadFiles.length} totally`);
        };
        const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {
            return ElMessageBox.confirm(`Cancel the transfert of ${uploadFile.name} ?`).then(
                () => true,
                () => false
            );
        };
        //图片提交
        const imageUrl = ref('');
        const handleAvatarSuccess: UploadProps['onSuccess'] = (response, uploadFile) => {
            imageUrl.value = URL.createObjectURL(uploadFile.raw!);
        };
        const beforeAvatarUpload: UploadProps['beforeUpload'] = (rawFile) => {
            if (rawFile.type !== 'image/jpeg') {
                ElMessage.error('Avatar picture must be JPG format!');
                return false;
            } else if (rawFile.size / 1024 / 1024 > 2) {
                ElMessage.error('Avatar picture size can not exceed 2MB!');
                return false;
            }
            return true;
        };
        return {
            dialogVisible,
            Dailogtype,
            form,
            openDailog,
            Search,
            activeName,
            tableData,
            categoryShow,
            opencategory,
            planShow,
            openPlan,
            UserShow,
            openUser,
            maintenanceShow,
            openMaintenance,
            detectShow,
            openDetect,
            repairShow,
            openRepair,
            standardShow,
            openStandard,
            fileList,
            handleRemove,
            handlePreview,
            handleExceed,
            beforeRemove,
            imageUrl,
            handleAvatarSuccess,
            beforeAvatarUpload,
            Plus
        };
    },
});
</script>
<style scoped>
 .el-row{
     padding: 0 0 20px 0;
 }
.avatar-uploader .avatar {
    width: 178px;
    height: 178px;
    display: block;
}
</style>
<style>
    .avatar-uploader .el-upload {
    border: 1px dashed var(--el-border-color);
    border-radius: 6px;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: var(--el-transition-duration-fast);
}
.avatar-uploader .el-upload:hover {
    border-color: var(--el-color-primary);
}
.el-icon.avatar-uploader-icon {
    font-size: 28px;
    color: #8c939d;
    width: 178px;
    height: 178px;
    text-align: center;
}
</style>
src/components/equipmentDailog/planDailog.vue
对比新文件
@@ -0,0 +1,143 @@
<template>
    <el-dialog v-model="dialogVisible" title="选择所属重大危险源单元"  width="50%" draggable>
        <el-row>
            <el-col :span="17">
                <el-form ref="ruleFormRef" :model="ruleForm" status-icon>
                    <el-row>
                        <el-col :span="12">
                            <el-form-item>
                                <el-input v-model="ruleForm.pass" placeholder="预案名称" />
                            </el-form-item>
                        </el-col>
                        <el-col :span="11" :offset="1">
                            <el-form-item>
                                <el-button type="primary" @click="submitForm(ruleFormRef)">查询</el-button>
                                <el-button @click="resetForm(ruleFormRef)">重置</el-button>
                            </el-form-item>
                        </el-col>
                    </el-row>
                </el-form>
                <el-button size="default" :icon="Delete">清除选择</el-button>
                <el-table :data="tableData" style="width: 100%; margin-top: 20px">
                    <el-table-column align="center" width="80">
                        <template #default="scope">
                            <el-radio-group v-model="radio1" @change="radio">
                                <el-radio :label="scope.row.date" 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>
                <el-pagination
                    style="padding: 20px 0; border-bottom: 1px solid #dedede"
                    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"
                />
            </el-col>
            <el-col :span="7">
                <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>
            <span class="dialog-footer">
                <el-button @click="dialogVisible = false" size="default">关闭</el-button>
                <el-button type="primary" @click="dialogVisible = false" size="default">确定</el-button>
            </span>
        </template>
    </el-dialog>
</template>
<script lang="ts">
import { defineComponent, reactive, ref } from 'vue';
import { Delete } from '@element-plus/icons-vue';
export default defineComponent({
    setup() {
        const dialogVisible = ref<boolean>(false);
        const openDailog = () => {
            dialogVisible.value = true;
        };
        // 搜索条件
        const ruleForm = reactive({
            pass: '',
            checkPass: '',
        });
        // 表格
        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',
            },
        ];
        const pageSize4 = ref(100);
        const handleSizeChange = (val: number) => {
            console.log(`${val} items per page`);
        };
        const handleCurrentChange = (val: number) => {
            console.log(`current page: ${val}`);
        };
        // 右方点击添加后显示标签
        const dynamicTags = ref(['2016-05-03']);
        const handleClose = (tag: string) => {
            dynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1);
            radio1.value=""
        };
        const radio1=ref('2016-05-03')
        const radio=(event:any)=>{
            dynamicTags.value[0]=event
        }
        return {
            dialogVisible,
            openDailog,
            ruleForm,
            tableData,
            pageSize4,
            handleSizeChange,
            handleCurrentChange,
            dynamicTags,
            handleClose,
            radio1,
            radio,
            Delete,
        };
    },
});
</script>
<style scoped>
.el-row {
    padding: 0 0 20px 0;
}
</style>
src/views/facilityManagement/EquipmentStatistics/index.vue
对比新文件
@@ -0,0 +1,67 @@
<template>
    <div class="box">
        <div class="title">设备设施统计</div>
        <div ref="main" style="width: 100%; height: 400px"></div>
    </div>
</template>
<script lang="ts">
import { defineComponent, onMounted, ref } from 'vue';
import * as echarts from 'echarts';
export default defineComponent({
    setup() {
        const main = ref();
        const init = () => {
            var myChart = echarts.init(main.value);
            var option = {
                tooltip: {},
                grid: {
                    left: '3%',
                    right: '4%',
                    bottom: '5%',
                    containLabel: true,
                },
                xAxis: {
                    type: 'category',
                    data: ['在用数', '报废数', '维修数', '停用数'],
                },
                yAxis: {
                    type: 'value',
                    name: '数量',
                    nameTextStyle: {
                        color: '#aaa',
                        nameLocation: 'start',
                    },
                },
                color: ['#6394f9'],
                series: [
                    {
                        data: [120, 200, 150, 80, 70, 110, 130],
                        type: 'bar',
                    },
                ],
            };
            myChart.setOption(option);
        };
        onMounted(() => {
            init();
        });
        return {
            init,
            onMounted,
            main,
        };
    },
});
</script>
<style scoped>
.box {
    background-color: #fff;
    box-shadow: 0 2px 12px 0 rgb(0 0 0 / 10%);
}
.title {
    font-size: 16px;
    border-bottom: 1px solid #eee;
    padding: 20px;
}
</style>
src/views/facilityManagement/keyEquipment/index.vue
对比新文件
@@ -0,0 +1,299 @@
<template>
    <div>
        <el-form ref="ruleFormRef" :model="ruleForm" status-icon label-width="20px" class="topTitle">
            <el-row>
                <el-col :span="4">
                    <el-form-item>
                        <el-input v-model="ruleForm.pass" placeholder="装置/部位名称" />
                    </el-form-item>
                </el-col>
                <el-col :span="4">
                    <el-form-item>
                        <el-button type="primary" @click="submitForm(ruleFormRef)">查询</el-button>
                        <el-button @click="resetForm(ruleFormRef)">重置</el-button>
                    </el-form-item>
                </el-col>
            </el-row>
        </el-form>
        <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" />
                </div>
            </el-col>
            <el-col :span="20">
                <div class="btns">
                    <div>
                        <el-button type="primary" :icon="Plus" @click="openD">新建</el-button>
                        <el-button type="warning" plain :icon="EditPen">修改</el-button>
                        <el-button type="danger" :icon="Delete" plain>删除</el-button>
                    </div>
                    <div>
                        <el-button :icon="Upload" @click="openUp"></el-button>
                        <el-button :icon="Download"></el-button>
                        <el-button :icon="Refresh"></el-button>
                    </div>
                </div>
                <div style="padding-left: 10px">
                    <el-table ref="multipleTableRef" :data="tableData" style="width: 100%">
                        <el-table-column type="selection" align="center" width="55" />
                        <el-table-column type="expand">
                            <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-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>
                                    </el-tab-pane>
                                    <el-tab-pane label="设备检查" name="second"
                                        ><el-table ref="multipleTableRef" :data="tableData" 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
                                    ></el-tab-pane>
                                    <el-tab-pane label="设备检测" name="third">
                                        <el-table ref="multipleTableRef" :data="tableData" 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>
                                    </el-tab-pane>
                                    <el-tab-pane label="设备维修" name="fourth">
                                        <el-table ref="multipleTableRef" :data="tableData" 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-column property="name" 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="name" 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 label="操作" align="center" style="width: 300px">
                            <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>
                        </el-table-column>
                    </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>
                </div>
            </el-col>
        </el-row>
        <updata ref="Show"></updata>
        <DailogS ref="ShowD"></DailogS>
    </div>
</template>
<script lang="ts">
import { defineComponent, ref, reactive, watch } 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';
interface Tree {
    id: number;
    label: string;
    children?: Tree[];
}
export default defineComponent({
    components:{updata,DailogS},
    setup() {
        const ruleForm = reactive({
            pass: '',
            checkPass: '',
        });
        const filterText = ref('');
        const treeRef = ref<InstanceType<typeof ElTree>>();
        const defaultProps = {
            children: 'children',
            label: 'label',
        };
        watch(filterText, (val) => {
            treeRef.value!.filter(val);
        });
        const filterNode = (value: string, data: Tree) => {
            if (!value) return true;
            return data.label.includes(value);
        };
        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',
                    },
                ],
            },
        ];
        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) => {
            console.log(tab, event);
        };
        const Show=ref()
        const openUp=()=>{
            Show.value.openDialog()
        }
        const ShowD=ref()
        const openD=()=>{
         ShowD.value.openDailog(false)
        }
        return {
            activeName,
            handleClick,
            ruleForm,
            filterText,
            treeRef,
            defaultProps,
            filterNode,
            data,
            tableData,
            Show,
            openUp,
            ShowD,
            openD,
            Plus,
            EditPen,
            Delete,
            Download,
            Refresh,
            Upload,
        };
    },
});
</script>
<style scoped>
.topTitle {
    background-color: #fff;
    padding: 20px 0px 20px 0px;
    margin-bottom: 10px;
}
.tree {
    height: 750px;
    background-color: #fff;
    overflow: hidden;
    overflow-y: auto;
}
.btns {
    padding: 10px 0px 10px 10px;
    display: flex;
    justify-content: space-between;
    background-color: #fff;
}
</style>