detailInfo.vue 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. <template>
  2. <div id="detail">
  3. <el-row>
  4. <el-col :span="24">
  5. <el-col :span="24" class="messgae">
  6. <el-form ref="form" :model="form" label-width="120px" :rules="rules">
  7. <el-form-item label="名称" prop="name">
  8. <el-input v-model="form.name"></el-input>
  9. </el-form-item>
  10. <el-form-item label="主播" prop="anchorid">
  11. <el-select v-model="form.anchorid" placeholder="请选择主播" filterable>
  12. <el-option v-for="item in newlist" :key="item.id" :label="item.name" :value="item.id"> </el-option>
  13. </el-select>
  14. </el-form-item>
  15. <el-form-item label="类型" prop="type">
  16. <el-radio v-model="form.type" label="0">直播</el-radio>
  17. <el-radio v-model="form.type" label="1">会议</el-radio>
  18. </el-form-item>
  19. <el-form-item label="封面图片" prop="filedir">
  20. <upload :limit="1" :data="form.filedir" type="filedir" :url="'/files/filedir/upload'" @upload="uploadSuccess"></upload>
  21. </el-form-item>
  22. <el-form-item>
  23. <el-button type="primary" @click="onSubmit()">提交</el-button>
  24. </el-form-item>
  25. </el-form>
  26. </el-col>
  27. </el-col>
  28. </el-row>
  29. </div>
  30. </template>
  31. <script>
  32. import upload from '@/components/upload.vue';
  33. export default {
  34. name: 'detail',
  35. props: {
  36. form: null,
  37. newlist: null,
  38. },
  39. components: {
  40. upload,
  41. },
  42. data: () => ({
  43. rules: {
  44. name: [{ required: true, message: '请输入名称', trigger: 'blur' }],
  45. anchorid: [{ required: true, message: '请选择主播', trigger: 'change' }],
  46. filedir: [{ required: true, message: '请选择头像图片', trigger: 'blur' }],
  47. type: [{ required: true, message: '请选择类型', trigger: 'change' }],
  48. // type: [{ required: true, message: '请选择活动资源', trigger: 'change' }],
  49. },
  50. }),
  51. created() {},
  52. computed: {},
  53. methods: {
  54. uploadSuccess({ type, data }) {
  55. console.log(type, data);
  56. this.$set(this.form, `${type}`, data.uri);
  57. },
  58. onSubmit() {
  59. this.$emit('submitDate', { data: this.form, id: this.form.id });
  60. },
  61. },
  62. };
  63. </script>
  64. <style lang="less" scoped>
  65. .top {
  66. padding: 15px 0;
  67. }
  68. .top .topTitle {
  69. text-align: left;
  70. }
  71. .top .topBtn {
  72. text-align: right;
  73. padding: 0 5px;
  74. }
  75. </style>