From d5fc0277a266482126ef39d5ebc82f88f6d7b6cb Mon Sep 17 00:00:00 2001 From: ouyangxuhua Date: Tue, 12 Jan 2016 16:43:40 +0800 Subject: [PATCH] =?UTF-8?q?3.2=E7=BB=84=E7=BB=87=E8=B5=84=E6=BA=90?= =?UTF-8?q?=E7=9A=84=E6=A0=B7=E5=BC=8F=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/files_controller.rb | 1 + app/controllers/org_subfields_controller.rb | 23 ++-- app/views/files/_org_subfield_list.html.erb | 126 ++++++++++-------- app/views/files/_subfield_files.html.erb | 123 +++++++++++------ app/views/files/index.js.erb | 2 + .../files/search_files_in_subfield.js.erb | 9 +- .../_org_left_subfield_list.html.erb | 2 +- config/routes.rb | 1 + public/javascripts/org.js | 24 ++++ public/stylesheets/org.css | 8 +- public/stylesheets/share.css | 10 +- 11 files changed, 218 insertions(+), 111 deletions(-) diff --git a/app/controllers/files_controller.rb b/app/controllers/files_controller.rb index c6773ef57..4bbb8a444 100644 --- a/app/controllers/files_controller.rb +++ b/app/controllers/files_controller.rb @@ -380,6 +380,7 @@ class FilesController < ApplicationController @organization = Organization.find(@containers.first.organization_id) show_attachments @containers @tag_list = attachment_tag_list @all_attachments + @page = params[:page] || 1 render :layout => 'base_org' # @subfield = params[:org_subfield_id] end diff --git a/app/controllers/org_subfields_controller.rb b/app/controllers/org_subfields_controller.rb index 66a236b5b..5db82436b 100644 --- a/app/controllers/org_subfields_controller.rb +++ b/app/controllers/org_subfields_controller.rb @@ -7,15 +7,22 @@ class OrgSubfieldsController < ApplicationController end def show - @org_subfield = OrgSubfield.find(params[:id]) - @organization = @org_subfield.organization.id - @messages = [] - @messages << @org_subfield.org_document_comments - @messages << @org_subfield.messages - @messages.sort{|a, b| b.updated_at <=> a.updated_at} - respond_to do |format| - format.html{render :layout => 'base_org'} + @organization = Organization.find(params[:id]) + @subfield = @organization.org_subfields.first + if @subfield.field_type == 'Post' + redirect_to organization_path(@organization, :org_subfield_id => @subfield.id) + else + end + # @org_subfield = OrgSubfield.find(params[:id]) + # @organization = @org_subfield.organization.id + # @messages = [] + # @messages << @org_subfield.org_document_comments + # @messages << @org_subfield.messages + # @messages.sort{|a, b| b.updated_at <=> a.updated_at} + # respond_to do |format| + # format.html{render :layout => 'base_org'} + # end end def destroy @subfield = OrgSubfield.find(params[:id]) diff --git a/app/views/files/_org_subfield_list.html.erb b/app/views/files/_org_subfield_list.html.erb index ad90550d4..504558b15 100644 --- a/app/views/files/_org_subfield_list.html.erb +++ b/app/views/files/_org_subfield_list.html.erb @@ -1,59 +1,77 @@ <% delete_allowed = User.current.admin? %> -
-

共有 <%= all_attachments.count%> 个资源

-

- <% if order == "asc" %> - 按 <%= link_to "时间",params.merge(:sort=>"created_on:desc"),:class => "f_b c_grey",:remote => @is_remote %><%= render partial: 'files/arrow_show',locals: { sort: sort,order:order,current:"created_on"} %> /  - <%= link_to "下载次数",params.merge(:sort=>"downloads:desc"),:class => "f_b c_grey",:remote => @is_remote %><%= render partial: 'files/arrow_show',locals: { sort: sort,order:order,current:"downloads"} %> /  - <%= link_to "引用次数",params.merge(:sort=>"quotes:desc"),:class => "f_b c_grey",:remote => @is_remote %><%= render partial: 'files/arrow_show',locals: { sort: sort,order:order,current:"quotes"} %> 排序 - <% else %> - 按 <%= link_to "时间",params.merge(:sort=>"created_on:asc"),:class => "f_b c_grey" ,:remote => @is_remote %><%= render partial: 'files/arrow_show',locals: { sort: sort,order:order,current:"created_on"} %> /  - <%= link_to "下载次数",params.merge(:sort=>"downloads:asc"),:class => "f_b c_grey",:remote => @is_remote %><%= render partial: 'files/arrow_show',locals: { sort: sort,order:order,current:"downloads"} %>  /  - <%= link_to "引用次数",params.merge(:sort=>"quotes:asc"),:class => "f_b c_grey",:remote => @is_remote %><%= render partial: 'files/arrow_show',locals: { sort: sort,order:order,current:"quotes"} %> 排序 - <% end %> -

