forked from BaoKaiWms/202501-Wms-Kate-Wuxi
1. 增加图纸预览及下载功能
2. 升级element-plus至最新版
This commit is contained in:
parent
3378c6d35a
commit
7ae89eca8a
77
dev_wms_client/package-lock.json
generated
77
dev_wms_client/package-lock.json
generated
|
|
@ -8,9 +8,10 @@
|
||||||
"name": "wms",
|
"name": "wms",
|
||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@element-plus/icons-vue": "^2.3.1",
|
||||||
"axios": "^1.3.3",
|
"axios": "^1.3.3",
|
||||||
"core-js": "^3.8.3",
|
"core-js": "^3.8.3",
|
||||||
"element-plus": "^2.4.0",
|
"element-plus": "^2.9.8",
|
||||||
"file-saver": "^2.0.5",
|
"file-saver": "^2.0.5",
|
||||||
"moment": "^2.29.4",
|
"moment": "^2.29.4",
|
||||||
"node-polyfill-webpack-plugin": "^2.0.1",
|
"node-polyfill-webpack-plugin": "^2.0.1",
|
||||||
|
|
@ -31,8 +32,8 @@
|
||||||
"@vue/cli-plugin-router": "~5.0.0",
|
"@vue/cli-plugin-router": "~5.0.0",
|
||||||
"@vue/cli-plugin-vuex": "~5.0.0",
|
"@vue/cli-plugin-vuex": "~5.0.0",
|
||||||
"@vue/cli-service": "~5.0.0",
|
"@vue/cli-service": "~5.0.0",
|
||||||
"sass": "^1.83.4",
|
"sass": "^1.87.0",
|
||||||
"sass-loader": "^16.0.4"
|
"sass-loader": "^16.0.5"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@achrinza/node-ipc": {
|
"node_modules/@achrinza/node-ipc": {
|
||||||
|
|
@ -1736,9 +1737,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@element-plus/icons-vue": {
|
"node_modules/@element-plus/icons-vue": {
|
||||||
"version": "2.0.10",
|
"version": "2.3.1",
|
||||||
"resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.0.10.tgz",
|
"resolved": "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz",
|
||||||
"integrity": "sha512-ygEZ1mwPjcPo/OulhzLE7mtDrQBWI8vZzEWSNB2W/RNCRjoQGwbaK4N8lV4rid7Ts4qvySU3njMN7YCiSlSaTQ==",
|
"integrity": "sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==",
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"vue": "^3.2.0"
|
"vue": "^3.2.0"
|
||||||
}
|
}
|
||||||
|
|
@ -5131,9 +5132,9 @@
|
||||||
"integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w=="
|
"integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w=="
|
||||||
},
|
},
|
||||||
"node_modules/dayjs": {
|
"node_modules/dayjs": {
|
||||||
"version": "1.11.7",
|
"version": "1.11.13",
|
||||||
"resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.7.tgz",
|
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz",
|
||||||
"integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ=="
|
"integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg=="
|
||||||
},
|
},
|
||||||
"node_modules/debug": {
|
"node_modules/debug": {
|
||||||
"version": "4.3.4",
|
"version": "4.3.4",
|
||||||
|
|
@ -5555,19 +5556,19 @@
|
||||||
"integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA=="
|
"integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA=="
|
||||||
},
|
},
|
||||||
"node_modules/element-plus": {
|
"node_modules/element-plus": {
|
||||||
"version": "2.4.0",
|
"version": "2.9.8",
|
||||||
"resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.9.8.tgz",
|
||||||
"integrity": "sha512-yJEa8LXkGOOgkfkeqMMEdeX/Dc8EH9qPcRuX91dlhSXxgCKKbp9tH3QFTOG99ibZsrN/Em62nh7ddvbc7I1frw==",
|
"integrity": "sha512-srViUaUdfblBKGMeuEPiXxxKlH5aUmKqEwmhb/At9Sj91DbU6od/jYN1955cTnzt3wTSA7GfnZF7UiRX9sdRHg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@ctrl/tinycolor": "^3.4.1",
|
"@ctrl/tinycolor": "^3.4.1",
|
||||||
"@element-plus/icons-vue": "^2.0.6",
|
"@element-plus/icons-vue": "^2.3.1",
|
||||||
"@floating-ui/dom": "^1.0.1",
|
"@floating-ui/dom": "^1.0.1",
|
||||||
"@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7",
|
"@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7",
|
||||||
"@types/lodash": "^4.14.182",
|
"@types/lodash": "^4.14.182",
|
||||||
"@types/lodash-es": "^4.17.6",
|
"@types/lodash-es": "^4.17.6",
|
||||||
"@vueuse/core": "^9.1.0",
|
"@vueuse/core": "^9.1.0",
|
||||||
"async-validator": "^4.2.5",
|
"async-validator": "^4.2.5",
|
||||||
"dayjs": "^1.11.3",
|
"dayjs": "^1.11.13",
|
||||||
"escape-html": "^1.0.3",
|
"escape-html": "^1.0.3",
|
||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
"lodash-es": "^4.17.21",
|
"lodash-es": "^4.17.21",
|
||||||
|
|
@ -10142,11 +10143,10 @@
|
||||||
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
|
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
|
||||||
},
|
},
|
||||||
"node_modules/sass": {
|
"node_modules/sass": {
|
||||||
"version": "1.83.4",
|
"version": "1.87.0",
|
||||||
"resolved": "https://registry.npmjs.org/sass/-/sass-1.83.4.tgz",
|
"resolved": "https://registry.npmjs.org/sass/-/sass-1.87.0.tgz",
|
||||||
"integrity": "sha512-B1bozCeNQiOgDcLd33e2Cs2U60wZwjUUXzh900ZyQF5qUasvMdDZYbQ566LJu7cqR+sAHlAfO6RMkaID5s6qpA==",
|
"integrity": "sha512-d0NoFH4v6SjEK7BoX810Jsrhj7IQSYHAHLi/iSpgqKc7LaIDshFRlSg5LOymf9FqQhxEHs2W5ZQXlvy0KD45Uw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"chokidar": "^4.0.0",
|
"chokidar": "^4.0.0",
|
||||||
"immutable": "^5.0.2",
|
"immutable": "^5.0.2",
|
||||||
|
|
@ -10163,11 +10163,10 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/sass-loader": {
|
"node_modules/sass-loader": {
|
||||||
"version": "16.0.4",
|
"version": "16.0.5",
|
||||||
"resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.4.tgz",
|
"resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.5.tgz",
|
||||||
"integrity": "sha512-LavLbgbBGUt3wCiYzhuLLu65+fWXaXLmq7YxivLhEqmiupCFZ5sKUAipK3do6V80YSU0jvSxNhEdT13IXNr3rg==",
|
"integrity": "sha512-oL+CMBXrj6BZ/zOq4os+UECPL+bWqt6OAC6DWS8Ln8GZRcMDjlJ4JC3FBDuHJdYaFWIdKNIBYmtZtK2MaMkNIw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"neo-async": "^2.6.2"
|
"neo-async": "^2.6.2"
|
||||||
},
|
},
|
||||||
|
|
@ -13393,9 +13392,9 @@
|
||||||
"integrity": "sha512-tlJpwF40DEQcfR/QF+wNMVyGMaO9FQp6Z1Wahj4Gk3CJQYHwA2xVG7iKDFdW6zuxZY9XWOpGcfNCTsX4McOsOg=="
|
"integrity": "sha512-tlJpwF40DEQcfR/QF+wNMVyGMaO9FQp6Z1Wahj4Gk3CJQYHwA2xVG7iKDFdW6zuxZY9XWOpGcfNCTsX4McOsOg=="
|
||||||
},
|
},
|
||||||
"@element-plus/icons-vue": {
|
"@element-plus/icons-vue": {
|
||||||
"version": "2.0.10",
|
"version": "2.3.1",
|
||||||
"resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.0.10.tgz",
|
"resolved": "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz",
|
||||||
"integrity": "sha512-ygEZ1mwPjcPo/OulhzLE7mtDrQBWI8vZzEWSNB2W/RNCRjoQGwbaK4N8lV4rid7Ts4qvySU3njMN7YCiSlSaTQ==",
|
"integrity": "sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==",
|
||||||
"requires": {}
|
"requires": {}
|
||||||
},
|
},
|
||||||
"@eslint/eslintrc": {
|
"@eslint/eslintrc": {
|
||||||
|
|
@ -16078,9 +16077,9 @@
|
||||||
"integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w=="
|
"integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w=="
|
||||||
},
|
},
|
||||||
"dayjs": {
|
"dayjs": {
|
||||||
"version": "1.11.7",
|
"version": "1.11.13",
|
||||||
"resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.7.tgz",
|
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz",
|
||||||
"integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ=="
|
"integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg=="
|
||||||
},
|
},
|
||||||
"debug": {
|
"debug": {
|
||||||
"version": "4.3.4",
|
"version": "4.3.4",
|
||||||
|
|
@ -16415,19 +16414,19 @@
|
||||||
"integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA=="
|
"integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA=="
|
||||||
},
|
},
|
||||||
"element-plus": {
|
"element-plus": {
|
||||||
"version": "2.4.0",
|
"version": "2.9.8",
|
||||||
"resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.9.8.tgz",
|
||||||
"integrity": "sha512-yJEa8LXkGOOgkfkeqMMEdeX/Dc8EH9qPcRuX91dlhSXxgCKKbp9tH3QFTOG99ibZsrN/Em62nh7ddvbc7I1frw==",
|
"integrity": "sha512-srViUaUdfblBKGMeuEPiXxxKlH5aUmKqEwmhb/At9Sj91DbU6od/jYN1955cTnzt3wTSA7GfnZF7UiRX9sdRHg==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@ctrl/tinycolor": "^3.4.1",
|
"@ctrl/tinycolor": "^3.4.1",
|
||||||
"@element-plus/icons-vue": "^2.0.6",
|
"@element-plus/icons-vue": "^2.3.1",
|
||||||
"@floating-ui/dom": "^1.0.1",
|
"@floating-ui/dom": "^1.0.1",
|
||||||
"@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7",
|
"@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7",
|
||||||
"@types/lodash": "^4.14.182",
|
"@types/lodash": "^4.14.182",
|
||||||
"@types/lodash-es": "^4.17.6",
|
"@types/lodash-es": "^4.17.6",
|
||||||
"@vueuse/core": "^9.1.0",
|
"@vueuse/core": "^9.1.0",
|
||||||
"async-validator": "^4.2.5",
|
"async-validator": "^4.2.5",
|
||||||
"dayjs": "^1.11.3",
|
"dayjs": "^1.11.13",
|
||||||
"escape-html": "^1.0.3",
|
"escape-html": "^1.0.3",
|
||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
"lodash-es": "^4.17.21",
|
"lodash-es": "^4.17.21",
|
||||||
|
|
@ -20029,9 +20028,9 @@
|
||||||
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
|
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
|
||||||
},
|
},
|
||||||
"sass": {
|
"sass": {
|
||||||
"version": "1.83.4",
|
"version": "1.87.0",
|
||||||
"resolved": "https://registry.npmjs.org/sass/-/sass-1.83.4.tgz",
|
"resolved": "https://registry.npmjs.org/sass/-/sass-1.87.0.tgz",
|
||||||
"integrity": "sha512-B1bozCeNQiOgDcLd33e2Cs2U60wZwjUUXzh900ZyQF5qUasvMdDZYbQ566LJu7cqR+sAHlAfO6RMkaID5s6qpA==",
|
"integrity": "sha512-d0NoFH4v6SjEK7BoX810Jsrhj7IQSYHAHLi/iSpgqKc7LaIDshFRlSg5LOymf9FqQhxEHs2W5ZQXlvy0KD45Uw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@parcel/watcher": "^2.4.1",
|
"@parcel/watcher": "^2.4.1",
|
||||||
|
|
@ -20058,9 +20057,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"sass-loader": {
|
"sass-loader": {
|
||||||
"version": "16.0.4",
|
"version": "16.0.5",
|
||||||
"resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.4.tgz",
|
"resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.5.tgz",
|
||||||
"integrity": "sha512-LavLbgbBGUt3wCiYzhuLLu65+fWXaXLmq7YxivLhEqmiupCFZ5sKUAipK3do6V80YSU0jvSxNhEdT13IXNr3rg==",
|
"integrity": "sha512-oL+CMBXrj6BZ/zOq4os+UECPL+bWqt6OAC6DWS8Ln8GZRcMDjlJ4JC3FBDuHJdYaFWIdKNIBYmtZtK2MaMkNIw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"neo-async": "^2.6.2"
|
"neo-async": "^2.6.2"
|
||||||
|
|
|
||||||
|
|
@ -8,9 +8,10 @@
|
||||||
"lint": "vue-cli-service lint"
|
"lint": "vue-cli-service lint"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@element-plus/icons-vue": "^2.3.1",
|
||||||
"axios": "^1.3.3",
|
"axios": "^1.3.3",
|
||||||
"core-js": "^3.8.3",
|
"core-js": "^3.8.3",
|
||||||
"element-plus": "^2.4.0",
|
"element-plus": "^2.9.8",
|
||||||
"file-saver": "^2.0.5",
|
"file-saver": "^2.0.5",
|
||||||
"moment": "^2.29.4",
|
"moment": "^2.29.4",
|
||||||
"node-polyfill-webpack-plugin": "^2.0.1",
|
"node-polyfill-webpack-plugin": "^2.0.1",
|
||||||
|
|
@ -31,8 +32,8 @@
|
||||||
"@vue/cli-plugin-router": "~5.0.0",
|
"@vue/cli-plugin-router": "~5.0.0",
|
||||||
"@vue/cli-plugin-vuex": "~5.0.0",
|
"@vue/cli-plugin-vuex": "~5.0.0",
|
||||||
"@vue/cli-service": "~5.0.0",
|
"@vue/cli-service": "~5.0.0",
|
||||||
"sass": "^1.83.4",
|
"sass": "^1.87.0",
|
||||||
"sass-loader": "^16.0.4"
|
"sass-loader": "^16.0.5"
|
||||||
},
|
},
|
||||||
"eslintConfig": {
|
"eslintConfig": {
|
||||||
"root": true,
|
"root": true,
|
||||||
|
|
|
||||||
|
|
@ -99,6 +99,15 @@ export const queryKittingBomByPage = (params) => {
|
||||||
timeout: 5000
|
timeout: 5000
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
// 分页查询图纸列表
|
||||||
|
export const queryImagesByPage = (params) => {
|
||||||
|
return request({
|
||||||
|
url: '/kate/queryImagesByPage',
|
||||||
|
method: 'post',
|
||||||
|
data: params,
|
||||||
|
timeout: 5000
|
||||||
|
})
|
||||||
|
}
|
||||||
// 分页查询对应关系
|
// 分页查询对应关系
|
||||||
export const queryRelationByPage = (params) => {
|
export const queryRelationByPage = (params) => {
|
||||||
return request({
|
return request({
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
<div style="display: flex;justify-content: space-between;">
|
<div style="display: flex;justify-content: space-between;">
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-form-item label="任务类型">
|
<el-form-item label="任务类型">
|
||||||
<el-select-v2 v-model="searchQueryFormEntity.outType" placeholder="任务类型"
|
<el-select-v2 style="width: 196px" v-model="searchQueryFormEntity.outType" placeholder="任务类型"
|
||||||
:options="addAllOptionOfOptions(outTypeOptions)"
|
:options="addAllOptionOfOptions(outTypeOptions)"
|
||||||
@change="search()"></el-select-v2>
|
@change="search()"></el-select-v2>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
@ -241,10 +241,6 @@ const outsTypeFormat = (row, column, cellValue, index) => {
|
||||||
width: 196px;
|
width: 196px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-form-item .el-select-v2 {
|
|
||||||
width: 196px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.table-class {
|
.table-class {
|
||||||
margin: 5px 5px 5px 5px;
|
margin: 5px 5px 5px 5px;
|
||||||
width: inherit;
|
width: inherit;
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@
|
||||||
@keyup.enter="search()" clearable/>
|
@keyup.enter="search()" clearable/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="看板状态">
|
<el-form-item label="看板状态">
|
||||||
<el-select-v2 v-model="kanbanQuery.kanbanStatus" placeholder="看板状态"
|
<el-select-v2 style="width: 196px" v-model="kanbanQuery.kanbanStatus" placeholder="看板状态"
|
||||||
:options="addAllOptionOfOptions(kanbanStatusOptions)"
|
:options="addAllOptionOfOptions(kanbanStatusOptions)"
|
||||||
@change="search()"></el-select-v2>
|
@change="search()"></el-select-v2>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
@ -309,10 +309,6 @@ const exportExcel = () => {
|
||||||
width: 196px;
|
width: 196px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-form-item .el-select-v2 {
|
|
||||||
width: 196px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.table-class {
|
.table-class {
|
||||||
margin: 5px 5px 5px 5px;
|
margin: 5px 5px 5px 5px;
|
||||||
width: inherit;
|
width: inherit;
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@
|
||||||
<el-input v-model="dbsQueryFormEntity.productId" @keyup.enter="search()" clearable/>
|
<el-input v-model="dbsQueryFormEntity.productId" @keyup.enter="search()" clearable/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="状态">
|
<el-form-item label="状态">
|
||||||
<el-select-v2 v-model="dbsQueryFormEntity.dbsStatus" placeholder="工单状态"
|
<el-select-v2 style="width: 196px" v-model="dbsQueryFormEntity.dbsStatus" placeholder="工单状态"
|
||||||
:options="addAllOptionOfOptions(dbsStatusOptions)"
|
:options="addAllOptionOfOptions(dbsStatusOptions)"
|
||||||
@change="search()"></el-select-v2>
|
@change="search()"></el-select-v2>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
@ -471,10 +471,6 @@ const openUploadDialog = () => {
|
||||||
width: 196px;
|
width: 196px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-form-item .el-select-v2 {
|
|
||||||
width: 196px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.table-class {
|
.table-class {
|
||||||
margin: 5px 5px 5px 5px;
|
margin: 5px 5px 5px 5px;
|
||||||
width: inherit;
|
width: inherit;
|
||||||
|
|
|
||||||
|
|
@ -444,10 +444,6 @@ const exportExcel = () => {
|
||||||
width: 196px;
|
width: 196px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-form-item .el-select-v2 {
|
|
||||||
width: 196px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.table-class {
|
.table-class {
|
||||||
margin: 5px 5px 5px 5px;
|
margin: 5px 5px 5px 5px;
|
||||||
width: inherit;
|
width: inherit;
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
<div style="display: flex;justify-content: space-between;">
|
<div style="display: flex;justify-content: space-between;">
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-form-item label="入库类型" prop="emptyTask">
|
<el-form-item label="入库类型" prop="emptyTask">
|
||||||
<el-select-v2 v-model="inTaskEntity.emptyTask" placeholder="请选择入库类型"
|
<el-select-v2 style="width: 196px" v-model="inTaskEntity.emptyTask" placeholder="请选择入库类型"
|
||||||
:options="inTypeOptions"
|
:options="inTypeOptions"
|
||||||
:disabled="taskRequestEntity.vehicleId != ''"></el-select-v2>
|
:disabled="taskRequestEntity.vehicleId != ''"></el-select-v2>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
<div style="display: flex; justify-content: space-between;">
|
<div style="display: flex; justify-content: space-between;">
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-form-item label="出库类型" prop="outType">
|
<el-form-item label="出库类型" prop="outType">
|
||||||
<el-select-v2 v-model="outTaskEntity.outType" placeholder="请选择入库类型"
|
<el-select-v2 style="width: 196px" v-model="outTaskEntity.outType" placeholder="请选择入库类型"
|
||||||
:options="outTypeOptions"></el-select-v2>
|
:options="outTypeOptions"></el-select-v2>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="料号" prop="goodsId">
|
<el-form-item label="料号" prop="goodsId">
|
||||||
|
|
@ -22,7 +22,7 @@
|
||||||
controls-position="right" :min="1" clearable />
|
controls-position="right" :min="1" clearable />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="原因" prop="reason" v-if="outTaskEntity.outType == 9">
|
<el-form-item label="原因" prop="reason" v-if="outTaskEntity.outType == 9">
|
||||||
<el-select-v2 v-model="outTaskEntity.reason" placeholder="请选择紧急出库原因"
|
<el-select-v2 style="width: 196px" v-model="outTaskEntity.reason" placeholder="请选择紧急出库原因"
|
||||||
:options="resonOptions"></el-select-v2>
|
:options="resonOptions"></el-select-v2>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,7 @@ const findImage = () => {
|
||||||
}
|
}
|
||||||
getImageOfWork(request).then(res => {
|
getImageOfWork(request).then(res => {
|
||||||
const response = res.data
|
const response = res.data
|
||||||
if (response.code == 0) {
|
if (response.code === 0) {
|
||||||
const image = response.data
|
const image = response.data
|
||||||
openPreview(image)
|
openPreview(image)
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -296,10 +296,6 @@ const exportExcel = () => {
|
||||||
width: 196px;
|
width: 196px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-form-item .el-select-v2 {
|
|
||||||
width: 196px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.table-class {
|
.table-class {
|
||||||
margin: 5px 5px 5px 5px;
|
margin: 5px 5px 5px 5px;
|
||||||
width: inherit;
|
width: inherit;
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
<div style="display: flex;justify-content: space-between;">
|
<div style="display: flex;justify-content: space-between;">
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-form-item label="配料单类型">
|
<el-form-item label="配料单类型">
|
||||||
<el-select-v2 v-model="kittingBomQueryFormEntity.bomType" placeholder="配料单类型"
|
<el-select-v2 style="width: 196px" v-model="kittingBomQueryFormEntity.bomType" placeholder="配料单类型"
|
||||||
:options="kittingBomTypeOptions" @change="search()"></el-select-v2>
|
:options="kittingBomTypeOptions" @change="search()"></el-select-v2>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="机型">
|
<el-form-item label="机型">
|
||||||
|
|
@ -450,10 +450,6 @@ const openUploadDialog = () => {
|
||||||
width: 196px;
|
width: 196px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-form-item .el-select-v2 {
|
|
||||||
width: 196px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.table-class {
|
.table-class {
|
||||||
margin: 5px 5px 5px 5px;
|
margin: 5px 5px 5px 5px;
|
||||||
width: inherit;
|
width: inherit;
|
||||||
|
|
|
||||||
|
|
@ -409,10 +409,6 @@ const openUploadDialog = () => {
|
||||||
width: 196px;
|
width: 196px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-form-item .el-select-v2 {
|
|
||||||
width: 196px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.table-class {
|
.table-class {
|
||||||
margin: 5px 5px 5px 5px;
|
margin: 5px 5px 5px 5px;
|
||||||
width: inherit;
|
width: inherit;
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
<div style="display: flex;justify-content: space-between;">
|
<div style="display: flex;justify-content: space-between;">
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-form-item label="任务状态">
|
<el-form-item label="任务状态">
|
||||||
<el-select-v2 v-model="searchQueryFormEntity.pickStatus" placeholder="任务状态"
|
<el-select-v2 style="width: 196px" v-model="searchQueryFormEntity.pickStatus" placeholder="任务状态"
|
||||||
:options="addAllOptionOfOptions(pickingTaskStatusOptions)"
|
:options="addAllOptionOfOptions(pickingTaskStatusOptions)"
|
||||||
@change="search()"></el-select-v2>
|
@change="search()"></el-select-v2>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
@ -232,10 +232,6 @@ const pickStatusFormat = (row, column, cellValue, index) => {
|
||||||
width: 196px;
|
width: 196px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-form-item .el-select-v2 {
|
|
||||||
width: 196px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.table-class {
|
.table-class {
|
||||||
margin: 5px 5px 5px 5px;
|
margin: 5px 5px 5px 5px;
|
||||||
width: inherit;
|
width: inherit;
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,8 @@ import { requestImageDetail } from '@/api/kateWork.js'
|
||||||
import { isSingleCharacter, isNumber } from '@/utils/stringUtils';
|
import { isSingleCharacter, isNumber } from '@/utils/stringUtils';
|
||||||
import { onBeforeUnmount, onMounted, reactive } from 'vue';
|
import { onBeforeUnmount, onMounted, reactive } from 'vue';
|
||||||
// 声明变量
|
// 声明变量
|
||||||
|
const USER_NAME = store.getters.getUserName
|
||||||
|
const STAND_ID = store.getters.getStandId
|
||||||
const fit = 'contain'
|
const fit = 'contain'
|
||||||
let imageData = reactive({
|
let imageData = reactive({
|
||||||
url: '',
|
url: '',
|
||||||
|
|
@ -27,8 +29,8 @@ let imageData = reactive({
|
||||||
let inputStr = ''
|
let inputStr = ''
|
||||||
let imageRequest = reactive({
|
let imageRequest = reactive({
|
||||||
imageId: '',
|
imageId: '',
|
||||||
userName: store.getters.getUserName,
|
userName: USER_NAME,
|
||||||
standId: store.getters.getStandId
|
standId: STAND_ID
|
||||||
})
|
})
|
||||||
// 声明系统方法
|
// 声明系统方法
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
|
|
@ -39,10 +41,10 @@ onBeforeUnmount(() => {
|
||||||
})
|
})
|
||||||
// 声明自定义方法
|
// 声明自定义方法
|
||||||
const handleKeyDown = (event) => {
|
const handleKeyDown = (event) => {
|
||||||
if (event.key.toLowerCase() == 'enter') {
|
if (event.key.toLowerCase() === 'enter') {
|
||||||
solveInput()
|
solveInput()
|
||||||
} else {
|
} else {
|
||||||
if (event.key.toLowerCase() == 'backspace') {
|
if (event.key.toLowerCase() === 'backspace') {
|
||||||
inputStr = inputStr.substring(0, inputStr.length - 1)
|
inputStr = inputStr.substring(0, inputStr.length - 1)
|
||||||
} else if (isSingleCharacter(event.key) || isNumber(event.key)) {
|
} else if (isSingleCharacter(event.key) || isNumber(event.key)) {
|
||||||
inputStr += event.key
|
inputStr += event.key
|
||||||
|
|
@ -52,7 +54,7 @@ const handleKeyDown = (event) => {
|
||||||
// 处理输入
|
// 处理输入
|
||||||
const solveInput = () => {
|
const solveInput = () => {
|
||||||
// 空输入
|
// 空输入
|
||||||
if (inputStr == '') {
|
if (inputStr === '') {
|
||||||
closePreview('空输入。')
|
closePreview('空输入。')
|
||||||
}
|
}
|
||||||
// 解析
|
// 解析
|
||||||
|
|
@ -62,15 +64,15 @@ const solveInput = () => {
|
||||||
}
|
}
|
||||||
// 查询图纸
|
// 查询图纸
|
||||||
const findImage = () => {
|
const findImage = () => {
|
||||||
if (imageRequest.imageId == '') {
|
if (imageRequest.imageId === '') {
|
||||||
closePreview('请求缺少图纸编号。')
|
closePreview('请求缺少图纸编号。')
|
||||||
}
|
}
|
||||||
requestImageDetail(imageRequest).then(res => {
|
requestImageDetail(imageRequest).then(res => {
|
||||||
const response = res.data
|
const response = res.data
|
||||||
if (response.code == 0) {
|
if (response.code === 0) {
|
||||||
const results = response.data
|
const results = response.data
|
||||||
if (results == undefined || results.length != 1) {
|
if (results === undefined || results.length !== 1) {
|
||||||
closePreview('无图纸。')
|
closePreview('无图纸或图纸歧义。')
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
const image = results[0]
|
const image = results[0]
|
||||||
|
|
|
||||||
|
|
@ -28,12 +28,12 @@
|
||||||
<el-input v-model="stockQuery.locationId" @keyup.enter="search()" clearable />
|
<el-input v-model="stockQuery.locationId" @keyup.enter="search()" clearable />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="库存状态">
|
<el-form-item label="库存状态">
|
||||||
<el-select-v2 v-model="stockQuery.stockStatus" placeholder="库存状态"
|
<el-select-v2 style="width: 196px" v-model="stockQuery.stockStatus" placeholder="库存状态"
|
||||||
:options="addAllOptionOfOptions(stockStatusOptions)"
|
:options="addAllOptionOfOptions(stockStatusOptions)"
|
||||||
@change="search()"></el-select-v2>
|
@change="search()"></el-select-v2>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="物料状态">
|
<el-form-item label="物料状态">
|
||||||
<el-select-v2 v-model="stockQuery.goodsStatus" placeholder="物料状态"
|
<el-select-v2 style="width: 196px" v-model="stockQuery.goodsStatus" placeholder="物料状态"
|
||||||
:options="addAllOptionOfOptions(goodsStatusOptions)"
|
:options="addAllOptionOfOptions(goodsStatusOptions)"
|
||||||
@change="search()"></el-select-v2>
|
@change="search()"></el-select-v2>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
@ -550,10 +550,6 @@ const submitStockInfo = () => {
|
||||||
width: 196px;
|
width: 196px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-form-item .el-select-v2 {
|
|
||||||
width: 196px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.table-class {
|
.table-class {
|
||||||
margin: 5px 5px 5px 5px;
|
margin: 5px 5px 5px 5px;
|
||||||
width: inherit;
|
width: inherit;
|
||||||
|
|
|
||||||
|
|
@ -269,10 +269,6 @@ const exportExcel = () => {
|
||||||
width: 196px;
|
width: 196px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-form-item .el-select-v2 {
|
|
||||||
width: 196px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.table-class {
|
.table-class {
|
||||||
margin: 5px 5px 5px 5px;
|
margin: 5px 5px 5px 5px;
|
||||||
width: inherit;
|
width: inherit;
|
||||||
|
|
|
||||||
|
|
@ -8,12 +8,12 @@
|
||||||
<div style="display: flex;justify-content: space-between;">
|
<div style="display: flex;justify-content: space-between;">
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-form-item label="任务类型">
|
<el-form-item label="任务类型">
|
||||||
<el-select-v2 v-model="searchQueryFormEntity.taskType" placeholder="任务类型"
|
<el-select-v2 style="width: 196px" v-model="searchQueryFormEntity.taskType" placeholder="任务类型"
|
||||||
:options="addAllOptionOfOptions(taskTypeOptions)"
|
:options="addAllOptionOfOptions(taskTypeOptions)"
|
||||||
@change="search()"></el-select-v2>
|
@change="search()"></el-select-v2>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="任务状态">
|
<el-form-item label="任务状态">
|
||||||
<el-select-v2 v-model="searchQueryFormEntity.taskStatus" placeholder="任务状态"
|
<el-select-v2 style="width: 196px" v-model="searchQueryFormEntity.taskStatus" placeholder="任务状态"
|
||||||
:options="addAllOptionOfOptions(wmsTaskStatusOptions)"
|
:options="addAllOptionOfOptions(wmsTaskStatusOptions)"
|
||||||
@change="search()"></el-select-v2>
|
@change="search()"></el-select-v2>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
@ -500,10 +500,6 @@ const submitUpdateRow = (rowFormEntity) => {
|
||||||
width: 196px;
|
width: 196px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-form-item .el-select-v2 {
|
|
||||||
width: 196px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.table-class {
|
.table-class {
|
||||||
margin: 5px 5px 5px 5px;
|
margin: 5px 5px 5px 5px;
|
||||||
width: inherit;
|
width: inherit;
|
||||||
|
|
|
||||||
|
|
@ -8,17 +8,17 @@
|
||||||
<div style="display: flex;justify-content: space-between;">
|
<div style="display: flex;justify-content: space-between;">
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-form-item label="空箱">
|
<el-form-item label="空箱">
|
||||||
<el-select-v2 v-model="searchQueryFormEntity.isEmpty" placeholder="任务类型"
|
<el-select-v2 style="width: 196px" v-model="searchQueryFormEntity.isEmpty" placeholder="任务类型"
|
||||||
:options="addAllOptionOfOptions(yesOrNoOptions)"
|
:options="addAllOptionOfOptions(yesOrNoOptions)"
|
||||||
@change="search()"></el-select-v2>
|
@change="search()"></el-select-v2>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="锁定">
|
<el-form-item label="锁定">
|
||||||
<el-select-v2 v-model="searchQueryFormEntity.isLock" placeholder="任务状态"
|
<el-select-v2 style="width: 196px" v-model="searchQueryFormEntity.isLock" placeholder="任务状态"
|
||||||
:options="addAllOptionOfOptions(yesOrNoOptions)"
|
:options="addAllOptionOfOptions(yesOrNoOptions)"
|
||||||
@change="search()"></el-select-v2>
|
@change="search()"></el-select-v2>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="状态">
|
<el-form-item label="状态">
|
||||||
<el-select-v2 v-model="searchQueryFormEntity.vehicleStatus" placeholder="任务状态"
|
<el-select-v2 style="width: 196px" v-model="searchQueryFormEntity.vehicleStatus" placeholder="任务状态"
|
||||||
:options="addAllOptionOfOptions(vehicleStatusOptions)"
|
:options="addAllOptionOfOptions(vehicleStatusOptions)"
|
||||||
@change="search()"></el-select-v2>
|
@change="search()"></el-select-v2>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
@ -407,10 +407,6 @@ const submitUpdateRow = (rowFormEntity) => {
|
||||||
width: 196px;
|
width: 196px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-form-item .el-select-v2 {
|
|
||||||
width: 196px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.table-class {
|
.table-class {
|
||||||
margin: 5px 5px 5px 5px;
|
margin: 5px 5px 5px 5px;
|
||||||
width: inherit;
|
width: inherit;
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
<div style="display: flex;justify-content: space-between;">
|
<div style="display: flex;justify-content: space-between;">
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-form-item label="数据类型">
|
<el-form-item label="数据类型">
|
||||||
<el-select-v2 v-model="searchQueryFormEntity.summaryType" placeholder="数据类型"
|
<el-select-v2 style="width: 196px" v-model="searchQueryFormEntity.summaryType" placeholder="数据类型"
|
||||||
:options="summaryTypeOptions" @change="search()"></el-select-v2>
|
:options="summaryTypeOptions" @change="search()"></el-select-v2>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="工单号">
|
<el-form-item label="工单号">
|
||||||
|
|
@ -689,10 +689,6 @@ const getPrintTabs = (boxSummary) => {
|
||||||
width: 196px;
|
width: 196px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-form-item .el-select-v2 {
|
|
||||||
width: 196px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.table-class {
|
.table-class {
|
||||||
margin: 5px 5px 5px 5px;
|
margin: 5px 5px 5px 5px;
|
||||||
width: inherit;
|
width: inherit;
|
||||||
|
|
|
||||||
|
|
@ -1,83 +1,79 @@
|
||||||
import { createRouter, createWebHashHistory } from 'vue-router'
|
import {createRouter, createWebHashHistory} from 'vue-router'
|
||||||
import HomeView from '@/views/HomeView.vue'
|
import HomeView from '@/views/HomeView.vue'
|
||||||
import login from '@/views/login.vue'
|
import login from '@/views/login.vue'
|
||||||
import systemCenter from'@/views/SystemCenter.vue'
|
import systemCenter from '@/views/SystemCenter.vue'
|
||||||
|
|
||||||
const routes = [
|
const routes = [
|
||||||
{
|
{
|
||||||
path: '/home',
|
path: '/home',
|
||||||
name: 'home',
|
name: 'home',
|
||||||
component: HomeView,
|
component: HomeView,
|
||||||
// redirect: '/stock',
|
// redirect: '/stock',
|
||||||
children: [
|
children: [
|
||||||
{ path: '/stock', component: () => import('@/layout/stock.vue')},// 库存
|
{path: '/stock', component: () => import('@/layout/stock.vue')},// 库存
|
||||||
{ path: '/goodsIn', component: () => import('@/layout/goodsIn.vue') },// 入库
|
{path: '/goodsIn', component: () => import('@/layout/goodsIn.vue')},// 入库
|
||||||
{ path: '/goodsOut', component: () => import('@/layout/goodsOut.vue') },// 出库
|
{path: '/goodsOut', component: () => import('@/layout/goodsOut.vue')},// 出库
|
||||||
{ path: '/kitting', component: () => import('@/layout/kitting.vue') },// 配料
|
{path: '/kitting', component: () => import('@/layout/kitting.vue')},// 配料
|
||||||
{ path: '/inTaskRecord', component: () => import('@/layout/inTaskRecord.vue') },// 入库记录
|
{path: '/inTaskRecord', component: () => import('@/layout/inTaskRecord.vue')},// 入库记录
|
||||||
{ path: '/outTaskRecord', component: () => import('@/layout/outTaskRecord.vue') },// 出库记录
|
{path: '/outTaskRecord', component: () => import('@/layout/outTaskRecord.vue')},// 出库记录
|
||||||
{ path: '/location', component: () => import('@/layout/locationsTable.vue') },// 库位
|
{path: '/location', component: () => import('@/layout/locationsTable.vue')},// 库位
|
||||||
{ path: '/goods', component: () => import('@/layout/goods.vue') },// 物料
|
{path: '/goods', component: () => import('@/layout/goods.vue')},// 物料
|
||||||
{ path: '/standSettings', component: () => import('@/layout/standSettings.vue') },// 站台(库口)设置
|
{path: '/standSettings', component: () => import('@/layout/standSettings.vue')},// 站台(库口)设置
|
||||||
{ path: '/config', component: () => import('@/layout/wmsConfigNew.vue') },// 系统配置
|
{path: '/config', component: () => import('@/layout/wmsConfigNew.vue')},// 系统配置
|
||||||
{ path: '/taskMonitor', component: () => import('@/layout/taskMonitor.vue') },// 任务监控
|
{path: '/taskMonitor', component: () => import('@/layout/taskMonitor.vue')},// 任务监控
|
||||||
{ path: '/vehicles', component: () => import('@/layout/vehicle.vue') },// 料箱监控
|
{path: '/vehicles', component: () => import('@/layout/vehicle.vue')},// 料箱监控
|
||||||
{ path: '/inventory', component: () => import('@/layout/inventory.vue') },// 盘点
|
{path: '/inventory', component: () => import('@/layout/inventory.vue')},// 盘点
|
||||||
{ path: '/inventoryRecord', component: () => import('@/layout/inventoryRecord.vue') },// 盘点记录
|
{path: '/inventoryRecord', component: () => import('@/layout/inventoryRecord.vue')},// 盘点记录
|
||||||
{ path: '/wmsLog', component: () => import('@/layout/wmsLog.vue') },// 日志
|
{path: '/wmsLog', component: () => import('@/layout/wmsLog.vue')},// 日志
|
||||||
{ path: '/workSummary', component: () => import('@/layout/workSummary.vue') },// 工作总结
|
{path: '/workSummary', component: () => import('@/layout/workSummary.vue')},// 工作总结
|
||||||
{ path: '/pickTask', component: () => import('@/layout/pickTaskMonitor.vue') },// 拣选任务
|
{path: '/pickTask', component: () => import('@/layout/pickTaskMonitor.vue')},// 拣选任务
|
||||||
{ path: '/outsMonitor', component: () => import('@/layout/OutsMonitor.vue') },// 任务表单
|
{path: '/outsMonitor', component: () => import('@/layout/OutsMonitor.vue')},// 任务表单
|
||||||
{ path: '/clcKanban', component: () => import('@/layout/clcKanban.vue') },// 需求看板
|
{path: '/clcKanban', component: () => import('@/layout/clcKanban.vue')},// 需求看板
|
||||||
{ path: '/stockUpdateRecord', component: () => import('@/layout/stockUpdateRecord.vue') },// 库存更新记录
|
{path: '/stockUpdateRecord', component: () => import('@/layout/stockUpdateRecord.vue')},// 库存更新记录
|
||||||
{ path: '/roleUser', component: () => import('@/layout/role_user.vue') },// 角色——用户列表
|
{path: '/roleUser', component: () => import('@/layout/role_user.vue')},// 角色——用户列表
|
||||||
{ path: '/rolePermission', component: () => import('@/layout/role_permission.vue') },// 角色——权限列表
|
{path: '/rolePermission', component: () => import('@/layout/role_permission.vue')},// 角色——权限列表
|
||||||
{ path: '/test', component: () => import('@/layout/testView.vue') },// 测试
|
{path: '/test', component: () => import('@/layout/testView.vue')},// 测试
|
||||||
{ path: '/dbsList', component: () => import('@/layout/dbsList.vue') },// dbs计划
|
{path: '/dbsList', component: () => import('@/layout/dbsList.vue')},// dbs计划
|
||||||
{ path: '/kittingList', component: () => import('@/layout/kittingList.vue') },// 配料单
|
{path: '/kittingList', component: () => import('@/layout/kittingList.vue')},// 配料单
|
||||||
{ path: '/kittingRelation', component: () => import('@/layout/kittingRelation.vue') },// 配料单
|
{path: '/kittingRelation', component: () => import('@/layout/kittingRelation.vue')},// 对应关系
|
||||||
]
|
{path: '/imageTable', component: () => import('@/layout/ImageTable.vue')},
|
||||||
},
|
]
|
||||||
{
|
},
|
||||||
path: '/',
|
{
|
||||||
name: 'login',
|
path: '/',
|
||||||
component: login
|
name: 'login',
|
||||||
},
|
component: login
|
||||||
{
|
},
|
||||||
path: '/systemCenter',
|
{
|
||||||
name: 'systemCenter',
|
path: '/systemCenter',
|
||||||
component: systemCenter
|
name: 'systemCenter',
|
||||||
},
|
component: systemCenter
|
||||||
{
|
},
|
||||||
path: '/imageDisplay',
|
{
|
||||||
name: 'imageDisplay',
|
path: '/imageDisplay',
|
||||||
component: () => import('@/layout/imageDisplay.vue')
|
name: 'imageDisplay',
|
||||||
},
|
component: () => import('@/layout/imageDisplay.vue')
|
||||||
{
|
},
|
||||||
path: '/imageTable',
|
{
|
||||||
name: 'imageTable',
|
path: '/scanForImage',
|
||||||
component: () => import('@/layout/imageTable.vue')
|
name: 'scanForImage',
|
||||||
},
|
component: () => import('@/layout/scanForImage.vue')
|
||||||
{
|
}
|
||||||
path: '/scanForImage',
|
|
||||||
name: 'scanForImage',
|
|
||||||
component: () => import('@/layout/scanForImage.vue')
|
|
||||||
}
|
|
||||||
]
|
]
|
||||||
|
|
||||||
const router = createRouter({
|
const router = createRouter({
|
||||||
base: '/',
|
base: '/',
|
||||||
history: createWebHashHistory(),
|
history: createWebHashHistory(),
|
||||||
routes
|
routes
|
||||||
})
|
})
|
||||||
|
|
||||||
// 挂载路由导航守卫
|
// 挂载路由导航守卫
|
||||||
router.beforeEach((to, from, next) => {
|
router.beforeEach((to, from, next) => {
|
||||||
if (to.path === '/') return next()
|
if (to.path === '/') return next()
|
||||||
// 获取token
|
// 获取token
|
||||||
const user = sessionStorage.getItem('user')
|
const user = sessionStorage.getItem('user')
|
||||||
if (!user) return next('/')
|
if (!user) return next('/')
|
||||||
next()
|
next()
|
||||||
})
|
})
|
||||||
|
|
||||||
export default router
|
export default router
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,9 @@ package com.wms_main.constant.enums.jobs;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 定时器定时类型
|
||||||
|
*/
|
||||||
@Getter
|
@Getter
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public enum JobTimerTypeEnums {
|
public enum JobTimerTypeEnums {
|
||||||
|
|
|
||||||
|
|
@ -113,6 +113,16 @@ public class KateWorkController {
|
||||||
return kateWorkControllerService.requestImageDetail(imageQuery);
|
return kateWorkControllerService.requestImageDetail(imageQuery);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询图纸---分页
|
||||||
|
* @param imageQuery 查询参数
|
||||||
|
* @return 查询结果
|
||||||
|
*/
|
||||||
|
@PostMapping("/queryImagesByPage")
|
||||||
|
public WmsApiResponse<PageVo<ImageVo>> queryImagesByPage(@RequestBody ImageQuery imageQuery) {
|
||||||
|
return kateWorkControllerService.queryImagesByPage(imageQuery);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询DBS数据--分页
|
* 查询DBS数据--分页
|
||||||
* @param dbsQuery 查询参数
|
* @param dbsQuery 查询参数
|
||||||
|
|
|
||||||
|
|
@ -4,15 +4,17 @@ import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
import com.wms_main.model.po.TAppImage;
|
import com.wms_main.model.po.TAppImage;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 图纸Vo
|
* 图纸Vo
|
||||||
*/
|
*/
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@Data
|
@Data
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
public class ImageVo {
|
public class ImageVo extends BaseImportVo {
|
||||||
/**
|
/**
|
||||||
* 图纸id
|
* 图纸id
|
||||||
*/
|
*/
|
||||||
|
|
@ -55,4 +57,25 @@ public class ImageVo {
|
||||||
*/
|
*/
|
||||||
@JsonProperty("imageType")
|
@JsonProperty("imageType")
|
||||||
private Integer imageType;
|
private Integer imageType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 将po对象转换为vo对象
|
||||||
|
* @param po po对象
|
||||||
|
* @return vo
|
||||||
|
*/
|
||||||
|
public static ImageVo ofPo(TAppImage po)
|
||||||
|
{
|
||||||
|
ImageVo imageVo = new ImageVo();
|
||||||
|
if (po == null) {
|
||||||
|
return imageVo;
|
||||||
|
}
|
||||||
|
imageVo.setImageId(po.getImageId());
|
||||||
|
imageVo.setProductId(po.getProductId());
|
||||||
|
imageVo.setBoxNo(po.getBoxNo());
|
||||||
|
imageVo.setImagePath(po.getImagePath());
|
||||||
|
imageVo.setImageName(po.getImageName());
|
||||||
|
// imageVo.setImageDetail(po.getImageDetail());
|
||||||
|
imageVo.setImageType(po.getImageType());
|
||||||
|
return imageVo;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,9 @@ import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.boot.CommandLineRunner;
|
import org.springframework.boot.CommandLineRunner;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 定时任务启动类
|
||||||
|
*/
|
||||||
@Component
|
@Component
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class JobStarter implements CommandLineRunner {
|
public class JobStarter implements CommandLineRunner {
|
||||||
|
|
|
||||||
|
|
@ -90,6 +90,13 @@ public interface IKateWorkControllerService {
|
||||||
*/
|
*/
|
||||||
WmsApiResponse<PageVo<KittingBomVo>> queryKittingBomByPage(KittingBomQuery kittingBomQuery);
|
WmsApiResponse<PageVo<KittingBomVo>> queryKittingBomByPage(KittingBomQuery kittingBomQuery);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询图纸列表---分页
|
||||||
|
* @param imageQuery 查询参数
|
||||||
|
* @return 查询结果---分页
|
||||||
|
*/
|
||||||
|
WmsApiResponse<PageVo<ImageVo>> queryImagesByPage(ImageQuery imageQuery);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询配料单对应关系列表---分页
|
* 查询配料单对应关系列表---分页
|
||||||
* @param kittingBomRelationQuery 查询参数
|
* @param kittingBomRelationQuery 查询参数
|
||||||
|
|
|
||||||
|
|
@ -823,7 +823,7 @@ public class KateWorkControllerServiceImpl implements IKateWorkControllerService
|
||||||
imageIp,
|
imageIp,
|
||||||
image.getImagePath(),
|
image.getImagePath(),
|
||||||
image.getImageName(),
|
image.getImageName(),
|
||||||
FileUtils.getImageDetail(imageList.getFirst().getImagePath(), imageList.getFirst().getImageName()),
|
FileUtils.getImageDetail(image.getImagePath(), image.getImageName()),
|
||||||
image.getImageType());
|
image.getImageType());
|
||||||
imageVoList.add(imageVo);
|
imageVoList.add(imageVo);
|
||||||
}
|
}
|
||||||
|
|
@ -889,6 +889,25 @@ public class KateWorkControllerServiceImpl implements IKateWorkControllerService
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询图纸列表(分页)---实现
|
||||||
|
* @param imageQuery 查询参数
|
||||||
|
* @return 查询结果
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public WmsApiResponse<PageVo<ImageVo>> queryImagesByPage(ImageQuery imageQuery) {
|
||||||
|
Page<TAppImage> page = imageQuery.toMpPage();
|
||||||
|
LambdaQueryWrapper<TAppImage> lambdaQueryWrapper = new LambdaQueryWrapper<TAppImage>()
|
||||||
|
.like(StringUtils.isNotEmpty(imageQuery.getImageId()), TAppImage::getImageId, imageQuery.getImageId())
|
||||||
|
.like(StringUtils.isNotEmpty(imageQuery.getProductId()), TAppImage::getProductId, imageQuery.getProductId())
|
||||||
|
.like(StringUtils.isNotEmpty(imageQuery.getBoxNo()), TAppImage::getBoxNo, imageQuery.getBoxNo())
|
||||||
|
.eq(imageQuery.getImageType() != null, TAppImage::getImageType, imageQuery.getImageType());
|
||||||
|
Page<TAppImage> pagePo = appImageService.page(page, lambdaQueryWrapper);
|
||||||
|
|
||||||
|
PageVo<ImageVo> pageVo = PageVo.of(pagePo, ImageVo::ofPo);
|
||||||
|
return WmsApiResponse.success("查询图纸数据成功", pageVo);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 配料单对应关系实现---分页
|
* 配料单对应关系实现---分页
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -3,19 +3,42 @@ package com.wms_main.service.quartz_job;
|
||||||
import com.wms_main.quartz.config.JobBean;
|
import com.wms_main.quartz.config.JobBean;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 定时任务服务实现
|
* 定时任务服务
|
||||||
*/
|
*/
|
||||||
public interface IJobService {
|
public interface IJobService {
|
||||||
|
/**
|
||||||
|
* 创建任务
|
||||||
|
* @param jobBean 任务信息
|
||||||
|
*/
|
||||||
void createJob(JobBean jobBean);
|
void createJob(JobBean jobBean);
|
||||||
|
/**
|
||||||
|
* 删除定时任务
|
||||||
|
* @param jobName 任务名
|
||||||
|
*/
|
||||||
void deleteJob(String jobName);
|
void deleteJob(String jobName);
|
||||||
|
/**
|
||||||
|
* 修改定时任务
|
||||||
|
* @param jobBean 任务信息
|
||||||
|
*/
|
||||||
void modifyJob(JobBean jobBean);
|
void modifyJob(JobBean jobBean);
|
||||||
|
/**
|
||||||
|
* 暂停定时任务
|
||||||
|
* @param jobName 任务名
|
||||||
|
*/
|
||||||
void pauseJob(String jobName);
|
void pauseJob(String jobName);
|
||||||
|
/**
|
||||||
|
* 恢复定时任务
|
||||||
|
* @param jobName 任务名
|
||||||
|
*/
|
||||||
void resumeJob(String jobName);
|
void resumeJob(String jobName);
|
||||||
|
/**
|
||||||
|
* 立即执行一次任务
|
||||||
|
* @param jobName 任务名
|
||||||
|
*/
|
||||||
void runJobOnce(String jobName);
|
void runJobOnce(String jobName);
|
||||||
|
/**
|
||||||
|
* 初始化所有的定时任务
|
||||||
|
* 只创建启用的
|
||||||
|
*/
|
||||||
void initAllJobs();
|
void initAllJobs();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user