Преглед изворни кода

增加会议操作权限控制

humingbo пре 1 година
родитељ
комит
d82f4eab4e
2 измењених фајлова са 94 додато и 37 уклоњено
  1. 25 0
      src/api/meeting/meeting.js
  2. 69 37
      src/views/meeting/meeting.vue

+ 25 - 0
src/api/meeting/meeting.js

@@ -200,3 +200,28 @@ export function startMeetingById(id){
     method: 'get'
   })
 }
+
+/**
+ * 会议权限查询
+ * @param id
+ * @returns {*}
+ */
+export function meetingAuthById(id){
+  return request({
+    url: '/meeting/meetingAuth?meetingId='+id,
+    method: 'get'
+  })
+}
+
+/**
+ * 验证会议删除权限
+ * @param id
+ * @returns {*}
+ */
+export function meetingDeleteAuth(id){
+  return request({
+    url: '/meeting/meetingDeleteAuth?meetingId='+id,
+    method: 'get'
+  })
+}
+

+ 69 - 37
src/views/meeting/meeting.vue

@@ -397,7 +397,7 @@ import {
   getMeetingsByPage,
   deleteMeeting,
   getMeetingDetailsById,
-  deleteMeetingContentById, saveMeetingOptionss, confirmMeetings, startMeetingById
+  deleteMeetingContentById, saveMeetingOptionss, confirmMeetings, startMeetingById, meetingAuthById, meetingDeleteAuth
 } from '@/api/meeting/meeting'
 import {getDeptUserTree} from '@/api/system/user'
 import {getProjectList} from "@/api/task/project";
@@ -560,6 +560,16 @@ export default {
       }
 
     },
+    async meetingAuth(id){
+     await  meetingAuthById(id).then(res=>{
+        let flag=true
+        if(res.success===false){
+          flag=false
+          this.$message.error(res.data)
+        }
+        return flag;
+      });
+    },
     submitForm(row,str) {
       this.$refs["form"].validate((valid) => {
         if (valid) {
@@ -601,13 +611,21 @@ export default {
     deleteMeeting(row) {
       //删除会议
       let id = row.id;
-      deleteMeeting(id).then(() => {
-        this.$message({
-          message: '操作成功!',
-          type: 'success'
-        });
-        this.getData(this.formInline);
-      })
+      //验证会议删除权限--创建者才能删除
+      meetingDeleteAuth(id).then(res=>{
+        if (res.success === false) {
+          this.$message.error(res.data)
+        }else{
+          deleteMeeting(id).then(() => {
+            this.$message({
+              message: '操作成功!',
+              type: 'success'
+            });
+            this.getData(this.formInline);
+          })
+        }
+      });
+
     },
     confirmMeeting(row) {
       let status=row.status;
@@ -710,12 +728,18 @@ export default {
     },
     startMeeting(row){
       let id=row.id;
-      startMeetingById(id).then(res => {
-        this.$message({
-          message: '操作成功!',
-          type: 'info'
-        });
-        this.getData(this.formInline);
+      meetingAuthById(id).then(res=> {
+        if (res.success === false) {
+          this.$message.error(res.data)
+        }else{
+          startMeetingById(id).then(res => {
+            this.$message({
+              message: '操作成功!',
+              type: 'info'
+            });
+            this.getData(this.formInline);
+          })
+        }
       })
     },
     openUsers() {
@@ -802,31 +826,39 @@ export default {
       this.closeUser1Dialog()
     },
     handleEdit(row) {
-      getProjectList("").then(res => {
-        this.projectList = res.data;
-      })
-      getMeetingDetailsById(row.id).then(res => {
-        let data = res.data
-        this.editForm = data
-        let users = JSON.parse(data.innerAttendees)
-        this.editForm.innerAttendees = ''
-        for (let i = 0; i < users.length; i++) {
-          this.editForm.innerAttendees += users[i].name + ','
+      let meetingId=row.id
+      meetingAuthById(meetingId).then(res=>{
+        if (res.success === false) {
+          this.$message.error(res.data)
+        }else{
+          getProjectList("").then(res => {
+            this.projectList = res.data;
+          })
+          getMeetingDetailsById(row.id).then(res => {
+            let data = res.data
+            this.editForm = data
+            let users = JSON.parse(data.innerAttendees)
+            this.editForm.innerAttendees = ''
+            for (let i = 0; i < users.length; i++) {
+              this.editForm.innerAttendees += users[i].name + ','
+            }
+            this.editForm.innerAttendees = this.editForm.innerAttendees.substring(0, this.editForm.innerAttendees.length - 1)
+            this.editForm.innerAttendesss = users;
+            this.editForm.innerAttendUsers = this.editForm.innerAttendees
+            this.editForm.meetingType = data.meetingType
+            let time = [];
+            time.push(data.beginTime);
+            time.push(data.endTime);
+            this.editForm.time = time;
+            this.editForm.startTime=data.beginTime
+            this.editForm.endTime=data.endTime
+            this.editForm.duration=data.duration
+            this.title = '修改会议'
+            this.editFormVisible = true
+          });
         }
-        this.editForm.innerAttendees = this.editForm.innerAttendees.substring(0, this.editForm.innerAttendees.length - 1)
-        this.editForm.innerAttendesss = users;
-        this.editForm.innerAttendUsers = this.editForm.innerAttendees
-        this.editForm.meetingType = data.meetingType
-        let time = [];
-        time.push(data.beginTime);
-        time.push(data.endTime);
-        this.editForm.time = time;
-        this.editForm.startTime=data.beginTime
-        this.editForm.endTime=data.endTime
-        this.editForm.duration=data.duration
-        this.title = '修改会议'
-        this.editFormVisible = true
       });
+
     },
     chooseMeeting() {
       let val = this.formInline.meetingEternal;