Browse Source

更新12.27

chuxu
hanyuqing 8 months ago
parent
commit
09d67af46d
  1. 47
      .gitignore
  2. 11
      .idea/misc.xml
  3. 8
      .idea/modules.xml
  4. 0
      .mvn/wrapper/maven-wrapper.properties
  5. 20
      LICENSE
  6. 96
      README.md
  7. 12
      bin/clean.bat
  8. 12
      bin/package.bat
  9. 14
      bin/run.bat
  10. 23
      gyxtp/.gitignore
  11. 24
      gyxtp/README.md
  12. 5
      gyxtp/babel.config.js
  13. 19
      gyxtp/jsconfig.json
  14. 27179
      gyxtp/package-lock.json
  15. 106
      gyxtp/package.json
  16. BIN
      gyxtp/public/favicon.ico
  17. BIN
      gyxtp/public/file/操作使用手册.pdf
  18. 17
      gyxtp/public/index.html
  19. 203
      gyxtp/src/App.vue
  20. 48
      gyxtp/src/api/admin.ts
  21. 15
      gyxtp/src/api/api/article.js
  22. 58
      gyxtp/src/api/api/battle.js
  23. 18
      gyxtp/src/api/api/chat.js
  24. 253
      gyxtp/src/api/api/doc.js
  25. 71
      gyxtp/src/api/api/graph.js
  26. 56
      gyxtp/src/api/api/login.js
  27. 103
      gyxtp/src/api/api/tong.js
  28. 158
      gyxtp/src/api/api/train.js
  29. 10
      gyxtp/src/api/api/upload.js
  30. 45
      gyxtp/src/api/material.ts
  31. 83
      gyxtp/src/api/user.ts
  32. 363
      gyxtp/src/assets/css/common.scss
  33. 25099
      gyxtp/src/assets/css/elmain.css
  34. 49
      gyxtp/src/assets/css/main.css
  35. 603
      gyxtp/src/assets/css/vis.css
  36. 30
      gyxtp/src/assets/defaultConfig.js
  37. 9269
      gyxtp/src/assets/demo2.js
  38. 175
      gyxtp/src/assets/demo3.js
  39. BIN
      gyxtp/src/assets/images/1.jpg
  40. BIN
      gyxtp/src/assets/images/circle.png
  41. BIN
      gyxtp/src/assets/images/close.png
  42. BIN
      gyxtp/src/assets/images/icon.png
  43. BIN
      gyxtp/src/assets/images/icon1.png
  44. BIN
      gyxtp/src/assets/img/back1.png
  45. BIN
      gyxtp/src/assets/img/bg.jpg
  46. BIN
      gyxtp/src/assets/img/caret.png
  47. BIN
      gyxtp/src/assets/img/header-bg.png
  48. BIN
      gyxtp/src/assets/img/kuang.png
  49. BIN
      gyxtp/src/assets/img/list.jpg
  50. BIN
      gyxtp/src/assets/img/logo.png
  51. BIN
      gyxtp/src/assets/img/search.png
  52. BIN
      gyxtp/src/assets/img/shrink.png
  53. BIN
      gyxtp/src/assets/img/tag.png
  54. BIN
      gyxtp/src/assets/img/text_bg.png
  55. BIN
      gyxtp/src/assets/img/time.png
  56. BIN
      gyxtp/src/assets/img/title-bg.png
  57. BIN
      gyxtp/src/assets/img/zoom-in.png
  58. BIN
      gyxtp/src/assets/img/zoom-out.png
  59. BIN
      gyxtp/src/assets/img1/QA-bg.jpg
  60. BIN
      gyxtp/src/assets/img1/answerBiao.png
  61. BIN
      gyxtp/src/assets/img1/answerDown.png
  62. BIN
      gyxtp/src/assets/img1/answerbg.jpg
  63. BIN
      gyxtp/src/assets/img1/assistant-avatar.png
  64. BIN
      gyxtp/src/assets/img1/backGraph.png
  65. BIN
      gyxtp/src/assets/img1/bg.jpg
  66. BIN
      gyxtp/src/assets/img1/bg.png
  67. BIN
      gyxtp/src/assets/img1/biaoqian.png
  68. BIN
      gyxtp/src/assets/img1/border.png
  69. BIN
      gyxtp/src/assets/img1/box-bg.png
  70. BIN
      gyxtp/src/assets/img1/chat1.png
  71. BIN
      gyxtp/src/assets/img1/chat2.png
  72. BIN
      gyxtp/src/assets/img1/chat3.png
  73. BIN
      gyxtp/src/assets/img1/chatgang.png
  74. BIN
      gyxtp/src/assets/img1/docListBg.png
  75. BIN
      gyxtp/src/assets/img1/docbg.jpg
  76. BIN
      gyxtp/src/assets/img1/docbg.png
  77. BIN
      gyxtp/src/assets/img1/docbg1.png
  78. BIN
      gyxtp/src/assets/img1/down.png
  79. BIN
      gyxtp/src/assets/img1/false.png
  80. BIN
      gyxtp/src/assets/img1/finish.png
  81. BIN
      gyxtp/src/assets/img1/gang.png
  82. BIN
      gyxtp/src/assets/img1/graphback.jpg
  83. BIN
      gyxtp/src/assets/img1/graphback.png
  84. BIN
      gyxtp/src/assets/img1/hh.png
  85. BIN
      gyxtp/src/assets/img1/info.png
  86. BIN
      gyxtp/src/assets/img1/inputBorder.png
  87. BIN
      gyxtp/src/assets/img1/knowledge-img.jpg
  88. BIN
      gyxtp/src/assets/img1/left.png
  89. BIN
      gyxtp/src/assets/img1/list.jpg
  90. BIN
      gyxtp/src/assets/img1/listQian.png
  91. BIN
      gyxtp/src/assets/img1/listSearch.png
  92. BIN
      gyxtp/src/assets/img1/logo.png
  93. BIN
      gyxtp/src/assets/img1/logo1.png
  94. BIN
      gyxtp/src/assets/img1/logo2.png
  95. BIN
      gyxtp/src/assets/img1/logoG.png
  96. BIN
      gyxtp/src/assets/img1/logout.png
  97. BIN
      gyxtp/src/assets/img1/return.png
  98. BIN
      gyxtp/src/assets/img1/row-border.png
  99. BIN
      gyxtp/src/assets/img1/search.png
  100. BIN
      gyxtp/src/assets/img1/search2.png

47
.gitignore

