Commit 58e98b24 by wuqian

Merge branch 'master' of http://47.99.244.21:9999/qinjianhui/factory_front into wq

parents cf737d7e 2f95fa32
...@@ -19,7 +19,8 @@ ...@@ -19,7 +19,8 @@
"splitpanes": "^3.1.5", "splitpanes": "^3.1.5",
"vue": "^3.4.19", "vue": "^3.4.19",
"vue-dompurify-html": "^5.1.0", "vue-dompurify-html": "^5.1.0",
"vue-router": "^4.3.0" "vue-router": "^4.3.0",
"vue-tsc": "^2.1.10"
}, },
"devDependencies": { "devDependencies": {
"@types/splitpanes": "^2.2.6", "@types/splitpanes": "^2.2.6",
...@@ -35,8 +36,7 @@ ...@@ -35,8 +36,7 @@
"unplugin-auto-import": "^0.17.5", "unplugin-auto-import": "^0.17.5",
"unplugin-icons": "^0.18.5", "unplugin-icons": "^0.18.5",
"unplugin-vue-components": "^0.26.0", "unplugin-vue-components": "^0.26.0",
"vite": "^5.1.4", "vite": "^5.1.4"
"vue-tsc": "^1.8.27"
} }
}, },
"node_modules/@aashutoshrathi/word-wrap": { "node_modules/@aashutoshrathi/word-wrap": {
...@@ -69,10 +69,29 @@ ...@@ -69,10 +69,29 @@
"url": "https://github.com/sponsors/antfu" "url": "https://github.com/sponsors/antfu"
} }
}, },
"node_modules/@babel/helper-string-parser": {
"version": "7.25.9",
"resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz",
"integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-validator-identifier": {
"version": "7.25.9",
"resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz",
"integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/parser": { "node_modules/@babel/parser": {
"version": "7.24.7", "version": "7.26.2",
"resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.24.7.tgz", "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.26.2.tgz",
"integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==", "integrity": "sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==",
"dependencies": {
"@babel/types": "^7.26.0"
},
"bin": { "bin": {
"parser": "bin/babel-parser.js" "parser": "bin/babel-parser.js"
}, },
...@@ -91,6 +110,18 @@ ...@@ -91,6 +110,18 @@
"node": ">=6.9.0" "node": ">=6.9.0"
} }
}, },
"node_modules/@babel/types": {
"version": "7.26.0",
"resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.26.0.tgz",
"integrity": "sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==",
"dependencies": {
"@babel/helper-string-parser": "^7.25.9",
"@babel/helper-validator-identifier": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@ctrl/tinycolor": { "node_modules/@ctrl/tinycolor": {
"version": "3.6.1", "version": "3.6.1",
"resolved": "https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", "resolved": "https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz",
...@@ -1340,31 +1371,26 @@ ...@@ -1340,31 +1371,26 @@
} }
}, },
"node_modules/@volar/language-core": { "node_modules/@volar/language-core": {
"version": "1.11.1", "version": "2.4.10",
"resolved": "https://registry.npmmirror.com/@volar/language-core/-/language-core-1.11.1.tgz", "resolved": "https://registry.npmmirror.com/@volar/language-core/-/language-core-2.4.10.tgz",
"integrity": "sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==", "integrity": "sha512-hG3Z13+nJmGaT+fnQzAkS0hjJRa2FCeqZt6Bd+oGNhUkQ+mTFsDETg5rqUTxyzIh5pSOGY7FHCWUS8G82AzLCA==",
"dev": true,
"dependencies": { "dependencies": {
"@volar/source-map": "1.11.1" "@volar/source-map": "2.4.10"
} }
}, },
"node_modules/@volar/source-map": { "node_modules/@volar/source-map": {
"version": "1.11.1", "version": "2.4.10",
"resolved": "https://registry.npmmirror.com/@volar/source-map/-/source-map-1.11.1.tgz", "resolved": "https://registry.npmmirror.com/@volar/source-map/-/source-map-2.4.10.tgz",
"integrity": "sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==", "integrity": "sha512-OCV+b5ihV0RF3A7vEvNyHPi4G4kFa6ukPmyVocmqm5QzOd8r5yAtiNvaPEjl8dNvgC/lj4JPryeeHLdXd62rWA=="
"dev": true,
"dependencies": {
"muggle-string": "^0.3.1"
}
}, },
"node_modules/@volar/typescript": { "node_modules/@volar/typescript": {
"version": "1.11.1", "version": "2.4.10",
"resolved": "https://registry.npmmirror.com/@volar/typescript/-/typescript-1.11.1.tgz", "resolved": "https://registry.npmmirror.com/@volar/typescript/-/typescript-2.4.10.tgz",
"integrity": "sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ==", "integrity": "sha512-F8ZtBMhSXyYKuBfGpYwqA5rsONnOwAVvjyE7KPYJ7wgZqo2roASqNWUnianOomJX5u1cxeRooHV59N0PhvEOgw==",
"dev": true,
"dependencies": { "dependencies": {
"@volar/language-core": "1.11.1", "@volar/language-core": "2.4.10",
"path-browserify": "^1.0.1" "path-browserify": "^1.0.1",
"vscode-uri": "^3.0.8"
} }
}, },
"node_modules/@vue/compiler-core": { "node_modules/@vue/compiler-core": {
...@@ -1413,6 +1439,15 @@ ...@@ -1413,6 +1439,15 @@
"@vue/shared": "3.4.20" "@vue/shared": "3.4.20"
} }
}, },
"node_modules/@vue/compiler-vue2": {
"version": "2.7.16",
"resolved": "https://registry.npmmirror.com/@vue/compiler-vue2/-/compiler-vue2-2.7.16.tgz",
"integrity": "sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==",
"dependencies": {
"de-indent": "^1.0.2",
"he": "^1.2.0"
}
},
"node_modules/@vue/devtools-api": { "node_modules/@vue/devtools-api": {
"version": "6.6.1", "version": "6.6.1",
"resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.6.1.tgz", "resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.6.1.tgz",
...@@ -1633,20 +1668,18 @@ ...@@ -1633,20 +1668,18 @@
} }
}, },
"node_modules/@vue/language-core": { "node_modules/@vue/language-core": {
"version": "1.8.27", "version": "2.1.10",
"resolved": "https://registry.npmmirror.com/@vue/language-core/-/language-core-1.8.27.tgz", "resolved": "https://registry.npmmirror.com/@vue/language-core/-/language-core-2.1.10.tgz",
"integrity": "sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==", "integrity": "sha512-DAI289d0K3AB5TUG3xDp9OuQ71CnrujQwJrQnfuZDwo6eGNf0UoRlPuaVNO+Zrn65PC3j0oB2i7mNmVPggeGeQ==",
"dev": true, "dependencies": {
"dependencies": { "@volar/language-core": "~2.4.8",
"@volar/language-core": "~1.11.1", "@vue/compiler-dom": "^3.5.0",
"@volar/source-map": "~1.11.1", "@vue/compiler-vue2": "^2.7.16",
"@vue/compiler-dom": "^3.3.0", "@vue/shared": "^3.5.0",
"@vue/shared": "^3.3.0", "alien-signals": "^0.2.0",
"computeds": "^0.0.1",
"minimatch": "^9.0.3", "minimatch": "^9.0.3",
"muggle-string": "^0.3.1", "muggle-string": "^0.4.1",
"path-browserify": "^1.0.1", "path-browserify": "^1.0.1"
"vue-template-compiler": "^2.7.14"
}, },
"peerDependencies": { "peerDependencies": {
"typescript": "*" "typescript": "*"
...@@ -1657,6 +1690,32 @@ ...@@ -1657,6 +1690,32 @@
} }
} }
}, },
"node_modules/@vue/language-core/node_modules/@vue/compiler-core": {
"version": "3.5.13",
"resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.5.13.tgz",
"integrity": "sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==",
"dependencies": {
"@babel/parser": "^7.25.3",
"@vue/shared": "3.5.13",
"entities": "^4.5.0",
"estree-walker": "^2.0.2",
"source-map-js": "^1.2.0"
}
},
"node_modules/@vue/language-core/node_modules/@vue/compiler-dom": {
"version": "3.5.13",
"resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.5.13.tgz",
"integrity": "sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==",
"dependencies": {
"@vue/compiler-core": "3.5.13",
"@vue/shared": "3.5.13"
}
},
"node_modules/@vue/language-core/node_modules/@vue/shared": {
"version": "3.5.13",
"resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.5.13.tgz",
"integrity": "sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ=="
},
"node_modules/@vue/reactivity": { "node_modules/@vue/reactivity": {
"version": "3.4.20", "version": "3.4.20",
"resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.4.20.tgz", "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.4.20.tgz",
...@@ -1921,6 +1980,11 @@ ...@@ -1921,6 +1980,11 @@
"url": "https://github.com/sponsors/epoberezkin" "url": "https://github.com/sponsors/epoberezkin"
} }
}, },
"node_modules/alien-signals": {
"version": "0.2.2",
"resolved": "https://registry.npmmirror.com/alien-signals/-/alien-signals-0.2.2.tgz",
"integrity": "sha512-cZIRkbERILsBOXTQmMrxc9hgpxglstn69zm+F1ARf4aPAzdAFYd6sBq87ErO0Fj3DV94tglcyHG5kQz9nDC/8A=="
},
"node_modules/ansi-regex": { "node_modules/ansi-regex": {
"version": "5.0.1", "version": "5.0.1",
"resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz", "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz",
...@@ -1996,8 +2060,7 @@ ...@@ -1996,8 +2060,7 @@
"node_modules/balanced-match": { "node_modules/balanced-match": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz", "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz",
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
"dev": true
}, },
"node_modules/binary-extensions": { "node_modules/binary-extensions": {
"version": "2.3.0", "version": "2.3.0",
...@@ -2021,7 +2084,6 @@ ...@@ -2021,7 +2084,6 @@
"version": "2.0.1", "version": "2.0.1",
"resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz", "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz",
"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
"dev": true,
"dependencies": { "dependencies": {
"balanced-match": "^1.0.0" "balanced-match": "^1.0.0"
} }
...@@ -2121,12 +2183,6 @@ ...@@ -2121,12 +2183,6 @@
"resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-1.0.20.tgz", "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-1.0.20.tgz",
"integrity": "sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==" "integrity": "sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg=="
}, },
"node_modules/computeds": {
"version": "0.0.1",
"resolved": "https://registry.npmmirror.com/computeds/-/computeds-0.0.1.tgz",
"integrity": "sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==",
"dev": true
},
"node_modules/concat-map": { "node_modules/concat-map": {
"version": "0.0.1", "version": "0.0.1",
"resolved": "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz", "resolved": "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz",
...@@ -2184,8 +2240,7 @@ ...@@ -2184,8 +2240,7 @@
"node_modules/de-indent": { "node_modules/de-indent": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmmirror.com/de-indent/-/de-indent-1.0.2.tgz", "resolved": "https://registry.npmmirror.com/de-indent/-/de-indent-1.0.2.tgz",
"integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg=="
"dev": true
}, },
"node_modules/debug": { "node_modules/debug": {
"version": "4.3.4", "version": "4.3.4",
...@@ -2979,7 +3034,6 @@ ...@@ -2979,7 +3034,6 @@
"version": "1.2.0", "version": "1.2.0",
"resolved": "https://registry.npmmirror.com/he/-/he-1.2.0.tgz", "resolved": "https://registry.npmmirror.com/he/-/he-1.2.0.tgz",
"integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
"dev": true,
"bin": { "bin": {
"he": "bin/he" "he": "bin/he"
} }
...@@ -3338,7 +3392,6 @@ ...@@ -3338,7 +3392,6 @@
"version": "6.0.0", "version": "6.0.0",
"resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz", "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
"dependencies": { "dependencies": {
"yallist": "^4.0.0" "yallist": "^4.0.0"
}, },
...@@ -3457,7 +3510,6 @@ ...@@ -3457,7 +3510,6 @@
"version": "9.0.3", "version": "9.0.3",
"resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-9.0.3.tgz", "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-9.0.3.tgz",
"integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
"dev": true,
"dependencies": { "dependencies": {
"brace-expansion": "^2.0.1" "brace-expansion": "^2.0.1"
}, },
...@@ -3487,10 +3539,9 @@ ...@@ -3487,10 +3539,9 @@
"dev": true "dev": true
}, },
"node_modules/muggle-string": { "node_modules/muggle-string": {
"version": "0.3.1", "version": "0.4.1",
"resolved": "https://registry.npmmirror.com/muggle-string/-/muggle-string-0.3.1.tgz", "resolved": "https://registry.npmmirror.com/muggle-string/-/muggle-string-0.4.1.tgz",
"integrity": "sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==", "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ=="
"dev": true
}, },
"node_modules/namespace-emitter": { "node_modules/namespace-emitter": {
"version": "2.0.1", "version": "2.0.1",
...@@ -3664,8 +3715,7 @@ ...@@ -3664,8 +3715,7 @@
"node_modules/path-browserify": { "node_modules/path-browserify": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmmirror.com/path-browserify/-/path-browserify-1.0.1.tgz", "resolved": "https://registry.npmmirror.com/path-browserify/-/path-browserify-1.0.1.tgz",
"integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g=="
"dev": true
}, },
"node_modules/path-exists": { "node_modules/path-exists": {
"version": "4.0.0", "version": "4.0.0",
...@@ -4068,7 +4118,6 @@ ...@@ -4068,7 +4118,6 @@
"version": "7.6.0", "version": "7.6.0",
"resolved": "https://registry.npmmirror.com/semver/-/semver-7.6.0.tgz", "resolved": "https://registry.npmmirror.com/semver/-/semver-7.6.0.tgz",
"integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
"dev": true,
"dependencies": { "dependencies": {
"lru-cache": "^6.0.0" "lru-cache": "^6.0.0"
}, },
...@@ -4320,7 +4369,6 @@ ...@@ -4320,7 +4369,6 @@
"version": "5.3.3", "version": "5.3.3",
"resolved": "https://registry.npmmirror.com/typescript/-/typescript-5.3.3.tgz", "resolved": "https://registry.npmmirror.com/typescript/-/typescript-5.3.3.tgz",
"integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==",
"devOptional": true,
"bin": { "bin": {
"tsc": "bin/tsc", "tsc": "bin/tsc",
"tsserver": "bin/tsserver" "tsserver": "bin/tsserver"
...@@ -4575,6 +4623,11 @@ ...@@ -4575,6 +4623,11 @@
} }
} }
}, },
"node_modules/vscode-uri": {
"version": "3.0.8",
"resolved": "https://registry.npmmirror.com/vscode-uri/-/vscode-uri-3.0.8.tgz",
"integrity": "sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw=="
},
"node_modules/vue": { "node_modules/vue": {
"version": "3.4.20", "version": "3.4.20",
"resolved": "https://registry.npmmirror.com/vue/-/vue-3.4.20.tgz", "resolved": "https://registry.npmmirror.com/vue/-/vue-3.4.20.tgz",
...@@ -4674,26 +4727,27 @@ ...@@ -4674,26 +4727,27 @@
"resolved": "https://registry.npmmirror.com/vue-template-compiler/-/vue-template-compiler-2.7.16.tgz", "resolved": "https://registry.npmmirror.com/vue-template-compiler/-/vue-template-compiler-2.7.16.tgz",
"integrity": "sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==", "integrity": "sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==",
"dev": true, "dev": true,
"optional": true,
"peer": true,
"dependencies": { "dependencies": {
"de-indent": "^1.0.2", "de-indent": "^1.0.2",
"he": "^1.2.0" "he": "^1.2.0"
} }
}, },
"node_modules/vue-tsc": { "node_modules/vue-tsc": {
"version": "1.8.27", "version": "2.1.10",
"resolved": "https://registry.npmmirror.com/vue-tsc/-/vue-tsc-1.8.27.tgz", "resolved": "https://registry.npmmirror.com/vue-tsc/-/vue-tsc-2.1.10.tgz",
"integrity": "sha512-WesKCAZCRAbmmhuGl3+VrdWItEvfoFIPXOvUJkjULi+x+6G/Dy69yO3TBRJDr9eUlmsNAwVmxsNZxvHKzbkKdg==", "integrity": "sha512-RBNSfaaRHcN5uqVqJSZh++Gy/YUzryuv9u1aFWhsammDJXNtUiJMNoJ747lZcQ68wUQFx6E73y4FY3D8E7FGMA==",
"dev": true,
"dependencies": { "dependencies": {
"@volar/typescript": "~1.11.1", "@volar/typescript": "~2.4.8",
"@vue/language-core": "1.8.27", "@vue/language-core": "2.1.10",
"semver": "^7.5.4" "semver": "^7.5.4"
}, },
"bin": { "bin": {
"vue-tsc": "bin/vue-tsc.js" "vue-tsc": "bin/vue-tsc.js"
}, },
"peerDependencies": { "peerDependencies": {
"typescript": "*" "typescript": ">=5.0.0"
} }
}, },
"node_modules/webpack-sources": { "node_modules/webpack-sources": {
...@@ -4749,8 +4803,7 @@ ...@@ -4749,8 +4803,7 @@
"node_modules/yallist": { "node_modules/yallist": {
"version": "4.0.0", "version": "4.0.0",
"resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz", "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
"dev": true
}, },
"node_modules/yocto-queue": { "node_modules/yocto-queue": {
"version": "0.1.0", "version": "0.1.0",
......
...@@ -21,7 +21,8 @@ ...@@ -21,7 +21,8 @@
"splitpanes": "^3.1.5", "splitpanes": "^3.1.5",
"vue": "^3.4.19", "vue": "^3.4.19",
"vue-dompurify-html": "^5.1.0", "vue-dompurify-html": "^5.1.0",
"vue-router": "^4.3.0" "vue-router": "^4.3.0",
"vue-tsc": "^2.1.10"
}, },
"devDependencies": { "devDependencies": {
"@types/splitpanes": "^2.2.6", "@types/splitpanes": "^2.2.6",
...@@ -37,7 +38,6 @@ ...@@ -37,7 +38,6 @@
"unplugin-auto-import": "^0.17.5", "unplugin-auto-import": "^0.17.5",
"unplugin-icons": "^0.18.5", "unplugin-icons": "^0.18.5",
"unplugin-vue-components": "^0.26.0", "unplugin-vue-components": "^0.26.0",
"vite": "^5.1.4", "vite": "^5.1.4"
"vue-tsc": "^1.8.27"
} }
} }
...@@ -101,12 +101,13 @@ export function getOrderBySubOrderNumber(orderNumber: string) { ...@@ -101,12 +101,13 @@ export function getOrderBySubOrderNumber(orderNumber: string) {
) )
} }
export function getQaOrderBySubOrderNumber(orderNumber: string) { export function getQaOrderBySubOrderNumber(orderNumber: string,shipmentUid?:string) {
return axios.get<never, BaseRespData<QaData[]>>( return axios.get<never, BaseRespData<QaData[]>>(
'factory/customJomallOrder/inspectionQuery', 'factory/customJomallOrder/inspectionQuery',
{ {
params: { params: {
subOrderNumber: orderNumber, subOrderNumber: orderNumber,
shipmentUid:shipmentUid,
}, },
}, },
) )
......
...@@ -196,6 +196,8 @@ export interface LogListData { ...@@ -196,6 +196,8 @@ export interface LogListData {
export interface QaData { export interface QaData {
orderNumber?: string orderNumber?: string
namespace?: string namespace?: string
scansNum?: number
shipmentUid?: string
billNumber?: string billNumber?: string
subOrderNumber?: string subOrderNumber?: string
baseSku?: string baseSku?: string
......
...@@ -81,22 +81,29 @@ ...@@ -81,22 +81,29 @@
header-align="center" header-align="center"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="扫描数量"
prop="scansNum"
width="80"
align="center"
header-align="center"
></el-table-column>
<el-table-column
label="质检通过" label="质检通过"
prop="passNum" prop="passNum"
width="90" width="80"
align="center" align="center"
header-align="center" header-align="center"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="未通过" label="未通过"
prop="notPassNum" prop="notPassNum"
width="90" width="80"
align="center" align="center"
header-align="center" header-align="center"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="是否质检" label="是否质检"
width="90" width="80"
align="center" align="center"
header-align="center" header-align="center"
> >
...@@ -184,7 +191,7 @@ ...@@ -184,7 +191,7 @@
<div class="left-qa-order-basic-info_item"> <div class="left-qa-order-basic-info_item">
<span class="label">发货方式:</span> <span class="label">发货方式:</span>
<span class="value"> <span class="value">
{{ currentRow.shippingWay == 1 ? '送货上门' : '快递' || '--' }} {{ currentRow.shippingWay ? currentRow.shippingWay == 1 ? '送货上门' : '快递' : '--'}}
</span> </span>
</div> </div>
<div class="left-qa-order-basic-info_item"> <div class="left-qa-order-basic-info_item">
...@@ -378,6 +385,7 @@ const { ...@@ -378,6 +385,7 @@ const {
onRowClick, onRowClick,
} = props.quarantine } = props.quarantine
const tableRowClassName = ({ row }: { row: QaData }) => { const tableRowClassName = ({ row }: { row: QaData }) => {
if (row.subOrderNumber === currentRow.value.subOrderNumber) { if (row.subOrderNumber === currentRow.value.subOrderNumber) {
return 'current-row-active' return 'current-row-active'
} else { } else {
......
...@@ -10,6 +10,7 @@ export default function useQuarantine() { ...@@ -10,6 +10,7 @@ export default function useQuarantine() {
const quarantineVisible = ref(false) const quarantineVisible = ref(false)
const qaCode = ref('') const qaCode = ref('')
const shipmentUid = ref('')
const qaInputRef = ref() const qaInputRef = ref()
const isLock = ref(false) const isLock = ref(false)
const cloneRow = ref<QaData>({} as QaData) const cloneRow = ref<QaData>({} as QaData)
...@@ -24,6 +25,8 @@ export default function useQuarantine() { ...@@ -24,6 +25,8 @@ export default function useQuarantine() {
resetOrderList() resetOrderList()
resetCurrentRow() resetCurrentRow()
dzjTotal.value = 0 dzjTotal.value = 0
shipmentUid.value = ''
qaCode.value = ''
yzjTotal.value = 0 yzjTotal.value = 0
allTotal.value = 0 allTotal.value = 0
} }
...@@ -31,7 +34,19 @@ export default function useQuarantine() { ...@@ -31,7 +34,19 @@ export default function useQuarantine() {
if (sourceData.value.length == 0) return false if (sourceData.value.length == 0) return false
return sourceData.value.some((item) => item.isCheck) return sourceData.value.some((item) => item.isCheck)
}) })
const findAllIndex = (code: string) => {
const indexList: number[] = []
sourceData.value.forEach((el, index) => {
if (el.factorySubOrderNumber === code && el.shipmentNum !== el.scansNum) {
indexList.push(index)
}
})
return indexList
}
const searchQaByOrderNumber = () => { const searchQaByOrderNumber = () => {
const uid = shipmentUid.value
const code = qaCode.value const code = qaCode.value
if (!code) { if (!code) {
isLock.value = false isLock.value = false
...@@ -45,10 +60,15 @@ export default function useQuarantine() { ...@@ -45,10 +60,15 @@ export default function useQuarantine() {
if (isLock.value) { if (isLock.value) {
qaInputRef.value.focus() qaInputRef.value.focus()
qaCode.value = '' qaCode.value = ''
shipmentUid.value = ''
return return
} }
isLock.value = true isLock.value = true
const code1 = code?.split('_')[0] const code1 = code?.split('_')[0]
const index = sourceData.value.findIndex(
(item) =>
item.factorySubOrderNumber == code1 || item.subOrderNumber == code1,
)
// 如果扫单号没有包含当前的生产单号 // 如果扫单号没有包含当前的生产单号
const isIncluned = sourceData.value.some( const isIncluned = sourceData.value.some(
(item) => (item) =>
...@@ -56,14 +76,14 @@ export default function useQuarantine() { ...@@ -56,14 +76,14 @@ export default function useQuarantine() {
) )
if (isQaed.value && !isIncluned) { if (isQaed.value && !isIncluned) {
saveQuarantine(() => { saveQuarantine(() => {
loadShipmentOrderByCode(code) loadShipmentOrderByCode(code, uid)
}) })
} else { } else {
// 如果质检未完成 // 如果质检未完成
// 查找是否已经存在 // 查找是否已经存在
const row = sourceData.value.find( const row = sourceData.value.find(
(item) => (item) =>
item.factorySubOrderNumber == code1 || item.subOrderNumber == code1, (uid === item.shipmentUid && (code1 === item.subOrderNumber || item.factorySubOrderNumber == code1)) || (!uid && (item.factorySubOrderNumber == code1 || item.subOrderNumber == code1)),
) )
if (row) { if (row) {
// 质检数量不能大于发货数量 // 质检数量不能大于发货数量
...@@ -72,6 +92,7 @@ export default function useQuarantine() { ...@@ -72,6 +92,7 @@ export default function useQuarantine() {
qaInputRef.value.focus() qaInputRef.value.focus()
isLock.value = false isLock.value = false
qaCode.value = '' qaCode.value = ''
shipmentUid.value = ''
playAudio('picking_beyond') playAudio('picking_beyond')
return ElMessage({ return ElMessage({
message: '质检数量不能大于发货数量', message: '质检数量不能大于发货数量',
...@@ -79,6 +100,23 @@ export default function useQuarantine() { ...@@ -79,6 +100,23 @@ export default function useQuarantine() {
offset: window.innerHeight / 2, offset: window.innerHeight / 2,
}) })
} }
const len = sourceData.value.filter(el => el.factorySubOrderNumber == code1 || code1 === el.subOrderNumber)
const scansNum = sourceData.value[index].scansNum || 0
const indexList = findAllIndex(code1)
if (len.length > 1) {
sourceData.value.forEach((el, i) => {
console.log(el)
if (indexList.length > 0 && i === indexList[0]) {
sourceData.value[i]['scansNum'] = scansNum + 1
}
})
} else {
if (row.shipmentNum !== scansNum) {
sourceData.value[index]['scansNum'] = scansNum + 1
}
}
playAudio('picking_check_success') playAudio('picking_check_success')
// row.passNum = row.shipmentNum // row.passNum = row.shipmentNum
qaInputRef.value.focus() qaInputRef.value.focus()
...@@ -86,29 +124,34 @@ export default function useQuarantine() { ...@@ -86,29 +124,34 @@ export default function useQuarantine() {
cloneRow.value = JSON.parse(JSON.stringify(currentRow.value)) cloneRow.value = JSON.parse(JSON.stringify(currentRow.value))
isLock.value = false isLock.value = false
qaCode.value = '' qaCode.value = ''
shipmentUid.value = ''
} else { } else {
loadShipmentOrderByCode(code) loadShipmentOrderByCode(code, uid)
} }
} }
} }
const loadShipmentOrderByCode = async (code: string) => { const loadShipmentOrderByCode = async (code: string, uid: string) => {
try { try {
const res = await getQaOrderBySubOrderNumber(code) const res = await getQaOrderBySubOrderNumber(code, uid)
const code1 = code?.split('_')[0] const code1 = code?.split('_')[0]
res.data = res.data.map((item) => { res.data = res.data.map((item: QaData) => {
return { return {
...item, ...item,
scansNum: item.inspectionStatus ? item.passNum : 0,
isCheck: item.inspectionStatus, isCheck: item.inspectionStatus,
} }
}) })
// 删除旧的inspectionStatus // 删除旧的inspectionStatus
res.data = res.data.map(({ inspectionStatus, ...rest }) => rest) res.data = res.data.map(({ inspectionStatus, ...rest }) => {
console.log(inspectionStatus)
return rest
})
res.data.sort((a, b) => res.data.sort((a, b) =>
a.isCheck === b.isCheck ? 0 : a.isCheck ? 1 : -1, a.isCheck === b.isCheck ? 0 : a.isCheck ? 1 : -1,
) //false在前,true在后 ) //false在前,true在后
activeTab.value = 'all' activeTab.value = 'all'
sourceData.value = res.data sourceData.value = sourceData.value.concat(res.data)
_sourceData.value = res.data _sourceData.value = _sourceData.value.concat(res.data)
allTotal.value = _sourceData.value.length allTotal.value = _sourceData.value.length
dzjTotal.value = res.data.filter( dzjTotal.value = res.data.filter(
(e) => (e) =>
...@@ -120,27 +163,38 @@ export default function useQuarantine() { ...@@ -120,27 +163,38 @@ export default function useQuarantine() {
Number(e.shipmentNum || 0) === Number(e.shipmentNum || 0) ===
Number(e.passNum || 0) + Number(e.notPassNum || 0), Number(e.passNum || 0) + Number(e.notPassNum || 0),
).length ).length
const row = sourceData.value.find( const row = sourceData.value.find(item => {
(item) => return (uid === item.shipmentUid && (code1 === item.subOrderNumber || item.factorySubOrderNumber == code1)) || (!uid && (item.factorySubOrderNumber == code1 || item.subOrderNumber == code1))
item.factorySubOrderNumber == code1 || item.subOrderNumber == code1, })
) const index = sourceData.value.findIndex(item => {
return (uid === item.shipmentUid && (code1 === item.subOrderNumber || item.factorySubOrderNumber == code1)) || (!uid && (item.factorySubOrderNumber == code1 || item.subOrderNumber == code1))
})
if (row) { if (row) {
// row.passNum += 1 // row.passNum += 1
currentRow.value = row currentRow.value = row
cloneRow.value = JSON.parse(JSON.stringify(currentRow.value)) cloneRow.value = JSON.parse(JSON.stringify(currentRow.value))
if (!row.inspectionStatus && !sourceData.value[index].scansNum) sourceData.value[index].scansNum = 1
} }
qaInputRef.value.focus() qaInputRef.value.focus()
isLock.value = false isLock.value = false
qaCode.value = '' qaCode.value = ''
shipmentUid.value = ''
playAudio('picking_search_success') playAudio('picking_search_success')
} catch (e) { } catch (e) {
qaInputRef.value.focus() qaInputRef.value.focus()
isLock.value = false isLock.value = false
qaCode.value = '' qaCode.value = ''
shipmentUid.value = ''
// showError(e) // showError(e)
playAudio('picking_search_error') playAudio('picking_search_error')
} }
} }
const toSaveQuarantine = async () => {
await saveQuarantine(() => {
sourceData.value = []
_sourceData.value = []
})
}
// 质检完成 // 质检完成
const saveQuarantine = async (callback?: () => void) => { const saveQuarantine = async (callback?: () => void) => {
try { try {
...@@ -157,10 +211,11 @@ export default function useQuarantine() { ...@@ -157,10 +211,11 @@ export default function useQuarantine() {
remark: item.remark || '', remark: item.remark || '',
})) }))
await qaFinishedApi(data) await qaFinishedApi(data)
sourceData.value = [] // sourceData.value = []
isLock.value = false isLock.value = false
qaInputRef.value.focus() qaInputRef.value.focus()
qaCode.value = '' qaCode.value = ''
shipmentUid.value = ''
currentRow.value = {} currentRow.value = {}
cloneRow.value = JSON.parse(JSON.stringify(currentRow.value)) cloneRow.value = JSON.parse(JSON.stringify(currentRow.value))
allTotal.value = 0 allTotal.value = 0
...@@ -316,6 +371,7 @@ export default function useQuarantine() { ...@@ -316,6 +371,7 @@ export default function useQuarantine() {
return { return {
quarantineVisible, quarantineVisible,
qaCode, qaCode,
shipmentUid,
qaInputRef, qaInputRef,
allTotal, allTotal,
dzjTotal, dzjTotal,
...@@ -326,6 +382,7 @@ export default function useQuarantine() { ...@@ -326,6 +382,7 @@ export default function useQuarantine() {
confirmCheck, confirmCheck,
searchQaByOrderNumber, searchQaByOrderNumber,
saveQuarantine, saveQuarantine,
toSaveQuarantine,
onQaDialogOpened, onQaDialogOpened,
onChangeTab, onChangeTab,
onSuccessQc, onSuccessQc,
......
import { getOrderBySubOrderNumber, saveOrder } from '@/api/order' import { getOrderBySubOrderNumber, saveOrder } from '@/api/order'
import { import { ICompareObjects, OrderData, ProductList, ShipmentForm, ShipmentOrderRes } from '@/types/api/order'
OrderData,
ProductList,
ShipmentForm,
ShipmentOrderRes,
ICompareObjects,
} from '@/types/api/order'
import { useValue } from '@/utils/hooks/useValue' import { useValue } from '@/utils/hooks/useValue'
import { nextTick, ref } from 'vue' import { nextTick, ref } from 'vue'
import { ShipmentType } from '../Shipment.vue' import { ShipmentType } from '../Shipment.vue'
export default function useShipment(callback?: () => void) { export default function useShipment(callback?: () => void) {
const [orderList, resetOrderList] = useValue<OrderData[]>([]) const [orderList, resetOrderList] = useValue<OrderData[]>([])
const [shipmentForm, resetShipmentForm] = useValue<ShipmentForm>({ const [shipmentForm, resetShipmentForm] = useValue<ShipmentForm>({
...@@ -57,14 +52,15 @@ export default function useShipment(callback?: () => void) { ...@@ -57,14 +52,15 @@ export default function useShipment(callback?: () => void) {
(rowData.shipmentNum || 0) + (rowData.shipmentNum || 0) +
(rowData.notPassNum || 0) (rowData.notPassNum || 0)
if (unShipmentNum > (rowData.count || 0)) { if (unShipmentNum > (rowData.count || 0)) {
rowData.count = unShipmentNum rowData.count = (rowData.count || 0) + 1
playAudio('picking_check_success') playAudio('picking_check_success')
if (+rowData.count > 1) { // if (+rowData.count > 1) {
ElMessageBox.confirm(`该产品未发数为${rowData.count}件`, '重要提示', { // ElMessageBox.confirm(`该产品未发数为${rowData.count}件`, '重要提示', {
confirmButtonText: '确定', // confirmButtonText: '确定',
type: 'warning', // type: 'warning',
}).catch(() => {}) // }).catch(() => {
} // })
// }
} else { } else {
playAudio('picking_beyond') playAudio('picking_beyond')
ElMessage({ ElMessage({
...@@ -102,7 +98,8 @@ export default function useShipment(callback?: () => void) { ...@@ -102,7 +98,8 @@ export default function useShipment(callback?: () => void) {
ElMessageBox.confirm('不能加入,地址信息不一致!', '重要提示', { ElMessageBox.confirm('不能加入,地址信息不一致!', '重要提示', {
confirmButtonText: '确定', confirmButtonText: '确定',
type: 'warning', type: 'warning',
}).catch(() => {}) }).catch(() => {
})
} else { } else {
canJoin(res.data, code) canJoin(res.data, code)
} }
...@@ -121,20 +118,20 @@ export default function useShipment(callback?: () => void) { ...@@ -121,20 +118,20 @@ export default function useShipment(callback?: () => void) {
shipmentLoading.value = false shipmentLoading.value = false
} }
} }
const canJoin = async (data: any, code: string) => { const canJoin = async (data: OrderData, code: string) => {
const code1 = code?.split('_')[0] const code1 = code?.split('_')[0]
for (const item of data.productList || []) { for (const item of data.productList || []) {
item.count = 0 item.count = 0
if (item.subOrderNumber === code1) { if (item.subOrderNumber === code1) {
item.count = item.count = 1
(item.num || 0) - ((item.shipmentNum || 0) - (item.notPassNum || 0))
if (+item.count > 1) { // if (+item.count > 1) {
ElMessageBox.confirm(`该产品未发数为${item.count}件`, '重要提示', { // ElMessageBox.confirm(`该产品未发数为${item.count}件`, '重要提示', {
confirmButtonText: '确定', // confirmButtonText: '确定',
type: 'warning', // type: 'warning',
}).catch(() => {}) // }).catch(() => {
} // })
// }
currentRow.value = item currentRow.value = item
if (currentRow.value) { if (currentRow.value) {
...@@ -215,7 +212,26 @@ export default function useShipment(callback?: () => void) { ...@@ -215,7 +212,26 @@ export default function useShipment(callback?: () => void) {
}) })
try { try {
const res = await saveOrder(data, shipmentForm.value) const res = await saveOrder(data, shipmentForm.value)
ElMessage.success(res.message) fetch(res.message || '')
.then(response => {
// 确保响应是 OK
if (!response.ok) {
throw new Error('网络响应错误')
}
// 返回图片的二进制数据(Blob)
return response.blob()
})
.then(blob => {
const a = document.createElement('a')
a.href = window.URL.createObjectURL(blob)
a.target = '_blank'
a.download = (res.message as string).split('/')[ (res.message as string).split('/').length - 1]
a.click()
})
.catch(error => {
console.error('下载图片时出错:', error)
})
ElMessage.success('发货成功')
shipmentVisible.value = false shipmentVisible.value = false
callback && callback() callback && callback()
} catch (e) { } catch (e) {
......
...@@ -503,6 +503,16 @@ ...@@ -503,6 +503,16 @@
}}</span> }}</span>
</div> </div>
<div <div
v-if="scope.row.shipmentUid"
:title="scope.row.shipmentUid"
class="order-detail_item"
>
<span class="label">提货码:</span>
<span class="value" :title="scope.row.shipmentUid">{{
scope.row.shipmentUid
}}</span>
</div>
<div
:title="scope.row.lanshouPost" :title="scope.row.lanshouPost"
class="order-detail_item" class="order-detail_item"
> >
...@@ -696,6 +706,14 @@ ...@@ -696,6 +706,14 @@
row.lanshouRegion + row.lanshouAddress row.lanshouRegion + row.lanshouAddress
}}</span> }}</span>
</div> </div>
<div class="order-list-expand_item_info_title">
<span class="order-list-expand_item_label"
>提货码:</span
>
<span class="order-list-expand_item_value">{{
row.shipmentUid
}}</span>
</div>
</div> </div>
</div> </div>
<div class="order-operate"> <div class="order-operate">
...@@ -864,6 +882,12 @@ ...@@ -864,6 +882,12 @@
> >
<div class="header-search"> <div class="header-search">
<el-input <el-input
v-model="shipmentUid"
style="width: 300px;"
placeholder="请输入提货码"
size="large"
clearable />
<el-input
ref="qaInputRef" ref="qaInputRef"
v-model="qaCode" v-model="qaCode"
clearable clearable
...@@ -881,7 +905,7 @@ ...@@ -881,7 +905,7 @@
<el-button size="large" @click="quarantineVisible = false" <el-button size="large" @click="quarantineVisible = false"
>取消 >取消
</el-button> </el-button>
<el-button size="large" type="primary" @click="() => saveQuarantine()" <el-button size="large" type="primary" @click="() => toSaveQuarantine()"
>质检完成 >质检完成
</el-button> </el-button>
</div> </div>
...@@ -1187,8 +1211,10 @@ const { ...@@ -1187,8 +1211,10 @@ const {
quarantineVisible, quarantineVisible,
qaInputRef, qaInputRef,
qaCode, qaCode,
shipmentUid,
searchQaByOrderNumber, searchQaByOrderNumber,
saveQuarantine, saveQuarantine,
toSaveQuarantine,
confirmCheck, confirmCheck,
onQaDialogOpened, onQaDialogOpened,
} = quarantine } = quarantine
......
...@@ -257,6 +257,7 @@ const getStatusList = async () => { ...@@ -257,6 +257,7 @@ const getStatusList = async () => {
treeData.value[0].children = res.data.slice(1) treeData.value[0].children = res.data.slice(1)
nextTick(() => { nextTick(() => {
treeRef.value.setCurrentKey(treeId.value, true) treeRef.value.setCurrentKey(treeId.value, true)
}) })
} catch (e) { } catch (e) {
console.error(e) console.error(e)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment