Commit f812aa63 by 朱哲铨

bug 修复

parent 6fca9a19

50 KB | W: | H:

134 KB | W: | H:

build/icons/1024x1024.png
build/icons/1024x1024.png
build/icons/1024x1024.png
build/icons/1024x1024.png
  • 2-up
  • Swipe
  • Onion skin

3.09 KB | W: | H:

3.99 KB | W: | H:

build/icons/128x128.png
build/icons/128x128.png
build/icons/128x128.png
build/icons/128x128.png
  • 2-up
  • Swipe
  • Onion skin

299 Bytes | W: | H:

396 Bytes | W: | H:

build/icons/16x16.png
build/icons/16x16.png
build/icons/16x16.png
build/icons/16x16.png
  • 2-up
  • Swipe
  • Onion skin

461 Bytes | W: | H:

658 Bytes | W: | H:

build/icons/24x24.png
build/icons/24x24.png
build/icons/24x24.png
build/icons/24x24.png
  • 2-up
  • Swipe
  • Onion skin

7.21 KB | W: | H:

14.9 KB | W: | H:

build/icons/256x256.png
build/icons/256x256.png
build/icons/256x256.png
build/icons/256x256.png
  • 2-up
  • Swipe
  • Onion skin

632 Bytes | W: | H:

791 Bytes | W: | H:

build/icons/32x32.png
build/icons/32x32.png
build/icons/32x32.png
build/icons/32x32.png
  • 2-up
  • Swipe
  • Onion skin

1.02 KB | W: | H:

1.27 KB | W: | H:

build/icons/48x48.png
build/icons/48x48.png
build/icons/48x48.png
build/icons/48x48.png
  • 2-up
  • Swipe
  • Onion skin

17.3 KB | W: | H:

44 KB | W: | H:

build/icons/512x512.png
build/icons/512x512.png
build/icons/512x512.png
build/icons/512x512.png
  • 2-up
  • Swipe
  • Onion skin

1.42 KB | W: | H:

1.69 KB | W: | H:

build/icons/64x64.png
build/icons/64x64.png
build/icons/64x64.png
build/icons/64x64.png
  • 2-up
  • Swipe
  • Onion skin
