From de544ce8cfa5c95ae38bed31404df3650b2022aa Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期二, 09 六月 2026 13:36:11 +0800
Subject: [PATCH] feat(salesLedger): 添加批量操作按钮的禁用逻辑
---
src/views/salesManagement/salesLedger/index.vue | 56 +++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 47 insertions(+), 9 deletions(-)
diff --git a/src/views/salesManagement/salesLedger/index.vue b/src/views/salesManagement/salesLedger/index.vue
index 48d1a76..18d58e3 100644
--- a/src/views/salesManagement/salesLedger/index.vue
+++ b/src/views/salesManagement/salesLedger/index.vue
@@ -105,15 +105,19 @@
@confirm="handleProcessFlowSelectConfirm" />
<el-space wrap>
<el-button type="primary"
- @click="handleAudit">瀹℃牳</el-button>
+ @click="handleAudit"
+ :disabled="isBatchButtonDisabled('audit')">瀹℃牳</el-button>
<el-button type="primary"
- @click="handleReverseAudit">鍙嶅</el-button>
+ @click="handleReverseAudit"
+ :disabled="isBatchButtonDisabled('reverseAudit')">鍙嶅</el-button>
<el-button type="primary"
- @click="handleSalesStock">鍏ュ簱</el-button>
+ @click="handleSalesStock"
+ :disabled="isBatchButtonDisabled('stock')">鍏ュ簱</el-button>
<el-button type="primary"
@click="openForm('add')">鏂板鍙拌处</el-button>
<el-button type="primary"
- @click="handleBulkDelivery">鍙戣揣</el-button>
+ @click="handleBulkDelivery"
+ :disabled="isBatchButtonDisabled('delivery')">鍙戣揣</el-button>
<el-button type="primary"
plain
@click="handleImport">瀵煎叆</el-button>
@@ -131,13 +135,16 @@
</el-dropdown-menu>
</template>
</el-dropdown>
- <el-button @click="handleOut">瀵煎嚭</el-button>
+ <el-button @click="handleOut"
+ :disabled="isBatchButtonDisabled('export')">瀵煎嚭</el-button>
<el-button type="danger"
plain
- @click="handleDelete">鍒犻櫎</el-button>
+ @click="handleDelete"
+ :disabled="isBatchButtonDisabled('delete')">鍒犻櫎</el-button>
<el-dropdown @command="handlePrintCommand">
<el-button type="primary"
- plain>
+ plain
+ :disabled="isBatchButtonDisabled('print')">
鎵撳嵃鍗曟嵁<el-icon class="el-icon--right">
<ArrowDown />
</el-icon>
@@ -152,7 +159,8 @@
</el-dropdown>
<el-button type="primary"
plain
- @click="handlePrintLabel">鎵撳嵃鏍囩</el-button>
+ @click="handlePrintLabel"
+ :disabled="isBatchButtonDisabled('print')">鎵撳嵃鏍囩</el-button>
</el-space>
</div>
<el-table :data="tableData"
@@ -445,7 +453,7 @@
<el-button link
type="primary"
@click="openForm('edit', scope.row)"
- :disabled="!scope.row.isEdit">缂栬緫</el-button>
+ :disabled="Number(scope.row.reviewStatus) === 1">缂栬緫</el-button>
<el-button link
type="primary"
@click="openProcessFlowSelect(scope.row)"
@@ -2985,6 +2993,36 @@
handleQuery();
};
+ /** 鎵归噺鎸夐挳绂佺敤鍒ゆ柇锛氭牴鎹�変腑琛岀殑瀹℃牳鐘舵�佹帶鍒舵寜閽彲鐢ㄦ��
+ * 鏈鏍�(0)锛氬彧鑳藉鏍搞�佸垹闄ゃ�佺紪杈�
+ * 宸插鏍�(1)锛氬彲浠ュ弽瀹°�佸叆搴撱�佸彂璐с�佸鍑恒�佹墦鍗般�佸伐鑹鸿矾绾�
+ * 鏈�変腑浠讳綍琛屾椂鎵�鏈夋壒閲忔寜閽鐢�
+ */
+ const isBatchButtonDisabled = (action) => {
+ if (selectedRows.value.length === 0) return true;
+ const statuses = selectedRows.value.map(r => Number(r.reviewStatus));
+ const allUnreviewed = statuses.every(s => s === 0);
+ const allReviewed = statuses.every(s => s === 1);
+ switch (action) {
+ case 'audit':
+ return !allUnreviewed;
+ case 'reverseAudit':
+ return !allReviewed;
+ case 'stock':
+ return !allReviewed;
+ case 'delivery':
+ return !allReviewed;
+ case 'export':
+ return !allReviewed;
+ case 'delete':
+ return !allUnreviewed;
+ case 'print':
+ return !allReviewed;
+ default:
+ return false;
+ }
+ };
+
// 鏌ヨ鍒楄〃
/** 鎼滅储鎸夐挳鎿嶄綔 */
const handleQuery = () => {
--
Gitblit v1.9.3