licailing 4 лет назад
Родитель
Сommit
9d3b274ab2

+ 3 - 0
src/main/java/com/izouma/wenlvju/domain/performance/Arrange.java

@@ -35,6 +35,9 @@ public class Arrange extends BaseEntity {
     @ApiModelProperty(value = "活动日期")
     private LocalDate date;
 
+    @ApiModelProperty(value = "上下午")
+    private boolean morning;
+
     @ApiModelProperty(value = "时间安排")
     private LocalTime startTime;
 

+ 9 - 0
src/main/vue/src/router.js

@@ -700,6 +700,15 @@ const router = new Router({
                     meta: {
                         title: '节目编排'
                     }
+                },
+                {
+                    path: '/arrangeJudgeList',
+                    name: 'ArrangeJudgeList',
+                    component: () =>
+                        import(/* webpackChunkName: "arrangeJudgeList" */ '@/views/performance/ArrangeJudgeList.vue'),
+                    meta: {
+                        title: '分配评委'
+                    }
                 }
                 /**INSERT_LOCATION**/
             ]

+ 329 - 0
src/main/vue/src/views/performance/ArrangeJudgeList.vue

@@ -0,0 +1,329 @@
+<template>
+    <div class="list-view">
+        <div class="filters-container">
+            <!-- <el-input placeholder="输入关键字" v-model="search" clearable class="filter-item"></el-input>
+            <el-button @click="getData" type="primary" icon="el-icon-search" class="filter-item">搜索 </el-button>
+            <el-button @click="addRow" type="primary" icon="el-icon-plus" class="filter-item">添加 </el-button>
+            <el-button
+                @click="download"
+                type="primary"
+                icon="el-icon-download"
+                :loading="downloading"
+                class="filter-item"
+                >导出EXCEL
+            </el-button> -->
+            <el-form :model="form" :rules="rules" ref="form" inline label-width="100px">
+                <el-form-item label="活动名称">
+                    <el-select v-model="form.performanceId" filterable placeholder="活动名称" style="width: 100%">
+                        <el-option
+                            v-for="item in performances"
+                            :key="item.value"
+                            :label="item.label"
+                            :value="item.value"
+                        >
+                        </el-option>
+                    </el-select>
+                </el-form-item>
+                <el-form-item label="活动日期">
+                    <el-date-picker
+                        v-model="dateRange"
+                        value-format="yyyy-MM-dd"
+                        type="daterange"
+                        range-separator="至"
+                        start-placeholder="开始日期"
+                        end-placeholder="结束日期"
+                    >
+                    </el-date-picker>
+                </el-form-item>
+                <el-form-item label="活动地点">
+                    <el-select v-model="form.address">
+                        <el-option
+                            v-for="(item, index) in addresses"
+                            :key="index"
+                            :value="item"
+                            :label="item"
+                        ></el-option>
+                    </el-select>
+                </el-form-item>
+                <el-form-item label="时间安排">
+                    <el-checkbox v-model="form.morning">上午</el-checkbox>
+                    <el-checkbox v-model="form.afternoon">下午</el-checkbox>
+                </el-form-item>
+                <el-form-item>
+                    <el-button type="primary">查询</el-button>
+                </el-form-item>
+            </el-form>
+        </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="date" label="活动日期"> </el-table-column>
+            <el-table-column prop="address" label="活动地点"> </el-table-column>
+            <el-table-column prop="name" label="分组名称" min-width="130"> </el-table-column>
+            <el-table-column label="时间安排" min-width="100">
+                <template slot-scope="{ row }"> {{ row.startTime }}-{{ row.endTime }} </template>
+            </el-table-column>
+            <el-table-column prop="quantity" label="节目数量"> </el-table-column>
+            <!-- <el-table-column prop="duration" label="节目时长"> </el-table-column> -->
+            <el-table-column label="参赛专业">
+                <template slot-scope="{ row }">
+                    {{ row.specialtyName.join(',') }}
+                </template>
+            </el-table-column>
+            <el-table-column prop="writerDirector" label="编导姓名"> </el-table-column>
+            <el-table-column prop="phone" label="联系电话"> </el-table-column>
+            <el-table-column label="操作" align="center" fixed="right" min-width="320">
+                <template slot-scope="{ row }">
+                    <el-button @click="editRow(row)" type="primary" size="mini" plain>编辑</el-button>
+                    <el-button @click="programme(row)" 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>
+
+        <el-dialog :visible.sync="showProgramme" width="80%" title="未分组节目" center>
+            <el-table
+                :data="unGrouped"
+                row-key="id"
+                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="300"
+            >
+                <el-table-column prop="name" label="节目名称"> </el-table-column>
+                <el-table-column prop="specialty" label="参赛专业"> </el-table-column>
+                <el-table-column
+                    prop="competitionGroup"
+                    label="参赛组别"
+                    :formatter="competitionGroupFormatter"
+                    min-width="70"
+                >
+                </el-table-column>
+                <el-table-column prop="level" label="参赛级别" min-width="70"> </el-table-column>
+                <el-table-column prop="durationOfWork" label="作品时长" min-width="70"> </el-table-column>
+                <el-table-column prop="quantity" label="参赛人数" min-width="70"> </el-table-column>
+                <el-table-column prop="contact" label="联系人" min-width="68"> </el-table-column>
+                <el-table-column prop="phone" label="联系电话" min-width="95"> </el-table-column>
+                <el-table-column prop="gradingOrganization" label="考级机构" show-overflow-tooltip min-width="160">
+                </el-table-column>
+                <el-table-column prop="organization" label="承办单位" min-width="160"> </el-table-column>
+                <el-table-column prop="examPoint" label="考级点"> </el-table-column>
+                <el-table-column label="操作">
+                    <template slot-scope="{ row }">
+                        <el-button @click="choose(row)" size="mini" type="primary">增加</el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
+        </el-dialog>
+    </div>
+</template>
+<script>
+import { mapState } from 'vuex';
+import pageableTable from '@/mixins/pageableTable';
+
+export default {
+    name: 'ArrangeJudgeList',
+    mixins: [pageableTable],
+    data() {
+        return {
+            multipleMode: false,
+            search: '',
+            url: '/arrange/all',
+            downloading: false,
+            form: {},
+            performances: [],
+            addresses: [],
+            dateRange: '',
+            rules: {
+                performanceId: [{ required: true, message: '请选择活动名称', trigger: 'blur' }],
+                address: [{ required: true, message: '请选择活动地点', trigger: 'blur' }],
+                quantity: [{ required: true, message: '请输入分组节目数量', trigger: 'blur' }],
+                duration: [{ required: true, message: '请输入单个节目时长', trigger: 'blur' }]
+            },
+            showProgramme: false,
+            unGrouped: [],
+            competitionGroupOptions: [
+                { label: '个人', value: 'SINGLE' },
+                { label: '集体', value: 'COLLECTIVE' }
+            ]
+        };
+    },
+    created() {
+        this.$http
+            .post(
+                '/performance/all',
+                {
+                    size: 100,
+                    sort: 'year,desc',
+                    query: {
+                        publish: true
+                    }
+                },
+                { body: 'json' }
+            )
+            .then(res => {
+                if (res.content.length > 0) {
+                    res.content.forEach(item => {
+                        this.performances.push({
+                            label: item.name,
+                            value: item.id
+                        });
+                    });
+                }
+            })
+            .catch(e => {
+                console.log(e);
+                this.$message.error(e.error);
+            });
+        this.$http
+            .post(
+                '/performanceSchedule/all',
+                { size: 100, query: { performanceId: this.form.performanceId } },
+                { body: 'json' }
+            )
+            .then(res => {
+                if (res.content.length > 0) {
+                    res.content.forEach(item => {
+                        this.addresses.push(item.address);
+                    });
+                }
+            })
+            .catch(e => {
+                console.log(e);
+                this.$message.error(e.error);
+            });
+    },
+    computed: {
+        selection() {
+            return this.$refs.table.selection.map(i => i.id);
+        }
+    },
+    methods: {
+        competitionGroupFormatter(row, column, cellValue, index) {
+            let selectedOption = this.competitionGroupOptions.find(i => i.value === cellValue);
+            if (selectedOption) {
+                return selectedOption.label;
+            }
+            return '';
+        },
+        beforeGetData() {
+            return {
+                search: this.search,
+                sort: 'date,asc;startTime,asc',
+                query: {
+                    performanceId: this.form.performanceId
+                }
+            };
+        },
+        toggleMultipleMode(multipleMode) {
+            this.multipleMode = multipleMode;
+            if (!multipleMode) {
+                this.$refs.table.clearSelection();
+            }
+        },
+        addRow() {
+            this.$router.push({
+                path: '/arrangeEdit',
+                query: {
+                    ...this.$route.query
+                }
+            });
+        },
+        editRow(row) {
+            this.$router.push({
+                path: '/arrangeEdit',
+                query: {
+                    id: row.id
+                }
+            });
+        },
+        programme(row) {
+            this.$router.push({
+                path: '/programmeGroupList',
+                query: {
+                    aid: row.id
+                }
+            });
+        },
+        download() {
+            this.downloading = true;
+            this.$axios
+                .get('/arrange/excel', {
+                    responseType: 'blob',
+                    params: { size: 10000 }
+                })
+                .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(`/arrange/del/${row.id}`);
+                })
+                .then(() => {
+                    this.$message.success('删除成功');
+                    this.getData();
+                })
+                .catch(e => {
+                    if (e !== 'cancel') {
+                        this.$message.error(e.error);
+                    }
+                });
+        }
+    }
+};
+</script>
+<style lang="less" scoped></style>

