fix:同步新华三接口调整,应付单详情添加超链接
parent
4ac353a83a
commit
9a8fe13f28
|
|
@ -244,7 +244,7 @@ export default {
|
|||
};
|
||||
},
|
||||
created() {
|
||||
this.getCompanyList();
|
||||
// this.getCompanyList();
|
||||
},
|
||||
computed: {
|
||||
totalAmountNumber() {
|
||||
|
|
|
|||
|
|
@ -116,7 +116,16 @@
|
|||
<dict-tag :options="dict.type.payment_status" :value="scope.row.paymentStatus"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="paymentBillCode" label="采购-付款单编号"></el-table-column>
|
||||
<el-table-column prop="paymentBillCode" label="采购-付款单编号">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
v-if="scope.row.paymentBillCode"
|
||||
type="text"
|
||||
@click="handlePaymentDetail(scope.row)"
|
||||
>{{ scope.row.paymentBillCode }}</el-button>
|
||||
<span v-else>-</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="回执单/退款图">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.finAttachment">
|
||||
|
|
@ -152,7 +161,16 @@
|
|||
<dict-tag :options="dict.type.receipt_status" :value="scope.row.ticketStatus"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="ticketBillCode" label="采购-收票单编号"></el-table-column>
|
||||
<el-table-column prop="ticketBillCode" label="采购-收票单编号">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
v-if="scope.row.ticketBillCode"
|
||||
type="text"
|
||||
@click="handleTicketDetail(scope.row)"
|
||||
>{{ scope.row.ticketBillCode }}</el-button>
|
||||
<span v-else>-</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="发票/红冲发票">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.finAttachment">
|
||||
|
|
@ -174,6 +192,17 @@
|
|||
</div>
|
||||
|
||||
<GlobalFilePreview ref="filePreview" />
|
||||
<PaymentDetailDrawer
|
||||
:visible.sync="paymentDetailOpen"
|
||||
:detail="paymentDetailData"
|
||||
:z-index="zIndex + 100"
|
||||
@submit="handleUpdatePaymentBillSubmit"
|
||||
/>
|
||||
<ReceiptDetailDrawer
|
||||
:visible.sync="receiptDetailOpen"
|
||||
:detail="receiptDetailData"
|
||||
:z-index="zIndex + 100"
|
||||
/>
|
||||
</div>
|
||||
<!-- <div slot="footer" class="dialog-footer">-->
|
||||
<!-- <el-button @click="handleClose">取 消</el-button>-->
|
||||
|
|
@ -187,6 +216,8 @@
|
|||
import PaymentPlan from './PaymentPlan.vue';
|
||||
import ReceivingTicketPlan from './ReceivingTicketPlan.vue';
|
||||
import { getPayable } from "@/api/finance/payable";
|
||||
import { getPayment, updatePaymentBill } from "@/api/finance/payment";
|
||||
import { getReceipt } from "@/api/finance/receipt";
|
||||
import ReceiptPlan from "@/views/finance/receivable/components/ReceiptPlan.vue";
|
||||
import GlobalFilePreview from '@/components/GlobalFilePreview';
|
||||
|
||||
|
|
@ -197,7 +228,9 @@ export default {
|
|||
ReceiptPlan,
|
||||
PaymentPlan,
|
||||
ReceivingTicketPlan,
|
||||
GlobalFilePreview
|
||||
GlobalFilePreview,
|
||||
PaymentDetailDrawer: () => import("@/views/finance/payment/components/DetailDrawer.vue"),
|
||||
ReceiptDetailDrawer: () => import("@/views/finance/receipt/components/DetailDrawer.vue")
|
||||
},
|
||||
props: {
|
||||
visible: {
|
||||
|
|
@ -218,6 +251,10 @@ export default {
|
|||
internalVisible: this.visible, // Local copy of the visible prop
|
||||
activeTab: 'details',
|
||||
formData: {},
|
||||
paymentDetailOpen: false,
|
||||
paymentDetailData: {},
|
||||
receiptDetailOpen: false,
|
||||
receiptDetailData: null,
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
|
|
@ -249,6 +286,41 @@ export default {
|
|||
downloadFile(attachment){
|
||||
this.$refs.filePreview.downloadFile(attachment);
|
||||
},
|
||||
handlePaymentDetail(row) {
|
||||
const paymentId = row.paymentBillId || row.paymentId || row.id;
|
||||
if (!paymentId) {
|
||||
this.$modal.msgWarning("未获取到付款单ID");
|
||||
return;
|
||||
}
|
||||
getPayment(paymentId).then(response => {
|
||||
this.paymentDetailData = response.data || {};
|
||||
this.paymentDetailData.approveNode = row.approveNode;
|
||||
this.paymentDetailOpen = true;
|
||||
});
|
||||
},
|
||||
handleTicketDetail(row) {
|
||||
const ticketId = row.ticketBillId || row.receiptId || row.id;
|
||||
if (!ticketId) {
|
||||
this.$modal.msgWarning("未获取到收票单ID");
|
||||
return;
|
||||
}
|
||||
getReceipt(ticketId).then(response => {
|
||||
this.receiptDetailData = response.data || null;
|
||||
if (this.receiptDetailData) {
|
||||
this.receiptDetailData.approveNode = row.approveNode;
|
||||
}
|
||||
this.receiptDetailOpen = true;
|
||||
});
|
||||
},
|
||||
handleUpdatePaymentBillSubmit(form) {
|
||||
updatePaymentBill(form).then(() => {
|
||||
this.$modal.msgSuccess("保存成功");
|
||||
this.paymentDetailOpen = false;
|
||||
}).catch(error => {
|
||||
console.error("保存补充附件失败", error);
|
||||
this.$modal.msgError("保存失败");
|
||||
});
|
||||
},
|
||||
getSummaries(param) {
|
||||
const { columns, data } = param;
|
||||
const sums = [];
|
||||
|
|
|
|||
|
|
@ -4,6 +4,8 @@
|
|||
:visible.sync="visible"
|
||||
direction="rtl"
|
||||
size="70%"
|
||||
append-to-body
|
||||
:z-index="zIndex"
|
||||
:wrapper-closable="false"
|
||||
@close="handleClose"
|
||||
>
|
||||
|
|
@ -164,6 +166,10 @@ export default {
|
|||
type: Object,
|
||||
default: () => {},
|
||||
},
|
||||
zIndex: {
|
||||
type: Number,
|
||||
default: 2000,
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
|
|
|
|||
|
|
@ -4,6 +4,8 @@
|
|||
:visible.sync="visible"
|
||||
direction="rtl"
|
||||
size="70%"
|
||||
append-to-body
|
||||
:z-index="zIndex"
|
||||
@close="handleClose"
|
||||
>
|
||||
<div class="dialog-body" v-if="detail">
|
||||
|
|
@ -117,6 +119,10 @@ export default {
|
|||
type: Object,
|
||||
default: () => null,
|
||||
},
|
||||
zIndex: {
|
||||
type: Number,
|
||||
default: 2000,
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
|
|
|
|||
|
|
@ -166,10 +166,12 @@ public class DeliveryListServiceImpl implements IDeliveryListService {
|
|||
Collectors.groupingBy(OrderList::getOrderId, Collectors.mapping(OrderList::getProductInfo, Collectors.toList())));
|
||||
|
||||
|
||||
// 查询标准硬件维保的产品信息
|
||||
// 查询服务维保的产品信息
|
||||
ProductInfo productInfo = new ProductInfo();
|
||||
productInfo.setType(ProductInfo.ProductTypeEnum.HARDWARE_MAINTENANCE.getType());
|
||||
List<ProductInfo> productInfos = productInfoMapper.selectProductInfoList(productInfo);
|
||||
productInfo.setType(ProductInfo.ProductTypeEnum.SERVICE.getType());
|
||||
productInfos.addAll(productInfoMapper.selectProductInfoList(productInfo));
|
||||
// 设置服务等级和服务结束时间
|
||||
for (DeliveryInfoVo deliveryInfoVo : deliveryInfoVos) {
|
||||
updateDeliveryInfoVo(deliveryInfoVo, maintenanceTypeMap, productInfos);
|
||||
|
|
|
|||
|
|
@ -276,6 +276,9 @@ public class ExecutionTrackServiceImpl implements IExecutionTrackService {
|
|||
//剔除流程
|
||||
todoService.deleteTodoByBusinessKey(projectOrderInfo.getOrderCode());
|
||||
|
||||
//还原库存
|
||||
inventoryInfoService.recallByOrderCode(Collections.singletonList(projectOrderInfo.getOrderCode()));
|
||||
|
||||
//累计发货
|
||||
List<InventoryDelivery> inventoryDeliveries = deliveryMapper.selectQuantityByOrderCodeStatus(projectOrderInfo.getOrderCode(), InventoryDelivery.DeliveryStatusEnum.CONFIRM_DELIVERY.getCode());
|
||||
if (CollUtil.isNotEmpty(inventoryDeliveries)) {
|
||||
|
|
@ -329,10 +332,5 @@ public class ExecutionTrackServiceImpl implements IExecutionTrackService {
|
|||
if (CollUtil.isNotEmpty(updateMap.values())) {
|
||||
productInfoService.updateCount(new ArrayList<>(updateMap.values()));
|
||||
}
|
||||
|
||||
//还原库存
|
||||
inventoryInfoService.recallByOrderCode(Collections.singletonList(projectOrderInfo.getOrderCode()));
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -365,10 +365,12 @@ public class InventoryDeliveryServiceImpl implements IInventoryDeliveryService {
|
|||
|
||||
Map<Long, List<ProjectProductInfo>> maintenanceTypeMap = projectProductInfos.stream().collect(Collectors.groupingBy(ProjectProductInfo::getProjectId));
|
||||
|
||||
// 查询标准硬件维保的产品信息
|
||||
// 查询服务维保的产品信息
|
||||
ProductInfo productInfo = new ProductInfo();
|
||||
productInfo.setType(ProductInfo.ProductTypeEnum.HARDWARE_MAINTENANCE.getType());
|
||||
List<ProductInfo> productInfos = productInfoService.selectProductInfoList(productInfo);
|
||||
productInfo.setType(ProductInfo.ProductTypeEnum.SERVICE.getType());
|
||||
productInfos.addAll(productInfoService.selectProductInfoList(productInfo));
|
||||
// 设置服务等级和服务结束时间
|
||||
for (DeliveryInfoVo deliveryInfoVo : resultList) {
|
||||
updateDeliveryInfoVo(deliveryInfoVo, maintenanceTypeMap, productInfos);
|
||||
|
|
|
|||
|
|
@ -360,8 +360,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
LEFT JOIN project_info t2 ON t1.project_id = t2.id
|
||||
LEFT JOIN agent_info t3 ON t2.agent_code = t3.agent_code
|
||||
LEFT JOIN customer_info t4 ON t2.customer_code = t4.customer_code
|
||||
where t1.order_code in ( select DISTINCT order_code from oms_inventory_outer where outer_code in (SELECT outer_code from oms_inventory_delivery where delivery_status=1)
|
||||
)
|
||||
where (
|
||||
CAST(ifnull(t1.version_code,0) + ifnull(t1.operation_version,0) AS SIGNED) > 1 or
|
||||
t1.order_code in ( select DISTINCT order_code from oms_inventory_outer where outer_code in (SELECT outer_code from oms_inventory_delivery where delivery_status=1))
|
||||
)
|
||||
<choose>
|
||||
<when test="updateTimeStart!=null and updateTimeEnd!=null">
|
||||
and t1.update_time between #{updateTimeStart} and #{updateTimeEnd}
|
||||
|
|
|
|||
Loading…
Reference in New Issue