diff --git a/yuthon_property/models/property_meter_archives.py b/yuthon_property/models/property_meter_archives.py
index 4d1ca9aea..bc5de00f5 100644
--- a/yuthon_property/models/property_meter_archives.py
+++ b/yuthon_property/models/property_meter_archives.py
@@ -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",)
diff --git a/yuthon_property/models/property_meter_water.py b/yuthon_property/models/property_meter_water.py
index ff3fb6099..2f26ec730 100644
--- a/yuthon_property/models/property_meter_water.py
+++ b/yuthon_property/models/property_meter_water.py
@@ -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)
diff --git a/yuthon_property/wizard/meter_price_wizard.py b/yuthon_property/wizard/meter_price_wizard.py
index 1563e8c31..4c70e0656 100644
--- a/yuthon_property/wizard/meter_price_wizard.py
+++ b/yuthon_property/wizard/meter_price_wizard.py
@@ -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()
diff --git a/yuthon_property/wizard/water_price_wizard.py b/yuthon_property/wizard/water_price_wizard.py
index 46bf06650..f212887c7 100644
--- a/yuthon_property/wizard/water_price_wizard.py
+++ b/yuthon_property/wizard/water_price_wizard.py
@@ -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()
diff --git a/yuthon_property_approval/models/property_lease_contract.py b/yuthon_property_approval/models/property_lease_contract.py
index 1beebb00c..7c15b059d 100644
--- a/yuthon_property_approval/models/property_lease_contract.py
+++ b/yuthon_property_approval/models/property_lease_contract.py
@@ -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 = '物业其他费用明细行'
diff --git a/yuthon_property_approval/views/property_lease_contract.xml b/yuthon_property_approval/views/property_lease_contract.xml
index 03745c446..1926e7767 100644
--- a/yuthon_property_approval/views/property_lease_contract.xml
+++ b/yuthon_property_approval/views/property_lease_contract.xml
@@ -282,6 +282,7 @@
+
@@ -298,6 +299,7 @@
+
@@ -824,6 +826,7 @@
+
@@ -839,6 +842,7 @@
+