From 11d7990309ddace2fa600cbeae58e3ab5ac368f9 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期日, 20 九月 2026 19:25:45 +0800
Subject: [PATCH] 新疆-融邦 1. 委外管理:新增合作商档案、委外订单、往来台账三个页面及接口;合作商附件弹框支持直接上传/删除并即时保存。 2. 信托基金与代储台账:客户档案加「信托基金 / 代储金额」并对超限标红提示;销售台账拆「卖油 / 代储」页签,代储走油库+储罐+合同金额,卖油保留产品明细;台账列表加审批状态与超限红字;审批中心显示销售合同号并能下钻台账明细。 3. 储罐号带入库存:储罐信息表单加「是否启用 / 用途 / 租客信息」联动与校验;库存管理、批号明细、入库/出库表单与列表补齐储罐号、油品、物流、过磅等字段展示。 4. 出库即发货与往来备件:出库台账区分「发货单 / 油品出库」两类来源并分别处理详情;新增备件出入库流水页面。 5. 车辆管理与残油联动:新增车辆管理页面;油品出入库表单物流信息顺序调整,车牌/车挂牌号联动只读。 6. 油品出库联动发货台账:发货台账加「发货单号 / 销售合同号」筛选,修复油品出库行批号列取错字段。 7. 采购申请模块:新增采购申请页面及接口。 8. 付款流水组件:抽出公共「付款流水」弹框组件,采购付款分栏、收付款台账与委外往来台账复用。 9. 列调整:收付款台账删除「付款金额 / 退货金额」;委外往来台账删除「回款金额」,并去掉金额列右对齐。
---
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