reloaded il y a 5 ans
Parent
commit
9ca0582491
2 fichiers modifiés avec 59 ajouts et 0 suppressions
  1. 54 0
      parts/attendance.vue
  2. 5 0
      store/classes.js

+ 54 - 0
parts/attendance.vue

@@ -0,0 +1,54 @@
+<template>
+  <div id="attendance">
+    <el-select v-model="value" placeholder="请选择">
+      <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> </el-option>
+    </el-select>
+    <el-table :data="tableData" border style="width: 100%">
+      <el-table-column prop="date" label="日期" width="180"> </el-table-column>
+      <el-table-column prop="name" label="姓名" width="180"> </el-table-column>
+      <el-table-column prop="address" label="地址"> </el-table-column>
+    </el-table>
+  </div>
+</template>
+
+<script>
+import { mapState, createNamespacedHelpers } from 'vuex';
+const { mapActions: attendance } = createNamespacedHelpers('attendance');
+const { mapActions: classes } = createNamespacedHelpers('classes');
+export default {
+  name: 'attendance',
+  props: {
+    classId: {},
+  },
+  components: {},
+  data: () => ({
+    tableData: [],
+    options: [],
+    value: '',
+  }),
+  created() {},
+  computed: {},
+  methods: {
+    ...attendance(['fetch', 'query']),
+    ...classes(['searchDate']),
+    async search() {
+      const List = await this.query({ classid: this.classId });
+      const data = await this.searchDate({ classid: this.classId });
+      console.log(List);
+      console.log(data);
+    },
+  },
+  watch: {
+    classId: {
+      handler(val) {
+        if (val) {
+          this.search();
+        }
+      },
+      immediate: true,
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped></style>

+ 5 - 0
store/classes.js

@@ -6,6 +6,7 @@ Vue.use(Vuex);
 const api = {
   interface: `/api/train/class`,
   divide: `/api/train/class/divide`,
+  searchDate: `/api/train/class/searchDate`,
 };
 const state = () => ({});
 const mutations = {};
@@ -61,6 +62,10 @@ const actions = {
     let returns = _.flattenDeep(newFilter(result));
     return returns;
   },
+  async searchDate({ commit }, { skip = 0, limit, ...info } = {}) {
+    const res = await this.$axios.$get(`${api.searchDate}`, { ...info });
+    return res;
+  },
 };
 export default {
   namespaced: true,