+ 94 - 14
src/main/vue/src/views/performance/ArrangeList.vue

@@ -14,13 +14,7 @@
             </el-button> -->
             <el-form :model="form" :rules="rules" ref="form" inline label-width="100px">
                 <el-form-item label="活动名称">
-                    <el-select
-                        v-model="form.performanceId"
-                        clearable
-                        filterable
-                        placeholder="活动名称"
-                        style="width: 100%"
-                    >
+                    <el-select v-model="form.performanceId" filterable placeholder="活动名称" style="width: 100%">
                         <el-option
                             v-for="item in performances"
                             :key="item.value"
@@ -31,8 +25,8 @@
                     </el-select>
                 </el-form-item>
                 <el-form-item>
-                    <el-button type="primary">查看活动分组情况</el-button>
-                    <el-button type="primary">查看未分组情况情况</el-button>
+                    <el-button type="primary" @click="getData">查看活动分组情况</el-button>
+                    <el-button type="primary" @click="intoGroup">查看未分组情况情况</el-button>
                 </el-form-item>
                 <el-form-item label="活动日期">
                     <el-date-picker
@@ -98,7 +92,7 @@
                     </el-select>
                 </el-form-item>
                 <el-form-item>
-                    <el-button type="primary">清空</el-button>
+                    <el-button type="primary" @click="clear">清空</el-button>
                     <el-button type="primary" @click="group">节目分组</el-button>
                     <el-button type="primary">发布分组安排</el-button>
                     <el-button type="primary">导出分组安排</el-button>
