|  | @@ -7,7 +7,13 @@
 | 
	
		
			
				|  |  |        <el-form-item label="原教辅" prop="name">
 | 
	
		
			
				|  |  |          <span>{{originalAccessoriesGoods}}</span>
 | 
	
		
			
				|  |  |        </el-form-item>
 | 
	
		
			
				|  |  | -      <el-form-item label="更改声部" prop="name">
 | 
	
		
			
				|  |  | +      <el-form-item
 | 
	
		
			
				|  |  | +        label="更改声部"
 | 
	
		
			
				|  |  | +        prop="subjectId"
 | 
	
		
			
				|  |  | +        :rules="[
 | 
	
		
			
				|  |  | +          { required: true, message: '请选择更改声部', trigger: 'change' }
 | 
	
		
			
				|  |  | +        ]"
 | 
	
		
			
				|  |  | +      >
 | 
	
		
			
				|  |  |          <el-select
 | 
	
		
			
				|  |  |            style="width: 100%!important"
 | 
	
		
			
				|  |  |            v-model="form.subjectId"
 | 
	
	
		
			
				|  | @@ -25,7 +31,13 @@
 | 
	
		
			
				|  |  |          </el-select>
 | 
	
		
			
				|  |  |          <span v-else>{{detail.subjectName}}</span>
 | 
	
		
			
				|  |  |        </el-form-item>
 | 
	
		
			
				|  |  | -      <el-form-item label="更改乐器" prop="name">
 | 
	
		
			
				|  |  | +      <el-form-item
 | 
	
		
			
				|  |  | +        label="更改乐器"
 | 
	
		
			
				|  |  | +        prop="musicalGoods"
 | 
	
		
			
				|  |  | +        :rules="[
 | 
	
		
			
				|  |  | +          { required: true, message: '请选择更改乐器', trigger: 'change' }
 | 
	
		
			
				|  |  | +        ]"
 | 
	
		
			
				|  |  | +      >
 | 
	
		
			
				|  |  |          <el-select
 | 
	
		
			
				|  |  |            style="width: 100%!important"
 | 
	
		
			
				|  |  |            v-model="form.musicalGoods"
 | 
	
	
		
			
				|  | @@ -121,12 +133,17 @@ const formatAllGoods = (data, kitGroupPurchaseType) => {
 | 
	
		
			
				|  |  |        for (const item of types[key]) {
 | 
	
		
			
				|  |  |          if (key === 'INSTRUMENT') {
 | 
	
		
			
				|  |  |            let json = {}
 | 
	
		
			
				|  |  | +          let courseJson = {}
 | 
	
		
			
				|  |  |            try {
 | 
	
		
			
				|  |  |              json = JSON.parse(item.kitGroupPurchaseTypeJson)
 | 
	
		
			
				|  |  |            } catch (error) {}
 | 
	
		
			
				|  |  | +          try {
 | 
	
		
			
				|  |  | +            courseJson = JSON.parse(item.coursePurchaseTypeJson)
 | 
	
		
			
				|  |  | +          } catch (error) {}
 | 
	
		
			
				|  |  |            const _item = {
 | 
	
		
			
				|  |  |              ...item,
 | 
	
		
			
				|  |  | -            kitGroupPurchaseTypePrice: json[kitGroupPurchaseType]
 | 
	
		
			
				|  |  | +            kitGroupPurchaseTypePrice: json[kitGroupPurchaseType],
 | 
	
		
			
				|  |  | +            coursePurchaseTypeJsonTypePrice: courseJson[kitGroupPurchaseType]
 | 
	
		
			
				|  |  |            }
 | 
	
		
			
				|  |  |            musicalGoods.push(_item)
 | 
	
		
			
				|  |  |            musicalGoodsById[item.goodsIdList] = _item
 | 
	
	
		
			
				|  | @@ -177,6 +194,7 @@ export default {
 | 
	
		
			
				|  |  |        selectAccessories: [],
 | 
	
		
			
				|  |  |        selectAccessoriesMoney: 0,
 | 
	
		
			
				|  |  |        kitGroupPurchaseTypePrice: 0,
 | 
	
		
			
				|  |  | +      coursePurchaseTypeJsonTypePrice: 0,
 | 
	
		
			
				|  |  |        form: {
 | 
	
		
			
				|  |  |          subjectId: '',
 | 
	
		
			
				|  |  |          accessories: '',
 | 
	
	
		
			
				|  | @@ -219,15 +237,29 @@ export default {
 | 
	
		
			
				|  |  |        return (data.changeMusicalPrice || 0) + (data.changeAccessoriesPrice || 0) + (data.changeCourseFee || 0) - payed
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      spread() {
 | 
	
		
			
				|  |  | -      return (
 | 
	
		
			
				|  |  | +      const money = (
 | 
	
		
			
				|  |  |          this.musicalPrice +
 | 
	
		
			
				|  |  |          this.selectAccessoriesMoney +
 | 
	
		
			
				|  |  |          this.musicGroupSubjectPlanFee -
 | 
	
		
			
				|  |  |          this.originalAccessoriesPrice -
 | 
	
		
			
				|  |  |          this.originalMusicalPrice -
 | 
	
		
			
				|  |  |          this.originalCourseFee -
 | 
	
		
			
				|  |  | +        this.coursePurchaseTypeJsonTypePrice -
 | 
	
		
			
				|  |  |          this.kitGroupPurchaseTypePrice
 | 
	
		
			
				|  |  |        )
 | 
	
		
			
				|  |  | +      // console.log(
 | 
	
		
			
				|  |  | +      //   this.item.kitGroupPurchaseType,
 | 
	
		
			
				|  |  | +      //   '乐器价格', this.musicalPrice,
 | 
	
		
			
				|  |  | +      //   '已选附件价格', this.selectAccessoriesMoney,
 | 
	
		
			
				|  |  | +      //   '选择课程费用', this.musicGroupSubjectPlanFee,
 | 
	
		
			
				|  |  | +      //   '原附件价格', this.originalAccessoriesPrice,
 | 
	
		
			
				|  |  | +      //   '原乐器价格', this.originalMusicalPrice,
 | 
	
		
			
				|  |  | +      //   '原课程费用', this.originalCourseFee,
 | 
	
		
			
				|  |  | +      //   '原课程减免费用', this.coursePurchaseTypeJsonTypePrice,
 | 
	
		
			
				|  |  | +      //   '乐器减免费用', this.kitGroupPurchaseTypePrice,
 | 
	
		
			
				|  |  | +      //   '结果价格', money
 | 
	
		
			
				|  |  | +      // )
 | 
	
		
			
				|  |  | +      return money
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |    mounted() {
 | 
	
	
		
			
				|  | @@ -283,11 +315,19 @@ export default {
 | 
	
		
			
				|  |  |            this[key] = item
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  | +      this.musicalGoodsChange()
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      musicalGoodsChange(val) {
 | 
	
		
			
				|  |  |        const item = this.musicalGoodsById[val]
 | 
	
		
			
				|  |  | -      this.musicalPrice = this.numFormat(item.price)
 | 
	
		
			
				|  |  | -      this.kitGroupPurchaseTypePrice = this.numFormat(item.kitGroupPurchaseTypePrice)
 | 
	
		
			
				|  |  | +      if (item) {
 | 
	
		
			
				|  |  | +        this.musicalPrice = this.numFormat(item.price)
 | 
	
		
			
				|  |  | +        this.kitGroupPurchaseTypePrice = this.numFormat(item.kitGroupPurchaseTypePrice)
 | 
	
		
			
				|  |  | +        this.coursePurchaseTypeJsonTypePrice = this.numFormat(item.coursePurchaseTypeJsonTypePrice)
 | 
	
		
			
				|  |  | +      } else {
 | 
	
		
			
				|  |  | +        this.musicalPrice = 0
 | 
	
		
			
				|  |  | +        this.kitGroupPurchaseTypePrice = 0
 | 
	
		
			
				|  |  | +        this.coursePurchaseTypeJsonTypePrice = 0
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      accessoriesChange(ids, money) {
 | 
	
		
			
				|  |  |        this.selectAccessories = ids
 | 
	
	
		
			
				|  | @@ -301,31 +341,35 @@ export default {
 | 
	
		
			
				|  |  |        return Math.floor(_num * 100) / 100
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      submit() {
 | 
	
		
			
				|  |  | -      subjectChangeAdd({
 | 
	
		
			
				|  |  | -        changeCourseFee: this.numFormat(this.musicGroupSubjectPlanFee),
 | 
	
		
			
				|  |  | -        changeAccessories: this.selectAccessories.join(','),
 | 
	
		
			
				|  |  | -        changeAccessoriesPrice: this.numFormat(this.selectAccessoriesMoney),
 | 
	
		
			
				|  |  | -        changeMusicalPrice: this.numFormat(this.musicalPrice - this.kitGroupPurchaseTypePrice),
 | 
	
		
			
				|  |  | -        originalCourseFee: this.originalCourseFee,
 | 
	
		
			
				|  |  | -        originalMusicalPrice: this.originalMusicalPrice,
 | 
	
		
			
				|  |  | -        originalMusical: this.item.originalMusical,
 | 
	
		
			
				|  |  | -        originalAccessories: this.item.originalAccessories,
 | 
	
		
			
				|  |  | -        originalAccessoriesPrice: this.originalAccessoriesPrice,
 | 
	
		
			
				|  |  | -        cooperationOrganId: this.item.cooperationOrganId,
 | 
	
		
			
				|  |  | -        kitGroupPurchaseType: this.item.kitGroupPurchaseType,
 | 
	
		
			
				|  |  | -        musicGroupId: this.musicGroupId,
 | 
	
		
			
				|  |  | -        studentId: this.detail.studentId,
 | 
	
		
			
				|  |  | -        changeMusical: this.form.musicalGoods,
 | 
	
		
			
				|  |  | -        originalCost: this.item.originalCost,
 | 
	
		
			
				|  |  | -        organId: this.item.organId,
 | 
	
		
			
				|  |  | -        originalSubjectId: this.detail.actualSubjectId,
 | 
	
		
			
				|  |  | -        changeSubjectId: this.form.subjectId,
 | 
	
		
			
				|  |  | +      this.$refs['form'].validate((valid) => {
 | 
	
		
			
				|  |  | +        if (valid) {
 | 
	
		
			
				|  |  | +          subjectChangeAdd({
 | 
	
		
			
				|  |  | +            changeCourseFee: this.numFormat(this.musicGroupSubjectPlanFee - this.coursePurchaseTypeJsonTypePrice),
 | 
	
		
			
				|  |  | +            changeAccessories: this.selectAccessories.join(','),
 | 
	
		
			
				|  |  | +            changeAccessoriesPrice: this.numFormat(this.selectAccessoriesMoney),
 | 
	
		
			
				|  |  | +            changeMusicalPrice: this.numFormat(this.musicalPrice - this.kitGroupPurchaseTypePrice),
 | 
	
		
			
				|  |  | +            originalCourseFee: this.originalCourseFee,
 | 
	
		
			
				|  |  | +            originalMusicalPrice: this.originalMusicalPrice,
 | 
	
		
			
				|  |  | +            originalMusical: this.item.originalMusical,
 | 
	
		
			
				|  |  | +            originalAccessories: this.item.originalAccessories,
 | 
	
		
			
				|  |  | +            originalAccessoriesPrice: this.originalAccessoriesPrice,
 | 
	
		
			
				|  |  | +            cooperationOrganId: this.item.cooperationOrganId,
 | 
	
		
			
				|  |  | +            kitGroupPurchaseType: this.item.kitGroupPurchaseType,
 | 
	
		
			
				|  |  | +            musicGroupId: this.musicGroupId,
 | 
	
		
			
				|  |  | +            studentId: this.detail.studentId,
 | 
	
		
			
				|  |  | +            changeMusical: this.form.musicalGoods,
 | 
	
		
			
				|  |  | +            originalCost: this.item.originalCost,
 | 
	
		
			
				|  |  | +            organId: this.item.organId,
 | 
	
		
			
				|  |  | +            originalSubjectId: this.detail.actualSubjectId,
 | 
	
		
			
				|  |  | +            changeSubjectId: this.form.subjectId,
 | 
	
		
			
				|  |  | +          })
 | 
	
		
			
				|  |  | +            .then(res => {
 | 
	
		
			
				|  |  | +              this.$listeners.close()
 | 
	
		
			
				|  |  | +              this.$listeners.submited()
 | 
	
		
			
				|  |  | +              this.$message.success('提交成功!')
 | 
	
		
			
				|  |  | +            })
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |        })
 | 
	
		
			
				|  |  | -        .then(res => {
 | 
	
		
			
				|  |  | -          this.$listeners.close()
 | 
	
		
			
				|  |  | -          this.$listeners.submited()
 | 
	
		
			
				|  |  | -          this.$message.success('提交成功!')
 | 
	
		
			
				|  |  | -        })
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      cancel() {
 | 
	
		
			
				|  |  |        this.$confirm('是否确认取消订单?', '提示', {
 |