From 5952d34811ee82e797ef0070f84ff041381072a5 Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期二, 10 三月 2026 17:52:40 +0800
Subject: [PATCH] 新增采购退货单增加费用等数据

---
 src/views/financialManagement/salesRefund/index.vue |  134 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 134 insertions(+), 0 deletions(-)

diff --git a/src/views/financialManagement/salesRefund/index.vue b/src/views/financialManagement/salesRefund/index.vue
new file mode 100644
index 0000000..b4a792f
--- /dev/null
+++ b/src/views/financialManagement/salesRefund/index.vue
@@ -0,0 +1,134 @@
+<template>
+  <div class="app-container">
+    <!-- 浣跨敤鍏叡鎼滅储缁勪欢 -->
+    <SearchPanel
+      v-model="queryParams"
+      :schema="searchSchema"
+      @search="handleQuery"
+      @reset="resetQuery"
+    />
+
+    <!-- 琛ㄦ牸鍖哄煙 -->
+    <el-card class="table-card">
+      <el-table :data="refundList" v-loading="loading" border>
+        <el-table-column label="閫�璐у崟鍙�" prop="returnManagementNo" align="center" />
+        <el-table-column label="瀹㈡埛鍚嶇О" prop="customerName" align="center" />
+        <el-table-column label="閿�鍞崟鍙�" prop="salesContractNo" align="center" />
+        <el-table-column label="搴旈��娆鹃噾棰�" prop="refundAmount" align="center" />
+        <el-table-column label="宸查��娆鹃噾棰�" prop="refundedAmount" align="center" />
+        <el-table-column label="鏈��娆鹃噾棰�" prop="notRefundedAmount" align="center" />
+        <el-table-column label="鐘舵��" prop="status" align="center">
+          <template #default="scope">
+            <dict-tag :options="dictRef.sales_refund_status.value" :value="scope.row.status" />
+          </template>
+        </el-table-column>
+        <el-table-column label="鍒涘缓浜�" prop="createUserName" align="center" />
+        <el-table-column label="鍒涘缓鏃堕棿" prop="createTime" align="center" />
+        <el-table-column label="鎿嶄綔" align="center" width="150">
+          <template #default="scope">
+            <el-button link type="primary" @click="openDetail(scope.row)">璇︽儏</el-button>
+            <el-button link type="primary" @click="openConfirm(scope.row)">纭</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+
+      <pagination
+        v-show="total > 0"
+        :total="total"
+        v-model:page="queryParams.pageNum"
+        v-model:limit="queryParams.pageSize"
+        @pagination="getList"
+      />
+    </el-card>
+<ReceiptandRefundPopupWindow ref="popupRef" @submitted="getList" />
+  </div>
+</template>
+
+<script setup name="SalesRefund">
+import { ref, reactive, onMounted, computed, getCurrentInstance } from 'vue';
+const { proxy } = getCurrentInstance();
+import { listPage, add, update, del } from '@/api/financialManagement/salesRefund';
+import SearchPanel from '@/components/SearchPanel/index.vue';
+import ReceiptandRefundPopupWindow from './components/ReceiptandRefundPopupWindow.vue';
+
+// 鏌ヨ鍙傛暟
+const queryParams = reactive({
+  pageNum: 1,
+  pageSize: 10,
+  returnManagementNo: undefined,
+  customerName: undefined,
+  salesContractNo: undefined,
+  createUserName: undefined,
+  status: undefined
+});
+
+const dictRef = proxy.useDict('sales_refund_status');
+const salesRefundStatusOptions = computed(() => dictRef.sales_refund_status.value || []);
+
+// 鎼滅储鏍忛厤缃�
+const searchSchema = [
+  { type: 'input', prop: 'returnManagementNo', placeholder: '閫�璐у崟鍙�' },
+  { type: 'input', prop: 'customerName', placeholder: '瀹㈡埛鍚嶇О' },
+  { type: 'input', prop: 'salesContractNo', placeholder: '閿�鍞崟鍙�' },
+  { type: 'input', prop: 'createUserName', placeholder: '鍒涘缓浜哄悕绉�' },
+  { type: 'select', prop: 'status', placeholder: '鐘舵��', options: salesRefundStatusOptions }
+];
+
+const loading = ref(false);
+const total = ref(0);
+const refundList = ref([]);
+const popupRef = ref(null);
+
+/** 鏌ヨ鍒楄〃 */
+function getList() {
+  loading.value = true;
+  const { pageNum, pageSize, ...filters } = queryParams;
+  listPlan({
+    current: pageNum,
+    size: pageSize,
+    ...filters
+  })
+    .then(res => {
+      refundList.value = res?.data?.records || res?.rows || [];
+      total.value = res?.data?.total || res?.total || 0;
+    })
+    .finally(() => {
+      loading.value = false;
+    });
+}
+
+/** 鎼滅储鎸夐挳鎿嶄綔 */
+function handleQuery() {
+  queryParams.pageNum = 1;
+  getList();
+}
+
+/** 閲嶇疆鎸夐挳鎿嶄綔 */
+function resetQuery() {
+  handleQuery();
+}
+
+function openDetail(row) {
+  if (popupRef.value) {
+    popupRef.value.open({ mode: 'detail', row });
+  }
+}
+function openConfirm(row) {
+  if (popupRef.value) {
+    popupRef.value.open({ mode: 'confirm', row });
+  }
+}
+
+onMounted(() => {
+  getList();
+});
+</script>
+
+<style scoped lang="scss">
+.table-card {
+  border-radius: 8px;
+  box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.05);
+}
+</style>
+
+<!-- keep-alive child -->

--
Gitblit v1.9.3