business.vue 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920
  1. <template>
  2. <view>
  3. <view :style="statusBarHeight" class="status_bar">
  4. </view>
  5. <view class="top-style">
  6. <view style='background:#fff;border-bottom:1px solid #EEE;padding-bottom:10px;'>
  7. <view class="cu-bar search">
  8. <view style='position:absolute;left:30px;top:50%;transform: translateY(-50%);' @click='status=true'>
  9. {{location}}
  10. <image style='width:10px;height:6px;margin-left:4px;position:relative;top:-2px;'
  11. src='../../static/img/jiaoyi/down.png'></image>
  12. </view>
  13. <u-picker mode="selector" @confirm='locationChange' v-model="status" :range="locationType">
  14. </u-picker>
  15. <!-- <view>
  16. <picker style='display:inline-block;' @change="locationChange" :value="location"
  17. :range="locationType">
  18. <view class="picker">
  19. {{location>-1?locationType[location]:'请选择'}}
  20. </view>
  21. </picker>
  22. <image style='width:10px;height:6px;margin-left:4px;position:relative;top:-2px;'
  23. src='../../static/img/jiaoyi/down.png'></image>
  24. </view> -->
  25. <view class="search-form round" @click="naviageToPage('/pageA/product/lookup?TabCur=')">
  26. <text style='color: #ccc;text-indent:56px;' class="cuIcon-search"></text>
  27. <view class="Medium search-title"> 请输入货名或标题</view>
  28. </view>
  29. </view>
  30. <view style='margin:0 15px;' class="Medium">
  31. <view class='tag radius line-pink' @click="sousuo('玉米')">玉米</view>
  32. <view class='tag radius line-pink' @click="sousuo('大豆')">大豆</view>
  33. <view class='tag radius line-pink' @click="sousuo('小麦')">小麦</view>
  34. <view class='tag radius line-pink' @click="sousuo('水稻')">水稻</view>
  35. <view class='tag radius line-pink' @click="sousuo('高粱')">高粱</view>
  36. </view>
  37. </view>
  38. <view style='background:#fff;padding:0 15px;border-radius:0rpx 0rpx 30rpx 30rpx;' class="Semibold">
  39. <view @click='tabcarchange(0)' class='line' :class='TabCur==0?"active":""'>采购</view>
  40. <view @click='tabcarchange(1)' class='line' :class='TabCur==1?"active":""'>销售</view>
  41. </view>
  42. </view>
  43. <view v-if='buyInfo.length>0' class="introduce-section Semibold">
  44. <view v-for="(item, index) in buyInfo" :key="index" class="guess-item" @click="navToDetailPage(item)">
  45. <view class="price-box">
  46. <view class="title Medium">{{item.title}}</view>
  47. </view>
  48. <view class='flex justify-between align-item-center Regular'>
  49. <view v-if='TabCur==0' class='address'>
  50. {{item.receivePrivate}}{{item.receiveCity}}{{item.receiveArea}}{{item.receiveWarehouse}}
  51. </view>
  52. <view v-if='TabCur==1' class='address'>
  53. {{item.sendPrivate}}{{item.sendCity}}{{item.sendArea}}{{item.sendWarehouse}}
  54. </view>
  55. <view class='price NumberBold' v-if='item.procurementPlanType=="期货" && item.basisPrice'>
  56. <text class="number-style">{{item.basisPrice}}</text><text style='font-size:13px;color:#333333;'
  57. class="Semibold">元/吨</text></view>
  58. <view class='price NumberBold' v-if='item.procurementPlanType=="现货" && item.procurementPrice'>
  59. <text class="number-style">{{item.procurementPrice}}</text><text style='font-size:13px;color:#333;'
  60. class="Semibold">元/吨</text></view>
  61. <view class='price NumberBold' v-if='item.salePlanType=="期货" && item.basisPrice'><text class="number-style">+{{item.basisPrice}}</text><text
  62. style='font-size:13px;color:#333333;' class="Semibold">元/吨</text></view>
  63. <view class='price NumberBold' v-if='item.salePlanType=="现货" && item.salePrice'><text class="number-style">{{item.salePrice}}</text><text
  64. style='font-size:13px;color:#333;' class="Semibold">元/吨</text></view>
  65. </view>
  66. <view class='flex justify-between Regular'>
  67. <view class="Regular">
  68. <view class='tag1 tag-bule radius line-pink' v-if='item.procurementPlanType=="现货"'>现货</view>
  69. <view class='tag1 tag-bule radius line-pink' v-if='item.procurementPlanType=="期货"'>期货</view>
  70. <view class='tag1 tag-bule radius line-pink' v-if='item.salePlanType=="现货"'>现货</view>
  71. <view class='tag1 tag-bule radius line-pink' v-if='item.salePlanType=="期货"'>期货</view>
  72. <view class='tag1 tag-yellow radius line-green'>{{item.goodsName}}</view>
  73. <view class='tag1 tag-red radius line-yellow' v-if="TabCur== 0">{{item.plannedPurchaseVolume}}吨
  74. </view>
  75. <view class='tag1 tag-red radius line-yellow' v-if="TabCur== 1">{{item.plannedSaleVolume}}吨
  76. </view>
  77. </view>
  78. <view style='font-size: 12px;color:#878C9C;padding-top:5px;' v-if='item.procurementPlanType=="期货" && TabCur== 0'>
  79. 今日基差</view>
  80. <view style='font-size: 12px;color:#878C9C;padding-top:5px;' v-if='item.procurementPlanType=="现货" && TabCur== 0 && item.procurementPrice'>
  81. 采购价格</view>
  82. <view style='font-size: 12px;color:#878C9C;padding-top:5px;' v-if='item.salePlanType=="期货" && TabCur== 1'>今日基差
  83. </view>
  84. <view style='font-size: 12px;color:#878C9C;padding-top:5px;' v-if='item.salePlanType=="现货" && TabCur== 1 && item.salePrice'>销售价格
  85. </view>
  86. </view>
  87. </view>
  88. <view v-show="isLoadMore">
  89. <uni-load-more :status="loadStatus"></uni-load-more>
  90. </view>
  91. </view>
  92. <view style='height:65vh;background:#F5F6FA;line-height:65vh;text-align:center;' v-if='buyInfo.length==0'>
  93. 当前暂无结果
  94. </view>
  95. <image v-if='topState' @click='top' class='back' src="../../static/img/jiaoyi/back@3x.png" mode=""></image>
  96. <image @click='show=true' class='fabu' src="../../static/img/jiaoyi/ic_fabu@3x.png" mode=""></image>
  97. <u-picker mode="selector" @confirm='confirmrelease' v-model="show" :range="releaseType"></u-picker>
  98. <!-- <u-back-top :scroll-top="scrollTop" tips="顶部" :custom-style="{backgroundColor: '#a0cfff',color: '#2979ff'}"
  99. :iconStyle="{color: '#2979ff',fontSize: '34rpx'}" mode="square" icon="arrow-up"></u-back-top> -->
  100. </view>
  101. </template>
  102. <script>
  103. export default {
  104. name: "business",
  105. data() {
  106. return {
  107. PageCur: "buy",
  108. buyInfo: [],
  109. releaseType: ["我要卖粮", "我要买粮"],
  110. limit: 10, //每次取条目数
  111. loadStatus: 'loading', //加载样式:more-加载前样式,loading-加载中样式,nomore-没有数据样式
  112. isLoadMore: false, //是否加载中
  113. showTran: true,
  114. scrollTop: 0,
  115. show:false,
  116. status: false,
  117. pageSize: 10,
  118. searchKeyWord: '',
  119. receivePrivate: '全国',
  120. currentPage: 1,
  121. categoryList: [{
  122. title: '我要买粮',
  123. id: '0'
  124. }, {
  125. title: '我要卖粮',
  126. id: '1'
  127. }],
  128. topState:false,
  129. TabCur: 0,
  130. current: 1,
  131. location: '全国',
  132. params: {
  133. province: true,
  134. },
  135. locationType: ['全国', '黑龙江', '河南', '山东', '安徽', '吉林', '河北', '江苏', '内蒙古', '四川', '湖南', '湖北', '辽宁',
  136. '江西', '云南', '新疆', '山西', '广西', '陕西', '广东', '甘肃', '重庆', '贵州', '浙江', '福建',
  137. '宁夏', '天津', '海南', '青海', '西藏', '上海', '北京'
  138. ],
  139. statusBarHeight: "height:"
  140. }
  141. },
  142. onPageScroll(e){ //根据距离顶部距离是否显示回到顶部按钮
  143. if(e.scrollTop>300){ //当距离大于600时显示回到顶部按钮
  144. this.topState = true
  145. }else{ //当距离小于600时显示回到顶部按钮
  146. this.topState = false
  147. }
  148. },
  149. onShow() {
  150. uni.showTabBar()
  151. uni.hideKeyboard()
  152. var userInfo = uni.getStorageSync("userInfo")
  153. var that = this
  154. console.log("userInfo", userInfo)
  155. // setTimeout(function() {
  156. // that.$api.doRequest('get', '/appVersion/test', {
  157. // userId: "7e83070d05fc4d50aaa46e00a3ee03d8"
  158. // }).then(res => {
  159. // })
  160. // }, 500);
  161. uni.removeTabBarBadge({
  162. index: 4
  163. })
  164. this.$api.doRequest('get', '/newNoticeTask/query/noticeTasks').then(res => {
  165. if (res.data.data) {
  166. let name = 'myTip';
  167. let value = res.data.data.total;
  168. that.$store.commit('$uStore', {
  169. name,
  170. value
  171. });
  172. if(value != 0&&value){
  173. uni.setTabBarBadge({
  174. index:4,
  175. text:value+""
  176. })
  177. }
  178. name = 'taskTip';
  179. value = res.data.data.total;
  180. that.$store.commit('$uStore', {
  181. name,
  182. value
  183. });
  184. // name = 'contractTip';
  185. // value = res.data.data.contractTip;
  186. // that.$store.commit('$uStore', {
  187. // name,
  188. // value
  189. // });
  190. }
  191. })
  192. },
  193. onLoad(options) {
  194. console.log("buy onload")
  195. var that = this
  196. uni.getSystemInfo({
  197. success: function(res) {
  198. console.log("statusBarHeight", res.statusBarHeight)
  199. that.statusBarHeight += res.statusBarHeight + "px"; //这就是状态栏的高度
  200. },
  201. });
  202. this.cateId = options.tid ? options.tid : 0;
  203. this.keywords = options.keywords ? options.keywords : ''
  204. this.loadData();
  205. },
  206. // onPageScroll(e) {
  207. // this.scrollTop = e.scrollTop;
  208. // },
  209. //下拉刷新
  210. onPullDownRefresh() {
  211. this.currentPage = 1
  212. this.isLoadMore = false
  213. this.loadStatus = 'loading'
  214. this.loadData()
  215. setTimeout(function() {
  216. uni.stopPullDownRefresh();
  217. }, 1000);
  218. },
  219. onReachBottom() { //上拉触底函数
  220. if (!this.isLoadMore) { //此处判断,上锁,防止重复请求
  221. this.isLoadMore = true
  222. this.currentPage += 1
  223. this.getIndexBuyData()
  224. }
  225. },
  226. methods: {
  227. top() { //回到顶部
  228.     uni.pageScrollTo({
  229.       scrollTop: 0, duration: 300
  230.     });
  231. },
  232. confirmrelease(e){
  233. console.log(e)
  234. if(e[0]==1){
  235. uni.navigateTo({
  236. url: `/pageD/myRelease/buyGrain`
  237. })
  238. }else{
  239. uni.navigateTo({
  240. url: `/pageD/myRelease/sellGrain`
  241. })
  242. }
  243. },
  244. sousuo(name) {
  245. var page = '/pageA/product/lookup?TabCur=' + this.TabCur + '&searchKeyWord=' + name
  246. uni.navigateTo({
  247. url: page,
  248. fail() {
  249. uni.switchTab({
  250. url: page
  251. })
  252. }
  253. })
  254. },
  255. tabcarchange(status) {
  256. this.TabCur = status
  257. this.currentPage = 1
  258. this.pageSize = 10
  259. this.loadData()
  260. },
  261. naviageToPage(page) {
  262. page = page + this.TabCur
  263. uni.navigateTo({
  264. url: page,
  265. fail() {
  266. uni.switchTab({
  267. url: page
  268. })
  269. }
  270. })
  271. },
  272. locationChange(e) {
  273. console.log(e)
  274. this.location = this.locationType[e[0]]
  275. this.receivePrivate = this.locationType[e[0]]
  276. this.currentPage = 1
  277. this.loadData()
  278. },
  279. tabSelect(e) {
  280. this.TabCur = e.currentTarget.dataset.id;
  281. this.category = this.TabCur
  282. this.currentPage = 1
  283. this.loadData()
  284. },
  285. fabu() {
  286. uni.showActionSheet({
  287. itemList: ['我要买粮', '我要卖粮'],
  288. success(res) {
  289. console.log(res.tapIndex)
  290. },
  291. fail(res) {
  292. console.log(res.errMsg)
  293. }
  294. })
  295. // uni.navigateTo({
  296. // url: `/pageB/trust/trust`
  297. // })
  298. },
  299. //加载商品 ,带下拉刷新和上滑加载
  300. async loadData(type = 'add', loading) {
  301. const that = this
  302. uni.showLoading({
  303. title: '正在加载'
  304. })
  305. var param1 = ''
  306. if (that.TabCur == 0) {
  307. param1 = '/procurementPlanInfo/selectProcurementPlanInfo'
  308. } else {
  309. param1 = '/salePlanInfo/selectSalePlanInfo'
  310. }
  311. this.$api.doRequest('get', param1, {
  312. pageSize: this.pageSize,
  313. showFlag: 1,
  314. currentPage: this.currentPage,
  315. searchKeyWord: this.searchKeyWord,
  316. receivePrivate: this.receivePrivate
  317. }).then(res => {
  318. uni.hideLoading()
  319. this.buyInfo = res.data.data.records
  320. })
  321. .catch(res => {
  322. uni.hideLoading()
  323. if (res.errmsg) {
  324. uni.showToast({
  325. title: res.errmsg,
  326. icon: 'none',
  327. duration: 2000
  328. })
  329. } else {
  330. uni.showToast({
  331. title: "系统异常,请联系管理员",
  332. icon: 'none',
  333. duration: 2000
  334. })
  335. }
  336. });
  337. // that.$api.request(param1, param2, {
  338. // page: 1,
  339. // limit: 10
  340. // }, failres => {
  341. // that.$api.msg(failres.errmsg)
  342. // that.isLoadMore = false
  343. // that.loadStatus = 'nomore'
  344. // if (that.pages > 1) {
  345. // that.pages -= 1
  346. // }
  347. // uni.hideLoading()
  348. // }).then(res => {
  349. // let data = null
  350. // if (that.TabCur == 0) {
  351. // data = res.data.saleInfo
  352. // } else {
  353. // data = res.data
  354. // }
  355. // uni.stopPullDownRefresh()
  356. // //采购信息
  357. // if (data.length > 0) {
  358. // that.buyInfo = data
  359. // that.isLoadMore = false
  360. // } else {
  361. // if (that.pages > 1) {
  362. // that.pages -= 1
  363. // }
  364. // that.isLoadMore = true
  365. // that.loadStatus = 'nomore'
  366. // }
  367. // uni.hideLoading()
  368. // })
  369. },
  370. //详情
  371. navToDetailPage(item) {
  372. let id = item.id;
  373. if (this.TabCur == 0) {
  374. uni.navigateTo({
  375. url: `/pageA/product/detail?id=${id}&compId=${item.compId}`
  376. })
  377. } else {
  378. uni.navigateTo({
  379. url: `/pageA/product/sales_detail?id=${id}&compId=${item.compId}`
  380. })
  381. }
  382. },
  383. getIndexBuyData() {
  384. const that = this
  385. uni.showLoading({
  386. title: '正在加载'
  387. })
  388. var param1 = ''
  389. if (that.TabCur == 0) {
  390. param1 = '/procurementPlanInfo/selectProcurementPlanInfo'
  391. } else {
  392. param1 = '/salePlanInfo/selectSalePlanInfo'
  393. }
  394. this.$api.doRequest('get', param1, {
  395. pageSize: this.pageSize,
  396. showFlag: 1,
  397. currentPage: this.currentPage,
  398. searchKeyWord: this.searchKeyWord,
  399. receivePrivate: this.receivePrivate
  400. }).then(res => {
  401. uni.hideLoading()
  402. // this.buyInfo = res.data.records
  403. let data = res.data.data.records
  404. //采购信息
  405. if (data.length > 0) {
  406. that.buyInfo = that.buyInfo.concat(data)
  407. that.isLoadMore = false
  408. } else {
  409. if (that.currentPage > 1) {
  410. that.currentPage -= 1
  411. }
  412. that.isLoadMore = true
  413. that.loadStatus = 'nomore'
  414. }
  415. })
  416. .catch(res => {
  417. uni.hideLoading()
  418. if (res.errmsg) {
  419. uni.showToast({
  420. title: res.errmsg,
  421. icon: 'none',
  422. duration: 2000
  423. })
  424. } else {
  425. uni.showToast({
  426. title: "系统异常,请联系管理员",
  427. icon: 'none',
  428. duration: 2000
  429. })
  430. }
  431. });
  432. }
  433. }
  434. }
  435. </script>
  436. <style lang='scss'>
  437. page,
  438. .content {
  439. background: #F5F6FA;
  440. }
  441. .line {
  442. display: inline-block;
  443. padding: 5px;
  444. position: relative;
  445. font-size: 17px;
  446. margin-right: 10rpx;
  447. }
  448. .line.active {
  449. font-size: 38rpx;
  450. font-weight: 900;
  451. }
  452. .line.active:after {
  453. content: '';
  454. display: block;
  455. position: absolute;
  456. width: 36rpx;
  457. height: 6rpx;
  458. left: 50%;
  459. transform: translateX(-50%);
  460. bottom: 0;
  461. background: #22C572;
  462. /* border-bottom: 1px solid #22C572; */
  463. }
  464. .cu-tag.badge {
  465. right: 26rpx;
  466. }
  467. .cu-item {
  468. height: 80rpx;
  469. display: inline-block;
  470. line-height: 80rpx;
  471. }
  472. .search-form {
  473. background: #F5F6F9;
  474. padding-left: 20rpx;
  475. }
  476. .title-tip {
  477. color: #E63113;
  478. text-align: right;
  479. }
  480. .tag1 {
  481. background: #F5F6F9;
  482. padding: 2px 10rpx;
  483. color: #333333;
  484. display: inline-flex;
  485. font-size: 22rpx;
  486. border-radius: 3px;
  487. margin: 3px;
  488. }
  489. .tag {
  490. background: #F5F6F9;
  491. padding: 7px 12px;
  492. color: #333333;
  493. display: inline-flex;
  494. font-size: 22rpx;
  495. border-radius: 15px;
  496. margin: 3px;
  497. }
  498. .tag-bule {
  499. background: #EBEEFA;
  500. color: #5C76DF;
  501. }
  502. .tag-green {
  503. background: #C6F7BC;
  504. color: #065112;
  505. }
  506. .tag-yellow {
  507. background: #F9F2EA;
  508. color: #BE9C69;
  509. }
  510. .tag-red {
  511. background: #FEECE6;
  512. color: #FE6430;
  513. }
  514. .text-white {
  515. color: #fff;
  516. }
  517. .text-white text {
  518. position: relative;
  519. z-index: 2;
  520. background: linear-gradient(45deg, #3DC146, #B2D612);
  521. padding: 5px 10px;
  522. border-radius: 38rpx;
  523. }
  524. .guess-section {
  525. padding-bottom: 100upx;
  526. display: flex;
  527. flex-wrap: wrap;
  528. padding: 0 30upx;
  529. background: #fff;
  530. .guess-item {
  531. display: flex;
  532. flex-direction: column;
  533. width: 98%;
  534. border-bottom: 1px solid #ccc;
  535. }
  536. .image-wrapper {
  537. width: 100%;
  538. height: 330upx;
  539. border-radius: 3px;
  540. overflow: hidden;
  541. image {
  542. width: 100%;
  543. height: 100%;
  544. opacity: 1;
  545. }
  546. }
  547. .title {
  548. font-size: $font-lg;
  549. color: #121212;
  550. }
  551. .price-orther {
  552. font-size: $font-sm;
  553. color: $font-color-base;
  554. }
  555. .price {
  556. font-size: 64rpx;
  557. color: #39b54a;
  558. line-height: 1;
  559. padding-right: 10upx;
  560. }
  561. .goods1 {
  562. font-size: $font-sm;
  563. color: $font-color-base;
  564. }
  565. .goods2 {
  566. font-size: $font-sm;
  567. color: $font-color-base;
  568. padding-left: 10%;
  569. }
  570. .goods3 {
  571. font-size: $font-sm;
  572. color: $font-color-base;
  573. padding-left: 10%;
  574. }
  575. .goods4 {
  576. font-size: $font-sm;
  577. color: #ff5500;
  578. }
  579. .goods5 {
  580. font-size: $font-sm;
  581. color: $font-color-base;
  582. }
  583. .view-item {
  584. width: 100%;
  585. // line-height: 40upx;
  586. padding-top: 10upx;
  587. }
  588. .confirm-btn {
  589. margin-left: 20%;
  590. }
  591. .date-time {
  592. margin-left: 30%;
  593. }
  594. .padding-xs-tmp {
  595. padding: 15upx 10upx 10upx 10upx;
  596. }
  597. }
  598. .navbar {
  599. position: fixed;
  600. left: 0;
  601. top: var(--window-top);
  602. display: flex;
  603. width: 100%;
  604. height: 80upx;
  605. background: #fff;
  606. box-shadow: 0 2upx 10upx rgba(0, 0, 0, .06);
  607. z-index: 10;
  608. .nav-item {
  609. flex: 1;
  610. display: flex;
  611. justify-content: center;
  612. align-items: center;
  613. height: 100%;
  614. font-size: 30upx;
  615. color: $font-color-dark;
  616. position: relative;
  617. &.current {
  618. color: $base-color;
  619. &:after {
  620. content: '';
  621. position: absolute;
  622. left: 50%;
  623. bottom: 0;
  624. transform: translateX(-50%);
  625. width: 120upx;
  626. height: 0;
  627. border-bottom: 4upx solid $base-color;
  628. }
  629. }
  630. }
  631. .p-box {
  632. display: flex;
  633. flex-direction: column;
  634. .yticon {
  635. display: flex;
  636. align-items: center;
  637. justify-content: center;
  638. width: 30upx;
  639. height: 14upx;
  640. line-height: 1;
  641. margin-left: 4upx;
  642. font-size: 26upx;
  643. color: #888;
  644. &.active {
  645. color: $base-color;
  646. }
  647. }
  648. .xia {
  649. transform: scaleY(-1);
  650. }
  651. }
  652. .cate-item {
  653. display: flex;
  654. justify-content: center;
  655. align-items: center;
  656. height: 100%;
  657. width: 80upx;
  658. position: relative;
  659. font-size: 44upx;
  660. &:after {
  661. content: '';
  662. position: absolute;
  663. left: 0;
  664. top: 50%;
  665. transform: translateY(-50%);
  666. border-left: 1px solid #ddd;
  667. width: 0;
  668. height: 36upx;
  669. }
  670. }
  671. }
  672. /* 分类 */
  673. .cate-mask {
  674. position: fixed;
  675. left: 0;
  676. top: var(--window-top);
  677. bottom: 0;
  678. width: 100%;
  679. background: rgba(0, 0, 0, 0);
  680. z-index: 95;
  681. transition: .3s;
  682. .cate-content {
  683. width: 630upx;
  684. height: 100%;
  685. background: #fff;
  686. float: right;
  687. transform: translateX(100%);
  688. transition: .3s;
  689. }
  690. &.none {
  691. display: none;
  692. }
  693. &.show {
  694. background: rgba(0, 0, 0, .4);
  695. .cate-content {
  696. transform: translateX(0);
  697. }
  698. }
  699. }
  700. .cate-list {
  701. display: flex;
  702. flex-direction: column;
  703. height: 100%;
  704. .cate-item {
  705. display: flex;
  706. align-items: center;
  707. height: 90upx;
  708. padding-left: 30upx;
  709. font-size: 28upx;
  710. color: #555;
  711. position: relative;
  712. }
  713. .two {
  714. height: 64upx;
  715. color: #303133;
  716. font-size: 30upx;
  717. background: #f8f8f8;
  718. }
  719. .active {
  720. color: $base-color;
  721. }
  722. }
  723. .introduce-section {
  724. padding-top: 135px;
  725. }
  726. .introduce-section .title {
  727. font-size: 17px;
  728. height: 40px;
  729. line-height: 40px;
  730. flex: 2.5;
  731. /* border-bottom: 1px solid #EEEEEE; */
  732. }
  733. .introduce-section .address {
  734. color: #878C9C;
  735. font-size: 12px;
  736. /* padding-left:10px; */
  737. }
  738. .introduce-section .price {
  739. /* padding-left:10px; */
  740. color: #FD714F;
  741. font-size: 19px;
  742. font-weight: 700;
  743. }
  744. .introduce-section .guess-item {
  745. border-radius: 10px;
  746. background: #fff;
  747. padding: 0upx 30upx 20upx;
  748. margin: 18upx;
  749. /* border-bottom: 1px solid #ccc; */
  750. }
  751. /* 销售信息 */
  752. .introduce-section {
  753. .title-tip {
  754. flex: 1;
  755. }
  756. .price-box {
  757. display: flex;
  758. align-items: baseline;
  759. font-size: 26upx;
  760. }
  761. .price {
  762. font-size: $font-lg + 2upx;
  763. }
  764. .m-price {
  765. margin: 0 12upx;
  766. color: $font-color-light;
  767. text-decoration: line-through;
  768. }
  769. .coupon-tip {
  770. align-items: center;
  771. padding: 4upx 10upx;
  772. background: $uni-color-primary;
  773. font-size: $font-sm;
  774. color: #fff;
  775. border-radius: 6upx;
  776. line-height: 1;
  777. transform: translateY(-4upx);
  778. }
  779. .bot-row {
  780. display: flex;
  781. align-items: center;
  782. height: 50upx;
  783. font-size: $font-sm;
  784. color: $font-color-light;
  785. view {
  786. flex: 1;
  787. }
  788. }
  789. }
  790. .side-bg {
  791. position: absolute;
  792. width: 64px;
  793. height: 64px;
  794. z-index: 1;
  795. }
  796. .drag {
  797. position: relative;
  798. display: flex;
  799. justify-content: center;
  800. align-items: center;
  801. color: $uni-text-color-inverse;
  802. width: 64px;
  803. height: 64px;
  804. background: transparent;
  805. font-size: $uni-font-size-sm;
  806. position: fixed;
  807. z-index: 9;
  808. &.transition {
  809. transition: left .3s ease, top .3s ease;
  810. }
  811. }
  812. .top-style {
  813. position: fixed;
  814. width: 100%;
  815. }
  816. .status_bar {
  817. width: 100%;
  818. }
  819. .search-title {
  820. font-size: 28rpx;
  821. color: #AFB3BF;
  822. }
  823. .tag {
  824. font-size: 24rpx;
  825. }
  826. .align-item-center {
  827. align-items: center;
  828. }
  829. .number-style{
  830. font-size: 44rpx;
  831. }
  832. .fabu{
  833. position:fixed;
  834. bottom:60px;right:0;
  835. width:64px;
  836. height:64px;
  837. }
  838. .back{
  839. position:fixed;
  840. bottom:130px;right:7px;
  841. width:52px;
  842. height:52px;
  843. }
  844. </style>