Commit 0b8330a0 by wangyalan-git

文档下载,搜索,最新上传,下载排行

parent 042e2321
...@@ -7860,6 +7860,11 @@ ...@@ -7860,6 +7860,11 @@
"minimist": "^1.2.5" "minimist": "^1.2.5"
} }
}, },
"moment": {
"version": "2.27.0",
"resolved": "https://registry.npm.taobao.org/moment/download/moment-2.27.0.tgz?cache=0&sync_timestamp=1592517925956&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmoment%2Fdownload%2Fmoment-2.27.0.tgz",
"integrity": "sha1-i/9OPiaiNiIN/j423nVrbrqgEF0="
},
"move-concurrently": { "move-concurrently": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npm.taobao.org/move-concurrently/download/move-concurrently-1.0.1.tgz", "resolved": "https://registry.npm.taobao.org/move-concurrently/download/move-concurrently-1.0.1.tgz",
......
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
"core-js": "^3.6.5", "core-js": "^3.6.5",
"element-ui": "^2.13.2", "element-ui": "^2.13.2",
"js-cookie": "^2.2.1", "js-cookie": "^2.2.1",
"moment": "^2.27.0",
"vue": "^2.6.11", "vue": "^2.6.11",
"vue-router": "^3.2.0", "vue-router": "^3.2.0",
"vuex": "^3.4.0" "vuex": "^3.4.0"
......
import request from '@/utils/request'
// 万科后台_文件分页操作
export function getFileList (params) {
return request({
url: '/vankeFile/list',
method: 'get',
params
})
}
// 文件下载
export function downloadFile (params) {
return request({
url: '/file/downloadByFileId',
method: 'post',
params,
responseType: 'blob'
})
}
// 万科后台_文件类型分页操作
export function getTypeList (params) {
return request({
url: '/vankeFileType/list',
method: 'get',
params
})
}
...@@ -13,6 +13,7 @@ ol, ...@@ -13,6 +13,7 @@ ol,
dl { dl {
list-style: none; list-style: none;
} }
a:link,a:visited,a:hover { text-decoration:none;} //未访问:蓝色、无下划线
.page{ .page{
//display: flex; //display: flex;
width: 100%; width: 100%;
...@@ -29,5 +30,7 @@ dl { ...@@ -29,5 +30,7 @@ dl {
.container{ .container{
width: 1200px; width: 1200px;
margin: 0 auto; margin: 0 auto;
padding: 4% 0; //padding: 4% 0;
} }
...@@ -5,7 +5,10 @@ import store from './store' ...@@ -5,7 +5,10 @@ import store from './store'
// 完整引入 Element // 完整引入 Element
import ElementUI from 'element-ui' import ElementUI from 'element-ui'
import '@/assets/scss/common.scss' import '@/assets/scss/common.scss'
import common from '@/utils/validate'
import moment from 'moment'
Vue.prototype.common = common
Vue.prototype.moment = moment
Vue.use(ElementUI) Vue.use(ElementUI)
Vue.config.productionTip = false Vue.config.productionTip = false
......
// date.js // date.js
/* eslint-disable */
export function formatDate(date, fmt) { export function formatDate(date, fmt) {
if (/(y+)/.test(fmt)) { if (/(y+)/.test(fmt)) {
fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length)); fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));
......
...@@ -31,6 +31,11 @@ service.interceptors.response.use( ...@@ -31,6 +31,11 @@ service.interceptors.response.use(
/** /**
* code为非200是抛错 可结合自己业务进行修改 * code为非200是抛错 可结合自己业务进行修改
*/ */
// 下载文件另外处理
const headers = response.headers
if (headers['content-type'] == 'application/octet-stream') {
return response.data
}
const res = response.data const res = response.data
if (res.code !== 200) { if (res.code !== 200) {
Message({ Message({
......
/* eslint-disable */
export default { export default {
// 获取分类label值 // 获取分类label值
getCascaderObj(val, opt) { getCascaderObj (val, opt) {
return val.map(function (value, index, array) { return val.map(function (value, index, array) {
for (var itm of opt) { for (var itm of opt) {
if (itm.id == value) { if (itm.id == value) {
opt = itm.children; opt = itm.children
return itm.name; return itm.name
} }
} }
return null; return null
}) })
}, },
// 数组对象合并去重 // 数组对象合并去重
removingDplicate(a, b) { removingDplicate (a, b) {
let ab = a.concat(b); const ab = a.concat(b)
let obj = {}; const obj = {}
let result = ab.reduce((cur,next) => { const result = ab.reduce((cur, next) => {
obj[next.id] ? "" : obj[next.id] = true && cur.push(next); obj[next.id] ? '' : obj[next.id] = true && cur.push(next)
return cur; return cur
},[]); //设置cur默认类型为数组,并且初始值为空的数组 }, []) // 设置cur默认类型为数组,并且初始值为空的数组
console.log(result); console.log(result)
return result; return result
}, },
/* 合法uri*/ /* 合法uri */
validateURL(textval) { validateURL (textval) {
const urlregex = /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/ const urlregex = /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/
return urlregex.test(textval) return urlregex.test(textval)
}, },
/* 小写字母*/ /* 小写字母 */
validateLowerCase(str) { validateLowerCase (str) {
const reg = /^[a-z]+$/ const reg = /^[a-z]+$/
return reg.test(str) return reg.test(str)
}, },
/* 大写字母*/ /* 大写字母 */
validateUpperCase(str) { validateUpperCase (str) {
const reg = /^[A-Z]+$/ const reg = /^[A-Z]+$/
return reg.test(str) return reg.test(str)
}, },
/* 大小写字母*/ /* 大小写字母 */
validatAlphabets(str) { validatAlphabets (str) {
const reg = /^[A-Za-z]+$/ const reg = /^[A-Za-z]+$/
return reg.test(str) return reg.test(str)
} }
} }
<template> <template>
<div class="page"> <div class="page">
<div class="container"> <div class="container">
<el-row type="flex" justify="space-around"> <el-row type="flex" justify="space-between" style="margin-top: 20px;">
<el-col :span="11"> <el-col :span="11">
<div class="title"> <router-link :to="{path: 'search',query: {type: 1}}" class="title">
<p>热门下载 Popular download</p> <p>热门下载 Popular download</p>
<p>更多 <i class="el-icon-arrow-right"></i></p> <p>更多 <i class="el-icon-arrow-right"></i></p>
</div> </router-link>
<div> <div>
<el-table <el-table
:show-header="false" :show-header="false"
:data="tableData" :data="hotFileList"
style="width: 100%"> style="width: 100%">
<el-table-column <el-table-column
prop="address" prop="name"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="zip" prop="times">
width="200"> <template slot-scope="scope">
<div>{{scope.row.createtime | formatTime}}</div>
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
width="100"> width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
@click.native.prevent="deleteRow(scope.$index, tableData)" type="primary"
plain
@click.native.prevent="handleDown(scope.row)"
size="small"> size="small">
立即下载 立即下载
</el-button> </el-button>
...@@ -34,29 +38,33 @@ ...@@ -34,29 +38,33 @@
</div> </div>
</el-col> </el-col>
<el-col :span="11"> <el-col :span="11">
<div class="title"> <router-link :to="{path: 'search',query: {type: 2}}" class="title">
<p>热门下载 Popular download</p> <p>最新上传 The latest upload</p>
<p>更多 <i class="el-icon-arrow-right"></i></p> <p>更多 <i class="el-icon-arrow-right"></i></p>
</div> </router-link>
<div> <div>
<el-table <el-table
:show-header="false" :show-header="false"
:data="tableData" :data="newUploadList"
style="width: 100%"> style="width: 100%">
<el-table-column <el-table-column
prop="address" prop="name"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="zip" prop="times">
width="200"> <template slot-scope="scope">
<div>{{scope.row.createtime | formatTime}}</div>
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
width="100"> width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
@click.native.prevent="deleteRow(scope.$index, tableData)" @click.native.prevent="handleDown(scope.row)"
size="small"> size="small"
type="primary"
plain>
立即下载 立即下载
</el-button> </el-button>
</template> </template>
...@@ -70,66 +78,62 @@ ...@@ -70,66 +78,62 @@
</template> </template>
<script> <script>
import { getFileList, downloadFile } from '@/api/doc'
import moment from 'moment/moment'
export default { export default {
name: 'index', name: 'index',
components: {}, components: {},
data () { data () {
return { return {
tableData: [{ hotFileList: [],
date: '2016-05-03', newUploadList: []
name: '王小虎',
province: '上海',
city: '普陀区',
address: '上海市普陀区金沙江路 1518 弄',
zip: 200333
}, {
date: '2016-05-02',
name: '王小虎',
province: '上海',
city: '普陀区',
address: '上海市普陀区金沙江路 1518 弄',
zip: 200333
}, {
date: '2016-05-04',
name: '王小虎',
province: '上海',
city: '普陀区',
address: '上海市普陀区金沙江路 1518 弄',
zip: 200333
}, {
date: '2016-05-01',
name: '王小虎',
province: '上海',
city: '普陀区',
address: '上海市普陀区金沙江路 1518 弄',
zip: 200333
}, {
date: '2016-05-08',
name: '王小虎',
province: '上海',
city: '普陀区',
address: '上海市普陀区金沙江路 1518 弄',
zip: 200333
}, {
date: '2016-05-06',
name: '王小虎',
province: '上海',
city: '普陀区',
address: '上海市普陀区金沙江路 1518 弄',
zip: 200333
}, {
date: '2016-05-07',
name: '王小虎',
province: '上海',
city: '普陀区',
address: '上海市普陀区金沙江路 1518 弄',
zip: 200333
}]
} }
}, },
mounted () { mounted () {
this.init()
},
filters: {
formatTime (time) {
if (!time) {
return '--'
}
return moment(time).format('YYYY-MM-DD')
}
}, },
methods: {} methods: {
init () {
getFileList({
pageNum: 1,
pageSize: 10,
isByDownloadTimes: 1
}).then(res => {
this.hotFileList = res.data.list
})
getFileList({
pageNum: 1,
pageSize: 10,
isByTime: 1
}).then(res => {
this.newUploadList = res.data.list
})
},
handleDown (row) {
downloadFile({ fileId: row.id }).then(res => {
console.log('res', res)
var blob = new Blob([res], { type: 'application/octet-stream' })
if (window.navigator.msSaveOrOpenBlob) { // msSaveOrOpenBlob方法返回bool值
navigator.msSaveBlob(blob, row.fileName)// 本地保存
} else {
var link = document.createElement('a')// a标签下载
link.href = window.URL.createObjectURL(blob)
link.download = row.fileName
link.click()
window.URL.revokeObjectURL(link.href)
}
})
}
}
} }
</script> </script>
...@@ -140,6 +144,7 @@ export default { ...@@ -140,6 +144,7 @@ export default {
justify-content: space-between; justify-content: space-between;
padding: 20px; padding: 20px;
font-size: 16px; font-size: 16px;
color: #020202;
} }
.title p:last-child { .title p:last-child {
...@@ -151,4 +156,7 @@ export default { ...@@ -151,4 +156,7 @@ export default {
width: 500px; width: 500px;
/*border: 1px solid #4583F3;*/ /*border: 1px solid #4583F3;*/
} }
.container{
margin-bottom: 50px;
}
</style> </style>
<template> <template>
<div class="navbar"> <div class="navbar">
<div class="nav"> <div class="nav">
<div class="nav-left"> <router-link to="/" class="nav-left">
<img src="@/assets/images/ic_logo.png" alt=""> <img src="@/assets/images/ic_logo.png" alt="">
<p class="project-name">万科文档库平台</p> <p class="project-name">万科文档库平台</p>
</div> </router-link>
<div class="search-module"> <div class="search-module">
<ul> <!-- <div class="search-module">-->
<li class="checked">文档名称</li> <!-- <ul>-->
<li>文档类型</li> <!-- <li class="checked">文档名称</li>-->
<li>发布时间</li> <!-- <li>文档类型</li>-->
<li>创建者</li> <!-- <li>发布时间</li>-->
</ul> <!-- <li>创建者</li>-->
<div> <!-- </ul>-->
<el-input <!-- <div>-->
class="input-width" <!-- <el-input-->
placeholder="请输入内容" <!-- class="input-width"-->
v-model="searchName"> <!-- placeholder="请输入内容"-->
<!-- <i slot="prefix" class="el-input__icon el-icon-search"></i>--> <!-- v-model="searchName">-->
<el-button @click ="search" type="primary" slot="append" icon="el-icon-search">搜索</el-button> <!-- &lt;!&ndash; <i slot="prefix" class="el-input__icon el-icon-search"></i>&ndash;&gt;-->
</el-input> <!-- <el-button @click ="search" type="primary" slot="append" icon="el-icon-search">搜索</el-button>-->
</div> <!-- </el-input>-->
<!-- </div>-->
<el-form :inline="true"
:model="listQuery"
ref="queryData"
size="small">
<el-form-item label="文档名称:">
<el-input v-model="listQuery.name"
placeholder="文档名称"></el-input>
</el-form-item>
<el-form-item label="发布时间:">
<el-date-picker
v-model="listQuery.queryTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
<el-form-item label="创建者:">
<el-input v-model="listQuery.adminName"
placeholder="创建者"></el-input>
</el-form-item>
<el-form-item label="文档类型:">
<el-select v-model="listQuery.typeId"
placeholder="请选择文档类型">
<el-option v-for="item in typeOptions"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button @click="handleSearchList()"
type="primary"
size="small"
style="margin-left: 20px;">
搜索
</el-button>
<el-button @click="handleResetSearch()"
size="small">
重 置
</el-button>
</el-form-item>
</el-form>
</div> </div>
<div> <div>
</div> </div>
...@@ -30,17 +74,63 @@ ...@@ -30,17 +74,63 @@
</template> </template>
<script> <script>
import { getTypeList } from '@/api/doc'
const defaultListQuery = {
name: null,
typeId: null,
adminName: null,
queryTime: null
}
export default { export default {
name: 'Header', name: 'Header',
components: {}, components: {},
data () { data () {
return { return {
searchName: null type: 1,
searchName: null,
typeOptions: [],
listQuery: Object.assign({}, defaultListQuery)
} }
}, },
mounted () { mounted () {
this.getTypeList()
}, },
methods: { methods: {
// 条件查询
handleSearchList () {
this.listQuery.pageNum = 1
this.$router.push({
path: 'search',
query: {
name: this.listQuery.name,
typeId: this.listQuery.typeId,
adminName: this.listQuery.adminName,
queryTime: this.listQuery.queryTime
}
})
},
// 表单重置
handleResetSearch () {
this.listQuery = Object.assign({}, defaultListQuery)
this.$router.push({
path: 'search',
query: {
name: this.listQuery.name,
typeId: this.listQuery.typeId,
adminName: this.listQuery.adminName,
queryTime: this.listQuery.queryTime
}
})
},
getTypeList () {
getTypeList().then(res => {
this.typeOptions = res.data.list
})
},
changeType (type) {
this.type = type
},
search () { search () {
this.$router.push('/search') this.$router.push('/search')
} }
...@@ -49,23 +139,27 @@ export default { ...@@ -49,23 +139,27 @@ export default {
</script> </script>
<style lang='scss' scoped> <style lang='scss' scoped>
.navbar{ .navbar {
border-bottom: 1px solid #ccc; border-bottom: 1px solid #ccc;
} }
.project-name{
.project-name {
font-size: 20px; font-size: 20px;
margin-top: 5px; margin-top: 5px;
color: #020202;
} }
.nav { .nav {
display: flex; display: flex;
/*justify-content: center;*/ /*justify-content: center;*/
align-items: center; align-items: center;
width:1200px; width: 1200px;
margin: 0 auto; margin: 0 auto;
padding: 4% 0; padding: 4% 0;
position: relative; position: relative;
} }
.nav .nav-left { .nav .nav-left {
margin-right: 50px; margin-right: 50px;
} }
...@@ -73,6 +167,7 @@ export default { ...@@ -73,6 +167,7 @@ export default {
.search-module { .search-module {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
text-align: left;
} }
.search-module ul { .search-module ul {
...@@ -96,7 +191,8 @@ export default { ...@@ -96,7 +191,8 @@ export default {
background: #4583F3; background: #4583F3;
color: #ffffff; color: #ffffff;
} }
.input-width{
.input-width {
/*border: 1px solid #4583F3;*/ /*border: 1px solid #4583F3;*/
} }
</style> </style>
......
...@@ -155,13 +155,14 @@ export default { ...@@ -155,13 +155,14 @@ export default {
.container { .container {
position: relative; position: relative;
width: 100%; width: 100%;
height: 100%; height: 100vh;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
background: url("~@/assets/images/bg.png") no-repeat; background: url("~@/assets/images/bg.png") no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
/*padding: 4% 0*/
} }
.container .content { .container .content {
......
...@@ -5,44 +5,176 @@ ...@@ -5,44 +5,176 @@
<el-menu-item index="1">最新上传</el-menu-item> <el-menu-item index="1">最新上传</el-menu-item>
<el-menu-item index="2">热门下载</el-menu-item> <el-menu-item index="2">热门下载</el-menu-item>
</el-menu> </el-menu>
<el-row :gutter="20" class="row"> <el-row :gutter="20" class="row" v-if="list && list.length">
<el-col :span="6" v-for="(item,index) in 7" :key="index"> <el-col :span="6" v-for="(item,index) in list" :key="index">
<el-card :body-style="{ padding: '0px' }"> <el-card :body-style="{ padding: '0px' }">
<div class="card_image"> <div class="card_image">
<img src="@/assets/images/ECEL.png" <img v-if="item.format === 'xlsx'" src="@/assets/images/ECEL.png"
class="image">
<img v-else-if="item.format === 'png'" src="@/assets/images/img.png"
class="image">
<img v-else-if="item.format === 'ppt'" src="@/assets/images/PPT.png"
class="image">
<img v-else-if="item.format === 'pdf'" src="@/assets/images/PDF.png"
class="image">
<img v-else-if="item.format === 'video' || 'mp4'" src="@/assets/images/VIDEO.png"
class="image">
<img v-else-if="item.format === 'word' || 'mp4'" src="@/assets/images/WORD.png"
class="image">
<img v-else-if="item.format === 'zip' || 'mp4'" src="@/assets/images/ZIP.png"
class="image">
<img v-else src="@/assets/images/defaultType.png"
class="image"> class="image">
<div> <div>
<p class="time">2020-05-21</p> <p class="time">{{item.createtime | formatTime}}</p>
<p class="time">下载量: 123</p> <p class="time">下载量: {{item.times}}</p>
</div> </div>
</div> </div>
<div style="padding: 14px;text-align: left;"> <div style="padding: 14px;text-align: left;">
<span>实名制工作计划PPT模板</span> <span>{{item.name}}</span>
<div class="bottom clearfix"> <div class="bottom clearfix">
<time class="time">陈大大</time> <time class="time">{{item.adminName}}</time>
<el-button type="text" class="button">立即下载</el-button> <el-button type="text" class="button" @click="handleDown(item)">立即下载</el-button>
</div> </div>
</div> </div>
</el-card> </el-card>
</el-col> </el-col>
</el-row> </el-row>
<div class="no_result" v-else>
暂无数据!
</div>
<div class="pagination-container">
<el-pagination background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
layout="total, sizes, prev, pager, next, jumper"
:current-page.sync="listQuery.pageNum"
:page-size="listQuery.pageSize"
:page-sizes="[10,30,50]"
:total="total">
</el-pagination>
</div>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import { getFileList, downloadFile } from '@/api/doc'
import moment from 'moment/moment'
// 列表查询参数默认值
const defaultListQuery = {
pageNum: 1,
pageSize: 10,
name: '',
isByTime: null,
isByDownloadTimes: null
}
export default { export default {
name: 'index', name: 'index',
components: {}, components: {},
data () { data () {
return { return {
activeIndex: '1' activeIndex: '1',
listQuery: Object.assign({}, defaultListQuery),
list: [],
total: 0,
listLoading: false,
multipleSelection: []
} }
}, },
mounted () { mounted () {
/* eslint-disable */
if (this.$route.query.type == 1) {
this.activeIndex = '2'
} else {
this.activeIndex = '1'
}
this.getList()
},
methods: {
getFormat (value) {
if (!value) {
return '--'
}
const str = value.split('.')[1]
console.log('str', str)
return str
},
handleSelect (key) {
this.listQuery.pageNum = 1
this.activeIndex = key
this.getList()
},
handleSizeChange (val) {
this.listQuery.pageNum = 1
this.listQuery.pageSize = val
this.getList()
},
handleCurrentChange (val) {
this.listQuery.pageNum = val
this.getList()
},
// 请求数据
getList () {
this.listLoading = true
// 请求数据
if (this.activeIndex === '1') {
this.listQuery.isByTime = 1
this.listQuery.isByDownloadTimes = null
} else {
this.listQuery.isByTime = null
this.listQuery.isByDownloadTimes = 1
}
console.log('listQuery', this.listQuery)
getFileList(this.listQuery).then(res => {
this.listLoading = false
res.data.list.forEach(item => {
const str = this.getFormat(item.fileName)
item.format = str
})
this.list = res.data.list
this.total = res.data.total
})
},
handleDown (row) {
downloadFile({ fileId: row.id }).then(res => {
console.log('res', res)
var blob = new Blob([res], { type: 'application/octet-stream' })
if (window.navigator.msSaveOrOpenBlob) { // msSaveOrOpenBlob方法返回bool值
navigator.msSaveBlob(blob, row.fileName)// 本地保存
} else {
var link = document.createElement('a')// a标签下载
link.href = window.URL.createObjectURL(blob)
link.download = row.fileName
link.click()
window.URL.revokeObjectURL(link.href)
}
})
}
}, },
methods: {} filters: {
formatTime (time) {
if (!time) {
return '--'
}
return moment(time).format('YYYY-MM-DD')
}
},
watch: {
$route: {
handler (value) {
console.log('this.$route.query.name',this.$route.query.name,this.$route.query)
this.listQuery.name = this.$route.query.name
this.listQuery.typeId = this.$route.query.typeId
this.listQuery.adminName = this.$route.query.adminName
this.listQuery.queryTime = this.$route.query.queryTime
this.listQuery.pageNum = 1
this.getList()
},
deep: true
}
}
} }
</script> </script>
...@@ -53,7 +185,8 @@ export default { ...@@ -53,7 +185,8 @@ export default {
width: 100%; width: 100%;
height: 300px; height: 300px;
} }
.card_image img{
.card_image img {
width: 100px; width: 100px;
height: 100px; height: 100px;
text-align: center; text-align: center;
...@@ -109,7 +242,17 @@ export default { ...@@ -109,7 +242,17 @@ export default {
.row { .row {
margin-top: 30px; margin-top: 30px;
} }
.row>div{
.row > div {
margin-bottom: 20px; margin-bottom: 20px;
} }
.pagination-container {
margin: 50px 0;
text-align: right;
}
.no_result{
margin: 100px auto;
color: #999;
}
</style> </style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment