sadjv3_jishi/pages/index/index.vue

1932 lines
56 KiB
Vue
Raw Normal View History

2024-06-05 19:14:51 +08:00
<template>
2024-07-01 18:47:17 +08:00
<view style="padding-bottom: 30px;">
2024-06-26 16:58:53 +08:00
<view class="jishi-index">
2024-07-01 18:47:17 +08:00
<view class=" u-flex padding-lr" style="padding-top: 35px;">
2024-06-26 16:58:53 +08:00
<view class="u-m-r-10">
2024-07-01 18:47:17 +08:00
<image :src="avatar" class="head-port"
2024-06-26 16:58:53 +08:00
@click="goNav('/pages/my/userinfo')"></image>
</view>
2024-07-01 18:47:17 +08:00
<view class="u-flex-1 margin-left-sm text-white" v-if="isLogin && userName">
2024-06-05 19:14:51 +08:00
<view class="flex align-center justify-between">
<view class="">
2024-06-26 23:04:01 +08:00
<view class="u-font-18 text-white" @click="goNav('/pages/my/user')">
2024-06-05 19:14:51 +08:00
欢迎{{ userName }}</view>
<view class="labe margin-top-xs" @tap="stateSave" v-if="XCXIsSelect != '否'">
<view class="online-tag" v-if="isTrue">在线</view>
<view class="online-tag" v-if="!isTrue">离线</view>
<!-- <switch :checked="isTrue" disabled/> -->
<switch type="switch" :checked='isTrue' style="padding: 0 10rpx;transform:scale(0.8)"
2024-06-26 23:04:01 +08:00
color="#029d88" disabled />
2024-06-05 19:14:51 +08:00
</view>
</view>
2024-07-01 18:47:17 +08:00
2024-06-05 19:14:51 +08:00
<!-- <view class="flex margin-left-sm " style="font-size: 22rpx;font-weight: 500;"
v-if="XCXIsSelect != '否'">
<view v-if="renzheng == 0" @click.stop="goNav('/my/renzheng/rzType')">
暂未实名认证
</view>
<view v-if="renzheng == 1" @click.stop="goNav('/my/renzheng/index')">
实名审核中
</view>
<view v-if="renzheng == 2">
已实名认证
</view>
<view v-if="renzheng == 3" @click.stop="goNav('/my/renzheng/index')">
实名已拒绝
</view>
</view> -->
</view>
</view>
<view v-else class="text-xl text-white u-p-l-20 text-bold" @click="goLogin('/pages/public/login')">
登录
</view>
</view>
2024-07-01 18:47:17 +08:00
<view class="gxbox" @click="goNavs('/my/qiandao/index')">
<template v-if="loglataddress">
<view class="flex align-center gengxin">
位置<text class="wztext">{{ loglataddress }}</text>
</view>
<view class="flex align-center gengxin">
时间<text class="wztext">{{ loglattime }}</text>
</view>
</template>
<template v-else>
<view class="flex align-center gengxin" style="justify-content: center;">
点击更新位置
</view>
</template>
</view>
2024-06-05 19:14:51 +08:00
<!-- <view class="box" v-if="XCXIsSelect != '否'">
<view class="">
<text class="text-bold text-xl">{{sumMoney}}</text>
<view>总收益</view>
</view>
<view class="">
<text class="text-bold text-xl">{{countOrderNum}}</text>
<view>总销量</view>
</view>
<view class="">
<text class="text-bold text-xl">{{countTakingByUserId}}</text>
<view>用户评价</view>
</view>
<view class="">
<text class="text-bold text-xl">{{countByUserId}}</text>
<view>访客人数</view>
</view>
</view> -->
</view>
2024-06-26 16:58:53 +08:00
<view style="margin-top: -105px;padding: 30rpx;">
2024-06-05 19:14:51 +08:00
<view class="dengjibox">
<view class="djtit">当前等级</view>
2024-06-26 16:58:53 +08:00
<view class="djimg" @click="level">{{ currentGrade ? currentGrade : "A0" }}</view>
2024-06-05 19:14:51 +08:00
<view class="" style="margin-top: 20px;">
2024-06-27 23:07:10 +08:00
<!-- <text style="font-size: 30px;font-weight: bold;">当前业绩{{ currentWholeIncome ? currentWholeIncome : 0 }}</text> -->
<!-- <text style="font-size: 16px;">/{{ totalIncomeRange ? totalIncomeRange : 4000 }}</text> -->
2024-06-05 19:14:51 +08:00
</view>
2024-06-27 23:07:10 +08:00
<!-- <u-line-progress active-color="#46a396" :show-percent="false" :height="38" inactive-color="#098f7a"
2024-06-05 19:14:51 +08:00
:percent="lineProgressData" :striped-active="true"></u-line-progress>
2024-06-26 16:58:53 +08:00
<view v-if="!maxStatus && longUpgradeDescriptionSet.differenceOutstandingAchievement" class="dengji-text">
2024-06-05 19:14:51 +08:00
还差{{ longUpgradeDescriptionSet.differenceOutstandingAchievement }}业绩;{{ longUpgradeDescriptionSet.differenceIntegral }}积分;可以升级{{ longUpgradeDescriptionSet.differenceGrade }}<u-icon
style="padding-left: 2px;" size="30" color="#ffffff" name="question-circle-fill"
@click="clickIcon" index="0"></u-icon>
</view>
2024-06-26 16:58:53 +08:00
<view v-if="maxStatus" class=" dengji-text">
2024-06-05 19:14:51 +08:00
您已达到最高等级
</view>
<view>
<u-popup v-model="showIconPopup" mode="center" border-radius="14" width="90%" height="240rpx"
closeable>
<view class="import" style="padding: 0px 10px;">
<view class="innerPopup">
<view class="" style="font-size: 18px;font-weight: bold;">
当前{{ currentGrade }}等级距离{{ longUpgradeDescriptionSet.differenceGrade }}等级还需:
</view>
<view class="innerOfPopup">
<view class="firstInnerOfPopup">
{{ longUpgradeDescriptionSet.differenceOutstandingAchievement }}业绩&nbsp;&nbsp;{{ longUpgradeDescriptionSet.differenceIntegral }}积分&nbsp;&nbsp;{{ longUpgradeDescriptionSet.differenceClockRate }}加钟率
</view>
<view class="firstInnerOfPopup">
{{ longUpgradeDescriptionSet.differenceDurationOnline }}小时在线时长&nbsp;&nbsp;
</view>
</view>
</view>
</view>
</u-popup>
2024-06-27 23:07:10 +08:00
</view> -->
2024-06-05 19:14:51 +08:00
<view class="flex align-center"
2024-06-26 16:58:53 +08:00
style="justify-content: space-evenly;text-align: center;">
2024-07-02 15:02:26 +08:00
<view class="" @click="handleYeji">
2024-07-01 18:47:17 +08:00
<view style="font-size: 24px;font-weight: bold;">{{ currentWholeIncome ? currentWholeIncome : 0 }}</view>
2024-07-01 19:11:43 +08:00
<text style="font-size: 14px; margin-top: 15px;">当前业绩</text>
2024-07-01 18:47:17 +08:00
<!-- <text style="font-size: 16px;">/{{ totalIncomeRange ? totalIncomeRange : 4000 }}</text> -->
</view>
<view class="shuxian"></view>
2024-06-26 16:58:53 +08:00
<view class="" @click="dangqian">
2024-06-28 09:40:37 +08:00
<view class="" style="font-size: 24px;font-weight: bold;">
2024-06-05 19:14:51 +08:00
{{ currentRealIncome ? currentRealIncome : 0 }}
</view>
2024-06-29 16:26:00 +08:00
<view class="" style="font-size: 14px; margin-top: 5px;">当期项目收益()</view>
2024-06-05 19:14:51 +08:00
</view>
2024-06-26 16:58:53 +08:00
<view class="shuxian"></view>
2024-06-27 10:19:54 +08:00
<view class="" @tap="goNav('/pages/index/currentPoints')">
2024-06-28 09:40:37 +08:00
<view class="" style="font-size: 24px;font-weight: bold;">{{ currentIntegral ? currentIntegral : 0 }}
2024-06-05 19:14:51 +08:00
</view>
2024-06-28 09:40:37 +08:00
<view class="" style="font-size: 14px; margin-top: 5px;" >当期积分</view>
2024-06-05 19:14:51 +08:00
</view>
</view>
</view>
2024-06-26 16:58:53 +08:00
<view class="csda">
2024-06-05 19:14:51 +08:00
<view class="flex align-center" style="font-size: 16px;font-weight: bold;color: #fff;margin-top: 8px;">
物料记录
<image src="../../static/images/index/yiwen.png" style="width: 16px;height: 17px;margin-left: 10px;"
@tap="viewHelp"></image>
<!-- 物料包消耗提示 -->
<view>
<u-popup v-model="showViewHelp" mode="center" border-radius="14" width="90%" height="240rpx"
closeable>
<view class="import" style="padding: 0px 10px;">
<view class="innerPopup">
<view class="innerOfPopup">
<view class="firstInnerOfPopup">
每次服务会减少物料包数量当数量少于一定值时将做停牌处理
</view>
</view>
</view>
</view>
</u-popup>
</view>
<!-- 物料包弹窗显示全部数据 -->
<view style="position: relative;">
<u-popup v-model="showMaterialPackageListStatus" mode="center" border-radius="14" width="90%"
closeable>
<view class="import" style="padding: 20px 20px;">
<!-- <view class="materialPackageTitle">
物料包
</view> -->
<view class="innerPopupOfViewmore">
<view class="importMaterialPackageInner"
v-for="(item, index) in homeMaterialPackageList" :key="item.id">
<view class="">
{{ item.materialName }}
</view>
<view class="">
{{ item.residue }}
</view>
</view>
</view>
</view>
</u-popup>
</view>
<view v-if="homeMaterialPackageList.length > 3" class="viewMore" @tap="showMoreMaterialPackageList">
查看更多</view>
</view>
<view v-if="formatHomeMaterialPackageList.length > 0" class="flex align-center justify-between zbhsga">
2024-06-26 16:58:53 +08:00
<view class="importMaterialPackage wuliao" v-for="(item, index) in formatHomeMaterialPackageList"
2024-06-05 19:14:51 +08:00
:key="item.id">
<view class="importMaterialPackage">
<view class="importMaterialPackageInnerBox">
{{ item.materialName }}
</view>
<view class="importMaterialPackageInnerBox">
{{ item.residue }}
</view>
</view>
<view v-if="index !== formatHomeMaterialPackageList.length - 1" class="xianc"></view>
</view>
</view>
<!-- 兜底接口异常 -->
<view v-else class="flex align-center justify-between zbhsga">
<view class="">
暂无物料包
</view>
</view>
</view>
<view class="flex align-center justify-between" style="margin-top: 20px;">
2024-07-01 22:17:10 +08:00
<view :class="activeTab == item.id ? 'tapDsalk' : 'dsalk'" @click="getJqqd(item.id)" v-for="(item,homeIindex) in homePageCountNum" :key="homeIindex">
2024-06-26 16:58:53 +08:00
<view class="sda flex align-center" v-if="homeIindex==indexImg" v-for="(imgItem,indexImg) in jiazhongIimg" :key="indexImg">
2024-06-26 23:04:01 +08:00
<image :src="imgItem.url" mode="" style="width: 30px;height: 30px;"></image>
2024-06-26 16:58:53 +08:00
<!-- <image :src="item.icon" style="width: 20px;height: 20px;"></image> -->
2024-06-05 19:14:51 +08:00
</view>
<view class="dqda">{{ item.title }}</view>
<view class="" :style="{ fontSize: '20px', color: item.color, marginTop: '6px', fontWeight: 'bold' }">
{{ item.num ? item.num : 0 }}
</view>
</view>
<!-- <view class="dsalk">
<view class="sda flex align-center">
<image src="../../static/images/index/dd02.png" style="width: 20px;height: 20px;"></image>
</view>
<view class="dqda">当期加钟率</view>
<view class="" style="font-size: 20px;color: #333333;margin-top: 6px;font-weight: bold;">
{{currentRenewalNum?currentRenewalNum:0}}%
</view>
</view> -->
<!-- <view class="dsalk">
<view class="sda flex align-center">
<image src="../../static/images/index/dd03.png" style="width: 20px;height: 20px;"></image>
</view>
<view class="dqda">当期充值率</view>
<view class="" style="font-size: 20px;color: #ff6c25;margin-top: 6px;font-weight: bold;">
{{currentRechargeNum?currentRechargeNum:0}}%
</view>
</view> -->
</view>
<!-- <view class="box1" @click="goNav('/my/shuju/index')">
<view class="text-bold text-lg margin-bottom-sm">订单数据</view>
<view class="orderbox ">
<view class="text-center">
<text class="text-bold text-xl">{{orderMoney}}</text>
<view class="margin-top-xs">订单收入</view>
</view>
<view class="text-center">
<text class="text-bold text-xl">{{countOrder}}</text>
<view class="margin-top-xs">总订单数</view>
</view>
<view class="text-center">
<text class="text-bold text-xl">{{sumRefund}}</text>
<view class="margin-top-xs">退款金额</view>
</view>
<view class="text-center">
<text class="text-bold text-xl">{{countByUserId}}</text>
<view class="margin-top-xs">访客人数</view>
</view>
</view>
</view> -->
<!-- <view class="guanlibox" @click="goDetail(1)" style="color: #FFFFFF; margin-top:30rpx;border-radius: 20rpx 20rpx 0 0; background-color: #FFFFFF;">
<view class="text-bold text-lg margin-bottom-sm flex justify-between">
<view>订单管理</view>
</view>
<view class="flex">
<view class="flex align-center radius" style="width: 33%;">
<view class="margin-left" style="text-align: center;margin: 0 auto;">
<view class="margin-top-xs">待服务</view>
<text class="text-bold text-xl">{{countOrderIng}}</text>
</view>
</view>
<view class="flex align-center radius "
style="padding: 10rpx auto;width: 33%;">
<view class="margin-left" style="text-align: center;margin: 0 auto;">
<view class="margin-top-xs">进行中</view>
<text class="text-bold text-xl">{{countOrderAppraise}}</text>
</view>
</view>
<view class="flex align-center radius "
style="width: 33%;">
<view class="margin-left" style="text-align: center; margin: 0 auto;">
<view class="margin-top-xs"style="width: 100%">已完成</view>
<text class="text-bold text-xl">{{countOrderEnd}}</text>
</view>
</view>
</view>
</view> -->
<!-- <view class="guanlibox2" style="border-radius: 0 0 20rpx 20rpx; background-color: #FFFFFF;">
<view class="text-bold text-lg margin-bottom-sm flex justify-between">
<view style="color: #FFFFFF;">订单数据</view>
</view>
<view class="flex" style="color: #FFFFFF;">
<view class="flex align-center" style="width: 33%;">
<view class="margin-left" style="text-align: center;margin: 0 auto;">
<view class="margin-top-xs" >订单收入</view>
<text class="text-bold text-xl" >{{orderMoney}}</text>
</view>
</view>
<view class="flex align-center"
style="padding: 10rpx auto;width: 33%;">
<view class="margin-left" style="text-align: center;margin: 0 auto;">
<view class="margin-top-xs">总订单数</view>
<text class="text-bold text-xl">{{countOrder}}</text>
</view>
</view>
<view class="flex align-center"
style="padding: 10rpx auto;width: 33%;">
<view class="margin-left" style="text-align: center;margin: 0 auto;">
<view class="margin-top-xs">退款金额</view>
<text class="text-bold text-xl">{{sumRefund}}</text>
</view>
</view>
</view>
</view> -->
2024-06-26 23:04:01 +08:00
<view class="flex align-center justify-between butween-list" style="margin-top: 20px;" v-if="XCXIsSelect != '否'">
2024-06-05 19:14:51 +08:00
<view class="text-center" @click="goNavs('/pages/my/mangshi')">
2024-06-27 23:21:56 +08:00
<image src="../../static/index/order_5.png" style="width: 70rpx;height: 70rpx;"></image>
2024-06-26 16:58:53 +08:00
<view class="tongji-text">忙时设置</view>
2024-06-05 19:14:51 +08:00
</view>
<view class="text-center" @click="goNav('/my/shuju/index')">
2024-06-27 23:21:56 +08:00
<image src="../../static/index/order_4.png" style="width: 70rpx;height: 70rpx;"></image>
2024-06-26 16:58:53 +08:00
<view class="tongji-text">数据统计</view>
2024-06-05 19:14:51 +08:00
</view>
<view class="text-center" @click="goNav('/my/commission/index')">
2024-06-27 23:21:56 +08:00
<image src="../../static/index/order_3.png" style="width: 70rpx;height: 70rpx;"></image>
2024-06-26 16:58:53 +08:00
<view class="tongji-text">分成明细</view>
2024-06-05 19:14:51 +08:00
</view>
<view class="text-center" @click="goNav('/my/fund/index')">
2024-06-27 23:21:56 +08:00
<image src="../../static/index/order_2.png" style="width: 70rpx;height: 70rpx; "></image>
2024-06-26 16:58:53 +08:00
<view class="tongji-text">资金明细</view>
2024-06-05 19:14:51 +08:00
</view>
<view class="text-center" @click="goNavs('/pages/index/jinji')">
2024-06-27 23:21:56 +08:00
<image src="../../static/index/order_1.png" style="width: 70rpx;height: 70rpx;"></image>
2024-06-26 16:58:53 +08:00
<view class="tongji-text">紧急报警</view>
2024-06-05 19:14:51 +08:00
</view>
2024-06-29 19:47:30 +08:00
<!-- <view class="text-center" @click="goNav('/my/dashang/index')">
2024-06-29 16:27:06 +08:00
<image src="../../static/index/order_9.png" style="width: 70rpx;height: 70rpx;"></image>
2024-06-29 16:26:00 +08:00
<view class="tongji-text">打赏明细</view>
2024-06-29 19:47:30 +08:00
</view> -->
2024-06-05 19:14:51 +08:00
</view>
<!-- <view class="flex justify-between margin-top" style="border: 1rpx solid #cccccc;background-color: #e1f5ea; border-radius: 20rpx;">
<view class="guanlibox" @click="goDetail(1)">
<view class="text-bold text-lg margin-bottom-sm flex justify-between">
<view>订单管理</view>
<view>
<image src="../../static/images/back.png" style="width: 12upx;height: 20upx;"></image>
</view>
</view>
<view class="flex align-center radius" style="background: #E8F9EF;padding: 10rpx 20rpx;">
<image src="../../static/images/index/order1.png"
style="width: 72rpx;height: 72rpx;border-radius: 50%;">
</image>
<view class="margin-left">
<view class="margin-top-xs">待服务</view>
<text class="text-bold text-xl">{{countOrderIng}}</text>
</view>
</view>
<view class="flex align-center radius margin-top-sm"
style="background: #EFF3FF;padding: 10rpx 20rpx;">
<image src="../../static/images/index/order2.png"
style="width: 72rpx;height: 72rpx;border-radius: 50%;">
</image>
<view class="margin-left">
<view class="margin-top-xs">进行中</view>
<text class="text-bold text-xl">{{countOrderAppraise}}</text>
</view>
</view>
<view class="flex align-center radius margin-top-sm"
style="background: #FEF8E8;padding: 10rpx 20rpx;">
<image src="../../static/images/index/order3.png"
style="width: 72rpx;height: 72rpx;border-radius: 50%;">
</image>
<view class="margin-left">
<view class="margin-top-xs">已完成</view>
<text class="text-bold text-xl">{{countOrderEnd}}</text>
</view>
</view>
</view>
<view style="border: 0.5rpx solid #EEEEEE;"></view>
<view class="guanlibox2" @click="goNav('/my/shuju/index')">
<view class="text-bold text-lg margin-bottom-sm flex justify-between">
<view>订单数据</view>
<view>
<image src="../../static/images/back.png" style="width: 12upx;height: 20upx;"></image>
</view>
</view>
<view class="flex align-center radius" style="background: #E8F9EF;padding: 10rpx 20rpx;">
<image src="../../static/images/index/order4.png"
style="width: 72rpx;height: 72rpx;border-radius: 50%;">
</image>
<view class="margin-left">
<view class="margin-top-xs">订单收入</view>
<text class="text-bold text-xl">{{orderMoney}}</text>
</view>
</view>
<view class="flex align-center radius margin-top-sm"
style="background: #EFF3FF;padding: 10rpx 20rpx;">
<image src="../../static/images/index/order5.png"
style="width: 72rpx;height: 72rpx;border-radius: 50%;">
</image>
<view class="margin-left">
<view class="margin-top-xs">总订单数</view>
<text class="text-bold text-xl">{{countOrder}}</text>
</view>
</view>
<view class="flex align-center radius margin-top-sm"
style="background: #FEF8E8;padding: 10rpx 20rpx;">
<image src="../../static/images/index/order6.png"
style="width: 72rpx;height: 72rpx;border-radius: 50%;">
</image>
<view class="margin-left">
<view class="margin-top-xs">退款金额</view>
<text class="text-bold text-xl">{{sumRefund}}</text>
</view>
</view>
</view>
</view> -->
2024-06-27 23:21:56 +08:00
<view style="margin-top: 45rpx;" v-if="goods.length > 0">
2024-06-05 19:14:51 +08:00
<view class="text-bold text-lg" style="border-bottom: 5rpx solid #2FB57A;">
<text
2024-06-27 23:21:56 +08:00
style="border-radius: 10rpx 10rpx 0 0; background: linear-gradient(90deg, #019C88, #28BA92, #35C495);padding: 15rpx 15rpx 5rpx 15rpx;color: white;">今日服务</text>
2024-06-05 19:14:51 +08:00
</view>
2024-07-01 22:17:10 +08:00
2024-06-05 19:14:51 +08:00
<view class="bgwhite radius margin-top-sm padding-bottom-sm"
:style="{ backgroundColor: item.status == 2 ? '#f6fcfa' : '', border: item.status == 2 ? '2px solid rgb(207, 237, 225)' : '' }"
2024-06-26 16:58:53 +08:00
v-for="(item, index) in goods" :key='index' @click="goNav('/my/order/revenueDetails?ordersId=' + item.ordersId)">
2024-07-01 22:17:10 +08:00
<view class="xian" v-if="item.status == 6"></view>
<view class="pintuan_syrs flex justify-between" v-if="item.status == 6">
<view class="pintuan-title" >
<image src="../../static/clock.png" class="pintuan-img"></image>
<span class="pintuan-text">服务倒计时</span>
</view>
<!-- <uni-countdown ref="countDownEl" :title="'剩余'" :fontSize="'14'" :showDay="false"
:hour="item.endTime.hour" :minute="item.endTime.minute" :second="item.endTime.second"
color="#20C675">
</uni-countdown> -->
<u-count-down :timestamp="endOfServiceTimer" separator-color="#20C675" color="#20C675"
font-size="30" separator-size="30"></u-count-down>
</view>
2024-06-26 23:04:01 +08:00
<view class="flex justify-between padding-sm ">
2024-07-01 18:47:17 +08:00
<view class="progress-text">预约时间{{ item.serveTime }}</view>
<view class="progress-status" v-if="item.status == 1">待付款...</view>
<view class="progress-status" v-if="item.status == 2">待服务</view>
<view class="progress-status" v-if="item.status == 5">已完成</view>
<view class="progress-status" v-if="item.status == 6">进行中</view>
<view class="progress-status" v-if="item.status == 7">已出发</view>
<view class="progress-status" v-if="item.status == 8">已到达</view>
<view class="progress-status" v-if="item.status == 3">待评价</view>
<view class="progress-status" v-if="item.status == 4" style="color: #999999;">已取消</view>
2024-06-05 19:14:51 +08:00
<view v-if="item.overTimeOrders == 1" style="color: red;font-size:26rpx">(订单已超时)</view>
<!-- <view class="text-green" v-if="item.state ==1 ||item.state ==2">待完成</view>
<view class="text-green" v-if="item.state ==3||item.state ==4">已完成</view> -->
</view>
<view class=" u-flex u-p-t-30 padding-sm">
<view class="u-m-r-10">
<u-avatar :src="item.massageImg ? item.massageImg : '../../static/logo.png'" mode="square"
2024-07-01 18:47:17 +08:00
size="80">
2024-06-05 19:14:51 +08:00
</u-avatar>
</view>
<view class="u-flex-1 margin-left-xs">
<view class="u-font-18 text-bold u-line-1" style="width: 560rpx;">
<view class="margin-right-xs text-df margin-left-xs"
style="margin-top: 0rpx;display: inline-block;width: 400rpx; overflow: hidden;white-space: nowrap;text-overflow: ellipsis;">
{{ item.title }}
</view>
</view>
<view class="margin-left-xs text-cut" style="width:550upx">{{ item.address }}</view>
</view>
</view>
<view class="flex u-p-t-20 justify-between align-center padding-sm">
<view class=" flex-sub ">
实收<text class="text-df"></text><text
class="text-xl text-bold">{{ item.sumArtificerMoney }}</text>
</view>
<view class="flex text-right">
<!-- <u-button v-if="item.status == 1" :custom-style="customStyle" shape="circle" :plain="true"
@click="cancelOrder(item)">取消订单</u-button> -->
<u-button v-if="item.status == 1" :custom-style="customStyle1" shape="circle" :plain="true"
@click="bindphone(item.phone)">联系TA</u-button>
<u-button v-if="item.state == 1" :custom-style="customStyle1" shape="circle" :plain="true"
@click="goNav('/my/order/pay?id=' + item.ordersId + '&isTrue=1')">查看详情</u-button>
<!-- <u-button v-if="item.status == 6" :custom-style="customStyle" shape="circle" :plain="true"
@click="cancel(item)">订单完成</u-button> -->
</view>
</view>
</view>
</view>
<uni-popup ref="popup" type="center">
<view style="background: #fff;width:658upx;height: 960upx; border-radius:17upx;position: relative;">
<image :src="Guanggao" style="width: 100%;height: 100%;" mode="aspectFill"
@tap="saveImgs(Guanggao)">
</image>
</view>
</uni-popup>
</view>
</view>
</template>
<script>
import empty from '@/components/empty.vue'
import * as websocketUtils from 'utils/websocketUtils.js';
export default {
components: {
empty
},
data() {
return {
2024-06-26 16:58:53 +08:00
jiazhongIimg:[
{url:'../../static/index/order_8.png',id:0},
{url:'../../static/index/order_7.png',id:1},
{url:'../../static/index/order_6.png',id:3}
],
2024-06-05 19:14:51 +08:00
Guanggao: '',
ssDW: false,
stateName: '休息中',
avatar: '../../static/logo.png',
isLogin: false,
userName: '',
renzheng: 0,
goods: [],
sumMoney: 0, //总收益
countOrderNum: 0, //总销量
countTakingByUserId: 0, //用户评价数
orderMoney: 0, //订单收入
countOrder: 0, //总订单数
sumRefund: 0, //退款金额
countByUserId: 0, //访客人数
countOrderIng: 0, //待接单
countOrderAppraise: 0, //待完成
countOrderEnd: 0, //已完成
putaway: 0, //上架中
soldOut: 0, //下架中
page: 1,
limit: 10,
longitude: '',
latitude: '',
isTrue: true,
showModal: true,
userId: '',
arr: [],
city: '',
invitationCode: '',
isCashDeposit: 0,
loglattime: '',
loglataddress: '',
2024-06-28 14:47:10 +08:00
isJsjdsfxywl:false,//技师接单是否需要物料
2024-06-05 19:14:51 +08:00
switchList: [{
title: '在线',
value: true
}, {
title: '离线',
value: false
}],
customStyle: {
color: '#999999',
border: '2rpx solid #999999',
// backgroundColor: '#1E1F31',
border: "8rpx",
width: '180rpx',
height: '54rpx',
margin: "0 0 0 20rpx"
},
customStyle1: {
color: '#2FB57A',
border: '2rpx solid #2FB57A',
border: "8rpx",
width: '180rpx',
height: '54rpx',
margin: "0 0 0 20rpx"
},
XCXIsSelect: '否',
time: '',
currentWholeIncome: null, //App首页当期总收益
totalIncomeRange: null, //App首页当前阶段收益总数
currentRealIncome: null, //App首页当期实际收益已扣除各项
currentIntegral: null, //App首页当期积分
currentOrdersNum: null, //App首页当期订单数量
currentRenewalNum: null, //App首页当期加钟率
currentRechargeNum: null, //App首页当期充值率
upgradeDescriptionStatus: false, // App首页升级描述
currentGrade: null, //App首页当前等级
lineProgressData: 0,
homePageCountNum: [{
2024-06-26 16:58:53 +08:00
id: 1,
2024-06-05 19:14:51 +08:00
title: "当期订单",
icon: "../../static/images/index/dd01.png",
color: "#2FB57A",
num: 0,
},
{
2024-06-26 16:58:53 +08:00
id: 2,
2024-06-05 19:14:51 +08:00
title: "当期加钟率",
icon: "../../static/images/index/dd02.png",
color: "#333333",
num: 0,
},
{
2024-06-26 16:58:53 +08:00
id: 3,
2024-06-05 19:14:51 +08:00
title: "当期充值率",
icon: "../../static/images/index/dd03.png",
color: "#ff6c25",
num: 0,
}
],
activeTab: null,
endOfServiceTimer: null,
changedecscription: false,
longUpgradeDescriptionSet: {},
showIconPopup: false,
maxStatus: null,
homeMaterialPackageList: [],
formatHomeMaterialPackageList: [],
currentPage: null,
pageSize: null,
showViewHelp: false,
showMaterialPackageListStatus: false,
2024-06-26 16:58:53 +08:00
shouyiMoeny:'',
homePageCountNumTwo:'',
homePageCountNumOme:''
2024-06-05 19:14:51 +08:00
}
},
onShareAppMessage(res) { //发送给朋友
return {
title: this.tuiguang,
path: '/pages/index/index?invitation=' + this.invitationCode,
imageUrl: this.tuiguangImg,
}
},
onShareTimeline(res) { //分享到朋友圈
return {
title: this.tuiguang,
path: '/pages/index/index?invitation=' + this.invitationCode,
imageUrl: this.tuiguangImg,
}
},
mounted() {
uni.$on("exitLoginStatus", (status) => {
clearInterval(this.time);
})
},
onLoad(e) {
//获取App首页数据
this.getHomeListData();
2024-06-26 16:58:53 +08:00
this.userId = uni.getStorageSync('userId');
console.log("ueser========",this.userId)
2024-06-05 19:14:51 +08:00
// 获取邀请码保存到本地
if (e.invitation) {
this.$queue.setData('inviterCode', e.invitation);
}
// #ifdef MP-WEIXIN
if (e.scene) {
const scene = decodeURIComponent(e.scene);
this.$queue.setData('inviterCode', scene.split(',')[0]);
}
// #endif
this.$Request.getT('/app/common/type/247').then(res => { //下单成功
if (res.code == 0) {
if (res.data && res.data.value) {
this.arr.push(res.data.value)
}
}
})
this.$Request.getT('/app/common/type/249').then(res => { //用户完成成功
if (res.code == 0) {
if (res.data && res.data.value) {
this.arr.push(res.data.value)
}
}
})
this.$Request.getT('/app/common/type/309').then(res => { //用户完成成功
if (res.code == 0) {
if (res.data && res.data.value) {
this.arr.push(res.data.value)
}
}
})
// 理疗师端首页是否弹框 380
this.$Request.get('/app/common/type/380').then(res => {
if (res.code == 0 && res.data.value && res.data.value === '是') {
this.$Request.get('/app/common/type/379').then(res => {
if (res.code == 0 && res.data && res.data.value) {
this.Guanggao = res.data.value;
this.$refs.popup.open();
}
});
}
});
// this.getcity()
2024-06-28 14:47:10 +08:00
2024-06-05 19:14:51 +08:00
},
onShow() {
this.getHomeListData();
this.getHomeMaterialPackageList();
//是否开启理疗师端实时定位 330
this.$Request.get('/app/common/type/330').then(res => {
if (res.code == 0 && res.data) {
if (res.data.value != '是') {
this.ssDW = true;
} else {
this.ssDW = false;
}
}
});
2024-07-01 19:06:00 +08:00
// 理疗师端首页是否弹框 380
this.$Request.get('/app/common/type/448').then(res => {
this.isJsjdsfxywl = res.data.value;
});
2024-06-05 19:14:51 +08:00
this.$Request.get('/app/common/type/238').then(res => {
if (res.code == 0) {
// #ifdef MP-WEIXIN
this.$queue.setData('XCXIsSelect', res.data.value);
// #endif
// #ifndef MP-WEIXIN
this.$queue.setData('XCXIsSelect', '是');
// #endif
this.XCXIsSelect = this.$queue.getData("XCXIsSelect");
}
});
2024-06-26 16:58:53 +08:00
// this.userId = uni.getStorageSync('userId')
this.userId = this.$queue.getData("userId")
2024-07-01 22:17:10 +08:00
console.log('this.userId------------->',this.userId);
2024-06-05 19:14:51 +08:00
this.isCashDeposit = uni.getStorageSync('isCashDeposit')
if (this.userId) {
2024-06-26 16:58:53 +08:00
console.log(this.userId, "dwdwadwdawd============>");
2024-06-05 19:14:51 +08:00
this.isLogin = true
2024-06-28 14:47:10 +08:00
this.getJinRiOrder();
2024-06-05 19:14:51 +08:00
this.getUserInfo()
this.getFb()
this.getArtificer()
this.getNewOrder()
// #ifdef MP-WEIXIN
//订阅
if (this.showModal) {
this.openMsg()
}
// #endif
let that = this
if (that.time) clearInterval(that.time);
if (this.isLogin) {
that.time = setInterval(function () {
that.getNewOrder()
console.log(that.time);
2024-07-01 20:24:23 +08:00
}, 10000)
2024-06-05 19:14:51 +08:00
}
} else {
2024-06-26 16:58:53 +08:00
console.log(this.userId,"false============>");
2024-06-05 19:14:51 +08:00
this.isLogin = false
this.userName = ''
this.browse = 0
this.fans = 0
this.follow = 0
this.visitor = 0
this.avatar = '../../static/logo.png'
clearInterval(this.time);
}
2024-06-27 23:21:22 +08:00
// if (this.isLogin) this.getJinRiOrder();
2024-06-05 19:14:51 +08:00
this.getcity()
},
destroyed() {
clearInterval(this.time);
},
watch: {
isTrue(newValue) {
// debugger;
if (newValue) {
this.$queue.showToast('您已上线');
// debugger;
uni.$emit("onlineStatus", 1);
} else {
// debugger;
this.$queue.showToast('您已离线');
uni.$emit("onlineStatus", 2);
}
},
isLogin(newValue) {
if (!newValue) {
this.currentWholeIncome = null;
this.upgradeDescriptionStatus = null;
this.currentRealIncome = null;
this.lineProgressData = 0;
this.currentGrade = "A0";
this.totalIncomeRange = 4000;
this.currentIntegral = null;
this.homePageCountNum[0].num = 0;
this.homePageCountNum[1].num = 0;
this.homePageCountNum[2].num = 0;
this.goods = [];
}
}
},
methods: {
2024-06-26 16:58:53 +08:00
level(){//跳往 技师等级
uni.navigateTo({
url:'/pages/index/technicianLevel'
})
},
dangqian(){//跳往当前收益
uni.navigateTo({
url:'/pages/index/currentIncome'
})
},
2024-07-02 15:02:26 +08:00
handleYeji(){//跳往业绩页面
uni.navigateTo({
url:'/pages/index/currentYeji'
})
},
2024-06-05 19:14:51 +08:00
showMoreMaterialPackageList() {
this.showMaterialPackageListStatus = true;
},
viewHelp() {
this.showViewHelp = true;
},
// 获取APP端首页物料记录数据
getHomeMaterialPackageList() {
let artificerId = uni.getStorageSync("artificerId");
2024-06-26 21:47:41 +08:00
if(artificerId){
this.$Request.getXZX("/app/material/selectMaterialArtificer?artificerId=" + artificerId + "&page=" + (this
.currentPage ? this
.currentPage : '') + "&limit=" + (this.pageSize ? this.pageSize : '')).then((res) => {
if (res && res.data && res.code === 0) {
this.formatHomeMaterialPackageList = res?.data.slice(0, 3);
// this.formatHomeMaterialPackageList = [];
this.homeMaterialPackageList = res.data;
2024-07-01 22:17:10 +08:00
console.log('this.homeMaterialPackageList------>>',this.homeMaterialPackageList);
console.log('this.formatHomeMaterialPackageList------>>',this.formatHomeMaterialPackageList);
2024-06-26 21:47:41 +08:00
}
})
}
2024-06-05 19:14:51 +08:00
},
clickIcon(index) {
console.log(index);
if (index) this.showIconPopup = true;
},
2024-06-26 16:58:53 +08:00
getJqqd(id) {
if(id!='1'){
this.$queue.setData("homePageCountNumOne",[this.homePageCountNumOne,this.homePageCountNumTwo])
uni.navigateTo({
url:'/pages/index/addClock?type='+id
})
}else{
uni.navigateTo({
url:'/pages/index/currentIncome?type='+id+'&shouyiMoeny='+this.shouyiMoeny
})
}
// this.$queue.showToast('敬请期待!')
// 如果需要当期订单/当期加钟率/当期充值率点击样式时解开注释即可
// if (id !== undefined) this.activeTab = id;
},
2024-06-05 19:14:51 +08:00
//获取App首页数据
getHomeListData() {
let artificerId = uni.getStorageSync("artificerId");
2024-07-01 22:17:10 +08:00
console.log('artificerId------->',artificerId);
2024-06-05 19:14:51 +08:00
if (artificerId) {
this.$Request.getXZX("/app/artificer/integral/home/?artificerId=" + artificerId,).then((res) => {
if (res && res.data) {
console.log(res, "dwdw00of");
2024-06-26 16:58:53 +08:00
this.shouyiMoeny=res?.data?.currentMonthsIncome
2024-06-05 19:14:51 +08:00
this.homePageCountNum[0].num = res?.data?.currentPeriodOrdersSum;
2024-06-26 16:58:53 +08:00
2024-06-05 19:14:51 +08:00
let formathomePageCountNum = (res?.data?.currentPeriodAddBellsSum * 1) * 100;
this.homePageCountNum[1].num = Math.floor(formathomePageCountNum) + "%";
2024-06-26 16:58:53 +08:00
this.homePageCountNumOne=this.homePageCountNum[1].num;
2024-06-05 19:14:51 +08:00
let currentPeriodRechargeSum = ((res?.data?.currentPeriodRechargeSum * 1) * 100);
this.homePageCountNum[2].num = Math.floor(currentPeriodRechargeSum) + "%";
2024-06-26 16:58:53 +08:00
this.homePageCountNumTwo=this.homePageCountNum[2].num;
2024-06-05 19:14:51 +08:00
this.currentWholeIncome = Math.floor(res?.data?.currentPerformance);
this.currentRealIncome = res?.data?.earnings;
this.currentIntegral = res?.data?.integral;
this.maxStatus = res?.data.maxStatus;
this.currentRechargeNum = Math.floor(res?.data?.currentPeriodRechargeSum);
this.longUpgradeDescriptionSet = {
differenceOutstandingAchievement: res?.data?.differenceOutstandingAchievement,
differenceIntegral: res?.data?.differenceIntegral,
differenceClockRate: res?.data?.differenceClockRate + "%",
differenceDurationOnline: res?.data?.differenceDurationOnline,
currentLevel: res?.data?.currentLevel,
differenceGrade: res?.data?.differenceGrade,
};
this.upgradeDescriptionStatus = res?.data?.newUltimately;
this.currentGrade = res?.data?.grade;
uni.setStorageSync("currentRealIncome", res?.data?.earnings);
this.totalIncomeRange = res?.data?.suffix;
// if (this.currentWholeIncome < 4000) {
// this.totalIncomeRange = 4000;
// } else if (this.currentWholeIncome < 6000 && this.currentWholeIncome > 4000) {
// this.totalIncomeRange = 6000;
// } else if (this.currentWholeIncome < 8000 && this.currentWholeIncome > 6000) {
// this.totalIncomeRange = 8000;
// } else if (this.currentWholeIncome < 10000 && this.currentWholeIncome > 8000) {
// this.totalIncomeRange = 10000;
// } else {
// this.totalIncomeRange = 4000;
// }
// this.currentWholeIncome = 2000;
this.lineProgressData = this.currentWholeIncome / this.totalIncomeRange * 100;
}
})
}
},
jumpIntegralStatistics() {
uni.navigateTo({
url: ""
})
},
2024-06-26 16:58:53 +08:00
2024-06-05 19:14:51 +08:00
getNewOrder() {
let data = {
page: 1,
limit: 100,
state: 51
}
this.$Request.getT('/app/message/selectMessageByUserIds', data).then(res => {
if (res.code == 0) {
if (res.data.totalCount > 0) {
this.aplayAudios()
}
} else {
this.$queue.showToast(res.msg);
}
});
},
// 新订单语音播放
aplayAudios() {
console.log('语音提示')
// uni.getPushClientId({
// success: (res) => {
// console.log(res, "success");
// },
// fail(err) {
// console.log(err, "fail")
// }
// })
uni.onPushMessage((res) => {
console.log(res, "监听推送");
})
uni.createPushMessage({
title: "盛安到家",
content: "你有新的订单,请注意查收!",
sound: "system",
success: (res) => {
console.log(res, "进来咯额");
},
fail: (err) => {
console.log(err, "错误了");
},
complete: (msg) => {
console.log("complete");
}
})
//自定义通知铃声暂不配置
// const plugin = uni.requireNativePlugin("DCloud-PushSound");
// plugin.setCustomPushChannel({
// soundName: "pushsound",
// channelId: "test",
// channelDesc: "test渠道描述",
// enableVibration: true,
// importance: 3,
// lockscreenVisibility: 0,
// });
// plugin.getAllChannels((p) => {
// console.log("channels :" + JSON.stringify(p)); //返回数组
// })
// var info = plus.push.getClientInfo();
//盛安到家app新订单提示音
const innerAudioContext = uni.createInnerAudioContext();
innerAudioContext.autoplay = true;
innerAudioContext.src =
'https://pw.xianmxkj.com/file/uploadPath/2022/03/15/c096db4257ecc2547814d4f51c6518bd.mp3';
innerAudioContext.onPlay(() => {
console.log('开始播放');
});
innerAudioContext.onError((res) => {
console.log(res.errMsg);
console.log(res.errCode);
});
},
saveImgs(imgs) {
let imgArr = [];
imgArr.push(imgs);
// //预览图片
uni.previewImage({
urls: imgArr,
current: 0
});
},
stateSave() {
2024-06-28 14:47:10 +08:00
let materialPackageCountFlag = this.homeMaterialPackageList.some((item) => item.residue <= item.materialMinimum);
2024-07-01 19:06:00 +08:00
console.log(this.isTrue,materialPackageCountFlag,this.isJsjdsfxywl);
2024-06-28 14:47:10 +08:00
if (!this.isTrue && materialPackageCountFlag && this.isJsjdsfxywl == '是') {
2024-06-05 19:14:51 +08:00
this.$queue.showToast("当前剩余物料包数量不足,请检查");
return;
}
this.$Request.postT('/app/artificer/updateArtificer').then(res => {
if (res.code == 0) {
this.getArtificer();
this.$queue.showToast('切换成功!')
} else {
this.$queue.showToast(res.msg);
}
});
},
// 取消订单
cancelOrder(e) {
let that = this
uni.showModal({
title: '提示',
content: '确认取消并删除订单?',
success: function (res) {
if (res.confirm) {
let data = {
ordersId: e.ordersId,
}
that.$queue.showLoading('提交中...')
that.$Request.post('/app/artificer/deleteOrders', data).then(res => {
uni.hideLoading();
if (res.code == 0) {
that.getJinRiOrder();
} else {
that.$queue.showToast(res.msg);
}
})
} else if (res.cancel) {
console.log('用户点击取消');
}
}
});
},
// 完成订单
cancel(e) {
let that = this
console.log(that.longitude, that.latitude, "测试首页经纬度");
return;
uni.showModal({
title: '提示',
content: '如果服务未完成点击完成订单会遭到平台违规处理,请确认服务是否完毕?',
success: function (res) {
if (res.confirm) {
let data = {
ordersId: e.ordersId,
accomplishLongitude: that.longitude,
accomplishLatitude: that.latitude
}
that.$queue.showLoading('提交中...')
that.$Request.post('/app/artificer/accomplishOrders', data).then(res => {
uni.hideLoading();
if (res.code == 0) {
that.getJinRiOrder();
websocketUtils.uploadAudioEnd(); //关闭音频上传
} else {
that.$queue.showToast(res.msg);
}
})
} else if (res.cancel) {
console.log('用户点击取消');
}
}
});
},
timeFormat(param) {
return param < 10 ? '0' + param : param;
},
getJinRiOrder() {
let data = {
type: 1,
page: 1,
limit: 10,
startTime: '',
endTime: ''
}
this.$Request.getT('/app/artificer/selectTodayOrder', data).then(res => {
this.goods = [];
if (res.code == 0) {
res.data.list.forEach(d => {
if (d.status == 6 && d.endTime) {
let afterTimeStamp = new Date(d.endTime).getTime() / 1000;
let currentTimeStamp = new Date().getTime() / 1000;
let formatTimeStamp = Math.floor(afterTimeStamp - currentTimeStamp);
console.log(currentTimeStamp);
this.endOfServiceTimer = formatTimeStamp;
}
this.goods.push(d);
});
}
})
},
getcity() {
let that = this
console.log("---------------------------");
uni.getLocation({
type: 'wgs84',
isHighAccuracy: true,
success: function (res) {
console.log('当前位置的经度:' + res.longitude);
console.log('当前位置的纬度:' + res.latitude);
that.latitude = res.latitude
that.longitude = res.longitude
that.getcitys()
},
fail() {
console.log("-------失败");
}
});
},
getcitys() {
this.$Request.get('/app/Login/selectCity?lat=' + this.latitude + '&lng=' + this.longitude).then(res => {
if (res.code == 0) {
this.city = res.data.city ? res.data.city : '未知'
// uni.setStorageSync('city', res.data.city)
// let data = {
// num: 1,
// size: 10
// }
// this.getData(data)
}
});
},
//上线开关
bindopen() {
let bzjCheck = this.$queue.getData("bzjCheck");
if (this.isCashDeposit == 0 && bzjCheck != '否') {
uni.showModal({
title: '提示',
content: '请先去缴纳保证金',
success: function (res) {
if (res.confirm) {
uni.navigateTo({
url: '/my/publish/money'
})
} else if (res.cancel) {
console.log('用户点击取消');
}
}
});
} else {
let data = {
longitude: this.longitude,
latitude: this.latitude,
// status: this.status,
city: this.city
}
this.$Request.post("/app/artificer/updateArtificer", data).then(res => {
if (res.code == 0) {
this.getArtificer()
this.getUserInfo()
} else {
// uni.showToast({
// title: res.msg,
// icon: 'none'
// })
uni.showModal({
title: '提示',
content: res.msg,
success: function (res) {
if (res.confirm) {
uni.navigateTo({
url: '/my/publish/money'
})
} else if (res.cancel) {
console.log('用户点击取消');
}
}
});
}
})
}
},
//获取理疗师的信息
getArtificer() {
this.$Request.getT("/app/artificer/selectArtificer").then(res => {
if (res.code == 0) {
// uni.setStorageSync("status", res.data.status)
if (res.data) {
if (res.data.status == 1) {
this.isTrue = true
} else if (res.data.status == 2) {
this.isTrue = false
this.$queue.setData("onlineStatus", 2);
}
} else {
this.isTrue = false
}
websocketUtils.changeGoLiveFn(this.isTrue);
uni.setStorageSync('artificerId', res.data?.artificerId)
}
});
},
//获取用户发布
getFb() {
this.$Request.get("/app/artificer/selectArtificerIndex").then(res => {
if (res.code == 0) {
this.sumMoney = res.data.sumMoney //总收益
this.putaway = res.data.putaway //上架中
this.soldOut = res.data.soldOut //下架中
this.countOrderNum = res.data.countOrderNum //总销量
this.countTakingByUserId = res.data.countTakingByUserId //用户评价
this.orderMoney = res.data.orderMoney //订单收入
this.countOrder = res.data.countOrder //总订单数
this.sumRefund = res.data.sumRefund //退款金额
this.countByUserId = res.data.countByUserId //访客人数
this.countOrderIng = res.data.countOrderIng //进行中
this.countOrderEnd = res.data.countOrderEnd //已完成
this.countOrderAppraise = res.data.countOrderJin //进行中
}
})
},
goDetail(index) {
if (index == 1) {
uni.switchTab({
url: '/pages/order/index'
})
}
if (index == 2) {
uni.navigateTo({
url: '/my/publish/index'
})
}
},
bindFb() {
let userId = uni.getStorageSync('userId')
let renzheng = uni.getStorageSync('renzheng')
if (userId) {
if (renzheng == 2) {
uni.navigateTo({
url: '/my/publish/index'
})
} else {
uni.showModal({
title: '提示',
content: '您还未实名认证,请先认证',
success: function (res) {
if (res.confirm) {
console.log('用户点击确定');
uni.navigateTo({
url: '/my/renzheng/index'
})
} else if (res.cancel) {
console.log('用户点击取消');
}
}
})
}
} else {
uni.showModal({
title: '提示',
content: '您还未登录,请先登录',
success: function (res) {
if (res.confirm) {
console.log('用户点击确定');
uni.navigateTo({
url: '/pages/public/login'
})
} else if (res.cancel) {
console.log('用户点击取消');
}
}
})
}
},
goNavs(e, name) {
console.log(e)
if (this.userId) {
let renzheng = uni.getStorageSync('renzheng')
if (renzheng == 2) {
let bzjCheck = this.$queue.getData("bzjCheck");
if (bzjCheck != '否') {
if (this.isCashDeposit == 0) {
uni.showModal({
title: '提示',
content: '请先去缴纳保证金',
success: function (res) {
if (res.confirm) {
uni.navigateTo({
url: '/my/publish/money'
})
} else if (res.cancel) {
console.log('用户点击取消');
}
}
});
} else {
uni.navigateTo({
url: e,
})
}
} else {
uni.navigateTo({
url: e,
})
}
} else {
uni.showModal({
title: '提示',
content: '您还未实名认证,请先认证',
success: function (res) {
if (res.confirm) {
console.log('用户点击确定');
uni.navigateTo({
url: '/my/renzheng/rzType'
})
} else if (res.cancel) {
console.log('用户点击取消');
}
}
})
}
} else {
uni.showModal({
title: '提示',
content: '您还未登录,请先登录',
success: function (res) {
if (res.confirm) {
console.log('用户点击确定');
uni.navigateTo({
url: '/pages/public/login'
})
} else if (res.cancel) {
console.log('用户点击取消');
}
}
})
}
},
goNav(e, name) {
console.log(e)
if (this.userId) {
uni.navigateTo({
url: e
})
} else {
uni.showModal({
title: '提示',
content: '您还未登录,请先登录',
success: function (res) {
if (res.confirm) {
console.log('用户点击确定');
uni.navigateTo({
url: '/pages/public/login'
})
} else if (res.cancel) {
console.log('用户点击取消');
}
}
})
}
},
getUserInfo() {
this.$Request.get("/app/user/selectUserById").then(res => {
if (res.code == 0) {
this.userName = res.data.userName
this.invitationCode = res.data.invitationCode
this.avatar = res.data.avatar ? res.data.avatar : '../../static/logo.png'
this.isAuthentication = res.data.isAuthentication
this.isCashDeposit = res.data.isCashDeposit
this.loglattime = res.data.loglattime
this.loglataddress = res.data.loglataddress
uni.setStorageSync('avatar', res.data.avatar)
uni.setStorageSync('userName', res.data.userName)
uni.setStorageSync('invitationCode', res.data.invitationCode)
// uni.setStorageSync('zhiFuBao', res.data.zhiFuBao)
// uni.setStorageSync('zhiFuBaoName', res.data.zhiFuBaoName)
if (res.data.isAuthentication == 0 || res.data.isAuthentication == null) {
this.renzheng = 0
uni.setStorageSync("renzheng", this.renzheng)
} else if (res.data.isAuthentication == 1) {
this.renzheng = 1
uni.setStorageSync("renzheng", this.renzheng)
} else if (res.data.isAuthentication == 2) {
this.renzheng = 2
uni.setStorageSync("renzheng", this.renzheng)
} else if (res.data.isAuthentication == 3) {
this.renzheng = 3
uni.setStorageSync("renzheng", this.renzheng)
} else if (res.data.isAuthentication == 4) {
this.renzheng = 4
uni.setStorageSync("renzheng", this.renzheng)
} else if (res.data.isAuthentication == 5) {
this.renzheng = 5
uni.setStorageSync("renzheng", this.renzheng)
} else if (res.data.isAuthentication == 6) {
this.renzheng = 6
uni.setStorageSync("renzheng", this.renzheng)
}
}
});
},
goLogin(e) {
uni.navigateTo({
url: e
})
},
// 开启订阅消息
openMsg() {
console.log('订阅消息')
var that = this
uni.getSetting({
withSubscriptions: true, //是否获取用户订阅消息的订阅状态默认false不返回
success(ret) {
console.log(ret.subscriptionsSetting, '------------------')
// if (ret.subscriptionsSetting.itemSettings && Object.keys(ret.subscriptionsSetting.itemSettings).length == 2) {
if (ret.subscriptionsSetting.itemSettings) {
uni.setStorageSync('sendMsg', true)
uni.openSetting({ // 打开设置页
success(rea) {
console.log(rea.authSetting)
}
});
} else { // 用户没有点击“总是保持以上,不再询问”则每次都会调起订阅消息
console.log(99999)
uni.setStorageSync('sendMsg', false)
uni.showModal({
title: '提示',
content: '为了更好的体验,请绑定消息推送',
confirmText: '确定',
cancelText: '取消',
success: function (res) {
if (res.confirm) {
wx.requestSubscribeMessage({
tmplIds: that.arr,
success(re) {
console.log(JSON.stringify(re),
'++++++++++++++')
var datas = JSON.stringify(re);
if (datas.indexOf("accept") != -1) {
console.log(re)
// uni.setStorageSync('sendMsg', true)
}
},
fail: (res) => {
console.log(res)
}
})
// uni.setStorageSync('sendMsg', true)
console.log('确认')
that.showModal = false
} else if (res.cancel) {
console.log('取消')
// uni.setStorageSync('sendMsg', false)
that.showModal = true
}
}
})
}
}
})
},
}
}
</script>
2024-06-26 16:58:53 +08:00
<style lang="scss" scoped>
2024-07-01 18:47:17 +08:00
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@300&display=swap');
body {
font-family: Helvetica Neue, Helvetica, sans-serif;
}
2024-06-26 23:04:01 +08:00
.butween-list{
width: 96%;
margin: 0 auto;
}
2024-06-26 16:58:53 +08:00
.tongji-text{
margin-top: 5px;
2024-06-27 23:21:56 +08:00
font-size: 26rpx;
2024-06-26 16:58:53 +08:00
color: #3A414B;
}
.wuliao:last-child .xianc{
display: none;
}
.shuxian{
width: 2rpx;
height: 50rpx;
background-color: rgba(255, 255, 255, 0.5);
}
.dengji-text{
text-align: center;
2024-06-26 23:04:01 +08:00
font-size: 26rpx;
2024-06-26 16:58:53 +08:00
color: #FFFFFF;
}
.gengxin{
2024-06-26 23:04:01 +08:00
color: #def7f4;
2024-06-26 16:58:53 +08:00
}
.jishi-index-title{
width: 100%;
text-align: center;
font-weight: bold;
font-size: 33rpx;
color: #FFFFFF;
padding-top: 20px;
}
.jishi-index{
width: 100%;
height: 215px;
2024-07-01 18:47:17 +08:00
padding: 0 20px;
2024-06-26 16:58:53 +08:00
background-image: url('../../static/index/technician15.png');
background-repeat: no-repeat;
background-size: 100%;
}
2024-06-05 19:14:51 +08:00
page {
2024-07-01 18:47:17 +08:00
background-color: #f7f7f7;
}
.progress-text{
font-size: 30rpx;
color: #666;
padding-top: 8rpx;
}
.progress-status{
color: #fff;
border-radius:20rpx 8rpx 20rpx 8rpx ;
padding: 4rpx 10rpx;
background-image: linear-gradient(to bottom, #fe9130, #ff9868);
font-size: 28rpx;
2024-06-05 19:14:51 +08:00
}
// .bg {
// background-color: #05C25C;
// }
.bg {
/* 定义一个线性渐变,从红色开始,到蓝色结束 */
background-image: linear-gradient(to bottom, #223845, #00a85b);
}
.gxbox {
2024-07-01 18:47:17 +08:00
display: flex;
2024-06-05 19:14:51 +08:00
font-size: 20rpx;
2024-07-01 18:47:17 +08:00
width: 100%;
2024-06-26 23:04:01 +08:00
background-color: #008e7c;
color: #fff;
2024-07-01 18:47:17 +08:00
border-radius: 15px 15px 0 0;
padding: 0 30rpx;
height: 60rpx;
margin-top: 8rpx;
justify-content: space-between;
2024-06-05 19:14:51 +08:00
}
.wztext {
width: 80px;
overflow: hidden;
2024-07-01 18:47:17 +08:00
//text-overflow: ellipsis;
2024-06-05 19:14:51 +08:00
white-space: nowrap;
}
.dengjibox {
position: relative;
width: 100%;
2024-07-01 18:47:17 +08:00
height: 300rpx;
2024-06-26 16:58:53 +08:00
background: linear-gradient(-90deg, #019C88, #1BB9A5, #029D88);
box-shadow: 0rpx 0rpx 16rpx 0rpx rgba(26,25,26,0.3);
border-radius: 20rpx;
2024-06-05 19:14:51 +08:00
padding: 30rpx;
color: #ffffff;
2024-06-26 16:58:53 +08:00
display: flex;
flex-direction: column;
justify-content: space-between;
2024-06-05 19:14:51 +08:00
}
.djtit {
position: absolute;
left: 0;
top: 0;
width: 80px;
height: 26px;
line-height: 26px;
text-align: center;
2024-06-26 16:58:53 +08:00
color: #FFE257;
2024-06-05 19:14:51 +08:00
font-size: 26rpx;
background-color: #171717;
border-radius: 10px 0 10px 0;
}
.djimg {
position: absolute;
2024-07-01 19:11:43 +08:00
right: 45px;
2024-06-05 19:14:51 +08:00
top: 0;
background: url(../../static/images/index/vip.png) no-repeat center;
background-size: cover;
width: 198rpx;
2024-06-27 23:21:56 +08:00
height: 77px;
2024-06-05 19:14:51 +08:00
font-size: 22px;
text-align: center;
2024-07-01 19:11:43 +08:00
line-height: 90px;
2024-06-05 19:14:51 +08:00
}
.xianb {
width: 1px;
height: 26px;
background-color: #88baa8;
}
.xianc {
width: 1px;
height: 16px;
background-color: #88baa8;
margin: 0px 10px;
}
.csda {
2024-06-26 16:58:53 +08:00
height: 202rpx;
border-radius: 30rpx;
background: url(../../static/index/fun_banner2.png);
2024-06-05 19:14:51 +08:00
background-size: cover;
padding: 30rpx 14rpx 14rpx 14rpx;
margin-top: 20px;
position: relative;
}
.zbhsga {
2024-06-26 16:58:53 +08:00
height: 70rpx;
background: #029D88;
border-radius: 20rpx;
2024-06-05 19:14:51 +08:00
color: #ffffff;
width: 100%;
padding: 0 8rpx;
2024-06-26 16:58:53 +08:00
margin-top: 14px;
2024-06-05 19:14:51 +08:00
display: flex;
justify-content: space-around;
align-items: center;
}
.dsalk {
width: 31%;
border: 2px #ededed solid;
border-radius: 10px;
padding: 30rpx;
2024-07-01 18:47:17 +08:00
background: #fff;
2024-07-01 21:41:17 +08:00
text-align:center;
2024-06-05 19:14:51 +08:00
}
.tapDsalk {
width: 31%;
border: 2px #ededed solid;
border-radius: 10px;
padding: 30rpx;
border: 2px solid rgb(207, 237, 225);
background-color: rgb(246, 252, 250);
}
.sda {
height: 36px;
line-height: 30px;
text-align: center;
border-radius: 30px;
justify-content: center;
}
.dqda {
font-size: 26rpx;
color: #999999;
margin-top: 6px;
2024-07-01 21:41:17 +08:00
text-align:center;
2024-06-05 19:14:51 +08:00
}
.online-tag {
color: #ffffff;
font-size: 29rpx;
}
.img-avatar {
width: 100rpx;
height: 100rpx;
border-radius: 15rpx;
background-color: #FFFFFF;
}
.bgwhite {
background-color: #FFFFFF;
}
.xian {
width: 100%;
height: 1rpx;
border: 1rpx solid #f8f8f8;
2024-07-01 18:47:17 +08:00
margin-bottom: 10rpx;
2024-06-05 19:14:51 +08:00
}
.pintuan_syrs {
2024-07-01 18:47:17 +08:00
color: #fff;
2024-06-05 19:14:51 +08:00
font-size: 20upx;
display: flex;
padding-right: 18upx;
2024-07-01 18:47:17 +08:00
background: #5abfb2 ;
padding: 10rpx;
border-radius: 10rpx;
}
.pintuan-title{
font-size: 30rpx;
font-family: Helvetica Neue, Helvetica, sans-serif;
color: #fff;
}
.pintuan-img{
width: 40rpx;
height: 40rpx;
2024-06-05 19:14:51 +08:00
}
.box {
color: #FFFFFF;
padding: 40upx 40upx 60upx 40upx;
display: flex;
align-items: center;
justify-content: space-between;
text-align: center;
}
// uni-switch .uni-switch-input.uni-switch-input-checked{
// background-color: #ffffff !important;
// }
.box1 {
background: #FFFFFF;
border-radius: 24rpx;
padding: 30rpx;
margin-top: 30rpx;
}
.orderbox {
display: flex;
align-items: center;
justify-content: space-between;
}
.guanlibox {
border-left-radius: 24rpx;
padding: 30rpx;
background-image: linear-gradient(to bottom, #223845, #117250);
}
.guanlibox2 {
border-right-radius: 24rpx;
padding: 30rpx;
background-image: linear-gradient(to bottom, #117250, #00a85b);
}
.labe {
display: inline-flex;
align-items: center;
border-radius: 18rpx;
color: #ffffff;
font-size: 22rpx;
font-weight: 500;
height: 36rpx;
justify-content: center;
margin-top: 6px;
text {
width: 12rpx;
height: 12rpx;
background: #20C675;
border-radius: 50%;
margin-right: 8rpx;
}
}
uni-switch .wx-switch-input:not([class*="bg-"]),
uni-switch .uni-switch-input:not([class*="bg-"]) {
background: #ffffff !important;
}
uni-switch .wx-switch-input::after,
uni-switch .uni-switch-input::after {
2024-06-26 23:04:01 +08:00
background: #019c88 !important;
2024-06-05 19:14:51 +08:00
}
uni-switch[disabled] .uni-switch-input {
opacity: 1 !important;
}
uni-switch::after,
uni-switch::before {
display: none !important;
}
.u-progress {
// padding: 3px;
margin-top: 10px;
}
// ::v-deep .u-active {
// border-radius: 50px !important;
// }
.radius {
2024-07-01 18:47:17 +08:00
border-radius: 20rpx;
2024-06-05 19:14:51 +08:00
}
::v-deep .u-mode-center-box {
display: flex;
justify-content: center;
align-items: center;
background-image: linear-gradient(230deg, #263d49, #00a65a);
// box-shadow: inset 40px 20px 60px #107050,
// inset -20px -40px 60px #00a55a;
// box-shadow: inset 7px 7px 10px #0c593f,
// inset -7px -7px 10px #00a55a;
// background-color: red !important;
}
::v-deep .uni-scroll-view-content {
display: flex;
justify-content: center;
align-items: center;
}
.innerPopup {
color: #FFFFFF;
display: flex;
justify-content: center;
align-items: center;
flex-wrap: wrap;
}
.innerPopupOfViewmore {
color: #FFFFFF;
display: flex;
justify-content: left;
align-items: center;
flex-wrap: wrap;
}
.innerOfPopup {
width: 72%;
display: flex;
align-items: center;
flex-wrap: wrap;
}
.firstInnerOfPopup {
display: flex;
justify-content: left;
align-items: center;
font-size: 16px;
padding-top: 10px;
}
.import {
display: flex;
justify-content: center;
align-items: center;
flex-wrap: wrap;
}
.importMaterialPackage {
display: flex;
justify-content: center;
align-items: center;
flex-grow: 1;
}
.importMaterialPackage .importMaterialPackageInnerBox {
2024-06-26 16:58:53 +08:00
// font-size: 22rpx;
2024-06-05 19:14:51 +08:00
}
.importMaterialPackage view:last-child {
margin-left: 3px;
2024-06-26 16:58:53 +08:00
// margin-top: 4px;
2024-06-05 19:14:51 +08:00
}
.viewMore {
position: absolute;
right: 10px;
top: 10px;
font-size: 22rpx;
}
.materialPackageTitle {
font-size: 18px;
font-weight: bold;
width: 100%;
text-align: center;
}
.importMaterialPackageInner {
width: 50%;
// height: 40px;
display: flex;
justify-content: left;
align-items: center;
margin-top: 10px;
// border: 1px solid;
}
.importMaterialPackageInner view {
width: 50%;
height: 100%;
display: flex;
justify-content: left;
align-items: center;
// border: 1px solid;
}
.importMaterialPackageInner view:nth-child(1) {
width: 75%;
}
2024-07-01 18:47:17 +08:00
.head-port{
width: 110rpx;
height: 110rpx;
border-radius: 50%;
border: 1px #d6f2ee solid;
}
2024-06-05 19:14:51 +08:00
// ::v-deep .uni-scroll-view-content {
// margin: 20px;
// }</style>