@ -0,0 +1,47 @@
######################################################################
# Build Tools
.gradle
/build/
!gradle/wrapper/gradle-wrapper.jar
target/
!.mvn/wrapper/maven-wrapper.jar
######################################################################
# IDE
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
### JRebel ###
rebel.xml
### NetBeans ###
nbproject/private/
build/*
nbbuild/
dist/
nbdist/
.nb-gradle/
######################################################################
# Others
*.log
*.xml.versionsBackup
*.swp
!*/build/*.java
!*/build/*.html
!*/build/*.xml

11
.idea/misc.xml

@ -1,6 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="corretto-1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="MavenProjectsManager">
<option name="originalFiles">
<list>
<option value="$PROJECT_DIR$/pom.xml" />
</list>
</option>
<option name="workspaceImportForciblyTurnedOn" value="true" />
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="corretto-1.8" project-jdk-type="JavaSDK" />
</project>

8
.idea/modules.xml

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/Changsha_tupu.iml" filepath="$PROJECT_DIR$/.idea/Changsha_tupu.iml" />
</modules>
</component>
</project>

0
test → .mvn/wrapper/maven-wrapper.properties

20
LICENSE

@ -0,0 +1,20 @@
The MIT License (MIT)
Copyright (c) 2018 RuoYi
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.

96
README.md

@ -0,0 +1,96 @@
<p align="center">
<img alt="logo" src="https://oscimg.oschina.net/oscnet/up-d3d0a9303e11d522a06cd263f3079027715.png">
</p>
<h1 align="center" style="margin: 30px 0 30px; font-weight: bold;">RuoYi v3.8.8</h1>
<h4 align="center">基于SpringBoot+Vue前后端分离的Java快速开发框架</h4>
<p align="center">
<a href="https://gitee.com/y_project/RuoYi-Vue/stargazers"><img src="https://gitee.com/y_project/RuoYi-Vue/badge/star.svg?theme=dark"></a>
<a href="https://gitee.com/y_project/RuoYi-Vue"><img src="https://img.shields.io/badge/RuoYi-v3.8.8-brightgreen.svg"></a>
<a href="https://gitee.com/y_project/RuoYi-Vue/blob/master/LICENSE"><img src="https://img.shields.io/github/license/mashape/apistatus.svg"></a>
</p>
## 平台简介
若依是一套全部开源的快速开发平台,毫无保留给个人及企业免费使用。
* 前端采用Vue、Element UI。
* 后端采用Spring Boot、Spring Security、Redis & Jwt。
* 权限认证使用Jwt,支持多终端认证系统。
* 支持加载动态权限菜单,多方式轻松权限控制。
* 高效率开发,使用代码生成器可以一键生成前后端代码。
* 提供了技术栈([Vue3](https://v3.cn.vuejs.org) [Element Plus](https://element-plus.org/zh-CN) [Vite](https://cn.vitejs.dev))版本[RuoYi-Vue3](https://github.com/yangzongzhuan/RuoYi-Vue3),保持同步更新。
* 提供了单应用版本[RuoYi-Vue-fast](https://github.com/yangzongzhuan/RuoYi-Vue-fast),Oracle版本[RuoYi-Vue-Oracle](https://github.com/yangzongzhuan/RuoYi-Vue-Oracle),保持同步更新。
* 不分离版本,请移步[RuoYi](https://gitee.com/y_project/RuoYi),微服务版本,请移步[RuoYi-Cloud](https://gitee.com/y_project/RuoYi-Cloud)
* 阿里云折扣场:[点我进入](http://aly.ruoyi.vip),腾讯云秒杀场:[点我进入](http://txy.ruoyi.vip)&nbsp;&nbsp;
* 阿里云优惠券:[点我领取](https://www.aliyun.com/minisite/goods?userCode=brki8iof&share_source=copy_link),腾讯云优惠券:[点我领取](https://cloud.tencent.com/redirect.php?redirect=1025&cps_key=198c8df2ed259157187173bc7f4f32fd&from=console)&nbsp;&nbsp;
## 内置功能
1. 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
2. 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。
3. 岗位管理:配置系统用户所属担任职务。
4. 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
5. 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
6. 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
7. 参数管理:对系统动态配置常用参数。
8. 通知公告:系统通知公告信息发布维护。
9. 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
10. 登录日志:系统登录日志记录查询包含登录异常。
11. 在线用户:当前系统中活跃用户状态监控。
12. 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
13. 代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。
14. 系统接口:根据业务代码自动生成相关的api接口文档。
15. 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。
16. 缓存监控:对系统的缓存信息查询,命令统计等。
17. 在线构建器:拖动表单元素生成相应的HTML代码。
18. 连接池监视:监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。
## 在线体验
- admin/admin123
- 陆陆续续收到一些打赏,为了更好的体验已用于演示服务器升级。谢谢各位小伙伴。
演示地址:http://vue.ruoyi.vip
文档地址:http://doc.ruoyi.vip
## 演示图
<table>
<tr>
<td><img src="https://oscimg.oschina.net/oscnet/cd1f90be5f2684f4560c9519c0f2a232ee8.jpg"/></td>
<td><img src="https://oscimg.oschina.net/oscnet/1cbcf0e6f257c7d3a063c0e3f2ff989e4b3.jpg"/></td>
</tr>
<tr>
<td><img src="https://oscimg.oschina.net/oscnet/up-8074972883b5ba0622e13246738ebba237a.png"/></td>
<td><img src="https://oscimg.oschina.net/oscnet/up-9f88719cdfca9af2e58b352a20e23d43b12.png"/></td>
</tr>
<tr>
<td><img src="https://oscimg.oschina.net/oscnet/up-39bf2584ec3a529b0d5a3b70d15c9b37646.png"/></td>
<td><img src="https://oscimg.oschina.net/oscnet/up-936ec82d1f4872e1bc980927654b6007307.png"/></td>
</tr>
<tr>
<td><img src="https://oscimg.oschina.net/oscnet/up-b2d62ceb95d2dd9b3fbe157bb70d26001e9.png"/></td>
<td><img src="https://oscimg.oschina.net/oscnet/up-d67451d308b7a79ad6819723396f7c3d77a.png"/></td>
</tr>
<tr>
<td><img src="https://oscimg.oschina.net/oscnet/5e8c387724954459291aafd5eb52b456f53.jpg"/></td>
<td><img src="https://oscimg.oschina.net/oscnet/644e78da53c2e92a95dfda4f76e6d117c4b.jpg"/></td>
</tr>
<tr>
<td><img src="https://oscimg.oschina.net/oscnet/up-8370a0d02977eebf6dbf854c8450293c937.png"/></td>
<td><img src="https://oscimg.oschina.net/oscnet/up-49003ed83f60f633e7153609a53a2b644f7.png"/></td>
</tr>
<tr>
<td><img src="https://oscimg.oschina.net/oscnet/up-d4fe726319ece268d4746602c39cffc0621.png"/></td>
<td><img src="https://oscimg.oschina.net/oscnet/up-c195234bbcd30be6927f037a6755e6ab69c.png"/></td>
</tr>
<tr>
<td><img src="https://oscimg.oschina.net/oscnet/b6115bc8c31de52951982e509930b20684a.jpg"/></td>
<td><img src="https://oscimg.oschina.net/oscnet/up-5e4daac0bb59612c5038448acbcef235e3a.png"/></td>
</tr>
</table>
## 若依前后端分离交流群
QQ群: [![加入QQ群](https://img.shields.io/badge/已满-937441-blue.svg)](https://jq.qq.com/?_wv=1027&k=5bVB1og) [![加入QQ群](https://img.shields.io/badge/已满-887144332-blue.svg)](https://jq.qq.com/?_wv=1027&k=5eiA4DH) [![加入QQ群](https://img.shields.io/badge/已满-180251782-blue.svg)](https://jq.qq.com/?_wv=1027&k=5AxMKlC) [![加入QQ群](https://img.shields.io/badge/已满-104180207-blue.svg)](https://jq.qq.com/?_wv=1027&k=51G72yr) [![加入QQ群](https://img.shields.io/badge/已满-186866453-blue.svg)](https://jq.qq.com/?_wv=1027&k=VvjN2nvu) [![加入QQ群](https://img.shields.io/badge/已满-201396349-blue.svg)](https://jq.qq.com/?_wv=1027&k=5vYAqA05) [![加入QQ群](https://img.shields.io/badge/已满-101456076-blue.svg)](https://jq.qq.com/?_wv=1027&k=kOIINEb5) [![加入QQ群](https://img.shields.io/badge/已满-101539465-blue.svg)](https://jq.qq.com/?_wv=1027&k=UKtX5jhs) [![加入QQ群](https://img.shields.io/badge/已满-264312783-blue.svg)](https://jq.qq.com/?_wv=1027&k=EI9an8lJ) [![加入QQ群](https://img.shields.io/badge/已满-167385320-blue.svg)](https://jq.qq.com/?_wv=1027&k=SWCtLnMz) [![加入QQ群](https://img.shields.io/badge/已满-104748341-blue.svg)](https://jq.qq.com/?_wv=1027&k=96Dkdq0k) [![加入QQ群](https://img.shields.io/badge/已满-160110482-blue.svg)](https://jq.qq.com/?_wv=1027&k=0fsNiYZt) [![加入QQ群](https://img.shields.io/badge/已满-170801498-blue.svg)](https://jq.qq.com/?_wv=1027&k=7xw4xUG1) [![加入QQ群](https://img.shields.io/badge/已满-108482800-blue.svg)](https://jq.qq.com/?_wv=1027&k=eCx8eyoJ) [![加入QQ群](https://img.shields.io/badge/已满-101046199-blue.svg)](https://jq.qq.com/?_wv=1027&k=SpyH2875) [![加入QQ群](https://img.shields.io/badge/已满-136919097-blue.svg)](https://jq.qq.com/?_wv=1027&k=tKEt51dz) [![加入QQ群](https://img.shields.io/badge/已满-143961921-blue.svg)](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=0vBbSb0ztbBgVtn3kJS-Q4HUNYwip89G&authKey=8irq5PhutrZmWIvsUsklBxhj57l%2F1nOZqjzigkXZVoZE451GG4JHPOqW7AW6cf0T&noverify=0&group_code=143961921) [![加入QQ群](https://img.shields.io/badge/已满-174951577-blue.svg)](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=ZFAPAbp09S2ltvwrJzp7wGlbopsc0rwi&authKey=HB2cxpxP2yspk%2Bo3WKTBfktRCccVkU26cgi5B16u0KcAYrVu7sBaE7XSEqmMdFQp&noverify=0&group_code=174951577) [![加入QQ群](https://img.shields.io/badge/已满-161281055-blue.svg)](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=Fn2aF5IHpwsy8j6VlalNJK6qbwFLFHat&authKey=uyIT%2B97x2AXj3odyXpsSpVaPMC%2Bidw0LxG5MAtEqlrcBcWJUA%2FeS43rsF1Tg7IRJ&noverify=0&group_code=161281055) [![加入QQ群](https://img.shields.io/badge/已满-138988063-blue.svg)](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=XIzkm_mV2xTsUtFxo63bmicYoDBA6Ifm&authKey=dDW%2F4qsmw3x9govoZY9w%2FoWAoC4wbHqGal%2BbqLzoS6VBarU8EBptIgPKN%2FviyC8j&noverify=0&group_code=138988063) [![加入QQ群](https://img.shields.io/badge/151450850-blue.svg)](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=DkugnCg68PevlycJSKSwjhFqfIgrWWwR&authKey=pR1Pa5lPIeGF%2FFtIk6d%2FGB5qFi0EdvyErtpQXULzo03zbhopBHLWcuqdpwY241R%2F&noverify=0&group_code=151450850) 点击按钮入群。

12
bin/clean.bat

@ -0,0 +1,12 @@
@echo off
echo.
echo [信息] 清理工程target生成路径。
echo.
%~d0
cd %~dp0
cd ..
call mvn clean
pause

12
bin/package.bat

@ -0,0 +1,12 @@
@echo off
echo.
echo [信息] 打包Web工程,生成war/jar包文件。
echo.
%~d0
cd %~dp0
cd ..
call mvn clean package -Dmaven.test.skip=true
pause

14
bin/run.bat

@ -0,0 +1,14 @@
@echo off
echo.
echo [信息] 使用Jar命令运行Web工程。
echo.
cd %~dp0
cd ../ruoyi-admin/target
set JAVA_OPTS=-Xms256m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m
java -jar %JAVA_OPTS% ruoyi-admin.jar
cd bin
pause

23
gyxtp/.gitignore

@ -0,0 +1,23 @@
.DS_Store
node_modules
/dist
# local env files
.env.local
.env.*.local
# Log files
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
# Editor directories and files
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?

24
gyxtp/README.md

@ -0,0 +1,24 @@
# tp
## Project setup
```
npm install
```
### Compiles and hot-reloads for development
```
npm run serve
```
### Compiles and minifies for production
```
npm run build
```
### Lints and fixes files
```
npm run lint
```
### Customize configuration
See [Configuration Reference](https://cli.vuejs.org/config/).

5
gyxtp/babel.config.js

@ -0,0 +1,5 @@
module.exports = {
presets: [
'@vue/cli-plugin-babel/preset'
]
}

19
gyxtp/jsconfig.json

@ -0,0 +1,19 @@
{
"compilerOptions": {
"target": "es5",
"module": "esnext",
"baseUrl": "./",
"moduleResolution": "node",
"paths": {
"@/*": [
"src/*"
]
},
"lib": [
"esnext",
"dom",
"dom.iterable",
"scripthost"
]
}
}

27179
gyxtp/package-lock.json

File diff suppressed because it is too large

106
gyxtp/package.json

@ -0,0 +1,106 @@
{
"name": "tp",
"version": "0.1.0",
"private": true,
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint"
},
"dependencies": {
"@element-plus/icons-vue": "^2.3.1",
"@vueuse/core": "^10.1.0",
"axios": "^1.7.7",
"core-js": "^3.8.3",
"echarts": "^5.5.1",
"echarts-wordcloud": "^2.0.0",
"element-plus": "^2.8.8",
"fabric": "^6.4.3",
"neovis.js": "^2.1.0",
"relation-graph-vue3": "^2.2.11",
"view-ui-plus": "^1.3.7",
"vue": "^3.2.13",
"vue-i18n": "9.0.0",
"vue-router": "^4.4.5",
"vue3-treeselect": "^0.1.10"
},
"workspaces": [
"packages/*"
],
"devDependencies": {
"@babel/core": "^7.12.16",
"@babel/eslint-parser": "^7.12.16",
"@types/events": "^3.0.0",
"@types/fabric": "^5.3.0",
"@types/fontfaceobserver": "^2.1.3",
"@types/lodash-es": "^4.17.7",
"@types/node": "^18.19.43",
"@types/uuid": "^9.0.1",
"@typescript-eslint/eslint-plugin": "^5.54.1",
"@typescript-eslint/parser": "^5.54.1",
"@vue/cli-plugin-babel": "~5.0.0",
"@vue/cli-plugin-eslint": "~5.0.0",
"@vue/cli-service": "~5.0.0",
"@webtoon/psd": "^0.4.0",
"eslint": "^7.32.0",
"eslint-plugin-vue": "^8.0.3",
"events": "^3.3.0",
"fabric-history": "^1.6.0",
"fontfaceobserver": "^2.1.0",
"hotkeys-js": "^3.8.8",
"jsbarcode": "^3.11.6",
"less": "^4.2.0",
"less-loader": "^12.2.0",
"qr-code-styling": "1.6.0-rc.1",
"qs": "^6.12.1",
"sass": "^1.75.0",
"sass-loader": "^16.0.2",
"tapable": "^2.2.1",
"typescript": "5.1.6",
"unplugin-auto-import": "^20.0.0",
"unplugin-vue-components": "^29.0.0",
"uuid": "^8.3.2",
"vis-network": "^9.1.9"
},
"lint-staged": {
"*.{ts,tsx,js,vue}": [
"eslint --fix",
"prettier --write"
]
},
"eslintConfig": {
"root": true,
"env": {
"node": true
},
"extends": [
"plugin:vue/vue3-essential",
"eslint:recommended"
],
"parserOptions": {
"parser": "@babel/eslint-parser"
},
"rules": {
"generator-star-spacing": "off",
"no-tabs": "off",
"no-unused-vars": "off",
"no-console": "off",
"no-irregular-whitespace": "off",
"no-debugger": "off",
"no-redeclare": "off",
"no-undef": "off",
"no-empty": "off",
"no-global-assign": "off",
"no-prototype-builtins": "off",
"no-unreachable": "off",
"no-inner-declarations": "off",
"no-constant-condition": "off"
}
},
"browserslist": [
"> 1%",
"last 2 versions",
"not dead",
"not ie 11"
]
}

BIN
gyxtp/public/favicon.ico

Binary file not shown.

After

Width:  |  Height:  |  Size: 194 KiB

BIN
gyxtp/public/file/操作使用手册.pdf

Binary file not shown.

17
gyxtp/public/index.html

@ -0,0 +1,17 @@
<!DOCTYPE html>
<html lang="">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title>天气过程知识图谱</title>
</head>
<body>
<noscript>
<strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id="app"></div>
<!-- built files will be auto injected -->
</body>
</html>

203
gyxtp/src/App.vue

@ -0,0 +1,203 @@
<template>
<router-view ></router-view>
</template>
<script>
export default {
name: 'App',
}
</script>
<style lang="scss">
@import "./assets/css/common.scss";
@import "./assets/css/main.css";
@import "./assets/css/vis.css";
.selectListInfo{
.el-tree-node__content:hover{
background: rgba(255, 255, 255, 0.21);
font-weight: 550;
.lineInfo{
background: #0012ff !important;
}
}
.el-tree--highlight-current{
.el-tree-node.is-current > .el-tree-node__content {
background-color: rgba(255, 255, 255, 0.21);
color: #fff;
.lineInfo{
background: #0012ff !important;
}
}
}
.el-tree-node__content {
color: #ffffff;
height: 2vw !important;
padding-left: 2vw !important;
padding-right: 2vw !important;
}
.el-tree-node{
cursor: pointer;
}
.el-tree-node__children {
overflow: visible !important
}
.el-tree-node__expand-icon {
position: absolute !important;
right: 10% !important;
width: 1vw;
height: 1vw;
}
.el-tree-node is-expanded is-focusable
.el-tree-node__label {
padding-left: 15px !important;
}
.el-tree-node__expand-icon {
margin-top: 5px;
-webkit-transform: rotate(-90deg);
transform: rotate(90deg);
}
.el-tree-node__expand-icon.is-leaf {
display: none;
}
/* 三角图标 展开 */
.el-tree-node__expand-icon.expanded {
-webkit-transform: rotate(-90deg);
transform: rotate(-90deg);
}
}
.rightHeader1{
.el-tree-node__content {
color: #000000;
height: 2vw !important;
padding-left: 0 !important;
padding-right: 0 !important;
}
.el-tree-node__expand-icon{
font-size: 1vw !important;
}
.el-tree-node__content:hover{
background: rgba(255, 255, 255, 0.21);
font-weight: 550;
padding-left: 0 !important;
padding-right: 0 !important;
.label{
color: #0776ff !important;
}
.lineInfo{
background: #0776ff !important;
}
}
.el-tree--highlight-current .el-tree-node.is-current > .el-tree-node__content {
background-color: rgba(255, 255, 255, 0.21);
color: #fff;
.lineInfo{
background: #0012ff !important;
}
}
.el-tree--highlight-current
.el-tree-node.is-current
> .el-tree-node__content {
.label{
color: #0776ff !important;
font-weight: bold;
}
.lineInfo{
background: #0776ff !important;
}
}
.el-tree-node is-expanded is-focusable
.el-tree-node__label {
padding-left: 15px !important;
}
.el-tree-node__expand-icon {
margin-top: 9px;
-webkit-transform: rotate(-90deg);
transform: rotate(90deg);
}
.el-tree-node__expand-icon.is-leaf {
display: none;
}
/* 三角图标 展开 */
.el-tree-node__expand-icon.expanded {
-webkit-transform: rotate(-90deg);
transform: rotate(-90deg);
}
.custom-tree-node{
display: flex;
background-color: #eef2ff;
}
.el-tree-node__children {
overflow: visible !important
}
.el-tree-node__expand-icon {
position: absolute !important;
right: 10% !important;
width: 1vw;
height: 1vw;
color:#1a1a1a;
}
}
.content1RightInfo {
margin-top: 0.3vw;
.el-table__header-wrapper {
font-size: 1vw !important;
line-height: 1vw !important;
padding: 0 !important;
border-radius: 5vw 5vw 5vw 5vw;
}
.el-table__body-wrapper {
margin-top: 0.2vw;
.el-table__row {
padding: 1px 0;
font-size: 1vw;
}
.cell {
line-height: 1.5vw;
}
}
.el-table__cell{
padding: 2px;
}
.el-table__header-wrapper .cell {
line-height: 1.5vw;
}
.el-table__header-wrapper th {
background-color: #11b400;
color: #ffffff;
}
.el-table__header-wrapper th:last-child .cell,
.el-table__body-wrapper tr:first-child td:last-child {
border-top-right-radius: 8px;
border-bottom-right-radius: 8px;
}
}
</style>

