|
@@ -0,0 +1,824 @@
|
|
|
+<template>
|
|
|
+ <div class="info-box">
|
|
|
+ <div v-if="actInfo" style="height: 100%;">
|
|
|
+ <div class="info-header">
|
|
|
+ <div @click="$router.go(-1)">
|
|
|
+ <Icon type="ios-arrow-back" />
|
|
|
+ 返回活动列表
|
|
|
+ </div>
|
|
|
+ <p class="title">
|
|
|
+ <span class="type-box" :style="{'background-color': actInfo.scope === 'area' ? '#ff9900' : (actInfo.scope === 'school' ? '#19be6b' : '#a8a8a8')}">
|
|
|
+ {{ actInfo.scope === 'area' ? '区级' : (actInfo.scope === 'school' ? '校级' : '公开') }}
|
|
|
+ </span>
|
|
|
+ {{ actInfo.name }}
|
|
|
+ </p>
|
|
|
+ <!-- <div class="btn-box">
|
|
|
+ <Steps :current="2" size="small">
|
|
|
+ <Step title="报名"></Step>
|
|
|
+ <Step title="上传"></Step>
|
|
|
+ <Step title="评审"></Step>
|
|
|
+ <Step title="公示"></Step>
|
|
|
+ </Steps>
|
|
|
+ </div> -->
|
|
|
+ </div>
|
|
|
+ <Tabs value="info">
|
|
|
+ <TabPane label="基本信息" name="info">
|
|
|
+ <vuescroll>
|
|
|
+ <img :src="actInfo.poster" alt="">
|
|
|
+ <div class="sk-info">
|
|
|
+ <!-- <div class="info-title">基本信息</div> -->
|
|
|
+ <p>主题:{{ actInfo.subject }}</p>
|
|
|
+ <p>简介:{{ actInfo.description }}</p>
|
|
|
+ <p>地点:{{ actInfo.address }}</p>
|
|
|
+ <p>时间:{{ actInfo.startTime }} - {{ actInfo.endTime }}</p>
|
|
|
+ <p>主办:
|
|
|
+ <span v-for="(item, index) in actInfo.zb" :key="index" style="margin-right: 10px;">{{ item }}</span>
|
|
|
+ </p>
|
|
|
+ <p>承办:
|
|
|
+ <span v-for="(item, index) in actInfo.cb" :key="index" style="margin-right: 10px;">{{ item }}</span>
|
|
|
+ </p>
|
|
|
+ <p v-if="actInfo.scope === 'area' && isArea">学校:
|
|
|
+ <span>
|
|
|
+ <span v-for="item in actInfo.invitedSchools" :key="item.id" style="margin-right: 10px;">{{ item.name }}</span>
|
|
|
+ </span>
|
|
|
+ </p>
|
|
|
+ <p v-else-if="actInfo.scope === 'school'">
|
|
|
+ 老师:
|
|
|
+ <span>
|
|
|
+ <span v-for="item in inviteTeachers" :key="item.id" style="margin-right: 10px;">{{ item.name }}</span>
|
|
|
+ </span>
|
|
|
+ </p>
|
|
|
+ <p>免责声明:{{ actInfo.mzsm }}</p>
|
|
|
+ <p>附件:
|
|
|
+ <span v-for="item in actInfo.attachment" :key="item.blob">{{ item.name }}</span>
|
|
|
+ </p>
|
|
|
+ </div>
|
|
|
+ <div class="sk-info" v-if="contestInfo">
|
|
|
+ <div class="info-title">优课评选</div>
|
|
|
+ <p>
|
|
|
+ 报名时间:
|
|
|
+ <span>{{ contestInfo.sign.startTime }} - {{ contestInfo.sign.endTime }}</span>
|
|
|
+ </p>
|
|
|
+ <p v-if="contestInfo.upload">
|
|
|
+ 上传作品:
|
|
|
+ <span>{{ contestInfo.upload.startTime }} - {{ contestInfo.upload.endTime }}</span>
|
|
|
+ </p>
|
|
|
+ <p v-if="contestInfo.review">
|
|
|
+ 作品评审:
|
|
|
+ <span>{{ contestInfo.review.startTime }} - {{ contestInfo.review.endTime }}</span>
|
|
|
+ </p>
|
|
|
+ <p v-if="contestInfo.score">
|
|
|
+ 成绩公示:
|
|
|
+ <span>{{ contestInfo.score.startTime }} - {{ contestInfo.score.endTime }}</span>
|
|
|
+ </p>
|
|
|
+ </div>
|
|
|
+ <!-- <div class="sk-info">
|
|
|
+ <div class="info-title">研修中心</div>
|
|
|
+ <p>
|
|
|
+ 活动时间:<span>2023.08.01</span>-<span>2023.09.10</span>
|
|
|
+ </p>
|
|
|
+ </div> -->
|
|
|
+ </vuescroll>
|
|
|
+ </TabPane>
|
|
|
+ <TabPane label="优课评选" name="sk" v-if="contestInfo">
|
|
|
+ <div style="margin: 20px 10px;">
|
|
|
+ <Steps :current="2">
|
|
|
+ <Step title="报名"></Step>
|
|
|
+ <Step title="上传"></Step>
|
|
|
+ <Step title="评审"></Step>
|
|
|
+ <Step title="公示"></Step>
|
|
|
+ </Steps>
|
|
|
+ </div>
|
|
|
+ <vuescroll>
|
|
|
+ <div>
|
|
|
+ <div class="data-box">
|
|
|
+ <div class="module-title">报名数据</div>
|
|
|
+ <div class="module-data">
|
|
|
+ <div class="tab-header join-data">
|
|
|
+ <!-- <div>
|
|
|
+ <p>报名方式</p>
|
|
|
+ <p>报名制</p>
|
|
|
+ </div> -->
|
|
|
+ <div>
|
|
|
+ <p>参赛方式</p>
|
|
|
+ <p>{{ contestInfo.sign.type ? '团队赛' : '个人赛' }}</p>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <p>已报名</p>
|
|
|
+ <p style="color: #14b53b;">
|
|
|
+ {{ '-' }}
|
|
|
+ <span style="font-size: 16px; color: #737373;">/{{ contestInfo.sign.limit || '不限' }}</span>
|
|
|
+ </p>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <p>已上传</p>
|
|
|
+ <p style="color: #4b93ff;">{{ '-' }}</p>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <p>已评审</p>
|
|
|
+ <p style="color: #ff9900;">{{ '-' }}</p>
|
|
|
+ </div>
|
|
|
+ <!-- <div>
|
|
|
+ <p>成绩发布</p>
|
|
|
+ <p style="color: #5f5f5f;">未发布</p>
|
|
|
+ </div> -->
|
|
|
+ </div>
|
|
|
+ <Input placeholder="搜索醍摩豆帐号" style="width: 300px" />
|
|
|
+ <Table :columns="applicationColumns" :data="applicationList" row-key="id" stripe>
|
|
|
+ <template #action="{row, index}">
|
|
|
+ <Button type="error" size="small" @click="deleteApplica(row, index, 'join')">删除</Button>
|
|
|
+ </template>
|
|
|
+ </Table>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="data-box">
|
|
|
+ <div class="module-title">评审管理</div>
|
|
|
+ <div class="module-data">
|
|
|
+ <div class="tab-header">
|
|
|
+ <Button @click="processShow = true">添加评审专家</Button>
|
|
|
+ <Button style="margin-left: 20px;" @click="workPro = true">自动分配评审作品</Button>
|
|
|
+ <Button style="float: right;" @click="ruleDrawer = true">评审规则</Button>
|
|
|
+ </div>
|
|
|
+ <Table :columns="processColumns" :data="processList">
|
|
|
+ <template #process="{}">
|
|
|
+ <Progress :percent="25" :stroke-width="10" />
|
|
|
+ </template>
|
|
|
+ <template #actions="{row, index}">
|
|
|
+ <Button type="error" size="small" @click="deleteApplica(row, index, 'process')">删除</Button>
|
|
|
+ </template>
|
|
|
+ </Table>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="data-box">
|
|
|
+ <div class="module-title">成绩统计</div>
|
|
|
+ <div class="module-data">
|
|
|
+ <div class="tab-header">
|
|
|
+ <div v-show="!awardsing">
|
|
|
+ <Button @click="setAwards()">设置奖项</Button>
|
|
|
+ <Button @click="openAch()" style="margin-left: 20px;">公示成绩</Button>
|
|
|
+ </div>
|
|
|
+ <div v-show="awardsing">
|
|
|
+ <Button @click="awardsShow = true">批量设置</Button>
|
|
|
+ <Button @click="awardTypes()" style="margin-left: 20px;">取消</Button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <Table :columns="scoreColumns" :data="scoreList" height="600">
|
|
|
+ <template #score1="{row}">
|
|
|
+ <div v-show="!row.edit">
|
|
|
+ <span>{{ row.score1 }}</span>
|
|
|
+ <Icon type="md-nutrition" @click="row.edit = true" />
|
|
|
+ </div>
|
|
|
+ <div v-show="row.edit">
|
|
|
+ <InputNumber :min="0" v-model="row.score1" />
|
|
|
+ <Icon type="md-checkmark-circle" @click="row.edit = false" />
|
|
|
+ <Icon type="md-close-circle" @click="row.edit = false" />
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ <template #awards="{row}">
|
|
|
+ <span v-if="!awardsing">{{ row.awards ? row.awards : '-' }}</span>
|
|
|
+ <div v-else>
|
|
|
+ <Select v-model="row.awards" style="width:200px" :transfer="true">
|
|
|
+ <Option v-for="item in awardsList" :value="item.value" :key="item.value">{{ item.label }}</Option>
|
|
|
+ </Select>
|
|
|
+ <Icon type="md-add-circle" @click="addAward = true" />
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </Table>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </vuescroll>
|
|
|
+ </TabPane>
|
|
|
+ </Tabs>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+export default {
|
|
|
+ data () {
|
|
|
+ return {
|
|
|
+ contestInfo: undefined,
|
|
|
+ ruleInfo: undefined,
|
|
|
+ infoArr: [
|
|
|
+ {
|
|
|
+ value: 'name',
|
|
|
+ label: '姓名',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: 'sex',
|
|
|
+ label: '性别',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: 'phone',
|
|
|
+ label: '手机号码',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: 'email',
|
|
|
+ label: '电子邮箱',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: 'school',
|
|
|
+ label: '学校',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: 'duties',
|
|
|
+ label: '职务',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: 'period',
|
|
|
+ label: '学段',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: 'subject',
|
|
|
+ label: '学科',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ inviteTeachers: [],
|
|
|
+
|
|
|
+
|
|
|
+ applicationColumns: [
|
|
|
+ {
|
|
|
+ title: '姓名',
|
|
|
+ key: 'name',
|
|
|
+ tree: true,
|
|
|
+ // width: 120,
|
|
|
+ // fixed: 'left'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '性别',
|
|
|
+ key: 'sex',
|
|
|
+ // width: 80,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '手机号码',
|
|
|
+ key: 'phone',
|
|
|
+ // width: 100,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '电子邮箱',
|
|
|
+ key: 'email',
|
|
|
+ // width: 500,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '学校',
|
|
|
+ key: 'school',
|
|
|
+ // width: 100,
|
|
|
+ filters: [
|
|
|
+ {
|
|
|
+ label: '醍摩豆学校',
|
|
|
+ value: '醍摩豆学校'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '研发学校',
|
|
|
+ value: '研发学校'
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ filterMultiple: false,
|
|
|
+ filterMethod (value, row) {
|
|
|
+ return row.school === value
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '职务',
|
|
|
+ key: 'zhiwu',
|
|
|
+ // width: 100,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '学段',
|
|
|
+ key: 'period',
|
|
|
+ // width: 100,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '学科',
|
|
|
+ key: 'subject',
|
|
|
+ // width: 100,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '组名',
|
|
|
+ key: 'team',
|
|
|
+ // width: 100,
|
|
|
+ filters: [
|
|
|
+ {
|
|
|
+ label: '数学组',
|
|
|
+ value: '数学组'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '语文组',
|
|
|
+ value: '语文组'
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ filterMultiple: false,
|
|
|
+ filterMethod (value, row) {
|
|
|
+ return row.team === value
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '组内身份',
|
|
|
+ key: 'identity',
|
|
|
+ // width: 100,
|
|
|
+ filters: [
|
|
|
+ {
|
|
|
+ label: '组长',
|
|
|
+ value: '组长'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '组员',
|
|
|
+ value: '组员'
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ filterMultiple: false,
|
|
|
+ filterMethod (value, row) {
|
|
|
+ return row.identity === value
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '报名时间',
|
|
|
+ key: 'time',
|
|
|
+ // width: 100,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '作品',
|
|
|
+ key: 'work',
|
|
|
+ // width: 100,
|
|
|
+ // fixed: 'right',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '操作',
|
|
|
+ slot: 'action',
|
|
|
+ align: 'center',
|
|
|
+ // width: 100,
|
|
|
+ // fixed: 'right',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ applicationList: [
|
|
|
+ {
|
|
|
+ id: '000',
|
|
|
+ name: '张三',
|
|
|
+ sex: '男',
|
|
|
+ phone: '110',
|
|
|
+ email: '111222@qq.com',
|
|
|
+ school: '醍摩豆学校',
|
|
|
+ zhiwu: '年级主任',
|
|
|
+ period: '初中',
|
|
|
+ subject: '数学',
|
|
|
+ time: '2023-08-08',
|
|
|
+ team: '数学组',
|
|
|
+ identity: '组长',
|
|
|
+ work: '',
|
|
|
+ _showChildren: true,
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ id: '001',
|
|
|
+ name: '李四',
|
|
|
+ sex: '女',
|
|
|
+ phone: '911',
|
|
|
+ email: '331321@qq.com',
|
|
|
+ school: '醍摩豆学校',
|
|
|
+ zhiwu: '普通教师',
|
|
|
+ period: '初中',
|
|
|
+ subject: '数学',
|
|
|
+ time: '2023-08-10',
|
|
|
+ team: '数学组',
|
|
|
+ identity: '组员',
|
|
|
+ work: '',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ id: '002',
|
|
|
+ name: '李四',
|
|
|
+ sex: '女',
|
|
|
+ phone: '911',
|
|
|
+ email: '331321@qq.com',
|
|
|
+ school: '醍摩豆学校',
|
|
|
+ zhiwu: '普通教师',
|
|
|
+ period: '初中',
|
|
|
+ subject: '数学',
|
|
|
+ time: '2023-08-10',
|
|
|
+ team: '数学组',
|
|
|
+ identity: '组员',
|
|
|
+ work: '',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ id: '010',
|
|
|
+ name: '柳五',
|
|
|
+ sex: '女',
|
|
|
+ phone: '110',
|
|
|
+ email: '111222@qq.com',
|
|
|
+ school: '醍摩豆学校',
|
|
|
+ zhiwu: '语文组长',
|
|
|
+ period: '初中',
|
|
|
+ subject: '语文',
|
|
|
+ time: '2023-08-09',
|
|
|
+ team: '语文组',
|
|
|
+ identity: '组长',
|
|
|
+ work: '',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ id: '011',
|
|
|
+ name: '李四',
|
|
|
+ sex: '女',
|
|
|
+ phone: '911',
|
|
|
+ email: '331321@qq.com',
|
|
|
+ school: '研发学校',
|
|
|
+ zhiwu: '普通教师',
|
|
|
+ period: '初中',
|
|
|
+ subject: '数学',
|
|
|
+ time: '2023-08-10',
|
|
|
+ team: '数学组',
|
|
|
+ identity: '组员',
|
|
|
+ work: '',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ id: '012',
|
|
|
+ name: '李四',
|
|
|
+ sex: '女',
|
|
|
+ phone: '911',
|
|
|
+ email: '331321@qq.com',
|
|
|
+ school: '研发学校',
|
|
|
+ zhiwu: '普通教师',
|
|
|
+ period: '初中',
|
|
|
+ subject: '数学',
|
|
|
+ time: '2023-08-10',
|
|
|
+ team: '数学组',
|
|
|
+ identity: '组员',
|
|
|
+ work: '',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+
|
|
|
+ ],
|
|
|
+ processColumns: [
|
|
|
+ {
|
|
|
+ title: '姓名',
|
|
|
+ key: 'name'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '性别',
|
|
|
+ key: 'sex'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '手机号码',
|
|
|
+ key: 'phone'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '电子邮箱',
|
|
|
+ key: 'email'
|
|
|
+ },
|
|
|
+ /* {
|
|
|
+ title: '擅长学段',
|
|
|
+ key: 'period'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '擅长学科',
|
|
|
+ key: 'subject'
|
|
|
+ }, */
|
|
|
+ {
|
|
|
+ title: '评审数量',
|
|
|
+ key: 'num'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '评审进度',
|
|
|
+ slot: 'process',
|
|
|
+ align: 'center',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '操作',
|
|
|
+ slot: 'actions',
|
|
|
+ width: 150,
|
|
|
+ align: 'center',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ processList: [
|
|
|
+ {
|
|
|
+ name: '张专家',
|
|
|
+ sex: '男',
|
|
|
+ phone: '110',
|
|
|
+ email: '111222@qq.com',
|
|
|
+ period: '初中',
|
|
|
+ subject: '英语、数学',
|
|
|
+ num: 4,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: '赵专家',
|
|
|
+ sex: '女',
|
|
|
+ phone: '110',
|
|
|
+ email: '111222@qq.com',
|
|
|
+ period: '初中',
|
|
|
+ subject: '语文、生物',
|
|
|
+ num: 3,
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ scoreColumns: [
|
|
|
+ {
|
|
|
+ title: '姓名/组名',
|
|
|
+ key: 'name',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '专家评分',
|
|
|
+ key: 'score'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '建议分数',
|
|
|
+ slot: 'score1'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '奖项',
|
|
|
+ slot: 'awards'
|
|
|
+ },
|
|
|
+ /* {
|
|
|
+ title: '操作',
|
|
|
+ slot: 'actions',
|
|
|
+ width: 150,
|
|
|
+ align: 'center',
|
|
|
+ }, */
|
|
|
+ ],
|
|
|
+ scoreList: [
|
|
|
+ {
|
|
|
+ name: '数学组',
|
|
|
+ score: '67',
|
|
|
+ score1: '85',
|
|
|
+ awards: '',
|
|
|
+ edit: false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: '语文组',
|
|
|
+ score: '92',
|
|
|
+ score1: '85',
|
|
|
+ awards: '',
|
|
|
+ edit: false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: '数学组',
|
|
|
+ score: '67',
|
|
|
+ score1: '85',
|
|
|
+ awards: '',
|
|
|
+ edit: false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: '语文组',
|
|
|
+ score: '92',
|
|
|
+ score1: '85',
|
|
|
+ awards: '',
|
|
|
+ edit: false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: '数学组',
|
|
|
+ score: '67',
|
|
|
+ score1: '85',
|
|
|
+ awards: '',
|
|
|
+ edit: false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: '语文组',
|
|
|
+ score: '92',
|
|
|
+ score1: '85',
|
|
|
+ awards: '',
|
|
|
+ edit: false,
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ sasData: {
|
|
|
+ sas: ''
|
|
|
+ },
|
|
|
+ awardsing: false,
|
|
|
+ }
|
|
|
+ },
|
|
|
+ created () {
|
|
|
+ if(this.actInfo.scope === 'area') {
|
|
|
+ this.sasData.sas = this.$store.state.user.userProfile.areas.find(item => {
|
|
|
+ return item.areaId === this.actInfo.owner
|
|
|
+ }).sas
|
|
|
+ } else {
|
|
|
+ this.sasData.sas = this.$store.state.user.schoolProfile.blob_sas
|
|
|
+ }
|
|
|
+ this.getActInfo()
|
|
|
+ this.getInviteTea()
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ actInfo() {
|
|
|
+ return this.$route.params.info
|
|
|
+ },
|
|
|
+ isArea() {
|
|
|
+ return localStorage.getItem('platform') === 'area'
|
|
|
+ },
|
|
|
+ },
|
|
|
+ mounted () {
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ getActInfo() {
|
|
|
+ let params = {
|
|
|
+ grant_type: 'read-contest',
|
|
|
+ activityId: this.actInfo.id
|
|
|
+ }
|
|
|
+ this.$api.areaActivity.manageAct(params).then(res => {
|
|
|
+ if(res.code === 200) {
|
|
|
+ res.contest.modules.forEach(item => {
|
|
|
+ if(item === 'sign') {
|
|
|
+ res.contest[item].fieldName = []
|
|
|
+ res.contest[item].field.forEach(field => {
|
|
|
+ let existing = this.infoArr.find(info => {
|
|
|
+ return info.value === field
|
|
|
+ })
|
|
|
+ if(existing) {
|
|
|
+ res.contest[item].fieldName.push(existing.label)
|
|
|
+ } else {
|
|
|
+ res.contest[item].fieldName.push(field)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ res.contest[item].startTime = this.$tools.formatTime(res.contest[item].stime, 'yyyy-MM-dd')
|
|
|
+ res.contest[item].endTime = this.$tools.formatTime(res.contest[item].etime, 'yyyy-MM-dd')
|
|
|
+ })
|
|
|
+ this.contestInfo = res.contest
|
|
|
+ this.ruleInfo = res.reviewRule
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ getInviteTea() {
|
|
|
+ let params = {
|
|
|
+ grant_type: 'invited-teachers',
|
|
|
+ activityId: this.actInfo.id,
|
|
|
+ activityOwner: this.actInfo.owner
|
|
|
+ }
|
|
|
+ this.$api.areaActivity.manageAct(params).then(res => {
|
|
|
+ if(res.inviteTeachers) {
|
|
|
+ this.inviteTeachers = res.inviteTeachers
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ deleteApplica(data, index, type) {
|
|
|
+ console.log(data, index);
|
|
|
+ if(type === 'join') {
|
|
|
+ this.$Message.warning('团队赛不可删除报名选手!')
|
|
|
+ } else if(type === 'process') {
|
|
|
+ this.$Modal.confirm({
|
|
|
+ title: '删除专家',
|
|
|
+ content: `确认删除${data.name}专家吗?`,
|
|
|
+ onOk: () => {
|
|
|
+ this.processList.splice(index, 1)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ } else if(type === 'score') {
|
|
|
+ /* this.$Modal.confirm({
|
|
|
+ title: '修改成绩',
|
|
|
+ content: ``,
|
|
|
+ render: (h, {datas}) => {
|
|
|
+ return h('div', [
|
|
|
+ h('p', data.name),
|
|
|
+ h('Input', {
|
|
|
+ props: {
|
|
|
+ value: data.score,
|
|
|
+ },
|
|
|
+ style: {
|
|
|
+ width: '100px',
|
|
|
+ marginRight: '10px',
|
|
|
+ },
|
|
|
+ on: {
|
|
|
+ 'on-change': value => {
|
|
|
+ console.log(data, value);
|
|
|
+ data.score = value.target._value
|
|
|
+ }
|
|
|
+ },
|
|
|
+ }),
|
|
|
+ ])
|
|
|
+ },
|
|
|
+ onOk: () => {
|
|
|
+ this.scoreList[index].splice(index, 1)
|
|
|
+ }
|
|
|
+ }) */
|
|
|
+ }
|
|
|
+ },
|
|
|
+ }
|
|
|
+}
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="less" scoped>
|
|
|
+.info-box {
|
|
|
+ height: 100%;
|
|
|
+ .info-header {
|
|
|
+ height: 45px;
|
|
|
+ line-height: 45px;
|
|
|
+ box-shadow: 0px 2px 5px #e9e9e9;
|
|
|
+ padding-left: 10px;
|
|
|
+ text-align: center;
|
|
|
+ position: relative;
|
|
|
+
|
|
|
+ &>div:first-of-type{
|
|
|
+ /* display: inline-block;
|
|
|
+ float: left; */
|
|
|
+ cursor: pointer;
|
|
|
+ position: absolute;
|
|
|
+ top: 0;
|
|
|
+ left: 10px;
|
|
|
+ }
|
|
|
+ .title{
|
|
|
+ font-size: 18px;
|
|
|
+ font-weight: bold;
|
|
|
+ margin-right: 7%;
|
|
|
+ .type-box{
|
|
|
+ background-color: #FF9900;
|
|
|
+ font-size: 15px;
|
|
|
+ font-weight: normal;
|
|
|
+ color: #fff;
|
|
|
+ padding: 3px 6px;
|
|
|
+ border-radius: 5px;
|
|
|
+ margin-right: 5px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .btn-box {
|
|
|
+ position: absolute;
|
|
|
+ top: 12px;
|
|
|
+ right: 5px;
|
|
|
+ width: 320px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ img{
|
|
|
+ width: 70%;
|
|
|
+ height: 400px;
|
|
|
+ margin-left: 15%;
|
|
|
+ }
|
|
|
+
|
|
|
+ .sk-title{
|
|
|
+ background-color: #eaeaea;
|
|
|
+ padding: 10px;
|
|
|
+ margin-bottom: 10px;
|
|
|
+ margin-top: 25px;
|
|
|
+ }
|
|
|
+ .sk-info{
|
|
|
+ // padding: 0 10px;
|
|
|
+ &>p {
|
|
|
+ margin: 10px;
|
|
|
+ }
|
|
|
+ .info-title {
|
|
|
+ background-color: #eaeaea;
|
|
|
+ padding: 10px;
|
|
|
+ margin-bottom: 10px;
|
|
|
+ margin-top: 25px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .tab-header{
|
|
|
+ margin-bottom: 10px;
|
|
|
+ }
|
|
|
+ .join-data{
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-around;
|
|
|
+ width: 100%;
|
|
|
+ padding-bottom: 30px;
|
|
|
+ padding-top: 30px;
|
|
|
+ // border-bottom: 1px dashed #d0d0d0;
|
|
|
+ &>div {
|
|
|
+ // text-align: center;
|
|
|
+ margin: 0 30px;
|
|
|
+
|
|
|
+ &>p:first-of-type {
|
|
|
+ border-left: 5px solid #70B1F0;
|
|
|
+ padding-left: 5px;
|
|
|
+ height: 15px;
|
|
|
+ line-height: 15px;
|
|
|
+ margin-bottom: 5px;
|
|
|
+ }
|
|
|
+ &>p:nth-child(2){
|
|
|
+ font-size: 30px;
|
|
|
+ font-weight: bold;
|
|
|
+ color: #6a6a6a;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .data-box {
|
|
|
+ // border-top: 1px dashed #d0d0d0;
|
|
|
+ padding-top: 10px;
|
|
|
+ margin-bottom: 30px;
|
|
|
+
|
|
|
+ .ivu-input-wrapper {
|
|
|
+ margin-bottom: 10px;
|
|
|
+ }
|
|
|
+ .module-title {
|
|
|
+ background: linear-gradient(45deg, #7ab6f5, #f3fbff);
|
|
|
+ color: #fff;
|
|
|
+ font-size: 18px;
|
|
|
+ padding: 10px 15px;
|
|
|
+ // border-top-left-radius: 10px;
|
|
|
+ border-radius: 5px;
|
|
|
+ margin-bottom: 10px;
|
|
|
+ }
|
|
|
+ .module-data {
|
|
|
+ margin: 0 20px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|
|
|
+
|
|
|
+<style lang="less">
|
|
|
+.info-box{
|
|
|
+ .ivu-tabs{
|
|
|
+ height: 94%;
|
|
|
+ margin: 0 20px;
|
|
|
+ }
|
|
|
+ .ivu-tabs-content{
|
|
|
+ height: 90%;
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|