添加功能

This commit is contained in:
zhou
2025-07-15 09:50:31 +08:00
parent 0aab79445f
commit 11fba20051
7 changed files with 109 additions and 3 deletions
@@ -33,6 +33,7 @@
'views/yuthon_rank_approval_views.xml',
'views/property_reimbursement_form_views.xml',
'views/yuthon_renewal_approval_views.xml',
'views/contract_review_approval_views.xml',
'views/yuthon_reassignment_approval_views.xml',
'views/yuthon_recruitment_approval_views.xml',
'views/yuthon_regularization_approval_views.xml',
@@ -24,4 +24,5 @@ from . import yuthon_transfer_approval
from . import yuthon_retired_approval
from . import property_reimbursement_form
from . import yuthon_department_change
from . import yuthon_renewal_approval
from . import yuthon_renewal_approval
from . import contract_review_approval
@@ -0,0 +1,34 @@
from odoo import models, fields, api
class ContractReviewApproval(models.Model):
_name = 'contract.review.approval'
_description = '合同审查表'
_inherit = ['soong.workflow.mixin', 'mail.thread.main.attachment', 'mail.activity.mixin']
code = fields.Char(string="编号",
default=lambda self: self.env['ir.sequence'].next_by_code('yuthon_appointment_approval_code'))
name = fields.Char(string='合同名称')
user_id = fields.Many2one('res.users', string='合同经办人')
is_issues = fields.Boolean(string='是否上会')
issues_result = fields.Html(string="会议结果")
related_issues_id = fields.Many2one('issue.library', string="关联议题")
department_id = fields.Many2one('hr.department', string='部门')
amount = fields.Float(string='合同金额')
remarks = fields.Text(string='情况说明')
documents_ids = fields.Many2many('ir.attachment', string="附件")
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
default='normal')
active = fields.Boolean('Active', default=True, tracking=True)
work_end = fields.Boolean(string="结束")
def _get_default_name_title(self):
return self._description if self._description else self._name
name_title = fields.Char(default=_get_default_name_title)
@api.onchange('user_id')
def _onchange_user_id(self):
if self.user_id:
self.department_id = self.user_id.employee_id.department_id.id
@@ -52,3 +52,4 @@ access_yuthon_department_change, yuthon_department_change,model_yuthon_departmen
access_department_change_approval_line,department_change_approval_line,model_department_change_approval_line,base.group_user,1,1,1,1
access_department_change_approval_line2,department_change_approval_line2,model_department_change_approval_line2,base.group_user,1,1,1,1
access_yuthon_renewal_approval,yuthon_renewal_approval,model_yuthon_renewal_approval,base.group_user,1,1,1,1
access_contract_review_approval,contract_review_approval,model_contract_review_approval,base.group_user,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
52 access_department_change_approval_line department_change_approval_line model_department_change_approval_line base.group_user 1 1 1 1
53 access_department_change_approval_line2 department_change_approval_line2 model_department_change_approval_line2 base.group_user 1 1 1 1
54 access_yuthon_renewal_approval yuthon_renewal_approval model_yuthon_renewal_approval base.group_user 1 1 1 1
55 access_contract_review_approval contract_review_approval model_contract_review_approval base.group_user 1 1 1 1
@@ -0,0 +1,64 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<record id="view_yuthon_contract_review_approval_tree" model="ir.ui.view">
<field name="name">contract.review.approval.tree</field>
<field name="model">contract.review.approval</field>
<field name="arch" type="xml">
<tree>
<field name="code"/>
<field name="name"/>
<field name="user_id"/>
</tree>
</field>
</record>
<record id="view_yuthon_contract_review_approval_form" model="ir.ui.view">
<field name="name">contract.review.approval.form</field>
<field name="model">contract.review.approval</field>
<field name="arch" type="xml">
<form>
<sheet>
<widget name="web_ribbon" title="普件" bg_color="text-bg-success"
invisible="urgency_level != 'normal'"/>
<widget name="web_ribbon" title="急件" bg_color="text-bg-warning"
invisible="urgency_level != 'urgent'"/>
<widget name="web_ribbon" title="特级" bg_color="text-bg-danger"
invisible="urgency_level != 'emergency'"/>
<group col="3">
<group>
<field name="code" string="流水号" readonly="1"/>
</group>
<group>
<field name="urgency_level" readonly="1"/>
</group>
<group>
<field name="is_issues"/>
</group>
<group>
<field name="related_issues_id" invisible="is_issues == False"/>
</group>
</group>
<div class="col-12 text-center">
<h1>
<field name="name_title" readonly="1"/>
</h1>
</div>
<group string="审批信息">
<field name="name" required="1"/>
<field name="work_end" invisible="1"/>
<field name="user_id"/>
<field name="department_id"/>
<field name="amount"/>
<field name="remarks"/>
<field name="documents_ids" widget="preview_many2many"/>
</group>
</sheet>
</form>
</field>
</record>
<record id="view_contract_review_approval_action" model="ir.actions.act_window">
<field name="name">合同审查</field>
<field name="res_model">contract.review.approval</field>
<field name="view_mode">tree,form</field>
</record>
</odoo>
@@ -170,8 +170,8 @@ class PropertyLeaseContract(models.Model):
lease_ids = fields.One2many('property.lease.contract.line', 'lease_id',string="物业信息明细行")
subset_ids = fields.One2many('property.subset.contract', 'subset_id',string="子集明细")
breakdown_ids = fields.One2many('property.rent.breakdown.line', 'breakdown_id', string="物业租金明细行")
water_fee_ids = fields.One2many('property.water.fee.line', 'contract_id', string="物业水费明细行", store=True, ondelete='cascade')
electricity_fee_ids = fields.One2many('property.electric.fee.line', 'contract_id', string="物业电费明细行", store=True, ondelete='cascade')
water_fee_ids = fields.One2many('property.water.fee.line', 'contract_id', string="物业水费明细行", store=True)
electricity_fee_ids = fields.One2many('property.electric.fee.line', 'contract_id', string="物业电费明细行", store=True)
mange_fee_ids = fields.One2many('property.manage.fee.line', 'contract_id', string="物业管理费明细行")
other_ids = fields.One2many('property.other.fee.line', 'other_id', string="其他费用明细行")
rent_list_ids = fields.One2many('property.rent.list', 'contract_id', string="租金明细行")
+5
View File
@@ -410,6 +410,11 @@
parent="hr_set_process_menu_root_board"
action="yuthon_hr_employee_approval.yuthon_leaving_approval_action"
sequence="5"/>
<menuitem id="contract_review_approval_root_board"
name="合同审查"
parent="hr_set_process_menu_root_board"
action="yuthon_hr_employee_approval.view_contract_review_approval_action"
sequence="6"/>
<menuitem id="hr_menu_appointment_approval_root_board"
name="职称聘任申请表"
parent="hr_set_process_menu_root_board"