|
|
@@ -1,15 +1,2025 @@
|
|
|
<template>
|
|
|
- <view class="ghs_list_page flex-col">
|
|
|
+ <view>
|
|
|
+ <block v-if="loginStyle == 0">
|
|
|
+ <view class="login-page">
|
|
|
+ <view class="login-hero">
|
|
|
+ <image
|
|
|
+ class="login-hero-bg"
|
|
|
+ :src="constant.hostUrl + '/image//workbench-header-bg.webp'"
|
|
|
+ mode="aspectFill"
|
|
|
+ />
|
|
|
+ <view class="login-hero-scrim"></view>
|
|
|
+ <view class="status-space" :style="{ height: statusBarHeight + 'px' }"></view>
|
|
|
+ <view class="login-hero-inner">
|
|
|
+ <text class="login-hero-title">花掌柜</text>
|
|
|
+ <text class="login-hero-desc">登录查看我的门店</text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="login-body">
|
|
|
+ <!-- #ifdef MP-WEIXIN -->
|
|
|
+ <view class="login-card">
|
|
|
+ <view class="login-card-top">
|
|
|
+ <view class="login-card-icon-wrap login-card-icon-wrap--buy">
|
|
|
+ <image class="login-card-icon" :src="iconSrc('bouquet')" mode="aspectFit" />
|
|
|
+ </view>
|
|
|
+ <view class="login-card-main">
|
|
|
+ <text class="login-card-title">个人买花</text>
|
|
|
+ <text class="login-card-desc">购买花材、花束和绿植</text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <button class="login-card-btn login-card-btn--outline" @click="buyItem">买花</button>
|
|
|
+ </view>
|
|
|
+ <!-- #endif -->
|
|
|
+ <view class="login-card">
|
|
|
+ <view class="login-card-top">
|
|
|
+ <view class="login-card-icon-wrap login-card-icon-wrap--supply">
|
|
|
+ <image class="login-card-icon" :src="iconSrc('procurement')" mode="aspectFit" />
|
|
|
+ </view>
|
|
|
+ <view class="login-card-main">
|
|
|
+ <text class="login-card-title">花店进货</text>
|
|
|
+ <text class="login-card-desc">花店买花材、采购和管理</text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <button
|
|
|
+ class="login-card-btn login-card-btn--primary"
|
|
|
+ @click="pageTo({ url: '/admin/home/login' })"
|
|
|
+ >登录</button>
|
|
|
+ </view>
|
|
|
+ <view class="login-register" @click="pageTo({ url: '/pagesClient/official/apply' })">
|
|
|
+ <text class="login-register-tip">还没有花店账号?</text>
|
|
|
+ <text class="login-register-link">花店注册</text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </block>
|
|
|
+ <block v-else>
|
|
|
+ <view class="order-page">
|
|
|
+ <view class="ghs_list_page flex-col">
|
|
|
+ <view class="profile-section">
|
|
|
+ <image class="workbench-header-bg" :src="constant.hostUrl + '/image//workbench-header-bg.webp'" mode="aspectFill"></image>
|
|
|
+ <view class="status-safe-area" :style="{ height: statusBarHeight + 'px' }"></view>
|
|
|
+ <view class="custom-nav">
|
|
|
+ <text class="custom-nav-title">{{ workbenchTitle }}</text>
|
|
|
+ </view>
|
|
|
+ <!-- <view class="profile-header">
|
|
|
+ <view class="avatar-container">
|
|
|
+ <button class="avatar-button" open-type="chooseAvatar" @chooseavatar="onChooseAvatar">
|
|
|
+ <image class="avatar" :src="shopAvatar()" mode="aspectFill" />
|
|
|
+ </button>
|
|
|
+ </view>
|
|
|
+ <view class="user-info" @click="pageTo({ url: '/admin/home/edit' })">
|
|
|
+ <text class="username">{{ (shopInfo && shopInfo.shopName == '首店') ? (shopInfo.merchantName || '') :
|
|
|
+ (((shopInfo && shopInfo.merchantName) ? shopInfo.merchantName : '') + (shopInfo && shopInfo.shopName ?
|
|
|
+ (' ' + shopInfo.shopName) : '')) }}</text>
|
|
|
+ </view>
|
|
|
+ </view> -->
|
|
|
+
|
|
|
+ <view class="function-grid function-grid--overlay">
|
|
|
+ <view class="function-item function-item--overlay"
|
|
|
+ @click="pageTo({ url: '/admin/shop/add?id=' + loginInfo.shopId })">
|
|
|
+ <image class="function-icon" :src="iconSrc('stock-my-address')" mode="aspectFit" />
|
|
|
+ <text class="function-text function-text--overlay function-text--sm">我的地址</text>
|
|
|
+ </view>
|
|
|
+ <view class="function-item function-item--overlay" @click="pageTo({ url: '/admin/stat/cgItem' })">
|
|
|
+ <image class="function-icon" :src="iconSrc('stock-purchase-stats')" mode="aspectFit" />
|
|
|
+ <text class="function-text function-text--overlay function-text--sm">采购统计</text>
|
|
|
+ </view>
|
|
|
+ <view class="function-item function-item--overlay" @click="goMore()">
|
|
|
+ <image class="function-icon" :src="iconSrc('stock-deleted-wholesaler')" mode="aspectFit" />
|
|
|
+ <text class="function-text function-text--overlay function-text--sm">已删门店</text>
|
|
|
+ </view>
|
|
|
+ <view class="function-item function-item--overlay" @click="goMore()">
|
|
|
+ <image class="function-icon" :src="iconSrc('open-shop')" mode="aspectFit" />
|
|
|
+ <text class="function-text function-text--overlay function-text--sm">申请开店</text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <!-- <view class="admin-contact-wrap">
|
|
|
+ <view class="admin-contact-inner">
|
|
|
+ <text class="admin-contact-name">{{ loginInfo.admin && loginInfo.admin.name ? loginInfo.admin.name : ''
|
|
|
+ }}</text>
|
|
|
+ <text class="admin-contact-divider">|</text>
|
|
|
+ <text class="admin-contact-mobile">{{ loginInfo.admin && loginInfo.admin.mobile ? loginInfo.admin.mobile :
|
|
|
+ '' }}</text>
|
|
|
+ </view>
|
|
|
+ </view> -->
|
|
|
+
|
|
|
+ <view v-if="!$util.isEmpty(data.warning)" class="warning-banner">{{ data.warning }}</view>
|
|
|
+
|
|
|
+ <template v-if="!$util.isEmpty(ad)">
|
|
|
+ <block v-for="(adInfo, adIndex) in ad" :key="adIndex">
|
|
|
+ <view class="ad-wrap" @click.stop="pageTo({ url: adInfo.url })">
|
|
|
+ <image :src="adInfo.banner" mode="widthFix" class="ad-image"></image>
|
|
|
+ </view>
|
|
|
+ </block>
|
|
|
+ </template>
|
|
|
+
|
|
|
+ <template v-if="!$util.isEmpty(supplierList)">
|
|
|
+ <view class="ghs_list_area flex-col justify-end">
|
|
|
+ <view class="ghs_box flex-col justify-end" v-for="(ghsInfo, index) in supplierList" :key="index">
|
|
|
+ <view class="image-text_7 flex-row justify-between">
|
|
|
+ <view class="section_1 flex-col">
|
|
|
+ <image class="logo" :src="ghsInfo.smallAvatar" />
|
|
|
+ </view>
|
|
|
+ <view class="text-group_7 flex-col justify-center">
|
|
|
+ <text class="text_8">{{ ghsInfo.name }}</text>
|
|
|
+ <view class="phone-line"
|
|
|
+ v-if="!$util.isEmpty(ghsInfo.telephone) || !$util.isEmpty(ghsInfo.telephone2)"
|
|
|
+ @click.stop="callUp(ghsInfo)">
|
|
|
+ <image class="phone-icon" :src="iconSrc('stock-phone')" mode="aspectFit" />
|
|
|
+ <text class="phone-text">
|
|
|
+ <text v-if="!$util.isEmpty(ghsInfo.telephone)">{{ ghsInfo.telephone }}</text>
|
|
|
+ </text>
|
|
|
+ </view>
|
|
|
+ <text class="text_9">
|
|
|
+
|
|
|
+ <block v-if="ghsInfo.cutStyle && ghsInfo.cutStyle == 1">
|
|
|
+ <block v-if="ghsInfo.meetNum > 0 || ghsInfo.meetAmount > 0">
|
|
|
+ <text class="discount-highlight" v-if="ghsInfo.cutAmount > 0">
|
|
|
+ 满<text v-if="ghsInfo.meetNum > 0">{{ ghsInfo.meetNum ? ghsInfo.meetNum : 0 }}扎</text>
|
|
|
+ <text v-if="ghsInfo.meetAmount > 0"><text
|
|
|
+ v-if="ghsInfo.meetNum > 0">和</text>{{ ghsInfo.meetAmount ? ghsInfo.meetAmount : 0 }}元</text>{{ ghsInfo.cutAmount ? parseFloat(ghsInfo.cutAmount * 100).toString().replace(/0/g, '') : 0 }}折
|
|
|
+ </text>
|
|
|
+ </block>
|
|
|
+ </block>
|
|
|
+ <block v-else>
|
|
|
+ <block v-if="ghsInfo.meetNum > 0 || ghsInfo.meetAmount > 0">
|
|
|
+ <text class="discount-highlight" v-if="ghsInfo.cutAmount > 0">
|
|
|
+ 满<text v-if="ghsInfo.meetNum > 0">{{ ghsInfo.meetNum ? ghsInfo.meetNum : 0 }}扎</text>
|
|
|
+ <text v-if="ghsInfo.meetAmount > 0"><text
|
|
|
+ v-if="ghsInfo.meetNum > 0">和</text>{{ ghsInfo.meetAmount ? ghsInfo.meetAmount : 0 }}元</text>优惠{{ ghsInfo.cutAmount ? parseFloat(ghsInfo.cutAmount) : 0 }}元
|
|
|
+ </text>
|
|
|
+ </block>
|
|
|
+ </block>
|
|
|
+
|
|
|
+ </text>
|
|
|
+ <text class="text_distance" v-if="ghsInfo.distance && ghsInfo.distance > 0">{{ ghsInfo.distance >
|
|
|
+ 1000 ? Math.round(Number(ghsInfo.distance) / 1000) + 'km' : ghsInfo.distance + 'm' }}</text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="box_9">
|
|
|
+ <view class="tag_2" @click="pageTo({ url: '/admin/ghs/debtChange?ghsId=' + ghsInfo.id })">
|
|
|
+ <image class="tag-icon" :src="iconSrc('stock-debt-change')" mode="aspectFit" />
|
|
|
+ <text>挂账变动</text>
|
|
|
+ </view>
|
|
|
+ <view class="tag_2" @click="pageTo({ url: '/admin/clear/list?ghsId=' + ghsInfo.id })">
|
|
|
+ <image class="tag-icon" :src="iconSrc('stock-checkout-record')" mode="aspectFit" />
|
|
|
+ <text>结账记录</text>
|
|
|
+ </view>
|
|
|
+ <view class="tag_2 tag_2--bought"
|
|
|
+ @click.stop="pageTo({ url: '/pagesPurchase/shopping?ghsId=' + ghsInfo.id + '&ghsName=' + ghsInfo.name })">
|
|
|
+ <image class="tag-icon" :src="iconSrc('stock-purchase-record')" mode="aspectFit" />
|
|
|
+ <text>购买记录</text>
|
|
|
+ </view>
|
|
|
+ <view class="tag_2 tag_2--share tag_2--highlight">
|
|
|
+ <button open-type="share" :data-ghs="ghsInfo" class="share-button-mask"></button>
|
|
|
+ <image class="tag-icon" :src="iconSrc('stock-share')" mode="aspectFit" />
|
|
|
+ <text>分享本店</text>
|
|
|
+ </view>
|
|
|
+ <view class="tag_2 tag_2--highlight" @click.stop="getMore(ghsInfo)">
|
|
|
+ <image class="tag-icon" :src="iconSrc('stock-more-features')" mode="aspectFit" />
|
|
|
+ <text>更多功能</text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="box_6 flex-row" @click="settleAccounts(ghsInfo)" v-if="Number(ghsInfo.debtAmount) > 0">
|
|
|
+ <view class="show_clear_area flex-row justify-between">
|
|
|
+ <text class="waite_clear_order">待结订单 {{ ghsInfo.debtNum }}笔 合计¥{{ ghsInfo.debtAmount ? parseFloat(ghsInfo.debtAmount) : 0 }}</text>
|
|
|
+ <text class="clear-action" v-if="ghsInfo.remainDebtAmount > 0">选订单结算 ></text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <block v-if="Number(ghsInfo.balance) > 0">
|
|
|
+ <view class="box_6 box_6--blue flex-row" v-if="ghsInfo.remainDebtAmount > 0"
|
|
|
+ @click.stop="recharge(ghsInfo)">
|
|
|
+ <view class="show_clear_area flex-row justify-between">
|
|
|
+ <text class="waite_clear_order waite_clear_order--blue">
|
|
|
+ <text v-if="Number(ghsInfo.balance) > 0">减去余额¥{{ ghsInfo.balance ? parseFloat(ghsInfo.balance) : 0
|
|
|
+ }}</text>
|
|
|
+ <text v-if="ghsInfo.remainDebtAmount > 0" class="ml-15">实欠¥{{ ghsInfo.remainDebtAmount }}</text>
|
|
|
+ </text>
|
|
|
+ <text class="clear-action clear-action--blue">按金额结算 ></text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view class="box_6 box_6--blue flex-row" v-if="ghsInfo.remainDebtAmount < 0"
|
|
|
+ @click.stop="recharge(ghsInfo)">
|
|
|
+ <view class="show_clear_area flex-row justify-between">
|
|
|
+ <text class="waite_clear_order waite_clear_order--blue">
|
|
|
+ <text>账户余额¥{{ Math.abs(ghsInfo.remainDebtAmount) }}</text>
|
|
|
+ </text>
|
|
|
+ <text class="clear-action clear-action--blue">已结清</text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </block>
|
|
|
+
|
|
|
+ <block v-if="ghsInfo.live == 1">
|
|
|
+ <view class="button_7 flex-col" @click.stop="goKmCg(ghsInfo)"
|
|
|
+ v-if="ghsInfo.openKmCg && ghsInfo.openKmCg == 1"><text class="text_13">昆明直采</text></view>
|
|
|
+ <view class="button_4 flex-col" v-if="ghsInfo.isOpen == 1" @click="enterShop(ghsInfo)"><text
|
|
|
+ class="text_13">购买</text></view>
|
|
|
+ <view class="button_5 flex-col" v-else @click="enterShop(ghsInfo)"><text class="text_13">购买</text>
|
|
|
+ </view>
|
|
|
+ </block>
|
|
|
+ <block v-else>
|
|
|
+ <view class="button_6 flex-col" @click="fillCg(ghsInfo)"><text class="text_13">购买</text></view>
|
|
|
+ </block>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </template>
|
|
|
+
|
|
|
+ <block v-else>
|
|
|
+
|
|
|
+ <!-- 如果没有请求过接口,不确定这个花店,有没批发店,暂时不显示找批发店的入口,避免引起争议 -->
|
|
|
+ <block v-if="hasRequestApi == 0">
|
|
|
+ <view class="location-empty-box">
|
|
|
+ <view class="location-empty-title">暂无批发店</view>
|
|
|
+ </view>
|
|
|
+ </block>
|
|
|
+ <block v-else>
|
|
|
+ <view v-if="isWithinTwoDays" class="no-supplier-tip">附近暂无批发店</view>
|
|
|
+ <block v-else>
|
|
|
+ <view class="location-empty-box">
|
|
|
+ <image class="location-empty-icon" :src="iconSrc('general-location')" mode="aspectFit" />
|
|
|
+ <view class="location-empty-title">开启定位,查看附近批发店</view>
|
|
|
+ <button class="location-empty-btn" @click="searchGhs()">开启</button>
|
|
|
+ </view>
|
|
|
+ </block>
|
|
|
+ </block>
|
|
|
+
|
|
|
+ </block>
|
|
|
+
|
|
|
+ <view class="support-entry" @click="toPhone()">
|
|
|
+ <text>厦门中花汇技术支持 <text class="support-divider">|</text> 联系厦门中花汇</text>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </block>
|
|
|
+
|
|
|
+ <uni-popup ref="toShowMore" background-color="#fff" type="center" :animation="true" class="class-popup-style">
|
|
|
+ <view class="more-popup-list">
|
|
|
+ <view class="more-popup-item"><button @click="rechargeChange()">充值记录</button></view>
|
|
|
+ <view class="more-popup-item"><button @click="balanceChange()">余额变动</button></view>
|
|
|
+ <view class="more-popup-item"><button @click="bpSj()">删除</button></view>
|
|
|
+ <view class="more-popup-item more-popup-item--cancel"><button @click="closeToShow()">取消</button></view>
|
|
|
+ </view>
|
|
|
+ </uni-popup>
|
|
|
+
|
|
|
+ <!-- 多供货商提示弹框 -->
|
|
|
+ <uni-popup ref="supplierNoticePopup" background-color="#fff" type="center" :animation="true"
|
|
|
+ class="supplier-notice-popup">
|
|
|
+ <view class="supplier-notice-container">
|
|
|
+ <!-- 头部 -->
|
|
|
+ <view class="supplier-notice-header">
|
|
|
+ <text class="supplier-notice-title">您已有多个批发店</text>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <!-- 中间供货商列表 -->
|
|
|
+ <view class="supplier-notice-content">
|
|
|
+ <view class="supplier-list">
|
|
|
+ <view class="supplier-item" v-for="(supplier, index) in displayGhsList" :key="index">
|
|
|
+ <view class="supplier-icon">🏪</view>
|
|
|
+ <text class="supplier-name">{{ supplier.name }}</text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <!-- 底部提示 -->
|
|
|
+ <view class="supplier-notice-footer">
|
|
|
+ <text class="supplier-notice-tip">买花时注意区分,避免下错!!</text>
|
|
|
+ <view class="supplier-notice-buttons">
|
|
|
+ <button class="admin-button-com default" @click="remindLater">下次提醒</button>
|
|
|
+ <button class="admin-button-com blue" @click="closeSupplierNotice">知道了</button>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </uni-popup>
|
|
|
+
|
|
|
+
|
|
|
</view>
|
|
|
</template>
|
|
|
<script>
|
|
|
+import { mapGetters } from "vuex";
|
|
|
+import { getWeixinId } from "@/api/invite";
|
|
|
+import { consoleIndex } from "@/api/workbench";
|
|
|
+import autoUpdateMixins from "@/mixins/autoUpdate";
|
|
|
+import { ghsList } from "@/api/purchase";
|
|
|
+import { changeDelStatus, hasMoreGhs, searchNearbyGhs } from "@/api/ghs";
|
|
|
+import { currentShop, uploadShopAvatar } from "@/api/shop";
|
|
|
+import { hasNotice } from "@/api/admin";
|
|
|
+import { APIHOST } from "@/config";
|
|
|
+import permision from "@/utils/wa-permission_1.1/permission.js";
|
|
|
+import { iconSrc } from "@/utils/iconSrc";
|
|
|
export default {
|
|
|
- components: {
|
|
|
- },
|
|
|
- data () {
|
|
|
+ name: "workbench",
|
|
|
+ mixins: [autoUpdateMixins],
|
|
|
+ data() {
|
|
|
return {
|
|
|
- supplierList: []
|
|
|
+ constant: this.$constant,
|
|
|
+ ad: [],
|
|
|
+ getappIdList: {},
|
|
|
+ data: {
|
|
|
+ admin: {},
|
|
|
+ asset: {},
|
|
|
+ notice: {},
|
|
|
+ todayData: { income: 0.00, order: 0, custom: 0, expend: 0.00, visit: 0 },
|
|
|
+ isMini: 0
|
|
|
+ },
|
|
|
+ supplierList: [],
|
|
|
+ //登录状态 0未登录 1登录仅用到了采购 2登录用到完整功能
|
|
|
+ loginStyle: 0,
|
|
|
+ currentGhs: {},
|
|
|
+ displayGhsList: [],// 用于显示在弹框中的供货商列表
|
|
|
+ shopInfo: [],
|
|
|
+ supplierSearchTime: 0, // 查找附近批发店时间
|
|
|
+ hasRequestApi: 0,
|
|
|
+ statusBarHeight: 0
|
|
|
+ };
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ ...mapGetters({ loginInfo: "getLoginInfo" }),
|
|
|
+ workbenchTitle() {
|
|
|
+ if (this.shopInfo && this.shopInfo.shopName == '首店') {
|
|
|
+ return this.shopInfo.merchantName || '进货'
|
|
|
+ }
|
|
|
+ const merchantName = (this.shopInfo && this.shopInfo.merchantName) ? this.shopInfo.merchantName : ''
|
|
|
+ const shopName = (this.shopInfo && this.shopInfo.shopName) ? this.shopInfo.shopName : ''
|
|
|
+ const title = merchantName + (shopName ? (' · ' + shopName) : '')
|
|
|
+ return title || '进货'
|
|
|
+ },
|
|
|
+ isWithinTwoDays() {
|
|
|
+ if (!this.supplierSearchTime) return false;
|
|
|
+ const twoDays = 2 * 24 * 60 * 60 * 1000;
|
|
|
+ return (Date.now() - this.supplierSearchTime) < twoDays;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ watch: {
|
|
|
+ //只需要采购花材的花店不显示底部菜单
|
|
|
+ loginInfo(newVal) {
|
|
|
+ if (!this.$util.isEmpty(newVal.admin) && newVal.admin.currentShopId > 0) {
|
|
|
+ this.handleLoginStyle()
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ onPullDownRefresh() {
|
|
|
+ this.init();
|
|
|
+ uni.stopPullDownRefresh();
|
|
|
+ },
|
|
|
+ onLoad() {
|
|
|
+ try {
|
|
|
+ const systemInfo = uni.getSystemInfoSync()
|
|
|
+ this.statusBarHeight = systemInfo.statusBarHeight || 0
|
|
|
+ } catch (e) {
|
|
|
+ this.statusBarHeight = 0
|
|
|
+ }
|
|
|
+ getWeixinId().then(res => {
|
|
|
+ this.getappIdList = res.data
|
|
|
+ })
|
|
|
+ },
|
|
|
+ onShow() {
|
|
|
+ this.supplierSearchTime = uni.getStorageSync('supplier_search_time') || 0;
|
|
|
+
|
|
|
+ this.init();
|
|
|
+
|
|
|
+ // 判断是否登录
|
|
|
+ if (!this.$util.isEmpty(this.loginInfo.admin) && this.loginInfo.admin.currentShopId > 0) {
|
|
|
+ this.handleLoginStyle()
|
|
|
+ //this.showShopName()
|
|
|
+ }
|
|
|
+ },
|
|
|
+ onShareAppMessage(res) {
|
|
|
+ if (res.from === 'button') {
|
|
|
+ let ghsInfo = res.target.dataset.ghs
|
|
|
+ let hdShopAdminId = this.loginInfo && this.loginInfo.shopAdminId ? this.loginInfo.shopAdminId : 0
|
|
|
+ let ghsShopAdminId = ghsInfo.shopAdminId || 0
|
|
|
+ let shopId = ghsInfo.shopId || 0
|
|
|
+ let fromGhsId = ghsInfo.id || 0
|
|
|
+ let fromCg = 1
|
|
|
+
|
|
|
+ let path = `/pagesPurchase/ghsProduct?hdShopAdminId=${hdShopAdminId}&ghsShopAdminId=${ghsShopAdminId}&shopId=${shopId}&id=0&fromGhsId=${fromGhsId}&fromCg=${fromCg}`
|
|
|
+
|
|
|
+ return {
|
|
|
+ title: ghsInfo.name,
|
|
|
+ desc: "",
|
|
|
+ path: path,
|
|
|
+ imageUrl: ghsInfo.avatar || ghsInfo.smallAvatar || ''
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return { title: "花掌柜,花店管家婆", desc: "", imageUrl: "", path: "admin/home/workbench" }
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ iconSrc,
|
|
|
+ onChooseAvatar(e) {
|
|
|
+ if (this.loginInfo && this.loginInfo.staff && this.loginInfo.staff.founder != 2) {
|
|
|
+ this.$msg('门店LOGO请老板修改')
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if (e && e.detail && e.detail.avatarUrl) {
|
|
|
+ let avatarUrl = e.detail.avatarUrl
|
|
|
+ this.updateShopAvatar(avatarUrl)
|
|
|
+ } else {
|
|
|
+ this.$msg('获取头像失败')
|
|
|
+ }
|
|
|
+ },
|
|
|
+ updateShopAvatar(avatarUrl) {
|
|
|
+ let token = uni.getStorageSync('token') || ''
|
|
|
+ let url = APIHOST + '/upload/save-file'
|
|
|
+ uni.uploadFile({
|
|
|
+ url: url,
|
|
|
+ filePath: avatarUrl,
|
|
|
+ name: 'file',
|
|
|
+ header: { token: token },
|
|
|
+ formData: {},
|
|
|
+ success: (res) => {
|
|
|
+ try {
|
|
|
+ const ret = JSON.parse(res.data)
|
|
|
+ if (ret.code == 1) {
|
|
|
+ this.shopInfo.avatar = ret.data.shortUrl
|
|
|
+ this.$msg('头像已更新')
|
|
|
+ uni.setStorageSync('shopAvatar', this.shopInfo.avatar)
|
|
|
+
|
|
|
+ //请后端,上传新的头像地址,同步更新xhGhsCustom里面的头像地址
|
|
|
+ uploadShopAvatar({ id: this.shopInfo.id, avatar: ret.data.shortUrl }).then(res => {
|
|
|
+ if (res.code == 1) {
|
|
|
+ // this.$msg('头像上传成功')
|
|
|
+ } else {
|
|
|
+ // this.$msg(res.msg || '上传失败')
|
|
|
+ console.log(res.msg || '上传失败')
|
|
|
+ }
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ this.$msg(ret.msg || '上传失败')
|
|
|
+ }
|
|
|
+ } catch (err) {
|
|
|
+ this.$msg('服务异常')
|
|
|
+ }
|
|
|
+ },
|
|
|
+ fail: () => {
|
|
|
+ this.$msg('上传失败')
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ shopAvatar() {
|
|
|
+ const avatar = (this.shopInfo && this.shopInfo.avatar) ? this.shopInfo.avatar : '/default_avatar.png?x-oss-process=image/resize,m_fill,h_130,w_130'
|
|
|
+ if (!avatar) {
|
|
|
+ return ''
|
|
|
+ }
|
|
|
+ if (/^https?:\/\//i.test(avatar)) {
|
|
|
+ return avatar
|
|
|
+ }
|
|
|
+ return this.$constant.imgUrl + (avatar.indexOf('/') === 0 ? avatar : ('/' + avatar))
|
|
|
+ },
|
|
|
+ buyItem() {
|
|
|
+ let that = this
|
|
|
+ // #ifdef MP-WEIXIN
|
|
|
+ uni.navigateToMiniProgram({
|
|
|
+ //姜枫-2021.04.13
|
|
|
+ appId: that.getappIdList.mall.miniAppId,
|
|
|
+ path: 'pages/home/recent',
|
|
|
+ //develop 开发版 trial 体验版 release 正式版
|
|
|
+ envVersion: process.env.NODE_ENV === 'development' ? 'develop' : 'release',
|
|
|
+ extraData: {},
|
|
|
+ success(res) {
|
|
|
+ }
|
|
|
+ })
|
|
|
+ // #endif
|
|
|
+ // #ifdef APP-PLUS
|
|
|
+ that.$msg("请用微信打开")
|
|
|
+ // #endif
|
|
|
+ },
|
|
|
+ init() {
|
|
|
+ this.getGHSList()
|
|
|
+
|
|
|
+ // #ifdef MP-WEIXIN
|
|
|
+ this.isMini = 1
|
|
|
+ // #endif
|
|
|
+
|
|
|
+ consoleIndex({ isMini: this.isMini }).then(res => {
|
|
|
+ this.data = res.data
|
|
|
+ })
|
|
|
+ this.showShopName()
|
|
|
+ },
|
|
|
+ handleLoginStyle() {
|
|
|
+ this.loginStyle = 1
|
|
|
+ this.toRemindCustom()
|
|
|
+ },
|
|
|
+ closeToShow() {
|
|
|
+ this.$refs.toShowMore.close()
|
|
|
+ },
|
|
|
+ // 显示供货商提示弹框
|
|
|
+ showSupplierNotice() {
|
|
|
+ // 设置要显示的供货商列表,最多显示5个
|
|
|
+ this.displayGhsList = this.supplierList.filter(item => item.name).slice(0, 5)
|
|
|
+ this.$refs.supplierNoticePopup.open('center')
|
|
|
+ },
|
|
|
+ // 关闭供货商提示弹框
|
|
|
+ closeSupplierNotice() {
|
|
|
+ this.$refs.supplierNoticePopup.close()
|
|
|
+ // 调用已有的接口标记已通知
|
|
|
+ hasNotice().then(res => { })
|
|
|
+ },
|
|
|
+ // 下次提醒
|
|
|
+ remindLater() {
|
|
|
+ this.$refs.supplierNoticePopup.close()
|
|
|
+ // 不调用hasNotice接口,保持提醒状态
|
|
|
+ },
|
|
|
+ getMore(info) {
|
|
|
+ this.currentGhs = info
|
|
|
+ this.$refs.toShowMore.open('center')
|
|
|
+ },
|
|
|
+ callUp(ghs) {
|
|
|
+ let mobileList = []
|
|
|
+ if (!this.$util.isEmpty(ghs.telephone)) {
|
|
|
+ mobileList.push(ghs.telephone)
|
|
|
+ }
|
|
|
+ if (!this.$util.isEmpty(ghs.telephone2)) {
|
|
|
+ mobileList.push(ghs.telephone2)
|
|
|
+ }
|
|
|
+ if (this.$util.isEmpty(mobileList)) {
|
|
|
+ this.$msg('没有联系电话')
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ uni.showActionSheet({
|
|
|
+ itemList: mobileList,
|
|
|
+ success: function (respond) {
|
|
|
+ let currentIndex = respond.tapIndex
|
|
|
+ let mobile = mobileList[currentIndex]
|
|
|
+ uni.makePhoneCall({ phoneNumber: mobile })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ toPhone() {
|
|
|
+ this.$util.pageTo({ url: '/pagesPurchase/contact' })
|
|
|
+ },
|
|
|
+ showShopName() {
|
|
|
+ currentShop().then(res => {
|
|
|
+ if (res.code == 1) {
|
|
|
+ this.shopInfo = res.data ? res.data : []
|
|
|
+ if (this.shopInfo.avatar) {
|
|
|
+ uni.setStorageSync('shopAvatar', this.shopInfo.avatar);
|
|
|
+ } else {
|
|
|
+ uni.setStorageSync('shopAvatar', '');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ goMore() {
|
|
|
+ this.$util.pageTo({ url: '/pagesPurchase/pb' })
|
|
|
+ },
|
|
|
+ rechargeChange() {
|
|
|
+ this.closeToShow()
|
|
|
+ this.pageTo({ url: '/admin/ghs/rechargeChange?ghsId=' + this.currentGhs.id })
|
|
|
+ },
|
|
|
+ balanceChange() {
|
|
|
+ this.closeToShow()
|
|
|
+ this.pageTo({ url: '/admin/ghs/balanceChange?ghsId=' + this.currentGhs.id })
|
|
|
+ },
|
|
|
+ bpSj() {
|
|
|
+ let that = this
|
|
|
+ that.$util.confirmModal({ content: '确认删除?删除后你不能再跟此批发店买花!!!!', okText: '确认' }, () => {
|
|
|
+ that.confirmPb(that.currentGhs)
|
|
|
+ })
|
|
|
+ },
|
|
|
+ recharge(currentGhs) {
|
|
|
+ this.pageTo({ url: '/admin/ghs/pay?id=' + currentGhs.id + '&salt=' + currentGhs.salt })
|
|
|
+ },
|
|
|
+ confirmPb(ghs) {
|
|
|
+ let that = this
|
|
|
+ changeDelStatus({ delStatus: 1, ghsId: ghs.id }).then(res => {
|
|
|
+ if (res.code == 1) {
|
|
|
+ that.closeToShow()
|
|
|
+ that.getGHSList()
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ fillCg(item) {
|
|
|
+ this.pageTo({ url: '/pagesPurchase/addCg?ghsId=' + item.id + '&ghsName=' + item.name })
|
|
|
+ },
|
|
|
+ goKmCg(currentGhs) {
|
|
|
+ let self = this
|
|
|
+ // #ifdef MP-WEIXIN
|
|
|
+ uni.navigateToMiniProgram({
|
|
|
+ appId: currentGhs.kmCgAppId,
|
|
|
+ path: currentGhs.kmCgUrl,
|
|
|
+ //develop 开发版 trial 体验版 release 正式版
|
|
|
+ envVersion: process.env.NODE_ENV === 'development' ? 'develop' : 'release',
|
|
|
+ extraData: {},
|
|
|
+ success(res) { }
|
|
|
+ })
|
|
|
+ // #endif
|
|
|
+ // #ifdef APP-PLUS
|
|
|
+ self.$msg('开发中')
|
|
|
+ // #endif
|
|
|
+ },
|
|
|
+ enterShop(item) {
|
|
|
+ let that = this
|
|
|
+ if (item.isOpen == 0) {
|
|
|
+ this.$msg('已休店,请选择其它门店')
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ that.pageTo({ url: '/pagesPurchase/ghsProduct?id=' + item.id })
|
|
|
+ },
|
|
|
+ settleAccounts(item) {
|
|
|
+ this.pageTo({ url: '/pagesPurchase/gathering?id=' + item.id })
|
|
|
+ },
|
|
|
+ getGHSList() {
|
|
|
+ return ghsList().then(res => {
|
|
|
+ this.supplierList = res.data.list
|
|
|
+ this.ad = res.data.ad ? res.data.ad : []
|
|
|
+ this.hasRequestApi = 1
|
|
|
+ })
|
|
|
+ },
|
|
|
+ toRemindCustom() {
|
|
|
+ if (this.loginStyle == 1) {
|
|
|
+ hasMoreGhs().then(ret => {
|
|
|
+ if (ret.data.needNotice == 1) {
|
|
|
+ this.showSupplierNotice()
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
+ async searchGhs() {
|
|
|
+ console.log('searchGhs start')
|
|
|
+
|
|
|
+ // #ifdef APP-PLUS
|
|
|
+ // App 端先显式申请权限,避免部分机型 getLocation 挂起无回调
|
|
|
+ if (plus.os.name === 'Android') {
|
|
|
+ const permissionRes = await permision.requestAndroidPermission('android.permission.ACCESS_FINE_LOCATION')
|
|
|
+ if (permissionRes !== 1) {
|
|
|
+ this.$msg('请开启定位权限后重试')
|
|
|
+ if (permissionRes === -1) {
|
|
|
+ permision.gotoAppPermissionSetting()
|
|
|
+ }
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (!permision.checkSystemEnableLocation()) {
|
|
|
+ this.$msg('请先开启系统定位服务')
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // #endif
|
|
|
+
|
|
|
+ let hasLocationCallback = false
|
|
|
+ const timeoutTimer = setTimeout(() => {
|
|
|
+ if (!hasLocationCallback) {
|
|
|
+ console.log('getLocation timeout')
|
|
|
+ this.$msg('定位超时,请确认系统定位已开启后重试')
|
|
|
+ }
|
|
|
+ }, 5000)
|
|
|
+
|
|
|
+ const handleLocationSuccess = (res, locationType) => {
|
|
|
+ hasLocationCallback = true
|
|
|
+ clearTimeout(timeoutTimer)
|
|
|
+ console.log('getLocation success', locationType, res)
|
|
|
+ searchNearbyGhs({
|
|
|
+ locationType: locationType,
|
|
|
+ lat: res.latitude,
|
|
|
+ long: res.longitude
|
|
|
+ }).then(ret => {
|
|
|
+ if (ret.code == 1) {
|
|
|
+ uni.setStorageSync('supplier_search_time', Date.now()) //设置缓存时间--记录当前查找附近批发店的时间
|
|
|
+ //重新刷新列表
|
|
|
+ this.getGHSList()
|
|
|
+ this.$msg('查找成功')
|
|
|
+ } else {
|
|
|
+ this.$msg(ret.msg)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ const requestLocation = (locationType) => {
|
|
|
+ uni.getLocation({
|
|
|
+ type: locationType,
|
|
|
+ success: (res) => {
|
|
|
+ handleLocationSuccess(res, locationType)
|
|
|
+ },
|
|
|
+ fail: (err) => {
|
|
|
+ console.log('getLocation fail', locationType, err)
|
|
|
+ // 部分安卓机型不支持 gcj02,自动降级到 wgs84 再试一次
|
|
|
+ if (locationType === 'gcj02' && (
|
|
|
+ err.code == 18 ||
|
|
|
+ err.errCode == 18 ||
|
|
|
+ (err.errMsg && (
|
|
|
+ err.errMsg.indexOf('not support gcj02') > -1 ||
|
|
|
+ err.errMsg.indexOf('Not Support CoordsType') > -1
|
|
|
+ ))
|
|
|
+ )) {
|
|
|
+ requestLocation('wgs84')
|
|
|
+ return
|
|
|
+ }
|
|
|
+ hasLocationCallback = true
|
|
|
+ clearTimeout(timeoutTimer)
|
|
|
+ uni.showToast({ title: '定位失败,请检查定位权限', icon: 'none' })
|
|
|
+ },
|
|
|
+ complete: () => {
|
|
|
+ console.log('getLocation complete', locationType)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ // iOS 机型在部分运行环境不支持 gcj02,直接使用 wgs84
|
|
|
+ // #ifdef APP-PLUS
|
|
|
+ if (plus.os.name === 'iOS') {
|
|
|
+ requestLocation('wgs84')
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // #endif
|
|
|
+ requestLocation('gcj02')
|
|
|
+ }
|
|
|
+ }
|
|
|
+};
|
|
|
+</script>
|
|
|
+<style lang="scss" scoped>
|
|
|
+.login-page {
|
|
|
+ min-height: 100vh;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ background: #f2f7f4;
|
|
|
+}
|
|
|
+
|
|
|
+.login-hero {
|
|
|
+ position: relative;
|
|
|
+ padding: 0 24upx 36upx;
|
|
|
+ overflow: hidden;
|
|
|
+ background: linear-gradient(180deg, #e8f5ed 0%, #ecf6f0 72%, #f2f7f4 100%);
|
|
|
+}
|
|
|
+
|
|
|
+.login-hero-bg {
|
|
|
+ position: absolute;
|
|
|
+ left: 0;
|
|
|
+ top: 0;
|
|
|
+ width: 100%;
|
|
|
+ height: 360upx;
|
|
|
+ z-index: 0;
|
|
|
+ opacity: 0.55;
|
|
|
+}
|
|
|
+
|
|
|
+.login-hero-scrim {
|
|
|
+ position: absolute;
|
|
|
+ left: 0;
|
|
|
+ right: 0;
|
|
|
+ top: 0;
|
|
|
+ height: 360upx;
|
|
|
+ z-index: 1;
|
|
|
+ background: linear-gradient(
|
|
|
+ 180deg,
|
|
|
+ rgba(255, 255, 255, 0.78) 0%,
|
|
|
+ rgba(237, 248, 242, 0.52) 48%,
|
|
|
+ rgba(255, 255, 255, 0) 100%
|
|
|
+ );
|
|
|
+ pointer-events: none;
|
|
|
+}
|
|
|
+
|
|
|
+.status-space {
|
|
|
+ position: relative;
|
|
|
+ z-index: 2;
|
|
|
+ width: 100%;
|
|
|
+}
|
|
|
+
|
|
|
+.login-hero-inner {
|
|
|
+ position: relative;
|
|
|
+ z-index: 2;
|
|
|
+ padding: 56upx 8upx 0;
|
|
|
+}
|
|
|
+
|
|
|
+.login-hero-title {
|
|
|
+ display: block;
|
|
|
+ color: #161819;
|
|
|
+ font-size: 58upx;
|
|
|
+ font-weight: 700;
|
|
|
+ line-height: 60upx;
|
|
|
+ text-shadow:
|
|
|
+ 0 0 12upx rgba(255, 255, 255, 0.92),
|
|
|
+ 0 2upx 6upx rgba(255, 255, 255, 0.75);
|
|
|
+}
|
|
|
+
|
|
|
+.login-hero-desc {
|
|
|
+ display: block;
|
|
|
+ margin-top: 14upx;
|
|
|
+ color: #192129;
|
|
|
+ font-size: 34upx;
|
|
|
+ line-height: 44upx;
|
|
|
+}
|
|
|
+
|
|
|
+.login-body {
|
|
|
+ flex: 1;
|
|
|
+ padding: 28upx 24upx 64upx;
|
|
|
+}
|
|
|
+
|
|
|
+.login-card {
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ align-items: stretch;
|
|
|
+ padding: 36upx 32upx 32upx;
|
|
|
+ background: #fff;
|
|
|
+ border-radius: 24upx;
|
|
|
+ box-shadow: 0 8upx 24upx rgba(9, 197, 103, 0.08);
|
|
|
+}
|
|
|
+
|
|
|
+.login-card + .login-card {
|
|
|
+ margin-top: 36upx;
|
|
|
+}
|
|
|
+
|
|
|
+.login-card-top {
|
|
|
+ display: flex;
|
|
|
+ flex-direction: row;
|
|
|
+ align-items: center;
|
|
|
+ min-width: 0;
|
|
|
+}
|
|
|
+
|
|
|
+.login-card-icon-wrap {
|
|
|
+ width: 104upx;
|
|
|
+ height: 104upx;
|
|
|
+ border-radius: 26upx;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ flex-shrink: 0;
|
|
|
+}
|
|
|
+
|
|
|
+.login-card-icon-wrap--buy {
|
|
|
+ background: linear-gradient(135deg, #fff4e8 0%, #ffe8d6 100%);
|
|
|
+}
|
|
|
+
|
|
|
+.login-card-icon-wrap--supply {
|
|
|
+ background: linear-gradient(135deg, #e8f8f0 0%, #d4f0e2 100%);
|
|
|
+}
|
|
|
+
|
|
|
+.login-card-icon {
|
|
|
+ width: 56upx;
|
|
|
+ height: 56upx;
|
|
|
+}
|
|
|
+
|
|
|
+.login-card-main {
|
|
|
+ flex: 1;
|
|
|
+ min-width: 0;
|
|
|
+ margin-left: 24upx;
|
|
|
+}
|
|
|
+
|
|
|
+.login-card-title {
|
|
|
+ display: block;
|
|
|
+ color: #161819;
|
|
|
+ font-size: 38upx;
|
|
|
+ font-weight: 700;
|
|
|
+ line-height: 48upx;
|
|
|
+}
|
|
|
+
|
|
|
+.login-card-desc {
|
|
|
+ display: block;
|
|
|
+ margin-top: 12upx;
|
|
|
+ color: #8a9199;
|
|
|
+ font-size: 30upx;
|
|
|
+ line-height: 40upx;
|
|
|
+}
|
|
|
+
|
|
|
+.login-card-btn {
|
|
|
+ width: 100%;
|
|
|
+ margin: 36upx 0 0;
|
|
|
+ padding: 0;
|
|
|
+ min-width: 0;
|
|
|
+ height: 101upx;
|
|
|
+ line-height: 101upx;
|
|
|
+ font-size: 38upx;
|
|
|
+ font-weight: 600;
|
|
|
+ border-radius: 40upx;
|
|
|
+ text-align: center;
|
|
|
+ border: none;
|
|
|
+ color: #fff;
|
|
|
+ background: #09c567;
|
|
|
+}
|
|
|
+
|
|
|
+.login-card-btn::after {
|
|
|
+ border: none;
|
|
|
+}
|
|
|
+
|
|
|
+.login-card-btn--primary,
|
|
|
+.login-card-btn--outline {
|
|
|
+ color: #fff;
|
|
|
+ background: #09c567;
|
|
|
+}
|
|
|
+
|
|
|
+.login-register {
|
|
|
+ display: flex;
|
|
|
+ flex-direction: row;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ margin-top: 56upx;
|
|
|
+}
|
|
|
+
|
|
|
+.login-register-tip {
|
|
|
+ color: #8a9199;
|
|
|
+ font-size: 40upx;
|
|
|
+ line-height: 44upx;
|
|
|
+}
|
|
|
+
|
|
|
+.login-register-link {
|
|
|
+ margin-left: 8upx;
|
|
|
+ color: #09c567;
|
|
|
+ font-size: 40upx;
|
|
|
+ line-height: 44upx;
|
|
|
+ font-weight: 600;
|
|
|
+}
|
|
|
+
|
|
|
+.order-page {
|
|
|
+ .ghs_list_page {
|
|
|
+ background-color: rgba(255, 255, 255, 1);
|
|
|
+ position: relative;
|
|
|
+ width: 750upx;
|
|
|
+ overflow: hidden;
|
|
|
+
|
|
|
+ .profile-section {
|
|
|
+ background-color: #09C567;
|
|
|
+ padding: 30upx 30upx 0upx 30upx;
|
|
|
+ border-radius: 0;
|
|
|
+
|
|
|
+ .profile-header {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+
|
|
|
+ .avatar-container {
|
|
|
+ width: 50upx;
|
|
|
+ height: 50upx;
|
|
|
+ border-radius: 50upx;
|
|
|
+ overflow: hidden;
|
|
|
+ background-color: rgba(255, 255, 255, 0.2);
|
|
|
+ border: 1upx solid #ffffff;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+
|
|
|
+ .avatar-button {
|
|
|
+ background: none !important;
|
|
|
+ border: none !important;
|
|
|
+ padding: 0 !important;
|
|
|
+ margin: 0 !important;
|
|
|
+ line-height: 1;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ width: 50upx;
|
|
|
+ height: 50upx;
|
|
|
+ color: transparent !important;
|
|
|
+
|
|
|
+ &::after {
|
|
|
+ border: none !important;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .avatar {
|
|
|
+ width: 50upx;
|
|
|
+ height: 50upx;
|
|
|
+ border-radius: 50upx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .user-info {
|
|
|
+ flex: 1;
|
|
|
+ margin-left: 10upx;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+
|
|
|
+ .username {
|
|
|
+ display: block;
|
|
|
+ font-size: 40upx;
|
|
|
+ font-weight: bold;
|
|
|
+ color: #ffffff;
|
|
|
+ line-height: 1;
|
|
|
+ }
|
|
|
+
|
|
|
+ .user-id {
|
|
|
+ display: block;
|
|
|
+ margin-top: 6upx;
|
|
|
+ font-size: 26upx;
|
|
|
+ color: #ffffff;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .more-icon {
|
|
|
+ margin-left: 12upx;
|
|
|
+ width: 60upx;
|
|
|
+ height: 60upx;
|
|
|
+ border-radius: 30upx;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ display: flex;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ .flex-col {
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ }
|
|
|
+
|
|
|
+ .flex-row {
|
|
|
+ display: flex;
|
|
|
+ flex-direction: row;
|
|
|
+ }
|
|
|
+
|
|
|
+ .justify-end {
|
|
|
+ display: flex;
|
|
|
+ justify-content: flex-end;
|
|
|
+ }
|
|
|
+
|
|
|
+ .justify-between {
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ }
|
|
|
+
|
|
|
+ .ghs_list_area {
|
|
|
+ width: 750upx;
|
|
|
+ background-color: #ece5e5;
|
|
|
+
|
|
|
+ .ghs_box {
|
|
|
+ background-color: rgba(255, 255, 255, 1);
|
|
|
+ position: relative;
|
|
|
+ width: 750upx;
|
|
|
+ height: auto;
|
|
|
+ margin-bottom: 35upx;
|
|
|
+
|
|
|
+ .more-btn {
|
|
|
+ position: absolute;
|
|
|
+ top: 20upx;
|
|
|
+ right: 20upx;
|
|
|
+ width: 40upx;
|
|
|
+ height: 40upx;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ border-radius: 20upx;
|
|
|
+ background: rgba(0, 0, 0, 0.05);
|
|
|
+
|
|
|
+ .more-icon {
|
|
|
+ font-size: 24upx;
|
|
|
+ color: #666;
|
|
|
+ font-weight: bold;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .image-text_7 {
|
|
|
+ width: 674upx;
|
|
|
+ height: 120upx;
|
|
|
+ margin: 40upx 0 0 31upx;
|
|
|
+
|
|
|
+ .section_1 {
|
|
|
+ width: 120upx;
|
|
|
+ height: 120upx;
|
|
|
+
|
|
|
+ .logo {
|
|
|
+ width: 120upx;
|
|
|
+ height: 120upx;
|
|
|
+ border-radius: 10upx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .text-group_7 {
|
|
|
+ width: 533upx;
|
|
|
+ min-height: 99upx;
|
|
|
+ height: auto;
|
|
|
+ margin-top: 5upx;
|
|
|
+ justify-content: center;
|
|
|
+
|
|
|
+ .text_8 {
|
|
|
+ display: inline-block;
|
|
|
+ width: 550upx;
|
|
|
+ height: 38upx;
|
|
|
+ color: rgba(51, 51, 51, 1);
|
|
|
+ font-size: 36upx;
|
|
|
+ font-weight: bold;
|
|
|
+ text-align: left;
|
|
|
+ white-space: nowrap;
|
|
|
+ line-height: 38upx;
|
|
|
+ overflow: hidden;
|
|
|
+ margin-bottom: 12upx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .text_9 {
|
|
|
+ width: 533upx;
|
|
|
+ height: 25upx;
|
|
|
+ overflow-wrap: break-word;
|
|
|
+ color: rgba(153, 153, 153, 1);
|
|
|
+ font-size: 30upx;
|
|
|
+ text-align: left;
|
|
|
+ white-space: nowrap;
|
|
|
+ line-height: 25upx;
|
|
|
+ margin-bottom: 10upx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .text_distance {
|
|
|
+ font-size: 26upx;
|
|
|
+ color: #666;
|
|
|
+ line-height: 24upx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .box_4 {
|
|
|
+ background-color: rgba(238, 238, 238, 1);
|
|
|
+ width: 750upx;
|
|
|
+ height: 1upx;
|
|
|
+ margin-top: 40upx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .box_9 {
|
|
|
+ width: calc(100% - 30upx);
|
|
|
+ height: auto;
|
|
|
+ margin: 23upx 15upx 22upx 15upx;
|
|
|
+ display: flex;
|
|
|
+ flex-wrap: wrap;
|
|
|
+ align-items: stretch;
|
|
|
+ overflow: visible;
|
|
|
+ position: relative;
|
|
|
+
|
|
|
+ .tag_2 {
|
|
|
+ background-color: rgba(255, 255, 255, 1);
|
|
|
+ border-radius: 8px;
|
|
|
+ height: 80upx;
|
|
|
+ border: 2px solid rgba(221, 221, 221, 1);
|
|
|
+ color: rgba(51, 51, 51, 1);
|
|
|
+ font-size: 28upx;
|
|
|
+ margin: 0 7upx 15upx 0;
|
|
|
+ text-align: center;
|
|
|
+ width: calc((100% - 28upx) / 5);
|
|
|
+ padding: 0 4upx;
|
|
|
+ box-sizing: border-box;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+
|
|
|
+ &:nth-child(5n) {
|
|
|
+ margin-right: 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ text {
|
|
|
+ display: block;
|
|
|
+ width: 100%;
|
|
|
+ font-size: 28upx;
|
|
|
+ line-height: 1.2;
|
|
|
+ white-space: nowrap;
|
|
|
+ overflow: hidden;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .tag_2--share {
|
|
|
+ padding-left: 2upx;
|
|
|
+ padding-right: 2upx;
|
|
|
+ position: relative;
|
|
|
+ }
|
|
|
+
|
|
|
+ .tag_2--highlight {
|
|
|
+ color: #09C567;
|
|
|
+ border-color: #09C567;
|
|
|
+ font-weight: bold;
|
|
|
+ }
|
|
|
+
|
|
|
+ .share-button-mask {
|
|
|
+ position: absolute;
|
|
|
+ top: 0;
|
|
|
+ left: 0;
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ opacity: 0;
|
|
|
+ z-index: 10;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .box_6 {
|
|
|
+ background-color: rgb(248, 242, 242);
|
|
|
+ width: 750upx;
|
|
|
+ height: 95upx;
|
|
|
+
|
|
|
+ .show_clear_area {
|
|
|
+ width: 247upx;
|
|
|
+ height: 29upx;
|
|
|
+ margin: 26upx 0 0 30upx;
|
|
|
+
|
|
|
+ .waite_clear_order {
|
|
|
+ width: 214upx;
|
|
|
+ height: 29upx;
|
|
|
+ overflow-wrap: break-word;
|
|
|
+ color: rgba(255, 40, 66, 1);
|
|
|
+ font-size: 31upx;
|
|
|
+ font-weight: bold;
|
|
|
+ text-align: left;
|
|
|
+ white-space: nowrap;
|
|
|
+ line-height: 29upx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .waite_clear_order--blue {
|
|
|
+ color: #3385ff;
|
|
|
+ }
|
|
|
+
|
|
|
+ .ml-15 {
|
|
|
+ margin-left: 15upx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .ml-30 {
|
|
|
+ margin-left: 30upx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .button_4 {
|
|
|
+ height: 92upx;
|
|
|
+ line-height: 92upx;
|
|
|
+ text-align: center;
|
|
|
+ background-color: #09C567;
|
|
|
+ background-size: 137upx 137upx;
|
|
|
+ width: 130upx;
|
|
|
+ position: absolute;
|
|
|
+ left: 570upx;
|
|
|
+ top: 110upx;
|
|
|
+ border-radius: 39upx;
|
|
|
+
|
|
|
+ .text_13 {
|
|
|
+ color: rgba(255, 255, 255, 1);
|
|
|
+ font-size: 30upx;
|
|
|
+ font-weight: bold;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .button_5 {
|
|
|
+ height: 92upx;
|
|
|
+ line-height: 92upx;
|
|
|
+ text-align: center;
|
|
|
+ background-color: #CCCCCC;
|
|
|
+ background-size: 137upx 137upx;
|
|
|
+ width: 130upx;
|
|
|
+ position: absolute;
|
|
|
+ left: 570upx;
|
|
|
+ top: 110upx;
|
|
|
+ border-radius: 39upx;
|
|
|
+
|
|
|
+ .text_13 {
|
|
|
+ color: rgba(255, 255, 255, 1);
|
|
|
+ font-size: 30upx;
|
|
|
+ font-weight: bold;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .button_6 {
|
|
|
+ height: 92upx;
|
|
|
+ line-height: 92upx;
|
|
|
+ text-align: center;
|
|
|
+ background-color: rgb(152, 153, 197);
|
|
|
+ background-size: 137upx 137upx;
|
|
|
+ width: 170upx;
|
|
|
+ position: absolute;
|
|
|
+ left: 540upx;
|
|
|
+ top: 110upx;
|
|
|
+ border-radius: 39upx;
|
|
|
+
|
|
|
+ .text_13 {
|
|
|
+ color: rgba(255, 255, 255, 1);
|
|
|
+ font-size: 30upx;
|
|
|
+ font-weight: bold;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .button_7 {
|
|
|
+ height: 92upx;
|
|
|
+ line-height: 92upx;
|
|
|
+ text-align: center;
|
|
|
+ background-color: #09C567;
|
|
|
+ background-size: 137upx 137upx;
|
|
|
+ width: 180upx;
|
|
|
+ position: absolute;
|
|
|
+ left: 330upx;
|
|
|
+ top: 95upx;
|
|
|
+ border-radius: 39upx;
|
|
|
+
|
|
|
+ .text_13 {
|
|
|
+ color: rgba(255, 255, 255, 1);
|
|
|
+ font-size: 30upx;
|
|
|
+ font-weight: bold;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+.admin-contact-wrap {
|
|
|
+ text-align: center;
|
|
|
+ font-size: 28upx;
|
|
|
+ color: #666;
|
|
|
+ padding: 16upx 30upx;
|
|
|
+ margin: 0 20upx;
|
|
|
+ background: #fff;
|
|
|
+ border-radius: 30upx;
|
|
|
+}
|
|
|
+
|
|
|
+.admin-contact-inner {
|
|
|
+ display: inline-flex;
|
|
|
+ align-items: center;
|
|
|
+ background: #fff;
|
|
|
+ padding: 10upx 25upx;
|
|
|
+ border-radius: 20upx;
|
|
|
+ box-shadow: 0 2upx 8upx rgba(0, 0, 0, 0.05);
|
|
|
+}
|
|
|
+
|
|
|
+.admin-contact-name {
|
|
|
+ color: #333;
|
|
|
+ font-weight: 500;
|
|
|
+ font-size: 28upx;
|
|
|
+}
|
|
|
+
|
|
|
+.admin-contact-divider {
|
|
|
+ margin: 0 15upx;
|
|
|
+ color: #eee;
|
|
|
+}
|
|
|
+
|
|
|
+.admin-contact-mobile {
|
|
|
+ color: #666;
|
|
|
+ font-size: 28upx;
|
|
|
+}
|
|
|
+
|
|
|
+.ad-wrap {
|
|
|
+ text-align: center;
|
|
|
+}
|
|
|
+
|
|
|
+.ad-image {
|
|
|
+ width: 97%;
|
|
|
+ margin: 0 auto;
|
|
|
+}
|
|
|
+
|
|
|
+.discount-highlight {
|
|
|
+ color: red;
|
|
|
+ font-weight: bold;
|
|
|
+}
|
|
|
+
|
|
|
+.no-supplier-tip {
|
|
|
+ margin: 60upx auto 40upx auto;
|
|
|
+ font-weight: bold;
|
|
|
+ font-size: 36upx;
|
|
|
+ text-align: center;
|
|
|
+ color: #999;
|
|
|
+}
|
|
|
+
|
|
|
+.location-empty-box {
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ align-items: center;
|
|
|
+ margin-top: 100upx;
|
|
|
+ margin-bottom: 100upx;
|
|
|
+}
|
|
|
+
|
|
|
+.location-empty-title {
|
|
|
+ font-size: 36upx;
|
|
|
+ color: #999;
|
|
|
+ font-weight: bold;
|
|
|
+ margin-bottom: 40upx;
|
|
|
+}
|
|
|
+
|
|
|
+.location-empty-btn {
|
|
|
+ background-color: #09C567;
|
|
|
+ color: #fff;
|
|
|
+ width: 240upx;
|
|
|
+ border-radius: 10upx;
|
|
|
+}
|
|
|
+
|
|
|
+.support-entry {
|
|
|
+ text-align: center;
|
|
|
+ margin-top: 20upx;
|
|
|
+ margin-bottom: 50upx;
|
|
|
+ color: #827171;
|
|
|
+ font-size: 32upx;
|
|
|
+}
|
|
|
+
|
|
|
+.support-divider {
|
|
|
+ margin: 0 20upx 0 20upx;
|
|
|
+}
|
|
|
+
|
|
|
+.more-popup-list {
|
|
|
+ display: flex;
|
|
|
+ width: 100vw;
|
|
|
+ padding: 20upx 20upx 40upx 20upx;
|
|
|
+ height: auto;
|
|
|
+ justify-content: space-between;
|
|
|
+ align-items: center;
|
|
|
+ flex-wrap: wrap;
|
|
|
+ max-height: 100vh;
|
|
|
+ overflow: auto;
|
|
|
+}
|
|
|
+
|
|
|
+.more-popup-item {
|
|
|
+ width: 100vw;
|
|
|
+ margin-top: 8upx;
|
|
|
+}
|
|
|
+
|
|
|
+.more-popup-item--cancel {
|
|
|
+ margin-top: 30upx;
|
|
|
+}
|
|
|
+
|
|
|
+/* 供货商提示弹框样式 */
|
|
|
+.supplier-notice-popup {
|
|
|
+ .supplier-notice-container {
|
|
|
+ width: 650upx;
|
|
|
+ background-color: #fff;
|
|
|
+ border-radius: 20upx;
|
|
|
+ overflow: hidden;
|
|
|
+
|
|
|
+ .supplier-notice-header {
|
|
|
+ padding: 40upx 30upx 20upx;
|
|
|
+ text-align: center;
|
|
|
+ background-color: #f8f9fa;
|
|
|
+ border-bottom: 1upx solid #e9ecef;
|
|
|
+
|
|
|
+ .supplier-notice-title {
|
|
|
+ font-size: 36upx;
|
|
|
+ font-weight: bold;
|
|
|
+ color: #333;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .supplier-notice-content {
|
|
|
+ padding: 20upx 0;
|
|
|
+
|
|
|
+ .supplier-list {
|
|
|
+ padding: 0 30upx;
|
|
|
+
|
|
|
+ .supplier-item {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ padding: 20upx 0;
|
|
|
+ border-bottom: 1upx solid #f0f0f0;
|
|
|
+
|
|
|
+ &:last-child {
|
|
|
+ border-bottom: none;
|
|
|
+ }
|
|
|
+
|
|
|
+ .supplier-icon {
|
|
|
+ width: 60upx;
|
|
|
+ height: 60upx;
|
|
|
+ background-color: #e3f2fd;
|
|
|
+ border-radius: 50%;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ font-size: 32upx;
|
|
|
+ margin-right: 20upx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .supplier-name {
|
|
|
+ font-size: 32upx;
|
|
|
+ color: #333;
|
|
|
+ flex: 1;
|
|
|
+ font-weight: 500;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .supplier-notice-footer {
|
|
|
+ padding: 30upx;
|
|
|
+ text-align: center;
|
|
|
+ background-color: #f8f9fa;
|
|
|
+ border-top: 1upx solid #e9ecef;
|
|
|
+
|
|
|
+ .supplier-notice-tip {
|
|
|
+ display: block;
|
|
|
+ font-size: 42upx;
|
|
|
+ font-weight: bold;
|
|
|
+ color: red;
|
|
|
+ margin-bottom: 30upx;
|
|
|
+ line-height: 1.4;
|
|
|
+ }
|
|
|
+
|
|
|
+ .supplier-notice-buttons {
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+
|
|
|
+ .admin-button-com+.admin-button-com {
|
|
|
+ margin-left: 20upx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .admin-button-com {
|
|
|
+ flex: 1;
|
|
|
+ margin: 0;
|
|
|
+ padding: 20upx 0;
|
|
|
+ height: auto;
|
|
|
+ line-height: normal;
|
|
|
+ font-size: 34upx;
|
|
|
+ font-weight: bold;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-</script>
|
|
|
+
|
|
|
+.warning-banner {
|
|
|
+ background-color: #ff6b6b;
|
|
|
+ border-radius: 8upx;
|
|
|
+ margin: 0upx 10upx 20upx 10upx;
|
|
|
+ padding: 20upx 24upx;
|
|
|
+ color: #ffffff;
|
|
|
+ font-size: 32upx;
|
|
|
+ font-weight: 600;
|
|
|
+ text-align: center;
|
|
|
+ line-height: 1.4;
|
|
|
+}
|
|
|
+
|
|
|
+/* New workbench visual style */
|
|
|
+.order-page {
|
|
|
+ min-height: 100vh;
|
|
|
+ background: #f5f7f6;
|
|
|
+}
|
|
|
+
|
|
|
+.order-page .ghs_list_page {
|
|
|
+ width: 750upx;
|
|
|
+ min-height: 100vh;
|
|
|
+ overflow: hidden;
|
|
|
+ background: #f5f7f6;
|
|
|
+}
|
|
|
+
|
|
|
+.order-page .ghs_list_page .profile-section {
|
|
|
+ position: relative;
|
|
|
+ padding: 0 24upx 4upx;
|
|
|
+ overflow: hidden;
|
|
|
+ background: linear-gradient(180deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.24) 58%, rgba(245, 247, 246, 0.58) 100%);
|
|
|
+}
|
|
|
+
|
|
|
+.order-page .ghs_list_page .profile-section::before {
|
|
|
+ content: "";
|
|
|
+ position: absolute;
|
|
|
+ left: 0;
|
|
|
+ right: 0;
|
|
|
+ top: 0;
|
|
|
+ height: 280upx;
|
|
|
+ z-index: 1;
|
|
|
+ background: linear-gradient(
|
|
|
+ 180deg,
|
|
|
+ rgba(255, 255, 255, 0.78) 0%,
|
|
|
+ rgba(237, 248, 242, 0.52) 48%,
|
|
|
+ rgba(255, 255, 255, 0) 100%
|
|
|
+ );
|
|
|
+ pointer-events: none;
|
|
|
+}
|
|
|
+
|
|
|
+.workbench-header-bg {
|
|
|
+ position: absolute;
|
|
|
+ left: 0;
|
|
|
+ top: 0;
|
|
|
+ width: 100%;
|
|
|
+ height: 300upx;
|
|
|
+ z-index: 0;
|
|
|
+}
|
|
|
+
|
|
|
+.order-page .ghs_list_page .profile-section::after {
|
|
|
+ content: "";
|
|
|
+ position: absolute;
|
|
|
+ left: 0;
|
|
|
+ right: 0;
|
|
|
+ top: 252upx;
|
|
|
+ height: 150upx;
|
|
|
+ z-index: 1;
|
|
|
+ background: linear-gradient(180deg, rgba(245, 247, 246, 0) 0%, rgba(245, 247, 246, 0.62) 100%);
|
|
|
+ pointer-events: none;
|
|
|
+}
|
|
|
+
|
|
|
+.status-safe-area,
|
|
|
+.custom-nav,
|
|
|
+.profile-header,
|
|
|
+.function-grid--overlay {
|
|
|
+ position: relative;
|
|
|
+ z-index: 2;
|
|
|
+}
|
|
|
+
|
|
|
+.custom-nav {
|
|
|
+ position: relative;
|
|
|
+ height: 145upx;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ padding-top: 65upx;
|
|
|
+ box-sizing: border-box;
|
|
|
+}
|
|
|
+
|
|
|
+.custom-nav-title {
|
|
|
+ max-width: 560upx;
|
|
|
+ color: #161819;
|
|
|
+ font-size: 50upx;
|
|
|
+ font-weight: 700;
|
|
|
+ line-height: 48upx;
|
|
|
+ text-align: center;
|
|
|
+ text-shadow:
|
|
|
+ 0 0 12upx rgba(255, 255, 255, 0.92),
|
|
|
+ 0 2upx 6upx rgba(255, 255, 255, 0.75);
|
|
|
+ overflow: hidden;
|
|
|
+ white-space: nowrap;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+}
|
|
|
+
|
|
|
+.order-page .ghs_list_page .profile-section .profile-header {
|
|
|
+ min-height: 78upx;
|
|
|
+ justify-content: center;
|
|
|
+}
|
|
|
+
|
|
|
+.order-page .ghs_list_page .profile-section .profile-header .avatar-container {
|
|
|
+ width: 72upx;
|
|
|
+ height: 72upx;
|
|
|
+ border-radius: 50%;
|
|
|
+ border: 4upx solid rgba(255, 255, 255, 0.95);
|
|
|
+ background: #fff;
|
|
|
+ box-shadow: 0 8upx 22upx rgba(9, 197, 103, 0.18);
|
|
|
+}
|
|
|
+
|
|
|
+.order-page .ghs_list_page .profile-section .profile-header .avatar-container .avatar-button {
|
|
|
+ width: 72upx;
|
|
|
+ height: 72upx;
|
|
|
+ border-radius: 50%;
|
|
|
+}
|
|
|
+
|
|
|
+.order-page .ghs_list_page .profile-section .profile-header .avatar-container .avatar {
|
|
|
+ width: 72upx;
|
|
|
+ height: 72upx;
|
|
|
+ border-radius: 50%;
|
|
|
+}
|
|
|
+
|
|
|
+.order-page .ghs_list_page .profile-section .profile-header .user-info {
|
|
|
+ flex: 0 1 auto;
|
|
|
+ max-width: 540upx;
|
|
|
+ margin-left: 18upx;
|
|
|
+}
|
|
|
+
|
|
|
+.order-page .ghs_list_page .profile-section .profile-header .user-info .username {
|
|
|
+ color: #161819;
|
|
|
+ font-size: 34upx;
|
|
|
+ line-height: 42upx;
|
|
|
+ overflow: hidden;
|
|
|
+ white-space: nowrap;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+}
|
|
|
+
|
|
|
+.order-page .ghs_list_page .profile-section .function-grid--overlay {
|
|
|
+ margin-top: 10upx;
|
|
|
+ min-height: 166upx;
|
|
|
+ padding: 30upx 12upx 24upx;
|
|
|
+ border-radius: 26upx;
|
|
|
+ background: #f5f7f6;
|
|
|
+ box-shadow: 0 14upx 34upx rgba(42, 75, 55, 0.13);
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: space-around;
|
|
|
+ box-sizing: border-box;
|
|
|
+}
|
|
|
+
|
|
|
+.order-page .ghs_list_page .profile-section .function-item--overlay {
|
|
|
+ flex: 1;
|
|
|
+ padding: 0;
|
|
|
+ border: 0;
|
|
|
+ background: transparent;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+}
|
|
|
+
|
|
|
+.order-page .ghs_list_page .profile-section .function-item--overlay+.function-item--overlay {
|
|
|
+ margin-left: 0;
|
|
|
+}
|
|
|
+
|
|
|
+.order-page .ghs_list_page .profile-section .function-text--overlay {
|
|
|
+ margin-top: 14upx;
|
|
|
+ color: #202325;
|
|
|
+ font-size: 29upx;
|
|
|
+ line-height: 36upx;
|
|
|
+ background-color: transparent;
|
|
|
+}
|
|
|
+
|
|
|
+.admin-contact-wrap {
|
|
|
+ margin: 20upx 24upx 0;
|
|
|
+ padding: 18upx 24upx;
|
|
|
+ border-radius: 22upx;
|
|
|
+ background: #fff;
|
|
|
+ box-shadow: 0 10upx 26upx rgba(31, 46, 37, 0.06);
|
|
|
+}
|
|
|
+
|
|
|
+.admin-contact-inner {
|
|
|
+ width: 100%;
|
|
|
+ padding: 0;
|
|
|
+ box-shadow: none;
|
|
|
+ justify-content: center;
|
|
|
+}
|
|
|
+
|
|
|
+.warning-banner {
|
|
|
+ margin: 22upx 24upx 0;
|
|
|
+ padding: 22upx 28upx;
|
|
|
+ border-radius: 20upx;
|
|
|
+ background: linear-gradient(90deg, #ff393f 0%, #ff4d4f 100%);
|
|
|
+ box-shadow: 0 10upx 22upx rgba(255, 57, 63, 0.18);
|
|
|
+ color: #fff;
|
|
|
+ font-size: 30upx;
|
|
|
+ font-weight: 700;
|
|
|
+}
|
|
|
+
|
|
|
+.ad-wrap {
|
|
|
+ margin: 22upx 24upx 0;
|
|
|
+ overflow: hidden;
|
|
|
+ border-radius: 20upx;
|
|
|
+}
|
|
|
+
|
|
|
+.ad-image {
|
|
|
+ display: block;
|
|
|
+ width: 100%;
|
|
|
+ margin: 0;
|
|
|
+}
|
|
|
+
|
|
|
+.order-page .ghs_list_page .ghs_list_area {
|
|
|
+ width: 750upx;
|
|
|
+ padding: 24upx 0 12upx;
|
|
|
+ background: #f5f7f6;
|
|
|
+}
|
|
|
+
|
|
|
+.order-page .ghs_list_page .ghs_list_area .ghs_box {
|
|
|
+ width: 702upx;
|
|
|
+ margin: 0 24upx 24upx;
|
|
|
+ padding: 24upx 24upx 26upx;
|
|
|
+ box-sizing: border-box;
|
|
|
+ border-radius: 24upx;
|
|
|
+ background: #fff;
|
|
|
+ box-shadow: 0 10upx 28upx rgba(24, 37, 30, 0.08);
|
|
|
+}
|
|
|
+
|
|
|
+.order-page .ghs_list_page .ghs_list_area .ghs_box .image-text_7 {
|
|
|
+ width: 100%;
|
|
|
+ min-height: 116upx;
|
|
|
+ height: auto;
|
|
|
+ margin: 0;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: flex-start;
|
|
|
+ padding-right: 178upx;
|
|
|
+ box-sizing: border-box;
|
|
|
+}
|
|
|
+
|
|
|
+.order-page .ghs_list_page .ghs_list_area .ghs_box .image-text_7 .section_1 {
|
|
|
+ width: 112upx;
|
|
|
+ height: 112upx;
|
|
|
+ flex-shrink: 0;
|
|
|
+}
|
|
|
+
|
|
|
+.order-page .ghs_list_page .ghs_list_area .ghs_box .image-text_7 .section_1 .logo {
|
|
|
+ width: 112upx;
|
|
|
+ height: 112upx;
|
|
|
+ border-radius: 50%;
|
|
|
+ background: #eaf8ef;
|
|
|
+}
|
|
|
+
|
|
|
+.order-page .ghs_list_page .ghs_list_area .ghs_box .image-text_7 .text-group_7 {
|
|
|
+ flex: 1;
|
|
|
+ width: auto;
|
|
|
+ min-width: 0;
|
|
|
+ min-height: 100upx;
|
|
|
+ margin: 0 0 0 24upx;
|
|
|
+}
|
|
|
+
|
|
|
+.order-page .ghs_list_page .ghs_list_area .ghs_box .image-text_7 .text-group_7 .text_8 {
|
|
|
+ width: 100%;
|
|
|
+ height: auto;
|
|
|
+ margin-bottom: 10upx;
|
|
|
+ color: #171a1d;
|
|
|
+ font-size: 36upx;
|
|
|
+ line-height: 44upx;
|
|
|
+ font-weight: 700;
|
|
|
+}
|
|
|
+
|
|
|
+.phone-line {
|
|
|
+ width: 100%;
|
|
|
+ min-height: 34upx;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ margin-bottom:10upx;
|
|
|
+}
|
|
|
+
|
|
|
+.phone-text {
|
|
|
+ flex: 1;
|
|
|
+ min-width: 0;
|
|
|
+ margin-left: 10upx;
|
|
|
+ color: #252a2d;
|
|
|
+ font-size: 28upx;
|
|
|
+ line-height: 32upx;
|
|
|
+ white-space: nowrap;
|
|
|
+}
|
|
|
+
|
|
|
+.order-page .ghs_list_page .ghs_list_area .ghs_box .image-text_7 .text-group_7 .text_9 {
|
|
|
+ width: 100%;
|
|
|
+ height: auto;
|
|
|
+ min-height: 28upx;
|
|
|
+ margin-bottom: 6upx;
|
|
|
+ color: #7e8782;
|
|
|
+ font-size: 24upx;
|
|
|
+ line-height: 30upx;
|
|
|
+}
|
|
|
+
|
|
|
+.order-page .ghs_list_page .ghs_list_area .ghs_box .image-text_7 .text-group_7 .text_distance {
|
|
|
+ color: #7e8782;
|
|
|
+ font-size: 24upx;
|
|
|
+ line-height: 30upx;
|
|
|
+}
|
|
|
+
|
|
|
+.order-page .ghs_list_page .ghs_list_area .ghs_box .box_4 {
|
|
|
+ display: none;
|
|
|
+}
|
|
|
+
|
|
|
+.order-page .ghs_list_page .ghs_list_area .ghs_box .button_4,
|
|
|
+.order-page .ghs_list_page .ghs_list_area .ghs_box .button_5,
|
|
|
+.order-page .ghs_list_page .ghs_list_area .ghs_box .button_6,
|
|
|
+.order-page .ghs_list_page .ghs_list_area .ghs_box .button_7 {
|
|
|
+ top: 48upx;
|
|
|
+ left: auto;
|
|
|
+ right: 28upx;
|
|
|
+ width: 142upx;
|
|
|
+ height: 76upx;
|
|
|
+ line-height: 76upx;
|
|
|
+ border-radius: 999upx;
|
|
|
+ box-shadow: 0 8upx 18upx rgba(9, 197, 103, 0.22);
|
|
|
+}
|
|
|
+
|
|
|
+.order-page .ghs_list_page .ghs_list_area .ghs_box .button_4,
|
|
|
+.order-page .ghs_list_page .ghs_list_area .ghs_box .button_7 {
|
|
|
+ background: linear-gradient(135deg, #16d66d 0%, #08b858 100%);
|
|
|
+}
|
|
|
+
|
|
|
+.order-page .ghs_list_page .ghs_list_area .ghs_box .button_5 {
|
|
|
+ background: #c9d0cd;
|
|
|
+ box-shadow: none;
|
|
|
+}
|
|
|
+
|
|
|
+.order-page .ghs_list_page .ghs_list_area .ghs_box .button_6 {
|
|
|
+ background: linear-gradient(135deg, #65c690 0%, #35aa69 100%);
|
|
|
+}
|
|
|
+
|
|
|
+.order-page .ghs_list_page .ghs_list_area .ghs_box .button_7 {
|
|
|
+ right: 182upx;
|
|
|
+ width: 156upx;
|
|
|
+}
|
|
|
+
|
|
|
+.order-page .ghs_list_page .ghs_list_area .ghs_box .button_4 .text_13,
|
|
|
+.order-page .ghs_list_page .ghs_list_area .ghs_box .button_5 .text_13,
|
|
|
+.order-page .ghs_list_page .ghs_list_area .ghs_box .button_6 .text_13,
|
|
|
+.order-page .ghs_list_page .ghs_list_area .ghs_box .button_7 .text_13 {
|
|
|
+ color: #fff;
|
|
|
+ font-size: 28upx;
|
|
|
+ font-weight: 700;
|
|
|
+}
|
|
|
+
|
|
|
+.order-page .ghs_list_page .ghs_list_area .ghs_box .box_9 {
|
|
|
+ width: 100%;
|
|
|
+ margin: 30upx 0 8upx;
|
|
|
+ display: flex;
|
|
|
+ flex-wrap: nowrap;
|
|
|
+ justify-content: space-between;
|
|
|
+ overflow: visible;
|
|
|
+}
|
|
|
+
|
|
|
+.order-page .ghs_list_page .ghs_list_area .ghs_box .box_9 .tag_2 {
|
|
|
+ width: 120upx;
|
|
|
+ height: 140upx;
|
|
|
+ margin: 0;
|
|
|
+ padding: 15upx 4upx;
|
|
|
+ border: 1upx solid #dbeee3;
|
|
|
+ border-radius: 10upx;
|
|
|
+ background: #fbfffd;
|
|
|
+ color: #1f2523;
|
|
|
+ box-sizing: border-box;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+}
|
|
|
+
|
|
|
+.order-page .ghs_list_page .ghs_list_area .ghs_box .box_9 .tag_2 text {
|
|
|
+ width: 100%;
|
|
|
+ margin-top: 13upx;
|
|
|
+ color: #1f2523;
|
|
|
+ font-size: 24upx;
|
|
|
+ line-height: 30upx;
|
|
|
+ text-align: center;
|
|
|
+}
|
|
|
+
|
|
|
+.order-page .ghs_list_page .ghs_list_area .ghs_box .box_9 .tag_2--highlight {
|
|
|
+ color: #09c567;
|
|
|
+ border-color: #d2efdd;
|
|
|
+ font-weight: 400;
|
|
|
+}
|
|
|
+
|
|
|
+.order-page .ghs_list_page .ghs_list_area .ghs_box .box_9 .tag_2--highlight text {
|
|
|
+ color: #1f2523;
|
|
|
+}
|
|
|
+
|
|
|
+.order-page .ghs_list_page .ghs_list_area .ghs_box .box_6 {
|
|
|
+ width: 100%;
|
|
|
+ height: auto;
|
|
|
+ min-height: 72upx;
|
|
|
+ margin-top: 18upx;
|
|
|
+ border-radius: 12upx;
|
|
|
+ background: #fff1f1;
|
|
|
+}
|
|
|
+
|
|
|
+.order-page .ghs_list_page .ghs_list_area .ghs_box .box_6--blue {
|
|
|
+ background: #edf6ff;
|
|
|
+}
|
|
|
+
|
|
|
+.order-page .ghs_list_page .ghs_list_area .ghs_box .box_6 .show_clear_area {
|
|
|
+ width: 100%;
|
|
|
+ height: auto;
|
|
|
+ min-height: 72upx;
|
|
|
+ margin: 0;
|
|
|
+ padding: 0 18upx;
|
|
|
+ box-sizing: border-box;
|
|
|
+ align-items: center;
|
|
|
+ flex-wrap: nowrap;
|
|
|
+}
|
|
|
+
|
|
|
+.order-page .ghs_list_page .ghs_list_area .ghs_box .box_6 .show_clear_area .waite_clear_order {
|
|
|
+ flex: 1;
|
|
|
+ width: auto;
|
|
|
+ height: auto;
|
|
|
+ color: #f50e24;
|
|
|
+ font-size: 30upx;
|
|
|
+ line-height: 38upx;
|
|
|
+ font-weight: 700;
|
|
|
+ white-space: nowrap;
|
|
|
+ overflow: hidden;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+}
|
|
|
+
|
|
|
+.clear-action {
|
|
|
+ flex-shrink: 0;
|
|
|
+ margin-left: 18upx;
|
|
|
+ color: #f50e24;
|
|
|
+ font-size: 26upx;
|
|
|
+ line-height: 34upx;
|
|
|
+ font-weight: 700;
|
|
|
+ white-space: nowrap;
|
|
|
+}
|
|
|
+
|
|
|
+.order-page .ghs_list_page .ghs_list_area .ghs_box .box_6 .show_clear_area .waite_clear_order--blue,
|
|
|
+.clear-action--blue {
|
|
|
+ color: #1677ff;
|
|
|
+}
|
|
|
+
|
|
|
+.location-empty-box {
|
|
|
+ width: 702upx;
|
|
|
+ margin: 40upx 24upx 80upx;
|
|
|
+ padding: 70upx 24upx;
|
|
|
+ box-sizing: border-box;
|
|
|
+ border-radius: 24upx;
|
|
|
+ background: #fff;
|
|
|
+ box-shadow: 0 10upx 28upx rgba(24, 37, 30, 0.06);
|
|
|
+}
|
|
|
+
|
|
|
+.location-empty-title {
|
|
|
+ color: #77817c;
|
|
|
+ font-size: 32upx;
|
|
|
+}
|
|
|
+
|
|
|
+.location-empty-btn {
|
|
|
+ margin-top: 22upx;
|
|
|
+ background: #09c567;
|
|
|
+ color: #fff;
|
|
|
+ border-radius: 999upx;
|
|
|
+}
|
|
|
+
|
|
|
+.no-supplier-tip {
|
|
|
+ width: 702upx;
|
|
|
+ margin: 40upx 24upx 80upx;
|
|
|
+ padding: 70upx 24upx;
|
|
|
+ box-sizing: border-box;
|
|
|
+ border-radius: 24upx;
|
|
|
+ background: #fff;
|
|
|
+ color: #77817c;
|
|
|
+ font-size: 32upx;
|
|
|
+ box-shadow: 0 10upx 28upx rgba(24, 37, 30, 0.06);
|
|
|
+}
|
|
|
+
|
|
|
+.function-icon,
|
|
|
+.phone-icon,
|
|
|
+.tag-icon,
|
|
|
+.location-empty-icon {
|
|
|
+ display: block;
|
|
|
+ flex-shrink: 0;
|
|
|
+}
|
|
|
+
|
|
|
+.function-icon {
|
|
|
+ width: 58upx;
|
|
|
+ height: 58upx;
|
|
|
+}
|
|
|
+
|
|
|
+.phone-icon {
|
|
|
+ width: 28upx;
|
|
|
+ height: 28upx;
|
|
|
+}
|
|
|
+
|
|
|
+.tag-icon {
|
|
|
+ width: 50upx;
|
|
|
+ height: 50upx;
|
|
|
+}
|
|
|
+
|
|
|
+.location-empty-icon {
|
|
|
+ width: 40upx;
|
|
|
+ height: 40upx;
|
|
|
+ margin-bottom: 24upx;
|
|
|
+}
|
|
|
+</style>
|