添加功能
This commit is contained in:
@@ -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)
|
||||
@@ -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
|
||||
|
@@ -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"/>
|
||||
|
||||
Reference in New Issue
Block a user