video.vue 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <template>
  2. <div class="video">
  3. <div class="title-box-common">
  4. <h3>视频库</h3>
  5. <a-button
  6. type="primary"
  7. @click="
  8. uploadVisible = true;
  9. confirmLoading = false;
  10. $refs.upload.clearList();
  11. "
  12. >上传</a-button
  13. >
  14. </div>
  15. <div class="padding-box-common">
  16. <search :materialType="'video'" @search="onSearch"></search>
  17. <common-table
  18. ref="commonTable"
  19. :materialType="'video'"
  20. :searchForm="searchForm"
  21. ></common-table>
  22. </div>
  23. <a-modal
  24. width="40%"
  25. :title="`上传视频至${
  26. searchForm.is_public === 1 ? '公共素材' : '我的上传'
  27. }`"
  28. v-model:visible="uploadVisible"
  29. :confirm-loading="confirmLoading"
  30. @ok="onConfirmUpload"
  31. okText="上传"
  32. @cancel="confirmLoading = false"
  33. >
  34. <upload-video
  35. ref="upload"
  36. :searchForm="searchForm"
  37. @close="uploadVisible = false"
  38. @getList="$refs.commonTable.getList()"
  39. ></upload-video>
  40. </a-modal>
  41. </div>
  42. </template>
  43. <script lang="ts">
  44. import Search from "./component/search.vue";
  45. import CommonTable from "./component/common-table.vue";
  46. import UploadVideo from "./component/upload-video.vue";
  47. import usePagination from "@/hooks/usePagination";
  48. import { defineComponent, reactive, toRefs, ref } from "vue";
  49. import { onBeforeRouteUpdate } from "vue-router";
  50. // import { TableColumnOfYuewen } from "../_pageOptions/table_yuewen";
  51. //getPromotionList
  52. import {} from "@/api";
  53. import { message } from "ant-design-vue";
  54. const VideoLibrary = defineComponent({
  55. components: { Search, CommonTable, UploadVideo },
  56. setup() {
  57. let { tablePageOptions } = usePagination();
  58. const formRef = ref();
  59. const state = reactive({
  60. searchForm: {},
  61. uploadVisible: false,
  62. confirmLoading: false, // 上传视频按钮loading
  63. });
  64. return { ...toRefs(state), formRef, tablePageOptions };
  65. },
  66. mounted() {},
  67. methods: {
  68. // 搜索条件回传
  69. onSearch(param: any) {
  70. this.searchForm = JSON.parse(JSON.stringify(param));
  71. },
  72. // 确定上传 触发组件上传视频
  73. onConfirmUpload() {
  74. let upload: any = this.$refs.upload;
  75. upload.onUploadVideo();
  76. // this.confirmLoading = true;
  77. },
  78. },
  79. });
  80. export default VideoLibrary;
  81. </script>
  82. <style lang="scss" scoped>
  83. @import "@/assets/common-style/frame.scss";
  84. // .performance {
  85. // }
  86. </style>