添加功能

This commit is contained in:
李鹏宇
2025-12-22 17:15:54 +08:00
parent f5dbb2bcc5
commit d0bd0d2848
6 changed files with 32 additions and 6 deletions
@@ -262,7 +262,7 @@ class MeterArchivesLine(models.Model):
type = fields.Selection([("public", "公共"), ("fees", "收费")], string="类型")
employee_ids = fields.Many2many("hr.employee", string="抄表人")
remarks = fields.Text(string="备注")
is_fix_loss = fields.Selection([('yes', '有'), ('no', '无')], default="yes", string="有无线损")
is_fix_loss = fields.Selection([('yes', '是'), ('no', '否')], default="yes", string="是否固定线损")
is_fix_price = fields.Selection([('yes', '是'), ('no', '否')], default="no", string="是否固定单价")
archives_state = fields.Selection([("stop", "停用"), ("use", "正常"), ("rent", "出租")], string="状态", default="use",)
state = fields.Selection([("reading", "已抄"), ("unreading", "未抄")], string="抄表状态", default="unreading",)
@@ -227,7 +227,7 @@ class MeterWaterLine(models.Model):
remarks = fields.Text(string='备注')
employee_ids = fields.Many2many('hr.employee', string='抄表人')
maximum_count = fields.Integer(string='最大位数')
is_fix_loss = fields.Selection([('yes', '有'), ('no', '无')], default="yes", string="有无线损")
is_fix_loss = fields.Selection([('yes', '是'), ('no', '否')], default="yes", string="是否固定线损")
is_fix_price = fields.Selection([('yes', '是'), ('no', '否')], default="no", string="是否固定单价")
is_push = fields.Boolean(string='推送', default=False)
+6 -1
View File
@@ -62,18 +62,23 @@ class MeterPriceWizard(models.TransientModel):
if electric_id:
if electric_id.unit_price > 0:
unit = electric_id.unit_price
line_loss = electric_id.line_loss
else:
unit = self.price
line_loss = self.line_loss
else:
unit = self.price
line_loss = self.line_loss
else:
unit = self.price
line_loss = self.line_loss
else:
unit = 0
line_loss = 0
valid.write({
'unit': unit,
'line_loss': self.line_loss if valid.is_fix_loss == 'yes' else 0
'line_loss': line_loss
})
valid.onchange_receivables()
+6 -1
View File
@@ -64,18 +64,23 @@ class WaterPriceWizard(models.TransientModel):
if water_id:
if water_id.unit_price > 0:
unit = water_id.unit_price
line_loss = water_id.line_loss
else:
unit = self.price
line_loss = self.line_loss
else:
unit = self.price
line_loss = self.line_loss
else:
unit = self.price
line_loss = self.line_loss
else:
unit = 0
line_loss = 0
valid.write({
'unit': unit,
'line_loss': self.line_loss if valid.is_fix_loss == 'yes' else 0
'line_loss': line_loss
})
valid.onchange_receivables()
@@ -2430,7 +2430,8 @@ class PropertyWaterFeeLine(models.Model):
start_date = fields.Date(related='contract_id.term_start_time', string="开始日期")
end_date = fields.Date(related='contract_id.term_end_time', string="结束日期")
unit_price = fields.Float(string='固定单价', digits=(16, 4))
is_fix_loss = fields.Selection([('yes', '有'), ('no', '无')], default="yes", string="有无线损")
line_loss = fields.Float(string='固定线损', digits=(16, 4))
is_fix_loss = fields.Selection([('yes', '是'), ('no', '否')], default="yes", string="是否固定线损")
is_fix_price = fields.Selection([('yes', '是'), ('no', '否')], default="no", string="是否固定单价")
epitope_values_id = fields.Many2one(related='property_meter_water_id.epitope_values_id', string="表位置")
@@ -2439,6 +2440,11 @@ class PropertyWaterFeeLine(models.Model):
if self.is_fix_price == 'no':
self.unit_price = 0
@api.onchange('is_fix_loss')
def _onchange_is_fix_loss(self):
if self.is_fix_loss == 'no':
self.line_loss = 0
class PropertyElectricFeeLine(models.Model):
_name = 'property.electric.fee.line'
@@ -2451,7 +2457,8 @@ class PropertyElectricFeeLine(models.Model):
start_date = fields.Date(related='contract_id.term_start_time', string="开始日期")
end_date = fields.Date(related='contract_id.term_end_time', string="结束日期")
unit_price = fields.Float(string='固定单价', digits=(16, 4))
is_fix_loss = fields.Selection([('yes', '有'), ('no', '无')], default="no", string="有无线损")
line_loss = fields.Float(string='固定线损', digits=(16, 4))
is_fix_loss = fields.Selection([('yes', '是'), ('no', '否')], default="yes", string="是否固定线损")
is_fix_price = fields.Selection([('yes', '是'),('no', '否')], default="no", string="是否固定单价")
epitope_values_id = fields.Many2one(related='property_meter_archives_id.epitope_values_id', string="表位置")
@@ -2460,6 +2467,11 @@ class PropertyElectricFeeLine(models.Model):
if self.is_fix_price == 'no':
self.unit_price = 0
@api.onchange('is_fix_loss')
def _onchange_is_fix_loss(self):
if self.is_fix_loss == 'no':
self.line_loss = 0
class PropertyOtherFeeLine(models.Model):
_name = 'property.other.fee.line'
_description = '物业其他费用明细行'
@@ -282,6 +282,7 @@
<field name="is_fix_loss"/>
<field name="is_fix_price"/>
<field name="unit_price" readonly="is_fix_price == 'no'"/>
<field name="line_loss" readonly="is_fix_loss == 'no'"/>
<field name="start_date"/>
<field name="end_date"/>
</tree>
@@ -298,6 +299,7 @@
<field name="is_fix_loss"/>
<field name="is_fix_price"/>
<field name="unit_price" readonly="is_fix_price == 'no'"/>
<field name="line_loss" readonly="is_fix_loss == 'no'"/>
<field name="start_date"/>
<field name="end_date"/>
</tree>
@@ -824,6 +826,7 @@
<field name="is_fix_loss"/>
<field name="is_fix_price"/>
<field name="unit_price" readonly="is_fix_price == 'no'"/>
<field name="line_loss" readonly="is_fix_loss == 'no'"/>
<field name="start_date"/>
<field name="end_date"/>
</tree>
@@ -839,6 +842,7 @@
<field name="is_fix_loss"/>
<field name="is_fix_price"/>
<field name="unit_price" readonly="is_fix_price == 'no'"/>
<field name="line_loss" readonly="is_fix_loss == 'no'"/>
<field name="start_date"/>
<field name="end_date"/>
</tree>