y595705120 пре 3 година
родитељ
комит
05fcf55ac1
4 измењених фајлова са 107 додато и 24 уклоњено
  1. 18 1
      src/api/article.js
  2. 20 5
      src/pages/data/data.js
  3. 51 12
      src/pages/other/file-add.vue
  4. 18 6
      src/pages/other/my-file.vue

+ 18 - 1
src/api/article.js

@@ -47,6 +47,14 @@ export const getMyArticalList = (data) => {
     })
 }
 
+export const getEditArticalList = (data) => {
+    return service({
+        url: "/api/artical/getEditArticalList",
+        method: 'post',
+        data
+    })
+}
+
 export const getViewArticalList = (data) => {
     return service({
         url: "/api/artical/getViewArticalList",
@@ -71,6 +79,15 @@ export const addArtical = (data) => {
     })
 }
 
+export const editArtical = (data) => {
+    return service({
+        url: "/api/artical/editArtical",
+        method: 'post',
+        data
+    })
+}
+
+
 export const getArticalInfo = (data) => {
     return service({
         url: "/api/artical/getArticalInfo",
@@ -162,4 +179,4 @@ export const publishArtical = (data) => {
         method: 'post',
         data
     })
-}
+}

+ 20 - 5
src/pages/data/data.js

@@ -2,7 +2,8 @@ import {
   getMyArticalList,
   getArticalLikeList,
   getViewArticalList,
-  getDownloadArticalList
+  getDownloadArticalList,
+  getEditArticalList
 } from '@/api/article'
 
 
@@ -61,12 +62,20 @@ export default {
     }
     return isLeader
   },
-  myfiles: [{
+  myfiles: [
+    {
+      id: "5",
+      value: '我负责的文件',
+      label: '我负责的文件',
+      listApi: getEditArticalList
+    },
+    {
     id: "1",
     value: '我发布的文件',
     label: '我发布的文件',
     listApi: getMyArticalList
-  }, {
+  },
+   {
     id: "2",
     value: '我收藏的文件',
     label: '我收藏的文件',
@@ -76,11 +85,17 @@ export default {
     value: '最近浏览的文件',
     label: '最近浏览的文件',
     listApi: getViewArticalList
-
   }, {
     id: "4",
     value: '最近下载的文件',
     label: '最近下载的文件',
     listApi: getDownloadArticalList
-  }]
+  },
+  {
+    id: "4",
+    value: '最近下载的文件',
+    label: '最近下载的文件',
+    listApi: getDownloadArticalList
+  }
+  ]
 }

+ 51 - 12
src/pages/other/file-add.vue

@@ -4,11 +4,11 @@
       <el-form class="p20" label-width="100px"  label-position="left"
       ref="elForm" :model="info" :rules="rules" >
         <el-row>
-          <el-col :span="8">
-            <el-form-item label="所属部门" class="mt20" prop="department">
+          <el-col :span="8" >
+            <el-form-item label="所属部门" class="mt20" prop="department" >
              <el-select v-model="info.department"
               @change="selectDepartment($event)"
-              collapse-tags placeholder="请选择"  clearable>
+              collapse-tags placeholder="请选择"   :disabled="info.articalId?true:false" clearable>
                <el-option
                v-for="item in showDepartments"
                :value="item"
@@ -50,16 +50,19 @@
              <!-- <el-input class="ipt-select" type="textarea" v-model="info.brief"></el-input> -->
          </el-form-item>
 
-         <el-form-item label="上传附件"  prop="filename">
+         <el-form-item label="上传附件"  prop="filename" v-if="info.articalId==0">
             <upload-file  placeholder="上传文档"  @rmImage="info.filename=''"  @onFinish="onUpload"/>
          </el-form-item>
 
           <el-form-item label="">
-
               <el-button type="primary" @click="onSubmit" class="btn-md">
                 提交文件
               </el-button>
 
+              <el-button type="primary" @click="preview(info.filename )" v-if="info.articalId>0" class="btn-md">
+                预览附件
+              </el-button>
+
           </el-form-item>
 
       </el-form>
@@ -73,7 +76,8 @@
   import Tinymce from "@/components/Tinymce/index.vue";
   import data  from '../data/data.js'
   import {mapGetters } from 'vuex'
