Merge pull request '优化101' (#8) from Branch_ccc into master
Reviewed-on: #8
This commit is contained in:
commit
5babf09a49
11
pages.json
11
pages.json
@ -756,6 +756,17 @@
|
||||
"title": "秒杀活动",
|
||||
"group": "营销活动"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "point/exchange_list",
|
||||
"style": {
|
||||
"navigationBarTitleText": "兑换记录"
|
||||
},
|
||||
"meta": {
|
||||
"sync": true,
|
||||
"title": "兑换记录",
|
||||
"group": "营销活动"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
<!-- 签到界面 -->
|
||||
<template>
|
||||
<s-layout title="签到有礼">
|
||||
<s-layout title="" navbar="ss">
|
||||
<view class="new-bg">
|
||||
<image class="new-qdyl"
|
||||
src="https://zysc.fjptzykj.com:3000/shangcheng/56024e3b60810cc781cbed30ebfe4568a8b721dae5e15aab848f760574558843.png">
|
||||
@ -11,31 +11,65 @@
|
||||
我的积分
|
||||
</view>
|
||||
<view class="bottom">
|
||||
26871
|
||||
{{userInfo.point}}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="new-main">
|
||||
<view class="sign-list">
|
||||
<view class="new-top">
|
||||
<view class="left">已连续签到<span class="number">2</span>天</view>
|
||||
<view class="right">
|
||||
<view class="left">已连续签到<span class="number">{{ state.signInfo.totalDay }}</span>天</view>
|
||||
<view class="right" v-if="!state.signInfo.todaySignIn" @tap="onSign">
|
||||
签到
|
||||
</view>
|
||||
<view class="right on" v-else>
|
||||
已签到
|
||||
</view>
|
||||
</view>
|
||||
<view class="new-bottom">
|
||||
<view class="new-list" v-for=" o in 6">
|
||||
<view class="t">
|
||||
第1天
|
||||
|
||||
<view class="new-l" v-for="(item, index) in state.signConfigList" :key="index">
|
||||
<view class="new-list" :class="state.signInfo.continuousDay >= item.day ? 'on' : ''"
|
||||
v-if="index<6">
|
||||
<view class="t">
|
||||
第{{item.day}}天
|
||||
</view>
|
||||
<view class="c">
|
||||
<!-- {{index === state.signConfigList.length}}
|
||||
{{state.signInfo.continuousDay >= item.day}} -->
|
||||
<image class="img"
|
||||
src="https://zysc.fjptzykj.com:3000/shangcheng/d1dd98b6a37ea9ea90c49898024d3669a54ee2a48f028b671609937b6b1250af.png">
|
||||
</image>
|
||||
<image class="img2"
|
||||
src="https://zysc.fjptzykj.com:3000/shangcheng/b41e27f0f1c392777e86e37715abbede504c64ef0354b0bedffed6a6d428763c.png">
|
||||
</image>
|
||||
</view>
|
||||
<view class="b">
|
||||
{{item.point}}积分
|
||||
</view>
|
||||
</view>
|
||||
<view class="c">
|
||||
<image class="img" src="https://zysc.fjptzykj.com:3000/shangcheng/d1dd98b6a37ea9ea90c49898024d3669a54ee2a48f028b671609937b6b1250af.png"></image>
|
||||
</view>
|
||||
<view class="b">
|
||||
10积分
|
||||
|
||||
<view class="new-list new-7" :class="state.signInfo.continuousDay >= item.day ? 'on' : ''"
|
||||
v-if="index == 6">
|
||||
<view class="t">
|
||||
第{{item.day}}天
|
||||
</view>
|
||||
<view class="c">
|
||||
<image class="img"
|
||||
src="https://zysc.fjptzykj.com:3000/shangcheng/d1dd98b6a37ea9ea90c49898024d3669a54ee2a48f028b671609937b6b1250af.png">
|
||||
</image>
|
||||
<image class="img2"
|
||||
src="https://zysc.fjptzykj.com:3000/shangcheng/b41e27f0f1c392777e86e37715abbede504c64ef0354b0bedffed6a6d428763c.png">
|
||||
</image>
|
||||
</view>
|
||||
<view class="b">
|
||||
{{item.point}}积分
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view style="clear: both;"></view>
|
||||
</view>
|
||||
|
||||
<!-- 签到说明 -->
|
||||
@ -43,15 +77,14 @@
|
||||
<view class="t">签到说明</view>
|
||||
<view class="tt">1、已累计签到{{ state.signInfo.totalDay }}天</view>
|
||||
<view class="tt">
|
||||
2、据说连续签到第 {{ state.maxDay }} 天可获得超额积分,一定要坚持签到哦~~~
|
||||
2、据说连续签到第 {{ state.maxDay }} 天可获得超额积分,一定要坚持签到哦
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<s-empty v-if="state.loading" icon="/static/data-empty.png" text="签到活动还未开始" />
|
||||
<!-- <s-empty v-if="state.loading" icon="/static/data-empty.png" text="签到活动还未开始" />
|
||||
<view v-if="state.loading" />
|
||||
<view class="sign-wrap" v-else-if="!state.loading">
|
||||
<!-- 签到日历 -->
|
||||
<view class="content-box calendar">
|
||||
<view class="sign-everyday ss-flex ss-col-center ss-row-between ss-p-x-30">
|
||||
<text class="sign-everyday-title">签到日历</text>
|
||||
@ -73,6 +106,7 @@
|
||||
(state.signInfo.continuousDay >= item.day ? 'rewardTxt' : '')
|
||||
">
|
||||
第{{ item.day }}天
|
||||
{{state.signInfo.continuousDay >= item.day}}
|
||||
</view>
|
||||
<view class="venus" :class="
|
||||
(index + 1 === state.signConfigList.length ? 'reward' : '') +
|
||||
@ -86,7 +120,6 @@
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 签到按钮 -->
|
||||
<view class="myDateTable">
|
||||
<view class="ss-flex ss-col-center ss-row-center sign-box ss-m-y-40">
|
||||
<button class="ss-reset-button sign-btn" v-if="!state.signInfo.todaySignIn" @tap="onSign">
|
||||
@ -97,7 +130,6 @@
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 签到说明 TODO @科举:这里改成【已累计签到】 -->
|
||||
<view class="bg-white ss-m-t-16 ss-p-t-30 ss-p-b-60 ss-p-x-40">
|
||||
<view class="activity-title ss-m-b-30">签到说明</view>
|
||||
<view class="activity-des">1、已累计签到{{ state.signInfo.totalDay }}天</view>
|
||||
@ -105,7 +137,7 @@
|
||||
2、据说连续签到第 {{ state.maxDay }} 天可获得超额积分,一定要坚持签到哦~~~
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view> -->
|
||||
|
||||
<!-- 签到结果弹窗 -->
|
||||
<su-popup :show="state.showModel" type="center" round="10" :isMaskClick="false">
|
||||
@ -116,7 +148,7 @@
|
||||
<text v-if="state.signResult.point">{{ state.signResult.point }} 积分 </text>
|
||||
<text v-if="state.signResult.experience"> {{ state.signResult.experience }} 经验</text>
|
||||
</view>
|
||||
<view class="model-title ss-flex ss-col-center ss-m-t-22 ss-m-b-30">
|
||||
<view class="model-title ss-flex ss-col-center ss-m-t-22 ss-m-b-30" style="color:#fcff00;">
|
||||
已连续打卡 {{ state.signResult.day }} 天
|
||||
</view>
|
||||
</view>
|
||||
@ -132,13 +164,16 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import {
|
||||
computed,
|
||||
ref,
|
||||
reactive
|
||||
} from 'vue';
|
||||
import sheep from '@/sheep';
|
||||
import {
|
||||
onReady
|
||||
} from '@dcloudio/uni-app';
|
||||
import {
|
||||
reactive
|
||||
} from 'vue';
|
||||
const userInfo = computed(() => sheep.$store('user').userInfo);
|
||||
import SignInApi from '@/sheep/api/member/signin';
|
||||
|
||||
const headerBg = sheep.$url.css('/static/img/shop/app/sign.png');
|
||||
@ -198,6 +233,7 @@
|
||||
return;
|
||||
}
|
||||
state.signConfigList = data;
|
||||
|
||||
if (data.length > 0) {
|
||||
state.maxDay = data[data.length - 1].day;
|
||||
}
|
||||
@ -396,7 +432,7 @@
|
||||
font-size: 34rpx;
|
||||
font-weight: bold;
|
||||
// color: var(--ui-BG-Main);
|
||||
color: #ff6000;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
@ -493,9 +529,9 @@
|
||||
height: 56rpx;
|
||||
}
|
||||
|
||||
.on {
|
||||
background-color: #999 !important;
|
||||
}
|
||||
// .on {
|
||||
// background-color: #999 !important;
|
||||
// }
|
||||
|
||||
.new-bg {
|
||||
position: relative;
|
||||
@ -508,7 +544,7 @@
|
||||
color: white;
|
||||
font-size: 20px;
|
||||
position: absolute;
|
||||
top: 26px;
|
||||
top: 50px;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
}
|
||||
@ -529,80 +565,188 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
.new-main{
|
||||
top:-57px;
|
||||
position:relative;
|
||||
|
||||
.new-main {
|
||||
top: -57px;
|
||||
position: relative;
|
||||
|
||||
.sign-list {
|
||||
width: 80%;
|
||||
width: 86%;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
background: white;
|
||||
border-radius: 18px;
|
||||
|
||||
.new-top {
|
||||
display:flex;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-bottom:10px;
|
||||
margin-bottom: 10px;
|
||||
|
||||
.left {
|
||||
color:rgba(35,24,21,1);
|
||||
font-size:25px;
|
||||
font-weight:700;
|
||||
.number{
|
||||
color:rgba(255,110,16);
|
||||
color: rgba(35, 24, 21, 1);
|
||||
font-size: 19px;
|
||||
font-weight: 700;
|
||||
|
||||
.number {
|
||||
color: rgba(255, 110, 16);
|
||||
margin: 0 5px;
|
||||
}
|
||||
}
|
||||
|
||||
.right {
|
||||
padding:5px 10px;
|
||||
color:white;
|
||||
font-size:20px;
|
||||
background:rgba(255,139,43);
|
||||
padding: 5px 10px;
|
||||
color: white;
|
||||
font-size: 14px;
|
||||
background: rgba(255, 139, 43);
|
||||
width: 62px;
|
||||
border-radius: 20px;
|
||||
text-align: center;
|
||||
|
||||
&.on {
|
||||
background: #ffe6de;
|
||||
color: black;
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.new-bottom {
|
||||
display:flex;
|
||||
flex-wrap:wrap;
|
||||
.new-list {
|
||||
padding:5px 5px;
|
||||
background: rgba(255,247,239);
|
||||
width:33%;
|
||||
border-radius:12px;
|
||||
.t {
|
||||
width:100%;
|
||||
color:black;
|
||||
text-align:center;
|
||||
}
|
||||
width: 100%;
|
||||
|
||||
.c {
|
||||
width:100%;
|
||||
margin:5px 0;
|
||||
.img{
|
||||
width:50px;
|
||||
height:50px;
|
||||
display:block;
|
||||
margin:0 auto;
|
||||
.new-l {
|
||||
padding: 5px;
|
||||
float: left;
|
||||
width: 21.9%;
|
||||
|
||||
.new-list {
|
||||
padding: 5px 5px;
|
||||
background: rgba(255, 247, 239);
|
||||
border-radius: 12px;
|
||||
|
||||
&.on {
|
||||
background: rgba(255, 121, 48);
|
||||
|
||||
.t,
|
||||
.b {
|
||||
color: white;
|
||||
}
|
||||
|
||||
.c {
|
||||
.img {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.img2 {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.t {
|
||||
width: 100%;
|
||||
color: black;
|
||||
text-align: center;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.c {
|
||||
width: 100%;
|
||||
margin: 5px 0;
|
||||
|
||||
.img {
|
||||
width: 25px;
|
||||
height: 25px;
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.img2 {
|
||||
width: 25px;
|
||||
height: 25px;
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.b {
|
||||
width: 100%;
|
||||
color: rgba(176, 144, 122);
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
||||
.b {
|
||||
width:100%;
|
||||
color:rgba(176,144,122);
|
||||
text-align:center;
|
||||
.new-7 {
|
||||
position: relative;
|
||||
width: 134px;
|
||||
padding: 5px 10px;
|
||||
padding-bottom: 0;
|
||||
height: 80px;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
|
||||
.c {
|
||||
.img {
|
||||
width: 58px;
|
||||
height: 58px;
|
||||
/* display: block; */
|
||||
margin: 0 auto;
|
||||
top: 50%;
|
||||
left: 70%;
|
||||
transform: translate(-50%, -50%);
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.img2 {
|
||||
width: 58px;
|
||||
height: 58px;
|
||||
/* display: block; */
|
||||
margin: 0 auto;
|
||||
top: 50%;
|
||||
left: 70%;
|
||||
transform: translate(-50%, -50%);
|
||||
position: absolute;
|
||||
}
|
||||
}
|
||||
|
||||
.t,
|
||||
.b {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.t {
|
||||
height: 41%;
|
||||
}
|
||||
|
||||
.b {}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.new-qdsm {
|
||||
.t {}
|
||||
width: 86%;
|
||||
margin: 0 auto;
|
||||
margin-top: 20px;
|
||||
padding: 20px;
|
||||
background: white;
|
||||
border-radius: 18px;
|
||||
|
||||
.tt {}
|
||||
.t {
|
||||
font-size: 20px;
|
||||
color: black;
|
||||
font-weight: 700;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.tt {
|
||||
color: rgba(125, 125, 125);
|
||||
margin-bottom: 3px;
|
||||
line-height: 26px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
@ -1,125 +1,191 @@
|
||||
<!-- 分销账户:展示基本统计信息 -->
|
||||
<template>
|
||||
<view class="account-card">
|
||||
<view class="account-card-box">
|
||||
<view class="ss-flex ss-row-between card-box-header">
|
||||
<view class="ss-flex">
|
||||
<view class="header-title ss-m-r-16">账户信息</view>
|
||||
<button
|
||||
class="ss-reset-button look-btn ss-flex"
|
||||
@tap="state.showMoney = !state.showMoney"
|
||||
>
|
||||
<uni-icons
|
||||
:type="state.showMoney ? 'eye-filled' : 'eye-slash-filled'"
|
||||
color="#A57A55"
|
||||
size="20"
|
||||
/>
|
||||
</button>
|
||||
</view>
|
||||
<view class="ss-flex" @tap="sheep.$router.go('/pages/commission/wallet')">
|
||||
<view class="header-title ss-m-r-4">查看明细</view>
|
||||
<text class="cicon-play-arrow" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="new-main">
|
||||
<view class="account-card">
|
||||
<view class="account-card-box">
|
||||
<view class="ss-flex ss-row-between card-box-header">
|
||||
<view class="ss-flex">
|
||||
<!-- <view class="header-title ss-m-r-16">账户信息</view> -->
|
||||
<button class="ss-reset-button look-btn ss-flex" @tap="state.showMoney = !state.showMoney">
|
||||
<uni-icons :type="state.showMoney ? 'eye-filled' : 'eye-slash-filled'" color="#A57A55"
|
||||
size="20" />
|
||||
</button>
|
||||
</view>
|
||||
<view class="ss-flex" @tap="sheep.$router.go('/pages/commission/wallet')">
|
||||
<view class="header-title ss-m-r-4">提现记录</view>
|
||||
<text class="cicon-play-arrow" />
|
||||
</view>
|
||||
</view>
|
||||
<!-- 提现金额 -->
|
||||
<view class="ss-flex new-cont">
|
||||
<view class="ss-flex-1 ss-flex-col ">
|
||||
<view class="item-title">可提现(元)</view>
|
||||
<view class="item-detail">
|
||||
{{ state.showMoney ? fen2yuan(state.brokerageInfo.brokeragePrice) : '***' }}
|
||||
</view>
|
||||
</view>
|
||||
<view class="ss-flex-1 ss-flex-col ss-col-center new-btn"
|
||||
@tap="sheep.$router.go('/pages/commission/withdraw')"
|
||||
>
|
||||
立即提现
|
||||
</view>
|
||||
</view>
|
||||
<!-- 收益 -->
|
||||
<view class="card-content ss-flex">
|
||||
<view class="ss-flex-1 ss-flex-col ss-col-center">
|
||||
<view class="item-title">当前收益(元)</view>
|
||||
<view class="item-detail">
|
||||
{{ state.showMoney ? fen2yuan(state.summary.brokeragePrice || 0) : '***' }}
|
||||
</view>
|
||||
</view>
|
||||
<view class="ss-flex-1 ss-flex-col ss-col-center">
|
||||
<view class="item-title">昨天收益(元)</view>
|
||||
<view class="item-detail">
|
||||
{{ state.showMoney ? fen2yuan(state.summary.yesterdayPrice || 0) : '***' }}
|
||||
</view>
|
||||
</view>
|
||||
<view class="ss-flex-1 ss-flex-col ss-col-center">
|
||||
<view class="item-title">累计已提(元)</view>
|
||||
<view class="item-detail">
|
||||
{{ state.showMoney ? fen2yuan(state.summary.withdrawPrice || 0) : '***' }}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 收益 -->
|
||||
<view class="card-content ss-flex">
|
||||
<view class="ss-flex-1 ss-flex-col ss-col-center">
|
||||
<view class="item-title">当前佣金(元)</view>
|
||||
<view class="item-detail">
|
||||
{{ state.showMoney ? fen2yuan(state.summary.brokeragePrice || 0) : '***' }}
|
||||
</view>
|
||||
</view>
|
||||
<view class="ss-flex-1 ss-flex-col ss-col-center">
|
||||
<view class="item-title">昨天的佣金(元)</view>
|
||||
<view class="item-detail">
|
||||
{{ state.showMoney ? fen2yuan(state.summary.yesterdayPrice || 0) : '***' }}
|
||||
</view>
|
||||
</view>
|
||||
<view class="ss-flex-1 ss-flex-col ss-col-center">
|
||||
<view class="item-title">累计已提(元)</view>
|
||||
<view class="item-detail">
|
||||
{{ state.showMoney ? fen2yuan(state.summary.withdrawPrice || 0) : '***' }}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import sheep from '@/sheep';
|
||||
import { computed, reactive, onMounted } from 'vue';
|
||||
import BrokerageApi from '@/sheep/api/trade/brokerage';
|
||||
import { fen2yuan } from '@/sheep/hooks/useGoods';
|
||||
import sheep from '@/sheep';
|
||||
import {
|
||||
computed,
|
||||
reactive,
|
||||
onMounted,
|
||||
onBeforeMount
|
||||
} from 'vue';
|
||||
import BrokerageApi from '@/sheep/api/trade/brokerage';
|
||||
import {
|
||||
fen2yuan
|
||||
} from '@/sheep/hooks/useGoods';
|
||||
|
||||
const userInfo = computed(() => sheep.$store('user').userInfo);
|
||||
const userInfo = computed(() => sheep.$store('user').userInfo);
|
||||
|
||||
const state = reactive({
|
||||
showMoney: false,
|
||||
summary: {},
|
||||
});
|
||||
const state = reactive({
|
||||
showMoney: false,
|
||||
summary: {},
|
||||
brokerageInfo: {}, // 分销信息
|
||||
arr:{}
|
||||
});
|
||||
|
||||
onMounted(async () => {
|
||||
let { code, data } = await BrokerageApi.getBrokerageUserSummary();
|
||||
if (code === 0) {
|
||||
state.summary = data || {};
|
||||
}
|
||||
});
|
||||
// 获得分销信息
|
||||
async function getBrokerageUser() {
|
||||
const { data, code } = await BrokerageApi.getBrokerageUser();
|
||||
if (code === 0) {
|
||||
state.brokerageInfo = data;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
onMounted(async () => {
|
||||
let {
|
||||
code,
|
||||
data
|
||||
} = await BrokerageApi.getBrokerageUserSummary();
|
||||
if (code === 0) {
|
||||
state.summary = data || {};
|
||||
}
|
||||
});
|
||||
onBeforeMount(() => {
|
||||
getBrokerageUser();
|
||||
});
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.account-card {
|
||||
width: 694rpx;
|
||||
margin: 0 auto;
|
||||
padding: 2rpx;
|
||||
background: linear-gradient(180deg, #ffffff 0.88%, #fff9ec 100%);
|
||||
border-radius: 12rpx;
|
||||
z-index: 3;
|
||||
position: relative;
|
||||
.new-main{
|
||||
width: 100%;
|
||||
}
|
||||
.account-card {
|
||||
width: 694rpx;
|
||||
margin: 0 auto;
|
||||
padding: 2rpx;
|
||||
// background: linear-gradient(180deg, #ffffff 0.88%, #fff9ec 100%);
|
||||
border-radius: 12rpx 12rpx 0 0;
|
||||
z-index: 3;
|
||||
position: relative;
|
||||
background: url('https://zysc.fjptzykj.com:3000/shangcheng/02ee19a89858e3b1cf0de82867fb06f3ae7f57511130d0167205a97b99b796c7.png') no-repeat;
|
||||
background-size: cover;
|
||||
|
||||
.account-card-box {
|
||||
background: #ffefd6;
|
||||
|
||||
.card-box-header {
|
||||
padding: 0 30rpx;
|
||||
height: 72rpx;
|
||||
box-shadow: 0px 2px 6px #f2debe;
|
||||
|
||||
.header-title {
|
||||
font-size: 24rpx;
|
||||
font-weight: 500;
|
||||
color: #a17545;
|
||||
line-height: 30rpx;
|
||||
}
|
||||
.account-card-box {
|
||||
|
||||
.cicon-play-arrow {
|
||||
color: #a17545;
|
||||
font-size: 24rpx;
|
||||
line-height: 30rpx;
|
||||
}
|
||||
}
|
||||
// background: #ffefd6;
|
||||
.new-cont {
|
||||
padding: 0 45rpx;
|
||||
|
||||
.card-content {
|
||||
height: 190rpx;
|
||||
background: #fdfae9;
|
||||
.new-btn {
|
||||
background: rgba(254, 104, 73);
|
||||
border-radius: 22px;
|
||||
padding: 8px 0;
|
||||
font-size: 16px;
|
||||
color: white;
|
||||
font-weight:700;
|
||||
}
|
||||
|
||||
.item-title {
|
||||
font-size: 24rpx;
|
||||
font-weight: 500;
|
||||
color: #cba67e;
|
||||
line-height: 30rpx;
|
||||
margin-bottom: 24rpx;
|
||||
}
|
||||
.item-title {
|
||||
color: rgba(139, 105, 87, 1);
|
||||
}
|
||||
|
||||
.item-detail {
|
||||
font-size: 36rpx;
|
||||
font-family: OPPOSANS;
|
||||
font-weight: bold;
|
||||
color: #692e04;
|
||||
line-height: 30rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.item-detail {
|
||||
color: rgba(81, 41, 24, 1);
|
||||
font-size: 31px;
|
||||
}
|
||||
}
|
||||
|
||||
.card-box-header {
|
||||
padding: 0 45rpx;
|
||||
height: 72rpx;
|
||||
// box-shadow: 0px 2px 6px #f2debe;
|
||||
|
||||
.header-title {
|
||||
font-size: 24rpx;
|
||||
font-weight: 500;
|
||||
color: #a17545;
|
||||
line-height: 30rpx;
|
||||
}
|
||||
|
||||
.cicon-play-arrow {
|
||||
color: #a17545;
|
||||
font-size: 24rpx;
|
||||
line-height: 30rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.card-content {
|
||||
height: 190rpx;
|
||||
// background: #fdfae9;
|
||||
|
||||
.item-title {
|
||||
font-size: 24rpx;
|
||||
font-weight: 500;
|
||||
color: rgba(139, 105, 87, 1);
|
||||
line-height: 30rpx;
|
||||
margin-bottom: 24rpx;
|
||||
}
|
||||
|
||||
.item-detail {
|
||||
font-size: 36rpx;
|
||||
font-family: OPPOSANS;
|
||||
font-weight: bold;
|
||||
color: #692e04;
|
||||
line-height: 30rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
@ -1,112 +1,226 @@
|
||||
<!-- 分销商信息 -->
|
||||
<template>
|
||||
<!-- 用户资料 -->
|
||||
<view class="user-card ss-flex ss-col-bottom">
|
||||
<view class="card-top ss-flex ss-row-between">
|
||||
<view class="ss-flex">
|
||||
<view class="head-img-box">
|
||||
<image class="head-img" :src="sheep.$url.cdn(userInfo.avatar)" mode="aspectFill"></image>
|
||||
</view>
|
||||
<view class="ss-flex-col">
|
||||
<view class="user-name">{{ userInfo.nickname }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 用户资料 -->
|
||||
<view class="user-card ss-flex ss-col-bottom">
|
||||
<view class="card-top ss-flex ss-row-between">
|
||||
<view class="ss-flex">
|
||||
<view class="head-img-box">
|
||||
<image class="head-img" :src="sheep.$url.cdn(userInfo.avatar)" mode="aspectFill"></image>
|
||||
</view>
|
||||
<view class="ss-flex-col">
|
||||
<view class="user-name" style="color:white;">{{ userInfo.nickname }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 账户信息 -->
|
||||
<account-info style="margin: 0 auto;" />
|
||||
</view>
|
||||
<view class="new-ljsy">
|
||||
<view class="l dd">
|
||||
<view class="l-img">
|
||||
<image src="https://zysc.fjptzykj.com:3000/shangcheng/a2aba0242cd2b7ec54518e2ec11651fba3154b5dff9bcd6323cbfa22d771a970.png" class="img"></image>
|
||||
</view>
|
||||
<view class="l-text">
|
||||
<view class="l-text-t">
|
||||
{{
|
||||
fen2yuan(state.summary.withdrawPrice || 0)
|
||||
}}
|
||||
</view>
|
||||
<view class="l-text-b">
|
||||
累计收益(元)
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="l r" @click="sheep.$router.go('/pages/commission/team')">
|
||||
<view class="l-img">
|
||||
<image src="https://zysc.fjptzykj.com:3000/shangcheng/e940fb45cc53df01980b7069432d5101e104014fbb3cd24862d08c1ffba9df68.png" class="img"></image>
|
||||
</view>
|
||||
<view class="l-text">
|
||||
<view class="l-text-t">
|
||||
{{
|
||||
state.arr.firstBrokerageUserCount + state.arr.secondBrokerageUserCount ||
|
||||
0
|
||||
}}
|
||||
</view>
|
||||
<view class="l-text-b">
|
||||
我的团队
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import sheep from '@/sheep';
|
||||
import { computed, reactive } from 'vue';
|
||||
import accountInfo from './account-info.vue';
|
||||
import sheep from '@/sheep';
|
||||
import BrokerageApi from '@/sheep/api/trade/brokerage';
|
||||
import {
|
||||
computed,
|
||||
reactive,
|
||||
onBeforeMount
|
||||
} from 'vue';
|
||||
import {
|
||||
fen2yuan
|
||||
} from '@/sheep/hooks/useGoods';
|
||||
const userInfo = computed(() => sheep.$store('user').userInfo);
|
||||
const headerBg = sheep.$url.css('/static/img/shop/commission/background.png');
|
||||
|
||||
const userInfo = computed(() => sheep.$store('user').userInfo);
|
||||
const headerBg = sheep.$url.css('/static/img/shop/commission/background.png');
|
||||
|
||||
const state = reactive({
|
||||
showMoney: false,
|
||||
});
|
||||
const state = reactive({
|
||||
showMoney: false,
|
||||
summary:{},
|
||||
arr:{}
|
||||
});
|
||||
|
||||
async function getAgentInfo() {
|
||||
const { code, data } = await BrokerageApi.getBrokerageUserSummary();
|
||||
if (code !== 0) {
|
||||
return;
|
||||
}
|
||||
state.summary = data;
|
||||
}
|
||||
onBeforeMount(async() => {
|
||||
getAgentInfo();
|
||||
// 概要数据
|
||||
let { data } = await BrokerageApi.getBrokerageUserSummary();
|
||||
state.arr = data;
|
||||
});
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
// 用户资料卡片
|
||||
.user-card {
|
||||
width: 690rpx;
|
||||
height: 192rpx;
|
||||
margin: -88rpx 20rpx 0 20rpx;
|
||||
padding-top: 88rpx;
|
||||
background: url('https://zysc.fjptzykj.com:3000/shangcheng/10c7d7a9afb36266f658e5f398922b835530cb350ef98cf90d4ef6f60ccc1bc1.png') no-repeat;
|
||||
background-size: 100% 100%;
|
||||
.new-ljsy {
|
||||
width:100%;
|
||||
background:white;
|
||||
padding: 20px 0;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
.l {
|
||||
background: rgba(254,244,237,1);
|
||||
// background:url('https://zysc.fjptzykj.com/admin-api/infra/file/25/get/8e878e15d22f68e0187a953aeba31b80423b7e3fafa8e4aa9f237477ac0fd519.png') rgba(254,244,237,1);
|
||||
width:43%;
|
||||
height:85px;
|
||||
border-radius: 12px;
|
||||
background-size: cover;
|
||||
// position:relative;
|
||||
display:flex;
|
||||
align-items:center;
|
||||
justify-content: center;
|
||||
&.dd{
|
||||
margin-right: 5%;
|
||||
}
|
||||
.l-text{
|
||||
// position:absolute;
|
||||
// top:50%;
|
||||
// transform: translateY(-50%);
|
||||
// left:70px;
|
||||
.l-text-t{
|
||||
font-size:20px;
|
||||
font-weight: 700;
|
||||
}
|
||||
.l-text-b{
|
||||
font-size: 13px;
|
||||
}
|
||||
}
|
||||
.l-img{
|
||||
width:40px;
|
||||
height:40px;
|
||||
margin-right:10px;
|
||||
.img{
|
||||
width:100%;
|
||||
height:100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.head-img-box {
|
||||
margin-right: 20rpx;
|
||||
width: 100rpx;
|
||||
height: 100rpx;
|
||||
border-radius: 50%;
|
||||
position: relative;
|
||||
background: #fce0ad;
|
||||
.r {
|
||||
// background:url('https://zysc.fjptzykj.com/admin-api/infra/file/25/get/b18f31e528ad0ab1026441faba07cb9e64723ffa511d103324fcd65fcaaf1557.png') rgba(254,244,237,1);
|
||||
// background-size: cover;
|
||||
.l-text{
|
||||
// left:80px;
|
||||
}
|
||||
}
|
||||
}
|
||||
// 用户资料卡片
|
||||
.user-card {
|
||||
width: 100%;
|
||||
height: 580rpx;
|
||||
// margin: -88rpx 20rpx 0 20rpx;
|
||||
// background: url('https://zysc.fjptzykj.com:3000/shangcheng/10c7d7a9afb36266f658e5f398922b835530cb350ef98cf90d4ef6f60ccc1bc1.png') no-repeat;
|
||||
background: url('https://zysc.fjptzykj.com:3000/shangcheng/4bcaa2803c9cc953353d22db804b952b333e97d2a0d57266a00baf0c07379efa.png') no-repeat;
|
||||
background-size: 100% 100%;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
|
||||
.head-img {
|
||||
width: 92rpx;
|
||||
height: 92rpx;
|
||||
border-radius: 50%;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
}
|
||||
}
|
||||
.head-img-box {
|
||||
margin-right: 20rpx;
|
||||
width: 62rpx;
|
||||
height: 62rpx;
|
||||
border-radius: 50%;
|
||||
position: relative;
|
||||
background: #fce0ad;
|
||||
|
||||
.card-top {
|
||||
box-sizing: border-box;
|
||||
padding-bottom: 34rpx;
|
||||
.head-img {
|
||||
width: 62rpx;
|
||||
height: 62rpx;
|
||||
border-radius: 50%;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
}
|
||||
}
|
||||
|
||||
.user-name {
|
||||
font-size: 32rpx;
|
||||
font-weight: bold;
|
||||
color: #692e04;
|
||||
line-height: 30rpx;
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
.card-top {
|
||||
box-sizing: border-box;
|
||||
margin-top: 46px;
|
||||
margin-left: 16px;
|
||||
|
||||
.log-btn {
|
||||
width: 84rpx;
|
||||
height: 42rpx;
|
||||
border: 2rpx solid rgba(#ffffff, 0.33);
|
||||
border-radius: 21rpx;
|
||||
font-size: 22rpx;
|
||||
font-weight: 400;
|
||||
color: #ffffff;
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
.user-name {
|
||||
font-size: 32rpx;
|
||||
font-weight: bold;
|
||||
color: #692e04;
|
||||
line-height: 30rpx;
|
||||
}
|
||||
|
||||
.look-btn {
|
||||
color: #fff;
|
||||
width: 40rpx;
|
||||
height: 40rpx;
|
||||
}
|
||||
}
|
||||
.log-btn {
|
||||
width: 84rpx;
|
||||
height: 42rpx;
|
||||
border: 2rpx solid rgba(#ffffff, 0.33);
|
||||
border-radius: 21rpx;
|
||||
font-size: 22rpx;
|
||||
font-weight: 400;
|
||||
color: #ffffff;
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
|
||||
.user-info-box {
|
||||
.tag-box {
|
||||
background: #ff6000;
|
||||
border-radius: 18rpx;
|
||||
line-height: 36rpx;
|
||||
.look-btn {
|
||||
color: #fff;
|
||||
width: 40rpx;
|
||||
height: 40rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.tag-img {
|
||||
width: 36rpx;
|
||||
height: 36rpx;
|
||||
border-radius: 50%;
|
||||
margin-left: -2rpx;
|
||||
}
|
||||
.user-info-box {
|
||||
.tag-box {
|
||||
background: #ff6000;
|
||||
border-radius: 18rpx;
|
||||
line-height: 36rpx;
|
||||
|
||||
.tag-title {
|
||||
font-size: 24rpx;
|
||||
padding: 0 10rpx;
|
||||
font-weight: 500;
|
||||
line-height: 36rpx;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.tag-img {
|
||||
width: 36rpx;
|
||||
height: 36rpx;
|
||||
border-radius: 50%;
|
||||
margin-left: -2rpx;
|
||||
}
|
||||
|
||||
.tag-title {
|
||||
font-size: 24rpx;
|
||||
padding: 0 10rpx;
|
||||
font-weight: 500;
|
||||
line-height: 36rpx;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
@ -1,147 +1,226 @@
|
||||
<!-- 分销:商菜单栏 -->
|
||||
<template>
|
||||
<view class="menu-box ss-flex-col">
|
||||
<view class="header-box">
|
||||
<image class="header-bg" src="https://zysc.fjptzykj.com:3000/shangcheng/eb9244a1f0662a699869d47287a477bd16147030ff25c9573395036192b86d91.png" />
|
||||
<view class="ss-flex header-title">
|
||||
<view class="title">功能专区</view>
|
||||
<text class="cicon-forward"></text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="menu-list ss-flex ss-flex-wrap">
|
||||
<view
|
||||
v-for="(item, index) in state.menuList"
|
||||
:key="index"
|
||||
class="item-box ss-flex-col ss-col-center"
|
||||
@tap="sheep.$router.go(item.path)"
|
||||
>
|
||||
<image
|
||||
class="menu-icon ss-m-b-10"
|
||||
:src="sheep.$url.static(item.img)"
|
||||
mode="aspectFill"
|
||||
></image>
|
||||
<view>{{ item.title }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="ss-flex-col new-menu">
|
||||
<view class="new-menu-list">
|
||||
<view class="new-menu-item" v-for="(item, index) in state.menuListnew" :key="index"
|
||||
@tap="sheep.$router.go(item.path)">
|
||||
<view class="l">
|
||||
<image class="menu-icon " :src="sheep.$url.static(item.img)" mode="aspectFill"></image>
|
||||
<view>{{ item.title }}</view>
|
||||
</view>
|
||||
<view class="r">
|
||||
<image class="menu-icon-you" src="@/static/images/dayu.png" mode="aspectFill"></image>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- <view class="menu-box ss-flex-col">
|
||||
<view class="header-box">
|
||||
<image class="header-bg"
|
||||
src="https://zysc.fjptzykj.com:3000/shangcheng/eb9244a1f0662a699869d47287a477bd16147030ff25c9573395036192b86d91.png" />
|
||||
<view class="ss-flex header-title">
|
||||
<view class="title">功能专区</view>
|
||||
<text class="cicon-forward"></text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="menu-list ss-flex ss-flex-wrap">
|
||||
<view v-for="(item, index) in state.menuList" :key="index" class="item-box ss-flex-col ss-col-center"
|
||||
@tap="sheep.$router.go(item.path)">
|
||||
<image class="menu-icon ss-m-b-10" :src="sheep.$url.static(item.img)" mode="aspectFill"></image>
|
||||
<view>{{ item.title }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view> -->
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import sheep from '@/sheep';
|
||||
import { reactive } from 'vue';
|
||||
import sheep from '@/sheep';
|
||||
import {
|
||||
reactive
|
||||
} from 'vue';
|
||||
|
||||
const state = reactive({
|
||||
menuList: [
|
||||
{
|
||||
img: 'https://zysc.fjptzykj.com:3000/shangcheng/ec41e4f5b45c087232aab8d088019a1e9d781b9bde0f54ddbb18e90230b83255.png',
|
||||
title: '我的团队',
|
||||
path: '/pages/commission/team',
|
||||
},
|
||||
{
|
||||
img: 'https://zysc.fjptzykj.com:3000/shangcheng/228c9cd847514f99ca1181b4d413c24e482ab46459a557e3b934facb32ab546d.png',
|
||||
title: '佣金明细',
|
||||
path: '/pages/commission/wallet',
|
||||
},
|
||||
{
|
||||
img: 'https://zysc.fjptzykj.com:3000/shangcheng/bb763f93be24f6d5c8c2948e512b95597d748f576277cc2d91f452fb3741e5a3.png',
|
||||
title: '分销订单',
|
||||
path: '/pages/commission/order',
|
||||
},
|
||||
{
|
||||
img: 'https://zysc.fjptzykj.com:3000/shangcheng/326f6fe148cd6c8328297731bd63674a3a86340f937dfd1a376e435e34b5073e.png',
|
||||
title: '推广商品',
|
||||
path: '/pages/commission/goods',
|
||||
},
|
||||
// {
|
||||
// img: 'https://zysc.fjptzykj.com:3000/shangcheng/fe729044c3c0874d93435151bb204dede3d1dfbc0e2d03d09e2f76534e7cb8ba.png',
|
||||
// title: '我的资料',
|
||||
// path: '/pages/commission/apply',
|
||||
// isAgentFrom: true,
|
||||
// },
|
||||
// todo @芋艿:邀请海报需要登录后的个人数据
|
||||
{
|
||||
img: 'https://zysc.fjptzykj.com:3000/shangcheng/f238f60d6e45080cdbbd294c344d3e2fc3a30c34ccb9345e931b0c5aa9e90645.png',
|
||||
title: '邀请海报',
|
||||
path: 'action:showShareModal',
|
||||
},
|
||||
// TODO @芋艿:缺少 icon
|
||||
{
|
||||
img: 'https://zysc.fjptzykj.com:3000/shangcheng/d6bc7dbec1333e554a4781cbfae023e590a555dfca12784615023ae43bd2bf46.png',
|
||||
title: '推广排行',
|
||||
path: '/pages/commission/promoter',
|
||||
},
|
||||
{
|
||||
img: 'https://zysc.fjptzykj.com:3000/shangcheng/4332d64835bb4aedc05636950f7cd7dcbab085f0f72f42eee4d87799947a7108.png',
|
||||
title: '佣金排行',
|
||||
path: '/pages/commission/commission-ranking',
|
||||
},
|
||||
],
|
||||
});
|
||||
const state = reactive({
|
||||
menuListnew: [{
|
||||
img: 'https://zysc.fjptzykj.com:3000/shangcheng/82255ab9cb8fa91b261a1976c81a7c761c34a8aa3d3fc12864b3b83158d22267.png',
|
||||
title: '推广名片',
|
||||
path: 'action:showShareModal',
|
||||
},
|
||||
{
|
||||
img: 'https://zysc.fjptzykj.com:3000/shangcheng/3aca872c5c25923b883b98364ca7525bcb7d176cf89769bab429fed090c75adb.png',
|
||||
title: '佣金明细',
|
||||
path: '/pages/commission/wallet',
|
||||
},
|
||||
{
|
||||
img: 'https://zysc.fjptzykj.com:3000/shangcheng/512aaaf15aeedc1fd5ad6dc14161d83a4c4ecee33ae2428986c8ecbf0c420fa7.png',
|
||||
title: '分销订单',
|
||||
path: '/pages/commission/order',
|
||||
},
|
||||
{
|
||||
img: 'https://zysc.fjptzykj.com:3000/shangcheng/6b61f1357f2f5a4a211c0bb4bac3d85c6e85958e0bfd04d0045d6c83e98085b7.png',
|
||||
title: '推广商品',
|
||||
path: '/pages/commission/goods',
|
||||
},
|
||||
{
|
||||
img: 'https://zysc.fjptzykj.com:3000/shangcheng/e488e0f84bd4da1edfe75ccfbcc16acf8c60073409f03406bb350573b43769a8.png',
|
||||
title: '推广排行',
|
||||
path: '/pages/commission/promoter',
|
||||
},
|
||||
{
|
||||
img: 'https://zysc.fjptzykj.com:3000/shangcheng/28d6bf4595172ed0a1cdc693483eef018f7f1242be35106bb12ce3ca21940753.png',
|
||||
title: '佣金排行',
|
||||
path: '/pages/commission/commission-ranking',
|
||||
},
|
||||
],
|
||||
menuList: [{
|
||||
img: 'https://zysc.fjptzykj.com:3000/shangcheng/ec41e4f5b45c087232aab8d088019a1e9d781b9bde0f54ddbb18e90230b83255.png',
|
||||
title: '我的团队',
|
||||
path: '/pages/commission/team',
|
||||
},
|
||||
{
|
||||
img: 'https://zysc.fjptzykj.com:3000/shangcheng/228c9cd847514f99ca1181b4d413c24e482ab46459a557e3b934facb32ab546d.png',
|
||||
title: '佣金明细',
|
||||
path: '/pages/commission/wallet',
|
||||
},
|
||||
{
|
||||
img: 'https://zysc.fjptzykj.com:3000/shangcheng/bb763f93be24f6d5c8c2948e512b95597d748f576277cc2d91f452fb3741e5a3.png',
|
||||
title: '分销订单',
|
||||
path: '/pages/commission/order',
|
||||
},
|
||||
{
|
||||
img: 'https://zysc.fjptzykj.com:3000/shangcheng/326f6fe148cd6c8328297731bd63674a3a86340f937dfd1a376e435e34b5073e.png',
|
||||
title: '推广商品',
|
||||
path: '/pages/commission/goods',
|
||||
},
|
||||
// {
|
||||
// img: 'https://zysc.fjptzykj.com:3000/shangcheng/fe729044c3c0874d93435151bb204dede3d1dfbc0e2d03d09e2f76534e7cb8ba.png',
|
||||
// title: '我的资料',
|
||||
// path: '/pages/commission/apply',
|
||||
// isAgentFrom: true,
|
||||
// },
|
||||
// todo @芋艿:邀请海报需要登录后的个人数据
|
||||
{
|
||||
img: 'https://zysc.fjptzykj.com:3000/shangcheng/f238f60d6e45080cdbbd294c344d3e2fc3a30c34ccb9345e931b0c5aa9e90645.png',
|
||||
title: '邀请海报',
|
||||
path: 'action:showShareModal',
|
||||
},
|
||||
// TODO @芋艿:缺少 icon
|
||||
{
|
||||
img: 'https://zysc.fjptzykj.com:3000/shangcheng/d6bc7dbec1333e554a4781cbfae023e590a555dfca12784615023ae43bd2bf46.png',
|
||||
title: '推广排行',
|
||||
path: '/pages/commission/promoter',
|
||||
},
|
||||
{
|
||||
img: 'https://zysc.fjptzykj.com:3000/shangcheng/4332d64835bb4aedc05636950f7cd7dcbab085f0f72f42eee4d87799947a7108.png',
|
||||
title: '佣金排行',
|
||||
path: '/pages/commission/commission-ranking',
|
||||
},
|
||||
],
|
||||
});
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.menu-box {
|
||||
margin: 0 auto;
|
||||
width: 690rpx;
|
||||
margin-bottom: 20rpx;
|
||||
margin-top: 20rpx;
|
||||
border-radius: 12rpx;
|
||||
z-index: 3;
|
||||
position: relative;
|
||||
}
|
||||
.new-menu {
|
||||
width: 100%;
|
||||
background: white;
|
||||
|
||||
.header-box {
|
||||
width: 690rpx;
|
||||
height: 76rpx;
|
||||
position: relative;
|
||||
.new-menu-list {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
padding: 0 20px;
|
||||
|
||||
.header-bg {
|
||||
width: 690rpx;
|
||||
height: 76rpx;
|
||||
}
|
||||
.new-menu-item {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
width: 100%;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
margin-bottom:19px;
|
||||
.l {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
width: 50%;
|
||||
.menu-icon{
|
||||
margin-right: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.header-title {
|
||||
position: absolute;
|
||||
left: 20rpx;
|
||||
top: 24rpx;
|
||||
}
|
||||
.r {
|
||||
width: 4%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: 28rpx;
|
||||
font-weight: 500;
|
||||
color: #ffffff;
|
||||
line-height: 30rpx;
|
||||
}
|
||||
.menu-box {
|
||||
margin: 0 auto;
|
||||
width: 690rpx;
|
||||
margin-bottom: 20rpx;
|
||||
margin-top: 20rpx;
|
||||
border-radius: 12rpx;
|
||||
z-index: 3;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.cicon-forward {
|
||||
font-size: 30rpx;
|
||||
font-weight: 400;
|
||||
color: #ffffff;
|
||||
line-height: 30rpx;
|
||||
}
|
||||
}
|
||||
.header-box {
|
||||
width: 690rpx;
|
||||
height: 76rpx;
|
||||
position: relative;
|
||||
|
||||
.menu-list {
|
||||
padding: 50rpx 0 10rpx 0;
|
||||
background: #fdfae9;
|
||||
border-radius: 0 0 12rpx 12rpx;
|
||||
}
|
||||
.header-bg {
|
||||
width: 690rpx;
|
||||
height: 76rpx;
|
||||
}
|
||||
|
||||
.item-box {
|
||||
width: 25%;
|
||||
margin-bottom: 40rpx;
|
||||
}
|
||||
.header-title {
|
||||
position: absolute;
|
||||
left: 20rpx;
|
||||
top: 24rpx;
|
||||
}
|
||||
|
||||
.menu-icon {
|
||||
width: 68rpx;
|
||||
height: 68rpx;
|
||||
background: #ffffff;
|
||||
border-radius: 50%;
|
||||
}
|
||||
.title {
|
||||
font-size: 28rpx;
|
||||
font-weight: 500;
|
||||
color: #ffffff;
|
||||
line-height: 30rpx;
|
||||
}
|
||||
|
||||
.menu-title {
|
||||
font-size: 26rpx;
|
||||
font-weight: 500;
|
||||
color: #ffffff;
|
||||
}
|
||||
.cicon-forward {
|
||||
font-size: 30rpx;
|
||||
font-weight: 400;
|
||||
color: #ffffff;
|
||||
line-height: 30rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.menu-list {
|
||||
padding: 50rpx 0 10rpx 0;
|
||||
background: #fdfae9;
|
||||
border-radius: 0 0 12rpx 12rpx;
|
||||
}
|
||||
|
||||
.item-box {
|
||||
width: 25%;
|
||||
margin-bottom: 40rpx;
|
||||
}
|
||||
|
||||
.menu-icon {
|
||||
width: 45rpx;
|
||||
height: 45rpx;
|
||||
background: #ffffff;
|
||||
border-radius: 50%;
|
||||
}
|
||||
.menu-icon-you{
|
||||
width: 48rpx;
|
||||
height: 48rpx;
|
||||
}
|
||||
|
||||
.menu-title {
|
||||
font-size: 26rpx;
|
||||
font-weight: 500;
|
||||
color: #ffffff;
|
||||
}
|
||||
</style>
|
@ -1,20 +1,21 @@
|
||||
<!-- 分销中心 -->
|
||||
<template>
|
||||
<s-layout
|
||||
navbar="inner"
|
||||
navbar="custom"
|
||||
navbarMode="inner"
|
||||
class="index-wrap"
|
||||
title="分销中心"
|
||||
title=""
|
||||
:bgStyle="bgStyle"
|
||||
:onShareAppMessage="shareInfo"
|
||||
>
|
||||
<!-- 分销商信息 -->
|
||||
<commission-info />
|
||||
<!-- 账户信息 -->
|
||||
<account-info />
|
||||
<!-- <account-info /> -->
|
||||
<!-- 菜单栏 -->
|
||||
<commission-menu />
|
||||
<!-- 分销记录 -->
|
||||
<commission-log />
|
||||
<!-- <commission-log /> -->
|
||||
|
||||
<!-- 权限弹窗 -->
|
||||
<commission-auth />
|
||||
@ -24,7 +25,7 @@
|
||||
<script setup>
|
||||
import { computed } from 'vue';
|
||||
import commissionInfo from './components/commission-info.vue';
|
||||
import accountInfo from './components/account-info.vue';
|
||||
// import accountInfo from './components/account-info.vue';
|
||||
import commissionLog from './components/commission-log.vue';
|
||||
import commissionMenu from './components/commission-menu.vue';
|
||||
import commissionAuth from './components/commission-auth.vue';
|
||||
|
@ -201,13 +201,15 @@
|
||||
<style lang="scss" scoped>
|
||||
.card-btn {
|
||||
// width: 144rpx;
|
||||
padding: 0 16rpx;
|
||||
padding: 0 12rpx;
|
||||
height: 50rpx;
|
||||
border-radius: 40rpx;
|
||||
background: linear-gradient(90deg, var(--ui-BG-Main), var(--ui-BG-Main-gradient));
|
||||
color: #ffffff;
|
||||
font-size: 24rpx;
|
||||
font-weight: 400;
|
||||
flex: 1;
|
||||
margin: 0 10px;
|
||||
}
|
||||
|
||||
.border-btn {
|
||||
|
@ -110,7 +110,7 @@
|
||||
<view>原价购买</view>
|
||||
</button>
|
||||
<button class="ss-reset-button btn-tox ss-flex-col" @tap="onCreateGroupon" :class="
|
||||
state.activity.status === 0 && state.goodsInfo.stock !== 0
|
||||
state.activity.status === 0 && state.goodsInfo.stock !== 0 && state.activity.remainingPurchases != 0
|
||||
? 'check-btn-box'
|
||||
: 'disabled-btn-box'
|
||||
" :disabled="state.goodsInfo.stock === 0 || state.activity.status !== 0 || state.activity.remainingPurchases == 0">
|
||||
|
@ -604,20 +604,25 @@
|
||||
// position: relative;
|
||||
|
||||
// height: 41px;
|
||||
padding: 14px 13px;
|
||||
padding-bottom: 4px;
|
||||
padding-bottom: 4px;
|
||||
|
||||
.title-text {
|
||||
padding: 14px 13px;
|
||||
}
|
||||
}
|
||||
|
||||
.new-main {
|
||||
position: relative;
|
||||
top: -29px;
|
||||
.new-sub{
|
||||
|
||||
.new-sub {
|
||||
border-radius: 20px;
|
||||
position: relative;
|
||||
top: -29px;
|
||||
background: #f6f6f6;
|
||||
}
|
||||
}
|
||||
|
||||
.title-text {
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
|
@ -334,20 +334,40 @@
|
||||
// 检查库存 & 计算订单价格
|
||||
async function getOrderInfo() {
|
||||
// 计算价格
|
||||
const { data, code } = await OrderApi.settlementOrder({
|
||||
items: state.orderPayload.items,
|
||||
couponId: state.orderPayload.couponId,
|
||||
deliveryType: addressState.value.deliveryType,
|
||||
addressId: addressState.value.addressInfo.id, // 收件地址编号
|
||||
pickUpStoreId: addressState.value.pickUpInfo.id, //自提门店编号
|
||||
receiverName: addressState.value.receiverName, // 选择门店自提时,该字段为联系人名
|
||||
receiverMobile: addressState.value.receiverMobile, // 选择门店自提时,该字段为联系人手机
|
||||
pointStatus: state.pointStatus,
|
||||
combinationActivityId: state.orderPayload.combinationActivityId,
|
||||
combinationHeadId: state.orderPayload.combinationHeadId,
|
||||
seckillActivityId: state.orderPayload.seckillActivityId,
|
||||
pointActivityId: state.orderPayload.pointActivityId,
|
||||
});
|
||||
let parm = {};
|
||||
if(addressState.value.deliveryType == 4){
|
||||
parm = {
|
||||
items: state.orderPayload.items,
|
||||
couponId: state.orderPayload.couponId,
|
||||
deliveryType: addressState.value.deliveryType,
|
||||
addressId: addressState.value.addressInfo.id, // 收件地址编号
|
||||
pickUpStoreId: addressState.value.pickUpInfo.id, //自提门店编号
|
||||
receiverName: addressState.value.receiverName, // 选择门店自提时,该字段为联系人名
|
||||
receiverMobile: addressState.value.receiverMobile, // 选择门店自提时,该字段为联系人手机
|
||||
pointStatus: state.pointStatus,
|
||||
combinationActivityId: state.orderPayload.combinationActivityId,
|
||||
combinationHeadId: state.orderPayload.combinationHeadId,
|
||||
seckillActivityId: state.orderPayload.seckillActivityId,
|
||||
pointActivityId: state.orderPayload.pointActivityId,
|
||||
}
|
||||
}else{
|
||||
parm = {
|
||||
items: state.orderPayload.items,
|
||||
couponId: state.orderPayload.couponId,
|
||||
deliveryType: addressState.value.deliveryType,
|
||||
addressId: addressState.value.addressInfo.id, // 收件地址编号
|
||||
pickUpStoreId: addressState.value.pickUpInfo.id, //自提门店编号
|
||||
receiverName: addressState.value.receiverName, // 选择门店自提时,该字段为联系人名
|
||||
receiverMobile: addressState.value.receiverMobile, // 选择门店自提时,该字段为联系人手机
|
||||
pointStatus: state.pointStatus,
|
||||
combinationActivityId: state.orderPayload.combinationActivityId,
|
||||
combinationHeadId: state.orderPayload.combinationHeadId,
|
||||
seckillActivityId: state.orderPayload.seckillActivityId,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
const { data, code } = await OrderApi.settlementOrder(parm);
|
||||
if (code !== 0) {
|
||||
return;
|
||||
}
|
||||
|
@ -1,107 +1,111 @@
|
||||
<template>
|
||||
<s-layout title="预约记录" :bgStyle="{ color: '#fff' }">
|
||||
<view class="container">
|
||||
<!-- <view class="health_title">
|
||||
<image class="health_title_img" ></image>
|
||||
<view class="health-title-title">预约记录</view>
|
||||
</view> -->
|
||||
<view class="cards">
|
||||
<view class="card" v-for="(item, index) in reservationList" :key="index">
|
||||
<view class="card-content">
|
||||
<text class="type" >预约类型:{{ item.typeName }}</text>
|
||||
<!-- <text class="type" v-if="item.type===1">预约类型:教培预约</text> -->
|
||||
<text class="time">预约时间:{{ item.reAddTime }}</text>
|
||||
</view>
|
||||
<view class="container">
|
||||
<view class="cards">
|
||||
<view class="card" v-for="(item, index) in reservationList" :key="index">
|
||||
<view class="card-content">
|
||||
<text class="type">预约信息</text>
|
||||
<text class="time">订单日期:{{ sheep.$helper.timeFormat(item.reAddTime, 'yyyy-mm-dd hh:MM:ss') }}</text>
|
||||
</view>
|
||||
<view style="height: 1px; background-color: #e8e8e8;margin:7px 0px 7px 0px"></view>
|
||||
<!-- <view class="card-contentinfo">
|
||||
<text class="time">预约时间:{{ item.reAddTime }}</text>
|
||||
</view> -->
|
||||
<view>
|
||||
<text class="address">医生:{{ item.technicianName }}</text><br><br>
|
||||
<text class="address">医馆:{{ item.brandName }}</text><br><br>
|
||||
<text class="address">医馆电话:{{ item.brandphone }}</text><br><br>
|
||||
<div class="address-container">
|
||||
<text class="address">医馆地址:{{ item.brandaddress }}</text><br><br>
|
||||
</div>
|
||||
<text class="address">备注:{{ item.remark }}</text><br><br>
|
||||
</view>
|
||||
<view>
|
||||
<text class="status" style="float: right; border-radius: 10px; background-color: orangered; padding: 5px 10px; color: white;" v-if=" item.reStatus===0">待审核</text>
|
||||
<text class="status" style="float: right; border-radius: 10px; background-color: orangered; padding: 5px 10px; color: white;" v-if=" item.reStatus===1">预约成功</text>
|
||||
<text class="status" style="float: right; border-radius: 10px; background-color: orangered; padding: 5px 10px; color: white;" v-if=" item.reStatus===2">已完结</text><br><br>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</s-layout>
|
||||
<view>
|
||||
<text class="address">医生:{{ item.technicianName }}</text><br><br>
|
||||
<text class="address">医馆:{{ item.brandName }}</text><br><br>
|
||||
<text class="address">医馆电话:{{ item.brandphone }}</text><br><br>
|
||||
<div class="address-container">
|
||||
<text class="address">医馆地址:{{ item.brandaddress }}</text><br><br>
|
||||
</div>
|
||||
<text class="address">备注:{{ item.remark }}</text><br><br>
|
||||
</view>
|
||||
<view>
|
||||
<text class="status"
|
||||
style="float: right; border-radius: 10px; background-color: orangered; padding: 5px 10px; color: white;"
|
||||
v-if=" item.reStatus===0">待审核</text>
|
||||
<text class="status"
|
||||
style="float: right; border-radius: 10px; background-color: orangered; padding: 5px 10px; color: white;"
|
||||
v-if=" item.reStatus===1">预约成功</text>
|
||||
<text class="status"
|
||||
style="float: right; border-radius: 10px; background-color: orangered; padding: 5px 10px; color: white;"
|
||||
v-if=" item.reStatus===2">已完结</text><br><br>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</s-layout>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
ref,
|
||||
computed,
|
||||
onMounted
|
||||
} from 'vue';
|
||||
import request from '@/sheep/request';
|
||||
import { computed } from 'vue';
|
||||
import sheep from '@/sheep';
|
||||
import {
|
||||
baseUrl,
|
||||
apiPath
|
||||
} from '@/sheep/config';
|
||||
import sheep from '@/sheep';
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
memberId:null,
|
||||
reservationList: [],
|
||||
page: 1,
|
||||
limit: 10,
|
||||
totalPages: 1,
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.memberId=computed(() => sheep.$store('user').userInfo).value.id
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
getList() {
|
||||
setup() {
|
||||
// 使用 ref 创建响应式数据
|
||||
const memberId = ref(null);
|
||||
const reservationList = ref([]);
|
||||
const page = ref(1);
|
||||
const limit = ref(10);
|
||||
const totalPages = ref(1);
|
||||
|
||||
// 使用 computed 创建计算属性
|
||||
const userInfo = computed(() => sheep.$store('user').userInfo);
|
||||
memberId.value = userInfo.value.id;
|
||||
|
||||
// 使用 onMounted 生命周期钩子
|
||||
onMounted(() => {
|
||||
getList();
|
||||
});
|
||||
|
||||
// 定义方法
|
||||
function getList() {
|
||||
request({
|
||||
url: `${baseUrl}${apiPath}/h5/reservation/list`,
|
||||
method: 'GET',
|
||||
params:{
|
||||
userId:this.memberId,
|
||||
params: {
|
||||
userId: memberId.value,
|
||||
},
|
||||
custom: {
|
||||
showLoading: false,
|
||||
},
|
||||
}).then((res) => {
|
||||
this.reservationList = res.data.list
|
||||
reservationList.value = res.data.list;
|
||||
});
|
||||
// uni.request({
|
||||
// url: `${baseUrl}${apiPath}/h5/reservation/list`, // 接口地址
|
||||
// data: {
|
||||
// userId:this.memberId,
|
||||
// },
|
||||
// success: (res) => {
|
||||
// console.log(res.data);
|
||||
// this.reservationList = res.data.rows
|
||||
// },
|
||||
// fail: (error) => {
|
||||
// console.log(error)
|
||||
// }
|
||||
// })
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
// 将响应式数据和方法暴露给模板
|
||||
return {
|
||||
memberId,
|
||||
reservationList,
|
||||
page,
|
||||
limit,
|
||||
totalPages,
|
||||
getList,
|
||||
};
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
|
||||
<style scoped>
|
||||
<style scoped lang="scss">
|
||||
.address-container {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
/* align-items: center; */
|
||||
background-color: #f5f5f5;
|
||||
padding: 10px;
|
||||
padding: 15px;
|
||||
}
|
||||
|
||||
.header {
|
||||
@ -138,6 +142,22 @@
|
||||
.card-content {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
|
||||
.type {
|
||||
position: relative;
|
||||
padding-left: 20px;
|
||||
|
||||
&::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 10px;
|
||||
height: 100%;
|
||||
background: url('https://zysc.fjptzykj.com:3000/shangcheng/7b5c7b96c46b782e8928ed9e53d19563823408b481b03ec75954d8266ec55f6b.png') no-repeat;
|
||||
background-size: 60%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.card-contentinfo {
|
||||
@ -159,21 +179,24 @@
|
||||
|
||||
.hospital,
|
||||
.technician,
|
||||
.type{
|
||||
margin-left: 20px;
|
||||
.type {
|
||||
/* margin-left: 20px; */
|
||||
font-size: 15px;
|
||||
color: #161616;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.status {
|
||||
font-size: 15px;
|
||||
color: #666;
|
||||
}
|
||||
.address{
|
||||
margin: 20px 0px 0px 20px ;
|
||||
|
||||
.address {
|
||||
margin: 20px 0px 0px 20px;
|
||||
font-size: 15px;
|
||||
color: #666;
|
||||
}
|
||||
}
|
||||
|
||||
.health-list {
|
||||
background-color: #FFFFFF;
|
||||
height: 100%;
|
||||
|
@ -1,6 +1,5 @@
|
||||
<template>
|
||||
<view>
|
||||
|
||||
<!-- 基础组件:搜索框 -->
|
||||
<s-search-block v-if="type === 'SearchBar'" :data="data" :styles="styles" :navbar="false" />
|
||||
<!-- 基础组件:公告栏 -->
|
||||
@ -136,7 +135,7 @@
|
||||
|
||||
.new-huiy {
|
||||
width: 100%;
|
||||
height: 89px;
|
||||
height: 93px;
|
||||
z-index: 9999999999999;
|
||||
|
||||
.new-button {
|
||||
@ -145,7 +144,7 @@
|
||||
text-align: center;
|
||||
position: absolute;
|
||||
border-radius: 20px;
|
||||
right: 29px;
|
||||
right: 14px;
|
||||
top: 37px;
|
||||
font-size: 14px;
|
||||
color: rgba(148, 109, 45, 1);
|
||||
@ -158,7 +157,7 @@
|
||||
z-index: 22;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
width: 94%;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,198 +1,224 @@
|
||||
<template>
|
||||
<view class="ss-m-20" :style="{ opacity: disabled ? '0.5' : '1' }">
|
||||
<view class="content">
|
||||
<view
|
||||
class="tag ss-flex ss-row-center"
|
||||
:class="isDisable ? 'disabled-bg-color' : 'info-bg-color'"
|
||||
>
|
||||
{{ data.discountType === 1 ? '满减券' : '折扣券' }}
|
||||
</view>
|
||||
<view class="title ss-m-x-30 ss-p-t-18">
|
||||
<view class="ss-flex ss-row-between">
|
||||
<view
|
||||
class="value-text ss-flex-1 ss-m-r-10"
|
||||
:class="isDisable ? 'disabled-color' : 'info-color'"
|
||||
>
|
||||
{{ data.name }}
|
||||
</view>
|
||||
<view>
|
||||
<view
|
||||
class="ss-flex ss-col-bottom"
|
||||
:class="isDisable ? 'disabled-color' : 'price-text'"
|
||||
>
|
||||
<view class="value-reduce ss-m-b-10" v-if="data.discountType === 1">¥</view>
|
||||
<view class="value-price">
|
||||
{{
|
||||
data.discountType === 1
|
||||
? fen2yuan(data.discountPrice)
|
||||
: data.discountPercent / 10.0
|
||||
}}
|
||||
</view>
|
||||
<view class="value-discount ss-m-b-10 ss-m-l-4" v-if="data.discountType === 2"
|
||||
>折</view
|
||||
>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="ss-flex ss-row-between ss-m-t-16">
|
||||
<view
|
||||
class="sellby-text"
|
||||
:class="isDisable ? 'disabled-color' : 'subtitle-color'"
|
||||
v-if="data.validityType === 2"
|
||||
>
|
||||
有效期:领取后第{{ data.fixedStartTerm }}天开始至第{{ data.fixedEndTerm }}天内有效
|
||||
</view>
|
||||
<view class="sellby-text" :class="isDisable ? 'disabled-color' : 'subtitle-color'" v-else>
|
||||
有效期: {{ sheep.$helper.timeFormat(data.validStartTime, 'yyyy-mm-dd') }} 至
|
||||
{{ sheep.$helper.timeFormat(data.validEndTime, 'yyyy-mm-dd') }}
|
||||
</view>
|
||||
<view class="value-enough" :class="isDisable ? 'disabled-color' : 'subtitle-color'">
|
||||
满 {{ fen2yuan(data.usePrice) }} 可用
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="ss-m-20" :style="{ opacity: disabled ? '0.5' : '1' }">
|
||||
<view class="content">
|
||||
<view class="tag ss-flex ss-row-center" :class="isDisable ? 'disabled-bg-color' : 'info-bg-color'">
|
||||
{{ data.discountType === 1 ? '满减券' : '折扣券' }}
|
||||
</view>
|
||||
<view class="title ss-flex">
|
||||
|
||||
<!-- TODO 芋艿:可优化,增加优惠劵的描述 -->
|
||||
<view class="desc ss-flex ss-row-between">
|
||||
<view>
|
||||
<view class="desc-title">{{ data.description }}</view>
|
||||
<view>
|
||||
<slot name="reason" />
|
||||
</view>
|
||||
</view>
|
||||
<view>
|
||||
<slot />
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="ss-flex new-title new-left">
|
||||
<view style="width:100%;">
|
||||
<view class="ss-flex ss-col-bottom new-left-center" :class="isDisable ? 'disabled-color' : 'price-text'">
|
||||
<view class="value-reduce " v-if="data.discountType === 1">¥</view>
|
||||
<view class="value-price">
|
||||
{{
|
||||
data.discountType === 1
|
||||
? fen2yuan(data.discountPrice)
|
||||
: data.discountPercent / 10.0
|
||||
}}
|
||||
</view>
|
||||
<view class="value-discount ss-m-b-10 ss-m-l-4" v-if="data.discountType === 2">折</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="value-enough new-left-center" :class="isDisable ? 'disabled-color' : 'subtitle-color'">
|
||||
满 {{ fen2yuan(data.usePrice) }} 可用
|
||||
</view>
|
||||
|
||||
|
||||
</view>
|
||||
<view class="ss-flex ss-row-between ss-m-t-16 new-title new-con-ww">
|
||||
<view class="value-text ss-flex-1 ss-m-r-10 new-ww" :class="isDisable ? 'disabled-color' : 'info-color'">
|
||||
{{ data.name }}
|
||||
</view>
|
||||
<view class="sellby-text new-ww" :class="isDisable ? 'disabled-color' : 'subtitle-color'"
|
||||
v-if="data.validityType === 2">
|
||||
<!-- 有效期:领取后第{{ data.fixedStartTerm }}天开始至第{{ data.fixedEndTerm }}天内有效 -->
|
||||
有效期:领取{{ data.fixedEndTerm }}天内有效
|
||||
</view>
|
||||
<view class="sellby-text" :class="isDisable ? 'disabled-color' : 'subtitle-color'" v-else>
|
||||
有效期: {{ sheep.$helper.timeFormat(data.validStartTime, 'yyyy-mm-dd') }} 至
|
||||
{{ sheep.$helper.timeFormat(data.validEndTime, 'yyyy-mm-dd') }}
|
||||
</view>
|
||||
|
||||
</view>
|
||||
<slot />
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- TODO 芋艿:可优化,增加优惠劵的描述 -->
|
||||
<!-- <view class="desc ss-flex ss-row-between">
|
||||
<view>
|
||||
<view class="desc-title">{{ data.description }}</view>
|
||||
<view>
|
||||
<slot name="reason" />
|
||||
</view>
|
||||
</view>
|
||||
<view>
|
||||
<slot />
|
||||
</view>
|
||||
</view> -->
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { computed, reactive } from 'vue';
|
||||
import { fen2yuan } from '../../hooks/useGoods';
|
||||
import sheep from '../../index';
|
||||
import {
|
||||
computed,
|
||||
reactive
|
||||
} from 'vue';
|
||||
import {
|
||||
fen2yuan
|
||||
} from '../../hooks/useGoods';
|
||||
import sheep from '../../index';
|
||||
|
||||
const state = reactive({});
|
||||
const state = reactive({});
|
||||
|
||||
const isDisable = computed(() => {
|
||||
if (props.type === 'coupon') {
|
||||
return false;
|
||||
}
|
||||
return props.data.status !== 1;
|
||||
});
|
||||
const isDisable = computed(() => {
|
||||
if (props.type === 'coupon') {
|
||||
return false;
|
||||
}
|
||||
return props.data.status !== 1;
|
||||
});
|
||||
|
||||
// 接受参数
|
||||
const props = defineProps({
|
||||
data: {
|
||||
type: Object,
|
||||
default: {},
|
||||
},
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
type: {
|
||||
type: String,
|
||||
default: 'coupon', // coupon 优惠劵模版;user 用户优惠劵
|
||||
},
|
||||
});
|
||||
// 接受参数
|
||||
const props = defineProps({
|
||||
data: {
|
||||
type: Object,
|
||||
default: {},
|
||||
},
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
type: {
|
||||
type: String,
|
||||
default: 'coupon', // coupon 优惠劵模版;user 用户优惠劵
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.info-bg-color {
|
||||
background: linear-gradient(90deg, var(--ui-BG-Main), var(--ui-BG-Main-gradient));
|
||||
}
|
||||
.new-title{
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
.content{
|
||||
position:relative;
|
||||
.tag{
|
||||
position:absolute;
|
||||
top:0;
|
||||
left:0;
|
||||
}
|
||||
}
|
||||
.new-ww{
|
||||
width:100%;
|
||||
}
|
||||
.new-con-ww{
|
||||
width:42%;
|
||||
padding-left: 13px;
|
||||
}
|
||||
.new-left{
|
||||
padding: 30px 0px;
|
||||
background: rgba(255, 241, 241);
|
||||
width: 32%;
|
||||
.new-left-center{
|
||||
width:100%;
|
||||
justify-content: center;
|
||||
text-align: center;
|
||||
color: #ff0000;
|
||||
}
|
||||
}
|
||||
.info-bg-color {
|
||||
background: linear-gradient(90deg, var(--ui-BG-Main), var(--ui-BG-Main-gradient));
|
||||
}
|
||||
|
||||
.disabled-bg-color {
|
||||
background: #999;
|
||||
}
|
||||
.disabled-bg-color {
|
||||
background: #999;
|
||||
}
|
||||
|
||||
.info-color {
|
||||
color: #333;
|
||||
}
|
||||
.info-color {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.subtitle-color {
|
||||
color: #666;
|
||||
}
|
||||
.subtitle-color {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.disabled-color {
|
||||
color: #999;
|
||||
}
|
||||
.disabled-color {
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.content {
|
||||
width: 100%;
|
||||
background: #fff;
|
||||
border-radius: 20rpx 20rpx 0 0;
|
||||
-webkit-mask: radial-gradient(circle at 12rpx 100%, #0000 12rpx, red 0) -12rpx;
|
||||
box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.04);
|
||||
.content {
|
||||
width: 100%;
|
||||
background: #fff;
|
||||
border-radius: 20rpx;
|
||||
// -webkit-mask: radial-gradient(circle at 12rpx 100%, #0000 12rpx, red 0) -12rpx;
|
||||
box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.04);
|
||||
|
||||
.tag {
|
||||
width: 100rpx;
|
||||
.tag {
|
||||
width: 100rpx;
|
||||
|
||||
color: #fff;
|
||||
height: 40rpx;
|
||||
font-size: 24rpx;
|
||||
border-radius: 20rpx 0 20rpx 0;
|
||||
}
|
||||
color: #fff;
|
||||
height: 40rpx;
|
||||
font-size: 24rpx;
|
||||
border-radius: 20rpx 0 20rpx 0;
|
||||
}
|
||||
|
||||
.title {
|
||||
padding-bottom: 22rpx;
|
||||
border-bottom: 2rpx dashed #d3d3d3;
|
||||
.title {
|
||||
// padding-bottom: 22rpx;
|
||||
// border-bottom: 2rpx dashed #d3d3d3;
|
||||
|
||||
.value-text {
|
||||
font-size: 32rpx;
|
||||
font-weight: 600;
|
||||
}
|
||||
.value-text {
|
||||
font-size: 32rpx;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.sellby-text {
|
||||
font-size: 24rpx;
|
||||
font-weight: 400;
|
||||
}
|
||||
.sellby-text {
|
||||
font-size: 24rpx;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
.value-price {
|
||||
font-size: 64rpx;
|
||||
font-weight: 500;
|
||||
line-height: normal;
|
||||
font-family: OPPOSANS;
|
||||
}
|
||||
.value-price {
|
||||
font-size: 40rpx;
|
||||
font-weight: 700;
|
||||
line-height: normal;
|
||||
font-family: OPPOSANS;
|
||||
}
|
||||
|
||||
.value-reduce {
|
||||
line-height: normal;
|
||||
font-size: 32rpx;
|
||||
}
|
||||
.value-reduce {
|
||||
line-height: normal;
|
||||
font-size: 32rpx;
|
||||
}
|
||||
|
||||
.value-discount {
|
||||
line-height: normal;
|
||||
font-size: 28rpx;
|
||||
}
|
||||
.value-discount {
|
||||
line-height: normal;
|
||||
font-size: 28rpx;
|
||||
}
|
||||
|
||||
.value-enough {
|
||||
font-size: 24rpx;
|
||||
font-weight: 400;
|
||||
font-family: OPPOSANS;
|
||||
}
|
||||
}
|
||||
}
|
||||
.value-enough {
|
||||
font-size: 24rpx;
|
||||
font-weight: 400;
|
||||
font-family: OPPOSANS;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.desc {
|
||||
width: 100%;
|
||||
background: #fff;
|
||||
-webkit-mask: radial-gradient(circle at 12rpx 0%, #0000 12rpx, red 0) -12rpx;
|
||||
box-shadow: rgba(#000, 0.1);
|
||||
box-sizing: border-box;
|
||||
padding: 24rpx 30rpx;
|
||||
box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.04);
|
||||
border-radius: 0 0 20rpx 20rpx;
|
||||
.desc {
|
||||
width: 100%;
|
||||
background: #fff;
|
||||
// -webkit-mask: radial-gradient(circle at 12rpx 0%, #0000 12rpx, red 0) -12rpx;
|
||||
box-shadow: rgba(#000, 0.1);
|
||||
box-sizing: border-box;
|
||||
padding: 24rpx 30rpx;
|
||||
box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.04);
|
||||
border-radius: 0 0 20rpx 20rpx;
|
||||
|
||||
.desc-title {
|
||||
font-size: 24rpx;
|
||||
color: #999;
|
||||
font-weight: 400;
|
||||
}
|
||||
}
|
||||
.desc-title {
|
||||
font-size: 24rpx;
|
||||
color: #999;
|
||||
font-weight: 400;
|
||||
}
|
||||
}
|
||||
|
||||
.price-text {
|
||||
color: #ff0000;
|
||||
}
|
||||
.price-text {
|
||||
color: #ff0000;
|
||||
}
|
||||
</style>
|
@ -79,9 +79,9 @@
|
||||
</view>
|
||||
<template v-else>
|
||||
<view class="fff" v-if="btn == 'ms'">抢</view>
|
||||
<text class="price-unit ss-font-24">{{ priceUnit }}</text>
|
||||
<text v-if="data.promotionPrice > 0">{{ fen2yuan(data.promotionPrice) }}</text>
|
||||
<text v-else>
|
||||
<text class="price-unit new-unit">{{ priceUnit }}</text>
|
||||
<text class="new-unit-number" v-if="data.promotionPrice > 0">{{ fen2yuan(data.promotionPrice) }}</text>
|
||||
<text class="new-unit-number" v-else>
|
||||
{{ isArray(data.price) ? fen2yuan(data.price[0]) : fen2yuan(data.price) }}
|
||||
</text>
|
||||
</template>
|
||||
@ -682,7 +682,7 @@
|
||||
}
|
||||
|
||||
.sm-goods-content {
|
||||
padding: 20rpx 16rpx;
|
||||
padding: 20rpx 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
@ -892,18 +892,25 @@
|
||||
color: white;
|
||||
border-radius: 0px 0px 5px 5px;
|
||||
}
|
||||
.fff{
|
||||
padding: 3px;
|
||||
font-size: 13px;
|
||||
|
||||
.fff {
|
||||
padding: 1px 3px;
|
||||
font-size: 8px;
|
||||
background: #e93422;
|
||||
text-align: center;
|
||||
color: white;
|
||||
border-radius: 5px;
|
||||
width: 20px;
|
||||
margin-right:5px;
|
||||
border-radius: 2px;
|
||||
margin-right: 2px;
|
||||
}
|
||||
.new-ii{
|
||||
display:flex;
|
||||
|
||||
.new-ii {
|
||||
display: flex;
|
||||
align-items: baseline;
|
||||
}
|
||||
.new-unit{
|
||||
font-size: 10px;
|
||||
}
|
||||
.new-unit-number{
|
||||
font-size: 13px;
|
||||
font-weight: 700;
|
||||
}
|
||||
</style>
|
@ -20,7 +20,7 @@
|
||||
</view>
|
||||
</template>
|
||||
<template v-slot:footer>
|
||||
<view style="color: rgb(187, 187, 187);font-size:15px;" class="notice-text ss-flex ss-row-center ss-col-center">
|
||||
<view style="color: rgb(187, 187, 187);font-size:13px;" class="notice-text ss-flex ss-row-center ss-col-center">
|
||||
查看更多
|
||||
</view>
|
||||
</template>
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!-- 装修基础组件:宫格导航 -->
|
||||
<template>
|
||||
<uni-grid :showBorder="Boolean(data.border)" :column="data.column">
|
||||
<uni-grid-item v-for="(item, index) in data.list" :key="index" @tap="sheep.$router.go(item.url)">
|
||||
<uni-grid-item v-for="(item, index) in data.list" :key="index" @tap="sheep.$router.go(item.url)" :class="data.list.length > 5 ? 'sss' : ''">
|
||||
<view class="grid-item-box ss-flex ss-flex-col ss-row-center ss-col-center">
|
||||
<view class="img-box">
|
||||
<view class="tag-box" v-if="item.badge.show"
|
||||
@ -12,7 +12,7 @@
|
||||
</view>
|
||||
|
||||
<view class="title-box ss-flex ss-flex-col ss-row-center ss-col-center">
|
||||
<view class="grid-text" :style="[{ color: item.titleColor }]">
|
||||
<view class="grid-text" :style="[{ color: item.titleColor }]" style="font-size: 12px;">
|
||||
{{ item.title }}
|
||||
</view>
|
||||
<view class="grid-tip" :style="[{ color: item.subtitleColor }]">
|
||||
@ -36,6 +36,9 @@
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
:deep(.sss:not(:nth-child(n+6))){
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
.menu-image {
|
||||
width: 45px;
|
||||
height: 45px;
|
||||
|
@ -15,7 +15,7 @@
|
||||
</view>
|
||||
</template>
|
||||
<template v-slot:footer>
|
||||
<view class="notice-text ss-flex ss-row-center ss-col-center"
|
||||
<view class="notice-text ss-flex ss-row-center ss-col-center new-color"
|
||||
:style="[{ color: item.subtitleColor }]">
|
||||
{{ item.subtitle }}
|
||||
</view>
|
||||
@ -42,6 +42,9 @@
|
||||
:deep(.container--right){
|
||||
padding-left: 5px !important;
|
||||
}
|
||||
.new-color{
|
||||
font-size: 13px;
|
||||
}
|
||||
.ss-col-center{
|
||||
.list-icon {
|
||||
position: relative;
|
||||
|
@ -1,39 +1,45 @@
|
||||
<template>
|
||||
<view class="ss-flex ss-col-center notice-wrap">
|
||||
<image class="icon-img" :src="sheep.$url.cdn(data.iconUrl)" mode="heightFix"></image>
|
||||
<!-- todo:@owen 暂时只支持一个公告 -->
|
||||
<su-notice-bar
|
||||
style="flex: 1"
|
||||
:showIcon="false"
|
||||
scrollable
|
||||
single
|
||||
:text="data.contents[0].text"
|
||||
:speed="50"
|
||||
:color="data.textColor"
|
||||
@tap="sheep.$router.go(data.contents[0].url)"
|
||||
/>
|
||||
</view>
|
||||
<view class="ss-flex ss-col-center notice-wrap">
|
||||
<image class="icon-img" :src="sheep.$url.cdn(data.iconUrl)" mode="heightFix"></image>
|
||||
<!-- todo:@owen 暂时只支持一个公告 -->
|
||||
<su-notice-bar style="flex: 1" :showIcon="false" scrollable single :text="data.contents[0].text" :speed="50"
|
||||
:color="data.textColor" @tap="sheep.$router.go(data.contents[0].url)" />
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
/**
|
||||
* 装修组件 - 通知栏
|
||||
*
|
||||
*/
|
||||
import sheep from '@/sheep';
|
||||
const props = defineProps({
|
||||
data: {
|
||||
type: Object,
|
||||
default() {},
|
||||
},
|
||||
});
|
||||
/**
|
||||
* 装修组件 - 通知栏
|
||||
*
|
||||
*/
|
||||
import sheep from '@/sheep';
|
||||
const props = defineProps({
|
||||
data: {
|
||||
type: Object,
|
||||
default () {},
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.notice-wrap {
|
||||
.icon-img {
|
||||
width: 80px !important;
|
||||
height: 20px;
|
||||
}
|
||||
}
|
||||
.notice-wrap {
|
||||
.icon-img {
|
||||
width: 75px !important;
|
||||
height: 19px;
|
||||
position: relative;
|
||||
padding-right: 9px;
|
||||
|
||||
&:after {
|
||||
position: absolute;
|
||||
content: '';
|
||||
right: 0;
|
||||
height: 80%;
|
||||
width: 1px;
|
||||
background: #7a767640;
|
||||
top: 52%;
|
||||
;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
@ -93,7 +93,7 @@
|
||||
|
||||
const numData = computed(() => sheep.$store('user').numData);
|
||||
|
||||
console.log(numData,'numData')
|
||||
console.log(numData, 'numData')
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@ -104,18 +104,21 @@
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
// border-bottom: 1px solid #dcdcdc;
|
||||
display:flex;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
.ff{
|
||||
|
||||
.ff {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.ckgd{
|
||||
|
||||
.ckgd {
|
||||
color: #8a8787;
|
||||
font-size: 15px;
|
||||
.img{
|
||||
width:20px;
|
||||
height:20px;
|
||||
margin-top: 3px;
|
||||
font-size: 13px;
|
||||
|
||||
.img {
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
margin-top: 5px;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -132,7 +135,7 @@
|
||||
font-size: 24rpx;
|
||||
line-height: 24rpx;
|
||||
color: #333333;
|
||||
margin-top:14rpx;
|
||||
margin-top: 14rpx;
|
||||
}
|
||||
|
||||
.item-icon {
|
||||
|
@ -24,7 +24,7 @@
|
||||
</view>
|
||||
</template>
|
||||
<template v-slot:footer>
|
||||
<view style="color: rgb(187, 187, 187);font-size:15px;"
|
||||
<view style="color: rgb(187, 187, 187);font-size:13px;"
|
||||
class="notice-text ss-flex ss-row-center ss-col-center">
|
||||
查看更多
|
||||
</view>
|
||||
|
@ -1,7 +1,10 @@
|
||||
<!-- 自定义导航栏 -->
|
||||
<template>
|
||||
<view class="uni-navbar" :class="{ 'uni-dark': dark }">
|
||||
<view :class="{
|
||||
<view :style="{
|
||||
background: backgroundColor,
|
||||
}"
|
||||
:class="{
|
||||
'uni-navbar--fixed': fixed,
|
||||
'uni-navbar--shadow': shadow,
|
||||
'uni-navbar--border': border,
|
||||
|
@ -1,7 +1,11 @@
|
||||
<template>
|
||||
<view
|
||||
<!-- <view
|
||||
:style="'width:' + width + ';' + (square ? 'height:' + width : '')"
|
||||
class="uni-grid-item grid-item"
|
||||
> -->
|
||||
<view
|
||||
:style="'width:' + width + ';'"
|
||||
class="uni-grid-item grid-item"
|
||||
>
|
||||
<view
|
||||
:class="{
|
||||
|
@ -286,7 +286,7 @@ $uni-font-size-sm: 12px;
|
||||
$uni-font-size-base: 14px;
|
||||
$uni-font-size-lg: 16px;
|
||||
$uni-spacing-col-lg: 12px;
|
||||
$uni-spacing-row-lg: 15px;
|
||||
$uni-spacing-row-lg: 3px;
|
||||
$uni-img-size-sm: 20px;
|
||||
$uni-img-size-base: 26px;
|
||||
$uni-img-size-lg: 40px;
|
||||
@ -417,7 +417,11 @@ $list-item-pd: $uni-spacing-col-lg $uni-spacing-row-lg;
|
||||
display: flex;
|
||||
/* #endif */
|
||||
align-items: center;
|
||||
padding: 0 10px;
|
||||
padding: 0 6px;
|
||||
padding-left: 0px;
|
||||
.uniui-arrowright{
|
||||
font-size:12px !important;
|
||||
}
|
||||
}
|
||||
.flex--direction {
|
||||
flex-direction: column;
|
||||
|
Loading…
Reference in New Issue
Block a user