@@ -111,6 +111,9 @@
|
||||
decoration-info="issue_state == 'will'"
|
||||
decoration-success="issue_state == 'done'"
|
||||
decoration-muted="issue_state == 'cancel'">
|
||||
<header>
|
||||
<button name="all_issue_pull" string="提交议题审报" type="object"/>
|
||||
</header>
|
||||
<field name="name" column_invisible="1"/>
|
||||
<field name="name_text" class="list_width"/>
|
||||
<field name="is_party" groups="yuthon_salary.group_jtbb_user" string="党总支"/>
|
||||
|
||||
@@ -119,7 +119,9 @@
|
||||
'report/property_supervising_approval_print_report.xml',
|
||||
'report/property_supervising_approval_print_templates.xml',
|
||||
'report/property_open_rent_print_report.xml',
|
||||
'report/property_open_rent_print_templates.xml'
|
||||
'report/property_open_rent_print_templates.xml',
|
||||
'report/property_project_works_print_report.xml',
|
||||
'report/property_project_works_print_templates.xml'
|
||||
|
||||
],
|
||||
|
||||
|
||||
@@ -28,4 +28,12 @@ class PropertyProjectWorks(models.Model):
|
||||
return self._description if self._description else self._name
|
||||
|
||||
name_title = fields.Char(default=_get_default_name_title)
|
||||
self_users_ids = fields.Many2many('res.users', string="当前经办人", default=lambda self: [(6, 0, [self.env.user.id])])
|
||||
self_users_ids = fields.Many2many('res.users', string="当前经办人", default=lambda self: [(6, 0, [self.env.user.id])])
|
||||
|
||||
def action_print_property_project_works(self):
|
||||
"""打印项目工程审批表"""
|
||||
# 确保只针对单条记录生成打印
|
||||
self.ensure_one()
|
||||
# 通过 XML 中定义的报表动作记录触发 PDF 打印
|
||||
report_ref = self.env.ref('yuthon_property_approval.action_property_project_works_print_report')
|
||||
return report_ref.report_action(self)
|
||||
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<odoo>
|
||||
<!-- 项目工程打印报表 -->
|
||||
<record id="paperformat_property_project_works" model="report.paperformat">
|
||||
<field name="name">Property Project Works A4</field>
|
||||
<field name="format">A4</field>
|
||||
<field name="margin_top">5</field>
|
||||
<field name="orientation">Portrait</field>
|
||||
</record>
|
||||
|
||||
<record id="action_property_project_works_print_report" model="ir.actions.report">
|
||||
<field name="name">项目工程</field>
|
||||
<field name="paperformat_id" ref="yuthon_property_approval.paperformat_property_project_works"/>
|
||||
<field name="model">property.project.works</field>
|
||||
<field name="report_type">qweb-pdf</field>
|
||||
<field name="report_name">yuthon_property_approval.property_project_works_print_template</field>
|
||||
<field name="report_file">yuthon_property_approval.property_project_works_print_template</field>
|
||||
<field name="print_report_name">'项目工程%s_%s' % (object.name or '', object.code or '')</field>
|
||||
<field name="binding_model_id" ref="model_property_project_works"/>
|
||||
<field name="binding_type">report</field>
|
||||
</record>
|
||||
</odoo>
|
||||
@@ -0,0 +1,80 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<odoo>
|
||||
<template id="property_project_works_print_template">
|
||||
<t t-call="web.html_container">
|
||||
<t t-foreach="docs" t-as="doc">
|
||||
<t t-call="web.external_layout">
|
||||
<div class="page">
|
||||
<style type="text/css">
|
||||
.po-wrap { max-width: 800px; width: auto; margin: 0 auto; font-size: 13px; }
|
||||
.po-title { text-align: center; font-weight: bold; font-size: 20px; padding: 10px 0 14px; }
|
||||
table.po { max-width: 800px; width: 100%; border-collapse: collapse; table-layout: auto; margin: 0 auto; }
|
||||
table.po td { border: 1px solid #000; padding: 6px; vertical-align: top; }
|
||||
.label { background: #d4e6f1; font-weight: bold; text-align: center; width: 120px; }
|
||||
.section { text-align: center; font-weight: bold; background: #f2f2f2; border: 1px solid #000; padding: 6px 0; }
|
||||
.sect { text-align: center; font-weight: bold; background-color: #d4e6f1; border: 1px solid #000; padding: 6px 0; }
|
||||
</style>
|
||||
|
||||
<div class="po-wrap">
|
||||
<div class="po-title">项目工程</div>
|
||||
|
||||
<!-- 标题下方:承办部门 + 流水号 -->
|
||||
<div style="margin-bottom:8px; text-align:left;">
|
||||
<span t-esc="doc.department_id.name or ''"/>
|
||||
<span style="margin-left:40px;">流水号:<span t-esc="doc.code or ''"/></span>
|
||||
</div>
|
||||
|
||||
<!-- 基础信息 -->
|
||||
<table class="po">
|
||||
<tr>
|
||||
<td class="label" width="15%">工程名称</td>
|
||||
<td width="35%"><span t-esc="doc.name or ''"/></td>
|
||||
<td class="label" width="15%">标题</td>
|
||||
<td width="35%"><span t-esc="doc.name_title or ''"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">流程环节</td>
|
||||
<td><span t-esc="dict(doc._fields['process_links'].selection).get(doc.process_links, '')"/></td>
|
||||
<td class="label">紧急度</td>
|
||||
<td><span t-esc="dict(doc._fields['urgency_level'].selection).get(doc.urgency_level, '')"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">签订日期</td>
|
||||
<td><span t-esc="doc.signing_date and doc.signing_date.strftime('%Y-%m-%d') or ''"/></td>
|
||||
<td class="label">验收日期</td>
|
||||
<td><span t-esc="doc.acceptance_date and doc.acceptance_date.strftime('%Y-%m-%d') or ''"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">总金额</td>
|
||||
<td><span t-esc="'%.2f' % (doc.total or 0.0)"/></td>
|
||||
<td class="label">应付</td>
|
||||
<td><span t-esc="'%.2f' % (doc.coping or 0.0)"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">已付</td>
|
||||
<td><span t-esc="'%.2f' % (doc.paid or 0.0)"/></td>
|
||||
<td class="label">未付</td>
|
||||
<td><span t-esc="'%.2f' % (doc.not_paid or 0.0)"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- 审批详情 -->
|
||||
<div class="sect">审批详情</div>
|
||||
<table class="po">
|
||||
<t t-set="logs_ordered" t-value="doc.log_ids.sorted(lambda x: x.date_create or '')"/>
|
||||
<t t-foreach="logs_ordered" t-as="log">
|
||||
<tr>
|
||||
<td width="15%"><span t-esc="log.name or '节点'"/></td>
|
||||
<td width="25%"><span t-esc="log.done_by.name or ''"/></td>
|
||||
<td width="25%"><span t-esc="log.lase_click_date and log.lase_click_date.strftime('%Y-%m-%d %H:%M') or (log.date_create and log.date_create.strftime('%Y-%m-%d %H:%M') or '')"/></td>
|
||||
<td width="35%"><span t-esc="log.comment or ''"/></td>
|
||||
</tr>
|
||||
</t>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
</t>
|
||||
</t>
|
||||
</template>
|
||||
</odoo>
|
||||
@@ -17,6 +17,11 @@
|
||||
<field name="model">property.project.works</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="项目工程" create="0">
|
||||
<header>
|
||||
<button name="action_print_property_project_works"
|
||||
type="object" string="打印"
|
||||
class="btn-primary" invisible="not work_end"/>
|
||||
</header>
|
||||
<sheet>
|
||||
<group col="3">
|
||||
<group>
|
||||
|
||||
Reference in New Issue
Block a user