Merge branch 'dev' of https://github.com/lanyulei/ferry2 into dev
This commit is contained in:
commit
c6d42c9a5b
10
README.md
10
README.md
@ -132,6 +132,16 @@ QQ群:1127401830
|
|||||||
* everstar_l 10元
|
* everstar_l 10元
|
||||||
* 五色花 20元
|
* 五色花 20元
|
||||||
|
|
||||||
|
## 鸣谢
|
||||||
|
|
||||||
|
特别感谢 [JetBrains](https://www.jetbrains.com/?from=ferry) 为本开源项目提供免费的 [IntelliJ GoLand](https://www.jetbrains.com/go/?from=ferry) 授权
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<a href="https://www.jetbrains.com/?from=ferry">
|
||||||
|
<img height="200" src="https://www.fdevops.com/wp-content/uploads/2020/09/1599213857-jetbrains-variant-4.png">
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
开源不易,请尊重作者的付出,感谢。
|
开源不易,请尊重作者的付出,感谢。
|
||||||
|
381
config/ferry.sql
Normal file
381
config/ferry.sql
Normal file
@ -0,0 +1,381 @@
|
|||||||
|
/*
|
||||||
|
Navicat Premium Data Transfer
|
||||||
|
|
||||||
|
Source Server : localhost
|
||||||
|
Source Server Type : MySQL
|
||||||
|
Source Server Version : 50729
|
||||||
|
Source Host : localhost:3306
|
||||||
|
Source Schema : ferry
|
||||||
|
|
||||||
|
Target Server Type : MySQL
|
||||||
|
Target Server Version : 50729
|
||||||
|
File Encoding : 65001
|
||||||
|
|
||||||
|
Date: 05/09/2020 16:42:32
|
||||||
|
*/
|
||||||
|
|
||||||
|
SET NAMES utf8mb4;
|
||||||
|
SET FOREIGN_KEY_CHECKS = 0;
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for casbin_rule
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS `casbin_rule`;
|
||||||
|
CREATE TABLE `casbin_rule` (
|
||||||
|
`p_type` varchar(100) DEFAULT NULL,
|
||||||
|
`v0` varchar(100) DEFAULT NULL,
|
||||||
|
`v1` varchar(100) DEFAULT NULL,
|
||||||
|
`v2` varchar(100) DEFAULT NULL,
|
||||||
|
`v3` varchar(100) DEFAULT NULL,
|
||||||
|
`v4` varchar(100) DEFAULT NULL,
|
||||||
|
`v5` varchar(100) DEFAULT NULL,
|
||||||
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`create_time` timestamp NULL DEFAULT NULL,
|
||||||
|
`update_time` timestamp NULL DEFAULT NULL,
|
||||||
|
`delete_time` timestamp NULL DEFAULT NULL,
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
KEY `idx_casbin_rule_delete_time` (`delete_time`)
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=794 DEFAULT CHARSET=utf8mb4;
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for p_process_classify
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS `p_process_classify`;
|
||||||
|
CREATE TABLE `p_process_classify` (
|
||||||
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`create_time` timestamp NULL DEFAULT NULL,
|
||||||
|
`update_time` timestamp NULL DEFAULT NULL,
|
||||||
|
`delete_time` timestamp NULL DEFAULT NULL,
|
||||||
|
`name` varchar(128) DEFAULT NULL,
|
||||||
|
`creator` int(11) DEFAULT NULL,
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
KEY `idx_p_process_classify_delete_time` (`delete_time`)
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4;
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for p_process_info
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS `p_process_info`;
|
||||||
|
CREATE TABLE `p_process_info` (
|
||||||
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`create_time` timestamp NULL DEFAULT NULL,
|
||||||
|
`update_time` timestamp NULL DEFAULT NULL,
|
||||||
|
`delete_time` timestamp NULL DEFAULT NULL,
|
||||||
|
`name` varchar(128) DEFAULT NULL,
|
||||||
|
`structure` json DEFAULT NULL,
|
||||||
|
`classify` int(11) DEFAULT NULL,
|
||||||
|
`tpls` json DEFAULT NULL,
|
||||||
|
`task` json DEFAULT NULL,
|
||||||
|
`submit_count` int(11) DEFAULT '0',
|
||||||
|
`creator` int(11) DEFAULT NULL,
|
||||||
|
`notice` json DEFAULT NULL,
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
KEY `idx_p_process_info_delete_time` (`delete_time`)
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4;
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for p_task_history
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS `p_task_history`;
|
||||||
|
CREATE TABLE `p_task_history` (
|
||||||
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`create_time` timestamp NULL DEFAULT NULL,
|
||||||
|
`update_time` timestamp NULL DEFAULT NULL,
|
||||||
|
`delete_time` timestamp NULL DEFAULT NULL,
|
||||||
|
`task` int(11) DEFAULT NULL,
|
||||||
|
`name` varchar(256) DEFAULT NULL,
|
||||||
|
`task_type` int(11) DEFAULT NULL,
|
||||||
|
`execution_time` varchar(128) DEFAULT NULL,
|
||||||
|
`result` longtext,
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
KEY `idx_p_task_history_delete_time` (`delete_time`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for p_task_info
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS `p_task_info`;
|
||||||
|
CREATE TABLE `p_task_info` (
|
||||||
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`create_time` timestamp NULL DEFAULT NULL,
|
||||||
|
`update_time` timestamp NULL DEFAULT NULL,
|
||||||
|
`delete_time` timestamp NULL DEFAULT NULL,
|
||||||
|
`name` varchar(256) DEFAULT NULL,
|
||||||
|
`task_type` varchar(45) DEFAULT NULL,
|
||||||
|
`content` longtext,
|
||||||
|
`creator` int(11) DEFAULT NULL,
|
||||||
|
`remarks` longtext,
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
KEY `idx_p_task_info_delete_time` (`delete_time`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for p_tpl_info
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS `p_tpl_info`;
|
||||||
|
CREATE TABLE `p_tpl_info` (
|
||||||
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`create_time` timestamp NULL DEFAULT NULL,
|
||||||
|
`update_time` timestamp NULL DEFAULT NULL,
|
||||||
|
`delete_time` timestamp NULL DEFAULT NULL,
|
||||||
|
`name` varchar(128) DEFAULT NULL,
|
||||||
|
`form_structure` json DEFAULT NULL,
|
||||||
|
`creator` int(11) DEFAULT NULL,
|
||||||
|
`remarks` longtext,
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
KEY `idx_p_tpl_info_delete_time` (`delete_time`)
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4;
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for p_work_order_circulation_history
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS `p_work_order_circulation_history`;
|
||||||
|
CREATE TABLE `p_work_order_circulation_history` (
|
||||||
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`create_time` timestamp NULL DEFAULT NULL,
|
||||||
|
`update_time` timestamp NULL DEFAULT NULL,
|
||||||
|
`delete_time` timestamp NULL DEFAULT NULL,
|
||||||
|
`title` varchar(128) DEFAULT NULL,
|
||||||
|
`work_order` int(11) DEFAULT NULL,
|
||||||
|
`state` varchar(128) DEFAULT NULL,
|
||||||
|
`source` varchar(128) DEFAULT NULL,
|
||||||
|
`target` varchar(128) DEFAULT NULL,
|
||||||
|
`circulation` varchar(128) DEFAULT NULL,
|
||||||
|
`processor` varchar(45) DEFAULT NULL,
|
||||||
|
`processor_id` int(11) DEFAULT NULL,
|
||||||
|
`cost_duration` varchar(128) DEFAULT NULL,
|
||||||
|
`remarks` longtext,
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
KEY `idx_p_work_order_circulation_history_delete_time` (`delete_time`)
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=58 DEFAULT CHARSET=utf8mb4;
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for p_work_order_info
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS `p_work_order_info`;
|
||||||
|
CREATE TABLE `p_work_order_info` (
|
||||||
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`create_time` timestamp NULL DEFAULT NULL,
|
||||||
|
`update_time` timestamp NULL DEFAULT NULL,
|
||||||
|
`delete_time` timestamp NULL DEFAULT NULL,
|
||||||
|
`title` varchar(128) DEFAULT NULL,
|
||||||
|
`priority` int(11) DEFAULT NULL,
|
||||||
|
`process` int(11) DEFAULT NULL,
|
||||||
|
`classify` int(11) DEFAULT NULL,
|
||||||
|
`is_end` int(11) DEFAULT '0',
|
||||||
|
`is_denied` int(11) DEFAULT '0',
|
||||||
|
`state` json DEFAULT NULL,
|
||||||
|
`related_person` json DEFAULT NULL,
|
||||||
|
`creator` int(11) DEFAULT NULL,
|
||||||
|
`urge_count` int(11) DEFAULT '0',
|
||||||
|
`urge_last_time` int(11) DEFAULT '0',
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
KEY `idx_p_work_order_info_delete_time` (`delete_time`)
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=21 DEFAULT CHARSET=utf8mb4;
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for p_work_order_tpl_data
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS `p_work_order_tpl_data`;
|
||||||
|
CREATE TABLE `p_work_order_tpl_data` (
|
||||||
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`create_time` timestamp NULL DEFAULT NULL,
|
||||||
|
`update_time` timestamp NULL DEFAULT NULL,
|
||||||
|
`delete_time` timestamp NULL DEFAULT NULL,
|
||||||
|
`work_order` int(11) DEFAULT NULL,
|
||||||
|
`form_structure` json DEFAULT NULL,
|
||||||
|
`form_data` json DEFAULT NULL,
|
||||||
|
`tpl` int(11) DEFAULT NULL,
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
KEY `idx_p_work_order_tpl_data_delete_time` (`delete_time`)
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=35 DEFAULT CHARSET=utf8mb4;
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for sys_dept
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS `sys_dept`;
|
||||||
|
CREATE TABLE `sys_dept` (
|
||||||
|
`dept_id` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`parent_id` int(11) DEFAULT NULL,
|
||||||
|
`dept_path` varchar(255) DEFAULT NULL,
|
||||||
|
`dept_name` varchar(128) DEFAULT NULL,
|
||||||
|
`sort` int(4) DEFAULT NULL,
|
||||||
|
`leader` int(11) DEFAULT NULL,
|
||||||
|
`phone` varchar(11) DEFAULT NULL,
|
||||||
|
`email` varchar(64) DEFAULT NULL,
|
||||||
|
`status` int(1) DEFAULT NULL,
|
||||||
|
`create_by` varchar(64) DEFAULT NULL,
|
||||||
|
`update_by` varchar(64) DEFAULT NULL,
|
||||||
|
`create_time` timestamp NULL DEFAULT NULL,
|
||||||
|
`update_time` timestamp NULL DEFAULT NULL,
|
||||||
|
`delete_time` timestamp NULL DEFAULT NULL,
|
||||||
|
PRIMARY KEY (`dept_id`),
|
||||||
|
KEY `idx_sys_dept_delete_time` (`delete_time`)
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4;
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for sys_loginlog
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS `sys_loginlog`;
|
||||||
|
CREATE TABLE `sys_loginlog` (
|
||||||
|
`info_id` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`username` varchar(128) DEFAULT NULL,
|
||||||
|
`status` int(1) DEFAULT NULL,
|
||||||
|
`ipaddr` varchar(255) DEFAULT NULL,
|
||||||
|
`login_location` varchar(255) DEFAULT NULL,
|
||||||
|
`browser` varchar(255) DEFAULT NULL,
|
||||||
|
`os` varchar(255) DEFAULT NULL,
|
||||||
|
`platform` varchar(255) DEFAULT NULL,
|
||||||
|
`login_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||||
|
`create_by` varchar(128) DEFAULT NULL,
|
||||||
|
`update_by` varchar(128) DEFAULT NULL,
|
||||||
|
`remark` varchar(255) DEFAULT NULL,
|
||||||
|
`msg` varchar(255) DEFAULT NULL,
|
||||||
|
`create_time` timestamp NULL DEFAULT NULL,
|
||||||
|
`update_time` timestamp NULL DEFAULT NULL,
|
||||||
|
`delete_time` timestamp NULL DEFAULT NULL,
|
||||||
|
PRIMARY KEY (`info_id`),
|
||||||
|
KEY `idx_sys_loginlog_delete_time` (`delete_time`)
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=147 DEFAULT CHARSET=utf8mb4;
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for sys_menu
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS `sys_menu`;
|
||||||
|
CREATE TABLE `sys_menu` (
|
||||||
|
`menu_id` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`menu_name` varchar(128) DEFAULT NULL,
|
||||||
|
`title` varchar(64) DEFAULT NULL,
|
||||||
|
`icon` varchar(128) DEFAULT NULL,
|
||||||
|
`path` varchar(128) DEFAULT NULL,
|
||||||
|
`paths` varchar(128) DEFAULT NULL,
|
||||||
|
`menu_type` varchar(1) DEFAULT NULL,
|
||||||
|
`action` varchar(16) DEFAULT NULL,
|
||||||
|
`permission` varchar(32) DEFAULT NULL,
|
||||||
|
`parent_id` int(11) DEFAULT NULL,
|
||||||
|
`no_cache` char(1) DEFAULT NULL,
|
||||||
|
`breadcrumb` varchar(255) DEFAULT NULL,
|
||||||
|
`component` varchar(255) DEFAULT NULL,
|
||||||
|
`sort` int(4) DEFAULT NULL,
|
||||||
|
`visible` char(1) DEFAULT NULL,
|
||||||
|
`create_by` varchar(128) DEFAULT NULL,
|
||||||
|
`update_by` varchar(128) DEFAULT NULL,
|
||||||
|
`is_frame` int(1) DEFAULT '0',
|
||||||
|
`create_time` timestamp NULL DEFAULT NULL,
|
||||||
|
`update_time` timestamp NULL DEFAULT NULL,
|
||||||
|
`delete_time` timestamp NULL DEFAULT NULL,
|
||||||
|
PRIMARY KEY (`menu_id`),
|
||||||
|
KEY `idx_sys_menu_delete_time` (`delete_time`)
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=362 DEFAULT CHARSET=utf8mb4;
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for sys_post
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS `sys_post`;
|
||||||
|
CREATE TABLE `sys_post` (
|
||||||
|
`post_id` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`post_name` varchar(128) DEFAULT NULL,
|
||||||
|
`post_code` varchar(128) DEFAULT NULL,
|
||||||
|
`sort` int(4) DEFAULT NULL,
|
||||||
|
`status` int(1) DEFAULT NULL,
|
||||||
|
`remark` varchar(255) DEFAULT NULL,
|
||||||
|
`create_by` varchar(128) DEFAULT NULL,
|
||||||
|
`update_by` varchar(128) DEFAULT NULL,
|
||||||
|
`create_time` timestamp NULL DEFAULT NULL,
|
||||||
|
`update_time` timestamp NULL DEFAULT NULL,
|
||||||
|
`delete_time` timestamp NULL DEFAULT NULL,
|
||||||
|
PRIMARY KEY (`post_id`),
|
||||||
|
KEY `idx_sys_post_delete_time` (`delete_time`)
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4;
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for sys_role
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS `sys_role`;
|
||||||
|
CREATE TABLE `sys_role` (
|
||||||
|
`role_id` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`role_name` varchar(128) DEFAULT NULL,
|
||||||
|
`status` int(1) DEFAULT NULL,
|
||||||
|
`role_key` varchar(128) DEFAULT NULL,
|
||||||
|
`role_sort` int(4) DEFAULT NULL,
|
||||||
|
`flag` varchar(128) DEFAULT NULL,
|
||||||
|
`create_by` varchar(128) DEFAULT NULL,
|
||||||
|
`update_by` varchar(128) DEFAULT NULL,
|
||||||
|
`remark` varchar(255) DEFAULT NULL,
|
||||||
|
`admin` char(1) DEFAULT NULL,
|
||||||
|
`create_time` timestamp NULL DEFAULT NULL,
|
||||||
|
`update_time` timestamp NULL DEFAULT NULL,
|
||||||
|
`delete_time` timestamp NULL DEFAULT NULL,
|
||||||
|
PRIMARY KEY (`role_id`),
|
||||||
|
KEY `idx_sys_role_delete_time` (`delete_time`)
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4;
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for sys_role_dept
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS `sys_role_dept`;
|
||||||
|
CREATE TABLE `sys_role_dept` (
|
||||||
|
`role_id` int(11) DEFAULT NULL,
|
||||||
|
`dept_id` int(11) DEFAULT NULL,
|
||||||
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
PRIMARY KEY (`id`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for sys_role_menu
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS `sys_role_menu`;
|
||||||
|
CREATE TABLE `sys_role_menu` (
|
||||||
|
`role_id` int(11) DEFAULT NULL,
|
||||||
|
`menu_id` int(11) DEFAULT NULL,
|
||||||
|
`role_name` varchar(128) DEFAULT NULL,
|
||||||
|
`create_by` varchar(128) DEFAULT NULL,
|
||||||
|
`update_by` varchar(128) DEFAULT NULL,
|
||||||
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
PRIMARY KEY (`id`)
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=1538 DEFAULT CHARSET=utf8mb4;
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for sys_settings
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS `sys_settings`;
|
||||||
|
CREATE TABLE `sys_settings` (
|
||||||
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`create_time` timestamp NULL DEFAULT NULL,
|
||||||
|
`update_time` timestamp NULL DEFAULT NULL,
|
||||||
|
`delete_time` timestamp NULL DEFAULT NULL,
|
||||||
|
`classify` int(11) DEFAULT NULL,
|
||||||
|
`content` json DEFAULT NULL,
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
KEY `idx_sys_settings_delete_time` (`delete_time`)
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4;
|
||||||
|
|
||||||
|
-- ----------------------------
|
||||||
|
-- Table structure for sys_user
|
||||||
|
-- ----------------------------
|
||||||
|
DROP TABLE IF EXISTS `sys_user`;
|
||||||
|
CREATE TABLE `sys_user` (
|
||||||
|
`user_id` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
`nick_name` varchar(128) DEFAULT NULL,
|
||||||
|
`phone` varchar(11) DEFAULT NULL,
|
||||||
|
`role_id` int(11) DEFAULT NULL,
|
||||||
|
`salt` varchar(255) DEFAULT NULL,
|
||||||
|
`avatar` varchar(255) DEFAULT NULL,
|
||||||
|
`sex` varchar(255) DEFAULT NULL,
|
||||||
|
`email` varchar(128) DEFAULT NULL,
|
||||||
|
`dept_id` int(11) DEFAULT NULL,
|
||||||
|
`post_id` int(11) DEFAULT NULL,
|
||||||
|
`create_by` varchar(128) DEFAULT NULL,
|
||||||
|
`update_by` varchar(128) DEFAULT NULL,
|
||||||
|
`remark` varchar(255) DEFAULT NULL,
|
||||||
|
`status` int(1) DEFAULT NULL,
|
||||||
|
`create_time` timestamp NULL DEFAULT NULL,
|
||||||
|
`update_time` timestamp NULL DEFAULT NULL,
|
||||||
|
`delete_time` timestamp NULL DEFAULT NULL,
|
||||||
|
`username` varchar(64) DEFAULT NULL,
|
||||||
|
`password` varchar(128) DEFAULT NULL,
|
||||||
|
PRIMARY KEY (`user_id`),
|
||||||
|
KEY `idx_sys_user_delete_time` (`delete_time`)
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8mb4;
|
||||||
|
|
||||||
|
SET FOREIGN_KEY_CHECKS = 1;
|
1
docs/_config.yml
Normal file
1
docs/_config.yml
Normal file
@ -0,0 +1 @@
|
|||||||
|
theme: jekyll-theme-cayman
|
5
docs/document/countersign.md
Normal file
5
docs/document/countersign.md
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
# 会签
|
||||||
|
|
||||||
|
当在一个阶段出现多个处理人的时候,同时也需要多个处理人都处理完成,才可以进入下一个阶段的时候,则需要选择上会签的功能。
|
||||||
|
|
||||||
|
也就说,如果选择了会签,则需要当前阶段的所有人处理完成,才能进入下一个阶段。
|
29
docs/document/cross_compile.md
Normal file
29
docs/document/cross_compile.md
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
# Mac、Linux、Windows下分别进行交叉编译
|
||||||
|
|
||||||
|
Golang 支持交叉编译,在一个平台上生成另一个平台的可执行程序。
|
||||||
|
|
||||||
|
Mac 下编译 Linux 和 Windows 64位可执行程序
|
||||||
|
|
||||||
|
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go
|
||||||
|
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go
|
||||||
|
|
||||||
|
Linux 下编译 Mac 和 Windows 64位可执行程序
|
||||||
|
|
||||||
|
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build main.go
|
||||||
|
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go
|
||||||
|
|
||||||
|
Windows 下编译 Mac 和 Linux 64位可执行程序
|
||||||
|
|
||||||
|
SET CGO_ENABLED=0
|
||||||
|
SET GOOS=darwin
|
||||||
|
SET GOARCH=amd64
|
||||||
|
go build main.go
|
||||||
|
-------------------------------------------------
|
||||||
|
SET CGO_ENABLED=0
|
||||||
|
SET GOOS=linux
|
||||||
|
SET GOARCH=amd64
|
||||||
|
go build main.go
|
||||||
|
|
||||||
|
GOOS:目标平台的操作系统(darwin、freebsd、linux、windows)。
|
||||||
|
GOARCH:目标平台的体系架构(386、amd64、arm)。
|
||||||
|
CGO_ENABLED:交叉编译不支持 CGO 所以要禁用它。
|
5
docs/document/end_process.md
Normal file
5
docs/document/end_process.md
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
# 结单
|
||||||
|
|
||||||
|
当发现提交的工单有误,可以根据实际情况,直接结束工单。
|
||||||
|
|
||||||
|

|
17
docs/document/exclusive_gateway.md
Normal file
17
docs/document/exclusive_gateway.md
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
# 排他网关
|
||||||
|
|
||||||
|
在平时的业务中,有的时候需要根据表单数据的值来判断跳转到啥位置。
|
||||||
|
|
||||||
|
例如:如果申请的服务器价格低于1000元就是部门领导审批,如果超过1000元,那么就是CTO审批。为兼容这种情况因此加入了排他网关的概念。
|
||||||
|
|
||||||
|
此外还需注意,如果使用了排他网关,则必须有一个条件判断是正确的,否则流程将无法进行下去,报错失败。
|
||||||
|
|
||||||
|
将下面的Json格式数据,修改为自己的表单数据,写入到对应的流转线条中即可,但是流转线条的源阶段必须要排他网关的图标。
|
||||||
|
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"key":"字段名称",
|
||||||
|
"sign":"==",
|
||||||
|
"value":"需要判断的值"
|
||||||
|
}
|
||||||
|
]
|
5
docs/document/forward.md
Normal file
5
docs/document/forward.md
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
# 转交
|
||||||
|
|
||||||
|
进行工单转交,只能在当前阶段将工单转交给他人。
|
||||||
|
|
||||||
|

|
59
docs/document/ide_development.md
Normal file
59
docs/document/ide_development.md
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
# IDE开发
|
||||||
|
|
||||||
|
众多 IDE 里边,推荐使用 `goland IDE`进行调试
|
||||||
|
|
||||||
|
首先我们启动 `Goland` , 点击 `Open Project`,下图红框圈选部分;
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
选择 ferry 存放的路径,找到并打开;
|
||||||
|
|
||||||
|
# 配置 GOPORXY
|
||||||
|
|
||||||
|
然后选择`Goland` > `Preferences` ;
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
# 添加运行或调试配置
|
||||||
|
|
||||||
|
### 添加 init 配置
|
||||||
|
|
||||||
|
1\. 打开`Edit Configurations`
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
2\. 选择 `+` > `go build`
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
3\. 按照下图所示进行配置,注意:填写 `Program arguments` 为 `init -c=config/settings.dev.yml`,完成之后点击保存
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
4\. 修改数据库
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
5\. 初使化
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
### 添加 server 配置
|
||||||
|
|
||||||
|
1\. 打开`Edit Configurations`
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
2\. 选择 `+` > `go build`
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
3\. 按照下图所示进行配置,注意:填写 `Program arguments` 为`server -c=config/settings.dev.yml`,完成之后点击保存
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
4\. 启动 debug
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
转载自:[http://doc.zhangwj.com/go-admin-site/guide/ide.html#%E6%B7%BB%E5%8A%A0-server-%E9%85%8D%E7%BD%AE](http://doc.zhangwj.com/go-admin-site/guide/ide.html#%E6%B7%BB%E5%8A%A0-server-%E9%85%8D%E7%BD%AE)
|
226
docs/document/install.md
Normal file
226
docs/document/install.md
Normal file
@ -0,0 +1,226 @@
|
|||||||
|
# 安装
|
||||||
|
|
||||||
|
> 需注意因使用到了json类型的字段,因此MySQL需是5.7以上的版本。
|
||||||
|
>
|
||||||
|
> MySQL > 5.7
|
||||||
|
>
|
||||||
|
> Go >= 1.14
|
||||||
|
>
|
||||||
|
> Redis
|
||||||
|
|
||||||
|
若是安装出错,请先确认redis及MySQL是否安装配置成功,若是还有问题,可在群内提问。
|
||||||
|
|
||||||
|
## 配置文件介绍
|
||||||
|
|
||||||
|
script:
|
||||||
|
path: ./static/scripts # 任务脚本路径
|
||||||
|
settings:
|
||||||
|
application:
|
||||||
|
domain: localhost:8002 # 用于将HTTP请求重定向到HTTPS的主机名
|
||||||
|
host: 0.0.0.0 # 启动的地址,主机ip 或者域名,默认0.0.0.0
|
||||||
|
ishttps: false # 是否为HTTPS
|
||||||
|
mode: dev # 开发模式
|
||||||
|
name: ferry-test # 服务名称
|
||||||
|
port: "8002" # 启动端口
|
||||||
|
readtimeout: 1 # 请求读取超时时间,从连接被接受(accept)到request body完全被读取(如果你不读取body,那么时间截止到读完header为止)
|
||||||
|
writertimeout: 2 # 从request header的读取结束开始,到response write结束为止(也就是ServeHTTP 方法的声明周期)
|
||||||
|
database:
|
||||||
|
dbtype: mysql # 数据库类型
|
||||||
|
host: 127.0.0.1 # 数据库地址
|
||||||
|
name: ferry # 数据库名称
|
||||||
|
password: 123456 # 数据库密码
|
||||||
|
port: 3306 # 数据库端口
|
||||||
|
username: ferry # 数据库用户名
|
||||||
|
email:
|
||||||
|
alias: ferry # 邮箱别名
|
||||||
|
host: smtp.163.com # 邮件服务器
|
||||||
|
pass: your password # 邮箱密码
|
||||||
|
port: 465 # 邮件服务器端口
|
||||||
|
user: fdevops@163.com # 邮箱账号
|
||||||
|
gorm:
|
||||||
|
logmode: 0 # gorm详细日志输出,0表示不输出,1表示输出
|
||||||
|
maxidleconn: 0 # 最大空闲连接
|
||||||
|
maxopenconn: 20000 # 最大连接数据
|
||||||
|
jwt:
|
||||||
|
secret: ferry # JWT加密字符串
|
||||||
|
timeout: 3600 # 过期时间单位:秒
|
||||||
|
log:
|
||||||
|
dir: logs # 日志路径
|
||||||
|
operdb: false
|
||||||
|
ssl:
|
||||||
|
key: keystring
|
||||||
|
pem: temp/pem.pem
|
||||||
|
|
||||||
|
## 本地开发
|
||||||
|
|
||||||
|
后端程序启动:
|
||||||
|
|
||||||
|
# 1\. 拉取代码,以下命令二选一即可:
|
||||||
|
git clone https://github.com/lanyulei/ferry.git
|
||||||
|
git clone https://gitee.com/yllan/ferry.git
|
||||||
|
|
||||||
|
# 2\. 进入工作路径
|
||||||
|
cd ferry
|
||||||
|
|
||||||
|
# 3\. 修改配置
|
||||||
|
vim config/settings.dev.yml
|
||||||
|
1). 修改为自己的数据库信息
|
||||||
|
2). 修改为自己的邮件服务器地址
|
||||||
|
其他的根据情况来修改调整
|
||||||
|
|
||||||
|
# 4\. 安装依赖
|
||||||
|
go get
|
||||||
|
|
||||||
|
# 5\. 连接数据库,并创建数据库
|
||||||
|
create database ferry charset 'utf8mb4';
|
||||||
|
|
||||||
|
# 6\. 初始化数据结构
|
||||||
|
go run main.go init -c=config/settings.dev.yml
|
||||||
|
|
||||||
|
# 7\. 测试启动程序,没有报错及没有问题
|
||||||
|
go run main.go server -c=config/settings.dev.yml
|
||||||
|
|
||||||
|
# 8\. 热加载方式启动
|
||||||
|
air
|
||||||
|
|
||||||
|
前端程序启动:
|
||||||
|
|
||||||
|
# 1\. 拉取代码,以下命令二选一即可:
|
||||||
|
git clone https://github.com/lanyulei/ferry_web.git
|
||||||
|
git clone https://gitee.com/yllan/ferry_web.git
|
||||||
|
|
||||||
|
# 2\. 进入工作路径
|
||||||
|
cd ferry_web
|
||||||
|
|
||||||
|
# 3\. 安装依赖
|
||||||
|
npm config set registry https://registry.npm.taobao.org
|
||||||
|
npm install
|
||||||
|
# 若npm install安装失败,可尝试使用一下命令安装
|
||||||
|
npm install --unsafe-perm
|
||||||
|
|
||||||
|
# 推荐使用cnpm
|
||||||
|
npm install -g cnpm --registry=https://registry.npm.taobao.org
|
||||||
|
cnpm install
|
||||||
|
|
||||||
|
# 4\. 启动程序
|
||||||
|
npm run dev
|
||||||
|
|
||||||
|
# 5\. 访问http://localhost:9527,是否可正常访问
|
||||||
|
|
||||||
|
## 部署线上
|
||||||
|
|
||||||
|
后端部署:
|
||||||
|
|
||||||
|
# 1\. 拉取代码,以下命令二选一即可:
|
||||||
|
git clone https://github.com/lanyulei/ferry.git
|
||||||
|
git clone https://gitee.com/yllan/ferry.git
|
||||||
|
|
||||||
|
# 2\. 进入工作路径
|
||||||
|
cd ferry
|
||||||
|
|
||||||
|
# 3\. 交叉编译(centos)
|
||||||
|
env GOOS=linux GOARCH=amd64 go build
|
||||||
|
更多交叉编译内容,请访问 https://www.fdevops.com/2020/03/08/go-locale-configuration
|
||||||
|
|
||||||
|
# 4\. config目录上传到项目根路径下,并确认配置信息是否正确
|
||||||
|
vim config/settings.yml
|
||||||
|
1). 修改为自己的数据库信息
|
||||||
|
2). 修改为自己的邮件服务器地址
|
||||||
|
其他的根据情况来修改调整
|
||||||
|
|
||||||
|
# 4\. 创建日志路径及静态文件经历
|
||||||
|
mkdir -p log static/uploadfile static/scripts static/template
|
||||||
|
|
||||||
|
# 5\. 将本地项目下static/template目录下的所有文件上传的到,服务器对应的项目目录下static/template
|
||||||
|
|
||||||
|
# 6\. 连接数据库,并创建数据库
|
||||||
|
create database ferry charset 'utf8mb4';
|
||||||
|
|
||||||
|
# 7\. 初始化数据
|
||||||
|
./ferry init -c=config/settings.yml
|
||||||
|
|
||||||
|
# 8\. 启动程序,推荐通过"进程管理工具"进行启动维护
|
||||||
|
nohup ./ferry server -c=config/settings.yml > /dev/null 2>&1 &
|
||||||
|
|
||||||
|
前端部署:
|
||||||
|
|
||||||
|
# 1\. 拉取代码,以下命令二选一即可:
|
||||||
|
git clone https://github.com/lanyulei/ferry_web.git
|
||||||
|
git clone https://gitee.com/yllan/ferry_web.git
|
||||||
|
|
||||||
|
# 2\. 进入工作路径
|
||||||
|
cd ferry_web
|
||||||
|
|
||||||
|
# 3\. 安装依赖
|
||||||
|
npm config set registry https://registry.npm.taobao.org
|
||||||
|
npm install
|
||||||
|
# 若npm install安装失败,可尝试使用一下命令安装
|
||||||
|
npm install --unsafe-perm
|
||||||
|
|
||||||
|
# 推荐使用cnpm
|
||||||
|
npm install -g cnpm --registry=https://registry.npm.taobao.org
|
||||||
|
cnpm install
|
||||||
|
|
||||||
|
# 4\. 修改 .env.production 文件
|
||||||
|
# base api
|
||||||
|
VUE_APP_BASE_API = 'http://fdevops.com:8001' # 修改为您自己的域名
|
||||||
|
|
||||||
|
# 5\. 编译
|
||||||
|
npm run build:prod
|
||||||
|
|
||||||
|
# 6\. 将dist目录上传至项目路径下即可。
|
||||||
|
mv dist web
|
||||||
|
|
||||||
|
# 7\. nginx配置,根据业务自行调整即可
|
||||||
|
server {
|
||||||
|
listen 8001; # 监听端口
|
||||||
|
server_name localhost; # 域名可以有多个,用空格隔开
|
||||||
|
|
||||||
|
#charset koi8-r;
|
||||||
|
|
||||||
|
#access_log logs/host.access.log main;
|
||||||
|
location / {
|
||||||
|
root /data/ferry/web;
|
||||||
|
index index.html index.htm; #目录内的默认打开文件,如果没有匹配到index.html,则搜索index.htm,依次类推
|
||||||
|
}
|
||||||
|
|
||||||
|
#ssl配置省略
|
||||||
|
location /api {
|
||||||
|
# rewrite ^.+api/?(.*)$ /$1 break;
|
||||||
|
proxy_pass http://127.0.0.1:8002; #node api server 即需要代理的IP地址
|
||||||
|
proxy_redirect off;
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
}
|
||||||
|
|
||||||
|
# 登陆
|
||||||
|
location /login {
|
||||||
|
proxy_pass http://127.0.0.1:8002; #node api server 即需要代理的IP地址
|
||||||
|
}
|
||||||
|
|
||||||
|
# 刷新token
|
||||||
|
location /refresh_token {
|
||||||
|
proxy_pass http://127.0.0.1:8002; #node api server 即需要代理的IP地址
|
||||||
|
}
|
||||||
|
|
||||||
|
# 接口地址
|
||||||
|
location /swagger {
|
||||||
|
proxy_pass http://127.0.0.1:8002; #node api server 即需要代理的IP地址
|
||||||
|
}
|
||||||
|
|
||||||
|
# 后端静态文件路径
|
||||||
|
location /static/uploadfile {
|
||||||
|
proxy_pass http://127.0.0.1:8002; #node api server 即需要代理的IP地址
|
||||||
|
}
|
||||||
|
|
||||||
|
#error_page 404 /404.html; #对错误页面404.html 做了定向配置
|
||||||
|
|
||||||
|
# redirect server error pages to the static page /50x.html
|
||||||
|
#将服务器错误页面重定向到静态页面/50x.html
|
||||||
|
#
|
||||||
|
error_page 500 502 503 504 /50x.html;
|
||||||
|
location = /50x.html {
|
||||||
|
root html;
|
||||||
|
}
|
||||||
|
}
|
55
docs/document/introduction.md
Normal file
55
docs/document/introduction.md
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
# 简介
|
||||||
|
|
||||||
|
本系统是集工单统计、任务钩子、权限管理、灵活配置流程与模版等等于一身的开源工单系统,当然也可以称之为工作流引擎。
|
||||||
|
|
||||||
|
致力于减少跨部门之间的沟通,自动任务的执行,提升工作效率与工作质量,减少不必要的工作量与人为出错率。
|
||||||
|
|
||||||
|
演示Demo: [http://fdevops.com:8001/](http://fdevops.com:8001/)
|
||||||
|
|
||||||
|
账号密码:admin/123456
|
||||||
|
|
||||||
|
Github: [https://github.com/lanyulei/ferry](https://github.com/lanyulei/ferry)
|
||||||
|
|
||||||
|
Gitee: [https://gitee.com/yllan/ferry](https://gitee.com/yllan/ferry)
|
||||||
|
|
||||||
|
文档:[https://www.fdevops.com/docs/ferry-tutorial-document/introduction](https://www.fdevops.com/docs/ferry-tutorial-document/introduction)
|
||||||
|
|
||||||
|
演示Demo上,将删除的功能全部隐藏了,因为之前发生过,有人恶意删除所有可删除的数据,包括流程数据和用户数据,因此,clone下来的代码是有删除之类的动作的。
|
||||||
|
|
||||||
|
## 功能
|
||||||
|
|
||||||
|
下面对本系统的功能做一个简单介绍。
|
||||||
|
|
||||||
|
工单系统相关功能:
|
||||||
|
|
||||||
|
* 工单提交申请
|
||||||
|
* 工单统计
|
||||||
|
* 多维度工单列表,包括(我创建的、我相关的、我待办的、所有工单)
|
||||||
|
* 自定义流程
|
||||||
|
* 自定义模版
|
||||||
|
* 任务钩子
|
||||||
|
* 任务管理
|
||||||
|
* 催办
|
||||||
|
* 转交
|
||||||
|
* 手动结单
|
||||||
|
* 加签
|
||||||
|
* 多维度处理人,包括(个人,变量(创建者、创建者负责人))
|
||||||
|
* 排他网关,即根据条件判断进行工单跳转
|
||||||
|
* 并行网关,即多个节点同时进行审批处理
|
||||||
|
* 通知提醒(目前仅支持邮件)
|
||||||
|
* 流程分类管理
|
||||||
|
|
||||||
|
权限管理相关功能,使用casbin实现接口权限控制:
|
||||||
|
|
||||||
|
* 用户、角色、岗位的增删查改,批量删除,多条件搜索
|
||||||
|
* 角色、岗位数据导出Excel
|
||||||
|
* 重置用户密码
|
||||||
|
* 维护个人信息,上传管理头像,修改当前账户密码
|
||||||
|
* 部门的增删查改
|
||||||
|
* 菜单目录、跳转、按钮及API接口的增删查改
|
||||||
|
* 登陆日志管理
|
||||||
|
* 左菜单权限控制
|
||||||
|
* 页面按钮权限控制
|
||||||
|
* API接口权限控制
|
||||||
|
|
||||||
|
目前大致上就是以上功能了,如果您觉得我有拉下的功能,还请留言提醒我,感谢。
|
25
docs/document/new_process.md
Normal file
25
docs/document/new_process.md
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
# 创建一个新流程
|
||||||
|
|
||||||
|
## 流程分类
|
||||||
|
|
||||||
|
为区分不同功能,不同类型的流程,因此加入分类的概念,方便管理和维护不同功能的流程。
|
||||||
|
|
||||||
|
分类创建较为简单,不在过多赘述。
|
||||||
|
|
||||||
|
## 创建模版
|
||||||
|
|
||||||
|
根据实际情况,填写下面的数据。
|
||||||
|
|
||||||
|
## 创建流程
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## 创建任务
|
||||||
|
|
||||||
|
根据实际情况创建Python或者Shell的脚本任务,这个步骤相对简单,不在过多赘述。
|
||||||
|
|
||||||
|
## 申请新创建的流程
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
7
docs/document/parallel_gateway.md
Normal file
7
docs/document/parallel_gateway.md
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
# 并行网关
|
||||||
|
|
||||||
|
在日常的工作中,可能会有需要多个处理人并行进行处理,只有所有的处理人都完成处理才可以跳转到下一个阶段。基于这种情况的出现,因此有了并行网关的概念。
|
||||||
|
|
||||||
|
在这种并行处理的情况下,处理的顺序无所谓,但是需要全部处理完成。才能进入下一个阶段,同时并行网关的情况下,会无视条件判断。
|
||||||
|
|
||||||
|

|
31
docs/document/system_manager.md
Normal file
31
docs/document/system_manager.md
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
# 系统管理
|
||||||
|
|
||||||
|
本文主要是介绍以下非增删改查的功能。
|
||||||
|
|
||||||
|
## 角色管理
|
||||||
|
|
||||||
|
对角色的增删查改、权限的管控、批量删除、导出功能。
|
||||||
|
|
||||||
|
## 菜单管理
|
||||||
|
|
||||||
|
菜单的增删查改。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
* 上级菜单:菜单或者按钮的父亲。
|
||||||
|
* 菜单标题:就是菜单的名字。
|
||||||
|
* 显示顺序:菜单展示时候的顺序。
|
||||||
|
* 菜单类型:啥功能的菜单。
|
||||||
|
* 目录:对菜单进行区分维护。
|
||||||
|
* 菜单:可跳转对对应的页面。
|
||||||
|
* 按钮:页面上对应的按钮操作。
|
||||||
|
* 接口:后端对应的API地址。
|
||||||
|
* 菜单图标:左菜单栏展示需要展示的图标。
|
||||||
|
* 路由名称:Vue路由设置的名称。
|
||||||
|
* 组件路径:前端程序View对应下文件路径,包括文件名称。
|
||||||
|
* 是否外链:是否是外部链接。
|
||||||
|
* 路由地址:可访问的url地址。
|
||||||
|
* 权限标识:权限控制需要的标识。
|
||||||
|
* 菜单状态:显示或者隐藏菜单项。
|
||||||
|
|
||||||
|
此外需要注意的是,每个后端需要跟前端交互的接口,都需要写入到菜单中的接口权限中。
|
5
docs/document/urge.md
Normal file
5
docs/document/urge.md
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
# 催办
|
||||||
|
|
||||||
|
通过邮件的方式,来对当前处理人进行工单催促,十分钟内只能催促一次。
|
||||||
|
|
||||||
|

|
15
docs/index.md
Normal file
15
docs/index.md
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
# 目录
|
||||||
|
|
||||||
|
* [介绍](https://lanyulei.github.io/ferry/document/introduction "介绍")
|
||||||
|
* [安装](https://lanyulei.github.io/ferry/document/install "安装")
|
||||||
|
* [IDE 开发](https://lanyulei.github.io/ferry/document/ide_development "IDE 开发")
|
||||||
|
* [系统管理](https://lanyulei.github.io/ferry/document/system_manager "系统管理")
|
||||||
|
* 工单系统
|
||||||
|
* * [创建一个新流程](https://lanyulei.github.io/ferry/document/new_process "创建一个新流程")
|
||||||
|
* * [催办](https://lanyulei.github.io/ferry/document/urge "催办")
|
||||||
|
* * [转交](https://lanyulei.github.io/ferry/document/forward "转交")
|
||||||
|
* * [结单](https://lanyulei.github.io/ferry/document/end_process "结单")
|
||||||
|
* * [排他网关](https://lanyulei.github.io/ferry/document/exclusive_gateway "排他网关")
|
||||||
|
* * [并行网关](https://lanyulei.github.io/ferry/document/parallel_gateway "并行网关")
|
||||||
|
* * [会签](https://lanyulei.github.io/ferry/document/countersign "会签")
|
||||||
|
* [Mac、Linux、Windows下分别进行交叉编译](https://lanyulei.github.io/ferry/document/cross_compile "Mac、Linux、Windows下分别进行交叉编译")
|
Loading…
x
Reference in New Issue
Block a user