48
gyxtp/src/api/admin.ts

@ -0,0 +1,48 @@
/*
* @Author:
* @Date: 2024-06-09 13:04:51
* @LastEditors:
* @LastEditTime: 2024-06-09 15:00:49
* @Description: API
*/
import axios from 'axios';
const baseURL = import.meta.env.APP_ADMINAPIHOST;
const instance = axios.create({ baseURL });
instance.interceptors.request.use(function (config) {
const token = getToken();
if (token) {
config.headers['Authorization'] = `${token}`;
}
return config;
});
const tokenKey = 'AdminToken';
export function getToken() {
const token = localStorage.getItem(tokenKey);
return token;
}
export function setToken(token: string) {
localStorage.setItem(tokenKey, token);
}
// 新增模板
export const createdTempl = (data: any) =>
instance.post('/content-manager/collection-types/api::templ.templ', data);
// 更新模板
export const updataTempl = (id: any, data: any) =>
instance.put(`/content-manager/collection-types/api::templ.templ/${id}`, data);
// 上传图片
export const uploadImg = (data: any) => instance.post('/upload', data);
// 更新图片
export const deleteImg = (id: string) => instance.delete('/upload/files/' + id);
// 获取详情
export const getTempl = (id: string) =>
instance.get(`/content-manager/collection-types/api::templ.templ/${id}`);

