scorpio 2 yıl önce
ebeveyn
işleme
d540ca28b3

+ 31 - 28
src/api/task/index.js

@@ -1,45 +1,48 @@
 import fetch from '../fetch.js'
 
 export default {
-    /**
+  /**
      * 创建任务
      * @returns {Promise<unknown>}
      */
-    add(params) {
-        return fetch('/blade-project-manage-v2/userTask/v2/createTask', params, 'post', 'json')
-    },
-    taskList(params) {
-        return fetch('/blade-project-manage-v2/userTask/v2/list', params)
-    },
-    issuedRecords(params) {
-        return fetch('/blade-project-manage-v2/userTask/v2/record', params)
-    },
-    detail(params) {
-        return fetch('/blade-project-manage-v2/userTask/v2/detail', params)
-    },
-    taskConfirm(params) {
-        return fetch('/blade-project-manage-v2/userTask/v2/confirm', params)
-    },
-    /**
+  add (params) {
+    return fetch('/blade-project-manage-v2/userTask/v2/createTask', params, 'post', 'json')
+  },
+  taskList (params) {
+    return fetch('/blade-project-manage-v2/userTask/v2/list', params)
+  },
+  issuedRecords (params) {
+    return fetch('/blade-project-manage-v2/userTask/v2/record', params)
+  },
+  detail (params) {
+    return fetch('/blade-project-manage-v2/userTask/v2/detail', params)
+  },
+  taskConfirm (params) {
+    return fetch('/blade-project-manage-v2/userTask/v2/confirm', params)
+  },
+  taskRemove (params) {
+    return fetch('/blade-project-manage-v2/folder/v2/remove', params)
+  },
+  /**
      * 根据文件夹id 获取下级文件
      * @param params
      * @returns {Promise | Promise<unknown>}
      */
-    fileList(params) {
-        return fetch('/blade-project-manage-v2/userTask/v2/getListByParentId', params)
-    },
-    /**
+  fileList (params) {
+    return fetch('/blade-project-manage-v2/userTask/v2/getListByParentId', params)
+  },
+  /**
      * 上传文件任务
      */
-    uploadFile(params) {
-        return fetch('/blade-project-manage-v2/userTask/v2/uploadFile', params, 'post', 'json')
-    },
-    /**
+  uploadFile (params) {
+    return fetch('/blade-project-manage-v2/userTask/v2/uploadFile', params, 'post', 'json')
+  },
+  /**
      * 完成任务提交
      * @param params
      * @returns {Promise<unknown>}
      */
-    completeTask(params) {
-        return fetch('/blade-project-manage-v2/userTask/v2/commit', params)
-    }
+  completeTask (params) {
+    return fetch('/blade-project-manage-v2/userTask/v2/commit', params)
+  }
 }

+ 6 - 1
src/components/basic-curd/index.vue

@@ -31,7 +31,7 @@
             <div class='flex flex-center'>
               <main-button icon="View" title="详情" width="85" v-if='option.viewBtn' @click="rowView(item,index)"/>
               <main-button icon="Download" v-if='[1].includes(item.type)' title="下载" width="85" @click="View(item)"/>
-              <main-button icon="Delete" title="删除" width="85" v-if='option.delBtn' @click="rowDel(item,index)"/>
+              <main-button icon="Delete" title="删除" width="85" v-if='option.delBtn || (user && user.info.userId === item.createUser)' @click="rowDel(item,index)"/>
               <slot name='menu' :row="item"></slot>
             </div>
           </div>
@@ -44,6 +44,7 @@
 
 <script>
 import mainButton from '@/components/main-button.vue'
+import { useStore } from '@/store/user.js'
 
 export default {
   name: 'index.vue',
@@ -69,6 +70,10 @@ export default {
       immediate: true
     }
   },
