安全穿透功能实现

dev_xd
lj7788 2026-04-10 17:03:21 +08:00
parent 307b2d260e
commit d35b6d6ad7
23 changed files with 3224 additions and 0 deletions

View File

@ -0,0 +1,118 @@
/*
Navicat Premium Dump SQL
Source Server : 62.234.3.186
Source Server Type : MySQL
Source Server Version : 80037 (8.0.37)
Source Host : 62.234.3.186:3306
Source Schema : yanzhu_project_cloud
Target Server Type : MySQL
Target Server Version : 80037 (8.0.37)
File Encoding : 65001
Date: 10/04/2026 16:21:07
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for sys_menu
-- ----------------------------
DROP TABLE IF EXISTS `sys_menu`;
CREATE TABLE `sys_menu` (
`menu_id` bigint NOT NULL AUTO_INCREMENT COMMENT '菜单ID',
`menu_name` varchar(50) NOT NULL COMMENT '菜单名称',
`parent_id` bigint DEFAULT '0' COMMENT '父菜单ID',
`order_num` int DEFAULT '0' COMMENT '显示顺序',
`path` varchar(200) DEFAULT '' COMMENT '路由地址',
`component` varchar(255) DEFAULT NULL COMMENT '组件路径',
`query` varchar(255) DEFAULT NULL COMMENT '路由参数',
`is_frame` int DEFAULT '1' COMMENT '是否为外链0是 1否',
`is_cache` int DEFAULT '0' COMMENT '是否缓存0缓存 1不缓存',
`menu_type` char(1) DEFAULT '' COMMENT '菜单类型M目录 C菜单 F按钮',
`visible` char(1) DEFAULT '0' COMMENT '菜单状态0显示 1隐藏',
`status` char(1) DEFAULT '0' COMMENT '菜单状态0正常 1停用',
`perms` varchar(100) DEFAULT NULL COMMENT '权限标识',
`icon` varchar(100) DEFAULT '#' COMMENT '菜单图标',
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) DEFAULT '' COMMENT '备注',
PRIMARY KEY (`menu_id`)
) ENGINE=InnoDB AUTO_INCREMENT=3467 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='菜单权限表';
-- ----------------------------
-- Records of sys_menu
-- ----------------------------
BEGIN;
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3403, 'LED监控', 5, 65, 'ledRunInfo', 'system/ledscreen/ledRunInfo', NULL, 1, 0, 'C', '0', '0', 'system:ledruninfo:list', 'logininfor', 'yzadmin', '2026-01-04 16:06:47', 'yzadmin', '2026-01-04 16:07:20', '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3404, '安全穿透式管理', 0, 25, 'safe_penetration', NULL, NULL, 1, 0, 'M', '0', '0', '', 'validCode', 'yzadmin', '2026-04-10 14:24:57', 'yzadmin', '2026-04-10 14:25:17', '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3405, '基础信息设置', 3404, 10, 'base_setting', NULL, NULL, 1, 0, 'M', '0', '0', NULL, 'system', 'yzadmin', '2026-04-10 14:26:14', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3406, '管理穿透', 3404, 20, 'mgr_penetration', NULL, NULL, 1, 0, 'M', '0', '0', NULL, 'validCode', 'yzadmin', '2026-04-10 14:27:53', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3407, '网格管理', 3404, 1, 'safePenetrationGrid', 'manage/safePenetrationGrid/index', NULL, 1, 0, 'C', '0', '0', 'manage:safePenetrationGrid:list', '9screen', 'admin', '2026-04-10 14:59:28', 'yzadmin', '2026-04-10 16:16:32', '网格菜单');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3408, '网格查询', 3407, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'manage:safePenetrationGrid:query', '#', 'admin', '2026-04-10 14:59:28', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3409, '网格新增', 3407, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'manage:safePenetrationGrid:add', '#', 'admin', '2026-04-10 14:59:28', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3410, '网格修改', 3407, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'manage:safePenetrationGrid:edit', '#', 'admin', '2026-04-10 14:59:28', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3411, '网格删除', 3407, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'manage:safePenetrationGrid:remove', '#', 'admin', '2026-04-10 14:59:29', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3412, '网格导出', 3407, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'manage:safePenetrationGrid:export', '#', 'admin', '2026-04-10 14:59:29', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3413, '工点管理', 3405, 1, 'safePenetrationWorkspace', 'manage/safePenetrationWorkspace/index', NULL, 1, 0, 'C', '0', '0', 'manage:safePenetrationWorkspace:list', 'system', 'admin', '2026-04-10 15:00:31', 'yzadmin', '2026-04-10 16:17:20', '工点菜单');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3414, '工点查询', 3413, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'manage:safePenetrationWorkspace:query', '#', 'admin', '2026-04-10 15:00:31', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3415, '工点新增', 3413, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'manage:safePenetrationWorkspace:add', '#', 'admin', '2026-04-10 15:00:31', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3416, '工点修改', 3413, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'manage:safePenetrationWorkspace:edit', '#', 'admin', '2026-04-10 15:00:31', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3417, '工点删除', 3413, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'manage:safePenetrationWorkspace:remove', '#', 'admin', '2026-04-10 15:00:31', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3418, '工点导出', 3413, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'manage:safePenetrationWorkspace:export', '#', 'admin', '2026-04-10 15:00:31', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3419, '横向检查配置', 3405, 1, 'horizontalCheckCfg', 'manage/safePenetration/horizontalCheckCfg/index', NULL, 1, 0, 'C', '0', '0', 'manage:safePenetration:horizontalCheckCfg:list', 'system', 'admin', '2026-04-10 15:07:50', 'yzadmin', '2026-04-10 16:17:30', '横向检查配置');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3420, '横向检查配置查询', 3419, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'manage:safePenetration:horizontalCheckCfg:query', '#', 'admin', '2026-04-10 15:07:50', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3421, '横向检查配置新增', 3419, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'manage:safePenetration:horizontalCheckCfg:add', '#', 'admin', '2026-04-10 15:07:50', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3422, '横向检查配置修改', 3419, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'manage:safePenetration:horizontalCheckCfg:edit', '#', 'admin', '2026-04-10 15:07:50', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3423, '横向检查配置删除', 3419, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'manage:safePenetration:horizontalCheckCfg:remove', '#', 'admin', '2026-04-10 15:07:50', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3424, '横向检查配置导出', 3419, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'manage:safePenetration:horizontalCheckCfg:export', '#', 'admin', '2026-04-10 15:07:50', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3425, '纵向检查配置', 3405, 1, 'verticalCheckCfg', 'manage/safePenetration/verticalCheckCfg/index', NULL, 1, 0, 'C', '0', '0', 'manage:safePenetration:verticalCheckCfg:list', 'system', 'admin', '2026-04-10 15:14:37', 'yzadmin', '2026-04-10 16:17:37', '纵向检查配置');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3426, '纵向检查配置查询', 3425, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'manage:safePenetration:verticalCheckCfg:query', '#', 'admin', '2026-04-10 15:14:37', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3427, '纵向检查配置新增', 3425, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'manage:safePenetration:verticalCheckCfg:add', '#', 'admin', '2026-04-10 15:14:37', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3428, '纵向检查配置修改', 3425, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'manage:safePenetration:verticalCheckCfg:edit', '#', 'admin', '2026-04-10 15:14:37', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3429, '纵向检查配置删除', 3425, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'manage:safePenetration:verticalCheckCfg:remove', '#', 'admin', '2026-04-10 15:14:37', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3430, '纵向检查配置导出', 3425, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'manage:safePenetration:verticalCheckCfg:export', '#', 'admin', '2026-04-10 15:14:37', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3431, '跟班作业配置', 3405, 1, 'followUpAssignmentCfg', 'manage/safePenetration/followUpAssignmentCfg/index', NULL, 1, 0, 'C', '0', '0', 'manage:safePenetration:followUpAssignmentCfg:list', 'system', 'admin', '2026-04-10 15:18:34', 'yzadmin', '2026-04-10 16:17:52', '跟班作业配置');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3432, '跟班作业配置查询', 3431, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'manage:safePenetration:followUpAssignmentCfg:query', '#', 'admin', '2026-04-10 15:18:34', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3433, '跟班作业配置新增', 3431, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'manage:safePenetration:followUpAssignmentCfg:add', '#', 'admin', '2026-04-10 15:18:34', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3434, '跟班作业配置修改', 3431, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'manage:safePenetration:followUpAssignmentCfg:edit', '#', 'admin', '2026-04-10 15:18:34', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3435, '跟班作业配置删除', 3431, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'manage:safePenetration:followUpAssignmentCfg:remove', '#', 'admin', '2026-04-10 15:18:34', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3436, '跟班作业配置导出', 3431, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'manage:safePenetration:followUpAssignmentCfg:export', '#', 'admin', '2026-04-10 15:18:34', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3437, '横向监督表', 3406, 1, 'horizontalCheck', 'manage/safePenetration/horizontalCheck/index', NULL, 1, 0, 'C', '0', '0', 'manage:safePenetration:horizontalCheck:list', 'table', 'admin', '2026-04-10 15:32:13', 'yzadmin', '2026-04-10 16:18:01', '横向监督表');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3438, '横向监督表查询', 3437, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'manage:safePenetration:horizontalCheck:query', '#', 'admin', '2026-04-10 15:32:13', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3439, '横向监督表新增', 3437, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'manage:safePenetration:horizontalCheck:add', '#', 'admin', '2026-04-10 15:32:13', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3440, '横向监督表修改', 3437, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'manage:safePenetration:horizontalCheck:edit', '#', 'admin', '2026-04-10 15:32:13', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3441, '横向监督表删除', 3437, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'manage:safePenetration:horizontalCheck:remove', '#', 'admin', '2026-04-10 15:32:13', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3442, '横向监督表导出', 3437, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'manage:safePenetration:horizontalCheck:export', '#', 'admin', '2026-04-10 15:32:13', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3443, '班前安全检查', 3406, 1, 'beforeSafeCheck', 'manage/safePenetration/beforeSafeCheck/index', NULL, 1, 0, 'C', '0', '0', 'manage:safePenetration:beforeSafeCheck:list', 'table', 'admin', '2026-04-10 16:04:50', 'yzadmin', '2026-04-10 16:18:06', '班前安全检查');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3444, '班前安全检查查询', 3443, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'manage:safePenetration:beforeSafeCheck:query', '#', 'admin', '2026-04-10 16:04:50', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3445, '班前安全检查新增', 3443, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'manage:safePenetration:beforeSafeCheck:add', '#', 'admin', '2026-04-10 16:04:50', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3446, '班前安全检查修改', 3443, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'manage:safePenetration:beforeSafeCheck:edit', '#', 'admin', '2026-04-10 16:04:51', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3447, '班前安全检查删除', 3443, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'manage:safePenetration:beforeSafeCheck:remove', '#', 'admin', '2026-04-10 16:04:51', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3448, '班前安全检查导出', 3443, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'manage:safePenetration:beforeSafeCheck:export', '#', 'admin', '2026-04-10 16:04:51', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3449, '班后安全条件确认', 3406, 1, 'afterSafeConfirm', 'manage/safePenetration/afterSafeConfirm/index', NULL, 1, 0, 'C', '0', '0', 'manage:safePenetration:afterSafeConfirm:list', 'table', 'admin', '2026-04-10 16:08:44', 'yzadmin', '2026-04-10 16:18:18', '班后安全确认');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3450, '班后安全条件确认查询', 3449, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'manage:safePenetration:afterSafeConfirm:query', '#', 'admin', '2026-04-10 16:08:44', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3451, '班后安全条件确认新增', 3449, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'manage:safePenetration:afterSafeConfirm:add', '#', 'admin', '2026-04-10 16:08:44', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3452, '班后安全条件确认修改', 3449, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'manage:safePenetration:afterSafeConfirm:edit', '#', 'admin', '2026-04-10 16:08:44', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3453, '班后安全条件确认删除', 3449, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'manage:safePenetration:afterSafeConfirm:remove', '#', 'admin', '2026-04-10 16:08:44', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3454, '班后安全条件确认导出', 3449, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'manage:safePenetration:afterSafeConfirm:export', '#', 'admin', '2026-04-10 16:08:44', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3455, '关键施工条件确认', 3406, 1, 'keyConstruction', 'manage/safePenetration/keyConstruction/index', NULL, 1, 0, 'C', '0', '0', 'manage:safePenetration:keyConstruction:list', 'table', 'admin', '2026-04-10 16:13:12', 'yzadmin', '2026-04-10 16:18:23', '关键施工条件确认');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3456, '关键施工条件确认查询', 3455, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'manage:safePenetration:keyConstruction:query', '#', 'admin', '2026-04-10 16:13:12', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3457, '关键施工条件确认新增', 3455, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'manage:safePenetration:keyConstruction:add', '#', 'admin', '2026-04-10 16:13:12', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3458, '关键施工条件确认修改', 3455, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'manage:safePenetration:keyConstruction:edit', '#', 'admin', '2026-04-10 16:13:12', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3459, '关键施工条件确认删除', 3455, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'manage:safePenetration:keyConstruction:remove', '#', 'admin', '2026-04-10 16:13:12', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3460, '关键施工条件确认导出', 3455, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'manage:safePenetration:keyConstruction:export', '#', 'admin', '2026-04-10 16:13:12', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3461, '跟班作业记录', 3406, 1, 'followUpAssignment', 'manage/safePenetration/followUpAssignment/index', NULL, 1, 0, 'C', '0', '0', 'manage:safePenetration:followUpAssignment:list', 'table', 'admin', '2026-04-10 16:15:35', 'yzadmin', '2026-04-10 16:18:27', '跟班作业记录');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3462, '跟班作业记录查询', 3461, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'manage:safePenetration:followUpAssignment:query', '#', 'admin', '2026-04-10 16:15:35', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3463, '跟班作业记录新增', 3461, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'manage:safePenetration:followUpAssignment:add', '#', 'admin', '2026-04-10 16:15:35', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3464, '跟班作业记录修改', 3461, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'manage:safePenetration:followUpAssignment:edit', '#', 'admin', '2026-04-10 16:15:36', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3465, '跟班作业记录删除', 3461, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'manage:safePenetration:followUpAssignment:remove', '#', 'admin', '2026-04-10 16:15:36', '', NULL, '');
INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3466, '跟班作业记录导出', 3461, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'manage:safePenetration:followUpAssignment:export', '#', 'admin', '2026-04-10 16:15:36', '', NULL, '');
COMMIT;
SET FOREIGN_KEY_CHECKS = 1;

View File

@ -0,0 +1,106 @@
package com.yanzhu.manage.controller.safePenetration;
import java.util.List;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse;
import com.yanzhu.common.core.utils.poi.ExcelUtil;
import com.yanzhu.common.core.web.controller.BaseController;
import com.yanzhu.common.core.web.domain.AjaxResult;
import com.yanzhu.common.core.web.page.TableDataInfo;
import com.yanzhu.common.log.annotation.Log;
import com.yanzhu.common.log.enums.BusinessType;
import com.yanzhu.common.security.annotation.RequiresPermissions;
import com.yanzhu.manage.domain.SafePenetrationCheck;
import com.yanzhu.manage.service.ISafePenetrationCheckService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* Controller
*
* @author yanzhu
* @date 2026-04-10
*/
@RestController
@RequestMapping("/afterSafeConfirm")
public class AfterSafeConfirmController extends BaseController
{
@Autowired
private ISafePenetrationCheckService safePenetrationCheckService;
/**
*
*/
@RequiresPermissions("manage:safePenetration:afterSafeConfirm:list")
@GetMapping("/list")
public TableDataInfo list(SafePenetrationCheck safePenetrationCheck)
{
startPage();
List<SafePenetrationCheck> list = safePenetrationCheckService.selectSafePenetrationCheckList(safePenetrationCheck);
return getDataTable(list);
}
/**
*
*/
@RequiresPermissions("manage:safePenetration:afterSafeConfirm:export")
@Log(title = "班后安全条件确认", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, SafePenetrationCheck safePenetrationCheck)
{
List<SafePenetrationCheck> list = safePenetrationCheckService.selectSafePenetrationCheckList(safePenetrationCheck);
ExcelUtil<SafePenetrationCheck> util = new ExcelUtil<SafePenetrationCheck>(SafePenetrationCheck.class);
util.exportExcel(response, list, "班后安全条件确认数据");
}
/**
*
*/
@RequiresPermissions("manage:safePenetration:afterSafeConfirm:query")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(safePenetrationCheckService.selectSafePenetrationCheckById(id));
}
/**
*
*/
@RequiresPermissions("manage:safePenetration:afterSafeConfirm:add")
@Log(title = "班后安全条件确认", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody SafePenetrationCheck safePenetrationCheck)
{
return toAjax(safePenetrationCheckService.insertSafePenetrationCheck(safePenetrationCheck));
}
/**
*
*/
@RequiresPermissions("manage:safePenetration:afterSafeConfirm:edit")
@Log(title = "班后安全条件确认", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody SafePenetrationCheck safePenetrationCheck)
{
return toAjax(safePenetrationCheckService.updateSafePenetrationCheck(safePenetrationCheck));
}
/**
*
*/
@RequiresPermissions("manage:safePenetration:afterSafeConfirm:remove")
@Log(title = "班后安全条件确认", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(safePenetrationCheckService.deleteSafePenetrationCheckByIds(ids));
}
}

