|
@@ -5,10 +5,25 @@
|
|
|
</div>
|
|
|
<div class="page-content">
|
|
|
<!-- 面包屑 -->
|
|
|
- <el-breadcrumb separator=">">
|
|
|
- <el-breadcrumb-item>首页</el-breadcrumb-item>
|
|
|
- <el-breadcrumb-item>活动管理</el-breadcrumb-item>
|
|
|
- <el-breadcrumb-item>活动管理</el-breadcrumb-item>
|
|
|
+ <el-breadcrumb separator-class="el-icon-arrow-right">
|
|
|
+ <el-breadcrumb-item :to="{ path: `${routePrefix}/docs/0` }"
|
|
|
+ >全部文件</el-breadcrumb-item
|
|
|
+ >
|
|
|
+ <template v-for="(item, index) in crumbList">
|
|
|
+ <template v-if="index === crumbList.length - 1">
|
|
|
+ <el-breadcrumb-item :key="item.id">
|
|
|
+ <span class="cell">{{ item.fileName }}</span>
|
|
|
+ </el-breadcrumb-item>
|
|
|
+ </template>
|
|
|
+ <template v-else>
|
|
|
+ <el-breadcrumb-item
|
|
|
+ :key="item.id"
|
|
|
+ :to="{ path: `${routePrefix}/docs/${item.id}` }"
|
|
|
+ >
|
|
|
+ <span>{{ item.fileName | crumbFormat }}</span>
|
|
|
+ </el-breadcrumb-item>
|
|
|
+ </template>
|
|
|
+ </template>
|
|
|
</el-breadcrumb>
|
|
|
<!-- 列表 -->
|
|
|
<div class="list-header">
|
|
@@ -23,54 +38,45 @@
|
|
|
<div class="row" v-for="item in list" :key="item.id">
|
|
|
<div class="section pc">
|
|
|
<div class="col">
|
|
|
- <img src="https://picsum.photos/32/32" alt="" />
|
|
|
- <span
|
|
|
- class="file-name"
|
|
|
- @click="onRowClick"
|
|
|
- v-text="item.fileName"
|
|
|
- ></span>
|
|
|
+ <doc-icon :type="item.fileType" :src="item.screenshot" />
|
|
|
+ <span class="file-name" v-if="item.fileType === 'article'" @click="onRowClick(item)">
|
|
|
+ {{ item.fileName | fileNameFormat }}
|
|
|
+ </span>
|
|
|
+ <span class="file-name" v-else @click="onRowClick(item)">{{ item.fileName }}</span>
|
|
|
</div>
|
|
|
<div class="col">{{ item.saveTime | dateFormat }}</div>
|
|
|
- <div class="col">{{ item.fileSize | fileSize }}</div>
|
|
|
- <div class="col control"><div class="download"></div></div>
|
|
|
- </div>
|
|
|
- <div class="section mobile">
|
|
|
- <div class="col file-cover">
|
|
|
- <img src="https://picsum.photos/32/32" alt="" />
|
|
|
- </div>
|
|
|
- <div class="col file-content">
|
|
|
- <div class="file-name" v-text="item.fileName"></div>
|
|
|
- <div class="file-info">
|
|
|
- <span class="date">{{ item.saveTime | dateFormat }}</span>
|
|
|
- <span class="size">{{ item.fileSize | fileSize }}</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="col control"><div class="download"></div></div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div class="row">
|
|
|
- <div class="section pc">
|
|
|
<div class="col">
|
|
|
- <img src="https://picsum.photos/32/32" alt="" />
|
|
|
- <span class="file-name" @click="onRowClick">图像检测分析</span>
|
|
|
+ <span v-if="item.packageType > 0">{{
|
|
|
+ item.fileSize | fileSize
|
|
|
+ }}</span>
|
|
|
+ <span v-else>-</span>
|
|
|
+ </div>
|
|
|
+ <div class="col control">
|
|
|
+ <div class="download" @click="onDownload(item, $event)"></div>
|
|
|
</div>
|
|
|
- <div class="col">2022-08-02</div>
|
|
|
- <div class="col">25MB</div>
|
|
|
- <div class="col control"><div class="download"></div></div>
|
|
|
</div>
|
|
|
<div class="section mobile">
|
|
|
<div class="col file-cover">
|
|
|
- <img src="https://picsum.photos/32/32" alt="" />
|
|
|
+ <doc-icon :type="item.fileType" :src="item.screenshot" />
|
|
|
</div>
|
|
|
- <div class="col file-content">
|
|
|
- <div class="file-name">图像检测分析</div>
|
|
|
+ <div class="col file-content" @click="onRowClick(item)">
|
|
|
+ <div class="file-name" v-if="item.fileType === 'article'">
|
|
|
+ {{ item.fileName | fileNameFormat }}
|
|
|
+ </div>
|
|
|
+ <div class="file-name" v-else>{{ item.fileName }}</div>
|
|
|
<div class="file-info">
|
|
|
- <span class="date">2022-08-02</span>
|
|
|
- <span class="size">25MB</span>
|
|
|
+ <span class="date">{{ item.saveTime | dateFormat }}</span>
|
|
|
+ <span class="size">
|
|
|
+ <span v-if="item.packageType > 0">{{
|
|
|
+ item.fileSize | fileSize
|
|
|
+ }}</span>
|
|
|
+ <span v-else>-</span>
|
|
|
+ </span>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="col control"><div class="download"></div></div>
|
|
|
+ <div class="col control">
|
|
|
+ <div class="download" @click="onDownload(item, $event)"></div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -79,30 +85,10 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import { mapGetters } from 'vuex'
|
|
|
+import fileListMixin from '@/mixins/fileList'
|
|
|
export default {
|
|
|
layout: 'app-ross',
|
|
|
- filters: {},
|
|
|
- asyncData({ $http, params }) {
|
|
|
- return $http.api.fetchDocsList({ fileId: params.fileId }).then((res) => {
|
|
|
- return {
|
|
|
- list: res.data || [],
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- data() {
|
|
|
- return {
|
|
|
- list: [],
|
|
|
- }
|
|
|
- },
|
|
|
- computed: {
|
|
|
- ...mapGetters(['routePrefix', 'supplierInfo', 'authUserId']),
|
|
|
- },
|
|
|
- methods: {
|
|
|
- onRowClick() {
|
|
|
- this.$router.push(`${this.routePrefix}/docs/${11}`)
|
|
|
- },
|
|
|
- },
|
|
|
+ mixins: [fileListMixin],
|
|
|
}
|
|
|
</script>
|
|
|
|
|
@@ -118,6 +104,9 @@ export default {
|
|
|
|
|
|
// pc 端
|
|
|
@media screen and (min-width: 768px) {
|
|
|
+ .page {
|
|
|
+ margin-bottom: 16px;
|
|
|
+ }
|
|
|
.page-top {
|
|
|
height: 360px;
|
|
|
@include themify($themes) {
|
|
@@ -207,6 +196,7 @@ export default {
|
|
|
.file-name {
|
|
|
cursor: pointer;
|
|
|
transition: all 0.4s;
|
|
|
+ margin-left: 24px;
|
|
|
&:hover {
|
|
|
color: #f3920d;
|
|
|
}
|