From 9f9792cae8f0ba0293e2ea5dc215896a3b6c20cc Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期五, 09 一月 2026 13:51:06 +0800
Subject: [PATCH] 浪潮 1.采购管理和其他模块取消关联
---
src/views/procurementManagement/procurementLedger/index.vue | 136 +++++++++++++++++++++++++--------------------
1 files changed, 76 insertions(+), 60 deletions(-)
diff --git a/src/views/procurementManagement/procurementLedger/index.vue b/src/views/procurementManagement/procurementLedger/index.vue
index d498c29..30dacdb 100644
--- a/src/views/procurementManagement/procurementLedger/index.vue
+++ b/src/views/procurementManagement/procurementLedger/index.vue
@@ -2,26 +2,46 @@
<div class="app-container">
<div class="search_form">
<div>
- <span class="search_title">閲囪喘鍚堝悓鍙凤細</span>
- <el-input
- v-model="searchForm.purchaseContractNumber"
- style="width: 240px"
- placeholder="璇疯緭鍏�"
- @change="handleQuery"
- clearable
- :prefix-icon="Search"
- />
- <el-button type="primary" @click="handleQuery" style="margin-left: 10px"
- >鎼滅储</el-button
- >
+ <el-form :model="searchForm" :inline="true">
+ <el-form-item label="渚涘簲鍟嗗悕绉帮細">
+ <el-input v-model="searchForm.supplierName" placeholder="璇疯緭鍏�" clearable prefix-icon="Search"
+ @change="handleQuery" />
+ </el-form-item>
+ <el-form-item label="閲囪喘鍚堝悓鍙凤細">
+ <el-input
+ v-model="searchForm.purchaseContractNumber"
+ style="width: 240px"
+ placeholder="璇疯緭鍏�"
+ @change="handleQuery"
+ clearable
+ :prefix-icon="Search"
+ />
+ </el-form-item>
+ <el-form-item label="閿�鍞悎鍚屽彿锛�">
+ <el-input v-model="searchForm.salesContractNo" placeholder="璇疯緭鍏�" clearable prefix-icon="Search"
+ @change="handleQuery" />
+ </el-form-item>
+ <el-form-item label="椤圭洰鍚嶇О锛�">
+ <el-input v-model="searchForm.projectName" placeholder="璇疯緭鍏�" clearable prefix-icon="Search"
+ @change="handleQuery" />
+ </el-form-item>
+ <el-form-item label="褰曞叆鏃ユ湡锛�">
+ <el-date-picker v-model="searchForm.entryDate" value-format="YYYY-MM-DD" format="YYYY-MM-DD" type="daterange"
+ placeholder="璇烽�夋嫨" clearable @change="changeDaterange" />
+ </el-form-item>
+ <el-form-item>
+ <el-button type="primary" @click="handleQuery"> 鎼滅储 </el-button>
+ </el-form-item>
+ </el-form>
</div>
- <div>
+
+ </div>
+ <div class="table_list">
+ <div style="display: flex;justify-content: flex-end;margin-bottom: 20px;">
<el-button type="primary" @click="openForm('add')">鏂板鍙拌处</el-button>
<el-button @click="handleOut">瀵煎嚭</el-button>
<el-button type="danger" plain @click="handleDelete">鍒犻櫎</el-button>
</div>
- </div>
- <div class="table_list">
<el-table
:data="tableData"
border
@@ -33,6 +53,7 @@
:summary-method="summarizeMainTable"
@expand-change="expandChange"
height="calc(100vh - 18.5em)"
+ stripe
>
<el-table-column align="center" type="selection" width="55" />
<el-table-column type="expand">
@@ -42,6 +63,7 @@
border
show-summary
:summary-method="summarizeChildrenTable"
+ stripe
>
<el-table-column
align="center"
@@ -125,7 +147,7 @@
<el-table-column
fixed="right"
label="鎿嶄綔"
- min-width="60"
+ min-width="100"
align="center"
>
<template #default="scope">
@@ -173,20 +195,12 @@
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="閿�鍞悎鍚屽彿锛�" prop="salesLedgerId">
- <el-select
- v-model="form.salesLedgerId"
- placeholder="璇烽�夋嫨"
+ <el-form-item label="閿�鍞悎鍚屽彿锛�" prop="salesContractNo">
+ <el-input
+ v-model="form.salesContractNo"
+ placeholder="璇疯緭鍏�"
clearable
- @change="salesLedgerChange"
- >
- <el-option
- v-for="item in salesContractList"
- :key="item.id"
- :label="item.salesContractNo"
- :value="item.id"
- />
- </el-select>
+ />
</el-form-item>
</el-col>
</el-row>
@@ -276,6 +290,7 @@
border
@selection-change="productSelected"
show-summary
+ stripe
:summary-method="summarizeProTable"
>
<el-table-column align="center" type="selection" width="55" />
@@ -525,7 +540,7 @@
<script setup>
import { getToken } from "@/utils/auth";
import pagination from "@/components/PIMTable/Pagination.vue";
-import { ref, onMounted } from "vue";
+import { ref, onMounted, reactive, toRefs, getCurrentInstance, nextTick } from "vue";
import { Search } from "@element-plus/icons-vue";
import { ElMessageBox } from "element-plus";
import { userListNoPage } from "@/api/system/user.js";
@@ -534,18 +549,17 @@
addOrUpdateSalesLedgerProduct,
delProduct,
delLedgerFile,
- getProductInfoByContractNo,
} from "@/api/salesManagement/salesLedger.js";
import {
addOrEditPurchase,
delPurchase,
- getSalesNo,
purchaseListPage,
productList,
getPurchaseById,
getOptions,
createPurchaseNo,
} from "@/api/procurementManagement/procurementLedger.js";
+import useFormData from "@/hooks/useFormData.js";
const { proxy } = getCurrentInstance();
const tableData = ref([]);
const productData = ref([]);
@@ -554,7 +568,6 @@
const modelOptions = ref([]);
const userList = ref([]);
const productOptions = ref([]);
-const salesContractList = ref([]);
const supplierList = ref([]);
const tableLoading = ref(false);
const page = reactive({
@@ -565,6 +578,7 @@
const fileList = ref([]);
import useUserStore from "@/store/modules/user";
import { modelList, productTreeList } from "@/api/basicData/product.js";
+import dayjs from "dayjs";
const userStore = useUserStore();
@@ -573,11 +587,20 @@
const dialogFormVisible = ref(false);
const data = reactive({
searchForm: {
- purchaseContractNumber: "",
+ supplierName: "", // 渚涘簲鍟嗗悕绉�
+ purchaseContractNumber: "", // 閲囪喘鍚堝悓缂栧彿
+ salesContractNo: "", // 閿�鍞悎鍚岀紪鍙�
+ projectName: "", // 椤圭洰鍚嶇О
+ entryDate: [
+ dayjs().format("YYYY-MM-DD"),
+ dayjs().add(1, "day").format("YYYY-MM-DD"),
+ ], // 褰曞叆鏃ユ湡
+ entryDateStart: dayjs().format("YYYY-MM-DD"),
+ entryDateEnd: dayjs().add(1, "day").format("YYYY-MM-DD"),
},
form: {
purchaseContractNumber: "",
- salesLedgerId: "",
+ salesContractNo: "",
projectName: "",
recorderId: "",
entryDate: "",
@@ -594,7 +617,9 @@
supplierId: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
},
});
-const { searchForm, form, rules } = toRefs(data);
+const { form, rules } = toRefs(data);
+const { form: searchForm } = useFormData(data.searchForm);
+
// 浜у搧琛ㄥ崟寮规鏁版嵁
const productFormVisible = ref(false);
const productOperationType = ref("");
@@ -640,6 +665,17 @@
headers: { Authorization: "Bearer " + getToken() },
});
+const changeDaterange = (value) => {
+ if (value) {
+ searchForm.entryDateStart = dayjs(value[0]).format("YYYY-MM-DD");
+ searchForm.entryDateEnd = dayjs(value[1]).format("YYYY-MM-DD");
+ } else {
+ searchForm.entryDateStart = undefined;
+ searchForm.entryDateEnd = undefined;
+ }
+ handleQuery();
+};
+
const formattedNumber = (row, column, cellValue) => {
return parseFloat(cellValue).toFixed(2);
};
@@ -675,7 +711,8 @@
};
const getList = () => {
tableLoading.value = true;
- purchaseListPage({ ...searchForm.value, ...page })
+ const { entryDate, ...rest } = searchForm;
+ purchaseListPage({ ...rest, ...page })
.then((res) => {
tableLoading.value = false;
tableData.value = res.data.records;
@@ -742,9 +779,6 @@
userListNoPage().then((res) => {
userList.value = res.data;
});
- getSalesNo().then((res) => {
- salesContractList.value = res;
- });
getOptions().then((res) => {
supplierList.value = res.data;
});
@@ -767,8 +801,8 @@
// 涓婁紶鍓嶆牎妫�
function handleBeforeUpload(file) {
// 鏍℃鏂囦欢澶у皬
- if (file.size > 1024 * 1024 * 10) {
- proxy.$modal.msgError("涓婁紶鏂囦欢澶у皬涓嶈兘瓒呰繃10MB!");
+ if (file.size > 1024 * 1024 * 50) {
+ proxy.$modal.msgError("涓婁紶鏂囦欢澶у皬涓嶈兘瓒呰繃50MB!");
return false;
}
proxy.$modal.loading("姝e湪涓婁紶鏂囦欢锛岃绋嶅��...");
@@ -1087,25 +1121,7 @@
}
}
};
-// 閿�鍞悎鍚岄�夋嫨鏀瑰彉鏂规硶
-const salesLedgerChange = async (row) => {
- console.log("row", row);
- var index = salesContractList.value.findIndex((item) => item.id == row);
- console.log("index", index);
- if (index > -1) {
- form.value.projectName = salesContractList.value[index].projectName;
- await querygProductInfoByContractNo();
- }
-};
-const querygProductInfoByContractNo = async () => {
- const { code, data } = await getProductInfoByContractNo({
- contractNo: form.value.salesLedgerId,
- });
- if (code == 200) {
- productData.value = data;
- }
-};
onMounted(() => {
getList();
--
Gitblit v1.9.3