|
@@ -1,71 +1,75 @@
|
|
|
<template>
|
|
|
<div class="create-train-container">
|
|
|
<vuescroll>
|
|
|
- <div class="create-form-wrap">
|
|
|
+ <div class="create-form-wrap light-iview-form">
|
|
|
<!-- 上一步 -->
|
|
|
<div v-show="step > 0" class="to-train-mgt last-step" @click="lastStep()">
|
|
|
<span class="step-icon-wrap">
|
|
|
<Icon type="ios-arrow-back" size="24" color="white" />
|
|
|
</span>
|
|
|
- <p style="margin-top:2px">上一步</p>
|
|
|
+ <p style="margin-top:2px">
|
|
|
+ {{$t('train.create.lastStep')}}
|
|
|
+ </p>
|
|
|
</div>
|
|
|
<!-- 下一步 -->
|
|
|
<div v-show="step < 3" class="to-train-mgt next-step" @click="nextStep()">
|
|
|
<span class="step-icon-wrap">
|
|
|
<Icon type="ios-arrow-forward" size="24" color="white" />
|
|
|
</span>
|
|
|
- <p style="margin-top:2px">下一步</p>
|
|
|
+ <p style="margin-top:2px">
|
|
|
+ {{$t('train.create.nextStep')}}
|
|
|
+ </p>
|
|
|
</div>
|
|
|
<Steps :current="step" class="step-wrap">
|
|
|
- <Step title="基础信息" @click.native="step = 0"></Step>
|
|
|
- <Step title="详情信息"></Step>
|
|
|
- <Step title="高级设置"></Step>
|
|
|
- <Step title="发布活动"></Step>
|
|
|
+ <Step :title="$t('train.create.baseInfo')" @click.native="step = 0"></Step>
|
|
|
+ <Step :title="$t('train.create.detailInfo')"></Step>
|
|
|
+ <Step :title="$t('train.create.advancedTitle')"></Step>
|
|
|
+ <Step :title="$t('train.create.publishTitle')"></Step>
|
|
|
</Steps>
|
|
|
<Form ref="baseInfo" :model="baseInfo" :rules="baseRule" :label-width="100" class="train-form" label-colon v-show="step == 0">
|
|
|
- <h1>基础信息</h1>
|
|
|
+ <h1>{{$t('train.create.baseInfo')}}</h1>
|
|
|
<!-- <FormItem label="名称" prop="name">
|
|
|
<Input v-model="baseInfo.name" placeholder="活动名称"></Input>
|
|
|
</FormItem> -->
|
|
|
- <FormItem label="类型" prop="type" style="margin-top:80px">
|
|
|
+ <FormItem :label="$t('train.create.typeLabel')" prop="type" style="margin-top:80px">
|
|
|
<Select v-model="baseInfo.type">
|
|
|
<Option v-for="item in typeList" :value="item.value" :key="item.value">{{ item.label }}</Option>
|
|
|
</Select>
|
|
|
</FormItem>
|
|
|
- <FormItem label="学时" prop="hour" style="margin-top:30px">
|
|
|
- <InputNumber :max="10" :min="1" style="width:100%" v-model="baseInfo.hour" placeholder="请输入学时"></InputNumber>
|
|
|
+ <FormItem :label="$t('train.create.hour')" prop="hour" style="margin-top:30px">
|
|
|
+ <InputNumber :max="10" :min="1" style="width:100%" v-model="baseInfo.hour" :placeholder="$t('train.create.hourHolder')"></InputNumber>
|
|
|
</FormItem>
|
|
|
- <FormItem label="对象" prop="target" style="margin-top:30px">
|
|
|
+ <FormItem :label="$t('train.create.target')" prop="target" style="margin-top:30px">
|
|
|
<Select v-model="baseInfo.target" multiple>
|
|
|
<Option v-for="item in groupList" :value="item.id" :key="item.id">{{ item.name }}</Option>
|
|
|
</Select>
|
|
|
</FormItem>
|
|
|
</Form>
|
|
|
<Form ref="trainInfo" :model="trainInfo" :rules="trainRule" :label-width="100" class="train-form" label-colon v-show="step == 1">
|
|
|
- <h1>详细信息</h1>
|
|
|
- <FormItem label="上传封面">
|
|
|
+ <h1>{{$t('train.create.detailInfo')}}</h1>
|
|
|
+ <FormItem :label="$t('train.create.poster')">
|
|
|
<Upload :headers="updHeader" :on-error="handleUpdErr" type="drag" action="/blob/public-upload" :format="['jpg','png','jpeg']" :on-format-error="handleFormatError" :on-success="success">
|
|
|
<div style="padding: 10px 0">
|
|
|
<Icon type="ios-cloud-upload" size="52" style="color: #3399ff"></Icon>
|
|
|
- <p>1、格式支持:jpg、png、jpeg,大小不超过3M;</p>
|
|
|
- <p>2、图片最佳比例400 * 300;</p>
|
|
|
+ <p>{{$t('train.create.posterTips1')}}</p>
|
|
|
+ <p>{{$t('train.create.posterTips2')}}</p>
|
|
|
</div>
|
|
|
</Upload>
|
|
|
</FormItem>
|
|
|
- <FormItem label="主讲人" prop="presenter">
|
|
|
- <Input v-model="trainInfo.presenter" placeholder="请输入主讲人"></Input>
|
|
|
+ <FormItem :label="$t('train.create.presenter')" prop="presenter">
|
|
|
+ <Input v-model="trainInfo.presenter" :placeholder="$t('train.create.presenterHolder')"></Input>
|
|
|
</FormItem>
|
|
|
- <FormItem label="培训主题" prop="topic">
|
|
|
- <Input v-model="trainInfo.topic" placeholder="请输入培训主题"></Input>
|
|
|
+ <FormItem :label="$t('train.create.topic')" prop="topic">
|
|
|
+ <Input v-model="trainInfo.topic" :placeholder="$t('train.create.topicHolder')"></Input>
|
|
|
</FormItem>
|
|
|
- <FormItem label="培训时间" prop="time">
|
|
|
- <DatePicker :editable="false" @on-change="getTimeInfo" type="datetimerange" format="yyyy-MM-dd HH:mm" placeholder="请设置培训时间" style="width: 500px"></DatePicker>
|
|
|
+ <FormItem :label="$t('train.create.address')" prop="time">
|
|
|
+ <DatePicker :editable="false" @on-change="getTimeInfo" type="datetimerange" format="yyyy-MM-dd HH:mm" :placeholder="$t('train.create.addressHolder')" style="width: 500px"></DatePicker>
|
|
|
</FormItem>
|
|
|
- <FormItem label="培训地点" prop="address">
|
|
|
- <Input v-model="trainInfo.address" placeholder="请输入培训地点"></Input>
|
|
|
+ <FormItem :label="$t('train.create.trainTime')" prop="address">
|
|
|
+ <Input v-model="trainInfo.address" :placeholder="$t('train.create.timeHolder')"></Input>
|
|
|
</FormItem>
|
|
|
- <FormItem label="培训内容">
|
|
|
- <Input v-model="trainInfo.desc" type="textarea" placeholder="请输入活动描述" maxlength="200" show-word-limit :autosize="{minRows: 5, maxRows: 8}"></Input>
|
|
|
+ <FormItem :label="培训内容">
|
|
|
+ <Input v-model="trainInfo.desc" type="textarea" :placeholder="请输入活动描述" maxlength="200" show-word-limit :autosize="{minRows: 5, maxRows: 8}"></Input>
|
|
|
</FormItem>
|
|
|
</Form>
|
|
|
<Form ref="highInfo" :model="trainInfo" :rules="trainRule" :label-width="100" class="train-form" label-colon v-show="step == 2">
|
|
@@ -80,9 +84,9 @@
|
|
|
<Checkbox label="hw" class="check-item">
|
|
|
<span>布置作业</span>
|
|
|
</Checkbox>
|
|
|
- <!-- <Checkbox label="survey" class="check-item">
|
|
|
+ <Checkbox label="survey" class="check-item">
|
|
|
<span>问卷反馈</span>
|
|
|
- </Checkbox> -->
|
|
|
+ </Checkbox>
|
|
|
<Checkbox label="exam" class="check-item">
|
|
|
<span>评测反馈</span>
|
|
|
</Checkbox>
|
|
@@ -93,8 +97,8 @@
|
|
|
<FormItem label="作业名称" prop="hwName">
|
|
|
<Input v-model="trainInfo.hwName" placeholder="请输入作业名称"></Input>
|
|
|
</FormItem>
|
|
|
- <FormItem label="作业内容" prop="hwDesc">
|
|
|
- <Input v-model="trainInfo.hwDesc" type="textarea" placeholder="请输入活动描述" maxlength="200" show-word-limit :autosize="{minRows: 6, maxRows: 8}"></Input>
|
|
|
+ <FormItem label="作业描述" prop="hwDesc">
|
|
|
+ <Input v-model="trainInfo.hwDesc" type="textarea" placeholder="请输入作业描述" maxlength="200" show-word-limit :autosize="{minRows: 6, maxRows: 8}"></Input>
|
|
|
</FormItem>
|
|
|
<FormItem label="截止时间" prop="hwTime">
|
|
|
<DatePicker type="datetime" v-model="trainInfo.hwTime" placeholder="作业截止时间" format="yyyy-MM-dd HH:mm" style="width: 100%" @on-change="getHwTime"></DatePicker>
|
|
@@ -105,7 +109,7 @@
|
|
|
<Input v-model="trainInfo.quName" placeholder="请输入问卷名称"></Input>
|
|
|
</FormItem>
|
|
|
<FormItem label="问卷描述" prop="quDesc">
|
|
|
- <Input v-model="trainInfo.quDesc" type="textarea" placeholder="请输入活动描述" maxlength="200" show-word-limit :autosize="{minRows: 6, maxRows: 8}"></Input>
|
|
|
+ <Input v-model="trainInfo.quDesc" type="textarea" placeholder="请输入问卷描述" maxlength="200" show-word-limit :autosize="{minRows: 6, maxRows: 8}"></Input>
|
|
|
</FormItem>
|
|
|
<!-- 问卷题目区域 -->
|
|
|
<FormItem label="问卷题目" prop="items">
|
|
@@ -196,7 +200,7 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <EmptyData v-show="!trainInfo.quItems" textContent="请添加问卷题目"></EmptyData>
|
|
|
+ <EmptyData v-show="!trainInfo.quItems" textContent="请添加评测题目"></EmptyData>
|
|
|
</div>
|
|
|
<Button type="info" @click="toAddQu">
|
|
|
<Icon type="md-add" />
|
|
@@ -589,17 +593,6 @@ export default {
|
|
|
if (this.trainInfo.setting.includes('hw')) {
|
|
|
this.beginSaveHw(workId)
|
|
|
}
|
|
|
-
|
|
|
- let t = []
|
|
|
- this.teachers.forEach(item => {
|
|
|
- if ((this.baseInfo.target.includes('默认分组') && !item.groupName) || this.baseInfo.target.includes(item.groupName)) {
|
|
|
- t.push({
|
|
|
- id: item.id,
|
|
|
- name: item.name,
|
|
|
- groupName: item.groupName
|
|
|
- })
|
|
|
- }
|
|
|
- })
|
|
|
let params = {
|
|
|
name: this.trainInfo.topic,
|
|
|
school: this.$store.state.userInfo.schoolCode,
|
|
@@ -608,7 +601,6 @@ export default {
|
|
|
type: this.baseInfo.type,
|
|
|
targets: this.baseInfo.target,
|
|
|
tchLists: this.baseInfo.target,
|
|
|
- teachers: t,
|
|
|
scope: 'school',
|
|
|
hour: this.baseInfo.hour,
|
|
|
startTime: this.trainInfo.startTime,
|