Compare commits

..

No commits in common. "1b48f9f9b20ae5fe17317bbf4a7a100a54bb4a3f" and "813c12e1301243259ace40559b32ca7892a9e62e" have entirely different histories.

41 changed files with 83 additions and 248 deletions

View File

@ -12,7 +12,6 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.wcs.business.saToken.StpInterfaceImpl;
@Configuration
public class SaTokenConfigure implements WebMvcConfigurer {
@ -20,10 +19,9 @@ public class SaTokenConfigure implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
// 注册 Sa-Token 拦截器校验规则为 StpUtil.checkLogin() 登录校验
registry.addInterceptor(new SaInterceptor(handle -> {
StpUtil.checkLogin();
})).addPathPatterns("/**").excludePathPatterns("/**/user/login", "/**/app/system/**", "/api/pub/**");
//registry.addInterceptor(new SaInterceptor()).addPathPatterns("/**").excludePathPatterns("/**/user/login", "/**/app/system/**", "/api/pub/**");
registry.addInterceptor(new SaInterceptor(handle -> StpUtil.checkLogin()))
.addPathPatterns("/**")
.excludePathPatterns("/**/user/login", "/**/app/system/**", "/api/pub/**");
}
/**

View File

@ -150,12 +150,11 @@ public class SocketClient {
while (true) {
try {
InputStream inputStream = socket.getInputStream();
byte[] bytes = new byte[1024];
int read = inputStream.read(bytes);
byte[] bytes = inputStream.readAllBytes();
socketDataItem.setLastReceiveMessageTime(LocalDateTime.now());
if(socketClientEvent != null) {
socketClientEvent.onBytes(socketDataItem, bytes);
String message = new String(bytes, 0, read, StandardCharsets.US_ASCII).trim();
String message = new String(bytes, StandardCharsets.US_ASCII);
socketClientEvent.onMessage(socketDataItem, message); // 触发收到数据事件
}
} catch (Exception e) {

View File

@ -140,15 +140,15 @@ public class ResolveStockTaskJob implements Job {
});
if(!createTransResult) {
log.info("组合任务解析 创建失败组合任务ID{},数据库事务执行失败", stockComposeTask.getTaskId());
dataRecorder.recordStockMsg(stockComposeTask.getTaskId(), stockComposeTask.getVehicleNo(), "初次任务创建失败,插入任务时数据库事务执行失败");
dataRecorder.recordStockMsg(stockComposeTask.getUpperTaskId(), stockComposeTask.getVehicleNo(), "初次任务创建失败,插入任务时数据库事务执行失败");
return;
}
dataRecorder.recordStockMsg(stockComposeTask.getTaskId(), stockComposeTask.getVehicleNo(), "任务解析完成");
dataRecorder.recordStockMsg(stockComposeTask.getUpperTaskId(), stockComposeTask.getVehicleNo(), "任务解析完成");
log.info("组合任务解析 创建成功组合任务ID{}", stockComposeTask.getTaskId());
return;
}
log.info("组合任务解析 创建失败组合任务ID{},错误信息:{}", stockComposeTask.getTaskId(), stockSingleTask.item1);
dataRecorder.recordStockMsg(stockComposeTask.getTaskId(), stockComposeTask.getVehicleNo(), "初次任务创建失败,错误信息:" + stockSingleTask.item1);
dataRecorder.recordStockMsg(stockComposeTask.getUpperTaskId(), stockComposeTask.getVehicleNo(), "初次任务创建失败,错误信息:" + stockSingleTask.item1);
stockComposeTaskService.setTaskStatusAndMsg(stockComposeTask.getTaskId(), StockComposeTaskStatusEnum.CANCEL, StockComposeTaskStepStatusEnum.ERROR, stockSingleTask.item1);
return;
}
@ -166,11 +166,11 @@ public class ResolveStockTaskJob implements Job {
composeTaskTimeout = composeTaskTimeout == null ? "180" : composeTaskTimeout;
if(executingTask.getStartTime().plusMinutes(Long.parseLong(composeTaskTimeout)).isBefore(LocalDateTime.now())) {
stockComposeTaskService.setTaskStatusAndMsg(executingTask.getTaskId(), StockComposeTaskStatusEnum.CANCEL, StockComposeTaskStepStatusEnum.ERROR, "超时自动取消,超时时间:" + composeTaskTimeout + " 分钟");
dataRecorder.recordStockMsg(executingTask.getTaskId(), executingTask.getVehicleNo(), "任务超时自动取消,超时时间:" + composeTaskTimeout + " 分钟");
dataRecorder.recordStockMsg(executingTask.getUpperTaskId(), executingTask.getVehicleNo(), "任务超时自动取消,超时时间:" + composeTaskTimeout + " 分钟");
return;
}
// 根据子任务判断动作
List<AppStockSingleTask> stockSingleTasks = stockSingleTaskService.queryByUpperTaskId(executingTask.getTaskId());
List<AppStockSingleTask> stockSingleTasks = stockSingleTaskService.queryByUpperTaskId(executingTask.getUpperTaskId());
if(stockSingleTasks == null) {
return; // 查询失败
}
@ -182,7 +182,7 @@ public class ResolveStockTaskJob implements Job {
if(stockSingleTask.getTaskStatus().equals(StockSingleTaskStatusEnum.CANCEL.getCode())) {
// 任务取消一并取消组合任务
stockComposeTaskService.setTaskStatusAndMsg(executingTask.getTaskId(), StockComposeTaskStatusEnum.CANCEL, StockComposeTaskStepStatusEnum.ERROR, "任务取消,信息:" + stockSingleTask.getTaskMsg());
dataRecorder.recordStockMsg(executingTask.getTaskId(), executingTask.getVehicleNo(), "任务取消,信息:" + stockSingleTask.getTaskMsg());
dataRecorder.recordStockMsg(executingTask.getUpperTaskId(), executingTask.getVehicleNo(), "任务取消,信息:" + stockSingleTask.getTaskMsg());
return;
}
if(stockSingleTask.getTaskStatus().equals(StockSingleTaskStatusEnum.COMPLETE.getCode())) {
@ -194,7 +194,7 @@ public class ResolveStockTaskJob implements Job {
if(AppStringUtils.isEmpty(executingTask.getDestination()) || businessDestinationLocationId.equals(executingTask.getDestination())) {
// 组合任务终点为空或者子任务终点等于组合任务终点任务完成
stockComposeTaskService.setTaskStatusAndMsg(executingTask.getTaskId(), StockComposeTaskStatusEnum.COMPLETE, StockComposeTaskStepStatusEnum.COMPLETE,"任务完成");
dataRecorder.recordStockMsg(executingTask.getTaskId(), executingTask.getVehicleNo(), "任务完成");
dataRecorder.recordStockMsg(executingTask.getUpperTaskId(), executingTask.getVehicleNo(), "任务完成");
log.info("任务完成组合任务ID{}", executingTask.getTaskId());
return;
}
@ -202,7 +202,7 @@ public class ResolveStockTaskJob implements Job {
Tuple2<String, AppStockSingleTask> nextAutoStockSingleTaskResult = stockComposeTaskManage.createStockSingleTask(executingTask, stockSingleTask.getDestination(), executingTask.getDestination());
if(nextAutoStockSingleTaskResult.getItem1() != null) {
log.info("生成下一个任务失败组合任务ID{},错误信息:{}", executingTask.getTaskId(), nextAutoStockSingleTaskResult.getItem1());
dataRecorder.recordStockMsg(executingTask.getTaskId(), executingTask.getVehicleNo(), "生成下一个任务失败,错误信息:" + nextAutoStockSingleTaskResult.getItem1());
dataRecorder.recordStockMsg(executingTask.getUpperTaskId(), executingTask.getVehicleNo(), "生成下一个任务失败,错误信息:" + nextAutoStockSingleTaskResult.getItem1());
stockComposeTaskService.setTaskStatusAndMsg(executingTask.getTaskId(), StockComposeTaskStatusEnum.ERROR, StockComposeTaskStepStatusEnum.ERROR, "生成下一个任务失败,错误信息:" + nextAutoStockSingleTaskResult.getItem1());
return;
}
@ -212,7 +212,7 @@ public class ResolveStockTaskJob implements Job {
log.info("生成下一个任务失败组合任务ID{},错误信息:数据服务异常", executingTask.getTaskId());
}
stockComposeTaskService.setTaskStatusAndMsg(executingTask.getTaskId(), StockComposeTaskStatusEnum.EXECUTING, StockComposeTaskStepStatusEnum.RUNNING, "接续任务创建:" + nextAutoStockSingleTask.getTaskId());
dataRecorder.recordStockMsg(executingTask.getTaskId(), executingTask.getVehicleNo(), "接续任务创建:" + nextAutoStockSingleTask.getTaskId());
dataRecorder.recordStockMsg(executingTask.getUpperTaskId(), executingTask.getVehicleNo(), "接续任务创建:" + nextAutoStockSingleTask.getTaskId());
log.info("任务继续组合任务ID{}", executingTask.getTaskId());
}
// 其他任务类型不处理

View File

@ -1,6 +1,5 @@
package org.wcs.serve.controller.app;
import cn.dev33.satoken.annotation.SaCheckPermission;
import jakarta.validation.constraints.NotBlank;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
@ -32,7 +31,6 @@ public class ConveyStandController {
* @param pageIndex 页码
* @return 站台列表
*/
@SaCheckPermission("conveyPickStand:query")
@PostMapping("queryPickStand")
public AppServeDataResponse<PageDataResponse<ConveyPickStandVo>> queryPickStand(@RequestBody QueryPickStandReq request, @RequestParam("pageSize") Integer pageSize, @RequestParam("pageIndex") Integer pageIndex) {
return conveyStandService.queryPickStand(request, pageSize, pageIndex);
@ -43,7 +41,6 @@ public class ConveyStandController {
* @param request 添加参数
* @return 结果
*/
@SaCheckPermission("conveyPickStand:add")
@PostMapping("addConveyPickStand")
public AppServeResponse addConveyPickStand(@RequestBody @Validated AddConveyPickStandReq request) {
return conveyStandService.addConveyPickStand(request);
@ -54,7 +51,6 @@ public class ConveyStandController {
* @param standId 站台ID
* @return 删除结果
*/
@SaCheckPermission("conveyPickStand:delete")
@DeleteMapping("deleteConveyPickStand")
public AppServeResponse deleteConveyPickStand(@RequestParam("standId") @NotBlank(message = "站台ID不能为空") String standId) {
return conveyStandService.deleteConveyPickStand(standId);
@ -65,7 +61,6 @@ public class ConveyStandController {
* @param request 修改参数
* @return 修改结果
*/
@SaCheckPermission("conveyPickStand:edit")
@PostMapping("updateConveyPickStand")
public AppServeResponse updateConveyPickStand(@RequestBody @Validated UpdateConveyPickStandReq request) {
return conveyStandService.updateConveyPickStand(request);
@ -78,7 +73,6 @@ public class ConveyStandController {
* @param pageIndex 页码
* @return 站台列表
*/
@SaCheckPermission("conveyCheckStand:query")
@PostMapping("queryCheckStand")
public AppServeDataResponse<PageDataResponse<ConveyCheckStandVo>> queryCheckStand(@RequestBody QueryCheckStandReq request, @RequestParam("pageSize") Integer pageSize, @RequestParam("pageIndex") Integer pageIndex) {
return conveyStandService.queryCheckStand(request, pageSize, pageIndex);
@ -90,7 +84,6 @@ public class ConveyStandController {
* @param request 添加参数
* @return 添加结果
*/
@SaCheckPermission("conveyCheckStand:add")
@PostMapping("addConveyCheckStand")
public AppServeResponse addConveyCheckStand(@RequestBody @Validated AddConveyCheckStandReq request) {
return conveyStandService.addConveyCheckStand(request);
@ -101,7 +94,6 @@ public class ConveyStandController {
* @param standId 站台ID
* @return 删除结果
*/
@SaCheckPermission("conveyCheckStand:delete")
@DeleteMapping("deleteConveyCheckStand")
public AppServeResponse deleteConveyCheckStand(@RequestParam("standId") @NotBlank(message = "站台ID不能为空") String standId) {
return conveyStandService.deleteConveyCheckStand(standId);
@ -112,7 +104,6 @@ public class ConveyStandController {
* @param request 修改参数
* @return 修改结果
*/
@SaCheckPermission("conveyCheckStand:edit")
@PostMapping("updateConveyCheckStand")
public AppServeResponse updateConveyCheckStand(@RequestBody @Validated UpdateConveyCheckStandReq request) {
return conveyStandService.updateConveyCheckStand(request);
@ -123,7 +114,6 @@ public class ConveyStandController {
* @param request 添加参数
* @return 添加结果
*/
@SaCheckPermission("conveyDeliverStand:query")
@PostMapping("queryDeliverStand")
public AppServeDataResponse<PageDataResponse<ConveyDeliverStandVo>> queryDeliverStand(@RequestBody QueryDeliverStandReq request, @RequestParam("pageSize") Integer pageSize, @RequestParam("pageIndex") Integer pageIndex) {
return conveyStandService.queryDeliverStand(request, pageSize, pageIndex);
@ -134,7 +124,6 @@ public class ConveyStandController {
* @param request 添加参数
* @return 添加结果
*/
@SaCheckPermission("conveyDeliverStand:add")
@PostMapping("addConveyDeliverStand")
public AppServeResponse addConveyDeliverStand(@RequestBody @Validated AddConveyDeliverStandReq request) {
return conveyStandService.addConveyDeliverStand(request);
@ -145,7 +134,6 @@ public class ConveyStandController {
* @param standId 站台ID
* @return 删除结果
*/
@SaCheckPermission("conveyDeliverStand:delete")
@DeleteMapping("deleteConveyDeliverStand")
public AppServeResponse deleteConveyDeliverStand(@RequestParam("standId") @NotBlank(message = "站台ID不能为空") String standId) {
return conveyStandService.deleteConveyDeliverStand(standId);
@ -156,7 +144,6 @@ public class ConveyStandController {
* @param request 添加参数
* @return 添加结果
*/
@SaCheckPermission("conveyDeliverStand:edit")
@PostMapping("updateConveyDeliverStand")
public AppServeResponse updateConveyDeliverStand(@RequestBody @Validated UpdateConveyDeliverStandReq request) {
return conveyStandService.updateConveyDeliverStand(request);

View File

@ -1,6 +1,5 @@
package org.wcs.serve.controller.app;
import cn.dev33.satoken.annotation.SaCheckPermission;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
@ -34,7 +33,6 @@ public class ConveyTaskController {
* @param pageIndex 页码
* @return 结果
*/
@SaCheckPermission("conveyTask:query")
@PostMapping("queryConveyTask")
public AppServeDataResponse<PageDataResponse<QueryConveyTaskVo>> queryConveyTask(@RequestBody QueryConveyTaskReq request, @RequestParam("pageSize") Integer pageSize, @RequestParam("pageIndex") Integer pageIndex) {
return conveyTaskService.queryConveyTask(request, pageSize, pageIndex);
@ -47,7 +45,6 @@ public class ConveyTaskController {
* @param pageIndex 页码
* @return 箱式线任务列表
*/
@SaCheckPermission("conveyTaskBak:query")
@PostMapping("queryConveyTaskBak")
public AppServeDataResponse<PageDataResponse<QueryConveyTaskVo>> queryConveyTaskBak(@RequestBody QueryConveyTaskReq request, @RequestParam("pageSize") Integer pageSize, @RequestParam("pageIndex") Integer pageIndex) {
return conveyTaskService.queryConveyTaskBak(request, pageSize, pageIndex);
@ -58,7 +55,6 @@ public class ConveyTaskController {
* @param request 新增参数
* @return 结果
*/
@SaCheckPermission("conveyTask:add")
@PostMapping("addConveyTask")
public AppServeResponse addConveyTask(@RequestBody @Validated AddConveyTaskReq request) {
return conveyTaskService.addConveyTask(request);
@ -70,7 +66,6 @@ public class ConveyTaskController {
* @param status 状态
* @return 结果
*/
@SaCheckPermission("conveyTask:edit")
@PutMapping("updateConveyTaskStatus")
public AppServeResponse updateConveyTaskStatus(@RequestParam("taskId") @NotBlank(message = "任务ID不能为空") String taskId, @RequestParam("taskStatus") @NotNull(message = "状态不能为空") Integer status) {
return conveyTaskService.updateConveyTaskStatus(taskId, status);
@ -82,7 +77,6 @@ public class ConveyTaskController {
* @param arriveLocation 到达位置
* @return 结果
*/
@SaCheckPermission("conveyTask:edit")
@PutMapping("completeConveyTask")
public AppServeResponse completeConveyTask(@RequestParam("taskId") @NotBlank(message = "任务ID不能为空") String taskId, @RequestParam("arriveLocation") @NotNull(message = "到达位置不能为空") String arriveLocation) {
return conveyTaskService.completeConveyTask(taskId, arriveLocation);
@ -93,7 +87,6 @@ public class ConveyTaskController {
* @param taskId 箱式线任务ID
* @return 取消结果
*/
@SaCheckPermission("conveyTask:edit")
@DeleteMapping("cancelConveyTask")
public AppServeResponse cancelConveyTask(@RequestParam("taskId") @NotBlank(message = "箱式线任务ID不能为空") String taskId) {
return conveyTaskService.cancelConveyTask(taskId);
@ -104,7 +97,6 @@ public class ConveyTaskController {
* @param request 汇报参数
* @return 汇报结果
*/
@SaCheckPermission("conveyTask:edit")
@PostMapping("reporterConveyTaskComplete")
public AppServeResponse reporterConveyTaskComplete(@RequestBody @Validated ReporterConveyTaskStatusReq request) {
return conveyTaskService.reporterConveyTaskComplete(request);
@ -115,7 +107,6 @@ public class ConveyTaskController {
* @param request 汇报参数
* @return 汇报结果
*/
@SaCheckPermission("conveyTask:edit")
@PostMapping("reporterConveyTaskCancel")
public AppServeResponse reporterConveyTaskCancel(@RequestBody @Validated ReporterConveyTaskStatusReq request) {
return conveyTaskService.reporterConveyTaskCancel(request);
@ -126,7 +117,6 @@ public class ConveyTaskController {
* @param request 汇报参数
* @return 汇报结果
*/
@SaCheckPermission("conveyTaskBak:edit")
@PostMapping("reporterConveyTaskBakComplete")
public AppServeResponse reporterConveyTaskBakComplete(@RequestBody @Validated ReporterConveyTaskStatusReq request) {
return conveyTaskService.reporterConveyTaskBakComplete(request);
@ -137,7 +127,6 @@ public class ConveyTaskController {
* @param request 汇报参数
* @return 汇报结果
*/
@SaCheckPermission("conveyTaskBak:edit")
@PostMapping("reporterConveyTaskBakCancel")
public AppServeResponse reporterConveyTaskBakCancel(@RequestBody @Validated ReporterConveyTaskStatusReq request) {
return conveyTaskService.reporterConveyTaskBakCancel(request);
@ -148,7 +137,6 @@ public class ConveyTaskController {
* @param response 响应
* @param request 查询参数
*/
@SaCheckPermission("conveyTaskBak:export")
@PostMapping("exportConveyTaskBak")
public void exportConveyTaskBak(HttpServletResponse response, @RequestBody @Validated QueryConveyTaskReq request) {
conveyTaskService.exportConveyTaskBak(response, request);

View File

@ -1,6 +1,5 @@
package org.wcs.serve.controller.app;
import cn.dev33.satoken.annotation.SaCheckPermission;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
@ -35,7 +34,6 @@ public class EtagBaseController {
* @param pageSize 页大小
* @return 响应
*/
@SaCheckPermission("etagController:query")
@PostMapping("queryEtagController")
public AppServeDataResponse<PageDataResponse<EtagControllerVo>> queryEtagController(@RequestBody EtagControllerQueryReq request, @RequestParam("pageIndex") @NotNull(message = "页码不能为空") Integer pageIndex, @RequestParam("pageSize") @NotNull(message = "页大小不能为空") Integer pageSize) {
return etagBaseService.queryEtagController(request, pageIndex, pageSize);
@ -46,7 +44,6 @@ public class EtagBaseController {
* @param request 新增参数
* @return 响应
*/
@SaCheckPermission("etagController:add")
@PostMapping("addEtagController")
public AppServeResponse addEtagController(@RequestBody @Validated AddEtagControllerReq request) {
return etagBaseService.addEtagController(request);
@ -57,7 +54,6 @@ public class EtagBaseController {
* @param request 修改参数
* @return 响应
*/
@SaCheckPermission("etagController:edit")
@PutMapping("updateEtagController")
public AppServeResponse updateEtagController(@RequestBody @Validated UpdateEtagControllerReq request) {
return etagBaseService.updateEtagController(request);
@ -68,7 +64,6 @@ public class EtagBaseController {
* @param controllerId 控制器ID
* @return 响应
*/
@SaCheckPermission("etagController:delete")
@DeleteMapping("deleteEtagController")
public AppServeResponse deleteEtagController(@RequestParam @NotNull(message = "控制器ID不能为空") Integer controllerId) {
return etagBaseService.deleteEtagController(controllerId);
@ -83,7 +78,6 @@ public class EtagBaseController {
* @param pageSize 页大小
* @return 响应
*/
@SaCheckPermission("etagTag:query")
@PostMapping("queryEtagTagInfo")
public AppServeDataResponse<PageDataResponse<EtagTagInfoVo>> queryEtagTagInfo(@RequestBody EtagTagInfoQueryReq request, @RequestParam("pageIndex") @NotNull(message = "页码不能为空") Integer pageIndex, @RequestParam("pageSize") @NotNull(message = "页大小不能为空") Integer pageSize) {
return etagBaseService.queryEtagTagInfo(request, pageIndex, pageSize);
@ -94,7 +88,6 @@ public class EtagBaseController {
* @param request 新增参数
* @return 响应
*/
@SaCheckPermission("etagTag:add")
@PostMapping("addEtagTagInfo")
public AppServeResponse addEtagTagInfo(@RequestBody @Validated AddEtagTagInfoReq request) {
return etagBaseService.addEtagTagInfo(request);
@ -105,7 +98,6 @@ public class EtagBaseController {
* @param request 修改参数
* @return 响应
*/
@SaCheckPermission("etagTag:edit")
@PutMapping("updateEtagTagInfo")
public AppServeResponse updateEtagTagInfo(@RequestBody @Validated UpdateEtagTagInfoReq request) {
return etagBaseService.updateEtagTagInfo(request);
@ -116,7 +108,6 @@ public class EtagBaseController {
* @param tagName 标签名称
* @return 响应
*/
@SaCheckPermission("etagTag:delete")
@DeleteMapping("deleteEtagTagInfo")
public AppServeResponse deleteEtagTagInfo(@RequestParam @NotNull(message = "标签名称不能为空") String tagName) {
return etagBaseService.deleteEtagTagInfo(tagName);
@ -131,7 +122,6 @@ public class EtagBaseController {
* @param pageSize 页大小
* @return 响应
*/
@SaCheckPermission("etagLocation:query")
@PostMapping("queryEtagLocation")
public AppServeDataResponse<PageDataResponse<EtagLocationVo>> queryEtagLocation(@RequestBody EtagLocationQueryReq request, @RequestParam("pageIndex") @NotNull(message = "页码不能为空") Integer pageIndex, @RequestParam("pageSize") @NotNull(message = "页大小不能为空") Integer pageSize) {
return etagBaseService.queryEtagLocation(request, pageIndex, pageSize);
@ -142,7 +132,6 @@ public class EtagBaseController {
* @param request 新增参数
* @return 响应
*/
@SaCheckPermission("etagLocation:add")
@PostMapping("addEtagLocation")
public AppServeResponse addEtagLocation(@RequestBody @Validated AddEtagLocationReq request) {
return etagBaseService.addEtagLocation(request);
@ -153,7 +142,6 @@ public class EtagBaseController {
* @param request 修改参数
* @return 响应
*/
@SaCheckPermission("etagLocation:edit")
@PutMapping("updateEtagLocation")
public AppServeResponse updateEtagLocation(@RequestBody @Validated UpdateEtagLocationReq request) {
return etagBaseService.updateEtagLocation(request);
@ -164,7 +152,6 @@ public class EtagBaseController {
* @param recordId 记录号
* @return 响应
*/
@SaCheckPermission("etagLocation:delete")
@DeleteMapping("deleteEtagLocation/{recordId}")
public AppServeResponse deleteEtagLocation(@PathVariable @NotNull(message = "记录号不能为空") String recordId) {
return etagBaseService.deleteEtagLocation(recordId);

View File

@ -1,7 +1,5 @@
package org.wcs.serve.controller.app;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.annotation.SaMode;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotBlank;
import lombok.RequiredArgsConstructor;
@ -37,7 +35,6 @@ public class EtagTaskController {
* @param pageSize 页大小
* @return 响应
*/
@SaCheckPermission("etagTask:query")
@PostMapping("/queryEtagTask")
public AppServeDataResponse<PageDataResponse<EtagTaskVo>> queryEtagTask(@RequestBody EtagTaskQueryReq request, @RequestParam("pageIndex") @NotNull(message = "页码不能为空") Integer pageIndex, @RequestParam("pageSize") @NotNull(message = "页大小不能为空") Integer pageSize) {
return etagTaskService.queryEtagTask(request, pageIndex, pageSize);
@ -49,7 +46,6 @@ public class EtagTaskController {
* @param request 新增参数
* @return 响应
*/
@SaCheckPermission("etagTask:add")
@PostMapping("/addEtagTask")
public AppServeResponse addEtagTask(@RequestBody @Validated AddEtagTaskReq request) {
return etagTaskService.addEtagTask(request);
@ -60,7 +56,6 @@ public class EtagTaskController {
* @param request 修改参数
* @return 响应
*/
@SaCheckPermission("etagTask:edit")
@PostMapping("/updateEtagTask")
public AppServeResponse updateEtagTask(@RequestBody @Validated UpdateEtagTaskReq request) {
return etagTaskService.updateEtagTask(request);
@ -73,7 +68,6 @@ public class EtagTaskController {
* @param pageSize 页大小
* @return 响应
*/
@SaCheckPermission("etagTaskBak:query")
@PostMapping("/queryEtagTaskBak")
public AppServeDataResponse<PageDataResponse<EtagTaskBakVo>> queryEtagTaskBak(@RequestBody EtagTaskQueryReq request, @RequestParam("pageIndex") @NotNull(message = "页码不能为空") Integer pageIndex, @RequestParam("pageSize") @NotNull(message = "页大小不能为空") Integer pageSize) {
return etagTaskService.queryEtagTaskBak(request, pageIndex, pageSize);
@ -86,7 +80,6 @@ public class EtagTaskController {
* @param confirmNum 确认数量
* @return 响应
*/
@SaCheckPermission(value = {"etagTask:upload", "etagTaskBak:upload"}, mode = SaMode.OR)
@PutMapping("/uploadTaskConfirmNum")
public AppServeResponse uploadTaskConfirmNum(@RequestParam("taskId") @NotBlank(message = "任务ID不允许未为空") String taskId, @RequestParam("confirmNum") @NotNull(message = "确认数不能为空") @Min(value = 0, message = "确认数不能小于0") Integer confirmNum) {
return etagTaskService.uploadTaskConfirmNum(taskId, confirmNum);

View File

@ -1,10 +1,10 @@
spring:
# 开发环境数据库
datasource:
url: jdbc:mysql://127.0.0.1:3306/wcs_java_demo?characterEncoding=utf8&useSSL=false&useUnicode=true&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
url: jdbc:mysql://127.0.0.1:3306/wcs?characterEncoding=utf8&useSSL=false&useUnicode=true&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
# jdbc.url=jdbc:mysql://localhost:3306/imoocdemo?useUnicode=true&characterEncoding=utf8&useSSL=false&&serverTimezone=CST
username: developer
password: developer
username: root
password: Root123456
driver-class-name: com.mysql.cj.jdbc.Driver
# 开发环境Redis配置
data:

View File

@ -15,7 +15,7 @@ import MessageUtils from "@/utils/MessageUtils.ts";
// }
const axiosInstance = axios.create({
baseURL: 'http://112.4.208.194:3002/wcsDemoServe/api/wcsdev',
baseURL: 'http://localhost:9970/api/wcsdev',
timeout: 30000,
headers: {
"Content-Type": "application/json"

View File

@ -1,25 +1,11 @@
<!--权限组件-->
<script setup lang="ts">
import {menuStore} from "@/stores/menu.ts";
import {computed} from "vue";
const props = defineProps<{
permission: string;
}>();
const menuStoreInstance = menuStore(); //
//
const isHavePermission = computed(() => {
return menuStoreInstance.checkOperationPermission(props.permission);
});
</script>
<template>
<slot v-if="isHavePermission"> </slot>
<slot> </slot>
</template>
<style scoped>

View File

@ -6,7 +6,6 @@ import MessageUtils from "@/utils/MessageUtils.ts";
import ConveyStandApi from "@/api/conveyStand.ts";
import type {AppServeResponse} from "@/interface/api/AppServeResponse.ts";
import {AppServeResponseCodeEnum} from "@/constant/enums/AppServeResponseCodeEnum.ts";
import AppPermission from "@/components/manage/AppPermission.vue";
const modelValue = defineModel('modelValue', {required: true, default: false});
const emit = defineEmits(['reLoadingTableData']);
@ -85,7 +84,7 @@ const add = () => {
</el-scrollbar>
<template #footer>
<el-button-group>
<app-permission permission="conveyCheckStand:add"><el-button type="primary" @click="add">确定添加</el-button></app-permission>
<el-button type="primary" @click="add">确定添加</el-button>
<el-button type="danger" @click="close">关闭窗口</el-button>
</el-button-group>
</template>

View File

@ -6,7 +6,6 @@ import ConveyStandApi from "@/api/conveyStand.ts";
import type {AppServeResponse} from "@/interface/api/AppServeResponse.ts";
import {AppServeResponseCodeEnum} from "@/constant/enums/AppServeResponseCodeEnum.ts";
import type {IAppConveyDeliverStand} from "@/model/table/IAppConveyDeliverStand.ts";
import AppPermission from "@/components/manage/AppPermission.vue";
const modelValue = defineModel('modelValue', {required: true, default: false});
const emit = defineEmits(['reLoadingTableData']);
@ -85,7 +84,7 @@ const add = () => {
</el-scrollbar>
<template #footer>
<el-button-group>
<app-permission permission="conveyDeliverStand:add"><el-button type="primary" @click="add">确定添加</el-button></app-permission>
<el-button type="primary" @click="add">确定添加</el-button>
<el-button type="danger" @click="close">关闭窗口</el-button>
</el-button-group>
</template>

View File

@ -7,7 +7,6 @@ import MessageUtils from "@/utils/MessageUtils.ts";
import ConveyStandApi from "@/api/conveyStand.ts";
import {AppServeResponseCodeEnum} from "@/constant/enums/AppServeResponseCodeEnum.ts";
import type {AppServeResponse} from "@/interface/api/AppServeResponse.ts";
import AppPermission from "@/components/manage/AppPermission.vue";
const modelValue = defineModel('modelValue', {required: true, default: false});
const emit = defineEmits(['reLoadingTableData']);
@ -95,7 +94,7 @@ const add = () => {
</el-scrollbar>
<template #footer>
<el-button-group>
<app-permission permission="conveyPickStand:add"><el-button type="primary" @click="add">确定添加</el-button></app-permission>
<el-button type="primary" @click="add">确定添加</el-button>
<el-button type="danger" @click="close">关闭窗口</el-button>
</el-button-group>
</template>

View File

@ -6,7 +6,6 @@ import ConveyStandApi from "@/api/conveyStand.ts";
import type {AppServeResponse} from "@/interface/api/AppServeResponse.ts";
import {AppServeResponseCodeEnum} from "@/constant/enums/AppServeResponseCodeEnum.ts";
import type {IAppConveyCheckStand} from "@/model/table/IAppConveyCheckStand.ts";
import AppPermission from "@/components/manage/AppPermission.vue";
const modelValue = defineModel('modelValue', {required: true, default: false});
const props = defineProps<{
@ -101,8 +100,8 @@ const deleteStand = () => {
</el-scrollbar>
<template #footer>
<el-button-group>
<app-permission permission="conveyCheckStand:edit"><el-button type="primary" @click="save">保存数据</el-button></app-permission>
<app-permission permission="conveyCheckStand:delete"><el-button type="warning" @click="deleteStand">删除站台</el-button></app-permission>
<el-button type="primary" @click="save">保存数据</el-button>
<el-button type="warning" @click="deleteStand">删除站台</el-button>
<el-button type="danger" @click="close">关闭窗口</el-button>
</el-button-group>
</template>

View File

@ -6,7 +6,6 @@ import ConveyStandApi from "@/api/conveyStand.ts";
import type {AppServeResponse} from "@/interface/api/AppServeResponse.ts";
import {AppServeResponseCodeEnum} from "@/constant/enums/AppServeResponseCodeEnum.ts";
import type {IAppConveyDeliverStand} from "@/model/table/IAppConveyDeliverStand.ts";
import AppPermission from "@/components/manage/AppPermission.vue";
const modelValue = defineModel('modelValue', {required: true, default: false});
const props = defineProps<{
@ -101,8 +100,8 @@ const deleteStand = () => {
</el-scrollbar>
<template #footer>
<el-button-group>
<app-permission permission="conveyDeliverStand:edit"><el-button type="primary" @click="save">保存数据</el-button></app-permission>
<app-permission permission="conveyDeliverStand:delete"><el-button type="warning" @click="deleteStand">删除站台</el-button></app-permission>
<el-button type="primary" @click="save">保存数据</el-button>
<el-button type="warning" @click="deleteStand">删除站台</el-button>
<el-button type="danger" @click="close">关闭窗口</el-button>
</el-button-group>
</template>

View File

@ -8,7 +8,6 @@ import ConveyApi from "@/api/convey.ts";
import ConveyStandApi from "@/api/conveyStand.ts";
import {AppServeResponseCodeEnum} from "@/constant/enums/AppServeResponseCodeEnum.ts";
import type {AppServeResponse} from "@/interface/api/AppServeResponse.ts";
import AppPermission from "@/components/manage/AppPermission.vue";
const modelValue = defineModel('modelValue', {required: true, default: false});
const props = defineProps<{
@ -112,8 +111,8 @@ const deleteStand = () => {
</el-scrollbar>
<template #footer>
<el-button-group>
<app-permission permission="conveyPickStand:edit"><el-button type="primary" @click="save">保存数据</el-button></app-permission>
<app-permission permission="conveyPickStand:delete"><el-button type="warning" @click="deleteStand">删除站台</el-button></app-permission>
<el-button type="primary" @click="save">保存数据</el-button>
<el-button type="warning" @click="deleteStand">删除站台</el-button>
<el-button type="danger" @click="close">关闭窗口</el-button>
</el-button-group>
</template>

View File

@ -7,7 +7,6 @@ import MessageUtils from "@/utils/MessageUtils.ts";
import ConveyTaskApi from "@/api/conveyTask.ts";
import type {AppServeResponse} from "@/interface/api/AppServeResponse.ts";
import {AppServeResponseCodeEnum} from "@/constant/enums/AppServeResponseCodeEnum.ts";
import AppPermission from "@/components/manage/AppPermission.vue";
const modelValue = defineModel('modelValue', {required: true, default: false});
const emit = defineEmits(['reLoadingTableData']);
@ -114,7 +113,7 @@ const validate = (): string => {
</el-scrollbar>
<template #footer>
<el-button-group>
<app-permission permission="conveyTask:add"><el-button type="primary" @click="add">确定添加</el-button></app-permission>
<el-button type="primary" @click="add">确定添加</el-button>
<el-button type="danger" @click="close">关闭窗口</el-button>
</el-button-group>
</template>

View File

@ -8,7 +8,6 @@ import MessageUtils from "@/utils/MessageUtils.ts";
import ConveyTaskApi from "@/api/conveyTask.ts";
import type {AppServeResponse} from "@/interface/api/AppServeResponse.ts";
import {AppServeResponseCodeEnum} from "@/constant/enums/AppServeResponseCodeEnum.ts";
import AppPermission from "@/components/manage/AppPermission.vue";
const modelValue = defineModel('modelValue', {required: true, default: false});
const emit = defineEmits(['reLoadingTableData']);
@ -183,7 +182,7 @@ const reportTaskCancel = () => {
</el-select>
</el-col>
<el-col :span="4">
<app-permission permission="conveyTask:edit"><el-button type="primary" @click="updateStatus">保存状态</el-button></app-permission>
<el-button type="primary" @click="updateStatus">保存状态</el-button>
</el-col>
</el-row>
</el-form-item>
@ -230,12 +229,12 @@ const reportTaskCancel = () => {
</el-scrollbar>
<template #footer>
<el-button-group style="margin-right: 20px">
<app-permission permission="conveyTask:edit"><el-button type="success" @click="reportComplete">上报任务完成</el-button></app-permission>
<app-permission permission="conveyTask:edit"><el-button type="warning" @click="reportTaskCancel">上报任务取消</el-button></app-permission>
<el-button type="success" @click="reportComplete">上报任务完成</el-button>
<el-button type="warning" @click="reportTaskCancel">上报任务取消</el-button>
</el-button-group>
<el-button-group>
<app-permission permission="conveyTask:edit"><el-button type="success" @click="complete">完成任务</el-button></app-permission>
<app-permission permission="conveyTask:edit"><el-button type="warning" @click="cancel">取消任务</el-button></app-permission>
<el-button type="success" @click="complete">完成任务</el-button>
<el-button type="warning" @click="cancel">取消任务</el-button>
<el-button type="danger" @click="close">关闭窗口</el-button>
</el-button-group>
</template>

View File

@ -8,7 +8,6 @@ import MessageUtils from "@/utils/MessageUtils.ts";
import ConveyTaskApi from "@/api/conveyTask.ts";
import type {AppServeResponse} from "@/interface/api/AppServeResponse.ts";
import {AppServeResponseCodeEnum} from "@/constant/enums/AppServeResponseCodeEnum.ts";
import AppPermission from "@/components/manage/AppPermission.vue";
const modelValue = defineModel('modelValue', {required: true, default: false});
const emit = defineEmits(['reLoadingTableData']);
@ -153,8 +152,8 @@ const reportTaskCancel = () => {
</el-scrollbar>
<template #footer>
<el-button-group style="margin-right: 20px">
<app-permission permission="conveyTaskBak:edit"><el-button type="success" @click="reportComplete">上报任务完成</el-button></app-permission>
<app-permission permission="conveyTaskBak:edit"><el-button type="warning" @click="reportTaskCancel">上报任务取消</el-button></app-permission>
<el-button type="success" @click="reportComplete">上报任务完成</el-button>
<el-button type="warning" @click="reportTaskCancel">上报任务取消</el-button>
</el-button-group>
<el-button-group>
<el-button type="danger" @click="close">关闭窗口</el-button>

View File

@ -6,7 +6,6 @@ import MessageUtils from "@/utils/MessageUtils.ts";
import EtagBaseApi from "@/api/etagBase.ts";
import type {AppServeResponse} from "@/interface/api/AppServeResponse.ts";
import {AppServeResponseCodeEnum} from "@/constant/enums/AppServeResponseCodeEnum.ts";
import AppPermission from "@/components/manage/AppPermission.vue";
const modelValue = defineModel('modelValue', {required: true, default: false});
const emit = defineEmits(['reLoadingTableData']);
@ -68,7 +67,7 @@ const add = () => {
</el-scrollbar>
<template #footer>
<el-button-group>
<app-permission permission="etagController:add"><el-button type="primary" @click="add">{{t('baseButton.add')}}</el-button></app-permission>
<el-button type="primary" @click="add">{{t('baseButton.add')}}</el-button>
<el-button type="danger" @click="close">{{t('baseButton.close')}}</el-button>
</el-button-group>
</template>

View File

@ -6,7 +6,6 @@ import MessageUtils from "@/utils/MessageUtils.ts";
import EtagBaseApi from "@/api/etagBase.ts";
import {AppServeResponseCodeEnum} from "@/constant/enums/AppServeResponseCodeEnum.ts";
import type {AppServeResponse} from "@/interface/api/AppServeResponse.ts";
import AppPermission from "@/components/manage/AppPermission.vue";
const modelValue = defineModel('modelValue', {required: true, default: false});
const emit = defineEmits(['reLoadingTableData']);
@ -93,8 +92,8 @@ const deleteData = () => {
</el-scrollbar>
<template #footer>
<el-button-group>
<app-permission permission="etagController:edit"><el-button type="primary" @click="save">{{t('baseButton.save')}}</el-button></app-permission>
<app-permission permission="etagController:delete"><el-button type="warning" @click="deleteData">{{t('baseButton.delete')}}</el-button></app-permission>
<el-button type="primary" @click="save">{{t('baseButton.save')}}</el-button>
<el-button type="warning" @click="deleteData">{{t('baseButton.delete')}}</el-button>
<el-button type="danger" @click="close">{{t('baseButton.close')}}</el-button>
</el-button-group>
</template>

View File

@ -8,7 +8,6 @@ import MessageUtils from "@/utils/MessageUtils.ts";
import EtagBaseApi from "@/api/etagBase.ts";
import {AppServeResponseCodeEnum} from "@/constant/enums/AppServeResponseCodeEnum.ts";
import type {AppServeResponse} from "@/interface/api/AppServeResponse.ts";
import AppPermission from "@/components/manage/AppPermission.vue";
const modelValue = defineModel('modelValue', {required: true, default: false});
const emit = defineEmits(['reLoadingTableData']);
@ -77,7 +76,7 @@ const add = () => {
</el-scrollbar>
<template #footer>
<el-button-group>
<app-permission permission="etagLocation"><el-button type="primary" @click="add">{{t('baseButton.add')}}</el-button></app-permission>
<el-button type="primary" @click="add">{{t('baseButton.add')}}</el-button>
<el-button type="danger" @click="close">{{t('baseButton.close')}}</el-button>
</el-button-group>
</template>

View File

@ -8,7 +8,6 @@ import MessageUtils from "@/utils/MessageUtils.ts";
import EtagBaseApi from "@/api/etagBase.ts";
import {AppServeResponseCodeEnum} from "@/constant/enums/AppServeResponseCodeEnum.ts";
import type {AppServeResponse} from "@/interface/api/AppServeResponse.ts";
import AppPermission from "@/components/manage/AppPermission.vue";
const modelValue = defineModel('modelValue', {required: true, default: false});
const props = defineProps<{
@ -101,8 +100,8 @@ const deleteData = () => {
</el-scrollbar>
<template #footer>
<el-button-group>
<app-permission permission="etagLocation:edit"><el-button type="primary" @click="save">{{t('baseButton.save')}}</el-button></app-permission>
<app-permission permission="etagLocation:delete"><el-button type="warning" @click="deleteData">{{t('baseButton.delete')}}</el-button></app-permission>
<el-button type="primary" @click="save">{{t('baseButton.save')}}</el-button>
<el-button type="warning" @click="deleteData">{{t('baseButton.delete')}}</el-button>
<el-button type="danger" @click="close">{{t('baseButton.close')}}</el-button>
</el-button-group>
</template>

View File

@ -8,7 +8,6 @@ import EtagBaseApi from "@/api/etagBase.ts";
import type {AppServeResponse} from "@/interface/api/AppServeResponse.ts";
import {AppServeResponseCodeEnum} from "@/constant/enums/AppServeResponseCodeEnum.ts";
import EtagTagBusinessTypeFormatter from "@/plugin/formatter/EtagTagBusinessTypeFormatter.ts";
import AppPermission from "@/components/manage/AppPermission.vue";
const modelValue = defineModel('modelValue', {required: true, default: false});
const emit = defineEmits(['reLoadingTableData']);
@ -83,7 +82,7 @@ const add = () => {
</el-scrollbar>
<template #footer>
<el-button-group>
<app-permission permission="etagTag:add"><el-button type="primary" @click="add">{{t('baseButton.add')}}</el-button></app-permission>
<el-button type="primary" @click="add">{{t('baseButton.add')}}</el-button>
<el-button type="danger" @click="close">{{t('baseButton.close')}}</el-button>
</el-button-group>
</template>

View File

@ -8,7 +8,6 @@ import EtagBaseApi from "@/api/etagBase.ts";
import type {AppServeResponse} from "@/interface/api/AppServeResponse.ts";
import {AppServeResponseCodeEnum} from "@/constant/enums/AppServeResponseCodeEnum.ts";
import EtagTagBusinessTypeFormatter from "@/plugin/formatter/EtagTagBusinessTypeFormatter.ts";
import AppPermission from "@/components/manage/AppPermission.vue";
const modelValue = defineModel('modelValue', {required: true, default: false});
const emit = defineEmits(['reLoadingTableData']);
@ -105,8 +104,8 @@ const deleteTag = () => {
</el-scrollbar>
<template #footer>
<el-button-group>
<app-permission permission="etagTag:edit"><el-button type="primary" @click="save">{{t('baseButton.save')}}</el-button></app-permission>
<app-permission permission="etagTag:delete"><el-button type="warning" @click="deleteTag">{{t('baseButton.delete')}}</el-button></app-permission>
<el-button type="primary" @click="save">{{t('baseButton.save')}}</el-button>
<el-button type="warning" @click="deleteTag">{{t('baseButton.delete')}}</el-button>
<el-button type="danger" @click="close">{{t('baseButton.close')}}</el-button>
</el-button-group>
</template>

View File

@ -8,7 +8,6 @@ import MessageUtils from "@/utils/MessageUtils.ts";
import EtagTaskApi from "@/api/etagTask.ts";
import type {AppServeResponse} from "@/interface/api/AppServeResponse.ts";
import {AppServeResponseCodeEnum} from "@/constant/enums/AppServeResponseCodeEnum.ts";
import AppPermission from "@/components/manage/AppPermission.vue";
const modelValue = defineModel('modelValue', {required: true, default: false});
const emit = defineEmits(['reLoadingTableData']);
@ -95,7 +94,7 @@ const add = () => {
</el-scrollbar>
<template #footer>
<el-button-group>
<app-permission permission="etagTask:add"><el-button type="primary" @click="add">{{t('baseButton.add')}}</el-button></app-permission>
<el-button type="primary" @click="add">{{t('baseButton.add')}}</el-button>
<el-button type="danger" @click="close">{{t('baseButton.close')}}</el-button>
</el-button-group>
</template>

View File

@ -10,7 +10,6 @@ import type {AppServeResponse} from "@/interface/api/AppServeResponse.ts";
import {AppServeResponseCodeEnum} from "@/constant/enums/AppServeResponseCodeEnum.ts";
import EtagTaskStatusFormatter from "@/plugin/formatter/EtagTaskStatusFormatter.ts";
import {StarFilled} from "@element-plus/icons-vue";
import AppPermission from "@/components/manage/AppPermission.vue";
const modelValue = defineModel('modelValue', {required: true, default: false});
const props = defineProps<{formData: IAppEtagTask}>();
@ -135,19 +134,21 @@ const confirm = () => {
<el-input-number :min="1" :max="32000" v-model="confirmNum" placeholder=""></el-input-number>
</el-form-item>
<el-form-item>
<app-permission permission="etagTask:upload"><el-button type="primary" @click="confirm">{{t('tabPage.etagTask.report')}}</el-button></app-permission>
<el-button type="primary" @click="confirm">{{t('tabPage.etagTask.report')}}</el-button>
</el-form-item>
</el-form>
</el-row>
<el-divider>
<el-icon><star-filled /></el-icon>
</el-divider>
</el-col>
</el-row>
</el-scrollbar>
<template #footer>
<el-button-group>
<app-permission permission="etagTask:edit"><el-button type="primary" @click="save">{{t('baseButton.save')}}</el-button></app-permission>
<el-button type="primary" @click="save">{{t('baseButton.save')}}</el-button>
<el-button type="danger" @click="close">{{t('baseButton.close')}}</el-button>
</el-button-group>
</template>

View File

@ -10,7 +10,6 @@ import type {AppServeResponse} from "@/interface/api/AppServeResponse.ts";
import {AppServeResponseCodeEnum} from "@/constant/enums/AppServeResponseCodeEnum.ts";
import EtagTaskStatusFormatter from "@/plugin/formatter/EtagTaskStatusFormatter.ts";
import {StarFilled} from "@element-plus/icons-vue";
import AppPermission from "@/components/manage/AppPermission.vue";
const modelValue = defineModel('modelValue', {required: true, default: false});
const props = defineProps<{formData: IAppEtagTask}>();
@ -108,7 +107,7 @@ const confirm = () => {
<el-input-number :min="1" :max="32000" v-model="confirmNum" placeholder=""></el-input-number>
</el-form-item>
<el-form-item>
<app-permission permission="etagTaskBak:upload"><el-button type="primary" @click="confirm">{{t('tabPage.etagTask.report')}}</el-button></app-permission>
<el-button type="primary" @click="confirm">{{t('tabPage.etagTask.report')}}</el-button>
</el-form-item>
</el-form>
</el-row>

View File

@ -1,4 +1,4 @@
import {createRouter, createWebHashHistory, createWebHistory} from 'vue-router'
import { createRouter, createWebHistory } from 'vue-router'
import {CookieUtils} from "@/utils/CookieUtils.ts";
import {userStore} from "@/stores/user.ts";
//import {menuStore} from "@/stores/menu.ts";
@ -6,7 +6,7 @@ import {userStore} from "@/stores/user.ts";
//const noPermissionRouterName = ['main','home','error'];
const router = createRouter({
history: createWebHashHistory(import.meta.env.BASE_URL),
history: createWebHistory(import.meta.env.BASE_URL),
routes: [
{ path: '/', redirect: 'login' },
{ path: '/login', name: 'login', component: () => import('@/views/layout/LoginView.vue') },

View File

@ -1,6 +1,6 @@
<script setup lang="ts">
import {onMounted, ref} from "vue";
import {ref} from "vue";
import TrueFalseTagStyleFormatter from "@/plugin/formatter/TrueFalseTagStyleFormatter.ts";
import MessageUtils from "@/utils/MessageUtils.ts";
import ConveyStandApi from "@/api/conveyStand.ts";
@ -11,10 +11,7 @@ import type {IConveyCheckStandSearch} from "@/interface/page/convey/IConveyCheck
import type {IAppConveyCheckStand} from "@/model/table/IAppConveyCheckStand.ts";
import AddCheckStand from "@/components/page/conveyStand/AddCheckStand.vue";
import CheckStandDetail from "@/components/page/conveyStand/CheckStandDetail.vue";
import {menuStore} from "@/stores/menu.ts";
import AppPermission from "@/components/manage/AppPermission.vue";
const menuStoreInstance = menuStore();
const searchParams = ref<IConveyCheckStandSearch>({});
const trueFalseTagStyleFormatter = new TrueFalseTagStyleFormatter();
const tableData = ref<IAppConveyCheckStand[] | undefined>([]);
@ -25,15 +22,8 @@ const showAdd = ref<boolean>(false); // 是否展示添加窗口
const showDetail = ref<boolean>(false); //
const detailData = ref<IAppConveyCheckStand>({});
onMounted(() => {
query(); //
});
//
const query = () => {
if(!menuStoreInstance.checkOperationPermission("conveyCheckStand:query")) {
return;
}
const loadingInstance = MessageUtils.loading('查询中...');
ConveyStandApi.queryCheckStand(searchParams.value, pageSize.value, pageIndex.value).then((res) => {
const responseString = JSON.stringify(res.data);
@ -102,9 +92,9 @@ const paginationChange = () => {
</el-row>
<el-row>
<el-button-group style="width: 100%;margin-left: 10px; margin-bottom: 10px">
<app-permission permission="conveyCheckStand:query"><el-button type="primary" @click="query">查询/刷新</el-button></app-permission>
<el-button type="primary" @click="query">查询/刷新</el-button>
<el-button type="warning" @click="resetInput">重置查询参数</el-button>
<app-permission permission="conveyCheckStand:add"><el-button type="success" @click="addStand">添加站台</el-button></app-permission>
<el-button type="success" @click="addStand">添加站台</el-button>
</el-button-group>
</el-row>
</el-row>

View File

@ -1,6 +1,6 @@
<script setup lang="ts">
import {onMounted, ref} from "vue";
import {ref} from "vue";
import TrueFalseTagStyleFormatter from "@/plugin/formatter/TrueFalseTagStyleFormatter.ts";
import MessageUtils from "@/utils/MessageUtils.ts";
import ConveyStandApi from "@/api/conveyStand.ts";
@ -11,10 +11,7 @@ import AddDeliverStand from "@/components/page/conveyStand/AddDeliverStand.vue";
import DeliverStandDetail from "@/components/page/conveyStand/DeliverStandDetail.vue";
import type {IConveyDeliverStandSearch} from "@/interface/page/convey/IConveyDeliverStandSearch.ts";
import type {IAppConveyDeliverStand} from "@/model/table/IAppConveyDeliverStand.ts";
import {menuStore} from "@/stores/menu.ts";
import AppPermission from "@/components/manage/AppPermission.vue";
const menuStoreInstance = menuStore();
const searchParams = ref<IConveyDeliverStandSearch>({});
const trueFalseTagStyleFormatter = new TrueFalseTagStyleFormatter();
const tableData = ref<IAppConveyDeliverStand[] | undefined>([]);
@ -25,15 +22,8 @@ const showAdd = ref<boolean>(false); // 是否展示添加窗口
const showDetail = ref<boolean>(false); //
const detailData = ref<IAppConveyDeliverStand>({});
onMounted(() => {
query(); //
});
//
const query = () => {
if(!menuStoreInstance.checkOperationPermission('conveyDeliverStand:query')) {
return;
}
const loadingInstance = MessageUtils.loading('查询中...');
ConveyStandApi.queryDeliverStand(searchParams.value, pageSize.value, pageIndex.value).then((res) => {
const responseString = JSON.stringify(res.data);
@ -102,9 +92,9 @@ const paginationChange = () => {
</el-row>
<el-row>
<el-button-group style="width: 100%;margin-left: 10px; margin-bottom: 10px">
<app-permission permission="conveyDeliverStand:query"><el-button type="primary" @click="query">查询/刷新</el-button></app-permission>
<el-button type="primary" @click="query">查询/刷新</el-button>
<el-button type="warning" @click="resetInput">重置查询参数</el-button>
<app-permission permission="conveyDeliverStand:add"><el-button type="success" @click="addStand">添加站台</el-button></app-permission>
<el-button type="success" @click="addStand">添加站台</el-button>
</el-button-group>
</el-row>
</el-row>

View File

@ -1,7 +1,8 @@
<script setup lang="ts">
import {FormatterUtils} from "@/utils/FormatterUtils.ts";
import type {IConveyPickStandSearch} from "@/interface/page/convey/IConveyPickStandSearch.ts";
import {onMounted, ref} from "vue";
import {ref} from "vue";
import TrueFalseTagStyleFormatter from "@/plugin/formatter/TrueFalseTagStyleFormatter.ts";
import {ConveyPickStandTypeFormatter} from "@/plugin/formatter/ConveyPickStandTypeFormatter.ts";
import type {IAppConveyPickStand} from "@/model/table/IAppConveyPickStand.ts";
@ -12,10 +13,7 @@ import type {AppServeDataResponse} from "@/interface/api/AppServeDataResponse.ts
import {AppServeResponseCodeEnum} from "@/constant/enums/AppServeResponseCodeEnum.ts";
import AddPickStand from "@/components/page/conveyStand/AddPickStand.vue";
import PickStandDetail from "@/components/page/conveyStand/PickStandDetail.vue";
import {menuStore} from "@/stores/menu.ts";
import AppPermission from "@/components/manage/AppPermission.vue";
const menuStoreInstance = menuStore();
const searchParams = ref<IConveyPickStandSearch>({});
const trueFalseTagStyleFormatter = new TrueFalseTagStyleFormatter();
const conveyPickStandTypeFormatter = new ConveyPickStandTypeFormatter();
@ -27,15 +25,8 @@ const showAdd = ref<boolean>(false); // 是否展示添加窗口
const showDetail = ref<boolean>(false); //
const detailData = ref<IAppConveyPickStand>({});
onMounted(() => {
query(); //
});
//
const query = () => {
if(!menuStoreInstance.checkOperationPermission('conveyPickStand:query')) {
return;
}
const loadingInstance = MessageUtils.loading('查询中...');
ConveyStandApi.queryPickStand(searchParams.value, pageSize.value, pageIndex.value).then((res) => {
const responseString = JSON.stringify(res.data);
@ -111,9 +102,9 @@ const paginationChange = () => {
</el-row>
<el-row>
<el-button-group style="width: 100%;margin-left: 10px; margin-bottom: 10px">
<app-permission permission="conveyPickStand:query"><el-button type="primary" @click="query">查询/刷新</el-button></app-permission>
<el-button type="primary" @click="query">查询/刷新</el-button>
<el-button type="warning" @click="resetInput">重置查询参数</el-button>
<app-permission permission="conveyPickStand:add"><el-button type="success" @click="addStand">添加站台</el-button></app-permission>
<el-button type="success" @click="addStand">添加站台</el-button>
</el-button-group>
</el-row>
</el-row>

View File

@ -2,7 +2,7 @@
import {FormatterUtils} from "@/utils/FormatterUtils.ts";
import type {IConveyTaskQuery} from "@/interface/page/convey/IConveyTaskQuery.ts";
import {onMounted, ref} from "vue";
import {ref} from "vue";
import type {IAppConveyTask} from "@/model/table/IAppConveyTask.ts";
import ConveyTaskStatusFormatter from "@/plugin/formatter/ConveyTaskStatusFormatter.ts";
import ConveyTaskTypeFormatter from "@/plugin/formatter/ConveyTaskTypeFormatter.ts";
@ -13,10 +13,7 @@ import type {AppServeDataResponse} from "@/interface/api/AppServeDataResponse.ts
import {AppServeResponseCodeEnum} from "@/constant/enums/AppServeResponseCodeEnum.ts";
import AddConveyTask from "@/components/page/conveyTask/AddConveyTask.vue";
import ConveyTaskDetail from "@/components/page/conveyTask/ConveyTaskDetail.vue";
import AppPermission from "@/components/manage/AppPermission.vue";
import {menuStore} from "@/stores/menu.ts";
const menuStoreInstance = menuStore();
const querySearch = ref<IConveyTaskQuery>({}); //
const tableData = ref<IAppConveyTask[] | undefined>([]); //
const pageSize = ref<number>(100); //
@ -28,15 +25,8 @@ const showAddTask = ref<boolean>(false); // 显示新增任务弹窗
const detailData = ref<IAppConveyTask>({});
const showDetail = ref<boolean>(false);
onMounted(() => {
query(); //
});
//
const query = () => {
if(!menuStoreInstance.checkOperationPermission("conveyTask:query")) {
return;
}
const loadingInstance = MessageUtils.loading("查询中...");
ConveyTaskApi.query(querySearch.value, pageSize.value, pageIndex.value).then((res) => {
const responseString = JSON.stringify(res.data);
@ -140,9 +130,9 @@ const handleEdit = (index: number, row: IAppConveyTask) => {
</el-row>
<el-row>
<el-button-group style="width: 100%;margin-left: 10px; margin-bottom: 10px">
<app-permission permission="conveyTask:query"><el-button type="primary" @click="query">查询/刷新</el-button></app-permission>
<el-button type="primary" @click="query">查询/刷新</el-button>
<el-button type="warning" @click="resetInput">重置查询参数</el-button>
<app-permission permission="conveyTask:add"><el-button type="success" @click="add">新建任务</el-button></app-permission>
<el-button type="success" @click="add">新建任务</el-button>
</el-button-group>
</el-row>
</el-row>

View File

@ -13,7 +13,6 @@ import type {AppServeDataResponse} from "@/interface/api/AppServeDataResponse.ts
import {AppServeResponseCodeEnum} from "@/constant/enums/AppServeResponseCodeEnum.ts";
import ConveyTaskDetailBak from "@/components/page/conveyTask/ConveyTaskDetailBak.vue";
import type {AppServeResponse} from "@/interface/api/AppServeResponse.ts";
import AppPermission from "@/components/manage/AppPermission.vue";
const querySearch = ref<IConveyTaskQuery>({}); //
const tableData = ref<IAppConveyTask[] | undefined>([]); //
@ -144,9 +143,9 @@ const handleEdit = (index: number, row: IAppConveyTask) => {
</el-row>
<el-row>
<el-button-group style="width: 100%;margin-left: 10px; margin-bottom: 10px">
<app-permission permission="conveyTaskBak:query"><el-button type="primary" @click="query">查询/刷新</el-button></app-permission>
<el-button type="primary" @click="query">查询/刷新</el-button>
<el-button type="warning" @click="resetInput">重置查询参数</el-button>
<app-permission permission="conveyTaskBak:export"><el-button type="info" @click="exportData">导出数据</el-button></app-permission>
<el-button type="info" @click="exportData">导出数据</el-button>
</el-button-group>
</el-row>
</el-row>

View File

@ -2,7 +2,7 @@
import {FormatterUtils} from "@/utils/FormatterUtils.ts";
import type {IEtagControllerQuery} from "@/interface/page/etagController/IEtagControllerQuery.ts";
import {onMounted, ref} from "vue";
import {ref} from "vue";
import type {IAppEtagController} from "@/model/table/IAppEtagController.ts";
import {useI18n} from "vue-i18n";
import MessageUtils from "@/utils/MessageUtils.ts";
@ -13,10 +13,7 @@ import type {AppServeDataResponse} from "@/interface/api/AppServeDataResponse.ts
import AddEtagController from "@/components/page/etagController/AddEtagController.vue";
import EditEtagController from "@/components/page/etagController/EditEtagController.vue";
import DebugEtagController from "@/components/page/etagController/DebugEtagController.vue";
import {menuStore} from "@/stores/menu.ts";
import AppPermission from "@/components/manage/AppPermission.vue";
const menuStoreInstance = menuStore();
const { t } = useI18n();
const querySearch = ref<IEtagControllerQuery>({}); //
const tableData = ref<IAppEtagController[]>([]); //
@ -29,15 +26,8 @@ const editDialogData = ref<IAppEtagController>({}); // 修改对话框数据
const showDebugDialog = ref<boolean>(false); //
const debugDialogData = ref<IAppEtagController>({});
onMounted(() => {
query();
})
//
const query = () => {
if(!menuStoreInstance.checkOperationPermission('etagController:query')) {
return;
}
const loadingInstance = MessageUtils.loading('请稍后');
EtagBaseApi.getEtagControllerInfo(pageIndex.value, pageSize.value, querySearch.value).then(res => {
const responseString = JSON.stringify(res.data);
@ -115,8 +105,8 @@ const debug = (row: IAppEtagController) => {
</el-form>
<el-row>
<el-button-group style="width: 100%;margin-left: 10px; margin-bottom: 10px">
<app-permission permission="etagController:query"><el-button type="primary" @click="query">{{t('baseButton.queryOrReflush')}}</el-button></app-permission>
<app-permission permission="etagController:add"><el-button type="success" @click="add">{{t('baseButton.addRecord')}}</el-button></app-permission>
<el-button type="primary" @click="query">{{t('baseButton.queryOrReflush')}}</el-button>
<el-button type="success" @click="add">{{t('baseButton.addRecord')}}</el-button>
<el-button type="warning" @click="resetInput">{{t('baseButton.resetInput')}}</el-button>
</el-button-group>
</el-row>

View File

@ -1,6 +1,6 @@
<script setup lang="ts">
import {useI18n} from "vue-i18n";
import {onMounted, ref} from "vue";
import {ref} from "vue";
import EtagLocationTypeFormatter from "@/plugin/formatter/EtagLocationTypeFormatter.ts";
import type {IEtagLocationQuery} from "@/interface/page/etagLocation/IEtagLocationQuery.ts";
import type {IAppEtagLocation} from "@/model/table/IAppEtagLocation.ts";
@ -11,10 +11,7 @@ import type {PageDataResponse} from "@/interface/api/PageDataResponse.ts";
import {AppServeResponseCodeEnum} from "@/constant/enums/AppServeResponseCodeEnum.ts";
import AddEtagLocation from "@/components/page/etagLocation/AddEtagLocation.vue";
import EditEtagLocation from "@/components/page/etagLocation/EditEtagLocation.vue";
import {menuStore} from "@/stores/menu.ts";
import AppPermission from "@/components/manage/AppPermission.vue";
const menuStoreInstance = menuStore();
const { t } = useI18n();
const pageSize = ref<number>(100); //
const pageIndex = ref<number>(1); //
@ -26,15 +23,8 @@ const showAddDialog = ref<boolean>(false); // 添加对话框显示
const showEditDialog = ref<boolean>(false); //
const editData = ref<IAppEtagLocation>({}); //
onMounted(() => {
query(); //
});
//
const query = () => {
if(!menuStoreInstance.checkOperationPermission('etagLocation:query')) {
return;
}
const loadingInstance = MessageUtils.loading();
EtagBaseApi.getEtagLocationInfo(pageIndex.value, pageSize.value, querySearch.value).then(res => {
const responseData = res.data;
@ -100,8 +90,8 @@ const edit = (row: any) => {
</el-form>
<el-row>
<el-button-group style="width: 100%;margin-left: 10px; margin-bottom: 10px">
<app-permission permission="etagLocation:query"><el-button type="primary" @click="query">{{t('baseButton.queryOrReflush')}}</el-button></app-permission>
<app-permission permission="etagLocation:add"><el-button type="success" @click="add">{{t('baseButton.addRecord')}}</el-button></app-permission>
<el-button type="primary" @click="query">{{t('baseButton.queryOrReflush')}}</el-button>
<el-button type="success" @click="add">{{t('baseButton.addRecord')}}</el-button>
<el-button type="warning" @click="resetInput">{{t('baseButton.resetInput')}}</el-button>
</el-button-group>
</el-row>

View File

@ -1,6 +1,6 @@
<script setup lang="ts">
import {onMounted, ref} from "vue";
import {ref} from "vue";
import {useI18n} from "vue-i18n";
import type {IEtagTagQuery} from "@/interface/page/etagTag/IEtagTagQuery.ts";
import type {IAppEtagTag} from "@/model/table/IAppEtagTag.ts";
@ -13,10 +13,7 @@ import {AppServeResponseCodeEnum} from "@/constant/enums/AppServeResponseCodeEnu
import AddEtagTag from "@/components/page/etagTag/AddEtagTag.vue";
import EditEtagTag from "@/components/page/etagTag/EditEtagTag.vue";
import EtagTagBusinessTypeFormatter from "@/plugin/formatter/EtagTagBusinessTypeFormatter.ts";
import {menuStore} from "@/stores/menu.ts";
import AppPermission from "@/components/manage/AppPermission.vue";
const menuStoreInstance = menuStore();
const { t } = useI18n();
const pageSize = ref<number>(100); //
const pageIndex = ref<number>(1); //
@ -29,15 +26,8 @@ const showAddDialog = ref<boolean>(false); // 添加标签对话框显示状态
const showEditDialog = ref<boolean>(false); //
const editDialogData = ref<IAppEtagTag>({}); //
onMounted(() => {
query(); //
});
//
const query = () => {
if(!menuStoreInstance.checkOperationPermission('etagTag:query')) {
return;
}
const loadingInstance = MessageUtils.loading("正在查询");
EtagBaseApi.getEtagTagInfo(pageIndex.value, pageSize.value, querySearch.value).then((res) => {
const responseString = JSON.stringify(res.data);
@ -46,7 +36,7 @@ const query = () => {
tableData.value = response.data.data ?? [];
totalPages.value = response.data.totalCount;
MessageUtils.successMessage("查询成功");
return;
return
}
MessageUtils.warningMessageBox(response.msg, '警告');
}).catch(() => {}).finally(() => {
@ -112,8 +102,8 @@ const add = () => {
</el-form>
<el-row>
<el-button-group style="width: 100%;margin-left: 10px; margin-bottom: 10px">
<app-permission permission="etagTag:query"><el-button type="primary" @click="query">{{t('baseButton.queryOrReflush')}}</el-button></app-permission>
<app-permission permission="etagTag:add"><el-button type="success" @click="add">{{t('baseButton.addRecord')}}</el-button></app-permission>
<el-button type="primary" @click="query">{{t('baseButton.queryOrReflush')}}</el-button>
<el-button type="success" @click="add">{{t('baseButton.addRecord')}}</el-button>
<el-button type="warning" @click="resetInput">{{t('baseButton.resetInput')}}</el-button>
</el-button-group>
</el-row>

View File

@ -1,6 +1,6 @@
<script setup lang="ts">
import {useI18n} from "vue-i18n";
import {onMounted, ref} from "vue";
import {ref} from "vue";
import type {IEtagTaskQuery} from "@/interface/page/etagTask/IEtagTaskQuery.ts";
import type {IAppEtagTask} from "@/model/table/IAppEtagTask.ts";
import {EtagTaskTypeFormatter} from "@/plugin/formatter/EtagTaskTypeFormatter.ts";
@ -14,10 +14,7 @@ import {AppServeResponseCodeEnum} from "@/constant/enums/AppServeResponseCodeEnu
import {FormatterUtils} from "@/utils/FormatterUtils.ts";
import AddEtagTask from "@/components/page/etagTask/AddEtagTask.vue";
import EditEtagTask from "@/components/page/etagTask/EditEtagTask.vue";
import {menuStore} from "@/stores/menu.ts";
import AppPermission from "@/components/manage/AppPermission.vue";
const menuStoreInstance = menuStore();
const { t } = useI18n();
const pageSize = ref<number>(100); //
const pageIndex = ref<number>(1); //
@ -31,15 +28,8 @@ const showAddDialog = ref<boolean>(false); // 添加对话框显示状态
const editFormData = ref<IAppEtagTask>({}); //
const showEditDialog = ref<boolean>(false); //
onMounted(() => {
query(); //
})
//
const query = () => {
if(!menuStoreInstance.checkOperationPermission('etagTask:query')) {
return;
}
const loadingInstance = MessageUtils.loading();
EtagTaskApi.queryEtagTask(querySearch.value, pageIndex.value, pageSize.value).then(res => {
const responseString = JSON.stringify(res.data);
@ -134,9 +124,9 @@ const edit = (row: IAppEtagTask) => {
</el-form>
<el-row>
<el-button-group style="width: 100%;margin-left: 10px; margin-bottom: 10px">
<app-permission permission="etagTask:query"><el-button type="primary" @click="query">{{t('baseButton.queryOrReflush')}}</el-button></app-permission>
<el-button type="primary" @click="query">{{t('baseButton.queryOrReflush')}}</el-button>
<el-button type="success" @click="add">{{t('baseButton.addRecord')}}</el-button>
<el-button type="warning" @click="resetInput">{{t('baseButton.resetInput')}}</el-button>
<app-permission permission="etagTask:add"><el-button type="success" @click="add">{{t('baseButton.addRecord')}}</el-button></app-permission>
</el-button-group>
</el-row>
</el-row>

View File

@ -13,10 +13,7 @@ import type {AppServeDataResponse} from "@/interface/api/AppServeDataResponse.ts
import {AppServeResponseCodeEnum} from "@/constant/enums/AppServeResponseCodeEnum.ts";
import {FormatterUtils} from "@/utils/FormatterUtils.ts";
import EditEtagTaskBak from "@/components/page/etagTask/EditEtagTaskBak.vue";
import {menuStore} from "@/stores/menu.ts";
import AppPermission from "@/components/manage/AppPermission.vue";
const menuStoreInstance = menuStore();
const { t } = useI18n();
const pageSize = ref<number>(100); //
const pageIndex = ref<number>(1); //
@ -31,9 +28,6 @@ const showEditDialog = ref<boolean>(false); // 修改窗口显示状态
//
const query = () => {
if(!menuStoreInstance.checkOperationPermission('etagTaskBak:query')) {
return;
}
const loadingInstance = MessageUtils.loading();
EtagTaskApi.queryEtagTaskBak(querySearch.value, pageIndex.value, pageSize.value).then(res => {
const responseString = JSON.stringify(res.data);
@ -124,7 +118,7 @@ const edit = (row: IAppEtagTask) => {
</el-form>
<el-row>
<el-button-group style="width: 100%;margin-left: 10px; margin-bottom: 10px">
<app-permission permission="etagTaskBak:query"><el-button type="primary" @click="query">{{t('baseButton.queryOrReflush')}}</el-button></app-permission>
<el-button type="primary" @click="query">{{t('baseButton.queryOrReflush')}}</el-button>
<el-button type="warning" @click="resetInput">{{t('baseButton.resetInput')}}</el-button>
</el-button-group>
</el-row>

View File

@ -323,7 +323,7 @@ const getOperationPermission = () => {
>
<template #default="{ node, data }">
<el-text v-if="node.level <= 2" type="primary">{{ data.menuId }} --> {{ data.menuName }}</el-text>
<el-text v-if="node.level == 3" type="primary">{{ data.menuName }}&nbsp;&nbsp;&nbsp;&nbsp;>>> {{ data.menuId }}</el-text>
<el-text v-if="node.level == 3" type="primary">{{ data.menuName }}</el-text>
</template>
</el-tree>
</el-scrollbar>

View File

@ -7,7 +7,6 @@ import vueDevTools from 'vite-plugin-vue-devtools'
// https://vite.dev/config/
export default defineConfig({
base: '/',
plugins: [
vue(),
vueJsx(),