Employers working - onboarding to card print
This commit is contained in:
@@ -0,0 +1,166 @@
|
||||
<div id="<%= dom_id card_provider %>" class="w-full sm:w-auto my-5 space-y-5">
|
||||
<div>
|
||||
<strong class="block font-medium mb-1">Provider code:</strong>
|
||||
<%= card_provider.provider_code %>
|
||||
</div>
|
||||
<div>
|
||||
<strong class="block font-medium mb-1">Provider line 1:</strong>
|
||||
<%= card_provider.provider_line_1 %>
|
||||
</div>
|
||||
<div>
|
||||
<strong class="block font-medium mb-1">Provider line 2:</strong>
|
||||
<%= card_provider.provider_line_2 %>
|
||||
</div>
|
||||
<div>
|
||||
<strong class="block font-medium mb-1">Provider line 3:</strong>
|
||||
<%= card_provider.provider_line_3 %>
|
||||
</div>
|
||||
<div>
|
||||
<strong class="block font-medium mb-1">Provider line 4:</strong>
|
||||
<%= card_provider.provider_line_4 %>
|
||||
</div>
|
||||
<div>
|
||||
<strong class="block font-medium mb-1">Provider line 5:</strong>
|
||||
<%= card_provider.provider_line_5 %>
|
||||
</div>
|
||||
<div>
|
||||
<strong class="block font-medium mb-1">Mail to:</strong>
|
||||
<%= card_provider.mail_to %>
|
||||
</div>
|
||||
<div>
|
||||
<strong class="block font-medium mb-1">Mail to 2:</strong>
|
||||
<%= card_provider.mail_to_2 %>
|
||||
</div>
|
||||
<div>
|
||||
<strong class="block font-medium mb-1">Contact line 1:</strong>
|
||||
<%= card_provider.contact_line_1 %>
|
||||
</div>
|
||||
<div>
|
||||
<strong class="block font-medium mb-1">Contact line 2:</strong>
|
||||
<%= card_provider.contact_line_2 %>
|
||||
</div>
|
||||
<div>
|
||||
<strong class="block font-medium mb-1">Contact line 3:</strong>
|
||||
<%= card_provider.contact_line_3 %>
|
||||
</div>
|
||||
<div>
|
||||
<strong class="block font-medium mb-1">Group number:</strong>
|
||||
<%= card_provider.group_number %>
|
||||
</div>
|
||||
<div>
|
||||
<strong class="block font-medium mb-1">Claim to 1:</strong>
|
||||
<%= card_provider.claim_to_1 %>
|
||||
</div>
|
||||
<div>
|
||||
<strong class="block font-medium mb-1">Claim to 2:</strong>
|
||||
<%= card_provider.claim_to_2 %>
|
||||
</div>
|
||||
<div>
|
||||
<strong class="block font-medium mb-1">Claim to 3:</strong>
|
||||
<%= card_provider.claim_to_3 %>
|
||||
</div>
|
||||
<div>
|
||||
<strong class="block font-medium mb-1">Claim to 4:</strong>
|
||||
<%= card_provider.claim_to_4 %>
|
||||
</div>
|
||||
<div>
|
||||
<strong class="block font-medium mb-1">Claim to 5:</strong>
|
||||
<%= card_provider.claim_to_5 %>
|
||||
</div>
|
||||
<div>
|
||||
<strong class="block font-medium mb-1">Claim to 6:</strong>
|
||||
<%= card_provider.claim_to_6 %>
|
||||
</div>
|
||||
<div>
|
||||
<strong class="block font-medium mb-1">Claim to 7:</strong>
|
||||
<%= card_provider.claim_to_7 %>
|
||||
</div>
|
||||
<div>
|
||||
<strong class="block font-medium mb-1">Claim to 8:</strong>
|
||||
<%= card_provider.claim_to_8 %>
|
||||
</div>
|
||||
<div>
|
||||
<strong class="block font-medium mb-1">Claim to 9:</strong>
|
||||
<%= card_provider.claim_to_9 %>
|
||||
</div>
|
||||
<div>
|
||||
<strong class="block font-medium mb-1">Claim to 10:</strong>
|
||||
<%= card_provider.claim_to_10 %>
|
||||
</div>
|
||||
<div>
|
||||
<strong class="block font-medium mb-1">Claim to 11:</strong>
|
||||
<%= card_provider.claim_to_11 %>
|
||||
</div>
|
||||
<div>
|
||||
<strong class="block font-medium mb-1">Provider line 6:</strong>
|
||||
<%= card_provider.provider_line_6 %>
|
||||
</div>
|
||||
<div>
|
||||
<strong class="block font-medium mb-1">Provider line 7:</strong>
|
||||
<%= card_provider.provider_line_7 %>
|
||||
</div>
|
||||
<div>
|
||||
<strong class="block font-medium mb-1">Provider line 8:</strong>
|
||||
<%= card_provider.provider_line_8 %>
|
||||
</div>
|
||||
<div>
|
||||
<strong class="block font-medium mb-1">Provider line 9:</strong>
|
||||
<%= card_provider.provider_line_9 %>
|
||||
</div>
|
||||
<div>
|
||||
<strong class="block font-medium mb-1">Provider line 10:</strong>
|
||||
<%= card_provider.provider_line_10 %>
|
||||
</div>
|
||||
<div>
|
||||
<strong class="block font-medium mb-1">Provider line 11:</strong>
|
||||
<%= card_provider.provider_line_11 %>
|
||||
</div>
|
||||
<div>
|
||||
<strong class="block font-medium mb-1">Rx group:</strong>
|
||||
<%= card_provider.rx_group_id %>
|
||||
</div>
|
||||
<div>
|
||||
<strong class="block font-medium mb-1">Rx contact:</strong>
|
||||
<%= card_provider.rx_contact %>
|
||||
</div>
|
||||
<div>
|
||||
<strong class="block font-medium mb-1">Provider lookup 1:</strong>
|
||||
<%= card_provider.provider_lookup_1 %>
|
||||
</div>
|
||||
<div>
|
||||
<strong class="block font-medium mb-1">Provider lookup 2:</strong>
|
||||
<%= card_provider.provider_lookup_2 %>
|
||||
</div>
|
||||
<div>
|
||||
<strong class="block font-medium mb-1">Precert 1:</strong>
|
||||
<%= card_provider.precert_1 %>
|
||||
</div>
|
||||
<div>
|
||||
<strong class="block font-medium mb-1">Precert 2:</strong>
|
||||
<%= card_provider.precert_2 %>
|
||||
</div>
|
||||
<div>
|
||||
<strong class="block font-medium mb-1">Precert 3:</strong>
|
||||
<%= card_provider.precert_3 %>
|
||||
</div>
|
||||
<div>
|
||||
<strong class="block font-medium mb-1">Precert 4:</strong>
|
||||
<%= card_provider.precert_4 %>
|
||||
</div>
|
||||
<div>
|
||||
<strong class="block font-medium mb-1">Precert 5:</strong>
|
||||
<%= card_provider.precert_5 %>
|
||||
</div>
|
||||
<div>
|
||||
<strong class="block font-medium mb-1">Precert 6:</strong>
|
||||
<%= card_provider.precert_6 %>
|
||||
</div>
|
||||
<div>
|
||||
<strong class="block font-medium mb-1">Provider line 12:</strong>
|
||||
<%= card_provider.provider_line_12 %>
|
||||
</div>
|
||||
<div>
|
||||
<strong class="block font-medium mb-1">Claim to 12:</strong>
|
||||
<%= card_provider.claim_to_12 %>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,2 @@
|
||||
json.extract! card_provider, :id, :provider_code, :provider_line_1, :provider_line_2, :provider_line_3, :provider_line_4, :provider_line_5, :mail_to, :mail_to_2, :contact_line_1, :contact_line_2, :contact_line_3, :group_number, :claim_to_1, :claim_to_2, :claim_to_3, :claim_to_4, :claim_to_5, :claim_to_6, :claim_to_7, :claim_to_8, :claim_to_9, :claim_to_10, :claim_to_11, :provider_line_6, :provider_line_7, :provider_line_8, :provider_line_9, :provider_line_10, :provider_line_11, :rx_group_id, :rx_contact, :provider_lookup_1, :provider_lookup_2, :precert_1, :precert_2, :precert_3, :precert_4, :precert_5, :precert_6, :provider_line_12, :claim_to_12, :created_at, :updated_at
|
||||
json.url card_provider_url(card_provider, format: :json)
|
||||
@@ -0,0 +1,222 @@
|
||||
<%= form_with(model: card_provider, class: "contents") do |form| %>
|
||||
<% if card_provider.errors.any? %>
|
||||
<div id="error_explanation" class="bg-red-50 text-red-500 px-3 py-2 font-medium rounded-md mt-3">
|
||||
<h2><%= pluralize(card_provider.errors.count, "error") %> prohibited this card_provider from being saved:</h2>
|
||||
|
||||
<ul class="list-disc ml-6">
|
||||
<% card_provider.errors.each do |error| %>
|
||||
<li><%= error.full_message %></li>
|
||||
<% end %>
|
||||
</ul>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<div class="my-5">
|
||||
<%= form.label :provider_code %>
|
||||
<%= form.text_field :provider_code, class: ["block shadow-sm rounded-md border px-3 py-2 mt-2 w-full", {"border-gray-400 focus:outline-blue-600": card_provider.errors[:provider_code].none?, "border-red-400 focus:outline-red-600": card_provider.errors[:provider_code].any?}] %>
|
||||
</div>
|
||||
|
||||
<div class="my-5">
|
||||
<%= form.label :provider_line_1 %>
|
||||
<%= form.text_field :provider_line_1, class: ["block shadow-sm rounded-md border px-3 py-2 mt-2 w-full", {"border-gray-400 focus:outline-blue-600": card_provider.errors[:provider_line_1].none?, "border-red-400 focus:outline-red-600": card_provider.errors[:provider_line_1].any?}] %>
|
||||
</div>
|
||||
|
||||
<div class="my-5">
|
||||
<%= form.label :provider_line_2 %>
|
||||
<%= form.text_field :provider_line_2, class: ["block shadow-sm rounded-md border px-3 py-2 mt-2 w-full", {"border-gray-400 focus:outline-blue-600": card_provider.errors[:provider_line_2].none?, "border-red-400 focus:outline-red-600": card_provider.errors[:provider_line_2].any?}] %>
|
||||
</div>
|
||||
|
||||
<div class="my-5">
|
||||
<%= form.label :provider_line_3 %>
|
||||
<%= form.text_field :provider_line_3, class: ["block shadow-sm rounded-md border px-3 py-2 mt-2 w-full", {"border-gray-400 focus:outline-blue-600": card_provider.errors[:provider_line_3].none?, "border-red-400 focus:outline-red-600": card_provider.errors[:provider_line_3].any?}] %>
|
||||
</div>
|
||||
|
||||
<div class="my-5">
|
||||
<%= form.label :provider_line_4 %>
|
||||
<%= form.text_field :provider_line_4, class: ["block shadow-sm rounded-md border px-3 py-2 mt-2 w-full", {"border-gray-400 focus:outline-blue-600": card_provider.errors[:provider_line_4].none?, "border-red-400 focus:outline-red-600": card_provider.errors[:provider_line_4].any?}] %>
|
||||
</div>
|
||||
|
||||
<div class="my-5">
|
||||
<%= form.label :provider_line_5 %>
|
||||
<%= form.text_field :provider_line_5, class: ["block shadow-sm rounded-md border px-3 py-2 mt-2 w-full", {"border-gray-400 focus:outline-blue-600": card_provider.errors[:provider_line_5].none?, "border-red-400 focus:outline-red-600": card_provider.errors[:provider_line_5].any?}] %>
|
||||
</div>
|
||||
|
||||
<div class="my-5">
|
||||
<%= form.label :mail_to %>
|
||||
<%= form.text_field :mail_to, class: ["block shadow-sm rounded-md border px-3 py-2 mt-2 w-full", {"border-gray-400 focus:outline-blue-600": card_provider.errors[:mail_to].none?, "border-red-400 focus:outline-red-600": card_provider.errors[:mail_to].any?}] %>
|
||||
</div>
|
||||
|
||||
<div class="my-5">
|
||||
<%= form.label :mail_to_2 %>
|
||||
<%= form.text_field :mail_to_2, class: ["block shadow-sm rounded-md border px-3 py-2 mt-2 w-full", {"border-gray-400 focus:outline-blue-600": card_provider.errors[:mail_to_2].none?, "border-red-400 focus:outline-red-600": card_provider.errors[:mail_to_2].any?}] %>
|
||||
</div>
|
||||
|
||||
<div class="my-5">
|
||||
<%= form.label :contact_line_1 %>
|
||||
<%= form.text_field :contact_line_1, class: ["block shadow-sm rounded-md border px-3 py-2 mt-2 w-full", {"border-gray-400 focus:outline-blue-600": card_provider.errors[:contact_line_1].none?, "border-red-400 focus:outline-red-600": card_provider.errors[:contact_line_1].any?}] %>
|
||||
</div>
|
||||
|
||||
<div class="my-5">
|
||||
<%= form.label :contact_line_2 %>
|
||||
<%= form.text_field :contact_line_2, class: ["block shadow-sm rounded-md border px-3 py-2 mt-2 w-full", {"border-gray-400 focus:outline-blue-600": card_provider.errors[:contact_line_2].none?, "border-red-400 focus:outline-red-600": card_provider.errors[:contact_line_2].any?}] %>
|
||||
</div>
|
||||
|
||||
<div class="my-5">
|
||||
<%= form.label :contact_line_3 %>
|
||||
<%= form.text_field :contact_line_3, class: ["block shadow-sm rounded-md border px-3 py-2 mt-2 w-full", {"border-gray-400 focus:outline-blue-600": card_provider.errors[:contact_line_3].none?, "border-red-400 focus:outline-red-600": card_provider.errors[:contact_line_3].any?}] %>
|
||||
</div>
|
||||
|
||||
<div class="my-5">
|
||||
<%= form.label :group_number %>
|
||||
<%= form.text_field :group_number, class: ["block shadow-sm rounded-md border px-3 py-2 mt-2 w-full", {"border-gray-400 focus:outline-blue-600": card_provider.errors[:group_number].none?, "border-red-400 focus:outline-red-600": card_provider.errors[:group_number].any?}] %>
|
||||
</div>
|
||||
|
||||
<div class="my-5">
|
||||
<%= form.label :claim_to_1 %>
|
||||
<%= form.text_field :claim_to_1, class: ["block shadow-sm rounded-md border px-3 py-2 mt-2 w-full", {"border-gray-400 focus:outline-blue-600": card_provider.errors[:claim_to_1].none?, "border-red-400 focus:outline-red-600": card_provider.errors[:claim_to_1].any?}] %>
|
||||
</div>
|
||||
|
||||
<div class="my-5">
|
||||
<%= form.label :claim_to_2 %>
|
||||
<%= form.text_field :claim_to_2, class: ["block shadow-sm rounded-md border px-3 py-2 mt-2 w-full", {"border-gray-400 focus:outline-blue-600": card_provider.errors[:claim_to_2].none?, "border-red-400 focus:outline-red-600": card_provider.errors[:claim_to_2].any?}] %>
|
||||
</div>
|
||||
|
||||
<div class="my-5">
|
||||
<%= form.label :claim_to_3 %>
|
||||
<%= form.text_field :claim_to_3, class: ["block shadow-sm rounded-md border px-3 py-2 mt-2 w-full", {"border-gray-400 focus:outline-blue-600": card_provider.errors[:claim_to_3].none?, "border-red-400 focus:outline-red-600": card_provider.errors[:claim_to_3].any?}] %>
|
||||
</div>
|
||||
|
||||
<div class="my-5">
|
||||
<%= form.label :claim_to_4 %>
|
||||
<%= form.text_field :claim_to_4, class: ["block shadow-sm rounded-md border px-3 py-2 mt-2 w-full", {"border-gray-400 focus:outline-blue-600": card_provider.errors[:claim_to_4].none?, "border-red-400 focus:outline-red-600": card_provider.errors[:claim_to_4].any?}] %>
|
||||
</div>
|
||||
|
||||
<div class="my-5">
|
||||
<%= form.label :claim_to_5 %>
|
||||
<%= form.text_field :claim_to_5, class: ["block shadow-sm rounded-md border px-3 py-2 mt-2 w-full", {"border-gray-400 focus:outline-blue-600": card_provider.errors[:claim_to_5].none?, "border-red-400 focus:outline-red-600": card_provider.errors[:claim_to_5].any?}] %>
|
||||
</div>
|
||||
|
||||
<div class="my-5">
|
||||
<%= form.label :claim_to_6 %>
|
||||
<%= form.text_field :claim_to_6, class: ["block shadow-sm rounded-md border px-3 py-2 mt-2 w-full", {"border-gray-400 focus:outline-blue-600": card_provider.errors[:claim_to_6].none?, "border-red-400 focus:outline-red-600": card_provider.errors[:claim_to_6].any?}] %>
|
||||
</div>
|
||||
|
||||
<div class="my-5">
|
||||
<%= form.label :claim_to_7 %>
|
||||
<%= form.text_field :claim_to_7, class: ["block shadow-sm rounded-md border px-3 py-2 mt-2 w-full", {"border-gray-400 focus:outline-blue-600": card_provider.errors[:claim_to_7].none?, "border-red-400 focus:outline-red-600": card_provider.errors[:claim_to_7].any?}] %>
|
||||
</div>
|
||||
|
||||
<div class="my-5">
|
||||
<%= form.label :claim_to_8 %>
|
||||
<%= form.text_field :claim_to_8, class: ["block shadow-sm rounded-md border px-3 py-2 mt-2 w-full", {"border-gray-400 focus:outline-blue-600": card_provider.errors[:claim_to_8].none?, "border-red-400 focus:outline-red-600": card_provider.errors[:claim_to_8].any?}] %>
|
||||
</div>
|
||||
|
||||
<div class="my-5">
|
||||
<%= form.label :claim_to_9 %>
|
||||
<%= form.text_field :claim_to_9, class: ["block shadow-sm rounded-md border px-3 py-2 mt-2 w-full", {"border-gray-400 focus:outline-blue-600": card_provider.errors[:claim_to_9].none?, "border-red-400 focus:outline-red-600": card_provider.errors[:claim_to_9].any?}] %>
|
||||
</div>
|
||||
|
||||
<div class="my-5">
|
||||
<%= form.label :claim_to_10 %>
|
||||
<%= form.text_field :claim_to_10, class: ["block shadow-sm rounded-md border px-3 py-2 mt-2 w-full", {"border-gray-400 focus:outline-blue-600": card_provider.errors[:claim_to_10].none?, "border-red-400 focus:outline-red-600": card_provider.errors[:claim_to_10].any?}] %>
|
||||
</div>
|
||||
|
||||
<div class="my-5">
|
||||
<%= form.label :claim_to_11 %>
|
||||
<%= form.text_field :claim_to_11, class: ["block shadow-sm rounded-md border px-3 py-2 mt-2 w-full", {"border-gray-400 focus:outline-blue-600": card_provider.errors[:claim_to_11].none?, "border-red-400 focus:outline-red-600": card_provider.errors[:claim_to_11].any?}] %>
|
||||
</div>
|
||||
|
||||
<div class="my-5">
|
||||
<%= form.label :provider_line_6 %>
|
||||
<%= form.text_field :provider_line_6, class: ["block shadow-sm rounded-md border px-3 py-2 mt-2 w-full", {"border-gray-400 focus:outline-blue-600": card_provider.errors[:provider_line_6].none?, "border-red-400 focus:outline-red-600": card_provider.errors[:provider_line_6].any?}] %>
|
||||
</div>
|
||||
|
||||
<div class="my-5">
|
||||
<%= form.label :provider_line_7 %>
|
||||
<%= form.text_field :provider_line_7, class: ["block shadow-sm rounded-md border px-3 py-2 mt-2 w-full", {"border-gray-400 focus:outline-blue-600": card_provider.errors[:provider_line_7].none?, "border-red-400 focus:outline-red-600": card_provider.errors[:provider_line_7].any?}] %>
|
||||
</div>
|
||||
|
||||
<div class="my-5">
|
||||
<%= form.label :provider_line_8 %>
|
||||
<%= form.text_field :provider_line_8, class: ["block shadow-sm rounded-md border px-3 py-2 mt-2 w-full", {"border-gray-400 focus:outline-blue-600": card_provider.errors[:provider_line_8].none?, "border-red-400 focus:outline-red-600": card_provider.errors[:provider_line_8].any?}] %>
|
||||
</div>
|
||||
|
||||
<div class="my-5">
|
||||
<%= form.label :provider_line_9 %>
|
||||
<%= form.text_field :provider_line_9, class: ["block shadow-sm rounded-md border px-3 py-2 mt-2 w-full", {"border-gray-400 focus:outline-blue-600": card_provider.errors[:provider_line_9].none?, "border-red-400 focus:outline-red-600": card_provider.errors[:provider_line_9].any?}] %>
|
||||
</div>
|
||||
|
||||
<div class="my-5">
|
||||
<%= form.label :provider_line_10 %>
|
||||
<%= form.text_field :provider_line_10, class: ["block shadow-sm rounded-md border px-3 py-2 mt-2 w-full", {"border-gray-400 focus:outline-blue-600": card_provider.errors[:provider_line_10].none?, "border-red-400 focus:outline-red-600": card_provider.errors[:provider_line_10].any?}] %>
|
||||
</div>
|
||||
|
||||
<div class="my-5">
|
||||
<%= form.label :provider_line_11 %>
|
||||
<%= form.text_field :provider_line_11, class: ["block shadow-sm rounded-md border px-3 py-2 mt-2 w-full", {"border-gray-400 focus:outline-blue-600": card_provider.errors[:provider_line_11].none?, "border-red-400 focus:outline-red-600": card_provider.errors[:provider_line_11].any?}] %>
|
||||
</div>
|
||||
|
||||
<div class="my-5">
|
||||
<%= form.label :rx_group_id %>
|
||||
<%= form.text_field :rx_group_id, class: ["block shadow-sm rounded-md border px-3 py-2 mt-2 w-full", {"border-gray-400 focus:outline-blue-600": card_provider.errors[:rx_group_id].none?, "border-red-400 focus:outline-red-600": card_provider.errors[:rx_group_id].any?}] %>
|
||||
</div>
|
||||
|
||||
<div class="my-5">
|
||||
<%= form.label :rx_contact %>
|
||||
<%= form.text_field :rx_contact, class: ["block shadow-sm rounded-md border px-3 py-2 mt-2 w-full", {"border-gray-400 focus:outline-blue-600": card_provider.errors[:rx_contact].none?, "border-red-400 focus:outline-red-600": card_provider.errors[:rx_contact].any?}] %>
|
||||
</div>
|
||||
|
||||
<div class="my-5">
|
||||
<%= form.label :provider_lookup_1 %>
|
||||
<%= form.text_field :provider_lookup_1, class: ["block shadow-sm rounded-md border px-3 py-2 mt-2 w-full", {"border-gray-400 focus:outline-blue-600": card_provider.errors[:provider_lookup_1].none?, "border-red-400 focus:outline-red-600": card_provider.errors[:provider_lookup_1].any?}] %>
|
||||
</div>
|
||||
|
||||
<div class="my-5">
|
||||
<%= form.label :provider_lookup_2 %>
|
||||
<%= form.text_field :provider_lookup_2, class: ["block shadow-sm rounded-md border px-3 py-2 mt-2 w-full", {"border-gray-400 focus:outline-blue-600": card_provider.errors[:provider_lookup_2].none?, "border-red-400 focus:outline-red-600": card_provider.errors[:provider_lookup_2].any?}] %>
|
||||
</div>
|
||||
|
||||
<div class="my-5">
|
||||
<%= form.label :precert_1 %>
|
||||
<%= form.text_field :precert_1, class: ["block shadow-sm rounded-md border px-3 py-2 mt-2 w-full", {"border-gray-400 focus:outline-blue-600": card_provider.errors[:precert_1].none?, "border-red-400 focus:outline-red-600": card_provider.errors[:precert_1].any?}] %>
|
||||
</div>
|
||||
|
||||
<div class="my-5">
|
||||
<%= form.label :precert_2 %>
|
||||
<%= form.text_field :precert_2, class: ["block shadow-sm rounded-md border px-3 py-2 mt-2 w-full", {"border-gray-400 focus:outline-blue-600": card_provider.errors[:precert_2].none?, "border-red-400 focus:outline-red-600": card_provider.errors[:precert_2].any?}] %>
|
||||
</div>
|
||||
|
||||
<div class="my-5">
|
||||
<%= form.label :precert_3 %>
|
||||
<%= form.text_field :precert_3, class: ["block shadow-sm rounded-md border px-3 py-2 mt-2 w-full", {"border-gray-400 focus:outline-blue-600": card_provider.errors[:precert_3].none?, "border-red-400 focus:outline-red-600": card_provider.errors[:precert_3].any?}] %>
|
||||
</div>
|
||||
|
||||
<div class="my-5">
|
||||
<%= form.label :precert_4 %>
|
||||
<%= form.text_field :precert_4, class: ["block shadow-sm rounded-md border px-3 py-2 mt-2 w-full", {"border-gray-400 focus:outline-blue-600": card_provider.errors[:precert_4].none?, "border-red-400 focus:outline-red-600": card_provider.errors[:precert_4].any?}] %>
|
||||
</div>
|
||||
|
||||
<div class="my-5">
|
||||
<%= form.label :precert_5 %>
|
||||
<%= form.text_field :precert_5, class: ["block shadow-sm rounded-md border px-3 py-2 mt-2 w-full", {"border-gray-400 focus:outline-blue-600": card_provider.errors[:precert_5].none?, "border-red-400 focus:outline-red-600": card_provider.errors[:precert_5].any?}] %>
|
||||
</div>
|
||||
|
||||
<div class="my-5">
|
||||
<%= form.label :precert_6 %>
|
||||
<%= form.text_field :precert_6, class: ["block shadow-sm rounded-md border px-3 py-2 mt-2 w-full", {"border-gray-400 focus:outline-blue-600": card_provider.errors[:precert_6].none?, "border-red-400 focus:outline-red-600": card_provider.errors[:precert_6].any?}] %>
|
||||
</div>
|
||||
|
||||
<div class="my-5">
|
||||
<%= form.label :provider_line_12 %>
|
||||
<%= form.text_field :provider_line_12, class: ["block shadow-sm rounded-md border px-3 py-2 mt-2 w-full", {"border-gray-400 focus:outline-blue-600": card_provider.errors[:provider_line_12].none?, "border-red-400 focus:outline-red-600": card_provider.errors[:provider_line_12].any?}] %>
|
||||
</div>
|
||||
|
||||
<div class="my-5">
|
||||
<%= form.label :claim_to_12 %>
|
||||
<%= form.text_field :claim_to_12, class: ["block shadow-sm rounded-md border px-3 py-2 mt-2 w-full", {"border-gray-400 focus:outline-blue-600": card_provider.errors[:claim_to_12].none?, "border-red-400 focus:outline-red-600": card_provider.errors[:claim_to_12].any?}] %>
|
||||
</div>
|
||||
|
||||
<div class="inline">
|
||||
<%= form.submit class: "w-full sm:w-auto rounded-md px-3.5 py-2.5 bg-blue-600 hover:bg-blue-500 text-white inline-block font-medium cursor-pointer" %>
|
||||
</div>
|
||||
<% end %>
|
||||
@@ -0,0 +1,10 @@
|
||||
<% content_for :title, "Editing card provider" %>
|
||||
|
||||
<div class="md:w-2/3 w-full">
|
||||
<h1 class="font-bold text-4xl">Editing card provider</h1>
|
||||
|
||||
<%= render "form", card_provider: @card_provider %>
|
||||
|
||||
<%= link_to "Show this card provider", @card_provider, class: "w-full sm:w-auto text-center mt-2 sm:mt-0 sm:ml-2 rounded-md px-3.5 py-2.5 bg-gray-100 hover:bg-gray-50 inline-block font-medium" %>
|
||||
<%= link_to "Back to card providers", card_providers_path, class: "w-full sm:w-auto text-center mt-2 sm:mt-0 sm:ml-2 rounded-md px-3.5 py-2.5 bg-gray-100 hover:bg-gray-50 inline-block font-medium" %>
|
||||
</div>
|
||||
@@ -0,0 +1,29 @@
|
||||
<% content_for :title, "Card providers" %>
|
||||
|
||||
<div class="w-full">
|
||||
<% if notice.present? %>
|
||||
<p class="py-2 px-3 bg-green-50 mb-5 text-green-500 font-medium rounded-md inline-block" id="notice"><%= notice %></p>
|
||||
<% end %>
|
||||
|
||||
<div class="flex justify-between items-center">
|
||||
<h1 class="font-bold text-4xl">Card providers</h1>
|
||||
<%= link_to "New card provider", new_card_provider_path, class: "rounded-md px-3.5 py-2.5 bg-blue-600 hover:bg-blue-500 text-white block font-medium" %>
|
||||
</div>
|
||||
|
||||
<div id="card_providers" class="min-w-full divide-y divide-gray-200 space-y-5">
|
||||
<% if @card_providers.any? %>
|
||||
<% @card_providers.each do |card_provider| %>
|
||||
<div class="flex flex-col sm:flex-row justify-between items-center pb-5 sm:pb-0">
|
||||
<%= render card_provider %>
|
||||
<div class="w-full sm:w-auto flex flex-col sm:flex-row space-x-2 space-y-2">
|
||||
<%= link_to "Show", card_provider, class: "w-full sm:w-auto text-center rounded-md px-3.5 py-2.5 bg-gray-100 hover:bg-gray-50 inline-block font-medium" %>
|
||||
<%= link_to "Edit", edit_card_provider_path(card_provider), class: "w-full sm:w-auto text-center rounded-md px-3.5 py-2.5 bg-gray-100 hover:bg-gray-50 inline-block font-medium" %>
|
||||
<%= button_to "Destroy", card_provider, method: :delete, class: "w-full sm:w-auto rounded-md px-3.5 py-2.5 text-white bg-red-600 hover:bg-red-500 font-medium cursor-pointer", data: { turbo_confirm: "Are you sure?" } %>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
<% else %>
|
||||
<p class="text-center my-10">No card providers found.</p>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1 @@
|
||||
json.array! @card_providers, partial: "card_providers/card_provider", as: :card_provider
|
||||
@@ -0,0 +1,9 @@
|
||||
<% content_for :title, "New card provider" %>
|
||||
|
||||
<div class="md:w-2/3 w-full">
|
||||
<h1 class="font-bold text-4xl">New card provider</h1>
|
||||
|
||||
<%= render "form", card_provider: @card_provider %>
|
||||
|
||||
<%= link_to "Back to card providers", card_providers_path, class: "w-full sm:w-auto text-center mt-2 sm:mt-0 sm:ml-2 rounded-md px-3.5 py-2.5 bg-gray-100 hover:bg-gray-50 inline-block font-medium" %>
|
||||
</div>
|
||||
@@ -0,0 +1,15 @@
|
||||
<% content_for :title, "Showing card provider" %>
|
||||
|
||||
<div class="md:w-2/3 w-full">
|
||||
<% if notice.present? %>
|
||||
<p class="py-2 px-3 bg-green-50 mb-5 text-green-500 font-medium rounded-md inline-block" id="notice"><%= notice %></p>
|
||||
<% end %>
|
||||
|
||||
<h1 class="font-bold text-4xl">Showing card provider</h1>
|
||||
|
||||
<%= render @card_provider %>
|
||||
|
||||
<%= link_to "Edit this card provider", edit_card_provider_path(@card_provider), class: "w-full sm:w-auto text-center rounded-md px-3.5 py-2.5 bg-gray-100 hover:bg-gray-50 inline-block font-medium" %>
|
||||
<%= link_to "Back to card providers", card_providers_path, class: "w-full sm:w-auto text-center mt-2 sm:mt-0 sm:ml-2 rounded-md px-3.5 py-2.5 bg-gray-100 hover:bg-gray-50 inline-block font-medium" %>
|
||||
<%= button_to "Destroy this card provider", @card_provider, method: :delete, form_class: "sm:inline-block mt-2 sm:mt-0 sm:ml-2", class: "w-full rounded-md px-3.5 py-2.5 text-white bg-red-600 hover:bg-red-500 font-medium cursor-pointer", data: { turbo_confirm: "Are you sure?" } %>
|
||||
</div>
|
||||
@@ -0,0 +1 @@
|
||||
json.partial! "card_providers/card_provider", card_provider: @card_provider
|
||||
@@ -0,0 +1,14 @@
|
||||
<div id="<%= dom_id card_rx %>" class="w-full sm:w-auto my-5 space-y-5">
|
||||
<div>
|
||||
<strong class="block font-medium mb-1">Help desk:</strong>
|
||||
<%= card_rx.help_desk %>
|
||||
</div>
|
||||
<div>
|
||||
<strong class="block font-medium mb-1">Customer service:</strong>
|
||||
<%= card_rx.customer_service %>
|
||||
</div>
|
||||
<div>
|
||||
<strong class="block font-medium mb-1">Web url:</strong>
|
||||
<%= card_rx.web_url %>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,2 @@
|
||||
json.extract! card_rx, :id, :help_desk, :customer_service, :web_url, :created_at, :updated_at
|
||||
json.url card_rx_url(card_rx, format: :json)
|
||||
@@ -0,0 +1,32 @@
|
||||
<%= form_with(model: card_rx, class: "contents") do |form| %>
|
||||
<% if card_rx.errors.any? %>
|
||||
<div id="error_explanation" class="bg-red-50 text-red-500 px-3 py-2 font-medium rounded-md mt-3">
|
||||
<h2><%= pluralize(card_rx.errors.count, "error") %> prohibited this card_rx from being saved:</h2>
|
||||
|
||||
<ul class="list-disc ml-6">
|
||||
<% card_rx.errors.each do |error| %>
|
||||
<li><%= error.full_message %></li>
|
||||
<% end %>
|
||||
</ul>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<div class="my-5">
|
||||
<%= form.label :help_desk %>
|
||||
<%= form.text_field :help_desk, class: ["block shadow-sm rounded-md border px-3 py-2 mt-2 w-full", {"border-gray-400 focus:outline-blue-600": card_rx.errors[:help_desk].none?, "border-red-400 focus:outline-red-600": card_rx.errors[:help_desk].any?}] %>
|
||||
</div>
|
||||
|
||||
<div class="my-5">
|
||||
<%= form.label :customer_service %>
|
||||
<%= form.text_field :customer_service, class: ["block shadow-sm rounded-md border px-3 py-2 mt-2 w-full", {"border-gray-400 focus:outline-blue-600": card_rx.errors[:customer_service].none?, "border-red-400 focus:outline-red-600": card_rx.errors[:customer_service].any?}] %>
|
||||
</div>
|
||||
|
||||
<div class="my-5">
|
||||
<%= form.label :web_url %>
|
||||
<%= form.text_field :web_url, class: ["block shadow-sm rounded-md border px-3 py-2 mt-2 w-full", {"border-gray-400 focus:outline-blue-600": card_rx.errors[:web_url].none?, "border-red-400 focus:outline-red-600": card_rx.errors[:web_url].any?}] %>
|
||||
</div>
|
||||
|
||||
<div class="inline">
|
||||
<%= form.submit class: "w-full sm:w-auto rounded-md px-3.5 py-2.5 bg-blue-600 hover:bg-blue-500 text-white inline-block font-medium cursor-pointer" %>
|
||||
</div>
|
||||
<% end %>
|
||||
@@ -0,0 +1,10 @@
|
||||
<% content_for :title, "Editing card rx" %>
|
||||
|
||||
<div class="md:w-2/3 w-full">
|
||||
<h1 class="font-bold text-4xl">Editing card rx</h1>
|
||||
|
||||
<%= render "form", card_rx: @card_rx %>
|
||||
|
||||
<%= link_to "Show this card rx", @card_rx, class: "w-full sm:w-auto text-center mt-2 sm:mt-0 sm:ml-2 rounded-md px-3.5 py-2.5 bg-gray-100 hover:bg-gray-50 inline-block font-medium" %>
|
||||
<%= link_to "Back to card rxes", card_rxes_path, class: "w-full sm:w-auto text-center mt-2 sm:mt-0 sm:ml-2 rounded-md px-3.5 py-2.5 bg-gray-100 hover:bg-gray-50 inline-block font-medium" %>
|
||||
</div>
|
||||
@@ -0,0 +1,29 @@
|
||||
<% content_for :title, "Card rxes" %>
|
||||
|
||||
<div class="w-full">
|
||||
<% if notice.present? %>
|
||||
<p class="py-2 px-3 bg-green-50 mb-5 text-green-500 font-medium rounded-md inline-block" id="notice"><%= notice %></p>
|
||||
<% end %>
|
||||
|
||||
<div class="flex justify-between items-center">
|
||||
<h1 class="font-bold text-4xl">Card rxes</h1>
|
||||
<%= link_to "New card rx", new_card_rx_path, class: "rounded-md px-3.5 py-2.5 bg-blue-600 hover:bg-blue-500 text-white block font-medium" %>
|
||||
</div>
|
||||
|
||||
<div id="card_rxes" class="min-w-full divide-y divide-gray-200 space-y-5">
|
||||
<% if @card_rxes.any? %>
|
||||
<% @card_rxes.each do |card_rx| %>
|
||||
<div class="flex flex-col sm:flex-row justify-between items-center pb-5 sm:pb-0">
|
||||
<%= render card_rx %>
|
||||
<div class="w-full sm:w-auto flex flex-col sm:flex-row space-x-2 space-y-2">
|
||||
<%= link_to "Show", card_rx, class: "w-full sm:w-auto text-center rounded-md px-3.5 py-2.5 bg-gray-100 hover:bg-gray-50 inline-block font-medium" %>
|
||||
<%= link_to "Edit", edit_card_rx_path(card_rx), class: "w-full sm:w-auto text-center rounded-md px-3.5 py-2.5 bg-gray-100 hover:bg-gray-50 inline-block font-medium" %>
|
||||
<%= button_to "Destroy", card_rx, method: :delete, class: "w-full sm:w-auto rounded-md px-3.5 py-2.5 text-white bg-red-600 hover:bg-red-500 font-medium cursor-pointer", data: { turbo_confirm: "Are you sure?" } %>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
<% else %>
|
||||
<p class="text-center my-10">No card rxes found.</p>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1 @@
|
||||
json.array! @card_rxes, partial: "card_rxes/card_rx", as: :card_rx
|
||||
@@ -0,0 +1,9 @@
|
||||
<% content_for :title, "New card rx" %>
|
||||
|
||||
<div class="md:w-2/3 w-full">
|
||||
<h1 class="font-bold text-4xl">New card rx</h1>
|
||||
|
||||
<%= render "form", card_rx: @card_rx %>
|
||||
|
||||
<%= link_to "Back to card rxes", card_rxes_path, class: "w-full sm:w-auto text-center mt-2 sm:mt-0 sm:ml-2 rounded-md px-3.5 py-2.5 bg-gray-100 hover:bg-gray-50 inline-block font-medium" %>
|
||||
</div>
|
||||
@@ -0,0 +1,15 @@
|
||||
<% content_for :title, "Showing card rx" %>
|
||||
|
||||
<div class="md:w-2/3 w-full">
|
||||
<% if notice.present? %>
|
||||
<p class="py-2 px-3 bg-green-50 mb-5 text-green-500 font-medium rounded-md inline-block" id="notice"><%= notice %></p>
|
||||
<% end %>
|
||||
|
||||
<h1 class="font-bold text-4xl">Showing card rx</h1>
|
||||
|
||||
<%= render @card_rx %>
|
||||
|
||||
<%= link_to "Edit this card rx", edit_card_rx_path(@card_rx), class: "w-full sm:w-auto text-center rounded-md px-3.5 py-2.5 bg-gray-100 hover:bg-gray-50 inline-block font-medium" %>
|
||||
<%= link_to "Back to card rxes", card_rxes_path, class: "w-full sm:w-auto text-center mt-2 sm:mt-0 sm:ml-2 rounded-md px-3.5 py-2.5 bg-gray-100 hover:bg-gray-50 inline-block font-medium" %>
|
||||
<%= button_to "Destroy this card rx", @card_rx, method: :delete, form_class: "sm:inline-block mt-2 sm:mt-0 sm:ml-2", class: "w-full rounded-md px-3.5 py-2.5 text-white bg-red-600 hover:bg-red-500 font-medium cursor-pointer", data: { turbo_confirm: "Are you sure?" } %>
|
||||
</div>
|
||||
@@ -0,0 +1 @@
|
||||
json.partial! "card_rxes/card_rx", card_rx: @card_rx
|
||||
@@ -1,9 +1,20 @@
|
||||
<div class="flex space-x-5 items-center mt-4">
|
||||
<label for="file_upload_input_NEW_RECORD" class="cursor-pointer bg-NEXT_COLOR hover:bg-NEXT_COLOR-tinted text-platinum font-bold py-2 px-4 rounded border border-platinum">
|
||||
Choose Network Logo File
|
||||
</label>
|
||||
<span id="file_name_display_NEW_RECORD" class="ml-2 text-NEXT_COLOR font-semibold">No file chosen</span>
|
||||
<%= network_fields.file_field :network_logo, class: "hidden", id: "file_upload_input_NEW_RECORD", data: { add_alt_network_logo_target: "networkLogo" } %>
|
||||
<div class="flex flex-col items-start w-full">
|
||||
<div class="flex items-end w-full">
|
||||
<div class="flex flex-col">
|
||||
<%= f.select :network_logo, options_for_select(CardLogoFile.where(logo_type: 'network').pluck(:filename).map { |fn| [fn, fn]}), { include_blank: "Select or Add Network Logo", class: "rounded-r-none" }, { data: { logo_upload_target: "logoSelect" }} %>
|
||||
</div>
|
||||
<div class="flex items-center justify-center cursor-pointer bg-NEXT_COLOR hover:bg-deepcove border-2 border-NEXT_COLOR text-platinum font-bold px-3 rounded-r h-10 transition duration-100">
|
||||
<label for="file_upload_input_NEW_RECORD" class="text-center cursor-pointer">
|
||||
<%= icon "image-plus", library: "lucide" %>
|
||||
</label>
|
||||
</div>
|
||||
<div class="hidden flex justify-center ml-4 rounded-lg border-4 border-NEXT_COLOR" data-logo-upload-target="previewContainer">
|
||||
<img data-logo-upload-target="preview" src="#" alt="Network Logo preview" class="max-h-[100px] max-w-[133px] m-1 bg-platinum"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<%= network_fields.file_field :network_logo_file, class: "hidden", id: "file_upload_input_NEW_RECORD", data: { add_alt_network_logo_target: "networkLogo", logo_upload_type_param: "network", action: "change->logo-upload#uploadLogo" }, direct_upload: true %>
|
||||
</div>
|
||||
<div class="flex items-end space-x-6 w-full">
|
||||
<div class="w-full">
|
||||
@@ -12,26 +23,10 @@
|
||||
<div class="w-full">
|
||||
<%= network_fields.text_field :exception_value, label: { text: "Exception Value" }, class: "w-full" %>
|
||||
</div>
|
||||
<div class="w-1/5">
|
||||
</div>
|
||||
<div class="flex justify-center items-end w-full">
|
||||
<div class="w-1/2">
|
||||
<%= network_fields.hidden_field :_destroy %>
|
||||
<%= button_tag "Remove", class: "cursor-pointer bg-deepcove hover:bg-brightlava text-xl font-bold text-NEXT_SECONDARY_COLOR hover:text-platinum py-1 px-2 font-semibold leading-tight rounded-lg border-3 border-NEXT_SECONDARY_COLOR w-full", data: { action: "add-alt-network-logo#remove" } %>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex flex-col w-full space-y-6" data-add-network-exception-target="container"></div>
|
||||
<%= button_tag "Add an exception rule", class: "cursor-pointer bg-NEXT_COLOR hover:bg-NEXT_COLOR-tinted text-platinum text-lg font-bold py-2 px-4 rounded border border-platinum w-full", data: { action: "add-network-exception#add" } %>
|
||||
<template data-add-network-exception-target="template">
|
||||
<%= network_fields.fields_for :alternative_network_logos, AlternativeNetworkLogo.new(network_logo: network_fields.object.network_logo), child_index: 'NEW_EXC_RECORD' do |network_fields| %>
|
||||
<div class="flex items-end space-x-6 w-full">
|
||||
<div class="w-full">
|
||||
<%= network_fields.select :exception_type, options_for_select(["Zip","State"]), label: { text: "Exception Type" }, prompt: "Select Type", class: "w-full" %>
|
||||
</div>
|
||||
<div class="w-full">
|
||||
<%= network_fields.text_field :exception_value, label: { text: "Exception Value" }, class: "w-full" %>
|
||||
</div>
|
||||
<div class="w-1/5">
|
||||
<%= network_fields.hidden_field :_destroy %>
|
||||
<%= button_tag "Remove", class: "cursor-pointer bg-deepcove hover:bg-brightlava text-xl font-bold text-PARENT_SECONDARY_COLOR hover:text-platinum py-1 px-2 font-semibold leading-tight rounded-lg border-3 border-PARENT_SECONDARY_COLOR w-full", data: { action: "add-alt-network-logo#remove" } %>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
</template>
|
||||
</div>
|
||||
@@ -1,4 +1,4 @@
|
||||
<div class="pl-1 w-full">
|
||||
<%= plan_benefits_fields.text_field :benefit, label: { text: "Benefit Value #{plan_benefits_fields.object.sequence}" }, data: { benefits_template_picker_target: "benefit", sequence: plan_benefits_fields.object.sequence}, class: "w-full" %>
|
||||
<%= plan_benefits_fields.text_field :benefit, label: { text: "#{plan_benefits_fields.object.benefit_desc}" }, data: { benefits_template_picker_target: "benefit", sequence: plan_benefits_fields.object.sequence}, class: "w-full" %>
|
||||
<%= plan_benefits_fields.hidden_field :sequence %>
|
||||
</div>
|
||||
@@ -1,5 +1,5 @@
|
||||
<div class="pl-1 w-full">
|
||||
<%= plan_benefits_fields.text_field :benefit, label: { text: "Benefit Value #{plan_benefits_fields.object.sequence}" }, data: { benefits_template_picker_target: "benefit", sequence: plan_benefits_fields.object.sequence}, class: "w-full" %>
|
||||
<div class="pl-1 pt-2 w-full">
|
||||
<%= plan_benefits_fields.text_field :benefit, label: { text: "#{plan_benefits_fields.object.benefit_desc}" }, data: { benefits_template_picker_target: "benefit", sequence: plan_benefits_fields.object.sequence}, class: "w-full" %>
|
||||
<%= plan_benefits_fields.hidden_field :benefit_desc %>
|
||||
<%= plan_benefits_fields.hidden_field :sequence %>
|
||||
</div>
|
||||
@@ -1,11 +1,13 @@
|
||||
<div class="pl-1 w-full">
|
||||
<%= plan_fields.text_field :title, label: { text: "Plan Title" }, class: "w-full", data: { add_plan_target: "plan" } %>
|
||||
</div>
|
||||
<div class="pl-1 w-full">
|
||||
<%= plan_fields.text_field :plan_id, label: { text: "Plan Id" }, class: "w-full" %>
|
||||
</div>
|
||||
<div class="pl-1">
|
||||
<%= f.select :template_id, options_from_collection_for_select(@plan_templates, :id, :title), { prompt: "Select Plan Template" }, { data: { action: "benefits-template-picker#fetchData" }} %>
|
||||
<% if f.object.persisted? %>
|
||||
<div class="pl-1 w-full">
|
||||
<%= plan_fields.text_field :plan_id, label: { text: "Plan Id" }, class: "w-full" %>
|
||||
</div>
|
||||
<% end %>
|
||||
<div class="pl-1 pb-2 w-full">
|
||||
<%= f.select :template_id, options_from_collection_for_select(@plan_templates, :id, :title), { prompt: "Select Plan Template", class: "w-full" }, { data: { action: "benefits-template-picker#fetchData" }} %>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
+52
-62
@@ -1,38 +1,50 @@
|
||||
<div class="bg-deepcove h-full w-full flex flex-col">
|
||||
<h1 class="font-bold text-4xl text-platinum my-5">New Employer Setup</h1>
|
||||
<%= form_with model: @employer_setup, url: employer_setup_index_path, local: true do |f| %>
|
||||
<h1 class="font-bold text-4xl text-platinum my-5">Edit Employer</h1>
|
||||
<%= form_with model: @employer_setup, url: employer_setup_index_path, local: true, multipart: true do |f| %>
|
||||
<div class="flex flex-col space-y-6">
|
||||
<div class="w-full flex items-center">
|
||||
<h3 class="font-bold text-2xl text-bluemana">General Information</h3>
|
||||
<div class="h-[1px] w-1/2 mt-2 bg-bluemana"></div>
|
||||
</div>
|
||||
<div class="flex space-x-10">
|
||||
<div class="w-1/5">
|
||||
<%= f.text_field :employer_name, label: { text: "Employer Name" }, class: "w-full" %>
|
||||
<div class="flex w-full items-end" data-controller="logo-upload">
|
||||
<div class="flex flex-col space-y-6 w-3/5">
|
||||
<div class="flex space-x-10">
|
||||
<div class="w-full">
|
||||
<%= f.text_field :employer_name, label: { text: "Employer Name" }, data: { logo_upload_target: "initialLogoFile" }, class: "w-full" %>
|
||||
</div>
|
||||
<div class="w-full">
|
||||
<%= f.text_field :slug, label: { text: "Slug" }, class: "w-full" %>
|
||||
</div>
|
||||
<div class="w-full">
|
||||
<%= f.text_field :group_number, label: { text: "Group/Medical Number" }, class: "w-full" %>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex space-x-10">
|
||||
<div class="w-full">
|
||||
<%= f.text_field :pl_plan_key, label: { text: "Pl Plan Key" }, class: "w-full" %>
|
||||
</div>
|
||||
<div class="w-full">
|
||||
<%= f.text_field :effective_date, label: { text: "Effective Date" }, class: "w-full" %>
|
||||
</div>
|
||||
<div class="w-full">
|
||||
<%= f.select :network_provider, options_for_select(["Cigna", "Medcost"]), label: { text: "Provider Network" }, class: "w-full" %>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-end">
|
||||
<div class="flex flex-col">
|
||||
<%= f.text_field :employer_logo, data: { logo_upload_target: "logofield" }, class: "w-full rounded-r-none", readonly: true %>
|
||||
</div>
|
||||
<div class="flex items-center justify-center cursor-pointer bg-atmosphere hover:bg-deepcove border-2 border-atmosphere text-platinum font-bold px-3 rounded-r h-10 transition duration-100">
|
||||
<label for="file_upload_input_employer" class="text-center cursor-pointer">
|
||||
<%= icon "image-plus", library: "lucide" %>
|
||||
</label>
|
||||
</div>
|
||||
<%= f.file_field :add_or_update_logo, class: "hidden", id: "file_upload_input_employer", data: { logo_upload_target: "input", logo_upload_type_param: "employer", action: "change->logo-upload#uploadLogo" }, direct_upload: true %>
|
||||
<div class="ml-15">
|
||||
<img data-logo-upload-target="preview" src="#" alt="Employer Logo preview" class="hidden max-h-[150px] max-w-[200px] bg-platinum"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w-1/5">
|
||||
<%= f.text_field :group_number, label: { text: "Group/Medical Number" }, class: "w-full" %>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex space-x-10">
|
||||
<div class="w-1/5">
|
||||
<%= f.text_field :pl_plan_key, label: { text: "Pl Plan Key" }, class: "w-full" %>
|
||||
</div>
|
||||
<div class="w-1/5">
|
||||
<%= f.text_field :effective_date, label: { text: "Effective Date" }, class: "w-full" %>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex space-x-10">
|
||||
<div class="w-1/5">
|
||||
<%= f.select :network_provider, options_for_select(["Cigna", "Medcost"]), label: { text: "Provider Network" }, class: "w-full" %>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex space-x-5 items-center mt-4">
|
||||
<label for="file_upload_input" class="cursor-pointer bg-atmosphere hover:bg-bluetang text-platinum font-bold py-2 px-4 rounded border border-platinum">
|
||||
Choose Employer Logo File
|
||||
</label>
|
||||
<span id="file_name_display" class="ml-2 text-bluemana font-semibold">No file chosen</span>
|
||||
<%= f.file_field :employer_logo, class: "hidden", id: "file_upload_input" %>
|
||||
</div>
|
||||
|
||||
<div class="w-full flex items-center">
|
||||
@@ -43,50 +55,24 @@
|
||||
<div class="flex flex-wrap w-full" data-add-plan-target="container">
|
||||
<% @employer_setup.plans.each_with_index do |plan, index| %>
|
||||
<%= f.fields_for :plans, plan, child_index: index do |plan_fields| %>
|
||||
|
||||
<% if index == 0 %>
|
||||
<div class="flex flex-col w-1/2 relative items-end" data-controller="benefits-template-picker">
|
||||
<div class="absolute left-[50%] top-[2%] h-[98%] border-l-4 <%= "border-#{EmployerSetupPlansForm::PLAN_COLORS[index]}" %> "></div>
|
||||
<div class="inline-flex flex-col pl-1 pr-6 w-1/2">
|
||||
<div class="font-bold text-2xl <%= "text-#{EmployerSetupPlansForm::PLAN_COLORS[index]}" %> -ml-[6px] z-2 w-full">
|
||||
<%= "Plan 1" %>
|
||||
</div>
|
||||
<%= render 'plan_fields', plan_fields: plan_fields, f: f, index: index %>
|
||||
</div>
|
||||
<div class="flex flex-col items-end w-full">
|
||||
<%= plan_fields.fields_for :plan_benefits do |plan_benefits_fields| %>
|
||||
<div class="flex w-full">
|
||||
<div class="flex flex-col items-stretch justify-end pr-6 w-1/2">
|
||||
<%= render 'plan_benefits_desc_fields', plan_benefits_fields: plan_benefits_fields %>
|
||||
</div>
|
||||
<div class="flex flex-col items-stretch justify-end pl-1 pr-6 w-1/2">
|
||||
<%= render 'plan_benefit_only_fields', plan_benefits_fields: plan_benefits_fields %>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<% end %>
|
||||
<div class="mt-4 pl-2 pr-6 w-1/2">
|
||||
<%= plan_fields.hidden_field :_destroy %>
|
||||
<%= button_tag "Remove Plan 1", class: "cursor-pointer bg-deepcove hover:bg-brightlava text-xl font-bold text-copper hover:text-platinum py-2 px-4 font-semibold leading-tight rounded-lg border-3 border-copper w-full", data: { action: "add-plan#remove" } %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<% else %>
|
||||
<div class="inline-flex flex-col justify-end pr-6 mt-10 w-1/4 relative pl-1" data-controller="benefits-template-picker">
|
||||
<div class="inline-flex flex-col pr-6 w-1/4 relative pl-1" data-controller="benefits-template-picker">
|
||||
<div class="absolute left-0 top-[2%] h-[98%] border-l-4 <%= "border-#{EmployerSetupPlansForm::PLAN_COLORS[index]}" %>"></div>
|
||||
<div class="font-bold text-2xl <%= "text-#{EmployerSetupPlansForm::PLAN_COLORS[index]}" %> -ml-[6px] z-2 w-full">
|
||||
<%= "Plan #{index + 1}" %>
|
||||
</div>
|
||||
<%= render 'plan_fields', plan_fields: plan_fields, f: f, index: index %>
|
||||
<div class="text-xl text-left font-bold pl-[2px] mb-[-4px] z-1 <%= "text-#{EmployerSetupPlansForm::PLAN_COLORS[index]}" %>">
|
||||
Benefit Values
|
||||
</div>
|
||||
<div class="w-full h-[3px] rounded-r <%= "bg-#{index % 2 == 1 ? 'bronze' : 'copper'}" %> ml-[3px]"></div>
|
||||
<%= plan_fields.fields_for :plan_benefits do |plan_benefits_fields| %>
|
||||
<%= render 'plan_benefits_fields', plan_benefits_fields: plan_benefits_fields %>
|
||||
<% end %>
|
||||
<div class="mt-4 pl-1">
|
||||
<%= plan_fields.hidden_field :_destroy %>
|
||||
<%= button_tag "Remove Plan #{index + 1}", class: "cursor-pointer bg-deepcove text-brightlava py-2 px-4 font-semibold leading-tight rounded border-3 border-#{EmployerSetupPlansForm::PLAN_COLORS[index]} w-full", data: { action: "add-plan#remove" } %>
|
||||
<%= button_tag "Remove Plan #{index + 1}", class: "cursor-pointer bg-deepcove hover:bg-brightlava text-xl font-bold text-#{index % 2 == 1 ? 'bronze' : 'copper'} hover:text-platinum py-2 px-4 font-semibold leading-tight rounded-lg border-3 border-NEXT_SECONDARY_COLOR w-full", data: { action: "add-plan#remove" } %>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<% end %>
|
||||
<% end %>
|
||||
@@ -99,6 +85,10 @@
|
||||
<%= "Plan NEW_PLAN" %>
|
||||
</div>
|
||||
<%= render 'plan_fields', plan_fields: plan_fields, f: f, index: "NEW_RECORD".to_i %>
|
||||
<div class="text-xl text-left font-bold pl-[2px] mb-[-4px] z-1 text-NEXT_COLOR">
|
||||
Benefit Values
|
||||
</div>
|
||||
<div class="w-full h-[3px] rounded-r bg-NEXT_SECONDARY_COLOR ml-[3px]"></div>
|
||||
<%= plan_fields.fields_for :plan_benefits do |plan_benefits_fields| %>
|
||||
<%= render 'plan_benefits_fields', plan_benefits_fields: plan_benefits_fields %>
|
||||
<% end %>
|
||||
@@ -121,9 +111,9 @@
|
||||
<%= button_tag "Add a Regional Logo", class: "cursor-pointer text-lg font-medium py-2 px-4 rounded w-1/7 h-75 my-8 text-[#E0E0E0] rounded-lg border border-[#C2C2C2] hover:shadow-[0_0_10px_3px_#93c5fd]", data: { action: "add-alt-network-logo#add", add_alt_network_logo_target: "button" } %>
|
||||
</div>
|
||||
<template data-add-alt-network-logo-target="template">
|
||||
<%= f.fields_for :alternative_network_logos, AlternativeNetworkLogo.new, child_index: 'NEW_RECORD' do |network_fields| %>
|
||||
<%= f.fields_for :alternate_network_logos, AlternateNetworkLogo.new, child_index: 'NEW_RECORD' do |network_fields| %>
|
||||
<div class="flex flex-col my-8 mr-3 space-y-6 px-3" data-controller="add-network-exception" data-add-network-exception-parent-color-value="NEXT_SECONDARY_COLOR">
|
||||
<%= render 'alt_network_logo_fields', network_fields: network_fields %>
|
||||
<%= render 'alt_network_logo_fields', network_fields: network_fields, f: f %>
|
||||
</div>
|
||||
<% end %>
|
||||
</template>
|
||||
@@ -0,0 +1,10 @@
|
||||
<div class="bg-deepcove h-full w-full flex flex-col">
|
||||
<h1 class="font-bold text-4xl text-platinum my-5">Employer Setups</h1>
|
||||
<% plan_colors = EmployerSetupPlansForm::PLAN_COLORS.push('copper', 'bronze').shuffle %>
|
||||
<% @employer_setups.each_with_index do |es, index| %>
|
||||
<% item_color_index = index == 0 ? 0 : index % plan_colors.length %>
|
||||
<div class="w-full flex text-2xl text-platinum font-bold px-4 py-4 ml-10 rounded-lg border-l-5 border-b-2 <%= "border-#{plan_colors[item_color_index]}" %>">
|
||||
<%= es.employer_name %>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
@@ -0,0 +1,130 @@
|
||||
<div class="bg-deepcove h-full w-full flex flex-col">
|
||||
<div class="flex justify-between">
|
||||
<h1 class="font-bold text-4xl text-platinum my-5">New Employer</h1>
|
||||
<%= form_with model: @employer_setup, url: import_employer_setup_index_path, data: { turbo: false }, local: true, multipart: true do |form| %>
|
||||
<div class="flex space-x-4">
|
||||
<div class="flex flex-col">
|
||||
<%= form.label :import_from_word, 'ID Card Setup Word Doc', class: "block text-platinum font-bold mb-1 md:mb-0 pr-4" %>
|
||||
<%= form.file_field :import_from_word %>
|
||||
</div>
|
||||
<%= form.submit "Import" %>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
<%= form_with model: @employer_setup, url: employer_setup_index_path, local: true, multipart: true do |f| %>
|
||||
<div class="flex flex-col space-y-6 pb-10">
|
||||
<div class="w-full flex items-center">
|
||||
<h3 class="font-bold text-2xl text-bluemana">General Information</h3>
|
||||
<div class="h-[1px] w-1/2 mt-2 bg-bluemana"></div>
|
||||
</div>
|
||||
<div class="flex w-full items-end" data-controller="logo-upload">
|
||||
<div class="flex flex-col space-y-6 w-2/5">
|
||||
<div class="flex space-x-10">
|
||||
<div class="w-full">
|
||||
<%= f.text_field :employer_name, label: { text: "Employer Name" }, data: { logo_upload_target: "employer" }, class: "w-full" %>
|
||||
</div>
|
||||
<div class="w-full">
|
||||
<%= f.text_field :group_number, label: { text: "Group/Medical Number" }, class: "w-full" %>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex space-x-10">
|
||||
<div class="w-full">
|
||||
<%= f.text_field :effective_date, label: { text: "Effective Date" }, class: "w-full" %>
|
||||
</div>
|
||||
<div class="w-full">
|
||||
<%= f.select :network_provider, options_for_select(["Cigna", "Medcost"]), label: { text: "Provider Network" }, data: { logo_upload_target: "network" }, class: "w-full" %>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-start">
|
||||
<div class="flex">
|
||||
<div class="flex flex-col">
|
||||
<%= f.text_field :employer_logo, value: "No logo added", data: { logo_upload_target: "logofield" }, class: "w-full rounded-r-none", readonly: true %>
|
||||
</div>
|
||||
<div class="flex items-center justify-center self-end cursor-pointer bg-atmosphere hover:bg-deepcove border-2 border-atmosphere text-platinum font-bold px-3 rounded-r h-10 transition duration-100">
|
||||
<label for="file_upload_input_employer" class="text-center cursor-pointer">
|
||||
<%= icon "image-plus", library: "lucide" %>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="hidden flex justify-center ml-15 rounded-lg border-4 border-atmosphere" data-logo-upload-target="previewContainer">
|
||||
<img data-logo-upload-target="preview" src="#" alt="Employer Logo preview" class="max-h-[100px] max-w-[133px] bg-platinum m-1"/>
|
||||
</div>
|
||||
<%= f.file_field :add_or_update_logo, class: "hidden", id: "file_upload_input_employer", data: { logo_upload_target: "previewContainer", logo_upload_type_param: "employer", action: "change->logo-upload#uploadLogo" }, direct_upload: true %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w-full flex items-center">
|
||||
<h3 class="font-bold text-2xl text-bluemana">Plans Information</h3>
|
||||
<div class="h-[1px] w-1/2 mt-2 bg-bluemana"></div>
|
||||
</div>
|
||||
<div class="w-full flex my-8" data-controller="add-plan" data-add-plan-form-color-value="<%= EmployerSetupPlansForm::PLAN_COLORS.to_json %>" >
|
||||
<div class="flex flex-wrap w-full" data-add-plan-target="container">
|
||||
<%= f.fields_for :plans, @employer_setup.plans.first, child_index: 0 do |plan_fields| %>
|
||||
<div class="inline-flex flex-col justify-end pr-6 w-1/4 relative pl-1" data-controller="benefits-template-picker">
|
||||
<div class="absolute left-0 top-[2%] h-[98%] border-l-4 <%= "border-#{EmployerSetupPlansForm::PLAN_COLORS[0]}" %> "></div>
|
||||
<div class="font-bold text-2xl <%= "text-#{EmployerSetupPlansForm::PLAN_COLORS[0]}" %> -ml-[6px] z-2 w-full">
|
||||
<%= "Plan 1" %>
|
||||
</div>
|
||||
<%= render 'plan_fields', plan_fields: plan_fields, f: f, index: 0 %>
|
||||
<div class="text-xl text-left font-bold pl-[2px] mb-[-4px] z-1 <%= "text-#{EmployerSetupPlansForm::PLAN_COLORS[0]}" %>">
|
||||
Benefit Values
|
||||
</div>
|
||||
<div class="w-full h-[3px] rounded-r bg-bronze ml-[3px]"></div>
|
||||
<%= plan_fields.fields_for :plan_benefits do |plan_benefits_fields| %>
|
||||
<%= render 'plan_benefits_fields', plan_benefits_fields: plan_benefits_fields %>
|
||||
<% end %>
|
||||
<div class="mt-4 pl-1">
|
||||
<%= plan_fields.hidden_field :_destroy %>
|
||||
<%= button_tag "Remove Plan 1", class: "cursor-pointer bg-deepcove hover:bg-brightlava text-xl font-bold text-copper hover:text-platinum py-2 px-4 font-semibold leading-tight rounded-lg border-3 border-copper w-full", data: { action: "add-plan#remove" } %>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
<%= button_tag "Add a Plan", class: "cursor-pointer text-2xl font-bold py-2 pr-6 mt-10 w-[calc(24%-1rem)] w-1/4 min-h-[940px] text-[#E0E0E0] rounded-lg font-medium border border-[#E0E0E0] bg-[#173057] hover:bg-transparent hover:shadow-[0_0_10px_3px_#93c5fd] transition-colors duration-150", data: { action: "add-plan#add", add_plan_target: "button" } %>
|
||||
</div>
|
||||
<template data-add-plan-target="template">
|
||||
<%= f.fields_for :plans, Plan.new, child_index: 'NEW_RECORD' do |plan_fields| %>
|
||||
<div class="inline-flex flex-col justify-end pr-6 w-1/4 relative pl-1" data-controller="benefits-template-picker">
|
||||
<div class="absolute left-0 top-[2%] h-[98%] border-l-4 border-NEXT_COLOR"></div>
|
||||
<div class="font-bold text-2xl text-NEXT_COLOR -ml-[6px] z-2 w-full">
|
||||
<%= "Plan NEW_PLAN" %>
|
||||
</div>
|
||||
<%= render 'plan_fields', plan_fields: plan_fields, f: f, index: "NEW_RECORD".to_i %>
|
||||
<div class="text-xl text-left font-bold pl-[2px] mb-[-4px] z-1 text-NEXT_COLOR">
|
||||
Benefit Values
|
||||
</div>
|
||||
<div class="w-full h-[3px] rounded-r bg-NEXT_SECONDARY_COLOR ml-[3px]"></div>
|
||||
<%= plan_fields.fields_for :plan_benefits do |plan_benefits_fields| %>
|
||||
<%= render 'plan_benefits_fields', plan_benefits_fields: plan_benefits_fields %>
|
||||
<% end %>
|
||||
<div class="mt-4 pl-1">
|
||||
<%= plan_fields.hidden_field :_destroy %>
|
||||
<%= button_tag "Remove Plan NEW_PLAN", class: "cursor-pointer bg-deepcove hover:bg-brightlava text-xl font-bold text-NEXT_SECONDARY_COLOR hover:text-platinum py-2 px-4 font-semibold leading-tight rounded-lg border-3 border-NEXT_SECONDARY_COLOR w-full", data: { action: "add-plan#remove" } %>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="w-full flex items-center">
|
||||
<h3 class="font-bold text-2xl text-bluemana">Alternative Network Information</h3>
|
||||
<div class="h-[1px] w-1/2 mt-2 bg-bluemana"></div>
|
||||
</div>
|
||||
<div class="flex w-full justify-start" data-controller="add-alt-network-logo" data-add-alt-network-logo-form-color-value="<%= EmployerSetupPlansForm::PLAN_COLORS.to_json %>">
|
||||
<div class="flex flex-wrap w-full" data-add-alt-network-logo-target="container">
|
||||
<%= button_tag "Add a Regional Logo", class: "cursor-pointer text-lg font-medium py-2 px-4 rounded w-1/7 h-55 my-8 text-[#E0E0E0] rounded-lg border border-[#C2C2C2] hover:shadow-[0_0_10px_3px_#93c5fd]", data: { action: "add-alt-network-logo#add", add_alt_network_logo_target: "button" } %>
|
||||
</div>
|
||||
<template data-add-alt-network-logo-target="template">
|
||||
<%= f.fields_for :alternate_network_logos, AlternateNetworkLogo.new, child_index: 'NEW_RECORD' do |network_fields| %>
|
||||
<div class="flex flex-col my-8 mr-3 space-y-6 px-3 min-w-1/3" data-controller="logo-upload" data-add-network-exception-parent-color-value="NEXT_SECONDARY_COLOR">
|
||||
<%= render 'alt_network_logo_fields', network_fields: network_fields, f: f %>
|
||||
</div>
|
||||
<% end %>
|
||||
</template>
|
||||
</div>
|
||||
<div class="pt-8">
|
||||
<%= f.submit "Submit" %>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
@@ -0,0 +1,32 @@
|
||||
<div class="flex space-x-5 items-center mt-4">
|
||||
<div class="flex flex-col items-start w-full">
|
||||
<div class="flex items-end w-full">
|
||||
<div class="flex flex-col">
|
||||
<%= f.select :network_logo, options_for_select(CardLogoFile.where(logo_type: 'network').pluck(:filename).map { |fn| [fn, fn]}), { include_blank: "Select or Add Network Logo", class: "rounded-r-none" }, { data: { logo_upload_target: "logoSelect" }} %>
|
||||
</div>
|
||||
<div class="flex items-center justify-center cursor-pointer bg-NEXT_COLOR hover:bg-deepcove border-2 border-NEXT_COLOR text-platinum font-bold px-3 rounded-r h-10 transition duration-100">
|
||||
<label for="file_upload_input_NEW_RECORD" class="text-center cursor-pointer">
|
||||
<%= icon "image-plus", library: "lucide" %>
|
||||
</label>
|
||||
</div>
|
||||
<div class="hidden flex justify-center ml-4 rounded-lg border-4 border-NEXT_COLOR" data-logo-upload-target="previewContainer">
|
||||
<img data-logo-upload-target="preview" src="#" alt="Network Logo preview" class="max-h-[100px] max-w-[133px] m-1 bg-platinum"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<%= network_fields.file_field :network_logo_file, class: "hidden", id: "file_upload_input_NEW_RECORD", data: { add_alt_network_logo_target: "networkLogo", logo_upload_type_param: "network", action: "change->logo-upload#uploadLogo" }, direct_upload: true %>
|
||||
</div>
|
||||
<div class="flex items-end space-x-6 w-full">
|
||||
<div class="w-full">
|
||||
<%= network_fields.select :exception_type, options_for_select(["Zip","State"]), label: { text: "Exception Type" }, prompt: "Select Type", class: "w-full" %>
|
||||
</div>
|
||||
<div class="w-full">
|
||||
<%= network_fields.text_field :exception_value, label: { text: "Exception Value" }, class: "w-full" %>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex justify-center items-end w-full">
|
||||
<div class="w-1/2">
|
||||
<%= network_fields.hidden_field :_destroy %>
|
||||
<%= button_tag "Remove", class: "cursor-pointer bg-deepcove hover:bg-brightlava text-xl font-bold text-NEXT_SECONDARY_COLOR hover:text-platinum py-1 px-2 font-semibold leading-tight rounded-lg border-3 border-NEXT_SECONDARY_COLOR w-full", data: { action: "add-alt-network-logo#remove" } %>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,23 @@
|
||||
<div class="flex flex-col items-stretch justify-end pr-6 pl-1 w-1/4">
|
||||
<%= plan_fields.fields_for :plan_benefits do |plan_benefits_fields| %>
|
||||
<%= render 'plan_benefits_desc_fields', plan_benefits_fields: plan_benefits_fields %>
|
||||
<% end %>
|
||||
</div>
|
||||
<div class="inline-flex flex-col justify-end pr-6 pl-1 mt-10 relative w-1/4" data-controller="benefits-template-picker">
|
||||
<div class="absolute left-0 top-[2%] h-[98%] border-l-4 <%= "border-#{EmployerSetupPlansForm::PLAN_COLORS[i]}" %> rounded-bl-lg"></div>
|
||||
<div class="font-bold text-2xl <%= "text-#{EmployerSetupPlansForm::PLAN_COLORS[i]}" %> -ml-[6px] z-2 w-full">
|
||||
<%= "Plan #{i + 1}" %>
|
||||
</div>
|
||||
<div class="pl-1 w-full">
|
||||
<%= plan_fields.text_field :title, label: { text: "Plan Title" }, class: "w-full", data: { add_plan_target: "plan" } %>
|
||||
</div>
|
||||
<div class="pl-1 w-full">
|
||||
<%= plan_fields.text_field :plan_id, label: { text: "Plan Id" }, class: "w-full" %>
|
||||
</div>
|
||||
<div class="pl-1">
|
||||
<%= f.select :template_id, options_from_collection_for_select(@form.plan_templates, :id, :title), { prompt: "Select Plan Template" }, { data: { action: "benefits-template-picker#fetchData" }} %>
|
||||
</div>
|
||||
<%= plan_fields.fields_for :plan_benefits do |plan_benefits_fields| %>
|
||||
<%= render 'plan_benefits_fields', plan_benefits_fields: plan_benefits_fields %>
|
||||
<% end %>
|
||||
</div>
|
||||
@@ -0,0 +1,4 @@
|
||||
<div class="pl-1 w-full">
|
||||
<%= plan_benefits_fields.text_field :benefit, label: { text: "#{plan_benefits_fields.object.benefit_desc}" }, data: { benefits_template_picker_target: "benefit", sequence: plan_benefits_fields.object.sequence}, class: "w-full" %>
|
||||
<%= plan_benefits_fields.hidden_field :sequence %>
|
||||
</div>
|
||||
@@ -0,0 +1,3 @@
|
||||
<div class="pl-1 w-full">
|
||||
<%= plan_benefits_fields.text_field :benefit_desc, label: { text: "Benefit Description #{plan_benefits_fields.object.sequence}" }, class: "w-full" %>
|
||||
</div>
|
||||
@@ -0,0 +1,5 @@
|
||||
<div class="pl-1 pt-2 w-full">
|
||||
<%= plan_benefits_fields.text_field :benefit, label: { text: "#{plan_benefits_fields.object.benefit_desc}" }, data: { benefits_template_picker_target: "benefit", sequence: plan_benefits_fields.object.sequence}, class: "w-full" %>
|
||||
<%= plan_benefits_fields.hidden_field :benefit_desc %>
|
||||
<%= plan_benefits_fields.hidden_field :sequence %>
|
||||
</div>
|
||||
@@ -0,0 +1,13 @@
|
||||
<div class="pl-1 w-full">
|
||||
<%= plan_fields.text_field :title, label: { text: "Plan Title" }, class: "w-full", data: { add_plan_target: "plan" } %>
|
||||
</div>
|
||||
<% if f.object.persisted? %>
|
||||
<div class="pl-1 w-full">
|
||||
<%= plan_fields.text_field :pb_product_key, label: { text: "Plan Product Key" }, class: "w-full" %>
|
||||
</div>
|
||||
<% end %>
|
||||
<div class="pl-1 pb-2 w-full">
|
||||
<%= f.select :template_id, options_from_collection_for_select(@plan_templates, :id, :title), { prompt: "Select Plan Template", class: "w-full" }, { data: { action: "benefits-template-picker#fetchData" }} %>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -0,0 +1,126 @@
|
||||
<div class="bg-deepcove h-full w-full flex flex-col">
|
||||
<h1 class="font-bold text-4xl text-platinum my-5">Edit Employer</h1>
|
||||
<%= form_with model: @employer, local: true, multipart: true do |f| %>
|
||||
<div class="flex flex-col space-y-6">
|
||||
<div class="w-full flex items-center">
|
||||
<h3 class="font-bold text-2xl text-bluemana">General Information</h3>
|
||||
<div class="h-[1px] w-1/2 mt-2 bg-bluemana"></div>
|
||||
</div>
|
||||
<div class="flex w-full items-end" data-controller="logo-upload">
|
||||
<div class="flex flex-col space-y-6 w-3/5">
|
||||
<div class="flex space-x-10">
|
||||
<div class="w-full">
|
||||
<%= f.text_field :name, label: { text: "Employer Name" }, class: "w-full" %>
|
||||
</div>
|
||||
<div class="w-full">
|
||||
<%= f.text_field :slug, label: { text: "Slug" }, class: "w-full" %>
|
||||
</div>
|
||||
<div class="w-full">
|
||||
<%= f.text_field :group_number, label: { text: "Group/Medical Number" }, class: "w-full" %>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex space-x-10">
|
||||
<div class="w-full">
|
||||
<%= f.text_field :pl_plan_key, label: { text: "Pl Plan Key" }, class: "w-full" %>
|
||||
</div>
|
||||
<div class="w-full">
|
||||
<%= f.text_field :effective_date, label: { text: "Effective Date" }, class: "w-full" %>
|
||||
</div>
|
||||
<div class="w-full">
|
||||
<%= f.select :network_provider, options_for_select(["Cigna", "Medcost"]), label: { text: "Provider Network" }, class: "w-full" %>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-end">
|
||||
<div class="flex flex-col">
|
||||
<%= f.text_field :employer_logo_filename, data: { logo_upload_target: "logofield" }, class: "w-full rounded-r-none", readonly: true %>
|
||||
</div>
|
||||
<div class="flex items-center justify-center cursor-pointer bg-atmosphere hover:bg-deepcove border-2 border-atmosphere text-platinum font-bold px-3 rounded-r h-10 transition duration-100">
|
||||
<label for="file_upload_input_employer" class="text-center cursor-pointer">
|
||||
<%= icon "image-plus", library: "lucide" %>
|
||||
</label>
|
||||
</div>
|
||||
<div class="hidden flex justify-center ml-15 rounded-lg border-4 border-atmosphere" data-logo-upload-target="previewContainer">
|
||||
<img data-logo-upload-target="preview" src="#" alt="Employer Logo preview" class="max-h-[100px] max-w-[133px] bg-platinum m-1"/>
|
||||
</div>
|
||||
<%= f.file_field :add_or_update_logo, class: "hidden", id: "file_upload_input_employer", data: { logo_upload_target: "previewContainer", logo_upload_type_param: "employer", action: "change->logo-upload#uploadLogo" }, direct_upload: true %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="w-full flex items-center">
|
||||
<h3 class="font-bold text-2xl text-bluemana">Plans Information</h3>
|
||||
<div class="h-[1px] w-1/2 mt-2 bg-bluemana"></div>
|
||||
</div>
|
||||
<div class="w-full flex my-8" data-controller="add-plan" data-add-plan-form-color-value="<%= EmployerSetupPlansForm::PLAN_COLORS.to_json %>" >
|
||||
<div class="flex flex-wrap w-full" data-add-plan-target="container">
|
||||
<% @employer.plans.each_with_index do |plan, index| %>
|
||||
<%= f.fields_for :plans, plan, child_index: index do |plan_fields| %>
|
||||
<div class="inline-flex flex-col pr-6 w-1/4 relative pl-1" data-controller="benefits-template-picker">
|
||||
<div class="absolute left-0 top-[2%] h-[98%] border-l-4 <%= "border-#{EmployerSetupPlansForm::PLAN_COLORS[index]}" %>"></div>
|
||||
<div class="font-bold text-2xl <%= "text-#{EmployerSetupPlansForm::PLAN_COLORS[index]}" %> -ml-[6px] z-2 w-full">
|
||||
<%= "Plan #{index + 1}" %>
|
||||
</div>
|
||||
<%= render 'plan_fields', plan_fields: plan_fields, f: f, index: index %>
|
||||
<div class="text-xl text-left font-bold pl-[2px] mb-[-4px] z-1 <%= "text-#{EmployerSetupPlansForm::PLAN_COLORS[index]}" %>">
|
||||
Benefit Values
|
||||
</div>
|
||||
<div class="w-full h-[3px] rounded-r <%= "bg-#{index % 2 == 1 ? 'bronze' : 'copper'}" %> ml-[3px]"></div>
|
||||
<%= plan_fields.fields_for :plan_benefits do |plan_benefits_fields| %>
|
||||
<%= render 'plan_benefits_fields', plan_benefits_fields: plan_benefits_fields %>
|
||||
<% end %>
|
||||
<div class="mt-4 pl-1">
|
||||
<%= plan_fields.hidden_field :_destroy %>
|
||||
<%= button_tag "Remove Plan #{index + 1}", class: "cursor-pointer bg-deepcove hover:bg-brightlava text-xl font-bold text-#{index % 2 == 1 ? 'bronze' : 'copper'} hover:text-platinum py-2 px-4 font-semibold leading-tight rounded-lg border-3 border-NEXT_SECONDARY_COLOR w-full", data: { action: "add-plan#remove" } %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<% end %>
|
||||
<% end %>
|
||||
<%= button_tag "Add a Plan", class: "cursor-pointer text-2xl font-bold py-2 pr-6 mt-10 w-[calc(24%-1rem)] w-1/4 min-h-[940px] text-[#E0E0E0] rounded-lg font-medium border border-[#E0E0E0] bg-[#173057] hover:bg-transparent hover:shadow-[0_0_10px_3px_#93c5fd] transition-colors duration-150", data: { action: "add-plan#add", add_plan_target: "button" } %>
|
||||
<template data-add-plan-target="template">
|
||||
<%= f.fields_for :plans, @employer.build_plan_with_default_benefits, child_index: 'NEW_RECORD' do |plan_fields| %>
|
||||
<div class="inline-flex flex-col justify-end pr-6 w-1/4 relative pl-1" data-controller="benefits-template-picker">
|
||||
<div class="absolute left-0 top-[2%] h-[98%] border-l-4 border-NEXT_COLOR"></div>
|
||||
<div class="font-bold text-2xl text-NEXT_COLOR -ml-[6px] z-2 w-full">
|
||||
<%= "Plan NEW_PLAN" %>
|
||||
</div>
|
||||
<%= render 'plan_fields', plan_fields: plan_fields, f: f, index: "NEW_RECORD".to_i %>
|
||||
<div class="text-xl text-left font-bold pl-[2px] mb-[-4px] z-1 text-NEXT_COLOR">
|
||||
Benefit Values
|
||||
</div>
|
||||
<div class="w-full h-[3px] rounded-r bg-NEXT_SECONDARY_COLOR ml-[3px]"></div>
|
||||
<%= plan_fields.fields_for :plan_benefits do |plan_benefits_fields| %>
|
||||
<%= render 'plan_benefits_fields', plan_benefits_fields: plan_benefits_fields %>
|
||||
<% end %>
|
||||
<div class="mt-4 pl-1">
|
||||
<%= plan_fields.hidden_field :_destroy %>
|
||||
<%= button_tag "Remove Plan NEW_PLAN", class: "cursor-pointer bg-deepcove hover:bg-brightlava text-xl font-bold text-NEXT_SECONDARY_COLOR hover:text-platinum py-2 px-4 font-semibold leading-tight rounded-lg border-3 border-NEXT_SECONDARY_COLOR w-full", data: { action: "add-plan#remove" } %>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="w-full flex items-center">
|
||||
<h3 class="font-bold text-2xl text-bluemana">Alternative Network Information</h3>
|
||||
<div class="h-[1px] w-1/2 mt-2 bg-bluemana"></div>
|
||||
</div>
|
||||
<div class="flex w-full justify-start" data-controller="add-alt-network-logo" data-add-alt-network-logo-form-color-value="<%= EmployerSetupPlansForm::PLAN_COLORS.to_json %>">
|
||||
<div class="flex flex-wrap w-full" data-add-alt-network-logo-target="container">
|
||||
<%= button_tag "Add a Regional Logo", class: "cursor-pointer text-lg font-medium py-2 px-4 rounded w-1/7 h-75 my-8 text-[#E0E0E0] rounded-lg border border-[#C2C2C2] hover:shadow-[0_0_10px_3px_#93c5fd]", data: { action: "add-alt-network-logo#add", add_alt_network_logo_target: "button" } %>
|
||||
</div>
|
||||
<template data-add-alt-network-logo-target="template">
|
||||
<%= f.fields_for :alternate_network_logos, AlternateNetworkLogo.new, child_index: 'NEW_RECORD' do |network_fields| %>
|
||||
<div class="flex flex-col my-8 mr-3 space-y-6 px-3" data-controller="add-network-exception" data-add-network-exception-parent-color-value="NEXT_SECONDARY_COLOR">
|
||||
<%= render 'alt_network_logo_fields', network_fields: network_fields, f: f %>
|
||||
</div>
|
||||
<% end %>
|
||||
</template>
|
||||
</div>
|
||||
<div class="py-8">
|
||||
<%= f.submit "Submit" %>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
@@ -0,0 +1,47 @@
|
||||
<div class="bg-deepcove h-full w-full flex flex-col">
|
||||
<h1 class="font-bold text-4xl text-platinum">New Employer Setup</h1>
|
||||
<h3 class="font-bold text-2xl text-bluemana">General Information</h3>
|
||||
<%= form_with model: @form, url: employer_setup_index_path, local: true do |f| %>
|
||||
<div class="flex flex-col space-y-6">
|
||||
<div class="flex space-x-10">
|
||||
<div class="w-1/5">
|
||||
<%= f.text_field :name, label: { text: "Employer Name" }, class: "w-full" %>
|
||||
</div>
|
||||
<div class="w-1/5">
|
||||
<%= f.text_field :group_number, label: { text: "Group/Medical Number" }, class: "w-full" %>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex space-x-10">
|
||||
<div class="w-1/5">
|
||||
<%= f.text_field :pl_plan_key, label: { text: "Pl Plan Key" }, class: "w-full" %>
|
||||
</div>
|
||||
<div class="w-1/5">
|
||||
<%= f.text_field :effective_date, label: { text: "Effective Date" }, class: "w-full" %>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex space-x-10">
|
||||
<div class="w-1/5">
|
||||
<%= f.select :network, options_for_select(["Cigna", "Cigna+Regional", "Medcost"]), label: { text: "Provider Network" }, data: { controller: "form-toggle", action: "change->form-toggle#toggleDivs" }, class: "w-full" %>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex space-x-5 items-center mt-4">
|
||||
<label for="file_upload_input" class="cursor-pointer bg-atmosphere hover:bg-bluetang text-platinum font-bold py-2 px-4 rounded border border-platinum">
|
||||
Choose Employer Logo File
|
||||
</label>
|
||||
<span id="file_name_display" class="ml-2 text-bluemana font-semibold">No file chosen</span>
|
||||
<%= f.file_field :employer_logo, class: "hidden", id: "file_upload_input" %>
|
||||
</div>
|
||||
<div class="pt-8">
|
||||
<%= f.submit "Continue to Plans" %>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
document.getElementById('file_upload_input').addEventListener('change', function(e) {
|
||||
var fileName = e.target.files[0] ? e.target.files[0].name : 'No file chosen';
|
||||
document.getElementById('file_name_display').textContent = fileName;
|
||||
});
|
||||
</script>
|
||||
@@ -0,0 +1,21 @@
|
||||
<div class="bg-deepcove h-full w-full flex flex-col justify-start">
|
||||
<h1 class="font-bold text-4xl text-platinum my-5">Employers</h1>
|
||||
<% plan_colors = EmployerSetupPlansForm::PLAN_COLORS.push('copper', 'bronze').shuffle %>
|
||||
<h2 class="font-bold text-3xl text-platinum my-5">In Process:</h2>
|
||||
<% @employers.inactive.each_with_index do |es, index| %>
|
||||
<% item_color_index = index == 0 ? 0 : index % plan_colors.length %>
|
||||
<div class="w-1/2 flex text-2xl text-platinum font-bold px-4 py-4 ml-10 rounded-lg border-l-5 border-b-2 <%= "border-#{plan_colors[item_color_index]}" %>">
|
||||
<%= link_to es.name, employer_path(es.slug), class: "hover:text-atmosphere" %>
|
||||
</div>
|
||||
<% end %>
|
||||
<div class="w-1/2 flex text-2xl text-limegreen font-bold px-4 py-4 ml-10 rounded-lg border-l-5 border-b-2 border-platinum">
|
||||
<%= link_to "New Employer", new_employer_path, class: "hover:text-verdigris" %>
|
||||
</div>
|
||||
<h2 class="font-bold text-3xl text-platinum my-5">Live:</h2>
|
||||
<% @employers.active.each_with_index do |es, index| %>
|
||||
<% item_color_index = index == 0 ? 0 : index % plan_colors.length %>
|
||||
<div class="w-1/2 flex text-2xl text-platinum font-bold px-4 py-4 ml-10 rounded-lg border-l-5 border-b-2 <%= "border-#{plan_colors[item_color_index]}" %>">
|
||||
<%= link_to es.name, employer_path(es.slug), class: "hover:text-atmosphere" %>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
@@ -0,0 +1,68 @@
|
||||
<div class="min-h-screen w-full flex flex-col" data-controller="add-alt-network-logo" data-add-alt-network-logo-form-color-value="<%= EmployerSetupPlansForm::PLAN_COLORS.to_json %>">
|
||||
<h1 class="font-bold text-4xl text-platinum">New Employer Setup</h1>
|
||||
<h3 class="font-bold text-2xl text-bluemana">Provider Network</h3>
|
||||
<%= form_with model: @form, url: employer_setup_index_path, local: true do |f| %>
|
||||
|
||||
<div class="flex w-full justify-start">
|
||||
<div class="flex flex-wrap w-full" data-add-alt-network-logo-target="container">
|
||||
<%= button_tag "Add a Regional Logo", class: "cursor-pointer text-lg font-medium py-2 px-4 rounded w-1/7 h-75 my-8 text-[#E0E0E0] rounded-lg border border-[#C2C2C2] hover:shadow-[0_0_10px_3px_#93c5fd]", data: { action: "add-alt-network-logo#add", add_alt_network_logo_target: "button" } %>
|
||||
</div>
|
||||
</div>
|
||||
<div class="py-10">
|
||||
<%= f.hidden_field :pl_plan_key, value: "fake" %>
|
||||
<%= f.submit "Continue to Summary" %>
|
||||
</div>
|
||||
<template data-add-alt-network-logo-target="template">
|
||||
<%= f.fields_for :network_exceptions, index: 'NEW_RECORD' do |network_fields| %>
|
||||
<div class="flex flex-col my-8 mr-3 space-y-6 px-3" data-controller="add-network-exception">
|
||||
<div class="flex space-x-5 items-center mt-4">
|
||||
<label for="file_upload_input_NEW_RECORD" class="cursor-pointer bg-NEXT_COLOR hover:bg-NEXT_COLOR-tinted text-platinum font-bold py-2 px-4 rounded border border-platinum">
|
||||
Choose Network Logo File
|
||||
</label>
|
||||
<span id="file_name_display_NEW_RECORD" class="ml-2 text-NEXT_COLOR font-semibold">No file chosen</span>
|
||||
<%= network_fields.file_field :network_logo, class: "hidden", id: "file_upload_input_NEW_RECORD", data: { add_alt_network_logo_target: "networkLogo" } %>
|
||||
</div>
|
||||
<%= network_fields.fields_for :exceptions, index: 0 do |exception_fields| %>
|
||||
<div class="flex space-x-6 w-full">
|
||||
<div class="w-full">
|
||||
<%= exception_fields.select :type, options_for_select(["Zip","State"]), label: { text: "Exception Type" }, prompt: "Select Type", class: "w-full" %>
|
||||
</div>
|
||||
<div class="w-full">
|
||||
<%= exception_fields.text_field :value, label: { text: "Exception Value" }, class: "w-full" %>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
<div class="flex flex-col w-full space-y-6" data-add-network-exception-target="container"></div>
|
||||
<%= button_tag "Add an exception rule", class: "cursor-pointer bg-NEXT_COLOR hover:bg-NEXT_COLOR-tinted text-platinum text-lg font-bold py-2 px-4 rounded border border-platinum w-full", data: { action: "add-network-exception#add" } %>
|
||||
<template data-add-network-exception-target="template">
|
||||
<%= network_fields.fields_for :exceptions, index: 'NEW_EXC_RECORD' do |exception_fields| %>
|
||||
<div class="flex space-x-6 w-full">
|
||||
<div class="w-full">
|
||||
<%= exception_fields.select :type, options_for_select(["Zip","State"]), label: { text: "Exception Type" }, prompt: "Select Type", class: "w-full" %>
|
||||
</div>
|
||||
<div class="w-full">
|
||||
<%= exception_fields.text_field :value, label: { text: "Exception Value" }, class: "w-full" %>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
</template>
|
||||
</div>
|
||||
<% end %>
|
||||
</template>
|
||||
|
||||
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<script>
|
||||
const logoButtons = document.querySelectorAll('[id^="file_upload_input_"]');
|
||||
logoButtons.forEach(button => {
|
||||
button.addEventListener('change', function(e) {
|
||||
var fileName = e.target.files[0] ? e.target.files[0].name : 'No file chosen';
|
||||
var targetIndex = e.target.id.slice(-1);
|
||||
document.getElementById(`file_name_display_${targetIndex}`).textContent = fileName;
|
||||
});
|
||||
})
|
||||
</script>
|
||||
@@ -0,0 +1,136 @@
|
||||
<div class="bg-deepcove h-full w-full flex flex-col">
|
||||
<div class="flex justify-between">
|
||||
<h1 class="font-bold text-4xl text-platinum my-5">New Employer</h1>
|
||||
<%= form_with model: @employer, url: import_employers_path, data: { turbo: false }, local: true, multipart: true do |form| %>
|
||||
<div class="flex items-end space-x-4">
|
||||
<div class="flex flex-col">
|
||||
<%= form.label :import_from_word, 'ID Card Setup Word Doc', class: "block text-platinum font-bold mb-1 md:mb-0 pr-4" %>
|
||||
<%= form.file_field :import_from_word %>
|
||||
</div>
|
||||
<%= form.submit "Import", class: "h-[40px]" %>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
<%= form_with model: @employer, local: true, multipart: true do |f| %>
|
||||
<div class="flex flex-col space-y-6 pb-10">
|
||||
<div class="w-full flex items-center">
|
||||
<h3 class="font-bold text-2xl text-bluemana">General Information</h3>
|
||||
<div class="h-[1px] w-1/2 mt-2 bg-bluemana"></div>
|
||||
</div>
|
||||
<div class="flex w-full items-end" data-controller="logo-upload">
|
||||
<div class="flex flex-col space-y-6 w-2/5">
|
||||
<div class="flex space-x-10">
|
||||
<div class="w-full">
|
||||
<%= f.text_field :name, label: { text: "Employer Name" }, data: { logo_upload_target: "employer" }, class: "w-full" %>
|
||||
</div>
|
||||
<div class="w-full">
|
||||
<%= f.text_field :group_number, label: { text: "Group/Medical Number" }, class: "w-full" %>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex space-x-10">
|
||||
<div class="w-full">
|
||||
<%= f.text_field :effective_date, label: { text: "Effective Date" }, class: "w-full" %>
|
||||
</div>
|
||||
<div class="w-full">
|
||||
<%= f.select :network_provider, options_for_select(["Cigna", "Medcost"]), label: { text: "Provider Network" }, data: { logo_upload_target: "network" }, class: "w-full" %>
|
||||
<%= f.hidden_field :single_card_template, value: @employer.single_card_template %>
|
||||
<%= f.hidden_field :default_network_logo, value: @employer.default_network_logo %>
|
||||
<%= f.hidden_field :card_provider_id, value: @employer.card_provider_id %>
|
||||
<%= f.hidden_field :card_rx_id, value: @employer.card_rx_id %>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-end">
|
||||
<div class="flex">
|
||||
<div class="flex flex-col">
|
||||
<%= f.text_field :employer_logo_filename, label: { text: "Employer Logo" }, default: "No logo added", data: { logo_upload_target: "logofield" }, class: "w-full rounded-r-none", readonly: true %>
|
||||
</div>
|
||||
<div class="flex items-center justify-center self-end cursor-pointer bg-atmosphere hover:bg-deepcove border-2 border-atmosphere text-platinum font-bold px-3 rounded-r h-10 transition duration-100">
|
||||
<label for="file_upload_input_employer" class="text-center cursor-pointer">
|
||||
<%= icon "image-plus", library: "lucide" %>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="hidden flex justify-center ml-15 rounded-lg border-4 border-atmosphere" data-logo-upload-target="previewContainer">
|
||||
<img data-logo-upload-target="preview" src="#" alt="Employer Logo preview" class="max-h-[100px] max-w-[133px] bg-platinum m-1"/>
|
||||
</div>
|
||||
<%= f.file_field :add_or_update_logo, class: "hidden", id: "file_upload_input_employer", data: { logo_upload_target: "previewContainer", logo_upload_type_param: "employer", action: "change->logo-upload#uploadLogo" }, direct_upload: true %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w-full flex items-center">
|
||||
<h3 class="font-bold text-2xl text-bluemana">Plans Information</h3>
|
||||
<div class="h-[1px] w-1/2 mt-2 bg-bluemana"></div>
|
||||
</div>
|
||||
<div class="w-full flex my-8" data-controller="add-plan" data-add-plan-form-color-value="<%= EmployerSetupPlansForm::PLAN_COLORS.to_json %>" >
|
||||
<div class="flex flex-wrap w-full" data-add-plan-target="container">
|
||||
<% @employer.plans.each_with_index do |plan, index| %>
|
||||
<%= f.fields_for :plans, plan, child_index: index do |plan_fields| %>
|
||||
<div class="inline-flex flex-col justify-end pr-6 w-1/4 relative pl-1 plan-item" data-controller="benefits-template-picker">
|
||||
<div class="absolute left-0 top-[2%] h-[98%] border-l-4 <%= "border-#{EmployerSetupPlansForm::PLAN_COLORS[index]}" %> "></div>
|
||||
<div class="font-bold text-2xl <%= "text-#{EmployerSetupPlansForm::PLAN_COLORS[index]}" %> -ml-[6px] z-2 w-full">
|
||||
<%= "Plan #{index + 1}" %>
|
||||
</div>
|
||||
<%= render 'plan_fields', plan_fields: plan_fields, f: f, index: index %>
|
||||
<div class="text-xl text-left font-bold pl-[2px] mb-[-4px] z-1 <%= "text-#{EmployerSetupPlansForm::PLAN_COLORS[index]}" %>">
|
||||
Benefit Values
|
||||
</div>
|
||||
<div class="w-full h-[3px] rounded-r <%= "bg-#{index % 2 == 1 ? 'bronze' : 'copper'}" %> ml-[3px]"></div>
|
||||
<%= plan_fields.fields_for :plan_benefits do |plan_benefits_fields| %>
|
||||
<%= render 'plan_benefits_fields', plan_benefits_fields: plan_benefits_fields %>
|
||||
<% end %>
|
||||
<div class="mt-4 pl-1">
|
||||
<%= plan_fields.hidden_field :_destroy %>
|
||||
<%= button_tag "Remove Plan #{index + 1}", class: "cursor-pointer bg-deepcove hover:bg-brightlava text-xl font-bold text-copper hover:text-platinum py-2 px-4 font-semibold leading-tight rounded-lg border-3 border-copper w-full", data: { action: "add-plan#remove" } %>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<%= button_tag "Add a Plan", class: "cursor-pointer text-2xl font-bold py-2 pr-6 mt-10 w-[calc(24%-1rem)] w-1/4 min-h-[940px] text-[#E0E0E0] rounded-lg font-medium border border-[#E0E0E0] bg-[#173057] hover:bg-transparent hover:shadow-[0_0_10px_3px_#93c5fd] transition-colors duration-150", data: { action: "add-plan#add", add_plan_target: "button" } %>
|
||||
</div>
|
||||
<template data-add-plan-target="template">
|
||||
<%= f.fields_for :plans, @employer.build_plan_with_default_benefits, child_index: 'NEW_RECORD' do |plan_fields| %>
|
||||
<div class="inline-flex flex-col justify-end pr-6 w-1/4 relative pl-1 plan-item" data-controller="benefits-template-picker">
|
||||
<div class="absolute left-0 top-[2%] h-[98%] border-l-4 border-NEXT_COLOR"></div>
|
||||
<div class="font-bold text-2xl text-NEXT_COLOR -ml-[6px] z-2 w-full">
|
||||
<%= "Plan NEW_PLAN" %>
|
||||
</div>
|
||||
<%= render 'plan_fields', plan_fields: plan_fields, f: f, index: "NEW_RECORD".to_i %>
|
||||
<div class="text-xl text-left font-bold pl-[2px] mb-[-4px] z-1 text-NEXT_COLOR">
|
||||
Benefit Values
|
||||
</div>
|
||||
<div class="w-full h-[3px] rounded-r bg-NEXT_SECONDARY_COLOR ml-[3px]"></div>
|
||||
<%= plan_fields.fields_for :plan_benefits do |plan_benefits_fields| %>
|
||||
<%= render 'plan_benefits_fields', plan_benefits_fields: plan_benefits_fields %>
|
||||
<% end %>
|
||||
<div class="mt-4 pl-1">
|
||||
<%= plan_fields.hidden_field :_destroy %>
|
||||
<%= button_tag "Remove Plan NEW_PLAN", class: "cursor-pointer bg-deepcove hover:bg-brightlava text-xl font-bold text-NEXT_SECONDARY_COLOR hover:text-platinum py-2 px-4 font-semibold leading-tight rounded-lg border-3 border-NEXT_SECONDARY_COLOR w-full", data: { action: "add-plan#remove" } %>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="w-full flex items-center">
|
||||
<h3 class="font-bold text-2xl text-bluemana">Alternative Network Information</h3>
|
||||
<div class="h-[1px] w-1/2 mt-2 bg-bluemana"></div>
|
||||
</div>
|
||||
<div class="flex w-full justify-start" data-controller="add-alt-network-logo" data-add-alt-network-logo-form-color-value="<%= EmployerSetupPlansForm::PLAN_COLORS.to_json %>">
|
||||
<div class="flex flex-wrap w-full" data-add-alt-network-logo-target="container">
|
||||
<%= button_tag "Add a Regional Logo", class: "cursor-pointer text-lg font-medium py-2 px-4 rounded w-1/7 h-55 my-8 text-[#E0E0E0] rounded-lg border border-[#C2C2C2] hover:shadow-[0_0_10px_3px_#93c5fd]", data: { action: "add-alt-network-logo#add", add_alt_network_logo_target: "button" } %>
|
||||
</div>
|
||||
<template data-add-alt-network-logo-target="template">
|
||||
<%= f.fields_for :alternate_network_logos, AlternateNetworkLogo.new, child_index: 'NEW_RECORD' do |network_fields| %>
|
||||
<div class="flex flex-col my-8 mr-3 space-y-6 px-3 min-w-1/3 network-item" data-controller="logo-upload" data-add-network-exception-parent-color-value="NEXT_SECONDARY_COLOR">
|
||||
<%= render 'alt_network_logo_fields', network_fields: network_fields, f: f %>
|
||||
</div>
|
||||
<% end %>
|
||||
</template>
|
||||
</div>
|
||||
<div class="py-8">
|
||||
<%= f.submit "Submit" %>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
@@ -0,0 +1,72 @@
|
||||
<div class="min-h-screen w-full flex flex-col" data-controller="add-plan" data-add-plan-form-color-value="<%= EmployerSetupPlansForm::PLAN_COLORS.to_json %>">
|
||||
<h1 class="font-bold text-4xl text-platinum">New Employer Setup</h1>
|
||||
<h3 class="font-bold text-2xl text-bluemana">Medical Plans</h3>
|
||||
<div class="flex flex-col pl-6">
|
||||
<%= form_with model: @form, url: employer_setup_index_path, local: true do |f| %>
|
||||
<div class="w-full flex my-8">
|
||||
<div class="flex flex-wrap w-full" data-add-plan-target="container">
|
||||
<div class="flex flex-col items-stretch justify-end pr-6 pl-1 w-1/4">
|
||||
<%= f.fields_for :benefit_descs do |plan_benefit_fields| %>
|
||||
<%= plan_benefit_fields.hidden_field :plan_id, value: "descriptions" %>
|
||||
<% @form.benefits_template.each do |bene| %>
|
||||
<div>
|
||||
<%= plan_benefit_fields.text_field "benefit_#{bene.sequence}", label: { text: "Benefit Description #{bene.sequence}" }, value: "#{bene.benefit_desc}", class: "w-full" %>
|
||||
</div>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</div>
|
||||
<% @form.plans.each_with_index do |plan, i| %>
|
||||
<div class="inline-flex flex-col justify-end pr-6 pl-1 mt-10 relative w-1/4" data-controller="benefits-template-picker">
|
||||
<div class="absolute left-0 top-[2%] h-[98%] border-l-4 <%= "border-#{EmployerSetupPlansForm::PLAN_COLORS[i]}" %> rounded-bl-lg"></div>
|
||||
<div class="font-bold text-2xl <%= "text-#{EmployerSetupPlansForm::PLAN_COLORS[i]}" %> -ml-[6px] z-2 w-full">
|
||||
<%= "Plan #{i + 1}" %>
|
||||
</div>
|
||||
<%= f.fields_for :plans, index: i do |plan_fields| %>
|
||||
<div class="pl-1 w-full">
|
||||
<%= plan_fields.text_field :plan_id, label: { text: "Plan Id" }, class: "w-full", data: { add_plan_target: "plan" } %>
|
||||
</div>
|
||||
<div class="pl-1">
|
||||
<%= f.select :template_id, options_from_collection_for_select(@form.plan_templates, :id, :title), { prompt: "Select Plan Template" }, { data: { action: "benefits-template-picker#fetchData" }} %>
|
||||
</div>
|
||||
<% @form.benefits_template.each do |bene| %>
|
||||
<div>
|
||||
<div class="pl-1 w-full">
|
||||
<%= plan_fields.text_field "benefit_#{bene.sequence}", label: { text: "Benefit Value #{bene.sequence}" }, data: { benefits_template_picker_target: "benefit", sequence: "#{bene.sequence}"}, class: "w-full" %>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</div>
|
||||
<% end %>
|
||||
<%= button_tag "Add a Plan", class: "cursor-pointer text-2xl font-bold py-2 pr-6 mt-10 w-[calc(24%-1rem)] w-1/4 min-h-[940px] text-[#E0E0E0] rounded-lg font-medium border border-[#E0E0E0] bg-[#173057] hover:bg-transparent hover:shadow-[0_0_10px_3px_#93c5fd] transition-colors duration-150", data: { action: "add-plan#add", add_plan_target: "button" } %>
|
||||
<template data-add-plan-target="template">
|
||||
<div class="inline-flex flex-col justify-end pr-6 pl-1 mt-10 relative w-1/4" data-controller="benefits-template-picker">
|
||||
<div class="absolute left-0 top-[2%] h-[98%] border-l-4 border-NEXT_COLOR rounded-bl-lg"></div>
|
||||
<div class="font-bold text-2xl text-NEXT_COLOR -ml-[6px] z-2 w-full">
|
||||
<%= "Plan NEW_PLAN" %>
|
||||
</div>
|
||||
<%= f.fields_for :plans, index: 'NEW_RECORD' do |plan_fields| %>
|
||||
<div class="pl-1 w-full">
|
||||
<%= plan_fields.text_field :plan_id, label: { text: "Plan Id" }, class: "w-full", data: { add_plan_target: "plan" } %>
|
||||
</div>
|
||||
<div class="pl-1">
|
||||
<%= f.select :template_id, options_from_collection_for_select(@form.plan_templates, :id, :title), { prompt: "Select Plan Template" }, { data: { action: "benefits-template-picker#fetchData" }} %>
|
||||
</div>
|
||||
<% @form.benefits_template.each do |bene| %>
|
||||
<div>
|
||||
<div class="pl-1 w-full">
|
||||
<%= plan_fields.text_field "benefit_#{bene.sequence}", label: { text: "Benefit Value #{bene.sequence}" }, data: { benefits_template_picker_target: "benefit", sequence: "#{bene.sequence}"}, class: "w-full" %>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
<div class="py-10">
|
||||
<%= f.submit "Continue to Provider Network" %>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,58 @@
|
||||
<div class="bg-deepcove text-platinum h-full w-full flex flex-col">
|
||||
<div class="flex w-full items-center space-x-4">
|
||||
<h1 class="font-bold text-4xl text-platinum my-5"><%= @employer.name %></h1>
|
||||
<div class="h-[50px] max-w-[200px]">
|
||||
<%= image_tag image_card_logo_file_path(@employer.employer_logo_filename), class: "max-h-[50px] object-contain shadow-[0_0_10px_3px_#93c5fd]" %>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex space-x-6">
|
||||
<div class="flex flex-col space-y-1 w-1/3">
|
||||
<div class="w-full flex items-center">
|
||||
<h3 class="grow-0 font-bold text-2xl text-bluemana">Employer Information</h3>
|
||||
<div class="h-[1px] grow mt-2 bg-bluemana"></div>
|
||||
</div>
|
||||
<div class="flex flex-col space-y-1 ml-4">
|
||||
<p class="text-<%="#{@employer.active == false ? "brightlava" : "limegreen"}" %>">
|
||||
<strong class="text-platinum mr-2">└── Status:</strong>
|
||||
<%= @employer.active == false ? "inactive" : "active" %>
|
||||
</p>
|
||||
<p class="ml-9 text-bluemana">
|
||||
<strong class="text-platinum mr-2">├── Effective Date:</strong>
|
||||
<%= @employer.effective_date %>
|
||||
</p>
|
||||
<div>
|
||||
<strong class="text-atmosphere mr-2">└── Key Chain</strong>
|
||||
</div>
|
||||
<% @employer.attributes.with_indifferent_access.slice(:pl_plan_key, :company_pb_entity_key, :group_number).each do |attribute_name, attribute_value| %>
|
||||
<p class="ml-9 text-<%="#{attribute_value.present? ? "limegreen" : "brightlava"}" %>">
|
||||
<strong class="text-platinum mr-2">├── <%= attribute_name.humanize %>:</strong>
|
||||
<%= attribute_value.present? ? attribute_value.to_s : "waiting" %>
|
||||
</p>
|
||||
<% end %>
|
||||
<div>
|
||||
<strong class="text-atmosphere mr-2">└── Plans</strong>
|
||||
</div>
|
||||
<% @employer.plans.pluck(:title).each do |plan_title| %>
|
||||
<div class="ml-9">
|
||||
├── <%= plan_title %>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
<div class="w-full flex items-center space-x-2 mt-10 ml-14">
|
||||
<%= link_to 'Edit', edit_employer_path(@employer.slug), class: "hover:text-atmosphere" %>
|
||||
<p>|</p>
|
||||
<%= link_to 'Back', employers_path, class: "hover:text-atmosphere" %>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex flex-col space-y-6 w-1/3">
|
||||
<div class="w-full flex items-center">
|
||||
<h3 class="font-bold text-2xl text-bluemana">Actions</h3>
|
||||
<div class="h-[1px] w-2/3 mt-2 bg-bluemana"></div>
|
||||
</div>
|
||||
<%= link_to 'Generate Sample Cards', generate_sample_sample_id_cards_path(employer_slug: @employer.slug ), data: { turbo: false }, class: "flex justify-center items-center w-2/3 cursor-pointer bg-atmosphere hover:bg-deepcove border-2 border-atmosphere text-platinum font-bold px-3 rounded-lg h-10 transition duration-100" %>
|
||||
<%= link_to 'Generate Group Cards (for print)', generate_print_sample_id_cards_path(employer_slug: @employer.slug ),data: { turbo: false }, class: "flex justify-center items-center w-2/3 #{@employer.active ? "" : "pointer-events-none opacity-50 cursor-not-allowed"} bg-atmosphere hover:bg-deepcove border-2 border-atmosphere text-platinum font-bold px-3 rounded-lg h-10 transition duration-100" %>
|
||||
<%= link_to 'Generate Group Cards (for display)', generate_sample_sample_id_cards_path(employer_slug: @employer.slug ), data: { turbo: false }, class: "flex justify-center items-center w-2/3 pointer-events-none opacity-50 cursor-not-allowed bg-atmosphere hover:bg-deepcove border-2 border-atmosphere text-platinum font-bold px-3 rounded-lg h-10 transition duration-100" %>
|
||||
<%= link_to 'Generate Group Cards (for download)', generate_sample_sample_id_cards_path(employer_slug: @employer.slug ), data: { turbo: false }, class: "flex justify-center items-center w-2/3 pointer-events-none opacity-50 cursor-not-allowed bg-atmosphere hover:bg-deepcove border-2 border-atmosphere text-platinum font-bold px-3 rounded-lg h-10 transition duration-100" %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,9 @@
|
||||
<div class="bg-deepcove min-h-screen w-full flex flex-col">
|
||||
<h1 class="font-bold text-4xl text-platinum">New Employer Setup</h1>
|
||||
<h3 class="font-bold text-2xl text-bluemana">Summary</h3>
|
||||
<%= form_with model: @form, url: employer_setup_index_path, local: true do |f| %>
|
||||
<div class="py-10">
|
||||
<%= f.submit "Submit" %>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
@@ -9,13 +9,14 @@
|
||||
|
||||
<%= stylesheet_link_tag "application", "data-turbo-track": "reload" %>
|
||||
<%= javascript_importmap_tags %>
|
||||
<script src="https://cdn.jsdelivr.net/gh/benkaiser/fileinput-image-resize@1.0.0/dist/bundle.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<main>
|
||||
<div class="w-full min-h-screen flex flex-col bg-black justify-center items-center">
|
||||
<div class="min-h-full w-[calc(100%-1rem)] mt-1 mb-2 flex flex-grow justify-center items-center shadow-[0_0_10px_3px_#93c5fd] rounded-xl bg-[#04153E]">
|
||||
<div class="min-h-full w-11/12 mt-8 px-5 flex flex-grow justify-center items-center">
|
||||
<div class="min-h-full w-[calc(100%-1rem)] mt-1 mb-2 flex grow justify-center shadow-[0_0_10px_3px_#93c5fd] rounded-xl bg-[#04153E]">
|
||||
<div class="h-full w-11/12 mt-8 px-5 flex grow justify-center">
|
||||
<%= yield %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -14,4 +14,5 @@
|
||||
<div class="text-verdigris bg-verdigris border border-verdigris">co</div>
|
||||
<div class="text-verdigris-tinted bg-verdigris-tinted border border-verdigris-tinted">co</div>
|
||||
<div class="text-brightlava bg-brightlava border border-brightlava">co</div>
|
||||
<div class="text-limegreen bg-brightlava border border-brightlava">co</div>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user