ExpertIntr.vue 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687
  1. <template>
  2. <div>
  3. <el-breadcrumb separator-class="el-icon-arrow-right">
  4. <el-breadcrumb-item>专家诊断</el-breadcrumb-item>
  5. <el-breadcrumb-item>专家介绍</el-breadcrumb-item>
  6. </el-breadcrumb>
  7. <div class="expertDiagnosis_referral_mainBtn_Box">
  8. <div
  9. v-for="(item, index) in this.navigationList"
  10. :key="index"
  11. :class="[displayType === index ? 'primary' : '']"
  12. size="mini"
  13. @click="checkType(index)"
  14. class="expertDiagnosis_referral_mainBtn"
  15. >
  16. <!-- 左 -->
  17. <div class="expertDiagnosis_referral_mainBtnBox">
  18. <img :src="item.img" class="expertDiagnosis_referral_mainBtn_img" />
  19. <div class="expertDiagnosis_referral_mainBtn_centreBox">
  20. <div class="expertDiagnosis_referral_mainBtn_centreBox_tlt">
  21. {{ item.title }}
  22. </div>
  23. <div class="expertDiagnosis_referral_mainBtn_centreBox_introduce">
  24. {{ item.details }}
  25. </div>
  26. </div>
  27. </div>
  28. <!-- 右 -->
  29. <div class="expertDiagnosis_referral_mainBtn_right">
  30. <div class="expertDiagnosis_referral_mainBtn_rightNum">
  31. {{ item.num }}
  32. <span class="expertDiagnosis_referral_mainBtn_rightNum_unit">{{
  33. item.unit
  34. }}</span>
  35. </div>
  36. </div>
  37. </div>
  38. </div>
  39. <!-- 合作单位 -->
  40. <div
  41. v-show="displayType == '0'"
  42. class="expertDiagnosis_referral_mainBtn_box"
  43. >
  44. <!-- 合作单位 -->
  45. <div class="expertDiagnosis_referral_units">
  46. <!-- 标题 -->
  47. <div class="expertDiagnosis_referral_units_tlt">
  48. <div class>
  49. <img
  50. src="@/assets/images/expertDiagnosis/3.png"
  51. alt
  52. class="expertDiagnosis_referral_units_img"
  53. />
  54. <span class="expertDiagnosis_referral_units_tltTxt">合作单位</span>
  55. </div>
  56. <!-- 搜索 -->
  57. <div class="expertDiagnosis_referral_units_search">
  58. <el-input
  59. placeholder="搜索关键字"
  60. v-model="input1"
  61. class="input-with-select"
  62. >
  63. <el-button
  64. slot="append"
  65. icon="el-icon-search"
  66. @click="searchData()"
  67. ></el-button>
  68. </el-input>
  69. </div>
  70. </div>
  71. <!-- 列表 -->
  72. <ul class="expertDiagnosis_referral_units_ul" v-if="unitShow">
  73. <li
  74. class="expertDiagnosis_referral_units_li"
  75. v-for="(item, index) in this.dataList"
  76. :key="item"
  77. >
  78. <img
  79. src="@/assets/images/expertDiagnosis/qiyu/7.png"
  80. alt
  81. class="expertDiagnosis_referral_units_liImg"
  82. />
  83. <!-- 内容 -->
  84. <div class="expertDiagnosis_referral_units_liBox">
  85. <!-- 左 -->
  86. <div class="expertDiagnosis_referral_units_liLeft">
  87. <img
  88. :src="$host+item.img_urls"
  89. alt
  90. class="expertDiagnosis_referral_units_liLeft_img"
  91. />
  92. </div>
  93. <!-- 右 -->
  94. <div class="expertDiagnosis_referral_units_liRight">
  95. <!-- 大标题 -->
  96. <div class="expertDiagnosis_referral_units_liRight_H1">
  97. {{ item.name }}
  98. </div>
  99. <!-- 小标题 -->
  100. <div class="expertDiagnosis_referral_units_liRight_H2">
  101. 简介:
  102. </div>
  103. <!-- 详情 -->
  104. <div class="expertDiagnosis_referral_units_liRight_details">
  105. {{ item.briefing }}
  106. </div>
  107. </div>
  108. </div>
  109. </li>
  110. </ul>
  111. <!-- 暂无数据 -->
  112. <div class="expertDiagnosis_referral_units_not" v-else>
  113. <img
  114. src="@/assets/images/expertDiagnosis/zanwu.png"
  115. alt
  116. class="expertDiagnosis_referral_units_notImg"
  117. />
  118. </div>
  119. </div>
  120. </div>
  121. <!-- 合作院校 -->
  122. <div
  123. v-show="displayType == '1'"
  124. class="expertDiagnosis_referral_mainBtn_box"
  125. >
  126. <!-- 合作院校 -->
  127. <div class="expertDiagnosis_referral_units">
  128. <!-- 标题 -->
  129. <div class="expertDiagnosis_referral_units_tlt">
  130. <div class>
  131. <img
  132. src="@/assets/images/expertDiagnosis/2.png"
  133. alt
  134. class="expertDiagnosis_referral_units_img"
  135. />
  136. <span class="expertDiagnosis_referral_units_tltTxt">合作院校</span>
  137. </div>
  138. <!-- 搜索 -->
  139. <div class="expertDiagnosis_referral_units_search">
  140. <el-input
  141. placeholder="搜索关键字"
  142. v-model="input1"
  143. class="input-with-select"
  144. >
  145. <el-button
  146. slot="append"
  147. icon="el-icon-search"
  148. @click="searchData()"
  149. ></el-button>
  150. </el-input>
  151. </div>
  152. </div>
  153. <!-- 列表 -->
  154. <ul class="expertDiagnosis_referral_units_ul" v-if="academyShow">
  155. <li
  156. class="expertDiagnosis_referral_units_li"
  157. v-for="(item, index) in this.dataList"
  158. :key="item"
  159. >
  160. <img
  161. src="@/assets/images/expertDiagnosis/qiyu/9.png"
  162. alt
  163. class="expertDiagnosis_referral_units_liImg"
  164. />
  165. <!-- 内容 -->
  166. <div class="expertDiagnosis_referral_units_liBox">
  167. <!-- 左 -->
  168. <div class="expertDiagnosis_referral_units_liLeft">
  169. <img
  170. :src="'api/' + item.img_urls"
  171. alt
  172. class="expertDiagnosis_referral_units_liLeft_img"
  173. />
  174. </div>
  175. <!-- 右 -->
  176. <div class="expertDiagnosis_referral_units_liRight">
  177. <!-- 大标题 -->
  178. <div class="expertDiagnosis_referral_units_liRight_H1">
  179. {{ item.name }}
  180. </div>
  181. <!-- 小标题 -->
  182. <div class="expertDiagnosis_referral_units_liRight_H2">
  183. 简介:
  184. </div>
  185. <!-- 详情 -->
  186. <div class="expertDiagnosis_referral_units_liRight_details">
  187. {{ item.briefing }}
  188. </div>
  189. </div>
  190. </div>
  191. </li>
  192. </ul>
  193. <!-- 暂无数据 -->
  194. <div class="expertDiagnosis_referral_units_not" v-else>
  195. <img
  196. src="@/assets/images/expertDiagnosis/zanwu.png"
  197. alt
  198. class="expertDiagnosis_referral_units_notImg"
  199. />
  200. </div>
  201. </div>
  202. </div>
  203. <!-- 合作专家 -->
  204. <div
  205. v-show="displayType == '2'"
  206. class="expertDiagnosis_referral_mainBtn_box"
  207. >
  208. <!-- 合作专家 -->
  209. <div class="expertDiagnosis_referral_units">
  210. <!-- 标题 -->
  211. <div class="expertDiagnosis_referral_units_tlt">
  212. <div class>
  213. <img
  214. src="@/assets/images/expertDiagnosis/4.png"
  215. alt
  216. class="expertDiagnosis_referral_units_img"
  217. />
  218. <span class="expertDiagnosis_referral_units_tltTxt">合作专家</span>
  219. </div>
  220. <!-- 搜索 -->
  221. <div class="expertDiagnosis_referral_units_search">
  222. <el-input
  223. placeholder="搜索关键字"
  224. v-model="input1"
  225. class="input-with-select"
  226. >
  227. <el-button
  228. slot="append"
  229. icon="el-icon-search"
  230. @click="searchData()"
  231. ></el-button>
  232. </el-input>
  233. </div>
  234. </div>
  235. <!-- 列表 -->
  236. <ul class="expertDiagnosis_referral_units_ul" v-if="expertShow">
  237. <li
  238. class="expertDiagnosis_referral_units_li"
  239. v-for="(item, index) in this.dataList"
  240. :key="item"
  241. >
  242. <img
  243. src="@/assets/images/expertDiagnosis/qiyu/8.png"
  244. alt
  245. class="expertDiagnosis_referral_units_liImg"
  246. />
  247. <!-- 内容 -->
  248. <div class="expertDiagnosis_referral_units_liBox">
  249. <!-- 左 -->
  250. <div class="expertDiagnosis_referral_units_liLeft">
  251. <img
  252. :src="'api/' + item.img_urls"
  253. alt
  254. class="expertDiagnosis_referral_units_liLeft_img"
  255. />
  256. </div>
  257. <!-- 右 -->
  258. <div class="expertDiagnosis_referral_units_liRight">
  259. <!-- 大标题 -->
  260. <div class="expertDiagnosis_referral_units_liRight_H1">
  261. {{ item.name }}
  262. </div>
  263. <!-- 小标题 -->
  264. <div class="expertDiagnosis_referral_units_liRight_H2">
  265. 简介:
  266. </div>
  267. <!-- 详情 -->
  268. <div class="expertDiagnosis_referral_units_liRight_details">
  269. {{ item.briefing }}
  270. </div>
  271. </div>
  272. </div>
  273. </li>
  274. </ul>
  275. <!-- 暂无数据 -->
  276. <div class="expertDiagnosis_referral_units_not" v-else>
  277. <img
  278. src="@/assets/images/expertDiagnosis/zanwu.png"
  279. alt
  280. class="expertDiagnosis_referral_units_notImg"
  281. />
  282. </div>
  283. </div>
  284. </div>
  285. <!-- 分页 -->
  286. <el-pagination
  287. background
  288. @current-change="pageData($event)"
  289. layout="prev, pager, next"
  290. :total="this.nums"
  291. :current-page.sync="page"
  292. :page-size="10"
  293. ></el-pagination>
  294. </div>
  295. </template>
  296. <script>
  297. //自适应
  298. import '@/plugin/flexible.js'
  299. export default {
  300. data() {
  301. return {
  302. page: 1,
  303. nums: 1, //总数
  304. displayType: 0,
  305. navigationList: [
  306. {
  307. img: './static/images/expertDiagnosis/qiyu/4.png',
  308. title: '合作单位',
  309. details: '中国科学院/省级农科院/省级植保站',
  310. unit: '所'
  311. },
  312. {
  313. img: './static/images/expertDiagnosis/qiyu/5.png',
  314. title: '合作院校',
  315. details: '国家重点高校',
  316. unit: '所'
  317. },
  318. {
  319. img: './static/images/expertDiagnosis/qiyu/6.png',
  320. title: '合作专家',
  321. details: '农业相关博士、教授、研究员',
  322. unit: '人'
  323. }
  324. ],
  325. dataList: [], //列表数据
  326. input1: '', //合作单位搜索框
  327. unitShow: true, //合作单位数据显示
  328. academyShow: true, //合作院校数据显示
  329. expertShow: true //合作专家数据显示
  330. }
  331. },
  332. methods: {
  333. // 导航点击切换事件
  334. checkType(i) {
  335. this.displayType = i
  336. this.input1 = ''
  337. this.listData(i + 1, 1)
  338. },
  339. // 单位、院校、专家、总数接口
  340. totality() {
  341. this.$axios({
  342. url: 'api/api_gateway?method=pest.pests.pests_expert_total',
  343. method: 'post'
  344. })
  345. .then((res) => {
  346. var list = this.navigationList
  347. var num = res.data.data
  348. let arr = Object.entries(num)
  349. for (let i = 0; i < list.length; i++) {
  350. list[i].num = arr[i][1]
  351. }
  352. this.navigationList = []
  353. this.navigationList = list
  354. })
  355. .catch((err) => {
  356. console.log(err)
  357. })
  358. },
  359. // 单位、院校、专家、列表接口
  360. listData(num, page) {
  361. let postData = this.qs.stringify({
  362. code: num,
  363. page: page
  364. })
  365. this.$axios({
  366. method: 'post',
  367. url: 'api/api_gateway?method=pest.pests.pests_expert',
  368. data: postData
  369. })
  370. .then((res) => {
  371. var num = res.data.data.nums
  372. var length = res.data.data.length
  373. var num = parseInt(res.data.data.nums)
  374. this.nums = num
  375. if (length !== 0) {
  376. this.dataList = res.data.data.data
  377. } else if (length == 0) {
  378. if (this.displayType == '0') {
  379. //合作单位
  380. this.unitShow = false
  381. } else if (this.displayType == '1') {
  382. //合作院校
  383. this.academyShow = false
  384. } else if (this.displayType == '2') {
  385. // 合作专家
  386. this.expertShow = false
  387. }
  388. }
  389. })
  390. .catch((err) => {
  391. console.log(err)
  392. })
  393. },
  394. // 搜索
  395. searchData() {
  396. var code = this.displayType + 1
  397. var name = this.input1
  398. let postData = this.qs.stringify({
  399. code: code,
  400. name: name
  401. })
  402. this.$axios({
  403. method: 'post',
  404. url: 'api/api_gateway?method=pest.pests.pests_expert_search',
  405. data: postData
  406. })
  407. .then((res) => {
  408. console.log(res.data.data)
  409. var num = res.data.data.nums
  410. if (num !== 0) {
  411. this.dataList = res.data.data.data
  412. } else if (num == 0) {
  413. if (this.displayType == '0') {
  414. //合作单位
  415. this.unitShow = false
  416. } else if (this.displayType == '1') {
  417. //合作院校
  418. this.academyShow = false
  419. } else if (this.displayType == '2') {
  420. // 合作专家
  421. this.expertShow = false
  422. }
  423. }
  424. })
  425. .catch((err) => {
  426. console.log(err)
  427. })
  428. },
  429. //分页点击
  430. pageData(e) {
  431. var that = this
  432. // 判断当前是意见反馈还是补充审核
  433. var num = this.displayType + 1
  434. this.input1 = ''
  435. this.listData(num, e)
  436. }
  437. },
  438. mounted() {
  439. this.totality() //单位、院校、专家总数据接口
  440. this.listData(1, 1) //单位、院校、专家、列表接口
  441. }
  442. }
  443. </script>
  444. <style>
  445. /* .avatar-uploader .el-upload {
  446. border: 1px dashed #d9d9d9;
  447. border-radius: 6px;
  448. cursor: pointer;
  449. position: relative;
  450. overflow: hidden;
  451. }
  452. .avatar-uploader .el-upload:hover {
  453. border-color: #409eff;
  454. }
  455. .avatar-uploader-icon {
  456. font-size: 28px;
  457. color: #8c939d;
  458. width: 178px;
  459. height: 178px;
  460. line-height: 178px;
  461. text-align: center;
  462. }
  463. .avatar {
  464. width: 178px;
  465. height: 178px;
  466. display: block;
  467. } */
  468. </style>
  469. <style lang='less' scoped>
  470. .expertDiagnosis_referral_mainBtn_Box {
  471. display: flex;
  472. justify-content: space-around;
  473. height: 85px;
  474. .expertDiagnosis_referral_mainBtn {
  475. // border: 1px solid #000;
  476. border-radius: 5px;
  477. // width: 32%;
  478. // width: 430px;
  479. width: 500px;
  480. display: flex;
  481. justify-content: space-between;
  482. padding: 15px 0 15px 0;
  483. background: #fff;
  484. .expertDiagnosis_referral_mainBtnBox {
  485. display: flex;
  486. margin: 0 0 0 35px;
  487. // border: 1px solid #000;
  488. .expertDiagnosis_referral_mainBtn_img {
  489. width: 51px;
  490. height: 55px;
  491. }
  492. .expertDiagnosis_referral_mainBtn_centreBox {
  493. margin: 0 0 0 12px;
  494. // border: 1px solid #000;
  495. line-height: 22px;
  496. .expertDiagnosis_referral_mainBtn_centreBox_tlt {
  497. font-size: 15px;
  498. font-weight: 550;
  499. }
  500. .expertDiagnosis_referral_mainBtn_centreBox_introduce {
  501. font-size: 14px;
  502. font-weight: 550;
  503. color: #adadad;
  504. }
  505. }
  506. }
  507. .expertDiagnosis_referral_mainBtn_right {
  508. margin: 0 35px 0 0;
  509. // border: 1px solid #000;
  510. .expertDiagnosis_referral_mainBtn_rightNum {
  511. font-size: 42px;
  512. color: #9a9a9a;
  513. .expertDiagnosis_referral_mainBtn_rightNum_unit {
  514. font-size: 15px;
  515. }
  516. }
  517. }
  518. }
  519. }
  520. // 测试上传
  521. .avatar-uploader .el-upload {
  522. border: 1px dashed #d9d9d9;
  523. border-radius: 6px;
  524. cursor: pointer;
  525. position: relative;
  526. overflow: hidden;
  527. }
  528. .avatar-uploader .el-upload:hover {
  529. border-color: #409eff;
  530. }
  531. .avatar-uploader-icon {
  532. font-size: 28px;
  533. color: #8c939d;
  534. width: 178px;
  535. height: 178px;
  536. line-height: 178px;
  537. text-align: center;
  538. }
  539. .avatar {
  540. width: 178px;
  541. height: 178px;
  542. display: block;
  543. }
  544. // 测试上传
  545. .primary {
  546. // box-shadow: -3px 8px 21px -6px #7df1e1,
  547. // 50px 0 48px 34px rgba(255, 255, 255, 0.5);
  548. box-shadow: 0px 1px 12px 3px #7df1e1,
  549. 50px 0 48px 34px rgba(255, 255, 255, 0.5);
  550. }
  551. .expertDiagnosis_referral_mainBtn_box {
  552. width: 100%;
  553. margin: 20px auto;
  554. //合作单位
  555. .expertDiagnosis_referral_units {
  556. .expertDiagnosis_referral_units_tlt {
  557. display: flex;
  558. justify-content: space-between;
  559. .expertDiagnosis_referral_units_img {
  560. width: 18px;
  561. height: 19px;
  562. }
  563. .expertDiagnosis_referral_units_tltTxt {
  564. color: #6b6b6b;
  565. font-size: 17px;
  566. font-weight: 550;
  567. vertical-align: top;
  568. margin-left: 5px;
  569. }
  570. .expertDiagnosis_referral_units_search {
  571. width: 15%;
  572. }
  573. }
  574. //列表
  575. .expertDiagnosis_referral_units_ul {
  576. // border: 1px solid #000;
  577. width: 100%;
  578. margin: 20px 0 0 0;
  579. display: flex;
  580. flex-wrap: wrap;
  581. .expertDiagnosis_referral_units_li {
  582. // border: 1px solid rgb(221, 37, 37);
  583. width: 30%;
  584. position: relative;
  585. // border: 1px solid rgb(19, 143, 143);
  586. border-radius: 10px;
  587. background: #fff;
  588. margin: 15px 0 0 40px;
  589. // 图片
  590. .expertDiagnosis_referral_units_liImg {
  591. position: absolute;
  592. left: -9px;
  593. top: -7px;
  594. }
  595. // 内容
  596. .expertDiagnosis_referral_units_liBox {
  597. width: 80%;
  598. height: 140px;
  599. margin: 39px 0 39px 47px;
  600. // border: 1px solid #000;
  601. display: flex;
  602. // 左
  603. .expertDiagnosis_referral_units_liLeft {
  604. width: 35%;
  605. .expertDiagnosis_referral_units_liLeft_img {
  606. height: 100%;
  607. border: 1px solid rgb(192, 192, 192);
  608. }
  609. }
  610. // 右
  611. .expertDiagnosis_referral_units_liRight {
  612. // border: 1px solid #0000;
  613. width: 60%;
  614. margin: 0 0 0 20px;
  615. .expertDiagnosis_referral_units_liRight_H1 {
  616. border-bottom: 2px solid #fbb53c;
  617. // width: 40%;
  618. font-size: 18px;
  619. font-weight: 550;
  620. }
  621. .expertDiagnosis_referral_units_liRight_H2 {
  622. font-size: 13px;
  623. font-weight: 550;
  624. line-height: 35px;
  625. }
  626. .expertDiagnosis_referral_units_liRight_details {
  627. color: #a29f9f;
  628. line-height: 20px;
  629. font-weight: 550;
  630. }
  631. }
  632. }
  633. }
  634. }
  635. //暂无数据
  636. .expertDiagnosis_referral_units_not {
  637. width: 272px;
  638. margin: 0 auto;
  639. .expertDiagnosis_referral_units_notImg {
  640. }
  641. }
  642. }
  643. }
  644. </style>