-  import {addArtical} from '@/api/article.js'
+  import {addArtical,getArticalInfo, editArtical} from '@/api/article.js'
+
   export default {
     name: 'application',
     components:{ UploadFile,Tinymce },
@@ -81,9 +85,11 @@
       return {
         loading:false,
         isLike: 0,
+        articalId:0,
         dropDownValue:'',
         showDepartments:[],
         categorys:data.categorys,
+        isLeader:0,
         info: {
           filename:'',
           departmentId:0,
@@ -121,7 +127,28 @@
         this.info.department = department.department;
       }
     },
+    created(){
+      this.articalId = +this.$route.query.articalId;
+      if( this.articalId){
+        this.loadArtical(  this.articalId )
+      }
+    },
     methods:{
+      loadArtical( articalId ){
+         getArticalInfo({articalId}).then(res => {
+           if (res.code == 200) {
+              this.info = res.data.info;
+              for (let i in this.userDepartments) {
+               if (this.userDepartments[i].departmentId == this.info.departmentId) {
+                 this.isLeader = this.userDepartments[i].isLeader;
+               }
+              }
+              if( this.isLeader < 2){
+                this.$message.errorMsg("暂无权限", 1)
+              }
+           }
+         })
+      },
       onUpload(filename){
         this.info.filename = filename;
       },
@@ -129,7 +156,6 @@
         this.info.departmentId = +item.departmentId;
         this.info.department = item.department
       },
-
       showFinish(){
         let that = this
         this.$msgbox({
@@ -150,14 +176,27 @@
           console.log(res)
          });
       },
+      preview(filename){
+        window.open( "http://smoa.ndjsxh.cn:8888/preview/"+filename)
+      },
       onSubmit(){
         this.$refs["elForm"].validate((valid) => {
           if (!valid) return;
-          addArtical( this.info ).then(res=>{
-            if( res.code == 200){
-              this.showFinish()
-            }
-          })
+          let {articalId, category,brief, title, isOpen } = this.info;
+
+          if( !articalId){
+            addArtical( this.info ).then(res=>{
+              if( res.code == 200){
+                this.showFinish()
+              }
+            })
+          }else{
+            editArtical( {articalId, category, brief, title, isOpen }).then( res=>{
+              if( res.code == 200){
+                this.$router.go(-1);
+              }
+            })
+          }
         })
       }
     }

+ 18 - 6
src/pages/other/my-file.vue

@@ -3,7 +3,7 @@
     <div class="main-table">
       <div class="main-left">
         <el-menu
-          default-active="1-1"
+          default-active="1-5"
           class="el-menu-vertical-demo"
           style="min-height: 700px;"
           >
@@ -53,8 +53,10 @@
 
             <el-table-column label="备注" width="60" align="center">
               <template v-slot="{row}">
+                <el-button  type="text" @click="gotoDetail(row)"> 详情 </el-button>
+                
                 <el-button  type="text" @click="download(row)" v-if="selectId==1"> 下载 </el-button>
-                <span v-else> 无 </span>
+                <el-button  type="text" @click="editFile(row)" v-else-if="selectId==5"> 编辑 </el-button>
               </template>
             </el-table-column>
 
@@ -82,7 +84,7 @@
 import IHeader from "./components/IHeader";
 import IFooter from "./components/IFooter";
 import {getArticalList,getApplyArticalList}  from '@/api/article'
-import {getMyArticalList,downloadFile}  from '@/api/article'
+import {getEditArticalList,downloadFile}  from '@/api/article'
 import {download} from '@/utils/download.js'
 import {toDatetime} from '@/utils/date.js'
 import data from '../data/data.js'
@@ -108,14 +110,14 @@ export default {
       page:1,
       searchDepartId: "",
       openMap:data.openMap,
-      listApi: getMyArticalList,
+      listApi: getEditArticalList,
       restaurants: [],
       searchInfo:{
         keyword:''
       },
       state3: '',
-      selectId:"1",
-      selectName: '我发布的文件',
+      selectId:"5",
+      selectName: '我负责的文件',
       isShowMore: false
     }
   },
@@ -131,6 +133,16 @@ export default {
       let articalId = row.articalId
       download( `/api/artical/downloadFile/${articalId}`)
     },
+    editFile( row ){
+      let path = "/file-add"
+      let query = {articalId: row.articalId}
+      this.$router.push( {path, query})
+    },
+    gotoDetail(row ){
+      let path = "/file-info"
+      let query = {articalId: row.articalId}
+      this.$router.push( {path, query})
+    },
     doLogout(){
       this.logout().then( res=>{
         console.log("logout")