|
@@ -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()
|