Kaynağa Gözat

班主任端查询问卷进度

lrf402788946 5 yıl önce
ebeveyn
işleme
9b58bd54b5

+ 4 - 4
src/router/index.js

@@ -41,10 +41,10 @@ const routes = [
       },
       },
 
 
       {
       {
-        path: '/wenjuan/detail',
-        name: 'wenjuan_detail',
-        meta: { title: '学生', sub: '信息' },
-        component: () => import('@/views/wenjuan/detail.vue'),
+        path: '/question/completion',
+        name: 'question_completion',
+        meta: { title: '问卷调查', sub: '进度' },
+        component: () => import('@/views/classes/completion.vue'),
       },
       },
     ],
     ],
   },
   },

+ 18 - 2
src/store/index.js

@@ -2,12 +2,28 @@ import Vue from 'vue';
 import Vuex from 'vuex';
 import Vuex from 'vuex';
 import trainplan from '@frame/store/trainplan';
 import trainplan from '@frame/store/trainplan';
 import dirPlan from '@frame/store/dir-plan';
 import dirPlan from '@frame/store/dir-plan';
-
+import classes from '@frame/store/classes';
+import student from '@frame/store/student';
+import completion from '@frame/store/question-completion';
+import nation from '@frame/store/nation';
+import school from '@frame/store/school';
+import termquest from '@frame/store/termquest';
+import questionnaire from '@frame/store/questionnaire';
 Vue.use(Vuex);
 Vue.use(Vuex);
 
 
 export default new Vuex.Store({
 export default new Vuex.Store({
   state: {},
   state: {},
   mutations: {},
   mutations: {},
   actions: {},
   actions: {},
-  modules: { trainplan, dirPlan },
+  modules: {
+    trainplan,
+    dirPlan,
+    classes,
+    student,
+    completion,
+    nation,
+    school,
+    termquest,
+    questionnaire,
+  },
 });
 });

+ 110 - 0
src/views/classes/completion.vue

