From 8449b7205be9e73ddd353f9835a40fd1d72462d4 Mon Sep 17 00:00:00 2001
From: guoyuji <guoyujie@ng.com>
Date: 星期二, 23 四月 2024 14:46:28 +0800
Subject: [PATCH] Merge branch 'master' of https://gitee.com/a1536384743/erp_-override

---
 north-glass-erp/northglass-erp/src/router/index.js                                            |   22 
 north-glass-erp/src/main/java/com/example/erp/service/mm/BasicWarehouseTypeService.java       |   20 
 north-glass-erp/src/main/java/com/example/erp/controller/mm/BasicWarehouseTypeController.java |   29 +
 north-glass-erp/target/classes/mapper/pp/FolwCard.xml                                         |    5 
 north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCard.vue                     |    7 
 north-glass-erp/src/main/java/com/example/erp/entity/mm/BasicWarehouseType.java               |    1 
 north-glass-erp/northglass-erp/src/views/pp/processCard/PrintProcess.vue                      |  301 +++++++-----
 north-glass-erp/src/main/resources/mapper/mm/BasicWarehouseType.xml                           |   20 
 north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml                                     |    5 
 north-glass-erp/northglass-erp/vite.config.js                                                 |    2 
 north-glass-erp/northglass-erp/package.json                                                   |    1 
 north-glass-erp/northglass-erp/src/views/mm/basicData/WarehouseBasicData.vue                  |   61 ++
 north-glass-erp/src/main/resources/application.yml                                            |   10 
 north-glass-erp/northglass-erp/package-lock.json                                              |  493 +++++++++++++++++++++
 north-glass-erp/northglass-erp/src/views/pp/report/WorkInProgress.vue                         |   17 
 north-glass-erp/src/main/java/com/example/erp/mapper/mm/BasicWarehouseTypeMapper.java         |   11 
 north-glass-erp/northglass-erp/src/views/mm/basicData/WarehouseCreateBasicData.vue            |  136 +++++
 north-glass-erp/northglass-erp/src/views/mm/basicData/WarehouseSearchBasicData.vue            |  185 ++++++++
 north-glass-erp/target/classes/application.yml                                                |   10 
 north-glass-erp/target/classes/mapper/mm/BasicWarehouseType.xml                               |   20 
 20 files changed, 1,194 insertions(+), 162 deletions(-)

diff --git a/north-glass-erp/northglass-erp/package-lock.json b/north-glass-erp/northglass-erp/package-lock.json
index 91ec7d4..d486086 100644
--- a/north-glass-erp/northglass-erp/package-lock.json
+++ b/north-glass-erp/northglass-erp/package-lock.json
@@ -15,6 +15,7 @@
         "moment": "^2.30.1",
         "pinia": "^2.1.6",
         "pinia-plugin-persistedstate": "^3.2.0",
+        "qrcode": "^1.5.3",
         "sortablejs": "^1.15.1",
         "vue": "^3.3.4",
         "vue-i18n": "^9.10.1",
@@ -831,6 +832,28 @@
         "node": ">=0.8"
       }
     },
+    "node_modules/ansi-regex": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+      "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/ansi-styles": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+      "dependencies": {
+        "color-convert": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
     "node_modules/anymatch": {
       "version": "3.1.3",
       "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
@@ -895,6 +918,14 @@
         "node": ">=8"
       }
     },
+    "node_modules/camelcase": {
+      "version": "5.3.1",
+      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+      "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+      "engines": {
+        "node": ">=6"
+      }
+    },
     "node_modules/cfb": {
       "version": "1.2.2",
       "resolved": "https://registry.npmmirror.com/cfb/-/cfb-1.2.2.tgz",
@@ -933,6 +964,16 @@
         "fsevents": "~2.3.2"
       }
     },
+    "node_modules/cliui": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
+      "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
+      "dependencies": {
+        "string-width": "^4.2.0",
+        "strip-ansi": "^6.0.0",
+        "wrap-ansi": "^6.2.0"
+      }
+    },
     "node_modules/codepage": {
       "version": "1.15.0",
       "resolved": "https://registry.npmmirror.com/codepage/-/codepage-1.15.0.tgz",
@@ -940,6 +981,22 @@
       "engines": {
         "node": ">=0.8"
       }
+    },
+    "node_modules/color-convert": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+      "dependencies": {
+        "color-name": "~1.1.4"
+      },
+      "engines": {
+        "node": ">=7.0.0"
+      }
+    },
+    "node_modules/color-name": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
     },
     "node_modules/combined-stream": {
       "version": "1.0.8",
@@ -973,6 +1030,14 @@
       "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz",
       "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ=="
     },
+    "node_modules/decamelize": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+      "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==",
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
     "node_modules/delayed-stream": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
@@ -980,6 +1045,11 @@
       "engines": {
         "node": ">=0.4.0"
       }
+    },
+    "node_modules/dijkstrajs": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.3.tgz",
+      "integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA=="
     },
     "node_modules/dom-zindex": {
       "version": "1.0.1",
@@ -1010,6 +1080,16 @@
       "peerDependencies": {
         "vue": "^3.2.0"
       }
+    },
+    "node_modules/emoji-regex": {
+      "version": "8.0.0",
+      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+      "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+    },
+    "node_modules/encode-utf8": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz",
+      "integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw=="
     },
     "node_modules/esbuild": {
       "version": "0.18.20",
@@ -1069,6 +1149,18 @@
         "node": ">=8"
       }
     },
+    "node_modules/find-up": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+      "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+      "dependencies": {
+        "locate-path": "^5.0.0",
+        "path-exists": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
     "node_modules/follow-redirects": {
       "version": "1.15.3",
       "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz",
@@ -1122,6 +1214,14 @@
         "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
       }
     },
+    "node_modules/get-caller-file": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+      "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+      "engines": {
+        "node": "6.* || 8.* || >= 10.*"
+      }
+    },
     "node_modules/glob-parent": {
       "version": "5.1.2",
       "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
@@ -1152,6 +1252,14 @@
         "node": ">=0.10.0"
       }
     },
+    "node_modules/is-fullwidth-code-point": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+      "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+      "engines": {
+        "node": ">=8"
+      }
+    },
     "node_modules/is-glob": {
       "version": "4.0.3",
       "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
@@ -1180,6 +1288,17 @@
       },
       "funding": {
         "url": "https://github.com/sponsors/antfu"
+      }
+    },
+    "node_modules/locate-path": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+      "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+      "dependencies": {
+        "p-locate": "^4.1.0"
+      },
+      "engines": {
+        "node": ">=8"
       }
     },
     "node_modules/lodash": {
@@ -1286,6 +1405,47 @@
       "resolved": "https://registry.npmjs.org/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz",
       "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw=="
     },
+    "node_modules/p-limit": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+      "dependencies": {
+        "p-try": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/p-locate": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+      "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+      "dependencies": {
+        "p-limit": "^2.2.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/p-try": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/path-exists": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+      "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+      "engines": {
+        "node": ">=8"
+      }
+    },
     "node_modules/pathe": {
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.1.tgz",
@@ -1365,6 +1525,14 @@
         }
       }
     },
+    "node_modules/pngjs": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz",
+      "integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==",
+      "engines": {
+        "node": ">=10.13.0"
+      }
+    },
     "node_modules/postcss": {
       "version": "8.4.31",
       "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz",
@@ -1397,6 +1565,23 @@
       "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
       "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
     },
