Add contract show page and inviting show page.

Add overview show page.
This commit is contained in:
BoHung Chiu 2020-08-09 10:50:11 +08:00
parent 327dd7fdac
commit 483a813e74
13 changed files with 341 additions and 15 deletions

View File

@ -30,6 +30,7 @@ class Admin::VenueManagementContractsController < Admin::VenueAdminController
'vm_contract.note', 'vm_contract.note',
] ]
@contracts = VenueManagementContract.order(updated_at: :desc).page(params[:page]).per(10) @contracts = VenueManagementContract.order(updated_at: :desc).page(params[:page]).per(10)
@venue_management_page_url = Page.where(:module =>"venue_management").last.url rescue ""
end end
def new def new

View File

@ -22,7 +22,14 @@ class Admin::VenueManagementInvitingsController < Admin::VenueAdminController
'vm_inviting.contractor_manager', 'vm_inviting.contractor_manager',
'vm_inviting.bid_result', 'vm_inviting.bid_result',
] ]
@invitings = VenueManagementInviting.order(updated_at: :desc).page(params[:page]).per(10) @tags = @module_app.tags
@filter_fields = {}
@filter_fields['vm_inviting.type'] = @tags.map{|t| {:title => t.name,:id => t.id} }
@invitings = VenueManagementInviting.with_tags(filters("tag")).order(updated_at: :desc).page(params[:page]).per(10)
@venue_management_page_url = Page.where(:module =>"venue_management").last.url rescue ""
if request.xhr?
render :partial => 'index'
end
end end
def new def new

View File

@ -56,6 +56,7 @@ class Admin::VenueManagementsController < Admin::VenueAdminController
@venue_management = VenueManagementMain.find(params[:id]) @venue_management = VenueManagementMain.find(params[:id])
@venue_management_signups = VenueManagementSignup.where(:venue_management_main_id => params[:id]) @venue_management_signups = VenueManagementSignup.where(:venue_management_main_id => params[:id])
@site_in_use_locales = Site.first.in_use_locales
filename = @venue_management.title.parameterize.underscore + "_export.xlsx" filename = @venue_management.title.parameterize.underscore + "_export.xlsx"
respond_to do |format| respond_to do |format|
format.xlsx { format.xlsx {

View File

@ -71,11 +71,27 @@ class VenueManagementsController < ApplicationController
'time_now' => time_now, 'time_now' => time_now,
'contribute_time_range' => VenueManagementMain.time_range(venue_management.contribute_start_date, venue_management.contribute_end_date), 'contribute_time_range' => VenueManagementMain.time_range(venue_management.contribute_start_date, venue_management.contribute_end_date),
'sign_up_time_range' => VenueManagementMain.time_range(venue_management.signup_start_date, venue_management.signup_end_date), 'sign_up_time_range' => VenueManagementMain.time_range(venue_management.signup_start_date, venue_management.signup_end_date),
'venue_management_time_range' => VenueManagementMain.time_range(venue_management.venue_management_start_date, venue_management.venue_management_end_date) 'venue_management_time_range' => VenueManagementMain.time_range(venue_management.venue_management_start_date, venue_management.venue_management_end_date),
'params' => params
} }
end end
def show_inviting
params = OrbitHelper.params
venue_management_inviting = VenueManagementInviting.find(params[:uid]) rescue nil
{
'venue_management_inviting' => venue_management_inviting,
'params' => params
}
end
def show_contract
params = OrbitHelper.params
venue_management_contract = VenueManagementContract.find(params[:uid]) rescue nil
{
'venue_management_contract' => venue_management_contract,
'params' => params
}
end
def show def show
params = OrbitHelper.params params = OrbitHelper.params

View File

