Merge remote-tracking branch 'origin/0.8.X' into 0.8.X
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
# 页面标题
|
||||
VUE_APP_TITLE = 科伦普综合办公系统
|
||||
VUE_APP_TITLE = 科伦普冷轧涂镀数智运营一体化平台
|
||||
|
||||
# 开发环境配置
|
||||
ENV = 'development'
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# 页面标题
|
||||
VUE_APP_TITLE = 科伦普综合办公系统
|
||||
VUE_APP_TITLE = 科伦普冷轧涂镀数智运营一体化平台
|
||||
|
||||
# 生产环境配置
|
||||
ENV = 'production'
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# 页面标题
|
||||
VUE_APP_TITLE = 科伦普综合办公系统
|
||||
VUE_APP_TITLE = 科伦普冷轧涂镀数智运营一体化平台
|
||||
|
||||
# 开发环境配置
|
||||
ENV = 'development'
|
||||
|
||||
BIN
klp-ui/public/favicon.png
Normal file
BIN
klp-ui/public/favicon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 19 KiB |
@@ -5,7 +5,7 @@
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
|
||||
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
|
||||
<link rel="icon" href="<%= BASE_URL %>favicon.png">
|
||||
<title><%= webpackConfig.name %></title>
|
||||
<!--[if lt IE 11]><script>window.location.href='/html/ie.html';</script><![endif]-->
|
||||
<style>
|
||||
|
||||
@@ -42,3 +42,14 @@ export function delStock(stockId) {
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
// 物料追溯:根据批次号查找所有关联的单据明细
|
||||
export function getStockTrace(batchNo) {
|
||||
return request({
|
||||
url: '/wms/stockIoDetail/batch',
|
||||
method: 'post',
|
||||
data: {
|
||||
batchNo
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 19 KiB |
@@ -11,13 +11,27 @@ $info-base: #AEB6BF;
|
||||
/* 次主色原始值 */
|
||||
|
||||
// 背景色原始值
|
||||
$background-base: #2B2F36;
|
||||
// 暗色
|
||||
// $background-base: #2B2F36;
|
||||
// $background-light-base: lighten($background-base, 5%);
|
||||
// $background-lighter-base: lighten($background-base, 10%);
|
||||
// $panel-bg-base: #3A3F45;
|
||||
// $table-bg-base: #1E2227;
|
||||
|
||||
// // 暗色边框色原始值
|
||||
// $border-color-base: #6E757D;
|
||||
// $border-color-light: #828991;
|
||||
// $border-color-lighter: #9AA1A9;
|
||||
|
||||
// 亮色
|
||||
$background-base: #F5F5F5;
|
||||
$background-light-base: lighten($background-base, 5%);
|
||||
$background-lighter-base: lighten($background-base, 10%);
|
||||
$panel-bg-base: #3A3F45;
|
||||
$table-bg-base: #1E2227;
|
||||
$--color-text-primary: #1a1a1a;
|
||||
$panel-bg-base: $--color-text-primary;
|
||||
$table-bg-base: $--color-text-primary;
|
||||
|
||||
// 边框色原始值(新增基础边框色变量)
|
||||
// 亮色边框色原始值
|
||||
$border-color-base: #6E757D;
|
||||
$border-color-light: #828991;
|
||||
$border-color-lighter: #9AA1A9;
|
||||
@@ -52,10 +66,10 @@ $--border-color: $border-color-base;
|
||||
--table-bg: #{$table-bg-base};
|
||||
|
||||
/* 文本色 */
|
||||
--color-text-primary: #FFFFFF;
|
||||
--color-text-regular: #EAEAEA;
|
||||
--color-text-secondary: #B6BDC5;
|
||||
--color-text-placeholder: #8A9098;
|
||||
--color-text-primary: #{$--color-text-primary};
|
||||
--color-text-regular: #333333;
|
||||
--color-text-secondary: #555555;
|
||||
--color-text-placeholder: #777777;
|
||||
|
||||
/* 边框色 */
|
||||
--border-color-base: #{$border-color-base};
|
||||
@@ -73,8 +87,10 @@ $--border-color: $border-color-base;
|
||||
--btn-height: #{$--btn-height};
|
||||
|
||||
/* 金属质感变量 */
|
||||
--metal-gradient-light: linear-gradient(145deg, #3E434A, #363B41);
|
||||
--metal-gradient-dark: linear-gradient(145deg, #363B41, #3E434A);
|
||||
// --metal-gradient-light: linear-gradient(145deg, #3E434A, #363B41);
|
||||
// --metal-gradient-dark: linear-gradient(145deg, #363B41, #3E434A);
|
||||
--metal-gradient-light: linear-gradient(145deg, $--color-background-light, $--color-background);
|
||||
--metal-gradient-dark: linear-gradient(145deg, $--color-background, $--color-background-light);
|
||||
--metal-highlight: rgba(255, 255, 255, .14);
|
||||
--metal-shadow: 5px 5px 12px rgba(0, 0, 0, .22), -5px -5px 12px rgba(255, 255, 255, .06);
|
||||
--metal-shadow-inset: inset 3px 3px 6px rgba(0, 0, 0, .28), inset -3px -3px 6px rgba(255, 255, 255, .06);
|
||||
@@ -194,7 +210,7 @@ body {
|
||||
|
||||
// 主按钮(品牌梯度)
|
||||
.el-button--primary {
|
||||
@include button-variant(#fff, darken($--color-primary, 10%));
|
||||
@include button-variant($--color-text-primary, darken($--color-primary, 10%));
|
||||
background: linear-gradient(145deg, lighten($--color-primary, 6%), darken($--color-primary, 6%));
|
||||
border-color: darken($--color-primary, 10%);
|
||||
|
||||
@@ -205,17 +221,17 @@ body {
|
||||
|
||||
// 功能按钮(统一风格)
|
||||
.el-button--success {
|
||||
@include button-variant(#fff, darken($--color-success, 10%));
|
||||
@include button-variant($--color-text-primary, darken($--color-success, 10%));
|
||||
background: linear-gradient(145deg, lighten($--color-success, 6%), darken($--color-success, 6%));
|
||||
}
|
||||
|
||||
.el-button--warning {
|
||||
@include button-variant(#fff, darken($--color-warning, 10%));
|
||||
@include button-variant($--color-text-primary, darken($--color-warning, 10%));
|
||||
background: linear-gradient(145deg, lighten($--color-warning, 6%), darken($--color-warning, 6%));
|
||||
}
|
||||
|
||||
.el-button--danger {
|
||||
@include button-variant(#fff, darken($--color-danger, 10%));
|
||||
@include button-variant($--color-text-primary, darken($--color-danger, 10%));
|
||||
background: linear-gradient(145deg, lighten($--color-danger, 6%), darken($--color-danger, 6%));
|
||||
}
|
||||
|
||||
@@ -300,7 +316,7 @@ body {
|
||||
// ---------------------- 3.2 表格(深色交替 + 金属边框)----------------------
|
||||
.el-table {
|
||||
background: $--table-bg;
|
||||
border: 1px solid $--border-color-light;
|
||||
// border: 1px solid $--border-color-light;
|
||||
border-radius: 8px;
|
||||
box-shadow: $--metal-shadow;
|
||||
color: $--color-text-regular;
|
||||
@@ -315,10 +331,10 @@ body {
|
||||
// 表头(深灰黑 + 纯白文字)
|
||||
.el-table__header-wrapper {
|
||||
th.el-table__cell {
|
||||
background: #1F2227;
|
||||
background: $--color-background;
|
||||
color: $--color-text-primary;
|
||||
font-weight: 600;
|
||||
border-bottom: 1px solid #444A52;
|
||||
border-bottom: 1px solid $--border-color-lighter;
|
||||
padding: 4px !important; // 紧凑 padding
|
||||
height: auto;
|
||||
font-size: 13px;
|
||||
@@ -331,14 +347,14 @@ body {
|
||||
|
||||
// 奇数行
|
||||
&:nth-child(odd) .el-table__cell {
|
||||
background: #2F3339;
|
||||
color: #EAEAEA;
|
||||
background: $--color-background-light;
|
||||
color: $--color-text-regular;
|
||||
}
|
||||
|
||||
// 偶数行
|
||||
&:nth-child(even) .el-table__cell {
|
||||
background: #353A40;
|
||||
color: #EAEAEA;
|
||||
background: $--color-background-light;
|
||||
color: $--color-text-regular;
|
||||
}
|
||||
|
||||
// hover
|
||||
@@ -357,8 +373,8 @@ body {
|
||||
|
||||
// 单元格(统一边框 + 紧凑 padding)
|
||||
.el-table__cell {
|
||||
border-bottom: 1px solid #444A52;
|
||||
color: #EAEAEA;
|
||||
border-bottom: 1px solid $--border-color-lighter;
|
||||
color: $--color-text-regular;
|
||||
padding: 2px 4px !important; // 超紧凑
|
||||
font-size: 13px;
|
||||
}
|
||||
@@ -391,7 +407,7 @@ body {
|
||||
}
|
||||
|
||||
&__empty-block {
|
||||
background: #1e2227;
|
||||
background: $--color-background;
|
||||
}
|
||||
|
||||
// 适配尺寸类(统一紧凑)
|
||||
@@ -405,10 +421,10 @@ body {
|
||||
// 表头(深灰黑 + 纯白文字)
|
||||
.el-table__fixed-header-wrapper {
|
||||
th.el-table__cell {
|
||||
background: #1F2227;
|
||||
background: $--color-background;
|
||||
color: $--color-text-primary;
|
||||
font-weight: 600;
|
||||
border-bottom: 1px solid #444A52;
|
||||
border-bottom: 1px solid $--border-color-lighter;
|
||||
padding: 4px !important; // 紧凑 padding
|
||||
font-size: 13px;
|
||||
}
|
||||
@@ -420,14 +436,14 @@ body {
|
||||
|
||||
// 奇数行
|
||||
&:nth-child(odd) .el-table__cell {
|
||||
background: #2F3339;
|
||||
color: #EAEAEA;
|
||||
background: $--color-background-light;
|
||||
color: $--color-text-regular;
|
||||
}
|
||||
|
||||
// 偶数行
|
||||
&:nth-child(even) .el-table__cell {
|
||||
background: #353A40;
|
||||
color: #EAEAEA;
|
||||
background: $--color-background-light;
|
||||
color: $--color-text-regular;
|
||||
}
|
||||
|
||||
// 当前行
|
||||
@@ -598,7 +614,7 @@ body {
|
||||
|
||||
&.current {
|
||||
background: $--color-primary;
|
||||
color: #fff;
|
||||
color: $--color-text-primary;
|
||||
}
|
||||
|
||||
&.in-range {
|
||||
@@ -612,10 +628,14 @@ body {
|
||||
&.start-date,
|
||||
&.end-date {
|
||||
background: $--color-primary;
|
||||
color: #fff;
|
||||
color: $--color-text-primary;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.available.in-range div {
|
||||
background-color: $--color-background;
|
||||
}
|
||||
}
|
||||
|
||||
// 范围选择器底部按钮
|
||||
@@ -641,7 +661,7 @@ body {
|
||||
&.el-button--primary {
|
||||
background: $--color-primary;
|
||||
border-color: $--color-primary;
|
||||
color: #fff;
|
||||
color: $--color-text-primary;
|
||||
|
||||
&:hover {
|
||||
background: lighten($--color-primary, 10%);
|
||||
@@ -693,7 +713,7 @@ body {
|
||||
background: $--metal-gradient-light;
|
||||
border-color: $--border-color-light;
|
||||
color: $--color-text-regular;
|
||||
box-shadow: $--metal-shadow-inset;
|
||||
// box-shadow: $--metal-shadow-inset;
|
||||
border-radius: 0;
|
||||
height: $--btn-height;
|
||||
line-height: $--btn-height;
|
||||
@@ -705,7 +725,7 @@ body {
|
||||
|
||||
&:focus {
|
||||
border-color: $--color-primary;
|
||||
box-shadow: $--metal-shadow-inset, 0 0 0 2px rgba($--color-primary, .22);
|
||||
box-shadow: $--metal-shadow-inset;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -734,7 +754,7 @@ body {
|
||||
border-left: 1px solid $--border-color-light;
|
||||
background: $--metal-gradient-light;
|
||||
color: $--color-text-regular;
|
||||
box-shadow: $--metal-shadow-inset;
|
||||
// box-shadow: $--metal-shadow-inset;
|
||||
font-size: 13px;
|
||||
}
|
||||
}
|
||||
@@ -744,7 +764,7 @@ body {
|
||||
background: $--metal-gradient-light;
|
||||
border-color: $--border-color-light;
|
||||
color: $--color-text-regular;
|
||||
box-shadow: $--metal-shadow-inset;
|
||||
// box-shadow: $--metal-shadow-inset;
|
||||
border-radius: 0;
|
||||
padding: $--spacing-base;
|
||||
font-size: 13px;
|
||||
@@ -847,7 +867,7 @@ body {
|
||||
|
||||
&.selected {
|
||||
background-color: rgba($--color-primary, .20);
|
||||
color: #fff;
|
||||
color: $--color-text-primary;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -926,12 +946,12 @@ body {
|
||||
left: 0;
|
||||
position: relative;
|
||||
margin: 10vh auto 0;
|
||||
background: $--metal-gradient-light !important;
|
||||
// background: $--metal-gradient-light !important;
|
||||
background-color: white !important;
|
||||
border: 1px solid $--border-color-light;
|
||||
box-shadow: $--metal-shadow;
|
||||
border-radius: 8px;
|
||||
color: $--color-text-regular;
|
||||
width: 60% !important; // 自适应宽度
|
||||
|
||||
// 对话框头部
|
||||
.el-dialog__header {
|
||||
@@ -1295,7 +1315,7 @@ body {
|
||||
&.current,
|
||||
&.selected {
|
||||
background: $--color-primary;
|
||||
color: #fff;
|
||||
color: $--color-text-primary;
|
||||
|
||||
&:hover {
|
||||
background: darken($--color-primary, 5%);
|
||||
@@ -1332,7 +1352,7 @@ body {
|
||||
|
||||
&.is-selected {
|
||||
background: $--color-primary;
|
||||
color: #fff;
|
||||
color: $--color-text-primary;
|
||||
|
||||
&:hover {
|
||||
background: darken($--color-primary, 5%);
|
||||
@@ -1577,7 +1597,7 @@ body {
|
||||
|
||||
&.active {
|
||||
background: $--color-primary;
|
||||
color: #fff;
|
||||
color: $--color-text-primary;
|
||||
border-color: $--color-primary;
|
||||
}
|
||||
}
|
||||
@@ -1633,28 +1653,13 @@ div.pagination-container {
|
||||
color: $--color-text-regular;
|
||||
|
||||
.el-tree-node {
|
||||
&:hover {
|
||||
background: rgba($--color-primary, .12);
|
||||
}
|
||||
// &:hover {
|
||||
// background: rgba($--color-primary, .12);
|
||||
// }
|
||||
|
||||
&.is-current>.el-tree-node__content {
|
||||
background: rgba($--color-primary, .2);
|
||||
color: $--color-primary;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ---------------------- 3.8 自定义工具类 ----------------------
|
||||
// 固定按钮宽度
|
||||
// .fixed-width {
|
||||
// .el-button--mini {
|
||||
// padding: 7px 10px;
|
||||
// width: 60px;
|
||||
// }
|
||||
// }
|
||||
|
||||
// 居中单元格(深色表头)
|
||||
.is-center.is-leaf.el-table__cell {
|
||||
background-color: #1F2227;
|
||||
}
|
||||
@@ -88,83 +88,83 @@
|
||||
padding: 10px 20px 0;
|
||||
}
|
||||
|
||||
.el-table {
|
||||
.el-table__header-wrapper, .el-table__fixed-header-wrapper {
|
||||
th {
|
||||
word-break: break-word;
|
||||
background-color: #f8f8f9;
|
||||
color: #515a6e;
|
||||
height: 40px;
|
||||
font-size: 13px;
|
||||
}
|
||||
}
|
||||
// .el-table {
|
||||
// .el-table__header-wrapper, .el-table__fixed-header-wrapper {
|
||||
// th {
|
||||
// word-break: break-word;
|
||||
// background-color: #f8f8f9;
|
||||
// color: #515a6e;
|
||||
// height: 40px;
|
||||
// font-size: 13px;
|
||||
// }
|
||||
// }
|
||||
|
||||
.el-table__body-wrapper {
|
||||
.el-button [class*="el-icon-"] + span {
|
||||
margin-left: 1px;
|
||||
}
|
||||
}
|
||||
}
|
||||
// .el-table__body-wrapper {
|
||||
// .el-button [class*="el-icon-"] + span {
|
||||
// margin-left: 1px;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
/** 表单布局 **/
|
||||
.form-header {
|
||||
font-size: 15px;
|
||||
color: #6379bb;
|
||||
border-bottom: 1px solid #ddd;
|
||||
margin: 8px 10px 25px 10px;
|
||||
padding-bottom: 5px
|
||||
}
|
||||
// .form-header {
|
||||
// font-size: 15px;
|
||||
// color: #6379bb;
|
||||
// border-bottom: 1px solid #ddd;
|
||||
// margin: 8px 10px 25px 10px;
|
||||
// padding-bottom: 5px
|
||||
// }
|
||||
|
||||
/** 表格布局 **/
|
||||
.pagination-container {
|
||||
position: relative;
|
||||
height: 25px;
|
||||
margin-bottom: 10px;
|
||||
margin-top: 15px;
|
||||
padding: 10px 20px !important;
|
||||
}
|
||||
// /** 表格布局 **/
|
||||
// .pagination-container {
|
||||
// position: relative;
|
||||
// height: 25px;
|
||||
// margin-bottom: 10px;
|
||||
// margin-top: 15px;
|
||||
// padding: 10px 20px !important;
|
||||
// }
|
||||
|
||||
/* tree border */
|
||||
.tree-border {
|
||||
margin-top: 5px;
|
||||
border: 1px solid #e5e6e7;
|
||||
background: #FFFFFF none;
|
||||
border-radius: 4px;
|
||||
}
|
||||
// .tree-border {
|
||||
// margin-top: 5px;
|
||||
// border: 1px solid #e5e6e7;
|
||||
// background: #FFFFFF none;
|
||||
// border-radius: 4px;
|
||||
// }
|
||||
|
||||
.pagination-container .el-pagination {
|
||||
right: 0;
|
||||
position: absolute;
|
||||
}
|
||||
// .pagination-container .el-pagination {
|
||||
// right: 0;
|
||||
// position: absolute;
|
||||
// }
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.pagination-container .el-pagination > .el-pagination__jump {
|
||||
display: none !important;
|
||||
}
|
||||
.pagination-container .el-pagination > .el-pagination__sizes {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
// @media (max-width: 768px) {
|
||||
// .pagination-container .el-pagination > .el-pagination__jump {
|
||||
// display: none !important;
|
||||
// }
|
||||
// .pagination-container .el-pagination > .el-pagination__sizes {
|
||||
// display: none !important;
|
||||
// }
|
||||
// }
|
||||
|
||||
.el-table .fixed-width .el-button--mini {
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
width: inherit;
|
||||
}
|
||||
// .el-table .fixed-width .el-button--mini {
|
||||
// padding-left: 0;
|
||||
// padding-right: 0;
|
||||
// width: inherit;
|
||||
// }
|
||||
|
||||
/** 表格更多操作下拉样式 */
|
||||
.el-table .el-dropdown-link,.el-table .el-dropdown-selfdefine {
|
||||
cursor: pointer;
|
||||
margin-left: 5px;
|
||||
}
|
||||
// /** 表格更多操作下拉样式 */
|
||||
// .el-table .el-dropdown-link,.el-table .el-dropdown-selfdefine {
|
||||
// cursor: pointer;
|
||||
// margin-left: 5px;
|
||||
// }
|
||||
|
||||
.el-table .el-dropdown, .el-icon-arrow-down {
|
||||
font-size: 12px;
|
||||
}
|
||||
// .el-table .el-dropdown, .el-icon-arrow-down {
|
||||
// font-size: 12px;
|
||||
// }
|
||||
|
||||
.el-tree-node__content > .el-checkbox {
|
||||
margin-right: 8px;
|
||||
}
|
||||
// .el-tree-node__content > .el-checkbox {
|
||||
// margin-right: 8px;
|
||||
// }
|
||||
|
||||
.list-group-striped > .list-group-item {
|
||||
border-left: 0;
|
||||
|
||||
@@ -4,13 +4,14 @@
|
||||
--text-regular: #333333;
|
||||
--text-secondary: #555555;
|
||||
--text-placeholder: #777777;
|
||||
--background-color: #fff;
|
||||
|
||||
.main-container {
|
||||
height: 100%;
|
||||
transition: margin-left .28s, box-shadow .3s ease;
|
||||
margin-left: $base-sidebar-width;
|
||||
position: relative;
|
||||
background: #1E2227; // 金属浅色渐变
|
||||
// background: #1E2227; // 金属浅色渐变
|
||||
}
|
||||
|
||||
.sidebarHide {
|
||||
@@ -21,7 +22,7 @@
|
||||
-webkit-transition: width .28s, background .3s ease;
|
||||
transition: width 0.28s, background .3s ease;
|
||||
width: $base-sidebar-width !important;
|
||||
background: #1E2227; // 金属深色渐变
|
||||
background: var(--background-color); // 金属深色渐变
|
||||
border-right: 1px solid #8d939b;
|
||||
height: 100%;
|
||||
position: fixed;
|
||||
@@ -44,11 +45,12 @@
|
||||
|
||||
.el-scrollbar__bar.is-vertical {
|
||||
right: 0px;
|
||||
background: rgba(0, 0, 0, 0.05);
|
||||
background: #2Bf;
|
||||
width: 0;
|
||||
}
|
||||
|
||||
.el-scrollbar__thumb {
|
||||
background: #1E2227;
|
||||
background: var(--background-color);
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
@@ -112,13 +114,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
// 深色主题下子菜单选中高亮
|
||||
& .theme-dark .is-active>.el-submenu__title {
|
||||
color: #fff !important; // 选中时文字纯白
|
||||
// background-color: rgba(95, 123, 160, 0.25) !important; // 工业蓝浅高亮
|
||||
// border-left: 3px solid #5F7BA0; // 左边高亮条
|
||||
}
|
||||
|
||||
// & .nest-menu .el-submenu>.el-submenu__title,
|
||||
& .el-submenu .el-menu-item {
|
||||
// 子菜单默认样式
|
||||
@@ -146,7 +141,7 @@
|
||||
|
||||
&.is-active {
|
||||
background: rgba(95, 123, 160, 0.28) !important; // 激活背景
|
||||
color: #fff !important; // 激活文字白色
|
||||
color: #000 !important; // 激活文字白色
|
||||
font-weight: 600;
|
||||
border-left: 3px solid #5F7BA0; // 左边高亮条
|
||||
}
|
||||
@@ -154,10 +149,10 @@
|
||||
}
|
||||
|
||||
.el-menu-item.is-active.submenu-title-noDropdown {
|
||||
background: rgba(95, 123, 160, 0.28) !important; // 激活背景
|
||||
color: #fff !important; // 激活文字白色
|
||||
background: #657b96; // 激活背景
|
||||
color: #fff; // 激活文字白色
|
||||
font-weight: 600;
|
||||
border-left: 3px solid #5F7BA0; // 左边高亮条
|
||||
border-left: 3px solid #657b96; // 左边高亮条
|
||||
}
|
||||
|
||||
.hideSidebar {
|
||||
@@ -247,7 +242,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
// when menu collapsed
|
||||
// 收起状态下的菜单
|
||||
.el-menu--vertical {
|
||||
&>.el-menu {
|
||||
.svg-icon {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<span>
|
||||
<el-select v-model="selected" :placeholder="placeholder" filterable clearable :loading="loading"
|
||||
<el-select v-model="selected" :placeholder="placeholder" filterable clearable :loading="loading" size="large"
|
||||
style="width: 100%" :value-key="'rawMaterialId'">
|
||||
<template #empty>
|
||||
<el-button v-if="canAdd" @click="add" icon="el-icon-plus">未搜索到原材料,点击添加</el-button>
|
||||
|
||||
@@ -270,7 +270,7 @@ export default {
|
||||
/* 列表项选中状态(左侧高亮边框+背景色) */
|
||||
.klp-list-item.active {
|
||||
border-left: 3px solid #2bf;
|
||||
background-color: #222;
|
||||
/* background-color: #fff; */
|
||||
}
|
||||
|
||||
/* 列表标题区域(占满中间空间,让操作按钮靠右) */
|
||||
@@ -284,7 +284,7 @@ export default {
|
||||
|
||||
/* 标题前置标签样式 */
|
||||
.klp-list-title .title-label {
|
||||
color: #ddd;
|
||||
color: #111;
|
||||
margin-right: 6px;
|
||||
font-size: 13px;
|
||||
white-space: nowrap; /* 标签不换行 */
|
||||
@@ -293,7 +293,7 @@ export default {
|
||||
|
||||
/* 标题内容样式(溢出省略) */
|
||||
.klp-list-title .title-value {
|
||||
color: #ddd;
|
||||
color: #111;
|
||||
font-weight: 500;
|
||||
font-size: 14px;
|
||||
white-space: nowrap; /* 禁止换行 */
|
||||
|
||||
@@ -48,7 +48,7 @@ export default {
|
||||
.markdown-preview {
|
||||
border-radius: 4px;
|
||||
padding: 8px;
|
||||
background: #393d46;
|
||||
color: white;
|
||||
background: var(--color-background);
|
||||
color: var(--color-text-primary);
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -72,7 +72,8 @@ export default {
|
||||
<style scoped>
|
||||
#vditor {
|
||||
border: 1px solid #e4e7ed;
|
||||
color: white;
|
||||
color: black;
|
||||
background-color: white;
|
||||
border-radius: 4px;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -107,10 +107,10 @@ export default {
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
// 金属质感渐变背景
|
||||
background: #454c51;
|
||||
border-bottom: 1px solid #8d939b;
|
||||
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1),
|
||||
0 1px 1px rgba(255, 255, 255, 0.08) inset;
|
||||
// background: #454c51;
|
||||
// border-bottom: 1px solid #8d939b;
|
||||
// box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1),
|
||||
// 0 1px 1px rgba(255, 255, 255, 0.08) inset;
|
||||
|
||||
.hamburger-container {
|
||||
line-height: 46px;
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
<template>
|
||||
<div class="sidebar-logo-container" :class="{'collapse':collapse}" :style="{ backgroundColor: '#1e2227'}">
|
||||
<div class="sidebar-logo-container" :class="{'collapse':collapse}" :style="{ backgroundColor: '#fff'}">
|
||||
<transition name="sidebarLogoFade">
|
||||
<router-link v-if="collapse" key="collapse" class="sidebar-logo-link" to="/">
|
||||
<img v-if="logo" :src="logo" class="sidebar-logo" />
|
||||
<h1 v-else class="sidebar-title" :style="{ color: sideTheme === 'theme-dark' ? variables.logoTitleColor : variables.logoLightTitleColor }">{{ title }} </h1>
|
||||
<h1 v-else class="sidebar-title">{{ title }} </h1>
|
||||
</router-link>
|
||||
<router-link v-else key="expand" class="sidebar-logo-link" to="/">
|
||||
<img v-if="logo" :src="logo" class="sidebar-logo" />
|
||||
<h1 class="sidebar-title" :style="{ color: sideTheme === 'theme-dark' ? variables.logoTitleColor : variables.logoLightTitleColor }">{{ title }} </h1>
|
||||
<h1 class="sidebar-title">{{ title }} </h1>
|
||||
</router-link>
|
||||
</transition>
|
||||
</div>
|
||||
@@ -35,7 +35,7 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
title: '科伦普综合办公系统',
|
||||
title: '科伦普一体化平台',
|
||||
logo: logoImg
|
||||
}
|
||||
}
|
||||
@@ -57,7 +57,7 @@ export default {
|
||||
width: 100%;
|
||||
height: 50px;
|
||||
line-height: 50px;
|
||||
background: #111;
|
||||
background: #fff;
|
||||
text-align: center;
|
||||
overflow: hidden;
|
||||
|
||||
@@ -75,7 +75,7 @@ export default {
|
||||
& .sidebar-title {
|
||||
display: inline-block;
|
||||
margin: 0;
|
||||
color: #fff;
|
||||
color: #111;
|
||||
font-weight: 600;
|
||||
line-height: 50px;
|
||||
font-size: 14px;
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
<template>
|
||||
<div :class="{'has-logo':showLogo}" :style="{ backgroundColor: '#1e2227' }">
|
||||
<div :class="{'has-logo':showLogo}" :style="{ backgroundColor: '#fff' }">
|
||||
<logo v-if="showLogo" :collapse="isCollapse" />
|
||||
<el-scrollbar :class="settings.sideTheme" wrap-class="scrollbar-wrapper">
|
||||
<el-menu
|
||||
:default-active="activeMenu"
|
||||
:collapse="isCollapse"
|
||||
background-color="#1e2227"
|
||||
:text-color="settings.sideTheme === 'theme-dark' ? variables.menuColor : variables.menuLightColor"
|
||||
background-color="#fff"
|
||||
text-color="#111"
|
||||
:unique-opened="true"
|
||||
active-text-color="#fff"
|
||||
active-text-color="#111"
|
||||
:collapse-transition="false"
|
||||
mode="vertical"
|
||||
>
|
||||
@@ -52,6 +52,9 @@ export default {
|
||||
isCollapse() {
|
||||
return !this.sidebar.opened;
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
console.log(this.sidebarRouters, sidebar);
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
@@ -242,7 +242,7 @@ export default {
|
||||
height: 34px;
|
||||
width: 100%;
|
||||
// 金属浅色渐变背景(直接写死渐变值)
|
||||
background: #454c51;
|
||||
// background: #454c51;
|
||||
border-bottom: 1px solid #a0a6ad;
|
||||
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.05) inset;
|
||||
|
||||
@@ -254,9 +254,9 @@ export default {
|
||||
height: 26px;
|
||||
line-height: 26px;
|
||||
border: 1px solid #a0a6ad;
|
||||
color: #ddd;
|
||||
color: #111;
|
||||
// 标签金属渐变背景
|
||||
background: #454c51;
|
||||
// background: linear-gradient(145deg, #6b809d, #637994);
|
||||
padding: 0 8px;
|
||||
font-size: 12px;
|
||||
margin-left: 5px;
|
||||
|
||||
@@ -79,7 +79,7 @@ export default {
|
||||
}
|
||||
|
||||
.drawer-bg {
|
||||
background: #000;
|
||||
// background: #000;
|
||||
opacity: 0.3;
|
||||
width: 100%;
|
||||
top: 0;
|
||||
|
||||
@@ -216,7 +216,7 @@ export default {
|
||||
.frequently-used-section {
|
||||
margin-bottom: 32px; /* 增大间距 */
|
||||
padding-bottom: 20px;
|
||||
border-bottom: 1px solid #111; /* 飞书浅灰边框色 */
|
||||
border-bottom: 1px solid #ddd; /* 飞书浅灰边框色 */
|
||||
}
|
||||
|
||||
.frequently-used-header {
|
||||
@@ -229,7 +229,7 @@ export default {
|
||||
.frequently-title {
|
||||
font-size: 16px; /* 稍小字体,飞书风格更简洁 */
|
||||
font-weight: 500; /* 调整 FontWeight */
|
||||
color: #ddd; /* 深一点的标题色 */
|
||||
color: #111; /* 深一点的标题色 */
|
||||
}
|
||||
|
||||
.edit-btn {
|
||||
@@ -253,10 +253,10 @@ export default {
|
||||
border-radius: 12px; /* 大圆角 */
|
||||
transition: all 0.3s ease;
|
||||
position: relative;
|
||||
background-color: #222; /* 飞书卡片常用浅灰底色 */
|
||||
// background-color: ; /* 飞书卡片常用浅灰底色 */
|
||||
|
||||
&:hover {
|
||||
background-color: #444; /* hover 时的浅灰 */
|
||||
background-color: #fff; /* hover 时的浅灰 */
|
||||
}
|
||||
}
|
||||
|
||||
@@ -285,10 +285,10 @@ export default {
|
||||
border-radius: 12px;
|
||||
transition: background-color 0.3s ease;
|
||||
position: relative;
|
||||
background-color: #222;
|
||||
// background-color: #222;
|
||||
|
||||
&:hover {
|
||||
background-color: #444;
|
||||
background-color: #fff;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -301,7 +301,7 @@ export default {
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin-bottom: 12px;
|
||||
background-color: #222; /* 飞书风格的浅蓝底色 */
|
||||
background-color: #fff; /* 飞书风格的浅蓝底色 */
|
||||
position: relative;
|
||||
}
|
||||
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
size="mini"
|
||||
v-if="optType !='view'"
|
||||
@click="handleAdd"
|
||||
v-hasPermi="['mes:dv:checkplan:add']"
|
||||
>新增</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
@@ -21,7 +20,6 @@
|
||||
v-if="optType !='view'"
|
||||
:disabled="multiple"
|
||||
@click="handleDelete"
|
||||
v-hasPermi="['mes:dv:checkplan:remove']"
|
||||
>删除</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
v-if="optType !='view'"
|
||||
v-hasPermi="['mes:dv:checkplan:add']"
|
||||
>新增</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
@@ -21,7 +20,6 @@
|
||||
:disabled="multiple"
|
||||
@click="handleDelete"
|
||||
v-if="optType !='view'"
|
||||
v-hasPermi="['mes:dv:checkplan:remove']"
|
||||
>删除</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
@@ -40,7 +38,6 @@
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
v-hasPermi="['mes:dv:checkplan:remove']"
|
||||
>删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
@@ -43,7 +43,7 @@ import {getCheckPlan} from "@/api/mes/dv/checkplan";
|
||||
|
||||
export default {
|
||||
name: "CheckPlan",
|
||||
dicts: ['mes_cycle_type','mes_order_status','dv_plan_type'],
|
||||
dicts: ['mes_cycle_type','mes_order_status'],
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
|
||||
@@ -25,6 +25,42 @@
|
||||
</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="['mes:dv:maintenrecord:add']"
|
||||
>新增</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="success"
|
||||
plain
|
||||
icon="el-icon-edit"
|
||||
size="mini"
|
||||
:disabled="single"
|
||||
@click="handleUpdate"
|
||||
v-hasPermi="['mes:dv:maintenrecord:edit']"
|
||||
>修改</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="danger"
|
||||
plain
|
||||
icon="el-icon-delete"
|
||||
size="mini"
|
||||
:disabled="multiple"
|
||||
@click="handleDelete"
|
||||
v-hasPermi="['mes:dv:maintenrecord:remove']"
|
||||
>删除</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<KLPTable
|
||||
v-loading="loading"
|
||||
:data="machinerytypeList"
|
||||
@@ -243,6 +279,7 @@ export default {
|
||||
this.form.parentTypeId = row.machineryTypeId;
|
||||
} else {
|
||||
this.form.parentTypeId = 0;
|
||||
this.form.ancestors = 0;
|
||||
}
|
||||
this.open = true;
|
||||
this.title = "添加设备类型";
|
||||
|
||||
@@ -123,7 +123,6 @@ export default {
|
||||
optType: null,
|
||||
recordId: null,
|
||||
},
|
||||
dicts: ['dv_cm_result_status'],
|
||||
components:{ DvSubjectSelect },
|
||||
data() {
|
||||
return {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="80px">
|
||||
<el-form-item label="维修单编号" prop="repairCode">
|
||||
<el-input
|
||||
v-model="queryParams.repairCode"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="120px">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="60px">
|
||||
<el-form-item label="委托单号" prop="commissionNo">
|
||||
<el-input
|
||||
v-model="queryParams.commissionNo"
|
||||
@@ -49,7 +49,7 @@
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="要求完成日期" prop="deadline">
|
||||
<el-form-item label="截至日期" prop="deadline">
|
||||
<el-date-picker clearable
|
||||
v-model="queryParams.deadline"
|
||||
type="date"
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="120px">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="60px">
|
||||
<el-form-item label="任务单号" prop="taskNo">
|
||||
<el-input v-model="queryParams.taskNo" placeholder="请输入任务单号" clearable @keyup.enter.native="handleQuery" />
|
||||
</el-form-item>
|
||||
<el-form-item label="负责人" prop="assignedTo">
|
||||
<user-select v-model="queryParams.assignedTo" placeholder="请选择负责人" clearable @keyup.enter.native="handleQuery" />
|
||||
</el-form-item>
|
||||
<el-form-item label="任务开始时间" prop="startTime">
|
||||
<el-form-item label="开始时间" prop="startTime">
|
||||
<el-date-picker clearable v-model="queryParams.startTime" type="date" value-format="yyyy-MM-dd"
|
||||
placeholder="请选择任务开始时间">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="任务完成时间" prop="endTime">
|
||||
<el-form-item label="完成时间" prop="endTime">
|
||||
<el-date-picker clearable v-model="queryParams.endTime" type="date" value-format="yyyy-MM-dd"
|
||||
placeholder="请选择任务完成时间">
|
||||
</el-date-picker>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="120px">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="80px">
|
||||
<el-form-item label="关联委托单" prop="commissionId">
|
||||
<el-select v-model="queryParams.commissionId" placeholder="请选择关联委托单">
|
||||
<el-option v-for="item in commissionList" :key="item.commissionId" :label="item.commissionNo" :value="item.commissionId" />
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="80px">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="60px">
|
||||
<el-form-item label="缺陷名称" prop="defectName">
|
||||
<el-input
|
||||
v-model="queryParams.defectName"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="60px">
|
||||
<el-form-item label="任务名称" prop="taskName">
|
||||
<el-input
|
||||
v-model="queryParams.taskName"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="80px">
|
||||
<el-form-item label="检查项名称" prop="itemName">
|
||||
<el-input
|
||||
v-model="queryParams.itemName"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="60px">
|
||||
<el-form-item label="任务名称" prop="taskName">
|
||||
<el-input
|
||||
v-model="queryParams.taskName"
|
||||
|
||||
@@ -78,6 +78,15 @@
|
||||
v-hasPermi="['system:dict:export']"
|
||||
>导出</el-button>
|
||||
</el-col>
|
||||
<!-- <el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-copy"
|
||||
size="mini"
|
||||
@click="handleCopy"
|
||||
>复制</el-button>
|
||||
</el-col> -->
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
@@ -396,7 +405,17 @@ export default {
|
||||
this.download('system/dict/data/export', {
|
||||
...this.queryParams
|
||||
}, `data_${new Date().getTime()}.xlsx`)
|
||||
}
|
||||
},
|
||||
/** 复制按钮操作 */
|
||||
// handleCopy() {
|
||||
// // 复制字典进入系统剪切板,数据结构:{dictName: '', dictType: '', data: [
|
||||
// //
|
||||
// // ], status: '0', remark: ''}
|
||||
// this.reset();
|
||||
// this.open = true;
|
||||
// this.title = "复制字典数据";
|
||||
// this.form.dictType = this.queryParams.dictType;
|
||||
// }
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<div>
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="合同编号" prop="contractNo">
|
||||
<el-input v-model="queryParams.contractNo" placeholder="请输入合同编号" clearable @keyup.enter.native="handleQuery" />
|
||||
|
||||
@@ -40,17 +40,6 @@
|
||||
value-format="yyyy-MM-dd"
|
||||
placeholder="请选择计划到货时间">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="项目" prop="projectId">
|
||||
<!-- <el-select v-model="queryParams.projectId" placeholder="请选择项目" filterable>
|
||||
<el-option
|
||||
v-for="item in allProject"
|
||||
:key="item.projectId"
|
||||
:label="item.projectName"
|
||||
:value="item.projectId"
|
||||
></el-option>
|
||||
</el-select>-->
|
||||
|
||||
</el-form-item>
|
||||
<el-form-item label="物流公司" prop="expressType">
|
||||
<el-select v-model="queryParams.expressType" placeholder="请选择物流公司标识" clearable>
|
||||
@@ -152,7 +141,7 @@
|
||||
</el-table-column>
|
||||
<el-table-column label="对方姓名" align="center" prop="supplyName"/>
|
||||
<el-table-column label="负责人" align="center" prop="ownerName"/>
|
||||
<el-table-column label="负责人手机" align="center" prop="ownerPhone"/>
|
||||
<el-table-column label="负责人手机" align="center" prop="ownerPhone" width="120" />
|
||||
<el-table-column label="计划到货时间" align="center" prop="planDate" width="180">
|
||||
<template slot-scope="scope">
|
||||
<span>{{parseTime(scope.row.planDate,'{y}-{m}-{d}')}}</span>
|
||||
@@ -163,7 +152,7 @@
|
||||
<span>{{scope.row.updateTime}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="物流公司标识" align="center" prop="expressType">
|
||||
<el-table-column label="物流公司" align="center" prop="expressType">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.oa_express_type" :value="scope.row.expressType"/>
|
||||
</template>
|
||||
|
||||
@@ -15,6 +15,11 @@
|
||||
placeholder="请选择实际库存变动时间">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="批次号" prop="batchNo">
|
||||
<el-input v-model="queryParams.batchNo" placeholder="请输入批次号" />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
@@ -51,11 +56,12 @@
|
||||
<el-table-column label="变动数量" align="center" prop="changeQty" />
|
||||
<el-table-column label="变动后的库存数量" align="center" prop="afterQty" />
|
||||
<el-table-column label="变动类型" align="center" prop="changeType" />
|
||||
<el-table-column label="实际库存变动时间" align="center" prop="changeTime" width="180">
|
||||
<el-table-column label="库存数量变动时间" align="center" prop="changeTime" width="180">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.changeTime, '{y}-{m}-{d}') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="批次号" align="center" prop="batchNo" />
|
||||
<el-table-column label="备注" align="center" prop="remark" />
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
@@ -101,6 +107,9 @@
|
||||
placeholder="请选择实际库存变动时间" disabled>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="批次号" prop="batchNo">
|
||||
<el-input v-model="form.batchNo" placeholder="请输入批次号" disabled/>
|
||||
</el-form-item>
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<el-input v-model="form.remark" placeholder="请输入备注" />
|
||||
</el-form-item>
|
||||
@@ -168,6 +177,7 @@ export default {
|
||||
afterQty: undefined,
|
||||
changeType: undefined,
|
||||
changeTime: undefined,
|
||||
batchNo: undefined,
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
|
||||
@@ -107,10 +107,10 @@ export default {
|
||||
|
||||
<style scoped>
|
||||
.chart-container {
|
||||
background-color: #ffffff;
|
||||
/* background-color: #ffffff; */
|
||||
border-radius: 8px;
|
||||
padding: 20px;
|
||||
box-shadow: 0 2px 12px 0 rgba(0,0,0,0.1);
|
||||
/* box-shadow: 0 2px 12px 0 rgba(0,0,0,0.1); */
|
||||
height: 100%;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
@@ -113,7 +113,6 @@ export default {
|
||||
}
|
||||
.el-card {
|
||||
border-radius: 16px;
|
||||
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
|
||||
padding: 16px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
@@ -108,9 +108,9 @@ export default {
|
||||
align-items: center;
|
||||
padding: 24px 30px;
|
||||
border-radius: 16px;
|
||||
box-shadow: 0 6px 20px rgba(31, 47, 70, 0.08);
|
||||
/* box-shadow: 0 6px 20px rgba(31, 47, 70, 0.08); */
|
||||
cursor: default;
|
||||
background: #fff;
|
||||
/* background: #fff; */
|
||||
user-select: none;
|
||||
transition: box-shadow 0.3s ease;
|
||||
min-width: 0; /* 防止子元素过大撑破flex */
|
||||
@@ -172,7 +172,7 @@ export default {
|
||||
width: 56px;
|
||||
height: 56px;
|
||||
border-radius: 50%;
|
||||
background-color: rgba(0, 0, 0, 0.05);
|
||||
/* background-color: rgba(0, 0, 0, 0.05); */
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
|
||||
@@ -328,9 +328,7 @@ export default {
|
||||
.stat-item {
|
||||
text-align: center;
|
||||
padding: 15px;
|
||||
background: #222;
|
||||
border-radius: 8px;
|
||||
border: 1px solid #111;
|
||||
}
|
||||
|
||||
.stat-number {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="80px">
|
||||
<el-form-item label="半成品编号" prop="productCode">
|
||||
<el-input
|
||||
v-model="queryParams.productCode"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<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="50px">
|
||||
<el-form-item label="产品" prop="productId">
|
||||
<ProductSelect v-model="queryParams.productId" placeholder="请选择产品" />
|
||||
</el-form-item>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="120px">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="60px">
|
||||
<el-form-item label="原材料" prop="rawMaterialId">
|
||||
<RawMaterialSelect v-model="queryParams.rawMaterialId" placeholder="请选择原材料" can-add />
|
||||
</el-form-item>
|
||||
@@ -11,7 +11,7 @@
|
||||
<!-- <el-form-item label="供应商" prop="supplierId">
|
||||
<VendorSelect v-model="queryParams.supplierId" />
|
||||
</el-form-item> -->
|
||||
<el-form-item label="关联订单ID" prop="orderId">
|
||||
<el-form-item label="关联订单" prop="orderId">
|
||||
<el-input v-model="queryParams.orderId" placeholder="请输入关联订单ID" clearable @keyup.enter.native="handleQuery" />
|
||||
</el-form-item>
|
||||
|
||||
@@ -72,6 +72,7 @@
|
||||
<el-table-column label="状态" align="center" prop="status">
|
||||
<template slot-scope="scope">
|
||||
<el-select v-model="scope.row.status"
|
||||
size="large"
|
||||
@change="handleStatusChange(scope.row, scope.row.status, scope.row.status)">
|
||||
<el-option v-for="item in dict.type.pruchase_detail_status" :key="item.value" :label="item.label"
|
||||
:value="parseInt(item.value)">
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="80px">
|
||||
<el-form-item label="原材料编号" prop="rawMaterialCode">
|
||||
<el-input
|
||||
v-model="queryParams.rawMaterialCode"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="120px">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="60px">
|
||||
<!-- <el-form-item label="关联汇报概述ID" prop="summaryId">
|
||||
<el-input
|
||||
v-model="queryParams.summaryId"
|
||||
@@ -27,22 +27,6 @@
|
||||
style="width: 100%"
|
||||
/>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="货物说明" prop="deviceDescription">
|
||||
<el-input
|
||||
v-model="queryParams.deviceDescription"
|
||||
placeholder="请输入货物说明"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item> -->
|
||||
<el-form-item label="收发货详情" prop="reportDetail">
|
||||
<el-input
|
||||
v-model="queryParams.reportDetail"
|
||||
placeholder="请输入收发货详情"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="80px">
|
||||
<el-form-item label="收发货标题" prop="reportTitle">
|
||||
<el-input
|
||||
v-model="queryParams.reportTitle"
|
||||
@@ -96,7 +96,7 @@
|
||||
/>
|
||||
|
||||
<!-- 添加或修改涉及项目汇报概述对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="50%" append-to-body>
|
||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
|
||||
<el-form-item label="收发货标题" prop="reportTitle">
|
||||
<el-input v-model="form.reportTitle" placeholder="请输入收发货标题" />
|
||||
|
||||
@@ -61,7 +61,6 @@
|
||||
<script>
|
||||
import { listStock } from "@/api/wms/stock";
|
||||
import { listWarehouse } from "@/api/wms/warehouse";
|
||||
import 'element-ui/lib/theme-chalk/index.css';
|
||||
import ReaTree from './panels/reattree.vue';
|
||||
import MaterialBar from './panels/bar.vue';
|
||||
import TrendChart from './panels/trendChart.vue';
|
||||
|
||||
@@ -19,13 +19,12 @@
|
||||
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
|
||||
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport">导出</el-button>
|
||||
<!-- 合并批次<el-switch v-model="queryParams.mergeBatch" :active-value="1" :inactive-value="0" @change="handleQuery" /> -->
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
|
||||
|
||||
|
||||
<KLPTable v-loading="loading" :data="stockList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="仓库" align="center" prop="warehouseName" />
|
||||
@@ -58,6 +57,11 @@
|
||||
<el-table-column label="单位" align="center" prop="unit" />
|
||||
<el-table-column label="批次号" align="center" prop="batchNo" />
|
||||
<el-table-column label="备注" align="center" prop="remark" />
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="text" size="small" @click="handleTrace(scope.row)">物料追溯</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</KLPTable>
|
||||
|
||||
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
|
||||
@@ -104,17 +108,31 @@
|
||||
<el-dialog :visible.sync="stockBoxVisible" title="暂存单据" width="800px" append-to-body>
|
||||
<stock-io :data="stockBoxData" @generateBill="handleGenerateBill" />
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog :visible.sync="stockTraceVisible" title="物料追溯" width="800px" append-to-body>
|
||||
<el-table :data="stockTraceList" style="width: 100%">
|
||||
<el-table-column label="单据类型" align="center" prop="ioType">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.stock_io_type" :value="scope.row.ioType" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="单据ID" align="center" prop="stockIoId" />
|
||||
<el-table-column label="单据编号" align="center" prop="stockIoCode" />
|
||||
<!-- <el-table-column label="创建时间" align="center" prop="createTime" /> -->
|
||||
<el-table-column label="变更数量" align="center" prop="quantity" />
|
||||
<el-table-column label="备注" align="center" prop="remark" />
|
||||
</el-table>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listStock, delStock, addStock, updateStock } from "@/api/wms/stock";
|
||||
import { listStock, delStock, addStock, updateStock, getStockTrace } from "@/api/wms/stock";
|
||||
import { addStockIoWithDetail } from "@/api/wms/stockIo";
|
||||
import RawMaterialSelect from "@/components/KLPService/RawMaterialSelect";
|
||||
import ProductSelect from "@/components/KLPService/ProductSelect";
|
||||
import WarehouseSelect from "@/components/WarehouseSelect";
|
||||
import StockBox from './box';
|
||||
import RawMaterialInfo from "@/components/KLPService/Renderer/RawMaterialInfo";
|
||||
import ProductInfo from "@/components/KLPService/Renderer/ProductInfo";
|
||||
import BomInfoMini from "@/components/KLPService/Renderer/BomInfoMini";
|
||||
@@ -124,12 +142,11 @@ import MaterialSelect from "@/components/KLPService/MaterialSelect";
|
||||
|
||||
export default {
|
||||
name: "Stock",
|
||||
dicts: ['stock_item_type'],
|
||||
dicts: ['stock_item_type', 'stock_io_type'],
|
||||
components: {
|
||||
WarehouseSelect,
|
||||
RawMaterialSelect,
|
||||
ProductSelect,
|
||||
StockBox,
|
||||
RawMaterialInfo,
|
||||
ProductInfo,
|
||||
BomInfoMini,
|
||||
@@ -171,6 +188,7 @@ export default {
|
||||
quantity: undefined,
|
||||
unit: undefined,
|
||||
batchNo: undefined,
|
||||
mergeBatch: false,
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
@@ -199,7 +217,9 @@ export default {
|
||||
stockBoxData: [],
|
||||
stockBoxVisible: false,
|
||||
// 选中的数据
|
||||
selectedRows: []
|
||||
selectedRows: [],
|
||||
stockTraceList: [],
|
||||
stockTraceVisible: false,
|
||||
};
|
||||
},
|
||||
created() {
|
||||
@@ -328,6 +348,13 @@ export default {
|
||||
// 查看暂存单据
|
||||
console.log(this.stockBoxData);
|
||||
this.stockBoxVisible = true;
|
||||
},
|
||||
handleTrace(row) {
|
||||
// 查询对应批次号的的出库和入库单据明细并展示
|
||||
getStockTrace(row.batchNo).then(response => {
|
||||
this.stockTraceList = response.data;
|
||||
this.stockTraceVisible = true;
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
2
klp-ui/src/views/wms/vendor/index.vue
vendored
2
klp-ui/src/views/wms/vendor/index.vue
vendored
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="80px">
|
||||
<el-form-item label="供应商名称" prop="name">
|
||||
<el-input
|
||||
v-model="queryParams.name"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="120px">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="80px">
|
||||
<el-form-item label="摄像头编号" prop="cameraCode">
|
||||
<el-input
|
||||
v-model="queryParams.cameraCode"
|
||||
@@ -106,15 +106,15 @@
|
||||
/>
|
||||
|
||||
<!-- 添加或修改摄像头管理对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="200px">
|
||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||
<el-form-item label="摄像头编号" prop="cameraCode">
|
||||
<el-input v-model="form.cameraCode" placeholder="请输入摄像头编号" />
|
||||
</el-form-item>
|
||||
<el-form-item label="摄像头名称" prop="cameraName">
|
||||
<el-input v-model="form.cameraName" placeholder="请输入摄像头名称" />
|
||||
</el-form-item>
|
||||
<el-form-item label="RTSP 推流地址" prop="rtspUrl">
|
||||
<el-form-item label="RTSP" prop="rtspUrl">
|
||||
<el-input v-model="form.rtspUrl" placeholder="请输入RTSP 推流地址" />
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="ws - fmp4 播放地址" prop="wsFmp4">
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="60px">
|
||||
<el-form-item label="仓库编码" prop="warehouseCode">
|
||||
<el-input
|
||||
v-model="queryParams.warehouseCode"
|
||||
|
||||
Reference in New Issue
Block a user