university_talent_base.vue 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414
  1. <template>
  2. <div class="pro_details_video">
  3. <head-component :headinfo=headinfo></head-component>
  4. <div class="page-content">
  5. <div class="page-img-box">
  6. <div class="bottom-content">
  7. <div class="tab-box">
  8. <div :class="[onePage?'item-box-active':'item-box']" @click="showPage(1)">
  9. 卓越工程师
  10. </div>
  11. <div :class="[twoPage?'item-box-active':'item-box']" @click="showPage(2)">
  12. 重点实验室
  13. </div>
  14. <div :class="[threePage?'item-box-active':'item-box']" @click="showPage(3)">
  15. 理科基地
  16. </div>
  17. <div :class="[fourPage?'item-box-active':'item-box']" @click="showPage(4)">
  18. 文科基地
  19. </div>
  20. <div :class="[fivePage?'item-box-active':'item-box']" @click="showPage(5)">
  21. 工科基地
  22. </div>
  23. <div :class="[sixPage?'item-box-active':'item-box']" @click="showPage(6)">
  24. 珠峰计划
  25. </div>
  26. </div>
  27. <div class="one-page" v-show="onePage">
  28. <p class="title">卓越工程师</p>
  29. <div class="info" v-html="data_list[0].content"></div>
  30. </div>
  31. <div class="one-page" v-show="twoPage">
  32. <p class="title">重点实验室</p>
  33. <div class="info" v-html="data_list[1].content"></div>
  34. </div>
  35. <div class="one-page" v-show="threePage">
  36. <p class="title">理科基地</p>
  37. <div class="info" v-html="data_list[2].content"></div>
  38. </div>
  39. <div class="one-page" v-show="fourPage">
  40. <p class="title">文科基地</p>
  41. <div class="info" v-html="data_list[3].content"></div>
  42. </div>
  43. <div class="one-page" v-show="fivePage">
  44. <p class="title">工科基地</p>
  45. <div class="info" v-html="data_list[4].content"></div>
  46. </div>
  47. <div class="one-page" v-show="sixPage">
  48. <p class="title">珠峰计划</p>
  49. <div class="info" v-html="data_list[5].content"></div>
  50. </div>
  51. </div>
  52. </div>
  53. </div>
  54. </div>
  55. </template>
  56. <script setup>
  57. import videojs from 'video.js';
  58. import 'video.js/dist/video-js.css';
  59. import collectionComponent from '@/views/xjc-integratedmachine/components/collection_component.vue'
  60. import {specialtyDetail} from '@/api/xjc-integratedmachine/environment/specialty.js'
  61. import {ref} from "vue";
  62. import headComponent from '@/views/xjc-integratedmachine/components/head_component.vue'
  63. import Drag_component from "@/views/xjc-integratedmachine/components/drag_component.vue";
  64. import {handleThemeStyle} from "@/utils/theme.js";
  65. import useSettingsStore from "@/store/modules/settings.js";
  66. const {proxy} = getCurrentInstance()
  67. const {educationlevel} = proxy.useDict('educationlevel')
  68. import {talentbase} from '@/api/xjc-integratedmachine/environment/tscareer.js'
  69. const router = useRouter()
  70. const route = useRoute()
  71. const tabIndex = ref("zyjd")
  72. const headinfo = ref({})
  73. const onePage = ref(true)
  74. const twoPage = ref(false)
  75. const threePage = ref(false)
  76. const fourPage = ref(false)
  77. const fivePage = ref(false)
  78. const sixPage = ref(false)
  79. function setHeadinfo(){
  80. headinfo.value = {
  81. title: '学职资讯',
  82. user: {
  83. avatar: '头像路径',
  84. nickName: '张三'
  85. },
  86. backUrl : '/xjc-integratedmachine/environment/query_universitydb_conditions',
  87. homeUrl:'/xjc-integratedmachine/environment/index',
  88. }
  89. }
  90. onMounted(() => {
  91. setHeadinfo()
  92. })
  93. const param = route.query
  94. const entity = ref({})
  95. const kaishe_list = ref([])
  96. const pinggu_list = ref([])
  97. const similar_list = ref([])
  98. const collectionRef = ref(null)
  99. const collection_data = ref({})
  100. function setCollection_data(){
  101. collection_data.value = {
  102. contentType: 2,
  103. contentId: param.id,
  104. contentVal: entity.value,
  105. source:'pro_details_video'
  106. }
  107. console.log("entity.value",entity.value)
  108. }
  109. function detail() {
  110. specialtyDetail({
  111. id: param.id
  112. }).then(resp => {
  113. entity.value = resp.entity
  114. kaishe_list.value = resp.kaishe_list
  115. pinggu_list.value = resp.pinggu_list
  116. similar_list.value = resp.similar_list
  117. entity.value.kaishe_list = kaishe_list
  118. })
  119. setTimeout(() => {
  120. setCollection_data();
  121. collectionRef.value.isContrast(entity.value);
  122. collectionRef.value.getSource('pro_details_video');
  123. }, 500);
  124. }
  125. const showPage = (val) => {
  126. if (val === 1) {
  127. onePage.value = true;
  128. twoPage.value = false;
  129. threePage.value = false;
  130. fourPage.value = false;
  131. fivePage.value = false;
  132. sixPage.value = false;
  133. } else if (val === 2) {
  134. onePage.value = false;
  135. twoPage.value = true;
  136. threePage.value = false;
  137. fourPage.value = false;
  138. fivePage.value = false;
  139. sixPage.value = false;
  140. } else if (val === 3) {
  141. onePage.value = false;
  142. twoPage.value = false;
  143. threePage.value = true;
  144. fourPage.value = false;
  145. fivePage.value = false;
  146. sixPage.value = false;
  147. } else if (val === 4) {
  148. onePage.value = false;
  149. twoPage.value = false;
  150. threePage.value = false;
  151. fourPage.value = true;
  152. fivePage.value = false;
  153. sixPage.value = false;
  154. } else if (val === 5) {
  155. onePage.value = false;
  156. twoPage.value = false;
  157. threePage.value = false;
  158. fourPage.value = false;
  159. fivePage.value = true;
  160. sixPage.value = false;
  161. }else if (val === 6) {
  162. onePage.value = false;
  163. twoPage.value = false;
  164. threePage.value = false;
  165. fourPage.value = false;
  166. fivePage.value = false;
  167. sixPage.value = true;
  168. }
  169. }
  170. detail()
  171. function dialogBeforeClose() {
  172. onePage.value = true;
  173. twoPage.value = false;
  174. threePage.value = false;
  175. fourPage.value = false;
  176. fivePage.value = false;
  177. sixPage.value = false
  178. senvenPage.value = false
  179. eightPage.value = false;
  180. }
  181. const tab = ref("zygcs")
  182. function changeTab(path) {
  183. tab.value = path
  184. }
  185. const data_list = ref([])
  186. function base() {
  187. talentbase({}).then(resp =>{
  188. data_list.value = resp.talentbase
  189. })
  190. }
  191. base();
  192. </script>
  193. <style scoped lang="scss">
  194. p, div {
  195. margin: 0;
  196. padding: 0;
  197. }
  198. .pro_details_video {
  199. background: url('@/assets/images/environment/university-detail.png') no-repeat;
  200. background-size: 1920px 1080px;
  201. z-index: 10;
  202. width: 100%;
  203. height: 1080px;
  204. .page-content {
  205. width: 100%;
  206. position: absolute;
  207. top: 100px;
  208. bottom: 0;
  209. display: flex;
  210. justify-content: center;
  211. }
  212. .page-img-box {
  213. width: 1832px;
  214. height: 922px;
  215. margin-top: 13px;
  216. //background: rgba(255, 255, 255, 0.4);
  217. border-radius: 35px 35px 35px 35px;
  218. display: flex;
  219. flex-direction: column;
  220. }
  221. .bottom-content {
  222. //margin-top: 10px;
  223. //border: 1px solid;
  224. height: 922px;
  225. .tab-box {
  226. display: flex;
  227. padding-right: 279px;
  228. //height: 922px;
  229. img {
  230. width: 36px;
  231. height: 36px;
  232. margin-right: 12px;
  233. }
  234. }
  235. .item-box {
  236. text-align: center;
  237. display: flex;
  238. justify-content: center;
  239. align-items: center;
  240. width: 202px;
  241. height: 65px;
  242. box-shadow: 0px 0px 4px 1px rgba(0, 0, 0, 0.09);
  243. border-radius: 5px 5px 0px 0px;
  244. font-weight: 400;
  245. font-size: 32px;
  246. color: #979797;
  247. }
  248. .item-box-active {
  249. text-align: center;
  250. color: #000000;
  251. background: #FFFFFF;
  252. font-weight: bold;
  253. font-size: 32px;
  254. display: flex;
  255. justify-content: center;
  256. align-items: center;
  257. width: 202px;
  258. height: 65px;
  259. background: #FFFFFF;
  260. box-shadow: 0px 0px 4px 1px rgba(0, 0, 0, 0.09);
  261. border-radius: 5px 5px 0px 0px;
  262. }
  263. }
  264. //.editor-content div,
  265. //.editor-content span,
  266. //.editor-content p,
  267. //.editor-content h1,
  268. //.editor-content h2,
  269. //.editor-content h3,
  270. //.editor-content h4,
  271. //.editor-content h5,
  272. //.editor-content h6 {
  273. // font-size: 26px !important;
  274. // line-height: 37px !important;
  275. //}
  276. .editor-content div,
  277. .editor-content span,
  278. .editor-content p {
  279. text-indent: 2em !important;
  280. text-align: left !important;
  281. }
  282. }
  283. .one-page {
  284. width: 1832px;
  285. height: 836px;
  286. background: #FFFFFF;
  287. border-radius: 0px 0px 35px 35px;
  288. border: 1px solid #FFFFFF;
  289. overflow: auto;
  290. line-height: 32px;
  291. padding-top: 10px;
  292. .title {
  293. height: 40px;
  294. border-left: 8px #8CE349 solid;
  295. margin-left: 33px;
  296. font-weight: 400;
  297. font-size: 28px;
  298. color: #333333;
  299. line-height: 40px;
  300. padding-left: 11px;
  301. }
  302. .info {
  303. text-indent: 2em;
  304. font-weight: 400;
  305. font-size: 28px;
  306. color: #333333;
  307. line-height: 40px;
  308. }
  309. .select-div {
  310. width: 100%;
  311. height: 100px;
  312. font-weight: 400;
  313. font-size: 30px;
  314. color: #333333;
  315. line-height: 40px;
  316. display: flex;
  317. justify-content: center;
  318. align-items: center;
  319. margin-bottom: 21px;
  320. .select-box {
  321. width: 300px;
  322. height: 90px;
  323. border: 1px solid #CCCCCC;
  324. line-height: 90px;
  325. text-align: center;
  326. margin-left: 10px;
  327. }
  328. .click-search {
  329. width: 170px;
  330. height: 90px;
  331. background: linear-gradient(180deg, #73EE71 0%, #0ACB63 100%);
  332. border-radius: 5px;
  333. font-weight: 400;
  334. font-size: 24px;
  335. color: #FFFFFF;
  336. margin-left: 20px;
  337. }
  338. }
  339. ::v-deep .el-table .el-table__header-wrapper th, .el-table .el-table__fixed-header-wrapper th {
  340. height: 74px !important;
  341. font-size: 24px;
  342. color: #1E410E;
  343. }
  344. ::v-deep .el-table tr {
  345. height: 74px !important;
  346. font-size: 20px;
  347. }
  348. ::v-deep .el-dialog__title {
  349. font-size: 34px !important;
  350. }
  351. ::v-deep .el-dialog {
  352. margin-top: 0px !important;
  353. }
  354. ::v-deep .el-dialog__headerbtn .el-dialog__close {
  355. font-size: 30px !important;
  356. }
  357. }
  358. .dict-dialog{
  359. max-width: 570px;
  360. height: 800px;
  361. overflow: auto;
  362. .dict-box {
  363. font-size: 24px;
  364. line-height: 34px;
  365. color: #333333;
  366. }
  367. }
  368. </style>