@ -19,7 +19,7 @@
<td><%= contract.venue_management_main.title %></td> <td><%= contract.venue_management_main.title %></td>
<% end %> <% end %>
<td> <td>
<%= link_to contract.case_no, admin_venue_management_contract_path(contract.id), :target => '_blank' %> <%= link_to contract.case_no, (@venue_management_page_url.blank? ? "#" : "/#{I18n.locale}"+@venue_management_page_url+"/#{contract.case_no.strip}-#{contract.id}?method=show_contract"), :target => '_self' %>
<div class="quick-edit"> <div class="quick-edit">
<ul class="nav nav-pills"> <ul class="nav nav-pills">
@ -32,7 +32,7 @@
</td> </td>
<td><%= contract.vendor %></td> <td><%= contract.vendor %></td>
<td><%= "#{contract.contract_start_date} / #{contract.contract_end_date}" %></td> <td><%= "#{contract.contract_start_date} / #{contract.contract_end_date}" %></td>
<td><%= t("vm_contract.renewal.#{contract.renewal_permission}") if contract.renewal_permission.present? %></td> <td><%= contract.renewal_permission.present? ? t("vm_contract.renewal.#{contract.renewal_permission}") : t("vm_contract.renewal.false") %></td>
<td><%= contract.note %></td> <td><%= contract.note %></td>
</tr> </tr>
<% end %> <% end %>

View File

@ -19,7 +19,7 @@
<td><%= inviting.venue_management_main.title %></td> <td><%= inviting.venue_management_main.title %></td>
<% end %> <% end %>
<td> <td>
<%= link_to inviting.case_no, admin_venue_management_inviting_path(inviting.id), :target => '_blank' %> <%= link_to inviting.case_no, (@venue_management_page_url.blank? ? "#" : "/#{I18n.locale}"+@venue_management_page_url+"/#{inviting.case_no.strip}-#{inviting.id}?method=show_inviting"), :target => '_self' %>
<div class="quick-edit"> <div class="quick-edit">
<ul class="nav nav-pills"> <ul class="nav nav-pills">

View File

@ -1,3 +1,4 @@
<%= render_filter @filter_fields, "index_table" %>
<span id="index_table"> <span id="index_table">
<%= render 'index' %> <%= render 'index' %>
</span> </span>

View File

@ -4,24 +4,37 @@ wb = xlsx_package.workbook
wb.add_worksheet(name: (@venue_management.title.to_s[0..27]+'...')) do |sheet| wb.add_worksheet(name: (@venue_management.title.to_s[0..27]+'...')) do |sheet|
row = [t('venue_management_signup.signup_time')] row = [t(:category)]
row << t('venue_management_signup.name') row << t('venue_management.manager')
row << t('venue_management_signup.unit') row << t('venue_management.contractor')
row << t('venue_management_signup.tel') row << t('venue_management.venue_management_start_date')
row << t('venue_management_signup.phone') row << t('venue_management.venue_management_end_date')
row << t('venue_management_signup.fax') row << t('venue_management.title')
row << t('venue_management_signup.address') row << t('venue_management_signup.address')
row << t(:email) row << t('venue_management.land_number')
row << t('venue_management_signup.note')
row << t('venue_management.area')
row << t('venue_management.land_zoning')
row << t('venue_management.content')
row << t('venue_management.act_place')
row << t("link") # Seperate with ';'
@site_in_use_locales.each do |locale|
row << t("link") + " " + t("url_alt") + " - " + t(locale)
end
row << t("file_") # Seperate with ';' Example: http://www.example.com/images/example.png; http://www.example.com/images/example2.png"
@site_in_use_locales.each do |locale|
row << t("file_") + " " + t("description") + " - " + t(locale) #"Seperate with ';' with respective to the links in the link columns. Example : Great view; Nice potrait"
end
@site_in_use_locales.each do |locale|
row << t("file_") + " " + t("alternative") + " - " + t(locale) #"Seperate with ';' with respective to the links in the link columns. Example : example1; example2"
end
@venue_management.venue_management_signup_fields.asc(:_id).each do |rf| @venue_management.venue_management_signup_fields.asc(:_id).each do |rf|
if rf.can_muti_lang_input? if rf.can_muti_lang_input?
@site_in_use_locales.each do |l| @site_in_use_locales.each do |l|

View File

