licailing 5 жил өмнө
parent
commit
28ead4a06a

+ 0 - 1
src/main/java/com/izouma/dingdong/domain/backstage/Email.java

@@ -11,7 +11,6 @@ import org.hibernate.annotations.Where;
 
 
 import javax.persistence.Column;
 import javax.persistence.Column;
 import javax.persistence.Entity;
 import javax.persistence.Entity;
-import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.LocalDateTime;
 
 
 @Data
 @Data

+ 24 - 14
src/main/java/com/izouma/dingdong/service/OrderInfoService.java

@@ -288,19 +288,6 @@ public class OrderInfoService {
                 //待取餐
                 //待取餐
                 orderInfo.setRiderStatus(RiderStatus.ARRIVE);
                 orderInfo.setRiderStatus(RiderStatus.ARRIVE);
                 break;
                 break;
-            /*case TAKE_MEAL:
-                if (!RiderStatus.ARRIVE.equals(riderStatus)) {
-                    throw new BusinessException("订单状态错误");
-                }
-                if (StrUtil.isEmpty(img)) {
-                    throw new BusinessException("照片不能为空");
-                }
-                orderInfo.setPickupPhotos(img);
-                //已取餐 待送达
-                orderInfo.setRiderStatus(RiderStatus.TAKE_MEAL);
-                //商家状态已完成
-                orderInfo.setMerchantStatus(MerchantStatus.CARRY_OUT);
-                break;*/
             case CARRY_OUT:
             case CARRY_OUT:
                 if (!RiderStatus.TAKE_MEAL.equals(riderStatus)) {
                 if (!RiderStatus.TAKE_MEAL.equals(riderStatus)) {
                     throw new BusinessException("订单状态错误");
                     throw new BusinessException("订单状态错误");
@@ -349,6 +336,30 @@ public class OrderInfoService {
         orderInfoRepo.save(orderInfo);
         orderInfoRepo.save(orderInfo);
     }
     }
 
 
+    /*
+    骑手强制已到店,已送达
+    */
+    public void mandatory(Long orderId,RiderStatus status){
+        OrderInfo orderInfo = orderInfoRepo.findById(orderId).orElseThrow(new BusinessException("无订单"));
+        switch (status){
+            case ARRIVE:
+                //待取餐
+                orderInfo.setRiderStatus(RiderStatus.ARRIVE);
+                break;
+            case CARRY_OUT:
+                //已送达
+                orderInfo.setRiderStatus(RiderStatus.CARRY_OUT);
+                orderInfo.setUserReceivedTime(LocalDateTime.now());
+                orderInfo.setStatus(OrderStatus.RATED);
+
+                //支付价钱
+                orderRefundApplyService.orderCarryOut(orderId);
+                //添加销量数据
+                salesService.addSale(orderInfo);
+                break;
+        }
+    }
+
     /**
     /**
      * 按用户ID查出用户/商家/骑手订单
      * 按用户ID查出用户/商家/骑手订单
      *
      *
@@ -513,5 +524,4 @@ public class OrderInfoService {
 
 
         return dto;
         return dto;
     }
     }
-
 }
 }

+ 6 - 0
src/main/java/com/izouma/dingdong/service/UserService.java

@@ -60,6 +60,7 @@ public class UserService {
                     .authorities(Collections.singleton(Authority.getInstance(Authority.NAMES.ROLE_USER)))
                     .authorities(Collections.singleton(Authority.getInstance(Authority.NAMES.ROLE_USER)))
                     .identity(identity)
                     .identity(identity)
                     .money(BigDecimal.ZERO)
                     .money(BigDecimal.ZERO)
+                    .notOrder(0)
                     .enabled(true)
                     .enabled(true)
                     .build();
                     .build();
             if (StrUtil.isNotBlank(password)) {
             if (StrUtil.isNotBlank(password)) {
@@ -97,6 +98,7 @@ public class UserService {
                 .blacklist(false)
                 .blacklist(false)
                 .enabled(true)
                 .enabled(true)
                 .money(BigDecimal.ZERO)
                 .money(BigDecimal.ZERO)
+                .notOrder(0)
                 .build();
                 .build();
 
 
         return userRepo.save(user);
         return userRepo.save(user);
@@ -118,6 +120,7 @@ public class UserService {
                     .identity(identity)
                     .identity(identity)
                     .enabled(true)
                     .enabled(true)
                     .avatar(Constants.DEFAULT_AVATAR)
                     .avatar(Constants.DEFAULT_AVATAR)
+                    .notOrder(0)
                     .build();
                     .build();
             userRepo.save(user);
             userRepo.save(user);
         }
         }
@@ -141,6 +144,7 @@ public class UserService {
                     .language(wxMpUser.getLanguage())
                     .language(wxMpUser.getLanguage())
                     .enabled(true)
                     .enabled(true)
                     .authorities(Collections.singleton(Authority.builder().name("ROLE_USER").build()))
                     .authorities(Collections.singleton(Authority.builder().name("ROLE_USER").build()))
+                    .notOrder(0)
                     .build();
                     .build();
             userRepo.save(user);
             userRepo.save(user);
         }
         }
@@ -163,6 +167,7 @@ public class UserService {
                     .avatar(Constants.DEFAULT_AVATAR)
                     .avatar(Constants.DEFAULT_AVATAR)
                     .enabled(true)
                     .enabled(true)
                     .authorities(Collections.singleton(Authority.builder().name("ROLE_USER").build()))
                     .authorities(Collections.singleton(Authority.builder().name("ROLE_USER").build()))
+                    .notOrder(0)
                     .build();
                     .build();
             userInfo = userRepo.save(userInfo);
             userInfo = userRepo.save(userInfo);
             return userInfo;
             return userInfo;
@@ -207,6 +212,7 @@ public class UserService {
                     .city(wxUserInfo.getCity())
                     .city(wxUserInfo.getCity())
                     .enabled(true)
                     .enabled(true)
                     .authorities(Collections.singleton(Authority.builder().name("ROLE_USER").build()))
                     .authorities(Collections.singleton(Authority.builder().name("ROLE_USER").build()))
+                    .notOrder(0)
                     .build();
                     .build();
             user = userRepo.save(user);
             user = userRepo.save(user);
 
 

+ 10 - 0
src/main/java/com/izouma/dingdong/web/OrderInfoController.java

@@ -179,5 +179,15 @@ public class OrderInfoController extends BaseController {
     public void pickupPhotos(Long orderId, RiderStatus status, String img) {
     public void pickupPhotos(Long orderId, RiderStatus status, String img) {
         orderInfoService.pickupPhotos(orderId, status, img);
         orderInfoService.pickupPhotos(orderId, status, img);
     }
     }
+
+    /*
+    骑手强制已到店,已送达
+     */
+    @GetMapping("/")
+    @ApiOperation("强制")
+    public void mandatory(Long orderId, RiderStatus status) {
+        orderInfoService.mandatory(orderId, status);
+    }
+
 }
 }
 
 

