预约记录对接完成
This commit is contained in:
parent
ee3d541592
commit
b38f44530e
@ -68,9 +68,9 @@
|
|||||||
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
|
||||||
<view style="clear: both;"></view>
|
<view style="clear: both;"></view>
|
||||||
</view>
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
<!-- 签到说明 -->
|
<!-- 签到说明 -->
|
||||||
<view class="new-qdsm">
|
<view class="new-qdsm">
|
||||||
@ -572,15 +572,16 @@
|
|||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
.sign-list {
|
.sign-list {
|
||||||
width: 86%;
|
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
background: white;
|
background: white;
|
||||||
|
margin: 0 7px;
|
||||||
border-radius: 18px;
|
border-radius: 18px;
|
||||||
|
|
||||||
.new-top {
|
.new-top {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
margin: 0 10px;
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
|
|
||||||
.left {
|
.left {
|
||||||
@ -612,12 +613,20 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.new-bottom {
|
.new-bottom {
|
||||||
width: 100%;
|
display: grid;
|
||||||
|
margin-top: 5px;
|
||||||
|
// grid-template-columns: repeat(auto-fill, 22%);
|
||||||
|
grid-template-columns: repeat(4, 1fr);
|
||||||
|
grid-template-rows: 100px;
|
||||||
|
grid-auto-rows: 100px;
|
||||||
|
justify-content: center;
|
||||||
|
grid-gap: 5px;
|
||||||
|
padding: 5px;
|
||||||
|
|
||||||
.new-l {
|
.new-l {
|
||||||
padding: 5px;
|
// padding: 5px;
|
||||||
float: left;
|
float: left;
|
||||||
width: 21.9%;
|
width: 100%;
|
||||||
|
|
||||||
.new-list {
|
.new-list {
|
||||||
padding: 5px 5px;
|
padding: 5px 5px;
|
||||||
@ -680,10 +689,10 @@
|
|||||||
|
|
||||||
.new-7 {
|
.new-7 {
|
||||||
position: relative;
|
position: relative;
|
||||||
width: 134px;
|
width: 178%;
|
||||||
padding: 5px 10px;
|
padding: 5px 10px;
|
||||||
padding-bottom: 0;
|
padding-bottom: 0;
|
||||||
height: 80px;
|
height: 80%;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
|
|
||||||
|
@ -17,36 +17,21 @@
|
|||||||
<view class="pay-title ss-p-l-30 ss-m-y-30">选择支付方式</view>
|
<view class="pay-title ss-p-l-30 ss-m-y-30">选择支付方式</view>
|
||||||
<radio-group @change="onTapPay">
|
<radio-group @change="onTapPay">
|
||||||
<label class="pay-type-item" v-for="item in state.payMethods" :key="item.title">
|
<label class="pay-type-item" v-for="item in state.payMethods" :key="item.title">
|
||||||
<view
|
<view class="pay-item ss-flex ss-col-center ss-row-between ss-p-x-30 border-bottom"
|
||||||
class="pay-item ss-flex ss-col-center ss-row-between ss-p-x-30 border-bottom"
|
:class="{ 'disabled-pay-item': item.disabled }">
|
||||||
:class="{ 'disabled-pay-item': item.disabled }"
|
|
||||||
>
|
|
||||||
<view class="ss-flex ss-col-center">
|
<view class="ss-flex ss-col-center">
|
||||||
<image
|
<image class="pay-icon" v-if="item.disabled"
|
||||||
class="pay-icon"
|
|
||||||
v-if="item.disabled"
|
|
||||||
:src="sheep.$url.static('/static/img/shop/pay/cod_disabled.png')"
|
:src="sheep.$url.static('/static/img/shop/pay/cod_disabled.png')"
|
||||||
mode="aspectFit"
|
mode="aspectFit" />
|
||||||
/>
|
<image class="pay-icon" v-else :src="sheep.$url.static(item.icon)" mode="aspectFit" />
|
||||||
<image
|
|
||||||
class="pay-icon"
|
|
||||||
v-else
|
|
||||||
:src="sheep.$url.static(item.icon)"
|
|
||||||
mode="aspectFit"
|
|
||||||
/>
|
|
||||||
<text class="pay-title">{{ item.title }}</text>
|
<text class="pay-title">{{ item.title }}</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="check-box ss-flex ss-col-center ss-p-l-10">
|
<view class="check-box ss-flex ss-col-center ss-p-l-10">
|
||||||
<view class="userInfo-money ss-m-r-10" v-if="item.value === 'wallet'">
|
<view class="userInfo-money ss-m-r-10" v-if="item.value === 'wallet'">
|
||||||
余额: {{ fen2yuan(userWallet.balance) }}元
|
余额: {{ fen2yuan(userWallet.balance) }}元
|
||||||
</view>
|
</view>
|
||||||
<radio
|
<radio :value="item.value" color="var(--ui-BG-Main)" style="transform: scale(0.8)"
|
||||||
:value="item.value"
|
:disabled="item.disabled" :checked="state.payment === item.value" />
|
||||||
color="var(--ui-BG-Main)"
|
|
||||||
style="transform: scale(0.8)"
|
|
||||||
:disabled="item.disabled"
|
|
||||||
:checked="state.payment === item.value"
|
|
||||||
/>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</label>
|
</label>
|
||||||
@ -61,13 +46,8 @@
|
|||||||
<button v-else-if="state.payStatus === -1" class="ss-reset-button past-due-btn" disabled>
|
<button v-else-if="state.payStatus === -1" class="ss-reset-button past-due-btn" disabled>
|
||||||
支付已过期
|
支付已过期
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button v-else class="ss-reset-button save-btn" @tap="onPay" :disabled="state.payStatus !== 1"
|
||||||
v-else
|
:class="{ 'disabled-btn': state.payStatus !== 1 }">
|
||||||
class="ss-reset-button save-btn"
|
|
||||||
@tap="onPay"
|
|
||||||
:disabled="state.payStatus !== 1"
|
|
||||||
:class="{ 'disabled-btn': state.payStatus !== 1 }"
|
|
||||||
>
|
|
||||||
立即支付
|
立即支付
|
||||||
</button>
|
</button>
|
||||||
</view>
|
</view>
|
||||||
@ -75,14 +55,28 @@
|
|||||||
</s-layout>
|
</s-layout>
|
||||||
</template>
|
</template>
|
||||||
<script setup>
|
<script setup>
|
||||||
import { computed, reactive } from 'vue';
|
import {
|
||||||
import { onLoad } from '@dcloudio/uni-app';
|
computed,
|
||||||
|
reactive
|
||||||
|
} from 'vue';
|
||||||
|
import {
|
||||||
|
onLoad
|
||||||
|
} from '@dcloudio/uni-app';
|
||||||
import sheep from '@/sheep';
|
import sheep from '@/sheep';
|
||||||
import { fen2yuan, useDurationTime } from '@/sheep/hooks/useGoods';
|
import {
|
||||||
|
fen2yuan,
|
||||||
|
useDurationTime
|
||||||
|
} from '@/sheep/hooks/useGoods';
|
||||||
import PayOrderApi from '@/sheep/api/pay/order';
|
import PayOrderApi from '@/sheep/api/pay/order';
|
||||||
import PayChannelApi from '@/sheep/api/pay/channel';
|
import PayChannelApi from '@/sheep/api/pay/channel';
|
||||||
import { getPayMethods } from '@/sheep/platform/pay';
|
import {
|
||||||
|
getPayMethods
|
||||||
|
} from '@/sheep/platform/pay';
|
||||||
|
import request from '@/sheep/request';
|
||||||
|
import {
|
||||||
|
baseUrl,
|
||||||
|
apiPath
|
||||||
|
} from '@/sheep/config';
|
||||||
const userWallet = computed(() => sheep.$store('user').userWallet);
|
const userWallet = computed(() => sheep.$store('user').userWallet);
|
||||||
|
|
||||||
// 检测支付环境
|
// 检测支付环境
|
||||||
@ -92,23 +86,54 @@
|
|||||||
payStatus: 0, // 0=检测支付环境, -2=未查询到支付单信息, -1=支付已过期, 1=待支付,2=订单已支付
|
payStatus: 0, // 0=检测支付环境, -2=未查询到支付单信息, -1=支付已过期, 1=待支付,2=订单已支付
|
||||||
payMethods: [], // 可选的支付方式
|
payMethods: [], // 可选的支付方式
|
||||||
payment: '', // 选中的支付方式
|
payment: '', // 选中的支付方式
|
||||||
|
vip: '' ,//vip卡支付
|
||||||
|
vipid:'',//vip支付id需要
|
||||||
|
cardName:''//vip卡类型
|
||||||
});
|
});
|
||||||
|
|
||||||
const onPay = () => {
|
const onPay = () => {
|
||||||
if (state.payment === '') {
|
if (state.payment === '') {
|
||||||
|
console.log(state.vipid, "sssssssssssss")
|
||||||
sheep.$helper.toast('请选择支付方式');
|
sheep.$helper.toast('请选择支付方式');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (state.payment === 'wallet') {
|
if (state.payment === 'wallet') {
|
||||||
|
if (state.vip == "vip") {
|
||||||
|
console.log("-------sssss----")
|
||||||
|
let data = {
|
||||||
|
id: state.vipid,
|
||||||
|
cardName: state.cardName,
|
||||||
|
payChannel: "wallet"
|
||||||
|
}
|
||||||
|
// 定义方法
|
||||||
|
request({
|
||||||
|
url: `${baseUrl}${apiPath}/pay/member/update`,
|
||||||
|
method: 'post',
|
||||||
|
data,
|
||||||
|
custom: {
|
||||||
|
showLoading: false,
|
||||||
|
},
|
||||||
|
}).then((res) => {
|
||||||
|
console.log(res, "sss")
|
||||||
|
if(res.data){
|
||||||
|
sheep.$helper.toast('开通成功');
|
||||||
|
setTimeout(()=>{
|
||||||
|
sheep.$router.go('/pages/index/user')
|
||||||
|
},1500)
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
uni.showModal({
|
uni.showModal({
|
||||||
title: '提示',
|
title: '提示',
|
||||||
content: '确定要支付吗?',
|
content: '确定要支付吗?',
|
||||||
success: function (res) {
|
success: function(res) {
|
||||||
if (res.confirm) {
|
if (res.confirm) {
|
||||||
sheep.$platform.pay(state.payment, state.orderType, state.orderInfo.id);
|
sheep.$platform.pay(state.payment, state.orderType, state.orderInfo.id);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
sheep.$platform.pay(state.payment, state.orderType, state.orderInfo.id);
|
sheep.$platform.pay(state.payment, state.orderType, state.orderInfo.id);
|
||||||
}
|
}
|
||||||
@ -156,7 +181,10 @@
|
|||||||
// 设置支付订单信息
|
// 设置支付订单信息
|
||||||
async function setOrder(id) {
|
async function setOrder(id) {
|
||||||
// 获得支付订单信息
|
// 获得支付订单信息
|
||||||
const { data, code } = await PayOrderApi.getOrder(id);
|
const {
|
||||||
|
data,
|
||||||
|
code
|
||||||
|
} = await PayOrderApi.getOrder(id);
|
||||||
if (code !== 0 || !data) {
|
if (code !== 0 || !data) {
|
||||||
state.payStatus = -2;
|
state.payStatus = -2;
|
||||||
return;
|
return;
|
||||||
@ -170,7 +198,10 @@
|
|||||||
|
|
||||||
// 获得支付方式
|
// 获得支付方式
|
||||||
async function setPayMethods() {
|
async function setPayMethods() {
|
||||||
const { data, code } = await PayChannelApi.getEnableChannelCodeList(state.orderInfo.appId);
|
const {
|
||||||
|
data,
|
||||||
|
code
|
||||||
|
} = await PayChannelApi.getEnableChannelCodeList(state.orderInfo.appId);
|
||||||
if (code !== 0) {
|
if (code !== 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -188,6 +219,9 @@
|
|||||||
}
|
}
|
||||||
// 获得支付订单信息
|
// 获得支付订单信息
|
||||||
let id = options.id;
|
let id = options.id;
|
||||||
|
state.vip = options.type
|
||||||
|
state.vipid = options.vipid
|
||||||
|
state.cardName = options.cardName
|
||||||
if (options.orderType) {
|
if (options.orderType) {
|
||||||
state.orderType = options.orderType;
|
state.orderType = options.orderType;
|
||||||
}
|
}
|
||||||
@ -254,6 +288,7 @@
|
|||||||
.pay-item {
|
.pay-item {
|
||||||
height: 86rpx;
|
height: 86rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.disabled-pay-item {
|
.disabled-pay-item {
|
||||||
.pay-title {
|
.pay-title {
|
||||||
color: #999999;
|
color: #999999;
|
||||||
@ -274,6 +309,7 @@
|
|||||||
background: linear-gradient(90deg, var(--ui-BG-Main), var(--ui-BG-Main-gradient));
|
background: linear-gradient(90deg, var(--ui-BG-Main), var(--ui-BG-Main-gradient));
|
||||||
color: $white;
|
color: $white;
|
||||||
}
|
}
|
||||||
|
|
||||||
.disabled-btn {
|
.disabled-btn {
|
||||||
background: #e5e5e5;
|
background: #e5e5e5;
|
||||||
color: #999999;
|
color: #999999;
|
||||||
|
@ -5,17 +5,18 @@
|
|||||||
<view class="card" v-for="(item, index) in reservationList" :key="index">
|
<view class="card" v-for="(item, index) in reservationList" :key="index">
|
||||||
<view class="card-content">
|
<view class="card-content">
|
||||||
<text class="type">预约信息</text>
|
<text class="type">预约信息</text>
|
||||||
<text class="time">订单日期:{{ sheep.$helper.timeFormat(item.createTime, 'yyyy-mm-dd') }}</text>
|
<text class="time">订单日期:{{ sheep.$helper.timeFormat(item.creatTime, 'yyyy-mm-dd') }}</text>
|
||||||
</view>
|
</view>
|
||||||
<view>
|
<view>
|
||||||
<text class="address">预约姓名:<text class="title">{{ item.technicianName }}</text></text>
|
<text class="address">预约姓名:<text class="title">{{ item.name }}</text></text>
|
||||||
<text class="address">预约电话:<text class="title">{{ item.memberphone }}</text></text>
|
<text class="address">预约电话:<text class="title">{{ item.phone }}</text></text>
|
||||||
<text class="address">预约时间:<text
|
<text class="address">预约时间:<text
|
||||||
class="title">{{ sheep.$helper.timeFormat(item.reAddTime, 'yyyy-mm-dd') }}</text></text>
|
class="title">{{ item.days }}</text></text>
|
||||||
<text class="address">门店名称:<text class="title">{{ item.brandName }}</text> </text>
|
<text class="address">项目名称:<text class="title">{{ item.projectName }}</text> </text>
|
||||||
<div class="address-container">
|
<text class="address">项目套餐:<text class="title">{{ item.technicianName }}</text> </text>
|
||||||
|
<!-- <div class="address-container">
|
||||||
<text class="address">门店地址:<text class="title">{{ item.brandaddress }}</text></text>
|
<text class="address">门店地址:<text class="title">{{ item.brandaddress }}</text></text>
|
||||||
</div>
|
</div> -->
|
||||||
<text class="address">备注留言:<text class="title">{{ item.remark }}</text></text>
|
<text class="address">备注留言:<text class="title">{{ item.remark }}</text></text>
|
||||||
</view>
|
</view>
|
||||||
<view>
|
<view>
|
||||||
@ -68,16 +69,17 @@
|
|||||||
// 定义方法
|
// 定义方法
|
||||||
function getList() {
|
function getList() {
|
||||||
request({
|
request({
|
||||||
url: `${baseUrl}${apiPath}/h5/reservation/list`,
|
url: `${baseUrl}${apiPath}/h5/reservation/reservationInfo`,
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
params: {
|
// params: {
|
||||||
userId: memberId.value,
|
// userId: memberId.value,
|
||||||
},
|
// },
|
||||||
custom: {
|
custom: {
|
||||||
showLoading: false,
|
showLoading: false,
|
||||||
},
|
},
|
||||||
}).then((res) => {
|
}).then((res) => {
|
||||||
reservationList.value = res.data.list;
|
console.log(res,"-------------")
|
||||||
|
reservationList.value = res.data;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -32,46 +32,6 @@
|
|||||||
<image src="@/static/images/dayu.png" class="img"></image>
|
<image src="@/static/images/dayu.png" class="img"></image>
|
||||||
</view>
|
</view>
|
||||||
</picker>
|
</picker>
|
||||||
<!-- 项目选择列表 -->
|
|
||||||
<view class="new-project">
|
|
||||||
<view class="list" @click="onradio(item)" :class="this.techid == item.id ? 'on': ''"
|
|
||||||
v-for="(item, index) in techList" :key="index">
|
|
||||||
<view class="l">
|
|
||||||
<image
|
|
||||||
src="https://zysc.fjptzykj.com:3000/shangcheng/e940fb45cc53df01980b7069432d5101e104014fbb3cd24862d08c1ffba9df68.png"
|
|
||||||
class='img'></image>
|
|
||||||
</view>
|
|
||||||
<view class="r">
|
|
||||||
<view class="tt">
|
|
||||||
<image class='img img1'
|
|
||||||
src="https://zysc.fjptzykj.com:3000/shangcheng/d0a91de26065e4753357ed32f301d2ed9c8a9b10e789c9cddf5f5a93903af9da.png">
|
|
||||||
</image>
|
|
||||||
<image class='img img2'
|
|
||||||
src="https://zysc.fjptzykj.com:3000/shangcheng/f9e69fd9b1e60481f3ba926d1942d65e34c90916329823a16ce703f6fe36b2e9.png">
|
|
||||||
</image>
|
|
||||||
关于UI视觉设计方案需求评审
|
|
||||||
</view>
|
|
||||||
<view class="tt ttr">
|
|
||||||
<image class='img img1'
|
|
||||||
src="https://zysc.fjptzykj.com:3000/shangcheng/10b4a5f0abb36bb1a4ef71f36ffc867330d34844abd897a59889dc9a61b9c2af.png">
|
|
||||||
</image>
|
|
||||||
<image class='img img2'
|
|
||||||
src="https://zysc.fjptzykj.com:3000/shangcheng/a4a5541795df5e89912762bfb29900d8ab420abbda2753b2d22741e29e0ea150.png">
|
|
||||||
</image>
|
|
||||||
关于UI视觉设计方案需求评审
|
|
||||||
</view>
|
|
||||||
<view class="tt ttr">
|
|
||||||
<image class='img img1'
|
|
||||||
src="https://zysc.fjptzykj.com:3000/shangcheng/f197edf433c7c80703de38cf49f9bbef64192de14ec284950a023d68bcad792a.png">
|
|
||||||
</image>
|
|
||||||
<image class='img img2'
|
|
||||||
src="https://zysc.fjptzykj.com:3000/shangcheng/ca834c977ae99a35db90b5cef48c729c9ce953840a86847cb926d9752f58c0d7.png">
|
|
||||||
</image>
|
|
||||||
关于UI视觉设计方案需求评审
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
|
|
||||||
<view class="title">
|
<view class="title">
|
||||||
<image
|
<image
|
||||||
@ -79,7 +39,7 @@
|
|||||||
class="img"></image>
|
class="img"></image>
|
||||||
<text class='text'>套餐选择</text>
|
<text class='text'>套餐选择</text>
|
||||||
</view>
|
</view>
|
||||||
<picker mode="selector" :range="brandNameList" @change="onClinicChange">
|
<picker mode="selector" :range="brandNameList3" @change="onClinicChange3">
|
||||||
<view class="clinic-select-value">
|
<view class="clinic-select-value">
|
||||||
<text>{{ll3}}</text>
|
<text>{{ll3}}</text>
|
||||||
<image src="@/static/images/dayu.png" class="img"></image>
|
<image src="@/static/images/dayu.png" class="img"></image>
|
||||||
@ -96,15 +56,9 @@
|
|||||||
<scroll-view class="scroll-view_H" scroll-x="true" @scroll="scroll" scroll-left="120">
|
<scroll-view class="scroll-view_H" scroll-x="true" @scroll="scroll" scroll-left="120">
|
||||||
<view class="scroll-view-item_H" v-for="(item, index) in dateList" :key="index"
|
<view class="scroll-view-item_H" v-for="(item, index) in dateList" :key="index"
|
||||||
@click="selectDate(index)">
|
@click="selectDate(index)">
|
||||||
<view class="date-item" v-if="addDate==item.addDate"
|
<view class="date-item" :class="brandId4 == item.id ? 'on':''">
|
||||||
style="background-color: rgba(228,241,255);border: 1px solid rgba(3,150,248);">
|
<text class="date" style="color: black;">{{ item.days.slice(5) }}</text>
|
||||||
<text class="date" style="color: black;">{{ item.formattedDate }}</text>
|
<text class="weekday" style="color: rgba(82,82,2,83);">{{ item.week }}</text>
|
||||||
<text class="weekday" style="color: rgba(82,82,2,83);">{{ item.weekday }}</text>
|
|
||||||
</view>
|
|
||||||
<view class="date-item" v-if="addDate!=item.addDate">
|
|
||||||
|
|
||||||
<text class="date">{{ item.formattedDate }}</text>
|
|
||||||
<text class="weekday">{{ item.weekday }}</text>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</scroll-view>
|
</scroll-view>
|
||||||
@ -119,23 +73,13 @@
|
|||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="date-list">
|
<view class="date-list">
|
||||||
<view class="new-nei" v-for="(item, index) in serviceTime" :key="index">
|
<view class="new-nei" v-for="(item, index) in brandList4" :key="index">
|
||||||
<view class="date-list-new" @click="selecthsstr(index)" :class="hsstr==item.str ? 'on':''">
|
<view class="date-list-new" @click="selecthsstr(index,item.status)"
|
||||||
<view class="date-itemstr" v-if="hsstr==item.str">
|
:class="{'on' : brandId5 == item.id,'hui' : item.status == 0}" v-if="brandList3.length>0">
|
||||||
<text class="weekday">{{ item.str }}</text>
|
<view class="date-itemstr">
|
||||||
</view>
|
<view class="weekday">{{ item.timeQuantum }}</view>
|
||||||
|
|
||||||
<view v-if="item.ym==='true'" class="new-jk">
|
<view class="weekday">剩余{{item.residueNumber}}</view>
|
||||||
<view class="date-itemym" v-if="hsstr!=item.str">
|
|
||||||
<text class="weekdayym">约满</text><br />
|
|
||||||
<text class="weekday">{{ item.str }}</text>
|
|
||||||
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<view v-if="item.ym==='false'" class="new-jk">
|
|
||||||
<view class="date-itemstr" v-if="hsstr!=item.str">
|
|
||||||
<text class="weekday">{{ item.str }}</text>
|
|
||||||
</view>
|
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
@ -151,43 +95,20 @@
|
|||||||
|
|
||||||
<view class="yyxx-input">
|
<view class="yyxx-input">
|
||||||
<view class="name">
|
<view class="name">
|
||||||
姓名:<input class="int" placeholder="请输入您的名字" placeholder-style="color:rgba(204,204,204)" />
|
姓名:<input class="int" v-model="name" placeholder="请输入您的名字"
|
||||||
|
placeholder-style="color:rgba(204,204,204)" />
|
||||||
</view>
|
</view>
|
||||||
<view class="phone">
|
<view class="phone">
|
||||||
电话:<input class="int" placeholder="请输入您的电话" placeholder-style="color:rgba(204,204,204)" />
|
电话:<input class="int" v-model="phone" placeholder="请输入您的电话"
|
||||||
|
placeholder-style="color:rgba(204,204,204)" />
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="footer" @click="handleSubmit">
|
<view class="footer" @click="brandlists9">
|
||||||
立即预约
|
立即预约
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="container">
|
|
||||||
<radio-group>
|
|
||||||
<view class="doctor-list">
|
|
||||||
<!-- {{techList}} -->
|
|
||||||
<view class="doctor-card" v-for="(item, index) in techList" :key="index">
|
|
||||||
<view class="doctor-info">
|
|
||||||
<image class="doctor-avatar" :src="'https://sfyjk.com/api'+item.photo" mode="aspectFill">
|
|
||||||
</image>
|
|
||||||
<text class="doctor-name">{{ item.technicianName }}</text>
|
|
||||||
<text class="doctor-name" style="float: right;margin-right: 20px;">{{item.typeName}}</text>
|
|
||||||
|
|
||||||
<!-- <text class="doctor-specialty" v-if="item.content">介绍: {{item.content.substr(0, 20)}}...</text> -->
|
|
||||||
</view>
|
|
||||||
<radio style="float: right;" :value="item.id" @click="onradio(item)" :checked="index==0">
|
|
||||||
</radio>
|
|
||||||
<div v-if="techid == item.id">
|
|
||||||
<view class="info-title">服务范围</view>
|
|
||||||
<rich-text style="white-space: pre-wrap;" :nodes="item.serviceScope"></rich-text>
|
|
||||||
<view class="info-title">介绍</view>
|
|
||||||
<rich-text style="white-space: pre-wrap;" :nodes="item.content"></rich-text>
|
|
||||||
</div>
|
|
||||||
</view>
|
|
||||||
|
|
||||||
</view>
|
|
||||||
</radio-group>
|
|
||||||
</view>
|
|
||||||
</s-layout>
|
</s-layout>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -234,10 +155,15 @@
|
|||||||
brandList: [], //门店列表数据
|
brandList: [], //门店列表数据
|
||||||
brandList2: [], //项目列表数据
|
brandList2: [], //项目列表数据
|
||||||
brandList3: [], //套餐列表数据
|
brandList3: [], //套餐列表数据
|
||||||
brandNameList: [],//门店列表
|
brandList4: [], //时段列表数据
|
||||||
brandNameList2: [],//项目列表
|
brandNameList: [], //门店列表
|
||||||
brandNameList3: [],//套餐列表
|
brandNameList2: [], //项目列表
|
||||||
brandId: "",//门店当前选中id
|
brandNameList3: [], //套餐列表
|
||||||
|
brandId: "", //门店当前选中id
|
||||||
|
brandId2: "", //项目当前选中id
|
||||||
|
brandId3: "", //套餐当前选中id
|
||||||
|
brandId4: "", //预约日期当前选中id
|
||||||
|
brandId5: "", //时段当前选中id
|
||||||
brandName: "",
|
brandName: "",
|
||||||
selectedDayIndex: 0,
|
selectedDayIndex: 0,
|
||||||
selecttypeIndex: 0,
|
selecttypeIndex: 0,
|
||||||
@ -246,46 +172,63 @@
|
|||||||
ll: '请选择',
|
ll: '请选择',
|
||||||
ll2: '请选择',
|
ll2: '请选择',
|
||||||
ll3: '请选择',
|
ll3: '请选择',
|
||||||
gg: '请选择'
|
gg: '请选择',
|
||||||
|
dateIndex: '', //时间的状态
|
||||||
|
name: '',
|
||||||
|
phone: ''
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.isLogin = computed(() => sheep.$store('user').isLogin);
|
this.isLogin = computed(() => sheep.$store('user').isLogin);
|
||||||
this.memberId = computed(() => sheep.$store('user').userInfo).value.id
|
this.memberId = computed(() => sheep.$store('user').userInfo).value.id
|
||||||
this.brandlists();//调用门店列表
|
this.brandlists(); //调用门店列表
|
||||||
// this.brandlists2();//调用项目列表
|
|
||||||
// this.brandlists3();//调用套餐列表
|
|
||||||
this.generateDateList();
|
|
||||||
this.addDate = this.dateList[0].addDate;
|
|
||||||
this.gettypeList();
|
|
||||||
console.log(apiPath, baseUrl, "import.meta.env.SHOPRO_API_PATH")
|
|
||||||
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
onClinicChange(event) {
|
onClinicChange(event) {
|
||||||
|
|
||||||
|
this.brandId = ''
|
||||||
|
this.brandId2 = ''
|
||||||
|
this.brandId3 = ''
|
||||||
|
this.brandId4 = ''
|
||||||
|
this.brandId5 = ''
|
||||||
|
this.name = ''
|
||||||
|
this.phone = ''
|
||||||
|
this.ll2 = '请选择'
|
||||||
|
this.ll3 = '请选择'
|
||||||
|
this.brandNameList2 = []
|
||||||
|
this.brandNameList3 = []
|
||||||
|
this.dateList = []
|
||||||
|
this.brandList3 = []
|
||||||
|
|
||||||
const selectedClinicIndex = event.detail.value;
|
const selectedClinicIndex = event.detail.value;
|
||||||
this.selectedClinicIndex = selectedClinicIndex;
|
this.selectedClinicIndex = selectedClinicIndex;
|
||||||
this.ll = this.brandList[selectedClinicIndex].name
|
this.ll = this.brandList[selectedClinicIndex].name
|
||||||
// console.log("dddddddddddd")
|
|
||||||
// this.ll = this.brandList.list[selectedClinicIndex].name
|
|
||||||
this.brandId = this.brandList[selectedClinicIndex].id
|
this.brandId = this.brandList[selectedClinicIndex].id
|
||||||
this.brandlists2();
|
this.brandlists2();
|
||||||
},
|
},
|
||||||
onClinicChange2(event) {
|
onClinicChange2(event) {
|
||||||
|
|
||||||
const selectedClinicIndex = event.detail.value;
|
const selectedClinicIndex = event.detail.value;
|
||||||
this.selectedClinicIndex2 = selectedClinicIndex;
|
this.selectedClinicIndex2 = selectedClinicIndex;
|
||||||
this.ll2 = this.brandList2[selectedClinicIndex].name
|
this.ll2 = this.brandList2[selectedClinicIndex].name
|
||||||
// this.brandId = this.brandList.list[selectedClinicIndex].id
|
this.brandId2 = this.brandList2[selectedClinicIndex].id
|
||||||
console.log("------onClinicChange2------")
|
this.setDate();
|
||||||
// this.ll = this.brandList.list[selectedClinicIndex].name
|
this.brandlists3();
|
||||||
// this.technicianList();
|
},
|
||||||
|
onClinicChange3(event) {
|
||||||
|
|
||||||
|
|
||||||
|
const selectedClinicIndex = event.detail.value;
|
||||||
|
this.selectedClinicIndex3 = selectedClinicIndex;
|
||||||
|
this.ll3 = this.brandList3[selectedClinicIndex].name
|
||||||
|
this.brandId3 = this.brandList3[selectedClinicIndex].id
|
||||||
},
|
},
|
||||||
ontype(event) {
|
ontype(event) {
|
||||||
const selecttypeIndex = event.detail.value;
|
const selecttypeIndex = event.detail.value;
|
||||||
this.selecttypeIndex = selecttypeIndex;
|
this.selecttypeIndex = selecttypeIndex;
|
||||||
this.typename = this.typeList[selecttypeIndex].dictValue
|
this.typename = this.typeList[selecttypeIndex].dictValue
|
||||||
this.type = this.typeList[selecttypeIndex].value
|
this.type = this.typeList[selecttypeIndex].value
|
||||||
console.log(this.type, "this.type")
|
|
||||||
this.gg = this.typeList[selecttypeIndex].label
|
this.gg = this.typeList[selecttypeIndex].label
|
||||||
this.technicianList();
|
this.technicianList();
|
||||||
},
|
},
|
||||||
@ -306,6 +249,8 @@
|
|||||||
},
|
},
|
||||||
// 查询项目列表
|
// 查询项目列表
|
||||||
brandlists2() {
|
brandlists2() {
|
||||||
|
this.brandNameList2 = [];
|
||||||
|
this.brandList2 = [];
|
||||||
request({
|
request({
|
||||||
url: `${baseUrl}${apiPath}/h5/project/getProject`,
|
url: `${baseUrl}${apiPath}/h5/project/getProject`,
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
@ -316,231 +261,134 @@
|
|||||||
showLoading: false,
|
showLoading: false,
|
||||||
},
|
},
|
||||||
}).then((res) => {
|
}).then((res) => {
|
||||||
// this.brandList2 = res.data
|
this.brandList2 = res.data
|
||||||
console.log(res,"------brandList2------")
|
for (var i = 0; i < this.brandList2.length; i++) {
|
||||||
// for (var i = 0; i < this.brandList2.length; i++) {
|
this.brandNameList2.push(this.brandList2[i].name)
|
||||||
// this.brandNameList2.push(this.brandList2[i].name)
|
}
|
||||||
// }
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 查询套餐列表
|
// 查询日期列表
|
||||||
brandlists3() {
|
setDate() {
|
||||||
request({
|
request({
|
||||||
url: `${baseUrl}${apiPath}/h5/technician/getTecchnician`,
|
url: `${baseUrl}${apiPath}/h5/projectday/getProjectday`,
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
|
params: {
|
||||||
|
id: this.brandId2
|
||||||
|
},
|
||||||
custom: {
|
custom: {
|
||||||
showLoading: false,
|
showLoading: false,
|
||||||
},
|
},
|
||||||
}).then((res) => {
|
}).then((res) => {
|
||||||
|
this.dateList = res.data;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 查询套餐列表
|
||||||
|
brandlists3() {
|
||||||
|
this.brandList3 = []
|
||||||
|
this.brandNameList3 = []
|
||||||
|
request({
|
||||||
|
url: `${baseUrl}${apiPath}/h5/technician/getTechnician`,
|
||||||
|
method: 'GET',
|
||||||
|
params: {
|
||||||
|
id: this.brandId2
|
||||||
|
},
|
||||||
|
custom: {
|
||||||
|
showLoading: false,
|
||||||
|
},
|
||||||
|
}).then((res) => {
|
||||||
|
if(res){
|
||||||
|
|
||||||
|
}
|
||||||
|
console.log(this.brandList3,"------brandList3---------");
|
||||||
|
console.log(res,"------brandList3---------");
|
||||||
this.brandList3 = res.data
|
this.brandList3 = res.data
|
||||||
for (var i = 0; i < this.brandList3.length; i++) {
|
for (var i = 0; i < this.brandList3.length; i++) {
|
||||||
this.brandNameList3.push(this.brandList3[i].name)
|
this.brandNameList3.push(this.brandList3[i].name)
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
gettypeList() {
|
// 查询预约时段列表
|
||||||
|
brandlists4() {
|
||||||
request({
|
request({
|
||||||
url: `${baseUrl}${apiPath}/h5/reservation/type`,
|
url: `${baseUrl}${apiPath}/h5/configuration/getConfiguration`,
|
||||||
method: 'GET',
|
|
||||||
custom: {
|
|
||||||
showLoading: false,
|
|
||||||
},
|
|
||||||
}).then((res) => {
|
|
||||||
console.log(res, "typeListtypeList")
|
|
||||||
this.typeList = res.data
|
|
||||||
for (var i = 0; i < this.typeList.length; i++) {
|
|
||||||
this.typenameList.push(this.typeList[i].label);
|
|
||||||
}
|
|
||||||
console.log(this.typenameList)
|
|
||||||
});
|
|
||||||
},
|
|
||||||
// 查询医生列表
|
|
||||||
technicianList() {
|
|
||||||
console.log("有没有进来technicianList");
|
|
||||||
this.techid = null,
|
|
||||||
this.serviceTime = []
|
|
||||||
this.hsstr = ""
|
|
||||||
request({
|
|
||||||
url: `${baseUrl}${apiPath}/h5/technician/list`,
|
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
params: {
|
params: {
|
||||||
type: this.type,
|
projectdayId: this.brandId4,
|
||||||
brandId: this.brandId
|
technicianId: this.brandId3
|
||||||
},
|
},
|
||||||
custom: {
|
custom: {
|
||||||
showLoading: false,
|
showLoading: false,
|
||||||
},
|
},
|
||||||
}).then((res) => {
|
}).then((res) => {
|
||||||
console.log(res)
|
this.brandList4 = res.data
|
||||||
this.techList = res.data.list
|
|
||||||
console.log(this.techList)
|
|
||||||
if (this.techList.length > 0) {
|
|
||||||
this.techid = this.techList[0].id
|
|
||||||
var item = {
|
|
||||||
id: this.techid
|
|
||||||
}
|
|
||||||
this.onradio(item);
|
|
||||||
}
|
|
||||||
|
|
||||||
console.log(this.techList)
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
// 提交表单接口
|
||||||
onradio(item) {
|
brandlists9() {
|
||||||
this.techid = item.id
|
if (!this.brandId) {
|
||||||
this.serviceTime = []
|
sheep.$helper.toast('请选择门店')
|
||||||
this.hsstr = ""
|
} else if (!this.brandId2) {
|
||||||
|
sheep.$helper.toast('请选择项目')
|
||||||
|
} else if (!this.brandId3) {
|
||||||
|
sheep.$helper.toast('请选择套餐')
|
||||||
|
} else if (!this.brandId4) {
|
||||||
|
sheep.$helper.toast('请选择预约日期')
|
||||||
|
} else if (!this.brandId5) {
|
||||||
|
sheep.$helper.toast('请选择预约时段')
|
||||||
|
} else if (!this.name) {
|
||||||
|
sheep.$helper.toast('请填写姓名')
|
||||||
|
} else if (!this.phone) {
|
||||||
|
sheep.$helper.toast('请填写电话')
|
||||||
|
} else {
|
||||||
request({
|
request({
|
||||||
url: `${baseUrl}${apiPath}/h5/technician/h5xq`,
|
url: `${baseUrl}${apiPath}/h5/reservation/addReservation`,
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
params: {
|
params: {
|
||||||
addDate: this.addDate,
|
brandId: this.brandId,
|
||||||
id: this.techid
|
projectId: this.brandId2,
|
||||||
|
technicianId: this.brandId3,
|
||||||
|
projectdayId: this.brandId4,
|
||||||
|
timeId: this.brandId5,
|
||||||
|
name: this.name,
|
||||||
|
phone: this.phone
|
||||||
},
|
},
|
||||||
custom: {
|
custom: {
|
||||||
showLoading: false,
|
showLoading: false,
|
||||||
},
|
},
|
||||||
}).then((res) => {
|
}).then((res) => {
|
||||||
console.log(res);
|
if (res.code == 0) {
|
||||||
var serviceTime = JSON.parse(res.data.serviceTime)
|
sheep.$helper.toast('提交成功');
|
||||||
console.log(serviceTime, "serviceTimeserviceTimeserviceTime")
|
sheep.$router.go('/pages/index/user')
|
||||||
if (serviceTime) {
|
|
||||||
for (let i = 0; i < serviceTime.length; i++) {
|
|
||||||
console.log(serviceTime[i].end)
|
|
||||||
console.log(serviceTime[i].start)
|
|
||||||
console.log(serviceTime[i].ym)
|
|
||||||
if (serviceTime[i].end && serviceTime[i].start) {
|
|
||||||
this.sjd = {},
|
|
||||||
this.sjd.str = serviceTime[i].start.toString() + "-" + serviceTime[
|
|
||||||
i].end.toString()
|
|
||||||
this.sjd.ym = serviceTime[i].ym
|
|
||||||
this.serviceTime.push(this.sjd)
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
console.log(this.serviceTime, "this.serviceTime")
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
selectDay(index) {
|
// 删除前五位数字
|
||||||
this.selectedDayIndex = index;
|
delete(val) {},
|
||||||
},
|
//查看时段接口
|
||||||
handleSwiperChange(event) {
|
selectDate(index) {
|
||||||
this.selectedDayIndex = event.mp.detail.current;
|
console.log(this.brandList3, "brandList3")
|
||||||
},
|
if(this.brandId3 == ''){
|
||||||
formatDate(date) {
|
sheep.$helper.toast('请先选择套餐')
|
||||||
const options = {
|
|
||||||
month: "2-digit",
|
|
||||||
day: "2-digit"
|
|
||||||
};
|
|
||||||
return date.toLocaleDateString("en-US", options);
|
|
||||||
},
|
|
||||||
handleSubmit() {
|
|
||||||
this.memberId = computed(() => sheep.$store('user').userInfo).value.id
|
|
||||||
if (!this.memberId) {
|
|
||||||
if (sheep.$platform.name === 'WechatMiniProgram') {
|
|
||||||
// showAuthModal('wechatMiniLogin')
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
showAuthModal('accountLogin')
|
this.dateIndex = index;
|
||||||
} else {
|
this.brandId4 = this.dateList[index].id;
|
||||||
this.memberId = computed(() => sheep.$store('user').userInfo).value.id
|
this.brandlists4();
|
||||||
if (!this.brandId) {
|
|
||||||
sheep.$helper.toast('请选择医馆')
|
|
||||||
} else if (!this.techid) {
|
|
||||||
sheep.$helper.toast('请选择技师')
|
|
||||||
} else if (!this.addDate) {
|
|
||||||
sheep.$helper.toast('请选择预约时间')
|
|
||||||
} else if (!this.hsstr) {
|
|
||||||
sheep.$helper.toast('请选择预约时间段')
|
|
||||||
} else if (this.memberId) {
|
|
||||||
request({
|
|
||||||
url: `${baseUrl}/app-api/h5/reservation/add`,
|
|
||||||
method: 'post',
|
|
||||||
params: {
|
|
||||||
type: this.type,
|
|
||||||
brandId: this.brandId,
|
|
||||||
technicianId: this.techid,
|
|
||||||
reAddTime: this.addDate,
|
|
||||||
hsstr: this.hsstr,
|
|
||||||
userId: this.memberId,
|
|
||||||
},
|
},
|
||||||
custom: {
|
selecthsstr(index, status) {
|
||||||
showLoading: false,
|
if (status == 0) {
|
||||||
},
|
this.brandId5 = '';
|
||||||
}).then((res) => {
|
console.log('this.brandId5', this.brandId5);
|
||||||
uni.showModal({
|
sheep.$helper.toast('该时间段已约满')
|
||||||
title: '预约提示',
|
return;
|
||||||
content: '预约成功!',
|
|
||||||
success: function(res) {
|
|
||||||
if (res.confirm) {
|
|
||||||
uni.switchTab({
|
|
||||||
url: '/pages/index/user'
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
uni.switchTab({
|
|
||||||
url: '/pages/index/user'
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
this.brandId5 = this.brandList4[index].id;
|
||||||
|
console.log('this.brandId5', this.brandId5);
|
||||||
}
|
}
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
console.log("立即预约");
|
|
||||||
},
|
|
||||||
|
|
||||||
|
|
||||||
generateDateList() {
|
|
||||||
const weekDays = ['周日', '周一', '周二', '周三', '周四', '周五', '周六'];
|
|
||||||
const today = new Date();
|
|
||||||
for (let i = 0; i < 7; i++) {
|
|
||||||
const date = new Date(today);
|
|
||||||
date.setDate(date.getDate() + i);
|
|
||||||
const formattedDate =
|
|
||||||
// `${date.getFullYear()}-${(date.getMonth() + 1).toString().padStart(2, '0')}-${date.getDate().toString().padStart(2, '0')}`;
|
|
||||||
`${(date.getMonth() + 1).toString().padStart(2, '0')}-${date.getDate().toString().padStart(2, '0')}`;
|
|
||||||
const weekday = weekDays[date.getDay()];
|
|
||||||
const addDate =
|
|
||||||
`${date.getFullYear()}-${(date.getMonth() + 1).toString().padStart(2, '0')}-${date.getDate().toString().padStart(2, '0')}`;
|
|
||||||
this.dateList.push({
|
|
||||||
date,
|
|
||||||
formattedDate,
|
|
||||||
addDate,
|
|
||||||
weekday
|
|
||||||
});
|
|
||||||
}
|
|
||||||
},
|
|
||||||
selectDate(index) {
|
|
||||||
this.addDate = this.dateList[index].addDate
|
|
||||||
if (this.techid) {
|
|
||||||
var item = {
|
|
||||||
id: this.techid
|
|
||||||
}
|
|
||||||
this.onradio(item);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 处理选中日期的逻辑,例如触发事件、更新状态等
|
|
||||||
console.log('Selected date:', this.addDate);
|
|
||||||
},
|
|
||||||
selecthsstr(index) {
|
|
||||||
console.log(this.serviceTime[index].str)
|
|
||||||
console.log(this.serviceTime[index].ym)
|
|
||||||
if (this.serviceTime[index].ym === "true") {
|
|
||||||
|
|
||||||
} else if (this.serviceTime[index].ym === "false") {
|
|
||||||
this.hsstr = this.serviceTime[index].str
|
|
||||||
}
|
|
||||||
|
|
||||||
// 处理选中日期的逻辑,例如触发事件、更新状态等
|
|
||||||
console.log('this.serviceTimesss:', this.serviceTime[index].ym);
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
@ -728,22 +576,28 @@
|
|||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
|
|
||||||
&.on {
|
&.on {
|
||||||
background: rgb(0, 149, 248);
|
background: #e4f1ff;
|
||||||
|
|
||||||
.date-itemstr {
|
|
||||||
|
|
||||||
// background-color: #ff5541;
|
|
||||||
.weekday {
|
|
||||||
color: white;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.date-itemstr {
|
.date-itemstr {
|
||||||
|
|
||||||
// background-color: #ff5541;
|
// background-color: #ff5541;
|
||||||
.weekday {}
|
.weekday {}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&.hui {
|
||||||
|
user-select: none;
|
||||||
|
background: #f6f6f6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.date-itemstr {
|
||||||
|
|
||||||
|
// background-color: #ff5541;
|
||||||
|
.weekday {
|
||||||
|
color: black;
|
||||||
|
font-size: 8px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.new-jk {
|
.new-jk {
|
||||||
.date-itemym {
|
.date-itemym {
|
||||||
@ -776,17 +630,23 @@
|
|||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
// background-color: #ff5541;
|
// background-color: #ff5541;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&.on {
|
||||||
|
background-color: rgba(228, 241, 255);
|
||||||
|
border: 1px solid rgba(3, 150, 248);
|
||||||
|
}
|
||||||
|
|
||||||
.date {
|
.date {
|
||||||
font-size: 8px;
|
font-size: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.weekday {
|
.weekday {
|
||||||
margin-top: 5px;
|
margin-top: 5px;
|
||||||
font-size: 10px;
|
font-size: 8px;
|
||||||
color: #666;
|
color: #666;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -15,14 +15,14 @@
|
|||||||
<image src="" class="img"></image>
|
<image src="" class="img"></image>
|
||||||
</view>
|
</view>
|
||||||
<view class="c">您与众悦e家商场的第101天</view>
|
<view class="c">您与众悦e家商场的第101天</view>
|
||||||
<view class="b">开通即享会员权益</view>
|
<view class="b" v-if="!userInfo.activate">开通即享会员权益</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="r">
|
<view class="r" v-if="!userInfo.activate">
|
||||||
开通会员
|
<text>立即开通</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
<view class="vipLv" v-if="userInfo.activate">当前卡片:{{userInfo.cardName}}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="vip-zxq">
|
<view class="vip-zxq">
|
||||||
<image
|
<image
|
||||||
@ -54,10 +54,10 @@
|
|||||||
|
|
||||||
<view class="vip-kt">
|
<view class="vip-kt">
|
||||||
<view class="top">
|
<view class="top">
|
||||||
<text class="t1" v-if="userInfo.activate == 1">试用会员</text>
|
<!-- <text class="t1" v-if="userInfo.activate == 1">试用会员</text> -->
|
||||||
<text class="t1" v-if="userInfo.activate == 2">开通会员</text>
|
<text class="t1" v-if="!userInfo.activate">开通会员</text>
|
||||||
<text class="t2">有效期至</text>
|
<text class="t2" v-if="userInfo.activate">有效期至</text>
|
||||||
<text class="t3">2024-10-24</text>
|
<text class="t3" v-if="userInfo.activate">{{userInfo.cardExpirationTime}}</text>
|
||||||
</view>
|
</view>
|
||||||
<scroll-view class="scroll-view_H" scroll-x="true" @scroll="scroll" scroll-left="120">
|
<scroll-view class="scroll-view_H" scroll-x="true" @scroll="scroll" scroll-left="120">
|
||||||
<view id="demo1" @click="vipFun(index,item.name)" class="scroll-view-item_H uni-bg-red" :class="valVip == index ? 'on' : ''" v-for="(item,index) in vipList" :key="index">
|
<view id="demo1" @click="vipFun(index,item.name)" class="scroll-view-item_H uni-bg-red" :class="valVip == index ? 'on' : ''" v-for="(item,index) in vipList" :key="index">
|
||||||
@ -72,12 +72,12 @@
|
|||||||
<view class="vip-text">
|
<view class="vip-text">
|
||||||
购买即视为同意《<text class="ts">会员用户协议</text>》
|
购买即视为同意《<text class="ts">会员用户协议</text>》
|
||||||
</view>
|
</view>
|
||||||
<view class="vip-btn" @click="beclick()" v-if="userInfo.activate != 1">
|
<view class="vip-btn" @click="beclick()" v-if="!userInfo.activate">
|
||||||
立即试用
|
立即试用
|
||||||
</view>
|
</view>
|
||||||
<view class="vip-btn" @click="beclick()" v-else>
|
<!-- <view class="vip-btn" @click="beclick()" v-else>
|
||||||
立即开通
|
立即开通
|
||||||
</view>
|
</view> -->
|
||||||
</view>
|
</view>
|
||||||
</s-layout>
|
</s-layout>
|
||||||
</template>
|
</template>
|
||||||
@ -99,7 +99,7 @@
|
|||||||
const userInfo = computed(() => sheep.$store('user').userInfo);
|
const userInfo = computed(() => sheep.$store('user').userInfo);
|
||||||
const vipList = ref([]);
|
const vipList = ref([]);
|
||||||
const vipList2 = ref([]);
|
const vipList2 = ref([]);
|
||||||
const valVip = ref([]);
|
const valVip = ref(88888);
|
||||||
const nameVip = ref([]);
|
const nameVip = ref([]);
|
||||||
// 定义方法
|
// 定义方法
|
||||||
function getList() {
|
function getList() {
|
||||||
@ -124,6 +124,7 @@
|
|||||||
function vipFun(index,name) {
|
function vipFun(index,name) {
|
||||||
valVip.value = index
|
valVip.value = index
|
||||||
data.cardName = name
|
data.cardName = name
|
||||||
|
console.log(index,name,"name")
|
||||||
}
|
}
|
||||||
|
|
||||||
// beclick
|
// beclick
|
||||||
@ -138,9 +139,14 @@
|
|||||||
},
|
},
|
||||||
}).then((res) => {
|
}).then((res) => {
|
||||||
console.log(res,"-----------试用---------------")
|
console.log(res,"-----------试用---------------")
|
||||||
if(res.code == 200){
|
if(res.code == 0){
|
||||||
|
if(data.cardName == "试用"){
|
||||||
sheep.$helper.toast('试用开通成功');
|
sheep.$helper.toast('试用开通成功');
|
||||||
sheep.$router.go('/pages/index/user')
|
sheep.$router.go('/pages/index/user')
|
||||||
|
}else{
|
||||||
|
sheep.$router.go('/pages/pay/index', { id: res.data.payOrderId,type:'vip',vipid: res.data.id,cardName: data.cardName })
|
||||||
|
}
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
sheep.$helper.toast(res.msg);
|
sheep.$helper.toast(res.msg);
|
||||||
}
|
}
|
||||||
@ -178,7 +184,12 @@
|
|||||||
height: 200px;
|
height: 200px;
|
||||||
// background: rgba(57, 55, 54);
|
// background: rgba(57, 55, 54);
|
||||||
position: relative;
|
position: relative;
|
||||||
|
.vipLv{
|
||||||
|
position:absolute;
|
||||||
|
bottom: 93px;
|
||||||
|
right: 10%;
|
||||||
|
color: #8a745c;
|
||||||
|
}
|
||||||
.img {
|
.img {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
@ -1,12 +1,26 @@
|
|||||||
<!-- 我的积分 -->
|
<!-- 我的积分 -->
|
||||||
<template>
|
<template>
|
||||||
<s-layout class="wallet-wrap" title="我的积分" navbar="inner">
|
<s-layout class="wallet-wrap" title="我的积分" navbar="inner" :bgStyle="{ backgroundColor: '#fff'}">
|
||||||
<view class="header-box ss-flex ss-flex-col ss-row-center ss-col-center" :style="[
|
<view class="header-box ss-flex ss-flex-col ss-row-center ss-col-center" :style="[
|
||||||
{
|
{
|
||||||
marginTop: '-' + Number(statusBarHeight + 88) + 'rpx',
|
marginTop: '-' + Number(statusBarHeight + 88) + 'rpx',
|
||||||
paddingTop: Number(statusBarHeight + 88) + 'rpx',
|
paddingTop: Number(statusBarHeight + 88) + 'rpx',
|
||||||
},
|
},
|
||||||
]">
|
]">
|
||||||
|
<view class="filter-box ss-p-x-30 ss-flex ss-col-center ss-row-between" :style="[{top: Number(statusBarHeight + 88) + 'rpx'}]" v-if="state.isShow == 1">
|
||||||
|
<uni-datetime-picker v-model="state.date" type="daterange" @change="onChangeTime" :end="state.today">
|
||||||
|
<button class="ss-reset-button date-btn">
|
||||||
|
<text>{{ dateFilterText }}</text>
|
||||||
|
<text class="cicon-drop-down ss-seldate-icon"></text>
|
||||||
|
</button>
|
||||||
|
</uni-datetime-picker>
|
||||||
|
|
||||||
|
<!-- TODO 芋艿:优化 -->
|
||||||
|
<!-- <view class="total-box">-->
|
||||||
|
<!-- <view class="ss-m-b-10">总收入¥{{ state.pagination.income }}</view>-->
|
||||||
|
<!-- <view>总支出¥{{ -state.pagination.expense }}</view>-->
|
||||||
|
<!-- </view>-->
|
||||||
|
</view>
|
||||||
<view class="header-bg">
|
<view class="header-bg">
|
||||||
<view class="bg" />
|
<view class="bg" />
|
||||||
</view>
|
</view>
|
||||||
@ -56,20 +70,7 @@
|
|||||||
<!-- tab -->
|
<!-- tab -->
|
||||||
<!-- <su-sticky :customNavHeight="sys_navBar"> -->
|
<!-- <su-sticky :customNavHeight="sys_navBar"> -->
|
||||||
<!-- 统计 -->
|
<!-- 统计 -->
|
||||||
<view class="filter-box ss-p-x-30 ss-flex ss-col-center ss-row-between" v-if="state.isShow == 1">
|
|
||||||
<uni-datetime-picker v-model="state.date" type="daterange" @change="onChangeTime" :end="state.today">
|
|
||||||
<button class="ss-reset-button date-btn">
|
|
||||||
<text>{{ dateFilterText }}</text>
|
|
||||||
<text class="cicon-drop-down ss-seldate-icon"></text>
|
|
||||||
</button>
|
|
||||||
</uni-datetime-picker>
|
|
||||||
|
|
||||||
<!-- TODO 芋艿:优化 -->
|
|
||||||
<!-- <view class="total-box">-->
|
|
||||||
<!-- <view class="ss-m-b-10">总收入¥{{ state.pagination.income }}</view>-->
|
|
||||||
<!-- <view>总支出¥{{ -state.pagination.expense }}</view>-->
|
|
||||||
<!-- </view>-->
|
|
||||||
</view>
|
|
||||||
<!-- <su-tabs :list="tabMaps" @change="onChange" :scrollable="false" :current="state.currentTab"></su-tabs> -->
|
<!-- <su-tabs :list="tabMaps" @change="onChange" :scrollable="false" :current="state.currentTab"></su-tabs> -->
|
||||||
<!-- </su-sticky> -->
|
<!-- </su-sticky> -->
|
||||||
<!-- icon -->
|
<!-- icon -->
|
||||||
@ -247,9 +248,9 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.c {
|
.c {
|
||||||
font-size: 18px;
|
font-size: 15px;
|
||||||
color: rgba(198, 179, 114);
|
color: rgba(198, 179, 114);
|
||||||
width: 50%;
|
width: 40%;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
line-height: 26px;
|
line-height: 26px;
|
||||||
}
|
}
|
||||||
@ -270,7 +271,7 @@
|
|||||||
background-size: 750rpx 100%;
|
background-size: 750rpx 100%;
|
||||||
padding: 0 0 0 0;
|
padding: 0 0 0 0;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
|
position:relative;
|
||||||
.new-tab {
|
.new-tab {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
@ -282,7 +283,7 @@
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
width: 45%;
|
width: 45%;
|
||||||
padding: 13px 0;
|
padding: 9px 0;
|
||||||
background: rgba(247, 247, 247);
|
background: rgba(247, 247, 247);
|
||||||
border-radius: 10px 0 0 0;
|
border-radius: 10px 0 0 0;
|
||||||
|
|
||||||
@ -292,8 +293,8 @@
|
|||||||
|
|
||||||
.img,
|
.img,
|
||||||
.img2 {
|
.img2 {
|
||||||
width: 25px;
|
width: 20px;
|
||||||
height: 25px;
|
height: 20px;
|
||||||
margin-right: 5px;
|
margin-right: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -314,8 +315,9 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.tx {
|
.tx {
|
||||||
font-size: 18px;
|
font-size: 16px;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
|
color:rgba(187,187,187);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -377,7 +379,8 @@
|
|||||||
height: 114rpx;
|
height: 114rpx;
|
||||||
background-color: $bg-page;
|
background-color: $bg-page;
|
||||||
background: rgb(193, 145, 81);
|
background: rgb(193, 145, 81);
|
||||||
|
position:absolute;
|
||||||
|
left:-20px;
|
||||||
.total-box {
|
.total-box {
|
||||||
font-size: 24rpx;
|
font-size: 24rpx;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
@ -385,13 +388,13 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.date-btn {
|
.date-btn {
|
||||||
background-color: $white;
|
background-color: rgb(254, 242, 219);
|
||||||
line-height: 54rpx;
|
line-height: 54rpx;
|
||||||
border-radius: 27rpx;
|
border-radius:0 27rpx 27rpx 0;
|
||||||
padding: 0 20rpx;
|
padding: 0 20rpx;
|
||||||
font-size: 24rpx;
|
font-size: 24rpx;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
color: $dark-6;
|
color: rgba(137,118,76);
|
||||||
|
|
||||||
.ss-seldate-icon {
|
.ss-seldate-icon {
|
||||||
font-size: 50rpx;
|
font-size: 50rpx;
|
||||||
|
@ -69,7 +69,7 @@
|
|||||||
sheep.$router.go('/pages/user/user_vip/list')
|
sheep.$router.go('/pages/user/user_vip/list')
|
||||||
">
|
">
|
||||||
<view class="new-button" v-if="userInfo.activate == 1">正在试用</view>
|
<view class="new-button" v-if="userInfo.activate == 1">正在试用</view>
|
||||||
<view class="new-button" v-if="userInfo.activate == 2">开通</view>
|
<view class="new-button" v-if="userInfo.activate == 2">立即查看</view>
|
||||||
<view class="new-button" v-if="userInfo.activate == 3">永久</view>
|
<view class="new-button" v-if="userInfo.activate == 3">永久</view>
|
||||||
<view class="new-button" v-if="userInfo.activate == 0">立即开通</view>
|
<view class="new-button" v-if="userInfo.activate == 0">立即开通</view>
|
||||||
<image class="seckill1" mode="aspectFit"
|
<image class="seckill1" mode="aspectFit"
|
||||||
|
Loading…
Reference in New Issue
Block a user