shj
2022-07-14 710525a91dba02c0877eac75683b7f09e8780c50
目标
已添加3个文件
441 ■■■■■ 文件已修改
src/views/facilityManagement/InstrumentationInformation/index.vue 281 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/facilityManagement/deviceType/component/Dailog.vue 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/facilityManagement/deviceType/index.vue 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/facilityManagement/InstrumentationInformation/index.vue
对比新文件
@@ -0,0 +1,281 @@
<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"></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="装置设施名称" 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 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>
    </div>
</template>
<script lang="ts">
import { defineComponent, ref, reactive, watch } from '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({
    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);
        };
        return {
            activeName,
            handleClick,
            ruleForm,
            filterText,
            treeRef,
            defaultProps,
            filterNode,
            data,
            tableData,
            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>
src/views/facilityManagement/deviceType/component/Dailog.vue
对比新文件
@@ -0,0 +1,64 @@
<template>
    <el-dialog v-model="dialogVisible" title="新建设备设施类型管理" width="50%" draggable>
         <el-form :model="form" label-width="120px">
        <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-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-row>
        <el-row>
            <el-col :span="11">
                <el-form-item label="类别名称">
                <el-input v-model="form.name" />
                 </el-form-item>
            </el-col>
            <el-col :span="11" :offset="2">
                <el-form-item label="排列序列">
                <el-input v-model="form.name" />
                </el-form-item>
            </el-col>
        </el-row>
        </el-form>
        <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>
</template>
<script lang="ts">
import { defineComponent, ref } from 'vue';
export default defineComponent({
    setup() {
        const dialogVisible = ref(false);
        const form = ref({});
        const openDailog=()=>{
            dialogVisible.value=true
        }
        return {
            dialogVisible,
            form,
            openDailog
        };
    },
});
</script>
<style scoped>
.el-row{
    padding: 0 0 20px 0;
}
</style>
src/views/facilityManagement/deviceType/index.vue
对比新文件
@@ -0,0 +1,96 @@
<template>
    <div class="box">
        <el-button type="primary" :icon="Plus" @click="openD">新建</el-button>
         <el-table :data="tableData" style="width: 100%"  row-key="id">
    <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" label="操作">
        <template #default>
         <el-button type="primary" link :icon="View">查看</el-button>
         <el-button type="primary" link :icon="EditPen">修改</el-button>
         <el-button type="primary" link :icon="Delete">删除</el-button>
         <el-button type="primary" link :icon="CirclePlus">添加下级设备设施类型管理</el-button>
        </template>
    </el-table-column>
  </el-table>
   <Dailog ref="Show"></Dailog>
    </div>
</template>
<script lang="ts">
import { defineComponent,ref } from 'vue'
import {Plus,View,EditPen,Delete,CirclePlus} from '@element-plus/icons-vue'
import Dailog from "./component/Dailog.vue"
export default defineComponent({
    components:{Dailog},
    setup() {
      const tableData = [
  {
    id: 1,
    date: '2016-05-02',
    name: 'wangxiaohu',
  },
  {
    id: 2,
    date: '2016-05-04',
    name: 'wangxiaohu',
  },
  {
    id: 3,
    date: '2016-05-01',
    name: 'wangxiaohu',
    children: [
      {
        id: 31,
        date: '2016-05-01',
        name: 'wangxiaohu',
         children: [
      {
        id: 35,
        date: '2016-05-01',
        name: 'wangxiaohu',
      },
      {
        id: 36,
        date: '2016-05-01',
        name: 'wangxiaohu',
      },
    ],
      },
      {
        id: 32,
        date: '2016-05-01',
        name: 'wangxiaohu',
      },
    ],
  },
  {
    id: 4,
    date: '2016-05-03',
    name: 'wangxiaohu',
  },
]
    const Show=ref()
    const openD=()=>{
        Show.value.openDailog()
    }
       return{
           tableData,
           Show,
           openD,
           Plus,
           View,
           EditPen,
           Delete,
           CirclePlus
       }
    },
})
</script>
<style scoped>
.box{
    padding: 20px;
    background-color: #fff;
}
</style>