+ 241 - 230
src/main/vue/src/views/Login.vue

@@ -1,31 +1,32 @@
 <template>
 <template>
     <div class="container"
     <div class="container"
-        :style="{backgroundImage :'url(' + require('../assets/bg_login.jpg') + ')'}">
+         :style="{backgroundImage :'url(' + require('../assets/bg_login.jpg') + ')'}">
         <transition :name="`slide-${register?'in':'out'}`">
         <transition :name="`slide-${register?'in':'out'}`">
             <div class="login-wrapper" @keyup.enter="doRegister" v-if="register"
             <div class="login-wrapper" @keyup.enter="doRegister" v-if="register"
-                key="register">
+                 key="register">
 
 
                 <el-page-header @back="register=false" title="登录"
                 <el-page-header @back="register=false" title="登录"
-                    style="width: 350px;line-height: 60px;">
+                                style="width: 350px;line-height: 60px;">
                     <div class="register-title" slot="content">注册账号</div>
                     <div class="register-title" slot="content">注册账号</div>
                 </el-page-header>
                 </el-page-header>
 
 
                 <el-form :model="registerInfo" style="width: 350px"
                 <el-form :model="registerInfo" style="width: 350px"
-                    ref="registerForm">
+                         ref="registerForm">
                     <el-form-item prop="username"
                     <el-form-item prop="username"
