添加功能

This commit is contained in:
zhou
2025-05-07 16:29:28 +08:00
parent 3d2117f1c9
commit f73d7e00e1
7 changed files with 33 additions and 31 deletions
+1 -1
View File
@@ -168,7 +168,7 @@ class RoomBooking(models.Model):
'start_time': self.start_datetime,
'task_type':task_type.id,
'employee_ids': [(6, 0, employee_records.ids)],
'state':'will',
'task_state':'will',
'task_content': '面试安排'
})
# 企业用户发送通知
@@ -5,11 +5,11 @@
<field name="model">issue.approval.decision</field>
<field name="arch" type="xml">
<tree string="决策清单">
<field name="sequence" column_invisible="1"/>
<field name="sequence" optional="hide"/>
<field name="specifics" required="1"/>
<field name="decision_type_id" column_invisible="1"/>
<field name="decision_type_id" optional="hide"/>
<field name="decision_type_on_id" column_invisible="1"/>
<field name="management_matters_id" column_invisible="1"/>
<field name="management_matters_id" optional="hide"/>
<field name="council_id"/>
<field name="team_meet_id"/>
<field name="board_meet_id"/>
@@ -81,7 +81,7 @@
<filter name="group_decision_type_on_id" string="事项类别上级"
context="{'group_by': 'decision_type_on_id'}"/>
<filter name="group_decision_type_id" string="事项类别" context="{'group_by': 'decision_type_id'}"/>
<filter name="management_matters_id" string="管理事项" context="{'group_by': 'management_matters_id'}"/>
<filter name="group_management_matters_id" string="管理事项" context="{'group_by': 'management_matters_id'}"/>
</group>
</search>
</field>
@@ -75,7 +75,7 @@
<field name="company_id" invisible="1"/>
<field name="tenure_type" invisible="1"/>
<field name="precinct_id" invisible="1"/>
<field name="asset_type_id" readonly="1"/>
<field name="asset_type_id"/>
<field name="management_area" invisible="1"/>
<field name="rent_area" invisible="1"/>
<field name="equity_area" invisible="1"/>
@@ -20,6 +20,7 @@ class InheritRoomBooking(models.Model):
'employee_ids': [(6, 0, employee_list)],
'task_time_ids': [(6, 0, task_time_ids.ids)],
'start_time': new_record.start_datetime,
'task_state':'will',
'end_time': new_record.stop_datetime
})
return new_record
+13 -14
View File
@@ -28,37 +28,36 @@ class YuthonWillTask(models.Model):
task_time_ids = fields.Many2many('yuthon.task.time', string='提醒')
start_time = fields.Datetime(string='开始时间', default=fields.Datetime.now)
end_time = fields.Datetime(string='结束时间', default=lambda self: datetime.combine(datetime.now().date(), time(11, 0, 0)))
state = fields.Selection([('will', '待办'), ('done', '已办'), ('cancel', '取消')], default='will', string='状态', store=True)
task_state = fields.Selection([('will', '待办'), ('done', '已办'), ('cancel', '取消')], default='will', string='状态', store=True)
@api.onchange('employee_ids')
def _onchange_employee_ids(self):
user_ids = []
if self.user_id:
user_ids.append(self.user_id.id)
for employee in self.employee_ids:
if employee.user_id:
user_ids.append(employee.user_id.id)
for employee2 in self.employee_ids2:
if employee2.user_id:
user_ids.append(employee2.user_id.id)
roles = self.employee_ids.mapped('user_role_id')
self.user_role_ids = roles
self.users_ids = [(6, 0, user_ids)]
def read_number(self):
current_time = datetime.now()
return self.search_count([
('state', '=', 'will'),
('task_state', '=', 'will'),
('users_ids', 'in', self.env.user.id),
('end_time', '>', current_time)
])
@api.onchange('employee_ids')
def onchange_employee_ids(self):
for task in self:
users = task.employee_ids.mapped('user_id')
roles = task.employee_ids.mapped('user_role_id')
task.users_ids = users
task.user_role_ids = roles
def will_task_time(self):
for i in self.search([('state', '=', 'will')]):
for i in self.search([('task_state', '=', 'will')]):
if datetime.now() + timedelta(hours=8) > i.start_time:
i.write({'state': 'done'})
for task in self.search([('state', '=', 'will')]):
i.write({'task_state': 'done'})
for task in self.search([('task_state', '=', 'will')]):
now = datetime.now() + timedelta(hours=8)
start_time = task.start_time + timedelta(hours=8)
_logger.info("定时任务执行中")
@@ -121,7 +120,7 @@ class YuthonWillTask(models.Model):
}
def button_add_comment_cancel(self):
self.write({'state': 'cancel'})
self.write({'task_state': 'cancel'})
employee_list = [i.id for i in self.employee_ids] + [i.id for i in self.employee_ids2]
for employee_id in self.env['hr.employee'].search([('id', 'in', employee_list)]):
if not employee_id.wecom_userid:
@@ -16,7 +16,7 @@ export class CustomTaskListController extends ListController {
view_type: 'form',
views: [[false, 'form']],
target: 'current',
context: {},
context: {'task_state': 'will'},
});
}
openMeetForm() {
@@ -5,7 +5,7 @@
<field name='model'>yuthon.will.task</field>
<field name='arch' type='xml'>
<tree string='日程'
decoration-muted = "state == 'cancel'"
decoration-muted = "task_state == 'cancel'"
decoration-danger="priority == 'very_urgent'"
decoration-info="priority == 'urgent'"
decoration-primary="priority == 'general'"
@@ -21,9 +21,9 @@
<field name='users_ids' widget="many2many_tags" optional="hide"/>
<field name='user_role_ids' widget="many2many_tags" optional="hide"/>
<field name='employee_ids2' widget="many2many_tags" domain="[('user_role_ids.name', 'in', ['司机'])]"/>
<field name='state' readonly="1"/>
<button name="button_add_comment" string="提醒" type="object" class="oe_highlight" invisible="state == 'cancel'"/>
<button name="button_add_comment_cancel" string="取消" type="object" class="oe_highlight" invisible="state == 'cancel'"/>
<field name='task_state' readonly="1"/>
<button name="button_add_comment" string="提醒" type="object" class="oe_highlight" invisible="task_state == 'cancel'"/>
<button name="button_add_comment_cancel" string="取消" type="object" class="oe_highlight" invisible="task_state == 'cancel'"/>
</tree>
</field>
</record>
@@ -61,9 +61,11 @@
</group>
</group>
<group>
<field name="user_id" invisible="1"/>
<field name="user_id"/>
<field name="task_state" invisible="1"/>
<field name="employee_ids" widget="many2many_tags" options="{'no_create': True}"/>
<field name='employee_ids2' widget="many2many_tags" domain="[('user_role_ids.name', 'in', ['司机'])]"/>
<field name="user_role_ids" widget="many2many_tags" invisible="1"/>
<field name='users_ids' widget="many2many_tags" invisible="1"/>
<field name="remarks"/>
<field name="creation_time" invisible="1"/>
@@ -85,7 +87,7 @@
<field name='model'>yuthon.will.task</field>
<field name='arch' type='xml'>
<tree string='日程'
decoration-muted = "state == 'cancel'"
decoration-muted = "task_state == 'cancel'"
decoration-danger="priority == 'very_urgent'"
decoration-info="priority == 'urgent'"
decoration-primary="priority == 'general'"
@@ -101,9 +103,9 @@
<field name='users_ids' widget="many2many_tags" optional="hide"/>
<field name='user_role_ids' widget="many2many_tags" optional="hide"/>
<field name='employee_ids2' widget="many2many_tags" domain="[('user_role_ids.name', 'in', ['司机'])]"/>
<field name='state' readonly="1"/>
<button name="button_add_comment" string="提醒" type="object" class="oe_highlight" invisible="state == 'cancel'"/>
<button name="button_add_comment_cancel" string="取消" type="object" class="oe_highlight" invisible="state == 'cancel'"/>
<field name='task_state' readonly="1"/>
<button name="button_add_comment" string="提醒" type="object" class="oe_highlight" invisible="task_state == 'cancel'"/>
<button name="button_add_comment_cancel" string="取消" type="object" class="oe_highlight" invisible="task_state == 'cancel'"/>
</tree>
</field>
</record>
@@ -128,7 +130,7 @@
</group>
</group>
<group>
<field name="user_id" invisible="1"/>
<field name="user_id"/>
<field name="employee_ids" widget="many2many_tags" options="{'no_create': True}"/>
<field name='employee_ids2' widget="many2many_tags" domain="[('user_role_ids.name', 'in', ['司机'])]"/>
<field name='users_ids' widget="many2many_tags" invisible="1"/>