wuhongyuq il y a 5 ans
Parent
commit
146f866bd2

+ 2 - 1
src/layout/class/classList.vue

@@ -5,7 +5,7 @@
         <van-tabs v-model="active">
           <van-tab title="班级名单">
             <span v-if="role === '4'">
-              <headNameList v-on="$listeners" :headNameList="headNameList" :assignShow="assignShow" :assignForm="assignForm"></headNameList>
+              <headNameList v-on="$listeners" :headNameList="headNameList" :assignShow="assignShow" :assignForm="assignForm" :name="name"></headNameList>
             </span>
             <span v-else>
               <stuNameList :stuNameList="stuNameList"></stuNameList>
@@ -34,6 +34,7 @@ export default {
     groupList: null,
     stuIdAndGroupId: null, //登陆者id和小组id
     noGroupStudentNames: null, //没有小组的学生
+    name: null,
   },
   components: {
     // 显示班级学生名称(带有职务)

+ 7 - 5
src/layout/class/nameList/headNameList.vue

@@ -2,7 +2,7 @@
   <div id="headNameList">
     <el-row>
       <el-col :span="24" class="info">
-        <el-col :span="6" class="list" v-for="(item, index) in headNameList" :key="index" @click.native="clickAssign()">
+        <el-col :span="6" class="list" v-for="(item, index) in headNameList" :key="index" @click.native="clickAssign(item.id, item.name)">
           <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>
@@ -11,7 +11,8 @@
     <el-dialog title="指派职务" width="90%" :visible.sync="assignShow">
       <el-form :model="assignForm">
         <el-form-item label="学生姓名">
-          <el-input v-model="assignForm.name" :disabled="true"></el-input>
+          <!-- <el-input v-model="assignForm.name" :disabled="true"></el-input> -->
+          {{ name }}
         </el-form-item>
         <el-form-item label="学生职务">
           <!-- <el-input v-model="assignForm.job" placeholder="请输入学生职务"></el-input> -->
@@ -35,6 +36,7 @@ export default {
     headNameList: null,
     assignForm: null,
     assignShow: null,
+    name: null,
   },
   components: {},
   data: () => ({
@@ -50,13 +52,13 @@ export default {
   created() {},
   computed: {},
   methods: {
-    clickAssign() {
-      this.$emit('assign');
+    clickAssign(id, name) {
+      this.$emit('assign', { id, name });
     },
     outAssignShow() {
       this.$emit('outForm');
     },
-    onAssignShow() {
+    onAssignShow(id) {
       this.$emit('onForm', { data: this.assignForm });
     },
   },

+ 2 - 2
src/layout/user/punchBtn.vue

@@ -10,9 +10,9 @@
     <van-dialog v-model="show" title="考勤打卡" :showConfirmButton="false">
       <van-form @submit="onSubmit">
         <van-col :span="24">
-          <span>{{ form.termid }}</span>
+          <!-- <span>{{ form.termid }}</span>
           <span>{{ form.batchid }}</span>
-          <span>{{ form.classid }}</span>
+          <span>{{ form.classid }}</span> -->
         </van-col>
         <el-col :span="24">
           <h2>当前打卡时间</h2>

+ 2 - 0
src/store/index.js

@@ -9,6 +9,7 @@ import questionnaire from '@frame/store/questionnaire';
 import student from '@frame/store/student';
 import lesson from '@frame/store/lesson';
 import teacher from '@frame/store/teacher';
+import classes from '@frame/store/classes';
 import score from '@frame/store/score';
 import termquest from '@frame/store/termquest';
 import login from '@frame/store/login';
@@ -34,5 +35,6 @@ export default new Vuex.Store({
     score,
     termquest,
     login,
+    classes,
   },
 });

+ 54 - 20
src/views/class/index.vue

@@ -8,6 +8,7 @@
         </el-col>
         <el-col :span="24" class="main">
           <classList
+            :name="name"
             :headNameList="headNameList"
             @assign="clickAssign"
             :assignShow="assignShow"
@@ -36,9 +37,11 @@
 import NavBar from '@/layout/common/topInfo.vue';
 import footInfo from '@/layout/common/footInfo.vue';
 import classList from '@/layout/class/classList.vue';
-import { createNamespacedHelpers, mapGetters } from 'vuex';
+// import { createNamespacedHelpers, mapGetters } from 'vuex';
+import { mapState, createNamespacedHelpers, mapGetters } from 'vuex';
 const { mapActions: mapGroup } = createNamespacedHelpers('group');
 const { mapActions: mapStudent } = createNamespacedHelpers('student');
+const { mapActions: mapclasses } = createNamespacedHelpers('classes');
 let site = JSON.parse(sessionStorage.getItem('site'));
 const termid = site.termid;
 const batchid = site.batchid;
@@ -54,24 +57,26 @@ export default {
     classList, //班级名单
   },
   data: () => ({
+    name: '',
+    xsid: '',
     // 班主任看学生名单
     headNameList: [
-      {
-        name: '测试人员',
-        job: '班长',
-      },
-      {
-        name: '测试人',
-        job: '',
-      },
-      {
-        name: '测试人员',
-        job: '班长',
-      },
-      {
-        name: '测试人',
-        job: '班长',
-      },
+      // {
+      //   name: '测试人员',
+      //   job: '班长',
+      // },
+      // {
+      //   name: '测试人',
+      //   job: '',
+      // },
+      // {
+      //   name: '测试人员',
+      //   job: '班长',
+      // },
+      // {
+      //   name: '测试人',
+      //   job: '班长',
+      // },
     ],
     assignShow: false,
     assignForm: {},
@@ -104,8 +109,11 @@ export default {
   }),
   created() {
     this.findList();
+    this.search();
+  },
+  computed: {
+    ...mapState(['user']),
   },
-  computed: {},
   mounted() {
     this.title = this.$route.meta.title;
     this.isleftarrow = this.$route.meta.isleftarrow;
@@ -117,11 +125,37 @@ export default {
     },
   },
   methods: {
-    clickAssign() {
+    ...mapStudent({ list: 'query', add: 'create', fet: 'fetch', updates: 'update' }),
+    async search() {
+      let classid = this.user.classid;
+      const res = await this.list({ classid });
+      console.log(res);
+
+      this.$set(this, `headNameList`, res.data);
+    },
+    async clickAssign({ id, name }) {
+      console.log(name);
+
       this.assignShow = true;
+      this.$set(this, `xsid`, id);
+      this.$set(this, `name`, name);
     },
-    onAssignShow(assignForm) {
+    async onAssignShow(assignForm) {
+      console.log(this.xsid);
+
       this.assignShow = false;
+      this.assignForm.id = this.xsid;
+      let data = this.assignForm;
+      let res = await this.updates(data);
+      let classid = this.user.classid;
+      const ress = await this.list({ classid });
+      console.log(res);
+      this.$set(this, `headNameList`, ress.data);
+      console.log(res);
+      this.$message({
+        message: '评分成功',
+        type: 'success',
+      });
     },
     outAssignShow() {
       this.assignShow = false;