@ -0,0 +1,117 @@
<% # encoding: utf-8 %>
<% @@session = session %>
<%= yield %>
<%
data = action_data
@venue_management_contract = data["venue_management_contract"]
@params = data['params']
%>
<table class="table table-striped venue_managementive-show-table">
<tbody>
<tr>
<th class="venue_managementive-title-field"><%= t('vm_contract.case_no') %></th>
<td class="venue_managementive-title-value"><%= @venue_management_contract.venue_management_inviting.case_no %></td>
</tr>
<tr>
<th class="venue_managementive-title-field"><%= t('vm_inviting.rents') %></th>
<td class="venue_managementive-title-value"><%= "#{@venue_management_contract.early_rent} / #{@venue_management_contract.operation_rent}" %></td>
</tr>
<tr>
<th class="venue_managementive-title-field"><%= t('vm_inviting.royalty') %></th>
<td class="venue_managementive-title-value"><%= @venue_management_contract.royalty %></td>
</tr>
<tr>
<tr>
<th class="venue_managementive-title-field"><%= t('vm_inviting.house_tax_payer') %></th>
<td class="venue_managementive-title-value"><%= t("vm_inviting.enums.#{@venue_management_contract.house_tax_payer}") %></td>
</tr>
<tr>
<th class="venue_managementive-title-field"><%= t('vm_inviting.land_tax_payer') %></th>
<td class="venue_managementive-title-value"><%= t("vm_inviting.enums.#{@venue_management_contract.land_tax_payer}") %></td>
</tr>
<tr>
<th class="venue_managementive-title-field"><%= t('vm_contract.renewal_permission') %></th>
<td class="venue_managementive-title-value"><%= @venue_management_contract.renewal_permission.present? ? t("vm_contract.renewal.#{@venue_management_contract.renewal_permission}") : t("vm_contract.renewal.false") %></td>
</tr>
<tr>
<th class="venue_managementive-title-field"><i class="fa fa-calendar fa-fw"></i><%= t('vm_contract.start_end') %></th>
<td class="venue_managementive-title-value"><%= "#{@venue_management_contract.contract_start_date} ~ #{@venue_management_contract.contract_end_date}" %></td>
</tr>
<tr>
<th class="venue_managementive-title-field"><i class="fa fa-calendar fa-fw"></i><%= t('vm_contract.construction_start_end') %></th>
<td class="venue_managementive-title-value"><%= "#{@venue_management_contract.construction_start_date} ~ #{@venue_management_contract.construction_end_date}" %></td>
</tr>
<tr>
<th class="venue_managementive-title-field"><i class="fa fa-calendar fa-fw"></i><%= t('vm_contract.operation_start_end') %></th>
<td class="venue_managementive-title-value"><%= "#{@venue_management_contract.operation_start_date} ~ #{@venue_management_contract.operation_end_date}" %></td>
</tr>
<tr>
<th class="venue_managementive-title-field"><i class="fa fa-calendar fa-fw"></i><%= t('vm_contract.free_period_start_end') %></th>
<td class="venue_managementive-title-value"><%= "#{@venue_management_contract.free_period_start_date} ~ #{@venue_management_contract.free_period_end_date}" %></td>
</tr>
<tr>
<th class="venue_managementive-title-field"><i class="fa fa-calendar fa-fw"></i><%= t('vm_contract.sign_date') %></th>
<td class="venue_managementive-title-value"><%= @venue_management_contract.sign_date %></td>
</tr>
<tr>
<th class="venue_managementive-title-field"><i class="fa fa-calendar fa-fw"></i><%= t('vm_contract.handover_date') %></th>
<td class="venue_managementive-title-value"><%= @venue_management_contract.handover_date %></td>
</tr>
<tr>
<th class="venue_managementive-title-field"><i class="fa fa-calendar fa-fw"></i><%= t('vm_contract.deposit_payment_date') %></th>
<td class="venue_managementive-title-value"><%= @venue_management_contract.deposit_payment_date %></td>
</tr>
<tr>
<th class="venue_managementive-title-field"><%= t('vm_contract.deposit_type') %></th>
<td class="venue_managementive-title-value"><%= @venue_management_contract.deposit_type %></td>
</tr>
<tr>
<th class="venue_managementive-title-field"><i class="fa fa-calendar fa-fw"></i><%= t('vm_contract.deposit_exp_date') %></th>
<td class="venue_managementive-title-value"><%= @venue_management_contract.deposit_exp_date %></td>
</tr>
<tr>
<th class="venue_managementive-title-field"><%= t('vm_contract.insurance_type') %></th>
<td class="venue_managementive-title-value"><%= @venue_management_contract.insurance_type %></td>
</tr>
<tr>
<th class="venue_managementive-title-field"><i class="fa fa-calendar fa-fw"></i><%= t('vm_contract.insurance_payment_deadline') %></th>
<td class="venue_managementive-title-value"><%= @venue_management_contract.insurance_payment_deadline %></td>
</tr>
<tr>
<th class="venue_managementive-title-field"><i class="fa fa-calendar fa-fw"></i><%= t('vm_contract.insurance_payment_date') %></th>
<td class="venue_managementive-title-value"><%= @venue_management_contract.insurance_payment_date %></td>
</tr>
<tr>
<th class="venue_managementive-title-field"><%= t('vm_contract.other_commitment') %></th>
<td class="venue_managementive-title-value"><%= @venue_management_contract.other_commitment %></td>
</tr>
<tr>
<th class="venue_managementive-title-field"><%= t('vm_contract.note') %></th>
<td class="venue_managementive-title-value"><%= @venue_management_contract.note %></td>
</tr>
<% if !@venue_management_contract.venue_management_files.blank? %>
<tr>
<th class="venue_managementive-title-field"><i class="fa fa-fw fa-paperclip"></i><%= t(:file_) %></th>
<td class="venue_managementive-title-value">
<% @venue_management_contract.venue_management_files.map do |file| %>
<%= link_to (file.title.blank? ? File.basename(file.file.path) : file.title) , file.file.url, {:target => '_blank', :title => file.description} if file.file.file %>
<% end %>
</td>
</tr>
<% end %>
<% if !@venue_management_contract.venue_management_links.blank? %>
<tr>
<th class="venue_managementive-title-field"><i class="fa fa-fw fa-link"></i><%= t(:link) %></th>
<td class="venue_managementive-title-value">
<% @venue_management_contract.venue_management_links.map do |link| %>
<%= link_to (link.title.blank? ? link.url : link.title), link.url, :target => '_blank' %>
<% end %>
</td>
</tr>
<% end %>
</tbody>
</table>
<br />
<%= link_to t(:close), 'javascript:window.close();', :class => 'btn btn-primary' %>

