Your Name
2022-08-11 988558aaa309068fd393cc654be537434b0a15ea
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.qName" placeholder="装置/部位名称" />
                        <el-input v-model="ruleForm.searchParams.name" placeholder="装置/部位名称"/>
               </el-form-item>
            </el-col>
            <el-col :span="4">
@@ -20,15 +20,18 @@
            <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="props" @node-click="handleNodeClick" :filter-node-method="filterNode" />
                    <el-tree ref="treeRef" :data="data" :props="props" @node-click="handleNodeClick"
                             :filter-node-method="filterNode"/>
            </div>
         </el-col>
         <el-col :span="20">
            <div class="btns">
               <div>
                  <el-button size="default" type="primary" :icon="Plus" @click="openD('新建')">新建</el-button>
                  <el-button size="default" :disabled="warning" type="warning" plain :icon="EditPen">修改</el-button>
                  <el-button size="default" :disabled="danger" type="danger" :icon="Delete" @click="onDeleteAll" plain>删除</el-button>
                        <!--                  <el-button size="default" :disabled="warning" type="warning" plain :icon="EditPen">修改</el-button>-->
                        <el-button size="default" :disabled="danger" type="danger" :icon="Delete" @click="onDeleteAll"
                                   plain>删除
                        </el-button>
               </div>
               <div>
                  <!-- <el-button size="default" :icon="Upload" @click="openUp"></el-button>
@@ -37,62 +40,116 @@
               </div>
            </div>
            <div style="padding-left: 10px">
               <el-table ref="multipleTableRef" :data="tableData" @selection-change="handleSelectionChange" 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="scope">
                        <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick" style="margin: 0 5%">
                                <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="takecareMemo" align="center" label="保养情况" sortable />
                                 <el-table-column property="leadingPersonId" align="center" label="保养负责人" sortable />
                                 <el-table-column property="takecareDate" align="center" :formatter="timeDate" label="保养日期" sortable />
                                 <el-table-column property="leadingPersonDepartmentId" align="center" label="保养负责人单位" sortable />
                                        <el-table ref="multipleTableRef" :data="scope.row.takecareDetailList"
                                                  style="width: 100%">
                                            <el-table-column property="takecareMemo" align="center" label="保养情况"
                                                             sortable/>
                                            <el-table-column property="leadingPersonName" align="center" label="保养负责人"
                                                             sortable/>
                                            <el-table-column property="takecareDate" align="center"
                                                             :formatter="timeDate" label="保养日期" sortable/>
                                            <el-table-column property="leadingPersonDepartmentName" 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="leadingPersonId" align="center" label="检查人" sortable />
                                 <el-table-column property="createTime" align="center" :formatter="timeDate" 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-table ref="multipleTableRef" :data="scope.row.checkDetailList"
                                                  style="width: 100%">
                                            <el-table-column property="testPersonName" align="center" label="检查人"
                                                             sortable/>
                                            <el-table-column property="testDate" align="center" :formatter="timeDate"
                                                             label="检查日期" sortable/>
                                            <el-table-column property="testPersonDepartmentName" align="center" label="检查人部门" sortable/>
                                            <el-table-column property="testResult" align="center" label="检查结果"
                                                             sortable>
                                                <template #default="scope">
                                                    <span v-if="scope.row.testResult == 1">成功</span>
                                                    <span v-if="scope.row.testResult == 2">失败</span>
                                                </template>
                                            </el-table-column>
                                            <el-table-column property="testStatus" 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="testPersonId" align="center" label="检测人" sortable />
                                 <el-table-column property="testDate" align="center" :formatter="timeDate" label="检测日期" sortable />
                                 <el-table-column property="testPersonDepartmentId" align="center" label="检测人单位" sortable />
                                        <el-table ref="multipleTableRef" :data="scope.row.testDetailList"
                                                  style="width: 100%">
                                            <el-table-column property="repairPersonName" align="center" label="检测人"
                                                             sortable/>
                                            <el-table-column property="repairStarDate" align="center" :formatter="timeDate"
                                                             label="检测日期" sortable/>
                                            <el-table-column property="repairPersonDepartmentName" 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-column property="testResult" align="center" label="检测结果"
                                                             sortable/>
                                            <el-table-column property="testStatus" align="center" label="检测状态"
                                                             sortable/>
                              </el-table>
                           </el-tab-pane>
                           <el-tab-pane label="设备维修" name="fourth">
                              <el-table ref="multipleTableRef" :data="scope.row.repaireDetailList" style="width: 100%">
                                 <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" :formatter="timeDate" label="维修开始日期" sortable />
                                 <el-table-column property="repairEndDate" align="center" :formatter="timeDate" label="维修结束日期" sortable />
                                        <el-table ref="multipleTableRef" :data="scope.row.repaireDetailList"
                                                  style="width: 100%">
                                            <el-table-column property="exceptionInfo" align="center" label="设施异常项"
                                                             sortable/>
                                            <el-table-column property="repairStatus" align="center" label="维修状态"
                                                             sortable>
                                                <template #default="scope">
                                                    <span v-if="scope.row.repairStatus == 1">维修中</span>
                                                    <span v-if="scope.row.repairStatus == 2">已维修</span>
                                                </template>
                                            </el-table-column>
                                            <el-table-column property="repairMemo" align="center" label="维修情况"
                                                             sortable/>
                                            <el-table-column property="repairPersonName" align="center" label="维修负责人"
                                                             sortable/>
                                            <el-table-column property="repairPersonDepartmentName" align="center"
                                                             label="维修负责人单位" sortable/>
                                            <el-table-column property="repairStartDate" align="center"
                                                             :formatter="timeDate" label="维修开始日期" sortable/>
                                            <el-table-column property="repairEndDate" align="center"
                                                             :formatter="timeDate" label="维修结束日期" sortable/>
                              </el-table>
                           </el-tab-pane>
                        </el-tabs>
                     </template>
                  </el-table-column>
                  <el-table-column property="equipmentTypeId" 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="equipmentTypeName" align="center" label="类型/类别外键" sortable/>
                        <el-table-column property="name" align="center" label="装置/部位名称" sortable/>
                        <el-table-column property="departmentName" 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="partType" label="装置部位分类" align="center" sortable
                                         show-overflow-tooltip>
                            <template #default="scope">
                                <span v-if="scope.row.partType == 1">关键装置</span>
                                <span v-if="scope.row.partType == 2">重点部位</span>
                            </template>
                        </el-table-column>
                  <el-table-column label="操作" align="center" width="250">
                     <template #default="scope">
                        <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>
                                <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>
               </el-table>
