licailing 4 سال پیش
والد
کامیت
b3b9794453

+ 5 - 3
src/main/java/com/izouma/wenlvju/service/performance/ProgrammeService.java

@@ -426,9 +426,9 @@ public class ProgrammeService {
     /*
     移除分组
      */
-    public void removeArrange(Long id) {
-        Arrange arrange = arrangeRepo.findById(id).orElseThrow(new BusinessException("无分组"));
+    public void removeArrange(Long id, Long arrangeId) {
         Programme programme = programmeRepo.findById(id).orElseThrow(new BusinessException("无记录"));
+        Arrange arrange = arrangeRepo.findById(arrangeId).orElseThrow(new BusinessException("无分组"));
         if (arrange.getAuditTimes() > 1) {
             programme.setReviewArrangeId(null);
             programmeRepo.save(programme);
@@ -439,6 +439,7 @@ public class ProgrammeService {
                     .distinct()
                     .collect(Collectors.toList());
             arrange.setSpecialtyId(specialtyIds);
+            arrange.setQuantity(arrange.getQuantity() - 1);
             arrangeRepo.save(arrange);
             return;
         }
@@ -446,12 +447,13 @@ public class ProgrammeService {
         programme.setArrangeId(null);
         programmeRepo.save(programme);
         // 此分组的专业,是否要移除专业
-        List<Long> specialtyIds = programmeRepo.findAllByArrangeId(id)
+        List<Long> specialtyIds = programmeRepo.findAllByArrangeId(arrangeId)
                 .stream()
                 .map(Programme::getParentSpecialtyId)
                 .distinct()
                 .collect(Collectors.toList());
         arrange.setSpecialtyId(specialtyIds);
+        arrange.setQuantity(arrange.getQuantity() - 1);
         arrangeRepo.save(arrange);
     }
 

+ 2 - 2
src/main/java/com/izouma/wenlvju/web/performance/ProgrammeController.java

@@ -116,8 +116,8 @@ public class ProgrammeController extends BaseController {
 
     @ApiOperation("移出分组")
     @PostMapping("/removeGroup/{id}")
-    public void removeGroup(@PathVariable Long id) {
-        programmeService.removeArrange(id);
+    public void removeGroup(@PathVariable Long id, @RequestParam Long arrangeId) {
+        programmeService.removeArrange(id, arrangeId);
     }
 
     @ApiOperation("加入分组")

+ 18 - 11
src/main/vue/src/views/performance/ProgGroupOnlineList.vue

@@ -173,16 +173,7 @@ export default {
     },
     created() {
         if (this.$route.query.aid) {
-            this.$http
-                .post('/arrange/all', { query: { id: this.$route.query.aid } }, { body: 'json' })
-                .then(res => {
-                    this.arrange = res.content;
-                    this.performanceId = res.content[0].performanceId;
-                })
-                .catch(e => {
-                    console.log(e);
-                    this.$message.error(e.error);
-                });
+            this.getArrange(this.$route.query.aid);
         }
     },
     computed: {
@@ -265,10 +256,13 @@ export default {
         removeRow(row) {
             this.$alert('移除将无法恢复,确认要移除么?', '警告', { type: 'error' })
                 .then(() => {
-                    return this.$http.post(`/programme/removeGroup/${row.id}`);
+                    return this.$http.post(`/programme/removeGroup/${row.id}`, {
+                        arrangeId: Number(this.$route.query.aid)
+                    });
                 })
                 .then(() => {
                     this.$message.success('移除成功');
+                    this.getArrange(this.$route.query.aid);
                     this.getData();
                 })
                 .catch(e => {
@@ -333,12 +327,25 @@ export default {
                 .then(res => {
                     this.showProgramme = false;
                     this.$message.success('添加成功');
+                    this.getArrange(this.$route.query.aid);
                     this.getData();
                 })
                 .catch(e => {
                     console.log(e);
                     this.$message.error(e.error);
                 });
+        },
+        getArrange(aid) {
+            this.$http
+                .post('/arrange/all', { query: { id: aid } }, { body: 'json' })
+                .then(res => {
+                    this.arrange = res.content;
+                    this.performanceId = res.content[0].performanceId;
+                })
+                .catch(e => {
+                    console.log(e);
+                    this.$message.error(e.error);
+                });
         }
     }
 };

+ 15 - 10
src/main/vue/src/views/performance/ProgrammeGroupList.vue

@@ -180,16 +180,7 @@ export default {
     },
     created() {
         if (this.$route.query.aid) {
-            this.$http
-                .post('/arrange/all', { query: { id: this.$route.query.aid } }, { body: 'json' })
-                .then(res => {
-                    this.arrange = res.content;
-                    this.performanceId = res.content[0].performanceId;
-                })
-                .catch(e => {
-                    console.log(e);
-                    this.$message.error(e.error);
-                });
+            this.getArrange(this.$route.query.aid);
         }
     },
     computed: {
@@ -276,6 +267,7 @@ export default {
                 })
                 .then(() => {
                     this.$message.success('移除成功');
+                    this.getArrange(this.$route.query.aid);
                     this.getData();
                 })
                 .catch(e => {
@@ -340,12 +332,25 @@ export default {
                 .then(res => {
                     this.showProgramme = false;
                     this.$message.success('添加成功');
+                    this.getArrange(this.$route.query.aid);
                     this.getData();
                 })
                 .catch(e => {
                     console.log(e);
                     this.$message.error(e.error);
                 });
+        },
+        getArrange(aid) {
+            this.$http
+                .post('/arrange/all', { query: { id: aid } }, { body: 'json' })
+                .then(res => {
+                    this.arrange = res.content;
+                    this.performanceId = res.content[0].performanceId;
+                })
+                .catch(e => {
+                    console.log(e);
+                    this.$message.error(e.error);
+                });
         }
     }
 };