View File

@ -0,0 +1,106 @@
package com.yanzhu.manage.controller.safePenetration;
import java.util.List;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse;
import com.yanzhu.common.core.utils.poi.ExcelUtil;
import com.yanzhu.common.core.web.controller.BaseController;
import com.yanzhu.common.core.web.domain.AjaxResult;
import com.yanzhu.common.core.web.page.TableDataInfo;
import com.yanzhu.common.log.annotation.Log;
import com.yanzhu.common.log.enums.BusinessType;
import com.yanzhu.common.security.annotation.RequiresPermissions;
import com.yanzhu.manage.domain.SafePenetrationCheck;
import com.yanzhu.manage.service.ISafePenetrationCheckService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* Controller
*
* @author yanzhu
* @date 2026-04-10
*/
@RestController
@RequestMapping("/beforeSafeCheck")
public class BeforeSafeCheckController extends BaseController
{
@Autowired
private ISafePenetrationCheckService safePenetrationCheckService;
/**
*
*/
@RequiresPermissions("manage:safePenetration:beforeSafeCheck:list")
@GetMapping("/list")
public TableDataInfo list(SafePenetrationCheck safePenetrationCheck)
{
startPage();
List<SafePenetrationCheck> list = safePenetrationCheckService.selectSafePenetrationCheckList(safePenetrationCheck);
return getDataTable(list);
}
/**
*
*/
@RequiresPermissions("manage:safePenetration:beforeSafeCheck:export")
@Log(title = "班前安全检查", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, SafePenetrationCheck safePenetrationCheck)
{
List<SafePenetrationCheck> list = safePenetrationCheckService.selectSafePenetrationCheckList(safePenetrationCheck);
ExcelUtil<SafePenetrationCheck> util = new ExcelUtil<SafePenetrationCheck>(SafePenetrationCheck.class);
util.exportExcel(response, list, "班前安全检查数据");
}
/**
*
*/
@RequiresPermissions("manage:safePenetration:beforeSafeCheck:query")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(safePenetrationCheckService.selectSafePenetrationCheckById(id));
}
/**
*
*/
@RequiresPermissions("manage:safePenetration:beforeSafeCheck:add")
@Log(title = "班前安全检查", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody SafePenetrationCheck safePenetrationCheck)
{
return toAjax(safePenetrationCheckService.insertSafePenetrationCheck(safePenetrationCheck));
}
/**
*
*/
@RequiresPermissions("manage:safePenetration:beforeSafeCheck:edit")
@Log(title = "班前安全检查", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody SafePenetrationCheck safePenetrationCheck)
{
return toAjax(safePenetrationCheckService.updateSafePenetrationCheck(safePenetrationCheck));
}
/**
*
*/
@RequiresPermissions("manage:safePenetration:beforeSafeCheck:remove")
@Log(title = "班前安全检查", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(safePenetrationCheckService.deleteSafePenetrationCheckByIds(ids));
}
}

View File