-
-
-
- <%= render :partial => "files/subfield_tags", :locals => {:tag_list => @tag_list,:org_subfield => @org_subfield,:tag_name => @tag_name}%> -
-
-
- <% org_subfield_attachments.each do |file| %> - <% if 1 %> -
-
- <%= link_to truncate(file.filename,length: 35, omission: '...'), - download_named_attachment_path(file.id, file.filename), - :title => file.filename+"\n"+file.description.to_s, :style => "overflow: hidden; white-space: nowrap;text-overflow: ellipsis;",:class => "c_dblue f_14 f_b f_l" %> +<% org_subfield_attachments.each do |file| %> +
+
+
+ <%= link_to image_tag(url_to_avatar(file.author), :width => 50, :height => 50), user_path(file.author) %> +
+
+
+ <%= link_to truncate(file.filename,length: 35, omission: '...'), + download_named_attachment_path(file.id, file.filename), + :title => file.filename+"\n"+file.description.to_s, :style => "overflow: hidden; white-space: nowrap;text-overflow: ellipsis;",:class => "c_dblue f_14 f_b f_l" %> + <%= file_preview_eye(file, class: 'preview') %> + + <% if file.is_public? == false%> + 私有 + <%end %> + +
+
+ 上传时间:<%= format_date(file.created_on)%> + <% if file.tag_list.length > 0%> + 上传类型:<%= file.tag_list[0] %> + <% end %> +

文件大小:<%= number_to_human_size(file.filesize) %>

+

下载<%= file.downloads%>  |  引用<%= file.quotes.nil? ? 0:file.quotes %>

+
+
+
+ <%= render :partial => 'tags/tag_new', :locals => {:obj => file, :object_flag => "6"} %> + <%= render :partial => 'tags/tag_add', :locals => {:obj => file, :object_flag => "6"} %> +
+
+
    +
  • <% if User.current.logged? %> - <% if !@org_subfield.attachments.all.include?file %> - <%= link_to("选入栏目",quote_resource_show_org_subfield_org_subfield_file_path(:org_subfield_id => @org_subfield.id, :id => file.id),:class => "f_l re_select c_lorange",:remote => true) %> - <% elsif @org_subfield.organization.org_subfields.where("field_type='Resource'").count > 1 %> - <%= link_to("选入组织其他栏目",quote_resource_show_org_subfield_org_subfield_file_path(:org_subfield_id => @org_subfield.id, :id => file.id),:class => "f_l re_select c_lorange",:remote => true) %> + <% if (delete_allowed || User.current.id == file.author_id) && file.container_id == org_subfield.id && file.container_type == "OrgSubfield" %> +
      +
    • <%= link_to("发       送".html_safe, 'javascript:void(0)',:class => "postOptionLink",:onclick=>"show_send('#{file.id}')") %>
    • +
    • <%= link_to '更新版本',attachments_versions_path(file),:class => "postOptionLink",:remote=>true %>
    • +
    • + + <%= link_to (file.is_public? ? "设为私有":"设为公开"), update_file_dense_attachments_path(:attachmentid=>file.id,:newtype=>(file.is_public? ? 0:1)),:remote=>true,:class=>"postOptionLink",:method => :post %> + +
    • +
    • + <%= link_to( '删除资源', attachment_path(file), + :data => {:confirm => l(:text_are_you_sure)}, :method => :delete,:class => "postOptionLink") if (delete_allowed || User.current.id == file.author_id) && file.container_id == org_subfield.id && file.container_type == "OrgSubfield" && file.destroyable %> +
    • +
    + <%else%> +
      +
    • <%= link_to("发  送".html_safe, 'javascript:void(0)',:class => "postOptionLink2",:onclick=>"show_send('#{file.id}')") %>
    • +
    <% end %> - <%= file_preview_tag(file, class: 'f_l re_open', style:'text-align: center;') %> <% end %> -
-
-
-

文件大小:<%= number_to_human_size(file.filesize) %>

- <%= link_to( l(:button_delete), attachment_path(file), - :data => {:confirm => l(:text_are_you_sure)}, :method => :delete,:class => "f_r re_de") if (delete_allowed || User.current.id == file.author_id) && file.container_id == @org_subfield.id && file.container_type == "OrgSubfield"%> -

