大屏页面初始化

This commit is contained in:
2026-03-06 10:47:14 +08:00
parent 526d16284e
commit 4c62e80407
22 changed files with 126 additions and 63 deletions

View File

@@ -58,6 +58,7 @@
"integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"peer": true,
"dependencies": { "dependencies": {
"@babel/code-frame": "^7.29.0", "@babel/code-frame": "^7.29.0",
"@babel/generator": "^7.29.0", "@babel/generator": "^7.29.0",
@@ -1404,6 +1405,7 @@
"resolved": "https://registry.npmmirror.com/@types/lodash-es/-/lodash-es-4.17.12.tgz", "resolved": "https://registry.npmmirror.com/@types/lodash-es/-/lodash-es-4.17.12.tgz",
"integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==", "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==",
"license": "MIT", "license": "MIT",
"peer": true,
"dependencies": { "dependencies": {
"@types/lodash": "*" "@types/lodash": "*"
} }
@@ -1897,6 +1899,7 @@
} }
], ],
"license": "MIT", "license": "MIT",
"peer": true,
"dependencies": { "dependencies": {
"baseline-browser-mapping": "^2.9.0", "baseline-browser-mapping": "^2.9.0",
"caniuse-lite": "^1.0.30001759", "caniuse-lite": "^1.0.30001759",
@@ -2637,13 +2640,15 @@
"version": "4.17.23", "version": "4.17.23",
"resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.23.tgz", "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.23.tgz",
"integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==",
"license": "MIT" "license": "MIT",
"peer": true
}, },
"node_modules/lodash-es": { "node_modules/lodash-es": {
"version": "4.17.23", "version": "4.17.23",
"resolved": "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.23.tgz", "resolved": "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.23.tgz",
"integrity": "sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==", "integrity": "sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==",
"license": "MIT" "license": "MIT",
"peer": true
}, },
"node_modules/lodash-unified": { "node_modules/lodash-unified": {
"version": "1.0.3", "version": "1.0.3",
@@ -2873,7 +2878,7 @@
}, },
"node_modules/pinia": { "node_modules/pinia": {
"version": "3.0.4", "version": "3.0.4",
"resolved": "https://registry.npmjs.org/pinia/-/pinia-3.0.4.tgz", "resolved": "https://registry.npmmirror.com/pinia/-/pinia-3.0.4.tgz",
"integrity": "sha512-l7pqLUFTI/+ESXn6k3nu30ZIzW5E2WZF/LaHJEpoq6ElcLD+wduZoB2kBN19du6K/4FDpPMazY2wJr+IndBtQw==", "integrity": "sha512-l7pqLUFTI/+ESXn6k3nu30ZIzW5E2WZF/LaHJEpoq6ElcLD+wduZoB2kBN19du6K/4FDpPMazY2wJr+IndBtQw==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
@@ -3259,6 +3264,7 @@
"integrity": "sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==", "integrity": "sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"peer": true,
"dependencies": { "dependencies": {
"esbuild": "^0.27.0", "esbuild": "^0.27.0",
"fdir": "^6.5.0", "fdir": "^6.5.0",
@@ -3437,6 +3443,7 @@
"resolved": "https://registry.npmmirror.com/vue/-/vue-3.5.28.tgz", "resolved": "https://registry.npmmirror.com/vue/-/vue-3.5.28.tgz",
"integrity": "sha512-BRdrNfeoccSoIZeIhyPBfvWSLFP4q8J3u8Ju8Ug5vu3LdD+yTM13Sg4sKtljxozbnuMu1NB1X5HBHRYUzFocKg==", "integrity": "sha512-BRdrNfeoccSoIZeIhyPBfvWSLFP4q8J3u8Ju8Ug5vu3LdD+yTM13Sg4sKtljxozbnuMu1NB1X5HBHRYUzFocKg==",
"license": "MIT", "license": "MIT",
"peer": true,
"dependencies": { "dependencies": {
"@vue/compiler-dom": "3.5.28", "@vue/compiler-dom": "3.5.28",
"@vue/compiler-sfc": "3.5.28", "@vue/compiler-sfc": "3.5.28",

View File

@@ -41,4 +41,16 @@ export function updatePasswd(params) {
method: 'post', method: 'post',
params: params params: params
}) })
}
/**
* 初始化密码
*/
export function initPasswd(params) {
return request({
url: '/initPasswd',
method: 'post',
params: params
})
} }

View File

@@ -68,6 +68,7 @@ const submitForm = async () => {
userId: userStore.loginUser?.userId || '' userId: userStore.loginUser?.userId || ''
} }
const res = await updatePasswd(reqParams) const res = await updatePasswd(reqParams)
ElMessage.success(res.msg);
await new Promise(res => setTimeout(res, 800)) await new Promise(res => setTimeout(res, 800))
isMounted.value && emit('success') isMounted.value && emit('success')
return true return true

