XuZinan 3 лет назад
Родитель
Сommit
df2fad777a
1 измененных файлов с 86 добавлено и 5 удалено
  1. 86 5
      pages/Project/detail.vue

+ 86 - 5
pages/Project/detail.vue

@@ -90,15 +90,27 @@
       </view>
     </view>
 
-    <view class="title"
-      >审核详情
+    <view class="title">审核详情 </view>
+    <view class="list">
       <uni-steps
         :options="nodeList.list"
         :active="nodeList.currentIndex"
         direction="column"
-      ></uni-steps>
+      />
     </view>
 
+    <uni-card title="操作">
+      <view class="editBtns" slot="actions">
+        <view class="edit" v-if="canEdit(0)">编辑</view>
+        <view class="edit" v-if="canEdit(0)">删除</view>
+        <view class="edit" v-if="canEdit(0)">提交审核</view>
+        <view class="edit" v-if="canEdit(1)">成员管理</view>
+        <view class="edit" v-if="canEdit(2)">转执行</view>
+        <view class="edit" v-if="canEdit(3)">转质保</view>
+        <view class="edit" v-if="canEdit(3)">转运营</view>
+      </view>
+    </uni-card>
+
     <view class="group">
       <button v-if="canAuth()" @click="onHandleAudit(0)" class="commit">
         审核拒绝
@@ -155,7 +167,6 @@ export default {
       let res;
       res = await queryFlow();
       this.flowList = res.data;
-      console.log(this.nodeList);
     },
     canAuth() {
       return this.auth;
@@ -180,6 +191,64 @@ export default {
             .join(",");
       }
     },
+    canEdit(index) {
+      const user = uni.getStorageSync("user");
+      let {
+        audit_status,
+        project_status,
+        author,
+        LeaderId,
+        opt_manager_id,
+        wty_manager_id,
+      } = this.currentProject;
+      //audit_status: 0未提审1审核中2审核拒绝3审核通过
+      //project_status: 0售前1执行2转运营3转质保
+      switch (index) {
+        //编辑删除提审
+        case 0:
+          //售前阶段,未提审/审核被拒,创建人/管理员
+          return (
+            project_status == 0 &&
+            (audit_status == 0 || audit_status == 2) &&
+            (user.ID == author || user.IsSuper)
+          );
+        //成员管理
+        case 1:
+          //售前/执行/运营/质保,审核通过,项目经理/管理员
+          let manager;
+          switch (project_status) {
+            case 0:
+              manager = author;
+              break;
+            case 1:
+              manager = LeaderId;
+              break;
+            case 2:
+              manager = opt_manager_id;
+              break;
+            case 3:
+              manager = wty_manager_id;
+              break;
+          }
+          return audit_status == 3 && (user.ID == manager || user.IsSuper);
+        //转执行
+        case 2:
+          //售前,审核通过,售前经理/管理员
+          return (
+            project_status == 0 &&
+            audit_status == 3 &&
+            (user.ID == author || user.IsSuper)
+          );
+        //转质保运营
+        case 3:
+          //执行,审核通过,执行经理/管理员
+          return (
+            project_status == 1 &&
+            audit_status == 3 &&
+            (user.ID == LeaderId || user.IsSuper)
+          );
+      }
+    },
   },
 };
 </script>
@@ -192,7 +261,6 @@ export default {
 .title {
   width: 100%;
   padding: 0 20px 20px 20px;
-  background: #f8f8f8;
   font: 24px bold;
 }
 .list {
@@ -223,6 +291,19 @@ export default {
   }
 }
 
+.editBtns {
+  display: flex;
+  justify-content: space-around;
+  flex-wrap: wrap;
+  margin: 0 5%;
+  .edit {
+    width: 30%;
+    margin-bottom: 20px;
+    font-size: 16px;
+    text-align: center;
+  }
+}
+
 .group {
   width: 100%;
   display: flex;