Просмотр исходного кода

feat(销售订单): 添加创建部门名称自动填充功能

liujt 4 месяцев назад
Родитель
Сommit
ec88940422

+ 29 - 4
src/views/financialManage/paymentPlan/index.vue

@@ -119,12 +119,12 @@
                     </el-link>
                   </template>
                 </el-popconfirm>
-      
+                <!-- 非全部开票,(先款后票,非未付款),(货到付款,非未收货,预交款除外) -->
                 <el-link
                   type="primary"
                   :underline="false"
                   icon="el-icon-plus"
-                  v-if="row.invoiceStatus != 2 && !(row.transactionMode == 2 && row.paymentStatus == 0)"
+                  v-if="canAddInvoice(row)"
                   @click="openEdit('add', row)"
                 >
                   新增发票
@@ -526,7 +526,26 @@ export default {
       cacheKeyUrl: 'eos-5f2ac512-purchaseOrder-paymentPlan',
     };
   },
-  computed: {},
+  computed: {
+    canAddInvoice() {
+      return function(row) {
+        if (!row) return false;
+        
+        const isNotFullInvoiced = row.invoiceStatus != 2;
+        
+        const isPaymentFirstThenInvoice = row.transactionMode == 2;
+        const isNotUnpaid = row.paymentStatus != 0;
+        const paymentCondition = isPaymentFirstThenInvoice && isNotUnpaid;
+        
+        const isCashOnDelivery = row.settlementMode == 3;
+        const isPrepayment = row.paymentType == 1;
+        const isDelivered = row.deliveryStatus != 0;
+        const deliveryCondition = !isCashOnDelivery || (isPrepayment || isDelivered);
+        
+        return isNotFullInvoiced && paymentCondition && deliveryCondition;
+      };
+    }
+  },
   created() {
     this.requestDict('结算方式');
     this.requestDict('客户状态');
@@ -561,15 +580,21 @@ export default {
         let initiatorIds = this.selection.map((item) => item.initiatorId);
         let invoiceStatus = this.selection.map((item) => item.invoiceStatus);
         let flag = false
+        let errMsg = ''
         this.selection.forEach(item => {
           if(item.transactionMode == 2 && item.paymentStatus == 0) {
             console.log('selection', item);
             flag = true
+            errMsg = '先款后票的计划需要付款后再开票!'
+          }
+          if(item.settlementMode == 3 && item.paymentType != 1 && item.deliveryStatus == 0) {
+            flag = true
+            errMsg = '货到付款的计划需要收货后再开票!'
           }
         })
         console.log(customerIds, initiatorIds, flag);
         if(flag) {
-          this.$message.warning('先款后票的计划需要付款后再开票!');
+          this.$message.warning(errMsg);
           return
         }
         if(invoiceStatus.includes(2)) {

+ 1 - 0
src/views/saleManage/saleOrder/components/addDialogNew.vue

@@ -1784,6 +1784,7 @@
           this.form.partbFax = this.enterprisePage[0].fax;
           this.form.partbAddress = this.enterprisePage[0].address;
         }
+        this.form.createDeptName = this.user.info.groupName;
         await this.changeContract(row);
       },
       getEnterprisePage() {