Browse Source

班级名单更新

guhongwei 5 years ago
parent
commit
1d34574eef

+ 92 - 0
src/layout/class/achieveList.vue

@@ -0,0 +1,92 @@
+<template>
+  <div id="achieveList">
+    <el-row>
+      <el-col :span="24" class="list">
+        <van-collapse v-model="openCollapse">
+          <van-collapse-item :name="index" v-for="(item, index) in achieveList" :key="index">
+            <div slot="title" class="title">
+              <span class="name">{{ item.studentid }}</span>
+              <van-button type="primary" size="mini" @click="clickBtn()">上成绩</van-button>
+            </div>
+            <van-row v-for="(tag, index) in item.lesson" :key="index">
+              <van-col :span="14" class="score"> 课程名称:{{ tag.lessonid }} </van-col>
+              <van-col :span="10" class="score"> 作业分:{{ tag.score }} 分</van-col>
+            </van-row>
+          </van-collapse-item>
+        </van-collapse>
+      </el-col>
+    </el-row>
+    <van-dialog v-model="show" title="学生成绩上传" :showConfirmButton="false">
+      <van-form @submit="onSubmit">
+        <van-field v-model="form.name" name="学生名称" disabled />
+        <van-field v-model="form.lessonid" name="课程名称" label="课程名称" placeholder="请输入课程名称" />
+        <van-field v-model="form.score" name="作业分数" label="作业分数" placeholder="请输入作业分数" />
+        <div style="margin: 16px;">
+          <van-button round block type="info" native-type="submit">
+            提交
+          </van-button>
+        </div>
+      </van-form>
+    </van-dialog>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'achieveList',
+  props: {
+    achieveList: null,
+    show: null,
+    form: null,
+    lessonList: null,
+  },
+  components: {},
+  data: () => ({
+    openCollapse: [],
+    option1: [
+      { text: '全部商品', value: 0 },
+      { text: '新款商品', value: 1 },
+    ],
+  }),
+  created() {},
+  computed: {},
+  methods: {
+    clickBtn() {
+      this.$emit('clickDialog');
+    },
+    onSubmit() {
+      this.$emit('submit', { data: this.form });
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+p {
+  padding: 0;
+  margin: 0;
+}
+.list {
+  background: #fff;
+  margin: 0 5px 5px 5px;
+  width: 97%;
+  padding: 0 10px;
+  border-radius: 15px;
+}
+.list .title {
+  float: left;
+  width: 100%;
+}
+.list .name {
+  float: left;
+  width: 80%;
+  font-size: 20px;
+}
+/deep/.el-collapse-item__content {
+  padding: 10px 0 10px 0;
+}
+.list .score {
+  padding: 10px 0;
+  font-size: 18px;
+}
+</style>

+ 6 - 1
src/layout/class/teaStudentList.vue

@@ -17,7 +17,12 @@
       <van-dialog v-model="show" title="指派学生职务" :showConfirmButton="false">
         <van-form @submit="onSubmit">
           <van-field v-model="form.name" name="学生名称" disabled />
-          <van-field v-model="form.job" placeholder="请输入职务" />
+          <van-field name="radio" label="学生职务">
+            <van-radio-group v-model="form.job" direction="horizontal" slot="input">
+              <van-radio name="班长">班长</van-radio>
+              <van-radio name="学委">学委</van-radio>
+            </van-radio-group>
+          </van-field>
           <div style="margin: 16px;">
             <van-button round block type="info" native-type="submit">
               提交

+ 0 - 26
src/layout/index/footInfo.vue

@@ -1,32 +1,6 @@
 <template>
   <div id="footInfo">
     <el-row>
-      <!-- <el-col :span="24">
-        <el-col :span="6" class="link">
-          <el-link :underline="false" @click="$router.push({ path: '/' })">
-            <i class="el-icon-s-home"></i>
-            <p>首页</p>
-          </el-link>
-        </el-col>
-        <el-col :span="6" class="link">
-          <el-link :underline="false" @click="$router.push({ path: '/class/index' })">
-            <i class="el-icon-user-solid"></i>
-            <p>班级名单</p>
-          </el-link>
-        </el-col>
-        <el-col :span="6" class="link">
-          <el-link :underline="false" @click="$router.push({ path: '/question/index' })">
-            <i class="el-icon-s-promotion"></i>
-            <p>问卷调查</p>
-          </el-link>
-        </el-col>
-        <el-col :span="6" class="link">
-          <el-link :underline="false" @click="$router.push({ path: '/user/index' })">
-            <i class="el-icon-s-custom"></i>
-            <p>个人信息</p>
-          </el-link>
-        </el-col>
-      </el-col> -->
       <van-tabbar v-model="active">
         <van-tabbar-item to="/" icon="home-o">首页</van-tabbar-item>
         <van-tabbar-item to="/class/index" icon="friends-o">班级名单</van-tabbar-item>

+ 6 - 0
src/router/index.js

@@ -16,6 +16,12 @@ const routes = [
     name: 'class',
     component: () => import('../views/class/index.vue'),
   },
+  // 班级名单-上成绩
+  {
+    path: '/class/achieve',
+    name: 'class',
+    component: () => import('../views/class/achieve.vue'),
+  },
   // 问卷调查
   {
     path: '/question/index',

+ 87 - 0
src/views/class/achieve.vue

@@ -0,0 +1,87 @@
+<template>
+  <div id="achieve">
+    <el-row>
+      <el-col :span="24" class="info">
+        <el-col :span="24" class="top">
+          <el-col :span="15" class="title">
+            学生成绩名单
+          </el-col>
+        </el-col>
+        <el-col :span="24" class="main">
+          <achieveList :achieveList="achieveList" :show="show" :form="form" @clickDialog="clickAchieve" @submit="submitAchieve"></achieveList>
+        </el-col>
+        <el-col :span="24" class="foot">
+          <footInfo></footInfo>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import footInfo from '@/layout/index/footInfo.vue';
+import achieveList from '@/layout/class/achieveList.vue';
+
+export default {
+  name: 'achieve',
+  props: {},
+  components: {
+    footInfo, //底部信息
+    achieveList, //学生成绩列表
+  },
+  data: () => ({
+    achieveList: [
+      {
+        studentid: '刘裕',
+        lesson: [
+          {
+            lessonid: '拓展训练',
+            score: '20',
+          },
+          {
+            lessonid: '简历制作',
+            score: '20',
+          },
+        ],
+      },
+    ],
+    show: false,
+    form: {
+      name: '刘裕',
+    },
+  }),
+  created() {},
+  computed: {},
+  methods: {
+    clickAchieve() {
+      this.show = true;
+    },
+    submitAchieve(form) {
+      console.log(form);
+      this.show = false;
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.info {
+  width: 100%;
+  min-height: 667px;
+  position: relative;
+  background-color: #edeae8;
+}
+.top {
+  height: 50px;
+  line-height: 50px;
+  margin: 0 0 10px 0;
+  background: #fff;
+}
+.top .title {
+  padding: 0 15px;
+  font-size: 20px;
+}
+.main {
+  margin: 0 0 50px 0;
+}
+</style>

+ 8 - 6
src/views/class/index.vue

@@ -6,15 +6,17 @@
           <el-col :span="15" class="title">
             班级学生名单
           </el-col>
-          <el-col :span="9" class="btn">
-            <el-button type="primary" @click="$router.push({ path: '/' })">上成绩</el-button>
-          </el-col>
+          <span v-if="role === '4'">
+            <el-col :span="9" class="btn">
+              <el-button type="primary" @click="$router.push({ path: '/class/achieve' })">上成绩</el-button>
+            </el-col>
+          </span>
         </el-col>
         <el-col :span="24" class="main">
-          <span v-if="role === '学生'">
+          <span v-if="role === '4'">
             <studentList :studentList="studentList"></studentList>
           </span>
-          <span v-if="role === '班主任'">
+          <span v-if="role === '1'">
             <teaStudentList :studentList="studentList" :show="show" :form="form" @clickUpdate="clickDialog" @submit="submitUpdate"></teaStudentList>
           </span>
         </el-col>
@@ -62,7 +64,7 @@ export default {
         major: '应用软件技术专业',
       },
     ],
-    role: '班主任',
+    role: '4',
     show: false,
     form: {
       name: '流域',