修改团购部分的bug

This commit is contained in:
赵毅 2025-08-27 18:00:04 +08:00
parent 3ecdf95c24
commit 7f122c9754
19 changed files with 1119 additions and 2366 deletions

View File

@ -17,5 +17,5 @@ export const apiArr = {
queryOrder: '/api/v2/wechat/commodity/order/trade_query', // 查询订单
getComment: '/api/v2/wechat/commodity/review/list', // 获取评论
mergePreorder: '/api/v2/wechat/commodity/order/merge_preorder', // 商品订单合并预下单
mergePreorder: '/api/v2/wechat/commodity/order/preorder', // 商品订单合并预下单
}

View File

@ -1,667 +0,0 @@
<template>
<view>
<view class="express">
<!-- Step Navigation -->
<view class="strideList">
<view class="strideItem" :class="{active: step == 1}" @tap="changeItem(1)">基础<br />信息</view>
<view class="icons">
<image
:src="step != 2 ? 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/health/play_1.png' : 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/health/play_2.png'"
mode="widthFix" />
</view>
<view class="strideItem" :class="{active: step == 2}" @tap="changeItem(2)">病历<br />信息</view>
<view class="icons">
<image
:src="step != 3 ? 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/health/play_1.png' : 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/health/play_2.png'"
mode="widthFix" />
</view>
<view class="strideItem" :class="{active: step == 3}" @tap="changeItem(3)">生活<br />方式</view>
<view class="icons">
<image
:src="step != 4 ? 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/health/play_1.png' : 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/health/play_2.png'"
mode="widthFix" />
</view>
<view class="strideItem" :class="{active: step == 4}" @tap="changeItem(4)">授权<br />用户</view>
</view>
<!-- Step 1: Basic Information -->
<view class="basic" v-if="step == 1">
<view class="basic_row">
<view class="basic_row_tit">姓名</view>
<view class="basic_row_con">
<input v-model="name" placeholder="请填写您的姓名" placeholder-style="color: #999999;font-size: 26rpx" />
</view>
</view>
<view class="basic_row">
<view class="basic_row_tit">电话</view>
<view class="basic_row_con">
<input v-model="phone" type="number" maxlength="11" placeholder="请填写您的电话"
placeholder-style="color: #999999;font-size: 26rpx" />
</view>
</view>
<view class="basic_row">
<view class="basic_row_tit">性别</view>
<view class="basic_row_con">
<view class="sex" :class="{active2: sex == 'man'}" @tap="changeSex('man')">
<view class="cir"></view>
</view>
<view class="sex" :class="{active2: sex == 'woman'}" @tap="changeSex('woman')">
<view class="cir"></view>
</view>
</view>
</view>
<view class="basic_row">
<view class="basic_row_tit">出生日期</view>
<view class="basic_row_con" @tap="changeShow">
<input v-model="time" disabled placeholder="请选择您的出生日期"
placeholder-style="color: #999999;font-size: 26rpx" />
</view>
</view>
<view class="basic_row">
<view class="basic_row_tit">身高</view>
<view class="basic_row_con">
<input v-model="height" placeholder="请填写身高(单位cm)" placeholder-style="color: #999999;font-size: 26rpx" />
</view>
</view>
<view class="basic_row none">
<view class="basic_row_tit">体重</view>
<view class="basic_row_con">
<input v-model="weight" placeholder="请填写体重(单位Kg)" placeholder-style="color: #999999;font-size: 26rpx" />
</view>
</view>
<view class="btn" @click="headerStepClick">下一步</view>
</view>
<!-- Step 2: Medical Information -->
<view class="infomation" v-if="step == 2">
<view class="basic_row">
<view class="basic_row_tit">血值类型</view>
<view class="basic_row_con" @tap="changeShow2('bloodType', '血脂类型')">
<input v-model="bloodType" disabled placeholder="请选择您的血值类型"
placeholder-style="color: #999999;font-size: 26rpx" />
</view>
</view>
<view class="basic_row">
<view class="basic_row_tit">糖尿病类型</view>
<view class="basic_row_con" @tap="changeShow2('diabetesType', '糖尿病类型')">
<input v-model="diabetesType" disabled placeholder="请选择您的糖尿病类型"
placeholder-style="color: #999999;font-size: 26rpx" />
</view>
</view>
<view class="basic_row">
<view class="basic_row_tit">血压类型</view>
<view class="basic_row_con" @tap="changeShow2('bloodPressure', '血压类型')">
<input v-model="bloodPressure" disabled placeholder="请选择您的血压类型"
placeholder-style="color: #999999;font-size: 26rpx" />
</view>
</view>
<view class="basic_row2">
<view class="basic_row_tit">既往病史</view>
<view class="illnessList">
<view class="illnessItem" :class="{checked: pastCase === 'a'}" @tap="headerInputClick2('pastCase', 'a')">胸闷
</view>
<view class="illnessItem" :class="{checked: pastCase === 'b'}" @tap="headerInputClick2('pastCase', 'b')">心慌
</view>
<view class="illnessItem" :class="{checked: pastCase === 'c'}" @tap="headerInputClick2('pastCase', 'c')">头晕
</view>
<view class="illnessItem" :class="{checked: pastCase === 'd'}" @tap="headerInputClick2('pastCase', 'd')">痛风
</view>
<view class="illnessItem" :class="{checked: pastCase === 'e'}" @tap="headerInputClick2('pastCase', 'e')">
脑血管疾病</view>
<view class="illnessItem" :class="{checked: pastCase === 'f'}" @tap="headerInputClick2('pastCase', 'f')">
急性并发症</view>
<view class="illnessItem" :class="{checked: pastCase === 'g'}" @tap="headerInputClick2('pastCase', 'g')">
心脏疾病</view>
<view class="illnessItem" :class="{checked: pastCase === 'h'}" @tap="headerInputClick2('pastCase', 'h')">其他
</view>
<!-- 其他病史选项... -->
</view>
</view>
<view class="basic_row2">
<view class="basic_row_tit">既往用药</view>
<view class="drugList">
<view class="drugItem" :class="{checked: pharmacy === 'a'}" @tap="headerInputClick2('pharmacy', 'a')">他汀类降脂药
</view>
<view class="drugItem" :class="{checked: pharmacy === 'b'}" @tap="headerInputClick2('pharmacy', 'b')">中药降脂
</view>
<view class="drugItem" :class="{checked: pharmacy === 'c'}" @tap="headerInputClick2('pharmacy', 'c')">中药降酸药
</view>
<view class="drugItem" :class="{checked: pharmacy === 'd'}" @tap="headerInputClick2('pharmacy', 'd')">其他
</view>
</view>
</view>
<view class="basic_row none">
<view class="basic_row_tit">用药时间</view>
<view class="basic_row_con">
<view class="sex" :class="{active2: drugTime == '3'}" @tap="changeTime('3')">
<view class="cir"></view>3
</view>
<view class="sex" :class="{active2: drugTime == '1'}" @tap="changeTime('1')">
<view class="cir"></view>一年以内
</view>
</view>
</view>
<view class="btn" @click="headerStepClick">下一步</view>
</view>
<!-- Step 3: Lifestyle -->
<view class="life" v-if="step == 3">
<!-- 生活方式表单内容... -->
<view class="basic_row3" style="margin-top: 20rpx;">
<view class="basic_row_tit">吸烟情况</view>
<view class="basic_row_con3">
<view class="sex" :class="{ active2: smoke === 'no' }" @click="handleSelect('smoke', 'no')">
<view class="cir"></view>从不
</view>
<view class="sex" :class="{ active2: smoke === 'ring' }" @click="handleSelect('smoke', 'ring')">
<view class="cir"></view>已戒烟
</view>
<view class="sex" :class="{ active2: smoke === 'yes' }" @click="handleSelect('smoke', 'yes')">
<view class="cir"></view>吸烟
</view>
</view>
</view>
<!-- 饮酒情况 -->
<view class="basic_row3">
<view class="basic_row_tit">饮酒情况</view>
<view class="basic_row_con3">
<view class="sex" :class="{ active2: drink === 'no' }" @click="handleSelect('drink', 'no')">
<view class="cir"></view>从不
</view>
<view class="sex" :class="{ active2: drink === 'once' }" @click="handleSelect('drink', 'once')">
<view class="cir"></view>偶尔
</view>
<view class="sex" :class="{ active2: drink === 'yes' }" @click="handleSelect('drink', 'yes')">
<view class="cir"></view>经常
</view>
<view class="sex" :class="{ active2: drink === 'ring' }" @click="handleSelect('drink', 'ring')">
<view class="cir"></view>戒酒
</view>
</view>
</view>
<!-- 日常工作 -->
<view class="basic_row3">
<view class="basic_row_tit">日常工作</view>
<view class="basic_row_con3">
<view class="sex" :class="{ active2: dailyWork === 'easy' }" @click="handleSelect('dailyWork', 'easy')">
<view class="cir"></view>轻体力劳动
</view>
<view class="sex" :class="{ active2: dailyWork === 'in' }" @click="handleSelect('dailyWork', 'in')">
<view class="cir"></view>中体力劳动
</view>
<view class="sex" :class="{ active2: dailyWork === 'repeat' }" @click="handleSelect('dailyWork', 'repeat')">
<view class="cir"></view>重体力劳动
</view>
<view class="sex" :class="{ active2: dailyWork === 'rest' }" @click="handleSelect('dailyWork', 'rest')">
<view class="cir"></view>休息
</view>
</view>
</view>
<!-- 运动情况 -->
<view class="basic_row3">
<view class="basic_row_tit">运动情况</view>
<view class="basic_row_con3">
<view class="sex" :class="{ active2: motion === 'lack' }" @click="handleSelect('motion', 'lack')">
<view class="cir"></view>2
</view>
<view class="sex" :class="{ active2: motion === 'once' }" @click="handleSelect('motion', 'once')">
<view class="cir"></view>3-5
</view>
<view class="sex" :class="{ active2: motion === 'days' }" @click="handleSelect('motion', 'days')">
<view class="cir"></view>每天
</view>
<view class="sex" :class="{ active2: motion === 'no' }" @click="handleSelect('motion', 'no')">
<view class="cir"></view>无运动
</view>
</view>
</view>
<!-- 睡眠情况 -->
<view class="basic_row3 none">
<view class="basic_row_tit">睡眠情况</view>
<view class="basic_row_con3">
<view class="sex" :class="{ active2: sleep === 'law' }" @click="handleSelect('sleep', 'law')">
<view class="cir"></view>规律
</view>
<view class="sex" :class="{ active2: sleep === 'noLaw' }" @click="handleSelect('sleep', 'noLaw')">
<view class="cir"></view>熬夜
</view>
<view class="sex" :class="{ active2: sleep === 'overturn' }" @click="handleSelect('sleep', 'overturn')">
<view class="cir"></view>黑白颠倒
</view>
<view class="sex" :class="{ active2: sleep === 'rest' }" @click="handleSelect('sleep', 'rest')">
<view class="cir"></view>其他
</view>
</view>
</view>
<view class="btn" @click="headerStepClick">下一步</view>
</view>
<!-- Step 4: Authorization -->
<view class="user" v-if="step == 4">
<!-- 授权表单内容... -->
<view class="basic_row3 none">
<view class="basic_row_tit">档案授权</view>
<view class="basic_row_con2">
<view
class="sex"
:class="{ active2: accredit === 'owner' }"
@click="handleSelect('accredit', 'owner')"
>
<view class="cir"></view>对所有人员开放
</view>
<view
class="sex"
:class="{ active2: accredit === 'family' }"
@click="handleSelect('accredit', 'family')"
>
<view class="cir"></view>对家庭成员开放
</view>
<view
class="sex"
:class="{ active2: accredit === 'serve' }"
@click="handleSelect('accredit', 'serve')"
>
<view class="cir"></view>对服务人员开放
</view>
<view
class="sex"
:class="{ active2: accredit === 'oneself' }"
@click="handleSelect('accredit', 'oneself')"
>
<view class="cir"></view>只允许自己查看
</view>
</view>
</view>
<view class="btn" bind:tap="headerSubmitClick">提交</view>
</view>
</view>
<!-- Date Picker Popup -->
<u-popup :show="show" mode="bottom" round close-on-click-overlay>
<view style="width: 100%;">
<u-datetime-picker mode="date" :show="show" :formatter="formatter" @cancel="onClose"
@confirm="onInput"></u-datetime-picker>
</view>
</u-popup>
<!-- Blood Type Picker Popup -->
<u-popup :show="show2" mode="bottom" round close-on-click-overlay>
<view style="width: 100%;">
<u-picker :columns="columns" :show="show2" :title="PopupTitle" @confirm="onInput2" @cancel="onClose2"
show-toolbar></u-picker>
</view>
</u-popup>
</view>
</template>
<script>
export default {
data() {
return {
step: 1,
name: '',
phone: '',
sex: '',
time: '',
height: '',
weight: '',
bloodType: '',
diabetesType: '',
bloodPressure: '',
pastCase: '',
pharmacy: '',
drugTime: '',
smoke: '',
drink: '',
dailyWork: '',
motion: '',
sleep: '',
accredit: '',
show: false,
show2: false,
currentDate: new Date().getTime(),
popupType: '',
PopupTitle: '',
columns: [], // Your picker options
formatter(type, value) {
if (type === 'year') {
return `${value}`;
}
if (type === 'month') {
return `${value}`;
}
if (type === 'day') {
return `${value}`;
}
return value;
}
}
},
methods: {
changeItem(step) {
this.step = step;
},
changeSex(sex) {
this.sex = sex;
},
changeTime(time) {
this.drugTime = time;
},
changeShow() {
this.show = true;
console.log(this.show, 'asdasd');
},
changeShow2(type, title) {
this.popupType = type;
this.PopupTitle = title;
this.show2 = true;
},
headerInputClick(e) {
this[e.currentTarget.dataset.name] = e.detail.value;
},
headerInputClick2(name, val) {
this[name] = val;
},
headerStepClick() {
this.step++;
},
headerSubmitClick() {
// Submit logic
},
onClose() {
this.show = false;
},
onClose2() {
this.show2 = false;
},
onInput(e) {
this.time = this.$u.timeFormat(e.value, 'yyyy-mm-dd');
this.show = false;
},
onInput2(e) {
this[this.popupType] = e[0];
this.show2 = false;
},
handleSelect(name,val) {
console.log(name,val);
this[name] = val;
return;
},
}
}
</script>
<style scoped>
image {
width: 100%;
height: 100%;
}
.strideList {
display: flex;
align-items: center;
justify-content: space-between;
margin: 0 43rpx;
}
.strideItem {
width: 120rpx;
height: 120rpx;
background: #D9D9D9;
border-radius: 50%;
overflow: hidden;
font-weight: 400;
font-size: 32rpx;
color: #FFFFFF;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.icons {
width: 26rpx;
height: 26rpx;
}
.active {
background: #FF512A;
}
.strideList {
margin-top: 42rpx;
}
.basic {
margin: 0 20rpx;
margin-top: 62rpx;
}
.basic_row {
display: flex;
align-items: center;
justify-content: space-between;
border-bottom: 1rpx solid #E6E6E6;
height: 90rpx;
}
.basic_row_tit {
font-weight: 400;
font-size: 26rpx;
color: #222222;
}
.basic_row_con {
text-align: right;
display: flex;
align-items: center;
height: 100%;
}
.basic_row_con input {
height: 90rpx;
}
.sex {
display: flex;
align-items: center;
font-weight: 400;
font-size: 26rpx;
color: #222222;
margin-left: 40rpx;
}
.cir {
width: 30rpx;
height: 30rpx;
border-radius: 50%;
border: 1rpx solid #555555;
margin-right: 16rpx;
box-sizing: border-box;
}
.active2 .cir {
background-color: #ff512a;
border: none;
}
.none {
border-bottom: none;
}
.btn {
font-weight: 400;
font-size: 36rpx;
color: #FFFFFF;
width: 650rpx;
height: 80rpx;
background: #FF512A;
border-radius: 100rpx 100rpx 100rpx 100rpx;
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto;
margin-top: 64rpx;
}
.infomation {
margin: 0 20rpx;
margin-top: 92rpx;
padding-bottom: 60rpx;
}
.basic_row2 {
display: flex;
flex-direction: column;
padding-top: 30rpx;
}
.illnessItem {
width: 150rpx;
height: 50rpx;
background: #F0F0F0;
border-radius: 100rpx 100rpx 100rpx 100rpx;
font-weight: 400;
font-size: 26rpx;
color: #999999;
display: flex;
align-items: center;
justify-content: center;
margin-right: 20rpx;
margin-bottom: 20rpx;
}
.illnessList {
margin-top: 30rpx;
display: flex;
flex-wrap: wrap;
}
.basic_row2 .ipts {
border-bottom: 1rpx solid #E6E6E6;
padding: 30rpx 0;
}
.drugList {
display: flex;
flex-wrap: wrap;
margin-top: 25rpx;
}
.drugItem {
background: #F0F0F0;
border-radius: 100rpx 100rpx 100rpx 100rpx;
white-space: nowrap;
font-weight: 400;
font-size: 26rpx;
color: #999999;
padding: 10rpx;
margin-right: 20rpx;
margin-bottom: 20rpx;
}
.checked {
background: #FF512A;
color: #FFFFFF;
}
.life {
margin: 0 52rpx;
}
.life .basic_row {
width: 100%;
justify-content: flex-start;
min-height: 90rpx;
}
.life .basic_row_tit {
white-space: nowrap;
margin-right: 32rpx;
}
.life .basic_row_con {
flex-wrap: wrap;
}
.life .sex {
margin: 15rpx 0;
margin-right: 16rpx;
}
.basic_row_con3 {
display: flex;
align-items: center;
flex-wrap: wrap;
}
.basic_row3 {
min-height: 90rpx;
display: flex;
padding-top: 30rpx;
padding-bottom: 30rpx;
align-items: flex-start;
border-bottom: 1rpx solid #E6E6E6;
}
.basic_row_con3 .sex {
margin-top: 0;
}
.life .none {
border-bottom: none;
}
.user {
margin: 0 52rpx;
margin-top: 92rpx;
}
.user .none {
border-bottom: none;
}
.user .sex {
margin-bottom: 30rpx;
}
</style>

