From a88eab39f6b2f5c33913d51fac4e885c052ed4a1 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期四, 21 八月 2025 14:39:00 +0800
Subject: [PATCH] 整体样式修改
---
src/views/production/components/ProductionDetailsTable.vue | 27 ++++++++++++++++++++++++---
1 files changed, 24 insertions(+), 3 deletions(-)
diff --git a/src/views/production/components/ProductionDetailsTable.vue b/src/views/production/components/ProductionDetailsTable.vue
index 8331deb..48308f4 100644
--- a/src/views/production/components/ProductionDetailsTable.vue
+++ b/src/views/production/components/ProductionDetailsTable.vue
@@ -9,6 +9,7 @@
@change="(value) => handleCoalSelectChange(row, value)"
filterable
:key="`coalId-select-${$index}-${weekList.length}`"
+ :disabled="isViewMode"
>
<el-option
v-for="(item, index) of weekList"
@@ -26,6 +27,7 @@
placeholder="璇疯緭鍏ョ敓浜ф暟閲�"
type="number"
@input="handleInput('productionQuantity', $index, $event)"
+ :disabled="isViewMode"
/>
</template>
</el-table-column>
@@ -37,6 +39,7 @@
placeholder="璇疯緭鍏ヤ汉宸ユ垚鏈�"
type="number"
@input="handleInput('laborCost', $index, $event)"
+ :disabled="isViewMode"
>
<template #suffix>
<i style="font-style: normal">鍏�</i>
@@ -47,11 +50,15 @@
<el-table-column label="鑳借�楁垚鏈�" min-width="120">
<template #default="{ row, $index }">
+ <!-- 涓嶈兘涓鸿礋鏁� -->
<el-input
v-model="row.energyConsumptionCost"
placeholder="璇疯緭鍏ヨ兘鑰楁垚鏈�"
type="number"
+ min="0"
+ step="0.01"
@input="handleInput('energyConsumptionCost', $index, $event)"
+ :disabled="isViewMode"
>
<template #suffix>
<i style="font-style: normal">鍏�</i>
@@ -67,6 +74,7 @@
placeholder="璇疯緭鍏ヨ澶囨姌鏃�"
type="number"
@input="handleInput('equipmentDepreciation', $index, $event)"
+ :disabled="isViewMode"
>
<template #suffix>
<i style="font-style: normal">鍏�</i>
@@ -82,6 +90,7 @@
placeholder="璇疯緭鍏ラ噰璐崟浠�"
type="number"
@input="handleInput('purchasePrice', $index, $event)"
+ :disabled="isViewMode"
>
<template #suffix>
<i style="font-style: normal">鍏�</i>
@@ -99,6 +108,7 @@
type="number"
:readonly="autoCalculate"
@input="handleInput('totalCost', $index, $event)"
+
>
<template #suffix>
<i style="font-style: normal">鍏�</i>
@@ -115,6 +125,7 @@
@change="(value) => handleUserSelectChange(row, value)"
filterable
:key="`producer-select-${$index}-${userList.length}`"
+ :disabled="isViewMode"
>
<el-option
v-for="(item, index) of userList"
@@ -126,10 +137,10 @@
</template>
</el-table-column>
<el-table-column
- v-if="showOperations"
label="鎿嶄綔"
width="120"
fixed="right"
+ v-if="dialogType !== 'viewRow'"
>
<template #default="{ $index }">
<el-button
@@ -148,6 +159,7 @@
<script setup name="ProductionDetailsTable">
import {ref, computed, watch, onMounted, nextTick} from "vue";
import {Delete} from "@element-plus/icons-vue";
+import {ElMessage} from "element-plus";
import {getCoalFieldList} from "@/api/basicInformation/coalQualityMaintenance";
import {getCoalInfoList} from "@/api/production";
import {userListAll} from "@/api/publicApi";
@@ -169,8 +181,12 @@
type: Boolean,
default: true,
},
+ dialogType:{
+ type: String,
+ default:'add'
+ }
});
-
+const isViewMode = computed(() => props.dialogType === "viewRow");
const emit = defineEmits(["update:modelValue", "input-change", "delete-row"]);
// 浣跨敤 v-model 杩涜鍙屽悜缁戝畾
@@ -185,6 +201,11 @@
// 澶勭悊杈撳叆鍙樺寲
const handleInput = (field, index, value) => {
+ // 纭繚杈撳叆鍊兼槸鏁板瓧鎴栫┖瀛楃涓茶�屼笖闈炶礋鏁�
+ if (!/^\d*\.?\d*$/.test(value) && value !== "") {
+ ElMessage.error("璇疯緭鍏ユ湁鏁堢殑鏁板瓧");
+ return;
+ }
const newData = [...tableData.value];
newData[index][field] = value;
@@ -208,7 +229,7 @@
// 璁$畻鎬绘垚鏈�
const calculateTotalCost = (row) => {
const laborCost = parseFloat(row.laborCost) || 0;
- const energyCost = parseFloat(row.energyCost) || 0;
+ const energyCost = parseFloat(row.energyConsumptionCost) || 0;
const equipmentDepreciation = parseFloat(row.equipmentDepreciation) || 0;
const purchasePrice = parseFloat(row.purchasePrice) || 0;
--
Gitblit v1.9.3