فهرست منبع

Merge branch 'master' of http://git.cc-lotus.info/new_train/train-center

lrf402788946 5 سال پیش
والد
کامیت
d39a20592e
5فایلهای تغییر یافته به همراه63 افزوده شده و 20 حذف شده
  1. 2 0
      src/store/index.js
  2. 35 7
      src/views/student/detail.vue
  3. 2 1
      src/views/student/index.vue
  4. 2 0
      src/views/teacher/detail.vue
  5. 22 12
      src/views/teacher/means.vue

+ 2 - 0
src/store/index.js

@@ -17,6 +17,7 @@ import school from '@frame/store/school';
 import schPlan from '@frame/store/sch-plan';
 import teaPlan from '@frame/store/tea-plan';
 import lesson from '@frame/store/lesson';
+import nation from '@frame/store/nation';
 
 Vue.use(Vuex);
 
@@ -39,6 +40,7 @@ export default new Vuex.Store({
     school,
     teaPlan,
     lesson,
+    nation,
   },
   state: {},
   mutations: {},

+ 35 - 7
src/views/student/detail.vue

@@ -2,6 +2,14 @@
   <div id="detail">
     <detail-frame :title="mainTitle" returns="/student/index">
       <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 v-if="item.model === 'gender'">
             <el-radio label="男">男</el-radio>
@@ -25,6 +33,8 @@ import detailFrame from '@frame/layout/admin/detail-frame';
 import dataForm from '@frame/components/form';
 import { createNamespacedHelpers } from 'vuex';
 const { mapActions } = createNamespacedHelpers('student');
+const { mapActions: mapNation } = createNamespacedHelpers('nation');
+const { mapActions: mapschool } = createNamespacedHelpers('school');
 //缺少字典表:学校表,民族表,院系表,专业表
 export default {
   metaInfo: { title: '学生信息' },
@@ -35,13 +45,15 @@ export default {
     dataForm,
   },
   data: () => ({
+    schcoolList: [],
+    nationList: [],
     info: {},
     fields: [
       { label: '姓名', required: true, model: 'name' },
       { 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: 'school_name', type: 'select' },
+      { label: '学校', required: true, model: 'school_name', type: 'select' },
       // { label: '院系', required: true, model: 'yard', type: 'select' },
       // { label: '专业', required: true, model: 'major', type: 'select' },
       { label: '入学年份', required: true, model: 'entry_year', type: 'year' },
@@ -87,7 +99,10 @@ export default {
       is_fine: [{ required: true, message: '请选择是否优秀' }],
     },
   }),
-  created() {},
+  created() {
+    this.otherList();
+    this.schoolname();
+  },
   computed: {
     id() {
       return this.$route.query.id;
@@ -118,6 +133,19 @@ 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();
+      console.log(res);
+      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);
@@ -128,10 +156,10 @@ export default {
       let msg;
       if (isNew) {
         data.openid = new Date().getTime();
-        data.nation = `汉族`;
-        data.yard = `测试学院`;
-        data.major = `测试专业`;
-        data.school_name = `测试学校`;
+        // data.nation = `汉族`;
+        // data.yard = `测试学院`;
+        // data.major = `测试专业`;
+        // data.school_name = `测试学校`;
         res = await this.create(data);
         msg = `${this.keyWord}添加成功`;
       } else {

+ 2 - 1
src/views/student/index.vue

@@ -11,6 +11,7 @@ import listFrame from '@frame/layout/admin/list-frame';
 import dataTable from '@frame/components/data-table';
 import { createNamespacedHelpers } from 'vuex';
 const { mapActions } = createNamespacedHelpers('student');
+
 export default {
   metaInfo: { title: '学生管理' },
   name: 'index',
@@ -39,7 +40,7 @@ export default {
       { label: '民族', prop: 'nation' },
       { label: '身份证号', prop: 'id_number' },
       { label: '学校', prop: 'school_name' },
-      { label: '院系', prop: 'yard' },
+      { label: '院系', prop: 'faculty' },
       { label: '专业', prop: 'major' },
       { label: '入学年份', prop: 'entry_year' },
       { label: '毕业年份', prop: 'finish_year' },

+ 2 - 0
src/views/teacher/detail.vue

@@ -185,7 +185,9 @@ export default {
         data.password = '123456';
         msg = `${this.keyWord}添加成功`;
       } else {
+        // console.log(data);
         res = this.update(data);
+        console.log(res);
         msg = `${this.keyWord}修改成功`;
       }
       // if (this.$checkRes(res, msg)) this.$router.push({ path: '/teacher/index' });

+ 22 - 12
src/views/teacher/means.vue

@@ -9,6 +9,8 @@
 <script>
 import listFrame from '@frame/layout/admin/list-frame';
 import dataTable from '@frame/components/data-table';
+import { createNamespacedHelpers } from 'vuex';
+const { mapActions } = createNamespacedHelpers('teacher');
 export default {
   name: 'means',
   props: {},
@@ -17,33 +19,41 @@ export default {
     dataTable,
   },
   data: () => ({
+    info: {},
     fields: [
-      { label: '资料名称', prop: 'name' },
+      { label: '资料名称', prop: 'file_name' },
       { label: '资料地址', prop: 'url' },
       {
         label: '资料类别',
         prop: 'type',
         format: item => {
-          return item === '0' ? 'ppt' : item === '1' ? '教案' : item === '1' ? '视频' : '其他';
+          return item === '0' ? 'ppt' : item === '1' ? '教案' : item === '2' ? '视频' : '其他';
         },
       },
     ],
-    index: [
-      {
-        name: '讲课视频',
-        url: 'http:12345.com',
-        type: '1',
-      },
-    ],
+    index: [],
     filFields: [],
     total: 0,
   }),
-  created() {},
+  created() {
+    this.search();
+  },
   computed: {},
   methods: {
-    search({ skip = 0, limit = 10, ...info } = {}) {
-      console.log(`in search`);
+    ...mapActions(['query', 'delete']),
+    async search({ skip = 0, limit = 10, ...info } = {}) {
+      // const res = await this.query({ skip, limit, ...info });
+      // if (this.$checkRes(res)) {
+      //   if (res.data.length > 0) {
+      //     console.log(res);
+      //     let { file, ...others } = res.data[0];
+      //     console.log(file);
+      //     this.$set(this, `index`, file);
+      //     // this.$set(this, `info`, others);
+      //   }
+      // }
     },
+
     toEdit({ data }) {
       console.log(`in toEdit`);
       console.log(data);