|  | @@ -2,12 +2,12 @@
 | 
	
		
			
				|  |  |    <div>
 | 
	
		
			
				|  |  |      <el-form :model="form" :rules="rules" ref="form" label-width="100px">
 | 
	
		
			
				|  |  |        <el-form-item label="原乐器" prop="name">
 | 
	
		
			
				|  |  | -        <span v-if="detail">{{detail.subjectName}}</span>
 | 
	
		
			
				|  |  | +        <span>{{originalMusicalGoods}}</span>
 | 
	
		
			
				|  |  |        </el-form-item>
 | 
	
		
			
				|  |  |        <el-form-item label="原教辅" prop="name">
 | 
	
		
			
				|  |  | -        <el-input v-model="form.name"></el-input>
 | 
	
		
			
				|  |  | +        <span>{{originalAccessoriesGoods}}</span>
 | 
	
		
			
				|  |  |        </el-form-item>
 | 
	
		
			
				|  |  | -      <el-form-item label="缴费时间" prop="name">
 | 
	
		
			
				|  |  | +      <!-- <el-form-item label="缴费时间" prop="name">
 | 
	
		
			
				|  |  |          <el-date-picker
 | 
	
		
			
				|  |  |            style="width: 100%"
 | 
	
		
			
				|  |  |            v-model="form.time"
 | 
	
	
		
			
				|  | @@ -16,7 +16,7 @@
 | 
	
		
			
				|  |  |            start-placeholder="开始日期"
 | 
	
		
			
				|  |  |            end-placeholder="结束日期">
 | 
	
		
			
				|  |  |          </el-date-picker>
 | 
	
		
			
				|  |  | -      </el-form-item>
 | 
	
		
			
				|  |  | +      </el-form-item> -->
 | 
	
		
			
				|  |  |        <el-form-item label="更改声部" prop="name">
 | 
	
		
			
				|  |  |          <el-select
 | 
	
		
			
				|  |  |            style="width: 100%"
 | 
	
	
		
			
				|  | @@ -34,22 +34,22 @@
 | 
	
		
			
				|  |  |          </el-select>
 | 
	
		
			
				|  |  |        </el-form-item>
 | 
	
		
			
				|  |  |        <el-form-item label="更改乐器" prop="name">
 | 
	
		
			
				|  |  | -        <el-select style="width: 100%" v-model="value" clearable placeholder="请选择乐器">
 | 
	
		
			
				|  |  | +        <el-select style="width: 100%" v-model="form.musicalGoods" clearable placeholder="请选择乐器">
 | 
	
		
			
				|  |  |            <el-option
 | 
	
		
			
				|  |  | -            v-for="item in options"
 | 
	
		
			
				|  |  | -            :key="item.value"
 | 
	
		
			
				|  |  | -            :label="item.label"
 | 
	
		
			
				|  |  | -            :value="item.value">
 | 
	
		
			
				|  |  | +            v-for="item in musicalGoods"
 | 
	
		
			
				|  |  | +            :key="item.id"
 | 
	
		
			
				|  |  | +            :label="item.name"
 | 
	
		
			
				|  |  | +            :value="item.id">
 | 
	
		
			
				|  |  |            </el-option>
 | 
	
		
			
				|  |  |          </el-select>
 | 
	
		
			
				|  |  |        </el-form-item>
 | 
	
		
			
				|  |  |        <el-form-item label="更换教辅" prop="name">
 | 
	
		
			
				|  |  | -        <el-select style="width: 100%" v-model="value" clearable placeholder="请选择教辅">
 | 
	
		
			
				|  |  | +        <el-select style="width: 100%" v-model="form.accessories" clearable placeholder="请选择教辅">
 | 
	
		
			
				|  |  |            <el-option
 | 
	
		
			
				|  |  | -            v-for="item in options"
 | 
	
		
			
				|  |  | -            :key="item.value"
 | 
	
		
			
				|  |  | -            :label="item.label"
 | 
	
		
			
				|  |  | -            :value="item.value">
 | 
	
		
			
				|  |  | +            v-for="item in accessories"
 | 
	
		
			
				|  |  | +            :key="item.id"
 | 
	
		
			
				|  |  | +            :label="item.name"
 | 
	
		
			
				|  |  | +            :value="item.id">
 | 
	
		
			
				|  |  |            </el-option>
 | 
	
		
			
				|  |  |          </el-select>
 | 
	
		
			
				|  |  |        </el-form-item>
 | 
	
	
		
			
				|  | @@ -77,7 +77,7 @@
 | 
	
		
			
				|  |  |    </div>
 | 
	
		
			
				|  |  |  </template>
 | 
	
		
			
				|  |  |  <script>
 | 
	
		
			
				|  |  | -import { getApplyDetail, getSubjectGoodsAndInfo } from '@/api/buildTeam'
 | 
	
		
			
				|  |  | +import { getStudentOriginal, getSubjectGoodsAndInfo } from '@/api/buildTeam'
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  const formatCourseScheduleInfo = courseScheduleInfo => {
 | 
	
		
			
				|  |  |    let tempCheck = {},
 | 
	
	
		
			
				|  | @@ -236,16 +236,51 @@ const formatGoods = data => {
 | 
	
		
			
				|  |  |    console.log(formatMusicGroupSubjectGoodsGroupList(musicGroupSubjectGoodsGroupList))
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +const formatAllGoods = (data, kitGroupPurchaseType) => {
 | 
	
		
			
				|  |  | +  const { musicGroupSubjectGoodsGroupList } = data
 | 
	
		
			
				|  |  | +  const accessories = []
 | 
	
		
			
				|  |  | +  const accessoriesById = {}
 | 
	
		
			
				|  |  | +  const musicalGoods = []
 | 
	
		
			
				|  |  | +  const musicalGoodsById = {}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  for (const item of musicGroupSubjectGoodsGroupList) {
 | 
	
		
			
				|  |  | +    if (item.type === 'INSTRUMENT') {
 | 
	
		
			
				|  |  | +      let json = {}
 | 
	
		
			
				|  |  | +      try {
 | 
	
		
			
				|  |  | +        json = JSON.parse(item.kitGroupPurchaseTypeJson)
 | 
	
		
			
				|  |  | +      } catch (error) {}
 | 
	
		
			
				|  |  | +      const _item = {
 | 
	
		
			
				|  |  | +        ...item,
 | 
	
		
			
				|  |  | +        kitGroupPurchaseTypePrice: json[kitGroupPurchaseType]
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      musicalGoods.push(item)
 | 
	
		
			
				|  |  | +      musicalGoodsById[item.id] = item
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  return {
 | 
	
		
			
				|  |  | +    accessories,
 | 
	
		
			
				|  |  | +    musicalGoods
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  export default {
 | 
	
		
			
				|  |  |    props: ['detail', 'musicGroupId', 'voiceList'],
 | 
	
		
			
				|  |  |    data() {
 | 
	
		
			
				|  |  |      return {
 | 
	
		
			
				|  |  | -      options: [],
 | 
	
		
			
				|  |  | -      options2: [],
 | 
	
		
			
				|  |  | +      accessories: [],
 | 
	
		
			
				|  |  | +      accessoriesByid: {},
 | 
	
		
			
				|  |  | +      musicalGoods: [],
 | 
	
		
			
				|  |  | +      musicalGoodsById: {},
 | 
	
		
			
				|  |  |        form: {
 | 
	
		
			
				|  |  | -        subjectId: ''
 | 
	
		
			
				|  |  | +        subjectId: '',
 | 
	
		
			
				|  |  | +        accessories: '',
 | 
	
		
			
				|  |  | +        musicalGoods: '',
 | 
	
		
			
				|  |  |        },
 | 
	
		
			
				|  |  |        rules: {},
 | 
	
		
			
				|  |  | +      item: {},
 | 
	
		
			
				|  |  | +      originalMusicalGoods: '',
 | 
	
		
			
				|  |  | +      originalAccessoriesGoods: '',
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |    watch: {
 | 
	
	
		
			
				|  | @@ -264,18 +299,29 @@ export default {
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |    methods: {
 | 
	
		
			
				|  |  |      fetchDetail() {
 | 
	
		
			
				|  |  | -      getApplyDetail({
 | 
	
		
			
				|  |  | +      getStudentOriginal({
 | 
	
		
			
				|  |  |          musicGroupId: this.musicGroupId,
 | 
	
		
			
				|  |  |          studentId: this.detail.studentId,
 | 
	
		
			
				|  |  |        })
 | 
	
		
			
				|  |  | -      .then(res => console.log(res))
 | 
	
		
			
				|  |  | +      .then(res => {
 | 
	
		
			
				|  |  | +        const { data } = res
 | 
	
		
			
				|  |  | +        this.item = data
 | 
	
		
			
				|  |  | +        this.originalMusicalGoods = data.originalMusicalGoods.name
 | 
	
		
			
				|  |  | +        this.originalAccessoriesGoods = (data.originalAccessoriesGoods || []).map(item => item.name).join()
 | 
	
		
			
				|  |  | +      })
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      subjectChange(id) {
 | 
	
		
			
				|  |  |        getSubjectGoodsAndInfo({
 | 
	
		
			
				|  |  |          musicGroupId: this.musicGroupId,
 | 
	
		
			
				|  |  |          subjectId: id,
 | 
	
		
			
				|  |  |        })
 | 
	
		
			
				|  |  | -      .then(res => formatGoods(res.data))
 | 
	
		
			
				|  |  | +      .then(res => {
 | 
	
		
			
				|  |  | +        const { accessories, musicalGoods, accessoriesById, musicalGoodsById } = formatAllGoods(res.data, this.item.kitGroupPurchaseType)
 | 
	
		
			
				|  |  | +        this.accessories = [...accessories]
 | 
	
		
			
				|  |  | +        this.accessoriesById = {...accessoriesById}
 | 
	
		
			
				|  |  | +        this.musicalGoods = [...musicalGoods]
 | 
	
		
			
				|  |  | +        this.musicalGoodsById = {...musicalGoodsById}
 | 
	
		
			
				|  |  | +      })
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      submit() {
 | 
	
		
			
				|  |  |        this.$listeners.close()
 |