merchantdetail.vue 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734
  1. <template>
  2. <view style="background-color: whitesmoke;">
  3. <customNav :shownav="true" :title="posName" titledetl=""></customNav>
  4. <view style="width: 100%;height: 80rpx;background-color: #40AE36;"></view>
  5. <view class="nodetail">
  6. <view class="contentInRowS" style="width: 100%;" @click="gengduozx">
  7. <netImage style="margin-left: 12rpx;margin-top: -20rpx;" width="140" height="140" bradius="70" :mysrc="mendianMs.logo" mymode="scaleToFill"></netImage>
  8. <view class="contentColumn" style="width: 500rpx;margin-right: 20rpx;margin-top: 4rpx;">
  9. <view class="contentColumn">
  10. <text class="dianpuming">{{mendianMs.posName}}</text>
  11. <text class="peisongsuoming">{{$t('index.manX')}} {{$formPr(mendianMs.posPrice)}} {{$t('locale.huobidw')}}</text>
  12. <text v-if="mendianMs.state==1" style="margin-top: 10rpx;color: darkgreen;font-size: 28rpx;padding-right: 40rpx;">{{$t('mend.statedy')}}</text>
  13. </view>
  14. </view>
  15. </view>
  16. <view class="contentInRowL" style="margin-left: 40rpx;margin-top: 10rpx;margin-right: 40rpx;">
  17. <view class="contentColumnC" style="width: 24%;">
  18. <image class="actimge" :src="shouchangIcon" mode="aspectFit"></image>
  19. <text class="textfontS3">{{$t('index.shouchang')}}</text>
  20. </view>
  21. <view class="contentColumnC" style="width: 24%;">
  22. <image class="actimge" src="/static/images/daipinglun@3x.png" mode="aspectFit" @click="pinglunList"></image>
  23. <text class="textfontS3">{{$t('index.pinglun')}}</text>
  24. </view>
  25. <view class="contentColumnC" style="width: 24%;">
  26. <image class="actimge" src="/static/images/kefufuwu.png" mode="aspectFit" @click="callPhone"></image>
  27. <text class="textfontS3">{{$t('mend.kefudianhua')}}</text>
  28. </view>
  29. </view>
  30. <view style="height: 20rpx;"></view>
  31. </view>
  32. <view v-if="cuxiaoImge.length==0">
  33. <netImage style="margin-top:20rpx;margin-left: 25rpx;" width="700" height="400" bradius="6" :mysrc="mendianMs.image" mymode="scaleToFill"></netImage>
  34. </view>
  35. <view v-if="cuxiaoImge.length>0"><!-- 促销活动 -->
  36. <swiperImgs style="margin-top: 20rpx;" width="750" height="400" :imageList="cuxiaoImge"></swiperImgs>
  37. </view>
  38. <view style="margin-top: 40rpx;" >
  39. <view class="menuBox" :style="{height: statickH+'rpx'}">
  40. <view class="menuContent" :style="{height: statickH-120+'rpx'}">
  41. <scroll-view scroll-y="true" class="menuLeft">
  42. <view class="menuType" @click="changeCurrent(index)" v-for="(item,index) in prdList"
  43. :class="{currentMenu:currentIndex==index}">
  44. <text class="text2row">{{item.name}}</text>
  45. </view>
  46. <view class="line" :style="{top:currentIndex*100 +'rpx'}"></view>
  47. <view style="height: 120rpx;"></view>
  48. </scroll-view>
  49. <scroll-view :scroll-top="scrollTop" @scroll="scrollRight" class="menuRight" scroll-y="true">
  50. <div class="menuDetailBox" v-for="(item,index) in prdList" :key="index">
  51. <div class="title">{{item.name}}</div>
  52. <div class="menu" v-for="(menu,index) in item.children" :key="index">
  53. <div class="d2" @click="shangpinsl(menu.shangpin)">
  54. <netImage style="margin-top: 10rpx;" width="180" height="180" :mysrc="menu.shangpin.image" mymode="scaleToFill"></netImage>
  55. </div>
  56. <div class="menuName" >
  57. <view class="contentColumnS" style="height: 200rpx;">
  58. <view class="contentColumn" style="width: 100%;" @click="shangpinsl(menu.shangpin)">
  59. <text class="pdName text2row">{{menu.shangpin.name}}</text>
  60. <text class="pdDetail text2row">{{menu.shangpin.introduce}}</text>
  61. </view>
  62. <view class="contentColumn" style="width: 100%;">
  63. <!-- <view class="contentInRowL">
  64. <text class="redktext">特价</text>
  65. <text class="greedKtext" style="margin-left: 10rpx;">24H发货</text>
  66. </view> -->
  67. <view class="contentInRowS">
  68. <view class="">
  69. <text class="pricetext">{{menu.shangpin.price}}</text>
  70. <text class="pricedw">{{$t("locale.huobidw")}}</text>
  71. <text class="yuanjia">{{menu.shangpin.price}}{{$t("locale.huobidw")}}</text>
  72. </view>
  73. </view>
  74. </view>
  75. </view>
  76. </div>
  77. </div>
  78. </div>
  79. <view style="height: 120rpx;"></view>
  80. </scroll-view>
  81. </view>
  82. </view>
  83. </view>
  84. <view class="bottomfloatV">
  85. <view class="buyBT">
  86. <text class="qjsact" style="background-color:darkmagenta" @click="addfenlei">{{$t('comp.guanlifenl')}}</text>
  87. <text class="qjsact" style="background-color:darkgreen" @click="addshangpin">{{$t('comp.xinzengsp')}}</text>
  88. <text class="qjsact" style="background-color:darkred" @click="bianjimendian">{{$t('comp.bianjidp')}}</text>
  89. </view>
  90. </view>
  91. </view>
  92. </template>
  93. <script>
  94. import api from "@/pages/api/api.js";
  95. export default {
  96. data() {
  97. return {
  98. //------------------------------
  99. newData:[], // 拿到右侧所有的商品列表元素
  100. scrollTop: 0,
  101. currentIndex: 0,
  102. prdList:[],
  103. //-----========
  104. cuxiaoImge:[],
  105. id:1,
  106. userid:0,
  107. mendianMs:[],
  108. posName:'',
  109. isfirstShow:0,
  110. isShouchang:0,
  111. shouchangIcon:'/static/images/faver@3x.png',
  112. option: {},
  113. login:false,
  114. showpop:false,
  115. shangpinfenlei:[],
  116. startX:0,
  117. startY:0,
  118. lang:'3',
  119. statickH:0,
  120. }
  121. },
  122. onShow() {
  123. this.getmendianDetail(this.id);
  124. var that =this;
  125. try {//读取
  126. that.token = uni.getStorageSync("token");
  127. //console.log('2222',that.token)
  128. if(that.token == '' || that.token == undefined || that.token == null){
  129. that.login=false;
  130. return;
  131. }
  132. else{
  133. that.login=true;
  134. return;
  135. }
  136. } catch(e){//错误
  137. return;
  138. }
  139. },
  140. onLoad(option) {
  141. var language = uni.getStorageSync('language');
  142. if(language=='yuenan'){
  143. this.lang='0';
  144. }
  145. if(language=='zh-Hans'){
  146. this.lang='2';
  147. }
  148. if(language=='zh-Hant'){
  149. this.lang='3';
  150. }
  151. this.id=option.id;
  152. uni.pageScrollTo({
  153. scrollTop:0,
  154. duration:0
  155. })
  156. var info = uni.getSystemInfoSync();
  157. var isAndroid = info.platform.toLowerCase() === 'android';
  158. console.log(info);
  159. if(isAndroid){
  160. this.statickH=info.screenHeight*2-140-60;
  161. }
  162. else{
  163. this.statickH=info.screenHeight*2-180-60;
  164. }
  165. },
  166. methods: {
  167. //----------------------------------
  168. changeCurrent(index) {
  169. this.currentIndex = index
  170. this.scrollTop = this.newData[index-1]?.offsetHeight || 0
  171. },
  172. scrollRight(e) {
  173. // console.log(e.detail.scrollTop,'scrollRight');
  174. const query = uni.createSelectorQuery().in(this);
  175. for (let i = 0; i < this.newData.length; i++) {
  176. let el = this.newData[i]
  177. if (e.detail.scrollTop < el.offsetHeight) {
  178. this.currentIndex = i
  179. return true
  180. }
  181. }
  182. },
  183. getmendianshangpinFL(id){
  184. api('getmendianshangpinFL',{
  185. id:id,
  186. language:this.lang
  187. },res=>{
  188. this.shangpinfenlei=res.data.data;
  189. console.log(this.shangpinfenlei)
  190. this.initFenlei();
  191. },failc=>{
  192. uni.hideLoading();
  193. //console.log('getadvertis----',failc)
  194. })
  195. },
  196. initFenlei(){
  197. this.prdList=[];
  198. if(this.shangpinfenlei&&this.shangpinfenlei.length>0){
  199. for (var i = 0; i < this.shangpinfenlei.length; i++) {
  200. var el = this.shangpinfenlei[i];
  201. var temp = {
  202. "id": el.id,
  203. "index": i+1,
  204. "name": el.name,
  205. "children": [
  206. ]
  207. }
  208. this.prdList.push(temp);
  209. }
  210. }
  211. this.initproduct();
  212. },
  213. initproduct(){
  214. if(this.prdList.length==0){
  215. uni.hideLoading();
  216. return;
  217. }
  218. this.getmendianshangpinList(0);
  219. },
  220. getmendianshangpinList(index){
  221. var obj = this.prdList[index];
  222. api('getmendianshangpinList',{
  223. id:obj.id,
  224. language:this.lang
  225. },r=>{
  226. console.log(r);
  227. this.prdList[index].children= this.dowithshangpinList(r.data.data);
  228. if(index+1<this.prdList.length){
  229. this.getmendianshangpinList(index+1);
  230. }
  231. else{
  232. console.log(this.prdList);
  233. this.initNewData();
  234. uni.hideLoading();
  235. }
  236. },failc=>{
  237. uni.hideLoading();
  238. //console.log('getadvertis----',failc)
  239. })
  240. },
  241. dowithshangpinList(shangpinlist){
  242. var tempList = [];
  243. if(shangpinlist){
  244. for(var j=0;j<shangpinlist.length;j++){
  245. var shuliang = 0;
  246. var otherPrice = this.getotherPrice(shangpinlist[j].foodSku);
  247. var tempSKU = this.gettempSKU(shangpinlist[j].foodSku);
  248. var tempsp={
  249. "shangpin":shangpinlist[j],
  250. "sku":tempSKU,
  251. "otherPrice":otherPrice,
  252. "shuliang":shuliang
  253. }
  254. tempList.push(tempsp);
  255. }
  256. }
  257. return tempList;
  258. },
  259. initNewData(){
  260. const query = uni.createSelectorQuery().in(this);
  261. query.selectAll('.menuDetailBox').boundingClientRect(data => {
  262. console.log('所有分类项:', data);
  263. this.newData = data.map((item, index) => {
  264. function fgfg(total) {
  265. let sum = 0
  266. for (var i = 0; i <= total; i++) {
  267. sum += data[i].height
  268. }
  269. return sum
  270. }
  271. item.offsetHeight = fgfg(index)
  272. return item
  273. })
  274. }).exec();
  275. },
  276. //------------------------------------------------------------------------------
  277. fanhui(){
  278. uni.navigateBack();
  279. },
  280. shareToggle() {
  281. this.$refs.share.open()
  282. },
  283. chooseCancel(){
  284. this.showpop=false;
  285. },
  286. fenxiang(item,index){
  287. this.option={
  288. //绘制海报内容
  289. //codeUrl: 'https://pic1.zhimg.com/80/v2-2714df42147132464a71af391ed04be4_720w.jpg', //小程序太阳码
  290. codeUrl: '/static/defimages/erweim.png', //小程序太阳码
  291. coverUrl: '/static/defimages/ddd.png', //题库图片
  292. headUrl: '/static/logo.png', //头像
  293. //bgUrl: 'https://pic3.zhimg.com/v2-8fbde0f9ac6a19a23aa839e73394618a_b.jpg', //图片背景填充,和 fillStyle 只能传一个,bgUrl 优先级高于 fillStyle
  294. fillStyle: '#00A6FF', //纯色背景填充颜色
  295. nickName: '美食达', //授权登录的用户名
  296. miniName: '不出门吃遍全世界', //小程序名称
  297. tkName:this.posName, //题库名称
  298. tkAuthor:'门店介绍', //题库作者
  299. tkType: '外送', //题库类型
  300. cost: '自取', //是否需要收费 免费/付费
  301. isPub: '堂食' //公开 还是 私有
  302. };
  303. this.$refs.draw.share_qrcode(this.option);
  304. },
  305. callPhone(){
  306. var that = this;
  307. uni.showModal({
  308. title: that.$t('api.message'),
  309. content: that.$t('api.nqdbddh'),
  310. cancelText:that.$t('order.quxiao'),
  311. confirmText:that.$t('comp.queren'),
  312. success: function (res) {
  313. if (res.confirm) { //这里是点击了确定以后
  314. console.log(that.mendianMs.telephone)
  315. plus.device.dial(that.mendianMs.telephone, false );
  316. } else { //这里是点击了取消以后
  317. console.log('用户点击取消')
  318. }
  319. }
  320. })
  321. },
  322. gengduozx(){
  323. uni.navigateTo({
  324. url:'/pages/shanpinxungou/shangjia/gengduozhixun?mendid='+this.id
  325. })
  326. },
  327. pinglunList(){
  328. uni.navigateTo({
  329. url:'/pages/pinglun/pingLunList?mendid='+this.id
  330. })
  331. },
  332. shangpinsl(obj){
  333. //选择商品
  334. // uni.navigateTo({
  335. // url:'/pages/shanpinxungou/shangpin/shangpinxiangqing?id='+id
  336. // })
  337. //编辑商品
  338. console.log('bianjishangpin',obj)
  339. this.isbjsp=true;
  340. uni.navigateTo({
  341. url:'/pages/UserCenter/mendian/addmendianSP?spid='+obj.id+'&sh='+obj.toExamine
  342. })
  343. },
  344. //------------------------------------
  345. getmendianDetail(id){
  346. //console.log('getmendianDetail:id',id);
  347. uni.showLoading({
  348. mask:true
  349. })
  350. api('getmendianDetail',{
  351. id:id
  352. },r=>{
  353. console.log(r.data.data);
  354. this.mendianMs=r.data.data;
  355. this.userid=this.mendianMs.userId;
  356. this.posName=this.mendianMs.posName;
  357. this.isShouchang=this.mendianMs.Collect;
  358. if(this.isShouchang==1){
  359. this.shouchangIcon='/static/images/faverr@3x.png'
  360. }
  361. else{
  362. this.shouchangIcon='/static/images/faver@3x.png'
  363. }
  364. this.getmendianshangpinFL(id);
  365. this.cuxiaoList();
  366. },failc=>{
  367. uni.hideLoading();
  368. //console.log('getadvertis----',failc)
  369. })
  370. },
  371. cuxiaoList(){
  372. api('cuxiaoList',{
  373. mdId:this.id,
  374. price:''
  375. },r=>{
  376. //console.log('-----------',r)
  377. if(r.data.code==200){
  378. this.cuxiaoImge=[];
  379. var objs = r.data.data;
  380. for(var i=0;i<objs.length;i++){
  381. var obj=objs[i];
  382. if(obj.poster&&obj.poster.length>0){
  383. this.cuxiaoImge.push(obj.poster);
  384. }
  385. }
  386. }
  387. },failc=>{
  388. //console.log('getadvertis----',failc)
  389. })
  390. },
  391. //------------------------------------------------------
  392. addfenlei(){
  393. uni.navigateTo({
  394. url:'/pages/UserCenter/mendian/mendianSPFenlei?mendid='+this.id
  395. })
  396. },
  397. addshangpin(){
  398. uni.navigateTo({
  399. url:'/pages/UserCenter/mendian/addmendianSP?mendid='+this.id
  400. })
  401. },
  402. bianjimendian(){
  403. this.isfirstShow=0;
  404. uni.navigateTo({
  405. url:'/pages/UserCenter/mendian/addmendian?id='+this.id
  406. })
  407. },
  408. //--------------------------------------
  409. gettempSKU(foodSku){
  410. var selectsku=[];
  411. for(var i=0;i<foodSku.length;i++){
  412. if(foodSku[i].objects.length>0){
  413. for(var j=0;j<foodSku[i].objects.length;j++){
  414. if(foodSku[i].objects[j].state==1){
  415. selectsku.push(foodSku[i].objects[j].name);
  416. }
  417. }
  418. }
  419. }
  420. return selectsku;
  421. },
  422. getotherPrice(foodSku){
  423. var jiner=0;
  424. for(var i=0;i<foodSku.length;i++){
  425. if(foodSku[i].objects.length>0){
  426. for(var j=0;j<foodSku[i].objects.length;j++){
  427. if(foodSku[i].objects[j].state==1){
  428. jiner=jiner+parseFloat(foodSku[i].objects[j].price);
  429. }
  430. }
  431. }
  432. }
  433. return parseFloat(jiner);
  434. },
  435. }
  436. }
  437. </script>
  438. <style lang="scss" scoped>
  439. page{
  440. background-color: #F2F3F7;
  441. }
  442. .box{
  443. height: 100upx;
  444. line-height: 100upx;
  445. text-align: center;
  446. background-color:white;
  447. }
  448. .fixedTop{
  449. position: fixed;
  450. top:140rpx;
  451. left: 0;
  452. right: 0;
  453. z-index: 9999999;
  454. }
  455. .fixedTopios{
  456. position: fixed;
  457. top:180rpx;
  458. left: 0;
  459. right: 0;
  460. z-index: 9999999;
  461. }
  462. //-----------------------------
  463. .nodetail{
  464. width: 94%;
  465. margin-left: 3%;
  466. margin-top: -40rpx;
  467. background-color: white;
  468. border-radius: 10rpx;
  469. }
  470. .fenleiTitle{
  471. padding-left: 16rpx;
  472. padding-right: 16rpx;
  473. line-height: 36rpx;
  474. font-size: 28rpx;
  475. border-radius: 20rpx;
  476. color: darkgray;
  477. background-color: white;
  478. border: 1rpx solid darkgray;
  479. }
  480. .page-view {
  481. background-color:#F2F3F7;
  482. }
  483. .actimgeCT{
  484. position: fixed;
  485. width: 94%;
  486. left: 3%;
  487. top: 100rpx;
  488. z-index: 9;
  489. }
  490. .actimge{
  491. width: 60rpx;
  492. height: 60rpx;
  493. }
  494. .buyBT{
  495. display:flex;
  496. flex-direction: row;
  497. justify-content:center;
  498. align-items: center;
  499. width: 100%;
  500. margin-top: 10rpx;
  501. }
  502. .dianpuming{
  503. font-size: 30rpx;
  504. line-height: 32rpx;
  505. height: 32rpx;
  506. font-weight: bold;
  507. overflow: hidden;
  508. text-overflow: ellipsis;
  509. /* #ifndef APP-PLUS-NVUE */
  510. display: -webkit-box;
  511. -webkit-line-clamp: 1;
  512. -webkit-box-orient: vertical;
  513. /* #endif */
  514. }
  515. .peisongsuoming{
  516. font-size: 26rpx;
  517. line-height: 38rpx;
  518. height: 38rpx;
  519. color: dimgray;
  520. }
  521. .bottomfloatV{
  522. position: fixed;
  523. flex-direction: row;
  524. align-items: center;
  525. left: 0;
  526. right: 0;
  527. bottom: 0;
  528. z-index: 999;
  529. background-color: whitesmoke;
  530. height: 120rpx;
  531. }
  532. .qjs{
  533. border-radius: 30rpx;
  534. padding-left: 26rpx;
  535. padding-right: 26rpx;
  536. margin-left: auto;
  537. margin-right: 30rpx;
  538. font-size: 32rpx;
  539. height: 60rpx;
  540. line-height: 60rpx;
  541. }
  542. .fenleiitem{
  543. text-align:center;
  544. margin-top: 12rpx;
  545. margin-bottom: 12rpx;
  546. width:660upx;
  547. border-radius: 10rpx;
  548. color: darkblue;
  549. line-height: 54rpx;
  550. font-size: 28rpx;
  551. border: solid lavender;
  552. border-width: 0px 0px 1rpx 0px;
  553. }
  554. //-----------------------------
  555. .menuBox {
  556. // height: calc(100vh);
  557. display: flex;
  558. flex-direction: column;
  559. // border: 1px solid #ccc;
  560. margin: 0 10rpx;
  561. .menuContent {
  562. height: 100%;
  563. overflow: auto;
  564. position: relative;
  565. display: flex;
  566. position: sticky;
  567. top: 0rpx;
  568. .menuLeft {
  569. float: left;
  570. position: relative;
  571. width: 200rpx;
  572. background-color: #f5f5f5;
  573. .menuType {
  574. transition: all 0.4s;
  575. position: relative;
  576. z-index: 999999999;
  577. height: 100rpx;
  578. display: flex;
  579. align-items: center;
  580. padding-left: 20rpx;
  581. &.currentMenu {
  582. font-weight: 700;
  583. }
  584. }
  585. }
  586. .menuRight {
  587. flex: 1;
  588. background-color:lavender;
  589. .menuDetailBox {
  590. .title {
  591. height: 60rpx;
  592. display: flex;
  593. align-items: center;
  594. }
  595. .menu {
  596. background-color: #fff;
  597. height: 200rpx;
  598. display: flex;
  599. justify-content: center;
  600. &:not(:nth-last-of-type(1)) {
  601. margin-bottom: 20rpx;
  602. }
  603. .d2 {
  604. width: 180rpx;
  605. height: 180rpx;
  606. }
  607. .menuName {
  608. flex: 1;
  609. margin-left: 20rpx;
  610. }
  611. }
  612. }
  613. }
  614. }
  615. }
  616. .line {
  617. position: absolute;
  618. left: 0;
  619. top: 0;
  620. height: 100rpx;
  621. width: 100%;
  622. background-color: #fff;
  623. z-index: 999;
  624. transition: all 0.4s;
  625. &::before {
  626. content: '';
  627. position: absolute;
  628. left: 0;
  629. top: 0;
  630. height: 100rpx;
  631. width: 4rpx;
  632. background-color: red;
  633. z-index: 999;
  634. transition: all 0.4s
  635. }
  636. }
  637. .pdName{
  638. font-size: 30rpx;
  639. font-weight: bold;
  640. color: black;
  641. }
  642. .pdDetail{
  643. font-size: 26rpx;
  644. color: darkgray;
  645. }
  646. .redktext{
  647. color: brown;
  648. border-radius: 4rpx;
  649. border: 1px solid brown;
  650. font-size: 26rpx;
  651. }
  652. .greedKtext{
  653. color: darkgreen;
  654. border-radius: 4rpx;
  655. border: 1px solid darkgreen;
  656. font-size: 26rpx;
  657. }
  658. .pricetext{
  659. color: firebrick;
  660. font-size: 28rpx;
  661. font-weight: bold;
  662. }
  663. .pricedw{
  664. font-size: 24rpx;
  665. color: darkgray;
  666. }
  667. .yuanjia{
  668. font-size: 24rpx;
  669. color: darkgray;
  670. text-decoration: line-through;
  671. }
  672. .qjsact{
  673. margin-top: 10rpx;
  674. margin-left: 40rpx;
  675. border-radius: 8rpx;
  676. padding: 10rpx;
  677. font-size: 30rpx;
  678. line-height: 30rpx;
  679. color: white;
  680. text-align: center;
  681. }
  682. </style>