my-file.vue 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. <template>
  2. <div class="other-container" style="margin-top: 178px;">
  3. <IHeader />
  4. <div style="padding-top: 10px;background: #FFF;margin-top:20px;">
  5. <div style="width: 200px;display:inline-block;">
  6. <el-menu
  7. :default-active="selectDepartId"
  8. class="el-menu-vertical-demo"
  9. style="min-height: 700px;"
  10. @select="handleSelectDepart">
  11. <template v-for="(item, index) in options">
  12. <el-menu-item :index="item.id.toString()">
  13. <span>{{ item.value }}</span>
  14. </el-menu-item>
  15. </template>
  16. </el-menu>
  17. </div>
  18. <div style="width: 800px;display:inline-block;padding: 0 20px;vertical-align: top;">
  19. <el-card class="">
  20. <div slot="header" class="clearfix">
  21. <el-form :inline="true" :model="searchInfo" class="demo-form-inline">
  22. <el-form-item :label="selectDepartName">
  23. <el-input placeholder="" v-model="searchInfo.keyword" clearable></el-input>
  24. </el-form-item>
  25. <el-form-item>
  26. <el-button @click="getArticalList" type="primary">搜索</el-button>
  27. </el-form-item>
  28. </el-form>
  29. </div>
  30. <el-table :data="list" border stripe>
  31. <el-table-column label="序号" width="50" prop="id">
  32. </el-table-column>
  33. <el-table-column label="标题" min-width="200" prop="title">
  34. </el-table-column>
  35. <el-table-column label="发布时间" min-width="60" prop="createAt">
  36. <template slot-scope="{row, $index}">
  37. <span> {{row.createAt|toDatetime}}</span>
  38. </template>
  39. </el-table-column>
  40. </el-table>
  41. <el-pagination
  42. :current-page="1"
  43. :page-size="10"
  44. :page-sizes="[10, 30, 50, 100]"
  45. :style="{float:'center',padding:'20px'}"
  46. :total="total"
  47. layout="total, sizes, prev, pager, next, jumper"
  48. ></el-pagination>
  49. </el-card>
  50. </div>
  51. </div>
  52. <IFooter />
  53. </div>
  54. </template>
  55. <script>
  56. import IHeader from "./components/IHeader";
  57. import IFooter from "./components/IFooter";
  58. import {getArticalList,getApplyArticalList} from '@/api/article'
  59. import {toDatetime} from '@/utils/date.js'
  60. const options = [{
  61. id: 1,
  62. value: '我发布的文件',
  63. label: '我发布的文件'
  64. }, {
  65. id: 2,
  66. value: '我收藏的文件',
  67. label: '我收藏的文件'
  68. }, {
  69. id: 3,
  70. value: '最近浏览的文件',
  71. label: '最近浏览的文件'
  72. }, {
  73. id: 4,
  74. value: '最近下载的文件',
  75. label: '最近下载的文件'
  76. }];
  77. export default {
  78. name: 'application',
  79. components: {
  80. IHeader,
  81. IFooter
  82. },
  83. data() {
  84. return {
  85. list: [],
  86. total: 0,
  87. options:options,
  88. pageSize: 10,
  89. page:1,
  90. searchDepartId: "",
  91. restaurants: [],
  92. searchInfo:{
  93. keyword:''
  94. },
  95. state3: '',
  96. selectDepartId:1,
  97. selectDepartName: '我发布的文件',
  98. isShowMore: false
  99. }
  100. },
  101. filters:{
  102. toDatetime
  103. },
  104. created() {
  105. this.list = options
  106. },
  107. mounted() {
  108. this.getArticalList();
  109. },
  110. watch: {
  111. selectDepartId: function(newDepartId, oldDepartId) {
  112. let that = this
  113. console.log("selectDepartId", newDepartId, oldDepartId)
  114. options.filter(function(item){
  115. if(item.id == newDepartId){
  116. that.selectDepartName = item.value
  117. }
  118. })
  119. }
  120. },
  121. methods: {
  122. handleSelectDepart(key, keyPath) {
  123. console.log("handleSelectDepart", key, keyPath);
  124. this.selectDepartId = key;
  125. // 切换文件列表
  126. },
  127. getArticalList(){
  128. let param = {page:this.page,pageSize: this.pageSize}
  129. getArticalList( param ).then( res=>{
  130. if( res.code == 200){
  131. this.list = res.data.list
  132. this.total = res.data.total
  133. }
  134. })
  135. }
  136. }
  137. }
  138. </script>
  139. <style lang="scss" scoped>
  140. .el-breadcrumb{
  141. display: inline-block;
  142. padding-left: 10px;
  143. }
  144. .box-card{
  145. margin-bottom: 20px;
  146. }
  147. .my-autocomplete {
  148. li {
  149. line-height: normal;
  150. padding: 7px;
  151. .name {
  152. text-overflow: ellipsis;
  153. overflow: hidden;
  154. }
  155. .addr {
  156. font-size: 12px;
  157. color: #b4b4b4;
  158. }
  159. .highlighted .addr {
  160. color: #ddd;
  161. }
  162. }
  163. }
  164. .el-card__body .text{
  165. margin: 5px 0;
  166. }
  167. .el-card{
  168. color: #1890ff;
  169. }
  170. .el-card__header{
  171. padding: 15px 20px;
  172. }
  173. .el-menu-vertical-demo:not(.el-menu--collapse) {
  174. width: 200px;
  175. min-height: 400px;
  176. }
  177. </style>