205 lines
4.9 KiB
Vue
205 lines
4.9 KiB
Vue
<template>
|
|
<view>
|
|
<view class="search">
|
|
<JeepaySearch
|
|
ref="search"
|
|
v-model:value="data.queryNameOrPhone"
|
|
@searchHandle="searchHandle"
|
|
:placeholder="data.placeholder"
|
|
@focusHandle="focusHandle"
|
|
:isFocus="data.isFocus"
|
|
>
|
|
</JeepaySearch>
|
|
</view>
|
|
<view class="list">
|
|
<view
|
|
class="list-item"
|
|
v-for="(item, index) in useDataResult.dataList"
|
|
@click="toDevDetail(item.sysUserId)"
|
|
:key="index"
|
|
>
|
|
<view class="item-left">
|
|
<view class="avatar">
|
|
<image :src="item.avatarUrl" mode=""></image>
|
|
</view>
|
|
<view class="devinfo">
|
|
<text style="font-weight: bold; font-size: 27rpx; color: #000">{{ item.realname }}</text>
|
|
<text>{{ item.telphone }}</text>
|
|
</view>
|
|
</view>
|
|
<view class="item-right">
|
|
<view class="dealinfo">
|
|
<text>拓展商户数:{{ item.mchCount }}</text>
|
|
<text
|
|
>商户交易额:¥{{
|
|
typeof item.orderAmount === "undefined" ? "0.00" : (item.orderAmount / 100).toFixed(2)
|
|
}}</text
|
|
>
|
|
</view>
|
|
<view class="icon">
|
|
<image src="../../static/indexImg/up.svg" mode=""></image>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<jeepayListNull :list="useDataResult.dataList"></jeepayListNull>
|
|
</view>
|
|
</template>
|
|
|
|
<script setup>
|
|
import JeepaySearch from "@/components/jeepaySearch/jeepaySearch.vue"
|
|
import jeepayListNull from "@/components/jeepayListNull/jeepayListNull.vue"
|
|
import { reactive, watch, ref } from "vue"
|
|
import { onLoad, onShow, onBackPress } from "@dcloudio/uni-app"
|
|
import { $getDev } from "@/http/apiManager.js"
|
|
import useGetList from "@/hooks/useGetList.js"
|
|
const { useDataResult, getList } = useGetList($getDev, undefined, {}, false)
|
|
const data = reactive({
|
|
queryNameOrPhone: "",
|
|
placeholder: "搜索拓展员姓名、手机号…",
|
|
isA: false, //动画
|
|
isPlus: false, //添加键的动画
|
|
isFocus: false, //聚焦
|
|
flag: false,
|
|
startSearch: false,
|
|
})
|
|
onLoad(() => {
|
|
data.isFocus = false // 每次都要初始化 focus 属性
|
|
setTimeout(() => {
|
|
data.isFocus = true
|
|
}, 0)
|
|
uni.hideTabBar()
|
|
})
|
|
// watch(() => data, (newValue, oldValue) => {
|
|
// //监听这个数组,要是没内容就重新请求列表
|
|
|
|
// if(newValue.flag){
|
|
// if(newValue.queryNameOrPhone === ''){
|
|
// // getList({ queryNameOrPhone: newValue.queryNameOrPhone,loginType:'APP',userType:3 })
|
|
// }
|
|
// }
|
|
// }, {deep: true})
|
|
const searchHandle = () => {
|
|
data.flag = true
|
|
data.startSearch = true
|
|
getList({
|
|
queryNameOrPhone: data.queryNameOrPhone,
|
|
loginType: "APP",
|
|
userType: 3,
|
|
})
|
|
}
|
|
const toDevDetail = (sysUserId) => {
|
|
uni.navigateTo({
|
|
url: "./developerDetail?sysUserId=" + sysUserId,
|
|
})
|
|
}
|
|
const search = ref()
|
|
onBackPress(() => {
|
|
if (data.startSearch || search.value.backPressHandel()) {
|
|
if (data.queryNameOrPhone !== "" && data.startSearch === true) {
|
|
// getList({ queryNameOrPhone: '',
|
|
// loginType:'APP',
|
|
// userType:3 })
|
|
}
|
|
data.startSearch = false
|
|
data.queryNameOrPhone = ""
|
|
return true
|
|
} else {
|
|
return false
|
|
}
|
|
})
|
|
</script>
|
|
<style>
|
|
page {
|
|
background-color: #f5f6fc;
|
|
}
|
|
</style>
|
|
<style lang="less" scoped>
|
|
.search {
|
|
height: 93rpx;
|
|
}
|
|
.list-item {
|
|
height: 138rpx;
|
|
width: 100%;
|
|
background-color: #fff;
|
|
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
border-bottom: 1rpx solid #f5f6fc;
|
|
.item-left {
|
|
box-sizing: border-box;
|
|
height: 100%;
|
|
width: 40%;
|
|
//background-color: beige;
|
|
|
|
padding: 33rpx 0 33rpx 30rpx;
|
|
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
.avatar {
|
|
height: 72rpx;
|
|
width: 72rpx;
|
|
//background-color: #345;
|
|
image {
|
|
height: 100%;
|
|
width: 100%;
|
|
}
|
|
}
|
|
.devinfo {
|
|
height: 72rpx;
|
|
width: 172rpx;
|
|
// background-color: aqua;
|
|
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: space-between;
|
|
|
|
font-weight: Medium;
|
|
font-size: 22rpx;
|
|
color: #8d95a6;
|
|
}
|
|
}
|
|
.item-right {
|
|
box-sizing: border-box;
|
|
height: 100%;
|
|
width: 45%;
|
|
//background-color: #345;
|
|
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
align-items: center;
|
|
padding-right: 30rpx;
|
|
.dealinfo {
|
|
height: 72rpx;
|
|
width: 292rpx;
|
|
//background-color: #8d95a6;
|
|
|
|
margin-right: 20rpx;
|
|
|
|
font-weight: Medium;
|
|
font-size: 22rpx;
|
|
color: #8d95a6;
|
|
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: flex-end;
|
|
justify-content: center;
|
|
}
|
|
.icon {
|
|
height: 20rpx;
|
|
width: 20rpx;
|
|
//background-color: #5500ff;
|
|
margin-bottom: 30rpx;
|
|
//margin-left: 20rpx;
|
|
image {
|
|
height: 100%;
|
|
width: 100%;
|
|
transform: rotate(90deg);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</style>
|