+    "node_modules/qrcode": {
+      "version": "1.5.3",
+      "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.5.3.tgz",
+      "integrity": "sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg==",
+      "dependencies": {
+        "dijkstrajs": "^1.0.1",
+        "encode-utf8": "^1.0.3",
+        "pngjs": "^5.0.0",
+        "yargs": "^15.3.1"
+      },
+      "bin": {
+        "qrcode": "bin/qrcode"
+      },
+      "engines": {
+        "node": ">=10.13.0"
+      }
+    },
     "node_modules/readdirp": {
       "version": "3.6.0",
       "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
@@ -1407,6 +1592,19 @@
       "engines": {
         "node": ">=8.10.0"
       }
+    },
+    "node_modules/require-directory": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+      "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/require-main-filename": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
+      "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg=="
     },
     "node_modules/rollup": {
       "version": "3.29.4",
@@ -1423,6 +1621,11 @@
       "optionalDependencies": {
         "fsevents": "~2.3.2"
       }
+    },
+    "node_modules/set-blocking": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+      "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw=="
     },
     "node_modules/sortablejs": {
       "version": "1.15.1",
@@ -1446,6 +1649,30 @@
       },
       "engines": {
         "node": ">=0.8"
+      }
+    },
+    "node_modules/string-width": {
+      "version": "4.2.3",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+      "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+      "dependencies": {
+        "emoji-regex": "^8.0.0",
+        "is-fullwidth-code-point": "^3.0.0",
+        "strip-ansi": "^6.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/strip-ansi": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+      "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+      "dependencies": {
+        "ansi-regex": "^5.0.1"
+      },
+      "engines": {
+        "node": ">=8"
       }
     },
     "node_modules/to-fast-properties": {
@@ -1607,6 +1834,11 @@
       "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/which-module": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz",
+      "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ=="
+    },
     "node_modules/wmf": {
       "version": "1.0.2",
       "resolved": "https://registry.npmmirror.com/wmf/-/wmf-1.0.2.tgz",
@@ -1621,6 +1853,19 @@
       "integrity": "sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA==",
       "engines": {
         "node": ">=0.8"
+      }
+    },
+    "node_modules/wrap-ansi": {
+      "version": "6.2.0",
+      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
+      "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
+      "dependencies": {
+        "ansi-styles": "^4.0.0",
+        "string-width": "^4.1.0",
+        "strip-ansi": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=8"
       }
     },
     "node_modules/xe-utils": {
@@ -1646,6 +1891,44 @@
       },
       "engines": {
         "node": ">=0.8"
+      }
+    },
+    "node_modules/y18n": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz",
+      "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ=="
+    },
+    "node_modules/yargs": {
+      "version": "15.4.1",
+      "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz",
+      "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==",
+      "dependencies": {
+        "cliui": "^6.0.0",
+        "decamelize": "^1.2.0",
+        "find-up": "^4.1.0",
+        "get-caller-file": "^2.0.1",
+        "require-directory": "^2.1.1",
+        "require-main-filename": "^2.0.0",
+        "set-blocking": "^2.0.0",
+        "string-width": "^4.2.0",
+        "which-module": "^2.0.0",
+        "y18n": "^4.0.0",
+        "yargs-parser": "^18.1.2"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/yargs-parser": {
+      "version": "18.1.3",
+      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
+      "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
+      "dependencies": {
+        "camelcase": "^5.0.0",
+        "decamelize": "^1.2.0"
+      },
+      "engines": {
+        "node": ">=6"
       }
     }
   },
@@ -2130,6 +2413,19 @@
       "resolved": "https://registry.npmmirror.com/adler-32/-/adler-32-1.3.1.tgz",
       "integrity": "sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A=="
     },
+    "ansi-regex": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+      "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
+    },
+    "ansi-styles": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+      "requires": {
+        "color-convert": "^2.0.1"
+      }
+    },
     "anymatch": {
       "version": "3.1.3",
       "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
@@ -2182,6 +2478,11 @@
         "fill-range": "^7.0.1"
       }
     },
+    "camelcase": {
+      "version": "5.3.1",
+      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+      "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="
+    },
     "cfb": {
       "version": "1.2.2",
       "resolved": "https://registry.npmmirror.com/cfb/-/cfb-1.2.2.tgz",
@@ -2206,10 +2507,33 @@
         "readdirp": "~3.6.0"
       }
     },
+    "cliui": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
+      "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
+      "requires": {
+        "string-width": "^4.2.0",
+        "strip-ansi": "^6.0.0",
+        "wrap-ansi": "^6.2.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=="
+    },
+    "color-convert": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+      "requires": {
+        "color-name": "~1.1.4"
+      }
+    },
+    "color-name": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
     },
     "combined-stream": {
       "version": "1.0.8",
@@ -2234,10 +2558,20 @@
       "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz",
       "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ=="
     },
+    "decamelize": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+      "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA=="
+    },
     "delayed-stream": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
       "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="
+    },
+    "dijkstrajs": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.3.tgz",
+      "integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA=="
     },
     "dom-zindex": {
       "version": "1.0.1",
@@ -2265,6 +2599,16 @@
         "memoize-one": "^6.0.0",
         "normalize-wheel-es": "^1.2.0"
       }
+    },
+    "emoji-regex": {
+      "version": "8.0.0",
+      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+      "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+    },
+    "encode-utf8": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz",
+      "integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw=="
     },
     "esbuild": {
       "version": "0.18.20",
@@ -2314,6 +2658,15 @@
         "to-regex-range": "^5.0.1"
       }
     },
+    "find-up": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+      "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+      "requires": {
+        "locate-path": "^5.0.0",
+        "path-exists": "^4.0.0"
+      }
+    },
     "follow-redirects": {
       "version": "1.15.3",
       "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz",
@@ -2340,6 +2693,11 @@
       "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
       "optional": true
     },
+    "get-caller-file": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+      "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="
+    },
     "glob-parent": {
       "version": "5.1.2",
       "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
@@ -2361,6 +2719,11 @@
       "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
       "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="
     },
+    "is-fullwidth-code-point": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+      "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="
+    },
     "is-glob": {
       "version": "4.0.3",
       "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
@@ -2378,6 +2741,14 @@
       "version": "0.4.3",
       "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz",
       "integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g=="
+    },
+    "locate-path": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+      "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+      "requires": {
+        "p-locate": "^4.1.0"
+      }
     },
     "lodash": {
       "version": "4.17.21",
@@ -2449,6 +2820,32 @@
       "resolved": "https://registry.npmjs.org/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz",
       "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw=="
     },
+    "p-limit": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+      "requires": {
+        "p-try": "^2.0.0"
+      }
+    },
+    "p-locate": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+      "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+      "requires": {
+        "p-limit": "^2.2.0"
+      }
+    },
+    "p-try": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="
+    },
+    "path-exists": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+      "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="
+    },
     "pathe": {
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.1.tgz",
@@ -2487,6 +2884,11 @@
       "integrity": "sha512-tZbNGf2vjAQcIm7alK40sE51Qu/m9oWr+rEgNm/2AWr1huFxj72CjvpQcIQzMknDBJEkQznCLAGtJTIcLKrKdw==",
       "requires": {}
     },
+    "pngjs": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz",
+      "integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw=="
+    },
     "postcss": {
       "version": "8.4.31",
       "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz",
@@ -2502,6 +2904,17 @@
       "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
       "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
     },
+    "qrcode": {
+      "version": "1.5.3",
+      "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.5.3.tgz",
+      "integrity": "sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg==",
+      "requires": {
+        "dijkstrajs": "^1.0.1",
+        "encode-utf8": "^1.0.3",
+        "pngjs": "^5.0.0",
+        "yargs": "^15.3.1"
+      }
+    },
     "readdirp": {
       "version": "3.6.0",
       "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
@@ -2509,6 +2922,16 @@
       "requires": {
         "picomatch": "^2.2.1"
       }
+    },
+    "require-directory": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+      "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q=="
+    },
+    "require-main-filename": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
+      "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg=="
     },
     "rollup": {
       "version": "3.29.4",
@@ -2518,6 +2941,11 @@
       "requires": {
         "fsevents": "~2.3.2"
       }
+    },
+    "set-blocking": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+      "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw=="
     },
     "sortablejs": {
       "version": "1.15.1",
@@ -2535,6 +2963,24 @@
       "integrity": "sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==",
       "requires": {
         "frac": "~1.1.2"
+      }
+    },
+    "string-width": {
+      "version": "4.2.3",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+      "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+      "requires": {
+        "emoji-regex": "^8.0.0",
+        "is-fullwidth-code-point": "^3.0.0",
+        "strip-ansi": "^6.0.1"
+      }
+    },
+    "strip-ansi": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+      "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+      "requires": {
+        "ansi-regex": "^5.0.1"
       }
     },
     "to-fast-properties": {
@@ -2628,6 +3074,11 @@
       "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz",
       "integrity": "sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw=="
     },
