<template>
	<div class="team-manage-container g_flex_column_between g_bg_page">
		<scroll-view class="g_flex_1" enable-flex :style="{ 'min-height': `calc(100vh - ${0}px)`, paddingBottom: '120px' }" :scroll-y="true">
			<div class="g_flex_column_between" :style="{ 'min-height': `calc(100vh - ${0}px)` }">
				<div class>
					<div class="g_h_10"></div>
					<div class="g_flex_row_start g_bg_f g_mb_10" style="padding: 12px 16px" @click="goPage('/root/merchantManagement/applyManage')" v-if="applyNum !== 0">
						<div class="g_mr_16 iconfont icon-wodetuandui g_c_main" style="background-repeat: no-repeat; font-size: 48px"></div>
						<div>
							<div class="g_fs_18">新的成员</div>
							<div class="g_c_9 g_fs_14">您有{{ applyNum }}条申请等待审核</div>
						</div>
					</div>
					<!-- <div class="r_box g_fs_20 g_text_c g_h_60 g_ml_10 g_mr_10 g_mb_10 g_fw_600" style="line-height: 60px">
						{{ agencyInfo.fullName || agencyInfo.userName }}
					</div> -->
					<div class="g_mb_12">
						<g-panel-form-item
							:list="[
								{
									icon: '',
									label: agencyInfo.fullName || agencyInfo.userName,
									result: '',
									path: '',
									pRow: 12,
									itype: 'icon',
								},
							]"
							@clickItem="openChoose"
						/>
					</div>
					<div class="r_box g_ml_10 g_mr_10">
						<div v-for="item in memberList" :key="item.id" @click="editMember(item)" class="g_border_e_b g_flex_row_between g_fs_18" style="padding: 19px 12px 19px 22px">
							<div class="g_flex_row_start flex_center" style="font-size: 16px; color: #333333">
								{{ item.aliasName || item.userName }}

								<div class="g_fs_12 g_pl_2 g_h_18 g_pr_2 g_radius_4 g_flex_row_center flex_center g_ml_4" 
									v-for="(role, index) in getDisplayRoles(item.agencyRoleNameList)" 
									:key="index" 
									:class="role !== '...' ? (role == '创建人' ? 'creator' : role == '管理员' ? 'manager' : 'member') : ''"
									v-show="role && role.trim()">
									{{ role }}
								</div>

							</div>
							<div class="g_flex_row_end flex_center g_c_6" style="font-size: 16px; color: #888">
								{{ item.tel }}
								<i class="iconfont icon-gengduo11 g_c_c" style="font-size: 16px"></i>
							</div>
						</div>
					</div>
					<div class="g_h_40"></div>
				</div>
				<g-panel-fixed>
					<div class="g_flex_row_center g_pl_16 g_pr_16">
						<div class="g_flex_1 g_mr_20">
							<rh-button btnText="手动添加" size="auto" @clickBtn="goPage('/root/merchantManagement/addOrUpdataMember')"></rh-button>
						</div>
						<div class="g_flex_1">
							<rh-button btnText="微信邀请" size="auto" type="primary" class @clickBtn="goPage('/root/merchantManagement/memberApplyQRCode')"></rh-button>
						</div>
					</div>
				</g-panel-fixed>
				<!-- <div class="g_h_24"></div> -->
				<!-- <div class="sticky g_bg_f g_flex_row_center g_pt_8" style="padding-bottom: calc(constant(safe-area-inset-bottom) + 16px); padding-bottom: calc(env(safe-area-inset-bottom) + 16px); box-shadow: 0px -4px 10px rgba(0, 0, 0, 0.06)">
					<rh-button icon="icon-tianjia g_fsi_16 g_mr_8" btnText="添加成员" class="" @clickBtn="addMember"></rh-button>
				</div> -->
			</div>
		</scroll-view>
		<!-- <div class="g_flex_row_end g_bg_f" style="padding: 14px 16px 34px"> -->

		<!-- <rh-button btnText="添加部门" size="small" class="g_ml_16" @clickBtn="goLogin"></rh-button> -->
		<!-- </div> -->
		<u-popup v-model="addMemberShow" mode="bottom" z-index="999999" border-radius="12" :closeable="false" :mask-close-able="true" @close="addMemberShow = false">
			<view class="g_text_c g_bg_f_5 g_fs_17">
				<view class="g_bg_f">
					<view class="g_c_3">
						<view class="g_p_16 g_border_e_t" @click="goPage('/root/merchantManagement/addOrUpdataMember')">手动填写信息</view>
						<view class="g_p_16 g_border_e_t" @click="goPage('/root/merchantManagement/memberApplyQRCode')">微信分享邀请</view>
					</view>
				</view>
				<view class="g_p_16 g_mt_10 g_bg_f" style="padding-bottom: calc(constant(safe-area-inset-bottom) + 16px); padding-bottom: calc(env(safe-area-inset-bottom) + 16px)" @click="addMemberShow = false">取消</view>
			</view>
		</u-popup>
	</div>
