scinote-web/app/services/reports/docx/draw_step_table.rb

27 lines
950 B
Ruby
Raw Normal View History

# frozen_string_literal: true
2019-09-17 16:50:01 +08:00
module Reports::Docx::DrawStepTable
def draw_step_table(table)
color = @color
timestamp = table.created_at
obj = self
@docx.p
@docx.table JSON.parse(table.contents_utf_8)['data'], border_size: Constants::REPORT_DOCX_TABLE_BORDER_SIZE do
if table.metadata
table.metadata['cells'].each do |cell|
data = cell[1]
2023-03-20 18:32:38 +08:00
next unless data.present? && data['row'].present? && data['col'].present? && data['className'].present?
cell_style rows.dig(data['row'].to_i, data['col'].to_i), align: obj.table_cell_alignment(data['className'])
end
end
end
@docx.p do
text I18n.t('projects.reports.elements.step_table.table_name', name: table.name), italic: true
text ' '
text I18n.t('projects.reports.elements.step_table.user_time',
timestamp: I18n.l(timestamp, format: :full)), color: color[:gray]
end
end
end