Files
gzth/soong_workflow/views/yuthon_will_task_views.xml
T
2025-12-17 09:59:36 +08:00

194 lines
11 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<record id='view_yuthon_will_task_list' model='ir.ui.view'>
<field name='name'>yuthon.will.task.list</field>
<field name='model'>yuthon.will.task</field>
<field name='arch' type='xml'>
<list string='日程'
decoration-muted="task_state == 'cancel'"
decoration-danger="priority == 'very_urgent'"
decoration-info="priority == 'urgent'"
decoration-success="priority == 'important'">
<field name="task_time" />
<field name="start_date" string="任务日期" />
<field name="request_hour_from" string="开始时间" />
<field name="task_time_ids" string="提醒配置" widget="many2many_tags"
context="{'default_will_task_ids': [(4, id)]}" />
<field name="name" required="1" />
<field name="employee_ids" widget="many2many_tags" required="1"
options="{'no_create': True}" />
<field name="address" />
<field name="remarks" />
<field name="document_ids" widget="many2many_tags" />
<field name="priority" />
<field name="task_state" readonly="1" />
<field name="users_ids" widget="many2many_tags" column_invisible="1" />
<field name="user_id" optional="hide" />
<field name="creation_time" optional="hide" />
<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 != 'will'" />
</list>
</field>
</record>
<record id='yuthon_will_task_search' model='ir.ui.view'>
<field name='name'>yuthon.will.task.search</field>
<field name='model'>yuthon.will.task</field>
<field name='arch' type='xml'>
<search string='日程'>
<field name="name" />
<field name="start_date" string="任务日期" />
<field name="priority" />
<field name="task_state" />
<field name="employee_ids" widget="many2many_tags" string="参与人" />
<filter name="next_seven_days" string="周内事项"
domain="[('start_date', '>=', context_today().strftime('%Y-%m-%d')),
('start_date', '&lt;=', (context_today() + relativedelta(days=7)).strftime('%Y-%m-%d'))]" />
<filter name="next_thirty_days" string="月内事项"
domain="[('start_date', '>=', context_today().strftime('%Y-%m-%d')),
('start_date', '&lt;=', (context_today() + relativedelta(days=30)).strftime('%Y-%m-%d'))]" />
<filter name="today_task" string="今日任务"
domain="[('start_date', '=', context_today().strftime('%Y-%m-%d'))]" />
</search>
</field>
</record>
<record id="view_yuthon_will_task_form" model="ir.ui.view">
<field name="name">yuthon.will.task.form</field>
<field name="model">yuthon.will.task</field>
<field name="arch" type="xml">
<form string="日程">
<sheet>
<widget name="web_ribbon" title="重要不紧急" bg_color="text-bg-success"
invisible="priority != 'important'" />
<widget name="web_ribbon" title="紧急不重要" bg_color="text-bg-warning"
invisible="priority != 'urgent'" />
<widget name="web_ribbon" title="重要且紧急" bg_color="text-bg-danger"
invisible="priority != 'very_urgent'" />
<group col="3">
<group>
<field name="code" readonly="1" />
</group>
<group>
<field name="priority" />
</group>
</group>
<div class="oe_title">
<label for="name" />
<h1>
<field name="name" required="1" />
</h1>
</div>
<group string="测试计算字段" groups="base.group_system">
<field name="task_time_data" />
</group>
<group col="2">
<group>
<label for="start_date" />
<div class="d-inline-flex w-100">
<field name="start_date" string="日期:" class="me-2"
style="max-width: 10rem !important;" />时间 <field
name="request_hour_from" string=" " class="ms-2"
style="max-width: 5rem !important;" />至 <field
name="request_hour_to" string=" " class="ms-2"
style="max-width: 5rem !important;" />
</div>
</group>
<group>
<field name="task_time_ids" widget="many2many_tags"
context="{'default_will_task_ids': [(4, id)] if id else []}" />
</group>
</group>
<group>
<field name="user_id" />
<field name="task_state" invisible="1" />
<field name="company_id" invisible="1" />
<field name="employee_ids" string="参与人员" widget="many2many_tags"
options="{'no_create': True, 'placeholder': '选择参与的员工'}" />
<field name="employee_ids2" string="司机" widget="many2many_tags"
options="{'no_create': True, 'placeholder': '选择司机(可选)'}" />
</group>
<group col="2" class="mt-4">
<group>
<field name="address" />
</group>
</group>
<group class="mt-2">
<field name="remarks" />
<field name="document_ids" />
<field name="creation_time" invisible="1" />
</group>
<notebook class="mt-4">
<page string="任务步骤明细">
<field name="task_step_ids">
<list editable="bottom"
decoration-success="state == 'done'"
decoration-danger="state == 'rejected'">
<field name="node" string="节点" required="1" />
<field name="opinion" string="意见" />
<field name="user_id" string="姓名" required="1" />
<field name="step_time" string="时间" />
<field name="state" string="状态" />
</list>
<kanban class="o_kanban_mobile" color="state">
<field name="node" />
<field name="opinion" />
<field name="user_id" />
<field name="step_time" />
<field name="state" />
<templates>
<t t-name="kanban-box">
<div class="o_kanban_record d-md-none card h-100">
<div class="card-header"
t-att-class="{'bg-success': state == 'done', 'bg-danger': state == 'rejected', 'bg-warning': state == 'processing', 'bg-secondary': state == 'todo'}">
<strong>
<field name="node" />
</strong>
</div>
<div class="card-body">
<div class="mb-2">
<small>经办人: [<field name="user_id" />] </small>
</div>
<div class="mb-2">
<small>
<field name="step_time"
widget="datetime" format="short" />
</small>
</div>
<div t-if="record.opinion.raw_value"
class="mb-2">
<small>[<field name="user_id" />]</small>
</div>
</div>
</div>
</t>
</templates>
</kanban>
</field>
</page>
</notebook>
</sheet>
</form>
</field>
</record>
<record id='view_yuthon_will_task_action' model='ir.actions.act_window'>
<field name='name'>我的日程</field>
<field name='res_model'>yuthon.will.task</field>
<field name='view_mode'>list,form</field>
<field name='domain'>['|',('users_ids', 'in', [uid]), ('user_id', '=', uid)]</field>
<field name="context">{'search_default_next_seven_days': 1}</field>
<field name="view_id" ref="view_yuthon_will_task_list" />
</record>
<record id='view_yuthon_will_task_action2' model='ir.actions.act_window'>
<field name='name'>日程管理</field>
<field name='res_model'>yuthon.will.task</field>
<field name='view_mode'>list,form</field>
<field name="context">{'search_default_next_seven_days': 1}</field>
<field name="view_id" ref="view_yuthon_will_task_list" />
<field name="groups_id" eval="[(6,0,[ref('base.group_system')])]" />
</record>
</odoo>