Selaa lähdekoodia

采购订单金额小数限制

z 3 päivää sitten
vanhempi
commit
c427a30dc7

+ 8 - 5
src/views/purchase/purchaseOrder/components/PurchaseOrderFormForm.vue

@@ -197,7 +197,7 @@
             </a-col>
             <a-col :span="12">
               <a-form-item label="币种(currency)" v-bind="validateInfos.currency" id="PurchaseOrderFormModal-currency" name="currency">
-                <JDictSelectTag v-model:value="formData.currency" placeholder="请选择" dictCode="currency" @change="handleChangeCurrency" />
+                <JDictSelectTag :disabled="!hasPermission('purCode:pur_order:editBz')" v-model:value="formData.currency" placeholder="请选择" dictCode="currency" @change="handleChangeCurrency" />
               </a-form-item>
             </a-col>
             <a-col :span="12">
@@ -381,6 +381,8 @@
   import { Form, message } from 'ant-design-vue';
   import { useUserStore } from '/@/store/modules/user';
   import moment from 'moment';
+  import { usePermission } from '/@/hooks/web/usePermission';
+  const { hasPermission } = usePermission();
   const useForm = Form.useForm;
   export default defineComponent({
     name: 'PurchaseOrderFormModal',
@@ -855,7 +857,7 @@
       const discountHeadChange = (event) => {
         if (formData.totalAmount) {
           getDiscountAmount();
-          formData.discountAmount = parseFloat(formData.discountAmount) + parseFloat(formData.virtualAmount);
+          formData.discountAmount = (parseFloat(formData.discountAmount) + parseFloat(formData.virtualAmount)).toFixed(2);
         }
       };
       // 计算折扣金额
@@ -879,7 +881,7 @@
           formData.totalAmount = total;
           formData.virtualAmount = other;
           getDiscountAmount();
-          formData.discountAmount = parseFloat(formData.discountAmount) + parseFloat(formData.virtualAmount);
+          formData.discountAmount = (parseFloat(formData.discountAmount) + parseFloat(formData.virtualAmount)).toFixed(2);
           if (data.length < 1) {
             formData.discountHead = 0;
             formData.discountAmount = '';
@@ -929,7 +931,7 @@
               const convertedTaxPriceOriginal = originalTaxPriceOriginal * oldExchangeRate / newExchangeRate;
               return {
                 ...item,
-                taxPriceOriginal: convertedTaxPriceOriginal.toFixed(6) || '',
+                taxPriceOriginal: convertedTaxPriceOriginal.toFixed(4).replace(/\.?0+$/, '') || '',
                 _needUpdate: true // 标记需要更新的行
               };
             });
@@ -946,7 +948,7 @@
             });
           } catch (err) {
             console.error('汇率换算失败:', err);
-            formData.exchangeRate = '';
+            // formData.exchangeRate = '';
           }
       }
       return {
@@ -991,6 +993,7 @@
         SelectSupplierQuotationList,
         addFromQuotation,
         handleChangeCurrency,
+        hasPermission,
       };
     },
   });