+    "which-module": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz",
+      "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ=="
+    },
     "wmf": {
       "version": "1.0.2",
       "resolved": "https://registry.npmmirror.com/wmf/-/wmf-1.0.2.tgz",
@@ -2637,6 +3088,16 @@
       "version": "0.3.0",
       "resolved": "https://registry.npmmirror.com/word/-/word-0.3.0.tgz",
       "integrity": "sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA=="
+    },
+    "wrap-ansi": {
+      "version": "6.2.0",
+      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
+      "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
+      "requires": {
+        "ansi-styles": "^4.0.0",
+        "string-width": "^4.1.0",
+        "strip-ansi": "^6.0.0"
+      }
     },
     "xe-utils": {
       "version": "3.5.14",
@@ -2656,6 +3117,38 @@
         "wmf": "~1.0.1",
         "word": "~0.3.0"
       }
+    },
+    "y18n": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz",
+      "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ=="
+    },
+    "yargs": {
+      "version": "15.4.1",
+      "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz",
+      "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==",
+      "requires": {
+        "cliui": "^6.0.0",
+        "decamelize": "^1.2.0",
+        "find-up": "^4.1.0",
+        "get-caller-file": "^2.0.1",
+        "require-directory": "^2.1.1",
+        "require-main-filename": "^2.0.0",
+        "set-blocking": "^2.0.0",
+        "string-width": "^4.2.0",
+        "which-module": "^2.0.0",
+        "y18n": "^4.0.0",
+        "yargs-parser": "^18.1.2"
+      }
+    },
+    "yargs-parser": {
+      "version": "18.1.3",
+      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
+      "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
+      "requires": {
+        "camelcase": "^5.0.0",
+        "decamelize": "^1.2.0"
+      }
     }
   }
 }
diff --git a/north-glass-erp/northglass-erp/package.json b/north-glass-erp/northglass-erp/package.json
index 196828b..6af8a11 100644
--- a/north-glass-erp/northglass-erp/package.json
+++ b/north-glass-erp/northglass-erp/package.json
@@ -15,6 +15,7 @@
     "moment": "^2.30.1",
     "pinia": "^2.1.6",
     "pinia-plugin-persistedstate": "^3.2.0",
+    "qrcode": "^1.5.3",
     "sortablejs": "^1.15.1",
     "vue": "^3.3.4",
     "vue-i18n": "^9.10.1",
diff --git a/north-glass-erp/northglass-erp/src/router/index.js b/north-glass-erp/northglass-erp/src/router/index.js
index 95ded16..fda2008 100644
--- a/north-glass-erp/northglass-erp/src/router/index.js
+++ b/north-glass-erp/northglass-erp/src/router/index.js
@@ -900,6 +900,28 @@
           ]
         },
         {
+          /*----------- 鍩虹鏁版嵁 ----------------*/
+          path: 'warehouseBasicData',
+          name: 'warehouseBasicData',
+          component: () => import('../views/mm/basicData/WarehouseBasicData.vue'),
+          children: [
+            {
+              path: 'warehouseSearchBasicData',
+              name: 'warehouseSearchBasicData',
+              component: () => import('../views/mm/basicData/WarehouseSearchBasicData.vue'),
+            },
+            {
+              path: 'warehouseCreateBasicData',
+              name: 'warehouseCreateBasicData',
+              component: () => import('../views/mm/basicData/WarehouseCreateBasicData.vue'),
+            },
+            {
+              path: '',
+              redirect: '/main/warehouseBasicData/warehouseSearchBasicData'
+            }
+          ]
+        },
+        {
           path: '',
           redirect:'/main/order'
         }
