tplus-member 3.47.3 → 3.48.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (121) hide show
  1. package/dist/api.js +5 -5
  2. package/dist/api.js.map +1 -1
  3. package/dist/controllers/FeedbackController.js.map +1 -1
  4. package/dist/controllers/MemberOrderController.js +12 -12
  5. package/dist/controllers/MemberOrderController.js.map +1 -1
  6. package/dist/controllers/OpenCardController.js +7 -7
  7. package/dist/controllers/OpenCardController.js.map +1 -1
  8. package/dist/controllers/defaultConfig.js.map +1 -1
  9. package/dist/dataProvider/member.js +7 -7
  10. package/dist/dataProvider/member.js.map +1 -1
  11. package/dist/dataProvider/openCard.js.map +1 -1
  12. package/dist/domain/member/AuthProcess.js.map +1 -1
  13. package/dist/domain/member/CardCodeChangedProcessor.js +2 -2
  14. package/dist/domain/member/CardCodeChangedProcessor.js.map +1 -1
  15. package/dist/domain/member/CheckCardCodeAndCodeProcessor.js +2 -2
  16. package/dist/domain/member/CheckCardCodeAndCodeProcessor.js.map +1 -1
  17. package/dist/domain/member/CheckMobilephoneFormatProcessor.js +2 -2
  18. package/dist/domain/member/CheckMobilephoneFormatProcessor.js.map +1 -1
  19. package/dist/domain/member/CheckPresentAmountProcessor.js +2 -2
  20. package/dist/domain/member/CheckPresentAmountProcessor.js.map +1 -1
  21. package/dist/domain/member/EffectiveDateChangedProcessor.js +2 -2
  22. package/dist/domain/member/EffectiveDateChangedProcessor.js.map +1 -1
  23. package/dist/domain/member/GetThisPresentAmountProcessor.js +2 -2
  24. package/dist/domain/member/GetThisPresentAmountProcessor.js.map +1 -1
  25. package/dist/domain/member/InitDataProcessor.js +123 -123
  26. package/dist/domain/member/InitDataProcessor.js.map +1 -1
  27. package/dist/domain/member/IsMemberEffectiveProcessor.js +2 -2
  28. package/dist/domain/member/IsMemberEffectiveProcessor.js.map +1 -1
  29. package/dist/domain/member/IsMemberEnableProcessor.js +2 -2
  30. package/dist/domain/member/IsMemberEnableProcessor.js.map +1 -1
  31. package/dist/domain/member/IsMemberExpirationProcessor.js +2 -2
  32. package/dist/domain/member/IsMemberExpirationProcessor.js.map +1 -1
  33. package/dist/domain/member/IsMemberPasswordSameProcessor.js +2 -2
  34. package/dist/domain/member/IsMemberPasswordSameProcessor.js.map +1 -1
  35. package/dist/domain/member/IsMemberStorageForStoreProcessor.js +3 -3
  36. package/dist/domain/member/IsMemberStorageForStoreProcessor.js.map +1 -1
  37. package/dist/domain/member/MemberTypeChangedProcessor.js +4 -4
  38. package/dist/domain/member/MemberTypeChangedProcessor.js.map +1 -1
  39. package/dist/domain/member/MobilephoneChangedProcessor.js +4 -4
  40. package/dist/domain/member/MobilephoneChangedProcessor.js.map +1 -1
  41. package/dist/domain/member/PersonProcesser.js.map +1 -1
  42. package/dist/domain/member/PriuserdefChangedProcessor.js +2 -2
  43. package/dist/domain/member/PriuserdefChangedProcessor.js.map +1 -1
  44. package/dist/domain/operationLog/AddLogProcessor.js +6 -6
  45. package/dist/domain/operationLog/AddLogProcessor.js.map +1 -1
  46. package/dist/domain/operationLog/OperationConfig.js.map +1 -1
  47. package/dist/domain/operationLog/OperationLog.js.map +1 -1
  48. package/dist/index.js.map +1 -1
  49. package/dist/member/MemberCardList.js +2 -2
  50. package/dist/member/MemberCardList.js.map +1 -1
  51. package/dist/member/MemberPhoto.js.map +1 -1
  52. package/dist/member/MemberShow.js.map +1 -1
  53. package/dist/member/ShopMember.js.map +1 -1
  54. package/dist/member/ShopMember.less +636 -636
  55. package/dist/member/ShopMemberStorage.js.map +1 -1
  56. package/dist/member/api.js.map +1 -1
  57. package/dist/member/color.less +31 -31
  58. package/dist/member/index.js +5 -6
  59. package/dist/member/index.js.map +1 -1
  60. package/dist/member/index.less +571 -571
  61. package/dist/member/memberMenu/bindCard/index.js.map +1 -1
  62. package/dist/member/memberMenu/bindCard/style.less +7 -7
  63. package/dist/member/memberMenu/changeMemberCard/index.js.map +1 -1
  64. package/dist/member/memberMenu/changeMemberCard/style.less +42 -42
  65. package/dist/member/memberMenu/index.js +1 -2
  66. package/dist/member/memberMenu/index.js.map +1 -1
  67. package/dist/member/memberMenu/modifyPass/index.js.map +1 -1
  68. package/dist/member/memberMenu/modifyPass/store.js.map +1 -1
  69. package/dist/member/memberMenu/modifyPass/style.less +96 -96
  70. package/dist/member/memberMenu/style.less +136 -136
  71. package/dist/member/memberMenuStorage/bindCard/index.js.map +1 -1
  72. package/dist/member/memberMenuStorage/bindCard/style.less +7 -7
  73. package/dist/member/memberMenuStorage/changeMemberCard/index.js.map +1 -1
  74. package/dist/member/memberMenuStorage/changeMemberCard/style.less +42 -42
  75. package/dist/member/memberMenuStorage/index.js +1 -2
  76. package/dist/member/memberMenuStorage/index.js.map +1 -1
  77. package/dist/member/memberMenuStorage/modifyPass/index.js.map +1 -1
  78. package/dist/member/memberMenuStorage/modifyPass/store.js.map +1 -1
  79. package/dist/member/memberMenuStorage/modifyPass/style.less +96 -96
  80. package/dist/member/memberMenuStorage/style.less +138 -138
  81. package/dist/member/memberTab/MemberCardInfo.js.map +1 -1
  82. package/dist/member/memberTab/MemberManager.js.map +1 -1
  83. package/dist/member/memberTab/MemberStorage.js +7 -7
  84. package/dist/member/memberTab/MemberStorage.js.map +1 -1
  85. package/dist/member/memberTab/index.js.map +1 -1
  86. package/dist/member/memberTab.js.map +1 -1
  87. package/dist/socket.js +13 -13
  88. package/dist/socket.js.map +1 -1
  89. package/dist/stores/MemberStore.js.map +1 -1
  90. package/dist/stores/index.js.map +1 -1
  91. package/dist/utils.js.map +1 -1
  92. package/dist/viewController/MemberOrderViewController.js.map +1 -1
  93. package/dist/viewDoMain/CheckMemberProcessorBlock.js +2 -2
  94. package/dist/viewDoMain/CheckMemberProcessorBlock.js.map +1 -1
  95. package/dist/viewDoMain/CheckMemberStorageProcessorBlock.js +2 -2
  96. package/dist/viewDoMain/CheckMemberStorageProcessorBlock.js.map +1 -1
  97. package/dist/viewDoMain/CheckSelectMemberProcessorBlock.js +2 -2
  98. package/dist/viewDoMain/CheckSelectMemberProcessorBlock.js.map +1 -1
  99. package/dist/viewDoMain/CheckUpdatePasswordProcessorBlock.js.map +1 -1
  100. package/dist/viewDoMain/MemberDataChangedProcessorBlock.js +2 -2
  101. package/dist/viewDoMain/MemberDataChangedProcessorBlock.js.map +1 -1
  102. package/dist/viewDoMain/MemberDataPreSaveProcessorBlock.js +2 -2
  103. package/dist/viewDoMain/MemberDataPreSaveProcessorBlock.js.map +1 -1
  104. package/dist/viewDoMain/StorageAmountChangedProcessorBlock.js +2 -2
  105. package/dist/viewDoMain/StorageAmountChangedProcessorBlock.js.map +1 -1
  106. package/dist/viewModels/memberVoucher.js +3 -3
  107. package/dist/viewModels/memberVoucher.js.map +1 -1
  108. package/dist/views/MemberOrderView.js +5 -5
  109. package/dist/views/MemberOrderView.js.map +1 -1
  110. package/dist/views/MemberStore.less +143 -143
  111. package/dist/views/MemberStoreNew.less +228 -228
  112. package/dist/views/MemberStoreNewView.js +1 -1
  113. package/dist/views/MemberStoreNewView.js.map +1 -1
  114. package/dist/views/MemberStoreView.js.map +1 -1
  115. package/dist/views/MemberStoreViewContainer.js.map +1 -1
  116. package/dist/views/PresentDetail.less +118 -118
  117. package/dist/views/PresetDetailView.js.map +1 -1
  118. package/dist/views/memberOrder.less +54 -54
  119. package/locales/zh/tplus-portsetting.json +1 -1
  120. package/locales/zh-CN/tplus-portsetting.json +1 -1
  121. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"sources":["tplus-member/domain/operationLog/OperationLog.js"],"names":["operationLog","_toJS","obj","_getArgument","argsNames","argsValues","length","Error","i","args","argValue","push","join","_getDesc","actionDesc","retailDto","forEach","argName","indexOf","rowindex","split","field","JSON","getCellValue","RetailDetails","Format","e","console","error","actionName","operationItem","operationName","OperationConfig","name","docno","description","target","key","descriptor","originFun","value","data","apply","result","Code","process","env","NODE_ENV","log","OperationLogApi","addPosLog"],"mappings":"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","file":"OperationLog.js","sourcesContent":["import OperationLogApi from '../../api/OperationLogApi';\nimport OperationConfig from './OperationConfig';\nimport { isObservable, toJS } from 'mobx';\nimport _isArray from 'lodash/isArray';\nimport _isObject from 'lodash/isObject';\nimport '../../commom/Challenger';\n\nfunction _toJS(obj) {\n return isObservable(obj) ? toJS(obj) : obj;\n}\nfunction _getArgument(argsNames, argsValues) {\n if (argsNames.length != argsValues.length) {\n throw new Error('参数名称和参数值的长度不一致!');\n }\n let i, length = argsNames.length;\n let args = [];\n for (i = 0; i < length; i++) {\n let argValue = _toJS(argsValues[i]);\n if (_isObject(argValue)) {\n argValue = JSON.stringify(argValue);\n }\n args.push(`参数${i + 1} ${argsNames[i]}: ${argValue}`);\n }\n return args.join(' / ');\n}\n\nfunction _getDesc(actionDesc, argsNames, argsValues, retailDto) {\n let args = [];\n let argValue = '';\n try{\n if (argsNames) {\n argsNames.forEach(argName => {\n if (argName.indexOf('-') > 0) {\n if (retailDto) {\n let rowindex = argName.split('-')[0];\n let field = argName.split('-')[1];\n argValue= JSON.getCellValue(retailDto.RetailDetails[argsValues[rowindex]],field);\n }\n }\n else {\n argValue = _toJS(argsValues[argName]);\n }\n if (_isObject(argValue)) {\n argValue = JSON.stringify(argValue);\n }\n args.push(argValue)\n });\n }\n else {\n if(argsValues&&argsValues.length>0)\n {\n argValue = _toJS(argsValues[0]);\n if (_isObject(argValue)) {\n argValue = JSON.stringify(argValue);\n }\n args.push(argValue)\n }\n }\n return actionDesc.Format(...args)\n }\n catch (e) {\n console.error('获取操作日志描述信息异常');\n }\n return actionDesc;\n}\n\nexport default function operationLog(actionName, actionDesc, argsNames) {\n let operationItem = {};\n const operationName = OperationConfig[actionName];\n operationItem.name = operationName;\n operationItem.docno = \"\";\n operationItem.description = actionDesc;\n // if (!_isArray(actionParamNames)) {\n // throw new Error('第二个参数【方法的参数名称】应该是数组!');\n // }\n // 返回装饰器函数\n return function (target, key, descriptor) {\n const originFun = descriptor.value;\n\n descriptor.value = async function () {\n //处理描述数据\n operationItem.description = _getDesc(actionDesc, argsNames, arguments, this.data)\n let result = await originFun.apply(this, arguments);\n if (this.data) {\n operationItem.docno = this.data.Code;\n }\n if (process.env.NODE_ENV == 'development') {\n console.log(`${operationItem.name}[async]方法执行情况:`, operationItem);\n }\n try {\n OperationLogApi.addPosLog(operationItem.name, operationItem.docno, operationItem.description);\n } catch (e) {\n console.error('操作日志接口调用异常');\n }\n return result;\n }\n // } else {\n // descriptor.value = function () {\n // const startTime = new Date().getTime();\n // let result = originFun.apply(this, arguments);\n // const endTime = new Date().getTime();\n // operationItem.params = _getArgument(actionParamNames, arguments);\n // operationItem.result = _toJS(result);\n // operationItem.exeTime = `${endTime - startTime} ms`;\n // if (process.env.NODE_ENV == 'development') {\n // console.log(`${operationItem.name}方法执行情况:`, operationItem);\n // }\n // try {\n // SysLogApi.logWarn({\n // logContent: JSON.stringify(operationItem),\n // });\n // } catch (e) {\n // console.error('操作日志接口调用异常');\n // }\n // return result;\n // }\n // }\n }\n}"]}
1
+ {"version":3,"sources":["tplus-member/domain/operationLog/OperationLog.js"],"names":["operationLog","_toJS","obj","_getArgument","argsNames","argsValues","length","Error","i","args","argValue","push","join","_getDesc","actionDesc","retailDto","forEach","argName","indexOf","rowindex","split","field","JSON","getCellValue","RetailDetails","Format","e","console","error","actionName","operationItem","operationName","OperationConfig","name","docno","description","target","key","descriptor","originFun","value","data","apply","result","Code","process","env","NODE_ENV","log","OperationLogApi","addPosLog"],"mappings":"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","file":"OperationLog.js","sourcesContent":["import OperationLogApi from '../../api/OperationLogApi';\r\nimport OperationConfig from './OperationConfig';\r\nimport { isObservable, toJS } from 'mobx';\r\nimport _isArray from 'lodash/isArray';\r\nimport _isObject from 'lodash/isObject';\r\nimport '../../commom/Challenger';\r\n\r\nfunction _toJS(obj) {\r\n return isObservable(obj) ? toJS(obj) : obj;\r\n}\r\nfunction _getArgument(argsNames, argsValues) {\r\n if (argsNames.length != argsValues.length) {\r\n throw new Error('参数名称和参数值的长度不一致!');\r\n }\r\n let i, length = argsNames.length;\r\n let args = [];\r\n for (i = 0; i < length; i++) {\r\n let argValue = _toJS(argsValues[i]);\r\n if (_isObject(argValue)) {\r\n argValue = JSON.stringify(argValue);\r\n }\r\n args.push(`参数${i + 1} ${argsNames[i]}: ${argValue}`);\r\n }\r\n return args.join(' / ');\r\n}\r\n\r\nfunction _getDesc(actionDesc, argsNames, argsValues, retailDto) {\r\n let args = [];\r\n let argValue = '';\r\n try{\r\n if (argsNames) {\r\n argsNames.forEach(argName => {\r\n if (argName.indexOf('-') > 0) {\r\n if (retailDto) {\r\n let rowindex = argName.split('-')[0];\r\n let field = argName.split('-')[1];\r\n argValue= JSON.getCellValue(retailDto.RetailDetails[argsValues[rowindex]],field);\r\n }\r\n }\r\n else {\r\n argValue = _toJS(argsValues[argName]);\r\n }\r\n if (_isObject(argValue)) {\r\n argValue = JSON.stringify(argValue);\r\n }\r\n args.push(argValue)\r\n });\r\n }\r\n else {\r\n if(argsValues&&argsValues.length>0)\r\n {\r\n argValue = _toJS(argsValues[0]);\r\n if (_isObject(argValue)) {\r\n argValue = JSON.stringify(argValue);\r\n }\r\n args.push(argValue)\r\n }\r\n }\r\n return actionDesc.Format(...args)\r\n }\r\n catch (e) {\r\n console.error('获取操作日志描述信息异常');\r\n }\r\n return actionDesc;\r\n}\r\n\r\nexport default function operationLog(actionName, actionDesc, argsNames) {\r\n let operationItem = {};\r\n const operationName = OperationConfig[actionName];\r\n operationItem.name = operationName;\r\n operationItem.docno = \"\";\r\n operationItem.description = actionDesc;\r\n // if (!_isArray(actionParamNames)) {\r\n // throw new Error('第二个参数【方法的参数名称】应该是数组!');\r\n // }\r\n // 返回装饰器函数\r\n return function (target, key, descriptor) {\r\n const originFun = descriptor.value;\r\n\r\n descriptor.value = async function () {\r\n //处理描述数据\r\n operationItem.description = _getDesc(actionDesc, argsNames, arguments, this.data)\r\n let result = await originFun.apply(this, arguments);\r\n if (this.data) {\r\n operationItem.docno = this.data.Code;\r\n }\r\n if (process.env.NODE_ENV == 'development') {\r\n console.log(`${operationItem.name}[async]方法执行情况:`, operationItem);\r\n }\r\n try {\r\n OperationLogApi.addPosLog(operationItem.name, operationItem.docno, operationItem.description);\r\n } catch (e) {\r\n console.error('操作日志接口调用异常');\r\n }\r\n return result;\r\n }\r\n // } else {\r\n // descriptor.value = function () {\r\n // const startTime = new Date().getTime();\r\n // let result = originFun.apply(this, arguments);\r\n // const endTime = new Date().getTime();\r\n // operationItem.params = _getArgument(actionParamNames, arguments);\r\n // operationItem.result = _toJS(result);\r\n // operationItem.exeTime = `${endTime - startTime} ms`;\r\n // if (process.env.NODE_ENV == 'development') {\r\n // console.log(`${operationItem.name}方法执行情况:`, operationItem);\r\n // }\r\n // try {\r\n // SysLogApi.logWarn({\r\n // logContent: JSON.stringify(operationItem),\r\n // });\r\n // } catch (e) {\r\n // console.error('操作日志接口调用异常');\r\n // }\r\n // return result;\r\n // }\r\n // }\r\n }\r\n}"]}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["tplus-member/index.js"],"names":["userInfoFormat","errMessageTip","MemberTag","ShopMember","ShopMemberStorage","path","component","MemberStoreViewContainer","merge","store","MemberOrderController","MemberOrderViewController","registerViewModel","MemberOrderView","memberViewModels","memberAppMenuKey","memberDataProvider","AppFlow","OpenCardController","openCardAppMenuKey","openCardDataProvider"],"mappings":";;;;;;;;;;;;;;;;sBAiBSA,c;;;;;;sBAAgBC,a;;;;AAjBzB;;AACA;;;;AACA;;;;AAEA;;AACA;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;AACA;;;;;;;;;;;;;;;;;;QAEOC,S;QACAC,U;QACAC,iB;;AAGP,oCAAe,CAAC;AACZC,UAAM,cADM;AAEZC,eAAWC,kCAFC;AAGZC,WAAO;AAHK,CAAD,CAAf;AAKA,oCAAeC,eAAf;;AAEA;AACA,sCAAmB,uBAAnB,EAA4CC,+BAA5C,EAAmEC,mCAAnE;AACAC,kDAAkB,iBAAlB,EAAqCC,yBAArC,0CAAyDC,uBAAzD;AACA,wCAAqBC,wBAArB,EAAuCC,0BAAvC;AACA,mCAAgBD,wBAAhB,EAAkC,IAAIE,qBAAJ,CAAY,KAAZ,EAAmB,KAAnB,EAA0B,IAA1B,CAAlC;;AAEA;AACA,sCAAmB,oBAAnB,EAAyCC,4BAAzC,EAA6DP,mCAA7D;AACAC,kDAAkB,cAAlB,EAAkCC,yBAAlC,0CAAsDC,uBAAtD;AACA,wCAAqBK,4BAArB,EAAyCC,8BAAzC;AACA,mCAAgBD,4BAAhB,EAAoC,IAAIF,qBAAJ,CAAY,KAAZ,EAAmB,KAAnB,EAA0B,IAA1B,CAApC","file":"index.js","sourcesContent":["import { registerRoutes, registerStores } from 'mutants-microfx';\nimport MemberStoreViewContainer from './views/MemberStoreViewContainer';\nimport store from './stores/index'\n\nimport { registerViewModel, registerDataProvider, registerController, registerAppFlow, AppFlow, appManager } from 'mutants-appfx';\nimport { memberDataProvider, memberAppMenuKey } from './dataProvider/member';\nimport MemberOrderView from './views/MemberOrderView'\nimport memberViewModels from './viewModels/memberVoucher';\nimport MemberOrderController from './controllers/MemberOrderController'\nimport MemberOrderViewController from './viewController/MemberOrderViewController.js'\nimport { openCardDataProvider, openCardAppMenuKey } from './dataProvider/openCard';\nimport OpenCardController from './controllers/OpenCardController'\n\nexport MemberTag from './member/index';\nexport ShopMember from './member/ShopMember';\nexport ShopMemberStorage from './member/ShopMemberStorage';\n\nexport { userInfoFormat, errMessageTip } from './utils';\nregisterRoutes([{\n path: '/memberstore',\n component: MemberStoreViewContainer,\n merge: false\n}])\nregisterStores(store)\n\n//会员新增\nregisterController('MemberOrderController', MemberOrderController, MemberOrderViewController);\nregisterViewModel('MemberOrderView', MemberOrderView, ...memberViewModels);\nregisterDataProvider(memberAppMenuKey, memberDataProvider);\nregisterAppFlow(memberAppMenuKey, new AppFlow(false, false, true));\n\n//会员开卡\nregisterController('OpenCardController', OpenCardController, MemberOrderViewController);\nregisterViewModel('OpenCardView', MemberOrderView, ...memberViewModels);\nregisterDataProvider(openCardAppMenuKey, openCardDataProvider);\nregisterAppFlow(openCardAppMenuKey, new AppFlow(false, false, true));"]}
1
+ {"version":3,"sources":["tplus-member/index.js"],"names":["userInfoFormat","errMessageTip","MemberTag","ShopMember","ShopMemberStorage","path","component","MemberStoreViewContainer","merge","store","MemberOrderController","MemberOrderViewController","registerViewModel","MemberOrderView","memberViewModels","memberAppMenuKey","memberDataProvider","AppFlow","OpenCardController","openCardAppMenuKey","openCardDataProvider"],"mappings":";;;;;;;;;;;;;;;;sBAiBSA,c;;;;;;sBAAgBC,a;;;;AAjBzB;;AACA;;;;AACA;;;;AAEA;;AACA;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;AACA;;;;;;;;;;;;;;;;;;QAEOC,S;QACAC,U;QACAC,iB;;AAGP,oCAAe,CAAC;AACZC,UAAM,cADM;AAEZC,eAAWC,kCAFC;AAGZC,WAAO;AAHK,CAAD,CAAf;AAKA,oCAAeC,eAAf;;AAEA;AACA,sCAAmB,uBAAnB,EAA4CC,+BAA5C,EAAmEC,mCAAnE;AACAC,kDAAkB,iBAAlB,EAAqCC,yBAArC,0CAAyDC,uBAAzD;AACA,wCAAqBC,wBAArB,EAAuCC,0BAAvC;AACA,mCAAgBD,wBAAhB,EAAkC,IAAIE,qBAAJ,CAAY,KAAZ,EAAmB,KAAnB,EAA0B,IAA1B,CAAlC;;AAEA;AACA,sCAAmB,oBAAnB,EAAyCC,4BAAzC,EAA6DP,mCAA7D;AACAC,kDAAkB,cAAlB,EAAkCC,yBAAlC,0CAAsDC,uBAAtD;AACA,wCAAqBK,4BAArB,EAAyCC,8BAAzC;AACA,mCAAgBD,4BAAhB,EAAoC,IAAIF,qBAAJ,CAAY,KAAZ,EAAmB,KAAnB,EAA0B,IAA1B,CAApC","file":"index.js","sourcesContent":["import { registerRoutes, registerStores } from 'mutants-microfx';\r\nimport MemberStoreViewContainer from './views/MemberStoreViewContainer';\r\nimport store from './stores/index'\r\n\r\nimport { registerViewModel, registerDataProvider, registerController, registerAppFlow, AppFlow, appManager } from 'mutants-appfx';\r\nimport { memberDataProvider, memberAppMenuKey } from './dataProvider/member';\r\nimport MemberOrderView from './views/MemberOrderView'\r\nimport memberViewModels from './viewModels/memberVoucher';\r\nimport MemberOrderController from './controllers/MemberOrderController'\r\nimport MemberOrderViewController from './viewController/MemberOrderViewController.js'\r\nimport { openCardDataProvider, openCardAppMenuKey } from './dataProvider/openCard';\r\nimport OpenCardController from './controllers/OpenCardController'\r\n\r\nexport MemberTag from './member/index';\r\nexport ShopMember from './member/ShopMember';\r\nexport ShopMemberStorage from './member/ShopMemberStorage';\r\n\r\nexport { userInfoFormat, errMessageTip } from './utils';\r\nregisterRoutes([{\r\n path: '/memberstore',\r\n component: MemberStoreViewContainer,\r\n merge: false\r\n}])\r\nregisterStores(store)\r\n\r\n//会员新增\r\nregisterController('MemberOrderController', MemberOrderController, MemberOrderViewController);\r\nregisterViewModel('MemberOrderView', MemberOrderView, ...memberViewModels);\r\nregisterDataProvider(memberAppMenuKey, memberDataProvider);\r\nregisterAppFlow(memberAppMenuKey, new AppFlow(false, false, true));\r\n\r\n//会员开卡\r\nregisterController('OpenCardController', OpenCardController, MemberOrderViewController);\r\nregisterViewModel('OpenCardView', MemberOrderView, ...memberViewModels);\r\nregisterDataProvider(openCardAppMenuKey, openCardDataProvider);\r\nregisterAppFlow(openCardAppMenuKey, new AppFlow(false, false, true));"]}
@@ -386,8 +386,8 @@ var MemberCardList = function (_Component) {
386
386
  }
