草庐IT

FCRP-D---帆软官网模拟题,报表模块

陈美丽工作室 2025-03-06 原文

1

要求:

外观设计:

ds1,ds2,实现根据所选的类别,出现该类别的产品:

配置控件:

隔行换色:

金额大于1000显示红色并加粗:

效果:

没有选择产品类别,产品名称可以选择全部:

2

 要求:


外观设计:采用决策报表

ds1,ds2,ds3,ds4:134带参数,为实现联动准备(按班级),默认值为空,即实现了默认显示全部班级信息,M对应男,F对应女

饼图的配置:

饼图联动配置:添加3个超链接,为3个对象分别配置

柱状图:男女平均成绩对比

柱状图:各科成绩对比

表格配置:隔行变色,分数小于60变红

 

效果:默认为全部班级数据

3

要求:


外观设计:

ds1,ds2:

select t.m,t.ym,

      t.销量,

      t1.销量 同期,

      (case when t1.销量 is null then '' 

          else (t.销量-t1.销量)/t1.销量 end) 同比,

      t2.销量 上期,

      (case when t2.销量 is null then '' 

          else (t.销量-t2.销量)/t2.销量 end) 环比

from 

(

select strftime('%m',b.订购日期)+0 m,

      strftime('%Y-%m',b.订购日期) ym,

      sum(a.数量) 销量

from 订单明细 a

    left join 订单 b on a.订单ID=b.订单ID

where strftime('%Y',b.订购日期) = '${年份}'

group by strftime('%Y-%m',b.订购日期)

) t   -- 1997年 m月份 ym年月 销量 销售额

left join

(

select strftime('%m',b.订购日期)+0 m,

      strftime('%Y-%m',b.订购日期) ym,

      sum(a.数量) 销量

from 订单明细 a

    left join 订单 b on a.订单ID=b.订单ID

where strftime('%Y',b.订购日期) = '${年份-1}'

group by strftime('%Y-%m',b.订购日期)

) t1 on t.m=t1.m  -- 1996 年 m月份 ym年月 销量 销售额

left join

(

select (case when strftime('%m',b.订购日期)+0 <=11

        then strftime('%m',b.订购日期)+1 end) m, -- 1997年 使用then判断 ym中月份小于等于11 将月份+1

      strftime('%Y-%m',b.订购日期) ym,

      sum(a.数量) 销量

from 订单明细 a

    left join 订单 b on a.订单ID=b.订单ID

where strftime('%Y',b.订购日期) = '${年份}'

group by strftime('%Y-%m',b.订购日期)

union

select (case when strftime('%m',b.订购日期)+0 =12

        then 1 end) m,

      strftime('%Y-%m',b.订购日期) ym,

      sum(a.数量) 销量

from 订单明细 a

    left join 订单 b on a.订单ID=b.订单ID

where strftime('%Y',b.订购日期) = '${年份-1}'

group by strftime('%Y-%m',b.订购日期)

) t2 on t.m=t2.m

根据参数动态显示年份:

隔行换色:

小于0,变红加粗:        

单选下拉框控件配置数据字典:

效果:

 

4

要求:


外观设计:

数据集:

 

时间和平均成本等数据,均从sql语句中取得

为控件配置数据字典,下拉选择公司名称

隔行换色

增、删按钮:

var cell = this.options.location;
//获取当前控件所在单元格的编号
FR.Msg.confirm("警告", "确定要删除吗?", function(value) {
	if (value) {
		_g().deleteReportRC(cell);
		//删除当前行
		_g().verifyAndWriteReport();
		//校验并提交
	}
})

未完成:点击确认删除后,不能带参刷新,主要体现在平均成本的数值变化

效果:

 

 

5

要求:


新建决策报表,设置成移动端的格式,采用绝对布局:

外观设计:

ds1 ds2 ds3 ds4:

select sum(运货费) from 订单;
select sum(应付金额),count(distinct 客户id),
count(distinct 运货商),count(distinct 货主省份) from 订单
select 货主地区,sum(运货费) from 订单
group by 货主地区
order by sum(运货费) desc
select sum(运货费),姓名 from 订单 a,雇员 b
where a.雇员id=b.雇员id
group by 姓名

