首页 > 其他分享 >el-progress 自定义线状进度条右边的文字

el-progress 自定义线状进度条右边的文字

时间:2024-08-01 10:08:22浏览次数:19  
标签:el finishNum 自定义 进度条 color 标签 item font size

需要展示类似下面的效果

 搜了很多slot的方式试了都不行,好像是因为我后面的文字太长了导致了换行,加上这边需要加其他的样式,最后干脆将原始的文字变成空的,自己写右边的文字加样式了

               <div
                  style="margin: 10px 0 20px 0"
                  v-for="item in deptdata"
                  :key="item.code"
                  :name="item.code"
                >
                  {{ item.name }}
                  <br />
                  <el-progress
                    :stroke-width="10"
                    :percentage="item.percent"
                    :color="getColor(item)"
                    :define-back-color="getBackColor(item)"
                    class="custome-progress"
                    :format="(v) => formatPercent(v, item)"
                  >
                  </el-progress>
                  <div class="text-container">
                    <span class="left-num"> {{ item.finishNum }}</span>
                    <span class="right-num">/{{ item.totalNum }} </span>
                    <span
                      class="tag tag-success"
                      v-if="item.finishNum == item.totalNum"
                      >已完成</span
                    >
                    <span class="tag tag-fail" v-else-if="item.finishNum == '0'"
                      >未填写</span
                    >
                    <span class="tag tag-ing" v-else>填写中</span>
                  </div>
                </div>

 

methods部分

    formatPercent(percentage, item) {
      return '' // 这里变成空的 item.finishNum + '/' + item.totalNum
    },
    getColor(item) {
      if (item.finishNum == '0') {
        return '#ebeef5'
      } else if (item.finishNum == item.totalNum) {
        return '#67c23a'
      } else {
        return '#409eff'
      }
    },
    getBackColor(item) {
      let backColor = '#FFFFFF'
      if (item.finishNum == item.totalNum) {
        backColor = '#FFFFFF'
      } else {
        backColor = '#F0F2F5'
      }
      return backColor
    }
  样式部分:
<style lang="scss" scoped>
.finish-num {
  font-weight: 400;
  font-size: 26px;
}
.total-num {
  font-size: 18px;
}
.left-num {
  font-weight: 400;
  font-size: 18px;
}
.right-num {
  font-size: 14px;
}
/deep/ .custome-progress > .el-progress-bar {
  padding-right: 100px !important;
  //margin-right: -100px !important;
}
.text-container {
  position: relative;
  font-size: 16px; /* 根据需要调整字体大小 */
  margin-top: -18px;
  width: 90px; /* 外面的宽度为100相当于是距离左边10px */
  float: right;
}
.tag {
  position: absolute;
  top: -20px;
  right: 0;
  padding: 2px 5px; /* 标签内边距 */
  border-radius: 3px; /* 圆角边框 */
  font-size: 12px; /* 标签字体大小 */
  border: 1px solid;
}
.tag-ing {
  background-color: #ecf5ff; /* 标签背景色 */
  color: #409eff; /* 标签字体颜色 */
  border-color: #d9ecff;
}
.tag-success {
  background-color: #f0f9eb; /* 标签背景色 */
  color: #67c23a; /* 标签字体颜色 */
  border-color: #e1f3d8;
}
.tag-fail {
  background-color: #fef0f0; /* 标签背景色 */
  color: #f56c6c; /* 标签字体颜色 */
  border-color: #fde2e2;
}
</style>

 

  

标签:el,finishNum,自定义,进度条,color,标签,item,font,size
From: https://www.cnblogs.com/utomboy/p/18336070

相关文章

  • epel-release 是什么
    EPEL-release(ExtraPackagesforEnterpriseLinux)是一个软件仓库,它为企业级Linux发行版(如CentOS、RHEL等)提供额外的软件包。以下是关于EPEL-release的详细解释:一、定义与功能定义:EPEL-release是一个软件包,它提供了额外的软件包源,使得用户可以在基于RedHat的发行版中安装和更......
  • docker-compose搭建elk
    一、准备检查自己的docker和docker-compose是否安装完毕,切换docker的镜像源 二、安装本次安装的主要组件包括es、filebeat、kibana、logstash   2.1先配置组件的挂载点                       ......
  • Celery 返回有关一名工作人员当前任务的错误信息
    我有一个捆绑包,其中包含用于任务的Celery和RabbitMQ以及用于Web请求的FastApi应用程序。celery应用程序从命令提示符启动celery-Acelery_appworker-linfo-PgeventRabbit部署在Docker容器中。FastApi从python启动脚本。这是代码。问......
  • 如何将优先级任务添加到celery队列而不禁用获取
    我有一个celery工作线程,并发度设置为1,它从RabbitMQ获取任务。我想创建一个在单个并发设置中只有一个队列的系统,因此,所有任务都将添加到主队列中。关于任务-它只是一个循环,我们用更新状态。|||并行地我有两个服务。task.update_state()Celery-beat......
  • 关键错误:“工具”。 CrewAI 在制作自定义工具时出错?
    我开发了一个团队来从不同的URL获取一些信息。到目前为止总共有大约3个URL,所以我创建了5个代理。1是编辑器(经理),1是其他3个带到表中的所有数据的编译器。如果这有帮助的话,这是我的文件夹结构university_scraper/│├──src/│├──__init__.py│......
  • Python Selenium 单击 webdriverwait 与 find_element
    我无法理解这两个代码块之间的区别。发送点击在webdriverwait和find_elements中都有效。代码1fromseleniumimportwebdriverfromselenium.webdriver.common.byimportByfromselenium.webdriver.support.uiimportWebDriverWaitfromselenium.webdriver.suppo......
  • Elastic python请求超时错误:池达到最大大小,不允许更多连接
    我正在使用Elasticsearchpython模块。我正在尝试像这样建立到服务器的连接es=Elasticsearch([config.endpoint],api_key=config.key,request_timeout=config.request_timeout)服务器连接,然后我尝试执行丰富策略。es.enr......
  • Selenium“没有提供‘moz:firefoxOptions.binary’功能,并且在命令行上没有设置二进制
    我一直在尝试将python脚本移植到我的wsl/bash编码中心中。我继续收到此错误:Traceback(mostrecentcalllast):File"/path/to/my/file.py",line20,in<module>driver=webdriver.Firefox(service=FirefoxService(GeckoDriverManager().install()))Fil......
  • 使用 Selenium 导出链接时出现 NoSuchDriverException 错误
    我想设置一个脚本来从输入URL后生成的网站导出链接。相关网站是pagespeed.web.dev。我的知识为零,所以虽然我知道这不是最好的选择,但我还是向ChatGPT寻求帮助。看起来只用1个URL就可以很好地完成所有事情,但一旦我尝试做5个URL,它就崩溃了。注意:据我了解,我不是数据抓取,......
  • 如何使用 Selenium (python) 访问另一个影子根中影子根中的元素?
    我有以下代码和HTML结构(我不是这方面的专家)。我正在尝试抓取HTML代码末尾的96.00C元素,其路径是:Xpath://*[@id="_grid"]/set-class2/div2/text-binding//text()完整Xpath:/html/body/main/div/div3/div3/......