shcool/school/views/course_views.xml
2026-08-03 12:03:31 +08:00

149 lines
6.9 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- 课程:列表视图 -->
<record id="view_yuthon_school_course_list" model="ir.ui.view">
<field name="name">yuthon.school.course.list</field>
<field name="model">yuthon.school.course</field>
<field name="arch" type="xml">
<list string="课程">
<field name="name"/>
<field name="code"/>
<field name="category_id"/>
<field name="teacher_id"/>
<field name="difficulty"/>
<field name="state"/>
<field name="total_hours"/>
<field name="enrollment_count"/>
<field name="syllabus_count"/>
</list>
</field>
</record>
<!-- 课程:表单视图 -->
<record id="view_yuthon_school_course_form" model="ir.ui.view">
<field name="name">yuthon.school.course.form</field>
<field name="model">yuthon.school.course</field>
<field name="arch" type="xml">
<form>
<header>
<button name="action_recruit" type="object" string="开始招生"
class="btn-primary" invisible="state != 'draft'"/>
<button name="action_start" type="object" string="开课"
invisible="state not in ('draft', 'recruiting')"/>
<button name="action_finish" type="object" string="结课"
invisible="state != 'ongoing'"/>
<field name="state" widget="statusbar" statusbar_visible="draft,recruiting,ongoing,finished"/>
</header>
<sheet>
<group>
<group>
<field name="name"/>
<field name="code"/>
<field name="category_id"/>
<field name="teacher_id"/>
</group>
<group>
<field name="difficulty"/>
<field name="total_hours"/>
<field name="enrollment_count"/>
<field name="syllabus_count"/>
</group>
</group>
<field name="description" placeholder="课程目标、适合人群、考核方式……"/>
<notebook>
<page string="关联教材" name="textbooks">
<field name="textbook_ids" widget="many2many">
<list>
<field name="name"/>
<field name="difficulty"/>
<field name="total_chapters"/>
<field name="total_hours"/>
<field name="total_videos"/>
<field name="state"/>
</list>
<form>
<field name="name"/>
<field name="difficulty"/>
<field name="state"/>
<field name="description"/>
</form>
</field>
</page>
<page string="课程大纲" name="syllabus">
<field name="syllabus_ids">
<list editable="bottom">
<field name="sequence" optional="show"/>
<field name="week"/>
<field name="name"/>
<field name="chapter_ids" widget="many2many_tags"/>
<field name="objective" optional="hide"/>
</list>
<form>
<group>
<field name="name"/>
<field name="week"/>
<field name="course_id" invisible="1"/>
</group>
<group>
<field name="chapter_ids" widget="many2many_tags"
domain="[('textbook_id', 'in', parent.textbook_ids)]"/>
</group>
<field name="objective" placeholder="学完本条目应掌握的能力"/>
<field name="content"/>
</form>
</field>
</page>
<page string="选课学生" name="students">
<field name="student_ids" widget="many2many">
<list>
<field name="name"/>
<field name="student_no"/>
<field name="class_id"/>
<field name="school_id"/>
</list>
<form>
<field name="name"/>
<field name="student_no"/>
<field name="class_id"/>
</form>
</field>
</page>
</notebook>
</sheet>
</form>
</field>
</record>
<!-- 课程:搜索视图 -->
<record id="view_yuthon_school_course_search" model="ir.ui.view">
<field name="name">yuthon.school.course.search</field>
<field name="model">yuthon.school.course</field>
<field name="arch" type="xml">
<search>
<field name="name"/>
<field name="code"/>
<field name="category_id"/>
<field name="teacher_id"/>
<field name="difficulty"/>
<field name="state"/>
</search>
</field>
</record>
<!-- 课程:动作 -->
<record id="action_yuthon_course" model="ir.actions.act_window">
<field name="name">课程管理</field>
<field name="res_model">yuthon.school.course</field>
<field name="view_mode">list,form</field>
<field name="search_view_id" ref="view_yuthon_school_course_search"/>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
暂无课程,点击「新建」创建一门课程(关联教材、大纲与选课学生)。
</p>
</field>
</record>
</odoo>