1. 增加图纸预览及下载功能

2. 升级element-plus至最新版
This commit is contained in:
梁州 2025-04-23 11:19:06 +08:00
parent 3378c6d35a
commit 7ae89eca8a
28 changed files with 240 additions and 197 deletions

View File

@ -8,9 +8,10 @@
"name": "wms",
"version": "0.1.0",
"dependencies": {
"@element-plus/icons-vue": "^2.3.1",
"axios": "^1.3.3",
"core-js": "^3.8.3",
"element-plus": "^2.4.0",
"element-plus": "^2.9.8",
"file-saver": "^2.0.5",
"moment": "^2.29.4",
"node-polyfill-webpack-plugin": "^2.0.1",
@ -31,8 +32,8 @@
"@vue/cli-plugin-router": "~5.0.0",
"@vue/cli-plugin-vuex": "~5.0.0",
"@vue/cli-service": "~5.0.0",
"sass": "^1.83.4",
"sass-loader": "^16.0.4"
"sass": "^1.87.0",
"sass-loader": "^16.0.5"
}
},
"node_modules/@achrinza/node-ipc": {
@ -1736,9 +1737,9 @@
}
},
"node_modules/@element-plus/icons-vue": {
"version": "2.0.10",
"resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.0.10.tgz",
"integrity": "sha512-ygEZ1mwPjcPo/OulhzLE7mtDrQBWI8vZzEWSNB2W/RNCRjoQGwbaK4N8lV4rid7Ts4qvySU3njMN7YCiSlSaTQ==",
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz",
"integrity": "sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==",
"peerDependencies": {
"vue": "^3.2.0"
}
@ -5131,9 +5132,9 @@
"integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w=="
},
"node_modules/dayjs": {
"version": "1.11.7",
"resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.7.tgz",
"integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ=="
"version": "1.11.13",
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz",
"integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg=="
},
"node_modules/debug": {
"version": "4.3.4",
@ -5555,19 +5556,19 @@
"integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA=="
},
"node_modules/element-plus": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.4.0.tgz",
"integrity": "sha512-yJEa8LXkGOOgkfkeqMMEdeX/Dc8EH9qPcRuX91dlhSXxgCKKbp9tH3QFTOG99ibZsrN/Em62nh7ddvbc7I1frw==",
"version": "2.9.8",
"resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.9.8.tgz",
"integrity": "sha512-srViUaUdfblBKGMeuEPiXxxKlH5aUmKqEwmhb/At9Sj91DbU6od/jYN1955cTnzt3wTSA7GfnZF7UiRX9sdRHg==",
"dependencies": {
"@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",
"@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7",
"@types/lodash": "^4.14.182",
"@types/lodash-es": "^4.17.6",
"@vueuse/core": "^9.1.0",
"async-validator": "^4.2.5",
"dayjs": "^1.11.3",
"dayjs": "^1.11.13",
"escape-html": "^1.0.3",
"lodash": "^4.17.21",
"lodash-es": "^4.17.21",
@ -10142,11 +10143,10 @@
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
"node_modules/sass": {
"version": "1.83.4",
"resolved": "https://registry.npmjs.org/sass/-/sass-1.83.4.tgz",
"integrity": "sha512-B1bozCeNQiOgDcLd33e2Cs2U60wZwjUUXzh900ZyQF5qUasvMdDZYbQ566LJu7cqR+sAHlAfO6RMkaID5s6qpA==",
"version": "1.87.0",
"resolved": "https://registry.npmjs.org/sass/-/sass-1.87.0.tgz",
"integrity": "sha512-d0NoFH4v6SjEK7BoX810Jsrhj7IQSYHAHLi/iSpgqKc7LaIDshFRlSg5LOymf9FqQhxEHs2W5ZQXlvy0KD45Uw==",
"dev": true,
"license": "MIT",
"dependencies": {
"chokidar": "^4.0.0",
"immutable": "^5.0.2",
@ -10163,11 +10163,10 @@
}
},
"node_modules/sass-loader": {
"version": "16.0.4",
"resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.4.tgz",
"integrity": "sha512-LavLbgbBGUt3wCiYzhuLLu65+fWXaXLmq7YxivLhEqmiupCFZ5sKUAipK3do6V80YSU0jvSxNhEdT13IXNr3rg==",
"version": "16.0.5",
"resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.5.tgz",
"integrity": "sha512-oL+CMBXrj6BZ/zOq4os+UECPL+bWqt6OAC6DWS8Ln8GZRcMDjlJ4JC3FBDuHJdYaFWIdKNIBYmtZtK2MaMkNIw==",
"dev": true,
"license": "MIT",
"dependencies": {
"neo-async": "^2.6.2"
},
@ -13393,9 +13392,9 @@
"integrity": "sha512-tlJpwF40DEQcfR/QF+wNMVyGMaO9FQp6Z1Wahj4Gk3CJQYHwA2xVG7iKDFdW6zuxZY9XWOpGcfNCTsX4McOsOg=="
},
"@element-plus/icons-vue": {
"version": "2.0.10",
"resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.0.10.tgz",
"integrity": "sha512-ygEZ1mwPjcPo/OulhzLE7mtDrQBWI8vZzEWSNB2W/RNCRjoQGwbaK4N8lV4rid7Ts4qvySU3njMN7YCiSlSaTQ==",
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz",
"integrity": "sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==",
"requires": {}
},
"@eslint/eslintrc": {
@ -16078,9 +16077,9 @@
"integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w=="
},
"dayjs": {
"version": "1.11.7",
"resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.7.tgz",
"integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ=="
"version": "1.11.13",
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz",
"integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg=="
},
"debug": {
"version": "4.3.4",
@ -16415,19 +16414,19 @@
"integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA=="
},
"element-plus": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.4.0.tgz",
"integrity": "sha512-yJEa8LXkGOOgkfkeqMMEdeX/Dc8EH9qPcRuX91dlhSXxgCKKbp9tH3QFTOG99ibZsrN/Em62nh7ddvbc7I1frw==",
"version": "2.9.8",
"resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.9.8.tgz",
"integrity": "sha512-srViUaUdfblBKGMeuEPiXxxKlH5aUmKqEwmhb/At9Sj91DbU6od/jYN1955cTnzt3wTSA7GfnZF7UiRX9sdRHg==",
"requires": {
"@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",
"@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7",
"@types/lodash": "^4.14.182",
"@types/lodash-es": "^4.17.6",
"@vueuse/core": "^9.1.0",
"async-validator": "^4.2.5",
"dayjs": "^1.11.3",
"dayjs": "^1.11.13",
"escape-html": "^1.0.3",
"lodash": "^4.17.21",
"lodash-es": "^4.17.21",
@ -20029,9 +20028,9 @@
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
"sass": {
"version": "1.83.4",
"resolved": "https://registry.npmjs.org/sass/-/sass-1.83.4.tgz",
"integrity": "sha512-B1bozCeNQiOgDcLd33e2Cs2U60wZwjUUXzh900ZyQF5qUasvMdDZYbQ566LJu7cqR+sAHlAfO6RMkaID5s6qpA==",
"version": "1.87.0",
"resolved": "https://registry.npmjs.org/sass/-/sass-1.87.0.tgz",
"integrity": "sha512-d0NoFH4v6SjEK7BoX810Jsrhj7IQSYHAHLi/iSpgqKc7LaIDshFRlSg5LOymf9FqQhxEHs2W5ZQXlvy0KD45Uw==",
"dev": true,
"requires": {
"@parcel/watcher": "^2.4.1",
@ -20058,9 +20057,9 @@
}
},
"sass-loader": {
"version": "16.0.4",
"resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.4.tgz",
"integrity": "sha512-LavLbgbBGUt3wCiYzhuLLu65+fWXaXLmq7YxivLhEqmiupCFZ5sKUAipK3do6V80YSU0jvSxNhEdT13IXNr3rg==",
"version": "16.0.5",
"resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.5.tgz",
"integrity": "sha512-oL+CMBXrj6BZ/zOq4os+UECPL+bWqt6OAC6DWS8Ln8GZRcMDjlJ4JC3FBDuHJdYaFWIdKNIBYmtZtK2MaMkNIw==",
"dev": true,
"requires": {
"neo-async": "^2.6.2"

View File

@ -8,9 +8,10 @@
"lint": "vue-cli-service lint"
},
"dependencies": {
"@element-plus/icons-vue": "^2.3.1",
"axios": "^1.3.3",
"core-js": "^3.8.3",
"element-plus": "^2.4.0",
"element-plus": "^2.9.8",
"file-saver": "^2.0.5",
"moment": "^2.29.4",
"node-polyfill-webpack-plugin": "^2.0.1",
@ -31,8 +32,8 @@
"@vue/cli-plugin-router": "~5.0.0",
"@vue/cli-plugin-vuex": "~5.0.0",
"@vue/cli-service": "~5.0.0",
"sass": "^1.83.4",
"sass-loader": "^16.0.4"
"sass": "^1.87.0",
"sass-loader": "^16.0.5"
},
"eslintConfig": {
"root": true,

View File

@ -99,6 +99,15 @@ export const queryKittingBomByPage = (params) => {
timeout: 5000
})
}
// 分页查询图纸列表
export const queryImagesByPage = (params) => {
return request({
url: '/kate/queryImagesByPage',
method: 'post',
data: params,
timeout: 5000
})
}
// 分页查询对应关系
export const queryRelationByPage = (params) => {
return request({

View File

@ -8,7 +8,7 @@
<div style="display: flex;justify-content: space-between;">
<el-row>
<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)"
@change="search()"></el-select-v2>
</el-form-item>
@ -241,10 +241,6 @@ const outsTypeFormat = (row, column, cellValue, index) => {
width: 196px;
}
.el-form-item .el-select-v2 {
width: 196px;
}
.table-class {
margin: 5px 5px 5px 5px;
width: inherit;

View File

@ -16,7 +16,7 @@
@keyup.enter="search()" clearable/>
</el-form-item>
<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)"
@change="search()"></el-select-v2>
</el-form-item>
@ -309,10 +309,6 @@ const exportExcel = () => {
width: 196px;
}
.el-form-item .el-select-v2 {
width: 196px;
}
.table-class {
margin: 5px 5px 5px 5px;
width: inherit;

View File

@ -14,7 +14,7 @@
<el-input v-model="dbsQueryFormEntity.productId" @keyup.enter="search()" clearable/>
</el-form-item>
<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)"
@change="search()"></el-select-v2>
</el-form-item>
@ -471,10 +471,6 @@ const openUploadDialog = () => {
width: 196px;
}
.el-form-item .el-select-v2 {
width: 196px;
}
.table-class {
margin: 5px 5px 5px 5px;
width: inherit;

View File

@ -444,10 +444,6 @@ const exportExcel = () => {
width: 196px;
}
.el-form-item .el-select-v2 {
width: 196px;
}
.table-class {
margin: 5px 5px 5px 5px;
width: inherit;

View File

@ -8,7 +8,7 @@
<div style="display: flex;justify-content: space-between;">
<el-row>
<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"
:disabled="taskRequestEntity.vehicleId != ''"></el-select-v2>
</el-form-item>

View File

@ -8,7 +8,7 @@
<div style="display: flex; justify-content: space-between;">
<el-row>
<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>
</el-form-item>
<el-form-item label="料号" prop="goodsId">
@ -22,7 +22,7 @@
controls-position="right" :min="1" clearable />
</el-form-item>
<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>
</el-form-item>
</el-row>

View File

@ -45,7 +45,7 @@ const findImage = () => {
}
getImageOfWork(request).then(res => {
const response = res.data
if (response.code == 0) {
if (response.code === 0) {
const image = response.data
openPreview(image)
} else {

View File

@ -296,10 +296,6 @@ const exportExcel = () => {
width: 196px;
}
.el-form-item .el-select-v2 {
width: 196px;
}
.table-class {
margin: 5px 5px 5px 5px;
width: inherit;

View File

@ -8,7 +8,7 @@
<div style="display: flex;justify-content: space-between;">
<el-row>
<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>
</el-form-item>
<el-form-item label="机型">
@ -450,10 +450,6 @@ const openUploadDialog = () => {
width: 196px;
}
.el-form-item .el-select-v2 {
width: 196px;
}
.table-class {
margin: 5px 5px 5px 5px;
width: inherit;

View File

@ -409,10 +409,6 @@ const openUploadDialog = () => {
width: 196px;
}
.el-form-item .el-select-v2 {
width: 196px;
}
.table-class {
margin: 5px 5px 5px 5px;
width: inherit;

View File

@ -8,7 +8,7 @@
<div style="display: flex;justify-content: space-between;">
<el-row>
<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)"
@change="search()"></el-select-v2>
</el-form-item>
@ -232,10 +232,6 @@ const pickStatusFormat = (row, column, cellValue, index) => {
width: 196px;
}
.el-form-item .el-select-v2 {
width: 196px;
}
.table-class {
margin: 5px 5px 5px 5px;
width: inherit;

View File

@ -17,6 +17,8 @@ import { requestImageDetail } from '@/api/kateWork.js'
import { isSingleCharacter, isNumber } from '@/utils/stringUtils';
import { onBeforeUnmount, onMounted, reactive } from 'vue';
//
const USER_NAME = store.getters.getUserName
const STAND_ID = store.getters.getStandId
const fit = 'contain'
let imageData = reactive({
url: '',
@ -27,8 +29,8 @@ let imageData = reactive({
let inputStr = ''
let imageRequest = reactive({
imageId: '',
userName: store.getters.getUserName,
standId: store.getters.getStandId
userName: USER_NAME,
standId: STAND_ID
})
//
onMounted(() => {
@ -39,10 +41,10 @@ onBeforeUnmount(() => {
})
//
const handleKeyDown = (event) => {
if (event.key.toLowerCase() == 'enter') {
if (event.key.toLowerCase() === 'enter') {
solveInput()
} else {
if (event.key.toLowerCase() == 'backspace') {
if (event.key.toLowerCase() === 'backspace') {
inputStr = inputStr.substring(0, inputStr.length - 1)
} else if (isSingleCharacter(event.key) || isNumber(event.key)) {
inputStr += event.key
@ -52,7 +54,7 @@ const handleKeyDown = (event) => {
//
const solveInput = () => {
//
if (inputStr == '') {
if (inputStr === '') {
closePreview('空输入。')
}
//
@ -62,15 +64,15 @@ const solveInput = () => {
}
//
const findImage = () => {
if (imageRequest.imageId == '') {
if (imageRequest.imageId === '') {
closePreview('请求缺少图纸编号。')
}
requestImageDetail(imageRequest).then(res => {
const response = res.data
if (response.code == 0) {
if (response.code === 0) {
const results = response.data
if (results == undefined || results.length != 1) {
closePreview('无图纸。')
if (results === undefined || results.length !== 1) {
closePreview('无图纸或图纸歧义。')
return
}
const image = results[0]

View File

@ -28,12 +28,12 @@
<el-input v-model="stockQuery.locationId" @keyup.enter="search()" clearable />
</el-form-item>
<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)"
@change="search()"></el-select-v2>
</el-form-item>
<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)"
@change="search()"></el-select-v2>
</el-form-item>
@ -550,10 +550,6 @@ const submitStockInfo = () => {
width: 196px;
}
.el-form-item .el-select-v2 {
width: 196px;
}
.table-class {
margin: 5px 5px 5px 5px;
width: inherit;

View File

@ -269,10 +269,6 @@ const exportExcel = () => {
width: 196px;
}
.el-form-item .el-select-v2 {
width: 196px;
}
.table-class {
margin: 5px 5px 5px 5px;
width: inherit;

View File

@ -8,12 +8,12 @@
<div style="display: flex;justify-content: space-between;">
<el-row>
<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)"
@change="search()"></el-select-v2>
</el-form-item>
<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)"
@change="search()"></el-select-v2>
</el-form-item>
@ -500,10 +500,6 @@ const submitUpdateRow = (rowFormEntity) => {
width: 196px;
}
.el-form-item .el-select-v2 {
width: 196px;
}
.table-class {
margin: 5px 5px 5px 5px;
width: inherit;

View File

@ -8,17 +8,17 @@
<div style="display: flex;justify-content: space-between;">
<el-row>
<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)"
@change="search()"></el-select-v2>
</el-form-item>
<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)"
@change="search()"></el-select-v2>
</el-form-item>
<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)"
@change="search()"></el-select-v2>
</el-form-item>
@ -407,10 +407,6 @@ const submitUpdateRow = (rowFormEntity) => {
width: 196px;
}
.el-form-item .el-select-v2 {
width: 196px;
}
.table-class {
margin: 5px 5px 5px 5px;
width: inherit;

View File

@ -8,7 +8,7 @@
<div style="display: flex;justify-content: space-between;">
<el-row>
<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>
</el-form-item>
<el-form-item label="工单号">
@ -689,10 +689,6 @@ const getPrintTabs = (boxSummary) => {
width: 196px;
}
.el-form-item .el-select-v2 {
width: 196px;
}
.table-class {
margin: 5px 5px 5px 5px;
width: inherit;

View File

@ -35,7 +35,8 @@ const routes = [
{path: '/test', component: () => import('@/layout/testView.vue')},// 测试
{path: '/dbsList', component: () => import('@/layout/dbsList.vue')},// dbs计划
{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')},
]
},
{
@ -53,11 +54,6 @@ const routes = [
name: 'imageDisplay',
component: () => import('@/layout/imageDisplay.vue')
},
{
path: '/imageTable',
name: 'imageTable',
component: () => import('@/layout/imageTable.vue')
},
{
path: '/scanForImage',
name: 'scanForImage',

View File

@ -3,6 +3,9 @@ package com.wms_main.constant.enums.jobs;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 定时器定时类型
*/
@Getter
@AllArgsConstructor
public enum JobTimerTypeEnums {

View File

@ -113,6 +113,16 @@ public class KateWorkController {
return kateWorkControllerService.requestImageDetail(imageQuery);
}
/**
* 查询图纸---分页
* @param imageQuery 查询参数
* @return 查询结果
*/
@PostMapping("/queryImagesByPage")
public WmsApiResponse<PageVo<ImageVo>> queryImagesByPage(@RequestBody ImageQuery imageQuery) {
return kateWorkControllerService.queryImagesByPage(imageQuery);
}
/**
* 查询DBS数据--分页
* @param dbsQuery 查询参数

View File

@ -4,15 +4,17 @@ import com.fasterxml.jackson.annotation.JsonProperty;
import com.wms_main.model.po.TAppImage;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
/**
* 图纸Vo
*/
@EqualsAndHashCode(callSuper = true)
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ImageVo {
public class ImageVo extends BaseImportVo {
/**
* 图纸id
*/
@ -55,4 +57,25 @@ public class ImageVo {
*/
@JsonProperty("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;
}
}

View File

@ -5,6 +5,9 @@ import lombok.RequiredArgsConstructor;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;
/**
* 定时任务启动类
*/
@Component
@RequiredArgsConstructor
public class JobStarter implements CommandLineRunner {

View File

@ -90,6 +90,13 @@ public interface IKateWorkControllerService {
*/
WmsApiResponse<PageVo<KittingBomVo>> queryKittingBomByPage(KittingBomQuery kittingBomQuery);
/**
* 查询图纸列表---分页
* @param imageQuery 查询参数
* @return 查询结果---分页
*/
WmsApiResponse<PageVo<ImageVo>> queryImagesByPage(ImageQuery imageQuery);
/**
* 查询配料单对应关系列表---分页
* @param kittingBomRelationQuery 查询参数

View File

@ -823,7 +823,7 @@ public class KateWorkControllerServiceImpl implements IKateWorkControllerService
imageIp,
image.getImagePath(),
image.getImageName(),
FileUtils.getImageDetail(imageList.getFirst().getImagePath(), imageList.getFirst().getImageName()),
FileUtils.getImageDetail(image.getImagePath(), image.getImageName()),
image.getImageType());
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);
}
/**
* 配料单对应关系实现---分页
*

View File

@ -3,19 +3,42 @@ package com.wms_main.service.quartz_job;
import com.wms_main.quartz.config.JobBean;
/**
* 定时任务服务实现
* 定时任务服务
*/
public interface IJobService {
/**
* 创建任务
* @param jobBean 任务信息
*/
void createJob(JobBean jobBean);
/**
* 删除定时任务
* @param jobName 任务名
*/
void deleteJob(String jobName);
/**
* 修改定时任务
* @param jobBean 任务信息
*/
void modifyJob(JobBean jobBean);
/**
* 暂停定时任务
* @param jobName 任务名
*/
void pauseJob(String jobName);
/**
* 恢复定时任务
* @param jobName 任务名
*/
void resumeJob(String jobName);
/**
* 立即执行一次任务
* @param jobName 任务名
*/
void runJobOnce(String jobName);
/**
* 初始化所有的定时任务
* 只创建启用的
*/
void initAllJobs();
}