tplus-member 3.26.33 → 3.26.34

Sign up to get free protection for your applications and to get access to all the features.
@@ -583,13 +583,13 @@ var memberManager = (0, _mobxReact.observer)(_class = (_temp = _class2 = functio
583
583
 
584
584
  return _react2.default.createElement(
585
585
  TabPane,
586
- { tab: title, key: key },
586
+ { tab: title + '(' + cardInfo.length + ')', key: key },
587
587
  _react2.default.createElement(
588
588
  'div',
589
589
  { style: { height: memberTabContentHeight, position: 'relative', overflowY: 'auto' } },
590
590
  _react2.default.createElement(
591
591
  _tplusComponentsTouch.TouchScroll,
592
- { height: memberTabContentHeight },
592
+ { height: memberTabContentHeight, scrollProgress: function scrollProgress() {} },
593
593
  !!cardInfo.length && memberCardInfos.map(function (list, index) {
594
594
  return _react2.default.createElement(_MemberCardInfo2.default, { list: list, index: index, key: '卡' + (index + 1), title: '卡' + (index + 1), keyName: 'memberCardInfos', memberList: memberList, storeKey: storeKey });
595
595
  }),
@@ -1 +1 @@
1
- {"version":3,"sources":["tplus-member/member/memberTab/MemberManager.js"],"names":["TabPane","transform","Code","CardCode","Name","MemberTypeName","Mobilephone","Telephone","StoreName","sex","BirthDate","TotalIntegral","BalanceIntegral","BalanceStorage","TotalStorage","TotalBegin","EffectiveDate","ExpirationDate","UmemberOpenId","UmemberLabel","MemberCouponTitle","Memo","validMethodEnum","LONG_PERIOD","ASSIGNMENT_PERIOD","cardStatusEnumList","ENABLED","DISABLED","UNBINDING","BINDING","INVALIDATION","EXPIRED","REFUNDING_CARD","REFUNDED_CARD","memberManager","observer","props","localStore","get","loginInfo","IsEnableUMember","state","defaultActiveKey","storeKey","onChange","memberInfoEle","title","key","rmecommendEle","recentlyEle","memberCardInfoEle","Component","tabHeadHeight","dataClear","keys","values","columnInfo","regKey","dataSource","forEach","index","includes","find","v","FieldName","label","Title","push","value","filter","platform","isNewRetailBCPos","member","memberTabHeight","memberList","precisionInfo","getMemberStateStamp","DynamicPropertyKeys","DynamicPropertyValues","MemberType","Sex","isExpiration","Uid","isUserLogout","MemberState","Store","priuserdefData","isUMember","isUMemberShow","memberValues","memberInfos","memberTabContentHeight","hasMemberInfo","some","enumController","getEnumOj","Differentiate","CC_NOT_DISPLAY","COUPON","isHaveCCNot","item","memberValue","precision","undefined","dataItem","length","map","formatValue","formatDateKeys","iconItems","height","position","recommend","recommends","memberInfo","record","like","initEmpty","Value","recommendInfoHeight","haveRecord","every","console","log","emptyRecommend","emptyData","showInfos","recordFilter","name","recommendHeight","recency","theadHeight","tableHeight","data","vlaue","i","findIndex","code","Time","rest","itemValue","date","itemData","sort","a","b","Amount","textAlign","Quantity","cardInfo","cardTypeEnumList","memberCardInfos","StorageCardNo","CardTypeEnum","ValidMethodEnum","DueDate","CardStatusEnum","IsSale","overflowY","list"],"mappings":"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","file":"MemberManager.js","sourcesContent":["import React, { Component } from 'react';\nimport { Tabs } from 'antd';\nimport { observer } from 'mobx-react';\nimport { localStore } from 'mutants-microfx';\nimport { TouchScroll, CardList } from 'tplus-components-touch';\nimport { formatPrecision, dateFormat } from '../../utils';\nimport { enumController, platform } from 'mutants-util';\nimport MemberCardInfo from './MemberCardInfo'\n\nconst { TabPane } = Tabs;\n\nlet transform = {\n Code: '会员编号',\n CardCode: '会员卡号',\n Name: '会员姓名',\n MemberTypeName: '会员类型',\n Mobilephone: '手机号',\n Telephone: '联系电话',\n StoreName:'开卡门店',\n sex: '性别',\n BirthDate: '出生日期',\n TotalIntegral: '累计积分',\n BalanceIntegral: '积分余额',\n BalanceStorage: '当前总余额',\n TotalStorage: '储值总额', // 字段存疑\n TotalBegin: '期初余额',\n EffectiveDate: '生效日期',\n ExpirationDate: '失效日期',\n UmemberOpenId: '是否关注微信号',\n UmemberLabel: '会员标签',\n MemberCouponTitle: '优惠券',\n Memo: '备注',\n};\n\n\n// 有效期类型\nconst validMethodEnum = {\n LONG_PERIOD: '长期有效',\n ASSIGNMENT_PERIOD: '指定有效期'\n}\n\n// 卡状态\nconst cardStatusEnumList = {\n ENABLED: \"已启用\", \n DISABLED: \"已停用\",\n UNBINDING: \"待绑定\",\n BINDING: \"已绑定\",\n INVALIDATION: \"已作废\",\n EXPIRED: \"已过期\",\n REFUNDING_CARD: \"退卡中\",\n REFUNDED_CARD: \"已退卡\"\n }\n\n@observer\nexport default class memberManager extends Component {\n tabHeadHeight = 37;\n constructor (props) {\n super(props)\n const {loginInfo: {IsEnableUMember} = {}} = localStore.get('user') || {};\n this.state = {IsEnableUMember: !!IsEnableUMember};\n }\n dataClear = (keys, values, columnInfo) => {\n const regKey = 'priuserdef';\n const dataSource = [];\n keys.forEach((key, index) => {\n if (key.includes(regKey)) {\n const {Title: label} = columnInfo.find(v => v.FieldName === key) || {};\n dataSource.push({key, value: values[index], label});\n }\n });\n return dataSource.filter(v => v.label);\n }\n\n // 会员信息\n memberInfoEle = ({ title, key }) => {\n let { isNewRetailBCPos } = platform || {};\n const { member = {}, memberTabHeight, memberList = [], columnInfo = [], precisionInfo = {}, getMemberStateStamp} = this.props;\n const {IsEnableUMember} = this.state;\n const { DynamicPropertyKeys = [], DynamicPropertyValues = [], ExpirationDate = '', MemberType: { Name: MemberTypeName } = {},\n Sex: { Name: sex } = {}, isExpiration, Uid, isUserLogout, MemberState, Store: { Name : StoreName } = {} } = member;\n let priuserdefData = this.dataClear(DynamicPropertyKeys, DynamicPropertyValues, columnInfo);\n const isUMember = IsEnableUMember && Uid > 0; // 判断为u会员\n const isUMemberShow = ['UmemberOpenId', 'UmemberLabel', 'MemberCouponTitle'];\n const memberValues = { MemberTypeName, sex, StoreName , ...member};\n const memberInfos = [];\n const memberTabContentHeight = memberTabHeight - this.tabHeadHeight;\n const hasMemberInfo = Object.keys(memberValues).some(v => memberValues[v]);\n const { Differentiate } = enumController.getEnumOj();\n\n const CC_NOT_DISPLAY = [\"Code\", \"ExpirationDate\", \"UmemberOpenId\", \"UmemberLabel\"];\n\n transform.MemberCouponTitle = Differentiate.COUPON;\n transform.MemberTypeName = Differentiate.MemberTypeName;\n Object.keys(transform).forEach(v => {\n // 查找CC不需要显示的字段\n const isHaveCCNot = CC_NOT_DISPLAY.find(item => item == v);\n if (isNewRetailBCPos && isHaveCCNot) return;\n if (isUMemberShow.includes(v) && !isNewRetailBCPos &&!isUMember ) return;\n const memberValue = memberValues[v];\n const precision = precisionInfo[v];\n //let value = formatPrecisionKeys.includes(v) ? (hasMemberInfo ? formatPrecision(memberValue, precision) : undefined) : memberValue;\n let value = !!precision ? (hasMemberInfo ? formatPrecision(memberValue, precision) : undefined) : memberValue;\n (v === 'UmemberOpenId') && (value = memberValue ? '已关注' : '未关注');\n const dataItem = { label: `${transform[v]}`, value };\n memberInfos.push(dataItem);\n });\n\n //对自定义项的值进行处理。\n if (priuserdefData && priuserdefData.length > 0) {\n priuserdefData.map(item => {\n let { key, value } = item || {};\n let precision = precisionInfo[key];\n item['value'] = !!precision ? formatPrecision(value, precision) : value;\n })\n }\n\n memberInfos.push(...priuserdefData) // 插入会员自定义项\n memberInfos.length % 2 && memberInfos.push({}); //奇数补全\n const formatValue = (label, value) => {\n const formatDateKeys = ['出生日期', '失效日期', '生效日期'];\n if (formatDateKeys.includes(label)) {\n return dateFormat(value);\n } else {\n return value;\n }\n }\n //状态戳\n let iconItems = getMemberStateStamp(member);\n return (\n <TabPane tab={title} key={key}>\n <div style={{ height: memberTabContentHeight, position: 'relative' }}>\n <TouchScroll height={memberTabContentHeight} >\n {\n !!memberList.length && <div className='member-info-table'>\n {\n memberInfos.map((item, index) => <div key={index}>\n {item.label && <span>{item.label || ''}</span>}\n {item.label && <span data-overflow='tip'>:{formatValue(item.label, item.value)}</span>}\n </div>)\n }\n {\n !memberInfos.length && <p className='empty-data'>暂无数据~</p>\n }\n </div>\n }\n {\n !memberList.length && <div className='empty-data empty-data-img' />\n }\n </TouchScroll>\n {\n iconItems && iconItems.length > 0 &&\n <div className='memberstate-detail-stamp'>\n {iconItems}\n </div>\n }\n </div>\n </TabPane >)\n };\n\n // 智能推荐\n rmecommendEle = ({ title, key }) => {\n let { recommend: recommends = [], memberInfo: { record = [], like = [] } = {}, memberTabHeight, initEmpty } = this.props;\n recommends = recommends.filter(v => v);\n recommends.push({ Name: '最近购买', Value: like });\n const recommendInfoHeight = 74;\n const memberTabContentHeight = memberTabHeight - this.tabHeadHeight;\n const haveRecord = !!record.length && record.every(v => !!(v && v.value));\n console.log('会员偶发白屏问题:recommends==', recommends)\n const emptyRecommend = recommends.every(v => !((v && v.Value) || []).length) ? <div className='empty-data'>暂无推荐~</div> : null;\n const emptyData = (!haveRecord && recommends.every(v => !((v && v.Value) || []).length)) ? <div className='empty-data empty-data-img' /> : null;\n const showInfos = ['最近购买时间', '金额', '平均客单价']\n const recordFilter = record.filter(v => showInfos.includes(v.name));\n const recommendHeight = haveRecord ? memberTabContentHeight - recommendInfoHeight : memberTabContentHeight;\n return <TabPane tab={title} key={key}>\n <div className='recommend-tab' style={{height: memberTabContentHeight}}>\n {haveRecord && <div className='recommend-info'>\n {recordFilter.map((item, key) => <span key={key}>{item.name}: {item.value}</span>)}\n </div>}\n <div className='recommend-connent' style={{height: recommendHeight}}>\n <TouchScroll height={recommendHeight} key={recommendHeight}>\n {recommends.map((item, index) => {\n if (!(item.Value || []).length) return null;\n return <div key={index} className='detail-content'>\n <h1>{item.Name}</h1>\n <CardList\n list={item.Value || []}\n maxEmpyt={5}\n />\n </div>\n })}\n </TouchScroll>\n {initEmpty && emptyRecommend}\n </div>\n {initEmpty && emptyData}\n </div>\n </TabPane>;\n };\n\n // 最近购买\n recentlyEle = ({ title, key }) => {\n const {memberTabHeight, memberInfo: {recency = []} = {}} = this.props;\n const theadHeight = 50;\n const tableHeight = memberTabHeight - this.tabHeadHeight;\n const dataSource = [];\n const data = recency;\n data.forEach((vlaue, i) => {\n const index = dataSource.findIndex(v => v.code === vlaue.Code);\n if (~index) {\n dataSource[index].data.push(vlaue);\n } else {\n const { Time, Code, ...rest } = vlaue || {};\n const itemValue = { date: Time, code: Code, data: [rest] };\n dataSource.push(itemValue);\n }\n });\n\n dataSource.forEach(value => {\n // 金额倒序排序\n const itemData = value.data;\n if (itemData.length > 1) {\n itemData.sort((a = {}, b = {}) => b.Amount - a.Amount);\n }\n });\n\n return <TabPane tab={title} key={key}>\n {!!dataSource.length && <div className='recently-tab'>\n <table className='table'>\n <thead>\n <tr>\n <th width='25%'>消费日期</th>\n <th width='25%'>商品</th>\n <th width='25%' style={{textAlign: 'center'}}>数量</th>\n <th width='25%' className='amount-item'>消费金额</th>\n </tr>\n </thead>\n <tbody style={{height: tableHeight - theadHeight}}>\n <TouchScroll>\n {dataSource.map((item, key) => {\n return item.data.map((v, i) =>\n <tr key={i}>\n {!i ?\n <td className={item.data.length === 1 ? 'only-one-data' : ''}>{dateFormat(item.date)}</td> :\n <td className={item.data.length - 1 === i ? 'data-border' : ''}/>\n }\n <td data-overflow='tip'>{v.Name}</td>\n <td data-overflow='tip' style={{textAlign: 'center'}}>{v.Quantity}</td>\n <td data-overflow='tip'>{v.Amount}</td>\n </tr>\n );\n })}\n </TouchScroll>\n </tbody>\n </table>\n </div>}\n {!dataSource.length && <div style={{height: tableHeight, position: 'relative'}}><div className='empty-data empty-data-img' /></div>}\n </TabPane>;\n };\n\n // 会员的卡信息\n memberCardInfoEle = ({ title, key }) => {\n const { member = {}, memberTabHeight, memberList = [], cardInfo = [], cardTypeEnumList, storeKey} = this.props;\n const memberTabContentHeight = memberTabHeight - this.tabHeadHeight;\n const memberCardInfos = []\n\n cardInfo.map(item => {\n const { StorageCardNo, Name, TotalStorage = 0, BalanceStorage = 0, CardTypeEnum, ValidMethodEnum, DueDate, CardStatusEnum, IsSale } = item\n const dataSource = [\n { label: '卡名称', value: Name },\n { label: '卡号', value: StorageCardNo },\n { label: '卡类型', value: cardTypeEnumList[CardTypeEnum] },\n { label: '有效期至', value: ValidMethodEnum === 'LONG_PERIOD' ? '长期有效' : dateFormat(DueDate)},\n { label: '储值总额', value: formatPrecision(IsSale === 'SOLD' ? TotalStorage : 0, 2) },\n { label: '储值余额', value: formatPrecision(IsSale === 'SOLD' ? BalanceStorage : 0, 2) },\n { label: '卡状态', value: cardStatusEnumList[CardStatusEnum] }\n ]\n memberCardInfos.push(dataSource)\n })\n\n return (\n <TabPane tab={title} key={key}>\n <div style={{ height: memberTabContentHeight, position: 'relative',overflowY: 'auto' }}>\n <TouchScroll height={memberTabContentHeight} >\n {\n !!cardInfo.length && \n memberCardInfos.map((list, index) => <MemberCardInfo list={list} index={index} key={'卡' + (index + 1)} title={'卡' + (index + 1)} keyName='memberCardInfos' memberList={memberList} storeKey={storeKey} />)\n }\n {\n !cardInfo.length && <div className='empty-data empty-data-img' />\n }\n </TouchScroll>\n </div>\n </TabPane>\n )\n };\n\n render() {\n const {defaultActiveKey = '1', storeKey } = this.props;\n return (\n <Tabs\n defaultActiveKey={defaultActiveKey}\n onChange={this.props.onChange}\n className=\"member-table-container\"\n >\n { this.memberInfoEle({ title: '会员信息', key: '1' }) }\n { this.rmecommendEle({ title: '智能推荐', key: '2' }) }\n { this.recentlyEle({ title: '最近购买', key: '3' }) }\n { this.memberCardInfoEle({title: '卡信息', 'key': '4'}) }\n </Tabs>\n );\n }\n}"]}
1
+ {"version":3,"sources":["tplus-member/member/memberTab/MemberManager.js"],"names":["TabPane","transform","Code","CardCode","Name","MemberTypeName","Mobilephone","Telephone","StoreName","sex","BirthDate","TotalIntegral","BalanceIntegral","BalanceStorage","TotalStorage","TotalBegin","EffectiveDate","ExpirationDate","UmemberOpenId","UmemberLabel","MemberCouponTitle","Memo","validMethodEnum","LONG_PERIOD","ASSIGNMENT_PERIOD","cardStatusEnumList","ENABLED","DISABLED","UNBINDING","BINDING","INVALIDATION","EXPIRED","REFUNDING_CARD","REFUNDED_CARD","memberManager","observer","props","localStore","get","loginInfo","IsEnableUMember","state","defaultActiveKey","storeKey","onChange","memberInfoEle","title","key","rmecommendEle","recentlyEle","memberCardInfoEle","Component","tabHeadHeight","dataClear","keys","values","columnInfo","regKey","dataSource","forEach","index","includes","find","v","FieldName","label","Title","push","value","filter","platform","isNewRetailBCPos","member","memberTabHeight","memberList","precisionInfo","getMemberStateStamp","DynamicPropertyKeys","DynamicPropertyValues","MemberType","Sex","isExpiration","Uid","isUserLogout","MemberState","Store","priuserdefData","isUMember","isUMemberShow","memberValues","memberInfos","memberTabContentHeight","hasMemberInfo","some","enumController","getEnumOj","Differentiate","CC_NOT_DISPLAY","COUPON","isHaveCCNot","item","memberValue","precision","undefined","dataItem","length","map","formatValue","formatDateKeys","iconItems","height","position","recommend","recommends","memberInfo","record","like","initEmpty","Value","recommendInfoHeight","haveRecord","every","console","log","emptyRecommend","emptyData","showInfos","recordFilter","name","recommendHeight","recency","theadHeight","tableHeight","data","vlaue","i","findIndex","code","Time","rest","itemValue","date","itemData","sort","a","b","Amount","textAlign","Quantity","cardInfo","cardTypeEnumList","memberCardInfos","StorageCardNo","CardTypeEnum","ValidMethodEnum","DueDate","CardStatusEnum","IsSale","overflowY","list"],"mappings":"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","file":"MemberManager.js","sourcesContent":["import React, { Component } from 'react';\nimport { Tabs } from 'antd';\nimport { observer } from 'mobx-react';\nimport { localStore } from 'mutants-microfx';\nimport { TouchScroll, CardList } from 'tplus-components-touch';\nimport { formatPrecision, dateFormat } from '../../utils';\nimport { enumController, platform } from 'mutants-util';\nimport MemberCardInfo from './MemberCardInfo'\n\nconst { TabPane } = Tabs;\n\nlet transform = {\n Code: '会员编号',\n CardCode: '会员卡号',\n Name: '会员姓名',\n MemberTypeName: '会员类型',\n Mobilephone: '手机号',\n Telephone: '联系电话',\n StoreName:'开卡门店',\n sex: '性别',\n BirthDate: '出生日期',\n TotalIntegral: '累计积分',\n BalanceIntegral: '积分余额',\n BalanceStorage: '当前总余额',\n TotalStorage: '储值总额', // 字段存疑\n TotalBegin: '期初余额',\n EffectiveDate: '生效日期',\n ExpirationDate: '失效日期',\n UmemberOpenId: '是否关注微信号',\n UmemberLabel: '会员标签',\n MemberCouponTitle: '优惠券',\n Memo: '备注',\n};\n\n\n// 有效期类型\nconst validMethodEnum = {\n LONG_PERIOD: '长期有效',\n ASSIGNMENT_PERIOD: '指定有效期'\n}\n\n// 卡状态\nconst cardStatusEnumList = {\n ENABLED: \"已启用\", \n DISABLED: \"已停用\",\n UNBINDING: \"待绑定\",\n BINDING: \"已绑定\",\n INVALIDATION: \"已作废\",\n EXPIRED: \"已过期\",\n REFUNDING_CARD: \"退卡中\",\n REFUNDED_CARD: \"已退卡\"\n }\n\n@observer\nexport default class memberManager extends Component {\n tabHeadHeight = 37;\n constructor (props) {\n super(props)\n const {loginInfo: {IsEnableUMember} = {}} = localStore.get('user') || {};\n this.state = {IsEnableUMember: !!IsEnableUMember};\n }\n dataClear = (keys, values, columnInfo) => {\n const regKey = 'priuserdef';\n const dataSource = [];\n keys.forEach((key, index) => {\n if (key.includes(regKey)) {\n const {Title: label} = columnInfo.find(v => v.FieldName === key) || {};\n dataSource.push({key, value: values[index], label});\n }\n });\n return dataSource.filter(v => v.label);\n }\n\n // 会员信息\n memberInfoEle = ({ title, key }) => {\n let { isNewRetailBCPos } = platform || {};\n const { member = {}, memberTabHeight, memberList = [], columnInfo = [], precisionInfo = {}, getMemberStateStamp} = this.props;\n const {IsEnableUMember} = this.state;\n const { DynamicPropertyKeys = [], DynamicPropertyValues = [], ExpirationDate = '', MemberType: { Name: MemberTypeName } = {},\n Sex: { Name: sex } = {}, isExpiration, Uid, isUserLogout, MemberState, Store: { Name : StoreName } = {} } = member;\n let priuserdefData = this.dataClear(DynamicPropertyKeys, DynamicPropertyValues, columnInfo);\n const isUMember = IsEnableUMember && Uid > 0; // 判断为u会员\n const isUMemberShow = ['UmemberOpenId', 'UmemberLabel', 'MemberCouponTitle'];\n const memberValues = { MemberTypeName, sex, StoreName , ...member};\n const memberInfos = [];\n const memberTabContentHeight = memberTabHeight - this.tabHeadHeight;\n const hasMemberInfo = Object.keys(memberValues).some(v => memberValues[v]);\n const { Differentiate } = enumController.getEnumOj();\n\n const CC_NOT_DISPLAY = [\"Code\", \"ExpirationDate\", \"UmemberOpenId\", \"UmemberLabel\"];\n\n transform.MemberCouponTitle = Differentiate.COUPON;\n transform.MemberTypeName = Differentiate.MemberTypeName;\n Object.keys(transform).forEach(v => {\n // 查找CC不需要显示的字段\n const isHaveCCNot = CC_NOT_DISPLAY.find(item => item == v);\n if (isNewRetailBCPos && isHaveCCNot) return;\n if (isUMemberShow.includes(v) && !isNewRetailBCPos &&!isUMember ) return;\n const memberValue = memberValues[v];\n const precision = precisionInfo[v];\n //let value = formatPrecisionKeys.includes(v) ? (hasMemberInfo ? formatPrecision(memberValue, precision) : undefined) : memberValue;\n let value = !!precision ? (hasMemberInfo ? formatPrecision(memberValue, precision) : undefined) : memberValue;\n (v === 'UmemberOpenId') && (value = memberValue ? '已关注' : '未关注');\n const dataItem = { label: `${transform[v]}`, value };\n memberInfos.push(dataItem);\n });\n\n //对自定义项的值进行处理。\n if (priuserdefData && priuserdefData.length > 0) {\n priuserdefData.map(item => {\n let { key, value } = item || {};\n let precision = precisionInfo[key];\n item['value'] = !!precision ? formatPrecision(value, precision) : value;\n })\n }\n\n memberInfos.push(...priuserdefData) // 插入会员自定义项\n memberInfos.length % 2 && memberInfos.push({}); //奇数补全\n const formatValue = (label, value) => {\n const formatDateKeys = ['出生日期', '失效日期', '生效日期'];\n if (formatDateKeys.includes(label)) {\n return dateFormat(value);\n } else {\n return value;\n }\n }\n //状态戳\n let iconItems = getMemberStateStamp(member);\n return (\n <TabPane tab={title} key={key}>\n <div style={{ height: memberTabContentHeight, position: 'relative' }}>\n <TouchScroll height={memberTabContentHeight} >\n {\n !!memberList.length && <div className='member-info-table'>\n {\n memberInfos.map((item, index) => <div key={index}>\n {item.label && <span>{item.label || ''}</span>}\n {item.label && <span data-overflow='tip'>:{formatValue(item.label, item.value)}</span>}\n </div>)\n }\n {\n !memberInfos.length && <p className='empty-data'>暂无数据~</p>\n }\n </div>\n }\n {\n !memberList.length && <div className='empty-data empty-data-img' />\n }\n </TouchScroll>\n {\n iconItems && iconItems.length > 0 &&\n <div className='memberstate-detail-stamp'>\n {iconItems}\n </div>\n }\n </div>\n </TabPane >)\n };\n\n // 智能推荐\n rmecommendEle = ({ title, key }) => {\n let { recommend: recommends = [], memberInfo: { record = [], like = [] } = {}, memberTabHeight, initEmpty } = this.props;\n recommends = recommends.filter(v => v);\n recommends.push({ Name: '最近购买', Value: like });\n const recommendInfoHeight = 74;\n const memberTabContentHeight = memberTabHeight - this.tabHeadHeight;\n const haveRecord = !!record.length && record.every(v => !!(v && v.value));\n console.log('会员偶发白屏问题:recommends==', recommends)\n const emptyRecommend = recommends.every(v => !((v && v.Value) || []).length) ? <div className='empty-data'>暂无推荐~</div> : null;\n const emptyData = (!haveRecord && recommends.every(v => !((v && v.Value) || []).length)) ? <div className='empty-data empty-data-img' /> : null;\n const showInfos = ['最近购买时间', '金额', '平均客单价']\n const recordFilter = record.filter(v => showInfos.includes(v.name));\n const recommendHeight = haveRecord ? memberTabContentHeight - recommendInfoHeight : memberTabContentHeight;\n return <TabPane tab={title} key={key}>\n <div className='recommend-tab' style={{height: memberTabContentHeight}}>\n {haveRecord && <div className='recommend-info'>\n {recordFilter.map((item, key) => <span key={key}>{item.name}: {item.value}</span>)}\n </div>}\n <div className='recommend-connent' style={{height: recommendHeight}}>\n <TouchScroll height={recommendHeight} key={recommendHeight}>\n {recommends.map((item, index) => {\n if (!(item.Value || []).length) return null;\n return <div key={index} className='detail-content'>\n <h1>{item.Name}</h1>\n <CardList\n list={item.Value || []}\n maxEmpyt={5}\n />\n </div>\n })}\n </TouchScroll>\n {initEmpty && emptyRecommend}\n </div>\n {initEmpty && emptyData}\n </div>\n </TabPane>;\n };\n\n // 最近购买\n recentlyEle = ({ title, key }) => {\n const {memberTabHeight, memberInfo: {recency = []} = {}} = this.props;\n const theadHeight = 50;\n const tableHeight = memberTabHeight - this.tabHeadHeight;\n const dataSource = [];\n const data = recency;\n data.forEach((vlaue, i) => {\n const index = dataSource.findIndex(v => v.code === vlaue.Code);\n if (~index) {\n dataSource[index].data.push(vlaue);\n } else {\n const { Time, Code, ...rest } = vlaue || {};\n const itemValue = { date: Time, code: Code, data: [rest] };\n dataSource.push(itemValue);\n }\n });\n\n dataSource.forEach(value => {\n // 金额倒序排序\n const itemData = value.data;\n if (itemData.length > 1) {\n itemData.sort((a = {}, b = {}) => b.Amount - a.Amount);\n }\n });\n\n return <TabPane tab={title} key={key}>\n {!!dataSource.length && <div className='recently-tab'>\n <table className='table'>\n <thead>\n <tr>\n <th width='25%'>消费日期</th>\n <th width='25%'>商品</th>\n <th width='25%' style={{textAlign: 'center'}}>数量</th>\n <th width='25%' className='amount-item'>消费金额</th>\n </tr>\n </thead>\n <tbody style={{height: tableHeight - theadHeight}}>\n <TouchScroll>\n {dataSource.map((item, key) => {\n return item.data.map((v, i) =>\n <tr key={i}>\n {!i ?\n <td className={item.data.length === 1 ? 'only-one-data' : ''}>{dateFormat(item.date)}</td> :\n <td className={item.data.length - 1 === i ? 'data-border' : ''}/>\n }\n <td data-overflow='tip'>{v.Name}</td>\n <td data-overflow='tip' style={{textAlign: 'center'}}>{v.Quantity}</td>\n <td data-overflow='tip'>{v.Amount}</td>\n </tr>\n );\n })}\n </TouchScroll>\n </tbody>\n </table>\n </div>}\n {!dataSource.length && <div style={{height: tableHeight, position: 'relative'}}><div className='empty-data empty-data-img' /></div>}\n </TabPane>;\n };\n\n // 会员的卡信息\n memberCardInfoEle = ({ title, key }) => {\n const { member = {}, memberTabHeight, memberList = [], cardInfo = [], cardTypeEnumList, storeKey} = this.props;\n const memberTabContentHeight = memberTabHeight - this.tabHeadHeight;\n const memberCardInfos = []\n\n cardInfo.map(item => {\n const { StorageCardNo, Name, TotalStorage = 0, BalanceStorage = 0, CardTypeEnum, ValidMethodEnum, DueDate, CardStatusEnum, IsSale } = item\n const dataSource = [\n { label: '卡名称', value: Name },\n { label: '卡号', value: StorageCardNo },\n { label: '卡类型', value: cardTypeEnumList[CardTypeEnum] },\n { label: '有效期至', value: ValidMethodEnum === 'LONG_PERIOD' ? '长期有效' : dateFormat(DueDate)},\n { label: '储值总额', value: formatPrecision(IsSale === 'SOLD' ? TotalStorage : 0, 2) },\n { label: '储值余额', value: formatPrecision(IsSale === 'SOLD' ? BalanceStorage : 0, 2) },\n { label: '卡状态', value: cardStatusEnumList[CardStatusEnum] }\n ]\n memberCardInfos.push(dataSource)\n })\n\n return (\n <TabPane tab={title + '('+ cardInfo.length +')'} key={key}>\n <div style={{ height: memberTabContentHeight, position: 'relative',overflowY: 'auto' }}>\n <TouchScroll height={memberTabContentHeight} scrollProgress={()=>{}}>\n {\n !!cardInfo.length && \n memberCardInfos.map((list, index) => <MemberCardInfo list={list} index={index} key={'卡' + (index + 1)} title={'卡' + (index + 1)} keyName='memberCardInfos' memberList={memberList} storeKey={storeKey} />)\n }\n {\n !cardInfo.length && <div className='empty-data empty-data-img' />\n }\n </TouchScroll>\n </div>\n </TabPane>\n )\n };\n\n render() {\n const {defaultActiveKey = '1', storeKey } = this.props;\n return (\n <Tabs\n defaultActiveKey={defaultActiveKey}\n onChange={this.props.onChange}\n className=\"member-table-container\"\n >\n { this.memberInfoEle({ title: '会员信息', key: '1' }) }\n { this.rmecommendEle({ title: '智能推荐', key: '2' }) }\n { this.recentlyEle({ title: '最近购买', key: '3' }) }\n { this.memberCardInfoEle({title: '卡信息', 'key': '4'}) }\n </Tabs>\n );\n }\n}"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tplus-member",
3
- "version": "3.26.33",
3
+ "version": "3.26.34",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {