Forráskód Böngészése

更改周报评分与评论列需在会议结束后才能展示

humingbo 1 éve
szülő
commit
b12a3cf030
1 módosított fájl, 71 hozzáadás és 33 törlés
  1. 71 33
      src/views/meeting/weeklyRecords.vue

+ 71 - 33
src/views/meeting/weeklyRecords.vue

@@ -3,10 +3,11 @@
     <div style="display: flex;justify-content: space-between;margin-bottom: 8px">
       <div style="font-size: 24px">{{ m.meetingName }}</div>
       <div>
+        <el-button v-if="m.status===1" size="mini" type="primary" @click="endMeetingClick(m)">结束会议
+        </el-button>
         <el-button size="mini" @click="meetingResultConfirm"  v-if="meetingResultConfirmVisible" type="primary"  style="margin-right: 20px">会议结果确认</el-button>
         <el-button size="mini" @click="exportPdf"  style="margin-right: 20px" v-if="workScoreVisible">导出</el-button>
       </div>
-
     </div>
     <el-descriptions title="" :column="2" :size="size" border>
       <el-descriptions-item>
@@ -43,10 +44,10 @@
           参会人员
         </template>
         <span v-if="m.innerAttendees!=''" v-for="(item,index) in JSON.parse(m.innerAttendees)">
-          <el-badge is-dot v-if="item.flag==='1'">
+          <el-badge is-dot v-if="item.flag==='1'" type="success">
           &nbsp;&nbsp;&nbsp; {{ item.name }}
           </el-badge>
-           <el-badge is-dot v-else type="info">
+           <el-badge is-dot v-else type="danger">
           &nbsp;&nbsp;&nbsp; {{ item.name }}
           </el-badge>
         </span>
@@ -102,7 +103,7 @@
       </el-table-column>
       <el-table-column prop="scores" label="评分" width="150" align="center" v-if="workScoreVisible">
         <template slot-scope="scope">
-          <el-input-number size="mini" :precision="2" :step="0.1" :max="10" :min="0" v-model="scope.row.score"
+          <el-input-number size="mini" :precision="2" :step="0.1" :max="10" :min="0" v-model="scope.row.score" :value="0"
                            @change="workComment(scope.row)">
             {{ scope.row.score }}
           </el-input-number>
@@ -195,6 +196,7 @@
 <script>
 
 import {
+  endMeeting,
   getMeetingByWeekss,
   getTaskScheduleRemark,
   getWeeksRecordsByWeeks, meetingAuthById, weekMeetingConfirms,
@@ -256,19 +258,25 @@ export default {
       projects:[],
       row:null,
       workScoreVisible:false,
-      meetingConfirms:[]
+      meetingConfirms:[],
+      permissions:null
     }
   },
   created() {
 
   },
-  mounted() {
-    this.meetingId = this.$route.query.meetingId;
-    this.weeks = this.$route.query.weeks;
-    this.getData()
+   mounted() {
+     this.meetingId = this.$route.query.meetingId;
+     this.weeks = this.$route.query.weeks;
+     this.getData()
   },
   methods: {
-    getData() {
+    async executeCreate(){
+      await this.getData()
+      this.setPermissions()
+    },
+    setPermissions(){
+      let loginUserId=this.$store.getters.userId
       //获取工作评分与工作评论权限
       let permissions= this.$store.getters.permissions;
       for(let i=0;i<permissions.length;i++){
@@ -278,25 +286,39 @@ export default {
         }
       }
 
+      let meeting=this.m;
+      let meetingStatus=meeting.status
+      let workScoreVisible=this.workScoreVisible
+      if(meetingStatus===2 && workScoreVisible===true){
+        this.workScoreVisible=true
+      }else{
+        this.workScoreVisible=false
+      }
+      let innerAttendess=JSON.parse(meeting.innerAttendees)
+      for(let i=0;i<innerAttendess.length;i++){
+        let user=innerAttendess[i]
+        if(Number(user.id)===Number(loginUserId)){
+          if(user.flag==='0' && meetingStatus===2){
+            this.meetingResultConfirmVisible=true
+            break
+          }
+        }
+      }
+    },
+    getData() {
       let loginUserId=this.$store.getters.userId
       let meetingId = this.meetingId
       let weeks = this.weeks
       if (meetingId != null && weeks != null) {
-        getWeeksRecordsByWeeks(meetingId, weeks).then(res => {
+         getWeeksRecordsByWeeks(meetingId, weeks).then(res => {
           this.tableData = res.data.workContent
           this.getSpanArr(this.tableData);
           this.m = res.data.meeting
-          let innerAttendess=JSON.parse(this.m.innerAttendees)
-          for(let i=0;i<innerAttendess.length;i++){
-            let user=innerAttendess[i]
-            if(Number(user.id)===Number(loginUserId)){
-              if(user.flag==='0'){
-                this.meetingResultConfirmVisible=true
-                break
-              }
-            }
-          }
-
+           let permissions=this.permissions;
+           if(permissions===null){
+             this.setPermissions();
+             this.permissions=1
+           }
         })
       } else {
         //获取当前周会会议id与所属周数
@@ -313,16 +335,6 @@ export default {
               this.tableData = res.data.workContent
               this.getSpanArr(this.tableData);
               this.m = res.data.meeting
-              let innerAttendess=JSON.parse(this.m.innerAttendees)
-              for(let i=0;i<innerAttendess.length;i++){
-                let user=innerAttendess[i]
-                if(Number(user.id)===Number(loginUserId)){
-                  if(user.flag==='0'){
-                    this.meetingResultConfirmVisible=true
-                    break
-                  }
-                }
-              }
             })
           } else {
             this.tableData = []
@@ -410,6 +422,11 @@ export default {
       });
     },
     workMeetingsUpdate(m){
+      let status=m.status
+      if(status===2){
+        this.$message.error("会议已经结束,不能更改会议相关信息!")
+        return
+      }
       workMeetingsUpdates(m).then(res => {
         this.$message({
           message: '操作成功!',
@@ -596,7 +613,28 @@ export default {
     },
     closeWorkPlanWin(){
       this.getData()
-    }
+    },
+    endMeetingClick(row) {
+      let id = row.id;
+      let remark=row.remark
+      meetingAuthById(id).then(res => {
+        if (res.success === false) {
+          this.$message.error(res.data)
+        } else {
+          if(remark===undefined || remark===null || remark==='' || remark.replace(/\s+/g, "")===''){
+            this.$message.error("请将参会情况填写完整!")
+          }else{
+            endMeeting(id).then(res => {
+              this.$message({
+                message: '操作成功!',
+                type: 'success'
+              });
+              this.getData();
+            })
+          }
+        }
+      })
+    },
   }
 }
 </script>