Compare commits
23 Commits
31c9929245
...
cicd
| Author | SHA1 | Date | |
|---|---|---|---|
| bb4f3e2c0e | |||
| 0338bf1a15 | |||
| 5fadd533de | |||
| f2c038d543 | |||
| 30cfedec07 | |||
| 898803c514 | |||
| 4af403b22b | |||
| f3f1c972b4 | |||
| fb496d8a97 | |||
| 2455f83b74 | |||
| 9006efdb67 | |||
| 8f01c92374 | |||
| d07e209936 | |||
| 975d14c886 | |||
| b0f0582e51 | |||
| 602af58f2d | |||
| 7bc184c9c7 | |||
| 9673c1ba30 | |||
| 66fce549e1 | |||
| 1b6ffddcf9 | |||
| 14bf2bd17e | |||
| bb6925f3a2 | |||
|
|
433c86a379 |
@@ -12,7 +12,7 @@ steps:
|
|||||||
- name: dockerconfig
|
- name: dockerconfig
|
||||||
path: /root/.docker
|
path: /root/.docker
|
||||||
commands:
|
commands:
|
||||||
- docker build -t harbor.picaiba.com/mes/mes-cigs-ui ./ && docker push harbor.picaiba.com/mes/mes-cigs-ui
|
- docker build -t harbor.picaiba.com/kszny/wms-ui:00a-1.0.0 ./ && docker push harbor.picaiba.com/kszny/wms-ui:00a-1.0.0
|
||||||
|
|
||||||
- name: deploy
|
- name: deploy
|
||||||
image: harbor.picaiba.com/tools/kubectl:1.19.8
|
image: harbor.picaiba.com/tools/kubectl:1.19.8
|
||||||
@@ -20,9 +20,9 @@ steps:
|
|||||||
- echo "172.27.0.20 lb.kubesphere.local" >> /etc/hosts
|
- echo "172.27.0.20 lb.kubesphere.local" >> /etc/hosts
|
||||||
#- echo "52.74.223.119 github.com" >> /etc/hosts
|
#- echo "52.74.223.119 github.com" >> /etc/hosts
|
||||||
- sleep 1
|
- sleep 1
|
||||||
- kubectl scale --replicas=0 deployment/mes-ui -n mes-cigs
|
- kubectl scale --replicas=0 deployment/a-wms-ui -n wms
|
||||||
- sleep 3
|
- sleep 3
|
||||||
- kubectl scale --replicas=1 deployment/mes-ui -n mes-cigs
|
- kubectl scale --replicas=1 deployment/a-wms-ui -n wms
|
||||||
depends_on:
|
depends_on:
|
||||||
- build
|
- build
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,6 @@
|
|||||||
ENV = 'production'
|
ENV = 'production'
|
||||||
|
|
||||||
# base api
|
# base api
|
||||||
VUE_APP_BASE_API = '/api'
|
VUE_APP_BASE_API = ''
|
||||||
VUE_APP_REPORT_DESIGN_URL = '/ureport/designer'
|
VUE_APP_REPORT_DESIGN_URL = '/ureport/designer'
|
||||||
VUE_APP_REPORT_VIEW_URL = '/ureport/preview'
|
VUE_APP_REPORT_VIEW_URL = '/ureport/preview'
|
||||||
@@ -1,9 +1,7 @@
|
|||||||
FROM node:12 AS builder
|
FROM node:12 AS builder
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
ADD package.json /app/
|
ADD package.json /app/
|
||||||
RUN npm install \
|
RUN npm config set registry https://registry.npmmirror.com && npm install git+https://gitee.com/shihairong/raphael && npm install
|
||||||
--registry=https://registry.npm.taobao.org \
|
|
||||||
--disturl=https://npm.taobao.org/dist
|
|
||||||
ADD . /app
|
ADD . /app
|
||||||
RUN npm run build:prod
|
RUN npm run build:prod
|
||||||
|
|
||||||
|
|||||||
@@ -66,6 +66,7 @@
|
|||||||
"nprogress": "0.2.0",
|
"nprogress": "0.2.0",
|
||||||
"outlayer": "^2.1.1",
|
"outlayer": "^2.1.1",
|
||||||
"path-to-regexp": "2.4.0",
|
"path-to-regexp": "2.4.0",
|
||||||
|
"raphael": "git+https://gitee.com/shihairong/raphael",
|
||||||
"screenfull": "4.2.0",
|
"screenfull": "4.2.0",
|
||||||
"script-loader": "0.7.2",
|
"script-loader": "0.7.2",
|
||||||
"showdown": "1.9.0",
|
"showdown": "1.9.0",
|
||||||
|
|||||||
@@ -2,14 +2,14 @@
|
|||||||
* @Author: zwq
|
* @Author: zwq
|
||||||
* @Date: 2020-12-29 16:00:14
|
* @Date: 2020-12-29 16:00:14
|
||||||
* @LastEditors: zwq
|
* @LastEditors: zwq
|
||||||
* @LastEditTime: 2021-01-27 16:42:27
|
* @LastEditTime: 2022-01-11 16:16:07
|
||||||
* @Description:
|
* @Description:
|
||||||
*/
|
*/
|
||||||
import request from '@/utils/request'
|
import request from '@/utils/request'
|
||||||
|
|
||||||
export function areaList(data) { // 获取缓存区区域信息列表
|
export function areaList(data) { // 获取缓存区区域信息列表
|
||||||
return request({
|
return request({
|
||||||
url: '/basic/area/page',
|
url: '/api/wms/area/shelf',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
@@ -17,7 +17,7 @@ export function areaList(data) { // 获取缓存区区域信息列表
|
|||||||
|
|
||||||
export function areaDetail(id) { // 获取缓存区区域信息单条数据
|
export function areaDetail(id) { // 获取缓存区区域信息单条数据
|
||||||
return request({
|
return request({
|
||||||
url: '/basic/area/get',
|
url: '/api/wms/area/get',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: { id }
|
data: { id }
|
||||||
})
|
})
|
||||||
@@ -25,7 +25,7 @@ export function areaDetail(id) { // 获取缓存区区域信息单条数据
|
|||||||
|
|
||||||
export function areaUpdate(data) { // 更新缓存区区域信息单条数据
|
export function areaUpdate(data) { // 更新缓存区区域信息单条数据
|
||||||
return request({
|
return request({
|
||||||
url: '/basic/area/update',
|
url: '/api/wms/area/update',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
@@ -33,7 +33,7 @@ export function areaUpdate(data) { // 更新缓存区区域信息单条数据
|
|||||||
|
|
||||||
export function areaAdd(data) { // 新增缓存区区域信息单条数据
|
export function areaAdd(data) { // 新增缓存区区域信息单条数据
|
||||||
return request({
|
return request({
|
||||||
url: '/basic/area/add',
|
url: '/api/wms/area/add',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
@@ -41,14 +41,14 @@ export function areaAdd(data) { // 新增缓存区区域信息单条数据
|
|||||||
|
|
||||||
export function areaCode() { // 获取缓存区区域信息code
|
export function areaCode() { // 获取缓存区区域信息code
|
||||||
return request({
|
return request({
|
||||||
url: '/basic/area/get-code',
|
url: '/api/wms/area/get-code',
|
||||||
method: 'post'
|
method: 'post'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export function areaDelete(id) { // 删除缓存区区域信息单条数据
|
export function areaDelete(id) { // 删除缓存区区域信息单条数据
|
||||||
return request({
|
return request({
|
||||||
url: '/basic/area/delete',
|
url: '/api/wms/area/delete',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: { id }
|
data: { id }
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -2,14 +2,14 @@
|
|||||||
* @Author: zwq
|
* @Author: zwq
|
||||||
* @Date: 2020-12-29 16:00:14
|
* @Date: 2020-12-29 16:00:14
|
||||||
* @LastEditors: zwq
|
* @LastEditors: zwq
|
||||||
* @LastEditTime: 2021-01-20 15:31:32
|
* @LastEditTime: 2022-01-11 15:50:42
|
||||||
* @Description:
|
* @Description:
|
||||||
*/
|
*/
|
||||||
import request from '@/utils/request'
|
import request from '@/utils/request'
|
||||||
|
|
||||||
export function cacheList(data) { // 获取缓存区信息列表
|
export function cacheList(data) { // 获取缓存区信息列表
|
||||||
return request({
|
return request({
|
||||||
url: '/basic/cache/page',
|
url: '/api/wms/area/page',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
@@ -17,7 +17,7 @@ export function cacheList(data) { // 获取缓存区信息列表
|
|||||||
|
|
||||||
export function cacheDetail(id) { // 获取缓存区信息单条数据
|
export function cacheDetail(id) { // 获取缓存区信息单条数据
|
||||||
return request({
|
return request({
|
||||||
url: '/basic/cache/get',
|
url: '/api/wms/area/getById',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: { id }
|
data: { id }
|
||||||
})
|
})
|
||||||
@@ -25,7 +25,7 @@ export function cacheDetail(id) { // 获取缓存区信息单条数据
|
|||||||
|
|
||||||
export function cacheUpdate(data) { // 更新缓存区信息单条数据
|
export function cacheUpdate(data) { // 更新缓存区信息单条数据
|
||||||
return request({
|
return request({
|
||||||
url: '/basic/cache/update',
|
url: '/api/wms/area/update',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
@@ -33,7 +33,7 @@ export function cacheUpdate(data) { // 更新缓存区信息单条数据
|
|||||||
|
|
||||||
export function cacheAdd(data) { // 新增缓存区信息单条数据
|
export function cacheAdd(data) { // 新增缓存区信息单条数据
|
||||||
return request({
|
return request({
|
||||||
url: '/basic/cache/add',
|
url: '/api/wms/area/add',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
@@ -41,14 +41,14 @@ export function cacheAdd(data) { // 新增缓存区信息单条数据
|
|||||||
|
|
||||||
export function cacheCode() { // 获取缓存区信息code
|
export function cacheCode() { // 获取缓存区信息code
|
||||||
return request({
|
return request({
|
||||||
url: '/basic/cache/get-code',
|
url: '/api/wms/area/get-code',
|
||||||
method: 'post'
|
method: 'post'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export function cacheDelete(id) { // 删除缓存区信息单条数据
|
export function cacheDelete(id) { // 删除缓存区信息单条数据
|
||||||
return request({
|
return request({
|
||||||
url: '/basic/cache/delete',
|
url: '/api/wms/area/delete',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: { id }
|
data: { id }
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -2,14 +2,14 @@
|
|||||||
* @Author: zwq
|
* @Author: zwq
|
||||||
* @Date: 2020-12-29 16:00:14
|
* @Date: 2020-12-29 16:00:14
|
||||||
* @LastEditors: zwq
|
* @LastEditors: zwq
|
||||||
* @LastEditTime: 2021-07-21 14:29:10
|
* @LastEditTime: 2022-01-11 16:43:22
|
||||||
* @Description:
|
* @Description:
|
||||||
*/
|
*/
|
||||||
import request from '@/utils/request'
|
import request from '@/utils/request'
|
||||||
|
|
||||||
export function storageBoxList(data) { // 获取存储箱列表
|
export function storageBoxList(data) { // 获取存储箱列表
|
||||||
return request({
|
return request({
|
||||||
url: '/basic/storage-tank/page',
|
url: '/api/wms/storagebox/page',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
@@ -17,7 +17,7 @@ export function storageBoxList(data) { // 获取存储箱列表
|
|||||||
|
|
||||||
export function storageBoxDetail(id) { // 获取存储箱单条数据
|
export function storageBoxDetail(id) { // 获取存储箱单条数据
|
||||||
return request({
|
return request({
|
||||||
url: '/basic/storage-tank/get',
|
url: '/api/wms/storagebox/getById',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: { id }
|
data: { id }
|
||||||
})
|
})
|
||||||
@@ -25,7 +25,7 @@ export function storageBoxDetail(id) { // 获取存储箱单条数据
|
|||||||
|
|
||||||
export function storageBoxUpdate(data) { // 更新存储箱单条数据
|
export function storageBoxUpdate(data) { // 更新存储箱单条数据
|
||||||
return request({
|
return request({
|
||||||
url: '/basic/storage-tank/update',
|
url: '/api/wms/storagebox/update',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
@@ -33,7 +33,7 @@ export function storageBoxUpdate(data) { // 更新存储箱单条数据
|
|||||||
|
|
||||||
export function storageBoxAdd(data) { // 新增存储箱单条数据
|
export function storageBoxAdd(data) { // 新增存储箱单条数据
|
||||||
return request({
|
return request({
|
||||||
url: '/basic/storage-tank/add',
|
url: '/api/wms/storagebox/add',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
@@ -41,14 +41,14 @@ export function storageBoxAdd(data) { // 新增存储箱单条数据
|
|||||||
|
|
||||||
export function storageBoxCode() { // 获取存储箱code
|
export function storageBoxCode() { // 获取存储箱code
|
||||||
return request({
|
return request({
|
||||||
url: '/basic/storage-tank/get-code',
|
url: '/api/wms/storagebox/get-code',
|
||||||
method: 'post'
|
method: 'post'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export function storageBoxDelete(id) { // 删除存储箱单条数据
|
export function storageBoxDelete(id) { // 删除存储箱单条数据
|
||||||
return request({
|
return request({
|
||||||
url: '/basic/storage-tank/delete',
|
url: '/api/wms/storagebox/delete',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: { id }
|
data: { id }
|
||||||
})
|
})
|
||||||
@@ -56,14 +56,14 @@ export function storageBoxDelete(id) { // 删除存储箱单条数据
|
|||||||
|
|
||||||
export function PositionDetailInfoAdd(data) { // 新增存储箱地址单条数据
|
export function PositionDetailInfoAdd(data) { // 新增存储箱地址单条数据
|
||||||
return request({
|
return request({
|
||||||
url: '/basic/storage-tank-site/add',
|
url: '/api/wms/storagebox-site/add',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
export function PositionDetailInfoList(data) { // 获取存储箱地址列表
|
export function PositionDetailInfoList(data) { // 获取存储箱地址列表
|
||||||
return request({
|
return request({
|
||||||
url: '/basic/storage-tank-site/page',
|
url: '/api/wms/storagebox-site/page',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -2,14 +2,14 @@
|
|||||||
* @Author: zwq
|
* @Author: zwq
|
||||||
* @Date: 2020-12-29 16:00:14
|
* @Date: 2020-12-29 16:00:14
|
||||||
* @LastEditors: zwq
|
* @LastEditors: zwq
|
||||||
* @LastEditTime: 2021-03-12 09:40:01
|
* @LastEditTime: 2022-01-10 17:00:16
|
||||||
* @Description:
|
* @Description:
|
||||||
*/
|
*/
|
||||||
import request from '@/utils/request'
|
import request from '@/utils/request'
|
||||||
|
|
||||||
export function equipmentInfoList(data) { // 获取设备信息列表
|
export function equipmentInfoList(data) { // 获取设备信息列表
|
||||||
return request({
|
return request({
|
||||||
url: '/basic/equipment/page',
|
url: '/api/wms/equipment/page',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
@@ -17,7 +17,7 @@ export function equipmentInfoList(data) { // 获取设备信息列表
|
|||||||
|
|
||||||
export function equipmentInfoDetail(id) { // 获取设备信息单条数据
|
export function equipmentInfoDetail(id) { // 获取设备信息单条数据
|
||||||
return request({
|
return request({
|
||||||
url: '/basic/equipment/get',
|
url: '/api/wms/equipment/get',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: { id }
|
data: { id }
|
||||||
})
|
})
|
||||||
@@ -25,7 +25,7 @@ export function equipmentInfoDetail(id) { // 获取设备信息单条数据
|
|||||||
|
|
||||||
export function equipmentInfoUpdate(data) { // 更新设备信息单条数据
|
export function equipmentInfoUpdate(data) { // 更新设备信息单条数据
|
||||||
return request({
|
return request({
|
||||||
url: '/basic/equipment/update',
|
url: '/api/wms/equipment/update',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
@@ -33,7 +33,7 @@ export function equipmentInfoUpdate(data) { // 更新设备信息单条数据
|
|||||||
|
|
||||||
export function equipmentInfoAdd(data) { // 新增设备信息单条数据
|
export function equipmentInfoAdd(data) { // 新增设备信息单条数据
|
||||||
return request({
|
return request({
|
||||||
url: '/basic/equipment/add',
|
url: '/api/wms/equipment/add',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
@@ -41,14 +41,14 @@ export function equipmentInfoAdd(data) { // 新增设备信息单条数据
|
|||||||
|
|
||||||
export function equipmentInfoCode() { // 获取设备信息code
|
export function equipmentInfoCode() { // 获取设备信息code
|
||||||
return request({
|
return request({
|
||||||
url: '/basic/equipment/get-code',
|
url: '/api/wms/equipment/get-code',
|
||||||
method: 'post'
|
method: 'post'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export function equipmentInfoDelete(id) { // 删除设备信息单条数据
|
export function equipmentInfoDelete(id) { // 删除设备信息单条数据
|
||||||
return request({
|
return request({
|
||||||
url: '/basic/equipment/delete',
|
url: '/api/wms/equipment/delete',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: { id }
|
data: { id }
|
||||||
})
|
})
|
||||||
@@ -56,7 +56,7 @@ export function equipmentInfoDelete(id) { // 删除设备信息单条数据
|
|||||||
|
|
||||||
export function equipmentInfoFileAdd(data) { // 设备信息上传
|
export function equipmentInfoFileAdd(data) { // 设备信息上传
|
||||||
return request({
|
return request({
|
||||||
url: '/basic/equipment-file/update-file',
|
url: '/api/wms/equipment-file/update-file',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
@@ -64,7 +64,7 @@ export function equipmentInfoFileAdd(data) { // 设备信息上传
|
|||||||
|
|
||||||
export function getEquipmentInfoFile(data) { // 设备信息下载
|
export function getEquipmentInfoFile(data) { // 设备信息下载
|
||||||
return request({
|
return request({
|
||||||
url: '/basic/equipment-file/get-by-param',
|
url: '/api/wms/equipment-file/get-by-param',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
|
|||||||
46
src/api/basicData/Warehouse/HistoricalTask.js
Normal file
46
src/api/basicData/Warehouse/HistoricalTask.js
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
/*
|
||||||
|
* @Author: zwq
|
||||||
|
* @Date: 2020-12-29 16:00:14
|
||||||
|
* @LastEditors: zwq
|
||||||
|
* @LastEditTime: 2022-01-14 15:29:26
|
||||||
|
* @Description:
|
||||||
|
*/
|
||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
export function HistoricalTaskList(data) { // 获取任务列表
|
||||||
|
return request({
|
||||||
|
url: '/api/wms/car/task/execution/info/his/page',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function HistoricalTaskDetail(id) { // 获取任务单条数据
|
||||||
|
const data = {
|
||||||
|
'id': id
|
||||||
|
}
|
||||||
|
return request({
|
||||||
|
url: '/api/wms/car/task/execution/info/his/get',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function CurrentTaskList(data) { // 获取任务列表
|
||||||
|
return request({
|
||||||
|
url: '/api/wms/car/task/execution/info/page',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function CurrentTaskDetail(id) { // 获取任务单条数据
|
||||||
|
const data = {
|
||||||
|
'id': id
|
||||||
|
}
|
||||||
|
return request({
|
||||||
|
url: '/api/wms/car/task/execution/info/get',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
86
src/api/basicData/Warehouse/StorageBoxInfo.js
Normal file
86
src/api/basicData/Warehouse/StorageBoxInfo.js
Normal file
@@ -0,0 +1,86 @@
|
|||||||
|
/*
|
||||||
|
* @Author: zwq
|
||||||
|
* @Date: 2020-12-29 16:00:14
|
||||||
|
* @LastEditors: zwq
|
||||||
|
* @LastEditTime: 2022-01-17 13:59:54
|
||||||
|
* @Description:
|
||||||
|
*/
|
||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
export function StorageBoxInfoList(data) { // 获取存储箱使用情况
|
||||||
|
return request({
|
||||||
|
url: '/api/wms/storage/box/circ/info/his/page/by/code',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function StorageBoxInfoDetail(id) { // 获取存储箱单条数据
|
||||||
|
const data = {
|
||||||
|
'id': id
|
||||||
|
}
|
||||||
|
return request({
|
||||||
|
url: '/api/wms/storage/box/get',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function StorageBoxRackList(data) { // 获取存储箱上架列表
|
||||||
|
return request({
|
||||||
|
url: '/api/wms/storage/box/circ/info/page/for/bind',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function locationList(data) { // 获取库位列表
|
||||||
|
return request({
|
||||||
|
url: '/api/wms/location/list',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function StorageBoxRackDetail(id) { // 获取存储箱上架单条数据
|
||||||
|
const data = {
|
||||||
|
'id': id
|
||||||
|
}
|
||||||
|
return request({
|
||||||
|
url: '/api/wms/storage/box/circ/info/get',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function StorageBoxRackUpdate(data) { // 更新存储箱上架单条数据
|
||||||
|
return request({
|
||||||
|
url: '/api/wms/storage/box/circ/info/update',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function StorageBoxRackAdd(data) { // 新增存储箱上架单条数据
|
||||||
|
return request({
|
||||||
|
url: '/api/wms/storage/box/circ/info/add',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function StorageBoxRackCode(data) { // 获取存储箱上架code
|
||||||
|
return request({
|
||||||
|
url: '/api/wms/storagebox/page',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function StorageBoxRackDelete(id) { // 删除存储箱上架单条数据
|
||||||
|
return request({
|
||||||
|
url: '/api/wms/storage/box/circ/info/delete',
|
||||||
|
method: 'post',
|
||||||
|
data: { id }
|
||||||
|
})
|
||||||
|
}
|
||||||
47
src/api/orderManage/00A.js
Normal file
47
src/api/orderManage/00A.js
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
/*
|
||||||
|
* @Author: zwq
|
||||||
|
* @Date: 2022-01-17 14:55:09
|
||||||
|
* @LastEditors: zwq
|
||||||
|
* @LastEditTime: 2022-01-17 14:59:07
|
||||||
|
* @Description:
|
||||||
|
*/
|
||||||
|
|
||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
export function ProcessInfoList(data) { // 获取工单工艺列表
|
||||||
|
return request({
|
||||||
|
url: '/api/wms/work/order/page',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function ProcessInfoDetail(id) { // 获取工单工艺单条数据
|
||||||
|
const data = {
|
||||||
|
'id': id
|
||||||
|
}
|
||||||
|
return request({
|
||||||
|
url: '/api/wms/work/order/get',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function ExecutionInfoList(data) { // 获取工单执行列表
|
||||||
|
return request({
|
||||||
|
url: '/api/wms/work/order/execute/page',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function ExecutionInfoDetail(id) { // 获取工单执行单条数据
|
||||||
|
const data = {
|
||||||
|
'id': id
|
||||||
|
}
|
||||||
|
return request({
|
||||||
|
url: '/api/wms/work/order/execute/get',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* @Date: 2020-12-14 09:07:03
|
* @Date: 2020-12-14 09:07:03
|
||||||
* @LastEditors: guo
|
* @LastEditors: zwq
|
||||||
* @LastEditTime: 2021-01-11 09:40:09
|
* @LastEditTime: 2022-01-11 15:45:54
|
||||||
* @FilePath: \basic-admin\src\api\user.js
|
* @FilePath: \basic-admin\src\api\user.js
|
||||||
* @Description: 用户管理 & 登录用户的相关api接口定义
|
* @Description: 用户管理 & 登录用户的相关api接口定义
|
||||||
*/
|
*/
|
||||||
@@ -13,7 +13,8 @@ export function login(data) {
|
|||||||
userType: 1
|
userType: 1
|
||||||
})
|
})
|
||||||
return request({
|
return request({
|
||||||
url: '/passport/login',
|
url: '/api/passport/login',
|
||||||
|
// url: '/passport/login',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: dto
|
data: dto
|
||||||
})
|
})
|
||||||
@@ -28,7 +29,7 @@ export function logout() {
|
|||||||
// 获取当前登录的用户信息
|
// 获取当前登录的用户信息
|
||||||
export function getUserInfo(data) {
|
export function getUserInfo(data) {
|
||||||
return request({
|
return request({
|
||||||
url: '/passport/getLoginUser',
|
url: '/api/passport/getLoginUser',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* @Date: 2020-12-29 16:49:28
|
* @Date: 2020-12-29 16:49:28
|
||||||
* @LastEditors: zwq
|
* @LastEditors: zwq
|
||||||
* @LastEditTime: 2021-07-21 15:56:54
|
* @LastEditTime: 2022-01-17 15:31:40
|
||||||
* @FilePath: \basic-admin\src\filters\basicData\index.js
|
* @FilePath: \basic-admin\src\filters\basicData\index.js
|
||||||
* @Description:
|
* @Description:
|
||||||
*/
|
*/
|
||||||
@@ -63,9 +63,9 @@ const table = {
|
|||||||
'1': i18n.t('basicDataFilter.enableState.enable')
|
'1': i18n.t('basicDataFilter.enableState.enable')
|
||||||
},
|
},
|
||||||
storage: {
|
storage: {
|
||||||
'0': i18n.t('basicDataFilter.enableState.normal'),
|
'0': i18n.t('basicDataFilter.storage.normal'),
|
||||||
'1': i18n.t('basicDataFilter.enableState.repairing'),
|
'1': i18n.t('basicDataFilter.storage.repairing'),
|
||||||
'2': i18n.t('basicDataFilter.enableState.scrap')
|
'2': i18n.t('basicDataFilter.storage.scrap')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
33
src/filters/basicData/warehouse.js
Normal file
33
src/filters/basicData/warehouse.js
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
/*
|
||||||
|
* @Author: zwq
|
||||||
|
* @Date: 2022-01-17 11:30:41
|
||||||
|
* @LastEditors: zwq
|
||||||
|
* @LastEditTime: 2022-01-17 11:33:29
|
||||||
|
* @Description:
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
* @Date: 2020-12-29 16:49:28
|
||||||
|
* @LastEditors: gtz
|
||||||
|
* @LastEditTime: 2021-04-13 13:49:51
|
||||||
|
* @FilePath: \basic-admin\src\filters\DataDict\index.js
|
||||||
|
* @Description: 部分常量的数据字典定义
|
||||||
|
*/
|
||||||
|
|
||||||
|
import i18n from '@/lang'
|
||||||
|
|
||||||
|
const table = {
|
||||||
|
yesOrNo: {
|
||||||
|
'0': i18n.t('baseDict.yesOrNo.no'),
|
||||||
|
'1': i18n.t('baseDict.yesOrNo.yes')
|
||||||
|
},
|
||||||
|
enableState: {
|
||||||
|
'0': i18n.t('basicDataFilter.enableState.disable'),
|
||||||
|
'1': i18n.t('basicDataFilter.enableState.enable')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function(dictTable) {
|
||||||
|
return function(val) {
|
||||||
|
return table?.[dictTable]?.[val]
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
export default {
|
export default {
|
||||||
title: {
|
title: {
|
||||||
en: 'ARI MES',
|
en: 'ARI WMS',
|
||||||
zh: '中建材自动化智能制造执行系统'
|
zh: '中建材自动化智能仓库管理系统'
|
||||||
},
|
},
|
||||||
btn: {
|
btn: {
|
||||||
start: {
|
start: {
|
||||||
@@ -254,12 +254,8 @@ export default {
|
|||||||
},
|
},
|
||||||
routerTitle: {
|
routerTitle: {
|
||||||
dashboard: {
|
dashboard: {
|
||||||
zh: '',
|
zh: '仪表盘',
|
||||||
en: '',
|
en: 'Dashboard'
|
||||||
dashboard: {
|
|
||||||
zh: '仪表盘',
|
|
||||||
en: 'Dashboard'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
basic: {
|
basic: {
|
||||||
zh: '系统管理',
|
zh: '系统管理',
|
||||||
@@ -552,8 +548,8 @@ export default {
|
|||||||
zh: '缓存区信息',
|
zh: '缓存区信息',
|
||||||
en: 'Ports Info',
|
en: 'Ports Info',
|
||||||
ports: {
|
ports: {
|
||||||
zh: '仓库',
|
zh: '缓存区信息',
|
||||||
en: 'Warehouse'
|
en: 'Ports Info'
|
||||||
},
|
},
|
||||||
area: {
|
area: {
|
||||||
zh: '区域',
|
zh: '区域',
|
||||||
@@ -709,6 +705,26 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
Warehouse: {
|
||||||
|
zh: '仓库管理',
|
||||||
|
en: 'Warehouse Manager',
|
||||||
|
StorageBoxInfo: {
|
||||||
|
zh: '存储箱信息',
|
||||||
|
en: 'Storage Box Info'
|
||||||
|
},
|
||||||
|
StorageBoxRack: {
|
||||||
|
zh: '存储箱上架',
|
||||||
|
en: 'Storage Box Rack'
|
||||||
|
},
|
||||||
|
CurrentTask: {
|
||||||
|
zh: '当前任务',
|
||||||
|
en: 'Current Task'
|
||||||
|
},
|
||||||
|
HistoricalTask: {
|
||||||
|
zh: '历史任务',
|
||||||
|
en: 'Historical Task'
|
||||||
|
}
|
||||||
|
},
|
||||||
order: {
|
order: {
|
||||||
zh: '工单管理',
|
zh: '工单管理',
|
||||||
en: 'Order Manager',
|
en: 'Order Manager',
|
||||||
@@ -716,6 +732,14 @@ export default {
|
|||||||
zh: 'Power Classification',
|
zh: 'Power Classification',
|
||||||
en: 'Power Classification'
|
en: 'Power Classification'
|
||||||
},
|
},
|
||||||
|
ProcessInfo: {
|
||||||
|
zh: '工艺信息',
|
||||||
|
en: 'Process Info'
|
||||||
|
},
|
||||||
|
ExecutionInfo: {
|
||||||
|
zh: '执行信息',
|
||||||
|
en: 'Execution Info'
|
||||||
|
},
|
||||||
consumption: {
|
consumption: {
|
||||||
zh: '工单能耗',
|
zh: '工单能耗',
|
||||||
en: 'Energy consumption of the repair order'
|
en: 'Energy consumption of the repair order'
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* @Author: gtz
|
* @Author: gtz
|
||||||
* @Date: 2021-03-04 16:13:51
|
* @Date: 2021-03-04 16:13:51
|
||||||
* @LastEditors: zwq
|
* @LastEditors: zwq
|
||||||
* @LastEditTime: 2021-07-21 09:59:34
|
* @LastEditTime: 2022-01-17 15:12:18
|
||||||
* @Description: file content
|
* @Description: file content
|
||||||
*/
|
*/
|
||||||
export default {
|
export default {
|
||||||
@@ -130,9 +130,11 @@ export default {
|
|||||||
CacheCode: 'Ports Code',
|
CacheCode: 'Ports Code',
|
||||||
CacheName: 'Ports Name',
|
CacheName: 'Ports Name',
|
||||||
StockNumber: 'Stock Number',
|
StockNumber: 'Stock Number',
|
||||||
AreaNumber: 'Area Number',
|
AreaNumber: 'Shelf Number',
|
||||||
AreaCode: 'Area Code',
|
AreaCode: 'Shelf Code',
|
||||||
AreaName: 'Area Name',
|
AreaName: 'Shelf Name',
|
||||||
|
rowNum: 'Row Num',
|
||||||
|
columnNum: 'Column Num',
|
||||||
Shelf: 'Shelf',
|
Shelf: 'Shelf',
|
||||||
ManageShelves: 'Manage Shelves',
|
ManageShelves: 'Manage Shelves',
|
||||||
ShelfCode: 'Shelf Code',
|
ShelfCode: 'Shelf Code',
|
||||||
@@ -145,7 +147,7 @@ export default {
|
|||||||
LocationName: 'Location Name',
|
LocationName: 'Location Name',
|
||||||
anotherName: 'Another Name',
|
anotherName: 'Another Name',
|
||||||
place: 'Place',
|
place: 'Place',
|
||||||
addCacheArea: 'add Ports Area'
|
addCacheArea: 'add Ports Shelf'
|
||||||
},
|
},
|
||||||
storageBox: {
|
storageBox: {
|
||||||
name: 'Name',
|
name: 'Name',
|
||||||
@@ -272,5 +274,46 @@ export default {
|
|||||||
EquipmentScrapGrade: {
|
EquipmentScrapGrade: {
|
||||||
keyword: 'name',
|
keyword: 'name',
|
||||||
ScrapGrade: 'Scrap Grade'
|
ScrapGrade: 'Scrap Grade'
|
||||||
|
},
|
||||||
|
Warehouse: {
|
||||||
|
Code: 'Code',
|
||||||
|
TaskType: 'Task Type',
|
||||||
|
TaskStatus: 'Task Status',
|
||||||
|
TaskSource: 'Task Source',
|
||||||
|
VehicleName: 'Vehicle Name',
|
||||||
|
TimeSlot: 'Time Slot',
|
||||||
|
ExecutionTime: 'Execution Time',
|
||||||
|
BoxStatus: 'Box Status',
|
||||||
|
BoxNumber: 'Box Number',
|
||||||
|
PreviousOperation: 'Previous Operation',
|
||||||
|
NextOperation: 'Next Operation',
|
||||||
|
CompletionTime: 'Completion Time',
|
||||||
|
StartLocation: 'Start Location',
|
||||||
|
FullBoxStartLocation: 'FullBox Start Location',
|
||||||
|
TaskLocation: 'Task Location',
|
||||||
|
TargetLocation: 'Target Location',
|
||||||
|
OrderName: 'Order Name',
|
||||||
|
OrderCode: 'Order Code',
|
||||||
|
IssueOrderTime: 'Issue Order Time',
|
||||||
|
TotalProcessName: 'Total Process Name',
|
||||||
|
Priority: 'Priority',
|
||||||
|
OrderStatus: 'Order Status',
|
||||||
|
ProcessOrNot: 'Process Or Not',
|
||||||
|
Unit: 'Unit',
|
||||||
|
RelateProcess: 'Relate Process',
|
||||||
|
PlanProcessQuantity: 'Plan Process Quantity',
|
||||||
|
SubProcessName: 'Sub Process Name',
|
||||||
|
TaskBoxNumber: 'Task Box Number',
|
||||||
|
FullBoxNumber: 'Full Box Number',
|
||||||
|
EmptyFork: 'Empty Fork',
|
||||||
|
TaskBoxFork: 'Task Box Fork',
|
||||||
|
EmptyHandlingTime: 'Empty Handling Time',
|
||||||
|
TaskBoxHandlingTime: 'TaskBox Handling Time',
|
||||||
|
StorageBoxNumber: 'Storage Box Number',
|
||||||
|
CurrentLocation: 'Current Location',
|
||||||
|
IsEmpty: 'Is Empty',
|
||||||
|
IsEmptyBox: 'Is Empty Box',
|
||||||
|
LocationName: 'Location Name',
|
||||||
|
LocationCode: 'Location Code'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* @Author: gtz
|
* @Author: gtz
|
||||||
* @Date: 2021-03-04 16:13:51
|
* @Date: 2021-03-04 16:13:51
|
||||||
* @LastEditors: zwq
|
* @LastEditors: zwq
|
||||||
* @LastEditTime: 2021-07-21 09:58:59
|
* @LastEditTime: 2022-01-17 15:12:12
|
||||||
* @Description: file content
|
* @Description: file content
|
||||||
*/
|
*/
|
||||||
export default {
|
export default {
|
||||||
@@ -130,22 +130,24 @@ export default {
|
|||||||
CacheCode: '缓存区编码',
|
CacheCode: '缓存区编码',
|
||||||
CacheName: '缓存区名称',
|
CacheName: '缓存区名称',
|
||||||
StockNumber: '库位数量',
|
StockNumber: '库位数量',
|
||||||
AreaNumber: '区域数量',
|
AreaNumber: '货架数量',
|
||||||
AreaCode: '区域编码',
|
AreaCode: '货架编码',
|
||||||
AreaName: '区域名称',
|
AreaName: '货架名称',
|
||||||
|
rowNum: '行数',
|
||||||
|
columnNum: '列数',
|
||||||
Shelf: '货架',
|
Shelf: '货架',
|
||||||
ManageShelves: '管理货架',
|
ManageShelves: '管理货架',
|
||||||
ShelfCode: '货架编码',
|
ShelfCode: '货架编码',
|
||||||
ShelfName: '货架名称',
|
ShelfName: '货架名称',
|
||||||
ShelfNumber: '货架数量',
|
ShelfNumber: '货架数量',
|
||||||
StorageQuantity: '存储数量',
|
StorageQuantity: '存储数量',
|
||||||
Location: '货位',
|
Location: '库位',
|
||||||
ManageLocation: '管理货位',
|
ManageLocation: '管理货位',
|
||||||
LocationCode: '库位编码',
|
LocationCode: '库位编码',
|
||||||
LocationName: '库位名称',
|
LocationName: '库位名称',
|
||||||
anotherName: '别名',
|
anotherName: '别名',
|
||||||
place: '位置',
|
place: '位置',
|
||||||
addCacheArea: '添加区域'
|
addCacheArea: '添加货架'
|
||||||
},
|
},
|
||||||
storageBox: {
|
storageBox: {
|
||||||
name: '名称',
|
name: '名称',
|
||||||
@@ -272,5 +274,47 @@ export default {
|
|||||||
EquipmentScrapGrade: {
|
EquipmentScrapGrade: {
|
||||||
keyword: '名称',
|
keyword: '名称',
|
||||||
ScrapGrade: '废片等级'
|
ScrapGrade: '废片等级'
|
||||||
|
},
|
||||||
|
Warehouse: {
|
||||||
|
Code: '编码',
|
||||||
|
TaskType: '任务类型',
|
||||||
|
TaskStatus: '任务状态',
|
||||||
|
TaskSource: '任务来源',
|
||||||
|
VehicleName: '车辆名',
|
||||||
|
TimeSlot: '时间段',
|
||||||
|
ExecutionTime: '执行时间',
|
||||||
|
BoxStatus: '箱状态',
|
||||||
|
BoxNumber: '箱号',
|
||||||
|
PreviousOperation: '上一个工序',
|
||||||
|
NextOperation: '下一个工序',
|
||||||
|
CompletionTime: '完成时间',
|
||||||
|
StartLocation: '开始库位',
|
||||||
|
FullBoxStartLocation: '空箱开始库位',
|
||||||
|
TaskLocation: '任务库位',
|
||||||
|
TargetLocation: '目标库位',
|
||||||
|
OrderName: '工单名',
|
||||||
|
OrderCode: '工单编码',
|
||||||
|
IssueOrderTime: '下发工单时间',
|
||||||
|
TotalProcessName: '总工艺名称',
|
||||||
|
Priority: '优先级',
|
||||||
|
OrderStatus: '工单状态',
|
||||||
|
ProcessOrNot: '是否关联工艺',
|
||||||
|
Unit: '单位',
|
||||||
|
RelateProcess: '关联工艺',
|
||||||
|
PlanProcessQuantity: '计划加工数量',
|
||||||
|
SubProcessName: '分工艺',
|
||||||
|
TaskBoxNumber: '任务箱号',
|
||||||
|
FullBoxNumber: '空箱号',
|
||||||
|
EmptyFork: '空箱货叉',
|
||||||
|
TaskBoxFork: '任务箱货叉',
|
||||||
|
EmptyHandlingTime: '搬运空箱时间',
|
||||||
|
TaskBoxHandlingTime: '搬运任务箱时间',
|
||||||
|
StorageBoxNumber: '存储箱号',
|
||||||
|
CurrentLocation: '当前库位',
|
||||||
|
IsEmpty: '是否有基板',
|
||||||
|
IsEmptyBox: '是否空箱',
|
||||||
|
LocationName: '库位名',
|
||||||
|
LocationCode: '库位编码'
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,11 +15,6 @@
|
|||||||
<svg-icon class="item-icon" icon-class="home" />
|
<svg-icon class="item-icon" icon-class="home" />
|
||||||
{{ 'navbar.homepage' | i18nFilter }}
|
{{ 'navbar.homepage' | i18nFilter }}
|
||||||
</div>
|
</div>
|
||||||
<div class="right-menu-back">
|
|
||||||
<el-badge :value="alarmList.length" class="item" style="line-height: 0; margin: 0 10px;" @click.native="toAlarm">
|
|
||||||
<svg-icon style="width: 24px; height: 24px" class="item-icon" icon-class="alarm" />
|
|
||||||
</el-badge>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<lang-select class="right-menu-item hover-effect" />
|
<lang-select class="right-menu-item hover-effect" />
|
||||||
@@ -27,15 +22,15 @@
|
|||||||
<div v-if="showhome" class="right-menu-back">
|
<div v-if="showhome" class="right-menu-back">
|
||||||
<a href="Lodap.zip"><i class="el-icon-download" /></a>
|
<a href="Lodap.zip"><i class="el-icon-download" /></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="right-menu-back">
|
<!-- <div class="right-menu-back">
|
||||||
<i class="el-icon-alarm-clock" />
|
<i class="el-icon-alarm-clock" />
|
||||||
{{ formatTime }}
|
{{ formatTime }}
|
||||||
</div>
|
</div> -->
|
||||||
|
|
||||||
<el-dropdown class="avatar-container right-menu-item hover-effect" trigger="click">
|
<el-dropdown class="avatar-container right-menu-item hover-effect" trigger="click">
|
||||||
<div class="avatar-wrapper">
|
<div class="avatar-wrapper">
|
||||||
<img :src="require('@/assets/img/head.png')" class="user-avatar">
|
<img :src="require('@/assets/img/head.png')" class="user-avatar">
|
||||||
<div class="avatar-username">{{ username }}</div>
|
<!-- <div class="avatar-username">{{ username }}</div> -->
|
||||||
<!-- <i class="el-icon-caret-bottom" /> -->
|
<!-- <i class="el-icon-caret-bottom" /> -->
|
||||||
</div>
|
</div>
|
||||||
<el-dropdown-menu slot="dropdown">
|
<el-dropdown-menu slot="dropdown">
|
||||||
@@ -71,7 +66,6 @@
|
|||||||
<script>
|
<script>
|
||||||
import axios from 'axios'
|
import axios from 'axios'
|
||||||
import { mapGetters } from 'vuex'
|
import { mapGetters } from 'vuex'
|
||||||
import { alarmInfoList } from '@/api/basicData/AlarmManagement/alarmInfo'
|
|
||||||
import Breadcrumb from '@/components/Breadcrumb'
|
import Breadcrumb from '@/components/Breadcrumb'
|
||||||
import Hamburger from '@/components/Hamburger'
|
import Hamburger from '@/components/Hamburger'
|
||||||
import LangSelect from '@/components/LangSelect'
|
import LangSelect from '@/components/LangSelect'
|
||||||
@@ -122,16 +116,9 @@ export default {
|
|||||||
if (val <= 0) {
|
if (val <= 0) {
|
||||||
this.logout()
|
this.logout()
|
||||||
}
|
}
|
||||||
},
|
|
||||||
$route: function() {
|
|
||||||
this.getAlarm()
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.getAlarm()
|
|
||||||
logoutInterval = setInterval(() => {
|
|
||||||
this.logoutTime -= 1000
|
|
||||||
}, 1000)
|
|
||||||
addEventListener('click', this.logoutTimeReset)
|
addEventListener('click', this.logoutTimeReset)
|
||||||
addEventListener('keydown', this.logoutTimeReset)
|
addEventListener('keydown', this.logoutTimeReset)
|
||||||
addEventListener('visibilitychange', this.visibilitychangeListener)
|
addEventListener('visibilitychange', this.visibilitychangeListener)
|
||||||
@@ -192,24 +179,6 @@ export default {
|
|||||||
async toHome() {
|
async toHome() {
|
||||||
this.$store.dispatch('app/setChoicepart')
|
this.$store.dispatch('app/setChoicepart')
|
||||||
this.$router.push('/')
|
this.$router.push('/')
|
||||||
},
|
|
||||||
getAlarm() {
|
|
||||||
alarmInfoList({
|
|
||||||
current: 1,
|
|
||||||
size: 1000,
|
|
||||||
alarmType: '',
|
|
||||||
code: '',
|
|
||||||
alarmGrade: ''
|
|
||||||
}).then(response => {
|
|
||||||
if (response.data.records) {
|
|
||||||
this.alarmList = response.data.records
|
|
||||||
} else {
|
|
||||||
this.alarmList = []
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
toAlarm() {
|
|
||||||
this.$router.push('/AlarmManagement/AlarmInfo')
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: your name
|
* @Author: your name
|
||||||
* @Date: 2021-01-27 10:07:42
|
* @Date: 2021-01-27 10:07:42
|
||||||
* @LastEditTime: 2021-03-08 11:59:59
|
* @LastEditTime: 2021-12-22 16:06:25
|
||||||
* @LastEditors: gtz
|
* @LastEditors: zwq
|
||||||
* @Description: In User Settings Edit
|
* @Description: In User Settings Edit
|
||||||
* @FilePath: \mt-bus-fe\src\layout\components\Sidebar\index.vue
|
* @FilePath: \mt-bus-fe\src\layout\components\Sidebar\index.vue
|
||||||
-->
|
-->
|
||||||
@@ -31,31 +31,17 @@ import { mapGetters } from 'vuex'
|
|||||||
import Logo from './Logo'
|
import Logo from './Logo'
|
||||||
import SidebarItem from './SidebarItem'
|
import SidebarItem from './SidebarItem'
|
||||||
import variables from '@/styles/variables.scss'
|
import variables from '@/styles/variables.scss'
|
||||||
// import { constantRoutes } from '@/router'
|
import { constantRoutes } from '@/router'
|
||||||
import store from '@/store'
|
|
||||||
export default {
|
export default {
|
||||||
components: { SidebarItem, Logo },
|
components: { SidebarItem, Logo },
|
||||||
computed: {
|
computed: {
|
||||||
...mapGetters([
|
...mapGetters([
|
||||||
'sidebar',
|
'sidebar',
|
||||||
'choicepart',
|
'permission_routes',
|
||||||
'language'
|
'language'
|
||||||
]),
|
]),
|
||||||
partList() {
|
|
||||||
const cangoList = []
|
|
||||||
const constantRoutes = store.getters.permission_routes
|
|
||||||
constantRoutes.map(item => {
|
|
||||||
if (!item.hidden && item.meta) {
|
|
||||||
cangoList.push(item)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
const formatList = cangoList.map((item, index) => {
|
|
||||||
return this.setIndex(item, index)
|
|
||||||
})
|
|
||||||
return formatList
|
|
||||||
},
|
|
||||||
routeList() {
|
routeList() {
|
||||||
return [this.partList[this.choicepart]]
|
return constantRoutes
|
||||||
},
|
},
|
||||||
activeMenu() {
|
activeMenu() {
|
||||||
const route = this.$route
|
const route = this.$route
|
||||||
@@ -67,6 +53,7 @@ export default {
|
|||||||
return path
|
return path
|
||||||
},
|
},
|
||||||
showLogo() {
|
showLogo() {
|
||||||
|
console.log(this.$route)
|
||||||
return this.$store.state.settings.sidebarLogo
|
return this.$store.state.settings.sidebarLogo
|
||||||
},
|
},
|
||||||
variables() {
|
variables() {
|
||||||
@@ -75,24 +62,6 @@ export default {
|
|||||||
isCollapse() {
|
isCollapse() {
|
||||||
return !this.sidebar.opened
|
return !this.sidebar.opened
|
||||||
}
|
}
|
||||||
},
|
|
||||||
watch: {
|
|
||||||
$route: function(val) {
|
|
||||||
if (val.meta.routeIndex >= 0) {
|
|
||||||
this.$store.dispatch('app/setChoicepart', val.meta.routeIndex)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
setIndex(list, index) {
|
|
||||||
list.meta.routeIndex = index
|
|
||||||
if (list.children) {
|
|
||||||
list.children.map(item => {
|
|
||||||
this.setIndex(item, index)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
return list
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -45,8 +45,8 @@ export default {
|
|||||||
return this.$store.state.tagsView.visitedViews
|
return this.$store.state.tagsView.visitedViews
|
||||||
},
|
},
|
||||||
routes() {
|
routes() {
|
||||||
// return this.$store.state.permission.routes
|
return this.$store.state.permission.routes
|
||||||
return []
|
// return []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
|
|||||||
@@ -1,12 +1,11 @@
|
|||||||
/*
|
/*
|
||||||
* @Date: 2020-12-14 09:07:03
|
* @Date: 2020-12-14 09:07:03
|
||||||
* @LastEditors: gtz
|
* @LastEditors: zwq
|
||||||
* @LastEditTime: 2021-02-25 09:42:36
|
* @LastEditTime: 2021-12-22 16:13:30
|
||||||
* @FilePath: \basic-admin\src\permission.js
|
* @FilePath: \basic-admin\src\permission.js
|
||||||
* @Description: 路由权限检查
|
* @Description: 路由权限检查
|
||||||
*/
|
*/
|
||||||
import router from './router'
|
import router from './router'
|
||||||
// import { resetRouter } from '@/router'
|
|
||||||
import { Message } from 'element-ui'
|
import { Message } from 'element-ui'
|
||||||
import NProgress from 'nprogress' // progress bar
|
import NProgress from 'nprogress' // progress bar
|
||||||
import 'nprogress/nprogress.css' // progress bar style
|
import 'nprogress/nprogress.css' // progress bar style
|
||||||
@@ -35,38 +34,28 @@ router.beforeEach(async(to, from, next) => {
|
|||||||
next({ path: '/' })
|
next({ path: '/' })
|
||||||
NProgress.done() // hack: https://github.com/PanJiaChen/vue-element-admin/pull/2939
|
NProgress.done() // hack: https://github.com/PanJiaChen/vue-element-admin/pull/2939
|
||||||
} else {
|
} else {
|
||||||
const hasRoles = store.getters.menus && store.getters.menus.length > 0
|
// next()
|
||||||
console.log('store.getters.menus', store.getters.menus)
|
NProgress.done()
|
||||||
console.log('store.getters', store.getters)
|
try {
|
||||||
console.log('hasRoles=', hasRoles)
|
// // generate accessible routes map based on roles
|
||||||
if (hasRoles) {
|
// const accessRoutes = await store.dispatch('permission/generateRoutes')
|
||||||
console.log('hasRoles=', store.getters.menus)
|
// console.log(accessRoutes)
|
||||||
|
// router.addRoutes(accessRoutes)
|
||||||
next()
|
next()
|
||||||
NProgress.done()
|
|
||||||
} else {
|
|
||||||
try {
|
|
||||||
// // generate accessible routes map based on roles
|
|
||||||
const { menus } = await store.dispatch('user/getInfo')
|
|
||||||
console.log(menus)
|
|
||||||
const accessRoutes = await store.dispatch('permission/generateRoutes', menus)
|
|
||||||
console.log('accessRoutes', accessRoutes)
|
|
||||||
router.addRoutes(accessRoutes)
|
|
||||||
next({ ...to, replace: true })
|
|
||||||
// hack method to ensure that addRoutes is complete
|
// hack method to ensure that addRoutes is complete
|
||||||
// set the replace: true, so the navigation will not leave a history record
|
// set the replace: true, so the navigation will not leave a history record
|
||||||
// next({ ...to, replace: true })
|
// next({ ...to, replace: true })
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
// remove token and go to login page to re-login
|
// remove token and go to login page to re-login
|
||||||
next(`/login?redirect=${to.path}`)
|
next(`/login?redirect=${to.path}`)
|
||||||
await store.dispatch('user/resetToken')
|
await store.dispatch('user/resetToken')
|
||||||
Message.error(error || 'Has Error')
|
Message.error(error || 'Has Error')
|
||||||
NProgress.done()
|
NProgress.done()
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
/* has no token*/
|
/* has no token*/
|
||||||
console.log('has no token to.path=' + to.path)
|
console.log('to.path=' + to.path)
|
||||||
console.log('whiteList.indexOf(to.path)=' + whiteList.indexOf(to.path))
|
console.log('whiteList.indexOf(to.path)=' + whiteList.indexOf(to.path))
|
||||||
if (whiteList.indexOf(to.path) !== -1) {
|
if (whiteList.indexOf(to.path) !== -1) {
|
||||||
// in the free login whitelist, go directly
|
// in the free login whitelist, go directly
|
||||||
|
|||||||
1195
src/router/index.js
1195
src/router/index.js
File diff suppressed because it is too large
Load Diff
@@ -1,13 +1,13 @@
|
|||||||
/*
|
/*
|
||||||
* @Date: 2020-12-14 09:07:03
|
* @Date: 2020-12-14 09:07:03
|
||||||
* @LastEditors: gtz
|
* @LastEditors: Please set LastEditors
|
||||||
* @LastEditTime: 2021-03-08 11:52:17
|
* @LastEditTime: 2021-12-06 14:24:30
|
||||||
* @FilePath: \basic-admin\src\settings.js
|
* @FilePath: \basic-admin\src\settings.js
|
||||||
* @Description:
|
* @Description:
|
||||||
*/
|
*/
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
title: 'ARI MES',
|
title: 'ARI WMS',
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @type {boolean} true | false
|
* @type {boolean} true | false
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* @Date: 2020-12-14 09:07:03
|
* @Date: 2020-12-14 09:07:03
|
||||||
* @LastEditors: gtz
|
* @LastEditors: zwq
|
||||||
* @LastEditTime: 2021-01-29 14:24:20
|
* @LastEditTime: 2021-12-22 11:38:46
|
||||||
* @FilePath: \basic-admin\src\store\getters.js
|
* @FilePath: \basic-admin\src\store\getters.js
|
||||||
* @Description:
|
* @Description:
|
||||||
*/
|
*/
|
||||||
@@ -19,7 +19,6 @@ const getters = {
|
|||||||
introduction: state => state.user.introduction,
|
introduction: state => state.user.introduction,
|
||||||
username: state => state.user.username,
|
username: state => state.user.username,
|
||||||
roles: state => state.user.roles,
|
roles: state => state.user.roles,
|
||||||
menus: state => state.user.menus,
|
|
||||||
permission_routes: state => state.permission.routes
|
permission_routes: state => state.permission.routes
|
||||||
}
|
}
|
||||||
export default getters
|
export default getters
|
||||||
|
|||||||
@@ -1,36 +1,38 @@
|
|||||||
import { dynamicRoutes, constantRoutes } from '@/router'
|
/*
|
||||||
import { getListItems } from '@/utils/tree'
|
* @Author: zwq
|
||||||
|
* @Date: 2021-09-18 16:09:08
|
||||||
|
* @LastEditors: zwq
|
||||||
|
* @LastEditTime: 2021-12-22 15:43:46
|
||||||
|
* @Description:
|
||||||
|
*/
|
||||||
|
import { asyncRoutes, constantRoutes } from '@/router'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Use meta.role to determine if the current user has permission
|
* Use meta.role to determine if the current user has permission
|
||||||
* @param roles
|
* @param roles
|
||||||
* @param route
|
* @param route
|
||||||
*/
|
*/
|
||||||
function hasPermission(menuList, route) {
|
function hasPermission(roles, route) {
|
||||||
// if (route.meta && route.meta.roles) {
|
if (route.meta && route.meta.roles) {
|
||||||
// return roles.some(role => route.meta.roles.includes(role))
|
return roles.some(role => route.meta.roles.includes(role))
|
||||||
// } else {
|
} else {
|
||||||
// return true
|
|
||||||
// }
|
|
||||||
if (route.hidden) {
|
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
return menuList.some(m => route.path === m.h)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Filter asynchronous routing tables by recursion
|
* Filter asynchronous routing tables by recursion
|
||||||
* @param routes asyncRoutes
|
* @param routes asyncRoutes
|
||||||
* @param menuList
|
* @param roles
|
||||||
*/
|
*/
|
||||||
export function filterAsyncRoutes(routes, menuList) {
|
export function filterAsyncRoutes(routes, roles) {
|
||||||
const res = []
|
const res = []
|
||||||
|
|
||||||
routes.forEach(route => {
|
routes.forEach(route => {
|
||||||
const tmp = { ...route }
|
const tmp = { ...route }
|
||||||
if (hasPermission(menuList, tmp)) {
|
if (hasPermission(roles, tmp)) {
|
||||||
if (tmp.children) {
|
if (tmp.children) {
|
||||||
tmp.children = filterAsyncRoutes(tmp.children, menuList)
|
tmp.children = filterAsyncRoutes(tmp.children, roles)
|
||||||
}
|
}
|
||||||
res.push(tmp)
|
res.push(tmp)
|
||||||
}
|
}
|
||||||
@@ -52,19 +54,13 @@ const mutations = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
generateRoutes({ commit }, menus) {
|
generateRoutes({ commit }, roles) {
|
||||||
return new Promise(resolve => {
|
return new Promise(resolve => {
|
||||||
let accessedRoutes
|
let accessedRoutes
|
||||||
console.log(menus)
|
if (roles.includes('admin')) {
|
||||||
if (!menus) {
|
accessedRoutes = asyncRoutes || []
|
||||||
accessedRoutes = []
|
|
||||||
} else {
|
} else {
|
||||||
const menuList = []
|
accessedRoutes = filterAsyncRoutes(asyncRoutes, roles)
|
||||||
getListItems(menus, node => menuList.push(node))
|
|
||||||
console.log(menuList)
|
|
||||||
console.log(dynamicRoutes)
|
|
||||||
accessedRoutes = filterAsyncRoutes(dynamicRoutes, menuList)
|
|
||||||
console.log(accessedRoutes)
|
|
||||||
}
|
}
|
||||||
commit('SET_ROUTES', accessedRoutes)
|
commit('SET_ROUTES', accessedRoutes)
|
||||||
resolve(accessedRoutes)
|
resolve(accessedRoutes)
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ const state = {
|
|||||||
avatar: '',
|
avatar: '',
|
||||||
introduction: '',
|
introduction: '',
|
||||||
roles: [],
|
roles: [],
|
||||||
menus: [],
|
|
||||||
username: Cookies.get('username') || ''
|
username: Cookies.get('username') || ''
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -26,9 +25,6 @@ const mutations = {
|
|||||||
SET_AVATAR: (state, avatar) => {
|
SET_AVATAR: (state, avatar) => {
|
||||||
state.avatar = avatar
|
state.avatar = avatar
|
||||||
},
|
},
|
||||||
SET_MENUS: (state, menus) => {
|
|
||||||
state.menus = menus
|
|
||||||
},
|
|
||||||
SET_ROLES: (state, roles) => {
|
SET_ROLES: (state, roles) => {
|
||||||
state.roles = roles
|
state.roles = roles
|
||||||
},
|
},
|
||||||
@@ -42,7 +38,7 @@ const actions = {
|
|||||||
login({ commit }, userInfo) {
|
login({ commit }, userInfo) {
|
||||||
const { username, password } = userInfo
|
const { username, password } = userInfo
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
login({ mobile: username.trim(), password: password }).then(res => {
|
login({ mobile: String(username).trim(), password }).then(res => {
|
||||||
console.log(res)
|
console.log(res)
|
||||||
if (res.code === 0) {
|
if (res.code === 0) {
|
||||||
const { token, name } = res.data
|
const { token, name } = res.data
|
||||||
@@ -70,17 +66,16 @@ const actions = {
|
|||||||
reject('Verification failed, please Login again.')
|
reject('Verification failed, please Login again.')
|
||||||
}
|
}
|
||||||
|
|
||||||
const { roles, name, avatar, introduction, menus } = data
|
const { roles, name, avatar, introduction } = data
|
||||||
|
|
||||||
// roles must be a non-empty array
|
// roles must be a non-empty array
|
||||||
if (!menus || menus.length <= 0) {
|
if (!roles || roles.length <= 0) {
|
||||||
reject('getInfo: menus must be a non-null array!')
|
reject('getInfo: roles must be a non-null array!')
|
||||||
}
|
}
|
||||||
|
|
||||||
commit('SET_ROLES', roles || [])
|
commit('SET_ROLES', roles)
|
||||||
commit('SET_NAME', name)
|
commit('SET_NAME', name)
|
||||||
commit('SET_AVATAR', avatar)
|
commit('SET_AVATAR', avatar)
|
||||||
commit('SET_MENUS', menus)
|
|
||||||
commit('SET_INTRODUCTION', introduction)
|
commit('SET_INTRODUCTION', introduction)
|
||||||
resolve(data)
|
resolve(data)
|
||||||
}).catch(error => {
|
}).catch(error => {
|
||||||
@@ -97,7 +92,6 @@ const actions = {
|
|||||||
dispatch('tagsView/delAllViews', null, { root: true })
|
dispatch('tagsView/delAllViews', null, { root: true })
|
||||||
commit('SET_TOKEN', '')
|
commit('SET_TOKEN', '')
|
||||||
commit('SET_ROLES', [])
|
commit('SET_ROLES', [])
|
||||||
commit('SET_MENUS', [])
|
|
||||||
commit('SET_USERNAME')
|
commit('SET_USERNAME')
|
||||||
Cookies.set('username', '')
|
Cookies.set('username', '')
|
||||||
localStorage.clear()
|
localStorage.clear()
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* @Author: zwq
|
* @Author: zwq
|
||||||
* @Date: 2020-12-29 15:41:11
|
* @Date: 2020-12-29 15:41:11
|
||||||
* @LastEditors: zwq
|
* @LastEditors: zwq
|
||||||
* @LastEditTime: 2021-03-25 16:09:59
|
* @LastEditTime: 2022-01-11 15:48:58
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
@@ -82,7 +82,7 @@ const tableProps = [
|
|||||||
align: 'center'
|
align: 'center'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'name',
|
prop: 'tareaName',
|
||||||
label: i18n.t('module.basicData.cache.CacheName'),
|
label: i18n.t('module.basicData.cache.CacheName'),
|
||||||
align: 'center'
|
align: 'center'
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* @Author: zwq
|
* @Author: zwq
|
||||||
* @Date: 2020-12-29 16:37:56
|
* @Date: 2020-12-29 16:37:56
|
||||||
* @LastEditors: zwq
|
* @LastEditors: zwq
|
||||||
* @LastEditTime: 2021-04-28 10:07:44
|
* @LastEditTime: 2022-01-11 16:26:29
|
||||||
* @enName:
|
* @enName:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
@@ -16,8 +16,8 @@
|
|||||||
label-width="140px"
|
label-width="140px"
|
||||||
>
|
>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item :label="$t('module.basicData.cache.CacheName')" prop="name">
|
<el-form-item :label="$t('module.basicData.cache.CacheName')" prop="tareaName">
|
||||||
<el-input v-model="dataForm.name" :disabled="isdetail" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.cache.CacheName')])" clearable :style="{width: '100%'}" />
|
<el-input v-model="dataForm.tareaName" :disabled="isdetail" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.cache.CacheName')])" clearable :style="{width: '100%'}" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
@@ -36,64 +36,14 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item :label="$t('module.basicData.visual.Manufacturer')" prop="manufacturer">
|
<el-form-item :label="$t('module.basicData.visual.Specs')" prop="spec">
|
||||||
<el-input
|
<el-input v-model="dataForm.spec" :disabled="isdetail" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.visual.Specs')])" clearable :style="{width: '100%'}" />
|
||||||
v-model="dataForm.manufacturer"
|
|
||||||
:disabled="isdetail"
|
|
||||||
:placeholder="$i18nForm(['placeholder.input', $t('module.basicData.visual.Manufacturer')])"
|
|
||||||
clearable
|
|
||||||
:style="{width: '100%'}"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item :label="$t('module.basicData.visual.Specs')" prop="description">
|
<el-form-item :label="$t('module.basicData.visual.CurrentState')" prop="status">
|
||||||
<el-input v-model="dataForm.description" :disabled="isdetail" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.visual.Specs')])" clearable :style="{width: '100%'}" />
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item :label="$t('module.basicData.visual.productionTime')" prop="productionTime">
|
|
||||||
<el-date-picker
|
|
||||||
v-model="dataForm.productionTime"
|
|
||||||
:disabled="isdetail"
|
|
||||||
format="yyyy-MM-dd"
|
|
||||||
value-format="yyyy-MM-dd"
|
|
||||||
:style="{width: '100%'}"
|
|
||||||
:placeholder="$i18nForm(['placeholder.input', $t('module.basicData.visual.productionTime')])"
|
|
||||||
clearable
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item :label="$t('module.basicData.visual.enterTime')" prop="enterTime">
|
|
||||||
<el-date-picker
|
|
||||||
v-model="dataForm.enterTime"
|
|
||||||
:disabled="isdetail"
|
|
||||||
format="yyyy-MM-dd"
|
|
||||||
value-format="yyyy-MM-dd"
|
|
||||||
:style="{width: '100%'}"
|
|
||||||
:placeholder="$i18nForm(['placeholder.input', $t('module.basicData.visual.enterTime')])"
|
|
||||||
clearable
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item :label="$t('module.basicData.visual.debugTime')" prop="debugTime">
|
|
||||||
<el-date-picker
|
|
||||||
v-model="dataForm.debugTime"
|
|
||||||
:disabled="isdetail"
|
|
||||||
format="yyyy-MM-dd"
|
|
||||||
value-format="yyyy-MM-dd"
|
|
||||||
:style="{width: '100%'}"
|
|
||||||
:placeholder="$i18nForm(['placeholder.input', $t('module.basicData.visual.debugTime')])"
|
|
||||||
clearable
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item :label="$t('module.basicData.visual.CurrentState')" prop="currentStatus">
|
|
||||||
<el-select
|
<el-select
|
||||||
v-model="dataForm.currentStatus"
|
v-model="dataForm.status"
|
||||||
:disabled="isdetail"
|
:disabled="isdetail"
|
||||||
:placeholder="$i18nForm(['placeholder.input', $t('module.basicData.visual.CurrentState')])"
|
:placeholder="$i18nForm(['placeholder.input', $t('module.basicData.visual.CurrentState')])"
|
||||||
clearable
|
clearable
|
||||||
@@ -110,18 +60,18 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item :label="$t('module.basicData.cache.StockNumber')" prop="stockNumber">
|
<el-form-item :label="$t('module.basicData.cache.StockNumber')" prop="locationNum">
|
||||||
<el-input-number v-model="dataForm.stockNumber" :disabled="isdetail" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.cache.StockNumber')])" :step="1" />
|
<el-input-number v-model="dataForm.locationNum" :disabled="isdetail" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.cache.StockNumber')])" :step="1" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item :label="$t('module.basicData.cache.AreaNumber')" prop="areaNumber">
|
<el-form-item :label="$t('module.basicData.cache.AreaNumber')" prop="shelfNum">
|
||||||
<el-input-number v-model="dataForm.areaNumber" :disabled="isdetail" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.cache.AreaNumber')])" :step="1" />
|
<el-input-number v-model="dataForm.shelfNum" :disabled="isdetail" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.cache.AreaNumber')])" :step="1" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item :label="$t('module.basicData.visual.Remarks')" prop="remark">
|
<el-form-item :label="$t('module.basicData.visual.Remarks')" prop="note">
|
||||||
<el-input v-model="dataForm.remark" :disabled="isdetail" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.visual.Remarks')])" clearable :style="{width: '100%'}" />
|
<el-input v-model="dataForm.note" :disabled="isdetail" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.visual.Remarks')])" clearable :style="{width: '100%'}" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-form>
|
</el-form>
|
||||||
@@ -130,7 +80,7 @@
|
|||||||
<el-button type="success" @click="goback()">{{ 'btn.back' | i18nFilter }}</el-button>
|
<el-button type="success" @click="goback()">{{ 'btn.back' | i18nFilter }}</el-button>
|
||||||
<span v-if="!isdetail">
|
<span v-if="!isdetail">
|
||||||
<el-button type="primary" @click="dataFormSubmit()">{{ 'btn.save' | i18nFilter }}</el-button>
|
<el-button type="primary" @click="dataFormSubmit()">{{ 'btn.save' | i18nFilter }}</el-button>
|
||||||
<el-button v-if="listQuery.cacheId" type="primary" @click="addNew()">{{ $t('module.basicData.cache.addCacheArea') }}</el-button>
|
<el-button v-if="listQuery.id" type="primary" @click="addNew()">{{ $t('module.basicData.cache.addCacheArea') }}</el-button>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div style="height:380px;overflow:auto">
|
<div style="height:380px;overflow:auto">
|
||||||
@@ -148,7 +98,7 @@
|
|||||||
/>
|
/>
|
||||||
</base-table>
|
</base-table>
|
||||||
</div>
|
</div>
|
||||||
<cacheArea-add v-if="addOrUpdateVisible" ref="addOrUpdate" :cache-id="listQuery.cacheId" @refreshDataList="getList" />
|
<cacheArea-add v-if="addOrUpdateVisible" ref="addOrUpdate" :cache-id="listQuery.id" @refreshDataList="getList" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -159,7 +109,6 @@ import BaseTable from '@/components/BaseTable'
|
|||||||
import MethodBtn from '@/components/BaseTable/subcomponents/MethodBtn'
|
import MethodBtn from '@/components/BaseTable/subcomponents/MethodBtn'
|
||||||
import cacheAreaAdd from './cacheArea-add.vue'
|
import cacheAreaAdd from './cacheArea-add.vue'
|
||||||
import shelfBtn from './shelfBtn.vue'
|
import shelfBtn from './shelfBtn.vue'
|
||||||
import { timeFormatter } from '@/filters'
|
|
||||||
const tableBtn = [
|
const tableBtn = [
|
||||||
{
|
{
|
||||||
type: 'edit',
|
type: 'edit',
|
||||||
@@ -171,12 +120,6 @@ const tableBtn = [
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
const tableProps = [
|
const tableProps = [
|
||||||
{
|
|
||||||
prop: 'createTime',
|
|
||||||
label: i18n.t('module.basicData.factory.createTime'),
|
|
||||||
filter: timeFormatter,
|
|
||||||
align: 'center'
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
prop: 'name',
|
prop: 'name',
|
||||||
label: i18n.t('module.basicData.cache.AreaName'),
|
label: i18n.t('module.basicData.cache.AreaName'),
|
||||||
@@ -188,13 +131,23 @@ const tableProps = [
|
|||||||
align: 'center'
|
align: 'center'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'areaNumber',
|
prop: 'shelfNum',
|
||||||
label: i18n.t('module.basicData.cache.StorageQuantity'),
|
label: i18n.t('module.basicData.cache.StorageQuantity'),
|
||||||
align: 'center'
|
align: 'center'
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
prop: 'rowNum',
|
||||||
|
label: i18n.t('module.basicData.cache.rowNum'),
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'columnNum',
|
||||||
|
label: i18n.t('module.basicData.cache.columnNum'),
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
{
|
{
|
||||||
prop: 'shelf',
|
prop: 'shelf',
|
||||||
label: i18n.t('module.basicData.cache.Shelf'),
|
label: i18n.t('module.basicData.cache.Location'),
|
||||||
subcomponent: shelfBtn,
|
subcomponent: shelfBtn,
|
||||||
align: 'center'
|
align: 'center'
|
||||||
}
|
}
|
||||||
@@ -210,27 +163,23 @@ export default {
|
|||||||
tableProps,
|
tableProps,
|
||||||
list: [],
|
list: [],
|
||||||
dataForm: {
|
dataForm: {
|
||||||
name: '',
|
tareaName: '',
|
||||||
code: '',
|
code: '',
|
||||||
enName: '',
|
enName: '',
|
||||||
abbr: '',
|
abbr: '',
|
||||||
manufacturer: '',
|
spec: '',
|
||||||
description: '',
|
status: '',
|
||||||
productionTime: '',
|
locationNum: '',
|
||||||
enterTime: '',
|
shelfNum: '',
|
||||||
debugTime: '',
|
note: ''
|
||||||
currentStatus: '',
|
|
||||||
stockNumber: '',
|
|
||||||
areaNumber: '',
|
|
||||||
remark: ''
|
|
||||||
},
|
},
|
||||||
listQuery: {
|
listQuery: {
|
||||||
current: 1,
|
current: 1,
|
||||||
size: 990,
|
size: 990,
|
||||||
cacheId: ''
|
id: ''
|
||||||
},
|
},
|
||||||
rules: {
|
rules: {
|
||||||
name: [{
|
tareaName: [{
|
||||||
required: true,
|
required: true,
|
||||||
message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.cache.CacheName')]),
|
message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.cache.CacheName')]),
|
||||||
trigger: 'blur'
|
trigger: 'blur'
|
||||||
@@ -243,35 +192,35 @@ export default {
|
|||||||
},
|
},
|
||||||
currentStatusOptions: [{
|
currentStatusOptions: [{
|
||||||
'label': '正常',
|
'label': '正常',
|
||||||
'value': '0'
|
'value': 0
|
||||||
}, {
|
}, {
|
||||||
'label': '暂停',
|
'label': '暂停',
|
||||||
'value': '1'
|
'value': 1
|
||||||
}, {
|
}, {
|
||||||
'label': '维修',
|
'label': '维修',
|
||||||
'value': '2'
|
'value': 2
|
||||||
}],
|
}],
|
||||||
cacheId: '',
|
id: '', // 缓存区id
|
||||||
isdetail: false
|
isdetail: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.cacheId = this.$route.query.id
|
this.id = this.$route.query.id
|
||||||
this.init()
|
this.init()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
init() {
|
init() {
|
||||||
this.isdetail = false
|
this.isdetail = false
|
||||||
this.isdetail = Boolean(this.$route.query.isdetail)
|
this.isdetail = Boolean(this.$route.query.isdetail)
|
||||||
this.listQuery.cacheId = ''
|
this.listQuery.id = ''
|
||||||
this.list.splice(0, this.list.length)
|
this.list.splice(0, this.list.length)
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs['dataForm'].resetFields()
|
this.$refs['dataForm'].resetFields()
|
||||||
if (this.cacheId) {
|
if (this.id) {
|
||||||
cacheDetail(this.cacheId).then(res => {
|
cacheDetail(this.id).then(res => {
|
||||||
this.dataForm = res.data
|
this.dataForm = res.data
|
||||||
})
|
})
|
||||||
this.listQuery.cacheId = this.cacheId
|
this.listQuery.id = this.id
|
||||||
areaList(this.listQuery).then(response => {
|
areaList(this.listQuery).then(response => {
|
||||||
if (response.data.records) {
|
if (response.data.records) {
|
||||||
this.list = response.data.records
|
this.list = response.data.records
|
||||||
@@ -322,20 +271,16 @@ export default {
|
|||||||
const data = {
|
const data = {
|
||||||
'abbr': this.dataForm.abbr,
|
'abbr': this.dataForm.abbr,
|
||||||
'code': this.dataForm.code,
|
'code': this.dataForm.code,
|
||||||
'currentStatus': this.dataForm.currentStatus,
|
'status': this.dataForm.status,
|
||||||
'debugTime': this.dataForm.debugTime,
|
|
||||||
'enName': this.dataForm.enName,
|
'enName': this.dataForm.enName,
|
||||||
'enterTime': this.dataForm.enterTime,
|
'tareaName': this.dataForm.tareaName,
|
||||||
'manufacturer': this.dataForm.manufacturer,
|
'note': this.dataForm.note,
|
||||||
'name': this.dataForm.name,
|
'spec': this.dataForm.spec,
|
||||||
'productionTime': this.dataForm.productionTime,
|
'locationNum': this.dataForm.locationNum,
|
||||||
'remark': this.dataForm.remark,
|
'shelfNum': this.dataForm.shelfNum,
|
||||||
'description': this.dataForm.description,
|
'id': this.id
|
||||||
'stockNumber': this.dataForm.stockNumber,
|
|
||||||
'areaNumber': this.dataForm.areaNumber,
|
|
||||||
'id': this.cacheId
|
|
||||||
}
|
}
|
||||||
if (this.cacheId) {
|
if (this.id) {
|
||||||
cacheUpdate(data).then(res => {
|
cacheUpdate(data).then(res => {
|
||||||
this.$message({
|
this.$message({
|
||||||
message: this.$t('module.basicData.visual.success'),
|
message: this.$t('module.basicData.visual.success'),
|
||||||
@@ -350,7 +295,7 @@ export default {
|
|||||||
type: 'success',
|
type: 'success',
|
||||||
duration: 1500
|
duration: 1500
|
||||||
})
|
})
|
||||||
this.listQuery.cacheId = res.data.id
|
this.listQuery.id = res.data.id
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* @Author: zwq
|
* @Author: zwq
|
||||||
* @Date: 2020-12-29 16:37:56
|
* @Date: 2020-12-29 16:37:56
|
||||||
* @LastEditors: zwq
|
* @LastEditors: zwq
|
||||||
* @LastEditTime: 2021-07-21 13:59:43
|
* @LastEditTime: 2022-01-11 16:45:30
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
@@ -11,17 +11,14 @@
|
|||||||
:visible.sync="visible"
|
:visible.sync="visible"
|
||||||
>
|
>
|
||||||
<el-form ref="dataForm" :model="dataForm" :rules="dataRule" label-width="130px" @keyup.enter.native="dataFormSubmit()">
|
<el-form ref="dataForm" :model="dataForm" :rules="dataRule" label-width="130px" @keyup.enter.native="dataFormSubmit()">
|
||||||
<el-form-item :label="$t('module.basicData.storageBox.name')" prop="name">
|
<el-form-item :label="$t('module.basicData.storageBox.name')" prop="storageBoxName">
|
||||||
<el-input v-model="dataForm.name" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.storageBox.name')])" clearable />
|
<el-input v-model="dataForm.storageBoxName" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.storageBox.name')])" clearable />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="$t('module.basicData.storageBox.code')" prop="code">
|
<el-form-item :label="$t('module.basicData.storageBox.code')" prop="code">
|
||||||
<el-input v-model="dataForm.code" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.storageBox.code')])" clearable />
|
<el-input v-model="dataForm.code" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.storageBox.code')])" clearable />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="$t('module.basicData.storageBox.StorageQuantity')" prop="quantity">
|
<el-form-item :label="$t('module.basicData.visual.EnglishName')" prop="enName">
|
||||||
<el-input-number v-model="dataForm.quantity" :min="0" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.storageBox.StorageQuantity')])" />
|
<el-input v-model="dataForm.enName" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.visual.EnglishName')])" clearable />
|
||||||
</el-form-item>
|
|
||||||
<el-form-item :label="$t('module.basicData.storageBox.alias')" prop="aliasName">
|
|
||||||
<el-input v-model="dataForm.aliasName" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.storageBox.alias')])" clearable />
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="$t('module.basicData.storageBox.status')" prop="status">
|
<el-form-item :label="$t('module.basicData.storageBox.status')" prop="status">
|
||||||
<el-select v-model="dataForm.status" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.storageBox.status')])" clearable>
|
<el-select v-model="dataForm.status" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.storageBox.status')])" clearable>
|
||||||
@@ -33,8 +30,8 @@
|
|||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item :label="$t('module.basicData.visual.Remarks')" prop="remark">
|
<el-form-item :label="$t('module.basicData.visual.Remarks')" prop="note">
|
||||||
<el-input v-model="dataForm.remark" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.visual.Remarks')])" clearable />
|
<el-input v-model="dataForm.note" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.visual.Remarks')])" clearable />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<span slot="footer" class="dialog-footer">
|
<span slot="footer" class="dialog-footer">
|
||||||
@@ -53,12 +50,11 @@ export default {
|
|||||||
visible: false,
|
visible: false,
|
||||||
dataForm: {
|
dataForm: {
|
||||||
id: 0,
|
id: 0,
|
||||||
name: '',
|
storageBoxName: '',
|
||||||
code: '',
|
code: '',
|
||||||
status: 0,
|
status: 0,
|
||||||
aliasName: '',
|
enName: '',
|
||||||
quantity: 0,
|
note: ''
|
||||||
remark: ''
|
|
||||||
},
|
},
|
||||||
options: [
|
options: [
|
||||||
{
|
{
|
||||||
@@ -75,7 +71,7 @@ export default {
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
dataRule: {
|
dataRule: {
|
||||||
name: [
|
storageBoxName: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.storageBox.name')]),
|
message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.storageBox.name')]),
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
* @Author: zwq
|
* @Author: zwq
|
||||||
* @Date: 2020-12-29 15:41:11
|
* @Date: 2020-12-29 15:41:11
|
||||||
* @LastEditors: zwq
|
* @LastEditors: zwq
|
||||||
* @LastEditTime: 2021-07-21 14:00:56
|
* @LastEditTime: 2022-01-11 16:46:48
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
@@ -41,7 +41,6 @@
|
|||||||
<script>import i18n from '@/lang'
|
<script>import i18n from '@/lang'
|
||||||
import HeadForm from '@/components/basicData/HeadForm'
|
import HeadForm from '@/components/basicData/HeadForm'
|
||||||
import BaseTable from '@/components/BaseTable'
|
import BaseTable from '@/components/BaseTable'
|
||||||
import PositionDetail from './components/PositionDetail'
|
|
||||||
import storageBoxAdd from './components/storageBox-add'
|
import storageBoxAdd from './components/storageBox-add'
|
||||||
import Pagination from '@/components/Pagination' // Secondary package based on el-pagination
|
import Pagination from '@/components/Pagination' // Secondary package based on el-pagination
|
||||||
import MethodBtn from '@/components/BaseTable/subcomponents/MethodBtn'
|
import MethodBtn from '@/components/BaseTable/subcomponents/MethodBtn'
|
||||||
@@ -82,7 +81,7 @@ const tableProps = [
|
|||||||
align: 'center'
|
align: 'center'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'name',
|
prop: 'storageBoxName',
|
||||||
label: i18n.t('module.basicData.storageBox.name'),
|
label: i18n.t('module.basicData.storageBox.name'),
|
||||||
align: 'center'
|
align: 'center'
|
||||||
},
|
},
|
||||||
@@ -92,13 +91,8 @@ const tableProps = [
|
|||||||
align: 'center'
|
align: 'center'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'aliasName',
|
prop: 'enName',
|
||||||
label: i18n.t('module.basicData.storageBox.alias'),
|
label: i18n.t('module.basicData.visual.EnglishName'),
|
||||||
align: 'center'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
prop: 'quantity',
|
|
||||||
label: i18n.t('module.basicData.storageBox.StorageQuantity'),
|
|
||||||
align: 'center'
|
align: 'center'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -108,15 +102,9 @@ const tableProps = [
|
|||||||
align: 'center'
|
align: 'center'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'remark',
|
prop: 'note',
|
||||||
label: i18n.t('module.basicData.storageBox.remark'),
|
label: i18n.t('module.basicData.storageBox.remark'),
|
||||||
align: 'center'
|
align: 'center'
|
||||||
},
|
|
||||||
{
|
|
||||||
prop: 'location',
|
|
||||||
label: i18n.t('module.basicData.cache.Location'),
|
|
||||||
subcomponent: PositionDetail,
|
|
||||||
align: 'center'
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -157,7 +145,7 @@ export default {
|
|||||||
methods: {
|
methods: {
|
||||||
handleClick(raw) {
|
handleClick(raw) {
|
||||||
if (raw.type === 'delete') {
|
if (raw.type === 'delete') {
|
||||||
this.$confirm(`${this.$t('module.basicData.visual.TipsBefore')}[${raw.data.name}]?`, this.$t('module.basicData.visual.Tips'), {
|
this.$confirm(`${this.$t('module.basicData.visual.TipsBefore')}[${raw.data.storageBoxName}]?`, this.$t('module.basicData.visual.Tips'), {
|
||||||
confirmButtonText: this.$t('module.basicData.visual.confirmButtonText'),
|
confirmButtonText: this.$t('module.basicData.visual.confirmButtonText'),
|
||||||
cancelButtonText: this.$t('module.basicData.visual.cancelButtonText'),
|
cancelButtonText: this.$t('module.basicData.visual.cancelButtonText'),
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
@@ -181,8 +169,7 @@ export default {
|
|||||||
},
|
},
|
||||||
getList(key) {
|
getList(key) {
|
||||||
this.listLoading = true
|
this.listLoading = true
|
||||||
this.listQuery.name = key
|
this.listQuery.storageBoxName = key
|
||||||
this.listQuery.code = key
|
|
||||||
storageBoxList(this.listQuery).then(response => {
|
storageBoxList(this.listQuery).then(response => {
|
||||||
if (response.data.records) {
|
if (response.data.records) {
|
||||||
this.list = response.data.records
|
this.list = response.data.records
|
||||||
|
|||||||
254
src/views/basicData/Warehouse/CurrentTask.vue
Normal file
254
src/views/basicData/Warehouse/CurrentTask.vue
Normal file
@@ -0,0 +1,254 @@
|
|||||||
|
<!--
|
||||||
|
* @Author: zwq
|
||||||
|
* @Date: 2020-12-29 15:41:11
|
||||||
|
* @LastEditors: zwq
|
||||||
|
* @LastEditTime: 2022-01-14 15:54:12
|
||||||
|
* @Description:
|
||||||
|
-->
|
||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
<el-form
|
||||||
|
ref="formData"
|
||||||
|
:model="formData"
|
||||||
|
:inline="true"
|
||||||
|
size="medium"
|
||||||
|
label-width="100px"
|
||||||
|
>
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.TaskType')" prop="taskType">
|
||||||
|
<el-select v-model="formData.taskType" filterable :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.Warehouse.TaskType')])" clearable>
|
||||||
|
<el-option
|
||||||
|
v-for="item in taskTypeList"
|
||||||
|
:key="item.value"
|
||||||
|
:label="item.label"
|
||||||
|
:value="item.value"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.TaskStatus')" prop="status">
|
||||||
|
<el-select v-model="formData.status" filterable :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.Warehouse.TaskStatus')])" clearable>
|
||||||
|
<el-option
|
||||||
|
v-for="item in TaskStatusList"
|
||||||
|
:key="item.value"
|
||||||
|
:label="item.label"
|
||||||
|
:value="item.value"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.VehicleName')" prop="equipmentId">
|
||||||
|
<el-select v-model="formData.equipmentId" filterable :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.Warehouse.VehicleName')])" clearable>
|
||||||
|
<el-option
|
||||||
|
v-for="item in VehicleNameList"
|
||||||
|
:key="item.value"
|
||||||
|
:label="item.label"
|
||||||
|
:value="item.value"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-button type="primary" @click="getList()"> {{ 'btn.search' | i18nFilter }} </el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<base-table
|
||||||
|
:page="formData.current"
|
||||||
|
:limit="formData.size"
|
||||||
|
:table-config="tableProps"
|
||||||
|
:table-data="list"
|
||||||
|
:is-loading="listLoading"
|
||||||
|
>
|
||||||
|
<method-btn
|
||||||
|
slot="handleBtn"
|
||||||
|
:width="trueWidth"
|
||||||
|
:method-list="tableBtn"
|
||||||
|
@clickBtn="handleClick"
|
||||||
|
/>
|
||||||
|
</base-table>
|
||||||
|
<pagination
|
||||||
|
v-show="total > 0"
|
||||||
|
:total="total"
|
||||||
|
:page.sync="formData.current"
|
||||||
|
:limit.sync="formData.size"
|
||||||
|
@pagination="getList()"
|
||||||
|
/>
|
||||||
|
<current-task-info v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getList" />
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { CurrentTaskList } from '@/api/basicData/Warehouse/HistoricalTask'
|
||||||
|
import CurrentTaskInfo from './components/CurrentTaskInfo.vue'
|
||||||
|
import i18n from '@/lang'
|
||||||
|
import BaseTable from '@/components/BaseTable'
|
||||||
|
import Pagination from '@/components/Pagination' // Secondary package based on el-pagination
|
||||||
|
import MethodBtn from '@/components/BaseTable/subcomponents/MethodBtn'
|
||||||
|
// import { timeFormatter } from '@/filters'
|
||||||
|
/**
|
||||||
|
* 表格表头配置项 TypeScript接口注释
|
||||||
|
* tableConfig<ConfigItem> = []
|
||||||
|
*
|
||||||
|
* Interface ConfigItem = {
|
||||||
|
* prop: string,
|
||||||
|
* label: string,
|
||||||
|
* width: string,
|
||||||
|
* align: string,
|
||||||
|
* subcomponent: function,
|
||||||
|
* filter: function
|
||||||
|
* }
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
const tableBtn = [
|
||||||
|
{
|
||||||
|
type: 'view',
|
||||||
|
btnName: 'btn.see'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
const tableProps = [
|
||||||
|
{
|
||||||
|
prop: 'taskCode',
|
||||||
|
label: i18n.t('module.basicData.Warehouse.Code'),
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'createTime',
|
||||||
|
label: i18n.t('module.basicData.Warehouse.ExecutionTime'),
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'taskSource',
|
||||||
|
label: i18n.t('module.basicData.Warehouse.TaskSource'),
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'taskType',
|
||||||
|
label: i18n.t('module.basicData.Warehouse.TaskType'),
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'fullCode',
|
||||||
|
label: i18n.t('module.basicData.Warehouse.TaskBoxNumber'),
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'emptyCode',
|
||||||
|
label: i18n.t('module.basicData.Warehouse.FullBoxNumber'),
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'wcurrProcessCode',
|
||||||
|
label: i18n.t('module.basicData.Warehouse.PreviousOperation'),
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'wnextProcessCode',
|
||||||
|
label: i18n.t('module.basicData.Warehouse.NextOperation'),
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'anotherCurrLocation',
|
||||||
|
label: i18n.t('module.basicData.Warehouse.StartLocation'),
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'anotherTargetLocation',
|
||||||
|
label: i18n.t('module.basicData.Warehouse.TargetLocation'),
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'currLocation',
|
||||||
|
label: i18n.t('module.basicData.Warehouse.FullBoxStartLocation'),
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'name',
|
||||||
|
label: i18n.t('module.basicData.Warehouse.VehicleName'),
|
||||||
|
align: 'center'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'ScrapInfo',
|
||||||
|
components: { Pagination, BaseTable, MethodBtn, CurrentTaskInfo },
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
trueWidth: 100,
|
||||||
|
addOrUpdateVisible: false,
|
||||||
|
tableProps,
|
||||||
|
tableBtn,
|
||||||
|
list: [],
|
||||||
|
total: 0,
|
||||||
|
listLoading: false,
|
||||||
|
formData: {
|
||||||
|
taskType: '',
|
||||||
|
status: '',
|
||||||
|
equipmentId: '',
|
||||||
|
current: 1,
|
||||||
|
size: 10
|
||||||
|
},
|
||||||
|
taskTypeList: [{
|
||||||
|
'label': '出库',
|
||||||
|
'value': 0
|
||||||
|
}, {
|
||||||
|
'label': '入库',
|
||||||
|
'value': 1
|
||||||
|
}, {
|
||||||
|
'label': '流转',
|
||||||
|
'value': 2
|
||||||
|
}],
|
||||||
|
TaskStatusList: [{
|
||||||
|
'label': '初始化',
|
||||||
|
'value': 0
|
||||||
|
}, {
|
||||||
|
'label': '损坏',
|
||||||
|
'value': 1
|
||||||
|
}],
|
||||||
|
VehicleNameList: [{
|
||||||
|
'label': '小车1',
|
||||||
|
'value': 0
|
||||||
|
}, {
|
||||||
|
'label': '小车2',
|
||||||
|
'value': 1
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.getList()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
getList() {
|
||||||
|
this.listLoading = true
|
||||||
|
CurrentTaskList(this.formData).then(response => {
|
||||||
|
if (response.data.records) {
|
||||||
|
this.list = response.data.records
|
||||||
|
} else {
|
||||||
|
this.list.splice(0, this.list.length)
|
||||||
|
}
|
||||||
|
this.total = response.data.total
|
||||||
|
this.listLoading = false
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleClick(raw) {
|
||||||
|
console.log(raw)
|
||||||
|
this.addNew(raw.data.id)
|
||||||
|
},
|
||||||
|
// 新增 / 修改
|
||||||
|
addNew(id) {
|
||||||
|
this.addOrUpdateVisible = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.addOrUpdate.init(id)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.edit-input {
|
||||||
|
padding-right: 100px;
|
||||||
|
}
|
||||||
|
.cancel-btn {
|
||||||
|
position: absolute;
|
||||||
|
right: 15px;
|
||||||
|
top: 10px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
276
src/views/basicData/Warehouse/HistoricalTask.vue
Normal file
276
src/views/basicData/Warehouse/HistoricalTask.vue
Normal file
@@ -0,0 +1,276 @@
|
|||||||
|
<!--
|
||||||
|
* @Author: zwq
|
||||||
|
* @Date: 2020-12-29 15:41:11
|
||||||
|
* @LastEditors: zwq
|
||||||
|
* @LastEditTime: 2022-01-13 15:49:01
|
||||||
|
* @Description:
|
||||||
|
-->
|
||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
<el-form
|
||||||
|
ref="formData"
|
||||||
|
:model="formData"
|
||||||
|
:inline="true"
|
||||||
|
size="medium"
|
||||||
|
label-width="100px"
|
||||||
|
>
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.TaskType')" prop="taskType">
|
||||||
|
<el-select v-model="formData.taskType" filterable :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.Warehouse.TaskType')])" clearable>
|
||||||
|
<el-option
|
||||||
|
v-for="item in taskTypeList"
|
||||||
|
:key="item.value"
|
||||||
|
:label="item.label"
|
||||||
|
:value="item.value"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.TaskStatus')" prop="status">
|
||||||
|
<el-select v-model="formData.status" filterable :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.Warehouse.TaskStatus')])" clearable>
|
||||||
|
<el-option
|
||||||
|
v-for="item in TaskStatusList"
|
||||||
|
:key="item.value"
|
||||||
|
:label="item.label"
|
||||||
|
:value="item.value"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.VehicleName')" prop="equipmentId">
|
||||||
|
<el-select v-model="formData.equipmentId" filterable :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.Warehouse.VehicleName')])" clearable>
|
||||||
|
<el-option
|
||||||
|
v-for="item in VehicleNameList"
|
||||||
|
:key="item.value"
|
||||||
|
:label="item.label"
|
||||||
|
:value="item.value"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.TimeSlot')" prop="time">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="formData.timeSlot"
|
||||||
|
type="daterange"
|
||||||
|
format="yyyy-MM-dd"
|
||||||
|
value-format="yyyy-MM-dd"
|
||||||
|
:start-placeholder="$t('module.orderManage.order.StartTime')"
|
||||||
|
:end-placeholder="$t('module.orderManage.order.StartTime')"
|
||||||
|
:range-separator="$t('module.orderManage.order.To')"
|
||||||
|
clearable
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-button type="primary" @click="getList()"> {{ 'btn.search' | i18nFilter }} </el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<base-table
|
||||||
|
:page="formData.current"
|
||||||
|
:limit="formData.size"
|
||||||
|
:table-config="tableProps"
|
||||||
|
:table-data="list"
|
||||||
|
:is-loading="listLoading"
|
||||||
|
>
|
||||||
|
<method-btn
|
||||||
|
slot="handleBtn"
|
||||||
|
:width="trueWidth"
|
||||||
|
:method-list="tableBtn"
|
||||||
|
@clickBtn="handleClick"
|
||||||
|
/>
|
||||||
|
</base-table>
|
||||||
|
<pagination
|
||||||
|
v-show="total > 0"
|
||||||
|
:total="total"
|
||||||
|
:page.sync="formData.current"
|
||||||
|
:limit.sync="formData.size"
|
||||||
|
@pagination="getList()"
|
||||||
|
/>
|
||||||
|
<historical-task-info v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getList" />
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { HistoricalTaskList } from '@/api/basicData/Warehouse/HistoricalTask'
|
||||||
|
import HistoricalTaskInfo from './components/HistoricalTaskInfo.vue'
|
||||||
|
import i18n from '@/lang'
|
||||||
|
import BaseTable from '@/components/BaseTable'
|
||||||
|
import Pagination from '@/components/Pagination' // Secondary package based on el-pagination
|
||||||
|
import MethodBtn from '@/components/BaseTable/subcomponents/MethodBtn'
|
||||||
|
// import { timeFormatter } from '@/filters'
|
||||||
|
/**
|
||||||
|
* 表格表头配置项 TypeScript接口注释
|
||||||
|
* tableConfig<ConfigItem> = []
|
||||||
|
*
|
||||||
|
* Interface ConfigItem = {
|
||||||
|
* prop: string,
|
||||||
|
* label: string,
|
||||||
|
* width: string,
|
||||||
|
* align: string,
|
||||||
|
* subcomponent: function,
|
||||||
|
* filter: function
|
||||||
|
* }
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
const tableBtn = [
|
||||||
|
{
|
||||||
|
type: 'view',
|
||||||
|
btnName: 'btn.see'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
const tableProps = [
|
||||||
|
{
|
||||||
|
prop: 'taskCode',
|
||||||
|
label: i18n.t('module.basicData.Warehouse.Code'),
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'createTime',
|
||||||
|
label: i18n.t('module.basicData.Warehouse.ExecutionTime'),
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'status',
|
||||||
|
label: i18n.t('module.basicData.Warehouse.TaskStatus'),
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
|
// {
|
||||||
|
// prop: 'taskType',
|
||||||
|
// label: i18n.t('module.basicData.Warehouse.TaskType'),
|
||||||
|
// align: 'center'
|
||||||
|
// },
|
||||||
|
{
|
||||||
|
prop: 'name',
|
||||||
|
label: i18n.t('module.basicData.Warehouse.VehicleName'),
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
|
// {
|
||||||
|
// prop: 'substrateNo',
|
||||||
|
// label: i18n.t('module.basicData.Warehouse.BoxStatus'),
|
||||||
|
// align: 'center'
|
||||||
|
// },
|
||||||
|
{
|
||||||
|
prop: 'wcode',
|
||||||
|
label: i18n.t('module.basicData.Warehouse.BoxNumber'),
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'wcurrProcessCode',
|
||||||
|
label: i18n.t('module.basicData.Warehouse.PreviousOperation'),
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'wnextProcessCode',
|
||||||
|
label: i18n.t('module.basicData.Warehouse.NextOperation'),
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'updateTime',
|
||||||
|
label: i18n.t('module.basicData.Warehouse.CompletionTime'),
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'currLocation',
|
||||||
|
label: i18n.t('module.basicData.Warehouse.StartLocation'),
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'targetLocation',
|
||||||
|
label: i18n.t('module.basicData.Warehouse.TargetLocation'),
|
||||||
|
align: 'center'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'ScrapInfo',
|
||||||
|
components: { Pagination, BaseTable, MethodBtn, HistoricalTaskInfo },
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
trueWidth: 100,
|
||||||
|
addOrUpdateVisible: false,
|
||||||
|
tableProps,
|
||||||
|
tableBtn,
|
||||||
|
list: [],
|
||||||
|
total: 0,
|
||||||
|
listLoading: false,
|
||||||
|
formData: {
|
||||||
|
taskType: '',
|
||||||
|
status: '',
|
||||||
|
equipmentId: '',
|
||||||
|
timeSlot: [],
|
||||||
|
endTime: '',
|
||||||
|
startTime: '',
|
||||||
|
current: 1,
|
||||||
|
size: 10
|
||||||
|
},
|
||||||
|
taskTypeList: [{
|
||||||
|
'label': '出库',
|
||||||
|
'value': 0
|
||||||
|
}, {
|
||||||
|
'label': '入库',
|
||||||
|
'value': 1
|
||||||
|
}, {
|
||||||
|
'label': '流转',
|
||||||
|
'value': 2
|
||||||
|
}],
|
||||||
|
TaskStatusList: [{
|
||||||
|
'label': '初始化',
|
||||||
|
'value': 0
|
||||||
|
}, {
|
||||||
|
'label': '损坏',
|
||||||
|
'value': 1
|
||||||
|
}],
|
||||||
|
VehicleNameList: [{
|
||||||
|
'label': '小车1',
|
||||||
|
'value': 0
|
||||||
|
}, {
|
||||||
|
'label': '小车2',
|
||||||
|
'value': 1
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.getList()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
getList() {
|
||||||
|
if (this.formData.timeSlot) {
|
||||||
|
this.formData.startTime = this.formData.timeSlot[0]
|
||||||
|
this.formData.endTime = this.formData.timeSlot[1]
|
||||||
|
} else {
|
||||||
|
this.formData.startTime = ''
|
||||||
|
this.formData.endTime = ''
|
||||||
|
}
|
||||||
|
this.listLoading = true
|
||||||
|
HistoricalTaskList(this.formData).then(response => {
|
||||||
|
if (response.data.records) {
|
||||||
|
this.list = response.data.records
|
||||||
|
} else {
|
||||||
|
this.list.splice(0, this.list.length)
|
||||||
|
}
|
||||||
|
this.total = response.data.total
|
||||||
|
this.listLoading = false
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleClick(raw) {
|
||||||
|
console.log(raw)
|
||||||
|
this.addNew(raw.data.id)
|
||||||
|
},
|
||||||
|
// 新增 / 修改
|
||||||
|
addNew(id) {
|
||||||
|
this.addOrUpdateVisible = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.addOrUpdate.init(id)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.edit-input {
|
||||||
|
padding-right: 100px;
|
||||||
|
}
|
||||||
|
.cancel-btn {
|
||||||
|
position: absolute;
|
||||||
|
right: 15px;
|
||||||
|
top: 10px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
160
src/views/basicData/Warehouse/StorageBoxInfo.vue
Normal file
160
src/views/basicData/Warehouse/StorageBoxInfo.vue
Normal file
@@ -0,0 +1,160 @@
|
|||||||
|
<!--
|
||||||
|
* @Author: zwq
|
||||||
|
* @Date: 2020-12-29 15:41:11
|
||||||
|
* @LastEditors: zwq
|
||||||
|
* @LastEditTime: 2022-01-18 14:30:25
|
||||||
|
* @Description:
|
||||||
|
-->
|
||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
<el-form ref="listQuery" :model="listQuery" :inline="true" label-width="120px" @keyup.enter.native="getList()">
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.StorageBoxNumber')" prop="code">
|
||||||
|
<el-select
|
||||||
|
v-model="listQuery.code"
|
||||||
|
:placeholder="$i18nForm(['placeholder.input', $t('module.basicData.Warehouse.StorageBoxNumber')])"
|
||||||
|
clearable
|
||||||
|
filterable
|
||||||
|
:style="{width: '100%'}"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="(item, index) in storageBoxList"
|
||||||
|
:key="index"
|
||||||
|
:label="item.code"
|
||||||
|
:value="item.code"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-button type="primary" @click="getList()">{{ 'btn.search' | i18nFilter }}</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
<base-table
|
||||||
|
:page="listQuery.current"
|
||||||
|
:limit="listQuery.size"
|
||||||
|
:table-config="tableProps"
|
||||||
|
:table-data="list"
|
||||||
|
:is-loading="listLoading"
|
||||||
|
/>
|
||||||
|
<pagination
|
||||||
|
v-show="total > 0"
|
||||||
|
:total="total"
|
||||||
|
:page.sync="listQuery.current"
|
||||||
|
:limit.sync="listQuery.size"
|
||||||
|
@pagination="getList()"
|
||||||
|
/>
|
||||||
|
</el-form></div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { StorageBoxInfoList, StorageBoxRackCode } from '@/api/basicData/Warehouse/StorageBoxInfo'
|
||||||
|
import BaseTable from '@/components/BaseTable'
|
||||||
|
import Pagination from '@/components/Pagination' // Secondary package based on el-pagination
|
||||||
|
import warehouse from '@/filters/basicData/warehouse'
|
||||||
|
import i18n from '@/lang'
|
||||||
|
/**
|
||||||
|
* 表格表头配置项 TypeScript接口注释
|
||||||
|
* tableConfig<ConfigItem> = []
|
||||||
|
*
|
||||||
|
* Interface ConfigItem = {
|
||||||
|
* prop: string,
|
||||||
|
* label: string,
|
||||||
|
* width: string,
|
||||||
|
* align: string,
|
||||||
|
* subcomponent: function,
|
||||||
|
* filter: function
|
||||||
|
* }
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
const tableProps = [
|
||||||
|
{
|
||||||
|
prop: 'storageCode',
|
||||||
|
label: i18n.t('module.basicData.Warehouse.StorageBoxNumber'),
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'status',
|
||||||
|
label: i18n.t('module.basicData.Warehouse.BoxStatus'),
|
||||||
|
filter: warehouse('enableState'),
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'currLocation',
|
||||||
|
label: i18n.t('module.basicData.Warehouse.CurrentLocation'),
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'isEmpty',
|
||||||
|
label: i18n.t('module.basicData.Warehouse.IsEmpty'),
|
||||||
|
filter: warehouse('yesOrNo'),
|
||||||
|
align: 'center'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'StorageBoxInfo',
|
||||||
|
components: { Pagination, BaseTable },
|
||||||
|
filters: {
|
||||||
|
statusFilter(status) {
|
||||||
|
const statusMap = {
|
||||||
|
published: 'success',
|
||||||
|
draft: 'info',
|
||||||
|
deleted: 'danger'
|
||||||
|
}
|
||||||
|
return statusMap[status]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
keyName: i18n.t('module.basicData.Warehouse.StorageBoxNumber'),
|
||||||
|
placeholderName: this.$t('module.basicData.Warehouse.StorageBoxNumber'),
|
||||||
|
trueWidth: 200,
|
||||||
|
tableProps,
|
||||||
|
list: [],
|
||||||
|
storageBoxList: [],
|
||||||
|
total: 0,
|
||||||
|
listLoading: true,
|
||||||
|
listQuery: {
|
||||||
|
current: 1,
|
||||||
|
size: 10,
|
||||||
|
code: ''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.getList()
|
||||||
|
const listQuery1 = {
|
||||||
|
current: 1,
|
||||||
|
size: 100
|
||||||
|
}
|
||||||
|
StorageBoxRackCode(listQuery1).then(res => {
|
||||||
|
this.storageBoxList = res.data.records
|
||||||
|
})
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
getList() {
|
||||||
|
this.listLoading = true
|
||||||
|
StorageBoxInfoList(this.listQuery).then(response => {
|
||||||
|
if (response.data.records) {
|
||||||
|
this.list = response.data.records
|
||||||
|
} else {
|
||||||
|
this.list.splice(0, this.list.length)
|
||||||
|
}
|
||||||
|
this.total = response.data.total
|
||||||
|
this.listLoading = false
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.edit-input {
|
||||||
|
padding-right: 100px;
|
||||||
|
}
|
||||||
|
.cancel-btn {
|
||||||
|
position: absolute;
|
||||||
|
right: 15px;
|
||||||
|
top: 10px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
247
src/views/basicData/Warehouse/StorageBoxRack.vue
Normal file
247
src/views/basicData/Warehouse/StorageBoxRack.vue
Normal file
@@ -0,0 +1,247 @@
|
|||||||
|
<!--
|
||||||
|
* @Author: zwq
|
||||||
|
* @Date: 2020-12-29 15:41:11
|
||||||
|
* @LastEditors: zwq
|
||||||
|
* @LastEditTime: 2022-01-17 14:06:53
|
||||||
|
* @Description:
|
||||||
|
-->
|
||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
<el-form ref="listQuery" :model="listQuery" :inline="true" label-width="120px" @keyup.enter.native="getList()">
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.LocationName')" prop="currLocationId">
|
||||||
|
<el-select
|
||||||
|
v-model="listQuery.currLocationId"
|
||||||
|
:placeholder="$i18nForm(['placeholder.input', $t('module.basicData.Warehouse.LocationName')])"
|
||||||
|
clearable
|
||||||
|
filterable
|
||||||
|
:style="{width: '100%'}"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="(item, index) in LocationList"
|
||||||
|
:key="index"
|
||||||
|
:label="item.locationName"
|
||||||
|
:value="item.id"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.StorageBoxNumber')" prop="storageBoxId">
|
||||||
|
<el-select
|
||||||
|
v-model="listQuery.storageBoxId"
|
||||||
|
:placeholder="$i18nForm(['placeholder.input', $t('module.basicData.Warehouse.StorageBoxNumber')])"
|
||||||
|
clearable
|
||||||
|
filterable
|
||||||
|
:style="{width: '100%'}"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="(item, index) in storageBoxList"
|
||||||
|
:key="index"
|
||||||
|
:label="item.code"
|
||||||
|
:value="item.id"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-button type="primary" @click="getList()">{{ 'btn.search' | i18nFilter }}</el-button>
|
||||||
|
<el-button type="primary" @click="addNew()">{{ 'btn.add' | i18nFilter }}</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<base-table
|
||||||
|
:page="listQuery.current"
|
||||||
|
:limit="listQuery.size"
|
||||||
|
:table-config="tableProps"
|
||||||
|
:table-data="list"
|
||||||
|
:is-loading="listLoading"
|
||||||
|
>
|
||||||
|
<method-btn
|
||||||
|
slot="handleBtn"
|
||||||
|
:width="trueWidth"
|
||||||
|
:method-list="tableBtn"
|
||||||
|
@clickBtn="handleClick"
|
||||||
|
/>
|
||||||
|
</base-table>
|
||||||
|
<pagination
|
||||||
|
v-show="total > 0"
|
||||||
|
:total="total"
|
||||||
|
:page.sync="listQuery.current"
|
||||||
|
:limit.sync="listQuery.size"
|
||||||
|
@pagination="getList()"
|
||||||
|
/>
|
||||||
|
<Factory-add v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getList" />
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { StorageBoxRackList, StorageBoxRackDelete, StorageBoxRackCode, locationList } from '@/api/basicData/Warehouse/StorageBoxInfo'
|
||||||
|
import FactoryAdd from './components/StorageBoxRack-add.vue'
|
||||||
|
import BaseTable from '@/components/BaseTable'
|
||||||
|
import Pagination from '@/components/Pagination' // Secondary package based on el-pagination
|
||||||
|
import MethodBtn from '@/components/BaseTable/subcomponents/MethodBtn'
|
||||||
|
import { timeFormatter } from '@/filters'
|
||||||
|
import warehouse from '@/filters/basicData/warehouse'
|
||||||
|
import i18n from '@/lang'
|
||||||
|
/**
|
||||||
|
* 表格表头配置项 TypeScript接口注释
|
||||||
|
* tableConfig<ConfigItem> = []
|
||||||
|
*
|
||||||
|
* Interface ConfigItem = {
|
||||||
|
* prop: string,
|
||||||
|
* label: string,
|
||||||
|
* width: string,
|
||||||
|
* align: string,
|
||||||
|
* subcomponent: function,
|
||||||
|
* filter: function
|
||||||
|
* }
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
const tableBtn = [
|
||||||
|
{
|
||||||
|
type: 'edit',
|
||||||
|
btnName: 'btn.edit'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'delete',
|
||||||
|
btnName: 'btn.delete'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
const tableProps = [
|
||||||
|
{
|
||||||
|
prop: 'createTime',
|
||||||
|
label: i18n.t('module.basicData.factory.createTime'),
|
||||||
|
filter: timeFormatter,
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'code',
|
||||||
|
label: i18n.t('module.basicData.Warehouse.StorageBoxNumber'),
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'status',
|
||||||
|
label: i18n.t('module.basicData.Warehouse.BoxStatus'),
|
||||||
|
filter: warehouse('enableState'),
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'currLocation',
|
||||||
|
label: i18n.t('module.basicData.Warehouse.LocationName'),
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'currLocationName',
|
||||||
|
label: i18n.t('module.basicData.Warehouse.LocationCode'),
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'isEmpty',
|
||||||
|
label: i18n.t('module.basicData.Warehouse.IsEmptyBox'),
|
||||||
|
filter: warehouse('yesOrNo'),
|
||||||
|
align: 'center'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'StorageBoxInfo',
|
||||||
|
components: { Pagination, BaseTable, MethodBtn, FactoryAdd },
|
||||||
|
filters: {
|
||||||
|
statusFilter(status) {
|
||||||
|
const statusMap = {
|
||||||
|
published: 'success',
|
||||||
|
draft: 'info',
|
||||||
|
deleted: 'danger'
|
||||||
|
}
|
||||||
|
return statusMap[status]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
keyName: i18n.t('module.basicData.Warehouse.StorageBoxNumber'),
|
||||||
|
placeholderName: this.$t('module.basicData.Warehouse.StorageBoxNumber'),
|
||||||
|
addOrUpdateVisible: false,
|
||||||
|
tableBtn,
|
||||||
|
trueWidth: 200,
|
||||||
|
tableProps,
|
||||||
|
list: [],
|
||||||
|
total: 0,
|
||||||
|
LocationList: [],
|
||||||
|
storageBoxList: [],
|
||||||
|
listLoading: true,
|
||||||
|
listQuery: {
|
||||||
|
current: 1,
|
||||||
|
size: 10,
|
||||||
|
storageBoxId: '',
|
||||||
|
currLocationId: ''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.getList()
|
||||||
|
const listQuery1 = {
|
||||||
|
current: 1,
|
||||||
|
size: 100
|
||||||
|
}
|
||||||
|
locationList(listQuery1).then(response => {
|
||||||
|
this.LocationList = response.data
|
||||||
|
})
|
||||||
|
StorageBoxRackCode(listQuery1).then(res => {
|
||||||
|
this.storageBoxList = res.data.records
|
||||||
|
})
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
handleClick(raw) {
|
||||||
|
console.log(raw)
|
||||||
|
if (raw.type === 'delete') {
|
||||||
|
this.$confirm(`${this.$t('module.basicData.visual.TipsBefore')}[${raw.data.code}]?`, this.$t('module.basicData.visual.Tips'), {
|
||||||
|
confirmButtonText: this.$t('module.basicData.visual.confirmButtonText'),
|
||||||
|
cancelButtonText: this.$t('module.basicData.visual.cancelButtonText'),
|
||||||
|
type: 'warning'
|
||||||
|
}).then(() => {
|
||||||
|
StorageBoxRackDelete(raw.data.id).then(response => {
|
||||||
|
this.$message({
|
||||||
|
message: this.$t('module.basicData.visual.success'),
|
||||||
|
type: 'success',
|
||||||
|
duration: 1500,
|
||||||
|
onClose: () => {
|
||||||
|
this.getList()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}).catch(() => {})
|
||||||
|
} else {
|
||||||
|
this.addNew(raw.data.id)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
getList() {
|
||||||
|
this.listLoading = true
|
||||||
|
StorageBoxRackList(this.listQuery).then(response => {
|
||||||
|
if (response.data.records) {
|
||||||
|
this.list = response.data.records
|
||||||
|
} else {
|
||||||
|
this.list.splice(0, this.list.length)
|
||||||
|
}
|
||||||
|
this.total = response.data.total
|
||||||
|
this.listLoading = false
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 新增 / 修改
|
||||||
|
addNew(id) {
|
||||||
|
this.addOrUpdateVisible = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.addOrUpdate.init(id)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.edit-input {
|
||||||
|
padding-right: 100px;
|
||||||
|
}
|
||||||
|
.cancel-btn {
|
||||||
|
position: absolute;
|
||||||
|
right: 15px;
|
||||||
|
top: 10px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
178
src/views/basicData/Warehouse/components/CurrentTaskInfo.vue
Normal file
178
src/views/basicData/Warehouse/components/CurrentTaskInfo.vue
Normal file
@@ -0,0 +1,178 @@
|
|||||||
|
<!--
|
||||||
|
* @Author: zwq
|
||||||
|
* @Date: 2020-12-29 16:37:56
|
||||||
|
* @LastEditors: zwq
|
||||||
|
* @LastEditTime: 2022-01-14 15:55:39
|
||||||
|
* @Description:
|
||||||
|
-->
|
||||||
|
<template>
|
||||||
|
<el-dialog
|
||||||
|
:title="'btn.see' | i18nFilter"
|
||||||
|
:visible.sync="visible"
|
||||||
|
>
|
||||||
|
<el-row :gutter="10">
|
||||||
|
<el-form
|
||||||
|
ref="dataForm"
|
||||||
|
:model="dataForm"
|
||||||
|
size="medium"
|
||||||
|
label-width="110px"
|
||||||
|
label-position="left"
|
||||||
|
>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.Code')" prop="taskCode">
|
||||||
|
<el-input v-model="dataForm.taskCode" readonly :style="{width: '100%'}" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.OrderName')" prop="orderName">
|
||||||
|
<el-input v-model="dataForm.orderName" readonly :style="{width: '100%'}" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.TaskBoxNumber')" prop="fullCode">
|
||||||
|
<el-input v-model="dataForm.fullCode" readonly :style="{width: '100%'}" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.VehicleName')" prop="name">
|
||||||
|
<el-input v-model="dataForm.name" readonly :style="{width: '100%'}" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.EmptyFork')" prop="field124">
|
||||||
|
<el-input v-model="dataForm.field124" readonly :style="{width: '100%'}" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.EmptyHandlingTime')" prop="field119">
|
||||||
|
<el-input v-model="dataForm.field119" readonly :style="{width: '100%'}" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.ExecutionTime')" prop="createTime">
|
||||||
|
<el-input v-model="dataForm.createTime" readonly :style="{width: '100%'}" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.TaskType')" prop="taskType">
|
||||||
|
<el-input v-model="dataForm.taskType" readonly :style="{width: '100%'}" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.FullBoxNumber')" prop="emptyCode">
|
||||||
|
<el-input v-model="dataForm.emptyCode" readonly :style="{width: '100%'}" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.TaskLocation')" prop="anotherCurrLocation">
|
||||||
|
<el-input
|
||||||
|
v-model="dataForm.anotherCurrLocation"
|
||||||
|
readonly
|
||||||
|
:style="{width: '100%'}"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.TaskBoxFork')" prop="field121">
|
||||||
|
<el-input v-model="dataForm.field121" readonly :style="{width: '100%'}" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.TaskSource')" prop="taskSource">
|
||||||
|
<el-input v-model="dataForm.taskSource" readonly :style="{width: '100%'}" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.PreviousOperation')" prop="anotherCurrProcessCode">
|
||||||
|
<el-input
|
||||||
|
v-model="dataForm.anotherCurrProcessCode"
|
||||||
|
readonly
|
||||||
|
:style="{width: '100%'}"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.NextOperation')" prop="anotherNextProcessCode">
|
||||||
|
<el-input
|
||||||
|
v-model="dataForm.anotherNextProcessCode"
|
||||||
|
readonly
|
||||||
|
:style="{width: '100%'}"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.TargetLocation')" prop="anotherTargetLocation">
|
||||||
|
<el-input
|
||||||
|
v-model="dataForm.anotherTargetLocation"
|
||||||
|
readonly
|
||||||
|
:style="{width: '100%'}"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.BoxStatus')" prop="field126">
|
||||||
|
<el-input v-model="dataForm.field126" readonly :style="{width: '100%'}" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-col>
|
||||||
|
</el-form>
|
||||||
|
</el-row>
|
||||||
|
<span slot="footer" class="dialog-footer">
|
||||||
|
<el-button @click="visible = false">{{ 'btn.cancel' | i18nFilter }}</el-button>
|
||||||
|
</span>
|
||||||
|
</el-dialog>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { CurrentTaskDetail } from '@/api/basicData/Warehouse/HistoricalTask'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
visible: false,
|
||||||
|
dataForm: {
|
||||||
|
id: '',
|
||||||
|
taskCode: undefined,
|
||||||
|
orderName: undefined,
|
||||||
|
fullCode: undefined,
|
||||||
|
name: undefined,
|
||||||
|
field124: undefined,
|
||||||
|
field119: undefined,
|
||||||
|
createTime: undefined,
|
||||||
|
taskType: undefined,
|
||||||
|
emptyCode: undefined,
|
||||||
|
anotherCurrLocation: undefined,
|
||||||
|
field121: undefined,
|
||||||
|
taskSource: undefined,
|
||||||
|
anotherCurrProcessCode: undefined,
|
||||||
|
anotherNextProcessCode: undefined,
|
||||||
|
anotherTargetLocation: undefined,
|
||||||
|
field126: undefined
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
init(id) {
|
||||||
|
this.dataForm.id = id
|
||||||
|
this.visible = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs['dataForm'].resetFields()
|
||||||
|
CurrentTaskDetail(this.dataForm.id).then(res => {
|
||||||
|
this.dataForm = res.data
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
194
src/views/basicData/Warehouse/components/HistoricalTaskInfo.vue
Normal file
194
src/views/basicData/Warehouse/components/HistoricalTaskInfo.vue
Normal file
@@ -0,0 +1,194 @@
|
|||||||
|
<!--
|
||||||
|
* @Author: zwq
|
||||||
|
* @Date: 2020-12-29 16:37:56
|
||||||
|
* @LastEditors: zwq
|
||||||
|
* @LastEditTime: 2022-01-13 16:22:39
|
||||||
|
* @Description:
|
||||||
|
-->
|
||||||
|
<template>
|
||||||
|
<el-dialog
|
||||||
|
:title="'btn.see' | i18nFilter"
|
||||||
|
:visible.sync="visible"
|
||||||
|
>
|
||||||
|
<el-row :gutter="10">
|
||||||
|
<el-form
|
||||||
|
ref="dataForm"
|
||||||
|
:model="dataForm"
|
||||||
|
size="medium"
|
||||||
|
label-width="110px"
|
||||||
|
label-position="left"
|
||||||
|
>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.Code')" prop="taskCode">
|
||||||
|
<el-input v-model="dataForm.taskCode" readonly :style="{width: '100%'}" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.OrderName')" prop="orderName">
|
||||||
|
<el-input v-model="dataForm.orderName" readonly :style="{width: '100%'}" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.TaskBoxNumber')" prop="fullCode">
|
||||||
|
<el-input v-model="dataForm.fullCode" readonly :style="{width: '100%'}" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.VehicleName')" prop="name">
|
||||||
|
<el-input v-model="dataForm.name" readonly :style="{width: '100%'}" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.EmptyFork')" prop="field124">
|
||||||
|
<el-input v-model="dataForm.field124" readonly :style="{width: '100%'}" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.EmptyHandlingTime')" prop="field119">
|
||||||
|
<el-input v-model="dataForm.field119" readonly :style="{width: '100%'}" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.ExecutionTime')" prop="createTime">
|
||||||
|
<el-input v-model="dataForm.createTime" readonly :style="{width: '100%'}" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.TaskType')" prop="taskType">
|
||||||
|
<el-input v-model="dataForm.taskType" readonly :style="{width: '100%'}" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.FullBoxNumber')" prop="emptyCode">
|
||||||
|
<el-input v-model="dataForm.emptyCode" readonly :style="{width: '100%'}" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.TaskLocation')" prop="anotherCurrLocation">
|
||||||
|
<el-input
|
||||||
|
v-model="dataForm.anotherCurrLocation"
|
||||||
|
readonly
|
||||||
|
:style="{width: '100%'}"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.TaskBoxFork')" prop="field121">
|
||||||
|
<el-input v-model="dataForm.field121" readonly :style="{width: '100%'}" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.TaskBoxHandlingTime')" prop="field122">
|
||||||
|
<el-input
|
||||||
|
v-model="dataForm.field122"
|
||||||
|
readonly
|
||||||
|
:style="{width: '100%'}"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.TaskSource')" prop="taskSource">
|
||||||
|
<el-input v-model="dataForm.taskSource" readonly :style="{width: '100%'}" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.PreviousOperation')" prop="anotherCurrProcessCode">
|
||||||
|
<el-input
|
||||||
|
v-model="dataForm.anotherCurrProcessCode"
|
||||||
|
readonly
|
||||||
|
:style="{width: '100%'}"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.NextOperation')" prop="anotherNextProcessCode">
|
||||||
|
<el-input
|
||||||
|
v-model="dataForm.anotherNextProcessCode"
|
||||||
|
readonly
|
||||||
|
:style="{width: '100%'}"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.TargetLocation')" prop="anotherTargetLocation">
|
||||||
|
<el-input
|
||||||
|
v-model="dataForm.anotherTargetLocation"
|
||||||
|
readonly
|
||||||
|
:style="{width: '100%'}"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.CompletionTime')" prop="field125">
|
||||||
|
<el-input v-model="dataForm.field125" readonly :style="{width: '100%'}" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.BoxStatus')" prop="field126">
|
||||||
|
<el-input v-model="dataForm.field126" readonly :style="{width: '100%'}" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-col>
|
||||||
|
</el-form>
|
||||||
|
</el-row>
|
||||||
|
<span slot="footer" class="dialog-footer">
|
||||||
|
<el-button @click="visible = false">{{ 'btn.cancel' | i18nFilter }}</el-button>
|
||||||
|
</span>
|
||||||
|
</el-dialog>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { HistoricalTaskDetail } from '@/api/basicData/Warehouse/HistoricalTask'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
visible: false,
|
||||||
|
dataForm: {
|
||||||
|
id: '',
|
||||||
|
taskCode: undefined,
|
||||||
|
orderName: undefined,
|
||||||
|
fullCode: undefined,
|
||||||
|
name: undefined,
|
||||||
|
field124: undefined,
|
||||||
|
field119: undefined,
|
||||||
|
createTime: undefined,
|
||||||
|
taskType: undefined,
|
||||||
|
emptyCode: undefined,
|
||||||
|
anotherCurrLocation: undefined,
|
||||||
|
field121: undefined,
|
||||||
|
field122: undefined,
|
||||||
|
taskSource: undefined,
|
||||||
|
anotherCurrProcessCode: undefined,
|
||||||
|
anotherNextProcessCode: undefined,
|
||||||
|
anotherTargetLocation: undefined,
|
||||||
|
field125: undefined,
|
||||||
|
field126: undefined
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
init(id) {
|
||||||
|
this.dataForm.id = id
|
||||||
|
this.visible = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs['dataForm'].resetFields()
|
||||||
|
HistoricalTaskDetail(this.dataForm.id).then(res => {
|
||||||
|
this.dataForm = res.data
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
@@ -0,0 +1,65 @@
|
|||||||
|
<!--
|
||||||
|
* @Author: zwq
|
||||||
|
* @Date: 2020-12-29 16:37:56
|
||||||
|
* @LastEditors: zwq
|
||||||
|
* @LastEditTime: 2022-01-17 10:19:45
|
||||||
|
* @Description:
|
||||||
|
-->
|
||||||
|
<template>
|
||||||
|
<el-dialog
|
||||||
|
:title="!dataForm.id ? 'btn.add' : 'btn.edit' | i18nFilter"
|
||||||
|
:visible.sync="visible"
|
||||||
|
>
|
||||||
|
<el-form ref="dataForm" :model="dataForm" label-width="120px">
|
||||||
|
<el-form-item :label="$t('module.basicData.factory.FactoryName')" prop="name">
|
||||||
|
<el-input v-model="dataForm.name" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.factory.FactoryName')])" clearable />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item :label="$t('module.basicData.factory.FactoryCode')" prop="code">
|
||||||
|
<el-input v-model="dataForm.code" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.factory.FactoryCode')])" clearable />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item :label="$t('module.basicData.factory.Address')" prop="address">
|
||||||
|
<el-input v-model="dataForm.address" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.factory.Address')])" clearable />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item :label="$t('module.basicData.visual.Remarks')" prop="description">
|
||||||
|
<el-input v-model="dataForm.description" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.visual.Remarks')])" clearable />
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<span slot="footer" class="dialog-footer">
|
||||||
|
<el-button @click="visible = false">{{ 'btn.cancel' | i18nFilter }}</el-button>
|
||||||
|
</span>
|
||||||
|
</el-dialog>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { StorageBoxInfoDetail } from '@/api/basicData/Warehouse/StorageBoxInfo'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
visible: false,
|
||||||
|
dataForm: {
|
||||||
|
id: 0,
|
||||||
|
name: '',
|
||||||
|
code: '',
|
||||||
|
address: '',
|
||||||
|
description: ''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
init(id) {
|
||||||
|
this.dataForm.id = id || ''
|
||||||
|
this.visible = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs['dataForm'].resetFields()
|
||||||
|
StorageBoxInfoDetail(this.dataForm.id).then(res => {
|
||||||
|
this.dataForm.name = res.data.name
|
||||||
|
this.dataForm.code = res.data.code
|
||||||
|
this.dataForm.address = res.data.address
|
||||||
|
this.dataForm.description = res.data.description
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
180
src/views/basicData/Warehouse/components/StorageBoxRack-add.vue
Normal file
180
src/views/basicData/Warehouse/components/StorageBoxRack-add.vue
Normal file
@@ -0,0 +1,180 @@
|
|||||||
|
<!--
|
||||||
|
* @Author: zwq
|
||||||
|
* @Date: 2020-12-29 16:37:56
|
||||||
|
* @LastEditors: zwq
|
||||||
|
* @LastEditTime: 2022-01-17 11:21:26
|
||||||
|
* @Description:
|
||||||
|
-->
|
||||||
|
<template>
|
||||||
|
<el-dialog
|
||||||
|
:title="!dataForm.id ? 'btn.add' : 'btn.edit' | i18nFilter"
|
||||||
|
:visible.sync="visible"
|
||||||
|
>
|
||||||
|
<el-form ref="dataForm" :model="dataForm" :rules="dataRule" label-width="120px" @keyup.enter.native="dataFormSubmit()">
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.LocationName')" prop="currLocationId">
|
||||||
|
<el-select
|
||||||
|
v-model="dataForm.currLocationId"
|
||||||
|
:placeholder="$i18nForm(['placeholder.input', $t('module.basicData.Warehouse.LocationName')])"
|
||||||
|
clearable
|
||||||
|
filterable
|
||||||
|
:style="{width: '100%'}"
|
||||||
|
@change="selectGetLabel1"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="(item, index) in LocationList"
|
||||||
|
:key="index"
|
||||||
|
:label="item.locationName"
|
||||||
|
:value="item.id"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.StorageBoxNumber')" prop="storageBoxId">
|
||||||
|
<el-select
|
||||||
|
v-model="dataForm.storageBoxId"
|
||||||
|
:placeholder="$i18nForm(['placeholder.input', $t('module.basicData.Warehouse.StorageBoxNumber')])"
|
||||||
|
clearable
|
||||||
|
filterable
|
||||||
|
:style="{width: '100%'}"
|
||||||
|
@change="selectGetLabel2"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="(item, index) in storageBoxList"
|
||||||
|
:key="index"
|
||||||
|
:label="item.code"
|
||||||
|
:value="item.id"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.BoxStatus')" prop="status">
|
||||||
|
<el-switch
|
||||||
|
v-model="dataForm.status"
|
||||||
|
:active-value="1"
|
||||||
|
:inactive-value="0"
|
||||||
|
active-color="#13ce66"
|
||||||
|
inactive-color="#AAAAAA"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.IsEmptyBox')" prop="isEmpty">
|
||||||
|
<el-switch
|
||||||
|
v-model="dataForm.isEmpty"
|
||||||
|
:active-value="1"
|
||||||
|
:inactive-value="0"
|
||||||
|
active-color="#13ce66"
|
||||||
|
inactive-color="#AAAAAA"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<span slot="footer" class="dialog-footer">
|
||||||
|
<el-button @click="visible = false">{{ 'btn.cancel' | i18nFilter }}</el-button>
|
||||||
|
<el-button type="primary" @click="dataFormSubmit()">{{ 'btn.confirm' | i18nFilter }}</el-button>
|
||||||
|
</span>
|
||||||
|
</el-dialog>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { StorageBoxRackDetail, StorageBoxRackUpdate, StorageBoxRackAdd, StorageBoxRackCode, locationList } from '@/api/basicData/Warehouse/StorageBoxInfo'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
visible: false,
|
||||||
|
dataForm: {
|
||||||
|
id: 0,
|
||||||
|
code: '',
|
||||||
|
locationName: '',
|
||||||
|
currLocationId: '',
|
||||||
|
storageBoxId: '',
|
||||||
|
status: '',
|
||||||
|
isEmpty: ''
|
||||||
|
},
|
||||||
|
LocationList: [],
|
||||||
|
storageBoxList: [],
|
||||||
|
dataRule: {
|
||||||
|
currLocationId: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.Warehouse.LocationName')]),
|
||||||
|
trigger: 'blur' }
|
||||||
|
],
|
||||||
|
storageBoxId: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.Warehouse.StorageBoxNumber')]),
|
||||||
|
trigger: 'blur' }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
init(id) {
|
||||||
|
this.dataForm.id = id || ''
|
||||||
|
this.visible = true
|
||||||
|
const listQuery = {
|
||||||
|
current: 1,
|
||||||
|
size: 100
|
||||||
|
}
|
||||||
|
locationList(listQuery).then(response => {
|
||||||
|
this.LocationList = response.data
|
||||||
|
})
|
||||||
|
StorageBoxRackCode(listQuery).then(res => {
|
||||||
|
this.storageBoxList = res.data.records
|
||||||
|
})
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs['dataForm'].resetFields()
|
||||||
|
if (this.dataForm.id) {
|
||||||
|
StorageBoxRackDetail(this.dataForm.id).then(res => {
|
||||||
|
this.dataForm = res.data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
selectGetLabel1(vId) {
|
||||||
|
let obj = {}
|
||||||
|
obj = this.LocationList.find((item) => {
|
||||||
|
return item.id === vId
|
||||||
|
})
|
||||||
|
this.dataForm.locationName = obj.locationName
|
||||||
|
},
|
||||||
|
selectGetLabel2(vId) {
|
||||||
|
let obj = {}
|
||||||
|
obj = this.storageBoxList.find((item) => {
|
||||||
|
return item.id === vId
|
||||||
|
})
|
||||||
|
this.dataForm.code = obj.code
|
||||||
|
},
|
||||||
|
// 表单提交
|
||||||
|
dataFormSubmit() {
|
||||||
|
this.$refs['dataForm'].validate((valid) => {
|
||||||
|
if (valid) {
|
||||||
|
const data = this.dataForm
|
||||||
|
if (this.dataForm.id) {
|
||||||
|
StorageBoxRackUpdate(data).then(res => {
|
||||||
|
this.$message({
|
||||||
|
message: this.$t('module.basicData.visual.success'),
|
||||||
|
type: 'success',
|
||||||
|
duration: 1500,
|
||||||
|
onClose: () => {
|
||||||
|
this.visible = false
|
||||||
|
this.$emit('refreshDataList')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
StorageBoxRackAdd(data).then(res => {
|
||||||
|
this.$message({
|
||||||
|
message: this.$t('module.basicData.visual.success'),
|
||||||
|
type: 'success',
|
||||||
|
duration: 1500,
|
||||||
|
onClose: () => {
|
||||||
|
this.visible = false
|
||||||
|
this.$emit('refreshDataList')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
@@ -102,8 +102,13 @@ export default {
|
|||||||
}
|
}
|
||||||
return {
|
return {
|
||||||
loginForm: {
|
loginForm: {
|
||||||
username: '13588441519',
|
username: 13588441519,
|
||||||
password: '123abc.'
|
password: 123456,
|
||||||
|
// password: '123abc.'
|
||||||
|
mobile: 13588441519,
|
||||||
|
oauthCode: 13588441519,
|
||||||
|
openId: 13588441519,
|
||||||
|
wechatAppId: 13588441519
|
||||||
},
|
},
|
||||||
loginRules: {
|
loginRules: {
|
||||||
username: [{ required: true, trigger: 'blur', validator: validateUsername }],
|
username: [{ required: true, trigger: 'blur', validator: validateUsername }],
|
||||||
@@ -133,6 +138,7 @@ export default {
|
|||||||
// window.addEventListener('storage', this.afterQRScan)
|
// window.addEventListener('storage', this.afterQRScan)
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
// 自动获取焦点
|
||||||
if (this.loginForm.username === '') {
|
if (this.loginForm.username === '') {
|
||||||
this.$refs.username.focus()
|
this.$refs.username.focus()
|
||||||
} else if (this.loginForm.password === '') {
|
} else if (this.loginForm.password === '') {
|
||||||
@@ -146,6 +152,7 @@ export default {
|
|||||||
// window.removeEventListener('storage', this.afterQRScan)
|
// window.removeEventListener('storage', this.afterQRScan)
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
// 监听用户键盘输入
|
||||||
checkCapslock(e) {
|
checkCapslock(e) {
|
||||||
const { key } = e
|
const { key } = e
|
||||||
this.capsTooltip = key && key.length === 1 && (key >= 'A' && key <= 'Z')
|
this.capsTooltip = key && key.length === 1 && (key >= 'A' && key <= 'Z')
|
||||||
@@ -162,12 +169,24 @@ export default {
|
|||||||
},
|
},
|
||||||
handleLogin() {
|
handleLogin() {
|
||||||
this.$refs.loginForm.validate(valid => {
|
this.$refs.loginForm.validate(valid => {
|
||||||
|
// 自定义登陆验证,如符合验证console.log输出true
|
||||||
console.log(valid)
|
console.log(valid)
|
||||||
console.log(this.redirect, this.$route)
|
console.log(this.redirect, this.$route)
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.loading = true
|
this.loading = true
|
||||||
|
// this.$store.dispatch('user/login', this.loginForm)
|
||||||
|
// .then(() => {
|
||||||
|
// console.log(this.redirect, this.otherQuery)
|
||||||
|
// this.$router.push({ path: this.redirect || '/', query: this.otherQuery })
|
||||||
|
// this.loading = false
|
||||||
|
// })
|
||||||
|
// .catch(() => {
|
||||||
|
// this.loading = false
|
||||||
|
// })
|
||||||
|
|
||||||
this.$store.dispatch('user/login', this.loginForm)
|
this.$store.dispatch('user/login', this.loginForm)
|
||||||
.then(() => {
|
.then(res => {
|
||||||
|
console.log(res)
|
||||||
console.log(this.redirect, this.otherQuery)
|
console.log(this.redirect, this.otherQuery)
|
||||||
this.$router.push({ path: this.redirect || '/', query: this.otherQuery })
|
this.$router.push({ path: this.redirect || '/', query: this.otherQuery })
|
||||||
this.loading = false
|
this.loading = false
|
||||||
|
|||||||
177
src/views/orderManage/ExecutionInfo.vue
Normal file
177
src/views/orderManage/ExecutionInfo.vue
Normal file
@@ -0,0 +1,177 @@
|
|||||||
|
<!--
|
||||||
|
* @Author: zwq
|
||||||
|
* @Date: 2020-12-29 15:41:11
|
||||||
|
* @LastEditors: zwq
|
||||||
|
* @LastEditTime: 2022-01-17 15:26:35
|
||||||
|
* @Description:
|
||||||
|
-->
|
||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
<head-form
|
||||||
|
:placeholder-name="placeholderName"
|
||||||
|
:key-name="keyName"
|
||||||
|
:show-add="false"
|
||||||
|
@getDataList="getList"
|
||||||
|
@add="addNew"
|
||||||
|
/>
|
||||||
|
<base-table
|
||||||
|
:page="listQuery.current"
|
||||||
|
:limit="listQuery.size"
|
||||||
|
:table-config="tableProps"
|
||||||
|
:table-data="list"
|
||||||
|
:is-loading="listLoading"
|
||||||
|
>
|
||||||
|
<method-btn
|
||||||
|
slot="handleBtn"
|
||||||
|
:width="trueWidth"
|
||||||
|
:method-list="tableBtn"
|
||||||
|
@clickBtn="handleClick"
|
||||||
|
/>
|
||||||
|
</base-table>
|
||||||
|
<pagination
|
||||||
|
v-show="total > 0"
|
||||||
|
:total="total"
|
||||||
|
:page.sync="listQuery.current"
|
||||||
|
:limit.sync="listQuery.size"
|
||||||
|
@pagination="getList()"
|
||||||
|
/>
|
||||||
|
<Factory-add v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getList" />
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { ExecutionInfoList } from '@/api/orderManage/00A'
|
||||||
|
import FactoryAdd from './components/ExecutionInfoDetail.vue'
|
||||||
|
import HeadForm from '@/components/basicData/HeadForm'
|
||||||
|
import BaseTable from '@/components/BaseTable'
|
||||||
|
import Pagination from '@/components/Pagination' // Secondary package based on el-pagination
|
||||||
|
import MethodBtn from '@/components/BaseTable/subcomponents/MethodBtn'
|
||||||
|
import { timeFormatter } from '@/filters'
|
||||||
|
import basicData from '@/filters/basicData'
|
||||||
|
import i18n from '@/lang'
|
||||||
|
/**
|
||||||
|
* 表格表头配置项 TypeScript接口注释
|
||||||
|
* tableConfig<ConfigItem> = []
|
||||||
|
*
|
||||||
|
* Interface ConfigItem = {
|
||||||
|
* prop: string,
|
||||||
|
* label: string,
|
||||||
|
* width: string,
|
||||||
|
* align: string,
|
||||||
|
* subcomponent: function,
|
||||||
|
* filter: function
|
||||||
|
* }
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
const tableBtn = [
|
||||||
|
{
|
||||||
|
type: 'see',
|
||||||
|
btnName: 'btn.see'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
const tableProps = [
|
||||||
|
{
|
||||||
|
prop: 'name',
|
||||||
|
label: i18n.t('module.basicData.Warehouse.OrderName'),
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'createTime',
|
||||||
|
label: i18n.t('module.basicData.Warehouse.IssueOrderTime'),
|
||||||
|
filter: timeFormatter,
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'craftName',
|
||||||
|
label: i18n.t('module.basicData.Warehouse.TotalProcessName'),
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'priority',
|
||||||
|
label: i18n.t('module.basicData.Warehouse.Priority'),
|
||||||
|
filter: basicData('priority'),
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'status',
|
||||||
|
label: i18n.t('module.basicData.Warehouse.OrderStatus'),
|
||||||
|
filter: basicData('workOrderStatus'),
|
||||||
|
align: 'center'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'ExecutionInfo',
|
||||||
|
components: { Pagination, BaseTable, MethodBtn, HeadForm, FactoryAdd },
|
||||||
|
filters: {
|
||||||
|
statusFilter(status) {
|
||||||
|
const statusMap = {
|
||||||
|
published: 'success',
|
||||||
|
draft: 'info',
|
||||||
|
deleted: 'danger'
|
||||||
|
}
|
||||||
|
return statusMap[status]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
keyName: i18n.t('module.basicData.Warehouse.OrderName'),
|
||||||
|
placeholderName: this.$t('module.basicData.Warehouse.OrderName'),
|
||||||
|
addOrUpdateVisible: false,
|
||||||
|
tableBtn,
|
||||||
|
trueWidth: 200,
|
||||||
|
tableProps,
|
||||||
|
list: [],
|
||||||
|
total: 0,
|
||||||
|
listLoading: true,
|
||||||
|
listQuery: {
|
||||||
|
current: 1,
|
||||||
|
size: 10,
|
||||||
|
name: '',
|
||||||
|
code: ''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.getList()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
handleClick(raw) {
|
||||||
|
this.addNew(raw.data.id)
|
||||||
|
},
|
||||||
|
getList(key) {
|
||||||
|
this.listLoading = true
|
||||||
|
this.listQuery.code = key
|
||||||
|
ExecutionInfoList(this.listQuery).then(response => {
|
||||||
|
if (response.data.records) {
|
||||||
|
this.list = response.data.records
|
||||||
|
} else {
|
||||||
|
this.list.splice(0, this.list.length)
|
||||||
|
}
|
||||||
|
this.total = response.data.total
|
||||||
|
this.listLoading = false
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 新增 / 修改
|
||||||
|
addNew(id) {
|
||||||
|
this.addOrUpdateVisible = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.addOrUpdate.init(id)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.edit-input {
|
||||||
|
padding-right: 100px;
|
||||||
|
}
|
||||||
|
.cancel-btn {
|
||||||
|
position: absolute;
|
||||||
|
right: 15px;
|
||||||
|
top: 10px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
184
src/views/orderManage/ProcessInfo.vue
Normal file
184
src/views/orderManage/ProcessInfo.vue
Normal file
@@ -0,0 +1,184 @@
|
|||||||
|
<!--
|
||||||
|
* @Author: zwq
|
||||||
|
* @Date: 2020-12-29 15:41:11
|
||||||
|
* @LastEditors: zwq
|
||||||
|
* @LastEditTime: 2022-01-17 15:32:00
|
||||||
|
* @Description:
|
||||||
|
-->
|
||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
<head-form
|
||||||
|
:placeholder-name="placeholderName"
|
||||||
|
:key-name="keyName"
|
||||||
|
:show-add="false"
|
||||||
|
@getDataList="getList"
|
||||||
|
@add="addNew"
|
||||||
|
/>
|
||||||
|
<base-table
|
||||||
|
:page="listQuery.current"
|
||||||
|
:limit="listQuery.size"
|
||||||
|
:table-config="tableProps"
|
||||||
|
:table-data="list"
|
||||||
|
:is-loading="listLoading"
|
||||||
|
>
|
||||||
|
<method-btn
|
||||||
|
slot="handleBtn"
|
||||||
|
:width="trueWidth"
|
||||||
|
:method-list="tableBtn"
|
||||||
|
@clickBtn="handleClick"
|
||||||
|
/>
|
||||||
|
</base-table>
|
||||||
|
<pagination
|
||||||
|
v-show="total > 0"
|
||||||
|
:total="total"
|
||||||
|
:page.sync="listQuery.current"
|
||||||
|
:limit.sync="listQuery.size"
|
||||||
|
@pagination="getList()"
|
||||||
|
/>
|
||||||
|
<Factory-add v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getList" />
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { ProcessInfoList } from '@/api/orderManage/00A'
|
||||||
|
import FactoryAdd from './components/ProcessInfoDetail.vue'
|
||||||
|
import HeadForm from '@/components/basicData/HeadForm'
|
||||||
|
import BaseTable from '@/components/BaseTable'
|
||||||
|
import Pagination from '@/components/Pagination' // Secondary package based on el-pagination
|
||||||
|
import MethodBtn from '@/components/BaseTable/subcomponents/MethodBtn'
|
||||||
|
import { timeFormatter } from '@/filters'
|
||||||
|
import basicData from '@/filters/basicData'
|
||||||
|
import processLinkBtn from './components/processLinkBtn'
|
||||||
|
import i18n from '@/lang'
|
||||||
|
/**
|
||||||
|
* 表格表头配置项 TypeScript接口注释
|
||||||
|
* tableConfig<ConfigItem> = []
|
||||||
|
*
|
||||||
|
* Interface ConfigItem = {
|
||||||
|
* prop: string,
|
||||||
|
* label: string,
|
||||||
|
* width: string,
|
||||||
|
* align: string,
|
||||||
|
* subcomponent: function,
|
||||||
|
* filter: function
|
||||||
|
* }
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
const tableBtn = [
|
||||||
|
{
|
||||||
|
type: 'see',
|
||||||
|
btnName: 'btn.see'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
const tableProps = [
|
||||||
|
{
|
||||||
|
prop: 'name',
|
||||||
|
label: i18n.t('module.basicData.Warehouse.OrderName'),
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'createTime',
|
||||||
|
label: i18n.t('module.basicData.Warehouse.IssueOrderTime'),
|
||||||
|
filter: timeFormatter,
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'craftName',
|
||||||
|
label: i18n.t('module.basicData.Warehouse.TotalProcessName'),
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'priority',
|
||||||
|
label: i18n.t('module.basicData.Warehouse.Priority'),
|
||||||
|
filter: basicData('priority'),
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'status',
|
||||||
|
label: i18n.t('module.basicData.Warehouse.OrderStatus'),
|
||||||
|
filter: basicData('workOrderStatus'),
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'attribute',
|
||||||
|
label: i18n.t('module.basicData.Warehouse.RelateProcess'),
|
||||||
|
subcomponent: processLinkBtn,
|
||||||
|
align: 'center'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'ProcessInfo',
|
||||||
|
components: { Pagination, BaseTable, MethodBtn, HeadForm, FactoryAdd },
|
||||||
|
filters: {
|
||||||
|
statusFilter(status) {
|
||||||
|
const statusMap = {
|
||||||
|
published: 'success',
|
||||||
|
draft: 'info',
|
||||||
|
deleted: 'danger'
|
||||||
|
}
|
||||||
|
return statusMap[status]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
keyName: i18n.t('module.basicData.Warehouse.OrderName'),
|
||||||
|
placeholderName: this.$t('module.basicData.Warehouse.OrderName'),
|
||||||
|
addOrUpdateVisible: false,
|
||||||
|
tableBtn,
|
||||||
|
trueWidth: 200,
|
||||||
|
tableProps,
|
||||||
|
list: [],
|
||||||
|
total: 0,
|
||||||
|
listLoading: true,
|
||||||
|
listQuery: {
|
||||||
|
current: 1,
|
||||||
|
size: 10,
|
||||||
|
name: '',
|
||||||
|
code: ''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.getList()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
handleClick(raw) {
|
||||||
|
this.addNew(raw.data.id)
|
||||||
|
},
|
||||||
|
getList(key) {
|
||||||
|
this.listLoading = true
|
||||||
|
this.listQuery.code = key
|
||||||
|
ProcessInfoList(this.listQuery).then(response => {
|
||||||
|
if (response.data.records) {
|
||||||
|
this.list = response.data.records
|
||||||
|
} else {
|
||||||
|
this.list.splice(0, this.list.length)
|
||||||
|
}
|
||||||
|
this.total = response.data.total
|
||||||
|
this.listLoading = false
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 新增 / 修改
|
||||||
|
addNew(id) {
|
||||||
|
this.addOrUpdateVisible = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.addOrUpdate.init(id)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.edit-input {
|
||||||
|
padding-right: 100px;
|
||||||
|
}
|
||||||
|
.cancel-btn {
|
||||||
|
position: absolute;
|
||||||
|
right: 15px;
|
||||||
|
top: 10px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
115
src/views/orderManage/components/ExecutionInfoDetail.vue
Normal file
115
src/views/orderManage/components/ExecutionInfoDetail.vue
Normal file
@@ -0,0 +1,115 @@
|
|||||||
|
<!--
|
||||||
|
* @Author: zwq
|
||||||
|
* @Date: 2020-12-29 16:37:56
|
||||||
|
* @LastEditors: zwq
|
||||||
|
* @LastEditTime: 2022-01-17 15:21:50
|
||||||
|
* @Description:
|
||||||
|
-->
|
||||||
|
<template>
|
||||||
|
<el-dialog
|
||||||
|
:title="'btn.see' | i18nFilter"
|
||||||
|
:visible.sync="visible"
|
||||||
|
>
|
||||||
|
<el-row :gutter="10">
|
||||||
|
<el-form
|
||||||
|
ref="dataForm"
|
||||||
|
:model="dataForm"
|
||||||
|
size="medium"
|
||||||
|
label-width="110px"
|
||||||
|
label-position="left"
|
||||||
|
>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.OrderName')" prop="name">
|
||||||
|
<el-input v-model="dataForm.name" :placeholder="$t('module.basicData.Warehouse.OrderName')" readonly :style="{width: '100%'}" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.IssueOrderTime')" prop="createTime">
|
||||||
|
<el-input v-model="dataForm.createTime" :placeholder="$t('module.basicData.Warehouse.IssueOrderTime')" readonly :style="{width: '100%'}" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.PlanProcessQuantity')" prop="planQuantity">
|
||||||
|
<el-input v-model="dataForm.planQuantity" :placeholder="$t('module.basicData.Warehouse.PlanProcessQuantity')" readonly :style="{width: '100%'}" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.OrderCode')" prop="taskCode">
|
||||||
|
<el-input v-model="dataForm.taskCode" :placeholder="$t('module.basicData.Warehouse.OrderCode')" readonly :style="{width: '100%'}" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.OrderStatus')" prop="taskType">
|
||||||
|
<el-input v-model="dataForm.taskType" :placeholder="$t('module.basicData.Warehouse.OrderStatus')" readonly :style="{width: '100%'}" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.TotalProcessName')" prop="craftName">
|
||||||
|
<el-input v-model="dataForm.craftName" :placeholder="$t('module.basicData.Warehouse.TotalProcessName')" readonly :style="{width: '100%'}" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.SubProcessName')" prop="subProccessName">
|
||||||
|
<el-input
|
||||||
|
v-model="dataForm.subProccessName"
|
||||||
|
:placeholder="$t('module.basicData.Warehouse.SubProcessName')"
|
||||||
|
readonly
|
||||||
|
:style="{width: '100%'}"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-col>
|
||||||
|
</el-form>
|
||||||
|
</el-row>
|
||||||
|
<span slot="footer" class="dialog-footer">
|
||||||
|
<el-button @click="visible = false">{{ 'btn.cancel' | i18nFilter }}</el-button>
|
||||||
|
</span>
|
||||||
|
</el-dialog>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { ExecutionInfoDetail } from '@/api/orderManage/00A'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
visible: false,
|
||||||
|
dataForm: {
|
||||||
|
id: 0,
|
||||||
|
name: undefined,
|
||||||
|
createTime: undefined,
|
||||||
|
taskCode: undefined,
|
||||||
|
taskType: undefined,
|
||||||
|
craftName: undefined,
|
||||||
|
planQuantity: undefined,
|
||||||
|
subProccessName: undefined
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
init(id) {
|
||||||
|
this.dataForm.id = id || ''
|
||||||
|
this.visible = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs['dataForm'].resetFields()
|
||||||
|
if (this.dataForm.id) {
|
||||||
|
ExecutionInfoDetail(this.dataForm.id).then(res => {
|
||||||
|
this.dataForm = res.data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
115
src/views/orderManage/components/ProcessInfoDetail.vue
Normal file
115
src/views/orderManage/components/ProcessInfoDetail.vue
Normal file
@@ -0,0 +1,115 @@
|
|||||||
|
<!--
|
||||||
|
* @Author: zwq
|
||||||
|
* @Date: 2020-12-29 16:37:56
|
||||||
|
* @LastEditors: zwq
|
||||||
|
* @LastEditTime: 2022-01-17 15:22:08
|
||||||
|
* @Description:
|
||||||
|
-->
|
||||||
|
<template>
|
||||||
|
<el-dialog
|
||||||
|
:title="'btn.see' | i18nFilter"
|
||||||
|
:visible.sync="visible"
|
||||||
|
>
|
||||||
|
<el-row :gutter="10">
|
||||||
|
<el-form
|
||||||
|
ref="dataForm"
|
||||||
|
:model="dataForm"
|
||||||
|
size="medium"
|
||||||
|
label-width="110px"
|
||||||
|
label-position="left"
|
||||||
|
>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.OrderName')" prop="name">
|
||||||
|
<el-input v-model="dataForm.name" :placeholder="$t('module.basicData.Warehouse.OrderName')" readonly :style="{width: '100%'}" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.IssueOrderTime')" prop="createTime">
|
||||||
|
<el-input v-model="dataForm.createTime" :placeholder="$t('module.basicData.Warehouse.IssueOrderTime')" readonly :style="{width: '100%'}" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.PlanProcessQuantity')" prop="planQuantity">
|
||||||
|
<el-input v-model="dataForm.planQuantity" :placeholder="$t('module.basicData.Warehouse.PlanProcessQuantity')" readonly :style="{width: '100%'}" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.OrderCode')" prop="taskCode">
|
||||||
|
<el-input v-model="dataForm.taskCode" :placeholder="$t('module.basicData.Warehouse.OrderCode')" readonly :style="{width: '100%'}" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.OrderStatus')" prop="taskType">
|
||||||
|
<el-input v-model="dataForm.taskType" :placeholder="$t('module.basicData.Warehouse.OrderStatus')" readonly :style="{width: '100%'}" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.TotalProcessName')" prop="craftName">
|
||||||
|
<el-input v-model="dataForm.craftName" :placeholder="$t('module.basicData.Warehouse.TotalProcessName')" readonly :style="{width: '100%'}" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item :label="$t('module.basicData.Warehouse.SubProcessName')" prop="subProccessName">
|
||||||
|
<el-input
|
||||||
|
v-model="dataForm.subProccessName"
|
||||||
|
:placeholder="$t('module.basicData.Warehouse.SubProcessName')"
|
||||||
|
readonly
|
||||||
|
:style="{width: '100%'}"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-col>
|
||||||
|
</el-form>
|
||||||
|
</el-row>
|
||||||
|
<span slot="footer" class="dialog-footer">
|
||||||
|
<el-button @click="visible = false">{{ 'btn.cancel' | i18nFilter }}</el-button>
|
||||||
|
</span>
|
||||||
|
</el-dialog>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { ProcessInfoDetail } from '@/api/orderManage/00A'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
visible: false,
|
||||||
|
dataForm: {
|
||||||
|
id: 0,
|
||||||
|
name: undefined,
|
||||||
|
createTime: undefined,
|
||||||
|
taskCode: undefined,
|
||||||
|
taskType: undefined,
|
||||||
|
craftName: undefined,
|
||||||
|
planQuantity: undefined,
|
||||||
|
subProccessName: undefined
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
init(id) {
|
||||||
|
this.dataForm.id = id || ''
|
||||||
|
this.visible = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs['dataForm'].resetFields()
|
||||||
|
if (this.dataForm.id) {
|
||||||
|
ProcessInfoDetail(this.dataForm.id).then(res => {
|
||||||
|
this.dataForm = res.data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
64
src/views/orderManage/components/processLinkBtn.vue
Normal file
64
src/views/orderManage/components/processLinkBtn.vue
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
<!--
|
||||||
|
* @Date: 2021-01-07 20:09:37
|
||||||
|
* @LastEditors: zwq
|
||||||
|
* @LastEditTime: 2022-01-17 15:16:29
|
||||||
|
* @FilePath: \basic-admin\src\components\BaseTable\subcomponents\CheckDetail.vue
|
||||||
|
* @Description:
|
||||||
|
-->
|
||||||
|
<template>
|
||||||
|
<span>
|
||||||
|
<el-popover
|
||||||
|
v-model="visible"
|
||||||
|
placement="top"
|
||||||
|
width="160"
|
||||||
|
>
|
||||||
|
<div>
|
||||||
|
<el-select v-model="value" placeholder="请选择">
|
||||||
|
<el-option
|
||||||
|
v-for="item in options"
|
||||||
|
:key="item.value"
|
||||||
|
:label="item.label"
|
||||||
|
:value="item.value"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</div>
|
||||||
|
<div style="text-align: right; margin: 0">
|
||||||
|
<el-button size="mini" type="text" @click="visible = false">取消</el-button>
|
||||||
|
<el-button type="primary" size="mini" @click="emitClick">确定</el-button>
|
||||||
|
</div>
|
||||||
|
<el-button slot="reference" type="text">{{ $t('module.basicData.Warehouse.RelateProcess') }}</el-button>
|
||||||
|
</el-popover>
|
||||||
|
</span>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
props: {
|
||||||
|
injectData: {
|
||||||
|
type: Object,
|
||||||
|
default: () => ({})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
visible: false,
|
||||||
|
options: [{
|
||||||
|
value: '选项1',
|
||||||
|
label: '黄金糕'
|
||||||
|
}, {
|
||||||
|
value: '选项2',
|
||||||
|
label: '双皮奶'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
value: ''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
emitClick() {
|
||||||
|
console.log(this.injectData)
|
||||||
|
console.log(this.value)
|
||||||
|
this.visible = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
@@ -46,7 +46,8 @@ module.exports = {
|
|||||||
// 这里写入需要代理的api和对应的目标地址
|
// 这里写入需要代理的api和对应的目标地址
|
||||||
proxy: {
|
proxy: {
|
||||||
'/api': {
|
'/api': {
|
||||||
target: 'http://cigs.mes.picaiba.com',
|
// target: 'http://192.168.0.148:8080',
|
||||||
|
target: 'http://a.wms.picaiba.com/api',
|
||||||
// target: 'http://192.168.0.127:8080',
|
// target: 'http://192.168.0.127:8080',
|
||||||
// target: 'http://192.168.0.165:8080',
|
// target: 'http://192.168.0.165:8080',
|
||||||
// target: 'http://192.168.43.105:8080',
|
// target: 'http://192.168.43.105:8080',
|
||||||
@@ -57,7 +58,7 @@ module.exports = {
|
|||||||
ws: true,
|
ws: true,
|
||||||
changeOrigin: true,
|
changeOrigin: true,
|
||||||
pathRewrite: {
|
pathRewrite: {
|
||||||
'^/portapi': ''
|
'^/api': ''
|
||||||
}
|
}
|
||||||
// 使用了proxy 就需要开启下面的选项 (http-proxy-middleware会将post请求给parse了 所以需要再次进行string化)
|
// 使用了proxy 就需要开启下面的选项 (http-proxy-middleware会将post请求给parse了 所以需要再次进行string化)
|
||||||
// onProxyReq: (proxyReq, req, res, options) => {
|
// onProxyReq: (proxyReq, req, res, options) => {
|
||||||
@@ -72,6 +73,7 @@ module.exports = {
|
|||||||
// }
|
// }
|
||||||
},
|
},
|
||||||
'/spc': {
|
'/spc': {
|
||||||
|
// target: 'http://192.168.0.180:8080',
|
||||||
target: 'http://58.210.206.230:8000',
|
target: 'http://58.210.206.230:8000',
|
||||||
// target: 'http://192.168.0.187:8080',
|
// target: 'http://192.168.0.187:8080',
|
||||||
// target: 'http://192.168.43.105:8080',
|
// target: 'http://192.168.43.105:8080',
|
||||||
|
|||||||
Reference in New Issue
Block a user