Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 6393b0fb5c |
+363
@@ -0,0 +1,363 @@
|
|||||||
|
-- MySQL dump 10.13
|
||||||
|
--
|
||||||
|
-- Host: localhost Database: jyt
|
||||||
|
|
||||||
|
|
||||||
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
|
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
||||||
|
/*!40101 SET NAMES utf8mb4 */;
|
||||||
|
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
||||||
|
/*!40103 SET TIME_ZONE='+00:00' */;
|
||||||
|
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
|
||||||
|
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
|
||||||
|
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
|
||||||
|
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `sys_config`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `sys_config`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `sys_config` (
|
||||||
|
`id` varchar(32) NOT NULL COMMENT 'ID',
|
||||||
|
`site_name` varchar(255) DEFAULT NULL COMMENT '系统名称',
|
||||||
|
`front_logo` varchar(255) DEFAULT NULL COMMENT '前端LOGO',
|
||||||
|
`back_logo` varchar(255) DEFAULT NULL COMMENT '后台LOGO',
|
||||||
|
`copy_right` varchar(255) DEFAULT NULL COMMENT '版权信息',
|
||||||
|
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||||
|
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||||||
|
`create_by` varchar(255) DEFAULT '' COMMENT '创建人',
|
||||||
|
`update_by` varchar(255) DEFAULT '' COMMENT '修改人',
|
||||||
|
`data_flag` int(11) DEFAULT '0' COMMENT '数据标识',
|
||||||
|
PRIMARY KEY (`id`) USING BTREE
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='系统设置';
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Dumping data for table `sys_config`
|
||||||
|
--
|
||||||
|
|
||||||
|
LOCK TABLES `sys_config` WRITE;
|
||||||
|
/*!40000 ALTER TABLE `sys_config` DISABLE KEYS */;
|
||||||
|
INSERT INTO `sys_config` VALUES ('1','墨韵智枢校园馆藏图书数字化运维系统','','','白城师范学院','2026-06-15 16:51:30','2026-06-15 16:51:30','','',1);
|
||||||
|
/*!40000 ALTER TABLE `sys_config` ENABLE KEYS */;
|
||||||
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `sys_dict_data`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `sys_dict_data`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `sys_dict_data` (
|
||||||
|
`id` varchar(32) NOT NULL COMMENT 'ID',
|
||||||
|
`code` varchar(32) NOT NULL DEFAULT '' COMMENT '码值类型',
|
||||||
|
`text` varchar(32) NOT NULL DEFAULT '' COMMENT '码值中文名称',
|
||||||
|
`value` varchar(32) NOT NULL DEFAULT '' COMMENT '码值',
|
||||||
|
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||||
|
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||||||
|
`state` int(11) NOT NULL DEFAULT '0' COMMENT '状态',
|
||||||
|
`data_flag` int(11) NOT NULL DEFAULT '0' COMMENT '0正常,1隐藏',
|
||||||
|
`filter` varchar(32) DEFAULT NULL COMMENT '过滤条件',
|
||||||
|
`priority` int(11) NOT NULL DEFAULT '0' COMMENT '优先级',
|
||||||
|
PRIMARY KEY (`id`) USING BTREE
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='码值数据表';
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Dumping data for table `sys_dict_data`
|
||||||
|
--
|
||||||
|
|
||||||
|
LOCK TABLES `sys_dict_data` WRITE;
|
||||||
|
/*!40000 ALTER TABLE `sys_dict_data` DISABLE KEYS */;
|
||||||
|
INSERT INTO `sys_dict_data` VALUES ('1','YESNO','是','1','2022-11-24 14:50:16',NULL,0,0,NULL,0),('1630141555098644481','DIC_TSZL','天文','1','2023-02-27 17:43:28','2023-02-27 17:43:28',0,0,NULL,0),('1630141575969501185','DIC_TSZL','地理','2','2023-02-27 17:43:33','2023-02-27 17:43:33',0,0,NULL,0),('1630141596177657857','DIC_TSZL','数学','3','2023-02-27 17:43:38','2023-02-27 17:43:38',0,0,NULL,0),('1630141617769934849','DIC_TSZL','物理','4','2023-02-27 17:43:43','2023-02-27 17:43:43',0,0,NULL,0),('1630141646534471681','DIC_TSZL','化学','5','2023-02-27 17:43:50','2023-02-27 17:43:50',0,0,NULL,0),('1630141669217267714','DIC_TSZL','生物','6','2023-02-27 17:43:55','2023-02-27 17:43:55',0,0,NULL,0),('1630141690738241538','DIC_TSZL','机械','7','2023-02-27 17:44:00','2023-02-27 17:44:00',0,0,NULL,0),('1630141714524139522','DIC_TSZL','电信','8','2023-02-27 17:44:06','2023-02-27 17:44:06',0,0,NULL,0),('1632047485287182338','DIC_JHZT','待归还','0','2023-03-04 23:56:57','2023-03-04 23:56:57',0,0,'',0),('1632047513988804610','DIC_JHZT','已归还','1','2023-03-04 23:57:04','2023-03-04 23:57:04',0,0,'',0),('1632047724475756545','DIC_SFYQ','未逾期','0','2023-03-04 23:57:54','2023-03-04 23:57:54',0,0,'',0),('1632047751671623681','DIC_SFYQ','已逾期','1','2023-03-04 23:58:01','2023-03-04 23:58:01',0,0,'',0),('1632280097196908545','DIC_JHTYPE','借书','1','2023-03-05 15:21:16','2023-03-05 15:21:16',0,0,NULL,0),('1632280119367999489','DIC_JHTYPE','还书','2','2023-03-05 15:21:21','2023-03-05 15:21:21',0,0,NULL,0),('2','YESNO','否','0','2022-11-24 14:50:58',NULL,0,0,NULL,0),('3','STATE','正常','0','2022-11-24 14:53:32',NULL,0,0,NULL,0),('4','STATE','失效','1','2022-11-24 14:53:50',NULL,0,0,NULL,0),('5','SOURCE','码值表','1','2022-11-24 15:08:19',NULL,0,0,NULL,0),('6','SOURCE','sql','2','2022-11-24 15:08:35',NULL,0,0,NULL,0);
|
||||||
|
/*!40000 ALTER TABLE `sys_dict_data` ENABLE KEYS */;
|
||||||
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `sys_dict_type`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `sys_dict_type`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `sys_dict_type` (
|
||||||
|
`id` varchar(32) NOT NULL COMMENT 'ID',
|
||||||
|
`code` varchar(32) NOT NULL DEFAULT '' COMMENT '码值类型',
|
||||||
|
`content` varchar(32) NOT NULL DEFAULT '' COMMENT '码值描述',
|
||||||
|
`source_type` varchar(32) NOT NULL DEFAULT '1' COMMENT '码值来源1: sys_dic_code, 2:sql',
|
||||||
|
`source_sql` varchar(500) DEFAULT '' COMMENT '码值来源sql',
|
||||||
|
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||||
|
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||||||
|
`state` int(11) NOT NULL DEFAULT '0' COMMENT '状态',
|
||||||
|
`data_flag` int(11) NOT NULL DEFAULT '0' COMMENT '0正常,1隐藏',
|
||||||
|
PRIMARY KEY (`id`) USING BTREE
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='码值大类表';
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Dumping data for table `sys_dict_type`
|
||||||
|
--
|
||||||
|
|
||||||
|
LOCK TABLES `sys_dict_type` WRITE;
|
||||||
|
/*!40000 ALTER TABLE `sys_dict_type` DISABLE KEYS */;
|
||||||
|
INSERT INTO `sys_dict_type` VALUES ('1','YESNO','是否','1','','2026-06-18 14:46:16',NULL,0,0),('1630141268560572418','DIC_TSZL','图书种类','1','','2026-06-18 17:42:20','2026-06-18 17:42:20',0,0),('1632047439778983938','DIC_JHZT','借还状态','1','','2026-06-16 23:56:46','2026-06-16 23:56:46',0,0),('1632047614517882882','DIC_SFYQ','是否逾期','1','','2026-06-16 23:57:28','2026-06-16 23:57:28',0,0),('1632280044340289538','DIC_JHTYPE','借书还书类型','1','','2026-06-18 15:21:04','2026-06-18 15:21:04',0,0),('2','STATE','状态','1','','2026-06-18 14:53:05',NULL,0,0),('3','SOURCE','码值来源','1','','2026-06-18 15:07:44',NULL,0,0),('4','USERDATA','用户信息','2','select \'USERDATA\' code,id value, real_name text from sys_user','2026-06-18 16:32:36',NULL,0,0);
|
||||||
|
/*!40000 ALTER TABLE `sys_dict_type` ENABLE KEYS */;
|
||||||
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `sys_role`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `sys_role`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `sys_role` (
|
||||||
|
`id` varchar(32) NOT NULL COMMENT '角色ID',
|
||||||
|
`role_name` varchar(255) NOT NULL DEFAULT '' COMMENT '角色名称',
|
||||||
|
PRIMARY KEY (`id`) USING BTREE
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='角色';
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Dumping data for table `sys_role`
|
||||||
|
--
|
||||||
|
|
||||||
|
LOCK TABLES `sys_role` WRITE;
|
||||||
|
/*!40000 ALTER TABLE `sys_role` DISABLE KEYS */;
|
||||||
|
INSERT INTO `sys_role` VALUES ('root','超级管理员'),('student','学生'),('teacher','教师');
|
||||||
|
/*!40000 ALTER TABLE `sys_role` ENABLE KEYS */;
|
||||||
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `sys_user`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `sys_user`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `sys_user` (
|
||||||
|
`id` varchar(32) NOT NULL COMMENT 'ID',
|
||||||
|
`user_name` varchar(255) NOT NULL DEFAULT '' COMMENT '用户名',
|
||||||
|
`real_name` varchar(255) NOT NULL DEFAULT '' COMMENT '真实姓名',
|
||||||
|
`password` varchar(255) NOT NULL DEFAULT '' COMMENT '密码',
|
||||||
|
`salt` varchar(255) NOT NULL DEFAULT '' COMMENT '密码盐',
|
||||||
|
`role_ids` varchar(500) NOT NULL DEFAULT '' COMMENT '角色列表',
|
||||||
|
`depart_id` varchar(32) NOT NULL DEFAULT '' COMMENT '部门ID',
|
||||||
|
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||||
|
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||||||
|
`state` int(11) NOT NULL DEFAULT '0' COMMENT '状态',
|
||||||
|
`data_flag` int(11) NOT NULL DEFAULT '0' COMMENT '0正常,1隐藏',
|
||||||
|
PRIMARY KEY (`id`) USING BTREE
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='管理用户';
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Dumping data for table `sys_user`
|
||||||
|
--
|
||||||
|
|
||||||
|
LOCK TABLES `sys_user` WRITE;
|
||||||
|
/*!40000 ALTER TABLE `sys_user` DISABLE KEYS */;
|
||||||
|
INSERT INTO `sys_user` VALUES ('10001','admin','管理员','eee4adece16c20dd320dd7c48fc460ea','MyMUtL','root','1318103313740320770','2026-06-15 13:51:03','2026-06-15 13:51:03',0,0);
|
||||||
|
/*!40000 ALTER TABLE `sys_user` ENABLE KEYS */;
|
||||||
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `sys_user_role`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `sys_user_role`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `sys_user_role` (
|
||||||
|
`id` varchar(32) NOT NULL COMMENT 'ID',
|
||||||
|
`user_id` varchar(32) NOT NULL COMMENT '用户ID',
|
||||||
|
`role_id` varchar(32) NOT NULL COMMENT '角色ID',
|
||||||
|
PRIMARY KEY (`id`) USING BTREE
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='用户角色';
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Dumping data for table `sys_user_role`
|
||||||
|
--
|
||||||
|
|
||||||
|
LOCK TABLES `sys_user_role` WRITE;
|
||||||
|
/*!40000 ALTER TABLE `sys_user_role` DISABLE KEYS */;
|
||||||
|
INSERT INTO `sys_user_role` VALUES ('1318103579445284865','10001','root');
|
||||||
|
/*!40000 ALTER TABLE `sys_user_role` ENABLE KEYS */;
|
||||||
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `t_gonggao`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `t_gonggao`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `t_gonggao` (
|
||||||
|
`id` varchar(32) NOT NULL,
|
||||||
|
`name` varchar(50) NOT NULL COMMENT '发布人',
|
||||||
|
`title` varchar(200) NOT NULL COMMENT '公告标题',
|
||||||
|
`text` varchar(200) NOT NULL COMMENT '公告内容',
|
||||||
|
`create_time` date NOT NULL COMMENT '发布时间',
|
||||||
|
`update_time` date NOT NULL COMMENT '更新时间'
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='公告表';
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Dumping data for table `t_gonggao`
|
||||||
|
--
|
||||||
|
|
||||||
|
LOCK TABLES `t_gonggao` WRITE;
|
||||||
|
/*!40000 ALTER TABLE `t_gonggao` DISABLE KEYS */;
|
||||||
|
INSERT INTO `t_gonggao` VALUES ('1636579532075036673','系统管理员','标题','内容','2026-06-18','2026-06-18');
|
||||||
|
/*!40000 ALTER TABLE `t_gonggao` ENABLE KEYS */;
|
||||||
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `t_jhxxb`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `t_jhxxb`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `t_jhxxb` (
|
||||||
|
`id` varchar(32) NOT NULL COMMENT 'ID',
|
||||||
|
`user_id` varchar(32) NOT NULL COMMENT '用户id',
|
||||||
|
`b_id` varchar(32) DEFAULT NULL COMMENT '书id',
|
||||||
|
`state` varchar(2) DEFAULT NULL COMMENT '借还状态0 待归还 1已归还',
|
||||||
|
`exceed_state` varchar(2) DEFAULT NULL COMMENT '是否逾期,0未逾期 1 逾期',
|
||||||
|
`start_time` datetime DEFAULT NULL COMMENT '借阅时间',
|
||||||
|
`end_time` datetime DEFAULT NULL COMMENT '应归还时间',
|
||||||
|
`return_time` datetime DEFAULT NULL COMMENT '实际归还时间',
|
||||||
|
`create_time` datetime DEFAULT NULL COMMENT '首次记录时间',
|
||||||
|
`update_time` datetime DEFAULT NULL COMMENT '最后更新时间',
|
||||||
|
`message` varchar(50) NOT NULL,
|
||||||
|
PRIMARY KEY (`id`) USING BTREE
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Dumping data for table `t_jhxxb`
|
||||||
|
--
|
||||||
|
|
||||||
|
LOCK TABLES `t_jhxxb` WRITE;
|
||||||
|
/*!40000 ALTER TABLE `t_jhxxb` DISABLE KEYS */;
|
||||||
|
INSERT INTO `t_jhxxb` VALUES ('1632258271129423874','10001','1630145371776782337','1','0','2026-06-16 13:54:32','2026-07-16 13:54:32','2026-06-17 13:54:37','2026-06-16 13:54:32','2026-06-16 13:54:32','未逾期'),('1632258287524958210','10001','1630471358190522369','0','0','2026-06-16 13:54:36','2026-07-16 13:54:36',NULL,'2026-06-16 13:54:32','2026-06-16 13:54:32','10001借出1630471358190522369'),('1632258325999308801','10001','1632009805268742145','0','0','2026-06-16 13:54:45','2026-07-16 13:54:45',NULL,'2026-06-16 13:54:45','2026-06-16 13:54:45','10001借出1632009805268742145'),('1632258473303265281','10001','1630145371776782337','0','0','2026-06-16 13:55:21','2026-07-16 13:55:21',NULL,'2026-06-16 13:55:21','2026-06-16 13:55:21','10001借出1630145371776782337'),('1632258479749910530','10001','1630145371776782337','0','0','2026-06-16 13:55:22','2026-07-16 13:55:22',NULL,'2026-06-16 13:55:22','2026-06-16 13:55:22','10001借出1630145371776782337');
|
||||||
|
/*!40000 ALTER TABLE `t_jhxxb` ENABLE KEYS */;
|
||||||
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `t_liuyan`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `t_liuyan`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `t_liuyan` (
|
||||||
|
`id` varchar(32) NOT NULL,
|
||||||
|
`userid` varchar(32) NOT NULL COMMENT '发布人',
|
||||||
|
`itemname` varchar(100) NOT NULL COMMENT '使用昵称',
|
||||||
|
`text` varchar(200) NOT NULL COMMENT '留言内容',
|
||||||
|
`create_time` date NOT NULL COMMENT '发布时间',
|
||||||
|
`update_time` date NOT NULL COMMENT '更新时间'
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='留言信息表';
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Dumping data for table `t_liuyan`
|
||||||
|
--
|
||||||
|
|
||||||
|
LOCK TABLES `t_liuyan` WRITE;
|
||||||
|
/*!40000 ALTER TABLE `t_liuyan` DISABLE KEYS */;
|
||||||
|
INSERT INTO `t_liuyan` VALUES ('1636579818390810626','10001','111','222','2026-06-23','2026-06-23');
|
||||||
|
/*!40000 ALTER TABLE `t_liuyan` ENABLE KEYS */;
|
||||||
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `t_log`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `t_log`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `t_log` (
|
||||||
|
`id` varchar(32) NOT NULL COMMENT 'id',
|
||||||
|
`userid` varchar(32) NOT NULL COMMENT '用户id',
|
||||||
|
`state` varchar(2) NOT NULL COMMENT '1借出2归还',
|
||||||
|
`bookname` varchar(100) NOT NULL COMMENT '书名',
|
||||||
|
`create_time` date NOT NULL,
|
||||||
|
`update_time` date NOT NULL
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Dumping data for table `t_log`
|
||||||
|
--
|
||||||
|
|
||||||
|
LOCK TABLES `t_log` WRITE;
|
||||||
|
/*!40000 ALTER TABLE `t_log` DISABLE KEYS */;
|
||||||
|
INSERT INTO `t_log` VALUES ('123','10001','2','testnname','2026-06-16','2026-06-16'),('123','10001','2','testnname','2026-06-16','2026-06-16'),('123','10001','2','testnname','2026-06-16','2026-06-16'),('123','10001','2','testnname','2026-06-16','2026-06-16'),('10001','10001','2','testnname','2026-06-16','2026-06-16'),('10001','10001','2','testnname','2026-06-16','2026-06-16'),('10001','10001','2','testnname','2026-06-16','2026-06-16'),('10001','10001','2','testnname','2026-06-16','2026-06-16'),('10001','10001','1','枪械之王','2026-06-16','2026-06-16'),('10001','10001','1','枪械之王','2026-06-16','2026-06-16'),('10001','10001','1','枪械之王','2026-06-16','2026-06-16'),('10001','10001','2','枪械之王','2026-06-16','2026-06-16'),('10001','10001','2','枪械之王','2026-06-16','2026-06-16'),('10001','10001','1','枪械之王','2026-06-16','2026-06-16'),('10001','10001','1','枪械之王','2026-06-16','2026-06-16'),('10001','10001','2','枪械之王','2026-06-16','2026-06-16'),('10001','10001','2','枪械之王','2026-06-16','2026-06-16'),('10001','10001','1','枪械之王','2026-06-16','2026-06-16'),('10001','10001','1','额为','2026-06-16','2026-06-16'),('10001','10001','1','枪械之王','2026-06-16','2026-06-16'),('10001','10001','2','枪械之王','2026-06-16','2026-06-16');
|
||||||
|
/*!40000 ALTER TABLE `t_log` ENABLE KEYS */;
|
||||||
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `t_sjxxb`
|
||||||
|
--
|
||||||
|
|
||||||
|
DROP TABLE IF EXISTS `t_sjxxb`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `t_sjxxb` (
|
||||||
|
`id` varchar(32) NOT NULL COMMENT 'ID',
|
||||||
|
`isbn` varchar(13) NOT NULL COMMENT 'ISBN书号',
|
||||||
|
`b_name` varchar(100) DEFAULT NULL COMMENT '书名',
|
||||||
|
`b_type` varchar(4) DEFAULT NULL COMMENT '图书类型',
|
||||||
|
`b_price` varchar(10) DEFAULT NULL COMMENT '价格',
|
||||||
|
`b_author` varchar(100) DEFAULT NULL COMMENT '作者',
|
||||||
|
`b_publisher` varchar(100) DEFAULT NULL COMMENT '出版商',
|
||||||
|
`b_publication_time` datetime DEFAULT NULL COMMENT '出版日期',
|
||||||
|
`b_num` int(11) DEFAULT NULL COMMENT '库存数量',
|
||||||
|
`b_not_return_num` int(11) DEFAULT NULL COMMENT '未归还数量',
|
||||||
|
`b_path` varchar(100) DEFAULT NULL COMMENT '封面图片oss地址',
|
||||||
|
`b_introduce` text COMMENT '介绍',
|
||||||
|
`b_lend_num` int(11) DEFAULT NULL COMMENT '借阅次数',
|
||||||
|
`b_state` int(2) DEFAULT NULL COMMENT '状态0正常 1失效',
|
||||||
|
`create_time` datetime DEFAULT NULL COMMENT '首次记录时间',
|
||||||
|
`update_time` datetime DEFAULT NULL COMMENT '最后更新时间',
|
||||||
|
PRIMARY KEY (`id`) USING BTREE
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Dumping data for table `t_sjxxb`
|
||||||
|
--
|
||||||
|
|
||||||
|
LOCK TABLES `t_sjxxb` WRITE;
|
||||||
|
/*!40000 ALTER TABLE `t_sjxxb` DISABLE KEYS */;
|
||||||
|
INSERT INTO `t_sjxxb` VALUES ('1632025992283242498','9787547059883','谈判','1','1','史蒂芬妮・德莫林','布鲁塞尔自由大学','2023-03-27 00:00:00',220,2,'https://images-cn.ssl-images-amazon.cn/images/I/61KauWqw7EL.jpg','谈判介绍',3,1,'2026-06-15 22:31:33','2026-06-15 22:31:33'),('1637032598605410305','9787513931328','新大博弈','1','123','彼得・霍普柯克','泰晤士报','2023-03-18 18:05:48',122,1,'https://img1.doubanio.com/lpic/s33746157.jpg','新大博弈',3,0,'2026-06-15 18:06:01','2026-06-15 18:06:01'),('1637032891799842818','9787521724394','认识脑电波','2','111','R.道格拉斯・菲尔茨','时代','2023-03-18 18:07:03',122,1,'https://img2.doubanio.com/lpic/s33808251.jpg','认识脑电波',1,0,'2026-06-15 18:07:11','2026-06-15 18:07:11'),('1637047590092288001','9787521712438','记忆的革命','1','666','张海洋啊','中信出版社啊','2023-03-18 19:08:02',111,0,'https://images-cn.ssl-images-amazon.cn/images/I/513YjysO0vL.jpg','这是介绍么?',0,0,'2026-06-15 19:05:35','2026-06-15 19:05:35'),('1651045598629949442','9787521738582','瘟疫与发展的悖论','5','111','托马斯·J.博伊基','图书馆杂志','2023-04-26 10:08:09',11,0,'https://qq755141.oss-cn-hangzhou.aliyuncs.com/book/wyyfzdbl.png','要想防范下一场全球大流行病,我们该如何做出改变?',0,0,'2026-06-15 10:08:40','2026-06-15 10:08:40');
|
||||||
|
/*!40000 ALTER TABLE `t_sjxxb` ENABLE KEYS */;
|
||||||
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Dumping events for database 'jyt'
|
||||||
|
--
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Dumping routines for database 'jyt'
|
||||||
|
--
|
||||||
|
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
|
||||||
|
|
||||||
|
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
|
||||||
|
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
|
||||||
|
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
|
||||||
|
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
||||||
|
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
||||||
|
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||||
|
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||||
|
|
||||||
|
-- Dump completed on 2026-06-24 23:27:31
|
||||||
@@ -61,6 +61,7 @@ public class ShiroConfig {
|
|||||||
map.put("/exam/api/sys/user/login", "anon");
|
map.put("/exam/api/sys/user/login", "anon");
|
||||||
map.put("/exam/api/sys/user/reg", "anon");
|
map.put("/exam/api/sys/user/reg", "anon");
|
||||||
map.put("/exam/api/sys/user/quick-reg", "anon");
|
map.put("/exam/api/sys/user/quick-reg", "anon");
|
||||||
|
map.put("/exam/api/sys/user/logout", "anon");
|
||||||
|
|
||||||
// 获取网站基本信息
|
// 获取网站基本信息
|
||||||
map.put("/exam/api/sys/config/detail", "anon");
|
map.put("/exam/api/sys/config/detail", "anon");
|
||||||
|
|||||||
@@ -1,21 +0,0 @@
|
|||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2017-present PanJiaChen
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
||||||
+1
-1
@@ -6,7 +6,7 @@
|
|||||||
<meta name="renderer" content="webkit">
|
<meta name="renderer" content="webkit">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
|
||||||
<link rel="icon" href="/favicon.png">
|
<link rel="icon" href="/favicon.png">
|
||||||
<title>图书管理系统</title>
|
<title>校园馆藏图书数字化运维系统</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="app"></div>
|
<div id="app"></div>
|
||||||
|
|||||||
@@ -8,12 +8,13 @@
|
|||||||
<div>
|
<div>
|
||||||
<svg-icon class-name="size-icon" icon-class="size" />
|
<svg-icon class-name="size-icon" icon-class="size" />
|
||||||
</div>
|
</div>
|
||||||
<el-dropdown-menu #dropdown>
|
<template #dropdown>
|
||||||
|
<el-dropdown-menu>
|
||||||
<el-dropdown-item v-for="item of sizeOptions" :key="item.value" :disabled="size===item.value" :command="item.value">
|
<el-dropdown-item v-for="item of sizeOptions" :key="item.value" :disabled="size===item.value" :command="item.value">
|
||||||
{{
|
{{ item.label }}
|
||||||
item.label }}
|
|
||||||
</el-dropdown-item>
|
</el-dropdown-item>
|
||||||
</el-dropdown-menu>
|
</el-dropdown-menu>
|
||||||
|
</template>
|
||||||
</el-dropdown>
|
</el-dropdown>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -23,9 +24,8 @@ export default {
|
|||||||
return {
|
return {
|
||||||
sizeOptions: [
|
sizeOptions: [
|
||||||
{ label: '默认', value: 'default' },
|
{ label: '默认', value: 'default' },
|
||||||
{ label: '中等', value: 'medium' },
|
{ label: '大号', value: 'large' },
|
||||||
{ label: '小', value: 'small' },
|
{ label: '小号', value: 'small' }
|
||||||
{ label: '极小', value: 'mini' }
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -37,23 +37,8 @@ export default {
|
|||||||
methods: {
|
methods: {
|
||||||
handleSetSize(size) {
|
handleSetSize(size) {
|
||||||
this.$store.dispatch('app/setSize', size)
|
this.$store.dispatch('app/setSize', size)
|
||||||
this.refreshView()
|
// Element Plus size is set at app init, need full reload to apply
|
||||||
this.$message({
|
window.location.reload()
|
||||||
message: '字体切换成功!',
|
|
||||||
type: 'success'
|
|
||||||
})
|
|
||||||
},
|
|
||||||
refreshView() {
|
|
||||||
// In order to make the cached page re-rendered
|
|
||||||
this.$store.dispatch('tagsView/delAllCachedViews', this.$route)
|
|
||||||
|
|
||||||
const { fullPath } = this.$route
|
|
||||||
|
|
||||||
this.$nextTick(() => {
|
|
||||||
this.$router.replace({
|
|
||||||
path: '/redirect' + fullPath
|
|
||||||
})
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,11 +5,11 @@
|
|||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<section class="app-main">
|
<section class="app-main">
|
||||||
<transition name="fade-transform" mode="out-in">
|
<router-view v-slot="{ Component, route }">
|
||||||
<keep-alive :include="cachedViews">
|
<keep-alive :include="cachedViews">
|
||||||
<router-view :key="key" />
|
<component :is="Component" :key="route.path" />
|
||||||
</keep-alive>
|
</keep-alive>
|
||||||
</transition>
|
</router-view>
|
||||||
</section>
|
</section>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -19,9 +19,6 @@ export default {
|
|||||||
computed: {
|
computed: {
|
||||||
cachedViews() {
|
cachedViews() {
|
||||||
return this.$store.state.tagsView.cachedViews
|
return this.$store.state.tagsView.cachedViews
|
||||||
},
|
|
||||||
key() {
|
|
||||||
return this.$route.path
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,25 +17,23 @@
|
|||||||
|
|
||||||
<screenfull id="screenfull" class="right-menu-item hover-effect" />
|
<screenfull id="screenfull" class="right-menu-item hover-effect" />
|
||||||
|
|
||||||
<el-tooltip content="字体大小" effect="dark" placement="bottom">
|
|
||||||
<size-select id="size-select" class="right-menu-item hover-effect" />
|
<size-select id="size-select" class="right-menu-item hover-effect" />
|
||||||
</el-tooltip>
|
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<el-dropdown class="avatar-container right-menu-item hover-effect" trigger="click">
|
<el-dropdown class="avatar-container right-menu-item hover-effect" trigger="click" @command="handleCommand">
|
||||||
<div class="avatar-wrapper">
|
<div class="avatar-wrapper">
|
||||||
{{ realName }}
|
{{ realName }}
|
||||||
<el-icon class="el-icon-caret-bottom"><ArrowDown /></el-icon>
|
<el-icon class="el-icon-caret-bottom"><ArrowDown /></el-icon>
|
||||||
</div>
|
</div>
|
||||||
<el-dropdown-menu #dropdown>
|
<template #dropdown>
|
||||||
|
<el-dropdown-menu>
|
||||||
<router-link to="/profile/index">
|
<router-link to="/profile/index">
|
||||||
<el-dropdown-item>个人资料</el-dropdown-item>
|
<el-dropdown-item>个人资料</el-dropdown-item>
|
||||||
</router-link>
|
</router-link>
|
||||||
<el-dropdown-item divided>
|
<el-dropdown-item divided command="logout">退出登录</el-dropdown-item>
|
||||||
<span style="display:block;" @click="logout">退出登录</span>
|
|
||||||
</el-dropdown-item>
|
|
||||||
</el-dropdown-menu>
|
</el-dropdown-menu>
|
||||||
|
</template>
|
||||||
</el-dropdown>
|
</el-dropdown>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -73,9 +71,12 @@ export default {
|
|||||||
toggleSideBar() {
|
toggleSideBar() {
|
||||||
this.$store.dispatch('app/toggleSideBar')
|
this.$store.dispatch('app/toggleSideBar')
|
||||||
},
|
},
|
||||||
async logout() {
|
handleCommand(command) {
|
||||||
await this.$store.dispatch('user/logout')
|
if (command === 'logout') {
|
||||||
|
this.$store.dispatch('user/logout').finally(() => {
|
||||||
this.$router.push(`/login?redirect=${this.$route.fullPath}`)
|
this.$router.push(`/login?redirect=${this.$route.fullPath}`)
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -82,6 +82,10 @@ export default {
|
|||||||
.sidebar-logo {
|
.sidebar-logo {
|
||||||
margin-right: 0px;
|
margin-right: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.sidebar-title {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
</app-link>
|
</app-link>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<el-submenu v-else ref="subMenu" :index="resolvePath(item.path)" teleported>
|
<el-sub-menu v-else ref="subMenu" :index="resolvePath(item.path)" teleported>
|
||||||
<template #title>
|
<template #title>
|
||||||
<item v-if="item.meta" :icon="item.meta && item.meta.icon" :title="item.meta.title" />
|
<item v-if="item.meta" :icon="item.meta && item.meta.icon" :title="item.meta.title" />
|
||||||
</template>
|
</template>
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
:base-path="resolvePath(child.path)"
|
:base-path="resolvePath(child.path)"
|
||||||
class="nest-menu"
|
class="nest-menu"
|
||||||
/>
|
/>
|
||||||
</el-submenu>
|
</el-sub-menu>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
@date 20260616
|
@date 20260616
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<div :class="{'has-logo':showLogo}">
|
<div :class="{'has-logo':showLogo}" :style="isCollapse ? { width: '54px', overflow: 'hidden', flex: '0 0 54px' } : {}">
|
||||||
<logo v-if="showLogo" :collapse="isCollapse" />
|
<logo v-if="showLogo" :collapse="isCollapse" />
|
||||||
<el-scrollbar wrap-class="scrollbar-wrapper">
|
<el-scrollbar wrap-class="scrollbar-wrapper">
|
||||||
<el-menu
|
<el-menu
|
||||||
@@ -15,6 +15,7 @@
|
|||||||
:unique-opened="false"
|
:unique-opened="false"
|
||||||
:active-text-color="variables.menuActiveText"
|
:active-text-color="variables.menuActiveText"
|
||||||
:collapse-transition="false"
|
:collapse-transition="false"
|
||||||
|
:style="isCollapse ? { width: '54px' } : {}"
|
||||||
mode="vertical"
|
mode="vertical"
|
||||||
>
|
>
|
||||||
<sidebar-item v-for="route in permission_routes" :key="route.path" :item="route" :base-path="route.path" />
|
<sidebar-item v-for="route in permission_routes" :key="route.path" :item="route" :base-path="route.path" />
|
||||||
|
|||||||
@@ -273,15 +273,19 @@ const router = createRouter({
|
|||||||
})
|
})
|
||||||
|
|
||||||
export function resetRouter() {
|
export function resetRouter() {
|
||||||
const newRouter = createRouter({
|
// 递归收集 constantRoutes 中所有路由名称(含嵌套子路由),避免误删 Login 等常量子路由
|
||||||
history: createWebHashHistory(),
|
const constantNames = new Set()
|
||||||
scrollBehavior: () => ({ top: 0 }),
|
const collectNames = (routes) => {
|
||||||
routes: constantRoutes
|
routes.forEach(route => {
|
||||||
|
if (route.name) constantNames.add(route.name)
|
||||||
|
if (route.children) collectNames(route.children)
|
||||||
})
|
})
|
||||||
// 注意:Vue Router 4 没有 matcher,通过移除所有路由再重新添加来重置
|
}
|
||||||
const currentRoutes = router.getRoutes()
|
collectNames(constantRoutes)
|
||||||
currentRoutes.forEach(route => {
|
|
||||||
if (route.name && !constantRoutes.find(cr => cr.name === route.name)) {
|
// 仅移除动态添加的路由(asyncRoutes),保留 constantRoutes 中的全部路由
|
||||||
|
router.getRoutes().forEach(route => {
|
||||||
|
if (route.name && !constantNames.has(route.name)) {
|
||||||
router.removeRoute(route.name)
|
router.removeRoute(route.name)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
* @date 20260615
|
* @date 20260615
|
||||||
*/
|
*/
|
||||||
export default {
|
export default {
|
||||||
title: '校园管藏图书数字化运维系统',
|
title: '校园馆藏图书数字化运维系统',
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @type {boolean} true | false
|
* @type {boolean} true | false
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ const state = {
|
|||||||
withoutAnimation: false
|
withoutAnimation: false
|
||||||
},
|
},
|
||||||
device: 'desktop',
|
device: 'desktop',
|
||||||
size: Cookies.get('size') || 'medium'
|
size: Cookies.get('size') || 'default'
|
||||||
}
|
}
|
||||||
|
|
||||||
const mutations = {
|
const mutations = {
|
||||||
|
|||||||
@@ -122,8 +122,8 @@ const actions = {
|
|||||||
|
|
||||||
// user logout
|
// user logout
|
||||||
logout({ commit, state, dispatch }) {
|
logout({ commit, state, dispatch }) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve) => {
|
||||||
logout(state.token).then(() => {
|
logout(state.token).finally(() => {
|
||||||
commit('SET_TOKEN', '')
|
commit('SET_TOKEN', '')
|
||||||
commit('SET_ROLES', [])
|
commit('SET_ROLES', [])
|
||||||
removeToken()
|
removeToken()
|
||||||
@@ -133,8 +133,6 @@ const actions = {
|
|||||||
dispatch('tagsView/delAllViews', null, { root: true })
|
dispatch('tagsView/delAllViews', null, { root: true })
|
||||||
|
|
||||||
resolve()
|
resolve()
|
||||||
}).catch(error => {
|
|
||||||
reject(error)
|
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -27,11 +27,6 @@
|
|||||||
z-index: 1001;
|
z-index: 1001;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
|
||||||
// reset element-ui css
|
|
||||||
.horizontal-collapse-transition {
|
|
||||||
transition: 0s width ease-in-out, 0s padding-left ease-in-out, 0s padding-right ease-in-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
.scrollbar-wrapper {
|
.scrollbar-wrapper {
|
||||||
overflow-x: hidden !important;
|
overflow-x: hidden !important;
|
||||||
}
|
}
|
||||||
@@ -67,23 +62,22 @@
|
|||||||
.el-menu {
|
.el-menu {
|
||||||
border: none;
|
border: none;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
width: 100% !important;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// menu hover
|
// menu hover
|
||||||
.submenu-title-noDropdown,
|
.el-menu-item,
|
||||||
.el-submenu__title {
|
.el-sub-menu__title {
|
||||||
&:hover {
|
&:hover {
|
||||||
background-color: v.$menuHover !important;
|
background-color: v.$menuHover !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.is-active>.el-submenu__title {
|
.is-active > .el-sub-menu__title {
|
||||||
color: v.$subMenuActiveText !important;
|
color: v.$subMenuActiveText !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
& .nest-menu .el-submenu>.el-submenu__title,
|
& .nest-menu .el-sub-menu > .el-sub-menu__title,
|
||||||
& .el-submenu .el-menu-item {
|
& .el-sub-menu .el-menu-item {
|
||||||
min-width: v.$sideBarWidth !important;
|
min-width: v.$sideBarWidth !important;
|
||||||
background-color: v.$subMenuBg !important;
|
background-color: v.$subMenuBg !important;
|
||||||
|
|
||||||
@@ -93,61 +87,42 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ===== 侧边栏收缩状态 =====
|
||||||
.hideSidebar {
|
.hideSidebar {
|
||||||
.sidebar-container {
|
.sidebar-container {
|
||||||
width: 54px !important;
|
width: 54px !important;
|
||||||
|
max-width: 54px !important;
|
||||||
|
min-width: 54px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.main-container {
|
.main-container {
|
||||||
margin-left: 54px;
|
margin-left: 54px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.submenu-title-noDropdown {
|
// Element Plus el-scrollbar 在收缩时也要限制宽度
|
||||||
padding: 0 !important;
|
.sidebar-container .el-scrollbar {
|
||||||
position: relative;
|
width: 54px !important;
|
||||||
|
max-width: 54px !important;
|
||||||
.el-tooltip {
|
|
||||||
padding: 0 !important;
|
|
||||||
|
|
||||||
.svg-icon {
|
|
||||||
margin-left: 20px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.el-submenu {
|
|
||||||
overflow: hidden;
|
|
||||||
|
|
||||||
&>.el-submenu__title {
|
|
||||||
padding: 0 !important;
|
|
||||||
|
|
||||||
.svg-icon {
|
|
||||||
margin-left: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.el-submenu__icon-arrow {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 通过 CSS 变量覆盖 Element Plus 默认的 64px 收缩宽度,并用 !important 强制 54px
|
||||||
.el-menu--collapse {
|
.el-menu--collapse {
|
||||||
.el-submenu {
|
--el-menu-icon-width: 24px;
|
||||||
&>.el-submenu__title {
|
--el-menu-base-level-padding: 15px;
|
||||||
&>span {
|
width: 54px !important;
|
||||||
height: 0;
|
max-width: 54px !important;
|
||||||
width: 0;
|
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
visibility: hidden;
|
|
||||||
display: inline-block;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-menu--collapse .el-menu .el-submenu {
|
// 覆盖 Element Plus 的 .el-menu .el-sub-menu { min-width: 200px },防止子菜单撑开收缩后的侧边栏
|
||||||
min-width: v.$sideBarWidth !important;
|
.sidebar-container .el-sub-menu {
|
||||||
|
min-width: 54px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 收缩时图标居中,去掉右边距
|
||||||
|
.el-menu--collapse .svg-icon {
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// mobile responsive
|
// mobile responsive
|
||||||
@@ -180,7 +155,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// when menu collapsed
|
// when menu collapsed, submenu popup styles
|
||||||
.el-menu--vertical {
|
.el-menu--vertical {
|
||||||
& > .el-menu {
|
& > .el-menu {
|
||||||
.svg-icon {
|
.svg-icon {
|
||||||
@@ -188,10 +163,9 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.nest-menu .el-submenu>.el-submenu__title,
|
.nest-menu .el-sub-menu > .el-sub-menu__title,
|
||||||
.el-menu-item {
|
.el-menu-item {
|
||||||
&:hover {
|
&:hover {
|
||||||
// you can use v.$subMenuHover
|
|
||||||
background-color: v.$menuHover !important;
|
background-color: v.$menuHover !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -50,18 +50,16 @@
|
|||||||
<el-card class="box">
|
<el-card class="box">
|
||||||
<template #header>
|
<template #header>
|
||||||
<div class="clearfix">
|
<div class="clearfix">
|
||||||
<span>支持信息</span>
|
<span>系统信息</span>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
|
|
||||||
<div class="title" style="padding-top: 0px">商业咨询</div>
|
|
||||||
<div style="display: flex;">
|
<div style="display: flex;">
|
||||||
<div style="flex-grow: 1;">
|
<div style="flex-grow: 1;">
|
||||||
<div>校园管藏图书数字化运维系统</div>
|
<div>墨韵智枢</div>
|
||||||
<div>校园管藏图书数字化运维系统</div>
|
<div>校园馆藏图书数字化运维系统</div>
|
||||||
<div>校园管藏图书数字化运维系统</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<app-main />
|
<router-view />
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -30,11 +30,10 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { mapGetters } from 'vuex'
|
import { mapGetters } from 'vuex'
|
||||||
import AppMain from '@/layout/components/AppMain.vue'
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'LoginLayout',
|
name: 'LoginLayout',
|
||||||
components: { AppMain },
|
components: {},
|
||||||
computed: {
|
computed: {
|
||||||
...mapGetters([
|
...mapGetters([
|
||||||
'siteData'
|
'siteData'
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
@description 用户信息卡片组件,展示头像、昵称等个人资料摘要
|
@description 用户信息卡片组件,展示头像、昵称等个人资料摘要 效果不好 暂时删除
|
||||||
@author D吕贺034244311
|
@author D吕贺034244311
|
||||||
@date 20260620
|
@date 20260620
|
||||||
-->
|
-->
|
||||||
@@ -13,10 +13,10 @@
|
|||||||
|
|
||||||
<div class="user-profile">
|
<div class="user-profile">
|
||||||
<div class="box-center">
|
<div class="box-center">
|
||||||
<pan-thumb :image="user.avatar" :height="'100px'" :width="'100px'" :hoverable="false">
|
<!-- <pan-thumb :image="user.avatar" :height="'100px'" :width="'100px'" :hoverable="false">-->
|
||||||
<div>欢迎</div>
|
<!-- <div>欢迎</div>-->
|
||||||
{{ user.role }}
|
<!-- {{ user.role }}-->
|
||||||
</pan-thumb>
|
<!-- </pan-thumb>-->
|
||||||
</div>
|
</div>
|
||||||
<div class="box-center">
|
<div class="box-center">
|
||||||
<div class="user-name text-center">{{ user.name }}</div>
|
<div class="user-name text-center">{{ user.name }}</div>
|
||||||
|
|||||||
@@ -8,11 +8,11 @@
|
|||||||
<div v-if="user">
|
<div v-if="user">
|
||||||
<el-row :gutter="20">
|
<el-row :gutter="20">
|
||||||
|
|
||||||
<el-col :span="6" :xs="24">
|
<!-- <el-col :span="6" :xs="24">-->
|
||||||
<user-card :user="user" />
|
<!-- <user-card :user="user" />-->
|
||||||
</el-col>
|
<!-- </el-col>-->
|
||||||
|
|
||||||
<el-col :span="18" :xs="24">
|
<el-col :span="6" :xs="24">
|
||||||
<el-card>
|
<el-card>
|
||||||
<el-tabs v-model="activeTab">
|
<el-tabs v-model="activeTab">
|
||||||
<el-tab-pane label="修改资料" name="account">
|
<el-tab-pane label="修改资料" name="account">
|
||||||
@@ -34,7 +34,7 @@ import Account from './components/Account.vue'
|
|||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'Profile',
|
name: 'Profile',
|
||||||
components: { UserCard, Account },
|
components: { Account },
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
user: {},
|
user: {},
|
||||||
|
|||||||
@@ -14,7 +14,6 @@
|
|||||||
@multi-actions="handleMultiAction"
|
@multi-actions="handleMultiAction"
|
||||||
>
|
>
|
||||||
<template #filter-content>
|
<template #filter-content>
|
||||||
<el-input v-model="listQuery.params.id" style="width: 200px" placeholder="搜索公告编码" class="filter-item"/>
|
|
||||||
<el-input v-model="listQuery.params.title" style="width: 200px" placeholder="搜索公告标题" class="filter-item"/>
|
<el-input v-model="listQuery.params.title" style="width: 200px" placeholder="搜索公告标题" class="filter-item"/>
|
||||||
<el-input v-model="listQuery.params.text" style="width: 200px" placeholder="搜索公告内容" class="filter-item" />
|
<el-input v-model="listQuery.params.text" style="width: 200px" placeholder="搜索公告内容" class="filter-item" />
|
||||||
<label>开始时间</label>
|
<label>开始时间</label>
|
||||||
@@ -35,12 +34,6 @@
|
|||||||
|
|
||||||
</template>
|
</template>
|
||||||
<template #data-columns>
|
<template #data-columns>
|
||||||
<el-table-column align="center" label="公告编号" prop="id">
|
|
||||||
<template #default="scope">
|
|
||||||
<a style="color: #1890ff" @click="handleUpdate(scope.row)">{{ scope.row.id }}</a>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
|
|
||||||
|
|
||||||
<el-table-column align="center" label="公告标题" prop="title"/>
|
<el-table-column align="center" label="公告标题" prop="title"/>
|
||||||
<el-table-column align="center" label="公告内容" prop="text"/>
|
<el-table-column align="center" label="公告内容" prop="text"/>
|
||||||
|
|||||||
@@ -14,7 +14,6 @@
|
|||||||
@multi-actions="handleMultiAction"
|
@multi-actions="handleMultiAction"
|
||||||
>
|
>
|
||||||
<template #filter-content>
|
<template #filter-content>
|
||||||
<el-input v-model="listQuery.params.id" style="width: 200px" placeholder="搜索留言编码" class="filter-item"/>
|
|
||||||
<el-input v-model="listQuery.params.itemname" style="width: 200px" placeholder="搜索发布人昵称" class="filter-item"/>
|
<el-input v-model="listQuery.params.itemname" style="width: 200px" placeholder="搜索发布人昵称" class="filter-item"/>
|
||||||
<el-input v-model="listQuery.params.text" style="width: 200px" placeholder="搜索留言内容" class="filter-item" />
|
<el-input v-model="listQuery.params.text" style="width: 200px" placeholder="搜索留言内容" class="filter-item" />
|
||||||
<label>开始时间</label>
|
<label>开始时间</label>
|
||||||
@@ -38,11 +37,6 @@
|
|||||||
|
|
||||||
</template>
|
</template>
|
||||||
<template #data-columns>
|
<template #data-columns>
|
||||||
<el-table-column align="center" label="留言编号" prop="id">
|
|
||||||
<template #default="scope">
|
|
||||||
<a style="color: #1890ff" @click="handleUpdate(scope.row)">{{ scope.row.id }}</a>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
|
|
||||||
<el-table-column align="center" label="留言人昵称" prop="itemname"/>
|
<el-table-column align="center" label="留言人昵称" prop="itemname"/>
|
||||||
<el-table-column align="center" label="留言内容" prop="text"/>
|
<el-table-column align="center" label="留言内容" prop="text"/>
|
||||||
|
|||||||
Reference in New Issue
Block a user