387
387
  }]);
388
388
  return MemberCardList;
389
- }(_react.Component); /*
390
- 会员/储值卡列表
389
+ }(_react.Component); /*
390
+ 会员/储值卡列表
391
391
  */
392
392
 
393
393
 
@@ -1 +1 @@
1
- {"version":3,"sources":["tplus-member/member/MemberCardList.js"],"names":["MemberCardList","props","memberSwiper","undefined","sys_parms","defaultAvatar","window","ossAliyuncsFileURL","resetSlideTop","slideTo","getMemberCardItemRender","item","key","IsEnableUMember","precisionInfo","ID","Name","Mobilephone","CardCode","BalanceIntegral","BalanceStorage","MemberType","IsFocusUmember","UmemberLabel","ImageFile","ExpirationDate","isExpiration","isUserLogout","UmemberOpenId","getMemberStateStamp","loadUserInfo","selected","isCC","iconItems","labels","split","isSelected","length","map","getCardItemRender","StorageCardNo","IsSale","CardTypeEnum","setCardInfo","state","memberLength","cardListLength","memberList","cardList","storeKey","setStateName","listLength","listName","setState","updateSlides","initSwiper","destroy","Swiper","direction","slidesPerView","mousewheel","watchSlidesProgress","freeMode","on","progress","progressListen","scrollbar","el","hide","user","JSON","parse","localStorage","getItem","loginInfo","loadmoreLoading","nomoreData","title","noList","display","height","value","marginTop","Component"],"mappings":"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","file":"MemberCardList.js","sourcesContent":["/*\n 会员/储值卡列表\n*/\nimport React, { Component } from 'react'\nimport { formatPrecision } from '../utils';\nimport { Ticon } from 'tplus-components-touch';\nimport Swiper from 'swiper/dist/js/swiper.js';\nimport 'swiper/dist/css/swiper.min.css';\n\nexport default class MemberCardList extends Component {\n\n memberSwiper = undefined;\n\n sys_parms = {\n defaultAvatar: `${window.ossAliyuncsFileURL}/default_avatar.png`\n }\n\n constructor(props) {\n super(props)\n this.state = {\n memberLength: 0,\n cardListLength: 0\n }\n }\n componentDidUpdate () {\n const { memberList = [], cardList, storeKey} = this.props\n const { memberLength, cardListLength } = this.state\n const setStateName = storeKey === 'memberManager' ? 'memberLength' : 'cardListLength'\n const listLength = storeKey === 'memberManager' ? memberLength : cardListLength\n const listName = storeKey === 'memberManager' ? memberList : cardList\n if (listName.length !== listLength) {\n this.setState({[setStateName]: listName.length}, () => {\n if (this.memberSwiper) {\n this.memberSwiper.updateSlides();\n } else {\n this.initSwiper()\n }\n })\n }\n }\n componentWillUnmount() {\n this.memberSwiper && this.memberSwiper.destroy(false);\n this.memberSwiper = undefined;\n }\n initSwiper () {\n this.memberSwiper = new Swiper('.swiper-member-container', {\n direction: 'vertical',\n slidesPerView: 'auto',\n mousewheel: true,\n watchSlidesProgress : true,\n freeMode: true,\n on: {\n progress: this.props.progressListen\n },\n scrollbar: {\n el: '.swiper-scrollbar',\n hide: true,\n }\n });\n }\n resetSlideTop = () => {\n if (this.memberSwiper) {\n this.memberSwiper.slideTo(0, 0, false);\n }\n }\n // 渲染会员列表里面的每一项\n getMemberCardItemRender = (item = {}, key, IsEnableUMember, precisionInfo = {}) => {\n const {\n ID, Name, Mobilephone, CardCode, BalanceIntegral, BalanceStorage, MemberType = {},\n IsFocusUmember, UmemberLabel = '', ImageFile, ExpirationDate = '', isExpiration, isUserLogout, UmemberOpenId\n } = item;\n const {\n getMemberStateStamp,\n loadUserInfo,\n selected,\n isCC\n } = this.props\n const iconItems = getMemberStateStamp(item);\n const labels = UmemberLabel ? UmemberLabel.split(',') : [];\n const isSelected = selected === key;\n return (\n <div key={key + 'getMemberCardItemRender'} className={`swiper-slide member-item-slide ${isSelected ? 'slide-selected' : ''}`} onClick={() => loadUserInfo(key, ID, item)}>\n {\n iconItems && iconItems.length > 0 &&\n <div className='memberstate-stamp'>\n {iconItems}\n </div>\n }\n <div className='card-avatar'>\n <div className='avatar-box'>\n <img src={ImageFile || this.sys_parms.defaultAvatar} width={60} height={60}/>\n {IsEnableUMember && <div className={`avatar-bage ${UmemberOpenId ? 'bage-follow' : ''}`}>\n <div className='avatar-bage-scale'>{UmemberOpenId ? '已关注' : '未关注'}</div>\n </div>}\n </div>\n </div>\n <div className='member-level'>\n <span>{MemberType.Name}</span>\n </div>\n <div className='member-info-container'>\n <div className='member-infos'>\n <h1 className='member-info-name'>{Name}</h1>\n <p className='member-phone'>{Mobilephone || CardCode}</p>\n </div>\n <div className='member-money'>\n <div className='score'>\n <span>{formatPrecision(BalanceIntegral, precisionInfo.BalanceIntegral)}积分</span>\n </div>\n <div className='balance'>\n <span>{BalanceStorage ? formatPrecision(BalanceStorage, precisionInfo.BalanceStorage) : 0}余额</span>\n </div>\n </div>\n {IsEnableUMember && <div className='member-tag'>\n {labels.map((item, key) => <span key={key}>{item}</span>)}\n </div>}\n </div>\n {\n isSelected && <div className='member-selected-icon'>\n <div className='member-selected-icon-arrow'>\n <Ticon type='huiyuanxuanzhong' />\n </div>\n </div>\n }\n </div>\n );\n };\n // 渲染储值卡列表中的每一项\n getCardItemRender = (item = {}, key, IsEnableUMember) => {\n const {\n StorageCardNo,\n Name,\n BalanceStorage,\n IsSale,\n CardTypeEnum\n } = item;\n const {\n selected,\n setCardInfo\n } = this.props\n const isSelected = selected === key;\n return (\n <div key={key} className={`swiper-slide member-item-slide member-card-slide ${isSelected ? 'slide-selected' : ''}`} onClick={() => setCardInfo(key, item)}>\n {/* 卡号 开始 */}\n <div className=\"member-card-num\">{StorageCardNo}</div>\n {/* 卡号 结束 */}\n {/* 卡名称 开始 */}\n <div className=\"member-card-name\">{Name}</div>\n {/* 卡名称 结束 */}\n {/* 卡余额 开始 */}\n <div className=\"member-card-balance\">\n {\n IsSale === 'SOLD' || CardTypeEnum === 'BALANCE_CARD' ? formatPrecision(BalanceStorage, 2) : formatPrecision(0, 2)\n }\n <span>余额</span>\n </div>\n {/* 卡余额 结束 */}\n {/* 选中图标 开始 */}\n {\n isSelected && <div className='member-selected-icon'>\n <div className='member-selected-icon-arrow'>\n <Ticon type='huiyuanxuanzhong' />\n </div>\n </div>\n }\n {/* 选中图标 结束 */}\n </div>\n );\n }\n render () {\n const user = JSON.parse(localStorage.getItem('user')) || {};\n const { loginInfo: { IsEnableUMember } = {} } = user;\n const {\n memberList,\n precisionInfo,\n loadmoreLoading,\n nomoreData,\n title,\n storeKey,\n cardList = []\n } = this.props\n const noList = storeKey === 'memberManager' ? !memberList.length : !cardList.length;\n return (\n <div className='member-card-list-side' style={{ display: noList ? 'none' : 'block' }}>\n <div className=\"swiper-member-container\" style={{ height: '100%' }}>\n {\n storeKey === 'memberManager' &&\n <div className=\"swiper-wrapper\">\n {\n memberList.map((value, key) => this.getMemberCardItemRender(value, key, IsEnableUMember, precisionInfo))\n }\n {\n !memberList.length && <span className='empty-data-tip' style={{ marginTop: 30 }}>没有相关数据~</span>\n }\n {\n loadmoreLoading && <span className='empty-data-tip empty-data-tip-member-card'>数据加载中 ...</span>\n }\n {\n nomoreData && <span className='empty-data-tip empty-data-tip-member-card'>没有更多数据了~</span>\n }\n </div>\n }\n {\n storeKey === 'memberStorage' &&\n <div className=\"swiper-wrapper\">\n {\n cardList.map((value, key) => this.getCardItemRender(value, key, IsEnableUMember))\n }\n {\n !cardList.length && <span className='empty-data-tip' style={{ marginTop: 30 }}>没有相关数据~</span>\n }\n {\n loadmoreLoading && <span className='empty-data-tip empty-data-tip-member-card'>数据加载中 ...</span>\n }\n {\n nomoreData && <span className='empty-data-tip empty-data-tip-member-card'>没有更多数据了~</span>\n }\n </div>\n }\n <div className=\"swiper-scrollbar\" />\n </div>\n </div>\n )\n }\n}"]}
1
+ {"version":3,"sources":["tplus-member/member/MemberCardList.js"],"names":["MemberCardList","props","memberSwiper","undefined","sys_parms","defaultAvatar","window","ossAliyuncsFileURL","resetSlideTop","slideTo","getMemberCardItemRender","item","key","IsEnableUMember","precisionInfo","ID","Name","Mobilephone","CardCode","BalanceIntegral","BalanceStorage","MemberType","IsFocusUmember","UmemberLabel","ImageFile","ExpirationDate","isExpiration","isUserLogout","UmemberOpenId","getMemberStateStamp","loadUserInfo","selected","isCC","iconItems","labels","split","isSelected","length","map","getCardItemRender","StorageCardNo","IsSale","CardTypeEnum","setCardInfo","state","memberLength","cardListLength","memberList","cardList","storeKey","setStateName","listLength","listName","setState","updateSlides","initSwiper","destroy","Swiper","direction","slidesPerView","mousewheel","watchSlidesProgress","freeMode","on","progress","progressListen","scrollbar","el","hide","user","JSON","parse","localStorage","getItem","loginInfo","loadmoreLoading","nomoreData","title","noList","display","height","value","marginTop","Component"],"mappings":"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","file":"MemberCardList.js","sourcesContent":["/*\r\n 会员/储值卡列表\r\n*/\r\nimport React, { Component } from 'react'\r\nimport { formatPrecision } from '../utils';\r\nimport { Ticon } from 'tplus-components-touch';\r\nimport Swiper from 'swiper/dist/js/swiper.js';\r\nimport 'swiper/dist/css/swiper.min.css';\r\n\r\nexport default class MemberCardList extends Component {\r\n\r\n memberSwiper = undefined;\r\n\r\n sys_parms = {\r\n defaultAvatar: `${window.ossAliyuncsFileURL}/default_avatar.png`\r\n }\r\n\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n memberLength: 0,\r\n cardListLength: 0\r\n }\r\n }\r\n componentDidUpdate () {\r\n const { memberList = [], cardList, storeKey} = this.props\r\n const { memberLength, cardListLength } = this.state\r\n const setStateName = storeKey === 'memberManager' ? 'memberLength' : 'cardListLength'\r\n const listLength = storeKey === 'memberManager' ? memberLength : cardListLength\r\n const listName = storeKey === 'memberManager' ? memberList : cardList\r\n if (listName.length !== listLength) {\r\n this.setState({[setStateName]: listName.length}, () => {\r\n if (this.memberSwiper) {\r\n this.memberSwiper.updateSlides();\r\n } else {\r\n this.initSwiper()\r\n }\r\n })\r\n }\r\n }\r\n componentWillUnmount() {\r\n this.memberSwiper && this.memberSwiper.destroy(false);\r\n this.memberSwiper = undefined;\r\n }\r\n initSwiper () {\r\n this.memberSwiper = new Swiper('.swiper-member-container', {\r\n direction: 'vertical',\r\n slidesPerView: 'auto',\r\n mousewheel: true,\r\n watchSlidesProgress : true,\r\n freeMode: true,\r\n on: {\r\n progress: this.props.progressListen\r\n },\r\n scrollbar: {\r\n el: '.swiper-scrollbar',\r\n hide: true,\r\n }\r\n });\r\n }\r\n resetSlideTop = () => {\r\n if (this.memberSwiper) {\r\n this.memberSwiper.slideTo(0, 0, false);\r\n }\r\n }\r\n // 渲染会员列表里面的每一项\r\n getMemberCardItemRender = (item = {}, key, IsEnableUMember, precisionInfo = {}) => {\r\n const {\r\n ID, Name, Mobilephone, CardCode, BalanceIntegral, BalanceStorage, MemberType = {},\r\n IsFocusUmember, UmemberLabel = '', ImageFile, ExpirationDate = '', isExpiration, isUserLogout, UmemberOpenId\r\n } = item;\r\n const {\r\n getMemberStateStamp,\r\n loadUserInfo,\r\n selected,\r\n isCC\r\n } = this.props\r\n const iconItems = getMemberStateStamp(item);\r\n const labels = UmemberLabel ? UmemberLabel.split(',') : [];\r\n const isSelected = selected === key;\r\n return (\r\n <div key={key + 'getMemberCardItemRender'} className={`swiper-slide member-item-slide ${isSelected ? 'slide-selected' : ''}`} onClick={() => loadUserInfo(key, ID, item)}>\r\n {\r\n iconItems && iconItems.length > 0 &&\r\n <div className='memberstate-stamp'>\r\n {iconItems}\r\n </div>\r\n }\r\n <div className='card-avatar'>\r\n <div className='avatar-box'>\r\n <img src={ImageFile || this.sys_parms.defaultAvatar} width={60} height={60}/>\r\n {IsEnableUMember && <div className={`avatar-bage ${UmemberOpenId ? 'bage-follow' : ''}`}>\r\n <div className='avatar-bage-scale'>{UmemberOpenId ? '已关注' : '未关注'}</div>\r\n </div>}\r\n </div>\r\n </div>\r\n <div className='member-level'>\r\n <span>{MemberType.Name}</span>\r\n </div>\r\n <div className='member-info-container'>\r\n <div className='member-infos'>\r\n <h1 className='member-info-name'>{Name}</h1>\r\n <p className='member-phone'>{Mobilephone || CardCode}</p>\r\n </div>\r\n <div className='member-money'>\r\n <div className='score'>\r\n <span>{formatPrecision(BalanceIntegral, precisionInfo.BalanceIntegral)}积分</span>\r\n </div>\r\n <div className='balance'>\r\n <span>{BalanceStorage ? formatPrecision(BalanceStorage, precisionInfo.BalanceStorage) : 0}余额</span>\r\n </div>\r\n </div>\r\n {IsEnableUMember && <div className='member-tag'>\r\n {labels.map((item, key) => <span key={key}>{item}</span>)}\r\n </div>}\r\n </div>\r\n {\r\n isSelected && <div className='member-selected-icon'>\r\n <div className='member-selected-icon-arrow'>\r\n <Ticon type='huiyuanxuanzhong' />\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n );\r\n };\r\n // 渲染储值卡列表中的每一项\r\n getCardItemRender = (item = {}, key, IsEnableUMember) => {\r\n const {\r\n StorageCardNo,\r\n Name,\r\n BalanceStorage,\r\n IsSale,\r\n CardTypeEnum\r\n } = item;\r\n const {\r\n selected,\r\n setCardInfo\r\n } = this.props\r\n const isSelected = selected === key;\r\n return (\r\n <div key={key} className={`swiper-slide member-item-slide member-card-slide ${isSelected ? 'slide-selected' : ''}`} onClick={() => setCardInfo(key, item)}>\r\n {/* 卡号 开始 */}\r\n <div className=\"member-card-num\">{StorageCardNo}</div>\r\n {/* 卡号 结束 */}\r\n {/* 卡名称 开始 */}\r\n <div className=\"member-card-name\">{Name}</div>\r\n {/* 卡名称 结束 */}\r\n {/* 卡余额 开始 */}\r\n <div className=\"member-card-balance\">\r\n {\r\n IsSale === 'SOLD' || CardTypeEnum === 'BALANCE_CARD' ? formatPrecision(BalanceStorage, 2) : formatPrecision(0, 2)\r\n }\r\n <span>余额</span>\r\n </div>\r\n {/* 卡余额 结束 */}\r\n {/* 选中图标 开始 */}\r\n {\r\n isSelected && <div className='member-selected-icon'>\r\n <div className='member-selected-icon-arrow'>\r\n <Ticon type='huiyuanxuanzhong' />\r\n </div>\r\n </div>\r\n }\r\n {/* 选中图标 结束 */}\r\n </div>\r\n );\r\n }\r\n render () {\r\n const user = JSON.parse(localStorage.getItem('user')) || {};\r\n const { loginInfo: { IsEnableUMember } = {} } = user;\r\n const {\r\n memberList,\r\n precisionInfo,\r\n loadmoreLoading,\r\n nomoreData,\r\n title,\r\n storeKey,\r\n cardList = []\r\n } = this.props\r\n const noList = storeKey === 'memberManager' ? !memberList.length : !cardList.length;\r\n return (\r\n <div className='member-card-list-side' style={{ display: noList ? 'none' : 'block' }}>\r\n <div className=\"swiper-member-container\" style={{ height: '100%' }}>\r\n {\r\n storeKey === 'memberManager' &&\r\n <div className=\"swiper-wrapper\">\r\n {\r\n memberList.map((value, key) => this.getMemberCardItemRender(value, key, IsEnableUMember, precisionInfo))\r\n }\r\n {\r\n !memberList.length && <span className='empty-data-tip' style={{ marginTop: 30 }}>没有相关数据~</span>\r\n }\r\n {\r\n loadmoreLoading && <span className='empty-data-tip empty-data-tip-member-card'>数据加载中 ...</span>\r\n }\r\n {\r\n nomoreData && <span className='empty-data-tip empty-data-tip-member-card'>没有更多数据了~</span>\r\n }\r\n </div>\r\n }\r\n {\r\n storeKey === 'memberStorage' &&\r\n <div className=\"swiper-wrapper\">\r\n {\r\n cardList.map((value, key) => this.getCardItemRender(value, key, IsEnableUMember))\r\n }\r\n {\r\n !cardList.length && <span className='empty-data-tip' style={{ marginTop: 30 }}>没有相关数据~</span>\r\n }\r\n {\r\n loadmoreLoading && <span className='empty-data-tip empty-data-tip-member-card'>数据加载中 ...</span>\r\n }\r\n {\r\n nomoreData && <span className='empty-data-tip empty-data-tip-member-card'>没有更多数据了~</span>\r\n }\r\n </div>\r\n }\r\n <div className=\"swiper-scrollbar\" />\r\n </div>\r\n </div>\r\n )\r\n }\r\n}"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["tplus-member/member/MemberPhoto.js"],"names":["MemberPhoto","props","controllerEvent","methodName","methodArgs","context","onEvent","Action","fromJS","viewModel","init","ms","selectMemberInfo","Rid","getLastSnapImageList","then","ret","data","memberList","setState","state","memberInfo","key","id","src","MemberStore","onOk","bind","onCancel","handlePhotoClick","handleModal","item","dtMember","loading","uploadMemberImage","ID","catch","showModal","titleModal","marginRight","map","faceFrame","sex","marginLeft","age","display","length","v","i","padding","Component","contextTypes","PropTypes","func","object"],"mappings":"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","file":"MemberPhoto.js","sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { Ticon } from 'tplus-components-touch';\nimport { Button, Modal } from 'antd';\nimport { Action } from 'mutants-appfx';\nimport './index.less';\nimport MemberStore from './api';\n\nexport default class MemberPhoto extends Component {\n\n constructor(props) {\n super(props);\n\n this.state = {\n memberInfo: {\n key: -1,\n id: -1,\n src: ''\n },\n memberList: []\n }\n this.ms = MemberStore;\n this.onOk = this.onOk.bind(this);\n this.onCancel = this.onCancel.bind(this);\n this.handlePhotoClick = this.handlePhotoClick.bind(this);\n }\n static contextTypes = {\n onEvent:PropTypes.func,\n viewModel: PropTypes.object,\n }\n\n controllerEvent = (methodName, methodArgs) => {\n this.context.onEvent({ 'controllerEvent': Action.fromJS(this.context.viewModel, methodName) }, 'controllerEvent', methodArgs);\n }\n\n onCancel() {\n this.props.handleModal(false, null)\n this.controllerEvent('setInventoryFocus')\n }\n onOk() {\n const {onOk}=this.props;\n const item = this.state.memberInfo;\n\n if(onOk){\n onOk(item.src);\n return;\n }\n\n const { dtMember, handleModal } = this.props;\n if (item.src) {\n if (!this.ms) return;\n this.setState({loading: true});\n this.ms.uploadMemberImage(dtMember.ID, item.src).then(ret => {\n handleModal(false, item.src);\n }).catch(err => this.setState({loading: false}))\n } else {\n handleModal(false, null)\n }\n }\n\n handlePhotoClick(key, id, src) {\n this.setState({\n memberInfo: { key: key, id: id, src: src }\n })\n }\n\n init = () => {\n if (!this.ms) return;\n const {Rid} = this.ms.selectMemberInfo || {};\n this.ms.getLastSnapImageList(Rid).then((ret = {}) => {\n const {data: memberList} = ret.data || {};\n this.setState({ memberList })\n })\n }\n componentDidMount() {\n this.init();\n }\n render() {\n const { dtMember, showModal, titleModal } = this.props;\n const { memberInfo, memberList = [], loading = false } = this.state;\n return (\n <Modal\n width={800}\n visible={showModal}\n onCancel={this.onCancel}\n maskClosable={false}\n wrapClassName='MemberPhotoContainer member-modal-animation'\n title={titleModal}\n footer={<div className='footer'>\n <Button onClick={this.onCancel} style={{ marginRight: 8 }}>取消</Button>\n <Button loading={loading} onClick={this.onOk} type=\"primary\">选取</Button>\n </div>}\n >\n <div className='body'>\n {\n memberList.map((item, key) => {\n return (\n <div key={key} className='memberPhoto'>\n <div className='img' onClick={() => this.handlePhotoClick(key, dtMember&&dtMember.ID||'', item.faceFrame)}>\n <img src={item.faceFrame} />\n </div>\n <div className='tag'>\n <span>{item.sex}</span>\n <span style={{ marginLeft: '5px' }}>{item.age}岁</span>\n </div>\n <div className='select' style={{ display: memberInfo.key === key ? '' : 'none' }}>\n <Ticon type=\"huiyuanxuanzhong\"></Ticon>\n </div>\n </div>\n )\n })\n }\n {Array.from({length: 10}).map((v, i) => <div key={i} className='memberPhoto' style={{padding: 0}} />)}\n </div>\n </Modal>);\n }\n}\n"]}
1
+ {"version":3,"sources":["tplus-member/member/MemberPhoto.js"],"names":["MemberPhoto","props","controllerEvent","methodName","methodArgs","context","onEvent","Action","fromJS","viewModel","init","ms","selectMemberInfo","Rid","getLastSnapImageList","then","ret","data","memberList","setState","state","memberInfo","key","id","src","MemberStore","onOk","bind","onCancel","handlePhotoClick","handleModal","item","dtMember","loading","uploadMemberImage","ID","catch","showModal","titleModal","marginRight","map","faceFrame","sex","marginLeft","age","display","length","v","i","padding","Component","contextTypes","PropTypes","func","object"],"mappings":"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","file":"MemberPhoto.js","sourcesContent":["import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Ticon } from 'tplus-components-touch';\r\nimport { Button, Modal } from 'antd';\r\nimport { Action } from 'mutants-appfx';\r\nimport './index.less';\r\nimport MemberStore from './api';\r\n\r\nexport default class MemberPhoto extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n memberInfo: {\r\n key: -1,\r\n id: -1,\r\n src: ''\r\n },\r\n memberList: []\r\n }\r\n this.ms = MemberStore;\r\n this.onOk = this.onOk.bind(this);\r\n this.onCancel = this.onCancel.bind(this);\r\n this.handlePhotoClick = this.handlePhotoClick.bind(this);\r\n }\r\n static contextTypes = {\r\n onEvent:PropTypes.func,\r\n viewModel: PropTypes.object,\r\n }\r\n\r\n controllerEvent = (methodName, methodArgs) => {\r\n this.context.onEvent({ 'controllerEvent': Action.fromJS(this.context.viewModel, methodName) }, 'controllerEvent', methodArgs);\r\n }\r\n\r\n onCancel() {\r\n this.props.handleModal(false, null)\r\n this.controllerEvent('setInventoryFocus')\r\n }\r\n onOk() {\r\n const {onOk}=this.props;\r\n const item = this.state.memberInfo;\r\n\r\n if(onOk){\r\n onOk(item.src);\r\n return;\r\n }\r\n\r\n const { dtMember, handleModal } = this.props;\r\n if (item.src) {\r\n if (!this.ms) return;\r\n this.setState({loading: true});\r\n this.ms.uploadMemberImage(dtMember.ID, item.src).then(ret => {\r\n handleModal(false, item.src);\r\n }).catch(err => this.setState({loading: false}))\r\n } else {\r\n handleModal(false, null)\r\n }\r\n }\r\n\r\n handlePhotoClick(key, id, src) {\r\n this.setState({\r\n memberInfo: { key: key, id: id, src: src }\r\n })\r\n }\r\n\r\n init = () => {\r\n if (!this.ms) return;\r\n const {Rid} = this.ms.selectMemberInfo || {};\r\n this.ms.getLastSnapImageList(Rid).then((ret = {}) => {\r\n const {data: memberList} = ret.data || {};\r\n this.setState({ memberList })\r\n })\r\n }\r\n componentDidMount() {\r\n this.init();\r\n }\r\n render() {\r\n const { dtMember, showModal, titleModal } = this.props;\r\n const { memberInfo, memberList = [], loading = false } = this.state;\r\n return (\r\n <Modal\r\n width={800}\r\n visible={showModal}\r\n onCancel={this.onCancel}\r\n maskClosable={false}\r\n wrapClassName='MemberPhotoContainer member-modal-animation'\r\n title={titleModal}\r\n footer={<div className='footer'>\r\n <Button onClick={this.onCancel} style={{ marginRight: 8 }}>取消</Button>\r\n <Button loading={loading} onClick={this.onOk} type=\"primary\">选取</Button>\r\n </div>}\r\n >\r\n <div className='body'>\r\n {\r\n memberList.map((item, key) => {\r\n return (\r\n <div key={key} className='memberPhoto'>\r\n <div className='img' onClick={() => this.handlePhotoClick(key, dtMember&&dtMember.ID||'', item.faceFrame)}>\r\n <img src={item.faceFrame} />\r\n </div>\r\n <div className='tag'>\r\n <span>{item.sex}</span>\r\n <span style={{ marginLeft: '5px' }}>{item.age}岁</span>\r\n </div>\r\n <div className='select' style={{ display: memberInfo.key === key ? '' : 'none' }}>\r\n <Ticon type=\"huiyuanxuanzhong\"></Ticon>\r\n </div>\r\n </div>\r\n )\r\n })\r\n }\r\n {Array.from({length: 10}).map((v, i) => <div key={i} className='memberPhoto' style={{padding: 0}} />)}\r\n </div>\r\n </Modal>);\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["tplus-member/member/MemberShow.js"],"names":["MemberModal","observer","props","selectedInfo","selectChange","value","modalOnEnter","parentModal","document","querySelector","parentElement","classList","add","controllerEvent","methodName","methodArgs","context","onEvent","Action","fromJS","viewModel","state","select","onOk","bind","onCancel","MemberStore","memberStore","handleModal","status","showModal","titleModal","viewMemberInfo","columnInfo","mode","authProcess","selectMemberSuccess","storeKey","height","padding","obj","memberInfo","Component","contextTypes","PropTypes","func","object","stores"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;AAEA;;AACA;;AACA;;AACA;;;;AACA;;;;AACA;;;;IAGqBA,W,OADpBC,mB;;;AAKG,yBAAYC,KAAZ,EAAmB;AAAA;;AAAA,oJACTA,KADS;;AAAA,cAFnBC,YAEmB,GAFJ,EAEI;;AAAA,cAsBnBC,YAtBmB,GAsBJ,UAACC,KAAD,EAAW;AACtB,kBAAKF,YAAL,GAAoBE,KAApB;AACH,SAxBkB;;AAAA,cA0BnBC,YA1BmB,GA0BJ,UAACD,KAAD,EAAW;AACxB,gBAAME,cAAc,CAACC,SAASC,aAAT,CAAuB,sBAAvB,KAAkD,EAAnD,EAAuDC,aAA3E;AACAH,2BAAeA,YAAYI,SAAZ,CAAsBC,GAAtB,CAA0B,sBAA1B,CAAf;AACD,SA7BkB;;AAAA,cA+BnBC,eA/BmB,GA+BD,UAACC,UAAD,EAAaC,UAAb,EAA4B;AAC1C,kBAAKC,OAAL,CAAaC,OAAb,CAAqB,EAAE,mBAAmBC,qBAAOC,MAAP,CAAc,MAAKH,OAAL,CAAaI,SAA3B,EAAsCN,UAAtC,CAArB,EAArB,EAA+F,iBAA/F,EAAkHC,UAAlH;AACH,SAjCkB;;AAEf,cAAKM,KAAL,GAAa;AACTC,oBAAQ,CAAC;AADA,SAAb;AAGA,cAAKC,IAAL,GAAY,MAAKA,IAAL,CAAUC,IAAV,OAAZ;AACA,cAAKC,QAAL,GAAgB,MAAKA,QAAL,CAAcD,IAAd,OAAhB;AACA,cAAKE,WAAL,GAAmBC,aAAnB;AAPe;AAQlB;;;;mCAMU;AACP,iBAAKzB,KAAL,CAAW0B,WAAX,CAAuB,KAAvB;AACA,iBAAKf,eAAL,CAAqB,mBAArB;AACH;;;+BACM;AACL,iBAAKX,KAAL,CAAW0B,WAAX,CAAuB,KAAvB;AACD;;;iCAeQ;AAAA;;AAAA,yBAC4H,KAAK1B,KADjI;AAAA,gBACG2B,MADH,UACGA,MADH;AAAA,gBACWC,SADX,UACWA,SADX;AAAA,gBACsBC,UADtB,UACsBA,UADtB;AAAA,gBACkCC,cADlC,UACkCA,cADlC;AAAA,gBACkDC,UADlD,UACkDA,UADlD;AAAA,qCAC8DC,IAD9D;AAAA,gBAC8DA,IAD9D,+BACoE,QADpE;AAAA,gBAC6EC,WAD7E,UAC6EA,WAD7E;AAAA,gBAC0FC,mBAD1F,UAC0FA,mBAD1F;AAAA,gBAC+GC,QAD/G,UAC+GA,QAD/G;;AAEL,mBACI;AAAA;AAAA;AACI,2BAAO,GADX;AAEI,6BAASP,SAFb;AAGI,8BAAU,KAAKL,QAHnB;AAII,kCAAc,KAJlB;AAKI,+BAAU,4CALd;AAMI,mCAAc,sBANlB;AAOI,gCAAY,KAAKnB,YAPrB;AAQI,kCARJ;AASI,8BAAU,IATd;AAUI,2BAAOyB,UAVX;AAWI,4BAAQ,IAXZ;AAYI,oCAAgB;AAZpB;AAcI;AAAA;AAAA,sBAAK,WAAU,uBAAf,EAAuC,OAAO,EAACO,QAAQ,GAAT,EAAcC,SAAS,CAAvB,EAA9C;AACI,kDAAC,oBAAD;AACE,8BAAML,IADR;AAEE,qCAAaC,WAFf;AAGE,0CAAiB,GAHnB;AAIE,6BAAK,aAACK,GAAD,EAAS;AAAE,mCAAKA,GAAL,GAAWA,GAAX;AAAgB,yBAJlC;AAKE,gCAAQX,MALV;AAME,kCAAUQ,QANZ;AAOE,mCAAWP,SAPb;AAQE,oCAAYC,UARd;AASE,sCAAc,KAAK3B,YATrB;AAUE,wCAAgB4B,cAVlB;AAWE,oCAAYC,UAXd;AAYE,kCAAU,KAAKR,QAZjB;AAaE,8BAAM,KAAKF,IAbb;AAcE,6CAAqBa,mBAdvB;AAeE,sCAAc,sBAACK,UAAD,EAAgB;AAAE,mCAAK5B,eAAL,CAAqB,cAArB,EAAqC4B,UAArC;AAAkD;AAfpF;AADJ;AAdJ,aADJ;AAoCH;;;EA7EoCC,gB,WAa9BC,Y,GAAe;AAClB1B,aAAQ2B,qBAAUC,IADA;AAElBzB,eAAWwB,qBAAUE,MAFH;AAGlBC,YAAOH,qBAAUE;AAHC,C;;kBAbL9C,W","file":"MemberShow.js","sourcesContent":["import React, { Component } from 'react';\nimport { Modal } from 'antd';\nimport { Action } from 'mutants-appfx'\nimport {PropTypes} from 'prop-types'\nimport { observer } from 'mobx-react';\nimport ShopMember from './ShopMember';\nimport memberStore from './api';\nimport './index.less';\n\n@observer\nexport default class MemberModal extends Component {\n\n selectedInfo = {};\n\n constructor(props) {\n super(props);\n this.state = {\n select: -1\n }\n this.onOk = this.onOk.bind(this);\n this.onCancel = this.onCancel.bind(this);\n this.MemberStore = memberStore;\n }\n static contextTypes = {\n onEvent:PropTypes.func,\n viewModel: PropTypes.object,\n stores:PropTypes.object\n }\n onCancel() {\n this.props.handleModal(false)\n this.controllerEvent('setInventoryFocus')\n }\n onOk() {\n this.props.handleModal(false);\n }\n\n selectChange = (value) => {\n this.selectedInfo = value;\n }\n\n modalOnEnter = (value) => {\n const parentModal = (document.querySelector('.MemberShowContainer') || {}).parentElement;\n parentModal && parentModal.classList.add('member-modal-wrapper');\n }\n\n controllerEvent = (methodName, methodArgs) => {\n this.context.onEvent({ 'controllerEvent': Action.fromJS(this.context.viewModel, methodName) }, 'controllerEvent', methodArgs);\n }\n\n render() {\n const { status, showModal, titleModal, viewMemberInfo, columnInfo, mode ='formal',authProcess, selectMemberSuccess, storeKey } = this.props;\n return (\n <Modal\n width={935}\n visible={showModal}\n onCancel={this.onCancel}\n maskClosable={false}\n className='MemberShowContainer member-modal-animation'\n wrapClassName=\"member-modal-wrapper\"\n onEntering={this.modalOnEnter}\n closable\n centered={true}\n title={titleModal}\n footer={null}\n destroyOnClose={true}\n >\n <div className='body member-show-body' style={{height: 500, padding: 0}}>\n <ShopMember\n mode={mode}\n authProcess={authProcess}\n defaultActiveKey='2'\n ref={(obj) => { this.obj = obj }}\n status={status}\n storeKey={storeKey}\n showModal={showModal}\n titleModal={titleModal}\n selectChange={this.selectChange}\n viewMemberInfo={viewMemberInfo}\n columnInfo={columnInfo}\n onCancel={this.onCancel}\n onOk={this.onOk}\n selectMemberSuccess={selectMemberSuccess}\n memberChange={(memberInfo) => { this.controllerEvent('changeMember', memberInfo) }}\n />\n </div>\n </Modal>\n );\n }\n}\n"]}
1
+ {"version":3,"sources":["tplus-member/member/MemberShow.js"],"names":["MemberModal","observer","props","selectedInfo","selectChange","value","modalOnEnter","parentModal","document","querySelector","parentElement","classList","add","controllerEvent","methodName","methodArgs","context","onEvent","Action","fromJS","viewModel","state","select","onOk","bind","onCancel","MemberStore","memberStore","handleModal","status","showModal","titleModal","viewMemberInfo","columnInfo","mode","authProcess","selectMemberSuccess","storeKey","height","padding","obj","memberInfo","Component","contextTypes","PropTypes","func","object","stores"],"mappings":"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","file":"MemberShow.js","sourcesContent":["import React, { Component } from 'react';\r\nimport { Modal } from 'antd';\r\nimport { Action } from 'mutants-appfx'\r\nimport {PropTypes} from 'prop-types'\r\nimport { observer } from 'mobx-react';\r\nimport ShopMember from './ShopMember';\r\nimport memberStore from './api';\r\nimport './index.less';\r\n\r\n@observer\r\nexport default class MemberModal extends Component {\r\n\r\n selectedInfo = {};\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n select: -1\r\n }\r\n this.onOk = this.onOk.bind(this);\r\n this.onCancel = this.onCancel.bind(this);\r\n this.MemberStore = memberStore;\r\n }\r\n static contextTypes = {\r\n onEvent:PropTypes.func,\r\n viewModel: PropTypes.object,\r\n stores:PropTypes.object\r\n }\r\n onCancel() {\r\n this.props.handleModal(false)\r\n this.controllerEvent('setInventoryFocus')\r\n }\r\n onOk() {\r\n this.props.handleModal(false);\r\n }\r\n\r\n selectChange = (value) => {\r\n this.selectedInfo = value;\r\n }\r\n\r\n modalOnEnter = (value) => {\r\n const parentModal = (document.querySelector('.MemberShowContainer') || {}).parentElement;\r\n parentModal && parentModal.classList.add('member-modal-wrapper');\r\n }\r\n\r\n controllerEvent = (methodName, methodArgs) => {\r\n this.context.onEvent({ 'controllerEvent': Action.fromJS(this.context.viewModel, methodName) }, 'controllerEvent', methodArgs);\r\n }\r\n\r\n render() {\r\n const { status, showModal, titleModal, viewMemberInfo, columnInfo, mode ='formal',authProcess, selectMemberSuccess, storeKey } = this.props;\r\n return (\r\n <Modal\r\n width={935}\r\n visible={showModal}\r\n onCancel={this.onCancel}\r\n maskClosable={false}\r\n className='MemberShowContainer member-modal-animation'\r\n wrapClassName=\"member-modal-wrapper\"\r\n onEntering={this.modalOnEnter}\r\n closable\r\n centered={true}\r\n title={titleModal}\r\n footer={null}\r\n destroyOnClose={true}\r\n >\r\n <div className='body member-show-body' style={{height: 500, padding: 0}}>\r\n <ShopMember\r\n mode={mode}\r\n authProcess={authProcess}\r\n defaultActiveKey='2'\r\n ref={(obj) => { this.obj = obj }}\r\n status={status}\r\n storeKey={storeKey}\r\n showModal={showModal}\r\n titleModal={titleModal}\r\n selectChange={this.selectChange}\r\n viewMemberInfo={viewMemberInfo}\r\n columnInfo={columnInfo}\r\n onCancel={this.onCancel}\r\n onOk={this.onOk}\r\n selectMemberSuccess={selectMemberSuccess}\r\n memberChange={(memberInfo) => { this.controllerEvent('changeMember', memberInfo) }}\r\n />\r\n </div>\r\n </Modal>\r\n );\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["tplus-member/member/ShopMember.js"],"names":["ShopMember","props","currentPage","cacheUserRetail","hotKeyListener","nodeName","index","progressListen","className","indexOf","isHotKeyAction","activeElement","document","blur","observerCard","setTimeout","slideSelected","querySelector","prevSlideSelected","swiperSelectObserver","unobserve","observe","progress","selected","state","memberList","viewMemberInfo","loadmoreLoading","nomoreData","searchValue","loadUserList","windowOnresize","memberTab","window","removeEventListener","memberTabHeight","clientHeight","tabMenuHeight","setState","isNotSetState","Idmember","willUnmount","currentMemberId","loadUserInfo","key","item","type","syncUpdateMember","selectChange","memberChange","tabIndex","Loading","hide","recommend","userSearch","memberTabChange","member","loadingUser","loadingBtn","ms","getGetUmemberDTO","then","ret","BalanceIntegral","BalanceStorage","UmemberLabel","MemberCouponTitle","Mobilephone","DynamicPropertyKeys","DynamicPropertyValues","mergeKeys","setMemberKey","currentMemberOfList","find","value","ID","forEach","v","arr","map","push","initEmpty","errorMsg","stores","selectMemberStore","setCurMemberInfo","resetLastRetail","findMemberLastRetailDetailList","context","viewModel","data","Member","seletMember","getCardInfoByMemberId","catch","loadUserRetail","titleModal","includes","show","target","node","delay","getMemberRetailDetail","Like","Record","Recency","RecommendList","memberInfo","record","like","recency","pageSize","isSingleMember","searchId","searchStatus","status","listArr","inputValue","keyboardOnClose","slice","loadUserListSuccess","length","getSearchMember","dataLoaded","ColumnInfo","Data","columnInfo","precisionInfo","usersLoadSuccess","JSON","parse","filter","Precision","FieldName","setPrecisionInfo","handleSearchClick","storeKey","undefined","handleSearchChange","val","memberCardList","resetSlideTop","getMemberStateStamp","isExpiration","isUserLogout","isUserLoss","isUserNotUsing","controllerEvent","methodName","methodArgs","onEvent","Action","fromJS","fn","result","resolve","handleOk","noList","onCancel","retailDetails","getRetails","isArrowPriceChange","MemberState","Id","Name","Message","warn","IdbusiType","items","viewVoucher","isTakeTheir","getIsTakeTheir","memberStore","el","name","uiState","tip","info","_this","ModalWraper","confirm","title","content","onOk","handleChangeMember","selectMemberSuccess","getMemberBirthday","changeMemberCare","keyboardOnOk","searchRef","onKeyPressed","e","keyCode","enterKey","currentUserRetail","MemberMenuChange","dto","onClear","input","focus","changeIsAllAuthority","isAllAuthority","pageNo","lastRetailPageNo","lastRetailList","params","memberId","lastRetailLoading","findMemberLastRetailDetail","recencyBeanList","totalCount","lastRetailTotal","mode","isCC","defaultActiveKey","cardInfo","addEventListener","Code","$","on","off","RetailDetails","isUserAndroidKey","android_setKeyBoard","user","localStorage","getItem","loginInfo","IsEnableUMember","cardList","showModal","authProcess","showSearch","showSelectBtn","voucherStateType","enumController","getEnumOj","memberEnumState","hotKey","hotKeyNotFilter","ref","focusInputName","inputTarget","Keyboard","open","getNewValue","close","hotKeyBindClass","list","display","getCardList","marginRight","Component","defaultProps","contextTypes","PropTypes","object","array","func"],"mappings":"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","file":"ShopMember.js","sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { Button } from 'antd';\nimport { ModalWraper, Input, Loading, Message, Ticon, Keyboard, Spin, hotKey } from 'tplus-components-touch';\nimport { stores } from 'mutants-microfx';\nimport { enumController, platform } from 'mutants-util';\nimport memberStore from './api';\nimport MemberTab from './memberTab/index.js';\nimport './ShopMember.less';\nimport { formatPrecision, userInfoFormat, errMessageTip } from '../utils';\nimport MemberMenu from './memberMenu/index.js'\nimport MemberCardList from './MemberCardList'\nimport { Action } from 'mutants-appfx'\nimport { toJS } from 'mobx';\n// let swiperSelectObserver;\n\nexport default class ShopMember extends Component {\n static defaultProps = {\n onCancel: () => {},\n onOk: () => {},\n };\n\n static contextTypes = {\n viewModel: PropTypes.object,\n columnInfo: PropTypes.array,\n onEvent: PropTypes.func\n };\n constructor(props) {\n super(props);\n const { mode } = this.props;\n this.state = {\n searchValue: '',\n memberList: [],\n memberInfo: {\n record: [],\n like: [],\n recency: [],\n },\n searchStatus: !!this.props.listArr ? true : false,\n isCC: true,\n tabIndex: this.props.defaultActiveKey,\n isAllAuthority: false,\n tabMenuHeight: mode !== 'practice' ? 64 : 0, // 64为table上部操作菜单高度\n cardInfo: [], // 会员的卡信息\n\t lastRetailList: [], // 最近购买列表\n lastRetailTotal: 0, // 最近购买的总数量\n lastRetailPageNo: 0, // 最近购买的当前页,默认0开始\n lastRetailLoading: false, // 是否正在加载购买记录\n };\n this.ms = memberStore;\n }\n\n currentPage = 1;\n cacheUserRetail = {};\n\n componentDidMount() {\n // swiperSelectObserver = new IntersectionObserver(entries => {\n // const { boundingClientRect: { height, bottom, top } = {}, intersectionRatio } = entries[0];\n // if (intersectionRatio !== 1 && this.isHotKeyAction) {\n // this.isHotKeyAction = false;\n\n // bottom > height && memberSwiper.slideNext();\n // // 解决向上滑动时top < 10 时距离问题\n // if (top < -10) {\n // top < height && memberSwiper.slidePrev() && memberSwiper.slidePrev()\n // } else {\n // top < height && memberSwiper.slidePrev()\n // }\n // }\n // });\n\n window.addEventListener('resize', this.windowOnresize);\n const { viewMemberInfo, status, columnInfo, storeKey } = this.props;\n if (viewMemberInfo) {\n if (status) {\n return this.loadUserListSuccess(viewMemberInfo);\n } else if (status === 0) { // status 0 为 查看会员详情\n columnInfo && this.precisionInfo(columnInfo); // 查看录入的会员查看详情时父级传递了 columnInfo props\n return this.usersLoadSuccess([viewMemberInfo], 'search');\n }\n const { Code } = viewMemberInfo;\n return this.loadUserList('init', undefined, undefined, true, Code);\n };\n this.loadUserList('init');\n $.on(this.hotKeyListener);\n\n this.ms.searchValue = '';//初始化完成筛选列表清空数据(会员新增成功——封涛)\n }\n\n componentDidUpdate() {\n const {memberList = [], memberTabHeight, tabMenuHeight} = this.state;\n const clientHeight = this.memberTab.clientHeight - tabMenuHeight;\n if (clientHeight !== memberTabHeight) {\n this.setState({memberTabHeight: clientHeight});\n }\n }\n\n componentWillUnmount() {\n\n // memberSwiper && memberSwiper.destroy(false);\n // memberSwiper = undefined;\n this.willUnmount = true;\n\n window.removeEventListener('resize', this.windowOnresize);\n // swiperSelectObserver.disconnect();\n $.off(this.hotKeyListener);\n }\n\n hotKeyListener = (nodeName, index) => {\n this.progressListen()\n if (nodeName && ~nodeName.className.indexOf('slide-selected')) {\n this.isHotKeyAction = true;\n const activeElement = document.activeElement;\n activeElement && activeElement.blur();\n }\n }\n\n observerCard = () => {\n setTimeout(() => {\n const slideSelected = document.querySelector('.slide-selected');\n this.prevSlideSelected && swiperSelectObserver.unobserve(this.prevSlideSelected);\n this.prevSlideSelected = slideSelected;\n slideSelected && swiperSelectObserver.observe(slideSelected);\n })\n }\n\n progressListen = (progress) => {\n const {selected} = this.state;\n\n const {memberList = []} = this.state;\n const {viewMemberInfo} = this.props;\n if (viewMemberInfo) return;\n const {loadmoreLoading, nomoreData, searchValue = ''} = this.state;\n // let newselect = (selected + 5) % 10\n if ((selected + 1) % 10 === 0 && !loadmoreLoading && !nomoreData) {\n this.currentPage += 1;\n this.loadUserList('loadmore', this.currentPage);\n }\n if (progress >= 1 && !loadmoreLoading && !nomoreData) {\n this.currentPage += 1;\n this.loadUserList('loadmore', this.currentPage);\n }\n }\n\n windowOnresize = () => {\n if (!this.memberTab) {\n return window.removeEventListener('resize', this.windowOnresize);\n };\n const {memberTabHeight} = this.state;\n const clientHeight = this.memberTab.clientHeight - this.state.tabMenuHeight;\n if (memberTabHeight !== clientHeight) {\n this.setState({memberTabHeight: clientHeight});\n }\n }\n\n isNotSetState = (Idmember) => {\n if (this.willUnmount || Idmember !== this.currentMemberId) return true;\n }\n\n loadUserInfo = (key, Idmember, item, type, syncUpdateMember) => {\n // this.observerCard();\n\n const { selectChange, viewMemberInfo, memberChange } = this.props;\n const { selected, tabIndex = '1' } = this.state;\n if (key === selected && type !== true && type!=='opencard') return;\n Loading.hide();\n if (this.currentMemberId && !(this.cacheUserRetail[this.currentMemberId] || {}).recommend) {\n delete this.cacheUserRetail[this.currentMemberId];\n }\n this.currentMemberId = Idmember;\n\n if (this.userSearch || viewMemberInfo) {\n this.userSearch = false;\n this.setState({selected: key});\n }\n\n const {memberList = []} = this.state;\n\n this.memberTabChange(tabIndex);\n\n this.setState({ selected: key, member: memberList[key] || {}, loadingUser: true, loadingBtn: true });\n this.ms.getGetUmemberDTO(Idmember)\n .then(ret => {\n if (this.isNotSetState(Idmember)) return;\n const {BalanceIntegral, BalanceStorage, UmemberLabel, MemberCouponTitle, Mobilephone,\n DynamicPropertyKeys = [], DynamicPropertyValues = []} = ret || {};\n const mergeKeys = {BalanceIntegral, BalanceStorage, UmemberLabel, MemberCouponTitle, Mobilephone, DynamicPropertyKeys, DynamicPropertyValues};\n //const memberInfo = {...(memberList[key] || {}), ...mergeKeys};\n if (viewMemberInfo) {\n // 用接口中的 BalanceStorage MemberCouponTitle覆盖列表中的数据, 监听对象 使用action 设置值\n this.ms.setMemberKey(mergeKeys);\n } else {\n //设置会员列表中该会员的BalanceStorage值\n const currentMemberOfList = memberList.find(value => value.ID === Idmember) || {};\n Object.keys(mergeKeys).forEach(v => currentMemberOfList[v] = mergeKeys[v]);\n }\n userInfoFormat(ret)\n let arr = [];\n memberList.map(item => {\n if (item.ID === ret.ID) {\n arr.push(ret)\n } else {\n arr.push(item)\n }\n })\n this.setState({\n member: ret,\n initEmpty: true,\n memberList: arr,\n errorMsg: '',\n loadingUser: false,\n loadingBtn: false\n })\n stores.selectMemberStore.setCurMemberInfo(ret);\n selectChange && selectChange(item);\n // 获取购买记录\n this.resetLastRetail(0)\n this.findMemberLastRetailDetailList(3)\n // 更新当前选定的会员信息\n if (syncUpdateMember) {\n const { data: { Member: { ID } = {} } = {} } = this.context.viewModel || {};\n if (ID == ret.ID) {\n stores.selectMemberStore.seletMember(ret);\n memberChange && memberChange(ret)\n }\n }\n // 获取会员的卡信息\n this.getCardInfoByMemberId(Idmember)\n }).catch(err => {\n selectChange && selectChange({});\n if (this.isNotSetState(Idmember)) return;\n this.setState({\n member: memberList[key] || {},\n initEmpty: true,\n errorMsg: '会员信息获取失败,请重试',\n memberList,\n loadingBtn:false\n });\n });\n }\n\n loadUserRetail = (Idmember) => {\n const {tabIndex = '1'} = this.state;\n const {titleModal} = this.props;\n\n if (tabIndex !== '1' && ['会员详情', '到店会员', '人脸识别'].includes(titleModal)) {\n Loading.show({\n target: '.member-content-tab',\n node: <Spin scale={1.2} type='shape' visible/>,\n delay: false\n });\n }\n const {currentMemberId} = this.state;\n this.cacheUserRetail[Idmember] = {};\n this.ms.getMemberRetailDetail(Idmember)\n .then(ret => {\n Loading.hide();\n if (this.isNotSetState(Idmember)) return;\n const {Like, Record, Recency, RecommendList = []} = ret || {};\n const recommend = RecommendList;\n const memberInfo = {record: Record, like: Like, recency: Recency};\n\n this.setState({recommend, memberInfo});\n this.cacheUserRetail[Idmember] = {recommend, memberInfo};\n\n })\n .catch(err => {\n delete this.cacheUserRetail[Idmember];\n if (this.isNotSetState(Idmember)) return;\n this.setState({\n recommend: [],\n memberInfo: {},\n });\n Loading.hide();\n });\n }\n\n loadUserList = (type, currentPage = 1, pageSize = 10, isSingleMember = false, searchId) => {\n const { searchValue, searchStatus } = this.state;\n const { status, listArr } = this.props;\n if (!this.ms) return;\n if (type === 'init') {\n let inputValue = this.ms && this.ms.searchValue;\n if (inputValue) {\n this.setState({ searchValue: inputValue })\n setTimeout(() => { this.keyboardOnClose() }, 310)\n }\n }\n if (type === 'loadmore') {\n this.setState({ loadmoreLoading: true });\n } else {\n Loading.show({ target: '.memberShopContainer' });\n }\n if (type === 'opencard') {\n currentPage = this.currentPage;\n }\n if (searchStatus) {\n let arr = listArr.slice(0);\n this.setState({\n searchStatus: false,\n memberList: arr\n }, () => {\n const { memberList } = this.state;\n this.loadUserListSuccess(memberList, 's', memberList.length);\n Loading.hide();\n })\n return;\n }\n this.ms.getSearchMember({\n currentPage,\n pageSize,\n key: this.ms.searchValue || searchValue || searchId,\n isSingleMember: this.ms.searchValue ? true : isSingleMember\n })\n .then(ret => {\n this.loadUserListSuccess(ret, type, pageSize);\n Loading.hide();\n })\n .catch(err => Loading.hide());\n }\n\n loadUserListSuccess = (ret, type, pageSize) => {\n this.dataLoaded = true;\n const { ColumnInfo, Data } = ret || {};\n this.setState({ columnInfo: ColumnInfo});\n this.precisionInfo(ColumnInfo);\n this.usersLoadSuccess(type === 's' ? ret : JSON.parse(Data), type, pageSize);\n }\n\n precisionInfo = (columnInfo) => {\n const precisionInfo = {};\n if (columnInfo && columnInfo.length > 0) {\n columnInfo = columnInfo.filter(v => !!v.Precision) || [];\n columnInfo.length > 0 &&\n columnInfo.forEach(item => {\n const { Precision, FieldName } = item;\n if (Precision) precisionInfo[FieldName] = Precision;\n })\n }\n this.ms.setPrecisionInfo(precisionInfo);\n }\n\n // 获取会员的卡信息\n async getCardInfoByMemberId (memberId) {\n const cardInfo = await this.ms.getCardInfoByMemberId(memberId) || {}\n const { data = [] } = cardInfo\n this.setState({\n cardInfo: data\n })\n }\n\n handleSearchClick = () => {\n const { searchValue } = this.state;\n const { storeKey } = this.props\n this.userSearch = true;\n this.currentPage = 1;\n this.setState({ nomoreData: false, selected: undefined });\n this.loadUserList('search', this.currentPage);\n }\n\n handleSearchChange = (val) => {\n this.setState({searchValue: val});\n }\n\n\n usersLoadSuccess = (data = [], type, pageSize = 10) => {\n const {status} = this.props;\n const { selected } = this.state;\n if (this.willUnmount) return;\n if (data.length) {\n data.forEach(v => userInfoFormat(v));\n\n if (type === 'loadmore') {\n const {memberList = []} = this.state;\n memberList.push(...data);\n return this.setState({nomoreData: data.length < pageSize, loadmoreLoading: false, memberList});\n }\n this.setState({memberList: data}, () => {\n if (type === 'search') {\n this.memberCardList.resetSlideTop();\n }\n const [item = {}] = data;\n // const key=type==='opencard'?(selected-(this.currentPage-1)*pageSize):0;\n // const item =data[key];\n this.loadUserInfo(0, item.ID, item, type);\n });\n } else if (type === 'loadmore') {\n this.setState({nomoreData: true, loadmoreLoading: false});\n } else {\n Loading.hide();\n this.setState({\n memberList: [],\n recommend: [],\n member: {},\n memberInfo: {record: [], like: [], recency: []}\n }, () => {\n if (type === 'search') {\n this.memberCardList.resetSlideTop();\n }\n });\n }\n }\n\n //获取会员状态集合,在页面上以图片戳的形式展示。\n getMemberStateStamp = (item) => {\n let arr = [];\n const { isExpiration, isUserLogout, isUserLoss, isUserNotUsing } = item;\n //已挂失\n if (isUserLoss) arr.push(<Ticon type='yiguashi' />)\n //已过期\n if (isExpiration) arr.push(<Ticon type='yiguoqi' />)\n //已注销\n if (isUserLogout) arr.push(<Ticon type='yizhuxiao' />)\n //未启用\n if (isUserNotUsing) arr.push(<Ticon type='weiqiyong' />)\n return arr;\n }\n controllerEvent = (methodName, methodArgs) => {\n return new Promise(resolve => {\n this.context.onEvent({ 'controllerEvent': Action.fromJS(this.context.viewModel, methodName) }, 'controllerEvent', {...methodArgs, fn: function(result) {\n resolve(result);\n }});\n });\n }\n // 获取商品行\n getRetails() {\n const data = this.context.viewModel.data || {};\n return toJS(data.RetailDetails || []);\n }\n handleOk = async (noList) => {\n if (noList) {\n return this.props.onCancel();\n }\n const { member, errorMsg } = this.state;\n // 增加会员对手工改价的校验\n let isArrowPriceChange = await this.controllerEvent('memberPriceChangeValidate', {member, retailDetails: this.getRetails()});\n if (!isArrowPriceChange) {\n return this.props.onCancel();\n }\n const { isExpiration, MemberState: { Id, Name } = {} } = member || {};\n if (noList) {\n return this.props.onCancel();\n }\n if (errorMsg) return Message.warn(errorMsg);\n if (errMessageTip(member)) return;\n const { data: { Member: {ID} = {}, IdbusiType } = {}, items = [] } = this.context.viewModel || {};\n if (IdbusiType == 39) {\n Message.warn('取货时不可以切换选择会员');\n return;\n }\n const viewVoucher = items.find(v => v.type === 'Voucher') || {};\n const isTakeTheir = viewVoucher.getIsTakeTheir && viewVoucher.getIsTakeTheir();\n if (isTakeTheir) {\n Message.warn('自提时不可以切换选择会员');\n return;\n }\n\n //会员不可更改判断\n const memberStore = this.context.viewModel && this.context.viewModel.items.find(el => el.name == 'MemberStore');\n const uiState = memberStore.uiState;\n if (!!uiState.tip) {\n Message.info(uiState.tip)\n return;\n }\n if (ID) {\n const _this = this;\n return ModalWraper.confirm({\n className: 'tplus-confirm-modal',\n title: '切换会员',\n content: '您确定要替换当前会员吗?',\n onOk() {\n _this.handleChangeMember(member)\n }\n })\n }\n this.handleChangeMember(member)\n }\n\n handleChangeMember = (member) => {\n const { onOk, memberChange, selectMemberSuccess, getMemberBirthday } = this.props;\n stores.selectMemberStore.seletMember(member, true);\n memberChange && memberChange(member)\n onOk && onOk();\n getMemberBirthday && getMemberBirthday(member.ID, (result) => {\n stores.selectMemberStore.changeMemberCare(result);\n })\n //商品输入框焦点。\n setTimeout(() => { selectMemberSuccess && selectMemberSuccess(member) }, 300)\n }\n\n keyboardOnOk = () => {\n this.handleSearchClick();\n }\n\n keyboardOnClose = () => {\n this.searchRef && this.searchRef.blur();\n }\n\n onKeyPressed = (e) => {\n const { keyCode } = e;\n const enterKey = 13;\n if (keyCode === enterKey) {\n this.handleSearchClick();\n this.keyboardOnClose();\n }\n }\n\n memberTabChange = (tabIndex) => {\n this.setState({tabIndex});\n const currentUserRetail = this.cacheUserRetail[this.currentMemberId];\n if (!currentUserRetail) {\n return this.loadUserRetail(this.currentMemberId);\n }\n this.setState({...currentUserRetail});\n const activeElement = document.activeElement;\n activeElement && activeElement.blur()\n }\n\n MemberMenuChange = (dto) => {\n const { memberList } = this.state;\n userInfoFormat(dto)\n let arr = [];\n memberList.map(item => {\n if (item.ID == dto.ID) {\n arr.push(dto)\n } else {\n arr.push(item)\n }\n })\n this.setState({ member: dto, memberList: arr })\n }\n\n onClear = (key, input) => {\n this.setState({[key]: ''});\n input.focus();\n }\n\n changeIsAllAuthority = () => {\n this.setState({\n isAllAuthority: false\n })\n }\n\n // 重置购买记录相关数据\n resetLastRetail = async (pageNo) => {\n this.setState({\n lastRetailPageNo: pageNo\n })\n }\n // 获取会员的购买记录\n findMemberLastRetailDetailList = async (pageSize) => {\n let { lastRetailPageNo, member: { ID } = {}, lastRetailList = [] } = this.state\n const params = {\n memberId: ID,\n pageNo: lastRetailPageNo,\n pageSize\n }\n this.setState({\n lastRetailLoading: true\n })\n try {\n const ret = await this.ms.findMemberLastRetailDetail(params)\n const { data: { recencyBeanList = [], totalCount = 0 } = {} } = ret\n lastRetailList.push(...recencyBeanList)\n\n this.setState({\n lastRetailTotal: totalCount,\n lastRetailLoading: false,\n lastRetailPageNo: pageSize === 3 ? 0 : this.state.lastRetailPageNo + 1,\n lastRetailList: this.state.lastRetailPageNo === 0 ? recencyBeanList : lastRetailList\n })\n\n } catch (err) {\n this.setState({\n lastRetailLoading: false\n })\n }\n }\n\n render() {\n const isUserAndroidKey = !! window.android_setKeyBoard;\n\n const user = JSON.parse(localStorage.getItem('user')) || {};\n const { loginInfo: { IsEnableUMember } = {} } = user;\n const { searchValue, memberList = [], memberInfo = {}, member = {}, recommend = [], memberTabHeight = 0,\n loadmoreLoading, nomoreData, initEmpty, columnInfo = [], loadingUser, loadingBtn, selected, isAllAuthority,lastRetailTotal, lastRetailList, lastRetailLoading,isCC, cardInfo, cardList } = this.state;\n const { status, showModal, titleModal, type, defaultActiveKey, onCancel, viewMemberInfo, authProcess, mode, title, storeKey } = this.props;\n const { precisionInfo = {} } = this.ms;\n const showSearch = ['会员查询'].includes(type);\n const noList = !memberList.length;\n const showSelectBtn = type === '会员查询' || !!status;\n //是否正常开单\n let voucherStateType = (mode !== 'practice');\n const { memberEnumState } = enumController.getEnumOj();\n\n return (\n <div className='memberShopContainer'>\n {\n showSearch &&\n <div className='search-container'>\n <Input\n tplusInput\n placeholder='手机号/卡号/名称/身份证号'\n prefix='sousuo'\n className={`${hotKey.hotKeyNotFilter('search-input')} android_focus_keyboard`}\n value={searchValue}\n type='native'\n onChange={({ target: { value: searchValue } }) => this.setState({ searchValue })}\n inputRef={ref => this.searchRef = ref}\n onClear={() => this.onClear('searchValue', this.searchRef)}\n onFocus={({ target }) => {\n if(!isUserAndroidKey ){\n this.focusInputName = 'searchValue';\n this.inputTarget = target;\n Keyboard.open(v => {\n const key = this.focusInputName;\n const value = Keyboard.getNewValue(this.inputTarget, this.inputTarget.value, v);\n this.setState({ [key]: value });\n }, this.keyboardOnOk, this.keyboardOnClose)();\n }\n }}\n onBlur={Keyboard.close}\n onKeyDown={this.onKeyPressed}\n />\n <Button className='primary-btn' onClick={this.handleSearchClick}>搜索</Button>\n </div>\n }\n <div ref={ref => this.memberTab = ref} className={`${hotKey.hotKeyBindClass('4', 'member-shop-content')}`}>\n {\n this.dataLoaded && noList && <div className='empty-data-img'><div className='tip-text'>暂无数据 ~</div></div>\n }\n <MemberCardList\n ref={list => this.memberCardList = list}\n title={title}\n storeKey={storeKey}\n memberList={memberList}\n precisionInfo={precisionInfo}\n loadmoreLoading={loadmoreLoading}\n nomoreData={nomoreData}\n loadUserInfo={this.loadUserInfo}\n progressListen={this.progressListen}\n getMemberStateStamp={this.getMemberStateStamp}\n selected={selected}\n isCC={isCC}\n cardList={cardList}\n />\n\n <div className='member-content-tab content' style={{ display: noList ? 'none' : 'flex' }}>\n {\n (voucherStateType && !isAllAuthority) &&\n <div>\n <div className='menu'>\n <MemberMenu\n authProcess={authProcess}\n changeIsAllAuthority={this.changeIsAllAuthority}\n loadUserList={this.loadUserList}\n member={member}\n memberEnumState={memberEnumState}\n loadingBtn={loadingBtn}\n selected={selected}\n cardList={cardList}\n getCardList={this.getCardList}\n loadUserInfo={(key, Idmember, item, type, syncUpdateMember) => this.loadUserInfo(key, Idmember, item, type, syncUpdateMember)}\n handleChange={this.MemberMenuChange}></MemberMenu>\n </div>\n <div className='line'></div>\n </div>\n }\n <MemberTab\n defaultActiveKey={defaultActiveKey}\n member={member}\n memberInfo={memberInfo}\n showModal={showModal}\n title={title}\n titleModal={titleModal}\n storeKey={storeKey}\n recommend={recommend}\n memberTabHeight={memberTabHeight}\n initEmpty={initEmpty}\n memberList={memberList}\n columnInfo={columnInfo}\n precisionInfo={precisionInfo}\n onChange={this.memberTabChange}\n getMemberStateStamp={this.getMemberStateStamp}\n cardInfo={cardInfo}\n \t\t\t lastRetailTotal={lastRetailTotal}\n lastRetailList={lastRetailList}\n lastRetailLoading={lastRetailLoading}\n findMemberLastRetailDetailList={this.findMemberLastRetailDetailList}\n />\n </div>\n </div>\n <div className='member-footer'>\n <Button onClick={onCancel}>取消</Button>\n {\n showSelectBtn &&\n <Button\n onClick={() => this.handleOk(noList)}\n type=\"primary\"\n style={{ marginRight: 5 }}\n disabled={loadingUser}\n >\n {\n loadingUser ? '加载会员' : noList ? '确定' : '选取会员'\n }\n </Button>\n }\n </div>\n </div>\n )\n }\n}\n"]}
1
+ {"version":3,"sources":["tplus-member/member/ShopMember.js"],"names":["ShopMember","props","currentPage","cacheUserRetail","hotKeyListener","nodeName","index","progressListen","className","indexOf","isHotKeyAction","activeElement","document","blur","observerCard","setTimeout","slideSelected","querySelector","prevSlideSelected","swiperSelectObserver","unobserve","observe","progress","selected","state","memberList","viewMemberInfo","loadmoreLoading","nomoreData","searchValue","loadUserList","windowOnresize","memberTab","window","removeEventListener","memberTabHeight","clientHeight","tabMenuHeight","setState","isNotSetState","Idmember","willUnmount","currentMemberId","loadUserInfo","key","item","type","syncUpdateMember","selectChange","memberChange","tabIndex","Loading","hide","recommend","userSearch","memberTabChange","member","loadingUser","loadingBtn","ms","getGetUmemberDTO","then","ret","BalanceIntegral","BalanceStorage","UmemberLabel","MemberCouponTitle","Mobilephone","DynamicPropertyKeys","DynamicPropertyValues","mergeKeys","setMemberKey","currentMemberOfList","find","value","ID","forEach","v","arr","map","push","initEmpty","errorMsg","stores","selectMemberStore","setCurMemberInfo","resetLastRetail","findMemberLastRetailDetailList","context","viewModel","data","Member","seletMember","getCardInfoByMemberId","catch","loadUserRetail","titleModal","includes","show","target","node","delay","getMemberRetailDetail","Like","Record","Recency","RecommendList","memberInfo","record","like","recency","pageSize","isSingleMember","searchId","searchStatus","status","listArr","inputValue","keyboardOnClose","slice","loadUserListSuccess","length","getSearchMember","dataLoaded","ColumnInfo","Data","columnInfo","precisionInfo","usersLoadSuccess","JSON","parse","filter","Precision","FieldName","setPrecisionInfo","handleSearchClick","storeKey","undefined","handleSearchChange","val","memberCardList","resetSlideTop","getMemberStateStamp","isExpiration","isUserLogout","isUserLoss","isUserNotUsing","controllerEvent","methodName","methodArgs","onEvent","Action","fromJS","fn","result","resolve","handleOk","noList","onCancel","retailDetails","getRetails","isArrowPriceChange","MemberState","Id","Name","Message","warn","IdbusiType","items","viewVoucher","isTakeTheir","getIsTakeTheir","memberStore","el","name","uiState","tip","info","_this","ModalWraper","confirm","title","content","onOk","handleChangeMember","selectMemberSuccess","getMemberBirthday","changeMemberCare","keyboardOnOk","searchRef","onKeyPressed","e","keyCode","enterKey","currentUserRetail","MemberMenuChange","dto","onClear","input","focus","changeIsAllAuthority","isAllAuthority","pageNo","lastRetailPageNo","lastRetailList","params","memberId","lastRetailLoading","findMemberLastRetailDetail","recencyBeanList","totalCount","lastRetailTotal","mode","isCC","defaultActiveKey","cardInfo","addEventListener","Code","$","on","off","RetailDetails","isUserAndroidKey","android_setKeyBoard","user","localStorage","getItem","loginInfo","IsEnableUMember","cardList","showModal","authProcess","showSearch","showSelectBtn","voucherStateType","enumController","getEnumOj","memberEnumState","hotKey","hotKeyNotFilter","ref","focusInputName","inputTarget","Keyboard","open","getNewValue","close","hotKeyBindClass","list","display","getCardList","marginRight","Component","defaultProps","contextTypes","PropTypes","object","array","func"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;AACA;;;;AAEA;;AACA;;AACA;;AACA;;;;AACA;;;;AACA;;AACA;;AACA;;;;AACA;;;;AACA;;AACA;;;;AACA;;IAEqBA,U;;;AAWnB,sBAAYC,KAAZ,EAAmB;AAAA;;AAAA;;AAAA,+IACXA,KADW;;AAAA,WAyBnBC,WAzBmB,GAyBL,CAzBK;AAAA,WA0BnBC,eA1BmB,GA0BD,EA1BC;;AAAA,WAiFnBC,cAjFmB,GAiFF,UAACC,QAAD,EAAWC,KAAX,EAAqB;AACpC,aAAKC,cAAL;AACA,UAAIF,YAAY,CAACA,SAASG,SAAT,CAAmBC,OAAnB,CAA2B,gBAA3B,CAAjB,EAA+D;AAC7D,eAAKC,cAAL,GAAsB,IAAtB;AACA,YAAMC,gBAAgBC,SAASD,aAA/B;AACAA,yBAAiBA,cAAcE,IAAd,EAAjB;AACD;AACF,KAxFkB;;AAAA,WA0FnBC,YA1FmB,GA0FJ,YAAM;AACnBC,iBAAW,YAAM;AACf,YAAMC,gBAAgBJ,SAASK,aAAT,CAAuB,iBAAvB,CAAtB;AACA,eAAKC,iBAAL,IAA0BC,qBAAqBC,SAArB,CAA+B,OAAKF,iBAApC,CAA1B;AACA,eAAKA,iBAAL,GAAyBF,aAAzB;AACAA,yBAAiBG,qBAAqBE,OAArB,CAA6BL,aAA7B,CAAjB;AACD,OALD;AAMD,KAjGkB;;AAAA,WAmGnBT,cAnGmB,GAmGF,UAACe,QAAD,EAAc;AAAA,UACtBC,QADsB,GACV,OAAKC,KADK,CACtBD,QADsB;AAAA,kCAGH,OAAKC,KAHF,CAGtBC,UAHsB;AAAA,UAGtBA,UAHsB,yCAGT,EAHS;AAAA,UAItBC,cAJsB,GAIJ,OAAKzB,KAJD,CAItByB,cAJsB;;AAK7B,UAAIA,cAAJ,EAAoB;AALS,yBAM2B,OAAKF,KANhC;AAAA,UAMtBG,eANsB,gBAMtBA,eANsB;AAAA,UAMLC,UANK,gBAMLA,UANK;AAAA,+CAMOC,WANP;AAAA,UAMOA,WANP,yCAMqB,EANrB;AAO7B;;AACA,UAAI,CAACN,WAAW,CAAZ,IAAiB,EAAjB,KAAwB,CAAxB,IAA6B,CAACI,eAA9B,IAAiD,CAACC,UAAtD,EAAkE;AAChE,eAAK1B,WAAL,IAAoB,CAApB;AACA,eAAK4B,YAAL,CAAkB,UAAlB,EAA8B,OAAK5B,WAAnC;AACD;AACD,UAAIoB,YAAY,CAAZ,IAAiB,CAACK,eAAlB,IAAqC,CAACC,UAA1C,EAAsD;AACpD,eAAK1B,WAAL,IAAoB,CAApB;AACA,eAAK4B,YAAL,CAAkB,UAAlB,EAA8B,OAAK5B,WAAnC;AACD;AACF,KAnHkB;;AAAA,WAqHnB6B,cArHmB,GAqHF,YAAM;AACrB,UAAI,CAAC,OAAKC,SAAV,EAAqB;AACnB,eAAOC,OAAOC,mBAAP,CAA2B,QAA3B,EAAqC,OAAKH,cAA1C,CAAP;AACD;AAHoB,UAIdI,eAJc,GAIK,OAAKX,KAJV,CAIdW,eAJc;;AAKrB,UAAMC,eAAe,OAAKJ,SAAL,CAAeI,YAAf,GAA8B,OAAKZ,KAAL,CAAWa,aAA9D;AACA,UAAIF,oBAAoBC,YAAxB,EAAsC;AACpC,eAAKE,QAAL,CAAc,EAACH,iBAAiBC,YAAlB,EAAd;AACD;AACF,KA9HkB;;AAAA,WAgInBG,aAhImB,GAgIH,UAACC,QAAD,EAAc;AAC5B,UAAI,OAAKC,WAAL,IAAoBD,aAAa,OAAKE,eAA1C,EAA2D,OAAO,IAAP;AAC5D,KAlIkB;;AAAA,WAoInBC,YApImB,GAoIJ,UAACC,GAAD,EAAMJ,QAAN,EAAgBK,IAAhB,EAAsBC,IAAtB,EAA4BC,gBAA5B,EAAiD;AAC9D;;AAD8D,yBAGP,OAAK9C,KAHE;AAAA,UAGtD+C,YAHsD,gBAGtDA,YAHsD;AAAA,UAGxCtB,cAHwC,gBAGxCA,cAHwC;AAAA,UAGxBuB,YAHwB,gBAGxBA,YAHwB;AAAA,0BAIzB,OAAKzB,KAJoB;AAAA,UAItDD,QAJsD,iBAItDA,QAJsD;AAAA,gDAI5C2B,QAJ4C;AAAA,UAI5CA,QAJ4C,yCAIjC,GAJiC;;AAK9D,UAAIN,QAAQrB,QAAR,IAAoBuB,SAAS,IAA7B,IAAqCA,SAAO,UAAhD,EAA4D;AAC5DK,oCAAQC,IAAR;AACA,UAAI,OAAKV,eAAL,IAAwB,CAAC,CAAC,OAAKvC,eAAL,CAAqB,OAAKuC,eAA1B,KAA8C,EAA/C,EAAmDW,SAAhF,EAA2F;AACzF,eAAO,OAAKlD,eAAL,CAAqB,OAAKuC,eAA1B,CAAP;AACD;AACD,aAAKA,eAAL,GAAuBF,QAAvB;;AAEA,UAAI,OAAKc,UAAL,IAAmB5B,cAAvB,EAAuC;AACrC,eAAK4B,UAAL,GAAkB,KAAlB;AACA,eAAKhB,QAAL,CAAc,EAACf,UAAUqB,GAAX,EAAd;AACD;;AAf6D,mCAiBpC,OAAKpB,KAjB+B,CAiBvDC,UAjBuD;AAAA,UAiBvDA,UAjBuD,0CAiB1C,EAjB0C;;;AAmB9D,aAAK8B,eAAL,CAAqBL,QAArB;;AAEA,aAAKZ,QAAL,CAAc,EAAEf,UAAUqB,GAAZ,EAAiBY,QAAQ/B,WAAWmB,GAAX,KAAmB,EAA5C,EAAgDa,aAAa,IAA7D,EAAmEC,YAAY,IAA/E,EAAd;AACA,aAAKC,EAAL,CAAQC,gBAAR,CAAyBpB,QAAzB,EACGqB,IADH,CACQ,eAAO;AACX,YAAI,OAAKtB,aAAL,CAAmBC,QAAnB,CAAJ,EAAkC;;AADvB,mBAG+CsB,OAAO,EAHtD;AAAA,YAEJC,eAFI,QAEJA,eAFI;AAAA,YAEaC,cAFb,QAEaA,cAFb;AAAA,YAE6BC,YAF7B,QAE6BA,YAF7B;AAAA,YAE2CC,iBAF3C,QAE2CA,iBAF3C;AAAA,YAE8DC,WAF9D,QAE8DA,WAF9D;AAAA,yCAGTC,mBAHS;AAAA,YAGTA,mBAHS,yCAGa,EAHb;AAAA,yCAGiBC,qBAHjB;AAAA,YAGiBA,qBAHjB,yCAGyC,EAHzC;;AAIX,YAAMC,YAAY,EAACP,gCAAD,EAAkBC,8BAAlB,EAAkCC,0BAAlC,EAAgDC,oCAAhD,EAAmEC,wBAAnE,EAAgFC,wCAAhF,EAAqGC,4CAArG,EAAlB;AACA;AACA,YAAI3C,cAAJ,EAAoB;AAClB;AACA,iBAAKiC,EAAL,CAAQY,YAAR,CAAqBD,SAArB;AACD,SAHD,MAGO;AACL;AACA,cAAME,sBAAsB/C,WAAWgD,IAAX,CAAgB;AAAA,mBAASC,MAAMC,EAAN,KAAanC,QAAtB;AAAA,WAAhB,KAAmD,EAA/E;AACA,8BAAY8B,SAAZ,EAAuBM,OAAvB,CAA+B;AAAA,mBAAKJ,oBAAoBK,CAApB,IAAyBP,UAAUO,CAAV,CAA9B;AAAA,WAA/B;AACD;AACD,mCAAef,GAAf;AACA,YAAIgB,MAAM,EAAV;AACArD,mBAAWsD,GAAX,CAAe,gBAAQ;AACrB,cAAIlC,KAAK8B,EAAL,KAAYb,IAAIa,EAApB,EAAwB;AACtBG,gBAAIE,IAAJ,CAASlB,GAAT;AACD,WAFD,MAEO;AACLgB,gBAAIE,IAAJ,CAASnC,IAAT;AACD;AACF,SAND;AAOA,eAAKP,QAAL,CAAc;AACZkB,kBAAQM,GADI;AAEZmB,qBAAW,IAFC;AAGZxD,sBAAYqD,GAHA;AAIZI,oBAAU,EAJE;AAKZzB,uBAAa,KALD;AAMZC,sBAAY;AANA,SAAd;AAQAyB,+BAAOC,iBAAP,CAAyBC,gBAAzB,CAA0CvB,GAA1C;AACAd,wBAAgBA,aAAaH,IAAb,CAAhB;AACA;AACA,eAAKyC,eAAL,CAAqB,CAArB;AACA,eAAKC,8BAAL,CAAoC,CAApC;AACA;AACA,YAAIxC,gBAAJ,EAAsB;AAAA,sBAC2B,OAAKyC,OAAL,CAAaC,SAAb,IAA0B,EADrD;AAAA,iCACZC,IADY;;AAAA,kDACoB,EADpB;AAAA,6CACJC,MADI;AAAA,gEACa,EADb;AAAA,cACMhB,EADN,qBACMA,EADN;;AAEpB,cAAIA,MAAMb,IAAIa,EAAd,EAAkB;AAChBQ,mCAAOC,iBAAP,CAAyBQ,WAAzB,CAAqC9B,GAArC;AACAb,4BAAgBA,aAAaa,GAAb,CAAhB;AACD;AACF;AACD;AACA,eAAK+B,qBAAL,CAA2BrD,QAA3B;AACD,OA/CH,EA+CKsD,KA/CL,CA+CW,eAAO;AACd9C,wBAAgBA,aAAa,EAAb,CAAhB;AACA,YAAI,OAAKT,aAAL,CAAmBC,QAAnB,CAAJ,EAAkC;AAClC,eAAKF,QAAL,CAAc;AACZkB,kBAAQ/B,WAAWmB,GAAX,KAAmB,EADf;AAEZqC,qBAAW,IAFC;AAGZC,oBAAU,cAHE;AAIZzD,gCAJY;AAKZiC,sBAAW;AALC,SAAd;AAOH,OAzDD;AA0DD,KApNkB;;AAAA,WAsNnBqC,cAtNmB,GAsNF,UAACvD,QAAD,EAAc;AAAA,kCACJ,OAAKhB,KADD,CACtB0B,QADsB;AAAA,UACtBA,QADsB,yCACX,GADW;AAAA,UAEtB8C,UAFsB,GAER,OAAK/F,KAFG,CAEtB+F,UAFsB;;;AAI7B,UAAI9C,aAAa,GAAb,IAAoB,CAAC,MAAD,EAAS,MAAT,EAAiB,MAAjB,EAAyB+C,QAAzB,CAAkCD,UAAlC,CAAxB,EAAuE;AACrE7C,sCAAQ+C,IAAR,CAAa;AACXC,kBAAQ,qBADG;AAEXC,gBAAM,8BAAC,0BAAD,IAAM,OAAO,GAAb,EAAkB,MAAK,OAAvB,EAA+B,aAA/B,GAFK;AAGXC,iBAAO;AAHI,SAAb;AAKD;AAV4B,UAWtB3D,eAXsB,GAWH,OAAKlB,KAXF,CAWtBkB,eAXsB;;AAY7B,aAAKvC,eAAL,CAAqBqC,QAArB,IAAiC,EAAjC;AACA,aAAKmB,EAAL,CAAQ2C,qBAAR,CAA8B9D,QAA9B,EACGqB,IADH,CACQ,eAAO;AACXV,sCAAQC,IAAR;AACA,YAAI,OAAKb,aAAL,CAAmBC,QAAnB,CAAJ,EAAkC;;AAFvB,oBAGyCsB,OAAO,EAHhD;AAAA,YAGJyC,IAHI,SAGJA,IAHI;AAAA,YAGEC,MAHF,SAGEA,MAHF;AAAA,YAGUC,OAHV,SAGUA,OAHV;AAAA,wCAGmBC,aAHnB;AAAA,YAGmBA,aAHnB,uCAGmC,EAHnC;;AAIX,YAAMrD,YAAYqD,aAAlB;AACA,YAAMC,aAAa,EAACC,QAAQJ,MAAT,EAAiBK,MAAMN,IAAvB,EAA6BO,SAASL,OAAtC,EAAnB;;AAEA,eAAKnE,QAAL,CAAc,EAACe,oBAAD,EAAYsD,sBAAZ,EAAd;AACA,eAAKxG,eAAL,CAAqBqC,QAArB,IAAiC,EAACa,oBAAD,EAAYsD,sBAAZ,EAAjC;AAED,OAXH,EAYGb,KAZH,CAYS,eAAO;AACZ,eAAO,OAAK3F,eAAL,CAAqBqC,QAArB,CAAP;AACA,YAAI,OAAKD,aAAL,CAAmBC,QAAnB,CAAJ,EAAkC;AAClC,eAAKF,QAAL,CAAc;AACZe,qBAAW,EADC;AAEZsD,sBAAY;AAFA,SAAd;AAIAxD,sCAAQC,IAAR;AACD,OApBH;AAqBD,KAxPkB;;AAAA,WA0PnBtB,YA1PmB,GA0PJ,UAACgB,IAAD,EAA4E;AAAA,UAArE5C,WAAqE,uEAAvD,CAAuD;AAAA,UAApD6G,QAAoD,uEAAzC,EAAyC;AAAA,UAArCC,cAAqC,uEAApB,KAAoB;AAAA,UAAbC,QAAa;AAAA,0BACnD,OAAKzF,KAD8C;AAAA,UACjFK,WADiF,iBACjFA,WADiF;AAAA,UACpEqF,YADoE,iBACpEA,YADoE;AAAA,0BAE7D,OAAKjH,KAFwD;AAAA,UAEjFkH,MAFiF,iBAEjFA,MAFiF;AAAA,UAEzEC,OAFyE,iBAEzEA,OAFyE;;AAGzF,UAAI,CAAC,OAAKzD,EAAV,EAAc;AACd,UAAIb,SAAS,MAAb,EAAqB;AACnB,YAAIuE,aAAa,OAAK1D,EAAL,IAAW,OAAKA,EAAL,CAAQ9B,WAApC;AACA,YAAIwF,UAAJ,EAAgB;AACd,iBAAK/E,QAAL,CAAc,EAAET,aAAawF,UAAf,EAAd;AACAtG,qBAAW,YAAM;AAAE,mBAAKuG,eAAL;AAAwB,WAA3C,EAA6C,GAA7C;AACD;AACF;AACD,UAAIxE,SAAS,UAAb,EAAyB;AACvB,eAAKR,QAAL,CAAc,EAAEX,iBAAiB,IAAnB,EAAd;AACD,OAFD,MAEO;AACLwB,sCAAQ+C,IAAR,CAAa,EAAEC,QAAQ,sBAAV,EAAb;AACD;AACD,UAAIrD,SAAS,UAAb,EAAyB;AACvB5C,sBAAc,OAAKA,WAAnB;AACD;AACD,UAAIgH,YAAJ,EAAkB;AAChB,YAAIpC,MAAMsC,QAAQG,KAAR,CAAc,CAAd,CAAV;AACA,eAAKjF,QAAL,CAAc;AACZ4E,wBAAc,KADF;AAEZzF,sBAAYqD;AAFA,SAAd,EAGG,YAAM;AAAA,cACCrD,UADD,GACgB,OAAKD,KADrB,CACCC,UADD;;AAEP,iBAAK+F,mBAAL,CAAyB/F,UAAzB,EAAqC,GAArC,EAA0CA,WAAWgG,MAArD;AACAtE,wCAAQC,IAAR;AACD,SAPD;AAQA;AACD;AACD,aAAKO,EAAL,CAAQ+D,eAAR,CAAwB;AACtBxH,gCADsB;AAEtB6G,0BAFsB;AAGtBnE,aAAK,OAAKe,EAAL,CAAQ9B,WAAR,IAAuBA,WAAvB,IAAsCoF,QAHrB;AAItBD,wBAAgB,OAAKrD,EAAL,CAAQ9B,WAAR,GAAsB,IAAtB,GAA6BmF;AAJvB,OAAxB,EAMGnD,IANH,CAMQ,eAAO;AACX,eAAK2D,mBAAL,CAAyB1D,GAAzB,EAA8BhB,IAA9B,EAAoCiE,QAApC;AACA5D,sCAAQC,IAAR;AACD,OATH,EAUG0C,KAVH,CAUS;AAAA,eAAO3C,8BAAQC,IAAR,EAAP;AAAA,OAVT;AAWD,KApSkB;;AAAA,WAsSnBoE,mBAtSmB,GAsSG,UAAC1D,GAAD,EAAMhB,IAAN,EAAYiE,QAAZ,EAAyB;AAC7C,aAAKY,UAAL,GAAkB,IAAlB;;AAD6C,kBAEhB7D,OAAO,EAFS;AAAA,UAErC8D,UAFqC,SAErCA,UAFqC;AAAA,UAEzBC,IAFyB,SAEzBA,IAFyB;;AAG7C,aAAKvF,QAAL,CAAc,EAAEwF,YAAYF,UAAd,EAAd;AACA,aAAKG,aAAL,CAAmBH,UAAnB;AACA,aAAKI,gBAAL,CAAsBlF,SAAS,GAAT,GAAegB,GAAf,GAAqBmE,KAAKC,KAAL,CAAWL,IAAX,CAA3C,EAA6D/E,IAA7D,EAAmEiE,QAAnE;AACD,KA5SkB;;AAAA,WA8SnBgB,aA9SmB,GA8SH,UAACD,UAAD,EAAgB;AAC9B,UAAMC,gBAAgB,EAAtB;AACA,UAAID,cAAcA,WAAWL,MAAX,GAAoB,CAAtC,EAAyC;AACvCK,qBAAaA,WAAWK,MAAX,CAAkB;AAAA,iBAAK,CAAC,CAACtD,EAAEuD,SAAT;AAAA,SAAlB,KAAyC,EAAtD;AACAN,mBAAWL,MAAX,GAAoB,CAApB,IACEK,WAAWlD,OAAX,CAAmB,gBAAQ;AAAA,cACjBwD,SADiB,GACQvF,IADR,CACjBuF,SADiB;AAAA,cACNC,SADM,GACQxF,IADR,CACNwF,SADM;;AAEzB,cAAID,SAAJ,EAAeL,cAAcM,SAAd,IAA2BD,SAA3B;AAChB,SAHD,CADF;AAKD;AACD,aAAKzE,EAAL,CAAQ2E,gBAAR,CAAyBP,aAAzB;AACD,KAzTkB;;AAAA,WAoUnBQ,iBApUmB,GAoUC,YAAM;AAAA,UAChB1G,WADgB,GACA,OAAKL,KADL,CAChBK,WADgB;AAAA,UAEhB2G,QAFgB,GAEH,OAAKvI,KAFF,CAEhBuI,QAFgB;;AAGxB,aAAKlF,UAAL,GAAkB,IAAlB;AACA,aAAKpD,WAAL,GAAmB,CAAnB;AACA,aAAKoC,QAAL,CAAc,EAAEV,YAAY,KAAd,EAAqBL,UAAUkH,SAA/B,EAAd;AACA,aAAK3G,YAAL,CAAkB,QAAlB,EAA4B,OAAK5B,WAAjC;AACD,KA3UkB;;AAAA,WA6UnBwI,kBA7UmB,GA6UE,UAACC,GAAD,EAAS;AAC5B,aAAKrG,QAAL,CAAc,EAACT,aAAa8G,GAAd,EAAd;AACD,KA/UkB;;AAAA,WAkVnBX,gBAlVmB,GAkVA,YAAoC;AAAA,UAAnCtC,IAAmC,uEAA5B,EAA4B;AAAA,UAAxB5C,IAAwB;AAAA,UAAlBiE,QAAkB,uEAAP,EAAO;AAAA,UAC9CI,MAD8C,GACpC,OAAKlH,KAD+B,CAC9CkH,MAD8C;AAAA,UAE7C5F,QAF6C,GAEhC,OAAKC,KAF2B,CAE7CD,QAF6C;;AAGrD,UAAI,OAAKkB,WAAT,EAAsB;AACtB,UAAIiD,KAAK+B,MAAT,EAAiB;AACf/B,aAAKd,OAAL,CAAa;AAAA,iBAAK,2BAAeC,CAAf,CAAL;AAAA,SAAb;;AAEA,YAAI/B,SAAS,UAAb,EAAyB;AAAA,uCACG,OAAKtB,KADR,CAChBC,UADgB;AAAA,cAChBA,UADgB,0CACH,EADG;;AAEvBA,qBAAWuD,IAAX,oDAAmBU,IAAnB;AACA,iBAAO,OAAKpD,QAAL,CAAc,EAACV,YAAY8D,KAAK+B,MAAL,GAAcV,QAA3B,EAAqCpF,iBAAiB,KAAtD,EAA6DF,sBAA7D,EAAd,CAAP;AACD;AACD,eAAKa,QAAL,CAAc,EAACb,YAAYiE,IAAb,EAAd,EAAkC,YAAM;AACtC,cAAI5C,SAAS,QAAb,EAAuB;AACrB,mBAAK8F,cAAL,CAAoBC,aAApB;AACD;;AAHqC,mDAIlBnD,IAJkB;AAAA;AAAA,cAI/B7C,IAJ+B,0BAIxB,EAJwB;AAKtC;AACA;;;AACA,iBAAKF,YAAL,CAAkB,CAAlB,EAAqBE,KAAK8B,EAA1B,EAA8B9B,IAA9B,EAAoCC,IAApC;AACD,SARD;AASD,OAjBD,MAiBO,IAAIA,SAAS,UAAb,EAAyB;AAC9B,eAAKR,QAAL,CAAc,EAACV,YAAY,IAAb,EAAmBD,iBAAiB,KAApC,EAAd;AACD,OAFM,MAEA;AACLwB,sCAAQC,IAAR;AACA,eAAKd,QAAL,CAAc;AACZb,sBAAY,EADA;AAEZ4B,qBAAW,EAFC;AAGZG,kBAAQ,EAHI;AAIZmD,sBAAY,EAACC,QAAQ,EAAT,EAAaC,MAAM,EAAnB,EAAuBC,SAAS,EAAhC;AAJA,SAAd,EAKG,YAAM;AACP,cAAIhE,SAAS,QAAb,EAAuB;AACrB,mBAAK8F,cAAL,CAAoBC,aAApB;AACD;AACF,SATD;AAUD;AACF,KAtXkB;;AAAA,WAyXnBC,mBAzXmB,GAyXG,UAACjG,IAAD,EAAU;AAC9B,UAAIiC,MAAM,EAAV;AAD8B,UAEtBiE,YAFsB,GAEqClG,IAFrC,CAEtBkG,YAFsB;AAAA,UAERC,YAFQ,GAEqCnG,IAFrC,CAERmG,YAFQ;AAAA,UAEMC,UAFN,GAEqCpG,IAFrC,CAEMoG,UAFN;AAAA,UAEkBC,cAFlB,GAEqCrG,IAFrC,CAEkBqG,cAFlB;AAG9B;;AACA,UAAID,UAAJ,EAAgBnE,IAAIE,IAAJ,CAAS,8BAAC,2BAAD,IAAO,MAAK,UAAZ,GAAT;AAChB;AACA,UAAI+D,YAAJ,EAAkBjE,IAAIE,IAAJ,CAAS,8BAAC,2BAAD,IAAO,MAAK,SAAZ,GAAT;AAClB;AACA,UAAIgE,YAAJ,EAAkBlE,IAAIE,IAAJ,CAAS,8BAAC,2BAAD,IAAO,MAAK,WAAZ,GAAT;AAClB;AACA,UAAIkE,cAAJ,EAAoBpE,IAAIE,IAAJ,CAAS,8BAAC,2BAAD,IAAO,MAAK,WAAZ,GAAT;AACpB,aAAOF,GAAP;AACD,KArYkB;;AAAA,WAsYnBqE,eAtYmB,GAsYD,UAACC,UAAD,EAAaC,UAAb,EAA4B;AAC5C,aAAO,sBAAY,mBAAW;AAC5B,eAAK7D,OAAL,CAAa8D,OAAb,CAAqB,EAAE,mBAAmBC,qBAAOC,MAAP,CAAc,OAAKhE,OAAL,CAAaC,SAA3B,EAAsC2D,UAAtC,CAArB,EAArB,EAA+F,iBAA/F,6BAAsHC,UAAtH,IAAkII,IAAI,YAASC,MAAT,EAAiB;AACrJC,oBAAQD,MAAR;AACD,WAFD;AAGD,OAJM,CAAP;AAKD,KA5YkB;;AAAA,WAkZnBE,QAlZmB;AAAA,2FAkZR,iBAAOC,MAAP;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,qBACLA,MADK;AAAA;AAAA;AAAA;;AAAA,iDAEA,OAAK5J,KAAL,CAAW6J,QAAX,EAFA;;AAAA;AAAA,gCAIoB,OAAKtI,KAJzB,EAIDgC,MAJC,iBAIDA,MAJC,EAIO0B,QAJP,iBAIOA,QAJP;AAKT;;AALS;AAAA,uBAMsB,OAAKiE,eAAL,CAAqB,2BAArB,EAAkD,EAAC3F,cAAD,EAASuG,eAAe,OAAKC,UAAL,EAAxB,EAAlD,CANtB;;AAAA;AAMLC,kCANK;;AAAA,oBAOJA,kBAPI;AAAA;AAAA;AAAA;;AAAA,iDAQA,OAAKhK,KAAL,CAAW6J,QAAX,EARA;;AAAA;AAAA,wBAUgDtG,UAAU,EAV1D,EAUDuF,YAVC,SAUDA,YAVC,4BAUamB,WAVb;AAAA,sEAUyC,EAVzC;AAU4BC,kBAV5B,qBAU4BA,EAV5B,EAUgCC,IAVhC,qBAUgCA,IAVhC;;AAAA,qBAWLP,MAXK;AAAA;AAAA;AAAA;;AAAA,iDAYA,OAAK5J,KAAL,CAAW6J,QAAX,EAZA;;AAAA;AAAA,qBAcL5E,QAdK;AAAA;AAAA;AAAA;;AAAA,iDAcYmF,8BAAQC,IAAR,CAAapF,QAAb,CAdZ;;AAAA;AAAA,qBAeL,0BAAc1B,MAAd,CAfK;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA,wBAgB4D,OAAKgC,OAAL,CAAaC,SAAb,IAA0B,EAhBtF,qBAgBDC,IAhBC;AAAA,wDAgByC,EAhBzC;AAAA,+CAgBOC,MAhBP;AAAA,sEAgBsB,EAhBtB;AAgBgBhB,kBAhBhB,qBAgBgBA,EAhBhB,EAgB0B4F,UAhB1B,cAgB0BA,UAhB1B,sBAgB6CC,KAhB7C,EAgB6CA,KAhB7C,+BAgBqD,EAhBrD;;AAAA,sBAiBLD,cAAc,EAjBT;AAAA;AAAA;AAAA;;AAkBPF,8CAAQC,IAAR,CAAa,cAAb;AAlBO;;AAAA;AAqBHG,2BArBG,GAqBWD,MAAM/F,IAAN,CAAW;AAAA,yBAAKI,EAAE/B,IAAF,KAAW,SAAhB;AAAA,iBAAX,KAAyC,EArBpD;AAsBH4H,2BAtBG,GAsBWD,YAAYE,cAAZ,IAA8BF,YAAYE,cAAZ,EAtBzC;;AAAA,qBAuBLD,WAvBK;AAAA;AAAA;AAAA;;AAwBPL,8CAAQC,IAAR,CAAa,cAAb;AAxBO;;AAAA;;AA4BT;AACMM,2BA7BG,GA6BW,OAAKpF,OAAL,CAAaC,SAAb,IAA0B,OAAKD,OAAL,CAAaC,SAAb,CAAuB+E,KAAvB,CAA6B/F,IAA7B,CAAkC;AAAA,yBAAMoG,GAAGC,IAAH,IAAW,aAAjB;AAAA,iBAAlC,CA7BrC;AA8BHC,uBA9BG,GA8BOH,YAAYG,OA9BnB;;AAAA,oBA+BJ,CAACA,QAAQC,GA/BL;AAAA;AAAA;AAAA;;AAgCPX,8CAAQY,IAAR,CAAaF,QAAQC,GAArB;AAhCO;;AAAA;AAAA,qBAmCLrG,EAnCK;AAAA;AAAA;AAAA;;AAoCDuG,qBApCC;AAAA,iDAqCAC,kCAAYC,OAAZ,CAAoB;AACzB5K,6BAAW,qBADc;AAEzB6K,yBAAO,MAFkB;AAGzBC,2BAAS,cAHgB;AAIzBC,sBAJyB,kBAIlB;AACLL,0BAAMM,kBAAN,CAAyBhI,MAAzB;AACD;AANwB,iBAApB,CArCA;;AAAA;AA8CT,uBAAKgI,kBAAL,CAAwBhI,MAAxB;;AA9CS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAlZQ;;AAAA;AAAA;AAAA;AAAA;;AAAA,WAmcnBgI,kBAncmB,GAmcE,UAAChI,MAAD,EAAY;AAAA,0BACwC,OAAKvD,KAD7C;AAAA,UACvBsL,IADuB,iBACvBA,IADuB;AAAA,UACjBtI,YADiB,iBACjBA,YADiB;AAAA,UACHwI,mBADG,iBACHA,mBADG;AAAA,UACkBC,iBADlB,iBACkBA,iBADlB;;AAE/BvG,6BAAOC,iBAAP,CAAyBQ,WAAzB,CAAqCpC,MAArC,EAA6C,IAA7C;AACAP,sBAAgBA,aAAaO,MAAb,CAAhB;AACA+H,cAAQA,MAAR;AACAG,2BAAqBA,kBAAkBlI,OAAOmB,EAAzB,EAA6B,UAAC+E,MAAD,EAAY;AAC5DvE,+BAAOC,iBAAP,CAAyBuG,gBAAzB,CAA0CjC,MAA1C;AACD,OAFoB,CAArB;AAGA;AACA3I,iBAAW,YAAM;AAAE0K,+BAAuBA,oBAAoBjI,MAApB,CAAvB;AAAoD,OAAvE,EAAyE,GAAzE;AACD,KA7ckB;;AAAA,WA+cnBoI,YA/cmB,GA+cJ,YAAM;AACnB,aAAKrD,iBAAL;AACD,KAjdkB;;AAAA,WAmdnBjB,eAndmB,GAmdD,YAAM;AACtB,aAAKuE,SAAL,IAAkB,OAAKA,SAAL,CAAehL,IAAf,EAAlB;AACD,KArdkB;;AAAA,WAudnBiL,YAvdmB,GAudJ,UAACC,CAAD,EAAO;AAAA,UACZC,OADY,GACAD,CADA,CACZC,OADY;;AAEpB,UAAMC,WAAW,EAAjB;AACA,UAAID,YAAYC,QAAhB,EAA0B;AACxB,eAAK1D,iBAAL;AACA,eAAKjB,eAAL;AACD;AACF,KA9dkB;;AAAA,WAgenB/D,eAhemB,GAgeD,UAACL,QAAD,EAAc;AAC9B,aAAKZ,QAAL,CAAc,EAACY,kBAAD,EAAd;AACA,UAAMgJ,oBAAoB,OAAK/L,eAAL,CAAqB,OAAKuC,eAA1B,CAA1B;AACA,UAAI,CAACwJ,iBAAL,EAAwB;AACtB,eAAO,OAAKnG,cAAL,CAAoB,OAAKrD,eAAzB,CAAP;AACD;AACD,aAAKJ,QAAL,4BAAkB4J,iBAAlB;AACA,UAAMvL,gBAAgBC,SAASD,aAA/B;AACAA,uBAAiBA,cAAcE,IAAd,EAAjB;AACD,KAzekB;;AAAA,WA2enBsL,gBA3emB,GA2eA,UAACC,GAAD,EAAS;AAAA,UAClB3K,UADkB,GACH,OAAKD,KADF,CAClBC,UADkB;;AAE1B,iCAAe2K,GAAf;AACA,UAAItH,MAAM,EAAV;AACArD,iBAAWsD,GAAX,CAAe,gBAAQ;AACrB,YAAIlC,KAAK8B,EAAL,IAAWyH,IAAIzH,EAAnB,EAAuB;AACrBG,cAAIE,IAAJ,CAASoH,GAAT;AACD,SAFD,MAEO;AACLtH,cAAIE,IAAJ,CAASnC,IAAT;AACD;AACF,OAND;AAOA,aAAKP,QAAL,CAAc,EAAEkB,QAAQ4I,GAAV,EAAe3K,YAAYqD,GAA3B,EAAd;AACD,KAvfkB;;AAAA,WAyfnBuH,OAzfmB,GAyfT,UAACzJ,GAAD,EAAM0J,KAAN,EAAgB;AACxB,aAAKhK,QAAL,mCAAgBM,GAAhB,EAAsB,EAAtB;AACA0J,YAAMC,KAAN;AACD,KA5fkB;;AAAA,WA8fnBC,oBA9fmB,GA8fI,YAAM;AAC3B,aAAKlK,QAAL,CAAc;AACZmK,wBAAgB;AADJ,OAAd;AAGD,KAlgBkB;;AAAA,WAqgBnBnH,eArgBmB;AAAA,2FAqgBD,kBAAOoH,MAAP;AAAA;AAAA;AAAA;AAAA;AAChB,uBAAKpK,QAAL,CAAc;AACZqK,oCAAkBD;AADN,iBAAd;;AADgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OArgBC;;AAAA;AAAA;AAAA;AAAA;;AAAA,WA2gBnBnH,8BA3gBmB;AAAA,2FA2gBc,kBAAOwB,QAAP;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,gCACsC,OAAKvF,KAD3C,EACzBmL,gBADyB,iBACzBA,gBADyB,uCACPnJ,MADO;AAAA,4EACU,EADV;AACGmB,kBADH,wBACGA,EADH,wCACciI,cADd,EACcA,cADd,yCAC+B,EAD/B;AAEzBC,sBAFyB,GAEhB;AACbC,4BAAUnI,EADG;AAEb+H,0BAAQC,gBAFK;AAGb5F;AAHa,iBAFgB;;AAO/B,uBAAKzE,QAAL,CAAc;AACZyK,qCAAmB;AADP,iBAAd;AAP+B;AAAA;AAAA,uBAWX,OAAKpJ,EAAL,CAAQqJ,0BAAR,CAAmCH,MAAnC,CAXW;;AAAA;AAWvB/I,mBAXuB;AAAA,4BAYmCA,GAZnC,CAYrB4B,IAZqB;AAAA,sDAY4B,EAZ5B;AAAA,kDAYbuH,eAZa,EAYbA,eAZa,yCAYK,EAZL,2DAYSC,UAZT,EAYSA,UAZT,wCAYsB,CAZtB;;AAa7BN,+BAAe5H,IAAf,wDAAuBiI,eAAvB;;AAEA,uBAAK3K,QAAL,CAAc;AACZ6K,mCAAiBD,UADL;AAEZH,qCAAmB,KAFP;AAGZJ,oCAAkB5F,aAAa,CAAb,GAAiB,CAAjB,GAAqB,OAAKvF,KAAL,CAAWmL,gBAAX,GAA8B,CAHzD;AAIZC,kCAAgB,OAAKpL,KAAL,CAAWmL,gBAAX,KAAgC,CAAhC,GAAoCM,eAApC,GAAsDL;AAJ1D,iBAAd;;AAf6B;AAAA;;AAAA;AAAA;AAAA;;AAuB7B,uBAAKtK,QAAL,CAAc;AACZyK,qCAAmB;AADP,iBAAd;;AAvB6B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OA3gBd;;AAAA;AAAA;AAAA;AAAA;;AAAA,QAETK,IAFS,GAEA,OAAKnN,KAFL,CAETmN,IAFS;;AAGjB,WAAK5L,KAAL,GAAa;AACXK,mBAAa,EADF;AAEXJ,kBAAY,EAFD;AAGXkF,kBAAY;AACVC,gBAAQ,EADE;AAEVC,cAAM,EAFI;AAGVC,iBAAS;AAHC,OAHD;AAQXI,oBAAc,CAAC,CAAC,OAAKjH,KAAL,CAAWmH,OAAb,GAAuB,IAAvB,GAA8B,KARjC;AASXiG,YAAM,IATK;AAUXnK,gBAAU,OAAKjD,KAAL,CAAWqN,gBAVV;AAWXb,sBAAgB,KAXL;AAYXpK,qBAAe+K,SAAS,UAAT,GAAsB,EAAtB,GAA2B,CAZ/B,EAYkC;AAC7CG,gBAAU,EAbC,EAaG;AACfX,sBAAgB,EAdJ,EAcQ;AACnBO,uBAAiB,CAfN,EAeS;AACpBR,wBAAkB,CAhBP,EAgBU;AACrBI,yBAAmB,KAjBR,CAiBe;AAjBf,KAAb;AAmBA,WAAKpJ,EAAL,GAAUiH,aAAV;AAtBiB;AAuBlB;;;;wCAKmB;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA3I,aAAOuL,gBAAP,CAAwB,QAAxB,EAAkC,KAAKzL,cAAvC;AAhBkB,mBAiBuC,KAAK9B,KAjB5C;AAAA,UAiBVyB,cAjBU,UAiBVA,cAjBU;AAAA,UAiBMyF,MAjBN,UAiBMA,MAjBN;AAAA,UAiBcW,UAjBd,UAiBcA,UAjBd;AAAA,UAiB0BU,QAjB1B,UAiB0BA,QAjB1B;;AAkBlB,UAAI9G,cAAJ,EAAoB;AAClB,YAAIyF,MAAJ,EAAY;AACV,iBAAO,KAAKK,mBAAL,CAAyB9F,cAAzB,CAAP;AACD,SAFD,MAEO,IAAIyF,WAAW,CAAf,EAAkB;AAAG;AAC1BW,wBAAc,KAAKC,aAAL,CAAmBD,UAAnB,CAAd,CADuB,CACwB;AAC/C,iBAAO,KAAKE,gBAAL,CAAsB,CAACtG,cAAD,CAAtB,EAAwC,QAAxC,CAAP;AACD;AANiB,YAOV+L,IAPU,GAOD/L,cAPC,CAOV+L,IAPU;;AAQlB,eAAO,KAAK3L,YAAL,CAAkB,MAAlB,EAA0B2G,SAA1B,EAAqCA,SAArC,EAAgD,IAAhD,EAAsDgF,IAAtD,CAAP;AACD;AACD,WAAK3L,YAAL,CAAkB,MAAlB;AACA4L,QAAEC,EAAF,CAAK,KAAKvN,cAAV;;AAEA,WAAKuD,EAAL,CAAQ9B,WAAR,GAAsB,EAAtB,CA/BkB,CA+BO;AAC1B;;;yCAEoB;AAAA,mBACuC,KAAKL,KAD5C;AAAA,qCACZC,UADY;AAAA,UACZA,UADY,qCACC,EADD;AAAA,UACKU,eADL,UACKA,eADL;AAAA,UACsBE,aADtB,UACsBA,aADtB;;AAEnB,UAAMD,eAAe,KAAKJ,SAAL,CAAeI,YAAf,GAA8BC,aAAnD;AACA,UAAID,iBAAiBD,eAArB,EAAsC;AACpC,aAAKG,QAAL,CAAc,EAACH,iBAAiBC,YAAlB,EAAd;AACD;AACF;;;2CAEsB;;AAErB;AACA;AACA,WAAKK,WAAL,GAAmB,IAAnB;;AAEAR,aAAOC,mBAAP,CAA2B,QAA3B,EAAqC,KAAKH,cAA1C;AACA;AACA2L,QAAEE,GAAF,CAAM,KAAKxN,cAAX;AACD;;;;;AA4OD;;8GAC6B0M,Q;;;;;;;;uBACJ,KAAKnJ,EAAL,CAAQkC,qBAAR,CAA8BiH,QAA9B,C;;;;;;;;;;+BAA2C,E;;;AAA5DS,wB;iCACgBA,Q,CAAd7H,I,EAAAA,I,kCAAO,E;;AACf,qBAAKpD,QAAL,CAAc;AACZiL,4BAAU7H;AADE,iBAAd;;;;;;;;;;;;;;;;;AAyDF;;;;;AAqBA;iCACa;AACX,UAAMA,OAAO,KAAKF,OAAL,CAAaC,SAAb,CAAuBC,IAAvB,IAA+B,EAA5C;AACA,aAAO,gBAAKA,KAAKmI,aAAL,IAAsB,EAA3B,CAAP;AACD;;AAmHD;;AAMA;;;;6BA8BS;AAAA;;AACP,UAAMC,mBAAmB,CAAC,CAAE7L,OAAO8L,mBAAnC;;AAEA,UAAMC,OAAO/F,KAAKC,KAAL,CAAW+F,aAAaC,OAAb,CAAqB,MAArB,CAAX,KAA4C,EAAzD;AAHO,4BAIyCF,IAJzC,CAICG,SAJD;AAAA,wDAIkC,EAJlC;AAAA,UAIcC,eAJd,mBAIcA,eAJd;AAAA,oBAMsL,KAAK5M,KAN3L;AAAA,UAKCK,WALD,WAKCA,WALD;AAAA,uCAKcJ,UALd;AAAA,UAKcA,UALd,sCAK2B,EAL3B;AAAA,uCAK+BkF,UAL/B;AAAA,UAK+BA,UAL/B,sCAK4C,EAL5C;AAAA,mCAKgDnD,MALhD;AAAA,UAKgDA,MALhD,kCAKyD,EALzD;AAAA,sCAK6DH,SAL7D;AAAA,UAK6DA,SAL7D,qCAKyE,EALzE;AAAA,0CAK6ElB,eAL7E;AAAA,UAK6EA,eAL7E,yCAK+F,CAL/F;AAAA,UAMLR,eANK,WAMLA,eANK;AAAA,UAMYC,UANZ,WAMYA,UANZ;AAAA,UAMwBqD,SANxB,WAMwBA,SANxB;AAAA,uCAMmC6C,UANnC;AAAA,UAMmCA,UANnC,sCAMgD,EANhD;AAAA,UAMoDrE,WANpD,WAMoDA,WANpD;AAAA,UAMiEC,UANjE,WAMiEA,UANjE;AAAA,UAM6EnC,QAN7E,WAM6EA,QAN7E;AAAA,UAMuFkL,cANvF,WAMuFA,cANvF;AAAA,UAMsGU,eANtG,WAMsGA,eANtG;AAAA,UAMuHP,cANvH,WAMuHA,cANvH;AAAA,UAMuIG,iBANvI,WAMuIA,iBANvI;AAAA,UAMyJM,IANzJ,WAMyJA,IANzJ;AAAA,UAM+JE,QAN/J,WAM+JA,QAN/J;AAAA,UAMyKc,QANzK,WAMyKA,QANzK;AAAA,oBAOyH,KAAKpO,KAP9H;AAAA,UAOCkH,MAPD,WAOCA,MAPD;AAAA,UAOSmH,SAPT,WAOSA,SAPT;AAAA,UAOoBtI,UAPpB,WAOoBA,UAPpB;AAAA,UAOgClD,IAPhC,WAOgCA,IAPhC;AAAA,UAOsCwK,gBAPtC,WAOsCA,gBAPtC;AAAA,UAOwDxD,QAPxD,WAOwDA,QAPxD;AAAA,UAOkEpI,cAPlE,WAOkEA,cAPlE;AAAA,UAOkF6M,WAPlF,WAOkFA,WAPlF;AAAA,UAO+FnB,IAP/F,WAO+FA,IAP/F;AAAA,UAOqG/B,KAPrG,WAOqGA,KAPrG;AAAA,UAO4G7C,QAP5G,WAO4GA,QAP5G;AAAA,8BAQwB,KAAK7E,EAR7B,CAQCoE,aARD;AAAA,UAQCA,aARD,qCAQiB,EARjB;;AASP,UAAMyG,aAAa,CAAC,MAAD,EAASvI,QAAT,CAAkBnD,IAAlB,CAAnB;AACA,UAAM+G,SAAS,CAACpI,WAAWgG,MAA3B;AACA,UAAMgH,gBAAgB3L,SAAS,MAAT,IAAmB,CAAC,CAACqE,MAA3C;AACA;AACA,UAAIuH,mBAAoBtB,SAAS,UAAjC;;AAbO,kCAcqBuB,4BAAeC,SAAf,EAdrB;AAAA,UAcCC,eAdD,yBAcCA,eAdD;;AAgBP,aACE;AAAA;AAAA,UAAK,WAAU,qBAAf;AAEIL,sBACA;AAAA;AAAA,YAAK,WAAU,kBAAf;AACE,wCAAC,2BAAD;AACE,4BADF;AAEE,yBAAY,uEAFd;AAGE,oBAAO,QAHT;AAIE,uBAAcM,6BAAOC,eAAP,CAAuB,cAAvB,CAAd,4BAJF;AAKE,mBAAOlN,WALT;AAME,kBAAK,QANP;AAOE,sBAAU;AAAA,kBAAoBA,WAApB,UAAGsE,MAAH,CAAazB,KAAb;AAAA,qBAAwC,OAAKpC,QAAL,CAAc,EAAET,wBAAF,EAAd,CAAxC;AAAA,aAPZ;AAQE,sBAAU;AAAA,qBAAO,OAAKgK,SAAL,GAAiBmD,GAAxB;AAAA,aARZ;AASE,qBAAS;AAAA,qBAAM,OAAK3C,OAAL,CAAa,aAAb,EAA4B,OAAKR,SAAjC,CAAN;AAAA,aATX;AAUE,qBAAS,yBAAgB;AAAA,kBAAb1F,MAAa,UAAbA,MAAa;;AACvB,kBAAG,CAAC2H,gBAAJ,EAAsB;AACpB,uBAAKmB,cAAL,GAAsB,aAAtB;AACA,uBAAKC,WAAL,GAAmB/I,MAAnB;AACAgJ,+CAASC,IAAT,CAAc,aAAK;AACjB,sBAAMxM,MAAM,OAAKqM,cAAjB;AACA,sBAAMvK,QAAQyK,+BAASE,WAAT,CAAqB,OAAKH,WAA1B,EAAuC,OAAKA,WAAL,CAAiBxK,KAAxD,EAA+DG,CAA/D,CAAd;AACA,yBAAKvC,QAAL,mCAAiBM,GAAjB,EAAuB8B,KAAvB;AACD,iBAJD,EAIG,OAAKkH,YAJR,EAIsB,OAAKtE,eAJ3B;AAKD;AACF,aApBH;AAqBE,oBAAQ6H,+BAASG,KArBnB;AAsBE,uBAAW,KAAKxD;AAtBlB,YADF;AAyBE;AAAA;AAAA,cAAQ,WAAU,aAAlB,EAAgC,SAAS,KAAKvD,iBAA9C;AAAA;AAAA;AAzBF,SAHJ;AA+BE;AAAA;AAAA,YAAK,KAAK;AAAA,qBAAO,OAAKvG,SAAL,GAAiBgN,MAAxB;AAAA,aAAV,EAAuC,gBAAcF,6BAAOS,eAAP,CAAuB,GAAvB,EAA4B,qBAA5B,CAArD;AAEI,eAAK5H,UAAL,IAAmBkC,MAAnB,IAA6B;AAAA;AAAA,cAAK,WAAU,gBAAf;AAAgC;AAAA;AAAA,gBAAK,WAAU,UAAf;AAAA;AAAA;AAAhC,WAFjC;AAIE,wCAAC,wBAAD;AACE,iBAAK;AAAA,qBAAQ,OAAKjB,cAAL,GAAsB4G,IAA9B;AAAA,aADP;AAEE,mBAAOnE,KAFT;AAGE,sBAAU7C,QAHZ;AAIE,wBAAY/G,UAJd;AAKE,2BAAesG,aALjB;AAME,6BAAiBpG,eANnB;AAOE,wBAAYC,UAPd;AAQE,0BAAc,KAAKe,YARrB;AASE,4BAAgB,KAAKpC,cATvB;AAUE,iCAAqB,KAAKuI,mBAV5B;AAWE,sBAAUvH,QAXZ;AAYE,kBAAM8L,IAZR;AAaE,sBAAUgB;AAbZ,YAJF;AAoBE;AAAA;AAAA,cAAK,WAAU,4BAAf,EAA4C,OAAO,EAAEoB,SAAS5F,SAAS,MAAT,GAAkB,MAA7B,EAAnD;AAEK6E,gCAAoB,CAACjC,cAAtB,IACA;AAAA;AAAA;AACE;AAAA;AAAA,kBAAK,WAAU,MAAf;AACE,8CAAC,eAAD;AACE,+BAAa8B,WADf;AAEE,wCAAsB,KAAK/B,oBAF7B;AAGE,gCAAc,KAAK1K,YAHrB;AAIE,0BAAQ0B,MAJV;AAKE,mCAAiBqL,eALnB;AAME,8BAAYnL,UANd;AAOE,4BAAUnC,QAPZ;AAQE,4BAAU8M,QARZ;AASE,+BAAa,KAAKqB,WATpB;AAUE,gCAAc,sBAAC9M,GAAD,EAAMJ,QAAN,EAAgBK,IAAhB,EAAsBC,IAAtB,EAA4BC,gBAA5B;AAAA,2BAAiD,OAAKJ,YAAL,CAAkBC,GAAlB,EAAuBJ,QAAvB,EAAiCK,IAAjC,EAAuCC,IAAvC,EAA6CC,gBAA7C,CAAjD;AAAA,mBAVhB;AAWE,gCAAc,KAAKoJ,gBAXrB;AADF,eADF;AAeE,qDAAK,WAAU,MAAf;AAfF,aAHJ;AAqBE,0CAAC,eAAD;AACE,gCAAkBmB,gBADpB;AAEE,sBAAQ9J,MAFV;AAGE,0BAAYmD,UAHd;AAIE,yBAAW2H,SAJb;AAKE,qBAAOjD,KALT;AAME,0BAAYrF,UANd;AAOE,wBAAUwC,QAPZ;AAQE,yBAAWnF,SARb;AASE,+BAAiBlB,eATnB;AAUE,yBAAW8C,SAVb;AAWE,0BAAYxD,UAXd;AAYE,0BAAYqG,UAZd;AAaE,6BAAeC,aAbjB;AAcE,wBAAU,KAAKxE,eAdjB;AAeE,mCAAqB,KAAKuF,mBAf5B;AAgBE,wBAAUyE,QAhBZ;AAiBN,+BAAiBJ,eAjBX;AAkBE,8BAAgBP,cAlBlB;AAmBE,iCAAmBG,iBAnBrB;AAoBE,8CAAgC,KAAKxH;AApBvC;AArBF;AApBF,SA/BF;AAgGE;AAAA;AAAA,YAAK,WAAU,eAAf;AACE;AAAA;AAAA,cAAQ,SAASuE,QAAjB;AAAA;AAAA,WADF;AAGI2E,2BACA;AAAA;AAAA;AACE,uBAAS;AAAA,uBAAM,OAAK7E,QAAL,CAAcC,MAAd,CAAN;AAAA,eADX;AAEE,oBAAK,SAFP;AAGE,qBAAO,EAAE8F,aAAa,CAAf,EAHT;AAIE,wBAAUlM;AAJZ;AAOIA,0BAAc,MAAd,GAAuBoG,SAAS,IAAT,GAAgB;AAP3C;AAJJ;AAhGF,OADF;AAmHD;;;EAtrBqC+F,gB,UAC/BC,Y,GAAe;AACpB/F,YAAU,oBAAM,CAAE,CADE;AAEpByB,QAAM,gBAAM,CAAE;AAFM,C,SAKfuE,Y,GAAe;AACpBrK,aAAWsK,oBAAUC,MADD;AAEpBlI,cAAYiI,oBAAUE,KAFF;AAGpB3G,WAASyG,oBAAUG;AAHC,C;kBANHlQ,U","file":"ShopMember.js","sourcesContent":["import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Button } from 'antd';\r\nimport { ModalWraper, Input, Loading, Message, Ticon, Keyboard, Spin, hotKey } from 'tplus-components-touch';\r\nimport { stores } from 'mutants-microfx';\r\nimport { enumController, platform } from 'mutants-util';\r\nimport memberStore from './api';\r\nimport MemberTab from './memberTab/index.js';\r\nimport './ShopMember.less';\r\nimport { formatPrecision, userInfoFormat, errMessageTip } from '../utils';\r\nimport MemberMenu from './memberMenu/index.js'\r\nimport MemberCardList from './MemberCardList'\r\nimport { Action } from 'mutants-appfx'\r\nimport { toJS } from 'mobx';\r\n// let swiperSelectObserver;\r\n\r\nexport default class ShopMember extends Component {\r\n static defaultProps = {\r\n onCancel: () => {},\r\n onOk: () => {},\r\n };\r\n\r\n static contextTypes = {\r\n viewModel: PropTypes.object,\r\n columnInfo: PropTypes.array,\r\n onEvent: PropTypes.func\r\n };\r\n constructor(props) {\r\n super(props);\r\n const { mode } = this.props;\r\n this.state = {\r\n searchValue: '',\r\n memberList: [],\r\n memberInfo: {\r\n record: [],\r\n like: [],\r\n recency: [],\r\n },\r\n searchStatus: !!this.props.listArr ? true : false,\r\n isCC: true,\r\n tabIndex: this.props.defaultActiveKey,\r\n isAllAuthority: false,\r\n tabMenuHeight: mode !== 'practice' ? 64 : 0, // 64为table上部操作菜单高度\r\n cardInfo: [], // 会员的卡信息\r\n\t lastRetailList: [], // 最近购买列表\r\n lastRetailTotal: 0, // 最近购买的总数量\r\n lastRetailPageNo: 0, // 最近购买的当前页,默认0开始\r\n lastRetailLoading: false, // 是否正在加载购买记录\r\n };\r\n this.ms = memberStore;\r\n }\r\n\r\n currentPage = 1;\r\n cacheUserRetail = {};\r\n\r\n componentDidMount() {\r\n // swiperSelectObserver = new IntersectionObserver(entries => {\r\n // const { boundingClientRect: { height, bottom, top } = {}, intersectionRatio } = entries[0];\r\n // if (intersectionRatio !== 1 && this.isHotKeyAction) {\r\n // this.isHotKeyAction = false;\r\n\r\n // bottom > height && memberSwiper.slideNext();\r\n // // 解决向上滑动时top < 10 时距离问题\r\n // if (top < -10) {\r\n // top < height && memberSwiper.slidePrev() && memberSwiper.slidePrev()\r\n // } else {\r\n // top < height && memberSwiper.slidePrev()\r\n // }\r\n // }\r\n // });\r\n\r\n window.addEventListener('resize', this.windowOnresize);\r\n const { viewMemberInfo, status, columnInfo, storeKey } = this.props;\r\n if (viewMemberInfo) {\r\n if (status) {\r\n return this.loadUserListSuccess(viewMemberInfo);\r\n } else if (status === 0) { // status 0 为 查看会员详情\r\n columnInfo && this.precisionInfo(columnInfo); // 查看录入的会员查看详情时父级传递了 columnInfo props\r\n return this.usersLoadSuccess([viewMemberInfo], 'search');\r\n }\r\n const { Code } = viewMemberInfo;\r\n return this.loadUserList('init', undefined, undefined, true, Code);\r\n };\r\n this.loadUserList('init');\r\n $.on(this.hotKeyListener);\r\n\r\n this.ms.searchValue = '';//初始化完成筛选列表清空数据(会员新增成功——封涛)\r\n }\r\n\r\n componentDidUpdate() {\r\n const {memberList = [], memberTabHeight, tabMenuHeight} = this.state;\r\n const clientHeight = this.memberTab.clientHeight - tabMenuHeight;\r\n if (clientHeight !== memberTabHeight) {\r\n this.setState({memberTabHeight: clientHeight});\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n\r\n // memberSwiper && memberSwiper.destroy(false);\r\n // memberSwiper = undefined;\r\n this.willUnmount = true;\r\n\r\n window.removeEventListener('resize', this.windowOnresize);\r\n // swiperSelectObserver.disconnect();\r\n $.off(this.hotKeyListener);\r\n }\r\n\r\n hotKeyListener = (nodeName, index) => {\r\n this.progressListen()\r\n if (nodeName && ~nodeName.className.indexOf('slide-selected')) {\r\n this.isHotKeyAction = true;\r\n const activeElement = document.activeElement;\r\n activeElement && activeElement.blur();\r\n }\r\n }\r\n\r\n observerCard = () => {\r\n setTimeout(() => {\r\n const slideSelected = document.querySelector('.slide-selected');\r\n this.prevSlideSelected && swiperSelectObserver.unobserve(this.prevSlideSelected);\r\n this.prevSlideSelected = slideSelected;\r\n slideSelected && swiperSelectObserver.observe(slideSelected);\r\n })\r\n }\r\n\r\n progressListen = (progress) => {\r\n const {selected} = this.state;\r\n\r\n const {memberList = []} = this.state;\r\n const {viewMemberInfo} = this.props;\r\n if (viewMemberInfo) return;\r\n const {loadmoreLoading, nomoreData, searchValue = ''} = this.state;\r\n // let newselect = (selected + 5) % 10\r\n if ((selected + 1) % 10 === 0 && !loadmoreLoading && !nomoreData) {\r\n this.currentPage += 1;\r\n this.loadUserList('loadmore', this.currentPage);\r\n }\r\n if (progress >= 1 && !loadmoreLoading && !nomoreData) {\r\n this.currentPage += 1;\r\n this.loadUserList('loadmore', this.currentPage);\r\n }\r\n }\r\n\r\n windowOnresize = () => {\r\n if (!this.memberTab) {\r\n return window.removeEventListener('resize', this.windowOnresize);\r\n };\r\n const {memberTabHeight} = this.state;\r\n const clientHeight = this.memberTab.clientHeight - this.state.tabMenuHeight;\r\n if (memberTabHeight !== clientHeight) {\r\n this.setState({memberTabHeight: clientHeight});\r\n }\r\n }\r\n\r\n isNotSetState = (Idmember) => {\r\n if (this.willUnmount || Idmember !== this.currentMemberId) return true;\r\n }\r\n\r\n loadUserInfo = (key, Idmember, item, type, syncUpdateMember) => {\r\n // this.observerCard();\r\n\r\n const { selectChange, viewMemberInfo, memberChange } = this.props;\r\n const { selected, tabIndex = '1' } = this.state;\r\n if (key === selected && type !== true && type!=='opencard') return;\r\n Loading.hide();\r\n if (this.currentMemberId && !(this.cacheUserRetail[this.currentMemberId] || {}).recommend) {\r\n delete this.cacheUserRetail[this.currentMemberId];\r\n }\r\n this.currentMemberId = Idmember;\r\n\r\n if (this.userSearch || viewMemberInfo) {\r\n this.userSearch = false;\r\n this.setState({selected: key});\r\n }\r\n\r\n const {memberList = []} = this.state;\r\n\r\n this.memberTabChange(tabIndex);\r\n\r\n this.setState({ selected: key, member: memberList[key] || {}, loadingUser: true, loadingBtn: true });\r\n this.ms.getGetUmemberDTO(Idmember)\r\n .then(ret => {\r\n if (this.isNotSetState(Idmember)) return;\r\n const {BalanceIntegral, BalanceStorage, UmemberLabel, MemberCouponTitle, Mobilephone,\r\n DynamicPropertyKeys = [], DynamicPropertyValues = []} = ret || {};\r\n const mergeKeys = {BalanceIntegral, BalanceStorage, UmemberLabel, MemberCouponTitle, Mobilephone, DynamicPropertyKeys, DynamicPropertyValues};\r\n //const memberInfo = {...(memberList[key] || {}), ...mergeKeys};\r\n if (viewMemberInfo) {\r\n // 用接口中的 BalanceStorage MemberCouponTitle覆盖列表中的数据, 监听对象 使用action 设置值\r\n this.ms.setMemberKey(mergeKeys);\r\n } else {\r\n //设置会员列表中该会员的BalanceStorage值\r\n const currentMemberOfList = memberList.find(value => value.ID === Idmember) || {};\r\n Object.keys(mergeKeys).forEach(v => currentMemberOfList[v] = mergeKeys[v]);\r\n }\r\n userInfoFormat(ret)\r\n let arr = [];\r\n memberList.map(item => {\r\n if (item.ID === ret.ID) {\r\n arr.push(ret)\r\n } else {\r\n arr.push(item)\r\n }\r\n })\r\n this.setState({\r\n member: ret,\r\n initEmpty: true,\r\n memberList: arr,\r\n errorMsg: '',\r\n loadingUser: false,\r\n loadingBtn: false\r\n })\r\n stores.selectMemberStore.setCurMemberInfo(ret);\r\n selectChange && selectChange(item);\r\n // 获取购买记录\r\n this.resetLastRetail(0)\r\n this.findMemberLastRetailDetailList(3)\r\n // 更新当前选定的会员信息\r\n if (syncUpdateMember) {\r\n const { data: { Member: { ID } = {} } = {} } = this.context.viewModel || {};\r\n if (ID == ret.ID) {\r\n stores.selectMemberStore.seletMember(ret);\r\n memberChange && memberChange(ret)\r\n }\r\n }\r\n // 获取会员的卡信息\r\n this.getCardInfoByMemberId(Idmember)\r\n }).catch(err => {\r\n selectChange && selectChange({});\r\n if (this.isNotSetState(Idmember)) return;\r\n this.setState({\r\n member: memberList[key] || {},\r\n initEmpty: true,\r\n errorMsg: '会员信息获取失败,请重试',\r\n memberList,\r\n loadingBtn:false\r\n });\r\n });\r\n }\r\n\r\n loadUserRetail = (Idmember) => {\r\n const {tabIndex = '1'} = this.state;\r\n const {titleModal} = this.props;\r\n\r\n if (tabIndex !== '1' && ['会员详情', '到店会员', '人脸识别'].includes(titleModal)) {\r\n Loading.show({\r\n target: '.member-content-tab',\r\n node: <Spin scale={1.2} type='shape' visible/>,\r\n delay: false\r\n });\r\n }\r\n const {currentMemberId} = this.state;\r\n this.cacheUserRetail[Idmember] = {};\r\n this.ms.getMemberRetailDetail(Idmember)\r\n .then(ret => {\r\n Loading.hide();\r\n if (this.isNotSetState(Idmember)) return;\r\n const {Like, Record, Recency, RecommendList = []} = ret || {};\r\n const recommend = RecommendList;\r\n const memberInfo = {record: Record, like: Like, recency: Recency};\r\n\r\n this.setState({recommend, memberInfo});\r\n this.cacheUserRetail[Idmember] = {recommend, memberInfo};\r\n\r\n })\r\n .catch(err => {\r\n delete this.cacheUserRetail[Idmember];\r\n if (this.isNotSetState(Idmember)) return;\r\n this.setState({\r\n recommend: [],\r\n memberInfo: {},\r\n });\r\n Loading.hide();\r\n });\r\n }\r\n\r\n loadUserList = (type, currentPage = 1, pageSize = 10, isSingleMember = false, searchId) => {\r\n const { searchValue, searchStatus } = this.state;\r\n const { status, listArr } = this.props;\r\n if (!this.ms) return;\r\n if (type === 'init') {\r\n let inputValue = this.ms && this.ms.searchValue;\r\n if (inputValue) {\r\n this.setState({ searchValue: inputValue })\r\n setTimeout(() => { this.keyboardOnClose() }, 310)\r\n }\r\n }\r\n if (type === 'loadmore') {\r\n this.setState({ loadmoreLoading: true });\r\n } else {\r\n Loading.show({ target: '.memberShopContainer' });\r\n }\r\n if (type === 'opencard') {\r\n currentPage = this.currentPage;\r\n }\r\n if (searchStatus) {\r\n let arr = listArr.slice(0);\r\n this.setState({\r\n searchStatus: false,\r\n memberList: arr\r\n }, () => {\r\n const { memberList } = this.state;\r\n this.loadUserListSuccess(memberList, 's', memberList.length);\r\n Loading.hide();\r\n })\r\n return;\r\n }\r\n this.ms.getSearchMember({\r\n currentPage,\r\n pageSize,\r\n key: this.ms.searchValue || searchValue || searchId,\r\n isSingleMember: this.ms.searchValue ? true : isSingleMember\r\n })\r\n .then(ret => {\r\n this.loadUserListSuccess(ret, type, pageSize);\r\n Loading.hide();\r\n })\r\n .catch(err => Loading.hide());\r\n }\r\n\r\n loadUserListSuccess = (ret, type, pageSize) => {\r\n this.dataLoaded = true;\r\n const { ColumnInfo, Data } = ret || {};\r\n this.setState({ columnInfo: ColumnInfo});\r\n this.precisionInfo(ColumnInfo);\r\n this.usersLoadSuccess(type === 's' ? ret : JSON.parse(Data), type, pageSize);\r\n }\r\n\r\n precisionInfo = (columnInfo) => {\r\n const precisionInfo = {};\r\n if (columnInfo && columnInfo.length > 0) {\r\n columnInfo = columnInfo.filter(v => !!v.Precision) || [];\r\n columnInfo.length > 0 &&\r\n columnInfo.forEach(item => {\r\n const { Precision, FieldName } = item;\r\n if (Precision) precisionInfo[FieldName] = Precision;\r\n })\r\n }\r\n this.ms.setPrecisionInfo(precisionInfo);\r\n }\r\n\r\n // 获取会员的卡信息\r\n async getCardInfoByMemberId (memberId) {\r\n const cardInfo = await this.ms.getCardInfoByMemberId(memberId) || {}\r\n const { data = [] } = cardInfo\r\n this.setState({\r\n cardInfo: data\r\n })\r\n }\r\n\r\n handleSearchClick = () => {\r\n const { searchValue } = this.state;\r\n const { storeKey } = this.props\r\n this.userSearch = true;\r\n this.currentPage = 1;\r\n this.setState({ nomoreData: false, selected: undefined });\r\n this.loadUserList('search', this.currentPage);\r\n }\r\n\r\n handleSearchChange = (val) => {\r\n this.setState({searchValue: val});\r\n }\r\n\r\n\r\n usersLoadSuccess = (data = [], type, pageSize = 10) => {\r\n const {status} = this.props;\r\n const { selected } = this.state;\r\n if (this.willUnmount) return;\r\n if (data.length) {\r\n data.forEach(v => userInfoFormat(v));\r\n\r\n if (type === 'loadmore') {\r\n const {memberList = []} = this.state;\r\n memberList.push(...data);\r\n return this.setState({nomoreData: data.length < pageSize, loadmoreLoading: false, memberList});\r\n }\r\n this.setState({memberList: data}, () => {\r\n if (type === 'search') {\r\n this.memberCardList.resetSlideTop();\r\n }\r\n const [item = {}] = data;\r\n // const key=type==='opencard'?(selected-(this.currentPage-1)*pageSize):0;\r\n // const item =data[key];\r\n this.loadUserInfo(0, item.ID, item, type);\r\n });\r\n } else if (type === 'loadmore') {\r\n this.setState({nomoreData: true, loadmoreLoading: false});\r\n } else {\r\n Loading.hide();\r\n this.setState({\r\n memberList: [],\r\n recommend: [],\r\n member: {},\r\n memberInfo: {record: [], like: [], recency: []}\r\n }, () => {\r\n if (type === 'search') {\r\n this.memberCardList.resetSlideTop();\r\n }\r\n });\r\n }\r\n }\r\n\r\n //获取会员状态集合,在页面上以图片戳的形式展示。\r\n getMemberStateStamp = (item) => {\r\n let arr = [];\r\n const { isExpiration, isUserLogout, isUserLoss, isUserNotUsing } = item;\r\n //已挂失\r\n if (isUserLoss) arr.push(<Ticon type='yiguashi' />)\r\n //已过期\r\n if (isExpiration) arr.push(<Ticon type='yiguoqi' />)\r\n //已注销\r\n if (isUserLogout) arr.push(<Ticon type='yizhuxiao' />)\r\n //未启用\r\n if (isUserNotUsing) arr.push(<Ticon type='weiqiyong' />)\r\n return arr;\r\n }\r\n controllerEvent = (methodName, methodArgs) => {\r\n return new Promise(resolve => {\r\n this.context.onEvent({ 'controllerEvent': Action.fromJS(this.context.viewModel, methodName) }, 'controllerEvent', {...methodArgs, fn: function(result) {\r\n resolve(result);\r\n }});\r\n });\r\n }\r\n // 获取商品行\r\n getRetails() {\r\n const data = this.context.viewModel.data || {};\r\n return toJS(data.RetailDetails || []);\r\n }\r\n handleOk = async (noList) => {\r\n if (noList) {\r\n return this.props.onCancel();\r\n }\r\n const { member, errorMsg } = this.state;\r\n // 增加会员对手工改价的校验\r\n let isArrowPriceChange = await this.controllerEvent('memberPriceChangeValidate', {member, retailDetails: this.getRetails()});\r\n if (!isArrowPriceChange) {\r\n return this.props.onCancel();\r\n }\r\n const { isExpiration, MemberState: { Id, Name } = {} } = member || {};\r\n if (noList) {\r\n return this.props.onCancel();\r\n }\r\n if (errorMsg) return Message.warn(errorMsg);\r\n if (errMessageTip(member)) return;\r\n const { data: { Member: {ID} = {}, IdbusiType } = {}, items = [] } = this.context.viewModel || {};\r\n if (IdbusiType == 39) {\r\n Message.warn('取货时不可以切换选择会员');\r\n return;\r\n }\r\n const viewVoucher = items.find(v => v.type === 'Voucher') || {};\r\n const isTakeTheir = viewVoucher.getIsTakeTheir && viewVoucher.getIsTakeTheir();\r\n if (isTakeTheir) {\r\n Message.warn('自提时不可以切换选择会员');\r\n return;\r\n }\r\n\r\n //会员不可更改判断\r\n const memberStore = this.context.viewModel && this.context.viewModel.items.find(el => el.name == 'MemberStore');\r\n const uiState = memberStore.uiState;\r\n if (!!uiState.tip) {\r\n Message.info(uiState.tip)\r\n return;\r\n }\r\n if (ID) {\r\n const _this = this;\r\n return ModalWraper.confirm({\r\n className: 'tplus-confirm-modal',\r\n title: '切换会员',\r\n content: '您确定要替换当前会员吗?',\r\n onOk() {\r\n _this.handleChangeMember(member)\r\n }\r\n })\r\n }\r\n this.handleChangeMember(member)\r\n }\r\n\r\n handleChangeMember = (member) => {\r\n const { onOk, memberChange, selectMemberSuccess, getMemberBirthday } = this.props;\r\n stores.selectMemberStore.seletMember(member, true);\r\n memberChange && memberChange(member)\r\n onOk && onOk();\r\n getMemberBirthday && getMemberBirthday(member.ID, (result) => {\r\n stores.selectMemberStore.changeMemberCare(result);\r\n })\r\n //商品输入框焦点。\r\n setTimeout(() => { selectMemberSuccess && selectMemberSuccess(member) }, 300)\r\n }\r\n\r\n keyboardOnOk = () => {\r\n this.handleSearchClick();\r\n }\r\n\r\n keyboardOnClose = () => {\r\n this.searchRef && this.searchRef.blur();\r\n }\r\n\r\n onKeyPressed = (e) => {\r\n const { keyCode } = e;\r\n const enterKey = 13;\r\n if (keyCode === enterKey) {\r\n this.handleSearchClick();\r\n this.keyboardOnClose();\r\n }\r\n }\r\n\r\n memberTabChange = (tabIndex) => {\r\n this.setState({tabIndex});\r\n const currentUserRetail = this.cacheUserRetail[this.currentMemberId];\r\n if (!currentUserRetail) {\r\n return this.loadUserRetail(this.currentMemberId);\r\n }\r\n this.setState({...currentUserRetail});\r\n const activeElement = document.activeElement;\r\n activeElement && activeElement.blur()\r\n }\r\n\r\n MemberMenuChange = (dto) => {\r\n const { memberList } = this.state;\r\n userInfoFormat(dto)\r\n let arr = [];\r\n memberList.map(item => {\r\n if (item.ID == dto.ID) {\r\n arr.push(dto)\r\n } else {\r\n arr.push(item)\r\n }\r\n })\r\n this.setState({ member: dto, memberList: arr })\r\n }\r\n\r\n onClear = (key, input) => {\r\n this.setState({[key]: ''});\r\n input.focus();\r\n }\r\n\r\n changeIsAllAuthority = () => {\r\n this.setState({\r\n isAllAuthority: false\r\n })\r\n }\r\n\r\n // 重置购买记录相关数据\r\n resetLastRetail = async (pageNo) => {\r\n this.setState({\r\n lastRetailPageNo: pageNo\r\n })\r\n }\r\n // 获取会员的购买记录\r\n findMemberLastRetailDetailList = async (pageSize) => {\r\n let { lastRetailPageNo, member: { ID } = {}, lastRetailList = [] } = this.state\r\n const params = {\r\n memberId: ID,\r\n pageNo: lastRetailPageNo,\r\n pageSize\r\n }\r\n this.setState({\r\n lastRetailLoading: true\r\n })\r\n try {\r\n const ret = await this.ms.findMemberLastRetailDetail(params)\r\n const { data: { recencyBeanList = [], totalCount = 0 } = {} } = ret\r\n lastRetailList.push(...recencyBeanList)\r\n\r\n this.setState({\r\n lastRetailTotal: totalCount,\r\n lastRetailLoading: false,\r\n lastRetailPageNo: pageSize === 3 ? 0 : this.state.lastRetailPageNo + 1,\r\n lastRetailList: this.state.lastRetailPageNo === 0 ? recencyBeanList : lastRetailList\r\n })\r\n\r\n } catch (err) {\r\n this.setState({\r\n lastRetailLoading: false\r\n })\r\n }\r\n }\r\n\r\n render() {\r\n const isUserAndroidKey = !! window.android_setKeyBoard;\r\n\r\n const user = JSON.parse(localStorage.getItem('user')) || {};\r\n const { loginInfo: { IsEnableUMember } = {} } = user;\r\n const { searchValue, memberList = [], memberInfo = {}, member = {}, recommend = [], memberTabHeight = 0,\r\n loadmoreLoading, nomoreData, initEmpty, columnInfo = [], loadingUser, loadingBtn, selected, isAllAuthority,lastRetailTotal, lastRetailList, lastRetailLoading,isCC, cardInfo, cardList } = this.state;\r\n const { status, showModal, titleModal, type, defaultActiveKey, onCancel, viewMemberInfo, authProcess, mode, title, storeKey } = this.props;\r\n const { precisionInfo = {} } = this.ms;\r\n const showSearch = ['会员查询'].includes(type);\r\n const noList = !memberList.length;\r\n const showSelectBtn = type === '会员查询' || !!status;\r\n //是否正常开单\r\n let voucherStateType = (mode !== 'practice');\r\n const { memberEnumState } = enumController.getEnumOj();\r\n\r\n return (\r\n <div className='memberShopContainer'>\r\n {\r\n showSearch &&\r\n <div className='search-container'>\r\n <Input\r\n tplusInput\r\n placeholder='手机号/卡号/名称/身份证号'\r\n prefix='sousuo'\r\n className={`${hotKey.hotKeyNotFilter('search-input')} android_focus_keyboard`}\r\n value={searchValue}\r\n type='native'\r\n onChange={({ target: { value: searchValue } }) => this.setState({ searchValue })}\r\n inputRef={ref => this.searchRef = ref}\r\n onClear={() => this.onClear('searchValue', this.searchRef)}\r\n onFocus={({ target }) => {\r\n if(!isUserAndroidKey ){\r\n this.focusInputName = 'searchValue';\r\n this.inputTarget = target;\r\n Keyboard.open(v => {\r\n const key = this.focusInputName;\r\n const value = Keyboard.getNewValue(this.inputTarget, this.inputTarget.value, v);\r\n this.setState({ [key]: value });\r\n }, this.keyboardOnOk, this.keyboardOnClose)();\r\n }\r\n }}\r\n onBlur={Keyboard.close}\r\n onKeyDown={this.onKeyPressed}\r\n />\r\n <Button className='primary-btn' onClick={this.handleSearchClick}>搜索</Button>\r\n </div>\r\n }\r\n <div ref={ref => this.memberTab = ref} className={`${hotKey.hotKeyBindClass('4', 'member-shop-content')}`}>\r\n {\r\n this.dataLoaded && noList && <div className='empty-data-img'><div className='tip-text'>暂无数据 ~</div></div>\r\n }\r\n <MemberCardList\r\n ref={list => this.memberCardList = list}\r\n title={title}\r\n storeKey={storeKey}\r\n memberList={memberList}\r\n precisionInfo={precisionInfo}\r\n loadmoreLoading={loadmoreLoading}\r\n nomoreData={nomoreData}\r\n loadUserInfo={this.loadUserInfo}\r\n progressListen={this.progressListen}\r\n getMemberStateStamp={this.getMemberStateStamp}\r\n selected={selected}\r\n isCC={isCC}\r\n cardList={cardList}\r\n />\r\n\r\n <div className='member-content-tab content' style={{ display: noList ? 'none' : 'flex' }}>\r\n {\r\n (voucherStateType && !isAllAuthority) &&\r\n <div>\r\n <div className='menu'>\r\n <MemberMenu\r\n authProcess={authProcess}\r\n changeIsAllAuthority={this.changeIsAllAuthority}\r\n loadUserList={this.loadUserList}\r\n member={member}\r\n memberEnumState={memberEnumState}\r\n loadingBtn={loadingBtn}\r\n selected={selected}\r\n cardList={cardList}\r\n getCardList={this.getCardList}\r\n loadUserInfo={(key, Idmember, item, type, syncUpdateMember) => this.loadUserInfo(key, Idmember, item, type, syncUpdateMember)}\r\n handleChange={this.MemberMenuChange}></MemberMenu>\r\n </div>\r\n <div className='line'></div>\r\n </div>\r\n }\r\n <MemberTab\r\n defaultActiveKey={defaultActiveKey}\r\n member={member}\r\n memberInfo={memberInfo}\r\n showModal={showModal}\r\n title={title}\r\n titleModal={titleModal}\r\n storeKey={storeKey}\r\n recommend={recommend}\r\n memberTabHeight={memberTabHeight}\r\n initEmpty={initEmpty}\r\n memberList={memberList}\r\n columnInfo={columnInfo}\r\n precisionInfo={precisionInfo}\r\n onChange={this.memberTabChange}\r\n getMemberStateStamp={this.getMemberStateStamp}\r\n cardInfo={cardInfo}\r\n \t\t\t lastRetailTotal={lastRetailTotal}\r\n lastRetailList={lastRetailList}\r\n lastRetailLoading={lastRetailLoading}\r\n findMemberLastRetailDetailList={this.findMemberLastRetailDetailList}\r\n />\r\n </div>\r\n </div>\r\n <div className='member-footer'>\r\n <Button onClick={onCancel}>取消</Button>\r\n {\r\n showSelectBtn &&\r\n <Button\r\n onClick={() => this.handleOk(noList)}\r\n type=\"primary\"\r\n style={{ marginRight: 5 }}\r\n disabled={loadingUser}\r\n >\r\n {\r\n loadingUser ? '加载会员' : noList ? '确定' : '选取会员'\r\n }\r\n </Button>\r\n }\r\n </div>\r\n </div>\r\n )\r\n }\r\n}\r\n"]}