# -*- coding: utf-8 -*- from odoo import api, fields, models, tools, _ from datetime import datetime, time, timedelta class GoApprovals(models.Model): _name = 'go.approval' _description = "外出审批" # _inherit = ['mail.thread.main.attachment', 'mail.activity.mixin', 'soong.workflow.mixin'] _inherit = ['mail.thread.main.attachment', 'mail.activity.mixin','soong.workflow.mixin'] _rec_name = 'name' company_page = fields.Selection([('tz', '天河投资'), ('wg', '天河物管'), ('lc', '天河粮储')], string="公司") name = fields.Char(string="名称") code = fields.Char(string="编号", default=lambda self: self.env['ir.sequence'].next_by_code('overtime_approval')) users_id = fields.Many2one('res.users', string="申请人",default=lambda self: self.env.user.id) department_id = fields.Many2one('hr.department', string="部门") go_approval_ids = fields.One2many('go.approvals.line', 'go_approval_id', string="外出详情") # @api.depends('date_start', 'date_end') # def _compute_leave_days(self): # for record in self: # if record.date_start and record.date_end: # start_date = fields.Datetime.from_string(record.date_start) # end_date = fields.Datetime.from_string(record.date_end) # duration = end_date - start_date # record.leave_days = duration.days # else: # record.leave_days = 0 # # def go_approval(self): # pass class GoApprovalsLine(models.Model): _name = 'go.approvals.line' _description = "外出人明细" go_approval_id = fields.Many2one('go.approval', string="关联外出申请") overtime_people = fields.Many2one('hr.employee',string="外出人") reason_application = fields.Char(string="事由") documents_ids = fields.Many2many('documents.document', string="附件") date_start = fields.Datetime(string="开始时间") date_end = fields.Datetime(string="结束时间")