{"version":3,"sources":["components/Style.js","components/Navbar/Dropdown.js","components/API/api.js","components/images/logo.svg","components/Navbar/Navbar.js","components/images/Home/JPG輪播1-1.jpg","components/images/Home/JPG輪播1-2.jpg","components/images/Home/JPG輪播1-3.jpg","components/images/Home/JPG輪播1-4.jpg","components/images/Home/JPG輪播1-5.jpg","components/images/Home/JPG輪播1-6.jpg","components/images/Home/JPG輪播1-7.jpg","components/images/Home/JPG輪播1-8.jpg","components/pages/HomeImageSwiper1.js","components/images/Home/JPG輪播2-1.jpg","components/images/Home/JPG輪播2-2.jpg","components/images/Home/JPG輪播2-3.jpg","components/images/Home/JPG輪播2-4.jpg","components/images/Home/JPG輪播2-5.jpg","components/images/Home/JPG輪播2-6.jpg","components/images/Home/JPG輪播2-7.jpg","components/images/Home/JPG輪播2-8.jpg","components/pages/HomeImageSwiper2.js","components/pages/ButtonBlock.js","components/pages/Home.js","components/pages/ImagePaper.js","components/pages/ProductCategoryList.js","components/pages/Products.js","components/pages/HOPE.js","components/pages/Company.js","components/pages/Services.js","components/pages/Contact.js","components/pages/GotonBreadcrumbs.js","components/pages/ProductDetail.js","App.js","components/pages/auth.js","components/pages/Login.js","components/pages/listItems.js","components/pages/CM/ProductCategoryGrid.js","components/pages/CM/Index.js","components/pages/CM/Add.js","components/pages/CM/Edit.js","components/pages/CM.js","components/pages/PCM/AdminProductCategoryList.js","components/pages/PCM/AdminImagePaper.js","components/pages/PCM/Index.js","components/pages/PCM/Dropzone.js","components/pages/PCM/SpecTable.js","components/pages/PCM/Add.js","components/pages/PCM/Edit.js","components/pages/PCM.js","components/pages/PM.js","components/pages/PS.js","components/pages/AdminGotonWeb.js","index.js"],"names":["DropdownUL","styled","ul","props","isClick","DropdownLink","Link","Dropdownli","li","CaretDown","i","NavbarItem","nav","NavbarLogo","MenuIcon","div","NavItem","NavLinks","Dropdown","useState","click","setClick","onClick","menuDatas","map","item","index","to","ProductCategoryID","ProductCategoryParentID","ProductCategoryName","webURL","productRequest","axios","create","baseURL","authRequest","contactRequest","getHomeImageSwiper2Link","data","get","getContactSystemCode","getProductList","post","getAllProductList","getProductCategoryList","getProductCategoryGridList","getProductCategoryParentList","getProductCategoryEndPointList","checkProductExist","ProductName","checkProductCategoryExist","Navbar","dropdown","setDropdown","closeMobileMenu","datas","getDatas","useEffect","getMenu","then","res","catch","err","console","log","alt","className","src","logo","onMouseEnter","window","innerWidth","onMouseLeave","length","id","HomeImageSwiper1","SwiperCore","use","Navigation","Pagination","Autoplay","EffectFade","effect","spaceBetween","slidesPerView","autoplay","delay","disableOnInteraction","pauseOnMouseEnter","navigation","pagination","clickable","touchMoveStopPropagation","loop","s1_1","s1_2","s1_3","s1_4","s1_5","s1_6","s1_7","s1_8","HomeImageSwiper2","ListData","setListData","valuesArray","style","textDecoration","color","filter","Code","Value1","s2_1","s2_2","s2_3","s2_4","s2_5","s2_6","s2_7","s2_8","ButtonBlock","width","Home","ImagePaper","selected","setSelected","imgselected","setimgSelected","Grid","height","onMouseOver","onMouseOut","Paper","elevation","ProductID","Id","ParentId","fontColor","ImageData","loading","display","justifyContent","alignItems","marginTop","marginBottom","marginLeft","fontWeight","fontSize","MinusSquare","PlusSquare","TransitionComponent","Collapse","StyledTreeItem","withStyles","theme","iconContainer","opacity","group","paddingLeft","TreeItem","useStyles","makeStyles","root","flexGrow","maxWidth","fontFamily","ProductCategoryList","ProductCategoryData","classes","history","useHistory","String","expand","setExpand","items","undefined","childItem","isAutoRedirectionProductID","push","TreeView","defaultExpanded","expanded","defaultCollapseIcon","defaultExpandIcon","defaultEndIcon","onNodeToggle","nodeId","isExpanded","label","chiIndex","Products","useParams","parentId","backdrop","zIndex","drawer","backgroundColor","loadico","setloadico","setDatas","currid","setCurrid","paginationTotal","setPaginationTotal","sid","setsid","getAll","pagenumber","pagesize","productcategory","TOTAL_ROW_COUNT","finally","Backdrop","open","CircularProgress","container","justify","spacing","lg","md","direction","ProductImageData","count","parseInt","Math","ceil","page","onChange","event","newPage","HOPE","Company","AOS","init","duration","FirstWordStyle","background","WebkitBackgroundClip","backgroundClip","data-aos","Services","Contact","textName","useRef","textMail","textSubject","textMessage","getloadico","onSubmit","e","preventDefault","mailData","Name","current","value","Mail","Subject","Message","type","name","ref","defaultValue","size","aria-required","aria-invalid","required","paddingBottom","handleClick","GotonBreadcrumbs","ProductCategory","CategoryName","ProductCategoryParentId","Breadcrumbs","aria-label","Typography","ProductDetail","ProductId","RelatedDatas","setRelatedDatas","loadRelatedDatas","productId","img","setimg","imgIndex","setimgIndex","allImgList","setAllImgList","spec","getspec","getDetail","ProductImageList","newImageList","ProductSpecList","xs","sm","IsCategoryType","Box","sx","bgcolor","m","border","Tooltip","title","arrow","placement","controller","hideOnScroll","ShowSpec","arr","Spec","Pkid","renderItems","IsAutoRedirection","padding","overflow","flexDirection","App","exact","path","component","getToken","token","localStorage","getItem","Logout","removeItem","IsLogin","isExpired","Copyright","variant","align","href","Date","getFullYear","paper","avatar","margin","pink","form","submit","mainListItems","ListItem","button","ListItemIcon","ListItemText","primary","useRowStyles","borderBottom","Row","row","childrow","React","setOpen","TableRow","TableCell","IconButton","ProductCategorySeq","ProductCategoryEnabled","paddingTop","colSpan","in","timeout","unmountOnExit","Table","TableHead","TableBody","cRow","ProductCategoryGrid","TableContainer","Index","getListData","Button","startIcon","formControl","minWidth","selectEmpty","Add","values","setValues","autoComplete","alert","headers","FormControl","FormHelperText","Select","target","MenuItem","TextField","helperText","Edit","OLDProductCategoryParentID","OLDProductCategoryName","loadDate","result","error","save","disabled","confirm","CM","AdminProductCategoryList","setId","AdminImagePaper","ProductEnabled","DeleteProductList","setDeleteProductList","handleChange","checked","array","indexOf","splice","firstItem","find","element","textAlign","location","reload","Checkbox","Dropzone","getFile","thumb","borderRadius","marginRight","boxSizing","files","setFiles","useDropzone","accept","noClick","maxFiles","noKeyboard","onDrop","acceptedFiles","file","Object","assign","preview","URL","createObjectURL","getRootProps","getInputProps","delectimg","thumbs","fileName","forEach","revokeObjectURL","table","createData","SpecSeq","SpecEnabled","rows","uuidv4","SpacTable","getSpec","specList","mode","dataRow","x","Container","ProductSeq","File1","File2","File3","File4","file1","setFile1","file2","setFile2","file3","setFile3","file4","setFile4","setSpec","formData","FormData","append","UUID","OLDProductName","isDelete","Orifile1","setOriFile1","Orifile2","setOriFile2","Orifile3","setOriFile3","Orifile4","setOriFile4","SpecList","ImageList","ProductImageType","setDelete2","setDelete3","setDelete4","oriImage1","oriImage2","oriImage3","oriImage4","PCM","PM","CurrAddress","setCurrAddress","CurrSkype","setCurrSkype","CurrTel","setCurrTel","CurrFax","setCurrFax","CurrEmail1","setCurrEmail1","CurrEmail2","setCurrEmail2","CurrSwiper2Link1","setCurrSwiper2Link1","CurrSwiper2Link2","setCurrSwiper2Link2","CurrSwiper2Link3","setCurrSwiper2Link3","CurrSwiper2Link4","setCurrSwiper2Link4","CurrSwiper2Link5","setCurrSwiper2Link5","CurrSwiper2Link6","setCurrSwiper2Link6","CurrSwiper2Link7","setCurrSwiper2Link7","CurrSwiper2Link8","setCurrSwiper2Link8","Address","setAddress","Skype","setSkype","Tel","setTel","Fax","setFax","Email1","setEmail1","Email2","setEmail2","Swiper2Link1","setSwiper2Link1","Swiper2Link2","setSwiper2Link2","Swiper2Link3","setSwiper2Link3","Swiper2Link4","setSwiper2Link4","Swiper2Link5","setSwiper2Link5","Swiper2Link6","setSwiper2Link6","Swiper2Link7","setSwiper2Link7","Swiper2Link8","setSwiper2Link8","getList","userData","trim","PS","UserAccount","setUserAccount","UserPWD","setUserPWD","UserPWDChk","setUserPWDChk","CurrUserAccount","setCurrUserAccount","drawerWidth","toolbar","paddingRight","toolbarIcon","mixins","appBar","transition","transitions","easing","sharp","leavingScreen","appBarShift","enteringScreen","boxSize","palette","grey","boxSizeShift","menuButton","menuButtonHidden","drawerPaper","position","whiteSpace","drawerPaperClose","overflowX","breakpoints","up","appBarSpacer","content","fixedHeight","ReactDOM","render","username","setUsername","password","setPassword","CssBaseline","Avatar","Username","Password","Token","setItem","noValidate","fullWidth","autoFocus","mt","AppBar","clsx","Toolbar","edge","noWrap","Drawer","Divider","pt","document","getElementById"],"mappings":"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","file":"static/js/main.0a05cd2e.chunk.js","sourcesContent":["import styled from 'styled-components'\r\nimport { Link } from 'react-router-dom';\r\n\r\nexport const DropdownUL = styled.ul`\r\n background: linear-gradient(90deg, rgb(28, 27, 27) 0%, rgb(26, 23, 23) 100%);\r\n opacity: .8;\r\n width: 200px;\r\n position: absolute;\r\n top: 80px;\r\n list-style: none;\r\n text-align: start;\r\n display: ${ props => props.isClick ? 'none' :'block'};\r\n`\r\n\r\nexport const DropdownLink = styled(Link)`\r\n display: block;\r\n height: 100%;\r\n width: 100%;\r\n text-decoration: none;\r\n color: #ffffff;\r\n padding: 16px;\r\n &:hover {\r\n color: chartreuse;\r\n }\r\n`\r\n\r\nexport const Dropdownli = styled.li`\r\n cursor: pointer;\r\n &:hover {\r\n background: rgb(28, 27, 27);\r\n }\r\n`\r\n\r\nexport const CaretDown = styled.i`\r\n @media screen and (max-width: 960px) {\r\n display: none;\r\n }\r\n`\r\n\r\nexport const NavbarItem = styled.nav`\r\n background: linear-gradient(90deg, rgb(28, 27, 27) 0%, rgb(26, 23, 23) 100%);\r\n opacity: .8;\r\n height: 80px;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n font-size: 14px;\r\n position: sticky;\r\n top: 0;\r\n z-index: 999;\r\n`\r\n\r\nexport const NavbarLogo = styled(Link)`\r\n color: #fff;\r\n justify-self: start;\r\n margin-left: 20px;\r\n cursor: pointer;\r\n text-decoration: none;\r\n font-size: 2rem;\r\n\r\n &:hover {\r\n background-color: rgb(28, 27, 27);\r\n color: chartreuse;\r\n transition: all 0.2s ease-out;\r\n } \r\n\r\n @media screen and (max-width: 960px) {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n transform: translate(25%, 50%);\r\n }\r\n\r\n`\r\n\r\nexport const MenuIcon = styled.div`\r\n display: none;\r\n @media screen and (max-width: 960px) {\r\n display: block;\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n transform: translate(-100%, 60%);\r\n font-size: 1.8rem;\r\n cursor: pointer;\r\n }\r\n\r\n`\r\n\r\nexport const NavItem = styled.li`\r\n display: flex;\r\n align-items: center;\r\n height: 80px;\r\n`\r\n\r\nexport const NavLinks = styled(Link)`\r\n color: white;\r\n text-decoration: none;\r\n padding: 0.5rem 1rem;\r\n\r\n &:hover {\r\n background-color: rgb(28, 27, 27);\r\n color: chartreuse;\r\n border-radius: 4px;\r\n \r\n transition: all 0.2s ease-out;\r\n }\r\n\r\n @media screen and (max-width: 960px) {\r\n text-align: center;\r\n padding: 2rem;\r\n width: 100%;\r\n display: table;\r\n &:hover {\r\n background-color: #1888ff;\r\n border-radius: 0;\r\n }\r\n }\r\n`","import React, { useState } from 'react';\r\n\r\nimport { DropdownUL, DropdownLink, Dropdownli } from '../Style'\r\n\r\nfunction Dropdown(props) {\r\n const [click, setClick] = useState(false);\r\n\r\n const handleClick = () => setClick(!click);\r\n\r\n return (\r\n <>\r\n \r\n {\r\n props.menuDatas.map(\r\n (item, index) => {\r\n return (\r\n \r\n setClick(false)}\r\n >\r\n {item.ProductCategoryName}\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 Dropdown;","import axios from 'axios';\r\n\r\nconst webURL = 'https://www.goton.com.tw';\r\n\r\n\r\nconst productRequest = axios.create({\r\n baseURL: webURL+'/api/Product/'\r\n});\r\n\r\nconst authRequest = axios.create({\r\n baseURL: webURL +'/api/Auth/'\r\n});\r\n\r\nconst contactRequest = axios.create({\r\n baseURL: webURL + '/api/Contact/'\r\n});\r\n\r\n//登入相關的api\r\n\r\n//Username\r\n//Password\r\nexport const Login = data => authRequest.post('/Login', data);\r\nexport const getAllUser = (token) => authRequest.get('/GetAllUser', { headers: { 'Authorization': `Bearer ${token}` } });\r\nexport const setUser = (data, token) => authRequest.post('/SetUser', data, { headers: { 'Authorization': `Bearer ${token}` } });\r\n\r\n//link相關\r\nexport const getHomeImageSwiper2Link = data => productRequest.get('/GetHomeImageSwiper2Link');\r\nexport const setHomeImageSwiper2Link = data => productRequest.get('/SetHomeImageSwiper2Link');\r\n//contact相關\r\nexport const getContactSystemCode = data => contactRequest.get('/GetContactSystemCode');\r\n\r\n//SetSystemCode相關\r\n\r\nexport const setSystemCode = (data, token) => contactRequest.post('/SetSystemCode', data, { headers: { 'Authorization': `Bearer ${token}` } });\r\n// 商品相關 api\r\nexport const getProductList = data => productRequest.post('/GetProductList', data);\r\nexport const getAllProductList = data => productRequest.post('/GetAllProductList', data);\r\n\r\n\r\nexport const getRelatedProductList = data => productRequest.post('/GetRelatedProductList', data);\r\n\r\nexport const getProductCategoryMenuList = () => productRequest.get('/GetProductCategoryMenuList');\r\n\r\nexport const getProductCategoryList = () => productRequest.get('/GetProductCategoryList');\r\n\r\nexport const getProductCategoryGridList = () => productRequest.get('/GetProductCategoryGridList');\r\n\r\nexport const getProductCategoryById = data => productRequest.get('/GetProductCategoryById?Id=' + data);\r\n\r\nexport const getProductCategoryParentList = () => productRequest.get('/GetProductCategoryParentList');\r\n\r\nexport const getProductCategoryEndPointList = () => productRequest.get('/GetProductCategoryEndPointList');\r\n\r\nexport const getProductDetail = data => productRequest.get('/GetProductDetail?productId=' + data);\r\n\r\nexport const addProductCategory = (data, token) => productRequest.post('/AddProductCategory', data, { headers: { 'Authorization': `Bearer ${token}` } });\r\n\r\nexport const editProductCategory = (data, token) => productRequest.post('/EditProductCategory', data, { headers: { 'Authorization': `Bearer ${token}` } });\r\n\r\nexport const deleteProductCategory = (data, token) => productRequest.post('/DeleteProductCategory', data, { headers: { 'Authorization': `Bearer ${token}` } });\r\n\r\nexport const addProduct = (data, token) => productRequest.post('/AddProduct', data, { headers: { 'Authorization': `Bearer ${token}` } });\r\n\r\nexport const editProduct = (data, token) => productRequest.post('/EditProduct', data, { headers: { 'Authorization': `Bearer ${token}` } });\r\n\r\nexport const deleteProductList = (data, token) => productRequest.post('/DeleteProductList', data, { headers: { 'Authorization': `Bearer ${token}` } });\r\n\r\nexport const deleteProduct = (data, token) => productRequest.post('/DeleteProduct', data, { headers: { 'Authorization': `Bearer ${token}` } });\r\n\r\nexport const getProductById = data => productRequest.get('/GetProductById?Id=' + data);\r\n\r\nexport const checkProductExist = (ProductName) => productRequest.get('/CheckProductExist?ProductName=' + ProductName);\r\n\r\nexport const checkProductCategoryExist = (ProductCategoryName, ProductCategoryParentID) => productRequest.get('/CheckProductCategoryExist?ProductCategoryName=' + ProductCategoryName + '&ProductCategoryParentID=' + ProductCategoryParentID);\r\n\r\n//Contact 相關\r\n\r\nexport const sendMail = data => authRequest.post('/SendMail', data);","export default __webpack_public_path__ + \"static/media/logo.c848a614.svg\";","import React, { useState, useEffect } from 'react';\r\nimport Dropdown from './Dropdown';\r\nimport './Navbar.css';\r\nimport { getProductCategoryMenuList } from \"../API/api.js\";\r\nimport logo from '../images/logo.svg'\r\nimport { CaretDown, NavbarItem, NavbarLogo, MenuIcon, NavItem, NavLinks } from '../Style'\r\n\r\nfunction Navbar() {\r\n const [click, setClick] = useState(false);\r\n\r\n const [dropdown, setDropdown] = useState(false);\r\n\r\n const handleClick = () => setClick(!click);\r\n\r\n const closeMobileMenu = () => setClick(false);\r\n\r\n const [datas, getDatas] = useState([])\r\n\r\n\r\n const onMouseEnter = () => {\r\n if (window.innerWidth < 960) {\r\n setDropdown(false);\r\n } else {\r\n setDropdown(true);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n\r\n getMenu();\r\n\r\n }, []);\r\n //而當帶入空陣列時,則該 Effect 只會在首次 Render 時執行,如同 componentDidMount\r\n\r\n const getMenu = () => {\r\n\r\n getProductCategoryMenuList()\r\n .then(res => {\r\n getDatas(res.data);\r\n })\r\n .catch(err => {\r\n console.log(err);\r\n getDatas([]);\r\n })\r\n }\r\n\r\n const onMouseLeave = () => {\r\n if (window.innerWidth < 960) {\r\n setDropdown(false);\r\n } else {\r\n setDropdown(false);\r\n }\r\n };\r\n\r\n\r\n\r\n return (\r\n <>\r\n \r\n \"companyLogo\"\r\n \r\n GOTON \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n Home\r\n \r\n \r\n \r\n 0?'/Products/' + datas[0].ProductCategoryID + '/' + datas[0].ProductCategoryParentID:'/'}\r\n onClick={closeMobileMenu}\r\n >\r\n Products\r\n \r\n \r\n {dropdown && }\r\n \r\n \r\n \r\n Company\r\n \r\n \r\n \r\n \r\n Services\r\n \r\n \r\n \r\n \r\n Contact\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 Navbar;","export default __webpack_public_path__ + \"static/media/JPG輪播1-1.cb0e9e4c.jpg\";","export default __webpack_public_path__ + \"static/media/JPG輪播1-2.61be075b.jpg\";","export default __webpack_public_path__ + \"static/media/JPG輪播1-3.a696f7ee.jpg\";","export default __webpack_public_path__ + \"static/media/JPG輪播1-4.434f6153.jpg\";","export default __webpack_public_path__ + \"static/media/JPG輪播1-5.2426361d.jpg\";","export default __webpack_public_path__ + \"static/media/JPG輪播1-6.2c5bbee8.jpg\";","export default __webpack_public_path__ + \"static/media/JPG輪播1-7.fb75c7b9.jpg\";","export default __webpack_public_path__ + \"static/media/JPG輪播1-8.c4a1746a.jpg\";","import React from 'react';\r\nimport { Swiper, SwiperSlide } from 'swiper/react';\r\nimport SwiperCore, { Navigation, Pagination, Autoplay, EffectFade } from 'swiper';\r\nimport 'swiper/swiper.scss';\r\nimport 'swiper/components/navigation/navigation.scss';\r\nimport 'swiper/components/pagination/pagination.scss';\r\nimport 'swiper/components/effect-fade/effect-fade.scss';\r\nimport './Pages.css';\r\nimport s1_1 from '../images/Home/JPG輪播1-1.jpg'\r\nimport s1_2 from '../images/Home/JPG輪播1-2.jpg'\r\nimport s1_3 from '../images/Home/JPG輪播1-3.jpg'\r\nimport s1_4 from '../images/Home/JPG輪播1-4.jpg'\r\nimport s1_5 from '../images/Home/JPG輪播1-5.jpg'\r\nimport s1_6 from '../images/Home/JPG輪播1-6.jpg'\r\nimport s1_7 from '../images/Home/JPG輪播1-7.jpg'\r\nimport s1_8 from '../images/Home/JPG輪播1-8.jpg'\r\n\r\nfunction HomeImageSwiper1() {\r\n\r\n SwiperCore.use([Navigation, Pagination, Autoplay, EffectFade ]);\r\n \r\n return (\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\n \r\n \r\n \r\n
\r\n \r\n );\r\n}\r\n\r\nexport default HomeImageSwiper1;","export default __webpack_public_path__ + \"static/media/JPG輪播2-1.37a3da44.jpg\";","export default __webpack_public_path__ + \"static/media/JPG輪播2-2.96e2553b.jpg\";","export default __webpack_public_path__ + \"static/media/JPG輪播2-3.d8063c56.jpg\";","export default __webpack_public_path__ + \"static/media/JPG輪播2-4.bdfbe205.jpg\";","export default __webpack_public_path__ + \"static/media/JPG輪播2-5.e5597c93.jpg\";","export default __webpack_public_path__ + \"static/media/JPG輪播2-6.c36c8447.jpg\";","export default __webpack_public_path__ + \"static/media/JPG輪播2-7.1d45f1aa.jpg\";","export default __webpack_public_path__ + \"static/media/JPG輪播2-8.1df849ad.jpg\";","import React, { useState, useEffect } from 'react';\r\nimport { Swiper, SwiperSlide } from 'swiper/react';\r\nimport SwiperCore, { Navigation, Pagination, Autoplay } from 'swiper';\r\nimport { Link } from 'react-router-dom';\r\nimport { getHomeImageSwiper2Link } from \"../API/api.js\";\r\n\r\nimport 'swiper/swiper.scss';\r\nimport 'swiper/components/navigation/navigation.scss';\r\nimport 'swiper/components/pagination/pagination.scss';\r\nimport './Pages.css';\r\n\r\nimport s2_1 from '../images/Home/JPG輪播2-1.jpg'\r\nimport s2_2 from '../images/Home/JPG輪播2-2.jpg'\r\nimport s2_3 from '../images/Home/JPG輪播2-3.jpg'\r\nimport s2_4 from '../images/Home/JPG輪播2-4.jpg'\r\nimport s2_5 from '../images/Home/JPG輪播2-5.jpg'\r\nimport s2_6 from '../images/Home/JPG輪播2-6.jpg'\r\nimport s2_7 from '../images/Home/JPG輪播2-7.jpg'\r\nimport s2_8 from '../images/Home/JPG輪播2-8.jpg'\r\n\r\nfunction HomeImageSwiper2() {\r\n\r\n SwiperCore.use([Navigation, Pagination, Autoplay]);\r\n const [ListData, setListData] = useState([]);\r\n\r\n const getLinkData = () => {\r\n\r\n getHomeImageSwiper2Link()\r\n .then(res => {\r\n const valuesArray = res.data;\r\n //console.log(valuesArray);\r\n setListData(valuesArray);\r\n\r\n })\r\n .catch(err => {\r\n console.log('err', err);\r\n })\r\n }\r\n\r\n useEffect(() => {\r\n getLinkData();\r\n }, []);\r\n\r\n\r\n return (\r\n
\r\n \r\n \r\n item.Code == \"Swiper2Link1\").length > 0) ? ListData.filter(item => item.Code == \"Swiper2Link1\")[0].Value1 : \"#\"}>\r\n \r\n \r\n \r\n \r\n item.Code == \"Swiper2Link2\").length > 0) ? ListData.filter(item => item.Code == \"Swiper2Link2\")[0].Value1 : \"#\"}>\r\n \r\n \r\n \r\n \r\n item.Code == \"Swiper2Link3\").length > 0) ? ListData.filter(item => item.Code == \"Swiper2Link3\")[0].Value1 : \"#\"}>\r\n \r\n \r\n \r\n \r\n item.Code == \"Swiper2Link4\").length > 0) ? ListData.filter(item => item.Code == \"Swiper2Link4\")[0].Value1 : \"#\"}>\r\n \r\n \r\n \r\n \r\n item.Code == \"Swiper2Link5\").length > 0) ? ListData.filter(item => item.Code == \"Swiper2Link5\")[0].Value1 : \"#\"}>\r\n \r\n \r\n \r\n \r\n item.Code == \"Swiper2Link6\").length > 0) ? ListData.filter(item => item.Code == \"Swiper2Link6\")[0].Value1 : \"#\"}>\r\n \r\n \r\n \r\n \r\n item.Code == \"Swiper2Link7\").length > 0) ? ListData.filter(item => item.Code == \"Swiper2Link7\")[0].Value1 : \"#\"}>\r\n \r\n \r\n \r\n \r\n item.Code == \"Swiper2Link8\").length > 0) ? ListData.filter(item => item.Code == \"Swiper2Link8\")[0].Value1 : \"#\"}>\r\n \r\n \r\n \r\n \r\n
\r\n\r\n );\r\n}\r\n\r\nexport default HomeImageSwiper2;","import React, { useState, useEffect, useRef } from 'react';\r\nimport logo from '../images/logo.svg'\r\nimport { getContactSystemCode } from \"../API/api.js\";\r\n\r\nfunction ButtonBlock() {\r\n const [ListData, setListData] = useState([]);\r\n\r\n const getContactData = () => {\r\n\r\n getContactSystemCode()\r\n .then(res => {\r\n const valuesArray = res.data;\r\n //console.log(valuesArray);\r\n setListData(valuesArray);\r\n\r\n })\r\n .catch(err => {\r\n console.log('err', err);\r\n })\r\n }\r\n\r\n useEffect(() => {\r\n getContactData();\r\n }, []);\r\n\r\n\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n \"companyLogo\"\r\n\r\n
\r\n
\r\n
\r\n
\r\n

