From 65359c9e76e2e28590ec5626e41c797a26484f94 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A0=82=E7=B3=96?= <2178503051@qq.com> Date: Mon, 18 May 2026 10:49:33 +0800 Subject: [PATCH] =?UTF-8?q?feat(acid):=20=E6=B7=BB=E5=8A=A0=E8=A7=84?= =?UTF-8?q?=E7=A8=8B=E7=AE=A1=E7=90=86=E9=A1=B5=E9=9D=A2=E5=92=8C=E8=8F=9C?= =?UTF-8?q?=E5=8D=95=E5=85=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. 新增酸轧页面的规程菜单入口及对应组件 2. 完善wms规程页面的代码格式与交互细节 3. 修复部分空catch语句的格式问题 --- .../pages/acid/components/ProcessSpec.vue | 600 ++++++++++++++++++ klp-ui/src/views/micro/pages/acid/index.vue | 9 +- klp-ui/src/views/wms/processSpec/index.vue | 143 +++-- 3 files changed, 695 insertions(+), 57 deletions(-) create mode 100644 klp-ui/src/views/micro/pages/acid/components/ProcessSpec.vue diff --git a/klp-ui/src/views/micro/pages/acid/components/ProcessSpec.vue b/klp-ui/src/views/micro/pages/acid/components/ProcessSpec.vue new file mode 100644 index 00000000..89316d0b --- /dev/null +++ b/klp-ui/src/views/micro/pages/acid/components/ProcessSpec.vue @@ -0,0 +1,600 @@ + + + + + diff --git a/klp-ui/src/views/micro/pages/acid/index.vue b/klp-ui/src/views/micro/pages/acid/index.vue index 36a67e5e..0675fa83 100644 --- a/klp-ui/src/views/micro/pages/acid/index.vue +++ b/klp-ui/src/views/micro/pages/acid/index.vue @@ -26,6 +26,10 @@ 品质 + + + 规程 + 计划 @@ -75,6 +79,7 @@ import RollHistory from '@/views/timing/roll/history.vue'; import Stoppage from '@/views/timing/stoppage/index.vue'; import AcidTiming from '@/views/lines/acid/index.vue'; import TrackingView from './components/TrackingView.vue'; +import ProcessSpec from './components/ProcessSpec.vue'; export default { name: 'AcidSystem', @@ -90,7 +95,8 @@ export default { RollHistory, Stoppage, AcidTiming, - TrackingView + TrackingView, + ProcessSpec }, data() { return { @@ -112,6 +118,7 @@ export default { stoppage: 'Stoppage', acidTiming: 'AcidTiming', tracking: 'TrackingView', + processSpec: 'ProcessSpec', }; return componentMap[this.activeMenu]; }, diff --git a/klp-ui/src/views/wms/processSpec/index.vue b/klp-ui/src/views/wms/processSpec/index.vue index 14206266..db4a4c22 100644 --- a/klp-ui/src/views/wms/processSpec/index.vue +++ b/klp-ui/src/views/wms/processSpec/index.vue @@ -6,31 +6,18 @@
规程类型 - +
产 线 - +
- 新建规程 + 新建规程 @@ -43,15 +30,8 @@ 共 {{ total }} 条 - + @@ -64,8 +44,8 @@ - + @@ -84,12 +64,7 @@
-
+
{{ v.versionCode }}
@@ -106,11 +81,7 @@
- + 编辑 删除 方案 → @@ -130,6 +101,14 @@ + + + + + + @@ -183,9 +162,9 @@ import { } from '@/api/wms/processSpecVersion' const STATUS_OPTIONS = [ - { value: 'DRAFT', label: '草稿' }, + { value: 'DRAFT', label: '草稿' }, { value: 'PUBLISHED', label: '已发布' }, - { value: 'OBSOLETE', label: '已作废' } + { value: 'OBSOLETE', label: '已作废' } ] export default { @@ -280,7 +259,7 @@ export default { }).then(() => { this.$modal.msgSuccess('已生效') this.loadVersions() - }).catch(() => {}) + }).catch(() => { }) }, openSpecDialog(row) { @@ -310,7 +289,7 @@ export default { this.currentSpec = null; this.currentSpecId = null; this.versionList = [] } this.loadSpecs() - }).catch(() => {}) + }).catch(() => { }) }, openVersionDialog(row) { @@ -341,7 +320,7 @@ export default { }).then(() => { this.$modal.msgSuccess('删除成功') this.loadVersions() - }).catch(() => {}) + }).catch(() => { }) } } } @@ -369,18 +348,21 @@ export default { border-radius: 6px; flex-shrink: 0; } + .filter-rows { display: flex; flex-direction: column; gap: 8px; flex: 1; } + .filter-row { display: flex; align-items: center; gap: 8px; min-height: 28px; } + .filter-label { font-size: 13px; color: #606266; @@ -391,23 +373,29 @@ export default { display: flex; justify-content: space-between; } + .filter-label-type::after { content: ''; } + .filter-label-line { padding: 0 2px; } + .filter-select { flex: 1; max-width: 600px; } + .filter-select ::v-deep .el-radio-group .el-radio-button { margin-right: 2px; } + .filter-select ::v-deep .el-radio-group .el-radio-button__inner { padding: 5px 10px; font-size: 12px; } + .new-spec-btn { flex-shrink: 0; margin-top: 4px; @@ -432,13 +420,16 @@ export default { display: flex; flex-direction: column; } + .spec-section { flex-shrink: 0; } + .version-section { flex: 1; min-height: 200px; } + .empty-section { display: flex; align-items: center; @@ -453,16 +444,19 @@ export default { border-bottom: 1px solid #f0f2f5; background: #fafafa; } + .section-title-wrap { display: flex; align-items: center; gap: 10px; } + .section-title { font-size: 14px; font-weight: 600; color: #303133; } + .total-badge { font-size: 12px; color: #909399; @@ -470,6 +464,7 @@ export default { padding: 2px 8px; border-radius: 10px; } + .spec-code-tag { font-size: 12px; color: #909399; @@ -482,13 +477,15 @@ export default { .spec-table { flex: 1; } + .spec-pagination { padding: 8px 16px; border-top: 1px solid #f0f2f5; } /* ── 空状态 ── */ -.detail-empty, .empty-versions { +.detail-empty, +.empty-versions { display: flex; flex-direction: column; align-items: center; @@ -506,6 +503,7 @@ export default { gap: 12px; overflow-y: auto; } + .version-card { display: flex; flex-direction: column; @@ -517,32 +515,42 @@ export default { background: #fff; gap: 8px; } + .version-card:hover { border-color: #5F7BA0; - box-shadow: 0 4px 12px rgba(95,123,160,0.15); + box-shadow: 0 4px 12px rgba(95, 123, 160, 0.15); transform: translateY(-1px); } + .vc-header { display: flex; align-items: center; justify-content: space-between; } + .vc-code { font-size: 15px; font-weight: 600; color: #303133; } + .vc-tags { display: flex; align-items: center; gap: 6px; } -.vc-status, .vc-active { border-radius: 10px !important; } + +.vc-status, +.vc-active { + border-radius: 10px !important; +} + .vc-meta { font-size: 12px; color: #909399; line-height: 1.5; } + .vc-actions { display: flex; align-items: center; @@ -551,11 +559,20 @@ export default { border-top: 1px solid #f0f2f5; margin-top: 4px; } -.btn-view { color: #5F7BA0 !important; font-weight: 500; } + +.btn-view { + color: #5F7BA0 !important; + font-weight: 500; +} /* ── 表格行高亮 ── */ -::v-deep .el-table .current-row { background: #f0f7ff !important; } -::v-deep .el-table .current-row td { background: #f0f7ff !important; } +::v-deep .el-table .current-row { + background: #f0f7ff !important; +} + +::v-deep .el-table .current-row td { + background: #f0f7ff !important; +} /* ── 按钮主色覆盖 ── */ ::v-deep .el-button--primary { @@ -563,13 +580,27 @@ export default { background: #5F7BA0 !important; border-color: #5F7BA0 !important; } + ::v-deep .el-button--primary:hover, ::v-deep .el-button--primary:focus { background: #4d6a8e !important; border-color: #4d6a8e !important; } -::v-deep .el-button--primary.is-disabled { opacity: .5; } -::v-deep .el-button--text { background: transparent !important; border-color: transparent !important; } -::v-deep .el-button--text.btn-danger { color: #f56c6c !important; } -.btn-danger { color: #f56c6c; } + +::v-deep .el-button--primary.is-disabled { + opacity: .5; +} + +::v-deep .el-button--text { + background: transparent !important; + border-color: transparent !important; +} + +::v-deep .el-button--text.btn-danger { + color: #f56c6c !important; +} + +.btn-danger { + color: #f56c6c; +}