6 changed files with 569 additions and 139 deletions
			
			
		- 
					1src/assets/styles/adminIndex.scss
- 
					517src/views/components/MyAlbum.vue
- 
					158src/views/components/ThemeGalleryList.vue
- 
					2src/views/components/materialFolder.vue
- 
					29src/views/dashboard/HomeThemeGallery.vue
- 
					1src/views/immediateRelease/index.vue
| @ -0,0 +1,517 @@ | |||||
|  | <template> | ||||
|  |   <div> | ||||
|  |     <!-- 我的画册-创建文件夹btn --> | ||||
|  |     <div v-if="isToFolder" class="material_crumbs"> | ||||
|  |       <el-breadcrumb separator-class="el-icon-arrow-right"> | ||||
|  |         <el-breadcrumb-item><a href="/theme">主题库</a></el-breadcrumb-item> | ||||
|  |         <el-breadcrumb-item><a @click="breadcrumbToAlbum">我的画册</a></el-breadcrumb-item> | ||||
|  |         <el-breadcrumb-item>{{ currentFolder }}</el-breadcrumb-item> | ||||
|  |       </el-breadcrumb> | ||||
|  |     </div> | ||||
|  |     <div style="display:flex; flex-wrap: wrap"> | ||||
|  |       <div v-if="!isToFolder" class="theme_mkdir cont_upload" @click="handleMkdir(0)"> | ||||
|  |         <svg class="font-icon icon" aria-hidden="true"> | ||||
|  |           <use xlink:href="#icon-a-xinzeng" /> | ||||
|  |         </svg> | ||||
|  |         <el-button class="mkdir_btn" round type="primary">创建文件夹</el-button> | ||||
|  |       </div> | ||||
|  |       <div v-else class="theme_mkdir cont_upload"> | ||||
|  |         <el-button class="cont_upload_btn" round type="primary">添加</el-button> | ||||
|  |         <el-button class="return_btn" round type="primary" @click="breadcrumbToAlbum">返回</el-button> | ||||
|  |       </div> | ||||
|  |       <div v-for="(item,index) in materialFolders" :key="item.id" :class="['theme_mkdir', 'folder', { 'item_multi': folderChecked == index }]" @click.stop="editFolder(item,index)" @dblclick="floderDbClick(item,index)"> | ||||
|  |         <div class="icon_bg"> | ||||
|  |           <svg v-if="!item.imgPath" class="font-icon icon" aria-hidden="true"> | ||||
|  |             <use xlink:href="#icon-wenjianjia" /> | ||||
|  |           </svg> | ||||
|  |           <img v-else :src="item.imgPath" /> | ||||
|  |         </div> | ||||
|  |         <p class="file_name">{{ item.name }}</p> | ||||
|  |         <span v-if="folderChecked == index" class="checked_btn"></span> | ||||
|  |       </div> | ||||
|  |       <!-- 画册list --> | ||||
|  |       <div v-for="(item, index) in themeGalleryList" :key="index" :class="['theme_item', { 'item_multi': selectInFolderid.includes(item.in_folder_id) }]"> | ||||
|  |         <img v-if="item.img_path || item.material_type == 1" :src="item.img_path" :onerror="defaultImg" alt /> | ||||
|  |         <div v-if="!item.img_path && item.material_type == 2" class="radio_img"></div> | ||||
|  |         <div class="item_format"> | ||||
|  |           <span class="item_type">{{ item.deposit_url | getFileFormat }}</span> | ||||
|  |           <span v-if="item.material_type != 0" class="item_time">{{ item.duration | getSeconds }}</span> | ||||
|  |         </div> | ||||
|  |         <div class="file_name">{{ item.material_name }}</div> | ||||
|  |         <span v-if="isMultiSelected" class="checked_btn" @click="selectedItem(item)"></span> | ||||
|  |       </div> | ||||
|  |     </div> | ||||
|  | 
 | ||||
|  |     <!-- 多选操作 --> | ||||
|  |     <div v-if="selectInFolderid.length !== 0 || folderChecked != -1" class="multi_handle"> | ||||
|  |       <div v-if="!isEditFolder && folderChecked == -1 && isMultiSelected"> | ||||
|  |         <el-button type="button" class="mulit_btn" @click="publishHandle(0)">即时发布</el-button> | ||||
|  |         <el-button type="button" class="mulit_btn" @click="publishHandle(1)">定时发布</el-button> | ||||
|  |         <el-button type="button" class="mulit_btn">下载</el-button> | ||||
|  |         <el-button type="button" class="mulit_btn" @click="moveingTo">移动</el-button> | ||||
|  |         <el-button type="button" class="mulit_btn mulit_delt_btn" @click="deltMyAlbumItem">删除</el-button> | ||||
|  |       </div> | ||||
|  |       <div v-else> | ||||
|  |         <el-button type="button" class="mulit_btn" @click="handleMkdir(1)">编辑</el-button> | ||||
|  |         <el-button type="button" class="mulit_btn mulit_delt_btn" @click="deleteMaterialFolder">删除</el-button> | ||||
|  |       </div> | ||||
|  |     </div> | ||||
|  |     <!-- 创建文件夹layer / 编辑 --> | ||||
|  |     <div class="publish_layer"> | ||||
|  |       <el-dialog title="创建文件夹" :close-on-click-modal="false" :show-close="false" :visible.sync="mkdirVisible" width="616px" height="384px"> | ||||
|  |         <el-form ref="folderForm" :inline="true" :model="folderForm" size="small" label-width="100px"> | ||||
|  |           <el-form-item | ||||
|  |             label="文件夹名称" | ||||
|  |             prop="name" | ||||
|  |             :rules="[ | ||||
|  |               { required: true, message: '请输入名称', trigger: 'blur' } | ||||
|  |             ]" | ||||
|  |           > | ||||
|  |             <el-input v-model="folderForm.name" style="width: 336px" /> | ||||
|  |           </el-form-item> | ||||
|  |           <el-form-item label="封面" prop="file"> | ||||
|  |             <UploadCover ref="childUpload" /> | ||||
|  |           </el-form-item> | ||||
|  |         </el-form> | ||||
|  |         <div slot="footer" class="dialog-footer"> | ||||
|  |           <el-button type="primary" round @click="submitFolderForm('folderForm')">保 存</el-button> | ||||
|  |           <el-button round @click="mkdirVisible=false">取 消</el-button> | ||||
|  |         </div> | ||||
|  |       </el-dialog> | ||||
|  |     </div> | ||||
|  | 
 | ||||
|  |     <!-- 移动至layer --> | ||||
|  |     <div class="wjj_layer"> | ||||
|  |       <!-- width="736px" --> | ||||
|  |       <el-dialog title="移动至" :close-on-click-modal="false" :show-close="false" :visible.sync="movingVisible" width="576px" height="384px"> | ||||
|  |         <div class="wjj_list"> | ||||
|  |           <div v-for="(item, index) in folderList" :key="index" :class="['wjj_item', { 'wjj_item_active': folderListChecked == index }]" @click="wjjSelected(item,index)"> | ||||
|  |             <svg class="font-icon icon" aria-hidden="true"> | ||||
|  |               <use xlink:href="#icon-wenjianjia" /> | ||||
|  |             </svg> | ||||
|  |             <p class="wjj_name">{{ item.name }}</p> | ||||
|  |           </div> | ||||
|  |         </div> | ||||
|  |         <div slot="footer" class="dialog-footer"> | ||||
|  |           <el-button type="primary" round @click="moveFile">确定</el-button> | ||||
|  |           <el-button round @click="movingVisible=false">取消</el-button> | ||||
|  |         </div> | ||||
|  |       </el-dialog> | ||||
|  |     </div> | ||||
|  |   </div> | ||||
|  | </template> | ||||
|  | 
 | ||||
