Przeglądaj źródła

Merge branch 'dev' of licailing/wenlvju into master

licailing 4 lat temu
rodzic
commit
34d032ea39

+ 2 - 2
src/main/java/com/izouma/wenlvju/domain/Rate.java

@@ -114,10 +114,10 @@ public class Rate extends BaseEntity {
     private LocalDateTime applyTime;
 
     @ApiModelProperty(value = "审核开始时间")
-    private LocalDate reviewStartTime;
+    private LocalDateTime reviewStartTime;
 
     @ApiModelProperty(value = "审核结束时间")
-    private LocalDate reviewEndTime;
+    private LocalDateTime reviewEndTime;
 
     @ApiModelProperty(value = "审查时间")
     private LocalDateTime reviewTime;

+ 7 - 7
src/main/java/com/izouma/wenlvju/service/RateService.java

@@ -79,8 +79,8 @@ public class RateService {
                         throw new BusinessException("专家组长或组员不能为空");
                     }
                     Map<String, String> map = this.reviewTimesMessage(orig);
-                    njwlSmsService.sendSms(map.get("phone"), map.get("message"));
-                    njwlSmsService.sendSms(map.get("phone1"), map.get("message1"));
+//                    njwlSmsService.sendSms(map.get("phone"), map.get("message"));
+//                    njwlSmsService.sendSms(map.get("phone1"), map.get("message1"));
                     break;
                 case SUBMIT_GRADE:// 专家组提交成绩 4
                     orig.setUndertakeExamination(examination);
@@ -121,16 +121,16 @@ public class RateService {
     /*
     线下退回
      */
-    public void offline(Long id, Long userId) {
+    public void offline(Long id, Long userId, RateStatus status) {
         Rate rate = rateRepo.findById(id).orElseThrow(new BusinessException("无记录"));
-        rate.setStatus(RateStatus.REVIEW_PENDING);
+        rate.setStatus(status);
         rate.setSort(rate.getStatus().getSort());
         rateRepo.save(rate);
         RateAudit rateAudit = RateAudit.builder()
                 .userId(userId)
                 .rateId(id)
-                .remark("线下考察材料提交不全,被退回!")
-                .status(RateStatus.REVIEW_PENDING)
+                .remark(RateStatus.REVIEW_PENDING.equals(status) ? "线下考察材料提交不全,被退回!" : "已取消专家组分配!")
+                .status(status)
                 .build();
         rateAuditRepo.save(rateAudit);
     }
@@ -510,7 +510,7 @@ public class RateService {
                 "检查日期:%s\n" +
                 "组长:%s-%s";
 
-        DateTimeFormatter dtf = DateTimeFormatter.ofPattern(DateConfig.DEFAULT_DATE_FORMAT);
+        DateTimeFormatter dtf = DateTimeFormatter.ofPattern(DateConfig.DEFAULT_DATE_TIME_FORMAT);
 
         User user = userMap.get(rate.getExpertUserId());
         StringBuilder sb = new StringBuilder();

+ 0 - 1
src/main/java/com/izouma/wenlvju/service/UserService.java

@@ -252,7 +252,6 @@ public class UserService {
             names.forEach(name -> and.add(criteriaBuilder.notLike(root.get("work"), "%" + name + "%")));
             return criteriaBuilder.and(and.toArray(new Predicate[0]));
         }), JpaUtils.toPageRequest(pageQuery)).map(user -> new ExpertDTO(user, artMap.get(user.getArtTypeId())));
-//        return this.all2(pageQuery, authorities).map(user -> new ExpertDTO(user, artMap.get(user.getArtTypeId())));
     }
 
 

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

@@ -122,8 +122,8 @@ public class RateController extends BaseController {
 
     @OperLog(value = "等级评定", type = "退回", desc = "对等级评定申请进行操作")
     @PostMapping("/offline")
-    public void offline(@RequestParam Long id) {
-        rateService.offline(id, SecurityUtils.getAuthenticatedUser().getId());
+    public void offline(@RequestParam Long id, RateStatus status) {
+        rateService.offline(id, SecurityUtils.getAuthenticatedUser().getId(), status);
     }
 
 

+ 5 - 2
src/main/java/com/izouma/wenlvju/web/UserController.java

@@ -120,8 +120,11 @@ public class UserController extends BaseController {
     }
 
     @PostMapping("/expert")
-    public Page<ExpertDTO> expert(@RequestParam Long rateId) {
-        return userService.all3(rateId);
+    public Page<ExpertDTO> expert(@RequestBody PageQuery pageQuery) {
+        List<Authority> authorities = new ArrayList<>();
+        authorities.add(Authority.get(AuthorityName.ROLE_DISTRICT_STAFF));
+        authorities.add(Authority.get(AuthorityName.ROLE_EXPERT));
+        return userService.all1(pageQuery, authorities);
     }
 
     @PreAuthorize("hasRole('ADMIN')")

+ 12 - 2
src/main/vue/src/views/Login.vue

@@ -114,6 +114,15 @@
                             ></el-option>
                         </el-select>
                     </el-form-item>
+                    <el-form-item
+                        label="是否加入联盟"
+                        :rules="{ required: true, message: '请选择是否加入联盟', trigger: 'blur' }"
+                    >
+                        <el-select v-model="alliance" style="width: 350px" placeholder="请选择是否加入联盟">
+                            <el-option label="已加入" :value="true"></el-option>
+                            <el-option label="未加入" :value="false"></el-option>
+                        </el-select>
+                    </el-form-item>
                     <!-- <el-form-item
                         prop="businessLicense"
                         :rules="{ required: true, message: '请上传营业执照', trigger: 'blur' }"
@@ -255,7 +264,8 @@ export default {
                     },
                     { required: true, message: '请再次输入密码', trigger: 'blur' }
                 ]
-            }
+            },
+            alliance: ''
         };
         var validatePass = (rule, value, callback) => {
             if (value === '') {
@@ -495,7 +505,7 @@ export default {
         color: #313233;
         line-height: 33px;
         text-align: center;
-        padding: 50px 0 45px;
+        padding: 45px 0 40px;
     }
     .register-title {
         color: #20a0ff;

+ 50 - 16
src/main/vue/src/views/rate/AssignExpert.vue

@@ -60,8 +60,8 @@
             <el-form-item prop="reviewTime" label="审核时间">
                 <el-date-picker
                     v-model="dateRange"
-                    type="daterange"
-                    value-format="yyyy-MM-dd"
+                    type="datetimerange"
+                    value-format="yyyy-MM-dd HH:mm:ss"
                     start-placeholder="请选择开始时间"
                     end-placeholder="请选择结束时间"
                     range-separator="至"
@@ -118,10 +118,22 @@
                     </el-table>
                 </div>
             </el-form-item>
+            <el-form-item label="变更地址">
+                <el-switch v-model="formData.change"></el-switch>
+                <el-input type="textarea" :rows="3" v-if="formData.change" placeholder="请输入新地址"></el-input>
+            </el-form-item>
             <el-form-item class="fixed-btn">
                 <el-button @click="onSave" :loading="saving" type="primary" v-if="formData.status == 'ASSIGN_EXPERT'"
                     >保存</el-button
                 >
+                <el-button
+                    type="danger"
+                    v-if="formData.status == 'REVIEW_PENDING'"
+                    @click="saveDismiss"
+                    :loading="loading"
+                >
+                    退回
+                </el-button>
                 <el-button @click="$router.go(-1)">返回</el-button>
             </el-form-item>
         </el-form>
@@ -140,20 +152,22 @@ export default {
                         this.dateRange.push(res.reviewStartTime);
                         this.dateRange.push(res.reviewEndTime);
                     }
-                    this.$http.post('/user/expert', { rateId: this.$route.query.id }).then(data => {
-                        this.users = data.content;
-                        data.content.forEach(item => {
-                            let nickname = item.nickname;
-                            if (nickname.length < 3) {
-                                nickname = nickname.slice(0, 1) + ' ' + nickname.slice(1);
-                            }
-                            this.expert.push({
-                                label: nickname + '--' + item.phone + '--' + item.artType,
-                                value: item.id
+                    this.$http
+                        .post('/user/expert', { size: 1000, query: { del: false } }, { body: 'json' })
+                        .then(data => {
+                            this.users = data.content;
+                            data.content.forEach(item => {
+                                let nickname = item.nickname;
+                                if (nickname.length < 3) {
+                                    nickname = nickname.slice(0, 1) + ' ' + nickname.slice(1);
+                                }
+                                this.expert.push({
+                                    label: nickname + '--' + item.phone + '--' + item.artType,
+                                    value: item.id
+                                });
                             });
+                            this.getEmp(res);
                         });
-                        this.getEmp(res);
-                    });
                     this.$http
                         .post(
                             '/rateExpertAudit/all',
@@ -212,7 +226,6 @@ export default {
             emps: [],
             employeeId: '',
             employeeIds: [],
-            userPackage: [],
             dateRange: [],
             audits: [],
             grading: [],
@@ -228,7 +241,8 @@ export default {
             },
             readonly: true,
             collaborates: [],
-            expert: []
+            expert: [],
+            loading: false
         };
     },
     methods: {
@@ -316,6 +330,26 @@ export default {
                 };
                 return info;
             });
+        },
+        saveDismiss() {
+            this.loading = true;
+            this.$alert('短信已发送,确认退回吗?', '警告', { type: 'error' })
+                .then(() => {
+                    return this.$http.post('/rate/offline', {
+                        id: this.$route.query.id,
+                        status: 'ASSIGN_EXPERT'
+                    });
+                })
+                .then(res => {
+                    this.loading = false;
+                    this.$message.success('退回成功');
+                    this.$router.go(-1);
+                })
+                .catch(e => {
+                    this.loading = false;
+                    console.log(e);
+                    this.$message.error(e.error);
+                });
         }
     }
 };

+ 2 - 1
src/main/vue/src/views/rate/GradeList.vue

@@ -363,7 +363,8 @@ export default {
             this.loading = true;
             this.$http
                 .post('/rate/offline', {
-                    id: this.$route.query.id
+                    id: this.$route.query.id,
+                    status: 'REVIEW_PENDING'
                 })
                 .then(res => {
                     this.loading = false;