|  | @@ -30,32 +30,48 @@
 | 
	
		
			
				|  |  |              <template v-if="prevDMData">
 | 
	
		
			
				|  |  |                <div>
 | 
	
		
			
				|  |  |                  专业成绩符合学生中,按照系统推荐报名
 | 
	
		
			
				|  |  | -                <span class="f-primary bold">{{ getMatchedAgree(g) }}</span>
 | 
	
		
			
				|  |  | +                <span class="bold" :class="{'f-primary':getMatchedAgree(g)}">{{ getMatchedAgree(g) }}</span>
 | 
	
		
			
				|  |  |                  人,拒绝填报
 | 
	
		
			
				|  |  | -                <span class="f-red bold">{{ getMatchedReject(g) }}</span>
 | 
	
		
			
				|  |  | +                <span class="bold" :class="{'f-red':getMatchedReject(g)}">{{ getMatchedReject(g) }}</span>
 | 
	
		
			
				|  |  |                  人,未填报
 | 
	
		
			
				|  |  | -                <span class="f-red bold">{{ getMatchedNonaction(g) }}</span>
 | 
	
		
			
				|  |  | +                <span class="bold" :class="{'f-red':getMatchedNonaction(g)}">{{ getMatchedNonaction(g) }}</span>
 | 
	
		
			
				|  |  |                  人,改出
 | 
	
		
			
				|  |  | -                <span class="f-warning bold">{{ getMatchedApplyOut(g) }}</span>
 | 
	
		
			
				|  |  | +                <span class="bold" :class="{'f-warning':getMatchedApplyOut(g)}">{{ getMatchedApplyOut(g) }}</span>
 | 
	
		
			
				|  |  |                  人,改进
 | 
	
		
			
				|  |  | -                <span class="f-primary bold">{{ getMatchedApplyIn(g) }}</span>
 | 
	
		
			
				|  |  | +                <span class="bold" :class="{'f-primary':getMatchedApplyIn(g)}">{{ getMatchedApplyIn(g) }}</span>
 | 
	
		
			
				|  |  |                  人。
 | 
	
		
			
				|  |  |                </div>
 | 
	
		
			
				|  |  |                <div>
 | 
	
		
			
				|  |  |                  成绩符合专业不符合学生中,按照系统推荐报名
 | 
	
		
			
				|  |  | -                <span class="f-primary bold">{{ getNonMatchedAgree(g) }}</span>
 | 
	
		
			
				|  |  | +                <span class="bold" :class="{'f-primary':getNonMatchedAgree(g)}">{{ getNonMatchedAgree(g) }}</span>
 | 
	
		
			
				|  |  |                  人,拒绝填报
 | 
	
		
			
				|  |  | -                <span class="f-red bold">{{ getNonMatchedReject(g) }}</span>
 | 
	
		
			
				|  |  | +                <span class="bold" :class="{'f-red':getNonMatchedReject(g)}">{{ getNonMatchedReject(g) }}</span>
 | 
	
		
			
				|  |  |                  人,未填报
 | 
	
		
			
				|  |  | -                <span class="f-red bold">{{ getNonMatchedNonaction(g) }}</span>
 | 
	
		
			
				|  |  | +                <span class="bold" :class="{'f-red':getNonMatchedNonaction(g)}">{{ getNonMatchedNonaction(g) }}</span>
 | 
	
		
			
				|  |  |                  人,改出
 | 
	
		
			
				|  |  | -                <span class="f-warning bold">{{ getNonMatchedApplyOut(g) }}</span>
 | 
	
		
			
				|  |  | +                <span class="bold" :class="{'f-warning':getNonMatchedApplyOut(g)}">{{ getNonMatchedApplyOut(g) }}</span>
 | 
	
		
			
				|  |  |                  人,改进
 | 
	
		
			
				|  |  | -                <span class="f-primary bold">{{ getNonMatchedApplyIn(g) }}</span>
 | 
	
		
			
				|  |  | +                <span class="bold" :class="{'f-primary':getNonMatchedApplyIn(g)}">{{ getNonMatchedApplyIn(g) }}</span>
 | 
	
		
			
				|  |  |                  人。
 | 
	
		
			
				|  |  |                </div>
 | 
	
		
			
				|  |  |              </template>
 | 
	
		
			
				|  |  |            </el-collapse-item>
 | 
	
		
			
				|  |  | +          <el-collapse-item :name="0">
 | 
	
		
			
				|  |  | +            <template #title>
 | 
	
		
			
				|  |  | +              其它状态总人数:
 | 
	
		
			
				|  |  | +              <span class="bold" :class="{'f-red': getAllUnApplied()}">{{ getAllUnApplied() }}</span>
 | 
	
		
			
				|  |  | +              人
 | 
	
		
			
				|  |  | +            </template>
 | 
	
		
			
				|  |  | +            <div>其中未填报人数:
 | 
	
		
			
				|  |  | +              <span class="bold"
 | 
	
		
			
				|  |  | +                    :class="{'f-red': getAllUnAppliedOfNonaction()}">{{ getAllUnAppliedOfNonaction() }}</span>
 | 
	
		
			
				|  |  | +              人
 | 
	
		
			
				|  |  | +            </div>
 | 
	
		
			
				|  |  | +            <div v-if="prevDMData">其中拒绝填报人数:
 | 
	
		
			
				|  |  | +              <span class="bold" :class="{'f-red': getAllUnAppliedOfReject()}">{{ getAllUnAppliedOfReject() }}</span>
 | 
	
		
			
				|  |  | +              人
 | 
	
		
			
				|  |  | +            </div>
 | 
	
		
			
				|  |  | +          </el-collapse-item>
 | 
	
		
			
				|  |  |          </el-collapse>
 | 
	
		
			
				|  |  |        </template>
 | 
	
		
			
				|  |  |        <template v-else>
 | 
	
	
		
			
				|  | @@ -129,7 +145,7 @@ export default {
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |    watch: {
 | 
	
		
			
				|  |  |      'hasIndicateGroups': function() {
 | 
	
		
			
				|  |  | -      this.collapseModel = this.hasIndicateGroups.map(g => g.groupId)
 | 
	
		
			
				|  |  | +      this.collapseModel = [...this.hasIndicateGroups.map(g => g.groupId), 0]
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |    methods: {
 | 
	
	
		
			
				|  | @@ -149,7 +165,7 @@ export default {
 | 
	
		
			
				|  |  |          const isMultiplePreference = this.prevApplyData.categories.some(sub => Array.isArray(sub))
 | 
	
		
			
				|  |  |          const tableData = isMultiplePreference ? { categories: this.prevApplyData.categories.first() } : this.prevApplyData
 | 
	
		
			
				|  |  |          const val = this.getCategoryValue(tableData, 'actualCount', group)
 | 
	
		
			
				|  |  | -        return val.value
 | 
	
		
			
				|  |  | +        return val?.value || 0
 | 
	
		
			
				|  |  |        } else {
 | 
	
		
			
				|  |  |          // 取报名代所有细分合并
 | 
	
		
			
				|  |  |          const subCategories = ['matchedApproved', 'matchedRankout', 'nonmatchedApproved', 'nonmatchedRankout']
 | 
	
	
		
			
				|  | @@ -157,37 +173,65 @@ export default {
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      getEnrollCount(group) {
 | 
	
		
			
				|  |  | -      return this.getCategoryValue(this.activeDMData, 'approvedCount', group)?.value || '-'
 | 
	
		
			
				|  |  | +      // 录取
 | 
	
		
			
				|  |  | +      return this.getCategoryValue(this.activeDMData, 'approvedCount', group)?.value || 0
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      getMatchedAgree(group) {
 | 
	
		
			
				|  |  | -      return this.getCategoryValue(this.prevApplyData, 'matchedApproved', group)?.value || '-'
 | 
	
		
			
				|  |  | +      // 专业符合同意
 | 
	
		
			
				|  |  | +      return this.getCategoryValue(this.prevApplyData, 'matchedApproved', group)?.value || 0
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      getNonMatchedAgree(group) {
 | 
	
		
			
				|  |  | -      return this.getCategoryValue(this.prevApplyData, 'nonmatchedApproved', group)?.value || '-'
 | 
	
		
			
				|  |  | +      // 专业不符同意
 | 
	
		
			
				|  |  | +      return this.getCategoryValue(this.prevApplyData, 'nonmatchedApproved', group)?.value || 0
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      getMatchedReject(group) {
 | 
	
		
			
				|  |  | -      return this.getCategoryValue(this.prevApplyData, 'matchedNotOptional', group)?.value || '-'
 | 
	
		
			
				|  |  | +      // 专业符合拒绝
 | 
	
		
			
				|  |  | +      return this.getCategoryValue(this.prevApplyData, 'matchedNotOptional', group)?.value || 0
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      getNonMatchedReject(group) {
 | 
	
		
			
				|  |  | -      return this.getCategoryValue(this.prevApplyData, 'nonmatchedNotOptional', group)?.value || '-'
 | 
	
		
			
				|  |  | +      // 专业不符合拒绝
 | 
	
		
			
				|  |  | +      return this.getCategoryValue(this.prevApplyData, 'nonmatchedNotOptional', group)?.value || 0
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      getMatchedNonaction(group) {
 | 
	
		
			
				|  |  | -      return this.getCategoryValue(this.prevApplyData, 'matchedNonaction', group)?.value || '-'
 | 
	
		
			
				|  |  | +      // 初录未填,初录段只需要适配1个未填条件即可unfinishedCount
 | 
	
		
			
				|  |  | +      if (!this.prevDMData) {
 | 
	
		
			
				|  |  | +        // 报名人数,只取第一志愿
 | 
	
		
			
				|  |  | +        const isMultiplePreference = this.prevApplyData.categories.some(sub => Array.isArray(sub))
 | 
	
		
			
				|  |  | +        const tableData = isMultiplePreference ? { categories: this.prevApplyData.categories.first() } : this.prevApplyData
 | 
	
		
			
				|  |  | +        const val = this.getCategoryValue(tableData, 'unfinishedCount', group)
 | 
	
		
			
				|  |  | +        return val?.value || 0
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      // 专业符合未填
 | 
	
		
			
				|  |  | +      return this.getCategoryValue(this.prevApplyData, 'matchedNonaction', group)?.value || 0
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      getNonMatchedNonaction(group) {
 | 
	
		
			
				|  |  | -      return this.getCategoryValue(this.prevApplyData, 'nonmatchedNonaction', group)?.value || '-'
 | 
	
		
			
				|  |  | +      // 专业不符合未填
 | 
	
		
			
				|  |  | +      return this.getCategoryValue(this.prevApplyData, 'nonmatchedNonaction', group)?.value || 0
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      getMatchedApplyIn(group) {
 | 
	
		
			
				|  |  | -      return this.getCategoryValue(this.prevApplyData, 'matchedRankout', group)?.value || '-'
 | 
	
		
			
				|  |  | +      // 专业符合改进
 | 
	
		
			
				|  |  | +      return this.getCategoryValue(this.prevApplyData, 'matchedRankout', group)?.value || 0
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      getNonMatchedApplyIn(group) {
 | 
	
		
			
				|  |  | -      return this.getCategoryValue(this.prevApplyData, 'nonmatchedRankout', group)?.value || '-'
 | 
	
		
			
				|  |  | +      // 专业不符合改进
 | 
	
		
			
				|  |  | +      return this.getCategoryValue(this.prevApplyData, 'nonmatchedRankout', group)?.value || 0
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      getMatchedApplyOut(group) {
 | 
	
		
			
				|  |  | -      return this.getCategoryValue(this.prevApplyData, 'matchedRejected', group)?.value || '-'
 | 
	
		
			
				|  |  | +      // 专业符合改出
 | 
	
		
			
				|  |  | +      return this.getCategoryValue(this.prevApplyData, 'matchedRejected', group)?.value || 0
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      getNonMatchedApplyOut(group) {
 | 
	
		
			
				|  |  | -      return this.getCategoryValue(this.prevApplyData, 'nonmatchedRejected', group)?.value || '-'
 | 
	
		
			
				|  |  | +      // 专业不符合改出
 | 
	
		
			
				|  |  | +      return this.getCategoryValue(this.prevApplyData, 'nonmatchedRejected', group)?.value || 0
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    getAllUnAppliedOfReject() {
 | 
	
		
			
				|  |  | +      return this.hasIndicateGroups.sum(g => this.getMatchedReject(g) + this.getNonMatchedReject(g))
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    getAllUnAppliedOfNonaction() {
 | 
	
		
			
				|  |  | +      return this.hasIndicateGroups.sum(g => this.getMatchedNonaction(g) + this.getNonMatchedNonaction(g))
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    getAllUnApplied() {
 | 
	
		
			
				|  |  | +      return this.getAllUnAppliedOfReject() + this.getAllUnAppliedOfNonaction()
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  }
 |