limengbo hace 5 años
padre
commit
80d0dc8655

+ 1 - 0
src/store/getters.js

@@ -7,6 +7,7 @@ const getters = {
   visitedViews: state => state.tagsView.visitedViews,
   cachedViews: state => state.tagsView.cachedViews,
   getScheduleData: state => state.schoolTimetable.getScheduleData,
+  getScheduleDataLength: state => state.schoolTimetable.getScheduleDataLength,
   getScheduleWareData: state => state.schoolTimetable.getScheduleWareData,
   getScheduleWareDataLength: state => state.schoolTimetable.getScheduleWareDataLength,
   getBlockData: state => state.dashboard.getBlockData,

+ 10 - 3
src/store/modules/schoolTimetable.js

@@ -2,6 +2,7 @@ import { getSchedule, getScheduleWare, setSchedule, setScheduleWare } from '@/ap
 
 const state = {
   getScheduleData: [],
+  getScheduleDataLength: 0,
   getScheduleWareData: [],
   getScheduleWareDataLength: 0
 }
@@ -10,6 +11,9 @@ const mutations = {
   GET_SCHEDULE: (state, data) => {
     state.getScheduleData = data
   },
+  SCHEDUL_LENGTH: (state, length) => {
+    state.getScheduleDataLength = length
+  },
   GET_SCHEDULE_WARE: (state, data) => {
     console.log(data)
     state.getScheduleWareData = data
@@ -21,7 +25,10 @@ const mutations = {
 
 const actions = {
   // 获取课程表列表
-  getScheduleList({ commit, state }) {
+  getScheduleList({ commit, state }, obj) {
+    console.log(obj)
+    debugger
+    const page = (obj.page - 1) * 10
     return new Promise((resolve, reject) => {
       getSchedule({
         code: '',
@@ -29,7 +36,8 @@ const actions = {
         weekSeq: ''
       }).then((res) => {
         const list = res.data.list
-        commit('GET_SCHEDULE', list)
+        commit('SCHEDUL_LENGTH', list.length)
+        commit('GET_SCHEDULE', list.splice(page, 10))
         resolve()
       }).catch(error => {
         reject(error)
@@ -57,7 +65,6 @@ const actions = {
     return new Promise((resolve, reject) => {
       setSchedule(data).then((res) => {
         if (res.code === 200) {
-          dispatch('getScheduleList')
           resolve()
         }
       }).catch(error => {

+ 27 - 3
src/views/schoolTimetable/index.vue

@@ -101,6 +101,12 @@
           <el-button type="primary" @click="handOk">确 定</el-button>
         </div>
       </el-dialog>
+      <el-pagination
+        background
+        layout="prev, pager, next"
+        :total="getScheduleDataLength"
+        @current-change="handleCurrentChange"
+      />
     </div>
   </div>
 </template>
@@ -118,16 +124,20 @@ export default {
         code: '',
         weekSeq: ''
       },
-      formLabelWidth: '120px'
+      formLabelWidth: '120px',
+      page: 1
     }
   },
   created() {
-    this.$store.dispatch('schoolTimetable/getScheduleList', {})
+    this.$store.dispatch('schoolTimetable/getScheduleList', {
+      page: this.page
+    })
   },
   // eslint-disable-next-line vue/order-in-components
   computed: {
     ...mapGetters([
-      'getScheduleData'
+      'getScheduleData',
+      'getScheduleDataLength'
     ])
   },
   methods: {
@@ -182,6 +192,9 @@ export default {
       if (this.form.title !== '' || this.form.code !== '' || this.form.weekSeq !== '') {
         this.$store.dispatch('schoolTimetable/setScheduleList', this.form).then(() => {
           this.dialogFormVisible = false
+          this.$store.dispatch('schoolTimetable/getScheduleList', {
+            page: this.page
+          })
         })
       }
     },
@@ -189,6 +202,13 @@ export default {
       this.$router.push({
         path: '/uploadTab/uploadTab'
       })
+    },
+    handleCurrentChange(val) {
+      console.log(val)
+      this.page = val
+      this.$store.dispatch('dashboard/getScheduleList', {
+        page: this.page
+      })
     }
   }
 }
@@ -210,4 +230,8 @@ export default {
 .el-select>.el-input {
   width: 300px;
 }
+.el-pagination {
+  text-align: center;
+  margin-top: 20px;
+}
 </style>