企业汇报系统细节追加(二)

项目3 报表系统

1.发布时间和 审核时间 查询 加上 日期控件

2.添加 每层级上传功能,下载功能

3.文档列表,加上分页功能


发布时间和审核时间查询 加上日期控件http://www.bootcss.com/p/bootstrap-datetimepicker/

  >app/assets/stylesheets下增加datetimepicker.cssbootstrap-datetimepicker.css等文件,详见链接依赖关系。

  >html.erb文件关键代码如下:

       <div class="input-append dateform_datetime"style="float:left;width:20%">

               <labelfor="examine_time">审核时间</label>

               <inpu tsize="16"style="width:75%" type="text"name="examine_time"value="" class="form-control"id="examine_time"readonly>

               <span class="add-on"><iclass="icon-th"></i></span>

       </div>

       <script type="text/javascript">

             $(".form_datetime").datetimepicker({

            format: "yyyy-mm-dd hh:ii"#显示格式可选

            });

      </script>

)文件上传,doc_controller.rb控制器方法定义如下:

  def upload2

   require 'fileutils'

   tmp = params[:myfile]#参数接收

   @filename = tmp.original_filename#取出文件原始名

   File.open("#{Rails.root}/public/#{@filename}","wb")do|f|#按路径打开文件,根据rails版本不同{Rails.root}表达方式可能不一样,在此表示当前项目的根路径

    f.write(tmp.read)#写入文件

    return@filename

   end

  end   

  upload.html.erbviews代码如下:

  <form action='/doc/upload2'method="post" enctype="multipart/form-data"> #红色部分一定要加

    <input type="file"name="myfile" />

    <button style="margin-left:49px;width:100px;margin-top:15px;margin-bottom:10px"type="submit"class="btn btn-default">提交</button>

  </form>

三)文件下载,doc_controller.rb控制器方法定义如下:

  def download

   file_path = params[:file_path]#文件路径

   file_name = params[:file_name]#文件名称

   iffile_path != nil#判断路径是否为空

    if File.exist?(file_path)

     io=File.open(file_path) 

     io.binmode安排文件句柄来读取或写入“二进制”或“文本”

     send_data(io.read, :filename => file_name,:disposition => 'attachment')#发送数据

     io.close

    end 

   end

       end

html.erb文件中链接地址标签如下:<a href="/doc/download?file_path=<%=doc.f_url%>&file_name=<%=doc.f_name%>">下载</a>

四)文档列表加上分页功能

>数组读取:

   @page_num = params[:page_num]#参数为读取第几页的页数

   if @page_num == nil#若参数为空

         @page_num = 1#则默认为1

   end

  @page_num =@page_num.gsub(' ','')#去掉string类型数据的前后空格

  @page_num =@page_num.to_i#将string转成integer

   start_d=(@page_num - 1)*4#第一条要显示的数据

   end_d =(@page_num– 1)*4+3#最后一条应显示的数据

 注意:去掉字符串前后空格--gsub(““,””),去掉前空格--lstrip,去掉后空格--rstrip

>分页插件:Kaminari

aGemfile文件在“group:assetsdo”添加代码如下:

     gem 'kaminari', '~> 0.13.0'

bdoc_cntroller.rb控制器文件中定义方法:

    @docssss =Doc.page(params[:page_num]).per(10)params[:page_num]是默认的

cnew.html.erb文件中加入如下代码:

   <divstyle="text-align:right">

  <%=paginate@docssss%>

   </div>


修改于第四周周五


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值