@ -0,0 +1,106 @@
package com.yanzhu.manage.controller.safePenetration;
import java.util.List;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse;
import com.yanzhu.common.core.utils.poi.ExcelUtil;
import com.yanzhu.common.core.web.controller.BaseController;
import com.yanzhu.common.core.web.domain.AjaxResult;
import com.yanzhu.common.core.web.page.TableDataInfo;
import com.yanzhu.common.log.annotation.Log;
import com.yanzhu.common.log.enums.BusinessType;
import com.yanzhu.common.security.annotation.RequiresPermissions;
import com.yanzhu.manage.domain.SafePenetrationItem;
import com.yanzhu.manage.service.ISafePenetrationItemService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* Controller
*
* @author yanzhu
* @date 2026-04-10
*/
@RestController
@RequestMapping("/followUpAssignmentCfg")
public class FollowUpAssignmentCfgController extends BaseController
{
@Autowired
private ISafePenetrationItemService safePenetrationItemService;
/**
*
*/
@RequiresPermissions("manage:safePenetration:followUpAssignmentCfg:list")
@GetMapping("/list")
public TableDataInfo list(SafePenetrationItem safePenetrationItem)
{
startPage();
List<SafePenetrationItem> list = safePenetrationItemService.selectSafePenetrationItemList(safePenetrationItem);
return getDataTable(list);
}
/**
*
*/
@RequiresPermissions("manage:safePenetration:followUpAssignmentCfg:export")
@Log(title = "跟班作业配置", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, SafePenetrationItem safePenetrationItem)
{
List<SafePenetrationItem> list = safePenetrationItemService.selectSafePenetrationItemList(safePenetrationItem);
ExcelUtil<SafePenetrationItem> util = new ExcelUtil<SafePenetrationItem>(SafePenetrationItem.class);
util.exportExcel(response, list, "跟班作业配置数据");
}
/**
*
*/
@RequiresPermissions("manage:safePenetration:followUpAssignmentCfg:query")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(safePenetrationItemService.selectSafePenetrationItemById(id));
}
/**
*
*/
@RequiresPermissions("manage:safePenetration:followUpAssignmentCfg:add")
@Log(title = "跟班作业配置", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody SafePenetrationItem safePenetrationItem)
{
return toAjax(safePenetrationItemService.insertSafePenetrationItem(safePenetrationItem));
}
/**
*
*/
@RequiresPermissions("manage:safePenetration:followUpAssignmentCfg:edit")
@Log(title = "跟班作业配置", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody SafePenetrationItem safePenetrationItem)
{
return toAjax(safePenetrationItemService.updateSafePenetrationItem(safePenetrationItem));
}
/**
*
*/
@RequiresPermissions("manage:safePenetration:followUpAssignmentCfg:remove")
@Log(title = "跟班作业配置", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(safePenetrationItemService.deleteSafePenetrationItemByIds(ids));
}
}

View File

@ -0,0 +1,106 @@
package com.yanzhu.manage.controller.safePenetration;
import java.util.List;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse;
import com.yanzhu.common.core.utils.poi.ExcelUtil;
import com.yanzhu.common.core.web.controller.BaseController;
import com.yanzhu.common.core.web.domain.AjaxResult;
import com.yanzhu.common.core.web.page.TableDataInfo;
import com.yanzhu.common.log.annotation.Log;
import com.yanzhu.common.log.enums.BusinessType;
import com.yanzhu.common.security.annotation.RequiresPermissions;
import com.yanzhu.manage.domain.SafePenetrationItem;
import com.yanzhu.manage.service.ISafePenetrationItemService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* Controller
*
* @author yanzhu
* @date 2026-04-10
*/
@RestController
@RequestMapping("/horizontalCheckCfg")
public class HorizontalCheckCfgController extends BaseController
{
@Autowired
private ISafePenetrationItemService safePenetrationItemService;
/**
*
*/
@RequiresPermissions("manage:safePenetration:horizontalCheckCfg:list")
@GetMapping("/list")
public TableDataInfo list(SafePenetrationItem safePenetrationItem)
{
startPage();
List<SafePenetrationItem> list = safePenetrationItemService.selectSafePenetrationItemList(safePenetrationItem);
return getDataTable(list);
}
/**
*
*/
@RequiresPermissions("manage:safePenetration:horizontalCheckCfg:export")
@Log(title = "横向检查配置", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, SafePenetrationItem safePenetrationItem)
{
List<SafePenetrationItem> list = safePenetrationItemService.selectSafePenetrationItemList(safePenetrationItem);
ExcelUtil<SafePenetrationItem> util = new ExcelUtil<SafePenetrationItem>(SafePenetrationItem.class);
util.exportExcel(response, list, "横向检查配置数据");
}
/**
*
*/
@RequiresPermissions("manage:safePenetration:horizontalCheckCfg:query")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(safePenetrationItemService.selectSafePenetrationItemById(id));
}
/**
*
*/
@RequiresPermissions("manage:safePenetration:horizontalCheckCfg:add")
@Log(title = "横向检查配置", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody SafePenetrationItem safePenetrationItem)
{
return toAjax(safePenetrationItemService.insertSafePenetrationItem(safePenetrationItem));
}
/**
*
*/
@RequiresPermissions("manage:safePenetration:horizontalCheckCfg:edit")
@Log(title = "横向检查配置", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody SafePenetrationItem safePenetrationItem)
{
return toAjax(safePenetrationItemService.updateSafePenetrationItem(safePenetrationItem));
}
/**
*
*/
@RequiresPermissions("manage:safePenetration:horizontalCheckCfg:remove")
@Log(title = "横向检查配置", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(safePenetrationItemService.deleteSafePenetrationItemByIds(ids));
}
}

View File

@ -0,0 +1,106 @@
package com.yanzhu.manage.controller.safePenetration;
import java.util.List;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse;
import com.yanzhu.common.core.utils.poi.ExcelUtil;
import com.yanzhu.common.core.web.controller.BaseController;
import com.yanzhu.common.core.web.domain.AjaxResult;
import com.yanzhu.common.core.web.page.TableDataInfo;
import com.yanzhu.common.log.annotation.Log;
import com.yanzhu.common.log.enums.BusinessType;
import com.yanzhu.common.security.annotation.RequiresPermissions;
import com.yanzhu.manage.domain.SafePenetrationCheck;
import com.yanzhu.manage.service.ISafePenetrationCheckService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* Controller
*
* @author yanzhu
* @date 2026-04-10
*/
@RestController
@RequestMapping("/horizontalCheck")
public class HorizontalCheckController extends BaseController
{
@Autowired
private ISafePenetrationCheckService safePenetrationCheckService;
/**
*
*/
@RequiresPermissions("manage:safePenetration:horizontalCheck:list")
@GetMapping("/list")
public TableDataInfo list(SafePenetrationCheck safePenetrationCheck)
{
startPage();
List<SafePenetrationCheck> list = safePenetrationCheckService.selectSafePenetrationCheckList(safePenetrationCheck);
return getDataTable(list);
}
/**
*
*/
@RequiresPermissions("manage:safePenetration:horizontalCheck:export")
@Log(title = "横向监督表", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, SafePenetrationCheck safePenetrationCheck)
{
List<SafePenetrationCheck> list = safePenetrationCheckService.selectSafePenetrationCheckList(safePenetrationCheck);
ExcelUtil<SafePenetrationCheck> util = new ExcelUtil<SafePenetrationCheck>(SafePenetrationCheck.class);
util.exportExcel(response, list, "横向监督表数据");
}
/**
*
*/
@RequiresPermissions("manage:safePenetration:horizontalCheck:query")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(safePenetrationCheckService.selectSafePenetrationCheckById(id));
}
/**
*
*/
@RequiresPermissions("manage:safePenetration:horizontalCheck:add")
@Log(title = "横向监督表", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody SafePenetrationCheck safePenetrationCheck)
{
return toAjax(safePenetrationCheckService.insertSafePenetrationCheck(safePenetrationCheck));
}
/**
*
*/
@RequiresPermissions("manage:safePenetration:horizontalCheck:edit")
@Log(title = "横向监督表", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody SafePenetrationCheck safePenetrationCheck)
{
return toAjax(safePenetrationCheckService.updateSafePenetrationCheck(safePenetrationCheck));
}
/**
*
*/
@RequiresPermissions("manage:safePenetration:horizontalCheck:remove")
@Log(title = "横向监督表", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(safePenetrationCheckService.deleteSafePenetrationCheckByIds(ids));
}
}

View File

@ -0,0 +1,106 @@
package com.yanzhu.manage.controller.safePenetration;
import java.util.List;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse;
import com.yanzhu.common.core.utils.poi.ExcelUtil;
import com.yanzhu.common.core.web.controller.BaseController;
import com.yanzhu.common.core.web.domain.AjaxResult;
import com.yanzhu.common.core.web.page.TableDataInfo;
import com.yanzhu.common.log.annotation.Log;
import com.yanzhu.common.log.enums.BusinessType;
import com.yanzhu.common.security.annotation.RequiresPermissions;
import com.yanzhu.manage.domain.SafePenetrationCheck;
import com.yanzhu.manage.service.ISafePenetrationCheckService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* Controller
*
* @author yanzhu
* @date 2026-04-10
*/
@RestController
@RequestMapping("/keyConstruction")
public class KeyConstructionController extends BaseController
{
@Autowired
private ISafePenetrationCheckService safePenetrationCheckService;
/**
*
*/
@RequiresPermissions("manage:safePenetration:keyConstruction:list")
@GetMapping("/list")
public TableDataInfo list(SafePenetrationCheck safePenetrationCheck)
{
startPage();
List<SafePenetrationCheck> list = safePenetrationCheckService.selectSafePenetrationCheckList(safePenetrationCheck);
return getDataTable(list);
}
/**
*
*/
@RequiresPermissions("manage:safePenetration:keyConstruction:export")
@Log(title = "关键施工条件确认", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, SafePenetrationCheck safePenetrationCheck)
{
List<SafePenetrationCheck> list = safePenetrationCheckService.selectSafePenetrationCheckList(safePenetrationCheck);
ExcelUtil<SafePenetrationCheck> util = new ExcelUtil<SafePenetrationCheck>(SafePenetrationCheck.class);
util.exportExcel(response, list, "关键施工条件确认数据");
}
/**
*
*/
@RequiresPermissions("manage:safePenetration:keyConstruction:query")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(safePenetrationCheckService.selectSafePenetrationCheckById(id));
}
/**
*
*/
@RequiresPermissions("manage:safePenetration:keyConstruction:add")
@Log(title = "关键施工条件确认", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody SafePenetrationCheck safePenetrationCheck)
{
return toAjax(safePenetrationCheckService.insertSafePenetrationCheck(safePenetrationCheck));
}
/**
*
*/
@RequiresPermissions("manage:safePenetration:keyConstruction:edit")
@Log(title = "关键施工条件确认", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody SafePenetrationCheck safePenetrationCheck)
{
return toAjax(safePenetrationCheckService.updateSafePenetrationCheck(safePenetrationCheck));
}
/**
*
*/
@RequiresPermissions("manage:safePenetration:keyConstruction:remove")
@Log(title = "关键施工条件确认", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(safePenetrationCheckService.deleteSafePenetrationCheckByIds(ids));
}
}

View File

