@@ -7,6 +7,7 @@
|
||||
'license': 'LGPL-3',
|
||||
'data': [
|
||||
'security/ir.model.access.csv',
|
||||
'security/yuthon_holiday_group.xml',
|
||||
'data/yuthon_holiday_data.xml',
|
||||
'views/inherit_hr_type_views.xml',
|
||||
'views/inherit_hr_leave_allocation_views.xml',
|
||||
|
||||
@@ -141,6 +141,13 @@ class HolidaysRequestBatch(models.Model):
|
||||
is_issues = fields.Boolean(string='是否上会')
|
||||
leave_by_hour = fields.Boolean(string='请假单位(小时)', default=False)
|
||||
leave_by_day = fields.Boolean(string='请假单位(天)', default=True)
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
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.depends("users_id")
|
||||
def _compute_details(self):
|
||||
|
||||
@@ -7,7 +7,7 @@ class HrLeaveType(models.Model):
|
||||
|
||||
leave_documents_id = fields.Many2many('ir.attachment', string="假期详细说明")
|
||||
duration_calculation = fields.Float(string="时长计算")
|
||||
request_unit = fields.Selection([('calendar', '自然日'), ('working','工作日'), ('hour', '小时'), ('half_day', '半天')], string="请假单位", default='hour')
|
||||
request_unit = fields.Selection([('day', '天'), ('hour', '小时'), ('half_day', '半天')], string="请假单位", default='hour')
|
||||
employee_requests = fields.Selection([('yes', '允许的额外天数要求'), ('no', '不允许')], string='员工要求', default='yes')
|
||||
allocation_validation_type = fields.Selection(defalt='no')
|
||||
start_date = fields.Date(string="生效日期", default=fields.Date.today())
|
||||
|
||||
@@ -25,6 +25,13 @@ class YuthonFixesApproval(models.Model):
|
||||
leave_id = fields.Many2one('hr.leave.allocation')
|
||||
active = fields.Boolean('Active', default=True, tracking=True)
|
||||
remarks = fields.Text(string="备注")
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
def _get_default_name_title(self):
|
||||
return self._description if self._description else self._name
|
||||
|
||||
name_title = fields.Char(default=_get_default_name_title)
|
||||
|
||||
def bottom_allocation(self):
|
||||
for record in self:
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
<record id="module_yuthon_holiday" model="ir.module.category">
|
||||
<field name="name">假期组</field>
|
||||
</record>
|
||||
<record id="group_yuthon_holiday_user" model="res.groups">
|
||||
<field name="name">假期:用户</field>
|
||||
<field name="category_id" ref="module_yuthon_holiday"/>
|
||||
</record>
|
||||
<record id="group_yuthon_holiday_admin" model="res.groups">
|
||||
<field name="name">假期:管理员</field>
|
||||
<field name="category_id" ref="module_yuthon_holiday"/>
|
||||
<field name="implied_ids" eval="[(4, ref('group_yuthon_holiday_user'))]"/>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
||||
@@ -19,9 +19,26 @@
|
||||
<field name="arch" type="xml">
|
||||
<form>
|
||||
<sheet>
|
||||
<group>
|
||||
<field name="code" readonly="1" string="流水号:"/>
|
||||
<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/>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
<field name="name_title" readonly="1"/>
|
||||
</h1>
|
||||
</div>
|
||||
<div class="oe_title">
|
||||
<label for="name"/>
|
||||
<h1>
|
||||
|
||||
@@ -18,9 +18,26 @@
|
||||
<field name="arch" type="xml">
|
||||
<form string="假期修正审批">
|
||||
<sheet>
|
||||
<group>
|
||||
<field name="code" readonly="1" string="流水号:"/>
|
||||
</group>
|
||||
<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/>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
<field name="name_title" readonly="1"/>
|
||||
</h1>
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<group>
|
||||
<field name="name"/>
|
||||
|
||||
@@ -27,6 +27,13 @@ class CardApprovals(models.Model):
|
||||
attendance_id = fields.Many2one('hr.attendance', string="补卡日期")
|
||||
replacement_time = fields.Selection([('work', '上班卡'), ('quitting', '下班卡'), ('all', '全天卡')], string="补卡", store=True)
|
||||
active = fields.Boolean('Active', default=True)
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
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('attendance_id')
|
||||
def onchange_replacement_time(self):
|
||||
|
||||
@@ -20,6 +20,13 @@ class DutyApprovals(models.Model):
|
||||
is_issues = fields.Boolean(string='是否上会')
|
||||
reason_application = fields.Html(string="事由")
|
||||
related_issues_id = fields.Many2one('issue.library', string="关联议题")
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
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.depends('date_start', 'date_end')
|
||||
def _compute_duration(self):
|
||||
|
||||
@@ -29,6 +29,13 @@ class GoApprovals(models.Model):
|
||||
date_end = fields.Datetime(string="结束时间")
|
||||
days = fields.Integer(string="天数")
|
||||
hours = fields.Integer(string="小时")
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
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('date_start', 'days', 'hours')
|
||||
def _onchange_date_end(self):
|
||||
|
||||
@@ -16,6 +16,13 @@ class LeaveApprovals(models.Model):
|
||||
partner_id = fields.Many2one('res.partner', string="来文单位")
|
||||
statu = fields.Selection([('drft', '草稿'), ('going', '执行中'), ('cancel', '已取消'), ('done', '已完成')], string="状态",
|
||||
default='drft')
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
def _get_default_name_title(self):
|
||||
return self._description if self._description else self._name
|
||||
|
||||
name_title = fields.Char(default=_get_default_name_title)
|
||||
|
||||
def leave_approval(self):
|
||||
pass
|
||||
@@ -28,6 +28,13 @@ class OvertimeApprovals(models.Model):
|
||||
end_time = fields.Datetime(string="结束时间")
|
||||
type_overtime = fields.Selection([('work', '工作日加班'), ('weekend', '周末加班'), ('holiday', '节假日加班')],
|
||||
string="加班类型", compute="_compute_overtime_type")
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
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.depends('start_time', 'end_time')
|
||||
def _compute_duration(self):
|
||||
|
||||
@@ -25,6 +25,13 @@ class RemoveHolidayApprovals(models.Model):
|
||||
reason_application = fields.Html(string="申请事由")
|
||||
is_issues = fields.Boolean(string='是否上会')
|
||||
related_issues_id = fields.Many2one('issue.library', string="关联议题")
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
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('is_issues')
|
||||
def _onchange_is_issues(self):
|
||||
|
||||
@@ -19,6 +19,13 @@ class YuthonAbnormalApproval(models.Model):
|
||||
reason_application = fields.Html(string="申请事由")
|
||||
documents_ids = fields.Many2many('ir.attachment', string="附件")
|
||||
active = fields.Boolean('Active', default=True, tracking=True)
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
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('is_issues')
|
||||
def _onchange_is_issues(self):
|
||||
|
||||
@@ -20,6 +20,13 @@ class YuthonAdjustmentsApproval(models.Model):
|
||||
replacement_data = fields.Date(string="值班时间")
|
||||
documents_ids = fields.Many2many('ir.attachment', string="附件")
|
||||
active = fields.Boolean('Active', default=True, tracking=True)
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
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('is_issues')
|
||||
def _onchange_is_issues(self):
|
||||
|
||||
@@ -20,6 +20,13 @@ class YuthonCustomerApproval(models.Model):
|
||||
reason_application = fields.Html(string="申请事由")
|
||||
documents_ids = fields.Many2many('ir.attachment', string="附件")
|
||||
active = fields.Boolean('Active', default=True, tracking=True)
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
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('is_issues')
|
||||
def _onchange_is_issues(self):
|
||||
|
||||
@@ -27,6 +27,13 @@ class YuthonShiftApproval(models.Model):
|
||||
reason_application = fields.Html(string="申请事由")
|
||||
documents_ids = fields.Many2many('ir.attachment', string="附件")
|
||||
active = fields.Boolean('Active', default=True, tracking=True)
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
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('is_issues')
|
||||
def _onchange_is_issues(self):
|
||||
|
||||
@@ -23,6 +23,13 @@ class YuthonSpecialApproval(models.Model):
|
||||
active = fields.Boolean('Active', default=True, tracking=True)
|
||||
is_issues = fields.Boolean(string='是否上会')
|
||||
related_issues_id = fields.Many2one('issue.library', string="关联议题")
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
def _get_default_name_title(self):
|
||||
return self._description if self._description else self._name
|
||||
|
||||
name_title = fields.Char(default=_get_default_name_title)
|
||||
|
||||
def button_special_approval(self):
|
||||
role_a = self.env['planning.role'].search([('name', '=', '联安粮库')], limit=1)
|
||||
|
||||
@@ -18,9 +18,26 @@
|
||||
<field name="arch" type="xml">
|
||||
<form>
|
||||
<sheet>
|
||||
<group>
|
||||
<field name="code" readonly="1" string="流水号:"/>
|
||||
<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/>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
<field name="name_title" readonly="1"/>
|
||||
</h1>
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<group>
|
||||
<field name="name"/>
|
||||
|
||||
@@ -17,9 +17,26 @@
|
||||
<field name="arch" type="xml">
|
||||
<form>
|
||||
<sheet>
|
||||
<group>
|
||||
<field name="code" readonly="1" string="流水号:"/>
|
||||
<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/>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
<field name="name_title" readonly="1"/>
|
||||
</h1>
|
||||
</div>
|
||||
<div class="oe_title">
|
||||
<label for="name" placeholder="请输入标题"/>
|
||||
<h1>
|
||||
|
||||
@@ -18,9 +18,26 @@
|
||||
<field name="arch" type="xml">
|
||||
<form>
|
||||
<sheet>
|
||||
<group>
|
||||
<field name="code" readonly="1" string="流水号:"/>
|
||||
<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/>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
<field name="name_title" readonly="1"/>
|
||||
</h1>
|
||||
</div>
|
||||
<div class="oe_title">
|
||||
<label for="name"/>
|
||||
<h1>
|
||||
|
||||
@@ -25,9 +25,26 @@
|
||||
<button name="leave_approval" string="发起申请" type="object" class="oe_highlight"/>
|
||||
<field name="statu" widget="statusbar"/>
|
||||
</header>
|
||||
<group>
|
||||
<field name="code" readonly="1" string="流水号:"/>
|
||||
</group>
|
||||
<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/>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
<field name="name_title" readonly="1"/>
|
||||
</h1>
|
||||
</div>
|
||||
<sheet>
|
||||
<div class="oe_title">
|
||||
<label for="name" placeholder="请输入标题"/>
|
||||
|
||||
@@ -21,9 +21,26 @@
|
||||
<button name="put_hr_employee" type="object" string="Approve" class="oe_highlight"/>
|
||||
</header>
|
||||
<sheet>
|
||||
<group>
|
||||
<field name="code" readonly="1" string="流水号:"/>
|
||||
<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/>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
<field name="name_title" readonly="1"/>
|
||||
</h1>
|
||||
</div>
|
||||
<div class="oe_title">
|
||||
<label for="name"/>
|
||||
<h1>
|
||||
|
||||
@@ -21,9 +21,26 @@
|
||||
<field name="arch" type="xml">
|
||||
<form>
|
||||
<sheet>
|
||||
<group>
|
||||
<field name="code" readonly="1" string="流水号:"/>
|
||||
<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/>
|
||||
</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="reason_application"/>
|
||||
|
||||
@@ -18,9 +18,26 @@
|
||||
<field name="arch" type="xml">
|
||||
<form string="值班调休审批">
|
||||
<sheet>
|
||||
<group>
|
||||
<field name="code" readonly="1" string="流水号:"/>
|
||||
<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/>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
<field name="name_title" readonly="1"/>
|
||||
</h1>
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<group>
|
||||
<field name="name"/>
|
||||
|
||||
@@ -18,9 +18,26 @@
|
||||
<field name="arch" type="xml">
|
||||
<form string="值班调休审批">
|
||||
<sheet>
|
||||
<group>
|
||||
<field name="code" readonly="1" string="流水号:"/>
|
||||
<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/>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
<field name="name_title" readonly="1"/>
|
||||
</h1>
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<group>
|
||||
<field name="name"/>
|
||||
|
||||
@@ -16,9 +16,26 @@
|
||||
<field name="arch" type="xml">
|
||||
<form string="客服值班审批">
|
||||
<sheet>
|
||||
<group>
|
||||
<field name="code" readonly="1" string="流水号:"/>
|
||||
<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/>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
<field name="name_title" readonly="1"/>
|
||||
</h1>
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<field name="name"/>
|
||||
<field name="reason_application"/>
|
||||
|
||||
@@ -21,9 +21,26 @@
|
||||
<header>
|
||||
<button name="button_shift_approval" type="object" string="批准" class="oe_highlight"/>
|
||||
</header>
|
||||
<group>
|
||||
<field name="code" readonly="1" string="流水号:"/>
|
||||
<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/>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
<field name="name_title" readonly="1"/>
|
||||
</h1>
|
||||
</div>>
|
||||
<group string="审批事项">
|
||||
<group>
|
||||
<field name="name" placeholder="请输入标题"/>
|
||||
|
||||
@@ -21,9 +21,26 @@
|
||||
<header>
|
||||
<button name="button_special_approval" type="object" string="批准" class="oe_highlight"/>
|
||||
</header>
|
||||
<group>
|
||||
<field name="code" readonly="1" string="流水号:"/>
|
||||
<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/>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
<field name="name_title" readonly="1"/>
|
||||
</h1>
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<group>
|
||||
<field name="name" placeholder="请输入标题"/>
|
||||
|
||||
@@ -234,9 +234,10 @@
|
||||
<field name="nation" optional="hide"/>
|
||||
<field name="user_sex" optional="hide"/>
|
||||
<field name="old" optional="hide"/>
|
||||
<field name="retire_date" optional="hide"/>
|
||||
<field name="birthday_month" optional="hide"/>
|
||||
<field name="user_type" optional="hide"/>
|
||||
<field name="retire_years" optional="hide"/>
|
||||
<!-- <field name="retire_years" optional="hide"/>-->
|
||||
<field name="political_aspects" optional="hide"/>
|
||||
<field name="dang_data" optional="hide"/>
|
||||
<!-- <field name="new_start_contract_data" optional="hide"/>-->
|
||||
@@ -256,6 +257,9 @@
|
||||
<xpath expr="//field[@name='first_contract_date']" position="attributes">
|
||||
<attribute name="optional">hide</attribute>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='attendance_manager_id']" position="attributes">
|
||||
<attribute name="column_invisible">1</attribute>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_employee_inherit_filter" model="ir.ui.view">
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
'views/yuthon_message_login_views.xml',
|
||||
'views/yuthon_onboard_approval_views.xml',
|
||||
'views/yuthon_enrollment_approval_views.xml',
|
||||
'views/yuthon_retired_approval_views.xml',
|
||||
'views/yuthon_account_approval_views.xml',
|
||||
'views/yuthon_interview_approval_views.xml',
|
||||
'views/yuthon_leaving_approval_views.xml',
|
||||
|
||||
@@ -104,4 +104,17 @@
|
||||
<field name="padding">3</field>
|
||||
</record>
|
||||
|
||||
<record id="yuthon_retired_approval_code" model="ir.sequence">
|
||||
<field name="name">退休申请表-编号</field>
|
||||
<field name="code">yuthon_retired_approval_code</field>
|
||||
<field name="prefix">TX%(y)s%(month)s%(day)s</field>
|
||||
<field name="padding">3</field>
|
||||
</record>
|
||||
|
||||
<record id="yuthon_social_files_approval_code" model="ir.sequence">
|
||||
<field name="name">社保档案申请表-编号</field>
|
||||
<field name="code">yuthon_social_files_approval_code</field>
|
||||
<field name="prefix">SB%(y)s%(month)s%(day)s</field>
|
||||
<field name="padding">3</field>
|
||||
</record>
|
||||
</odoo>
|
||||
|
||||
@@ -19,4 +19,5 @@ from . import yuthon_system_approval
|
||||
from . import yuthon_service_approval
|
||||
from . import yuthon_social_files_approval
|
||||
from . import yuthon_appointment_approval
|
||||
from . import yuthon_transfer_approval
|
||||
from . import yuthon_transfer_approval
|
||||
from . import yuthon_retired_approval
|
||||
@@ -39,6 +39,22 @@ class YuthonHrEmployee(models.Model):
|
||||
}
|
||||
|
||||
|
||||
def pub_retired_employee(self):
|
||||
record_id = self.env["hr.employee"].browse(self._context.get('active_ids', self._context.get('active_id')))
|
||||
user_id = record_id.user_id
|
||||
if len(record_id) != 1:
|
||||
raise UserError("请选择一个员工")
|
||||
form_id = self.env.ref('yuthon_hr_employee_approval.view_retired_approval_form').id
|
||||
return {
|
||||
"type": "ir.actions.act_window",
|
||||
"name": "退休申请",
|
||||
"res_model": "yuthon.retired.approval",
|
||||
"views": [[form_id, "form"]],
|
||||
"context": {
|
||||
'default_employee_id':user_id.employee_id.id,
|
||||
}
|
||||
}
|
||||
|
||||
def pub_regularization_employee(self):
|
||||
record_id = self.env["hr.employee"].browse(self._context.get('active_ids', self._context.get('active_id')))
|
||||
user_id = record_id.user_id
|
||||
@@ -54,3 +70,4 @@ class YuthonHrEmployee(models.Model):
|
||||
'default_employee_id':user_id.id,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -21,6 +21,11 @@ class YuthonAppointmentApproval(models.Model):
|
||||
# 聘任结果
|
||||
judge_team_leader = fields.Many2one('hr.employee', string="评审小组组长")
|
||||
judge_team_member = fields.Many2one('hr.employee', string="评审小组成员")
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
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('is_issues')
|
||||
def _onchange_is_issues(self):
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
from email.policy import default
|
||||
|
||||
from setuptools.dist import sequence
|
||||
|
||||
from odoo import models, fields, api
|
||||
@@ -14,12 +16,16 @@ class YuthonInterviewApproval(models.Model):
|
||||
department_id = fields.Many2one(related='users_id.employee_id.department_id', string="部门")
|
||||
job_id = fields.Many2one('hr.job', string='应聘岗位')
|
||||
departments_id = fields.Many2one("hr.department", string="应聘职务")
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度', default='normal')
|
||||
code = fields.Char(string="编号", default=lambda self: self.env['ir.sequence'].next_by_code('yuthon_interview_approval_code'))
|
||||
applicant_ids = fields.One2many('interview.approval.line', 'interview_approval_id', string='应聘面试信息')
|
||||
is_issues = fields.Boolean(string='是否上会')
|
||||
yuthon_company = fields.Selection([('thtz', '天河投资集团'), ('thwg', '天河物管'),
|
||||
('thlc', '天河粮储')], string="公司")
|
||||
related_issues_id = fields.Many2one('issue.library', 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)
|
||||
|
||||
def scheduling_of_meetings(self):
|
||||
form_id = self.env.ref("room.room_booking_view_form").id
|
||||
|
||||
@@ -7,48 +7,33 @@ class YuthonLeavingApproval(models.Model):
|
||||
_description = '离职申请'
|
||||
_inherit = ['soong.workflow.mixin', 'mail.thread.main.attachment', 'mail.activity.mixin']
|
||||
|
||||
name = fields.Char(string='标题')
|
||||
text = fields.Text(string='正文')
|
||||
code = fields.Char(string="编号",
|
||||
default=lambda self: self.env['ir.sequence'].next_by_code('yuthon_leaving_approval_code'))
|
||||
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="部门")
|
||||
contract = fields.Many2one('hr.contract', string='合同')
|
||||
code = fields.Char(string="编号", default=lambda self: self.env['ir.sequence'].next_by_code('yuthon_leaving_approval_code'))
|
||||
phone = fields.Char(related='users_id.employee_id.work_phone',string='手机号')
|
||||
yuthon_company = fields.Selection([('thtz', '天河投资集团'), ('thwg', '天河物管'),
|
||||
('thlc', '天河粮储')], string="任职单位")
|
||||
job_id = fields.Many2one(related='users_id.employee_id.job_id', string="主岗")
|
||||
duties = fields.Char(string="职务")
|
||||
job_type_id = fields.Many2one('hr.job.type', string="岗位类别")
|
||||
onboarding_date = fields.Date(related='users_id.employee_id.open_start_time',string="入职日期")
|
||||
end_of_contract = fields.Date(string="合同结束日期")
|
||||
reason_application = fields.Text(string="事由")
|
||||
employee_id = fields.Many2one('hr.employee', string="员工")
|
||||
department_id = fields.Many2one(related='employee_id.department_id', string="部门")
|
||||
phone = fields.Char(related='employee_id.mobile_phone', string="联系方式")
|
||||
documents_ids = fields.Many2many('ir.attachment', string="附件")
|
||||
id_number = fields.Char(related='employee_id.identification_id', string="身份证号")
|
||||
job_id = fields.Many2one(related='employee_id.job_id', string="岗位")
|
||||
onboarding_time = fields.Date(related='employee_id.open_start_time', string="入职日期")
|
||||
expected_departure_date = fields.Date(string="预计离职日期")
|
||||
parent_id = fields.Many2one(related='users_id.employee_id.parent_id', string="直线上级")
|
||||
business_superior = fields.Many2one("hr.employee", string="业务上级")
|
||||
use_user_type = fields.Selection(related="users_id.employee_id.use_user_type", string="聘用形式")
|
||||
type_resignation = fields.Selection([('1', '个人辞职'), ('2', '被动离职')], string="辞职类型")
|
||||
application_data = fields.Date(string="申请日期")
|
||||
notice_documents_ids= fields.Many2many('ir.attachment', string="辞职申请")
|
||||
resignation_reason = fields.Text(string="辞职原因")
|
||||
is_issues = fields.Boolean(string='是否上会')
|
||||
related_issues_id = fields.Many2one('issue.library', string="关联议题")
|
||||
is_leaving = fields.Boolean(string="同意离职")
|
||||
leaving_date = fields.Date(string="工作期限")
|
||||
handover_person = fields.Many2one("hr.employee", string="交接人")
|
||||
is_handover = fields.Boolean(string="交接完成")
|
||||
|
||||
@api.onchange('is_issues')
|
||||
def _onchange_is_issues(self):
|
||||
if self.is_issues:
|
||||
issue_id = self.env['issue.library'].create({'name': self.name})
|
||||
self.related_issues_id = issue_id.id
|
||||
workflow_record_id = self.env["soong.workflow.record"].search([("res_model", "=", self._name), ("res_id", "=", self.id)])
|
||||
self.env['issue.library.approval.line'].create({
|
||||
'issue_library_id': issue_id.id,
|
||||
'workflow_record_id': workflow_record_id.id,
|
||||
'approval_type': workflow_record_id.workflow_id.id,
|
||||
'code': self.code,
|
||||
'approval_date': fields.Datetime.now(),
|
||||
})
|
||||
elif self.related_issues_id:
|
||||
raise UserError("已经创建了相关的上会记录,不能取消勾选")
|
||||
departure_type = fields.Selection([
|
||||
('voluntary', '主动离职'),
|
||||
('contract_expired', '合同到期'),
|
||||
('negotiated_termination', '协商解除'),
|
||||
('other', '其他')
|
||||
], string='离职类型')
|
||||
handover_line_ids = fields.One2many('yuthon.handover.line', 'leaving_id', string="工作交接")
|
||||
return_line_ids = fields.One2many('yuthon.return.line', 'leaving_id', string="资产归还")
|
||||
goods_line_ids = fields.One2many('yuthon.goods.line', 'leaving_id', string="物品交接")
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',default='normal')
|
||||
def _get_default_name_title(self):
|
||||
return self._description if self._description else self._name
|
||||
name_title = fields.Char(default=_get_default_name_title)
|
||||
|
||||
class HrJobType(models.Model):
|
||||
_name = "hr.job.type"
|
||||
|
||||
@@ -85,6 +85,13 @@ class YuthonMessageLogin(models.Model):
|
||||
is_issues = fields.Boolean(string='是否上会')
|
||||
related_issues_id = fields.Many2one('issue.library', string="关联议题")
|
||||
login_document_id = fields.Many2one('ir.attachment', string="简历附件")
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
def _get_default_name_title(self):
|
||||
return self._description if self._description else self._name
|
||||
|
||||
name_title = fields.Char(default=_get_default_name_title)
|
||||
|
||||
# 紧急联系人
|
||||
emergency_contact_ids = fields.One2many('hr.yuthon.emergency.contact.line', 'message_login_id',
|
||||
|
||||
@@ -52,6 +52,13 @@ class YuthonOnboardApproval(models.Model):
|
||||
contracted_status = fields.Selection([('first', '首'
|
||||
'签'), ('renew', '续签')], string='合同类型')
|
||||
is_office = fields.Boolean(string='是否领用办公物品', default=False)
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
def _get_default_name_title(self):
|
||||
return self._description if self._description else self._name
|
||||
|
||||
name_title = fields.Char(default=_get_default_name_title)
|
||||
|
||||
def button_office_supply(self):
|
||||
form_id = self.env.ref('yuthon_sps_approval.view_yuthon_office_supplies_form').id
|
||||
|
||||
@@ -18,6 +18,13 @@ class YuthonPrepareApproval(models.Model):
|
||||
notice_documents_ids = fields.Many2many('ir.attachment', string='议题附件')
|
||||
adjust_information_ids = fields.One2many('prepare.approval.line', 'prepare_approval_id', string="关联调整信息")
|
||||
prepare_approval_line_ids = fields.One2many('new.prepare.approval.line', 'prepare_approval_id', string="关联编制调整需求表行")
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
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('adjust_information_ids')
|
||||
def onchange_change_index_library_ids(self):
|
||||
|
||||
@@ -27,8 +27,15 @@ class YuthonReassignmentApproval(models.Model):
|
||||
person_attributes = fields.Selection([('in', '编制内'), ('out', '编制外')], string="人员属性")
|
||||
is_issues = fields.Boolean(string='是否上会')
|
||||
related_issues_id = fields.Many2one('issue.library', string="关联议题")
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
#异动信息
|
||||
def _get_default_name_title(self):
|
||||
return self._description if self._description else self._name
|
||||
|
||||
name_title = fields.Char(default=_get_default_name_title)
|
||||
|
||||
#异动信息
|
||||
change_kind = fields.Char(string="异动类型")
|
||||
change_rank = fields.Char(string='职级')
|
||||
change_reason = fields.Char(string="异动原因")
|
||||
|
||||
@@ -21,6 +21,13 @@ class YuthonRecruitmentApproval(models.Model):
|
||||
yuthon_company = fields.Selection([('thtz', '天河投资集团'), ('thwg', '天河物管'),
|
||||
('thlc', '天河粮储')], string="所属公司")
|
||||
department_id = fields.Many2one(related='users_id.employee_id.department_id', string="部门")
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
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('is_issues')
|
||||
def _onchange_is_issues(self):
|
||||
|
||||
@@ -42,6 +42,14 @@ class YuthonRegularizationPrepareApproval(models.Model):
|
||||
approval_regularization = fields.Selection([('none', '未发起'), ('done', '已发起')], string='转正审批状态', default='none')
|
||||
regularization = fields.Selection([('none', '未发起'), ('done', '已发起')], string='试用期考核状态', default='none')
|
||||
regularization_rules = fields.Char(string="转正规则")
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
def _get_default_name_title(self):
|
||||
return self._description if self._description else self._name
|
||||
|
||||
name_title = fields.Char(default=_get_default_name_title)
|
||||
|
||||
#试用信息明细行
|
||||
trial_assessment_ids = fields.One2many('yuthon.trial.scenario.detail.line', 'regularization_login_id', string="试用期考核方案",help='请选择适用本人主岗的试用考核方案,或直接在下方填写')
|
||||
|
||||
|
||||
@@ -0,0 +1,76 @@
|
||||
from odoo import models, fields, api
|
||||
from odoo.exceptions import UserError
|
||||
|
||||
|
||||
class YuthonRetiredApproval(models.Model):
|
||||
_name = 'yuthon.retired.approval'
|
||||
_description = '退休申请表'
|
||||
_inherit = ['soong.workflow.mixin', 'mail.thread.main.attachment', 'mail.activity.mixin']
|
||||
|
||||
name = fields.Char(string='标题')
|
||||
text = fields.Text(string='正文')
|
||||
code = fields.Char(string="编号",
|
||||
default=lambda self: self.env['ir.sequence'].next_by_code('yuthon_retired_approval_code'))
|
||||
users_id = fields.Many2one('res.users', string="申请人", default=lambda self: self.env.user.id)
|
||||
reason_application = fields.Text(string="事由")
|
||||
employee_id = fields.Many2one('hr.employee', string="员工")
|
||||
department_id = fields.Many2one(related='employee_id.department_id', string="部门")
|
||||
phone = fields.Char(related='employee_id.mobile_phone', string="联系方式")
|
||||
id_number = fields.Char(related='employee_id.identification_id', string="身份证号")
|
||||
job_id = fields.Many2one(related='employee_id.job_id', string="岗位")
|
||||
onboarding_time = fields.Date(related='employee_id.open_start_time', string="入职日期")
|
||||
expected_departure_date = fields.Date(string="预计离职日期")
|
||||
retirement_type = fields.Selection([('normal', '正常退休'), ('special_job_early', '特殊工种提前退休'), ('sick', '病退')], string='退休类型')
|
||||
social_security_card = fields.Char(string='社保卡')
|
||||
treatment_choice = fields.Selection([('pension_payment', '养老金发放'), ('enterprise_annuity', '企业年金')], string='待遇选择')
|
||||
account = fields.Char(string='账号')
|
||||
documents_ids = fields.Many2many('ir.attachment', string="附件")
|
||||
handover_line_ids = fields.One2many('yuthon.handover.line', 'retired_id', string="工作交接")
|
||||
return_line_ids = fields.One2many('yuthon.return.line', 'retired_id', string="资产归还")
|
||||
goods_line_ids = fields.One2many('yuthon.goods.line', 'retired_id', string="物品交接")
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
def _get_default_name_title(self):
|
||||
return self._description if self._description else self._name
|
||||
|
||||
name_title = fields.Char(default=_get_default_name_title)
|
||||
|
||||
|
||||
class YuthonHandoverLine(models.Model):
|
||||
_name = 'yuthon.handover.line'
|
||||
_description = '工作交接'
|
||||
|
||||
name = fields.Char(string="交接事项")
|
||||
employee_id = fields.Many2one('hr.employee', string="交接人")
|
||||
state = fields.Selection([('done', '已完成'), ('undone', '未完成')], string="交接状态")
|
||||
remake = fields.Char(string="备注")
|
||||
retired_id = fields.Many2one('yuthon.retired.approval', string="关联退休申请")
|
||||
leaving_id = fields.Many2one('yuthon.leaving.approval', string="关联离职申请")
|
||||
|
||||
|
||||
class YuthonReturnLine(models.Model):
|
||||
_name = 'yuthon.return.line'
|
||||
_description = '资产归还'
|
||||
|
||||
name = fields.Char(string="资产类型")
|
||||
model = fields.Char(string="型号")
|
||||
state = fields.Selection([('done', '已完成'), ('undone', '未完成')], string="归还状态")
|
||||
remake = fields.Char(string="备注")
|
||||
retired_id = fields.Many2one('yuthon.retired.approval', string="关联退休申请")
|
||||
leaving_id = fields.Many2one('yuthon.leaving.approval', string="关联离职申请")
|
||||
|
||||
|
||||
class YuthonGoodsLine(models.Model):
|
||||
_name = 'yuthon.goods.line'
|
||||
_description = '办公用品'
|
||||
|
||||
name = fields.Char(string="物品名称")
|
||||
number = fields.Integer(string="数量")
|
||||
state = fields.Selection([('done', '已完成'), ('undone', '未完成')], string="归还状态")
|
||||
remake = fields.Char(string="备注")
|
||||
retired_id = fields.Many2one('yuthon.retired.approval', string="关联退休申请")
|
||||
leaving_id = fields.Many2one('yuthon.leaving.approval', string="关联离职申请")
|
||||
|
||||
|
||||
|
||||
@@ -21,6 +21,13 @@ class YuthonRewardApproval(models.Model):
|
||||
is_issues = fields.Boolean(string='是否上会')
|
||||
related_issues_id = fields.Many2one('issue.library', string="关联议题")
|
||||
reward_results_ids = fields.One2many('yuthon.reward.punishment.details', 'reward_punishment_id', string="奖罚明细")
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
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('is_issues')
|
||||
def _onchange_is_issues(self):
|
||||
|
||||
@@ -22,6 +22,13 @@ class YuthonServiceApproval(models.Model):
|
||||
issue_text = fields.Html(string="正文")
|
||||
is_issues = fields.Boolean(string='是否上会')
|
||||
related_issues_id = fields.Many2one('issue.library', string="关联议题")
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
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('is_issues')
|
||||
def _onchange_is_issues(self):
|
||||
|
||||
@@ -4,8 +4,11 @@ from odoo import models, fields, api
|
||||
class YuthonSocialFilesApproval(models.Model):
|
||||
_name = 'yuthon.social.files.approval'
|
||||
_description = '社保档案'
|
||||
_inherit = ['soong.workflow.mixin', 'mail.thread.main.attachment', 'mail.activity.mixin']
|
||||
|
||||
name = fields.Char(string='档案名称', required=True)
|
||||
code = fields.Char(string="编号",
|
||||
default=lambda self: self.env['ir.sequence'].next_by_code('yuthon_social_files_approval_code'))
|
||||
resignation_name = fields.Char(string='姓名')
|
||||
phone = fields.Char(string='手机号')
|
||||
card = fields.Char(string='身份证号')
|
||||
@@ -28,3 +31,11 @@ class YuthonSocialFilesApproval(models.Model):
|
||||
social_security_base = fields.Float(string="社保基数")
|
||||
provident_base = fields.Float(string="公积金基数")
|
||||
social_group = fields.Char(string="社保组")
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
def _get_default_name_title(self):
|
||||
return self._description if self._description else self._name
|
||||
|
||||
name_title = fields.Char(default=_get_default_name_title)
|
||||
|
||||
|
||||
@@ -33,6 +33,13 @@ class YutransferApproval(models.Model):
|
||||
is_issues = fields.Boolean(string='是否上会')
|
||||
related_issues_id = fields.Many2one('issue.library', string="关联议题")
|
||||
transfer_ids = fields.One2many('yuthon.transfer.infor.detail.lines', 'transfer_id')
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
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('is_issues')
|
||||
def _onchange_is_issues(self):
|
||||
|
||||
@@ -40,4 +40,8 @@ access_yuthon_reward_punishment_details,yuthon_reward_punishment_details,model_y
|
||||
access_yuthon_trial_scenario_detail_line,yuthon_trial_scenario_detail_line,model_yuthon_trial_scenario_detail_line,base.group_user,1,1,1,1
|
||||
access_interview_approval_wizard,interview_approval_wizard,model_interview_approval_wizard,base.group_user,1,1,1,1
|
||||
access_interview_approval_wizard_line,interview_approval_wizard_line,model_interview_approval_wizard_line,base.group_user,1,1,1,1
|
||||
access_kindred_line,kindred_line,model_kindred_line,base.group_user,1,1,1,1
|
||||
access_kindred_line,kindred_line,model_kindred_line,base.group_user,1,1,1,1
|
||||
access_yuthon_retired_approval,yuthon_retired_approval,model_yuthon_retired_approval,base.group_user,1,1,1,1
|
||||
access_yuthon_handover_line,yuthon_handover_line,model_yuthon_handover_line,base.group_user,1,1,1,1
|
||||
access_yuthon_return_line,yuthon_return_line,model_yuthon_return_line,base.group_user,1,1,1,1
|
||||
access_yuthon_goods_line,yuthon_goods_line,model_yuthon_goods_line,base.group_user,1,1,1,1
|
||||
|
@@ -9,6 +9,7 @@
|
||||
<button name="pub_reassignment_employee" string="调岗" type="object"/>
|
||||
<button name="pub_leaving_employee" string="离职" type="object"/>
|
||||
<button name="pub_regularization_employee" string="转正" type="object"/>
|
||||
<button name="pub_retired_employee" string="退休" type="object"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -20,9 +20,26 @@
|
||||
<field name="arch" type="xml">
|
||||
<form>
|
||||
<sheet>
|
||||
<group>
|
||||
<field name="code" readonly="1" string="流水号:"/>
|
||||
<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/>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
<field name="name_title" readonly="1"/>
|
||||
</h1>
|
||||
</div>
|
||||
<group string="基础信息" >
|
||||
<field name="department_id" invisible="1"/>
|
||||
<field name="users_id"/>
|
||||
|
||||
@@ -22,9 +22,26 @@
|
||||
<button name="put_interview_wizard" string="结束" type="object" class='btn btn-primary'/>
|
||||
</header>
|
||||
<sheet>
|
||||
<group>
|
||||
<field name="code" string="流水号" readonly="1"/>
|
||||
<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/>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
<field name="name_title" readonly="1"/>
|
||||
</h1>
|
||||
</div>
|
||||
<group>
|
||||
<field name="name"/>
|
||||
<field name="job_id"/>
|
||||
|
||||
@@ -4,13 +4,10 @@
|
||||
<field name="name">yuthon.leaving.approval.tree</field>
|
||||
<field name="model">yuthon.leaving.approval</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree>
|
||||
<field name="users_id"/>
|
||||
<field name="phone"/>
|
||||
<field name="department_id" string="部门"/>
|
||||
<field name="use_user_type"/>
|
||||
<field name="is_leaving" string="离职审批状态"/>
|
||||
<field name="is_handover" string='离职交接状态'/>
|
||||
<tree string="退休申请">
|
||||
<field name="name"/>
|
||||
<field name="employee_id"/>
|
||||
<field name="departure_type"/>
|
||||
<field name="expected_departure_date"/>
|
||||
</tree>
|
||||
</field>
|
||||
@@ -21,69 +18,92 @@
|
||||
<field name="arch" type="xml">
|
||||
<form>
|
||||
<sheet>
|
||||
<group>
|
||||
<field name="code" readonly="1" string="流水号:"/>
|
||||
</group>
|
||||
<group col="4" string="员工信息">
|
||||
<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="users_id"/>
|
||||
<field name="yuthon_company"/>
|
||||
<field name="onboarding_date"/>
|
||||
<field name="use_user_type"/>
|
||||
<field name="code" string="流水号" readonly="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="urgency_level" readonly="1"/>
|
||||
</group>
|
||||
<group/>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
<field name="name_title" readonly="1"/>
|
||||
</h1>
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<group>
|
||||
<field name="name"/>
|
||||
<field name="users_id"/>
|
||||
<field name="reason_application"/>
|
||||
<field name="documents_ids" widget="preview_many2many"/>
|
||||
</group>
|
||||
</group>
|
||||
<group string="退休信息" col="3">
|
||||
<group>
|
||||
<field name="employee_id"/>
|
||||
<field name="department_id"/>
|
||||
<field name="end_of_contract"/>
|
||||
<field name="departure_type"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="phone"/>
|
||||
<field name="id_number"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="onboarding_time"/>
|
||||
<field name="expected_departure_date"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="job_id"/>
|
||||
<field name="job_type_id"/>
|
||||
<field name="parent_id"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="duties"/>
|
||||
<field name="business_superior"/>
|
||||
</group>
|
||||
</group>
|
||||
<group col="3" string="辞职说明">
|
||||
<group>
|
||||
<field name="type_resignation"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="application_data"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="notice_documents_ids" widget="preview_many2many"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="resignation_reason"/>
|
||||
</group>
|
||||
</group>
|
||||
<group string="审批信息" col="3">
|
||||
<group>
|
||||
<field name="is_leaving"/>
|
||||
<field name="is_handover"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="leaving_date"/>
|
||||
<field name="is_issues"/>
|
||||
<field name="related_issues_id" invisible="not is_issues"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="handover_person"/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page string="工作交接">
|
||||
<field name="handover_line_ids">
|
||||
<tree editable="bottom">
|
||||
<field name="leaving_id" column_invisible="1"/>
|
||||
<field name="name"/>
|
||||
<field name="employee_id"/>
|
||||
<field name="state"/>
|
||||
<field name="remake"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
<page string="资产归还">
|
||||
<field name="return_line_ids">
|
||||
<tree editable="bottom">
|
||||
<field name="leaving_id" column_invisible="1"/>
|
||||
<field name="name"/>
|
||||
<field name="model"/>
|
||||
<field name="state"/>
|
||||
<field name="remake"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
<page string="办公用品">
|
||||
<field name="goods_line_ids">
|
||||
<tree editable="bottom">
|
||||
<field name="leaving_id" column_invisible="1"/>
|
||||
<field name="name"/>
|
||||
<field name="number"/>
|
||||
<field name="state"/>
|
||||
<field name="remake"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="yuthon_leaving_approval_action" model="ir.actions.act_window">
|
||||
<field name="name">员工辞职</field>
|
||||
<field name="res_model">yuthon.leaving.approval</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
|
||||
|
||||
@@ -20,9 +20,26 @@
|
||||
<button name="pub_name_button" string="发送邀请链接" type="object" class='btn btn-primary'/>
|
||||
</header>
|
||||
<sheet>
|
||||
<group>
|
||||
<field name="code" readonly="1" string="流水号:"/>
|
||||
<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/>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
<field name="name_title" readonly="1"/>
|
||||
</h1>
|
||||
</div>
|
||||
<field name="image_1920" widget="image" class="oe_avatar" options="{'preview_image': 'image_128'}"/>
|
||||
<div class="oe_title">
|
||||
<label for="name" string="名称"/>
|
||||
|
||||
@@ -21,9 +21,26 @@
|
||||
<button name="button_office_supply" type="object" class="oe_highlight" string="办公用品" invisible="not is_office"/>
|
||||
</header>
|
||||
<sheet>
|
||||
<group>
|
||||
<field name="code" readonly="1" string="流水号:"/>
|
||||
<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/>
|
||||
</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="users_id"/>
|
||||
|
||||
@@ -17,9 +17,26 @@
|
||||
<field name="arch" type="xml">
|
||||
<form>
|
||||
<sheet>
|
||||
<group>
|
||||
<field name="code" readonly="1" string="流水号:"/>
|
||||
<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/>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
<field name="name_title" readonly="1"/>
|
||||
</h1>
|
||||
</div>
|
||||
<group>
|
||||
<field name="users_id" invisible="1"/>
|
||||
<field name="department_id" invisible="1"/>
|
||||
|
||||
@@ -22,12 +22,29 @@
|
||||
<field name="arch" type="xml">
|
||||
<form>
|
||||
<sheet>
|
||||
<group>
|
||||
<field name="code" readonly="1" string="流水号:"/>
|
||||
<field name="users_id" invisible="1"/>
|
||||
<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/>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
<field name="name_title" readonly="1"/>
|
||||
</h1>
|
||||
</div>
|
||||
<group string="原员工信息" col="4">
|
||||
<group>
|
||||
<field name="users_id" invisible="1"/>
|
||||
<field name="employee_id"/>
|
||||
<field name="yuthon_company"/>
|
||||
<field name="parent_id"/>
|
||||
|
||||
@@ -17,9 +17,26 @@
|
||||
<field name="arch" type="xml">
|
||||
<form>
|
||||
<sheet>
|
||||
<group>
|
||||
<field name="code" string="流水号" readonly="1"/>
|
||||
<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/>
|
||||
</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="users_id" readonly="1"/>
|
||||
|
||||
@@ -24,9 +24,26 @@
|
||||
<field name="arch" type="xml">
|
||||
<form>
|
||||
<sheet>
|
||||
<group>
|
||||
<field name="code" readonly="1" string="流水号:"/>
|
||||
<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/>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
<field name="name_title" readonly="1"/>
|
||||
</h1>
|
||||
</div>
|
||||
<group string="员工信息" col="4">
|
||||
<group>
|
||||
<field name="users_id" required="1"/>
|
||||
|
||||
@@ -0,0 +1,124 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<odoo>
|
||||
<record id="view_retired_approval_tree" model="ir.ui.view">
|
||||
<field name="name">retired.approval.tree</field>
|
||||
<field name="model">yuthon.retired.approval</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="退休申请">
|
||||
<field name="name"/>
|
||||
<field name="employee_id"/>
|
||||
<field name="retirement_type"/>
|
||||
<field name="treatment_choice"/>
|
||||
<field name="expected_departure_date"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_retired_approval_form" model="ir.ui.view">
|
||||
<field name="name">retired.approval.form</field>
|
||||
<field name="model">yuthon.retired.approval</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="退休申请">
|
||||
<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/>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
<field name="name_title" readonly="1"/>
|
||||
</h1>
|
||||
</div>
|
||||
<div class="oe_title">
|
||||
<label for="name"/>
|
||||
<h1>
|
||||
<field name="name"/>
|
||||
</h1>
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<group>
|
||||
<field name="users_id"/>
|
||||
<field name="reason_application"/>
|
||||
<field name="documents_ids" widget="preview_many2many"/>
|
||||
</group>
|
||||
</group>
|
||||
<group string="退休信息" col="3">
|
||||
<group>
|
||||
<field name="employee_id"/>
|
||||
<field name="department_id"/>
|
||||
<field name="retirement_type"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="phone"/>
|
||||
<field name="id_number"/>
|
||||
<field name="social_security_card"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="onboarding_time"/>
|
||||
<field name="expected_departure_date"/>
|
||||
<field name="treatment_choice"/>
|
||||
<field name="account" invisible="treatment_choice != 'pension_payment'"/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page string="工作交接">
|
||||
<field name="handover_line_ids">
|
||||
<tree editable="bottom">
|
||||
<field name="retired_id" column_invisible="1"/>
|
||||
<field name="name"/>
|
||||
<field name="employee_id"/>
|
||||
<field name="state"/>
|
||||
<field name="remake"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
<page string="资产归还">
|
||||
<field name="return_line_ids">
|
||||
<tree editable="bottom">
|
||||
<field name="retired_id" column_invisible="1"/>
|
||||
<field name="name"/>
|
||||
<field name="model"/>
|
||||
<field name="state"/>
|
||||
<field name="remake"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
<page string="办公用品">
|
||||
<field name="goods_line_ids">
|
||||
<tree editable="bottom">
|
||||
<field name="retired_id" column_invisible="1"/>
|
||||
<field name="name"/>
|
||||
<field name="number"/>
|
||||
<field name="state"/>
|
||||
<field name="remake"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_retired_approval_action" model="ir.actions.act_window">
|
||||
<field name="name">退休审批</field>
|
||||
<field name="res_model">yuthon.retired.approval</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
</odoo>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -20,9 +20,26 @@
|
||||
<field name="arch" type="xml">
|
||||
<form>
|
||||
<sheet>
|
||||
<group>
|
||||
<field name="code" readonly="1" string="流水号:"/>
|
||||
<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/>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
<field name="name_title" readonly="1"/>
|
||||
</h1>
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<field name="name"/>
|
||||
<field name="notice_documents_ids" widget="preview_many2many" string="议题附件"/>
|
||||
|
||||
@@ -19,9 +19,26 @@
|
||||
<field name="arch" type="xml">
|
||||
<form>
|
||||
<sheet>
|
||||
<group>
|
||||
<field name="code" readonly="1" string="流水号:"/>
|
||||
<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/>
|
||||
</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="users_id"/>
|
||||
|
||||
@@ -33,13 +33,29 @@
|
||||
<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/>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
<field name="name" required="1"/>
|
||||
<field name="name_title" readonly="1"/>
|
||||
</h1>
|
||||
</div>
|
||||
<group col="4">
|
||||
<group>
|
||||
<field name="name"/>
|
||||
<field name="resignation_name"/>
|
||||
<field name="subject_contract"/>
|
||||
<field name="department_id"/>
|
||||
|
||||
@@ -21,9 +21,26 @@
|
||||
<field name="arch" type="xml">
|
||||
<form>
|
||||
<sheet>
|
||||
<group>
|
||||
<field name="code" readonly="1" string="流水号:"/>
|
||||
<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/>
|
||||
</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="users_id"/>
|
||||
|
||||
@@ -8,9 +8,11 @@
|
||||
<xpath expr="//field[@name='is_notice']" position="before">
|
||||
<field name="is_issue"/>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='meeting_type_id']" position="after">
|
||||
<xpath expr="//field[@name='department_id']" position="before">
|
||||
<field name="company_page"/>
|
||||
<field name="number_of_meetings"/>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='meeting_type_id']" position="after">
|
||||
<field name="number_of_meetings"/>
|
||||
</xpath>
|
||||
<xpath expr="//page[@name='sign']" position="after">
|
||||
<page string="关联议题" invisible="is_issue == False">
|
||||
|
||||
@@ -29,6 +29,13 @@ class PropertyAccountingApproval(models.Model):
|
||||
lack = fields.Float(string="差额")
|
||||
percentage = fields.Float(string="差额百分比")
|
||||
accounting_way_ids = fields.One2many('accounting.way.line', 'accounting_id', string="关联支付方式明细行")
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
def _get_default_name_title(self):
|
||||
return self._description if self._description else self._name
|
||||
|
||||
name_title = fields.Char(default=_get_default_name_title)
|
||||
|
||||
|
||||
class AccountingWayLine(models.Model):
|
||||
|
||||
@@ -21,6 +21,13 @@ class PropertyApproval(models.Model):
|
||||
property_documents_ids = fields.Many2many('documents.document', string="附件")
|
||||
source = fields.Many2one('yuthon.property.source', string="物业来源")
|
||||
property_massage_ids = fields.One2many('property.approval.line', 'property_approval_id', string="审批信息")
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
def _get_default_name_title(self):
|
||||
return self._description if self._description else self._name
|
||||
|
||||
name_title = fields.Char(default=_get_default_name_title)
|
||||
|
||||
def put_message_in(self): # 导入按钮
|
||||
return {
|
||||
|
||||
@@ -23,6 +23,13 @@ class PropertyCapacity(models.Model):
|
||||
related_issues_id = fields.Many2one('issue.library', string="关联议题")
|
||||
is_water = fields.Boolean(string="水")
|
||||
is_electricity = fields.Boolean(string="电")
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
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('is_issues')
|
||||
def _onchange_is_issues(self):
|
||||
|
||||
@@ -29,6 +29,13 @@ class PropertyConstructionApproval(models.Model):
|
||||
contract_amount = fields.Float(string="合同金额")
|
||||
payment_methods = fields.Char(string="付款方式")
|
||||
construction_way_ids = fields.One2many('construction.way.line', 'construction_id', string="关联支付方式")
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
def _get_default_name_title(self):
|
||||
return self._description if self._description else self._name
|
||||
|
||||
name_title = fields.Char(default=_get_default_name_title)
|
||||
|
||||
|
||||
class ConstructionWayLine(models.Model):
|
||||
|
||||
@@ -19,5 +19,12 @@ class PropertyDelegatedAgent(models.Model):
|
||||
payment_date = fields.Date(string="付款日期")
|
||||
consult_fee = fields.Float(string="咨询费")
|
||||
quotations_list_id = fields.Many2one('ir.attachment', string="报价清单")
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
def _get_default_name_title(self):
|
||||
return self._description if self._description else self._name
|
||||
|
||||
name_title = fields.Char(default=_get_default_name_title)
|
||||
|
||||
|
||||
|
||||
@@ -25,6 +25,13 @@ class PropertyDesignApproval(models.Model):
|
||||
contract_amount = fields.Float(string="合同金额")
|
||||
payment_methods = fields.Char(string="付款方式")
|
||||
design_way_ids = fields.One2many('design.way.line', 'design_id', string="关联支付方式")
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
def _get_default_name_title(self):
|
||||
return self._description if self._description else self._name
|
||||
|
||||
name_title = fields.Char(default=_get_default_name_title)
|
||||
|
||||
|
||||
class DesignWayLine(models.Model):
|
||||
|
||||
@@ -27,6 +27,13 @@ class PropertyEarlyQuitting(models.Model):
|
||||
is_issues = fields.Boolean(string='是否上会')
|
||||
related_issues_id = fields.Many2one('issue.library', string="关联议题")
|
||||
reason = fields.Text(string="退租原因")
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
def _get_default_name_title(self):
|
||||
return self._description if self._description else self._name
|
||||
|
||||
name_title = fields.Char(default=_get_default_name_title)
|
||||
|
||||
def button_approval(self):
|
||||
for rec in self:
|
||||
|
||||
@@ -24,6 +24,13 @@ class PropertyEligibility(models.Model):
|
||||
reason = fields.Html(string="事由")
|
||||
notice_documents_ids = fields.Many2many('ir.attachment', string="附件")
|
||||
active = fields.Boolean('Active', default=True, tracking=True)
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
def _get_default_name_title(self):
|
||||
return self._description if self._description else self._name
|
||||
|
||||
name_title = fields.Char(default=_get_default_name_title)
|
||||
|
||||
class PropertyEligibilityLine(models.Model):
|
||||
_name = 'property.eligibility.line'
|
||||
|
||||
@@ -26,6 +26,13 @@ class PropertyEquity(models.Model):
|
||||
new_get = fields.Char(string="取得方式")
|
||||
new_equity = fields.Char(string="新产权")
|
||||
new_owner = fields.Char(string='新权属人')
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
def _get_default_name_title(self):
|
||||
return self._description if self._description else self._name
|
||||
|
||||
name_title = fields.Char(default=_get_default_name_title)
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -20,6 +20,13 @@ class PropertyEvaluateApplication(models.Model):
|
||||
notice_documents_ids = fields.Many2many('ir.attachment', string='议题附件')
|
||||
issue_library_id = fields.Many2one('issue.library', string='关联议题')
|
||||
evaluate_application_ids = fields.One2many('evaluate.application.line', 'property_message_id', string='物业信息明细行')
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
def _get_default_name_title(self):
|
||||
return self._description if self._description else self._name
|
||||
|
||||
name_title = fields.Char(default=_get_default_name_title)
|
||||
|
||||
def put_property_record(self):
|
||||
form_id = self.env.ref('yuthon_property_approval.views_property_record_form').id
|
||||
|
||||
@@ -27,4 +27,11 @@ class PropertyFitment(models.Model):
|
||||
#附件
|
||||
card_id = fields.Many2one('documents.document', string="身份证")
|
||||
license_id = fields.Many2one('documents.document', string="营业执照")
|
||||
property_documents_ids = fields.Many2many('documents.document', string="装修文件")
|
||||
property_documents_ids = fields.Many2many('documents.document', string="装修文件")
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
def _get_default_name_title(self):
|
||||
return self._description if self._description else self._name
|
||||
|
||||
name_title = fields.Char(default=_get_default_name_title)
|
||||
@@ -18,6 +18,13 @@ class PropertyHandover(models.Model):
|
||||
is_issues = fields.Boolean(string='是否上会')
|
||||
related_issues_id = fields.Many2one('issue.library', string="关联议题")
|
||||
property_handover_ids = fields.One2many('property.handover.line', 'property_handover_id', string="移交申请")
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
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('is_issues')
|
||||
def _onchange_is_issues(self):
|
||||
|
||||
@@ -24,4 +24,11 @@ class PropertyInformation(models.Model):
|
||||
address = fields.Text(string="物业地址")
|
||||
management_type = fields.Char(string="权属类型")
|
||||
property_id = fields.Char(string="物业ID")
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
def _get_default_name_title(self):
|
||||
return self._description if self._description else self._name
|
||||
|
||||
name_title = fields.Char(default=_get_default_name_title)
|
||||
|
||||
|
||||
@@ -20,6 +20,13 @@ class PropertyIntentionApproval(models.Model):
|
||||
notice_documents_ids = fields.Many2many('ir.attachment', string="附件")
|
||||
active = fields.Boolean('Active', default=True, tracking=True)
|
||||
intention_customer_ids = fields.One2many('property.intention.customer.line', 'property_intention_id', string="关联意向客户明细行")
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
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('is_issues')
|
||||
def _onchange_is_issues(self):
|
||||
|
||||
@@ -140,6 +140,13 @@ class PropertyLeaseContract(models.Model):
|
||||
confirmation_transaction_id = fields.Many2one('ir.attachment', string="成交确认书")
|
||||
responsibility_book_id = fields.Many2one('ir.attachment', string="安全生产责任书")
|
||||
handover_time = fields.Date(string="交接日期")
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
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('lessee_id')
|
||||
def _onchange_lessee_id(self):
|
||||
|
||||
@@ -27,6 +27,13 @@ class PropertyLeaseExtension(models.Model):
|
||||
reason_extension = fields.Char(string="延期原因")
|
||||
is_issues = fields.Boolean(string='是否上会')
|
||||
related_issues_id = fields.Many2one('issue.library', string="关联议题")
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
def _get_default_name_title(self):
|
||||
return self._description if self._description else self._name
|
||||
|
||||
name_title = fields.Char(default=_get_default_name_title)
|
||||
|
||||
def button_approval(self):
|
||||
for rec in self:
|
||||
|
||||
@@ -17,6 +17,13 @@ class PropertyManagement(models.Model):
|
||||
handling_opinions = fields.Text(string="经办意见")
|
||||
original_property_ids = fields.One2many('property.information', 'original_property_id', string="原物业信息")
|
||||
new_property_ids = fields.One2many('property.information.detail.lines', 'new_property_id', string="新物业信息")
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
def _get_default_name_title(self):
|
||||
return self._description if self._description else self._name
|
||||
|
||||
name_title = fields.Char(default=_get_default_name_title)
|
||||
|
||||
|
||||
class PropertyInformationDetailLines(models.Model):
|
||||
|
||||
@@ -17,6 +17,13 @@ class PropertyManagementFee(models.Model):
|
||||
default=lambda self: self.env['ir.sequence'].next_by_code('property_management_fee_code'))
|
||||
property_documents_ids = fields.Many2many('documents.document', string="管理费整理材料")
|
||||
start_date = fields.Date(string="生效日期")
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
def _get_default_name_title(self):
|
||||
return self._description if self._description else self._name
|
||||
|
||||
name_title = fields.Char(default=_get_default_name_title)
|
||||
|
||||
|
||||
#类型
|
||||
|
||||
@@ -24,6 +24,13 @@ class PropertyMergeApproval(models.Model):
|
||||
merge_rent_area = fields.Float(string='可租面积')
|
||||
merge_remarks = fields.Char(string='备注')
|
||||
is_issues = fields.Boolean(string='是否上会')
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
def _get_default_name_title(self):
|
||||
return self._description if self._description else self._name
|
||||
|
||||
name_title = fields.Char(default=_get_default_name_title)
|
||||
related_issues_id = fields.Many2one('issue.library', string="关联议题")
|
||||
|
||||
@api.onchange('property_merge_approval_line_ids')
|
||||
|
||||
@@ -24,6 +24,13 @@ class PropertyOfflineRegistration(models.Model):
|
||||
quote_message_line_ids = fields.One2many('quote.message.line', 'property_offline_registration_id', string='关联报价信息明细行')
|
||||
is_issues = fields.Boolean(string='是否上会')
|
||||
related_issues_id = fields.Many2one('issue.library', string="关联议题")
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
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('is_issues')
|
||||
def _onchange_is_issues(self):
|
||||
|
||||
@@ -15,6 +15,13 @@ class PropertyOpenRent(models.Model):
|
||||
property_documents_ids = fields.Many2many('documents.document', string="物业公开招租文件")
|
||||
rental_area = fields.Float(string="出租面积")
|
||||
upset = fields.Float(string="底价")
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
def _get_default_name_title(self):
|
||||
return self._description if self._description else self._name
|
||||
|
||||
name_title = fields.Char(default=_get_default_name_title)
|
||||
#
|
||||
#
|
||||
# class PropertyOpenRentLine(models.Model):
|
||||
|
||||
@@ -17,4 +17,11 @@ class PropertyPenaltyProportion(models.Model):
|
||||
default=lambda self: self.env['ir.sequence'].next_by_code('property_penalty_proportion_code'))
|
||||
calculate_time_point = fields.Char(string='违约金计算时间点')
|
||||
percentage_damages = fields.Float(string='违约金比例')
|
||||
date_payment = fields.Date(string='付款日期')
|
||||
date_payment = fields.Date(string='付款日期')
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
def _get_default_name_title(self):
|
||||
return self._description if self._description else self._name
|
||||
|
||||
name_title = fields.Char(default=_get_default_name_title)
|
||||
@@ -25,6 +25,13 @@ class PropertyPenaltyRelief(models.Model):
|
||||
is_issues = fields.Boolean(string='是否上会')
|
||||
related_issues_id = fields.Many2one('issue.library', string="关联议题")
|
||||
penalty_relief_line_ids = fields.One2many('property.penalty.relief.line', 'penalty_relief_id', string="违约金列表")
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
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('is_issues')
|
||||
def _onchange_is_issues(self):
|
||||
|
||||
@@ -17,4 +17,11 @@ class PropertyProjectApproval(models.Model):
|
||||
documents_id = fields.Many2one('ir.attachment', string="建议书/可研报告")
|
||||
amount = fields.Float(string="预算金额")
|
||||
start_date = fields.Date(string="开始日期")
|
||||
end_date = fields.Date(string="结束日期")
|
||||
end_date = fields.Date(string="结束日期")
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
def _get_default_name_title(self):
|
||||
return self._description if self._description else self._name
|
||||
|
||||
name_title = fields.Char(default=_get_default_name_title)
|
||||
@@ -18,4 +18,11 @@ class PropertyProjectWorks(models.Model):
|
||||
total = fields.Float(string="总金额")
|
||||
coping = fields.Float(string="应付")
|
||||
paid = fields.Float(string="已付")
|
||||
not_paid = fields.Float(string="未付")
|
||||
not_paid = fields.Float(string="未付")
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
def _get_default_name_title(self):
|
||||
return self._description if self._description else self._name
|
||||
|
||||
name_title = fields.Char(default=_get_default_name_title)
|
||||
@@ -25,6 +25,13 @@ class PropertyRecord(models.Model):
|
||||
notice_documents_ids = fields.Many2many('ir.attachment', string='议题附件')
|
||||
evaluate_application_ids = fields.One2many('evaluated.application.line', 'yuthon_property_evaluated_id',
|
||||
string='关联物业信息明细行')
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
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('is_issues')
|
||||
def _onchange_is_issues(self):
|
||||
|
||||
@@ -22,6 +22,13 @@ class PropertyReimbursementForm(models.Model):
|
||||
account_id = fields.Many2one('property.account.setting', string="账户")
|
||||
expense_line_ids = fields.One2many('property.expense.line', 'reimbursement_id', string="费用项目明细")
|
||||
physical_line_ids = fields.One2many('property.physical.line', 'reimbursement_id', string="体检费明细")
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
def _get_default_name_title(self):
|
||||
return self._description if self._description else self._name
|
||||
|
||||
name_title = fields.Char(default=_get_default_name_title)
|
||||
|
||||
def put_physical_in(self): # 导入按钮
|
||||
return {
|
||||
|
||||
@@ -20,4 +20,11 @@ class PropertyRenamed(models.Model):
|
||||
invoicing_type = fields.Selection([('spot', '专票'), ('cape', '普票')], string="开票类型")
|
||||
renamed_lessee = fields.Char(string='更名')
|
||||
renamed_fee = fields.Float(string='更名费用')
|
||||
renamed_invoicing_type = fields.Selection([('spot', '专票'), ('cape', '普票')], string="开票类型")
|
||||
renamed_invoicing_type = fields.Selection([('spot', '专票'), ('cape', '普票')], string="开票类型")
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
def _get_default_name_title(self):
|
||||
return self._description if self._description else self._name
|
||||
|
||||
name_title = fields.Char(default=_get_default_name_title)
|
||||
@@ -24,6 +24,13 @@ class PropertyRentRelief(models.Model):
|
||||
abatement_reason = fields.Text(string="减免原因")
|
||||
property_documents_ids = fields.Many2many('ir.document', string="附件")
|
||||
property_rent_relief_ids = fields.One2many('property.rent.relief.line', 'property_rent_relief_id', string="租金列表")
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
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('is_issues')
|
||||
def _onchange_is_issues(self):
|
||||
|
||||
@@ -19,6 +19,13 @@ class PropertyRentalConditions(models.Model):
|
||||
rental_adjustment_line_ids = fields.One2many('rental.adjustment.line', 'property_rental_conditions_id', string='关联出租调整')
|
||||
is_issues = fields.Boolean(string='是否上会')
|
||||
related_issues_id = fields.Many2one('issue.library', string="关联议题")
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
def _get_default_name_title(self):
|
||||
return self._description if self._description else self._name
|
||||
|
||||
name_title = fields.Char(default=_get_default_name_title)
|
||||
|
||||
class NowRentalConditionsLine(models.Model):
|
||||
_name = 'now.rental.conditions.line'
|
||||
|
||||
@@ -17,6 +17,13 @@ class PropertyRentalForm(models.Model):
|
||||
related_issues_id = fields.Many2one('issue.library', string="关联议题")
|
||||
code = fields.Char(string="编号",
|
||||
default=lambda self: self.env['ir.sequence'].next_by_code('property_rental_form_code'))
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
def _get_default_name_title(self):
|
||||
return self._description if self._description else self._name
|
||||
|
||||
name_title = fields.Char(default=_get_default_name_title)
|
||||
|
||||
|
||||
class PropertyRentalFormLine(models.Model):
|
||||
|
||||
@@ -24,6 +24,13 @@ class PropertySplitApproval(models.Model):
|
||||
notice_documents_ids = fields.Many2many('ir.attachment', string="附件")
|
||||
property_split_approval_line_ids = fields.One2many('property.split.approval.line', 'property_split_approval_id', string='关联物业拆分明细行')
|
||||
split_quantity = fields.Integer(string='拆分数量', default=2)
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
def _get_default_name_title(self):
|
||||
return self._description if self._description else self._name
|
||||
|
||||
name_title = fields.Char(default=_get_default_name_title)
|
||||
|
||||
def property_split_button(self):
|
||||
if self.split_quantity < 2:
|
||||
|
||||
@@ -18,7 +18,13 @@ class PropertySporadicWorks(models.Model):
|
||||
paid = fields.Float(string="已付")
|
||||
not_paid = fields.Float(string="未付")
|
||||
payment_methods_line_ids = fields.One2many('payment.methods.line', 'payment_methods_id', string="付款方式明细行")
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
def _get_default_name_title(self):
|
||||
return self._description if self._description else self._name
|
||||
|
||||
name_title = fields.Char(default=_get_default_name_title)
|
||||
|
||||
class PaymentMethodsLine(models.Model):
|
||||
_name = 'payment.methods.line'
|
||||
|
||||
@@ -25,7 +25,13 @@ class PropertySupervisingApproval(models.Model):
|
||||
contract_amount = fields.Float(string="合同金额")
|
||||
payment_methods = fields.Char(string="付款方式")
|
||||
supervising_way_ids = fields.One2many('supervising.way.line', 'supervising_id', string="关联支付方式")
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
def _get_default_name_title(self):
|
||||
return self._description if self._description else self._name
|
||||
|
||||
name_title = fields.Char(default=_get_default_name_title)
|
||||
|
||||
class SupervisingWayLine(models.Model):
|
||||
_name = 'supervising.way.line'
|
||||
|
||||
@@ -21,6 +21,13 @@ class PropertyTransactionConfirmed(models.Model):
|
||||
department_id = fields.Many2one(related='users_id.employee_id.department_id', string="部门")
|
||||
is_issues = fields.Boolean(string='是否上会')
|
||||
related_issues_id = fields.Many2one('issue.library', string="关联议题")
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
|
||||
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('is_issues')
|
||||
def _onchange_is_issues(self):
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user