入职申请表、承租资格审批、成交确认书打印

This commit is contained in:
李鹏宇
2026-03-02 17:20:09 +08:00
parent b3c96a9922
commit 11b71275ab
4 changed files with 313 additions and 0 deletions
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<record id="paperformat_property_confirm_small" model="report.paperformat">
<field name="name">Property Confirm Small Top Margin</field>
<field name="format">A4</field>
<field name="margin_top">5</field>
<field name="orientation">Portrait</field>
</record>
<record id="action_property_confirm_report" model="ir.actions.report">
<field name="name">成交确认书</field>
<field name="paperformat_id" ref="yuthon_property_approval.paperformat_property_confirm_small"/>
<field name="model">property.confirm</field>
<field name="report_type">qweb-pdf</field>
<field name="report_name">yuthon_property_approval.property_confirm_template</field>
<field name="report_file">yuthon_property_approval.property_confirm_template</field>
<field name="binding_model_id" ref="model_property_confirm"/>
<field name="binding_type">report</field>
<field name="print_report_name">'成交确认书_%s_%s' % (object.name or '', object.code or '')</field>
</record>
</data>
</odoo>
@@ -0,0 +1,106 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<template id="property_confirm_template">
<t t-call="web.html_container">
<t t-foreach="docs" t-as="doc">
<t t-call="web.external_layout">
<style type="text/css">
/* 表格纵向版式:自适应,最大800px 居中 */
table { border-collapse: collapse; width: 100%; max-width: 800px; margin: 0 auto; table-layout: fixed; }
td { border: 1px solid #000; padding: 6px; text-align: center; vertical-align: middle; }
.title {
text-align: center;
font-weight: bold;
font-size: 18px;
padding: 8px 0;
}
.header-cell { font-weight: bold; background-color: #d4e6f1;}
/* 附件清单左对齐 */
.attachment-list { text-align: left; }
/* 隐藏意见和审批人之间的竖边框 */
.no-right-border { border-right: none !important; }
.no-left-border { border-left: none !important; }
</style>
<!-- 流水号:页面左上角,位于标题之上,浅灰色 -->
<div style="margin-bottom:8px; text-align:left; color:#999999;">
流水号:<span t-esc="doc.code or ''"/>
</div>
<!-- 标题 -->
<div class="title">
成交确认书
</div>
<table>
<colgroup>
<col style="width:15%"/>
<col style="width:35%"/>
<col style="width:15%"/>
<col style="width:35%"/>
</colgroup>
<tr>
<td class="header-cell"><strong>标题</strong></td>
<td colspan="3"><span t-esc="doc.name or ''"/></td>
</tr>
<tr>
<td class="header-cell"><strong>承租方</strong></td>
<td><span t-esc="doc.lessee or ''"/></td>
<td class="header-cell"><strong>是否用章</strong></td>
<td>
<span t-if="doc.is_chapter == 'yes'">是</span>
<span t-if="doc.is_chapter == 'no'">否</span>
</td>
</tr>
<tr>
<td class="header-cell"><strong>物业信息</strong></td>
<td><span t-esc="doc.property_name or ''"/></td>
<td class="header-cell"><strong>发送单位</strong></td>
<td><span t-esc="doc.approval_unit or ''"/></td>
</tr>
<!-- 用章类型(由is_chapter控制显隐) -->
<t t-if="doc.is_chapter == 'yes'">
<tr>
<td class="header-cell"><strong>用章类型</strong></td>
<td colspan="3" class="attachment-list">
<t t-foreach="doc.type_stamp_ids" t-as="stamp">
<span t-esc="stamp.name"/>
<t t-if="not stamp_last">、</t>
</t>
</td>
</tr>
</t>
<tr>
<td class="header-cell"><strong>附件</strong></td>
<td colspan="3" class="attachment-list">
<t t-foreach="doc.property_documents_ids" t-as="doc_file">
<div><span t-esc="doc_file.name or ''"/></div>
</t>
</td>
</tr>
<!-- 审批详情 -->
<tr>
<td colspan="4" style="background-color: #d4e6f1; text-align: center;"><strong>审批详情</strong></td>
</tr>
<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 colspan="1"><span t-esc="log.name or '节点'"/></td>
<td class="no-right-border" colspan="2"><span t-esc="log.comment or ''"/></td>
<td class="no-left-border" colspan="1">
<t t-if="log.done_by">
<span t-esc="log.done_by.name"/> <span t-esc="log.lase_click_date and log.lase_click_date.strftime('%Y-%m-%d') or ''"/>
</t>
</td>
</tr>
</t>
</table>
</t>
</t>
</t>
</template>
</odoo>
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<record id="paperformat_property_eligibility_small" model="report.paperformat">
<field name="name">Property Eligibility Small Top Margin</field>
<field name="format">A4</field>
<field name="margin_top">5</field>
<field name="orientation">Portrait</field>
</record>
<record id="action_property_eligibility_report" model="ir.actions.report">
<field name="name">承租资格审批表</field>
<field name="paperformat_id" ref="yuthon_property_approval.paperformat_property_eligibility_small"/>
<field name="model">property.eligibility</field>
<field name="report_type">qweb-pdf</field>
<field name="report_name">yuthon_property_approval.property_eligibility_template</field>
<field name="report_file">yuthon_property_approval.property_eligibility_template</field>
<field name="binding_model_id" ref="model_property_eligibility"/>
<field name="binding_type">report</field>
<field name="print_report_name">'承租资格审批表_%s_%s' % (object.name or '', object.code or '')</field>
</record>
</data>
</odoo>
@@ -0,0 +1,161 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<template id="property_eligibility_template">
<t t-call="web.html_container">
<t t-foreach="docs" t-as="doc">
<t t-call="web.external_layout">
<style type="text/css">
/* 表格纵向版式:自适应,最大800px 居中 */
table { border-collapse: collapse; width: 100%; max-width: 800px; margin: 0 auto; table-layout: fixed; }
td { border: 1px solid #000; padding: 6px; text-align: center; vertical-align: middle; }
.title {
text-align: center;
font-weight: bold;
font-size: 18px;
padding: 8px 0;
}
.header-cell { font-weight: bold; background-color: #d4e6f1;}
/* 附件清单左对齐 */
.attachment-list { text-align: left; }
/* 隐藏意见和审批人之间的竖边框 */
.no-right-border { border-right: none !important; }
.no-left-border { border-left: none !important; }
</style>
<!-- 流水号:页面左上角,位于标题之上,浅灰色 -->
<div style="margin-bottom:8px; text-align:left; color:#999999;">
流水号:<span t-esc="doc.code or ''"/>
</div>
<!-- 标题 -->
<div class="title">
承租资格审批表
</div>
<table>
<colgroup>
<col style="width:15%"/>
<col style="width:35%"/>
<col style="width:15%"/>
<col style="width:35%"/>
</colgroup>
<tr>
<td class="header-cell"><strong>标题</strong></td>
<td colspan="3"><span t-esc="doc.name or ''"/></td>
</tr>
<tr>
<td class="header-cell"><strong>申请人</strong></td>
<td><span t-esc="doc.users_id.name or ''"/></td>
<td class="header-cell"><strong>紧急程度</strong></td>
<td>
<span t-if="doc.urgency_level == 'normal'">普件</span>
<span t-if="doc.urgency_level == 'urgent'">急件</span>
<span t-if="doc.urgency_level == 'emergency'">特急件</span>
</td>
</tr>
<tr>
<td class="header-cell"><strong>部门</strong></td>
<td><span t-esc="doc.department_id.name or ''"/></td>
<td class="header-cell"><strong>交易保证金</strong></td>
<td><span t-esc="doc.sincerity_gold or 0.00"/></td>
</tr>
<tr>
<td class="header-cell"><strong>是否用章</strong></td>
<td>
<span t-if="doc.is_chapter == 'yes'">是</span>
<span t-if="doc.is_chapter == 'no'">否</span>
</td>
<td class="header-cell"><strong>是否上会</strong></td>
<td>
<span t-if="doc.is_issues">是</span>
<span t-else="">否</span>
</td>
</tr>
<!-- 用章类型(由is_chapter控制显隐) -->
<t t-if="doc.is_chapter == 'yes'">
<tr>
<td class="header-cell"><strong>用章类型</strong></td>
<td colspan="3" class="attachment-list">
<t t-foreach="doc.type_stamp_ids" t-as="stamp">
<span t-esc="stamp.name"/>
<t t-if="not stamp_last">、</t>
</t>
</td>
</tr>
</t>
<!-- 上会相关字段(由is_issues控制显隐) -->
<t t-if="doc.is_issues">
<tr>
<td class="header-cell"><strong>关联议题</strong></td>
<td colspan="3"><span t-esc="doc.related_issues_id.name or ''"/></td>
</tr>
<tr>
<td class="header-cell"><strong>会议结果</strong></td>
<td colspan="3" class="attachment-list"><span t-field="doc.issues_result"/></td>
</tr>
</t>
<tr>
<td class="header-cell"><strong>事由</strong></td>
<td colspan="3" class="attachment-list"><span t-esc="doc.reason or ''"/></td>
</tr>
<!-- 承租方列表 -->
<tr>
<td colspan="4" style="background-color: #d4e6f1; text-align: center;"><strong>承租方列表</strong></td>
</tr>
<tr>
<td class="header-cell"><strong>意向客户</strong></td>
<td class="header-cell"><strong>实体类型</strong></td>
<td class="header-cell"><strong>联系电话</strong></td>
<td class="header-cell"><strong>身份证/营业执照</strong></td>
</tr>
<t t-foreach="doc.eligibility_ids" t-as="line">
<tr>
<td><span t-esc="line.prospective_customers_id.name or ''"/></td>
<td>
<span t-if="line.entity_type == 'individual'">个人</span>
<span t-if="line.entity_type == 'enterprise'">企业</span>
</td>
<td><span t-esc="line.phone_number or ''"/></td>
<td>
<span t-if="line.entity_type == 'individual'" t-esc="line.card_id.name or ''"/>
<span t-if="line.entity_type == 'enterprise'" t-esc="line.license_id.name or ''"/>
</td>
</tr>
</t>
<tr>
<td class="header-cell"><strong>附件</strong></td>
<td colspan="3" class="attachment-list">
<t t-foreach="doc.documents_ids" t-as="att">
<div><span t-esc="att.name or ''"/></div>
</t>
</td>
</tr>
<!-- 审批详情 -->
<tr>
<td colspan="4" style="background-color: #d4e6f1; text-align: center;"><strong>审批详情</strong></td>
</tr>
<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 colspan="1"><span t-esc="log.name or '节点'"/></td>
<td class="no-right-border" colspan="2"><span t-esc="log.comment or ''"/></td>
<td class="no-left-border" colspan="1">
<t t-if="log.done_by">
<span t-esc="log.done_by.name"/> <span t-esc="log.lase_click_date and log.lase_click_date.strftime('%Y-%m-%d') or ''"/>
</t>
</td>
</tr>
</t>
</table>
</t>
</t>
</t>
</template>
</odoo>