-                        :rules="{required: true, message: '请输入用户名', trigger: 'blur'}">
+                                  :rules="{required: true, message: '请输入用户名', trigger: 'blur'}">
                         <el-input v-model="registerInfo.username"
                         <el-input v-model="registerInfo.username"
-                            placeholder="用户名">
+                                  placeholder="用户名">
                         </el-input>
                         </el-input>
                     </el-form-item>
                     </el-form-item>
                     <el-form-item prop="password"
                     <el-form-item prop="password"
-                        :rules="{required: true, message: '请输入密码', trigger: 'blur'}">
+                                  :rules="{required: true, message: '请输入密码', trigger: 'blur'}">
                         <el-input v-model="registerInfo.password"
                         <el-input v-model="registerInfo.password"
-                            placeholder="密码" type="password"></el-input>
+                                  placeholder="密码" type="password"></el-input>
                     </el-form-item>
                     </el-form-item>
                     <el-form-item>
                     <el-form-item>
                         <el-button :loading="loading" @click="doRegister"
                         <el-button :loading="loading" @click="doRegister"
-                            type="primary" style="width: 100%;">注册</el-button>
+                                   type="primary" style="width: 100%;">注册
+                        </el-button>
                     </el-form-item>
                     </el-form-item>
                 </el-form>
                 </el-form>
             </div>
             </div>
@@ -34,21 +35,21 @@
                 <el-tabs v-model="activeName" stretch class="tab-list">
                 <el-tabs v-model="activeName" stretch class="tab-list">
                     <el-tab-pane label="用户名登陆" name="first">
                     <el-tab-pane label="用户名登陆" name="first">
                         <el-form :model="userInfo" style="width: 350px"
                         <el-form :model="userInfo" style="width: 350px"
-                            ref="form">
+                                 ref="form">
                             <el-form-item prop="username"
                             <el-form-item prop="username"
-                                :rules="{required: true, message: '请输入用户名', trigger: 'blur'}">
+                                          :rules="{required: true, message: '请输入用户名', trigger: 'blur'}">
                                 <el-input v-model="userInfo.username"
                                 <el-input v-model="userInfo.username"
-                                    placeholder="用户名">
+                                          placeholder="用户名">
                                 </el-input>
                                 </el-input>
                             </el-form-item>
                             </el-form-item>
                             <el-form-item prop="password"
                             <el-form-item prop="password"
-                                :rules="{required: true, message: '请输入密码', trigger: 'blur'}">
+                                          :rules="{required: true, message: '请输入密码', trigger: 'blur'}">
                                 <el-input v-model="userInfo.password"
                                 <el-input v-model="userInfo.password"
-                                    placeholder="密码" type="password"></el-input>
+                                          placeholder="密码" type="password"></el-input>
                             </el-form-item>
                             </el-form-item>
                             <el-form-item>
                             <el-form-item>
                                 <el-button :loading="loading" @click="login"
                                 <el-button :loading="loading" @click="login"
-                                    type="primary" style="width: 100%;">登录
+                                           type="primary" style="width: 100%;">登录
                                 </el-button>
                                 </el-button>
                             </el-form-item>
                             </el-form-item>
                             <!-- <el-form-item>
                             <!-- <el-form-item>
@@ -60,29 +61,29 @@
                                 <el-checkbox v-model="rememberMe">7天内免登录
                                 <el-checkbox v-model="rememberMe">7天内免登录
                                 </el-checkbox>
                                 </el-checkbox>
                                 <el-button type="text" style="float: right;"
                                 <el-button type="text" style="float: right;"
-                                    @click="register=true">注册账号
+                                           @click="register=true">注册账号
                                 </el-button>
                                 </el-button>
                             </el-form-item>
                             </el-form-item>
                         </el-form>
                         </el-form>
                     </el-tab-pane>
                     </el-tab-pane>
                     <el-tab-pane label="验证码登陆" name="second">
                     <el-tab-pane label="验证码登陆" name="second">
                         <el-form :model="userInfo" style="width: 350px"
                         <el-form :model="userInfo" style="width: 350px"
