From a00484ae729aed9a664050362fa2b8c6a4ce4fd6 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期四, 12 六月 2025 10:29:11 +0800
Subject: [PATCH] 1.库存管理页面联调

---
 src/views/salesOutbound/index.vue |   80 ++++++++++++++++++++++++++++++++++++----
 1 files changed, 72 insertions(+), 8 deletions(-)

diff --git a/src/views/salesOutbound/index.vue b/src/views/salesOutbound/index.vue
index f104b4a..fca072b 100644
--- a/src/views/salesOutbound/index.vue
+++ b/src/views/salesOutbound/index.vue
@@ -50,24 +50,73 @@
       </el-tabs>
       <!-- 鎿嶄綔鎸夐挳鍖� -->
       <el-space>
-        <el-button type="primary" :icon="Plus" @click="handleAdd">鏂板缓</el-button>
+        <el-button type="primary" :icon="Plus" @click="openDia('add')">鏂板缓</el-button>
         <el-button type="danger" :icon="Delete" @click="handleDelete">鍒犻櫎</el-button>
-        <el-button type="info" :icon="Download" @click="handleExport">瀵煎嚭</el-button>
+        <el-button type="info" plain :icon="Download" @click="handleExport">瀵煎嚭</el-button>
       </el-space>
+      <!-- 琛ㄦ牸缁勪欢 -->
+      <div>
+        <ETable :loading="tableLoading"
+                :table-data="tableData"
+                :columns="columns"
+                @selection-change="handleSelectionChange"
+                :show-selection="true"
+                :border="true"
+                :maxHeight="480"
+                @edit="openDia"></ETable>
+      </div>
+      <pagination
+          v-if="total>0"
+          :page-num="pageNum"
+          :page-size="pageSize"
+          :total="total"
+          @pagination="handleQuery"
+          :layout="'total, prev, pager, next, jumper'"
+      />
     </el-card>
+    <form-dia ref="formDia" @closeDia="handleQuery"></form-dia>
   </div>
 </template>
 
 <script setup>
-import {ref, reactive} from "vue";
+import {ref, reactive, onMounted} from "vue";
+const { proxy } = getCurrentInstance()
 import {Delete, Download, Plus} from "@element-plus/icons-vue";
+import ETable from "@/components/Table/ETable.vue";
+import Pagination from "@/components/Pagination/index.vue";
+import FormDia from "@/views/salesOutbound/components/formDia.vue";
+import {salesRecordList} from "../../api/salesOutbound/index.js";
 
+const formDia = ref()
 const activeTab = ref("out");
 // 鏍囩椤垫暟鎹�
 const tabs = reactive([
   { name: "out", label: "閿�鍞嚭搴�" },
 ]);
+// 琛ㄦ牸鏁版嵁
 const tableLoading = ref(false);
+const tableData = ref([]);
+const columns = ref([
+  { prop: "saleDate", label: "閿�鍞棩鏈�", minWidth: 160 },
+  { prop: "customer", label: "瀹㈡埛", minWidth: 120 },
+  { prop: "coal", label: "鐓ょ", minWidth: 150 },
+  { prop: "unit", label: "鍗曚綅", minWidth: 150 },
+  { prop: "priceIncludingTax", label: "鍗曚环(鍚◣)", minWidth: 150 },
+  { prop: "inventoryQuantity", label: "搴撳瓨鏁伴噺", minWidth: 120 },
+  { prop: "saleQuantity", label: "閿�鍞暟閲�", minWidth: 120 },
+  { prop: "salePrice", label: "閿�鍞崟浠�(鍚◣)", minWidth: 150 },
+  { prop: "totalAmount", label: "閿�鍞�讳环(鍚◣)", minWidth: 120 },
+  { prop: "taxCoal", label: "璐攢鐓ょ◣鐜�(%)", minWidth: 120 },
+  { prop: "taxTrans", label: "杩愯緭绋庣巼(%)", minWidth: 120 },
+  { prop: "grossProfit", label: "姣涘埄娑�", minWidth: 90 },
+  { prop: "netProfit", label: "鍑�鍒╂鼎", minWidth: 90 },
+  { prop: "registrant", label: "鐧昏浜�", minWidth: 100 },
+  { prop: "registrationDate", label: "鐧昏鏃ユ湡", minWidth: 100 },
+]);
+const selectedRows = ref([]);
+const total = ref(0);
+const pageNum = ref(1);
+const pageSize = ref(10);
 // 鏌ヨ鍙傛暟
 const queryParams = reactive({
   searchText: "",
@@ -75,13 +124,22 @@
   identifyNumber: "",
   address: "",
 })
-
+onMounted(() => {
+  handleQuery()
+});
 // 鐐瑰嚮鏌ヨ
 const handleQuery = () => {
+  pageNum.value = 1
+  pageSize.value = 10
+  getList()
+}
+const getList = () => {
   tableLoading.value = true;
-  setTimeout(() => {
+  salesRecordList({...queryParams, current: pageNum.value, size: pageSize.value}).then(res => {
     tableLoading.value = false;
-  }, 500);
+    tableData.value = res.data.records;
+    total.value = res.data.total;
+  })
 }
 // 閲嶇疆鏌ヨ
 const resetQuery = () => {
@@ -93,8 +151,10 @@
   handleQuery();
 };
 // 鏂板鍑哄簱
-const handleAdd = () => {
-
+const openDia = (type, row) => {
+  nextTick(() => {
+    formDia.value?.openDialog(type, row)
+  })
 };
 // 鍒犻櫎鍑哄簱
 const handleDelete = () => {
@@ -104,6 +164,10 @@
 const handleExport = () => {
 
 };
+// 閫夋嫨琛�
+const handleSelectionChange = (selection) => {
+  selectedRows.value = selection;
+};
 </script>
 
 <style scoped>

--
Gitblit v1.9.3