tplus-portaltouch 3.22.4 → 3.22.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"sources":["tplus-portaltouch/components/header/headContent.js"],"names":["HeadContent","require","Item","Menu","defaultFromat","HeadTime","props","time","dateFormat","unMount","timeStr","Date","now","currentTime","setCurrentTime","timeout","refreshDate","setTimeout","clearTimeout","split","date_YMD","date_HMS","platform","isVerticalTouch","OnLineStatus","networkStatus","navigator","onLine","networkState","setNetworkStatus","checkNetwork","CheckNetwork","status","state","destroy","lineIcon","releaseDate","releaseVersion","__RELEASESDATE__","__BUILDVERSION__","error","context","isElectron","env","businessName","storeName","posCode","logo","style","history","solt","isPortal","isLogin","menu","onClick","location","themeVisible","setThemeVisible","menuProps","menus","map","item","i","key","icon","title","controlConfig","type","event","beforeEvent","ModalWraper","confirm","className","content","onOk","Loading","show","node","delay","actionHook","actionChange","User","logout","nativeMs","doWindow","clear","localStore","remove","splitUser","value","regEmail","RegExp","isEmail","test","setInventoryFocus","isHorizontalPad","doms","document","getElementsByClassName","input","getElementById","length","console","log","focus","clickTheme","isShow","userName","overlayClassName","moreInfoNode","headControlNode","v","display","width","height","replace","e","preventDefault","contextTypes","PropTypes","object"],"mappings":"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","file":"headContent.js","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport { Ticon, ModalWraper, Loading, Spin } from 'tplus-components-touch';\r\nimport { Tooltip, Menu, Dropdown } from 'antd';\r\nimport PropTypes from 'prop-types';\r\nimport { formatDate } from '../../utils';\r\nimport { env, nativeMs, localStore } from 'mutants-microfx';\r\nimport { PosInitData } from 'tplus-poslogin';\r\nimport { User } from 'tplus-api';\r\nimport { verticalHeadTime, verticalHeadContent } from './vertical-touch';\r\nimport { platform } from 'mutants-util';\r\nimport ThemeModal from \"./themeModal\";\r\n\r\nrequire('../../utils/networkCheck');\r\nconst { Item } = Menu;\r\nconst defaultFromat = 'yyyy-MM-dd hh:mm:ss';\r\n\r\n//头部时间\r\nfunction HeadTime(props) {\r\n const { time, dateFormat } = props;\r\n let unMount = false;\r\n const timeStr = typeof time === 'number' ? formatDate(time, dateFormat) : time;\r\n const [currentTime, setCurrentTime] = useState(formatDate(Date.now(), dateFormat));\r\n let timeout;\r\n function refreshDate() {\r\n if (time) return;\r\n !unMount && setCurrentTime(formatDate(Date.now(), dateFormat));\r\n timeout = setTimeout(refreshDate, 1000);\r\n }\r\n useEffect(() => {\r\n refreshDate();\r\n return () => {\r\n unMount = true;\r\n clearTimeout(timeout);\r\n };\r\n }, [currentTime]);\r\n const [date_YMD, date_HMS] = currentTime.split(' ') || [];\r\n\r\n if (platform.isVerticalTouch) return verticalHeadTime({ date_HMS });\r\n return (\r\n <div className='time'>\r\n {timeStr ?\r\n <div>{timeStr}</div> :\r\n <div>\r\n {date_YMD}\r\n <span>{date_HMS}</span>\r\n </div>\r\n }\r\n </div>\r\n );\r\n}\r\n\r\n//头部联网状态\r\nfunction OnLineStatus(props) {\r\n const { networkStatus } = props;\r\n const [networkState, setNetworkStatus] = useState((navigator || {}).onLine ? '联网' : '离线');\r\n const checkNetwork = new CheckNetwork(function (status) {\r\n const state = \"online\" != status ? '离线' : '联网';\r\n setNetworkStatus(state);\r\n });\r\n useEffect(() => {\r\n return () => {\r\n checkNetwork.destroy();\r\n };\r\n }, [networkState]);\r\n const lineIcon = <Ticon\r\n icon={`${networkState === '联网' ? 'WiFi' : 'wuwangluo'}`}\r\n className=\"network-state-icon\"\r\n />\r\n return (\r\n <div className='network-status'>{networkStatus || lineIcon}</div>\r\n );\r\n}\r\n\r\nlet releaseDate, releaseVersion;\r\ntry {\r\n releaseDate = __RELEASESDATE__;\r\n releaseVersion = __BUILDVERSION__;\r\n} catch (error) {\r\n releaseDate = '';\r\n releaseVersion = '';\r\n}\r\nexport default function HeadContent(props, context) {\r\n const isElectron = (env || {}).platform === 'electron';\r\n const {businessName = '', storeName = '', posCode, logo, networkStatus, style = {}, history,\r\n dateFormat = defaultFromat, solt, time, isPortal, isLogin, menu = [], onClick, location} = props;\r\n const [themeVisible, setThemeVisible] = useState(false);\r\n const menuProps = {onClick};\r\n const menus = (\r\n <Menu {...menuProps}>\r\n {menu.map((item, i) =>\r\n <Item key={item.key || i}>\r\n {item.icon && <Ticon icon={item.icon}/>}\r\n <span>{item.title}</span>\r\n </Item>)\r\n }\r\n </Menu>\r\n );\r\n\r\n const controlConfig = [\r\n {type: 'suoxiao', event: 'min'},\r\n {\r\n type: 'guanbixiao',\r\n event: 'close',\r\n beforeEvent: (item) => {\r\n return ModalWraper.confirm({\r\n className: 'tplus-confirm-modal',\r\n title: '关闭提示',\r\n content: '您确定要关闭应用吗?',\r\n async onOk() {\r\n Loading.show({\r\n className: 'close-app-loading',\r\n node: <div className='close-app-spin'>\r\n <Spin scale={1.2} type='shape' visible/>\r\n <h1>应用关闭中...</h1>\r\n </div>,\r\n delay: false\r\n });\r\n context.actionHook.actionChange('close-app');\r\n try {\r\n await User.logout(() => {\r\n setTimeout(() => {\r\n nativeMs.doWindow(item.event);\r\n }, 500); // 需要为500ms 时间短可能会不能正常注销清理\r\n });\r\n } catch (err) {\r\n User.clear();\r\n localStore.remove('user');\r\n setTimeout(() => {\r\n nativeMs.doWindow(item.event);\r\n }, 500);\r\n }\r\n }\r\n });\r\n }\r\n },\r\n ];\r\n\r\n const splitUser = (value) => {\r\n const regEmail = new RegExp('^[A-Za-zd0-9]+([-_.][A-Za-zd0-9]+)*@([A-Za-zd0-9]+[-.])+[A-Za-zd]{2,5}$');\r\n const isEmail = regEmail.test(value);\r\n\r\n if (isEmail) {\r\n return value.split('@')[0];\r\n }\r\n return value;\r\n }\r\n\r\n const setInventoryFocus = () => {\r\n const { isHorizontalPad } = platform || {};\r\n if (!!isHorizontalPad) return;\r\n let doms = document.getElementsByClassName('app hot-key-focus-container');\r\n let input = document.getElementById('productPoint');\r\n if (input) setTimeout(() => { if (doms && doms.length > 0) { console.log('headContent--商品焦点==Focus==');input.focus() } }, 300)\r\n }\r\n\r\n const clickTheme = (isShow) => {\r\n setThemeVisible(isShow)\r\n }\r\n\r\n const userName = PosInitData('UserName');\r\n const overlayClassName = `_portal-header-dropdown ${!isPortal ? 'inside-header' : ''}`;\r\n const moreInfoNode = <div className='pos-more-info-container'>\r\n <h1 className='business-name'>{businessName}</h1>\r\n <h1 className='store-code'>{posCode}</h1>\r\n </div>\r\n\r\n const headControlNode = <div className=\"head-content-control\">\r\n {controlConfig.map(v => <Ticon\r\n type={v.type}\r\n key={v.type}\r\n onClick={() => {\r\n if (nativeMs) {\r\n const {beforeEvent} = v;\r\n if (beforeEvent) {\r\n return beforeEvent(v);\r\n }\r\n nativeMs.doWindow(v.event)\r\n if (typeof setInventoryFocus == 'function') {\r\n setInventoryFocus()\r\n }\r\n }\r\n }}\r\n />)}\r\n </div>\r\n\r\n if (platform.isVerticalTouch) return verticalHeadContent({ style, releaseVersion, releaseDate,\r\n time, dateFormat, logo, HeadTime, headControlNode, location, history, clickTheme, themeVisible, isPortal, isLogin });\r\n\r\n return (<div style={{display: 'inline-block', width: '100%', height: '100%', ...style}} className='head-content' data-release={`${releaseVersion} ${releaseDate}`}>\r\n <div className=\"head-content-left\">\r\n {!!logo && <div className='business-logo' onClick={()=>{history.replace('/')}}>{logo}</div>}\r\n {!!storeName && <Tooltip trigger=\"click\" placement=\"bottomRight\" title={moreInfoNode} color={'#fff'} overlayClassName='head-business-tip'>\r\n <div className='store-name'>{storeName}<i className='header-triangle-down' /></div>\r\n </Tooltip>}\r\n <OnLineStatus OnLineStatus={networkStatus}/>\r\n </div>\r\n {isElectron && headControlNode}\r\n <div className=\"head-content-right\">\r\n {!isLogin && <Ticon icon=\"huanfu\" className={`theme-icon ${!isPortal ? 'pos-page' : ''}` } onClick={() => {clickTheme(true)}}/>}\r\n {!isLogin && !!userName && <Dropdown\r\n overlayClassName={overlayClassName}\r\n trigger={['click']}\r\n overlay={menus}\r\n placement=\"bottomRight\"\r\n arrow\r\n >\r\n <div className='header-info-render-content' onClick={e => e.preventDefault()}>\r\n <div className='store-info-item'>\r\n <p className='biller'>开单员:<span>{splitUser(userName)}</span></p>\r\n </div>\r\n <i className='header-triangle-down'/>\r\n </div>\r\n </Dropdown>}\r\n {!isLogin && <div className='store-info-item'>{solt}</div>}\r\n <HeadTime time={time} dateFormat={dateFormat}/>\r\n </div>\r\n <ThemeModal\r\n visible={themeVisible}\r\n isVertical={platform.isVerticalTouch}\r\n isPortal={isPortal}\r\n closeFn={(isShow) => clickTheme(isShow)}\r\n />\r\n </div>);\r\n}\r\n\r\nHeadContent.contextTypes = {\r\n actionHook: PropTypes.object,\r\n}\r\n"]}
1
+ {"version":3,"sources":["tplus-portaltouch/components/header/headContent.js"],"names":["HeadContent","Item","Menu","defaultFromat","t","i18n","getFixedT","UPLOAD_BASE_PATH","NETWORK_THEME_PATH","PLACE_ORDER_PATH","weakRemindNum","WEAK_STANDARD_NUM","otherOfflineStatus","localStore","get","HeadTime","props","time","dateFormat","unMount","timeStr","Date","now","currentTime","setCurrentTime","timeout","refreshDate","setTimeout","clearTimeout","split","date_YMD","date_HMS","platform","isVerticalTouch","OnLineStatus","networkStatus","networkCheckStore","stores","networkState","networkOn","iconName","switchNetwork","checked","event","switchOnLine","lineIcon","marginRight","getIsOffNetWork","OnLineStatusToggle","isShowUploadBtnsByRouter","isResetNetWorkTheme","isOfflineCash","isPlaceOrderPage","offlineSys","voucherStore","isOnLine","hasUseOffline","weakConfirm","getDataIsOffline","document","querySelector","ModalWraper","confirm","title","content","onOk","setOffLine","switchStatus","Message","tip","status","playStatus","setIsOffline","clearVoucherData","color","OFFLINE_POINT_DESC","RetailUpload","isModalVisible","setIsModalVisible","isUpLoading","setIsUpLoading","refModal","showModal","current","fetch","handleOk","isUpLoad","uploadRetail","error","handleCancel","UnLoadNum","retailNotUploadNumber","display","RetailDownload","isDownload","setIsDownload","downStr","setDownStr","handleDownLoad","downloadCatcherData","e","percent","result","success","DownloadBtn","releaseDate","releaseVersion","__RELEASESDATE__","__BUILDVERSION__","context","isElectron","env","businessName","storeName","posCode","logo","style","history","solt","isPortal","isLogin","menu","onClick","location","themeVisible","setThemeVisible","window","href","indexOf","setIsShowUploadBtnsByRouter","pathname","setIsResetNetWorkTheme","setIsPlaceOrderPage","listen","route","menuProps","menus","map","item","i","key","icon","controlConfig","type","beforeEvent","className","Loading","show","node","delay","actionHook","actionChange","User","logout","nativeMs","doWindow","clear","remove","splitUser","value","regEmail","RegExp","isEmail","test","setInventoryFocus","isHorizontalPad","doms","getElementsByClassName","input","getElementById","length","console","log","focus","clickTheme","isShow","userName","overlayClassName","moreInfoNode","headControlNode","v","width","height","replace","preventDefault","contextTypes","PropTypes","object"],"mappings":"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","file":"headContent.js","sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\r\nimport { Ticon, ModalWraper, Loading, Spin, Message } from 'tplus-components-touch';\r\nimport { Tooltip, Menu, Dropdown, Switch, Popover } from 'antd';\r\nimport PropTypes from 'prop-types';\r\nimport { formatDate } from '../../utils';\r\nimport { env, nativeMs, localStore, i18n } from 'mutants-microfx';\r\nimport { PosInitData } from 'tplus-poslogin';\r\nimport { User } from 'tplus-api';\r\nimport { verticalHeadTime, verticalHeadContent } from './vertical-touch';\r\nimport { platform } from 'mutants-util';\r\nimport ThemeModal from \"./themeModal\";\r\nimport UploadOrder from \"./uploadList\";\r\nimport {stores} from 'mutants-microfx';\r\nimport {observer} from 'mobx-react';\r\nimport {OFFLINE_POINT_DESC} from './offlinePointDesc';\r\nconst { Item } = Menu;\r\nconst defaultFromat = 'yyyy-MM-dd hh:mm:ss';\r\nconst t = i18n.getFixedT(null, 'newretail');\r\nconst UPLOAD_BASE_PATH = '/login';\r\nconst NETWORK_THEME_PATH = \"/\";\r\nconst PLACE_ORDER_PATH = \"/RE/RE01\";\r\nlet weakRemindNum = 0;// 弱网提示初始值\r\nconst WEAK_STANDARD_NUM = 3; // 弱网提示的次数上限\r\n//自助大屏、PAD版本、商米暂不支持离线\r\nconst otherOfflineStatus = (localStore.get('isVerticalTouch') == 'true') || (localStore.get('isHorizontalPad') == 'true') || (localStore.get('isHorizontalSunMi') == 'true');\r\n\r\n//头部时间\r\nfunction HeadTime(props) {\r\n const { time, dateFormat } = props;\r\n let unMount = false;\r\n const timeStr = typeof time === 'number' ? formatDate(time, dateFormat) : time;\r\n const [currentTime, setCurrentTime] = useState(formatDate(Date.now(), dateFormat));\r\n let timeout;\r\n function refreshDate() {\r\n if (time) return;\r\n !unMount && setCurrentTime(formatDate(Date.now(), dateFormat));\r\n timeout = setTimeout(refreshDate, 1000);\r\n }\r\n useEffect(() => {\r\n refreshDate();\r\n return () => {\r\n unMount = true;\r\n clearTimeout(timeout);\r\n };\r\n }, [currentTime]);\r\n const [date_YMD, date_HMS] = currentTime.split(' ') || [];\r\n\r\n if (platform.isVerticalTouch) return verticalHeadTime({ date_HMS });\r\n return (\r\n <div className='time'>\r\n {timeStr ?\r\n <div>{timeStr}</div> :\r\n <div>\r\n {date_YMD}\r\n <span>{date_HMS}</span>\r\n </div>\r\n }\r\n </div>\r\n );\r\n}\r\n\r\n//头部联网状态\r\nconst OnLineStatus = observer((props)=>{\r\n const { networkStatus } = props;\r\n const { networkCheckStore } = stores;\r\n const networkState = networkCheckStore.networkState;\r\n let networkOn = true;\r\n let iconName = 'WiFi';\r\n switch (networkState) {\r\n case '联网':\r\n iconName = 'WiFi';\r\n break;\r\n case '弱网':\r\n iconName = 'ruowifi';\r\n break;\r\n case '离线':\r\n networkOn = false;\r\n iconName = 'wuwangluo';\r\n break;\r\n default:\r\n break;\r\n }\r\n const switchNetwork = (checked ,event)=>{\r\n networkCheckStore.switchOnLine(checked);\r\n }\r\n const lineIcon = <Ticon\r\n icon={iconName}\r\n className=\"network-state-icon\"\r\n />\r\n return (\r\n <div><span className='network-status' style={{marginRight:'10px'}}>{networkStatus || lineIcon}</span><span><Switch checkedChildren=\"开启\" unCheckedChildren=\"关闭\" defaultChecked checked={networkOn} onChange={switchNetwork}/></span></div>\r\n );\r\n});\r\nfunction getIsOffNetWork() {\r\n const { networkCheckStore } = stores;\r\n return networkCheckStore.networkState === '离线';\r\n}\r\n//头部联网状态\r\nconst OnLineStatusToggle = observer(props => {\r\n const { isShowUploadBtnsByRouter, isResetNetWorkTheme, isOfflineCash, isPlaceOrderPage } = props;\r\n const { networkCheckStore, offlineSys, voucherStore } = stores;\r\n const networkState = networkCheckStore.networkState;\r\n let isOnLine = networkCheckStore.isOnLine;\r\n const hasUseOffline = isOfflineCash && !otherOfflineStatus; //是否允许离线\r\n let iconName = 'WiFi';\r\n if (hasUseOffline) {\r\n switch (networkState) {\r\n case '联网':\r\n iconName = 'WiFi';\r\n break;\r\n case '弱网':\r\n iconName = 'ruowifi';\r\n break;\r\n case '离线':\r\n iconName = 'wuwangluo';\r\n break;\r\n default:\r\n break;\r\n }\r\n if (networkState === '离线' && isOnLine) {\r\n ModalWraper.confirm({\r\n title: t('提示'),\r\n content: t('网络已断,是否切换到离线收银模式?'),\r\n onOk: () => {\r\n setOffLine(true);\r\n }\r\n });\r\n }\r\n function weakConfirm() {\r\n if (!isOnLine) return;// 离线不提示\r\n if (networkState !== '弱网') return; // 非弱网不提示\r\n if (weakRemindNum >= WEAK_STANDARD_NUM) return; // 提示大于三次不再提示\r\n if (!offlineSys.getDataIsOffline) return;// 数据未下载完不提示\r\n if (document.querySelector('.isRetailUpLoading')) return;// 上传中不提示\r\n if (document.querySelector('.isRetailDownLoading')) return;// 下载中不提示\r\n if (document.querySelector('.tplus-loading')) return;// 全屏loading不提示\r\n weakRemindNum ++;\r\n ModalWraper.confirm({\r\n title: t('提示'),\r\n content: t('当前网络不好,是否切换到离线?'),\r\n onOk: () => {\r\n setOffLine(true);\r\n }\r\n });\r\n }\r\n weakConfirm();\r\n }\r\n function switchStatus() {\r\n if (networkState === '离线' && !isOnLine) {\r\n Message.tip('当前无网络,无法切换为在线状态');\r\n return;\r\n }\r\n ModalWraper.confirm({\r\n title: t('提示'),\r\n content: t(`确定要切换为${isOnLine ? '离' : '在'}线环境吗?`),\r\n onOk: () => {\r\n setOffLine(isOnLine);\r\n }\r\n });\r\n }\r\n function setOffLine(status) {\r\n if (isPlaceOrderPage) {\r\n ModalWraper.confirm({\r\n title: t('提示'),\r\n content: t(`当前为开单界面,切换到${status ? '离' : '在'}线会清除当前数据,确定要切换吗?`),\r\n onOk: () => {\r\n playStatus(status);\r\n }\r\n });\r\n } else {\r\n playStatus(status);\r\n }\r\n }\r\n function playStatus(status) {\r\n // status 为 true 是在线切离线\r\n if (status) {\r\n if (!offlineSys.getDataIsOffline() || document.querySelector('.isRetailDownLoading')) {\r\n Message.tip('数据还未下载完,无法切换为离线');\r\n return;\r\n }\r\n }\r\n offlineSys.setIsOffline(status);\r\n if (isPlaceOrderPage) {\r\n voucherStore.clearVoucherData();\r\n }\r\n }\r\n return (\r\n <div className='on-off-wrap'>\r\n <div className='status-square'>\r\n <span className=\"status-tog-btn\" style={{color: `${isResetNetWorkTheme ? '#fff' : ''}`}}>{<Ticon icon={iconName}/>}</span>\r\n </div>\r\n {\r\n hasUseOffline && isShowUploadBtnsByRouter && <div className={`status-square c-pointer online-status-bg ${isOnLine || isResetNetWorkTheme ? '' : 'off-line'}`}>\r\n <span className=\"status-tog-btn\" onClick={switchStatus}>\r\n <span>{isOnLine ? '在线' : '离线'}</span>\r\n <span>{<Ticon icon=\"zaixianlixian\" className=\"ts-14\" />}</span>\r\n </span>\r\n <Popover placement=\"bottom\" overlayClassName={'offline-popver'} content={<pre>{OFFLINE_POINT_DESC}</pre>} trigger=\"hover\">\r\n <span className=\"status-tog-btn\">{<Ticon icon=\"tanhao1\" />}</span>\r\n </Popover>\r\n </div>\r\n }\r\n </div>\r\n );\r\n});\r\n\r\n//零售单上传\r\nfunction RetailUpload() {\r\n const [isModalVisible, setIsModalVisible] = useState(false);\r\n const [isUpLoading, setIsUpLoading] = useState(false);\r\n const refModal = useRef(null);\r\n const showModal = async () => {\r\n refModal && refModal.current.fetch();\r\n setIsModalVisible(true);\r\n };\r\n\r\n const handleOk = async (isUpLoad = false) => {\r\n setIsModalVisible(false);\r\n if (getIsOffNetWork()) {\r\n Message.tip('已断网,不可以上传单据');\r\n return;\r\n }\r\n if (!isUpLoad) {\r\n Message.tip('暂无可以上传的单据');\r\n return;\r\n }\r\n if (isUpLoading) {\r\n Message.tip('零售单正在上传……');\r\n return;\r\n }\r\n setIsUpLoading(true);\r\n try {\r\n await stores.offlineSys.uploadRetail();\r\n // Message.success('零售单上传成功');\r\n } catch (err) {\r\n Message.error('上传失败');\r\n }\r\n setIsUpLoading(false);\r\n };\r\n\r\n const handleCancel = () => {\r\n setIsModalVisible(false);\r\n };\r\n return (\r\n <div className='upload-retail'>\r\n <div className=\"status-square online-status-bg c-pointer\" onClick={showModal}>\r\n <span className=\"status-tog-btn\">\r\n <span className={`${isUpLoading ? 'isRetailUpLoading' : ''}`}>{<Ticon icon=\"shangchuan\"/>}</span>\r\n <span className=\"fast-upload-btn\">上传零售单</span>\r\n </span>\r\n </div>\r\n <UnLoadNum/>\r\n <UploadOrder ref={refModal} visible={isModalVisible} handleOk={handleOk} handleCancel={handleCancel}/>\r\n </div>\r\n );\r\n}\r\n// 零售单未上传的数量\r\nconst UnLoadNum = observer(() => {\r\n const {offlineSys: {retailNotUploadNumber} } = stores;\r\n return <span style={{display: retailNotUploadNumber > 0 ? 'inherit' : 'none'}} className=\"up-count-btn\">{retailNotUploadNumber > 99 ? '99+' : retailNotUploadNumber}</span>\r\n});\r\n//零售单下载\r\nfunction RetailDownload() {\r\n const {offlineSys} = stores;\r\n const [isDownload, setIsDownload] = useState(false);\r\n const [downStr, setDownStr] = useState('下载数据');\r\n const handleDownLoad = async () => {\r\n if (getIsOffNetWork()) {\r\n Message.tip('已断网,不可以下载单据');\r\n return;\r\n }\r\n if (isDownload) {\r\n Message.tip('下载中');\r\n return;\r\n }\r\n setDownStr('0 %');\r\n setIsDownload(true);\r\n Message.tip('下载中');\r\n try {\r\n let result = await offlineSys.downloadCatcherData(e => {\r\n setDownStr(e.percent + ' %');\r\n });\r\n if (result) {\r\n Message.success(`数据下载成功`);\r\n } else {\r\n Message.error(`数据下载失败`);\r\n }\r\n } catch(err){\r\n Message.error('数据下载失败');\r\n }\r\n setDownStr('下载数据');\r\n setIsDownload(false);\r\n };\r\n return (\r\n <div className='download-retail'>\r\n <DownloadBtn handleDownLoad={handleDownLoad} isDownload={isDownload} downStr={downStr}/>\r\n </div>\r\n );\r\n};\r\n// 下载按钮\r\nconst DownloadBtn = observer((props) => {\r\n const { downStr, isDownload, handleDownLoad} = props;\r\n return (\r\n <div className={`status-square online-status-bg c-pointer ${getIsOffNetWork() ? 'is-grey' : ''}`} onClick={handleDownLoad}>\r\n <span className=\"status-tog-btn\">\r\n <span className={`${isDownload ? 'isRetailDownLoading' : ''}`}>{<Ticon icon=\"xiazaishuju\"/>}</span>\r\n <span className=\"fast-upload-btn\">{downStr}</span>\r\n </span>\r\n </div>\r\n )\r\n});\r\nlet releaseDate, releaseVersion;\r\ntry {\r\n releaseDate = __RELEASESDATE__;\r\n releaseVersion = __BUILDVERSION__;\r\n} catch (error) {\r\n releaseDate = '';\r\n releaseVersion = '';\r\n}\r\nexport default function HeadContent(props, context) {\r\n const isElectron = (env || {}).platform === 'electron';\r\n const {businessName = '', storeName = '', posCode, logo, networkStatus, style = {}, history,\r\n dateFormat = defaultFromat, solt, time, isPortal, isLogin, menu = [], onClick, location} = props;\r\n const [themeVisible, setThemeVisible] = useState(false);\r\n const [isShowUploadBtnsByRouter, setIsShowUploadBtnsByRouter] = useState(window.location.href.indexOf(UPLOAD_BASE_PATH) < 0);\r\n const [isResetNetWorkTheme, setIsResetNetWorkTheme] = useState(window.location.pathname === NETWORK_THEME_PATH);\r\n const [isPlaceOrderPage, setIsPlaceOrderPage] = useState(window.location.href.indexOf(PLACE_ORDER_PATH) > 0);\r\n props.history.listen(route => {\r\n setIsResetNetWorkTheme(route.pathname === NETWORK_THEME_PATH);\r\n setIsShowUploadBtnsByRouter(route.pathname.indexOf(UPLOAD_BASE_PATH) < 0);\r\n setIsPlaceOrderPage(route.pathname.indexOf(PLACE_ORDER_PATH) > -1)\r\n });\r\n const hasUseOffline = (PosInitData('IsOfflineCash') === \"1\") && !otherOfflineStatus; //是否允许离线\r\n const menuProps = {onClick};\r\n const menus = (\r\n <Menu {...menuProps}>\r\n {menu.map((item, i) =>\r\n <Item key={item.key || i}>\r\n {item.icon && <Ticon icon={item.icon}/>}\r\n <span>{item.title}</span>\r\n </Item>)\r\n }\r\n </Menu>\r\n );\r\n\r\n const controlConfig = [\r\n {type: 'suoxiao', event: 'min'},\r\n {\r\n type: 'guanbixiao',\r\n event: 'close',\r\n beforeEvent: (item) => {\r\n return ModalWraper.confirm({\r\n className: 'tplus-confirm-modal',\r\n title: '关闭提示',\r\n content: '您确定要关闭应用吗?',\r\n async onOk() {\r\n Loading.show({\r\n className: 'close-app-loading',\r\n node: <div className='close-app-spin'>\r\n <Spin scale={1.2} type='shape' visible/>\r\n <h1>应用关闭中...</h1>\r\n </div>,\r\n delay: false\r\n });\r\n context.actionHook.actionChange('close-app');\r\n try {\r\n await User.logout(() => {\r\n setTimeout(() => {\r\n nativeMs.doWindow(item.event);\r\n }, 500); // 需要为500ms 时间短可能会不能正常注销清理\r\n });\r\n } catch (err) {\r\n User.clear();\r\n localStore.remove('user');\r\n setTimeout(() => {\r\n nativeMs.doWindow(item.event);\r\n }, 500);\r\n }\r\n }\r\n });\r\n }\r\n },\r\n ];\r\n\r\n const splitUser = (value) => {\r\n const regEmail = new RegExp('^[A-Za-zd0-9]+([-_.][A-Za-zd0-9]+)*@([A-Za-zd0-9]+[-.])+[A-Za-zd]{2,5}$');\r\n const isEmail = regEmail.test(value);\r\n\r\n if (isEmail) {\r\n return value.split('@')[0];\r\n }\r\n return value;\r\n }\r\n\r\n const setInventoryFocus = () => {\r\n const { isHorizontalPad } = platform || {};\r\n if (!!isHorizontalPad) return;\r\n let doms = document.getElementsByClassName('app hot-key-focus-container');\r\n let input = document.getElementById('productPoint');\r\n if (input) setTimeout(() => { if (doms && doms.length > 0) { console.log('headContent--商品焦点==Focus==');input.focus() } }, 300)\r\n }\r\n\r\n const clickTheme = (isShow) => {\r\n setThemeVisible(isShow)\r\n }\r\n\r\n const userName = PosInitData('UserName');\r\n const overlayClassName = `_portal-header-dropdown ${!isPortal ? 'inside-header' : ''}`;\r\n const moreInfoNode = <div className='pos-more-info-container'>\r\n <h1 className='business-name'>{businessName}</h1>\r\n <h1 className='store-code'>{posCode}</h1>\r\n </div>\r\n\r\n const headControlNode = <div className=\"head-content-control\">\r\n {controlConfig.map(v => <Ticon\r\n type={v.type}\r\n key={v.type}\r\n onClick={() => {\r\n if (nativeMs) {\r\n const {beforeEvent} = v;\r\n if (beforeEvent) {\r\n return beforeEvent(v);\r\n }\r\n nativeMs.doWindow(v.event)\r\n if (typeof setInventoryFocus == 'function') {\r\n setInventoryFocus()\r\n }\r\n }\r\n }}\r\n />)}\r\n </div>\r\n\r\n if (platform.isVerticalTouch) return verticalHeadContent({ style, releaseVersion, releaseDate,\r\n time, dateFormat, logo, HeadTime, headControlNode, location, history, clickTheme, themeVisible, isPortal, isLogin });\r\n\r\n return (<div style={{display: 'inline-block', width: '100%', height: '100%', ...style}} className='head-content' data-release={`${releaseVersion} ${releaseDate}`}>\r\n <div className=\"head-content-left\">\r\n {!!logo && <div className='business-logo' onClick={()=>{history.replace('/')}}>{logo}</div>}\r\n {!!storeName && <Tooltip trigger=\"click\" placement=\"bottomRight\" title={moreInfoNode} color={'#fff'} overlayClassName='head-business-tip'>\r\n <div className='store-name'>{storeName}<i className='header-triangle-down' /></div>\r\n </Tooltip>}\r\n {/* <OnLineStatus networkStatus={networkStatus}/> */}\r\n <OnLineStatusToggle isShowUploadBtnsByRouter={isShowUploadBtnsByRouter} isResetNetWorkTheme={isResetNetWorkTheme} isOfflineCash={hasUseOffline} isPlaceOrderPage={isPlaceOrderPage}/>\r\n {hasUseOffline && isShowUploadBtnsByRouter && <RetailUpload />}\r\n {hasUseOffline && isShowUploadBtnsByRouter && <RetailDownload />}\r\n </div>\r\n {isElectron && headControlNode}\r\n <div className=\"head-content-right\">\r\n {!isLogin && <Ticon icon=\"huanfu\" className={`theme-icon ${!isPortal ? 'pos-page' : ''}` } onClick={() => {clickTheme(true)}}/>}\r\n {!isLogin && !!userName && <Dropdown\r\n overlayClassName={overlayClassName}\r\n trigger={['click']}\r\n overlay={menus}\r\n placement=\"bottomRight\"\r\n arrow\r\n >\r\n <div className='header-info-render-content' onClick={e => e.preventDefault()}>\r\n <div className='store-info-item'>\r\n <p className='biller'>开单员:<span>{splitUser(userName)}</span></p>\r\n </div>\r\n <i className='header-triangle-down'/>\r\n </div>\r\n </Dropdown>}\r\n {!isLogin && <div className='store-info-item'>{solt}</div>}\r\n <HeadTime time={time} dateFormat={dateFormat}/>\r\n </div>\r\n <ThemeModal\r\n visible={themeVisible}\r\n isVertical={platform.isVerticalTouch}\r\n isPortal={isPortal}\r\n closeFn={(isShow) => clickTheme(isShow)}\r\n />\r\n </div>);\r\n}\r\n\r\nHeadContent.contextTypes = {\r\n actionHook: PropTypes.object,\r\n}\r\n"]}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var OFFLINE_POINT_DESC = exports.OFFLINE_POINT_DESC = "\u5207\u6362\u81F3\u79BB\u7EBF\u6A21\u5F0F\u4EC5\u652F\u6301\u4EE5\u4E0B\u529F\u80FD\uFF1A\n1\u3001\u96F6\u552E\u5F00\u5355\uFF1A\u6536\u6B3E\u65F6\u4E0D\u652F\u6301\u4EE5\u4E0B\u7ED3\u7B97\u65B9\u5F0F\uFF1A\u6536\u94B1\u5427\u3001\u4F18\u60E0\u5238\u3001\u4F1A\u5458\u50A8\u503C\u3001\u79EF\u5206\u62B5\u73B0\u3001\u957F\u6C99\u94F6\u884C\n2\u3001\u53EA\u6709\u672A\u4E0A\u4F20\u7684\u96F6\u552E\u5355\u652F\u6301\u539F\u5355\u9000\u8D27\uFF1B\u82E5\u539F\u5355\u9000\u8D27\u7684\u67E5\u8BE2\u6761\u4EF6\u4E2D\u5F55\u5165\u7684\u662F\u5DF2\u4E0A\u4F20\u7684\u96F6\u552E\u5355\u53F7\uFF0C\n\u5219\u63D0\u793A\uFF1A\u5DF2\u4E0A\u4F20\u7684\u96F6\u552E\u5355\u8BF7\u4F7F\u7528\u201C\u975E\u539F\u5355\u9000\u8D27\u201D\n3\u3001\u652F\u6301\u6302\u5355/\u89E3\u6302\n4\u3001\u5355\u636E\u67E5\u8BE2\u65F6\uFF0C\u53EA\u53EF\u67E5\u8BE2\u672A\u4E0A\u4F20\u7684\u96F6\u552E\u5355\n5\u3001\u53C2\u6570\u8BBE\u7F6E\u3001\u786C\u4EF6\u8BBE\u7F6E\uFF1A\u4EC5\u53EF\u67E5\u770B\uFF0C\u4E0D\u53EF\u4FEE\u6539";
7
+ //# sourceMappingURL=offlinePointDesc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["tplus-portaltouch/components/header/offlinePointDesc.js"],"names":["OFFLINE_POINT_DESC"],"mappings":";;;;;AAAO,IAAMA,whCAAN","file":"offlinePointDesc.js","sourcesContent":["export const OFFLINE_POINT_DESC = `切换至离线模式仅支持以下功能:\r\n1、零售开单:收款时不支持以下结算方式:收钱吧、优惠券、会员储值、积分抵现、长沙银行\r\n2、只有未上传的零售单支持原单退货;若原单退货的查询条件中录入的是已上传的零售单号,\r\n则提示:已上传的零售单请使用“非原单退货”\r\n3、支持挂单/解挂\r\n4、单据查询时,只可查询未上传的零售单\r\n5、参数设置、硬件设置:仅可查看,不可修改`"]}
@@ -118,6 +118,76 @@
118
118
  padding-right: 24px;
