lsw há 1 ano atrás
pai
commit
1d689995a0

+ 1 - 1
app/pages.json

@@ -54,7 +54,7 @@
 		{
 			"path": "pages/user/info",
 			"style": {
-				"navigationBarTitleText": "关联企业",
+				"navigationBarTitleText": "个人信息",
 				"enablePullDownRefresh": false
 			}
 		}

+ 7 - 1
app/pages/index/index.vue

@@ -144,6 +144,7 @@ export default {
 		},
 		//查看合同
 		look() {
+			uni.showLoading({ title: '正在打开合同...', mask: true });
 			uni.downloadFile({
 				url: this.user.isContract == 0 ? this.ip + this.contract.url : this.ip + '/app/contract/look',
 				header: { Authorization: this.getUser().token },
@@ -151,8 +152,13 @@ export default {
 					uni.openDocument({
 						filePath: res.tempFilePath,
 						showMenu: true,
-						success: (res) => {}
+						success: (res) => {
+							uni.hideLoading();
+						}
 					});
+				},
+				fail: (res) => {
+					uni.hideLoading();
 				}
 			});
 		},

+ 12 - 3
app/pages/user/index.vue

@@ -1,6 +1,6 @@
 <template>
 	<view class="main">
-		<view class="user" @click="go('/pages/user/info')">
+		<view class="user" @click="go('info')">
 			<image :src="user.avatarUrl ? user.avatarUrl : '../../static/favicon.png'" class="head"></image>
 			<view class="con" v-if="user.id">
 				<view class="nickName">微信用户</view>
@@ -34,6 +34,7 @@
 				<text class="icon arrow">&#xe62b;</text>
 			</view>
 		</view>
+		<button class="btn exit" @click="exit()" v-if="user.id">退出登录</button>
 	</view>
 </template>
 <script>
@@ -76,12 +77,16 @@ export default {
 				if (url == 'contract' && this.user.isContract == 1) {
 					this.look();
 				}
+				if (url == 'info') {
+					uni.navigateTo({ url: '/pages/user/info' });
+				}
 			} else {
 				uni.navigateTo({ url: '/pages/user/login' });
 			}
 		},
 		//查看合同
 		look() {
+			uni.showLoading({ title: '正在打开合同...', mask: true });
 			uni.downloadFile({
 				url: this.user.isContract == 0 ? this.ip + this.contract.url : this.ip + '/app/contract/look',
 				header: { Authorization: this.getUser().token },
@@ -89,8 +94,13 @@ export default {
 					uni.openDocument({
 						filePath: res.tempFilePath,
 						showMenu: true,
-						success: (res) => {}
+						success: (res) => {
+							uni.hideLoading();
+						}
 					});
+				},
+				fail: (res) => {
+					uni.hideLoading();
 				}
 			});
 		},
@@ -148,7 +158,6 @@ export default {
 	}
 }
 .exit {
-	width: 40%;
 	margin-top: 20px;
 }
 </style>

+ 60 - 7
app/pages/user/info.vue

@@ -1,19 +1,72 @@
 <template>
 	<view>
-		
+		<view class="main">
+			<view class="form" v-if="item.isAuthentication === 1" style="margin-top: 10px">
+				<view class="form_group">
+					<view class="lable">手机号</view>
+					<input type="text" v-model="item.phone" placeholder="请输入手机号" />
+				</view>
+				<view class="form_group">
+					<view class="lable">支付宝</view>
+					<input type="text" v-model="item.alipay" placeholder="请输入支付宝账号" />
+				</view>
+			</view>
+			<button class="btn" @click="save()">确定</button>
+		</view>
 	</view>
 </template>
 
 <script>
