|
@@ -23,13 +23,13 @@
|
|
|
<el-button type="primary" @click="getData">查看活动分组情况</el-button>
|
|
<el-button type="primary" @click="getData">查看活动分组情况</el-button>
|
|
|
<el-button type="primary" @click="intoGroup">查看未分组情况情况</el-button>
|
|
<el-button type="primary" @click="intoGroup">查看未分组情况情况</el-button>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
- <div v-if="performance.status == 'UNDER_REVIEW' || performance.status == 'ARRANGE'">
|
|
|
|
|
|
|
+ <div v-if="canEdit()">
|
|
|
<el-collapse-transition>
|
|
<el-collapse-transition>
|
|
|
<div v-show="showMore">
|
|
<div v-show="showMore">
|
|
|
<el-card shadow="hover" :body-style="{ padding: '15px' }" style="margin-bottom: 15px">
|
|
<el-card shadow="hover" :body-style="{ padding: '15px' }" style="margin-bottom: 15px">
|
|
|
<el-row :gutter="15">
|
|
<el-row :gutter="15">
|
|
|
<el-col :span="12" :offset="0">
|
|
<el-col :span="12" :offset="0">
|
|
|
- <el-form-item label="活动日期" prop="dateRange" v-if="!performance.online">
|
|
|
|
|
|
|
+ <el-form-item label="活动日期" prop="dateRange" v-if="!online">
|
|
|
<el-date-picker
|
|
<el-date-picker
|
|
|
v-model="dateRange"
|
|
v-model="dateRange"
|
|
|
value-format="yyyy-MM-dd"
|
|
value-format="yyyy-MM-dd"
|
|
@@ -45,23 +45,14 @@
|
|
|
<el-col :span="6" :offset="0">
|
|
<el-col :span="6" :offset="0">
|
|
|
<el-form-item class="flex" label="分组节目数量" prop="quantity">
|
|
<el-form-item class="flex" label="分组节目数量" prop="quantity">
|
|
|
<el-input-number type="number" v-model="form.quantity"></el-input-number>
|
|
<el-input-number type="number" v-model="form.quantity"></el-input-number>
|
|
|
- <!-- <el-select v-model="form.quantity" clearable>
|
|
|
|
|
- <el-option
|
|
|
|
|
- v-for="item in nums"
|
|
|
|
|
- :key="item"
|
|
|
|
|
- :label="item"
|
|
|
|
|
- :value="item"
|
|
|
|
|
- ></el-option>
|
|
|
|
|
- </el-select> -->
|
|
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="时间安排" prop="morning" v-if="!performance.online">
|
|
|
|
|
|
|
+ <el-form-item label="时间安排" prop="morning" v-if="!online">
|
|
|
<el-checkbox v-model="form.morning" disabled>上午</el-checkbox>
|
|
<el-checkbox v-model="form.morning" disabled>上午</el-checkbox>
|
|
|
<el-time-select
|
|
<el-time-select
|
|
|
placeholder="起始时间"
|
|
placeholder="起始时间"
|
|
|
format="HH:mm"
|
|
format="HH:mm"
|
|
|
- value-format="HH:mm:ss"
|
|
|
|
|
v-model="timeRange[0]"
|
|
v-model="timeRange[0]"
|
|
|
:picker-options="{
|
|
:picker-options="{
|
|
|
start: '08:30',
|
|
start: '08:30',
|
|
@@ -73,6 +64,7 @@
|
|
|
</el-time-select>
|
|
</el-time-select>
|
|
|
<el-time-select
|
|
<el-time-select
|
|
|
placeholder="结束时间"
|
|
placeholder="结束时间"
|
|
|
|
|
+ format="HH:mm"
|
|
|
v-model="timeRange[1]"
|
|
v-model="timeRange[1]"
|
|
|
:picker-options="{
|
|
:picker-options="{
|
|
|
start: '08:30',
|
|
start: '08:30',
|
|
@@ -86,25 +78,20 @@
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
<el-col :span="6" :offset="0">
|
|
<el-col :span="6" :offset="0">
|
|
|
- <el-form-item
|
|
|
|
|
- class="flex"
|
|
|
|
|
- label="单个节目时长"
|
|
|
|
|
- prop="duration"
|
|
|
|
|
- v-if="!performance.online"
|
|
|
|
|
- >
|
|
|
|
|
- <!-- <el-input-number type="number" v-model="form.duration"></el-input-number> -->
|
|
|
|
|
- <el-select v-model="form.duration" clearable>
|
|
|
|
|
|
|
+ <el-form-item class="flex" label="单个节目时长" prop="duration" v-if="!online">
|
|
|
|
|
+ <el-input-number type="number" v-model="form.duration"></el-input-number>
|
|
|
|
|
+ <!-- <el-select v-model="form.duration" clearable>
|
|
|
<el-option
|
|
<el-option
|
|
|
v-for="item in times"
|
|
v-for="item in times"
|
|
|
:key="item"
|
|
:key="item"
|
|
|
:label="item"
|
|
:label="item"
|
|
|
:value="item"
|
|
:value="item"
|
|
|
></el-option>
|
|
></el-option>
|
|
|
- </el-select>
|
|
|
|
|
|
|
+ </el-select> -->
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
<el-col :span="12" :offset="0">
|
|
<el-col :span="12" :offset="0">
|
|
|
- <el-form-item label=" " prop="afternoon" v-if="!performance.online">
|
|
|
|
|
|
|
+ <el-form-item label=" " prop="afternoon" v-if="!online">
|
|
|
<el-checkbox v-model="form.afternoon" disabled>下午</el-checkbox>
|
|
<el-checkbox v-model="form.afternoon" disabled>下午</el-checkbox>
|
|
|
|
|
|
|
|
<el-time-select
|
|
<el-time-select
|
|
@@ -152,16 +139,17 @@
|
|
|
class="flex"
|
|
class="flex"
|
|
|
label="活动地点"
|
|
label="活动地点"
|
|
|
style="width: 467px"
|
|
style="width: 467px"
|
|
|
- v-if="!performance.online"
|
|
|
|
|
|
|
+ v-if="!online"
|
|
|
>
|
|
>
|
|
|
- <el-select v-model="form.address">
|
|
|
|
|
|
|
+ <!-- <el-select v-model="form.address">
|
|
|
<el-option
|
|
<el-option
|
|
|
v-for="(item, index) in addresses"
|
|
v-for="(item, index) in addresses"
|
|
|
:key="index"
|
|
:key="index"
|
|
|
:value="item.value"
|
|
:value="item.value"
|
|
|
:label="item.value"
|
|
:label="item.value"
|
|
|
></el-option>
|
|
></el-option>
|
|
|
- </el-select>
|
|
|
|
|
|
|
+ </el-select> -->
|
|
|
|
|
+ <el-input v-model="form.address"></el-input>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
</el-row>
|
|
</el-row>
|
|
@@ -193,7 +181,7 @@
|
|
|
:data="tableData"
|
|
:data="tableData"
|
|
|
row-key="id"
|
|
row-key="id"
|
|
|
ref="table"
|
|
ref="table"
|
|
|
- empty-text="加载中..."
|
|
|
|
|
|
|
+ :empty-text="tableData.length > 0 ? '加载中...' : '暂无数据'"
|
|
|
header-row-class-name="table-header-row"
|
|
header-row-class-name="table-header-row"
|
|
|
header-cell-class-name="table-header-cell"
|
|
header-cell-class-name="table-header-cell"
|
|
|
row-class-name="table-row"
|
|
row-class-name="table-row"
|
|
@@ -202,9 +190,9 @@
|
|
|
>
|
|
>
|
|
|
<el-table-column v-if="multipleMode" align="center" type="selection" width="50"> </el-table-column>
|
|
<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="id" label="ID" width="100"> </el-table-column> -->
|
|
|
- <el-table-column prop="address" label="活动地点" v-if="!performance.online"> </el-table-column>
|
|
|
|
|
|
|
+ <el-table-column prop="address" label="活动地点" v-if="!online"> </el-table-column>
|
|
|
<el-table-column prop="name" label="分组名称" min-width="130"> </el-table-column>
|
|
<el-table-column prop="name" label="分组名称" min-width="130"> </el-table-column>
|
|
|
- <el-table-column label="时间安排" min-width="100" v-if="!performance.online">
|
|
|
|
|
|
|
+ <el-table-column label="时间安排" min-width="100" v-if="!online">
|
|
|
<template slot-scope="{ row }"> {{ getTime(row.startTime) }}-{{ getTime(row.endTime) }} </template>
|
|
<template slot-scope="{ row }"> {{ getTime(row.startTime) }}-{{ getTime(row.endTime) }} </template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
<el-table-column prop="quantity" label="节目数量"> </el-table-column>
|
|
<el-table-column prop="quantity" label="节目数量"> </el-table-column>
|
|
@@ -216,7 +204,7 @@
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
<el-table-column prop="writerDirector" label="编导姓名"> </el-table-column>
|
|
<el-table-column prop="writerDirector" label="编导姓名"> </el-table-column>
|
|
|
<el-table-column prop="phone" label="联系电话"> </el-table-column>
|
|
<el-table-column prop="phone" label="联系电话"> </el-table-column>
|
|
|
- <el-table-column label="操作" align="center" fixed="right" :min-width="performance.online ? 100 : 320">
|
|
|
|
|
|
|
+ <el-table-column label="操作" align="center" fixed="right" :min-width="online ? 100 : 320">
|
|
|
<template slot-scope="{ row, $index }">
|
|
<template slot-scope="{ row, $index }">
|
|
|
<el-button
|
|
<el-button
|
|
|
@click="editRow(row)"
|
|
@click="editRow(row)"
|
|
@@ -233,7 +221,7 @@
|
|
|
type="success"
|
|
type="success"
|
|
|
size="mini"
|
|
size="mini"
|
|
|
plain
|
|
plain
|
|
|
- v-if="!performance.online"
|
|
|
|
|
|
|
+ v-if="!online"
|
|
|
>上移</el-button
|
|
>上移</el-button
|
|
|
>
|
|
>
|
|
|
<el-button
|
|
<el-button
|
|
@@ -242,7 +230,7 @@
|
|
|
type="warning"
|
|
type="warning"
|
|
|
size="mini"
|
|
size="mini"
|
|
|
plain
|
|
plain
|
|
|
- v-if="!performance.online"
|
|
|
|
|
|
|
+ v-if="!online"
|
|
|
>下移</el-button
|
|
>下移</el-button
|
|
|
>
|
|
>
|
|
|
</template>
|
|
</template>
|
|
@@ -307,10 +295,12 @@ import pageableTable from '@/mixins/pageableTable';
|
|
|
import ArrangeLog from '../../components/ArrangeLog';
|
|
import ArrangeLog from '../../components/ArrangeLog';
|
|
|
import { time } from 'echarts';
|
|
import { time } from 'echarts';
|
|
|
import delChild from '@/mixins/delChild';
|
|
import delChild from '@/mixins/delChild';
|
|
|
|
|
+import { format, parse } from 'date-fns';
|
|
|
|
|
|
|
|
export default {
|
|
export default {
|
|
|
name: 'ArrangeList',
|
|
name: 'ArrangeList',
|
|
|
mixins: [pageableTable, delChild],
|
|
mixins: [pageableTable, delChild],
|
|
|
|
|
+ props: ['review'],
|
|
|
components: { ArrangeLog },
|
|
components: { ArrangeLog },
|
|
|
data() {
|
|
data() {
|
|
|
return {
|
|
return {
|
|
@@ -335,15 +325,15 @@ export default {
|
|
|
{ label: '个人', value: 'SINGLE' },
|
|
{ label: '个人', value: 'SINGLE' },
|
|
|
{ label: '集体', value: 'COLLECTIVE' }
|
|
{ label: '集体', value: 'COLLECTIVE' }
|
|
|
],
|
|
],
|
|
|
- nums: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
|
|
|
|
|
times: [3, 5, 10, 15, 20],
|
|
times: [3, 5, 10, 15, 20],
|
|
|
- activeNames: []
|
|
|
|
|
|
|
+ activeNames: [],
|
|
|
|
|
+ online: false
|
|
|
};
|
|
};
|
|
|
},
|
|
},
|
|
|
watch: {
|
|
watch: {
|
|
|
timeRange(value) {
|
|
timeRange(value) {
|
|
|
let checked = value.includes(null);
|
|
let checked = value.includes(null);
|
|
|
- console.log(checked);
|
|
|
|
|
|
|
+ console.log(value[0]);
|
|
|
this.form.morning = !checked;
|
|
this.form.morning = !checked;
|
|
|
this.$refs.form.validateField('afternoon');
|
|
this.$refs.form.validateField('afternoon');
|
|
|
},
|
|
},
|
|
@@ -376,6 +366,10 @@ export default {
|
|
|
});
|
|
});
|
|
|
this.form.performanceId = res.content[0].id;
|
|
this.form.performanceId = res.content[0].id;
|
|
|
this.performance = res.content[0];
|
|
this.performance = res.content[0];
|
|
|
|
|
+ this.online = this.performance.online;
|
|
|
|
|
+ if (this.review) {
|
|
|
|
|
+ this.online = this.performance.reviewOnline;
|
|
|
|
|
+ }
|
|
|
this.getData();
|
|
this.getData();
|
|
|
this.$http
|
|
this.$http
|
|
|
.post(
|
|
.post(
|
|
@@ -428,7 +422,7 @@ export default {
|
|
|
rules() {
|
|
rules() {
|
|
|
return {
|
|
return {
|
|
|
performanceId: [{ required: true, message: '请选择活动名称', trigger: 'blur' }],
|
|
performanceId: [{ required: true, message: '请选择活动名称', trigger: 'blur' }],
|
|
|
- address: [{ required: true, message: '请选择活动地点', trigger: 'blur' }],
|
|
|
|
|
|
|
+ address: [{ required: true, message: '请输入活动地点', trigger: 'blur' }],
|
|
|
quantity: [{ required: true, message: '请输入分组节目数量', trigger: 'blur' }],
|
|
quantity: [{ required: true, message: '请输入分组节目数量', trigger: 'blur' }],
|
|
|
duration: [{ required: true, message: '请输入单个节目时长', trigger: 'blur' }],
|
|
duration: [{ required: true, message: '请输入单个节目时长', trigger: 'blur' }],
|
|
|
morning: [
|
|
morning: [
|
|
@@ -463,13 +457,19 @@ export default {
|
|
|
return '';
|
|
return '';
|
|
|
},
|
|
},
|
|
|
beforeGetData() {
|
|
beforeGetData() {
|
|
|
- return {
|
|
|
|
|
|
|
+ let data = {
|
|
|
search: this.search,
|
|
search: this.search,
|
|
|
sort: 'date,asc;startTime,asc',
|
|
sort: 'date,asc;startTime,asc',
|
|
|
query: {
|
|
query: {
|
|
|
performanceId: this.form.performanceId
|
|
performanceId: this.form.performanceId
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|
|
|
|
|
+ if (this.review) {
|
|
|
|
|
+ data.query.auditTimes = this.performance.auditTimes;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ data.query.auditTimes = 1;
|
|
|
|
|
+ }
|
|
|
|
|
+ return data;
|
|
|
},
|
|
},
|
|
|
toggleMultipleMode(multipleMode) {
|
|
toggleMultipleMode(multipleMode) {
|
|
|
this.multipleMode = multipleMode;
|
|
this.multipleMode = multipleMode;
|
|
@@ -490,7 +490,7 @@ export default {
|
|
|
this.$refs.public.init(row.id);
|
|
this.$refs.public.init(row.id);
|
|
|
},
|
|
},
|
|
|
programme(row) {
|
|
programme(row) {
|
|
|
- if (this.performance.online) {
|
|
|
|
|
|
|
+ if (this.online) {
|
|
|
this.$router.push({
|
|
this.$router.push({
|
|
|
path: '/progGroupOnlineList',
|
|
path: '/progGroupOnlineList',
|
|
|
query: {
|
|
query: {
|
|
@@ -685,6 +685,15 @@ export default {
|
|
|
this.$message.error(e.error);
|
|
this.$message.error(e.error);
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
|
|
|
+ },
|
|
|
|
|
+ canEdit() {
|
|
|
|
|
+ let can = this.performance.status == 'UNDER_REVIEW' || this.performance.status == 'ARRANGE';
|
|
|
|
|
+ if (this.review) {
|
|
|
|
|
+ can &= this.performance.auditTimes > 1;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ can &= this.performance.auditTimes == 1;
|
|
|
|
|
+ }
|
|
|
|
|
+ return can;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|