@@ -118,7 +112,7 @@
             <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="address" label="活动地点"> </el-table-column>
-            <el-table-column prop="name" label="分组名称" min-width="100"> </el-table-column>
+            <el-table-column prop="name" label="分组名称" min-width="130"> </el-table-column>
             <el-table-column label="时间安排" min-width="100">
                 <template slot-scope="{ row }"> {{ row.startTime }}-{{ row.endTime }} </template>
             </el-table-column>
@@ -173,6 +167,42 @@
             >
             </el-pagination>
         </div>
+
+        <el-dialog :visible.sync="showProgramme" width="80%" title="未分组节目" center>
+            <el-table
+                :data="unGrouped"
+                row-key="id"
+                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="300"
+            >
+                <el-table-column prop="name" label="节目名称"> </el-table-column>
+                <el-table-column prop="specialty" label="参赛专业"> </el-table-column>
+                <el-table-column
+                    prop="competitionGroup"
+                    label="参赛组别"
+                    :formatter="competitionGroupFormatter"
+                    min-width="70"
+                >
+                </el-table-column>
+                <el-table-column prop="level" label="参赛级别" min-width="70"> </el-table-column>
+                <el-table-column prop="durationOfWork" label="作品时长" min-width="70"> </el-table-column>
+                <el-table-column prop="quantity" label="参赛人数" min-width="70"> </el-table-column>
+                <el-table-column prop="contact" label="联系人" min-width="68"> </el-table-column>
+                <el-table-column prop="phone" label="联系电话" min-width="95"> </el-table-column>
+                <el-table-column prop="gradingOrganization" label="考级机构" show-overflow-tooltip min-width="160">
+                </el-table-column>
+                <el-table-column prop="organization" label="承办单位" min-width="160"> </el-table-column>
+                <el-table-column prop="examPoint" label="考级点"> </el-table-column>
+                <el-table-column label="操作">
+                    <template slot-scope="{ row }">
+                        <el-button @click="choose(row)" size="mini" type="primary">增加</el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
+        </el-dialog>
     </div>
 </template>
 <script>