View File

@@ -377,7 +377,6 @@ const submitEditPwd = () => {
const handlePwdModifySuccess = () => { const handlePwdModifySuccess = () => {
if (!isMounted.value) return if (!isMounted.value) return
closeEditPwdDialog(); closeEditPwdDialog();
ElMessage.success('密码修改成功,请重新登录');
userStore.logout(); userStore.logout();
router.push('/login'); router.push('/login');
} }

View File

@@ -73,6 +73,10 @@
<el-icon><Edit /></el-icon> <el-icon><Edit /></el-icon>
编辑 编辑
</el-button> </el-button>
<el-button size="small" type="warning" @click="handleResetPwd(scope.row)">
<el-icon><Key /></el-icon>
初始化
</el-button>
<el-button size="small" type="danger" @click="handleDelete(scope.row)"> <el-button size="small" type="danger" @click="handleDelete(scope.row)">
<el-icon><Delete /></el-icon> <el-icon><Delete /></el-icon>
删除 删除
@@ -98,8 +102,9 @@
<script setup> <script setup>
import { ref, reactive, onMounted } from 'vue' import { ref, reactive, onMounted } from 'vue'
import { ElMessage, ElMessageBox } from 'element-plus' import { ElMessage, ElMessageBox, ElNotification } from 'element-plus'
import { Plus, Download, Edit, Delete } from '@element-plus/icons-vue' import { Plus, Download, Edit, Delete } from '@element-plus/icons-vue'
import { initPasswd } from '@/api/user'
import { getHomeUserList, getHomeUserSave, getHomeUserDelete } from '@/api/bizUser' import { getHomeUserList, getHomeUserSave, getHomeUserDelete } from '@/api/bizUser'
import CSearch from '@/components/Search/proSearch.vue' import CSearch from '@/components/Search/proSearch.vue'
@@ -191,21 +196,45 @@ const handleExport = () => {
} }
const handleDelete = async (row) => { const handleDelete = async (row) => {
try { ElMessageBox.confirm('确定要删除该条数据吗?', '删除确认', {
await ElMessageBox.confirm('确定要删除该条数据吗?', '删除确认', { type: 'warning',
type: 'warning', closeOnClickModal: false,
closeOnClickModal: false, showClose: false
showClose: false })
}) .then(async () => {
const reqParams = {
userId: row.userId
}
const res = await getHomeUserDelete(reqParams);
ElMessage.success(res.msg);
getDataList();
})
.catch(() => {
ElMessage.info('已取消删除数据操作');
});
}
const handleResetPwd = async (row) => {
ElMessageBox.confirm('确定要初始化该用户的密码吗?', '初始化确认', {
type: 'warning',
closeOnClickModal: false,
showClose: false
})
.then(async () => {
const reqParams = { const reqParams = {
userId: row.userId userId: row.userId
} }
const res = await getHomeUserDelete(reqParams); const res = await initPasswd(reqParams);
ElMessage.success('删除成功'); ElNotification({
getDataList(); title: '初始化密码',
} catch (error) { message: res.msg,
ElMessage.error('删除数据失败,请重试' ,error); type: 'success',
} })
getDataList();
})
.catch(() => {
ElMessage.info('已取消密码初始化操作');
});
} }
const handleSizeChange = (val) => { const handleSizeChange = (val) => {

View File

@@ -1,15 +1,12 @@
package com.mini.mybigscreen.Auth; package com.mini.mybigscreen.Auth;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.mini.mybigscreen.Model.*;
import com.mini.mybigscreen.Model.LoginRequest;
import com.mini.mybigscreen.Model.Result;
import com.mini.mybigscreen.Model.loginUser;
import com.mini.mybigscreen.Model.userInfo;
import com.mini.mybigscreen.biz.domain.HomeUser; import com.mini.mybigscreen.biz.domain.HomeUser;
import com.mini.mybigscreen.biz.service.HomeUserService; import com.mini.mybigscreen.biz.service.HomeUserService;
import com.mini.mybigscreen.utils.AesUtil; import com.mini.mybigscreen.utils.AesUtil;
import com.mini.mybigscreen.utils.KeyUtil; import com.mini.mybigscreen.utils.KeyUtil;
import com.mini.mybigscreen.utils.TextUtil;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpSession; import jakarta.servlet.http.HttpSession;
@@ -50,16 +47,30 @@ public class userController {
*/ */
@PostMapping("/editPasswd") @PostMapping("/editPasswd")
public Result<?> getUserSave(String userId, String oldPasswd, String password) { public Result<Message> getUserSave(String userId, String oldPasswd, String password) {
LambdaQueryWrapper<HomeUser> query = new LambdaQueryWrapper<HomeUser>() LambdaQueryWrapper<HomeUser> query = new LambdaQueryWrapper<HomeUser>()
.eq(HomeUser::getUserId, userId) .eq(HomeUser::getUserId, userId)
.eq(HomeUser::getPassword, AesUtil.encrypt(password)); .eq(HomeUser::getPassword, AesUtil.encrypt(oldPasswd));
HomeUser user = userService.getOne(query, true); HomeUser user = userService.getOne(query, true);
if (ObjectUtils.isEmpty(user)) { if (ObjectUtils.isEmpty(user)) {
return Result.error("旧密码输入错误"); return Result.error("旧密码输入错误");
} }
user.setPassword(AesUtil.encrypt(password)); user.setPassword(AesUtil.encrypt(password));
userService.update(user, query); userService.update(user, query);
return Result.success(); return Result.success(new Message("密码修改成功,请重新登录",200));
} }
}
/**
* 初始化密码
*/
@PostMapping("initPasswd")
public Result<Message> getUserInit(String userId) {
String password = KeyUtil.ObjKey(6, 0);
LambdaQueryWrapper<HomeUser> query = new LambdaQueryWrapper<HomeUser>()
.eq(HomeUser::getUserId, userId);
HomeUser user = userService.getOne(query, true);
user.setPassword(AesUtil.encrypt(password));
userService.update(user, query);
return Result.success(new Message(TextUtil.getTitleDesc("密码初始化成功,新密码", password), 200));
}
}

View File

@@ -9,9 +9,9 @@ public class Message implements Serializable {
private String msg; private String msg;
private String code; private Integer code;
public Message(String msg,String code){ public Message(String msg,Integer code){
this.msg = msg; this.msg = msg;
this.code = code; this.code = code;
} }

View File

@@ -19,11 +19,11 @@ public class CompanyController {
public Result<Message> save() { public Result<Message> save() {
return Result.success(new Message("数据新增成功", "200")); return Result.success(new Message("数据新增成功", 200));
} }
public Result<Message> delete() { public Result<Message> delete() {
return Result.success(new Message("数据删除成功", "200")); return Result.success(new Message("数据删除成功", 200));
} }
} }

View File

@@ -31,13 +31,4 @@ public class ErpAccountController {
return Result.success(accountService.list()); return Result.success(accountService.list());
} }
public Result<Message> save() {
return Result.success(new Message("数据新增成功", "200"));
}
public Result<Message> delete() {
return Result.success(new Message("数据删除成功", "200"));
}
} }