插入4个图片:

点击详情,超链接:不采用报表块自带的标题,模仿标题的样式,为他们单独设置

饼图的配置:

调整内径占比,可以将饼图设置成圆环形状:

注意:手机预览的时候,可能会出现板块错位,取消勾选手机重布局

效果:未实现(灰色分割线)

6

要求:

图片素材https://gitee.com/ipkiss/picture


新建:决策报表,设置为绝对布局

 

外观设置:

数据集,SQL语句简单不写了

6个小标题的配置都是一样,使用报表块

地图:显示的具体金额是额外加在上面的一个报表快

       

滚动显示不知道它题目具体考的哪种:一种是跑马灯(自动的),一种是鼠标滚轮(需要滚动滚轮)

跑马灯滚动显示:注意参数的名字和报表块组件名一致

setTimeout(function(){
     _g().getWidgetByName('report3').startMarquee()
}, 500);

鼠标滚轮:

setTimeout(function() {
	//获取报表块的宽度
	var wid = ($("div[widgetname='REPORT3']").width() - 30) + 'px';
	//重置报表块宽度
	$("div[widgetname='REPORT3']").css('width', wid);
}, 1000);

存在Bug:因为是使用通过隐藏滚动条的方式展示,所以在框的右侧,同时会隐藏掉部分报表块的外框样式

效果:

7

要求:

审批状态分为:

1.待上报

2.待销售经理审核

3.待销售部长审核

4.审核完成

5.销售经理退回

6.销售部长退回

业务员(孙阳)登录界面说明:

1.业务员仅有自己的数据权限

2.当审批状态为待上报、销售经理退回、销售部长退回时,业务员可以编辑产品销量,且上报按钮可点击,若为其他状态时,销量不可编辑且按钮无法点击

销售经理(赵军)登录界面说明:

1.销售经理仅有自己所在地区的数据权限

2.当审批状态为待销售经理审核时,销售经理可进行审批通过/退回操作,若为其他状态时,按钮无法点击

销售部长(李丽丽)登录界面说明:

1.销售部长有所有的数据权限

2.当审批状态为待销售部长审核时,销售部长可进行审批通过/退回操作,若为其他状态时,按钮无法点击

