添加功能
This commit is contained in:
@@ -9,4 +9,4 @@ class YuthonPlanApproval(models.Model):
|
||||
job_id = fields.Many2one('hr.job', string="岗位")
|
||||
reason_text = fields.Html(string='申请事由')
|
||||
|
||||
change_plan_ids = fields.One2many("yuthon.plan.management.line",'change_plan_id',string="个人计划变更明细")
|
||||
# change_plan_ids = fields.One2many("yuthon.plan.management.line",'change_plan_id',string="个人计划变更明细")
|
||||
|
||||
@@ -1,31 +1,35 @@
|
||||
|
||||
from odoo import models, fields, api, exceptions, _
|
||||
import datetime
|
||||
|
||||
class YuthonPlanManagement(models.Model):
|
||||
_name = 'yuthon.plan.management'
|
||||
_description = "计划管理"
|
||||
_description = "个人工作任务"
|
||||
_rec_name = 'name'
|
||||
|
||||
name = fields.Char('标题')
|
||||
creation_time = fields.Datetime(string='填报日期', default=lambda self: fields.Datetime.now())
|
||||
job_id = fields.Many2one('hr.job', string="岗位")
|
||||
employee_id = fields.Many2one('hr.employee', string="员工")
|
||||
department_id = fields.Many2one('hr.department', string="部门")
|
||||
plan_ids = fields.One2many('yuthon.plan.management.line','plan_id' ,'计划明细')
|
||||
select_time = fields.Selection([('January','一月'), ('February','二月'), ('March','三月'), ('April','四月'),
|
||||
('May','五月'), ('June','六月'), ('July','七月'), ('August','八月'),
|
||||
('September','九月'), ('October','十月'), ('November','十一月'), ('December','十二月')
|
||||
,('half','上半年'), ('later','下半年')],string='选择时间')
|
||||
|
||||
work_tasks_line_ids = fields.One2many('yuthon.work.tasks.line','plan_id',string='工作任务明细')
|
||||
|
||||
|
||||
class YuthonWorkTasksLine(models.Model):
|
||||
_name = 'yuthon.work.tasks.line'
|
||||
_description = "工作任务明细"
|
||||
|
||||
plan_id = fields.Many2one('yuthon.plan.management','关联个人工作任务')
|
||||
task_type = fields.Selection([('KPI','KPI'),('GS','GS')],string='任务类型')
|
||||
task_name = fields.Many2one('yuthon.index.management',string='任务名称')
|
||||
plan = fields.Char('计划安排及具体措施行动')
|
||||
goal = fields.Char('目标',help="质量、数量、成本等方面要求")
|
||||
resource_requirements = fields.Text('资源需求')
|
||||
summarize = fields.Text('完成情况总结')
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
class YuthonPlanManagementLine(models.Model):
|
||||
_name = 'yuthon.plan.management.line'
|
||||
_description = "计划管理明细"
|
||||
|
||||
plan_id = fields.Many2one('yuthon.plan.management','计划明细')
|
||||
change_plan_id = fields.Many2one('yuthon.plan.approval','个人计划变更明细')
|
||||
|
||||
index_name = fields.Char('工作任务名称')
|
||||
index_plan = fields.Char('计划安排及具体措施/行动')
|
||||
index_type = fields.Selection([('kpi', 'KPI'),
|
||||
('gs', 'GS'),
|
||||
('refused_index', '否决指标'),],'指标类别')
|
||||
expected_goals = fields.Char('预期目标')
|
||||
resource_requirements = fields.Char('资源要求')
|
||||
completion_summary = fields.Char('完成情况总结')
|
||||
|
||||
|
||||
|
||||
@@ -2,7 +2,6 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
access_yuthon_index_management,yuthon_index_management,model_yuthon_index_management,base.group_user,1,1,1,1
|
||||
access_yuthon_duty_management,yuthon_duty_management,model_yuthon_duty_management,base.group_user,1,1,1,1
|
||||
access_yuthon_plan_management,yuthon_plan_management,model_yuthon_plan_management,base.group_user,1,1,1,1
|
||||
access_yuthon_plan_management_line,yuthon_plan_management_line,model_yuthon_plan_management_line,base.group_user,1,1,1,1
|
||||
access_yuthon_index_approval,yuthon_index_approval,model_yuthon_index_approval,base.group_user,1,1,1,1
|
||||
access_yuthon_kpi_line,yuthon_kpi_line,model_yuthon_kpi_line,base.group_user,1,1,1,1
|
||||
access_yuthon_gs_line,yuthon_gs_line,model_yuthon_gs_line,base.group_user,1,1,1,1
|
||||
@@ -25,4 +24,5 @@ access_yuthon_index_employee_line,yuthon_index_employee_line,model_yuthon_index_
|
||||
access_new_index_management_line,new_index_management_line,model_new_index_management_line,base.group_user,1,1,1,1
|
||||
access_new_employee_library_line,new_employee_library_line,model_new_employee_library_line,base.group_user,1,1,1,1
|
||||
access_new_kpi_duty_approval,new_kpi_duty_approval,model_new_kpi_duty_approval,base.group_user,1,1,1,1
|
||||
access_new_gs_duty_approval,new_gs_duty_approval,model_new_gs_duty_approval,base.group_user,1,1,1,1
|
||||
access_new_gs_duty_approval,new_gs_duty_approval,model_new_gs_duty_approval,base.group_user,1,1,1,1
|
||||
access_yuthon_work_tasks_line,yuthon_work_tasks_line,model_yuthon_work_tasks_line,base.group_user,1,1,1,1
|
||||
|
@@ -1,72 +1,72 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<odoo>
|
||||
<!-- Views -->
|
||||
<record id="yuthon_plan_approval_tree" model="ir.ui.view">
|
||||
<field name="name">yuthon.plan.approval.tree</field>
|
||||
<field name="model">yuthon.plan.approval</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree>
|
||||
<field name="name"/>
|
||||
<field name="creation_time"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<!-- Form-->
|
||||
<record id="yuthon_plan_approval_form" model="ir.ui.view">
|
||||
<field name="name">yuthon.plan.approval.form</field>
|
||||
<field name="model">yuthon.plan.approval</field>
|
||||
<field name="arch" type="xml">
|
||||
<form>
|
||||
<sheet>
|
||||
<div class="oe_title">
|
||||
<label for="name"/>
|
||||
<h1>
|
||||
<field name="name"/>
|
||||
</h1>
|
||||
</div>
|
||||
<group>
|
||||
<group>
|
||||
<field name="creation_time"/>
|
||||
<field name="reason_text"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="job_id"/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page string="计划明细">
|
||||
<field name="change_plan_ids">
|
||||
<tree editable="bottom">
|
||||
<field name="plan_id"/>
|
||||
<field name="index_name"/>
|
||||
<field name="index_plan"/>
|
||||
<field name="index_type"/>
|
||||
<field name="expected_goals"/>
|
||||
<field name="resource_requirements"/>
|
||||
<field name="completion_summary"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<!-- <!– Views –>-->
|
||||
<!-- <record id="yuthon_plan_approval_tree" model="ir.ui.view">-->
|
||||
<!-- <field name="name">yuthon.plan.approval.tree</field>-->
|
||||
<!-- <field name="model">yuthon.plan.approval</field>-->
|
||||
<!-- <field name="arch" type="xml">-->
|
||||
<!-- <tree>-->
|
||||
<!-- <field name="name"/>-->
|
||||
<!-- <field name="creation_time"/>-->
|
||||
<!-- </tree>-->
|
||||
<!-- </field>-->
|
||||
<!-- </record>-->
|
||||
<!-- <!– Form–>-->
|
||||
<!-- <record id="yuthon_plan_approval_form" model="ir.ui.view">-->
|
||||
<!-- <field name="name">yuthon.plan.approval.form</field>-->
|
||||
<!-- <field name="model">yuthon.plan.approval</field>-->
|
||||
<!-- <field name="arch" type="xml">-->
|
||||
<!-- <form>-->
|
||||
<!-- <sheet>-->
|
||||
<!-- <div class="oe_title">-->
|
||||
<!-- <label for="name"/>-->
|
||||
<!-- <h1>-->
|
||||
<!-- <field name="name"/>-->
|
||||
<!-- </h1>-->
|
||||
<!-- </div>-->
|
||||
<!-- <group>-->
|
||||
<!-- <group>-->
|
||||
<!-- <field name="creation_time"/>-->
|
||||
<!-- <field name="reason_text"/>-->
|
||||
<!-- </group>-->
|
||||
<!-- <group>-->
|
||||
<!-- <field name="job_id"/>-->
|
||||
<!-- </group>-->
|
||||
<!-- </group>-->
|
||||
<!-- <notebook>-->
|
||||
<!-- <page string="计划明细">-->
|
||||
<!-- <field name="change_plan_ids">-->
|
||||
<!-- <tree editable="bottom">-->
|
||||
<!-- <field name="plan_id"/>-->
|
||||
<!-- <field name="index_name"/>-->
|
||||
<!-- <field name="index_plan"/>-->
|
||||
<!-- <field name="index_type"/>-->
|
||||
<!-- <field name="expected_goals"/>-->
|
||||
<!-- <field name="resource_requirements"/>-->
|
||||
<!-- <field name="completion_summary"/>-->
|
||||
<!-- </tree>-->
|
||||
<!-- </field>-->
|
||||
<!-- </page>-->
|
||||
<!-- </notebook>-->
|
||||
<!-- </sheet>-->
|
||||
<!-- </form>-->
|
||||
<!-- </field>-->
|
||||
<!-- </record>-->
|
||||
|
||||
<record id="yuthon_plan_approval_search" model="ir.ui.view">
|
||||
<field name="name">yuthon.plan.approval.search</field>
|
||||
<field name="model">yuthon.plan.approval</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="责任书变更查询">
|
||||
<field name="name"/>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
<!-- Action-->
|
||||
<record id="yuthon_plan_approval_action" model="ir.actions.act_window">
|
||||
<field name="name">个人计划变更</field>
|
||||
<field name="res_model">yuthon.plan.approval</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
<!-- <record id="yuthon_plan_approval_search" model="ir.ui.view">-->
|
||||
<!-- <field name="name">yuthon.plan.approval.search</field>-->
|
||||
<!-- <field name="model">yuthon.plan.approval</field>-->
|
||||
<!-- <field name="arch" type="xml">-->
|
||||
<!-- <search string="责任书变更查询">-->
|
||||
<!-- <field name="name"/>-->
|
||||
<!-- </search>-->
|
||||
<!-- </field>-->
|
||||
<!-- </record>-->
|
||||
<!-- <!– Action–>-->
|
||||
<!-- <record id="yuthon_plan_approval_action" model="ir.actions.act_window">-->
|
||||
<!-- <field name="name">个人计划变更</field>-->
|
||||
<!-- <field name="res_model">yuthon.plan.approval</field>-->
|
||||
<!-- <field name="view_mode">tree,form</field>-->
|
||||
<!-- </record>-->
|
||||
|
||||
</odoo>
|
||||
@@ -6,10 +6,7 @@
|
||||
<field name="arch" type="xml">
|
||||
<tree>
|
||||
<field name="name"/>
|
||||
<field name="department_id"/>
|
||||
<field name="job_id"/>
|
||||
<field name="employee_id"/>
|
||||
<field name="creation_time"/>
|
||||
<field name="select_time"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
@@ -27,26 +24,188 @@
|
||||
</h1>
|
||||
</div>
|
||||
<group>
|
||||
<group>
|
||||
<field name="department_id"/>
|
||||
<field name="job_id"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="employee_id"/>
|
||||
<field name="creation_time"/>
|
||||
</group>
|
||||
<field name="select_time"/>
|
||||
</group>
|
||||
<notebook>
|
||||
<page string="计划明细">
|
||||
<field name="plan_ids">
|
||||
<page string="一月计划详情" domain="[('select_time', '=', 'January')]" invisible="'select_time', '!=', 'January'">
|
||||
<field name="work_tasks_line_ids">
|
||||
<tree editable="bottom">
|
||||
<field name="plan_id"/>
|
||||
<field name="index_name"/>
|
||||
<field name="index_plan"/>
|
||||
<field name="index_type"/>
|
||||
<field name="expected_goals"/>
|
||||
<field name="plan_id" column_invisible="1"/>
|
||||
<field name="task_type"/>
|
||||
<field name="task_name"/>
|
||||
<field name="plan"/>
|
||||
<field name="goal"/>
|
||||
<field name="resource_requirements"/>
|
||||
<field name="completion_summary"/>
|
||||
<field name="summarize"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
<page string="二月计划详情" domain="[('select_time', '=', 'February')]" invisible="select_time != 'February'">
|
||||
<field name="work_tasks_line_ids">
|
||||
<tree editable="bottom">
|
||||
<field name="plan_id" column_invisible="1"/>
|
||||
<field name="task_type"/>
|
||||
<field name="task_name"/>
|
||||
<field name="plan"/>
|
||||
<field name="goal"/>
|
||||
<field name="resource_requirements"/>
|
||||
<field name="summarize"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
<page string="三月计划详情" domain="[('select_time', '=', 'March')]" invisible="select_time != 'March'">
|
||||
<field name="work_tasks_line_ids">
|
||||
<tree editable="bottom">
|
||||
<field name="plan_id" column_invisible="1"/>
|
||||
<field name="task_type"/>
|
||||
<field name="task_name"/>
|
||||
<field name="plan"/>
|
||||
<field name="goal"/>
|
||||
<field name="resource_requirements"/>
|
||||
<field name="summarize"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
<page string="四月计划详情" domain="[('select_time', '=', 'April')]" invisible="select_time != 'April'">
|
||||
<field name="work_tasks_line_ids">
|
||||
<tree editable="bottom">
|
||||
<field name="plan_id" column_invisible="1"/>
|
||||
<field name="task_type"/>
|
||||
<field name="task_name"/>
|
||||
<field name="plan"/>
|
||||
<field name="goal"/>
|
||||
<field name="resource_requirements"/>
|
||||
<field name="summarize"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
<page string="五月计划详情" domain="[('select_time', '=', 'May')]" invisible="select_time != 'May'">
|
||||
<field name="work_tasks_line_ids">
|
||||
<tree editable="bottom">
|
||||
<field name="plan_id" column_invisible="1"/>
|
||||
<field name="task_type"/>
|
||||
<field name="task_name"/>
|
||||
<field name="plan"/>
|
||||
<field name="goal"/>
|
||||
<field name="resource_requirements"/>
|
||||
<field name="summarize"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
<page string="六月计划详情" domain="[('select_time', '=', 'June')]" invisible="select_time != 'June'">
|
||||
<field name="work_tasks_line_ids">
|
||||
<tree editable="bottom">
|
||||
<field name="plan_id" column_invisible="1"/>
|
||||
<field name="task_type"/>
|
||||
<field name="task_name"/>
|
||||
<field name="plan"/>
|
||||
<field name="goal"/>
|
||||
<field name="resource_requirements"/>
|
||||
<field name="summarize"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
<page string="七月计划详情" domain="[('select_time', '=', 'July')]" invisible="select_time != 'July'">
|
||||
<field name="work_tasks_line_ids">
|
||||
<tree editable="bottom">
|
||||
<field name="plan_id" column_invisible="1"/>
|
||||
<field name="task_type"/>
|
||||
<field name="task_name"/>
|
||||
<field name="plan"/>
|
||||
<field name="goal"/>
|
||||
<field name="resource_requirements"/>
|
||||
<field name="summarize"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
<page string="八月计划详情" domain="[('select_time', '=', 'August')]" invisible="select_time != 'August'">
|
||||
<field name="work_tasks_line_ids">
|
||||
<tree editable="bottom">
|
||||
<field name="plan_id" column_invisible="1"/>
|
||||
<field name="task_type"/>
|
||||
<field name="task_name"/>
|
||||
<field name="plan"/>
|
||||
<field name="goal"/>
|
||||
<field name="resource_requirements"/>
|
||||
<field name="summarize"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
<page string="九月计划详情" domain="[('select_time', '=', 'September')]" invisible="select_time != 'September'">
|
||||
<field name="work_tasks_line_ids">
|
||||
<tree editable="bottom">
|
||||
<field name="plan_id" column_invisible="1"/>
|
||||
<field name="task_type"/>
|
||||
<field name="task_name"/>
|
||||
<field name="plan"/>
|
||||
<field name="goal"/>
|
||||
<field name="resource_requirements"/>
|
||||
<field name="summarize"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
<page string="十月计划详情" domain="[('select_time', '=', 'October')]" invisible="select_time != 'October'">
|
||||
<field name="work_tasks_line_ids">
|
||||
<tree editable="bottom">
|
||||
<field name="plan_id" column_invisible="1"/>
|
||||
<field name="task_type"/>
|
||||
<field name="task_name"/>
|
||||
<field name="plan"/>
|
||||
<field name="goal"/>
|
||||
<field name="resource_requirements"/>
|
||||
<field name="summarize"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
<page string="十一月计划详情" domain="[('select_time', '=', 'November')]" invisible="select_time != 'November'">
|
||||
<field name="work_tasks_line_ids">
|
||||
<tree editable="bottom">
|
||||
<field name="plan_id" column_invisible="1"/>
|
||||
<field name="task_type"/>
|
||||
<field name="task_name"/>
|
||||
<field name="plan"/>
|
||||
<field name="goal"/>
|
||||
<field name="resource_requirements"/>
|
||||
<field name="summarize"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
<page string="十二月计划详情" domain="[('select_time', '=', 'December')]" invisible="select_time != 'December'">
|
||||
<field name="work_tasks_line_ids">
|
||||
<tree editable="bottom">
|
||||
<field name="plan_id" column_invisible="1"/>
|
||||
<field name="task_type"/>
|
||||
<field name="task_name"/>
|
||||
<field name="plan"/>
|
||||
<field name="goal"/>
|
||||
<field name="resource_requirements"/>
|
||||
<field name="summarize"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
<page string="上半年计划详情" domain="[('select_time', '=', 'half')]" invisible="select_time != 'half'">
|
||||
<field name="work_tasks_line_ids">
|
||||
<tree editable="bottom">
|
||||
<field name="plan_id" column_invisible="1"/>
|
||||
<field name="task_type"/>
|
||||
<field name="task_name"/>
|
||||
<field name="plan"/>
|
||||
<field name="goal"/>
|
||||
<field name="resource_requirements"/>
|
||||
<field name="summarize"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
<page string="下半年计划详情" domain="[('select_time', '=', 'later')]" invisible="select_time != 'later'">
|
||||
<field name="work_tasks_line_ids">
|
||||
<tree editable="bottom">
|
||||
<field name="plan_id" column_invisible="1"/>
|
||||
<field name="task_type"/>
|
||||
<field name="task_name"/>
|
||||
<field name="plan"/>
|
||||
<field name="goal"/>
|
||||
<field name="resource_requirements"/>
|
||||
<field name="summarize"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
@@ -55,23 +214,9 @@
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="yuthon_plan_management_search" model="ir.ui.view">
|
||||
<field name="name">yuthon.plan.management.search</field>
|
||||
<field name="model">yuthon.plan.management</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="计划查询">
|
||||
<field name="department_id"/>
|
||||
<field name="employee_id"/>
|
||||
<field name="job_id"/>
|
||||
<field name="creation_time"/>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Action-->
|
||||
<record id="yuthon_plan_management_action" model="ir.actions.act_window">
|
||||
<field name="name">计划管理</field>
|
||||
<field name="name">个人工作任务</field>
|
||||
<field name="res_model">yuthon.plan.management</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
|
||||
Reference in New Issue
Block a user