ResourceSharing1.vue 70 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299
  1. <template>
  2. <div class="autoBox box" style="min-height: 900px;position: relative;">
  3. <div class="crumbs">
  4. <div style="overflow: hidden;height: 18px;">
  5. <el-breadcrumb separator-class="el-icon-arrow-right" style="float: left;height: 18px;">
  6. <el-breadcrumb-item :to="{ path: 'home' }">{{$t('common.Home')}}</el-breadcrumb-item>
  7. <el-breadcrumb-item :to="{ path: 'resourceSharing' }" class="pointer">{{$t('common.ResourceSharing')}}</el-breadcrumb-item>
  8. </el-breadcrumb>
  9. <el-breadcrumb separator="/" style="float: right;" v-if="screenIndex=='0'">
  10. <span :class="screenIndex==index?'screen1':'screen2'"
  11. class="pointer"
  12. @click="screenChange(item,index)"
  13. v-for="(item,index) in resourceSharingScreen" :key="item.label">
  14. &nbsp;&nbsp;{{$t(item.label)}} &nbsp;&nbsp;
  15. <span v-if="index+1!==resourceSharingScreen.length" style="color: #2c3e50">/</span></span>
  16. </el-breadcrumb>
  17. <el-breadcrumb separator="/" style="float: right;" v-if="screenIndex=='1'">
  18. <span :class="screenIndex==index?'screen1':'screen2'"
  19. class="pointer"
  20. @click="screenChange(item,index)"
  21. v-for="(item,index) in resourceSharingScreen">
  22. &nbsp;&nbsp;{{$t(item.label)}} &nbsp;&nbsp;
  23. <span v-if="index+1!==resourceSharingScreen.length" style="color: #2c3e50">/</span></span>
  24. </el-breadcrumb>
  25. </div>
  26. </div>
  27. <div v-show="screenIndex==0" class="mainBody screen1">
  28. <div class="slideShow">
  29. <!-- <el-carousel :interval="5000" arrow="never" indicator-position="none">-->
  30. <el-carousel :interval="5000" indicator-position="outside">
  31. <el-carousel-item v-for="item in slideShowImg" :key="item">
  32. <!--<div v-if="slideShowImg.length==0||slideShowImg.length==undefined">
  33. <img src="../../assets/img/ResourceSharing/banner1.jpg" alt="" style="width: 100%; height: 100%;">
  34. </div>
  35. <div v-else style="width: 100%; height: 100%;background-color: #ecedef;">
  36. &lt;!&ndash; <img v-if="item.carouselMapAddress==undefined||item.carouselMapAddress==false||item.carouselMapAddress==''" src="../..//assets/img/ResourceSharing/banner1.jpg" alt="" style="width: 100%; height: 100%;">&ndash;&gt;
  37. &lt;!&ndash; <img v-else :src="'api/file/pub/'+ item.carouselMapAddress" alt="" style="width: 100%; height: 100%;">&ndash;&gt;
  38. <div style="width: 920px;height:100%; float: left;">
  39. <img :src="'api/file/pub/'+ item.carouselMapAddress" alt="" style="width: 100%; height: 100%;">
  40. </div>
  41. <div style="width: 280px;height:100%;float: right;font-size: 14px;" class="activity">
  42. <div style="width: 100%;padding-left: 25px;box-sizing: border-box;color: #666666">
  43. <div v-show="item.name" style="font-size: 22px;font-weight: 600; margin: 40px 0 15px 5px">
  44. <span>{{item.name}}</span>
  45. </div>
  46. </div>
  47. </div>
  48. <div style="clear: both;"></div>
  49. </div>-->
  50. <div style="width: 100%; height: 100%;background-color: #ecedef;">
  51. <div style="width: 920px;height:100%; float: left;cursor: pointer;" @click="item.toView==0?toDetails(item):toResourceDetails(item)">
  52. <img :src="'api/file/pub/'+ item.carouselMapAddress" alt="" style="width: 100%; height: 100%;">
  53. </div>
  54. <div style="width: 280px;height:100%;float: right;font-size: 14px;" class="activity">
  55. <div style="width: 100%;padding-left: 25px;box-sizing: border-box;color: #666666;cursor: pointer;" @click="item.toView==0?toDetails(item):toResourceDetails(item)">
  56. <div v-show="item.name" style="font-size: 22px;font-weight: 600; margin: 40px 0 15px 5px">
  57. <span>{{item.name}}</span>
  58. </div>
  59. <div v-show="item.address" style="font-size: 16px;margin: 10px 0 20px 5px">
  60. <p style="margin: 0 0 5px 0;font-size: 16px;">{{$t('common.resourceAddress')}}:</p>
  61. <span>{{item.address}}</span>
  62. </div>
  63. <div v-show="item.affiliatedUnitName" style="font-size: 16px;margin: 10px 0 20px 5px">
  64. <p style="margin: 0 0 5px 0;font-size: 16px;">{{$t('common.resourceSubordinateUnits')}}:</p>
  65. <span>{{item.affiliatedUnitName}}</span>
  66. </div>
  67. </div>
  68. </div>
  69. <div style="clear: both;"></div>
  70. </div>
  71. </el-carousel-item>
  72. </el-carousel>
  73. </div>
  74. <!-- <div style="margin-top: 20px;">-->
  75. <!-- <Screen v-bind:screen1="screen1" @screenBack="screenBack"></Screen>-->
  76. <!-- </div>-->
  77. <!--<div class="researchClassify" >
  78. <div class="option">
  79. <div style="display: inline-block;">
  80. &lt;!&ndash; <span v-for="(item,index) in classify1" :class="index==classifySel1?'active':''"
  81. style="padding: 0 8px;"
  82. :style="{fontSize: $i18n.locale=='zh'?'16px':'14px'}"s
  83. :key="item.value"
  84. @click="dataChangeByType1(item,index)"
  85. >{{item.label}}</span> &ndash;&gt;
  86. &lt;!&ndash;<span :class="classifySel1==-1?'active':''"
  87. style="font-size: 16px;"
  88. :style="{marginRight:language=='zh'?'40px':'30px',fontSize:language=='zh'?'16px':'14px'}"
  89. @click="dataChangeByType1(-1)"
  90. >{{$t('common.resource')}}</span>
  91. <span
  92. v-for="(item,index) in classify1" :class="index==classifySel1?'active':''"
  93. style="font-size: 16px;"
  94. :style="{marginRight:language=='zh'?'30px':'16px',fontSize:language=='zh'?'16px':'14px'}"
  95. :key="item.value"
  96. @click="dataChangeByType1(item,index)"
  97. >{{item.label}}</span>&ndash;&gt;
  98. </div>
  99. <div class="rankSearchPub">
  100. <div class="rank">
  101. <span style="font-size: 14px; font-weight: 700; color: rgb(0, 0, 0);margin-right: 20px;">{{$t('common.sort')}}</span>
  102. <span :class="rankActive==0?'active':''" style="margin-right: 25px;font-size: 14px;"
  103. @click="dataChangeByTime1">{{$t("common.resourceAccordingTime")}}
  104. </span>
  105. <span :class="rankActive==1?'active':''" style="margin-right: 25px;font-size: 14px;"
  106. @click="dataChangeByHeat1">{{$t("common.resourceAccordingHeat")}}
  107. </span>
  108. </div>
  109. <div class="search" style="width: 200px;margin-top: 0;margin-bottom: 0">
  110. &lt;!&ndash; <input type="text" style="width: 270px;" :placeholder="$t('common.resourceInputName')" onkeydown="dataChangeByName1" v-model="searchText1">&ndash;&gt;
  111. &lt;!&ndash; <el-input v-model="searchText1" :placeholder="$t('common.resourceInputName')" @change="dataChangeByName1" style="width: 103px;"></el-input>&ndash;&gt;
  112. <el-input v-model="searchText1" @change="dataChangeByName1" style="width: 200px;"></el-input>
  113. <i style="position: absolute; right: 0;margin: 18px 8px 0 0;opacity: 0.5;" class="el-icon-search" @click="dataChangeByName1"></i>
  114. </div>
  115. <div class="publishing">
  116. <span style="color: #0091FF;font-size: 12px;line-height: 30px;" @click="toResultsIssue">{{$t("common.resourceWantRelease")}}</span>
  117. </div>
  118. </div>
  119. </div>
  120. &lt;!&ndash;<div style="width: 100%;height: 51px;">
  121. <div class="rankSearchPub">
  122. <div class="rank">
  123. <span :class="rankActive==0?'active':''" style="margin-right: 25px" @click="dataChangeByTime1">{{$t("common.resourceAccordingTime")}}</span>
  124. <span :class="rankActive==1?'active':''" style="margin-right: 25px" @click="dataChangeByHeat1">{{$t("common.resourceAccordingHeat")}}</span>
  125. </div>
  126. <div class="search" style="width: 270px;">
  127. &lt;!&ndash; <input type="text" style="width: 270px;" :placeholder="$t('common.resourceInputName')" onkeydown="dataChangeByName1" v-model="searchText1">&ndash;&gt;
  128. <el-input v-model="searchText1" :placeholder="$t('common.resourceInputName')" @change="dataChangeByName1" style="width: 270px;"></el-input>
  129. <i style="position: absolute; right: 0;margin: 8px 8px 0 0;opacity: 0.5;" class="el-icon-search" @click="dataChangeByName1"></i>
  130. </div>
  131. <div class="publishing">
  132. <span style="color: #0091FF;font-size: 14px;line-height: 30px;" @click="toResultsIssue">{{$t("common.resourceResultsRelease")}}</span>
  133. </div>
  134. </div>
  135. </div>&ndash;&gt;
  136. </div>-->
  137. <div class="researchClassify" style="width: 100%;border: 1px solid white;box-sizing: border-box;" >
  138. <div class="option">
  139. <div style="display: inline-block;">
  140. <span :class="classifySel1==-1?'active':''"
  141. style="font-size: 16px;margin: 0 0 0 10px;padding: 0 10px;font-weight: 600;"
  142. @click="dataChangeByType1(-1)"
  143. >{{$t('common.resource')}}</span>
  144. <span v-for="(item,index) in classify1" :class="index==classifySel1?'active':''"
  145. style="padding: 0 8px;"
  146. :style="{fontSize: $i18n.locale=='zh'?'16px':'14px'}"s
  147. :key="item.value"
  148. @click="dataChangeByType1(item,index)"
  149. >{{item.label}}</span>
  150. <!--<span :class="classifySel1==-1?'active':''"
  151. style="font-size: 16px;"
  152. :style="{marginRight:language=='zh'?'40px':'30px',fontSize:language=='zh'?'16px':'14px'}"
  153. @click="dataChangeByType1(-1)"
  154. >{{$t('common.resource')}}</span>
  155. <span
  156. v-for="(item,index) in classify1" :class="index==classifySel1?'active':''"
  157. style="font-size: 16px;"
  158. :style="{marginRight:language=='zh'?'30px':'16px',fontSize:language=='zh'?'16px':'14px'}"
  159. :key="item.value"
  160. @click="dataChangeByType1(item,index)"
  161. >{{item.label}}</span>-->
  162. </div>
  163. <div class="rankSearchPub">
  164. <div class="rank">
  165. <span :class="rankActive==0?'active':''" style="margin-right: 25px;"
  166. @click="dataChangeByTime1">{{$t("common.resourceAccordingTime")}}
  167. </span>
  168. <span :class="rankActive==1?'active':''" style="margin-right: 25px;"
  169. @click="dataChangeByHeat1">{{$t("common.resourceAccordingHeat")}}
  170. </span>
  171. </div>
  172. <div class="search" style="width: 104px;margin-top: 0;margin-bottom: 0">
  173. <!-- <input type="text" style="width: 270px;" :placeholder="$t('common.resourceInputName')" onkeydown="dataChangeByName1" v-model="searchText1">-->
  174. <!-- <el-input v-model="searchText1" :placeholder="$t('common.resourceInputName')" @change="dataChangeByName1" style="width: 103px;"></el-input>-->
  175. <el-input v-model="searchText1" @change="dataChangeByName1" style="width: 104px;"></el-input>
  176. <i style="position: absolute; right: 0;margin: 18px 8px 0 0;opacity: 0.5;" class="el-icon-search" @click="dataChangeByName1"></i>
  177. </div>
  178. <div class="publishing">
  179. <span style="color: #0091FF;font-size: 12px;line-height: 30px;" @click="toResultsIssue">{{$t("common.resourceWantRelease")}}</span>
  180. </div>
  181. </div>
  182. </div>
  183. </div>
  184. <div style="width: 98%; overflow: hidden;margin: auto;">
  185. <div v-show="cursorList1.length == 0 ||cursorList1.length == undefined" style="text-align: center;height: 60px;border-bottom: 1px solid #eee;border-top: 1px solid #eee;">
  186. <span v-show="language=='en'" style="line-height: 60px;">no data</span>
  187. <span v-show="language=='zh'" style="line-height: 60px;">暂无数据</span>
  188. </div>
  189. <div v-for="(item,index) in cursorList1" class="cursor"
  190. :style="{'margin-left':index%3==0 ? '0':'2.5%','margin-right':index%3==2 ? '0':'2.5%'}"
  191. @click="toDetails(item,index)"
  192. >
  193. <div v-if="item.informationVisibleStatus=='Y'" style="width: 44px; height: 44px; position: absolute;top: 0;left: 0;">
  194. <!-- <span style="background: red">会员</span>-->
  195. <img v-show="$i18n.locale=='zh'" src="@/assets/img/ResourceSharing/vip.jpg" alt="" style="width: 100%">
  196. <img v-show="$i18n.locale=='en'" src="@/assets/img/ResourceSharing/MEMBER.png" alt="" style="width: 100%">
  197. </div>
  198. <div style="box-sizing: border-box;height: 100%">
  199. <div style="width: 85%; height: 288px; margin: 10px auto 10px auto;text-align: center;">
  200. <!-- <img :src="item.researchResultCover" alt="">-->
  201. <img v-if="item['researchResultCover']==undefined||item.researchResultCover==false||item.researchResultCover==''" src="../../assets/img/ResourceSharing/baogao.png" alt="" style="width: 208px; height: 288px;">
  202. <img v-else :src="'api/file/pub/'+ item.researchResultCover" alt="" style="width: 208px; height: 288px;">
  203. </div>
  204. <div style="color: #333333">
  205. <!--<div style="width: 100%;height: 59px;font-weight: 700; font-size: 20px;text-align: center; ">
  206. <span style="display: inline-block; width: 5%;margin: 14px 2px;overflow: hidden;">《</span>
  207. <span style="display: inline-block; max-width:85%;margin: 14px 0;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;">
  208. {{item.name}}
  209. </span>
  210. <span style="display: inline-block; width: 5%;margin: 14px 2px;overflow: hidden;">》</span>
  211. </div>-->
  212. <div style="width: 100%;height: 78px;font-weight: 700; font-size: 20px;display: flex; align-items: center;overflow: hidden;padding: 14px 7%;box-sizing: border-box;margin: 14px 0;justify-content: center;">
  213. <span style="max-width:85%;overflow: hidden;text-align: center;word-break:break-all; ">
  214. {{item.name}}
  215. </span>
  216. </div>
  217. <!--影响高42px class cursor-->
  218. <p style="margin:0 0 14px 0;text-align: center;color: #666666;height: 28.8px;">
  219. <span style="font-weight: 400; font-size: 16px;display: inline-block; max-width:85%;height: 24.8px;" class="oneLine">{{item.affiliatedUnitName}}</span>
  220. </p>
  221. <p style="margin: 14px 0 14px 0;color: #1890FF;text-align: center;height: 21.7px;">
  222. <span style="font-weight: 400; font-size: 16px;border: 1px solid #1890FF;padding: 2px 14px;box-sizing: border-box;">{{item.researchResultType}}</span>
  223. </p>
  224. <p style="margin: 14px 0 16px 0;text-align: center;height: 21px;">
  225. <span style="color: #666666;font-size: 14px;">{{item.createDate}}</span>
  226. </p>
  227. <div style="overflow: hidden;width: 100%;height: 46px;background: #F8F8F8;position: absolute;bottom: 0;left: 0">
  228. <div style="float: right;line-height: 46px;color: #333333;">
  229. <img src="@/assets/img/ResourceSharing/collect.png" alt="" style="width: 16px;height: 16px;margin: 0 3px 0 15px;vertical-align: middle;">
  230. <!-- <i class="el-icon-star-off" style="margin-right: 5px;vertical-align: middle;"></i>-->
  231. <!-- <span style="margin-right: 15px;vertical-align: middle;">0</span>-->
  232. <span v-if="item.num=='null' || item.num==null" style="margin-right: 30px;vertical-align: middle;">0</span>
  233. <span v-else style="margin-right: 30px;vertical-align: middle;">{{item.num}}</span>
  234. <!-- <i class="el-icon-star-off" style="margin-right: 3px;vertical-align: middle;"></i>-->
  235. <!-- |<img src="@/assets/img/ResourceSharing/heat.png" alt="" style="width: 16px;height: 16px;margin: 0 3px 0 15px;vertical-align: middle;">-->
  236. <!-- <span v-if="item.num=='null' || item.num==null" style="margin-right: 30px;vertical-align: middle;">0</span>-->
  237. <!-- <span v-else style="margin-right: 30px;vertical-align: middle;">{{item.num}}</span>-->
  238. </div>
  239. </div>
  240. </div>
  241. </div>
  242. </div>
  243. </div>
  244. <div style="width: 100%;position: relative;height: 100px;margin-bottom: 30px;">
  245. <el-pagination
  246. background
  247. style="height: 80px;position: absolute;left: 50%;top: 100px;transform: translate(-50%,-50%);"
  248. :current-page="page.results.currentPage"
  249. :page-sizes="[6, 12, 18, 24]"
  250. :page-size="3"
  251. @current-change="handleCurrentChange1"
  252. layout="prev, pager, next"
  253. :page-count="page.resource.totalPage-0"
  254. ></el-pagination>
  255. </div>
  256. </div>
  257. <div v-show="screenIndex==1" class="mainBody screen2">
  258. <div class="slideShow" >
  259. <el-carousel :interval="5000" indicator-position="outside">
  260. <el-carousel-item v-for="item in slideShowImg" :key="item">
  261. <!--<div v-if="slideShowImg.length==0||slideShowImg.length==undefined">
  262. <img src="../../assets/img/ResourceSharing/banner2.png" alt="" style="width: 100%; height: 100%;">
  263. </div>
  264. <div v-else style="width: 100%; height: 100%;background-color: #ecedef;">
  265. <img v-if="item.carouselMapAddress==undefined||item.carouselMapAddress==false||item.carouselMapAddress==''" src="../../assets/img/ResourceSharing/banner2.png" alt="" style="width: 100%; height: 100%;">
  266. <img v-else :src="'api/file/pub/'+ item.carouselMapAddress" alt="" style="width: 100%; height: 100%;">
  267. </div>-->
  268. <div style="width: 100%; height: 100%;background-color: #ecedef;">
  269. <div style="width: 920px;height:100%; float: left;cursor: pointer;" @click="item.toView==0?toDetails(item):toResourceDetails(item)">
  270. <img :src="'api/file/pub/'+ item.carouselMapAddress" alt="" style="width: 100%; height: 100%;">
  271. </div>
  272. <div style="width: 280px;height:100%;float: right;font-size: 14px;" class="activity">
  273. <div style="width: 100%;padding-left: 25px;box-sizing: border-box;color: #666666;cursor: pointer;" @click="item.toView==0?toDetails(item):toResourceDetails(item)">
  274. <div v-show="item.name" style="font-size: 22px;font-weight: 600; margin: 40px 0 15px 5px">
  275. <span>{{item.name}}</span>
  276. </div>
  277. <div v-show="item.address" style="font-size: 16px;margin: 10px 0 20px 5px">
  278. <p style="margin: 0 0 5px 0;font-size: 16px;">{{$t('common.resourceAddress')}}:</p>
  279. <span>{{item.address}}</span>
  280. </div>
  281. <div v-show="item.affiliatedUnitName" style="font-size: 16px;margin: 10px 0 20px 5px">
  282. <p style="margin: 0 0 5px 0;font-size: 16px;">{{$t('common.resourceSubordinateUnits')}}:</p>
  283. <span>{{item.affiliatedUnitName}}</span>
  284. </div>
  285. </div>
  286. </div>
  287. <div style="clear: both;"></div>
  288. </div>
  289. </el-carousel-item>
  290. </el-carousel>
  291. </div>
  292. <!-- <div style="margin-top: 20px;">-->
  293. <!-- <Screen v-bind:screen1="screen2" @screenBack="screenBack2"></Screen>-->
  294. <!-- </div>-->
  295. <!--<div class="researchClassify" style="width: 100%;">
  296. <div class="option">
  297. <div style="display: inline-block;">
  298. &lt;!&ndash;<span :class="classifySel2==-1?'active':''"
  299. style="font-size: 16px;margin: 0 0 0 10px;padding: 0 10px;font-weight: 600;"
  300. @click="dataChangeByType2(-1)"
  301. >{{$t('common.researchResource')}}</span>
  302. <span v-for="(item,index) in classify2" :class="index==classifySel2?'active':''"
  303. style=""
  304. :style="{fontSize: $i18n.locale=='zh'?'16px':'14px',padding: $i18n.locale=='zh'?'0 8px':'0 7px'}"
  305. :key="item.value"
  306. @click="dataChangeByType2(item,index)"
  307. >{{item.label}}</span>&ndash;&gt;
  308. &lt;!&ndash;<span :class="classifySel2==-1?'active':''"
  309. style="font-size: 16px;"
  310. :style="{marginRight:language=='zh'?'40px':'30px',fontSize:language=='zh'?'16px':'14px'}"
  311. @click="dataChangeByType2(-1)"
  312. >{{$t('common.researchResource')}}</span>
  313. <span
  314. v-for="(item,index) in classify2" :class="index==classifySel2?'active':''"
  315. style="font-size: 16px;"
  316. :style="{marginRight:language=='zh'?'40px':'30px',fontSize:language=='zh'?'16px':'14px'}"
  317. :key="item.value"
  318. @click="dataChangeByType2(item,index)"
  319. >{{item.label}}</span>&ndash;&gt;
  320. </div>
  321. <div class="rankSearchPub">
  322. <div class="rank">
  323. <span style="font-size: 14px; font-weight: 700; color: rgb(0, 0, 0);margin-right: 20px;">{{$t('common.sort')}}</span>
  324. <span :class="rankActive==0?'active':''" style="margin-right: 25px"
  325. @click="dataChangeByTime2">{{$t("common.resourceAccordingTime")}}
  326. </span>
  327. <span :class="rankActive==1?'active':''" style="margin-right: 25px"
  328. @click="dataChangeByHeat2">{{$t("common.resourceAccordingHeat")}}
  329. </span>
  330. &lt;!&ndash;<span :class="rankActive==0?'active':''" style="margin-right: 25px" @click="dataChangeByTime2">{{$t("common.resourceAccordingTime")}}</span>
  331. <span :class="rankActive==1?'active':''" style="margin-right: 25px" @click="dataChangeByHeat2">{{$t("common.resourceAccordingHeat")}}</span>&ndash;&gt;
  332. </div>
  333. <div class="search" style="width: 200px;margin-top: 0;margin-bottom: 0">
  334. &lt;!&ndash; <input type="text" style="width: 270px;" :placeholder="$t('common.resourceInputName')" onkeydown="dataChangeByName2" v-model="searchText2">&ndash;&gt;
  335. &lt;!&ndash; <el-input v-model="searchText2" :placeholder="$t('common.resourceInputName')" @change="dataChangeByName2" style="width: 103px;"></el-input>&ndash;&gt;
  336. <el-input v-model="searchText2" @change="dataChangeByName2" style="width: 200px;"></el-input>
  337. <i style="position: absolute; right: 0;margin: 18px 8px 0 0;opacity: 0.5" class="el-icon-search" @click="dataChangeByName2"></i>
  338. </div>
  339. <div class="publishing">
  340. <span style="color: #0091FF;font-size: 12px;" @click="toResourceIssue">{{$t("common.resourceWantRelease")}}</span>
  341. </div>
  342. </div>
  343. </div>
  344. &lt;!&ndash;<div style="width: 100%;height: 51px;">
  345. <div class="rankSearchPub">
  346. <div class="rank">
  347. <span :class="rankActive==0?'active':''" style="margin-right: 25px" @click="dataChangeByTime2">{{$t("common.resourceAccordingTime")}}</span>
  348. <span :class="rankActive==1?'active':''" style="margin-right: 25px" @click="dataChangeByHeat2">{{$t("common.resourceAccordingHeat")}}</span>
  349. </div>
  350. <div class="search" style="width: 270px;">
  351. &lt;!&ndash; <input type="text" style="width: 270px;" :placeholder="$t('common.resourceInputName')" onkeydown="dataChangeByName2" v-model="searchText2">&ndash;&gt;
  352. <el-input v-model="searchText2" :placeholder="$t('common.resourceInputName')" @change="dataChangeByName2" style="width: 270px;"></el-input>
  353. <i style="position: absolute; right: 0;margin: 8px 8px 0 0;opacity: 0.5" class="el-icon-search" @click="dataChangeByName2"></i>
  354. </div>
  355. <div class="publishing">
  356. <span style="color: #0091FF;font-size: 14px;" @click="toResourceIssue">{{$t("common.resourceResourceRelease")}}</span>
  357. </div>
  358. </div>
  359. </div>&ndash;&gt;
  360. </div>-->
  361. <div class="researchClassify" style="width: 100%;border: 1px solid white;box-sizing: border-box;">
  362. <div class="option">
  363. <div style="display: inline-block;">
  364. <span :class="classifySel2==-1?'active':''"
  365. style="font-size: 16px;padding: 0 10px;font-weight: 600;"
  366. @click="dataChangeByType2(-1)"
  367. >{{$t('common.researchResource')}}</span>
  368. <span v-for="(item,index) in classify2" :class="index==classifySel2?'active':''"
  369. style="padding: 0 8px;"
  370. :style="{fontSize: $i18n.locale=='zh'?'16px':'14px',padding: $i18n.locale=='zh'?'0 8px':'0 5px'}"
  371. :key="item.value"
  372. @click="dataChangeByType2(item,index)"
  373. >{{item.label}}</span>
  374. <!--<span :class="classifySel2==-1?'active':''"
  375. style="font-size: 16px;"
  376. :style="{marginRight:language=='zh'?'40px':'30px',fontSize:language=='zh'?'16px':'14px'}"
  377. @click="dataChangeByType2(-1)"
  378. >{{$t('common.researchResource')}}</span>
  379. <span
  380. v-for="(item,index) in classify2" :class="index==classifySel2?'active':''"
  381. style="font-size: 16px;"
  382. :style="{marginRight:language=='zh'?'40px':'30px',fontSize:language=='zh'?'16px':'14px'}"
  383. :key="item.value"
  384. @click="dataChangeByType2(item,index)"
  385. >{{item.label}}</span>-->
  386. </div>
  387. <div class="rankSearchPub">
  388. <div class="rank">
  389. <span :class="rankActive==0?'active':''" style="margin-right: 25px"
  390. @click="dataChangeByTime2">{{$t("common.resourceAccordingTime")}}
  391. </span>
  392. <span :class="rankActive==1?'active':''" style="margin-right: 25px"
  393. @click="dataChangeByHeat2">{{$t("common.resourceAccordingHeat")}}
  394. </span>
  395. <!--<span :class="rankActive==0?'active':''" style="margin-right: 25px" @click="dataChangeByTime2">{{$t("common.resourceAccordingTime")}}</span>
  396. <span :class="rankActive==1?'active':''" style="margin-right: 25px" @click="dataChangeByHeat2">{{$t("common.resourceAccordingHeat")}}</span>-->
  397. </div>
  398. <div class="search" style="width: 104px;margin-top: 0;margin-bottom: 0">
  399. <el-input v-model="searchText2" @change="dataChangeByName2" style="width: 104px;"></el-input>
  400. <i style="position: absolute; right: 0;margin: 18px 8px 0 0;opacity: 0.5" class="el-icon-search" @click="dataChangeByName2"></i>
  401. </div>
  402. <div class="publishing">
  403. <span style="color: #0091FF;font-size: 12px;" @click="toResourceIssue">{{$t("common.resourceWantRelease")}}</span>
  404. </div>
  405. </div>
  406. </div>
  407. </div>
  408. <div style="width: 98%; overflow: hidden;margin: auto;color: #2c5589;">
  409. <div v-show="cursorList2.length == 0 ||cursorList2.length == undefined" style="text-align: center;height: 60px;border-bottom: 1px solid #eee;border-top: 1px solid #eee;">
  410. <span v-show="language=='en'" style="line-height: 60px;">no data</span>
  411. <span v-show="language=='zh'" style="line-height: 60px;">暂无数据</span>
  412. </div>
  413. <div v-for="(item,index) in cursorList2" class="cursor"
  414. :style="{'margin-left':index%3==0 ? '0':'2.5%','margin-right':index%3==2 ? '0':'2.5%'}"
  415. @click="toResourceDetails(item,index)"
  416. >
  417. <div style="box-sizing: border-box;height: 100%">
  418. <div style="height: 260px;">
  419. <!-- <img :src="item.researchResourcesMedia" alt="" width="100%">-->
  420. <img v-if="item.researchResourcesMedia==undefined||item.researchResourcesMedia==false||item.researchResourcesMedia==''||item.researchResourcesMedia=='null'" src="../../assets/img/ResourceSharing/shiyanshi.png" alt="" style="width: 100%; height: 260px;">
  421. <img v-else :src="'api/file/pub/'+ item.researchResourcesMedia" alt="" style="width: 100%; height: 260px;">
  422. </div>
  423. <div style="color: #333333;margin: 26px 0 0 0;">
  424. <h4 style="height:26px;font-weight: 700; font-size: 20px; margin: 8px 24px;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;">
  425. <span>{{item.name}}</span>
  426. </h4>
  427. <p style="margin: 8px 24px;color: #666666;height:25px;">
  428. <i v-show="item.affiliatedUnitName" class="el-icon-office-building" style="margin:5px 3px 0 0;overflow: hidden"></i>
  429. <span style="font-weight: 400; font-size: 16px;display: inline-block;max-width: 92%" class="oneLine">{{item.affiliatedUnitName}}</span>
  430. </p>
  431. <p style="margin: 8px 24px;color: #666666;font-size: 16px;height:25px;">
  432. <i v-show="item.address" class="el-icon-location-outline" style="margin: 5px 3px 0 0;overflow: hidden;"></i>
  433. <span style="font-weight: 400; font-size: 16px;display: inline-block;max-width: 92%" class="oneLine">{{item.address}}</span>
  434. </p>
  435. <p style="margin: 26px 24px 48px;color: #1890FF;">
  436. <span style="font-weight: 400; font-size: 16px;border: 1px solid #1890FF;padding: 1px 8px;box-sizing: border-box;">{{item.researchResourcesType}}</span>
  437. </p>
  438. <div style="overflow: hidden;width: 100%;height: 46px;background: #F8F8F8;position: absolute;bottom: 0;left: 0">
  439. <span style="color: #666666;font-size: 14px;line-height: 46px;margin-left: 32px">{{item.createDate}}</span>
  440. <div style="float: right;line-height: 46px;color: #333333;">
  441. <img src="@/assets/img/ResourceSharing/collect.png" alt="" style="width: 16px;height: 16px;margin: 0 3px 0 15px;vertical-align: middle;">
  442. <!-- <i class="el-icon-star-off" style="margin-right: 5px;vertical-align: middle;font-size: 16px;"></i>-->
  443. <!-- <span style="margin-right: 15px;vertical-align: middle;">1</span>-->
  444. <span v-if="item.num=='null' || item.num==null" style="margin-right: 30px;vertical-align: middle;">0</span>
  445. <span v-else style="margin-right: 30px;vertical-align: middle;">{{item.num}}</span>
  446. <!-- |<i class="el-icon-star-off" style="margin-right: 3px;vertical-align: middle;font-size: 16px;"></i>-->
  447. <!-- |<img src="@/assets/img/ResourceSharing/heat.png" alt="" style="width: 16px;height: 16px;margin: 0 3px 0 15px;vertical-align: middle;">-->
  448. <!-- <span v-if="item.num=='null' || item.num==null" style="margin-right: 30px;vertical-align: middle;">0</span>-->
  449. <!-- <span v-else style="margin-right: 30px;vertical-align: middle;">{{item.num}}</span>-->
  450. </div>
  451. </div>
  452. </div>
  453. </div>
  454. </div>
  455. </div>
  456. <div style="width: 100%;position: relative;height: 100px;margin-bottom: 30px;">
  457. <el-pagination
  458. background
  459. style="height: 80px;position: absolute;left: 50%;top: 100px;transform: translate(-50%,-50%);"
  460. :current-page="page.resource.currentPage"
  461. :page-sizes="[6, 12, 18, 24]"
  462. :page-size="3"
  463. @current-change="handleCurrentChange2"
  464. layout="prev, pager, next"
  465. :page-count="page.results.totalPage-0"
  466. ></el-pagination>
  467. </div>
  468. </div>
  469. <!--登录提示-->
  470. <el-dialog
  471. :title="$i18n.locale=='zh'?'提示':'Reminder'"
  472. :visible.sync="toViewLogin"
  473. :width="$i18n.locale=='zh'?'500px':'750px'"
  474. :height="$i18n.locale=='zh'?'300px':'386px'"
  475. :before-close="toViewLoginChange"
  476. >
  477. <div style="width: 100%;height: 100%;">
  478. <img src="@/assets/img/loginTips.png" alt="" style="width: 180px;height: 180px;margin-left: 20px;">
  479. <div style="float: right;margin-right: 20px;" :style="$i18n.locale=='zh'?'width: 49%;margin-top: 10px;':'width: 453px;margin-top: -25px;'">
  480. <div style="font-size: 20px;font-weight: normal;color: #333333;
  481. font-family: HiraginoSansGB-W3, HiraginoSansGB;
  482. line-height: 40px;">
  483. {{$t('common.ReminderFirst')}}
  484. </div>
  485. <div style="font-size: 16px;font-family: HiraginoSansGB-W3, HiraginoSansGB;
  486. font-weight: normal;color: #666666;line-height: 30px;">
  487. {{$t('common.ReminderSecond')}} <span style="color: #0091FF;font-size: 18px;">{{num}}</span> {{$t('common.ReminderThird')}}
  488. </div>
  489. <div style="font-size: 14px;font-family: HiraginoSansGB-W3, HiraginoSansGB;
  490. font-weight: normal;color: #666666;line-height: 30px;">
  491. {{$t('common.ReminderForth')}}
  492. </div>
  493. <div style="font-size: 14px;font-family: HiraginoSansGB-W3, HiraginoSansGB;
  494. height:33px;line-height:60px;font-weight: normal;color: #0091FF;">
  495. <span style="margin-left: 40px;" class="cursor" @click="toView('login')">
  496. {{$t('common.ReminderFifth')}}
  497. </span>
  498. <span style="margin-left: 10px;" class="cursor" @click="toView('Register')">
  499. {{$t('common.ReminderSixth')}}
  500. </span>
  501. </div>
  502. </div>
  503. </div>
  504. </el-dialog>
  505. </div>
  506. </template>
  507. <script>
  508. import Base from "@/views/base/Base";
  509. import {getDicts,getDictByTypeValue} from '@/api/dict';
  510. import { getBaseResearchResultViews} from "@/api/research/baseResearchResultView";
  511. import { getBaseResearchResourcesViews} from "@/api/research/resource/baseResearchResourcesView";
  512. import { formatDate } from "@/utils/formatUtils";
  513. import Screen from "@/components/screen";
  514. export default {
  515. name: "resourceSharing",
  516. extends: Base,
  517. components: { Screen },
  518. data () {
  519. return {
  520. totalPage1:'',
  521. totalPage2:'',
  522. num:5,
  523. timer:'',
  524. toViewLogin:false,
  525. language:this.$i18n.locale,
  526. params: {
  527. pageNo:'',
  528. pageSize:'',
  529. language:'',
  530. status:0,
  531. name:'',
  532. researchResultType:'',
  533. researchResourcesType:'',
  534. },
  535. screenIndex:0,//screen状态
  536. resourceSharingScreen:[
  537. {
  538. label:"common.resource",
  539. value:'0'
  540. },
  541. {
  542. label:"common.researchResource",
  543. value:'1'
  544. }
  545. ],
  546. page:{
  547. results:{
  548. currentPage: 0,//当前页
  549. totalPage:'',//页数
  550. pageNo:1,
  551. pageSize:6,
  552. language:'',
  553. status:0,
  554. name:'',
  555. researchResultType:'',
  556. descStatus:0,
  557. reserveTwo:'Y',
  558. },
  559. resource:{
  560. currentPage: '',//当前页
  561. totalPage:'',//页数
  562. pageNo:1,
  563. pageSize:9,
  564. language:'',
  565. status:0,
  566. name:'',
  567. researchResourcesType:'',
  568. descStatus:0,
  569. effective:'Y',
  570. },
  571. },
  572. slideShowImg:[],
  573. slideShowImgFlag:0,
  574. classifySel1:-1,//子分类选中
  575. classifySel2:-1,//子分类选中
  576. classify1:'',
  577. screen1: {
  578. value: "common.Type",
  579. item: [
  580. ],
  581. },
  582. screen2: {
  583. value: "common.Type",
  584. item: [
  585. ],
  586. },
  587. classify2:'',
  588. rankActive:0,//时间、热度排行选中
  589. cursorList1:[],
  590. cursorList2:[],
  591. searchText1:'',
  592. searchText2:'',
  593. }
  594. },
  595. mounted() {
  596. this.paramsScreen()
  597. this.initData();
  598. },
  599. watch:{
  600. '$i18n.locale'(){
  601. this.slideShowImgFlag=0;
  602. this.slideShowImg=[];
  603. this.initData();
  604. },
  605. 'screenIndex'(){
  606. this.initData();
  607. },
  608. "toViewLogin"(){
  609. if(this.toViewLogin==true){
  610. this.loginTipsChange()
  611. }
  612. },
  613. },
  614. methods:{
  615. initData(){
  616. this.getClassify();
  617. },
  618. paramsScreen(){
  619. if(this.$route.params.key){
  620. this.screenIndex = this.$route.params.key;
  621. }
  622. },
  623. toDetails(item,index){
  624. let params = {
  625. entityId:item.entityId,
  626. // researchResultFileId:item.researchResultFileId,
  627. }
  628. this.toViewQuery('resourceSharingDetails',params)
  629. },
  630. toResourceDetails(item,index){
  631. let params = {
  632. entityId:item.entityId,
  633. }
  634. this.toViewQuery('resourceSharingResourceDetails',params)
  635. // this.toView('resourceSharingResourceDetails',params)
  636. },
  637. toViewQuery(router, json) {
  638. this.$router.push({ name: router, query: {key:JSON.stringify(json)} });
  639. },
  640. toResultsIssue(){
  641. if (!this.$Cookies.get('token')){
  642. this.toViewLogin = true;
  643. }else{
  644. this.toView('resourceform')
  645. // this.toView('resourceSharingResultsIssue')
  646. }
  647. },
  648. toResourceIssue(){
  649. if (!this.$Cookies.get('token')){
  650. this.toViewLogin = true;
  651. }else{
  652. this.toView('resourceform')
  653. // this.toView('resourceSharingResourceIssue')
  654. }
  655. },
  656. toView(router, json) {
  657. if(router=='login'||router=='Register'){
  658. clearInterval(this.timer);
  659. }
  660. this.$router.push({ name: router, params: {key:json} });
  661. },
  662. screenChange(item,index) {
  663. this.screenIndex = index;
  664. this.rankActive=0;
  665. },
  666. handleCurrentChange1(val) {
  667. this.page.results.currentPage = val;
  668. this.page.results.pageNo = val;
  669. this.initData();
  670. },
  671. handleCurrentChange2(val) {
  672. this.page.resource.currentPage = val;
  673. this.page.resource.pageNo = val;
  674. this.initData();
  675. },
  676. async getClassify(){
  677. let that = this;
  678. if (this.$i18n.locale.toUpperCase() == 'ZH') {
  679. that.classify1 = '';
  680. that.classify2 = '';
  681. that.screen1.item = [];
  682. that.screen2.item = [];
  683. await getDicts(
  684. "RESEARCH_RESULT_TYPE_DICT,RESEARCH_RESOURCE_TYPE_DICT"
  685. ).then(result => {
  686. if (result.data) {
  687. that.classify1 = result.data[0];
  688. // that.screen1.item = result.data[0];
  689. // let labels = '';
  690. // if(that.$i18n.locale == 'zh'){
  691. // labels = '研究成果'
  692. // }else {
  693. // labels = 'results'
  694. // }
  695. // that.screen1.item.unshift({
  696. // label: labels,
  697. // value: null,
  698. // });
  699. that.classify2 = result.data[1];
  700. // that.screen2.item = result.data[1];
  701. // let labels2 = '';
  702. // if(that.$i18n.locale == 'zh'){
  703. // labels2 = '调研资源'
  704. // }else {
  705. // labels2 = 'resource'
  706. // }
  707. // that.screen2.item.unshift({
  708. // label: labels2,
  709. // value: null,
  710. // });
  711. this.language = this.$i18n.locale;
  712. }
  713. })
  714. this.getCursorList1();
  715. this.getCursorList2();
  716. }else if (this.$i18n.locale.toUpperCase() == 'EN'){
  717. that.classify1 = '';
  718. that.classify2 = '';
  719. that.screen1.item = [];
  720. that.screen2.item = [];
  721. await getDicts(
  722. "RESEARCH_RESULT_TYPE_DICT_EN,RESEARCH_RESOURCE_TYPE_DICT_EN"
  723. ).then(result => {
  724. if (result.data) {
  725. that.classify1 = result.data[0];
  726. // that.screen1.item = result.data[0];
  727. // let labels = '';
  728. // if(that.$i18n.locale == 'zh'){
  729. // labels = '研究成果'
  730. // }else {
  731. // labels = 'results'
  732. // }
  733. // that.screen1.item.unshift({
  734. // label: labels,
  735. // value: null,
  736. // });
  737. that.classify2 = result.data[1];
  738. // that.screen2.item = result.data[1];
  739. // let labels2 = '';
  740. // if(that.$i18n.locale == 'zh'){
  741. // labels2 = '调研资源'
  742. // }else {
  743. // labels2 = 'resource'
  744. // }
  745. // that.screen2.item.unshift({
  746. // label: labels2,
  747. // value: null,
  748. // });
  749. this.language = this.$i18n.locale;
  750. }
  751. })
  752. this.getCursorList1();
  753. this.getCursorList2();
  754. }
  755. },
  756. getCursorList1(descStatus) {
  757. console.log(descStatus)
  758. let that = this;
  759. let param = that.page.results;
  760. if (this.$i18n.locale.toUpperCase() == 'ZH') {
  761. param.language = 'ZH';
  762. } else if (this.$i18n.locale.toUpperCase() == 'EN') {
  763. param.language = 'EN';
  764. }
  765. if(descStatus==0||descStatus==1){
  766. param.descStatus = descStatus
  767. }
  768. getBaseResearchResultViews(param).then((resulet) => {
  769. let that = this;
  770. let data = resulet.data;
  771. if (data.baseResearchResultViews) {
  772. that.cursorList1 = data.baseResearchResultViews;
  773. that.cursorList1.forEach((i) => {
  774. i.createDate = i.createDate ? formatDate(i.createDate, "YYYY-MM-DD") : "";
  775. })
  776. for (let i=0;i<that.cursorList1.length;i++){
  777. for (let o=0;o<that.classify1.length;o++){
  778. if (that.cursorList1[i].researchResultType == that.classify1[o].value){
  779. that.cursorList1[i].researchResultType = that.classify1[o].label;
  780. }
  781. }
  782. }
  783. if(that.slideShowImgFlag==0||that.slideShowImgFlag==1){
  784. that.cursorList1.forEach((i) => {
  785. if(i.uploadCarouselMap == 'Y'){
  786. let arr = {
  787. name:i.name,
  788. address:'',
  789. affiliatedUnitName:i.affiliatedUnitName,
  790. researchType:i.researchResultType,
  791. createDate:i.createDate,
  792. carouselMapAddress:i.carouselMapAddress,
  793. entityId:i.entityId,
  794. toView:0,
  795. }
  796. that.slideShowImg.push(arr);
  797. }
  798. })
  799. that.slideShowImgFlag++;
  800. }
  801. }
  802. if (data.page){
  803. that.page.results.totalPage = data.page.totalPage;
  804. that.totalPage1 = data.page.totalPage;
  805. }
  806. });
  807. },
  808. getCursorList2(descStatus){
  809. let that = this;
  810. let param = that.page.resource;
  811. if (this.$i18n.locale.toUpperCase() == 'ZH') {
  812. param.language = 'ZH';
  813. } else if (this.$i18n.locale.toUpperCase() == 'EN') {
  814. param.language = 'EN';
  815. }
  816. if(descStatus==0||descStatus==1){
  817. param.descStatus = descStatus
  818. }
  819. getBaseResearchResourcesViews(param).then((resulet) => {
  820. let that = this;
  821. let data = resulet.data;
  822. if (data.baseResearchResourcesViews) {
  823. that.cursorList2 = data.baseResearchResourcesViews;
  824. that.cursorList2.forEach((i) => {
  825. i.createDate = i.createDate ? formatDate(i.createDate, "YYYY-MM-DD") : "";
  826. if (i.researchResourcesMedia){
  827. i.researchResourcesMedia = i.researchResourcesMedia.split(',')
  828. i.researchResourcesMedia = i.researchResourcesMedia[0]
  829. }
  830. })
  831. for (let i=0;i<that.cursorList2.length;i++){
  832. for (let o=0;o<that.classify2.length;o++){
  833. if (that.cursorList2[i].researchResourcesType == that.classify2[o].value){
  834. that.cursorList2[i].researchResourcesType = that.classify2[o].label;
  835. }
  836. }
  837. }
  838. if(that.slideShowImgFlag==0||that.slideShowImgFlag==1){
  839. that.cursorList2.forEach((i) => {
  840. if(i.uploadCarouselMap == 'Y'){
  841. let arr = {
  842. name:i.name,
  843. address:i.address,
  844. affiliatedUnitName:i.affiliatedUnitName,
  845. researchType:i.researchResourcesType,
  846. createDate:'',
  847. carouselMapAddress:i.carouselMapAddress,
  848. entityId:i.entityId,
  849. toView:1,
  850. }
  851. that.slideShowImg.push(arr);
  852. }
  853. })
  854. that.slideShowImgFlag++;
  855. }
  856. }
  857. if (data.page){
  858. that.page.resource.totalPage = data.page.totalPage;
  859. that.totalPage2 = data.page.totalPage;
  860. }
  861. });
  862. },
  863. screenBack(data){
  864. console.log(data);
  865. let item = {
  866. value:data.click1
  867. }
  868. this.dataChangeByType1(item,0)
  869. },
  870. screenBack2(data){
  871. console.log(data);
  872. let item = {
  873. value:data.click1
  874. }
  875. this.dataChangeByType2(item,0)
  876. },
  877. dataChangeByType1(item,index){
  878. let that = this;
  879. let param = that.page.results;
  880. if (this.$i18n.locale.toUpperCase() == 'ZH') {
  881. param.language = 'ZH';
  882. } else if (this.$i18n.locale.toUpperCase() == 'EN') {
  883. param.language = 'EN';
  884. }
  885. if(item == -1){
  886. that.classifySel1 = item
  887. param.researchResultType = '';
  888. }else{
  889. that.classifySel1 = index
  890. param.researchResultType = item.value;
  891. }
  892. getBaseResearchResultViews(param).then((resulet) => {
  893. let data = resulet.data;
  894. if (data.baseResearchResultViews) {
  895. that.cursorList1 = data.baseResearchResultViews;
  896. that.cursorList1.forEach((i) => {
  897. i.createDate = i.createDate ? formatDate(i.createDate, "YYYY-MM-DD") : "";
  898. })
  899. for (let i=0;i<that.cursorList1.length;i++){
  900. for (let o=0;o<that.classify1.length;o++){
  901. if (that.cursorList1[i].researchResultType == that.classify1[o].value){
  902. that.cursorList1[i].researchResultType = that.classify1[o].label;
  903. }
  904. }
  905. }
  906. if(that.slideShowImgFlag==0||that.slideShowImgFlag==1){
  907. that.cursorList1.forEach((i) => {
  908. if(i.uploadCarouselMap == 'Y'){
  909. that.slideShowImg.push(i.carouselMapAddress);
  910. }
  911. })
  912. that.slideShowImgFlag++;
  913. }
  914. }else{
  915. that.cursorList1 = {};
  916. }
  917. if (data.page){
  918. that.page.results.totalPage = data.page.totalPage;
  919. that.totalPage1 = data.page.totalPage;
  920. }
  921. });
  922. },
  923. dataChangeByType2(item,index){
  924. let that = this;
  925. let param = that.page.resource;
  926. if (this.$i18n.locale.toUpperCase() == 'ZH') {
  927. param.language = 'ZH';
  928. } else if (this.$i18n.locale.toUpperCase() == 'EN') {
  929. param.language = 'EN';
  930. }
  931. if(item == -1){
  932. that.classifySel2 = item
  933. param.researchResourcesType = '';
  934. }else{
  935. that.classifySel2 = index
  936. param.researchResourcesType = item.value;
  937. }
  938. getBaseResearchResourcesViews(param).then((resulet) => {
  939. let data = resulet.data;
  940. if (data.baseResearchResourcesViews) {
  941. that.cursorList2 = data.baseResearchResourcesViews;
  942. that.cursorList2.forEach((i) => {
  943. i.createDate = i.createDate ? formatDate(i.createDate, "YYYY-MM-DD") : "";
  944. if (i.researchResourcesMedia){
  945. i.researchResourcesMedia = i.researchResourcesMedia.split(',');
  946. i.researchResourcesMedia = i.researchResourcesMedia[0]
  947. }
  948. });
  949. for (let i=0;i<that.cursorList2.length;i++){
  950. for (let o=0;o<that.classify2.length;o++){
  951. if (that.cursorList2[i].researchResourcesType == that.classify2[o].value){
  952. that.cursorList2[i].researchResourcesType = that.classify2[o].label;
  953. }
  954. }
  955. }
  956. if(that.slideShowImgFlag==0||that.slideShowImgFlag==1){
  957. that.cursorList2.forEach((i) => {
  958. if(i.uploadCarouselMap == 'Y'){
  959. that.slideShowImg.push(i.carouselMapAddress);
  960. }
  961. })
  962. that.slideShowImgFlag++;
  963. }
  964. }else{
  965. that.cursorList2 = {};
  966. }
  967. if (data.page){
  968. that.page.resource.totalPage = data.page.totalPage;
  969. that.totalPage2 = data.page.totalPage;
  970. }
  971. });
  972. },
  973. dataChangeByName1(item,index){
  974. let that = this;
  975. let param = that.page.results;
  976. if (this.$i18n.locale.toUpperCase() == 'ZH') {
  977. param.language = 'ZH';
  978. } else if (this.$i18n.locale.toUpperCase() == 'EN') {
  979. param.language = 'EN';
  980. }
  981. param.name = that.searchText1;
  982. getBaseResearchResultViews(param).then((resulet) => {
  983. let that = this;
  984. let data = resulet.data;
  985. if (data.baseResearchResultViews) {
  986. that.cursorList1 = data.baseResearchResultViews;
  987. that.cursorList1.forEach((i) => {
  988. i.createDate = i.createDate ? formatDate(i.createDate, "YYYY-MM-DD") : "";
  989. })
  990. for (let i=0;i<that.cursorList1.length;i++){
  991. for (let o=0;o<that.classify1.length;o++){
  992. if (that.cursorList1[i].researchResultType == that.classify1[o].value){
  993. that.cursorList1[i].researchResultType = that.classify1[o].label;
  994. }
  995. }
  996. }
  997. if(that.slideShowImgFlag==0||that.slideShowImgFlag==1){
  998. that.cursorList1.forEach((i) => {
  999. if(i.uploadCarouselMap == 'Y'){
  1000. that.slideShowImg.push(i.carouselMapAddress);
  1001. }
  1002. })
  1003. that.slideShowImgFlag++;
  1004. }
  1005. }else{
  1006. that.cursorList1 = {};
  1007. }
  1008. if (data.page){
  1009. that.page.results.totalPage = data.page.totalPage;
  1010. that.totalPage1 = data.page.totalPage;
  1011. }
  1012. });
  1013. },
  1014. dataChangeByName2(item,index){
  1015. let that = this;
  1016. let param = that.page.resource;
  1017. if (this.$i18n.locale.toUpperCase() == 'ZH') {
  1018. param.language = 'ZH';
  1019. } else if (this.$i18n.locale.toUpperCase() == 'EN') {
  1020. param.language = 'EN';
  1021. }
  1022. param.name = that.searchText2;
  1023. getBaseResearchResourcesViews(param).then((resulet) => {
  1024. let that = this;
  1025. let data = resulet.data;
  1026. if (data.baseResearchResourcesViews) {
  1027. that.cursorList2 = data.baseResearchResourcesViews;
  1028. that.cursorList2.forEach((i) => {
  1029. i.createDate = i.createDate ? formatDate(i.createDate, "YYYY-MM-DD") : "";
  1030. if (i.researchResourcesMedia){
  1031. i.researchResourcesMedia = i.researchResourcesMedia.split(',')
  1032. i.researchResourcesMedia = i.researchResourcesMedia[0]
  1033. }
  1034. })
  1035. for (let i=0;i<that.cursorList2.length;i++){
  1036. for (let o=0;o<that.classify2.length;o++){
  1037. if (that.cursorList2[i].researchResourcesType == that.classify2[o].value){
  1038. that.cursorList2[i].researchResourcesType = that.classify2[o].label;
  1039. }
  1040. }
  1041. }
  1042. if(that.slideShowImgFlag==0||that.slideShowImgFlag==1){
  1043. that.cursorList2.forEach((i) => {
  1044. if(i.uploadCarouselMap == 'Y'){
  1045. that.slideShowImg.push(i.carouselMapAddress);
  1046. }
  1047. })
  1048. that.slideShowImgFlag++;
  1049. }
  1050. }else{
  1051. that.cursorList2 = {};
  1052. }
  1053. if (data.page){
  1054. that.page.resource.totalPage = data.page.totalPage;
  1055. that.totalPage2 = data.page.totalPage;
  1056. }
  1057. });
  1058. },
  1059. dataChangeByTime1(){
  1060. console.log('time1')
  1061. let that = this;
  1062. let param = that.page.results;
  1063. if (this.$i18n.locale.toUpperCase() == 'ZH') {
  1064. param.language = 'ZH';
  1065. } else if (this.$i18n.locale.toUpperCase() == 'EN') {
  1066. param.language = 'EN';
  1067. }
  1068. this.getCursorList1(0)
  1069. this.rankActive = 0;
  1070. },
  1071. dataChangeByHeat1(){
  1072. let that = this;
  1073. let param = that.page.results;
  1074. if (this.$i18n.locale.toUpperCase() == 'ZH') {
  1075. param.language = 'ZH';
  1076. } else if (this.$i18n.locale.toUpperCase() == 'EN') {
  1077. param.language = 'EN';
  1078. }
  1079. this.getCursorList1(1)
  1080. this.rankActive = 1;
  1081. },
  1082. dataChangeByTime2(){
  1083. let that = this;
  1084. let param = that.page.resource;
  1085. if (this.$i18n.locale.toUpperCase() == 'ZH') {
  1086. param.language = 'ZH';
  1087. } else if (this.$i18n.locale.toUpperCase() == 'EN') {
  1088. param.language = 'EN';
  1089. }
  1090. this.getCursorList2(0)
  1091. this.rankActive = 0;
  1092. },
  1093. dataChangeByHeat2(){
  1094. let that = this;
  1095. let param = that.page.resource;
  1096. if (this.$i18n.locale.toUpperCase() == 'ZH') {
  1097. param.language = 'ZH';
  1098. } else if (this.$i18n.locale.toUpperCase() == 'EN') {
  1099. param.language = 'EN';
  1100. }
  1101. this.getCursorList2(1)
  1102. this.rankActive = 1;
  1103. },
  1104. // 判断未登录跳转是否关闭
  1105. toViewLoginChange(done){
  1106. this.toViewLogin=false;
  1107. this.num=5;
  1108. clearInterval(this.timer);
  1109. },
  1110. loginTipsChange(){
  1111. const that=this;
  1112. this.num =5;
  1113. // clearInterval(timer_interval);
  1114. this.timer = setInterval(function() {
  1115. if (that.num > 0) {
  1116. that.num--;
  1117. } else {
  1118. if(that.toViewLogin==true){
  1119. clearInterval(that.timer);
  1120. that.toView('login');
  1121. }else {
  1122. clearInterval(that.timer);
  1123. }
  1124. }
  1125. }, 1000)
  1126. },
  1127. },
  1128. }
  1129. </script>
  1130. <style scoped>
  1131. .oneLine{
  1132. /* 隐藏溢出元素 */
  1133. overflow: hidden;
  1134. /* 单行显示 */
  1135. white-space: nowrap;
  1136. /* 溢出显示省略号 */
  1137. text-overflow: ellipsis;
  1138. }
  1139. .twoLine{
  1140. overflow : hidden;
  1141. text-overflow: ellipsis;
  1142. display: -webkit-box;
  1143. -webkit-line-clamp: 3;
  1144. -webkit-box-orient: vertical;
  1145. }
  1146. .threeLine{
  1147. overflow : hidden;
  1148. text-overflow: ellipsis;
  1149. display: -webkit-box;
  1150. -webkit-line-clamp: 3;
  1151. -webkit-box-orient: vertical;
  1152. }
  1153. .pointer:hover{
  1154. cursor: pointer;
  1155. }
  1156. .box {
  1157. margin-top: 10px;
  1158. background: #fff;
  1159. /* height: 500px; */
  1160. padding: 20px 0;
  1161. }
  1162. .crumbs {
  1163. margin:0 20px;
  1164. }
  1165. .screen1 {
  1166. background: linear-gradient(180deg, #3280E2 0%, #144E97 100%);
  1167. border-radius: 20px 20px 20px 20px;
  1168. padding: 8px 12px;
  1169. color: #F0F3F8;
  1170. margin-left: 10px;
  1171. }
  1172. .screen2 {
  1173. font-size: 14px;
  1174. background: linear-gradient(180deg, #B4D5FF 0%, #4F81BF 100%);
  1175. border-radius: 20px;
  1176. padding: 8px 12px;
  1177. color: #165099;
  1178. margin-left: 10px;
  1179. }
  1180. .mainBody{
  1181. width: 100%;
  1182. margin-top: 10px;
  1183. box-sizing: border-box;
  1184. }
  1185. .mainBody .slideShow{
  1186. width: 100%;
  1187. }
  1188. .mainBody .researchClassify{
  1189. cursor: pointer;
  1190. /* margin: 0 20px; */
  1191. height: 51px;
  1192. overflow: hidden;
  1193. margin: 20px 0 30px 0;
  1194. background-color: #F8F8F8;
  1195. }
  1196. .mainBody .researchClassify .option{
  1197. /*float: left;*/
  1198. height: 51px;
  1199. color: #9B9B9B;
  1200. margin: 0 20px;
  1201. font-size: 16px;
  1202. font-weight: 400;
  1203. line-height: 51px;
  1204. /* padding: 0 10px; */
  1205. box-sizing: border-box;
  1206. }
  1207. .mainBody .researchClassify .option .active{
  1208. color: #6699FF;
  1209. font-weight: 600;
  1210. /*color: #eb8154;*/
  1211. /*background-color: #fbecda;*/
  1212. border-radius: 10px;
  1213. line-height: 20px;
  1214. }
  1215. .mainBody .researchClassify .rankSearchPub{
  1216. float: right;
  1217. height: 56px;
  1218. box-sizing: border-box;
  1219. }
  1220. .mainBody .researchClassify .rankSearchPub .rank{
  1221. float: left;
  1222. height: 51px;
  1223. line-height: 51px;
  1224. font-size: 16px;
  1225. color: rgba(0,0,0,0.65);
  1226. }
  1227. .mainBody .researchClassify .rankSearchPub .rank .active{
  1228. color: #6699FF;
  1229. font-weight: 600;
  1230. /*color: #eb8154;*/
  1231. /*background-color: #fbecda;*/
  1232. border-radius: 10px;
  1233. line-height: 20px;
  1234. }
  1235. .mainBody .researchClassify .rankSearchPub .search{
  1236. float: left;
  1237. width: 103px;
  1238. /*height: 32px;*/
  1239. margin: 10px 15px 9px 0;
  1240. border-radius: 5px;
  1241. position: relative;
  1242. }
  1243. .mainBody .researchClassify .rankSearchPub .search input[type=text]{
  1244. width: 103px;
  1245. height: 32px;
  1246. border: 1px solid #D9D9D9;
  1247. margin: 0;
  1248. padding: 0 32px 0 5px;
  1249. box-sizing: border-box;
  1250. border-radius: 4px;
  1251. }
  1252. .mainBody .researchClassify .rankSearchPub .search input[type=text]:focus{
  1253. border: 1px solid #0091FF;
  1254. outline: none;
  1255. }
  1256. .mainBody .researchClassify .rankSearchPub .publishing{
  1257. float: left;
  1258. width: 72px;
  1259. height: 32px;
  1260. line-height: 30px;
  1261. margin: 9px 30px 8px 0;
  1262. /*padding: 0 20px;*/
  1263. box-sizing: border-box;
  1264. border: 1px solid #1890FF;
  1265. color: #1890FF;
  1266. border-radius: 16px;
  1267. text-align: center;
  1268. }
  1269. .mainBody .cursor{
  1270. width: 30%;
  1271. /*height: 525px;*/
  1272. height: 572px;
  1273. border: 1px solid rgba(228, 228, 228, 1);
  1274. float: left;
  1275. margin:0 2.5% 30px 2.5%;
  1276. box-sizing: border-box;
  1277. position: relative
  1278. }
  1279. .activity {
  1280. height: 100%;
  1281. background: url(../../assets/img/introductionCooperation/detailsbg.png) no-repeat;
  1282. }
  1283. </style>
  1284. <style>
  1285. .box .el-input__inner{
  1286. height: 40px;
  1287. }
  1288. .search .el-input__inner{
  1289. padding-right: 32px;
  1290. }
  1291. </style>