-                            ref="form2">
+                                 ref="form2">
                             <el-form-item prop="phone"
                             <el-form-item prop="phone"
-                                :rules="{required: true, message: '请输入手机号', trigger: 'blur'}">
+                                          :rules="{required: true, message: '请输入手机号', trigger: 'blur'}">
                                 <el-input v-model="userInfo.phone" name="phone"
                                 <el-input v-model="userInfo.phone" name="phone"
-                                    placeholder="手机号">
+                                          placeholder="手机号">
                                 </el-input>
                                 </el-input>
                             </el-form-item>
                             </el-form-item>
                             <el-form-item prop="code"
                             <el-form-item prop="code"
-                                :rules="{required: true, message: '验证码', trigger: 'blur'}">
+                                          :rules="{required: true, message: '验证码', trigger: 'blur'}">
                                 <div class="code">
                                 <div class="code">
                                     <el-input v-model="userInfo.code"
                                     <el-input v-model="userInfo.code"
-                                        placeholder="请输入验证码"></el-input>
+                                              placeholder="请输入验证码"></el-input>
 
 
                                     <el-button :loading="sending"
                                     <el-button :loading="sending"
-                                        @click="sendMsg" type="primary"
-                                        :disabled="time!==0">
+                                               @click="sendMsg" type="primary"
+                                               :disabled="time!==0">
                                         {{time ===0 ? '发送验证码' : `重新发送(${time}s)`}}
                                         {{time ===0 ? '发送验证码' : `重新发送(${time}s)`}}
                                     </el-button>
                                     </el-button>
                                 </div>
                                 </div>
@@ -94,14 +95,15 @@
                             </el-form-item> -->
                             </el-form-item> -->
                             <el-form-item>
                             <el-form-item>
                                 <el-button :loading="loading"
                                 <el-button :loading="loading"
-                                    @click="phonelogin" type="primary"
-                                    style="width: 100%;">手机登录</el-button>
+                                           @click="phonelogin" type="primary"
+                                           style="width: 100%;">手机登录
+                                </el-button>
                             </el-form-item>
                             </el-form-item>
                             <el-form-item label="">
                             <el-form-item label="">
                                 <el-checkbox v-model="rememberMe">7天内免登录
                                 <el-checkbox v-model="rememberMe">7天内免登录
                                 </el-checkbox>
                                 </el-checkbox>
                                 <el-button type="text" style="float: right;"
                                 <el-button type="text" style="float: right;"
-                                    @click="register=true">注册账号
+                                           @click="register=true">注册账号
                                 </el-button>
                                 </el-button>
                             </el-form-item>
                             </el-form-item>
                         </el-form>
                         </el-form>
@@ -113,224 +115,233 @@
     </div>
     </div>
 </template>
 </template>
 <script>
 <script>
