给一个容器添加el-popover/el-tooltip内容提示框

效果: 

html:

   <div class="evaluate">
            <div class="list flex-column-center" v-for="(item, index) in evaluateList" :key="index"
              @mouseenter="mouseenterHandler(item)" @mouseleave="mouseleaveHandler(item)">
              <div class="el-popover el-popper el-popover--plain formula" x-placement="top"
                v-if="item.showTooltip" :style="cluStyle(item.formula)">
                {{ item.formula }}
                <div x-arrow="" class="popper__arrow" style="left: 116px;"></div>
              </div>
              <div class="title">{{ item.title }}</div>
              <div class="num-box">
                <div class="num">{{ item.num }}</div>
                <div class="unit">{{ item.unit }}</div>
                <div class="label">{{ item.label }}</div>
              </div>
              <div class="compare">{{ item.compare }}</div>
            </div>
          </div>

 js:

 evaluateList: [
        {
          title: "取水关键指标",
          num: "1.3",
          unit: "m³水/吨焦",
          label: "吨焦取水量",
          compare: "节水企业 < 1.2",
          formula: "吨焦取水量(%)=取水量(m³)/企业产焦量(吨)",
          showTooltip: false,
        },
        {
          title: "用水漏损关键指标",
          num: "0",
          unit: "%",
          label: "用水综合漏损率",
          compare: "节水企业 < 3",
          formula: "用水综合漏失率(%)=漏失水量(m³)/取水量(m³)",
          showTooltip: false,
        },
        {
          title: "重复利用关键指标",
          num: "98.5",
          unit: "%",
          label: "间接冷却水循环率",
          compare: "节水企业 ≥ 98",
          formula: "间接冷却水循环率(%)=间接冷却水循环量(m³)/(间接冷却水循环量(m³)+间接冷却水系统补充水量(m³))",
          showTooltip: false,
        },
        {
          title: "重复利用关键指标",
          num: "79.2",
          unit: "%",
          label: "废水回收率",
          compare: "节水企业 ≥ 75",
          formula: "废水回用率(%)=回用水量(m³)/废水收集量(m³)",
          showTooltip: false,
        },
        {
          title: "重复利用关键指标",
          num: "98.0",
          unit: "%",
          label: "重复利用率",
          compare: "节水企业 ≥ 98",
          formula: "重复利用率(%)=复用水量(m³)/用水量(m³)",
          showTooltip: false,
        },
      ],
 cluStyle(content) {
      if (content.length && content.length <50) {
        return `top:-60px`
      }
      if (content.length && content.length >50) {
        return `top:-80px`
      }
    },
    mouseenterHandler(item) {
      item.showTooltip = true
    },
    mouseleaveHandler(item) {
      item.showTooltip = false
    },

css:

 .evaluate {
        width: 100%;
        height: calc(100% - 20px);
        display: flex;
        justify-content: space-around;

        .list {
          width: 20%;
          height: 100%;
          position: relative;

          .title {
            font-size: 14px;
            color: #47e2ff;
          }

          .num-box {
            width: 108px;
            height: 116px;
            background: url(~@/assets/img/text-bg3.png);
            display: flex;
            flex-direction: column;
            align-items: center;

            .num {
              font-family: "ShuHeiTi";
              font-size: 20px;
              margin-top: 30px;
            }

            .unit {
              margin-bottom: 15px;
            }
          }

          .compare {
            background-color: #326aef;
            padding: 5px 20px;
          }

          .formula {
            position: absolute;
            top: -80px;
          }
        }
      }

 下面这里不要加作用域 scoped否则不生效哦!!

<style lang="scss">
.el-tooltip__popper {
  font-size: 14px;
  max-width: 20%
}
.el-popover--plain {
  padding: 10px;
}

效果:

html: 

  <avue-crud :option="optionWatervolume" v-show="activeTab == 'watervolume'" :table-loading="loading" :data="data"
            :page.sync="page" :search.sync="searchForm" v-model="form" ref="crud" :permission="permissionList"
            @row-click="rowClick" @search-change="searchChange" @search-reset="searchReset"
            @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
            @refresh-change="refreshChange" @on-load="onLoad" @cell-mouse-enter="cellMouseEnter"
            @cell-mouse-leave="cellMouseLeave">
            <template slot-scope="{ row }" slot="deviceName">
              <!-- 悬浮提示 -->
              <el-tooltip placement="top" v-model="row.showTooltip" :open-delay="500" effect="light"
                :disabled="!row.showTooltip" class="device">
                <!-- 注意 显示单元格浮框时 v-model 和 disabled 属性要一起使用才有效果 -->
                <div slot="content">
                  {{ row.text }}
                </div>
                <div>{{ row.deviceName }}</div>
              </el-tooltip>
            </template>
            <template slot-scope="{ row }" slot="fieldTag">
              <el-row class="row">
                <el-select v-model="row.fieldTag" placeholder="请选择" @change="handselect(row, row.fieldTag)" ref="select"
                  size="mini">
                  <el-option v-for="(item, index) in row.waterFieldConfigList" :key="index" :label="item.fieldTag"
                    :value="item.fieldName">
                  </el-option>
                </el-select>
              </el-row>
            </template>
            <template slot-scope="{ row }" slot="measurementMethod">
              <el-row class="row">
                <span>{{ row.measurementMethod == "REALTIME_VALUE" ? "实时值" : row.measurementMethod == "CUMULATIVE_VALUE" ?
                  "累计值" : "-"
                }}</span>
              </el-row>
            </template>
          </avue-crud>

