Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override
New file |
| | |
| | | # 默认忽略的文件 |
| | | /shelf/ |
| | | /workspace.xml |
| | | # 基于编辑器的 HTTP 客户端请求 |
| | | /httpRequests/ |
| | | # Datasource local storage ignored files |
| | | /dataSources/ |
| | | /dataSources.local.xml |
New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <project version="4"> |
| | | <component name="CompilerConfiguration"> |
| | | <annotationProcessing> |
| | | <profile default="true" name="Default" enabled="true" /> |
| | | <profile name="Maven default annotation processors profile" enabled="true"> |
| | | <sourceOutputDir name="target/generated-sources/annotations" /> |
| | | <sourceTestOutputDir name="target/generated-test-sources/test-annotations" /> |
| | | <outputRelativeToContentRoot value="true" /> |
| | | <module name="erp" /> |
| | | </profile> |
| | | </annotationProcessing> |
| | | </component> |
| | | <component name="JavacSettings"> |
| | | <option name="ADDITIONAL_OPTIONS_OVERRIDE"> |
| | | <module name="erp" options="-parameters" /> |
| | | <module name="north-glass-erp" options="-parameters" /> |
| | | </option> |
| | | </component> |
| | | </project> |
New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <project version="4"> |
| | | <component name="dataSourceStorageLocal" created-in="IU-232.9559.62"> |
| | | <data-source name="@localhost" uuid="521b6701-da00-48a8-bf4f-cf6bbb7d685d"> |
| | | <database-info product="MySQL" version="8.0.22" jdbc-version="4.2" driver-name="MySQL Connector/J" driver-version="mysql-connector-java-8.0.25 (Revision: 08be9e9b4cba6aa115f9b27b215887af40b159e0)" dbms="MYSQL" exact-version="8.0.22" exact-driver-version="8.0"> |
| | | <extra-name-characters>#@</extra-name-characters> |
| | | <identifier-quote-string>`</identifier-quote-string> |
| | | <jdbc-catalog-is-schema>true</jdbc-catalog-is-schema> |
| | | </database-info> |
| | | <case-sensitivity plain-identifiers="lower" quoted-identifiers="lower" /> |
| | | <secret-storage>master_key</secret-storage> |
| | | <user-name>root</user-name> |
| | | <schema-mapping> |
| | | <introspection-scope> |
| | | <node kind="schema"> |
| | | <name qname="@" /> |
| | | <name qname="erp_user_info" /> |
| | | <name qname="mm" /> |
| | | <name qname="pp" /> |
| | | <name qname="sd" /> |
| | | </node> |
| | | </introspection-scope> |
| | | </schema-mapping> |
| | | </data-source> |
| | | <data-source name="@10.153.19.150" uuid="2f24a638-142d-4401-9e71-359f1be8d502"> |
| | | <database-info product="MySQL" version="8.0.19" jdbc-version="4.2" driver-name="MySQL Connector/J" driver-version="mysql-connector-java-8.0.25 (Revision: 08be9e9b4cba6aa115f9b27b215887af40b159e0)" dbms="MYSQL" exact-version="8.0.19" exact-driver-version="8.0"> |
| | | <extra-name-characters>#@</extra-name-characters> |
| | | <identifier-quote-string>`</identifier-quote-string> |
| | | <jdbc-catalog-is-schema>true</jdbc-catalog-is-schema> |
| | | </database-info> |
| | | <case-sensitivity plain-identifiers="lower" quoted-identifiers="lower" /> |
| | | <secret-storage>master_key</secret-storage> |
| | | <user-name>root</user-name> |
| | | <schema-mapping> |
| | | <introspection-scope> |
| | | <node kind="schema"> |
| | | <name qname="@" /> |
| | | <name qname="erp_user_info" /> |
| | | <name qname="mm" /> |
| | | <name qname="pp" /> |
| | | <name qname="sd" /> |
| | | </node> |
| | | </introspection-scope> |
| | | </schema-mapping> |
| | | </data-source> |
| | | </component> |
| | | </project> |
New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <project version="4"> |
| | | <component name="DataSourceManagerImpl" format="xml" multifile-model="true"> |
| | | <data-source source="LOCAL" name="@localhost" uuid="521b6701-da00-48a8-bf4f-cf6bbb7d685d"> |
| | | <driver-ref>mysql.8</driver-ref> |
| | | <synchronize>true</synchronize> |
| | | <jdbc-driver>com.mysql.cj.jdbc.Driver</jdbc-driver> |
| | | <jdbc-url>jdbc:mysql://localhost:3306</jdbc-url> |
| | | <working-dir>$ProjectFileDir$</working-dir> |
| | | </data-source> |
| | | <data-source source="LOCAL" name="@10.153.19.150" uuid="2f24a638-142d-4401-9e71-359f1be8d502"> |
| | | <driver-ref>mysql.8</driver-ref> |
| | | <synchronize>true</synchronize> |
| | | <jdbc-driver>com.mysql.cj.jdbc.Driver</jdbc-driver> |
| | | <jdbc-url>jdbc:mysql://10.153.19.150:3306</jdbc-url> |
| | | <working-dir>$ProjectFileDir$</working-dir> |
| | | </data-source> |
| | | </component> |
| | | </project> |
New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <project version="4"> |
| | | <component name="Encoding"> |
| | | <file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" /> |
| | | </component> |
| | | </project> |
New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <project version="4"> |
| | | <component name="GoogleJavaFormatSettings"> |
| | | <option name="enabled" value="false" /> |
| | | </component> |
| | | </project> |
New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <project version="4"> |
| | | <component name="RemoteRepositoriesConfiguration"> |
| | | <remote-repository> |
| | | <option name="id" value="central" /> |
| | | <option name="name" value="Central Repository" /> |
| | | <option name="url" value="https://repo.maven.apache.org/maven2" /> |
| | | </remote-repository> |
| | | <remote-repository> |
| | | <option name="id" value="central" /> |
| | | <option name="name" value="Central Repository" /> |
| | | <option name="url" value="http://maven.aliyun.com/nexus/content/repositories/central/" /> |
| | | </remote-repository> |
| | | <remote-repository> |
| | | <option name="id" value="nexus-aliyun" /> |
| | | <option name="name" value="nexus-aliyun" /> |
| | | <option name="url" value="http://maven.aliyun.com/nexus/content/groups/public/" /> |
| | | </remote-repository> |
| | | <remote-repository> |
| | | <option name="id" value="central" /> |
| | | <option name="name" value="Maven Central repository" /> |
| | | <option name="url" value="https://repo1.maven.org/maven2" /> |
| | | </remote-repository> |
| | | <remote-repository> |
| | | <option name="id" value="jboss.community" /> |
| | | <option name="name" value="JBoss Community repository" /> |
| | | <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" /> |
| | | </remote-repository> |
| | | </component> |
| | | </project> |
New file |
| | |
| | | <project version="4"> |
| | | <component name="ExternalStorageConfigurationManager" enabled="true" /> |
| | | <component name="JavaScriptSettings"> |
| | | <option name="languageLevel" value="FLOW" /> |
| | | </component> |
| | | <component name="MavenProjectsManager"> |
| | | <option name="originalFiles"> |
| | | <list> |
| | | <option value="$PROJECT_DIR$/pom.xml" /> |
| | | </list> |
| | | </option> |
| | | </component> |
| | | <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="corretto-1.8" project-jdk-type="JavaSDK" /> |
| | | </project> |
New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <module type="JAVA_MODULE" version="4"> |
| | | <component name="NewModuleRootManager" inherit-compiler-output="true"> |
| | | <exclude-output /> |
| | | <content url="file://$MODULE_DIR$" /> |
| | | <orderEntry type="inheritedJdk" /> |
| | | <orderEntry type="sourceFolder" forTests="false" /> |
| | | </component> |
| | | </module> |
New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <project version="4"> |
| | | <component name="SqlDialectMappings"> |
| | | <file url="PROJECT" dialect="MySQL" /> |
| | | </component> |
| | | </project> |
New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <project version="4"> |
| | | <component name="Palette2"> |
| | | <group name="Swing"> |
| | | <item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false"> |
| | | <default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" /> |
| | | </item> |
| | | <item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false"> |
| | | <default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" /> |
| | | </item> |
| | | <item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.svg" removable="false" auto-create-binding="false" can-attach-label="false"> |
| | | <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" /> |
| | | </item> |
| | | <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.svg" removable="false" auto-create-binding="false" can-attach-label="true"> |
| | | <default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" /> |
| | | </item> |
| | | <item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.svg" removable="false" auto-create-binding="true" can-attach-label="false"> |
| | | <default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" /> |
| | | <initial-values> |
| | | <property name="text" value="Button" /> |
| | | </initial-values> |
| | | </item> |
| | | <item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.svg" removable="false" auto-create-binding="true" can-attach-label="false"> |
| | | <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" /> |
| | | <initial-values> |
| | | <property name="text" value="RadioButton" /> |
| | | </initial-values> |
| | | </item> |
| | | <item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.svg" removable="false" auto-create-binding="true" can-attach-label="false"> |
| | | <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" /> |
| | | <initial-values> |
| | | <property name="text" value="CheckBox" /> |
| | | </initial-values> |
| | | </item> |
| | | <item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.svg" removable="false" auto-create-binding="false" can-attach-label="false"> |
| | | <default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" /> |
| | | <initial-values> |
| | | <property name="text" value="Label" /> |
| | | </initial-values> |
| | | </item> |
| | | <item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.svg" removable="false" auto-create-binding="true" can-attach-label="true"> |
| | | <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1"> |
| | | <preferred-size width="150" height="-1" /> |
| | | </default-constraints> |
| | | </item> |
| | | <item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.svg" removable="false" auto-create-binding="true" can-attach-label="true"> |
| | | <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1"> |
| | | <preferred-size width="150" height="-1" /> |
| | | </default-constraints> |
| | | </item> |
| | | <item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.svg" removable="false" auto-create-binding="true" can-attach-label="true"> |
| | | <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1"> |
| | | <preferred-size width="150" height="-1" /> |
| | | </default-constraints> |
| | | </item> |
| | | <item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.svg" removable="false" auto-create-binding="true" can-attach-label="true"> |
| | | <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3"> |
| | | <preferred-size width="150" height="50" /> |
| | | </default-constraints> |
| | | </item> |
| | | <item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.svg" removable="false" auto-create-binding="true" can-attach-label="true"> |
| | | <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3"> |
| | | <preferred-size width="150" height="50" /> |
| | | </default-constraints> |
| | | </item> |
| | | <item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.svg" removable="false" auto-create-binding="true" can-attach-label="true"> |
| | | <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3"> |
| | | <preferred-size width="150" height="50" /> |
| | | </default-constraints> |
| | | </item> |
| | | <item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.svg" removable="false" auto-create-binding="true" can-attach-label="true"> |
| | | <default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" /> |
| | | </item> |
| | | <item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.svg" removable="false" auto-create-binding="true" can-attach-label="false"> |
| | | <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3"> |
| | | <preferred-size width="150" height="50" /> |
| | | </default-constraints> |
| | | </item> |
| | | <item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.svg" removable="false" auto-create-binding="true" can-attach-label="false"> |
| | | <default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3"> |
| | | <preferred-size width="150" height="50" /> |
| | | </default-constraints> |
| | | </item> |
| | | <item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.svg" removable="false" auto-create-binding="true" can-attach-label="false"> |
| | | <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3"> |
| | | <preferred-size width="150" height="50" /> |
| | | </default-constraints> |
| | | </item> |
| | | <item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.svg" removable="false" auto-create-binding="true" can-attach-label="false"> |
| | | <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3"> |
| | | <preferred-size width="200" height="200" /> |
| | | </default-constraints> |
| | | </item> |
| | | <item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.svg" removable="false" auto-create-binding="false" can-attach-label="false"> |
| | | <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3"> |
| | | <preferred-size width="200" height="200" /> |
| | | </default-constraints> |
| | | </item> |
| | | <item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.svg" removable="false" auto-create-binding="true" can-attach-label="true"> |
| | | <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" /> |
| | | </item> |
| | | <item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.svg" removable="false" auto-create-binding="true" can-attach-label="false"> |
| | | <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" /> |
| | | </item> |
| | | <item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.svg" removable="false" auto-create-binding="false" can-attach-label="false"> |
| | | <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" /> |
| | | </item> |
| | | <item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.svg" removable="false" auto-create-binding="true" can-attach-label="false"> |
| | | <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" /> |
| | | </item> |
| | | <item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.svg" removable="false" auto-create-binding="false" can-attach-label="false"> |
| | | <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1"> |
| | | <preferred-size width="-1" height="20" /> |
| | | </default-constraints> |
| | | </item> |
| | | <item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.svg" removable="false" auto-create-binding="false" can-attach-label="false"> |
| | | <default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" /> |
| | | </item> |
| | | <item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.svg" removable="false" auto-create-binding="true" can-attach-label="false"> |
| | | <default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" /> |
| | | </item> |
| | | </group> |
| | | </component> |
| | | </project> |
New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <project version="4"> |
| | | <component name="VcsDirectoryMappings"> |
| | | <mapping directory="$PROJECT_DIR$/.." vcs="Git" /> |
| | | </component> |
| | | </project> |
| | |
| | | "vue": "^3.3.4", |
| | | "vue-router": "^4.2.4", |
| | | "vxe-table": "^4.5.15", |
| | | "xe-utils": "^3.5.14" |
| | | "xe-utils": "^3.5.14", |
| | | "xlsx": "^0.18.5" |
| | | }, |
| | | "devDependencies": { |
| | | "@types/sortablejs": "^1.15.7", |
| | |
| | | "node": ">=0.4.0" |
| | | } |
| | | }, |
| | | "node_modules/adler-32": { |
| | | "version": "1.3.1", |
| | | "resolved": "https://registry.npmmirror.com/adler-32/-/adler-32-1.3.1.tgz", |
| | | "integrity": "sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A==", |
| | | "engines": { |
| | | "node": ">=0.8" |
| | | } |
| | | }, |
| | | "node_modules/anymatch": { |
| | | "version": "3.1.3", |
| | | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", |
| | |
| | | "node": ">=8" |
| | | } |
| | | }, |
| | | "node_modules/cfb": { |
| | | "version": "1.2.2", |
| | | "resolved": "https://registry.npmmirror.com/cfb/-/cfb-1.2.2.tgz", |
| | | "integrity": "sha512-KfdUZsSOw19/ObEWasvBP/Ac4reZvAGauZhs6S/gqNhXhI7cKwvlH7ulj+dOEYnca4bm4SGo8C1bTAQvnTjgQA==", |
| | | "dependencies": { |
| | | "adler-32": "~1.3.0", |
| | | "crc-32": "~1.2.0" |
| | | }, |
| | | "engines": { |
| | | "node": ">=0.8" |
| | | } |
| | | }, |
| | | "node_modules/chokidar": { |
| | | "version": "3.5.3", |
| | | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", |
| | |
| | | "fsevents": "~2.3.2" |
| | | } |
| | | }, |
| | | "node_modules/codepage": { |
| | | "version": "1.15.0", |
| | | "resolved": "https://registry.npmmirror.com/codepage/-/codepage-1.15.0.tgz", |
| | | "integrity": "sha512-3g6NUTPd/YtuuGrhMnOMRjFc+LJw/bnMp3+0r/Wcz3IXUuCosKRJvMphm5+Q+bvTVGcJJuRvVLuYba+WojaFaA==", |
| | | "engines": { |
| | | "node": ">=0.8" |
| | | } |
| | | }, |
| | | "node_modules/combined-stream": { |
| | | "version": "1.0.8", |
| | | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", |
| | |
| | | }, |
| | | "engines": { |
| | | "node": ">= 0.8" |
| | | } |
| | | }, |
| | | "node_modules/crc-32": { |
| | | "version": "1.2.2", |
| | | "resolved": "https://registry.npmmirror.com/crc-32/-/crc-32-1.2.2.tgz", |
| | | "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", |
| | | "bin": { |
| | | "crc32": "bin/crc32.njs" |
| | | }, |
| | | "engines": { |
| | | "node": ">=0.8" |
| | | } |
| | | }, |
| | | "node_modules/csstype": { |
| | |
| | | }, |
| | | "engines": { |
| | | "node": ">= 6" |
| | | } |
| | | }, |
| | | "node_modules/frac": { |
| | | "version": "1.1.2", |
| | | "resolved": "https://registry.npmmirror.com/frac/-/frac-1.1.2.tgz", |
| | | "integrity": "sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==", |
| | | "engines": { |
| | | "node": ">=0.8" |
| | | } |
| | | }, |
| | | "node_modules/fsevents": { |
| | |
| | | "node": ">=0.10.0" |
| | | } |
| | | }, |
| | | "node_modules/ssf": { |
| | | "version": "0.11.2", |
| | | "resolved": "https://registry.npmmirror.com/ssf/-/ssf-0.11.2.tgz", |
| | | "integrity": "sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==", |
| | | "dependencies": { |
| | | "frac": "~1.1.2" |
| | | }, |
| | | "engines": { |
| | | "node": ">=0.8" |
| | | } |
| | | }, |
| | | "node_modules/to-fast-properties": { |
| | | "version": "2.0.0", |
| | | "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", |
| | |
| | | "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz", |
| | | "integrity": "sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==" |
| | | }, |
| | | "node_modules/wmf": { |
| | | "version": "1.0.2", |
| | | "resolved": "https://registry.npmmirror.com/wmf/-/wmf-1.0.2.tgz", |
| | | "integrity": "sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==", |
| | | "engines": { |
| | | "node": ">=0.8" |
| | | } |
| | | }, |
| | | "node_modules/word": { |
| | | "version": "0.3.0", |
| | | "resolved": "https://registry.npmmirror.com/word/-/word-0.3.0.tgz", |
| | | "integrity": "sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA==", |
| | | "engines": { |
| | | "node": ">=0.8" |
| | | } |
| | | }, |
| | | "node_modules/xe-utils": { |
| | | "version": "3.5.14", |
| | | "resolved": "https://registry.npmjs.org/xe-utils/-/xe-utils-3.5.14.tgz", |
| | | "integrity": "sha512-Xq6mS8dWwHBQsQUEBXcZYSaBV0KnNLoVWd0vRRDI3nKpbNxfs/LSCK0W21g1edLFnXYfKqg7hh5dakr3RtYY0A==" |
| | | }, |
| | | "node_modules/xlsx": { |
| | | "version": "0.18.5", |
| | | "resolved": "https://registry.npmmirror.com/xlsx/-/xlsx-0.18.5.tgz", |
| | | "integrity": "sha512-dmg3LCjBPHZnQp5/F/+nnTa+miPJxUXB6vtk42YjBBKayDNagxGEeIdWApkYPOf3Z3pm3k62Knjzp7lMeTEtFQ==", |
| | | "dependencies": { |
| | | "adler-32": "~1.3.0", |
| | | "cfb": "~1.2.1", |
| | | "codepage": "~1.15.0", |
| | | "crc-32": "~1.2.1", |
| | | "ssf": "~0.11.2", |
| | | "wmf": "~1.0.1", |
| | | "word": "~0.3.0" |
| | | }, |
| | | "bin": { |
| | | "xlsx": "bin/xlsx.njs" |
| | | }, |
| | | "engines": { |
| | | "node": ">=0.8" |
| | | } |
| | | } |
| | | }, |
| | | "dependencies": { |
| | |
| | | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", |
| | | "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==" |
| | | }, |
| | | "adler-32": { |
| | | "version": "1.3.1", |
| | | "resolved": "https://registry.npmmirror.com/adler-32/-/adler-32-1.3.1.tgz", |
| | | "integrity": "sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A==" |
| | | }, |
| | | "anymatch": { |
| | | "version": "3.1.3", |
| | | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", |
| | |
| | | "fill-range": "^7.0.1" |
| | | } |
| | | }, |
| | | "cfb": { |
| | | "version": "1.2.2", |
| | | "resolved": "https://registry.npmmirror.com/cfb/-/cfb-1.2.2.tgz", |
| | | "integrity": "sha512-KfdUZsSOw19/ObEWasvBP/Ac4reZvAGauZhs6S/gqNhXhI7cKwvlH7ulj+dOEYnca4bm4SGo8C1bTAQvnTjgQA==", |
| | | "requires": { |
| | | "adler-32": "~1.3.0", |
| | | "crc-32": "~1.2.0" |
| | | } |
| | | }, |
| | | "chokidar": { |
| | | "version": "3.5.3", |
| | | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", |
| | |
| | | "readdirp": "~3.6.0" |
| | | } |
| | | }, |
| | | "codepage": { |
| | | "version": "1.15.0", |
| | | "resolved": "https://registry.npmmirror.com/codepage/-/codepage-1.15.0.tgz", |
| | | "integrity": "sha512-3g6NUTPd/YtuuGrhMnOMRjFc+LJw/bnMp3+0r/Wcz3IXUuCosKRJvMphm5+Q+bvTVGcJJuRvVLuYba+WojaFaA==" |
| | | }, |
| | | "combined-stream": { |
| | | "version": "1.0.8", |
| | | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", |
| | |
| | | "requires": { |
| | | "delayed-stream": "~1.0.0" |
| | | } |
| | | }, |
| | | "crc-32": { |
| | | "version": "1.2.2", |
| | | "resolved": "https://registry.npmmirror.com/crc-32/-/crc-32-1.2.2.tgz", |
| | | "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==" |
| | | }, |
| | | "csstype": { |
| | | "version": "3.1.2", |
| | |
| | | "combined-stream": "^1.0.8", |
| | | "mime-types": "^2.1.12" |
| | | } |
| | | }, |
| | | "frac": { |
| | | "version": "1.1.2", |
| | | "resolved": "https://registry.npmmirror.com/frac/-/frac-1.1.2.tgz", |
| | | "integrity": "sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==" |
| | | }, |
| | | "fsevents": { |
| | | "version": "2.3.3", |
| | |
| | | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", |
| | | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" |
| | | }, |
| | | "ssf": { |
| | | "version": "0.11.2", |
| | | "resolved": "https://registry.npmmirror.com/ssf/-/ssf-0.11.2.tgz", |
| | | "integrity": "sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==", |
| | | "requires": { |
| | | "frac": "~1.1.2" |
| | | } |
| | | }, |
| | | "to-fast-properties": { |
| | | "version": "2.0.0", |
| | | "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", |
| | |
| | | "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz", |
| | | "integrity": "sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==" |
| | | }, |
| | | "wmf": { |
| | | "version": "1.0.2", |
| | | "resolved": "https://registry.npmmirror.com/wmf/-/wmf-1.0.2.tgz", |
| | | "integrity": "sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==" |
| | | }, |
| | | "word": { |
| | | "version": "0.3.0", |
| | | "resolved": "https://registry.npmmirror.com/word/-/word-0.3.0.tgz", |
| | | "integrity": "sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA==" |
| | | }, |
| | | "xe-utils": { |
| | | "version": "3.5.14", |
| | | "resolved": "https://registry.npmjs.org/xe-utils/-/xe-utils-3.5.14.tgz", |
| | | "integrity": "sha512-Xq6mS8dWwHBQsQUEBXcZYSaBV0KnNLoVWd0vRRDI3nKpbNxfs/LSCK0W21g1edLFnXYfKqg7hh5dakr3RtYY0A==" |
| | | }, |
| | | "xlsx": { |
| | | "version": "0.18.5", |
| | | "resolved": "https://registry.npmmirror.com/xlsx/-/xlsx-0.18.5.tgz", |
| | | "integrity": "sha512-dmg3LCjBPHZnQp5/F/+nnTa+miPJxUXB6vtk42YjBBKayDNagxGEeIdWApkYPOf3Z3pm3k62Knjzp7lMeTEtFQ==", |
| | | "requires": { |
| | | "adler-32": "~1.3.0", |
| | | "cfb": "~1.2.1", |
| | | "codepage": "~1.15.0", |
| | | "crc-32": "~1.2.1", |
| | | "ssf": "~0.11.2", |
| | | "wmf": "~1.0.1", |
| | | "word": "~0.3.0" |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | "vue": "^3.3.4", |
| | | "vue-router": "^4.2.4", |
| | | "vxe-table": "^4.5.15", |
| | | "xe-utils": "^3.5.14" |
| | | "xe-utils": "^3.5.14", |
| | | "xlsx": "^0.18.5" |
| | | }, |
| | | "devDependencies": { |
| | | "@types/sortablejs": "^1.15.7", |
| | |
| | | const router = useRouter() |
| | | const userStore = useUserInfoStore() |
| | | const user = userStore.user.userName |
| | | |
| | | store.createWebSocket(); |
| | | function quit(){ |
| | | userStore.$patch({ |
| | |
| | | component: () => import('../views/sd/product/testSort.vue') |
| | | }, |
| | | { |
| | | name: 'product', |
| | | path: '', |
| | | redirect:'/main/product/selectProduct' |
| | | } |
| | |
| | | |
| | | export default defineStore("productGlassType",{ |
| | | state: () =>{ |
| | | let GlassType=$ref('') |
| | | let GlassType=$ref(['','']) |
| | | return { |
| | | GlassType |
| | | } |
| | |
| | | ],//表头按钮 |
| | | toolbarConfig: { |
| | | buttons: [ |
| | | { |
| | | 'name': '清除', |
| | | 'code':'add', |
| | | status: 'primary', |
| | | }, |
| | | { |
| | | 'name': '确定', |
| | | 'code':'add', |
| | | status: 'primary', |
| | | }, |
| | | ], |
| | | import: false, |
| | | export: true, |
| | |
| | | </el-select> |
| | | </el-col> |
| | | <el-col :span="2"><el-text>订单编号:</el-text></el-col> |
| | | <el-col :span="4"><el-input/></el-col> |
| | | <el-col :span="4"><el-text /></el-col> |
| | | <el-col :span="2"><el-text>项目名称:</el-text></el-col> |
| | | <el-col :span="4"><el-input/></el-col> |
| | | <el-col :span="4"><el-text /></el-col> |
| | | <el-col :span="2"><el-text>批次号:</el-text></el-col> |
| | | <el-col :span="4"><el-input/></el-col> |
| | | <el-col :span="4"><el-text /></el-col> |
| | | </el-row> |
| | | </div> |
| | | <div class="order-detail"> |
| | | |
| | | <vxe-grid |
| | | max-height="97%" |
| | | class="mytable-scrollbar" |
| | |
| | | v-bind="gridOptions" |
| | | v-on="gridEvents" |
| | | > |
| | | |
| | | <template #num1_filter="{ column, $panel }"> |
| | | <div> |
| | | <div v-for="(option, index) in column.filters" :key="index"> |
| | |
| | | |
| | | |
| | | </vxe-grid> |
| | | <el-row justify="center"> |
| | | <el-button id="searchButton" type="primary" :icon="Search" style="margin-right:20px;">清除</el-button> |
| | | <el-button id="searchButton" type="primary" :icon="save" style="margin-left:20px;">确定</el-button> |
| | | </el-row> |
| | | </div> |
| | | </div> |
| | | </template> |
| | |
| | | let router=useRouter() |
| | | const getTableRow = (row,type) =>{ |
| | | switch (type) { |
| | | case 'add' :{ |
| | | alert('入库成功后,跳转到库存查询页面,库存数据增加一条!!!') |
| | | router.push({path: '/main/productStock/ProductStockList', query: { id: row.id }}) |
| | | case 'edit' :{ |
| | | //alert('我接收到子组件传送的编辑信息') |
| | | router.push({path: '/main/productStock/OrderAllocation', query: { id: row.id }}) |
| | | break |
| | | } |
| | | case 'back':{ |
| | |
| | | if ($grid) { |
| | | switch (code) { |
| | | case 'add': { |
| | | alert('入库成功后,跳转到库存查询页面,库存数据增加一条!!!') |
| | | router.push({path: '/main/productStock/ProductStockList'}) |
| | | alert('我接收到子组件传送的编辑信息') |
| | | return; |
| | | break |
| | | } |
| | | |
| | | } |
| | |
| | | if($grid){ |
| | | switch (code){ |
| | | case 'verify':{ |
| | | alert('领出成功,返回库存查询页面,库存数据减少一条!!!') |
| | | router.push({path: '/main/productStock/ProductStockList'}); |
| | | return; |
| | | alert('我接收到子组件传送的编辑信息') |
| | | // router.push({path: '/main/productStock/OrderAllocation'}); |
| | | // return; |
| | | break |
| | | } |
| | | case 'out':{ |
| | |
| | | if($grid){ |
| | | switch (code){ |
| | | case 'ver':{ |
| | | alert('出库成功后,跳转到库存查询页面,数据减少一条!!!') |
| | | router.push({path: '/main/productStock/ProductStockList'}); |
| | | return; |
| | | alert('我接收到子组件传送的编辑信息') |
| | | // router.push({path: '/main/productStock/OrderAllocation'}); |
| | | // return; |
| | | break |
| | | } |
| | | case 'record':{ |
| | |
| | | if($grid){ |
| | | switch (code){ |
| | | case 'ver':{ |
| | | alert('返工成功!!!') |
| | | // router.push({path: '/main/productStock/ProductStockList'}); |
| | | return; |
| | | alert('我接收到子组件传送的编辑信息') |
| | | // router.push({path: '/main/productStock/OrderAllocation'}); |
| | | // return; |
| | | break |
| | | } |
| | | case 'record':{ |
| | |
| | | const getTableRow = (row,type) =>{ |
| | | switch (type) { |
| | | case 'edit' :{ |
| | | alert('调拨成功后,跳转回库存查询页面') |
| | | router.push({path: '/main/productStock/ProductStockList'}); |
| | | return; |
| | | alert('我接收到子组件传送的编辑信息') |
| | | // router.push({path: '/main/productStock/OrderAllocation', query: { id: row.id }}) |
| | | break |
| | | } |
| | | case 'back':{ |
| | | router.push({path: '/main/productStock/FinishedProductRework', query: { id: row.id }}) |
| | | return; |
| | | break |
| | | } |
| | | case 'out' :{ |
| | | //alert('我接收到子组件传送的编辑信息') |
| | | router.push({path: '/main/productStock/FinishedGoodsIssue', query: { id: row.id }}) |
| | | return; |
| | | break |
| | | } |
| | | } |
| | |
| | | if($grid){ |
| | | switch (code){ |
| | | case 'edit':{ |
| | | alert('调拨成功后,跳转回库存查询页面') |
| | | router.push({path: '/main/productStock/ProductStockList'}); |
| | | return; |
| | | alert('我接收到子组件传送的编辑信息') |
| | | // router.push({path: '/main/productStock/OrderAllocation'}); |
| | | // return; |
| | | break |
| | | } |
| | | case 'record':{ |
| | |
| | | { type: 'checkbox',fixed:"left", title: '选择', width: 80 }, |
| | | { type: 'seq',fixed:"left", title: '自序', width: 50 }, |
| | | {field: '排产编号', title: '排产编号', sortable: true, width: 120 }, |
| | | {field: '销售单号', title: '销售单号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, width: 100 }, |
| | | {field: '客户名称', title: '客户名称', filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, width: 110}, |
| | | {field: '项目名称', title: '项目名称', filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, width: 120}, |
| | | {field: '销售单号', title: '销售单号',slots: { filter: 'num1_filter' }, sortable: true, width: 100 }, |
| | | {field: '客户名称', title: '客户名称', sortable: true, width: 110}, |
| | | {field: '项目名称', title: '项目名称', sortable: true , width: 100}, |
| | | {field: '序号', title: '序号', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }, width: 90}, |
| | | {field: '产品名称', title: '产品名称', filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, width: 140}, |
| | | {field: '宽', title: '宽', filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, width: 90}, |
| | | {field: '高', title: '高',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true , width: 90}, |
| | | {field: '产品名称', title: '产品名称', sortable: true, width: 140}, |
| | | {field: '宽', title: '宽', sortable: true , width: 70}, |
| | | {field: '高', title: '高', sortable: true , width: 70}, |
| | | {field: '数量', title: '数量', sortable: true , width: 70}, |
| | | {field: '面积', title: '面积', sortable: true , width: 90}, |
| | | {field: '排产数量' , width: 120,editRender: { name: 'input', attrs: { placeholder: '' } }, title: '排产数量', sortable: true}, |
| | |
| | | {field: '流程卡号', width: 120, title: '流程卡号', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, |
| | | {field: '产品编号', title: '产品编号', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, |
| | | {field: '产品名称', title: '产品名称',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '项目名称', title: '项目名称', filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '项目名称', title: '项目名称', sortable: true,showOverflow:"ellipsis"}, |
| | | {field: '总数量', title: '总数量', sortable: true}, |
| | | {field: '总面积', title: '总面积', sortable: true}, |
| | | {field: '分箱数', title: '分箱数', sortable: true,showOverflow:"ellipsis"}, |
| | |
| | | {field: '4',width: 120, title: '数量',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '5', width: 100,title: '面积', sortable: true,showOverflow:"ellipsis"}, |
| | | {field: '6', width: 100,title: '订单交接时间', sortable: true}, |
| | | {field: '7',width: 100, title: '销售单号', filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '7',width: 100, title: '销售单号', sortable: true}, |
| | | {field: '8',width: 120, title: '开始切割时间', sortable: true,showOverflow:"ellipsis"}, |
| | | {field: '9', width: 120,title: '流转工序', sortable: true}, |
| | | {field: '10', width: 120,title: '完工数量', sortable: true}, |
| | |
| | | keepSource: true,//保持源数据 |
| | | align: 'center',//文字居中 |
| | | stripe:true,//斑马纹 |
| | | rowConfig: {isCurrent: true, isHover: true,height: 50},//鼠标移动或选择高亮 |
| | | rowConfig: {isCurrent: true, isHover: true,height: 30},//鼠标移动或选择高亮 |
| | | id: 'CustomerList', |
| | | showFooter: true,//显示脚 |
| | | printConfig: {}, |
| | |
| | | }, |
| | | ],//table body实际数据 |
| | | //脚部求和 |
| | | footerMethod ({ columns, data }) {//页脚函数 |
| | | let footList=['7','8','9','10'] |
| | | return[ |
| | | columns.map((column, columnIndex) => { |
| | | if (columnIndex === 0) { |
| | | return '合计:' |
| | | } |
| | | if (footList.includes(column.field)) { |
| | | return sumNum(data, column.field) |
| | | } |
| | | return '' |
| | | }) |
| | | ] |
| | | } |
| | | // footerMethod ({ columns, data }) {//页脚函数 |
| | | // let footList=['7','8','9','10'] |
| | | // return[ |
| | | // columns.map((column, columnIndex) => { |
| | | // if (columnIndex === 0) { |
| | | // return '合计:' |
| | | // } |
| | | // if (footList.includes(column.field)) { |
| | | // return sumNum(data, column.field) |
| | | // } |
| | | // return '' |
| | | // }) |
| | | // ] |
| | | // } |
| | | |
| | | }) |
| | | |
| | |
| | | </script> |
| | | |
| | | <template> |
| | | <div class="main-div-customer"> |
| | | <div class="main-div-customer" > |
| | | <div id="selectForm"> |
| | | <el-row :gutter="0"> |
| | | <el-input placeholder="销售单号" v-model="form.name" style="width: 150px"/> |
| | | <el-input placeholder="销售单号" v-model="form.name" value="NG23110102" style="width: 150px"/> |
| | | |
| | | <el-button type="primary">查询</el-button> |
| | | </el-row> |
| | | |
| | | </div> |
| | | <vxe-grid |
| | | max-height="100%" |
| | | height="400px" |
| | | @filter-change="filterChanged" |
| | | class="mytable-scrollbar" |
| | | ref="xGrid" |
| | |
| | | |
| | | import {reactive, ref} from "vue"; |
| | | import {useRouter} from 'vue-router' |
| | | |
| | | let router=useRouter() |
| | | const getTableRow = (row,type) =>{ |
| | | switch (type) { |
| | |
| | | |
| | | { row: 0, col: 4, rowspan: 3, colspan: 0}, |
| | | { row: 3, col: 4, rowspan: 3, colspan: 0}, |
| | | |
| | | |
| | | |
| | | ]) |
| | |
| | | {field: '2',width: 100, title: '序号', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, |
| | | {field: '3', width: 100,title: '落架顺序', sortable: true,}, |
| | | {field: '4',width: 120, title: '项目名称',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '5', width: 100,title: '批次', filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '5', width: 100,title: '批次', sortable: true,showOverflow:"ellipsis"}, |
| | | {field: '6', width: 100,title: '楼层编号', sortable: true}, |
| | | {field: '7',width: 90, title: '宽', sortable: true}, |
| | | {field: '8',width: 90, title: '高', sortable: true,showOverflow:"ellipsis"}, |
| | |
| | | {field: '2',width: 120, title: '工序', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, |
| | | {field: '3', width: 130,title: '班组名称', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, |
| | | {field: '4',width: 120, title: '项目名称',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '5', width: 100,title: '流程卡号', filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '5', width: 100,title: '流程卡号', sortable: true,showOverflow:"ellipsis"}, |
| | | {field: '6', width: 100,title: '产品大类', sortable: true}, |
| | | {field: '7',width: 100, title: '产品小类', sortable: true}, |
| | | {field: '8',width: 120, title: '在制品名称', sortable: true,showOverflow:"ellipsis"}, |
| | |
| | | {field: '2',width: 120, title: '流程卡号', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, |
| | | {field: '3', width: 130,title: '客户名称', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, |
| | | {field: '4',width: 120, title: '项目名称',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '5', width: 100,title: '批次', filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '5', width: 100,title: '批次', sortable: true,showOverflow:"ellipsis"}, |
| | | {field: '6', width: 100,title: '序号', sortable: true}, |
| | | {field: '7',width: 100, title: '形状', sortable: true}, |
| | | {field: '8',width: 120, title: '楼层编号', sortable: true,showOverflow:"ellipsis"}, |
| | |
| | | {field: 'reportingWorkTime',width: 120, title: '报工时间', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, |
| | | {field: 'processCard', width: 130,title: '流程卡号', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, |
| | | {field: 'entryName',width: 120, title: '项目名称',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'batch', width: 100,title: '批次', filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'batch', width: 100,title: '批次', sortable: true,showOverflow:"ellipsis"}, |
| | | {field: 'device', width: 100,title: '设备', sortable: true}, |
| | | {field: 'thisProcess',width: 100, title: '本工序', sortable: true}, |
| | | {field: 'finishedNumber',width: 120, title: '本工序完工', sortable: true,showOverflow:"ellipsis"}, |
| | |
| | | {field: 'salesOrderNo',width: 120, title: '销售单号', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, |
| | | {field: 'processCardNo',width: 120, title: '流程卡号', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, |
| | | {field: 'entryName', width: 120,title: '项目名称',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'batch',width: 100, title: '批次', filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'batch',width: 80, title: '批次', sortable: true,showOverflow:"ellipsis"}, |
| | | {field: 'serialNumber',width: 80, title: '序号', sortable: true}, |
| | | {field: 'singlePieceName',width: 120, title: '单片名称', sortable: true}, |
| | | {field: 'marking',width: 80, title: '标记', sortable: true,showOverflow:"ellipsis"}, |
| | |
| | | {field: 'salesOrderNo',width: 120, title: '销售单号', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, |
| | | {field: 'processCardNo',width: 120, title: '流程卡号', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, |
| | | {field: 'entryName', width: 120,title: '项目名称',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'batch',width: 100, title: '批次', filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'batch',width: 80, title: '批次', sortable: true,showOverflow:"ellipsis"}, |
| | | {field: 'serialNumber',width: 80, title: '序号', sortable: true}, |
| | | {field: 'singlePieceName',width: 120, title: '单片名称', sortable: true}, |
| | | {field: 'marking',width: 80, title: '标记', sortable: true,showOverflow:"ellipsis"}, |
| | |
| | | <script setup> |
| | | import {Search} from "@element-plus/icons-vue" |
| | | import {useRouter} from "vue-router" |
| | | import {reactive} from "vue"; |
| | | import {reactive, ref} from "vue"; |
| | | const router = useRouter() |
| | | import ProcessCardProgress from '@/views/pp/report/ProcessCardProgress.vue' |
| | | |
| | | const getTableRow = (row,type) =>{ |
| | | switch (type) { |
| | |
| | | } |
| | | |
| | | }) |
| | | const dialogTableVisible = ref(false) |
| | | |
| | | |
| | | |
| | | const cellClickEvent =()=>{ |
| | | dialogTableVisible.value = true |
| | | } |
| | | |
| | | |
| | | |
| | |
| | | /> |
| | | <el-button style="margin-top: -5px" id="searchButton" type="primary" :icon="Search">查询</el-button> |
| | | <vxe-grid |
| | | @cell-dblclick="cellClickEvent" |
| | | max-height="97%" |
| | | class="mytable-scrollbar" |
| | | ref="xGrid" |
| | |
| | | </template> |
| | | </vxe-grid> |
| | | |
| | | |
| | | <el-dialog v-model="dialogTableVisible" title="流程卡进度" style="width: 80%;height:75% "> |
| | | <ProcessCardProgress style="width: 100%;height: 100%" /> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''" :to="{ path: '/main/product/selectProduct' }">产品首页</el-breadcrumb-item> |
| | | <el-breadcrumb-item @click="changeRouter(2)" :class="indexFlag===2?'indexTag':''" :to="{ path: '/main/product/createProduct' }">创建</el-breadcrumb-item> |
| | | <!-- <el-breadcrumb-item :to="{ path: '/main/product/test' }">测试</el-breadcrumb-item>--> |
| | | <el-breadcrumb-item :to="{ path: '/main/product/testSort' }">测试</el-breadcrumb-item> |
| | | <!-- <el-breadcrumb-item :to="{ path: '/main/product/testSort' }">测试</el-breadcrumb-item>--> |
| | | <el-breadcrumb-item v-show="false" :to="{ path: '/main/product/test1' }">测试</el-breadcrumb-item> |
| | | </el-breadcrumb> |
| | | |
| | |
| | | let productGlassTypeStore = useProductGlassTypeStore() |
| | | let router=useRouter() |
| | | //监听玻璃类型改变 |
| | | let productList = ref([]) |
| | | |
| | | let glassType = ref([]) |
| | | watch(productGlassTypeStore,(newVal,oldVal) => { |
| | | let list = productList.filter( product=>{ |
| | | return product.glassType==newVal.GlassType |
| | | request.post("/product/1/100/"+productGlassTypeStore.GlassType,filterData.value).then((res) => { |
| | | if(res.code==200){ |
| | | xGrid.value.loadData(res.data) |
| | | gridOptions.loading=false |
| | | }else{ |
| | | ElMessage.warning(res.msg) |
| | | } |
| | | }) |
| | | |
| | | }) |
| | | |
| | | let scrollTop =ref(null) |
| | |
| | | scrollHeight.value = row.$event.target.scrollHeight |
| | | clientHeight.value = row.$event.target.clientHeight |
| | | } |
| | | |
| | | let filterData = ref({ |
| | | basicGlassType:{ |
| | | typeName:'' |
| | | } |
| | | }) |
| | | |
| | | let produceList = ref([]) |
| | | let pageNum=$ref(1) |
| | |
| | | } |
| | | if(pageState!==null){ |
| | | gridOptions.loading=true |
| | | request.get(`/product/${pageNum}/100`).then((res) => { |
| | | request.post(`/product/${pageNum}/100/${productGlassTypeStore.GlassType}`,filterData.value).then((res) => { |
| | | try{ |
| | | if(res.code==200){ |
| | | if(pageState){ |
| | |
| | | } |
| | | |
| | | |
| | | //后端获取有多少页,超过多少页不再请求 |
| | | /*if(pageNum>5){ |
| | | console.log(newVal.pageNum) |
| | | return |
| | | }*/ |
| | | |
| | | |
| | | }) |
| | | request.get("/product/1/100").then((res) => { |
| | | request.post("/product/1/100/"+productGlassTypeStore.GlassType,filterData.value).then((res) => { |
| | | if(res.code==200){ |
| | | console.log(res.data) |
| | | produceList = produceList.value.concat(deepClone(res.data)) |
| | | |
| | | xGrid.value.reloadData(produceList) |
| | | gridOptions.loading=false |
| | | }else{ |
| | | ElMessage.warning(res.msg) |
| | | router.push("/login") |
| | | } |
| | | }) |
| | | |
| | |
| | | showStatus: true |
| | | }, |
| | | columns:[ |
| | | {type:'expand',fixed:"left",slots: { content:'content' },width: 50}, |
| | | {type:'expand',fixed:"left",slots: { content:'content' },width: 60}, |
| | | {type: 'seq',fixed:"left", title: '自序', width: 80 }, |
| | | {title: '操作', width: 110, slots: { default: 'button_slot' },fixed:"left"}, |
| | | {field: 'id', title: '编号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'product', title: '名称',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'glassTypes.typeName', title: '所属类别',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'query', title: '快速查询',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'remarks', title: '备注',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'creator', title: '创建人',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'createTime', title: '创建时间',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true} |
| | | {field: 'id', title: '编号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: false}, |
| | | {field: 'productName', title: '名称',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: false}, |
| | | {field: 'basicGlassType.typeName', title: '所属类别',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: false}, |
| | | {field: 'query', title: '快速查询',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: false}, |
| | | {field: 'remarks', title: '备注',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: false}, |
| | | {field: 'creator', title: '创建人',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: false}, |
| | | {field: 'createTime', title: '创建时间',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: false} |
| | | ],//表头参数 |
| | | data:null,//表格数据 |
| | | toolbarConfig: { |
| | | buttons: [], |
| | | import: false, |
| | |
| | | return[ |
| | | columns.map((column, columnIndex) => { |
| | | if (columnIndex === 0) { |
| | | return '合计:' |
| | | return '页数:' |
| | | } |
| | | return '' |
| | | }) |
| | |
| | | |
| | | }) |
| | | |
| | | |
| | | //表格拖拽 |
| | | let sortable2: any |
| | | |
| | | const columnDrop2 = () => { |
| | |
| | | } |
| | | }) |
| | | |
| | | const changeFilterEvent = (event, option, $panel,) => { |
| | | // 手动触发筛选 |
| | | $panel.changeOption(event, !!option.data, option) |
| | | } |
| | | function filterChanged(column){ |
| | | gridOptions.loading=true |
| | | //筛选条件发生变化条件发生变化 |
| | | let value = column.datas[0]!=undefined?column.datas[0]:'' |
| | | value = value.trim() |
| | | //判断是否存在外键 |
| | | if (column.property.indexOf('.')>-1){ |
| | | const columnArr = column.property.split('.') |
| | | filterData.value[columnArr[0]] = { |
| | | [columnArr[1]]:value |
| | | } |
| | | }else{ |
| | | filterData.value[column.property] = value |
| | | } |
| | | request.post("/product/1/100/"+productGlassTypeStore.GlassType,filterData.value).then((res) => { |
| | | if(res.code==200){ |
| | | produceList = deepClone(res.data) |
| | | xGrid.value.loadData(produceList) |
| | | gridOptions.loading=false |
| | | }else{ |
| | | ElMessage.warning(res.msg) |
| | | } |
| | | }) |
| | | } |
| | | const hasDecimal = (value) => { |
| | | const regex = /\./; // 定义正则表达式,查找小数点 |
| | | return regex.test(value); // 返回true/false |
| | | } |
| | | |
| | | |
| | | </script> |
| | | |
| | |
| | | |
| | | |
| | | <vxe-grid |
| | | @filter-change="filterChanged" |
| | | max-height="100%" |
| | | class="mytable-scrollbar" |
| | | ref="xGrid" |
| | |
| | | <ul class="expand-wrapper"> |
| | | <li v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined "> |
| | | <span style="font-weight: bold">{{item.title+': '}}</span> |
| | | <span>{{ row[item.field] }}</span> |
| | | <span v-if="hasDecimal(item.field)">{{ row[item.field.split('.')[0]][item.field.split('.')[1]] }}</span> |
| | | <span v-else>{{ row[item.field] }}</span> |
| | | |
| | | </li> |
| | | </ul> |
| | | </template> |
| | |
| | | <version>1.2.24</version> |
| | | <scope>import</scope> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>javax</groupId> |
| | | <artifactId>javaee-api</artifactId> |
| | | <version>7.0</version> |
| | | </dependency> |
| | | |
| | | </dependencies> |
| | | |
| | |
| | | </build> |
| | | |
| | | |
| | | <repositories> |
| | | <!--<repositories> |
| | | <repository> |
| | | <id>nexus-aliyun</id> |
| | | <name>nexus-aliyun</name> |
| | |
| | | <enabled>false</enabled> |
| | | </snapshots> |
| | | </pluginRepository> |
| | | </pluginRepositories> |
| | | </pluginRepositories>--> |
| | | </project> |
| | |
| | | @Autowired |
| | | private OrderMapper orderMapper; |
| | | |
| | | @GetMapping //查询order表结果集 |
| | | public Result index(){ |
| | | return Result.seccess(orderMapper.findAll()); |
| | | |
| | | } |
| | | |
| | | @PostMapping //插入 |
| | | public Integer save(@RequestBody Order order) { |
| | | return orderMapper.insert(order); |
| | | } |
| | | |
| | | @PostMapping("/update") |
| | | public Integer updateOrder(@RequestBody Order order) { |
| | | return orderMapper.update(order.getId(),order.getOrderid()); |
| | | } |
| | | |
| | | @DeleteMapping("/{id}") //删除数据 |
| | | public Integer delete(@PathVariable Integer id) { |
| | | return orderMapper.deleteById(id); |
| | | } |
| | | // @GetMapping //查询order表结果集 |
| | | // public Result index(){ |
| | | // return Result.seccess(orderMapper.findAll()); |
| | | // |
| | | // } |
| | | // |
| | | // @PostMapping //插入 |
| | | // public Integer save(@RequestBody Order order) { |
| | | // return orderMapper.insert(order); |
| | | // } |
| | | // |
| | | // @PostMapping("/update") |
| | | // public Integer updateOrder(@RequestBody Order order) { |
| | | // return orderMapper.update(order.getId(),order.getOrderid()); |
| | | // } |
| | | // |
| | | // @DeleteMapping("/{id}") //删除数据 |
| | | // public Integer delete(@PathVariable Integer id) { |
| | | // return orderMapper.deleteById(id); |
| | | // } |
| | | |
| | | |
| | | } |
| | |
| | | package com.example.erp.controller.sd; |
| | | |
| | | import com.example.erp.common.Result; |
| | | import com.example.erp.entity.sd.Product; |
| | | import com.example.erp.service.sd.ProductService; |
| | | import org.apache.ibatis.annotations.Delete; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.List; |
| | | |
| | | @RestController |
| | | @RequestMapping("/product") |
| | |
| | | @Autowired |
| | | ProductService productService; |
| | | |
| | | @GetMapping("/{pageNum}/{pageSize}") |
| | | public Result defaultDateProduct(@PathVariable Integer pageNum, @PathVariable Integer pageSize){ |
| | | return Result.seccess(productService.defaultDateProduct(pageNum,pageSize)); |
| | | @PostMapping ("/{pageNum}/{pageSize}/{glassType}") |
| | | public Result defaultDateProduct(@PathVariable Integer pageNum, @PathVariable Integer pageSize, @PathVariable List<String> glassType, @RequestBody Product product){ |
| | | |
| | | return Result.seccess(productService.defaultDateProduct(pageNum,pageSize,glassType,product)); |
| | | } |
| | | } |
| | |
| | | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import lombok.Data; |
| | | |
| | | @Data //lombok 简写java代码 实体类的get与set |
| | | @TableName("`order`") |
| | | public class Order { |
| | | @TableId(type = IdType.AUTO) |
| | | private Integer id; |
| | | private String orderid; |
| | | private String recipeno; |
| | | private String largeglassno; |
| | | private String largeglasscompleted; |
| | | private String smallglassno; |
| | | private String smallglasscompleted; |
| | | private String smallglassprocessing; |
| | | private String smallglassworn; |
| | | private String orderstatus; |
| | | private String ordermaker; |
| | | private String maketime; |
| | | private String updatetime; |
| | | private String orderId; |
| | | private String recipeNo; |
| | | private String largeglassNo; |
| | | private String largeglassCompleted; |
| | | private String smallglassNo; |
| | | private String smallglassCompleted; |
| | | private String smallglassProcessing; |
| | | private String smallglassWorn; |
| | | private String orderStatus; |
| | | private String orderMaker; |
| | | private String makeTime; |
| | | private String updateTime; |
| | | |
| | | } |
| | |
| | | @TableId(type = IdType.AUTO) |
| | | |
| | | private Long id; |
| | | private Integer deliveryState; |
| | | private Integer stockState; |
| | | private String deliveryId; |
| | | private String project; |
| | | private String customerName; |
| | | private LocalDate deliveryDate; |
| | | private String payMethod; |
| | | private LocalDate payDate; |
| | | private String salaManId; |
| | | private String salaMan; |
| | | private String createrId; |
| | | private String creator; |
| | | private String contacts; |
| | | private String contactNumber; |
| | | private String deliveryAddress; |
| | | private String orderId; |
| | | private Integer orderNumber; |
| | | private Integer inventory ; |
| | | private Double actualSignalArea; |
| | | private Double area; |
| | | private Integer quantity; |
| | | private Double money; |
| | | private String remarks; |
| | | private LocalDate createTime; |
| | | private Integer quantityAvailable; |
| | | private String warehouseNumber; |
| | | private LocalDate storageRegion; |
| | | private Integer status; |
| | | private LocalDate enterStorageTime; |
| | | private String remark; |
| | | private LocalDate updateTime; |
| | | private Order order; |
| | | private Customer customer; |
| | | private LocalDate endTime; |
| | | |
| | | } |
New file |
| | |
| | | package com.example.erp.entity.mm; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import lombok.Data; |
| | | |
| | | import java.time.LocalDate; |
| | | |
| | | @Data |
| | | public class FinishedOperateLog { |
| | | @TableId(type = IdType.AUTO) |
| | | |
| | | private Long id; |
| | | private String operationOrderNumber; |
| | | private Long productNumber; |
| | | private Integer operationNumber ; |
| | | private String operateType; |
| | | private String operator; |
| | | private LocalDate operateTime; |
| | | |
| | | |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import lombok.Data; |
| | | |
| | | |
| | | |
| | | import java.time.LocalDate; |
| | | |
| | | @Data |
| | |
| | | private String creator; |
| | | private LocalDate createTime; |
| | | private LocalDate updateTime; |
| | | |
| | | private BasicGlassType basicGlassType; |
| | | |
| | | } |
| | |
| | | package com.example.erp.mapper; |
| | | |
| | | import com.baomidou.dynamic.datasource.annotation.DS; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.example.erp.entity.Order; |
| | | import org.apache.ibatis.annotations.*; |
| | | |
| | | import java.util.List; |
| | | @Mapper |
| | | @DS("gmms") |
| | | public interface OrderMapper { |
| | | public interface OrderMapper extends BaseMapper<Order> { |
| | | |
| | | @Select("select * from `order`") |
| | | List<Order> findAll(); |
| | | |
| | | @Insert("INSERT `order`(order_id)VALUES(#{order_id})") |
| | | Integer insert(Order order); |
| | | |
| | | @Delete("delete from `order` where id=#{id}") |
| | | Integer deleteById(@Param("id") Integer id); |
| | | |
| | | @Update("update `order` set order_id=#{order_id} where id=#{id}") |
| | | Integer update(@Param("id") Integer id,@Param("order_id") String order_id); |
| | | // @Select("select * from `order`") |
| | | // List<Order> findAll(); |
| | | // |
| | | // @Insert("INSERT `order`(order_id)VALUES(#{order_id})") |
| | | // Integer insert(Order order); |
| | | // |
| | | // @Delete("delete from `order` where id=#{id}") |
| | | // Integer deleteById(@Param("id") Integer id); |
| | | // |
| | | // @Update("update `order` set order_id=#{order_id} where id=#{id}") |
| | | // Integer update(@Param("id") Integer id,@Param("order_id") String order_id); |
| | | } |
New file |
| | |
| | | package com.example.erp.mapper.mm; |
| | | |
| | | import com.example.erp.entity.mm.FinishedGoodsInventory; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | import java.util.List; |
| | | |
| | | @Mapper |
| | | public interface FinishedGoodsInventoryMapper { |
| | | List<FinishedGoodsInventory> defaultProduct(@Param("offset") Integer offset, @Param("pageSize") Integer pageSize); |
| | | } |
New file |
| | |
| | | package com.example.erp.mapper.mm; |
| | | |
| | | import com.example.erp.entity.mm.FinishedOperateLog; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | import java.util.List; |
| | | |
| | | @Mapper |
| | | public interface FinishedOperateLogMapper { |
| | | List<FinishedOperateLog> defaultProduct(@Param("offset") Integer offset, @Param("pageSize") Integer pageSize); |
| | | } |
| | |
| | | |
| | | @Mapper |
| | | public interface ProductMapper { |
| | | List<Product> defaultProduct(@Param("offset") Integer offset, @Param("pageSize") Integer pageSize); |
| | | List<Product> defaultProduct(@Param("offset") Integer offset, |
| | | @Param("pageSize") Integer pageSiz, |
| | | @Param("glassTypeId") String glassTypeId, |
| | | @Param("product") Product product); |
| | | } |
New file |
| | |
| | | package com.example.erp.service;public interface IOrderService { |
| | | } |
New file |
| | |
| | | package com.example.erp.service.impl; |
| | | |
| | | import com.baomidou.dynamic.datasource.annotation.DS; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.example.erp.entity.Order; |
| | | import com.example.erp.mapper.OrderMapper; |
| | | import com.example.erp.service.IOrderService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | @Service |
| | | @DS("erp_sd") |
| | | public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements IOrderService { |
| | | } |
| | |
| | | import java.util.*; |
| | | |
| | | @Service |
| | | @DS("erp_sd") |
| | | @DS("sd") |
| | | public class BasicGlassTypeServise { |
| | | @Autowired |
| | | BasicGlassTypeMapper basicGlassTypeMapper; |
| | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | @Service |
| | | @DS("erp_sd") |
| | | @DS("sd") |
| | | public class ProductService { |
| | | @Autowired |
| | | ProductMapper productMapper; |
| | | public List<Product> defaultDateProduct(Integer pageNum,Integer pageSize) { |
| | | public Map<String,Object> defaultDateProduct(Integer pageNum, Integer pageSize, List<String> glassType, Product product) { |
| | | Integer offset = (pageNum-1)*pageSize; |
| | | return productMapper.defaultProduct(offset,pageSize); |
| | | String glassTypeId = null; |
| | | if(glassType.size()>1){ |
| | | glassTypeId = glassType.get(1); |
| | | } |
| | | Map<String,Object> map = new HashMap<>(); |
| | | map.put("list",productMapper.defaultProduct(offset,pageSize,glassTypeId,product)); |
| | | map.put("pageNum",pageNum); |
| | | |
| | | return map; |
| | | } |
| | | } |
| | |
| | | username: root |
| | | password: beibo.123/ |
| | | driver-class-name: com.mysql.cj.jdbc.Driver |
| | | erp_sd: |
| | | sd: |
| | | url: jdbc:mysql://10.153.19.150:3306/sd?serverTimezone=GMT%2b8 |
| | | username: root |
| | | password: beibo.123/ |
New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8" ?> |
| | | <!DOCTYPE mapper |
| | | PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" |
| | | "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.example.erp.mapper.sd.ProductMapper"> |
| | | <select id="defaultProduct"> |
| | | select |
| | | a.id, |
| | | prodID, |
| | | product, |
| | | glassType, |
| | | typeName, |
| | | totalThickness, |
| | | thickness, |
| | | Query, |
| | | remarks, |
| | | state, |
| | | creator, |
| | | date(a.createTime) as 'createTime', |
| | | updateTime |
| | | from |
| | | product as a |
| | | left join basic_glass_type bgt on bgt.typeID = a.glassType |
| | | |
| | | order by id desc |
| | | limit #{offset},#{pageSize} |
| | | ; |
| | | </select> |
| | | </mapper> |
New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8" ?> |
| | | <!DOCTYPE mapper |
| | | PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" |
| | | "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.example.erp.mapper.sd.ProductMapper"> |
| | | <select id="defaultProduct"> |
| | | select |
| | | a.id, |
| | | prodID, |
| | | product, |
| | | glassType, |
| | | typeName, |
| | | totalThickness, |
| | | thickness, |
| | | Query, |
| | | remarks, |
| | | state, |
| | | creator, |
| | | date(a.createTime) as 'createTime', |
| | | updateTime |
| | | from |
| | | product as a |
| | | left join basic_glass_type bgt on bgt.typeID = a.glassType |
| | | |
| | | order by id desc |
| | | limit #{offset},#{pageSize} |
| | | ; |
| | | </select> |
| | | </mapper> |
| | |
| | | PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" |
| | | "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.example.erp.mapper.sd.ProductMapper"> |
| | | <resultMap id="productmap" type="com.example.erp.entity.sd.Product" > |
| | | <id column="id" property="id"/> |
| | | <<<<<<< HEAD |
| | | <result column="product_name" property="productName"/> |
| | | ======= |
| | | <result column="product" property="product"/> |
| | | >>>>>>> 2bf272a9d41a2b6c67910b23371af9537a9153a5 |
| | | <result column="total_thickness" property="totalThickness"/> |
| | | <result column="thickness" property="thickness"/> |
| | | <result column="query" property="query"/> |
| | | <result column="remarks" property="remarks"/> |
| | | <result column="state" property="state"/> |
| | | <result column="creator" property="creator"/> |
| | | <result column="create_time" property="createTime"/> |
| | | <result column="update_time" property="updateTime"/> |
| | | <<<<<<< HEAD |
| | | <association property="basicGlassType" javaType="com.example.erp.entity.sd.BasicGlassType"> |
| | | <result column="type_id" property="typeID"/> |
| | | ======= |
| | | <association property="glassType" javaType="com.example.erp.entity.sd.GlassType"> |
| | | <result column="type_id" property="typeId"/> |
| | | >>>>>>> 2bf272a9d41a2b6c67910b23371af9537a9153a5 |
| | | <result column="type_name" property="typeName"/> |
| | | </association> |
| | | <!--<result column="g_typeId" property="glassTypes.typeId"/> |
| | | <result column="g_type" property="glassTypes.type"/>--> |
| | | |
| | | <resultMap id="productmap" type="com.example.erp.entity.sd.Product" > |
| | | <id column="id" property="id"/> |
| | | <result column="product" property="product"/> |
| | | <result column="total_thickness" property="totalThickness"/> |
| | | <result column="thickness" property="thickness"/> |
| | | <result column="query" property="query"/> |
| | | <result column="remarks" property="remarks"/> |
| | | <result column="state" property="state"/> |
| | | <result column="creator" property="creator"/> |
| | | <result column="create_time" property="createTime"/> |
| | | <result column="update_time" property="updateTime"/> |
| | | <association property="glassTypes" javaType="com.example.erp.entity.sd.GlassType"> |
| | | <result column="type_id" property="typeId"/> |
| | | <result column="type_name" property="typeName"/> |
| | | </association> |
| | | <!--<result column="g_typeId" property="glassTypes.typeId"/> |
| | | <result column="g_type" property="glassTypes.type"/>--> |
| | | |
| | | </resultMap> |
| | | </resultMap> |
| | | |
| | | <select id="defaultProduct" resultMap="productmap"> |
| | | select a.id as id, |
| | | a.product, |
| | | a.total_thickness, |
| | | a.thickness, |
| | | a.query, |
| | | a.remarks, |
| | | a.state, |
| | | a.creator, |
| | | date(a.create_time) as create_time, |
| | | a.update_time as update_time, |
| | | bgt.type_id as type_id, |
| | | bgt.type as type |
| | | select a.id as id, |
| | | a.product_name, |
| | | a.total_thickness, |
| | | a.thickness, |
| | | a.query, |
| | | a.remarks, |
| | | a.state, |
| | | a.creator, |
| | | date(a.create_time) as create_time, |
| | | a.update_time as update_time, |
| | | a.type_id as type_id, |
| | | bgt.type_name |
| | | from product as a |
| | | left join glass_type bgt on bgt.type_id = a.type_id |
| | | left join basic_glass_type bgt on bgt.type_id = a.type_id |
| | | <where> |
| | | <if test="glassTypeId != null and glassTypeId != ''"> |
| | | and a.type_id regexp #{glassTypeId} |
| | | </if> |
| | | <if test="product.id != null and product.id != ''"> |
| | | and a.id regexp #{product.id} |
| | | </if> |
| | | <if test="product.productName != null and product.productName != ''"> |
| | | and a.product_name regexp #{product.productName} |
| | | </if> |
| | | <if test="product.basicGlassType.typeName != null and product.basicGlassType.typeName!= ''"> |
| | | and bgt.type_name regexp #{product.basicGlassType.typeName} |
| | | </if> |
| | | <if test="product.query != null and product.query != ''"> |
| | | and a.query regexp #{product.query} |
| | | </if> |
| | | <if test="product.creator != null and product.creator != ''"> |
| | | and a.creator regexp #{product.creator} |
| | | </if> |
| | | <if test="product.createTime != null and product.createTime != ''"> |
| | | and date(a.create_time) regexp #{product.createTime} |
| | | </if> |
| | | </where> |
| | | |
| | | order by id desc |
| | | limit #{offset},#{pageSize} |
New file |
| | |
| | | package com.example.erp.service; |
| | | |
| | | import org.junit.jupiter.api.Test; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.boot.test.context.SpringBootTest; |
| | | |
| | | @SpringBootTest |
| | | class IOrderServiceTest { |
| | | @Autowired |
| | | private IOrderService iOrderService; |
| | | |
| | | @Test |
| | | void testGetOrderList() { |
| | | // 测试获取订单列表的方法 |
| | | } |
| | | } |
| | |
| | | username: root |
| | | password: beibo.123/ |
| | | driver-class-name: com.mysql.cj.jdbc.Driver |
| | | erp_sd: |
| | | sd: |
| | | url: jdbc:mysql://10.153.19.150:3306/sd?serverTimezone=GMT%2b8 |
| | | username: root |
| | | password: beibo.123/ |
| | |
| | | PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" |
| | | "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.example.erp.mapper.sd.ProductMapper"> |
| | | <resultMap id="productmap" type="com.example.erp.entity.sd.Product" > |
| | | <id column="id" property="id"/> |
| | | <result column="product_name" property="productName"/> |
| | | <result column="total_thickness" property="totalThickness"/> |
| | | <result column="thickness" property="thickness"/> |
| | | <result column="query" property="query"/> |
| | | <result column="remarks" property="remarks"/> |
| | | <result column="state" property="state"/> |
| | | <result column="creator" property="creator"/> |
| | | <result column="create_time" property="createTime"/> |
| | | <result column="update_time" property="updateTime"/> |
| | | <association property="basicGlassType" javaType="com.example.erp.entity.sd.BasicGlassType"> |
| | | <result column="type_id" property="typeID"/> |
| | | <result column="type_name" property="typeName"/> |
| | | </association> |
| | | <!--<result column="g_typeId" property="glassTypes.typeId"/> |
| | | <result column="g_type" property="glassTypes.type"/>--> |
| | | |
| | | <resultMap id="productmap" type="com.example.erp.entity.sd.Product" > |
| | | <id column="id" property="id"/> |
| | | <result column="product" property="product"/> |
| | | <result column="total_thickness" property="totalThickness"/> |
| | | <result column="thickness" property="thickness"/> |
| | | <result column="query" property="query"/> |
| | | <result column="remarks" property="remarks"/> |
| | | <result column="state" property="state"/> |
| | | <result column="creator" property="creator"/> |
| | | <result column="create_time" property="createTime"/> |
| | | <result column="update_time" property="updateTime"/> |
| | | <association property="glassTypes" javaType="com.example.erp.entity.sd.GlassType"> |
| | | <result column="type_id" property="typeId"/> |
| | | <result column="type_name" property="typeName"/> |
| | | </association> |
| | | <!--<result column="g_typeId" property="glassTypes.typeId"/> |
| | | <result column="g_type" property="glassTypes.type"/>--> |
| | | |
| | | </resultMap> |
| | | </resultMap> |
| | | |
| | | <select id="defaultProduct" resultMap="productmap"> |
| | | select a.id as id, |
| | | a.product, |
| | | a.total_thickness, |
| | | a.thickness, |
| | | a.query, |
| | | a.remarks, |
| | | a.state, |
| | | a.creator, |
| | | date(a.create_time) as create_time, |
| | | a.update_time as update_time, |
| | | bgt.type_id as type_id, |
| | | bgt.type as type |
| | | select a.id as id, |
| | | a.product_name, |
| | | a.total_thickness, |
| | | a.thickness, |
| | | a.query, |
| | | a.remarks, |
| | | a.state, |
| | | a.creator, |
| | | date(a.create_time) as create_time, |
| | | a.update_time as update_time, |
| | | a.type_id as type_id, |
| | | bgt.type_name |
| | | from product as a |
| | | left join glass_type bgt on bgt.type_id = a.type_id |
| | | left join basic_glass_type bgt on bgt.type_id = a.type_id |
| | | <where> |
| | | <if test="glassTypeId != null and glassTypeId != ''"> |
| | | and a.type_id regexp #{glassTypeId} |
| | | </if> |
| | | <if test="product.id != null and product.id != ''"> |
| | | and a.id regexp #{product.id} |
| | | </if> |
| | | <if test="product.productName != null and product.productName != ''"> |
| | | and a.product_name regexp #{product.productName} |
| | | </if> |
| | | <if test="product.basicGlassType.typeName != null and product.basicGlassType.typeName!= ''"> |
| | | and bgt.type_name regexp #{product.basicGlassType.typeName} |
| | | </if> |
| | | <if test="product.query != null and product.query != ''"> |
| | | and a.query regexp #{product.query} |
| | | </if> |
| | | <if test="product.creator != null and product.creator != ''"> |
| | | and a.creator regexp #{product.creator} |
| | | </if> |
| | | <if test="product.createTime != null and product.createTime != ''"> |
| | | and date(a.create_time) regexp #{product.createTime} |
| | | </if> |
| | | </where> |
| | | |
| | | order by id desc |
| | | limit #{offset},#{pageSize} |