View File

@ -9,6 +9,7 @@
@venue_management_time_range = data["venue_management_time_range"] @venue_management_time_range = data["venue_management_time_range"]
@contribute_time_range = data["contribute_time_range"] @contribute_time_range = data["contribute_time_range"]
@contribute_action = data["contribute_action"] @contribute_action = data["contribute_action"]
@params = data['params']
%> %>
@ -88,5 +89,92 @@
</table> </table>
<br /> <br />
<ul class="venue_management-plugins nav nav-pills" role="tablist" data-list="plugins" data-level="0">
<li class="active"><a href="#signup_count" role="tab" data-toggle="tab" title="<%=t('venue_management.signup_count')%>" aria-expanded="true"><%=t('venue_management.signup_count')%></a></li>
<li class=""><a href="#inviting_history" role="tab" data-toggle="tab" title="<%=t('venue_management.inviting_history')%>" aria-expanded="false"><%=t('venue_management.inviting_history')%></a></li>
</ul>
<div class="tab-content" data-list="plugins" data-level="0">
<div class="tab-pane active" id="signup_count">
<div class="info" data-list="plugin_data_intro" data-level="1">
</div>
<table class="table table-hover table-striped dt-responsive nowrap dataTable" id="table0">
<thead>
<tr data-list="pd_title" data-level="1">
<% @table_fields = [
'vm_contract.case_no',
'vm_contract.vendor',
'vm_contract.start_end',
'vm_contract.renewal_permission',
'vm_contract.note',
] %>
<% @table_fields.each do |th| %>
<th><%=t(th)%></th>
<% end %>
</tr>
</thead>
<tbody data-level="1" data-list="plugin_datas">
<% @contracts = @venue_management.venue_management_contracts.to_a %>
<% @contracts.each do |contract| %>
<tr>
<td>
<%= link_to contract.case_no, "/#{I18n.locale}"+@params[:url]+"/#{contract.case_no.strip}-#{contract.id}?method=show_contract" , :target => '_blank' %>
</td>
<td><%= contract.vendor %></td>
<td><%= "#{contract.contract_start_date} / #{contract.contract_end_date}" %></td>
<td><%= contract.renewal_permission.present? ? t("vm_contract.renewal.#{contract.renewal_permission}") : t("vm_contract.renewal.false") %></td>
<td><%= contract.note %></td>
</tr>
<% end%>
</tbody>
</table>
</div>
<div class="tab-pane" id="inviting_history">
<div class="info" data-list="plugin_data_intro" data-level="1">
</div>
<%
@table_fields = [
'vm_inviting.case_no',
'vm_inviting.publish_times',
'vm_inviting.rents',
'vm_inviting.royalty',
'vm_inviting.house_tax_payer',
'vm_inviting.land_tax_payer',
'vm_inviting.contractor_manager',
'vm_inviting.bid_result',
]
@invitings = @venue_management.venue_management_invitings.to_a
%>
<table class="table table-hover table-striped dt-responsive nowrap dataTable" id="table0">
<thead>
<tr data-list="pd_title" data-level="1">
<% @table_fields.each do |th| %>
<th><%=t(th)%></th>
<% end %>
</tr>
</thead>
<tbody data-level="1" data-list="plugin_datas">
<% @invitings.each do |inviting| %>
<tr data-level="2" data-list="pd_datas">
<td>
<%= link_to inviting.case_no, "/#{I18n.locale}"+@params[:url]+"/#{inviting.case_no.strip}-#{inviting.id}?method=show_inviting", :target => '_blank' %>
</td>
<td><%= inviting.publish_times %></td>
<td><%= "#{inviting.early_rent} / #{inviting.operation_rent}" %></td>
<td><%= inviting.royalty %></td>
<td><%= t("vm_inviting.enums.#{inviting.house_tax_payer}") %></td>
<td><%= t("vm_inviting.enums.#{inviting.land_tax_payer}") %></td>
<td><%= inviting.contractor_manager %></td>
<td><%= t("vm_inviting.enums.bid_result.#{inviting.bid_result}") %></td>
</tr>
<% end %>
</tbody>
</table>
</div>
</div>
<%= link_to t(:close), 'javascript:window.close();', :class => 'btn btn-primary' %> <%= link_to t(:close), 'javascript:window.close();', :class => 'btn btn-primary' %>

