From 89bd7585736129aa5855ce194cb5f4a9d450582a Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期五, 07 二月 2025 11:48:45 +0800
Subject: [PATCH] 改bug
---
admin/src/views/operation/components/deviceDetail.vue | 287 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 276 insertions(+), 11 deletions(-)
diff --git a/admin/src/views/operation/components/deviceDetail.vue b/admin/src/views/operation/components/deviceDetail.vue
index 5dad8e6..de733a0 100644
--- a/admin/src/views/operation/components/deviceDetail.vue
+++ b/admin/src/views/operation/components/deviceDetail.vue
@@ -1,7 +1,14 @@
<template>
- <GlobalWindow width="720px" title="宸ュ崟璇︽儏" :visible.sync="visible" :confirm-working="isWorking" @close="close"
+ <GlobalWindow width="100%" title="璁惧璇︽儏" :withFooter="false" :visible.sync="visible" :confirm-working="isWorking" @close="close"
@confirm="confirm">
- <div class="main">
+ <div style="width: 100%; position: sticky; top: 0; left: 0; z-index: 999; background: #ffffff;">
+ <div class="tabs">
+ <div class="tab" :class="{ active: activeTabs === 0 }" @click="tabsClick(0)">璁惧淇℃伅</div>
+ <div class="tab" :class="{ active: activeTabs === 1 }" @click="tabsClick(1)">杩愮淮璁板綍</div>
+ <div class="tab" :class="{ active: activeTabs === 2 }" @click="tabsClick(2)">宸℃璁板綍</div>
+ </div>
+ </div>
+ <div class="main" v-if="activeTabs === 0">
<div class="title">
<span>鍩虹淇℃伅</span>
</div>
@@ -25,11 +32,23 @@
</div>
<div class="item">
<div class="la">璁惧绠$悊鍛�</div>
- <div class="val">{{ info.realName }}</div>
+ <div class="val">{{ info.realName || info.realname }}</div>
</div>
<div class="item">
<div class="la">鎵�鍦ㄤ綅缃�</div>
<div class="val">{{ info.addr }}</div>
+ </div>
+ <div class="item">
+ <div class="la">鎵�灞為」鐩�</div>
+ <div class="val">{{ info.projectName }}</div>
+ </div>
+ <div class="item">
+ <div class="la">鍏宠仈鎴挎簮</div>
+ <div class="val">{{ info.buildingName }} / {{ info.floorName }} / {{info.roomName}}</div>
+ </div>
+ <div class="item">
+ <div class="la">璐叆鏃堕棿</div>
+ <div class="val">{{ info.buyDate }}</div>
</div>
<div class="item">
<div class="la">璁惧鐘舵��</div>
@@ -48,24 +67,189 @@
<div v-if="info.fileFullUrl" class="item" style="width: 100%;">
<div class="la">鐓х墖</div>
<div class="val">
- <img class="photo" :src="info.fileFullUrl" alt="">
+ <el-image
+ style="width: 100px; height: 100px"
+ :src="info.fileFullUrl"
+ :preview-src-list="[info.fileFullUrl]">
+ </el-image>
+ </div>
+ </div>
+ <div class="item" style="width: 100%;">
+ <div class="la">闄勪欢</div>
+ <div class="val">
+ <el-table
+ :data="info.multifileList ? info.multifileList : []"
+ border
+ style="width: 100%">
+ <el-table-column
+ prop="name"
+ label="闄勪欢鍚嶇О">
+ </el-table-column>
+ <el-table-column
+ prop="userName"
+ label="鎿嶄綔浜�">
+ </el-table-column>
+ <el-table-column
+ prop="createDate"
+ label="鎿嶄綔鏃堕棿">
+ </el-table-column>
+ </el-table>
</div>
</div>
</div>
</div>
+ <div class="title">
+ <span>渚涘簲鍟嗕俊鎭�</span>
+ </div>
+ <div class="main_content">
+ <div class="list">
+ <div class="item">
+ <div class="la">渚涘簲鍟�</div>
+ <div class="val">{{info.supplier}}</div>
+ </div>
+ <div class="item">
+ <div class="la">鑱旂郴浜�</div>
+ <div class="val">{{info.supplierLinker}}</div>
+ </div>
+ <div class="item">
+ <div class="la">鑱旂郴鏂瑰紡</div>
+ <div class="val">{{info.supplierPhone}}</div>
+ </div>
+ </div>
+ </div>
+ <div class="title">
+ <span>缁翠繚淇℃伅</span>
+ </div>
+ <div class="main_content">
+ <div class="list">
+ <div class="item">
+ <div class="la">缁翠繚璐熻矗浜�</div>
+ <div class="val">{{info.maintenanceUserName}}</div>
+ </div>
+ <div class="item">
+ <div class="la">缁翠繚鍒版湡鏃�</div>
+ <div class="val">{{info.maintenanceOverDate}}</div>
+ </div>
+ <div class="item" style="width: 100%;">
+ <div class="la">缁翠繚璇存槑</div>
+ <div class="val">{{info.maintenanceContent}}</div>
+ </div>
+ </div>
+ </div>
</div>
+ <div class="main" v-if="activeTabs === 1">
+ <el-table
+ :data="infoList"
+ border
+ style="width: 100%">
+ <el-table-column
+ prop="realName"
+ label="杩愮淮浜哄憳">
+ </el-table-column>
+ <el-table-column
+ label="璁惧鐘舵��">
+ <template slot-scope="{row}">
+ <span v-if="row.status === 0">姝e父</span>
+ <span v-if="row.status === 1">鎹熷潖</span>
+ <span v-if="row.status === 2">鎶ュ簾</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="remark"
+ label="杩愮淮澶囨敞">
+ </el-table-column>
+ <el-table-column
+ prop="dealDate"
+ label="杩愮淮鏃堕棿">
+ </el-table-column>
+ <el-table-column
+ label="鎿嶄綔">
+ <template slot-scope="{row}">
+ <el-button type="text" @click="handleDetail(row)">鏌ョ湅璇︽儏</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ <el-pagination
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ :current-page="page"
+ :page-sizes="[10, 20, 30, 40]"
+ :page-size="pageSize"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="total">
+ </el-pagination>
+ </div>
+ <div class="main" v-if="activeTabs === 2">
+ <el-table
+ :data="infoList"
+ border
+ style="width: 100%">
+ <el-table-column
+ prop="schemeTitle"
+ label="璁″垝鍚嶇О">
+ </el-table-column>
+ <el-table-column
+ prop="taskCode"
+ label="浠诲姟缂栧彿">
+ </el-table-column>
+ <el-table-column
+ label="浠诲姟鏃堕棿">
+ <template slot-scope="{row}">
+ {{row.startDate}} ~ {{row.endDate}}
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="realname"
+ label="宸℃浜�">
+ </el-table-column>
+ <el-table-column
+ label="宸℃缁撴灉">
+ <template slot-scope="{row}">
+ <span v-if="row.dealStatus === 0">姝e父</span>
+ <span v-if="row.dealStatus === 1">寮傚父</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="宸℃闄勪欢">
+ <template slot-scope="{row}">
+ <el-image
+ v-if="row.multifileList && row.multifileList.length > 0"
+ style="width: 100px; height: 100px"
+ :src="row.multifileList[0].fileurlFull"
+ :preview-src-list="[row.multifileList[0].fileurlFull]">
+ </el-image>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="content"
+ label="宸℃璇存槑">
+ </el-table-column>
+ </el-table>
+ <el-pagination
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ :current-page="page"
+ :page-sizes="[10, 20, 30, 40]"
+ :page-size="pageSize"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="total">
+ </el-pagination>
+ </div>
+ <Detail ref="DetailRef" />
</GlobalWindow>
</template>
<script>
import GlobalWindow from '@/components/common/GlobalWindow'
import BaseOpera from '@/components/base/BaseOpera'
+import Detail from './maintainDetail'
import { detailById } from '@/api/Inspection/device.js'
-import { getUserList } from '@/api/system/user'
-import { Message, Loading } from 'element-ui'
+import { fetchList } from '@/api/Inspection/deviceRecord.js'
+import { getDetail } from '@/api/Inspection/ywPatrolTask.js'
export default {
components: {
- GlobalWindow
+ GlobalWindow,
+ Detail
},
extends: BaseOpera,
data() {
@@ -73,19 +257,83 @@
id: '',
visible: false,
info: {},
-
+ activeTabs: 0,
+ fileList: [],
+
+ infoList: [],
+ total: 0,
+ pageSize: 10,
+ page: 1
}
},
methods: {
+ handleSizeChange(e) {
+ this.pageSize = e
+ if (this.activeTabs === 1) {
+ this.getyunwei()
+ } else if (this.activeTabs === 2) {
+ this.getXunJian()
+ }
+ },
+ handleCurrentChange(e) {
+ this.page = e
+ if (this.activeTabs === 1) {
+ this.getyunwei()
+ } else if (this.activeTabs === 2) {
+ this.getXunJian()
+ }
+ },
getDetail() {
+ this.activeTabs = 0
const { id } = this
detailById(id).then(res => {
this.info = res
})
},
+ handleDetail(row) {
+ this.$refs.DetailRef.visible = true
+ this.$refs.DetailRef.getDetail(row.id)
+ },
close() {
this.visible = false
this.$emit('close')
+ },
+ tabsClick(val) {
+ this.activeTabs = val
+ this.pageSize = 10
+ this.page = 1
+ this.infoList = []
+ if (val === 1) {
+ this.getyunwei()
+ } else if (val === 2) {
+ this.getXunJian()
+ }
+ },
+ // 鑾峰彇璁惧杩愮淮璁板綍
+ getyunwei() {
+ fetchList({
+ capacity: this.pageSize,
+ page: this.page,
+ model: {
+ deviceId: this.id
+ }
+ }).then(res => {
+ this.infoList = res.records
+ this.total = res.total
+ })
+ },
+ // 宸℃璁板綍
+ getXunJian() {
+ getDetail({
+ capacity: this.pageSize,
+ page: this.page,
+ model: {
+ deviceId: this.id
+ }
+ }).then(res => {
+ this.infoList = res.records
+ this.total = res.total
+ })
}
}
}
@@ -93,7 +341,24 @@
<style lang="scss" scoped>
@import '@/assets/style/variables.scss';
-
+.tabs {
+ border-bottom: 1px solid #DFE2E8;
+ display: flex;
+ .tab {
+ height: 58px;
+ line-height: 58px;
+ font-size: 16px;
+ color: #666666;
+ margin-right: 30px;
+ cursor: pointer;
+ }
+
+ .active {
+ font-weight: 500;
+ color: $primary-color;
+ border-bottom: 2px solid $primary-color;
+ }
+}
.main {
padding-top: 20px;
@@ -138,7 +403,7 @@
.item {
width: 33.3%;
- margin-bottom: 12px;
+ margin-bottom: 14px;
.photo {
width: 92px;
@@ -147,7 +412,7 @@
.la {
color: #7f7f7f;
- margin-top: 2px;
+ margin-bottom: 6px;
}
}
--
Gitblit v1.9.3