MainTable.vue 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704
  1. <template>
  2. <div class="login_back_group_all" style="overflow-y: hidden; overflow-x: hidden">
  3. <TopPage></TopPage>
  4. <div>
  5. <img width="100%" style="margin-top: 10px" src="../assets/newImage/main_top.png" />
  6. </div>
  7. <div class="login_back_group" style="overflow-y: hidden; overflow-x: hidden">
  8. <el-row>
  9. <el-col :span="2"> &nbsp; </el-col>
  10. <el-col :span="22" style="margin-top: 10px">
  11. <div>
  12. <span class="main_top_wellcom">你好,{{ name }}!
  13. <span class="main_top_week">
  14. 今天星期<span>{{ week }}</span></span></span><br />
  15. <span class="welcome">欢迎来到自助式心理健康评估与认知行为干预系统!</span>
  16. <br />
  17. </div>
  18. </el-col>
  19. </el-row>
  20. <el-row class="main_middle">
  21. <el-col :span="2">&nbsp;</el-col>
  22. <el-col :span="20">
  23. <el-row :span="24" v-show="userType === 2">
  24. <div class="main_picture">
  25. <div>
  26. <img height="300px" @click="goPage('/menu/manageUser', 'yhgl')"
  27. src="../assets/newImage/main_user.png" />
  28. </div>
  29. <div>
  30. <img height="300px" @click="goPage('/menu/manageUserScale', 'yhlt')"
  31. src="../assets/newImage/main_chart.png" />
  32. </div>
  33. <div>
  34. <img height="300px" @click="goPage('/menu/manageScaleUser', 'yhcp')"
  35. src="../assets/newImage/main_scale.png" />
  36. </div>
  37. <div>
  38. <img height="300px" @click="goPage('/menu/manageElectrical', 'yhfk')"
  39. src="../assets/newImage/main_game.png" />
  40. </div>
  41. <div>
  42. <img height="300px" @click="goPage('/menu/managePluse', 'yhgy')"
  43. src="../assets/newImage/main_ganyu.png" />
  44. </div>
  45. </div>
  46. <!-- <div class="main-six-user">
  47. <div class="main-six-user-zhixin-admin">
  48. <div
  49. class="main_middle_yhgl"
  50. @click="goPage('/menu/manageUser')"
  51. >
  52. <span class="main_middle_zzdh_first"
  53. ><p class="main_middle_zzdh_first_font">用户管理</p></span
  54. >
  55. </div>
  56. <div
  57. class="main_middle_lblb"
  58. @click="goPage('/menu/manageUserScale')"
  59. >
  60. <span class="main_middle_zzdh_first"
  61. ><p class="main_middle_zzdh_first_font">
  62. 用户测试记录
  63. </p></span
  64. >
  65. </div>
  66. </div>
  67. <div class="main-six-user-zhixin-admin">
  68. <div
  69. class="main_middle_ndlb"
  70. @click="goPage('/menu/manageElectrical')"
  71. >
  72. <span class="main_middle_zzdh_first"
  73. ><p class="main_middle_zzdh_first_font">
  74. 脑电测试记录
  75. </p></span
  76. >
  77. </div>
  78. <div
  79. class="main_middle_mblb"
  80. @click="goPage('/menu/managePluse')"
  81. >
  82. <span class="main_middle_zzdh_first"
  83. ><p class="main_middle_zzdh_first_font">
  84. 脉搏测试记录
  85. </p></span
  86. >
  87. </div>
  88. </div>
  89. </div> -->
  90. </el-row>
  91. <el-row :span="24" v-show="userType === 1">
  92. <div class="main_picture">
  93. <div>
  94. <img @click="goPage('/menu/smart1', 'rjdh')" height="300px" src="../assets/newImage/main_smart.png" />
  95. </div>
  96. <div>
  97. <img @click="goPage('/menu/evaluation', 'xlcp')" height="300px"
  98. src="../assets/newImage/main_test.png" />
  99. </div>
  100. <div>
  101. <img @click="goPage('/menu/relax', 'xlfs')" height="300px" src="../assets/newImage/main_relax.png" />
  102. </div>
  103. <div>
  104. <img @click="goPage('/menu/intervene', 'rzgy')" height="300px"
  105. src="../assets/newImage/main_ganyu.png" />
  106. </div>
  107. <div>
  108. <img @click="goPage('/menu/animation', 'swfk')" height="300px"
  109. src="../assets/newImage/main_fankui.png" />
  110. </div>
  111. </div>
  112. <!--
  113. <div class="main-six-user">
  114. <div class="main-six-user-zhixin">
  115. <div
  116. class="main_middle_zzdh styleMain"
  117. @click="goPage('/menu/smart')"
  118. >
  119. <span class="main_middle_zzdh_first"
  120. ><div class="main_middle_zzdh_first_font">
  121. 智能对话
  122. </div></span
  123. >
  124. </div>
  125. <div
  126. class="main_middle_xlfs styleMain"
  127. @click="goPage('/menu/relax')"
  128. >
  129. <span class="main_middle_zzdh_first"
  130. ><div class="main_middle_zzdh_first_font">
  131. 心理放松
  132. </div></span
  133. >
  134. </div>
  135. </div>
  136. <div class="main-six-user-xinlin">
  137. <div
  138. class="main_middle_xlcp styleMain"
  139. @click="goPage('/menu/evaluation')"
  140. >
  141. <span class="main_middle_zzdh_first"
  142. ><div class="main_middle_zzdh_first_font">
  143. 心理测评
  144. </div></span
  145. >
  146. </div>
  147. </div>
  148. <div class="main-six-user-mainaosheng" style="">
  149. <div
  150. style="width: 410px; display: inline-block"
  151. class="main_middle_mbcj styleMain"
  152. @click="goPage('/menu/pulse')"
  153. >
  154. <span class="main_middle_zzdh_first"
  155. ><p class="main_middle_zzdh_first_font">脉搏采集</p></span
  156. >
  157. </div>
  158. <div
  159. style="width: 190px; display: inline-block"
  160. class="main_middle_ndcj styleMain"
  161. @click="goPage('/menu/electrical')"
  162. >
  163. <span class="main_middle_zzdh_first"
  164. ><p class="main_middle_zzdh_first_font">脑电采集</p></span
  165. >
  166. </div>
  167. <div
  168. style="width: 190px; display: inline-block"
  169. class="main_middle_swfkxl styleMain"
  170. @click="goPage('/menu/animation')"
  171. >
  172. <span class="main_middle_zzdh_first"
  173. ><p class="main_middle_zzdh_first_font">
  174. 生物反馈训练
  175. </p></span
  176. >
  177. </div>
  178. </div>
  179. </div> -->
  180. </el-row>
  181. </el-col>
  182. <el-col :span="2">&nbsp;</el-col>
  183. </el-row>
  184. <el-footer class="buttLlo1">
  185. <div class="menu_main_exit">
  186. <img @click="userExit" class="imgStyle" align="center" src="../assets/newImage/exit1.png" />&nbsp;&nbsp;
  187. <span class="exitLogin" @click="userExit" style="font-size: 14px">退出登录</span>
  188. </div>
  189. </el-footer>
  190. <el-footer class="buttLlo">Copyright© 2024</el-footer>
  191. <!-- <el-footer class="buttLlo">Copyright© 北京决明科技有限公司</el-footer> -->
  192. </div>
  193. <!-- 先是垂直布局 -->
  194. <div class="box_out" v-show="centerDialogVisible">
  195. </div>
  196. <div class="tan_out" v-show="centerDialogVisible">
  197. <div class="tan_top">
  198. <div class=tan_top_one>
  199. <div><img width='126px' height='28px' src="../assets/tan/sence.png" /></div>
  200. <div class="close_main" @click="closeFun"><img width="24px" height="24px" src="../assets/tan/close.png" />
  201. </div>
  202. </div>
  203. </div>
  204. <div class="tan_center">
  205. <div class="tan_center_left"><img width='256px' height='256px' :src='pubImgUrl' /></div>
  206. <div class="tan_center_right">
  207. <div><img height="35px" style="margin-left:60px;margin-bottom:5px;margin-top:20px"
  208. :src="pubTitleUrl" /></div>
  209. <div><img width="530px" height="60px" src="../assets/tan/mid_line.png" /></div>
  210. <div style="margin-left:40px;color:#DFDFDF;width:462px;line-height: 25px;letter-spacing:3px;height:480px;overflow:auto">
  211. {{desPub}}
  212. </div>
  213. </div>
  214. </div>
  215. <div style="text-align:center"><img width="772px" height="24px" src="../assets/tan/bottom_line.png" /></div>
  216. <div class="tan_foot">
  217. <div @click="closeFun"><img class="cancle_style" width="234px" height="60px" src="../assets/tan/cancle.png" />
  218. </div>
  219. <div @click="continueFun"><img class="continue_style" width="234px" height="60px"
  220. src="../assets/tan/continue.png" /></div>
  221. </div>
  222. </div>
  223. </div>
  224. </template>
  225. <script>
  226. export default {
  227. data() {
  228. return {
  229. userType: 0,
  230. name: sessionStorage.getItem("name"),
  231. week: this.getWeek(new Date().getDay()),
  232. mainList: [
  233. { name: "智能对话", url: "/smart", index: 1 },
  234. { name: "心理测评", url: "/evaluation", index: 2 },
  235. { name: "心理放松", url: "/relax", index: 3 },
  236. { name: "脑电采集", url: "/electrical", index: 4 },
  237. { name: "脉搏采集", url: "/pulse", index: 5 },
  238. { name: "生物反馈训练", url: "/animation", index: 6 },
  239. ],
  240. centerDialogVisible: false,
  241. pubUrl: '',
  242. pubVal: '',
  243. pubImgUrl:'',
  244. pubTitleUrl:'',
  245. desPub:''
  246. };
  247. },
  248. mounted() {
  249. this.$root.topPageFlag = false;
  250. this.userType = sessionStorage.getItem("userType");
  251. this.userType = parseInt(this.userType);
  252. },
  253. methods: {
  254. continueFun() {
  255. this.centerDialogVisible=false;
  256. sessionStorage.setItem("defaultUrl", this.pubUrl);
  257. this.$router.push({ path: this.pubUrl, query: { url: this.pubVal } });
  258. },
  259. closeFun() {
  260. this.centerDialogVisible = false;
  261. },
  262. userExit() {
  263. this.$router.push("/");
  264. // ipcRenderer.removeAllListeners();
  265. // Utils.$off();
  266. // this.desTimer();
  267. },
  268. getWeek(val) {
  269. let week = "";
  270. if (val === 0) {
  271. week = "日";
  272. }
  273. if (val === 1) {
  274. week = "一";
  275. }
  276. if (val === 2) {
  277. week = "二";
  278. }
  279. if (val === 3) {
  280. week = "三";
  281. }
  282. if (val === 4) {
  283. week = "四";
  284. }
  285. if (val === 5) {
  286. week = "五";
  287. }
  288. if (val === 6) {
  289. week = "六";
  290. }
  291. return week;
  292. },
  293. goPage(url, val) {
  294. this.pubUrl = url;
  295. this.pubVal = val;
  296. //判断如果是智能对话
  297. if (val == "rjdh") {
  298. this.pubImgUrl=require('../assets/tan/zndh.png')
  299. this.pubTitleUrl=require('../assets/tan/zn.png')
  300. this.centerDialogVisible = true;
  301. this.desPub =`本系统基于自然语言大模型开发(类似ChatGPT),模型具有一定的共情对话和倾听能力。我们的目标是为用户提供隐私、温暖、安全、及时、方便的对话环境, 从而帮助用户克服各种困难和挑战, 实现自我成长和发展。
  302. 由于技术的限制,模型的输出文本具有一定的随机性。您在使用本系统时应知悉,其不能替代医生、心理医生等专业人士,不应过度依赖、服从、相信模型的输出。本系统不保证模型输出的文本完全适合于用户,用户在使用本模型时需要承担其带来的所有风险!
  303. `
  304. return
  305. }
  306. if (val == "xlcp") {
  307. this.pubImgUrl=require('../assets/tan/xlcp.png')
  308. this.pubTitleUrl=require('../assets/tan/xl1.png')
  309. this.centerDialogVisible = true;
  310. this.desPub =`心理测评模块包含一些常用的心理健康评估量表,心理测评不是考试,答案没有对错之分,也没有时间限制 。为了获得准确的评估结果,使用者应充分理解题目内容并如实回答相应的问题。
  311. `
  312. return
  313. }
  314. if (val == "xlfs") {
  315. this.pubImgUrl=require('../assets/tan/xlfs.png')
  316. this.pubTitleUrl=require('../assets/tan/xl2.png')
  317. this.centerDialogVisible = true;
  318. this.desPub =`心理放松模块提供音乐放松和呼吸放松两种放松方式,用户可以根据引导进行心理放松训练。音乐的节奏和旋律能够激发大脑中与情绪有关的区域,从而促进身心的放松。通过调节呼吸,我们不仅能够减轻身体的紧张感,还可以影响我们的情绪状态,帮助我们达到更深层次的心理放松。
  319. `
  320. return
  321. }
  322. if (val == "rzgy") {
  323. this.pubImgUrl=require('../assets/tan/rzgy.png')
  324. this.pubTitleUrl=require('../assets/tan/rz.png')
  325. this.centerDialogVisible = true;
  326. this.desPub =`认知行为治疗 (Cognitive Behavioral Therapy,CBT) 是目前世界上应用最广泛、疗效最明确的心理治疗方法,对抑郁、焦虑、强迫、失眠、人际关系、情感问题、职业发展等多种心理问题均有系统的治疗方法和明显的治疗效果。从2004年开始,西方的CBT专家开始发展出CBT的计算机程序,代替治疗师来完成治疗,即人机对话的方式实现治疗,并取得了成功。这就是计算机化的认知行为治疗(CCBT)。
  327. `
  328. return
  329. }
  330. if (val == "swfk") {
  331. this.pubImgUrl=require('../assets/tan/swfk.png')
  332. this.pubTitleUrl=require('../assets/tan/sw.png')
  333. this.centerDialogVisible = true;
  334. this.desPub =`生物反馈训练通过将用户的脑电、心电等生理过程有关的信息进行处理和呈现,使人能够直观感受到自身生理状态的变化,进而有意识的进行自身心理状态的调控,通过不断训练使用户能够逐渐有意识的来调节和控制自己的生理、心理状态。`
  335. return
  336. }
  337. sessionStorage.setItem("defaultUrl", url);
  338. this.$router.push({ path: url, query: { url: val } });
  339. //this.$router.push({ path: url });
  340. },
  341. },
  342. };
  343. </script>
  344. <style scoped>
  345. .mainTable-top {
  346. margin-top: 5%;
  347. }
  348. .mainTable-top-two {
  349. margin-top: 10%;
  350. }
  351. .mainTable-tab {
  352. cursor: pointer;
  353. margin-left: 50px;
  354. margin-right: 50px;
  355. border-radius: 5px;
  356. border: 1px solid #000000;
  357. text-align: center;
  358. height: 150px;
  359. margin-bottom: 100px;
  360. }
  361. .mainTable-tab-p {
  362. padding-top: 40px;
  363. }
  364. .login_back_group {
  365. width: 100vw;
  366. /* height: 95vh; */
  367. /* padding-top: 20px; */
  368. /* background: url(../assets/newImage/login_bg.png) no-repeat;
  369. background-size: cover; */
  370. }
  371. .login_back_group_all {
  372. height: 100vh;
  373. /* width: 100vw;
  374. height: 95vh; */
  375. /* padding-top: 20px; */
  376. background: url(../assets/newImage/login_bg1.png) no-repeat;
  377. background-size: cover;
  378. }
  379. .main_top_wellcom {
  380. font-size: 30px;
  381. font-family: Source Han Sans CN-Light, Source Han Sans CN;
  382. font-weight: 500;
  383. color: #ffffff;
  384. line-height: 0px;
  385. margin-left: 100px;
  386. }
  387. .main_top_week {
  388. font-size: 16px;
  389. font-family: Source Han Sans CN-ExtraLight, Source Han Sans CN;
  390. font-weight: 200;
  391. color: #ffffff;
  392. }
  393. .main_middle {
  394. margin-top: 80px;
  395. }
  396. .main_middle_ndlb {
  397. background: url(../assets/newImage/lbbgck_bt.png) no-repeat;
  398. background-size: cover;
  399. height: 190px;
  400. margin-left: 15px;
  401. margin-right: 15px;
  402. border-radius: 4px;
  403. cursor: pointer;
  404. }
  405. .main_middle_mblb {
  406. background: url(../assets/newImage/home_mbcj.png) no-repeat;
  407. background-size: cover;
  408. height: 190px;
  409. margin-left: 15px;
  410. margin-right: 15px;
  411. border-radius: 4px;
  412. cursor: pointer;
  413. }
  414. .main_middle_lblb {
  415. background: url(../assets/newImage/xl2.png) no-repeat;
  416. background-size: cover;
  417. height: 190px;
  418. margin-left: 15px;
  419. margin-right: 15px;
  420. border-radius: 4px;
  421. cursor: pointer;
  422. }
  423. .main_middle_yhgl {
  424. background: url(../assets/newImage/xl1.png) no-repeat;
  425. background-size: cover;
  426. height: 190px;
  427. margin-left: 15px;
  428. margin-right: 15px;
  429. border-radius: 4px;
  430. cursor: pointer;
  431. }
  432. .main_middle_zzdh {
  433. background: url(../assets/newImage/home_zndh.png) no-repeat;
  434. background-size: cover;
  435. height: 190px;
  436. margin-left: 15px;
  437. margin-right: 15px;
  438. border-radius: 4px;
  439. cursor: pointer;
  440. }
  441. .main_middle_xlfs {
  442. background: url(../assets/newImage/home_xlfs.png) no-repeat;
  443. background-size: cover;
  444. height: 190px;
  445. margin-left: 15px;
  446. margin-right: 15px;
  447. border-radius: 4px;
  448. cursor: pointer;
  449. }
  450. .main_middle_zzdh_first {
  451. font-size: 20px;
  452. color: #ffffff;
  453. }
  454. .main_middle_zzdh_first_font {
  455. padding-top: 20px;
  456. margin-left: 20px;
  457. }
  458. .main_middle_xlcp {
  459. background: url(../assets/newImage/home_xlcp.png) no-repeat;
  460. background-size: cover;
  461. height: 400px;
  462. margin-left: 15px;
  463. margin-right: 15px;
  464. border-radius: 4px;
  465. cursor: pointer;
  466. }
  467. .main_middle_mbcj {
  468. background: url(../assets/newImage/home_mbcj.png) no-repeat;
  469. background-size: cover;
  470. height: 190px;
  471. margin-left: 15px;
  472. margin-right: 15px;
  473. border-radius: 4px;
  474. cursor: pointer;
  475. }
  476. .main_middle_ndcj {
  477. background: url(../assets/newImage/home_ndcj.png) no-repeat;
  478. background-size: cover;
  479. height: 190px;
  480. margin-left: 15px;
  481. margin-right: 15px;
  482. border-radius: 4px;
  483. cursor: pointer;
  484. }
  485. .main_middle_swfkxl {
  486. background: url(../assets/newImage/home_swfkxl.png) no-repeat;
  487. background-size: cover;
  488. height: 190px;
  489. margin-left: 10px;
  490. margin-right: 15px;
  491. border-radius: 4px;
  492. cursor: pointer;
  493. }
  494. .class2 {
  495. position: relative;
  496. box-shadow: rgba(0, 0, 0, 0.6) 0 0 0 100vh;
  497. }
  498. .styleMain {
  499. width: 200px;
  500. margin-bottom: 20px;
  501. }
  502. .styleMainTop {
  503. width: 400px;
  504. }
  505. .main-six-user {
  506. display: inline-flex;
  507. width: 100%;
  508. justify-content: center;
  509. }
  510. .main-six-user-zhixin {
  511. width: 200px;
  512. display: inline-block;
  513. margin-right: 40px;
  514. }
  515. .main-six-user-zhixin-admin {
  516. width: 400px;
  517. display: inline-block;
  518. /* margin-right: 40px; */
  519. }
  520. .main-six-user-xinlin {
  521. width: 200px;
  522. display: inline-block;
  523. margin-right: 40px;
  524. }
  525. .main-six-user-mainaosheng {
  526. width: 440px;
  527. display: inline-block;
  528. }
  529. .welcome {
  530. font-family: Source Han Sans CN-ExtraLight, Source Han Sans CN;
  531. font-weight: 200;
  532. color: #ffffff;
  533. line-height: 0px;
  534. letter-spacing: 2px;
  535. margin-left: 100px;
  536. display: flex;
  537. margin-top: 30px;
  538. }
  539. .main_picture {
  540. display: flex;
  541. flex-direction: row;
  542. justify-content: center;
  543. }
  544. .buttLlo {
  545. color: #ffffff;
  546. text-align: center;
  547. left: 0px;
  548. right: 0px;
  549. font-size: 14px;
  550. bottom: 0px;
  551. position: fixed;
  552. }
  553. .buttLlo1 {
  554. color: #ffffff;
  555. text-align: right;
  556. left: 0px;
  557. right: 40px;
  558. font-size: 14px;
  559. z-index: 1000;
  560. bottom: 0px;
  561. position: fixed;
  562. }
  563. .main_exit_class {
  564. position: fixed;
  565. z-index: 100;
  566. }
  567. .tan_out {
  568. position: fixed;
  569. top: 0;
  570. left: 0;
  571. right: 0;
  572. bottom: 0;
  573. margin: auto;
  574. z-index: 1000;
  575. width: 888px;
  576. height: 466px;
  577. background: url(../assets/tan/des_bg.png) no-repeat;
  578. background-size: cover;
  579. display: flex;
  580. flex-direction: column;
  581. }
  582. .tan_top {
  583. /* flex:1 */
  584. }
  585. .tan_top_one {
  586. margin-left: 18px;
  587. margin-right: 5px;
  588. margin-top: 5px;
  589. height: 60px;
  590. background: url(../assets/tan/title_bg.png) no-repeat;
  591. background-size: cover;
  592. display: flex;
  593. flex-direction: row;
  594. justify-content: center;
  595. align-items: center;
  596. /* flex:1 */
  597. }
  598. .tan_center {
  599. flex: 1;
  600. display: flex;
  601. flex-direction: row;
  602. justify-content: space-between;
  603. align-items: center;
  604. }
  605. .tan_center_left {
  606. margin-left: 50px;
  607. }
  608. .tan_center_right {
  609. margin-left: 20px;
  610. flex: 1;
  611. display: flex;
  612. flex-direction: column;
  613. height: 300px;
  614. }
  615. .tan_foot {
  616. display: flex;
  617. flex-direction: row;
  618. /* justify-content: space-around; */
  619. justify-content: space-around;
  620. margin-bottom: 20px;
  621. /* flex:1 */
  622. }
  623. .cancle_style {
  624. cursor: pointer;
  625. }
  626. .continue_style {
  627. cursor: pointer;
  628. }
  629. .box_out {
  630. position: fixed;
  631. top: 0;
  632. right: 0;
  633. bottom: 0;
  634. left: 0;
  635. background-color: #254161;
  636. opacity: 0.6;
  637. }
  638. .close_main {
  639. position: absolute;
  640. right: 40px;
  641. cursor: pointer;
  642. }
  643. </style>