From 2d141bd4d1d2826ff64a097e459856b41508ca55 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期三, 06 五月 2026 15:11:04 +0800
Subject: [PATCH] 进销存pro 1.税率选择框都改为查字典

---
 src/views/procurementManagement/procurementLedger/index.vue   |   13 +++---
 src/views/projectManagement/Management/components/formDia.vue |   11 +++--
 src/views/salesManagement/salesLedger/index.vue               |   13 +++---
 src/views/financialManagement/receivable/invoiceApply.vue     |   16 +++++---
 src/views/financialManagement/receivable/outputInvoice.vue    |   16 +++++---
 src/views/equipmentManagement/ledger/Form.vue                 |   21 +++++-----
 src/views/financialManagement/payable/input-invoice.vue       |   16 +++++---
 7 files changed, 61 insertions(+), 45 deletions(-)

diff --git a/src/views/equipmentManagement/ledger/Form.vue b/src/views/equipmentManagement/ledger/Form.vue
index 72d594e..45ca248 100644
--- a/src/views/equipmentManagement/ledger/Form.vue
+++ b/src/views/equipmentManagement/ledger/Form.vue
@@ -100,22 +100,18 @@
       </el-col>
       <el-col :span="12">
         <el-form-item label="绋庣巼(%)" prop="taxRate">
-          <!-- <el-input
-            v-model="form.taxRate"
-            placeholder="璇疯緭鍏ョ◣鐜�"
-            type="number"
-          >
-            <template #append> % </template>
-          </el-input> -->
           <el-select
             v-model="form.taxRate"
             placeholder="璇烽�夋嫨"
             clearable
             @change="mathNum"
           >
-            <el-option label="1" :value="1" />
-            <el-option label="6" :value="6" />
-            <el-option label="13" :value="13" />
+            <el-option
+              v-for="dict in tax_rate"
+              :key="dict.value"
+              :label="dict.label"
+              :value="Number(dict.value)"
+            />
           </el-select>
         </el-form-item>
       </el-col>
@@ -174,7 +170,10 @@
   calculateTaxExclusiveTotalPrice,
 } from "@/utils/summarizeTable";
 import { ElMessage } from "element-plus";
-import {ref} from "vue";
+import {ref, getCurrentInstance} from "vue";
+
+const { proxy } = getCurrentInstance();
+const { tax_rate } = proxy.useDict("tax_rate");
 
 defineOptions({
   name: "璁惧鍙拌处琛ㄥ崟",
diff --git a/src/views/financialManagement/payable/input-invoice.vue b/src/views/financialManagement/payable/input-invoice.vue
index b809c98..660d0dd 100644
--- a/src/views/financialManagement/payable/input-invoice.vue
+++ b/src/views/financialManagement/payable/input-invoice.vue
@@ -104,11 +104,12 @@
           <el-col :span="8">
             <el-form-item label="绋庣巼" prop="taxRate">
               <el-select v-model="form.taxRate" placeholder="璇烽�夋嫨绋庣巼" style="width: 100%;" @change="calculateTax">
-                <el-option label="0%" :value="0" />
-                <el-option label="3%" :value="3" />
-                <el-option label="6%" :value="6" />
-                <el-option label="9%" :value="9" />
-                <el-option label="13%" :value="13" />
+                <el-option
+                  v-for="dict in tax_rate"
+                  :key="dict.value"
+                  :label="dict.label"
+                  :value="Number(dict.value)"
+                />
               </el-select>
             </el-form-item>
           </el-col>
@@ -150,7 +151,7 @@
 </template>
 
 <script setup>
-import { ref, reactive, onMounted } from "vue";
+import { ref, reactive, onMounted, getCurrentInstance } from "vue";
 import { ElMessage, ElMessageBox } from "element-plus";
 import FormDialog from "@/components/Dialog/FormDialog.vue";
 
@@ -158,6 +159,9 @@
   name: "杩涢」鍙戠エ",
 });
 
+const { proxy } = getCurrentInstance();
+const { tax_rate } = proxy.useDict("tax_rate");
+
 const filters = reactive({
   invoiceCode: "",
   invoiceNo: "",
diff --git a/src/views/financialManagement/receivable/invoiceApply.vue b/src/views/financialManagement/receivable/invoiceApply.vue
index be9621d..2a4bd81 100644
--- a/src/views/financialManagement/receivable/invoiceApply.vue
+++ b/src/views/financialManagement/receivable/invoiceApply.vue
@@ -86,11 +86,12 @@
           <el-col :span="12">
             <el-form-item label="绋庣巼" prop="taxRate">
               <el-select v-model="form.taxRate" placeholder="璇烽�夋嫨绋庣巼" style="width: 100%;">
-                <el-option label="0%" :value="0" />
-                <el-option label="3%" :value="3" />
-                <el-option label="6%" :value="6" />
-                <el-option label="9%" :value="9" />
-                <el-option label="13%" :value="13" />
+                <el-option
+                  v-for="dict in tax_rate"
+                  :key="dict.value"
+                  :label="dict.label"
+                  :value="Number(dict.value)"
+                />
               </el-select>
             </el-form-item>
           </el-col>
@@ -127,7 +128,7 @@
 </template>
 
 <script setup>
-import { ref, reactive, onMounted } from "vue";
+import { ref, reactive, onMounted, getCurrentInstance } from "vue";
 import { ElMessage, ElMessageBox } from "element-plus";
 import FormDialog from "@/components/Dialog/FormDialog.vue";
 
@@ -135,6 +136,9 @@
   name: "寮�绁ㄧ敵璇�",
 });
 
