From 0b44b16cdc37df3f46f295ab0759eab7d3c51a57 Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Tue, 4 Feb 2020 14:02:22 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8A=80=E6=9C=AF=E5=B9=B3=E5=8F=B0=E5=AD=90?= =?UTF-8?q?=E4=BD=93=E7=B3=BBhtml+js+css?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modals/admin-edit-sub-repertoire-modal.js | 8 ++-- .../admins/sub_repertoires/index.js | 10 ++--- .../admins/sub_repertoires_controller.rb | 45 +++++++++++++++++++ .../admins/sub_repertoires/destroy.js.erb | 2 + app/views/admins/sub_repertoires/edit.js.erb | 2 + .../admins/sub_repertoires/index.html.erb | 14 ++++++ .../_create_sub_repertoire_modal.html.erb | 6 +-- .../_edit_sub_repertoire_modal.html.erb | 4 +- .../sub_repertoires/shared/_list.html.erb | 20 +++------ .../admins/sub_repertoires/update.js.erb | 2 + config/routes.rb | 1 + 11 files changed, 87 insertions(+), 27 deletions(-) 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 %> + +