|  | @@ -4,7 +4,7 @@
 | 
											
												
													
														|  |        <div class="fx-row fx-bet-cen">
 |  |        <div class="fx-row fx-bet-cen">
 | 
											
												
													
														|  |          <span>选科报名表</span>
 |  |          <span>选科报名表</span>
 | 
											
												
													
														|  |          <div>
 |  |          <div>
 | 
											
												
													
														|  | -          <el-button type="primary" @click="toAiAnalysis">AI分析</el-button>
 |  | 
 | 
											
												
													
														|  | 
 |  | +          <el-button type="primary" @click="toAiAnalysis" v-if="generation > 0">AI分析</el-button>
 | 
											
												
													
														|  |            <el-button>选科历史记录</el-button>
 |  |            <el-button>选科历史记录</el-button>
 | 
											
												
													
														|  |          </div>
 |  |          </div>
 | 
											
												
													
														|  |        </div>
 |  |        </div>
 | 
											
										
											
												
													
														|  | @@ -18,8 +18,12 @@
 | 
											
												
													
														|  |        <template #signUp="{row}">
 |  |        <template #signUp="{row}">
 | 
											
												
													
														|  |          <span class="f-red" v-if="!row.allowSelect">无法报名</span>
 |  |          <span class="f-red" v-if="!row.allowSelect">无法报名</span>
 | 
											
												
													
														|  |          <div v-else>
 |  |          <div v-else>
 | 
											
												
													
														|  | -          <span class="f-red btn-red" v-if="row.selected" @click="toUnSelect(row)">取消报名</span>
 |  | 
 | 
											
												
													
														|  | -          <span class="btn-green" v-else @click="toSelect(row)">报名</span>
 |  | 
 | 
											
												
													
														|  | 
 |  | +          <span v-if="generation > 0">可报名</span>
 | 
											
												
													
														|  | 
 |  | +          <div v-else>
 | 
											
												
													
														|  | 
 |  | +            <span class="f-red btn-red" v-if="row.selected" @click="toUnSelect(row)">取消报名</span>
 | 
											
												
													
														|  | 
 |  | +            <span class="btn-green" v-else @click="toSelect(row)">报名</span>
 | 
											
												
													
														|  | 
 |  | +          </div>
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |          </div>
 |  |          </div>
 | 
											
												
													
														|  |        </template>
 |  |        </template>
 | 
											
												
													
														|  |        <template #subjects="{row}">
 |  |        <template #subjects="{row}">
 | 
											
										
											
												
													
														|  | @@ -47,17 +51,19 @@
 | 
											
												
													
														|  |          </el-row>
 |  |          </el-row>
 | 
											
												
													
														|  |        </template>
 |  |        </template>
 | 
											
												
													
														|  |      </mx-table>
 |  |      </mx-table>
 | 
											
												
													
														|  | -    <p>您的选科志愿: <span v-for="(item,index) in selectedList">
 |  | 
 | 
											
												
													
														|  | -      {{ item.groupName }}{{ index + 1 < selectedList.length ? '、' : '' }}</span>
 |  | 
 | 
											
												
													
														|  | -    </p>
 |  | 
 | 
											
												
													
														|  |      <!-- 初录 多志愿拖拽 -->
 |  |      <!-- 初录 多志愿拖拽 -->
 | 
											
												
													
														|  |      <div v-if="generation == 0">
 |  |      <div v-if="generation == 0">
 | 
											
												
													
														|  | 
 |  | +      <p>您的选科志愿: <span v-for="(item,index) in selectedList">
 | 
											
												
													
														|  | 
 |  | +      {{ item.groupName }}{{ index + 1 < selectedList.length ? '、' : '' }}</span>
 | 
											
												
													
														|  | 
 |  | +      </p>
 | 
											
												
													
														|  |        <test-drage ref="drage" :sortList="selectedList"></test-drage>
 |  |        <test-drage ref="drage" :sortList="selectedList"></test-drage>
 | 
											
												
													
														|  | 
 |  | +      <el-button @click="commit" type="primary">提交</el-button>
 | 
											
												
													
														|  |      </div>
 |  |      </div>
 | 
											
												
													
														|  | 
 |  | +    <!--  补录报名和二次补录报名 -->
 | 
											
												
													
														|  |      <div v-else>
 |  |      <div v-else>
 | 
											
												
													
														|  | -      单次报名
 |  | 
 | 
											
												
													
														|  | 
 |  | +      单志愿报名
 | 
											
												
													
														|  | 
 |  | +      <span v-for="item in singleList">{{item.groupName}}</span>
 | 
											
												
													
														|  |      </div>
 |  |      </div>
 | 
											
												
													
														|  | -    <el-button @click="commit" type="primary">提交</el-button>
 |  | 
 | 
											
												
													
														|  |      <esign-dialog ref="esignDialog"></esign-dialog>
 |  |      <esign-dialog ref="esignDialog"></esign-dialog>
 | 
											
												
													
														|  |      <choose-subject-dialog ref="chooseDialog"></choose-subject-dialog>
 |  |      <choose-subject-dialog ref="chooseDialog"></choose-subject-dialog>
 | 
											
												
													
														|  |      <select-subject-report-dialog ref="reportDialog" ></select-subject-report-dialog>
 |  |      <select-subject-report-dialog ref="reportDialog" ></select-subject-report-dialog>
 | 
											
										
											
												
													
														|  | @@ -73,6 +79,16 @@ import SelectSubjectReportDialog from '@/views/system/user/profile/components/se
 | 
											
												
													
														|  |  import EsignDialog from '@/views/system/user/profile/components/esign-dialog'
 |  |  import EsignDialog from '@/views/system/user/profile/components/esign-dialog'
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  export default {
 |  |  export default {
 | 
											
												
													
														|  | 
 |  | +  props:{
 | 
											
												
													
														|  | 
 |  | +    generation:{
 | 
											
												
													
														|  | 
 |  | +      type: Number,
 | 
											
												
													
														|  | 
 |  | +      default: 1 // 模拟报名所处状态, 0为初录
 | 
											
												
													
														|  | 
 |  | +    },
 | 
											
												
													
														|  | 
 |  | +    preferenceCount: {
 | 
											
												
													
														|  | 
 |  | +      type: Number,
 | 
											
												
													
														|  | 
 |  | +      default: 3 // 多志愿个数
 | 
											
												
													
														|  | 
 |  | +    }
 | 
											
												
													
														|  | 
 |  | +  },
 | 
											
												
													
														|  |    components: {
 |  |    components: {
 | 
											
												
													
														|  |      SelectSubjectReportDialog,
 |  |      SelectSubjectReportDialog,
 | 
											
												
													
														|  |      EsignDialog,
 |  |      EsignDialog,
 | 
											
										
											
												
													
														|  | @@ -83,12 +99,11 @@ export default {
 | 
											
												
													
														|  |    mixins: [MxSelectTranslate],
 |  |    mixins: [MxSelectTranslate],
 | 
											
												
													
														|  |    data() {
 |  |    data() {
 | 
											
												
													
														|  |      return {
 |  |      return {
 | 
											
												
													
														|  | -      generation: 0, // 模拟报名所处状态, 0为初录
 |  | 
 | 
											
												
													
														|  | -      preferenceCount: 3,
 |  | 
 | 
											
												
													
														|  |        optionalMajors: [],
 |  |        optionalMajors: [],
 | 
											
												
													
														|  |        dialogVisible: false,
 |  |        dialogVisible: false,
 | 
											
												
													
														|  |        modelsWrapper: {},
 |  |        modelsWrapper: {},
 | 
											
												
													
														|  | -      selectedList: []
 |  | 
 | 
											
												
													
														|  | 
 |  | +      selectedList: [],
 | 
											
												
													
														|  | 
 |  | +      singleList: [] // 单志愿列表
 | 
											
												
													
														|  |      }
 |  |      }
 | 
											
												
													
														|  |    },
 |  |    },
 | 
											
												
													
														|  |    mounted() {
 |  |    mounted() {
 | 
											
										
											
												
													
														|  | @@ -219,11 +234,12 @@ export default {
 | 
											
												
													
														|  |          type: 'warning'
 |  |          type: 'warning'
 | 
											
												
													
														|  |        }).then(() => {
 |  |        }).then(() => {
 | 
											
												
													
														|  |          row.selected = false
 |  |          row.selected = false
 | 
											
												
													
														|  | -        this.selectedList.splice(
 |  | 
 | 
											
												
													
														|  | -          this.selectedList.indexOf(this.selectedList.find((selected)=> {
 |  | 
 | 
											
												
													
														|  | -            return selected.groupId == row.groupId
 |  | 
 | 
											
												
													
														|  | -          }),1)
 |  | 
 | 
											
												
													
														|  | -        )
 |  | 
 | 
											
												
													
														|  | 
 |  | +        const start = this.selectedList.indexOf(this.selectedList.find((selected)=> {
 | 
											
												
													
														|  | 
 |  | +          return selected.groupId == row.groupId
 | 
											
												
													
														|  | 
 |  | +        }))
 | 
											
												
													
														|  | 
 |  | +        console.log(start)
 | 
											
												
													
														|  | 
 |  | +        this.selectedList.splice(start,1)
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |        }).catch(() => {
 |  |        }).catch(() => {
 | 
											
												
													
														|  |          this.$message({
 |  |          this.$message({
 | 
											
												
													
														|  |            type: 'info',
 |  |            type: 'info',
 | 
											
										
											
												
													
														|  | @@ -243,6 +259,10 @@ export default {
 | 
											
												
													
														|  |        this.selectedList = this.modelsWrapper.models.filter(item => {
 |  |        this.selectedList = this.modelsWrapper.models.filter(item => {
 | 
											
												
													
														|  |          return item.selected
 |  |          return item.selected
 | 
											
												
													
														|  |        })
 |  |        })
 | 
											
												
													
														|  | 
 |  | +      // generation > 0 时 是单志愿报名
 | 
											
												
													
														|  | 
 |  | +      this.singleList = this.modelsWrapper.models.filter(item => {
 | 
											
												
													
														|  | 
 |  | +        return item.allowSelect
 | 
											
												
													
														|  | 
 |  | +      })
 | 
											
												
													
														|  |        this.$nextTick(()=>this.$refs.drage.init(this.selectedList))
 |  |        this.$nextTick(()=>this.$refs.drage.init(this.selectedList))
 | 
											
												
													
														|  |      },
 |  |      },
 | 
											
												
													
														|  |      initOption(optionalMajors) {
 |  |      initOption(optionalMajors) {
 |