소스 검색

平时成绩更新

guhongwei 5 년 전
부모
커밋
ef8f4a5ab2

+ 43 - 0
src/layout/class/achieve.vue

@@ -0,0 +1,43 @@
+<template>
+  <div id="achieve">
+    <el-row>
+      <el-col :span="24">
+        <van-tabs v-model="active">
+          <van-tab title="平时成绩">
+            <peaceAchieve :peaceAchieveList="peaceAchieveList"></peaceAchieve>
+          </van-tab>
+          <van-tab title="作业成绩">作业成绩</van-tab>
+        </van-tabs>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import peaceAchieve from '@/layout/class/achieveList/peaceAchieve.vue';
+export default {
+  name: 'achieve',
+  props: {
+    peaceAchieveList: null, //平时成绩
+  },
+  components: {
+    peaceAchieve, //平時成績
+  },
+  data: () => ({
+    active: 0,
+  }),
+  created() {},
+  computed: {},
+  methods: {},
+};
+</script>
+
+<style lang="less" scoped>
+/deep/.van-tabs__line {
+  width: 50% !important;
+  background-color: #405ffe;
+}
+/deep/.van-tab--active {
+  color: #405ffe;
+}
+</style>

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

@@ -1,92 +0,0 @@
-<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>

+ 27 - 0
src/layout/class/achieveList/peaceAchieve.vue

@@ -0,0 +1,27 @@
+<template>
+  <div id="peaceAchieve">
+    <el-row>
+      <el-col :span="24">
+        <el-col :span="24" class="list" v-for="(item, index) in peaceAchieveList" :key="index">
+          <p>{{ item.name }}</p>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'peaceAchieve',
+  props: {
+    peaceAchieveList: null,
+  },
+  components: {},
+  data: () => ({}),
+  created() {},
+  computed: {},
+  methods: {},
+};
+</script>
+
+<style lang="less" scoped></style>

+ 6 - 3
src/layout/class/classList.vue

@@ -8,7 +8,7 @@
               <headNameList v-on="$listeners" :headNameList="headNameList" :assignShow="assignShow" :assignForm="assignForm"></headNameList>
             </span>
             <span v-else>
-              学生
+              <stuNameList :stuNameList="stuNameList"></stuNameList>
             </span>
           </van-tab>
           <van-tab title="班级分组">
@@ -22,22 +22,25 @@
 
 <script>
 import headNameList from '@/layout/class/nameList/headNameList.vue';
+import stuNameList from '@/layout/class/nameList/stuNameList.vue';
 export default {
   name: 'classList',
   props: {
     headNameList: null, //班主任看班級學生名單
     assignShow: null, //指派职务弹窗
     assignForm: null, //指派职务form表单
+    stuNameList: null, //学生看班级学生名单
   },
   components: {
     // 显示班级学生名称(带有职务)
     // 班主任:点击学生指派学生担任职务。
     // 学委:给学生上分(平时成绩只有一个,课程作业成绩,都要显示)
-    headNameList, //班主任学生名单
+    headNameList, //班主任班级学生名单
+    stuNameList, //学生班级学生名单
   },
   data: () => ({
     active: 0,
-    role: '1',
+    role: '4',
   }),
   created() {},
   computed: {},

+ 51 - 0
src/layout/class/nameList/stuNameList.vue

@@ -0,0 +1,51 @@
+<template>
+  <div id="stuNameList">
+    <el-row>
+      <el-col :span="24" class="info">
+        <el-col
+          :span="6"
+          class="list"
+          v-for="(item, index) in stuNameList"
+          :key="index"
+          @click.native="$router.push({ path: '/class/achieve', query: { id: item.id } })"
+        >
+          <p class="name">{{ item.name }}</p>
+          <p class="job" v-if="item.job">{{ item.job }}<i class="el-icon-circle-check"></i></p>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'stuNameList',
+  props: {
+    stuNameList: null,
+  },
+  components: {},
+  data: () => ({}),
+  created() {},
+  computed: {},
+  methods: {},
+};
+</script>
+
+<style lang="less" scoped>
+p {
+  padding: 0;
+  margin: 0;
+}
+.list {
+  text-align: center;
+  padding: 15px 0 0 0;
+}
+.list .name {
+  font-size: 14px;
+}
+.list .job {
+  font-size: 12px;
+  color: #405ffe;
+  padding: 5px 0 0 0;
+}
+</style>