119
119
  cursor: pointer;
120
120
  }
121
+ .on-off-wrap, .upload-retail, .download-retail{
122
+ margin-left: 10px;
123
+ position: relative;
124
+ display: flex;
125
+ align-items: center;
126
+ height: 60px;
127
+ &.c-pointer, .c-pointer{
128
+ cursor: pointer;
129
+ }
130
+ .up-count-btn {
131
+ line-height: normal;
132
+ background-color: #F83A41;
133
+ color: #fff;
134
+ transform: scale(.7);
135
+ padding: 1px 6px;
136
+ border-radius: 10px;
137
+ position: absolute;
138
+ top: 8px;
139
+ right: -10px;
140
+ }
141
+ .isRetailDownLoading{
142
+ position: relative;
143
+ animation: retailDown 1.2s ease 0.5s infinite;
144
+ }
145
+ @keyframes retailDown {
146
+ from {top: -18px;}
147
+ to {top: 18px;}
148
+ }
149
+ .isRetailUpLoading{
150
+ position: relative;
151
+ animation: retailUp 1.2s ease 0.5s infinite;
152
+ }
153
+ @keyframes retailUp {
154
+ from {top: 18px;}
155
+ to {top: -18px;}
156
+ }
157
+ }
158
+ .status-square{
159
+ overflow: hidden;
160
+ display: inline-block;
161
+ line-height: 20px;
162
+ border-radius: 2px;
163
+ padding: 0 6px;
164
+ .fast-upload-btn {
165
+ display: inline-block;
166
+ text-align: center;
167
+ min-width: 48px;
168
+ }
169
+ span {
170
+ font-size: 12px;
171
+ }
172
+ &.off-line, &.is-grey {
173
+ background-color: #EAEBED !important;
174
+ color: #666 !important;
175
+ }
176
+ .status-tog-btn {
177
+ position: relative;
178
+ .iconfont {
179
+ font-size: 12px;
180
+ display: inline-block;
181
+ &.ts-14 {
182
+ transform: scale(1.4);
183
+ margin: 0 6px;
184
+ }
185
+ }
186
+ .status-space {
187
+ margin-right: 4px;
188
+ }
189
+ }
190
+ }
121
191
  }