有关FCRP-D---帆软官网模拟题,报表模块的更多相关文章

  1. ruby - 在 Ruby 中使用匿名模块 - 2

    假设我做了一个模块如下:m=Module.newdoclassCendend三个问题:除了对m的引用之外,还有什么方法可以访问C和m中的其他内容?我可以在创建匿名模块后为其命名吗(就像我输入“module...”一样)?如何在使用完匿名模块后将其删除,使其定义的常量不再存在? 最佳答案 三个答案:是的,使用ObjectSpace.此代码使c引用你的类(class)C不引用m:c=nilObjectSpace.each_object{|obj|c=objif(Class===objandobj.name=~/::C$/)}当然这取决于

  2. ruby-on-rails - Ruby net/ldap 模块中的内存泄漏 - 2

    作为我的Rails应用程序的一部分,我编写了一个小导入程序,它从我们的LDAP系统中吸取数据并将其塞入一个用户表中。不幸的是,与LDAP相关的代码在遍历我们的32K用户时泄漏了大量内存,我一直无法弄清楚如何解决这个问题。这个问题似乎在某种程度上与LDAP库有关,因为当我删除对LDAP内容的调用时,内存使用情况会很好地稳定下来。此外,不断增加的对象是Net::BER::BerIdentifiedString和Net::BER::BerIdentifiedArray,它们都是LDAP库的一部分。当我运行导入时,内存使用量最终达到超过1GB的峰值。如果问题存在,我需要找到一些方法来更正我的代

  3. ruby-on-rails - 在混合/模块中覆盖模型的属性访问器 - 2

    我有一个包含模块的模型。我想在模块中覆盖模型的访问器方法。例如:classBlah这显然行不通。有什么想法可以实现吗? 最佳答案 您的代码看起来是正确的。我们正在毫无困难地使用这个确切的模式。如果我没记错的话,Rails使用#method_missing作为属性setter,因此您的模块将优先,阻止ActiveRecord的setter。如果您正在使用ActiveSupport::Concern(参见thisblogpost),那么您的实例方法需要进入一个特殊的模块:classBlah

  4. ruby - 如何模拟 Net::HTTP::Post? - 2

    是的,我知道最好使用webmock,但我想知道如何在RSpec中模拟此方法:defmethod_to_testurl=URI.parseurireq=Net::HTTP::Post.newurl.pathres=Net::HTTP.start(url.host,url.port)do|http|http.requestreq,foo:1endresend这是RSpec:let(:uri){'http://example.com'}specify'HTTPcall'dohttp=mock:httpNet::HTTP.stub!(:start).and_yieldhttphttp.shou

  5. ruby - 当使用::指定模块时,为什么 Ruby 不在更高范围内查找类? - 2

    我刚刚被困在这个问题上一段时间了。以这个基地为例:moduleTopclassTestendmoduleFooendend稍后,我可以通过这样做在Foo中定义扩展Test的类:moduleTopmoduleFooclassSomeTest但是,如果我尝试通过使用::指定模块来最小化缩进:moduleTop::FooclassFailure这失败了:NameError:uninitializedconstantTop::Foo::Test这是一个错误,还是仅仅是Ruby解析变量名的方式的逻辑结果? 最佳答案 Isthisabug,or

  6. ruby - 获取模块中定义的所有常量的值 - 2

    我想获取模块中定义的所有常量的值:moduleLettersA='apple'.freezeB='boy'.freezeendconstants给了我常量的名字:Letters.constants(false)#=>[:A,:B]如何获取它们的值的数组,即["apple","boy"]? 最佳答案 为了做到这一点,请使用mapLetters.constants(false).map&Letters.method(:const_get)这将返回["a","b"]第二种方式:Letters.constants(false).map{|c

  7. ruby - 模块嵌套代码风格偏好 - 2

    我的假设是moduleAmoduleBendend和moduleA::Bend是一样的。我能够从thisblog找到解决方案,thisSOthread和andthisSOthread.为什么以及什么时候应该更喜欢紧凑语法A::B而不是另一个,因为它显然有一个缺点?我有一种直觉,它可能与性能有关,因为在更多命名空间中查找常量需要更多计算。但是我无法通过对普通类进行基准测试来验证这一点。 最佳答案 这两种写作方法经常被混淆。首先要说的是,据我所知,没有可衡量的性能差异。(在下面的书面示例中不断查找)最明显的区别,可能也是最著名的,是你的

  8. ruby-on-rails - 使用 config.threadsafe 时从 lib/加载模块/类的正确方法是什么!选项? - 2

    我一直致力于让我们的Rails2.3.8应用程序在JRuby下正确运行。一切正常,直到我启用config.threadsafe!以实现JRuby提供的并发性。这导致lib/中的模块和类不再自动加载。使用config.threadsafe!启用:$rubyscript/runner-eproduction'pSim::Sim200Provisioner'/Users/amchale/.rvm/gems/jruby-1.5.1@web-services/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:105:in`co

  9. ruby-on-rails - Controller 中的 Rails 辅助模块 - 2

    我有一个Controller,我想为这个Controller创建一个助手,我可以在不包含它的情况下使用它。我尝试像这样创建一个与Controller同名的助手classCars::EnginesController我创建的助手是moduleCars::EnginesHelperdefcheck_fuellogger.debug("chekingfuel")endend我得到的错误是undefinedlocalvariableormethod`check_fuel'for#有没有我遗漏的约定? 最佳答案 如果你真的想在Controll

  10. ruby-on-rails - 在这种情况下我如何模拟一个对象?没有明显的方法可以用模拟替换对象 - 2

    假设我在Store的模型中有这个非常简单的方法:defgeocode_addressloc=Store.geocode(address)self.lat=loc.latself.lng=loc.lngend如果我想编写一些不受地理编码服务影响的测试脚本,这些脚本可能已关闭、有限制或取决于我的互联网连接,我该如何模拟地理编码服务?如果我可以将地理编码对象传递到该方法中,那将很容易,但我不知道在这种情况下该怎么做。谢谢!特里斯坦 最佳答案 使用内置模拟和stub的rspecs,你可以做这样的事情:setupdo@subject=MyCl

随机推荐