View File

@ -1,611 +0,0 @@
<template>
<view class="headlth">
<!-- Swiper Section -->
<view class="swiper">
<swiper :autoplay="true" :interval="3000" :duration="500">
<swiper-item>
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/health/health_img.png" mode="widthFix" />
</swiper-item>
</swiper>
</view>
<!-- Tab List -->
<view class="tabList">
<view class="tabItem" v-for="(item, index) in tabList" :key="index" @tap="jump(item.url)">
<view class="tabImg">
<image :src="item.img" mode="heightFix" />
</view>
<view class="tabName">
{{item.name}}
</view>
</view>
</view>
<view class="gray"></view>
<!-- Hot Services -->
<view class="tit">
热门服务
</view>
<view class="serviceTag">
<view class="serviceTagItem" v-for="(service, idx) in healthServices" :key="idx">
<view class="serviceTagItem_name">{{service.name}}</view>
<view class="serviceTagItem_msg">{{service.value}}</view>
<view :class="'serviceTagItem_img' + (idx+1)">
<image :src="service.icon" mode="widthFix" />
</view>
</view>
</view>
<view class="gray"></view>
<!-- Tabs -->
<view class="tabs">
<view class="tab" :class="{active: tabIndex == 0}" @tap="changeTab(0)">服务列表</view>
<view class="tab" :class="{active: tabIndex == 1}" @tap="changeTab(1)">商户列表</view>
</view>
<!-- Service List -->
<view class="list_item" v-if="tabIndex == 0" v-for="(item, index) in serverList" :key="index">
<view class="item_tit">
<view class="item_tit_left">{{item.cate_name}}</view>
<view class="item_tit_right" @tap="ServerMore(item.cate_id)">
更多
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/water_filter/filter_more.png"
mode="widthFix" />
</view>
</view>
<view class="item_goodsList">
<view class="item_goodsItem" v-for="(items, subIndex) in item.appoints" :key="subIndex"
@tap="ServerDesc(items.appoint_id)">
<view class="item_goodsItem_tit">
<image :src="items.photo" mode="aspectFill" />
</view>
<view class="item_goodsItem_name">{{items.title}}</view>
<view class="item_goodsItem_msg">
<view>{{items.price}}</view>
<text>/{{items.unit}}</text>
</view>
</view>
</view>
</view>
<!-- Merchant List -->
<view class="merchantList" v-if="tabIndex == 1">
<view class="merchantItem" v-for="(item, index) in 4" :key="index">
<view class="merchantItem_left">
<view class="merchantItem_left_img">
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/gropBuy/goods.png" mode="widthFix" />
</view>
<view class="merchantItem_left_msg">
<view class="merchantItem_left_msg_tit">永训医疗</view>
<view class="merchantItem_left_msg_add">衡阳市石鼓区中山北路1号</view>
<view class="merchantItem_left_msg_msg">中国领先的高科技医疗设备研...</view>
<view class="merchantItem_left_msg_tag">健康 卫生 先进</view>
</view>
</view>
<view class="merchantItem_right">
电话询价
</view>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
tabList: [{
name: "快速建档",
img: 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/health/health_icon1.png',
url: "../express/express",
},
{
name: "健康自测",
img: 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/health/health_icon2.png',
url: "../SelfTest/SelfTest",
},
{
name: "健康管理",
img: 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/health/health_icon3.png',
url: "",
},
{
name: "上门服务",
img: 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/health/health_icon4.png',
url: "/packages/doorToDoor/pages/doorToDoor/doorToDoor",
},
{
name: "自检报告",
img: 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/health/health_icon5.png',
url: "../report/report",
},
{
name: "健康饮食",
img: 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/health/health_icon6.png',
url: "../food/food",
},
{
name: "健康运动",
img: 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/health/health_icon7.png',
url: "../sports/sports",
},
{
name: "社区商城",
img: 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/health/health_icon8.png',
url: "",
},
],
healthServices: [{
name: '体温',
value: '37°C',
icon: 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/health/health_icon_1.png'
},
{
name: '血压',
value: '37mmHg',
icon: 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/health/health_icon_2.png'
},
{
name: '血糖',
value: '37mmol/L',
icon: 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/health/health_icon_3.png'
},
{
name: '心率',
value: '37次/分',
icon: 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/health/health_icon_4.png'
}
],
tabIndex: 0,
serverList:[
{
cate_name: '家政保洁',
appoints: [
{
appoint_id: 1,
photo: 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/health/Mask_group_1.png',
title: '上门抽血',
price: 45,
unit: '次',
},
{
appoint_id: 2,
photo: 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/health/Mask_group_2.png',
title: '上门肌注',
price: 65,
unit: '次',
},
{
appoint_id: 3,
photo: 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/health/Mask_group_3.png',
title: '脐带护理',
price: 95,
unit: '次',
}
]
},
{
cate_name: '健康养生',
appoints: [
{
appoint_id: 1,
photo: 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/health/Mask_group_4.png',
title: '体质养生',
price: 45,
unit: '张',
},
{
appoint_id: 2,
photo: 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/health/Mask_group_5.png',
title: '四季养生',
price: 300,
unit: '套',
},
{
appoint_id: 3,
photo: 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/health/Mask_group_6.png',
title: '肝脾养生',
price: 451,
unit: '套',
}
]
},
{
cate_name: '跑腿服务',
appoints: [
{
appoint_id: 1,
photo: 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/health/Mask_group_7.png',
title: '同城快递',
price: 45,
unit: '件',
},
{
appoint_id: 2,
photo: 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/health/Mask_group_8.png',
title: '快递代取',
price: 300,
unit: '件',
},
{
appoint_id: 3,
photo: 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/health/Mask_group_9.png',
title: '外卖代取',
price: 451,
unit: '件',
}
]
},
{
cate_name: '设备配套',
appoints: [
{
appoint_id: 1,
photo: 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/health/Mask_group_10.png',
title: '血糖计',
price: 45,
unit: '个',
},
{
appoint_id: 2,
photo: 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/health/Mask_group_11.png',
title: '血压计',
price: 300,
unit: '个',
},
{
appoint_id: 3,
photo: 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/health/Mask_group_12.png',
title: '尿酸检测仪',
price: 451,
unit: '个',
}
]
}
],//
}
},
methods: {
jump(url) {
uni.navigateTo({
url: url
});
},
changeTab(index) {
this.tabIndex = index;
},
ServerMore(cateId) {
// Handle more click
console.log('More clicked for category:', cateId);
},
ServerDesc(appointId) {
// Handle service description click
console.log('Service clicked:', appointId);
}
},
onLoad() {
// Load your data here
// this.loadTabList();
// this.loadServerList();
}
}
</script>
<style scoped>
image {
width: 100%;
height: 100%;
}
.swiper {
width: 710rpx;
height: 300rpx;
margin: 0 auto;
margin-top: 30rpx;
}
.swiper .swiper {
width: 100%;
height: 100%;
}
.swiper image {
width: 100%;
height: 100%;
}
.tabList {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin-top: 40rpx;
}
.tabItem {
display: flex;
width: 25%;
align-items: center;
flex-direction: column;
margin-bottom: 46rpx;
}
.tabImg {
height: 54rpx;
}
.tabName {
font-weight: 400;
font-size: 26rpx;
color: #222222;
}
.tit {
font-weight: bold;
font-size: 32rpx;
color: #222222;
margin-left: 20rpx;
padding-top: 30rpx;
}
.serviceTag {
display: flex;
justify-content: space-between;
padding: 0 20rpx;
box-sizing: border-box;
margin-top: 30rpx;
padding-bottom: 30rpx;
}
.serviceTagItem {
width: 171rpx;
height: 212rpx;
background: linear-gradient(148deg, #FFF3EF 0%, #FFD0C0 100%);
border-radius: 30rpx 30rpx 30rpx 30rpx;
box-sizing: border-box;
padding-left: 28rpx;
padding-top: 37rpx;
position: relative;
}
.serviceTagItem_name {
font-weight: bold;
font-size: 28rpx;
color: #000000;
}
.serviceTagItem_msg {
margin-top: 76rpx;
margin-left: 0rpx;
z-index: 2;
position: relative;
}
.serviceTagItem_img1 {
width: 70rpx;
height: 105rpx;
position: absolute;
bottom: 5rpx;
right: 8rpx;
}
.serviceTagItem_img2 {
width: 68.89rpx;
height: 87.54rpx;
position: absolute;
bottom: 15rpx;
right: 6rpx;
}
.serviceTagItem_img3 {
height: 79rpx;
width: 71rpx;
position: absolute;
bottom: 18rpx;
right: 7rpx;
}
.serviceTagItem_img4 {
width: 70rpx;
height: 105rpx;
position: absolute;
bottom: 5rpx;
right: 8rpx;
}
.tabs {
display: flex;
align-items: center;
margin-left: 20rpx;
padding-top: 30rpx;
}
.tabs .tab {
font-weight: 400;
font-size: 28rpx;
color: #555555;
margin-right: 70rpx;
}
.tabs .active {
font-weight: bold;
font-size: 32rpx;
position: relative;
}
.tabs .active::after {
content: '';
width: 127rpx;
height: 10rpx;
background: #FF512A;
position: absolute;
left: 50%;
bottom: -10rpx;
transform: translateX(-50%);
}
.tabs .active::before {
width: 127rpx;
height: 10rpx;
filter: blur(6.599999904632568rpx);
background: #FF5D73;
position: absolute;
left: 50%;
bottom: -10rpx;
transform: translateX(-50%);
}
.list {
margin-top: 36rpx;
}
.item_tit {
display: flex;
align-items: center;
justify-content: space-between;
margin: 0 20rpx;
margin-bottom: 32rpx;
margin-top: 30rpx;
}
.item_tit_left {
font-weight: bold;
font-size: 28rpx;
color: #000000;
}
.item_tit_right {
font-weight: 400;
font-size: 24rpx;
color: #D5AC66;
display: flex;
align-items: center;
}
.item_tit_right image {
width: 12rpx;
height: 22rpx;
margin-left: 8rpx;
}
.item_goodsItem_tit {
width: 223rpx;
height: 161rpx;
}
.item_goodsItem_name {
font-weight: 400;
font-size: 26rpx;
color: #222222;
margin-top: 20rpx;
margin-left: 10rpx;
}
.item_goodsItem_msg {
font-weight: 400;
font-size: 22rpx;
color: #FF512A;
display: flex;
align-items: flex-end;
margin-top: 6rpx;
margin-left: 13rpx;
}
.item_goodsItem_msg view {
font-weight: 500;
font-size: 36rpx;
}
.item_goodsItem_msg text {
font-size: 22rpx;
color: #FF512A;
}
.item_goodsList {
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 20rpx;
}
.list_item {
padding-bottom: 32rpx;
border-bottom: 1rpx solid #E6E6E6;
}
.merchantList {
margin: 0 20rpx;
margin-top: 30rpx;
}
.merchantItem {
display: flex;
align-items: center;
justify-content: space-between;
padding: 30rpx 0;
border-bottom: 1rpx solid #E6E6E6;
box-sizing: border-box;
}
.merchantItem_right {
font-weight: 400;
font-size: 26rpx;
color: #FFFFFF;
width: 150rpx;
height: 50rpx;
background: #D5AC66;
border-radius: 100rpx 100rpx 100rpx 100rpx;
display: flex;
align-items: center;
justify-content: center;
}
.merchantItem_left {
display: flex;
align-items: center;
}
.merchantItem_left_img {
width: 180rpx;
height: 180rpx;
border-radius: 20rpx;
overflow: hidden;
margin-right: 20rpx;
}
.merchantItem_left_msg_tit {
font-weight: 400;
font-size: 32rpx;
color: #000000;
}
.merchantItem_left_msg_add {
font-weight: 400;
font-size: 24rpx;
color: #999999;
margin-top: 14rpx;
}
.merchantItem_left_msg_msg {
font-weight: 400;
font-size: 22rpx;
color: #FF512A;
background: #FFF0ED;
padding: 2rpx;
margin-top: 16rpx;
}
.merchantItem_left_msg_tag {
font-weight: 400;
font-size: 24rpx;
color: #999999;
margin-top: 18rpx;
}
</style>

View File

@ -1,203 +0,0 @@
<template>
<view class="selftTest">
<view class="Tit">血脂</view>
<view class="row">
<view class="row_tit">总胆固醇</view>
<view class="row_con">
<view wx:if="Info.zdgc_status == '1'">较低</view>
<view wx:if="Info.zdgc_status == '2'">正常</view>
<view wx:if="Info.zdgc_status == '3'">较高</view>
</view>
</view>
<view class="row">
<view class="row_tit">高密度脂</view>
<view class="row_con">
<view wx:if="Info.gmdz_status == '1'">较低</view>
<view wx:if="Info.gmdz_status == '2'">正常</view>
<view wx:if="Info.gmdz_status == '3'">较高</view>
</view>
</view>
<view class="row">
<view class="row_tit">甘油三脂</view>
<view class="row_con">
<view wx:if="Info.gysz_status == '1'">较低</view>
<view wx:if="Info.gysz_status == '2'">正常</view>
<view wx:if="Info.gysz_status == '3'">较高</view>
</view>
</view>
<view class="row">
<view class="row_tit">低密度脂</view>
<view class="row_con">
<view wx:if="Info.dmyh_status == '1'">较低</view>
<view wx:if="Info.dmyh_status == '2'">正常</view>
<view wx:if="Info.dmyh_status == '3'">较高</view>
</view>
</view>
<view class="row">
<view class="row_tit">冠心病指数</view>
<view class="row_con">
<view wx:if="Info.gxbzs_status == '1'">较低</view>
<view wx:if="Info.gxbzs_status == '2'">正常</view>
<view wx:if="Info.gxbzs_status == '3'">较高</view>
</view>
</view>
<view class="row none">
<view class="row_tit">动脉硬化</view>
<view class="row_con">
<view wx:if="Info.dmyh_status == '1'">较低</view>
<view wx:if="Info.dmyh_status == '2'">正常</view>
<view wx:if="Info.dmyh_status == '3'">较高</view>
</view>
</view>
<view class="gray"></view>
<view class="Tit">常规项目</view>
<view class="row type2">
<view class="row_tit">体重</view>
<view class="row_con">
<view wx:if="Info.tz_status == '1'">较低</view>
<view wx:if="Info.tz_status == '2'">正常</view>
<view wx:if="Info.tz_status == '3'">较高</view>
</view>
</view>
<view class="row type2">
<view class="row_tit">心率</view>
<view class="row_con">
<view wx:if="Info.xl_status == '1'">较低</view>
<view wx:if="Info.xl_status == '2'">正常</view>
<view wx:if="Info.xl_status == '3'">较高</view>
</view>
</view>
<view class="row none">
<view class="row_tit">体温</view>
<view class="row_con">
<view wx:if="Info.tw_status == '1'">较低</view>
<view wx:if="Info.tw_status == '2'">正常</view>
<view wx:if="Info.tw_status == '3'">较高</view>
</view>
</view>
<view class="gray"></view>
<view class="Tit">尿酸</view>
<view class="row none">
<view class="row_tit">尿酸</view>
<view class="row_con">
<view wx:if="Info.ns_status == '1'">较低</view>
<view wx:if="Info.ns_status == '2'">正常</view>
<view wx:if="Info.ns_status == '3'">较高</view>
</view>
</view>
<view class="gray"></view>
<view class="Tit">血压</view>
<view class="row">
<view class="row_tit">收缩压</view>
<view class="row_con">
<view wx:if="Info.ssy_status == '1'">较低</view>
<view wx:if="Info.ssy_status == '2'">正常</view>
<view wx:if="Info.ssy_status == '3'">较高</view>
</view>
</view>
<view class="row">
<view class="row_tit">舒张压</view>
<view class="row_con">
<view wx:if="Info.szy_status == '1'">较低</view>
<view wx:if="Info.szy_status == '2'">正常</view>
<view wx:if="Info.szy_status == '3'">较高</view>
</view>
</view>
<view class="row none">
<view class="row_tit">脉搏</view>
<view class="row_con ">
<view wx:if="Info.mb_status == '1'">较低</view>
<view wx:if="Info.mb_status == '2'">正常</view>
<view wx:if="Info.mb_status == '3'">较高</view>
</view>
</view>
<view class="gray"></view>
<view class="Tit">眼科</view>
<view class="row">
<view class="row_tit">左眼视力</view>
<view class="row_con">
<view wx:if="Info.zysl_status == '1'">较低</view>
<view wx:if="Info.zysl_status == '2'">正常</view>
<view wx:if="Info.zysl_status == '3'">较高</view>
</view>
</view>
<view class="row none">
<view class="row_tit">右眼视力</view>
<view class="row_con ">
<view wx:if="Info.yysl_status == '1'">较低</view>
<view wx:if="Info.yysl_status == '2'">正常</view>
<view wx:if="Info.yysl_status == '3'">较高</view>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
id: "",
Info: "",
}
},
methods: {
},
onLoad(options) {
let that = this
this.id = options.id
}
}
</script>
<style>
.selftTest {
padding: 30rpx 20rpx;
padding-top: 0;
}
.Tit {
font-weight: bold;
font-size: 32rpx;
color: #222222;
margin-bottom: 25rpx;
margin-top: 30rpx;
}
.row {
display: flex;
align-items: center;
justify-content: space-between;
padding: 30rpx 0;
border-bottom: 1rpx solid #E6E6E6;
box-sizing: border-box;
}
.row_tit {
font-weight: 400;
font-size: 26rpx;
color: #999999;
}
.row_con {
display: flex;
align-items: center;
font-weight: 400;
font-size: 26rpx;
color: #72BB4E;
}
.row_con input {
text-align: right;
}
.none {
border-bottom: none;
}
.type2 {
color: #FF512A;
}
</style>