View File

@@ -40,11 +40,11 @@ public class ErpCategoryController {
public Result<Message> save() { public Result<Message> save() {
return Result.success(new Message("数据新增成功", "200")); return Result.success(new Message("数据新增成功", 200));
} }
public Result<Message> delete() { public Result<Message> delete() {
return Result.success(new Message("数据删除成功", "200")); return Result.success(new Message("数据删除成功", 200));
} }
} }

View File

@@ -49,11 +49,11 @@ public class ErpTransactionFlowController {
public Result<Message> save() { public Result<Message> save() {
return Result.success(new Message("数据新增成功", "200")); return Result.success(new Message("数据新增成功", 200));
} }
public Result<Message> delete() { public Result<Message> delete() {
return Result.success(new Message("数据删除成功", "200")); return Result.success(new Message("数据删除成功", 200));
} }
} }

View File

@@ -147,12 +147,12 @@ public class HomeMenuController {
public Result<Message> save() { public Result<Message> save() {
return Result.success(new Message("数据新增成功", "200")); return Result.success(new Message("数据新增成功", 200));
} }
public Result<Message> delete() { public Result<Message> delete() {
return Result.success(new Message("数据删除成功", "200")); return Result.success(new Message("数据删除成功", 200));
} }
} }

View File

@@ -19,11 +19,11 @@ public class HomeModuleController {
public Result<Message> save() { public Result<Message> save() {
return Result.success(new Message("数据新增成功", "200")); return Result.success(new Message("数据新增成功", 200));
} }
public Result<Message> delete() { public Result<Message> delete() {
return Result.success(new Message("数据删除成功", "200")); return Result.success(new Message("数据删除成功", 200));
} }
} }