<%= time_tag(file.created_on).html_safe %><%= l(:label_bids_published_ago) %>  |  下载<%= file.downloads %>  |  引用<%= file.quotes.nil? ? 0:file.quotes %>

-
-
-
- <%= render :partial => 'tags/tag_new', :locals => {:obj => file, :object_flag => "6"} %> - <%= render :partial => 'tags/tag_add', :locals => {:obj => file, :object_flag => "6"} %> -
-
-
- <% end %> - <% end %> -
-
    - <%= pagination_links_full @obj_pages, @obj_count, :per_page_links => false, :remote => @is_remote, :flag => true%> -
-
+ + + +
+
+
+
+ +
+<% end %> + +<% if org_subfield_attachments.count == 10 %> + <% if params[:action] == 'search_files_in_subfield' %> + <%=link_to "点击展开更多", search_files_in_subfield_org_subfield_files_path({:org_subfield_id => org_subfield.id,:page => @obj_pages.nil? ? @feedback_pages.page + 1 : @obj_pages.page + 1}.merge(params)),:id => "show_more_attachments",:remote => "true",:class => "loadMore mt10 f_grey" %> + <% else %> + + <%=link_to "点击展开更多", org_subfield_files_path(:org_subfield_id => org_subfield.id, :page => @page + 1), :id => "show_more_attachments",:remote => "true",:class => "loadMore mt10 f_grey" %> + <%end%> +<% end%> + diff --git a/app/views/files/_subfield_files.html.erb b/app/views/files/_subfield_files.html.erb index 09f74d3cd..15d7f4cff 100644 --- a/app/views/files/_subfield_files.html.erb +++ b/app/views/files/_subfield_files.html.erb @@ -1,4 +1,4 @@ -<%= stylesheet_link_tag 'courses' %> +<%= stylesheet_link_tag 'courses'%> -
-
-
- <%= form_tag( search_files_in_subfield_org_subfield_files_path(@org_subfield), method: 'get',:class => "re_search f_l",:remote=>true) do %> - <%= text_field_tag 'name', params[:name], name: "name", :class => 're_schbox',:style=>"padding: 0px"%> - <%= submit_tag "栏目内搜索", :class => "re_schbtn b_lblue",:style => 'width:72px;',:name => "inorg_subfield",:id => "inorg_subfield", :onmouseover => "presscss('inorg_subfield')",:onmouseout =>"buttoncss()" %> - <%= submit_tag "全站搜索", :class => "re_schbtn b_lblue",:name => "insite",:id => "insite",:onmouseover => "presscss('insite')",:onmouseout =>"buttoncss()" %> +
+
+
<%= org_subfield.name %>
+ +
+
+
+ <%= form_tag( search_files_in_subfield_org_subfield_files_path(@org_subfield), method: 'get',:class => "re_search",:remote=>true) do %> + <%= text_field_tag 'name', params[:name], name: "name", :class => 'researchBox fl',:style=>"padding: 0px"%> + <%= submit_tag "栏目内搜索", :class => "blueBtn mr5 fl",:style => 'width:72px;',:name => "inorg_subfield",:id => "inorg_subfield", :onmouseover => "presscss('inorg_subfield')",:onmouseout =>"buttoncss()" %> + <%= submit_tag "全站搜索", :class => "blueBtn mr5 fl",:name => "insite",:id => "insite",:onmouseover => "presscss('insite')",:onmouseout =>"buttoncss()" %> + + <%#= link_to "上传资源",subfield_upload_file_org_subfield_files_path(@org_subfield.id, :in_org => 1),:method => "post",:class=>"blueBtn fr mr5",:remote => true %> <% end %> - <%# if is_org_subfield_teacher(User.current,@org_subfield) || (@org_subfield.publish_resource==1 && User.current.member_of_org_subfield?(@org_subfield) ) %> - -

- 上传: - - 软件 |  - 媒体 |  - 代码 |  - - 其他 -

- <%# end %>
-
- <%= render :partial => 'org_subfield_list',:locals => {org_subfield: @org_subfield,all_attachments: @all_attachments,sort:@sort,order:@order,org_subfield_attachments:@obj_attachments} %> -
- +
+
+
+ <%= render :partial => "files/subfield_tags", :locals => {:tag_list => @tag_list,:org_subfield => @org_subfield,:tag_name => @tag_name}%> +
+
+

共有 <%= @all_attachments.count %> 个资源

+

+ <% if @order == "asc" %> + 按 <%= link_to "时间",params.merge(:sort=>"created_on:desc"),:class => "f_b c_grey",:remote => @is_remote %><%= render partial: 'files/arrow_show',locals: { sort: @sort,order:@order,current:"created_on"} %> /  + <%= link_to "下载次数",params.merge(:sort=>"downloads:desc"),:class => "f_b c_grey",:remote => @is_remote %><%= render partial: 'files/arrow_show',locals: { sort: @sort,order:@order,current:"downloads"} %> /  + <%= link_to "引用次数",params.merge(:sort=>"quotes:desc"),:class => "f_b c_grey",:remote => @is_remote %><%= render partial: 'files/arrow_show',locals: { sort: @sort,order:@order,current:"quotes"} %> 排序 + <% else %> + 按 <%= link_to "时间",params.merge(:sort=>"created_on:asc"),:class => "f_b c_grey" ,:remote => @is_remote %><%= render partial: 'files/arrow_show',locals: { sort: @sort,order:@order,current:"created_on"} %> /  + <%= link_to "下载次数",params.merge(:sort=>"downloads:asc"),:class => "f_b c_grey",:remote => @is_remote %><%= render partial: 'files/arrow_show',locals: { sort: @sort,order:@order,current:"downloads"} %>  /  + <%= link_to "引用次数",params.merge(:sort=>"quotes:asc"),:class => "f_b c_grey",:remote => @is_remote %><%= render partial: 'files/arrow_show',locals: { sort: @sort,order:@order,current:"quotes"} %> 排序 + <% end %> +

