index.vue 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. <template>
  2. <div class="">
  3. <template v-if="isSuperAdmin">
  4. <div class="c-sibling-item--v u-font-size--sm u-bold">安全配置</div>
  5. <div class="c-sibling-item--v near l-grid--info mini">
  6. <button
  7. class="o-button"
  8. @click="onContentProtectionConfig"
  9. >
  10. 内容保护
  11. </button>
  12. </div>
  13. <div class="c-sibling-item--v u-font-size--sm u-bold">属性配置</div>
  14. <div class="c-sibling-item--v near l-grid--info mini">
  15. <button
  16. class="o-button"
  17. @click="onAttributeConfig"
  18. >
  19. 下发属性
  20. </button>
  21. <button
  22. class="o-button"
  23. @click="onAdConfig"
  24. >
  25. 广告属性
  26. </button>
  27. </div>
  28. </template>
  29. <div class="c-sibling-item--v u-font-size--sm u-bold">播控器配置</div>
  30. <div class="c-sibling-item--v near l-grid--info mini">
  31. <button
  32. class="o-button"
  33. @click="onRecordConfig"
  34. >
  35. 视频回采清晰度
  36. </button>
  37. <button
  38. class="o-button"
  39. @click="onSpacerConfig"
  40. >
  41. 视频缓存垫片
  42. </button>
  43. </div>
  44. <div class="c-sibling-item--v u-font-size--sm u-bold">自动编排配置</div>
  45. <div class="c-sibling-item--v near l-grid--info mini">
  46. <button
  47. class="o-button"
  48. @click="onDatasetConfig"
  49. >
  50. 填充素材包
  51. </button>
  52. </div>
  53. <attribute-config-dialog ref="attributeConfigDialog" />
  54. <content-protection-config-dialog ref="contentProtectionConfigDialog" />
  55. <ad-config-dialog ref="adConfigDialog" />
  56. <record-config-dialog ref="recordConfigDialog" />
  57. <spacer-config-dialog ref="spacerConfigDialog" />
  58. <dataset-config-dialog ref="datasetConfigDialog" />
  59. </div>
  60. </template>
  61. <script>
  62. import { mapGetters } from 'vuex'
  63. import AttributeConfigDialog from './components/AttributeConfigDialog.vue'
  64. import ContentProtectionConfigDialog from './components/ContentProtectionConfigDialog.vue'
  65. import AdConfigDialog from './components/AdConfigDialog.vue'
  66. import RecordConfigDialog from './components/RecordConfigDialog.vue'
  67. export default {
  68. name: 'DeviceNormalConfig',
  69. components: {
  70. AttributeConfigDialog,
  71. ContentProtectionConfigDialog,
  72. AdConfigDialog,
  73. RecordConfigDialog
  74. },
  75. props: {
  76. device: {
  77. type: Object,
  78. required: true
  79. }
  80. },
  81. computed: {
  82. ...mapGetters(['isSuperAdmin'])
  83. },
  84. methods: {
  85. onAttributeConfig () {
  86. this.$refs.attributeConfigDialog.show(this.device)
  87. },
  88. onContentProtectionConfig () {
  89. this.$refs.contentProtectionConfigDialog.show(this.device)
  90. },
  91. onAdConfig () {
  92. this.$refs.adConfigDialog.show(this.device)
  93. },
  94. onRecordConfig () {
  95. this.$refs.recordConfigDialog.show(this.device)
  96. },
  97. onSpacerConfig () {
  98. this.$refs.spacerConfigDialog.show({
  99. targetType: 3,
  100. targetKey: this.device.id
  101. })
  102. },
  103. onDatasetConfig () {
  104. this.$refs.datasetConfigDialog.show(this.device)
  105. }
  106. }
  107. }
  108. </script>