View File

@@ -58,11 +58,11 @@ public class HomeModuleUserController {
public Result<Message> save() { public Result<Message> save() {
return Result.success(new Message("数据新增成功", "200")); return Result.success(new Message("数据新增成功", 200));
} }
public Result<Message> delete() { public Result<Message> delete() {
return Result.success(new Message("数据删除成功", "200")); return Result.success(new Message("数据删除成功", 200));
} }
} }

View File

@@ -33,11 +33,11 @@ public class HomeRoleController {
public Result<Message> save() { public Result<Message> save() {
return Result.success(new Message("数据新增成功", "200")); return Result.success(new Message("数据新增成功", 200));
} }
public Result<Message> delete() { public Result<Message> delete() {
return Result.success(new Message("数据删除成功", "200")); return Result.success(new Message("数据删除成功", 200));
} }
} }

View File

@@ -19,11 +19,11 @@ public class HomeRoleMenuController {
public Result<Message> save() { public Result<Message> save() {
return Result.success(new Message("数据新增成功", "200")); return Result.success(new Message("数据新增成功", 200));
} }
public Result<Message> delete() { public Result<Message> delete() {
return Result.success(new Message("数据删除成功", "200")); return Result.success(new Message("数据删除成功", 200));
} }
} }

View File

@@ -54,13 +54,13 @@ public class HomeUserController {
? userService.update(homeUser, ? userService.update(homeUser,
new LambdaUpdateWrapper<HomeUser>().eq(HomeUser::getUserId, homeUser.getUserId()) new LambdaUpdateWrapper<HomeUser>().eq(HomeUser::getUserId, homeUser.getUserId())
) : userService.save(homeUser); ) : userService.save(homeUser);
return Result.success(new Message(homeUser.getIsEdit() ? "数据修改成功" : "数据新增成功", "200")); return Result.success(new Message(homeUser.getIsEdit() ? "数据修改成功" : "数据新增成功", 200));
} }
@PostMapping("delete") @PostMapping("delete")
public Result<Message> delete(String userId) { public Result<Message> delete(String userId) {
userService.removeById(userId); userService.removeById(userId);
return Result.success(new Message("数据删除成功", "200")); return Result.success(new Message("数据删除成功", 200));
} }
} }

View File

@@ -38,12 +38,12 @@ public class IndexInfoController {
} }
public Result<Message> save() { public Result<Message> save() {
return Result.success(new Message("数据新增成功", "200")); return Result.success(new Message("数据新增成功", 200));
} }
public Result<Message> delete() { public Result<Message> delete() {
return Result.success(new Message("数据删除成功", "200")); return Result.success(new Message("数据删除成功", 200));
} }
} }

View File

@@ -42,10 +42,12 @@ public class ItemInfoController {
} }
public Result<Message> save() { public Result<Message> save() {
return Result.success(new Message("数据新增成功", "200")); return Result.success(new Message("数据新增成功", 200));
} }
public Result<Message> delete() { public Result<Message> delete() {
return Result.success(new Message("数据删除成功", "200")); return Result.success(new Message("数据删除成功", 200));
} }
} }

View File

@@ -20,10 +20,11 @@ public class ResumeEmployeeController {
public Result<Message> save() { public Result<Message> save() {
return Result.success(new Message("数据新增成功", "200")); return Result.success(new Message("数据新增成功", 200));
} }
public Result<Message> delete() { public Result<Message> delete() {
return Result.success(new Message("数据删除成功", "200")); return Result.success(new Message("数据删除成功", 200));
} }
} }

View File

@@ -47,11 +47,11 @@ public class WebsiteStorageController {
public Result<Message> save() { public Result<Message> save() {
return Result.success(new Message("数据新增成功", "200")); return Result.success(new Message("数据新增成功", 200));
} }
public Result<Message> delete() { public Result<Message> delete() {
return Result.success(new Message("数据删除成功", "200")); return Result.success(new Message("数据删除成功", 200));
} }
} }

View File

@@ -0,0 +1,10 @@
package com.mini.mybigscreen.utils;
public class TextUtil {
private static final String TITLE_DESC_FORMAT = "%s: %s";
public static String getTitleDesc(String title, String desc) {
return String.format(TITLE_DESC_FORMAT, title, desc);
}
}