View File

@ -1,159 +0,0 @@
<template>
<view class="report">
<view class="reportList">
<view class="reportItem" @click="desc" v-for="(item, index) in orderList">
<view class="reportItem_left">
<view class="reportItem_img">
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/port.png" mode="widthFix" />
</view>
<view class="reportItem_text">
<view class="reportItem_text_tit">{{item.title}}检查报告</view>
<view class="reportItem_text_type">检测方式
<view>自测</view>
</view>
</view>
</view>
<view class="reportItem_right">
查看
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/water_filter/filter_more.png"
mode="widthFix" />
</view>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
t: uni.getMenuButtonBoundingClientRect().top,
h: uni.getMenuButtonBoundingClientRect().height,
orderList: [{
title: "123"
}]
}
},
methods: {
handleNavigateBack() {
uni.navigateBack();
},
desc(id) {
//
}
}
}
</script>
<style>
image {
width: 100%;
height: 100%;
}
.nav-box {
box-sizing: border-box;
width: 100%;
z-index: 2;
background: #F9F9F9;
padding-bottom: 25rpx;
}
.nav-box .nav-bar {
display: flex;
align-items: center;
}
.nav-box .nav-bar .nav-bar-left,
.nav-box .nav-bar .nav-bar-right {
padding: 0 20rpx;
width: 132rpx;
/* min-width: 36rpx; */
}
.nav-box .nav-bar .nav-bar-left van-icon {
vertical-align: sub;
color: #333333;
}
.nav-box .nav-bar .nav-bar-title {
flex: 1;
text-align: center;
font-weight: 400;
font-size: 36rpx;
color: #000000;
}
.nav-box .nav-bar-right {
font-weight: 400;
font-size: 26rpx;
color: #FF512A;
display: flex;
align-items: center;
}
.nav-box .nav-bar-right image {
width: 30rpx;
height: 30rpx;
margin-right: 10rpx;
}
.reportList {
margin: 0 20rpx;
margin-top: 15rpx;
}
.reportItem {
display: flex;
align-items: center;
justify-content: space-between;
padding: 30rpx 0;
border-bottom: 1rpx solid #E6E6E6;
}
.reportItem_left {
display: flex;
align-items: center;
}
.reportItem_img {
width: 60rpx;
height: 60rpx;
margin-right: 20rpx;
}
.reportItem_right {
display: flex;
font-weight: 400;
font-size: 26rpx;
color: #222222;
align-items: center;
}
.reportItem_right image {
width: 12rpx;
height: 26rpx;
margin-left: 13rpx;
}
.reportItem_text_tit {
font-weight: 400;
font-size: 26rpx;
color: #222222;
}
.reportItem_text_type {
font-weight: 400;
font-size: 22rpx;
color: #999999;
display: flex;
align-items: center;
}
.reportItem_text_type view {
color: #222;
}
</style>

