ソースを参照

feat: 添加收款日和付款日计算日期枚举,并更新相关逻辑

xieyong 1 週間 前
コミット
fc5ec8fa7f

+ 39 - 21
src/enum/dict.js

@@ -250,51 +250,69 @@ export const produceTypeList = [
   }
 ];
 
-// 付款日计算日期
-export const calcPayDateTypeOp = [
+// 收款日计算日期枚举
+export const ReceiveDateCalcTypeEnum = {
+  ORDER_DATE: 'ORDER_DATE',
+  RECEIVABLE_DATE: 'RECEIVABLE_DATE',
+  INVOICE_DATE: 'INVOICE_DATE',
+  INVOICE_NATURAL_MONTH_END: 'INVOICE_NATURAL_MONTH_END',
+  STATEMENT_DATE: 'STATEMENT_DATE'
+};
+
+// 付款日计算日期枚举
+export const PaymentDateCalcTypeEnum = {
+  ORDER_DATE: 'ORDER_DATE',
+  PAYMENT_DATE: 'PAYMENT_DATE',
+  INVOICE_DATE: 'INVOICE_DATE',
+  INVOICE_NATURAL_MONTH_END: 'INVOICE_NATURAL_MONTH_END',
+  STATEMENT_DATE: 'STATEMENT_DATE'
+};
+
+// 收款日计算日期
+export const calcReceiveDateTypeOp = [
   {
     label: '订单日期',
-    value: 1
+    value: ReceiveDateCalcTypeEnum.ORDER_DATE
   },
   {
-    label: '入库日期',
-    value: 2
+    label: '应收单日期',
+    value: ReceiveDateCalcTypeEnum.RECEIVABLE_DATE
   },
   {
-    label: '收票日期',
-    value: 3
+    label: '票日期',
+    value: ReceiveDateCalcTypeEnum.INVOICE_DATE
   },
   {
-    label: '对账单日期',
-    value: 4
+    label: '开票自然月截止日',
+    value: ReceiveDateCalcTypeEnum.INVOICE_NATURAL_MONTH_END
   },
   {
-    label: '应付单日期',
-    value: 5
+    label: '对账单日期',
+    value: ReceiveDateCalcTypeEnum.STATEMENT_DATE
   }
 ];
 
-// 款日计算日期
-export const calcReceiveDateTypeOp = [
+// 款日计算日期
+export const calcPayDateTypeOp = [
   {
     label: '订单日期',
-    value: '1'
+    value: PaymentDateCalcTypeEnum.ORDER_DATE
   },
   {
-    label: '出库日期',
-    value: '2'
+    label: '应付单日期',
+    value: PaymentDateCalcTypeEnum.PAYMENT_DATE
   },
   {
-    label: '应收单日期',
-    value: '3'
+    label: '开票日期',
+    value: PaymentDateCalcTypeEnum.INVOICE_DATE
   },
   {
-    label: '开票日',
-    value: '4'
+    label: '开票自然月截止日',
+    value: PaymentDateCalcTypeEnum.INVOICE_NATURAL_MONTH_END
   },
   {
     label: '对账单日期',
-    value: '5'
+    value: PaymentDateCalcTypeEnum.STATEMENT_DATE
   }
 ];
 

+ 2 - 2
src/views/rulesManagement/paymentTerms/index.vue

@@ -83,7 +83,7 @@
   import searchForm from './components/searchForm.vue';
   import addDialog from '@/views/rulesManagement/receiveTerms/components/addDialog.vue';
   import tabMixins from '@/mixins/tableColumnsMixin';
-  import { calcReceiveDateTypeOp, payConfirmTypeOp, dateUnitOptions } from '@/enum/dict';
+  import { calcPayDateTypeOp, payConfirmTypeOp, dateUnitOptions } from '@/enum/dict';
   import {
     getTableList,
     deleteInformation,
@@ -139,7 +139,7 @@
             showOverflowTooltip: true,
             minWidth: 160,
             formatter: (row) => {
-              return calcReceiveDateTypeOp.find(item => item.value === row.dateType)?.label || '';
+              return calcPayDateTypeOp.find(item => item.value === row.dateType)?.label || '';
             }
           },
           {

+ 20 - 4
src/views/rulesManagement/receiveTerms/components/addDialog.vue

@@ -42,7 +42,7 @@
           style="width: 100%"
           :disabled="isDetail"
         >
-          <el-option v-for="item in calcReceiveDateTypeOp" :key="item.value" :label="item.label" :value="item.value" />
+          <el-option v-for="item in dateTypeOptions" :key="item.value" :label="item.label" :value="item.value" />
         </el-select>
       </el-form-item>
 
@@ -173,7 +173,14 @@
 
 <script>
   import { addReceiveTerms, updateReceiveTerms, getInfo } from '@/api/rulesManagement/receiveTerms';
-  import { calcReceiveDateTypeOp, payConfirmTypeOp, dateUnitOptions } from '@/enum/dict';
+  import {
+    calcReceiveDateTypeOp,
+    calcPayDateTypeOp,
+    payConfirmTypeOp,
+    dateUnitOptions,
+    PaymentDateCalcTypeEnum,
+    ReceiveDateCalcTypeEnum
+  } from '@/enum/dict';
 
   let paymentId = 0;
 
@@ -191,7 +198,6 @@
         loading: false,
         isUpdate: false,
         isDetail: false,
-        calcReceiveDateTypeOp,
         payConfirmTypeOp,
         // 支付周期单位(天/月/年)
         dateUnitOptions,
@@ -216,6 +222,12 @@
         }
       };
     },
+    computed: {
+      // 收/付款日计算日期:根据 conditionType 切换对应枚举选项
+      dateTypeOptions() {
+        return this.conditionType === 'rules' ? calcReceiveDateTypeOp : calcPayDateTypeOp;
+      }
+    },
     methods: {
       // 生成编码 SKTJ+年月日+3位数字
       generateCode() {
@@ -253,11 +265,15 @@
       },
 
       resetForm() {
+        // 收/付款日计算日期默认值:按当前条件类型取对应枚举的"订单日期"
+        const defaultDateType = this.conditionType === 'rules'
+          ? ReceiveDateCalcTypeEnum.ORDER_DATE
+          : PaymentDateCalcTypeEnum.ORDER_DATE;
         this.form = {
           // id: null,
           code: '',
           name: '',
-          dateType: '1',        // 默认:订单日期
+          dateType: defaultDateType,        // 默认:订单日期
           determinationMethod: '1',         // 默认:交易日(隐藏月数、天数)
           determinationMethodMonth: 0,
           determinationMethodDay: 0,