-	export default {
-		data() {
-			return {
-				
-			};
+export default {
+	data() {
+		return {
+			item: {}
+		};
+	},
+	onLoad() {
+		this.getData();
+	},
+	methods: {
+		getData() {
+			this.http.request({
+				url: '/app/user/info',
+				data: this.item,
+				success: (res) => {
+					this.item = res.data.data;
+				}
+			});
+		},
+		save() {
+			let rule = [
+				{ name: 'phone', checkType: 'phone', errorMsg: '请请输入手机号' },
+				{ name: 'alipay', checkType: 'notnull', errorMsg: '请输入支付宝账号' }
+			];
+			if (!this.verify.check(this.item, rule)) {
+				uni.showModal({ content: this.verify.error, showCancel: false });
+				return false;
+			}
+			this.http.request({
+				url: '/app/user/edit',
+				data: this.item,
+				method: 'POST',
+				success: (res) => {
+					uni.showModal({
+						title: '提示',
+						content: '编辑成功。',
+						showCancel: false,
+						success: (res) => {
+							uni.navigateBack();
+						}
+					});
+				}
+			});
 		}
 	}
+};
 </script>
 
 <style lang="scss">
-
+.btn {
+	margin-top: 30px;
+}
 </style>

+ 6 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/api/Api_UserController.java

@@ -4,6 +4,7 @@ import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.web.work.api.config.BaseController;
 import com.ruoyi.web.work.domain.dto.AuthDto;
 import com.ruoyi.web.work.domain.dto.LoginDto;
+import com.ruoyi.web.work.domain.dto.UserDto;
 import com.ruoyi.web.work.service.IUserService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
@@ -31,6 +32,11 @@ public class Api_UserController extends BaseController {
         return userService.auth(dto);
     }
 
+    @PostMapping("/edit")
+    public AjaxResult edit(@Validated @RequestBody UserDto dto) {
+        return userService.edit(dto);
+    }
+
     @GetMapping("/info")
     public AjaxResult info() {
         return AjaxResult.success(userService.getById(getUser().getId()));

+ 20 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/domain/dto/UserDto.java

@@ -0,0 +1,20 @@
+package com.ruoyi.web.work.domain.dto;
+
+import com.ruoyi.common.core.validate.Regexp;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.Pattern;
+
+@Data
+@Accessors(chain = true)
+public class UserDto {
+
+    @NotBlank(message = "手机号不能为空")
+    @Pattern(regexp = Regexp.PHONE, message = "手机号不合法")
+    private String phone;
+
+    @NotBlank(message = "支付宝账户不能为空")
+    private String alipay;
+}

+ 3 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/service/IUserService.java

@@ -5,6 +5,7 @@ import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.web.work.domain.User;
 import com.ruoyi.web.work.domain.dto.AuthDto;
 import com.ruoyi.web.work.domain.dto.LoginDto;
+import com.ruoyi.web.work.domain.dto.UserDto;
 
 import java.util.List;
 
@@ -18,4 +19,6 @@ public interface IUserService extends IService<User>{
     AjaxResult login(LoginDto dto);
 
     AjaxResult auth(AuthDto dto);
+
+    AjaxResult edit(UserDto dto);
 }

+ 14 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/service/impl/UserServiceImpl.java

@@ -4,6 +4,7 @@ import com.alibaba.fastjson2.JSON;
 import com.alibaba.fastjson2.JSONObject;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.http.HttpUtils;
 import com.ruoyi.web.work.api.config.TokenServices;
@@ -11,6 +12,7 @@ import com.ruoyi.web.work.api.util.AppUtil;
 import com.ruoyi.web.work.domain.User;
 import com.ruoyi.web.work.domain.dto.AuthDto;
 import com.ruoyi.web.work.domain.dto.LoginDto;
+import com.ruoyi.web.work.domain.dto.UserDto;
 import com.ruoyi.web.work.mapper.UserMapper;
 import com.ruoyi.web.work.service.IUserService;
 import org.springframework.beans.BeanUtils;
@@ -80,4 +82,16 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
         }
         return AjaxResult.success();
     }
+
+    @Override
+    public AjaxResult edit(UserDto dto) {
+        User user = new User();
+        user.setId(AppUtil.getUser().getId());
+        user.setPhone(dto.getPhone());
+        user.setAlipay(dto.getAlipay());
+        if (!updateById(user)) {
+            throw new ServiceException("更新用户信息失败");
+        }
+        return AjaxResult.success();
+    }
 }