diff --git a/klp-ui/src/api/wms/generateRecord.js b/klp-ui/src/api/wms/generateRecord.js
new file mode 100644
index 00000000..8faa544c
--- /dev/null
+++ b/klp-ui/src/api/wms/generateRecord.js
@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询二维码生成记录列表
+export function listGenerateRecord(query) {
+ return request({
+ url: '/klp/generateRecord/list',
+ method: 'get',
+ params: query
+ })
+}
+
+// 查询二维码生成记录详细
+export function getGenerateRecord(recordId) {
+ return request({
+ url: '/klp/generateRecord/' + recordId,
+ method: 'get'
+ })
+}
+
+// 新增二维码生成记录
+export function addGenerateRecord(data) {
+ return request({
+ url: '/klp/generateRecord',
+ method: 'post',
+ data: data
+ })
+}
+
+// 修改二维码生成记录
+export function updateGenerateRecord(data) {
+ return request({
+ url: '/klp/generateRecord',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除二维码生成记录
+export function delGenerateRecord(recordId) {
+ return request({
+ url: '/klp/generateRecord/' + recordId,
+ method: 'delete'
+ })
+}
diff --git a/klp-ui/src/assets/styles/element-ui.scss b/klp-ui/src/assets/styles/element-ui.scss
index 7885fcec..c5ce8887 100644
--- a/klp-ui/src/assets/styles/element-ui.scss
+++ b/klp-ui/src/assets/styles/element-ui.scss
@@ -275,20 +275,25 @@ body {
}
.el-button--medium {
- padding: 4px 8px;
+ padding: 4px 8px !important;
font-size: 12px;
height: $--btn-height - 4px;
}
// 迷你按钮(超紧凑)
.el-button--mini {
- padding: 4px 8px;
+ padding: 4px 8px !important;
font-size: 12px;
height: $--btn-height - 4px;
+ &.is-circle {
+ padding: 4px !important;
+ }
}
-.el-button--mini.is-circle {
- padding: 4px !important;
+.el-button--small {
+ padding: 4px 8px !important;
+ font-size: 12px;
+ height: $--btn-height - 4px;
}
@@ -385,6 +390,10 @@ body {
}
}
+ &__empty-block {
+ background: #1e2227;
+ }
+
// 适配尺寸类(统一紧凑)
&.el-table--medium .el-table__cell,
&.el-table--mini .el-table__cell {
@@ -1638,12 +1647,12 @@ div.pagination-container {
// ---------------------- 3.8 自定义工具类 ----------------------
// 固定按钮宽度
-.fixed-width {
- .el-button--mini {
- padding: 7px 10px;
- width: 60px;
- }
-}
+// .fixed-width {
+// .el-button--mini {
+// padding: 7px 10px;
+// width: 60px;
+// }
+// }
// 居中单元格(深色表头)
.is-center.is-leaf.el-table__cell {
diff --git a/klp-ui/src/assets/styles/sidebar.scss b/klp-ui/src/assets/styles/sidebar.scss
index fe9caed7..c08bd169 100644
--- a/klp-ui/src/assets/styles/sidebar.scss
+++ b/klp-ui/src/assets/styles/sidebar.scss
@@ -213,7 +213,7 @@
min-width: $base-sidebar-width !important;
}
- .el-submenu .el-menu{
+ .el-submenu .el-menu {
padding-left: 10px;
}
diff --git a/klp-ui/src/components/WarehouseSelect/index.vue b/klp-ui/src/components/WarehouseSelect/index.vue
index 05083c19..3bfe376b 100644
--- a/klp-ui/src/components/WarehouseSelect/index.vue
+++ b/klp-ui/src/components/WarehouseSelect/index.vue
@@ -38,7 +38,8 @@ export default {
data() {
return {
warehouseOptions: [],
- innerValue: this.value
+ innerValue: this.value,
+ list: []
};
},
watch: {
@@ -52,6 +53,7 @@ export default {
methods: {
loadOptions() {
listWarehouse().then(response => {
+ this.list = response.data;
const options = [];
if (this.showTop) {
const top = { warehouseId: 0, warehouseName: '顶级节点', children: [] };
@@ -88,6 +90,9 @@ export default {
this.innerValue = null;
} else {
this.$emit('input', val);
+ // 查找完整的仓库对象
+ const warehouse = this.list.find(item => item.warehouseId === val);
+ this.$emit('change', warehouse);
}
}
}
diff --git a/klp-ui/src/views/wms/print/components/QRCode.vue b/klp-ui/src/views/wms/print/components/QRCode.vue
new file mode 100644
index 00000000..586fe982
--- /dev/null
+++ b/klp-ui/src/views/wms/print/components/QRCode.vue
@@ -0,0 +1,40 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/klp-ui/src/views/wms/print/index.vue b/klp-ui/src/views/wms/print/index.vue
index 487aa944..591ff11b 100644
--- a/klp-ui/src/views/wms/print/index.vue
+++ b/klp-ui/src/views/wms/print/index.vue
@@ -435,7 +435,6 @@ $card-hover-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
// 页面整体容器 - 优化高度计算、增加内边距
.print-page-container {
padding: 16px 20px; // Slightly reduced padding
- background-color: $gray-light;
height: calc(100vh - 100px);
box-sizing: border-box;
overflow: hidden;
@@ -513,19 +512,7 @@ $card-hover-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
display: block;
}
- ::-webkit-scrollbar-thumb {
- background: #d1d5db;
- display: block;
- border-radius: 3px;
- transition: background 0.3s ease;
-
- &:hover {
- background: #9ca3af;
- }
- }
-
::-webkit-scrollbar-track {
- background: #f9fafb;
display: block;
border-radius: 3px;
}
@@ -534,25 +521,10 @@ $card-hover-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
// 配置卡片 - 优化阴影和间距
.config-card {
- border: 1px solid $gray-mid;
border-radius: 8px;
transition: all 0.3s ease;
- background-color: #fff;
overflow: hidden;
-
- &:hover {
- border-color: $primary-color;
- box-shadow: $card-hover-shadow;
- }
-
- &.invalid-card {
- border-color: rgba($danger-color, 0.3);
- background-color: rgba($danger-color, 0.02);
-
- &:hover {
- border-color: $danger-color;
- }
- }
+ border: 1px solid $gray-mid;
}
// 配置卡片头部 - 优化布局和样式
@@ -561,8 +533,6 @@ $card-hover-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
justify-content: space-between;
align-items: center;
padding: 10px 12px; // Reduced padding
- border-bottom: 1px solid $gray-mid;
- background-color: #f9fafb;
.card-title-wrap {
display: flex;
diff --git a/klp-ui/src/views/wms/print/pages/code/index.vue b/klp-ui/src/views/wms/print/pages/code/index.vue
new file mode 100644
index 00000000..11b8df56
--- /dev/null
+++ b/klp-ui/src/views/wms/print/pages/code/index.vue
@@ -0,0 +1,312 @@
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+ 新增
+
+
+ 修改
+
+
+ 删除
+
+
+ 导出
+
+
+
+
+ 二维码预览:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 修改
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 启用
+ 禁用
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/klp-ui/src/views/wms/print/pages/gen/index.vue b/klp-ui/src/views/wms/print/pages/gen/index.vue
new file mode 100644
index 00000000..1f7e114e
--- /dev/null
+++ b/klp-ui/src/views/wms/print/pages/gen/index.vue
@@ -0,0 +1,737 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
暂无二维码配置
+
点击"添加二维码"按钮,开始创建打印配置
+
+ 立即添加
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {
+ const prefix = value == 'in' ? '入库' : value == 'out' ? '出库' : value == 'transfer' ? '移库' : ''
+ cfg.text = prefix + '二维码' + new Date().getTime()
+ }"
+ >
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ onTargetWarehouseChange(cfg, idx, warehouse)" />
+
+
+
+
+ onFromWarehouseChange(cfg, idx, warehouse)" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 请完善必填字段配置(标红项为未完成)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
所有二维码配置均不完整
+
请完善左侧标红的必填字段后,再查看预览
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file