@@ -200,12 +230,28 @@ export default {
                 quantity: [{ required: true, message: '请输入分组节目数量', trigger: 'blur' }],
                 duration: [{ required: true, message: '请输入单个节目时长', trigger: 'blur' }]
             },
-            artTypes: []
+            artTypes: [],
+            showProgramme: false,
+            unGrouped: [],
+            competitionGroupOptions: [
+                { label: '个人', value: 'SINGLE' },
+                { label: '集体', value: 'COLLECTIVE' }
+            ]
         };
     },
     created() {
         this.$http
-            .post('/performance/all', { size: 100, sort: 'year,desc' }, { body: 'json' })
+            .post(
+                '/performance/all',
+                {
+                    size: 100,
+                    sort: 'year,desc',
+                    query: {
+                        publish: true
+                    }
+                },
+                { body: 'json' }
+            )
             .then(res => {
                 if (res.content.length > 0) {
                     res.content.forEach(item => {
@@ -260,10 +306,20 @@ export default {
         }
     },
     methods: {
+        competitionGroupFormatter(row, column, cellValue, index) {
+            let selectedOption = this.competitionGroupOptions.find(i => i.value === cellValue);
+            if (selectedOption) {
+                return selectedOption.label;
+            }
+            return '';
+        },
         beforeGetData() {
             return {
                 search: this.search,
-                sort: 'date,asc;startTime,asc'
+                sort: 'date,asc;startTime,asc',
+                query: {
+                    performanceId: this.form.performanceId
+                }
             };
         },
         toggleMultipleMode(multipleMode) {
@@ -413,6 +469,30 @@ export default {
                     this.loading = false;
                     this.$message.error(e.error);
                 });
+        },
+        intoGroup() {
+            this.showProgramme = true;
+            this.$http
+                .post('/programme/unGrouped', { performanceId: this.form.performanceId })
+                .then(res => {
+                    this.unGrouped = res;
+                })
+                .catch(e => {
+                    console.log(e);
+                    this.$message.error(e.error);
+                });
+        },
+        clear() {
+            this.form = {};
+            this.dateRange = '';
+            this.form.address = '';
+            this.form.morning = '';
+            this.form.afternoon = '';
+            this.timeRange = '';
+            this.afterTimeRange = '';
+            this.form.quantity = '';
+            this.form.duration = '';
+            this.form.specialtyId = '';
         }
     }
 };

+ 0 - 1
src/main/vue/src/views/performance/PerformanceListShow.vue

@@ -110,7 +110,6 @@ export default {
     },
     created() {
         this.currentTime = format(new Date(), 'yyyy-MM-dd');
-        console.log(this.currentTime);
     },
     computed: {
         selection() {

+ 45 - 3
src/main/vue/src/views/performance/ProgrammeEdit.vue

@@ -12,6 +12,17 @@
             <el-timeline>
                 <el-timeline-item placement="top" size="normal" timestamp="基本信息">
                     <el-card shadow="hover" :body-style="{ padding: '20px' }">
+                        <el-form-item prop="performanceId" label="活动名称">
+                            <el-select v-model="formData.performanceId" filterable placeholder="请选择" class="width">
+                                <el-option
+                                    v-for="item in performances"
+                                    :key="item.value"
+                                    :label="item.label"
+                                    :value="item.value"
+                                >
+                                </el-option>
+                            </el-select>
+                        </el-form-item>
                         <el-form-item prop="name" label="节目名称">
                             <el-input v-model="formData.name" class="width"></el-input>
                         </el-form-item>
@@ -83,7 +94,11 @@
                             </el-select>
                         </el-form-item>
                         <el-form-item prop="durationOfWork" label="作品时长">
-                            <el-input v-model="formData.durationOfWork" class="width"></el-input>
+                            <el-input-number
+                                type="number"
+                                v-model="formData.durationOfWork"
+                                class="width"
+                            ></el-input-number>
                         </el-form-item>
                         <el-form-item prop="instructor" label="指导老师">
                             <el-input v-model="formData.instructor" class="width"></el-input>
@@ -297,7 +312,7 @@ export default {
                 this.$message.error(e.error);
             });
         this.$http
-            .post('/organization/all', { size: 1000, query: { del: false } }, { body: 'json' })
+            .post('/organization/all', { size: 1000 }, { body: 'json' })
             .then(res => {
                 if (res.content.length > 0) {
                     res.content.forEach(item => {
@@ -320,6 +335,32 @@ export default {
             .catch(e => {
                 console.log(e);
             });
+        this.$http
+            .post(
+                '/performance/all',
+                {
+                    size: 1000,
+                    sort: 'year,desc',
+                    query: {
+                        publish: true
+                    }
+                },
+                { body: 'json' }
+            )
+            .then(res => {
+                if (res.content.length > 0) {
+                    res.content.forEach(item => {
+                        this.performances.push({
+                            label: item.name,
+                            value: item.id
+                        });
+                    });
+                }
+            })
+            .catch(e => {
+                console.log(e);
+                this.$message.error(e.error);
+            });
     },
     data() {
         return {
@@ -353,7 +394,8 @@ export default {
                 expandTrigger: 'hover'
             },
             participants: [],
-            programmeId: ''
+            programmeId: '',
+            performances: []
         };
     },
     computed: {

+ 63 - 4
src/main/vue/src/views/performance/ProgrammeGroupList.vue

@@ -25,7 +25,7 @@
                 <el-table-column prop="writerDirector" label="编导姓名"> </el-table-column>
                 <el-table-column prop="phone" label="联系电话"> </el-table-column>
             </el-table>
-            <el-button style="margin: 10px" @click="showProgramme = true" type="primary">添加节目</el-button>
+            <el-button style="margin: 10px" @click="intoGroup" type="primary">添加节目</el-button>
         </div>
         <el-table
             :data="tableData"
@@ -56,7 +56,7 @@
             <el-table-column prop="gradingOrganization" label="考级机构" show-overflow-tooltip min-width="160">
             </el-table-column>
             <el-table-column prop="organization" label="承办单位" min-width="160"> </el-table-column>
-            <el-table-column prop="examPoint" label="考级点"> </el-table-column>
+            <el-table-column prop="examPoint" label="考级点" min-width="160"> </el-table-column>
             <el-table-column label="操作" align="left" fixed="right" min-width="280">
                 <template slot-scope="{ row }">
                     <el-button @click="showRow(row)" size="mini" plain>查看</el-button>
@@ -117,7 +117,41 @@
             </video>
         </el-dialog>
 
-        <el-dialog :visible.sync="showProgramme"></el-dialog>
+        <el-dialog :visible.sync="showProgramme" width="80%" title="未分组节目" center>
+            <el-table
+                :data="unGrouped"
+                row-key="id"
+                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="300"
+            >
+                <el-table-column prop="name" label="节目名称"> </el-table-column>
+                <el-table-column prop="specialty" label="参赛专业"> </el-table-column>
+                <el-table-column
+                    prop="competitionGroup"
+                    label="参赛组别"
+                    :formatter="competitionGroupFormatter"
+                    min-width="70"
+                >
+                </el-table-column>
+                <el-table-column prop="level" label="参赛级别" min-width="70"> </el-table-column>
+                <el-table-column prop="durationOfWork" label="作品时长" min-width="70"> </el-table-column>
+                <el-table-column prop="quantity" label="参赛人数" min-width="70"> </el-table-column>
+                <el-table-column prop="contact" label="联系人" min-width="68"> </el-table-column>
+                <el-table-column prop="phone" label="联系电话" min-width="95"> </el-table-column>
+                <el-table-column prop="gradingOrganization" label="考级机构" show-overflow-tooltip min-width="160">
+                </el-table-column>
+                <el-table-column prop="organization" label="承办单位" min-width="160"> </el-table-column>
+                <el-table-column prop="examPoint" label="考级点" min-width="160"> </el-table-column>
+                <el-table-column label="操作">
+                    <template slot-scope="{ row }">
+                        <el-button @click="choose(row)" size="mini" type="primary">增加</el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
+        </el-dialog>
     </div>
 </template>
 <script>
@@ -145,7 +179,9 @@ export default {
             showViedo: false,
             videoUrl: '',
             arrange: [],
-            showProgramme: false
+            showProgramme: false,
+            unGrouped: [],
+            performanceId: ''
         };
     },
     created() {
@@ -154,6 +190,7 @@ export default {
                 .post('/arrange/all', { query: { id: this.$route.query.aid } }, { body: 'json' })
                 .then(res => {
                     this.arrange = res.content;
+                    this.performanceId = res.content[0].performanceId;
                 })
                 .catch(e => {
                     console.log(e);
@@ -293,6 +330,28 @@ export default {
         },
         intoGroup() {
             this.showProgramme = true;
+            this.$http
+                .post('/programme/unGrouped', { performanceId: this.performanceId })
+                .then(res => {
+                    this.unGrouped = res;
+                })
+                .catch(e => {
+                    console.log(e);
+                    this.$message.error(e.error);
+                });
+        },
+        choose(row) {
+            this.$http
+                .post('/programme/intoGroup', { id: row.id, arrangeId: this.$route.query.aid })
+                .then(res => {
+                    this.showProgramme = false;
+                    this.$message.success('添加成功');
+                    this.getData();
+                })
+                .catch(e => {
+                    console.log(e);
+                    this.$message.error(e.error);
+                });
         }
     }
 };

+ 12 - 2
src/main/vue/src/views/performance/ProgrammeList.vue

@@ -179,7 +179,7 @@
             <el-table-column prop="gradingOrganization" label="考级机构" show-overflow-tooltip min-width="160">
             </el-table-column>
             <el-table-column prop="organization" label="承办单位" min-width="160"> </el-table-column>
-            <el-table-column prop="examPoint" label="考级点"> </el-table-column>
+            <el-table-column prop="examPoint" label="考级点" min-width="160"> </el-table-column>
             <el-table-column label="操作" align="left" fixed="right" min-width="280">
                 <template slot-scope="{ row }">
                     <el-button @click="showRow(row)" size="mini" plain>查看</el-button>
@@ -361,7 +361,17 @@ export default {
                 this.$message.error(e.error);
             });
         this.$http
-            .post('/performance/all', { size: 1000, query: { del: false } }, { body: 'json' })
+            .post(
+                '/performance/all',
+                {
+                    size: 1000,
+                    sort: 'year,desc',
+                    query: {
+                        publish: true
+                    }
+                },
+                { body: 'json' }
+            )
             .then(res => {
                 if (res.content.length > 0) {
                     res.content.forEach(item => {

+ 12 - 2
src/main/vue/src/views/performance/ProgrammeOrgList.vue

@@ -184,7 +184,7 @@
             <el-table-column prop="gradingOrganization" label="考级机构" show-overflow-tooltip min-width="160">
             </el-table-column>
             <el-table-column prop="organization" label="承办单位" min-width="160"> </el-table-column>
-            <el-table-column prop="examPoint" label="考级点"> </el-table-column>
+            <el-table-column prop="examPoint" label="考级点" min-width="160"> </el-table-column>
             <el-table-column label="操作" align="center" fixed="right" min-width="340">
                 <template slot-scope="{ row }">
                     <el-button @click="showRow(row)" size="mini" plain>查看</el-button>
@@ -352,7 +352,17 @@ export default {
                 this.$message.error(e.error);
             });
         this.$http
-            .post('/performance/all', { size: 1000, sort: 'year,desc' }, { body: 'json' })
+            .post(
+                '/performance/all',
+                {
+                    size: 1000,
+                    sort: 'year,desc',
+                    query: {
+                        publish: true
+                    }
+                },
+                { body: 'json' }
+            )
             .then(res => {
                 if (res.content.length > 0) {
                     res.content.forEach(item => {