From 376bcaa483e26c36c90bebcce1d0b9be8e854d5e Mon Sep 17 00:00:00 2001
From: CD配唱片 <CD配唱片>
Date: 星期一, 28 四月 2025 12:59:45 +0800
Subject: [PATCH] 提交产能规划全table编辑
---
src/views/mainPlan/gasPlanning/index.vue | 225 ++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 208 insertions(+), 17 deletions(-)
diff --git a/src/views/mainPlan/gasPlanning/index.vue b/src/views/mainPlan/gasPlanning/index.vue
index a55c53a..5dd713d 100644
--- a/src/views/mainPlan/gasPlanning/index.vue
+++ b/src/views/mainPlan/gasPlanning/index.vue
@@ -7,7 +7,7 @@
:inline="true"
label-width="68px"
>
- <el-row type="flex" justify="left">
+ <el-row type="flex" justify="left" @click.stop="handleCancleStaus">
<el-col :span="6">
<el-form-item label="閫夋嫨鏈堜唤" prop="description">
<el-date-picker
@@ -32,7 +32,7 @@
</el-form>
<div class="box_container">
<el-row>
- <el-col :span="22">
+ <el-col :span="22" @click="handleCancleStaus">
<div class="title_text">绠¤矾瑙勫垝浜ц兘</div>
</el-col>
<el-col :span="2">
@@ -77,7 +77,6 @@
>
<vxe-column field="processName" title="鏍囧噯宸ュ簭鍚嶇О" min-width="150">
</vxe-column>
- <!-- :edit-render="sexEditRender" -->
<vxe-column
field="dayProduceType"
title="鏃ヤ骇鍑虹被鍨�"
@@ -85,13 +84,43 @@
:edit-render="{}"
>
<template #edit="{ row }">
- <vxe-select
+ <!-- <vxe-select
v-model="row.dayProduceType"
:options="dayProduceTypeOptions"
- ></vxe-select>
+ ></vxe-select> -->
+ <el-select
+ clearable
+ v-model="row.dayProduceType"
+ style="width: 140px"
+ >
+ <el-option
+ v-for="type in dayProduceTypeOptions"
+ :key="type.value"
+ :label="type.label"
+ :value="type.value"
+ >
+ </el-option>
+ </el-select>
</template>
<template #default="{ row }">
- <span>{{ formatTypeLabel([row.dayProduceType]) }}</span>
+ <div v-if="!clickedTableRef">
+ <span>{{ formatTypeLabel([row.dayProduceType]) }}</span>
+ </div>
+ <div v-else>
+ <el-select
+ clearable
+ v-model="row.dayProduceType"
+ style="width: 140px"
+ >
+ <el-option
+ v-for="type in dayProduceTypeOptions"
+ :key="type.value"
+ :label="type.label"
+ :value="type.value"
+ >
+ </el-option>
+ </el-select>
+ </div>
</template>
</vxe-column>
<vxe-column
@@ -103,6 +132,14 @@
<template #edit="{ row }">
<el-input-number v-model="row.dayProduceNum" size="mini" />
</template>
+ <template #default="{ row }">
+ <div v-if="!clickedTableRef">
+ <span>{{ row.dayProduceNum }}</span>
+ </div>
+ <div v-else>
+ <el-input-number v-model="row.dayProduceNum" size="mini" />
+ </div>
+ </template>
</vxe-column>
<vxe-column
field="dayProduceUnit"
@@ -112,6 +149,14 @@
>
<template #edit="{ row }">
<el-input v-model="row.dayProduceUnit" />
+ </template>
+ <template #default="{ row }">
+ <div v-if="!clickedTableRef">
+ <span>{{ row.dayProduceUnit }}</span>
+ </div>
+ <div v-else>
+ <el-input v-model="row.dayProduceUnit" />
+ </div>
</template>
</vxe-column>
<vxe-column
@@ -123,6 +168,14 @@
<template #edit="{ row }">
<el-input-number v-model="row.personnelNumber" />
</template>
+ <template #default="{ row }">
+ <div v-if="!clickedTableRef">
+ <span>{{ row.personnelNumber }}</span>
+ </div>
+ <div v-else>
+ <el-input-number v-model="row.personnelNumber" />
+ </div>
+ </template>
</vxe-column>
<vxe-column
field="dayProduceAllNum"
@@ -133,6 +186,14 @@
<template #edit="{ row }">
<el-input-number v-model="row.dayProduceAllNum" disabled />
</template>
+ <template #default="{ row }">
+ <div v-if="!clickedTableRef">
+ <span>{{ row.dayProduceAllNum }}</span>
+ </div>
+ <div v-else>
+ <el-input-number v-model="row.dayProduceAllNum" disabled />
+ </div>
+ </template>
</vxe-column>
<vxe-column
field="days"
@@ -142,6 +203,14 @@
>
<template #edit="{ row }">
<el-input-number v-model="row.days" />
+ </template>
+ <template #default="{ row }">
+ <div v-if="!clickedTableRef">
+ <span>{{ row.days }}</span>
+ </div>
+ <div v-else>
+ <el-input-number v-model="row.days" />
+ </div>
</template>
</vxe-column>
<vxe-column
@@ -161,7 +230,23 @@
:edit-render="{ autoFocus: 'input' }"
>
<template #edit="{ row }">
- <el-input type="textarea" v-model="row.remark" />
+ <el-input
+ type="textarea"
+ autosize="{minRows:2,maxRows:3}"
+ v-model="row.remark"
+ />
+ </template>
+ <template #default="{ row }">
+ <div v-if="!clickedTableRef">
+ <span>{{ row.remark }}</span>
+ </div>
+ <div v-else>
+ <el-input
+ type="textarea"
+ autosize="{minRows:2,maxRows:3}"
+ v-model="row.remark"
+ />
+ </div>
</template>
</vxe-column>
<!-- <vxe-column title="鎿嶄綔" width="200" fixed="right">
@@ -184,7 +269,7 @@
</div>
<div class="box_container">
<el-row>
- <el-col :span="22">
+ <el-col :span="22" @click="handleCancleStausGas">
<div class="title_text">姘旀煖瑙勫垝浜ц兘</div>
</el-col>
<el-col :span="2">
@@ -216,11 +301,10 @@
:height="height"
:edit-config="{ mode: 'row', trigger: 'click', showStatus: true }"
:data="gasPlanList"
- @cell-click="cellClickEvent"
+ @cell-click="cellClickEventGas"
>
<vxe-column field="processName" title="鏍囧噯宸ュ簭鍚嶇О" min-width="150">
</vxe-column>
- <!-- :edit-render="sexEditRender" -->
<vxe-column
field="dayProduceType"
title="鏃ヤ骇鍑虹被鍨�"
@@ -228,13 +312,43 @@
:edit-render="{}"
>
<template #edit="{ row }">
- <vxe-select
+ <!-- <vxe-select
v-model="row.dayProduceType"
:options="dayProduceTypeOptions"
- ></vxe-select>
+ ></vxe-select> -->
+ <el-select
+ clearable
+ v-model="row.dayProduceType"
+ style="width: 140px"
+ >
+ <el-option
+ v-for="type in dayProduceTypeOptions"
+ :key="type.value"
+ :label="type.label"
+ :value="type.value"
+ >
+ </el-option>
+ </el-select>
</template>
<template #default="{ row }">
- <span>{{ formatTypeLabel([row.dayProduceType]) }}</span>
+ <div v-if="!clickedTableRefGas">
+ <span>{{ formatTypeLabel([row.dayProduceType]) }}</span>
+ </div>
+ <div v-else>
+ <el-select
+ clearable
+ v-model="row.dayProduceType"
+ style="width: 140px"
+ >
+ <el-option
+ v-for="type in dayProduceTypeOptions"
+ :key="type.value"
+ :label="type.label"
+ :value="type.value"
+ >
+ </el-option>
+ </el-select>
+ </div>
</template>
</vxe-column>
<vxe-column
@@ -246,6 +360,14 @@
<template #edit="{ row }">
<el-input-number v-model="row.dayProduceNum" size="mini" />
</template>
+ <template #default="{ row }">
+ <div v-if="!clickedTableRefGas">
+ <span>{{ row.dayProduceNum }}</span>
+ </div>
+ <div v-else>
+ <el-input-number v-model="row.dayProduceNum" size="mini" />
+ </div>
+ </template>
</vxe-column>
<vxe-column
field="dayProduceUnit"
@@ -255,6 +377,14 @@
>
<template #edit="{ row }">
<el-input v-model="row.dayProduceUnit" />
+ </template>
+ <template #default="{ row }">
+ <div v-if="!clickedTableRefGas">
+ <span>{{ row.dayProduceUnit }}</span>
+ </div>
+ <div v-else>
+ <el-input v-model="row.dayProduceUnit" />
+ </div>
</template>
</vxe-column>
<vxe-column
@@ -266,6 +396,14 @@
<template #edit="{ row }">
<el-input-number v-model="row.personnelNumber" />
</template>
+ <template #default="{ row }">
+ <div v-if="!clickedTableRefGas">
+ <span>{{ row.personnelNumber }}</span>
+ </div>
+ <div v-else>
+ <el-input-number v-model="row.personnelNumber" />
+ </div>
+ </template>
</vxe-column>
<vxe-column
field="dayProduceAllNum"
@@ -274,7 +412,15 @@
:edit-render="{ autoFocus: 'input' }"
>
<template #edit="{ row }">
- <el-input-number v-model="row.dayProduceAllNum" />
+ <el-input-number v-model="row.dayProduceAllNum" disabled />
+ </template>
+ <template #default="{ row }">
+ <div v-if="!clickedTableRefGas">
+ <span>{{ row.dayProduceAllNum }}</span>
+ </div>
+ <div v-else>
+ <el-input-number v-model="row.dayProduceAllNum" disabled />
+ </div>
</template>
</vxe-column>
<vxe-column
@@ -286,6 +432,14 @@
<template #edit="{ row }">
<el-input-number v-model="row.days" />
</template>
+ <template #default="{ row }">
+ <div v-if="!clickedTableRefGas">
+ <span>{{ row.days }}</span>
+ </div>
+ <div v-else>
+ <el-input-number v-model="row.days" />
+ </div>
+ </template>
</vxe-column>
<vxe-column
field="monthProduceAllNum"
@@ -294,7 +448,7 @@
:edit-render="{ autoFocus: 'input' }"
>
<template #edit="{ row }">
- <el-input-number v-model="row.monthProduceAllNum" />
+ <el-input-number v-model="row.monthProduceAllNum" disabled />
</template>
</vxe-column>
<vxe-column
@@ -304,7 +458,23 @@
:edit-render="{ autoFocus: 'input' }"
>
<template #edit="{ row }">
- <el-input type="textarea" v-model="row.remark" />
+ <el-input
+ type="textarea"
+ autosize="{minRows:2,maxRows:3}"
+ v-model="row.remark"
+ />
+ </template>
+ <template #default="{ row }">
+ <div v-if="!clickedTableRefGas">
+ <span>{{ row.remark }}</span>
+ </div>
+ <div v-else>
+ <el-input
+ type="textarea"
+ autosize="{minRows:2,maxRows:3}"
+ v-model="row.remark"
+ />
+ </div>
</template>
</vxe-column>
<!-- <vxe-column title="鎿嶄綔" width="200" fixed="right">
@@ -350,6 +520,8 @@
{ label: "鍗曚汉鏃ヤ骇鍑�", value: "1" },
{ label: "鍥哄畾鏃ヤ骇鍑�", value: "2" },
]);
+const clickedTableRef = ref(false);
+const clickedTableRefGas = ref(false);
const formatTypeLabel = (list) => {
if (list) {
return list
@@ -463,9 +635,20 @@
// VxeUI.modal.message({ content: `淇濆瓨鎴愬姛锛乶ame=${row.name}`, status: 'success' })
// }, 300)
handleSave("绠¤矾");
+ clickedTableRef.value = false;
});
}
};
+const handleCancelAllStatus = ()=>{
+ handleCancleStaus();
+ handleCancleStausGas();
+}
+const handleCancleStaus = () => {
+ clickedTableRef.value = false;
+};
+const handleCancleStausGas = () => {
+ clickedTableRefGas.value = false;
+}
// const cancelRowEvent = () => {
// const $table = tableRef.value;
// if ($table) {
@@ -501,6 +684,7 @@
// VxeUI.modal.message({ content: `淇濆瓨鎴愬姛锛乶ame=${row.name}`, status: 'success' })
// }, 300)
handleSave("姘旀煖");
+ clickedTableRefGas.value = false;
});
}
};
@@ -572,7 +756,14 @@
loading2.value = false;
}
function cellClickEvent({ row, column }) {
- console.log(column, row);
+ clickedTableRef.value = true;
+ console.log(clickedTableRef.value);
+ row.dayProduceAllNum = row.dayProduceNum * row.personnelNumber;
+ row.monthProduceAllNum = row.dayProduceAllNum * row.days;
+}
+function cellClickEventGas({ row, column }) {
+ clickedTableRefGas.value = true;
+ console.log(clickedTableRef.value);
row.dayProduceAllNum = row.dayProduceNum * row.personnelNumber;
row.monthProduceAllNum = row.dayProduceAllNum * row.days;
}
--
Gitblit v1.9.3