122
192
  .head-content-right {
123
193
  float: right;
@@ -321,7 +391,7 @@
321
391
  }
322
392
  }
323
393
 
324
- @media (max-width: 1080px){
394
+ @media (max-width: 1180px){
325
395
  .business-name {
326
396
  max-width: 130px;
327
397
  }
@@ -343,10 +413,45 @@
343
413
  }
344
414
  }
345
415
  }
416
+ @media (max-width: 1060px){
417
+ .voucher-head-guide {
418
+ margin-right: 0!important;
419
+ }
420
+ .head-content-right .time div {
421
+ padding-right: 0;
422
+ }
423
+ }
346
424
  @media (max-width: 920px){
347
425
  .head-content-right{
348
426
  .time {
349
427
  display: none;
350
428
  }
351
429
  }
430
+ }
431
+ // 鼠标悬浮离线感叹号popver的样式
432
+ .offline-popver {
433
+ width: 620px;
434
+ }
435
+ .retail-upload-mask-wrap {
436
+ .ant-modal-header, th, td, .ant-modal-footer {
437
+ padding-left: 20px !important;
438
+ padding-right: 20px;
439
+ }
440
+ .ant-modal-body {
441
+ height: 356px;
442
+ }
443
+ .ant-modal-body {
444
+ padding: 0;
445
+ }
446
+ &.isReNull .ant-table-cell {
447
+ border: none !important;
448
+ }
449
+ &.hasPage .ant-modal-footer {
450
+ display: flex;
451
+ align-items: center;
452
+ justify-content: space-between;
453
+ }
454
+ .progressState .text {
455
+ margin-top: 0;
456
+ }
352
457
  }