@ -0,0 +1,106 @@
package com.yanzhu.manage.controller.safePenetration;
import java.util.List;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse;
import com.yanzhu.common.core.utils.poi.ExcelUtil;
import com.yanzhu.common.core.web.controller.BaseController;
import com.yanzhu.common.core.web.domain.AjaxResult;
import com.yanzhu.common.core.web.page.TableDataInfo;
import com.yanzhu.common.log.annotation.Log;
import com.yanzhu.common.log.enums.BusinessType;
import com.yanzhu.common.security.annotation.RequiresPermissions;
import com.yanzhu.manage.domain.SafePenetrationItem;
import com.yanzhu.manage.service.ISafePenetrationItemService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* Controller
*
* @author yanzhu
* @date 2026-04-10
*/
@RestController
@RequestMapping("/verticalCheckCfg")
public class VerticalCheckCfgController extends BaseController
{
@Autowired
private ISafePenetrationItemService safePenetrationItemService;
/**
*
*/
@RequiresPermissions("manage:safePenetration:verticalCheckCfg:list")
@GetMapping("/list")
public TableDataInfo list(SafePenetrationItem safePenetrationItem)
{
startPage();
List<SafePenetrationItem> list = safePenetrationItemService.selectSafePenetrationItemList(safePenetrationItem);
return getDataTable(list);
}
/**
*
*/
@RequiresPermissions("manage:safePenetration:verticalCheckCfg:export")
@Log(title = "纵向检查配置", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, SafePenetrationItem safePenetrationItem)
{
List<SafePenetrationItem> list = safePenetrationItemService.selectSafePenetrationItemList(safePenetrationItem);
ExcelUtil<SafePenetrationItem> util = new ExcelUtil<SafePenetrationItem>(SafePenetrationItem.class);
util.exportExcel(response, list, "纵向检查配置数据");
}
/**
*
*/
@RequiresPermissions("manage:safePenetration:verticalCheckCfg:query")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(safePenetrationItemService.selectSafePenetrationItemById(id));
}
/**
*
*/
@RequiresPermissions("manage:safePenetration:verticalCheckCfg:add")
@Log(title = "纵向检查配置", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody SafePenetrationItem safePenetrationItem)
{
return toAjax(safePenetrationItemService.insertSafePenetrationItem(safePenetrationItem));
}
/**
*
*/
@RequiresPermissions("manage:safePenetration:verticalCheckCfg:edit")
@Log(title = "纵向检查配置", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody SafePenetrationItem safePenetrationItem)
{
return toAjax(safePenetrationItemService.updateSafePenetrationItem(safePenetrationItem));
}
/**
*
*/
@RequiresPermissions("manage:safePenetration:verticalCheckCfg:remove")
@Log(title = "纵向检查配置", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(safePenetrationItemService.deleteSafePenetrationItemByIds(ids));
}
}

View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询班后安全条件确认列表
export function listAfterSafeConfirm(query) {
return request({
url: '/manage/afterSafeConfirm/list',
method: 'get',
params: query
})
}
// 查询班后安全条件确认详细
export function getAfterSafeConfirm(id) {
return request({
url: '/manage/afterSafeConfirm/' + id,
method: 'get'
})
}
// 新增班后安全条件确认
export function addAfterSafeConfirm(data) {
return request({
url: '/manage/afterSafeConfirm',
method: 'post',
data: data
})
}
// 修改班后安全条件确认
export function updateAfterSafeConfirm(data) {
return request({
url: '/manage/afterSafeConfirm',
method: 'put',
data: data
})
}
// 删除班后安全条件确认
export function delAfterSafeConfirm(id) {
return request({
url: '/manage/afterSafeConfirm/' + id,
method: 'delete'
})
}

View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询班前安全检查列表
export function listBeforeSafeCheck(query) {
return request({
url: '/manage/beforeSafeCheck/list',
method: 'get',
params: query
})
}
// 查询班前安全检查详细
export function getBeforeSafeCheck(id) {
return request({
url: '/manage/beforeSafeCheck/' + id,
method: 'get'
})
}
// 新增班前安全检查
export function addBeforeSafeCheck(data) {
return request({
url: '/manage/beforeSafeCheck',
method: 'post',
data: data
})
}
// 修改班前安全检查
export function updateBeforeSafeCheck(data) {
return request({
url: '/manage/beforeSafeCheck',
method: 'put',
data: data
})
}
// 删除班前安全检查
export function delBeforeSafeCheck(id) {
return request({
url: '/manage/beforeSafeCheck/' + id,
method: 'delete'
})
}

View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询跟班作业配置列表
export function listFollowUpAssignmentCfg(query) {
return request({
url: '/manage/followUpAssignmentCfg/list',
method: 'get',
params: query
})
}
// 查询跟班作业配置详细
export function getFollowUpAssignmentCfg(id) {
return request({
url: '/manage/followUpAssignmentCfg/' + id,
method: 'get'
})
}
// 新增跟班作业配置
export function addFollowUpAssignmentCfg(data) {
return request({
url: '/manage/followUpAssignmentCfg',
method: 'post',
data: data
})
}
// 修改跟班作业配置
export function updateFollowUpAssignmentCfg(data) {
return request({
url: '/manage/followUpAssignmentCfg',
method: 'put',
data: data
})
}
// 删除跟班作业配置
export function delFollowUpAssignmentCfg(id) {
return request({
url: '/manage/followUpAssignmentCfg/' + id,
method: 'delete'
})
}

View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询横向监督表列表
export function listHorizontalCheck(query) {
return request({
url: '/manage/horizontalCheck/list',
method: 'get',
params: query
})
}
// 查询横向监督表详细
export function getHorizontalCheck(id) {
return request({
url: '/manage/horizontalCheck/' + id,
method: 'get'
})
}
// 新增横向监督表
export function addHorizontalCheck(data) {
return request({
url: '/manage/horizontalCheck',
method: 'post',
data: data
})
}
// 修改横向监督表
export function updateHorizontalCheck(data) {
return request({
url: '/manage/horizontalCheck',
method: 'put',
data: data
})
}
// 删除横向监督表
export function delHorizontalCheck(id) {
return request({
url: '/manage/horizontalCheck/' + id,
method: 'delete'
})
}

View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询横向检查配置列表
export function listHorizontalCheckCfg(query) {
return request({
url: '/manage/horizontalCheckCfg/list',
method: 'get',
params: query
})
}
// 查询横向检查配置详细
export function getHorizontalCheckCfg(id) {
return request({
url: '/manage/horizontalCheckCfg/' + id,
method: 'get'
})
}
// 新增横向检查配置
export function addHorizontalCheckCfg(data) {
return request({
url: '/manage/horizontalCheckCfg',
method: 'post',
data: data
})
}
// 修改横向检查配置
export function updateHorizontalCheckCfg(data) {
return request({
url: '/manage/horizontalCheckCfg',
method: 'put',
data: data
})
}
// 删除横向检查配置
export function delHorizontalCheckCfg(id) {
return request({
url: '/manage/horizontalCheckCfg/' + id,
method: 'delete'
})
}

View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询关键施工条件确认列表
export function listKeyConstruction(query) {
return request({
url: '/manage/keyConstruction/list',
method: 'get',
params: query
})
}
// 查询关键施工条件确认详细
export function getKeyConstruction(id) {
return request({
url: '/manage/keyConstruction/' + id,
method: 'get'
})
}
// 新增关键施工条件确认
export function addKeyConstruction(data) {
return request({
url: '/manage/keyConstruction',
method: 'post',
data: data
})
}
// 修改关键施工条件确认
export function updateKeyConstruction(data) {
return request({
url: '/manage/keyConstruction',
method: 'put',
data: data
})
}
// 删除关键施工条件确认
export function delKeyConstruction(id) {
return request({
url: '/manage/keyConstruction/' + id,
method: 'delete'
})
}

View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询纵向检查配置列表
export function listVerticalCheckCfg(query) {
return request({
url: '/manage/verticalCheckCfg/list',
method: 'get',
params: query
})
}
// 查询纵向检查配置详细
export function getVerticalCheckCfg(id) {
return request({
url: '/manage/verticalCheckCfg/' + id,
method: 'get'
})
}
// 新增纵向检查配置
export function addVerticalCheckCfg(data) {
return request({
url: '/manage/verticalCheckCfg',
method: 'post',
data: data
})
}
// 修改纵向检查配置
export function updateVerticalCheckCfg(data) {
return request({
url: '/manage/verticalCheckCfg',
method: 'put',
data: data
})
}
// 删除纵向检查配置
export function delVerticalCheckCfg(id) {
return request({
url: '/manage/verticalCheckCfg/' + id,
method: 'delete'
})
}

View File