15
gyxtp/src/api/api/article.js

@ -0,0 +1,15 @@
import request from '@/utils/request';
export const selectAticleByRelation = (params) => {
return request({
url: '/api/article/selectAticleByRelation',
method: 'get',
params,
});
};
export const getArticleInfo = (id) => {
return request({
url: '/api/article/getArticleInfo/'+id,
method: 'get',
});
};

58
gyxtp/src/api/api/battle.js

@ -0,0 +1,58 @@
import request from '@/utils/request';
export const getCityInfo = (params) => {
return request({
url: '/api/battle/getCityInfo',
method: 'get',
params,
headers:{
'token':localStorage.getItem('token')
}
});
};
export const getTreeInfo = (params) => {
return request({
url: '/api/battle/getTreeInfo',
method: 'get',
});
};
export const getCityInfoByName = (params) => {
return request({
url: '/api/battle/getCityInfoByName',
method: 'get',
params,
headers:{
'token':localStorage.getItem('token')
}
});
};
export const getGraphByName = (params) => {
return request({
url: '/api/battle/getGraphByName',
method: 'get',
params,
headers:{
'token':localStorage.getItem('token')
}
});
};
export const getAllInfoList = () => {
return request({
url: '/api/battle/getAllInfoList',
method: 'get',
headers:{
'token':localStorage.getItem('token')
}
});
};

18
gyxtp/src/api/api/chat.js

@ -0,0 +1,18 @@
import request from "../../utils/request";
export const qianwen = (params) => {
return request({
url: '/api/chat/qianwen-ai',
method: 'post',
data:params,
});
};
export const getList = (params) => {
return request({
url: '/api/chat/getList',
method: 'post',
data:params,
});
};

253
gyxtp/src/api/api/doc.js

@ -0,0 +1,253 @@
import request from '@/utils/request';
// 执行Cypher查询
export const searchList = (params) => {
return request({
url: '/api/doc/searchList',
method: 'get',
params,
headers:{
'token':localStorage.getItem('token')
}
});
};
export const downInfo = (params) => {
return request({
url: '/api/doc/downInfo',
method: 'get',
params,
headers:{
'token':localStorage.getItem('token')
}
});
};
export const getShouList = (params) => {
return request({
url: '/api/doc/getShouList',
method: 'post',
data: params,
headers:{
'token':localStorage.getItem('token')
}
});
};
export const getDocOne = (params) => {
return request({
url: '/api/doc/getDocOne',
method: 'post',
data: params,
headers:{
'token':localStorage.getItem('token')
}
});
};
export const getAllHistory = () => {
return request({
url: '/api/doc/getAllHistory',
method: 'get',
headers:{
'token':localStorage.getItem('token')
}
});
};
export const getAllTitle = () => {
return request({
url: '/api/doc/getAllTitle',
method: 'get',
headers:{
'token':localStorage.getItem('token')
}
});
};
export const getTitle = () => {
return request({
url: '/api/doc/getTitle',
method: 'get',
headers:{
'token':localStorage.getItem('token')
}
});
};
export const build = (params) => {
return request({
url: '/api/doc/build',
method: 'post',
data: params,
headers:{
'token':localStorage.getItem('token')
}
});
};
export const getAllHistory1 = (params) => {
return request({
url: '/api/doc/getAllHistory1',
method: 'post',
data: params,
headers:{
'token':localStorage.getItem('token')
}
});
};
export const getAllHistory2 = (params) => {
return request({
url: '/api/doc/getAllHistory2',
method: 'post',
data: params,
headers:{
'token':localStorage.getItem('token')
}
});
};
export const getDocInfo = (params) => {
return request({
url: '/api/doc/getDocInfo',
method: 'post',
data: params,
headers:{
'token':localStorage.getItem('token')
}
});
};
export const getXgInfo = (params) => {
return request({
url: '/api/doc/getXgInfo',
method: 'post',
data: params,
headers:{
'token':localStorage.getItem('token')
}
});
};
export const userChangeDifficult = (params) => {
return request({
url: '/api/doc/userChangeDifficult',
method: 'post',
data:params,
headers:{
'token':localStorage.getItem('token')
}
})
}
export const getDifficult = (params) => {
return request({
url: '/api/doc/getDifficult',
method: 'post',
data:params,
headers:{
'token':localStorage.getItem('token')
}
})
}
//获取对应知识点的习题
export const getDocTestInfo = (docId) => {
return request({
url: '/api/doc/getTestList/' + docId,
method: 'get',
headers:{
'token':localStorage.getItem('token')
}
});
};
export const updateShou11 = (docId) => {
return request({
url: '/api/doc/updateShou11/' + docId,
method: 'get',
headers:{
'token':localStorage.getItem('token')
}
});
};
export const insertStudentAnswer = (params) => {
return request({
url: '/api/doc/insertStudentAnswer',
method: 'post',
data:params,
headers:{
'token':localStorage.getItem('token')
}
})
}
export const updateStudentAnswer = (params) => {
return request({
url: '/api/doc/updateStudentAnswer',
method: 'post',
data:params,
headers:{
'token':localStorage.getItem('token')
}
})
}
export const addDocCount = (params) => {
return request({
url: '/api/doc/addDocCount',
method: 'post',
data:params,
headers:{
'token':localStorage.getItem('token')
}
})
}
export const updateShou = (docId) => {
return request({
url: '/api/doc/updateShou/' + docId,
method: 'get',
headers:{
'token':localStorage.getItem('token')
}
});
};
export const tiwen = (params) => {
return request({
url: '/api/hhr/question/query',
method: 'get',
params,
headers:{
'token':localStorage.getItem('token')
}
});
};
export const getDocInfo2 = (params) => {
return request({
url: '/api/doc/getDocInfo2',
method: 'get',
params,
headers:{
'token':localStorage.getItem('token')
}
});
};

71
gyxtp/src/api/api/graph.js

@ -0,0 +1,71 @@
//import axios from '../axios'
import request from '@/utils/request';
/*
* 图库接口
*/
// 执行Cypher查询
export const getCypherResult = (params) => {
return request({
url: '/api/graph/getCypherResult',
method: 'get',
params,
});
};
// 查询图节点和关系
export const getDomainGraph1 = (params) => {
return request({
url: '/api/graph/getDomainGraph',
method: 'post',
data:params,
});
};
export const getDomainGraphTest = (params) => {
return request({
url: '/api/graph/getDomainGraphTest',
method: 'post',
data:params,
});
};
export const getDomainGraphTest1 = (params) => {
return request({
url: '/api/graph/getDomainGraphTest1',
method: 'post',
data:params,
});
};
export const getNodesLabels = (params) => {
return request({
url: '/api/user/search1',
method: 'get',
params,
});
};
// 查询图节点和关系
export const getInfoTest = (params) => {
return request({
url: '/api/graph/getInfoTest',
method: 'post',
data:params,
});
};
export const getInfoTestAdd = (params) => {
return request({
url: '/api/graph/getInfoTestAdd',
method: 'post',
data:params,
});
};
export const getpoinAll = () => {
return request({
url: '/api/test/test6',
method: 'get',
});
};

56
gyxtp/src/api/api/login.js

@ -0,0 +1,56 @@
import request from "@/utils/request";
// 登录方法
export const loginInfo = (params) => {
return request({
url: '/api/login/doLogin',
method: 'post',
data: params,
});
};
// 注册方法
export function registerInfo(data) {
return request({
url: '/api/login/doRegister',
headers: {
isToken: false
},
method: 'post',
data: data
})
}
// 注册方法
export function getAllClass() {
return request({
url: 'api/login/getAllClass',
method: 'get',
headers:{
'token':localStorage.getItem('token')
}
})
}
export function getUser() {
return request({
url: 'api/login/getUser',
method: 'get',
headers:{
'token':localStorage.getItem('token')
}
})
}
export const updateUser = (params) => {
return request({
url: '/api/login/updateUser',
method: 'post',
data: params,
headers:{
'token':localStorage.getItem('token')
}
});
};

103
gyxtp/src/api/api/tong.js

@ -0,0 +1,103 @@
import request from '@/utils/request';
export const getNumInfo = () => {
return request({
url: '/api/tongji/getNumInfo',
method: 'get',
headers:{
'token':localStorage.getItem('token')
}
});
};
export const getHuoYueInfo = () => {
return request({
url: '/api/tongji/getHuoYueInfo',
method: 'get',
headers:{
'token':localStorage.getItem('token')
}
});
};
export const getHuoYueInfo1 = () => {
return request({
url: '/api/tongji/getHuoYueInfo1',
method: 'get',
headers:{
'token':localStorage.getItem('token')
}
});
};
export const getHuoYueInfo2 = () => {
return request({
url: '/api/tongji/getHuoYueInfo2',
method: 'get',
headers:{
'token':localStorage.getItem('token')
}
});
};
export const getStudyInfo = () => {
return request({
url: '/api/tongji/getStudyInfo',
method: 'get',
headers:{
'token':localStorage.getItem('token')
}
});
};
export const getStudyInfoList = () => {
return request({
url: '/api/tongji/getStudyInfoList',
method: 'get',
headers:{
'token':localStorage.getItem('token')
}
});
};
export const getStudySmartList = () => {
return request({
url: '/api/tongji/getStudySmartList',
method: 'get',
headers:{
'token':localStorage.getItem('token')
}
});
};
export const getSmartAllList = () => {
return request({
url: '/api/tongji/getSmartAllList',
method: 'get',
headers:{
'token':localStorage.getItem('token')
}
});
};
export const getSmartAllInfo = (params) => {
return request({
url: '/api/tongji/getSmartAllInfo',
method: 'get',
params,
headers:{
'token':localStorage.getItem('token')
}
})
}
export const getDocAllInfo = () => {
return request({
url: '/api/tongji/getDocAllInfo',
method: 'get',
});
};