-export default {
-    data() {
-        return {
-            rememberMe: false,
-            loading: false,
-            userInfo: {
-                username: "",
-                password: "",
-                phone: "",
-                code: ""
-            },
-            register: false,
-            registerInfo: {
-                username: "",
-                password: ""
+    export default {
+        data() {
+            return {
+                rememberMe: false,
+                loading: false,
+                userInfo: {
+                    username: "",
+                    password: "",
+                    phone: "",
+                    code: "",
+                },
+                register: false,
+                registerInfo: {
+                    username: "",
+                    password: "",
+                },
+                activeName: "first",
+                time: 0,
+                sending: false
+            };
+        },
+        methods: {
+            login() {
+                this.$refs.form.validate(valid => {
+                    if (valid) {
+                        this.loading = true;
+                        this.$http
+                            .post("/auth/login", {
+                                username: this.userInfo.username,
+                                password: this.userInfo.password,
+                                remember: this.rememberMe
+                            })
+                            .then(res => {
+                                localStorage.setItem("token", res);
+                                return this.$http.get("/user/my");
+                            })
+                            .then(res => {
+                                this.loading = false;
+                                this.$store.commit("updateUserInfo", res);
+                                this.$router.replace({
+                                    name: this.$route.params.name || "dashboard"
+                                });
+                            })
+                            .catch(e => {
+                                console.log(e);
+                                this.loading = false;
+                                this.$message.error(e.error);
+                            });
+                    }
+                });
             },
             },
-            activeName: "first",
-            time: 0,
-            sending: false
-        };
-    },
-    methods: {
-        login() {
-            this.$refs.form.validate(valid => {
-                if (valid) {
-                    this.loading = true;
-                    this.$http
-                        .post("/auth/login", {
-                            username: this.userInfo.username,
-                            password: this.userInfo.password,
-                            remember: this.rememberMe
-                        })
-                        .then(res => {
-                            localStorage.setItem("token", res);
-                            return this.$http.get("/user/my");
-                        })
-                        .then(res => {
-                            this.loading = false;
-                            this.$store.commit("updateUserInfo", res);
-                            this.$router.replace({
-                                name: this.$route.params.name || "dashboard"
+            phonelogin() {
+                this.$refs.form2.validate(valid => {
+                    if (valid) {
+                        this.loading = true;
+                        this.$http
+                            .post("/auth/phoneLogin", {
+                                phone: this.userInfo.phone
+                            })
+                            .then(res => {
+                                localStorage.setItem("token", res);
+                                return this.$http.get("/user/my");
+                            })
+                            .then(res => {
+                                this.loading = false;
+                                this.$store.commit("updateUserInfo", res);
+                                this.$router.replace({
+                                    name: this.$route.params.name || "dashboard"
+                                });
+                            })
+                            .catch(e => {
+                                console.log(e);
+                                this.loading = false;
+                                this.$message.error(e.error);
                             });
                             });
-                        })
-                        .catch(e => {
-                            console.log(e);
-                            this.loading = false;
-                            this.$message.error(e.error);
-                        });
-                }
-            });
-        },
-        phonelogin() {
-            this.$refs.form2.validate(valid => {
-                if (valid) {
-                    this.loading = true;
-                    this.$http
-                        .post("/auth/phoneLogin", {
-                            phone: this.userInfo.phone
-                        })
-                        .then(res => {
-                            localStorage.setItem("token", res);
-                            return this.$http.get("/user/my");
-                        })
-                        .then(res => {
-                            this.loading = false;
-                            this.$store.commit("updateUserInfo", res);
-                            this.$router.replace({
-                                name: this.$route.params.name || "dashboard"
+                    }
+                });
+            },
+            doRegister() {
+                this.$refs.registerForm.validate(valid => {
+                    if (valid) {
+                        this.loading = true;
+                        this.$http
+                            .post("/user/register", {
+                                username: this.registerInfo.username,
+                                password: this.registerInfo.password
+                            })
+                            .then(res => {
+                                this.loading = false;
+                                this.$message.success("注册成功");
+                                this.register = false;
+                            })
+                            .catch(e => {
+                                console.log(e);
+                                this.loading = false;
+                                this.$message.error(e.error);
                             });
                             });
-                        })
-                        .catch(e => {
-                            console.log(e);
-                            this.loading = false;
-                            this.$message.error(e.error);
-                        });
-                }
-            });
-        },
-        doRegister() {
-            this.$refs.registerForm.validate(valid => {
-                if (valid) {
-                    this.loading = true;
-                    this.$http
-                        .post("/user/register", {
-                            username: this.registerInfo.username,
-                            password: this.registerInfo.password
-                        })
-                        .then(res => {
-                            this.loading = false;
-                            this.$message.success("注册成功");
-                            this.register = false;
-                        })
-                        .catch(e => {
-                            console.log(e);
-                            this.loading = false;
-                            this.$message.error(e.error);
-                        });
-                }
-            });
-        },
-        sendMsg() {
-            if (!/^1[3-9]\d{9}$/.test(this.userInfo.phone)) {
-                this.$message.warning("手机号格式错误");
-                return;
-            }
-            this.sending = true;
-            this.$http
-                .get("/sms/sendVerify", {
-                    phone: this.userInfo.phone
-                })
-                .then(res => {
-                    this.sending = false;
-                    this.checkTime();
-                })
-                .catch(e => {
-                    this.sending = false;
-                    console.log(e);
-                    this.$message.error(e.error);
+                    }
                 });
                 });
-        },
-        checkTime() {
-            this.time = 60;
-            let i = setInterval(() => {
-                this.time--;
-                if (this.time === 0) {
-                    clearInterval(i);
+            },
+            sendMsg() {
+                if (!/^1[3-9]\d{9}$/.test(this.userInfo.phone)) {
+                    this.$message.warning("手机号格式错误");
+                    return;
                 }
                 }
-            }, 1000);
+                this.sending = true;
+                this.$http
+                    .get("/sms/sendVerify", {
+                        phone: this.userInfo.phone
+                    })
+                    .then(res => {
+                        this.sending = false;
+                        this.checkTime();
+                    })
+                    .catch(e => {
+                        this.sending = false;
+                        console.log(e);
+                        this.$message.error(e.error);
+                    });
+            },
+            checkTime() {
+                this.time = 60;
+                let i = setInterval(() => {
+                    this.time--;
+                    if (this.time === 0) {
+                        clearInterval(i);
+                    }
+                }, 1000);
+            }
         }
         }
-    }
-};
+    };
 </script>
 </script>
 <style lang="less" scoped>
 <style lang="less" scoped>
