detail.vue 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. <template>
  2. <div class='app-container'>
  3. <el-form class="form" label-width="100px" ref="form" :model="data.form" :rules="data.rules">
  4. <el-form-item class="audioList" label="选择音频:">
  5. <el-tag v-for="item in data.form.audioList" :key="item.audioId" size="large" closable>
  6. {{ item.audioName }}
  7. </el-tag>
  8. <div class="audio">
  9. <img src="@/assets/icons/svg/file.svg" width="70" height="70" />
  10. <span>双十一活动</span>
  11. <span>3小时21分</span>
  12. </div>
  13. <el-button icon="Plus" @click="getDialog" style="width: 100%">新增</el-button>
  14. </el-form-item>
  15. <el-form-item label="内容名称:">
  16. <el-input v-model="data.form.name" placeholder="请输入内容名称" />
  17. </el-form-item>
  18. <el-form-item label="播放时间:">
  19. <el-date-picker type="datetimerange" start-placeholder="开始时间" end-placeholder="结束时间"
  20. format="YYYY-MM-DD HH:mm:ss" date-format="YYYY/MM/DD ddd" time-format="A hh:mm:ss" />
  21. <el-button icon="Plus" style="width: 100%; margin-top: 15px">新增时段</el-button>
  22. </el-form-item>
  23. <el-form-item label="所属门店:" style="width: 800px">
  24. <el-table :data="data.form.list">
  25. <el-table-column label="所属" align="center">
  26. <template #default="scope">
  27. <el-select>
  28. <!-- <el-option /> -->
  29. </el-select>
  30. </template>
  31. </el-table-column>
  32. <el-table-column label="所属门店" align="center">
  33. <template #default="scope">
  34. <el-select>
  35. <!-- <el-option /> -->
  36. </el-select>
  37. </template>
  38. </el-table-column>
  39. <el-table-column label="所属设备" align="center">
  40. <template #default="scope">
  41. <el-select>
  42. <!-- <el-option /> -->
  43. </el-select>
  44. </template>
  45. </el-table-column>
  46. <el-table-column label="操作" align="center">
  47. <template #default="scope">
  48. <el-button type="danger" link>删除</el-button>
  49. </template>
  50. </el-table-column>
  51. </el-table>
  52. </el-form-item>
  53. <el-form-item style="width: 800px">
  54. <el-button icon="Plus" style="width: 100%">新增关联</el-button>
  55. </el-form-item>
  56. </el-form>
  57. <div class="form-btn">
  58. <el-button>取消</el-button>
  59. <el-button type="primary">确定</el-button>
  60. </div>
  61. <el-dialog v-model="dialogVisible" title="导入内容">
  62. <el-form inline>
  63. <el-form-item label="内容分类:">
  64. <el-select v-model="data.dialogForm.radio" placeholder="请选择内容分类">
  65. <el-option v-for="item in data.radioOptions" :key="item.value" :value="item.value" :label="item.label" />
  66. </el-select>
  67. </el-form-item>
  68. <el-form-item label="名称:">
  69. <el-input placeholder="请输入音频名称" />
  70. </el-form-item>
  71. <el-form-item label="分类:">
  72. <el-select placeholder="请选择音频分类">
  73. <!-- <el-option /> -->
  74. </el-select>
  75. </el-form-item>
  76. <el-form-item label="当前状态:">
  77. <el-select placeholder="请选择当前状态">
  78. <!-- <el-option /> -->
  79. </el-select>
  80. </el-form-item>
  81. <el-form-item>
  82. <el-button type="primary" icon="Plus">搜索</el-button>
  83. <el-button icon="Refresh">重置</el-button>
  84. </el-form-item>
  85. </el-form>
  86. <el-table>
  87. <el-table-column label="ID" align="center"></el-table-column>
  88. <el-table-column label="名称" align="center"></el-table-column>
  89. <el-table-column label="时长" align="center"></el-table-column>
  90. <el-table-column label="分类" align="center"></el-table-column>
  91. <el-table-column label="当前状态" align="center"></el-table-column>
  92. <el-table-column label="更新时间" align="center"></el-table-column>
  93. <el-table-column label="操作" align="center">
  94. <template #default="scope">
  95. <el-button type="primary" link>选择</el-button>
  96. </template>
  97. </el-table-column>
  98. </el-table>
  99. </el-dialog>
  100. </div>
  101. </template>
  102. <script setup>
  103. const data = reactive({
  104. form: {
  105. audioList: [{
  106. audioName: '测试111111111111111111'
  107. }, {
  108. audioName: '测试111111111111111111'
  109. }, {
  110. audioName: '测试111111111111111111'
  111. }, {
  112. audioName: '测试111111111111111111'
  113. }]
  114. },
  115. rules: {},
  116. radioOptions: [{
  117. value: 1,
  118. label: '播放内容'
  119. }, {
  120. value: 2,
  121. label: 'Ohplay歌曲'
  122. }, {
  123. value: 3,
  124. label: '上传新内容'
  125. }],
  126. dialogForm: {
  127. radio: 1
  128. }
  129. })
  130. // 弹窗
  131. const dialogVisible = ref(false)
  132. // 打开弹窗
  133. function getDialog() {
  134. dialogVisible.value = true
  135. }
  136. </script>
  137. <style lang="scss" scoped>
  138. .form {
  139. .el-form-item {
  140. width: 500px;
  141. }
  142. }
  143. .form-btn {
  144. margin-left: 100px;
  145. }
  146. .audioList {
  147. :deep(.el-form-item__content) {
  148. display: flex;
  149. flex-direction: column;
  150. align-items: flex-start;
  151. .el-tag {
  152. margin-bottom: 15px;
  153. }
  154. .audio {
  155. width: 200px;
  156. height: 200px;
  157. border: 1px solid #e9e9eb;
  158. border-radius: 8px;
  159. margin-bottom: 15px;
  160. display: flex;
  161. flex-direction: column;
  162. justify-content: center;
  163. align-items: center;
  164. box-shadow: 0 0 6px 0 #e9e9eb;
  165. line-height: 10px;
  166. span{
  167. margin-top: 20px;
  168. }
  169. }
  170. }
  171. }
  172. </style>