js:

  cluStyle(content) {
      if (content.length && content.length == 10) {
        return `bottom:-${content.length*6}px`
      }
      if (content.length && content.length < 10) {
        return `bottom:-${content.length * 10}px`
      }
      if (content.length&& content.length > 14&&content.length <30 ) {
        return `bottom:-${content.length*4}px`
      }
      if (content.length&&content.length >29 && content.length <40) {
        return `bottom:-${content.length*3}px`
      }
      if (content.length && content.length >39 && content.length <75) {
        return `bottom:-${content.length*2.2}px`
      }
      if (content.length && content.length >74&& content.length <90) {
        return `bottom:-${content.length*2}px`
      }
      if (content.length && content.length >89) {
        return `bottom:-${content.length*1.8}px`
      }
     
     
    },

cellMouseEnter(row, column, cell, event) {
      if (column.label == "计量设备") {
        check(row.id).then(res => {
          let text = ""
          if (res.data.code == 200) {
            text = res.data.data
            this.$set(row, "text", text)
            this.$set(row, "showTooltip", true)
          }
        })
      }
    },
    cellMouseLeave(row) {
      this.$set(row, "showTooltip", false)
    },

css:

<style lang="scss">
.el-tooltip__popper {
  font-size: 14px;
  max-width: 20%
}
</style>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/244601.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ProcessOn在线绘制部分项目流程图

目录 一、ProcessOn 1.1 简介 1.2 官方网站 二、Axure自定义元件库 2.1 新建元件库 2.2 自定义元件 2.3 添加元件库 三、HIS系统门诊流程图 四、HIS系统住院流程图 五、HIS系统药品采购入库流程图 六、OA会议流程图 一、ProcessOn 1.1 简介 ProcessOn是一款在线的流…

10.CSS浮动

CSS浮动 1.介绍 在最初&#xff0c;浮动是用来实现文字环绕图片效果的&#xff0c;现在浮动是主流的页面布局方式之一 2.作用 让元素脱离标准流&#xff0c;同一级的浮动的元素可以并排在一排显示 3.元素浮动后的特点 脱离文档流不管浮动前是什么元素&#xff0c;浮动后&…

elementui select中添加新增标签

<el-select v-model"ruleForm.eventType" :placeholder"请选择事件类型&#xff0c;可手动添加" ref"template" clearable visible-change"(v) > visibleChange(v, template)"><el-option v-for"item in eventTypeOp…

【数据分析实战】华住集团酒店行业洞察:节假日与工作日表现对比

文章目录 1. 写在前面2. 数据采集源介绍2.1 数据展示 3. 节假日与工作日入住率对比3.1 入住率数据3.2 数据可视化3.3 本人浅薄分析 4. 节假日与工作日日均价对比4.1 日均价数据4.2 数据可视化4.3 本人浅薄分析 5. 总结与展望 1. 写在前面 随着旅游业的蓬勃发展和疫情逐渐得到控…

使用docker部署nextcloud

一、思路&#xff1a;数据库使用容器外mysql(宿主机),同时把容器中nextcloud文件目录映射到容器外&#xff0c;即宿主机。 1、创建数据库和用户&#xff0c;并授权 [rootappserver ~]# /usr/local/mysql57/bin/mysql -uroot -p mysql> create database nextcloud charset ut…

C++智能指针介绍

引言 为了充分利用RAII思想&#xff0c;C 11开始引入了智能指针&#xff0c;本文介绍RAII以及三种智能指针&#xff1a; std::unique_ptrstd::shared_ptrstd::weak_ptr 除此之外&#xff0c;本文还会介绍智能指针的常用创建方法&#xff1a; std::make_uniquestd::make_sha…

珠海盈致wms管理软件在注塑行业的应用

wms管理软件在注塑行业的应用主要体现在以下几个方面&#xff1a; 实现物料精细化管理&#xff1a;WMS通过为每个原材料或成品进行条码标签&#xff0c;能够显示原材料和成品的详细信息&#xff0c;如产品名称、条码编号、生产日期、入库日期、供应商等。在入库、出库、库内管理…

three.js(二)

three.js&#xff08;二&#xff09; 参考前言正文简单开始(不使用任何框架)补充 粗略带过(使用Vue框架)细致讲解(比如我使用react框架)App.jsx 的进阶版 项目打包补充打包遇到的问题:原因:解决办法: 参考 https://threejs.org/docs/ 前言 上一集中,我们用到了three.js的一个…

