<template>
|
|
<view>
|
|
<view class="swiper-container">
|
|
<!-- <up-swiper :list="list1" indicator circular indicatorMode="dot" height="370rpx"></up-swiper> -->
|
|
<swiper :indicator-dots="true" :autoplay="true" :interval="3000" :duration="1000" style="height: 370rpx;">
|
|
<swiper-item class="w-100 h-100" v-for="item in state.banner" :key="item.id">
|
|
<image class="w-100 h-100" :src="item.image" mode=""></image>
|
|
</swiper-item>
|
|
</swiper>
|
|
</view>
|
|
<view class="container">
|
|
<view class="container-list">
|
|
<view class="mb28 col3 font32">合伙人工作台</view>
|
|
<!-- 申请加入 -->
|
|
<view class="container-list-but font28" v-if="userHh!==1||show">
|
|
<view class="flex flex-between">
|
|
<view>
|
|
<view class="mb20" style="width: 400rpx;">{{iconState.list2[0].iconName}}</view>
|
|
<view class="font24 add-but col-white" @click="handleJoin(1)">申请加入 ></view>
|
|
</view>
|
|
<image :src="iconState.list2[0].icon"></image>
|
|
</view>
|
|
</view>
|
|
<!-- 申请加入后 -->
|
|
<view class="flex flex-between font24 flex-wrap" v-if="userHh===1">
|
|
<view class="icon-list" @click="handleGoto(1,item)" v-for="item in iconState.list1" :key="item.id">
|
|
<up-image class="mb20" :show-loading="true" :src="item.indexIcon" width="68rpx"
|
|
height="68rpx"></up-image>
|
|
<view>{{item.indexInfo}}</view>
|
|
</view>
|
|
<view class="icon-list"></view>
|
|
</view>
|
|
<!-- <up-swiper :list="list1" indicator circular indicatorMode="dot" height="200rpx"></up-swiper> -->
|
|
</view>
|
|
<view class="container-list">
|
|
<view class="mb28 col3 font32">伴宠师工作台</view>
|
|
<!-- 申请之前 -->
|
|
<view class="container-list-but" style="background: #FFECE5" v-if="userBcs!==1||show">
|
|
<view class="flex flex-between">
|
|
<view>
|
|
<view class="mb20" style="width: 450rpx;">{{iconState.list2[1].iconName}}</view>
|
|
<!-- <view class="mb20">亲密接触,获得服务报酬</view> -->
|
|
<view class="font24 add-but col-white" style="background: #FF8343" @click="handleJoin(2)">
|
|
申请加入 ></view>
|
|
</view>
|
|
<image :src="iconState.list2[1].icon"></image>
|
|
</view>
|
|
</view>
|
|
<!-- 申请之后 -->
|
|
<!-- 申请加入后 -->
|
|
<view class="flex-rowl flex-wrap" v-if="userBcs===1">
|
|
<view class="icon-list" v-for="item in iconState.accompanyData" :key="item.id"
|
|
@click="handleClick(item)">
|
|
<up-image class="mb20" :show-loading="true" :src="item.indexIcon" width="68rpx"
|
|
height="68rpx"></up-image>
|
|
<view>{{ item.indexInfo }}</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<ModalCom :open="isoOpen" @close="modalClose" />
|
|
</view>
|
|
|
|
</template>
|
|
|
|
<script setup>
|
|
import ModalCom from "./components/modal.vue"
|
|
import {
|
|
onShow
|
|
} from "@dcloudio/uni-app"
|
|
import {
|
|
banner,
|
|
joinHh,
|
|
joiBcs,
|
|
indexConfig,
|
|
indexConfigIco,
|
|
getbaseInfo
|
|
} from "../../api/home.js"
|
|
import {
|
|
onMounted,
|
|
reactive,
|
|
ref
|
|
} from "vue";
|
|
import tab from "../../plugins/tab";
|
|
import {
|
|
getLoginStatus
|
|
} from "../../utils/useMixin";
|
|
|
|
const accompanyData = [{
|
|
name: "服务信息",
|
|
code: '1',
|
|
url: ""
|
|
}, {
|
|
name: "服务记录",
|
|
code: '2',
|
|
url: ""
|
|
}, {
|
|
name: "接单地址",
|
|
code: '3',
|
|
url: ""
|
|
}, {
|
|
name: "平台手册",
|
|
code: '4',
|
|
url: ""
|
|
}, {
|
|
name: "我的评价",
|
|
code: '5',
|
|
url: ""
|
|
}]
|
|
const state = reactive({
|
|
banner: []
|
|
})
|
|
onMounted(() => {
|
|
getBanner()
|
|
getpz()
|
|
})
|
|
const userHh = ref(0)
|
|
const userBcs = ref(0)
|
|
onShow(() => {
|
|
const info = uni.getStorageSync("baseInfo")
|
|
if (info) {
|
|
const baseInfo = JSON.parse(info)
|
|
userHh.value = baseInfo.userHh === 1 ? 0 : 1
|
|
userBcs.value = baseInfo.userBcs === 1 ? 0 : 1
|
|
if (userHh.value === 1 || userBcs.value === 1) {
|
|
show.value = false
|
|
}
|
|
}
|
|
})
|
|
// 获取轮播图
|
|
const getBanner = async () => {
|
|
const res = await banner()
|
|
if (res.code === 200) {
|
|
state.banner = [...res.data]
|
|
}
|
|
}
|
|
// 申请加入合伙人
|
|
const num = ref(0)
|
|
const isoOpen = ref(false)
|
|
const handleJoin = (type) => {
|
|
num.value = Number(type)
|
|
const info = uni.getStorageSync("baseInfo")
|
|
if (!info) {
|
|
uni.navigateTo({
|
|
url: "/pages/login/index"
|
|
})
|
|
return
|
|
}
|
|
const baseInfo = JSON.parse(info)
|
|
if (type === 1) {
|
|
joinHh({
|
|
appUserId: baseInfo.userId
|
|
}).then(res => {
|
|
isoOpen.value = true
|
|
changeBaseInfo(baseInfo.userId)
|
|
}).catch(() => {})
|
|
} else {
|
|
joiBcs({
|
|
appUserId: baseInfo.userId
|
|
}).then(res => {
|
|
isoOpen.value = true
|
|
changeBaseInfo(baseInfo.userId)
|
|
})
|
|
}
|
|
}
|
|
// 更新基本信息
|
|
const changeBaseInfo = (userId) => {
|
|
getbaseInfo(userId).then(res => {
|
|
|
|
})
|
|
}
|
|
|
|
const modalClose = () => {
|
|
isoOpen.value = false
|
|
if (num.value === 1) {
|
|
show.value = false
|
|
userHh.value = 1
|
|
} else {
|
|
show.value = false
|
|
userBcs.value = 1
|
|
}
|
|
|
|
}
|
|
|
|
// 获取工作台图标
|
|
const iconState = reactive({
|
|
list1: [],
|
|
list2: [],
|
|
accompanyData: []
|
|
})
|
|
const getpz = () => {
|
|
indexConfig().then(res => {
|
|
iconState.list1 = res.rows
|
|
})
|
|
indexConfigIco().then(res => {
|
|
iconState.list2 = res.data
|
|
})
|
|
|
|
}
|
|
|
|
const show = ref(true)
|
|
const hhShow = ref(true)
|
|
const handleGoto = (val, item) => {
|
|
console.log(item)
|
|
switch (item.id) {
|
|
case 1:
|
|
tab.navigateTo('/otherPages/binding/list/index')
|
|
break;
|
|
case 2:
|
|
tab.navigateTo('/otherPages/workbenchManage/myUser/index')
|
|
break;
|
|
case 3:
|
|
tab.navigateTo('/otherPages/workbenchManage/myLevel/index')
|
|
break;
|
|
case 4:
|
|
// tab.navigateTo('/otherPages/binding/wallet/index')
|
|
tab.navigateTo('/otherPages/workbenchManage/myWallet/index')
|
|
break;
|
|
}
|
|
}
|
|
// 加入合伙人
|
|
const handleAdd = (type) => {
|
|
if (!getLoginStatus()) return
|
|
switch (type) {
|
|
case 1:
|
|
break
|
|
case 2:
|
|
tab.navigateTo("/otherPages/workbenchManage/feedingStaff/index")
|
|
break
|
|
}
|
|
}
|
|
|
|
const handleClick = (item) => {
|
|
switch (item.code) {
|
|
case "1":
|
|
uni.navigateTo({
|
|
url: "/otherPages/authentication/serve/index"
|
|
})
|
|
break;
|
|
case "2":
|
|
uni.navigateTo({
|
|
url: "/otherPages/authentication/serve/record"
|
|
})
|
|
break;
|
|
case "3":
|
|
uni.navigateTo({
|
|
url: "/otherPages/authentication/connectAddress/index"
|
|
})
|
|
break;
|
|
case "4":
|
|
break;
|
|
case "5":
|
|
uni.navigateTo({
|
|
url: "/otherPages/orderTakingManage/evaluate/index"
|
|
})
|
|
break;
|
|
}
|
|
}
|
|
|
|
const handleOpen = () => {
|
|
show.value = false
|
|
}
|
|
const handleBc = () => {
|
|
uni.navigateTo({
|
|
url: "/otherPages/authentication/list/index"
|
|
})
|
|
}
|
|
</script>
|
|
|
|
<style scoped lang="scss">
|
|
@import "index";
|
|
</style>
|