resetInfo.vue 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. <template>
  2. <div>
  3. <el-form :model="form" label-width="80px" :inline="true" ref='form'>
  4. <el-form-item label="学员姓名">
  5. <div style="width: 180px">{{ detail.userName }}</div>
  6. </el-form-item>
  7. <el-form-item label="联系电话">
  8. <div>{{ detail.mobileNo }}</div>
  9. </el-form-item>
  10. <br />
  11. <el-form-item prop="subjectId" label="声部" :rules="[{required: true, message: '请选择声部'}]">
  12. <el-select
  13. v-model.trim="form.subjectId"
  14. filterable
  15. clearable
  16. placeholder="请选择声部"
  17. @change="changeSound"
  18. >
  19. <el-option
  20. v-for="(item, i) in soundList"
  21. :key="i"
  22. :label="item.text"
  23. :value="item.value"
  24. ></el-option>
  25. </el-select>
  26. </el-form-item>
  27. <el-form-item prop="instrumentsId" label="品牌型号" >
  28. <el-select
  29. v-model.trim="form.instrumentsId"
  30. filterable
  31. clearable
  32. placeholder="请选择品牌型号"
  33. >
  34. <el-option
  35. v-for="(item, index) in branchList"
  36. :key="index"
  37. :label="item.name"
  38. :value="item.id"
  39. ></el-option>
  40. </el-select>
  41. </el-form-item>
  42. </el-form>
  43. </div>
  44. </template>
  45. <script>
  46. import { getInstrumentSoundList,updateInstrumentActivity } from "../api";
  47. const soundList = [
  48. { text: "长笛", value: 2 },
  49. { text: "单簧管", value: 4 },
  50. { text: "萨克斯", value: 5 },
  51. { text: "小号", value: 12 },
  52. { text: "圆号", value: 13 },
  53. { text: "长号", value: 14 },
  54. { text: "上低音号", value: 15 },
  55. { text: "大号", value: 17 },
  56. { text: "打击乐", value: 23 },
  57. ];
  58. export default {
  59. props: ["detail"],
  60. data() {
  61. return {
  62. form: {
  63. id:this.detail.id,
  64. subjectId: "",
  65. instrumentsId: "",
  66. },
  67. branchList: [],
  68. soundList
  69. };
  70. },
  71. async mounted() {
  72. console.log(this.detail)
  73. await this.$store.dispatch("setSubjects");
  74. this.changeSound(this.detail.subjectId);
  75. this.form.subjectId = this.detail.subjectId;
  76. this.form.instrumentsId = this.detail.instrumentsId;
  77. },
  78. methods: {
  79. async changeSound(val) {
  80. this.form.instrumentsId = "";
  81. if (val) {
  82. try {
  83. const res = await getInstrumentSoundList({
  84. subjectId: val,
  85. organId: this.detail.organId,
  86. page: 1,
  87. rows: 999,
  88. });
  89. this.branchList = res.data.rows.map((item) => {
  90. return {
  91. name: item.brand + item.specification,
  92. id: item.id,
  93. };
  94. });
  95. } catch (e) {
  96. console.log(e);
  97. }
  98. }
  99. },
  100. submited(){
  101. this.$refs.form.validate( async (flag)=>{
  102. if(flag){
  103. try{
  104. const res = await updateInstrumentActivity({...this.form})
  105. this.$message.success('修改成功')
  106. this.$emit('close')
  107. this.$emit('getList')
  108. }catch(e){
  109. console.log(e)
  110. }
  111. }
  112. })
  113. // updateInstrumentActivity
  114. },
  115. },
  116. };
  117. </script>