From e545f964005b0c80b29a4417ca8275570778ac75 Mon Sep 17 00:00:00 2001
From: zhangwencui <1064582902@qq.com>
Date: 星期六, 14 三月 2026 13:29:44 +0800
Subject: [PATCH] 工艺路线加上产品和bom 样式优化
---
src/views/basicData/parameterMaintenance/index.vue | 486 ++++++++++++++++++++++++------------------------------
1 files changed, 216 insertions(+), 270 deletions(-)
diff --git a/src/views/basicData/parameterMaintenance/index.vue b/src/views/basicData/parameterMaintenance/index.vue
index 5d7a30c..367f587 100644
--- a/src/views/basicData/parameterMaintenance/index.vue
+++ b/src/views/basicData/parameterMaintenance/index.vue
@@ -3,14 +3,14 @@
<div class="search_form">
<div>
<span class="search_title ml10">鍙傛暟鍚嶇О锛�</span>
- <el-input v-model="searchForm.materialCode"
+ <el-input v-model="searchForm.paramName"
style="width: 200px"
placeholder="璇疯緭鍏ュ弬鏁板悕绉�"
clearable />
<!-- 鍏宠仈浜у搧绫诲瀷鎼滅储 -->
<!-- <span class="search_title ml10">鍏宠仈浜у搧绫诲瀷锛�</span>
<el-input v-model="searchForm.productName"
- style="width: 200px"
+ style="width: 200px"d
placeholder="璇疯緭鍏ュ叧鑱斾骇鍝佺被鍨�"
clearable /> -->
<el-button type="primary"
@@ -27,13 +27,14 @@
</div>
</div>
<div class="table_list">
- <PIMTable rowKey="materialCode"
+ <PIMTable rowKey="paramName"
:column="tableColumn"
:tableData="tableData"
:page="page"
- height="calc(100vh - 320px)"
+ height="calc(100vh - 280px)"
:tableLoading="tableLoading"
:isSelection="false"
+ :isShowPagination="false"
@pagination="pagination">
</PIMTable>
</div>
@@ -45,102 +46,72 @@
:rules="rules"
ref="formRef"
label-width="120px">
- <el-form-item label="鍙傛暟缂栧彿"
- prop="parameterCode">
- <el-input v-model="formData.parameterCode"
- placeholder="璇疯緭鍏ュ弬鏁扮紪鍙�" />
- </el-form-item>
<el-form-item label="鍙傛暟鍚嶇О"
- prop="parameterName">
- <el-input v-model="formData.parameterName"
+ prop="paramName">
+ <el-input v-model="formData.paramName"
placeholder="璇疯緭鍏ュ弬鏁板悕绉�" />
</el-form-item>
- <el-form-item label="鍙傛暟妯″紡"
- prop="parameterFormat">
- <el-select v-model="formData.parameterType2"
+ <el-form-item label="鍙傛暟绫诲瀷"
+ prop="paramType">
+ <el-select v-model="formData.paramType"
placeholder="璇烽�夋嫨鍙傛暟绫诲瀷">
+ <el-option label="鏁板�兼牸寮�"
+ value="1" />
+ <el-option label="鏂囨湰鏍煎紡"
+ value="2" />
+ <el-option label="涓嬫媺閫夐」"
+ value="3" />
+ <el-option label="鏃堕棿鏍煎紡"
+ value="4" />
+ </el-select>
+ </el-form-item>
+ <el-form-item label="鍙栧�兼ā寮�"
+ prop="valueMode">
+ <el-select v-model="formData.valueMode"
+ @change="handleValueModeChange"
+ placeholder="璇烽�夋嫨鍙栧�兼ā寮�">
<el-option label="鍗曞��"
value="1" />
<el-option label="鍖洪棿"
value="2" />
</el-select>
</el-form-item>
- <el-form-item label="鍙傛暟绫诲瀷"
- prop="parameterType">
- <el-select v-model="formData.parameterType"
- @change="handleParameterTypeChange"
- placeholder="璇烽�夋嫨鍙傛暟绫诲瀷">
- <el-option label="鏁板�兼牸寮�"
- value="鏁板�兼牸寮�" />
- <el-option label="鏂囨湰鏍煎紡"
- value="鏂囨湰鏍煎紡" />
- <el-option label="涓嬫媺閫夐」"
- value="涓嬫媺閫夐」" />
- <el-option label="鏃堕棿鏍煎紡"
- value="鏃堕棿鏍煎紡" />
- </el-select>
- </el-form-item>
- <el-form-item v-if="formData.parameterType === '涓嬫媺閫夐」'"
- label="鏁版嵁瀛楀吀"
- prop="parameterFormat">
- <el-select v-model="formData.parameterFormat"
- placeholder="璇烽�夋嫨鏁版嵁瀛楀吀">
- <el-option v-for="item in dictTypes"
- :key="item.dictType"
- :label="item.dictName"
- :value="item.dictType" />
- </el-select>
- </el-form-item>
- <el-form-item v-else-if="formData.parameterType === '鏃堕棿鏍煎紡'"
- label="鏃堕棿鏍煎紡"
- prop="parameterFormat">
- <el-select v-model="formData.parameterFormat"
- placeholder="璇烽�夋嫨鏃堕棿鏍煎紡">
- <el-option label="YYYY-MM-DD HH:mm:ss"
- value="YYYY-MM-DD HH:mm:ss" />
- <el-option label="YYYY-MM-DD"
- value="YYYY-MM-DD" />
- </el-select>
- </el-form-item>
- <el-form-item v-else
- label="鍙傛暟鏍煎紡"
- prop="parameterFormat">
- <el-input v-model="formData.parameterFormat"
- placeholder="璇疯緭鍏ュ弬鏁版牸寮�" />
- </el-form-item>
- <!-- 鍏宠仈浜у搧绫诲瀷 -->
- <!-- <el-form-item label="鍏宠仈浜у搧绫诲瀷"
- prop="parameterValue">
- <el-select v-model="formData.parameterValue"
- placeholder="璇烽�夋嫨鍏宠仈浜у搧绫诲瀷">
- <el-option v-for="item in productTypes"
- :key="item.value"
- :label="item.label"
- :value="item.value" />
- </el-select>
- </el-form-item> -->
- <el-form-item label="鏍囧噯鍊�"
- v-if="formData.parameterType2 === '1'"
- prop="standardValue">
- <el-input v-model="formData.standardValue"
- placeholder="璇疯緭鍏ユ爣鍑嗗��" />
- </el-form-item>
- <el-form-item label="鏈�澶у��"
- v-if="formData.parameterType2 === '2'"
- prop="standardValue">
- <el-input v-model="formData.standardValue"
- placeholder="璇疯緭鍏ユ爣鍑嗗��" />
- </el-form-item>
- <el-form-item label="鏈�灏忓��"
- v-if="formData.parameterType2 === '2'"
- prop="standardValue">
- <el-input v-model="formData.standardValue"
- placeholder="璇疯緭鍏ユ爣鍑嗗��" />
- </el-form-item>
<el-form-item label="鍗曚綅"
prop="unit">
<el-input v-model="formData.unit"
placeholder="璇疯緭鍏ュ崟浣�" />
+ </el-form-item>
+ <el-form-item label="榛樿鍊�"
+ v-if="formData.valueMode === '1'"
+ prop="defaultValue">
+ <el-input v-model="formData.defaultValue"
+ placeholder="璇疯緭鍏ラ粯璁ゅ��" />
+ </el-form-item>
+ <el-form-item label="鏈�灏忓��"
+ v-if="formData.valueMode === '2'"
+ prop="defaultMin">
+ <el-input v-model="formData.defaultMin"
+ placeholder="璇疯緭鍏ユ渶灏忓��" />
+ </el-form-item>
+ <el-form-item label="鏈�澶у��"
+ v-if="formData.valueMode === '2'"
+ prop="defaultMax">
+ <el-input v-model="formData.defaultMax"
+ placeholder="璇疯緭鍏ユ渶澶у��" />
+ </el-form-item>
+ <el-form-item label="鏄惁蹇呭~"
+ prop="isRequired">
+ <el-radio-group v-model="formData.isRequired">
+ <el-radio label="1">鏄�</el-radio>
+ <el-radio label="0">鍚�</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ <el-form-item label="澶囨敞"
+ prop="remark">
+ <el-input v-model="formData.remark"
+ type="textarea"
+ :rows="3"
+ placeholder="璇疯緭鍏ュ娉�" />
</el-form-item>
</el-form>
<template #footer>
@@ -217,6 +188,10 @@
addParameter,
updateParameter,
delParameter,
+ addBaseParam,
+ editBaseParam,
+ getBaseParamList,
+ removeBaseParam,
// getProductTypes as getProductTypesApi,
} from "@/api/basicData/parameterMaintenance.js";
import { listType } from "@/api/system/dict/type";
@@ -225,65 +200,86 @@
const tableColumn = ref([
{
- label: "鍙傛暟缂栧彿",
- prop: "parameterCode",
- className: "code-cell",
- },
- {
label: "鍙傛暟鍚嶇О",
- prop: "parameterName",
- },
- {
- label: "鍙傛暟妯″紡",
- prop: "parameterType2",
+ prop: "paramName",
},
{
label: "鍙傛暟绫诲瀷",
- prop: "parameterType",
+ prop: "paramType",
dataType: "tag",
formatType: params => {
const typeMap = {
- 鏁板�兼牸寮�: "primary",
- 鏂囨湰鏍煎紡: "info",
- 涓嬫媺閫夐」: "warning",
- 鏃堕棿鏍煎紡: "success",
+ 1: "primary",
+ 2: "info",
+ 3: "warning",
+ 4: "success",
};
return typeMap[params] || "default";
},
- },
- {
- label: "鍙傛暟鏍煎紡",
- prop: "parameterFormat",
- },
- // 鍏宠仈浜у搧绫诲瀷鍒�
- // {
- // label: "鍏宠仈浜у搧绫诲瀷",
- // prop: "parameterValue",
- // },
- {
- label: "鏍囧噯鍊�",
- prop: "standardValue",
- className: row => {
- return row.parameterType == "鏁板�兼牸寮�" ? "quantity-cell" : "";
+ formatData: val => {
+ const labelMap = {
+ 1: "鏁板�兼牸寮�",
+ 2: "鏂囨湰鏍煎紡",
+ 3: "涓嬫媺閫夐」",
+ 4: "鏃堕棿鏍煎紡",
+ };
+ return labelMap[val] || val;
},
},
{
- label: "鏈�澶у��",
- prop: "standardValue",
- className: row => {
- return row.parameterType == "鏁板�兼牸寮�" ? "quantity-cell" : "";
+ label: "鍙栧�兼ā寮�",
+ prop: "valueMode",
+ dataType: "tag",
+ formatType: params => {
+ return params === 2 ? "warning" : "success";
},
- },
- {
- label: "鏈�灏忓��",
- prop: "standardValue",
- className: row => {
- return row.parameterType == "鏁板�兼牸寮�" ? "quantity-cell" : "";
+ formatData: val => {
+ return val === 2 ? "鍖洪棿" : "鍗曞��";
},
},
{
label: "鍗曚綅",
prop: "unit",
+ },
+ {
+ label: "榛樿鍊�",
+ prop: "defaultValue",
+ formatData: (val, row) => {
+ return row.valueMode === 2 ? "-" : val;
+ },
+ },
+ {
+ label: "鏈�灏忓��",
+ prop: "defaultMin",
+ formatData: (val, row) => {
+ return row.valueMode === 1 ? "-" : val;
+ },
+ },
+ {
+ label: "鏈�澶у��",
+ prop: "defaultMax",
+ formatData: (val, row) => {
+ return row.valueMode === 1 ? "-" : val;
+ },
+ },
+ {
+ label: "鏄惁蹇呭~",
+ prop: "isRequired",
+ dataType: "tag",
+ formatType: params => {
+ return params === 1 ? "danger" : "info";
+ },
+ formatData: val => {
+ return val === 1 ? "鏄�" : "鍚�";
+ },
+ },
+ {
+ label: "澶囨敞",
+ prop: "remark",
+ },
+ {
+ label: "鍒涘缓鏃堕棿",
+ prop: "createTime",
},
{
label: "鎿嶄綔",
@@ -312,10 +308,18 @@
size: 10,
total: 0,
});
+ const handleValueModeChange = val => {
+ if (val === "2") {
+ formData.defaultMin = "";
+ formData.defaultMax = "";
+ } else {
+ formData.defaultValue = "";
+ }
+ };
// 鎼滅储琛ㄥ崟
const searchForm = reactive({
- materialCode: "",
+ paramName: "",
productName: "",
});
@@ -324,32 +328,21 @@
const dialogTitle = ref("");
const formRef = ref(null);
const formData = reactive({
- parameterCode: "",
- parameterName: "",
- parameterType2: "1",
- parameterType: "",
- parameterFormat: "",
- // parameterValue: "",
- standardValue: "",
+ id: null,
+ paramName: "",
+ paramType: "",
+ valueMode: "1",
unit: "",
+ defaultValue: "",
+ defaultMin: "",
+ defaultMax: "",
+ isRequired: "0",
+ remark: "",
});
const rules = reactive({
- parameterCode: [
- { required: true, message: "璇疯緭鍏ュ弬鏁扮紪鍙�", trigger: "blur" },
- ],
- parameterName: [
- { required: true, message: "璇疯緭鍏ュ弬鏁板悕绉�", trigger: "blur" },
- ],
- parameterType: [
- { required: true, message: "璇烽�夋嫨鍙傛暟绫诲瀷", trigger: "change" },
- ],
- parameterFormat: [
- { required: true, message: "璇烽�夋嫨鍙傛暟鏍煎紡", trigger: "change" },
- ],
- // parameterValue: [
- // { required: true, message: "璇烽�夋嫨鍏宠仈浜у搧绫诲瀷", trigger: "change" },
- // ],
- standardValue: [{ required: true, message: "璇疯緭鍏ユ爣鍑嗗��", trigger: "blur" }],
+ paramName: [{ required: true, message: "璇疯緭鍏ュ弬鏁板悕绉�", trigger: "blur" }],
+ paramType: [{ required: true, message: "璇烽�夋嫨鍙傛暟绫诲瀷", trigger: "change" }],
+ valueMode: [{ required: true, message: "璇烽�夋嫨鍙栧�兼ā寮�", trigger: "change" }],
unit: [{ required: true, message: "璇疯緭鍏ュ崟浣�", trigger: "blur" }],
});
// const productTypes = ref([]);
@@ -449,7 +442,7 @@
/** 閲嶇疆鎸夐挳鎿嶄綔 */
const handleReset = () => {
- searchForm.materialCode = "";
+ searchForm.paramName = "";
searchForm.productName = "";
page.current = 1;
getList();
@@ -462,80 +455,21 @@
const getList = () => {
tableLoading.value = true;
- // 娉ㄩ噴鎺堿PI璋冪敤锛屼娇鐢ㄥ亣鏁版嵁
- /*const params = { ...searchForm, ...page };
- parameterListPage(params)
- .then(res => {
- tableLoading.value = false;
- tableData.value = res.data;
- page.total = res.total || 0;
- })
- .catch(() => {
- tableLoading.value = false;
- });*/
-
- // 鍋囨暟鎹�
- setTimeout(() => {
- tableLoading.value = false;
- tableData.value = [
- {
- id: 1,
- parameterCode: "PARAM001",
- parameterName: "闀垮害",
- parameterType2: "1",
- parameterType: "鏁板�兼牸寮�",
- parameterFormat: "",
- parameterValue: "type1",
- standardValue: "100",
- unit: "mm",
- },
- {
- id: 2,
- parameterCode: "PARAM002",
- parameterName: "娓╁害",
- parameterType2: "2",
- parameterType: "鏁板�兼牸寮�",
- parameterFormat: "",
- parameterValue: "type1",
- standardValue: "25",
- unit: "鈩�",
- },
- {
- id: 3,
- parameterCode: "PARAM003",
- parameterName: "棰滆壊",
- parameterType2: "1",
- parameterType: "鏂囨湰鏍煎紡",
- parameterFormat: "",
- parameterValue: "type2",
- standardValue: "绾㈣壊",
- unit: "",
- },
- {
- id: 4,
- parameterCode: "PARAM004",
- parameterName: "鐘舵��",
- parameterType2: "1",
- parameterType: "涓嬫媺閫夐」",
- parameterFormat: "status",
- parameterValue: "type3",
- standardValue: "姝e父",
- unit: "",
- },
- {
- id: 5,
- parameterCode: "PARAM005",
- parameterName: "鍒涘缓鏃堕棿",
- parameterType2: "1",
- parameterType: "鏃堕棿鏍煎紡",
- parameterFormat: "YYYY-MM-DD HH:mm:ss",
- parameterValue: "type2",
- standardValue: "2024-01-01 00:00:00",
- unit: "",
- },
- ];
- page.total = 5;
- }, 500);
+ // 璋冪敤鏂版帴鍙� /baseParam/list
+ getBaseParamList({ paramName: searchForm.paramName })
+ .then(res => {
+ tableLoading.value = false;
+ if (res.code === 200) {
+ tableData.value = res.data || [];
+ page.total = res.data?.length || 0;
+ } else {
+ ElMessage.error(res.msg || "鏌ヨ澶辫触");
+ }
+ })
+ .catch(() => {
+ tableLoading.value = false;
+ ElMessage.error("鏌ヨ澶辫触");
+ });
};
// 鑾峰彇浜у搧绫诲瀷鍒楄〃 - 宸叉敞閲�
@@ -552,14 +486,16 @@
isEdit.value = false;
dialogTitle.value = "鏂板鍙傛暟";
// 閲嶇疆琛ㄥ崟
- formData.parameterCode = "";
- formData.parameterName = "";
- formData.parameterType2 = "1";
- formData.parameterType = "";
- formData.parameterFormat = "";
- // formData.parameterValue = "";
- formData.standardValue = "";
+ formData.id = null;
+ formData.paramName = "";
+ formData.paramType = "";
+ formData.valueMode = "1";
formData.unit = "";
+ formData.defaultValue = "";
+ formData.defaultMin = "";
+ formData.defaultMax = "";
+ formData.isRequired = "0";
+ formData.remark = "";
dialogVisible.value = true;
};
@@ -567,15 +503,22 @@
const handleEdit = row => {
isEdit.value = true;
dialogTitle.value = "缂栬緫鍙傛暟";
- // 濉厖琛ㄥ崟鏁版嵁
- formData.parameterCode = row.parameterCode;
- formData.parameterName = row.parameterName;
- formData.parameterType2 = row.parameterType2 || "1";
- formData.parameterType = row.parameterType;
- formData.parameterFormat = row.parameterFormat;
- // formData.parameterValue = row.parameterValue;
- formData.standardValue = row.standardValue;
- formData.unit = row.unit;
+ // 濉厖琛ㄥ崟鏁版嵁 - 灏嗘暟瀛楃被鍨嬭浆鎹负瀛楃涓茬被鍨嬩互鍖归厤琛ㄥ崟缁戝畾
+ formData.id = row.id;
+ formData.paramName = row.paramName || "";
+ formData.paramType = row.paramType !== undefined ? String(row.paramType) : "";
+ formData.valueMode =
+ row.valueMode !== undefined ? String(row.valueMode) : "1";
+ formData.unit = row.unit || "";
+ formData.defaultValue =
+ row.defaultValue !== undefined ? String(row.defaultValue) : "";
+ formData.defaultMin =
+ row.defaultMin !== undefined ? String(row.defaultMin) : "";
+ formData.defaultMax =
+ row.defaultMax !== undefined ? String(row.defaultMax) : "";
+ formData.isRequired =
+ row.isRequired !== undefined ? String(row.isRequired) : "0";
+ formData.remark = row.remark || "";
dialogVisible.value = true;
};
@@ -587,19 +530,15 @@
type: "warning",
})
.then(() => {
- // 娉ㄩ噴鎺堿PI璋冪敤锛屼娇鐢ㄥ亣鏁版嵁
- /*delParameter(row.id)
- .then(res => {
- ElMessage.success("鍒犻櫎鎴愬姛");
- getList();
- })
- .catch(() => {
- ElMessage.error("鍒犻櫎澶辫触");
- });*/
-
- // 鍋囨暟鎹ā鎷�
- ElMessage.success("鍒犻櫎鎴愬姛");
- getList();
+ // 璋冪敤鏂版帴鍙� /baseParam/remove/{id}
+ removeBaseParam(row.id)
+ .then(res => {
+ ElMessage.success("鍒犻櫎鎴愬姛");
+ getList();
+ })
+ .catch(() => {
+ ElMessage.error("鍒犻櫎澶辫触");
+ });
})
.catch(() => {
// 鍙栨秷鍒犻櫎
@@ -610,22 +549,29 @@
const handleSubmit = () => {
formRef.value.validate(valid => {
if (valid) {
- // 娉ㄩ噴鎺堿PI璋冪敤锛屼娇鐢ㄥ亣鏁版嵁
- /*const api = isEdit.value ? updateParameter : addParameter;
- api(formData)
- .then(res => {
- ElMessage.success(isEdit.value ? "缂栬緫鎴愬姛" : "鏂板鎴愬姛");
- dialogVisible.value = false;
- getList();
- })
- .catch(() => {
- ElMessage.error(isEdit.value ? "缂栬緫澶辫触" : "鏂板澶辫触");
- });*/
-
- // 鍋囨暟鎹ā鎷�
- ElMessage.success(isEdit.value ? "缂栬緫鎴愬姛" : "鏂板鎴愬姛");
- dialogVisible.value = false;
- getList();
+ if (isEdit.value) {
+ // 缂栬緫浣跨敤鏂版帴鍙� /baseParam/edit
+ editBaseParam(formData)
+ .then(res => {
+ ElMessage.success("缂栬緫鎴愬姛");
+ dialogVisible.value = false;
+ getList();
+ })
+ .catch(() => {
+ // ElMessage.error("缂栬緫澶辫触");
+ });
+ } else {
+ // 鏂板浣跨敤鏂版帴鍙� /baseParam/add
+ addBaseParam(formData)
+ .then(res => {
+ ElMessage.success("鏂板鎴愬姛");
+ dialogVisible.value = false;
+ getList();
+ })
+ .catch(() => {
+ ElMessage.error("鏂板澶辫触");
+ });
+ }
} else {
return false;
}
--
Gitblit v1.9.3