lookup.vue 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724
  1. <template>
  2. <view class="content">
  3. <view style='background:#fff;display:flex;' class="cu-bar search">
  4. <view style='flex:6;' class="search-form round" >
  5. <text style='color: #ccc;text-indent:6px;' class="cuIcon-search"></text>
  6. <input type="text" v-model="searchKeyWord" @input='search' placeholder="请输入货名或标题" confirm-type="search"></input>
  7. </view>
  8. <view @click='doSearch()' style="width:4%;flex:1;">搜索</view>
  9. <text @click='emptysearch' v-if='searchKeyWord.length>0' class='tip_text cuIcon-roundclosefill'></text>
  10. </view>
  11. <!-- mSearch组件 如果使用原样式,删除组件元素-->
  12. <!-- <mSearch class="mSearch-input-box" :mode="2" button="inside" :placeholder="defaultKeyword" @search="doSearch(false)" @input="inputChange" @confirm="doSearch(false)" v-model="keyword"></mSearch> -->
  13. <!-- 原样式 如果使用原样式,恢复下方注销代码 -->
  14. <!--
  15. <view class="input-box">
  16. <input type="text" :placeholder="defaultKeyword" @input="inputChange" v-model="keyword" @confirm="doSearch(false)"
  17. placeholder-class="placeholder-class" confirm-type="search">
  18. </view>
  19. <view class="search-btn" @tap="doSearch(false)">搜索</view>
  20. -->
  21. <!-- 原样式 end -->
  22. <view class="search-keyword" @touchstart="blur">
  23. <scroll-view style='background:#F5F6FA;' class="keyword-list-box" v-show="isShowKeywordList&&keywordList.length>0" scroll-y>
  24. <view style='background:#fff;padding:0 15px;'>
  25. <view @click='tabcarchange(0)' class='line' :class='TabCur==0?"active":""'>采购</view>
  26. <view @click='tabcarchange(1)' class='line' :class='TabCur==1?"active":""'>销售</view>
  27. </view>
  28. <view class="introduce-section">
  29. <view v-for="(item, index) in keywordList" :key="index" class="guess-item" @click="navToDetailPage(item)">
  30. <view class="price-box">
  31. <view class="title">{{item.title}}</view>
  32. <view style='dsiplay:flex;' class='flex justify-between'>
  33. <view v-if='TabCur==0' class='address'>
  34. {{item.receivePrivate}}{{item.receiveCity}}{{item.receiveArea}}{{item.receiveWarehouse}}
  35. </view>
  36. <view v-if='TabCur==1' class='address'>
  37. {{item.sendPrivate}}{{item.sendCity}}{{item.sendArea}}{{item.sendWarehouse}}
  38. </view>
  39. <view class='price' v-if='item.procurementPlanType=="期货"'>{{item.basisPrice}}<text
  40. style='font-size:13px;color:#333333;'>元/吨</text></view>
  41. <view class='price' v-if='item.procurementPlanType=="现货"'>{{item.unitPrice}}<text
  42. style='font-size:13px;color:#333;'>元/吨</text></view>
  43. <view class='price' v-if='item.salePlanType=="期货"'>{{item.basisPrice}}<text
  44. style='font-size:13px;color:#333333;'>元/吨</text></view>
  45. <view class='price' v-if='item.salePlanType=="现货"'>{{item.unitPrice}}<text
  46. style='font-size:13px;color:#333;'>元/吨</text></view>
  47. </view>
  48. </view>
  49. <view class='flex justify-between'>
  50. <view>
  51. <view class='tag1 tag-bule radius line-pink' v-if='item.procurementPlanType=="现货"'>现货</view>
  52. <view class='tag1 tag-bule radius line-pink' v-if='item.procurementPlanType=="期货"'>期货</view>
  53. <view class='tag1 tag-bule radius line-pink' v-if='item.salePlanType=="现货"'>现货</view>
  54. <view class='tag1 tag-bule radius line-pink' v-if='item.salePlanType=="期货"'>期货</view>
  55. <view class='tag1 tag-yellow radius line-green'>{{item.goodsName}}</view>
  56. <view class='tag1 tag-red radius line-yellow'>{{item.weight}}吨</view>
  57. </view>
  58. <view style='color:#878C9C;padding-top:5px;' v-if='item.procurementPlanType=="期货"'>今日基差</view>
  59. <view style='color:#878C9C;padding-top:5px;' v-if='item.procurementPlanType=="现货"'>采购价格</view>
  60. <view style='color:#878C9C;padding-top:5px;' v-if='item.salePlanType=="期货"'>今日基差</view>
  61. <view style='color:#878C9C;padding-top:5px;' v-if='item.salePlanType=="现货"'>采购价格</view>
  62. </view>
  63. </view>
  64. <view v-show="isLoadMore">
  65. <uni-load-more :status="loadStatus"></uni-load-more>
  66. </view>
  67. </view>
  68. </scroll-view>
  69. <view style='height:80vh;' v-show="isShowKeywordList&&keywordList.length==0">
  70. <view style='background:#fff;padding:0 15px;'>
  71. <view @click='tabcarchange(0)' class='line' :class='TabCur==0?"active":""'>采购</view>
  72. <view @click='tabcarchange(1)' class='line' :class='TabCur==1?"active":""'>销售</view>
  73. </view>
  74. <view style='background:#F5F6FA;height:100%;line-height:80vh;text-align:center;'>
  75. 暂无相关结果
  76. </view>
  77. </view>
  78. <scroll-view class="keyword-box" v-show="!isShowKeywordList" scroll-y>
  79. <view class="keyword-block" v-if="oldKeywordList.records.length>0">
  80. <view class="keyword-list-header">
  81. <view style='font-size:16px;font-weight:600;'>最近搜索</view>
  82. <view>
  83. <image @tap="oldDelete" style='width:16px;height:16px;' src="../../static/img/jiaoyi/shanchu@3x.png"></image>
  84. <!-- <image @tap="oldDelete" src="./static/delete.png"></image> -->
  85. <!-- <text class="cuIcon-delete text-gray " ></text> -->
  86. </view>
  87. </view>
  88. <view class="keyword">
  89. <view v-for="(keyword,index) in oldKeywordList.records" @tap="doSearch(keyword)" :key="index">{{keyword.searchContent}}</view>
  90. </view>
  91. </view>
  92. <view class="keyword-block">
  93. <view class="keyword-list-header">
  94. <view style='font-size:16px;font-weight:600;'>推荐搜索</view>
  95. <view>
  96. <image @tap="hotToggle" :src="'/static/HM-search/attention'+forbid+'.png'"></image>
  97. </view>
  98. </view>
  99. <view class="keyword" v-if="forbid==''">
  100. <view v-for="(keyword,index) in hotKeywordList" @tap="doSearch(keyword)" :key="index">{{keyword.searchContent}}</view>
  101. </view>
  102. </view>
  103. </scroll-view>
  104. </view>
  105. </view>
  106. </template>
  107. <script>
  108. import {
  109. mapState
  110. } from 'vuex';
  111. //引用mSearch组件,如不需要删除即可
  112. import mSearch from '@/components/mehaotian-search-revision.vue';
  113. export default {
  114. data() {
  115. return {
  116. defaultKeyword: "",
  117. searchKeyWord: "",
  118. pageSize:10,
  119. currentPage:1,
  120. oldKeywordList: [],
  121. hotKeywordList: [],
  122. keywordList: [],
  123. forbid: '',
  124. isShowKeywordList: false,
  125. TabCur:0,
  126. isLoadMore:false,
  127. loadStatus:'',
  128. content:'搜索'
  129. }
  130. },
  131. onLoad(options) {
  132. if(options.searchKeyWord){
  133. this.searchKeyWord=options.searchKeyWord
  134. }
  135. this.TabCur = options.TabCur
  136. if(this.searchKeyWord){
  137. this.isShowKeywordList=true
  138. this.getData()
  139. }
  140. },
  141. onShow() {
  142. this.init();
  143. },
  144. components: {
  145. //引用mSearch组件,如不需要删除即可
  146. mSearch
  147. },
  148. computed: {
  149. ...mapState(['hasLogin', 'userInfo'])
  150. },
  151. methods: {
  152. //详情
  153. navToDetailPage(item) {
  154. let id = item.id;
  155. if (item.unitPrice === 0) {
  156. this.contactUs();
  157. } else {
  158. if (this.TabCur == 0) {
  159. uni.navigateTo({
  160. url: `/pageA/product/detail?id=${id}`
  161. })
  162. } else {
  163. uni.navigateTo({
  164. url: `/pageA/product/sales_detail?id=${id}`
  165. })
  166. }
  167. }
  168. },
  169. init() {
  170. this.loadDefaultKeyword();
  171. this.loadOldKeyword();
  172. this.loadHotKeyword();
  173. },
  174. search(e){
  175. if(e.detail.value.length==0){
  176. this.isShowKeywordList=false
  177. this.loadOldKeyword()
  178. this.loadHotKeyword()
  179. }
  180. },
  181. blur(){
  182. uni.hideKeyboard()
  183. },
  184. doSearch(keyword){
  185. console.log(keyword)
  186. if(keyword){
  187. this.searchKeyWord=keyword.searchContent
  188. }
  189. if(this.searchKeyWord.length>0){
  190. this.isShowKeywordList=true
  191. this.$api.doRequest('post', '/searchRecordsInfo/api/addInfo',{commonId:this.userInfo.id,searchContent:this.searchKeyWord}).then(res => {
  192. })
  193. .catch(res => {
  194. });
  195. }else{
  196. this.isShowKeywordList=false
  197. this.loadOldKeyword()
  198. this.loadHotKeyword()
  199. }
  200. uni.showLoading({
  201. title: '正在加载',
  202. mask:true
  203. })
  204. var param1=''
  205. if (this.TabCur == 0) {
  206. param1 = '/procurementPlanInfo/selectProcurementPlanInfo'
  207. } else {
  208. param1 = '/salePlanInfo/selectSalePlanInfo'
  209. }
  210. this.$api.doRequest('get', param1,{pageSize:this.pageSize,
  211. currentPage:this.currentPage,searchKeyWord:this.searchKeyWord}).then(res => {
  212. uni.hideLoading()
  213. this.keywordList=res.data.data.records
  214. })
  215. .catch(res => {
  216. uni.hideLoading()
  217. if(res.errmsg){
  218. uni.showToast({
  219. title: res.errmsg,
  220. icon: 'none',
  221. duration: 2000
  222. })
  223. }
  224. else{
  225. uni.showToast({
  226. title: "系统异常,请联系管理员",
  227. icon: 'none',
  228. duration: 2000
  229. })
  230. }
  231. });
  232. },
  233. emptysearch(){
  234. this.searchKeyWord=''
  235. this.isShowKeywordList=false
  236. this.loadOldKeyword()
  237. this.loadHotKeyword()
  238. },
  239. loadHotKeyword(){
  240. this.$api.doRequest('get', '/searchRecordsInfo/selectRecommendedSearchRecordsInfo',{pageSize:this.pageSize,
  241. currentPage:this.currentPage,commonId:this.userInfo.id}).then(res => {
  242. uni.hideLoading()
  243. this.hotKeywordList=res.data.data.records
  244. })
  245. .catch(res => {
  246. if(res.errmsg){
  247. uni.showToast({
  248. title: res.errmsg,
  249. icon: 'none',
  250. duration: 2000
  251. })
  252. }
  253. else{
  254. uni.showToast({
  255. title: "系统异常,请联系管理员",
  256. icon: 'none',
  257. duration: 2000
  258. })
  259. }
  260. });
  261. },
  262. tabSelect(e) {
  263. if(e.currentTarget.dataset.id){
  264. this.TabCur = e.currentTarget.dataset.id;
  265. }
  266. else{
  267. this.TabCur = e.target.current;
  268. }
  269. this.pages = 1
  270. this.isLoadMore = false
  271. this.loadData()
  272. },
  273. getData(){
  274. var param1=''
  275. if (this.TabCur == 0) {
  276. param1 = '/procurementPlanInfo/selectProcurementPlanInfo'
  277. } else {
  278. param1 = '/salePlanInfo/selectSalePlanInfo'
  279. }
  280. this.$api.doRequest('get', param1,{pageSize:this.pageSize,
  281. currentPage:this.currentPage,searchKeyWord:this.searchKeyWord}).then(res => {
  282. uni.hideLoading()
  283. this.keywordList=res.data.data.records
  284. })
  285. .catch(res => {
  286. if(res.errmsg){
  287. uni.showToast({
  288. title: res.errmsg,
  289. icon: 'none',
  290. duration: 2000
  291. })
  292. }
  293. else{
  294. uni.showToast({
  295. title: "系统异常,请联系管理员",
  296. icon: 'none',
  297. duration: 2000
  298. })
  299. }
  300. });
  301. },
  302. //加载默认搜索关键字
  303. loadDefaultKeyword() {
  304. //定义默认搜索关键字,可以自己实现ajax请求数据再赋值,用户未输入时,以水印方式显示在输入框,直接不输入内容搜索会搜索默认关键字
  305. this.defaultKeyword = "默认关键字";
  306. },
  307. //加载历史搜索,自动读取本地Storage
  308. loadOldKeyword() {
  309. var that=this
  310. this.$api.doRequest('get', '/searchRecordsInfo/selectSearchRecordsInfo',{pageSize:this.pageSize,
  311. currentPage:this.currentPage,commonId:this.userInfo.id}).then(res => {
  312. uni.hideLoading()
  313. that.oldKeywordList=res.data.data
  314. console.log(that.oldKeywordList)
  315. })
  316. },
  317. //监听输入
  318. inputChange(event) {
  319. //兼容引入组件时传入参数情况
  320. var keyword = event.detail?event.detail.value:event;
  321. // if (!keyword) {
  322. // this.keywordList = [];
  323. // this.isShowKeywordList = false;
  324. // return;
  325. // }
  326. // this.isShowKeywordList = true;
  327. // //以下示例截取淘宝的关键字,请替换成你的接口
  328. // uni.request({
  329. // url: 'https://suggest.taobao.com/sug?code=utf-8&q=' + keyword, //仅为示例
  330. // success: (res) => {
  331. // this.keywordList = this.drawCorrelativeKeyword(res.data.result, keyword);
  332. // }
  333. // });
  334. },
  335. //高亮关键字
  336. drawCorrelativeKeyword(keywords, keyword) {
  337. var len = keywords.length,
  338. keywordArr = [];
  339. for (var i = 0; i < len; i++) {
  340. var row = keywords[i];
  341. //定义高亮#9f9f9f
  342. var html = row[0].replace(keyword, "<span style='color: #9f9f9f;'>" + keyword + "</span>");
  343. html = '<div>' + html + '</div>';
  344. var tmpObj = {
  345. keyword: row[0],
  346. htmlStr: html
  347. };
  348. keywordArr.push(tmpObj)
  349. }
  350. return keywordArr;
  351. },
  352. //顶置关键字
  353. setkeyword(data) {
  354. this.keyword = data.keyword;
  355. },
  356. //清除历史搜索
  357. oldDelete() {
  358. var that=this
  359. uni.showModal({
  360. content: '确定清除历史搜索记录?',
  361. success: (res) => {
  362. if (res.confirm) {
  363. this.$api.doRequest('post', '/searchRecordsInfo/api/deleteSearchRecordsInfo',{commonId:this.userInfo.id}).then(res => {
  364. if(res.data.code==200){
  365. uni.showToast({
  366. title: '清除历史搜索成功',
  367. icon:'none',
  368. duration: 2000
  369. })
  370. that.oldKeywordList.records=[]
  371. }
  372. })
  373. .catch(res => {
  374. uni.showToast({
  375. title: '清除历史搜索成功',
  376. icon:'none',
  377. duration: 2000
  378. })
  379. });
  380. } else if (res.cancel) {
  381. console.log('用户点击取消');
  382. }
  383. }
  384. });
  385. },
  386. //热门搜索开关
  387. hotToggle() {
  388. this.forbid = this.forbid ? '' : '_forbid';
  389. },
  390. // //执行搜索
  391. // doSearch(e) {
  392. // if(e.detail){
  393. // if(e.detail.value.length>0){
  394. // this.content='取消'
  395. // this.isShowKeywordList=true
  396. // this.$api.doRequest('post', '/searchRecordsInfo/api/addInfo',{commonId:this.userInfo.id,searchContent:e.detail.value}).then(res => {
  397. // })
  398. // .catch(res => {
  399. // });
  400. // }else{
  401. // this.content='搜索'
  402. // this.isShowKeywordList=false
  403. // this.loadOldKeyword()
  404. // this.loadHotKeyword()
  405. // }
  406. // }
  407. // else if(e){
  408. // if(e.length>0){
  409. // this.isShowKeywordList=true
  410. // this.content='取消'
  411. // this.searchKeyWord = e
  412. // this.$api.doRequest('post', '/searchRecordsInfo/api/addInfo',{commonId:this.userInfo.id,searchContent:e}).then(res => {
  413. // })
  414. // .catch(res => {
  415. // })
  416. // }else{
  417. // this.content='搜索'
  418. // this.isShowKeywordList=false
  419. // this.loadOldKeyword()
  420. // this.loadHotKeyword()
  421. // }
  422. // }
  423. // uni.showLoading({
  424. // title: '正在加载',
  425. // mask:true
  426. // })
  427. // var param1=''
  428. // if (this.TabCur == 0) {
  429. // param1 = '/procurementPlanInfo/selectProcurementPlanInfo'
  430. // } else {
  431. // param1 = '/salePlanInfo/selectSalePlanInfo'
  432. // }
  433. // this.$api.doRequest('get', param1,{pageSize:this.pageSize,
  434. // currentPage:this.currentPage,searchKeyWord:this.searchKeyWord}).then(res => {
  435. // uni.hideLoading()
  436. // this.keywordList=res.data.data.records
  437. // })
  438. // .catch(res => {
  439. // uni.hideLoading()
  440. // uni.showToast({
  441. // title: res.errmsg,
  442. // icon:'none',
  443. // duration: 2000
  444. // })
  445. // });
  446. // // console.log(key)
  447. // // console.log(this.keyword)
  448. // // key = key ? key : this.keyword ? this.keyword : this.defaultKeyword;
  449. // // this.keyword = key;
  450. // // this.saveKeyword(key); //保存为历史
  451. // // var TabCur = this.TabCur
  452. // // uni.navigateTo({
  453. // // url: `/pageA/product/querylist?keywords=${key}&TabCur=${TabCur}`
  454. // // })
  455. // },
  456. tabcarchange(status){
  457. this.TabCur=status
  458. var param1 = ''
  459. if (this.TabCur == 0) {
  460. param1 = '/procurementPlanInfo/selectProcurementPlanInfo'
  461. } else {
  462. param1 = '/salePlanInfo/selectSalePlanInfo'
  463. }
  464. this.$api.doRequest('get', param1,{pageSize:this.pageSize,
  465. currentPage:this.currentPage,searchKeyWord:this.searchKeyWord}).then(res => {
  466. if(res.data.code==200){
  467. this.keywordList=res.data.data.records
  468. }else{
  469. uni.showToast({
  470. title: res.data.message,
  471. icon:'none',
  472. duration: 2000
  473. })
  474. }
  475. uni.hideLoading()
  476. })
  477. .catch(res => {
  478. uni.hideLoading()
  479. if(res.errmsg){
  480. uni.showToast({
  481. title: res.errmsg,
  482. icon: 'none',
  483. duration: 2000
  484. })
  485. }
  486. else{
  487. uni.showToast({
  488. title: "系统异常,请联系管理员",
  489. icon: 'none',
  490. duration: 2000
  491. })
  492. }
  493. });
  494. },
  495. //保存关键字到历史记录
  496. saveKeyword(keyword) {
  497. uni.getStorage({
  498. key: 'OldKeys',
  499. success: (res) => {
  500. console.log(res.data);
  501. var OldKeys = JSON.parse(res.data);
  502. var findIndex = OldKeys.indexOf(keyword);
  503. if (findIndex == -1) {
  504. OldKeys.unshift(keyword);
  505. } else {
  506. OldKeys.splice(findIndex, 1);
  507. OldKeys.unshift(keyword);
  508. }
  509. //最多10个纪录
  510. OldKeys.length > 10 && OldKeys.pop();
  511. uni.setStorage({
  512. key: 'OldKeys',
  513. data: JSON.stringify(OldKeys)
  514. });
  515. this.oldKeywordList = OldKeys; //更新历史搜索
  516. },
  517. fail: (e) => {
  518. var OldKeys = [keyword];
  519. uni.setStorage({
  520. key: 'OldKeys',
  521. data: JSON.stringify(OldKeys)
  522. });
  523. this.oldKeywordList = OldKeys; //更新历史搜索
  524. }
  525. });
  526. }
  527. }
  528. }
  529. </script>
  530. <style scoped>
  531. .search-form{
  532. background: #F5F6F9;
  533. }
  534. .line{
  535. display:inline-block;
  536. padding:5px;
  537. position:relative;
  538. font-size:17px;
  539. }
  540. .line.active{
  541. font-size:19px;
  542. font-weight: 900;
  543. }
  544. .line.active:after{
  545. content:'';
  546. display:block;
  547. position:absolute;
  548. width:18px;
  549. left:50%;
  550. transform: translateX(-50%);
  551. bottom:0;
  552. border-bottom:1px solid #22C572;
  553. }
  554. .search-box {width:100%;background-color:rgb(242,242,242);padding:15upx 2.5%;display:flex;justify-content:space-between;}
  555. .search-box .mSearch-input-box{width: 100%;}
  556. .search-box .input-box {width:85%;flex-shrink:1;display:flex;justify-content:center;align-items:center;}
  557. .search-box .search-btn {width:15%;margin:0 0 0 2%;display:flex;justify-content:center;align-items:center;flex-shrink:0;font-size:28upx;color:#fff;background:linear-gradient(to right,#ff9801,#ff570a);border-radius:60upx;}
  558. .search-box .input-box>input {width:100%;height:60upx;font-size:32upx;border:0;border-radius:60upx;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0 3%;margin:0;background-color:#ffffff;}
  559. .placeholder-class {color:#9e9e9e;}
  560. .search-keyword {width:100%;background-color:rgb(242,242,242);}
  561. .keyword-list-box {background:#F5F6FA;height:calc(100vh - 110upx);padding-top:10upx;border-radius:20upx 20upx 0 0;}
  562. .keyword-entry-tap {background-color:#eee;}
  563. .keyword-entry {width:94%;height:80upx;margin:0 3%;font-size:30upx;color:#333;display:flex;justify-content:space-between;align-items:center;border-bottom:solid 1upx #e7e7e7;}
  564. .keyword-entry image {width:60upx;height:60upx;}
  565. .keyword-entry .keyword-text,.keyword-entry .keyword-img {height:80upx;display:flex;align-items:center;}
  566. .keyword-entry .keyword-text {width:90%;}
  567. .keyword-entry .keyword-img {width:10%;justify-content:center;}
  568. .keyword-box {height:calc(100vh - 110upx);border-radius:20upx 20upx 0 0;background-color:#fff;}
  569. .keyword-box .keyword-block {padding:10upx 0;}
  570. .keyword-box .keyword-block .keyword-list-header {width:94%;padding:10upx 3%;font-size:27upx;color:#333;display:flex;justify-content:space-between;}
  571. .keyword-box .keyword-block .keyword-list-header image {width:40upx;height:40upx;}
  572. .keyword-box .keyword-block .keyword {width:94%;padding:3px 3%;display:flex;flex-flow:wrap;justify-content:flex-start;}
  573. .keyword-box .keyword-block .hide-hot-tis {display:flex;justify-content:center;font-size:28upx;color:#6b6b6b;}
  574. .keyword-box .keyword-block .keyword>view {display:flex;justify-content:center;align-items:center;border-radius:60upx;padding:0 20upx;margin:10upx 20upx 10upx 0;height:60upx;font-size:28upx;background-color:rgb(242,242,242);color:#6b6b6b;}
  575. .cuIcon-roundclosefill{
  576. position:absolute;
  577. right:80px;
  578. }
  579. .tag1 {
  580. background:#F5F6F9;
  581. padding: 5px;
  582. color:#333333;
  583. display: inline-flex;
  584. font-size: 22rpx;
  585. border-radius: 3px;
  586. margin: 3px;
  587. }
  588. .tag {
  589. background:#F5F6F9;
  590. padding: 7px 12px;
  591. color:#333333;
  592. display: inline-flex;
  593. font-size: 22rpx;
  594. border-radius: 15px;
  595. margin: 3px;
  596. }
  597. .tag-bule {
  598. background: #EBEEFA;
  599. color: #5C76DF;
  600. }
  601. .tag-green {
  602. background: #C6F7BC;
  603. color: #065112;
  604. }
  605. .tag-yellow {
  606. background: #F9F2EA;
  607. color: #BE9C69;
  608. }
  609. .tag-red {
  610. background: #FEECE6;
  611. color: #FE6430;
  612. }
  613. .introduce-section .title{
  614. font-size: 17px;
  615. font-weight: bold;
  616. height:40px;
  617. line-height: 40px;
  618. flex: 2.5;
  619. border-bottom:1px solid #EEEEEE;
  620. }
  621. .introduce-section .address{
  622. color:#878C9C;
  623. font-size:12px;
  624. padding:15px 0 10px;
  625. }
  626. .introduce-section .price{
  627. padding:10px 0 10px;
  628. color:#FD714F;
  629. font-size:19px;
  630. font-weight:700;
  631. }
  632. /* 销售信息 */
  633. .introduce-section {
  634. background: #fff;
  635. padding: 0upx 30upx 20upx;
  636. margin:10px;
  637. border-radius:4px;
  638. .guess-item {
  639. padding-bottom: 20upx;
  640. border-bottom: 1px solid #ccc;
  641. }
  642. .title-tip {
  643. flex: 1;
  644. }
  645. .price-box {
  646. display: flex;
  647. align-items: baseline;
  648. height: 70upx;
  649. padding: 10upx 0;
  650. font-size: 26upx;
  651. color: $uni-color-primary;
  652. }
  653. .price {
  654. font-size: $font-lg + 2upx;
  655. }
  656. .m-price {
  657. margin: 0 12upx;
  658. color: $font-color-light;
  659. text-decoration: line-through;
  660. }
  661. .coupon-tip {
  662. align-items: center;
  663. padding: 4upx 10upx;
  664. background: $uni-color-primary;
  665. font-size: $font-sm;
  666. color: #fff;
  667. border-radius: 6upx;
  668. line-height: 1;
  669. transform: translateY(-4upx);
  670. }
  671. .bot-row {
  672. display: flex;
  673. align-items: center;
  674. height: 50upx;
  675. font-size: $font-sm;
  676. color: $font-color-light;
  677. view {
  678. flex: 1;
  679. }
  680. }
  681. }
  682. .side-bg{
  683. position:absolute;
  684. width: 64px;
  685. height: 64px;
  686. z-index: 1;
  687. }
  688. .drag {
  689. position:relative;
  690. display: flex;
  691. justify-content: center;
  692. align-items: center;
  693. color: $uni-text-color-inverse;
  694. width: 64px;
  695. height: 64px;
  696. background:transparent;
  697. font-size: $uni-font-size-sm;
  698. position: fixed;
  699. z-index: 9;
  700. &.transition {
  701. transition: left .3s ease,top .3s ease;
  702. }
  703. }
  704. </style>