collection.vue 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359
  1. <template>
  2. <view>
  3. <view class="mainstay" :class="{prevent_move:modelFlag}" :style="{height:photoheight-23+'px'}">
  4. <block v-for="(list,index) in lists" :key="index">
  5. <view class="collList">
  6. <view class="listLeft">
  7. <view class="collPic"><image src="../../static/school.png"></image></view>
  8. <view class="collName">{{list.name}}</view>
  9. </view>
  10. <view class="listRight">
  11. <view class="listTop">
  12. <view>
  13. <view>
  14. <view class="collAddress">
  15. <view class="deletDeg">{{list.address}}</view>
  16. </view>
  17. <view class="collType">
  18. <view class="deletDeg">{{list.type}}</view>
  19. </view>
  20. <view class="collProject">
  21. <view class="deletDeg">{{list.project}}</view>
  22. </view>
  23. </view>
  24. <view class="score">
  25. <view class="collMaxSco u-f"><view>最高分:</view>{{list.maxSco}}</view>
  26. <view class="collMinSco u-f"><view>最低分:</view>{{list.minSco}}</view>
  27. </view>
  28. <view class="gailv">
  29. 录取概率:-
  30. </view>
  31. </view>
  32. <view>
  33. <view class="icon iconfont icon-wodeshoucang" @tap="delCollection(index)">
  34. </view>
  35. </view>
  36. </view>
  37. <view class="listBottom">
  38. <view class="collLevel" @tap="matchFun(index)">分数匹配专业</view>
  39. </view>
  40. </view>
  41. </view>
  42. </block>
  43. <!-- 遮罩层 -->
  44. <view class="page" v-if="modelFlag"></view>
  45. </view>
  46. <!-- 弹窗 -->
  47. <view class="model" v-if="modelFlag">
  48. <view class="title">
  49. <view>{{modelTitle}}</view>-专业列表2018
  50. <view class="icon iconfont icon-guanbi1" @tap="canelModel"></view>
  51. </view>
  52. <view class="select">
  53. <view>专业</view>
  54. <view>平均分</view>
  55. <view>最低分</view>
  56. <view>录取<br/>分数</view>
  57. <view>录取<br/>批次</view>
  58. </view>
  59. <view class="content">
  60. <view class="left"></view>
  61. <view class="right">2018年数据暂未开放,敬请期待</view>
  62. </view>
  63. </view>
  64. </view>
  65. </template>
  66. <script>
  67. export default {
  68. data() {
  69. return {
  70. lists:getApp().globalData.global_collection_arr,
  71. modelTitle:"大学",
  72. modelFlag:false,
  73. photoheight:200,
  74. }
  75. },
  76. updated() {
  77. uni.getSystemInfo({
  78. success:e=>{
  79. this.photoheight=e.windowHeight
  80. console.log(this.photoheight);
  81. }
  82. });
  83. },
  84. methods:{
  85. delCollection(index){
  86. uni.showModal({
  87. title:"取消收藏",
  88. content:"确定要取消收藏该院校吗?",
  89. mask:true,
  90. success:function(res) {
  91. if(res.confirm){
  92. console.log("queding");
  93. getApp().globalData.global_collection_arr.splice(index,1)
  94. }
  95. }
  96. })
  97. },
  98. matchFun(index){
  99. this.modelTitle=getApp().globalData.global_collection_arr[index].name
  100. this.modelFlag=true
  101. },
  102. canelModel(){
  103. this.modelFlag=false
  104. }
  105. }
  106. }
  107. </script>
  108. <style scoped>
  109. .mainstay{
  110. margin-top: 55upx;
  111. width: 100%;
  112. }
  113. .mainstay .collList{
  114. width:100%;
  115. height: 310upx;
  116. border-top: 25upx solid rgba(245,245,245,1);
  117. display: flex;
  118. }
  119. /* 校徽部分 */
  120. .mainstay .collList .listLeft{
  121. display: flex;
  122. flex-direction: column;
  123. flex-wrap: wrap;
  124. flex: 1;
  125. justify-content: center;
  126. align-items: center;
  127. }
  128. .mainstay .collList .listLeft .collPic{
  129. width: 100%;
  130. height: 210upx;
  131. }
  132. .mainstay .collList .listLeft .collPic image{
  133. margin-top: 20%;
  134. margin-left: 5%;
  135. width: 90%;
  136. height: 80%;
  137. }
  138. /* 左边学校名字 */
  139. .mainstay .collList .listLeft .collName{
  140. width: 100%;
  141. height: 100upx;
  142. display: flex;
  143. flex-wrap: wrap;
  144. align-items: center;
  145. justify-content: center;
  146. text-align: center;
  147. font-size: 30upx;
  148. }
  149. .mainstay .collList .listRight{
  150. display: flex;
  151. flex: 3;
  152. flex-direction: column;
  153. }
  154. .mainstay .collList .listRight .listTop{
  155. display: flex;
  156. flex-wrap: wrap;
  157. height: 210upx;
  158. }
  159. /* 右边的分布 */
  160. .mainstay .collList .listRight .listTop>view{
  161. display: flex;
  162. flex-direction: column;
  163. color: black;
  164. flex-wrap: nowrap;
  165. }
  166. /* 地区,类型,985/211 */
  167. .mainstay .collList .listRight .listTop>view>view:first-of-type{
  168. display: flex;
  169. flex-direction: row;
  170. flex-wrap: wrap;
  171. height: 100upx;
  172. align-items: center;
  173. }
  174. /* 平行四边形样式 */
  175. .mainstay .collList .listRight .listTop>view>view:first-of-type>view{
  176. display: flex;
  177. background: #F1F1F1;
  178. min-width: 20%;
  179. max-width: 42%;
  180. margin: 20upx 0upx 20upx 20upx;
  181. justify-content: center;
  182. align-items: center;
  183. transform: skew(-12deg);
  184. z-index: -1;
  185. }
  186. /* 平行四边形里面字体的样式 去除倾斜*/
  187. .deletDeg{
  188. font-size: 25upx;
  189. transform: skew(12deg);
  190. }
  191. /* 最低分,最高分 */
  192. .mainstay .collList .listRight .listTop .score{
  193. display: flex;
  194. height: 70upx;
  195. flex-direction: row;
  196. font-size: 30upx;
  197. }
  198. .mainstay .collList .listRight .listTop .gailv{
  199. font-size: 30upx;
  200. }
  201. /* 最高分,最低分颜色 */
  202. .mainstay .collList .listRight .listTop .collMaxSco>view{
  203. color: #999999;
  204. margin-right: 15upx;
  205. }
  206. .mainstay .collList .listRight .listTop .collMaxSco{
  207. margin-right: 50upx;
  208. margin-left: 20upx;
  209. }
  210. .mainstay .collList .listRight .listTop .collMinSco>view{
  211. color: #999999;
  212. margin-right: 15upx;
  213. }
  214. .mainstay .collList .listRight .listTop .gailv{
  215. margin-left: 20upx;
  216. color: #999999;
  217. }
  218. /* 收藏图标和左边内容的比例是3:1 */
  219. .mainstay .collList .listRight .listTop>view:first-of-type{
  220. display: flex;
  221. flex-direction: column;
  222. flex-wrap: wrap;
  223. flex: 3;
  224. }
  225. .mainstay .collList .listRight .listTop>view:last-of-type{
  226. flex: 1;
  227. justify-content: center;
  228. align-items: center;
  229. text-align: center;
  230. font-size: 50upx!important;
  231. display: flex;
  232. }
  233. .mainstay .collList .listRight .listTop .icon{
  234. flex: 1;
  235. justify-content: center;
  236. align-items: center;
  237. text-align: center;
  238. font-size: 50upx!important;
  239. color: red;
  240. font-weight: 100;
  241. color:#FFB400;
  242. }
  243. .icon-wodeshoucang{
  244. color:#FFB400;
  245. font-size: 50upx!important;
  246. }
  247. /* 分数匹配专业行的设置 */
  248. .mainstay .collList .listRight .listBottom{
  249. padding-top: 20upx;
  250. padding-left: 350upx;
  251. font-size: 30upx;
  252. color: #999999;
  253. }
  254. .mainstay .collList .listRight .listBottom>view{
  255. display: flex;
  256. flex-direction: row;
  257. }
  258. .mainstay .collList .listRight .listBottom .collLevel>view:last-of-type{
  259. color: red;
  260. margin-left: 10upx;
  261. }
  262. .u-f{
  263. display: flex;
  264. justify-content: center;
  265. align-items: center;
  266. text-align: center;
  267. }
  268. .u-s{
  269. display: flex;
  270. flex-direction: row;
  271. align-items: center;
  272. justify-content: center;
  273. text-align: center;
  274. flex: 1;
  275. }
  276. /* 模态框位置大小 */
  277. .model{
  278. position: fixed;
  279. top: 30%;
  280. left: 10%;
  281. display: flex;
  282. flex-direction: column;
  283. width: 80%;
  284. height: 40%;
  285. border: 1upx solid black;
  286. background: rgba(255,255,255,1);
  287. z-index: 999;
  288. }
  289. /* 模态框标题 */
  290. .model .title{
  291. display: flex;
  292. background: rgba(255,255,255,1);
  293. width: 100%;
  294. align-items: center;
  295. justify-content: center;
  296. font-size: 26upx;
  297. margin-top: 20upx;
  298. margin-bottom: 20upx;
  299. }
  300. /* 模态框x号 */
  301. .model .title>view:last-of-type{
  302. position: absolute;
  303. right: 30upx;
  304. font-size: 20upx;
  305. }
  306. .model .select{
  307. display: flex;
  308. justify-content: flex-start;
  309. width: 100%;
  310. flex-direction: row;
  311. }
  312. .model .select>view{
  313. display: flex;
  314. align-items: center;
  315. justify-content: center;
  316. width: 20%;
  317. text-align: center;
  318. font-size: 30upx;
  319. background:#D9D9D9;
  320. padding-top: 20upx;
  321. padding-bottom: 20upx;
  322. }
  323. .model .content{
  324. display: flex;
  325. flex-direction: row;
  326. justify-content: center;
  327. align-items: center;
  328. height: 100%;
  329. background:#D9D9D9
  330. }
  331. .model .content .left{
  332. width: 20%;
  333. height: 100%;
  334. background: rgba(255,255,255,1);
  335. }
  336. .model .content .right{
  337. width: 80%;
  338. font-size: 30upx;
  339. display: flex;
  340. justify-content: center;
  341. align-items: center;
  342. }
  343. /* 遮罩层 */
  344. .page{
  345. width: 100%;
  346. height: 100%;
  347. position: fixed;
  348. bottom: 0upx;
  349. background: rgba(0,0,0,0.2);
  350. z-index: 100;
  351. }
  352. .prevent_move{
  353. overflow: hidden;
  354. }
  355. </style>