diff --git a/north-glass-erp/northglass-erp/src/views/mm/basicData/WarehouseBasicData.vue b/north-glass-erp/northglass-erp/src/views/mm/basicData/WarehouseBasicData.vue
new file mode 100644
index 0000000..63e3b22
--- /dev/null
+++ b/north-glass-erp/northglass-erp/src/views/mm/basicData/WarehouseBasicData.vue
@@ -0,0 +1,61 @@
+<script setup>
+import {ArrowLeftBold, ArrowRight, Search} from "@element-plus/icons-vue"
+import {useRouter,useRoute,onBeforeRouteUpdate} from "vue-router"
+import {useI18n} from "vue-i18n"
+const { t } = useI18n()
+const router = useRouter()
+const route = useRoute()
+let indexFlag=$ref(1)
+function changeRouter(index){
+  indexFlag=index
+
+}
+
+
+
+
+</script>
+
+<template>
+  <div id="main-div">
+    <div id="div-title">
+      <el-breadcrumb :separator-icon="ArrowRight">
+        <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''" :to="{ path: '/main/warehouseBasicData/warehouseSearchBasicData' }">鍩虹鏁版嵁</el-breadcrumb-item>
+      </el-breadcrumb>
+    </div>
+
+    <div id="main-body">
+      <router-view :key="route.fullPath" />
+    </div>
+  </div>
+</template>
+
+<style scoped>
+#main-div{
+  width: 99%;
+  height: 100%;
+}
+#div-title{
+  height: 2%;
+  width: 100%;
+}
+#searchButton{
+  margin-top: -5px;
+  margin-left: 1rem;
+}
+#searchButton1{
+//margin-left: 10rem;
+}
+/*main-body鏍峰紡*/
+#main-body{
+  width: 100%;
+  height: 95%;
+  margin-top: 1%;
+}
+#select{
+  margin-left:0.5rem;
+}
+:deep(.indexTag .el-breadcrumb__inner){
+  color: #5CADFE !important;
+}
+</style>
\ No newline at end of file
diff --git a/north-glass-erp/northglass-erp/src/views/mm/basicData/WarehouseCreateBasicData.vue b/north-glass-erp/northglass-erp/src/views/mm/basicData/WarehouseCreateBasicData.vue
new file mode 100644
index 0000000..3b8f3d1
--- /dev/null
+++ b/north-glass-erp/northglass-erp/src/views/mm/basicData/WarehouseCreateBasicData.vue
@@ -0,0 +1,136 @@
+<script setup>
+import request from "@/utils/request"
+import {onMounted, ref, watch} from "vue";
+import {useI18n} from "vue-i18n"
+import {ElMessage} from "element-plus"
+import {useRouter,useRoute} from "vue-router"
+const { t } = useI18n()
+const router = useRouter()
+const route = useRoute()
+
+
+let basic = ref({
+  operateType:'',
+  type : '',
+  input:''
+})
+let options=ref([
+  { label: "搴撳瓨缁勭粐",
+    value: "inventoryOrganization",
+  },
+  { label: "棰嗗嚭",
+    value: "takeOut",
+  },
+  { label: "鏉愭枡鍑哄簱绫诲瀷",
+    value: "outboundType",
+  },
+  { label: "鏉愭枡杩斿簱绫诲瀷",
+    value: "returningType",
+  },
+])
+
+let props = defineProps({
+  rowIndex:{
+    Object,
+    default: null
+  }
+})
+onMounted(() =>{
+  if(props.rowIndex){
+    basic.value.operateType =  props.rowIndex.operateType
+    basic.value.type =  props.rowIndex.type
+    basic.value.input =  props.rowIndex.operateTypeName
+  }
+})
+
+const emit =  defineEmits(['gaveParent'])
+const saveBasicData =  () =>{
+  if (basic.value.operateType[0]==='inventoryOrganization'){
+    basic.value.type='搴撳瓨缁勭粐'
+  }
+  else if(basic.value.operateType[0]==='takeOut'){
+    basic.value.type='棰嗗嚭'
+  }
+  else if(basic.value.operateType[0]==='outboundType'){
+    basic.value.type='鏉愭枡鍑哄簱绫诲瀷'
+  }
+  else if(basic.value.operateType[0]==='returningType'){
+    basic.value.type='鏉愭枡杩斿簱绫诲瀷'
+  }
+  if(basic.value.operateType[0]==='' || basic.value.input===''){
+    return
+  }
+  request.post(`/BasicWarehouse/addBasicWarehouse`, basic.value).then(res => {
+    if (res.data) {
+      ElMessage.success('淇濆瓨鎴愬姛')
+      emit('gaveParent', true)
+    }
+  })
+}
+const updateBasicData =  () =>{
+  let submitArr  = props.rowIndex
+  submitArr.operateType = basic.value.operateType
+  submitArr.type = basic.value.type
+  submitArr.operateTypeName = basic.value.input
+  if(basic.value.input===''){
+    ElMessage.warning('璇疯緭鍏ユ暟鎹�')
+  }else{
+    request.post(`/BasicWarehouse/updateBasicWarehouse`, submitArr).then(res => {
+      if (res.data) {
+        ElMessage.success('淇敼鎴愬姛')
+        emit('gaveParent', true)
+      }
+    })
+  }
+
+
+}
+
+const handleChange = (value) => {
+  const filterArr = options.value.filter((item) =>item.value === value[0]
+  ).map((item) =>item.children.filter((item) =>item.value === value[1]))
+}
+
+
+</script>
+
+<template>
+  <div>
+    <el-row>
+      <el-col :span="4">鍩虹绫诲瀷:</el-col>
+      <el-col :span="12">
+        <el-cascader
+            v-model="basic.operateType"
+            :options="options"
+            clearable
+            placeholder=""
+            :disabled="props.rowIndex"
+        />
+      </el-col>
+    </el-row>
+    <el-row>
+      <el-col :span="4">鍚嶇О:</el-col>
+      <el-col :span="12">
+        <el-input v-model="basic.input"/>
+      </el-col>
+    </el-row>
+    <el-row>
+      <el-col :span="4"></el-col>
+      <el-col :span="12">
+        <el-button v-show="!props.rowIndex" @click="saveBasicData" type="primary">鏂板</el-button>
+        <el-button v-show="props.rowIndex" @click="updateBasicData" type="primary">淇敼</el-button>
+
+      </el-col>
+    </el-row>
+
+  </div>
+</template>
+
+<style scoped>
+div{
+  text-align: center;
+}
+.el-row{
+  margin-top: 10px;
+}
+</style>
\ No newline at end of file
diff --git a/north-glass-erp/northglass-erp/src/views/mm/basicData/WarehouseSearchBasicData.vue b/north-glass-erp/northglass-erp/src/views/mm/basicData/WarehouseSearchBasicData.vue
new file mode 100644
index 0000000..6c8a3fb
--- /dev/null
+++ b/north-glass-erp/northglass-erp/src/views/mm/basicData/WarehouseSearchBasicData.vue
@@ -0,0 +1,185 @@
+<script setup>
+import {reactive, ref} from "vue";
+import {VXETable} from "vxe-table";
+import {ElMessage} from "element-plus";
+import request from "@/utils/request"
+import CreateBasicData from "@/views/sd/basicData/CreateBasicData.vue"
+import {useRouter,useRoute} from "vue-router"
+import {useI18n} from "vue-i18n"
+import WarehouseCreateBasicData from "@/views/mm/basicData/WarehouseCreateBasicData.vue";
+const { t } = useI18n()
+
+let dialogTableVisible = ref(false)
+const router = useRouter()
+const xGrid = ref()
+const gridOptions = reactive({
+  border:  "full",//琛ㄦ牸鍔犺竟妗�
+  keepSource: true,//淇濇寔婧愭暟鎹�
+  align: 'center',//鏂囧瓧灞呬腑
+  stripe:true,//鏂戦┈绾�
+  rowConfig: {isCurrent: true, isHover: true,height: 30},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒
+  id: 'OrderList',
+  showFooter: true,//鏄剧ず鑴�
+  printConfig: {},
+  importConfig: {},
+  exportConfig: {},
+  scrollY:{ enabled: true },//寮�鍚櫄鎷熸粴鍔�
+  showOverflow:true,
+  columnConfig: {
+    resizable: true,
+    useKey: true
+  },
+  filterConfig: {   //绛涢�夐厤缃」
+    remote: true
+  },
+  customConfig: {
+    storage: true
+  },
+  editConfig: {
+    trigger: 'click',
+    mode: 'row',
+    showStatus: true
+  },
+
+  //琛ㄥご鍙傛暟
+  columns:[
+    {title: t('basicData.operate'), width: 110, slots: { default: 'button_slot' },fixed:"left",},
+    {type: 'seq', title: '搴忓彿', width: 80 ,fixed:"left",},
+    {field:'operateTypeName',title: '鍚嶇О'},
+    {field:'operateType',title: '鍒О'},
+    {field:'type',title: '绫诲瀷'},
+    {field:'createTime',title: '鍒涘缓鏃ユ湡'},
+
+
+  ],
+
+  //琛ㄥご鎸夐挳
+  toolbarConfig: {
+    buttons: [
+      {'code': 'add', 'name': '鏂板',status: 'primary'},
+    ],
+
+    // import: false,
+    // export: true,
+    // print: true,
+    zoom: true,
+    custom: true
+  },
+
+  footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
+    return[
+      columns.map((column, columnIndex) => {
+        // if (columnIndex === 0) {
+        //   return t('basicData.total')
+        // }
+        // if (props.tableProp.footList.includes(column.field)) {
+        //   return sumNum(data, column.field)
+        // }
+        return ''
+      })
+    ]
+  }
+
+})
+const gridEvents = {
+  toolbarButtonClick ({ code }) {
+    const $grid = xGrid.value
+    if ($grid) {
+      switch (code) {
+        case 'add': {
+          rowIndex.value = null
+          dialogTableVisible.value = true
+          break
+        }
+
+      }
+    }
+  },
+  menuClick ({ menu, row, column }) {
+    const $grid = xGrid.value
+    if ($grid) {
+      switch (menu.code) {
+
+
+      }
+    }
+  }
+}
+
+request.get('/BasicWarehouse/getBasicWarehouse').then(res => {
+  if(res.code==='200'){
+    xGrid.value.reloadData(res.data)
+  }
+})
+
+const getChildrenFunction = (flag) => {
+  if(flag){
+    router.push({
+      path:'/main/warehouseBasicData/warehouseSearchBasicData',
+      query:{random:Math.random()
+      }
+    })
+  }
+}
+
+let rowIndex = ref(null)
+const getTableRow =  (row,type) => {
+  switch (type) {
+    case 'edit': {
+      rowIndex.value = row
+      dialogTableVisible.value = true
+      break
+    }
+    case 'delete': {
+      request.post(`/BasicWarehouse/deleteBasicWarehouse`,row).then((res) => {
+        if(res.code==200){
+          ElMessage.success(t('searchOrder.msgDeleteSuccess'))
+          router.push({
+            path:'/main/warehouseBasicData/warehouseSearchBasicData',
+            query:{random:Math.random()
+            }
+          })
+        }else{
+          ElMessage.warning(t('searchOrder.msgDeleteFail'))
+        }
+      })
+      break
+    }
+
+  }
+}
+
+</script>
+
+<template>
+  <div>
+    <vxe-grid
+        style="width: 40vw;"
+        class="mytable-scrollbar"
+        max-height="500px"
+        ref="xGrid"
+        v-bind="gridOptions"
+        v-on="gridEvents"
+    >
+      <template #button_slot="{ row }">
+        <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">{{ $t('basicData.edit') }}</el-button>
+        <el-popconfirm @confirm="getTableRow(row,'delete')" title="纭畾鍒犻櫎鏁版嵁锛�">
+          <template #reference>
+            <el-button  link type="primary" size="small">{{ $t('basicData.delete') }}</el-button>
+          </template>
+        </el-popconfirm>
+      </template>
+
+    </vxe-grid>
+    <el-dialog
+        v-model="dialogTableVisible"
+        destroy-on-close
+        style="width: 30%;height:30% ">
+      <WarehouseCreateBasicData :rowIndex="rowIndex" @gaveParent='getChildrenFunction'/>
+    </el-dialog>
+  </div>
+</template>
+
+<style scoped>
+
+</style>
\ No newline at end of file
diff --git a/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCard.vue b/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCard.vue
index 5b09c92..6649485 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCard.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCard.vue
@@ -191,8 +191,8 @@
     if ($grid) {
       switch (code) {
         case 'print': {
-
-          if(selectRecords.value===null){
+          console.log( selectRecords)
+          if(selectRecords===null ||selectRecords===''||selectRecords.length===0){
             ElMessage.warning(t('searchOrder.msgList.checkOrder'))
             return
           }
@@ -206,6 +206,9 @@
             }
           }
           router.push({path: '/main/processCard/printProcess', query: {printList: JSON.stringify(selectRecords)}})
+
+          // let routeData = router.resolve({path: '/main/processCard/printProcess', query: {printList: JSON.stringify(selectRecords)}});
+          // window.open(routeData.href, '_blank');
           //dialogTableVisible.value = true
           break
         }
diff --git a/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintProcess.vue b/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintProcess.vue
index a2083d3..3f37c21 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintProcess.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintProcess.vue
@@ -5,111 +5,131 @@
 import {Search} from "@element-plus/icons-vue"
 import {useRouter} from 'vue-router'
 import {changeFilterEvent, filterChanged} from "@/hook"
-
 import {useI18n} from 'vue-i18n'
 import deepClone from "@/utils/deepClone";
+import QRCode from "qrcode";
 //璇█鑾峰彇
 const {t} = useI18n()
 let router = useRouter()
 let produceList = ref([])
-let details = ref([])
+let list = ref()
+const details = ref([])
+
 
 const data = ref({
-  printList:[]
+  printList: []
 })
 
 const {currentRoute} = useRouter()
 const route = currentRoute.value
 data.value.printList = JSON.parse(route.query.printList)
-let flowCardCount=data.value.printList.length
+let flowCardCount = data.value.printList.length
 onMounted(() => {
-  // if (id === null || id === undefined || id === '') {
-  //   return
-  // }
+      // if (id === null || id === undefined || id === '') {
+      //   return
+      // }
 
       request.post(`/processCard/getSelectPrinting`, data.value).then((res) => {
         if (res.code == 200) {
 
           produceList.value = deepClone(res.data.data)
 
+          handleGetQRCode()
         } else {
           ElMessage.warning(res.msg)
           router.push("/login")
         }
       })
+
     }
-  )
+
+)
+
+
+const handleGetQRCode = async () => {
+  for (let i = 0; i < produceList.value.length; i++) {
+    list= produceList.value[i].detail[0].processIdNumber;
+    const url = `${list}`;
+    // 鐢熸垚 QR Code 骞跺瓨鍌ㄥ埌鍙橀噺涓�
+    const qrcode = ref('');
+    qrcode.value =  await QRCode.toDataURL(url);
+    produceList.value[i].detail[0]["qrcode"]=qrcode.value
+  }
+};
+
+
+
 
 // 鎵撳嵃鏂规硶