View File

@ -1,204 +0,0 @@
<template>
<view class="selftTest">
<view class="Tit">血脂</view>
<view class="row">
<view class="row_tit">总胆固醇</view>
<view class="row_con">
<input type="number" v-model="zdgc" @input="ipt1" data-datas="zdgc" placeholder="0.4-4" placeholder-style="color: #999999;font-size: 26rpx;" />mg/dL
</view>
</view>
<view class="row">
<view class="row_tit">高密度脂</view>
<view class="row_con">
<input type="number" v-model="gmdz" @input="ipt1" data-datas="gmdz" placeholder="2.9-6" placeholder-style="color: #999999;font-size: 26rpx;" />mmol/L
</view>
</view>
<view class="row">
<view class="row_tit">甘油三脂</view>
<view class="row_con">
<input type="number" v-model="gysz" @input="ipt1" data-datas="gysz" placeholder="1.04-2.59" placeholder-style="color: #999999;font-size: 26rpx;" />mg/L
</view>
</view>
<view class="row">
<view class="row_tit">低密度脂</view>
<view class="row_con">
<input type="number" v-model="dzdz" @input="ipt1" data-datas="dzdz" placeholder="0.51-1.7" placeholder-style="color: #999999;font-size: 26rpx;" />mmol/dL
</view>
</view>
<view class="row">
<view class="row_tit">冠心病指数</view>
<view class="row_con">
<input type="number" v-model="gxbzs" @input="ipt1" data-datas="gxbzs" placeholder="0.3-3.35" placeholder-style="color: #999999;font-size: 26rpx;" />
</view>
</view>
<view class="row none">
<view class="row_tit">动脉硬化</view>
<view class="row_con">
<input type="number" v-model="dmyh" @input="ipt1" data-datas="dmyh" placeholder="1.3-4.5" placeholder-style="color: #999999;font-size: 26rpx;" />
</view>
</view>
<view class="gray"></view>
<view class="Tit">常规项目</view>
<view class="row">
<view class="row_tit">体重</view>
<view class="row_con">
<input type="number" v-model="tz" @input="ipt1" data-datas="tz" placeholder="1-200" placeholder-style="color: #999999;font-size: 26rpx;" />Kg
</view>
</view>
<view class="row">
<view class="row_tit">心率</view>
<view class="row_con">
<input type="number" v-model="xl" @input="ipt1" data-datas="xl" placeholder="60-100" placeholder-style="color: #999999;font-size: 26rpx;" />/
</view>
</view>
<view class="row none">
<view class="row_tit">体温</view>
<view class="row_con">
<input type="number" v-model="tw" @input="ipt1" data-datas="tw" placeholder="35-37.5" placeholder-style="color: #999999;font-size: 26rpx;" />
</view>
</view>
<view class="gray"></view>
<view class="Tit">尿酸</view>
<view class="row none">
<view class="row_tit">尿酸</view>
<view class="row_con">
<input type="number" v-model="ns" @input="ipt1" data-datas="ns" placeholder="179-416" placeholder-style="color: #999999;font-size: 26rpx;" />μmol/L
</view>
</view>
<view class="gray"></view>
<view class="Tit">血压</view>
<view class="row">
<view class="row_tit">收缩压</view>
<view class="row_con">
<input type="number" v-model="ssy" @input="ipt1" data-datas="ssy" placeholder="1-200" placeholder-style="color: #999999;font-size: 26rpx;" />Kg
</view>
</view>
<view class="row">
<view class="row_tit">舒张压</view>
<view class="row_con">
<input type="number" v-model="szy" @input="ipt1" data-datas="szy" placeholder="60-100" placeholder-style="color: #999999;font-size: 26rpx;" />/
</view>
</view>
<view class="row none">
<view class="row_tit">脉搏</view>
<view class="row_con">
<input type="number" v-model="mb" @input="ipt1" data-datas="mb" placeholder="60-100" placeholder-style="color: #999999;font-size: 26rpx;" />/
</view>
</view>
<view class="gray"></view>
<view class="Tit">眼科</view>
<view class="row">
<view class="row_tit">左眼视力</view>
<view class="row_con">
<input type="number" v-model="zysl" @input="ipt1" data-datas="zysl" placeholder="1.0-4.0" placeholder-style="color: #999999;font-size: 26rpx;" />
</view>
</view>
<view class="row none">
<view class="row_tit">右眼视力</view>
<view class="row_con">
<input type="number" v-model="yysl" @input="ipt1" data-datas="yysl" placeholder="1.0-4.0" placeholder-style="color: #999999;font-size: 26rpx;" />
</view>
</view>
<view class="btn" @tap="submit">
提交
</view>
</view>
</template>
<script>
export default {
data() {
return {
zdgc: '',
gmdz: '',
gysz: '',
dzdz: '',
gxbzs: '',
dmyh: '',
tz: '',
xl: '',
tw: '',
ns: '',
ssy: '',
szy: '',
mb: '',
zysl: '',
yysl: ''
}
},
methods: {
ipt1(e) {
const key = e.currentTarget.dataset.datas;
this[key] = e.detail.value;
},
submit() {
//
}
}
}
</script>
<style>
.selftTest {
padding: 30rpx 20rpx;
padding-top: 0;
}
.Tit {
font-weight: bold;
font-size: 32rpx;
color: #222222;
margin-bottom: 25rpx;
margin-top: 30rpx;
}
.row {
display: flex;
align-items: center;
justify-content: space-between;
padding: 30rpx 0;
border-bottom: 1rpx solid #E6E6E6;
box-sizing: border-box;
}
.row_tit {
font-weight: 400;
font-size: 26rpx;
color: #999999;
}
.row_con {
display: flex;
align-items: center;
font-weight: 400;
font-size: 26rpx;
color: #999999;
justify-content: flex-end;
flex: 1;
}
.row_con input {
text-align: right;
color: #222;
flex: 1;
}
.none {
border-bottom: none;
}
.btn {
width: 650rpx;
height: 80rpx;
background: #FF512A;
border-radius: 100rpx 100rpx 100rpx 100rpx;
font-weight: 400;
font-size: 36rpx;
color: #FFFFFF;
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto;
margin-top: 30rpx;
}
</style>

