|  | @@ -0,0 +1,69 @@
 | 
	
		
			
				|  |  | +<template>
 | 
	
		
			
				|  |  | +  <el-form ref="form" :model="model" :rules="rules" label-width="80px" label-position="right">
 | 
	
		
			
				|  |  | +    <el-form-item prop="dateRange" label="时间">
 | 
	
		
			
				|  |  | +      <mx-date-range-picker v-model="model.dateRange" emit-all-changes></mx-date-range-picker>
 | 
	
		
			
				|  |  | +    </el-form-item>
 | 
	
		
			
				|  |  | +    <div class="fx-row fx-wrap">
 | 
	
		
			
				|  |  | +      <el-form-item prop="onlyRecommand" class="form-item-readonly">
 | 
	
		
			
				|  |  | +        <el-checkbox v-model="model.onlyRecommand">仅允许学生选择推荐组合</el-checkbox>
 | 
	
		
			
				|  |  | +      </el-form-item>
 | 
	
		
			
				|  |  | +      <el-form-item prop="onlyAgree" class="form-item-readonly">
 | 
	
		
			
				|  |  | +        <el-checkbox v-model="model.onlyAgree">只允许学生选择同意</el-checkbox>
 | 
	
		
			
				|  |  | +      </el-form-item>
 | 
	
		
			
				|  |  | +    </div>
 | 
	
		
			
				|  |  | +    <div class="fx-row fx-wrap">
 | 
	
		
			
				|  |  | +      <el-form-item prop="useRecommandWhileDisagree" class="form-item-readonly">
 | 
	
		
			
				|  |  | +        <el-checkbox v-model="model.useRecommandWhileDisagree">如果拒绝,按推荐报名处理</el-checkbox>
 | 
	
		
			
				|  |  | +      </el-form-item>
 | 
	
		
			
				|  |  | +      <el-form-item prop="useRecommandWhileNonaction" class="form-item-readonly">
 | 
	
		
			
				|  |  | +        <el-checkbox v-model="model.useRecommandWhileNonaction">如果不报名,按推荐报名处理</el-checkbox>
 | 
	
		
			
				|  |  | +      </el-form-item>
 | 
	
		
			
				|  |  | +    </div>
 | 
	
		
			
				|  |  | +  </el-form>
 | 
	
		
			
				|  |  | +</template>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +<script>
 | 
	
		
			
				|  |  | +import { getDefaultSelectRange } from '@/utils'
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +export default {
 | 
	
		
			
				|  |  | +  name: 'elective-generation-push-setting',
 | 
	
		
			
				|  |  | +  data() {
 | 
	
		
			
				|  |  | +    return {
 | 
	
		
			
				|  |  | +      model: {
 | 
	
		
			
				|  |  | +        dateRange: getDefaultSelectRange(7),
 | 
	
		
			
				|  |  | +        onlyRecommand: false, // 仅允许学生选择推荐组合, 否则允许学生填报有空缺的组合
 | 
	
		
			
				|  |  | +        onlyAgree: false, // 调剂阶段,只允许学生选择同意, 否则允许学生拒绝
 | 
	
		
			
				|  |  | +        useRecommandWhileDisagree: false, // 如果拒绝,按推荐报名处理
 | 
	
		
			
				|  |  | +        useRecommandWhileNonaction: false // 如果不报名,按推荐报名处理
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      rules: {
 | 
	
		
			
				|  |  | +        dateRange: [{
 | 
	
		
			
				|  |  | +          message: '时间必填',
 | 
	
		
			
				|  |  | +          validator: function(r, v, cb) {
 | 
	
		
			
				|  |  | +            if (v.length === 2 && v.first() && v.last()) {
 | 
	
		
			
				|  |  | +              cb()
 | 
	
		
			
				|  |  | +              return
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            cb(r.message)
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        }]
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  methods: {
 | 
	
		
			
				|  |  | +    async validate() {
 | 
	
		
			
				|  |  | +      const res = await this.$refs.form.validate()
 | 
	
		
			
				|  |  | +      // to standard model
 | 
	
		
			
				|  |  | +      const commit = { ...this.model }
 | 
	
		
			
				|  |  | +      commit.begin = commit.dateRange.first()
 | 
	
		
			
				|  |  | +      commit.end = commit.dateRange.last()
 | 
	
		
			
				|  |  | +      delete commit.dateRange
 | 
	
		
			
				|  |  | +      return Promise.resolve(commit)
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +</script>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +<style scoped>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +</style>
 |