+ 15 - 52
src/views/class/achieve.vue

@@ -1,17 +1,12 @@
 <template>
   <div id="achieve">
     <el-row>
-      <el-col :span="24" class="info">
+      <el-col :span="24" class="style">
         <el-col :span="24" class="top">
-          <el-col :span="15" class="title">
-            班级学生成绩
-          </el-col>
+          <topInfo></topInfo>
         </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>
+          <achieves :peaceAchieveList="peaceAchieveList"></achieves>
         </el-col>
       </el-col>
     </el-row>
@@ -19,73 +14,41 @@
 </template>
 
 <script>
-import footInfo from '@/layout/common/footInfo.vue';
-import achieveList from '@/layout/class/achieveList.vue';
+import topInfo from '@/layout/common/topInfo.vue';
+import achieves from '@/layout/class/achieve.vue';
 
 export default {
   name: 'achieve',
   props: {},
   components: {
-    footInfo, //底部信息
-    achieveList, //学生成绩列表
+    topInfo, //头部导航
+    achieves, //班级学生成绩列表
   },
   data: () => ({
-    achieveList: [
+    peaceAchieveList: [
       {
-        studentid: '刘裕',
-        lesson: [
-          {
-            lessonid: '拓展训练',
-            score: '20',
-          },
-          {
-            lessonid: '简历制作',
-            score: '20',
-          },
-        ],
+        name: '流域',
       },
     ],
-    show: false,
-    form: {
-      name: '刘裕',
-    },
   }),
   created() {},
   computed: {},
-  methods: {
-    clickAchieve() {
-      this.show = true;
-    },
-    submitAchieve(form) {
-      console.log(form);
-      this.show = false;
-    },
-  },
+  methods: {},
 };
 </script>
 
 <style lang="less" scoped>
-.info {
+.style {
   width: 100%;
   min-height: 667px;
   position: relative;
-  background-color: #edeae8;
+  background-color: #f9fafc;
 }
 .top {
-  height: 50px;
-  line-height: 50px;
-  margin: 0 0 10px 0;
-  background: #fff;
-}
-.top .title {
-  padding: 0 15px;
-  font-size: 20px;
-}
-.top .btn {
-  text-align: right;
-  padding: 0 30px;
+  height: 46px;
+  overflow: hidden;
 }
 .main {
-  margin: 0 0 50px 0;
+  min-height: 570px;
 }
 </style>

+ 21 - 0
src/views/class/index.vue

@@ -13,6 +13,7 @@
             :assignForm="assignForm"
             @outForm="outAssignShow"
             @onForm="onAssignShow"
+            :stuNameList="stuNameList"
           ></classList>
         </el-col>
         <el-col :span="24" class="foot">
@@ -37,6 +38,7 @@ export default {
     classList, //班级名单
   },
   data: () => ({
+    // 班主任看学生名单
     headNameList: [
       {
         name: '测试人员',
@@ -57,6 +59,25 @@ export default {
     ],
     assignShow: false,
     assignForm: {},
+    // 学生看学生名单
+    stuNameList: [
+      {
+        name: '测试人员',
+        job: '班长',
+      },
+      {
+        name: '测试人',
+        job: '',
+      },
+      {
+        name: '测试人员',
+        job: '班长',
+      },
+      {
+        name: '测试人',
+        job: '班长',
+      },
+    ],
   }),
   created() {},
   computed: {},