</template>

<script>
import gPanelFormItem from "@/components/panel/formItem.vue";
export default {
	components: {
		gPanelFormItem,
	},
	data() {
		return {
			memberList: [],
			addMemberShow: false,
			agencyInfo: uni.getStorageSync("agencyInfo"),
			applyNum: 0,
		};
	},
	onShow() {
		this.getMemberList();
		this.getNewApplyNum();
	},
	onLoad() {},
	created() {
		console.log(123123);
	},

	methods: {
		compare(a, b) {
			let sortList = ["创建人", "管理员", "成员"];
			if (sortList.includes(a) && sortList.includes(b)) {
				return sortList.indexOf(a) - sortList.indexOf(b);
			} else if (sortList.includes(a)) {
				return -1;
			} else if (sortList.includes(b)) {
				return 1;
			} else {
				return a.localeCompare(b);
			}
		},
		getMemberList() {
			let that = this;
			uni.showLoading({
				title: "加载中...",
			});
			this.G.Get(this.api.order_peopleList, { pageSize: 500 }, (res) => {
				console.log("报名人列表：", res);
				that.memberList = res.recordList;
				that.memberList.forEach((item) => {
					item.agencyRoleNameList = item.agencyRoleName.split("；");
					item.agencyRoleNameList = item.agencyRoleNameList.sort(this.compare);
				});

				uni.hideLoading();
			});
		},
		addMember() {
			this.addMemberShow = true;
		},
		editMember(_item) {
			uni.navigateTo({
				url: "/root/merchantManagement/addOrUpdataMember?info=" + JSON.stringify(_item),
			});
		},
		goPage(url) {
			uni.navigateTo({
				url,
			});
			this.addMemberShow = false;
		},
		getNewApplyNum() {
			let that = this;
			this.G.Get(this.api.order_getNewApplyNum, {}, (res) => {
				console.log("order_getNewApplyNum", res);
				that.applyNum = res;
			});
		},
		openChoose() {
			console.log("openChoose");
			uni.showActionSheet({
        title: "请选择操作",
				itemList: ["添加团队成员", "修改企业资料"],
				success: (res) => {
					console.log(res);
					if (res.tapIndex == 0) {
						this.goPage("/root/merchantManagement/addOrUpdataMember");
					} else if (res.tapIndex == 1) {
						this.goPage("/root/person/info?active=1");
					}
				},
			});
		},
		// 新增方法：获取要显示的角色列表
		getDisplayRoles(roles) {
			if (!roles || roles.length <= 2) {
				// 过滤掉空值
				return (roles || []).filter(role => role && role.trim());
			}
			// 过滤掉空值并限制最多显示2个加省略号
			const filteredRoles = (roles || []).filter(role => role && role.trim());
			if (filteredRoles.length <= 2) {
				return filteredRoles;
			}
			return [...filteredRoles.slice(0, 2), '...'];
		}
	},
};
</script>

<style lang="scss">
.creator {
	color: #ff4d4f;
	// border: 1px solid #46c7bb;
	background-color: #fff2f0;
}
.member {
	color: #666;
	// border: 1px solid #f9676e;
	background-color: rgba(0, 0, 0, 0.04);
}
.manager {
	color: #1677ff;
	// border: 1px solid #0066d6;
	background-color: #e6f4ff;
}
.sticky {
	position: sticky;
	bottom: 0;
	left: 0;
	z-index: 999;
}
</style>