-.container {
-    width: 100%;
-    height: 100%;
-    display: flex;
-    align-items: center;
-    justify-content: center;
-    background-color: #ebebeb;
-    background-image: url("https://microball.oss-cn-hangzhou.aliyuncs.com/izouma/application/rawpixel-com-565462-unsplash%20%281%29.jpg");
-    background-size: cover;
-    background-position: center;
-    background-repeat: no-repeat;
-    position: relative;
-    overflow: hidden;
-}
+    .container {
+        width: 100%;
+        height: 100%;
+        display: flex;
+        align-items: center;
+        justify-content: center;
+        background-color: #ebebeb;
+        background-image: url("https://microball.oss-cn-hangzhou.aliyuncs.com/izouma/application/rawpixel-com-565462-unsplash%20%281%29.jpg");
+        background-size: cover;
+        background-position: center;
+        background-repeat: no-repeat;
+        position: relative;
+        overflow: hidden;
+    }
 
 
-.login-wrapper {
-    display: flex;
-    flex-direction: column;
-    align-items: center;
-    justify-content: center;
-    border-radius: 5px;
-    background: white;
-    border: 1px #eaeaea solid;
-    position: absolute;
-    right: 100px;
-    top: 100px;
-    width: 400px;
+    .login-wrapper {
+        display: flex;
+        flex-direction: column;
+        align-items: center;
+        justify-content: center;
+        border-radius: 5px;
+        background: white;
+        border: 1px #eaeaea solid;
+        position: absolute;
+        right: 100px;
+        top: 100px;
+        width: 400px;
 
 
-    .title {
-        color: #20a0ff;
-        font-weight: bold;
-        width: 350px;
-        line-height: 60px;
+        .title {
+            color: #20a0ff;
+            font-weight: bold;
+            width: 350px;
+            line-height: 60px;
+        }
+
+        .register-title {
+            color: #20a0ff;
+            font-weight: bold;
+            font-size: 15px;
+        }
+    }
+
+    @media screen and (max-width: 600px) {
+        .login-wrapper {
+            right: 0;
+            left: 0;
+            top: 0;
+            bottom: 0;
+            margin: auto;
+            height: 265px;
+            width: calc(100vw - 30px);
+        }
     }
     }
-    .register-title {
-        color: #20a0ff;
-        font-weight: bold;
-        font-size: 15px;
+
+    .slide-in-enter {
+        opacity: 0;
+        transform: translateX(50%);
     }
     }
-}
-@media screen and (max-width: 600px) {
-    .login-wrapper {
-        right: 0;
-        left: 0;
-        top: 0;
-        bottom: 0;
-        margin: auto;
-        height: 265px;
-        width: calc(100vw - 30px);
+
+    .slide-in-enter-active {
+        transition: all 0.3s;
     }
     }
-}
-.slide-in-enter {
-    opacity: 0;
-    transform: translateX(50%);
-}
-.slide-in-enter-active {
-    transition: all 0.3s;
-}
-.slide-in-leave-active {
-    opacity: 0;
-    transform: translateX(-50%);
-    transition: all 0.3s;
-}
-.slide-out-enter {
-    opacity: 0;
-    transform: translateX(-50%);
-}
-.slide-out-enter-active {
-    transition: all 0.3s;
-}
-.slide-out-leave-active {
-    opacity: 0;
-    transform: translateX(50%);
-    transition: all 0.3s;
-}
 
 
-.tab-list {
-    width: 350px;
-}
+    .slide-in-leave-active {
+        opacity: 0;
+        transform: translateX(-50%);
+        transition: all 0.3s;
+    }
 
 
-.code {
-    display: flex;
-    .el-button {
-        margin-left: 15px;
-        min-width: 120px;
+    .slide-out-enter {
+        opacity: 0;
+        transform: translateX(-50%);
+    }
+
+    .slide-out-enter-active {
+        transition: all 0.3s;
+    }
+
+    .slide-out-leave-active {
+        opacity: 0;
+        transform: translateX(50%);
+        transition: all 0.3s;
+    }
+
+    .tab-list {
+        width: 350px;
+    }
+
+    .code {
+        display: flex;
+
+        .el-button {
+            margin-left: 15px;
+            min-width: 120px;
+        }
     }
     }
-}
 </style>
 </style>

