|
|
@@ -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)) {
|