+  setup () {
+    const user = useStore()
+    return { user }
+  },
   methods: {
     rowDel (row, index) {
       this.$emit('rowDel', row, index)

+ 5 - 1
src/components/upload-file.vue

@@ -28,7 +28,7 @@
 
     <div class='custom full-width' style='height: 300px'>
       <el-empty v-if='tmpFileList.length === 0' description='暂无文件'/>
-      <div v-else>
+      <div v-else class='box'>
         <div v-for="item in tmpFileList" :key="item.name"
              class="flex flex-col full-width border-bottom padding-bottom ">
           <div class='full-width flex flex-justify-between'>
@@ -186,5 +186,9 @@ export default {
   :deep(.el-upload) {
     width: 100%;
   }
+  .box{
+    height: 300px;
+    overflow-x: scroll;
+  }
 }
 </style>

+ 1 - 9
src/views/home/component/authorize.vue

@@ -1,6 +1,6 @@
 <template>
   <div class='flex flex-justify-between flex-col  full-width '>
-    <div v-if='folderName' class='bold'>当前授权文件夹{{folderName}}</div>
+    <div v-if='folderName' class='bold'>授权当前文件夹 ({{folderName}})</div>
     <div class='flex flex-justify-start flex-align-center full-width' v-if='authorType'>
       <span class='bold'>授权模式:</span>
       <el-radio-group v-model='grantType'>
@@ -66,14 +66,6 @@
             format='YYYY-MM-DD'
         />
       </div>
-      <div class='full-width flex flex-align-center mt-10'>
-        <span class='font-14 bold'>授权方式</span>
-        <el-radio-group v-model="access" class='ml-20'>
-          <el-radio :label="1">应用到所以文件夹及文件</el-radio>
-          <el-radio :label="2">应用到子文件夹</el-radio>
-          <el-radio :label="3">应用到子文件夹的文件</el-radio>
-        </el-radio-group>
-      </div>
       <div class='full-width flex flex-align-center mt-10'>
         <span class='font-14 bold'>生成授权连接</span>
         <el-button circle class='ml-20' icon="Picture" type="danger" @click='initCode(2)'/>

+ 1 - 1
src/views/home/component/dash.vue

@@ -16,7 +16,7 @@
           <span class=" sp1 mt-5">{{ item.count }}<span class="grey font-14 ml-5">个</span></span>
         </div>
       </div>
-      <div v-if='permissions.permissions?.projectAdd' class='flex flex-center flex-justify-start'>
+      <div class='flex flex-center flex-justify-start'>
         <base-button class="ml-20 mt-20" icon="Plus" title="新增"
                      @click="showAdd = true"/>
 <!--        <base-button class="ml-20 mt-20" icon="Edit" title="项目导入"-->

+ 16 - 2
src/views/task/detail.vue

@@ -35,7 +35,7 @@
           完成任务
         </el-button>
       </div>
-      <basic-curd class='full-width' :data='data' :option='taskOption' @row-view='rowDetail'>
+      <basic-curd class='full-width' :data='data' :option='taskOption' @row-view='rowDetail' @row-del='rowDel'>
         <template #menu='{row}'>
           <main-button title='提交文件' v-if='row.type === 2' icon='Position' @click='postFile(row)'/>
         </template>
@@ -50,6 +50,7 @@
             multiple
             accept='.doc,.docx,.pdf,.xls,.xlsx,.png,.jpg,.jpeg,.ppt,pptx'
             show-file-list
+            :headers="{'Authorization':`Basic ${clientId}`}"
             :on-success='uploadSuccess'
         >
           <el-icon class="el-icon--upload">
@@ -84,12 +85,15 @@ import BasicContainer from '@/components/basic-container/main.vue'
 import basicCurd from '@/components/basic-curd/index.vue'
 import MainButton from '@/components/main-button.vue'
 import api from '@/api/index.js'
+import { Base64 } from 'js-base64'
+import website from '@/config/website.js'
 
 export default {
   name: 'detail',
   components: { MainButton, BasicContainer, basicCurd },
   data () {
     return {
+      clientId: '',
       showImage: false,
       imgList: [],
       show: false,
@@ -130,6 +134,7 @@ export default {
     this.id = this.$route.query.id
     this.taskId = this.$route.query.taskId
     this.detail()
+    this.clientId = Base64.encode(`${website.clientId}:${website.clientSecret}`)
   },
   methods: {
     detail () {
@@ -149,6 +154,15 @@ export default {
         }
       })
     },
+    rowDel (row) {
+      this.$api.task.taskRemove({ taskId: this.taskId, ids: row.id }).then(res => {
+        if (res.code === 200) {
+          this.$message.success(res.msg)
+        } else {
+          this.$message.error(res.msg)
+        }
+      })
+    },
     rowDetail (row, index) {
       if (row.type === 2) {
         const data = { folderId: row.folderId }
@@ -266,7 +280,7 @@ export default {
       const data = { dispatcherUser: this.currentFolder.dispatcherUser, folderId: this.currentFolder.folderId, files: this.fileList }
       this.$api.task.uploadFile(data).then(res => {
         if (res.code === 200) {
-          console.log(res)
+          this.show = false
         } else {
           this.$message.error(res.msg)
         }