先看效果
1. 引入资源文件jqc.js到全局或者使用页面
2. 活字格内部设置
a. 说明:
i. 为了能够实时监听到值的变化,我们使用活字格内置的“文本框“类型单元格来作为展示模板
ii. 在页面上拉出一个“文本框”,并且命名为"progress"
iii. 为“文本框”progress配置代码
代码:
- const p = Forguncy.Page
- const progessValue = parseFloat(p.getCell('progress').getValue())
- const width = $("[fgcname='progress']").css("width").split("px")[0]
- const height = $("[fgcname='progress']").css("height").split("px")[0]
- $("[fgcname='progress']:last").css("text-align", "right")
- if ($("[fgcname='progress']")[1]) {
- $("[fgcname='progress']:last").html((progessValue * 100) + "%")
- //$("[fgcname='progress']:last").css(initial)
- $("[fgcname='progress']:last").animate({
- "width": (progessValue * width) + "px",
- "backgroundColor": getColor(progessValue),
- "border-radius": (height / 2) + "px",
- "color": "white",
- "line-height": height + "px",
- "padding-right": "4px"
- }, 800)
- } else {
- $("[fgcname='progress']").after($("[fgcname='progress']").clone())
- $("[fgcname='progress']:last").empty()
- $("[fgcname='progress']:last").html((progessValue * 100) + "%")
- $("[fgcname='progress']:last").css("width", "0px")
- //$("[fgcname='progress']:last").css(initial)
- $("[fgcname='progress']:last").animate({
- "width": (progessValue * width) + "px",
- "backgroundColor": getColor(progessValue),
- "border-radius": (height / 2) + "px",
- "color": "white",
- "line-height": height + "px",
- "padding-right": "4px"
- }, 400)
- }
- function getColor(value) {
- let color = null
- if (value <= 0.25) {
- color = '#f63a0f'
- } else {
- if (value <= 0.5) {
- color = "#f2b01e"
- } else {
- if (value <= 0.75) {
- color = "#f2d31b"
- } else {
- color = "#86e01e"
- }
- }
- }
- return color
- }
复制代码 iv. 为“文本框”progress赋值(为了动态展示,我们使用绑定字段的方式为其赋值)
|
|