@ -68,6 +68,8 @@
border: none; border: none;
height: 100%; height: 100%;
width: 100% !important; width: 100% !important;
--el-menu-base-level-padding: 10px;
} }
.el-menu-item, .menu-title { .el-menu-item, .menu-title {

View File

@ -0,0 +1,281 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="80px">
<el-form-item label="检查日期" prop="checkDate">
<el-date-picker
v-model="queryParams.checkDate"
type="date"
placeholder="请选择检查日期"
value-format="YYYY-MM-DD"
/>
</el-form-item>
<el-form-item label="网格点" prop="gridId">
<el-input
v-model="queryParams.gridId"
placeholder="请输入网格点"
clearable
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery"></el-button>
<el-button icon="Refresh" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="Plus"
@click="handleAdd"
v-hasPermi="['manage:safePenetration:afterSafeConfirm:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="Edit"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['manage:safePenetration:afterSafeConfirm:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="Delete"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['manage:safePenetration:afterSafeConfirm:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="Download"
@click="handleExport"
v-hasPermi="['manage:safePenetration:afterSafeConfirm:export']"
>导出</el-button>
</el-col>
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="dataList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="ID" align="center" prop="id" width="80" />
<el-table-column label="检查日期" align="center" prop="checkDate" width="120" />
<el-table-column label="被检查人" align="center" prop="checkedPerson" width="100" />
<el-table-column label="网格点" align="center" prop="gridId" width="80" />
<el-table-column label="施工部位" align="center" prop="gridRangeId" width="100" />
<el-table-column label="检查意见" align="center" prop="inspectionOpinion" width="100">
<template #default="scope">
<el-tag :type="scope.row.inspectionOpinion === 1 ? 'success' : 'danger'">
{{ scope.row.inspectionOpinion === 1 ? '同意' : '不同意' }}
</el-tag>
</template>
</el-table-column>
<el-table-column label="备注" align="center" prop="remark" show-overflow-tooltip />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="150">
<template #default="scope">
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['manage:safePenetration:afterSafeConfirm:edit']"></el-button>
<el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['manage:safePenetration:afterSafeConfirm:remove']"></el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
v-model:page="queryParams.pageNum"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改对话框 -->
<el-dialog :title="title" v-model="open" width="600px" append-to-body>
<el-form ref="formRef" :model="form" :rules="rules" label-width="100px">
<el-row>
<el-col :span="12">
<el-form-item label="检查日期" prop="checkDate">
<el-date-picker v-model="form.checkDate" type="date" value-format="YYYY-MM-DD" placeholder="请选择检查日期" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="被检查人" prop="checkedPerson">
<el-input v-model="form.checkedPerson" placeholder="请输入被检查人" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="网格点" prop="gridId">
<el-input-number v-model="form.gridId" :min="0" placeholder="请输入网格点" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="施工部位" prop="gridRangeId">
<el-input-number v-model="form.gridRangeId" :min="0" placeholder="请输入施工部位" />
</el-form-item>
</el-col>
</el-row>
<el-form-item label="检查意见" prop="inspectionOpinion">
<el-radio-group v-model="form.inspectionOpinion">
<el-radio :value="0">不同意</el-radio>
<el-radio :value="1">同意</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入备注" />
</el-form-item>
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</template>
</el-dialog>
</div>
</template>
<script setup name="AfterSafeConfirm">
import { listAfterSafeConfirm, getAfterSafeConfirm, delAfterSafeConfirm, addAfterSafeConfirm, updateAfterSafeConfirm } from "@/api/manage/afterSafeConfirm";
const { proxy } = getCurrentInstance();
const dataList = ref([]);
const open = ref(false);
const loading = ref(true);
const showSearch = ref(true);
const ids = ref([]);
const single = ref(true);
const multiple = ref(true);
const total = ref(0);
const title = ref("");
const data = reactive({
form: {
checkType: 3,
inspectionOpinion: 1
},
queryParams: {
pageNum: 1,
pageSize: 10,
checkType: 3,
checkDate: null,
gridId: null
},
rules: {
checkDate: [{ required: true, message: "检查日期不能为空", trigger: "change" }]
}
});
const { queryParams, form, rules } = toRefs(data);
/** 查询列表 */
function getList() {
loading.value = true;
listAfterSafeConfirm(queryParams.value).then(response => {
dataList.value = response.rows;
total.value = response.total;
loading.value = false;
});
}
function cancel() {
open.value = false;
reset();
}
function reset() {
form.value = {
id: null,
projectId: null,
checkType: 3,
checkDate: null,
deptId: null,
checkedPerson: null,
checkedImgs: null,
gridId: null,
gridRangeId: null,
inspectionOpinion: 1,
remark: null
};
proxy.resetForm("formRef");
}
function handleQuery() {
queryParams.value.pageNum = 1;
getList();
}
function resetQuery() {
proxy.resetForm("queryRef");
handleQuery();
}
function handleSelectionChange(selection) {
ids.value = selection.map(item => item.id);
single.value = selection.length != 1;
multiple.value = !selection.length;
}
function handleAdd() {
reset();
open.value = true;
title.value = "添加班后安全确认记录";
}
function handleUpdate(row) {
reset();
const _id = row.id || ids.value;
getAfterSafeConfirm(_id).then(response => {
form.value = response.data;
open.value = true;
title.value = "修改班后安全确认记录";
});
}
function submitForm() {
proxy.$refs["formRef"].validate(valid => {
if (valid) {
if (form.value.id != null) {
updateAfterSafeConfirm(form.value).then(response => {
proxy.$modal.msgSuccess("修改成功");
open.value = false;
getList();
});
} else {
addAfterSafeConfirm(form.value).then(response => {
proxy.$modal.msgSuccess("新增成功");
open.value = false;
getList();
});
}
}
});
}
function handleDelete(row) {
const _ids = row.id || ids.value;
proxy.$modal.confirm('是否确认删除编号为"' + _ids + '"的数据项?').then(function() {
return delAfterSafeConfirm(_ids);
}).then(() => {
getList();
proxy.$modal.msgSuccess("删除成功");
}).catch(() => {});
}
function handleExport() {
proxy.download('manage/afterSafeConfirm/export', {
...queryParams.value
}, `afterSafeConfirm_${new Date().getTime()}.xlsx`)
}
getList();
</script>

View File

@ -0,0 +1,281 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="80px">
<el-form-item label="检查日期" prop="checkDate">
<el-date-picker
v-model="queryParams.checkDate"
type="date"
placeholder="请选择检查日期"
value-format="YYYY-MM-DD"
/>
</el-form-item>
<el-form-item label="网格点" prop="gridId">
<el-input
v-model="queryParams.gridId"
placeholder="请输入网格点"
clearable
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery"></el-button>
<el-button icon="Refresh" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="Plus"
@click="handleAdd"
v-hasPermi="['manage:safePenetration:beforeSafeCheck:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="Edit"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['manage:safePenetration:beforeSafeCheck:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="Delete"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['manage:safePenetration:beforeSafeCheck:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="Download"
@click="handleExport"
v-hasPermi="['manage:safePenetration:beforeSafeCheck:export']"
>导出</el-button>
</el-col>
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="dataList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="ID" align="center" prop="id" width="80" />
<el-table-column label="检查日期" align="center" prop="checkDate" width="120" />
<el-table-column label="被检查人" align="center" prop="checkedPerson" width="100" />
<el-table-column label="网格点" align="center" prop="gridId" width="80" />
<el-table-column label="施工部位" align="center" prop="gridRangeId" width="100" />
<el-table-column label="检查意见" align="center" prop="inspectionOpinion" width="100">
<template #default="scope">
<el-tag :type="scope.row.inspectionOpinion === 1 ? 'success' : 'danger'">
{{ scope.row.inspectionOpinion === 1 ? '同意' : '不同意' }}
</el-tag>
</template>
</el-table-column>
<el-table-column label="备注" align="center" prop="remark" show-overflow-tooltip />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="150">
<template #default="scope">
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['manage:safePenetration:beforeSafeCheck:edit']"></el-button>
<el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['manage:safePenetration:beforeSafeCheck:remove']"></el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
v-model:page="queryParams.pageNum"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改对话框 -->
<el-dialog :title="title" v-model="open" width="600px" append-to-body>
<el-form ref="formRef" :model="form" :rules="rules" label-width="100px">
<el-row>
<el-col :span="12">
<el-form-item label="检查日期" prop="checkDate">
<el-date-picker v-model="form.checkDate" type="date" value-format="YYYY-MM-DD" placeholder="请选择检查日期" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="被检查人" prop="checkedPerson">
<el-input v-model="form.checkedPerson" placeholder="请输入被检查人" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="网格点" prop="gridId">
<el-input-number v-model="form.gridId" :min="0" placeholder="请输入网格点" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="施工部位" prop="gridRangeId">
<el-input-number v-model="form.gridRangeId" :min="0" placeholder="请输入施工部位" />
</el-form-item>
</el-col>
</el-row>
<el-form-item label="检查意见" prop="inspectionOpinion">
<el-radio-group v-model="form.inspectionOpinion">
<el-radio :value="0">不同意</el-radio>
<el-radio :value="1">同意</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入备注" />
</el-form-item>
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</template>
</el-dialog>
</div>
</template>
<script setup name="BeforeSafeCheck">
import { listBeforeSafeCheck, getBeforeSafeCheck, delBeforeSafeCheck, addBeforeSafeCheck, updateBeforeSafeCheck } from "@/api/manage/beforeSafeCheck";
const { proxy } = getCurrentInstance();
const dataList = ref([]);
const open = ref(false);
const loading = ref(true);
const showSearch = ref(true);
const ids = ref([]);
const single = ref(true);
const multiple = ref(true);
const total = ref(0);
const title = ref("");
const data = reactive({
form: {
checkType: 2,
inspectionOpinion: 1
},
queryParams: {
pageNum: 1,
pageSize: 10,
checkType: 2,
checkDate: null,
gridId: null
},
rules: {
checkDate: [{ required: true, message: "检查日期不能为空", trigger: "change" }]
}
});
const { queryParams, form, rules } = toRefs(data);
/** 查询列表 */
function getList() {
loading.value = true;
listBeforeSafeCheck(queryParams.value).then(response => {
dataList.value = response.rows;
total.value = response.total;
loading.value = false;
});
}
function cancel() {
open.value = false;
reset();
}
function reset() {
form.value = {
id: null,
projectId: null,
checkType: 2,
checkDate: null,
deptId: null,
checkedPerson: null,
checkedImgs: null,
gridId: null,
gridRangeId: null,
inspectionOpinion: 1,
remark: null
};
proxy.resetForm("formRef");
}
function handleQuery() {
queryParams.value.pageNum = 1;
getList();
}
function resetQuery() {
proxy.resetForm("queryRef");
handleQuery();
}
function handleSelectionChange(selection) {
ids.value = selection.map(item => item.id);
single.value = selection.length != 1;
multiple.value = !selection.length;
}
function handleAdd() {
reset();
open.value = true;
title.value = "添加班前安全检查记录";
}
function handleUpdate(row) {
reset();
const _id = row.id || ids.value;
getBeforeSafeCheck(_id).then(response => {
form.value = response.data;
open.value = true;
title.value = "修改班前安全检查记录";
});
}
function submitForm() {
proxy.$refs["formRef"].validate(valid => {
if (valid) {
if (form.value.id != null) {
updateBeforeSafeCheck(form.value).then(response => {
proxy.$modal.msgSuccess("修改成功");
open.value = false;
getList();
});
} else {
addBeforeSafeCheck(form.value).then(response => {
proxy.$modal.msgSuccess("新增成功");
open.value = false;
getList();
});
}
}
});
}
function handleDelete(row) {
const _ids = row.id || ids.value;
proxy.$modal.confirm('是否确认删除编号为"' + _ids + '"的数据项?').then(function() {
return delBeforeSafeCheck(_ids);
}).then(() => {
getList();
proxy.$modal.msgSuccess("删除成功");
}).catch(() => {});
}
function handleExport() {
proxy.download('manage/beforeSafeCheck/export', {
...queryParams.value
}, `beforeSafeCheck_${new Date().getTime()}.xlsx`)
}
getList();
</script>

View File

@ -0,0 +1,310 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="条目描述" prop="itemDesc">
<el-input
v-model="queryParams.itemDesc"
placeholder="请输入条目描述"
clearable
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item label="风险等级" prop="riskLevel">
<el-select v-model="queryParams.riskLevel" placeholder="请选择风险等级" clearable>
<el-option label="低风险" :value="1" />
<el-option label="一般风险" :value="2" />
<el-option label="较大风险" :value="3" />
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery"></el-button>
<el-button icon="Refresh" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="Plus"
@click="handleAdd"
v-hasPermi="['manage:safePenetration:followUpAssignmentCfg:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="Edit"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['manage:safePenetration:followUpAssignmentCfg:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="Delete"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['manage:safePenetration:followUpAssignmentCfg:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="Download"
@click="handleExport"
v-hasPermi="['manage:safePenetration:followUpAssignmentCfg:export']"
>导出</el-button>
</el-col>
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="dataList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="ID" align="center" prop="id" width="80" />
<el-table-column label="父级" align="center" prop="parentId" width="80" />
<el-table-column label="条目类型" align="center" prop="itemType" width="100">
<template #default="scope">
<span v-if="scope.row.itemType === 0"></span>
<span v-else-if="scope.row.itemType === 1">分类</span>
<span v-else-if="scope.row.itemType === 2">事故</span>
</template>
</el-table-column>
<el-table-column label="条目描述" align="center" prop="itemDesc" show-overflow-tooltip />
<el-table-column label="外部ID" align="center" prop="itemKey" width="100" />
<el-table-column label="风险因素" align="center" prop="riskFactor" show-overflow-tooltip />
<el-table-column label="风险等级" align="center" prop="riskLevel" width="100">
<template #default="scope">
<el-tag v-if="scope.row.riskLevel === 1"></el-tag>
<el-tag v-else-if="scope.row.riskLevel === 2" type="warning">一般风险</el-tag>
<el-tag v-else-if="scope.row.riskLevel === 3" type="danger">较大风险</el-tag>
</template>
</el-table-column>
<el-table-column label="控制措施" align="center" prop="controlMeasure" show-overflow-tooltip />
<el-table-column label="排序" align="center" prop="sorted" width="60" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="150">
<template #default="scope">
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['manage:safePenetration:followUpAssignmentCfg:edit']"></el-button>
<el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['manage:safePenetration:followUpAssignmentCfg:remove']"></el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
v-model:page="queryParams.pageNum"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改对话框 -->
<el-dialog :title="title" v-model="open" width="600px" append-to-body>
<el-form ref="formRef" :model="form" :rules="rules" label-width="100px">
<el-row>
<el-col :span="12">
<el-form-item label="父级" prop="parentId">
<el-input-number v-model="form.parentId" :min="0" placeholder="请输入父级ID" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="条目类型" prop="itemType">
<el-select v-model="form.itemType" placeholder="请选择条目类型">
<el-option label="条目" :value="0" />
<el-option label="分类" :value="1" />
<el-option label="事故" :value="2" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="条目描述" prop="itemDesc">
<el-input v-model="form.itemDesc" placeholder="请输入条目描述" />
</el-form-item>
<el-row>
<el-col :span="12">
<el-form-item label="外部ID" prop="itemKey">
<el-input v-model="form.itemKey" placeholder="请输入外部ID" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="排序" prop="sorted">
<el-input-number v-model="form.sorted" :min="0" placeholder="请输入排序" />
</el-form-item>
</el-col>
</el-row>
<el-form-item label="风险因素" prop="riskFactor">
<el-input v-model="form.riskFactor" type="textarea" placeholder="请输入风险因素" />
</el-form-item>
<el-row>
<el-col :span="12">
<el-form-item label="风险等级" prop="riskLevel">
<el-select v-model="form.riskLevel" placeholder="请选择风险等级">
<el-option label="低风险" :value="1" />
<el-option label="一般风险" :value="2" />
<el-option label="较大风险" :value="3" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="控制措施" prop="controlMeasure">
<el-input v-model="form.controlMeasure" type="textarea" placeholder="请输入控制措施" />
</el-form-item>
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</template>
</el-dialog>
</div>
</template>
<script setup name="FollowUpAssignmentCfg">
import { listFollowUpAssignmentCfg, getFollowUpAssignmentCfg, delFollowUpAssignmentCfg, addFollowUpAssignmentCfg, updateFollowUpAssignmentCfg } from "@/api/manage/followUpAssignmentCfg";
const { proxy } = getCurrentInstance();
const dataList = ref([]);
const open = ref(false);
const loading = ref(true);
const showSearch = ref(true);
const ids = ref([]);
const single = ref(true);
const multiple = ref(true);
const total = ref(0);
const title = ref("");
const data = reactive({
form: {
itemCatetory: 3,
itemType: 0
},
queryParams: {
pageNum: 1,
pageSize: 10,
itemDesc: null,
riskLevel: null,
itemCatetory: 3
},
rules: {
itemDesc: [{ required: true, message: "条目描述不能为空", trigger: "blur" }]
}
});
const { queryParams, form, rules } = toRefs(data);
/** 查询列表 */
function getList() {
loading.value = true;
listFollowUpAssignmentCfg(queryParams.value).then(response => {
dataList.value = response.rows;
total.value = response.total;
loading.value = false;
});
}
function cancel() {
open.value = false;
reset();
}
function reset() {
form.value = {
id: null,
parentId: 0,
itemType: 0,
itemDesc: null,
itemCatetory: 3,
itemKey: null,
riskFactor: null,
riskLevel: null,
controlMeasure: null,
sorted: 0
};
proxy.resetForm("formRef");
}
/** 搜索按钮操作 */
function handleQuery() {
queryParams.value.pageNum = 1;
getList();
}
/** 重置按钮操作 */
function resetQuery() {
proxy.resetForm("queryRef");
handleQuery();
}
/** 多选框选中数据 */
function handleSelectionChange(selection) {
ids.value = selection.map(item => item.id);
single.value = selection.length != 1;
multiple.value = !selection.length;
}
/** 新增按钮操作 */
function handleAdd() {
reset();
open.value = true;
title.value = "添加跟班作业配置";
}
/** 修改按钮操作 */
function handleUpdate(row) {
reset();
const _id = row.id || ids.value;
getFollowUpAssignmentCfg(_id).then(response => {
form.value = response.data;
open.value = true;
title.value = "修改跟班作业配置";
});
}
/** 提交按钮 */
function submitForm() {
proxy.$refs["formRef"].validate(valid => {
if (valid) {
if (form.value.id != null) {
updateFollowUpAssignmentCfg(form.value).then(response => {
proxy.$modal.msgSuccess("修改成功");
open.value = false;
getList();
});
} else {
addFollowUpAssignmentCfg(form.value).then(response => {
proxy.$modal.msgSuccess("新增成功");
open.value = false;
getList();
});
}
}
});
}
/** 删除按钮操作 */
function handleDelete(row) {
const _ids = row.id || ids.value;
proxy.$modal.confirm('是否确认删除编号为"' + _ids + '"的数据项?').then(function() {
return delFollowUpAssignmentCfg(_ids);
}).then(() => {
getList();
proxy.$modal.msgSuccess("删除成功");
}).catch(() => {});
}
/** 导出按钮操作 */
function handleExport() {
proxy.download('manage/followUpAssignmentCfg/export', {
...queryParams.value
}, `followUpAssignmentCfg_${new Date().getTime()}.xlsx`)
}
getList();
</script>

View File

@ -0,0 +1,281 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="80px">
<el-form-item label="检查日期" prop="checkDate">
<el-date-picker
v-model="queryParams.checkDate"
type="date"
placeholder="请选择检查日期"
value-format="YYYY-MM-DD"
/>
</el-form-item>
<el-form-item label="网格点" prop="gridId">
<el-input
v-model="queryParams.gridId"
placeholder="请输入网格点"
clearable
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery"></el-button>
<el-button icon="Refresh" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="Plus"
@click="handleAdd"
v-hasPermi="['manage:safePenetration:horizontalCheck:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="Edit"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['manage:safePenetration:horizontalCheck:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="Delete"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['manage:safePenetration:horizontalCheck:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="Download"
@click="handleExport"
v-hasPermi="['manage:safePenetration:horizontalCheck:export']"
>导出</el-button>
</el-col>
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="dataList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="ID" align="center" prop="id" width="80" />
<el-table-column label="检查日期" align="center" prop="checkDate" width="120" />
<el-table-column label="被检查人" align="center" prop="checkedPerson" width="100" />
<el-table-column label="网格点" align="center" prop="gridId" width="80" />
<el-table-column label="施工部位" align="center" prop="gridRangeId" width="100" />
<el-table-column label="检查意见" align="center" prop="inspectionOpinion" width="100">
<template #default="scope">
<el-tag :type="scope.row.inspectionOpinion === 1 ? 'success' : 'danger'">
{{ scope.row.inspectionOpinion === 1 ? '同意' : '不同意' }}
</el-tag>
</template>
</el-table-column>
<el-table-column label="备注" align="center" prop="remark" show-overflow-tooltip />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="150">
<template #default="scope">
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['manage:safePenetration:horizontalCheck:edit']"></el-button>
<el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['manage:safePenetration:horizontalCheck:remove']"></el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
v-model:page="queryParams.pageNum"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改对话框 -->
<el-dialog :title="title" v-model="open" width="600px" append-to-body>
<el-form ref="formRef" :model="form" :rules="rules" label-width="100px">
<el-row>
<el-col :span="12">
<el-form-item label="检查日期" prop="checkDate">
<el-date-picker v-model="form.checkDate" type="date" value-format="YYYY-MM-DD" placeholder="请选择检查日期" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="被检查人" prop="checkedPerson">
<el-input v-model="form.checkedPerson" placeholder="请输入被检查人" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="网格点" prop="gridId">
<el-input-number v-model="form.gridId" :min="0" placeholder="请输入网格点" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="施工部位" prop="gridRangeId">
<el-input-number v-model="form.gridRangeId" :min="0" placeholder="请输入施工部位" />
</el-form-item>
</el-col>
</el-row>
<el-form-item label="检查意见" prop="inspectionOpinion">
<el-radio-group v-model="form.inspectionOpinion">
<el-radio :value="0">不同意</el-radio>
<el-radio :value="1">同意</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入备注" />
</el-form-item>
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</template>
</el-dialog>
</div>
</template>
<script setup name="HorizontalCheck">
import { listHorizontalCheck, getHorizontalCheck, delHorizontalCheck, addHorizontalCheck, updateHorizontalCheck } from "@/api/manage/horizontalCheck";
const { proxy } = getCurrentInstance();
const dataList = ref([]);
const open = ref(false);
const loading = ref(true);
const showSearch = ref(true);
const ids = ref([]);
const single = ref(true);
const multiple = ref(true);
const total = ref(0);
const title = ref("");
const data = reactive({
form: {
checkType: 1,
inspectionOpinion: 1
},
queryParams: {
pageNum: 1,
pageSize: 10,
checkType: 1,
checkDate: null,
gridId: null
},
rules: {
checkDate: [{ required: true, message: "检查日期不能为空", trigger: "change" }]
}
});
const { queryParams, form, rules } = toRefs(data);
/** 查询列表 */
function getList() {
loading.value = true;
listHorizontalCheck(queryParams.value).then(response => {
dataList.value = response.rows;
total.value = response.total;
loading.value = false;
});
}
function cancel() {
open.value = false;
reset();
}
function reset() {
form.value = {
id: null,
projectId: null,
checkType: 1,
checkDate: null,
deptId: null,
checkedPerson: null,
checkedImgs: null,
gridId: null,
gridRangeId: null,
inspectionOpinion: 1,
remark: null
};
proxy.resetForm("formRef");
}
function handleQuery() {
queryParams.value.pageNum = 1;
getList();
}
function resetQuery() {
proxy.resetForm("queryRef");
handleQuery();
}
function handleSelectionChange(selection) {
ids.value = selection.map(item => item.id);
single.value = selection.length != 1;
multiple.value = !selection.length;
}
function handleAdd() {
reset();
open.value = true;
title.value = "添加横向监督记录";
}
function handleUpdate(row) {
reset();
const _id = row.id || ids.value;
getHorizontalCheck(_id).then(response => {
form.value = response.data;
open.value = true;
title.value = "修改横向监督记录";
});
}
function submitForm() {
proxy.$refs["formRef"].validate(valid => {
if (valid) {
if (form.value.id != null) {
updateHorizontalCheck(form.value).then(response => {
proxy.$modal.msgSuccess("修改成功");
open.value = false;
getList();
});
} else {
addHorizontalCheck(form.value).then(response => {
proxy.$modal.msgSuccess("新增成功");
open.value = false;
getList();
});
}
}
});
}
function handleDelete(row) {
const _ids = row.id || ids.value;
proxy.$modal.confirm('是否确认删除编号为"' + _ids + '"的数据项?').then(function() {
return delHorizontalCheck(_ids);
}).then(() => {
getList();
proxy.$modal.msgSuccess("删除成功");
}).catch(() => {});
}
function handleExport() {
proxy.download('manage/horizontalCheck/export', {
...queryParams.value
}, `horizontalCheck_${new Date().getTime()}.xlsx`)
}
getList();
</script>

View File

@ -0,0 +1,310 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="条目描述" prop="itemDesc">
<el-input
v-model="queryParams.itemDesc"
placeholder="请输入条目描述"
clearable
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item label="风险等级" prop="riskLevel">
<el-select v-model="queryParams.riskLevel" placeholder="请选择风险等级" clearable>
<el-option label="低风险" :value="1" />
<el-option label="一般风险" :value="2" />
<el-option label="较大风险" :value="3" />
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery"></el-button>
<el-button icon="Refresh" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="Plus"
@click="handleAdd"
v-hasPermi="['manage:safePenetration:horizontalCheckCfg:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="Edit"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['manage:safePenetration:horizontalCheckCfg:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="Delete"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['manage:safePenetration:horizontalCheckCfg:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="Download"
@click="handleExport"
v-hasPermi="['manage:safePenetration:horizontalCheckCfg:export']"
>导出</el-button>
</el-col>
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="dataList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="ID" align="center" prop="id" width="80" />
<el-table-column label="父级" align="center" prop="parentId" width="80" />
<el-table-column label="条目类型" align="center" prop="itemType" width="100">
<template #default="scope">
<span v-if="scope.row.itemType === 0"></span>
<span v-else-if="scope.row.itemType === 1">分类</span>
<span v-else-if="scope.row.itemType === 2">事故</span>
</template>
</el-table-column>
<el-table-column label="条目描述" align="center" prop="itemDesc" show-overflow-tooltip />
<el-table-column label="外部ID" align="center" prop="itemKey" width="100" />
<el-table-column label="风险因素" align="center" prop="riskFactor" show-overflow-tooltip />
<el-table-column label="风险等级" align="center" prop="riskLevel" width="100">
<template #default="scope">
<el-tag v-if="scope.row.riskLevel === 1"></el-tag>
<el-tag v-else-if="scope.row.riskLevel === 2" type="warning">一般风险</el-tag>
<el-tag v-else-if="scope.row.riskLevel === 3" type="danger">较大风险</el-tag>
</template>
</el-table-column>
<el-table-column label="控制措施" align="center" prop="controlMeasure" show-overflow-tooltip />
<el-table-column label="排序" align="center" prop="sorted" width="60" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="150">
<template #default="scope">
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['manage:safePenetration:horizontalCheckCfg:edit']"></el-button>
<el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['manage:safePenetration:horizontalCheckCfg:remove']"></el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
v-model:page="queryParams.pageNum"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改对话框 -->
<el-dialog :title="title" v-model="open" width="600px" append-to-body>
<el-form ref="formRef" :model="form" :rules="rules" label-width="100px">
<el-row>
<el-col :span="12">
<el-form-item label="父级" prop="parentId">
<el-input-number v-model="form.parentId" :min="0" placeholder="请输入父级ID" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="条目类型" prop="itemType">
<el-select v-model="form.itemType" placeholder="请选择条目类型">
<el-option label="条目" :value="0" />
<el-option label="分类" :value="1" />
<el-option label="事故" :value="2" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="条目描述" prop="itemDesc">
<el-input v-model="form.itemDesc" placeholder="请输入条目描述" />
</el-form-item>
<el-row>
<el-col :span="12">
<el-form-item label="外部ID" prop="itemKey">
<el-input v-model="form.itemKey" placeholder="请输入外部ID" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="排序" prop="sorted">
<el-input-number v-model="form.sorted" :min="0" placeholder="请输入排序" />
</el-form-item>
</el-col>
</el-row>
<el-form-item label="风险因素" prop="riskFactor">
<el-input v-model="form.riskFactor" type="textarea" placeholder="请输入风险因素" />
</el-form-item>
<el-row>
<el-col :span="12">
<el-form-item label="风险等级" prop="riskLevel">
<el-select v-model="form.riskLevel" placeholder="请选择风险等级">
<el-option label="低风险" :value="1" />
<el-option label="一般风险" :value="2" />
<el-option label="较大风险" :value="3" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="控制措施" prop="controlMeasure">
<el-input v-model="form.controlMeasure" type="textarea" placeholder="请输入控制措施" />
</el-form-item>
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</template>
</el-dialog>
</div>
</template>
<script setup name="HorizontalCheckCfg">
import { listHorizontalCheckCfg, getHorizontalCheckCfg, delHorizontalCheckCfg, addHorizontalCheckCfg, updateHorizontalCheckCfg } from "@/api/manage/horizontalCheckCfg";
const { proxy } = getCurrentInstance();
const dataList = ref([]);
const open = ref(false);
const loading = ref(true);
const showSearch = ref(true);
const ids = ref([]);
const single = ref(true);
const multiple = ref(true);
const total = ref(0);
const title = ref("");
const data = reactive({
form: {
itemCatetory: 1,
itemType: 0
},
queryParams: {
pageNum: 1,
pageSize: 10,
itemDesc: null,
riskLevel: null,
itemCatetory: 1
},
rules: {
itemDesc: [{ required: true, message: "条目描述不能为空", trigger: "blur" }]
}
});
const { queryParams, form, rules } = toRefs(data);
/** 查询列表 */
function getList() {
loading.value = true;
listHorizontalCheckCfg(queryParams.value).then(response => {
dataList.value = response.rows;
total.value = response.total;
loading.value = false;
});
}
function cancel() {
open.value = false;
reset();
}
function reset() {
form.value = {
id: null,
parentId: 0,
itemType: 0,
itemDesc: null,
itemCatetory: 1,
itemKey: null,
riskFactor: null,
riskLevel: null,
controlMeasure: null,
sorted: 0
};
proxy.resetForm("formRef");
}
/** 搜索按钮操作 */
function handleQuery() {
queryParams.value.pageNum = 1;
getList();
}
/** 重置按钮操作 */
function resetQuery() {
proxy.resetForm("queryRef");
handleQuery();
}
/** 多选框选中数据 */
function handleSelectionChange(selection) {
ids.value = selection.map(item => item.id);
single.value = selection.length != 1;
multiple.value = !selection.length;
}
/** 新增按钮操作 */
function handleAdd() {
reset();
open.value = true;
title.value = "添加横向检查配置";
}
/** 修改按钮操作 */
function handleUpdate(row) {
reset();
const _id = row.id || ids.value;
getHorizontalCheckCfg(_id).then(response => {
form.value = response.data;
open.value = true;
title.value = "修改横向检查配置";
});
}
/** 提交按钮 */
function submitForm() {
proxy.$refs["formRef"].validate(valid => {
if (valid) {
if (form.value.id != null) {
updateHorizontalCheckCfg(form.value).then(response => {
proxy.$modal.msgSuccess("修改成功");
open.value = false;
getList();
});
} else {
addHorizontalCheckCfg(form.value).then(response => {
proxy.$modal.msgSuccess("新增成功");
open.value = false;
getList();
});
}
}
});
}
/** 删除按钮操作 */
function handleDelete(row) {
const _ids = row.id || ids.value;
proxy.$modal.confirm('是否确认删除编号为"' + _ids + '"的数据项?').then(function() {
return delHorizontalCheckCfg(_ids);
}).then(() => {
getList();
proxy.$modal.msgSuccess("删除成功");
}).catch(() => {});
}
/** 导出按钮操作 */
function handleExport() {
proxy.download('manage/horizontalCheckCfg/export', {
...queryParams.value
}, `horizontalCheckCfg_${new Date().getTime()}.xlsx`)
}
getList();
</script>

View File

@ -0,0 +1,281 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="80px">
<el-form-item label="检查日期" prop="checkDate">
<el-date-picker
v-model="queryParams.checkDate"
type="date"
placeholder="请选择检查日期"
value-format="YYYY-MM-DD"
/>
</el-form-item>
<el-form-item label="网格点" prop="gridId">
<el-input
v-model="queryParams.gridId"
placeholder="请输入网格点"
clearable
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery"></el-button>
<el-button icon="Refresh" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="Plus"
@click="handleAdd"
v-hasPermi="['manage:safePenetration:keyConstruction:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="Edit"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['manage:safePenetration:keyConstruction:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="Delete"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['manage:safePenetration:keyConstruction:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="Download"
@click="handleExport"
v-hasPermi="['manage:safePenetration:keyConstruction:export']"
>导出</el-button>
</el-col>
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="dataList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="ID" align="center" prop="id" width="80" />
<el-table-column label="检查日期" align="center" prop="checkDate" width="120" />
<el-table-column label="被检查人" align="center" prop="checkedPerson" width="100" />
<el-table-column label="网格点" align="center" prop="gridId" width="80" />
<el-table-column label="施工部位" align="center" prop="gridRangeId" width="100" />
<el-table-column label="检查意见" align="center" prop="inspectionOpinion" width="100">
<template #default="scope">
<el-tag :type="scope.row.inspectionOpinion === 1 ? 'success' : 'danger'">
{{ scope.row.inspectionOpinion === 1 ? '同意' : '不同意' }}
</el-tag>
</template>
</el-table-column>
<el-table-column label="备注" align="center" prop="remark" show-overflow-tooltip />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="150">
<template #default="scope">
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['manage:safePenetration:keyConstruction:edit']"></el-button>
<el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['manage:safePenetration:keyConstruction:remove']"></el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
v-model:page="queryParams.pageNum"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改对话框 -->
<el-dialog :title="title" v-model="open" width="600px" append-to-body>
<el-form ref="formRef" :model="form" :rules="rules" label-width="100px">
<el-row>
<el-col :span="12">
<el-form-item label="检查日期" prop="checkDate">
<el-date-picker v-model="form.checkDate" type="date" value-format="YYYY-MM-DD" placeholder="请选择检查日期" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="被检查人" prop="checkedPerson">
<el-input v-model="form.checkedPerson" placeholder="请输入被检查人" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="网格点" prop="gridId">
<el-input-number v-model="form.gridId" :min="0" placeholder="请输入网格点" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="施工部位" prop="gridRangeId">
<el-input-number v-model="form.gridRangeId" :min="0" placeholder="请输入施工部位" />
</el-form-item>
</el-col>
</el-row>
<el-form-item label="检查意见" prop="inspectionOpinion">
<el-radio-group v-model="form.inspectionOpinion">
<el-radio :value="0">不同意</el-radio>
<el-radio :value="1">同意</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入备注" />
</el-form-item>
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</template>
</el-dialog>
</div>
</template>
<script setup name="KeyConstruction">
import { listKeyConstruction, getKeyConstruction, delKeyConstruction, addKeyConstruction, updateKeyConstruction } from "@/api/manage/keyConstruction";
const { proxy } = getCurrentInstance();
const dataList = ref([]);
const open = ref(false);
const loading = ref(true);
const showSearch = ref(true);
const ids = ref([]);
const single = ref(true);
const multiple = ref(true);
const total = ref(0);
const title = ref("");
const data = reactive({
form: {
checkType: 4,
inspectionOpinion: 1
},
queryParams: {
pageNum: 1,
pageSize: 10,
checkType: 4,
checkDate: null,
gridId: null
},
rules: {
checkDate: [{ required: true, message: "检查日期不能为空", trigger: "change" }]
}
});
const { queryParams, form, rules } = toRefs(data);
/** 查询列表 */
function getList() {
loading.value = true;
listKeyConstruction(queryParams.value).then(response => {
dataList.value = response.rows;
total.value = response.total;
loading.value = false;
});
}
function cancel() {
open.value = false;
reset();
}
function reset() {
form.value = {
id: null,
projectId: null,
checkType: 4,
checkDate: null,
deptId: null,
checkedPerson: null,
checkedImgs: null,
gridId: null,
gridRangeId: null,
inspectionOpinion: 1,
remark: null
};
proxy.resetForm("formRef");
}
function handleQuery() {
queryParams.value.pageNum = 1;
getList();
}
function resetQuery() {
proxy.resetForm("queryRef");
handleQuery();
}
function handleSelectionChange(selection) {
ids.value = selection.map(item => item.id);
single.value = selection.length != 1;
multiple.value = !selection.length;
}
function handleAdd() {
reset();
open.value = true;
title.value = "添加关键施工条件确认记录";
}
function handleUpdate(row) {
reset();
const _id = row.id || ids.value;
getKeyConstruction(_id).then(response => {
form.value = response.data;
open.value = true;
title.value = "修改关键施工条件确认记录";
});
}
function submitForm() {
proxy.$refs["formRef"].validate(valid => {
if (valid) {
if (form.value.id != null) {
updateKeyConstruction(form.value).then(response => {
proxy.$modal.msgSuccess("修改成功");
open.value = false;
getList();
});
} else {
addKeyConstruction(form.value).then(response => {
proxy.$modal.msgSuccess("新增成功");
open.value = false;
getList();
});
}
}
});
}
function handleDelete(row) {
const _ids = row.id || ids.value;
proxy.$modal.confirm('是否确认删除编号为"' + _ids + '"的数据项?').then(function() {
return delKeyConstruction(_ids);
}).then(() => {
getList();
proxy.$modal.msgSuccess("删除成功");
}).catch(() => {});
}
function handleExport() {
proxy.download('manage/keyConstruction/export', {
...queryParams.value
}, `keyConstruction_${new Date().getTime()}.xlsx`)
}
getList();
</script>

View File

@ -0,0 +1,310 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="条目描述" prop="itemDesc">
<el-input
v-model="queryParams.itemDesc"
placeholder="请输入条目描述"
clearable
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item label="风险等级" prop="riskLevel">
<el-select v-model="queryParams.riskLevel" placeholder="请选择风险等级" clearable>
<el-option label="低风险" :value="1" />
<el-option label="一般风险" :value="2" />
<el-option label="较大风险" :value="3" />
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery"></el-button>
<el-button icon="Refresh" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="Plus"
@click="handleAdd"
v-hasPermi="['manage:safePenetration:verticalCheckCfg:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="Edit"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['manage:safePenetration:verticalCheckCfg:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="Delete"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['manage:safePenetration:verticalCheckCfg:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="Download"
@click="handleExport"
v-hasPermi="['manage:safePenetration:verticalCheckCfg:export']"
>导出</el-button>
</el-col>
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="dataList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="ID" align="center" prop="id" width="80" />
<el-table-column label="父级" align="center" prop="parentId" width="80" />
<el-table-column label="条目类型" align="center" prop="itemType" width="100">
<template #default="scope">
<span v-if="scope.row.itemType === 0"></span>
<span v-else-if="scope.row.itemType === 1">分类</span>
<span v-else-if="scope.row.itemType === 2">事故</span>
</template>
</el-table-column>
<el-table-column label="条目描述" align="center" prop="itemDesc" show-overflow-tooltip />
<el-table-column label="外部ID" align="center" prop="itemKey" width="100" />
<el-table-column label="风险因素" align="center" prop="riskFactor" show-overflow-tooltip />
<el-table-column label="风险等级" align="center" prop="riskLevel" width="100">
<template #default="scope">
<el-tag v-if="scope.row.riskLevel === 1"></el-tag>
<el-tag v-else-if="scope.row.riskLevel === 2" type="warning">一般风险</el-tag>
<el-tag v-else-if="scope.row.riskLevel === 3" type="danger">较大风险</el-tag>
</template>
</el-table-column>
<el-table-column label="控制措施" align="center" prop="controlMeasure" show-overflow-tooltip />
<el-table-column label="排序" align="center" prop="sorted" width="60" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="150">
<template #default="scope">
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['manage:safePenetration:verticalCheckCfg:edit']"></el-button>
<el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['manage:safePenetration:verticalCheckCfg:remove']"></el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
v-model:page="queryParams.pageNum"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改对话框 -->
<el-dialog :title="title" v-model="open" width="600px" append-to-body>
<el-form ref="formRef" :model="form" :rules="rules" label-width="100px">
<el-row>
<el-col :span="12">
<el-form-item label="父级" prop="parentId">
<el-input-number v-model="form.parentId" :min="0" placeholder="请输入父级ID" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="条目类型" prop="itemType">
<el-select v-model="form.itemType" placeholder="请选择条目类型">
<el-option label="条目" :value="0" />
<el-option label="分类" :value="1" />
<el-option label="事故" :value="2" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="条目描述" prop="itemDesc">
<el-input v-model="form.itemDesc" placeholder="请输入条目描述" />
</el-form-item>
<el-row>
<el-col :span="12">
<el-form-item label="外部ID" prop="itemKey">
<el-input v-model="form.itemKey" placeholder="请输入外部ID" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="排序" prop="sorted">
<el-input-number v-model="form.sorted" :min="0" placeholder="请输入排序" />
</el-form-item>
</el-col>
</el-row>
<el-form-item label="风险因素" prop="riskFactor">
<el-input v-model="form.riskFactor" type="textarea" placeholder="请输入风险因素" />
</el-form-item>
<el-row>
<el-col :span="12">
<el-form-item label="风险等级" prop="riskLevel">
<el-select v-model="form.riskLevel" placeholder="请选择风险等级">
<el-option label="低风险" :value="1" />
<el-option label="一般风险" :value="2" />
<el-option label="较大风险" :value="3" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="控制措施" prop="controlMeasure">
<el-input v-model="form.controlMeasure" type="textarea" placeholder="请输入控制措施" />
</el-form-item>
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</template>
</el-dialog>
</div>
</template>
<script setup name="VerticalCheckCfg">
import { listVerticalCheckCfg, getVerticalCheckCfg, delVerticalCheckCfg, addVerticalCheckCfg, updateVerticalCheckCfg } from "@/api/manage/verticalCheckCfg";
const { proxy } = getCurrentInstance();
const dataList = ref([]);
const open = ref(false);
const loading = ref(true);
const showSearch = ref(true);
const ids = ref([]);
const single = ref(true);
const multiple = ref(true);
const total = ref(0);
const title = ref("");
const data = reactive({
form: {
itemCatetory: 2,
itemType: 0
},
queryParams: {
pageNum: 1,
pageSize: 10,
itemDesc: null,
riskLevel: null,
itemCatetory: 2
},
rules: {
itemDesc: [{ required: true, message: "条目描述不能为空", trigger: "blur" }]
}
});
const { queryParams, form, rules } = toRefs(data);
/** 查询列表 */
function getList() {
loading.value = true;
listVerticalCheckCfg(queryParams.value).then(response => {
dataList.value = response.rows;
total.value = response.total;
loading.value = false;
});
}
function cancel() {
open.value = false;
reset();
}
function reset() {
form.value = {
id: null,
parentId: 0,
itemType: 0,
itemDesc: null,
itemCatetory: 2,
itemKey: null,
riskFactor: null,
riskLevel: null,
controlMeasure: null,
sorted: 0
};
proxy.resetForm("formRef");
}
/** 搜索按钮操作 */
function handleQuery() {
queryParams.value.pageNum = 1;
getList();
}
/** 重置按钮操作 */
function resetQuery() {
proxy.resetForm("queryRef");
handleQuery();
}
/** 多选框选中数据 */
function handleSelectionChange(selection) {
ids.value = selection.map(item => item.id);
single.value = selection.length != 1;
multiple.value = !selection.length;
}
/** 新增按钮操作 */
function handleAdd() {
reset();
open.value = true;
title.value = "添加纵向检查配置";
}
/** 修改按钮操作 */
function handleUpdate(row) {
reset();
const _id = row.id || ids.value;
getVerticalCheckCfg(_id).then(response => {
form.value = response.data;
open.value = true;
title.value = "修改纵向检查配置";
});
}
/** 提交按钮 */
function submitForm() {
proxy.$refs["formRef"].validate(valid => {
if (valid) {
if (form.value.id != null) {
updateVerticalCheckCfg(form.value).then(response => {
proxy.$modal.msgSuccess("修改成功");
open.value = false;
getList();
});
} else {
addVerticalCheckCfg(form.value).then(response => {
proxy.$modal.msgSuccess("新增成功");
open.value = false;
getList();
});
}
}
});
}
/** 删除按钮操作 */
function handleDelete(row) {
const _ids = row.id || ids.value;
proxy.$modal.confirm('是否确认删除编号为"' + _ids + '"的数据项?').then(function() {
return delVerticalCheckCfg(_ids);
}).then(() => {
getList();
proxy.$modal.msgSuccess("删除成功");
}).catch(() => {});
}
/** 导出按钮操作 */
function handleExport() {
proxy.download('manage/verticalCheckCfg/export', {
...queryParams.value
}, `verticalCheckCfg_${new Date().getTime()}.xlsx`)
}
getList();
</script>