| 
					
				 | 
			
			
				@@ -1,6 +1,6 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   <div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    <el-form :model="form" :rules="rules" ref="form" label-width="100px"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <el-form :model="form" :rules="rules" ref="form" label-width="110px"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <el-form-item label="原乐器" prop="name"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <span>{{originalMusicalGoods}}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </el-form-item> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -55,6 +55,21 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </el-select> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <span v-else-if="changeInfo && changeInfo.changeMusicalGoods">{{changeInfo.changeMusicalGoods.name}}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-form-item 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        v-if="changeInfo || (form.musicalGoods && musicalGoodsById[form.musicalGoods] && musicalGoodsById[form.musicalGoods].kitGroupPurchaseTypeJsonParse)" label="乐器提供方式" prop="type" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :rules="[ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          { required: true, message: '请选择乐器提供方式', trigger: 'change' } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ]" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-radio-group v-if="!changeInfo" v-model="form.type"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-radio 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            :label="key" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            v-for="(item, key) in musicalGoodsById[form.musicalGoods].kitGroupPurchaseTypeJsonParse" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            :key="key" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          >{{`${kitGroupPurchaseTypeFormater[key]}-${item > 0 ? item + '元' : '免费'}`}}</el-radio> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </el-radio-group> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <span v-else-if="changeInfo && changeInfo.kitGroupPurchaseType">{{kitGroupPurchaseTypeFormater[changeInfo.kitGroupPurchaseType]}}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <el-form-item v-if="(activeAccessories.length || groupList.length) || changeInfo" label="更换教辅" prop="name"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <accessories 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           :list.sync="activeAccessories" 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -127,6 +142,7 @@ import numeral from 'numeral' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { getStudentOriginal, getSubjectGoodsAndInfo, subjectChangeAdd, subjectChangeCancel, getChangeInfo } from '@/api/buildTeam' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { vaildStudentUrl } from '@/utils/validate' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import accessories from './accessories' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { kitGroupPurchaseType } from '@/constant' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const formatAllGoods = (data, kitGroupPurchaseType) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -164,9 +180,10 @@ const formatAllGoods = (data, kitGroupPurchaseType) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             courseJson = JSON.parse(item.coursePurchaseTypeJson) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           } catch (error) {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          if (json[kitGroupPurchaseType] !== undefined) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          // if (json[kitGroupPurchaseType] !== undefined) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             const _item = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               ...item, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              kitGroupPurchaseTypeJsonParse: json, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               kitGroupPurchaseTypePrice: json[kitGroupPurchaseType] || 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               coursePurchaseTypeJsonTypePrice: courseJson[kitGroupPurchaseType] || 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               _calculated_price: (kitGroupPurchaseType === 'FREE' ? 0 : (kitGroupPurchaseType === 'LEASE' ? item.depositFee : item.price)) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -183,7 +200,7 @@ const formatAllGoods = (data, kitGroupPurchaseType) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 accessoriesById[goods.id] = goods 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          // } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } else if (item.type === 'ACCESSORIES') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           groupList.push(item) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           groupListById[item.id] = item 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -210,6 +227,7 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   data() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      kitGroupPurchaseTypeFormater: kitGroupPurchaseType, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       changeInfo: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       oldAllMoney: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       accessories: [], 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -227,6 +245,7 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         subjectId: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         accessories: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         musicalGoods: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        type: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       rules: {}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       item: {}, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -242,10 +261,13 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   watch: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     detail() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (this.detail) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        console.log(this.detail, this.voiceList) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.fetchDetail() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'form.type'() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.musicalGoodsChange(this.form.musicalGoods) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      console.log(this.form.type) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   computed: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     copyLink() { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -327,6 +349,7 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         const { data } = res 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.item = data || {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (data) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.$set(this.form, 'type', this.item.kitGroupPurchaseType) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           this.originalAccessoriesPrice = data.originalAccessoriesPrice 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           this.originalMusicalPrice = data.originalMusicalPrice 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           this.originalCourseFee = data.originalCourseFee 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -379,12 +402,14 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       const item = this.musicalGoodsById[val] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (item) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.musicalPrice = this.numFormat(item._calculated_price) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.kitGroupPurchaseTypePrice = this.numFormat(item.kitGroupPurchaseTypePrice) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.kitGroupPurchaseTypePrice = this.numFormat(item.kitGroupPurchaseTypeJsonParse[this.form.type] || 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.coursePurchaseTypeJsonTypePrice = this.numFormat(item.coursePurchaseTypeJsonTypePrice) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.types = item.kitGroupPurchaseTypeJsonParse 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.musicalPrice = 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.kitGroupPurchaseTypePrice = 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.coursePurchaseTypeJsonTypePrice = 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.$set(this.form, 'type', '') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     accessoriesChange(ids, money) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -426,7 +451,7 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             originalAccessories: this.item.originalAccessories, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             originalAccessoriesPrice: this.originalAccessoriesPrice, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             cooperationOrganId: this.item.cooperationOrganId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            kitGroupPurchaseType: this.item.kitGroupPurchaseType, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            kitGroupPurchaseType: this.form.type, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             musicGroupId: this.musicGroupId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             studentId: this.detail.studentId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             changeMusical: this.form.musicalGoods, 
			 |