From 4334e4d5f680b4375d7af4ba9e4d8c8baef7266b Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期一, 14 九月 2026 11:02:29 +0800
Subject: [PATCH] feat(production): 添加工序颜色配置和显示功能
---
src/views/productionManagement/productionProcess/index.vue | 47 ++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 44 insertions(+), 3 deletions(-)
diff --git a/src/views/productionManagement/productionProcess/index.vue b/src/views/productionManagement/productionProcess/index.vue
index ee49657..baa7264 100644
--- a/src/views/productionManagement/productionProcess/index.vue
+++ b/src/views/productionManagement/productionProcess/index.vue
@@ -21,7 +21,12 @@
:class="{ active: selectedProcess?.id === process.id }"
@click="selectProcess(process)">
<div class="card-header">
- <div class="process-name">{{ process.name }} <span class="process-code">{{ process.no }}</span></div>
+ <div class="process-name">
+ <span v-if="process.color"
+ class="process-color-dot"
+ :style="{ backgroundColor: process.color }"></span>
+ {{ process.name }} <span class="process-code">{{ process.no }}</span>
+ </div>
<div class="card-actions">
<el-button link
type="primary"
@@ -138,6 +143,12 @@
<el-radio :label="0">璁℃椂</el-radio>
<el-radio :label="1">璁′欢</el-radio>
</el-radio-group>
+ </el-form-item>
+ <el-form-item label="宸ュ簭棰滆壊"
+ prop="color">
+ <el-color-picker v-model="processForm.color"
+ :predefine="predefineColors" />
+ <span class="color-tip">鐢ㄤ簬鐢熶骇妯″潡宸ュ簭鏍囪瘑棰滆壊娓叉煋</span>
</el-form-item>
<el-form-item label="鍏宠仈璁惧"
prop="deviceLedgerId">
@@ -347,7 +358,18 @@
remark: "",
deviceLedgerId: null,
type: 0,
+ color: "",
});
+ const predefineColors = [
+ "#409eff",
+ "#67c23a",
+ "#e6a23c",
+ "#f56c6c",
+ "#909399",
+ "#9254de",
+ "#13c2c2",
+ "#fa8c16",
+ ];
const processRules = {
no: [{ required: true, message: "璇疯緭鍏ュ伐搴忕紪鐮�", trigger: "blur" }],
name: [{ required: true, message: "璇疯緭鍏ュ伐搴忓悕绉�", trigger: "blur" }],
@@ -558,6 +580,7 @@
processForm.remark = "";
processForm.deviceLedgerId = null;
processForm.type = 0;
+ processForm.color = "";
processDialogVisible.value = true;
};
@@ -575,6 +598,7 @@
const hasDevice = deviceOptions.value.some(item => item.id === deviceId);
processForm.deviceLedgerId = deviceId && hasDevice ? deviceId : null;
processForm.type = process.type;
+ processForm.color = process.color || "";
processDialogVisible.value = true;
};
@@ -603,8 +627,10 @@
const handleProcessSubmit = () => {
processFormRef.value.validate(valid => {
if (valid) {
+ // 棰滆壊娓呯┖鍚庝负 null锛屽悗绔� updateById 浼氬拷鐣� null 瀛楁锛岀粺涓�杞负绌轰覆鎻愪氦
+ const submitData = { ...processForm, color: processForm.color || "" };
if (processForm.id) {
- update(processForm)
+ update(submitData)
.then(() => {
ElMessage.success("缂栬緫鎴愬姛");
processDialogVisible.value = false;
@@ -614,7 +640,7 @@
ElMessage.error("缂栬緫澶辫触");
});
} else {
- add(processForm)
+ add(submitData)
.then(() => {
ElMessage.success("鏂板鎴愬姛");
processDialogVisible.value = false;
@@ -877,6 +903,15 @@
font-family: "Courier New", monospace;
}
+ .process-color-dot {
+ display: inline-block;
+ width: 10px;
+ height: 10px;
+ border-radius: 50%;
+ margin-right: 6px;
+ vertical-align: middle;
+ }
+
.card-actions {
display: flex;
gap: 4px;
@@ -990,6 +1025,12 @@
justify-content: center;
}
+ .color-tip {
+ margin-left: 10px;
+ font-size: 12px;
+ color: #909399;
+ }
+
// 琛ㄦ牸鏍峰紡
:deep(.el-table) {
border: none;
--
Gitblit v1.9.3