-const printFlowCard = () => {
-  // 闇�瑕佹墦鍗扮殑灞�閮ㄥ尯鍩熻祴浜�"print-wrap"鐨刬d
-  let el = document.getElementById("printFlowCard");
-  let doc = document;
-  let body = doc.body || doc.getElementsByTagName("body")[0];
-  let printId = "print-" + Date.now();
+  const printFlowCard = () => {
+    // 闇�瑕佹墦鍗扮殑灞�閮ㄥ尯鍩熻祴浜�"print-wrap"鐨刬d
+    let el = document.getElementById("printFlowCard");
+    let doc = document;
+    let body = doc.body || doc.getElementsByTagName("body")[0];
+    let printId = "print-" + Date.now();
 
-  // 鍒涘缓鏃犲壇浣滅敤鐨勬墦鍗板鍣�(鍥犱笉纭畾椤甸潰鐨勬墦鍗板厓绱犳湁鏃犲叾瀹冩牱寮�)
-  let content = doc.createElement("div");
-  content.id = printId;
+    // 鍒涘缓鏃犲壇浣滅敤鐨勬墦鍗板鍣�(鍥犱笉纭畾椤甸潰鐨勬墦鍗板厓绱犳湁鏃犲叾瀹冩牱寮�)
+    let content = doc.createElement("div");
+    content.id = printId;
 
-  // 鏍峰紡鎺у埗涓庢墦鍗版棤鍏崇殑鍏冪礌闅愯棌
-  let style = doc.createElement("style");
-  style.innerHTML =
-      "body>#" +
-      printId +
-      "{display:none}@media print{body>:not(#" +
-      printId +
-      "){display:none !important}body>#" +
-      printId +
-      "{display:block;padding-top:1px}}";
-  //
-   content.innerHTML = el.outerHTML;
-  // // console.log("el.outerHTML", el.outerHTML);
-  body.appendChild(style);
+    // 鏍峰紡鎺у埗涓庢墦鍗版棤鍏崇殑鍏冪礌闅愯棌
+    let style = doc.createElement("style");
+    style.innerHTML =
+        "body>#" +
+        printId +
+        "{display:none}@media print{body>:not(#" +
+        printId +
+        "){display:none !important}body>#" +
+        printId +
+        "{display:block;padding-top:1px}}";
+    //
+    content.innerHTML = el.outerHTML;
+    // // console.log("el.outerHTML", el.outerHTML);
+    body.appendChild(style);
 
-  // 涓巗tyle鍏冪礌璁剧疆鐨勬牱寮忕浉閰嶅悎
-  // 鎶婃墦鍗板唴瀹圭殑鍏冪礌娣诲姞鍒癰ody(浣滀负body鐨勫瓙鍏冪礌锛屽彲鐢╞ody鐨勫瓙閫夋嫨鍣� '>' 鎺у埗鎵撳嵃鏍峰紡)
-  body.appendChild(content);
-  setTimeout(() => {
-    window.print();
-    body.removeChild(content);
-    body.removeChild(style);
-  }, 20);
-}
+    // 涓巗tyle鍏冪礌璁剧疆鐨勬牱寮忕浉閰嶅悎
+    // 鎶婃墦鍗板唴瀹圭殑鍏冪礌娣诲姞鍒癰ody(浣滀负body鐨勫瓙鍏冪礌锛屽彲鐢╞ody鐨勫瓙閫夋嫨鍣� '>' 鎺у埗鎵撳嵃鏍峰紡)
+    body.appendChild(content);
+    setTimeout(() => {
+      window.print();
+      body.removeChild(content);
+      body.removeChild(style);
+    }, 20);
+  }
 </script>
 
 <template>
-  <el-button id="printButton" @click="printFlowCard">鎵撳嵃</el-button>
+  <el-button id="printButton" @click="printFlowCard();">鎵撳嵃</el-button>
   <div id="printFlowCard">
     <table v-for="(item,id) in produceList" id="contentTable" :key="id">
       <thead>
       <tr v-for="(itemFlow,index) in item.detail" :key="index">
         <td colspan="24">
-          <div id="bj" style="float: right;font-size: 28px">{{ id+1 }}</div>
+          <div id="bj" style="float: right;font-size: 28px">{{ id + 1 }}</div>
           <div>甯稿窞甯傚悏鍒╃幓鐠冩湁闄愬叕鍙�</div>
           <div>鐢熶骇娴佺▼鍗�</div>
-          <div style="text-align: right;font-weight: bolder">娴佺▼鍗″彿锛� {{ itemFlow.process_id }}/{{ itemFlow.technologyNumber }} 鍏� {{flowCardCount}} 鏋�</div>
+          <div style="text-align: right;font-weight: bolder">娴佺▼鍗″彿锛� {{
+              itemFlow.process_id
+            }}/{{ itemFlow.technologyNumber }} 鍏� {{ flowCardCount }} 鏋�
+          </div>
         </td>
       </tr>
       <tr v-for="(items,index) in item.detail" :key="index">
-        <td>瀹㈡埛鍚嶇О锛�</td>
+        <td class="tdNowrap">瀹㈡埛鍚嶇О锛�</td>
         <td colspan="2">{{ items.customer_name }}</td>
-        <td>椤圭洰鍚嶇О锛�</td>
+        <td class="tdNowrap">椤圭洰鍚嶇О锛�</td>
         <td colspan="2">{{ items.project }}</td>
-        <td style="width:100px">宸ヨ壓娴佺▼锛�</td>
+        <td class="tdNowrap">宸ヨ壓娴佺▼锛�</td>
         <td colspan="16">{{ items.process }}</td>
       </tr>
       <tr v-for="(itemTr,index) in item.detail" :key="index">
-        <td>纾ㄨ竟绫诲瀷锛�</td>
+        <td class="tdNowrap">纾ㄨ竟绫诲瀷锛�</td>
         <td colspan="2">{{ itemTr.edging_type }}</td>
-        <td>鍗曠墖鍚嶇О锛�</td>
+        <td class="tdNowrap">鍗曠墖鍚嶇О锛�</td>
         <td colspan="2">{{ itemTr.glass_child }}</td>
