Przeglądaj źródła

fix(财务模块): 修复付款计划与收款计划相关显示问题

liujt 5 miesięcy temu
rodzic
commit
069745c725

+ 4 - 1
src/BIZComponents/paymentCollectionPlan/Detail.vue

@@ -275,7 +275,10 @@
             label: '款项类型',
             // slot: 'paymentType',
             // headerSlot: 'headerPaymentType',
-            align: 'center'
+            align: 'center',
+            formatter: (row) => {
+              return this.paymentTypeOp.find(item => item.value == row.paymentType)?.label || '';
+            }
           },
           {
             prop: 'moneyName',

+ 23 - 3
src/BIZComponents/paymentCollectionPlan/Index.vue

@@ -17,7 +17,7 @@
             icon="el-icon-plus"
             class="ele-btn-icon"
             @click="handlAdd"
-            v-if="type!='view'"
+            v-if="showAddBtn"
             >
             新增
             </el-button>
@@ -177,7 +177,7 @@
           <el-date-picker
             style="width: 140px"
             v-model="scope.row.deadLine"
-            :disabled="type=='view'"
+            :disabled="!showAddBtn"
             type="date"
             placeholder="选择日期"
           >
@@ -231,6 +231,10 @@
       discountTotalPrice: {
         type: [Number, String],
         default: 0
+      },
+      info: {
+        type: Object,
+        default: () => {}
       }
     },
     data() {
@@ -263,6 +267,11 @@
       canHandl() {
         return this.form.datasource.length;
       },
+      showAddBtn() {
+        // console.log('showAddBtn~~~~', this.type, this.info.settlementMode);
+        // console.log('showAddBtn!!!!',!['1', '2'].includes(this.info.settlementMode) || this.type != 'view');
+        return !(['1', '2'].includes(this.info?.settlementMode)) && this.type != 'view'
+      },
       columns() {
         return [
           {
@@ -335,7 +344,7 @@
             resizable: false,
             slot: 'action',
             showOverflowTooltip: true,
-            show: this.type != 'view'
+            show: this.showAddBtn
           }
         ];
       },
@@ -351,6 +360,15 @@
         if (newval) {
           this.refreshprice();
         }
+      },
+      info: {
+        handler(newval) {
+          if (newval) {
+            // this.form = newval;
+            console.log('111111', newval.settlementMode);
+          }
+        },
+        deep: true
       }
     },
     methods: {
@@ -446,6 +464,7 @@
           if (row.id) {
             this.delDetailIds.push(row.id);
           }
+          this.$emit('getIssueNumber', this.form.datasource.length);
         }
       },
       // 清空表格
@@ -612,6 +631,7 @@
         item.key = this.form.datasource.length + 1;
         item.issueNumber = this.form.datasource.length + 1;
         this.form.datasource.push(item);
+        this.$emit('getIssueNumber', this.form.datasource.length);
       },
 
       // validateForm(callback) {

+ 6 - 0
src/views/contractManage/contractBook/components/addDialogNew.vue

@@ -8,6 +8,7 @@
     :close-on-click-modal="false"
     width="70%"
     append-to-body
+    destroy-on-close
     @close="cancel"
     :maxable="true"
     :resizable="true"
@@ -695,6 +696,8 @@
        <PaymentCollectionPlan
         ref="paymentCollectionPlanRef"
         :menu="form.type == '2' ? 'purchase' : 'sale'"
+        :info="form"
+        @getIssueNumber="setIssueNumber"
       ></PaymentCollectionPlan>
     </el-form>
 
@@ -1266,6 +1269,9 @@
           this.$set(this.form, 'contractNumber', '');
         }
       },
+      setIssueNumber(len) {
+        this.form.issueNumber = len;
+      },
       //获取详情
       async getDetailData(id) {
         this.businessId = id;

+ 5 - 2
src/views/financialManage/collectionPlan/index.vue

@@ -122,7 +122,7 @@
       :add-or-edit-dialog-flag.sync="addOrEditDialogNewFlag"
       v-if="addOrEditDialogNewFlag"
       :isEditType="false"
-      @success="reload"
+      @reload="reload"
     />
 
     <!-- 销售订单详情 -->
@@ -363,7 +363,10 @@ export default {
           label: '比例',
           align: 'center',
           showOverflowTooltip: true,
-          minWidth: 140
+          minWidth: 140,
+          formatter: (row) => {
+            return row.paymentRatio + '%';
+          }
         },
         {
           prop: 'planPaymentAmount',

+ 1 - 1
src/views/financialManage/invoiceManage/components/addOrEditDialogNew.vue

@@ -276,7 +276,7 @@
       </el-row>
     
       <div style="margin-top: 20px;">
-        <headerTitle title="收款计划信息"></headerTitle>
+        <headerTitle :title="form.type == 2 ? '付款计划信息' : '收款计划信息'"></headerTitle>
         <!-- <el-form ref="form" :model="tableForm"> -->
           <ele-pro-table
             ref="table"

+ 1 - 1
src/views/financialManage/invoiceManage/components/tableInfoNew.vue

@@ -68,7 +68,7 @@
                 }
               ]"
             > 
