@@ -140,3 +140,4 @@ class SoongWorkflowRecord(models.Model):
|
||||
"name": self.name,
|
||||
"view_mode": "form",
|
||||
}
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
<field name="name">soong.workflow.record.kanban</field>
|
||||
<field name="model">soong.workflow.record</field>
|
||||
<field name="arch" type="xml">
|
||||
<kanban class="kk_kanban_row">
|
||||
<kanban class="kk_kanban_row" default_order="write_date desc">
|
||||
<templates>
|
||||
<t t-name="kanban-box">
|
||||
<div class="oe_kanban_card oe_kanban_global_click">
|
||||
@@ -64,6 +64,11 @@
|
||||
<field name="write_date"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="o_kanban_record_bottom">
|
||||
<button class="btn btn-primary" type="object" name="open_record">
|
||||
打开记录
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -27,6 +27,8 @@ class SoongWorkflowCommentWizard(models.TransientModel):
|
||||
trans_link_id = fields.Many2one('trans.link', string='转交节点')
|
||||
return_link_id = fields.Many2one('trans.link', string='退回节点')
|
||||
|
||||
employee_trans_domain_ids = fields.Many2many('hr.employee', 'employee_trans_domain_ids_rel', string="传阅人员", store=True)
|
||||
|
||||
employee_ids = fields.Many2many('hr.employee', 'employee_ids_rel',
|
||||
'custom_id', 'employee_id',
|
||||
string="传阅人员", store=True)
|
||||
@@ -93,7 +95,9 @@ class SoongWorkflowCommentWizard(models.TransientModel):
|
||||
'|', ('department_id', '=', record_id.department_id.id),
|
||||
('department_ids', 'in', record_id.department_id.id),
|
||||
('yuthon_company', '=', record_id.create_uid.employee_id.yuthon_company)])
|
||||
self.employee_trans_domain_ids = employee_user_role_ids if not next_is_automatic else employee_user_role_id
|
||||
self.employee_ids = employee_user_role_ids if not next_is_automatic else employee_user_role_id
|
||||
|
||||
if self.node_btn_name == '退回':
|
||||
next_list = []
|
||||
self_state = state_list.index(ret.name)
|
||||
|
||||
@@ -20,7 +20,8 @@
|
||||
<field name="return_link_id" invisible="node_btn_name != '退回'" string="退回节点"/>
|
||||
<!-- 转交人员 -->
|
||||
<field name="trans_link_id" string="转交节点" invisible="node_btn_name == '退回'"/>
|
||||
<field name="employee_ids" widget="many2many_tags" string="人员范围"/>
|
||||
<field name="employee_trans_domain_ids" invisible="1" />
|
||||
<field name="employee_ids" domain="[('id', 'in', employee_trans_domain_ids)]" widget="many2many_tags" string="人员范围"/>
|
||||
</group>
|
||||
<div invisible="node_btn_name != '结束'">
|
||||
<h2>当前流程是否结束,请确认</h2>
|
||||
|
||||
@@ -24,15 +24,20 @@
|
||||
invisible="urgency_level != 'urgent'"/>
|
||||
<widget name="web_ribbon" title="特级" bg_color="text-bg-danger"
|
||||
invisible="urgency_level != 'emergency'"/>
|
||||
<group col="3">
|
||||
<group col="4">
|
||||
<group>
|
||||
<field name="code" string="流水号" readonly="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="urgency_level" readonly="1"/>
|
||||
</group>
|
||||
<group/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="is_issues" invisible="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="related_issues_id" invisible="is_issues == False"/>
|
||||
</group>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
<field name="name_title" readonly="1"/>
|
||||
@@ -53,8 +58,6 @@
|
||||
<group>
|
||||
<group>
|
||||
<field name="users_id" invisible="1"/>
|
||||
<field name="is_issues" invisible="1"/>
|
||||
<field name="related_issues_id" invisible="not is_issues"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="remarks" invisible="1"/>
|
||||
|
||||
@@ -460,46 +460,49 @@ class HrAttendanceDetail(models.Model):
|
||||
else:
|
||||
# 多次打卡时间的集合
|
||||
checkin_time_list = [obj.checkin_time for obj in attendance_detail_obj_in]
|
||||
# 最早 时间
|
||||
min_time = min(checkin_time_list)
|
||||
# 查询最早时间上班时间 查询最晚下班时间
|
||||
# 判断时间 在10分钟内说明是 异常
|
||||
if will_datetime_start + timedelta(minutes=10) > min_time > will_datetime_start:
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_in_time": will_datetime_start,
|
||||
"check_in": min_time,
|
||||
"is_late_card": False,
|
||||
"is_no_card": False,
|
||||
"is_abnormal": True,
|
||||
"absenteeism_card": False,
|
||||
})
|
||||
elif will_datetime_start + timedelta(hours=1) > min_time > will_datetime_start:
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_in_time": will_datetime_start,
|
||||
"check_in": min_time,
|
||||
"is_late_card": True,
|
||||
"is_no_card": False,
|
||||
"is_abnormal": False,
|
||||
"absenteeism_card": False,
|
||||
})
|
||||
elif min_time > will_datetime_start + timedelta(hours=1) and min_time > will_datetime_start:
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_in_time": will_datetime_start,
|
||||
"check_in": min_time,
|
||||
"is_late_card": False,
|
||||
"is_no_card": False,
|
||||
"is_abnormal": False,
|
||||
"absenteeism_card": True,
|
||||
})
|
||||
if not checkin_time_list:
|
||||
attendance_obj.sudo().write({"is_no_card": True, "is_abnormal": True})
|
||||
else:
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_in_time": will_datetime_start,
|
||||
"check_in": min_time,
|
||||
"is_late_card": min_time > will_datetime_start,
|
||||
"is_no_card": False,
|
||||
"is_abnormal": False,
|
||||
"absenteeism_card": False,
|
||||
})
|
||||
# 最早 时间
|
||||
min_time = min(checkin_time_list)
|
||||
# 查询最早时间上班时间 查询最晚下班时间
|
||||
# 判断时间 在10分钟内说明是 异常
|
||||
if will_datetime_start + timedelta(minutes=10) > min_time > will_datetime_start:
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_in_time": will_datetime_start,
|
||||
"check_in": min_time,
|
||||
"is_late_card": False,
|
||||
"is_no_card": False,
|
||||
"is_abnormal": True,
|
||||
"absenteeism_card": False,
|
||||
})
|
||||
elif will_datetime_start + timedelta(hours=1) > min_time > will_datetime_start:
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_in_time": will_datetime_start,
|
||||
"check_in": min_time,
|
||||
"is_late_card": True,
|
||||
"is_no_card": False,
|
||||
"is_abnormal": False,
|
||||
"absenteeism_card": False,
|
||||
})
|
||||
elif min_time > will_datetime_start + timedelta(hours=1) and min_time > will_datetime_start:
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_in_time": will_datetime_start,
|
||||
"check_in": min_time,
|
||||
"is_late_card": False,
|
||||
"is_no_card": False,
|
||||
"is_abnormal": False,
|
||||
"absenteeism_card": True,
|
||||
})
|
||||
else:
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_in_time": will_datetime_start,
|
||||
"check_in": min_time,
|
||||
"is_late_card": min_time > will_datetime_start,
|
||||
"is_no_card": False,
|
||||
"is_abnormal": False,
|
||||
"absenteeism_card": False,
|
||||
})
|
||||
# 下班
|
||||
attendance_detail_obj_out = self.env['hr.attendance.detail'].sudo().search(
|
||||
[("exception_type", "!=", "未打卡"),
|
||||
@@ -513,28 +516,29 @@ class HrAttendanceDetail(models.Model):
|
||||
if is_resource_user:
|
||||
# 多次打卡时间的集合
|
||||
checkin_time_list = [obj.checkin_time for obj in attendance_detail_obj_out]
|
||||
# 最早 时间
|
||||
max_time = max(checkin_time_list)
|
||||
# 如果上班没有打卡
|
||||
if not attendance_obj.check_in:
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_in_time": will_datetime_start,
|
||||
"check_in": max_time,
|
||||
"is_late_card": False,
|
||||
"is_no_card": False,
|
||||
"is_abnormal": False,
|
||||
"absenteeism_card": False,
|
||||
})
|
||||
# 如果上班时间早于下班时间说明
|
||||
elif attendance_obj.check_in and attendance_obj.check_in < max_time:
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_out_time": will_datetime_end,
|
||||
"check_out": max_time,
|
||||
"is_early_card": False,
|
||||
"is_no_card": False,
|
||||
"is_abnormal": False,
|
||||
"absenteeism_card": False,
|
||||
})
|
||||
if checkin_time_list:
|
||||
# 最早 时间
|
||||
max_time = max(checkin_time_list)
|
||||
# 如果上班没有打卡
|
||||
if not attendance_obj.check_in:
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_in_time": will_datetime_start,
|
||||
"check_in": max_time,
|
||||
"is_late_card": False,
|
||||
"is_no_card": False,
|
||||
"is_abnormal": False,
|
||||
"absenteeism_card": False,
|
||||
})
|
||||
# 如果上班时间早于下班时间说明
|
||||
elif attendance_obj.check_in and attendance_obj.check_in < max_time:
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_out_time": will_datetime_end,
|
||||
"check_out": max_time,
|
||||
"is_early_card": False,
|
||||
"is_no_card": False,
|
||||
"is_abnormal": False,
|
||||
"absenteeism_card": False,
|
||||
})
|
||||
else:
|
||||
if len(attendance_detail_obj_out) <= 0:
|
||||
attendance_obj.sudo().write({"is_no_card": True, "is_abnormal": True, "absenteeism_card": True})
|
||||
@@ -542,87 +546,90 @@ class HrAttendanceDetail(models.Model):
|
||||
else:
|
||||
# 多次打卡时间的集合
|
||||
checkin_time_list = [obj.checkin_time for obj in attendance_detail_obj_out]
|
||||
# 最早 时间
|
||||
max_time = max(checkin_time_list)
|
||||
# 如果上班没有打卡
|
||||
if not attendance_obj.check_in:
|
||||
if will_datetime_start + timedelta(minutes=10) > max_time > will_datetime_start:
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_in_time": will_datetime_start,
|
||||
"check_in": max_time,
|
||||
"is_late_card": False,
|
||||
"is_no_card": True,
|
||||
"is_abnormal": True,
|
||||
"absenteeism_card": True,
|
||||
})
|
||||
elif will_datetime_start + timedelta(hours=1) > max_time > will_datetime_start:
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_in_time": will_datetime_start,
|
||||
"check_in": max_time,
|
||||
"is_late_card": True,
|
||||
"is_no_card": True,
|
||||
"is_abnormal": True,
|
||||
"absenteeism_card": True,
|
||||
})
|
||||
elif max_time > will_datetime_start + timedelta(hours=1) and max_time > will_datetime_start:
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_in_time": will_datetime_start,
|
||||
"check_in": max_time,
|
||||
"is_late_card": False,
|
||||
"is_no_card": True,
|
||||
"is_abnormal": True,
|
||||
"absenteeism_card": True,
|
||||
})
|
||||
else:
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_in_time": will_datetime_start,
|
||||
"check_in": max_time,
|
||||
"is_late_card": max_time > will_datetime_start,
|
||||
"is_no_card": True,
|
||||
"is_abnormal": True,
|
||||
"absenteeism_card": True,
|
||||
})
|
||||
|
||||
# 如果上班时间早于下班时间说明下班的卡没打
|
||||
elif attendance_obj.check_in >= max_time:
|
||||
if not checkin_time_list:
|
||||
attendance_obj.sudo().write({"is_no_card": True, "is_abnormal": True, "absenteeism_card": True})
|
||||
else:
|
||||
if will_datetime_end - timedelta(minutes=10) < max_time < will_datetime_end:
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_out_time": will_datetime_end,
|
||||
"check_out": max_time,
|
||||
"is_early_card": False,
|
||||
"is_no_card": False,
|
||||
"is_abnormal": True,
|
||||
# "absenteeism_card": False,
|
||||
})
|
||||
elif will_datetime_end - timedelta(hours=1) < max_time < will_datetime_end:
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_out_time": will_datetime_end,
|
||||
"check_out": max_time,
|
||||
"is_early_card": True,
|
||||
"is_no_card": False,
|
||||
# "is_abnormal": False,
|
||||
# "absenteeism_card": False,
|
||||
})
|
||||
elif max_time < will_datetime_end - timedelta(hours=1):
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_out_time": will_datetime_end,
|
||||
"check_out": max_time,
|
||||
"is_early_card": False,
|
||||
"is_no_card": False,
|
||||
# "is_abnormal": False,
|
||||
"absenteeism_card": True,
|
||||
})
|
||||
# 最早 时间
|
||||
max_time = max(checkin_time_list)
|
||||
# 如果上班没有打卡
|
||||
if not attendance_obj.check_in:
|
||||
if will_datetime_start + timedelta(minutes=10) > max_time > will_datetime_start:
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_in_time": will_datetime_start,
|
||||
"check_in": max_time,
|
||||
"is_late_card": False,
|
||||
"is_no_card": True,
|
||||
"is_abnormal": True,
|
||||
"absenteeism_card": True,
|
||||
})
|
||||
elif will_datetime_start + timedelta(hours=1) > max_time > will_datetime_start:
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_in_time": will_datetime_start,
|
||||
"check_in": max_time,
|
||||
"is_late_card": True,
|
||||
"is_no_card": True,
|
||||
"is_abnormal": True,
|
||||
"absenteeism_card": True,
|
||||
})
|
||||
elif max_time > will_datetime_start + timedelta(hours=1) and max_time > will_datetime_start:
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_in_time": will_datetime_start,
|
||||
"check_in": max_time,
|
||||
"is_late_card": False,
|
||||
"is_no_card": True,
|
||||
"is_abnormal": True,
|
||||
"absenteeism_card": True,
|
||||
})
|
||||
else:
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_in_time": will_datetime_start,
|
||||
"check_in": max_time,
|
||||
"is_late_card": max_time > will_datetime_start,
|
||||
"is_no_card": True,
|
||||
"is_abnormal": True,
|
||||
"absenteeism_card": True,
|
||||
})
|
||||
|
||||
# 如果上班时间早于下班时间说明下班的卡没打
|
||||
elif attendance_obj.check_in >= max_time:
|
||||
attendance_obj.sudo().write({"is_no_card": True, "is_abnormal": True, "absenteeism_card": True})
|
||||
else:
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_out_time": will_datetime_end,
|
||||
"check_out": max_time,
|
||||
"is_early_card": max_time < will_datetime_end,
|
||||
"is_no_card": False,
|
||||
# "is_abnormal": False,
|
||||
# "absenteeism_card": False,
|
||||
})
|
||||
if will_datetime_end - timedelta(minutes=10) < max_time < will_datetime_end:
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_out_time": will_datetime_end,
|
||||
"check_out": max_time,
|
||||
"is_early_card": False,
|
||||
"is_no_card": False,
|
||||
"is_abnormal": True,
|
||||
# "absenteeism_card": False,
|
||||
})
|
||||
elif will_datetime_end - timedelta(hours=1) < max_time < will_datetime_end:
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_out_time": will_datetime_end,
|
||||
"check_out": max_time,
|
||||
"is_early_card": True,
|
||||
"is_no_card": False,
|
||||
# "is_abnormal": False,
|
||||
# "absenteeism_card": False,
|
||||
})
|
||||
elif max_time < will_datetime_end - timedelta(hours=1):
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_out_time": will_datetime_end,
|
||||
"check_out": max_time,
|
||||
"is_early_card": False,
|
||||
"is_no_card": False,
|
||||
# "is_abnormal": False,
|
||||
"absenteeism_card": True,
|
||||
})
|
||||
else:
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_out_time": will_datetime_end,
|
||||
"check_out": max_time,
|
||||
"is_early_card": max_time < will_datetime_end,
|
||||
"is_no_card": False,
|
||||
# "is_abnormal": False,
|
||||
# "absenteeism_card": False,
|
||||
})
|
||||
return True
|
||||
|
||||
def _do_planning_role(self, user, current_date, attendance_obj, planning_id):
|
||||
@@ -699,51 +706,54 @@ class HrAttendanceDetail(models.Model):
|
||||
else:
|
||||
# 多次打卡时间的集合
|
||||
checkin_time_list = [obj.checkin_time for obj in attendance_detail_obj_in]
|
||||
# 最早 时间
|
||||
min_time = min(checkin_time_list)
|
||||
# attendance_obj.sudo().write({
|
||||
# "sch_check_in_time": planning_id.start_datetime,
|
||||
# "check_in": min_time,
|
||||
# "is_late_card": min_time > planning_id.start_datetime,
|
||||
# "is_no_card": False,
|
||||
# "is_abnormal": False,
|
||||
# })
|
||||
if will_datetime_start + timedelta(minutes=10) > min_time > will_datetime_start:
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_in_time": will_datetime_start,
|
||||
"check_in": min_time,
|
||||
"is_late_card": False,
|
||||
"is_no_card": False,
|
||||
"is_abnormal": True,
|
||||
"absenteeism_card": False,
|
||||
})
|
||||
elif will_datetime_start + timedelta(hours=1) > min_time > will_datetime_start:
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_in_time": will_datetime_start,
|
||||
"check_in": min_time,
|
||||
"is_late_card": True,
|
||||
"is_no_card": False,
|
||||
"is_abnormal": False,
|
||||
"absenteeism_card": False,
|
||||
})
|
||||
elif min_time > will_datetime_start + timedelta(hours=1) and min_time > will_datetime_start:
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_in_time": will_datetime_start,
|
||||
"check_in": min_time,
|
||||
"is_late_card": False,
|
||||
"is_no_card": False,
|
||||
"is_abnormal": False,
|
||||
"absenteeism_card": True,
|
||||
})
|
||||
if not checkin_time_list:
|
||||
attendance_obj.sudo().write({"is_no_card": True, "is_abnormal": True, "absenteeism_card": True})
|
||||
else:
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_in_time": will_datetime_start,
|
||||
"check_in": min_time,
|
||||
"is_late_card": min_time > will_datetime_start,
|
||||
"is_no_card": False,
|
||||
"is_abnormal": False,
|
||||
"absenteeism_card": False,
|
||||
})
|
||||
# 最早 时间
|
||||
min_time = min(checkin_time_list)
|
||||
# attendance_obj.sudo().write({
|
||||
# "sch_check_in_time": planning_id.start_datetime,
|
||||
# "check_in": min_time,
|
||||
# "is_late_card": min_time > planning_id.start_datetime,
|
||||
# "is_no_card": False,
|
||||
# "is_abnormal": False,
|
||||
# })
|
||||
if will_datetime_start + timedelta(minutes=10) > min_time > will_datetime_start:
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_in_time": will_datetime_start,
|
||||
"check_in": min_time,
|
||||
"is_late_card": False,
|
||||
"is_no_card": False,
|
||||
"is_abnormal": True,
|
||||
"absenteeism_card": False,
|
||||
})
|
||||
elif will_datetime_start + timedelta(hours=1) > min_time > will_datetime_start:
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_in_time": will_datetime_start,
|
||||
"check_in": min_time,
|
||||
"is_late_card": True,
|
||||
"is_no_card": False,
|
||||
"is_abnormal": False,
|
||||
"absenteeism_card": False,
|
||||
})
|
||||
elif min_time > will_datetime_start + timedelta(hours=1) and min_time > will_datetime_start:
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_in_time": will_datetime_start,
|
||||
"check_in": min_time,
|
||||
"is_late_card": False,
|
||||
"is_no_card": False,
|
||||
"is_abnormal": False,
|
||||
"absenteeism_card": True,
|
||||
})
|
||||
else:
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_in_time": will_datetime_start,
|
||||
"check_in": min_time,
|
||||
"is_late_card": min_time > will_datetime_start,
|
||||
"is_no_card": False,
|
||||
"is_abnormal": False,
|
||||
"absenteeism_card": False,
|
||||
})
|
||||
|
||||
# 下班
|
||||
attendance_detail_obj_out = self.env['hr.attendance.detail'].sudo().search(
|
||||
@@ -761,101 +771,104 @@ class HrAttendanceDetail(models.Model):
|
||||
else:
|
||||
# 多次打卡时间的集合
|
||||
checkin_time_list = [obj.checkin_time for obj in attendance_detail_obj_out]
|
||||
# 最早 时间
|
||||
max_time = max(checkin_time_list)
|
||||
# 如果上班没有打卡
|
||||
if not attendance_obj.check_in:
|
||||
# attendance_obj.sudo().write({
|
||||
# "sch_check_in_time": planning_id.start_datetime,
|
||||
# "check_in": max_time,
|
||||
# "is_late_card": max_time > planning_id.start_datetime,
|
||||
# "is_no_card": True,
|
||||
# "is_abnormal": True,
|
||||
# })
|
||||
|
||||
if will_datetime_start + timedelta(minutes=10) > max_time > will_datetime_start:
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_in_time": will_datetime_start,
|
||||
"check_in": max_time,
|
||||
"is_late_card": False,
|
||||
"is_no_card": True,
|
||||
"is_abnormal": True,
|
||||
"absenteeism_card": True,
|
||||
})
|
||||
elif will_datetime_start + timedelta(hours=1) > max_time > will_datetime_start:
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_in_time": will_datetime_start,
|
||||
"check_in": max_time,
|
||||
"is_late_card": True,
|
||||
"is_no_card": True,
|
||||
"is_abnormal": True,
|
||||
"absenteeism_card": True,
|
||||
})
|
||||
elif max_time > will_datetime_start + timedelta(hours=1) and max_time > will_datetime_start:
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_in_time": will_datetime_start,
|
||||
"check_in": max_time,
|
||||
"is_late_card": False,
|
||||
"is_no_card": True,
|
||||
"is_abnormal": True,
|
||||
"absenteeism_card": True,
|
||||
})
|
||||
else:
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_in_time": will_datetime_start,
|
||||
"check_in": max_time,
|
||||
"is_late_card": max_time > will_datetime_start,
|
||||
"is_no_card": True,
|
||||
"is_abnormal": True,
|
||||
"absenteeism_card": True,
|
||||
})
|
||||
# 如果上班时间早于下班时间说明下班的卡没打
|
||||
elif attendance_obj.check_in >= max_time:
|
||||
if not checkin_time_list:
|
||||
attendance_obj.sudo().write({"is_no_card": True, "is_abnormal": True})
|
||||
else:
|
||||
# attendance_obj.sudo().write({
|
||||
# "sch_check_out_time": planning_id.end_datetime,
|
||||
# "check_out": max_time,
|
||||
# "is_early_card": max_time < planning_id.end_datetime,
|
||||
# "is_no_card": False,
|
||||
# "is_abnormal": False,
|
||||
# })
|
||||
if will_datetime_end - timedelta(minutes=10) < max_time < will_datetime_end:
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_out_time": will_datetime_end,
|
||||
"check_out": max_time,
|
||||
"is_early_card": False,
|
||||
"is_no_card": False,
|
||||
"is_abnormal": True,
|
||||
# "absenteeism_card": False,
|
||||
})
|
||||
elif will_datetime_end - timedelta(hours=1) < max_time < will_datetime_end:
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_out_time": will_datetime_end,
|
||||
"check_out": max_time,
|
||||
"is_early_card": True,
|
||||
"is_no_card": False,
|
||||
# "is_abnormal": False,
|
||||
# "absenteeism_card": False,
|
||||
})
|
||||
elif max_time < will_datetime_end - timedelta(hours=1):
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_out_time": will_datetime_end,
|
||||
"check_out": max_time,
|
||||
"is_early_card": False,
|
||||
"is_no_card": False,
|
||||
# "is_abnormal": False,
|
||||
"absenteeism_card": True,
|
||||
})
|
||||
# 最早 时间
|
||||
max_time = max(checkin_time_list)
|
||||
# 如果上班没有打卡
|
||||
if not attendance_obj.check_in:
|
||||
# attendance_obj.sudo().write({
|
||||
# "sch_check_in_time": planning_id.start_datetime,
|
||||
# "check_in": max_time,
|
||||
# "is_late_card": max_time > planning_id.start_datetime,
|
||||
# "is_no_card": True,
|
||||
# "is_abnormal": True,
|
||||
# })
|
||||
|
||||
if will_datetime_start + timedelta(minutes=10) > max_time > will_datetime_start:
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_in_time": will_datetime_start,
|
||||
"check_in": max_time,
|
||||
"is_late_card": False,
|
||||
"is_no_card": True,
|
||||
"is_abnormal": True,
|
||||
"absenteeism_card": True,
|
||||
})
|
||||
elif will_datetime_start + timedelta(hours=1) > max_time > will_datetime_start:
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_in_time": will_datetime_start,
|
||||
"check_in": max_time,
|
||||
"is_late_card": True,
|
||||
"is_no_card": True,
|
||||
"is_abnormal": True,
|
||||
"absenteeism_card": True,
|
||||
})
|
||||
elif max_time > will_datetime_start + timedelta(hours=1) and max_time > will_datetime_start:
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_in_time": will_datetime_start,
|
||||
"check_in": max_time,
|
||||
"is_late_card": False,
|
||||
"is_no_card": True,
|
||||
"is_abnormal": True,
|
||||
"absenteeism_card": True,
|
||||
})
|
||||
else:
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_in_time": will_datetime_start,
|
||||
"check_in": max_time,
|
||||
"is_late_card": max_time > will_datetime_start,
|
||||
"is_no_card": True,
|
||||
"is_abnormal": True,
|
||||
"absenteeism_card": True,
|
||||
})
|
||||
# 如果上班时间早于下班时间说明下班的卡没打
|
||||
elif attendance_obj.check_in >= max_time:
|
||||
attendance_obj.sudo().write({"is_no_card": True, "is_abnormal": True})
|
||||
else:
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_out_time": will_datetime_end,
|
||||
"check_out": max_time,
|
||||
"is_early_card": max_time < will_datetime_end,
|
||||
"is_no_card": False,
|
||||
# "is_abnormal": False,
|
||||
# "absenteeism_card": False,
|
||||
})
|
||||
# attendance_obj.sudo().write({
|
||||
# "sch_check_out_time": planning_id.end_datetime,
|
||||
# "check_out": max_time,
|
||||
# "is_early_card": max_time < planning_id.end_datetime,
|
||||
# "is_no_card": False,
|
||||
# "is_abnormal": False,
|
||||
# })
|
||||
if will_datetime_end - timedelta(minutes=10) < max_time < will_datetime_end:
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_out_time": will_datetime_end,
|
||||
"check_out": max_time,
|
||||
"is_early_card": False,
|
||||
"is_no_card": False,
|
||||
"is_abnormal": True,
|
||||
# "absenteeism_card": False,
|
||||
})
|
||||
elif will_datetime_end - timedelta(hours=1) < max_time < will_datetime_end:
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_out_time": will_datetime_end,
|
||||
"check_out": max_time,
|
||||
"is_early_card": True,
|
||||
"is_no_card": False,
|
||||
# "is_abnormal": False,
|
||||
# "absenteeism_card": False,
|
||||
})
|
||||
elif max_time < will_datetime_end - timedelta(hours=1):
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_out_time": will_datetime_end,
|
||||
"check_out": max_time,
|
||||
"is_early_card": False,
|
||||
"is_no_card": False,
|
||||
# "is_abnormal": False,
|
||||
"absenteeism_card": True,
|
||||
})
|
||||
else:
|
||||
attendance_obj.sudo().write({
|
||||
"sch_check_out_time": will_datetime_end,
|
||||
"check_out": max_time,
|
||||
"is_early_card": max_time < will_datetime_end,
|
||||
"is_no_card": False,
|
||||
# "is_abnormal": False,
|
||||
# "absenteeism_card": False,
|
||||
})
|
||||
return True
|
||||
|
||||
@staticmethod
|
||||
|
||||
@@ -23,14 +23,19 @@
|
||||
invisible="urgency_level != 'urgent'"/>
|
||||
<widget name="web_ribbon" title="特级" bg_color="text-bg-danger"
|
||||
invisible="urgency_level != 'emergency'"/>
|
||||
<group col="3">
|
||||
<group col="4">
|
||||
<group>
|
||||
<field name="code" string="流水号" readonly="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="urgency_level" readonly="1"/>
|
||||
</group>
|
||||
<group/>
|
||||
<group>
|
||||
<field name="is_issues"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="related_issues_id" invisible="is_issues == False"/>
|
||||
</group>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
@@ -52,8 +57,6 @@
|
||||
</group>
|
||||
<group>
|
||||
<field name="reason_application" />
|
||||
<field name="is_issues"/>
|
||||
<field name="related_issues_id" invisible="not is_issues"/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
|
||||
@@ -24,14 +24,19 @@
|
||||
invisible="urgency_level != 'urgent'"/>
|
||||
<widget name="web_ribbon" title="特级" bg_color="text-bg-danger"
|
||||
invisible="urgency_level != 'emergency'"/>
|
||||
<group col="3">
|
||||
<group col="4">
|
||||
<group>
|
||||
<field name="code" string="流水号" readonly="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="urgency_level" readonly="1"/>
|
||||
</group>
|
||||
<group/>
|
||||
<group>
|
||||
<field name="is_issues" invisible="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="related_issues_id" invisible="is_issues == False"/>
|
||||
</group>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
@@ -53,9 +58,7 @@
|
||||
<field name="date_start" required="1"/>
|
||||
<field name="date_end" required="1"/>
|
||||
<field name="reason_application"/>
|
||||
<field name="is_issues" invisible="1"/>
|
||||
<field name="documents_ids" widget="preview_many2many"/>
|
||||
<field name="related_issues_id" invisible="not is_issues"/>
|
||||
<field name="employee_ids" widget="many2many_tags"/>
|
||||
<field name="details"/>
|
||||
</group>
|
||||
|
||||
@@ -27,14 +27,19 @@
|
||||
invisible="urgency_level != 'urgent'"/>
|
||||
<widget name="web_ribbon" title="特级" bg_color="text-bg-danger"
|
||||
invisible="urgency_level != 'emergency'"/>
|
||||
<group col="3">
|
||||
<group col="4">
|
||||
<group>
|
||||
<field name="code" string="流水号" readonly="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="urgency_level" readonly="1"/>
|
||||
</group>
|
||||
<group/>
|
||||
<group>
|
||||
<field name="is_issues"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="related_issues_id" invisible="is_issues == False"/>
|
||||
</group>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
@@ -51,8 +56,6 @@
|
||||
<field name="users_id"/>
|
||||
<field name="reason_application"/>
|
||||
<field name="documents_ids" widget="preview_many2many"/>
|
||||
<field name="is_issues"/>
|
||||
<field name="related_issues_id" invisible="not is_issues"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="start_time"/>
|
||||
|
||||
@@ -27,14 +27,19 @@
|
||||
invisible="urgency_level != 'urgent'"/>
|
||||
<widget name="web_ribbon" title="特级" bg_color="text-bg-danger"
|
||||
invisible="urgency_level != 'emergency'"/>
|
||||
<group col="3">
|
||||
<group col="4">
|
||||
<group>
|
||||
<field name="code" string="流水号" readonly="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="urgency_level" readonly="1"/>
|
||||
</group>
|
||||
<group/>
|
||||
<group>
|
||||
<field name="is_issues"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="related_issues_id" invisible="is_issues == False"/>
|
||||
</group>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
@@ -56,8 +61,6 @@
|
||||
<field name="date"/>
|
||||
<field name="duration"/>
|
||||
<field name="type_remove_holiday"/>
|
||||
<field name="is_issues"/>
|
||||
<field name="related_issues_id" invisible="not is_issues"/>
|
||||
</group>
|
||||
</group>
|
||||
</sheet>
|
||||
|
||||
@@ -24,14 +24,19 @@
|
||||
invisible="urgency_level != 'urgent'"/>
|
||||
<widget name="web_ribbon" title="特级" bg_color="text-bg-danger"
|
||||
invisible="urgency_level != 'emergency'"/>
|
||||
<group col="3">
|
||||
<group col="4">
|
||||
<group>
|
||||
<field name="code" string="流水号" readonly="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="urgency_level" readonly="1"/>
|
||||
</group>
|
||||
<group/>
|
||||
<group>
|
||||
<field name="is_issues"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="related_issues_id" invisible="is_issues == False"/>
|
||||
</group>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
@@ -45,13 +50,9 @@
|
||||
<field name="documents_ids" widget="preview_many2many"/>
|
||||
</group>
|
||||
</group>
|
||||
<group string="个人信息" col="2">
|
||||
<group string="个人信息">
|
||||
<group>
|
||||
<field name="users_id"/>
|
||||
<field name="is_issues"/>
|
||||
<field name="related_issues_id" invisible="not is_issues"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="yuthon_company"/>
|
||||
<field name="department_id"/>
|
||||
</group>
|
||||
|
||||
@@ -24,14 +24,19 @@
|
||||
invisible="urgency_level != 'urgent'"/>
|
||||
<widget name="web_ribbon" title="特级" bg_color="text-bg-danger"
|
||||
invisible="urgency_level != 'emergency'"/>
|
||||
<group col="3">
|
||||
<group col="4">
|
||||
<group>
|
||||
<field name="code" string="流水号" readonly="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="urgency_level" readonly="1"/>
|
||||
</group>
|
||||
<group/>
|
||||
<group>
|
||||
<field name="is_issues"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="related_issues_id" invisible="is_issues == False"/>
|
||||
</group>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
@@ -49,8 +54,6 @@
|
||||
<group>
|
||||
<field name="users_id"/>
|
||||
<field name="yuthon_company"/>
|
||||
<field name="is_issues"/>
|
||||
<field name="related_issues_id" invisible="not is_issues"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="replacement_data"/>
|
||||
|
||||
@@ -22,14 +22,19 @@
|
||||
invisible="urgency_level != 'urgent'"/>
|
||||
<widget name="web_ribbon" title="特级" bg_color="text-bg-danger"
|
||||
invisible="urgency_level != 'emergency'"/>
|
||||
<group col="3">
|
||||
<group col="4">
|
||||
<group>
|
||||
<field name="code" string="流水号" readonly="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="urgency_level" readonly="1"/>
|
||||
</group>
|
||||
<group/>
|
||||
<group>
|
||||
<field name="is_issues"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="related_issues_id" invisible="is_issues == False"/>
|
||||
</group>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
@@ -45,8 +50,6 @@
|
||||
<group>
|
||||
<field name="users_id"/>
|
||||
<field name="employee_id" invisible="1"/>
|
||||
<field name="is_issues"/>
|
||||
<field name="related_issues_id" invisible="not is_issues"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="yuthon_company"/>
|
||||
|
||||
@@ -27,14 +27,19 @@
|
||||
invisible="urgency_level != 'urgent'"/>
|
||||
<widget name="web_ribbon" title="特级" bg_color="text-bg-danger"
|
||||
invisible="urgency_level != 'emergency'"/>
|
||||
<group col="3">
|
||||
<group col="4">
|
||||
<group>
|
||||
<field name="code" string="流水号" readonly="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="urgency_level" readonly="1"/>
|
||||
</group>
|
||||
<group/>
|
||||
<group>
|
||||
<field name="is_issues" invisible="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="related_issues_id" invisible="is_issues == False"/>
|
||||
</group>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
@@ -55,8 +60,6 @@
|
||||
<field name="alternate_id" invisible="alternate_shifts != 'alternate'"/>
|
||||
<field name="users_id" invisible="1"/>
|
||||
<field name="transferees_id" invisible="alternate_shifts != 'transferees'"/>
|
||||
<field name="is_issues" invisible="1"/>
|
||||
<field name="related_issues_id" invisible="not is_issues"/>
|
||||
<field name="yuthon_company" invisible="1"/>
|
||||
<field name="department_id" invisible="1"/>
|
||||
</group>
|
||||
|
||||
@@ -27,14 +27,19 @@
|
||||
invisible="urgency_level != 'urgent'"/>
|
||||
<widget name="web_ribbon" title="特级" bg_color="text-bg-danger"
|
||||
invisible="urgency_level != 'emergency'"/>
|
||||
<group col="3">
|
||||
<group col="4">
|
||||
<group>
|
||||
<field name="code" string="流水号" readonly="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="urgency_level" readonly="1"/>
|
||||
</group>
|
||||
<group/>
|
||||
<group>
|
||||
<field name="is_issues" invisible="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="related_issues_id" invisible="is_issues == False"/>
|
||||
</group>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
@@ -52,8 +57,6 @@
|
||||
<field name="employee_ids" widget="many2many_tags"/>
|
||||
<field name="start_list_ids" widget="many2many_tags" invisible="1"/>
|
||||
<field name="users_id" invisible="1"/>
|
||||
<field name="is_issues" invisible="1"/>
|
||||
<field name="related_issues_id" invisible="not is_issues"/>
|
||||
<field name="yuthon_company" invisible="1"/>
|
||||
</group>
|
||||
</group>
|
||||
|
||||
@@ -26,14 +26,19 @@
|
||||
invisible="urgency_level != 'urgent'"/>
|
||||
<widget name="web_ribbon" title="特级" bg_color="text-bg-danger"
|
||||
invisible="urgency_level != 'emergency'"/>
|
||||
<group col="3">
|
||||
<group col="4">
|
||||
<group>
|
||||
<field name="code" string="流水号" readonly="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="urgency_level" readonly="1"/>
|
||||
</group>
|
||||
<group/>
|
||||
<group>
|
||||
<field name="is_issues"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="related_issues_id" invisible="is_issues == False"/>
|
||||
</group>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
@@ -47,13 +52,9 @@
|
||||
<field name="entrant_date"/>
|
||||
<field name="entrant_illustrate"/>
|
||||
</group>
|
||||
<group string="聘任结果" col="2">
|
||||
<group string="聘任结果">
|
||||
<group>
|
||||
<field name="judge_team_leader"/>
|
||||
<field name="is_issues"/>
|
||||
<field name="related_issues_id" invisible="not is_issues"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="judge_team_member"/>
|
||||
</group>
|
||||
</group>
|
||||
|
||||
@@ -28,14 +28,19 @@
|
||||
invisible="urgency_level != 'urgent'"/>
|
||||
<widget name="web_ribbon" title="特级" bg_color="text-bg-danger"
|
||||
invisible="urgency_level != 'emergency'"/>
|
||||
<group col="3">
|
||||
<group col="4">
|
||||
<group>
|
||||
<field name="code" string="流水号" readonly="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="urgency_level" readonly="1"/>
|
||||
</group>
|
||||
<group/>
|
||||
<group>
|
||||
<field name="is_issues" invisible="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="related_issues_id" invisible="is_issues == False"/>
|
||||
</group>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
@@ -50,7 +55,6 @@
|
||||
<field name="is_issues" invisible="1"/>
|
||||
<field name="department_id" invisible="1"/>
|
||||
<field name="yuthon_company" invisible="1"/>
|
||||
<field name="related_issues_id" invisible="is_issues == False"/>
|
||||
</group>
|
||||
<notebook>
|
||||
<page string="应聘面试信息">
|
||||
|
||||
@@ -26,14 +26,19 @@
|
||||
invisible="urgency_level != 'urgent'"/>
|
||||
<widget name="web_ribbon" title="特级" bg_color="text-bg-danger"
|
||||
invisible="urgency_level != 'emergency'"/>
|
||||
<group col="3">
|
||||
<group col="4">
|
||||
<group>
|
||||
<field name="code" string="流水号" readonly="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="urgency_level" readonly="1"/>
|
||||
</group>
|
||||
<group/>
|
||||
<group>
|
||||
<field name="is_issues"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="related_issues_id" invisible="is_issues == False"/>
|
||||
</group>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
@@ -81,9 +86,6 @@
|
||||
<div class="oe_clear_row" style="margin: 35px 0">
|
||||
</div>
|
||||
<notebook>
|
||||
<page string="关联议题" invisible="not is_issues">
|
||||
<field name="related_issues_id"/>
|
||||
</page>
|
||||
<page string="紧急联系人">
|
||||
<field name="emergency_contact_ids">
|
||||
<tree editable="bottom">
|
||||
|
||||
@@ -27,14 +27,19 @@
|
||||
invisible="urgency_level != 'urgent'"/>
|
||||
<widget name="web_ribbon" title="特级" bg_color="text-bg-danger"
|
||||
invisible="urgency_level != 'emergency'"/>
|
||||
<group col="3">
|
||||
<group col="4">
|
||||
<group>
|
||||
<field name="code" string="流水号" readonly="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="urgency_level" readonly="1"/>
|
||||
</group>
|
||||
<group/>
|
||||
<group>
|
||||
<field name="is_issues"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="related_issues_id" invisible="is_issues == False"/>
|
||||
</group>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
@@ -49,8 +54,6 @@
|
||||
<group>
|
||||
<field name="employee_id"/>
|
||||
<field name="yuthon_company"/>
|
||||
<field name="is_issues"/>
|
||||
<field name="related_issues_id" invisible="not is_issues"/>
|
||||
<field name="onboarding_status"/>
|
||||
</group>
|
||||
<group>
|
||||
|
||||
@@ -23,14 +23,19 @@
|
||||
invisible="urgency_level != 'urgent'"/>
|
||||
<widget name="web_ribbon" title="特级" bg_color="text-bg-danger"
|
||||
invisible="urgency_level != 'emergency'"/>
|
||||
<group col="3">
|
||||
<group col="4">
|
||||
<group>
|
||||
<field name="code" string="流水号" readonly="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="urgency_level" readonly="1"/>
|
||||
</group>
|
||||
<group/>
|
||||
<group>
|
||||
<field name="is_issues"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="related_issues_id" invisible="is_issues == False"/>
|
||||
</group>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
@@ -49,8 +54,6 @@
|
||||
<field name="name" required="1"/>
|
||||
<field name="reason"/>
|
||||
<field name="notice_documents_ids" widget="preview_many2many"/>
|
||||
<field name="is_issues"/>
|
||||
<field name="related_issues_id" invisible="not is_issues"/>
|
||||
</group>
|
||||
<notebook>
|
||||
<page string="调整信息">
|
||||
|
||||
@@ -28,14 +28,19 @@
|
||||
invisible="urgency_level != 'urgent'"/>
|
||||
<widget name="web_ribbon" title="特级" bg_color="text-bg-danger"
|
||||
invisible="urgency_level != 'emergency'"/>
|
||||
<group col="3">
|
||||
<group col="4">
|
||||
<group>
|
||||
<field name="code" string="流水号" readonly="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="urgency_level" readonly="1"/>
|
||||
</group>
|
||||
<group/>
|
||||
<group>
|
||||
<field name="is_issues"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="related_issues_id" invisible="is_issues == False"/>
|
||||
</group>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
@@ -90,8 +95,6 @@
|
||||
<group string="移交信息" col="4">
|
||||
<group>
|
||||
<field name="handover_date"/>
|
||||
<field name="is_issues"/>
|
||||
<field name="related_issues_id" invisible="not is_issues"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="handover_person_id"/>
|
||||
|
||||
@@ -23,14 +23,19 @@
|
||||
invisible="urgency_level != 'urgent'"/>
|
||||
<widget name="web_ribbon" title="特级" bg_color="text-bg-danger"
|
||||
invisible="urgency_level != 'emergency'"/>
|
||||
<group col="3">
|
||||
<group col="4">
|
||||
<group>
|
||||
<field name="code" string="流水号" readonly="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="urgency_level" readonly="1"/>
|
||||
</group>
|
||||
<group/>
|
||||
<group>
|
||||
<field name="is_issues"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="related_issues_id" invisible="is_issues == False"/>
|
||||
</group>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
@@ -41,8 +46,6 @@
|
||||
<field name="name" required="1"/>
|
||||
<field name="users_id" readonly="1"/>
|
||||
<field name="reason"/>
|
||||
<field name="is_issues"/>
|
||||
<field name="related_issues_id" invisible="not is_issues"/>
|
||||
<field name="notice_documents_ids" widget="preview_many2many"/>
|
||||
<field name="department_id"/>
|
||||
<field name="yuthon_company" invisible="1"/>
|
||||
|
||||
@@ -30,14 +30,19 @@
|
||||
invisible="urgency_level != 'urgent'"/>
|
||||
<widget name="web_ribbon" title="特级" bg_color="text-bg-danger"
|
||||
invisible="urgency_level != 'emergency'"/>
|
||||
<group col="3">
|
||||
<group col="4">
|
||||
<group>
|
||||
<field name="code" string="流水号" readonly="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="urgency_level" readonly="1"/>
|
||||
</group>
|
||||
<group/>
|
||||
<group>
|
||||
<field name="is_issues"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="related_issues_id" invisible="is_issues == False"/>
|
||||
</group>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
@@ -79,8 +84,6 @@
|
||||
</group>
|
||||
<group>
|
||||
<field name="appraisal_total"/>
|
||||
<field name="is_issues"/>
|
||||
<field name="related_issues_id" invisible="not is_issues"/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
|
||||
@@ -26,14 +26,19 @@
|
||||
invisible="urgency_level != 'urgent'"/>
|
||||
<widget name="web_ribbon" title="特级" bg_color="text-bg-danger"
|
||||
invisible="urgency_level != 'emergency'"/>
|
||||
<group col="3">
|
||||
<group col="4">
|
||||
<group>
|
||||
<field name="code" string="流水号" readonly="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="urgency_level" readonly="1"/>
|
||||
</group>
|
||||
<group/>
|
||||
<group>
|
||||
<field name="is_issues"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="related_issues_id" invisible="is_issues == False"/>
|
||||
</group>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
@@ -55,8 +60,6 @@
|
||||
</group>
|
||||
<group>
|
||||
<field name="entrant_date"/>
|
||||
<field name="is_issues"/>
|
||||
<field name="related_issues_id" invisible="not is_issues"/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
@@ -75,9 +78,6 @@
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
<page invisible="not is_issues">
|
||||
<field name="related_issues_id"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
</form>
|
||||
|
||||
@@ -25,14 +25,19 @@
|
||||
invisible="urgency_level != 'urgent'"/>
|
||||
<widget name="web_ribbon" title="特级" bg_color="text-bg-danger"
|
||||
invisible="urgency_level != 'emergency'"/>
|
||||
<group col="3">
|
||||
<group col="4">
|
||||
<group>
|
||||
<field name="code" string="流水号" readonly="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="urgency_level" readonly="1"/>
|
||||
</group>
|
||||
<group/>
|
||||
<group>
|
||||
<field name="is_issues"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="related_issues_id" invisible="is_issues == False"/>
|
||||
</group>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
@@ -52,8 +57,6 @@
|
||||
<field name="job_id"/>
|
||||
<field name="department_id" invisible="1"/>
|
||||
<field name="onboarding_time"/>
|
||||
<field name="is_issues"/>
|
||||
<field name="related_issues_id" invisible="not is_issues"/>
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
|
||||
@@ -27,14 +27,19 @@
|
||||
invisible="urgency_level != 'urgent'"/>
|
||||
<widget name="web_ribbon" title="特级" bg_color="text-bg-danger"
|
||||
invisible="urgency_level != 'emergency'"/>
|
||||
<group col="3">
|
||||
<group col="4">
|
||||
<group>
|
||||
<field name="code" string="流水号" readonly="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="urgency_level" readonly="1"/>
|
||||
</group>
|
||||
<group/>
|
||||
<group>
|
||||
<field name="is_issues"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="related_issues_id" invisible="is_issues == False"/>
|
||||
</group>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
@@ -46,8 +51,6 @@
|
||||
<field name="users_id"/>
|
||||
<field name="reason" required="1"/>
|
||||
<field name="issue_text"/>
|
||||
<field name="is_issues"/>
|
||||
<field name="related_issues_id" invisible="not is_issues"/>
|
||||
<field name="notice_documents_id" widget="preview_many2one"/>
|
||||
</group>
|
||||
<group col="4" string="员工信息">
|
||||
|
||||
@@ -50,11 +50,23 @@ class YuthonNotice(models.Model):
|
||||
|
||||
name_title = fields.Char(default=_get_default_name_title)
|
||||
|
||||
# @api.onchange('employee_ids', 'department_ids', 'users_role_ids')
|
||||
# def onchange_employee_ids(self):
|
||||
# for notice in self:
|
||||
# users = notice.employee_ids.mapped('user_id') + notice.users_role_ids.mapped('user_id') + notice.department_ids.mapped('user_id')
|
||||
# notice.users_ids = users
|
||||
@api.onchange('employee_ids', 'department_ids', 'users_role_ids')
|
||||
def onchange_employee_ids(self):
|
||||
def get_department_employees(department_id):
|
||||
valid_user_ids = set()
|
||||
employee_ids = self.env['hr.employee'].search([('department_id', '=', department_id.id)])
|
||||
valid_user_ids.update([user.user_id.id for user in employee_ids if user.user_id])
|
||||
child_ids = self.env['hr.department'].search([('parent_id', '=', department_id.id)])
|
||||
for child in child_ids:
|
||||
valid_user_ids.update(get_department_employees(child))
|
||||
return valid_user_ids
|
||||
department_user_ids = set()
|
||||
for department_id in self.department_ids:
|
||||
department_user_ids.update(get_department_employees(department_id))
|
||||
|
||||
for notice in self:
|
||||
users = notice.employee_ids.mapped('user_id') + notice.users_role_ids.mapped('user_id') + department_user_ids
|
||||
notice.users_ids = users
|
||||
|
||||
def get_no_read_count(self):
|
||||
return self.search_count([('is_notice_roger', '=', 'no'), ('notice_state', '=', 'yes')])
|
||||
@@ -91,12 +103,12 @@ class YuthonNotice(models.Model):
|
||||
def no_sequence(self):
|
||||
self.sequence = 0
|
||||
|
||||
def notice_publish(self, valid_employee_ids):
|
||||
def notice_publish(self):
|
||||
if self.is_change_notice:
|
||||
menu_id = self.env['ir.ui.menu'].search([('name', '=', '通知公告'), ('parent_id', '!=', False)])
|
||||
str = 'https://oa.thtzjt.com/web#id={}&cids=1&menu_id={}&action={}&model=yuthon.notice&view_type=form'.format(self.id, menu_id.id, menu_id.action.id)
|
||||
conf_old = self.env['yuthon.confirm.users'].search([('notice_id', '=', self.id), ('employee_id', 'in', list(valid_employee_ids))])
|
||||
for employee_id in valid_employee_ids:
|
||||
conf_old = self.env['yuthon.confirm.users'].search([('notice_id', '=', self.id), ('employee_id', 'in', self.users_ids.ids)])
|
||||
for employee_id in self.users_ids:
|
||||
if conf_old:
|
||||
for co in conf_old:
|
||||
co.write({'state': 'no'})
|
||||
@@ -142,46 +154,3 @@ class YuthonNotice(models.Model):
|
||||
'notice_state': 'stop',
|
||||
'end_date': fields.Date.today(),
|
||||
})
|
||||
|
||||
def notice_users_publish(self):
|
||||
# 获取 self.employee_ids 中的用户
|
||||
employee_user_ids = {user.user_id.id for user in self.employee_ids if user.user_id}
|
||||
|
||||
# 获取部门用户
|
||||
def get_department_employees(department_id):
|
||||
valid_user_ids = set()
|
||||
employee_ids = self.env['hr.employee'].search([('department_id', '=', department_id.id)])
|
||||
valid_user_ids.update([user.user_id.id for user in employee_ids if user.user_id])
|
||||
child_ids = self.env['hr.department'].search([('parent_id', '=', department_id.id)])
|
||||
for child in child_ids:
|
||||
valid_user_ids.update(get_department_employees(child))
|
||||
return valid_user_ids
|
||||
department_user_ids = set()
|
||||
for department_id in self.department_ids:
|
||||
department_user_ids.update(get_department_employees(department_id))
|
||||
|
||||
# 获取 user_role_ids 中的用户
|
||||
role_user_ids = set()
|
||||
for user_role in self.users_role_ids:
|
||||
user_employee_ids = self.env['hr.employee'].search(
|
||||
['|', ('user_role_id', '=', user_role.id), ('user_role_ids', 'in', [user_role.id])])
|
||||
role_user_ids.update([user.user_id.id for user in user_employee_ids if user.user_id])
|
||||
# 取三个ids的用户交集
|
||||
valid_user_ids = employee_user_ids | department_user_ids | role_user_ids
|
||||
# 查询所有符合条件的 hr.employee 记录
|
||||
valid_employees = self.env['hr.employee'].search([('user_id', 'in', list(valid_user_ids))])
|
||||
# 提取 employee_id
|
||||
valid_employee_ids = {employee.id for employee in valid_employees}
|
||||
self.notice_publish(valid_employee_ids)
|
||||
|
||||
@api.model
|
||||
def action_create_notice_form1(self):
|
||||
return {
|
||||
'name': '创建通知公告',
|
||||
'type': 'ir.actions.act_window',
|
||||
'res_model': 'yuthon.notice',
|
||||
'view_mode': 'form',
|
||||
'view_id': self.env.ref('yuthon_notice.view_yuthon_notice_form').id,
|
||||
'target': 'current',
|
||||
'context': {},
|
||||
}
|
||||
@@ -23,7 +23,7 @@ class YuthonOfficialIncomingParty(models.Model):
|
||||
main_flats = fields.Char(string="主送")
|
||||
copy_flats = fields.Char(string="抄送")
|
||||
servings_number = fields.Integer(string="份数")
|
||||
urgency = fields.Selection([('normal', '一般'), ('urgent', '紧急'), ('extra_urgent', '特急')], string="紧急程度")
|
||||
urgency_level = fields.Selection([('normal', '一般'), ('urgent', '紧急'), ('extra_urgent', '特急')], string="紧急程度")
|
||||
secret_level = fields.Selection([('normal', '一般'), ('urgent', '秘密'), ('secret', '机密'), ('so_secret', '绝密')],
|
||||
string="密级")
|
||||
date = fields.Datetime(string="日期", default=fields.Datetime.now)
|
||||
@@ -35,6 +35,11 @@ class YuthonOfficialIncomingParty(models.Model):
|
||||
official_documents_ids = fields.Many2many('ir.attachment', string="附件")
|
||||
is_issues = fields.Boolean(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)
|
||||
|
||||
active = fields.Boolean('Active', default=True, tracking=True)
|
||||
|
||||
@api.onchange('is_issues')
|
||||
|
||||
@@ -25,7 +25,7 @@ class YuthonOfficial(models.Model):
|
||||
employee_ids = fields.Many2many('hr.employee', string='人员范围')
|
||||
users_role_ids = fields.Many2many('soong.user.role', string='角色范围')
|
||||
servings_number = fields.Integer(string="份数")
|
||||
urgency = fields.Selection([('normal', '一般'), ('urgent', '紧急'), ('extra_urgent', '特急')], string="紧急程度")
|
||||
urgency_level = fields.Selection([('normal', '一般'), ('urgent', '紧急'), ('extra_urgent', '特急')], string="紧急程度")
|
||||
secret_level = fields.Selection([('normal', '一般'), ('urgent', '秘密'), ('secret', '机密'), ('so_secret', '绝密')], string="密级")
|
||||
date = fields.Datetime(string="日期", default=fields.Datetime.now)
|
||||
department_id = fields.Many2one('hr.department', string="申请人部门")
|
||||
@@ -44,6 +44,11 @@ class YuthonOfficial(models.Model):
|
||||
workflow_inspector_ids = fields.One2many('soong.workflow.inspector', 'yuthon_official_id', string="督办事项")
|
||||
room_booking_ids = fields.One2many('room.booking', 'yuthon_official_id', string="会议关联")
|
||||
issue_library_ids = fields.One2many('issue.library', 'yuthon_official_id', 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 supervising_button(self):
|
||||
return {
|
||||
|
||||
@@ -23,7 +23,7 @@ class YuthonOfficialIncomingLabor(models.Model):
|
||||
main_flats = fields.Char(string="主送")
|
||||
copy_flats = fields.Char(string="抄送")
|
||||
servings_number = fields.Integer(string="份数")
|
||||
urgency = fields.Selection([('normal', '一般'), ('urgent', '紧急'), ('extra_urgent', '特急')], string="紧急程度")
|
||||
urgency_level = fields.Selection([('normal', '一般'), ('urgent', '紧急'), ('extra_urgent', '特急')], string="紧急程度")
|
||||
secret_level = fields.Selection([('normal', '一般'), ('urgent', '秘密'), ('secret', '机密'), ('so_secret', '绝密')],
|
||||
string="密级")
|
||||
date = fields.Datetime(string="日期", default=fields.Datetime.now)
|
||||
@@ -36,6 +36,10 @@ class YuthonOfficialIncomingLabor(models.Model):
|
||||
is_issues = fields.Boolean(string="是否上会")
|
||||
related_issues_id = fields.Many2one('issue.library', string="关联议题")
|
||||
active = fields.Boolean('Active', default=True, tracking=True)
|
||||
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,7 +23,7 @@ class YuthonOfficialIncomingNormal(models.Model):
|
||||
incoming_file_id = fields.Char(string="收文编号")
|
||||
main_flats = fields.Char(string="主送")
|
||||
servings_number = fields.Integer(string="份数")
|
||||
urgency = fields.Selection([('normal', '一般'), ('urgent', '紧急'), ('extra_urgent', '特急')], string="紧急程度")
|
||||
urgency_level = fields.Selection([('normal', '一般'), ('urgent', '紧急'), ('extra_urgent', '特急')], string="紧急程度")
|
||||
secret_level = fields.Selection([('normal', '一般'), ('urgent', '秘密'), ('secret', '机密'), ('so_secret', '绝密')], string="密级")
|
||||
time_date = fields.Datetime(string="日期", default=fields.Datetime.now)
|
||||
users_id = fields.Many2one('res.users', string="拟办人", default=lambda self: self.env.user.id)
|
||||
@@ -44,6 +44,10 @@ class YuthonOfficialIncomingNormal(models.Model):
|
||||
room_booking_ids = fields.One2many('room.booking', 'incoming_normal_id', string="会议关联")
|
||||
issue_library_ids = fields.One2many('issue.library', 'incoming_normal_id', 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)
|
||||
|
||||
@api.onchange('is_issues')
|
||||
def _onchange_is_issues(self):
|
||||
|
||||
@@ -26,4 +26,10 @@ class YuthonOfficialLabor(models.Model):
|
||||
deadline = fields.Date(string="办理期限")
|
||||
red_suit = fields.Char(string="套红")
|
||||
official_documents_ids = fields.Many2many('ir.attachment', string="附件")
|
||||
urgency_level = fields.Selection([('normal', '一般'), ('urgent', '紧急'), ('extra_urgent', '特急')],
|
||||
string="紧急程度")
|
||||
active = fields.Boolean('Active', default=True, tracking=True)
|
||||
def _get_default_name_title(self):
|
||||
return self._description if self._description else self._name
|
||||
|
||||
name_title = fields.Char(default=_get_default_name_title)
|
||||
@@ -23,7 +23,7 @@ class YuthonOfficialParty(models.Model):
|
||||
main_flats = fields.Char(string="主送")
|
||||
copy_flats = fields.Char(string="抄送")
|
||||
servings_number = fields.Integer(string="份数")
|
||||
urgency = fields.Selection([('normal', '一般'), ('urgent', '紧急'), ('extra_urgent', '特急')], string="紧急程度")
|
||||
urgency_level = fields.Selection([('normal', '一般'), ('urgent', '紧急'), ('extra_urgent', '特急')], string="紧急程度")
|
||||
secret_level = fields.Selection([('normal', '一般'), ('urgent', '秘密'), ('secret', '机密'), ('so_secret', '绝密')],
|
||||
string="密级")
|
||||
date = fields.Datetime(string="日期", default=fields.Datetime.now)
|
||||
@@ -34,3 +34,7 @@ class YuthonOfficialParty(models.Model):
|
||||
red_suit = fields.Char(string="套红")
|
||||
official_documents_ids = fields.Many2many('documents.document', string="公文相关文件")
|
||||
active = fields.Boolean('Active', default=True, tracking=True)
|
||||
def _get_default_name_title(self):
|
||||
return self._description if self._description else self._name
|
||||
|
||||
name_title = fields.Char(default=_get_default_name_title)
|
||||
|
||||
@@ -22,9 +22,32 @@
|
||||
<field name="statu" widget="statusbar"/>
|
||||
</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>
|
||||
<field name="name" required="1"/>
|
||||
</h1>
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<field name="name" required="1"/>
|
||||
<field name="main_text" widget="tinymce"/>
|
||||
@@ -34,10 +57,7 @@
|
||||
<group>
|
||||
<field name="reference_cold"/>
|
||||
<field name="major_event_category"/>
|
||||
<field name="urgency"/>
|
||||
<field name="secret_level"/>
|
||||
<field name="is_issues"/>
|
||||
<field name="related_issues_id" invisible="not is_issues"/>
|
||||
<field name="remarks"/>
|
||||
</group>
|
||||
<group>
|
||||
|
||||
@@ -17,8 +17,25 @@
|
||||
<field name="arch" type="xml">
|
||||
<form create="0">
|
||||
<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="4">
|
||||
<group>
|
||||
<field name="code" string="流水号" readonly="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="urgency_level" readonly="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="is_issues"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="related_issues_id" invisible="not is_issues"/>
|
||||
</group>
|
||||
</group>
|
||||
<group string="审批事项">
|
||||
<field name="name" required="1"/>
|
||||
@@ -28,11 +45,8 @@
|
||||
<group string="行政信息">
|
||||
<group col="2">
|
||||
<field name="reference_cold"/>
|
||||
<field name="urgency"/>
|
||||
<field name="secret_level"/>
|
||||
<field name="time_date"/>
|
||||
<field name="is_issues"/>
|
||||
<field name="related_issues_id" invisible="not is_issues"/>
|
||||
<field name="remarks"/>
|
||||
</group>
|
||||
<group>
|
||||
|
||||
@@ -21,9 +21,26 @@
|
||||
<field name="statu" widget="statusbar"/>
|
||||
</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="main_text"/>
|
||||
@@ -33,10 +50,7 @@
|
||||
<group>
|
||||
<field name="reference_cold"/>
|
||||
<field name="major_event_category"/>
|
||||
<field name="urgency"/>
|
||||
<field name="secret_level"/>
|
||||
<field name="is_issues"/>
|
||||
<field name="related_issues_id" invisible="not is_issues"/>
|
||||
<field name="remarks"/>
|
||||
</group>
|
||||
<group>
|
||||
|
||||
@@ -18,19 +18,22 @@
|
||||
<field name="model">yuthon.official.labor</field>
|
||||
<field name="arch" type="xml">
|
||||
<form create="0">
|
||||
<header>
|
||||
<field name="statu" widget="statusbar"/>
|
||||
</header>
|
||||
<group>
|
||||
<field name="code" readonly="1" string="流水号:"/>
|
||||
</group>
|
||||
<sheet>
|
||||
<div class="oe_title">
|
||||
<label for="name"/>
|
||||
<h1>
|
||||
<field name="name" required="1"/>
|
||||
</h1>
|
||||
</div>
|
||||
<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>
|
||||
<group>
|
||||
<group>
|
||||
<field name="reference_cold"/>
|
||||
|
||||
@@ -21,10 +21,22 @@
|
||||
<header>
|
||||
<field name="statu" widget="statusbar"/>
|
||||
</header>
|
||||
<group>
|
||||
<field name="code" readonly="1" string="流水号:"/>
|
||||
</group>
|
||||
<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="oe_title">
|
||||
<label for="name"/>
|
||||
<h1>
|
||||
@@ -35,7 +47,6 @@
|
||||
<group>
|
||||
<field name="reference_cold"/>
|
||||
<field name="major_event_category"/>
|
||||
<field name="urgency"/>
|
||||
<field name="secret_level"/>
|
||||
<field name="date"/>
|
||||
</group>
|
||||
|
||||
@@ -23,8 +23,20 @@
|
||||
<button name="supervising_button" string="督办" type="object" class="btn-primary" invisible="not is_supervising"/>
|
||||
</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="oe_title">
|
||||
<label for="name"/>
|
||||
@@ -37,7 +49,6 @@
|
||||
<field name="official_partner_id"/>
|
||||
<field name="reference_cold"/>
|
||||
<field name="major_event_category"/>
|
||||
<field name="urgency"/>
|
||||
<field name="secret_level"/>
|
||||
<field name="date"/>
|
||||
<field name="deadline"/>
|
||||
@@ -65,9 +76,6 @@
|
||||
<page string="督办事项" invisible="not is_supervising">
|
||||
<field name="workflow_inspector_ids"/>
|
||||
</page>
|
||||
<page string="议题关联" invisible="not is_supervising">
|
||||
<field name="issue_library_ids"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
</form>
|
||||
|
||||
@@ -35,7 +35,6 @@ class PropertyTransferApproval(models.Model):
|
||||
transfer_remark = fields.Html(string="备注")
|
||||
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
|
||||
default='normal')
|
||||
active = fields.Boolean('Active', default=True, tracking=True)
|
||||
|
||||
def _get_default_name_title(self):
|
||||
return self._description if self._description else self._name
|
||||
|
||||
@@ -24,14 +24,19 @@
|
||||
invisible="urgency_level != 'urgent'"/>
|
||||
<widget name="web_ribbon" title="特级" bg_color="text-bg-danger"
|
||||
invisible="urgency_level != 'emergency'"/>
|
||||
<group col="3">
|
||||
<group col="4">
|
||||
<group>
|
||||
<field name="code" string="流水号" readonly="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="urgency_level" readonly="1"/>
|
||||
</group>
|
||||
<group/>
|
||||
<group>
|
||||
<field name="is_issues"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="related_issues_id" invisible="is_issues == False"/>
|
||||
</group>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
@@ -48,8 +53,6 @@
|
||||
<field name="source"/>
|
||||
<field name="users_id" invisible="1"/>
|
||||
<field name="department_id" invisible="1"/>
|
||||
<field name="is_issues"/>
|
||||
<field name="related_issues_id" invisible="not is_issues"/>
|
||||
<field name="property_documents_ids" widget="preview_many2many"/>
|
||||
</group>
|
||||
<group>
|
||||
|
||||
@@ -25,14 +25,19 @@
|
||||
invisible="urgency_level != 'urgent'"/>
|
||||
<widget name="web_ribbon" title="特级" bg_color="text-bg-danger"
|
||||
invisible="urgency_level != 'emergency'"/>
|
||||
<group col="3">
|
||||
<group col="4">
|
||||
<group>
|
||||
<field name="code" string="流水号" readonly="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="urgency_level" readonly="1"/>
|
||||
</group>
|
||||
<group/>
|
||||
<group>
|
||||
<field name="is_issues"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="related_issues_id" invisible="is_issues == False"/>
|
||||
</group>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
@@ -42,8 +47,6 @@
|
||||
<group string="审批事项">
|
||||
<field name="name"/>
|
||||
<field name="reason"/>
|
||||
<field name="is_issues"/>
|
||||
<field name="related_issues_id" invisible="not is_issues"/>
|
||||
<field name="contract_id" widget="preview_many2one"/>
|
||||
<field name="property_documents_ids" widget="preview_many2many"/>
|
||||
</group>
|
||||
|
||||
@@ -22,14 +22,19 @@
|
||||
invisible="urgency_level != 'urgent'"/>
|
||||
<widget name="web_ribbon" title="特级" bg_color="text-bg-danger"
|
||||
invisible="urgency_level != 'emergency'"/>
|
||||
<group col="3">
|
||||
<group col="4">
|
||||
<group>
|
||||
<field name="code" string="流水号" readonly="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="urgency_level" readonly="1"/>
|
||||
</group>
|
||||
<group/>
|
||||
<group>
|
||||
<field name="is_issues"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="related_issues_id" invisible="is_issues == False"/>
|
||||
</group>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
@@ -39,8 +44,6 @@
|
||||
<group string="审批事项">
|
||||
<field name="name" required="1"/>
|
||||
<field name="reason"/>
|
||||
<field name="is_issues"/>
|
||||
<field name="related_issues_id" invisible="not is_issues"/>
|
||||
<field name="notice_documents_ids" widget="preview_many2many"/>
|
||||
</group>
|
||||
<group string="个人信息">
|
||||
|
||||
@@ -23,11 +23,23 @@
|
||||
<header>
|
||||
<button name="put_property_record" type="object" string="提交备案申请" class="oe_highlight"/>
|
||||
</header>
|
||||
<group col="4">
|
||||
<group>
|
||||
<field name="code" string="流水号" readonly="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="urgency_level" readonly="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="is_issues" invisible="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="related_issues_id" invisible="is_issues == False"/>
|
||||
</group>
|
||||
</group>
|
||||
<group string="审批事项">
|
||||
<field name="name" required="1"/>
|
||||
<field name="main_text"/>
|
||||
<field name="is_issues"/>
|
||||
<field name="related_issues_id" invisible="not is_issues"/>
|
||||
<field name="notice_documents_ids" widget="preview_many2many"/>
|
||||
</group>
|
||||
<group>
|
||||
|
||||
@@ -24,14 +24,19 @@
|
||||
invisible="urgency_level != 'urgent'"/>
|
||||
<widget name="web_ribbon" title="特级" bg_color="text-bg-danger"
|
||||
invisible="urgency_level != 'emergency'"/>
|
||||
<group col="3">
|
||||
<group col="4">
|
||||
<group>
|
||||
<field name="code" string="流水号" readonly="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="urgency_level" readonly="1"/>
|
||||
</group>
|
||||
<group/>
|
||||
<group>
|
||||
<field name="is_issues"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="related_issues_id" invisible="is_issues == False"/>
|
||||
</group>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
@@ -48,8 +53,6 @@
|
||||
<field name="users_id" invisible="1"/>
|
||||
<field name="department_id" invisible="1"/>
|
||||
<field name="source"/>
|
||||
<field name="is_issues"/>
|
||||
<field name="related_issues_id" invisible="not is_issues"/>
|
||||
<field name="property_documents_ids" widget="preview_many2many"/>
|
||||
</group>
|
||||
<group>
|
||||
|
||||
@@ -23,14 +23,19 @@
|
||||
invisible="urgency_level != 'urgent'"/>
|
||||
<widget name="web_ribbon" title="特级" bg_color="text-bg-danger"
|
||||
invisible="urgency_level != 'emergency'"/>
|
||||
<group col="3">
|
||||
<group col="4">
|
||||
<group>
|
||||
<field name="code" string="流水号" readonly="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="urgency_level" readonly="1"/>
|
||||
</group>
|
||||
<group/>
|
||||
<group>
|
||||
<field name="is_issues"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="related_issues_id" invisible="is_issues == False"/>
|
||||
</group>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
@@ -40,8 +45,6 @@
|
||||
<group string="审批事项">
|
||||
<field name="name" required="1"/>
|
||||
<field name="reason"/>
|
||||
<field name="is_issues"/>
|
||||
<field name="related_issues_id" invisible="not is_issues"/>
|
||||
<field name="notice_documents_ids" widget="preview_many2many"/>
|
||||
</group>
|
||||
<group string="个人信息">
|
||||
|
||||
@@ -25,14 +25,19 @@
|
||||
invisible="urgency_level != 'urgent'"/>
|
||||
<widget name="web_ribbon" title="特级" bg_color="text-bg-danger"
|
||||
invisible="urgency_level != 'emergency'"/>
|
||||
<group col="3">
|
||||
<group col="4">
|
||||
<group>
|
||||
<field name="code" string="流水号" readonly="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="urgency_level" readonly="1"/>
|
||||
</group>
|
||||
<group/>
|
||||
<group>
|
||||
<field name="is_issues"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="related_issues_id" invisible="is_issues == False"/>
|
||||
</group>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
@@ -42,8 +47,6 @@
|
||||
<group string="审批事项">
|
||||
<field name="name"/>
|
||||
<field name="reason"/>
|
||||
<field name="is_issues"/>
|
||||
<field name="related_issues_id" invisible="not is_issues"/>
|
||||
<field name="original_contract_id" widget="preview_many2one"/>
|
||||
<field name="property_documents_ids" widget="preview_many2many"/>
|
||||
</group>
|
||||
|
||||
@@ -28,14 +28,19 @@
|
||||
invisible="urgency_level != 'urgent'"/>
|
||||
<widget name="web_ribbon" title="特级" bg_color="text-bg-danger"
|
||||
invisible="urgency_level != 'emergency'"/>
|
||||
<group col="3">
|
||||
<group col="4">
|
||||
<group>
|
||||
<field name="code" string="流水号" readonly="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="urgency_level" readonly="1"/>
|
||||
</group>
|
||||
<group/>
|
||||
<group>
|
||||
<field name="is_issues"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="related_issues_id" invisible="is_issues == False"/>
|
||||
</group>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
@@ -47,8 +52,6 @@
|
||||
<field name="department_id" invisible="1"/>
|
||||
<field name="name"/>
|
||||
<field name="reason"/>
|
||||
<field name="is_issues"/>
|
||||
<field name="related_issues_id" invisible="not is_issues"/>
|
||||
<field name="notice_documents_ids" widget="preview_many2many"/>
|
||||
</group>
|
||||
<notebook>
|
||||
@@ -81,9 +84,6 @@
|
||||
</group>
|
||||
</group>
|
||||
</page>
|
||||
<page string="关联议会" invisible="not is_issues">
|
||||
<field name="related_issues_id"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
</form>
|
||||
|
||||
@@ -25,14 +25,19 @@
|
||||
invisible="urgency_level != 'urgent'"/>
|
||||
<widget name="web_ribbon" title="特级" bg_color="text-bg-danger"
|
||||
invisible="urgency_level != 'emergency'"/>
|
||||
<group col="3">
|
||||
<group col="4">
|
||||
<group>
|
||||
<field name="code" string="流水号" readonly="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="urgency_level" readonly="1"/>
|
||||
</group>
|
||||
<group/>
|
||||
<group>
|
||||
<field name="is_issues"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="related_issues_id" invisible="is_issues == False"/>
|
||||
</group>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
@@ -44,8 +49,6 @@
|
||||
<field name="property_id"/>
|
||||
<field name="monthly_rent"/>
|
||||
<field name="contract_years"/>
|
||||
<field name="is_issues"/>
|
||||
<field name="related_issues_id" invisible="not is_issues"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="increment_rate"/>
|
||||
@@ -75,9 +78,6 @@
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
<page string="关联议题" invisible="not is_issues">
|
||||
<field name="related_issues_id"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
</form>
|
||||
|
||||
@@ -23,14 +23,19 @@
|
||||
invisible="urgency_level != 'urgent'"/>
|
||||
<widget name="web_ribbon" title="特级" bg_color="text-bg-danger"
|
||||
invisible="urgency_level != 'emergency'"/>
|
||||
<group col="3">
|
||||
<group col="4">
|
||||
<group>
|
||||
<field name="code" string="流水号" readonly="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="urgency_level" readonly="1"/>
|
||||
</group>
|
||||
<group/>
|
||||
<group>
|
||||
<field name="is_issues"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="related_issues_id" invisible="is_issues == False"/>
|
||||
</group>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
@@ -40,8 +45,6 @@
|
||||
<group string="审批事项">
|
||||
<field name="name"/>
|
||||
<field name="reason"/>
|
||||
<field name="is_issues"/>
|
||||
<field name="related_issues_id" invisible="1"/>
|
||||
<field name="property_documents_ids" widget="many2many_tags"/>
|
||||
</group>
|
||||
<group string="物业信息">
|
||||
|
||||
@@ -26,14 +26,19 @@
|
||||
invisible="urgency_level != 'urgent'"/>
|
||||
<widget name="web_ribbon" title="特级" bg_color="text-bg-danger"
|
||||
invisible="urgency_level != 'emergency'"/>
|
||||
<group col="3">
|
||||
<group col="4">
|
||||
<group>
|
||||
<field name="code" string="流水号" readonly="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="urgency_level" readonly="1"/>
|
||||
</group>
|
||||
<group/>
|
||||
<group>
|
||||
<field name="is_issues"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="related_issues_id" invisible="is_issues == False"/>
|
||||
</group>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
@@ -62,8 +67,6 @@
|
||||
</group>
|
||||
</group>
|
||||
<group>
|
||||
<field name="is_issues"/>
|
||||
<field name="related_issues_id" invisible="not is_issues"/>
|
||||
<field name="notice_documents_ids" widget="preview_many2many"/>
|
||||
</group>
|
||||
<notebook>
|
||||
|
||||
@@ -25,14 +25,19 @@
|
||||
invisible="urgency_level != 'urgent'"/>
|
||||
<widget name="web_ribbon" title="特级" bg_color="text-bg-danger"
|
||||
invisible="urgency_level != 'emergency'"/>
|
||||
<group col="3">
|
||||
<group col="4">
|
||||
<group>
|
||||
<field name="code" string="流水号" readonly="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="urgency_level" readonly="1"/>
|
||||
</group>
|
||||
<group/>
|
||||
<group>
|
||||
<field name="is_issues"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="related_issues_id" invisible="is_issues == False"/>
|
||||
</group>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
@@ -42,8 +47,6 @@
|
||||
<group string="审批事项">
|
||||
<field name="name"/>
|
||||
<field name="reason"/>
|
||||
<field name="is_issues"/>
|
||||
<field name="related_issues_id" invisible="1"/>
|
||||
<field name="property_documents_ids" widget="many2many_tags"/>
|
||||
</group>
|
||||
<group col="2">
|
||||
|
||||
@@ -26,14 +26,19 @@
|
||||
invisible="urgency_level != 'urgent'"/>
|
||||
<widget name="web_ribbon" title="特级" bg_color="text-bg-danger"
|
||||
invisible="urgency_level != 'emergency'"/>
|
||||
<group col="3">
|
||||
<group col="4">
|
||||
<group>
|
||||
<field name="code" string="流水号" readonly="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="urgency_level" readonly="1"/>
|
||||
</group>
|
||||
<group/>
|
||||
<group>
|
||||
<field name="is_issues"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="related_issues_id" invisible="is_issues == False"/>
|
||||
</group>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
@@ -51,8 +56,6 @@
|
||||
<group>
|
||||
<field name="registered_id"/>
|
||||
<field name="evaluation_area"/>
|
||||
<field name="is_issues" invisible="1"/>
|
||||
<field name="related_issues_id" invisible="not is_issues"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="now_rent_price"/>
|
||||
@@ -89,9 +92,6 @@
|
||||
</field>
|
||||
</group>
|
||||
</page>
|
||||
<page string="关联议题" invisible="not is_issues">
|
||||
<field name="related_issues_id"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
</form>
|
||||
|
||||
@@ -22,14 +22,19 @@
|
||||
invisible="urgency_level != 'urgent'"/>
|
||||
<widget name="web_ribbon" title="特级" bg_color="text-bg-danger"
|
||||
invisible="urgency_level != 'emergency'"/>
|
||||
<group col="3">
|
||||
<group col="4">
|
||||
<group>
|
||||
<field name="code" string="流水号" readonly="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="urgency_level" readonly="1"/>
|
||||
</group>
|
||||
<group/>
|
||||
<group>
|
||||
<field name="is_issues"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="related_issues_id" invisible="is_issues == False"/>
|
||||
</group>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
@@ -41,8 +46,6 @@
|
||||
<field name="reason"/>
|
||||
<field name="users_id" invisible="1"/>
|
||||
<field name="department_id" invisible="1"/>
|
||||
<field name="is_issues"/>
|
||||
<field name="related_issues_id" invisible="not is_issues"/>
|
||||
<field name="documents_ids" widget="preview_many2many"/>
|
||||
</group>
|
||||
<notebook>
|
||||
@@ -66,9 +69,6 @@
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
<page string="关联会议" invisible="not is_issues">
|
||||
<field name="related_issues_id"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
</form>
|
||||
|
||||
@@ -28,14 +28,19 @@
|
||||
invisible="urgency_level != 'urgent'"/>
|
||||
<widget name="web_ribbon" title="特级" bg_color="text-bg-danger"
|
||||
invisible="urgency_level != 'emergency'"/>
|
||||
<group col="3">
|
||||
<group col="4">
|
||||
<group>
|
||||
<field name="code" string="流水号" readonly="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="urgency_level" readonly="1"/>
|
||||
</group>
|
||||
<group/>
|
||||
<group>
|
||||
<field name="is_issues" invisible="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="related_issues_id" invisible="is_issues == False"/>
|
||||
</group>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
@@ -45,8 +50,6 @@
|
||||
<group string="审批事项">
|
||||
<field name="name"/>
|
||||
<field name="reason"/>
|
||||
<field name="is_issues" invisible="1"/>
|
||||
<field name="related_issues_id" invisible="not is_issues"/>
|
||||
<field name="notice_documents_ids" widget="preview_many2many"/>
|
||||
</group>
|
||||
<group col="2" string="物业信息">
|
||||
@@ -81,9 +84,6 @@
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
<page string="关联议题" invisible="not is_issues">
|
||||
<field name="related_issues_id"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
</form>
|
||||
|
||||
@@ -23,14 +23,19 @@
|
||||
invisible="urgency_level != 'urgent'"/>
|
||||
<widget name="web_ribbon" title="特级" bg_color="text-bg-danger"
|
||||
invisible="urgency_level != 'emergency'"/>
|
||||
<group col="3">
|
||||
<group col="4">
|
||||
<group>
|
||||
<field name="code" string="流水号" readonly="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="urgency_level" readonly="1"/>
|
||||
</group>
|
||||
<group/>
|
||||
<group>
|
||||
<field name="is_issues" invisible="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="related_issues_id" invisible="is_issues == False"/>
|
||||
</group>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
@@ -40,8 +45,6 @@
|
||||
<group string="审批事项">
|
||||
<field name="name"/>
|
||||
<field name="reason"/>
|
||||
<field name="is_issues"/>
|
||||
<field name="related_issues_id" invisible="not is_issues"/>
|
||||
<field name="documents_ids" widget="preview_many2many"/>
|
||||
</group>
|
||||
<group string="物业信息">
|
||||
|
||||
@@ -18,8 +18,33 @@
|
||||
<field name="arch" type="xml">
|
||||
<form string="物业移交" create="0">
|
||||
<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="4">
|
||||
<group>
|
||||
<field name="code" string="流水号" readonly="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="urgency_level" readonly="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="is_issues"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="related_issues_id" invisible="is_issues == False"/>
|
||||
</group>
|
||||
</group>
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
<field name="name_title" readonly="1"/>
|
||||
</h1>
|
||||
</div>
|
||||
<group string="审批事项">
|
||||
<field name="name" required="1"/>
|
||||
<field name="name"/>
|
||||
<field name="reason"/>
|
||||
<field name="notice_documents_ids" widget="preview_many2many"/>
|
||||
</group>
|
||||
@@ -32,8 +57,6 @@
|
||||
<group>
|
||||
<field name="code"/>
|
||||
<field name="department_id"/>
|
||||
<field name="is_issues"/>
|
||||
<field name="related_issues_id" invisible="not is_issues"/>
|
||||
</group>
|
||||
</group>
|
||||
<group string="物业信息">
|
||||
|
||||
Reference in New Issue
Block a user