View File

@ -0,0 +1,76 @@
<% # encoding: utf-8 %>
<% @@session = session %>
<%= yield %>
<%
data = action_data
@venue_management_inviting = data["venue_management_inviting"]
@params = data['params']
%>
<table class="table table-striped venue_managementive-show-table">
<tbody>
<tr>
<th class="venue_managementive-title-field"><%= t('vm_inviting.type') %></th>
<td class="venue_managementive-title-value"><%= @venue_management_inviting.tags.map{|t| t.name}.join(" , ") %></td>
</tr>
<tr>
<th class="venue_managementive-title-field"><%= t('vm_inviting.case_no') %></th>
<td class="venue_managementive-title-value"><%= @venue_management_inviting.case_no %></td>
</tr>
<tr>
<th class="venue_managementive-title-field"><%= t('vm_inviting.publish_times') %></th>
<td class="venue_managementive-title-value"><%= @venue_management_inviting.publish_times %></td>
</tr>
<tr>
<th class="venue_managementive-title-field"><%= t('vm_inviting.rents') %></th>
<td class="venue_managementive-title-value"><%= "#{@venue_management_inviting.early_rent} / #{@venue_management_inviting.operation_rent}" %></td>
</tr>
<tr>
<th class="venue_managementive-title-field"><%= t('vm_inviting.royalty') %></th>
<td class="venue_managementive-title-value"><%= @venue_management_inviting.royalty %></td>
</tr>
<tr>
<th class="venue_managementive-title-field"><%= t('vm_inviting.house_tax_payer') %></th>
<td class="venue_managementive-title-value"><%= t("vm_inviting.enums.#{@venue_management_inviting.house_tax_payer}") %></td>
</tr>
<tr>
<th class="venue_managementive-title-field"><%= t('vm_inviting.land_tax_payer') %></th>
<td class="venue_managementive-title-value"><%= t("vm_inviting.enums.#{@venue_management_inviting.land_tax_payer}") %></td>
</tr>
<tr>
<th class="venue_managementive-title-field"><%= t('vm_inviting.contractor_manager') %></th>
<td class="venue_managementive-title-value"><%= @venue_management_inviting.contractor_manager %></td>
</tr>
<tr>
<th class="venue_managementive-title-field"><%= t('vm_inviting.bid_result') %></th>
<td class="venue_managementive-title-value"><%= t("vm_inviting.enums.bid_result.#{@venue_management_inviting.bid_result}") %></td>
</tr>
<tr>
<th class="venue_managementive-title-field"><%= t('vm_inviting.details') %></th>
<td class="venue_managementive-title-value"><%= @venue_management_inviting.details %></td>
</tr>
<% if !@venue_management_inviting.venue_management_files.blank? %>
<tr>
<th class="venue_managementive-title-field"><i class="fa fa-fw fa-paperclip"></i><%= t(:file_) %></th>
<td class="venue_managementive-title-value">
<% @venue_management_inviting.venue_management_files.map do |file| %>
<%= link_to (file.title.blank? ? File.basename(file.file.path) : file.title) , file.file.url, {:target => '_blank', :title => file.description} if file.file.file %>
<% end %>
</td>
</tr>
<% end %>
<% if !@venue_management_inviting.venue_management_links.blank? %>
<tr>
<th class="venue_managementive-title-field"><i class="fa fa-fw fa-link"></i><%= t(:link) %></th>
<td class="venue_managementive-title-value">
<% @venue_management_inviting.venue_management_links.map do |link| %>
<%= link_to (link.title.blank? ? link.url : link.title), link.url, :target => '_blank' %>
<% end %>
</td>
</tr>
<% end %>
</tbody>
</table>
<br />
<%= link_to t(:close), 'javascript:window.close();', :class => 'btn btn-primary' %>