158
gyxtp/src/api/api/train.js

@ -0,0 +1,158 @@
//import axios from '../axios'
import request from '@/utils/request';
/*
* 训练接口
*/
// // 查询训练列表
// export const getNodesLabels = (params) => {
// return request({
// url: '/user/search1',
// method: 'get',
// params
// })
// }
export const getAllTrain = (params) => {
return request({
url: '/api/train/getAllTrain',
method: 'post',
data: params,
headers:{
'token':localStorage.getItem('token')
}
});
};
export const getTrainInfo = (data) => {
return request({
url: '/api/train/getTrainInfo',
method: 'post',
data:data,
headers:{
'token':localStorage.getItem('token')
}
});
};
export const insertsl = (params) => {
return request({
url: '/api/train/insertsl',
method: 'post',
data:params,
headers:{
'token':localStorage.getItem('token')
}
});
};
export const sumbitAnswer = (params) => {
return request({
url: '/api/train/sumbitAnswer',
method: 'post',
data:params,
headers:{
'token':localStorage.getItem('token')
}
});
};
export const updateImgs = (params) => {
return request({
url: '/api/train/updateImgs',
method: 'post',
data:params,
headers:{
'token':localStorage.getItem('token')
}
});
};
export const updateTrainDifficult = (trainId,difficult) => {
return request({
url: '/api/train/updateTrainDifficult/'+trainId+"/"+difficult,
method: 'get',
headers:{
'token':localStorage.getItem('token')
}
})
}
export const updateQuestionDifficult = (questionId,difficult) => {
return request({
url: '/api/train/updateQuestionDifficult/'+questionId+"/"+difficult,
method: 'get',
headers:{
'token':localStorage.getItem('token')
}
})
}
// export const getAllTrainType = (questionId,difficult) => {
// return request({
// url: '/api/train/getAllTrainType',
// method: 'get',
// })
// }
export const jiaojuan = (params) => {
return request({
url: '/api/train/jiaojuan',
method: 'get',
params,
headers:{
'token':localStorage.getItem('token')
}
})
}
export const defen = (params) => {
return request({
url: '/api/train/defen',
method: 'get',
params,
headers:{
'token':localStorage.getItem('token')
}
})
}
export const updateLook = (params) => {
return request({
url: '/api/train/updateLook',
method: 'get',
params,
headers:{
'token':localStorage.getItem('token')
}
})
}
export const getAllInfo = (params) => {
return request({
url: '/api/train/getAllInfo',
method: 'get',
params,
headers:{
'token':localStorage.getItem('token')
}
})
}
export const getAllTrainType = () => {
return request({
url: '/api/train/getAllTrainType',
method: 'get',
headers:{
'token':localStorage.getItem('token')
}
})
}

10
gyxtp/src/api/api/upload.js

@ -0,0 +1,10 @@
//import axios from '../axios'
import request from '@/utils/request';
export const uploadInfo = (params) => {
return request({
url: '/api/updateload/upload',
method: 'post',
data: params,
});
};

45
gyxtp/src/api/material.ts

@ -0,0 +1,45 @@
/*
* @Author:
* @Date: 2024-04-24 14:07:06
* @LastEditors:
* @LastEditTime: 2024-06-12 21:42:00
* @Description:
*/
import qs from 'qs';
import axios from 'axios';
const baseURL = import.meta.env.APP_APIHOST;
const instance = axios.create({ baseURL });
// web详情
export const getWebInfo = () => instance.get('/api/web-site?populate=*');
// 获取素材分类
export const getMaterialTypes = () => instance.get('/api/material-types');
// 获取素材列表
export const getMaterials = (data: any) => instance.get('/api/materials?' + data);
// 获取根据分类获取素材
export const getMaterialsByType = (data: any) =>
instance.get('/api/materials?' + qs.stringify(data));
// 获取字体分类分类
export const getFontStyleTypes = () => instance.get('/api/font-style-types');
// 获取字体素材离别奥列表
export const getFontStyles = (data: any) => instance.get('/api/font-styles?' + data);
// 获取根据分类获取字体样式列表
export const getFontStyleListByType = (data: any) =>
instance.get('/api/font-styles?' + qs.stringify(data));
// 获取字体分类分类
export const getTmplTypes = () => instance.get('/api/templ-types');
// 获取模板列表
export const getTmplList = (data: any) => instance.get('/api/templs?' + data);
// 获取banner
export const getBannerList = (data: any) => instance.get('/api/banners?' + data);

83
gyxtp/src/api/user.ts

@ -0,0 +1,83 @@
/*
* @Author:
* @Date: 2024-04-24 14:07:06
* @LastEditors:
* @LastEditTime: 2024-06-14 16:17:41
* @Description:
*/
import axios from 'axios';
const baseURL = import.meta.env.APP_APIHOST;
const instance = axios.create({ baseURL });
instance.interceptors.request.use(function (config) {
const token = getToken();
if (token) {
config.headers['Authorization'] = `Bearer ${token}`;
}
return config;
});
const tokenKey = 'token';
function getToken() {
const token = localStorage.getItem(tokenKey);
return token;
}
// 详情
export const getUserInfo = (data: any) => instance.get('/api/users/me', data);
// 登录
export const login = (data: any) => instance.post('/api/auth/local', data);
// 注册
export const register = (data: any) => instance.post('/api/auth/local/register', data);
// 登出
export const logout = () => localStorage.setItem(tokenKey, '');
// 自动登录
export const autoLogin = (data: any) => instance.post('/api/custom/autoAuthUser', data);
// 设置token
export const setToken = (token: string) => localStorage.setItem(tokenKey, token);
// 获取个人素材列表
export const getFileList = (data: any) => instance.get('/api/user-materials?populate=*', data);
// 上传素材
export const uploadImg = (data: any) => instance.post('/api/upload', data);
// 创建素材
export const createdMaterial = (data: any) => instance.post('/api/user-materials', data);
// 删除素材
export const removeMaterial = (id: any) => instance.delete('/api/user-materials/' + id);
// 创建模板
export const createdTempl = (data: any) => instance.post('/api/user-templs', data);
// 删除素材
export const removeTempl = (data: any) => instance.delete(`/api/user-templs/${data}`);
// 更新素材
export const updataTempl = (id: any, data: any) => instance.put(`/api/user-templs/${id}`, data);
// 查询素材列表
export const getTmplList = (data: any) => instance.get(`/api/user-templs?${data}`);
// 查询素材列表
export const getTmplInfo = (data: any) => instance.get(`/api/user-templs/${data}`);
// 获取用户树菜单
export const getUserFileTypeTree = () => instance.get(`/api/user-templ/getUerFileTypeTree`);
// 获取菜单树
export const getFileTypeTree = (data: any) =>
instance.get(`/api/custom/getUerFileTypeTree`, {
params: data,
});
// 获取用户树菜单
export const getUerFileTree = () => instance.get(`/api/user-templ/getUerFileTree`);

363
gyxtp/src/assets/css/common.scss