-              <span v-if="dialogType === 'view'">{{ scope.row.taxRate }}%</span>
+              <span v-if="dialogType === 'view'">{{ scope.row.taxRate }}</span>
               <el-input v-else v-model="scope.row.taxRate" type="number" @input="getNotaxSinglePrice(scope.row, idx, scope.$index)" style="width: 80%;"></el-input>%
             </el-form-item>
           </template>

+ 1 - 1
src/views/financialManage/invoiceManage/index.vue

@@ -253,7 +253,7 @@
           {
             minWidth: 80,
             prop: 'amount',
-            label: '金额',
+            label: '开票金额',
             slot: 'amount',
             align: 'center',
             showOverflowTooltip: true

+ 1 - 1
src/views/financialManage/paymentPlan/components/searchTable.vue

@@ -27,7 +27,7 @@ export default {
           label: '关键字:',
           value: 'keyWord',
           type: 'input',
-          placeholder: '款计划编码/来源单据编码/客户名称'
+          placeholder: '款计划编码/来源单据编码/客户名称'
         },
         {
           label: '款项类型:',

+ 12 - 9
src/views/financialManage/paymentPlan/index.vue

@@ -170,7 +170,7 @@
       :add-or-edit-dialog-flag.sync="addOrEditDialogNewFlag"
       v-if="addOrEditDialogNewFlag"
       :isEditType="false"
-      @success="reload"
+      @reload="reload"
     />
 
     <payableOrderDetailDialog ref="payableOrderDetailDialogRef" v-if="payableOrderDetailDialogFlag" :detail-dialog-flag.sync="payableOrderDetailDialogFlag"></payableOrderDetailDialog>
@@ -185,7 +185,7 @@ import purchasingDetail from '@/views/purchasingManage/purchaseOrder/components/
 import dictMixins from '@/mixins/dictMixins';
 import tabMixins from '@/mixins/tableColumnsMixin';
   import { receiptPaymentPlanPage } from '@/api/financialManage/payAndCollectPlan';
-  import { shippingModeOp, transactionMethodsOp, paymentTypeOp, paymentType, invoiceStatusOp } from '@/enum/dict.js';
+  import { shippingModePurchaseOp, transactionMethodsOp, paymentTypeOp, paymentType, invoiceStatusOp } from '@/enum/dict.js';
 import addOrEditDialogNew from '@/views/financialManage/invoiceManage/components/addOrEditDialogNew.vue'
 import invoiceDetailDialog from '@/views/financialManage/invoiceManage/components/detailDialog.vue';
 import payableOrderDetailDialog from '@/views/financialManage/payableManage/components/detailDialog.vue';
@@ -206,7 +206,7 @@ export default {
       activeComp: 'paymentPlan',
       payableOrderDetailDialogFlag: false,
       addOrEditDialogNewFlag: false,
-      shippingModeOp,
+      shippingModePurchaseOp,
       transactionMethodsOp,
       paymentTypeOp,
       paymentType,
@@ -363,12 +363,12 @@ export default {
         },
         {
           prop: 'deliveryMode',
-          label: '货模式',
+          label: '货模式',
           align: 'center',
           showOverflowTooltip: true,
           minWidth: 130,
           formatter: (row) => {
-            return this.shippingModeOp.find(item => item.value == row.deliveryMode)?.label || '';
+            return this.shippingModePurchaseOp.find(item => item.value == row.deliveryMode)?.label || '';
           }
         },
 
@@ -401,18 +401,21 @@ export default {
           label: '比例',
           align: 'center',
           showOverflowTooltip: true,
-          minWidth: 140
+          minWidth: 140,
+          formatter: (row) => {
+            return row.paymentRatio + '%';
+          }
         },
         {
           prop: 'planPaymentAmount',
-          label: '计划款金额',
+          label: '计划款金额',
           align: 'center',
           showOverflowTooltip: true,
           minWidth: 140
         },
         {
           prop: 'planPaymentDate',
-          label: '计划款日期',
+          label: '计划款日期',
           align: 'center',
           showOverflowTooltip: true,
           minWidth: 140
@@ -596,7 +599,7 @@ export default {
       }
       this.addOrEditDialogNewFlag = true;
         this.$nextTick(() => {
-          this.$refs.addOrEditDialogNewRef.createInvoice1(this.selection, '2', 7);
+          this.$refs.addOrEditDialogNewRef.createInvoice1(select, '2', 7);
         });
       
       // this.$refs.addOrEditDialogNewRef.$refs.form &&

+ 5 - 2
src/views/saleManage/saleOrder/components/addDialogNew.vue

@@ -943,6 +943,9 @@
     },
     computed: {
       ...mapGetters(['user']),
+      clientEnvironmentId() {
+        return this.$store.state.user.info.clientEnvironmentId;
+      },
       rules() {
         let isRequired = this.isRequired;
         return {
@@ -1700,8 +1703,8 @@
       async open(type, row, contactCategoryId) {
         this.businessId = '';
         this.title = type === 'add' ? '新增' : '修改';
-        this.clientEnvironmentId =
-          this.$store.state.user.info.clientEnvironmentId;
+        // this.clientEnvironmentId =
+        //   this.$store.state.user.info.clientEnvironmentId;
         this.row = row;
         if (this.enterprisePage.length == 0) {
           await this.getEnterprisePage();