@@ -122,10 +179,12 @@
import { EditPen, Plus, Delete, Download, Refresh, Upload, View } from '@element-plus/icons-vue';
import { facilityManagementApi } from '/@/api/facilityManagement';
import {timeDate} from '/@/assets/index.ts'
interface Tree {
   label: string;
   children?: Tree[];
}
export default defineComponent({
   components: {
      // updata,
@@ -136,21 +195,23 @@
         pageSize: 10,
         pageIndex: 1,
         searchParams: {
            equipmentTypeId: '', ////类型/类别外键
        qName: '', ////装置/部位名称
                    // equipmentTypeId: '', ////类型/类别外键
                    name: '', ////装置/部位名称
            // departmentId: '',////所属部门
            // position: '', ////具体位置
            // leadingPersonName: '', ////负责人姓名
            // connectPersonId: '',////装置部位分类
            infoTpe: 0, ////具体类型(页面左侧的导航栏使用) 0:仪器仪表信息 1:生产设备设施 2:安全设备设施  3:重点监管装置/设备
                    // infoTpe: 0, ////具体类型(页面左侧的导航栏使用) 0:仪器仪表信息 1:生产设备设施 2:安全设备设施  3:重点监管装置/设备
                    equipmentTypeId: ''
         },
      });
      // 重置
      const resetForm = () => {
         ruleForm.searchParams.qName = '';
                ruleForm.searchParams.equipmentTypeId = '';
         listApi();
      };
      const listApi = () => {
                // delete ruleForm.qName
         facilityManagementApi()
            .getkeypointEquipmentInfoAddOrList(ruleForm)
            .then((res) => {
@@ -217,7 +278,7 @@
      };
      const handleNodeClick = (data: Tree) => {
      console.log(data)
         ruleForm.searchParams.qName = data.typeName;
                ruleForm.searchParams.equipmentTypeId = data.id;
         listApi();
      };
@@ -257,7 +318,7 @@
            });
      };
      // 批量删除
      const warning = ref(true);
            // const warning = ref(true);
      const danger = ref(true);
      const deletAll = ref();
      const handleSelectionChange = (val: any) => {
@@ -268,13 +329,13 @@
         }
         deletAll.value = arr;
         if (val.length == 1) {
            warning.value = false;
                    // warning.value = false;
            danger.value = false;
         } else if (val.length == 0) {
            warning.value = true;
                    // warning.value = true;
            danger.value = true;
         } else {
            warning.value = true;
                    // warning.value = true;
            danger.value = false;
         }
      };
@@ -354,7 +415,7 @@
         currentPage4,
         pageSize4,
         onDelete,
         warning,
                // warning,
         handleSelectionChange,
         onDeleteAll,
         handleNodeClick,
@@ -369,12 +430,14 @@
   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;