添加一部分按钮权限

This commit is contained in:
葛林强 2026-02-15 16:28:27 +08:00
parent 54016a0b2d
commit a83e32eafd
32 changed files with 189 additions and 77 deletions

View File

@ -1,5 +1,6 @@
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;
@ -31,6 +32,7 @@ public class LedController {
* @param queryLedReq 查询LED屏基础资料请求
* @return 查询结果
*/
@SaCheckPermission("ledManage:query")
@PostMapping("/queryLed")
public AppServeDataResponse<List<QueryLedVo>> queryLed(@RequestBody QueryLedReq queryLedReq) {
return ledService.queryLed(queryLedReq);
@ -41,6 +43,7 @@ public class LedController {
* @param addBaseLedReq 新增LED屏基础资料请求
* @return 新增结果
*/
@SaCheckPermission("ledManage:add")
@PostMapping("/addBaseLed")
public AppServeResponse addBaseLed(@RequestBody @Validated AddBaseLedReq addBaseLedReq) {
return ledService.addBaseLed(addBaseLedReq);
@ -51,6 +54,7 @@ public class LedController {
* @param updateBaseLedReq 修改LED屏基础资料请求
* @return 修改结果
*/
@SaCheckPermission("ledManage:edit")
@PostMapping("/updateBaseLed")
public AppServeResponse updateBaseLed(@RequestBody @Validated UpdateBaseLedReq updateBaseLedReq) {
return ledService.updateBaseLed(updateBaseLedReq);
@ -61,8 +65,9 @@ public class LedController {
* @param id LED屏基础资料ID
* @return 删除结果
*/
@SaCheckPermission("ledManage:delete")
@DeleteMapping("/deleteBaseLed/{id}")
public AppServeResponse deleteBaseLed(@PathVariable("id") @NotBlank(message = "id不能为空") String id) {
public AppServeResponse deleteBaseLed(@PathVariable @NotBlank(message = "id不能为空") String id) {
return ledService.deleteBaseLed(id);
}

View File

@ -1,5 +1,6 @@
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,6 +33,7 @@ public class MenuController {
* @param queryMenuReq 查询菜单请求
* @return 查询结果
*/
@SaCheckPermission("menuManage:query")
@PostMapping("/queryMenu")
public AppServeDataResponse<List<QueryMenuResp>> queryMenu(@RequestBody QueryMenuReq queryMenuReq) {
return menuService.queryMenu(queryMenuReq);
@ -42,6 +44,7 @@ public class MenuController {
* @param addMenuReq 添加的数据
* @return 结果
*/
@SaCheckPermission("menuManage:add")
@PostMapping("/addMenu")
public AppServeResponse addMenu(@RequestBody @Validated AddMenuReq addMenuReq) {
return menuService.addMenu(addMenuReq);
@ -52,6 +55,7 @@ public class MenuController {
* @param menuId 菜单ID
* @return 结果
*/
@SaCheckPermission("menuManage:delete")
@DeleteMapping("/deleteMenu/{menuId}")
public AppServeResponse deleteMenu(@PathVariable @NotBlank(message = "菜单ID不能为空") String menuId) {
return menuService.deleteMenu(menuId);
@ -62,6 +66,7 @@ public class MenuController {
* @param updateMenuReq 更新的数据
* @return 结果
*/
@SaCheckPermission("menuManage:edit")
@PostMapping("/updateMenu")
public AppServeResponse updateMenu(@RequestBody @Validated UpdateMenuReq updateMenuReq) {
return menuService.updateMenu(updateMenuReq);
@ -72,6 +77,7 @@ public class MenuController {
* @param menuId 菜单ID
* @return 菜单权限列表
*/
@SaCheckPermission("menuManage:permission")
@GetMapping("/queryMenuPermission/{menuId}")
public AppServeDataResponse<List<MenuPermissionVo>> queryMenuPermission(@PathVariable String menuId) {
return menuService.queryMenuPermission(menuId);
@ -82,6 +88,7 @@ public class MenuController {
* @param request 添加的数据
* @return 添加结果
*/
@SaCheckPermission("menuManage:permission")
@PostMapping("/addBaseMenuPermission")
public AppServeResponse addBaseMenuPermission(@RequestBody @Validated AddBaseMenuPermission request) {
return menuService.addBaseMenuPermission(request);
@ -92,6 +99,7 @@ public class MenuController {
* @param permissionId 菜单权限ID
* @return 删除结果
*/
@SaCheckPermission("menuManage:permission")
@DeleteMapping("/deleteBaseMenuPermission/{permissionId}")
public AppServeResponse deleteBaseMenuPermission(@PathVariable @NotBlank(message = "权限ID不能为空") String permissionId) {
return menuService.deleteBaseMenuPermission(permissionId);

View File

@ -1,5 +1,6 @@
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;
@ -30,6 +31,7 @@ public class PlcController {
* @param queryPlcReq 查询 plc 请求
* @return 查询结果
*/
@SaCheckPermission("plcManage:query")
@PostMapping("/queryBasePlc")
public AppServeDataResponse<List<QueryBasePlcResp>> queryPlc(@RequestBody QueryBasePlcReq queryPlcReq) {
return plcService.queryPlc(queryPlcReq);
@ -40,6 +42,7 @@ public class PlcController {
* @param addPlcReq 新增 plc 请求
* @return 新增结果
*/
@SaCheckPermission("plcManage:add")
@PostMapping("/addPlc")
public AppServeResponse addPlc(@RequestBody @Validated AddPlcReq addPlcReq) {
return plcService.addPlc(addPlcReq);
@ -50,6 +53,7 @@ public class PlcController {
* @param updatePlcReq 修改 plc 请求
* @return 修改结果
*/
@SaCheckPermission("plcManage:edit")
@PostMapping("/updatePlc")
public AppServeResponse updatePlc(@RequestBody @Validated UpdatePlcReq updatePlcReq) {
return plcService.updatePlc(updatePlcReq);
@ -60,6 +64,7 @@ public class PlcController {
* @param plcId plcId
* @return 删除结果
*/
@SaCheckPermission("plcManage:delete")
@DeleteMapping("/deletePlc/{plcId}")
public AppServeResponse deletePlc(@PathVariable @NotNull(message = "plcId不能为空") Integer plcId) {
return plcService.deletePlc(plcId);

View File

@ -1,6 +1,7 @@
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;
@ -31,6 +32,7 @@ public class QuartzController {
* @param quartzReq 查询参数
* @return 结果
*/
@SaCheckPermission("quartzManage:query")
@PostMapping("/query")
public AppServeDataResponse<List<QueryResp>> query(@RequestBody QuartzReq quartzReq) {
return quartzService.query(quartzReq);
@ -41,6 +43,7 @@ public class QuartzController {
* @param addQuartzConfigReq 定时任务数据
* @return 添加结果
*/
@SaCheckPermission("quartzManage:add")
@PostMapping("/addQuartzConfig")
public AppServeResponse addQuartzConfig(@RequestBody @Validated AddQuartzConfigReq addQuartzConfigReq) {
return quartzService.addQuartzConfig(addQuartzConfigReq);
@ -51,6 +54,7 @@ public class QuartzController {
* @param className 类名
* @return 结果
*/
@SaCheckPermission("quartzManage:delete")
@DeleteMapping("/deleteQuartzConfig/{className}")
public AppServeResponse deleteQuartzConfig(@PathVariable @NotBlank(message = "类名不能为空") String className) {
return quartzService.deleteQuartzConfig(className);
@ -61,6 +65,7 @@ public class QuartzController {
* @param className 类名
* @return 结果
*/
@SaCheckPermission("quartzManage:switch")
@PutMapping("/stopQuartzJob/{className}")
public AppServeResponse stopQuartzJob(@PathVariable @NotBlank(message = "任务名称不能为空") String className) {
return quartzService.stopQuartzJob(className);
@ -71,6 +76,7 @@ public class QuartzController {
* @param className 类名
* @return 启动结果
*/
@SaCheckPermission("quartzManage:switch")
@PutMapping("/startQuartzJob/{className}")
public AppServeResponse startQuartzJob(@PathVariable @NotBlank(message = "任务名称不能为空") String className) {
return quartzService.startQuartzJob(className);
@ -81,6 +87,7 @@ public class QuartzController {
* @param updateQuartzConfigReq 定时任务数据
* @return 更新结果
*/
@SaCheckPermission("quartzManage:edit")
@PostMapping("/updateQuartzConfig")
public AppServeResponse updateQuartzConfig(@RequestBody @Validated UpdateQuartzConfigReq updateQuartzConfigReq) {
return quartzService.updateQuartzConfig(updateQuartzConfigReq);

View File

@ -1,5 +1,6 @@
package org.wcs.serve.controller.app;
import cn.dev33.satoken.annotation.SaCheckPermission;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import org.wcs.model.dto.serve.recordApi.QueryRecordApiRequestReq;
@ -28,6 +29,7 @@ public class RecordApiController {
* @param pageIndex 页码
* @return 查询结果
*/
@SaCheckPermission("recordApiRequest:query")
@PostMapping("/queryApiRequestWithPage")
public AppServeDataResponse<PageDataResponse<RecordApiRequestVo>> queryRecordApiRequest(@RequestBody QueryRecordApiRequestReq request, @RequestParam("pageSize") Integer pageSize, @RequestParam("pageIndex") Integer pageIndex) {
return recordApiRequestService.queryRecordApiRequest(request, pageSize, pageIndex);
@ -40,6 +42,7 @@ public class RecordApiController {
* @param pageIndex 页码
* @return 查询结果
*/
@SaCheckPermission("recordApiResponse:query")
@PostMapping("/queryApiResponseWithPage")
public AppServeDataResponse<PageDataResponse<RecordApiResponseVo>> queryRecordApiResponse(@RequestBody QueryRecordApiResponseReq request, @RequestParam("pageSize") Integer pageSize, @RequestParam("pageIndex") Integer pageIndex) {
return recordApiRequestService.queryRecordApiResponse(request, pageSize, pageIndex);

View File

@ -1,5 +1,6 @@
package org.wcs.serve.controller.app;
import cn.dev33.satoken.annotation.SaCheckPermission;
import jakarta.servlet.http.HttpServletResponse;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
@ -27,6 +28,7 @@ public class RecordErrorController {
* @param pageIndex 页面序号
* @return 查询结果
*/
@SaCheckPermission("equipmentError:query")
@PostMapping("queryEquipmentError")
public AppServeDataResponse<PageDataResponse<QueryEquipmentErrorVo>> queryEquipmentError(@RequestBody QueryEquipmentErrorReq request, Integer pageSize, Integer pageIndex) {
return recordErrorService.queryEquipmentError(request, pageSize, pageIndex);
@ -37,6 +39,7 @@ public class RecordErrorController {
* @param response 响应
* @param request 查询参数
*/
@SaCheckPermission("equipmentError:export")
@PostMapping("exportEquipmentError")
public void exportEquipmentError(HttpServletResponse response, @RequestBody QueryEquipmentErrorReq request) {
recordErrorService.exportEquipmentError(response, request);

View File

@ -1,5 +1,6 @@
package org.wcs.serve.controller.app;
import cn.dev33.satoken.annotation.SaCheckPermission;
import jakarta.servlet.http.HttpServletResponse;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
@ -30,6 +31,7 @@ public class RecordScanController {
* @param pageIndex 页码
* @return 扫码记录表列表
*/
@SaCheckPermission("recordScan:query")
@PostMapping("/queryWithPage")
public AppServeDataResponse<PageDataResponse<RecordScanVo>> queryRecordScan(@RequestBody QueryRecordScanReq request, @RequestParam("pageSize") Integer pageSize, @RequestParam("pageIndex") Integer pageIndex) {
return recordScanService.queryRecordScan(request, pageSize, pageIndex);
@ -40,6 +42,7 @@ public class RecordScanController {
* @param request 查询参数
* @return 扫码率
*/
@SaCheckPermission("recordScan:query")
@PostMapping("/queryScanRatio")
public AppServeDataResponse<BigDecimal> queryRecordScanRatio(@RequestBody QueryRecordScanReq request) {
return recordScanService.queryRecordScanRatio(request);
@ -50,6 +53,7 @@ public class RecordScanController {
* @param response 响应
* @param request 扫码记录表查询参数
*/
@SaCheckPermission("recordScan:export")
@PostMapping("/downLoadRecordScan")
public void downLoadRecordScan(HttpServletResponse response, @RequestBody QueryRecordScanReq request) {
recordScanService.downLoadRecordScan(response, request);

View File

@ -1,5 +1,6 @@
package org.wcs.serve.controller.app;
import cn.dev33.satoken.annotation.SaCheckPermission;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@ -30,6 +31,7 @@ public class SiemensDbController {
* @param request 查询参数
* @return 查询结果
*/
@SaCheckPermission("siemensDbManage:query")
@PostMapping("/querySiemensDbByPage")
public AppServeDataResponse<PageDataResponse<SiemensDbVo>> querySiemensDb(@RequestParam("pageIndex") Integer pageIndex, @RequestParam("pageSize") Integer pageSize, @RequestBody QuerySiemensDbReq request) {
return siemensDbService.querySiemensDb(pageIndex, pageSize, request);
@ -40,6 +42,7 @@ public class SiemensDbController {
* @param request 新增参数
* @return 新增结果
*/
@SaCheckPermission("siemensDbManage:add")
@PostMapping("/addSiemensDb")
public AppServeResponse addSiemensDb(@RequestBody @Validated AddSiemensDbReq request) {
return siemensDbService.addSiemensDb(request);
@ -50,6 +53,7 @@ public class SiemensDbController {
* @param request 修改参数
* @return 修改结果
*/
@SaCheckPermission("siemensDbManage:edit")
@PostMapping("/updateSiemensDb")
public AppServeResponse updateSiemensDb(@RequestBody @Validated UpdateSiemensDbReq request) {
return siemensDbService.updateSiemensDb(request);
@ -60,6 +64,7 @@ public class SiemensDbController {
* @param dbName DB名称
* @return 删除结果
*/
@SaCheckPermission("siemensDbManage:delete")
@DeleteMapping("/deleteSiemensDb")
public AppServeResponse deleteSiemensDb(@RequestParam("dbName") String dbName) {
return siemensDbService.deleteSiemensDb(dbName);
@ -69,6 +74,7 @@ public class SiemensDbController {
* 重新加载DB地址
* @return 重新加载结果
*/
@SaCheckPermission("siemensDbManage:reload")
@PutMapping("/reloadDbAddress")
public AppServeResponse reloadDbAddress() {
return siemensDbService.reloadDbAddress();

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

@ -115,10 +115,8 @@ const confirm = () => {
<el-divider>
<el-icon><star-filled /></el-icon>
</el-divider>
</el-col>
</el-row>
</el-scrollbar>
<template #footer>
<el-button-group>

View File

@ -8,6 +8,7 @@ import MessageUtils from "@/utils/MessageUtils.ts";
import LedApi from "@/api/led.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']);
@ -82,7 +83,7 @@ const add = () => {
</el-scrollbar>
<template #footer>
<el-button-group>
<el-button type="primary" @click="add">确定添加</el-button>
<app-permission permission="ledManage:add"><el-button type="primary" @click="add">确定添加</el-button></app-permission>
<el-button type="danger" @click="close">关闭窗口</el-button>
</el-button-group>
</template>

View File

@ -8,6 +8,7 @@ import MessageUtils from "@/utils/MessageUtils.ts";
import LedApi from "@/api/led.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']);
@ -112,9 +113,9 @@ const calibrateTime = () => {
</el-scrollbar>
<template #footer>
<el-button-group>
<el-button type="primary" @click="save">保存变更</el-button>
<app-permission permission="ledManage:edit"><el-button type="primary" @click="save">保存变更</el-button></app-permission>
<el-button type="success" @click="calibrateTime">校准时间</el-button>
<el-button type="warning" @click="deleteData">删除数据</el-button>
<app-permission permission="ledManage:delete"><el-button type="warning" @click="deleteData">删除数据</el-button></app-permission>
<el-button type="danger" @click="close">关闭窗口</el-button>
</el-button-group>
</template>

View File

@ -7,6 +7,7 @@ import MessageUtils from "@/utils/MessageUtils.ts";
import MenuApi from "@/api/menu.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']);
@ -83,7 +84,7 @@ const add = () => {
</el-scrollbar>
<template #footer>
<el-button-group>
<el-button type="primary" @click="add">确定添加</el-button>
<app-permission permission="menuManage:add"><el-button type="primary" @click="add">确定添加</el-button></app-permission>
<el-button type="danger" @click="close">关闭窗口</el-button>
</el-button-group>
</template>

View File

@ -9,7 +9,10 @@ import {AppServeResponseCodeEnum} from "@/constant/enums/AppServeResponseCodeEnu
import StringUtils from "@/utils/StringUtils.ts";
import type {IBaseMenuPermissionVo} from "@/model/table/IBaseMenuPermissionVo.ts";
import type {AppServeDataResponse} from "@/interface/api/AppServeDataResponse.ts";
import AppPermission from "@/components/manage/AppPermission.vue";
import {menuStore} from "@/stores/menu.ts";
const menuStoreInstance = menuStore();
const modelValue = defineModel('modelValue', {required: true, default: false});
const props = defineProps(['formData']);
const emit = defineEmits(['reLoadingTableData']);
@ -73,6 +76,9 @@ const save = () => {
}
//
const queryMenuPermission = () => {
if(!menuStoreInstance.checkOperationPermission('menuManage:permission')) {
return;
}
if(isFirstMenu.value) {
return; //
}
@ -168,6 +174,7 @@ const deleteMenuPermission = (row: any) => {
</el-form-item>
</el-form>
</el-col>
<app-permission permission="menuManage:permission">
<el-col :span="13" :offset="1" v-if="!isFirstMenu">
<h3 style="margin-bottom: 10px; font-weight: bolder">子权限编辑新增</h3>
<el-form label-position="left" label-width="100px" require-asterisk-position="right">
@ -195,12 +202,13 @@ const deleteMenuPermission = (row: any) => {
</el-table-column>
</el-table>
</el-col>
</app-permission>
</el-row>
</el-scrollbar>
<template #footer>
<el-button-group>
<el-button type="warning" @click="deleteMenu">删除菜单(!)</el-button>
<el-button type="primary" @click="save">保存修改</el-button>
<app-permission permission="menuManage:delete"><el-button type="warning" @click="deleteMenu">删除菜单(!)</el-button></app-permission>
<app-permission permission="menuManage:edit"><el-button type="primary" @click="save">保存修改</el-button></app-permission>
<el-button type="danger" @click="close">关闭窗口</el-button>
</el-button-group>
</template>

View File

@ -7,6 +7,7 @@ import StringUtils from "@/utils/StringUtils.ts";
import {PlcApi} from "@/api/plc.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']);
@ -82,7 +83,7 @@ const add = () => {
</el-scrollbar>
<template #footer>
<el-button-group>
<el-button type="primary" @click="add">确定添加</el-button>
<app-permission permission="plcManage:add"><el-button type="primary" @click="add">确定添加</el-button></app-permission>
<el-button type="danger" @click="close">关闭窗口</el-button>
</el-button-group>
</template>

View File

@ -4,6 +4,7 @@ import MessageUtils from "@/utils/MessageUtils.ts";
import {PlcApi} from "@/api/plc.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']);
@ -96,8 +97,8 @@ const deleteData = () => {
</el-scrollbar>
<template #footer>
<el-button-group>
<el-button type="primary" @click="save">保存数据</el-button>
<el-button type="warning" @click="deleteData">删除数据</el-button>
<app-permission permission="plcManage:edit"><el-button type="primary" @click="save">保存数据</el-button></app-permission>
<app-permission permission="plcManage:delete"><el-button type="warning" @click="deleteData">删除数据</el-button></app-permission>
<el-button type="danger" @click="close">关闭窗口</el-button>
</el-button-group>
</template>

View File

@ -7,6 +7,7 @@ import MessageUtils from "@/utils/MessageUtils.ts";
import QuartzApi from "@/api/quartz.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']);
@ -69,7 +70,7 @@ const add = () => {
</el-scrollbar>
<template #footer>
<el-button-group>
<el-button type="primary" @click="add">确定添加</el-button>
<app-permission permission="quartzManage:add"><el-button type="primary" @click="add">确定添加</el-button></app-permission>
<el-button type="danger" @click="close">关闭窗口</el-button>
</el-button-group>
</template>

View File

@ -5,6 +5,7 @@ import MessageUtils from "@/utils/MessageUtils.ts";
import QuartzApi from "@/api/quartz.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 props = defineProps(["formData"]);
@ -118,16 +119,18 @@ const save = () => {
</el-scrollbar>
<template #footer>
<el-row>
<app-permission permission="quartzManage:switch">
<el-col :span="16">
<el-button-group>
<el-button type="success" @click="startJob">启动任务</el-button>
<el-button type="warning" @click="stopJob">停止任务</el-button>
</el-button-group>
</el-col>
</app-permission>
<el-col :span="8">
<el-button-group>
<el-button type="primary" @click="save">保存修改</el-button>
<el-button type="warning" @click="deleteData">删除数据</el-button>
<app-permission permission="quartzManage:edit"><el-button type="primary" @click="save">保存修改</el-button></app-permission>
<app-permission permission="quartzManage:delete"><el-button type="warning" @click="deleteData">删除数据</el-button></app-permission>
<el-button type="danger" @click="close">关闭窗口</el-button>
</el-button-group>
</el-col>

View File

@ -5,6 +5,7 @@ import 'vue-json-pretty/lib/styles.css';
import {computed} from "vue";
import {FormatterUtils} from "@/utils/FormatterUtils.ts";
import TrueFalseTagStyleFormatter from "@/plugin/formatter/TrueFalseTagStyleFormatter.ts";
import AppPermission from "@/components/manage/AppPermission.vue";
const modelValue = defineModel<boolean>("modelValue", { default: false});
const props = defineProps(["formData"]);
@ -91,7 +92,7 @@ const close = () => {
</el-col>
</el-row>
<template #footer>
<el-button type="primary" >重新发送</el-button>
<app-permission permission="recordApiRequest:resend"><el-button type="primary">重新发送</el-button></app-permission>
<el-button type="danger" @click="close">关闭窗口</el-button>
</template>
</el-drawer>

View File

@ -7,6 +7,7 @@ import MessageUtils from "@/utils/MessageUtils.ts";
import SiemensDbApi from "@/api/siemensDb.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']);
@ -70,7 +71,7 @@ const add = () => {
</el-scrollbar>
<template #footer>
<el-button-group>
<el-button type="primary" @click="add">{{t('baseButton.add')}}</el-button>
<app-permission permission="siemensDbManage:add"><el-button type="primary" @click="add">{{t('baseButton.add')}}</el-button></app-permission>
<el-button type="danger" @click="close">{{t('baseButton.close')}}</el-button>
</el-button-group>
</template>

View File

@ -7,6 +7,7 @@ import MessageUtils from "@/utils/MessageUtils.ts";
import SiemensDbApi from "@/api/siemensDb.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']);
@ -92,8 +93,8 @@ const deleteData = () => {
</el-scrollbar>
<template #footer>
<el-button-group>
<el-button type="primary" @click="save">{{t('baseButton.save')}}</el-button>
<el-button type="warning" @click="deleteData">{{t('baseButton.delete')}}</el-button>
<app-permission permission="siemensDbManage:edit"><el-button type="primary" @click="save">{{t('baseButton.save')}}</el-button></app-permission>
<app-permission permission="siemensDbManage:close"><el-button type="warning" @click="deleteData">{{t('baseButton.delete')}}</el-button></app-permission>
<el-button type="danger" @click="close">{{t('baseButton.close')}}</el-button>
</el-button-group>
</template>

View File

@ -2,7 +2,7 @@
import {Lightning} from "@element-plus/icons-vue";
import type {ILedBaseSearch} from "@/interface/page/led/ILedBaseSearch.ts";
import {ref} from "vue";
import {onMounted, ref} from "vue";
import type {IAppBaseLed} from "@/model/table/IAppBaseLed.ts";
import LedBrandFormatter from "@/plugin/formatter/LedBrandFormatter.ts";
import TrueFalseTagStyleFormatter from "@/plugin/formatter/TrueFalseTagStyleFormatter.ts";
@ -13,7 +13,10 @@ import {AppServeResponseCodeEnum} from "@/constant/enums/AppServeResponseCodeEnu
import type {AppServeDataResponse} from "@/interface/api/AppServeDataResponse.ts";
import AddLedComponent from "@/components/page/led/AddLedComponent.vue";
import LedDetailComponent from "@/components/page/led/LedDetailComponent.vue";
import {menuStore} from "@/stores/menu.ts";
import AppPermission from "@/components/manage/AppPermission.vue";
const menuStoreInstance = menuStore();
const ledSearch = ref<ILedBaseSearch>({ ledBrand: 0}); //
const tableData = ref<IAppBaseLed[]>([]); //
const ledBrandFormatter = new LedBrandFormatter();
@ -23,8 +26,15 @@ const showAdd = ref<boolean>(false); // 添加LED显示
const showDetail = ref<boolean>(false); // LED
const detailData = ref<IAppBaseLed>({});// LED
onMounted(() => {
query();
});
//
const query = () => {
if(!menuStoreInstance.checkOperationPermission('ledManage:query')) {
return;
}
const loadingInstance = MessageUtils.loading("正在查询");
LedApi.queryLed(ledSearch.value).then((result) => {
const responseString = JSON.stringify(result.data);
@ -87,9 +97,9 @@ const handleEdit = (index: number, row: IAppBaseLed) => {
</el-row>
<el-row>
<el-button-group style="width: 100%;margin-left: 10px; margin-bottom: 10px">
<el-button type="primary" @click="query">查询/刷新</el-button>
<app-permission permission="ledManage:query"><el-button type="primary" @click="query">查询/刷新</el-button></app-permission>
<el-button type="warning" @click="resetInput">重置查询参数</el-button>
<el-button type="success" @click="addLed"><el-icon><Lightning /></el-icon>LED</el-button>
<app-permission permission="ledManage:add"><el-button type="success" @click="addLed"><el-icon><Lightning /></el-icon>LED</el-button></app-permission>
<!-- <el-button type="info" @click="">重载LED配置</el-button>-->
</el-button-group>
</el-row>

View File

@ -13,7 +13,10 @@ import StringUtils from "@/utils/StringUtils.ts";
import MenuTagStyleFormatter from "@/plugin/formatter/MenuTagStyleFormatter.ts"
import AddMenuComponent from "@/components/page/menu/AddMenuComponent.vue";
import MenuDetailComponent from "@/components/page/menu/MenuDetailComponent.vue";
import {menuStore} from "@/stores/menu.ts";
import AppPermission from "@/components/manage/AppPermission.vue";
const menuStoreInstance = menuStore();
const menuSearch = ref<IMenuSearch>({menuId: '', menuName: '', menuLevel: null}); //
const menuTagStyleFormatter = new MenuTagStyleFormatter(); // tag
const queryMenuResult = ref<IAppBaseMenu[]>([]); //
@ -27,6 +30,9 @@ onMounted(() => {
//
const query = () => {
if(!menuStoreInstance.checkOperationPermission('menuManage:query')) {
return;
}
const loading = MessageUtils.loading('正在查询');
MenuApi.queryMenu(menuSearch.value).then((result) => {
const responseString = JSON.stringify(result.data);
@ -88,9 +94,9 @@ const handleEdit = (index: number, row: any) => {
</el-row>
<el-row>
<el-button-group style="width: 100%;margin-left: 10px; margin-bottom: 10px">
<el-button type="primary" @click="query">查询/刷新</el-button>
<app-permission permission="menuManage:query"><el-button type="primary" @click="query">查询/刷新</el-button></app-permission>
<el-button type="warning" @click="resetInput">重置查询参数</el-button>
<el-button type="success" @click="addMenu"><el-icon><Lightning /></el-icon></el-button>
<app-permission permission="menuManage:add"><el-button type="success" @click="addMenu"><el-icon><Lightning /></el-icon></el-button></app-permission>
</el-button-group>
</el-row>
</el-row>

View File

@ -12,7 +12,10 @@ import PlcTypeFormatter from "@/plugin/formatter/PlcTypeFormatter.ts";
import TrueFalseTagStyleFormatter from "@/plugin/formatter/TrueFalseTagStyleFormatter.ts";
import AddPlcComponent from "@/components/page/plc/AddPlcComponent.vue";
import PlcDetailComponent from "@/components/page/plc/PlcDetailComponent.vue";
import {menuStore} from "@/stores/menu.ts";
import AppPermission from "@/components/manage/AppPermission.vue";
const menuStoreInstance = menuStore();
const plcSearch = ref<IPlcSearch>({ plcType: 1}); //
const tableData = ref<IPlcTableVo[]>([]); //
const plcTypeFormatter = new PlcTypeFormatter(); // plc
@ -27,6 +30,9 @@ onMounted(() => {
//
const query = () => {
if(!menuStoreInstance.checkOperationPermission('plcManage:query')) {
return;
}
const loadingInstance = MessageUtils.loading();
PlcApi.queryPlc(plcSearch.value).then((result) => {
const responseString = JSON.stringify(result.data);
@ -88,9 +94,9 @@ const handleEdit = (index: number, row: any) => {
</el-row>
<el-row>
<el-button-group style="width: 100%;margin-left: 10px; margin-bottom: 10px">
<el-button type="primary" @click="query">查询/刷新</el-button>
<app-permission permission="plcManage:query"><el-button type="primary" @click="query">查询/刷新</el-button></app-permission>
<el-button type="warning" @click="resetInput">重置查询参数</el-button>
<el-button type="success" @click="addPlc"><el-icon><Lightning /></el-icon>PLC</el-button>
<app-permission permission="plcManage:add"><el-button type="success" @click="addPlc"><el-icon><Lightning /></el-icon>PLC</el-button></app-permission>
<!-- <el-button type="info" @click="">重载PLC配置</el-button>-->
</el-button-group>
</el-row>

View File

@ -11,7 +11,10 @@ import {AppServeResponseCodeEnum} from "@/constant/enums/AppServeResponseCodeEnu
import TrueFalseTagStyleFormatter from "@/plugin/formatter/TrueFalseTagStyleFormatter.ts";
import AddQuartzComponent from "@/components/page/quartz/AddQuartzComponent.vue";
import QuartzDetailComponent from "@/components/page/quartz/QuartzDetailComponent.vue";
import {menuStore} from "@/stores/menu.ts";
import AppPermission from "@/components/manage/AppPermission.vue";
const menuStoreInstance = menuStore();
const quartzSearch = ref<IQuartzSearch>({}); //
const tableData = ref<IQuartzTableData[]>([]); //
const trueFalseFormatter = new TrueFalseTagStyleFormatter(); //
@ -30,6 +33,9 @@ const resetInput = () => {
//
const query = () => {
if(!menuStoreInstance.checkOperationPermission('quartzManage:query')) {
return;
}
const loadingInstance = MessageUtils.loading();
QuartzApi.query(quartzSearch.value).then((res) => {
const responseString = JSON.stringify(res.data);
@ -80,9 +86,9 @@ const addQuartzComponent = () => {
</el-row>
<el-row>
<el-button-group style="width: 100%;margin-left: 10px; margin-bottom: 10px">
<el-button type="primary" @click="query">查询/刷新</el-button>
<app-permission permission="quartzManage:query"><el-button type="primary" @click="query">查询/刷新</el-button></app-permission>
<el-button type="warning" @click="resetInput">重置查询参数</el-button>
<el-button type="success" @click="addQuartzComponent">添加配置</el-button>
<app-permission permission="quartzManage:add"><el-button type="success" @click="addQuartzComponent">添加配置</el-button></app-permission>
</el-button-group>
</el-row>
</el-row>

View File

@ -11,7 +11,10 @@ import type {PageDataResponse} from "@/interface/api/PageDataResponse.ts";
import {AppServeResponseCodeEnum} from "@/constant/enums/AppServeResponseCodeEnum.ts";
import MessageUtils from "@/utils/MessageUtils.ts";
import RecordApiRequestDetail from "@/components/page/recordApi/RecordApiRequestDetail.vue";
import {menuStore} from "@/stores/menu.ts";
import AppPermission from "@/components/manage/AppPermission.vue";
const menuStoreInstance = menuStore();
const trueFalseTagStyleFormatter = new TrueFalseTagStyleFormatter();
const pageSize = ref<number>(100); //
const pageIndex = ref<number>(1); //
@ -27,6 +30,9 @@ onMounted(() => {
//
const query = () => {
if(!menuStoreInstance.checkOperationPermission('recordApiRequest:query')) {
return;
}
const loading = MessageUtils.loading();
RecordApi.queryApiRequest(querySearch.value, pageSize.value, pageIndex.value).then(res => {
const stringify = JSON.stringify(res.data);
@ -96,9 +102,9 @@ const handleEdit = (index: number, row: any) => {
</el-form>
<el-row>
<el-button-group style="width: 100%;margin-left: 10px; margin-bottom: 10px">
<el-button type="primary" @click="query">查询/刷新</el-button>
<app-permission permission="recordApiRequest:query"><el-button type="primary" @click="query">查询/刷新</el-button></app-permission>
<el-button type="warning" @click="resetInput">重置查询参数</el-button>
<el-button type="info" >导出数据</el-button>
<app-permission permission="recordApiRequest:export"><el-button type="info" >导出数据</el-button></app-permission>
</el-button-group>
</el-row>
</el-row>

View File

@ -10,7 +10,10 @@ import MessageUtils from "@/utils/MessageUtils.ts";
import type {IRecordApiResponseSearch} from "@/interface/page/recordApi/IRecordApiResponseSearch.ts";
import type {IRecordApiResponseData} from "@/model/table/IRecordApiResponseData.ts";
import RecordApiResponseDetail from "@/components/page/recordApi/RecordApiResponseDetail.vue";
import {menuStore} from "@/stores/menu.ts";
import AppPermission from "@/components/manage/AppPermission.vue";
const menuStoreInstance = menuStore();
const pageSize = ref<number>(100); //
const pageIndex = ref<number>(1); //
const totalPages = ref<number | undefined>(1); //
@ -25,6 +28,9 @@ onMounted(() => {
//
const query = () => {
if(!menuStoreInstance.checkOperationPermission('recordApiResponse:query')) {
return;
}
const loading = MessageUtils.loading();
RecordApi.queryApiResponse(querySearch.value, pageSize.value, pageIndex.value).then(res => {
const stringify = JSON.stringify(res.data);
@ -93,9 +99,9 @@ const handleEdit = (index: number, row: any) => {
</el-form>
<el-row>
<el-button-group style="width: 100%;margin-left: 10px; margin-bottom: 10px">
<el-button type="primary" @click="query">查询/刷新</el-button>
<app-permission permission="recordApiResponse:query"><el-button type="primary" @click="query">查询/刷新</el-button></app-permission>
<el-button type="warning" @click="resetInput">重置查询参数</el-button>
<el-button type="info" >导出数据</el-button>
<app-permission permission="recordApiResponse:export"><el-button type="info" >导出数据</el-button></app-permission>
</el-button-group>
</el-row>
</el-row>

View File

@ -14,7 +14,10 @@ import {AppServeResponseCodeEnum} from "@/constant/enums/AppServeResponseCodeEnu
import {FormatterUtils} from "@/utils/FormatterUtils.ts";
import EquipmentErrorDetail from "@/components/page/recordEquipmentError/EquipmentErrorDetail.vue";
import type {IAppBaseErrorInfo} from "@/model/table/IAppBaseErrorInfo.ts";
import {menuStore} from "@/stores/menu.ts";
import AppPermission from "@/components/manage/AppPermission.vue";
const menuStoreInstance = menuStore();
const queryParams = ref<IEquipmentErrorSearch>({});
const errorBaseEquipmentTypeFormatter = new ErrorBaseEquipmentTypeFormatter(); //
const errorLevelFormatter = new ErrorLevelFormatter(); //
@ -28,6 +31,9 @@ const detailData = ref<IAppBaseErrorInfo>();
//
const query = () => {
if(!menuStoreInstance.checkOperationPermission('equipmentError:query')) {
return;
}
const loadingInstance = MessageUtils.loading();
RecordErrorApi.queryEquipmentError(queryParams.value, pageSize.value, pageIndex.value).then(res => {
const responseStr = JSON.parse(JSON.stringify(res.data));
@ -110,9 +116,9 @@ const exportData = () => {
</el-row>
<el-row style="width: 100%">
<el-button-group style="width: 100%;margin-left: 10px; margin-bottom: 10px">
<el-button type="primary" @click="query">查询/刷新</el-button>
<app-permission permission="equipmentError:query"><el-button type="primary" @click="query">查询/刷新</el-button></app-permission>
<el-button type="warning" @click="resetInput">重置查询参数</el-button>
<el-button type="info" @click="exportData">导出数据</el-button>
<app-permission permission="equipmentError:export"><el-button type="info" @click="exportData">导出数据</el-button></app-permission>
</el-button-group>
</el-row>
</el-row>

View File

@ -11,6 +11,7 @@ import type {PageDataResponse} from "@/interface/api/PageDataResponse.ts";
import {AppServeResponseCodeEnum} from "@/constant/enums/AppServeResponseCodeEnum.ts";
import MessageUtils from "@/utils/MessageUtils.ts";
import RecordScanApi from "@/api/recordScan.ts";
import AppPermission from "@/components/manage/AppPermission.vue";
const tableData = ref<IRecordScanData[] | undefined>([]); //
const querySearch = ref<IRecordScanSearch>({});
@ -127,9 +128,9 @@ onMounted(() => {
</el-form>
<el-row>
<el-button-group style="width: 100%;margin-left: 10px; margin-bottom: 10px">
<el-button type="primary" @click="query">查询/刷新</el-button>
<app-permission permission="recordScan:query"><el-button type="primary" @click="query">查询/刷新</el-button></app-permission>
<el-button type="warning" @click="resetInput">重置查询参数</el-button>
<el-button type="info" @click="downLoad">导出数据</el-button>
<app-permission permission="recordScan:export"><el-button type="info" @click="downLoad">导出数据</el-button></app-permission>
</el-button-group>
</el-row>
</el-col>

View File

@ -13,8 +13,11 @@ import type {PageDataResponse} from "@/interface/api/PageDataResponse.ts";
import AddSiemensDb from "@/components/page/siemensDb/AddSiemensDb.vue";
import EditSiemensDb from "@/components/page/siemensDb/EditSiemensDb.vue";
import type {AppServeResponse} from "@/interface/api/AppServeResponse.ts";
import {menuStore} from "@/stores/menu.ts";
import AppPermission from "@/components/manage/AppPermission.vue";
const { t } = useI18n();
const menuStoreInstance = menuStore();
const searchParams = ref<ISiemensDbSearch>({ plcId: 0 }); //
const tableData = ref<IAppBaseDb[]>([]); //
const pageSize = ref<number>(100); //
@ -26,6 +29,9 @@ const editDialogData = ref<IAppBaseDb>({}); // 修改记录的弹窗数据
//
const query = () => {
if(!menuStoreInstance.checkOperationPermission('siemensDbManage:query')) {
return;
}
const loadingInstance = MessageUtils.loading("正在查询");
SiemensDbApi.getAppBaseDb(pageIndex.value, pageSize.value, searchParams.value).then((result) => {
const responseString = JSON.stringify(result.data);
@ -101,10 +107,10 @@ const reloadDb = () => {
</el-row>
<el-row>
<el-button-group style="width: 100%;margin-left: 10px; margin-bottom: 10px">
<el-button type="primary" @click="query">{{t('baseButton.queryOrReflush')}}</el-button>
<app-permission permission="siemensDbManage:query"><el-button type="primary" @click="query">{{t('baseButton.queryOrReflush')}}</el-button></app-permission>
<el-button type="warning" @click="resetInput">{{t('baseButton.resetInput')}}</el-button>
<el-button type="success" @click="addRecord"><el-icon><Lightning /></el-icon>{{t('baseButton.addRecord')}}</el-button>
<el-button type="info" @click="reloadDb">{{t('tabPage.siemensDbManage.reloadDb')}}</el-button>
<app-permission permission="siemensDbManage:add"><el-button type="success" @click="addRecord"><el-icon><Lightning /></el-icon>{{t('baseButton.addRecord')}}</el-button></app-permission>
<app-permission permission="siemensDbManage:reload"><el-button type="info" @click="reloadDb">{{t('tabPage.siemensDbManage.reloadDb')}}</el-button></app-permission>
</el-button-group>
</el-row>
</el-row>

View File

@ -322,7 +322,7 @@ const getOperationPermission = () => {
:props="{children: 'children'}"
>
<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 <= 2" type="warning">{{ 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>
</template>
</el-tree>