@@ -0,0 +1,269 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = undefined;
7
+
8
+ var _regenerator = require('babel-runtime/regenerator');
9
+
10
+ var _regenerator2 = _interopRequireDefault(_regenerator);
11
+
12
+ var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');
13
+
14
+ var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);
15
+
16
+ var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
17
+
18
+ var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
19
+
20
+ var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
21
+
22
+ var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
23
+
24
+ var _createClass2 = require('babel-runtime/helpers/createClass');
25
+
26
+ var _createClass3 = _interopRequireDefault(_createClass2);
27
+
28
+ var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
29
+
30
+ var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
31
+
32
+ var _inherits2 = require('babel-runtime/helpers/inherits');
33
+
34
+ var _inherits3 = _interopRequireDefault(_inherits2);
35
+
36
+ var _defineProperty2 = require('babel-runtime/helpers/defineProperty');
37
+
38
+ var _defineProperty3 = _interopRequireDefault(_defineProperty2);
39
+
40
+ var _COLUMNS; /*
41
+ * @Descripttion: 零售单未上传和上传失败操作
42
+ * @version:
43
+ * @Author: zhanghuix
44
+ * @LastEditors: zhanghuix
45
+ * @LastEditTime: 2021-09-28 16:10:32
46
+ */
47
+
48
+ var _react = require('react');
49
+
50
+ var _react2 = _interopRequireDefault(_react);
51
+
52
+ var _antd = require('antd');
53
+
54
+ var _mutantsMicrofx = require('mutants-microfx');
55
+
56
+ var _tplusComponentsTouch = require('tplus-components-touch');
57
+
58
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
59
+
60
+ var TabPane = _antd.Tabs.TabPane;
61
+ // 待上传和上传失败tab
62
+
63
+ var TAB_KEYS = {
64
+ NOT: 'not',
65
+ ERR: 'err'
66
+ };
67
+ var DEFAULT_COLUMNS = [{
68
+ title: '单据日期',
69
+ dataIndex: 'VoucherDate'
70
+ }, {
71
+ title: '单据号',
72
+ dataIndex: 'Code'
73
+ }, {
74
+ title: '金额',
75
+ dataIndex: 'TotalRetailAmount',
76
+ render: function render(val) {
77
+ var str = (val || 0).toFixed(2) + '';
78
+ var intSum = str.substring(0, str.indexOf(".")).replace(/\B(?=(?:\d{3})+$)/g, ','); //整数部分
79
+ var dot = str.substring(str.length, str.indexOf(".")); //小数部分
80
+ return intSum + dot;
81
+ }
82
+ }];
83
+ var ERR_COLUMN = [{
84
+ title: '原因',
85
+ dataIndex: 'errMsg'
86
+ }];
87
+ // 上传失败要显示失败原因所以多一列
88
+ var COLUMNS = (_COLUMNS = {}, (0, _defineProperty3.default)(_COLUMNS, TAB_KEYS.NOT, DEFAULT_COLUMNS), (0, _defineProperty3.default)(_COLUMNS, TAB_KEYS.ERR, DEFAULT_COLUMNS.concat(ERR_COLUMN)), _COLUMNS);
89
+
90
+ var Aset = function (_React$Component) {
91
+ (0, _inherits3.default)(Aset, _React$Component);
92
+
93
+ function Aset(props, context) {
94
+ var _this2 = this;
95
+
96
+ (0, _classCallCheck3.default)(this, Aset);
97
+
98
+ var _this = (0, _possibleConstructorReturn3.default)(this, (Aset.__proto__ || (0, _getPrototypeOf2.default)(Aset)).call(this, props, context));
99
+
100
+ _this.columns = COLUMNS[TAB_KEYS.NOT];
101
+ _this.currentKey = TAB_KEYS.NOT;
102
+ _this.response = {};
103
+ _this.pageSize = 5;
104
+ _this.state = {
105
+ data: [],
106
+ currentIndex: 1
107
+ };
108
+ _this.upLoad = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee() {
109
+ return _regenerator2.default.wrap(function _callee$(_context) {
110
+ while (1) {
111
+ switch (_context.prev = _context.next) {
112
+ case 0:
113
+ _this.props.handleOk(_this.state.data.length > 0);
114
+
115
+ case 1:
116
+ case 'end':
117
+ return _context.stop();
118
+ }
119
+ }
120
+ }, _callee, _this2);
121
+ }));
122
+
123
+ _this.previous = function () {
124
+ _this.setState({
125
+ currentIndex: _this.state.currentIndex - 1
126
+ });
127
+ };
128
+
129
+ _this.next = function () {
130
+ _this.setState({
131
+ currentIndex: _this.state.currentIndex + 1
132
+ });
133
+ };
134
+
135
+ _this.change = function (key) {
136
+ _this.currentKey = key;
137
+ _this.columns = COLUMNS[key];
138
+ _this.setState({
139
+ data: _this.response[key + 'Upload'] || [],
140
+ currentIndex: 1
141
+ });
142
+ };
143
+
144
+ _this.getEmptyText = function () {
145
+ return _react2.default.createElement(_tplusComponentsTouch.ProgressState, {
146
+ state: "empty",
147
+ stateCommonStyle: { 'marginTop': "36px" },
148
+ empty: { buttonVisible: false } });
149
+ };
150
+
151
+ return _this;
152
+ }
153
+
154
+ (0, _createClass3.default)(Aset, [{
155
+ key: 'fetch',
156
+ value: function () {
157
+ var _ref2 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2() {
158
+ return _regenerator2.default.wrap(function _callee2$(_context2) {
159
+ while (1) {
160
+ switch (_context2.prev = _context2.next) {
161
+ case 0:
162
+ _context2.prev = 0;
163
+ _context2.next = 3;
164
+ return _mutantsMicrofx.stores.offlineSys.getRetailNotUpload();
165
+
166
+ case 3:
167
+ this.response = _context2.sent;
168
+ _context2.next = 9;
169
+ break;
170
+
171
+ case 6:
172
+ _context2.prev = 6;
173
+ _context2.t0 = _context2['catch'](0);
174
+
175
+ console.warn(_context2.t0);
176
+
177
+ case 9:
178
+ this.setState({
179
+ data: this.response[this.currentKey + 'Upload'] || []
180
+ });
181
+
182
+ case 10:
183
+ case 'end':
184
+ return _context2.stop();
185
+ }
186
+ }
187
+ }, _callee2, this, [[0, 6]]);
188
+ }));
189
+
190
+ function fetch() {
191
+ return _ref2.apply(this, arguments);
192
+ }
193
+
194
+ return fetch;
195
+ }()
196
+ }, {
197
+ key: 'render',
198
+ value: function render() {
199
+ var _props = this.props,
200
+ visible = _props.visible,
201
+ handleCancel = _props.handleCancel;
202
+ var _response = this.response,
203
+ notUpload = _response.notUpload,
204
+ errUpload = _response.errUpload;
205
+ var _state = this.state,
206
+ data = _state.data,
207
+ currentIndex = _state.currentIndex;
208
+
209
+ var pageSize = this.pageSize;
210
+ var dataSource = data.slice((currentIndex - 1) * pageSize, currentIndex * pageSize);
211
+ var totalPage = Math.ceil(data.length / pageSize);
212
+ var tabLeftText = '待上传',
213
+ tabRightText = '上传失败';
214
+ if (notUpload && notUpload.length) {
215
+ tabLeftText += '\uFF08' + notUpload.length + '\uFF09';
216
+ }
217
+ if (errUpload && errUpload.length) {
218
+ tabRightText += '\uFF08' + errUpload.length + '\uFF09';
219
+ }
220
+ return _react2.default.createElement(
221
+ _antd.Modal,
222
+ { title: '\u5355\u636E\u4E0A\u4F20',
223
+ centered: true,
224
+ maskClosable: false,
225
+ closable: false,
226
+ wrapClassName: 'retail-upload-mask-wrap ' + (totalPage > 1 ? 'hasPage' : '') + ' ' + (data.length === 0 ? 'isReNull' : ''),
227
+ visible: visible, width: 800, height: 468,
228
+ footer: [_react2.default.createElement(_tplusComponentsTouch.Page, {
229
+ key: 'retail-list-page',
230
+ total: totalPage,
231
+ currentIndex: currentIndex,
232
+ previous: this.previous,
233
+ next: this.next,
234
+ className: 'retail-upload-page'
235
+ }), _react2.default.createElement(
236
+ 'div',
237
+ { key: 'footBtns' },
238
+ _react2.default.createElement(
239
+ _antd.Button,
240
+ {
241
+ onClick: handleCancel
242
+ },
243
+ '\u5173\u95ED'
244
+ ),
245
+ _react2.default.createElement(
246
+ _antd.Button,
247
+ { type: 'primary', onClick: this.upLoad },
248
+ '\u4E0A\u4F20'
249
+ )
250
+ )] },
251
+ _react2.default.createElement(
252
+ _antd.Tabs,
253
+ { onChange: this.change },
254
+ _react2.default.createElement(TabPane, { tab: tabLeftText, key: TAB_KEYS.NOT }),
255
+ _react2.default.createElement(TabPane, { tab: tabRightText, key: TAB_KEYS.ERR })
256
+ ),
257
+ _react2.default.createElement(_antd.Table, {
258
+ locale: { emptyText: this.getEmptyText() },
259
+ pagination: false,
260
+ rowKey: 'Code',
261
+ columns: this.columns, dataSource: dataSource })
262
+ );
263
+ }
264
+ }]);
265
+ return Aset;
266
+ }(_react2.default.Component);
267
+
268
+ exports.default = Aset;
269
+ //# sourceMappingURL=uploadList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["tplus-portaltouch/components/header/uploadList.js"],"names":["TabPane","Tabs","TAB_KEYS","NOT","ERR","DEFAULT_COLUMNS","title","dataIndex","render","val","str","toFixed","intSum","substring","indexOf","replace","dot","length","ERR_COLUMN","COLUMNS","concat","Aset","props","context","columns","currentKey","response","pageSize","state","data","currentIndex","upLoad","handleOk","previous","setState","next","change","key","getEmptyText","buttonVisible","stores","offlineSys","getRetailNotUpload","console","warn","visible","handleCancel","notUpload","errUpload","dataSource","slice","totalPage","Math","ceil","tabLeftText","tabRightText","emptyText","React","Component"],"mappings":"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","file":"uploadList.js","sourcesContent":["/*\r\n * @Descripttion: 零售单未上传和上传失败操作\r\n * @version: \r\n * @Author: zhanghuix\r\n * @LastEditors: zhanghuix\r\n * @LastEditTime: 2021-09-28 16:10:32\r\n */\r\n\r\nimport React from 'react';\r\nimport { Table, Tabs, Modal, Button } from 'antd';\r\nimport { stores } from 'mutants-microfx';\r\nimport { Page, ProgressState } from 'tplus-components-touch';\r\nconst { TabPane } = Tabs;\r\n// 待上传和上传失败tab\r\nconst TAB_KEYS = {\r\n NOT: 'not',\r\n ERR: 'err'\r\n};\r\nconst DEFAULT_COLUMNS = [\r\n {\r\n title: '单据日期',\r\n dataIndex: 'VoucherDate'\r\n },\r\n {\r\n title: '单据号',\r\n dataIndex: 'Code',\r\n },\r\n {\r\n title: '金额',\r\n dataIndex: 'TotalRetailAmount',\r\n render: function (val) {\r\n let str = (val || 0).toFixed(2) + '';\r\n let intSum = str.substring(0, str.indexOf(\".\")).replace(/\\B(?=(?:\\d{3})+$)/g, ',');//整数部分\r\n let dot = str.substring(str.length, str.indexOf(\".\"))//小数部分\r\n return intSum + dot;\r\n }\r\n }\r\n];\r\nconst ERR_COLUMN = [{\r\n title: '原因',\r\n dataIndex: 'errMsg'\r\n}];\r\n// 上传失败要显示失败原因所以多一列\r\nconst COLUMNS = {\r\n [TAB_KEYS.NOT]: DEFAULT_COLUMNS,\r\n [TAB_KEYS.ERR]: DEFAULT_COLUMNS.concat(ERR_COLUMN)\r\n};\r\nexport default class Aset extends React.Component {\r\n constructor(props, context) {\r\n super(props, context)\r\n }\r\n columns = COLUMNS[TAB_KEYS.NOT]\r\n currentKey = TAB_KEYS.NOT\r\n response = {}\r\n pageSize = 5\r\n state = {\r\n data: [],\r\n currentIndex: 1\r\n }\r\n async fetch() {\r\n try {\r\n this.response = await stores.offlineSys.getRetailNotUpload();\r\n } catch (e) {\r\n console.warn(e);\r\n }\r\n this.setState({\r\n data: this.response[`${this.currentKey}Upload`] || []\r\n });\r\n }\r\n upLoad = async () => {\r\n this.props.handleOk(this.state.data.length > 0);\r\n }\r\n previous = () => {\r\n this.setState({\r\n currentIndex: this.state.currentIndex - 1\r\n })\r\n }\r\n next = () => {\r\n this.setState({\r\n currentIndex: this.state.currentIndex + 1\r\n })\r\n }\r\n change = (key) => {\r\n this.currentKey = key;\r\n this.columns = COLUMNS[key];\r\n this.setState({\r\n data: this.response[`${key}Upload`] || [],\r\n currentIndex: 1\r\n });\r\n };\r\n getEmptyText = () => {\r\n\t\treturn <ProgressState\r\n\t\t\tstate={\"empty\"}\r\n stateCommonStyle={{ 'marginTop': \"36px\" }}\r\n\t\t\tempty={{ buttonVisible: false }} />;\r\n\t}\r\n render() {\r\n const { visible, handleCancel } = this.props;\r\n const { notUpload, errUpload } = this.response;\r\n const { data, currentIndex } = this.state;\r\n const pageSize = this.pageSize;\r\n const dataSource = data.slice((currentIndex - 1) * pageSize, currentIndex * pageSize);\r\n const totalPage = Math.ceil(data.length / pageSize);\r\n let tabLeftText = '待上传', tabRightText = '上传失败';\r\n if (notUpload && notUpload.length) {\r\n tabLeftText += `(${notUpload.length})`;\r\n }\r\n if (errUpload && errUpload.length) {\r\n tabRightText += `(${errUpload.length})`;\r\n }\r\n return <Modal title=\"单据上传\"\r\n centered={true}\r\n maskClosable={false}\r\n closable={false}\r\n wrapClassName={`retail-upload-mask-wrap ${totalPage > 1 ? 'hasPage' : ''} ${data.length === 0 ? 'isReNull' : ''}`}\r\n visible={visible} width={800} height={468}\r\n footer={[\r\n <Page\r\n key=\"retail-list-page\"\r\n total={totalPage}\r\n currentIndex={currentIndex}\r\n previous={this.previous}\r\n next={this.next}\r\n className='retail-upload-page'\r\n />,\r\n <div key=\"footBtns\">\r\n <Button\r\n onClick={handleCancel}\r\n >\r\n 关闭\r\n </Button>\r\n <Button type=\"primary\" onClick={this.upLoad}>\r\n 上传\r\n </Button>\r\n </div>\r\n ]}>\r\n <Tabs onChange={this.change}>\r\n <TabPane tab={tabLeftText} key={TAB_KEYS.NOT}>\r\n </TabPane>\r\n <TabPane tab={tabRightText} key={TAB_KEYS.ERR}>\r\n </TabPane>\r\n </Tabs>\r\n <Table \r\n\t\t\t locale={{emptyText: this.getEmptyText()}}\r\n pagination={false}\r\n rowKey=\"Code\"\r\n columns={this.columns} dataSource={dataSource} />\r\n </Modal>\r\n }\r\n}"]}
@@ -80,10 +80,6 @@ var _header = require('../../components/header');
80
80
 
