Merge branch 'dev_aliyun' of https://bdgit.educoder.net/Hjqreturn/educoder into dev_aliyun

dev_cs_new
hjm 6 years ago
commit b37ecec3e5

@ -9,8 +9,7 @@ class BiddingUsersController < ApplicationController
end
def win
package = current_user.project_packages.find(params[:project_package_id])
ProjectPackages::WinBiddingService.call(package, params)
ProjectPackages::WinBiddingService.call(current_package, current_user, params)
render_ok
rescue ProjectPackages::WinBiddingService::Error => ex
render_error(ex.message)

@ -17,8 +17,8 @@ class FilesController < ApplicationController
sort_type = params[:sort_type] || 'created_on' # created_on时间排序 downloads下载次数排序; quotes: 引用次数排序
course_second_category_id = params[:course_second_category_id] || 0 # 0: 为主目录, 其他为次目录id
@user = current_user
@attachments = @course.attachments.by_course_second_category_id(course_second_category_id)
.includes(attachment_group_settings: :course_group, author: [:user_extension, :course_members])
@attachments = course_second_category_id.to_i == 0 ? @course.attachments : @course.attachments.by_course_second_category_id(course_second_category_id)
@attachments = @attachments.includes(attachment_group_settings: :course_group, author: [:user_extension, :course_members])
.ordered(sort: sort.to_i, sort_type: sort_type.strip)
get_category(@course, course_second_category_id)

@ -194,7 +194,7 @@ module CoursesHelper
# 获取课堂的资源数
def get_attachment_count(course, category_id)
course.attachments.where(course_second_category_id: category_id).size
category_id.to_i == 0 ? course.attachments.size : course.attachments.where(course_second_category_id: category_id).size
end
# 获取课堂的作业数

@ -1,14 +1,16 @@
class ProjectPackages::WinBiddingService < ApplicationService
Error = Class.new(StandardError)
attr_reader :package, :params
attr_reader :package, :user, :params
def initialize(package, params)
def initialize(package, user, params)
@package = package
@user = user
@params = params
end
def call
raise Error, '没有权限' unless package.creator_id == user.id || user.admin_or_business?
raise Error, '竞标报名还未结束' unless package.bidding_end?
raise Error, '该状态下不能选择中标者' unless package.may_finish_bidding?

@ -3,6 +3,7 @@ json.message 'success'
json.private_message do
json.extract! @message, :id, :user_id, :receiver_id, :sender_id, :content
json.send_day @message.send_time.strftime('%Y-%m-%d')
json.send_time @message.display_send_time
json.sender do
json.partial! 'users/user_simple', user: @message.sender