+const { proxy } = getCurrentInstance();
+const { tax_rate } = proxy.useDict("tax_rate");
+
 const filters = reactive({
   applyCode: "",
   customerId: "",
diff --git a/src/views/financialManagement/receivable/outputInvoice.vue b/src/views/financialManagement/receivable/outputInvoice.vue
index 1f6b0a4..3e597db 100644
--- a/src/views/financialManagement/receivable/outputInvoice.vue
+++ b/src/views/financialManagement/receivable/outputInvoice.vue
@@ -98,11 +98,12 @@
           <el-col :span="12">
             <el-form-item label="绋庣巼" prop="taxRate">
               <el-select v-model="form.taxRate" placeholder="璇烽�夋嫨绋庣巼" style="width: 100%;" @change="calculateTax">
-                <el-option label="0%" :value="0" />
-                <el-option label="3%" :value="3" />
-                <el-option label="6%" :value="6" />
-                <el-option label="9%" :value="9" />
-                <el-option label="13%" :value="13" />
+                <el-option
+                  v-for="dict in tax_rate"
+                  :key="dict.value"
+                  :label="dict.label"
+                  :value="Number(dict.value)"
+                />
               </el-select>
             </el-form-item>
           </el-col>
@@ -140,7 +141,7 @@
 </template>
 
 <script setup>
-import { ref, reactive, onMounted, computed } from "vue";
+import { ref, reactive, onMounted, computed, getCurrentInstance } from "vue";
 import { ElMessage, ElMessageBox } from "element-plus";
 import FormDialog from "@/components/Dialog/FormDialog.vue";
 
@@ -148,6 +149,9 @@
   name: "閿�椤瑰彂绁�",
 });
 
+const { proxy } = getCurrentInstance();
+const { tax_rate } = proxy.useDict("tax_rate");
+
 const filters = reactive({
   invoiceCode: "",
   invoiceNo: "",
diff --git a/src/views/procurementManagement/procurementLedger/index.vue b/src/views/procurementManagement/procurementLedger/index.vue
index 28fb968..7c8cb89 100644
--- a/src/views/procurementManagement/procurementLedger/index.vue
+++ b/src/views/procurementManagement/procurementLedger/index.vue
@@ -526,12 +526,12 @@
                          placeholder="璇烽�夋嫨"
                          clearable
                          @change="mathNum">
-                <el-option label="1"
-                           value="1"/>
-                <el-option label="6"
-                           value="6"/>
-                <el-option label="13"
-                           value="13"/>
+                <el-option
+                  v-for="dict in tax_rate"
+                  :key="dict.value"
+                  :label="dict.label"
+                  :value="dict.value"
+                />
               </el-select>
             </el-form-item>
           </el-col>
@@ -673,6 +673,7 @@
   const FileList = defineAsyncComponent(() => import("@/components/Dialog/FileList.vue"));
 
 const {proxy} = getCurrentInstance();
+const { tax_rate } = proxy.useDict("tax_rate");
 const tableData = ref([]);
 const productData = ref([]);
 const selectedRows = ref([]);
diff --git a/src/views/projectManagement/Management/components/formDia.vue b/src/views/projectManagement/Management/components/formDia.vue
index f29512b..c2ee9c2 100644
--- a/src/views/projectManagement/Management/components/formDia.vue
+++ b/src/views/projectManagement/Management/components/formDia.vue
@@ -571,9 +571,12 @@
         <el-col :span="12">
           <el-form-item label="绋庣巼(%)锛�" prop="taxRate">
             <el-select v-model="productForm.taxRate" placeholder="璇烽�夋嫨" clearable @change="calculateFromTaxRate">
-              <el-option label="1" value="1" />
-              <el-option label="6" value="6" />
-              <el-option label="13" value="13" />
+              <el-option
+                v-for="dict in tax_rate"
+                :key="dict.value"
+                :label="dict.label"
+                :value="dict.value"
+              />
             </el-select>
           </el-form-item>
         </el-col>
@@ -650,7 +653,7 @@
 
 const emit = defineEmits(['completed'])
 const { proxy } = getCurrentInstance()
-const { bill_status, project_management, plan_status } = proxy.useDict('bill_status', 'project_management', 'plan_status')
+const { bill_status, project_management, plan_status, tax_rate } = proxy.useDict('bill_status', 'project_management', 'plan_status', 'tax_rate')
 
 const dialogVisible = ref(false)
 const operationType = ref('add')
diff --git a/src/views/salesManagement/salesLedger/index.vue b/src/views/salesManagement/salesLedger/index.vue
index 7849b60..c6184c8 100644
--- a/src/views/salesManagement/salesLedger/index.vue
+++ b/src/views/salesManagement/salesLedger/index.vue
@@ -640,12 +640,12 @@
                          placeholder="璇烽�夋嫨"
                          clearable
                          @change="calculateFromTaxRate">
-                <el-option label="1"
-                           value="1"/>
-                <el-option label="6"
-                           value="6"/>
-                <el-option label="13"
-                           value="13"/>
+                <el-option
+                  v-for="dict in tax_rate"
+                  :key="dict.value"
+                  :label="dict.label"
+                  :value="dict.value"
+                />
               </el-select>
             </el-form-item>
           </el-col>
@@ -996,6 +996,7 @@
 const route = useRoute();
 const userStore = useUserStore();
 const {proxy} = getCurrentInstance();
+const { tax_rate } = proxy.useDict("tax_rate");
 const tableData = ref([]);
 const productData = ref([]);
 const selectedRows = ref([]);

--
Gitblit v1.9.3