View File

@ -53,6 +53,8 @@
padding: 30rpx 20rpx;
margin-top: -50rpx;
border-radius: 50rpx 50rpx 0 0;
height: 60vh;
overflow-y: auto;
}
.goods-item {
@ -204,7 +206,7 @@
height: 140rpx;
position: fixed;
right: 33rpx;
bottom: 180rpx;
bottom: 80rpx;
z-index: 10;
}

View File

@ -219,8 +219,21 @@ export default {
if (this.goodsList[goodsIndex].group_buy_goods_list[skuIndex].quantity == 0) {
this.goodsList[goodsIndex].group_buy_goods_list[skuIndex].quantity += this.goodsList[goodsIndex].group_buy_goods_list[skuIndex].min_order_quantity
this.carNum += this.goodsList[goodsIndex].group_buy_goods_list[skuIndex].min_order_quantity
} else {
if (this.goodsList[goodsIndex].group_buy_goods_list[skuIndex].quantity == this.goodsList[goodsIndex].group_buy_goods_list[skuIndex].total_stock) {
uni.showToast({
title: '库存不足',
icon: 'none'
});
return
}
if (this.goodsList[goodsIndex].group_buy_goods_list[skuIndex].quantity == this.goodsList[goodsIndex].group_buy_goods_list[skuIndex].max_limit_quantity) {
uni.showToast({
title: '一次最多购买' + this.goodsList[goodsIndex].group_buy_goods_list[skuIndex].max_limit_quantity + '件',
icon: 'none'
});
return
}
this.goodsList[goodsIndex].group_buy_goods_list[skuIndex].quantity++;
this.carNum++;
}
@ -238,10 +251,10 @@ export default {
//
decreaseQuantity(goodsIndex, skuIndex) {
if (this.goodsList[goodsIndex].group_buy_goods_list[skuIndex].quantity > 0) {
if(this.goodsList[goodsIndex].group_buy_goods_list[skuIndex].quantity == this.goodsList[goodsIndex].group_buy_goods_list[skuIndex].min_order_quantity){
if (this.goodsList[goodsIndex].group_buy_goods_list[skuIndex].quantity == this.goodsList[goodsIndex].group_buy_goods_list[skuIndex].min_order_quantity) {
this.goodsList[goodsIndex].group_buy_goods_list[skuIndex].quantity = 0
this.carNum = 0
}else{
} else {
this.goodsList[goodsIndex].group_buy_goods_list[skuIndex].quantity--;
this.carNum--;
}

View File

@ -333,6 +333,14 @@ image {
padding-bottom: 10rpx;
}
.num{
color: #808080;
font-size: 24rpx;
position: absolute;
right: 30rpx;
font-weight: 400;
}
.oldMoney {
font-size: 40rpx;
color: #C7C7C7;
@ -565,7 +573,7 @@ image {
}
.shadowBox1 {
height: 250rpx;
height: 300rpx;
width: 100%;
background-color: #fff;
position: absolute;
@ -584,6 +592,17 @@ image {
color: #000000;
}
.shadowBox1Item_btn {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
border: none;
background-color: #ffffff;
}
.shadowBox1Item image {
width: 100rpx;
height: 100rpx;

View File

@ -49,19 +49,6 @@
<view class="time">{{ endTheCountdownSecond }}</view>
</view>
</view>
<!-- <text lines="1" class="text_35">{{ endTheCountdownDay }}</text>
<text lines="1" class="text_36"></text>
<text lines="1" class="text_37"></text>
<view class="text-wrapper_6">
<text lines="1" class="text_39">{{ endTheCountdownHour }}</text>
</view>
<view class="text-wrapper_7">
<text lines="1" class="text_40">{{ endTheCountdownMinute }}</text>
</view>
<view class="text-wrapper_5">
<text lines="1" class="text_38">{{ endTheCountdownSecond }}</text>
</view> -->
</view>
</view>
</view>
@ -70,6 +57,7 @@
<view class="MoneyMark"></view>
{{ currentGG.group_buy_price }}
<view class="MoneyUnit">/{{ currentGG.goods_unit }}</view>
<view class="num">已售{{ soldOutNum }} | 剩余{{ currentGG.total_stock }}</view>
</view>
<!-- 规格 -->
@ -197,14 +185,18 @@
<view class="shadow" @click.stop="changeShadow" v-if="boxshadow1">
<view class="shadowBox1">
<view class="shadowBox1Item" @click="shareFriend">
<button class="shadowBox1Item_btn" open-type="share" bindtap="onShareButtonClick">
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/shop_WX.png"
mode="aspectFill"></image>
微信好友
</button>
</view>
<view class="shadowBox1Item" @click="openSave">
<button class="shadowBox1Item_btn">
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/shop_saveImg.png"
mode="aspectFill"></image>
生成海报
</button>
</view>
</view>
</view>
@ -345,30 +337,8 @@ export default {
carOrderList: [],
//
showReviewPopup: false,
// comments: [
// {
// avatar: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/test.png",
// username: "TP",
// product: " 10kg/",
// content:
// "便",
// images: ["https://wechat-img-file.oss-cn-beijing.aliyuncs.com/test.png"],
// time: "2025-03-01 11:24:20",
// },
// {
// avatar: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/test.png",
// username: "TP",
// product: " 10kg/",
// content:
// "_draw便",
// images: [
// "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/test.png",
// "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/test.png",
// "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/test.png",
// ],
// time: "2025-03-01 11:24:20",
// },
// ],
soldOutNum: 0,
show: false,
showSize: false,
showPurchase: false,
@ -419,31 +389,139 @@ export default {
delta: 1,
});
},
//
// -
shareFriend() {
this.boxshadow2 = false;
return;
// uniapp
this.boxshadow1 = false; //
//
const shareInfo = {
title: this.currentGG.goods_name || '商品分享', //
desc: this.currentGG.commodity_brief || '快来看看这款商品吧', //
link: `${window.location.origin}/pages/goodsDetail/index?id=${this.id}`, //
imageUrl: this.picUrl + (this.currentGG.goods_carousel && this.currentGG.goods_carousel[0] || '') //
};
//
if (typeof WeixinJSBridge === 'undefined') {
// 使uniAPI
if (typeof uni.share !== 'undefined') {
uni.share({
provider: "weixin",
type: "link",
scene: "session",
link: "https://uniapp.dcloud.net.cn/",
title: "商品名称",
imageUrl: "",
success: (res) => {
provider: 'weixin',
scene: 'WXSceneSession',
type: 0,
title: shareInfo.title,
summary: shareInfo.desc,
href: shareInfo.link,
imageUrl: shareInfo.imageUrl,
success: () => {
uni.showToast({
title: "分享成功",
icon: "success",
duration: 2000,
title: '分享成功',
icon: 'success',
duration: 2000
});
this.boxshadow1 = false;
},
fail: (err) => {
console.log("分享失败", err);
this.boxshadow1 = false;
},
console.error('分享失败', err);
uni.showToast({
title: '分享失败,请重试',
icon: 'none',
duration: 2000
});
}
});
} else {
uni.showToast({
title: '请在微信客户端打开',
icon: 'none'
});
}
return;
}
try {
//
WeixinJSBridge.invoke('sendAppMessage', {
title: shareInfo.title,
desc: shareInfo.desc,
link: shareInfo.link,
img_url: shareInfo.imageUrl,
img_width: '120',
img_height: '120',
type: 'link',
data_url: ''
}, (res) => {
if (res.err_msg === 'sendAppMessage:ok') {
uni.showToast({
title: '分享成功',
icon: 'success',
duration: 2000
});
} else if (res.err_msg === 'sendAppMessage:cancel') {
uni.showToast({
title: '已取消分享',
icon: 'none',
duration: 2000
});
} else {
console.error('分享失败', res);
uni.showToast({
title: '分享失败,请重试',
icon: 'none',
duration: 2000
});
}
});
} catch (error) {
console.error('调用微信分享接口失败', error);
// 使wx.ready
if (typeof wx !== 'undefined') {
wx.ready(() => {
//
wx.onMenuShareAppMessage({
title: shareInfo.title,
desc: shareInfo.desc,
link: shareInfo.link,
imgUrl: shareInfo.imageUrl,
type: 'link',
success: () => {
uni.showToast({
title: '分享成功',
icon: 'success',
duration: 2000
});
},
cancel: () => {
uni.showToast({
title: '已取消分享',
icon: 'none',
duration: 2000
});
},
fail: (err) => {
console.error('分享失败', err);
uni.showToast({
title: '分享失败,请重试',
icon: 'none',
duration: 2000
});
}
});
//
uni.showToast({
title: '请点击右上角分享按钮',
icon: 'none'
});
});
wx.error((err) => {
console.error('微信JS-SDK初始化失败', err);
uni.showToast({
title: '分享功能加载失败',
icon: 'none'
});
});
}
}
},
changeShadow() {
this.boxshadow1 = false;
@ -689,6 +767,8 @@ export default {
})
this.purchaseRecords = record
this.totalCount = res.total_count
// item.countsoldOutNum
this.soldOutNum = record.reduce((total, item) => total + (item.count || 0), 0)
})
},
formatDate(dateStr) {

View File

@ -365,30 +365,39 @@ export default {
},
decreaseQuantity(item) {
if (item.count > 0) {
if (item.count == item.commodity_goods_info.min_order_quantity) {
uni.showToast({
title: '最少购买' + item.commodity_goods_info.min_order_quantity + '件',
icon: 'none'
});
item.count = 0
} else {
item.count--
}
this.changeCart(item)
}
},
increaseQuantity(item) {
if (item.commodity_goods_info.total_stock > 0) {
if (item.count < item.commodity_goods_info.total_stock) {
item.count++;
this.changeCart(item);
if (item.count == 0) {
item.count += item.commodity_goods_info.min_order_quantity
} else {
if (item.count == item.commodity_goods_info.total_stock) {
uni.showToast({
title: '库存不足',
icon: 'none'
});
return
}
} else if (item.count < item.commodity_goods_info.stock_quantity) {
item.count++;
this.changeCart(item);
} else {
if (item.count == item.commodity_goods_info.max_limit_quantity) {
uni.showToast({
title: '库存不足',
title: '一次最多购买' + item.commodity_goods_info.max_limit_quantity + '件',
icon: 'none'
});
return
}
}
item.count++;
this.changeCart(item);
},
//
changeCart(item) {
@ -469,6 +478,7 @@ export default {
request(apiArr.createOrder, "POST", params).then(res => {
console.log("🚀 ~ submitPayment ~ 创建订单接口...")
// trans_type
// : 71, App: 51
const systemInfo = uni.getSystemInfoSync();
@ -494,6 +504,7 @@ export default {
trans_type: trans_type
}
request(apiArr.mergePreorder, "POST", param).then(res => {
console.log("🚀 ~ submitPayment ~ 调起微信支付...")
if (res && res.timeStamp && res.nonceStr && res.package && res.signType && res.paySign) {
//

View File

@ -62,8 +62,8 @@
}
.empty image {
width: 340rpx;
height: 253.51rpx;
width: 500rpx;
height: 500rpx;
}
.empty div {

View File

@ -11,8 +11,10 @@
</view>
</view>
</view>
<view class="main">
<view class="empty" v-if="shopCarTotal == 0">
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/shopCar_no.png"></image>
</view>
<view class="main" v-else>
<view class="deleteIcon" @click="deleteItem">
<u-icon name="trash" size="50rpx"></u-icon>
</view>
@ -75,7 +77,8 @@
</view>
<view class="goodsItem_msg_right_msg_right">
<u-number-box v-model="item.count" :asyncChange="true" min="0">
<view slot="minus" class="minus" @click="minus(carItem, index)">
<view slot="minus" class="minus"
@click="minus(carItem, index, carItem.commodity_cart_and_goods_model)">
<u-icon name="minus" size="32" bold></u-icon>
</view>
<text slot="input" style="width: 80rpx; text-align: center"
@ -152,7 +155,8 @@
</view>
<view class="goodsItem_msg_right_msg_right">
<u-number-box v-model="item.count" :asyncChange="true" min="0">
<view slot="minus" class="minus" @click="minus(item, index)">
<view slot="minus" class="minus"
@click="minus(item, index, carItem.commodity_cart_and_goods_model)">
<u-icon name="minus" size="32" bold></u-icon>
</view>
<text slot="input" style="width: 80rpx; text-align: center"
@ -191,13 +195,7 @@
</view>
</view>
<view class="empty" v-if="shopCarTotal == 0">
<image src="http://192.168.0.172:5500/7.15/shop_empty.png"></image>
<view>
啥也没有 <br />
赶紧去shopping吧~
</view>
</view>
</view>
</template>
@ -488,38 +486,65 @@ export default {
},
//
minus(carItem, goodsIndex) {
minus(carItem, goodsIndex, item) {
let that = this;
const item = carItem.commodity_cart_and_goods_model;
if (carItem.count === 1) {
if (carItem.count > 0) {
if (carItem.count == carItem.commodity_goods_info.min_order_quantity) {
uni.showToast({
title: '最少购买' + carItem.commodity_goods_info.min_order_quantity + '件',
icon: 'none'
});
request(apiArr.deleteCar, "POST", {
ids: [item.id],
ids: [carItem.id],
}).then((res) => {
carItem.commodity_cart_and_goods_model.splice(goodsIndex, 1);
item.splice(goodsIndex, 1);
//
if (carItem.commodity_cart_and_goods_model.length === 0) {
if (item.length === 0) {
const carIndex = this.shopCarList.indexOf(carItem);
if (carIndex !== -1) {
if (carIndex == -1) {
this.shopCarList.splice(carIndex, 1);
}
}
that.calcTotal();
that.shopCarTotal = that.shopCarTotal - 1;
});
carItem.count = 0
that.shopCarTotal = that.shopCarTotal - carItem.commodity_goods_info.min_order_quantity;
} else {
this.shopCarTotal = this.shopCarTotal - 1;
carItem.count = carItem.count - 1;
this.handleQuantityChange(carItem.count, carItem);
}
this.calcTotal();
}
},
//
add(carItem, goodsIndex) {
if (carItem.count == 0) {
carItem.count = carItem.commodity_goods_info.min_order_quantity
this.shopCarTotal += carItem.commodity_goods_info.min_order_quantity;
} else {
if (carItem.count == carItem.commodity_goods_info.total_stock) {
uni.showToast({
title: '库存不足',
icon: 'none'
});
return
}
if (carItem.count == carItem.commodity_goods_info.max_limit_quantity) {
uni.showToast({
title: '一次最多购买' + carItem.commodity_goods_info.max_limit_quantity + '件',
icon: 'none'
});
return
}
carItem.count++;
this.shopCarTotal++;
}
const item = carItem.commodity_cart_and_goods_model;
this.shopCarTotal = this.shopCarTotal + 1;
carItem.count = carItem.count + 1;
this.handleQuantityChange(carItem.count, carItem);
this.calcTotal();
},
@ -585,7 +610,6 @@ export default {
},
//
handleQuantityChange(val, item) {
const params = {
user_id: uni.getStorageSync("userId"),
goods_id_and_count: [{
@ -599,6 +623,7 @@ export default {
title: "操作成功!",
success() { },
});
return Promise.resolve();
});
},
},

View File

@ -1,90 +1,108 @@
<template>
<div class="container">
<div class="Msg">
<div class="row">
<div class="row_label">门店名称</div>
<div class="row_con">
<view class="container">
<view class="Msg">
<view class="row">
<view class="row_label">门店名称</view>
<view class="row_con">
<input type="text" v-model="store_name" placeholder="需与门牌照名称一致">
</div>
</div>
<div class="row">
<div class="row_label">所在省</div>
<div class="row_con" @click="chooseCity">
</view>
</view>
<view class="row">
<view class="row_label">所在省</view>
<view class="row_con" @click="chooseCity">
<input type="text" disabled v-model="confirmProv.ad_name" placeholder="请选择所在省">
<u-icon name="arrow-right" color="#999999" size="28"></u-icon>
</div>
</div>
<div class="row">
<div class="row_label">所在市</div>
<div class="row_con" @click="chooseCity2">
</view>
</view>
<view class="row">
<view class="row_label">所在市</view>
<view class="row_con" @click="chooseCity2">
<input type="text" disabled v-model="confirmCity.short_name" placeholder="请选择所在市">
<u-icon name="arrow-right" color="#999999" size="28"></u-icon>
</div>
</div>
<div class="row">
<div class="row_label">所在区</div>
<div class="row_con" @click="chooseCity3">
</view>
</view>
<view class="row">
<view class="row_label">所在区</view>
<view class="row_con" @click="chooseCity3">
<input type="text" disabled v-model="confirmBusiness.short_name" placeholder="请选择所在区">
<u-icon name="arrow-right" color="#999999" size="28"></u-icon>
</div>
</div>
<div class="row">
<div class="row_label">详细地址</div>
<div class="row_con">
</view>
</view>
<view class="row">
<view class="row_label">详细地址</view>
<view class="row_con">
<input type="text" v-model="address" placeholder="请输入详细地址">
</div>
</div>
<div class="row">
<div class="row_label">联系人</div>
<div class="row_con">
</view>
</view>
<view class="row">
<view class="row_label">联系人</view>
<view class="row_con">
<input type="text" v-model="contact_name" placeholder="请输入联系人">
</div>
</div>
<div class="row">
<div class="row_label">手机号</div>
<div class="row_con nonebor">
</view>
</view>
<view class="row">
<view class="row_label">手机号</view>
<view class="row_con nonebor">
<input type="text" v-model="contact_phone" placeholder="请输入联系方式">
</div>
</div>
</div>
</view>
</view>
<view class="row">
<view class="row_label">银行卡号</view>
<view class="row_con nonebor">
<input type="text" v-model="bank_card" placeholder="请输入银行卡号">
</view>
</view>
</view>
<div class="Msg mt">
<div class="row2">
<div class="row_label">门脸照</div>
<div class="row_con2">
<view class="Msg mt">
<view class="row2">
<view class="row_label">门脸照</view>
<view class="row_con2">
<u-upload :fileList="imgList" @afterRead="afterReadImg" @delete="deletePic" name="1" multiple
:maxCount="10">
<div class="imgCon">
<view class="imgCon">
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_imageImg.png" mode="widthFix"></image>
上传图片
</div>
</view>
</u-upload>
</div>
</div>
</view>
</view>
<div class="row2 mt2">
<div class="row_label">店内环境</div>
<div class="row_con2">
<view class="row2 mt2">
<view class="row_label">店内环境</view>
<view class="row_con2">
<u-upload :fileList="imgList3" @afterRead="afterReadImg2" @delete="deletePic2" name="1" multiple
:maxCount="10">
<div class="imgCon">
<view class="imgCon">
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_imageImg.png" mode="widthFix"></image>
上传图片
</div>
</view>
</u-upload>
</view>
</view>
</div>
</div>
</div>
<view class="row2 mt2">
<view class="row_label">营业执照</view>
<view class="row_con2">
<u-upload :fileList="imgList5" @afterRead="afterReadImg3" @delete="deletePic3" name="1" multiple
:maxCount="1">
<view class="imgCon">
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_imageImg.png" mode="widthFix"></image>
上传图片
</view>
</u-upload>
</view>
</view>
</view>
<div class="addBtn" @click="submit">立即入驻</div>
<view class="addBtn" @click="submit">立即入驻</view>
<u-picker :show="show" :columns="[pro]" keyName="ad_name" @confirm="clickPro" @cancel="cancelPro"></u-picker>
<u-picker :show="show2" :columns="[city]" keyName="short_name" @confirm="clickCity"
@cancel="cancelCity"></u-picker>
<u-picker :show="show3" :columns="[buss]" keyName="short_name" @confirm="clickBuss"
@cancel="cancelBuss"></u-picker>
</div>
</view>
</template>
<script>
@ -113,9 +131,12 @@ export default {
imgList3: [],
imgList4: [],
imgList5: [],
imgList6: [],
contact_name: "",
contact_phone: "",
bank_card: "",
store_name: "",
address: "",
@ -191,10 +212,22 @@ export default {
})
})
},
afterReadImg3(e) {
e.file.forEach(item => {
upload(item.url, res => {
this.imgList5.push({ url: this.picUrl + res.data.path })
this.imgList6.push(res.data.path)
})
})
},
deletePic2(e) {
this.imgList3.splice(e.index, 1);
this.imgList4.splice(e.index, 1);
},
deletePic3(e) {
this.imgList5.splice(e.index, 1);
this.imgList6.splice(e.index, 1);
},
submit() {
let that = this
if (!that.contact_name) {
@ -209,6 +242,12 @@ export default {
duration: 2000
});
}
if (!that.bank_card) {
return uni.showToast({
title: '请输入银行卡号',
duration: 2000
});
}
if (!that.store_name) {
return uni.showToast({
title: '请输入门店名称',
@ -242,17 +281,21 @@ export default {
let interior_photo = that.imgList4.join(",")
let facade_photo = that.imgList2.join(",")
let license_photo = that.imgList6.join(",")
request(apiArr.createStore, "POST", {
contact_name: that.contact_name,
contact_phone: that.contact_phone,
bank_card: that.bank_card,
store_name: that.store_name,
address: that.address,
ad_code:that.confirmBusiness.ad_code,
facade_photo,
interior_photo,
license_photo,
}).then(res => {
that.contact_name = ''
that.contact_phone = ''
that.bank_card = ''
that.store_name = ''
that.address = ''
that.confirmProv = ''
@ -262,6 +305,8 @@ export default {
that.imgList2 = []
that.imgList3 = []
that.imgList4 = []
that.imgList5 = []
that.imgList6 = []
NavgateTo("../sucess/index")
})
},

View File

@ -427,41 +427,6 @@
}
]
},
{
"root": "packages/health",
"pages": [
{
"path": "index/index",
"style": {
"navigationBarTitleText": "智慧康养"
}
},
{
"path": "express/express",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "selfTest/selfTest",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "reportList/reportList",
"style": {
"navigationBarTitleText": "体检报告"
}
},
{
"path": "reportDesc/reportDesc",
"style": {
"navigationBarTitleText": ""
}
}
]
},
{
"root": "packages/aroundShop",
"pages": [
@ -910,6 +875,54 @@
}
}
]
},
{
"root": "packages/park",
"pages": [
{
"path": "index/index",
"style": {
"navigationBarTitleText": "我的车辆",
"navigationBarBackgroundColor": "#ffffff"
}
},
{
"path": "addCar/index",
"style": {
"navigationBarTitleText": "添加车辆"
}
},
{
"path": "monthlyPayment/index",
"style": {
"navigationBarTitleText": "停车场包月"
}
},
{
"path": "parkOrderDetail/index",
"style": {
"navigationBarTitleText": "订单详情"
}
},
{
"path": "monthlyPaymentOrder/index",
"style": {
"navigationBarTitleText": "包月订单"
}
},
{
"path": "parkOrder/index",
"style": {
"navigationBarTitleText": "停车订单"
}
},
{
"path": "temporaryOrder/index",
"style": {
"navigationBarTitleText": "临时订单"
}
}
]
}
],
"globalStyle": {

View File

@ -1,5 +1,5 @@
<template>
<view class="conatiner" :style="{paddingTop: top + 'px'}">
<view class="conatiner" :style="{ paddingTop: top + 'px' }">
<view class="header" @click="toLogin">
<view class="avatar-container">
<image class="avatar"
@ -8,18 +8,16 @@
</view>
<view class="avatar_right">
<view class="avatar_title">
<view class="login-btn">{{userInfo.nick_name ? userInfo.nick_name : '登录/注册'}}</view>
<view class="login-btn">{{ userInfo.nick_name ? userInfo.nick_name : '登录/注册' }}</view>
<view class="avatar_setting">
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/page_user_Vector13.png" mode="" @click.stop="headerRefreshClick"/>
<button
class="login-btn"
open-type="getPhoneNumber"
style="display: none;"
@click="headerLoginClick"
@getphonenumber="getPhoneNumber"
id="hiddenLoginBtn"
></button>
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/page_user_Vector14.png" mode="" @click.stop="headerSettingsClick"/>
<image
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/page_user_Vector13.png"
mode="" @click.stop="headerRefreshClick" />
<button class="login-btn" open-type="getPhoneNumber" style="display: none;"
@click="headerLoginClick" @getphonenumber="getPhoneNumber" id="hiddenLoginBtn"></button>
<image
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/page_user_Vector14.png"
mode="" @click.stop="headerSettingsClick" />
</view>
</view>
<view class="avater_mobile">{{ userInfo.mobile }}</view>
@ -47,28 +45,34 @@
<view class="center">
<view class="gold_container" @click="headerGoldClick">
<view class="gold_title">
<span class="gold">金币</span> <span class="monenyt">0</span> | <span class="price">价值0.00</span> <u-icon size="30" name="arrow-right" />
<span class="gold">金币</span> <span class="monenyt">0</span> | <span class="price">价值0.00</span>
<u-icon size="30" name="arrow-right" />
</view>
<image class="gold_pic" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/page_user_Group_1556.png" />
<image class="gold_pic"
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/page_user_Group_1556.png" />
</view>
<view class="main main1">
<view class="main_title">物业服务</view>
<view class="item1">
<view class="item_device" @click="handleCommunityClick">
<image class="icon-community icon-img"
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/page_user_Group_1382.png"></image>
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/page_user_Group_1382.png">
</image>
<text class="community-title title-item">我的房产</text>
</view>
<view class="item_device" @click="handleApplyOwnerClick">
<image class="icon-img" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/page_user_Group_1559.png" />
<image class="icon-img"
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/page_user_Group_1559.png" />
<text class="owner-title title-item">物业账单</text>
</view>
<view class="item_device" @click="handleFacilityClick">
<image class="icon-img" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/page_user_Group_1557.png"/>
<image class="icon-img"
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/page_user_Group_1557.png" />
<text class="device-title title-item">我的工单</text>
</view>
<view class="item_device" @click="handleMeApplyClick">
<image class="icon-img" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/page_user_Group_1558.png"/>
<image class="icon-img"
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/page_user_Group_1558.png" />
<text class="device-title title-item">我的管家</text>
</view>
</view>
@ -78,10 +82,10 @@
<view class="main margin20">
<view class="main_title">电商服务</view>
<view class="item1 padding_bottom0">
<u-grid col="4" :border="false" >
<u-grid col="4" :border="false">
<u-grid-item @click="headerOrderClick(item)" v-for="(item, index) in networkList" :key="index">
<image class="nav_icon" :src="item.image" mode=""></image>
<text class="grid-text">{{item.name}}</text>
<text class="grid-text">{{ item.name }}</text>
</u-grid-item>
</u-grid>
</view>
@ -90,10 +94,10 @@
<view class="main margin20">
<view class="main_title">到家服务</view>
<view class="item1 padding_bottom0">
<u-grid col="4" :border="false" >
<u-grid col="4" :border="false">
<u-grid-item @click="headerOrderClick(item)" v-for="(item, index) in visitList" :key="index">
<image class="nav_icon" :src="item.image" mode=""></image>
<text class="grid-text">{{item.name}}</text>
<text class="grid-text">{{ item.name }}</text>
</u-grid-item>
</u-grid>
</view>
@ -101,10 +105,10 @@
<view class="main margin20">
<view class="main_title">门店服务</view>
<view class="item1 padding_bottom0">
<u-grid col="4" :border="false" >
<u-grid col="4" :border="false">
<u-grid-item @click="headerOrderClick(item)" v-for="(item, index) in shopList" :key="index">
<image class="nav_icon" :src="item.image" mode=""></image>
<text class="grid-text">{{item.name}}</text>
<text class="grid-text">{{ item.name }}</text>
</u-grid-item>
</u-grid>
</view>
@ -112,28 +116,41 @@
<view class="main margin20" v-if="isShop">
<view class="main_title">商家端</view>
<view class="item1 padding_bottom0">
<u-grid col="4" :border="false" >
<u-grid-item @click="headerOrderClick(item)" v-for="(item, index) in shopManagementList" :key="index">
<u-grid col="4" :border="false">
<u-grid-item @click="headerOrderClick(item)" v-for="(item, index) in shopManagementList"
:key="index">
<image class="nav_icon" :src="item.image" mode=""></image>
<text class="grid-text">{{item.name}}</text>
<text class="grid-text">{{ item.name }}</text>
</u-grid-item>
</u-grid>
</view>
</view>
<view class="main margin20">
<view class="main_title">智慧停车</view>
<view class="item1 padding_bottom0">
<u-grid col="4" :border="false">
<u-grid-item @click="headerOrderClick(item)" v-for="(item, index) in parkList" :key="index">
<image class="nav_icon" :src="item.image" mode=""></image>
<text class="grid-text">{{ item.name }}</text>
</u-grid-item>
</u-grid>
</view>
</view>
<view class="customer" @click="headerCustomerClick">
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/page_user_Vector16.png" mode=""/>
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/page_user_Vector16.png"
mode="" />
<view>客服</view>
</view>
<view style="padding-top: 174rpx;"></view>
<nav-footer :current="4"/>
<nav-footer :current="4" />
</view>
</template>
<script>
import { apiArr } from '../../api/login';
import { apiArr as apiArr2 } from '../../api/v2User';
import { menuButtonInfo, NavgateTo, picUrl, request } from '../../utils/index';
export default {
import { apiArr } from '../../api/login';
import { apiArr as apiArr2 } from '../../api/v2User';
import { menuButtonInfo, NavgateTo, picUrl, request } from '../../utils/index';
export default {
data() {
return {
top: 0,
@ -200,11 +217,33 @@
url: "",
}
],
shopManagementList:[{
shopManagementList: [{
image: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/user_page_Group_1782.png",
name: "店铺管理",
url: "/packages/storeManagement/index/index",
}],
parkList: [
{
image: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/park/parkIndex_icon1.png",
name: "临停缴费",
url: "/packages/park/temporaryOrder/index",
},
{
image: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/park/parkIndex_icon2.png",
name: "月卡充值",
url: "/packages/park/monthlyPayment/index",
},
{
image: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/park/parkIndex_icon3.png",
name: "停车订单",
url: "/packages/park/parkOrder/index",
},
{
image: "https://wechat-img-file.oss-cn-beijing.aliyuncs.com/park/parkIndex_icon4.png",
name: "车辆管理",
url: "/packages/park/index/index",
},
],
userInfo: {},
isShop: uni.getStorageSync('is_shop'),
}
@ -261,7 +300,7 @@
//
request(apiArr.loginInfo, 'POST', {
token: loginRes.token
}, { silent: false } ).then((res2) => {
}, { silent: false }).then((res2) => {
if (res2.error) return;
// userId 使
uni.setStorageSync('userId', res2.user_id);
@ -295,13 +334,13 @@
},
//
handleCommunityClick(){
handleCommunityClick() {
this.NotOpen();
// NavgateTo('/packages/community/index/index')
},
//
handleApplyOwnerClick(){
handleApplyOwnerClick() {
this.NotOpen();
// NavgateTo(`/packages/community/index/index?types=2`)
},
@ -323,7 +362,7 @@
//
headerOrderClick(event) {
if(!event.url) {
if (!event.url) {
this.NotOpen();
return
} else {
@ -342,7 +381,7 @@
// return
// }
console.log('选择城市');
NavgateTo( `${event.url}`)
NavgateTo(`${event.url}`)
}
},
@ -365,7 +404,7 @@
async getUserInfo(item = false) {
const isCtoken = uni.getStorageSync('ctoken');
if (!isCtoken) return;
const res = await request(apiArr2.getUserInfo, 'POST', {}, {silent: item === true ? false : true});
const res = await request(apiArr2.getUserInfo, 'POST', {}, { silent: item === true ? false : true });
const newUserInfo = {
...res,
userPic: res.avatar ? `${picUrl}${res.avatar}` : 'https://wechat-img-file.oss-cn-beijing.aliyuncs.com/person/Group_309.png'
@ -395,9 +434,9 @@
onShow() {
this.getUserInfo();
},
}
}
</script>
<style>
@import url("./index.css");
@import url("./index.css");
</style>

View File

@ -0,0 +1,9 @@
## 1.0.42022-10-13
修复支付宝小程序图标显示问题
## 1.0.32022-10-08
修复图标显示问题图片改用base64编码
## 1.0.22022-09-21
修复微信小程序新能源图标显示问题
## 1.0.12022-09-19
1.修复输入返回值赋值给默认值的问题
2.修复新能源字体在谷歌浏览器展示问题

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,26 @@
{
"id": "car-number-input",
"displayName": "车牌选择组件+键盘(包含新能源车牌)",
"version": "1.0.4",
"description": "车牌输入组件+键盘,包含新能源车牌",
"keywords": [
"车牌",
"车牌选择器",
"键盘",
"车牌键盘",
"车牌选择"
],
"dcloudext": {
"contact": {
"qq": ""
},
"declaration": {
"ads": "无",
"data": "无",
"permissions": "无"
},
"npmurl": "",
"type": "component-vue"
},
"repository": ""
}