@@ -0,0 +1,110 @@
+<template>
+  <div id="completion">
+    <detail-frame :title="mainTitle" returns="/classes/index">
+      <!-- <el-alert :title="`进度:${student.answertotal || 0}/${student.alltotal || 0}`" :closable="false"></el-alert> -->
+      <self-cards title="问卷列表" v-if="views === `quest`">
+        <dataTable :fields="questFields" :data="questList" :opera="opera" @view="data => toView(data, 'term')"></dataTable>
+      </self-cards>
+      <self-cards title="班级进度" :returns="toReturns" v-else>
+        <el-alert :title="`进度:${student.answertotal || 0}/${student.alltotal || 0}`" :closable="false"></el-alert>
+        <dataTable :fields="fields" :data="student.list" :opera="[]"></dataTable>
+      </self-cards>
+    </detail-frame>
+  </div>
+</template>
+
+<script>
+import dataTable from '@frame/components/data-table';
+import detailFrame from '@frame/layout/admin/detail-frame';
+import selfCards from '@frame/parts/cards';
+import _ from 'lodash';
+import { createNamespacedHelpers } from 'vuex';
+const { mapActions: completion } = createNamespacedHelpers('completion');
+const { mapActions: classes } = createNamespacedHelpers('classes');
+const { mapActions: termquest } = createNamespacedHelpers('termquest');
+const { mapActions: questionnaire } = createNamespacedHelpers('questionnaire');
+export default {
+  metaInfo: { title: '问卷进度查看' },
+  name: 'completion',
+  props: {},
+  components: { detailFrame, dataTable, selfCards },
+  data: () => ({
+    views: 'quest',
+    fields: [
+      { label: '姓名', prop: 'name' },
+      { label: '进度', prop: 'completion' },
+    ],
+    classes: {},
+    questFields: [{ label: '标题', prop: 'name' }],
+    questList: [],
+    quest: [],
+    opera: [
+      {
+        label: '查看',
+        icon: 'el-icon-view',
+        method: 'view',
+      },
+    ],
+    student: {
+      list: [],
+    },
+  }),
+
+  created() {
+    this.search();
+  },
+  methods: {
+    ...completion({ getCompletion: 'query' }),
+    ...classes({ getClass: 'fetch' }),
+    ...termquest({ getTermQuestList: 'query' }),
+    ...questionnaire({ getQuestionnaireList: 'query' }),
+    async search() {
+      //查询班级信息,获得期,批次
+      let res = await this.getClass(this.id);
+      if (this.$checkRes(res)) {
+        this.$set(this, `classes`, res.data);
+      }
+      //查询所有问卷
+      const quest = await this.getQuestionnaireList();
+      if (this.$checkRes(res)) {
+        this.$set(this, `quest`, quest.data);
+      }
+      //查询这期的所有问卷,id=>数据
+      res = await this.getTermQuestList({ termid: this.classes.termid });
+      let { questionnaireid, termid, ...othrers } = res.data[0];
+      let newArr = this.quest.filter(q => (_.find(questionnaireid, sq => sq === q.id) ? q : ''));
+      this.$set(this, `questList`, newArr);
+    },
+    async toView({ data }, type) {
+      this.views = type;
+      let { id: questionnaireid } = data;
+      let { id: batch } = this.classes;
+      let res = await this.getCompletion({ type: '2', typeid: batch, questionnaireid });
+      if (this.$checkRes(res)) {
+        let { data: completion, answertotal, alltotal, completiontotal } = res;
+        completion = completion.map(i => {
+          i.completion.includes('NaN') ? (i.completion = '-') : '';
+          return i;
+        });
+        this.$set(this, `student`, { list: completion, answertotal, alltotal, completiontotal });
+      }
+    },
+    toReturns() {
+      this.views = 'quest';
+    },
+  },
+  computed: {
+    id() {
+      return this.$route.query.id;
+    },
+    mainTitle() {
+      let meta = this.$route.meta;
+      let main = meta.title || '';
+      let sub = meta.sub || '';
+      return `${main}${sub}`;
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped></style>

+ 18 - 9
src/views/classes/index.vue

@@ -1,7 +1,7 @@
 <template>
 <template>
   <div id="index">
   <div id="index">
-    <list-frame title="班级管理" @query="search" :total="total" :filter="filFields" @add="$router.push({ path: '/classes/detail' })">
-      <data-table :fields="fields" :data="list" :opera="opera" @edit="toEdit"></data-table>
+    <list-frame title="班级管理" @query="search" :total="total" :filter="filFields" :needFilter="false" :needAdd="false">
+      <data-table :fields="fields" :data="list" :opera="opera" @edit="toEdit" @completion="toCompletion"></data-table>
     </list-frame>
     </list-frame>
   </div>
   </div>
 </template>
 </template>
@@ -10,7 +10,7 @@
 import listFrame from '@frame/layout/admin/list-frame';
 import listFrame from '@frame/layout/admin/list-frame';
 import dataTable from '@frame/components/data-table';
 import dataTable from '@frame/components/data-table';
 import { createNamespacedHelpers } from 'vuex';
 import { createNamespacedHelpers } from 'vuex';
-const { mapActions } = createNamespacedHelpers('classes');
+const { mapActions: classes } = createNamespacedHelpers('classes');
 export default {
 export default {
   metaInfo: { title: '班级管理' },
   metaInfo: { title: '班级管理' },
   name: 'index',
   name: 'index',
@@ -26,24 +26,30 @@ export default {
         icon: 'el-icon-user',
         icon: 'el-icon-user',
         method: 'edit',
         method: 'edit',
       },
       },
+      {
+        label: '查看问卷进度',
+        icon: 'el-icon-s-order',
+        method: 'completion',
+      },
     ],
     ],
     fields: [
     fields: [
       { label: '班级名称', prop: 'name' },
       { label: '班级名称', prop: 'name' },
       { label: '人数', prop: 'number' },
       { label: '人数', prop: 'number' },
-      { label: '批次', prop: 'batch' },
+      { label: '班级类型', prop: 'type', format: i => (i === '0' ? '正常班级' : '特殊班级') },
     ],
     ],
-    filFields: [{ label: '期数', model: 'term' }],
-    list: [{}],
+    filFields: [],
+    list: [],
     total: 0,
     total: 0,
   }),
   }),
   created() {
   created() {
-    // this.search();
+    this.search();
   },
   },
   computed: {},
   computed: {},
   methods: {
   methods: {
-    ...mapActions(['query', 'delete']),
+    ...classes(['query', 'delete']),
     async search({ skip = 0, limit = 10, ...info } = {}) {
     async search({ skip = 0, limit = 10, ...info } = {}) {
-      const res = await this.query({ skip, limit, ...info });
+      //TODO 将headteacherid替换成用户的id
+      const res = await this.query({ skip, limit, ...info, headteacherid: '5e4f35c86a90e861b0f30868' });
       if (this.$checkRes(res)) {
       if (this.$checkRes(res)) {
         this.$set(this, `list`, res.data);
         this.$set(this, `list`, res.data);
         this.$set(this, `total`, res.total);
         this.$set(this, `total`, res.total);
@@ -52,6 +58,9 @@ export default {
     toEdit({ data }) {
     toEdit({ data }) {
       this.$router.push({ path: '/classes/name/list', query: { id: data.id } });
       this.$router.push({ path: '/classes/name/list', query: { id: data.id } });
     },
     },
+    toCompletion({ data }) {
+      this.$router.push({ path: '/question/completion', query: { id: data.id } });
+    },
   },
   },
 };
 };
 </script>
 </script>

+ 28 - 28
src/views/classes/name-list.vue

@@ -1,6 +1,6 @@
 <template>
 <template>
   <div id="name-list">
   <div id="name-list">
-    <list-frame :title="mainTitle" @query="search" :total="total" :needFilter="false" returns="/classes/index" @add="$router.push({ path: '/student/detail' })">
+    <list-frame :title="mainTitle" @query="search" :total="total" :needFilter="false" returns="/classes/index" :needAdd="false">
       <data-table :fields="fields" :data="list" :opera="opera" @edit="toEdit" @delete="toDelete" @post="toPost"></data-table>
       <data-table :fields="fields" :data="list" :opera="opera" @edit="toEdit" @delete="toDelete" @post="toPost"></data-table>
     </list-frame>
     </list-frame>
     <el-drawer title="任职" :visible.sync="drawer" direction="rtl" @close="toClose">
     <el-drawer title="任职" :visible.sync="drawer" direction="rtl" @close="toClose">
@@ -59,9 +59,9 @@ export default {
     fields: [
     fields: [
       { label: '姓名', prop: 'name' },
       { label: '姓名', prop: 'name' },
       { label: '性别', prop: 'gender' },
       { label: '性别', prop: 'gender' },
-      { label: '期', prop: 'term' },
-      { label: '批次', prop: 'batch' },
-      { label: '班级', prop: 'class' },
+      // { label: '期', prop: 'term' },
+      // { label: '批次', prop: 'batch' },
+      // { label: '班级', prop: 'class' },
       { label: '民族', prop: 'nation' },
       { label: '民族', prop: 'nation' },
       // { label: '身份证号', prop: 'id_number' },
       // { label: '身份证号', prop: 'id_number' },
       { label: '学校', prop: 'school_name' },
       { label: '学校', prop: 'school_name' },
@@ -70,34 +70,34 @@ export default {
       { label: '职务', prop: 'job' },
       { label: '职务', prop: 'job' },
       // { label: '入学年份', prop: 'entry_year' },
       // { label: '入学年份', prop: 'entry_year' },
       // { label: '毕业年份', prop: 'finish_year' },
       // { label: '毕业年份', prop: 'finish_year' },
-      { label: '在校曾担任何种职务', prop: 'school_job' },
+      // { label: '在校曾担任何种职务', prop: 'school_job' },
       { label: '手机号', prop: 'phone' },
       { label: '手机号', prop: 'phone' },
       // { label: 'QQ号', prop: 'qq' },
       // { label: 'QQ号', prop: 'qq' },
       // { label: '邮箱', prop: 'email' },
       // { label: '邮箱', prop: 'email' },
       // { label: '家庭所在地', prop: 'family_place' },
       // { label: '家庭所在地', prop: 'family_place' },
-      {
-        label: '家庭是否困难',
-        prop: 'family_is_hard',
-        format: item => {
-          return item === '1' ? '是' : '否';
-        },
-      },
-      {
-        label: '是否获得过助学金',
-        prop: 'have_grant',
-        format: item => {
-          return item === '1' ? '是' : '否';
-        },
-      },
-      {
-        label: '是否优秀',
-        prop: 'is_fine',
-        format: item => {
-          return item === '1' ? '是' : '否';
-        },
-      },
+      // {
+      //   label: '家庭是否困难',
+      //   prop: 'family_is_hard',
+      //   format: item => {
+      //     return item === '1' ? '是' : '否';
+      //   },
+      // },
+      // {
+      //   label: '是否获得过助学金',
+      //   prop: 'have_grant',
+      //   format: item => {
+      //     return item === '1' ? '是' : '否';
+      //   },
+      // },
+      // {
+      //   label: '是否优秀',
+      //   prop: 'is_fine',
+      //   format: item => {
+      //     return item === '1' ? '是' : '否';
+      //   },
+      // },
     ],
     ],
-    list: [{}],
+    list: [],
     total: 0,
     total: 0,
     form: {},
     form: {},
     drawer: false,
     drawer: false,
@@ -113,7 +113,7 @@ export default {
   methods: {
   methods: {
     ...mapActions(['query', 'delete']),
     ...mapActions(['query', 'delete']),
     async search({ skip = 0, limit = 10, ...info } = {}) {
     async search({ skip = 0, limit = 10, ...info } = {}) {
-      const res = await this.query({ skip, limit, ...info });
+      const res = await this.query({ skip, limit, ...info, classid: this.id });
       if (this.$checkRes(res)) {
       if (this.$checkRes(res)) {
         this.$set(this, `list`, res.data);
         this.$set(this, `list`, res.data);
         this.$set(this, `total`, res.total);
         this.$set(this, `total`, res.total);

+ 61 - 43
src/views/student/detail.vue

@@ -1,7 +1,15 @@
 <template>
 <template>
   <div id="detail">
   <div id="detail">
-    <detail-frame :title="mainTitle" returns="/student/index">
+    <detail-frame :title="mainTitle" :returns="toReturns">
       <data-form :data="info" :fields="fields" :rules="rules" @save="handleSave" :isNew="isNew">
       <data-form :data="info" :fields="fields" :rules="rules" @save="handleSave" :isNew="isNew">
+        <template #options="{item}">
+          <template v-if="item.model === 'school_name'">
+            <el-option v-for="(item, index) in schcoolList" :key="index" :label="item.name" :value="item.name"></el-option>
+          </template>
+          <template v-if="item.model === 'nation'">
+            <el-option v-for="(item, index) in nationList" :key="index" :label="item.name" :value="item.name"></el-option>
+          </template>
+        </template>
         <template #radios="{item}">
         <template #radios="{item}">
           <template v-if="item.model === 'gender'">
           <template v-if="item.model === 'gender'">
             <el-radio label="男">男</el-radio>
             <el-radio label="男">男</el-radio>
@@ -25,6 +33,8 @@ import detailFrame from '@frame/layout/admin/detail-frame';
 import dataForm from '@frame/components/form';
 import dataForm from '@frame/components/form';
 import { createNamespacedHelpers } from 'vuex';
 import { createNamespacedHelpers } from 'vuex';
 const { mapActions } = createNamespacedHelpers('student');
 const { mapActions } = createNamespacedHelpers('student');
+const { mapActions: mapNation } = createNamespacedHelpers('nation');
+const { mapActions: mapschool } = createNamespacedHelpers('school');
 //缺少字典表:学校表,民族表,院系表,专业表
 //缺少字典表:学校表,民族表,院系表,专业表
 export default {
 export default {
   metaInfo: { title: '学生信息' },
   metaInfo: { title: '学生信息' },
@@ -35,13 +45,15 @@ export default {
     dataForm,
     dataForm,
   },
   },
   data: () => ({
   data: () => ({
+    schcoolList: [],
+    nationList: [],
     info: {},
     info: {},
     fields: [
     fields: [
       { label: '姓名', required: true, model: 'name' },
       { label: '姓名', required: true, model: 'name' },
       { label: '性别', required: true, model: 'gender', type: 'radio' },
       { label: '性别', required: true, model: 'gender', type: 'radio' },
-      // { label: '民族', required: true, model: 'nation', type: 'select' },
+      { label: '民族', required: true, model: 'nation', type: 'select' },
       { label: '身份证号', required: true, model: 'id_number', options: { maxlength: 18 } },
       { label: '身份证号', required: true, model: 'id_number', options: { maxlength: 18 } },
-      // { label: '学校', required: true, model: 'school_name', type: 'select' },
+      { label: '学校', required: true, model: 'school_name', type: 'select' },
       // { label: '院系', required: true, model: 'yard', type: 'select' },
       // { label: '院系', required: true, model: 'yard', type: 'select' },
       // { label: '专业', required: true, model: 'major', type: 'select' },
       // { label: '专业', required: true, model: 'major', type: 'select' },
       { label: '入学年份', required: true, model: 'entry_year', type: 'year' },
       { label: '入学年份', required: true, model: 'entry_year', type: 'year' },
@@ -54,10 +66,9 @@ export default {
       { label: '家庭是否困难', required: true, model: 'family_is_hard', type: 'radio' },
       { label: '家庭是否困难', required: true, model: 'family_is_hard', type: 'radio' },
       { label: '是否获得过助学金', required: true, model: 'have_grant', type: 'radio' },
       { label: '是否获得过助学金', required: true, model: 'have_grant', type: 'radio' },
       { label: '职务', model: 'job' },
       { label: '职务', model: 'job' },
-      //可以根据上个页面带过来,不需要添加
-      // { label: '期', required: true, model: 'term' },
-      // { label: '批次', required: true, model: 'batch' },
-      // { label: '班级', required: true, model: 'class' },
+      { label: '期', required: true, model: 'term' },
+      { label: '批次', required: true, model: 'batch' },
+      { label: '班级', required: true, model: 'class' },
       { label: '是否优秀', model: 'is_fine', type: 'radio' },
       { label: '是否优秀', model: 'is_fine', type: 'radio' },
     ],
     ],
     rules: {
     rules: {
@@ -88,32 +99,9 @@ export default {
       is_fine: [{ required: true, message: '请选择是否优秀' }],
       is_fine: [{ required: true, message: '请选择是否优秀' }],
     },
     },
   }),
   }),
-  created() {},
-
-  methods: {
-    ...mapActions(['fetch', 'create', 'update']),
-    async search() {
-      const res = await this.fetch(this.id);
-      if (this.$checkRes(res)) this.$set(this, `info`, res.data);
-      this.loading = false;
-    },
-    async handleSave({ isNew, data }) {
-      let res;
-      let msg;
-      if (isNew) {
-        data.openid = new Date().getTime();
-        data.nation = `汉族`;
-        data.yard = `测试学院`;
-        data.major = `测试专业`;
-        data.school_name = `测试学校`;
-        res = await this.create(data);
-        msg = `${this.keyWord}添加成功`;
-      } else {
-        res = await this.update(data);
-        msg = `${this.keyWord}修改成功`;
-      }
-      if (this.$checkRes(res, msg)) window.history.back(-1);
-    },
+  created() {
+    this.otherList();
+    this.schoolname();
   },
   },
   computed: {
   computed: {
     id() {
     id() {
@@ -133,16 +121,6 @@ export default {
       let main = meta.title || '';
       let main = meta.title || '';
       return main;
       return main;
     },
     },
-    //添加必传
-    classes() {
-      return this.$route.query.class;
-    },
-    term() {
-      return this.$route.query.term;
-    },
-    batch() {
-      return this.$route.query.batch;
-    },
   },
   },
   watch: {
   watch: {
     isNew: {
     isNew: {
@@ -153,6 +131,46 @@ export default {
       },
       },
     },
     },
   },
   },
+  methods: {
+    ...mapActions(['fetch', 'create', 'update']),
+    ...mapNation({ nation: 'query' }),
+    ...mapschool({ zschool: 'query' }),
+    async otherList() {
+      const res = await this.nation();
+      if (this.$checkRes(res)) this.$set(this, `nationList`, res.data);
+    },
+
+    async schoolname() {
+      const res = await this.zschool();
+      if (this.$checkRes(res)) this.$set(this, `schcoolList`, res.data);
+    },
+
+    async search() {
+      const res = await this.fetch(this.id);
+      if (this.$checkRes(res)) this.$set(this, `info`, res.data);
+      this.loading = false;
+    },
+    async handleSave({ isNew, data }) {
+      let res;
+      let msg;
+      if (isNew) {
+        data.openid = new Date().getTime();
+        // data.nation = `汉族`;
+        // data.yard = `测试学院`;
+        // data.major = `测试专业`;
+        // data.school_name = `测试学校`;
+        res = await this.create(data);
+        msg = `${this.keyWord}添加成功`;
+      } else {
+        res = await this.update(data);
+        msg = `${this.keyWord}修改成功`;
+      }
+      if (this.$checkRes(res, msg)) this.toReturns();
+    },
+    toReturns() {
+      window.history.go(-1);
+    },
+  },
 };
 };
 </script>
 </script>
 
 

+ 0 - 167
src/views/wenjuan/detail.vue

@@ -1,167 +0,0 @@
-<template>
-  <div id="index">
-    <list-frame title="问卷状态页" @query="search" :total="total" :filter="filFields" @add="$router.push({ path: '/questionnaire/detail' })">
-      <template #options="{item}">
-        <template v-if="item.model == 'class'">
-          <el-option v-for="(item, index) in list" :key="index" :value="item.label"></el-option>
-        </template>
-        <template v-if="item.model == 'batch'">
-          <el-option v-for="(item, index) in lists" :key="index" :value="item.label"></el-option>
-        </template>
-      </template>
-      <!-- {{ info.name || 'none' }}
-      {{ info.name === undefined }}  -->
-
-      <data-table :fields="field" :data="index" :opera="opera" v-if="info.name === undefined"> </data-table>
-      <data-table v-else :fields="fields" :data="index" :opera="opera"> </data-table>
-    </list-frame>
-  </div>
-</template>
-
-<script>
-import listFrame from '@frame/layout/admin/list-frame';
-import dataTable from '@frame/components/data-table';
-// import { createNamespacedHelpers } from 'vuex';
-// const { mapActions } = createNamespacedHelpers('questionnaire');
-
-export default {
-  name: 'index',
-  props: {},
-  components: {
-    listFrame,
-    dataTable,
-  },
-  data: () => ({
-    info: [],
-    lists: [
-      { label: '第一批次', value: 0 },
-      { label: '第二批次', value: 1 },
-      { label: '第三批次', value: 2 },
-      { label: '特殊批次', value: 2 },
-    ],
-    list: [
-      { label: '一班', value: 0 },
-      { label: '二班', value: 1 },
-      { label: '三班', value: 2 },
-      { label: '四班', value: 3 },
-      { label: '五班', value: 4 },
-      { label: '六班', value: 5 },
-      { label: '七班', value: 6 },
-    ],
-    opera: [
-      // {
-      //   label: '编辑',
-      //   icon: 'el-icon-edit',
-      //   method: 'edit',
-      // },
-      // {
-      //   label: '删除',
-      //   icon: 'el-icon-delete',
-      //   method: 'delete',
-      // },
-    ],
-    fields: [
-      {
-        label: '姓名',
-        prop: 'name',
-      },
-
-      { label: '期数', prop: 'term' },
-      {
-        label: '批次',
-        prop: 'batch',
-        format: item => {
-          return item === '0' ? '第一批次' : item === '1' ? '第二批次' : item === '2' ? '第三批次' : item === '3' ? '特殊批次' : '其他';
-        },
-      },
-      {
-        label: '班级',
-        prop: 'class',
-        format: item => {
-          return item === '0'
-            ? '一班'
-            : item === '1'
-            ? '二班'
-            : item === '2'
-            ? '三班'
-            : item === '3'
-            ? '四班'
-            : item === '4'
-            ? '五班'
-            : item === '5'
-            ? '六班'
-            : item === '6'
-            ? '七班'
-            : '其他';
-        },
-      },
-      { label: '问卷进度', prop: 'id' },
-    ],
-
-    field: [
-      { label: '期数', prop: 'term' },
-      {
-        label: '批次',
-        prop: 'batch',
-        format: item => {
-          return item === '0' ? '第一批次' : item === '1' ? '第二批次' : item === '2' ? '第三批次' : item === '3' ? '特殊批次' : '其他';
-        },
-      },
-      {
-        label: '班级',
-        prop: 'class',
-        format: item => {
-          return item === '0'
-            ? '一班'
-            : item === '1'
-            ? '二班'
-            : item === '2'
-            ? '三班'
-            : item === '3'
-            ? '四班'
-            : item === '4'
-            ? '五班'
-            : item === '5'
-            ? '六班'
-            : item === '6'
-            ? '七班'
-            : '其他';
-        },
-      },
-      { label: '问卷进度', prop: 'id' },
-    ],
-    filFields: [
-      {
-        label: '姓名',
-        model: 'name',
-      },
-      { label: '期数', model: 'term' },
-
-      {
-        label: '批次',
-        model: 'batch',
-        type: 'select',
-      },
-      {
-        label: '班级',
-        model: 'class',
-        type: 'select',
-      },
-    ],
-    index: [],
-    total: 0,
-  }),
-
-  created() {},
-  computed: {},
-  methods: {
-    async search({ skip = 0, limit = 10, ...info } = {}) {
-      // this.info.name = info.name;
-      this.$set(this.info, `name`, info.name);
-      console.log(this.info.name);
-    },
-  },
-};
-</script>
-
-<style lang="less" scoped></style>