diff --git a/app/assets/javascripts/admins/modals/admin-edit-sub-repertoire-modal.js b/app/assets/javascripts/admins/modals/admin-edit-sub-repertoire-modal.js index 8a81f4959..1bed72f69 100644 --- a/app/assets/javascripts/admins/modals/admin-edit-sub-repertoire-modal.js +++ b/app/assets/javascripts/admins/modals/admin-edit-sub-repertoire-modal.js @@ -1,13 +1,13 @@ $(document).on('turbolinks:load', function() { - $('.admin-modal-container').on('show.bs.modal', '.modal.admin-edit-sub-discipline-modal', function(){ - var $modal = $('.modal.admin-edit-sub-discipline-modal'); - var $form = $modal.find('form.admin-edit-sub-discipline-form'); + $('.admin-modal-container').on('show.bs.modal', '.modal.admin-edit-sub-repertoire-modal', function(){ + var $modal = $('.modal.admin-edit-sub-repertoire-modal'); + var $form = $modal.find('form.admin-edit-sub-repertoire-form'); $form.validate({ errorElement: 'span', errorClass: 'danger text-danger', rules: { - 'sub_discipline[name]': { + 'sub_repertoire[name]': { required: true, maxlength: 20 } diff --git a/app/assets/javascripts/admins/sub_repertoires/index.js b/app/assets/javascripts/admins/sub_repertoires/index.js index 74eb614f9..02b49942b 100644 --- a/app/assets/javascripts/admins/sub_repertoires/index.js +++ b/app/assets/javascripts/admins/sub_repertoires/index.js @@ -1,9 +1,9 @@ $(document).on('turbolinks:load', function() { - if ($('body.admins-sub-disciplines-index-page').length > 0) { + if ($('body.admins-sub-repertoires-index-page').length > 0) { // ============== 新建 =============== - var $modal = $('.modal.admin-create-sub-discipline-modal'); - var $form = $modal.find('form.admin-create-sub-discipline-form'); + var $modal = $('.modal.admin-create-sub-repertoire-modal'); + var $form = $modal.find('form.admin-create-sub-repertoire-form'); var $nameInput = $form.find('input[name="name"]'); $form.validate({ @@ -48,14 +48,14 @@ $(document).on('turbolinks:load', function() { } }); - $(".sub-discipline-list-container").on("change", '.sub-discipline-source-form', function () { + $(".sub-repertoire-list-container").on("change", '.sub-repertoire-source-form', function () { var s_id = $(this).attr("data-id"); var s_value = $(this).val(); var s_name = $(this).attr("name"); var json = {}; json[s_name] = s_value; $.ajax({ - url: "/admins/sub_disciplines/" + s_id, + url: "/admins/sub_repertoires/" + s_id, type: "PUT", dataType:'script', data: json diff --git a/app/controllers/admins/sub_repertoires_controller.rb b/app/controllers/admins/sub_repertoires_controller.rb index e69de29bb..d40a3747c 100644 --- a/app/controllers/admins/sub_repertoires_controller.rb +++ b/app/controllers/admins/sub_repertoires_controller.rb @@ -0,0 +1,45 @@ +class Admins::SubRepertoiresController < Admins::BaseController + + def index + @repertoire = current_repertoire + @sub_repertoires = current_repertoire.sub_repertoires + end + + def create + name = params[:name].to_s.strip + return render_error('名称重复') if current_repertoire.sub_repertoires.where(name: name).exists? + SubRepertoire.create!(name: name, repertoire_id: current_repertoire.id) + render_ok + end + + def edit + @sub_repertoire = current_sub_repertoire + end + + def update + if params[:sub_repertoire] && params[:sub_repertoire][:name].present? + name = params[:sub_repertoire][:name].to_s.strip + current_sub_repertoire.update_attributes!(name: name) + end + @sub_repertoires = current_sub_repertoire.repertoire&.sub_repertoires + end + + def destroy + @sub_repertoire_id = params[:id] + current_sub_repertoire.destroy! + end + + private + + def current_sub_repertoire + @_current_sub_repertoire = SubRepertoire.find params[:id] + end + + def current_repertoire + @_current_repertoire = Repertoire.find params[:repertoire_id] + end + + def setting_params + params.permit(:shixun, :subject, :question) + end +end \ No newline at end of file diff --git a/app/views/admins/sub_repertoires/destroy.js.erb b/app/views/admins/sub_repertoires/destroy.js.erb index e69de29bb..4575f811c 100644 --- a/app/views/admins/sub_repertoires/destroy.js.erb +++ b/app/views/admins/sub_repertoires/destroy.js.erb @@ -0,0 +1,2 @@ +$.notify({ message: '删除成功' }); +$(".sub-repertoire-item-<%= @sub_repertoire_id %>").remove(); \ No newline at end of file diff --git a/app/views/admins/sub_repertoires/edit.js.erb b/app/views/admins/sub_repertoires/edit.js.erb index e69de29bb..10fe19697 100644 --- a/app/views/admins/sub_repertoires/edit.js.erb +++ b/app/views/admins/sub_repertoires/edit.js.erb @@ -0,0 +1,2 @@ +$('.admin-modal-container').html("<%= j( render partial: 'admins/sub_repertoires/shared/edit_sub_repertoire_modal', locals: { sub_repertoire: @sub_repertoire } ) %>"); +$('.modal.admin-edit-sub-repertoire-modal').modal('show'); \ No newline at end of file diff --git a/app/views/admins/sub_repertoires/index.html.erb b/app/views/admins/sub_repertoires/index.html.erb index e69de29bb..be8ec98f9 100644 --- a/app/views/admins/sub_repertoires/index.html.erb +++ b/app/views/admins/sub_repertoires/index.html.erb @@ -0,0 +1,14 @@ +<% define_admin_breadcrumbs do %> + <% add_admin_breadcrumb('技术体系', admins_repertoires_path) %> + <% add_admin_breadcrumb(@repertoire.name) %> +<% end %> + +
+ <%= javascript_void_link '新增', class: 'btn btn-primary', data: { toggle: 'modal', target: '.admin-create-sub-repertoire-modal' } %> +
+ +
+ <%= render(partial: 'admins/sub_repertoires/shared/list') %> +
+ +<%= render 'admins/sub_repertoires/shared/create_sub_repertoire_modal' %> diff --git a/app/views/admins/sub_repertoires/shared/_create_sub_repertoire_modal.html.erb b/app/views/admins/sub_repertoires/shared/_create_sub_repertoire_modal.html.erb index a8b00b051..435f2fb32 100644 --- a/app/views/admins/sub_repertoires/shared/_create_sub_repertoire_modal.html.erb +++ b/app/views/admins/sub_repertoires/shared/_create_sub_repertoire_modal.html.erb @@ -1,14 +1,14 @@ -