-        <td>浜у搧鍚嶇О锛�</td>
+        <td class="tdNowrap">浜у搧鍚嶇О锛�</td>
         <td colspan="16">{{ itemTr.product_name }}</td>
       </tr>
-
-      </thead>
-      <tbody>
       <tr>
         <td rowspan='2'>搴忓彿</td>
         <td rowspan='2'>瀹�*楂�</td>
@@ -118,14 +138,15 @@
         <td rowspan='2'>鍛ㄩ暱</td>
         <td rowspan='2'>鍗婂緞</td>
         <td rowspan='2'>澶囨敞</td>
-        <td colspan='2'>鍒囧壊</td>
-        <td colspan='2'>纾ㄨ竟</td>
-        <td colspan='2'>閽㈠寲</td>
-        <td colspan='2'>涓┖</td>
-        <td colspan='2'>鍖呰</td>
-        <td colspan='2'></td>
-        <td colspan='2'></td>
-        <td colspan='2'></td>
+        <td v-for="(itemPr,index) in item.processList" :key="index" colspan="2">{{ itemPr.process }}</td>
+        <!--        <td colspan='2'>鍒囧壊</td>-->
+        <!--        <td colspan='2'>纾ㄨ竟</td>-->
+        <!--        <td colspan='2'>閽㈠寲</td>-->
+        <!--        <td colspan='2'>涓┖</td>-->
+        <!--        <td colspan='2'>鍖呰</td>-->
+        <!--        <td colspan='2'></td>-->
+        <!--        <td colspan='2'></td>-->
+        <!--        <td colspan='2'></td>-->
       </tr>
       <tr>
         <td>姝e搧</td>
@@ -145,10 +166,13 @@
         <td>姝e搧</td>
         <td>娆″搧</td>
       </tr>
+      </thead>
+      <tbody>
+
       <tr v-for="(itemDatile,index) in item.detailList" :key="index">
         <td>{{ itemDatile.order_number }}</td>
         <td>{{ itemDatile.child_width }}</td>
-        <td>{{ itemDatile.quantity }}</td>
+        <td class="item">{{ itemDatile.quantity }}</td>
         <td>{{ itemDatile.total_area }}</td>
         <td>{{ itemDatile.perimeter }}</td>
         <td>{{ itemDatile.bend_radius }}</td>
@@ -172,19 +196,20 @@
       </tr>
       </tbody>
       <tfoot>
-      <tr>
-        <td colspan="24" v-for="(itemsum,index) in item.detail" :key="index">
+      <tr style="height: 14px">
+        <td v-for="(itemsum,index) in item.detail" :key="index" colspan="24">
           鏁伴噺锛�
           <label>{{ itemsum.quantity }}</label>
           闈㈢Н锛�
           <label>{{ itemsum.gross_area }}</label>
           閲嶉噺锛�
-          <label>{{ itemsum.gross_area }}</label>
+          <label>{{ itemsum.weight }}</label>
         </td>
       </tr>
       <tr v-for="(itemtextarea,index) in item.detail" :key="index">
-        <td colspan="6" rowspan="6" style="width: 450px;height: 150px ">
-          <div style="width: 100%;height: 100%"><textarea style="height: 98%;width: 98%">{{ itemtextarea.processing_note }}</textarea></div>
+        <td colspan="6" rowspan="6" style="width: 480px;height: 100px ">
+          <div style="width: 100%;height: 100%"><textarea style="height: 99%;width: 99%">{{ itemtextarea.processing_note }}</textarea>
+          </div>
         </td>
         <td>瀹屽伐绛惧悕</td>
         <td></td>
@@ -203,25 +228,25 @@
         <td></td>
         <td></td>
       </tr>
-      <tr>
-        <td>鎺ュ彈绛惧悕</td>
-        <td></td>
-        <td></td>
-        <td></td>
-        <td></td>
-        <td></td>
-        <td></td>
-        <td></td>
-        <td></td>
-        <td></td>
-        <td></td>
-        <td></td>
-        <td></td>
-        <td></td>
-        <td></td>
-        <td></td>
-        <td></td>
-      </tr>
+<!--      <tr>-->
+<!--        <td>鎺ュ彈绛惧悕</td>-->
+<!--        <td></td>-->
+<!--        <td></td>-->
+<!--        <td></td>-->
+<!--        <td></td>-->
+<!--        <td></td>-->
+<!--        <td></td>-->
+<!--        <td></td>-->
+<!--        <td></td>-->
+<!--        <td></td>-->
+<!--        <td></td>-->
+<!--        <td></td>-->
+<!--        <td></td>-->
+<!--        <td></td>-->
+<!--        <td></td>-->
+<!--        <td></td>-->
+<!--        <td></td>-->
+<!--      </tr>-->
       <tr>
         <td>鐢熶骇鏃ユ湡</td>
         <td></td>
@@ -260,29 +285,40 @@
         <td></td>
         <td></td>
       </tr>
-      <tr>
-        <td>鏋跺瓙缂栧彿</td>
-        <td></td>
-        <td></td>
-        <td></td>
-        <td></td>
-        <td></td>
-        <td></td>
-        <td></td>
-        <td></td>
-        <td></td>
-        <td></td>
-        <td></td>
-        <td></td>
-        <td></td>
-        <td></td>
-        <td></td>
-        <td></td>
-      </tr>
-      <tr>
-        <td colspan="17" rowspan="2">
-          <div style="width: 60px;height: 60px;background-color: red"></div>
+      <!--      <tr>-->
+      <!--        <td>鏋跺瓙缂栧彿</td>-->
+      <!--        <td></td>-->
+      <!--        <td></td>-->
+      <!--        <td></td>-->
+      <!--        <td></td>-->
+      <!--        <td></td>-->
+      <!--        <td></td>-->
+      <!--        <td></td>-->
+      <!--        <td></td>-->
+      <!--        <td></td>-->
+      <!--        <td></td>-->
+      <!--        <td></td>-->
+      <!--        <td></td>-->
+      <!--        <td></td>-->
+      <!--        <td></td>-->
+      <!--        <td></td>-->
+      <!--        <td></td>-->
+      <!--      </tr>-->
+      <tr v-for="(qrCodeItem,index) in item.detail" :key="index">
+        <td rowspan="2">
+          <div class='qrCode' style="width: 80px;height: 80px;">
+            <img :src= qrCodeItem.qrcode>
+<!--            {{-->
+<!--              getUrl(qrCodeItem.process_id)-->
+<!--            }}-->
+
+          </div>
+
         </td>
+        <td colspan="16">
+          <span style="float: left;font-weight: bolder">{{ qrCodeItem.processIdNumber }}</span>
+        </td>
+
       </tr>
       </tfoot>
     </table>
@@ -296,7 +332,7 @@
   padding: 0;
 }
 
-#printButton{
+#printButton {
   margin-top: -40px;
   width: 100px;
 }
@@ -304,8 +340,7 @@
 #printFlowCard {
   margin-top: -40px;
   text-align: center;
-  //font-weight: bolder;
-  height: 600px;
+//font-weight: bolder; height: 600px;
 }
 
 #contentTable {
@@ -327,32 +362,54 @@
 
 #contentTable tr td {
   border: 1px solid black;
-  height: 22px;
+  height: 18px;
   font-weight: bolder;
 }
-#contentTable tbody{
-  height: 22px;
+
+#contentTable tbody {
+  white-space: nowrap;
+
 }
 
-#contentTable tbody td {
-  width: 50px;
+.tdNowrap {
+  white-space: nowrap;
+
 }
 
-#contentTable tfoot{
+#contentTable tfoot {
   font-size: 12px;
   font-weight: bolder;
 }
 
 
-/* 鍦� .footer 鍏冪礌鍚庡缁堟彃鍏ュ垎椤电 */
 @media print {
-  #contentTable {page-break-after: always;}
+
+  tbody {
+    display: table-row-group;
+  }
+
+  table {
+    page-break-before: always;
+  }
+
+  table {
+    page-break-inside: auto;
+  }
+
+  thead {
+    display: table-header-group;
+  }
+
+  tfoot {
+    display: table-footer-group;
+    page-break-inside: avoid;
+  }
 }
 
