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 @@ +