Web漏洞分析-文件解析及上传(下)

随着互联网的迅速发展&#xff0c;网络安全问题变得日益复杂&#xff0c;而文件解析及上传漏洞成为攻击者们频繁攻击的热点之一。本文将深入研究文件解析及上传漏洞&#xff0c;通过对文件上传、Web容器IIS、命令执行、Nginx文件解析漏洞以及公猫任意文件上传等方面的细致分析&…

代驾系统开发:驶向未来的智能交通服务

随着科技的迅速发展&#xff0c;代驾系统的开发成为改善出行体验和提升交通服务智能化的重要一环。本文将聚焦于代驾系统开发的技术创新&#xff0c;为读者呈现其中涉及的一些令人振奋的技术代码。 1. 区块链技术的运用&#xff1a; 区块链技术被引入代驾系统&#xff0c;可…

尚海整装装修流程 揭秘装修行业的高标准服务

装修房子其实比较复杂&#xff0c;在这一复杂的过程中&#xff0c;一个合理且严密的装修流程显得尤为关键。错误的步骤安排不仅会造成资源的浪费&#xff0c;更有可能让人产生“弃屋重装”的冲动。尚海整装以精准的流程规划确保了装修的每一步都有序进行&#xff0c;轻松搞定装…

人工智能与VR技术

人工智能与虚拟现实技术&#xff08;VR&#xff09;的结合是当今科技领域中备受瞩目的话题。两者的结合不仅在娱乐、教育、医疗等领域展现出了巨大的潜力&#xff0c;而且在未来的发展趋势中也将具有重要意义。本文将从技术融合、应用场景和未来发展等方面探讨人工智能与虚拟现…

激荡思享 驱动增长 | 湾数联·湾董会走进竹云

12月12日&#xff0c;由湾区数字科技产业联盟&#xff08;GBADA&#xff09;、湾盟产业创新服务中心&#xff08;GBAIC&#xff09;、深圳竹云科技股份有限公司联合主办的“湾数联湾董会”第一期在深圳南山区创智云城圆满举办。本期湾董会以“竹云IDaaS数字身份为企业数字化转型…

select简单使用

语法 先大致看一下&#xff0c;后面都会讲&#xff0c;distinct用来去重&#xff0c;from 指明表名&#xff0c;where语句则用来控制查询条件&#xff0c;order by则用来对结果进行升序/降序排序&#xff0c;limit则用来分页。 SELECT [DISTINCT] {* | {column [, column] ..…

mysqlsh导入json,最终还得靠navicat导入json

工作需要将一个巨大的10G的json导入mysql数据库。 看到mysql官方有对json导入的支持。 如下&#xff1a; MySQL :: Import JSON to MySQL made easy with the MySQL Shell $ mysqlsh rootlocalhost:33300/test --import /path_to_file/zips.json Creating a session to root…

Linux——进程地址空间与进程控制

进程地址空间与进程控制 文章目录 进程地址空间与进程控制1. 进程地址空间1.1 进程地址空间的引入1.1 进程地址空间的特点1.2 页表1.3 C/C的地址1.4 进程地址空间 页表的优势 2. 进程控制2.1 进程创建2.1.1 写时拷贝 2.2 进程终止2.2.1 进程退出码2.2.2 异常信号码2.2.3 errno…

阿里巴巴旗下的 AI 平台 AIHub 提供多种免费的图片 AI 在线工具

顽兔抠图&#xff1a;一键去除图像背景的 AI 工具&#xff0c;支持图片和视频。顽兔抠图 淘宝网(Taobao.com)作为专业的购物网站拥有全球时尚前沿的消费者购物集市,100%认证网上商城及超值二手商品区&#xff0c;同时购物安全&#xff0c;产品丰富&#xff0c;应有尽有,任你选购…

解决固定资产盘点问题,易点易动来帮忙!

固定资产盘点是企业管理中不可或缺的环节&#xff0c;然而&#xff0c;很多企业在固定资产盘点方面面临一系列问题&#xff1a; 盘点过程繁琐&#xff1a;传统的手动盘点方式需要耗费大量人力和时间&#xff0c;容易出现疏漏和错误&#xff0c;效率低下&#xff1b; 数据记录不…

uniapp 之 图片 视频 文件上传

<view class"" style"padding: 24rpx 0"><text>相关资料 <text class"fs-26 color-666">&#xff08;图片、视频、文档不超过9个&#xff09;</text> </text><view class"flex align-center" style&…

安全算法(二):共享密钥加密、公开密钥加密、混合加密和迪菲-赫尔曼密钥交换

安全算法&#xff08;二&#xff09;&#xff1a;共享密钥加密、公开密钥加密、混合加密和迪菲-赫尔曼密钥交换 本章介绍了共享密钥加密、公开密钥加密&#xff0c;和两种加密方法混合使用的混合加密方法&#xff1b;最后介绍了迪菲-赫尔曼密钥交换。 加密数据的方法可以分为…