Merge remote-tracking branch 'origin/dev_aliyun' into dev_aliyun

dev_auth
杨树明 5 years ago
commit 2b7b8dc241

@ -131,50 +131,13 @@ $(document).on('turbolinks:load', function(){
templateSelection: function(item){
return item.name || item.text;
}
}
};
$('.sponsor-select').select2(selectOptions);
$('.allow-school-select').select2(selectOptions);
}
});
//添加主办方或者开放范围
function addSponsor(item){
var html='<div class="sponsor_label">\n' +
' <input type="hidden" value="school_id" />\n' +
' <span>caicai</span>\n' +
' <a href="javascript:void(0)" onclick="del_sponsor(this)">×</a>\n' +
' </div>';
$(item).parents(".sponsorPanel").append(html);
}
//删除
function del_sponsor(item){
$(item).parents(".sponsor_label").remove();
}
$(function () {
//MD编辑
// $("#MD_typeFrom").on("click",".add_MD_type",function () {
//
// var length=$(".MD_type").find(".add_MD_type").length + 1;
// var html='<div class="row MD_type mt-2">\n' +
// ' <div class="col-1 text-right">\n' +
// ' <label class="checkbox checkbox-primary mt-1">\n' +
// ' <input id="checkbox_MD_'+length+'" type="checkbox" name="checkbox_MD_'+length+'">\n' +
// ' <label for="checkbox_MD_'+length+'">&nbsp;</label>\n' +
// ' </label>\n' +
// ' </div>\n' +
// ' <div class="col-md-4"><input type="text" class="form-control" name="MD_type_value_'+length+'" placeholder="导航名称"></div>\n' +
// ' <div class="col-md-1"><input type="text" class="form-control" name="MD_type_index_'+length+'" /></div>\n' +
// ' <button class="btn btn-primary waves-effect waves-light btn-xs setBtn_s add_MD_type">+</button>\n' +
// ' <button class="btn btn-icon waves-effect btn-default waves-light setBtn_s ml10 del_MD_type">×</button>\n' +
// ' </div>';
// $("#MD_typeFrom").append(html);
// })
// $("#MD_typeFrom").on("click",".del_MD_type",function () {
// $(this).parents(".MD_type").remove();
// })
// 排行榜
//链接
$(".nav-setting-form").on("click",".add_linkBtn",function () {
var length=$(".nav-setting-form").find(".linkFormItem").length + 1;
@ -289,41 +252,118 @@ $(function () {
}
});
$('form.stage-update-form').validate({
errorElement: 'span',
errorClass: 'danger text-danger',
rules: {
stage_name: "required",
"stage[][start_time]": "required",
"stage[][end_time]": "required",
"stage[][mission_count]": {
required: true,
min: 1
},
"stage[][entry]": {
required: true,
min: 1
},
score_rate: {
required: true,
range: [0, 100]
}
},
messages: {
"stage[][mission_count]": {
min: ">=1"
},
"stage[][entry]": {
min: ">=1"
},
}
});
// $('form.stage-update-form').validate({
// errorElement: 'span',
// errorClass: 'danger text-danger',
// rules: {
// stage_name: "required",
// "stage[][start_time]": "required",
// "stage[][end_time]": "required",
// "stage[][mission_count]": {
// required: true,
// min: 1
// },
// "stage[][entry]": {
// required: true,
// min: 1
// },
// score_rate: {
// required: true,
// range: [0, 100]
// }
// },
// messages: {
// "stage[][mission_count]": {
// min: ">=1"
// },
// "stage[][entry]": {
// min: ">=1"
// },
// }
// });
$('.competition-chart-setting').on('click', ".update-stage", function () {
var updateForm = $(this).parents("form");
$(this).attr('disabled', 'disabled');
updateForm.find('.error').html('');
var valid = updateForm.valid();
// var valid = updateForm.valid();
var valid = true;
var $stageName = updateForm.find('input[name="stage_name"]');
if($stageName.val() === undefined || $stageName.val().length === 0){
$stageName.addClass('danger text-danger');
valid = false;
} else {
$stageName.removeClass('danger text-danger');
}
var $scoreRate = updateForm.find('input[name="score_rate"]');
if($scoreRate.val() === undefined || $scoreRate.val().length === 0){
$scoreRate.addClass('danger text-danger');
valid = false;
} else if (parseInt($scoreRate.val()) > 100 || parseInt($scoreRate.val()) < 0) {
$scoreRate.addClass('danger text-danger');
$scoreRate.after('<span class="danger text-danger">0-100之间的数值</span>');
valid = false;
} else {
$scoreRate.removeClass('danger text-danger');
$scoreRate.siblings().remove();
}
updateForm.find('input[name="stage[][start_time]"]').each(function(_, e){
var $ele = $(e);
if($ele.val() === undefined || $ele.val().length === 0){
$ele.addClass('danger text-danger');
valid = false;
} else {
$ele.removeClass('danger text-danger');
}
});
updateForm.find('input[name="stage[][end_time]"]').each(function(_, e){
var $ele = $(e);
if($ele.val() === undefined || $ele.val().length === 0){
$ele.addClass('danger text-danger');
valid = false;
} else {
$ele.removeClass('danger text-danger');
}
});
updateForm.find('input[name="stage[][mission_count]"]').each(function(i, e){
var $ele = $(e);
var $entry = updateForm.find('input[name="stage[][entry]"]').eq(i);
if($ele.val() === undefined || $ele.val().length === 0){
$ele.addClass('danger text-danger');
valid = false;
} else if (parseInt($ele.val()) < 1) {
$ele.addClass('danger text-danger');
$ele.after('<span class="danger text-danger">大于等于1</span>');
valid = false;
} else if (parseInt($ele.val()) > parseInt($entry.val())) {
$ele.addClass('danger text-danger');
$ele.after('<span class="danger text-danger">不能大于总任务数</span>');
valid = false;
} else {
$ele.removeClass('danger text-danger');
$ele.siblings().remove();
}
});
updateForm.find('input[name="stage[][entry]"]').each(function(_, e){
var $ele = $(e);
if($ele.val() === undefined || $ele.val().length === 0){
$ele.addClass('danger text-danger');
valid = false;
} else if (parseInt($ele.val()) < 1) {
$ele.addClass('danger text-danger');
$ele.after('<span class="danger text-danger">大于等于1</span>');
valid = false;
} else {
$ele.removeClass('danger text-danger');
$ele.siblings().remove();
}
});
updateForm.find('input[name="stage[][identifiers][]"]').each(function(_, e){
var $ele = $(e);
@ -359,7 +399,7 @@ $(function () {
contentType: false,
success: function (data) {
$.notify({message: '保存成功'});
// window.location.reload();
window.location.reload();
},
error: function (res) {
var data = res.responseJSON;
@ -371,11 +411,93 @@ $(function () {
});
});
$(".competition-chart-stages").on("click", ".add-new-tab", function () {
if($(".new-stage-form").length > 0){
alert("请先保存上一个tab");
} else {
var count = parseInt($("#large_panel").find(".large_panel_part").length)+1;
var html = '<form class="stage-update-form new-stage-form flex-1" action="/admins/competitions/'+$(this).attr("data-competition-id")+'/competition_stages" accept-charset="UTF-8" data-remote="true" method="post">' +
'<div class="large_panel_part" attr_line="'+count+'"><div class="row d-flex mt-3">\n' +
' <span class="col-1 mt-2">tab标题</span>\n' +
' <div class="col-2 no_padding">\n' +
' <input type="text" class="form-control" name="stage_name"/>\n' +
' </div>\n' +
' <span class="col-1 text-right mt-2 no_padding">总排行榜占比:</span>\n' +
' <div class="col-1 no_padding">\n' +
' <input type="number" class="form-control" name="score_rate" value="100"/>\n' +
' </div><span class=" mt-2">%</span>\n' +
' <div class="flex-1">\n' +
' <a href="javascript:void(0)"class="btn btn-outline-primary export-action ml20 add-task-sub">新增子阶段</a>\n' +
' </div>\n' +
' <a href="javascript:void(0)" class="btn btn-default ml20" onclick="Del_tab(this)">删除</a>\n' +
' <a href="javascript:void(0)" class="btn btn-outline-primary update-stage export-action ml20">保存</a>\n' +
' </div>\n' +
' <div id="small_panel_'+count+'" class="small_panel">\n' +
' <div class="row d-flex small_panel_item" attr_line="sub_new_new" count="1">\n' +
' <span class="col-1 mt-2 subName">第1阶段</span>\n' +
' <div class="flex-1">\n' +
' <div class="row">\n' +
' <span class="mt-2 ml20">有效时间:</span>\n' +
' <div class="col-2 no_padding input_middle">\n' +
' <input type="text" name="stage[][start_time]" id="stage__start_time" value="" autocomplete="off" class="section-start-time form-control" placeholder="有效开始时间">\n' +
' </div>\n' +
' <span class="mt-2">~</span>\n' +
' <div class="col-2 no_padding input_middle">\n' +
' <input type="text" name="stage[][end_time]" id="stage__end_time" value="" autocomplete="off" class="section-end-time form-control" placeholder="有效结束时间">\n' +
' </div>\n' +
' <span class="col-2 text-right mt-2 no_padding">任务完成要求:</span>\n' +
' <div class="col-1 no_padding input_small">\n' +
' <input type="number" class="form-control" name="stage[][mission_count]" value="1">\n' +
' </div>\n' +
' <span class="mt-2 ml10 mr10">/</span>\n' +
' <div class="col-1 no_padding input_small">\n' +
' <input type="number" class="form-control task_all" onchange="change_total(this)" value="3" name="stage[][entry]">\n' +
' </div>\n' +
' <span class=" mt-2">(总任务)</span>\n' +
' <span class="col-1 text-right mt-2 no_padding">成绩来源:</span>\n' +
' <div class="col-2 no_padding input_middle">\n' +
' <select class="form-control" name="stage[][score_source]">\n' +
' <option value="0">经验值</option>\n' +
' <option value="1">预测准确率</option>\n' +
' </select>\n' +
' </div>\n' +
' </div>\n' +
' <div class="row mt-2" id="task_Input_sub_new_new">\n' +
' <div class="col-4 row task_Input_div">\n' +
' <span class="col-3 text-center mt-3">任务1</span>\n' +
' <div class="col-8">\n' +
' <input type="text" class="form-control mt-2" name="stage[][identifiers][]" placeholder="请填写实训ID">\n' +
' </div>\n' +
' </div>\n' +
' <div class="col-4 row task_Input_div">\n' +
' <span class="col-3 text-center mt-3">任务2</span>\n' +
' <div class="col-8">\n' +
' <input type="text" class="form-control mt-2" name="stage[][identifiers][]" placeholder="请填写实训ID">\n' +
' </div>\n' +
' </div>\n' +
' <div class="col-4 row task_Input_div">\n' +
' <span class="col-3 text-center mt-3">任务3</span>\n' +
' <div class="col-8">\n' +
' <input type="text" class="form-control mt-2" name="stage[][identifiers][]" placeholder="请填写实训ID">\n' +
' </div>\n' +
' </div>\n' +
' </div>\n' +
' </div>\n' +
' <span>\n' +
' <a href="javascript:void(0)" class="btn btn-default ml20 small_panel_item_del">删除</a>\n' +
' </span>\n' +
' </div>\n' +
'</div></div></form>';
$("#large_panel").append(html);
$(".stage-update-form .section-start-time").datetimepicker(timeOptions);
$(".stage-update-form .section-end-time").datetimepicker(timeOptions);
}
});
//新增子阶段
function add_task_sub(item){
var index = $(item).parents(".large_panel_part").attr("attr_line");
$(".competition-chart-stages").on("click", ".add-task-sub", function () {
var index = $(this).parents(".large_panel_part").attr("attr_line");
var count= 0;
console.log("sdfsf");
@ -398,36 +520,74 @@ function add_task_sub(item){
' <div class="row">\n' +
' <span class="mt-2 ml20">有效时间:</span>\n' +
' <div class="col-2 no_padding input_middle">\n' +
' <input class="use_time_begin_'+index+'_'+count+' form-control" placeholder="有效开始时间"/>\n' +
' <input type="text" name="stage[][start_time]" id="stage__start_time" value="" autocomplete="off" class="section-start-time form-control" placeholder="有效开始时间">\n' +
' </div>\n' +
' <span class="mt-2">~</span>\n' +
' <div class="col-2 no_padding input_middle">\n' +
' <input class="use_time_end_'+index+'_'+count+' form-control" placeholder="有效结束时间"/>\n' +
' <input type="text" name="stage[][end_time]" id="stage__end_time" value="" autocomplete="off" class="section-end-time form-control" placeholder="有效结束时间">\n' +
' </div>\n' +
' <span class="col-2 text-right mt-2 no_padding">任务完成要求:</span>\n' +
' <div class="col-1 no_padding input_small">\n' +
' <input type="number" class="form-control" name="task_require_small_'+index+'_'+count+'"/>\n' +
' <input type="number" class="form-control" name="stage[][mission_count]" value="1">\n' +
' </div>\n' +
' <span class="mt-2 ml10 mr10">/</span>\n' +
' <div class="col-1 no_padding input_small">\n' +
' <input type="number" class="form-control task_all" onchange="change_total(this)" name="task_require_all_'+index+'_'+count+'"/>\n' +
' <input type="number" class="form-control task_all" onchange="change_total(this)" value="3" name="stage[][entry]">\n' +
' </div>\n' +
' <span class=" mt-2">(总任务)</span>\n' +
' <span class="col-1 text-right mt-2 no_padding">成绩来源:</span>\n' +
' <div class="col-2 no_padding input_middle">\n' +
' <select class="form-control" name="source_'+index+'_'+count+'">\n' +
' <option>经验值</option>\n' +
' <option>预测准确率</option>\n' +
' <select class="form-control" name="stage[][score_source]">\n' +
' <option value="0">经验值</option>\n' +
' <option value="1">预测准确率</option>\n' +
' </select>\n' +
' </div>\n' +
' </div>\n' +
' <div class="row mt-2" id="task_Input_sub_'+index+'_'+count+'"></div>\n' +
' <div class="row mt-2" id="task_Input_sub_'+index+'_'+count+'">\n'+
' <div class="col-4 row task_Input_div">\n' +
' <span class="col-3 text-center mt-3">任务1</span>\n' +
' <div class="col-8">\n' +
' <input type="text" class="form-control mt-2" name="stage[][identifiers][]" placeholder="请填写实训ID">\n' +
' </div>\n' +
' </div>\n' +
' <div class="col-4 row task_Input_div">\n' +
' <span class="col-3 text-center mt-3">任务2</span>\n' +
' <div class="col-8">\n' +
' <input type="text" class="form-control mt-2" name="stage[][identifiers][]" placeholder="请填写实训ID">\n' +
' </div>\n' +
' </div>\n' +
' <div class="col-4 row task_Input_div">\n' +
' <span class="col-3 text-center mt-3">任务3</span>\n' +
' <div class="col-8">\n' +
' <input type="text" class="form-control mt-2" name="stage[][identifiers][]" placeholder="请填写实训ID">\n' +
' </div>\n' +
' </div>\n' +
' </div>\n' +
' </div>\n' +
' <span>\n' +
' <a href="javascript:void(0)" class="btn btn-default ml20 small_panel_item_del">删除</a>\n' +
' </span>\n' +
' </div>';
$("#small_panel_"+index).append(html);
$(".stage-update-form .section-start-time").datetimepicker(timeOptions);
$(".stage-update-form .section-end-time").datetimepicker(timeOptions);
});
}
});
//添加主办方或者开放范围
function addSponsor(item){
var html='<div class="sponsor_label">\n' +
' <input type="hidden" value="school_id" />\n' +
' <span>caicai</span>\n' +
' <a href="javascript:void(0)" onclick="del_sponsor(this)">×</a>\n' +
' </div>';
$(item).parents(".sponsorPanel").append(html);
}
//删除
function del_sponsor(item){
$(item).parents(".sponsor_label").remove();
}
// 小阶段修改总任务数
@ -448,7 +608,7 @@ function change_total(item) {
for(var i=0;i < count-divCount ;i++){
html+='<div class="col-4 row task_Input_div"><span class="col-3 text-center mt-3">任务'+(divCount+i+1)+'</span>\n' +
'<div class="col-8">\n' +
'<input type="text" class="form-control mt-2" name="input_'+index+'_'+(divCount+i+1) +'" placeholder="请填写实训ID">\n' +
'<input type="text" class="form-control mt-2" name="stage[][identifiers][]" placeholder="请填写实训ID">\n' +
'</div>\n' +
'</div>';
}
@ -494,7 +654,7 @@ function addNewTab(competition_id) {
' <input type="number" class="form-control" name="score_rate" value="100"/>\n' +
' </div><span class=" mt-2">%</span>\n' +
' <div class="flex-1">\n' +
' <a href="javascript:void(0)"class="btn btn-outline-primary export-action ml20 add_task_sub" onclick="add_task_sub(this)">新增子阶段</a>\n' +
' <a href="javascript:void(0)"class="btn btn-outline-primary export-action ml20 add-task-sub">新增子阶段</a>\n' +
' </div>\n' +
' <a href="javascript:void(0)" class="btn btn-default ml20" onclick="Del_tab(this)">删除</a>\n' +
' <a href="javascript:void(0)" class="btn btn-outline-primary update-stage export-action ml20">保存</a>\n' +

@ -12,7 +12,6 @@ class Admins::CompetitionStagesController < Admins::BaseController
def destroy
current_stage.destroy!
render_ok
end
def create_stage_section

@ -36,8 +36,9 @@ class Admins::CompetitionBasicSettingService < ApplicationService
# 主办方设置
params[:sponsor_schools] = Array.wrap(params[:sponsor_schools]).map(&:to_i)
new_school_ids = params[:sponsor_schools] - competition.sponsor_schools.pluck(:school_id)
delete_school_ids = competition.sponsor_schools.pluck(:school_id) - params[:sponsor_schools]
new_sponsor_school_ids = competition.sponsor_schools.pluck(:school_id)
new_school_ids = params[:sponsor_schools] - new_sponsor_school_ids
delete_school_ids = new_sponsor_school_ids - params[:sponsor_schools]
new_school_ids.each do |school_id|
CompetitionSchool.create!(competition_id: competition.id, school_id: school_id, source: 'sponsor')
end
@ -45,13 +46,13 @@ class Admins::CompetitionBasicSettingService < ApplicationService
# 开放范围设置
params[:region_schools] = Array.wrap(params[:region_schools]).map(&:to_i)
new_region_school_ids = params[:region_schools] - competition.region_schools.pluck(:school_id)
delete_region_school_ids = competition.region_schools.pluck(:school_id) - params[:region_schools]
old_region_school_ids = competition.region_schools.pluck(:school_id)
new_region_school_ids = params[:region_schools] - old_region_school_ids
delete_region_school_ids = old_region_school_ids - params[:region_schools]
new_region_school_ids.each do |school_id|
CompetitionSchool.create!(competition_id: competition.id, school_id: school_id, source: 'region')
end
competition.region_schools.where(school_id: delete_region_school_ids).destroy_all
competition.region_schools.where(school_id: delete_region_school_ids).destroy_all unless delete_region_school_ids.length == 0
competition
end

@ -9,7 +9,7 @@ class Admins::CompetitionStageUpdateService < ApplicationService
def call
ActiveRecord::Base.transaction do
stage.update_attributes!(name: params[:stage_name], score_rate: (params[:score_rate].to_i / 100).round(2))
stage.update_attributes!(name: params[:stage_name], score_rate: (params[:score_rate].to_i / 100.0).round(2))
stage.competition_stage_sections.destroy_all

@ -322,10 +322,10 @@
<% if @competition.mode == 1 %>
<div class="card mb-5">
<div class="card mb-5 competition-chart-stages">
<div class="card-header d-flex justify-content-between align-items-center">
<span>排行榜设置</span>
<a href="javascript:void(0)" class="btn btn-primary btn-custom waves-effect waves-light ml20" onclick="addNewTab(<%= @competition.id %>);">+ 新增tab</a>
<a href="javascript:void(0)" class="btn btn-primary btn-custom waves-effect add-new-tab waves-light ml20" data-competition-id="<%= @competition.id %>">+ 新增tab</a>
<span class="flex-1 text-right color-orange">实训ID填写示例实训地址为https://www.educoder.net/shixuns/u5plmgka/challenges则填写“u5plmgka”</span>
</div>
@ -335,7 +335,7 @@
<% if @competition.competition_stages.count > 0 %>
<% @competition.competition_stages.includes(competition_stage_sections: :competition_entries).each_with_index do |stage, index| %>
<%= form_tag(admins_competition_competition_stage_path(competition_id: @competition.id, id: stage.id), method: :put, class: 'stage-update-form flex-1', remote: true) do %>
<div class="large_panel_part" attr_line="1">
<div class="large_panel_part" attr_line="<%= index + 1 %>">
<div class="row d-flex">
<span class="col-1 mt-2">tab标题</span>
<div class="col-2 no_padding">
@ -346,11 +346,11 @@
<input type="number" class="form-control" name="score_rate" value="<%= (stage.score_rate * 100).to_i %>"/>
</div><span class=" mt-2">%</span>
<div class="flex-1">
<a href="javascript:void(0)"class="btn btn-outline-primary export-action ml20 add_task_sub" onclick="add_task_sub(this)">新增子阶段</a>
<a href="javascript:void(0)"class="btn btn-outline-primary export-action ml20 add-task-sub">新增子阶段</a>
<a href="javascript:void(0)" class="btn btn-outline-primary export-action ml20">发送短信提醒</a>
<a href="javascript:void(0)" class="btn btn-outline-primary export-action ml20">计算成绩</a>
</div>
<a href="javascript:void(0)" class="btn btn-default ml20" onclick="Del_tab(this)">删除</a>
<%= delete_link '删除', admins_competition_competition_stage_path(competition_id: @competition.id, id: stage.id), class: 'btn btn-default delete-stage ml20' %>
<a href="javascript:void(0)" class="btn btn-outline-primary export-action update-stage ml20">保存</a>
</div>
@ -485,11 +485,5 @@
<% end %>
</div>
</div>
<div class="card-body">
<div id="large_panel" class="large_panel">
</div>
</div>
</div>
<% end %>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -67,6 +67,7 @@ class Registration extends React.Component {
mutiple_limited: false,
teamutiple_limited: false,
members_count: 0,
mode: 0
}
}
@ -87,6 +88,7 @@ class Registration extends React.Component {
// this.Getdata(keyword, page, per_page, this.props.isAdmin());
// this.GetenrollmentAPI();
}
this.Getdataheader();
}
componentDidUpdate = (prevProps) => {
@ -103,6 +105,25 @@ class Registration extends React.Component {
}
// 获取数据头部
Getdataheader = () => {
const url = `/competitions/${this.props.match.params.identifier}/common_header.json`;
axios.get((url)).then((result) => {
if (result) {
if (result.data) {
this.setState({
mode: result.data.mode,
})
}
}
}).catch((error) => {
})
}
//获取报名配置API
GetenrollmentAPI = () => {
// console.log("调用了GetenrollmentAPI");
@ -524,6 +545,7 @@ class Registration extends React.Component {
**/
Createateam = () => {
//
if (this.props.user.is_teacher === true) {
try {
if (this.props.teamutiple_limited === true) {
@ -736,7 +758,7 @@ class Registration extends React.Component {
render() {
const {page, pages, limit, type, tmodalsType, tmodalsTypes, data, count, competition_teams, Newtit, itemiddata, messagePerbool, messageexitol, GetenrollmentAPI, loadingstate, pint, competition_name, mutiple_limited, teamutiple_limited, members_count} = this.state;
const {page, mode, pages, limit, type, tmodalsType, tmodalsTypes, data, count, competition_teams, Newtit, itemiddata, messagePerbool, messageexitol, GetenrollmentAPI, loadingstate, pint, competition_name, mutiple_limited, teamutiple_limited, members_count} = this.state;
return (
<div className="newMain clearfix newMainybot">
@ -849,7 +871,7 @@ class Registration extends React.Component {
(
data && data.map((item, index) => {
return (
<PersonalCompetititem key={index} type={type} item={item} index={index}
<PersonalCompetititem key={index} type={type} item={item} index={index} mode={mode}
Exittheteamshow={(itemid) => this.Exittheteamshow(itemid)}
Createateamedit={(itemid) => this.Createateamedit(itemid)}></PersonalCompetititem>
)

@ -11,8 +11,8 @@ import {TPMIndexHOC} from '../../tpm/TPMIndexHOC';
import competition from '../comcss/competition.css';
import {Button, message, Tooltip} from 'antd';
// 点击按钮复制功能
function jsCopy() {
var e = document.getElementById("copy_invite_code");
function jsCopy(s) {
var e = document.getElementById(s);
e.select();
document.execCommand("Copy");
codesuccess()
@ -51,7 +51,7 @@ class PersonalCompetititem extends React.Component {
}
render() {
const {key, item} = this.props;
const {key, item, type, mode} = this.props;
// ////console.log("PersonalCompetititem");
// ////console.log(data);
// ////console.log(data[0]);
@ -61,6 +61,10 @@ class PersonalCompetititem extends React.Component {
// );
// console.log("PersonalCompetititem");
// console.log(data);
console.log("PersonalCompetititem");
console.log(type);
console.log(mode);
return (
<div>
{
@ -95,7 +99,8 @@ class PersonalCompetititem extends React.Component {
}}>{item.name}</p>
</div>
{this.props.type === 5 || this.props.type === 2 ?
<div className=" " style={{
(this.props.mode === 3 ?
<div style={{
marginLeft: "37px",
display: "flex",
flexDirection: "initial",
@ -133,7 +138,58 @@ class PersonalCompetititem extends React.Component {
})
}
</div> :
</div>
:
<div className=" " style={{
marginLeft: "37px",
display: "flex",
flexDirection: "initial",
width: "487px"
}}>
{
item && item.team_members.map((item, index) => {
return (
index === 0 ?
<img className="regitemimgs" src={getImageUrl("images/" + item.image_url)}>
</img>
: index === 1 ?
<img className="regitemimgs2" src={getImageUrl("images/" + item.image_url)}>
</img>
: index === 2 ?
<img className="regitemimgs2" src={getImageUrl("images/" + item.image_url)}>
</img>
: index === 3 ?
<img className="regitemimgs2" src={getImageUrl("images/" + item.image_url)}>
</img>
: index === 4 ?
<img className="regitemimgs2" src={getImageUrl("images/" + item.image_url)}>
</img>
: index === 5 ?
<div>
<img className="regitemimgs2" src={getImageUrl("images/" + item.image_url)}>
</img>
<img className="regitemimgs222"
src={getImageUrl(`images/educoder/competitions/pexjiazai.png`)}>
</img>
</div>
: ""
)
})
}
</div>
)
:
<div className=" " style={{
marginLeft: "37px",
display: "flex",
@ -170,7 +226,7 @@ class PersonalCompetititem extends React.Component {
</img>
<img className="regitemimgs22"
<img className="regitemimgs222"
src={getImageUrl(`images/educoder/competitions/pexjiazai.png`)}>
</img>
@ -182,10 +238,19 @@ class PersonalCompetititem extends React.Component {
</div>
}
<div className=" " style={this.props.type === 5 || this.props.type === 2 ? {
marginLeft: "20px",
} : {
<div style={this.props.type === 5 || this.props.type === 2 ?
(this.props.mode === 3 ?
{
marginLeft: "37px",
}
:
{
marginLeft: "18px",
}
)
: {
marginLeft: "16px",
}}>
<div style={{marginTop: "23px", width: '140px'}}>
<span style={{
@ -204,7 +269,7 @@ class PersonalCompetititem extends React.Component {
height: "1px",
width: "1px"
}}>
<input id="copy_invite_code"
<input id={"copy_invite_code" + this.props.index}
value={item.invite_code === null || item.invite_code === undefined ? "" : item.invite_code}/>
</div>
</div>
@ -222,7 +287,7 @@ class PersonalCompetititem extends React.Component {
marginLeft: "18px",
}}
onClick={() => {
jsCopy()
jsCopy("copy_invite_code" + this.props.index)
}}
>
</i>
@ -231,6 +296,7 @@ class PersonalCompetititem extends React.Component {
{
this.props.type === 5 ?
(this.props.mode === 3 ?
<div className="regitemimgs444"
style={{
marginLeft: "32px",
@ -252,13 +318,30 @@ class PersonalCompetititem extends React.Component {
</div>
</div>
: this.props.type === 2 ?
:
<div className="regitemimgs444"
style={{
marginLeft: "32px",
}}
>
<div className="regitemimgs5" onClick={() => this.props.Exittheteamshow(item.id, false)}>
<p onClick={() => this.props.Exittheteamshow(item.id, false)}>删除战队</p>
</div>
<div className="regitemimgs6" onClick={() => this.props.Createateamedit(item)}>
<p onClick={() => this.props.Createateamedit(item)}>编辑战队</p>
</div>
</div>
)
: this.props.type === 2 ?
(this.props.mode === 3 ?
<div className="regitemimgs444 "
style={{
marginLeft: "32px",
}}
>
<div className="regitemimgs555">
<a href={`/newcompetitions/${"gcc-course-2019"}/competition_teams/${item.id}`} style={{
color: "#459be5",
@ -275,6 +358,20 @@ class PersonalCompetititem extends React.Component {
</div>
</div>
:
<div className="regitemimgs444 "
style={{
marginLeft: "32px",
}}
>
<div className="regitemimgs5" onClick={() => this.props.Exittheteamshow(item.id, false)}>
<p onClick={() => this.props.Exittheteamshow(item.id, false)}>删除战队</p>
</div>
<div className="regitemimgs6" onClick={() => this.props.Createateamedit(item)}>
<p onClick={() => this.props.Createateamedit(item)}>编辑战队</p>
</div>
</div>
)
:
this.props.type === 3 ?
<div className="regitemimgs4"
style={{

Loading…
Cancel
Save