lrf402788946 %!s(int64=5) %!d(string=hai) anos
pai
achega
fa728673fe
Modificáronse 2 ficheiros con 65 adicións e 3 borrados
  1. 1 1
      src/router/index.js
  2. 64 2
      src/views/plan/lesson-plan.vue

+ 1 - 1
src/router/index.js

@@ -236,7 +236,7 @@ const routes = [
       {
         path: '/plan/lesson',
         name: 'plan_lesson',
-        meta: { title: '安排', sub: '班级' },
+        meta: { title: '安排', sub: '课程' },
         component: () => import('@/views/plan/lesson.vue'),
       },
     ],

+ 64 - 2
src/views/plan/lesson-plan.vue

@@ -6,14 +6,56 @@
           <span style="font-size:24px">{{ item.term }}期{{ item.batch }}批{{ index + 1 }}班</span>
         </template>
         <data-table style="padding:10px" ref="table" :fields="fields" :data="item.setting" :opera="opera" @edit="toEdit"></data-table>
+        <el-form :inline="true" size="mini" style="padding:0 10px" label-width="150px">
+          <el-form-item label="礼仪课教师">
+            <el-select v-model="item.lyteacher" placeholder="请选择礼仪课教师">
+              <el-option v-for="(tea, index) in lyTeacherList" :key="`lytea${index}`" :label="tea.name" :value="tea.id"></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="开班地点">
+            <el-select v-model="item.kb" placeholder="请选择开班地点">
+              <el-option v-for="(place, index) in placeList" :key="`lytea${index}`" :label="place.name" :value="place.id"></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="教室地点">
+            <el-select v-model="item.room" placeholder="请选择教室地点">
+              <el-option v-for="(place, index) in placeList" :key="`lytea${index}`" :label="place.name" :value="place.id"></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="拓展训练地点">
+            <el-select v-model="item.pra" placeholder="请选择拓展训练地点">
+              <el-option v-for="(place, index) in placeList" :key="`lytea${index}`" :label="place.name" :value="place.id"></el-option>
+            </el-select>
+          </el-form-item>
+        </el-form>
       </el-collapse-item>
     </el-collapse>
+    <el-drawer :with-header="false" :visible.sync="drawer" direction="rtl">
+      <el-tabs>
+        <el-tab-pane style="padding:10px">
+          <template #label>
+            <span style="zoom:1.3">{{ form.term }}期{{ form.batch }}批{{ form.name }}</span>
+          </template>
+          <data-form :data="form" :fields="formFields" :rules="rules" @save="handleSave" :isNew="false">
+            <template #options="{item}">
+              <template v-if="item.model === 'lesson'">
+                <el-option v-for="(item, index) in lessonList" :key="`lesson${index}`" :label="item.name" :value="item.id"></el-option>
+              </template>
+              <template v-if="item.model === 'teacher'">
+                <el-option v-for="(item, index) in teacherList" :key="`teacher${index}`" :label="item.name" :value="item.id"></el-option>
+              </template>
+            </template>
+          </data-form>
+        </el-tab-pane>
+      </el-tabs>
+    </el-drawer>
   </div>
 </template>
 
 <script>
 import _ from 'lodash';
 import dataTable from '@frame/components/data-table';
+import dataForm from '@frame/components/form';
 export default {
   name: 'lesson-plan',
   props: {
@@ -21,9 +63,10 @@ export default {
     end: { type: String, required: true },
     classes: { type: Array, default: () => [] },
   },
-  components: { dataTable },
+  components: { dataTable, dataForm },
   data: () => ({
     activeName: '0',
+    drawer: false,
     dateList: [],
     classList: [],
     fields: [
@@ -39,6 +82,18 @@ export default {
         method: 'edit',
       },
     ],
+    formFields: [
+      { label: '时间', model: 'date', type: 'text' },
+      { label: '星期', model: 'week', type: 'text' },
+      { label: '课程', model: 'lesson', type: 'select' },
+      { label: '教师', model: 'teacher', type: 'select' },
+    ],
+    rules: {},
+    form: {},
+    lessonList: [],
+    teacherList: [],
+    lyTeacherList: [],
+    placeList: [],
   }),
   created() {
     this.setDateList();
@@ -76,7 +131,14 @@ export default {
       let sClass = JSON.parse(JSON.stringify(this.classes[this.activeName]));
       //点击的日期,星期
       let arrange = data;
-      //TODO 将信息整合然后使用drawer或者dialog,显示班级信息,点击的日期信息;让用户选择课程=>根据选择的课程查询可以教课的老师,根据老师的评分排序(不一定谁做)
+      //TODO 让用户选择课程=>根据选择的课程查询可以教课的老师,根据老师的评分排序(不一定谁做)
+      // 1先查询课程列表
+      // 2先查询arr中,是否有选择的课程,有则查询教师列表
+      this.$set(this, `form`, { ...sClass, ...arrange });
+      this.drawer = true;
+    },
+    handleSave({ data, isNew }) {
+      console.log(data);
     },
   },
   computed: {