// 会员等级分布 import { ConnectState } from "@/models/connect"; import { connect, CurrentUser } from "umi"; import LeftSelectMemberLevel from "./components/LeftSelectMemberLevel"; import { useRef, useState } from "react"; import ProTable, { ActionType } from "@ant-design/pro-table"; import { FormInstance } from "antd"; import PageTitleBox from "@/components/PageTitleBox"; import moment from 'moment' import { handleSetlogSave } from "@/utils/format"; import session from "@/utils/session"; import { handleGetMEMBERSHIPList } from "../service"; const MembershipLevelDistribution: React.FC<{ currentUser: CurrentUser | undefined }> = (props) => { const actionRef = useRef(); const formRef = useRef(); // 树相关的属性和方法 const [selectedId, setSelectedId] = useState() const [collapsible, setCollapsible] = useState(false) // 当前行数据 const [currentRow, setCurrentRow] = useState() // 显示详情抽屉 const [showDetailDrawer, setShowDetailDrawer] = useState(false) let MEMBERSHIPTYPEYNObj = session.get('MEMBERSHIPTYPEYNObj'); let CONSUMPTIONRECORDTYPEObj = session.get('CONSUMPTIONRECORDTYPEObj') let MEMBERSHIPLEVELYNObj = session.get('MEMBERSHIPLEVELYNObj') const columns: any = [ { title: "用户昵称", width: 200, dataIndex: "MEMBERSHIP_NAME", ellipsis: true, align: 'center', fixed: 'left', render: (_, record) => { return { setCurrentRow(record) setShowDetailDrawer(true) handleSetlogSave(`查看${record?.MEMBERSHIP_NAME}【${record?.MEMBERSHIP_ID}】会员信息`) }}> {record?.MEMBERSHIP_NAME || ""} }, fieldProps: { placeholder: "请输入用户昵称/联系电话/证件号/车牌号" } }, { title: "会员类型", width: 120, dataIndex: "MEMBERSHIP_TYPE", ellipsis: true, hideInTable: true, align: 'center', valueType: 'select', // request: () => { // let MEMBERSHIPTYPEYNList = session.get('MEMBERSHIPTYPEYNList') // let newList: any = [] // if (MEMBERSHIPTYPEYNList && MEMBERSHIPTYPEYNList.length > 0) { // MEMBERSHIPTYPEYNList.forEach((item: any) => { // if (item.value !== 1) { // // && item.value < 9000 // newList.push(item) // } // }) // } // return newList // } valueEnum: { ...MEMBERSHIPTYPEYNObj, }, initialValue: "1" }, { title: "会员类型", width: 120, dataIndex: "MEMBERSHIP_TYPE", ellipsis: true, hideInSearch: true, align: 'center', valueType: 'select', valueEnum: { ...MEMBERSHIPTYPEYNObj, }, }, { title: "会员编码", width: 120, dataIndex: "MEMBERSHIP_CODE", hideInSearch: true, ellipsis: true, align: 'center', }, { title: "会员性别", width: 120, dataIndex: "MEMBERSHIP_SEX", hideInSearch: true, ellipsis: true, align: 'center', valueType: 'select', valueEnum: { 0: '男', 1: '女', } }, { title: "联系电话", width: 120, dataIndex: "MEMBERSHIP_MOBILEPHONE", hideInSearch: true, ellipsis: true, align: 'center', }, { title: "会员等级", width: 120, dataIndex: "MEMBERSHIP_LEVEL", hideInSearch: true, ellipsis: true, align: 'center', valueType: 'select', valueEnum: MEMBERSHIPLEVELYNObj, initialValue: "1" // request: () => { // let MEMBERSHIPLEVELYNList = session.get('MEMBERSHIPLEVELYNList') // let newList: any = [] // if (MEMBERSHIPLEVELYNList && MEMBERSHIPLEVELYNList.length > 0) { // MEMBERSHIPLEVELYNList.forEach((item: any) => { // if (item.value !== '1') { // // && item.value < 9000 // newList.push(item) // } // }) // } // return newList // } }, { title: "会员积分", width: 120, dataIndex: "MEMBERSHIP_POINT", hideInSearch: true, ellipsis: true, sorter: true, align: 'center', }, { title: "会员成长值", width: 120, dataIndex: "MEMBERGROWTH_VALUE", hideInSearch: true, ellipsis: true, align: 'center', }, { title: "账户余额", width: 120, dataIndex: "ACCOUNT_BALANCE", hideInSearch: true, ellipsis: true, sorter: true, align: 'center', }, { title: "会员生日", width: 150, dataIndex: "MEMBERSHIP_BIRTHDAY", hideInSearch: true, ellipsis: true, align: 'center', render: (_, record) => { return record?.MEMBERSHIP_BIRTHDAY ? moment(record?.MEMBERSHIP_BIRTHDAY).format('YYYY-MM-DD') : '-' } }, { title: "证件号码", width: 150, dataIndex: "CERTIFICATE_NUMBER", hideInSearch: true, ellipsis: true, align: 'center', }, { title: "会员卡号", width: 120, dataIndex: "MEMBERSHIP_CARD", hideInSearch: true, ellipsis: true, align: 'center', }, // { // title: "会员头像", // width: 120, // dataIndex: "MEMBERSHIP_HEADIMAGEURL", // hideInSearch: true, // ellipsis: true, // align: 'center', // render: (_, record) => { // return record?.MEMBERSHIP_HEADIMAGEURL ? { // window.open(record?.MEMBERSHIP_HEADIMAGEURL) // }}>点击查看 : "" // } // }, { title: "联系地址", width: 180, dataIndex: "MEMBERSHIP_ADDRESS", hideInSearch: true, ellipsis: true, align: 'center', }, { title: "车牌号", width: 150, dataIndex: "PLATE_NUMBER", hideInSearch: true, ellipsis: true, align: 'center', }, // { // title: "付费会员", // width: 120, // dataIndex: "ISPLUS", // hideInSearch: true, // ellipsis: true, // align: 'center', // valueType: 'select', // valueEnum: { // 0: "否", // 1: "是" // } // }, { title: "付费有效期", width: 120, dataIndex: "PLUS_EXPIRYDATE", hideInSearch: true, ellipsis: true, align: 'center', }, { title: "推荐人", width: 120, dataIndex: "RECOMMEND_NAME", hideInSearch: true, ellipsis: true, align: 'center', }, // { // title: "会员状态", // width: 120, // dataIndex: "MEMBERSHIP_STATE", // ellipsis: true, // align: 'center', // valueType: 'select', // valueEnum: COMPANY_STATEObj, // initialValue: "1000" // }, { title: "最后活跃时间", width: 150, // BEHAVIORRECORD_TIME 用于排序 ACTIVE_LASTTIME 用于显示 dataIndex: "BEHAVIORRECORD_TIME", align: 'center', hideInSearch: true, ellipsis: true, sorter: true, // defaultSortOrder: 'descend', render: (_, record) => { return record?.ACTIVE_LASTTIME ? moment(record?.ACTIVE_LASTTIME).format('YYYY-MM-DD HH:mm:ss') : '-' } }, { title: "注册时间", width: 150, dataIndex: "ADDTIME", align: 'center', hideInSearch: true, ellipsis: true, sorter: true, // sorter: (a, b) => { // const timeA = new Date(a.ADDTIME).getTime(); // const timeB = new Date(b.ADDTIME).getTime(); // return timeB - timeA; // 倒序排序 // }, // 默认排序配置 // defaultSortOrder: 'descend', render: (_, record) => { return record?.ADDTIME ? moment(record?.ADDTIME).format('YYYY-MM-DD HH:mm:ss') : '-' } }, { title: "备注", width: 120, dataIndex: "MEMBERSHIP_DESC", hideInSearch: true, ellipsis: true, }, ] return (
} // 列表表头 search={{ span: 6 }} request={async (params, sorter) => { if (!selectedId) { return } const sortstr = Object.keys(sorter).map(n => { const value = sorter[n] return value ? `${n} ${value.replace('end', '')}` : '' }) console.log('selectedIdselectedIdselectedId', selectedId); const req: any = { SearchParameter: { OWNERUNIT_ID: 911, MEMBERSHIP_LEVELS: selectedId, MEMBERSHIP_STATE: params?.MEMBERSHIP_STATE, }, keyWord: { Key: "MEMBERSHIP_NAME,MEMBERSHIP_MOBILEPHONE,CERTIFICATE_NUMBER,MEMBERSHIP_CARD,MEMBERSHIP_ADDRESS,PLATE_NUMBER", value: params?.MEMBERSHIP_NAME || "" }, PageIndex: params.current || 1, PageSize: params?.pageSize, sortstr: sortstr.length ? sortstr.toString() === "MEMBERGROWTH_VALUE asc" || sortstr.toString() === "MEMBERGROWTH_VALUE desc" ? "" : sortstr.toString() : "", } handleSetlogSave(`查看了会员账户管理列表`) const data = await handleGetMEMBERSHIPList(req) if (data.List && data.List.length > 0) { return { data: data.List, success: true, total: data.TotalCount } } return { data: [], success: true } }} toolbar={{ actions: [ ] }} />
) } export default connect(({ user }: ConnectState) => ({ currentUser: user.currentUser }))(MembershipLevelDistribution);