|  | <script> | ||||
|  | import { FetchMyAlbum, FetchDeleteMyAlbum, FetchSaveThemeFolder, FetchDeleteThemeFolder, FetchMoveMyThemeMaterial } from '@/api/theme/theme.js' | ||||
|  | import { getSeconds, getFileFormat } from '@/utils/index.js' | ||||
|  | import UploadCover from './upload_cover' | ||||
|  | export default { | ||||
|  |   name: 'ThemeGalleryList', | ||||
|  |   components: { UploadCover }, | ||||
|  |   filters: { | ||||
|  |     getSeconds(s) { | ||||
|  |       return getSeconds(s) | ||||
|  |     }, | ||||
|  |     getFileFormat(s) { | ||||
|  |       return getFileFormat(s) | ||||
|  |     } | ||||
|  |   }, | ||||
|  |   props: { | ||||
|  |     isMultiSelected: { | ||||
|  |       type: Boolean, | ||||
|  |       required: true | ||||
|  |     } | ||||
|  |   }, | ||||
|  |   data() { | ||||
|  |     return { | ||||
|  |       orga_id: '133221333123111', // 机构ID | ||||
|  |       isAlbumList: [], | ||||
|  |       themeGalleryList: [], // 主题库的列表 | ||||
|  |       materialFolders: [], // 文件夹list | ||||
|  |       selectedListId: [], | ||||
|  |       selectInFolderid: [], // 关联素材得主键得ID | ||||
|  |       selectedMaterial: [], // 素材选中 | ||||
|  |       thisFoldId: null || '', | ||||
|  |       rootFolderId: null, | ||||
|  |       thisAlbumFoldId: null, | ||||
|  |       isEditFolder: false, // 是否编辑文件夹 | ||||
|  |       mkdirVisible: false, // 新建编辑layer | ||||
|  |       folderChecked: -1, // 文件夹是否单击选中 | ||||
|  |       folderListChecked: -1, | ||||
|  |       isToFolder: false, // 是否进入文件夹 | ||||
|  |       currentFolder: '', // 当前进入的文件夹名 | ||||
|  |       currentFolderId: null, | ||||
|  |       folderList: [], // 文件夹list | ||||
|  |       movingVisible: false, | ||||
|  |       movingChecked: null, | ||||
|  |       folderForm: { // form | ||||
|  |         fid: '', | ||||
|  |         id: '', | ||||
|  |         img_path: '', | ||||
|  |         name: '', | ||||
|  |         orga_id: '' | ||||
|  |       } | ||||
|  |     } | ||||
|  |   }, | ||||
|  |   computed: { | ||||
|  |     defaultImg() { | ||||
|  |       return 'this.src="' + require('@/assets/images/menu_bg_02.png') + '"' | ||||
|  |     } | ||||
|  |   }, | ||||
|  |   watch: { | ||||
|  |     isMultiSelected(newName, oldName) { | ||||
|  |       if (newName === false) { | ||||
|  |         this.selectedListId = [] | ||||
|  |         this.selectInFolderid = [] | ||||
|  |       } | ||||
|  |     } | ||||
|  |   }, | ||||
|  |   mounted() { | ||||
|  |     this.getMyAlbum() | ||||
|  |     document.addEventListener('click', this.hiddenFolderActiveClick) | ||||
|  |   }, | ||||
|  |   methods: { | ||||
|  |     breadcrumbToAlbum() { | ||||
|  |       this.$router.push('/theme') | ||||
|  |       this.getMyAlbum() | ||||
|  |     }, | ||||
|  |     // 获取我的画册 list | ||||
|  |     getMyAlbum() { | ||||
|  |       let inOrOutFolderId | ||||
|  |       if (this.$route.query.folderTag) { | ||||
|  |         console.log('文件夹内') | ||||
|  |         this.isToFolder = true | ||||
|  |         this.currentFolder = localStorage.getItem('currentFolder') | ||||
|  |         this.currentFolderId = localStorage.getItem('currentFolderId') | ||||
|  |         inOrOutFolderId = this.currentFolderId | ||||
|  |       } else { | ||||
|  |         console.log('文件夹外') | ||||
|  |         this.isToFolder = false | ||||
|  |         localStorage.removeItem('currentFolder') | ||||
|  |         localStorage.removeItem('currentFolderId') | ||||
|  |         inOrOutFolderId = null | ||||
|  |       } | ||||
|  |       const params = { | ||||
|  |         'theme_name': null, | ||||
|  |         'theme_class': null, | ||||
|  |         'device_direction': null, | ||||
|  |         'orga_id': this.orga_id, | ||||
|  |         'start_time': null, | ||||
|  |         'end_time': null, | ||||
|  |         'folder_id': inOrOutFolderId | ||||
|  |       } | ||||
|  |       // this.materialFolders = [] | ||||
|  |       // this.themeGalleryList = [] | ||||
|  |       FetchMyAlbum(params).then(res => { | ||||
|  |         if (res.code == 200) { | ||||
|  |           this.materialFolders = res.data.materialFolders | ||||
|  |           this.themeGalleryList = res.data.pageThemeVO | ||||
|  | 
 | ||||
|  |           this.isAlbumList = res.data.pageThemeVO | ||||
|  |           this.thisAlbumFoldId = res.data.thisFoldId | ||||
|  |           if (!this.$route.query.folderTag) { | ||||
|  |             localStorage.setItem('rootFolderId', res.data.thisFoldId) | ||||
|  |           } | ||||
|  |           // 创建文件夹获取data | ||||
|  |           this.thisFoldId = res.data.thisFoldId | ||||
|  |         } else { | ||||
|  |           this.$message.error(res.msg) | ||||
|  |         } | ||||
|  |       }) | ||||
|  |     }, | ||||
|  |     // 删除我的画册里的素材 | ||||
|  |     deltMyAlbumItem() { | ||||
|  |       const params = { | ||||
|  |         ids: this.selectInFolderid | ||||
|  |       } | ||||
|  |       FetchDeleteMyAlbum(params).then(res => { | ||||
|  |         if (res.code == 200) { | ||||
|  |           this.$message.success(res.msg) | ||||
|  |           this.getMyAlbum() | ||||
|  |         } else { | ||||
|  |           this.$message.error(res.msg) | ||||
|  |         } | ||||
|  |       }) | ||||
|  |     }, | ||||
|  |     // 多选选中 | ||||
|  |     selectedItem(item) { | ||||
|  |       const id = item.material_id | ||||
|  |       const inFolderId = item.in_folder_id | ||||
|  |       // const type = item.material_type | ||||
|  |       const arr = this.selectedListId | ||||
|  |       const arr2 = this.selectInFolderid | ||||
|  |       if (arr2.includes(inFolderId)) { | ||||
|  |         const index = arr2.indexOf(inFolderId) | ||||
|  |         if (index > -1) { | ||||
|  |           arr2.splice(index, 1) | ||||
|  |           arr.splice(index, 1) | ||||
|  |           this.selectInFolderid.splice(index, 1) | ||||
|  |           this.selectedMaterial.splice(index, 1) | ||||
|  |         } | ||||
|  |       } else { | ||||
|  |         this.selectedListId.push(id) | ||||
|  |         this.selectInFolderid.push(inFolderId) | ||||
|  |         this.selectedMaterial.push(item) | ||||
|  |         // this.formatType = type | ||||
|  |       } | ||||
|  |     }, | ||||
|  |     // 新建 / 编辑 文件夹 | ||||
|  |     handleMkdir(mkdirType) { | ||||
|  |       this.mkdirVisible = true | ||||
|  |       this.folderForm.fid = this.thisFoldId | ||||
|  |       this.folderForm.orga_id = this.orga_id | ||||
|  |       if (mkdirType === 0) { | ||||
|  |         this.$nextTick(() => { | ||||
|  |           this.$refs.childUpload.imageUrl = '' | ||||
|  |           this.folderForm.img_path = '' | ||||
|  |           this.folderForm.name = '' | ||||
|  |         }) | ||||
|  |         delete this.folderForm.id | ||||
|  |       } else { | ||||
|  |         this.$nextTick(() => { | ||||
|  |           this.$refs.childUpload.imageUrl = this.folderForm.img_path | ||||
|  |         }) | ||||
|  |       } | ||||
|  |     }, | ||||
|  |     // 文件夹双击操作 | ||||
|  |     floderDbClick(item, index) { | ||||
|  |       this.$router.replace( | ||||
|  |         { | ||||
|  |           path: '/theme', query: { folderTag: 1 } | ||||
|  |         } | ||||
|  |       ) | ||||
|  |       this.currentFolder = item.name | ||||
|  |       this.currentFolderId = item.id | ||||
|  |       localStorage.setItem('currentFolder', this.currentFolder) | ||||
|  |       localStorage.setItem('currentFolderId', this.currentFolderId) | ||||
|  |       this.getMyAlbum() | ||||
|  |       this.selectedListId = [] | ||||
|  |       this.folderChecked = -1 | ||||
|  |       this.isEditFolder = false | ||||
|  |     }, | ||||
|  |     // 点击其他区域选中的文件夹 去掉选中样式 | ||||
|  |     hiddenFolderActiveClick() { | ||||
|  |       this.folderChecked = -1 | ||||
|  |       this.isEditFolder = false | ||||
|  |     }, | ||||
|  |     // 选择 编辑 文件夹 | ||||
|  |     editFolder(item, index) { | ||||
|  |       this.selectedListId = [] | ||||
|  |       // 有选择中的文件夹时,同时存在素材多选操作时 | ||||
|  |       this.$emit('changedMultiSelected') | ||||
|  |       if (index != this.folderChecked) { | ||||
|  |         this.folderChecked = index | ||||
|  |         this.isEditFolder = true | ||||
|  |         this.folderForm = { | ||||
|  |           fid: item.fid, | ||||
|  |           id: item.id, | ||||
|  |           name: item.name, | ||||
|  |           img_path: item.imgPath, | ||||
|  |           orga_id: item.orgaId | ||||
|  |         } | ||||
|  |       } else { | ||||
|  |         this.folderChecked = -1 | ||||
|  |         this.isEditFolder = false | ||||
|  |       } | ||||
|  |     }, | ||||
|  |     // 删除 文件夹 | ||||
|  |     deleteMaterialFolder() { | ||||
|  |       console.log(this.folderForm.id) | ||||
|  |       this.$confirm('此操作将永久删除该文件夹, 是否继续?', '提示', { | ||||
|  |         confirmButtonText: '确定', | ||||
|  |         cancelButtonText: '取消', | ||||
|  |         type: 'warning' | ||||
|  |       }).then(() => { | ||||
|  |         const ids = [] | ||||
|  |         ids.push(this.folderForm.id) | ||||
|  |         const params = { | ||||
|  |           ids: ids | ||||
|  |         } | ||||
|  |         FetchDeleteThemeFolder(params).then(res => { | ||||
|  |           if (res.code === 200) { | ||||
|  |             this.$message({ | ||||
|  |               message: '删除文件夹成功', | ||||
|  |               type: 'success' | ||||
|  |             }) | ||||
|  |             this.getMyAlbum() | ||||
|  |             this.folderChecked = -1 | ||||
|  |             this.isEditFolder = false | ||||
|  |           } | ||||
|  |         }) | ||||
|  |       }).catch(() => { | ||||
|  |         this.$message({ | ||||
|  |           message: '已取消删除', | ||||
|  |           type: 'info' | ||||
|  |         }) | ||||
|  |       }) | ||||
|  |     }, | ||||
|  |     // 提交表单 - 新建/编辑 | ||||
|  |     submitFolderForm(formName) { | ||||
|  |       this.folderForm.img_path = this.$refs.childUpload.imageUrl | ||||
|  |       console.log(this.folderForm) | ||||
|  |       this.$refs[formName].validate((valid) => { | ||||
|  |         if (valid) { | ||||
|  |           FetchSaveThemeFolder(this.folderForm).then(res => { | ||||
|  |             if (res.code === 200) { | ||||
|  |               this.$message({ | ||||
|  |                 message: '创建文件夹成功', | ||||
|  |                 duration: 2000, | ||||
|  |                 type: 'success' | ||||
|  |               }) | ||||
|  |               this.mkdirVisible = false | ||||
|  |               this.getMyAlbum() | ||||
|  |             } else { | ||||
|  |               this.$message({ | ||||
|  |                 message: '创建文件夹失败', | ||||
|  |                 duration: 2000, | ||||
|  |                 type: 'warning' | ||||
|  |               }) | ||||
|  |             } | ||||
|  |           }) | ||||
|  |         } else { | ||||
|  |           console.log('error submit!!') | ||||
|  |           return false | ||||
|  |         } | ||||
|  |       }) | ||||
|  |     }, | ||||
|  |     // 点击-移动btn | ||||
|  |     moveingTo(index) { | ||||
|  |       this.folderList = [] | ||||
|  |       if (this.materialFolders.length > 0) { | ||||
|  |         this.folderList = this.materialFolders.slice(0, this.materialFolders.length) | ||||
|  |       } | ||||
|  |       this.rootFolderId = localStorage.getItem('rootFolderId') | ||||
|  |       const returnFolder = { | ||||
|  |         id: this.rootFolderId, | ||||
|  |         name: '返回上一级' | ||||
|  |       } | ||||
|  |       this.folderList.unshift(returnFolder) | ||||
|  |       this.movingVisible = true | ||||
|  |     }, | ||||
|  |     // 文件夹list - 选中操作 | ||||
|  |     wjjSelected(item, index) { | ||||
|  |       this.folderListChecked = index | ||||
|  |       this.thisFoldId = item.id | ||||
|  |     }, | ||||
|  |     // 点击确定 - 移动素材 | ||||
|  |     moveFile() { | ||||
|  |       if (this.materialFolders.length > 0) { | ||||
|  |         if (this.thisFoldId == this.rootFolderId) { | ||||
|  |           this.$message({ | ||||
|  |             message: '不能讲文件移动到自身目录下哦~', | ||||
|  |             type: 'error' | ||||
|  |           }) | ||||
|  |           return | ||||
|  |         } | ||||
|  |       } else { | ||||
|  |         this.thisFoldId = this.rootFolderId | ||||
|  |       } | ||||
|  |       const params = { | ||||
|  |         'folder_id': this.thisFoldId, | ||||
|  |         'ids': this.selectInFolderid, | ||||
|  |         'material_ids': this.selectedListId | ||||
|  |       } | ||||
|  |       FetchMoveMyThemeMaterial(params).then(res => { | ||||
|  |         if (res.code === 200) { | ||||
|  |           this.$message({ | ||||
|  |             message: '移动成功', | ||||
|  |             type: 'success' | ||||
|  |           }) | ||||
|  |           this.movingVisible = false | ||||
|  |           this.getMyAlbum() | ||||
|  |           this.selectedListId = [] | ||||
|  |           this.selectInFolderid = [] | ||||
|  |         } | ||||
|  |       }) | ||||
|  |     }, | ||||
|  |     // 即时发布/定时发布 | ||||
|  |     publishHandle(index) { | ||||
|  |       localStorage.removeItem('selectedMaterial') | ||||
|  |       localStorage.removeItem('releaseId') | ||||
|  |       this.selectedMaterial = this.filterArrObj(this.selectedMaterial, 'material_id') | ||||
|  |       // 判断是否选择了多个音频文件 | ||||
|  |       const resultAudio = [] | ||||
|  |       this.selectedMaterial.map(item => { | ||||
|  |         if (item.material_type == 2) { | ||||
|  |           resultAudio.push(item) | ||||
|  |         } | ||||
|  |       }) | ||||
|  |       if (resultAudio.length > 1) { | ||||
|  |         this.$message.error('音频类型的文件只可选择1个') | ||||
|  |         return | ||||
|  |       } | ||||
|  |       localStorage.setItem('selectedMaterial', JSON.stringify(this.selectedMaterial)) | ||||
|  |       this.$router.push( | ||||
|  |         { | ||||
|  |           path: '/release', query: { tag: index } | ||||
|  |         } | ||||
|  |       ) | ||||
|  |     }, | ||||
|  |     // 主题库存在重复得情况,发布前过滤 | ||||
|  |     filterArrObj(arr, filterField) { | ||||
|  |       const newArr = arr.reduce((pre, cur) => pre.some(item => item[filterField] == cur[filterField]) | ||||
|  |         ? pre : [...pre, cur], []) | ||||
|  |       return newArr | ||||
|  |     } | ||||
|  |   } | ||||
|  | } | ||||
|  | </script> | ||||
|  | <style lang="scss" scoped> | ||||
|  | .el-tabs { | ||||
|  |   margin-bottom: 0; | ||||
|  | } | ||||
|  | ::v-deep .el-tabs__item.is-active { | ||||
|  |   color: #3a8aeb; | ||||
|  | } | ||||
|  | .theme_img { | ||||
|  |   .theme_mkdir { | ||||
|  |     position: relative; | ||||
|  |     width: 140px; | ||||
|  |     height: 250px; | ||||
|  |     margin: 0 24px 24px 0; | ||||
|  |     &.cont_upload .font-icon { | ||||
|  |       width: 45px; | ||||
|  |       height: 45px; | ||||
|  |       margin-bottom: 20px; | ||||
|  |     } | ||||
|  |     &.folder .font-icon { | ||||
|  |       width: 84px; | ||||
|  |       height: 69px; | ||||
|  |     } | ||||
|  |     .icon_bg{ | ||||
|  |       img{ | ||||
|  |         display: block; | ||||
|  |         width: 140px; | ||||
|  |         height: 250px; | ||||
|  |       } | ||||
|  |     } | ||||
|  |   } | ||||
|  |   .theme_item { | ||||
|  |     width: 140px; | ||||
|  |     height: 250px; | ||||
|  |   } | ||||
|  |   .icon_bg { | ||||
|  |     height: 220px; | ||||
|  |   } | ||||
|  |   .theme_item { | ||||
|  |     .file_name { | ||||
|  |       position: absolute; | ||||
|  |       left: 0; | ||||
|  |       bottom: 0; | ||||
|  |       width: 100%; | ||||
|  |       height: 30px; | ||||
|  |       background: rgba(255, 255, 255, 0.6); | ||||
|  |       line-height: 30px; | ||||
|  |     } | ||||
|  |   } | ||||
|  | } | ||||
|  | .material_crumbs { | ||||
|  |   padding: 0 0 15px 0; | ||||
|  |   line-height: 30px; | ||||
|  |   background: #fff; | ||||
|  |   ::v-deep .el-breadcrumb { | ||||
|  |     font-size: 12px; | ||||
|  |     color: #999999; | ||||
|  |   } | ||||
|  | } | ||||
|  | </style> | ||||
						Write
						Preview
					
					
					Loading…
					
					Cancel
						Save
					
		Reference in new issue