xiaojincai 5 rokov pred
rodič
commit
cdf7d210a5
4 zmenil súbory, kde vykonal 275 pridanie a 1 odobranie
  1. 22 1
      src/api.js
  2. 11 0
      src/router.js
  3. 115 0
      src/views/docs/Add.vue
  4. 127 0
      src/views/docs/Index.vue

+ 22 - 1
src/api.js

@@ -194,7 +194,28 @@ export default {
 			params: params
 		})
 	},
-	
+	//资料
+	getDocsList: params => {
+		return axios.get(`${baseURL}/api/admin/docs/list`, {
+			params: params
+		})
+	},
+	getDocs: params => {
+		return axios.get(`${baseURL}/api/admin/docs`, {
+			params: params
+		})
+	},
+	saveDocs: params => {
+		return axios.post(`${baseURL}/api/admin/docs`, params);
+	},
+	putDocs: params => {
+		return axios.put(`${baseURL}/api/admin/docs`, params);
+	},
+	deleteDocs: params => {
+		return axios.delete(`${baseURL}/api/admin/docs`, {
+			params: params
+		})
+	},
 	
 	// 内容管理
 	// 栏目列表

+ 11 - 0
src/router.js

@@ -151,6 +151,17 @@ export default new Router({
           name: '新增文章',
           hide:1,
         },
+        {
+          path: '/docs',
+          component: () => import('./views/docs/Index.vue'),
+          name: '资料管理'
+        },
+        {
+          path: '/docs/add',
+          hide:1,
+          component: () => import('./views/docs/Add.vue'),
+          name: '新增资料'
+        },
       ]
     },
     {

+ 115 - 0
src/views/docs/Add.vue

@@ -0,0 +1,115 @@
+<style lang="scss">
+    .add{
+        .el-input,button{
+            width: 300px;
+        }
+    }
+</style>
+<template>
+    <section class="add">
+        <p>内容管理  >  资料管理  >  新增资料</p>
+        <div class="content" v-loading.fullscreen.lock="fullscreenLoading">
+            <el-form label-width="80px">
+                <el-form-item label="资料名称">
+                        <el-input placeholder="资料名称" v-model="form.name"></el-input>
+                </el-form-item>
+                <el-form-item label="资料文件">
+                    <a :href="form.url">{{form.url}}</a>
+                    <input type="file" @change="upload('url')" id='url'>
+                </el-form-item>
+                <el-form-item label=" ">
+                        <el-button @click="save" type="primary">保存</el-button>
+                </el-form-item>
+            </el-form>
+        </div>
+    </section>
+</template>
+<script>
+import Subject from '../../components/Subject';
+export default {
+  components:{
+        Subject
+    },
+  data(){
+    return{
+      fullscreenLoading:false,
+      form:{},
+      id:''
+    }
+  },
+  methods:{
+      subChange(data,id){
+          this.form.subject_id=id
+          this.form.subject_item=data.join('|')
+      },
+      upload(type){
+          var file=document.getElementById(type).files;
+          var data=new FormData();
+            data.append("file",file[0])
+            this.fullscreenLoading=true
+          this.$api.uploadFile(data).then(res=>{
+              this.fullscreenLoading=false
+              if(res.data.code==0){
+                      let form=this.form;
+                      this.$set(form,type,res.data.data.url)
+                      this.$message({message: '上传成功!',type: 'success'});
+                  }else{
+                      this.$message.error(res.data.message);
+                  }
+          })
+      },
+      getData(){
+          this.$api.getDocs({id:this.form.id}).then(res=>{
+              this.form=res.data.data
+          })
+      },
+      save(){
+          var parm=this.form;
+          if(parm.id){
+              this.$api.putDocs(parm).then(res=>{
+                  if(res.data.code==0){
+                      this.$message({message: '修改成功!',type: 'success'});
+                      this.$router.push({path:'/docs'})
+                  }else{
+                      this.$message.error(res.data.message);
+                  }
+              })
+          }else{
+              this.$api.saveDocs(parm).then(res=>{
+                  if(res.data.code==0){
+                      this.$message({message: '添加成功!',type: 'success'});
+                      this.$router.push({path:'/docs'})
+                  }else{
+                      this.$message.error(res.data.message);
+                  }
+              })
+          }
+      },
+      del(id){
+            this.$confirm('确定删除吗', '提示', {
+                    type: 'warning'
+                }).then(() => {
+                   this.$api.deleteDocs({id:id}).then((res)=>{
+                        this.$message({
+                            message: '删除成功',
+                            type: 'success'
+                        })
+                        this.getData()
+                })
+            })
+      },
+  },
+  created(){
+      if(this.$route.query.id){
+            this.form.id=this.$route.query.id
+            this.id=this.$route.query.id
+            this.getData()
+        }
+  }
+}
+</script>
+
+
+
+
+

+ 127 - 0
src/views/docs/Index.vue

@@ -0,0 +1,127 @@
+<style lang="scss">
+    .apply{
+       .filter{
+            background: #fff;
+            padding: 20px 20px 10px; 
+            border:1px solid #EDEDED;
+            border-radius:2px;
+            margin-bottom: 10px;
+            margin-top: 10px;
+            .el-form-item{
+                margin-bottom: 10px;
+            }
+            .el-input,.el-select{
+                width: 150px;
+            }
+    
+       }
+       thead{
+           th{
+               background: #eee;
+           }
+       }
+    }
+</style>
+<template>
+    <section class="apply">
+        <p>内容管理  >  资料管理</p>
+        <div class="filter">
+            <el-form label-width="80px" :inline="true" size="small">
+                <el-form-item label="资料名称">
+                        <el-input placeholder="资料名称" v-model="form.name"></el-input>
+                </el-form-item>
+                <el-form-item>
+                       <el-button @click="getData" type="primary" icon="el-icon-search">搜索</el-button>
+                       <el-button @click="$router.push({path:'/docs/add'})" type="primary">新增</el-button>
+                </el-form-item>
+            </el-form>
+        </div>
+
+
+        <el-table
+                class="table"
+                :data="list" height="450px"
+                border  v-loading="loading"
+                style="width: 100%">
+                <el-table-column
+                prop="name"
+                label="资料名称">
+                </el-table-column>
+                <el-table-column
+                prop="title"
+                label="文件">
+                <template slot-scope="scope">
+                    <a :href="scope.row.url"><i style="font-size:16px;" class="el-icon-link">下载</i></a>
+                </template>
+                </el-table-column>
+                <el-table-column
+                prop="ctime"
+                label="创建时间">
+                </el-table-column>
+                <el-table-column
+                prop="zip" width="200"
+                label="操作">
+                <template slot-scope="scope">
+                    <el-button @click="$router.push({path:'/docs/add',query:{id:scope.row.id}})"  size="mini" type="success">编辑</el-button>
+                    <el-button @click="del(scope.row.id)"  size="mini" type="danger">删除</el-button>
+                </template>
+                </el-table-column>
+        </el-table>
+        <Page  ref="pageButton"  :total='total' @pageChange='gopage'/>
+    </section>
+</template>
+<script>
+import Page from '../../components/Page';
+import Subject from '../../components/Subject';
+export default {
+  components:{
+        Page,Subject
+    },
+  data(){
+    return{
+      form:{name:'',page:1,page_size:20},
+      activeName:"1",
+      total:1,
+      list:[],
+      loading:false
+    }
+  },
+  methods:{
+      gopage(size){
+          if(size){
+              this.form.page_size=size
+          }
+            this.form.page=this.$refs.pageButton.page
+            this.getData()
+      },
+      subChange(data){
+          this.form.subject_item=data.join('|')
+      },
+      getData(){
+         var parm=this.form;
+         this.loading=true
+          this.$api.getDocsList(parm).then(res=>{
+              this.list=res.data.data.list
+              this.total=res.data.data.total
+              this.loading=false
+          })
+      },
+      del(id){
+            this.$confirm('确定删除吗', '提示', {
+                    type: 'warning'
+                }).then(() => {
+                   this.$api.deleteDocs({id:id}).then((res)=>{
+                        this.$message({
+                            message: '删除成功',
+                            type: 'success'
+                        })
+                        this.getData()
+                })
+            })
+      },
+  },
+  created(){
+      this.getData()
+  }
+}
+</script>