@ -294,7 +294,7 @@ class PackageConcent extends Component {
<div className=" item-head-blank"></div>
<div className=" item-head-price">
<div className=" item-head-price mtf12">
{item.min_price===null?"":<span>{item.min_price}</span>}
{item.max_price===null||item.min_price===null?"":<span>~</span>}
{item.max_price===null?"":<span>{item.max_price}</span>}

@ -313,7 +313,7 @@ class PackageIndexNEITaskDetails extends Component {
</span>
</div>
<div className=" item-head-price mtf7">
<div className=" item-head-price mt2">
{data&&data.min_price===null?"":<span><span className={"font-24"}>{data&&data.min_price}</span></span>}
{data&&data.max_price===null||data&&data.min_price===null?"":<span>~</span>}
{data&&data.max_price===null?"":<span><span className={"font-24"}>{data&&data.max_price}</span></span>}

@ -362,4 +362,8 @@
*, *::before, *::after {
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
.mtf12{
margin-top: -12px;
}

@ -176,7 +176,7 @@ class InfosPackage extends Component{
<div className="item-head-tags">
</div>
<div className="item-head-blank"></div>
<div className="item-head-price">
<div className="item-head-price mtf15">
{item.min_price===null?"":<span>{item.min_price}</span>}
{item.max_price===null||item.min_price===null?"":<span>~</span>}
{item.max_price===null?"":<span>{item.max_price}</span>}
@ -199,8 +199,9 @@ class InfosPackage extends Component{
<span className="item-group-icon"><i className="fa fa-user"></i></span>
<span className="item-group-text">{item.bidding_users_count}人竞标</span>
</div>
<div className="item-group item-other-publish-at">
发布于{moment(item.published_at).format("YYYY-MM-DD HH:mm")}
<div className="item-group item-other-publish-at">
{item.published_at===null?<span className="item-group-text">更新于{moment(item.updated_at).format("YYYY-MM-DD HH:mm")} </span>:
<span className=" item-group-text">发布于{moment(item.published_at).format("YYYY-MM-DD HH:mm")} </span>}
</div>
</div>
</div>

@ -1,93 +1,97 @@
.navInfo{
border:none!important;
position: absolute;
width: 100%;
bottom: -8px;
}
.navInfo li {
float: left;
margin: 0px 40px;
padding:0px;
height: 45px;
line-height: 40px;
font-size: 16px;
position: relative;
}
.navInfo li.active::after{
position: absolute;
left: 0px;
height: 2px;
width: 100%;
content: '';
bottom: 0px;
background: #05101A!important;
color: #666!important;
}
.navInfo li,.navInfo li.ant-menu-item-active{
border-bottom: none!important;
color: #666!important;
}
.navInfo li.ant-menu-item-selected{
border-bottom: 2px solid #05101A!important;
color: #05101A!important;
}
.navInfo ul.ant-menu{float: left!important;border:none!important;}
.substancenenew{
width: 236px;
height: 206px;
background: rgba(248,248,248,1);
border: 2px dotted rgba(225,225,225,1);
opacity: 1;
border-radius: 4px;
padding-top: 50px;
position: inherit;
}
.substancepad{
padding: 20px 20px 0px 20px;
border-bottom: 1px solid transparent;
}
.substancefont{
height:24px;
font-size:18px;
font-family:Microsoft YaHei;
font-weight:400;
line-height:21px;
color:rgba(153,153,153,1);
opacity:1;
margin-top: -8px;
}
.topten{
width: 1px;
height: 100px;
border: 2px soild rgba(225,225,225,1);
background: rgba(225,225,225,1);
border: 1px solid rgba(225,225,225,1);
margin: 0 auto;
}
.leftten{
width: 100px;
height: 1px;
background: rgba(225,225,225,1);
border: 1px solid rgba(225,225,225,1);
margin: 0px auto;
position: absolute;
top: 120px;
left: 88px;
}
.squarebox{
position: absolute;
top: 0px;
left: 0px;
}
/*题库的标签--和资源标签样式相似*/
.bankTag{max-height: 82px;overflow-y: auto}
.bankTag #sourceTag li{margin-left: 0px;margin-right: 5px;}
.bank_list_Tag{cursor: default}
/*资源标签*/
#sourceTag li,.bank_list_Tag{font-size: 12px;color: #4E7A9B;background-color: #E5F3FF;padding: 0px 4px;height: 20px;line-height: 20px; margin-left: 5px;display: inline-block;cursor: pointer;margin-bottom: 5px;}
#sourceTag li a{color: #4e7a9b!important;}
#sourceTag li.active{background-color: #4CACFF;color: #fff;}
#sourceTag li.active a{background-color: #4CACFF;color: #fff!important;}
.navInfo{
border:none!important;
position: absolute;
width: 100%;
bottom: -8px;
}
.navInfo li {
float: left;
margin: 0px 40px;
padding:0px;
height: 45px;
line-height: 40px;
font-size: 16px;
position: relative;
}
.navInfo li.active::after{
position: absolute;
left: 0px;
height: 2px;
width: 100%;
content: '';
bottom: 0px;
background: #05101A!important;
color: #666!important;
}
.navInfo li,.navInfo li.ant-menu-item-active{
border-bottom: none!important;
color: #666!important;
}
.navInfo li.ant-menu-item-selected{
border-bottom: 2px solid #05101A!important;
color: #05101A!important;
}
.navInfo ul.ant-menu{float: left!important;border:none!important;}
.substancenenew{
width: 236px;
height: 206px;
background: rgba(248,248,248,1);
border: 2px dotted rgba(225,225,225,1);
opacity: 1;
border-radius: 4px;
padding-top: 50px;
position: inherit;
}
.substancepad{
padding: 20px 20px 0px 20px;
border-bottom: 1px solid transparent;
}
.substancefont{
height:24px;
font-size:18px;
font-family:Microsoft YaHei;
font-weight:400;
line-height:21px;
color:rgba(153,153,153,1);
opacity:1;
margin-top: -8px;
}
.topten{
width: 1px;
height: 100px;
border: 2px soild rgba(225,225,225,1);
background: rgba(225,225,225,1);
border: 1px solid rgba(225,225,225,1);
margin: 0 auto;
}
.leftten{
width: 100px;
height: 1px;
background: rgba(225,225,225,1);
border: 1px solid rgba(225,225,225,1);
margin: 0px auto;
position: absolute;
top: 120px;
left: 88px;
}
.squarebox{
position: absolute;
top: 0px;
left: 0px;
}
/*题库的标签--和资源标签样式相似*/
.bankTag{max-height: 82px;overflow-y: auto}
.bankTag #sourceTag li{margin-left: 0px;margin-right: 5px;}
.bank_list_Tag{cursor: default}
/*资源标签*/
#sourceTag li,.bank_list_Tag{font-size: 12px;color: #4E7A9B;background-color: #E5F3FF;padding: 0px 4px;height: 20px;line-height: 20px; margin-left: 5px;display: inline-block;cursor: pointer;margin-bottom: 5px;}
#sourceTag li a{color: #4e7a9b!important;}
#sourceTag li.active{background-color: #4CACFF;color: #fff;}
#sourceTag li.active a{background-color: #4CACFF;color: #fff!important;}
.mtf15{
margin-top:-15px;
}
Loading…
Cancel
Save