+ 23 - 4
src/main/vue/src/views/user/UserEdit.vue

@@ -20,8 +20,10 @@
                     <el-input v-model="formData.password"></el-input>
                     <el-input v-model="formData.password"></el-input>
                 </el-form-item>-->
                 </el-form-item>-->
             <el-form-item prop="notOrder" label="货到付款">
             <el-form-item prop="notOrder" label="货到付款">
-                <el-switch v-model="formData.notOrder!==-1"></el-switch>
-                <el-button @click="" type="primary" size="mini" plain style="margin-left: 10px">取消</el-button>
+                <el-switch v-model="isCan"></el-switch>
+                <el-button @click="canCash(isCan)" type="primary" size="mini" plain
+                           style="margin-left: 10px">{{isCan?'不允许':'允许'}}
+                </el-button>
             </el-form-item>
             </el-form-item>
             <el-form-item prop="phone" label="手机">
             <el-form-item prop="phone" label="手机">
                 <el-input v-model="formData.phone" readonly></el-input>
                 <el-input v-model="formData.phone" readonly></el-input>
@@ -83,6 +85,7 @@
                     .get(`/user/get/${this.$route.query.id}`)
                     .get(`/user/get/${this.$route.query.id}`)
                     .then(res => {
                     .then(res => {
                         this.formData = res;
                         this.formData = res;
+                        this.isCan = this.formData.notOrder===-1
                     })
                     })
                     .catch(e => {
                     .catch(e => {
                         console.log(e);
                         console.log(e);
@@ -133,7 +136,8 @@
                 // authorities: [],
                 // authorities: [],
                 dialogTableOrder: false,
                 dialogTableOrder: false,
                 orders: [],
                 orders: [],
-                grandTotal: 0
+                grandTotal: 0,
+                isCan: "",
             };
             };
         },
         },
         computed: {
         computed: {
@@ -250,7 +254,22 @@
                         console.log(e);
                         console.log(e);
                     });
                     });
             },
             },
-
+            canCash(can) {
+                this.$http
+                    .get('/user/canCash', {
+                        userId: this.formData.id,
+                        can: can
+                    })
+                    .then(res => {
+                        this.$message.success("操作成功");
+                        //this.showSetLogistics = false;
+                        this.$router.go(0);
+                    })
+                    .catch(e => {
+                        console.log(e);
+                        this.$message.error(e.error || '操作失败');
+                    });
+            }
 
 
 
 
         },
         },