+
+
+
+
+ <%= render :partial => 'org_subfield_list',:locals => {org_subfield: @org_subfield,all_attachments: @all_attachments,sort:@sort,order:@order,org_subfield_attachments:@obj_attachments} %> +
+
-<% html_title(l(:label_attachment_plural)) -%> \ No newline at end of file +<% html_title(l(:label_attachment_plural)) -%> + \ No newline at end of file diff --git a/app/views/files/index.js.erb b/app/views/files/index.js.erb index fe24c9be0..49e7ac714 100644 --- a/app/views/files/index.js.erb +++ b/app/views/files/index.js.erb @@ -2,4 +2,6 @@ $("#show_more_attachments").replaceWith("<%= escape_javascript( render :partial => 'files/course_list',:locals => {course:@course,all_attachments: @all_attachments,sort:@sort,order:@order,curse_attachments:@obj_attachments} )%>"); <% elsif @project %> $("#show_more_attachments").replaceWith("<%= escape_javascript( render :partial => 'files/project_list', :locals => {project:@project, all_attachments:@all_attachments, sort:@sort, order:@order, project_attachments:@obj_attachments})%>"); +<% elsif @org_subfield %> + $("#show_more_attachments").replaceWith("<%= escape_javascript( render :partial => 'files/org_subfield_list', :locals => {org_subfield:@org_subfield, all_attachments:@all_attachments, sort:@sort, order:@order, org_subfield_attachments:@obj_attachments})%>"); <%end %> \ No newline at end of file diff --git a/app/views/files/search_files_in_subfield.js.erb b/app/views/files/search_files_in_subfield.js.erb index deed2d5d3..dfaa56a6c 100644 --- a/app/views/files/search_files_in_subfield.js.erb +++ b/app/views/files/search_files_in_subfield.js.erb @@ -1,2 +1,7 @@ -$("#org_subfield_list").html("<%= escape_javascript(render :partial => 'org_subfield_list', - :locals => {org_subfield: @org_subfield,all_attachments: @result,sort:@sort,order:@order,org_subfield_attachments:@searched_attach})%>"); \ No newline at end of file +<% if (@obj_pages &&( @obj_pages.page > 1)) || (@feedback_pages && (@feedback_pages.page > 1)) %> + $("#show_more_attachments").replaceWith("<%= escape_javascript( render :partial => 'files/org_subfield_list', + :locals => {org_subfield: @org_subfield,all_attachments: @result,sort:@sort,order:@order,org_subfield_attachments:@searched_attach} )%>"); +<% else %> + $("#org_subfield_list").html("<%= escape_javascript(render :partial => 'org_subfield_list', + :locals => {org_subfield: @org_subfield,all_attachments: @result,sort:@sort,order:@order,org_subfield_attachments:@searched_attach})%>"); +<% end %> \ No newline at end of file diff --git a/app/views/organizations/_org_left_subfield_list.html.erb b/app/views/organizations/_org_left_subfield_list.html.erb index 8280a2be7..cbce501e5 100644 --- a/app/views/organizations/_org_left_subfield_list.html.erb +++ b/app/views/organizations/_org_left_subfield_list.html.erb @@ -75,7 +75,7 @@ <%=link_to "", new_organization_org_document_comment_path(organization, :field_id => field.id), :method => "get", :class => "homepageMenuSetting fr", :title => "发布帖子"%> <% end %> <% else %> - <%= link_to "#{field.name}", org_subfield_files_path(field), :class => "homepageMenuText" %> + <%= link_to "#{field.name}", show_org_subfield_organization_path(:id => organization.id, :name => field.name), :class => "homepageMenuText" %> <% if User.current.member_of_org?organization %> <%= link_to "", subfield_upload_file_org_subfield_files_path(field.id, :in_org => 1),:method => "post", :remote => true, :class => "homepageMenuSetting fr", :title => "上传资源" %> diff --git a/config/routes.rb b/config/routes.rb index 133203a8b..1f04f65d5 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -54,6 +54,7 @@ RedmineApp::Application.routes.draw do post 'logout' post 'apply_subdomain' get 'org_resources_subfield' + get '/:name', :to => 'org_subfields#show', :as => 'show_org_subfield' end collection do get 'check_uniq' diff --git a/public/javascripts/org.js b/public/javascripts/org.js index 1e1951006..636b84baa 100644 --- a/public/javascripts/org.js +++ b/public/javascripts/org.js @@ -50,4 +50,28 @@ function show_more_org_course(url){ {page: $("#org_course_page_num").val()}, function (data){} ); +} + +function search_tag_attachment(url,tag_name,q,course_id,sort) +{ + //alert("111"); + //clearTimeout(clickFunction); + clickFunction = setTimeout(function() { + search_func() + }, 500); + function search_func(){ + if(isdb!= false ) return; + $.get( + url, + { + tag_name: tag_name, + q: q, + org_subfield_id:course_id + }, + function (data) { + + } + ); + } + } \ No newline at end of file diff --git a/public/stylesheets/org.css b/public/stylesheets/org.css index 02e6ce340..2ebdcf654 100644 --- a/public/stylesheets/org.css +++ b/public/stylesheets/org.css @@ -108,4 +108,10 @@ div.flash {margin-top :0px !important} .w80{ width:80px;} .relatePInfo {text-align: left; position:absolute; background-color:#ffffff; padding:3px 8px; white-space:nowrap; box-shadow:0px 2px 8px rgba(146, 153, 169, 0.5); z-index:999; color:#585858; cursor:pointer; display:none;} -.captainName {max-width:40px; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; display: inline-block;} \ No newline at end of file +.captainName {max-width:40px; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; display: inline-block;} +.researchBox { width:240px; height:24px; border:1px solid #dddddd; color:#666666; outline:none;} +.blueBtn{ width:60px; height:26px; color:#FFF; border:none; background-color:#269ac9; cursor:pointer; padding-left:0px; text-align:center;} +.blueBtn:hover {background-color:#298fbd;} +/*文本描述展开高度*/ +.maxh360 {max-height: 810px;} +.lh18 { line-height: 18px;} \ No newline at end of file diff --git a/public/stylesheets/share.css b/public/stylesheets/share.css index b36d80082..0c0597507 100644 --- a/public/stylesheets/share.css +++ b/public/stylesheets/share.css @@ -41,4 +41,12 @@ a.greyBtn2 {float:right; text-align:center; font-size:12px; color:#ffffff; backg a.grey_btn{ background:#d9d9d9; color:#656565;font-size:14px; font-weight:normal; text-align:center; margin-left:10px; margin-bottom:10px; padding:2px 10px;} a.blue_btn{background:#64bdd9;color:#fff;font-size:14px; font-weight:normal; padding:2px 8px; text-align:center;cursor: pointer;} .homepageImageSex {top:116px; left:5px; width:20px; height:20px; background:url(../images/homepage_icon.png) -10px -112px no-repeat; float:left;} -.homepageImageName {font-size:16px; color:#484848; margin-left:15px; margin-right:8px; height:21px; float:left;} \ No newline at end of file +.homepageImageName {font-size:16px; color:#484848; margin-left:15px; margin-right:8px; height:21px; float:left;} + +a.resourcesTypeAll {background:url(images/homepage_icon.png) -180px -89px no-repeat; padding-left:23px;} + +.mediaIcon {background:url(../images/hwork_icon.png) -5px -160px no-repeat; padding-left:23px;} +.codeIcon {background:url(../images/hwork_icon.png) -78px -160px no-repeat; padding-left:23px;} +.othersIcon {background:url(../images/hwork_icon.png) -3px -210px no-repeat; padding-left:23px;} +.thesisIcon {background:url(../images/hwork_icon.png) -78px -212px no-repeat; padding-left:23px;} +.softwareIcon {background:url(../images/hwork_icon.png) -5px -254px no-repeat; padding-left:23px;} \ No newline at end of file