232 lines
8.1 KiB
Plaintext
232 lines
8.1 KiB
Plaintext
<%
|
||
ask_setting = @ask_setting
|
||
set_input_name_for_ask('ask_question')
|
||
%>
|
||
<% content_for :page_specific_css do %>
|
||
<%= stylesheet_link_tag "lib/main-forms" %>
|
||
<%= stylesheet_link_tag "lib/main-list" %>
|
||
<%= stylesheet_link_tag "custom_field" %>
|
||
<% end %>
|
||
<%# javascript_include_tag "lib/bootstrap-datetimepicker.js" %>
|
||
<%# javascript_include_tag "//cdnjs.cloudflare.com/ajax/libs/jquery/1.11.0/jquery.min.js"%>
|
||
<%# javascript_include_tag "/assets/lib/jquery-ui-1.12.1/jquery-ui.min" %>
|
||
<%# javascript_include_tag "lib/module-area" %>
|
||
<%# javascript_include_tag "jquery.ui.datepicker.monthyearpicker" %>
|
||
<%# javascript_include_tag "lib/bootstrap-datetimepicker" %>
|
||
<style type="text/css">
|
||
.input-area tr td {
|
||
text-align: center;
|
||
}
|
||
.form-horizontal .control-label {
|
||
padding-top: 0;
|
||
}
|
||
</style>
|
||
<script type="text/javascript">
|
||
$(document).ready(function(){
|
||
$('input:file').change(function(e){
|
||
var fileName = e.target.files[0].name;
|
||
$(this).parents(".file-selector").eq(0).find('.filename').html(fileName);
|
||
})
|
||
$('input:file').each(function(i,v){
|
||
|
||
var filename = $(v).attr('value')
|
||
if (filename){
|
||
if ($(v).attr('data-image-src')){
|
||
$(v).parents(".file-selector").eq(0).find('.filename').html("<img src=\""+$(v).attr('data-image-src')+"\">"+filename);
|
||
}
|
||
else{
|
||
$(v).parents(".file-selector").eq(0).find('.filename').html("<a href=\""+$(v).attr('data-src')+"\">"+filename);
|
||
}
|
||
}
|
||
})
|
||
})
|
||
</script>
|
||
|
||
<div class="input-area">
|
||
<div class="row-fluid">
|
||
<div id="ask-asks" class="span8">
|
||
<div class="row-fluid">
|
||
<div class="span4"><%= AskQuestion.human_attribute_name(:name) %>:<%= @ask_question.name %></div>
|
||
<div class="span4"><%= AskQuestion.human_attribute_name(:mail) %>:<%= @ask_question.mail %></div>
|
||
<div class="span4"><%= AskQuestion.human_attribute_name(:phone) %>:<%= @ask_question.phone %></div>
|
||
</div>
|
||
<% ask_setting.custom_fields.each do |k,v| %>
|
||
<%
|
||
required_pattern = v['required']=='true' ? '*' : ''
|
||
%>
|
||
<div class="control-group">
|
||
<label class="control-label">
|
||
<%= required_pattern %>
|
||
<%= v['field'][I18n.locale] %>
|
||
</label>
|
||
<div class="controls">
|
||
<%= show_on_front(k,v,@ask_question,true) %>
|
||
</div>
|
||
</div>
|
||
<% end %>
|
||
|
||
<div>
|
||
<div class="control-group">
|
||
<label class="control-label muted"><%= t('ask.serial_number') %></label>
|
||
<div class="controls">
|
||
<%= @ask_question.get_serial_number %>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="control-group">
|
||
<label class="control-label muted"><%= t('ask.ip') %></label>
|
||
<div class="controls">
|
||
<%= @ask_question.ip %>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="control-group">
|
||
<label class="control-label muted"><%= t('title') %></label>
|
||
<div class="controls">
|
||
<%= @ask_question.title %>
|
||
</div>
|
||
</div>
|
||
|
||
<% if ask_setting.default_setting['appointment'] %>
|
||
<div class="control-group">
|
||
<label class="control-label muted">
|
||
<%= AskQuestion.human_attribute_name(:appointment) %>
|
||
</label>
|
||
<div class="controls">
|
||
<%= @ask_question.appointment.strftime("%Y-%m-%d %H:%M") if @ask_question.appointment %>
|
||
</div>
|
||
</div>
|
||
<% end %>
|
||
|
||
<% if !@ask_question.comment.blank? %>
|
||
<div class="control-group">
|
||
<%= f.label :comment, class: "control-label muted" %>
|
||
<div class="controls">
|
||
<%= @ask_question.comment %>
|
||
</div>
|
||
</div>
|
||
<% end %>
|
||
<div class="control-group">
|
||
<%= f.label :agree_show, class: "control-label muted" %>
|
||
<div class="controls">
|
||
<%= @ask_question.agree_show ? t('ask.yes') : t('ask.no') %>
|
||
</div>
|
||
</div>
|
||
<div>
|
||
<%= f.label t('situation'), class: "control-label muted" %>
|
||
<div class="controls">
|
||
<%= f.select :situation, AskTicketStatus.default_sorting.map{|a| [a.title, a.key] } %>
|
||
</div>
|
||
</div>
|
||
<div class="control-group">
|
||
<label class="control-label muted"><%= t(:tags) %></label>
|
||
<%= select_tags(f, @module_app) %>
|
||
</div>
|
||
<div class="control-group">
|
||
<%= f.label :send_email, class: "control-label muted" %>
|
||
|
||
<div class="controls">
|
||
<label class="radio inline">
|
||
<%= f.radio_button :send_email, 1 %>
|
||
<%= t('ask.system_Email') %>
|
||
</label>
|
||
|
||
<label class="radio inline">
|
||
<%= f.radio_button :send_email, 0 %>
|
||
<%= t('ask.no') %>
|
||
</label>
|
||
|
||
<label class="radio inline">
|
||
<%= f.radio_button :send_email, 2 %>
|
||
<%= t('ask.phone') %>
|
||
</label>
|
||
|
||
<label class="radio inline">
|
||
<%= f.radio_button :send_email, 3 %>
|
||
<%= t('ask.fax') %>
|
||
</label>
|
||
|
||
<label class="radio inline">
|
||
<%= f.radio_button :send_email, 4 %>
|
||
<%= t('ask.paper') %>
|
||
</label>
|
||
</div>
|
||
</div>
|
||
<div class="control-group">
|
||
<%= f.label :reply, class: "control-label muted" %>
|
||
<div class="controls">
|
||
<%= f.text_area :reply, rows: 10, style: 'max-width: 500px; width: 100%;' %>
|
||
</div>
|
||
</div>
|
||
<div class="control-group">
|
||
<label class="control-label muted"><%= f.label :comment %></label>
|
||
<div class="controls">
|
||
<%= f.text_area :release_comment, :id => "#{f.object_name}_comment" %>
|
||
</div>
|
||
</div>
|
||
<div class="control-group">
|
||
<label class="control-label muted"><%= t(:file_) %></label>
|
||
<div class="controls">
|
||
<%= f.file_field :release_file %>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="span4">
|
||
<!-- 顯示歷史紀錄 -->
|
||
<div class="history-records">
|
||
<h3><%= t('history') %></h3>
|
||
<% if f.object.ask_status_histories.present? %>
|
||
<% status_mapping = AskTicketStatus.default_sorting.map{|a| [a.key, a.title]}.to_h %>
|
||
<table class="table">
|
||
<thead>
|
||
<tr>
|
||
<th><%= t('status') %></th>
|
||
<th><%= t('ask.modified_by') %></th>
|
||
<th><%= t('ask.remark') %></th>
|
||
<th><%= t('ask.attachment') %></th>
|
||
<th><%= t('ask.updated_at') %></th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<% f.object.ask_status_histories.each do |ask_status_history| %>
|
||
<tr>
|
||
<td>
|
||
<%= status_mapping[ask_status_history.status] %>
|
||
</td>
|
||
<td>
|
||
<%= ask_status_history.modified_by_name %>
|
||
</td>
|
||
<td>
|
||
<%= ask_status_history.comment %>
|
||
</td>
|
||
<td>
|
||
<%= link_to(ask_status_history[:file], ask_status_history.file.url) if ask_status_history.file.present? %>
|
||
</td>
|
||
<td>
|
||
<%= ask_status_history.created_at.strftime("%Y-%m-%d %H:%M:%S") %>
|
||
</td>
|
||
</tr>
|
||
<% end %>
|
||
</tbody>
|
||
</table>
|
||
<% else %>
|
||
<p><%= t('no_history_records') %></p>
|
||
<% end %>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<%
|
||
cancel_href = url_for(:back)
|
||
if cancel_href == 'javascript:history.back()'
|
||
now_ask_page = AskQuestion.order_by(:id).map(&:id).map.with_index.select{|v,i| v==@ask_question.id}[0][1] rescue nil
|
||
now_ask_page = now_ask_page.nil? ? 1 : ((now_ask_page+1).to_f/10).ceil
|
||
cancel_href = "/#{I18n.locale}/admin/asks?page=#{now_ask_page}"
|
||
end
|
||
%>
|
||
<div class="form-actions">
|
||
<%= f.submit t('submit'), class: 'btn btn-primary' %>
|
||
<%= link_to t('cancel'),cancel_href,title: t('cancel'),:class=> 'btn' %>
|
||
</div>
|