From 2a73a99011accc1b31a49cdfcef720d5c08309ea Mon Sep 17 00:00:00 2001 From: fanzongzhe <285169773@qq.com> Date: Fri, 2 Aug 2024 09:38:13 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E5=AE=8C=E5=96=84=E7=BB=B4=E4=BF=AE?= =?UTF-8?q?=E5=B7=A5=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AsBusrepairBillService.java | 154 +++++++++++++++++- 1 file changed, 148 insertions(+), 6 deletions(-) diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java index 52cf35e866..a4d896c6fb 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java @@ -61,7 +61,9 @@ import com.yxt.anrui.as.feign.wms.wmsoldinventory.WmsOldInventoryFeign; import com.yxt.anrui.as.feign.wms.wmsoldinventory.WmsOldInventoryPush; import com.yxt.common.base.config.component.FileUploadComponent; import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.ConstantUtils; import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.base.utils.WordConvertUtils; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; @@ -71,12 +73,16 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.io.File; +import java.io.InputStream; import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.ZoneId; import java.util.*; +import static java.util.Comparator.comparing; + /** * @description: * @author: dimengzhe @@ -131,6 +137,7 @@ public class AsBusrepairBillService extends MybatisBaseService claimNos = asBusclaimBillService.selectByRepairBillSid(sid); if (!claimNos.isEmpty()) { - vo.setClaimNo(String.join(",",claimNos)); + vo.setClaimNo(String.join(",", claimNos)); } if (StringUtils.isNotBlank(detailsVo.getVinNo())) { vo.setVinNo(detailsVo.getVinNo()); @@ -1327,15 +1335,15 @@ public class AsBusrepairBillService extends MybatisBaseService detailsVos = detailsVo.getGoodsDetailsVos(); + if (!detailsVos.isEmpty()) { + List goodsPdfVos = new ArrayList<>(); + for (int i = 0; i < detailsVos.size(); i++) { + GoodsDetailsVo goodsDetailsVo = detailsVos.get(i); + SettleGoodsPdfVo goodsPdfVo = new SettleGoodsPdfVo(); + BeanUtil.copyProperties(goodsDetailsVo, goodsPdfVo); + goodsPdfVo.setSortNo(String.valueOf(i + 1)); + BigDecimal price = BigDecimal.ZERO; + BigDecimal amount = BigDecimal.ZERO; + if (StringUtils.isNotBlank(goodsDetailsVo.getPrice())) { + price = new BigDecimal(goodsDetailsVo.getPrice()); + } + if (StringUtils.isNotBlank(goodsDetailsVo.getAmount())) { + amount = new BigDecimal(goodsDetailsVo.getAmount()); + } + goodsPdfVos.add(goodsPdfVo); + if (subject.equals("保内")) { + sumMoney2.add(price); + } + if (subject.equals("保外")) { + sumMoney2.add(amount); + } + } + } + vo.setSumMoney2(sumMoney2.toString()); + String caps2 = bigDecimalToLocalStr(sumMoney2); + vo.setCaps2(caps2); + if (StringUtils.isNotBlank(detailsVo.getSubsidyAmount())) { + vo.setSubsidyAmount(detailsVo.getSubsidyAmount()); + } + if (StringUtils.isNotBlank(detailsVo.getOutAmount())) { + vo.setOutAmount(detailsVo.getOutAmount()); + } + if (StringUtils.isNotBlank(detailsVo.getRescueAmount())) { + vo.setRescueAmount(detailsVo.getRescueAmount()); + } + if (StringUtils.isNotBlank(detailsVo.getReceivableAmount())) { + vo.setReceivableAmount(detailsVo.getReceivableAmount()); + } + if (StringUtils.isNotBlank(detailsVo.getActualAmount())) { + vo.setActualAmount(detailsVo.getActualAmount()); + } + vo.setUserName(userName); + String path = createSettlePdf(vo, type, subject); + } + return rb.success().setData(filePath); + } + private String createSettlePdf(SettlePdfVo vo, String type, String subject) { + String finalPath = ""; + Map dataMap = new HashMap(); + List> list = new ArrayList<>(); + List> newList = new ArrayList<>(); + dataMap.put("company", vo.getCompany()); + dataMap.put("dept", vo.getDept()); + dataMap.put("settleTime", vo.getSettleTime()); + dataMap.put("customer", vo.getCustomer()); + dataMap.put("mobile", vo.getCompany()); + dataMap.put("billNo", vo.getCompany()); + dataMap.put("billType", vo.getCompany()); + dataMap.put("vehModel", vo.getCompany()); + dataMap.put("claimManufacturer", vo.getCompany()); + dataMap.put("claimNo", vo.getCompany()); + dataMap.put("vinNo", vo.getCompany()); + dataMap.put("vehMark", vo.getCompany()); + dataMap.put("isKp", vo.getCompany()); + dataMap.put("caps1", vo.getCompany()); + dataMap.put("sumMoney1", vo.getCompany()); + dataMap.put("caps2", vo.getCompany()); + dataMap.put("sumMoney2", vo.getCompany()); + dataMap.put("outAmount", vo.getCompany()); + dataMap.put("subsidyAmount", vo.getCompany()); + dataMap.put("rescueAmount", vo.getCompany()); + dataMap.put("receivableAmount", vo.getCompany()); + dataMap.put("actualAmount", vo.getCompany()); + dataMap.put("userName", vo.getCompany()); +// +// private String sortNo; //序号 +// private String serviceItem; //维修项目 +// private String serviceItemCode; //维修项目编码 +// private String serviceType; //工种 +// private String hourPrice; //工时单价 +// private String hours; //工时数量 +// private String price; //维修金额 +// private String discount; //折扣 +// private String discountAmount; //优惠 +// private String amount; //销售金额 +// private String repairerName; //维修技师 +// private String remarks; //备注 +// +// private List goods = new ArrayList<>(); - + List items = vo.getItems(); + if (!items.isEmpty()) { + for (SettleItemPdfVo itemPdfVo : items) { + Map map = new HashMap<>(); + map.put("sortNo", itemPdfVo.getSortNo()); + map.put("sortNo", itemPdfVo.getSortNo()); + map.put("sortNo", itemPdfVo.getSortNo()); + map.put("sortNo", itemPdfVo.getSortNo()); + map.put("sortNo", itemPdfVo.getSortNo()); + map.put("sortNo", itemPdfVo.getSortNo()); + map.put("sortNo", itemPdfVo.getSortNo()); + map.put("sortNo", itemPdfVo.getSortNo()); + map.put("sortNo", itemPdfVo.getSortNo()); + map.put("sortNo", itemPdfVo.getSortNo()); + map.put("sortNo", itemPdfVo.getSortNo()); + map.put("sortNo", itemPdfVo.getSortNo()); + map.put("sortNo", itemPdfVo.getSortNo()); + map.put("sortNo", itemPdfVo.getSortNo()); + list.add(map); + } } - return rb.success().setData(filePath); +// dataMap.put("list", list); +// String temp = "/template/"; +// String targetPath = docPdfComponent.getUploadTemplateUrl(); +// try { +// //获取模板 +// InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("ftl/vouchers/yhjt.ftl"); +// //生成word文件名 +// String dateStr = DateUtil.format(new Date(), "yyyyMMdd"); +// long seconds = System.currentTimeMillis(); +// String typeName = dateStr + seconds + ".doc"; +// File file = new File(targetPath + "templateVouchers" + seconds + ".ftl"); +// File dir = new File(targetPath); +// WordConvertUtils.inputStreamToFile(inputStream, file); +// WordConvertUtils.creatWord1(dataMap, file, targetPath, typeName, dir); +// //新生成的word路径 +// String wordPath = targetPath + typeName; +// String pdfName = "月还计提审批" + dateStr + seconds + ".pdf"; +// WordConvertUtils.doc2pdf(wordPath, targetPath, pdfName); +// finalPath = temp + pdfName; +// } catch (NoClassDefFoundError e) { +// e.printStackTrace(); +// finalPath = targetPath; +// } + + return finalPath; } public static String bigDecimalToLocalStr(BigDecimal bigDecimal) { From a02e681d88a3afcd7d29f4a4c8b8f5e8f86275a4 Mon Sep 17 00:00:00 2001 From: fanzongzhe <285169773@qq.com> Date: Fri, 2 Aug 2024 14:42:14 +0800 Subject: [PATCH 2/7] =?UTF-8?q?=E5=AE=8C=E5=96=84=E7=BB=B4=E4=BF=AE?= =?UTF-8?q?=E5=B7=A5=E5=8D=95=E7=BB=93=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/asbusrepairbill/AsBusrepairBill.java | 9 + .../AsBusrepairBillDetailsVo.java | 1 + .../asbusrepairbill/AsBusrepairBillDto.java | 2 + .../api/asbusrepairbill/GoodsDetailsVo.java | 3 +- .../AsBusrepairInventoryBillInit.java | 1 + .../AsBusrepairBillService.java | 304 +++++++++++------- .../AsBusrepairInventorybillService.java | 17 + .../feign/wms/wmsInventory/WmsInventory.java | 65 ++++ .../wms/wmsInventory/WmsInventoryFeign.java | 4 + .../PmsPurchaseBillService.java | 8 +- .../feign/wms/wmsansbill/WmsAnsBillDto.java | 2 + .../biz/inventory/wmsansbill/WmsAnsBill.java | 3 + .../inventory/wmsansbill/WmsAnsBillDto.java | 3 + .../inventory/wmsinventory/WmsInventory.java | 2 + .../WmsInventoryRecordDto.java | 2 +- .../WmsInventoryRecordService.java | 3 + .../wmsreceiptbill/WmsReceiptBillQuery.java | 3 +- .../wmsreceiptbill/WmsReceiptBillService.java | 4 + .../wmsshelfbill/WmsShelfBillService.java | 16 +- 19 files changed, 323 insertions(+), 129 deletions(-) create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/feign/wms/wmsInventory/WmsInventory.java diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBill.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBill.java index f52f95b43b..150286781b 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBill.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBill.java @@ -139,4 +139,13 @@ public class AsBusrepairBill extends BaseEntity { private Integer completeState; @ApiModelProperty("出库确认备注") private String outboundRemarks; + @ApiModelProperty("对接人sid") + private String dockingPeopleSid; + @ApiModelProperty("对接人") + private String dockingPeople; + @ApiModelProperty("对接人电话") + private String dockingPhone; + @ApiModelProperty("是否确认材料费(1是,0否)") + private Integer materialConfirm; + } diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillDetailsVo.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillDetailsVo.java index dc47982e69..6cc1f8a95c 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillDetailsVo.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillDetailsVo.java @@ -167,4 +167,5 @@ public class AsBusrepairBillDetailsVo implements Vo { private List fileName = new ArrayList<>(); //文件名称 @ApiModelProperty("商品登记备注") private String registerRemarks; + } diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillDto.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillDto.java index 9395dcfabb..b159509e20 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillDto.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillDto.java @@ -151,4 +151,6 @@ public class AsBusrepairBillDto implements Dto { private List fileName = new ArrayList<>(); //文件名称 @ApiModelProperty("商品登记备注") private String registerRemarks; + @ApiModelProperty("附加费") + private String addAmount; } diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/GoodsDetailsVo.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/GoodsDetailsVo.java index 88852b4b92..09b805d460 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/GoodsDetailsVo.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/GoodsDetailsVo.java @@ -68,5 +68,6 @@ public class GoodsDetailsVo implements Vo { private List partsSellersSids = new ArrayList<>(); @ApiModelProperty("配件销售") private List partsSellers = new ArrayList<>(); - + @ApiModelProperty("维修项目") + private String serviceItem; } diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairinventorybill/AsBusrepairInventoryBillInit.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairinventorybill/AsBusrepairInventoryBillInit.java index 89ec534ed1..dfd5dd1f12 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairinventorybill/AsBusrepairInventoryBillInit.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairinventorybill/AsBusrepairInventoryBillInit.java @@ -62,6 +62,7 @@ public class AsBusrepairInventoryBillInit { private List sitemVoList = new ArrayList<>(); @ApiModelProperty("商品登记备注") private String registerRemarks; + private String isGoOut; private List detailList = new ArrayList<>(); } diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java index a4d896c6fb..7a78164d2e 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java @@ -59,6 +59,7 @@ import com.yxt.anrui.as.feign.sms.SmsGoods; import com.yxt.anrui.as.feign.sms.SmsGoodsFeign; import com.yxt.anrui.as.feign.wms.wmsoldinventory.WmsOldInventoryFeign; import com.yxt.anrui.as.feign.wms.wmsoldinventory.WmsOldInventoryPush; +import com.yxt.common.base.config.component.DocPdfComponent; import com.yxt.common.base.config.component.FileUploadComponent; import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.utils.ConstantUtils; @@ -137,7 +138,8 @@ public class AsBusrepairBillService extends MybatisBaseService dataMap = new HashMap(); List> list = new ArrayList<>(); List> newList = new ArrayList<>(); + boolean price0 = false; + if (subject.equals("保内") && type.equals("1")) { + price0 = true; + } dataMap.put("company", vo.getCompany()); dataMap.put("dept", vo.getDept()); dataMap.put("settleTime", vo.getSettleTime()); dataMap.put("customer", vo.getCustomer()); - dataMap.put("mobile", vo.getCompany()); - dataMap.put("billNo", vo.getCompany()); - dataMap.put("billType", vo.getCompany()); - dataMap.put("vehModel", vo.getCompany()); - dataMap.put("claimManufacturer", vo.getCompany()); - dataMap.put("claimNo", vo.getCompany()); - dataMap.put("vinNo", vo.getCompany()); - dataMap.put("vehMark", vo.getCompany()); - dataMap.put("isKp", vo.getCompany()); - dataMap.put("caps1", vo.getCompany()); - dataMap.put("sumMoney1", vo.getCompany()); - dataMap.put("caps2", vo.getCompany()); - dataMap.put("sumMoney2", vo.getCompany()); - dataMap.put("outAmount", vo.getCompany()); - dataMap.put("subsidyAmount", vo.getCompany()); - dataMap.put("rescueAmount", vo.getCompany()); - dataMap.put("receivableAmount", vo.getCompany()); - dataMap.put("actualAmount", vo.getCompany()); + dataMap.put("mobile", vo.getMobile()); + dataMap.put("billNo", vo.getBillNo()); + dataMap.put("billType", vo.getBillType()); + dataMap.put("vehModel", vo.getVehModel()); + dataMap.put("claimManufacturer", vo.getClaimManufacturer()); + dataMap.put("claimNo", vo.getClaimNo()); + dataMap.put("vinNo", vo.getVinNo()); + dataMap.put("vehMark", vo.getVehMark()); + dataMap.put("isKp", vo.getIsKp()); + if (price0) { + dataMap.put("caps1", ""); + dataMap.put("sumMoney1", "0"); + dataMap.put("caps2",""); + dataMap.put("sumMoney2", "0"); + dataMap.put("outAmount","0"); + dataMap.put("subsidyAmount","0"); + dataMap.put("rescueAmount","0"); + dataMap.put("receivableAmount","0"); + dataMap.put("actualAmount","0"); + } else { + dataMap.put("caps1", vo.getCaps1()); + dataMap.put("sumMoney1", vo.getSumMoney1()); + dataMap.put("caps2", vo.getCaps2()); + dataMap.put("sumMoney2", vo.getSumMoney2()); + dataMap.put("outAmount", vo.getOutAmount()); + dataMap.put("subsidyAmount", vo.getSubsidyAmount()); + dataMap.put("rescueAmount", vo.getRescueAmount()); + dataMap.put("receivableAmount", vo.getReceivableAmount()); + dataMap.put("actualAmount", vo.getActualAmount()); + } dataMap.put("userName", vo.getCompany()); -// -// private String sortNo; //序号 -// private String serviceItem; //维修项目 -// private String serviceItemCode; //维修项目编码 -// private String serviceType; //工种 -// private String hourPrice; //工时单价 -// private String hours; //工时数量 -// private String price; //维修金额 -// private String discount; //折扣 -// private String discountAmount; //优惠 -// private String amount; //销售金额 -// private String repairerName; //维修技师 -// private String remarks; //备注 -// -// private List goods = new ArrayList<>(); - - List items = vo.getItems(); if (!items.isEmpty()) { for (SettleItemPdfVo itemPdfVo : items) { Map map = new HashMap<>(); map.put("sortNo", itemPdfVo.getSortNo()); - map.put("sortNo", itemPdfVo.getSortNo()); - map.put("sortNo", itemPdfVo.getSortNo()); - map.put("sortNo", itemPdfVo.getSortNo()); - map.put("sortNo", itemPdfVo.getSortNo()); - map.put("sortNo", itemPdfVo.getSortNo()); - map.put("sortNo", itemPdfVo.getSortNo()); - map.put("sortNo", itemPdfVo.getSortNo()); - map.put("sortNo", itemPdfVo.getSortNo()); - map.put("sortNo", itemPdfVo.getSortNo()); - map.put("sortNo", itemPdfVo.getSortNo()); - map.put("sortNo", itemPdfVo.getSortNo()); - map.put("sortNo", itemPdfVo.getSortNo()); - map.put("sortNo", itemPdfVo.getSortNo()); + map.put("serviceItem", itemPdfVo.getServiceItem()); + map.put("serviceItemCode", itemPdfVo.getServiceItemCode()); + map.put("serviceType", itemPdfVo.getServiceType()); + map.put("hourPrice", itemPdfVo.getHourPrice()); + map.put("hours", itemPdfVo.getHours()); + if (price0) { + map.put("price","0"); + } else { + map.put("price", itemPdfVo.getPrice()); + } + map.put("discount", itemPdfVo.getDiscount()); + map.put("discountAmount", itemPdfVo.getDiscountAmount()); + map.put("amount", itemPdfVo.getAmount()); + map.put("repairerName", itemPdfVo.getRepairerName()); + map.put("remarks", itemPdfVo.getRemarks()); list.add(map); } } -// dataMap.put("list", list); -// String temp = "/template/"; -// String targetPath = docPdfComponent.getUploadTemplateUrl(); -// try { -// //获取模板 -// InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("ftl/vouchers/yhjt.ftl"); -// //生成word文件名 -// String dateStr = DateUtil.format(new Date(), "yyyyMMdd"); -// long seconds = System.currentTimeMillis(); -// String typeName = dateStr + seconds + ".doc"; -// File file = new File(targetPath + "templateVouchers" + seconds + ".ftl"); -// File dir = new File(targetPath); -// WordConvertUtils.inputStreamToFile(inputStream, file); -// WordConvertUtils.creatWord1(dataMap, file, targetPath, typeName, dir); -// //新生成的word路径 -// String wordPath = targetPath + typeName; -// String pdfName = "月还计提审批" + dateStr + seconds + ".pdf"; -// WordConvertUtils.doc2pdf(wordPath, targetPath, pdfName); -// finalPath = temp + pdfName; -// } catch (NoClassDefFoundError e) { -// e.printStackTrace(); -// finalPath = targetPath; -// } - + dataMap.put("list", list); + List goods = vo.getGoods(); + if (!goods.isEmpty()) { + for (SettleGoodsPdfVo good : goods) { + Map map = new HashMap<>(); + map.put("sortNo", good.getSortNo()); + map.put("goodsSpuName", good.getGoodsSpuName()); + map.put("goodsSkuCode", good.getGoodsSkuCode()); + map.put("goodsSkuOwnSpec", good.getGoodsSkuOwnSpec()); + map.put("unit", good.getUnit()); + map.put("count", good.getCount()); + if (price0) { + map.put("price","0"); + map.put("amount","0"); + } else { + map.put("price", good.getPrice()); + map.put("amount", good.getAmount()); + } + map.put("discount", good.getDiscount()); + map.put("discountAmount", good.getDiscountAmount()); + map.put("remarks", good.getRemarks()); + map.put("operName", good.getOperName()); + newList.add(map); + } + } + dataMap.put("newList", newList); + String temp = "/template/"; + String targetPath = docPdfComponent.getUploadTemplateUrl(); + String ftl = ""; + boolean add = true; + if (StringUtils.isBlank(vo.getOutAmount()) && + StringUtils.isBlank(vo.getSubsidyAmount()) && + StringUtils.isBlank(vo.getRescueAmount())) { + add = false; + } + if (subject.equals("保内")) { + if (add) { + ftl = "ftl/baoneifujia.ftl"; + } else { + ftl = "ftl/baonei.ftl"; + } + } else if (subject.equals("保外")) { + if (add) { + ftl = "ftl/baowaifujia.ftl"; + } else { + ftl = "ftl/baowai.ftl"; + } + } + try { + //获取模板 + InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream(ftl); + //生成word文件名 + String dateStr = DateUtil.format(new Date(), "yyyyMMdd"); + long seconds = System.currentTimeMillis(); + String typeName = dateStr + seconds + ".doc"; + File file = new File(targetPath + "templateSettle" + seconds + ".ftl"); + File dir = new File(targetPath); + WordConvertUtils.inputStreamToFile(inputStream, file); + WordConvertUtils.creatWord1(dataMap, file, targetPath, typeName, dir); + //新生成的word路径 + String wordPath = targetPath + typeName; + String pdfName = "结算单" + dateStr + seconds + ".pdf"; + WordConvertUtils.doc2pdf(wordPath, targetPath, pdfName); + finalPath = temp + pdfName; + } catch (NoClassDefFoundError e) { + e.printStackTrace(); + finalPath = targetPath; + } return finalPath; } diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybill/AsBusrepairInventorybillService.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybill/AsBusrepairInventorybillService.java index 5b3cf7070e..033bf5ec91 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybill/AsBusrepairInventorybillService.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybill/AsBusrepairInventorybillService.java @@ -26,6 +26,7 @@ import com.yxt.anrui.as.feign.portal.sysorganization.SysOrganizationFeign; import com.yxt.anrui.as.feign.portal.sysorganization.SysOrganizationVo; import com.yxt.anrui.as.feign.portal.sysstafforg.SysStaffOrgFeign; import com.yxt.anrui.as.feign.portal.sysuser.SysUserFeign; +import com.yxt.anrui.as.feign.wms.wmsInventory.WmsInventory; import com.yxt.anrui.as.feign.wms.wmsInventory.WmsInventoryFeign; import com.yxt.anrui.as.feign.wms.wmsInventory.WmsUpdateCountQuery; import com.yxt.anrui.as.feign.wms.wmsinventorybill.WmsInventoryBillDetailDto; @@ -279,6 +280,19 @@ public class AsBusrepairInventorybillService extends MybatisBaseService 0) { + detail.setIsTaxRate(1); + } else { + detail.setIsTaxRate(0); + } + } else { + detail.setIsTaxRate(0); + } + } asBusrepairInventorybillDetailService.insert(detail); WmsUpdateCountQuery countQuery = new WmsUpdateCountQuery(); @@ -382,6 +396,9 @@ public class AsBusrepairInventorybillService extends MybatisBaseService fetchEntityBySid(@RequestParam("sid") String sid); } diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillService.java b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillService.java index dee0957019..61b7ef747e 100644 --- a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillService.java +++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillService.java @@ -511,12 +511,18 @@ public class PmsPurchaseBillService extends MybatisBaseService wmsAnsBillDetailList = new ArrayList<>(); + @ApiModelProperty("采购单税率") + private String taxRate; } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsansbill/WmsAnsBill.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsansbill/WmsAnsBill.java index 4e57cc899a..e79980d7b6 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsansbill/WmsAnsBill.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsansbill/WmsAnsBill.java @@ -4,6 +4,7 @@ import com.yxt.common.core.domain.BaseEntity; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.math.BigDecimal; import java.util.Date; /** @@ -61,4 +62,6 @@ public class WmsAnsBill extends BaseEntity { private String manufactorBillTypeValue; @ApiModelProperty("厂家订单类型key") private String manufactorBillTypeKey; + @ApiModelProperty("采购单税率") + private BigDecimal taxRate; } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsansbill/WmsAnsBillDto.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsansbill/WmsAnsBillDto.java index dbe7f01027..eb1ec02242 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsansbill/WmsAnsBillDto.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsansbill/WmsAnsBillDto.java @@ -4,6 +4,7 @@ import com.yxt.wms.biz.inventory.wmsansbilldetail.WmsAnsBillDetailDto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -64,4 +65,6 @@ public class WmsAnsBillDto { @ApiModelProperty("厂家订单类型key") private String manufactorBillTypeKey; private List wmsAnsBillDetailList = new ArrayList<>(); + @ApiModelProperty("采购单税率") + private String taxRate; } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventory.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventory.java index db9d131027..969e616e77 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventory.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventory.java @@ -46,6 +46,8 @@ public class WmsInventory extends BaseEntity { private BigDecimal freezeCount; @ApiModelProperty("入库单价") private BigDecimal cost; + @ApiModelProperty("税率") + private BigDecimal taxRate; @ApiModelProperty("仓库sid") private String warehouseSid; @ApiModelProperty("仓库名称") diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordDto.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordDto.java index c0e433c499..3db5816633 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordDto.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordDto.java @@ -104,7 +104,7 @@ public class WmsInventoryRecordDto implements Dto { @ApiModelProperty("入库单价") private String cost; @ApiModelProperty("税率") - private String tax; + private String taxRate; @ApiModelProperty("入库金额") private String amount; @ApiModelProperty("经办人sid") diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordService.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordService.java index be2d7643e0..49704bfbb7 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordService.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordService.java @@ -351,6 +351,9 @@ public class WmsInventoryRecordService extends MybatisBaseService listPage(PagerQuery pq) { WmsShelfBillQuery query = pq.getParams(); @@ -777,8 +779,16 @@ public class WmsShelfBillService extends MybatisBaseService Date: Fri, 2 Aug 2024 14:49:43 +0800 Subject: [PATCH 3/7] =?UTF-8?q?=E5=AE=8C=E5=96=84=E7=BB=B4=E4=BF=AE?= =?UTF-8?q?=E5=B7=A5=E5=8D=95=E7=BB=93=E7=AE=97=E8=A1=A5=E5=85=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AsBusrepairInventorybillService.java | 6 ++++++ .../feign/wms/wmsInventory/WmsInventoryFeignFallback.java | 5 +++++ 2 files changed, 11 insertions(+) diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybill/AsBusrepairInventorybillService.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybill/AsBusrepairInventorybillService.java index 033bf5ec91..3fb33ee8ba 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybill/AsBusrepairInventorybillService.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybill/AsBusrepairInventorybillService.java @@ -293,6 +293,12 @@ public class AsBusrepairInventorybillService extends MybatisBaseService fetchEntityBySid(String sid) { + return null; + } } From c846d463a34aeb50cf7e144920573a2dbd112052 Mon Sep 17 00:00:00 2001 From: yunuo970428 <405378304@qq.com> Date: Fri, 2 Aug 2024 16:18:42 +0800 Subject: [PATCH 4/7] =?UTF-8?q?=E5=AE=8C=E5=96=84=E7=BB=B4=E4=BF=AE?= =?UTF-8?q?=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- yxt-as-ui/src/api/operation/repairbill.js | 15 +- yxt-as-ui/src/router/index.js | 2 +- .../views/operation/repairbill/repairbill.vue | 6 +- .../operation/repairbill/repairbillAdd.vue | 520 ++++++++++++++---- .../repairbill/repairbillBYLeaveFactory.vue | 8 +- .../repairbill/repairbillByBeCompleted.vue | 48 +- .../repairbill/repairbillByMaintain.vue | 48 +- .../repairbill/repairbillBySendWork.vue | 48 +- .../repairbill/repairbillBySettleAccounts.vue | 48 +- .../operation/repairbill/repairbillInfo.vue | 85 ++- 10 files changed, 517 insertions(+), 311 deletions(-) diff --git a/yxt-as-ui/src/api/operation/repairbill.js b/yxt-as-ui/src/api/operation/repairbill.js index 0dc7329b17..b65a68f9d0 100644 --- a/yxt-as-ui/src/api/operation/repairbill.js +++ b/yxt-as-ui/src/api/operation/repairbill.js @@ -75,11 +75,12 @@ export default { }) }, // 打印结算单 - printSettle: function(data) { + printSettlement: function(data) { return request({ - url: '/as/v1/AsBusrepairBill/printSettle', + url: '/as/v1/AsBusrepairBill/printSettlement', method: 'post', - params: data + data: data, + headers: { 'Content-Type': 'application/json' } }) }, // 确认工时费比例初始化 @@ -99,5 +100,13 @@ export default { data: data, headers: { 'Content-Type': 'application/json' } }) + }, + // 根据客户sid获取对应的对接人信息 + getListByCustomerSid: function(data) { + return request({ + url: '/crm/v1/crmdockingpeople/getListByCustomerSid', + method: 'get', + params: data + }) } } diff --git a/yxt-as-ui/src/router/index.js b/yxt-as-ui/src/router/index.js index f4bca1f898..6a12c1ba59 100644 --- a/yxt-as-ui/src/router/index.js +++ b/yxt-as-ui/src/router/index.js @@ -435,7 +435,7 @@ export const constantRoutes = [{ path: '/filing/maintenanceEnterprise', component: () => import('@/views/client/filing/maintenanceEnterprise.vue'), name: 'MaintenanceEnterprise', - meta: { title: '定点企业备案', noCache: true } + meta: { title: '欠款月结客户备案', noCache: true } }, { path: '/customerunit/customerunit', diff --git a/yxt-as-ui/src/views/operation/repairbill/repairbill.vue b/yxt-as-ui/src/views/operation/repairbill/repairbill.vue index 90556ca2c2..630726562c 100644 --- a/yxt-as-ui/src/views/operation/repairbill/repairbill.vue +++ b/yxt-as-ui/src/views/operation/repairbill/repairbill.vue @@ -26,7 +26,7 @@ - + @@ -92,7 +92,7 @@ - + @@ -102,7 +102,7 @@ - + diff --git a/yxt-as-ui/src/views/operation/repairbill/repairbillAdd.vue b/yxt-as-ui/src/views/operation/repairbill/repairbillAdd.vue index b9f4c07ab7..55c3779399 100644 --- a/yxt-as-ui/src/views/operation/repairbill/repairbillAdd.vue +++ b/yxt-as-ui/src/views/operation/repairbill/repairbillAdd.vue @@ -4,12 +4,11 @@
{{ viewTitle }}
- 选择客户 保存 提交 - 退回 + 退回 确认材料费 - 打印结算单 + 打印结算单 结算 关闭
@@ -32,9 +31,9 @@ -
*工单类型
+
*维修单类型
- + @@ -42,7 +41,7 @@
*科目
- + @@ -50,7 +49,7 @@
索赔厂家
- + @@ -60,26 +59,26 @@
*是否外出
- + - +
进厂时间
- +
*预计完工
- +
*服务顾问
- + @@ -87,7 +86,7 @@
班组
- + @@ -95,7 +94,7 @@
主修人
- + @@ -104,16 +103,16 @@
备注(打印)
- +
备注
- +
*特殊标志
- + @@ -125,7 +124,14 @@
*客户
- {{ formobj.customerName }} + +
+
+ {{ formobj.customerName }} +
+ 选择 +
+
联系电话
@@ -153,15 +159,15 @@
行驶里程(Km)
- +
油量(L)
- +
当前里程(Km)
- +
@@ -169,20 +175,28 @@
对接人姓名
- {{ formobj.dockingPeople }} + + + + + +
对接人电话
- {{ formobj.dockingPhone }} + + {{ formobj.dockingPhone }} + +
- +
责任划分
- + @@ -190,7 +204,7 @@
责任比例
- + @@ -198,7 +212,7 @@
是否存在人伤
- + @@ -207,7 +221,7 @@
-
+
- + -
商品(竣工岗位职责:核对出库商品及数量是否与服务项目相符)
+
维修用料(竣工岗位职责:核对出库商品及数量是否与维修项目相符)
前台登记时对商品要求备注
@@ -346,62 +377,87 @@
+ - + - + + + + + +
附加项目
- +
外出费(元)
- + +
+ + 开票金额:{{ formobj.outKPAmount }} +
+
- +
备注
- +
- +
厂家补助(元)
- + +
+ + 开票金额:{{ formobj.subsidyKPAmount }} +
+
- +
备注
- +
- +
施救费(元)
- + +
+ + 开票金额:{{ formobj.rescueKPAmount }} +
+
备注
- +
- +
-
- - - - - - - -
- + + + + + + +
应收合计:
- {{ ysTotal }} = 工时费:{{ gsfTotal }} + 材料费:{{ clfTotal }} + 附加费:{{ fjfTotal }} + 税额:0 + {{ ysTotal }} = 工时费:{{ gsfTotal }} + 材料费:{{ clfTotal }} + 附加费:{{ fjfTotal }}
@@ -538,6 +591,25 @@ 取 消
+ + + + + + + + 财务打印 + 客户打印 + + + + + +
+ 确 定 + 取 消 +
+
@@ -558,6 +630,14 @@ export default { viewTitle: '', viewState: 1, submitdisabled: false, + dialogVisible: false, // 打印结算单 + temp: { + sid: '', + type: '', + createOrgSid: '', + useOrgSid: '', + userSid: '' + }, updateAction: process.env.VUE_APP_BASE_API + '/portal/file/upload', fileList: [], headers: { @@ -568,6 +648,7 @@ export default { claimManufacturer_list: [], // 索赔厂家 group_list: [], // 班组 mainRepairersChange_list: [], // 主修人 + people_list: [], // 对接人 settleVisible: false, // 结算弹框 billType_list: [], // 单据类型 responsibility_list: [], // 责任划分 @@ -664,7 +745,9 @@ export default { invoiceType: '', invoiceTypeKey: '', invoiceCompanySid: '', - invoiceCompany: '' + invoiceCompany: '', + taxRate: '', + taxItems: [] }, insuranceVo: { responsibility: '', @@ -700,8 +783,11 @@ export default { addAmount: '', taxAmount: '', outAmount: '', + outKPAmount: '', subsidyAmount: '', + subsidyKPAmount: '', rescueAmount: '', + rescueKPAmount: '', actualAmount: '', receivableAmount: '', subsidyRemarks: '', @@ -713,7 +799,7 @@ export default { createOrgSid: '' }, rules: { - billType: [{ required: true, message: '工单类型不能为空', trigger: 'change' }], + billType: [{ required: true, message: '维修单类型不能为空', trigger: 'change' }], isGoOut: [{ required: true, message: '是否外出不能为空', trigger: 'change' }], subject: [{ required: true, message: '科目不能为空', trigger: 'change' }], estimatedFinishTime: [{ required: true, message: '预计完工不能为空', trigger: 'change' }], @@ -728,7 +814,7 @@ export default { } }, computed: { - // 计算工时费 = 服务项目列表中所有销售价之和 + // 计算工时费 = 维修项目列表中所有销售价之和 gsfTotal() { let gsf = '0' if (this.formobj.sitemVos.length > 0) { @@ -740,7 +826,7 @@ export default { } return gsf }, - // 计算材料费 = 商品列表中所有销售价 * 数量的和 + // 计算材料费 = 维修用料列表中所有销售价 * 数量的和 clfTotal() { let clf = '0' if (this.formobj.goodsDetailsVos.length > 0) { @@ -771,7 +857,7 @@ export default { ys = Math.round((parseFloat(ys) + parseFloat(this.gsfTotal) + parseFloat(this.clfTotal) + parseFloat(this.fjfTotal)) * 100) / 100 return ys }, - // 优惠 = 服务项目列表中的所有优惠之和 + 商品列表中所有优惠之和 + // 优惠 = 维修项目列表中的所有优惠之和 + 维修用料列表中所有优惠之和 yhTotal() { let yh = '0' if (this.formobj.sitemVos.length > 0) { @@ -907,9 +993,10 @@ export default { day: nowDate.getDate() } this.formobj.createDate = date.year + '-' + (date.month >= 10 ? date.month : '0' + date.month) + '-' + (date.day >= 10 ? date.day : '0' + date.day) - this.formobj.isGoOut = '0' + this.formobj.isGoOut = '2' this.formobj.nodeCode = '1' this.formobj.nodeName = '登记' + this.formobj.invoiceVo.isInvoicing = '0' }, showEdit(sid) { this.viewTitle = '【编辑】维修单' @@ -926,9 +1013,13 @@ export default { } }) }, - selectCustomer() { - this.viewState = 2 - this.$refs['divCus'].showData(this.formobj.deptSid, this.formobj.billType) + chooseCustomer() { + if (this.formobj.billType !== '') { + this.viewState = 2 + this.$refs['divCus'].showData(this.formobj.deptSid, this.formobj.billType) + } else { + this.$message({ showClose: true, type: 'error', message: '请先选择维修单类型' }) + } }, backData(value) { this.viewState = 1 @@ -940,6 +1031,14 @@ export default { this.formobj.vinNo = value.vinNo this.formobj.vehModel = value.vehModel this.formobj.customerSource = value.source + // 单据类型为欠款月结时,对接人信息需要从欠款月结客户中获取对应的对接人信息 + if (this.formobj.billTypeKey === '2') { + req.getListByCustomerSid({ customerSid: this.formobj.customerSid }).then((res) => { + if (res.success) { + this.people_list = res.data + } + }) + } }, billTypeChange(value) { const choose = this.billType_list.filter((item) => item.dictValue === value) @@ -984,6 +1083,16 @@ export default { this.formobj.mainRepairers = '' } }, + dockingPeopleChange(value) { + const choose = this.people_list.filter((item) => item.sid === value) + if (choose.length > 0 && choose !== null) { + this.formobj.dockingPeople = choose[0].name + this.formobj.dockingPhone = choose[0].mobile + } else { + this.formobj.dockingPeople = '' + this.formobj.dockingPhone = '' + } + }, responsibilityChange(value) { const choose = this.responsibility_list.filter((item) => item.dictValue === value) if (choose.length > 0 && choose !== null) { @@ -1040,6 +1149,14 @@ export default { insuranceDelete(index) { this.formobj.insuranceVo.insuranceList.splice(index, 1) }, + isInvoicingChange() { + if (this.formobj.invoiceVo.isInvoicing === '1') { + this.formobj.invoiceVo.taxItems = ['维修项目', '维修用料', '附加项目', '其它附加项目'] + } else { + this.formobj.invoiceVo.taxItems = [] + } + this.countChange() + }, invoiceTypeChange(value) { const choose = this.invoiceType_list.filter((item) => item.dictValue === value) if (choose.length > 0 && choose !== null) { @@ -1048,6 +1165,80 @@ export default { this.formobj.invoiceVo.invoiceTypeKey = '' } }, + // 发票信息中的税率或加税点项目发生变化时需要重新计算相关内容 + countChange() { + // 维修项目不为空时 + if (this.formobj.sitemVos.length > 0) { + // 加税点项目是否包含维修项目 + if (this.formobj.invoiceVo.taxItems.includes('维修项目')) { + this.formobj.sitemVos.forEach((e) => { + // 是,销售价 = 原销售价 + 原销售价 * (1 + 税率) + e.price = Math.round((parseFloat(e.sitemPrice) + parseFloat(e.sitemPrice) * (parseFloat(1) + parseFloat(this.formobj.invoiceVo.taxRate !== '' ? this.formobj.invoiceVo.taxRate : '0') / 100)) * 100) / 100 + this.computeYHAndXSJE(e) + }) + } else { + this.formobj.sitemVos.forEach((k) => { + // 否,销售价 = 原销售价 + k.price = k.sitemPrice + this.computeYHAndXSJE(k) + }) + } + } + // 维修用料不为空时 + if (this.formobj.goodsDetailsVos.length > 0) { + // 加税点项目是否包含维修用料 + if (this.formobj.invoiceVo.taxItems.includes('维修用料')) { + this.formobj.goodsDetailsVos.forEach((e) => { + // 是 + if (e.isTaxRate) { + // 商品进货价含税则销售价 = 原销售价 + e.price = e.goodsDetailsPrice + this.computeYHAndJE(e) + } else { + // 商品进货价不含税则销售价 = 原销售价 + 原销售价 * (1 + 税率) + e.price = Math.round((parseFloat(e.goodsDetailsPrice) + parseFloat(e.goodsDetailsPrice) * (parseFloat(1) + parseFloat(this.formobj.invoiceVo.taxRate !== '' ? this.formobj.invoiceVo.taxRate : '0') / 100)) * 100) / 100 + this.computeYHAndJE(e) + } + }) + } else { + this.formobj.goodsDetailsVos.forEach((k) => { + // 否,销售价 = 原销售价 + k.price = k.goodsDetailsPrice + this.computeYHAndJE(k) + }) + } + } + // 其它附加项目不为空时 + if (this.formobj.aitemVos.length > 0) { + // 加税点项目是否包含其它附加项目 + if (this.formobj.invoiceVo.taxItems.includes('其它附加项目')) { + this.formobj.aitemVos.forEach((e) => { + // 是,销售价 = 原销售价 + 原销售价 * (1 + 税率) + e.price = Math.round((parseFloat(e.aitemPrice) + parseFloat(e.aitemPrice) * (parseFloat(1) + parseFloat(this.formobj.invoiceVo.taxRate !== '' ? this.formobj.invoiceVo.taxRate : '0') / 100)) * 100) / 100 + }) + } else { + this.formobj.aitemVos.forEach((k) => { + // 否,销售价 = 原销售价 + k.price = k.aitemPrice + }) + } + } + // 附加项目,加税点项目是否包含附加项目 + if (this.formobj.invoiceVo.taxItems.includes('附加项目')) { + // 是 + // 外出费开票金额 = 原外出费 + 原外出费 * (1 + 税率) + this.formobj.outKPAmount = Math.round((parseFloat(this.formobj.outAmount !== '' ? this.formobj.outAmount : '0') + parseFloat(this.formobj.outAmount !== '' ? this.formobj.outAmount : '0') * (parseFloat(1) + parseFloat(this.formobj.invoiceVo.taxRate !== '' ? this.formobj.invoiceVo.taxRate : '0') / 100)) * 100) / 100 + // 厂家补助开票金额 = 原厂家补助 + 原厂家补助 * (1 + 税率) + this.formobj.subsidyKPAmount = Math.round((parseFloat(this.formobj.subsidyAmount !== '' ? this.formobj.subsidyAmount : '0') + parseFloat(this.formobj.subsidyAmount !== '' ? this.formobj.subsidyAmount : '0') * (parseFloat(1) + parseFloat(this.formobj.invoiceVo.taxRate !== '' ? this.formobj.invoiceVo.taxRate : '0') / 100)) * 100) / 100 + // 施救费开票金额 = 原施救费 + 原施救费 * (1 + 税率) + this.formobj.rescueKPAmount = Math.round((parseFloat(this.formobj.rescueAmount !== '' ? this.formobj.rescueAmount : '0') + parseFloat(this.formobj.rescueAmount !== '' ? this.formobj.rescueAmount : '0') * (parseFloat(1) + parseFloat(this.formobj.invoiceVo.taxRate !== '' ? this.formobj.invoiceVo.taxRate : '0') / 100)) * 100) / 100 + } else { + // 否 + this.formobj.outKPAmount = '' + this.formobj.subsidyKPAmount = '' + this.formobj.rescueKPAmount = '' + } + }, serviceAdd() { this.formobj.sitemVos.push({ serviceItemSid: '', @@ -1060,6 +1251,7 @@ export default { hourPrice: '', hours: '', price: '', + sitemPrice: '', // 原销售价 discount: '', discountAmount: '', amount: '', @@ -1097,7 +1289,13 @@ export default { row.examineHourPrice = value.examineHourPrice row.hourPrice = value.hourPrice row.hours = value.hours - row.price = value.price + row.sitemPrice = value.price + if (this.formobj.invoiceVo.isInvoicing === '1' && this.formobj.invoiceVo.taxItems.length > 0 && this.formobj.invoiceVo.taxItems.includes('维修项目')) { + // 是否开发票为是且选择加税点的项目中包含维修项目,则销售价 = 原销售价 + 原销售价 * ( 1 + 税率 ) + row.price = Math.round((parseFloat(row.sitemPrice) + parseFloat(row.sitemPrice) * (parseFloat(1) + parseFloat(this.formobj.invoiceVo.taxRate !== '' ? this.formobj.invoiceVo.taxRate : '0') / 100)) * 100) / 100 + } else { + row.price = row.sitemPrice + } row.discount = '10' row.discountAmount = '0' row.amount = row.price @@ -1120,7 +1318,18 @@ export default { }) row.staffNameList = aa }, - // 计算优惠、销售金额 -- 服务项目列表 + partsSellerChange(row, list) { + const aa = [] + list.forEach((e) => { + this.user_list.forEach((k) => { + if (e === k.sid) { + aa.push(k.name) + } + }) + }) + row.partsSellers = aa + }, + // 计算优惠、销售金额 -- 维修项目列表 computeYHAndXSJE(row) { // 计算优惠(销售价 * (1 - (折扣 * 0.1))) row.discountAmount = Math.round((parseFloat(row.price === '' ? '0' : row.price) * Math.round((parseFloat(1) - parseFloat(row.discount === '' ? '0' : row.discount) * parseFloat(0.1)) * 100) / 100) * 100) / 100 @@ -1131,7 +1340,7 @@ export default { row.amount = Math.round((parseFloat(row.price === '' ? '0' : row.price) - parseFloat(row.discountAmount === '' ? '0' : row.discountAmount)) * 100) / 100 } }, - // 计算优惠、销售金额 -- 上你列表 + // 计算优惠、销售金额 -- 维修用料列表 computeYHAndJE(row) { // 计算优惠(销售价 * 数量 * (1 - (折扣 * 0.1))) row.discountAmount = Math.round((parseFloat(row.price === '' ? '0' : row.price) * parseFloat(row.count !== '' ? row.count : '0') * Math.round((parseFloat(1) - parseFloat(row.discount === '' ? '0' : row.discount) * parseFloat(0.1)) * 100) / 100) * 100) / 100 @@ -1142,11 +1351,48 @@ export default { row.amount = Math.round((parseFloat(row.price === '' ? '0' : row.price) * parseFloat(row.count !== '' ? row.count : '0') - parseFloat(row.discountAmount === '' ? '0' : row.discountAmount)) * 100) / 100 } }, + // 计算外出费开票金额 -- 附加项目 + outKPAountInput() { + // 附加项目,加税点项目是否包含附加项目 + if (this.formobj.invoiceVo.taxItems.includes('附加项目')) { + // 是 + // 外出费开票金额 = 原外出费 + 原外出费 * (1 + 税率) + this.formobj.outKPAmount = Math.round((parseFloat(this.formobj.outAmount !== '' ? this.formobj.outAmount : '0') + parseFloat(this.formobj.outAmount !== '' ? this.formobj.outAmount : '0') * (parseFloat(1) + parseFloat(this.formobj.invoiceVo.taxRate !== '' ? this.formobj.invoiceVo.taxRate : '0') / 100)) * 100) / 100 + } else { + // 否 + this.formobj.outKPAmount = '' + } + }, + // 计算厂家补助开票金额 -- 附加项目 + subsidyKPAountInput() { + // 附加项目,加税点项目是否包含附加项目 + if (this.formobj.invoiceVo.taxItems.includes('附加项目')) { + // 是 + // 厂家补助开票金额 = 原厂家补助 + 原厂家补助 * (1 + 税率) + this.formobj.subsidyKPAmount = Math.round((parseFloat(this.formobj.subsidyAmount !== '' ? this.formobj.subsidyAmount : '0') + parseFloat(this.formobj.subsidyAmount !== '' ? this.formobj.subsidyAmount : '0') * (parseFloat(1) + parseFloat(this.formobj.invoiceVo.taxRate !== '' ? this.formobj.invoiceVo.taxRate : '0') / 100)) * 100) / 100 + } else { + // 否 + this.formobj.subsidyKPAmount = '' + } + }, + // 计算施救费开票金额 -- 附加项目 + rescueKPAountInput() { + // 附加项目,加税点项目是否包含附加项目 + if (this.formobj.invoiceVo.taxItems.includes('附加项目')) { + // 是 + // 施救费开票金额 = 原施救费 + 原施救费 * (1 + 税率) + this.formobj.rescueKPAmount = Math.round((parseFloat(this.formobj.rescueAmount !== '' ? this.formobj.rescueAmount : '0') + parseFloat(this.formobj.rescueAmount !== '' ? this.formobj.rescueAmount : '0') * (parseFloat(1) + parseFloat(this.formobj.invoiceVo.taxRate !== '' ? this.formobj.invoiceVo.taxRate : '0') / 100)) * 100) / 100 + } else { + // 否 + this.formobj.rescueKPAmount = '' + } + }, subjoinAdd() { this.formobj.aitemVos.push({ aitemSid: '', aitemName: '', - price: '' + price: '', + aitemPrice: '' // 原销售价 }) }, subjoinInput(value) { @@ -1171,7 +1417,13 @@ export default { subjoinCurrentChange(value, row) { row.aitemSid = value.sid row.aitemName = value.aitemName - row.price = value.price + row.aitemPrice = value.price + if (this.formobj.invoiceVo.isInvoicing === '1' && this.formobj.invoiceVo.taxItems.length > 0 && this.formobj.invoiceVo.taxItems.includes('其它附加项目')) { + // 是否开发票为是且选择加税点的项目中包含其它附加项目,则销售价 = 原销售价 + 原销售价 * ( 1 + 税率 ) + row.price = Math.round((parseFloat(row.aitemPrice) + parseFloat(row.aitemPrice) * (parseFloat(1) + parseFloat(this.formobj.invoiceVo.taxRate !== '' ? this.formobj.invoiceVo.taxRate : '0') / 100)) * 100) / 100 + } else { + row.price = row.aitemPrice + } document.body.click() }, handleSuccess(resp, file, fileList) { @@ -1196,8 +1448,22 @@ export default { this.formobj.operatorSid = window.sessionStorage.getItem('userSid') this.$refs['form_obj'].validate((valid) => { if (valid) { + if (this.formobj.billTypeKey === '2' && this.formobj.dockingPeople === '') { + this.$message({ showClose: true, type: 'error', message: '维修单类类型为欠款月结,对接人信息不能为空' }) + return + } + if (this.formobj.subject === '保外' && this.formobj.invoiceVo.isInvoicing === '1') { + if (this.formobj.invoiceVo.invoiceType === '') { + this.$message({ showClose: true, type: 'error', message: '发票信息中是否开发票为是,开票类型不能为空' }) + return + } + if (this.formobj.invoiceVo.taxRate === '') { + this.$message({ showClose: true, type: 'error', message: '发票信息中是否开发票为是,税率不能为空' }) + return + } + } if (this.formobj.sitemVos.length === 0) { - this.$message({ showClose: true, type: 'error', message: '服务项目列表不能为空' }) + this.$message({ showClose: true, type: 'error', message: '维修项目列表不能为空' }) return } this.formobj.hourAmount = this.gsfTotal // 工时费 @@ -1226,8 +1492,22 @@ export default { this.formobj.operatorSid = window.sessionStorage.getItem('userSid') this.$refs['form_obj'].validate((valid) => { if (valid) { + if (this.formobj.billTypeKey === '2' && this.formobj.dockingPeople === '') { + this.$message({ showClose: true, type: 'error', message: '维修单类类型为欠款月结,对接人信息不能为空' }) + return + } + if (this.formobj.subject === '保外' && this.formobj.invoiceVo.isInvoicing === '1') { + if (this.formobj.invoiceVo.invoiceType === '') { + this.$message({ showClose: true, type: 'error', message: '发票信息中是否开发票为是,开票类型不能为空' }) + return + } + if (this.formobj.invoiceVo.taxRate === '') { + this.$message({ showClose: true, type: 'error', message: '发票信息中是否开发票为是,税率不能为空' }) + return + } + } if (this.formobj.sitemVos.length === 0) { - this.$message({ showClose: true, type: 'error', message: '服务项目列表不能为空' }) + this.$message({ showClose: true, type: 'error', message: '维修项目列表不能为空' }) return } this.submitdisabled = true @@ -1250,7 +1530,7 @@ export default { this.$refs['form_obj'].validate((valid) => { if (valid) { if (this.formobj.sitemVos.length === 0) { - this.$message({ showClose: true, type: 'error', message: '服务项目列表不能为空' }) + this.$message({ showClose: true, type: 'error', message: '维修项目列表不能为空' }) return } this.submitdisabled = true @@ -1321,7 +1601,18 @@ export default { }) }, toPrintSettle() { - req.printSettle({ sid: this.formobj.sid }).then((res) => { + if (this.formobj.subject === '保内') { + this.dialogVisible = true + } else { + this.printSettle() + } + }, + printSettle() { + this.temp.sid = this.formobj.sid + this.temp.createOrgSid = this.formobj.createOrgSid + this.temp.useOrgSid = this.formobj.deptSid + this.temp.userSid = this.formobj.createBySid + req.printSettlement(this.temp).then((res) => { if (res.success) { var xhr = new XMLHttpRequest() xhr.open('GET', process.env.VUE_APP_BASE_API + '/base/file/download?filePath=' + res.data + '&outFileName=' + '结算单', true) @@ -1346,6 +1637,14 @@ export default { } }) }, + handleConfirm() { + if (this.temp.type !== '') { + this.dialogVisible = false + this.printSettle() + } else { + this.$message({ showClose: true, type: 'error', message: '打印类型不能为空' }) + } + }, resetState() { this.viewState = 1 }, @@ -1405,7 +1704,9 @@ export default { invoiceType: '', invoiceTypeKey: '', invoiceCompanySid: '', - invoiceCompany: '' + invoiceCompany: '', + taxRate: '', + taxItems: [] }, insuranceVo: { responsibility: '', @@ -1441,8 +1742,11 @@ export default { addAmount: '', taxAmount: '', outAmount: '', + outKPAmount: '', subsidyAmount: '', + subsidyKPAmount: '', rescueAmount: '', + rescueKPAmount: '', actualAmount: '', receivableAmount: '', subsidyRemarks: '', diff --git a/yxt-as-ui/src/views/operation/repairbill/repairbillBYLeaveFactory.vue b/yxt-as-ui/src/views/operation/repairbill/repairbillBYLeaveFactory.vue index 40abe7d9f0..22f665cb1a 100644 --- a/yxt-as-ui/src/views/operation/repairbill/repairbillBYLeaveFactory.vue +++ b/yxt-as-ui/src/views/operation/repairbill/repairbillBYLeaveFactory.vue @@ -2,7 +2,7 @@
- +
@@ -26,7 +26,7 @@ - + @@ -97,7 +97,7 @@ {{ scope.row.outDoorState == '1' ? '是' : scope.row.outDoorState == '0' ? '否' :'' }} - + @@ -107,7 +107,7 @@ - + diff --git a/yxt-as-ui/src/views/operation/repairbill/repairbillByBeCompleted.vue b/yxt-as-ui/src/views/operation/repairbill/repairbillByBeCompleted.vue index 1e5c7b70f1..150f91e8b4 100644 --- a/yxt-as-ui/src/views/operation/repairbill/repairbillByBeCompleted.vue +++ b/yxt-as-ui/src/views/operation/repairbill/repairbillByBeCompleted.vue @@ -2,7 +2,7 @@
- +
@@ -26,7 +26,7 @@ - + @@ -92,7 +92,7 @@ - + @@ -102,7 +102,7 @@ - + @@ -211,13 +211,6 @@ export default { btnKey: 'toEdit', btnLabel: '编辑' }, - { - type: 'danger', - size: 'small', - icon: 'del', - btnKey: 'doDel', - btnLabel: '删除' - }, { type: 'info', size: 'small', @@ -314,9 +307,6 @@ export default { case 'toEdit': this.toEdit() break - case 'doDel': - this.doDel() - break case 'doClose': this.doClose() break @@ -435,36 +425,6 @@ export default { this.viewState = 4 this.$refs['divInfo'].showInfo(row) }, - // 删除 - doDel() { - if (this.sids.length === 0) { - this.$message({ showClose: true, type: 'error', message: '请选择至少一条记录进行删除操作' }) - return - } - const tip = '请确认是否删除所选 ' + this.sids.length + ' 条记录?' - this.$confirm(tip, '提示', { - confirmButtonText: '确定', - cancelButtonText: '取消', - type: 'warning' - }).then(() => { - const loading = this.$loading({ - lock: true, - text: 'Loading', - spinner: 'el-icon-loading', - background: 'rgba(0, 0, 0, 0.7)' - }) - req.deleteBySids(this.sids).then(resp => { - if (resp.success) { - this.$message({ type: 'success', message: resp.msg, showClose: true }) - } - this.getList() - loading.close() - }).catch(e => { - loading.close() - }) - }).catch(() => { - }) - }, // 修改、编辑、详情返回列表页面 resetState() { this.viewState = 1 diff --git a/yxt-as-ui/src/views/operation/repairbill/repairbillByMaintain.vue b/yxt-as-ui/src/views/operation/repairbill/repairbillByMaintain.vue index ff645f93bf..6efb266870 100644 --- a/yxt-as-ui/src/views/operation/repairbill/repairbillByMaintain.vue +++ b/yxt-as-ui/src/views/operation/repairbill/repairbillByMaintain.vue @@ -2,7 +2,7 @@
- +
@@ -26,7 +26,7 @@ - + @@ -92,7 +92,7 @@ - + @@ -102,7 +102,7 @@ - + @@ -168,13 +168,6 @@ export default { btnKey: 'toEdit', btnLabel: '编辑' }, - { - type: 'danger', - size: 'small', - icon: 'del', - btnKey: 'doDel', - btnLabel: '删除' - }, { type: 'info', size: 'small', @@ -268,9 +261,6 @@ export default { case 'toEdit': this.toEdit() break - case 'doDel': - this.doDel() - break case 'doClose': this.doClose() break @@ -363,36 +353,6 @@ export default { this.viewState = 4 this.$refs['divInfo'].showInfo(row) }, - // 删除 - doDel() { - if (this.sids.length === 0) { - this.$message({ showClose: true, type: 'error', message: '请选择至少一条记录进行删除操作' }) - return - } - const tip = '请确认是否删除所选 ' + this.sids.length + ' 条记录?' - this.$confirm(tip, '提示', { - confirmButtonText: '确定', - cancelButtonText: '取消', - type: 'warning' - }).then(() => { - const loading = this.$loading({ - lock: true, - text: 'Loading', - spinner: 'el-icon-loading', - background: 'rgba(0, 0, 0, 0.7)' - }) - req.deleteBySids(this.sids).then(resp => { - if (resp.success) { - this.$message({ type: 'success', message: resp.msg, showClose: true }) - } - this.getList() - loading.close() - }).catch(e => { - loading.close() - }) - }).catch(() => { - }) - }, // 修改、编辑、详情返回列表页面 resetState() { this.viewState = 1 diff --git a/yxt-as-ui/src/views/operation/repairbill/repairbillBySendWork.vue b/yxt-as-ui/src/views/operation/repairbill/repairbillBySendWork.vue index 82f9708151..c3f06af214 100644 --- a/yxt-as-ui/src/views/operation/repairbill/repairbillBySendWork.vue +++ b/yxt-as-ui/src/views/operation/repairbill/repairbillBySendWork.vue @@ -2,7 +2,7 @@
- +
@@ -26,7 +26,7 @@ - + @@ -92,7 +92,7 @@ - + @@ -102,7 +102,7 @@ - + @@ -168,13 +168,6 @@ export default { btnKey: 'toEdit', btnLabel: '编辑' }, - { - type: 'danger', - size: 'small', - icon: 'del', - btnKey: 'doDel', - btnLabel: '删除' - }, { type: 'info', size: 'small', @@ -268,9 +261,6 @@ export default { case 'toEdit': this.toEdit() break - case 'doDel': - this.doDel() - break case 'doClose': this.doClose() break @@ -363,36 +353,6 @@ export default { this.viewState = 4 this.$refs['divInfo'].showInfo(row) }, - // 删除 - doDel() { - if (this.sids.length === 0) { - this.$message({ showClose: true, type: 'error', message: '请选择至少一条记录进行删除操作' }) - return - } - const tip = '请确认是否删除所选 ' + this.sids.length + ' 条记录?' - this.$confirm(tip, '提示', { - confirmButtonText: '确定', - cancelButtonText: '取消', - type: 'warning' - }).then(() => { - const loading = this.$loading({ - lock: true, - text: 'Loading', - spinner: 'el-icon-loading', - background: 'rgba(0, 0, 0, 0.7)' - }) - req.deleteBySids(this.sids).then(resp => { - if (resp.success) { - this.$message({ type: 'success', message: resp.msg, showClose: true }) - } - this.getList() - loading.close() - }).catch(e => { - loading.close() - }) - }).catch(() => { - }) - }, // 修改、编辑、详情返回列表页面 resetState() { this.viewState = 1 diff --git a/yxt-as-ui/src/views/operation/repairbill/repairbillBySettleAccounts.vue b/yxt-as-ui/src/views/operation/repairbill/repairbillBySettleAccounts.vue index 99f9d4d3a3..e09b6a41d3 100644 --- a/yxt-as-ui/src/views/operation/repairbill/repairbillBySettleAccounts.vue +++ b/yxt-as-ui/src/views/operation/repairbill/repairbillBySettleAccounts.vue @@ -2,7 +2,7 @@
- +
@@ -26,7 +26,7 @@ - + @@ -92,7 +92,7 @@ - + @@ -102,7 +102,7 @@ - + @@ -169,13 +169,6 @@ export default { btnKey: 'toEdit', btnLabel: '编辑' }, - { - type: 'danger', - size: 'small', - icon: 'del', - btnKey: 'doDel', - btnLabel: '删除' - }, { type: 'info', size: 'small', @@ -269,9 +262,6 @@ export default { case 'toEdit': this.toEdit() break - case 'doDel': - this.doDel() - break case 'doClose': this.doClose() break @@ -364,36 +354,6 @@ export default { this.viewState = 4 this.$refs['divInfo'].showInfo(row) }, - // 删除 - doDel() { - if (this.sids.length === 0) { - this.$message({ showClose: true, type: 'error', message: '请选择至少一条记录进行删除操作' }) - return - } - const tip = '请确认是否删除所选 ' + this.sids.length + ' 条记录?' - this.$confirm(tip, '提示', { - confirmButtonText: '确定', - cancelButtonText: '取消', - type: 'warning' - }).then(() => { - const loading = this.$loading({ - lock: true, - text: 'Loading', - spinner: 'el-icon-loading', - background: 'rgba(0, 0, 0, 0.7)' - }) - req.deleteBySids(this.sids).then(resp => { - if (resp.success) { - this.$message({ type: 'success', message: resp.msg, showClose: true }) - } - this.getList() - loading.close() - }).catch(e => { - loading.close() - }) - }).catch(() => { - }) - }, // 修改、编辑、详情返回列表页面 resetState() { this.viewState = 1 diff --git a/yxt-as-ui/src/views/operation/repairbill/repairbillInfo.vue b/yxt-as-ui/src/views/operation/repairbill/repairbillInfo.vue index ecc8d7e751..fe36bfc680 100644 --- a/yxt-as-ui/src/views/operation/repairbill/repairbillInfo.vue +++ b/yxt-as-ui/src/views/operation/repairbill/repairbillInfo.vue @@ -26,7 +26,7 @@ -
工单类型
+
维修单类型
{{ formobj.billType }}
@@ -137,7 +137,7 @@
- +
责任划分
@@ -162,7 +162,7 @@
- +
是否开发票
@@ -172,17 +172,34 @@
发票类型
{{ formobj.invoiceVo.invoiceType }}
+ +
税率
+ {{ formobj.invoiceVo.taxRate }} +
+
+
开票单位
{{ formobj.invoiceVo.invoiceCompany }}
+ +
加税点的项目
+ + + + + + + + +
-
服务项目
+
维修项目
- + @@ -194,7 +211,7 @@ -
商品
+
维修用料
前台登记时对商品要求备注
@@ -203,24 +220,33 @@
+ - + - + + + +
附加项目
外出费(元)
- {{ formobj.outAmount }} + +
+ {{ formobj.outAmount }} + 开票金额:{{ formobj.outKPAmount }} +
+
备注
@@ -230,7 +256,12 @@
厂家补助(元)
- {{ formobj.subsidyAmount }} + +
+ {{ formobj.subsidyAmount }} + 开票金额:{{ formobj.subsidyKPAmount }} +
+
备注
@@ -240,7 +271,12 @@
施救费(元)
- {{ formobj.rescueAmount }} + +
+ {{ formobj.rescueAmount }} + 开票金额:{{ formobj.rescueKPAmount }} +
+
备注
@@ -263,7 +299,7 @@
应收合计:
- {{ ysTotal }} = 工时费:{{ gsfTotal }} + 材料费:{{ clfTotal }} + 附加费:{{ fjfTotal }} + 税额:0 + {{ ysTotal }} = 工时费:{{ gsfTotal }} + 材料费:{{ clfTotal }} + 附加费:{{ fjfTotal }}
@@ -355,7 +391,9 @@ export default { invoiceType: '', invoiceTypeKey: '', invoiceCompanySid: '', - invoiceCompany: '' + invoiceCompany: '', + taxRate: '', + taxItems: [] }, insuranceVo: { responsibility: '', @@ -391,8 +429,11 @@ export default { addAmount: '', taxAmount: '', outAmount: '', + outKPAmount: '', subsidyAmount: '', + subsidyKPAmount: '', rescueAmount: '', + rescueKPAmount: '', actualAmount: '', receivableAmount: '', subsidyRemarks: '', @@ -407,7 +448,7 @@ export default { } }, computed: { - // 计算工时费 = 服务项目列表中所有销售价之和 + // 计算工时费 = 维修项目列表中所有销售价之和 gsfTotal() { let gsf = '0' if (this.formobj.sitemVos.length > 0) { @@ -450,7 +491,7 @@ export default { ys = Math.round((parseFloat(ys) + parseFloat(this.gsfTotal) + parseFloat(this.clfTotal) + parseFloat(this.fjfTotal)) * 100) / 100 return ys }, - // 优惠 = 服务项目列表中的所有优惠之和 + 商品列表中所有优惠之和 + // 优惠 = 维修项目列表中的所有优惠之和 + 商品列表中所有优惠之和 yhTotal() { let yh = '0' if (this.formobj.sitemVos.length > 0) { @@ -492,6 +533,13 @@ export default { } }) } + if (this.formobj.goodsDetailsVos.length > 0) { + this.formobj.goodsDetailsVos.forEach((e) => { + if (e.partsSellers.length > 0) { + e.partsSellers = e.partsSellers.join(',') + } + }) + } } }) }, @@ -560,7 +608,9 @@ export default { invoiceType: '', invoiceTypeKey: '', invoiceCompanySid: '', - invoiceCompany: '' + invoiceCompany: '', + taxRate: '', + taxItems: [] }, insuranceVo: { responsibility: '', @@ -596,8 +646,11 @@ export default { addAmount: '', taxAmount: '', outAmount: '', + outKPAmount: '', subsidyAmount: '', + subsidyKPAmount: '', rescueAmount: '', + rescueKPAmount: '', actualAmount: '', receivableAmount: '', subsidyRemarks: '', From ae0f2fc9d140688c5d8ea143c7ac01d48daadf79 Mon Sep 17 00:00:00 2001 From: yunuo970428 <405378304@qq.com> Date: Fri, 2 Aug 2024 16:25:07 +0800 Subject: [PATCH 5/7] =?UTF-8?q?=E5=AE=8C=E5=96=84=E9=A2=84=E7=BA=A6?= =?UTF-8?q?=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../views/operation/preregistration/preregistrationAdd.vue | 6 +++--- .../views/operation/preregistration/preregistrationInfo.vue | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/yxt-as-ui/src/views/operation/preregistration/preregistrationAdd.vue b/yxt-as-ui/src/views/operation/preregistration/preregistrationAdd.vue index 694b630e14..9750378de5 100644 --- a/yxt-as-ui/src/views/operation/preregistration/preregistrationAdd.vue +++ b/yxt-as-ui/src/views/operation/preregistration/preregistrationAdd.vue @@ -55,7 +55,7 @@
*科目
- + @@ -81,7 +81,7 @@
-
服务项目
+
维修项目
添加
@@ -91,7 +91,7 @@ 删除 - +