{"version":3,"file":"index.tsx.067e1ee3.js","sources":["../../../../../src/pages/home/business.tsx","../../../../../src/pages/home/sections/quote/components/unit/index.tsx","../../../../../src/pages/home/sections/quote/components/total/index.tsx","../../../../../src/pages/home/sections/quote/components/cost/interface.ts","../../../../../src/pages/home/sections/quote/components/cost/index.tsx","../../../../../src/pages/home/sections/quote/components/detail/index.tsx","../../../../../src/pages/home/sections/quote/components/channelItem/index.tsx","../../../../../src/pages/home/sections/quote/index.tsx","../../../../../src/pages/home/index.tsx"],"sourcesContent":["import FbaWareSelect from \"@/components/FbaWareSelect\";\r\nimport Modal from \"@/components/Modal\";\r\nimport SelectArea from \"@/components/SelectArea\";\r\nimport {object2Query} from \"@/utils/ZUtils\";\r\nimport {IRenderApp} from \"@/ZRender/interface\";\r\nimport React, {useEffect, useState} from \"react\";\r\nimport './index.less';\r\n\r\ninterface IProps extends IRenderApp {\r\n params?: any,\r\n trigger?: any,\r\n $: any,\r\n onCallBack?: any\r\n}\r\n\r\nconst quick = [\r\n {\r\n name: '杭州市---FTW1---21KG',\r\n From: '330000/330100/330105',\r\n To: 'US||FTW1',\r\n Weight: 21\r\n },\r\n {\r\n name: '金华市---ONT8---102KG',\r\n From: '330000/330700/330782',\r\n To: 'US||ONT8',\r\n Weight: 102\r\n },\r\n]\r\n\r\n\r\nconst Home = (props: IProps) => {\r\n const [filterOptions, setFilterOptions] = useState()\r\n const {$} = props;\r\n const submitBtn = $('.search_btn_bj');\r\n submitBtn.onclick = () => {\r\n const inputDom = $('input');\r\n if (!filterOptions) {\r\n Modal.tips('请选择正确的目的地')\r\n return\r\n }\r\n const InputArray = Array.from(inputDom);\r\n const InputData: any = InputArray.reduce((t: any, item: any) => {\r\n t[item.name] = item.alt || item.value;\r\n return t;\r\n }, {});\r\n if (!InputData['From']) {\r\n Modal.tips('请选择起送地')\r\n return;\r\n }\r\n if (!InputData['To']) {\r\n Modal.tips('请选择目的地')\r\n return;\r\n }\r\n if (!InputData['Weight']) {\r\n Modal.tips('请输入总重量')\r\n return;\r\n }\r\n\r\n localStorage.setItem('homeQuery', JSON.stringify({\r\n From: InputData['From'],\r\n To: InputData['To'],\r\n Weight: InputData['Weight'],\r\n }))\r\n location.href = `/Home/MatchRoute${object2Query(InputData)}`\r\n }\r\n\r\n const [From, setFrom] = useState();\r\n const [To, setTo] = useState();\r\n\r\n useEffect(() => {\r\n const inputDom = $('input');\r\n const homeQuery = localStorage.getItem('homeQuery');\r\n if (homeQuery) {\r\n const queryObject = JSON.parse(homeQuery);\r\n if (!queryObject.To?.includes('||')) {\r\n localStorage.removeItem('homeQuery')\r\n } else {\r\n setFrom(queryObject.From);\r\n setTo(queryObject.To)\r\n inputDom[4].value = queryObject.Weight\r\n }\r\n }\r\n }, [])\r\n\r\n const onQuick = (item: any) => {\r\n const params = {\r\n From: item.From,\r\n To: item.To,\r\n Weight: item.Weight\r\n }\r\n location.href = `/Home/MatchRoute${object2Query(params)}`\r\n }\r\n\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n setFrom(e.target.value)}/>\r\n
\r\n
\r\n \r\n
\r\n
\r\n 总重量 :\r\n \r\n KG\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
历史搜索/热门 :
\r\n {\r\n quick.map((item: any, index: number) =>\r\n
onQuick(item)}>{item.name}
\r\n )}\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default Home;","import React from \"react\";\r\nimport './index.less'\r\nimport ZTable from \"@/components/Table\";\r\nimport {IColumn} from \"@/components/Table/interface\";\r\n\r\ninterface Props {\r\n source: any\r\n}\r\n\r\nconst UnitPrice = (props: Props) => {\r\n const {source} = props\r\n\r\n const column: IColumn[] = [\r\n {title: '重量(kg)', key: 'weight', width: 80, render: (t: number) => t / 1000},\r\n {title: '总报价(元)', key: 'money'},\r\n ]\r\n return (\r\n \r\n )\r\n}\r\nexport default UnitPrice","import React, {useEffect, useState} from \"react\";\r\nimport ZTable from \"@/components/Table\";\r\nimport {IColumn} from \"@/components/Table/interface\";\r\n\r\ninterface Props {\r\n source: any\r\n areaMap?: any\r\n}\r\n\r\nconst TotalPrice = (props: Props) => {\r\n const {source, areaMap = {}} = props\r\n const [data, setData] = useState>({})\r\n\r\n useEffect(() => {\r\n if (sessionStorage.getItem('areaMap')) {\r\n setData(JSON.parse(sessionStorage.getItem('areaMap') || ''))\r\n } else {\r\n setData(areaMap)\r\n }\r\n }, [])\r\n\r\n\r\n const getColumns = () => {\r\n const {title} = source\r\n return Object.keys(title).reduce((result: any, i: string) => {\r\n result.push({\r\n title: `${Number(i) / 1000}kg`,\r\n key: i,\r\n width: 50,\r\n render: (text: any) => text?.money || '/'\r\n })\r\n return result\r\n }, [])\r\n }\r\n\r\n const columns: IColumn[] = [\r\n {\r\n title: '区域/仓库',\r\n ellipsis: true,\r\n width: 75,\r\n key: 'area',\r\n render: (text: string[]) => text.map((i: string) => {data[i] || i} )\r\n },\r\n ...getColumns()\r\n ];\r\n\r\n return (\r\n \r\n )\r\n}\r\n\r\nexport default TotalPrice","export interface IGsProps {\r\n weight: number\r\n money: number\r\n profit?: number\r\n cost?: number\r\n}\r\n\r\n// interface IShips {\r\n// area: string\r\n// minweight: number\r\n// gs: IGsProps[]\r\n// }\r\n\r\n// quoteType == 2 单价表数据\r\nexport const initUnitData = (item: any) => {\r\n const {ships = []} = item.quotes\r\n const source = ships[0].gs\r\n const len = Math.ceil(source.length / 2)\r\n let first: IGsProps[] = []\r\n let second: IGsProps[] = []\r\n const l = source.length\r\n source.forEach((i: IGsProps, index: number) => {\r\n if (index < len) {\r\n if (index < 4) {\r\n first.push(i)\r\n }\r\n } else {\r\n if (index >= l - 4) {\r\n second.push(i)\r\n }\r\n }\r\n })\r\n return {\r\n first,\r\n second\r\n }\r\n}\r\n\r\n\r\n// quoteType == 2 单价表数据\r\nexport const initUnitData2 = (item: any) => {\r\n const {ships} = item.quotes\r\n const source = ships[0].gs\r\n const len = Math.ceil(source.length / 4)\r\n let a: IGsProps[] = []\r\n let b: IGsProps[] = []\r\n let c: IGsProps[] = []\r\n let d: IGsProps[] = []\r\n\r\n\r\n source.forEach((i: IGsProps, index: number) => {\r\n if (index < len) {\r\n a.push(i)\r\n }\r\n if (index >= len && index < 2 * len) {\r\n b.push(i)\r\n }\r\n if (index >= 2 * len && index < 3 * len) {\r\n c.push(i)\r\n }\r\n if (index >= 3 * len) {\r\n d.push(i)\r\n }\r\n })\r\n return {a, b, c, d}\r\n}\r\n\r\n\r\n// quoteType === 1 总价报数据\r\nexport const initTotalData = (item: any, show?: boolean) => {\r\n const {ships = []} = item.quotes\r\n let title: Record = {}\r\n\r\n const json: any = ships.reduce((result: any, item: any) => {\r\n if (show) {\r\n const gs = JSON.stringify(item.gs)\r\n if (result[gs]) {\r\n result[gs] = {\r\n ...result[gs],\r\n area: [...result[gs].area, item.area]\r\n }\r\n } else {\r\n result[gs] = {\r\n ...item,\r\n area: [item.area]\r\n }\r\n }\r\n } else {\r\n result[item.area] = {\r\n ...item,\r\n area: [item.area]\r\n }\r\n }\r\n\r\n return result\r\n }, {})\r\n\r\n const _ships = Object.values(json)?.reduce?.((result: any, i: any) => {\r\n const gs = i.gs.reduce((subResult: Record, sub: IGsProps) => {\r\n title[sub.weight] = sub.profit || 0\r\n subResult[sub.weight] = sub\r\n return subResult\r\n }, {})\r\n result.push({...i, ...gs})\r\n return result\r\n }, [])\r\n return {\r\n _ships,\r\n title\r\n }\r\n}\r\n","import React from \"react\";\r\nimport UnitPrice from \"@/pages/home/sections/quote/components/unit\";\r\nimport TotalPrice from \"@/pages/home/sections/quote/components/total\";\r\nimport {initTotalData, initUnitData, initUnitData2} from \"@/pages/home/sections/quote/components/cost/interface\";\r\n\r\ninterface Props {\r\n item: T\r\n type?: 2\r\n areaMap?: Record\r\n}\r\n\r\nconst CostEX = (props: Props) => {\r\n const {item = {}, type = 1, areaMap} = props\r\n\r\n return (\r\n <>\r\n {\r\n item.quotetype === 2\r\n &&\r\n (\r\n type === 1\r\n &&\r\n
\r\n \r\n
\r\n \r\n
\r\n ||\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n )\r\n ||\r\n \r\n }\r\n \r\n )\r\n}\r\n\r\nexport default CostEX","import React, {useEffect, useState} from \"react\";\r\nimport ZDrawer from \"@/components/Drawer\";\r\nimport CostEX from \"@/pages/home/sections/quote/components/cost\";\r\nimport SurchargeList from \"@/pages/skill/surcharge/table\";\r\nimport {Api} from \"@/api\";\r\nimport './index.less'\r\nimport {logisticsMap} from \"@/pages/order/interface\";\r\n\r\ninterface Props {\r\n item: any\r\n onOrder?: any\r\n}\r\n\r\nconst ChannelDetail = (props: Props) => {\r\n\r\n const {item, onOrder} = props\r\n const [visible, setVisible] = useState(false)\r\n const [detail, setDetail] = useState({})\r\n const [countryMap, setCountryMap] = useState>({})\r\n\r\n const onDetail = () => {\r\n Api.Channel.GetDetailById({id: item.id}).then((res: any) => {\r\n setDetail(res.data)\r\n setVisible(true)\r\n })\r\n }\r\n\r\n useEffect(() => {\r\n console.log(item)\r\n }, [item])\r\n return (\r\n <>\r\n 查看方案 >\r\n setVisible(false)} width={1000}>\r\n
\r\n
\r\n
{detail.name}
\r\n {detail.advantage && {detail.advantage}}\r\n
\r\n \r\n
\r\n
\r\n
运输方式: {logisticsMap[detail?.method]}
\r\n
体积系数: {detail?.factor}
\r\n
分泡比例: {detail?.divide * 100} %
\r\n
航运周期: {detail?.dayDescribe}
\r\n
\r\n
方案备注:
\r\n
\r\n {detail?.remarks?.map((i: string, index: number) =>\r\n {i};)}\r\n
\r\n
\r\n
\r\n \r\n {detail.specials && detail.specials?.length &&\r\n
\r\n
附加费
\r\n \r\n
|| ''\r\n }\r\n {\r\n detail?.content &&\r\n
\r\n
渠道说明
\r\n
\r\n
\r\n || ''\r\n }\r\n \r\n \r\n )\r\n}\r\n\r\nexport default ChannelDetail","import React, {useContext} from \"react\";\r\nimport './index.less'\r\nimport CostEX from \"@/pages/home/sections/quote/components/cost\";\r\nimport {AppContext, APPEvent} from \"@/ZRender/context\";\r\nimport {object2Query} from \"@/utils/ZUtils\";\r\nimport ChannelDetail from \"@/pages/home/sections/quote/components/detail\";\r\n\r\ninterface Props {\r\n item: any\r\n areaMap?: any\r\n}\r\n\r\nconst ChannelItem = (props: Props) => {\r\n const {state, dispatch} = useContext(AppContext);\r\n\r\n const {item, areaMap} = props\r\n\r\n const onOrder = (e: any) => {\r\n e.stopPropagation()\r\n if (state.isLogin === false) {\r\n dispatch({\r\n type: APPEvent.SHOWLOGIN,\r\n state: {showLogin: true}\r\n })\r\n return\r\n }\r\n const homeQuery = localStorage.getItem('homeQuery');\r\n const queryObject = JSON.parse(homeQuery || '{}');\r\n sessionStorage.removeItem('fields')\r\n sessionStorage.removeItem('topAddr')\r\n sessionStorage.removeItem('addr')\r\n sessionStorage.removeItem('boxPics')\r\n const TemplateName = item.name?.replace('%', '%25')\r\n location.href = `/order/createorder.html${object2Query({\r\n TemplateName,\r\n TemplateId: item.id,\r\n Method: item.method,\r\n from: queryObject?.From,\r\n country: item.countryCode\r\n })}`\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n {item.name} \r\n
立即下单>
\r\n
\r\n
\r\n {item.dayDescribe}\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n )\r\n}\r\nexport default ChannelItem","import React, {useEffect, useState} from \"react\";\r\nimport ChannelItem from \"@/pages/home/sections/quote/components/channelItem\";\r\nimport './index.less'\r\nimport {Api} from \"@/api\";\r\nimport {ISelect} from \"@/components/Select/helper\";\r\n\r\n\r\nconst QuoteSection = () => {\r\n const [country, setCountry] = useState('')\r\n const [data, setData] = useState([])\r\n const [items, setItems] = useState([])\r\n const [areaMap, setAreaMap] = useState>({})\r\n\r\n const init = () => {\r\n Api.Country.GetWareCountrys().then((res: any) => {\r\n const json = Object.keys(res.data).reduce((result: ISelect[], i: string) => {\r\n result.push({\r\n label: res.data[i],\r\n value: i\r\n })\r\n return result\r\n }, [])\r\n setItems(json)\r\n })\r\n Api.Country.GetAreaList2().then((res: any) => {\r\n const json = res.data.reduce((result: Record, i: any) => {\r\n result[i.code] = i.name\r\n return result\r\n }, {})\r\n sessionStorage.setItem('areaMap', JSON.stringify(json))\r\n setAreaMap(json)\r\n })\r\n }\r\n const getData = () => Api.Channel.GetChannelList({countryCode: country || 'US'}).then((res: any) => {\r\n const json = res.data.reduce((result: any, item: any) => {\r\n const quotes = JSON.parse(item.quotes || '{}')\r\n result.push({\r\n ...item,\r\n quotetype: quotes.quotetype,\r\n quotes\r\n })\r\n return result\r\n }, [])\r\n setData(json)\r\n })\r\n\r\n useEffect(() => {\r\n init()\r\n if (sessionStorage.getItem('baojia')) {\r\n setCountry(sessionStorage.getItem('baojia') || '')\r\n } else {\r\n setCountry('US')\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n if (country) {\r\n getData()\r\n }\r\n\r\n }, [country])\r\n\r\n\r\n const empty = () => (\r\n
\r\n \"\"/\r\n
\r\n )\r\n\r\n const onClick = (row: any) => {\r\n sessionStorage.setItem('baojia', row.value)\r\n setCountry(row.value)\r\n }\r\n\r\n const getClass = (c: ISelect) => c.value === country && 'hot-tab zc-hot-tab-active' || 'hot-tab zc-hot-tab'\r\n return (\r\n
\r\n
\r\n {items.map((c: ISelect) =>\r\n onClick(c)} className={getClass(c)}>{c.label})}\r\n
\r\n
\r\n {\r\n data.length && data?.map((item: any) => )\r\n ||\r\n empty()\r\n }\r\n {data.length % 3 === 2 &&
}\r\n
\r\n
\r\n )\r\n}\r\nexport default QuoteSection","import { AppRender } from \"@/ZRender\";\r\nimport React from \"react\";\r\nimport pages from '../../../page.json'\r\nimport Home from \"./business\";\r\nimport BaseApp from \"@/pages/_global/index\";\r\nimport QuoteSection from \"@/pages/home/sections/quote\";\r\n\r\nAppRender(pages.pages[\"src/pages/home/index.tsx\"], (props?: any) => {\r\n return (\r\n \r\n {props.jsxPath === '/src/pages/home/business.tsx' && }\r\n {props.jsxPath === '/src/pages/home/sections/quote/index.tsx' && }\r\n \r\n )\r\n})\r\n\r\n"],"names":["quick","name","From","To","Weight","Home","props","filterOptions","setFilterOptions","useState","$","submitBtn","onclick","inputDom","tips","InputData","InputArray","Array","from","reduce","t","item","alt","value","setItem","JSON","stringify","href","object2Query","setFrom","setTo","homeQuery","localStorage","getItem","queryObject","parse","includes","removeItem","onQuick","params","display","SelectArea","e","target","width","whiteSpace","map","index","UnitPrice","source","title","key","render","TotalPrice","areaMap","data","setData","sessionStorage","columns","ellipsis","text","i","getColumns","Object","keys","result","push","Number","money","_ships","initUnitData","ships","quotes","gs","len","Math","ceil","length","first","second","l","forEach","initUnitData2","a","b","c","d","initTotalData","show","json","area","values","subResult","sub","weight","profit","CostEX","type","quotetype","ChannelDetail","onOrder","visible","setVisible","detail","setDetail","countryMap","setCountryMap","onDetail","Channel","GetDetailById","id","then","res","log","advantage","logisticsMap","method","factor","divide","dayDescribe","remarks","specials","content","__html","ChannelItem","state","dispatch","useContext","AppContext","stopPropagation","isLogin","APPEvent","SHOWLOGIN","showLogin","TemplateName","replace","TemplateId","Method","country","countryCode","QuoteSection","setCountry","items","setItems","setAreaMap","init","Country","GetWareCountrys","label","GetAreaList2","code","getData","Api","GetChannelList","empty","onClick","row","getClass","AppRender","pages","jsxPath"],"mappings":"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"}