添加功能

This commit is contained in:
李鹏宇
2026-09-20 20:46:42 +08:00
parent 0cc5ea09db
commit 927399450e
@@ -0,0 +1,72 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- 应收账单未收汇总 tree:一行一个合同,8 个应收类型未收金额 -->
<record id="view_property_accounts_receivable_unpaid_tree" model="ir.ui.view">
<field name="name">应收账单未收汇总</field>
<field name="model">property.accounts.receivable.summary</field>
<field name="arch" type="xml">
<tree create="false" edit="false" delete="false" default_order="contract_id desc">
<field name="contract_id"/>
<field name="property_name"/>
<field name="admin_id"/>
<field name="rent_unpaid" sum="合计" options='{"fg_color": "red: rent_unpaid > 0;" }'/>
<field name="management_unpaid" sum="合计" options='{"fg_color": "red: management_unpaid > 0;" }'/>
<field name="water_unpaid" sum="合计" options='{"fg_color": "red: water_unpaid > 0;" }'/>
<field name="electricity_unpaid" sum="合计" options='{"fg_color": "red: electricity_unpaid > 0;" }'/>
<field name="penalty_unpaid" sum="合计" options='{"fg_color": "red: penalty_unpaid > 0;" }'/>
<field name="deposit_unpaid" sum="合计" options='{"fg_color": "red: deposit_unpaid > 0;" }'/>
<field name="ad_unpaid" sum="合计" options='{"fg_color": "red: ad_unpaid > 0;" }'/>
<field name="other_unpaid" sum="合计" options='{"fg_color": "red: other_unpaid > 0;" }'/>
<button name="action_open_unpaid_detail" type="object" string="未收明细"
class="btn-primary btn-sm" icon="fa-list" title="查看该合同未收明细"/>
</tree>
</field>
</record>
<!-- 搜索视图:片区管理员 searchpanel -->
<record id="view_property_accounts_receivable_unpaid_search" model="ir.ui.view">
<field name="name">应收账单未收汇总搜索</field>
<field name="model">property.accounts.receivable.summary</field>
<field name="arch" type="xml">
<search>
<field name="contract_id"/>
<field name="property_name"/>
<field name="admin_id"/>
<searchpanel>
<field name="admin_id" string="片区管理员" icon="fa-user" select="one" enable_counters="1" hierarchize="0"/>
</searchpanel>
</search>
</field>
</record>
<!-- 窗口动作:按合同汇总的未收视图 -->
<record id="action_receivable_unpaid_window" model="ir.actions.act_window">
<field name="name">应收账单</field>
<field name="res_model">property.accounts.receivable.summary</field>
<field name="view_mode">tree</field>
<field name="view_id" ref="view_property_accounts_receivable_unpaid_tree"/>
<field name="search_view_id" ref="view_property_accounts_receivable_unpaid_search"/>
<field name="domain">[]</field>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
暂无未收/收部分且未对账的应收账单
</p>
</field>
</record>
<!-- 服务端动作:默认筛选当前登录人(仅当其本身是片区管理员时) -->
<record id="action_receivable_unpaid_server" model="ir.actions.server">
<field name="name">应收账单</field>
<field name="model_id" ref="yuthon_property.model_property_accounts_receivable"/>
<field name="state">code</field>
<field name="code"><![CDATA[
admin_id = env.user.id
is_admin = env['property.lease.contract'].search([('admin_id', '=', admin_id)], limit=1)
action = env.ref('yuthon_property_approval.action_receivable_unpaid_window').sudo().read()[0]
ctx_dict = {}
if is_admin:
ctx_dict['searchpanel_default_admin_id'] = admin_id
action['context'] = ctx_dict
]]></field>
</record>
</odoo>