永洪社区

标题: 能否做一个计算器 [打印本页]

作者: Treesssssss    时间: 2022-3-22 12:07
标题: 能否做一个计算器
请问能否在dashboard上做一个计算器,就是在输入框里填入数据,然后自动得出计算后结果~要填两颗数据,让他们相除~
作者: yanieye    时间: 2022-3-22 12:07
1. 在报告中增加两个文本参数组件,设置类型为浮点数,修改它们的组件名称,假设被除数为paramb,除数为paramb;
2. 增加一个文本组件用于计算结果输出,修改它的组件名称为Result.
3. 在报告的装载时运行和变化时运行脚本中,加入如下的脚本。
if(param['paramd'] == 0) {
   debug('除数不能为0!');
   Result.data = '';
}
else {
   Result.data = param['paramb']/param['paramd'];
}

就可以了, 也可以参考附件的Demo, 在管理系统 -> 资源部署 -> 资源导入中可以导入进来。
作者: wwwww    时间: 2022-3-22 12:26
可以,写脚本在提交组件中
作者: Treesssssss    时间: 2022-3-22 12:29
yhdata_4AUIACTC 发表于 2022-3-22 12:26
可以,写脚本在提交组件中

能教教具体怎么写脚本?
作者: wwwww    时间: 2022-3-22 12:35
Treesssssss 发表于 2022-3-22 12:29
能教教具体怎么写脚本?

var text1=getViewData("text1");
var text2=getViewData("text2");

                                //  在网上查的

/*
var obj=document.getElementById("gs");
var index = obj.selectedIndex;
var sushu = obj.options[index].value;
                //获取下拉框的值
                */
                               
var sushu = sushu.getSelectedObject()[0]; //获取下拉框的值
var text3 = getViewData("text3");
var rst;
num1 = parseFloat(text1);
num2 = parseFloat(text2);
switch(sushu){
case "+":
rst = num1+num2; break;
case "-":
rst = num1-num2; break;
case "*":
rst = num1*num2; break;
case "/":
rst = num1/num2; break;
}
         text3.data=rst; //  在网上查的 其他的地方需要多完善




欢迎光临 永洪社区 (https://club.yonghongtech.com/) Powered by Discuz! X3.4