添加功能

This commit is contained in:
zhou
2025-04-17 11:05:25 +08:00
parent 3c707f46c7
commit 5a582374f0
29 changed files with 309 additions and 37 deletions
@@ -15,10 +15,7 @@ class PropertyEvaluationPlan(models.Model):
registered_id = fields.Many2one('yuthon.purpose.evidence', string='证载用途')
registered_id2 = fields.Many2one('yuthon.purpose.evidence', string='设定用途')
rent_id = fields.Many2one('rent.free.setting', string="办法")
start_lease_period = fields.Selection(selection=[(str(i), str(i)) for i in range(1, 7)], string='租期开始',
default='1')
end_lease_period = fields.Selection(selection=[(str(i), str(i)) for i in range(1, 7)], string='租期结束',
default='6')
lease_period = fields.Integer(string='租赁期限(<=)')
annual_increase_percentage = fields.Float(string='每年递增(%)', igits=(6, 2))
remake = fields.Text(string='备注')
property_state = fields.Selection([('to', '待审批'), ('done', '已审批')], string="状态", default='to')
+4 -7
View File
@@ -234,8 +234,7 @@ class YuthonProperty(models.Model):
'owner_id': record.title_information_ids[0].owner_id.id if record.title_information_ids else None,
'registered_id': record.title_information_ids[0].registered_id.id if record.title_information_ids else None,
'rent_id': record.reference_ids[0].rent_id.id if record.reference_ids else None,
'start_lease_period': record.reference_ids[0].start_lease_period if record.reference_ids else None,
'end_lease_period': record.reference_ids[0].end_lease_period if record.reference_ids else None,
'lease_period': record.reference_ids[0].lease_period if record.reference_ids else None,
'annual_increase_percentage': record.reference_ids[0].annual_increase_percentage if record.reference_ids else None,
'assessment_category': 'rent_money',
'remake': record.remark,
@@ -261,8 +260,7 @@ class YuthonProperty(models.Model):
'owner_id': record.title_information_ids[0].owner_id.id if record.title_information_ids else None,
'registered_id': record.title_information_ids[0].registered_id.id if record.title_information_ids else None,
'rent_id': record.reference_ids[0].rent_id.id if record.reference_ids else None,
'start_lease_period': record.reference_ids[0].start_lease_period if record.reference_ids else None,
'end_lease_period': record.reference_ids[0].end_lease_period if record.reference_ids else None,
'lease_period': record.reference_ids[0].lease_period if record.reference_ids else None,
'annual_increase_percentage': record.reference_ids[0].annual_increase_percentage if record.reference_ids else None,
'assessment_category': 'rent_money',
'remake': record.remark,
@@ -444,9 +442,8 @@ class YuthonReferenceConditions(models.Model):
_description = '出租参考条件'
yuthon_property_id = fields.Many2one('yuthon.property', string="关联物业信息")
rent_id = fields.Many2one('rent.free.setting', string="办法")
start_lease_period = fields.Selection(selection=[(str(i), str(i)) for i in range(1, 7)], string='租期开始', default='1')
end_lease_period = fields.Selection(selection=[(str(i), str(i)) for i in range(1, 7)], string='租期结束', default='6')
lease_period = fields.Integer(string='租赁期限(<=)')
rent_period = fields.Integer(string="免租期(<=)")
annual_increase_percentage = fields.Float(string='每年递增(%)', igits=(6, 2))
class YuthonMajorEventLine(models.Model):
@@ -238,4 +238,12 @@ class EvaluationCompany(models.Model):
_name = 'evaluation.company'
_description = '评估公司配置'
name = fields.Char(string="名称")
class AmountWay(models.Model):
_name = 'amount.way'
_description = '交易方式'
name = fields.Char(string="名称")
+2 -1
View File
@@ -86,4 +86,5 @@ access_yuthon_major_event_line,yuthon_major_event_line,model_yuthon_major_event_
access_property_floor_setting,property_floor_setting,model_property_floor_setting,base.group_user,1,1,1,1
access_property_evaluation_plan,property_evaluation_plan,model_property_evaluation_plan,base.group_user,1,1,1,1
access_evaluation_company,evaluation_company,model_evaluation_company,base.group_user,1,1,1,1
access_evaluation_plan_wizard,evaluation_plan_wizard,model_evaluation_plan_wizard,base.group_user,1,1,1,1
access_evaluation_plan_wizard,evaluation_plan_wizard,model_evaluation_plan_wizard,base.group_user,1,1,1,1
access_amount_way,amount_way,model_amount_way,base.group_user,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
86 access_property_floor_setting property_floor_setting model_property_floor_setting base.group_user 1 1 1 1
87 access_property_evaluation_plan property_evaluation_plan model_property_evaluation_plan base.group_user 1 1 1 1
88 access_evaluation_company evaluation_company model_evaluation_company base.group_user 1 1 1 1
89 access_evaluation_plan_wizard evaluation_plan_wizard model_evaluation_plan_wizard base.group_user 1 1 1 1
90 access_amount_way amount_way model_amount_way base.group_user 1 1 1 1
+3
View File
@@ -314,6 +314,9 @@
action="action_feature_setting" sequence="90"/>
<menuitem id="view_action_major_event_ment" parent="resource_mgmt_config_menu" name="重大事项配置"
action="action_major_event_setting" sequence="95"/>
<menuitem id="view_action_amount_way" parent="resource_mgmt_config_menu" name="交易方式"
action="action_amount_way" sequence="100"/>
<menuitem
id="property_approval_my_management_menu"
@@ -15,8 +15,7 @@
<field name="owner_id"/>
<field name="registered_id"/>
<field name="registered_id2"/>
<field name="start_lease_period"/>
<field name="end_lease_period"/>
<field name="lease_period"/>
<field name="rent_id"/>
<field name="annual_increase_percentage"/>
<field name="remake"/>
@@ -197,9 +197,8 @@
<field name="reference_ids">
<tree editable="bottom">
<field name="yuthon_property_id" column_invisible="1"/>
<field name="start_lease_period"/>
<field name="end_lease_period"/>
<field name="rent_id"/>
<field name="lease_period"/>
<field name="rent_period"/>
<field name="annual_increase_percentage"/>
</tree>
</field>
@@ -383,4 +383,18 @@
<field name="res_model">evaluation.company</field>
<field name="view_mode">tree</field>
</record>
<record id="views_amount_way_tree" model="ir.ui.view">
<field name="name">amount.way.tree</field>
<field name="model">amount.way</field>
<field name="arch" type="xml">
<tree string="交易方式" editable="bottom">
<field name="name"/>
</tree>
</field>
</record>
<record id="action_amount_way" model="ir.actions.act_window">
<field name="name">交易方式</field>
<field name="res_model">amount.way</field>
<field name="view_mode">tree</field>
</record>
</odoo>
@@ -24,8 +24,7 @@ class EvaluationPlanWizard(models.Model):
'owner_id': first_id.title_information_ids[0].owner_id.id if first_id.title_information_ids else None,
'registered_id': first_id.title_information_ids[0].registered_id.id if first_id.title_information_ids else None,
'rent_id': first_id.reference_ids[0].rent_id.id if first_id.reference_ids else None,
'start_lease_period': first_id.reference_ids[0].start_lease_period if first_id.reference_ids else None,
'end_lease_period': first_id.reference_ids[0].end_lease_period if first_id.reference_ids else None,
'lease_period': first_id.reference_ids[0].lease_period if first_id.reference_ids else None,
'annual_increase_percentage': first_id.reference_ids[0].annual_increase_percentage if first_id.reference_ids else None,
'remake': first_id.remark,
'property_ids': self.property_ids.ids
+1
View File
@@ -67,6 +67,7 @@
'views/property_accounts_approval_views.xml',
'views/property_delegated_agent_views.xml',
'views/property_transaction_confirmed.xml',
'views/property_meeting_approval_views.xml',
'wizard/property_add_wizard_views.xml',
'wizard/property_contract_wizard.xml',
'wizard/property_physical_wizard_views.xml',
@@ -304,4 +304,9 @@
<field name="code">property_claim_approval_code</field>
<field name="prefix">YW%(y)s%(month)s%(day)s</field>
</record>
<record id="property_meeting_approval_sequence" model="ir.sequence">
<field name="name">物业出租申报会议</field>
<field name="code">property_meeting_approval_code</field>
<field name="prefix">HY%(y)s%(month)s%(day)s</field>
</record>
</odoo>
+2 -1
View File
@@ -53,4 +53,5 @@ from . import property_service_approval
from . import property_engineering_approval
from . import property_current_approval
from . import property_accounts_approval
from . import inherit_property_tenant_information
from . import inherit_property_tenant_information
from . import property_meeting_approval
@@ -20,7 +20,7 @@ class PropertyApproval(models.Model):
issues_result = fields.Html(string="会议结果")
related_issues_id = fields.Many2one('issue.library', string="关联议题")
property_documents_ids = fields.Many2many('documents.document', string="附件")
property_source = fields.Selection([('cut', '划入'), ('self', '自建'),
property_source = fields.Selection([('cut', '划拨'), ('self', '自建'),
('replace', '置换'), ('buy', '购入'),
('entrust', '委托'), ('Rent', '租入')], string='资产来源')
property_massage_ids = fields.One2many('property.approval.line', 'property_approval_id', string="审批信息")
@@ -85,8 +85,7 @@ class YuhtonPropertyLine(models.Model):
property_ids = fields.Many2many(related='property_evaluation_id.property_ids', string="物业信息")
owner_id = fields.Many2one('yuthon.owner.message', related='property_evaluation_id.owner_id', string="权属人")
assessment_category = fields.Selection(related='property_evaluation_id.assessment_category', string="评估类别")
start_lease_period = fields.Selection(related='property_evaluation_id.start_lease_period', string='租期开始')
end_lease_period = fields.Selection(related='property_evaluation_id.end_lease_period', string='租期结束')
lease_period = fields.Integer(related='property_evaluation_id.lease_period', string='租期期限(<=)')
registered_id = fields.Many2one(related='property_evaluation_id.registered_id', string='证载用途')
registered_id2 = fields.Many2one(related='property_evaluation_id.registered_id2', string='设定用途')
annual_increase_percentage = fields.Float(related='property_evaluation_id.annual_increase_percentage', string='每年递增(%)', igits=(6, 2))
@@ -1206,8 +1206,7 @@ class PropertyLeaseContract(models.Model):
'owner_id': first_address_id.title_information_ids[0].owner_id.id if first_address_id and first_address_id.title_information_ids else None,
'registered_id': first_address_id.title_information_ids[0].registered_id.id if first_address_id and first_address_id.title_information_ids else None,
'rent_id': first_address_id.reference_ids[0].rent_id.id if first_address_id and first_address_id.reference_ids else None,
'start_lease_period': first_address_id.reference_ids[0].start_lease_period if first_address_id and first_address_id.reference_ids else None,
'end_lease_period': first_address_id.reference_ids[0].end_lease_period if first_address_id and first_address_id.reference_ids else None,
'lease_period': first_address_id.reference_ids[0].lease_period if first_address_id and first_address_id.reference_ids else None,
'annual_increase_percentage': first_address_id.reference_ids[0].annual_increase_percentage if first_address_id and first_address_id.reference_ids else None,
'remake': first_address_id.remark if first_address_id else None,
'assessment_category': 'rent_money',
@@ -1238,8 +1237,7 @@ class PropertyLeaseContract(models.Model):
'owner_id': property_id.title_information_ids[0].owner_id.id if property_id.title_information_ids else None,
'registered_id': property_id.title_information_ids[0].registered_id.id if property_id.title_information_ids else None,
'rent_id': property_id.reference_ids[0].rent_id.id if property_id.reference_ids else None,
'start_lease_period': property_id.reference_ids[0].start_lease_period if property_id.reference_ids else None,
'end_lease_period': property_id.reference_ids[0].end_lease_period if property_id.reference_ids else None,
'lease_period': property_id.reference_ids[0].lease_period if property_id.reference_ids else None,
'annual_increase_percentage': property_id.reference_ids[0].annual_increase_percentage if property_id.reference_ids else None,
'remake': property_id.remark,
'assessment_category': 'rent_money',
@@ -0,0 +1,104 @@
from email.policy import default
from odoo import models, fields, api, exceptions, _
from odoo.exceptions import UserError, ValidationError
class PropertyMeetingApproval(models.Model):
_name = 'property.meeting.approval'
_inherit = ['soong.workflow.mixin', 'mail.thread.main.attachment', 'mail.activity.mixin']
_description = '物业出租申报会议审批表'
name = fields.Char(string='标题')
reason = fields.Html(string="正文")
property_documents_ids = fields.Many2many('ir.attachment', string="附件")
property_id = fields.Many2one('yuthon.property', string="物业地址")
registered_id = fields.Many2one(related='property_id.registered_id', string='证载用途')
evaluation_area = fields.Float(related='property_id.rent_area', string='出租面积(m²)')
lease_expiration_date = fields.Date(string='租赁到期日')
lessee_id = fields.Many2one('property.tenant.information', string='原租户')
now_rent_price = fields.Float(related='property_id.rental_unit_price', string='现租价(元/m² •月)')
appraisal_price = fields.Float(string='评估价(元/m² •月)')
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="部门")
code = fields.Char(string="编号",
default=lambda self: self.env['ir.sequence'].next_by_code('property_meeting_approval_code'))
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
default='normal')
active = fields.Boolean('Active', default=True, tracking=True)
work_end = fields.Boolean(string="结束")
initial_low_area_price = fields.Float() # 初始底价
low_area_price = fields.Float(string='底价(元/m² •月)', default=lambda self: self.appraisal_price)
low_price = fields.Float(string='底价(元/月)', compute='_compute_low_price', store=True)
lease_period = fields.Integer(string='租赁期限(<=)')
annual_increase_percentage = fields.Float(string='每年递增(%)', igits=(6, 2))
rental_purposes = fields.Many2one('yuthon.rental.purpose', string="出租用途")
rent_period = fields.Integer(string="免租期(<=)")
amount_way = fields.Many2one('amount.way', string="交易方式")
initial_rent_period = fields.Integer(string="初始免租期(<=)")
initial_lease_period = fields.Integer(string="初始租赁期限(<=)")
initial_low_price = fields.Float(string='初始底价(元/月)')
is_issues = fields.Boolean(string='是否上会')
issues_result = fields.Html(string="会议结果")
related_issues_id = fields.Many2one('issue.library', string="关联议题")
rent_comparison = fields.Selection([('red', '红'), ('green',' 绿')] , string="免租期结果")
lease_comparison = fields.Selection([('red', '红'), ('green',' 绿')] , string="租赁期限结果")
end_comparison = fields.Selection([('red', '红'), ('green',' 绿')] , string="初始底价结果")
def _get_default_name_title(self):
return self._description if self._description else self._name
name_title = fields.Char(default=_get_default_name_title)
@api.onchange('is_issues')
def _onchange_is_issues(self):
if self.is_issues:
issue_id = self.env['issue.library'].create({'name': self.name})
self.related_issues_id = issue_id.id
workflow_record_id = self.env["soong.workflow.record"].search(
[("res_model", "=", self._name), ("res_id", "=", self.id)])
self.env['issue.library.approval.line'].create({
'issue_library_id': issue_id.id,
'workflow_record_id': workflow_record_id.id,
'approval_type': workflow_record_id.workflow_id.id,
'code': self.code,
'approval_date': fields.Datetime.now(),
})
@api.onchange('rent_period')
def _onchange_rent_period(self):
if self.initial_rent_period == 0:
self.initial_rent_period = self.rent_period
else:
if self.rent_period > self.initial_rent_period:
self.rent_comparison = 'red'
elif self.rent_period < self.initial_rent_period:
self.rent_comparison = 'green'
@api.onchange('lease_period')
def _onchange_lease_period(self):
if self.initial_lease_period == 0:
# 如果是第一次输入,记录初始值
self.initial_lease_period = self.lease_period
else:
if self.lease_period > self.initial_lease_period:
self.lease_comparison = 'red'
elif self.lease_period < self.initial_lease_period:
self.lease_comparison = 'green'
@api.onchange('low_area_price')
def _onchange_low_area_price(self):
if self.initial_low_area_price == 0:
# 如果是第一次输入,记录初始值
self.initial_low_price = self.low_price
else:
if self.low_area_price > self.initial_low_price:
self.end_comparison = 'red'
elif self.low_area_price < self.initial_low_price:
self.end_comparison = 'green'
@api.depends('evaluation_area')
def _compute_low_price(self):
if self.evaluation_area and self.low_area_price:
self.low_price = self.evaluation_area * self.low_area_price
@@ -51,6 +51,17 @@ class PropertyRecord(models.Model):
'approval_date': fields.Datetime.now(),
})
def button_meeting(self):
property_record_ids = self.env["property.record"].browse(
self._context.get('active_ids', self._context.get('active_id')))
form_id = self.env.ref('yuthon_property_approval.view_property_meeting_approval_form').id
return {
"type": "ir.actions.act_window",
"name": "物业出租申报会议审批表",
"res_model": "property.meeting.approval",
"views": [[form_id, "form"]],
}
class EvaluatedApplicationLine(models.Model):
_name = 'evaluated.application.line'
@@ -37,7 +37,7 @@ class NowRentalConditionsLine(models.Model):
property_rental_conditions_id = fields.Many2one('property.rental.conditions', string='关联出租调整表')
rental_price = fields.Float(string='租金底价(元/m²)')
rental_price_month = fields.Float(string='租金底价(/m²)')
rental_year = fields.Char(string='租聘期限(年)')
lease_period = fields.Integer(string='租聘期限(<=)')
increment_rate = fields.Char(string='每年递增率(%)')
rental_use = fields.Many2one('yuthon.rental.purpose',string='出租用途')
other = fields.Char(string='其他')
@@ -50,7 +50,7 @@ class RentalConditionsLine(models.Model):
property_rental_conditions_id = fields.Many2one('property.rental.conditions', string='关联出租调整表')
new_rental_price = fields.Float(string='租金底价(元/m²)')
new_rental_price_month = fields.Float(string='租金底价(/m²)')
new_rental_year = fields.Char(string='租聘期限(年)')
new_rental_year = fields.Integer(string='租聘期限(<=)')
new_increment_rate = fields.Char(string='每年递增率(%)')
new_rental_use = fields.Many2one('yuthon.rental.purpose', string='出租用途')
new_other = fields.Char(string='其他')
@@ -92,5 +92,6 @@ access_property_current_approval, property_current_approval,model_property_curre
access_property_accounts_approval, property_accounts_approval,model_property_accounts_approval,base.group_user,1,1,1,1
access_yuthon_property_line,yuthon_property_line,model_yuthon_property_line,base.group_user,1,1,1,1
access_property_tenant_line, property_tenant_line,model_property_tenant_line,base.group_user,1,1,1,1
access_property_meeting_approval,property_meeting_approval,model_property_meeting_approval,base.group_user,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
92 access_yuthon_property_line yuthon_property_line model_yuthon_property_line base.group_user 1 1 1 1
93 access_property_tenant_line property_tenant_line model_property_tenant_line base.group_user 1 1 1 1
94 access_property_meeting_approval property_meeting_approval model_property_meeting_approval base.group_user 1 1 1 1
95
96
97
@@ -67,8 +67,7 @@
<field name="owner_id"/>
<field name="registered_id"/>
<field name="registered_id2"/>
<field name="start_lease_period"/>
<field name="end_lease_period"/>
<field name="lease_period"/>
<field name="annual_increase_percentage"/>
<field name="rent_id" string="办法"/>
<field name="remarks" string="备注"/>
@@ -0,0 +1,114 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<record id="view_property_meeting_approval_tree" model="ir.ui.view">
<field name="name">property.meeting.approval.tree</field>
<field name="model">property.meeting.approval</field>
<field name="arch" type="xml">
<tree string="会议审批">
<field name="name"/>
<field name="property_id"/>
<field name="now_rent_price"/>
<field name="appraisal_price"/>
<field name="low_area_price" decoration-danger="end_comparison == 'red'" decoration-success="end_comparison == 'green'"/>
<field name="low_price"/>
<field name="lease_period" decoration-danger="lease_comparison == 'red'" decoration-success="lease_comparison == 'green'"/>
<field name="annual_increase_percentage"/>
<field name="rental_purposes"/>
<field name="rent_period" decoration-danger="rent_comparison == 'red'" decoration-success="rent_comparison == 'green'"/>
<field name="amount_way"/>
<field name="end_comparison" column_invisible="1"/>
<field name="initial_lease_period" column_invisible="1"/>
<field name="initial_rent_period" column_invisible="1"/>
<field name="initial_low_price" column_invisible="1"/>
<field name="rent_comparison" column_invisible="1"/>
<field name="lease_comparison" column_invisible="1"/>
</tree>
</field>
</record>
<record id="view_property_meeting_approval_form" model="ir.ui.view">
<field name="name">property.meeting.approval.form</field>
<field name="model">property.meeting.approval</field>
<field name="arch" type="xml">
<form string="会议审批">
<sheet>
<widget name="web_ribbon" title="普件" bg_color="text-bg-success"
invisible="urgency_level != 'normal'"/>
<widget name="web_ribbon" title="急件" bg_color="text-bg-warning"
invisible="urgency_level != 'urgent'"/>
<widget name="web_ribbon" title="特级" bg_color="text-bg-danger"
invisible="urgency_level != 'emergency'"/>
<group col="4">
<group>
<field name="code" string="流水号" readonly="1"/>
</group>
<group>
<field name="urgency_level" readonly="1"/>
</group>
<group>
<field name="is_issues"/>
</group>
<group>
<field name="related_issues_id" invisible="is_issues == False"/>
</group>
</group>
<div class="col-12 text-center">
<h1>
<field name="name_title" readonly="1"/>
</h1>
</div>
<group string="审批事项">
<field name="work_end" invisible="1"/>
<field name="name"/>
<field name="users_id"/>
<field name="reason"/>
<field name="initial_low_price" invisible="1"/>
<field name="initial_lease_period" invisible="1"/>
<field name="initial_rent_period" invisible="1"/>
<field name="rent_comparison" invisible="1"/>
<field name="lease_comparison" invisible="1"/>
<field name="end_comparison" invisible="1"/>
<field name="issues_result" invisible="is_issues == False"/>
<field name="property_documents_ids" widget="many2many_tags"/>
</group>
<group string="物业信息" col="3">
<group>
<field name="property_id"/>
<field name="registered_id"/>
<field name="evaluation_area"/>
</group>
<group>
<field name="lease_expiration_date"/>
<field name="lessee_id"/>
<field name="now_rent_price"/>
</group>
<group>
<field name="appraisal_price"/>
</group>
</group>
<group string="出租条件" col="3">
<group>
<field name="low_area_price"/>
<field name="low_price"/>
<field name="lease_period"/>
</group>
<group>
<field name="annual_increase_percentage"/>
<field name="rental_purposes"/>
<field name="rent_period"/>
</group>
<group>
<field name="amount_way"/>
</group>
</group>
</sheet>
</form>
</field>
</record>
<record id="view_property_meeting_approval_action" model="ir.actions.act_window">
<field name="name">出租申报会议审批表</field>
<field name="res_model">property.meeting.approval</field>
<field name="view_mode">tree,form</field>
</record>
</odoo>
@@ -166,7 +166,12 @@
name="备案申请"
action="property_record_action"
sequence="9"/>
<menuitem
id="property_meeting_approval_menu"
parent="yuthon_property.yuthon_property_menu"
name="出租申报会议审批表"
action="view_property_meeting_approval_action"
sequence="10"/>
<menuitem
id="property_special_approval_menu"
parent="yuthon_property.yuthon_property_menu"
@@ -5,6 +5,9 @@
<field name="model">property.record</field>
<field name="arch" type="xml">
<tree string="评估备案">
<header>
<button name="button_meeting" string="出租申报会议审批" type="object" class="btn btn-primary"/>
</header>
<field name="name"/>
<field name="other_company_id"/>
<field name="base_date"/>
@@ -75,7 +75,7 @@
<field name="property_rental_conditions_id" column_invisible="1"/>
<field name="rental_price"/>
<field name="rental_price_month"/>
<field name="rental_year"/>
<field name="lease_period"/>
<field name="increment_rate"/>
<field name="rental_use"/>
<field name="other"/>
@@ -3,11 +3,11 @@
<record id="property_add_template_downloads_tian_he_action" model="ir.actions.act_url">
<field name="name">物业模板</field>
<field name="target">self</field>
<field name="url">...</field>
<field name="url">/yuthon_property_approval/static/others/property_template.xlsx</field>
</record>
<record id="property_add_wizard_form" model="ir.ui.view">
<field name="name">薪资物业合同</field>
<field name="name">新增物业合同</field>
<field name="model">property.add.wizard</field>
<field name="arch" type="xml">
<form>
@@ -171,3 +171,10 @@ class HrPayrollStructure(models.Model):
"view_mode": "form",
"target": "new",
}
def delete_structure(self):
payroll_ids = self.env["hr.payroll.structure"].browse(
self._context.get('active_ids', self._context.get('active_id')))
for payroll in payroll_ids:
for rule in payroll.rule_ids:
rule.sudo().unlink()
@@ -49,7 +49,7 @@ class YuthonPayrollCommon(models.Model):
"""
insurances_ids = self.env["yuthon.payroll.common"].browse(self._context.get('active_ids', self._context.get('active_id')))
for ins in insurances_ids:
for sal in self.env["hr.payroll.structure"].search(['company_id', '=', ins.company_id.id]):
for sal in self.env["hr.payroll.structure"].search([('company_id', '=', ins.company_id.id)]):
if sal.id in ins.payroll_structure_ids.ids:
continue
rule_list = []
@@ -120,10 +120,17 @@
<field name="code">action = model.action_yuthon_payroll_wizard()</field>
</record>
<record id="all_select_delete_wizard" model="ir.actions.server">
<field name="name">删除数据</field>
<field name="name">选择删除工资项</field>
<field name="model_id" ref="hr_payroll.model_hr_payroll_structure"/>
<field name="binding_model_id" ref="hr_payroll.model_hr_payroll_structure"/>
<field name="state">code</field>
<field name="code">action = model.action_select_delete_wizard()</field>
</record>
<record id="select_delete_structure" model="ir.actions.server">
<field name="name">删除工资项</field>
<field name="model_id" ref="hr_payroll.model_hr_payroll_structure"/>
<field name="binding_model_id" ref="hr_payroll.model_hr_payroll_structure"/>
<field name="state">code</field>
<field name="code">action = model.delete_structure()</field>
</record>
</odoo>