添加功能

This commit is contained in:
李鹏宇
2025-09-20 16:06:48 +08:00
parent 7d47fd093b
commit cab3c8f051
8 changed files with 151 additions and 47 deletions
@@ -34,6 +34,7 @@ class PropertyMeterArchives(models.Model):
last_reading_time = fields.Date(string="最后读数时间")
standards_id = fields.Many2one('yuthon.electricity.setting', string='标准')
yuthon_property_ids = fields.Many2many('yuthon.property', string='物业信息')
line_ids = fields.One2many('meter.archives.line', 'archives_id', string='明细行')
remarks = fields.Text(string='备注')
@api.depends('yuthon_property_ids')
@@ -159,6 +160,33 @@ class PropertyMeterArchives(models.Model):
}
}
class MeterArchivesLine(models.Model):
_name = 'meter.archives.line'
_description = '电表库明细行'
archives_id = fields.Many2one('property.meter.archives', string='电表库', required=True, ondelete='cascade')
name = fields.Char(string='仪表编号')
epitope_values = fields.Char(string='表位置')
lessee_id = fields.Many2one('property.tenant.information', string='承租方')
yuthon_property_ids = fields.Many2many('yuthon.property', string='物业信息')
last_meter = fields.Date(string='上次抄表日期')
last_dosage = fields.Float(string='上次用量')
last_read = fields.Float(string='上次读数', readonly=True)
current_meter = fields.Float(string='本次用量', readonly=True)
current_read = fields.Float(string='本次读数')
unit_number = fields.Char(string='单元编号/用途')
gauge_magnification = fields.Integer(string='仪表倍率', readonly=True, default=1)
last_reading_time = fields.Date(string="最后读数时间")
type = fields.Selection([('public', '公共'), ('fees', '收费')], string='类型')
start_time = fields.Date(string="安装日期")
end_time = fields.Date(string="拆除日期")
remarks = fields.Text(string='备注')
archives_state = fields.Selection([('stop', '停用'), ('use', '正常'), ('rent', '出租')], string='状态',
default='use')
maximum_count = fields.Integer(string='最大位数')
class PropertyElectricReading(models.Model):
_name = 'property.electric.reading'
current_meter = fields.Float(string='本次用量', tracking=True)
@@ -33,6 +33,7 @@ class PropertyMeterWater(models.Model):
water_state = fields.Selection([('stop', '停用'), ('use', '使用'), ('rent', '出租')], string='状态', compute='_compute_water_state', store=True)
standards_id = fields.Many2one('yuthon.electricity.setting', string='标准')
yuthon_property_ids = fields.Many2many('yuthon.property', string='物业信息')
line_ids = fields.One2many('meter.water.line', 'water_id', string='水表明细行')
remarks = fields.Text(string='备注')
def open_record(self):
@@ -150,6 +151,33 @@ class PropertyMeterWater(models.Model):
}
class MeterWaterLine(models.Model):
_name = 'meter.water.line'
_description = '水表库明细行'
water_id = fields.Many2one('property.meter.water', string='水表库', required=True, ondelete='cascade')
name = fields.Char(string='仪表编号')
epitope_values = fields.Char(string='表位置')
lessee_id = fields.Many2one('property.tenant.information', string='承租方')
yuthon_property_ids = fields.Many2many('yuthon.property', string='物业信息')
last_meter = fields.Date(string='上次抄表日期')
last_dosage = fields.Float(string='上次用量')
last_read = fields.Float(string='上次读数', readonly=True)
current_meter = fields.Float(string='本次用量', readonly=True)
current_read = fields.Float(string='本次读数')
unit_number = fields.Char(string='单元编号/用途')
gauge_magnification = fields.Integer(string='仪表倍率', readonly=True, default=1)
last_reading_time = fields.Date(string="最后读数时间")
type = fields.Selection([('public', '公共'), ('fees', '收费')], string='类型')
start_time = fields.Date(string="安装日期")
end_time = fields.Date(string="拆除日期")
water_state = fields.Selection([('stop', '停用'), ('use', '使用'), ('rent', '出租')], string='状态')
remarks = fields.Text(string='备注')
employee_ids = fields.Many2many('hr.employee', string='抄表人')
maximum_count = fields.Integer(string='最大位数')
class PropertyWaterReading(models.Model):
_name = 'property.water.reading'
current_meter = fields.Float(string='本次用量', tracking=True)
+3 -1
View File
@@ -96,4 +96,6 @@ access_electric_water_wizard, electric_water_wizard,model_electric_water_wizard,
access_hydropower_logs,hydropower.logs,model_hydropower_logs,base.group_user,1,1,1,1
access_initialize_wizard,initialize.wizard,model_initialize_wizard,base.group_user,1,1,1,1
access_receivable_modify_line, receivable.modify.line,model_receivable_modify_line,base.group_user,1,1,1,1
access_receivable_modify_line, receivable.modify.line,model_receivable_modify_line,base.group_user,1,1,1,1
access_meter_archives_line, meter.archives.line,model_meter_archives_line,base.group_user,1,1,1,1
access_meter_water_line, meter.water.line,model_meter_water_line,base.group_user,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
96 access_initialize_wizard initialize.wizard model_initialize_wizard base.group_user 1 1 1 1
97 access_receivable_modify_line receivable.modify.line model_receivable_modify_line base.group_user 1 1 1 1
98 access_meter_archives_line meter.archives.line model_meter_archives_line base.group_user 1 1 1 1
99 access_meter_water_line meter.water.line model_meter_water_line base.group_user 1 1 1 1
100
101
@@ -10,7 +10,6 @@
<button class="oe_highlight" name="batch_reading_push" string="推送" type="object"/>
<button class="oe_highlight" name="button_archives_state" string="停用" type="object"/>
</header>
<button name="open_record" string="详情" type="object" class="oe_highlight"/>
<field name="name"/>
<field name="epitope_values"/>
<field name="lessee_id" options="{'no_create': True}"/>
@@ -31,10 +30,11 @@
<field name="archives_state"/>
<field name="is_push" column_invisible="1"/>
<field name="maximum_count"/>
<button name="open_record" string="详情" type="object" class="oe_highlight"/>
</tree>
</field>
</record>
<record id="property_meter_archives_form" model="ir.ui.view">
<record id="property_meter_archives_form" model="ir.ui.view">
<field name="name">property.meter.archives.form</field>
<field name="model">property.meter.archives</field>
<field name="arch" type="xml">
@@ -50,36 +50,54 @@
<group>
<field name="name"/>
<field name="unit_number"/>
<field name="installation_location"/>
<field name="is_state"/>
<field name="type"/>
<field name="lessee_id" options="{'no_create': True}"/>
<field name="epitope_values"/>
<field name="gauge_magnification" readonly="1"/>
<field name="maximum_count"/>
<field name="lessee_id"/>
<field name="employee_ids" widget="many2many_tags"/>
<field name="epitope_values"/>
<field name="yuthon_property_ids" string="物业信息" widget="many2many_tags"/>
</group>
<group>
<field name="other"/>
<field name="meter_date"/>
<field name="last_meter"/>
<field name="last_dosage"/>
<field name="last_read" readonly="1"/>
<field name="last_meter"/>
<field name="current_meter" readonly="1"/>
<field name="current_read"/>
<field name="unit"/>
<field name="archives_state"/>
<field name="is_push"/>
<field name="last_reading_time"/>
<field name="start_time"/>
<field name="end_time"/>
<field name="line_loss"/>
<field name="receivables"/>
<field name="last_reading_time"/>
<field name="standards_id"/>
<field name="archives_state"/>
<field name="is_push" invisible="1"/>
<field name="remarks"/>
<field name="yuthon_property_ids" widget="many2many_tags"/>
</group>
</group>
<notebook>
<page string="抄表明细">
<field name="line_ids" string=" ">
<tree editable="bottom">
<field name="archives_id" column_invisible="1"/>
<field name="name"/>
<field name="epitope_values"/>
<field name="lessee_id" options="{'no_create': True}"/>
<field name="yuthon_property_ids" string="物业信息" widget="many2many_tags"/>
<field name="last_meter" />
<field name="last_dosage"/>
<field name="last_read" readonly="1"/>
<field name="current_meter" readonly="1"/>
<field name="current_read"/>
<field name="unit_number"/>
<field name="gauge_magnification" readonly="1"/>
<field name="last_reading_time"/>
<field name="type"/>
<field name="start_time"/>
<field name="end_time"/>
<field name="remarks"/>
<field name="archives_state"/>
<field name="maximum_count"/>
</tree>
</field>
</page>
</notebook>
</sheet>
</form>
</field>
@@ -11,7 +11,6 @@
<button class="oe_highlight" name="batch_reading_water_push" string="推送" type="object"/>
<button class="oe_highlight" name="button_water_state" string="停用" type="object"/>
</header>
<button name="open_record" string="详情" type="object" class="oe_highlight"/>
<field name="name"/>
<field name="epitope_values"/>
<field name="lessee_id" options="{'no_create': True}"/>
@@ -33,6 +32,7 @@
<field name="is_push" column_invisible="1"/>
<field name="employee_ids" widget="many2many_tags" options="{'no_create': True}"/>
<field name="maximum_count"/>
<button name="open_record" string="详情" type="object" class="oe_highlight"/>
</tree>
</field>
</record>
@@ -52,35 +52,57 @@
<group>
<field name="name"/>
<field name="unit_number"/>
<field name="installation_location"/>
<field name="is_state"/>
<field name="type"/>
<field name="gauge_magnification" readonly="1"/>
<field name="maximum_count"/>
<field name="lessee_id"/>
<field name="employee_ids" widget="many2many_tags"/>
<field name="lessee_id" options="{'no_create': True}"/>
<field name="employee_ids" widget="many2many_tags" options="{'no_create': True}"/>
<field name="epitope_values"/>
<field name="yuthon_property_ids" string="物业信息" widget="many2many_tags"/>
</group>
<group>
<field name="other"/>
<field name="meter_date"/>
<field name="last_meter"/>
<field name="last_dosage"/>
<field name="last_read" readonly="1"/>
<field name="last_meter"/>
<field name="current_meter" readonly="1"/>
<field name="current_read"/>
<field name="unit"/>
<field name="is_push"/>
<field name="last_reading_time"/>
<field name="start_time"/>
<field name="end_time"/>
<field name="line_loss"/>
<field name="receivables"/>
<field name="last_reading_time"/>
<field name="standards_id"/>
<field name="water_state"/>
<field name="is_push" invisible="1"/>
<field name="remarks"/>
<field name="yuthon_property_ids" widget="many2many_tags"/>
</group>
</group>
<notebook>
<page string="抄表明细">
<field name="line_ids" string=" ">
<tree editable="bottom">
<field name="water_id" column_invisible="1">
<field name="name"/>
<field name="epitope_values"/>
<field name="lessee_id" options="{'no_create': True}"/>
<field name="yuthon_property_ids" string="物业信息" widget="many2many_tags"/>
<field name="last_meter" />
<field name="last_dosage"/>
<field name="last_read" readonly="1"/>
<field name="current_meter" readonly="1"/>
<field name="current_read"/>
<field name="unit_number"/>
<field name="gauge_magnification" readonly="1"/>
<field name="last_reading_time"/>
<field name="type"/>
<field name="start_time"/>
<field name="end_time"/>
<field name="water_state"/>
<field name="remarks"/>
<field name="employee_ids" widget="many2many_tags" options="{'no_create': True}"/>
<field name="maximum_count"/>
</field>
</tree>
</field>
</page>
</notebook>
</sheet>
</form>
</field>
@@ -54,6 +54,23 @@
<field name="work_end" invisible="1"/>
<field name="users_id"/>
<field name="property_address"/>
<notebook>
<page string="物业信息">
<button name="build_pop" string="添加物业" type="object"
class="btn-primary"/>
<field name="lease_ids">
<tree editable="bottom" create="false">
<field name="design_id" column_invisible="1"/>
<field name="address_id"/>
<field name="admin_line_id"/>
<field name="property_area"/>
<field name="evaluate_unit_price"/>
</tree>
</field>
</page>
</notebook>
</group>
<group>
<field name="reason"/>
<field name="image"/>
<field name="budget_list_id" widget="preview_many2one"/>
@@ -74,19 +91,6 @@
<field name="department_id" invisible="1"/>
</group>
<notebook>
<page string="物业信息">
<button name="build_pop" string="添加物业" type="object"
class="btn-primary"/>
<field name="lease_ids">
<tree editable="bottom" create="false">
<field name="design_id" column_invisible="1"/>
<field name="address_id"/>
<field name="admin_line_id"/>
<field name="property_area"/>
<field name="evaluate_unit_price"/>
</tree>
</field>
</page>
<page string="支付方式">
<field name="design_way_ids">
<tree editable="bottom">
@@ -20,6 +20,7 @@ class YuthonTradeActivities(models.Model):
other = fields.Text(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="部门")
company_id = fields.Many2one(related='users_id.employee_id.company_id', string="公司")
host_id = fields.Many2one("hr.department", string="主办")
joint_office_ids = fields.Many2many("hr.department", string="联办")
work_end = fields.Boolean(string="结束")
@@ -23,6 +23,7 @@
<group>
<field name="users_id"/>
<field name="host_id"/>
<field name="company_id" invisible="1"/>
</group>
<group>
<field name="joint_office_ids" widget="many2many_tags"/>