licailing 5 лет назад
Родитель
Сommit
678915cea1

+ 4 - 3
src/main/vue/src/router.js

@@ -187,9 +187,10 @@ const router = new Router({
                     }
                 },
                 {
-                    path: '/recordList2',
-                    name: 'RecordList2',
-                    component: () => import(/* webpackChunkName: "recordList" */ '@/views/record/RecordList2.vue'),
+                    path: '/recordRegulationList',
+                    name: 'RecordRegulationList',
+                    component: () =>
+                        import(/* webpackChunkName: "recordList" */ '@/views/record/RecordRegulationList.vue'),
                     meta: {
                         title: '监管管理'
                     }

+ 294 - 0
src/main/vue/src/views/record/RecordRegulationList.vue

@@ -0,0 +1,294 @@
+<template>
+    <div class="list-view">
+        <div class="filters-container">
+            <div>
+                <span class="span-width">
+                    <span class="span-size">考级活动名称</span>
+                    <el-input placeholder="输入考级活动名称" v-model="search" clearable class="filter-item"></el-input>
+                </span>
+                <span class="span-width">
+                    <span class="span-size">考级机构名称</span>
+                    <el-input placeholder="输入考级机构名称" v-model="agency" clearable class="filter-item"></el-input>
+                </span>
+                <span class="span-width">
+                    <span class="span-size">承办单位名称</span>
+                    <el-input
+                        placeholder="输入承办单位名称"
+                        v-model="organizer"
+                        clearable
+                        class="filter-item"
+                    ></el-input>
+                </span>
+            </div>
+            <!-- <el-input placeholder="输入关键字" v-model="search" clearable class="filter-item"></el-input> -->
+            <div style="padding-left: 20px">
+                <el-button @click="getData" type="primary" icon="el-icon-search" class="filter-item">查询 </el-button>
+                <el-button @click="getData" type="primary" icon="el-icon-video-camera" class="filter-item"
+                    >监控平台
+                </el-button>
+            </div>
+        </div>
+        <el-table
+            :data="tableData"
+            row-key="id"
+            ref="table"
+            header-row-class-name="table-header-row"
+            header-cell-class-name="table-header-cell"
+            row-class-name="table-row"
+            cell-class-name="table-cell"
+            :height="tableHeight"
+        >
+            <el-table-column v-if="multipleMode" align="center" type="selection" width="50"> </el-table-column>
+            <!-- <el-table-column prop="id" label="ID" width="100"> </el-table-column> -->
+            <el-table-column prop="examinationName" label="考级活动名称"> </el-table-column>
+            <el-table-column prop="examinationStartTime" label="考级活动时间" show-overflow-tooltip>
+                <template slot-scope="{ row }">
+                    <span>{{ row.examinationStartTime }} 至 {{ row.examinationEndTime }}</span>
+                </template>
+            </el-table-column>
+            <el-table-column prop="examinationAgency" label="考级机构名称"> </el-table-column>
+            <el-table-column prop="organizer" label="承办单位名称"> </el-table-column>
+            <el-table-column prop="district" label="考级地点"> </el-table-column>
+            <el-table-column prop="recordTime" label="备案时间"> </el-table-column>
+            <el-table-column prop="status" label="状态" :formatter="statusFormatter" width="50"> </el-table-column>
+            <el-table-column label="操作" align="center" fixed="right" min-width="80">
+                <template slot-scope="{ row }">
+                    <el-button @click="editRow(row)" type="primary" size="mini" plain>查看</el-button>
+                    <el-button @click="openRoom(row)" type="warning" size="mini" plain>考场</el-button>
+                    <!-- <el-button @click="deleteRow(row)" type="danger" size="mini" plain>删除</el-button> -->
+                </template>
+            </el-table-column>
+        </el-table>
+        <div class="pagination-wrapper">
+            <!-- <div class="multiple-mode-wrapper">
+                <el-button v-if="!multipleMode" @click="toggleMultipleMode(true)">批量编辑</el-button>
+                <el-button-group v-else>
+                    <el-button @click="operation1">批量操作1</el-button>
+                    <el-button @click="operation2">批量操作2</el-button>
+                    <el-button @click="toggleMultipleMode(false)">取消</el-button>
+                </el-button-group>
+            </div> -->
+            <el-pagination
+                background
+                @size-change="onSizeChange"
+                @current-change="onCurrentChange"
+                :current-page="page"
+                :page-sizes="[10, 20, 30, 40, 50]"
+                :page-size="pageSize"
+                layout="total, sizes, prev, pager, next, jumper"
+                :total="totalElements"
+            >
+            </el-pagination>
+        </div>
+    </div>
+</template>
+<script>
+import pageableTable from '@/mixins/pageableTable';
+import format from 'date-fns/format';
+import startOfDay from 'date-fns/startOfDay';
+import endOfDay from 'date-fns/endOfDay';
+
+export default {
+    name: 'RecordRegulationList',
+    mixins: [pageableTable],
+    created() {
+        this.$http
+            .get('/district/NJ')
+            .then(res => {
+                this.district = res;
+            })
+            .catch(e => {
+                console.log(e);
+                this.$message.error(e.error);
+            });
+    },
+    data() {
+        return {
+            multipleMode: false,
+            search: '',
+            url: '/record/all',
+            downloading: false,
+            categoryOptions: [{ label: '承办单位', value: 'ORGANIZER' }],
+            statusOptions: [{ label: '正常', value: 'NORMAL' }],
+            district: [],
+            districtId: '',
+            province: '江苏省',
+            city: '南京市',
+            status: '',
+            recordDateRange: '',
+            agency: '',
+            organizer: '',
+            dateRange: ''
+        };
+    },
+    computed: {
+        selection() {
+            return this.$refs.table.selection.map(i => i.id);
+        }
+    },
+    methods: {
+        categoryFormatter(row, column, cellValue, index) {
+            let selectedOption = this.categoryOptions.find(i => i.value === cellValue);
+            if (selectedOption) {
+                return selectedOption.label;
+            }
+            return '';
+        },
+        statusFormatter(row, column, cellValue, index) {
+            let selectedOption = this.statusOptions.find(i => i.value === cellValue);
+            if (selectedOption) {
+                return selectedOption.label;
+            }
+            return '';
+        },
+        beforeGetData() {
+            // return {
+            //     search: this.search,
+            //     sort: 'recordTime,desc',
+            //     query: {
+            //         district: this.districtId,
+            //         del: false
+            //     }
+            // };
+            let data = {
+                sort: 'recordTime,desc',
+                query: {
+                    del: false,
+                    examinationTime: format(new Date(), 'yyyy-MM-dd')
+                }
+            };
+            if (this.search) {
+                data.search = this.search;
+            }
+            if (this.districtId) {
+                data.query.district = this.districtId;
+            }
+            if (this.agency) {
+                data.query.examinationAgency = this.agency;
+            }
+            if (this.organizer) {
+                data.query.organizer = this.organizer;
+            }
+            return data;
+        },
+        toggleMultipleMode(multipleMode) {
+            this.multipleMode = multipleMode;
+            if (!multipleMode) {
+                this.$refs.table.clearSelection();
+            }
+        },
+        addRow() {
+            this.$router.push({
+                path: '/recordEdit',
+                query: {
+                    ...this.$route.query
+                }
+            });
+        },
+        editRow(row) {
+            this.$router.push({
+                path: '/recordEdit',
+                query: {
+                    id: row.id
+                }
+            });
+        },
+        download() {
+            this.downloading = true;
+            this.$axios
+                .get('/record/excel', {
+                    responseType: 'blob',
+                    params: {
+                        size: 10000,
+                        query: {
+                            del: false
+                        }
+                    }
+                })
+                .then(res => {
+                    console.log(res);
+                    this.downloading = false;
+                    const downloadUrl = window.URL.createObjectURL(new Blob([res.data]));
+                    const link = document.createElement('a');
+                    link.href = downloadUrl;
+                    link.setAttribute('download', res.headers['content-disposition'].split('filename=')[1]);
+                    document.body.appendChild(link);
+                    link.click();
+                    link.remove();
+                })
+                .catch(e => {
+                    console.log(e);
+                    this.downloading = false;
+                    this.$message.error(e.error);
+                });
+        },
+        operation1() {
+            this.$notify({
+                title: '提示',
+                message: this.selection
+            });
+        },
+        operation2() {
+            this.$message('操作2');
+        },
+        deleteRow(row) {
+            this.$alert('删除将无法恢复,确认要删除么?', '警告', { type: 'error' })
+                .then(() => {
+                    return this.$http.post(`/record/del/${row.id}`);
+                })
+                .then(() => {
+                    this.$message.success('删除成功');
+                    this.getData();
+                })
+                .catch(e => {
+                    if (e !== 'cancel') {
+                        this.$message.error(e.error);
+                    }
+                });
+        },
+        distribute() {
+            this.$alert('已分发到各区县!', '分发', {
+                confirmButtonText: '确定'
+            });
+        },
+        update() {
+            this.$http
+                .get('/record/update')
+                .then(res => {
+                    this.getData();
+                })
+                .catch(e => {
+                    console.log(e);
+                    this.$message.error(e.error);
+                });
+        },
+        openRoom(row) {
+            this.$router.push({
+                path: '/recordRoomList',
+                query: {
+                    id: row.id
+                }
+            });
+        }
+    }
+};
+</script>
+<style lang="less" scoped>
+.span-size {
+    font-size: 14px;
+    color: #565b66;
+    line-height: 15px;
+    padding: 0 10px 0 10px;
+}
+.span-width {
+    width: 330px;
+    display: inline-block;
+    text-align: right;
+}
+.span-width2 {
+    width: 500px;
+    // float: left;
+    text-align: right;
+    display: inline-block;
+}
+</style>

+ 1 - 1
src/test/java/com/izouma/wenlvju/repo/UserRepoTest.java

@@ -74,7 +74,7 @@ public class UserRepoTest {
 
     @Test
     public void test3() {
-        System.out.println(jwtTokenUtil.generateToken(JwtUserFactory.create(userRepo.findById(11036L)
+        System.out.println(jwtTokenUtil.generateToken(JwtUserFactory.create(userRepo.findById(469L)
                 .orElseThrow(new BusinessException("用户不存在")))));
     }