-
-thead { display:table-header-group;page-break-inside:avoid; }
-tbody { display:table-row-group;}
-tfoot { display:table-footer-group;page-break-inside:avoid; }
+.qrCode img {
+  width: 100%;
+  height: 100%;
+}
 
 
 </style>
\ No newline at end of file
diff --git a/north-glass-erp/northglass-erp/src/views/pp/report/WorkInProgress.vue b/north-glass-erp/northglass-erp/src/views/pp/report/WorkInProgress.vue
index 710fd3c..2c01ce5 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/report/WorkInProgress.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/report/WorkInProgress.vue
@@ -3,23 +3,6 @@
 import {reactive, ref} from "vue";
 import {useRouter} from  'vue-router'
 let router=useRouter()
-const getTableRow = (row,type) =>{
-  switch (type) {
-    case 'edit' :{
-      //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
-      router.push({path: '/main/reportingWorks/ReportingWorkDetail', query: { id: row.id }})
-      break
-    }
-    case 'delete':{
-      alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
-      break
-    }
-    case  'setType':{
-      alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍙嶅鐘舵��')
-      break
-    }
-  }
-}
 
 //琛ㄥ熬姹傚拰
 const sumNum = (list, field) => {
diff --git a/north-glass-erp/northglass-erp/vite.config.js b/north-glass-erp/northglass-erp/vite.config.js
index 1d99396..103a78f 100644
--- a/north-glass-erp/northglass-erp/vite.config.js
+++ b/north-glass-erp/northglass-erp/vite.config.js
@@ -16,7 +16,7 @@
     }
   }, 
   server: {
-    port: 5173,//绔彛鍙�
+    port: 80,//绔彛鍙�
     host: true,//ip鍦板潃 鎴� '0.0.0.0' 鎴� "loaclhost"
     open: false, //鍚姩鍚庢槸鍚﹁嚜鍔ㄦ墦寮�娴忚鍣�
     https: false, // 鏄惁寮�鍚� https
diff --git a/north-glass-erp/src/main/java/com/example/erp/controller/mm/BasicWarehouseTypeController.java b/north-glass-erp/src/main/java/com/example/erp/controller/mm/BasicWarehouseTypeController.java
index 6e13d5f..950e6cd 100644
--- a/north-glass-erp/src/main/java/com/example/erp/controller/mm/BasicWarehouseTypeController.java
+++ b/north-glass-erp/src/main/java/com/example/erp/controller/mm/BasicWarehouseTypeController.java
@@ -1,13 +1,14 @@
 package com.example.erp.controller.mm;
 
 import com.example.erp.common.Result;
+import com.example.erp.entity.mm.BasicWarehouseType;
+import com.example.erp.entity.sd.BasicData;
 import com.example.erp.service.mm.BasicWarehouseTypeService;
 import com.example.erp.service.sd.BasicDateService;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Map;
 
 @RestController
 @RequestMapping("/BasicWarehouse")
@@ -24,4 +25,24 @@
         return Result.seccess(basicWarehouseTypeService.getBasicWarehouseTypes(type));
     }
 
+    @GetMapping("/getBasicWarehouse")
+    public Result getBasicWarehouse(){
+        return Result.seccess(basicWarehouseTypeService.getBasicWarehouse());
+    }
+
+
+    @PostMapping("addBasicWarehouse")
+    public Result addBasicWarehouse(@RequestBody Map<String,Object> map){
+        return  Result.seccess(basicWarehouseTypeService.addBasicWarehouse(map));
+    }
+    @PostMapping("updateBasicWarehouse")
+    public Result updateBasicWarehouse(@RequestBody BasicWarehouseType basicWarehouseType){
+        return  Result.seccess(basicWarehouseTypeService.updateBasicWarehouse(basicWarehouseType));
+    }
+
+    @PostMapping("deleteBasicWarehouse")
+    public Result deleteBasicWarehouse(@RequestBody BasicWarehouseType basicWarehouseType){
+        return  Result.seccess(basicWarehouseTypeService.deleteBasicWarehouse(basicWarehouseType));
+    }
+
 }
diff --git a/north-glass-erp/src/main/java/com/example/erp/entity/mm/BasicWarehouseType.java b/north-glass-erp/src/main/java/com/example/erp/entity/mm/BasicWarehouseType.java
index 454c893..aeb017d 100644
--- a/north-glass-erp/src/main/java/com/example/erp/entity/mm/BasicWarehouseType.java
+++ b/north-glass-erp/src/main/java/com/example/erp/entity/mm/BasicWarehouseType.java
@@ -11,7 +11,6 @@
     @TableId(type = IdType.AUTO)
 
     private Long id;
-    private Integer operateTypeId;
     private String operateTypeName;
     private String operateType;
     private String type;
diff --git a/north-glass-erp/src/main/java/com/example/erp/mapper/mm/BasicWarehouseTypeMapper.java b/north-glass-erp/src/main/java/com/example/erp/mapper/mm/BasicWarehouseTypeMapper.java
index 88194ea..8a9acb0 100644
--- a/north-glass-erp/src/main/java/com/example/erp/mapper/mm/BasicWarehouseTypeMapper.java
+++ b/north-glass-erp/src/main/java/com/example/erp/mapper/mm/BasicWarehouseTypeMapper.java
@@ -2,6 +2,7 @@
 
 import com.example.erp.entity.mm.BasicWarehouseType;
 import com.example.erp.entity.pp.FlowCard;
+import com.example.erp.entity.sd.BasicData;
 import com.example.erp.entity.sd.OrderDetail;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
@@ -19,5 +20,15 @@
 
     List<String> getBasicWarehouse(String type);
 
+    List<BasicWarehouseType> getBasicWarehouseTypeAll();
+
+    Boolean insertBasicWarehouse(@Param("operateTypeName") String operateTypeName,
+                                 @Param("operateType") String operateType,
+                                 @Param("type") String type);
+
+    Boolean deleteBasicWarehouse(@Param("id") Long id);
+
+    Boolean updateBasicWarehouse(@Param("id") Long id,@Param("operateTypeName") String operateTypeName);
+
 
 }
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/mm/BasicWarehouseTypeService.java b/north-glass-erp/src/main/java/com/example/erp/service/mm/BasicWarehouseTypeService.java
index 5c8f60f..89b3589 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/mm/BasicWarehouseTypeService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/mm/BasicWarehouseTypeService.java
@@ -28,7 +28,6 @@
         for (BasicWarehouseType item : basicWarehouseType){
             Map<String, Object> map = new HashMap<>();
             map.put("id",item.getId());
-            map.put("OperateTypeId",item.getOperateTypeId());
             map.put("OperateTypeName",item.getOperateTypeName());
             map.put("OperateType",item.getOperateType());
             map.put("Type","");
@@ -65,5 +64,24 @@
         return BasicDataMap;
     }
 
+    public List<BasicWarehouseType> getBasicWarehouse() {
+        return basicWarehouseTypeMapper.getBasicWarehouseTypeAll();
+    }
+
+
+    public boolean addBasicWarehouse(Map<String, Object> map) {
+        List<String>  basicTypeList = (List<String>) map.get("operateType");
+        basicWarehouseTypeMapper.insertBasicWarehouse(map.get("input").toString(),basicTypeList.get(0),map.get("type").toString());
+        return true;
+    }
+
+    public boolean deleteBasicWarehouse(BasicWarehouseType basicWarehouseType) {
+        return  basicWarehouseTypeMapper.deleteBasicWarehouse(basicWarehouseType.getId());
+    }
+
+    public boolean updateBasicWarehouse(BasicWarehouseType basicWarehouseType) {
+        return  basicWarehouseTypeMapper.updateBasicWarehouse(basicWarehouseType.getId(),basicWarehouseType.getOperateTypeName());
+    }
+
 
 }
diff --git a/north-glass-erp/src/main/resources/application.yml b/north-glass-erp/src/main/resources/application.yml
index f4a4c64..37eb488 100644
--- a/north-glass-erp/src/main/resources/application.yml
+++ b/north-glass-erp/src/main/resources/application.yml
@@ -1,6 +1,6 @@
 
 server:
-  port: 8086
+  port: 8080
 
 
 spring:
