成交确认书

This commit is contained in:
李鹏宇
2026-03-03 17:45:39 +08:00
parent d2eb5e6377
commit 0d9544d6cf
7 changed files with 103 additions and 4 deletions
+1
View File
@@ -100,6 +100,7 @@
'wizard/penalty_line_wizard_viwes.xml',
'wizard/build_pop_wizard_viwes.xml',
'wizard/build_fee_wizard_views.xml',
'wizard/choose_confirm_property_wizard_views.xml',
'wizard/action_refuse_wizard_views.xml',
'wizard/property_bills_wizard_views.xml',
'wizard/property_meeting_wizard_views.xml',
@@ -14,12 +14,33 @@ class PropertyConfirm(models.Model):
code = fields.Char(string="编号", default=lambda self: self.env['ir.sequence'].next_by_code('property_confirm_code'))
property_documents_ids = fields.Many2many('documents.document', string="物业成交确认文件")
lessee = fields.Char(string="承租方")
users_id = fields.Many2one('res.users', string="申请人", default=lambda self: self.env.user.id)
department_id = fields.Many2one(related='users_id.employee_id.department_id', string="部门")
active = fields.Boolean('Active', default=True, tracking=True)
work_end = fields.Boolean(string="结束")
is_chapter = fields.Selection([('yes', '是'), ('no', '否')], string='是否用章', default='no')
property_name = fields.Char(string='物业信息')
approval_unit = fields.Char(string='发送单位')
handling_opinions = fields.Text(string="经办意见")
type_stamp_ids = fields.Many2many('seals.type.setting', string='用章类型')
documents_ids = fields.Many2many('ir.attachment', string="附件")
lease_ids = fields.One2many('property.lease.contract.line', 'confirm_id', string="物业列表")
def _get_default_name_title(self):
return '成交确认书'
name_title = fields.Char(default=_get_default_name_title)
def choose_property_button(self):
return {
"type": "ir.actions.act_window",
"name": "批量选择物业信息",
"res_model": "choose.confirm.property.wizard",
"view_mode": "form",
"target": "new",
"context": {
'default_confirm_id': self.id,
}
}
class PropertyConfirm(models.Model):
@@ -131,4 +131,5 @@ access_property_management_line2,property_management_line2,model_property_manage
access_yuthon_expenses_type,yuthon.expenses.type,model_yuthon_expenses_type,base.group_user,1,1,1,1
access_property_fee_spending,property_fee_spending,model_property_fee_spending,base.group_user,1,1,1,1
access_property_fee_spending_line,property_fee_spending_line,model_property_fee_spending_line,base.group_user,1,1,1,1
access_build_fee_wizard,build_fee_wizard,model_build_fee_wizard,base.group_user,1,1,1,1
access_build_fee_wizard,build_fee_wizard,model_build_fee_wizard,base.group_user,1,1,1,1
access_choose_confirm_property_wizard,choose_confirm_property_wizard,model_choose_confirm_property_wizard,base.group_user,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
131
132
133
134
135
@@ -28,6 +28,11 @@
<field name="is_chapter"/>
</group>
</group>
<div class="col-12 text-center">
<h1>
<field name="name_title" readonly="1"/>
</h1>
</div>
<div class="oe_title">
<label for="name"/>
<h1>
@@ -39,10 +44,28 @@
<field name="work_end" invisible="1"/>
<field name="lessee"/>
<field name="property_name"/>
<field name="approval_unit"/>
<field name="handling_opinions"/>
<field name="documents_ids" widget="preview_many2many"/>
<field name="type_stamp_ids" widget="many2many_tags" invisible="is_chapter != 'yes'"/>
</group>
</group>
<notebook>
<page string="物业列表">
<button name="choose_property_button" string="添加物业" type="object" class="btn-primary"/>
<field name="lease_ids" string=" ">
<tree editable="bottom" create="false">
<field name="lease_id" column_invisible="1"/>
<field name="address_id" options="{'no_open': True, 'no_create': True}"/>
<field name="property_area"/>
<field name="evaluate_unit_price"/>
<field name="message_standard_id"/>
<field name="tax"/>
<field name="admin_line_id" options="{'no_open': True}"/>
<button name="open_record" string="详情" type="object" class="btn-primary"/>
</tree>
</field>
</page>
</notebook>
</sheet>
</form>
</field>
+2 -1
View File
@@ -16,4 +16,5 @@ from . import print_payment_wizard
from . import property_bills_wizard
from . import action_refuse_wizard
from . import property_deposit_wizard
from . import build_fee_wizard
from . import build_fee_wizard
from . import choose_confirm_property_wizard
@@ -0,0 +1,31 @@
from odoo import models, fields, api
class ChooseConfirmPropertyWizard(models.TransientModel):
_name = 'choose.confirm.property.wizard'
_description = '成交确认选择物业'
confirm_id = fields.Many2one('property.confirm', string="成交确认")
property_ids = fields.Many2many('yuthon.property', string="物业信息")
def confirm(self):
rec = self.confirm_id
lease_ids_to_add = []
names = []
for record in self.property_ids:
lease_ids_to_add.append((0, 0, {
'confirm_id': rec.id,
'address_id': record.id,
}))
if record.name:
names.append(record.name)
existing_names = []
for line in rec.lease_ids:
if line.address_id and line.address_id.name:
existing_names.append(line.address_id.name)
rec.lease_ids = lease_ids_to_add
all_names = list(set(existing_names + names))
rec.property_name = ','.join(all_names)
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<record id="choose_confirm_property_wizard_form" model="ir.ui.view">
<field name="name">choose.confirm.property.wizard.form</field>
<field name="model">choose.confirm.property.wizard</field>
<field name="arch" type="xml">
<form string="批量选择物业信息">
<sheet>
<group>
<field name="confirm_id" invisible="1"/>
<field name="property_ids" widget="many2many_tags" options="{'no_create': True}"/>
</group>
</sheet>
<footer>
<button name="confirm" string="确认" type="object" class="oe_highlight"/>
<button string="返回" class="btn-secondary" special="cancel"/>
</footer>
</form>
</field>
</record>
</odoo>