No preview for this file type
No preview for this file type
{
"name": "Jomall_Graphics_Lab",
"productName": "Jomall Graphics Lab",
"name": "JomallProductionAssistant",
"productName": "JomallProductionAssistant",
"description": "",
"version": "0.1.0",
"private": true,
......
<?xml version="1.0" encoding="utf-8"?>
<GTOPTION xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<szFileName />
<uiCopies>1</uiCopies>
<byPlatenSize>1</byPlatenSize>
<bEcoMode>false</bEcoMode>
<byInk>2</byInk>
<bMaterialBlack>false</bMaterialBlack>
<bMultiple>false</bMultiple>
<byHighlight>1</byHighlight>
<byMask>3</byMask>
<bFastMode>false</bFastMode>
<bDivide>false</bDivide>
<bPause>false</bPause>
<bTransColor>false</bTransColor>
<byChoke>2</byChoke>
<byMinWhite>1</byMinWhite>
<bySaturation>5</bySaturation>
<byBrightness>5</byBrightness>
<byContrast>5</byContrast>
<iCyanBalance>0</iCyanBalance>
<bUniPrint>false</bUniPrint>
<iMagentaBalance>0</iMagentaBalance>
<iYellowBalance>0</iYellowBalance>
<iBlackBalance>0</iBlackBalance>
<byResolution>1</byResolution>
</GTOPTION>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<GTOPTION xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<szFileName />
<uiCopies>1</uiCopies>
<byPlatenSize>1</byPlatenSize>
<bEcoMode>false</bEcoMode>
<byInk>2</byInk>
<bMaterialBlack>false</bMaterialBlack>
<bMultiple>false</bMultiple>
<byHighlight>1</byHighlight>
<byMask>3</byMask>
<bFastMode>false</bFastMode>
<bDivide>false</bDivide>
<bPause>false</bPause>
<bTransColor>false</bTransColor>
<byChoke>2</byChoke>
<byMinWhite>1</byMinWhite>
<bySaturation>5</bySaturation>
<byBrightness>5</byBrightness>
<byContrast>5</byContrast>
<iCyanBalance>0</iCyanBalance>
<bUniPrint>false</bUniPrint>
<iMagentaBalance>0</iMagentaBalance>
<iYellowBalance>0</iYellowBalance>
<iBlackBalance>0</iBlackBalance>
<byResolution>1</byResolution>
</GTOPTION>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<GTOPTION xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<szFileName />
<uiCopies>1</uiCopies>
<byPlatenSize>1</byPlatenSize>
<bEcoMode>false</bEcoMode>
<byInk>2</byInk>
<bMaterialBlack>false</bMaterialBlack>
<bMultiple>false</bMultiple>
<byHighlight>1</byHighlight>
<byMask>3</byMask>
<bFastMode>false</bFastMode>
<bDivide>false</bDivide>
<bPause>false</bPause>
<bTransColor>false</bTransColor>
<byChoke>2</byChoke>
<byMinWhite>1</byMinWhite>
<bySaturation>5</bySaturation>
<byBrightness>5</byBrightness>
<byContrast>5</byContrast>
<iCyanBalance>0</iCyanBalance>
<bUniPrint>false</bUniPrint>
<iMagentaBalance>0</iMagentaBalance>
<iYellowBalance>0</iYellowBalance>
<iBlackBalance>0</iBlackBalance>
<byResolution>1</byResolution>
</GTOPTION>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<GTOPTION xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<szFileName />
<uiCopies>1</uiCopies>
<byPlatenSize>1</byPlatenSize>
<bEcoMode>false</bEcoMode>
<byInk>2</byInk>
<bMaterialBlack>false</bMaterialBlack>
<bMultiple>false</bMultiple>
<byHighlight>1</byHighlight>
<byMask>3</byMask>
<bFastMode>false</bFastMode>
<bDivide>false</bDivide>
<bPause>false</bPause>
<bTransColor>false</bTransColor>
<byChoke>2</byChoke>
<byMinWhite>1</byMinWhite>
<bySaturation>5</bySaturation>
<byBrightness>5</byBrightness>
<byContrast>5</byContrast>
<iCyanBalance>0</iCyanBalance>
<bUniPrint>false</bUniPrint>
<iMagentaBalance>0</iMagentaBalance>
<iYellowBalance>0</iYellowBalance>
<iBlackBalance>0</iBlackBalance>
<byResolution>1</byResolution>
</GTOPTION>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<GTOPTION xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<szFileName />
<uiCopies>1</uiCopies>
<byPlatenSize>1</byPlatenSize>
<bEcoMode>false</bEcoMode>
<byInk>2</byInk>
<bMaterialBlack>false</bMaterialBlack>
<bMultiple>false</bMultiple>
<byHighlight>1</byHighlight>
<byMask>3</byMask>
<bFastMode>false</bFastMode>
<bDivide>false</bDivide>
<bPause>false</bPause>
<bTransColor>false</bTransColor>
<byChoke>2</byChoke>
<byMinWhite>1</byMinWhite>
<bySaturation>5</bySaturation>
<byBrightness>5</byBrightness>
<byContrast>5</byContrast>
<iCyanBalance>0</iCyanBalance>
<bUniPrint>false</bUniPrint>
<iMagentaBalance>0</iMagentaBalance>
<iYellowBalance>0</iYellowBalance>
<iBlackBalance>0</iBlackBalance>
<byResolution>1</byResolution>
</GTOPTION>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<GTOPTION xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<szFileName />
<uiCopies>1</uiCopies>
<byPlatenSize>1</byPlatenSize>
<bEcoMode>false</bEcoMode>
<byInk>2</byInk>
<bMaterialBlack>false</bMaterialBlack>
<bMultiple>false</bMultiple>
<byHighlight>1</byHighlight>
<byMask>3</byMask>
<bFastMode>false</bFastMode>
<bDivide>false</bDivide>
<bPause>false</bPause>
<bTransColor>false</bTransColor>
<byChoke>2</byChoke>
<byMinWhite>1</byMinWhite>
<bySaturation>5</bySaturation>
<byBrightness>5</byBrightness>
<byContrast>5</byContrast>
<iCyanBalance>0</iCyanBalance>
<bUniPrint>false</bUniPrint>
<iMagentaBalance>0</iMagentaBalance>
<iYellowBalance>0</iYellowBalance>
<iBlackBalance>0</iBlackBalance>
<byResolution>1</byResolution>
</GTOPTION>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<GTOPTION xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<szFileName />
<uiCopies>1</uiCopies>
<byPlatenSize>1</byPlatenSize>
<bEcoMode>false</bEcoMode>
<byInk>2</byInk>
<bMaterialBlack>false</bMaterialBlack>
<bMultiple>false</bMultiple>
<byHighlight>1</byHighlight>
<byMask>3</byMask>
<bFastMode>false</bFastMode>
<bDivide>false</bDivide>
<bPause>false</bPause>
<bTransColor>false</bTransColor>
<byChoke>2</byChoke>
<byMinWhite>1</byMinWhite>
<bySaturation>5</bySaturation>
<byBrightness>5</byBrightness>
<byContrast>5</byContrast>
<iCyanBalance>0</iCyanBalance>
<bUniPrint>false</bUniPrint>
<iMagentaBalance>0</iMagentaBalance>
<iYellowBalance>0</iYellowBalance>
<iBlackBalance>0</iBlackBalance>
<byResolution>1</byResolution>
</GTOPTION>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<GTOPTION xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<szFileName />
<uiCopies>1</uiCopies>
<byPlatenSize>1</byPlatenSize>
<bEcoMode>false</bEcoMode>
<byInk>2</byInk>
<bMaterialBlack>false</bMaterialBlack>
<bMultiple>false</bMultiple>
<byHighlight>1</byHighlight>
<byMask>3</byMask>
<bFastMode>false</bFastMode>
<bDivide>false</bDivide>
<bPause>false</bPause>
<bTransColor>false</bTransColor>
<byChoke>2</byChoke>
<byMinWhite>1</byMinWhite>
<bySaturation>5</bySaturation>
<byBrightness>5</byBrightness>
<byContrast>5</byContrast>
<iCyanBalance>0</iCyanBalance>
<bUniPrint>false</bUniPrint>
<iMagentaBalance>0</iMagentaBalance>
<iYellowBalance>0</iYellowBalance>
<iBlackBalance>0</iBlackBalance>
<byResolution>1</byResolution>
</GTOPTION>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<GTOPTION xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<szFileName />
<uiCopies>1</uiCopies>
<byPlatenSize>1</byPlatenSize>
<bEcoMode>false</bEcoMode>
<byInk>2</byInk>
<bMaterialBlack>false</bMaterialBlack>
<bMultiple>false</bMultiple>
<byHighlight>1</byHighlight>
<byMask>3</byMask>
<bFastMode>false</bFastMode>
<bDivide>false</bDivide>
<bPause>false</bPause>
<bTransColor>false</bTransColor>
<byChoke>2</byChoke>
<byMinWhite>1</byMinWhite>
<bySaturation>5</bySaturation>
<byBrightness>5</byBrightness>
<byContrast>5</byContrast>
<iCyanBalance>0</iCyanBalance>
<bUniPrint>false</bUniPrint>
<iMagentaBalance>0</iMagentaBalance>
<iYellowBalance>0</iYellowBalance>
<iBlackBalance>0</iBlackBalance>
<byResolution>1</byResolution>
</GTOPTION>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<GTOPTION xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<szFileName />
<uiCopies>1</uiCopies>
<byPlatenSize>1</byPlatenSize>
<bEcoMode>false</bEcoMode>
<byInk>2</byInk>
<bMaterialBlack>false</bMaterialBlack>
<bMultiple>false</bMultiple>
<byHighlight>1</byHighlight>
<byMask>3</byMask>
<bFastMode>false</bFastMode>
<bDivide>false</bDivide>
<bPause>false</bPause>
<bTransColor>false</bTransColor>
<byChoke>2</byChoke>
<byMinWhite>1</byMinWhite>
<bySaturation>5</bySaturation>
<byBrightness>5</byBrightness>
<byContrast>5</byContrast>
<iCyanBalance>0</iCyanBalance>
<bUniPrint>false</bUniPrint>
<iMagentaBalance>0</iMagentaBalance>
<iYellowBalance>0</iYellowBalance>
<iBlackBalance>0</iBlackBalance>
<byResolution>1</byResolution>
</GTOPTION>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<GTOPTION xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<szFileName />
<uiCopies>1</uiCopies>
<byPlatenSize>1</byPlatenSize>
<bEcoMode>false</bEcoMode>
<byInk>2</byInk>
<bMaterialBlack>false</bMaterialBlack>
<bMultiple>false</bMultiple>
<byHighlight>1</byHighlight>
<byMask>3</byMask>
<bFastMode>false</bFastMode>
<bDivide>false</bDivide>
<bPause>false</bPause>
<bTransColor>false</bTransColor>
<byChoke>2</byChoke>
<byMinWhite>1</byMinWhite>
<bySaturation>5</bySaturation>
<byBrightness>5</byBrightness>
<byContrast>5</byContrast>
<iCyanBalance>0</iCyanBalance>
<bUniPrint>false</bUniPrint>
<iMagentaBalance>0</iMagentaBalance>
<iYellowBalance>0</iYellowBalance>
<iBlackBalance>0</iBlackBalance>
<byResolution>1</byResolution>
</GTOPTION>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<GTOPTION xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<szFileName />
<uiCopies>1</uiCopies>
<byPlatenSize>1</byPlatenSize>
<bEcoMode>false</bEcoMode>
<byInk>2</byInk>
<bMaterialBlack>false</bMaterialBlack>
<bMultiple>false</bMultiple>
<byHighlight>1</byHighlight>
<byMask>3</byMask>
<bFastMode>false</bFastMode>
<bDivide>false</bDivide>
<bPause>false</bPause>
<bTransColor>false</bTransColor>
<byChoke>2</byChoke>
<byMinWhite>1</byMinWhite>
<bySaturation>5</bySaturation>
<byBrightness>5</byBrightness>
<byContrast>5</byContrast>
<iCyanBalance>0</iCyanBalance>
<bUniPrint>false</bUniPrint>
<iMagentaBalance>0</iMagentaBalance>
<iYellowBalance>0</iYellowBalance>
<iBlackBalance>0</iBlackBalance>
<byResolution>1</byResolution>
</GTOPTION>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<GTOPTION xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<szFileName />
<uiCopies>1</uiCopies>
<byPlatenSize>1</byPlatenSize>
<bEcoMode>false</bEcoMode>
<byInk>2</byInk>
<bMaterialBlack>false</bMaterialBlack>
<bMultiple>false</bMultiple>
<byHighlight>1</byHighlight>
<byMask>3</byMask>
<bFastMode>false</bFastMode>
<bDivide>false</bDivide>
<bPause>false</bPause>
<bTransColor>false</bTransColor>
<byChoke>2</byChoke>
<byMinWhite>1</byMinWhite>
<bySaturation>5</bySaturation>
<byBrightness>5</byBrightness>
<byContrast>5</byContrast>
<iCyanBalance>0</iCyanBalance>
<bUniPrint>false</bUniPrint>
<iMagentaBalance>0</iMagentaBalance>
<iYellowBalance>0</iYellowBalance>
<iBlackBalance>0</iBlackBalance>
<byResolution>1</byResolution>
</GTOPTION>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<GTOPTION xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<szFileName />
<uiCopies>1</uiCopies>
<byPlatenSize>1</byPlatenSize>
<bEcoMode>false</bEcoMode>
<byInk>2</byInk>
<bMaterialBlack>false</bMaterialBlack>
<bMultiple>false</bMultiple>
<byHighlight>1</byHighlight>
<byMask>3</byMask>
<bFastMode>false</bFastMode>
<bDivide>false</bDivide>
<bPause>false</bPause>
<bTransColor>false</bTransColor>
<byChoke>2</byChoke>
<byMinWhite>1</byMinWhite>
<bySaturation>5</bySaturation>
<byBrightness>5</byBrightness>
<byContrast>5</byContrast>
<iCyanBalance>0</iCyanBalance>
<bUniPrint>false</bUniPrint>
<iMagentaBalance>0</iMagentaBalance>
<iYellowBalance>0</iYellowBalance>
<iBlackBalance>0</iBlackBalance>
<byResolution>1</byResolution>
</GTOPTION>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<GTOPTION xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<szFileName />
<uiCopies>1</uiCopies>
<byPlatenSize>1</byPlatenSize>
<bEcoMode>false</bEcoMode>
<byInk>2</byInk>
<bMaterialBlack>false</bMaterialBlack>
<bMultiple>false</bMultiple>
<byHighlight>1</byHighlight>
<byMask>3</byMask>
<bFastMode>false</bFastMode>
<bDivide>false</bDivide>
<bPause>false</bPause>
<bTransColor>false</bTransColor>
<byChoke>2</byChoke>
<byMinWhite>1</byMinWhite>
<bySaturation>5</bySaturation>
<byBrightness>5</byBrightness>
<byContrast>5</byContrast>
<iCyanBalance>0</iCyanBalance>
<bUniPrint>false</bUniPrint>
<iMagentaBalance>0</iMagentaBalance>
<iYellowBalance>0</iYellowBalance>
<iBlackBalance>0</iBlackBalance>
<byResolution>1</byResolution>
</GTOPTION>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<GTOPTION xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<szFileName />
<uiCopies>1</uiCopies>
<byPlatenSize>1</byPlatenSize>
<bEcoMode>false</bEcoMode>
<byInk>2</byInk>
<bMaterialBlack>false</bMaterialBlack>
<bMultiple>false</bMultiple>
<byHighlight>1</byHighlight>
<byMask>3</byMask>
<bFastMode>false</bFastMode>
<bDivide>false</bDivide>
<bPause>false</bPause>
<bTransColor>false</bTransColor>
<byChoke>2</byChoke>
<byMinWhite>1</byMinWhite>
<bySaturation>5</bySaturation>
<byBrightness>5</byBrightness>
<byContrast>5</byContrast>
<iCyanBalance>0</iCyanBalance>
<bUniPrint>false</bUniPrint>
<iMagentaBalance>0</iMagentaBalance>
<iYellowBalance>0</iYellowBalance>
<iBlackBalance>0</iBlackBalance>
<byResolution>1</byResolution>
</GTOPTION>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<GTOPTION xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<szFileName />
<uiCopies>1</uiCopies>
<byPlatenSize>1</byPlatenSize>
<bEcoMode>false</bEcoMode>
<byInk>2</byInk>
<bMaterialBlack>false</bMaterialBlack>
<bMultiple>false</bMultiple>
<byHighlight>1</byHighlight>
<byMask>3</byMask>
<bFastMode>false</bFastMode>
<bDivide>false</bDivide>
<bPause>false</bPause>
<bTransColor>false</bTransColor>
<byChoke>2</byChoke>
<byMinWhite>1</byMinWhite>
<bySaturation>5</bySaturation>
<byBrightness>5</byBrightness>
<byContrast>5</byContrast>
<iCyanBalance>0</iCyanBalance>
<bUniPrint>false</bUniPrint>
<iMagentaBalance>0</iMagentaBalance>
<iYellowBalance>0</iYellowBalance>
<iBlackBalance>0</iBlackBalance>
<byResolution>1</byResolution>
</GTOPTION>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<GTOPTION xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<szFileName />
<uiCopies>1</uiCopies>
<byPlatenSize>1</byPlatenSize>
<bEcoMode>false</bEcoMode>
<byInk>2</byInk>
<bMaterialBlack>false</bMaterialBlack>
<bMultiple>false</bMultiple>
<byHighlight>1</byHighlight>
<byMask>3</byMask>
<bFastMode>false</bFastMode>
<bDivide>false</bDivide>
<bPause>false</bPause>
<bTransColor>false</bTransColor>
<byChoke>2</byChoke>
<byMinWhite>1</byMinWhite>
<bySaturation>5</bySaturation>
<byBrightness>5</byBrightness>
<byContrast>5</byContrast>
<iCyanBalance>0</iCyanBalance>
<bUniPrint>false</bUniPrint>
<iMagentaBalance>0</iMagentaBalance>
<iYellowBalance>0</iYellowBalance>
<iBlackBalance>0</iBlackBalance>
<byResolution>1</byResolution>
</GTOPTION>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<GTOPTION xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<szFileName />
<uiCopies>1</uiCopies>
<byPlatenSize>1</byPlatenSize>
<bEcoMode>false</bEcoMode>
<byInk>2</byInk>
<bMaterialBlack>false</bMaterialBlack>
<bMultiple>false</bMultiple>
<byHighlight>1</byHighlight>
<byMask>3</byMask>
<bFastMode>false</bFastMode>
<bDivide>false</bDivide>
<bPause>false</bPause>
<bTransColor>false</bTransColor>
<byChoke>2</byChoke>
<byMinWhite>1</byMinWhite>
<bySaturation>5</bySaturation>
<byBrightness>5</byBrightness>
<byContrast>5</byContrast>
<iCyanBalance>0</iCyanBalance>
<bUniPrint>false</bUniPrint>
<iMagentaBalance>0</iMagentaBalance>
<iYellowBalance>0</iYellowBalance>
<iBlackBalance>0</iBlackBalance>
<byResolution>1</byResolution>
</GTOPTION>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<GTOPTION xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<szFileName />
<uiCopies>1</uiCopies>
<byPlatenSize>1</byPlatenSize>
<byHighlight>1</byHighlight>
<byMask>3</byMask>
<bDivide>false</bDivide>
<bTransColor>false</bTransColor>
<bySaturation>5</bySaturation>
<byBrightness>5</byBrightness>
<byContrast>5</byContrast>
<bUniPrint>false</bUniPrint>
<byResolution>1</byResolution>
<byInk>1</byInk>
</GTOPTION>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<GTOPTION xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<szFileName />
<uiCopies>1</uiCopies>
<byPlatenSize>1</byPlatenSize>
<bEcoMode>false</bEcoMode>
<byInk>2</byInk>
<bMaterialBlack>false</bMaterialBlack>
<bMultiple>false</bMultiple>
<byHighlight>1</byHighlight>
<byMask>3</byMask>
<bFastMode>false</bFastMode>
<bDivide>false</bDivide>
<bPause>false</bPause>
<bTransColor>false</bTransColor>
<byChoke>2</byChoke>
<byMinWhite>1</byMinWhite>
<bySaturation>5</bySaturation>
<byBrightness>5</byBrightness>
<byContrast>5</byContrast>
<iCyanBalance>0</iCyanBalance>
<bUniPrint>false</bUniPrint>
<iMagentaBalance>0</iMagentaBalance>
<iYellowBalance>0</iYellowBalance>
<iBlackBalance>0</iBlackBalance>
<byResolution>1</byResolution>
</GTOPTION>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<GTOPTION xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<szFileName />
<uiCopies>1</uiCopies>
<byPlatenSize>1</byPlatenSize>
<bEcoMode>false</bEcoMode>
<byInk>2</byInk>
<bMaterialBlack>false</bMaterialBlack>
<bMultiple>false</bMultiple>
<byHighlight>1</byHighlight>
<byMask>3</byMask>
<bFastMode>false</bFastMode>
<bDivide>false</bDivide>
<bPause>false</bPause>
<bTransColor>false</bTransColor>
<byChoke>2</byChoke>
<byMinWhite>1</byMinWhite>
<bySaturation>5</bySaturation>
<byBrightness>5</byBrightness>
<byContrast>5</byContrast>
<iCyanBalance>0</iCyanBalance>
<bUniPrint>false</bUniPrint>
<iMagentaBalance>0</iMagentaBalance>
<iYellowBalance>0</iYellowBalance>
<iBlackBalance>0</iBlackBalance>
<byResolution>1</byResolution>
</GTOPTION>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<GTOPTION xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<szFileName />
<uiCopies>1</uiCopies>
<byPlatenSize>1</byPlatenSize>
<bEcoMode>false</bEcoMode>
<byInk>2</byInk>
<bMaterialBlack>false</bMaterialBlack>
<bMultiple>false</bMultiple>
<byHighlight>1</byHighlight>
<byMask>3</byMask>
<bFastMode>false</bFastMode>
<bDivide>false</bDivide>
<bPause>false</bPause>
<bTransColor>false</bTransColor>
<byChoke>2</byChoke>
<byMinWhite>1</byMinWhite>
<bySaturation>5</bySaturation>
<byBrightness>5</byBrightness>
<byContrast>5</byContrast>
<iCyanBalance>0</iCyanBalance>
<bUniPrint>false</bUniPrint>
<iMagentaBalance>0</iMagentaBalance>
<iYellowBalance>0</iYellowBalance>
<iBlackBalance>0</iBlackBalance>
<byResolution>1</byResolution>
</GTOPTION>
\ No newline at end of file

11.6 KB | W: | H:

3.98 KB | W: | H:

src/assets/logo.jpg
src/assets/logo.jpg
src/assets/logo.jpg
src/assets/logo.jpg
  • 2-up
  • Swipe
  • Onion skin
import {downloadImage, toSend, writeProfileXml} from "@/backend/webserver/utils";
import { downloadImage, toSend, writeProfileXml } from "@/backend/webserver/utils";
const compressing = require('compressing');
const compressing = require("compressing");
var uuid = require("uuid");
const path = require('path');
const fs = require('fs');
const os = require('os');
const path = require("path");
const fs = require("fs");
const os = require("os");
import axios from "axios";
var multiparty = require("multiparty");
let fn = new Object();
fn.getPodProductionInfo = async (req, res) => {
const token = req.headers["jwt-token"]
const company = req.headers["company"]
const productionNo = req.body.productionNo
const token = req.headers["jwt-token"];
const company = req.headers["company"];
const productionNo = req.body.productionNo;
try {
let {data} = await axios.post(`https://${company}/api/podDesignCenter/getPodImageByProduction`, {productionNo}, {headers: {'jwt-token': token}})
let { data } = await axios.post(`https://${company}/api/podDesignCenter/getPodImageByProduction`, { productionNo }, { headers: { "jwt-token": token } });
console.log(data);
if (data.code === 200 && data.data && data.data.length > 0) {
let f = data.data.find(el => !el.productionFile);
data.data.forEach((el ) => {
if (!el.productionFile.includes("http")) {
el.productionFile = el.productionFile.replace("/data/upload/erp", "");
el.productionFile = `https://${company}/upload/erp/${el.productionFile}`;
}
});
if (f) {
return res.json({ code: 500, msg: "存在地址错误的素材图" });
}
downloadImage(data.data, company, data => {
res.json({code: 200, data})
res.json({ code: 200, data });
}, (err) => {
res.json({code: 500, msg: '素材图下载失败'})
})
res.json({ code: 500, msg: "素材图下载失败" });
});
} else {
res.json({code: 200, msg: '未找到素材图', data: []})
res.json({ code: 200, msg: "未找到素材图", data: [] });
}
} catch (err) {
console.log(err)
res.json({code: 500, msg: '接口调用失败'})
console.log(err);
res.json({ code: 500, msg: "接口调用失败" });
}
}
};
fn.findByPodProductionNo = async (req, res) => {
const token = req.headers["jwt-token"]
const company = req.headers["company"]
const q = req.body
const token = req.headers["jwt-token"];
const company = req.headers["company"];
const q = req.body;
try {
let {data} = await axios.get(`https://${company}/api/pod/podProductionInfo/findByPodProductionNo`, {
let { data } = await axios.get(`https://${company}/api/pod/podProductionInfo/findByPodProductionNo`, {
params: q,
headers: {'jwt-token': token}
})
res.json(data)
headers: { "jwt-token": token }
});
res.json(data);
} catch (err) {
res.json({code: 500, msg: err})
res.json({ code: 500, msg: err });
}
}
};
fn.getCompanyList = async (req, res) => {
try {
let {data} = await axios.get('https://platform.jomalls.com/api/tools/getCompanyList')
res.send(data)
let { data } = await axios.get("https://platform.jomalls.com/api/tools/getCompanyList");
res.send(data);
} catch (err) {
console.log(err)
res.json({code: 500, msg: err})
console.log(err);
res.json({ code: 500, msg: err });
}
}
};
fn.commitApply = async (req, res) => {
const company = req.headers["company"]
const q = req.body
const company = req.headers["company"];
const q = req.body;
try {
let {data} = await axios.post(`https://${company}/api/sysDeviceInfo/commitApply`, q)
res.send(data)
let { data } = await axios.post(`https://${company}/api/sysDeviceInfo/commitApply`, q);
res.send(data);
} catch (err) {
console.log(err)
res.json({code: 500, msg: err})
console.log(err);
res.json({ code: 500, msg: err });
}
}
};
fn.completeDelivery = async (req, res) => {
const token = req.headers["jwt-token"]
const company = req.headers["company"]
const q = req.body
const token = req.headers["jwt-token"];
const company = req.headers["company"];
const q = req.body;
try {
let {data} = await axios.post(`https://${company}/api/pod/podProductionInfo/completeDelivery`, q, {
headers: {'jwt-token': token}
})
res.json(data)
let { data } = await axios.post(`https://${company}/api/pod/podProductionInfo/completeDelivery`, q, {
headers: { "jwt-token": token }
});
res.json(data);
} catch (err) {
res.json({code: 500, msg: err})
res.json({ code: 500, msg: err });
}
}
};
fn.downloadByDesignId = async (req, res) => {
let q = req.body
let q = req.body;
try {
let dir = path.join(os.homedir(), '/Desktop/' + q.productionNo+'.zip')
let dir = path.join(os.homedir(), "/Desktop/" + q.productionNo + ".zip");
const zipStream = new compressing.zip.Stream();
for(let k in q.imgList){
const p = path.join(process.cwd(),'./print/Input/'+q.imgList[k].fileName)
for (let k in q.imgList) {
const p = path.join(process.cwd(), "./print/Input/" + q.imgList[k].fileName);
zipStream.addEntry(p);
}
const destStream = fs.createWriteStream(dir);
zipStream.pipe(destStream)
.on('finish', () => {
console.log('success');
res.json({code: 200, msg: q.productionNo+'.zip' + '已下载到桌面'})
.on("finish", () => {
console.log("success");
res.json({ code: 200, msg: q.productionNo + ".zip" + "已下载到桌面" });
})
.on('error', () => {
res.json({code: 500, msg: '文件下载失败'})
.on("error", () => {
res.json({ code: 500, msg: "文件下载失败" });
});
// let ws=fs.createWriteStream(dir );
// console.log(downloadByDesignId)
......@@ -116,80 +127,80 @@ fn.downloadByDesignId = async (req, res) => {
// ws.end()
} catch (err) {
console.log(err)
res.json({code: 500, msg: err})
console.log(err);
res.json({ code: 500, msg: err });
}
}
};
fn.uploadImage = async (req, res) => {
try {
const p = path.join(process.cwd(), './print/Input/')
const p = path.join(process.cwd(), "./print/Input/");
let fileName = uuid.v4() + ".png";
console.log(fileName)
console.log(fileName);
const form = new multiparty.Form({uploadDir: p});
form.parse(req, function (err, fields, files) {
console.log(fields, files, err)
const form = new multiparty.Form({ uploadDir: p });
form.parse(req, function(err, fields, files) {
console.log(fields, files, err);
if (err) {
res.send({code: 500, err})
res.send({ code: 500, err });
} else {
fs.renameSync(files.file[0].path, path.join(p, fileName))
res.json({code: 200, data: {fileName, url: path.join(process.cwd(), './print/Input/' + fileName)}})
fs.renameSync(files.file[0].path, path.join(p, fileName));
res.json({ code: 200, data: { fileName, url: path.join(process.cwd(), "./print/Input/" + fileName) } });
}
});
} catch (err) {
console.log(err)
res.json({code: 500, msg: err})
console.log(err);
res.json({ code: 500, msg: err });
}
}
};
fn.getPngImg = async (req, res) => {
try {
const filePath = path.join(process.cwd(), `./print/Input/${req.body.fileName}`);
console.log(filePath)
console.log(filePath);
// 给客户端返回一个文件流 type类型
res.set('content-type', {"png": "image/png", "jpg": "image/jpeg"});//设置返回类型
res.set("content-type", { "png": "image/png", "jpg": "image/jpeg" });//设置返回类型
let stream = fs.createReadStream(filePath);
let responseData = [];//存储文件流
if (stream) {//判断状态
stream.on('data', function (chunk) {
stream.on("data", function(chunk) {
responseData.push(chunk);
});
stream.on('end', function () {
stream.on("end", function() {
const finalData = Buffer.concat(responseData);
res.write(finalData);
res.end();
});
}
} catch (err) {
res.send({code: 500, msg: err})
res.send({ code: 500, msg: err });
}
}
};
fn.login = async (req, res) => {
const {loginName, company, password, deviceId} = req.body
const { loginName, company, password, deviceId } = req.body;
try {
let {data} = await axios.post(`https://${company}/api/sysLogin/login`, {loginName, password, deviceId})
let { data } = await axios.post(`https://${company}/api/sysLogin/login`, { loginName, password, deviceId });
res.send(data)
res.send(data);
} catch (err) {
console.log(err)
res.json({code: 500, msg: err})
console.log(err);
res.json({ code: 500, msg: err });
}
}
};
fn.toPrint = (req, res) => {
let body = req.body;
writeProfileXml(body) // 写入xml文件
writeProfileXml(body); // 写入xml文件
// GTXproCMD.exe print -X "Profile\\CO12.xml" -I "Input\\sample.png" -A "Output\\pO12.arxp" -S 03000400 -L 02540254
toSend(body).then(r => {
res.send({code: 200, msg: '操作成功'})
res.send({ code: 200, msg: "操作成功" });
}).catch(err => {
res.send({code: 500, msg: err})
})
res.send({ code: 500, msg: err });
});
};
export {fn as default};
export { fn as default };
......@@ -5,39 +5,41 @@ Vue.use(VueRouter);
const routes = [
{
path: '/',
name: 'login',
path: "/",
name: "login",
meta: {
title: '登录'
title: "登录"
},
component: (resolve) => require(['../views/login/index.vue'], resolve)
component: resolve => require(["../views/login/index.vue"], resolve)
},
{
path: '/design',
name: 'design',
path: "/design",
name: "design",
meta: {
title: '设计页面'
title: "设计页面"
},
component: (resolve) => require(['../views/design/index.vue'], resolve)
component: resolve => require(["../views/design/index.vue"], resolve)
},
{
path: '/design-copy',
name: 'design',
path: "/design-copy",
name: "design",
meta: {
title: '设计页面'
title: "设计页面"
},
component: (resolve) => require(['../views/design/copy.vue'], resolve)
}, {
path: '/design-detail',
name: 'design',
component: resolve => require(["../views/design/copy.vue"], resolve)
},
{
path: "/design-detail",
name: "design",
meta: {
title: '设计详情页面'
title: "设计详情页面"
},
component: (resolve) => require(['../views/design/detail/index.vue'], resolve)
}, {
path: '*',
redirect: '/'
component: resolve => require(["../views/design/detail/index.vue"], resolve)
},
{
path: "*",
redirect: "/"
}
];
const router = new VueRouter({
......@@ -46,18 +48,21 @@ const router = new VueRouter({
routes
});
router.beforeEach((to, from, next) => {
let user = Vue.prototype.$dataStore.get('user')
if (to.name === 'login') {
let user = Vue.prototype.$dataStore.get("user");
if (to.name === "login") {
if (user) {
console.log(1)
return next({path:'/design'})
console.log(1);
return next({ path: "/design" });
} else {
return next( )
return next();
}
} else {
return next()
if (user) {
return next();
} else {
return next("/");
}
})
}
});
export default router;
......@@ -5,39 +5,40 @@ import Vuex from "vuex";
Vue.use(Vuex);
const defaultSetting = {
gridShow: 1,
language: 'cn',
language: "cn",
gridValue: 1,
autoPrint: false,
gridSpacing: "10mm"
}
};
export default new Vuex.Store({
state: {
actionList:[],
imgList:[],
actionIndex:-1,
actionList: [],
imgList: [],
actionIndex: -1,
systemSetting: {
gridShow: 1,
gridValue: 1,
language: 'cn',
unit: "mm",
language: "cn",
autoPrint: false,
gridSpacing: "10mm"
gridSpacing: 10
}
},
mutations: {
setDefaultSetting(state) {
state.systemSetting = JSON.parse(JSON.stringify(defaultSetting))
state.systemSetting = JSON.parse(JSON.stringify(defaultSetting));
},
updateSystemSetting(state, f) {
state.systemSetting[f.field] = f.value
state.systemSetting[f.field] = f.value;
},
changeActionList(state, value) {
state.actionList = value
state.actionList = value;
},
changeActionIndex(state, value) {
state.actionIndex = value
state.actionIndex = value;
},
changeImgList(state, value) {
state.imgList = value
state.imgList = value;
}
},
getters: {
......@@ -47,8 +48,8 @@ export default new Vuex.Store({
getActionList(state) {
return state.actionList;
},
getActionIndex:(state)=> state.actionIndex,
imgList:(state)=> state.imgList
getActionIndex: (state) => state.actionIndex,
imgList: (state) => state.imgList
},
actions: {},
modules: {}
......
import axios from 'axios'
import Vue from 'vue'
import {Loading} from 'element-ui'
import axios from "axios";
import Vue from "vue";
import { Loading } from "element-ui";
import router from "../router/index";
// create an axios instance
const service = axios.create({
baseURL: 'http://localhost:3000', // url = base url + request url
baseURL: "http://localhost:3000", // url = base url + request url
// withCredentials: true, // send cookies when cross-domain requests
timeout: 50000000 // request timeout
})
let loading
});
let loading;
function startLoading() {
loading = Loading.service({
lock: true,
text: '拼命加载中...',
spinner: 'el-icon-loading',
background: 'rgba(0,0,0,.7)'
})
text: "拼命加载中...",
spinner: "el-icon-loading",
background: "rgba(0,0,0,.7)"
});
}
function endLoading() {
loading.close()
loading.close();
}
// Add a request interceptor
service.interceptors.request.use(
config => {
const user = Vue.prototype.$dataStore.get('user')
const company = Vue.prototype.$dataStore.get('company')
const user = Vue.prototype.$dataStore.get("user");
const company = Vue.prototype.$dataStore.get("company");
if (user) {
config.headers['jwt-token'] = user.token
config.headers['company'] = company.domain
config.headers["jwt-token"] = user.token;
config.headers["company"] = company.domain;
}
startLoading()
return config
startLoading();
return config;
},
error => {
endLoading()
endLoading();
// do something with request error
return Promise.reject(error)
return Promise.reject(error);
}
)
);
// Add a response interceptor
service.interceptors.response.use(
......@@ -54,42 +54,49 @@ service.interceptors.response.use(
* Here is just an example
* You can also judge the status by HTTP Status Code
*/
response => {
async response => {
// do something with response data
const res = response.data
endLoading()
const res = response.data;
endLoading();
if (res.code) {
if (res.code !== 200) {
if (res.code === 411) {
return Promise.resolve(res)
return Promise.resolve(res);
}
if (res.code === 403) {
router.replace('/')
Vue.prototype.$message.error({showClose: true, message: res.msg || res.message || 'Error'})
Vue.prototype.$dataStore.delete('user')
return Promise.reject(new Error(res.msg || res.message || 'Error'))
Vue.prototype.$dataStore.delete("user");
Vue.prototype.$message.error({
showClose: true,
message: res.msg || res.message || "Error"
});
setTimeout(() => {
location.reload();
}, 500);
return Promise.reject(new Error(res.msg || res.message || "Error"));
}
// 50008: Illegal token; 50012: Other clients logged in; 50014: Token expired;
if (res.code === 50008 || res.code === 50012 || res.code === 50014) {
// TODO: to re-login
}
Vue.prototype.$message.error({showClose: true, message: res.msg || res.message || 'Error'})
Vue.prototype.$message.error({
showClose: true,
message: res.msg || res.message || "Error"
});
// reject
return Promise.reject(new Error(res.msg || res.message || 'Error'))
return Promise.reject(new Error(res.msg || res.message || "Error"));
} else {
return Promise.resolve(res)
return Promise.resolve(res);
}
}
return Promise.resolve(res)
return Promise.resolve(res);
},
error => {
endLoading()
endLoading();
// do something with response error
return Promise.reject(error)
return Promise.reject(error);
}
)
);
export default service
export default service;
export const grid = [
// {
// label: '7×8',
// value: 4,
// col: 7,
// row: 8
// },
// {
// label: '10×12',
// col: 10,
// value: 3,
// row: 12
// },
// {
// label: '14×16',
// col: 14,
// value: 2,
// row: 16
// },
{
label: "16×18",
value: 1,
row: 16,
col: 18,
h: 542,
w: 482
}
// {
// label: '16×21',
// value: 0,
// col: 16,
// row: 21
// }
];
\ No newline at end of file
export default {
byInk:`
byInk: `
<b>油墨选择</b>
<p>选择所使用油墨的组合方式:</p>
<p>选择所使用油墨的组合方式:</p>
......@@ -7,7 +7,7 @@ export default {
<p>仅彩色油墨:在白底或淡色底上打印彩色图像。</p>
<p>仅黑色油墨:只使用黑色油墨,打印黑白图像。</p>
`,
bEcoMode:`
bEcoMode: `
<b>模式</b>
<p>自动调整底材的白色油墨量,抑制整体的油墨消耗量。</p>
<p>但是,根据颜色,完成品的亮度有时会略微降低。</p>
......@@ -95,7 +95,7 @@ export default {
<p>使亮的颜色更亮、暗的颜色更暗,从而给呆板的图像增加颜色强弱。</p>
`,
iCyanBalance :
iCyanBalance:
`
<b>青色</b>
<p>调整青色油墨量。</p>
......@@ -103,7 +103,7 @@ export default {
<p>如果减少值,整体会偏红。</p>
`,
iMagentaBalance :
iMagentaBalance:
`
<b>红色</b>
<p>调整青色油墨量。</p>
......@@ -111,7 +111,7 @@ export default {
<p>如果减少值,整体会偏绿。</p>
`,
iYellowBalance :
iYellowBalance:
`
<b>黄色</b>
<p>调整黄色油墨量。</p>
......@@ -119,7 +119,7 @@ export default {
<p>如果减少值,整体会偏蓝。</p>
`,
iBlackBalance :
iBlackBalance:
`
<b>黑色</b>
<p>调整黑色油墨量。</p>
......@@ -128,19 +128,19 @@ export default {
`,
printTime :
printTime:
`
<b>打印时间</b>
<p>“x1”以按照高光5打印的时间作为标准。</p>
<p>提高高光增加了白色油墨量时打印时间变长。</p>
`,
whiteInk :
whiteInk:
`
<b>白色油墨量</b>
<p>高光5的油墨量为“400%",以此作为标准。</p>
<p>实际油墨消耗量取决于打印图像内的色彩。请将其当作油墨消耗量的标准。</p>
`,
byInkVolume :
byInkVolume:
`
<b>油墨量</b>
<p>减少彩色油墨量以防止油墨渗透。</p>
......@@ -150,11 +150,20 @@ export default {
<p>6-4 用于薄平纹织物和棉/聚酯纤维/聚氨酯混纺。</p>
<p>3-1用于聚酯纤维针织物和没有吸水性合成纤维。</p>
`,
bUniPrint :
bUniPrint:
`
<b>单向打印</b>
<p>将打印方向固定为一个方向。</p>
<p>优先执行来自打印机操作面板的指定,仅在打印机的设置是[自动]时有效。</p>
`,
byDoublePrint:
`
<b>2次打印</b>
<p>设置为0时,打印1次。</p>
<p>设置为1~3时,分2次打印。</p>
<p>分2次打印时,无需增加油墨消耗量也可期待提高黑度。</p>
<p>设置值越大,从第1次打印开始到第2次打印开始的间隔越长,可以更加期待提高黑度效果。</p>
`
}
\ No newline at end of file
};
\ No newline at end of file
......@@ -4,144 +4,155 @@ export default {
data() {
return {
rules: {
company: [{validator: this.validatePass, required: true, trigger: 'blur'}],
loginName: [{message: '请输入用户名', required: true, trigger: 'blur'}],
password: [{message: '请输入密码', required: true, trigger: 'blur'}],
company: [{ validator: this.validatePass, required: true, trigger: "blur" }],
loginName: [{ message: "请输入用户名", required: true, trigger: "blur" }],
password: [{ message: "请输入密码", required: true, trigger: "blur" }]
},
companyList: [],
userList: [],
company: null,
authorityVisible: false,
remember: true,
authorityForm: {},
form: {
loginName: '',
user: '',
company: '',
password: ''
}
loginName: "",
user: "",
company: "",
password: ""
}
};
},
created() {
console.log(this.$dataStore, 'this.$dataStore')
this.company = this.$dataStore.get('company')
this.userList = this.$dataStore.get('userList') || []
// this.len = Object.keys(this.$dataStore.store).length
console.log(this.$dataStore, "this.$dataStore");
// this.$dataStore.set('deviceIdceshi03','b27a0777451f789521f4240e99f65913')
this.company = this.$dataStore.get("company");
this.userList = this.$dataStore.get("userList") || [];
if (this.company) {
this.form.company = this.company.domain
this.form.company = this.company.domain;
}
// if (user) {
// return this.$router.push('/design')
// }
this.getCompanyList()
this.getCompanyList();
},
mounted() {
document.addEventListener('keyup', this.keyUp)
document.addEventListener("keyup", this.keyUp);
},
beforeDestroy() {
document.removeEventListener('keyup', this.keyUp)
document.removeEventListener("keyup", this.keyUp);
},
methods: {
keyUp(e) {
console.log(e)
console.log(e);
if (e.keyCode === 13) {
this.login()
this.login();
}
},
submitAuthority() {
this.$refs.authorityForm.validate((v) => {
if (v) {
this.$api.post('/commitApply', {
this.$api.post("/commitApply", {
...this.authorityForm,
...this.form
}, {
headers: {
'company': this.form.company + '.jomalls.com'
"company": this.form.company + ".jomalls.com"
}
}).then((res) => {
if (res.code === 200) {
this.authorityVisible = false
this.$message.success('申请提交成功')
this.$dataStore.set('deviceId' + this.form.loginName, res.data.id)
this.authorityVisible = false;
this.$message.success("申请提交成功");
this.$dataStore.set("deviceId" + this.form.loginName, res.data.id);
}
})
});
}
})
});
},
validatePass(rule, value, callback) {
if (!value || value === '') {
return callback(new Error('请输入客户(例如demo)'));
if (!value || value === "") {
return callback(new Error("请输入客户(例如demo)"));
}
let item = this.companyList.find(item => item.domain.replace('.jomalls.com', '') === value)
let item = this.companyList.find(item => item.domain.replace(".jomalls.com", "") === value);
if (item) {
return callback()
return callback();
} else {
return callback(new Error('未查找到该客户'))
return callback(new Error("未查找到该客户"));
}
},
async login() {
// if (this.form.auth) {
// this.$dataStore.set(this.form.auth.split(",")[0], this.form.auth.split(",")[1]);
// console.log("存储成功");
// console.log(this.$dataStore.store);
//
// }
this.$refs.formRef.validate(async valid => {
if (valid) {
let f = JSON.parse(JSON.stringify(this.form))
if (f.company.split('.').length === 1) {
f.company = f.company + '.jomalls.com'
let f = JSON.parse(JSON.stringify(this.form));
if (f.company.split(".").length === 1) {
f.company = f.company + ".jomalls.com";
}
if (!f.deviceId) {
f.deviceId = this.$dataStore.get('deviceId' + this.form.loginName)
f.deviceId = this.$dataStore.get("deviceId" + this.form.loginName);
}
if (!f.deviceId) delete f.deviceId
let {data, code, message} = await this.$api.post('/login', f)
if (!f.deviceId) delete f.deviceId;
let { data, code, message } = await this.$api.post("/login", f);
if (code === 411) {
this.authorityVisible = true
this.authorityForm = {}
return this.$message.error(message)
this.authorityVisible = true;
this.authorityForm = {};
return this.$message.error(message);
}
data = {
...data.sysUser,
...{
token: data.token
}
}
delete data.sysMenus
delete data.sysUser
let item = this.companyList.find(item => item.domain === f.company)
console.log(item, 111222)
this.$dataStore.set('user', data)
this.$dataStore.set('company', item)
};
delete data.sysMenus;
delete data.sysUser;
let item = this.companyList.find(item => item.domain === f.company);
console.log(item, 111222);
this.$dataStore.set("user", data);
this.$dataStore.set("company", item);
if (this.remember) {
let userList = this.$dataStore.get('userList')
let userList = this.$dataStore.get("userList");
if (userList && !userList.find(el => el.loginName === f.loginName && el.company === f.company)) {
userList.push(f)
userList.push(f);
} else {
userList = [f]
userList = [f];
}
this.$dataStore.set('userList', userList)
this.$dataStore.set("userList", userList);
}
await this.$router.push('/design')
await this.$router.push("/design");
}
})
});
},
userChange(v) {
if (v === '') {
this.form.deviceId = ''
return
}
console.log(this.userList, v)
this.form.company = this.userList[v].company.split('.')[0]
this.form.loginName = this.userList[v].loginName
this.form.password = this.userList[v].password
this.form.deviceId = this.userList[v].deviceId
if (v === "") {
this.form.deviceId = "";
return;
}
console.log(this.userList, v);
this.form.company = this.userList[v].company.split(".")[0];
this.form.loginName = this.userList[v].loginName;
this.form.password = this.userList[v].password;
this.form.deviceId = this.userList[v].deviceId;
},
async getCompanyList() {
let {data} = await this.$api.get('/getCompanyList')
this.companyList = data.records
let { data } = await this.$api.get("/getCompanyList");
this.companyList = data.records;
}
}
}
};
</script>
<template>
......@@ -177,6 +188,10 @@ export default {
<el-input placeholder="密码" show-password prefix-icon="el-icon-lock" type="password" v-model="form.password"
clearable></el-input>
</el-form-item>
<!-- <el-form-item v-if="len===0" prop="授权信息">-->
<!-- <el-input placeholder="授权信息" prefix-icon="el-icon-lock" v-model="form.auth"-->
<!-- clearable></el-input>-->
<!-- </el-form-item>-->
<div class="check">
<el-checkbox v-model="remember">记住账号</el-checkbox>
</div>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment