index.vue 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454
  1. <template>
  2. <view class="bg">
  3. <view class="search_bar">
  4. <image class="search_icon"
  5. src="https://test.jue-ming.com:8849/api/show?filePath=./webo/toutiao/index/search_icon.png"
  6. mode="widthFix"></image> <input type="text" :value="searchKey" @input="searchHandle">
  7. </view>
  8. <view class="banner1">
  9. <image src="https://test.jue-ming.com:8849/api/show?filePath=./webo/toutiao/index/banner1.png"
  10. mode="widthFix">
  11. </image>
  12. <text>客服电话:18513669826</text>
  13. </view>
  14. <view class="menu_bar">
  15. <view class="menu_item" v-for="item in menuList" @click="goDetail(item)">
  16. <image :src="item.imageUrl" class="menu_icon" mode="widthFix" />
  17. <view class="menu_name">{{ item.name }}</view>
  18. </view>
  19. </view>
  20. <view class="list_title">
  21. <image src="https://test.jue-ming.com:8849/api/show?filePath=./webo/toutiao/index/edit_icon.png"
  22. mode="widthFix"></image>
  23. <text>推荐测试</text>
  24. </view>
  25. <view class="list_wrap">
  26. <view class="list_item" v-for="item in searchList" @click="goDetail(item)">
  27. <view class="list_item_head">
  28. <image :src="item.imageUrl" mode="widthFix"></image>
  29. </view>
  30. <view class="list_item_body">
  31. <view class="item_top">
  32. <view class="list_item_title">{{item.name}}</view>
  33. <view class="list_item_flag">
  34. <image v-if="item.zybg"
  35. src="https://test.jue-ming.com:8849/api/show?filePath=./webo/toutiao/index/zybg.png"
  36. mode="widthFix"></image>
  37. <image v-if="item.qltj"
  38. src="https://test.jue-ming.com:8849/api/show?filePath=./webo/toutiao/index/qltj.png"
  39. mode="widthFix"></image>
  40. </view>
  41. <view class="list_item_desc">{{getDesc(item.desc)}}</view>
  42. </view>
  43. <view class="list_item_operate">
  44. <view class="item_price"><text class="zkj">{{item.zkj}}</text><text
  45. class="yj">{{item.yj}}</text></view>
  46. <view class="btn_test">去测一测</view>
  47. </view>
  48. </view>
  49. </view>
  50. </view>
  51. </view>
  52. </template>
  53. <script>
  54. //防抖
  55. let timer_debounce = null
  56. const debounce = function(func, wait) {
  57. if (timer_debounce) {
  58. clearTimeout(timer_debounce)
  59. timer_debounce = null;
  60. }
  61. timer_debounce = setTimeout(() => {
  62. func.apply(this, arguments)
  63. }, wait)
  64. }
  65. export default {
  66. data() {
  67. return {
  68. menuList: [{
  69. name: '标准情商测试',
  70. imageUrl: 'https://test.jue-ming.com:8849/api/show?filePath=./webo/toutiao/index/menu_item1.png',
  71. pageUrl: '/newScale/EQtest/index'
  72. },
  73. {
  74. name: 'MBTI人格测试',
  75. imageUrl: 'https://test.jue-ming.com:8849/api/show?filePath=./webo/toutiao/index/menu_item2.png',
  76. pageUrl: '/newScale/Mbti/index'
  77. }, {
  78. name: '家庭关系测试',
  79. imageUrl: 'https://test.jue-ming.com:8849/api/show?filePath=./webo/toutiao/index/menu_item3.png',
  80. pageUrl: '/newScale/Family/index'
  81. },
  82. {
  83. name: '睡眠质量测试',
  84. imageUrl: 'https://test.jue-ming.com:8849/api/show?filePath=./webo/toutiao/index/menu_item4.png',
  85. pageUrl: '/newScale/Sleep/index'
  86. }
  87. ],
  88. scaleList: [{
  89. name: 'MBTI十六型人格测试',
  90. desc: '对同一事物,不同的人有不同的角度和感受。想知道你的情商有多高吗?为了不影响测试结果,请您如实回答以下问题,选择最符合自己的选项',
  91. qltj: true,
  92. zybg: true,
  93. zkj: '¥19.9',
  94. yj: '¥29.9',
  95. imageUrl: 'https://test.jue-ming.com:8849/api/show?filePath=./webo/toutiao/index/list_item1.png',
  96. pageUrl: '/newScale/EQtest/index',
  97. },
  98. {
  99. name: '在婚姻里,你有安全感吗?',
  100. desc: '有很多人觉得单身的日子孤独寂寞,看到身边结了婚的朋友很和睦幸福的样子,就会很羡慕,寄希望于婚姻,希望婚姻能够帮助自己赶走孤独寂寞的滋味,能够带给自己足够的安全感。婚姻是一份爱和责任,能够带给每个人的感受不同,至于安全感,当然也是不一样的。',
  101. qltj: true,
  102. zybg: true,
  103. zkj: '¥0.01',
  104. yj: '¥9.9',
  105. imageUrl: 'https://test.jue-ming.com:8849/api/show?filePath=./webo/toutiao/index/list_item2.png',
  106. pageUrl: '/newScale/Marriage/index'
  107. }, {
  108. name: '看一下自己的“神经”是否正常',
  109. desc: '本量表含有20道关于一般焦虑症状的问题,请仔细阅读每一道题及其选项,选出您认为最...',
  110. qltj: true,
  111. zybg: true,
  112. zkj: '¥0.01',
  113. yj: '¥9.9',
  114. imageUrl: 'https://test.jue-ming.com:8849/api/show?filePath=./webo/toutiao/index/list_item3.png',
  115. pageUrl: '/newScale/Mental/index'
  116. },
  117. {
  118. name: '标准情商测试',
  119. desc: '对同一事物,不同的人有不同的角度和感受。想知道你的情商有多高吗?为了不影响测试结果,请您如实回答以下问题,选择最符合自己的选项',
  120. qltj: true,
  121. zybg: true,
  122. zkj: '¥9.9',
  123. yj: '¥19.9',
  124. imageUrl: 'https://test.jue-ming.com:8849/api/show?filePath=./webo/toutiao/index/list_item4.png',
  125. pageUrl: '/newScale/EQtest/index'
  126. },
  127. {
  128. name: '你让异性的心动指数有多高',
  129. desc: '爱情是一件很美好的事情,也是一件很奇妙的事情。社交心理学讲,一段关系的产生,往往从人的第一印象开始。如果你给对方的印象还不错,将来无论你发生什么错误,都会认为是意外,但是如果你给对方留下的是坏印象,那么对方就会觉得你就是这种常犯错误的人。测试下你让异性的心动指数有多高吧~',
  130. qltj: true,
  131. zybg: true,
  132. zkj: '¥0.01',
  133. yj: '¥9.9',
  134. imageUrl: 'https://test.jue-ming.com:8849/api/show?filePath=./webo/toutiao/index/list_item5.png',
  135. pageUrl: '/newScale/Charm/index',
  136. },
  137. {
  138. name: '你是否正在逐渐老化',
  139. desc: '老化是指:“到达成熟期之后,身心各方面的技能减缓、衰退的现象。”',
  140. qltj: true,
  141. zybg: true,
  142. zkj: '¥0.01',
  143. yj: '¥9.9',
  144. imageUrl: 'https://test.jue-ming.com:8849/api/show?filePath=./webo/toutiao/index/list_item6.png',
  145. pageUrl: '/newScale/Senile/index'
  146. }, {
  147. name: '职业心理年龄测试',
  148. desc: '打拼职场心态很关键,心态好,才能更好地工作。成熟的职业心理是事业成功的有力保障。相比起你的生理年龄,你的职场心理年龄多大了?是否已经足够成熟?',
  149. qltj: true,
  150. zybg: true,
  151. zkj: '¥0.01',
  152. yj: '¥9.9',
  153. imageUrl: 'https://test.jue-ming.com:8849/api/show?filePath=./webo/toutiao/index/list_item7.png',
  154. pageUrl: '/newScale/Career/index'
  155. },
  156. {
  157. name: '睡眠质量测试',
  158. desc: '指导语决定睡眠是否充足,除了量的要求外,更重要的还有质的要求。睡眠质的含义主要是睡眠深度,与慢波睡眠和快波睡眠两者比例相关,特别是深慢波睡眠对改善大脑疲劳有重要作用。睡眠的质量一般可用以下标准来衡量:(1)、入睡快,上床后10-30分钟左右入睡;(2)、睡眠深,呼吸深长不易惊醒;(3)、无起夜或很少起夜,无惊梦现象,醒后能很快忘记梦境;(4)、早晨醒后,精神好,起床快;(5)、白天神清脑爽,不困倦,工作效率高。',
  159. qltj: true,
  160. zybg: true,
  161. zkj: '¥9.9',
  162. yj: '¥19.9',
  163. imageUrl: 'https://test.jue-ming.com:8849/api/show?filePath=./webo/toutiao/index/list_item8.png',
  164. pageUrl: '/newScale/Sleep/index'
  165. },
  166. {
  167. name: '工作倦怠量表(MBI-GS)',
  168. desc: '请仔细阅读下面的每一条陈述,选择合适的选项。',
  169. qltj: true,
  170. zybg: true,
  171. zkj: '¥19.9',
  172. yj: '¥29.9',
  173. imageUrl: 'https://test.jue-ming.com:8849/api/show?filePath=./webo/toutiao/index/list_item9.png',
  174. pageUrl: '/newScale/Burnout/index',
  175. },
  176. {
  177. name: '你的家庭关系健康吗?',
  178. desc: '下面是一些对家庭的描述,请仔细阅读每一项,并根据近2月您对您家庭的看法,在四个可能的答案中选出形容您家庭最接近的答案。要求年龄在12岁以上的家庭成员都要完成FAD问卷。1非常同意(或很像我家)2同意(或像我家) 3不同意(或不像我家)4完全不同意(或完全不像我家)',
  179. qltj: true,
  180. zybg: true,
  181. zkj: '¥19.9',
  182. yj: '¥29.9',
  183. imageUrl: 'https://test.jue-ming.com:8849/api/show?filePath=./webo/toutiao/index/list_item10.png',
  184. pageUrl: '/newScale/Family/index'
  185. }, {
  186. name: '你的婚姻质量有多高?',
  187. desc: '下面是对婚姻状况的描述,请根据您的实际情况选择相应的答案。',
  188. qltj: true,
  189. zybg: true,
  190. zkj: '¥19.9',
  191. yj: '¥29.9',
  192. imageUrl: 'https://test.jue-ming.com:8849/api/show?filePath=./webo/toutiao/index/list_item11.png',
  193. pageUrl: '/newScale/MarriageQuality/index'
  194. }
  195. ],
  196. searchKey: '',
  197. searchList: [],
  198. os: ''
  199. }
  200. },
  201. onReady() {
  202. this.searchList = this.scaleList;
  203. this.os = uni.getSystemInfoSync().osName;
  204. },
  205. methods: {
  206. changeHandle(e) {
  207. let {
  208. index
  209. } = e.detail
  210. uni.navigateTo({
  211. url: this.menuList[index].pageUrl
  212. })
  213. },
  214. goDetail(item) {
  215. console.log(this.os);
  216. if (this.os == 'ios') {
  217. uni.showToast({
  218. title: 'iOS暂不支持购买'
  219. })
  220. return
  221. }
  222. uni.navigateTo({
  223. url: item.pageUrl
  224. })
  225. },
  226. searchHandle(e) {
  227. this.searchKey = e.detail.value;
  228. debounce(this.searchFnc, 500);
  229. },
  230. searchFnc() {
  231. debugger
  232. let temp = [];
  233. this.scaleList.forEach(item => {
  234. if (item.name.indexOf(this.searchKey) >= 0) {
  235. temp.push(item);
  236. }
  237. })
  238. this.searchList = temp;
  239. },
  240. getDesc(res) {
  241. return res.length > 45 ? `${res.slice(0, 45)}...` : res;
  242. }
  243. }
  244. }
  245. </script>
  246. <style scoped>
  247. .grid-item-box {
  248. flex: 1;
  249. flex-direction: column;
  250. align-items: center;
  251. justify-content: center;
  252. padding: 15px 0;
  253. text-align: center;
  254. }
  255. .grid-item-box image {
  256. width: 340rpx;
  257. }
  258. .menu_icon {
  259. width: 66rpx;
  260. height: 66rpx;
  261. }
  262. .bg {
  263. box-sizing: border-box;
  264. width: 100%;
  265. padding-top: 40rpx;
  266. min-height: 100vh;
  267. background: #FFFFFF url(https://test.jue-ming.com:8849/api/show?filePath=./webo/toutiao/index/index_bg.png) no-repeat;
  268. background-size: 100% auto;
  269. padding-bottom: 100rpx;
  270. }
  271. .search_bar {
  272. width: 703rpx;
  273. height: 63rpx;
  274. background: rgba(255, 255, 255, 0.6);
  275. border-radius: 31rpx;
  276. border: 1px solid #FFFFFF;
  277. margin: 0 auto 21rpx;
  278. position: relative;
  279. }
  280. .search_icon {
  281. width: 31rpx;
  282. position: absolute;
  283. left: 23rpx;
  284. top: 17rpx;
  285. }
  286. .search_bar input {
  287. width: 80%;
  288. height: 63rpx;
  289. margin-left: 80rpx;
  290. }
  291. .banner1 {
  292. width: 703rpx;
  293. margin: 0 auto;
  294. position: relative;
  295. }
  296. .banner1 image {
  297. width: 100%;
  298. }
  299. .banner1 text {
  300. position: absolute;
  301. bottom: 14rpx;
  302. left: 173rpx;
  303. font-family: 'Alibaba PuHuiTi 2.0';
  304. font-weight: 600;
  305. font-size: 36rpx;
  306. font-style: italic;
  307. color: #FFAE00;
  308. letter-spacing: 4rpx;
  309. }
  310. .menu_bar {
  311. width: 702rpx;
  312. height: 190rpx;
  313. background: #FFFFFF;
  314. border-radius: 20rpx;
  315. margin: 0 auto;
  316. display: flex;
  317. align-items: center;
  318. margin: 0 auto;
  319. }
  320. .menu_item {
  321. flex: 1;
  322. text-align: center;
  323. }
  324. .menu_name {
  325. font-family: 'Alibaba PuHuiTi 2.0';
  326. font-weight: normal;
  327. font-size: 20rpx;
  328. color: #333333;
  329. }
  330. .list_title {
  331. margin: 31rpx 0 0 31rpx;
  332. display: flex;
  333. align-items: center;
  334. }
  335. .list_title text {
  336. font-family: 'Alibaba PuHuiTi 2.0';
  337. font-weight: normal;
  338. font-size: 32rpx;
  339. color: #333333;
  340. margin-left: 10rpx;
  341. }
  342. .list_title image {
  343. width: 31rpx;
  344. }
  345. .list_item {
  346. width: 702rpx;
  347. min-height: 226rpx;
  348. background: #FFFFFF;
  349. border-radius: 20rpx;
  350. margin: 0 auto;
  351. margin-top: 20rpx;
  352. display: flex;
  353. align-items: center;
  354. padding: 14rpx;
  355. }
  356. .list_item_head {
  357. width: 200rpx;
  358. border-radius: 16rpx;
  359. overflow: hidden;
  360. }
  361. .list_item_head image {
  362. width: 100%;
  363. }
  364. .list_item_body {
  365. flex: 1;
  366. min-height: 226rpx;
  367. margin-left: 30rpx;
  368. display: flex;
  369. flex-direction: column;
  370. justify-content: space-between;
  371. }
  372. .list_item_title {
  373. font-family: 'Alibaba PuHuiTi 2.0';
  374. font-weight: normal;
  375. font-size: 28rpx;
  376. color: #333333;
  377. }
  378. .list_item_flag image {
  379. width: 105rpx;
  380. margin-right: 8rpx;
  381. }
  382. .list_item_desc {
  383. font-family: 'Alibaba PuHuiTi 2.0';
  384. font-weight: 400;
  385. font-size: 18rpx;
  386. color: #999999;
  387. line-height: 28rpx;
  388. }
  389. .list_item_operate {
  390. display: flex;
  391. justify-content: space-between;
  392. align-items: center;
  393. }
  394. .btn_test {
  395. width: 120rpx;
  396. height: 44rpx;
  397. line-height: 44rpx;
  398. background: #004AFF;
  399. border-radius: 22rpx;
  400. font-family: 'Alibaba PuHuiTi 2.0';
  401. font-weight: 400;
  402. font-size: 24rpx;
  403. color: #FFFFFF;
  404. text-align: center;
  405. }
  406. .item_price .zkj {
  407. font-family: 'Alibaba PuHuiTi 2.0';
  408. font-weight: 400;
  409. font-size: 32rpx;
  410. color: #FF6600;
  411. line-height: 57rpx;
  412. }
  413. .item_price .yj {
  414. font-family: 'Alibaba PuHuiTi 2.0';
  415. font-weight: normal;
  416. font-size: 24rpx;
  417. color: #999999;
  418. line-height: 57rpx;
  419. text-decoration-line: line-through;
  420. margin-left: 10rpx;
  421. }
  422. .banner1 text {}
  423. </style>