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