添加功能
This commit is contained in:
@@ -22,7 +22,7 @@ class SoongApprovalUsers(models.Model):
|
||||
res_model = fields.Char('Workflow Ref Model', index=True, related='res_model_id.model', precompute=True, store=True, readonly=True)
|
||||
res_id = fields.Many2oneReference(string='Workflow Ref.', index=True, model_field='res_model')
|
||||
approval_user_id = fields.Many2one('res.users', string='审批人')
|
||||
approval_user = fields.Many2one('soong.user.role', string='审批角色')
|
||||
approval_user = fields.Many2one('soong.user.role', string='审批角色', domain=[('user_type', '!=', 'lv_role')])
|
||||
approval_user_datetime = fields.Datetime(string='审批时间')
|
||||
approval_user_notice = fields.Char(string='审批意见')
|
||||
approval_user_state = fields.Selection([('will', '待审批')], string='状态')
|
||||
|
||||
@@ -8,6 +8,6 @@ class YuthonHrEmployee(models.Model):
|
||||
"""
|
||||
_inherit = "hr.employee"
|
||||
|
||||
user_role_id = fields.Many2one('soong.user.role', string="主角色", store=True)
|
||||
user_role_ids = fields.Many2many('soong.user.role', string="辅助角色", store=True)
|
||||
user_role_id = fields.Many2one('soong.user.role', string="主角色", store=True, domain=[('user_type', '!=', 'lv_role')])
|
||||
user_role_ids = fields.Many2many('soong.user.role', string="辅助角色", store=True, domain=[('user_type', '!=', 'lv_role')])
|
||||
department_ids = fields.Many2many('hr.department', string="辅助部门", store=True)
|
||||
@@ -6,4 +6,4 @@ class SoongNoteSetting(models.Model):
|
||||
_name = 'soong.note.setting'
|
||||
|
||||
name = fields.Char(string="名称")
|
||||
users_role_ids = fields.Many2many('soong.user.role', string='角色范围')
|
||||
users_role_ids = fields.Many2many('soong.user.role', string='角色范围', domain=[('user_type', '!=', 'lv_role')])
|
||||
@@ -52,7 +52,7 @@ class SoongWorkflow(models.Model):
|
||||
is_enable_transmitted_button = fields.Boolean(string="是否启用转交", default=True)
|
||||
approvals_group_id = fields.Many2one('soong.approval.group', string="审批分组")
|
||||
user_role_ids = fields.Many2many('soong.user.role', string="角色", store=True,
|
||||
default=lambda self: [(6, 0, [self.env.ref('soong_workflow.soong_user_role_workflow_admin').id])])
|
||||
default=lambda self: [(6, 0, [self.env.ref('soong_workflow.soong_user_role_workflow_admin').id])], domain=[('user_type', '!=', 'lv_role')])
|
||||
|
||||
def copy(self, default=None):
|
||||
workflow_id = self.search([('model_id', '=', self.model_id.id)])
|
||||
|
||||
@@ -252,7 +252,7 @@ class SoongWorkflowNodeButton(models.Model):
|
||||
)
|
||||
reviewer_id = fields.Many2one(comodel_name="res.users", string="Reviewer")
|
||||
reviewer_group_id = fields.Many2one(comodel_name="res.groups", string="Reviewer group")
|
||||
users_role_id = fields.Many2one(comodel_name="soong.user.role", string="主角色")
|
||||
users_role_id = fields.Many2one(comodel_name="soong.user.role", string="主角色", domain=[('user_type', '!=', 'lv_role')])
|
||||
reviewer_expression = fields.Text(
|
||||
string="Review Expression",
|
||||
default=CONDITION_CODE_TEMP,
|
||||
|
||||
@@ -22,16 +22,26 @@
|
||||
<field name="check_out" optional="show" widget="time"/>
|
||||
<button name="button_leave" type="object" string="请假" class="oe_highlight"/>
|
||||
<button name="button_compensatory_leave" type="object" string="调休" class="oe_highlight"/>
|
||||
<button name="hr_attendance_time" type="object" string="cs"/>
|
||||
<button name="button_abnormal_approval" type="object" string="异常提醒" class="oe_highlight" column_invisible="not is_abnormal"/>
|
||||
<button name="button_card_approval" type="object" string="补卡" class="oe_highlight" column_invisible="not is_no_card"/>
|
||||
<!-- <field name="down_card_location" optional="show"/>-->
|
||||
<!-- <field name="out_card_time" optional="show"/>-->
|
||||
<!-- <field name="out_card_location" optional="show"/>-->
|
||||
<!-- <field name="work_hours" optional="show"/>-->
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<!-- <record id="view_calendar_attendance_event_calendar" model="ir.ui.view">-->
|
||||
<!-- <field name="name">hr.attendance.calendar</field>-->
|
||||
<!-- <field name="model">hr.attendance</field>-->
|
||||
<!-- <field name="priority" eval="2"/>-->
|
||||
<!-- <field name="arch" type="xml">-->
|
||||
<!-- <calendar string="日程"-->
|
||||
<!-- date_start="start_time"-->
|
||||
<!-- date_stop="end_time"-->
|
||||
<!-- event_open_popup="true"-->
|
||||
<!-- event_limit="5"-->
|
||||
<!-- quick_create="false"-->
|
||||
<!-- quick_create_view_id="%(yuthon_will_task.view_yuthon_will_task_form)d">-->
|
||||
<!-- </calendar>-->
|
||||
<!-- </field>-->
|
||||
<!-- </record>-->
|
||||
<!-- Actions -->
|
||||
<record id="view_attendance_going_action" model="ir.actions.act_window">
|
||||
<field name="name">出勤</field>
|
||||
|
||||
@@ -9,7 +9,7 @@ class AttendanceIotManagerWizard(models.TransientModel):
|
||||
attendance_iot_id = fields.Many2one('attendance.iot', string="设备号")
|
||||
department_ids = fields.Many2many('hr.department', string='部门范围')
|
||||
employee_ids = fields.Many2many('hr.employee', string='人员范围')
|
||||
users_role_ids = fields.Many2many('soong.user.role', string='角色范围')
|
||||
users_role_ids = fields.Many2many('soong.user.role', string='角色范围', domain=[('user_type', '!=', 'lv_role')])
|
||||
iot_users_ids = fields.Many2many('res.users', string="人员", compute="compute_iot_users_ids", store=True)
|
||||
|
||||
@api.depends('department_ids', 'employee_ids', 'users_role_ids')
|
||||
|
||||
@@ -38,7 +38,7 @@ class IssueLibrary(models.Model):
|
||||
department_id = fields.Many2one('hr.department', string='部门', related='employee_id.department_id')
|
||||
yuthon_company = fields.Selection([('thtz', '天河投资集团'), ('thwg', '天河物管'),
|
||||
('thlc', '天河粮储')], string="所属公司", related='employee_id.yuthon_company')
|
||||
users_role_ids = fields.Many2many('soong.user.role', string='角色范围', related='employee_id.user_role_ids')
|
||||
users_role_ids = fields.Many2many('soong.user.role', string='角色范围', related='employee_id.user_role_ids', domain=[('user_type', '!=', 'lv_role')])
|
||||
approval_name = fields.Char(string="审批标题")
|
||||
meeting_place = fields.Char(string="会议地点")
|
||||
meeting_name = fields.Char(string="会议名称")
|
||||
|
||||
@@ -15,7 +15,7 @@ class YuthonLesseeNotice(models.Model):
|
||||
department_id = fields.Many2one(related='user_id.employee_id.department_id', string="部门")
|
||||
department_ids = fields.Many2many('hr.department', string='部门范围')
|
||||
employee_ids = fields.Many2many('hr.employee', string='人员范围')
|
||||
users_role_ids = fields.Many2many('soong.user.role', string='角色范围')
|
||||
users_role_ids = fields.Many2many('soong.user.role', string='角色范围', domain=[('user_type', '!=', 'lv_role')])
|
||||
company_page = fields.Selection([('tz', '天河投资'), ('wg', '天河物管'), ('lc', '天河粮储')], string="公司", compute="_compute_company", store=True)
|
||||
notice_type_id = fields.Many2one('yuthon.notice.type', string="类型")
|
||||
create_date = fields.Date(string="发布日期")
|
||||
|
||||
@@ -23,7 +23,7 @@ class YuthonOfficial(models.Model):
|
||||
copy_flats = fields.Char(string="抄送")
|
||||
department_ids = fields.Many2many('hr.department', string='部门范围')
|
||||
employee_ids = fields.Many2many('hr.employee', string='人员范围')
|
||||
users_role_ids = fields.Many2many('soong.user.role', string='角色范围')
|
||||
users_role_ids = fields.Many2many('soong.user.role', string='角色范围', domain=[('user_type', '!=', 'lv_role')])
|
||||
servings_number = fields.Integer(string="份数")
|
||||
urgency = fields.Selection([('normal', '一般'), ('urgent', '紧急'), ('extra_urgent', '特急')], string="紧急程度")
|
||||
secret_level = fields.Selection([('normal', '一般'), ('urgent', '秘密'), ('secret', '机密'), ('so_secret', '绝密')], string="密级")
|
||||
|
||||
@@ -25,11 +25,9 @@
|
||||
<group string="行政信息">
|
||||
<group col="2">
|
||||
<field name="reference_cold"/>
|
||||
<field name="major_event_category"/>
|
||||
<field name="urgency"/>
|
||||
<field name="secret_level"/>
|
||||
<field name="time_date"/>
|
||||
<field name="official_statu"/>
|
||||
<field name="is_issues"/>
|
||||
<field name="related_issues_id" invisible="not is_issues"/>
|
||||
</group>
|
||||
|
||||
@@ -18,6 +18,8 @@
|
||||
'views/yuthon_duty_management.xml',
|
||||
'views/yuthon_performance_menus.xml',
|
||||
'views/yuthon_plan_management.xml',
|
||||
'views/yuthon_departmental_responsible_views.xml',
|
||||
'views/yuthon_personal_logs_views.xml',
|
||||
'views/yuthon_Index_approval.xml',
|
||||
'views/yuthon_tissue_duty_approval.xml',
|
||||
'views/yuthon_index_employee.xml',
|
||||
|
||||
@@ -12,3 +12,5 @@ from . import yuthon_employee_performance
|
||||
from . import yuthon_grading_tasks
|
||||
from . import yuthon_kpi_tasks
|
||||
from . import yuthon_employee_appraisal
|
||||
from . import yuthon_departmental_responsible
|
||||
from . import yuthon_personal_logs
|
||||
@@ -62,7 +62,7 @@ class NewIndexManagement(models.Model):
|
||||
('two_index', '双向指标'), ], '计算类别')
|
||||
new_check_norm = fields.Char('考核标准', required=True)
|
||||
new_department_ids = fields.Many2many("hr.department", string="指标来源", required=True)
|
||||
new_in_charge_role_id = fields.Many2one('soong.user.role', string='角色')
|
||||
new_in_charge_role_id = fields.Many2one('soong.user.role', string='角色', domain=[('user_type', '!=', 'lv_role')])
|
||||
new_employee_ids = fields.Many2many('hr.employee', string="人员")
|
||||
new_start_index_time = fields.Date(string='生效时间', required=True)
|
||||
new_end_index_time = fields.Date(string='失效时间')
|
||||
|
||||
@@ -13,7 +13,7 @@ class YuthonIndexManagement(models.Model):
|
||||
index_definition = fields.Text('指标定义')
|
||||
index_type = fields.Selection([('kpi', 'KPI'),
|
||||
('gs', 'GS'), ('no', '否决指标')],'指标类别')
|
||||
index_compute = fields.Char('指标计算公式')
|
||||
index_compute = fields.Text('指标计算公式')
|
||||
compute_type = fields.Selection([('bad_index', '反向指标'),
|
||||
('good_index', '正向指标'),
|
||||
('two_index', '双向指标'),],'计算类别')
|
||||
@@ -21,7 +21,7 @@ class YuthonIndexManagement(models.Model):
|
||||
yuthon_company = fields.Selection([('thtz', '集团本部'), ('thwg', '天河物管'),
|
||||
('thlc', '天河粮储')], string="所属公司")
|
||||
department_ids = fields.Many2many("hr.department", string="指标来源")
|
||||
in_charge_role_id = fields.Many2one('soong.user.role', string='角色')
|
||||
in_charge_role_id = fields.Many2one('soong.user.role', string='角色', domain=[('user_type', '!=', 'lv_role')])
|
||||
employee_ids = fields.Many2many('hr.employee', string='人员范围')
|
||||
start_index_time = fields.Date(string='生效时间', default=fields.Date.today())
|
||||
end_index_time = fields.Date(string='失效时间')
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
from odoo import models, fields, api, exceptions, _
|
||||
|
||||
|
||||
class YuthonDepartmentalResponsible(models.Model):
|
||||
_name = 'yuthon.departmental.responsible'
|
||||
_description = '本部门责任书'
|
||||
|
||||
|
||||
name = fields.Char(string='责任书名称')
|
||||
@@ -1,10 +1,12 @@
|
||||
from odoo import models, fields, api, exceptions, _
|
||||
from datetime import datetime
|
||||
import datetime
|
||||
|
||||
|
||||
class YuthonDutyManagement(models.Model):
|
||||
_name = 'yuthon.duty.management'
|
||||
_description = "组织绩效"
|
||||
_rec_name = 'name'
|
||||
_inherit = ['soong.workflow.mixin']
|
||||
|
||||
name = fields.Char('标题')
|
||||
cycle = fields.Selection([('monthly', '月度'),
|
||||
@@ -12,13 +14,18 @@ class YuthonDutyManagement(models.Model):
|
||||
('up_half', '上半年'),
|
||||
('down_half', '下半年'),
|
||||
('year', '年度'), ], '周期', required=True)
|
||||
select_time = fields.Selection([('January', '一月'), ('February', '二月'), ('March', '三月'), ('April', '四月'),
|
||||
('May', '五月'), ('June', '六月'), ('July', '七月'), ('July', '八月'),
|
||||
('September', '九月'), ('October', '十月'), ('November', '十一月'), ('December', '十二月')
|
||||
, ('half', '上半年'), ('later', '下半年'), ('year', '年度')], string='月份',
|
||||
default=lambda self: self._get_default_month())
|
||||
select_quarter = fields.Selection([('one', '第一季度'), ('two', '第二季度'), ('three', '第三季度'), ('four', '第四季度')]
|
||||
, string='季度')
|
||||
yuthon_company = fields.Selection([('thtz', '集团本部'), ('thwg', '天河物管'),
|
||||
('thlc', '天河粮储')], string="所属公司")
|
||||
department_id = fields.Many2one("hr.department", string="部门", required=True)
|
||||
department_id = fields.Many2one("hr.department", string="被考核部门", required=True)
|
||||
start_index_time = fields.Date('指标生效时间')
|
||||
end_index_time = fields.Date('指标失效时间')
|
||||
users_role_ids = fields.Many2many('soong.user.role', string='被考核角色')
|
||||
users_ids = fields.Many2many('hr.employee', string='被考核人员')
|
||||
total_weights = fields.Float('总权重')
|
||||
# 绩效考核
|
||||
performance_kpi_ids = fields.One2many('yuthon.kpi.line', 'performance_kpi_id', string="KPI")
|
||||
@@ -45,16 +52,35 @@ class YuthonDutyManagement(models.Model):
|
||||
})
|
||||
return performance_records
|
||||
|
||||
@api.model
|
||||
def _get_default_month(self):
|
||||
current_month = datetime.datetime.now().strftime("%B")
|
||||
month_mapping_cn = {
|
||||
"一月": "January",
|
||||
"二月": "February",
|
||||
"三月": "March",
|
||||
"四月": "April",
|
||||
"五月": "May",
|
||||
"六月": "June",
|
||||
"七月": "July",
|
||||
"八月": "August",
|
||||
"九月": "September",
|
||||
"十月": "October",
|
||||
"十一月": "November",
|
||||
"十二月": "December",
|
||||
}
|
||||
return month_mapping_cn.get(current_month)
|
||||
|
||||
@api.model
|
||||
def _get_assessment_time_options(self):
|
||||
current_year = int(self.assessment_time) if self.assessment_time else datetime.now().year
|
||||
current_year = int(self.assessment_time) if self.assessment_time else datetime.datetime.now().year
|
||||
return [(str(year), str(year)) for year in range(current_year, current_year + 2)]
|
||||
|
||||
assessment_time = fields.Selection(
|
||||
selection='_get_assessment_time_options',
|
||||
string='考核时间',
|
||||
string='考核周期',
|
||||
required=True,
|
||||
default=lambda self: str(datetime.now().year)
|
||||
default=lambda self: str(datetime.datetime.now().year)
|
||||
)
|
||||
|
||||
@api.model
|
||||
|
||||
@@ -20,7 +20,7 @@ class YuthonEmployeeApproval(models.Model):
|
||||
|
||||
change_employee_library_ids = fields.One2many("yuthon.index.employee",'change_employee_library_id',string="员工指标库库变更明细")
|
||||
new_change_employee_library_ids = fields.One2many("new.employee.library.line",'new_change_employee_library_id',string="新员工指标库变更明细")
|
||||
users_role_ids = fields.Many2many('soong.user.role', string='被考核角色')
|
||||
users_role_ids = fields.Many2many('soong.user.role', string='被考核角色', domain=[('user_type', '!=', 'lv_role')])
|
||||
|
||||
@api.onchange('change_employee_library_ids')
|
||||
def _onchange_change_employee_library_ids(self):
|
||||
@@ -43,7 +43,7 @@ class NewEmployeeLibraryLine(models.Model):
|
||||
|
||||
|
||||
new_change_employee_library_id = fields.Many2one('yuthon.employee.approval', string='关联员工指标库变更')
|
||||
new_users_role_ids = fields.Many2many('soong.user.role', string='角色')
|
||||
new_users_role_ids = fields.Many2many('soong.user.role', string='角色', domain=[('user_type', '!=', 'lv_role')])
|
||||
new_department_ids = fields.Many2many('hr.department', string='部门')
|
||||
new_employee_ids = fields.Many2many('hr.employee', string='人员')
|
||||
new_dimension = fields.Char('评价维度', required=True)
|
||||
|
||||
@@ -64,7 +64,7 @@ class YuthonRoleDetailLines(models.Model):
|
||||
|
||||
role_id = fields.Many2one('yuthon.employee.performance', string="关联员工绩效(考核任务)")
|
||||
organization_id = fields.Many2one('yuthon.duty.management', string='组织绩效考核角色明细行')
|
||||
in_charge_role_id = fields.Many2one('soong.user.role', string='角色')
|
||||
in_charge_role_id = fields.Many2one('soong.user.role', string='角色', domain=[('user_type', '!=', 'lv_role')])
|
||||
employee_ids = fields.Many2many('hr.employee', string='人员', compute='_compute_employee_ids', store=True)
|
||||
weight = fields.Float(string="权重" )
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ class YuthonIndexEmployee(models.Model):
|
||||
score_range_on = fields.Float(string='分值范围')
|
||||
score_range_off = fields.Float(string='分值范围')
|
||||
description_score = fields.Text(string='分值说明')
|
||||
in_charge_role_id = fields.Many2one('soong.user.role', string='角色')
|
||||
in_charge_role_id = fields.Many2one('soong.user.role', string='角色', domain=[('user_type', '!=', 'lv_role')])
|
||||
employee_ids = fields.Many2many('hr.employee', string='人员范围')
|
||||
department_ids = fields.Many2many('hr.department', string='部门')
|
||||
yuthon_company = fields.Selection([('thtz', '集团本部'), ('thwg', '天河物管'),
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
from odoo import models, fields, api, exceptions, _
|
||||
|
||||
|
||||
class YuthonPersonalLogs(models.Model):
|
||||
_name = 'yuthon.personal.logs'
|
||||
_description = '个人日志表'
|
||||
|
||||
name = fields.Char(string='标题', required=True)
|
||||
matters = fields.Text(string='事项')
|
||||
time = fields.Datetime(string='时间')
|
||||
comprehensive_exchange = fields.Text(string='当月总汇')
|
||||
@@ -1,16 +1,17 @@
|
||||
from odoo import models, fields, api, exceptions, _
|
||||
import datetime
|
||||
|
||||
|
||||
class YuthonPlanManagement(models.Model):
|
||||
_name = 'yuthon.plan.management'
|
||||
_description = "个人工作任务"
|
||||
_rec_name = 'name'
|
||||
|
||||
name = fields.Char('标题')
|
||||
select_time = fields.Selection([('January','一月'), ('February','二月'), ('March','三月'), ('April','四月'),
|
||||
('May','五月'), ('June','六月'), ('July','七月'), ('August','八月'),
|
||||
('September','九月'), ('October','十月'), ('November','十一月'), ('December','十二月')
|
||||
,('half','上半年'), ('later','下半年')],string='选择时间')
|
||||
select_time = fields.Selection([('January', '一月'), ('February', '二月'), ('March', '三月'), ('April', '四月'),
|
||||
('May', '五月'), ('June', '六月'), ('July', '七月'), ('July', '八月'),
|
||||
('September', '九月'), ('October', '十月'), ('November', '十一月'), ('December', '十二月')
|
||||
,('half', '上半年'), ('later', '下半年'), ('year', '年度')], string='选择时间', default=lambda self: self._get_default_month())
|
||||
yuthon_company = fields.Selection([('thtz', '集团本部'), ('thwg', '天河物管'),
|
||||
('thlc', '天河粮储')], string="所属公司")
|
||||
work_tasks_line_ids = fields.One2many('yuthon.work.tasks.line','plan_id',string='工作任务明细')
|
||||
@@ -27,16 +28,34 @@ class YuthonPlanManagement(models.Model):
|
||||
}))
|
||||
self.plan_management_ids = index_list
|
||||
|
||||
@api.model
|
||||
def _get_default_month(self):
|
||||
current_month = datetime.datetime.now().strftime("%B") # 获取当前月份的英文名称
|
||||
month_mapping_cn = {
|
||||
"一月": "January",
|
||||
"二月": "February",
|
||||
"三月": "March",
|
||||
"四月": "April",
|
||||
"五月": "May",
|
||||
"六月": "June",
|
||||
"七月": "July",
|
||||
"八月": "August",
|
||||
"九月": "September",
|
||||
"十月": "October",
|
||||
"十一月": "November",
|
||||
"十二月": "December",
|
||||
}
|
||||
return month_mapping_cn.get(current_month)
|
||||
|
||||
class YuthonWorkTasksLine(models.Model):
|
||||
_name = 'yuthon.work.tasks.line'
|
||||
_description = "工作任务明细"
|
||||
|
||||
plan_id = fields.Many2one('yuthon.plan.management','关联个人工作任务')
|
||||
select_time = fields.Selection(related='plan_id.select_time',string='选择时间')
|
||||
task_type = fields.Selection([('kpi', 'KPI'),
|
||||
('gs', 'GS'), ('no', '否决指标')],string='任务类型')
|
||||
task_name = fields.Many2one('yuthon.index.management',string='任务名称')
|
||||
plan = fields.Char('计划安排及具体措施行动')
|
||||
task_type = fields.Selection(related='task_id.index_type',string='任务类型')
|
||||
task_id = fields.Many2one('yuthon.index.management',string='任务名称')
|
||||
plan = fields.Char(related='task_id.compute_act',string='计划安排及具体措施行动')
|
||||
goal = fields.Text('目标',help="质量、数量、成本等方面要求")
|
||||
resource_requirements = fields.Text('资源需求')
|
||||
summarize = fields.Text('完成情况总结')
|
||||
@@ -47,7 +66,9 @@ class YuthonPlanManagementLine(models.Model):
|
||||
_description = "个人工作任务明细"
|
||||
|
||||
plan_id = fields.Many2one('yuthon.plan.management', '关联个人工作任务')
|
||||
task_type = fields.Selection([('kpi', 'KPI'),
|
||||
select_time = fields.Selection(related='plan_id.select_time', string='选择时间')
|
||||
sequence = fields.Integer('序号')
|
||||
tasks_type = fields.Selection([('kpi', 'KPI'),
|
||||
('gs', 'GS'), ('no', '否决指标')], string='任务类型')
|
||||
goal = fields.Text('目标', help="质量、数量、成本等方面要求")
|
||||
|
||||
|
||||
@@ -26,3 +26,5 @@ access_new_kpi_duty_approval,new_kpi_duty_approval,model_new_kpi_duty_approval,b
|
||||
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
|
||||
access_yuthon_plan_management_line,yuthon_plan_management_line,model_yuthon_plan_management_line,base.group_user,1,1,1,1
|
||||
access_yuthon_personal_logs,yuthon_personal_logs,model_yuthon_personal_logs,base.group_user,1,1,1,1
|
||||
access_yuthon_departmental_responsible,yuthon_departmental_responsible,model_yuthon_departmental_responsible,base.group_user,1,1,1,1
|
||||
|
||||
|
@@ -0,0 +1,49 @@
|
||||
<!--<?xml version="1.0" encoding="utf-8"?>-->
|
||||
<!--<odoo>-->
|
||||
<!-- <data>-->
|
||||
<!-- <record id="module_category_yuthon_performance" model="ir.module.category">-->
|
||||
<!-- <field name="name">绩效权限</field>-->
|
||||
<!-- </record>-->
|
||||
<!-- <record id="group_yuthon_performance_tt_user" model="res.groups">-->
|
||||
<!-- <field name="name">天投绩效用户</field>-->
|
||||
<!-- <field name="category_id" ref="module_category_yuthon_performance"/>-->
|
||||
<!-- </record>-->
|
||||
<!-- <record id="group_yuthon_performance_tt_manager" model="res.groups">-->
|
||||
<!-- <field name="name">天投绩效管理员</field>-->
|
||||
<!-- <field name="category_id" ref="module_category_soong_workflow"/>-->
|
||||
<!-- <field name="implied_ids" eval="[(4, ref('group_yuthon_performance_tt_user'))]"/>-->
|
||||
<!-- <field name="users" eval="[(4, ref('base.user_admin'))]"/>-->
|
||||
<!-- </record>-->
|
||||
<!-- <record id="group_yuthon_performance_lc_user" model="res.groups">-->
|
||||
<!-- <field name="name">粮储绩效用户</field>-->
|
||||
<!-- <field name="category_id" ref="module_category_yuthon_performance"/>-->
|
||||
<!-- </record>-->
|
||||
<!-- <record id="group_yuthon_performance_lc_manager" model="res.groups">-->
|
||||
<!-- <field name="name">粮储绩效管理员</field>-->
|
||||
<!-- <field name="category_id" ref="module_category_soong_workflow"/>-->
|
||||
<!-- <field name="implied_ids" eval="[(4, ref('group_yuthon_performance_lc_user'))]"/>-->
|
||||
<!-- <field name="users" eval="[(4, ref('base.user_admin'))]"/>-->
|
||||
<!-- </record>-->
|
||||
<!-- <record id="group_yuthon_performance_wg_user" model="res.groups">-->
|
||||
<!-- <field name="name">物管绩效用户</field>-->
|
||||
<!-- <field name="category_id" ref="module_category_yuthon_performance"/>-->
|
||||
<!-- </record>-->
|
||||
<!-- <record id="group_yuthon_performance_wg_manager" model="res.groups">-->
|
||||
<!-- <field name="name">物管绩效管理员</field>-->
|
||||
<!-- <field name="category_id" ref="module_category_yuthon_performance"/>-->
|
||||
<!-- <field name="implied_ids" eval="[(4, ref('group_yuthon_performance_wg_user'))]"/>-->
|
||||
<!-- <field name="users" eval="[(4, ref('base.user_admin'))]"/>-->
|
||||
<!-- </record>-->
|
||||
<!-- <!– Manager组的记录规则,允许查看所有数据 –>-->
|
||||
<!-- <record id="rule_yuthon_performance_manager" model="ir.rule">-->
|
||||
<!-- <field name="name">Manager: 访问所有数据</field>-->
|
||||
<!-- <field name="model_id" ref="model_soong_workflow"/>-->
|
||||
<!-- <field name="groups" eval="[(4, ref('group_soong_workflow_manager'))]"/>-->
|
||||
<!-- <field name="domain_force">[(1,'=',1)]</field>-->
|
||||
<!-- <field name="perm_read" eval="True"/>-->
|
||||
<!-- <field name="perm_write" eval="True"/>-->
|
||||
<!-- <field name="perm_create" eval="True"/>-->
|
||||
<!-- <field name="perm_unlink" eval="True"/>-->
|
||||
<!-- </record>-->
|
||||
<!-- </data>-->
|
||||
<!--</odoo>-->
|
||||
@@ -43,14 +43,13 @@
|
||||
<group col="4">
|
||||
<group>
|
||||
<field name="sequence"/>
|
||||
<field name="employee_ids" widget="many2many_tags"/>
|
||||
<field name="dimension"/>
|
||||
<field name="index_type"/>
|
||||
<field name="check_norm"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="compute_type"/>
|
||||
<field name="department_ids" widget="many2many_tags"/>
|
||||
<field name="employee_ids" widget="many2many_tags"/>
|
||||
<field name="index_type"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="yuthon_company"/>
|
||||
@@ -59,11 +58,12 @@
|
||||
</group>
|
||||
<group>
|
||||
<field name="end_index_time"/>
|
||||
<field name="index_compute"/>
|
||||
<field name="development_goals"/>
|
||||
</group>
|
||||
</group>
|
||||
</group>
|
||||
<group>
|
||||
<field name="index_compute"/>
|
||||
<field name="check_norm"/>
|
||||
<field name="index_definition"/>
|
||||
</group>
|
||||
</sheet>
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
<odoo>
|
||||
<!-- Views -->
|
||||
<record id ="view_yuthon_departmental_responsible_tree" model="ir.ui.view">
|
||||
<field name="name">yuthon.departmental.responsible.tree</field>
|
||||
<field name="model">yuthon.departmental.responsible</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="本部门责任书">
|
||||
<field name="name"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<record id ="view_yuthon_departmental_responsible_form" model="ir.ui.view">
|
||||
<field name="name">yuthon.departmental.responsible.form</field>
|
||||
<field name="model">yuthon.departmental.responsible</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="本部门责任书">
|
||||
<sheet>
|
||||
<group>
|
||||
<field name="name"/>
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<record id="action_yuthon_departmental_responsible" model="ir.actions.act_window">
|
||||
<field name="name">本部门责任书</field>
|
||||
<field name="res_model">yuthon.departmental.responsible</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
</odoo>
|
||||
@@ -14,7 +14,6 @@
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="yuthon_duty_management_form" model="ir.ui.view">
|
||||
<field name="name">yuthon.duty.management.form</field>
|
||||
<field name="model">yuthon.duty.management</field>
|
||||
@@ -31,17 +30,16 @@
|
||||
<group>
|
||||
<field name="yuthon_company"/>
|
||||
<field name="department_id"/>
|
||||
<field name="users_role_ids" widget="many2many_tags"/>
|
||||
<field name="users_ids" widget="many2many_tags" invisible="1"/>
|
||||
<field name="total_weights"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="assessment_time"/>
|
||||
<field name="cycle"/>
|
||||
<field name="total_weights"/>
|
||||
<field name="select_time" invisible="cycle != 'monthly'"/>
|
||||
<field name="select_quarter" invisible="cycle != 'quarter'"/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page string="组织绩效(KPI)">
|
||||
<group string="组织绩效(kpi)">
|
||||
<field name="performance_kpi_ids" string=" ">
|
||||
<tree editable="bottom">
|
||||
<field name="performance_kpi_id" column_invisible="1"/>
|
||||
@@ -54,9 +52,9 @@
|
||||
<field name="year_top_limit"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
<page string="组织绩效(GS)">
|
||||
<field name="performance_gs_ids" string=" ">
|
||||
</group>
|
||||
<group string="组织绩效(GS)">
|
||||
<field name="performance_gs_ids" string=" ">
|
||||
<tree editable="bottom">
|
||||
<field name="performance_gs_id" column_invisible="1"/>
|
||||
<field name="work_task"/>
|
||||
@@ -70,18 +68,17 @@
|
||||
<field name="quality_objectives2"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
</notebook>
|
||||
<group string="考核角色详情">
|
||||
<field name="organization_ids" string=" ">
|
||||
<tree editable="bottom">
|
||||
<field name="organization_id" column_invisible="1"/>
|
||||
<field name="in_charge_role_id"/>
|
||||
<field name="employee_ids" widget="many2many_tags"/>
|
||||
<field name="weight"/>
|
||||
</tree>
|
||||
</field>
|
||||
</group>
|
||||
</group>
|
||||
<group string="考核角色详情">
|
||||
<field name="organization_ids" string=" ">
|
||||
<tree editable="bottom">
|
||||
<field name="organization_id" column_invisible="1"/>
|
||||
<field name="in_charge_role_id"/>
|
||||
<field name="employee_ids" widget="many2many_tags"/>
|
||||
<field name="weight"/>
|
||||
</tree>
|
||||
</field>
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
<odoo>
|
||||
<!-- Views -->
|
||||
<record id ="view_yuthon_personal_logs_tree" model="ir.ui.view">
|
||||
<field name="name">yuthon.personal.logs.tree</field>
|
||||
<field name="model">yuthon.personal.logs</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="个人日志表">
|
||||
<field name="name"/>
|
||||
<field name="matters"/>
|
||||
<field name="time"/>
|
||||
<field name="comprehensive_exchange"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_yuthon_personal_logs_form" model="ir.ui.view">
|
||||
<field name="name">yuthon.personal.logs.form</field>
|
||||
<field name="model">yuthon.personal.logs</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="个人日志表">
|
||||
<sheet>
|
||||
<group>
|
||||
<field name="name"/>
|
||||
<field name="matters"/>
|
||||
<field name="time"/>
|
||||
<field name="comprehensive_exchange"/>
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<record id="action_yuthon_personal_logs" model="ir.actions.act_window">
|
||||
<field name="name">个人日志表</field>
|
||||
<field name="res_model">yuthon.personal.logs</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
</odoo>
|
||||
@@ -35,8 +35,9 @@
|
||||
<field name="work_tasks_line_ids" domain="[('select_time', '=', 'January')]">
|
||||
<tree editable="bottom">
|
||||
<field name="plan_id" column_invisible="1"/>
|
||||
<field name="task_id"/>
|
||||
<field name="select_time"/>
|
||||
<field name="task_type"/>
|
||||
<field name="task_name"/>
|
||||
<field name="plan"/>
|
||||
<field name="goal"/>
|
||||
<field name="resource_requirements"/>
|
||||
@@ -48,8 +49,8 @@
|
||||
<field name="work_tasks_line_ids" domain="[('select_time', '=', 'February')]">
|
||||
<tree editable="bottom">
|
||||
<field name="plan_id" column_invisible="1"/>
|
||||
<field name="task_id"/>
|
||||
<field name="task_type"/>
|
||||
<field name="task_name"/>
|
||||
<field name="plan"/>
|
||||
<field name="goal"/>
|
||||
<field name="resource_requirements"/>
|
||||
@@ -61,8 +62,8 @@
|
||||
<field name="work_tasks_line_ids" domain="[('select_time', '=', 'March')]">
|
||||
<tree editable="bottom">
|
||||
<field name="plan_id" column_invisible="1"/>
|
||||
<field name="task_id"/>
|
||||
<field name="task_type"/>
|
||||
<field name="task_name"/>
|
||||
<field name="plan"/>
|
||||
<field name="goal"/>
|
||||
<field name="resource_requirements"/>
|
||||
@@ -74,8 +75,8 @@
|
||||
<field name="work_tasks_line_ids" domain="[('select_time', '=', 'April')]">
|
||||
<tree editable="bottom">
|
||||
<field name="plan_id" column_invisible="1"/>
|
||||
<field name="task_id"/>
|
||||
<field name="task_type"/>
|
||||
<field name="task_name"/>
|
||||
<field name="plan"/>
|
||||
<field name="goal"/>
|
||||
<field name="resource_requirements"/>
|
||||
@@ -87,8 +88,8 @@
|
||||
<field name="work_tasks_line_ids" domain="[('select_time', '=', 'May')]">
|
||||
<tree editable="bottom">
|
||||
<field name="plan_id" column_invisible="1"/>
|
||||
<field name="task_id"/>
|
||||
<field name="task_type"/>
|
||||
<field name="task_name"/>
|
||||
<field name="plan"/>
|
||||
<field name="goal"/>
|
||||
<field name="resource_requirements"/>
|
||||
@@ -100,8 +101,8 @@
|
||||
<field name="work_tasks_line_ids" domain="[('select_time', '=', 'June')]">
|
||||
<tree editable="bottom">
|
||||
<field name="plan_id" column_invisible="1"/>
|
||||
<field name="task_id"/>
|
||||
<field name="task_type"/>
|
||||
<field name="task_name"/>
|
||||
<field name="plan"/>
|
||||
<field name="goal"/>
|
||||
<field name="resource_requirements"/>
|
||||
@@ -113,8 +114,8 @@
|
||||
<field name="work_tasks_line_ids" domain="[('select_time', '=', 'July')]">
|
||||
<tree editable="bottom">
|
||||
<field name="plan_id" column_invisible="1"/>
|
||||
<field name="task_id"/>
|
||||
<field name="task_type"/>
|
||||
<field name="task_name"/>
|
||||
<field name="plan"/>
|
||||
<field name="goal"/>
|
||||
<field name="resource_requirements"/>
|
||||
@@ -126,8 +127,8 @@
|
||||
<field name="work_tasks_line_ids" domain="[('select_time', '=', 'August')]">
|
||||
<tree editable="bottom">
|
||||
<field name="plan_id" column_invisible="1"/>
|
||||
<field name="task_id"/>
|
||||
<field name="task_type"/>
|
||||
<field name="task_name"/>
|
||||
<field name="plan"/>
|
||||
<field name="goal"/>
|
||||
<field name="resource_requirements"/>
|
||||
@@ -139,8 +140,8 @@
|
||||
<field name="work_tasks_line_ids" domain="[('select_time', '=', 'September')]">
|
||||
<tree editable="bottom">
|
||||
<field name="plan_id" column_invisible="1"/>
|
||||
<field name="task_id"/>
|
||||
<field name="task_type"/>
|
||||
<field name="task_name"/>
|
||||
<field name="plan"/>
|
||||
<field name="goal"/>
|
||||
<field name="resource_requirements"/>
|
||||
@@ -152,8 +153,8 @@
|
||||
<field name="work_tasks_line_ids" domain="[('select_time', '=', 'October')]" >
|
||||
<tree editable="bottom">
|
||||
<field name="plan_id" column_invisible="1"/>
|
||||
<field name="task_id"/>
|
||||
<field name="task_type"/>
|
||||
<field name="task_name"/>
|
||||
<field name="plan"/>
|
||||
<field name="goal"/>
|
||||
<field name="resource_requirements"/>
|
||||
@@ -165,8 +166,8 @@
|
||||
<field name="work_tasks_line_ids" domain="[('select_time', '=', 'November')]">
|
||||
<tree editable="bottom">
|
||||
<field name="plan_id" column_invisible="1"/>
|
||||
<field name="task_id"/>
|
||||
<field name="task_type"/>
|
||||
<field name="task_name"/>
|
||||
<field name="plan"/>
|
||||
<field name="goal"/>
|
||||
<field name="resource_requirements"/>
|
||||
@@ -178,8 +179,8 @@
|
||||
<field name="work_tasks_line_ids" domain="[('select_time', '=', 'December')]">
|
||||
<tree editable="bottom">
|
||||
<field name="plan_id" column_invisible="1"/>
|
||||
<field name="task_id"/>
|
||||
<field name="task_type"/>
|
||||
<field name="task_name"/>
|
||||
<field name="plan"/>
|
||||
<field name="goal"/>
|
||||
<field name="resource_requirements"/>
|
||||
@@ -191,8 +192,8 @@
|
||||
<field name="work_tasks_line_ids" domain="[('select_time', '=', 'half')]">
|
||||
<tree editable="bottom">
|
||||
<field name="plan_id" column_invisible="1"/>
|
||||
<field name="task_id"/>
|
||||
<field name="task_type"/>
|
||||
<field name="task_name"/>
|
||||
<field name="plan"/>
|
||||
<field name="goal"/>
|
||||
<field name="resource_requirements"/>
|
||||
@@ -204,8 +205,21 @@
|
||||
<field name="work_tasks_line_ids" domain="[('select_time', '=', 'later')]">
|
||||
<tree editable="bottom">
|
||||
<field name="plan_id" column_invisible="1"/>
|
||||
<field name="task_id"/>
|
||||
<field name="task_type"/>
|
||||
<field name="plan"/>
|
||||
<field name="goal"/>
|
||||
<field name="resource_requirements"/>
|
||||
<field name="summarize"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
<page string="年度计划详情" invisible="select_time != 'year'">
|
||||
<field name="work_tasks_line_ids" domain="[('select_time', '=', 'year')]">
|
||||
<tree editable="bottom">
|
||||
<field name="plan_id" column_invisible="1"/>
|
||||
<field name="task_id"/>
|
||||
<field name="task_type"/>
|
||||
<field name="task_name"/>
|
||||
<field name="plan"/>
|
||||
<field name="goal"/>
|
||||
<field name="resource_requirements"/>
|
||||
@@ -214,11 +228,152 @@
|
||||
</field>
|
||||
</page>
|
||||
</notebook>
|
||||
<group string="个人工作任务">
|
||||
<field name="plan_management_ids" string=" ">
|
||||
<group string="个人工作任务" invisible="select_time != 'January'">
|
||||
<field name="plan_management_ids" string=" " domain="[('select_time', '=', 'January')]">
|
||||
<tree editable="bottom">
|
||||
<field name="plan_id" column_invisible="1"/>
|
||||
<field name="task_type"/>
|
||||
<field name="sequence"/>
|
||||
<field name="tasks_type"/>
|
||||
<field name="goal"/>
|
||||
</tree>
|
||||
</field>
|
||||
</group>
|
||||
<group string="个人工作任务" invisible="select_time != 'February'">
|
||||
<field name="plan_management_ids" string=" " domain="[('select_time', '=', 'February')]" >
|
||||
<tree editable="bottom">
|
||||
<field name="plan_id" column_invisible="1"/>
|
||||
<field name="sequence"/>
|
||||
<field name="tasks_type"/>
|
||||
<field name="goal"/>
|
||||
</tree>
|
||||
</field>
|
||||
</group>
|
||||
<group string="个人工作任务" invisible="select_time != 'March'">
|
||||
<field name="plan_management_ids" string=" " domain="[('select_time', '=', 'March')]" >
|
||||
<tree editable="bottom">
|
||||
<field name="plan_id" column_invisible="1"/>
|
||||
<field name="sequence"/>
|
||||
<field name="tasks_type"/>
|
||||
<field name="goal"/>
|
||||
</tree>
|
||||
</field>
|
||||
</group>
|
||||
<group string="个人工作任务" invisible="select_time != 'April'">
|
||||
<field name="plan_management_ids" string=" " domain="[('select_time', '=', 'April')]" >
|
||||
<tree editable="bottom">
|
||||
<field name="plan_id" column_invisible="1"/>
|
||||
<field name="sequence"/>
|
||||
<field name="tasks_type"/>
|
||||
<field name="goal"/>
|
||||
</tree>
|
||||
</field>
|
||||
</group>
|
||||
<group string="个人工作任务" invisible="select_time != 'May'">
|
||||
<field name="plan_management_ids" string=" " domain="[('select_time', '=', 'May')]" >
|
||||
<tree editable="bottom">
|
||||
<field name="plan_id" column_invisible="1"/>
|
||||
<field name="sequence"/>
|
||||
<field name="tasks_type"/>
|
||||
<field name="goal"/>
|
||||
</tree>
|
||||
</field>
|
||||
</group>
|
||||
<group string="个人工作任务" invisible="select_time != 'June'">
|
||||
<field name="plan_management_ids" string=" " domain="[('select_time', '=', 'June')]" >
|
||||
<tree editable="bottom">
|
||||
<field name="plan_id" column_invisible="1"/>
|
||||
<field name="sequence"/>
|
||||
<field name="tasks_type"/>
|
||||
<field name="goal"/>
|
||||
</tree>
|
||||
</field>
|
||||
</group>
|
||||
<group string="个人工作任务" invisible="select_time != 'July'">
|
||||
<field name="plan_management_ids" string=" " domain="[('select_time', '=', 'July')]" >
|
||||
<tree editable="bottom">
|
||||
<field name="plan_id" column_invisible="1"/>
|
||||
<field name="sequence"/>
|
||||
<field name="tasks_type"/>
|
||||
<field name="goal"/>
|
||||
</tree>
|
||||
</field>
|
||||
</group>
|
||||
<group string="个人工作任务" invisible="select_time != 'July'">
|
||||
<field name="plan_management_ids" string=" " domain="[('select_time', '=', 'July')]" >
|
||||
<tree editable="bottom">
|
||||
<field name="plan_id" column_invisible="1"/>
|
||||
<field name="sequence"/>
|
||||
<field name="tasks_type"/>
|
||||
<field name="goal"/>
|
||||
</tree>
|
||||
</field>
|
||||
</group>
|
||||
<group string="个人工作任务" invisible="select_time != 'July'">
|
||||
<field name="plan_management_ids" string=" " domain="[('select_time', '=', 'July')]" >
|
||||
<tree editable="bottom">
|
||||
<field name="plan_id" column_invisible="1"/>
|
||||
<field name="sequence"/>
|
||||
<field name="tasks_type"/>
|
||||
<field name="goal"/>
|
||||
</tree>
|
||||
</field>
|
||||
</group>
|
||||
<group string="个人工作任务" invisible="select_time != 'October'">
|
||||
<field name="plan_management_ids" string=" " domain="[('select_time', '=', 'October')]" >
|
||||
<tree editable="bottom">
|
||||
<field name="plan_id" column_invisible="1"/>
|
||||
<field name="sequence"/>
|
||||
<field name="tasks_type"/>
|
||||
<field name="goal"/>
|
||||
</tree>
|
||||
</field>
|
||||
</group>
|
||||
<group string="个人工作任务" invisible="select_time != 'November'">
|
||||
<field name="plan_management_ids" string=" " domain="[('select_time', '=', 'November')]" >
|
||||
<tree editable="bottom">
|
||||
<field name="plan_id" column_invisible="1"/>
|
||||
<field name="sequence"/>
|
||||
<field name="tasks_type"/>
|
||||
<field name="goal"/>
|
||||
</tree>
|
||||
</field>
|
||||
</group>
|
||||
<group string="个人工作任务" invisible="select_time != 'December'">
|
||||
<field name="plan_management_ids" string=" " domain="[('select_time', '=', 'December')]" >
|
||||
<tree editable="bottom">
|
||||
<field name="plan_id" column_invisible="1"/>
|
||||
<field name="sequence"/>
|
||||
<field name="tasks_type"/>
|
||||
<field name="goal"/>
|
||||
</tree>
|
||||
</field>
|
||||
</group>
|
||||
<group string="个人工作任务" invisible="select_time != 'half'">
|
||||
<field name="plan_management_ids" string=" " domain="[('select_time', '=', 'half')]" >
|
||||
<tree editable="bottom">
|
||||
<field name="plan_id" column_invisible="1"/>
|
||||
<field name="sequence"/>
|
||||
<field name="tasks_type"/>
|
||||
<field name="goal"/>
|
||||
</tree>
|
||||
</field>
|
||||
</group>
|
||||
<group string="个人工作任务" invisible="select_time != 'later'">
|
||||
<field name="plan_management_ids" string=" " domain="[('select_time', '=', 'later')]" >
|
||||
<tree editable="bottom">
|
||||
<field name="plan_id" column_invisible="1"/>
|
||||
<field name="sequence"/>
|
||||
<field name="tasks_type"/>
|
||||
<field name="goal"/>
|
||||
</tree>
|
||||
</field>
|
||||
</group>
|
||||
<group string="个人工作任务" invisible="select_time != 'year'">
|
||||
<field name="plan_management_ids" string=" " domain="[('select_time', '=', 'year')]" >
|
||||
<tree editable="bottom">
|
||||
<field name="plan_id" column_invisible="1"/>
|
||||
<field name="sequence"/>
|
||||
<field name="tasks_type"/>
|
||||
<field name="goal"/>
|
||||
</tree>
|
||||
</field>
|
||||
|
||||
@@ -62,10 +62,20 @@
|
||||
name="个人工作任务"
|
||||
sequence="5"
|
||||
action="yuthon_performance.yuthon_plan_management_action1"/>
|
||||
<menuitem id="action_yuthon_personal_logs_board1"
|
||||
parent="yuthon_performance_menu_tt_root"
|
||||
name="个人日志表"
|
||||
sequence="6"
|
||||
action="yuthon_performance.action_yuthon_personal_logs"/>
|
||||
<menuitem id="yuthon_departmental_responsible_board1"
|
||||
parent="yuthon_performance_menu_tt_root"
|
||||
name="本部门绩效责任书"
|
||||
sequence="9"
|
||||
action="yuthon_performance.action_yuthon_departmental_responsible"/>
|
||||
<menuitem id="yuthon_score_root_board1"
|
||||
parent="yuthon_performance_menu_tt_root"
|
||||
name="评分"
|
||||
sequence="7"/>
|
||||
sequence="15"/>
|
||||
<menuitem id="yuthon_score_form_menu_board1"
|
||||
parent="yuthon_score_root_board1"
|
||||
name="组织绩效评分表"
|
||||
@@ -144,10 +154,20 @@
|
||||
name="个人工作任务"
|
||||
sequence="5"
|
||||
action="yuthon_performance.yuthon_plan_management_action2"/>
|
||||
<menuitem id="action_yuthon_personal_logs_board2"
|
||||
parent="yuthon_performance_menu_lc_config"
|
||||
name="个人日志表"
|
||||
sequence="6"
|
||||
action="yuthon_performance.action_yuthon_personal_logs"/>
|
||||
<menuitem id="yuthon_departmental_responsible_board2"
|
||||
parent="yuthon_performance_menu_lc_config"
|
||||
name="本部门绩效责任书"
|
||||
sequence="9"
|
||||
action="yuthon_performance.action_yuthon_departmental_responsible"/>
|
||||
<menuitem id="yuthon_score_root_board2"
|
||||
parent="yuthon_performance_menu_lc_config"
|
||||
name="评分"
|
||||
sequence="7"/>
|
||||
sequence="15"/>
|
||||
<menuitem id="yuthon_score_form_menu_board2"
|
||||
parent="yuthon_score_root_board2"
|
||||
name="组织绩效评分表"
|
||||
@@ -224,10 +244,20 @@
|
||||
name="个人工作任务"
|
||||
sequence="5"
|
||||
action="yuthon_performance.yuthon_plan_management_action3"/>
|
||||
<menuitem id="action_yuthon_personal_logs_board3"
|
||||
parent="yuthon_performance_menu_wg_config"
|
||||
name="个人日志表"
|
||||
sequence="6"
|
||||
action="yuthon_performance.action_yuthon_personal_logs"/>
|
||||
<menuitem id="yuthon_departmental_responsible_board3"
|
||||
parent="yuthon_performance_menu_wg_config"
|
||||
name="本部门绩效责任书"
|
||||
sequence="9"
|
||||
action="yuthon_performance.action_yuthon_departmental_responsible"/>
|
||||
<menuitem id="yuthon_score_root_board3"
|
||||
parent="yuthon_performance_menu_wg_config"
|
||||
name="评分"
|
||||
sequence="7"/>
|
||||
sequence="15"/>
|
||||
<menuitem id="yuthon_score_form_menu_board3"
|
||||
parent="yuthon_score_root_board3"
|
||||
name="组织绩效评分表"
|
||||
|
||||
Reference in New Issue
Block a user