View File

@ -184,10 +184,13 @@ en:
contract_end_date: Contract End contract_end_date: Contract End
construction_start_date: Construction Start construction_start_date: Construction Start
construction_end_date: Construction End construction_end_date: Construction End
construction_start_end: Construction Duration
operation_start_date: Operation Start operation_start_date: Operation Start
operation_end_date: Operation End operation_end_date: Operation End
operation_start_end: Operation Duration
free_period_start_date: Free Period Start free_period_start_date: Free Period Start
free_period_end_date: Free Period End free_period_end_date: Free Period End
free_period_start_end: Free Period Duration
renewal_permission: Renewal Permission renewal_permission: Renewal Permission
renewal: renewal:
'true': 'Yes' 'true': 'Yes'

View File

@ -184,10 +184,13 @@ zh_tw:
contract_end_date: 契約期間結束 contract_end_date: 契約期間結束
construction_start_date: 興建期間開始 construction_start_date: 興建期間開始
construction_end_date: 興建期間結束 construction_end_date: 興建期間結束
construction_start_end: 興建期間
operation_start_date: 營運期間開始 operation_start_date: 營運期間開始
operation_end_date: 營運期間結束 operation_end_date: 營運期間結束
operation_start_end: 營運期間
free_period_start_date: 免費期間開始 free_period_start_date: 免費期間開始
free_period_end_date: 免費期間結束 free_period_end_date: 免費期間結束
free_period_start_end: 免費期間
renewal_permission: 是否得續約 renewal_permission: 是否得續約
renewal: renewal:
'true': 'true':