diff --git a/hangtag-module-oms/hangtag-module-oms-api/src/main/java/cn/hangtag/module/oms/enums/DictTypeConstants.java b/hangtag-module-oms/hangtag-module-oms-api/src/main/java/cn/hangtag/module/oms/enums/DictTypeConstants.java index a3c4b22..00d9b0f 100644 --- a/hangtag-module-oms/hangtag-module-oms-api/src/main/java/cn/hangtag/module/oms/enums/DictTypeConstants.java +++ b/hangtag-module-oms/hangtag-module-oms-api/src/main/java/cn/hangtag/module/oms/enums/DictTypeConstants.java @@ -11,4 +11,8 @@ public interface DictTypeConstants { String BILL_STATUS = "oms_bill_status"; // 单据状态 String ORDER_STATUS = "oms_order_status"; // 订单状态 + + String OMS_CONTRACT_TYPE = "oms_contract_type"; // 合约类型 + + String OMS_CURRENCY_TYPE = "currency_type"; // 结算币种 } diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/app/AppSaleOrderController.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/app/AppSaleOrderController.java index 2787107..ad0f886 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/app/AppSaleOrderController.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/app/AppSaleOrderController.java @@ -2,6 +2,7 @@ package cn.hangtag.module.oms.controller.admin.app; import cn.hangtag.framework.apilog.core.annotation.ApiAccessLog; +import cn.hangtag.framework.common.exception.ErrorCode; import cn.hangtag.framework.common.pojo.CommonResult; import cn.hangtag.framework.common.pojo.PageParam; import cn.hangtag.framework.common.pojo.PageResult; @@ -36,6 +37,7 @@ import java.util.List; import java.util.Map; import static cn.hangtag.framework.apilog.core.enums.OperateTypeEnum.EXPORT; +import static cn.hangtag.framework.common.pojo.CommonResult.error; import static cn.hangtag.framework.common.pojo.CommonResult.success; @Tag(name = "APP - 销售订单") @@ -97,9 +99,12 @@ public class AppSaleOrderController{ public CommonResult> getSaleOrderPage(@Valid SaleOrderPageReqVO pageReqVO) { LoginUser loginUser = SecurityFrameworkUtils.getLoginUser(); CustomerDO customer = customerService.getCustomerByUserId(loginUser.getId()); - pageReqVO.setCustomerId(customer.getId()); - PageResult pageResult = saleOrderService.getSaleOrderPage(pageReqVO); - return success(BeanUtils.toBean(pageResult, SaleOrderRespVO.class)); + if(customer!=null){ + pageReqVO.setCustomerId(customer.getId()); + PageResult pageResult = saleOrderService.getSaleOrderPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, SaleOrderRespVO.class)); + } + return error(new ErrorCode(99999,"该用户未绑定客户资料,请联系管理员维护数据!")); } @GetMapping("/export-excel") diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/produceorder/vo/ProduceOrderSaveReqVO.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/produceorder/vo/ProduceOrderSaveReqVO.java index 4caf9f8..a12d153 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/produceorder/vo/ProduceOrderSaveReqVO.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/produceorder/vo/ProduceOrderSaveReqVO.java @@ -77,6 +77,9 @@ public class ProduceOrderSaveReqVO { @Schema(description = "交货数量") private Long deliveryQty; + @Schema(description = "合约类型") + private String contractType; + @Schema(description = "详情") private String details; diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/salecontract/vo/SaleContractSaveReqVO.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/salecontract/vo/SaleContractSaveReqVO.java index fb5c415..88bbc0c 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/salecontract/vo/SaleContractSaveReqVO.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/salecontract/vo/SaleContractSaveReqVO.java @@ -55,6 +55,12 @@ public class SaleContractSaveReqVO { @Schema(description = "地址") private String address; + @Schema(description = "合约类型") + private String contractType; + + @Schema(description = "结算币种") + private String currencyType; + @Schema(description = "OMS销售合约分录列表") private List saleContractEntrys; diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/vo/SaleOrderRespVO.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/vo/SaleOrderRespVO.java index a96745e..c8a8db7 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/vo/SaleOrderRespVO.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/vo/SaleOrderRespVO.java @@ -40,6 +40,16 @@ public class SaleOrderRespVO { @DictFormat(DictTypeConstants.ORDER_STATUS) private Integer orderStatus; + @Schema(description = "合约类型", example = "2") + @ExcelProperty(value = "合约类型", converter = DictConvert.class) + @DictFormat(DictTypeConstants.OMS_CONTRACT_TYPE) + private String contractType; + + @Schema(description = "结算币种", example = "2") + @ExcelProperty(value = "结算币种", converter = DictConvert.class) + @DictFormat(DictTypeConstants.OMS_CURRENCY_TYPE) + private String currencyType; + @Schema(description = "业务日期") @ExcelProperty("业务日期") private LocalDateTime bizdate; diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/vo/SaleOrderSaveReqVO.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/vo/SaleOrderSaveReqVO.java index 9e10196..e87d3e0 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/vo/SaleOrderSaveReqVO.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/vo/SaleOrderSaveReqVO.java @@ -59,6 +59,12 @@ public class SaleOrderSaveReqVO { @Schema(description = "单据状态", example = "2") private String billStatus; + @Schema(description = "合约类型", example = "2") + private String contractType; + + @Schema(description = "结算币种", example = "2") + private String currencyType; + @Schema(description = "订单状态", example = "2") private Integer orderStatus; diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/convert/saleorder/SaleOrderConvert.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/convert/saleorder/SaleOrderConvert.java index 60c4502..e159f86 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/convert/saleorder/SaleOrderConvert.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/convert/saleorder/SaleOrderConvert.java @@ -23,7 +23,9 @@ public interface SaleOrderConvert { @Mapping(source = "invoiceCode", target = "invoiceCode"), @Mapping(source = "invoiceName", target = "invoiceName"), @Mapping(source = "address", target = "address"), - @Mapping(source = "emails", target = "emails") + @Mapping(source = "emails", target = "emails"), + @Mapping(source = "contractType", target = "contractType"), + @Mapping(source = "currencyType", target = "currencyType") }) SaleOrderRespVO convert(SaleOrderDO bean); diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/dataobject/salecontract/SaleContractDO.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/dataobject/salecontract/SaleContractDO.java index 2717f9c..b640b61 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/dataobject/salecontract/SaleContractDO.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/dataobject/salecontract/SaleContractDO.java @@ -81,5 +81,13 @@ public class SaleContractDO extends BaseDO { * 地址 */ private String address; + /** + * 合约类型 + */ + private String contractType; + /** + * 结算币种 + */ + private String currencyType; } \ No newline at end of file diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/dataobject/saleorder/SaleOrderDO.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/dataobject/saleorder/SaleOrderDO.java index 89a2ef6..3935385 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/dataobject/saleorder/SaleOrderDO.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/dataobject/saleorder/SaleOrderDO.java @@ -164,6 +164,16 @@ public class SaleOrderDO extends BaseDO { */ private String orderFollowerUser; + /** + * 合约类型 + */ + private String contractType; + + /** + * 结算币种 + */ + private String currencyType; + public SaleOrderDO(CreateSaleOrderDTO dto) { BeanUtil.copyProperties(dto, this,"bizdate","plansenddate"); } diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/produceorder/ProduceOrderServiceImpl.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/produceorder/ProduceOrderServiceImpl.java index ed2a762..3ad5100 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/produceorder/ProduceOrderServiceImpl.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/produceorder/ProduceOrderServiceImpl.java @@ -17,6 +17,7 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; import javax.validation.ConstraintViolationException; @@ -59,7 +60,11 @@ public class ProduceOrderServiceImpl implements ProduceOrderService { if(FuncUtil.isNotEmpty(code)){ checkCode(produceOrder.getId(),code); }else { - produceOrder.setBillno(getNewCode()); + String newCode = getNewCode(); + if(StringUtils.isNotBlank(createReqVO.getContractType())){ + newCode = newCode.replace("XSHY-",createReqVO.getContractType()+"-"); + } + produceOrder.setBillno(newCode); } produceOrderMapper.insert(produceOrder); // 返回 @@ -76,10 +81,12 @@ public class ProduceOrderServiceImpl implements ProduceOrderService { Double specSizeWidth = productInfo.getSpecSizeWidth(); Double specSizeHeight = productInfo.getSpecSizeHeight(); String specMaterial = productInfo.getSpecMaterial(); + String productionInfo = productInfo.getProductionInfo(); StringBuffer str = new StringBuffer(); - str.append(String.format("货名:%s\r\n",productInfo.getName())); +/* str.append(String.format("货名:%s\r\n",productInfo.getName())); str.append(String.format("规格:%s × %s \r\n",specSizeWidth,specSizeHeight)); - str.append(String.format("纸质:%s \r\n",specMaterial)); + str.append(String.format("纸质:%s \r\n",specMaterial));*/; + str.append(String.format("%s ",productionInfo)); updateObj.setDetails(str.toString()); produceOrderMapper.updateById(updateObj); diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderServiceImpl.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderServiceImpl.java index 0b280d2..836b90e 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderServiceImpl.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderServiceImpl.java @@ -160,6 +160,12 @@ public class SaleOrderServiceImpl implements SaleOrderService { // 插入 SaleOrderDO saleOrder = BeanUtils.toBean(createReqVO, SaleOrderDO.class); saleOrder.setOrderStatus(SaleOrderStatusEnum.YXD.getValue()); + List entrys = createReqVO.getEntrys(); + String currency = null; + if(entrys!=null&&entrys.size()>0){ + currency = entrys.get(0).getCurrency(); + } + saleOrder.setCurrency(currency); saleOrderMapper.insert(saleOrder); // 插入子表 createSaleOrderEntryList(saleOrder.getId(), createReqVO.getEntrys()); @@ -322,8 +328,15 @@ public class SaleOrderServiceImpl implements SaleOrderService { case "audit": //审核 for (SaleOrderDO saleOrder : saleOrders) { if (BillStatusEnum.SUBMIT.getValue().equals(saleOrder.getBillStatus())) { - List entrys = getSaleOrderEntryListByParentId(saleOrder.getId()); + String contractType = saleOrder.getContractType(); + String currencyType = saleOrder.getCurrencyType(); + if(StringUtils.isBlank(contractType)){ + throw new ServiceException(001, "合约类型不允许为空!"); + } + if(StringUtils.isBlank(currencyType)){ + throw new ServiceException(001, "结算币种不允许为空!"); + } if (entrys == null || entrys.isEmpty()) { throw new ServiceException(001, "产品明细为空"); } @@ -401,7 +414,7 @@ public class SaleOrderServiceImpl implements SaleOrderService { } } break; - case "unaudit": //审核 + case "unaudit": //反审核 for (SaleOrderDO saleOrder : saleOrders) { if (!BillStatusEnum.AUDIT.getValue().equals(saleOrder.getBillStatus())) { throw new ServiceException(001, "订单状态不等于已审核状态,不允许反审核!"); @@ -439,7 +452,7 @@ public class SaleOrderServiceImpl implements SaleOrderService { ProductInfoDO productInfo = productInfoService.getProductInfo(entry.getMaterialId()); ProduceOrderSaveReqVO saveReqVO = new ProduceOrderSaveReqVO(); saveReqVO.setOrderNo(saleOrder.getBillno()); - saveReqVO.setSaleContractNo(saleOrder.getBillno()); + saveReqVO.setSaleContractNo(saleOrder.getContractCode()); saveReqVO.setCustomerId(customer.getId()); saveReqVO.setCustomerCode(customer.getNumber()); saveReqVO.setProductId(entry.getMaterialId()); @@ -474,6 +487,7 @@ public class SaleOrderServiceImpl implements SaleOrderService { SaleOrderDO saleOrderDO = new SaleOrderDO(); saleOrderDO.setId(saleOrder.getId()); saleOrderDO.setOrderStatus(SaleOrderStatusEnum.YWC.getValue()); + saleOrderDO.setBillStatus(BillStatusEnum.YPLAN.getValue()); saleOrderMapper.updateById(saleOrderDO); //} } @@ -508,6 +522,7 @@ public class SaleOrderServiceImpl implements SaleOrderService { context.setVariable("clerk", saleContract.getClerk()); context.setVariable("saleOrderNo", saleContract.getCustomerBuyNo()); context.setVariable("totalAmount", saleContract.getAmount()); + context.setVariable("currencyType", saleContract.getCurrencyType()); context.setVariable("zhTotalAmount", "合共人民币" + NumberChineseFormatterUtils.convertToChinese(saleContract.getAmount()) + "整"); for (int i = 0; i < saleContractEntrys.size(); i++) { @@ -973,11 +988,17 @@ public class SaleOrderServiceImpl implements SaleOrderService { private SaleContractSaveReqVO toSaleContractVO(SaleOrderDO saleOrder, List entrys) { CustomerDO customer = customerService.getCustomer(saleOrder.getCustomerId()); SaleContractSaveReqVO saveReqVO = new SaleContractSaveReqVO(); - // 优先使用销售订单合同号 + String billno = getNewOrderCode2(); + String contractType = saleOrder.getContractType(); + if(StringUtils.isNotBlank(contractType)){ + billno = billno.replace("XXXX-",contractType+"-"); + } + /* // 优先使用销售订单合同号 String billno = saleOrder.getContractCode(); if (FuncUtil.isEmpty(billno)) { billno = getNewContractCode2(); - } + }*/ + saveReqVO.setBillno(billno); saveReqVO.setCustomerId(saleOrder.getCustomerId()); saveReqVO.setCustomerName(customer.getName()); @@ -990,6 +1011,8 @@ public class SaleOrderServiceImpl implements SaleOrderService { saveReqVO.setFax(saleOrder.getFax()); saveReqVO.setAmount(saleOrder.getOrderAmount()); saveReqVO.setAddress(saleOrder.getDeliveryAddress()); + saveReqVO.setContractType(saleOrder.getContractType()); + saveReqVO.setCurrencyType(saleOrder.getCurrencyType()); List list = new ArrayList<>(); for (SaleOrderEntryDO entry : entrys) { @@ -1155,4 +1178,44 @@ public class SaleOrderServiceImpl implements SaleOrderService { return saleOrderDO; } + private String getNewOrderCode2() { + String s = ""; + int count = 10; + while (true){ + count --; + try { + s = CodingRulesUtils.generateCode(saleContractCodeId, false); + checkCode2(null,s); + return s; + }catch (ServiceException e){ + log.warn("重复或者下一个编码"); + if(count < 0){ + log.error("编码获取失败"); + return ""; + } + } + } + } + + private void checkCode2(Long id,String code){ + if(FuncUtil.isNotEmpty(code)){ + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.select(SaleContractDO::getId,SaleContractDO::getBillno, BaseDO::getDeleted); + lambdaQueryWrapper.eq(SaleContractDO::getBillno, code); + lambdaQueryWrapper.eq(SaleContractDO::getDeleted,false); + List dos = saleContractMapper.selectList(lambdaQueryWrapper); + if(FuncUtil.isEmpty(id) && FuncUtil.isNotEmpty(dos)){ + throw exception(GlobalErrorCodeConstants.DATA_DUPLICATE); + } + if (FuncUtil.isNotEmpty(id) && FuncUtil.isNotEmpty(dos)) { + for (SaleContractDO aDo : dos) { + // 出现重复并当前id 不一致 + if(!FuncUtil.equals(aDo.getId(), id)){ + throw exception(GlobalErrorCodeConstants.DATA_DUPLICATE); + } + } + } + } + } + } \ No newline at end of file diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/resources/templates/pdf_template.html b/hangtag-module-oms/hangtag-module-oms-biz/src/main/resources/templates/pdf_template.html index 3eee45b..abbf3f1 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/resources/templates/pdf_template.html +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/resources/templates/pdf_template.html @@ -118,9 +118,9 @@ 项目 产品说明 数量 - 单位订价RMB + 单位订价 折扣% - 金额RMB + 金额 交货日期 @@ -252,7 +252,7 @@ - RMB + RMB XXXXXXXxXX diff --git a/hangtag-module-system/hangtag-module-system-biz/src/main/java/cn/hangtag/module/system/controller/admin/auth/vo/AuthMailModifyPwdReqVO.java b/hangtag-module-system/hangtag-module-system-biz/src/main/java/cn/hangtag/module/system/controller/admin/auth/vo/AuthMailModifyPwdReqVO.java index ef47e05..e2de08f 100644 --- a/hangtag-module-system/hangtag-module-system-biz/src/main/java/cn/hangtag/module/system/controller/admin/auth/vo/AuthMailModifyPwdReqVO.java +++ b/hangtag-module-system/hangtag-module-system-biz/src/main/java/cn/hangtag/module/system/controller/admin/auth/vo/AuthMailModifyPwdReqVO.java @@ -1,7 +1,6 @@ package cn.hangtag.module.system.controller.admin.auth.vo; import cn.hangtag.framework.common.validation.Email; -import cn.hangtag.framework.common.validation.Mobile; import io.swagger.v3.oas.annotations.media.Schema; import lombok.AllArgsConstructor; import lombok.Builder; @@ -9,6 +8,7 @@ import lombok.Data; import lombok.NoArgsConstructor; import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; @Schema(description = "管理后台 - 邮箱验证码的重置密码 Request VO") @Data @@ -35,7 +35,7 @@ public class AuthMailModifyPwdReqVO { private String code; @Schema(description = "账户类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") - @NotEmpty(message = "账户类型不能为空") + @NotNull(message = "账户类型不能为空") private Integer type; } diff --git a/hangtag-module-system/hangtag-module-system-biz/src/main/resources/json/customer_menu.json b/hangtag-module-system/hangtag-module-system-biz/src/main/resources/json/customer_menu.json index 65ce12b..a728a5a 100644 --- a/hangtag-module-system/hangtag-module-system-biz/src/main/resources/json/customer_menu.json +++ b/hangtag-module-system/hangtag-module-system-biz/src/main/resources/json/customer_menu.json @@ -2,7 +2,7 @@ { "id": 2804, "parentId": 0, - "name": "订单管理", + "name": "order.ordermanage", "path": "/order", "component": "", "componentName": "", @@ -14,7 +14,7 @@ { "id": 2830, "parentId": 2828, - "name": "我的订单", + "name": "order.myorder", "path": "sale-order", "component": "oms/saleorder/index", "componentName": "SaleOrder", @@ -27,7 +27,7 @@ { "id": 2818, "parentId": 2804, - "name": "创建订单", + "name": "order.createorder", "path": "createorder", "component": "oms/order/createorder/index", "componentName": "CreateOrder", diff --git a/hangtag-ui/hangtag-ui-admin/src/api/oms/saleorder/index.ts b/hangtag-ui/hangtag-ui-admin/src/api/oms/saleorder/index.ts index 1b78401..b4ac220 100644 --- a/hangtag-ui/hangtag-ui-admin/src/api/oms/saleorder/index.ts +++ b/hangtag-ui/hangtag-ui-admin/src/api/oms/saleorder/index.ts @@ -16,6 +16,8 @@ export interface SaleOrderVO { address: string // 地址 currency: string // 货币 invoiceRemarks: string // 发票备注 + contractType: string // 合约类型 + currencyType: string // 结算币种 } // 销售订单 API diff --git a/hangtag-ui/hangtag-ui-admin/src/layout/components/ToolHeader.vue b/hangtag-ui/hangtag-ui-admin/src/layout/components/ToolHeader.vue index 0b8d00d..9f164a6 100644 --- a/hangtag-ui/hangtag-ui-admin/src/layout/components/ToolHeader.vue +++ b/hangtag-ui/hangtag-ui-admin/src/layout/components/ToolHeader.vue @@ -69,12 +69,6 @@ export default defineComponent({ {size.value ? ( ) : undefined} - {locale.value ? ( - - ) : undefined} {message.value ? ( ) : undefined} diff --git a/hangtag-ui/hangtag-ui-admin/src/locales/en.ts b/hangtag-ui/hangtag-ui-admin/src/locales/en.ts index 8371188..8d9c48d 100644 --- a/hangtag-ui/hangtag-ui-admin/src/locales/en.ts +++ b/hangtag-ui/hangtag-ui-admin/src/locales/en.ts @@ -207,6 +207,7 @@ export default { toDo: 'To do', introduction: 'A serious introduction', shortcutOperation: 'Quick entry', + operationData: 'Operation Data', operation: 'Operation', index: 'Index', personal: 'Personal', @@ -460,6 +461,86 @@ export default { btn_zoom_out: 'Zoom out', preview: 'Preivew' }, + + order:{ + ordermanage:'Order Manage', + myorder:'My Order', + createorder:'Create Order' + }, + orderstatus:{ + rejectedOrder:'Rejected Order', + waitAuditOrder:'Wait Audit Order', + waitArrangeOrder:'Wait Arrange Order', + }, + omsSystem: { + title:'Silver Pringting OMS' + }, + billform:{ + pleaseenter:'pleaseenter ', + pleaseselect:'pleaseselect ', + startdate:'startdate', + enddate:'enddate', + }, + billlist:{ + search:'Search', + reset:'Reset', + cancel:'Cancel', + submit:'Submit', + export:'Export', + all:'All', + waitAudit:'Wait Audit', + waitArrange:'Wait Arrange', + planned:'Planned', + edit:'edit', + details:'details', + operate:'operate', + }, + saleorder:{ + title:{ + details:'OrderDetails', + remarks:'remarks', + orderinfo:'OrderInfo', + orderstatus:'OrderStatus', + productinfo:'ProductInfo', + invoiceinfo:'InvoiceInfo', + billinfo:'BillInfo', + }, + billno:'orderNo', + customer:'customer', + salesperson:'salesPerson', + followUpPerson:'followUpPerson', + bizdate:'bizdate', + confirmdate:'confirmdate', + plandate:'plandate', + orderstatus:'orderstatus', + phone:'phone', + remark:'remark', + contractType:'contractType', + emails:'emails', + fax:'fax', + customerCompany:'customerCompany', + customerNumber:'customerNumber', + customerName:'customerName', + currencyType:'currencyType', + invoiceCode:'invoiceCode', + invoiceName:'invoiceName', + invoiceAddress:'invoiceAddress', + invoiceRemarks:'invoiceRemarks', + createTime:'createTime', + updaterName:'updaterName', + updateTime:'updateTime', + auditorName:'auditorName', + auditorTime:'auditorTime', + entry:{ + productNumber:'productNumber', + productName:'productName', + productSpec:'productSpec', + qty:'qty', + price:'price', + discount:'discount', + amount:'amount', + } + }, designInfo: { "auditSubmitText": "Submit for Review", "auditTips": "This draft is only for content verification and is not the final print file.", diff --git a/hangtag-ui/hangtag-ui-admin/src/locales/zh-CN.ts b/hangtag-ui/hangtag-ui-admin/src/locales/zh-CN.ts index 7c2fd5f..0e31e67 100644 --- a/hangtag-ui/hangtag-ui-admin/src/locales/zh-CN.ts +++ b/hangtag-ui/hangtag-ui-admin/src/locales/zh-CN.ts @@ -208,6 +208,7 @@ export default { toDo: '待办', introduction: '一个正经的简介', shortcutOperation: '快捷入口', + operationData: '运营数据', operation: '操作', index: '指数', personal: '个人', @@ -454,6 +455,87 @@ export default { btn_zoom_out: '缩小', preview: '预览' }, + 'OAuth 2.0': 'OAuth 2.0' // 避免菜单名是 OAuth 2.0 时,一直 warn 报错 + , + order:{ + ordermanage:'订单管理', + myorder:'我的订单', + createorder:'创建订单' + }, + orderstatus:{ + rejectedOrder:'已驳回订单', + waitAuditOrder:'待审核订单', + waitArrangeOrder:'待排产订单', + }, + omsSystem: { + title:'嘉晋OMS下单系统' + }, + billform:{ + pleaseenter:'请输入', + pleaseselect:'请选择', + startdate:'开始日期', + enddate:'结束日期', + }, + billlist:{ + search:'搜索', + reset:'重置', + cancel:'作废', + submit:'提交', + export:'导出', + all:'全部', + waitAudit:'待审核', + waitArrange:'待排产', + planned:'已排产', + edit:'编辑', + details:'详情', + operate:'操作', + }, + saleorder:{ + title:{ + details:'订单详情', + remarks:'备注', + orderinfo:'订单信息', + orderstatus:'订单状态', + productinfo:'产品信息', + invoiceinfo:'发票信息', + billinfo:'制单信息', + }, + billno:'订单号', + customer:'客户', + salesperson:'销售员', + followUpPerson:'跟单员', + bizdate:'业务日期', + confirmdate:'确认日期', + plandate:'计划日期', + orderstatus:'订单状态', + phone:'手机', + remark:'备注', + contractType:'合约类型', + emails:'邮箱', + fax:'传真', + customerCompany:'客户公司', + customerNumber:'客户编号', + customerName:'客户名称', + currencyType:'结算币种', + invoiceCode:'发票抬头', + invoiceName:'发票名称', + invoiceAddress:'发票地址', + invoiceRemarks:'发票备注', + createTime:'创建时间', + updaterName:'修改人', + updateTime:'修改时间', + auditorName:'审核人', + auditorTime:'审核时间', + entry:{ + productNumber:'产品编码', + productName:'产品名称', + productSpec:'产品规格', + qty:'数量', + price:'单价', + discount:'折扣', + amount:'金额', + } + }, designInfo: { auditSubmitText: '批稿', auditTips: '此稿件仅仅作为核对内容使用用,不作为最终印刷稿件;', @@ -586,5 +668,4 @@ export default { colLabelRemark: '备注', colLabelDetails: '详情描述', }, - 'OAuth 2.0': 'OAuth 2.0' // 避免菜单名是 OAuth 2.0 时,一直 warn 报错 } diff --git a/hangtag-ui/hangtag-ui-admin/src/utils/dict.ts b/hangtag-ui/hangtag-ui-admin/src/utils/dict.ts index 75a228e..f7f0ade 100644 --- a/hangtag-ui/hangtag-ui-admin/src/utils/dict.ts +++ b/hangtag-ui/hangtag-ui-admin/src/utils/dict.ts @@ -221,5 +221,6 @@ export enum DICT_TYPE { OMS_ORDER_STATUS = 'oms_order_status',// 订单状态 OMS_PRODUCT_CARE_ITEM_TYPE = 'oms_product_care_item_type', //产品保养项目类型 1.成分说明 2.洗涤说明 3.使用说明 4.尺码 OMS_PRODUCT_CARE_PROCESS_TYPE = 'oms_product_care_process_type', //产品护理过程类型 1洗涤 2漂白 3烘干 4自然干燥 5熨烫 6专业纺织品护理工艺 + OMS_CONTRACT_TYPE = 'oms_contract_type', //合约类型 } diff --git a/hangtag-ui/hangtag-ui-admin/src/views/oms/produceorder/ProduceOrderForm.vue b/hangtag-ui/hangtag-ui-admin/src/views/oms/produceorder/ProduceOrderForm.vue index 2f139f0..5ff9999 100644 --- a/hangtag-ui/hangtag-ui-admin/src/views/oms/produceorder/ProduceOrderForm.vue +++ b/hangtag-ui/hangtag-ui-admin/src/views/oms/produceorder/ProduceOrderForm.vue @@ -175,6 +175,7 @@ import startPreview from "./components/preview.vue" import {dateUtil} from "@/utils/dateUtil"; import {dateFormatter, formatDate} from '@/utils/formatTime' import ProductInfoListDialog from "@/components/Dialog/src/ProductInfoListDialog/index.vue"; +import {ProductInfoApi} from "@/api/oms/productinfo"; /** 生产制单 表单 */ @@ -306,6 +307,7 @@ const downpdf = async () => { if (id) { formData.value = await ProduceOrderApi.getProduceOrder(id) } + //日期转换 formData.value.contractDateStr = formatDate(formData.value.contractDate,'YYYY-MM-DD') formData.value.reportDateStr = formatDate(formData.value.reportDate,'YYYY-MM-DD') @@ -315,6 +317,17 @@ const downpdf = async () => { formData.value.deliverydateStr = formatDate(formData.value.deliverydate,'YYYY-MM-DD') //formData.value.saleContractNo = formData.value.orderNo + if(formData.value.productId){ + const material = await ProductInfoApi.getProductInfo(formData.value.productId) + formData.value.productCode = material.code + formData.value.productName = material.name + formData.value.details = material.productionInfo + }else { + formData.value.productCode = '' + formData.value.productName = '' + formData.value.details = '' + } + let printData = JSON.stringify(formData.value) printData = JSON.parse(printData) let hiprintTemplate = new hiprint.PrintTemplate({template: template1}); @@ -345,6 +358,19 @@ const preview = async () => { formData.value.deliverydateStr = formatDate(formData.value.deliverydate,'YYYY-MM-DD') //formData.value.saleContractNo = formData.value.orderNo + if(formData.value.productId){ + const material = await ProductInfoApi.getProductInfo(formData.value.productId) + formData.value.productCode = material.code + formData.value.productName = material.name + formData.value.details = material.productionInfo + }else { + formData.value.productCode = '' + formData.value.productName = '' + formData.value.details = '' + } + + + let printData = JSON.stringify(formData.value) printData = JSON.parse(printData) let hiprintTemplate = new hiprint.PrintTemplate({template: template1}); diff --git a/hangtag-ui/hangtag-ui-admin/src/views/oms/produceorder/template1.js b/hangtag-ui/hangtag-ui-admin/src/views/oms/produceorder/template1.js index a356b1d..752dbb3 100644 --- a/hangtag-ui/hangtag-ui-admin/src/views/oms/produceorder/template1.js +++ b/hangtag-ui/hangtag-ui-admin/src/views/oms/produceorder/template1.js @@ -408,14 +408,14 @@ export default { { "options": { "left": 474, - "top": 177, + "top": 187.5, "height": 9.75, "width": 120, "title": "数量", - "right": 574.5, - "bottom": 131.25, - "vCenter": 514.5, - "hCenter": 126.375, + "right": 593.9926071166992, + "bottom": 186.7401351928711, + "vCenter": 533.9926071166992, + "hCenter": 181.8651351928711, "field": "deliveryQty", "coordinateSync": false, "widthHeightSync": false, diff --git a/hangtag-ui/hangtag-ui-admin/src/views/oms/saleorder/detail/index.vue b/hangtag-ui/hangtag-ui-admin/src/views/oms/saleorder/detail/index.vue index 8f31bfc..9ef332b 100644 --- a/hangtag-ui/hangtag-ui-admin/src/views/oms/saleorder/detail/index.vue +++ b/hangtag-ui/hangtag-ui-admin/src/views/oms/saleorder/detail/index.vue @@ -21,16 +21,48 @@ @click="remark">备注 - {{ formData.billno }} - {{ formatDate(formData.bizdate,'YYYY-MM-DD') }} - {{ formatDate(formData.confirmdate,'YYYY-MM-DD') }} - {{ formatDate(formData.plansenddate,'YYYY-MM-DD') }} + {{ formData.billno }} + + + + + + {{ formData.contractType }} + {{ formatDate(formData.bizdate,'YYYY-MM-DD') }} + {{ formatDate(formData.confirmdate,'YYYY-MM-DD') }} + {{ formatDate(formData.plansenddate,'YYYY-MM-DD') }} {{ formData.phone }} {{ formData.fax }} {{ formData.emails }} {{ formData?.customer?.number }} {{ formData?.customer?.name }} {{ formData?.customer?.company }} + + + + + + {{ formData.currencyType }} {{ formData.remark }} @@ -149,19 +181,19 @@ - {{ formData.invoiceCode }} - {{ formData.invoiceName }} - {{ formData.currency }} - {{ formData.invoiceRemarks }} + {{ formData.invoiceCode }} + {{ formData.invoiceName }} + {{ formData.address }} + {{ formData.invoiceRemarks }} - {{ formatDate(formData.createTime) }} - {{ formData.updaterName }} - {{ formatDate(formData.updateTime) }} + {{ formatDate(formData.createTime) }} + {{ formData.updaterName }} + {{ formatDate(formData.updateTime) }} {{ formData.auditorName }} {{ formatDate(formData.auditorTime) }} @@ -172,8 +204,8 @@