|
@@ -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>
|