源文件

This commit is contained in:
gyq
2024-05-23 14:39:33 +08:00
commit a1128dd791
2997 changed files with 500069 additions and 0 deletions

View File

@@ -0,0 +1,232 @@
<template>
<view class="e-card-wrapper" @tap="isOpen">
<view class="e-card-left">
<image :src="imgList[0]" mode="scaleToFill" />
<view class="expand-info">
{{ teamName }}
<text>成员数量{{ userList.length }}</text>
</view>
</view>
<view class="e-card-right">
<image src="/static/iconImg/top-arrow.svg" :class="{ rotate: flag }" mode="scaleToFill" />
</view>
</view>
<view class="expand-card-list" v-if="flag">
<view class="expand-card-main bdR20">
<view class="expand-main-left">
<view>
拓展商户总数
<text>{{ totalMchCount }}</text>
</view>
<view>
商户交易总额
<text>{{ totalOrderAmount }}</text>
</view>
</view>
<view class="expand-main-right" @tap="jumpPage">
<image src="/static/iconImg/edit-team.svg" mode="scaleToFill" />
编辑团队
</view>
</view>
<block v-for="v in userList" :key="v.sysUserId">
<view class="expand-team bdR20" @tap="detail(v.sysUserId)">
<view class="expand-team-top">
<view class="e-team-t-left">
<image :src="imgList[v.state ? 2 : 3]" mode="scaleToFill" />
<view>
{{ v.realname }}
<text>{{ v.telphone }}</text>
</view>
</view>
<view class="e-team-t-right" :class="{ isStateNone: !v.state }">
{{ v.state ? "已启用" : "已禁用" }}
</view>
</view>
<view class="expand-team-bottom">
<view
>拓展商户数 <text>{{ v.mchCount }}</text>
</view>
<view
>商户交易额 <text>{{ v.orderCount }}</text>
</view>
</view>
</view>
</block>
</view>
</template>
<script setup>
import { reactive, ref } from "vue"
const emits = defineEmits(["isOpen", "jumpPage", "detail"])
const props = defineProps({
teamName: { type: String },
flag: { type: Boolean },
state: { type: Number },
userList: { type: Array, default: [] },
totalMchCount: { type: Number },
totalOrderAmount: { type: Number },
teamId: { type: Number },
state: { type: Number },
})
const imgList = reactive([
"/static/iconImg/expand-fill.svg",
"/static/iconImg/expand-team-close.svg",
"/static/iconImg/expand-member.svg",
"/static/iconImg/expand-member-close.svg",
])
const isOpen = () => {
emits("isOpen")
}
const jumpPage = (val) => {
emits("jumpPage")
}
const detail = (val) => {
uni.navigateTo({ url: "/pageWork/developerManagement/developerDetail?id=" + val })
}
</script>
<style lang="scss" scoped>
.e-card-wrapper {
display: flex;
justify-content: space-between;
padding: 30rpx;
.e-card-left {
display: flex;
image {
width: 93rpx;
height: 93rpx;
margin-right: 20rpx;
}
.expand-info {
display: flex;
flex-direction: column;
font-size: 33rpx;
font-weight: 700;
text {
margin-top: 12rpx;
font-size: 25rpx;
font-weight: 500;
color: #8c8c8c;
}
}
}
.e-card-right {
display: flex;
image {
width: 40rpx;
height: 40rpx;
margin-left: 20rpx;
transform: rotate(180deg);
transition: 0.3s linear;
}
.rotate {
transform: rotate(0deg);
transition: 0.3s linear;
}
}
}
.expand-card-list {
padding: 0 30rpx;
padding-bottom: 30rpx;
.expand-card-main {
display: flex;
overflow: hidden;
background: rgba(81, 36, 178, 0.1);
.expand-main-left {
padding: 30rpx;
flex: 1;
view {
display: flex;
justify-content: space-between;
color: rgba(81, 36, 178, 0.7);
text {
color: #5124b2;
}
&:last-child {
margin-top: 20rpx;
}
}
}
.expand-main-right {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 30rpx;
font-size: 25rpx;
color: #ffffff;
background-color: #5124b3;
image {
width: 40rpx;
height: 40rpx;
margin-bottom: 20rpx;
}
}
}
.expand-team {
padding: 30rpx 0 30rpx 30rpx;
margin-top: 30rpx;
background: #f7f7f7;
.expand-team-top {
display: flex;
justify-content: space-between;
padding-bottom: 30rpx;
border-bottom: 1rpx solid rgba(0, 0, 0, 0.1);
.e-team-t-left {
display: flex;
image {
width: 93rpx;
height: 93rpx;
margin-right: 30rpx;
}
view {
display: flex;
flex-direction: column;
font-size: 33rpx;
font-weight: 700;
color: #000000;
text {
margin-top: 15rpx;
font-size: 25rpx;
font-weight: 500;
color: #8c8c8c;
}
}
}
.e-team-t-right {
margin-right: 30rpx;
font-size: 30rpx;
color: #666666;
&::before {
content: "";
display: inline-block;
vertical-align: middle;
width: 10rpx;
height: 10rpx;
margin-right: 10rpx;
border-radius: 50%;
background-color: $primaryColor;
}
}
.isStateNone::before {
background-color: #999 !important;
}
}
.expand-team-bottom {
margin-top: 30rpx;
view {
font-size: 28rpx;
color: #8c8c8c;
text {
margin-left: 30rpx;
color: #000000;
}
&:last-child {
margin-top: 25rpx;
}
}
}
}
}
</style>

View File

@@ -0,0 +1,35 @@
<template>
<JPopup ref="popup">
<JMainCard wrapPd="0 30rpx" pd="0">
<block v-for="(v, i) in sexList" :key="i">
<JLine :name="v" :isSelect="index === i" @tap="selected(i)"></JLine>
</block>
</JMainCard>
<JButton pd="30rpx" pdTop="0" bgColor="rgba(255,255,255,0.8)" @HandleTouch="popup.close()" color="#000"
>取消</JButton
>
</JPopup>
</template>
<script setup>
import { reactive, ref } from "vue"
import JPopup from "@/components/newComponents/JPopup/JPopup"
import JMainCard from "@/components/newComponents/JMainCard/JMainCard"
import JLine from "@/components/newComponents/JLine/JLine"
import JButton from "@/components/newComponents/JButton/JButton"
const sexList = reactive(["未知", "男", "女"])
const emits = defineEmits(["selected"])
const index = ref(undefined)
const popup = ref()
const open = (i) => {
index.value = i
popup.value.open()
}
const selected = (i) => {
emits("selected", i)
popup.value.close()
}
defineExpose({ open })
</script>
<style lang="scss" scoped></style>