12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070 |
- <template>
- <view class="content" v-show="storeId">
- <!-- <view class="uni-nav-bar" :style="{backgroundColor: `rgba(255, 255, 255,${opacity})`}">
- <view :style="{height: statusBarHeight + 'px',width: '100%'}"></view>
- <view class="uni-nav-barbox">
- <view class="uni-nav-back">
- <u-icon name="arrow-left" color="#fff" size="20" @click="rightClick"></u-icon>
- </view>
- <view class="uni-nav-title" :style="{opacity: 1,width:`calc(100vw - 100rpx - ${menuRight} - ${menuWidth})`}">
- {{storeInfo.storeName}}
- <view class="inputbox" :style="{background: opacity >= 0.6 ? '#F7F7F7':'#fff'}" @click="toSearch">
- <image class="icon-search" src="../../static/images/search.png" mode=""></image>
- <view>搜索店内药品</view>
- </view>
- </view>
- </view>
- </view> -->
- <view class="uni-nav-bar" :style="{backgroundColor: `rgba(58, 17, 1, 1)`}">
- <view :style="{height: statusBarHeight + 'px',width: '100%'}"></view>
- <view class="uni-nav-barbox">
- <view class="uni-nav-back">
- <u-icon name="arrow-left" color="#fff" size="20" @click="rightClick"></u-icon>
- </view>
- <view class="uni-nav-title" :style="{opacity: 1,width:`calc(100vw - 120rpx - ${menuRight} - ${menuWidth})`}">
- <!-- {{storeInfo.storeName}} -->
- <view class="inputbox" :style="{background:'rgba(255, 255, 255, 0.25)'}" @click="toSearch">
- <image class="icon-search" src="../../static/images/search_white_icon12.png" mode=""></image>
- <view>搜索店内药品</view>
- </view>
- </view>
- </view>
- </view>
- <view class="content-top">
- <view class="store-head" v-show="storeInfo.storeName">
- <view>
- <view class="store-head-top">
- <view class="store-head-logo">
- <u-image shape="square" :src="storeInfo.logoUrl || logoUrl" width="100rpx" height="100rpx" radius="6"></u-image>
- </view>
- <view class="store-info">
- <view class="store-head-name">{{storeInfo.storeName || ''}}</view>
- <view class="store-head-desc">
- <!-- <view>销售{{utils.formatSalesNum(storeInfo.salesCount) }}</view> -->
- <view>24小时营业 · 月售{{utils.formatSalesNum(storeInfo.salesCount) }}{{utils.formatSalesNum(storeInfo.salesCount)>1000?'+':''}}</view>
- <!-- <view>支持预订</view> -->
- </view>
- </view>
-
- </view>
- <view class="store-head-bottom">
- <view class="store-head-bottom-left">支持预定</view>
- <view class="store-head-bottom-center">
- <view>直降6元</view>
- <view>低价换购</view>
- <view>返15个芳华币</view>
- </view>
- </view>
- </view>
-
- <view class="store-head-right">
- <text>领卷</text>
- <image class="w24 h24" src="../../static/images/back_white.png" mode=""></image>
- </view>
- </view>
- </view>
- <!-- tab切换 -->
- <view class="pub-tab-box">
- <view class="tab-inner">
- <view
- v-for="(item,index) in tabs"
- :key="index"
- :class="cateId == item.cateId?'item active':'item'"
- @click="cateChange(item)">
- <view class="text">
- {{ item.cateName }}
- <!-- <image v-show="cateId == item.cateId" class="tab-bg" src="../../static/images/tab_bg.png" mode=""></image> -->
- </view>
- </view>
-
- </view>
- </view>
- <!-- 数据列表 -->
- <view class="content-list">
- <mescroll-body ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback" :down="downOption" :up="upOption">
- <view class="goods-list">
- <view class="item" v-for="(item,index) in dataList" :key="index" @click="showDetail(item)">
- <view class="img-box">
- <image :src="item.image" mode="aspectFit"></image>
- <view class="cf-box" v-if="item.productType==2">
- <view class="title">处方药</view>
- <view class="subTitle">请在医师指导下使用</view>
- </view>
- </view>
-
- <view class="info-box">
- <view class="title ellipsis2">{{item.productName}}</view>
- <view class="price-box">
- <view class="now">
- <text class="unit">¥</text>
- <text class="num">{{item.price.toFixed(2)}}</text>
- </view>
- <view class="old">¥{{item.otPrice.toFixed(2)}}</view>
- </view>
- </view>
- </view>
- </view>
- </mescroll-body>
- </view>
- <!-- 底部按钮 -->
- <view class="btn-foot">
- <view class="menu-box">
- <view class="item" @click="goHome">
- <image src="../../static/images/tab_home_icon24.png" mode=""></image>
- <text class="label">首页</text>
- </view>
-
- <view class="item" @click="navgetTo('./cart')">
- <uni-badge size="small" :text="cartCount" absolute="rightTop" type="error">
- <image src="../../static/images/shopping_car_icon20.png" mode=""></image>
- </uni-badge>
- <text class="label">购物车</text>
- </view>
- <view class="item" style="position: relative;">
- <image src="../../static/images/customer_service_icon24.png" mode=""></image>
- <text class="label">客服</text>
- <button class="contact-btn" open-type="contact"></button>
- </view>
- </view>
- </view>
- <!-- <image class="bg" src="../../static/images/chu_query.png" mode="widthFix"></image> -->
- <!-- <view class="content-body">
-
- <view class="storebox">
- <u-sticky bgColor="#fff" :offset-top="statusBarHeight + 44">
- <u-tabs :list="tabbar" :current="current" @click="clickTab" class="u-tabs"></u-tabs>
- </u-sticky> -->
- <!-- 商品 -->
- <!-- <view :style="{height: divHeight,display: current == 0 ? 'flex' : 'none'}" class="medic-box">
- <view class="cate-list">
- <view
- v-for="(item,index) in cates"
- :key="index"
- :class="cateSelect == item.cateId?'item active':'item'"
- @click="choseCate(item)"
- >{{item.cateName }}</view>
- </view>
- <view class="medic"> -->
- <!-- 轮播图 -->
- <!-- <view class="banner-box">
- <swiper
- class="swiper"
- :indicator-dots="true"
- :circular="true"
- :autoplay="true"
- :interval="3000"
- :duration="1000"
- indicator-color="rgba(255, 255, 255, 0.6)"
- indicator-active-color="#ffffff"
- >
- <swiper-item class="swiper-item" v-for="(item,index) in advs" :key="index" @click="handleAdvClick(item)">
- <image :src="item.imageUrl" mode=""></image>
- </swiper-item>
- </swiper>
- </view> -->
- <!-- 药品列表 -->
- <!-- <view class="medic-list">
- <view class="item" v-for="(item,index) in subCates" :key="index">
- <view class="title">{{item.cateName}}</view>
- <view class="inner-list">
- <view class="definite"v-for="(subItem,index) in subCates" @click="showProductList(subItem)">
- <view class="img-box">
- <image :src="subItem.pic" mode="aspectFit"></image>
- </view>
- <view class="name ellipsis">{{subItem.cateName}}</view>
- </view>
- </view>
- </view>
- </view>
- </view>
- </view> -->
- <!-- 商家信息 -->
- <!-- <view class="storebox-info" :style="{height: divHeight}" v-show="current == 1">
- <view class="storebox-map">
- <u-icon name="map" color="#ccc" size="18"></u-icon>
- <view style="margin-left: 10rpx;">{{storeInfo.address || "--"}}</view>
- </view>
- <view class="storebox-map" v-if="storeInfo.phone">
- <u-icon name="phone" color="#ccc" size="18"></u-icon>
- <view style="margin-left: 10rpx;">{{storeInfo.phone || "--"}}</view>
- </view>
- <view class="storebox-qualifications" v-if="storeInfo.descs">
- <u-icon name="volume" color="#ccc" size="18"></u-icon>
- <view style="margin-left: 10rpx;">{{storeInfo.descs || "--"}}</view>
- </view>
- <view class="storebox-qualifications">
- <u-icon name="file-text" color="#ccc" size="18"></u-icon>
- <view style="margin-left: 10rpx;">商家资质</view>
- </view>
- <view class="qualifications">
- <view v-for="(img,i) in licenseImagesList" :key="i">
- <u-image
- shape="square"
- lazyLoad
- :src="img"
- width="100%"
- mode="widthFix"
- radius="6"
- @click="previewImage(i)"
- ></u-image>
- </view>
- </view>
- </view>
- </view>
- </view> -->
- </view>
- </template>
- <script>
- import {getProductCate} from '@/api/product';
- import {getAdv} from '@/api/adv';
- import { getStoreById } from "@/api/store.js";
- import {getProductCateByPid,getProducts} from '@/api/product'
- import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
- export default {
- mixins: [MescrollMixin],
- data() {
- return {
- statusBarHeight: uni.getSystemInfoSync().statusBarHeight,
- // 右侧的胶囊距离右侧屏幕距离-px
- menuRight: uni.getStorageSync('menuInfo').menuRight,
- // 右侧的胶囊宽度-px
- menuWidth: uni.getStorageSync('menuInfo').menuWidth,
- opacity: 0,
- opacityTxt: 0,
- storeId: "",
- tabbar: [{
- name: '商品',
- }, {
- name: '商家',
- }],
- current: 0,
- storeInfo: {},
- logoUrl: "/static/images/adfd21c004854c9b8997d371d7a0ce8c.jpg",
- // 商家资质图片
- licenseImagesList: ["/static/images/sjzz.jpg"],
- divHeight:'0px',
- allCates:[],
- cates:[],
- subCates:[],
- // 选中药品分类
- cateSelect: 0,
- // 轮播图
- advs: [],
- // 'company'表示销售管理的进来的
- from: "",
- dataList:[],
- cateId:null,
- tabs:[{
- cateId: 178,
- cateName: "推荐",
- pid: 179,
- },
- {
- cateId: 100,
- cateName: "分类",
- pid: 179,
- }
- ],
- //上拉加载的配置
- upOption: {
- onScroll:true,
- use: true, // 是否启用上拉加载; 默认true
- page: {
- num: 0, // 当前页码,默认0,回调之前会加1,即callback(page)会从1开始
- size: 10 // 每页数据的数量,默认10
- },
- noMoreSize: 10, // 配置列表的总数量要大于等于5条才显示'-- END --'的提示
- empty: {
- icon:'/static/images/no_data.png',
- tip: '暂无数据',
-
- },
- textNoMore:"已经到底了",
- }
- }
- },
- onLoad(option) {
- this.storeId = option.storeId || ""
- this.cateId = 178;
- this.from= option.from || ''
- if(this.storeId){
- this.getStoreInfo()
- this.getProductCate();
- } else {
- uni.showToast({
- title: "storeId不存在~",
- icon: "none"
- })
- }
- },
- onShow() {
- this.divHeight= `calc(100vh - 44px - 88rpx - ${this.statusBarHeight}px)`
- this.getAdv();
- },
- onPageScroll(e) {
- if (e.scrollTop <= 44) {
- this.opacityTxt = 0
- this.opacity = e.scrollTop > this.statusBarHeight ? 0.6 : 0
- } else if (e.scrollTop > 50) {
- this.opacity = 1
- this.opacityTxt = 1
- }
-
- },
- methods: {
- rightClick() {
- uni.navigateBack()
- },
- clickTab(item) {
- this.current = item.index
- },
- // 预览图片
- previewImage(index) {
- uni.previewImage({
- current: index,
- urls: this.licenseImagesList
- });
- },
- getStoreInfo() {
- getStoreById({storeId: this.storeId}).then(
- res => {
- if(res.code==200){
- this.storeInfo = res.data || {}
- // this.licenseImagesList = this.storeInfo.licenseImages ? this.storeInfo.licenseImages.split(',') : []
- } else {
- uni.showToast({
- icon:'none',
- title: res.msg,
- });
- }
- },
- rej => {}
- );
- },
- toSearch() {
- if(this.from == 'company') {
- uni.navigateTo({
- url: '/pages_company/order/productList?storeId=' + this.storeId || ''
- })
- } else {
- uni.navigateTo({
- url: '/pages/home/productSearch?storeId=' + this.storeId || ''
- })
- }
- },
- handleAdvClick(item){
- if(item.showType==1){
- uni.setStorageSync('url',item.advUrl);
- uni.navigateTo({
- url:"/pages/home/h5?storeId="+ this.storeId || ""
- })
- }
- else if(item.showType==2){
- uni.navigateTo({
- url:item.advUrl
- })
- }
- else if(item.showType==3){
- uni.setStorageSync('content',item.content);
- uni.navigateTo({
- url:"/pages/home/content?storeId="+ this.storeId || ""
- })
- }
-
- },
- getAdv(){
- let data = {advType:2};
- getAdv(data).then(
- res => {
- if(res.code==200){
- this.advs=res.data;
- }
- },
- rej => {}
- );
- },
- getProductCate(){
- let data = {};
- getProductCate(data).then(
- res => {
- if(res.code==200){
- this.allCates=res.data;
- this.cates = this.allCates.filter(function (item) {
- return item.pid==0
- });
- if(this.cates!=null&&this.cates.length>0){
- this.cateSelect=this.cates[0].cateId;
- this.getSubCate()
- }
- }else{
- uni.showToast({
- icon:'none',
- title: "请求失败",
- });
- }
- },
- rej => {}
- );
- },
- // tab切换
- cateChange(item) {
- this.cateId = item.cateId;
- this.mescroll.resetUpScroll()
- },
- mescrollInit(mescroll) {
- this.mescroll = mescroll;
- },
- /*下拉刷新的回调 */
- downCallback(mescroll) {
- this.mescroll.resetUpScroll()
- },
- upCallback(page) {
- //联网加载数据
- var that = this;
- var data = {
- cateId:this.cateId,
- defaultOrder:this.defaultOrder,
- page: page.num,
- pageSize: page.size,
- productName: this.productName || "",
- storeId: this.storeId
- };
- if(this.from == 'company') {
- this.getSalesProducts(page,data)
- } else {
- this.getProducts(page,data)
- }
- },
- getProducts(page,data) {
- var that = this;
- getProducts(data).then(res => {
- if(res.code==200){
- //设置列表数据
- if (page.num == 1) {
- that.dataList = res.data.list;
- } else {
- that.dataList = that.dataList.concat(res.data.list);
- }
- that.mescroll.endBySize(res.data.list.length, res.data.total);
-
- }else{
- uni.showToast({
- icon:'none',
- title: "请求失败",
- });
- that.dataList = null;
- that.mescroll.endErr();
- }
- });
- },
- // 回到首页
- goHome() {
- uni.switchTab({
- url: '/pages/home/index'
- })
- },
- // 跳转页面
- navgetTo(url) {
- console.log("跳转")
- this.utils.isLogin().then(res => {
- if(res){
- uni.navigateTo({
- url: url
- })
- }
- })
- },
- // 查看药品详情
- showDetail(item) {
- if(this.from == 'company') {
- uni.navigateTo({
- url: '/pages_company/order/productDetails?productId='+item.productId +`${this.storeId ? '&storeId='+this.storeId : ''}`
- })
- } else {
- uni.navigateTo({
- url: './productDetails?productId='+item.productId +`${this.storeId ? '&storeId='+this.storeId : ''}`
- })
- }
- },
- // 药品分类选择
- choseCate(item) {
- this.cateSelect = item.cateId;
- this.getSubCate()
-
- },
- getSubCate(){
- var that=this;
- this.subCates = this.allCates.filter(function (item) {
- // let subList = that.allCates.filter(child => {
- // //返回每一项的子级数组
- // return child.pid === item.cateId
- // });
- // subList.length > 0 ? item.children = subList : [];
- return item.pid==that.cateSelect
- });
-
- },
- // 查看药品详情
- showProductList(item) {
- uni.navigateTo({
- url: '/pages/shopping/productList?cateId='+item.cateId+"&pid="+item.pid+'&storeId=' + this.storeId + '&from=' + this.from
- })
- }
- }
- }
- </script>
- <style scoped lang="scss">
- @mixin u-flex($flexD, $alignI, $justifyC) {
- display: flex;
- flex-direction: $flexD;
- align-items: $alignI;
- justify-content: $justifyC;
- }
- .inputbox {
- height: 60rpx;
- padding: 0 20rpx;
- @include u-flex(row, center, flex-start);
- border-radius: 40rpx;
- line-height: 60rpx;
- font-size:28rpx;
- color:#fff;
- font-family: PingFang SC;
- .icon-search{
- width: 28rpx;
- height: 28rpx;
- margin-right: 20rpx;
- }
- }
- .uni-nav-bar {
- position: fixed;
- top: 0;
- left: 0;
- width: 100%;
- z-index: 999;
- overflow: hidden;
- font-family: PingFang SC, PingFang SC;
- font-weight: 500;
- .uni-nav-barbox {
- width: 100%;
- height: 88rpx;
- @include u-flex(row, center, flex-start);
- position: relative;
- font-size: 24rpx;
- }
- .uni-nav-title {
- /* #ifdef APP-PLUS */
- font-size: 34rpx;
- /* #endif */
- /* #ifndef APP-PLUS */
- font-size: 14px;
- /* #endif */
- overflow: hidden;
- overflow: hidden;
- white-space: nowrap;
- text-overflow: ellipsis;
- }
- .uni-nav-back {
- margin-left: 20rpx;
- margin-right: 20rpx;
- height: 88rpx;
- @include u-flex(row, center, flex-start);
- }
- }
- .content {
- width: 100%;
- position: relative;
- .bg {
- width: 100%;
- height: auto;
- position: absolute;
- top: 0;
- left: 0;
- }
- &-top{
- position: fixed;
- z-index: 999;
- top: calc(var(--status-bar-height) + 120rpx);
- width: 100%;
- }
- &-body {
- position: relative;
- padding-top: calc(var(--status-bar-height) + 360rpx);
- }
- &-list{
- position: relative;
- padding-top: calc(var(--status-bar-height) + 440rpx);
- }
- }
-
- .store-head {
- // position: relative;
- // z-index: 9;
- // margin: 0 24rpx 0 24rpx;
- // padding: 24rpx;
- // background: #FFFFFF;
- // border-radius: 16rpx 16rpx 16rpx 16rpx;
- // font-family: PingFang SC, PingFang SC;
- // color: #222222;
- // box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04);
- position: relative;
- z-index: 999;
- padding:30rpx 24rpx;
- background:#3A1101;
- font-family: PingFang SC, PingFang SC;
- color: #fff;
- width: calc(100% - 48rpx);
- display: flex;
- align-items: flex-end;
- justify-content: space-between;
- &-info{
- flex:1;
- display: flex;
- flex-direction: column;
- justify-content: space-between;
- }
- &-top {
- display: flex;
- align-items: center;
- }
- &-logo {
- flex-shrink: 0;
- margin-right: 24rpx;
- }
- &-name {
- font-weight: 600;
- font-size: 32rpx;
- }
- &-right{
- display: flex;
- align-items: center;
- font-size: 24upx;
- image{
- transform: scaleX(-1);
- margin-left: 5upx;
- }
- }
- &-desc {
- margin-top: 16rpx;
- display: flex;
- align-items: center;
- flex-wrap: wrap;
- gap: 20rpx;
- position: relative;
- z-index: 2;
- view {
- // padding-right: 20rpx;
- font-size: 24rpx;
- position: relative;
- &::after {
- content: "";
- width: 0;
- height: 28rpx;
- border-right: 1rpx solid #eee;
- position: absolute;
- right: 0;
- top: 50%;
- transform: translate(0, -50%);
- }
- &:last-child::after {
- border: none;
- }
- }
- }
- &-bottom{
- padding-top: 24upx;
- display: flex;
- align-items: center;
- font-size: 24upx;
- &-left{
- background: rgba(255, 255, 255, 0.20);
- padding: 4rpx 10rpx;
- border-radius: 20rpx;
- font-size: 20rpx;
- margin-right: 24upx;
- }
- &-center{
- display: flex;
- align-items: center;
- view{
- font-size: 20rpx;
- border-radius: 4rpx;
- background: linear-gradient(120deg, #FE8227 0%, #FE4E12 100%);
- margin-right: 10rpx;
- padding: 2rpx 8rpx;
- }
-
- }
- }
- }
- .pub-tab-box{
-
- box-sizing: border-box;
- width: 100%;
- padding: 0 33upx;
- background-color: #FFFFFF;
- position: fixed;
- top: calc(var(--status-bar-height) + 340rpx);
- z-index: 999;
- box-shadow: 0px 0px 5px 2px rgba(0, 0, 0, 0.05);
- .tab-inner{
- height: 88upx;
- line-height: 88upx;
- display: flex;
- overflow-x: auto;
- justify-content: center;
- align-items: center;
-
- }
- .item{
- font-size: 28upx;
- white-space: nowrap;
- line-height: 1;
- font-family: PingFang SC;
- font-weight: 500;
- color: #666666;
- margin-right: 90upx;
- display: flex;
- align-items: center;
- justify-content: center;
- &:last-child{
- margin-right: 0;
- }
- &.active{
- font-weight: bold;
- color: #333333;
- &::after {
- content: "";
- width: 48rpx;
- height: 8rpx;
- background: linear-gradient(120deg, #31A1FE 0%, #008FD3 100%);
- position: absolute;
- bottom: 0;
- border-radius: 6upx 6upx 0upx 0;
- }
- }
- .text{
- position: relative;
- z-index: 1;
- }
- .tab-bg{
- width: 72upx;
- height: 28upx;
- position: absolute;
- top: 17upx;
- left: 50%;
- transform: translateX(-36upx);
- z-index: -1;
- }
- }
-
- }
- .goods-list{
- padding: 20upx;
- display: flex;
- flex-wrap: wrap;
- .item{
- margin-right: 20rpx;
- margin-bottom: 20rpx;
- width: 345rpx;
- background: #FFFFFF;
- box-shadow: 0px 0px 10rpx 4rpx rgba(199, 199, 199, 0.22);
- border-radius: 20rpx;
- overflow: hidden;
- &:nth-child(2n) {
- margin-right: 0;
- }
- .img-box{
- width: 100%;
- height: 334upx;
- position: relative;
- image{
- width: 100%;
- height: 100%;
- }
-
- }
-
- .info-box{
- box-sizing: border-box;
- height: 182upx;
- padding: 20upx 20upx 30upx;
- display: flex;
- flex-direction: column;
- justify-content: space-between;
- .title{
- font-size: 26upx;
- font-family: PingFang SC;
- font-weight: 500;
- color: #111111;
- line-height: 40upx;
- }
- .price-box{
- display: flex;
- align-items: flex-end;
- .now{
- display: flex;
- align-items: flex-end;
- margin-right: 20upx;
- .unit{
- font-size: 24upx;
- font-family: PingFang SC;
- font-weight: 500;
- color: #FF6633;
- line-height: 1.2;
- margin-right: 4upx;
- }
- .num{
- font-size: 36upx;
- font-family: PingFang SC;
- font-weight: bold;
- color: #FF6633;
- line-height: 1;
- }
- }
- .old{
- font-size: 26upx;
- font-family: PingFang SC;
- font-weight: 500;
- text-decoration: line-through;
- color: #BBBBBB;
- line-height: 1.1;
- }
- }
- }
- }
- }
-
- .btn-foot{
- box-sizing: border-box;
- height: 100upx;
- background: #FFFFFF;
- padding: 0 30upx;
- display: flex;
- align-items: center;
- justify-content: space-between;
- position: fixed;
- bottom: 0;
- z-index: 99;
- left: 50%;
- transform: translate(-50%,-50%);
- border-radius: 50px;
- box-shadow: 0px 0px 5px 2px rgba(0, 0, 0, 0.05);
- .menu-box{
- display: flex;
- align-items: center;
- .item{
- display: flex;
- align-items: center;
- flex-direction: column;
- margin-right: 48upx;
- &:last-child{
- margin-right: 0;
- }
- image{
- width: 40upx;
- height: 40upx;
- margin-bottom: 10upx;
- }
- .label{
- font-size: 20upx;
- font-family: PingFang SC;
- font-weight: 500;
- color: #626468;
- text-align: center;
- }
- }
- ::v-deep .uni-badge--x{
- display: flex;
- align-items: center;
- justify-content: center;
- }
- ::v-deep .uni-badge{
- border: none;
- background-color: #FF3636;
- font-family: Roboto;
- }
- }
- .btn-box{
- display: flex;
- align-items: center;
- .btn{
- width: 200upx;
- height: 88upx;
- line-height: 88upx;
- text-align: center;
- border-radius: 44upx;
- margin-left: 20upx;
- font-size: 28upx;
- font-family: PingFang SC;
- font-weight: bold;
- color: #FFFFFF;
- &:first-child{
- margin-left: 0;
- }
- &.cart{
- background: #FF5030;
- }
- &.buy{
- background: #008FD3;
- }
- }
- }
- }
- .border_bottom_line {
- position: relative;
- &::after {
- content: "";
- position: absolute;
- bottom: 0;
- left: 0;
- border-bottom: 1px solid #F5F7FA;
- width: 100%;
- transform: scaleY(0.5);
- border-top-color: #F5F7FA;
- border-right-color: #F5F7FA;
- border-left-color: #F5F7FA;
- }
- }
- .storebox {
- width: 100%;
- margin-top: -60rpx;
- padding-top: 80rpx;
- background-color: #fff;
- box-shadow: 0 -20rpx 16rpx #fff;
- position: relative;
- z-index: 1;
- &-info {
- padding: 24rpx 24rpx 0 24rpx;
- background-color: #fff;
- font-family: PingFang SC, PingFang SC;
- font-size: 28rpx;
- color: #333333;
- position: relative;
- border-top: 4px solid #F5F7FA;
- }
- &-map {
- display: flex;
- align-items: center;
- word-break: break-all;
- padding: 24rpx 0;
- }
- &-qualifications {
- display: flex;
- align-items: center;
- padding: 24rpx 0;
- }
- .qualifications {
- padding: 24rpx 0;
- }
- }
- .medic-box{
- display: flex;
- .cate-list{
- box-sizing: border-box;
- width: 200upx;
- background: #F2F5F9;
- display: flex;
- flex-direction: column;
- padding: 20upx 0;
- overflow-y: scroll;
- .item{
- height: 100upx;
- line-height: 100upx;
- padding-left: 30upx;
- font-size: 28upx;
- font-family: PingFang SC;
- font-weight: 500;
- color: #333333;
- position: relative;
- &.active{
- color: #0bb3f2;
- &::after{
- content: "";
- width: 8upx;
- height: 50upx;
- background: #0bb3f2;
- position: absolute;
- top: 25upx;
- left: 0;
- }
- }
- }
- }
- .medic{
- box-sizing: border-box;
- width: calc(100% - 200upx);
- height: 100%;
- padding: 0 30upx;
- .banner-box{
- margin-top: 30rpx;
- width: 100%;
- height: 160upx;
- border-radius: 10upx;
- overflow: hidden;
- .swiper,
- .swiper-item,
- .swiper-item image{
- width: 100%;
- height: 100%;
- }
- }
- .medic-list{
- box-sizing: border-box;
- padding: 30upx 0;
- overflow-y: auto;
- height: calc(100% - 220upx);
- position: relative;
- // .item{
- // .title{
- // font-size: 28upx;
- // font-family: PingFang SC;
- // font-weight: bold;
- // color: #333333;
- // padding-top: 20upx;
- // margin-bottom: 30upx;
- // }
-
- // }
- .inner-list{
- display: flex;
- flex-wrap: wrap;
- .definite{
- width: calc(33% - 20upx);
- margin-right: 30upx;
- margin-bottom: 30upx;
- .img-box{
- width: 100%;
- height: 144upx;
- background: #F5F5F5;
- border-radius: 8upx;
- overflow: hidden;
- display: flex;
- align-items: center;
- image{
- max-width: 100%;
- }
- }
- .name{
- width: 100%;
- margin-top: 20upx;
- font-size: 24upx;
- font-family: PingFang SC;
- font-weight: 500;
- color: #666666;
- text-align: center;
- }
- &:nth-child(3n) {
- margin-right: 0;
- }
- }
- }
- }
- }
- }
- </style>
|