home.vue 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342
  1. <template>
  2. <div style="background-color:#000928;width:100%;height:100%">
  3. <div class="header"></div>
  4. <div class="left_content">
  5. <div style="width:93%;height:100%;padding-left:5%">
  6. <div :class="{active:showTable == 8 && menuShow == 0}" @click="showTable = 8;menuShow= 0" class="icon_class">
  7. <div class="icon_content">
  8. <img class="icon_image" src="../assets/picture/home.png"/>
  9. </div>
  10. <div>
  11. <div class="icon_title">首页</div>
  12. </div>
  13. </div>
  14. <div :class="{active:showTable == 6 && menuShow == 0}" class="icon_class" @click="showTable = 6;menuShow= 0">
  15. <div class="icon_content">
  16. <img class="icon_image" src="../assets/picture/scb.png"/>
  17. </div>
  18. <div>
  19. <div class="icon_title">硫含量超标船舶管理</div>
  20. </div>
  21. </div>
  22. <div :class="{active:showTable == 1 && menuShow == 0}" class="icon_class" @click="showTable = 1;menuShow= 0">
  23. <div class="icon_content">
  24. <img class="icon_image" src="../assets/picture/exhaust.png"/>
  25. </div>
  26. <div>
  27. <div class="icon_title">船舶尾气黑烟抓拍</div>
  28. </div>
  29. </div>
  30. <div :class="{active:showTable == 4 && menuShow == 0}" class="icon_class" @click="showTable = 4;menuShow= 0">
  31. <div class="icon_content">
  32. <img class="icon_image" src="../assets/picture/statistics.png"/>
  33. </div>
  34. <div>
  35. <div class="icon_title">统计分析</div>
  36. </div>
  37. </div>
  38. <div class="userDiv" :class="{active:menuShow == 2}" @click="menuShow = 2">
  39. <el-popover
  40. placement="right"
  41. style="opacity: 0"
  42. trigger="click"
  43. >
  44. <div class="userContent">
  45. <div index="1" :class="{menu:showTable == 11}" target="showHere" class="menu_title" @click="showTable =11">
  46. <i class="el-icon-s-custom"></i>
  47. <span> 嗅探设备</span>
  48. </div>
  49. <div index="2" :class="{menu:showTable == 10}" class="menu_title" @click="showTable =10">
  50. <i class="el-icon-user"></i>
  51. <span> 光谱设备</span>
  52. </div>
  53. <div index="3" :class="{menu:showTable == 9}" class="menu_title" @click="showTable =9">
  54. <i class="el-icon-document"></i>
  55. <span> 黑烟设备</span>
  56. </div>
  57. </div>
  58. <div class="icon_class" slot="reference">
  59. <div class="icon_content">
  60. <img class="icon_image" src="../assets/picture/equipment.png"/>
  61. </div>
  62. <div>
  63. <div class="icon_title">设备管理</div>
  64. </div>
  65. </div>
  66. </el-popover>
  67. </div>
  68. <div class="userDiv" :class="{active:menuShow == 1}" @click="menuShow = 1">
  69. <el-popover
  70. placement="right"
  71. style="opacity: 0"
  72. trigger="click"
  73. >
  74. <div class="userContent">
  75. <div index="1" :class="{menu:showTable == 2}" class="menu_title" @click="showTable =2">
  76. <i class="el-icon-s-custom"></i>
  77. <span> 用户管理</span>
  78. </div>
  79. <!-- <div index="2" :class="{menu:showTable == 7}" class="menu_title" @click="showTable =7">-->
  80. <!-- <i class="el-icon-user"></i>-->
  81. <!-- <span> 角色管理</span>-->
  82. <!-- </div>-->
  83. <div index="3" :class="{menu:showTable == 3}" class="menu_title" @click="showTable =3">
  84. <i class="el-icon-document"></i>
  85. <span> 机构管理</span>
  86. </div>
  87. <div index="4" :class="{menu:showTable == 5}" class="menu_title" @click="showTable =5">
  88. <i class="el-icon-setting"></i>
  89. <span> 登录日志</span>
  90. </div>
  91. </div>
  92. <div class="icon_class" slot="reference">
  93. <div class="icon_content">
  94. <img class="icon_image" src="../assets/picture/user.png"/>
  95. </div>
  96. <div>
  97. <div class="icon_title">用户管理</div>
  98. </div>
  99. </div>
  100. </el-popover>
  101. </div>
  102. </div>
  103. </div>
  104. <div style="position: absolute;right: 0;color: #3FC9FD;top: 28rem;font-size: 9rem;">
  105. <div style="display: inline-block;margin-right:6rem"><a :href="gosubsys('http://198.17.188.2','','',1)"><img style="width:20px;vertical-align: middle;margin-right:2px" src="../assets/images/txsb_selected@2x.png"/>光谱</a></div>
  106. <div style="display: inline-block;margin-right:6rem"><a :href="gosubsys('http://198.17.188.2:83/index','js_admin','js@123456',1)"><img style="width:20px;vertical-align: middle;margin-right:2px" src="../assets/images/gpsb@2x.png"/>嗅探</a></div>
  107. <div style="display: inline-block;margin-right:20rem"><a :href="gosubsys('http://198.17.188.6:8090','admin','word',1)"><img style="width:20px;vertical-align: middle;margin-right:2px" src="../assets/images/heiyan@2x.png"/>黑烟</a></div>
  108. </div>
  109. <div class="center_content">
  110. <xtTable v-show="showTable == 1"></xtTable>
  111. <userTable v-if="showTable==2"></userTable>
  112. <deptTable v-if="showTable==3"></deptTable>
  113. <statisticalTable v-if="showTable==4"></statisticalTable>
  114. <logininforTable v-if="showTable==5"></logininforTable>
  115. <liuTable v-if="showTable==6"></liuTable>
  116. <roleTable v-if="showTable==7"></roleTable>
  117. <homeTable v-if="showTable==8"></homeTable>
  118. <!-- 9黑烟;10光谱http://101.133.159.237:8087/device.html?opt=1;11嗅探 -->
  119. <iframe style="height:350rem;width:100%" v-show="showTable==9" marginwidth="0" marginheight="0" vspace="0"
  120. hspace="0" allowtransparency="true" scrolling="no" allowfullscreen="true" frameborder="0" name="showHere"
  121. src="http://198.17.23.29:8091/?opt=1"
  122. ></iframe>
  123. <iframe style="height:350rem;width:100%" v-show="showTable==10" marginwidth="0" marginheight="0" vspace="0"
  124. hspace="0" allowtransparency="true" scrolling="no" allowfullscreen="true" frameborder="0" name="showHere"
  125. src="http://198.17.25.32:9001/device.html?opt=1"
  126. ></iframe>
  127. <iframe style="height:350rem;width:100%" v-show="showTable==11" marginwidth="0" marginheight="0" vspace="0"
  128. hspace="0" allowtransparency="true" scrolling="no" allowfullscreen="true" frameborder="0" name="showHere"
  129. src="http://198.17.188.2:81/?opt=1"
  130. ></iframe>
  131. </div>
  132. <!-- <div v-show="showUserMenu" class="userContent">
  133. <div index="1" class="menu_title" @click="showTable =2">
  134. <i class="el-icon-s-custom"></i>
  135. <span>用户管理</span>
  136. </div>
  137. <div index="2" class="menu_title" @click="showTable =2">
  138. <i class="el-icon-user"></i>
  139. <span>角色管理</span>
  140. </div>
  141. <div index="3" class="menu_title" @click="showTable =3">
  142. <i class="el-icon-document"></i>
  143. <span>机构管理</span>
  144. </div>
  145. <div index="4" class="menu_title" @click="showTable =5">
  146. <i class="el-icon-setting"></i>
  147. <span>登录日志</span>
  148. </div>
  149. </div> -->
  150. </div>
  151. </template>
  152. <script>
  153. import xtTable from './components/table/xtTable.vue'
  154. import userTable from './components/table/userTable.vue'
  155. import deptTable from './components/table/deptTable.vue'
  156. import roleTable from './components/table/roleTable.vue'
  157. import statisticalTable from './components/table/statisticalTable.vue'
  158. import logininforTable from './monitor/logininfor/index.vue'
  159. import liuTable from './components/table/liuTable.vue'
  160. import homeTable from './components/table/homeTable.vue'
  161. import {Encrypt} from "../utils/ruoyi.js";
  162. export default {
  163. name: 'index',
  164. components: {
  165. xtTable,
  166. userTable,
  167. deptTable,
  168. roleTable,
  169. statisticalTable,
  170. logininforTable,
  171. liuTable,
  172. homeTable //在此处注册
  173. },
  174. data() {
  175. return {
  176. // 版本号
  177. version: '3.6.0',
  178. showUserMenu: false,
  179. showTable: 8,
  180. menuShow: 0
  181. }
  182. },
  183. mounted: function () {
  184. const CryptoJS = require("crypto-js"); //引用AES源码js
  185. var jsons = {
  186. "username": "",
  187. "password": "",
  188. "timestamp": Date.parse(new Date()) / 1000,
  189. "optauth": 1
  190. }
  191. console.log(jsons);
  192. console.log("code=" + encodeURIComponent(CryptoJS.enc.Base64.stringify(CryptoJS.enc.Hex.parse(Encrypt(JSON.stringify(jsons))))));
  193. },
  194. methods: {
  195. gosubsys(url, username = "", password = "", opt = 1) {
  196. const CryptoJS = require("crypto-js"); //引用AES源码js
  197. var jsons = {
  198. "username": username,
  199. "password": password,
  200. "timestamp": Date.parse(new Date()) / 1000,
  201. "optauth": opt
  202. }
  203. // console.log(jsons);
  204. // console.log("code="+encodeURI(CryptoJS.enc.Base64.stringify(CryptoJS.enc.Hex.parse(Encrypt(JSON.stringify(jsons))))));
  205. return url + "?" + "code=" + encodeURIComponent(CryptoJS.enc.Base64.stringify(CryptoJS.enc.Hex.parse(Encrypt(JSON.stringify(jsons)))));
  206. },
  207. goTarget(href) {
  208. window.open(href, '_blank')
  209. },
  210. userClick() {
  211. this.showUserMenu = true
  212. },
  213. clickMenu(event) {
  214. console.log(1111)
  215. console.log(event)
  216. }
  217. }
  218. }
  219. </script>
  220. <style lang="scss">
  221. .header {
  222. height: 45rem;
  223. width: 100%;
  224. background: url("../assets/picture/title.png") no-repeat;
  225. background-size: cover;
  226. }
  227. .left_content {
  228. height: 350rem;
  229. width: 87rem;
  230. // src\assets\picture\bg_menu_1.png
  231. background: url("../assets/picture/bg_menu_1.png") no-repeat;
  232. background-size: 100% 100%;
  233. margin-left: 10rem;
  234. padding-top: 2rem;
  235. float: left
  236. }
  237. .icon_content {
  238. text-align: center;
  239. }
  240. .icon_image {
  241. height: 27rem;
  242. width: 27rem;
  243. }
  244. .icon_title {
  245. padding-top: 3rem;
  246. font-size: 7rem;
  247. color: white;
  248. text-align: center
  249. }
  250. .center_content {
  251. background-color: white;
  252. width: 670rem;
  253. height: 350rem;
  254. float: right;
  255. margin-right: 20rem
  256. }
  257. .icon_class {
  258. width: 100%;
  259. height: 55rem;
  260. padding-top: 10rem;
  261. }
  262. .userContent {
  263. // position: absolute;
  264. // z-index:1002;
  265. // top: 315rem;
  266. // left: 95rem;
  267. width: 45rem;
  268. // height: 50rem;
  269. // background-color:rgba(0,0,139,1);
  270. padding-top: 3rem;
  271. padding-bottom: 3rem;
  272. }
  273. .menu_title {
  274. color: #fff;
  275. font-size: 6.4rem;
  276. margin-top: 2rem;
  277. padding-left: 5rem;
  278. line-height: 12rem;
  279. }
  280. .menu_title:hover {
  281. cursor: pointer;
  282. }
  283. .active {
  284. background-color: #041446;
  285. }
  286. .menu {
  287. color: #00ffff
  288. }
  289. .el-popover {
  290. background-color: blue;
  291. background: url("../assets/picture/bg_zcd.png") no-repeat;
  292. background-size: 100% 100%;
  293. border: 0px;
  294. min-width: 0;
  295. }
  296. // .popper__arrow::after{
  297. // /*el-popover上边三角表层的颜色---也就是视觉上的角*/
  298. // display: none
  299. // }
  300. // .popper__arrow{
  301. // /*el-popover上边三角表层的颜色---也就是视觉上的角*/
  302. // display: none
  303. // }
  304. .el-popper .popper__arrow, .el-popper .popper__arrow::after {
  305. display: none
  306. }
  307. // .has-gutter{
  308. // // background: linear-gradient(blue, pink);
  309. // background-color: #00ffff
  310. // }
  311. </style>