CONTACT INFORMATION

\r\n

\r\n Address:{(ListData.filter(item => item.Code == \"Address\").length > 0) ? ListData.filter(item => item.Code == \"Address\")[0].Value1 : \"\"}\r\n

\r\n

\r\n Tel:{(ListData.filter(item => item.Code == \"Tel\").length > 0) ? ListData.filter(item => item.Code == \"Tel\")[0].Value1 : \"\"} Fax:{(ListData.filter(item => item.Code == \"Fax\").length > 0) ? ListData.filter(item => item.Code == \"Fax\")[0].Value1 : \"\"}\r\n

\r\n

\r\n E-mail:{(ListData.filter(item => item.Code == \"Email1\").length > 0) ? ListData.filter(item => item.Code == \"Email1\")[0].Value1 : \"\"}\r\n /{(ListData.filter(item => item.Code == \"Email2\").length > 0) ? ListData.filter(item => item.Code == \"Email2\")[0].Value1 : \"\"}\r\n

\r\n

\r\n Skype:{(ListData.filter(item => item.Code == \"Skype\").length > 0) ? ListData.filter(item => item.Code == \"Skype\")[0].Value1 : \"\"}\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 ButtonBlock;","import React from 'react';\r\nimport HomeImageSwiper1 from './HomeImageSwiper1';\r\nimport HomeImageSwiper2 from './HomeImageSwiper2';\r\nimport ButtonBlock from './ButtonBlock';\r\nimport './Pages.css';\r\n\r\n\r\nexport default function Home() {\r\n\r\n\r\n return (\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}","import React, { useState } from 'react';\r\nimport { Paper } from '@material-ui/core';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport {\r\n Link\r\n} from \"react-router-dom\";\r\n\r\nexport default function ImagePaper(props) {\r\n\r\n const [selected, setSelected] = useState(0)\r\n\r\n const [imgselected, setimgSelected] = useState('75px')\r\n\r\n return (\r\n <>\r\n { setSelected(13);setimgSelected('150px') }}\r\n onMouseOut={() => { setSelected(0); setimgSelected('75px') }}\r\n >\r\n \r\n \r\n \"ProductImage\"\r\n
\r\n
{props.ProductName}
\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","import React, { useState, useEffect } from 'react';\r\nimport { Link, useHistory } from \"react-router-dom\";\r\n\r\nimport { makeStyles, withStyles } from '@material-ui/core/styles';\r\n\r\nimport TreeView from '@material-ui/lab/TreeView';\r\nimport TreeItem from '@material-ui/lab/TreeItem';\r\nimport Collapse from '@material-ui/core/Collapse';\r\nimport { animated } from 'react-spring/web.cjs'; // web.cjs is required for IE 11 support\r\nimport PropTypes from 'prop-types';\r\nimport FiberManualRecordIcon from '@material-ui/icons/FiberManualRecord';\r\n\r\n//import ExpandMoreIcon from '@material-ui/icons/ExpandMore';\r\n//import ExpandLessIcon from '@material-ui/icons/ExpandLess';\r\n//import KeyboardArrowRightIcon from '@material-ui/icons/KeyboardArrowRight';\r\n\r\n\r\nfunction MinusSquare(props) {\r\n return (\r\n \r\n );\r\n}\r\n\r\nfunction PlusSquare(props) {\r\n return (\r\n \r\n );\r\n}\r\n\r\n//function CloseSquare(props) {\r\n// return (\r\n// \r\n// );\r\n//}\r\n\r\nfunction TransitionComponent(props) {\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nTransitionComponent.propTypes = {\r\n /**\r\n * Show the component; triggers the enter or exit states\r\n */\r\n in: PropTypes.bool,\r\n};\r\n\r\nconst StyledTreeItem = withStyles((theme) => ({\r\n iconContainer: {\r\n '& .close': {\r\n opacity: 0.3,\r\n },\r\n },\r\n group: {\r\n marginLeft: 7,\r\n paddingLeft: 18\r\n },\r\n}))((props) => );\r\n\r\nconst useStyles = makeStyles({\r\n root: {\r\n height: 264,\r\n flexGrow: 1,\r\n maxWidth: 400,\r\n fontFamily: \"Montserrat,arial\"\r\n },\r\n});\r\n\r\n\r\n\r\n\r\nexport default function ProductCategoryList({ ProductCategoryData, Id, ParentId }) {\r\n const classes = useStyles();\r\n const history = useHistory();\r\n\r\n const [expand, setExpand] = useState([String(ParentId)]);\r\n \r\n\r\n useEffect(() => {\r\n var items = ProductCategoryData.filter(i => i.ProductCategoryID == Id && i.ProductCategoryParentID == ParentId);\r\n\r\n if (items != undefined && items.length > 0) {\r\n var childItem = items[0];\r\n if (childItem.isAutoRedirectionProductID != \"\") {\r\n history.push(`/ProductDetail/${childItem.isAutoRedirectionProductID}/${childItem.ProductCategoryID}/${childItem.ProductCategoryParentID}`);\r\n }\r\n }\r\n\r\n setExpand([String(ParentId)]);\r\n }, [ParentId]);\r\n \r\n\r\n \r\n return (\r\n \r\n }\r\n defaultExpandIcon={}\r\n defaultEndIcon={}\r\n\r\n onNodeToggle={(nodeId, isExpanded) => {\r\n \r\n if (isExpanded[0] !== undefined) {\r\n setExpand([String(isExpanded[0])]) \r\n }\r\n \r\n }}\r\n >\r\n {\r\n\r\n ProductCategoryData.map((item, index) => {\r\n if (item.ProductCategoryParentID === 0) {\r\n\r\n return (\r\n i.ProductCategoryParentID === item.ProductCategoryID).length > 0) ? (`#`) : (`/Products/${item.ProductCategoryID}/${item.ProductCategoryParentID}`)} style={{ textDecoration: 'none' }}>\r\n \r\n {\r\n ProductCategoryData.filter(i => i.ProductCategoryParentID === item.ProductCategoryID).map(\r\n (childItem, chiIndex) => {\r\n if (childItem.isAutoRedirectionProductID != \"\") {\r\n return (\r\n\r\n \r\n \r\n \r\n\r\n )\r\n } else {\r\n return (\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 } else {\r\n return \"\";\r\n }\r\n\r\n })\r\n }\r\n \r\n );\r\n}\r\n","import React, { useState, useEffect } from 'react';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport { useParams } from \"react-router-dom\";\r\n\r\nimport Backdrop from '@material-ui/core/Backdrop';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport Pagination from '@material-ui/core/Pagination'\r\nimport Grid from '@material-ui/core/Grid';\r\nimport ButtonBlock from './ButtonBlock';\r\nimport ImagePaper from './ImagePaper';\r\nimport ProductCategoryList from './ProductCategoryList';\r\nimport { getProductCategoryList, getProductList } from \"../API/api.js\";\r\nimport './Pages.css';\r\n\r\nexport default function Products() {\r\n\r\n let { id } = useParams(1)\r\n let { parentId } = useParams(1)\r\n\r\n let pagesize = 20;\r\n\r\n const useStyles = makeStyles((theme) => ({\r\n backdrop: {\r\n zIndex: theme.zIndex.drawer + 1,\r\n backgroundColor: 'transparent!important'\r\n },\r\n }));\r\n\r\n const classes = useStyles();\r\n\r\n const [loadico, setloadico] = useState(false)\r\n\r\n const [datas, setDatas] = useState([])\r\n\r\n const [currid, setCurrid] = useState(1)\r\n\r\n const [paginationTotal, setPaginationTotal] = useState(0)\r\n\r\n const [ListData, setListData] = useState([])\r\n \r\n const [sid, setsid] = useState()\r\n \r\n\r\n const getList = () => {\r\n\r\n getProductCategoryList()\r\n .then(res => {\r\n const valuesArray = res.data;\r\n \r\n setListData(valuesArray);\r\n\r\n })\r\n .catch(err => {\r\n console.log('err', err);\r\n })\r\n }\r\n\r\n useEffect(() => {\r\n if (id === undefined) {\r\n setsid(1);\r\n } else {\r\n setsid(id);\r\n }\r\n \r\n }, [id]);\r\n\r\n useEffect(() => {\r\n\r\n if (sid !== undefined) {\r\n getAll(sid);\r\n setCurrid(1); //回到第一頁\r\n }\r\n\r\n }, [sid]);\r\n\r\n useEffect(() => {\r\n //const handleScroll = () => {\r\n // const currentScrollY = window.scrollY;\r\n // prevScrollY.current = currentScrollY;\r\n // sety(prevScrollY.current/100);\r\n //};\r\n\r\n //window.addEventListener(\"scroll\", handleScroll, { passive: true });\r\n\r\n //return () => window.removeEventListener(\"scroll\", handleScroll);\r\n }, []);\r\n\r\n useEffect(() => {\r\n\r\n getList();\r\n\r\n }, []);\r\n\r\n\r\n const getAll = (sid) => {\r\n setloadico(true);\r\n getProductList({ pagenumber: 1, pagesize: pagesize, productcategory: sid })\r\n .then(res => {\r\n setDatas(res.data);\r\n setPaginationTotal(res.data[0].TOTAL_ROW_COUNT);\r\n })\r\n .catch(err => {\r\n console.log(err);\r\n })\r\n .finally(() => setloadico(false))\r\n\r\n }\r\n\r\n\r\n\r\n const handleChangePage = (event, newPage) => {\r\n setloadico(true);\r\n getProductList({ pagenumber: newPage, pagesize: pagesize, productcategory: sid })\r\n .then(res => {\r\n setDatas(res.data);\r\n setPaginationTotal(res.data[0].TOTAL_ROW_COUNT);\r\n setCurrid(newPage)\r\n })\r\n .catch(err => {\r\n console.log(err);\r\n })\r\n .finally(()=>setloadico(false))\r\n }\r\n\r\n if (loadico && datas.length < 1) {\r\n return

\r\n }\r\n \r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n

Product Category

\r\n
\r\n \r\n \r\n {}\r\n \r\n \r\n \r\n \r\n \r\n {datas.map((item, index) => (\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\n\r\n\r\n","import React from 'react';\r\nimport './Pages.css';\r\n\r\nfunction HOPE() {\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n
\r\n Honest\r\n
\r\n
\r\n
\r\n Honesty is the foundation of relationships between Goton and customers to create the Win-Win business. Many customers have cooperated with us for 10 years or more. To GoTon, customers are our friends and partners, from whom we learn to make us more reliable and helpful to them. GoTon is always a company of integrity\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n One-stop service\r\n
\r\n
\r\n
\r\n One-stop service provides our customers an efficient and money-saving purchasing/developing platform. GoTon have numerous molds and tools for products compatible with brand transceivers. We also can make/design adaptations/modifications for customers to get more flexible products for markets\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Profession\r\n
\r\n
\r\n
\r\n Professional engineering team is one of GoTon’s core abilities. In the past years, we got a lot of experiences from many failures. With keeping learning and improving, our techniques and know how let us to provide more stable quality products. GoTon is your best choice in 2-way radio audio accessories business\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n Environment friendly\r\n
\r\n
\r\n
\r\n Environment friendly is one of our company policies. All materials in productions are RoHS compliant. Our R&D team process every projects/products on the basis of meeting essential requirements of CE marking. GoTon also creates nice/friendly working area for staffs to enhance their efficiency and accuracy to ensure quality results/products\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n );\r\n}\r\n\r\nexport default HOPE;","import React, { useEffect } from 'react';\r\n\r\nimport HOPE from './HOPE';\r\nimport ButtonBlock from './ButtonBlock';\r\n\r\nimport AOS from 'aos';\r\nimport './Pages.css';\r\nimport \"aos/dist/aos.css\"\r\n\r\nexport default function Company() {\r\n useEffect(() => {\r\n AOS.init({\r\n duration: 2000\r\n });\r\n }, []);\r\n\r\n const FirstWordStyle = {\r\n fontSize: '60px',\r\n fontWeight: '700',\r\n background: 'linear-gradient(to top,#F6416C, #FFF6B7)',\r\n WebkitBackgroundClip: \"text\", // Removed !important\r\n backgroundClip: \"text\", // Removed !important\r\n color: \"transparent\"\r\n }\r\n\r\n return (\r\n <>\r\n\r\n
\r\n
\r\n
Company
\r\n

Honest

\r\n

One-Stop

\r\n

Profession

\r\n

Environment

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
COMPANY
\r\n
\r\n 20 years is not a short time for a technology company. To GoTon, it is a wonderful process of growing. We met many challenges, even in the very difficult time, and we got through. With great hopes in minds, every GoTon’s members dedicate to the company and make it great.\r\n Nowadays, GoTon is an excellent OEM/ODM manufacturer of 2-way radio audio accessories (radio accessory). We will keep going ahead with the HOPE.\r\n
\r\n
\r\n GoTon is a professional and reliable company. We welcome you to inquiry or share us your questions or opinions. We are happy to provide you the nice services for your business.\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n );\r\n}","import React from 'react';\r\nimport './Pages.css';\r\nimport ButtonBlock from './ButtonBlock';\r\n\r\nexport default function Services() {\r\n return (\r\n <>\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n OEM / ODM\r\n
\r\n
\r\n
\r\n GoTon have produced 2-way radio audio accessories for more than 20 years.\r\n
\r\n
\r\n With GoTon’s excellent design capability and numerous molds and tools,\r\n
\r\n
\r\n whatever OEM or ODM, customers can get nice One-stop services at GoTon.\r\n
\r\n
\r\n We have complete/flexible production lines. From materials/parts in-coming,\r\n
\r\n
\r\n in-processing, and products outgoing, we control each QC points to keep the quality assurance (QA).\r\n
\r\n
\r\n GoTon commit what we promise customers.\r\n
\r\n
\r\n Choose GoTon, and you will find that the success is sure enough.\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n \r\n );\r\n}","import React, { useState,useEffect,useRef } from 'react';\r\nimport './Pages.css';\r\nimport AOS from 'aos';\r\nimport \"aos/dist/aos.css\"\r\nimport Backdrop from '@material-ui/core/Backdrop';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport { sendMail, getContactSystemCode } from \"../API/api.js\";\r\n\r\nexport default function Contact() {\r\n\r\n const textName = useRef();\r\n const textMail = useRef();\r\n const textSubject = useRef();\r\n const textMessage = useRef();\r\n\r\n const [loadico, getloadico] = useState(false)\r\n const [ListData, setListData] = useState([]);\r\n\r\n\r\n const submit = e => {\r\n e.preventDefault();\r\n\r\n const mailData = {\r\n Name: textName.current.value,\r\n Mail: textMail.current.value,\r\n Subject: textSubject.current.value,\r\n Message: textMessage.current.value\r\n }\r\n //console.log(mailData);\r\n getloadico(true);\r\n sendMail(mailData)\r\n .then(res => {\r\n if (res.data) {\r\n }\r\n })\r\n .catch(err => {\r\n console.log('err', err);\r\n })\r\n .finally(() => {\r\n getloadico(false);\r\n textName.current.value = \"\";\r\n textMail.current.value = \"\";\r\n textSubject.current.value = \"\";\r\n textMessage.current.value = \"\";\r\n })\r\n \r\n }\r\n\r\n const getContactData = () => {\r\n\r\n getContactSystemCode()\r\n .then(res => {\r\n const valuesArray = res.data;\r\n //console.log(valuesArray);\r\n setListData(valuesArray);\r\n\r\n })\r\n .catch(err => {\r\n console.log('err', err);\r\n })\r\n }\r\n\r\n useEffect(() => {\r\n getContactData();\r\n }, []);\r\n\r\n\r\n useEffect(() => {\r\n AOS.init({\r\n duration: 2000\r\n });\r\n }, []);\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n\r\n
\r\n

Contact Us

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Contact Us
\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\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
Contact Information
\r\n
\r\n
\r\n

\r\n Address:\r\n
\r\n {(ListData.filter(item => item.Code == \"Address\").length > 0) ? ListData.filter(item => item.Code == \"Address\")[0].Value1 : \"\"}\r\n

\r\n

\r\n Tel:{(ListData.filter(item => item.Code == \"Tel\").length > 0) ? ListData.filter(item => item.Code == \"Tel\")[0].Value1 : \"\"}\r\n

\r\n

\r\n Fax:{(ListData.filter(item => item.Code == \"Fax\").length > 0) ? ListData.filter(item => item.Code == \"Fax\")[0].Value1 : \"\"}\r\n

\r\n

\r\n E-mail:\r\n
\r\n {(ListData.filter(item => item.Code == \"Email1\").length > 0) ? ListData.filter(item => item.Code == \"Email1\")[0].Value1 : \"\"}\r\n
\r\n {(ListData.filter(item => item.Code == \"Email2\").length > 0) ? ListData.filter(item => item.Code == \"Email2\")[0].Value1 : \"\"}\r\n

\r\n

\r\n Skype:\r\n {(ListData.filter(item => item.Code == \"Skype\").length > 0) ? ListData.filter(item => item.Code == \"Skype\")[0].Value1 : \"\"}\r\n

\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n \r\n\r\n );\r\n}","import React from 'react';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport Breadcrumbs from '@material-ui/core/Breadcrumbs';\r\n\r\nimport {\r\n Link\r\n} from \"react-router-dom\";\r\n\r\nfunction handleClick(event) {\r\n \r\n}\r\n\r\nexport default function GotonBreadcrumbs({ ProductCategory, CategoryName, ProductName, ProductCategoryParentId }) {\r\n return (\r\n \r\n \r\n Home\r\n \r\n \r\n {CategoryName}\r\n \r\n {ProductName}\r\n \r\n );\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { useParams } from \"react-router-dom\";\r\n\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport Box from '@material-ui/core/Box';\r\nimport Tooltip from '@material-ui/core/Tooltip';\r\nimport Zmage from 'react-zmage'\r\nimport ButtonBlock from './ButtonBlock';\r\nimport ImagePaper from './ImagePaper';\r\nimport GotonBreadcrumbs from './GotonBreadcrumbs';\r\nimport ProductCategoryList from './ProductCategoryList';\r\n\r\nimport { getProductDetail, getRelatedProductList, getProductCategoryList } from \"../API/api.js\";\r\nimport './Pages.css';\r\n\r\nexport default function ProductDetail() {\r\n\r\n let { ProductId } = useParams()\r\n let { id } = useParams(1)\r\n let { parentId } = useParams(1)\r\n\r\n const [datas, setDatas] = useState({})\r\n\r\n const [RelatedDatas, setRelatedDatas] = useState([])\r\n\r\n const [ListData, setListData] = useState([])\r\n\r\n const getList = () => {\r\n\r\n getProductCategoryList()\r\n .then(res => {\r\n const valuesArray = res.data;\r\n\r\n setListData(valuesArray);\r\n\r\n })\r\n .catch(err => {\r\n console.log('err', err);\r\n })\r\n }\r\n\r\n const loadRelatedDatas = (ProductId) => {\r\n\r\n getRelatedProductList({ productId: ProductId })\r\n .then(res => {\r\n setRelatedDatas(res.data);\r\n })\r\n .catch(err => {\r\n console.log(err);\r\n })\r\n }\r\n \r\n //主圖\r\n const [img, setimg] = useState('')\r\n\r\n //選擇到的紅框\r\n const [imgIndex, setimgIndex] = useState(0)\r\n\r\n //所有圖\r\n const [allImgList, setAllImgList] = useState([])\r\n\r\n const paperStyle = {\r\n padding: 12,\r\n display: 'flex',\r\n overflow: 'auto',\r\n flexDirection: 'column',\r\n backgroundColor: '#fff',\r\n marginTop: '20px',\r\n marginBottom: '20px'\r\n }\r\n\r\n\r\n const [spec, getspec] = useState([])\r\n\r\n const getDetail = (productId) => {\r\n\r\n getProductDetail(productId)\r\n .then(res => {\r\n\r\n setDatas(res.data);\r\n })\r\n .catch(err => {\r\n console.log('err', err);\r\n })\r\n }\r\n\r\n useEffect(() => {\r\n getDetail(ProductId);\r\n loadRelatedDatas(ProductId);\r\n }, [ProductId]);\r\n\r\n \r\n\r\n useEffect(() => {\r\n\r\n if (datas.ProductImageList !== undefined) {\r\n\r\n //console.log(datas, datas.ProductCategory);\r\n\r\n setimg(datas.ProductImageList[0].ProductImageData)\r\n\r\n const newImageList = [\r\n ...datas.ProductImageList\r\n ];\r\n\r\n setAllImgList(newImageList)\r\n \r\n }\r\n\r\n }, [datas.ProductImageList]);\r\n\r\n useEffect(() => {\r\n\r\n if (datas.ProductSpecList !== undefined) {\r\n getspec(datas.ProductSpecList)\r\n }\r\n\r\n }, [datas.ProductSpecList]);\r\n\r\n \r\n useEffect(() => {\r\n\r\n getList();\r\n\r\n }, []);\r\n\r\n\r\n if (datas.ProductName == undefined) {\r\n return

\r\n }\r\n\r\n let renderItems = (arr) => {\r\n if(arr){\r\n return (\r\n arr.map((item) => (\r\n
  • \r\n {item.Spec}\r\n
  • \r\n ))\r\n );\r\n }\r\n }\r\n\r\n return (\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 {allImgList.map((value, index) => (\r\n \r\n \r\n\r\n \r\n {datas.ProductName} { setimg(value.ProductImageData); setimgIndex(index) }} />\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

    {datas.ProductName}

    \r\n {allImgList.map((value, index) => (\r\n {datas.ProductName}\r\n ))}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n

    {datas.ProductName}

    \r\n
      \r\n {renderItems(spec)}\r\n
    \r\n
    \r\n \r\n \r\n

    Related products

    \r\n \r\n \r\n \r\n \r\n {RelatedDatas.map((item) => (\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}","import React from 'react';\r\nimport Navbar from './components/Navbar/Navbar';\r\nimport { BrowserRouter , Switch, Route } from 'react-router-dom';\r\nimport Home from './components/pages/Home';\r\nimport Products from './components/pages/Products';\r\nimport Company from './components/pages/Company';\r\nimport Services from './components/pages/Services';\r\nimport Contact from './components/pages/Contact';\r\nimport ProductDetail from './components/pages/ProductDetail';\r\n\r\nfunction App() {\r\n return (\r\n \r\n \r\n \r\n \r\n\r\n {/*�p�G�S���[exact�A���a�Ѽƪ��|�]�|�i�h�o��Route�A���ܧⶶ�ǩ�U��*/}\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 App;\r\n","import { isExpired , decodeToken } from \"react-jwt\";\r\n\r\nexport function getToken() {\r\n let token = localStorage.getItem('GotonToken');\r\n if (token === null || token === undefined) {\r\n token = \"\";\r\n }\r\n return token;\r\n}\r\n\r\nexport function RemoveToken() {\r\n localStorage.removeItem('GotonToken');\r\n console.log('RemoveToken');\r\n}\r\n\r\nexport function Logout() {\r\n RemoveToken();\r\n}\r\n\r\nexport function TokenExpired() {\r\n if (getToken() !== \"\") {\r\n return isExpired(getToken());\r\n } else {\r\n return true;\r\n }\r\n}\r\n\r\nexport function IsLogin() {\r\n return !TokenExpired();\r\n}\r\n\r\n\r\n\r\n\r\n\r\n","import React, { useState } from 'react';\r\nimport { useHistory } from \"react-router-dom\";\r\nimport Avatar from '@material-ui/core/Avatar';\r\nimport Button from '@material-ui/core/Button';\r\nimport CssBaseline from '@material-ui/core/CssBaseline';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport Box from '@material-ui/core/Box';\r\nimport LockOutlinedIcon from '@material-ui/icons/LockOutlined';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport Container from '@material-ui/core/Container';\r\nimport { pink } from '@material-ui/core/colors';\r\n\r\nimport { Login } from \"../API/api.js\";\r\n\r\nimport { RemoveToken, IsLogin } from './auth';\r\n\r\nfunction Copyright() {\r\n return (\r\n \r\n {'Copyright © '}\r\n \r\n GOTON ELECTRONIC CO.,LTD\r\n {' '}\r\n {new Date().getFullYear()}\r\n {'.'}\r\n \r\n );\r\n}\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n paper: {\r\n marginTop: theme.spacing(8),\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center',\r\n\r\n },\r\n avatar: {\r\n margin: theme.spacing(1),\r\n backgroundColor: pink[500],\r\n },\r\n form: {\r\n width: '100%', // Fix IE 11 issue.\r\n marginTop: theme.spacing(1),\r\n },\r\n submit: {\r\n margin: theme.spacing(3, 0, 2),\r\n },\r\n}));\r\n\r\nexport default function SignIn() {\r\n const classes = useStyles();\r\n\r\n const history = useHistory();\r\n\r\n const [username, setUsername] = useState(\"\");\r\n const [password, setPassword] = useState(\"\");\r\n\r\n const handleUsername = (e) => {\r\n setUsername(e.target.value);\r\n };\r\n\r\n const handlePassword = (e) => {\r\n setPassword(e.target.value);\r\n };\r\n\r\n const handleSubmit = (e) => {\r\n e.preventDefault();\r\n if (username === \"\") {\r\n alert('請輸入使用者名稱');\r\n }\r\n\r\n if (password === \"\") {\r\n alert('請輸入使用者密碼');\r\n }\r\n\r\n Login({ Username: username, Password: password })\r\n .then(res => {\r\n //console.log(res.data)\r\n\r\n if (res.data.Token != undefined) {\r\n localStorage.setItem('GotonToken', res.data.Token);\r\n history.push(\"/AdminGotonWeb\");\r\n }\r\n \r\n })\r\n .catch(err => {\r\n history.push(\"/Login\");\r\n console.log(err);\r\n })\r\n\r\n };\r\n\r\n if (IsLogin()) {\r\n history.push(\"/AdminGotonWeb\");\r\n } else {\r\n //RemoveToken();\r\n }\r\n\r\n return (\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}","import React from 'react';\r\nimport ListItem from '@material-ui/core/ListItem';\r\nimport ListItemIcon from '@material-ui/core/ListItemIcon';\r\nimport ListItemText from '@material-ui/core/ListItemText';\r\n\r\nimport ListIcon from '@material-ui/icons/List';\r\nimport PersonIcon from '@material-ui/icons/Person';\r\nimport StorageIcon from '@material-ui/icons/Storage';\r\nimport ViewComfyIcon from '@material-ui/icons/ViewComfy';\r\n\r\nimport {\r\n Link\r\n} from \"react-router-dom\";\r\n\r\nexport const mainListItems = (\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\n \r\n \r\n
    \r\n);","import React from 'react';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport TableContainer from '@material-ui/core/TableContainer';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport Table from '@material-ui/core/Table';\r\nimport TableHead from '@material-ui/core/TableHead';\r\nimport TableRow from '@material-ui/core/TableRow';\r\nimport TableCell from '@material-ui/core/TableCell';\r\nimport TableBody from '@material-ui/core/TableBody';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport KeyboardArrowDownIcon from '@material-ui/icons/KeyboardArrowDown';\r\nimport KeyboardArrowUpIcon from '@material-ui/icons/KeyboardArrowUp';\r\nimport SubdirectoryArrowRightIcon from '@material-ui/icons/SubdirectoryArrowRight';\r\nimport Box from \"@material-ui/core/Box\";\r\nimport Collapse from \"@material-ui/core/Collapse\";\r\nimport EditIcon from '@material-ui/icons/Edit';\r\nimport { Link } from 'react-router-dom';\r\n\r\nconst useRowStyles = makeStyles({\r\n root: {\r\n '& > *': {\r\n borderBottom: 'unset',\r\n },\r\n },\r\n});\r\n\r\nfunction Row(props) {\r\n const { row, childrow } = props;\r\n const [open, setOpen] = React.useState(false);\r\n const classes = useRowStyles();\r\n return (\r\n <>\r\n \r\n \r\n setOpen(!open)}>\r\n {childrow.length>0?(open ? : ):\"\"}\r\n \r\n \r\n \r\n {row.ProductCategoryName}\r\n \r\n {row.ProductCategorySeq}\r\n \r\n {row.ProductCategoryEnabled?\"是\":\"否\"}\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\n \r\n {childrow.map((cRow) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {cRow.ProductCategoryName}\r\n \r\n {cRow.ProductCategorySeq}\r\n \r\n {cRow.ProductCategoryEnabled ? \"是\" : \"否\"}\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 function ProductCategoryGrid({ ProductCategoryData}) {\r\n return (\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 ProductCategoryData.filter(i => i.ProductCategoryParentID === 0).map((row) => (\r\n i.ProductCategoryParentID === row.ProductCategoryID)} />\r\n ))\r\n }\r\n \r\n
    \r\n
    \r\n \r\n );\r\n}","import React, { useState, useEffect } from 'react';\r\n\r\nimport { Link } from 'react-router-dom';\r\nimport Button from '@material-ui/core/Button';\r\n\r\nimport ProductCategoryGrid from './ProductCategoryGrid';\r\n\r\nimport { getProductCategoryGridList } from \"../../API/api.js\";\r\nimport AddCircleIcon from '@material-ui/icons/AddCircle';\r\n\r\nexport default function Index() {\r\n const [ListData, getListData] = useState([])\r\n const getList = () => {\r\n\r\n getProductCategoryGridList()\r\n .then(res => {\r\n const valuesArray = res.data;\r\n\r\n getListData(valuesArray);\r\n\r\n })\r\n .catch(err => {\r\n console.log('err', err);\r\n })\r\n }\r\n\r\n useEffect(() => {\r\n\r\n getList();\r\n\r\n }, []);\r\n\r\n return (\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}","import React, { useState, useEffect } from 'react';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport FormHelperText from '@material-ui/core/FormHelperText';\r\nimport FormControl from '@material-ui/core/FormControl';\r\nimport Select from '@material-ui/core/Select';\r\nimport Button from '@material-ui/core/Button';\r\nimport Backdrop from '@material-ui/core/Backdrop';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport SaveIcon from '@material-ui/icons/Save';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport { getToken, IsLogin } from '../auth';\r\n\r\nimport { getProductCategoryParentList, addProductCategory, checkProductCategoryExist } from \"../../API/api.js\";\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n '& .MuiTextField-root': {\r\n margin: theme.spacing(1),\r\n width: '600px',\r\n },\r\n formControl: {\r\n margin: theme.spacing(1),\r\n \r\n minWidth: '600px',\r\n },\r\n selectEmpty: {\r\n marginTop: theme.spacing(2),\r\n },\r\n },\r\n backdrop: {\r\n zIndex: 9999,\r\n color: '#fff',\r\n },\r\n}));\r\n\r\n\r\n\r\nexport default function Add() {\r\n\r\n const classes = useStyles();\r\n\r\n let history = useHistory();\r\n\r\n const [values, setValues] = useState({\r\n ProductCategoryParentID: 0,\r\n ProductCategoryName: '',\r\n ProductCategorySeq: 0,\r\n ProductCategoryEnabled: 1\r\n });\r\n\r\n const handleProductCategoryParentIDChange = (event) => {\r\n setValues({ ...values, ProductCategoryParentID: event.target.value });\r\n };\r\n\r\n const handleName = event => {\r\n setValues({ ...values, ProductCategoryName: event.target.value });\r\n };\r\n\r\n const handleSeq = event => {\r\n setValues({ ...values, ProductCategorySeq: event.target.value });\r\n };\r\n\r\n const handleEnabledChange = (event) => {\r\n setValues({ ...values, ProductCategoryEnabled: event.target.value });\r\n };\r\n\r\n const [ListData, getListData] = useState([])\r\n\r\n const [loadico, getloadico] = useState(false)\r\n\r\n const getList = () => {\r\n\r\n getProductCategoryParentList()\r\n .then(res => {\r\n const valuesArray = res.data;\r\n \r\n getListData(valuesArray);\r\n\r\n })\r\n .catch(err => {\r\n console.log('err', err);\r\n })\r\n }\r\n\r\n useEffect(() => {\r\n\r\n getList();\r\n\r\n }, []);\r\n\r\n\r\n const submit = e => {\r\n\r\n if (!IsLogin()) {\r\n alert('登入時間過期請重新登入');\r\n return;\r\n }\r\n\r\n e.preventDefault();\r\n\r\n checkProductCategoryExist(values.ProductCategoryName, values.ProductCategoryParentID)\r\n .then(res => {\r\n if (res.data) {\r\n alert('目錄已存在');\r\n } else {\r\n if (values.ProductCategoryName.length > 0) {\r\n getloadico(true);\r\n addProductCategory(values, getToken())\r\n .then(res => {\r\n if (res.data) {\r\n history.push('/AdminGotonWeb/CM');\r\n }\r\n })\r\n .catch(err => {\r\n console.log('err', err);\r\n })\r\n .finally(() => getloadico(false))\r\n }\r\n }\r\n })\r\n .catch(err => {\r\n getloadico(false)\r\n console.log('err', err);\r\n })\r\n\r\n\r\n }\r\n\r\n\r\n return (\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 ListData.map(\r\n (childItem, chiIndex) => {\r\n return (\r\n {childItem.ProductCategoryName}\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\n \r\n \r\n \r\n
    \r\n \r\n \r\n\r\n \r\n \r\n );\r\n}","import React, { useState, useEffect } from 'react';\r\nimport Select from '@material-ui/core/Select';\r\nimport FormControl from '@material-ui/core/FormControl';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport Button from '@material-ui/core/Button';\r\nimport FormHelperText from '@material-ui/core/FormHelperText';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport {\r\n useParams\r\n} from \"react-router-dom\";\r\nimport Backdrop from '@material-ui/core/Backdrop';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport SaveIcon from '@material-ui/icons/Save';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport DeleteForeverIcon from '@material-ui/icons/DeleteForever';\r\n\r\nimport { getProductCategoryParentList, getProductCategoryById, editProductCategory, checkProductCategoryExist, deleteProductCategory } from \"../../API/api.js\";\r\nimport { getToken, IsLogin } from '../auth';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n '& .MuiTextField-root': {\r\n margin: theme.spacing(1),\r\n width: '600px',\r\n },\r\n formControl: {\r\n margin: theme.spacing(1),\r\n\r\n minWidth: '600px',\r\n },\r\n selectEmpty: {\r\n marginTop: theme.spacing(2),\r\n },\r\n },\r\n backdrop: {\r\n zIndex: 9999,\r\n color: '#fff',\r\n },\r\n}));\r\n\r\n\r\nexport default function Edit() {\r\n let { id } = useParams()\r\n\r\n const classes = useStyles();\r\n\r\n const [loadico, setloadico] = useState(false)\r\n\r\n let history = useHistory();\r\n\r\n const [values, setValues] = useState({\r\n ProductCategoryID: 0,\r\n ProductCategoryParentID: 0,\r\n OLDProductCategoryParentID:0,\r\n ProductCategoryName: '',\r\n OLDProductCategoryName: '',\r\n ProductCategorySeq: 0,\r\n ProductCategoryEnabled: 1\r\n });\r\n\r\n const handleProductCategoryParentIDChange = (event) => {\r\n setValues({ ...values, ProductCategoryParentID: event.target.value });\r\n };\r\n\r\n const handleName = event => {\r\n setValues({ ...values, ProductCategoryName: event.target.value });\r\n };\r\n\r\n const handleSeq = event => {\r\n setValues({ ...values, ProductCategorySeq: event.target.value });\r\n };\r\n\r\n const handleEnabledChange = (event) => {\r\n setValues({ ...values, ProductCategoryEnabled: event.target.value });\r\n };\r\n\r\n const [ListData, setListData] = useState([])\r\n\r\n const getList = () => {\r\n\r\n getProductCategoryParentList()\r\n .then(res => {\r\n const valuesArray = res.data;\r\n setListData(valuesArray);\r\n\r\n })\r\n .catch(err => {\r\n console.log('err', err);\r\n })\r\n \r\n }\r\n\r\n const loadDate = (id) => {\r\n\r\n getProductCategoryById(id)\r\n .then(res => {\r\n const result = res.data;\r\n if (id) {\r\n setValues(\r\n {\r\n ProductCategoryID: result.ProductCategoryID,\r\n ProductCategoryParentID: result.ProductCategoryParentID,\r\n OLDProductCategoryParentID: result.ProductCategoryParentID,\r\n ProductCategoryName: result.ProductCategoryName,\r\n OLDProductCategoryName: result.ProductCategoryName,\r\n ProductCategorySeq: result.ProductCategorySeq,\r\n ProductCategoryEnabled: result.ProductCategoryEnabled\r\n }\r\n );\r\n }\r\n\r\n\r\n })\r\n .catch(err => {\r\n console.log('err', err);\r\n })\r\n }\r\n\r\n\r\n useEffect(() => {\r\n\r\n try {\r\n setloadico(true);\r\n getList();\r\n \r\n } catch (error) {\r\n console.error(error);\r\n \r\n } finally {\r\n setloadico(false)\r\n }\r\n \r\n\r\n }, []);\r\n\r\n useEffect(() => {\r\n\r\n loadDate(id);\r\n\r\n }, [id]);\r\n\r\n\r\n const submit = e => {\r\n\r\n if (!IsLogin()) {\r\n alert('登入時間過期請重新登入');\r\n return;\r\n }\r\n\r\n e.preventDefault();\r\n if (values.ProductCategoryParentID != values.OLDProductCategoryParentID || values.ProductCategoryName != values.OLDProductCategoryName) {\r\n checkProductCategoryExist(values.ProductCategoryName, values.ProductCategoryParentID)\r\n .then(res => {\r\n if (res.data) {\r\n alert('目錄已存在');\r\n } else {\r\n save();\r\n }\r\n })\r\n .catch(err => {\r\n setloadico(false)\r\n console.log('err', err);\r\n })\r\n }\r\n else {\r\n save();\r\n }\r\n \r\n \r\n }\r\n\r\n const save = () => {\r\n if (values.ProductCategoryID) {\r\n setloadico(true);\r\n editProductCategory(values, getToken())\r\n .then(res => {\r\n if (res.data) {\r\n history.push('/AdminGotonWeb/CM');\r\n }\r\n })\r\n .catch(err => {\r\n console.log('err', err);\r\n })\r\n .finally(() => setloadico(false))\r\n }\r\n };\r\n\r\n const delProductCategory = () => {\r\n var yes = window.confirm('你確定刪除該目錄及目錄下所有商品嗎?');\r\n\r\n if (yes) {\r\n if (values.ProductCategoryID) {\r\n setloadico(true);\r\n deleteProductCategory(values, getToken())\r\n .then(res => {\r\n if (res.data) {\r\n history.push('/AdminGotonWeb/CM');\r\n }\r\n })\r\n .catch(err => {\r\n console.log('err', err);\r\n })\r\n .finally(() => setloadico(false))\r\n }\r\n } \r\n }\r\n\r\n return (\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 ListData.map(\r\n (childItem, chiIndex) => {\r\n return (\r\n {childItem.ProductCategoryName}\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\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}","import React from 'react';\r\n\r\nimport { Switch, Route } from 'react-router-dom';\r\nimport Index from './CM/Index';\r\nimport Add from './CM/Add';\r\nimport Edit from './CM/Edit';\r\n\r\n\r\nexport default function CM() {\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n );\r\n}","import React from 'react';\r\n\r\nimport { makeStyles, withStyles } from '@material-ui/core/styles';\r\n\r\nimport TreeView from '@material-ui/lab/TreeView';\r\nimport TreeItem from '@material-ui/lab/TreeItem';\r\nimport Collapse from '@material-ui/core/Collapse';\r\nimport { animated } from 'react-spring/web.cjs'; // web.cjs is required for IE 11 support\r\nimport PropTypes from 'prop-types';\r\nimport FiberManualRecordIcon from '@material-ui/icons/FiberManualRecord';\r\n\r\n//import ExpandMoreIcon from '@material-ui/icons/ExpandMore';\r\n//import ExpandLessIcon from '@material-ui/icons/ExpandLess';\r\n//import KeyboardArrowRightIcon from '@material-ui/icons/KeyboardArrowRight';\r\n\r\n\r\nfunction MinusSquare(props) {\r\n return (\r\n \r\n );\r\n}\r\n\r\nfunction PlusSquare(props) {\r\n return (\r\n \r\n );\r\n}\r\n\r\n\r\nfunction TransitionComponent(props) {\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nTransitionComponent.propTypes = {\r\n /**\r\n * Show the component; triggers the enter or exit states\r\n */\r\n in: PropTypes.bool,\r\n};\r\n\r\nconst StyledTreeItem = withStyles((theme) => ({\r\n iconContainer: {\r\n '& .close': {\r\n opacity: 0.3,\r\n },\r\n },\r\n group: {\r\n marginLeft: 7,\r\n paddingLeft: 18\r\n },\r\n}))((props) => );\r\n\r\nconst useStyles = makeStyles({\r\n root: {\r\n height: 264,\r\n flexGrow: 1,\r\n maxWidth: 400,\r\n fontFamily: \"Montserrat,arial\"\r\n },\r\n});\r\n\r\n\r\n\r\nexport default function AdminProductCategoryList({ ProductCategoryData, setId }) {\r\n const classes = useStyles();\r\n\r\n function nothing() { };\r\n\r\n return (\r\n\r\n }\r\n defaultExpandIcon={}\r\n defaultEndIcon={}\r\n\r\n >\r\n {\r\n\r\n ProductCategoryData.map((item, index) => {\r\n if (item.ProductCategoryParentID === 0) {\r\n\r\n return (\r\n
    \r\n { ProductCategoryData.filter(i => i.ProductCategoryParentID === item.ProductCategoryID).length > 0 ? nothing() : setId(item.ProductCategoryID) }} nodeId={String(item.ProductCategoryID)} label={item.ProductCategoryName} >\r\n {\r\n ProductCategoryData.filter(i => i.ProductCategoryParentID === item.ProductCategoryID).map(\r\n (childItem, chiIndex) => {\r\n return (\r\n\r\n
    \r\n setId(childItem.ProductCategoryID)} nodeId={String(childItem.ProductCategoryID)} label={childItem.ProductCategoryName} />\r\n
    \r\n\r\n )\r\n }\r\n )\r\n\r\n }\r\n
    \r\n
    \r\n\r\n )\r\n } else {\r\n return \"\";\r\n }\r\n\r\n })\r\n }\r\n \r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport { Paper } from '@material-ui/core';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport {\r\n Link\r\n} from \"react-router-dom\";\r\n\r\nexport default function AdminImagePaper(props) {\r\n \r\n\r\n const [imgselected, setimgSelected] = useState('75px')\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \"ProductImage\"\r\n
    \r\n
    {props.ProductName} {props.ProductEnabled == 0 ?
    (已停用)
    :
    (已啟用)
    }
    \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","import React, { useState, useEffect } from 'react';\r\n\r\nimport Button from '@material-ui/core/Button';\r\nimport AddCircleIcon from '@material-ui/icons/AddCircle';\r\nimport AdminProductCategoryList from './AdminProductCategoryList';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport { useParams } from \"react-router-dom\";\r\nimport { getToken } from '../auth';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport Backdrop from '@material-ui/core/Backdrop';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport AdminImagePaper from './AdminImagePaper';\r\nimport Pagination from '@material-ui/core/Pagination'\r\nimport Checkbox from '@material-ui/core/Checkbox';\r\nimport DeleteForeverIcon from '@material-ui/icons/DeleteForever';\r\n\r\nimport { getProductCategoryGridList, getAllProductList, deleteProductList } from \"../../API/api.js\";\r\n\r\nexport default function Index() {\r\n\r\n let pagesize = 50;\r\n\r\n let history = useHistory();\r\n\r\n const useStyles = makeStyles((theme) => ({\r\n backdrop: {\r\n zIndex: theme.zIndex.drawer + 1,\r\n backgroundColor: 'transparent!important'\r\n },\r\n }));\r\n\r\n const [ListData, setListData] = useState([]);\r\n const [datas, setDatas] = useState([]);\r\n const classes = useStyles();\r\n\r\n const [currid, setCurrid] = useState(1);\r\n const [loadico, setloadico] = useState(false);\r\n\r\n const [paginationTotal, setPaginationTotal] = useState(0)\r\n const [sid, setsid] = useState(1)\r\n\r\n const [DeleteProductList, setDeleteProductList] = useState([]);\r\n\r\n const handleChange = (event) => {\r\n if (event.target.checked) {\r\n setDeleteProductList([...DeleteProductList, event.target.name]);\r\n } else {\r\n var array = [...DeleteProductList]; // make a separate copy of the array\r\n var index = array.indexOf(event.target.name)\r\n if (index !== -1) {\r\n array.splice(index, 1);\r\n setDeleteProductList([...array]);\r\n }\r\n }\r\n \r\n \r\n };\r\n\r\n //useEffect(() => {\r\n // if (id === undefined) {\r\n // setsid(1);\r\n // } else {\r\n // setsid(id);\r\n // }\r\n\r\n //}, [id]);\r\n\r\n useEffect(() => {\r\n //console.log('sid',sid);\r\n if (sid !== undefined) {\r\n getAll(sid);\r\n setCurrid(1); //回到第一頁\r\n }\r\n }, [sid]);\r\n\r\n const getAll = (sid) => {\r\n setloadico(true);\r\n getAllProductList({ pagenumber: 1, pagesize: pagesize, productcategory: sid })\r\n .then(res => {\r\n setDatas(res.data);\r\n if (res.data[0] != undefined && res.data[0].TOTAL_ROW_COUNT != undefined) {\r\n setPaginationTotal(res.data[0].TOTAL_ROW_COUNT);\r\n }\r\n })\r\n .catch(err => {\r\n console.log(err);\r\n })\r\n .finally(() => setloadico(false))\r\n\r\n }\r\n\r\n const handleChangePage = (event, newPage) => {\r\n setloadico(true);\r\n getAllProductList({ pagenumber: newPage, pagesize: pagesize, productcategory: sid })\r\n .then(res => {\r\n setDatas(res.data);\r\n if (res.data[0] != undefined && res.data[0].TOTAL_ROW_COUNT != undefined) {\r\n setPaginationTotal(res.data[0].TOTAL_ROW_COUNT);\r\n }\r\n setDeleteProductList([]);\r\n setCurrid(newPage)\r\n })\r\n .catch(err => {\r\n console.log(err);\r\n })\r\n .finally(() => setloadico(false))\r\n }\r\n\r\n const getList = () => {\r\n\r\n getProductCategoryGridList()\r\n .then(res => {\r\n const valuesArray = res.data;\r\n\r\n setListData(valuesArray);\r\n\r\n if (valuesArray.length > 0) {\r\n var firstItem = valuesArray.find(element => element.ProductCategoryParentID == 1 && element.ProductCategorySeq == 1);\r\n if (firstItem != undefined && firstItem.ProductCategoryID) {\r\n setsid(firstItem.ProductCategoryID)\r\n }\r\n \r\n }\r\n\r\n })\r\n .catch(err => {\r\n console.log('err', err);\r\n })\r\n }\r\n\r\n useEffect(() => {\r\n\r\n getList();\r\n setDeleteProductList([]);\r\n }, []);\r\n\r\n\r\n if (loadico && datas.length < 1) {\r\n return

    資料載入中......

    \r\n }\r\n\r\n const delProduct = () => {\r\n if (DeleteProductList.length>0) {\r\n setloadico(true);\r\n deleteProductList(DeleteProductList, getToken())\r\n .then(res => {\r\n if (res.data) {\r\n window.location.reload(false);\r\n }\r\n })\r\n .catch(err => {\r\n console.log('err', err);\r\n })\r\n .finally(() => {\r\n setDeleteProductList([]);\r\n setloadico(false);\r\n })\r\n }\r\n }\r\n\r\n return (\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

    STEP 1 選擇產品分類

    \r\n
    \r\n {}\r\n
    \r\n
    \r\n \r\n

    STEP 2 選擇修改產品

    \r\n
    0) ? 'block' : 'none' }}>\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n {datas.map((item, index) => (\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\n}","import React, { useState, useEffect } from 'react';\r\nimport { useDropzone } from 'react-dropzone';\r\nimport Button from '@material-ui/core/Button';\r\nimport CloudUploadIcon from '@material-ui/icons/CloudUpload';\r\n\r\nfunction Dropzone({ title, getFile }) {\r\n\r\n const thumb = {\r\n display: 'inline-flex',\r\n borderRadius: 2,\r\n border: '1px solid #eaeaea',\r\n marginBottom: 8,\r\n marginRight: 8,\r\n width: 100,\r\n height: 100,\r\n padding: 4,\r\n boxSizing: 'border-box'\r\n };\r\n\r\n\r\n\r\n const img = {\r\n display: 'block',\r\n width: '200px',\r\n height: '200px'\r\n };\r\n\r\n const [files, setFiles] = useState([]);\r\n\r\n const { getRootProps, getInputProps, open } = useDropzone({\r\n accept: 'image/*',\r\n noClick: true,\r\n maxFiles: 1,\r\n noKeyboard: true,\r\n onDrop: acceptedFiles => {\r\n getFile(...acceptedFiles.map(file => Object.assign(file, {\r\n preview: URL.createObjectURL(file)\r\n })));\r\n setFiles(acceptedFiles.map(file => Object.assign(file, {\r\n preview: URL.createObjectURL(file)\r\n })));\r\n }\r\n });\r\n\r\n const delectimg = () => {\r\n setFiles([]);\r\n getFile([]);\r\n }\r\n\r\n const thumbs = (\r\n files.map(file => (\r\n
    \r\n \r\n
    \r\n ))\r\n );\r\n\r\n const fileName = files.map(file => (\r\n

    \r\n 檔案名稱 {file.path} - {file.size} bytes\r\n

    \r\n ));\r\n\r\n useEffect(() => () => {\r\n\r\n files.forEach(file => {\r\n // Make sure to revoke the data uris to avoid memory leaks 這一行要加入否則暫存檔會一直在記憶體\r\n URL.revokeObjectURL(file.preview);\r\n \r\n });\r\n }, [files]);\r\n\r\n return (\r\n\r\n
    \r\n\r\n

    {title}

    \r\n {thumbs}\r\n \r\n \r\n \r\n
    \r\n\r\n );\r\n}\r\n\r\nexport default Dropzone;","import React, { useState, useEffect } from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport Table from \"@material-ui/core/Table\";\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableContainer from \"@material-ui/core/TableContainer\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport Button from '@material-ui/core/Button';\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport DeleteForeverIcon from '@material-ui/icons/DeleteForever';\r\nimport AddCircleOutlineIcon from '@material-ui/icons/AddCircleOutline';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport TextField from '@material-ui/core/TextField';\r\n\r\nconst useStyles = makeStyles({\r\n table: {\r\n minWidth: 650\r\n }\r\n});\r\n\r\n\r\nfunction createData(Pkid, ProductId,Spec, SpecSeq, SpecEnabled) {\r\n return { Pkid,ProductId,Spec, SpecSeq, SpecEnabled };\r\n}\r\n\r\nconst rows = [\r\n createData(uuidv4(),'', '', 1, 1),\r\n];\r\n\r\n\r\n\r\nconst SetSpec = (dataRow, Pkid, Spec) => {\r\n let newArray = dataRow.map((x, index) => {\r\n if (x.Pkid === Pkid) {\r\n x.Spec = Spec;\r\n }\r\n return x;\r\n });\r\n\r\n return newArray;\r\n};\r\n\r\nconst SetSpecSeq = (dataRow, Pkid, SpecSeq) => {\r\n let newArray = dataRow.map((x, index) => {\r\n if (x.Pkid === Pkid) {\r\n x.SpecSeq = SpecSeq;\r\n }\r\n return x;\r\n });\r\n\r\n return newArray;\r\n};\r\n\r\nconst Add = (dataRow) => {\r\n return [...dataRow, createData(uuidv4(),'', '', 1, 1)];\r\n};\r\n\r\nconst LoadAdd = (dataRow,item) => {\r\n return [...dataRow, ...item];\r\n};\r\n\r\nconst Delete = (dataRow, Pkid) => {\r\n const newArray = dataRow.filter(x => x.Pkid != Pkid);\r\n return newArray;\r\n};\r\n\r\nexport default function SpacTable({ getSpec, specList, mode }) {\r\n\r\n const [files, setFiles] = useState([...rows]) ;\r\n\r\n useEffect(() => {\r\n getSpec([files]); \r\n }, [files]);\r\n\r\n useEffect(() => {\r\n if (specList != undefined) {\r\n \r\n if (specList != undefined && specList.length>0 && specList[0].ProductId != undefined) {\r\n \r\n //console.log('Load SPEC', specList);\r\n setFiles([...specList]);\r\n }\r\n }\r\n \r\n }, [specList]);\r\n\r\n\r\n const classes = useStyles();\r\n\r\n return (\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 {files.map((row) => (\r\n \r\n \r\n (setFiles(SetSpec([...files], row.Pkid, e.target.value)))}\r\n />\r\n \r\n \r\n (setFiles(SetSpecSeq([...files], row.Pkid, e.target.value)))}\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","import React, { useState, useEffect } from 'react';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport FormHelperText from '@material-ui/core/FormHelperText';\r\nimport FormControl from '@material-ui/core/FormControl';\r\nimport Select from '@material-ui/core/Select';\r\nimport Button from '@material-ui/core/Button';\r\nimport Backdrop from '@material-ui/core/Backdrop';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport SaveIcon from '@material-ui/icons/Save';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport { getProductCategoryEndPointList, addProduct, checkProductExist } from \"../../API/api.js\";\r\nimport { getToken, IsLogin } from '../auth';\r\nimport styled from 'styled-components';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Dropzone from './Dropzone';\r\nimport SpecTable from './SpecTable';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n '& .MuiTextField-root': {\r\n margin: theme.spacing(1),\r\n width: '600px',\r\n },\r\n formControl: {\r\n margin: theme.spacing(1),\r\n minWidth: '600px',\r\n }\r\n },\r\n backdrop: {\r\n zIndex: 9999,\r\n color: '#fff',\r\n },\r\n}));\r\n\r\nconst Container = styled.div`\r\n flex: 1;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n padding: 20px;\r\n border-width: 2px;\r\n border-radius: 2px;\r\n border-color: #fff;\r\n border-style: dashed;\r\n background-color: #fafafa;\r\n color: #bdbdbd;\r\n outline: none;\r\n transition: border .24s ease-in-out;\r\n`;\r\n\r\nexport default function Add() {\r\n\r\n const classes = useStyles();\r\n\r\n let history = useHistory();\r\n\r\n const [values, setValues] = useState({\r\n ProductCategoryID: 0,\r\n ProductName: '',\r\n ProductSeq: 0,\r\n ProductEnabled: 1,\r\n IsCategoryType: 0,\r\n IsAutoRedirection: 0,\r\n ShowSpec: 1,\r\n File1: '',\r\n File2: '',\r\n File3: '',\r\n File4: '',\r\n Spec: []\r\n });\r\n\r\n const [file1, setFile1] = useState([]);\r\n const [file2, setFile2] = useState([]);\r\n const [file3, setFile3] = useState([]);\r\n const [file4, setFile4] = useState([]);\r\n const [spec, setSpec] = useState([]);\r\n\r\n useEffect(() => {\r\n //console.log(\"ok1\", file1);\r\n setValues({ ...values, File1: file1 });\r\n }, [file1]);\r\n\r\n useEffect(() => {\r\n\r\n //console.log(\"ok2\", file2);\r\n setValues({ ...values, File2: file2 });\r\n }, [file2]);\r\n\r\n useEffect(() => {\r\n //console.log(\"ok3\", file3);\r\n setValues({ ...values, File3: file3 });\r\n }, [file3]);\r\n\r\n useEffect(() => {\r\n //console.log(\"ok4\", file4);\r\n setValues({ ...values, File4: file4 });\r\n }, [file4]);\r\n\r\n useEffect(() => {\r\n //console.log(\"spec\", spec);\r\n setValues({ ...values, Spec: spec });\r\n }, [spec]);\r\n\r\n const handleProductCategoryIDChange = (event) => {\r\n setValues({ ...values, ProductCategoryID: event.target.value });\r\n };\r\n\r\n const handleName = event => {\r\n setValues({ ...values, ProductName: event.target.value });\r\n };\r\n\r\n const handleSeq = event => {\r\n setValues({ ...values, ProductSeq: event.target.value });\r\n };\r\n\r\n const handleEnabledChange = (event) => {\r\n setValues({ ...values, ProductEnabled: event.target.value });\r\n };\r\n\r\n const handleIsCategoryType = (event) => {\r\n setValues({ ...values, IsCategoryType: event.target.value });\r\n };\r\n\r\n const handleIsAutoRedirection = (event) => {\r\n setValues({ ...values, IsAutoRedirection: event.target.value });\r\n };\r\n\r\n const handleShowSpec = (event) => {\r\n setValues({ ...values, ShowSpec: event.target.value });\r\n };\r\n\r\n const [ListData, getListData] = useState([])\r\n\r\n const [loadico, getloadico] = useState(false)\r\n\r\n const getList = () => {\r\n\r\n getProductCategoryEndPointList()\r\n .then(res => {\r\n const valuesArray = res.data;\r\n\r\n getListData(valuesArray);\r\n\r\n })\r\n .catch(err => {\r\n console.log('err', err);\r\n })\r\n }\r\n\r\n useEffect(() => {\r\n\r\n getList();\r\n\r\n }, []);\r\n\r\n\r\n const submit = e => {\r\n\r\n if (!IsLogin()) {\r\n alert('登入時間過期請重新登入');\r\n return;\r\n }\r\n\r\n e.preventDefault();\r\n\r\n if (values.ProductCategoryID === 0) {\r\n alert('請選擇產品分類目錄');\r\n return;\r\n }\r\n\r\n checkProductExist(values.ProductName)\r\n .then(res => {\r\n if (res.data) {\r\n alert('商品名稱已存在');\r\n } else {\r\n\r\n if (values.ProductName.length > 0 && values.ProductID !== 0) {\r\n getloadico(true);\r\n\r\n const formData = new FormData();\r\n formData.append('ProductCategoryID', values.ProductCategoryID);\r\n formData.append('ProductName', values.ProductName);\r\n formData.append('ProductSeq', values.ProductSeq);\r\n formData.append('ProductEnabled', values.ProductEnabled);\r\n formData.append('IsCategoryType', values.IsCategoryType);\r\n formData.append('IsAutoRedirection', values.IsAutoRedirection);\r\n formData.append('ShowSpec', values.ShowSpec);\r\n formData.append('File1', values.File1);\r\n formData.append('File2', values.File2);\r\n formData.append('File3', values.File3);\r\n formData.append('File4', values.File4);\r\n\r\n if (values.Spec != undefined && values.Spec.length > 0 && values.Spec[0] != undefined) {\r\n\r\n values.Spec[0].forEach((item, index) => {\r\n formData.append('SpecList[' + index + '].Pkid', item.UUID);\r\n formData.append('SpecList[' + index + '].Spec', item.Spec);\r\n formData.append('SpecList[' + index + '].SpecSeq', item.SpecSeq);\r\n formData.append('SpecList[' + index + '].SpecEnabled', 1);\r\n });\r\n }\r\n\r\n\r\n addProduct(formData, getToken())\r\n .then(res => {\r\n if (res.data) {\r\n history.push('/AdminGotonWeb/PCM');\r\n }\r\n })\r\n .catch(err => {\r\n console.log('err', err);\r\n })\r\n .finally(() => getloadico(false))\r\n }\r\n\r\n }\r\n })\r\n .catch(err => {\r\n getloadico(false)\r\n console.log('err', err);\r\n })\r\n\r\n\r\n }\r\n\r\n return (\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 ListData.map(\r\n (childItem, chiIndex) => {\r\n return (\r\n {childItem.ProductCategoryName}\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\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\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\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\n );\r\n}","import React, { useState, useEffect } from 'react';\r\nimport Select from '@material-ui/core/Select';\r\nimport FormControl from '@material-ui/core/FormControl';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport Button from '@material-ui/core/Button';\r\nimport FormHelperText from '@material-ui/core/FormHelperText';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport {\r\n useParams\r\n} from \"react-router-dom\";\r\nimport Backdrop from '@material-ui/core/Backdrop';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport SaveIcon from '@material-ui/icons/Save';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\n\r\nimport { getProductCategoryEndPointList, getProductById, editProduct, checkProductExist, deleteProduct } from \"../../API/api.js\";\r\nimport { getToken, IsLogin } from '../auth';\r\nimport styled from 'styled-components';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Dropzone from './Dropzone';\r\nimport SpecTable from './SpecTable';\r\nimport DeleteForeverIcon from '@material-ui/icons/DeleteForever';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n '& .MuiTextField-root': {\r\n margin: theme.spacing(1),\r\n width: '600px',\r\n },\r\n formControl: {\r\n margin: theme.spacing(1),\r\n minWidth: '600px',\r\n }\r\n },\r\n backdrop: {\r\n zIndex: 9999,\r\n color: '#fff',\r\n },\r\n}));\r\n\r\nconst Container = styled.div`\r\n flex: 1;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n padding: 20px;\r\n border-width: 2px;\r\n border-radius: 2px;\r\n border-color: #fff;\r\n border-style: dashed;\r\n background-color: #fafafa;\r\n color: #bdbdbd;\r\n outline: none;\r\n transition: border .24s ease-in-out;\r\n`;\r\n\r\n\r\nexport default function Edit() {\r\n let { id } = useParams()\r\n\r\n const classes = useStyles();\r\n\r\n const [loadico, setloadico] = useState(false)\r\n\r\n let history = useHistory();\r\n\r\n const [values, setValues] = useState({\r\n ProductID: '',\r\n ProductCategoryID: 0,\r\n ProductName: '',\r\n OLDProductName: '',\r\n ProductSeq: 0,\r\n ProductEnabled: 1,\r\n IsCategoryType: 0,\r\n IsAutoRedirection: 0,\r\n ShowSpec: 1,\r\n File1: '',\r\n File2: '',\r\n File3: '',\r\n File4: '',\r\n Spec: []\r\n });\r\n\r\n const [file1, setFile1] = useState([]);\r\n const [file2, setFile2] = useState([]);\r\n const [file3, setFile3] = useState([]);\r\n const [file4, setFile4] = useState([]);\r\n\r\n const [Orifile1, setOriFile1] = useState({isDelete:false,img:''});\r\n const [Orifile2, setOriFile2] = useState({ isDelete:false,img: '' });\r\n const [Orifile3, setOriFile3] = useState({ isDelete:false,img: '' });\r\n const [Orifile4, setOriFile4] = useState({ isDelete:false,img: '' });\r\n\r\n const [spec, setSpec] = useState([]);\r\n\r\n useEffect(() => {\r\n //console.log(\"ok1\", file1);\r\n setValues({ ...values, File1: file1 });\r\n }, [file1]);\r\n\r\n useEffect(() => {\r\n //console.log(\"ok2\", file2);\r\n setValues({ ...values, File2: file2 });\r\n }, [file2]);\r\n\r\n useEffect(() => {\r\n //console.log(\"ok3\", file3);\r\n setValues({ ...values, File3: file3 });\r\n }, [file3]);\r\n\r\n useEffect(() => {\r\n //console.log(\"ok4\", file4);\r\n setValues({ ...values, File4: file4 });\r\n }, [file4]);\r\n\r\n useEffect(() => {\r\n if (spec.length > 0) {\r\n setValues({ ...values, Spec: spec });\r\n }\r\n }, [spec]);\r\n\r\n const handleProductIDChange = (event) => {\r\n setValues({ ...values, ProductID: event.target.value });\r\n };\r\n\r\n const handleProductCategoryIDChange = (event) => {\r\n setValues({ ...values, ProductCategoryID: event.target.value });\r\n };\r\n\r\n const handleName = event => {\r\n setValues({ ...values, ProductName: event.target.value });\r\n };\r\n\r\n const handleSeq = event => {\r\n setValues({ ...values, ProductSeq: event.target.value });\r\n };\r\n\r\n const handleEnabledChange = (event) => {\r\n setValues({ ...values, ProductEnabled: event.target.value });\r\n };\r\n\r\n const handleIsCategoryType = (event) => {\r\n setValues({ ...values, IsCategoryType: event.target.value });\r\n };\r\n\r\n const handleIsAutoRedirection = (event) => {\r\n setValues({ ...values, IsAutoRedirection: event.target.value });\r\n };\r\n\r\n const handleShowSpec = (event) => {\r\n setValues({ ...values, ShowSpec: event.target.value });\r\n };\r\n\r\n const [ListData, setListData] = useState([])\r\n\r\n const getList = () => {\r\n\r\n getProductCategoryEndPointList()\r\n .then(res => {\r\n const valuesArray = res.data;\r\n\r\n setListData(valuesArray);\r\n\r\n })\r\n .catch(err => {\r\n console.log('err', err);\r\n })\r\n }\r\n\r\n useEffect(() => {\r\n //console.log('getList');\r\n getList();\r\n\r\n }, []);\r\n\r\n\r\n const loadDate = (id) => {\r\n\r\n getProductById(id)\r\n .then(res => {\r\n const result = res.data;\r\n if (result) {\r\n setValues(\r\n {\r\n ProductID: result.ProductID,\r\n ProductCategoryID: result.ProductCategory,\r\n ProductName: result.ProductName,\r\n OLDProductName: result.ProductName,\r\n ProductSeq: result.ProductSeq,\r\n ProductEnabled: result.ProductEnabled,\r\n IsCategoryType: result.IsCategoryType,\r\n IsAutoRedirection: result.IsAutoRedirection,\r\n ShowSpec: result.ShowSpec,\r\n Spec: result.SpecList,\r\n }\r\n );\r\n\r\n\r\n if (result.ImageList != undefined && result.ImageList.length) {\r\n\r\n result.ImageList.forEach((item, index) => {\r\n if (item.ProductImageType == 1) {\r\n setOriFile1({ isDelete: false, img: item.ProductImageData });\r\n }\r\n if (item.ProductImageType == 2) {\r\n setOriFile2({ isDelete: false, img: item.ProductImageData });\r\n }\r\n if (item.ProductImageType == 3) {\r\n setOriFile3({ isDelete: false, img: item.ProductImageData });\r\n }\r\n if (item.ProductImageType == 4) {\r\n setOriFile4({ isDelete: false, img: item.ProductImageData });\r\n }\r\n });\r\n\r\n //if (result.ImageList[0] != undefined) {\r\n //}\r\n //if (result.ImageList[1] != undefined) {\r\n // setOriFile2({ isDelete: false, img: result.ImageList[1].ProductImageData });\r\n //}\r\n //if (result.ImageList[2] != undefined) {\r\n // setOriFile3({ isDelete: false, img: result.ImageList[2].ProductImageData });\r\n //}\r\n //if (result.ImageList[3] != undefined) {\r\n // setOriFile4({ isDelete: false, img: result.ImageList[3].ProductImageData });\r\n //}\r\n }\r\n }\r\n\r\n\r\n })\r\n .catch(err => {\r\n console.log('err', err);\r\n })\r\n }\r\n\r\n\r\n useEffect(() => {\r\n loadDate(id);\r\n\r\n }, [id]);\r\n\r\n\r\n const submit = e => {\r\n\r\n if (!IsLogin()) {\r\n alert('登入時間過期請重新登入');\r\n return;\r\n }\r\n\r\n e.preventDefault();\r\n\r\n if (values.ProductCategoryID === 0) {\r\n alert('請選擇產品分類目錄');\r\n return;\r\n }\r\n\r\n if (values.OLDProductName != values.ProductName) {\r\n checkProductExist(values.ProductName)\r\n .then(res => {\r\n if (res.data) {\r\n alert('商品名稱已存在');\r\n } else {\r\n save();\r\n }\r\n })\r\n .catch(err => {\r\n setloadico(false)\r\n console.log('err', err);\r\n })\r\n } else {\r\n save();\r\n }\r\n\r\n\r\n }\r\n\r\n const save = () => {\r\n if (values.ProductName.length > 0 && values.ProductID.length > 0) {\r\n setloadico(true);\r\n const formData = new FormData();\r\n formData.append('ProductID', values.ProductID);\r\n formData.append('ProductCategoryID', values.ProductCategoryID);\r\n formData.append('ProductName', values.ProductName);\r\n formData.append('ProductSeq', values.ProductSeq);\r\n formData.append('ProductEnabled', values.ProductEnabled);\r\n formData.append('IsCategoryType', values.IsCategoryType);\r\n formData.append('IsAutoRedirection', values.IsAutoRedirection);\r\n formData.append('ShowSpec', values.ShowSpec);\r\n formData.append('File1', values.File1);\r\n formData.append('File2', values.File2);\r\n formData.append('File3', values.File3);\r\n formData.append('File4', values.File4);\r\n formData.append('File2isDelete', Orifile2.isDelete);\r\n formData.append('File3isDelete', Orifile3.isDelete);\r\n formData.append('File4isDelete', Orifile4.isDelete);\r\n\r\n if (values.Spec != undefined && values.Spec.length > 0 && values.Spec[0] != undefined) {\r\n\r\n values.Spec[0].forEach((item, index) => {\r\n formData.append('SpecList[' + index + '].Pkid', item.UUID);\r\n formData.append('SpecList[' + index + '].Spec', item.Spec);\r\n formData.append('SpecList[' + index + '].SpecSeq', item.SpecSeq);\r\n formData.append('SpecList[' + index + '].SpecEnabled', 1);\r\n });\r\n }\r\n\r\n editProduct(formData, getToken())\r\n .then(res => {\r\n if (res.data) {\r\n history.push('/AdminGotonWeb/PCM');\r\n }\r\n })\r\n .catch(err => {\r\n console.log('err', err);\r\n })\r\n .finally(() => setloadico(false))\r\n }\r\n\r\n }\r\n\r\n const delProduct = () => {\r\n var yes = window.confirm('你確定刪除該商品嗎?');\r\n\r\n if (yes) {\r\n if (values.ProductID) {\r\n setloadico(true);\r\n deleteProduct(values, getToken())\r\n .then(res => {\r\n if (res.data) {\r\n history.push('/AdminGotonWeb/PCM');\r\n }\r\n })\r\n .catch(err => {\r\n console.log('err', err);\r\n })\r\n .finally(() => setloadico(false))\r\n }\r\n }\r\n }\r\n\r\n const setDelete2 = () => {\r\n setOriFile2({ ...Orifile2, isDelete: !Orifile2.isDelete });\r\n }\r\n\r\n const setDelete3 = () => {\r\n setOriFile3({ ...Orifile3, isDelete: !Orifile3.isDelete });\r\n }\r\n\r\n const setDelete4 = () => {\r\n setOriFile4({ ...Orifile4, isDelete: !Orifile4.isDelete });\r\n }\r\n\r\n\r\n const oriImage1 = (Orifile1 != undefined && Orifile1.img != undefined && Orifile1.img !== '') ? (\r\n
    \r\n

    原圖

    \r\n \r\n
    \r\n ) : (<>);\r\n\r\n const oriImage2 = (Orifile2 != undefined && Orifile2.img != undefined && Orifile2.img !== '') ? (\r\n
    \r\n

    原圖

    \r\n \r\n \r\n \r\n
    \r\n ) : (<>);\r\n\r\n const oriImage3 = (Orifile3 != undefined && Orifile3.img != undefined && Orifile3.img !== '') ? (\r\n
    \r\n

    原圖

    \r\n \r\n \r\n \r\n
    \r\n ) : (<>);\r\n\r\n const oriImage4 = (Orifile4 != undefined && Orifile4.img != undefined && Orifile4.img !== '') ? (\r\n
    \r\n

    原圖

    \r\n \r\n \r\n \r\n
    \r\n ) : (<>);\r\n\r\n return (\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 ListData.map(\r\n (childItem, chiIndex) => {\r\n return (\r\n {childItem.ProductCategoryName}\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\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 {oriImage1 }\r\n \r\n
    *如果不要修改變更圖片,請雙擊改後圖片將圖片刪除
    \r\n
    \r\n
    \r\n \r\n \r\n {oriImage2}\r\n
    \r\n \r\n
    *如果不要修改變更圖片,請雙擊改後圖片將圖片刪除
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {oriImage3}\r\n
    \r\n \r\n
    *如果不要修改變更圖片,請雙擊改後圖片將圖片刪除
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {oriImage4}\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\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}","import React from 'react';\r\n\r\nimport { Switch, Route } from 'react-router-dom';\r\nimport Index from './PCM/Index';\r\nimport Add from './PCM/Add';\r\nimport Edit from './PCM/Edit';\r\n\r\nexport default function PCM() {\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n );\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { getContactSystemCode, setSystemCode, getHomeImageSwiper2Link } from \"../API/api.js\"\r\n\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport Backdrop from '@material-ui/core/Backdrop';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport Button from '@material-ui/core/Button';\r\nimport SaveIcon from '@material-ui/icons/Save';\r\nimport { getToken, IsLogin } from './auth';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n '& .MuiTextField-root': {\r\n margin: theme.spacing(1),\r\n width: '600px',\r\n },\r\n formControl: {\r\n margin: theme.spacing(1),\r\n\r\n minWidth: '600px',\r\n },\r\n selectEmpty: {\r\n marginTop: theme.spacing(2),\r\n },\r\n },\r\n backdrop: {\r\n zIndex: 9999,\r\n color: '#fff',\r\n },\r\n}));\r\n\r\n\r\nexport default function PM() {\r\n\r\n const classes = useStyles();\r\n\r\n const [CurrAddress, setCurrAddress] = useState('');\r\n const [CurrSkype, setCurrSkype] = useState('');\r\n const [CurrTel, setCurrTel] = useState('');\r\n const [CurrFax, setCurrFax] = useState('');\r\n const [CurrEmail1, setCurrEmail1] = useState('');\r\n const [CurrEmail2, setCurrEmail2] = useState('');\r\n\r\n const [CurrSwiper2Link1, setCurrSwiper2Link1] = useState('');\r\n const [CurrSwiper2Link2, setCurrSwiper2Link2] = useState('');\r\n const [CurrSwiper2Link3, setCurrSwiper2Link3] = useState('');\r\n const [CurrSwiper2Link4, setCurrSwiper2Link4] = useState('');\r\n const [CurrSwiper2Link5, setCurrSwiper2Link5] = useState('');\r\n const [CurrSwiper2Link6, setCurrSwiper2Link6] = useState('');\r\n const [CurrSwiper2Link7, setCurrSwiper2Link7] = useState('');\r\n const [CurrSwiper2Link8, setCurrSwiper2Link8] = useState('');\r\n\r\n const [Address, setAddress] = useState('');\r\n const [Skype, setSkype] = useState('');\r\n const [Tel, setTel] = useState('');\r\n const [Fax, setFax] = useState('');\r\n const [Email1, setEmail1] = useState('');\r\n const [Email2, setEmail2] = useState('');\r\n\r\n const [Swiper2Link1, setSwiper2Link1] = useState('');\r\n const [Swiper2Link2, setSwiper2Link2] = useState('');\r\n const [Swiper2Link3, setSwiper2Link3] = useState('');\r\n const [Swiper2Link4, setSwiper2Link4] = useState('');\r\n const [Swiper2Link5, setSwiper2Link5] = useState('');\r\n const [Swiper2Link6, setSwiper2Link6] = useState('');\r\n const [Swiper2Link7, setSwiper2Link7] = useState('');\r\n const [Swiper2Link8, setSwiper2Link8] = useState('');\r\n\r\n\r\n const [loadico, getloadico] = useState(false)\r\n\r\n const history = useHistory();\r\n\r\n const getList = () => {\r\n getContactSystemCode()\r\n .then(res => {\r\n let ListData = res.data;\r\n if (ListData != undefined && ListData.length > 0) {\r\n setCurrAddress((ListData.filter(item => item.Code == \"Address\").length > 0) ? ListData.filter(item => item.Code == \"Address\")[0].Value1 : \"\");\r\n setCurrSkype((ListData.filter(item => item.Code == \"Skype\").length > 0) ? ListData.filter(item => item.Code == \"Skype\")[0].Value1 : \"\");\r\n setCurrTel((ListData.filter(item => item.Code == \"Tel\").length > 0) ? ListData.filter(item => item.Code == \"Tel\")[0].Value1 : \"\");\r\n setCurrFax((ListData.filter(item => item.Code == \"Fax\").length > 0) ? ListData.filter(item => item.Code == \"Fax\")[0].Value1 : \"\");\r\n setCurrEmail1((ListData.filter(item => item.Code == \"Email1\").length > 0) ? ListData.filter(item => item.Code == \"Email1\")[0].Value1 : \"\");\r\n setCurrEmail2((ListData.filter(item => item.Code == \"Email2\").length > 0) ? ListData.filter(item => item.Code == \"Email2\")[0].Value1 : \"\");\r\n }\r\n })\r\n .catch(err => {\r\n console.log('err', err);\r\n })\r\n\r\n getHomeImageSwiper2Link()\r\n .then(res => {\r\n let ListData = res.data;\r\n if (ListData != undefined && ListData.length > 0) {\r\n setCurrSwiper2Link1((ListData.filter(item => item.Code == \"Swiper2Link1\").length > 0) ? ListData.filter(item => item.Code == \"Swiper2Link1\")[0].Value1 : \"\");\r\n setCurrSwiper2Link2((ListData.filter(item => item.Code == \"Swiper2Link2\").length > 0) ? ListData.filter(item => item.Code == \"Swiper2Link2\")[0].Value1 : \"\");\r\n setCurrSwiper2Link3((ListData.filter(item => item.Code == \"Swiper2Link3\").length > 0) ? ListData.filter(item => item.Code == \"Swiper2Link3\")[0].Value1 : \"\");\r\n setCurrSwiper2Link4((ListData.filter(item => item.Code == \"Swiper2Link4\").length > 0) ? ListData.filter(item => item.Code == \"Swiper2Link4\")[0].Value1 : \"\");\r\n setCurrSwiper2Link5((ListData.filter(item => item.Code == \"Swiper2Link5\").length > 0) ? ListData.filter(item => item.Code == \"Swiper2Link5\")[0].Value1 : \"\");\r\n setCurrSwiper2Link6((ListData.filter(item => item.Code == \"Swiper2Link6\").length > 0) ? ListData.filter(item => item.Code == \"Swiper2Link6\")[0].Value1 : \"\");\r\n setCurrSwiper2Link7((ListData.filter(item => item.Code == \"Swiper2Link7\").length > 0) ? ListData.filter(item => item.Code == \"Swiper2Link7\")[0].Value1 : \"\");\r\n setCurrSwiper2Link8((ListData.filter(item => item.Code == \"Swiper2Link8\").length > 0) ? ListData.filter(item => item.Code == \"Swiper2Link8\")[0].Value1 : \"\");\r\n }\r\n })\r\n .catch(err => {\r\n console.log('err', err);\r\n })\r\n\r\n }\r\n\r\n useEffect(() => {\r\n\r\n try {\r\n getloadico(true);\r\n getList();\r\n\r\n } catch (error) {\r\n console.error(error);\r\n\r\n } finally {\r\n getloadico(false)\r\n }\r\n\r\n\r\n }, []);\r\n\r\n const submit = e => {\r\n\r\n if (!IsLogin()) {\r\n alert('登入時間過期請重新登入');\r\n return;\r\n }\r\n\r\n e.preventDefault();\r\n\r\n const userData = {\r\n Address: Address.trim(),\r\n Skype: Skype.trim(),\r\n Tel: Tel.trim(),\r\n Fax: Fax.trim(),\r\n Email1: Email1.trim(),\r\n Email2: Email2.trim(),\r\n Swiper2Link1: Swiper2Link1.trim(),\r\n Swiper2Link2: Swiper2Link2.trim(),\r\n Swiper2Link3: Swiper2Link3.trim(),\r\n Swiper2Link4: Swiper2Link4.trim(),\r\n Swiper2Link5: Swiper2Link5.trim(),\r\n Swiper2Link6: Swiper2Link6.trim(),\r\n Swiper2Link7: Swiper2Link7.trim(),\r\n Swiper2Link8: Swiper2Link8.trim()\r\n }\r\n getloadico(true);\r\n\r\n setSystemCode(userData, getToken())\r\n .then(res => {\r\n if (res.data) {\r\n alert('公司資訊更新成功');\r\n getList();\r\n }\r\n })\r\n .catch(err => {\r\n alert('公司資訊更新失敗');\r\n console.log('err', err);\r\n })\r\n .finally(() => {\r\n getloadico(false);\r\n setAddress(\"\");\r\n setSkype(\"\");\r\n setTel(\"\");\r\n setFax(\"\");\r\n setEmail1(\"\");\r\n setEmail2(\"\");\r\n setSwiper2Link1(\"\");\r\n setSwiper2Link2(\"\");\r\n setSwiper2Link3(\"\");\r\n setSwiper2Link4(\"\");\r\n setSwiper2Link5(\"\");\r\n setSwiper2Link6(\"\");\r\n setSwiper2Link7(\"\");\r\n setSwiper2Link8(\"\");\r\n\r\n })\r\n\r\n }\r\n\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n
    \r\n

    修改Contact公司資訊

    \r\n \r\n
    \r\n
    Office Address:{CurrAddress}
    \r\n setAddress(event.target.value)}\r\n value={Address}\r\n\r\n />\r\n
    \r\n\r\n
    \r\n
    Skype:{CurrSkype}
    \r\n setSkype(event.target.value)}\r\n value={Skype}\r\n\r\n />\r\n
    \r\n\r\n
    \r\n
    Tel:{CurrTel}
    \r\n setTel(event.target.value)}\r\n value={Tel}\r\n\r\n />\r\n
    \r\n\r\n
    \r\n
    Fax:{CurrFax}
    \r\n setFax(event.target.value)}\r\n value={Fax}\r\n\r\n />\r\n
    \r\n\r\n
    \r\n
    Email1:{CurrEmail1}
    \r\n setEmail1(event.target.value)}\r\n value={Email1}\r\n\r\n />\r\n
    \r\n\r\n
    \r\n
    Email2:{CurrEmail2}
    \r\n setEmail2(event.target.value)}\r\n value={Email2}\r\n\r\n />\r\n
    \r\n\r\n \r\n

    修改HOME頁第二層輪播超連結URL

    \r\n

    請輸入https://goton.com.tw之後的站內連結。開頭必須包括「/」,例如「/Products/2/1」

    \r\n
    \r\n
    第一張圖片連結:{CurrSwiper2Link1}
    \r\n setSwiper2Link1(event.target.value)}\r\n value={Swiper2Link1}\r\n\r\n />\r\n
    \r\n
    \r\n
    第二張圖片連結:{CurrSwiper2Link2}
    \r\n setSwiper2Link2(event.target.value)}\r\n value={Swiper2Link2}\r\n\r\n />\r\n
    \r\n
    \r\n
    第三張圖片連結:{CurrSwiper2Link3}
    \r\n setSwiper2Link3(event.target.value)}\r\n value={Swiper2Link3}\r\n\r\n />\r\n
    \r\n
    \r\n
    第四張圖片連結:{CurrSwiper2Link4}
    \r\n setSwiper2Link4(event.target.value)}\r\n value={Swiper2Link4}\r\n\r\n />\r\n
    \r\n
    \r\n
    第五張圖片連結:{CurrSwiper2Link5}
    \r\n setSwiper2Link5(event.target.value)}\r\n value={Swiper2Link5}\r\n\r\n />\r\n
    \r\n
    \r\n
    第六張圖片連結:{CurrSwiper2Link6}
    \r\n setSwiper2Link6(event.target.value)}\r\n value={Swiper2Link6}\r\n\r\n />\r\n
    \r\n
    \r\n
    第七張圖片連結:{CurrSwiper2Link7}
    \r\n setSwiper2Link7(event.target.value)}\r\n value={Swiper2Link7}\r\n\r\n />\r\n
    \r\n
    \r\n
    第八張圖片連結:{CurrSwiper2Link8}
    \r\n setSwiper2Link8(event.target.value)}\r\n value={Swiper2Link8}\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}","import React, { useState, useEffect, useRef } from 'react';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { getAllUser, setUser } from \"../API/api.js\"\r\n\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport Backdrop from '@material-ui/core/Backdrop';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport Button from '@material-ui/core/Button';\r\nimport SaveIcon from '@material-ui/icons/Save';\r\nimport { IsLogin, Logout, getToken } from './auth';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n '& .MuiTextField-root': {\r\n margin: theme.spacing(1),\r\n width: '600px',\r\n },\r\n formControl: {\r\n margin: theme.spacing(1),\r\n\r\n minWidth: '600px',\r\n },\r\n selectEmpty: {\r\n marginTop: theme.spacing(2),\r\n },\r\n },\r\n backdrop: {\r\n zIndex: 9999,\r\n color: '#fff',\r\n },\r\n}));\r\n\r\n\r\nexport default function PS() {\r\n const [UserAccount, setUserAccount] = useState('')\r\n const [UserPWD, setUserPWD] = useState('')\r\n const [UserPWDChk, setUserPWDChk] = useState('')\r\n const [CurrUserAccount, setCurrUserAccount] = useState('')\r\n const classes = useStyles();\r\n\r\n const [loadico, getloadico] = useState(false)\r\n\r\n const history = useHistory();\r\n\r\n const submit = e => {\r\n\r\n if (!IsLogin()) {\r\n alert('登入時間過期請重新登入');\r\n return;\r\n }\r\n\r\n e.preventDefault();\r\n\r\n if (UserAccount.trim() === \"\" || UserPWD.trim() === \"\" || UserPWDChk.trim() === \"\") {\r\n alert('請輸入帳號密碼');\r\n return;\r\n }\r\n\r\n if (UserPWD.trim() !== UserPWDChk.trim()) {\r\n alert('再次輸入密碼不符');\r\n return;\r\n }\r\n\r\n const userData = {\r\n UserAccount: UserAccount.trim(),\r\n UserPWD: UserPWD.trim()\r\n }\r\n\r\n getloadico(true);\r\n\r\n setUser(userData, getToken())\r\n .then(res => {\r\n if (res.data) {\r\n alert('帳號及碼密更新成功,請重新登入');\r\n Logout();\r\n if (!IsLogin()) {\r\n history.push(\"/Login\");\r\n }\r\n }\r\n })\r\n .catch(err => {\r\n alert('帳號及碼密更新失敗');\r\n console.log('err', err);\r\n })\r\n .finally(() => {\r\n getloadico(false);\r\n setUserAccount(\"\");\r\n setUserPWD(\"\");\r\n setUserPWDChk(\"\");\r\n })\r\n\r\n\r\n }\r\n\r\n \r\n const getList = () => {\r\n \r\n getAllUser(getToken())\r\n .then(res => {\r\n setCurrUserAccount(res.data.UserAccount);\r\n })\r\n .catch(err => {\r\n console.log('err', err);\r\n })\r\n\r\n }\r\n\r\n useEffect(() => {\r\n\r\n try {\r\n getloadico(true);\r\n getList();\r\n\r\n } catch (error) {\r\n console.error(error);\r\n\r\n } finally {\r\n getloadico(false)\r\n }\r\n\r\n\r\n }, []);\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n
    \r\n

    修改帳號密碼

    \r\n
    \r\n setCurrUserAccount(event.target.value)}\r\n value={CurrUserAccount}\r\n disabled\r\n />\r\n
    \r\n
    \r\n setUserAccount(event.target.value)}\r\n value={UserAccount}\r\n required\r\n />\r\n
    \r\n
    \r\n setUserPWD(event.target.value)}\r\n value={UserPWD}\r\n required\r\n />\r\n
    \r\n
    \r\n setUserPWDChk(event.target.value)}\r\n value={UserPWDChk}\r\n required\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}","import React, { useEffect } from 'react';\r\n\r\nimport { Switch, Route, Link, useHistory } from 'react-router-dom';\r\n\r\nimport { mainListItems } from './listItems';\r\n\r\nimport clsx from 'clsx';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport CssBaseline from '@material-ui/core/CssBaseline';\r\nimport Drawer from '@material-ui/core/Drawer';\r\nimport Box from '@material-ui/core/Box';\r\nimport AppBar from '@material-ui/core/AppBar';\r\nimport Toolbar from '@material-ui/core/Toolbar';\r\nimport List from '@material-ui/core/List';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport Divider from '@material-ui/core/Divider';\r\nimport IconButton from '@material-ui/core/IconButton';\r\n//import Badge from '@material-ui/core/Badge';\r\nimport Container from '@material-ui/core/Container';\r\nimport Grid from '@material-ui/core/Grid';\r\n//import Paper from '@material-ui/core/Paper';\r\n\r\nimport MenuIcon from '@material-ui/icons/Menu';\r\nimport ChevronLeftIcon from '@material-ui/icons/ChevronLeft';\r\nimport ExitToAppIcon from '@material-ui/icons/ExitToApp';\r\nimport Button from '@material-ui/core/Button';\r\n\r\nimport CM from './CM';\r\nimport PCM from './PCM';\r\nimport PM from './PM';\r\nimport PS from './PS';\r\n\r\nimport { IsLogin, Logout } from './auth';\r\n\r\nfunction Copyright() {\r\n return (\r\n \r\n {'Copyright © '}\r\n \r\n GOTON ELECTRONIC CO.,LTD\r\n {' '}\r\n {new Date().getFullYear()}\r\n {'.'}\r\n \r\n );\r\n}\r\n\r\nconst drawerWidth = 240;\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n display: 'flex',\r\n },\r\n toolbar: {\r\n paddingRight: 24, // keep right padding when drawer closed\r\n },\r\n toolbarIcon: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'flex-end',\r\n padding: '0 8px',\r\n ...theme.mixins.toolbar,\r\n },\r\n appBar: {\r\n zIndex: theme.zIndex.drawer + 1 + ' !important',\r\n transition: theme.transitions.create(['width', 'margin'], {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.leavingScreen,\r\n }),\r\n },\r\n appBarShift: {\r\n zIndex: theme.zIndex.drawer - 1 + ' !important',\r\n marginLeft: drawerWidth,\r\n width: `calc(100% - ${drawerWidth}px)`,\r\n transition: theme.transitions.create(['width', 'margin'], {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.enteringScreen,\r\n }),\r\n },\r\n boxSize: {\r\n backgroundColor: () =>\r\n theme.palette.mode === 'light'\r\n ? theme.palette.grey[100]\r\n : theme.palette.grey[900],\r\n flexGrow: 1,\r\n height: '100vh',\r\n overflow: 'auto',\r\n transition: theme.transitions.create(['width', 'margin'], {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.leavingScreen,\r\n }),\r\n },\r\n boxSizeShift: {\r\n backgroundColor: () =>\r\n theme.palette.mode === 'light'\r\n ? theme.palette.grey[100]\r\n : theme.palette.grey[900],\r\n flexGrow: 1,\r\n height: '100vh',\r\n overflow: 'auto',\r\n marginLeft: drawerWidth,\r\n width: `calc(100% - ${drawerWidth}px)`,\r\n transition: theme.transitions.create(['width', 'margin'], {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.enteringScreen,\r\n }),\r\n },\r\n menuButton: {\r\n marginRight: 36,\r\n },\r\n menuButtonHidden: {\r\n display: 'none',\r\n },\r\n title: {\r\n flexGrow: 1,\r\n textAlign: 'center'\r\n },\r\n drawerPaper: {\r\n position: 'relative',\r\n whiteSpace: 'nowrap',\r\n width: drawerWidth,\r\n transition: theme.transitions.create('width', {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.enteringScreen,\r\n }),\r\n },\r\n drawerPaperClose: {\r\n overflowX: 'hidden',\r\n transition: theme.transitions.create('width', {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.leavingScreen,\r\n }),\r\n width: theme.spacing(7),\r\n [theme.breakpoints.up('sm')]: {\r\n width: theme.spacing(7),\r\n },\r\n },\r\n appBarSpacer: theme.mixins.toolbar,\r\n content: {\r\n flexGrow: 1,\r\n height: '100vh',\r\n overflow: 'auto',\r\n },\r\n container: {\r\n paddingTop: theme.spacing(4),\r\n paddingBottom: theme.spacing(4),\r\n },\r\n\r\n\r\n\r\n paper: {\r\n padding: theme.spacing(2),\r\n display: 'flex',\r\n overflow: 'auto',\r\n flexDirection: 'column',\r\n },\r\n fixedHeight: {\r\n height: 240,\r\n },\r\n}));\r\n\r\nexport default function AdminGotonWeb() {\r\n\r\n const classes = useStyles();\r\n\r\n const history = useHistory();\r\n\r\n const [open, setOpen] = React.useState(true);\r\n const handleDrawerOpen = () => {\r\n setOpen(true);\r\n };\r\n const handleDrawerClose = () => {\r\n setOpen(false);\r\n };\r\n\r\n useEffect(() => {\r\n if (!IsLogin()) {\r\n history.push(\"/Login\");\r\n }\r\n }, []);\r\n\r\n\r\n\r\n const lot = () => {\r\n Logout();\r\n if (!IsLogin()) {\r\n history.push(\"/Login\");\r\n }\r\n }\r\n\r\n return (\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 {mainListItems}\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\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport App from './App';\r\nimport { BrowserRouter, Switch, Route } from 'react-router-dom';\r\nimport Login from './components/pages/Login';\r\nimport AdminGotonWeb from './components/pages/AdminGotonWeb';\r\n\r\nReactDOM.render(\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n , document.getElementById('root'));\r\n"],"sourceRoot":""}