@ -0,0 +1,363 @@
body,h1,h2,h3,h4,h5,h6,hr,p,blockquote,dl,dt,dd,ul,ol,li,pre,form,fieldset,legend,button,input,textarea,th,td {
outline:none;
margin: 0;
padding: 0;
list-style-type:none;
}
i,strong {
font-style: normal;
font-weight: normal;
}
.comtreetable {
padding: 0 0.8vw;
// --------------------------------------表格样式
//.el-table--border {border: none;}
.el-table--border::after {background-color: transparent;}
.el-table__empty-text {color:#D5DDE6;}
.el-table .caret-wrapper {width: auto;}
.el-table td,
.el-table th.is-leaf{border:none !important;border-bottom:1px dashed #063160!important;}
.el-table::before{background-color:transparent !important;}
.el-table--striped .el-table__body tr.el-table__row--striped td,
.el-table,
.el-table__expanded-cell{background:transparent !important;}
.el-table__header,
.el-table th,
.el-table tr {background-color: rgba(13, 46, 122,0) !important; color:#00A2F6;font-size: 1.3vh;}
// 隔行换色
.el-table .el-table__row.el-table__row--striped{background-color:rgba(13, 46, 122,0) !important;}
.el-table tbody tr{background-color:rgba(13, 46, 122,0) !important;color:#D5DDE6;}
.el-table .el-table tbody tr.el-table__row{background-color:rgba(13, 46, 122,0) !important;color:#D5DDE6;}
// 鼠标划过
.el-table__body tr:hover td{
background-color: rgba(13, 46, 122,0.6) !important;color:#fff;
}
.el-table__body .hover-row td {
background-color: rgba(13, 46, 122,0) !important;color:#fff;
}
//.el-table--border th.gutter:last-of-type {
// border: none!important;
//}
.el-table__expand-icon {
color: #fff;
}
}
// 公用表格样式
.comtable {
height: 100%;
// --------------------------------------表格样式
.el-table--border {border-color: #225F99;}
.el-table--border::after {background-color: transparent;}
.el-table__empty-text {color:#D5DDE6;}
.el-table .caret-wrapper {width: auto;}
.el-table td,
.el-table th.is-leaf{border-color: #225F99;}
.el-table::before{background-color:transparent !important;}
.el-table--striped .el-table__body tr.el-table__row--striped td,
.el-table,
.el-table__expanded-cell{background:transparent !important;}
.el-table__header,
.el-table th,
.el-table tr {background-color: rgba(3, 68, 126, 0.4) !important; color:#eee;font-size: 1.2vh;}
// 隔行换色
.el-table .el-table__row.el-table__row--striped{background-color:rgba(3, 68, 126, 0) !important;}
.el-table tbody tr{background-color:rgba(3, 68, 126, 0) !important;color:#D5DDE6;}
.el-table .el-table tbody tr.el-table__row{background-color:rgba(3, 68, 126, 0) !important;color:#D5DDE6;}
// 高亮当前行
.el-table__body tr.current-row>td {
background-color: rgba(9, 81, 131, 0.6) !important;color:#fff;
}
// 鼠标划过
.el-table__body tr:hover td{
background-color: rgba(9, 81, 131, 0.6) !important;color:#fff;
}
.el-table__body .hover-row td {
background-color: rgba(9, 81, 131, 0.6) !important;color:#fff;
}
.el-table__fixed-right::before,
.el-table__fixed::before {
display: none;
}
.el-table__fixed-right-patch {
display: none;
}
.el-table--border th.gutter:last-of-type {
border-color: #225F99;
}
.el-table--border {
border: 1px solid #225F99!important;
}
.el-button {
padding: 0;
min-height: 0;
}
// -----------------------------------------------翻页样式
.el-pagination{
text-align: right!important;
padding: 1vh 0;
}
.el-pager li,
.el-pagination .btn-prev,
.el-pagination .btn-next,
.el-pager li.btn-quicknext,
.el-pager li.btn-quickprev {
font-size: 1.1vh !important;
margin-right: 0.5vw !important;
border: 1px solid #225F99 !important;
border-radius: 5px !important;
color: #8D9BAC !important;
background-color: #03447E !important;
&:hover {
background: #00AFFF !important;
color: #fff !important;
}
}
.el-pager li.active {
background: #00AFFF !important;
color: #fff !important;
border: 1px solid #00AFFF !important;
}
.el-pagination .el-select .el-input .el-input__inner,
.el-pagination__editor.el-input .el-input__inner{
border: 1px solid #225F99 !important;
background: #03447E !important;
color: #fff !important;
}
.el-pagination__sizes {
.el-input__inner{
height: 22px !important;
}
.el-input--mini .el-input__icon {
line-height: 22px !important;
}
}
.el-pagination button,
.el-pagination span:not([class*=suffix]) {
font-size: 1.1vh !important;
color:#00AFFF !important;
}
}
// --------------------------------------滚动条样式
.page_scroll, .el-table__body-wrapper, .el-textarea__inner{
&::-webkit-scrollbar {
width: 6px;
height: 6px;
}
// 滚动槽
&::-webkit-scrollbar-track {
border-radius:10px;
}
// 滚动条的滑块
&::-webkit-scrollbar-thumb {
background-color: rgba(9, 81, 125,0.5);
border-radius: 3px;
}
// 滚动条交汇处
&::-webkit-scrollbar-corner {
background-color: rgba(9, 81, 125,0.5);
}
}
// --------------------------------------弹窗样式
//.el-dialog {
// background-color:#021a42 !important;
// box-shadow: 0px 0px 0px 1px #00a2ff !important;
//}
//.el-dialog .el-dialog__header {
// padding-top:8px;
// padding-bottom:8px;
// background-color:#01437b;
//}
//.el-dialog .el-dialog__header .el-dialog__title {
// color:#2fd5ff;
//}
//.el-dialog .el-dialog__header .el-dialog__headerbtn {
// top:10px;
// right:12px;
//}
//.el-dialog .el-dialog__body {
// padding: 2vh 1vw;
//}
//.el-dialog .el-dialog__footer {
// padding:10px 20px;
// box-shadow: 0px -1px 0px #084171 !important;
// background-color:#052253;
// .el-button--primary {
// background-color: #01437b;
// }
//}
// -----------------------------------------表单样式
.el-form {
.el-input,.el-select {
margin-right: 0.8vw;
.el-input__prefix,.el-input__icon {
line-height: 4vh!important;
}
}
.el-input__inner,.el-input-group__append {
height: 4vh!important;
line-height: 4vh!important;
background: rgba(1, 31, 80, 0.6);
border: 1px solid #016AB6;
color: #fff;
}
.el-textarea__inner {
background: rgba(1, 31, 80, 0.6);
border: 1px solid #016AB6;
color: #fff;
}
.el-input__inner:hover,.el-textarea__inner:hover {
border: 1px solid #409EFF!important;
}
.el-form-item__label {
font-size: 1.3vh!important;
color: #fff;
}
.el-switch__label {
color: #D5DDE6!important;
}
.el-switch__label.is-active {
color: #00AFFF!important;
}
}
// --------------------------------消息框样式
.el-message-box {
background-color:#021a42 !important;
box-shadow: 0px 0px 0px 1px #00a2ff !important;
border: none !important;
}
.el-message-box .el-message-box__header {
padding-top:8px;
padding-bottom:8px;
background-color:#01437b;
}
.el-message-box .el-message-box__header .el-message-box__title {
color:#2fd5ff;
}
.el-message-box .el-message-box__header .el-message-box__headerbtn {
top:10px;
right:12px;
}
.el-message-box .el-message-box__content {
padding: 2vh 1vw;
color: #fff;
}
.el-message-box .el-message-box__btns {
.el-button--primary {
background-color: #01437b;
}
}
// -------------------------------时间选择器样式
.el-date-editor.el-input__inner {
background: rgba(1, 31, 80, 0.6);
border: 1px solid #016AB6;
color: #fff;
height: 4vh!important;
line-height: 4vh!important;
}
.el-date-editor.el-input__inner:hover {
border: 1px solid #409EFF!important;
}
.el-date-editor {
.el-range__icon {
color: #fff;
}
.el-input__prefix,.el-input__icon {
height: 4vh!important;
line-height: 4vh!important;
}
.el-range-input {
background-color: rgba(2, 55, 112,0)!important;
color: #fff!important;
border-radius: 4px;
}
.el-date-editor {
padding-left: 0;
padding-right: 0;
}
.el-range-separator {
color: #00AFFF!important;
margin: 0 0vw!important;
height: 4vh!important;
line-height: 4vh!important;
}
}
// -------------------------------流星动画效果
@keyframes star-ani {
0% {
opacity: 0;
transform: scale(0) translate3d(0, 0, 0);
}
20%{
opacity: 0.8;
transform: scale(0.2) translate3d(0px, 5.5vh, 5.5vh);
}
40% {
opacity: 0.8;
transform: scale(0.4) translate3d(0px, 11vh, 11vh);
}
60% {
opacity: 0.8;
transform: scale(0.6) translate3d(0px, 16.5vh, 16.5vh);
}
80% {
opacity: 1;
transform: scale(1) translate3d(0px, 22vh, 22vh);
}
100% {
opacity: 1;
transform: scale(1.2) translate3d(0px, 27.5vh, 27.5vh);
}
}
.labelcheck {
.el-checkbox {
color: #d5d5d5;
.el-checkbox__label {
font-size: 1.2vh;
}
}
.el-checkbox__inner {
border: 1px solid #009CE7!important;
background: #023663!important;
}
.el-checkbox__input.is-checked+.el-checkbox__label {
color: #00AFFF;
}
}
.dia-search {
.el-input .el-input__inner{
border: 1px solid #225F99 !important;
background: #03447E !important;
color: #fff !important;
}
}
// vue3-json-viewer样式
.jv-container.jv-light {
background: transparent!important;
overflow: auto;
height: 100%;
}
.jv-container.jv-light .jv-item.jv-object {
color: #01BBDF!important;
}
.jv-container.jv-light .jv-key {
color: #01BBDF!important;
}
.jv-container.jv-light .jv-item.jv-array {
color: #01BBDF!important;
}
.jv-container.jv-light .jv-ellipsis {
background-color: #01BBDF!important;
color: #fff!important;
}
.jv-node:after {
color: #01BBDF!important;
}
.jv-container .jv-toggle {
background-image: url('./assets/img/caret.png')!important;
}

25099
gyxtp/src/assets/css/elmain.css

File diff suppressed because it is too large

49
gyxtp/src/assets/css/main.css

@ -0,0 +1,49 @@
* {
margin: 0;
padding: 0;
}
html,
body,
#app,
.wrapper {
width: 100%;
height: 100%;
overflow: hidden;
}
body {
font-family: 'PingFang SC', "Helvetica Neue", Helvetica, "microsoft yahei", arial, STHeiTi, sans-serif;
}
a {
text-decoration: none
}
.content-box {
position: absolute;
left: 0;
right: 0;
top: 6vh;
bottom: 0;
-webkit-transition: left .3s ease-in-out;
transition: left .3s ease-in-out;
background: #021329;
font-size: 1.8vh;
}
.content {
width: auto;
height: calc(100vh - 6vh);
padding: 1vw;
box-sizing: border-box;
}
.container {
height: 100%;
}
.homebox {
color: #fff;
}

603
gyxtp/src/assets/css/vis.css

@ -0,0 +1,603 @@
body {
font-family: "Helvetica Neue", "Microsoft YaHei", "Hiragino Sans GB",
"WenQuanYi Micro Hei", "Helvetica", "Arial", "Sans-serif";
background: #ffffff;
}
.navbar {
min-height: 34px;
border-radius: 0;
margin-bottom: 0;
background: #385380;
}
.navbar-inverse {
border-color: #385380;
color: #fff;
height: 36px;
}
.navbar-brand {
padding: 2px 5px;
height: 34px;
}
.navbar-right > .dropdown {
height: 35px;
}
.navbar-nav > li > a {
padding-top: 5px;
padding-bottom: 5px;
}
.navbar-inverse .navbar-nav > li:hover {
background-color: #000;
height: 35px;
}
.navbar-inverse .navbar-nav > li > a {
color: #fff;
}
.dropdown-menu .divider {
margin: 4px 0;
}
.studio-header {
margin: 0 0 20px;
border-bottom: 1px solid #ddd;
background-color: #fff;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
height: 28px;
}
.studio-header .header-title {
float: left;
width: auto;
max-width: 60%;
margin-left: 15px;
}
.studio-header .header-control-middle {
margin-left: 30px;
width: auto;
float: left;
}
.studio-header .header-control-right {
width: auto;
float: right;
margin-right: 15px;
}
.studio-header .header-control-right .nav > li > a {
padding: 4px 15px;
border-radius: 0;
font-size: 14px;
color: #333;
}
.studio-header .header-control-right .nav > li > a:hover {
background-color: #5d5c5c;
color: #fff;
cursor: pointer;
}
.studio-header .header-title h1 {
font-size: 14px;
margin: 6px 0;
}
.studio-header .header-title h1 i {
margin-right: 6px;
}
.studio-header-button {
font-size: 14px;
padding: 4px 5px;
float: left;
}
.schema-bt {
float: right;
}
.studio-header .btn-group-sm > .btn,
.btn-sm {
padding: 3px 10px;
}
.btn-default {
background-image: none;
}
.studio-header .header-title p {
color: #666;
}
.studio-header .btn-link {
color: #333;
}
.studio-header .btn-link:hover,
.studio-header .btn-link:focus {
background-color: #ddd;
color: #3071a9;
text-decoration: none;
}
td > button.btn {
padding: 3px 6px;
margin-left: 4px;
}
.page-title {
font-size: 18px;
margin-bottom: 10px;
margin-top: 10px;
color: inherit;
font-family: inherit;
font-weight: 500;
line-height: 1.1;
}
.modal-header {
border-bottom: none;
padding-left: 50px;
}
.modal-footer {
border-top: none;
}
.modal-content {
border-radius: 0;
background-color: #fff;
}
.modal-body {
padding: 0 50px;
}
.modal-footer {
text-align: center;
}
.card {
font-size: 14px;
padding: 3px 0;
}
.card .panel {
margin-bottom: 0;
border-radius: 2px;
}
.card .panel .panel-body {
padding: 5px 10px;
height: 100%;
}
.card .btn-link {
color: #333;
}
.card .btn-link:hover,
.card .btn-link:focus {
background-color: #ddd;
color: #3071a9;
text-decoration: none;
}
.card-editor {
height: auto;
}
.card-para {
display: none;
}
.card-para .form-control {
width: auto;
}
.card-para .form-group {
margin-bottom: 8px;
}
.card-content-toolbox {
margin-bottom: 8px;
}
.card-content {
height: auto;
}
.card-footer {
padding: 5px;
font-size: 12px;
color: #ccc;
}
.card-add:hover .card-add-line {
border-bottom: 1px solid #ddd;
}
.card-add-btn {
text-align: center;
margin-top: -15px;
}
.card-add-line {
width: 100%;
height: 15px;
}
.schema-view {
background-color: #fff;
margin-top: -19px;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
margin-bottom: 20px;
min-height: 100px;
}
.graph {
width: 100%;
}
.bootstrap-select .dropdown-toggle:focus {
outline: none !important;
}
.bootstrap-select .dropdown-toggle:focus li.selected {
outline: none !important;
}
li.selected {
outline: none !important;
}
.bootstrap-select a:focus {
outline: none;
outline-offset: -2px;
}
.bootstrap-select .dropdown-menu {
font-size: 12px;
}
.connection-header {
float: right;
padding-bottom: 10px;
}
.connection-header button span {
margin-left: 5px;
}
form {
font-size: 14px !important;
}
.has-error {
border-color: #a94442;
box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
}
.form-err-message {
color: #a94442;
margin-top: 5px;
}
.alert-message {
margin-top: 20px;
text-align: center;
}
.dropdown > a {
color: #333;
}
.full-screen {
margin-top: -3px;
}
.full-screen-col-md-12 {
padding: 0 0;
}
.tab-content {
padding-top: 5px;
padding-bottom: 5px;
}
.code-content {
overflow-y: scroll;
overflow-x: scroll;
height: 250px;
word-wrap: break-word;
word-break: break-all;
}
.card-content .alert {
/*padding: 0!important;*/
margin-bottom: 0 !important;
}
.html-content {
padding: 0 5px 0 5px;
word-wrap: break-word;
word-break: normal;
}
.progress-wrapper {
height: 80px;
width: 80px;
margin: auto;
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
}
.schema {
padding-top: 5px;
}
.schema h5 {
margin-left: 10px;
}
.schema-span {
min-width: 50px;
margin: 0 5px;
display: inline-block;
}
.schema-box {
border-top: 1px solid #ddd;
padding: 5px;
width: 100%;
}
.schema-container {
padding-bottom: 20px;
}
.schema-container .label {
padding: .3em .6em .3em !important;
}
.vis-tooltip {
padding: 10px 10px !important;
white-space: nowrap;
font-family: Sans-serif !important;
font-size: 12px !important;
font-variant: normal !important;
font-weight: normal !important;
font-stretch: normal !important;
/* opacity: .8; */
color: #ddd !important;
background-color: rgba(40, 40, 40, .8) !important;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px !important;
border: 1px solid #666 !important;
box-shadow: 0px 0px 5px rgba(255, 255, 255, .2) !important;
pointer-events: none !important;
z-index: 999 !important;
transition: left .4s cubic-bezier(.23, 1, .32, 1),
top .4s cubic-bezier(.23, 1, .32, 1) !important;
}
.tooltips-label {
font-weight: 800 !important;
}
.data_label {
display: inline-block;
color: #eee;
font-weight: 700;
margin-left: 0.8vw;
}
.round-red {
width: 10px;
height: 10px;
display: inline-block;
font-size: 10px;
line-heigth: 10px;
text-align: center;
color: #f00;
text-decoration: none;
}
.round-gray {
width: 10px;
height: 10px;
display: inline-block;
font-size: 10px;
line-heigth: 10px;
text-align: center;
color: #ccc;
text-decoration: none;
}
.react-tabs .nav > li > a {
padding: 5px 10px;
color: #5d5c5c;
border-radius: 3px;
}
.react-tabs .nav > li > a:hover {
cursor: pointer;
}
.react-tabs .nav-pills > li.active > a,
.nav-pills > li.active > a:focus,
.nav-pills > li.active > a:hover {
color: #fff;
background-color: #8a8989;
}
.err_msg h5 {
margin-top: 5px;
}
.err_title .detail {
min-width: 50px;
display: inline-block;
margin-left: 5px;
padding: .2em .6em .2em;
}
.err_title .detail:hover {
background-color: #5d5c5c;
color: #fff;
cursor: pointer;
}
.err_title {
padding-bottom: 5px;
}
.detailed_err_msg {
border-top: 1px #a2a0a0 dashed;
padding-top: 5px;
color: #000;
word-wrap: break-word;
}
.property_name_span {
margin-right: 5px;
font-weight: 700;
}
.property_value_span {
margin-left: 5px;
word-wrap: break-word;
}
.loading-backdrop {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 1040;
background: rgba(0, 0, 0, 0.7);
opacity: .3;
transition: color .4s, border-color .4s;
overflow-x: hidden;
overflow-y: auto;
}
.loading-image {
width: 80px;
height: 80px;
z-index: 2040;
}
/* vis */
div.vis-network div.vis-navigation div.vis-button {
border-radius: 0;
width: 30px;
height: 30px;
display: none;
}
div.vis-network:hover div.vis-navigation div.vis-button {
display: block;
}
div.vis-network div.vis-navigation div.vis-button:hover {
box-shadow: none!important;
background-color: transparent!important;
}
div.vis-network div.vis-navigation div.vis-button:active {
box-shadow: none!important;
background-color: transparent!important;
}
div.vis-network div.vis-navigation div.vis-button.vis-zoomIn {
background-image: url(../img/zoom-in.png) !important;
background-repeat: no-repeat;
background-position: 50% 50%;
background-size: 16px 16px;
bottom: 60px !important;
right: 2px !important;
opacity: .5;
}
div.vis-network div.vis-navigation div.vis-button.vis-zoomOut {
background-image: url(../img/zoom-out.png) !important;
background-size: 16px 16px;
background-repeat: no-repeat;
background-position: 50% 50%;
bottom: 30px !important;
right: 2px !important;
opacity: .5;
}
div.vis-network div.vis-navigation div.vis-button.vis-zoomExtends {
background-image: url(../img/shrink.png) !important;
background-size: 16px 16px;
background-repeat: no-repeat;
background-position: 50% 50%;
bottom: 0px !important;
right: 2px !important;
opacity: .5;
}
div.vis-network div.vis-navigation div.vis-button.vis-up {
display: none;
}
div.vis-network div.vis-navigation div.vis-button.vis-down {
display: none;
}
div.vis-network div.vis-navigation div.vis-button.vis-left {
display: none;
}
div.vis-network div.vis-navigation div.vis-button.vis-right {
display: none;
}
.path_value {
margin-left: 5px;
margin-right: 5px;
padding-left: 5px;
padding-right: 5px;
}
.query_panel_language {
padding: 5px 12px;
margin: 1px;
}
.alert-list {
margin-top: 140px;
position: fixed;
z-index: 99999;
width: 60%;
margin-left: auto;
margin-right: auto;
left: 0px;
right: 0px;
}
.alert-text {
word-wrap : break-word;
}
.vis-network:focus {
outline: none!important;
}

30
gyxtp/src/assets/defaultConfig.js

@ -0,0 +1,30 @@
export const config = {
background:'40,47,183',
node: { //节点的默认配置
label: { //标签配置
show: false, //是否显示
color: '20,20,20', //字体颜色
font: 'normal 30px Arial', //字体大小及类型
textPosition: 'Bottom_Center' //文字位置 Top_Center,Bottom_Center,Middle_Right,Middle_Center
},
shape: 'circle',
showLabel:false,
},
link: { //连线的默认配置
label: { //连线标签
show: true, //是否显示
color: '255,255,255', //字体颜色
font: 'normal 13px Arial', //字体大小及类型
//background:'220,220,220' //标签背景色
},
lineType: 'direct', //连线类型,direct,curver,vlink,hlink,vbezier,hbezier,bezier
colorType: 'defined', //连线颜色类型 source:继承source颜色,target:继承target颜色 both:用双边颜色,defined:自定义
alpha: 1, // 连线透明度
showArrow: true, //显示连线箭头
},
lineColor:'202,202,202',
layerName:'frDirect',
wheelZoom: 0.8, //开启鼠标滚轮缩放
highLightNeiber: false //相邻节点高亮开关
}

9269
gyxtp/src/assets/demo2.js

File diff suppressed because it is too large

175
gyxtp/src/assets/demo3.js

@ -0,0 +1,175 @@
export const demoData = {
"nodes":[
{
"id":"123456",
"label":"爱妃术有限公司",
"color":"233,120,120",
"type":"公司",
"properties":{
"attributes":[
{"name":"属性一","type":"字符型","unit":"项"},
{"name":"属性二","type":"数值型","unit":"个"},
{"name":"属性三","type":"字符型","unit":"次"}
]
}
},
{
"id":"2222",
"label":"山东暗访十年有限公司",
"color":"233,120,120",
"type":"公司",
"properties":{
"attributes":[
{"name":"属性一","type":"字符型","unit":"项"},
{"name":"属性二","type":"数值型","unit":"个"},
{"name":"属性三","type":"字符型","unit":"次"}
]
}
},
{
"id":"3333",
"label":"山东阿萨德集团有限公司",
"color":"233,120,120",
"type":"公司",
"properties":{
"attributes":[
{"name":"属性一","type":"字符型","unit":"项"},
{"name":"属性二","type":"数值型","unit":"个"},
{"name":"属性三","type":"字符型","unit":"次"}
]
}
},
{
"id":"4444",
"label":"贾墀臭",
"color":"120,120,233",
"type":"公司员工",
"properties":{
"attributes":[
{"name":"属性一","type":"字符型","unit":"项"}
]
}
},
{
"id":"5555",
"label":"邓愍摸",
"color":"120,233,120",
"type":"公司高管",
"properties":{
"attributes":[
{"name":"属性一","type":"字符型","unit":"项"},
{"name":"属性二","type":"数值型","unit":"个"}
]
}
},
{
"id":"6666",
"label":"邓哿薪",
"color":"120,233,120",
"type":"公司高管",
"properties":{
"attributes":[
{"name":"属性一","type":"字符型","unit":"项"},
{"name":"属性二","type":"数值型","unit":"个"}
]
}
},
{
"id":"7777",
"label":"孟断簏",
"color":"120,120,233",
"type":"公司员工",
"properties":{
"attributes":[
{"name":"属性一","type":"字符型","unit":"项"}
]
}
}
],
"links":[
{
"id":"e111",
"source":"3333",
"target":"123456",
"label":"子公司",
"properties":{
"attributes":[
{"name":"关系属性","type":"字符型","unit":"项"}
]
}
},
{
"id":"e222",
"source":"3333",
"target":"4444",
"label":"雇员",
"properties":{
"attributes":[
{"name":"关系属性","type":"字符型","unit":"项"}
]
}
},
{
"id":"e333",
"source":"2222",
"target":"7777",
"label":"员工",
"properties":{
"attributes":[
{"name":"关系属性","type":"字符型","unit":"项"}
]
}
},
{
"id":"e444",
"source":"3333",
"target":"7777",
"label":"员工",
"properties":{
"attributes":[
{"name":"关系属性","type":"字符型","unit":"项"}
]
}
},
{
"id":"e555",
"source":"3333",
"target":"2222",
"label":"投资",
"properties":{
"attributes":[
{"name":"关系属性","type":"字符型","unit":"项"}
]
}
},
{
"id":"e666",
"source":"2222",
"target":"3333",
"label":"子公司"
},
{
"id":"e777",
"source":"2222",
"target":"6666",
"label":"股东"
},
{
"id":"e888",
"source":"3333",
"target":"6666",
"label":"董事长",
"properties":{
"attributes":[
{"name":"关系属性","type":"字符型","unit":"项"}
]
}
},
{
"id":"e999",
"source":"2222",
"target":"5555",
"label":"总经理"
}
]
};

BIN
gyxtp/src/assets/images/1.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 420 KiB

BIN
gyxtp/src/assets/images/circle.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

BIN
gyxtp/src/assets/images/close.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 203 KiB

BIN
gyxtp/src/assets/images/icon.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

BIN
gyxtp/src/assets/images/icon1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

BIN
gyxtp/src/assets/img/back1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

BIN
gyxtp/src/assets/img/bg.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 528 KiB

BIN
gyxtp/src/assets/img/caret.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
gyxtp/src/assets/img/header-bg.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

BIN
gyxtp/src/assets/img/kuang.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

BIN
gyxtp/src/assets/img/list.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

BIN
gyxtp/src/assets/img/logo.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

BIN
gyxtp/src/assets/img/search.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
gyxtp/src/assets/img/shrink.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
gyxtp/src/assets/img/tag.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 553 B

BIN
gyxtp/src/assets/img/text_bg.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 443 B

BIN
gyxtp/src/assets/img/time.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 690 B

BIN
gyxtp/src/assets/img/title-bg.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

BIN
gyxtp/src/assets/img/zoom-in.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
gyxtp/src/assets/img/zoom-out.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
gyxtp/src/assets/img1/QA-bg.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 872 KiB

BIN
gyxtp/src/assets/img1/answerBiao.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

BIN
gyxtp/src/assets/img1/answerDown.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
gyxtp/src/assets/img1/answerbg.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

BIN
gyxtp/src/assets/img1/assistant-avatar.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

BIN
gyxtp/src/assets/img1/backGraph.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 553 B

BIN
gyxtp/src/assets/img1/bg.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 495 KiB

BIN
gyxtp/src/assets/img1/bg.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

BIN
gyxtp/src/assets/img1/biaoqian.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

BIN
gyxtp/src/assets/img1/border.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

BIN
gyxtp/src/assets/img1/box-bg.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

BIN
gyxtp/src/assets/img1/chat1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

BIN
gyxtp/src/assets/img1/chat2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

BIN
gyxtp/src/assets/img1/chat3.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
gyxtp/src/assets/img1/chatgang.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 B

BIN
gyxtp/src/assets/img1/docListBg.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1001 KiB

BIN
gyxtp/src/assets/img1/docbg.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 413 KiB

BIN
gyxtp/src/assets/img1/docbg.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

BIN
gyxtp/src/assets/img1/docbg1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 872 KiB

BIN
gyxtp/src/assets/img1/down.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 B

BIN
gyxtp/src/assets/img1/false.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

BIN
gyxtp/src/assets/img1/finish.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

BIN
gyxtp/src/assets/img1/gang.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 B

BIN
gyxtp/src/assets/img1/graphback.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 KiB

BIN
gyxtp/src/assets/img1/graphback.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
gyxtp/src/assets/img1/hh.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

BIN
gyxtp/src/assets/img1/info.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 721 B

BIN
gyxtp/src/assets/img1/inputBorder.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

BIN
gyxtp/src/assets/img1/knowledge-img.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 KiB

BIN
gyxtp/src/assets/img1/left.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

BIN
gyxtp/src/assets/img1/list.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 752 KiB

BIN
gyxtp/src/assets/img1/listQian.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1001 B

BIN
gyxtp/src/assets/img1/listSearch.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
gyxtp/src/assets/img1/logo.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

BIN
gyxtp/src/assets/img1/logo1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

BIN
gyxtp/src/assets/img1/logo2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

BIN
gyxtp/src/assets/img1/logoG.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

BIN
gyxtp/src/assets/img1/logout.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

BIN
gyxtp/src/assets/img1/return.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

BIN
gyxtp/src/assets/img1/row-border.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

BIN
gyxtp/src/assets/img1/search.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 605 B

BIN
gyxtp/src/assets/img1/search2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 877 B

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save