|
@@ -5,7 +5,7 @@
|
|
<!--文件分类列表-->
|
|
<!--文件分类列表-->
|
|
<div class="content-type-list">
|
|
<div class="content-type-list">
|
|
<vuescroll>
|
|
<vuescroll>
|
|
- <div @click="selectFileType(index)" :class="item.type === activeType ? 'content-type-item content-type-item-active':'content-type-item'" v-for="(item,index) in contentTypeList" :key="index" >
|
|
|
|
|
|
+ <div @click="selectFileType(index)" :class="item.type === activeType ? 'content-type-item content-type-item-active':'content-type-item'" v-for="(item,index) in contentTypeList" :key="index">
|
|
<Icon v-if="item.icon.indexOf('iconfont') != -1" :custom="item.icon" color="white" size="20" />
|
|
<Icon v-if="item.icon.indexOf('iconfont') != -1" :custom="item.icon" color="white" size="20" />
|
|
<Icon v-else :type="item.icon" color="white" size="20" />
|
|
<Icon v-else :type="item.icon" color="white" size="20" />
|
|
<span class="content-type-label">{{item.label}}</span>
|
|
<span class="content-type-label">{{item.label}}</span>
|
|
@@ -81,12 +81,15 @@
|
|
<div class="content-file-list-box">
|
|
<div class="content-file-list-box">
|
|
<!--筛选、操作域-->
|
|
<!--筛选、操作域-->
|
|
<div class="content-file-filter">
|
|
<div class="content-file-filter">
|
|
- <Input v-model="keyWord" search size="small" :placeholder="$t('teachContent.searchText')" class="key-word-search" @on-change="searchKeyWord" @on-search="searchKeyWord" />
|
|
|
|
- <CheckboxGroup v-model="extFilter" style="display:inline-block;margin-left:38px;margin-top:13px;" @on-change="filterFileByExtension">
|
|
|
|
- <Checkbox :label="item" v-for="(item ,index) in extensions" :key="index">
|
|
|
|
- <span>{{item}}</span>
|
|
|
|
- </Checkbox>
|
|
|
|
- </CheckboxGroup>
|
|
|
|
|
|
+ <ResBelong class="pd-filter-wrap" v-show="routerScope == 'school'" @pd-change="(data)=>{filterPeriod = data}"></ResBelong>
|
|
|
|
+ <div class="filter-wrap">
|
|
|
|
+ <Input v-model="keyWord" search size="small" :placeholder="$t('teachContent.searchText')" class="key-word-search" @on-change="searchKeyWord" @on-search="searchKeyWord" />
|
|
|
|
+ <CheckboxGroup v-model="extFilter" @on-change="filterFileByExtension">
|
|
|
|
+ <Checkbox :label="item" v-for="(item ,index) in extensions" :key="index">
|
|
|
|
+ <span>{{item}}</span>
|
|
|
|
+ </Checkbox>
|
|
|
|
+ </CheckboxGroup>
|
|
|
|
+ </div>
|
|
<span v-if="$access.can('admin.*|content-school-upd') || routerScope == 'private'" class="action-btn-wrap" @click="delFileBatch">
|
|
<span v-if="$access.can('admin.*|content-school-upd') || routerScope == 'private'" class="action-btn-wrap" @click="delFileBatch">
|
|
<Icon type="md-trash" class="toggle-btn-icon" />
|
|
<Icon type="md-trash" class="toggle-btn-icon" />
|
|
{{$t('teachContent.delBatch')}}
|
|
{{$t('teachContent.delBatch')}}
|
|
@@ -169,7 +172,8 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!--上传文件-->
|
|
<!--上传文件-->
|
|
- <UploadModal ref="uploadModal" :sasString="sasString" :urlString="urlString" :path="folder" :containerName="containerName" :quality="1" @successData="getFileUrl"></UploadModal>
|
|
|
|
|
|
+ <UploadModal ref="uploadModal" :sasString="sasString" :urlString="urlString" :path="folder" :containerName="containerName" :quality="1" @successData="getFileUrl" :pdId="filterPeriod">
|
|
|
|
+ </UploadModal>
|
|
<!--文件预览-->
|
|
<!--文件预览-->
|
|
<div v-if="previewStatus" class="image-viewer">
|
|
<div v-if="previewStatus" class="image-viewer">
|
|
<div style="width:fit-content;position:relative;margin:auto;">
|
|
<div style="width:fit-content;position:relative;margin:auto;">
|
|
@@ -189,17 +193,20 @@
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
<script>
|
|
<script>
|
|
|
|
+import { mapGetters } from 'vuex'
|
|
import BlobTool from '@/utils/blobTool.js';
|
|
import BlobTool from '@/utils/blobTool.js';
|
|
import FileSaver from "file-saver";
|
|
import FileSaver from "file-saver";
|
|
import JSZip from "jszip";
|
|
import JSZip from "jszip";
|
|
import elementResizeDetectorMaker from "element-resize-detector"
|
|
import elementResizeDetectorMaker from "element-resize-detector"
|
|
import VueWaterfall from 'vue-waterfall-easy'
|
|
import VueWaterfall from 'vue-waterfall-easy'
|
|
|
|
+import ResBelong from './ResBelong.vue'
|
|
export default {
|
|
export default {
|
|
components: {
|
|
components: {
|
|
- VueWaterfall
|
|
|
|
|
|
+ VueWaterfall, ResBelong
|
|
},
|
|
},
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
|
|
+ filterPeriod: '',
|
|
formatErr: false,
|
|
formatErr: false,
|
|
sizeLoading: false,
|
|
sizeLoading: false,
|
|
editIndex: -1,
|
|
editIndex: -1,
|
|
@@ -481,7 +488,7 @@ export default {
|
|
title: this.$t('teachContent.tableC4'),
|
|
title: this.$t('teachContent.tableC4'),
|
|
slot: 'size',
|
|
slot: 'size',
|
|
key: 'size',
|
|
key: 'size',
|
|
- width: 100,
|
|
|
|
|
|
+ width: 120,
|
|
align: 'center',
|
|
align: 'center',
|
|
sortable: true
|
|
sortable: true
|
|
},
|
|
},
|
|
@@ -1044,14 +1051,6 @@ export default {
|
|
.dialog-p {
|
|
.dialog-p {
|
|
word-wrap: break-word;
|
|
word-wrap: break-word;
|
|
}
|
|
}
|
|
-
|
|
|
|
-.key-word-search {
|
|
|
|
- width: 240px;
|
|
|
|
- float: right;
|
|
|
|
- margin-right: 20px;
|
|
|
|
- margin-top: 12px;
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
.upload-modal .ivu-upload-drag {
|
|
.upload-modal .ivu-upload-drag {
|
|
background: #404040;
|
|
background: #404040;
|
|
border-color: #606060;
|
|
border-color: #606060;
|