@@ -10,22 +10,22 @@
       strict: false #璁剧疆涓ユ牸妯″紡,榛樿false涓嶅惎鍔�. 鍚姩鍚庡湪鏈尮閰嶅埌鎸囧畾鏁版嵁婧愭椂鍊欏洖鎶涘嚭寮傚父,涓嶅惎鍔ㄤ細浣跨敤榛樿鏁版嵁婧�.
       datasource:
         user_info:
-          url: jdbc:mysql://localhost:3306/erp_user_info?serverTimezone=GMT%2b8
+          url: jdbc:mysql://10.153.19.150:3306/erp_user_info?serverTimezone=GMT%2b8
           username: root
           password: beibo.123/
           driver-class-name: com.mysql.cj.jdbc.Driver
         sd:
-          url: jdbc:mysql://localhost:3306/sd?serverTimezone=GMT%2b8&allowMultiQueries=true
+          url: jdbc:mysql://10.153.19.150:3306/sd?serverTimezone=GMT%2b8&allowMultiQueries=true
           username: root
           password: beibo.123/
           driver-class-name: com.mysql.cj.jdbc.Driver
         mm:
-          url: jdbc:mysql://localhost:3306/mm?serverTimezone=GMT%2b8
+          url: jdbc:mysql://10.153.19.150:3306/mm?serverTimezone=GMT%2b8
           username: root
           password: beibo.123/
           driver-class-name: com.mysql.cj.jdbc.Driver
         pp:
-          url: jdbc:mysql://localhost:3306/pp?serverTimezone=GMT%2b8
+          url: jdbc:mysql://10.153.19.150:3306/pp?serverTimezone=GMT%2b8
           username: root
           password: beibo.123/
           driver-class-name: com.mysql.cj.jdbc.Driver
diff --git a/north-glass-erp/src/main/resources/mapper/mm/BasicWarehouseType.xml b/north-glass-erp/src/main/resources/mapper/mm/BasicWarehouseType.xml
index de1942f..f1ddbd1 100644
--- a/north-glass-erp/src/main/resources/mapper/mm/BasicWarehouseType.xml
+++ b/north-glass-erp/src/main/resources/mapper/mm/BasicWarehouseType.xml
@@ -20,6 +20,26 @@
         select operate_type from mm.basic_warehouse_type where type regexp #{type};
     </select>
 
+    <select id="getBasicWarehouseTypeAll" >
+        select * from mm.basic_warehouse_type where type!='鍘熺墖' and type!='杈呮枡'  order by id desc;
+    </select>
+
+    <insert id="insertBasicWarehouse"  useGeneratedKeys="true"  >
+        insert into mm.basic_warehouse_type (operate_type_name, operate_type, type, create_time
+        )
+        values (
+                   #{operateTypeName} ,#{operateType},#{type},now()
+               )
+    </insert>
+
+    <delete id="deleteBasicWarehouse"  >
+        delete from mm.basic_warehouse_type where id=#{id}
+    </delete>
+
+    <update id="updateBasicWarehouse"  >
+        update mm.basic_warehouse_type set operate_type_name=#{operateTypeName},create_time=now() where id=#{id}
+    </update>
+
 
 
 
diff --git a/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml b/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
index 4e6b812..f58be6a 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -446,7 +446,9 @@
                fc.process_id,
                SUM( od.quantity) as quantity,
                SUM(od.gross_area) as gross_area,
-               #{technologyNumber} as technologyNumber
+               SUM(od.weight) as weight,
+               #{technologyNumber} as technologyNumber,
+               concat(fc.process_id,'/',#{technologyNumber}) as  processIdNumber
         from flow_card as fc
                  left join sd.order_glass_detail as ogd
                            on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and
@@ -475,7 +477,6 @@
           and fc.technology_number = #{technologyNumber}
         group by fc.process_id, fc.order_number
         order by fc.order_number
-        limit 15
     </select>
 
     <select id="getProcessList">
diff --git a/north-glass-erp/target/classes/application.yml b/north-glass-erp/target/classes/application.yml
index f4a4c64..37eb488 100644
--- a/north-glass-erp/target/classes/application.yml
+++ b/north-glass-erp/target/classes/application.yml
@@ -1,6 +1,6 @@
 
 server:
-  port: 8086
+  port: 8080
 
 
 spring:
@@ -10,22 +10,22 @@
       strict: false #璁剧疆涓ユ牸妯″紡,榛樿false涓嶅惎鍔�. 鍚姩鍚庡湪鏈尮閰嶅埌鎸囧畾鏁版嵁婧愭椂鍊欏洖鎶涘嚭寮傚父,涓嶅惎鍔ㄤ細浣跨敤榛樿鏁版嵁婧�.
       datasource:
         user_info:
-          url: jdbc:mysql://localhost:3306/erp_user_info?serverTimezone=GMT%2b8
+          url: jdbc:mysql://10.153.19.150:3306/erp_user_info?serverTimezone=GMT%2b8
           username: root
           password: beibo.123/
           driver-class-name: com.mysql.cj.jdbc.Driver
         sd:
-          url: jdbc:mysql://localhost:3306/sd?serverTimezone=GMT%2b8&allowMultiQueries=true
+          url: jdbc:mysql://10.153.19.150:3306/sd?serverTimezone=GMT%2b8&allowMultiQueries=true
           username: root
           password: beibo.123/
           driver-class-name: com.mysql.cj.jdbc.Driver
         mm:
-          url: jdbc:mysql://localhost:3306/mm?serverTimezone=GMT%2b8
+          url: jdbc:mysql://10.153.19.150:3306/mm?serverTimezone=GMT%2b8
           username: root
           password: beibo.123/
           driver-class-name: com.mysql.cj.jdbc.Driver
         pp:
-          url: jdbc:mysql://localhost:3306/pp?serverTimezone=GMT%2b8
+          url: jdbc:mysql://10.153.19.150:3306/pp?serverTimezone=GMT%2b8
           username: root
           password: beibo.123/
           driver-class-name: com.mysql.cj.jdbc.Driver
diff --git a/north-glass-erp/target/classes/mapper/mm/BasicWarehouseType.xml b/north-glass-erp/target/classes/mapper/mm/BasicWarehouseType.xml
index de1942f..f1ddbd1 100644
--- a/north-glass-erp/target/classes/mapper/mm/BasicWarehouseType.xml
+++ b/north-glass-erp/target/classes/mapper/mm/BasicWarehouseType.xml
@@ -20,6 +20,26 @@
         select operate_type from mm.basic_warehouse_type where type regexp #{type};
     </select>
 
+    <select id="getBasicWarehouseTypeAll" >
+        select * from mm.basic_warehouse_type where type!='鍘熺墖' and type!='杈呮枡'  order by id desc;
+    </select>
+
+    <insert id="insertBasicWarehouse"  useGeneratedKeys="true"  >
+        insert into mm.basic_warehouse_type (operate_type_name, operate_type, type, create_time
+        )
+        values (
+                   #{operateTypeName} ,#{operateType},#{type},now()
+               )
+    </insert>
+
+    <delete id="deleteBasicWarehouse"  >
+        delete from mm.basic_warehouse_type where id=#{id}
+    </delete>
+
+    <update id="updateBasicWarehouse"  >
+        update mm.basic_warehouse_type set operate_type_name=#{operateTypeName},create_time=now() where id=#{id}
+    </update>
+
 
 
 
diff --git a/north-glass-erp/target/classes/mapper/pp/FolwCard.xml b/north-glass-erp/target/classes/mapper/pp/FolwCard.xml
index 4e6b812..f58be6a 100644
--- a/north-glass-erp/target/classes/mapper/pp/FolwCard.xml
+++ b/north-glass-erp/target/classes/mapper/pp/FolwCard.xml
@@ -446,7 +446,9 @@
                fc.process_id,
                SUM( od.quantity) as quantity,
                SUM(od.gross_area) as gross_area,
-               #{technologyNumber} as technologyNumber
+               SUM(od.weight) as weight,
+               #{technologyNumber} as technologyNumber,
+               concat(fc.process_id,'/',#{technologyNumber}) as  processIdNumber
         from flow_card as fc
                  left join sd.order_glass_detail as ogd
                            on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and
@@ -475,7 +477,6 @@
           and fc.technology_number = #{technologyNumber}
         group by fc.process_id, fc.order_number
         order by fc.order_number
-        limit 15
     </select>
 
     <select id="getProcessList">

--
Gitblit v1.8.0