更新
7
.env.dev
@ -1,7 +1,7 @@
|
|||||||
###
|
###
|
||||||
# @Author: Do not edit
|
# @Author: Do not edit
|
||||||
# @Date: 2023-08-29 09:40:39
|
# @Date: 2023-08-29 09:40:39
|
||||||
# @LastEditTime: 2023-09-27 14:04:02
|
# @LastEditTime: 2024-04-18 14:12:38
|
||||||
# @LastEditors: zwq
|
# @LastEditors: zwq
|
||||||
# @Description:
|
# @Description:
|
||||||
###
|
###
|
||||||
@ -9,10 +9,11 @@
|
|||||||
ENV = 'development'
|
ENV = 'development'
|
||||||
|
|
||||||
# 页面标题
|
# 页面标题
|
||||||
VUE_APP_TITLE = 爱协林管理系统
|
VUE_APP_TITLE = 热处理立库管理系统
|
||||||
|
|
||||||
# 芋道管理系统/开发环境
|
# 芋道管理系统/开发环境
|
||||||
VUE_APP_BASE_API = 'http://192.168.1.12:48080'
|
VUE_APP_BASE_API = 'http://192.168.1.180:48080'
|
||||||
|
VUE_APP_JM_API = 'http://192.168.1.180:48080'
|
||||||
|
|
||||||
# 路由懒加载
|
# 路由懒加载
|
||||||
VUE_CLI_BABEL_TRANSPILE_MODULES = true
|
VUE_CLI_BABEL_TRANSPILE_MODULES = true
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
ENV = 'development'
|
ENV = 'development'
|
||||||
|
|
||||||
# 页面标题
|
# 页面标题
|
||||||
VUE_APP_TITLE = 爱协林管理系统
|
VUE_APP_TITLE = 热处理立库管理系统
|
||||||
|
|
||||||
# 芋道管理系统/本地环境
|
# 芋道管理系统/本地环境
|
||||||
VUE_APP_BASE_API = 'http://api-dashboard.yudao.iocoder.cn'
|
VUE_APP_BASE_API = 'http://api-dashboard.yudao.iocoder.cn'
|
||||||
|
@ -2,21 +2,24 @@
|
|||||||
# @Author: zwq
|
# @Author: zwq
|
||||||
# @Date: 2023-09-14 13:44:22
|
# @Date: 2023-09-14 13:44:22
|
||||||
# @LastEditors: zwq
|
# @LastEditors: zwq
|
||||||
# @LastEditTime: 2023-11-17 14:57:46
|
# @LastEditTime: 2023-12-15 10:51:16
|
||||||
# @Description:
|
# @Description:
|
||||||
###
|
###
|
||||||
# 生产环境配置
|
# 生产环境配置
|
||||||
ENV = 'production'
|
ENV = 'production'
|
||||||
|
|
||||||
# 页面标题
|
# 页面标题
|
||||||
VUE_APP_TITLE = 爱协林管理系统
|
VUE_APP_TITLE = 热处理立库管理系统
|
||||||
|
|
||||||
# 芋道管理系统/生产环境
|
# 芋道管理系统/生产环境
|
||||||
VUE_APP_BASE_API = '/prod-api'
|
VUE_APP_BASE_API = '/prod-api'
|
||||||
|
VUE_APP_JM_API = 'http://10.10.100.219:48080'
|
||||||
|
|
||||||
# 根据服务器或域名修改
|
# 根据服务器或域名修改
|
||||||
# PUBLIC_PATH = 'http://my-pi.com:8888/yudao-admin/'
|
# PUBLIC_PATH = 'http://my-pi.com:8888/yudao-admin/'
|
||||||
PUBLIC_PATH = 'http://10.10.100.219:8888/'
|
PUBLIC_PATH = 'http://10.10.100.219:8888/'
|
||||||
|
# PUBLIC_PATH = 'http://192.168.0.127:8888/'
|
||||||
|
# PUBLIC_PATH = 'http://192.168.1.55:8888/'
|
||||||
|
|
||||||
# 二级部署路径
|
# 二级部署路径
|
||||||
VUE_APP_APP_NAME ='yudao-admin'
|
VUE_APP_APP_NAME ='yudao-admin'
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
NODE_ENV = production
|
NODE_ENV = production
|
||||||
|
|
||||||
# 页面标题
|
# 页面标题
|
||||||
VUE_APP_TITLE = 爱协林管理系统
|
VUE_APP_TITLE = 热处理立库管理系统
|
||||||
|
|
||||||
# 测试环境配置
|
# 测试环境配置
|
||||||
ENV = 'staging'
|
ENV = 'staging'
|
||||||
|
@ -4,7 +4,7 @@ NODE_ENV = development
|
|||||||
ENV = 'staging'
|
ENV = 'staging'
|
||||||
|
|
||||||
# 页面标题
|
# 页面标题
|
||||||
VUE_APP_TITLE = 爱协林管理系统
|
VUE_APP_TITLE = 热处理立库管理系统
|
||||||
|
|
||||||
# 芋道管理系统/测试环境
|
# 芋道管理系统/测试环境
|
||||||
VUE_APP_BASE_API = 'http://127.0.0.1:48080'
|
VUE_APP_BASE_API = 'http://127.0.0.1:48080'
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "yudao-ui-admin",
|
"name": "yudao-ui-admin",
|
||||||
"version": "1.7.3-snapshot",
|
"version": "1.7.3-snapshot",
|
||||||
"description": "爱协林管理系统",
|
"description": "热处理立库管理系统",
|
||||||
"author": "爱协林",
|
"author": "爱协林",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
@ -63,7 +63,7 @@
|
|||||||
"nprogress": "0.2.0",
|
"nprogress": "0.2.0",
|
||||||
"qrcode.vue": "^1.7.0",
|
"qrcode.vue": "^1.7.0",
|
||||||
"quill": "1.3.7",
|
"quill": "1.3.7",
|
||||||
"screenfull": "5.0.2",
|
"screenfull": "^5.0.2",
|
||||||
"sortablejs": "1.10.2",
|
"sortablejs": "1.10.2",
|
||||||
"throttle-debounce": "2.1.0",
|
"throttle-debounce": "2.1.0",
|
||||||
"vue": "2.7.14",
|
"vue": "2.7.14",
|
||||||
|
@ -1,14 +1,16 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
|
||||||
|
<head>
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||||
<meta name="renderer" content="webkit" />
|
<meta name="renderer" content="webkit" />
|
||||||
<meta
|
<meta name="viewport"
|
||||||
name="viewport"
|
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no, target-densitydpi=device-dpi" />
|
||||||
content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" />
|
|
||||||
<link rel="icon" href="<%= BASE_URL %>loge_ys1.svg" />
|
<link rel="icon" href="<%= BASE_URL %>loge_ys1.svg" />
|
||||||
<title><%= webpackConfig.name %></title>
|
<title>
|
||||||
|
<%= webpackConfig.name %>
|
||||||
|
</title>
|
||||||
<!--[if lt IE 11]>
|
<!--[if lt IE 11]>
|
||||||
<script>
|
<script>
|
||||||
window.location.href = 'html/ie.html';
|
window.location.href = 'html/ie.html';
|
||||||
@ -200,9 +202,9 @@
|
|||||||
opacity: 0.5;
|
opacity: 0.5;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<div id="app">
|
<div id="app">
|
||||||
<div id="loader-wrapper">
|
<div id="loader-wrapper">
|
||||||
<div id="loader"></div>
|
<div id="loader"></div>
|
||||||
@ -211,5 +213,9 @@
|
|||||||
<div class="load_title">正在加载系统资源,请耐心等待</div>
|
<div class="load_title">正在加载系统资源,请耐心等待</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
<script id="videonode" src="./static/webVideoCtrl.js"></script>
|
||||||
|
<script src="./static/jsVideoPlugin-1.0.0.min.js"></script>
|
||||||
|
<script src="./static/jquery-1.7.1.min.js"></script>
|
||||||
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
|
@ -8,7 +8,20 @@ export function createAlarmLog(data) {
|
|||||||
data: data
|
data: data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
// 大屏看板数据
|
||||||
|
export function screenData() {
|
||||||
|
return request({
|
||||||
|
url: '/axl/screen/screenData',
|
||||||
|
method: 'post'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 大屏看板数据
|
||||||
|
export function screenStatus() {
|
||||||
|
return request({
|
||||||
|
url: '/axl/screen/status',
|
||||||
|
method: 'post'
|
||||||
|
})
|
||||||
|
}
|
||||||
// 更新报警记录
|
// 更新报警记录
|
||||||
export function updateAlarmLog(data) {
|
export function updateAlarmLog(data) {
|
||||||
return request({
|
return request({
|
||||||
|
@ -9,6 +9,13 @@ export function createProduct(data) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 获得产品规格列表
|
||||||
|
export function getProductList() {
|
||||||
|
return request({
|
||||||
|
url: '/axl/product/list',
|
||||||
|
method: 'get',
|
||||||
|
})
|
||||||
|
}
|
||||||
// 更新产品规格
|
// 更新产品规格
|
||||||
export function updateProduct(data) {
|
export function updateProduct(data) {
|
||||||
return request({
|
return request({
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* @Author: zwq
|
* @Author: zwq
|
||||||
* @Date: 2023-09-13 16:08:14
|
* @Date: 2023-09-13 16:08:14
|
||||||
* @LastEditors: zwq
|
* @LastEditors: zwq
|
||||||
* @LastEditTime: 2023-11-01 16:16:19
|
* @LastEditTime: 2023-12-20 14:52:46
|
||||||
* @Description:
|
* @Description:
|
||||||
*/
|
*/
|
||||||
import request from '@/utils/request'
|
import request from '@/utils/request'
|
||||||
@ -47,10 +47,17 @@ export function getProductList(id) {
|
|||||||
method: 'get'
|
method: 'get'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
// 出库
|
// 出库输送线
|
||||||
export function outWare(id) {
|
export function outWare(id) {
|
||||||
return request({
|
return request({
|
||||||
url: '/axl/warehousestorehouse/out?id=' + id,
|
url: '/axl/warehousestorehouse/outLine?id=' + id,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 出库载货台
|
||||||
|
export function outWare2(id) {
|
||||||
|
return request({
|
||||||
|
url: '/axl/warehousestorehouse/outPlatform?id=' + id,
|
||||||
method: 'get'
|
method: 'get'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -63,6 +70,13 @@ export function getWarehousestorehousePage(query) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 获得立库库位list
|
||||||
|
export function getWarehousestorehouseListById() {
|
||||||
|
return request({
|
||||||
|
url: '/axl/warehousestorehouse/listById',
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
// 获得立库库位分页
|
// 获得立库库位分页
|
||||||
export function getWarehousestorehouseList() {
|
export function getWarehousestorehouseList() {
|
||||||
return request({
|
return request({
|
||||||
@ -70,6 +84,14 @@ export function getWarehousestorehouseList() {
|
|||||||
method: 'get',
|
method: 'get',
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
// 根据货物信息查询立库库位列表
|
||||||
|
export function getWarehousestorehouseNList(query) {
|
||||||
|
return request({
|
||||||
|
url: '/axl/warehousestorehouse/listByProduct',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
// 导出立库库位 Excel
|
// 导出立库库位 Excel
|
||||||
export function exportWarehousestorehouseExcel(query) {
|
export function exportWarehousestorehouseExcel(query) {
|
||||||
return request({
|
return request({
|
||||||
|
BIN
src/assets/axl/1.png
Normal file
After Width: | Height: | Size: 73 KiB |
BIN
src/assets/axl/2.png
Normal file
After Width: | Height: | Size: 43 KiB |
BIN
src/assets/axl/3.png
Normal file
After Width: | Height: | Size: 51 KiB |
BIN
src/assets/axl/4.png
Normal file
After Width: | Height: | Size: 76 KiB |
BIN
src/assets/axl/5.png
Normal file
After Width: | Height: | Size: 67 KiB |
BIN
src/assets/axl/bg.png
Normal file
After Width: | Height: | Size: 2.1 MiB |
BIN
src/assets/axl/div2.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
src/assets/axl/title.png
Normal file
After Width: | Height: | Size: 25 KiB |
BIN
src/assets/axl/窑炉信息框(2).png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
src/assets/axl/窑炉信息框(3).png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
src/assets/axl/窑炉信息框(4).png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
src/assets/axl/窑炉信息框(5).png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
src/assets/axl/窑炉信息框.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
src/assets/axl/编组 27.png
Normal file
After Width: | Height: | Size: 68 B |
BIN
src/assets/axl/编组 54.png
Normal file
After Width: | Height: | Size: 902 B |
12
src/assets/icons/svg/div1.svg
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||||
|
<title>物料信息 </title>
|
||||||
|
<g id="页面" stroke="none" stroke-width="1" fill="white" fill-rule="evenodd">
|
||||||
|
<g id="icon和插图" transform="translate(-314.000000, -223.000000)" fill-rule="nonzero">
|
||||||
|
<g id="物料信息-" transform="translate(314.000000, 223.000000)">
|
||||||
|
<rect id="矩形" opacity="0" x="0" y="0" width="24" height="24"></rect>
|
||||||
|
<path d="M19.9627043,14.7797594 L20.0659241,14.7858511 C20.4183053,15.0281132 20.5214764,15.8745366 20.1381853,16.1920708 L20.0485192,16.2516057 L12.3316692,20.299028 C12.1922882,20.3818545 11.8887612,20.3919128 11.7117091,20.3317245 L11.6350681,20.2957882 L3.92833627,16.3083349 C3.5459304,16.0427564 3.54783213,15.3128117 3.78106853,14.9309248 L3.83892922,14.8493454 L3.96184986,14.8242831 L11.992,18.973 L19.9627043,14.7797594 Z M19.9627075,11.22831 L20.0658417,11.2343469 C20.4182879,11.4761353 20.5214923,12.3226875 20.1381887,12.6402497 L20.0485192,12.6997887 L12.3316692,16.7472111 C12.1922882,16.8300375 11.8887612,16.8400958 11.7117091,16.7799075 L11.6350681,16.7439712 L3.92833627,12.7565179 C3.5459304,12.4909394 3.54783213,11.7609947 3.78106853,11.3791078 L3.83892922,11.2975284 L3.96184986,11.2724662 L11.992,15.421 L19.9627075,11.22831 Z M12.4255844,3.73356464 L12.5339905,3.80255885 L19.9315845,7.67843868 C19.9935001,7.71087069 20.0501359,7.75251034 20.0996414,7.80201955 C20.4552956,8.15854327 20.4552956,8.73566072 20.0995296,9.09229637 L20.0205225,9.16015062 L19.9322397,9.21534289 L12.5278877,13.1032368 C12.2407556,13.3168852 11.859433,13.3412225 11.5602937,13.1818739 L11.4523133,13.1135188 L4.05589548,9.29307029 C3.99265745,9.26047567 3.93483324,9.21830915 3.88438991,9.16798414 C3.71323808,8.99685763 3.61708385,8.76474508 3.61708385,8.52271775 C3.61708385,8.28069042 3.71323808,8.04857787 3.88434428,7.87749701 L3.96167476,7.81076256 L4.0480516,7.75613122 L11.4539797,3.81274032 C11.7418684,3.59726528 12.1252032,3.57272393 12.4255844,3.73356464 Z M12.003,5.084 L5.56,8.516 L11.9353058,11.8561039 L18.422,8.448 L12.003,5.084 Z" id="形状结合"></path>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 2.3 KiB |
18
src/assets/icons/svg/div3.svg
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||||
|
<title>总览</title>
|
||||||
|
<defs>
|
||||||
|
<linearGradient x1="93.764924%" y1="100%" x2="24.0202641%" y2="7.84095011e-14%" id="linearGradient-1">
|
||||||
|
<stop stop-color="#4BFFC8" offset="0%"></stop>
|
||||||
|
<stop stop-color="#45F2EC" offset="100%"></stop>
|
||||||
|
</linearGradient>
|
||||||
|
</defs>
|
||||||
|
<g id="页面" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||||
|
<g id="icon和插图" transform="translate(-486.000000, -683.000000)" fill-rule="nonzero">
|
||||||
|
<g id="总览" transform="translate(486.000000, 683.000000)">
|
||||||
|
<rect id="矩形" fill="#000000" opacity="0" x="0" y="0" width="24" height="24"></rect>
|
||||||
|
<path d="M12.0378407,13.2200821 L5.21704525,7.4725743 C2.18247299,11.1003099 2.78379376,16.2604811 6.40453724,19.3067069 C10.0311075,22.3575941 15.4453251,21.8926193 18.4973776,18.2672144 C20.2209307,16.2196939 20.8187555,13.9577489 20.3631035,11.5175053 L12.0378407,13.2200821 Z M17.400783,4.80159134 C17.3599957,4.76546548 17.3203738,4.72933962 17.2784212,4.69321376 C13.6518509,1.64116124 8.23879866,2.10730138 5.18674614,5.73503695 C5.18091939,5.74086371 5.17625799,5.74669046 5.17159659,5.75251721 L11.8630382,11.38349 L17.400783,4.80159134 Z M18.4868895,5.92615441 L12.607697,11.9964643 L20.7138739,9.53640973 C20.3619381,7.90025787 19.5182245,6.75355314 18.4868895,5.92615441 Z" id="形状" fill="white"></path>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.6 KiB |
12
src/assets/icons/svg/div4.svg
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||||
|
<title>编组 3</title>
|
||||||
|
<g id="页面" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||||
|
<g id="icon和插图" transform="translate(-214.000000, -175.000000)" fill="white" fill-rule="nonzero">
|
||||||
|
<g id="模型" transform="translate(214.000000, 175.000000)">
|
||||||
|
<rect id="矩形" opacity="0" x="0" y="0" width="24" height="24"></rect>
|
||||||
|
<path d="M12.3954895,2.03826064 L12.5228327,2.09579721 L21.414492,6.83014161 L21.5375689,6.90786898 C21.6946876,7.02161886 21.8227168,7.17465827 21.907809,7.35301864 C21.9673881,7.46761004 22.0061467,7.58631193 22.0244275,7.70751099 L22.035895,7.82948269 L22.035895,17.0520133 L22.0257342,17.1934983 C21.9825661,17.5195089 21.8024204,17.8130667 21.5313102,17.9984294 L21.4096851,18.0710255 L12.5225469,22.7763467 L12.419458,22.8225805 C12.3490248,22.8497426 12.2754348,22.8695019 12.2002358,22.8813639 L12.0864238,22.8931724 L11.9923866,22.8928571 L11.8632154,22.8787765 C11.7768069,22.8640067 11.6903485,22.8385651 11.607073,22.803014 L11.484951,22.7421753 L2.59260584,18.0339161 L2.48203438,17.9688707 C2.19903004,17.7806128 2.01288586,17.4772862 1.97249425,17.1395165 L1.96427504,17.0113958 L1.96427504,7.8199796 L1.97436738,7.69183676 C1.99170844,7.56384393 2.03067555,7.43714948 2.08989942,7.31938883 C2.12033244,7.26807169 2.15900542,7.21364478 2.20323416,7.16081403 L2.27340857,7.08335327 L2.35016444,6.99314525 L2.42794255,6.91552868 L2.50810054,6.8488331 L2.587,6.794 L11.4622262,2.09564615 L11.5894757,2.03815973 C11.8490161,1.93961285 12.1357883,1.93962524 12.3954895,2.03826064 Z M3.26827504,8.30226683 L3.26866341,16.9114641 L11.709275,21.3752668 L11.709275,13.1532668 L3.26827504,8.30226683 Z M20.715275,8.81126683 L12.834275,13.0142668 L12.834275,21.0802668 L20.7161098,16.9114641 L20.715275,8.81126683 Z M11.9924858,3.30804071 L4.09527504,7.48126683 L12.145,12.107 L20.346275,7.73226683 L11.9924858,3.30804071 Z" id="形状结合"></path>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 2.1 KiB |
17
src/assets/icons/svg/div5.svg
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||||
|
<title>订单管理</title>
|
||||||
|
<g id="页面" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||||
|
<g id="icon和插图" transform="translate(-365.000000, -322.000000)">
|
||||||
|
<g id="订单管理" transform="translate(365.000000, 322.000000)">
|
||||||
|
<g id="编组-29备份-2" fill="white" opacity="0" stroke="#979797">
|
||||||
|
<g id="编组-22">
|
||||||
|
<rect id="矩形" x="0.5" y="0.5" width="23" height="23"></rect>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<path d="M16.161589,3.47101718 C16.6904791,3.47101718 17.1237768,3.88772587 17.1548106,4.41000128 L17.6972311,4.41091071 C18.8018006,4.41091071 19.6972311,5.30634122 19.6972311,6.41091071 L19.6972311,18.5289828 C19.6972311,19.6335523 18.8018006,20.5289828 17.6972311,20.5289828 L6.61594685,20.5289828 C5.51137735,20.5289828 4.61594685,19.6335523 4.61594685,18.5289828 L4.61594685,6.41091071 C4.61594685,5.30634122 5.51137735,4.41091071 6.61594685,4.41091071 L7.15994685,4.41001718 L7.16333316,4.35306292 C7.22122674,3.85644065 7.64458898,3.47101718 8.15158898,3.47101718 L16.161589,3.47101718 Z M7.18533656,5.71071256 L6.61594685,5.71091071 C6.26156413,5.71091071 5.96868862,5.97425434 5.92233702,6.31592486 L5.91594685,6.41091071 L5.91594685,18.5289828 C5.91594685,18.8833655 6.17929047,19.1762411 6.52096099,19.2225926 L6.61594685,19.2289828 L17.6972311,19.2289828 C18.0516138,19.2289828 18.3444894,18.9656392 18.390841,18.6239687 L18.3972311,18.5289828 L18.3972311,6.41091071 C18.3972311,6.056528 18.1338875,5.76365248 17.792217,5.71730089 L17.6972311,5.71091071 L17.1277908,5.71068599 C17.0209762,6.14567209 16.6293931,6.46891104 16.161589,6.47101718 L8.15158898,6.47101718 C7.6846485,6.47101718 7.29221821,6.14621069 7.18533656,5.71071256 Z M15.7618907,9.48984947 L15.8611072,9.50404676 C16.0918471,9.55523351 16.2773476,9.72634821 16.3469537,9.95221538 C16.4066161,10.1458158 16.373259,10.354096 16.2617397,10.5168155 L16.1995353,10.5940997 L11.9111634,15.2398359 C11.7839082,15.3777716 11.6037656,15.4547409 11.4161259,15.4513498 C11.2660141,15.448637 11.1225557,15.3947004 11.0085786,15.300259 L10.9289803,15.2220008 L8.78696476,12.7229538 C8.63101609,12.54508 8.58266365,12.2971328 8.6603525,12.0736971 C8.73804136,11.8502613 8.9297896,11.6857974 9.16245073,11.6430436 C9.36187457,11.6063975 9.56499366,11.6640156 9.71341923,11.7938264 L9.7828039,11.8646457 L11.446,13.805 L15.2313218,9.70472645 C15.3672543,9.55451629 15.5633359,9.47676453 15.7618907,9.48984947 Z M16.156589,4.47101719 L8.15658897,4.47101719 L8.15658897,5.47101719 L16.156589,5.47101719 L16.156589,4.47101719 Z" id="形状结合" fill="white" fill-rule="nonzero"></path>
|
||||||
|
<g id="编组-28" transform="translate(8.156589, 4.471017)"></g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 2.9 KiB |
12
src/assets/icons/svg/fullScreenView.svg
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg width="22px" height="22px" viewBox="0 0 22 22" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||||
|
<title>编组 54</title>
|
||||||
|
<g id="驾驶舱" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||||
|
<g id="运营总览_生产线监控驾驶舱" transform="translate(-1866.000000, -36.000000)">
|
||||||
|
<g id="编组-54" transform="translate(1866.000000, 36.000000)">
|
||||||
|
<rect id="矩形" stroke="#89b9fe" fill="#89b9fe" opacity="0" x="0.5" y="0.5" width="21" height="21"></rect>
|
||||||
|
<path d="M18.4001211,1 L18.574731,1.00571398 C18.8641421,1.02474925 19.1451559,1.09128771 19.4122178,1.20447947 C19.7221027,1.33395436 19.9991094,1.52058631 20.2392616,1.76073844 C20.4776764,1.99915325 20.6652172,2.27804627 20.7953442,2.58736464 C20.9313506,2.90825642 21,3.24882158 21,3.59987893 L21,3.59987893 L21,18.4001211 L20.994286,18.574731 C20.9752507,18.8641421 20.9087123,19.1451559 20.7955205,19.4122178 C20.6660456,19.7221027 20.4794137,19.9991094 20.2392616,20.2392616 C20.0008468,20.4776764 19.7219537,20.6652172 19.4126354,20.7953442 C19.0917436,20.9313506 18.7511784,21 18.4001211,21 L18.4001211,21 L3.59987893,21 L3.42526905,20.994286 C3.13585794,20.9752507 2.85484405,20.9087123 2.58778224,20.7955205 C2.2778973,20.6660456 2.00089057,20.4794137 1.76073844,20.2392616 C1.52232363,20.0008468 1.33478285,19.7219537 1.20465581,19.4126354 C1.06864936,19.0917436 1,18.7511784 1,18.4001211 L1,18.4001211 L1,3.59987893 L1.00571398,3.42526905 C1.02474925,3.13585794 1.09128771,2.85484405 1.20447947,2.58778224 C1.33395436,2.2778973 1.52058631,2.00089057 1.76073844,1.76073844 C1.99915325,1.52232363 2.27804627,1.33478285 2.58736464,1.20465581 C2.90825642,1.06864936 3.24882158,1 3.59987893,1 L3.59987893,1 L18.4001211,1 Z M18.4001211,2.29539952 L3.59987893,2.29539952 L3.49797651,2.2993263 C2.82542992,2.35136056 2.29539952,2.9140495 2.29539952,3.59987893 L2.29539952,3.59987893 L2.29539952,18.4001211 L2.2993263,18.5020235 C2.35136056,19.1745701 2.9140495,19.7046005 3.59987893,19.7046005 L3.59987893,19.7046005 L18.4001211,19.7046005 L18.5020235,19.7006737 C19.1745701,19.6486394 19.7046005,19.0859505 19.7046005,18.4001211 L19.7046005,18.4001211 L19.7046005,3.59987893 L19.7006737,3.49797651 C19.6486394,2.82542992 19.0859505,2.29539952 18.4001211,2.29539952 L18.4001211,2.29539952 Z M4.56580299,11.8731508 L4.63987359,11.8789244 C4.95620444,11.9219442 5.20096852,12.1943435 5.20096852,12.5208838 L5.20096852,12.5208838 L5.20096852,15.8606113 L8.39814764,12.6634321 L8.45892035,12.6098356 C8.71226443,12.4133149 9.08161636,12.4311804 9.3138681,12.6634321 C9.56547415,12.9150382 9.56547415,13.3275466 9.3138681,13.5791526 L9.3138681,13.5791526 L6.09149511,16.7990315 L9.4155569,16.7990315 L9.49368756,16.8035151 C9.82695229,16.8420028 10.0864105,17.123441 10.081435,17.4601165 C10.0742517,17.8119637 9.78624591,18.094431 9.43371671,18.094431 L9.43371671,18.094431 L4.5691586,18.094431 L4.49163938,18.0899766 C4.16113157,18.051728 3.90556901,17.7718105 3.90556901,17.4308414 L3.90556901,17.4308414 L3.90556901,12.5367736 L3.91007171,12.4587841 C3.94871707,12.1260764 4.23118526,11.8665247 4.56580299,11.8731508 L4.56580299,11.8731508 Z M17.4353814,3.90556901 L17.512257,3.91000958 C17.8400885,3.94813523 18.094431,4.22707005 18.094431,4.56461864 L18.094431,4.56461864 L18.094431,9.46095642 L18.0899283,9.53894589 C18.0512829,9.87165361 17.7688147,10.1312053 17.434197,10.1245792 C17.0828999,10.1173731 16.7990315,9.82850504 16.7990315,9.47684625 L16.7990315,9.47684625 L16.7990315,6.13938874 L13.6018524,9.33656786 L13.5410796,9.39016441 C13.2877356,9.58668512 12.9183836,9.5688196 12.6861319,9.33656786 C12.4345258,9.08496181 12.4345258,8.67245345 12.6861319,8.4208474 L12.6861319,8.4208474 L15.9060108,5.20096852 L12.5821731,5.20096852 L12.5040246,5.19648608 C12.170734,5.1580095 11.9119308,4.876675 11.9185506,4.54071802 C11.9257483,4.18803625 12.2137541,3.90556901 12.5662833,3.90556901 L12.5662833,3.90556901 L17.4353814,3.90556901 Z" id="形状结合" fill="#5889d2" fill-rule="nonzero" opacity="0.79078311"></path>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 4.1 KiB |
10
src/assets/icons/svg/unFullScreenView.svg
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg width="22px" height="22px" viewBox="0 0 22 22" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||||
|
<title>编组 54备份</title>
|
||||||
|
<g id="驾驶舱" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||||
|
<g id="编组-54备份">
|
||||||
|
<rect id="矩形" stroke="#979797" fill="#D8D8D8" opacity="0" x="0.5" y="0.5" width="21" height="21"></rect>
|
||||||
|
<path d="M18.4001211,1 L18.574731,1.00571398 C18.8641421,1.02474925 19.1451559,1.09128771 19.4122178,1.20447947 C19.7221027,1.33395436 19.9991094,1.52058631 20.2392616,1.76073844 C20.4776764,1.99915325 20.6652172,2.27804627 20.7953442,2.58736464 C20.9313506,2.90825642 21,3.24882158 21,3.59987893 L21,3.59987893 L21,18.4001211 L20.994286,18.574731 C20.9752507,18.8641421 20.9087123,19.1451559 20.7955205,19.4122178 C20.6660456,19.7221027 20.4794137,19.9991094 20.2392616,20.2392616 C20.0008468,20.4776764 19.7219537,20.6652172 19.4126354,20.7953442 C19.0917436,20.9313506 18.7511784,21 18.4001211,21 L18.4001211,21 L3.59987893,21 L3.42526905,20.994286 C3.13585794,20.9752507 2.85484405,20.9087123 2.58778224,20.7955205 C2.2778973,20.6660456 2.00089057,20.4794137 1.76073844,20.2392616 C1.52232363,20.0008468 1.33478285,19.7219537 1.20465581,19.4126354 C1.06864936,19.0917436 1,18.7511784 1,18.4001211 L1,18.4001211 L1,3.59987893 L1.00571398,3.42526905 C1.02474925,3.13585794 1.09128771,2.85484405 1.20447947,2.58778224 C1.33395436,2.2778973 1.52058631,2.00089057 1.76073844,1.76073844 C1.99915325,1.52232363 2.27804627,1.33478285 2.58736464,1.20465581 C2.90825642,1.06864936 3.24882158,1 3.59987893,1 L3.59987893,1 L18.4001211,1 Z M18.4001211,2.29539952 L3.59987893,2.29539952 L3.49797651,2.2993263 C2.82542992,2.35136056 2.29539952,2.9140495 2.29539952,3.59987893 L2.29539952,3.59987893 L2.29539952,18.4001211 L2.2993263,18.5020235 C2.35136056,19.1745701 2.9140495,19.7046005 3.59987893,19.7046005 L3.59987893,19.7046005 L18.4001211,19.7046005 L18.5020235,19.7006737 C19.1745701,19.6486394 19.7046005,19.0859505 19.7046005,18.4001211 L19.7046005,18.4001211 L19.7046005,3.59987893 L19.7006737,3.49797651 C19.6486394,2.82542992 19.0859505,2.29539952 18.4001211,2.29539952 L18.4001211,2.29539952 Z M9.43538136,11.905569 L9.512257,11.9100096 C9.84008849,11.9481352 10.094431,12.2270701 10.094431,12.5646186 L10.094431,12.5646186 L10.094431,17.4609564 L10.0899283,17.5389459 C10.0512829,17.8716536 9.76881474,18.1312053 9.43419701,18.1245792 C9.08289988,18.1173731 8.79903148,17.828505 8.79903148,17.4768462 L8.79903148,17.4768462 L8.79903148,14.1393887 L5.60185236,17.3365679 L5.54107965,17.3901644 C5.28773557,17.5866851 4.91838364,17.5688196 4.6861319,17.3365679 C4.43452585,17.0849618 4.43452585,16.6724534 4.6861319,16.4208474 L4.6861319,16.4208474 L7.90601077,13.2009685 L4.58217312,13.2009685 L4.50402457,13.1964861 C4.17073404,13.1580095 3.9119308,12.876675 3.91855064,12.540718 C3.92574827,12.1880363 4.21375409,11.905569 4.56628329,11.905569 L4.56628329,11.905569 L9.43538136,11.905569 Z M12.565803,3.8731508 L12.6398736,3.87892442 C12.9562044,3.92194416 13.2009685,4.19434347 13.2009685,4.52088378 L13.2009685,4.52088378 L13.2009685,7.86061126 L16.3981476,4.66343214 L16.4589204,4.60983559 C16.7122644,4.41331488 17.0816164,4.4311804 17.3138681,4.66343214 C17.5654742,4.91503819 17.5654742,5.32754655 17.3138681,5.5791526 L17.3138681,5.5791526 L14.0914951,8.79903148 L17.4155569,8.79903148 L17.4936876,8.80351509 C17.8269523,8.84200281 18.0864105,9.12344101 18.081435,9.46011654 C18.0742517,9.81196375 17.7862459,10.094431 17.4337167,10.094431 L17.4337167,10.094431 L12.5691586,10.094431 L12.4916394,10.0899766 C12.1611316,10.051728 11.905569,9.77181051 11.905569,9.4308414 L11.905569,9.4308414 L11.905569,4.53677361 L11.9100717,4.45878413 C11.9487171,4.12607641 12.2311853,3.86652471 12.565803,3.8731508 L12.565803,3.8731508 Z" id="形状结合" fill="#5889d2" fill-rule="nonzero" opacity="0.79078311"></path>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 3.9 KiB |
@ -4,7 +4,7 @@
|
|||||||
:class="{ collapse: collapse }"
|
:class="{ collapse: collapse }"
|
||||||
:style="{
|
:style="{
|
||||||
backgroundColor:
|
backgroundColor:
|
||||||
sideTheme === 'theme-dark' ? '#1f2d3d' : variables.menuLightBackground,
|
sideTheme === 'theme-dark' ? 'white' : variables.menuLightBackground,
|
||||||
}">
|
}">
|
||||||
<!-- sideTheme === 'theme-dark'
|
<!-- sideTheme === 'theme-dark'
|
||||||
? variables.menuBackground
|
? variables.menuBackground
|
||||||
@ -21,25 +21,21 @@
|
|||||||
class="sidebar-title"
|
class="sidebar-title"
|
||||||
:style="{
|
:style="{
|
||||||
color:
|
color:
|
||||||
sideTheme === 'theme-dark'
|
'#27207f'
|
||||||
? variables.logoTitleColor
|
|
||||||
: variables.logoLightTitleColor,
|
|
||||||
}">
|
}">
|
||||||
{{ title }}
|
{{ title }}
|
||||||
</h1>
|
</h1>
|
||||||
</router-link>
|
</router-link>
|
||||||
<router-link v-else key="expand" class="sidebar-logo-link" to="/">
|
<router-link v-else key="expand" class="sidebar-logo-link" to="/">
|
||||||
<img v-if="logo" :src="logo" class="sidebar-logo" />
|
<img v-if="logo" :src="logo" class="sidebar-logo" />
|
||||||
<h1
|
<h2
|
||||||
class="sidebar-title"
|
class="sidebar-title"
|
||||||
:style="{
|
:style="{
|
||||||
color:
|
color:
|
||||||
sideTheme === 'theme-dark'
|
'#27207f'
|
||||||
? variables.logoTitleColor
|
|
||||||
: variables.logoLightTitleColor,
|
|
||||||
}">
|
}">
|
||||||
{{ title }}
|
{{ title }}
|
||||||
</h1>
|
</h2>
|
||||||
</router-link>
|
</router-link>
|
||||||
</transition>
|
</transition>
|
||||||
</div>
|
</div>
|
||||||
@ -67,7 +63,7 @@ export default {
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
title: '中国联合工程',
|
title: '中国联合工程有限公司',
|
||||||
logo: logoImg,
|
logo: logoImg,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
@ -110,7 +106,7 @@ export default {
|
|||||||
color: #fff;
|
color: #fff;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
line-height: 50px;
|
line-height: 50px;
|
||||||
font-size: 18px;
|
font-size: 16px;
|
||||||
letter-spacing: 1px;
|
letter-spacing: 1px;
|
||||||
font-family: Avenir, Helvetica Neue, Arial, Helvetica, sans-serif;
|
font-family: Avenir, Helvetica Neue, Arial, Helvetica, sans-serif;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
<tags-view v-if="needTagsView" />
|
<tags-view v-if="needTagsView" />
|
||||||
</div>
|
</div>
|
||||||
<app-main />
|
<app-main />
|
||||||
<div class="main-footer" style="color: #C7C7C7; user-select: none; font-size: 14px; letter-spacing: 1px; height: 30px; display: grid; place-content: center;">© 中建材智能自动化研究院有限公司</div>
|
<div class="main-footer" v-if="false" style="color: #C7C7C7; user-select: none; font-size: 14px; letter-spacing: 1px; height: 30px; display: grid; place-content: center;">© 中建材智能自动化研究院有限公司</div>
|
||||||
<right-panel>
|
<right-panel>
|
||||||
<settings />
|
<settings />
|
||||||
</right-panel>
|
</right-panel>
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* @Author: zwq
|
* @Author: zwq
|
||||||
* @Date: 2022-08-24 11:19:43
|
* @Date: 2022-08-24 11:19:43
|
||||||
* @LastEditors: zwq
|
* @LastEditors: zwq
|
||||||
* @LastEditTime: 2023-11-01 16:46:42
|
* @LastEditTime: 2023-12-25 11:01:23
|
||||||
* @Description:
|
* @Description:
|
||||||
*/
|
*/
|
||||||
export default {
|
export default {
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* @Author: zwq
|
* @Author: zwq
|
||||||
* @Date: 2023-09-22 14:23:44
|
* @Date: 2023-09-22 14:23:44
|
||||||
* @LastEditors: zwq
|
* @LastEditors: zwq
|
||||||
* @LastEditTime: 2023-10-30 16:46:29
|
* @LastEditTime: 2024-04-18 14:01:08
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
@ -41,6 +41,7 @@
|
|||||||
v-model="dataForm.mainTaskType"
|
v-model="dataForm.mainTaskType"
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
:disabled="isdetail"
|
:disabled="isdetail"
|
||||||
|
@change="setEndInfo()"
|
||||||
placeholder="请选择任务类型">
|
placeholder="请选择任务类型">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in mainTaskType"
|
v-for="item in mainTaskType"
|
||||||
@ -52,10 +53,19 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="货物类型" prop="productType">
|
<el-form-item label="货物类型" prop="productType">
|
||||||
<el-input
|
<el-select
|
||||||
v-model="dataForm.productType"
|
v-model="dataForm.productType"
|
||||||
:disabled="isdetail"
|
style="width: 100%"
|
||||||
placeholder="请输入货物类型" />
|
filterable
|
||||||
|
allow-create
|
||||||
|
default-first-option
|
||||||
|
placeholder="请选择货物类型">
|
||||||
|
<el-option
|
||||||
|
v-for="item in options"
|
||||||
|
:key="item.value"
|
||||||
|
:label="item.label"
|
||||||
|
:value="item.value"></el-option>
|
||||||
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
@ -73,12 +83,11 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12" v-if='false'>
|
<el-col :span="12" v-if="false">
|
||||||
<el-form-item label="任务来源" prop="source">
|
<el-form-item label="任务来源" prop="source">
|
||||||
<el-select
|
<el-select
|
||||||
v-model="dataForm.source"
|
v-model="dataForm.source"
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
:disabled="isdetail"
|
|
||||||
placeholder="请选择任务来源">
|
placeholder="请选择任务来源">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in mainTaskSource"
|
v-for="item in mainTaskSource"
|
||||||
@ -93,6 +102,7 @@
|
|||||||
<el-select
|
<el-select
|
||||||
v-model="dataForm.startInfo"
|
v-model="dataForm.startInfo"
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
|
filterable
|
||||||
:disabled="isdetail"
|
:disabled="isdetail"
|
||||||
@change="$forceUpdate()"
|
@change="$forceUpdate()"
|
||||||
placeholder="请选择起点">
|
placeholder="请选择起点">
|
||||||
@ -109,11 +119,12 @@
|
|||||||
<el-select
|
<el-select
|
||||||
v-model="dataForm.endInfo"
|
v-model="dataForm.endInfo"
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
|
filterable
|
||||||
:disabled="isdetail"
|
:disabled="isdetail"
|
||||||
@change="$forceUpdate()"
|
@change="$forceUpdate()"
|
||||||
placeholder="请选择终点">
|
placeholder="请选择终点">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in warehouseList"
|
v-for="item in endWarehouseList"
|
||||||
:key="item.id"
|
:key="item.id"
|
||||||
:label="item.warehouseStorehouseName"
|
:label="item.warehouseStorehouseName"
|
||||||
:value="item.id + ',' + item.warehouseStorehouseName" />
|
:value="item.id + ',' + item.warehouseStorehouseName" />
|
||||||
@ -122,10 +133,7 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-form-item label="备注" prop="remark">
|
<el-form-item label="备注" prop="remark">
|
||||||
<el-input
|
<el-input v-model="dataForm.remark" placeholder="请输入备注" />
|
||||||
v-model="dataForm.remark"
|
|
||||||
:disabled="isdetail"
|
|
||||||
placeholder="请输入备注" />
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
@ -148,7 +156,6 @@
|
|||||||
@emitFun="inputChange"
|
@emitFun="inputChange"
|
||||||
:table-data="productAttributeList">
|
:table-data="productAttributeList">
|
||||||
<method-btn
|
<method-btn
|
||||||
v-if="!isdetail"
|
|
||||||
slot="handleBtn"
|
slot="handleBtn"
|
||||||
:width="120"
|
:width="120"
|
||||||
label="操作"
|
label="操作"
|
||||||
@ -161,11 +168,10 @@
|
|||||||
|
|
||||||
<div style="position: absolute; bottom: 24px; right: 24px">
|
<div style="position: absolute; bottom: 24px; right: 24px">
|
||||||
<el-button style="margin-right: 10px" @click="goback()">返回</el-button>
|
<el-button style="margin-right: 10px" @click="goback()">返回</el-button>
|
||||||
<el-button v-if="isdetail" type="primary" @click="goEdit()">
|
<span>
|
||||||
编辑
|
<el-button type="primary" @click="dataFormSubmit()" :loading="btnLoad">
|
||||||
|
保存
|
||||||
</el-button>
|
</el-button>
|
||||||
<span v-if="!isdetail">
|
|
||||||
<el-button type="primary" @click="dataFormSubmit()">保存</el-button>
|
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -177,8 +183,13 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { updateTask, getTask, createTask,getProductlist } from '@/api/axl/task';
|
import {
|
||||||
import { getWarehousestorehousePage } from '@/api/axl/warehousestorehouse';
|
updateTask,
|
||||||
|
getTask,
|
||||||
|
createTask,
|
||||||
|
getProductlist,
|
||||||
|
} from '@/api/axl/task';
|
||||||
|
import { getWarehousestorehouseListById } from '@/api/axl/warehousestorehouse';
|
||||||
import productAttrAdd from './attr-add';
|
import productAttrAdd from './attr-add';
|
||||||
import inputArea from './inputArea';
|
import inputArea from './inputArea';
|
||||||
import SmallTitle from './SmallTitle';
|
import SmallTitle from './SmallTitle';
|
||||||
@ -238,10 +249,6 @@ const mainTaskType = [
|
|||||||
name: '越库',
|
name: '越库',
|
||||||
id: 4,
|
id: 4,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
name: '盘点',
|
|
||||||
id: 5,
|
|
||||||
},
|
|
||||||
];
|
];
|
||||||
const mainTaskStatus = [
|
const mainTaskStatus = [
|
||||||
{
|
{
|
||||||
@ -277,10 +284,12 @@ export default {
|
|||||||
tableProps,
|
tableProps,
|
||||||
productAttributeList: [],
|
productAttributeList: [],
|
||||||
warehouseList: [],
|
warehouseList: [],
|
||||||
|
endWarehouseList: [],
|
||||||
addButtonShow: '新增',
|
addButtonShow: '新增',
|
||||||
mainTaskType,
|
mainTaskType,
|
||||||
mainTaskStatus,
|
mainTaskStatus,
|
||||||
mainTaskSource,
|
mainTaskSource,
|
||||||
|
isInTaskType: false,
|
||||||
dataForm: {
|
dataForm: {
|
||||||
id: null,
|
id: null,
|
||||||
mainTaskType: '',
|
mainTaskType: '',
|
||||||
@ -320,6 +329,29 @@ export default {
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
isdetail: false,
|
isdetail: false,
|
||||||
|
btnLoad: false,
|
||||||
|
options: [
|
||||||
|
{
|
||||||
|
value: '待渗碳',
|
||||||
|
label: '待渗碳',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: '待冷处理',
|
||||||
|
label: '待冷处理',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: '待淬火',
|
||||||
|
label: '待淬火',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: '待抛丸',
|
||||||
|
label: '待抛丸',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: '待返修',
|
||||||
|
label: '待返修',
|
||||||
|
},
|
||||||
|
],
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
@ -328,6 +360,7 @@ export default {
|
|||||||
},
|
},
|
||||||
init(id, isdetail) {
|
init(id, isdetail) {
|
||||||
this.initData();
|
this.initData();
|
||||||
|
this.btnLoad = false;
|
||||||
this.isdetail = isdetail || false;
|
this.isdetail = isdetail || false;
|
||||||
this.dataForm.id = id || null;
|
this.dataForm.id = id || null;
|
||||||
this.visible = true;
|
this.visible = true;
|
||||||
@ -340,8 +373,9 @@ export default {
|
|||||||
pageSize: 100,
|
pageSize: 100,
|
||||||
pageNo: 1,
|
pageNo: 1,
|
||||||
};
|
};
|
||||||
getWarehousestorehousePage(params).then((response) => {
|
getWarehousestorehouseListById(params).then((response) => {
|
||||||
this.warehouseList = response.data.list;
|
this.warehouseList = response.data;
|
||||||
|
this.endWarehouseList = response.data.slice();
|
||||||
});
|
});
|
||||||
if (this.dataForm.id) {
|
if (this.dataForm.id) {
|
||||||
// 获取详情
|
// 获取详情
|
||||||
@ -357,7 +391,21 @@ export default {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
setEndInfo() {
|
||||||
|
if (this.dataForm.mainTaskType === 1) {
|
||||||
|
this.isInTaskType = true;
|
||||||
|
const obj = {
|
||||||
|
warehouseStorehouseName: '入库自动分配库位',
|
||||||
|
id: 0,
|
||||||
|
};
|
||||||
|
this.endWarehouseList.unshift(obj);
|
||||||
|
} else {
|
||||||
|
if (this.isInTaskType) {
|
||||||
|
this.endWarehouseList.shift();
|
||||||
|
this.isInTaskType = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
getList() {
|
getList() {
|
||||||
// 获取产品的属性列表
|
// 获取产品的属性列表
|
||||||
getProductlist(this.dataForm.id).then((response) => {
|
getProductlist(this.dataForm.id).then((response) => {
|
||||||
@ -392,6 +440,7 @@ export default {
|
|||||||
dataFormSubmit() {
|
dataFormSubmit() {
|
||||||
this.$refs['dataForm'].validate((valid) => {
|
this.$refs['dataForm'].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
|
this.btnLoad = true;
|
||||||
this.dataForm.productList = this.productAttributeList;
|
this.dataForm.productList = this.productAttributeList;
|
||||||
this.dataForm.startId = this.dataForm.startInfo.split(',')[0];
|
this.dataForm.startId = this.dataForm.startInfo.split(',')[0];
|
||||||
this.dataForm.startName = this.dataForm.startInfo.split(',')[1];
|
this.dataForm.startName = this.dataForm.startInfo.split(',')[1];
|
||||||
@ -401,6 +450,7 @@ export default {
|
|||||||
if (this.dataForm.id) {
|
if (this.dataForm.id) {
|
||||||
updateTask(this.dataForm).then((response) => {
|
updateTask(this.dataForm).then((response) => {
|
||||||
this.$modal.msgSuccess('修改成功');
|
this.$modal.msgSuccess('修改成功');
|
||||||
|
this.btnLoad = false;
|
||||||
this.visible = false;
|
this.visible = false;
|
||||||
this.$emit('refreshDataList');
|
this.$emit('refreshDataList');
|
||||||
});
|
});
|
||||||
@ -415,9 +465,6 @@ export default {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
goEdit() {
|
|
||||||
this.isdetail = false;
|
|
||||||
},
|
|
||||||
// 新增 / 修改
|
// 新增 / 修改
|
||||||
addNew(index) {
|
addNew(index) {
|
||||||
this.addOrUpdateVisible = true;
|
this.addOrUpdateVisible = true;
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* @Author: zwq
|
* @Author: zwq
|
||||||
* @Date: 2023-08-24 14:47:58
|
* @Date: 2023-08-24 14:47:58
|
||||||
* @LastEditors: zwq
|
* @LastEditors: zwq
|
||||||
* @LastEditTime: 2023-09-22 16:48:07
|
* @LastEditTime: 2023-12-25 10:26:07
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
@ -36,6 +36,16 @@ const tableProps = [
|
|||||||
label: '数量',
|
label: '数量',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
prop: 'dateNum',
|
||||||
|
label: '批次号',
|
||||||
|
align: 'center',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'remark',
|
||||||
|
label: '备注',
|
||||||
|
align: 'center',
|
||||||
|
},
|
||||||
];
|
];
|
||||||
export default {
|
export default {
|
||||||
props: {
|
props: {
|
||||||
|
@ -256,8 +256,17 @@ export default {
|
|||||||
mounted() {
|
mounted() {
|
||||||
this.getDataList();
|
this.getDataList();
|
||||||
this.getjob();
|
this.getjob();
|
||||||
|
this.startFun();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
startFun() {
|
||||||
|
const timer = setInterval(() => {
|
||||||
|
this.getDataList();
|
||||||
|
}, 10000);
|
||||||
|
this.$once('hook:beforeDestroy', () => {
|
||||||
|
clearInterval(timer);
|
||||||
|
});
|
||||||
|
},
|
||||||
getjob() {
|
getjob() {
|
||||||
getJob(20).then((response) => {
|
getJob(20).then((response) => {
|
||||||
this.jobStatus = response.data.status;
|
this.jobStatus = response.data.status;
|
||||||
@ -338,7 +347,7 @@ export default {
|
|||||||
if (val.type === 'edit') {
|
if (val.type === 'edit') {
|
||||||
this.drawerVisible = true;
|
this.drawerVisible = true;
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs.drawerRef.init(val.data.id);
|
this.$refs.drawerRef.init(val.data.id,true);
|
||||||
});
|
});
|
||||||
} else if (val.type === 'delete') {
|
} else if (val.type === 'delete') {
|
||||||
this.deleteHandle(val.data.id, val.data.mainTaskCode);
|
this.deleteHandle(val.data.id, val.data.mainTaskCode);
|
||||||
|
119
src/views/axl/taskProductsAssociate/add-or-updata.vue
Normal file
@ -0,0 +1,119 @@
|
|||||||
|
<!--
|
||||||
|
* @Author: zwq
|
||||||
|
* @Date: 2021-11-18 14:16:25
|
||||||
|
* @LastEditors: zwq
|
||||||
|
* @LastEditTime: 2023-12-25 16:17:35
|
||||||
|
* @Description:
|
||||||
|
-->
|
||||||
|
<template>
|
||||||
|
<el-form
|
||||||
|
:model="dataForm"
|
||||||
|
:rules="dataRule"
|
||||||
|
ref="dataForm"
|
||||||
|
@keyup.enter.native="dataFormSubmit()"
|
||||||
|
label-width="120px">
|
||||||
|
<el-form-item label="货物" prop="productId">
|
||||||
|
<el-select
|
||||||
|
v-model="dataForm.productId"
|
||||||
|
clearable
|
||||||
|
filterable
|
||||||
|
placeholder="请选择货物"
|
||||||
|
@change="setInfo"
|
||||||
|
style="width: 100%">
|
||||||
|
<el-option
|
||||||
|
v-for="item in productList"
|
||||||
|
:key="item.id"
|
||||||
|
:label="item.productName"
|
||||||
|
:value="item.id"></el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="数量" prop="number">
|
||||||
|
<el-input v-model="dataForm.number" placeholder="请输入数量" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="批次号" prop="dateNum">
|
||||||
|
<el-input v-model="dataForm.dateNum" placeholder="请输入批次号" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="库位" prop="storehouseId">
|
||||||
|
<el-select
|
||||||
|
v-model="dataForm.storehouseId"
|
||||||
|
clearable
|
||||||
|
filterable
|
||||||
|
placeholder="请选择库位"
|
||||||
|
style="width: 100%">
|
||||||
|
<el-option
|
||||||
|
v-for="item in storehouseList"
|
||||||
|
:key="item.id"
|
||||||
|
:label="item.warehouseStorehouseName"
|
||||||
|
:value="item.id"></el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="备注" prop="remark">
|
||||||
|
<el-input v-model="dataForm.remark" clearable placeholder="请输入备注" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import basicAdd from '../mixins/basic-add';
|
||||||
|
import {
|
||||||
|
createTaskProductsAssociate,
|
||||||
|
updateTaskProductsAssociate,
|
||||||
|
getTaskProductsAssociate,
|
||||||
|
} from '@/api/axl/taskProductsAssociate';
|
||||||
|
import { getWarehousestorehouseList } from '@/api/axl/warehousestorehouse';
|
||||||
|
import { getProductList } from '@/api/axl/product';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
mixins: [basicAdd],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
urlOptions: {
|
||||||
|
createURL: createTaskProductsAssociate,
|
||||||
|
updateURL: updateTaskProductsAssociate,
|
||||||
|
infoURL: getTaskProductsAssociate,
|
||||||
|
getOption: true,
|
||||||
|
},
|
||||||
|
productList: [],
|
||||||
|
storehouseList: [],
|
||||||
|
dataForm: {
|
||||||
|
id: undefined,
|
||||||
|
productId: null,
|
||||||
|
productCode: null,
|
||||||
|
productName: null,
|
||||||
|
storehouseId: null,
|
||||||
|
dateNum: undefined,
|
||||||
|
number: undefined,
|
||||||
|
remark: undefined,
|
||||||
|
},
|
||||||
|
dataRule: {
|
||||||
|
productId: [
|
||||||
|
{ required: true, message: '货物不能为空', trigger: 'change' },
|
||||||
|
],
|
||||||
|
storehouseId: [
|
||||||
|
{ required: true, message: '库位不能为空', trigger: 'change' },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
};
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
getArr() {
|
||||||
|
getProductList().then((res) => {
|
||||||
|
this.productList = res.data;
|
||||||
|
});
|
||||||
|
getWarehousestorehouseList().then((res) => {
|
||||||
|
this.storehouseList = [];
|
||||||
|
for (let i in res.data) {
|
||||||
|
for (let j in res.data[i]) {
|
||||||
|
this.storehouseList= this.storehouseList.concat(res.data[i][j]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
setInfo() {
|
||||||
|
let obj = this.productList.find((item) => item.id === this.dataForm.productId);
|
||||||
|
this.dataForm.productCode = obj.productCode
|
||||||
|
this.dataForm.productName = obj.productName
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
@ -1,282 +1,288 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
|
<search-bar
|
||||||
<!-- 搜索工作栏 -->
|
:isFold="true"
|
||||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
:formConfigs="formConfig"
|
||||||
<el-form-item label="产品id" prop="productId">
|
ref="searchBarForm"
|
||||||
<el-input v-model="queryParams.productId" placeholder="请输入产品id" clearable @keyup.enter.native="handleQuery"/>
|
@headBtnClick="buttonClick" />
|
||||||
</el-form-item>
|
<el-table
|
||||||
<el-form-item label="货物规格代码" prop="productCode">
|
:data="tableData"
|
||||||
<el-input v-model="queryParams.productCode" placeholder="请输入货物规格代码" clearable @keyup.enter.native="handleQuery"/>
|
:span-method="objectSpanMethod"
|
||||||
</el-form-item>
|
:header-cell-style="{
|
||||||
<el-form-item label="货物规格名称" prop="productName">
|
background: '#F2F4F9',
|
||||||
<el-input v-model="queryParams.productName" placeholder="请输入货物规格名称" clearable @keyup.enter.native="handleQuery"/>
|
color: '#606266',
|
||||||
</el-form-item>
|
}"
|
||||||
<el-form-item label="数量" prop="number">
|
border
|
||||||
<el-input v-model="queryParams.number" placeholder="请输入数量" clearable @keyup.enter.native="handleQuery"/>
|
v-loading="dataListLoading"
|
||||||
</el-form-item>
|
style="width: 100%"
|
||||||
<el-form-item label="批次号" prop="dateNum">
|
ref="dataList">
|
||||||
<el-input v-model="queryParams.dateNum" placeholder="请输入批次号" clearable @keyup.enter.native="handleQuery"/>
|
<el-table-column label="库位名称" align="center" prop="storehouseName" />
|
||||||
</el-form-item>
|
<el-table-column label="货物编码" align="center" prop="productCode" />
|
||||||
<el-form-item label="创建时间" prop="createTime">
|
<el-table-column label="货物名称" align="center" prop="productName" />
|
||||||
<el-date-picker v-model="queryParams.createTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" type="daterange"
|
|
||||||
range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:59:59']" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="更新时间" prop="updateDate">
|
|
||||||
<el-date-picker v-model="queryParams.updateDate" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" type="daterange"
|
|
||||||
range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:59:59']" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="备注" prop="remark">
|
|
||||||
<el-input v-model="queryParams.remark" placeholder="请输入备注" clearable @keyup.enter.native="handleQuery"/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="库位id" prop="storehouseId">
|
|
||||||
<el-input v-model="queryParams.storehouseId" placeholder="请输入库位id" clearable @keyup.enter.native="handleQuery"/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item>
|
|
||||||
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
|
|
||||||
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
|
|
||||||
</el-form-item>
|
|
||||||
</el-form>
|
|
||||||
|
|
||||||
<!-- 操作工具栏 -->
|
|
||||||
<el-row :gutter="10" class="mb8">
|
|
||||||
<el-col :span="1.5">
|
|
||||||
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
|
|
||||||
v-hasPermi="['axl:task-products-associate:create']">新增</el-button>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="1.5">
|
|
||||||
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading"
|
|
||||||
v-hasPermi="['axl:task-products-associate:export']">导出</el-button>
|
|
||||||
</el-col>
|
|
||||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
|
||||||
</el-row>
|
|
||||||
|
|
||||||
<!-- 列表 -->
|
|
||||||
<el-table v-loading="loading" :data="list">
|
|
||||||
<el-table-column label="id" align="center" prop="id" />
|
|
||||||
<el-table-column label="产品id" align="center" prop="productId" />
|
|
||||||
<el-table-column label="货物规格代码" align="center" prop="productCode" />
|
|
||||||
<el-table-column label="货物规格名称" align="center" prop="productName" />
|
|
||||||
<el-table-column label="数量" align="center" prop="number" />
|
<el-table-column label="数量" align="center" prop="number" />
|
||||||
<el-table-column label="批次号" align="center" prop="dateNum" />
|
<el-table-column label="批次号" align="center" prop="dateNum" />
|
||||||
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
|
<el-table-column
|
||||||
|
label="创建时间"
|
||||||
|
align="center"
|
||||||
|
prop="createTime"
|
||||||
|
width="150">
|
||||||
<template v-slot="scope">
|
<template v-slot="scope">
|
||||||
<span>{{ parseTime(scope.row.createTime) }}</span>
|
<span>{{ parseTime(scope.row.createTime) }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="更新时间" align="center" prop="updateDate" width="180">
|
<el-table-column label="备注" align="center" prop="remark" />
|
||||||
|
<el-table-column label="操作" align="center">
|
||||||
<template v-slot="scope">
|
<template v-slot="scope">
|
||||||
<span>{{ parseTime(scope.row.updateDate) }}</span>
|
<el-button
|
||||||
|
size="mini"
|
||||||
|
type="text"
|
||||||
|
v-hasPermi="['axl:task-products-associate:update']"
|
||||||
|
@click="handleClick({ data: scope.row, type: 'edit' })">
|
||||||
|
编辑
|
||||||
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
size="mini"
|
||||||
|
type="text"
|
||||||
|
v-hasPermi="['axl:task-products-associate:delete']"
|
||||||
|
@click="
|
||||||
|
handleClick({
|
||||||
|
data: { ...scope.row, _pageIndex: scope.$index+1 },
|
||||||
|
type: 'delete',
|
||||||
|
})
|
||||||
|
">
|
||||||
|
删除
|
||||||
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="备注" align="center" prop="remark" />
|
<el-table-column label="出库" align="center">
|
||||||
<el-table-column label="库位id" align="center" prop="storehouseId" />
|
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
|
||||||
<template v-slot="scope">
|
<template v-slot="scope">
|
||||||
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
|
<el-button
|
||||||
v-hasPermi="['axl:task-products-associate:update']">修改</el-button>
|
size="mini"
|
||||||
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
|
type="text"
|
||||||
v-hasPermi="['axl:task-products-associate:delete']">删除</el-button>
|
@click="outWare(scope.row.storehouseId)">
|
||||||
|
到输送线
|
||||||
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
size="mini"
|
||||||
|
type="text"
|
||||||
|
@click="outWare2(scope.row.storehouseId)">
|
||||||
|
到载货台
|
||||||
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
<!-- 分页组件 -->
|
<pagination
|
||||||
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize"
|
:limit.sync="listQuery.pageSize"
|
||||||
@pagination="getList"/>
|
:page.sync="listQuery.pageNo"
|
||||||
|
:total="listQuery.total"
|
||||||
<!-- 对话框(添加 / 修改) -->
|
@pagination="getDataList" />
|
||||||
<el-dialog :title="title" :visible.sync="open" width="500px" v-dialogDrag append-to-body>
|
<base-dialog
|
||||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
:dialogTitle="addOrEditTitle"
|
||||||
<el-form-item label="产品id" prop="productId">
|
:dialogVisible="addOrUpdateVisible"
|
||||||
<el-input v-model="form.productId" placeholder="请输入产品id" />
|
@cancel="handleCancel"
|
||||||
</el-form-item>
|
@confirm="handleConfirm"
|
||||||
<el-form-item label="货物规格代码" prop="productCode">
|
:before-close="handleCancel"
|
||||||
<el-input v-model="form.productCode" placeholder="请输入货物规格代码" />
|
width="35%">
|
||||||
</el-form-item>
|
<add-or-update
|
||||||
<el-form-item label="货物规格名称" prop="productName">
|
ref="addOrUpdate"
|
||||||
<el-input v-model="form.productName" placeholder="请输入货物规格名称" />
|
@refreshDataList="successSubmit"></add-or-update>
|
||||||
</el-form-item>
|
</base-dialog>
|
||||||
<el-form-item label="数量" prop="number">
|
|
||||||
<el-input v-model="form.number" placeholder="请输入数量" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="批次号" prop="dateNum">
|
|
||||||
<el-input v-model="form.dateNum" placeholder="请输入批次号" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="创建时间" prop="createTime">
|
|
||||||
<el-date-picker clearable v-model="form.createTime" type="date" value-format="timestamp" placeholder="选择创建时间" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="更新时间" prop="updateDate">
|
|
||||||
<el-date-picker clearable v-model="form.updateDate" type="date" value-format="timestamp" placeholder="选择更新时间" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="备注" prop="remark">
|
|
||||||
<el-input v-model="form.remark" placeholder="请输入备注" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="库位id" prop="storehouseId">
|
|
||||||
<el-input v-model="form.storehouseId" placeholder="请输入库位id" />
|
|
||||||
</el-form-item>
|
|
||||||
</el-form>
|
|
||||||
<div slot="footer" class="dialog-footer">
|
|
||||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
|
||||||
<el-button @click="cancel">取 消</el-button>
|
|
||||||
</div>
|
|
||||||
</el-dialog>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { createTaskProductsAssociate, updateTaskProductsAssociate, deleteTaskProductsAssociate, getTaskProductsAssociate, getTaskProductsAssociatePage, exportTaskProductsAssociateExcel } from "@/api/axl/taskProductsAssociate";
|
import basicPage from '../mixins/basic-page';
|
||||||
|
import AddOrUpdate from './add-or-updata';
|
||||||
|
import {
|
||||||
|
deleteTaskProductsAssociate,
|
||||||
|
getTaskProductsAssociatePage,
|
||||||
|
} from '@/api/axl/taskProductsAssociate';
|
||||||
|
import { outWare, outWare2 } from '@/api/axl/warehousestorehouse';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "TaskProductsAssociate",
|
mixins: [basicPage],
|
||||||
components: {
|
|
||||||
},
|
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
// 遮罩层
|
urlOptions: {
|
||||||
loading: true,
|
getDataListURL: getTaskProductsAssociatePage,
|
||||||
// 导出遮罩层
|
deleteURL: deleteTaskProductsAssociate,
|
||||||
exportLoading: false,
|
},
|
||||||
// 显示搜索条件
|
tableData: [],
|
||||||
showSearch: true,
|
dataListLoading: false,
|
||||||
// 总条数
|
drawerVisible: false,
|
||||||
total: 0,
|
listQuery: {
|
||||||
// 任务关联货物列表
|
pageSize: 20,
|
||||||
list: [],
|
|
||||||
// 弹出层标题
|
|
||||||
title: "",
|
|
||||||
// 是否显示弹出层
|
|
||||||
open: false,
|
|
||||||
// 查询参数
|
|
||||||
queryParams: {
|
|
||||||
pageNo: 1,
|
pageNo: 1,
|
||||||
pageSize: 10,
|
total: 1,
|
||||||
productId: null,
|
|
||||||
productCode: null,
|
|
||||||
productName: null,
|
|
||||||
number: null,
|
|
||||||
dateNum: null,
|
|
||||||
createTime: [],
|
|
||||||
updateDate: [],
|
|
||||||
remark: null,
|
|
||||||
storehouseId: null,
|
|
||||||
},
|
},
|
||||||
// 表单参数
|
formConfig: [
|
||||||
form: {},
|
{
|
||||||
// 表单校验
|
type: 'input',
|
||||||
rules: {
|
label: '货物编码',
|
||||||
productId: [{ required: true, message: "产品id不能为空", trigger: "blur" }],
|
placeholder: '货物编码',
|
||||||
storehouseId: [{ required: true, message: "库位id不能为空", trigger: "blur" }],
|
param: 'code',
|
||||||
}
|
},
|
||||||
|
{
|
||||||
|
type: 'input',
|
||||||
|
label: '货物名称',
|
||||||
|
placeholder: '货物名称',
|
||||||
|
param: 'name',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'datePicker',
|
||||||
|
label: '创建时间',
|
||||||
|
dateType: 'daterange',
|
||||||
|
format: 'yyyy-MM-dd',
|
||||||
|
valueFormat: 'yyyy-MM-dd HH:mm:ss',
|
||||||
|
rangeSeparator: '-',
|
||||||
|
startPlaceholder: '开始时间',
|
||||||
|
endPlaceholder: '结束时间',
|
||||||
|
param: 'searchTime',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'input',
|
||||||
|
label: '备注',
|
||||||
|
placeholder: '备注',
|
||||||
|
param: 'remark',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'button',
|
||||||
|
btnName: '搜索',
|
||||||
|
name: 'search',
|
||||||
|
color: 'primary',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'separate',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: this.$auth.hasPermi('axl:task-products-associate:create') ? 'button' : '',
|
||||||
|
btnName: '新增',
|
||||||
|
name: 'add',
|
||||||
|
color: 'success',
|
||||||
|
plain: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'separate',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'button',
|
||||||
|
btnName: '重置',
|
||||||
|
name: 'reset',
|
||||||
|
},
|
||||||
|
],
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
components: {
|
||||||
this.getList();
|
AddOrUpdate,
|
||||||
},
|
},
|
||||||
|
created() {},
|
||||||
methods: {
|
methods: {
|
||||||
/** 查询列表 */
|
// 获取数据列表
|
||||||
getList() {
|
getDataList() {
|
||||||
this.loading = true;
|
this.dataListLoading = true;
|
||||||
// 执行查询
|
this.urlOptions.getDataListURL(this.listQuery).then((response) => {
|
||||||
getTaskProductsAssociatePage(this.queryParams).then(response => {
|
this.tableData = response.data.list;
|
||||||
this.list = response.data.list;
|
this.listQuery.total = response.data.total;
|
||||||
this.total = response.data.total;
|
this.setSpan();
|
||||||
this.loading = false;
|
this.dataListLoading = false;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
/** 取消按钮 */
|
buttonClick(val) {
|
||||||
cancel() {
|
switch (val.btnName) {
|
||||||
this.open = false;
|
case 'search':
|
||||||
this.reset();
|
this.listQuery.pageNo = 1;
|
||||||
},
|
this.listQuery.pageSize = 20;
|
||||||
/** 表单重置 */
|
this.listQuery.productCode = val.code;
|
||||||
reset() {
|
this.listQuery.productName = val.name;
|
||||||
this.form = {
|
this.listQuery.remark = val.remark;
|
||||||
id: undefined,
|
this.listQuery.createTime = val.searchTime;
|
||||||
productId: undefined,
|
this.getDataList();
|
||||||
productCode: undefined,
|
break;
|
||||||
productName: undefined,
|
case 'add':
|
||||||
number: undefined,
|
this.addOrEditTitle = '新增';
|
||||||
dateNum: undefined,
|
this.addOrUpdateVisible = true;
|
||||||
createTime: undefined,
|
this.addOrUpdateHandle();
|
||||||
updateDate: undefined,
|
break;
|
||||||
remark: undefined,
|
case 'reset':
|
||||||
storehouseId: undefined,
|
this.$refs.searchBarForm.resetForm();
|
||||||
|
this.listQuery = {
|
||||||
|
pageSize: 20,
|
||||||
|
pageNo: 1,
|
||||||
|
total: 1,
|
||||||
};
|
};
|
||||||
this.resetForm("form");
|
this.getDataList();
|
||||||
},
|
break;
|
||||||
/** 搜索按钮操作 */
|
default:
|
||||||
handleQuery() {
|
console.log(val);
|
||||||
this.queryParams.pageNo = 1;
|
|
||||||
this.getList();
|
|
||||||
},
|
|
||||||
/** 重置按钮操作 */
|
|
||||||
resetQuery() {
|
|
||||||
this.resetForm("queryForm");
|
|
||||||
this.handleQuery();
|
|
||||||
},
|
|
||||||
/** 新增按钮操作 */
|
|
||||||
handleAdd() {
|
|
||||||
this.reset();
|
|
||||||
this.open = true;
|
|
||||||
this.title = "添加任务关联货物";
|
|
||||||
},
|
|
||||||
/** 修改按钮操作 */
|
|
||||||
handleUpdate(row) {
|
|
||||||
this.reset();
|
|
||||||
const id = row.id;
|
|
||||||
getTaskProductsAssociate(id).then(response => {
|
|
||||||
this.form = response.data;
|
|
||||||
this.open = true;
|
|
||||||
this.title = "修改任务关联货物";
|
|
||||||
});
|
|
||||||
},
|
|
||||||
/** 提交按钮 */
|
|
||||||
submitForm() {
|
|
||||||
this.$refs["form"].validate(valid => {
|
|
||||||
if (!valid) {
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
// 修改的提交
|
|
||||||
if (this.form.id != null) {
|
|
||||||
updateTaskProductsAssociate(this.form).then(response => {
|
|
||||||
this.$modal.msgSuccess("修改成功");
|
|
||||||
this.open = false;
|
|
||||||
this.getList();
|
|
||||||
});
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
// 添加的提交
|
|
||||||
createTaskProductsAssociate(this.form).then(response => {
|
|
||||||
this.$modal.msgSuccess("新增成功");
|
|
||||||
this.open = false;
|
|
||||||
this.getList();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
/** 删除按钮操作 */
|
setSpan() {
|
||||||
handleDelete(row) {
|
this.tableData.forEach((item) => {
|
||||||
const id = row.id;
|
item.rowspan = 1;
|
||||||
this.$modal.confirm('是否确认删除任务关联货物编号为"' + id + '"的数据项?').then(function() {
|
});
|
||||||
return deleteTaskProductsAssociate(id);
|
// 双层循环
|
||||||
}).then(() => {
|
for (let i = 0; i < this.tableData.length; i++) {
|
||||||
this.getList();
|
for (let j = i + 1; j < this.tableData.length; j++) {
|
||||||
this.$modal.msgSuccess("删除成功");
|
// 此处可根据相同字段进行合并,此处是根据的id
|
||||||
}).catch(() => {});
|
if (
|
||||||
},
|
this.tableData[i].storehouseId === this.tableData[j].storehouseId
|
||||||
/** 导出按钮操作 */
|
) {
|
||||||
handleExport() {
|
this.tableData[i].rowspan++;
|
||||||
// 处理查询参数
|
this.tableData[j].rowspan--;
|
||||||
let params = {...this.queryParams};
|
|
||||||
params.pageNo = undefined;
|
|
||||||
params.pageSize = undefined;
|
|
||||||
this.$modal.confirm('是否确认导出所有任务关联货物数据项?').then(() => {
|
|
||||||
this.exportLoading = true;
|
|
||||||
return exportTaskProductsAssociateExcel(params);
|
|
||||||
}).then(response => {
|
|
||||||
this.$download.excel(response, '任务关联货物.xls');
|
|
||||||
this.exportLoading = false;
|
|
||||||
}).catch(() => {});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// 这里跳过已经重复的数据
|
||||||
|
i = i + this.tableData[i].rowspan - 1;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
objectSpanMethod({ row, column, rowIndex, columnIndex }) {
|
||||||
|
if (columnIndex === 0) { // 第1列下的单元格合并
|
||||||
|
return {
|
||||||
|
rowspan: row.rowspan,
|
||||||
|
colspan: 1,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
if (columnIndex === 8) { // 第8列下的单元格合并
|
||||||
|
return {
|
||||||
|
rowspan: row.rowspan,
|
||||||
|
colspan: 1,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
},
|
||||||
|
outWare(id) {
|
||||||
|
this.$confirm(`确定对此库位进行 [出库到输送线] 操作?`, '提示', {
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
type: 'warning',
|
||||||
|
})
|
||||||
|
.then(() => {
|
||||||
|
outWare(id).then((response) => {
|
||||||
|
this.$modal.msgSuccess('出库成功');
|
||||||
|
this.$router.push({ path: 'task' });
|
||||||
|
});
|
||||||
|
})
|
||||||
|
.catch(() => {});
|
||||||
|
},
|
||||||
|
outWare2(id) {
|
||||||
|
this.$confirm(`确定对此库位进行 [出库到载货台] 操作?`, '提示', {
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
type: 'warning',
|
||||||
|
})
|
||||||
|
.then(() => {
|
||||||
|
outWare2(id).then((response) => {
|
||||||
|
this.$modal.msgSuccess('出库成功');
|
||||||
|
this.$router.push({ path: 'task' });
|
||||||
|
});
|
||||||
|
})
|
||||||
|
.catch(() => {});
|
||||||
|
},
|
||||||
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
<style>
|
||||||
|
.app-container .el-table .el-table__cell {
|
||||||
|
padding: 0;
|
||||||
|
height: 35px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
@ -3,10 +3,20 @@
|
|||||||
|
|
||||||
<!-- 搜索工作栏 -->
|
<!-- 搜索工作栏 -->
|
||||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||||
<el-form-item label="通讯类型:1 2 3 4" prop="type">
|
<el-form-item label="产品id" prop="productId">
|
||||||
<el-select v-model="queryParams.type" placeholder="请选择通讯类型:1 2 3 4" clearable size="small">
|
<el-input v-model="queryParams.productId" placeholder="请输入产品id" clearable @keyup.enter.native="handleQuery"/>
|
||||||
<el-option label="请选择字典生成" value="" />
|
</el-form-item>
|
||||||
</el-select>
|
<el-form-item label="货物规格代码" prop="productCode">
|
||||||
|
<el-input v-model="queryParams.productCode" placeholder="请输入货物规格代码" clearable @keyup.enter.native="handleQuery"/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="货物规格名称" prop="productName">
|
||||||
|
<el-input v-model="queryParams.productName" placeholder="请输入货物规格名称" clearable @keyup.enter.native="handleQuery"/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="数量" prop="number">
|
||||||
|
<el-input v-model="queryParams.number" placeholder="请输入数量" clearable @keyup.enter.native="handleQuery"/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="批次号" prop="dateNum">
|
||||||
|
<el-input v-model="queryParams.dateNum" placeholder="请输入批次号" clearable @keyup.enter.native="handleQuery"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="创建时间" prop="createTime">
|
<el-form-item label="创建时间" prop="createTime">
|
||||||
<el-date-picker v-model="queryParams.createTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" type="daterange"
|
<el-date-picker v-model="queryParams.createTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" type="daterange"
|
||||||
@ -19,6 +29,9 @@
|
|||||||
<el-form-item label="备注" prop="remark">
|
<el-form-item label="备注" prop="remark">
|
||||||
<el-input v-model="queryParams.remark" placeholder="请输入备注" clearable @keyup.enter.native="handleQuery"/>
|
<el-input v-model="queryParams.remark" placeholder="请输入备注" clearable @keyup.enter.native="handleQuery"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="库位id" prop="storehouseId">
|
||||||
|
<el-input v-model="queryParams.storehouseId" placeholder="请输入库位id" clearable @keyup.enter.native="handleQuery"/>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
|
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
|
||||||
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
|
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
|
||||||
@ -29,22 +42,23 @@
|
|||||||
<el-row :gutter="10" class="mb8">
|
<el-row :gutter="10" class="mb8">
|
||||||
<el-col :span="1.5">
|
<el-col :span="1.5">
|
||||||
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
|
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
|
||||||
v-hasPermi="['axl:commun-log:create']">新增</el-button>
|
v-hasPermi="['axl:task-products-associate:create']">新增</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="1.5">
|
<el-col :span="1.5">
|
||||||
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading"
|
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading"
|
||||||
v-hasPermi="['axl:commun-log:export']">导出</el-button>
|
v-hasPermi="['axl:task-products-associate:export']">导出</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
<!-- 列表 -->
|
<!-- 列表 -->
|
||||||
<el-table v-loading="loading" :data="list">
|
<el-table v-loading="loading" :data="list">
|
||||||
<el-table-column label="id 主键" align="center" prop="id" />
|
<el-table-column label="id" align="center" prop="id" />
|
||||||
<el-table-column label="通讯类型:1 2 3 4" align="center" prop="type" />
|
<el-table-column label="产品id" align="center" prop="productId" />
|
||||||
<el-table-column label="参数" align="center" prop="args" />
|
<el-table-column label="货物规格代码" align="center" prop="productCode" />
|
||||||
<el-table-column label="结果数据" align="center" prop="resultData" />
|
<el-table-column label="货物规格名称" align="center" prop="productName" />
|
||||||
<el-table-column label="内容集" align="center" prop="content" />
|
<el-table-column label="数量" align="center" prop="number" />
|
||||||
|
<el-table-column label="批次号" align="center" prop="dateNum" />
|
||||||
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
|
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
|
||||||
<template v-slot="scope">
|
<template v-slot="scope">
|
||||||
<span>{{ parseTime(scope.row.createTime) }}</span>
|
<span>{{ parseTime(scope.row.createTime) }}</span>
|
||||||
@ -56,12 +70,13 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="备注" align="center" prop="remark" />
|
<el-table-column label="备注" align="center" prop="remark" />
|
||||||
|
<el-table-column label="库位id" align="center" prop="storehouseId" />
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||||
<template v-slot="scope">
|
<template v-slot="scope">
|
||||||
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
|
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
|
||||||
v-hasPermi="['axl:commun-log:update']">修改</el-button>
|
v-hasPermi="['axl:task-products-associate:update']">修改</el-button>
|
||||||
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
|
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
|
||||||
v-hasPermi="['axl:commun-log:delete']">删除</el-button>
|
v-hasPermi="['axl:task-products-associate:delete']">删除</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -72,19 +87,20 @@
|
|||||||
<!-- 对话框(添加 / 修改) -->
|
<!-- 对话框(添加 / 修改) -->
|
||||||
<el-dialog :title="title" :visible.sync="open" width="500px" v-dialogDrag append-to-body>
|
<el-dialog :title="title" :visible.sync="open" width="500px" v-dialogDrag append-to-body>
|
||||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||||
<el-form-item label="通讯类型:1 2 3 4" prop="type">
|
<el-form-item label="产品id" prop="productId">
|
||||||
<el-select v-model="form.type" placeholder="请选择通讯类型:1 2 3 4">
|
<el-input v-model="form.productId" placeholder="请输入产品id" />
|
||||||
<el-option label="请选择字典生成" value="" />
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="参数" prop="args">
|
<el-form-item label="货物规格代码" prop="productCode">
|
||||||
<el-input v-model="form.args" placeholder="请输入参数" />
|
<el-input v-model="form.productCode" placeholder="请输入货物规格代码" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="结果数据" prop="resultData">
|
<el-form-item label="货物规格名称" prop="productName">
|
||||||
<el-input v-model="form.resultData" placeholder="请输入结果数据" />
|
<el-input v-model="form.productName" placeholder="请输入货物规格名称" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="内容集">
|
<el-form-item label="数量" prop="number">
|
||||||
<editor v-model="form.content" :min-height="192"/>
|
<el-input v-model="form.number" placeholder="请输入数量" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="批次号" prop="dateNum">
|
||||||
|
<el-input v-model="form.dateNum" placeholder="请输入批次号" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="创建时间" prop="createTime">
|
<el-form-item label="创建时间" prop="createTime">
|
||||||
<el-date-picker clearable v-model="form.createTime" type="date" value-format="timestamp" placeholder="选择创建时间" />
|
<el-date-picker clearable v-model="form.createTime" type="date" value-format="timestamp" placeholder="选择创建时间" />
|
||||||
@ -95,6 +111,9 @@
|
|||||||
<el-form-item label="备注" prop="remark">
|
<el-form-item label="备注" prop="remark">
|
||||||
<el-input v-model="form.remark" placeholder="请输入备注" />
|
<el-input v-model="form.remark" placeholder="请输入备注" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="库位id" prop="storehouseId">
|
||||||
|
<el-input v-model="form.storehouseId" placeholder="请输入库位id" />
|
||||||
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<div slot="footer" class="dialog-footer">
|
<div slot="footer" class="dialog-footer">
|
||||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||||
@ -105,13 +124,11 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { createCommunLog, updateCommunLog, deleteCommunLog, getCommunLog, getCommunLogPage, exportCommunLogExcel } from "@/api/axl/communLog";
|
import { createTaskProductsAssociate, updateTaskProductsAssociate, deleteTaskProductsAssociate, getTaskProductsAssociate, getTaskProductsAssociatePage, exportTaskProductsAssociateExcel } from "@/api/axl/taskProductsAssociate";
|
||||||
import Editor from '@/components/Editor';
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "CommunLog",
|
name: "TaskProductsAssociate",
|
||||||
components: {
|
components: {
|
||||||
Editor
|
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -123,7 +140,7 @@ export default {
|
|||||||
showSearch: true,
|
showSearch: true,
|
||||||
// 总条数
|
// 总条数
|
||||||
total: 0,
|
total: 0,
|
||||||
// 通讯日志列表
|
// 任务关联货物列表
|
||||||
list: [],
|
list: [],
|
||||||
// 弹出层标题
|
// 弹出层标题
|
||||||
title: "",
|
title: "",
|
||||||
@ -133,19 +150,22 @@ export default {
|
|||||||
queryParams: {
|
queryParams: {
|
||||||
pageNo: 1,
|
pageNo: 1,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
type: null,
|
productId: null,
|
||||||
|
productCode: null,
|
||||||
|
productName: null,
|
||||||
|
number: null,
|
||||||
|
dateNum: null,
|
||||||
createTime: [],
|
createTime: [],
|
||||||
updateDate: [],
|
updateDate: [],
|
||||||
remark: null,
|
remark: null,
|
||||||
|
storehouseId: null,
|
||||||
},
|
},
|
||||||
// 表单参数
|
// 表单参数
|
||||||
form: {},
|
form: {},
|
||||||
// 表单校验
|
// 表单校验
|
||||||
rules: {
|
rules: {
|
||||||
type: [{ required: true, message: "通讯类型:1 2 3 4不能为空", trigger: "change" }],
|
productId: [{ required: true, message: "产品id不能为空", trigger: "blur" }],
|
||||||
args: [{ required: true, message: "参数不能为空", trigger: "blur" }],
|
storehouseId: [{ required: true, message: "库位id不能为空", trigger: "blur" }],
|
||||||
resultData: [{ required: true, message: "结果数据不能为空", trigger: "blur" }],
|
|
||||||
content: [{ required: true, message: "内容集不能为空", trigger: "blur" }],
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
@ -157,7 +177,7 @@ export default {
|
|||||||
getList() {
|
getList() {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
// 执行查询
|
// 执行查询
|
||||||
getCommunLogPage(this.queryParams).then(response => {
|
getTaskProductsAssociatePage(this.queryParams).then(response => {
|
||||||
this.list = response.data.list;
|
this.list = response.data.list;
|
||||||
this.total = response.data.total;
|
this.total = response.data.total;
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
@ -172,13 +192,15 @@ export default {
|
|||||||
reset() {
|
reset() {
|
||||||
this.form = {
|
this.form = {
|
||||||
id: undefined,
|
id: undefined,
|
||||||
type: undefined,
|
productId: undefined,
|
||||||
args: undefined,
|
productCode: undefined,
|
||||||
resultData: undefined,
|
productName: undefined,
|
||||||
content: undefined,
|
number: undefined,
|
||||||
|
dateNum: undefined,
|
||||||
createTime: undefined,
|
createTime: undefined,
|
||||||
updateDate: undefined,
|
updateDate: undefined,
|
||||||
remark: undefined,
|
remark: undefined,
|
||||||
|
storehouseId: undefined,
|
||||||
};
|
};
|
||||||
this.resetForm("form");
|
this.resetForm("form");
|
||||||
},
|
},
|
||||||
@ -196,16 +218,16 @@ export default {
|
|||||||
handleAdd() {
|
handleAdd() {
|
||||||
this.reset();
|
this.reset();
|
||||||
this.open = true;
|
this.open = true;
|
||||||
this.title = "添加通讯日志";
|
this.title = "添加任务关联货物";
|
||||||
},
|
},
|
||||||
/** 修改按钮操作 */
|
/** 修改按钮操作 */
|
||||||
handleUpdate(row) {
|
handleUpdate(row) {
|
||||||
this.reset();
|
this.reset();
|
||||||
const id = row.id;
|
const id = row.id;
|
||||||
getCommunLog(id).then(response => {
|
getTaskProductsAssociate(id).then(response => {
|
||||||
this.form = response.data;
|
this.form = response.data;
|
||||||
this.open = true;
|
this.open = true;
|
||||||
this.title = "修改通讯日志";
|
this.title = "修改任务关联货物";
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
/** 提交按钮 */
|
/** 提交按钮 */
|
||||||
@ -216,7 +238,7 @@ export default {
|
|||||||
}
|
}
|
||||||
// 修改的提交
|
// 修改的提交
|
||||||
if (this.form.id != null) {
|
if (this.form.id != null) {
|
||||||
updateCommunLog(this.form).then(response => {
|
updateTaskProductsAssociate(this.form).then(response => {
|
||||||
this.$modal.msgSuccess("修改成功");
|
this.$modal.msgSuccess("修改成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
this.getList();
|
this.getList();
|
||||||
@ -224,7 +246,7 @@ export default {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// 添加的提交
|
// 添加的提交
|
||||||
createCommunLog(this.form).then(response => {
|
createTaskProductsAssociate(this.form).then(response => {
|
||||||
this.$modal.msgSuccess("新增成功");
|
this.$modal.msgSuccess("新增成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
this.getList();
|
this.getList();
|
||||||
@ -234,8 +256,8 @@ export default {
|
|||||||
/** 删除按钮操作 */
|
/** 删除按钮操作 */
|
||||||
handleDelete(row) {
|
handleDelete(row) {
|
||||||
const id = row.id;
|
const id = row.id;
|
||||||
this.$modal.confirm('是否确认删除通讯日志编号为"' + id + '"的数据项?').then(function() {
|
this.$modal.confirm('是否确认删除任务关联货物编号为"' + id + '"的数据项?').then(function() {
|
||||||
return deleteCommunLog(id);
|
return deleteTaskProductsAssociate(id);
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
this.getList();
|
this.getList();
|
||||||
this.$modal.msgSuccess("删除成功");
|
this.$modal.msgSuccess("删除成功");
|
||||||
@ -247,11 +269,11 @@ export default {
|
|||||||
let params = {...this.queryParams};
|
let params = {...this.queryParams};
|
||||||
params.pageNo = undefined;
|
params.pageNo = undefined;
|
||||||
params.pageSize = undefined;
|
params.pageSize = undefined;
|
||||||
this.$modal.confirm('是否确认导出所有通讯日志数据项?').then(() => {
|
this.$modal.confirm('是否确认导出所有任务关联货物数据项?').then(() => {
|
||||||
this.exportLoading = true;
|
this.exportLoading = true;
|
||||||
return exportCommunLogExcel(params);
|
return exportTaskProductsAssociateExcel(params);
|
||||||
}).then(response => {
|
}).then(response => {
|
||||||
this.$download.excel(response, '通讯日志.xls');
|
this.$download.excel(response, '任务关联货物.xls');
|
||||||
this.exportLoading = false;
|
this.exportLoading = false;
|
||||||
}).catch(() => {});
|
}).catch(() => {});
|
||||||
}
|
}
|
@ -2,7 +2,7 @@
|
|||||||
* @Author: zwq
|
* @Author: zwq
|
||||||
* @Date: 2021-11-18 14:16:25
|
* @Date: 2021-11-18 14:16:25
|
||||||
* @LastEditors: zwq
|
* @LastEditors: zwq
|
||||||
* @LastEditTime: 2023-11-01 16:35:29
|
* @LastEditTime: 2023-12-25 13:41:17
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
@ -15,7 +15,12 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { getProductList,outWare } from '@/api/axl/warehousestorehouse';
|
import {
|
||||||
|
getProductList,
|
||||||
|
outWare,
|
||||||
|
outWare2,
|
||||||
|
} from '@/api/axl/warehousestorehouse';
|
||||||
|
import { parseTime } from '../mixins/code-filter';
|
||||||
|
|
||||||
const tableProps = [
|
const tableProps = [
|
||||||
{
|
{
|
||||||
@ -38,6 +43,13 @@ const tableProps = [
|
|||||||
label: '批次号',
|
label: '批次号',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
prop: 'createTime',
|
||||||
|
label: '时间',
|
||||||
|
align: 'center',
|
||||||
|
filter: parseTime,
|
||||||
|
width: 150,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
prop: 'remark',
|
prop: 'remark',
|
||||||
label: '备注',
|
label: '备注',
|
||||||
@ -71,7 +83,13 @@ export default {
|
|||||||
outWare() {
|
outWare() {
|
||||||
outWare(this.wareId).then((response) => {
|
outWare(this.wareId).then((response) => {
|
||||||
this.visible = false;
|
this.visible = false;
|
||||||
this.$emit('refreshDataList');
|
this.$router.push({ path: 'task' });
|
||||||
|
});
|
||||||
|
},
|
||||||
|
outWare2() {
|
||||||
|
outWare2(this.wareId).then((response) => {
|
||||||
|
this.visible = false;
|
||||||
|
this.$router.push({ path: 'task' });
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* @Author: zwq
|
* @Author: zwq
|
||||||
* @Date: 2023-08-21 14:26:23
|
* @Date: 2023-08-21 14:26:23
|
||||||
* @LastEditors: zwq
|
* @LastEditors: zwq
|
||||||
* @LastEditTime: 2023-11-01 16:55:35
|
* @LastEditTime: 2023-12-27 14:19:20
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
@ -23,13 +23,21 @@
|
|||||||
<el-row type="flex" class="flex-warp">
|
<el-row type="flex" class="flex-warp">
|
||||||
<div
|
<div
|
||||||
@click="
|
@click="
|
||||||
getProductList(a.id, a.warehouseStorehouseName, a.status)
|
getProductList(
|
||||||
|
a.id,
|
||||||
|
a.warehouseStorehouseName,
|
||||||
|
a.status,
|
||||||
|
a.filter
|
||||||
|
)
|
||||||
"
|
"
|
||||||
class="dashboard-layout-item"
|
class="dashboard-layout-item"
|
||||||
v-for="a in wareData[i][4]"
|
v-for="a in wareData[i][4]"
|
||||||
:key="a.id + a.warehouseStorehouseCode"
|
:key="a.id + a.warehouseStorehouseCode"
|
||||||
:title="a.warehouseStorehouseName"
|
:title="a.warehouseStorehouseName"
|
||||||
style="background: #fff8e8; float: left">
|
:style="{
|
||||||
|
cursor: a.filter === true ? 'pointer ' : 'not-allowed',
|
||||||
|
background: a.filter === true ? '#9dfffe' : '#e5e5e5',
|
||||||
|
}">
|
||||||
<div
|
<div
|
||||||
class="dashboard-layout-item-cricle"
|
class="dashboard-layout-item-cricle"
|
||||||
:style="{
|
:style="{
|
||||||
@ -41,13 +49,21 @@
|
|||||||
<el-row type="flex" class="flex-warp">
|
<el-row type="flex" class="flex-warp">
|
||||||
<div
|
<div
|
||||||
@click="
|
@click="
|
||||||
getProductList(a.id, a.warehouseStorehouseName, a.status)
|
getProductList(
|
||||||
|
a.id,
|
||||||
|
a.warehouseStorehouseName,
|
||||||
|
a.status,
|
||||||
|
a.filter
|
||||||
|
)
|
||||||
"
|
"
|
||||||
class="dashboard-layout-item"
|
class="dashboard-layout-item"
|
||||||
v-for="a in wareData[i][3]"
|
v-for="a in wareData[i][3]"
|
||||||
:key="a.id + a.warehouseStorehouseCode"
|
:key="a.id + a.warehouseStorehouseCode"
|
||||||
:title="a.warehouseStorehouseName"
|
:title="a.warehouseStorehouseName"
|
||||||
style="background: #fff8e8; float: left">
|
:style="{
|
||||||
|
cursor: a.filter === true ? 'pointer ' : 'not-allowed',
|
||||||
|
background: a.filter === true ? '#9dfffe ' : '#e5e5e5',
|
||||||
|
}">
|
||||||
<div
|
<div
|
||||||
class="dashboard-layout-item-cricle"
|
class="dashboard-layout-item-cricle"
|
||||||
:style="{
|
:style="{
|
||||||
@ -66,14 +82,22 @@
|
|||||||
<el-row type="flex" class="flex-warp">
|
<el-row type="flex" class="flex-warp">
|
||||||
<div
|
<div
|
||||||
@click="
|
@click="
|
||||||
getProductList(a.id, a.warehouseStorehouseName, a.status)
|
getProductList(
|
||||||
|
a.id,
|
||||||
|
a.warehouseStorehouseName,
|
||||||
|
a.status,
|
||||||
|
a.filter
|
||||||
|
)
|
||||||
"
|
"
|
||||||
class="dashboard-layout-item"
|
class="dashboard-layout-item"
|
||||||
v-for="a in wareData[i][2]"
|
v-for="a in wareData[i][2]"
|
||||||
:style="{ marginRight: a.id === 1 ? '131px' : '' }"
|
|
||||||
:key="a.id + a.warehouseStorehouseCode"
|
:key="a.id + a.warehouseStorehouseCode"
|
||||||
:title="a.warehouseStorehouseName"
|
:title="a.warehouseStorehouseName"
|
||||||
style="background: #fff8e8; float: left">
|
:style="{
|
||||||
|
cursor: a.filter === true ? 'pointer ' : 'not-allowed',
|
||||||
|
background: a.filter === true ? '#9dfffe ' : '#e5e5e5',
|
||||||
|
marginRight: a.id === 1 ? '131px' : '',
|
||||||
|
}">
|
||||||
<div
|
<div
|
||||||
class="dashboard-layout-item-cricle"
|
class="dashboard-layout-item-cricle"
|
||||||
:style="{
|
:style="{
|
||||||
@ -85,13 +109,21 @@
|
|||||||
<el-row type="flex" class="flex-warp">
|
<el-row type="flex" class="flex-warp">
|
||||||
<div
|
<div
|
||||||
@click="
|
@click="
|
||||||
getProductList(a.id, a.warehouseStorehouseName, a.status)
|
getProductList(
|
||||||
|
a.id,
|
||||||
|
a.warehouseStorehouseName,
|
||||||
|
a.status,
|
||||||
|
a.filter
|
||||||
|
)
|
||||||
"
|
"
|
||||||
class="dashboard-layout-item"
|
class="dashboard-layout-item"
|
||||||
v-for="a in wareData[i][1]"
|
v-for="a in wareData[i][1]"
|
||||||
:key="a.id + a.warehouseStorehouseCode"
|
:key="a.id + a.warehouseStorehouseCode"
|
||||||
:title="a.warehouseStorehouseName"
|
:title="a.warehouseStorehouseName"
|
||||||
style="background: #fff8e8; float: left">
|
:style="{
|
||||||
|
cursor: a.filter === true ? 'pointer ' : 'not-allowed',
|
||||||
|
background: a.filter === true ? '#9dfffe ' : '#e5e5e5',
|
||||||
|
}">
|
||||||
<div
|
<div
|
||||||
class="dashboard-layout-item-cricle"
|
class="dashboard-layout-item-cricle"
|
||||||
:style="{
|
:style="{
|
||||||
@ -108,7 +140,7 @@
|
|||||||
:dialogTitle="addOrEditTitle"
|
:dialogTitle="addOrEditTitle"
|
||||||
:dialogVisible="addOrUpdateVisible"
|
:dialogVisible="addOrUpdateVisible"
|
||||||
:before-close="handleCancel"
|
:before-close="handleCancel"
|
||||||
width="40%">
|
width="50%">
|
||||||
<add-or-update
|
<add-or-update
|
||||||
ref="addOrUpdate"
|
ref="addOrUpdate"
|
||||||
@refreshDataList="successSubmit"></add-or-update>
|
@refreshDataList="successSubmit"></add-or-update>
|
||||||
@ -124,7 +156,15 @@
|
|||||||
size="small"
|
size="small"
|
||||||
:disabled="!isOut"
|
:disabled="!isOut"
|
||||||
@click="outWare">
|
@click="outWare">
|
||||||
出库
|
出库到输送线
|
||||||
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
class="btnTextStyle"
|
||||||
|
size="small"
|
||||||
|
:disabled="!isOut"
|
||||||
|
@click="outWare2">
|
||||||
|
出库到载货台
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
@ -136,28 +176,61 @@
|
|||||||
<script>
|
<script>
|
||||||
import AddOrUpdate from './add-or-updata';
|
import AddOrUpdate from './add-or-updata';
|
||||||
import basicPage from '../mixins/basic-page';
|
import basicPage from '../mixins/basic-page';
|
||||||
import { getWarehousestorehouseList } from '@/api/axl/warehousestorehouse';
|
import { getWarehousestorehouseNList } from '@/api/axl/warehousestorehouse';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
mixins: [basicPage],
|
mixins: [basicPage],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
urlOptions: {
|
urlOptions: {
|
||||||
getDataListURL: getWarehousestorehouseList,
|
getDataListURL: getWarehousestorehouseNList,
|
||||||
},
|
},
|
||||||
listQuery: {
|
listQuery: {
|
||||||
pageSize: 500,
|
productCode: null,
|
||||||
|
productName: null,
|
||||||
|
createTime: null,
|
||||||
},
|
},
|
||||||
wareData: {},
|
wareData: {},
|
||||||
isOut: false,
|
isOut: false,
|
||||||
bgColor: ['#16DC09', '#FFA08F', '#7362F3'],
|
bgColor: ['#16DC09', '#FFA08F', '#7362F3'],
|
||||||
formConfig: [
|
formConfig: [
|
||||||
|
{
|
||||||
|
type: 'input',
|
||||||
|
label: '货物名称',
|
||||||
|
placeholder: '货物名称',
|
||||||
|
param: 'productName',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'input',
|
||||||
|
label: '货物编码',
|
||||||
|
placeholder: '货物编码',
|
||||||
|
param: 'productCode',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'datePicker',
|
||||||
|
label: '创建时间',
|
||||||
|
dateType: 'daterange',
|
||||||
|
format: 'yyyy-MM-dd',
|
||||||
|
valueFormat: 'yyyy-MM-dd HH:mm:ss',
|
||||||
|
rangeSeparator: '-',
|
||||||
|
startPlaceholder: '开始时间',
|
||||||
|
endPlaceholder: '结束时间',
|
||||||
|
param: 'searchTime',
|
||||||
|
},
|
||||||
{
|
{
|
||||||
type: 'button',
|
type: 'button',
|
||||||
btnName: '刷新',
|
btnName: '查询',
|
||||||
name: 'search',
|
name: 'search',
|
||||||
color: 'primary',
|
color: 'primary',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
type: 'separate',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'button',
|
||||||
|
btnName: '重置',
|
||||||
|
name: 'reset',
|
||||||
|
},
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
@ -176,16 +249,29 @@ export default {
|
|||||||
buttonClick(val) {
|
buttonClick(val) {
|
||||||
switch (val.btnName) {
|
switch (val.btnName) {
|
||||||
case 'search':
|
case 'search':
|
||||||
|
this.listQuery.productCode = val.productCode ? val.productCode : null;
|
||||||
|
this.listQuery.productName = val.productName ? val.productName : null;
|
||||||
|
this.listQuery.createTime = val.searchTime ? val.searchTime : [];
|
||||||
this.getDataList();
|
this.getDataList();
|
||||||
break;
|
break;
|
||||||
case 'export':
|
case 'export':
|
||||||
this.handleExport();
|
this.handleExport();
|
||||||
break;
|
break;
|
||||||
|
case 'reset':
|
||||||
|
this.$refs.searchBarForm.resetForm();
|
||||||
|
this.listQuery = {
|
||||||
|
productCode: null,
|
||||||
|
productName: null,
|
||||||
|
createTime: null,
|
||||||
|
};
|
||||||
|
this.getDataList();
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
console.log(val);
|
console.log(val);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
getProductList(id, name, status) {
|
getProductList(id, name, status, filter) {
|
||||||
|
if (filter === true) {
|
||||||
if (status === 2) {
|
if (status === 2) {
|
||||||
this.isOut = true;
|
this.isOut = true;
|
||||||
} else {
|
} else {
|
||||||
@ -196,13 +282,14 @@ export default {
|
|||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs.addOrUpdate.init(id);
|
this.$refs.addOrUpdate.init(id);
|
||||||
});
|
});
|
||||||
|
}
|
||||||
},
|
},
|
||||||
handleCancel() {
|
handleCancel() {
|
||||||
this.addOrUpdateVisible = false;
|
this.addOrUpdateVisible = false;
|
||||||
this.addOrEditTitle = '';
|
this.addOrEditTitle = '';
|
||||||
},
|
},
|
||||||
outWare() {
|
outWare() {
|
||||||
this.$confirm(`确定对此库位进行出库操作?`, '提示', {
|
this.$confirm(`确定对此库位进行 [出库到输送线] 操作?`, '提示', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
type: 'warning',
|
type: 'warning',
|
||||||
@ -212,6 +299,17 @@ export default {
|
|||||||
})
|
})
|
||||||
.catch(() => {});
|
.catch(() => {});
|
||||||
},
|
},
|
||||||
|
outWare2() {
|
||||||
|
this.$confirm(`确定对此库位进行 [出库到载货台] 操作?`, '提示', {
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
type: 'warning',
|
||||||
|
})
|
||||||
|
.then(() => {
|
||||||
|
this.$refs.addOrUpdate.outWare2();
|
||||||
|
})
|
||||||
|
.catch(() => {});
|
||||||
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
@ -237,6 +335,8 @@ export default {
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
background: #9dfffe;
|
||||||
|
float: left;
|
||||||
.dashboard-layout-item-cricle {
|
.dashboard-layout-item-cricle {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: 12px;
|
width: 12px;
|
||||||
@ -273,6 +373,6 @@ export default {
|
|||||||
.tips {
|
.tips {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 22px;
|
top: 22px;
|
||||||
left: 120px;
|
right: 120px;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -153,6 +153,14 @@ export default {
|
|||||||
name: 'search',
|
name: 'search',
|
||||||
color: 'primary',
|
color: 'primary',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
type: 'separate',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'button',
|
||||||
|
btnName: '重置',
|
||||||
|
name: 'reset',
|
||||||
|
},
|
||||||
// {
|
// {
|
||||||
// type: this.$auth.hasPermi('base:factory:create') ? 'separate' : '',
|
// type: this.$auth.hasPermi('base:factory:create') ? 'separate' : '',
|
||||||
// },
|
// },
|
||||||
|
175
src/views/chart/BarChart.vue
Normal file
@ -0,0 +1,175 @@
|
|||||||
|
<template>
|
||||||
|
<div :class="className" :style="{ height: height, width: width }" :id="id" />
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import * as echarts from 'echarts';
|
||||||
|
require('echarts/theme/macarons'); // echarts theme
|
||||||
|
import resize from '@/utils/chartMixins/resize';
|
||||||
|
|
||||||
|
const animationDuration = 1000;
|
||||||
|
|
||||||
|
export default {
|
||||||
|
mixins: [resize],
|
||||||
|
props: {
|
||||||
|
id: {
|
||||||
|
type: String,
|
||||||
|
default: '',
|
||||||
|
},
|
||||||
|
className: {
|
||||||
|
type: String,
|
||||||
|
default: 'barChart',
|
||||||
|
},
|
||||||
|
title: {
|
||||||
|
type: String,
|
||||||
|
default: '',
|
||||||
|
},
|
||||||
|
width: {
|
||||||
|
type: String,
|
||||||
|
default: '95%',
|
||||||
|
},
|
||||||
|
height: {
|
||||||
|
type: String,
|
||||||
|
default: '420px',
|
||||||
|
},
|
||||||
|
barData: {
|
||||||
|
type: Array,
|
||||||
|
default: () => [],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
chart: null,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
beforeDestroy() {
|
||||||
|
if (!this.chart) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.chart.dispose();
|
||||||
|
this.chart = null;
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
initChart(data) {
|
||||||
|
let barData = [];
|
||||||
|
for (const key in data) {
|
||||||
|
const obj = {
|
||||||
|
name: key,
|
||||||
|
value: data[key],
|
||||||
|
};
|
||||||
|
barData.push(obj);
|
||||||
|
}
|
||||||
|
this.chart = echarts.init(this.$el, 'macarons');
|
||||||
|
|
||||||
|
var option = {
|
||||||
|
color: ['#288AFF', '#8EF0AB', '#FFDC94'],
|
||||||
|
tooltip: {
|
||||||
|
trigger: 'axis',
|
||||||
|
axisPointer: {
|
||||||
|
// 坐标轴指示器,坐标轴触发有效
|
||||||
|
type: 'line', // 默认为直线,可选为:'line' | 'shadow'
|
||||||
|
},
|
||||||
|
},
|
||||||
|
grid: [
|
||||||
|
{
|
||||||
|
containLabel: true,
|
||||||
|
top: 40,
|
||||||
|
left: '2%',
|
||||||
|
right: '2%',
|
||||||
|
bottom: '3%',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
xAxis: [
|
||||||
|
{
|
||||||
|
type: 'category',
|
||||||
|
data: barData.map((item) => {
|
||||||
|
return item.name;
|
||||||
|
}),
|
||||||
|
axisTick: {
|
||||||
|
alignWithLabel: true,
|
||||||
|
},
|
||||||
|
axisLabel: {
|
||||||
|
color: '#979797',
|
||||||
|
fontSize: 18,
|
||||||
|
},
|
||||||
|
axisLine: {
|
||||||
|
lineStyle: {
|
||||||
|
color: '#979797',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
yAxis: [
|
||||||
|
{
|
||||||
|
name: '数量',
|
||||||
|
nameTextStyle: {
|
||||||
|
color: '#979797',
|
||||||
|
fontSize: 18,
|
||||||
|
},
|
||||||
|
axisTick: {
|
||||||
|
show: false,
|
||||||
|
},
|
||||||
|
splitLine: {
|
||||||
|
show: true,
|
||||||
|
lineStyle: {
|
||||||
|
color: '#4561AE',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
splitArea: {
|
||||||
|
show: false,
|
||||||
|
},
|
||||||
|
axisLine: {
|
||||||
|
show: true,
|
||||||
|
lineStyle: {
|
||||||
|
color: '#4561AE',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
axisLabel: {
|
||||||
|
color: '#979797',
|
||||||
|
fontSize: 18,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
series: [
|
||||||
|
{
|
||||||
|
name: '数量',
|
||||||
|
type: 'bar',
|
||||||
|
barWidth: '16',
|
||||||
|
data: barData.map((item) => {
|
||||||
|
return item.value;
|
||||||
|
}),
|
||||||
|
label: {
|
||||||
|
show: true,
|
||||||
|
position: 'top',
|
||||||
|
color: '#DFF1FE',
|
||||||
|
},
|
||||||
|
animationDuration,
|
||||||
|
itemStyle: {
|
||||||
|
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
||||||
|
{ offset: 0, color: '#83bff6' },
|
||||||
|
{ offset: 0.5, color: '#188df0' },
|
||||||
|
{ offset: 1, color: '#188df0' },
|
||||||
|
]),
|
||||||
|
},
|
||||||
|
emphasis: {
|
||||||
|
itemStyle: {
|
||||||
|
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
||||||
|
{ offset: 0, color: '#2378f7' },
|
||||||
|
{ offset: 0.7, color: '#2378f7' },
|
||||||
|
{ offset: 1, color: '#83bff6' },
|
||||||
|
]),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
||||||
|
if (this.chart !== '') {
|
||||||
|
this.chart.setOption(option);
|
||||||
|
} else {
|
||||||
|
this.chart = echarts.init(document.getElementById(this.id));
|
||||||
|
this.chart.setOption(option);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
293
src/views/chart/PieChart.vue
Normal file
@ -0,0 +1,293 @@
|
|||||||
|
<template>
|
||||||
|
<div :class="className" :style="{ height: height, width: width }" :id="id" />
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import * as echarts from 'echarts';
|
||||||
|
require('echarts/theme/macarons'); // echarts theme
|
||||||
|
import resize from '@/utils/chartMixins/resize';
|
||||||
|
|
||||||
|
const animationDuration = 1000;
|
||||||
|
|
||||||
|
export default {
|
||||||
|
mixins: [resize],
|
||||||
|
props: {
|
||||||
|
id: {
|
||||||
|
type: String,
|
||||||
|
default: '',
|
||||||
|
},
|
||||||
|
className: {
|
||||||
|
type: String,
|
||||||
|
default: 'chart',
|
||||||
|
},
|
||||||
|
title: {
|
||||||
|
type: String,
|
||||||
|
default: 'chart',
|
||||||
|
},
|
||||||
|
width: {
|
||||||
|
type: String,
|
||||||
|
default: '100%',
|
||||||
|
},
|
||||||
|
height: {
|
||||||
|
type: String,
|
||||||
|
default: '200px',
|
||||||
|
},
|
||||||
|
pieData: {
|
||||||
|
type: Array,
|
||||||
|
default: () => [],
|
||||||
|
},
|
||||||
|
barColor: {
|
||||||
|
type: Array,
|
||||||
|
default: () => [
|
||||||
|
'#5fe1d2',
|
||||||
|
'#ffb2b0',
|
||||||
|
'#8e90ff',
|
||||||
|
'#f058aa',
|
||||||
|
'#8652da',
|
||||||
|
'#87fb84',
|
||||||
|
'#61b9ff',
|
||||||
|
'#fdf6a6',
|
||||||
|
'#ffc465',
|
||||||
|
'#98d9ff',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
chart: null,
|
||||||
|
newColor: [
|
||||||
|
'#2760FF',
|
||||||
|
'#6ef9ef',
|
||||||
|
'#bea010',
|
||||||
|
'#8fc162',
|
||||||
|
'#ffc465',
|
||||||
|
'#98d9ff',
|
||||||
|
'#5fe1d2',
|
||||||
|
'#ffb2b0',
|
||||||
|
'#8e90ff',
|
||||||
|
'#f058aa',
|
||||||
|
'#8652da',
|
||||||
|
'#87fb84',
|
||||||
|
'#61b9ff',
|
||||||
|
'#fdf6a6',
|
||||||
|
],
|
||||||
|
};
|
||||||
|
},
|
||||||
|
beforeDestroy() {
|
||||||
|
if (!this.chart) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.chart.dispose();
|
||||||
|
this.chart = null;
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
initChart(data) {
|
||||||
|
let barData = [];
|
||||||
|
for (const key in data) {
|
||||||
|
const obj = {
|
||||||
|
name: key,
|
||||||
|
value: data[key],
|
||||||
|
};
|
||||||
|
barData.push(obj);
|
||||||
|
}
|
||||||
|
this.chart = echarts.init(this.$el, 'macarons');
|
||||||
|
var option = {
|
||||||
|
title: {
|
||||||
|
text: `${barData.reduce(
|
||||||
|
(pre, cur) => pre + cur.value,
|
||||||
|
0
|
||||||
|
)}\n{name|总数}`,
|
||||||
|
top: '39%',
|
||||||
|
left: '49%',
|
||||||
|
textAlign: 'center',
|
||||||
|
textStyle: {
|
||||||
|
color: '#fff',
|
||||||
|
fontSize: 26,
|
||||||
|
fontWeight: 400,
|
||||||
|
lineHeight: 15,
|
||||||
|
rich: {
|
||||||
|
name: {
|
||||||
|
color: 'rgba(255, 255, 255, 0.7)',
|
||||||
|
fontWeight: 400,
|
||||||
|
textAlign: 'center',
|
||||||
|
fontSize: 18,
|
||||||
|
lineHeight: 25,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
tooltip: {
|
||||||
|
trigger: 'item',
|
||||||
|
},
|
||||||
|
grid: {
|
||||||
|
top: '0px',
|
||||||
|
right: '0px',
|
||||||
|
bottom: '0px',
|
||||||
|
left: '0px',
|
||||||
|
containLabel: true,
|
||||||
|
},
|
||||||
|
// 默认的legend配置
|
||||||
|
legend: {
|
||||||
|
bottom: 0,
|
||||||
|
left: 'center',
|
||||||
|
// itemHeight: 10,
|
||||||
|
itemWidth: 15,
|
||||||
|
// icon: 'none',
|
||||||
|
// formatter: function (name) {
|
||||||
|
// let pieLegendVale = {};
|
||||||
|
// barData.filter((item, index) => {
|
||||||
|
// if (item.name === name) {
|
||||||
|
// pieLegendVale = item;
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
// const color = ['c', 'd', 'e', 'f', 'g', 'h'];
|
||||||
|
// const arr = [
|
||||||
|
// '{' + color[barData.findIndex((item) => item.name === name)] + '|}',
|
||||||
|
// '{b|' + pieLegendVale.name + '}',
|
||||||
|
// '{a|' + pieLegendVale.value + '}',
|
||||||
|
// ];
|
||||||
|
// return arr.join(' ');
|
||||||
|
// },
|
||||||
|
textStyle: {
|
||||||
|
color: 'rgba(255, 255, 255, 0.8)',
|
||||||
|
// rich: {
|
||||||
|
// a: {
|
||||||
|
// align: 'center',
|
||||||
|
// fontSize: 16,
|
||||||
|
// fontWeight: 400,
|
||||||
|
// color: 'rgba(255, 255, 255, 0.7)',
|
||||||
|
// padding: [0, 1],
|
||||||
|
// lineHeight: 16,
|
||||||
|
// },
|
||||||
|
// b: {
|
||||||
|
// // verticalAlign: 'top',
|
||||||
|
// align: 'center',
|
||||||
|
// fontSize: 16,
|
||||||
|
// fontWeight: 400,
|
||||||
|
// color: 'rgba(255, 255, 255)',
|
||||||
|
// },
|
||||||
|
// c: {
|
||||||
|
// // verticalAlign: 'top',
|
||||||
|
// align: 'center',
|
||||||
|
// width: 14,
|
||||||
|
// height: 14,
|
||||||
|
// backgroundColor: '#2760FF',
|
||||||
|
// },
|
||||||
|
// d: {
|
||||||
|
// // verticalAlign: 'top',
|
||||||
|
// align: 'center',
|
||||||
|
// width: 10,
|
||||||
|
// height: 10,
|
||||||
|
// backgroundColor: '#6ef9ef',
|
||||||
|
// },
|
||||||
|
// e: {
|
||||||
|
// // verticalAlign: 'top',
|
||||||
|
// align: 'center',
|
||||||
|
// width: 14,
|
||||||
|
// height: 14,
|
||||||
|
// backgroundColor: '#bea010',
|
||||||
|
// },
|
||||||
|
// f: {
|
||||||
|
// // verticalAlign: 'top',
|
||||||
|
// align: 'center',
|
||||||
|
// width: 14,
|
||||||
|
// height: 14,
|
||||||
|
// backgroundColor: '#8fc162',
|
||||||
|
// },
|
||||||
|
// g: {
|
||||||
|
// // verticalAlign: 'top',
|
||||||
|
// align: 'center',
|
||||||
|
// width: 14,
|
||||||
|
// height: 14,
|
||||||
|
// backgroundColor: '#ffc465',
|
||||||
|
// },
|
||||||
|
// h: {
|
||||||
|
// // verticalAlign: 'top',
|
||||||
|
// align: 'center',
|
||||||
|
// width: 14,
|
||||||
|
// height: 14,
|
||||||
|
// backgroundColor: '#98d9ff',
|
||||||
|
// },
|
||||||
|
// },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
color: this.newColor,
|
||||||
|
series: [
|
||||||
|
{
|
||||||
|
name: 'default name',
|
||||||
|
type: 'pie',
|
||||||
|
radius: ['50%', '70%'],
|
||||||
|
silent: true,
|
||||||
|
bottom: '10%',
|
||||||
|
avoidLabelOverlap: true, // 防止牵引线堆叠挤在一块
|
||||||
|
label: {
|
||||||
|
show: true,
|
||||||
|
fontSize: 20,
|
||||||
|
lineHeight: 20,
|
||||||
|
formatter: '{d}%',
|
||||||
|
},
|
||||||
|
itemStyle: {
|
||||||
|
borderRadius: 5,
|
||||||
|
borderWidth: 2,
|
||||||
|
// normal: {
|
||||||
|
// color: (list) => {
|
||||||
|
// var colorList = [
|
||||||
|
// {
|
||||||
|
// colorStart: 'rgba(59, 76, 118, 0.2)',
|
||||||
|
// colorEnd: '#2760FF'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// colorStart: 'rgba(59, 76, 118, 0.2)',
|
||||||
|
// colorEnd: '#6ef9ef'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// colorStart: 'rgba(59, 76, 118, 0.2)',
|
||||||
|
// colorEnd: '#bea010'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// colorStart: 'rgba(59, 76, 118, 0.2)',
|
||||||
|
// colorEnd: '#8fc162'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// colorStart: 'rgba(59, 76, 118, 0.2)',
|
||||||
|
// colorEnd: '#ffc465'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// colorStart: 'rgba(59, 76, 118, 0.2)',
|
||||||
|
// colorEnd: '#98d9ff'
|
||||||
|
// }
|
||||||
|
// ]
|
||||||
|
// return new echarts.graphic.LinearGradient(0, list.dataIndex > 1 ? 1 : 0, 0, list.dataIndex > 1 ? 0 : 1, [{ // 左、下、右、上
|
||||||
|
// offset: 0,
|
||||||
|
// color: colorList[list.dataIndex]['colorStart']
|
||||||
|
// }, {
|
||||||
|
// offset: 1,
|
||||||
|
// color: colorList[list.dataIndex]['colorEnd']
|
||||||
|
// }])
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
},
|
||||||
|
labelLine: {
|
||||||
|
length: 15,
|
||||||
|
length2: 30,
|
||||||
|
maxSurfaceAngle: 80,
|
||||||
|
},
|
||||||
|
data: barData.map((item, index) => {
|
||||||
|
item.label = {
|
||||||
|
color: this.newColor[index],
|
||||||
|
};
|
||||||
|
return item;
|
||||||
|
}),
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
||||||
|
if (this.chart !== '') {
|
||||||
|
this.chart.setOption(option);
|
||||||
|
} else {
|
||||||
|
this.chart = echarts.init(document.getElementById(this.id));
|
||||||
|
this.chart.setOption(option);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
@ -1,98 +1,545 @@
|
|||||||
|
<!--
|
||||||
|
* @Author: zwq
|
||||||
|
* @Date: 2023-09-14 13:44:22
|
||||||
|
* @LastEditors: zwq
|
||||||
|
* @LastEditTime: 2024-04-18 14:07:09
|
||||||
|
* @Description:,
|
||||||
|
-->
|
||||||
<template>
|
<template>
|
||||||
<div class="dashboard-editor-container">
|
<div id="main-body" ref="container" allowfullscreen="true">
|
||||||
|
<div class="container-title">
|
||||||
<panel-group @handleSetLineChartData="handleSetLineChartData" />
|
环动科技热处理车间立库看板
|
||||||
|
<div class="leftName">中国联合工程</div>
|
||||||
<el-row style="background:#fff;padding:16px 16px 0;margin-bottom:32px;">
|
<div class="rightName">
|
||||||
<line-chart :chart-data="lineChartData" />
|
{{ gettime[1] }} | {{ gettime[0] }} | 星期{{ gettime[2] }}
|
||||||
</el-row>
|
</div>
|
||||||
|
<el-button
|
||||||
<el-row :gutter="32">
|
type="text"
|
||||||
<el-col :xs="24" :sm="24" :lg="8">
|
class="title-button"
|
||||||
<div class="chart-wrapper">
|
:style="{ right: 15 + 'px', top: 27 + 'px', fontSize: 35 + 'px' }"
|
||||||
<raddar-chart />
|
@click="changeFullScreen">
|
||||||
|
<svg-icon v-if="isFullScreen" icon-class="unFullScreenView" />
|
||||||
|
<svg-icon v-else icon-class="fullScreenView" />
|
||||||
|
</el-button>
|
||||||
|
</div>
|
||||||
|
<div class="container-body">
|
||||||
|
<el-row :gutter="5">
|
||||||
|
<el-col :span="8">
|
||||||
|
<div class="div-top div1">
|
||||||
|
<div class="div-title">
|
||||||
|
<svg-icon
|
||||||
|
icon-class="div1"
|
||||||
|
style="margin: 0 10px 0 20px; font-size: 25px" />
|
||||||
|
仓库实时状况
|
||||||
|
</div>
|
||||||
|
<pieChart
|
||||||
|
ref="pieChart1"
|
||||||
|
:id="'pieChart1'"
|
||||||
|
height="300px"
|
||||||
|
title="仓库实时状况"
|
||||||
|
:pie-data="pieData1" />
|
||||||
|
<div class="div1-info">
|
||||||
|
<div class="tip">1</div>
|
||||||
|
当前占用:{{ percent }}% | {{ total }}台
|
||||||
|
<div class="residue">剩余:{{ residue }}台</div>
|
||||||
|
<el-progress
|
||||||
|
style="margin-top: 15px"
|
||||||
|
:stroke-width="15"
|
||||||
|
:percentage="percent"
|
||||||
|
color="#2760FF"
|
||||||
|
define-back-color="#294378"
|
||||||
|
:show-text="false" />
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :xs="24" :sm="24" :lg="8">
|
<el-col :span="8">
|
||||||
<div class="chart-wrapper">
|
<div class="div-top div2">
|
||||||
<pie-chart />
|
<div class="div-title">
|
||||||
|
<svg-icon icon-class="redis" style="margin: 0 10px 0 20px" />
|
||||||
|
出入库数据概况
|
||||||
|
<div style="float: right; margin-right: 20px" v-show="false">
|
||||||
|
<el-radio-group
|
||||||
|
v-model="radio"
|
||||||
|
size="mini"
|
||||||
|
@input="setType"
|
||||||
|
fill="#1D74D8">
|
||||||
|
<el-radio-button label="全部"></el-radio-button>
|
||||||
|
<el-radio-button label="本周"></el-radio-button>
|
||||||
|
<el-radio-button label="本月"></el-radio-button>
|
||||||
|
</el-radio-group>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="div2-body">
|
||||||
|
<el-col :span="12" v-for="i in divList" :key="i.name">
|
||||||
|
<div class="div2-mini-body">
|
||||||
|
<div>{{ i.value }}</div>
|
||||||
|
<div class="div2-mini-body-sub">- {{ i.name }} -</div>
|
||||||
</div>
|
</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :xs="24" :sm="24" :lg="8">
|
</div>
|
||||||
<div class="chart-wrapper">
|
</div>
|
||||||
<bar-chart />
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<div class="div-top div3">
|
||||||
|
<div class="div-title">
|
||||||
|
<svg-icon
|
||||||
|
icon-class="div3"
|
||||||
|
style="margin: 0 10px 0 20px; font-size: 25px" />
|
||||||
|
仓库实时状况
|
||||||
|
</div>
|
||||||
|
<pieChart
|
||||||
|
ref="pieChart2"
|
||||||
|
:id="'pieChart2'"
|
||||||
|
height="380px"
|
||||||
|
title="仓库实时状况"
|
||||||
|
:pie-data="pieData2" />
|
||||||
|
</div>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<div class="div-footer div4">
|
||||||
|
<div class="div-title">
|
||||||
|
<svg-icon
|
||||||
|
icon-class="div4"
|
||||||
|
style="margin: 0 10px 0 20px; font-size: 25px" />
|
||||||
|
库内货物情况
|
||||||
|
</div>
|
||||||
|
<barChart
|
||||||
|
ref="barChart"
|
||||||
|
:id="'barChart'"
|
||||||
|
height="350px"
|
||||||
|
title="库内货物情况"
|
||||||
|
:bar-data="barData" />
|
||||||
|
</div>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<div class="div-footer div5">
|
||||||
|
<div class="div-title">
|
||||||
|
<svg-icon
|
||||||
|
icon-class="div5"
|
||||||
|
style="margin: 0 10px 0 20px; font-size: 25px" />
|
||||||
|
出入库任务
|
||||||
|
</div>
|
||||||
|
<div style="margin: 10px">
|
||||||
|
<el-table
|
||||||
|
:data="tableData"
|
||||||
|
:header-cell-style="{
|
||||||
|
background: 'rgba(32, 55, 96, 0.9)',
|
||||||
|
color: '#fff',
|
||||||
|
height: 20 + 'px',
|
||||||
|
lineHeight: 20 + 'px',
|
||||||
|
padding: 0,
|
||||||
|
fontSize: 12 + 'px',
|
||||||
|
}"
|
||||||
|
height="340px"
|
||||||
|
:row-style="setRowStyle"
|
||||||
|
style="width: 100%; background: transparent"
|
||||||
|
ref="dataList">
|
||||||
|
<el-table-column type="index" label="序号"></el-table-column>
|
||||||
|
<el-table-column prop="mainTaskType" label="类型" width="60">
|
||||||
|
<template v-slot="scope">
|
||||||
|
<span>
|
||||||
|
{{
|
||||||
|
scope.row.mainTaskType === 1
|
||||||
|
? '入库'
|
||||||
|
: scope.row.mainTaskType === 2
|
||||||
|
? '出库'
|
||||||
|
: scope.row.mainTaskType === 3
|
||||||
|
? '移库'
|
||||||
|
: scope.row.mainTaskType === 4
|
||||||
|
? '越库'
|
||||||
|
: scope.row.mainTaskType === 5
|
||||||
|
? '盘点'
|
||||||
|
: '-'
|
||||||
|
}}
|
||||||
|
</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="status" label="状态" width="80">
|
||||||
|
<template v-slot="scope">
|
||||||
|
<span>
|
||||||
|
<div
|
||||||
|
class="table-div"
|
||||||
|
:class="
|
||||||
|
['status0', 'status1', 'status2'][scope.row.status]
|
||||||
|
" />
|
||||||
|
{{ ['未执行', '执行中', '已完成'][scope.row.status] }}
|
||||||
|
</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="createTime" label="添加时间" width="150">
|
||||||
|
<template v-slot="scope">
|
||||||
|
<span>{{ parseTime(scope.row.createTime) }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="productName" label="货物名称" />
|
||||||
|
<el-table-column prop="productNum" label="货物数量/件" />
|
||||||
|
<el-table-column prop="remark" label="备注" />
|
||||||
|
</el-table>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import PanelGroup from './dashboard/PanelGroup'
|
import barChart from './chart/BarChart.vue';
|
||||||
import LineChart from './dashboard/LineChart'
|
import pieChart from './chart/PieChart.vue';
|
||||||
import RaddarChart from './dashboard/RaddarChart'
|
import screenfull from 'screenfull';
|
||||||
import PieChart from './dashboard/PieChart'
|
import { screenData } from '@/api/axl/alarmLog';
|
||||||
import BarChart from './dashboard/BarChart'
|
|
||||||
|
|
||||||
const lineChartData = {
|
const legendData2 = [
|
||||||
newVisitis: {
|
{
|
||||||
expectedData: [100, 120, 161, 134, 105, 160, 165],
|
name: '齿轮',
|
||||||
actualData: [120, 82, 91, 154, 162, 140, 145]
|
value: 498,
|
||||||
},
|
},
|
||||||
messages: {
|
{
|
||||||
expectedData: [200, 192, 120, 144, 160, 130, 140],
|
name: '轴承',
|
||||||
actualData: [180, 160, 151, 106, 145, 150, 130]
|
value: 285,
|
||||||
},
|
},
|
||||||
purchases: {
|
{
|
||||||
expectedData: [80, 100, 121, 104, 105, 90, 100],
|
name: '其他',
|
||||||
actualData: [120, 90, 100, 138, 142, 130, 130]
|
value: 388,
|
||||||
},
|
},
|
||||||
shoppings: {
|
];
|
||||||
expectedData: [130, 140, 141, 142, 145, 150, 160],
|
|
||||||
actualData: [120, 82, 91, 154, 162, 140, 130]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'Index',
|
name: 'Board',
|
||||||
components: {
|
components: {
|
||||||
PanelGroup,
|
barChart,
|
||||||
LineChart,
|
pieChart,
|
||||||
RaddarChart,
|
|
||||||
PieChart,
|
|
||||||
BarChart
|
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
lineChartData: lineChartData.newVisitis
|
gettime: [],
|
||||||
}
|
pieData1: [],
|
||||||
|
pieData2: legendData2,
|
||||||
|
barData: [],
|
||||||
|
percent: 0,
|
||||||
|
total: 0,
|
||||||
|
residue: 0,
|
||||||
|
radio: '全部',
|
||||||
|
divList: [],
|
||||||
|
tableData: [],
|
||||||
|
isFullScreen: false,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.getCurrentTime();
|
||||||
|
this.getScreenData();
|
||||||
|
this.startFun();
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.init();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
handleSetLineChartData(type) {
|
startFun() {
|
||||||
this.lineChartData = lineChartData[type]
|
const timer = setInterval(() => {
|
||||||
|
this.getCurrentTime();
|
||||||
|
this.getScreenData();
|
||||||
|
}, 60000);
|
||||||
|
this.$once('hook:beforeDestroy', () => {
|
||||||
|
clearInterval(timer);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
getCurrentTime() {
|
||||||
|
let yy = new Date().getFullYear();
|
||||||
|
let mm = new Date().getMonth() + 1;
|
||||||
|
let dd = new Date().getDate();
|
||||||
|
let hh = new Date().getHours();
|
||||||
|
let mf =
|
||||||
|
new Date().getMinutes() < 10
|
||||||
|
? '0' + new Date().getMinutes()
|
||||||
|
: new Date().getMinutes();
|
||||||
|
const weekdays = ['日', '一', '二', '三', '四', '五', '六'];
|
||||||
|
this.gettime = [
|
||||||
|
yy + '.' + mm + '.' + dd,
|
||||||
|
hh + ':' + mf,
|
||||||
|
weekdays[new Date().getDay()],
|
||||||
|
];
|
||||||
|
},
|
||||||
|
setType() {
|
||||||
|
console.log(this.radio);
|
||||||
|
},
|
||||||
|
setRowStyle(v) {
|
||||||
|
if (v.rowIndex % 2 === 0) {
|
||||||
|
return {
|
||||||
|
background: 'rgba(14, 32, 62, 0.5)',
|
||||||
|
color: 'rgba(255,255,255,0.5)',
|
||||||
|
height: 20 + 'px',
|
||||||
|
lineHeight: 20 + 'px',
|
||||||
|
padding: 0,
|
||||||
|
fontSize: 14 + 'px',
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
return {
|
||||||
|
background: 'rgba(32, 55, 96, 0.5)',
|
||||||
|
color: 'rgba(255,255,255,0.5)',
|
||||||
|
height: 20 + 'px',
|
||||||
|
lineHeight: 20 + 'px',
|
||||||
|
padding: 0,
|
||||||
|
fontSize: 14 + 'px',
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
change() {
|
||||||
|
this.isFullScreen = screenfull.isFullscreen;
|
||||||
|
},
|
||||||
|
|
||||||
|
init() {
|
||||||
|
if (screenfull.isEnabled) {
|
||||||
|
screenfull.on('change', this.change);
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
|
||||||
|
destroy() {
|
||||||
|
if (screenfull.isEnabled) {
|
||||||
|
screenfull.off('change', this.change);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
changeFullScreen() {
|
||||||
|
if (!screenfull.isEnabled) {
|
||||||
|
this.$message({
|
||||||
|
message: 'you browser can not work',
|
||||||
|
type: 'warning',
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
screenfull.toggle(this.$refs.container);
|
||||||
|
},
|
||||||
|
getScreenData() {
|
||||||
|
screenData().then((response) => {
|
||||||
|
this.barData.splice(0, this.barData.length);
|
||||||
|
this.tableData = response.data.ScreenTask;
|
||||||
|
this.percent = response.data.WareHouseRankProportion;
|
||||||
|
this.total = response.data.WareHouseRankTotal;
|
||||||
|
this.residue = response.data.WareHouseRankSurplus;
|
||||||
|
const obj = {
|
||||||
|
加工中: response.data.ProductProcessing,
|
||||||
|
加工完成: response.data.ProductNotProcessing,
|
||||||
|
};
|
||||||
|
this.divList = [
|
||||||
|
{
|
||||||
|
name: '总次数',
|
||||||
|
value: response.data.TaskTotal,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'FOCOS下发次数',
|
||||||
|
value: response.data.TaskFromFocos,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '加工中暂存次数',
|
||||||
|
value: response.data.TaskNotProcessing,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '货物总数',
|
||||||
|
value: response.data.TaskProductTotal,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '加工完成存储次数',
|
||||||
|
value: response.data.TaskProcessing,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '人工下发次数',
|
||||||
|
value: response.data.TaskFromManual,
|
||||||
|
},
|
||||||
|
];
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.pieChart1.initChart(obj);
|
||||||
|
this.$refs.pieChart2.initChart(response.data.ProductByType);
|
||||||
|
this.$refs.barChart.initChart(response.data.ProductAndNum);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.dashboard-editor-container {
|
#main-body {
|
||||||
padding: 32px;
|
min-height: 100vh;
|
||||||
background-color: #e9e9e9;
|
width: 100%;
|
||||||
|
background: url(~@/assets/axl/bg.png) center no-repeat;
|
||||||
|
background-size: cover;
|
||||||
|
overflow: hidden;
|
||||||
|
|
||||||
|
.container-title {
|
||||||
|
width: 100%;
|
||||||
|
height: 80px;
|
||||||
|
background: url(~@/assets/axl/title.png) no-repeat;
|
||||||
|
background-size: 100% 100%;
|
||||||
|
color: #ffffff;
|
||||||
|
font-size: 30px;
|
||||||
|
line-height: 80px;
|
||||||
|
text-align: center;
|
||||||
|
letter-spacing: 5px;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
.leftName {
|
||||||
.chart-wrapper {
|
font-size: 18px;
|
||||||
background: #fff;
|
color: #69b4ff;
|
||||||
padding: 16px 16px 0;
|
letter-spacing: 3px;
|
||||||
margin-bottom: 32px;
|
position: absolute;
|
||||||
|
left: 25%;
|
||||||
|
top: 20px;
|
||||||
|
}
|
||||||
|
.rightName {
|
||||||
|
font-size: 18px;
|
||||||
|
color: #69b4ff;
|
||||||
|
letter-spacing: 3px;
|
||||||
|
position: absolute;
|
||||||
|
left: 67%;
|
||||||
|
top: 22px;
|
||||||
|
}
|
||||||
|
.title-button {
|
||||||
|
color: #89b9fe;
|
||||||
|
position: absolute;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width:1024px) {
|
.container-body {
|
||||||
.chart-wrapper {
|
margin-top: 20px;
|
||||||
padding: 8px;
|
.div-title {
|
||||||
|
height: 48px;
|
||||||
|
font-size: 20px;
|
||||||
|
font-family: PingFangSC, PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #ffffff;
|
||||||
|
line-height: 48px;
|
||||||
|
::v-deep .el-radio-button__inner {
|
||||||
|
background-color: #0a1c51;
|
||||||
|
color: white;
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.div-top {
|
||||||
|
margin-bottom: 10px;
|
||||||
|
height: 490px;
|
||||||
|
}
|
||||||
|
.div1 {
|
||||||
|
background: url(~@/assets/axl/1.png) no-repeat;
|
||||||
|
background-size: 100% 100%;
|
||||||
|
margin-left: 20px;
|
||||||
|
.div1-info {
|
||||||
|
font-size: 18px;
|
||||||
|
font-family: PingFangSC, PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #ffffff;
|
||||||
|
margin: 35px;
|
||||||
|
}
|
||||||
|
.tip {
|
||||||
|
float: left;
|
||||||
|
width: 20px;
|
||||||
|
height: 20px;
|
||||||
|
color: #68b5ff;
|
||||||
|
text-align: center;
|
||||||
|
margin-right: 10px;
|
||||||
|
background: rgba(0, 106, 205, 0.22);
|
||||||
|
}
|
||||||
|
.residue {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.div2 {
|
||||||
|
background: url(~@/assets/axl/2.png) no-repeat;
|
||||||
|
background-size: 100% 483px;
|
||||||
|
.div2-body {
|
||||||
|
margin: 16px 22px;
|
||||||
|
color: #ffffff;
|
||||||
|
font-family: PingFangSC, PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
}
|
||||||
|
.div2-mini-body {
|
||||||
|
height: 127px;
|
||||||
|
background: url(~@/assets/axl/div2.png) no-repeat;
|
||||||
|
background-size: 100% 127px;
|
||||||
|
font-size: 40px;
|
||||||
|
line-height: 43px;
|
||||||
|
text-align: center;
|
||||||
|
padding-top: 28px;
|
||||||
|
margin-bottom: 8px;
|
||||||
|
border: 1px rgb(179, 179, 179) dashed;
|
||||||
|
}
|
||||||
|
.div2-mini-body-sub {
|
||||||
|
font-size: 20px;
|
||||||
|
color: #5da3e9;
|
||||||
|
line-height: 30px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.div3 {
|
||||||
|
background: url(~@/assets/axl/3.png) no-repeat;
|
||||||
|
background-size: 100% 100%;
|
||||||
|
margin-right: 20px;
|
||||||
|
}
|
||||||
|
.div-footer {
|
||||||
|
height: 420px;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
.div4 {
|
||||||
|
background: url(~@/assets/axl/4.png) no-repeat;
|
||||||
|
background-size: 100% 100%;
|
||||||
|
margin-left: 20px;
|
||||||
|
}
|
||||||
|
.div5 {
|
||||||
|
background: url(~@/assets/axl/5.png) no-repeat;
|
||||||
|
background-size: 100% 413px;
|
||||||
|
margin-right: 20px;
|
||||||
|
|
||||||
|
.el-table {
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
|
::v-deep .el-table__cell {
|
||||||
|
border-bottom: none;
|
||||||
|
border-right: 1px #0d1728 solid;
|
||||||
|
}
|
||||||
|
.el-table::before {
|
||||||
|
height: 0px;
|
||||||
|
}
|
||||||
|
// 取消当前行高亮--此时不能进行行点击操作
|
||||||
|
::v-deep .el-table tbody tr {
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
// 滚动条样式
|
||||||
|
::v-deep .el-table__body-wrapper::-webkit-scrollbar-track {
|
||||||
|
background-color: #063570;
|
||||||
|
}
|
||||||
|
::v-deep .el-table__body-wrapper::-webkit-scrollbar {
|
||||||
|
width: 2px;
|
||||||
|
opacity: 0.5;
|
||||||
|
}
|
||||||
|
::v-deep .el-table__body-wrapper::-webkit-scrollbar-thumb {
|
||||||
|
border-radius: 15px;
|
||||||
|
background-color: #0257aa;
|
||||||
|
}
|
||||||
|
// 滚动条头部隐藏样式
|
||||||
|
::v-deep .el-table__header tr,
|
||||||
|
::v-deep .el-table th,
|
||||||
|
.el-table tr {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
.table-div {
|
||||||
|
width: 6px;
|
||||||
|
height: 6px;
|
||||||
|
border-radius: 3px;
|
||||||
|
float: left;
|
||||||
|
margin-top: 10px;
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
.status0 {
|
||||||
|
background: #ff5454;
|
||||||
|
box-shadow: 0px 0px 2px 2px rgba(255, 84, 84, 0.5);
|
||||||
|
}
|
||||||
|
.status1 {
|
||||||
|
background: #0b58ff;
|
||||||
|
box-shadow: 0px 0px 2px 2px rgba(11, 88, 255, 0.5);
|
||||||
|
}
|
||||||
|
.status2 {
|
||||||
|
background: #03d300;
|
||||||
|
box-shadow: 0px 0px 2px 2px rgba(3, 211, 0, 0.5);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
<style lang="scss"></style>
|
||||||
|
@ -131,13 +131,13 @@ export default {
|
|||||||
mobileCodeTimer: 0,
|
mobileCodeTimer: 0,
|
||||||
loginForm: {
|
loginForm: {
|
||||||
loginType: "uname",
|
loginType: "uname",
|
||||||
username: "admin",
|
username: "",
|
||||||
password: "admin123",
|
password: "",
|
||||||
captchaVerification: "",
|
captchaVerification: "",
|
||||||
mobile: "",
|
mobile: "",
|
||||||
mobileCode: "",
|
mobileCode: "",
|
||||||
rememberMe: false,
|
rememberMe: false,
|
||||||
tenantName: "爱协林热处理",
|
tenantName: "系统管理员",
|
||||||
},
|
},
|
||||||
scene: 21,
|
scene: 21,
|
||||||
|
|
||||||
|
@ -1,3 +1,10 @@
|
|||||||
|
<!--
|
||||||
|
* @Author: zwq
|
||||||
|
* @Date: 2023-09-14 13:44:22
|
||||||
|
* @LastEditors: zwq
|
||||||
|
* @LastEditTime: 2023-12-15 10:31:48
|
||||||
|
* @Description:
|
||||||
|
-->
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<doc-alert title="报表设计器" url="https://doc.iocoder.cn/report/" />
|
<doc-alert title="报表设计器" url="https://doc.iocoder.cn/report/" />
|
||||||
@ -12,7 +19,7 @@ export default {
|
|||||||
components: { iFrame },
|
components: { iFrame },
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
url: process.env.VUE_APP_BASE_API + "/jmreport/list?token=" + getAccessToken(),
|
url: process.env.VUE_APP_JM_API + "/jmreport/list?token=" + getAccessToken(),
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -8,7 +8,7 @@ function resolve(dir) {
|
|||||||
|
|
||||||
const CompressionPlugin = require('compression-webpack-plugin')
|
const CompressionPlugin = require('compression-webpack-plugin')
|
||||||
|
|
||||||
const name = process.env.VUE_APP_TITLE || '爱协林管理系统' // 网页标题
|
const name = process.env.VUE_APP_TITLE || '热处理立库管理系统' // 网页标题
|
||||||
|
|
||||||
const port = process.env.port || process.env.npm_config_port || 80 // 端口
|
const port = process.env.port || process.env.npm_config_port || 80 // 端口
|
||||||
|
|
||||||
|