chooseChannel.vue 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. <template>
  2. <div id="chooseChannel" v-loading="isLoging">
  3. <el-dialog title="选择通道" v-if="showDialog" top="2rem" width="90%" :close-on-click-modal="false" :visible.sync="showDialog" :destroy-on-close="true" @close="close()">
  4. <el-row>
  5. <el-col :span="10">
  6. <el-tabs v-model="catalogTabActiveName" >
  7. <el-tab-pane label="目录结构" name="catalog">
  8. <el-container>
  9. <el-main v-bind:style="{backgroundColor: '#FFF', maxHeight: winHeight + 'px'}">
  10. <chooseChannelForCatalog ref="chooseChannelForCatalog" :platformId=platformId :platformName=platformName :defaultCatalogId=defaultCatalogId :catalogIdChange="catalogIdChange" :treeType=treeType ></chooseChannelForCatalog>
  11. </el-main>
  12. </el-container>
  13. </el-tab-pane>
  14. </el-tabs>
  15. </el-col>
  16. <el-col :span="14">
  17. <el-tabs v-model="tabActiveName" @tab-click="tabClick">
  18. <el-tab-pane label="国标通道" name="gbChannel">
  19. <el-container>
  20. <el-main style="background-color: #FFF;">
  21. <chooseChannelForGb ref="chooseChannelForGb" :catalogId="catalogId" :catalogName="catalogName" :platformId=platformId ></chooseChannelForGb>
  22. </el-main>
  23. </el-container>
  24. </el-tab-pane>
  25. <el-tab-pane label="直播流通道" name="streamchannel">
  26. <el-container>
  27. <el-main style="background-color: #FFF;">
  28. <chooseChannelFoStream ref="chooseChannelFoStream" :catalogId="catalogId" :catalogName="catalogName" :currentCatalogId="currentCatalogId" :platformId=platformId ></chooseChannelFoStream>
  29. </el-main>
  30. </el-container>
  31. </el-tab-pane>
  32. </el-tabs>
  33. </el-col>
  34. </el-row>
  35. </el-dialog>
  36. </div>
  37. </template>
  38. <script>
  39. import chooseChannelForGb from '../dialog/chooseChannelForGb.vue'
  40. import chooseChannelFoStream from '../dialog/chooseChannelForStream.vue'
  41. import chooseChannelForCatalog from '../dialog/chooseChannelForCatalog.vue'
  42. export default {
  43. name: 'chooseChannel',
  44. props: {},
  45. components: {
  46. chooseChannelForGb,
  47. chooseChannelFoStream,
  48. chooseChannelForCatalog,
  49. },
  50. computed: {
  51. },
  52. data() {
  53. return {
  54. isLoging: false,
  55. tabActiveName: "gbChannel",
  56. catalogTabActiveName: "catalog",
  57. platformId: "",
  58. catalogId: "",
  59. catalogName: "",
  60. currentCatalogId: "",
  61. platformName: "",
  62. defaultCatalogId: "",
  63. showDialog: false,
  64. treeType: null,
  65. chooseData: {},
  66. winHeight: window.innerHeight - 250,
  67. };
  68. },
  69. methods: {
  70. openDialog(platformId, platformName, defaultCatalogId, treeType, closeCallback) {
  71. this.platformId = platformId
  72. this.platformName = platformName
  73. this.defaultCatalogId = defaultCatalogId
  74. this.showDialog = true
  75. this.closeCallback = closeCallback
  76. this.treeType = treeType
  77. },
  78. tabClick (tab, event){
  79. },
  80. close: function() {
  81. this.closeCallback()
  82. },
  83. search: function() {
  84. },
  85. save: function() {
  86. var that = this;
  87. this.$axios({
  88. method:"post",
  89. url:"/api/platform/update_channel_for_gb",
  90. data:{
  91. platformId: that.platformId,
  92. channelReduces: that.chooseData
  93. }
  94. }).then((res)=>{
  95. if (res.data.code === 0) {
  96. that.$message({
  97. showClose: true,
  98. message: '保存成功,',
  99. type: 'success'
  100. });
  101. }
  102. }).catch(function (error) {
  103. console.log(error);
  104. });
  105. },
  106. catalogIdChange: function (id, name) {
  107. this.catalogId = id;
  108. this.catalogName = name;
  109. },
  110. }
  111. };
  112. </script>
  113. <style>
  114. </style>