81
81
  var _header2 = _interopRequireDefault(_header);
82
82
 
83
- var _Portal = require('../../pages/Portal');
84
-
85
- var _Portal2 = _interopRequireDefault(_Portal);
86
-
87
83
  var _Portalbc = require('../../pages/Portalbc');
88
84
 
89
85
  var _Portalbc2 = _interopRequireDefault(_Portalbc);
@@ -209,7 +205,7 @@ var MainContainer = (0, _mobxReact.observer)(_class = (_temp = _class2 = functio
209
205
 
210
206
  var bcParams = isNewRetailBCPos ? '-bc' : '';
211
207
  var theme = _mutantsMicrofx.stores.portalStore.themeStore;
212
- var defualtImage = isVerticalTouch === true ? 'https://newretail.static.chanjet.com/tinified/logo' + bcParams + '.png' : 'https://newretail.static.chanjet.com/' + (!hsy_s && isPortal || theme === 'dark' && !isLogin ? 'protal-chanjet' : 'chanjet') + '-logo' + bcParams + '.png';
208
+ var defualtImage = isVerticalTouch === true ? 'https://newretail.static.chanjet.com/tinified/logo' + bcParams + '.png' : 'https://newretail.static.chanjet.com/' + (!hsy_s && isPortal || theme === 'dark' && !isLogin ? 'protal-chanjet' : 'chanjet') + '-logo' + bcParams + '.png?v=1';
213
209
  if (hsy_s === true) {
214
210
  return _react2.default.createElement(
215
211
  'div',
@@ -435,17 +431,20 @@ var MainContainer = (0, _mobxReact.observer)(_class = (_temp = _class2 = functio
435
431
  _tplusApi.User.logout();
436
432
  break;
437
433
  case 'modifypass':
438
- _mutantsMicrofx.stores.modalRouter.show({
439
- url: '/modifypass',
440
- title: '修改密码',
441
- className: 'modify-password',
442
- width: 402,
443
- footer: footer, modalType: 'mid',
444
- onHide: function onHide() {
445
- return _mutantsMicrofx.stores.modalRouter.hide('/modifypass');
446
- },
447
- destroyOnClose: true
448
- });
434
+ {
435
+ if (!_mutantsMicrofx.stores.offlineSys.shouldInOffline()) return;
436
+ _mutantsMicrofx.stores.modalRouter.show({
437
+ url: '/modifypass',
438
+ title: '修改密码',
439
+ className: 'modify-password',
440
+ width: 402,
441
+ footer: footer, modalType: 'mid',
442
+ onHide: function onHide() {
443
+ return _mutantsMicrofx.stores.modalRouter.hide('/modifypass');
444
+ },
445
+ destroyOnClose: true
446
+ });
447
+ }
449
448
  break;
450
449
  default:
451
450
  _mutantsMicrofx.history.push('/' + key);
@@ -607,6 +606,10 @@ var MainContainer = (0, _mobxReact.observer)(_class = (_temp = _class2 = functio
607
606
  if (!_mutantsMicrofx.stores.posLoginStore.posIsLogin && !~pathname.indexOf('login')) {
608
607
  _mutantsMicrofx.stores.modalRouter.hideAll && _mutantsMicrofx.stores.modalRouter.hideAll();
609
608
  return _react2.default.createElement(_reactRouter.Redirect, { to: '/login' });
609
+ } else {
610
+
611
+ // 如果刷新页面进来已经是登录状态 则直接初始化本地数据库及离线相关
612
+ _mutantsMicrofx.stores.offlineSys.initOfflineLocal(true);
610
613
  }
611
614
  var classNames = ['isPortal-layout', 'isRetailOrder-layout'];
612
615
  var layoutClassName = [isPortal, isRetailOrder].map(function (v, i) {
@@ -632,7 +635,7 @@ var MainContainer = (0, _mobxReact.observer)(_class = (_temp = _class2 = functio
632
635
  _react2.default.createElement(
633
636
  _tplusComponentsTouch.Layout.Content,
634
637
  null,
635
- this.props.match.isExact ? isNewRetailBCPos ? _react2.default.createElement(_Portalbc2.default, null) : _react2.default.createElement(_Portal2.default, null) : _react2.default.createElement(
638
+ this.props.match.isExact ? _react2.default.createElement(_Portalbc2.default, null) : _react2.default.createElement(
636
639
  _mutantsMicrofx.Switch,
637
640
  null,
638
641
  this.props.routes