From ea7fb9cc590a198d438d44a2aec7b0393194a07d Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 21 九月 2026 20:52:43 +0800
Subject: [PATCH] 新疆-融邦环保 1.新增到货记录模块:销售台账页入口,车辆随出库单联动,到货上限=该台账分摊量,附件走永久链接
---
src/views/basicData/tankInfo/index.vue | 140 +++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 135 insertions(+), 5 deletions(-)
diff --git a/src/views/basicData/tankInfo/index.vue b/src/views/basicData/tankInfo/index.vue
index e748b66..a93d11e 100644
--- a/src/views/basicData/tankInfo/index.vue
+++ b/src/views/basicData/tankInfo/index.vue
@@ -18,6 +18,30 @@
prefix-icon="Search"
@change="handleQuery" />
</el-form-item>
+ <el-form-item label="鏄惁鍚敤锛�">
+ <el-select v-model="searchForm.isEnabled"
+ placeholder="璇烽�夋嫨"
+ clearable
+ style="width: 140px"
+ @change="handleQuery">
+ <el-option label="鍚敤"
+ :value="1" />
+ <el-option label="鏈惎鐢�"
+ :value="0" />
+ </el-select>
+ </el-form-item>
+ <el-form-item label="鐢ㄩ�旓細">
+ <el-select v-model="searchForm.usageType"
+ placeholder="璇烽�夋嫨"
+ clearable
+ style="width: 140px"
+ @change="handleQuery">
+ <el-option label="绉熻祦"
+ :value="1" />
+ <el-option label="鑷敤"
+ :value="2" />
+ </el-select>
+ </el-form-item>
<el-form-item>
<el-button type="primary"
@click="handleQuery"> 鎼滅储
@@ -64,6 +88,25 @@
<el-table-column label="搴撳瓨浣欓噺(m鲁)"
prop="remaining"
min-width="140" />
+ <el-table-column label="鏄惁鍚敤"
+ prop="isEnabled"
+ align="center"
+ width="100">
+ <template #default="scope">
+ <el-tag :type="scope.row.isEnabled === 1 ? 'success' : 'info'"
+ size="small">
+ {{ scope.row.isEnabled === 1 ? "鍚敤" : "鏈惎鐢�" }}
+ </el-tag>
+ </template>
+ </el-table-column>
+ <el-table-column label="鐢ㄩ��"
+ prop="usageType"
+ align="center"
+ width="90">
+ <template #default="scope">
+ {{ getUsageTypeText(scope.row.usageType) }}
+ </template>
+ </el-table-column>
<el-table-column label="绉熷淇℃伅"
prop="tenantInfo"
min-width="160"
@@ -172,8 +215,38 @@
</el-form-item>
</el-col>
<el-col :span="12">
+ <el-form-item label="鏄惁鍚敤锛�"
+ prop="isEnabled">
+ <el-switch v-model="form.isEnabled"
+ :active-value="1"
+ :inactive-value="0"
+ active-text="鍚敤"
+ inactive-text="鏈惎鐢�" />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="30"
+ v-if="form.isEnabled === 1">
+ <el-col :span="12">
+ <el-form-item label="鐢ㄩ�旓細"
+ prop="usageType">
+ <el-radio-group v-model="form.usageType">
+ <el-radio :value="1">绉熻祦</el-radio>
+ <el-radio :value="2">鑷敤</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12"
+ v-if="form.usageType === 1">
<el-form-item label="绉熷淇℃伅锛�"
- prop="tenantInfo">
+ prop="tenantInfo"
+ :rules="[
+ {
+ required: true,
+ message: '绉熻祦鐨勫偍缃愬繀椤诲~鍐欑瀹俊鎭�',
+ trigger: 'blur',
+ }
+ ]">
<el-input v-model="form.tenantInfo"
placeholder="璇疯緭鍏ョ瀹俊鎭�"
clearable />
@@ -188,7 +261,7 @@
<script setup>
import FormDialog from "@/components/Dialog/FormDialog.vue";
import pagination from "@/components/PIMTable/Pagination.vue";
- import { ref, reactive, toRefs, getCurrentInstance } from "vue";
+ import { ref, reactive, toRefs, watch, getCurrentInstance } from "vue";
import { Search } from "@element-plus/icons-vue";
import { ElMessageBox } from "element-plus";
import {
@@ -214,6 +287,8 @@
searchForm: {
tankNo: "",
category: "",
+ isEnabled: "",
+ usageType: "",
},
form: {
id: null,
@@ -222,6 +297,8 @@
oilProduct: "",
capacity: null,
remaining: null,
+ isEnabled: 1,
+ usageType: null,
tenantInfo: "",
},
rules: {
@@ -230,6 +307,24 @@
},
});
const { searchForm, form, rules } = toRefs(data);
+
+ // 鐢ㄩ�旀枃妗堬細1 绉熻祦 / 2 鑷敤
+ const getUsageTypeText = value => ({ 1: "绉熻祦", 2: "鑷敤" })[value] || "--";
+
+ // 鏈惎鐢ㄦ椂鐢ㄩ�斾笌绉熷淇℃伅涓�寰嬫竻绌猴紱閫夎嚜鐢ㄦ椂绉熷淇℃伅鑷姩娓呯┖锛堢璧佹墠闇�瑕佺瀹級
+ watch(
+ () => [form.value.isEnabled, form.value.usageType],
+ () => {
+ if (form.value.isEnabled !== 1) {
+ form.value.usageType = null;
+ form.value.tenantInfo = "";
+ return;
+ }
+ if (form.value.usageType !== 1) {
+ form.value.tenantInfo = "";
+ }
+ }
+ );
const getList = () => {
tableLoading.value = true;
@@ -259,14 +354,49 @@
selectedRows.value = selection;
};
+ const buildEmptyForm = () => ({
+ id: null,
+ tankNo: "",
+ category: "",
+ oilProduct: "",
+ capacity: null,
+ remaining: null,
+ isEnabled: 1,
+ usageType: null,
+ tenantInfo: "",
+ });
+
const openForm = (type, row) => {
operationType.value = type;
- form.value = {};
+ // 鍏堥噸缃啀璧嬪�硷細resetFields 浼氭妸瀛楁鎵撳洖鎸傝浇鏃剁殑鍒濆�硷紝鏀惧悗闈細鎶婂垰濉ソ鐨勫�兼竻鎺�
proxy.resetForm("formRef");
+ form.value = buildEmptyForm();
dialogFormVisible.value = true;
if (type === "edit" && row) {
- const { id, tankNo, category, oilProduct, capacity, remaining, tenantInfo } = row;
- form.value = { id, tankNo, category, oilProduct, capacity, remaining, tenantInfo };
+ const {
+ id,
+ tankNo,
+ category,
+ oilProduct,
+ capacity,
+ remaining,
+ isEnabled,
+ usageType,
+ tenantInfo,
+ } = row;
+ form.value = {
+ ...buildEmptyForm(),
+ id,
+ tankNo,
+ category,
+ oilProduct,
+ capacity,
+ remaining,
+ // 鍘嗗彶鏁版嵁娌℃湁璇ュ瓧娈碉紝缂哄け鏃舵寜銆屽惎鐢ㄣ�嶅鐞嗭紝閬垮厤淇濆瓨鏃惰璇疆涓烘湭鍚敤
+ isEnabled: isEnabled ?? 1,
+ usageType: usageType ?? null,
+ tenantInfo: tenantInfo ?? "",
+ };
}
};
--
Gitblit v1.9.3