diff --git a/hangtag-module-oms/hangtag-module-oms-api/src/main/java/cn/hangtag/module/oms/enums/ErrorCodeConstants.java b/hangtag-module-oms/hangtag-module-oms-api/src/main/java/cn/hangtag/module/oms/enums/ErrorCodeConstants.java index 70eaea2..beab5bb 100644 --- a/hangtag-module-oms/hangtag-module-oms-api/src/main/java/cn/hangtag/module/oms/enums/ErrorCodeConstants.java +++ b/hangtag-module-oms/hangtag-module-oms-api/src/main/java/cn/hangtag/module/oms/enums/ErrorCodeConstants.java @@ -6,6 +6,7 @@ public interface ErrorCodeConstants extends cn.hangtag.module.system.enums.Erro // ========== 产品资料 TODO 补充编号 ========== ErrorCode PRODUCT_INFO_NOT_EXISTS = new ErrorCode(3200, "产品资料 不存在"); + ErrorCode PRODUCT_PROCESS_NOT_EXISTS = new ErrorCode(3201, "产品工艺 不存在"); ErrorCode CUSTOMER_NOT_EXISTS = new ErrorCode(3300, "客户不存在"); ErrorCode SHAPE_TEMPLATE_NOT_EXISTS = new ErrorCode(3400, "图形模板管理 不存在"); ErrorCode DRAFT_DESIGN_DATA_NOT_EXISTS = new ErrorCode(3500, "稿件模板数据 不存在"); diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/productinfo/dto/ProductInfoPageDTO.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/productinfo/dto/ProductInfoPageDTO.java new file mode 100644 index 0000000..6d8c159 --- /dev/null +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/productinfo/dto/ProductInfoPageDTO.java @@ -0,0 +1,99 @@ +package cn.hangtag.module.oms.controller.admin.productinfo.dto; + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +@Data +public class ProductInfoPageDTO implements Serializable { + + /** + * id + */ + @TableId + private Long id; + /** + * 产品编码 + */ + private String code; + /** + * 产品名称 + */ + private String name; + /** + * 封面 + */ + private String cover; + /** + * 品牌 + */ + private Long brandId; + /** + * 产品类型id + */ + private Long productTypeId; + /** + * 设计稿id + */ + private String draftDesignDataId; + /** + * 设计稿列表 json数据带名称 + */ + private String draftDesignList; + + /** + * 启用状态 + */ + private Boolean enabled; + /** + * 备注 + */ + private String remark; + /** + * 详情介绍 + */ + private String details; + + /** + * 简述 + */ + private String summary; + + /** + * 规格尺寸宽度 + */ + private Double specSizeWidth; + + /** + * 规格尺寸高度 + */ + private Double specSizeHeight; + + /** + * 规格厚度 + */ + private Double specSizeThk; + + /** + * 规格材质 + */ + private String specMaterial; + /** + * 品牌名称 + */ + private String brandName; + + /** + * 类型名称 + */ + private String productTypeName; + + /** + * 创建时间 + */ + private LocalDateTime createTime; +} diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/productinfo/vo/ProductInfoPageReqVO.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/productinfo/vo/ProductInfoPageReqVO.java index 4fdae2b..103f157 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/productinfo/vo/ProductInfoPageReqVO.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/productinfo/vo/ProductInfoPageReqVO.java @@ -1,5 +1,6 @@ package cn.hangtag.module.oms.controller.admin.productinfo.vo; +import com.alibaba.excel.annotation.ExcelProperty; import lombok.*; import java.util.*; import io.swagger.v3.oas.annotations.media.Schema; @@ -45,6 +46,33 @@ public class ProductInfoPageReqVO extends PageParam { @Schema(description = "详情介绍") private String details; + @Schema(description = "简述") + private String summary; + + /** + * 规格尺寸宽度 + */ + @Schema(description = "规格尺寸宽度") + private Double specSizeWidth; + + /** + * 规格尺寸高度 + */ + @Schema(description = "规格尺寸高度") + private Double specSizeHeight; + + /** + * 规格厚度 + */ + @Schema(description = "规格厚度") + private Double specSizeThk; + + /** + * 规格材质 + */ + @Schema(description = "规格材质") + private String specMaterial; + @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/productinfo/vo/ProductInfoRespVO.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/productinfo/vo/ProductInfoRespVO.java index 700c097..59ad735 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/productinfo/vo/ProductInfoRespVO.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/productinfo/vo/ProductInfoRespVO.java @@ -1,5 +1,6 @@ package cn.hangtag.module.oms.controller.admin.productinfo.vo; +import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; import java.util.*; @@ -40,22 +41,63 @@ public class ProductInfoRespVO { @ExcelProperty("设计稿id") private String draftDesignDataId; - @Schema(description = "设计稿列表 json数据带名称") - @ExcelProperty("设计稿列表 json数据带名称") + @Schema(description = "设计稿列表") + @ExcelProperty("设计稿列表") private String draftDesignList; @Schema(description = "启用状态") @ExcelProperty("启用状态") private Boolean enabled; - @Schema(description = "备注", example = "你说的对") + @Schema(description = "备注") @ExcelProperty("备注") private String remark; + @Schema(description = "品牌名称") + @ExcelProperty("品牌名称") + private String brandName; + + @Schema(description = "产品类型名称") + @ExcelProperty("产品类型名称") + private String productTypeName; + + @Schema(description = "详情介绍") @ExcelProperty("详情介绍") private String details; + @Schema(description = "简述") + @ExcelProperty("简述") + private String summary; + + /** + * 规格尺寸宽度 + */ + @Schema(description = "规格尺寸宽度") + @ExcelProperty("规格尺寸宽度") + private Double specSizeWidth; + + /** + * 规格尺寸高度 + */ + @Schema(description = "规格尺寸高度") + @ExcelProperty("规格尺寸高度") + private Double specSizeHeight; + + /** + * 规格厚度 + */ + @Schema(description = "规格厚度") + @ExcelProperty("规格厚度") + private Double specSizeThk; + + /** + * 规格材质 + */ + @Schema(description = "规格材质") + @ExcelProperty("规格材质") + private String specMaterial; + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("创建时间") private LocalDateTime createTime; diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/productinfo/vo/ProductInfoSaveReqVO.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/productinfo/vo/ProductInfoSaveReqVO.java index 141f1d9..47b950c 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/productinfo/vo/ProductInfoSaveReqVO.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/productinfo/vo/ProductInfoSaveReqVO.java @@ -1,5 +1,8 @@ package cn.hangtag.module.oms.controller.admin.productinfo.vo; +import cn.hangtag.module.oms.controller.admin.productprocess.vo.ProductProcessSaveReqVO; +import com.alibaba.excel.annotation.ExcelProperty; +import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; import java.util.*; @@ -43,4 +46,34 @@ public class ProductInfoSaveReqVO { @Schema(description = "详情介绍") private String details; + @Schema(description = "简述") + private String summary; + + /** + * 规格尺寸宽度 + */ + @Schema(description = "规格尺寸宽度") + private Double specSizeWidth; + + /** + * 规格尺寸高度 + */ + @Schema(description = "规格尺寸高度") + private Double specSizeHeight; + + /** + * 规格厚度 + */ + @Schema(description = "规格厚度") + private Double specSizeThk; + + /** + * 规格材质 + */ + @Schema(description = "规格材质") + private String specMaterial; + + @Schema(description = "产品信息工艺列表") + private List productProcessList; + } \ No newline at end of file diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/productprocess/ProductProcessController.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/productprocess/ProductProcessController.java new file mode 100644 index 0000000..06aacc2 --- /dev/null +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/productprocess/ProductProcessController.java @@ -0,0 +1,95 @@ +package cn.hangtag.module.oms.controller.admin.productprocess; + +import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import javax.validation.constraints.*; +import javax.validation.*; +import javax.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.hangtag.framework.common.pojo.PageParam; +import cn.hangtag.framework.common.pojo.PageResult; +import cn.hangtag.framework.common.pojo.CommonResult; +import cn.hangtag.framework.common.util.object.BeanUtils; +import static cn.hangtag.framework.common.pojo.CommonResult.success; + +import cn.hangtag.framework.excel.core.util.ExcelUtils; + +import cn.hangtag.framework.apilog.core.annotation.ApiAccessLog; +import static cn.hangtag.framework.apilog.core.enums.OperateTypeEnum.*; + +import cn.hangtag.module.oms.controller.admin.productprocess.vo.*; +import cn.hangtag.module.oms.dal.dataobject.productprocess.ProductProcessDO; +import cn.hangtag.module.oms.service.productprocess.ProductProcessService; + +@Tag(name = "管理后台 - 产品工艺 ") +@RestController +@RequestMapping("/oms/product-process") +@Validated +public class ProductProcessController { + + @Resource + private ProductProcessService productProcessService; + + @PostMapping("/create") + @Operation(summary = "创建产品工艺 ") + @PreAuthorize("@ss.hasPermission('oms:product-process:create')") + public CommonResult createProductProcess(@Valid @RequestBody ProductProcessSaveReqVO createReqVO) { + return success(productProcessService.createProductProcess(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新产品工艺 ") + @PreAuthorize("@ss.hasPermission('oms:product-process:update')") + public CommonResult updateProductProcess(@Valid @RequestBody ProductProcessSaveReqVO updateReqVO) { + productProcessService.updateProductProcess(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除产品工艺 ") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('oms:product-process:delete')") + public CommonResult deleteProductProcess(@RequestParam("id") Long id) { + productProcessService.deleteProductProcess(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得产品工艺 ") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('oms:product-process:query')") + public CommonResult getProductProcess(@RequestParam("id") Long id) { + ProductProcessDO productProcess = productProcessService.getProductProcess(id); + return success(BeanUtils.toBean(productProcess, ProductProcessRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得产品工艺 分页") + @PreAuthorize("@ss.hasPermission('oms:product-process:query')") + public CommonResult> getProductProcessPage(@Valid ProductProcessPageReqVO pageReqVO) { + PageResult pageResult = productProcessService.getProductProcessPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, ProductProcessRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出产品工艺 Excel") + @PreAuthorize("@ss.hasPermission('oms:product-process:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportProductProcessExcel(@Valid ProductProcessPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = productProcessService.getProductProcessPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "产品工艺 .xls", "数据", ProductProcessRespVO.class, + BeanUtils.toBean(list, ProductProcessRespVO.class)); + } + +} \ No newline at end of file diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/productprocess/vo/ProductProcessPageReqVO.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/productprocess/vo/ProductProcessPageReqVO.java new file mode 100644 index 0000000..d2e7026 --- /dev/null +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/productprocess/vo/ProductProcessPageReqVO.java @@ -0,0 +1,34 @@ +package cn.hangtag.module.oms.controller.admin.productprocess.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.hangtag.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static cn.hangtag.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 产品工艺 分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ProductProcessPageReqVO extends PageParam { + + @Schema(description = "名称", example = "芋艿") + private String name; + + @Schema(description = "说明", example = "你猜") + private String remark; + + @Schema(description = "工序") + private Integer step; + + @Schema(description = "产品id oms_product_info", example = "21605") + private Long productInfoId; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} \ No newline at end of file diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/productprocess/vo/ProductProcessRespVO.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/productprocess/vo/ProductProcessRespVO.java new file mode 100644 index 0000000..7a0af3c --- /dev/null +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/productprocess/vo/ProductProcessRespVO.java @@ -0,0 +1,39 @@ +package cn.hangtag.module.oms.controller.admin.productprocess.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 产品工艺 Response VO") +@Data +@ExcelIgnoreUnannotated +public class ProductProcessRespVO { + + @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "26235") + @ExcelProperty("id") + private Long id; + + @Schema(description = "名称", example = "芋艿") + @ExcelProperty("名称") + private String name; + + @Schema(description = "说明", example = "你猜") + @ExcelProperty("说明") + private String remark; + + @Schema(description = "工序") + @ExcelProperty("工序") + private Integer step; + + @Schema(description = "产品id oms_product_info", example = "21605") + @ExcelProperty("产品id oms_product_info") + private Long productInfoId; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} \ No newline at end of file diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/productprocess/vo/ProductProcessSaveReqVO.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/productprocess/vo/ProductProcessSaveReqVO.java new file mode 100644 index 0000000..53320df --- /dev/null +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/productprocess/vo/ProductProcessSaveReqVO.java @@ -0,0 +1,27 @@ +package cn.hangtag.module.oms.controller.admin.productprocess.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import javax.validation.constraints.*; + +@Schema(description = "管理后台 - 产品工艺 新增/修改 Request VO") +@Data +public class ProductProcessSaveReqVO { + + @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "26235") + private Long id; + + @Schema(description = "名称", example = "芋艿") + private String name; + + @Schema(description = "说明", example = "你猜") + private String remark; + + @Schema(description = "工序") + private Integer step; + + @Schema(description = "产品id oms_product_info", example = "21605") + private Long productInfoId; + +} \ No newline at end of file diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/dto/CreateSaleOrderDTO.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/dto/CreateSaleOrderDTO.java new file mode 100644 index 0000000..901b4b1 --- /dev/null +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/dto/CreateSaleOrderDTO.java @@ -0,0 +1,52 @@ +package cn.hangtag.module.oms.controller.admin.saleorder.dto; + +import lombok.Data; + +import java.io.Serializable; +@Data +public class CreateSaleOrderDTO implements Serializable { + + private String name; + + private String email; + + private String contacts; + + private String phone; + + private String invoiceCode; + + private String invoiceName; + + private String invoiceAddress; + + private Long areaId; + + private Integer status; + + private Integer type; + + private String remarks; + + private String orderNo; + + + + + private String newEmail; + + private String[] newEmails; + + /** + * 订单创建日期 + */ + private String bizdate; + + /** + * 交货日期 + */ + private String plansenddate; + + private SaleOrderEntryItemDTO[] saleOrderEntry; + +} diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/dto/PropSortInfo.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/dto/PropSortInfo.java new file mode 100644 index 0000000..085edfd --- /dev/null +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/dto/PropSortInfo.java @@ -0,0 +1,36 @@ +package cn.hangtag.module.oms.controller.admin.saleorder.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 订单动态属性排序信息 + * + * @author YuanFeng + * @date 2024/10/02 + */ +@Data +public class PropSortInfo implements Serializable { + + /** + * 唯一key + */ + private String key; + + /** + * 名称 + */ + private String name; + + /** + * 形状 + */ + private String shape; + + /** + * 是组合 + */ + private Boolean isCombo; + +} diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/dto/SaleOrderEntryItemDTO.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/dto/SaleOrderEntryItemDTO.java new file mode 100644 index 0000000..b65e531 --- /dev/null +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/dto/SaleOrderEntryItemDTO.java @@ -0,0 +1,66 @@ +package cn.hangtag.module.oms.controller.admin.saleorder.dto; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * 销售订单条目项目dto + * + * @author YuanFeng + * @date 2024/10/02 + */ +@Data +public class SaleOrderEntryItemDTO implements Serializable { + + /** + * 数据key + */ + private String key; + + /** + * 生产者 + */ + private String producer; + + /** + * 产品id + */ + private Long productId; + + /** + * 产品编码 + */ + private String productCode; + /** + * 产品名称 + */ + private String productName; + /** + * 产品封面 + */ + private String cover; + + + /** + * 订货数量 + */ + private Integer orderQty; + /** + * 总数量 + */ + private Integer totalQty; + /** + * 交货日期 + */ + private Long deliveryDate; + + + /** + * 产品sku + */ + List productSkuList; + + +} diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/dto/SaleOrderSkuDTO.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/dto/SaleOrderSkuDTO.java new file mode 100644 index 0000000..81d800e --- /dev/null +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/dto/SaleOrderSkuDTO.java @@ -0,0 +1,67 @@ +package cn.hangtag.module.oms.controller.admin.saleorder.dto; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * 销售订单sku dto + * + * @author YuanFeng + * @date 2024/10/02 + */ +@Data +public class SaleOrderSkuDTO implements Serializable { + + private String key; + + /** + * 产品id + */ + private Long productId; + + /** + * 订货数量 + */ + private Long orderQty; + + /** + * 草图设计id + */ + private Long draftDesignId; + + + /** + * 设计稿内容宽度 + */ + private Integer width; + + /** + * 设计稿内容高度 + */ + private Integer height; + + /** + * 最终稿件 base64编码数据 + */ + private String previewImage; + + /** + * 动态属性json配置信息 + */ + private String propInfo; + + /** + * 动态属性 排序信息 + */ + private List propOrderByList; + + /** + * 规格信息 + */ + private SpecInfoDTO specInfo; + + + +} diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/dto/SpecInfoDTO.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/dto/SpecInfoDTO.java new file mode 100644 index 0000000..5ffafb4 --- /dev/null +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/dto/SpecInfoDTO.java @@ -0,0 +1,36 @@ +package cn.hangtag.module.oms.controller.admin.saleorder.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 规格信息dto + * + * @author YuanFeng + * @date 2024/10/02 + */ +@Data +public class SpecInfoDTO implements Serializable { + + /** + * 规格尺寸宽度 + */ + private Integer specSizeWidth; + /** + * 规格尺寸高度 + */ + private Integer specSizeHeight; + /** + * 规格尺寸厚度 + */ + private Integer specSizeThk; + /** + * 规格材质 + */ + private String specMaterial; + /** + * 主色调 + */ + private String mainColor; +} diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/dataobject/productinfo/ProductInfoDO.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/dataobject/productinfo/ProductInfoDO.java index 02b527f..93abe1d 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/dataobject/productinfo/ProductInfoDO.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/dataobject/productinfo/ProductInfoDO.java @@ -1,5 +1,6 @@ package cn.hangtag.module.oms.dal.dataobject.productinfo; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; import java.util.*; import java.time.LocalDateTime; @@ -55,6 +56,7 @@ public class ProductInfoDO extends BaseDO { * 设计稿列表 json数据带名称 */ private String draftDesignList; + /** * 启用状态 */ @@ -68,10 +70,45 @@ public class ProductInfoDO extends BaseDO { */ private String details; + /** + * 简述 + */ + private String summary; + + /** + * 规格尺寸宽度 + */ + private Double specSizeWidth; + + /** + * 规格尺寸高度 + */ + private Double specSizeHeight; + + /** + * 规格厚度 + */ + @TableField("spec_size_thk") + private Double specSizeThk; + + /** + * 规格材质 + */ + @TableField("spec_material") + private String specMaterial; + + + /** * 品牌名称 */ @TableField(exist = false) private String brandName; + /** + * 类型名称 + */ + @TableField(exist = false) + private String productTypeName; + } \ 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/productprocess/ProductProcessDO.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/dataobject/productprocess/ProductProcessDO.java new file mode 100644 index 0000000..9cd114a --- /dev/null +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/dataobject/productprocess/ProductProcessDO.java @@ -0,0 +1,47 @@ +package cn.hangtag.module.oms.dal.dataobject.productprocess; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.hangtag.framework.mybatis.core.dataobject.BaseDO; + +/** + * 产品工艺 DO + * + * @author 管理员 + */ +@TableName("oms_product_process") +@KeySequence("oms_product_process_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ProductProcessDO extends BaseDO { + + /** + * id + */ + @TableId + private Long id; + /** + * 名称 + */ + private String name; + /** + * 说明 + */ + private String remark; + /** + * 工序 + */ + private Integer step; + /** + * 产品id oms_product_info + */ + private Long productInfoId; + +} \ No newline at end of file diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/mysql/productprocess/ProductProcessMapper.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/mysql/productprocess/ProductProcessMapper.java new file mode 100644 index 0000000..cc1d5c4 --- /dev/null +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/mysql/productprocess/ProductProcessMapper.java @@ -0,0 +1,30 @@ +package cn.hangtag.module.oms.dal.mysql.productprocess; + +import java.util.*; + +import cn.hangtag.framework.common.pojo.PageResult; +import cn.hangtag.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.hangtag.framework.mybatis.core.mapper.BaseMapperX; +import cn.hangtag.module.oms.dal.dataobject.productprocess.ProductProcessDO; +import org.apache.ibatis.annotations.Mapper; +import cn.hangtag.module.oms.controller.admin.productprocess.vo.*; + +/** + * 产品工艺 Mapper + * + * @author 管理员 + */ +@Mapper +public interface ProductProcessMapper extends BaseMapperX { + + default PageResult selectPage(ProductProcessPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .likeIfPresent(ProductProcessDO::getName, reqVO.getName()) + .eqIfPresent(ProductProcessDO::getRemark, reqVO.getRemark()) + .eqIfPresent(ProductProcessDO::getStep, reqVO.getStep()) + .eqIfPresent(ProductProcessDO::getProductInfoId, reqVO.getProductInfoId()) + .betweenIfPresent(ProductProcessDO::getCreateTime, reqVO.getCreateTime()) + .orderByAsc(ProductProcessDO::getStep)); + } + +} \ No newline at end of file diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/productinfo/ProductInfoServiceImpl.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/productinfo/ProductInfoServiceImpl.java index f3277e0..0faf156 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/productinfo/ProductInfoServiceImpl.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/productinfo/ProductInfoServiceImpl.java @@ -4,9 +4,15 @@ import cn.hangtag.framework.common.exception.ServiceException; import cn.hangtag.framework.common.exception.enums.GlobalErrorCodeConstants; import cn.hangtag.framework.common.util.FuncUtil; import cn.hangtag.framework.mybatis.core.dataobject.BaseDO; +import cn.hangtag.module.oms.base.dal.dataobject.producttype.ProductTypeDO; +import cn.hangtag.module.oms.base.dal.mysql.producttype.ProductTypeMapper; +import cn.hangtag.module.oms.controller.admin.productinfo.dto.ProductInfoPageDTO; +import cn.hangtag.module.oms.controller.admin.productprocess.vo.ProductProcessSaveReqVO; import cn.hangtag.module.oms.dal.dataobject.brand.BrandDO; import cn.hangtag.module.oms.dal.dataobject.draftdesigndata.DraftDesignDataDO; +import cn.hangtag.module.oms.dal.dataobject.productprocess.ProductProcessDO; import cn.hangtag.module.oms.dal.mysql.brand.BrandMapper; +import cn.hangtag.module.oms.dal.mysql.productprocess.ProductProcessMapper; import cn.hangtag.module.oms.serialnumber.CodingRulesUtils; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import lombok.AllArgsConstructor; @@ -43,6 +49,8 @@ public class ProductInfoServiceImpl implements ProductInfoService { private final ProductInfoMapper productInfoMapper; private final BrandMapper brandMapper; + private final ProductTypeMapper productTypeMapper; + private final ProductProcessMapper productProcessMapper; @Override public Long createProductInfo(ProductInfoSaveReqVO createReqVO) { @@ -55,7 +63,20 @@ public class ProductInfoServiceImpl implements ProductInfoService { productInfo.setCode(getNewCode()); } productInfoMapper.insert(productInfo); - // 返回 + + List productProcessList = createReqVO.getProductProcessList(); + if(FuncUtil.isNotEmpty(productProcessList)){ + List subList = new ArrayList<>(); + for (ProductProcessSaveReqVO reqVO : productProcessList) { + ProductProcessDO processDO = new ProductProcessDO(); + processDO.setProductInfoId(productInfo.getId()); + processDO.setName(reqVO.getName()); + processDO.setRemark(reqVO.getRemark()); + processDO.setStep(reqVO.getStep()); + subList.add(processDO); + } + productProcessMapper.insertBatch(subList); + } return productInfo.getId(); } @@ -70,7 +91,30 @@ public class ProductInfoServiceImpl implements ProductInfoService { }else { updateReqVO.setCode(getNewCode()); } - + List productProcessList = updateReqVO.getProductProcessList(); + if(FuncUtil.isNotEmpty(productProcessList)){ + List addList = new ArrayList<>(); + List updateList = new ArrayList<>(); + for (ProductProcessSaveReqVO reqVO : productProcessList) { + ProductProcessDO processDO = new ProductProcessDO(); + processDO.setProductInfoId(updateReqVO.getId()); + processDO.setName(reqVO.getName()); + processDO.setRemark(reqVO.getRemark()); + processDO.setStep(reqVO.getStep()); + if(FuncUtil.isEmpty(reqVO.getId())){ + addList.add(processDO); + }else{ + processDO.setId(reqVO.getId()); + updateList.add(processDO); + } + } + if(FuncUtil.isNotEmpty(addList)){ + productProcessMapper.insertBatch(addList); + } + if(FuncUtil.isNotEmpty(updateList)){ + productProcessMapper.updateBatch(updateList); + } + } // 更新 ProductInfoDO updateObj = BeanUtils.toBean(updateReqVO, ProductInfoDO.class); productInfoMapper.updateById(updateObj); @@ -106,7 +150,14 @@ public class ProductInfoServiceImpl implements ProductInfoService { productInfoDO.setBrandName(brandDO.getName()); } } + if(FuncUtil.isNotEmpty(productInfoDO.getProductTypeId())){ + ProductTypeDO productTypeDO = productTypeMapper.selectById(productInfoDO.getProductTypeId()); + if(FuncUtil.isNotEmpty(productTypeDO)){ + productInfoDO.setProductTypeName(productTypeDO.getLabel()); + } + } }); + productInfoDOPageResult.setList(list); return productInfoDOPageResult; } diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/productprocess/ProductProcessService.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/productprocess/ProductProcessService.java new file mode 100644 index 0000000..bd30305 --- /dev/null +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/productprocess/ProductProcessService.java @@ -0,0 +1,55 @@ +package cn.hangtag.module.oms.service.productprocess; + +import java.util.*; +import javax.validation.*; +import cn.hangtag.module.oms.controller.admin.productprocess.vo.*; +import cn.hangtag.module.oms.dal.dataobject.productprocess.ProductProcessDO; +import cn.hangtag.framework.common.pojo.PageResult; +import cn.hangtag.framework.common.pojo.PageParam; + +/** + * 产品工艺 Service 接口 + * + * @author 管理员 + */ +public interface ProductProcessService { + + /** + * 创建产品工艺 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createProductProcess(@Valid ProductProcessSaveReqVO createReqVO); + + /** + * 更新产品工艺 + * + * @param updateReqVO 更新信息 + */ + void updateProductProcess(@Valid ProductProcessSaveReqVO updateReqVO); + + /** + * 删除产品工艺 + * + * @param id 编号 + */ + void deleteProductProcess(Long id); + + /** + * 获得产品工艺 + * + * @param id 编号 + * @return 产品工艺 + */ + ProductProcessDO getProductProcess(Long id); + + /** + * 获得产品工艺 分页 + * + * @param pageReqVO 分页查询 + * @return 产品工艺 分页 + */ + PageResult getProductProcessPage(ProductProcessPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/productprocess/ProductProcessServiceImpl.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/productprocess/ProductProcessServiceImpl.java new file mode 100644 index 0000000..17e0005 --- /dev/null +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/productprocess/ProductProcessServiceImpl.java @@ -0,0 +1,74 @@ +package cn.hangtag.module.oms.service.productprocess; + +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.hangtag.module.oms.controller.admin.productprocess.vo.*; +import cn.hangtag.module.oms.dal.dataobject.productprocess.ProductProcessDO; +import cn.hangtag.framework.common.pojo.PageResult; +import cn.hangtag.framework.common.pojo.PageParam; +import cn.hangtag.framework.common.util.object.BeanUtils; + +import cn.hangtag.module.oms.dal.mysql.productprocess.ProductProcessMapper; + +import static cn.hangtag.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.hangtag.module.oms.enums.ErrorCodeConstants.*; + +/** + * 产品工艺 Service 实现类 + * + * @author 管理员 + */ +@Service +@Validated +public class ProductProcessServiceImpl implements ProductProcessService { + + @Resource + private ProductProcessMapper productProcessMapper; + + @Override + public Long createProductProcess(ProductProcessSaveReqVO createReqVO) { + // 插入 + ProductProcessDO productProcess = BeanUtils.toBean(createReqVO, ProductProcessDO.class); + productProcessMapper.insert(productProcess); + // 返回 + return productProcess.getId(); + } + + @Override + public void updateProductProcess(ProductProcessSaveReqVO updateReqVO) { + // 校验存在 + validateProductProcessExists(updateReqVO.getId()); + // 更新 + ProductProcessDO updateObj = BeanUtils.toBean(updateReqVO, ProductProcessDO.class); + productProcessMapper.updateById(updateObj); + } + + @Override + public void deleteProductProcess(Long id) { + // 校验存在 + validateProductProcessExists(id); + // 删除 + productProcessMapper.deleteById(id); + } + + private void validateProductProcessExists(Long id) { + if (productProcessMapper.selectById(id) == null) { + throw exception(PRODUCT_PROCESS_NOT_EXISTS); + } + } + + @Override + public ProductProcessDO getProductProcess(Long id) { + return productProcessMapper.selectById(id); + } + + @Override + public PageResult getProductProcessPage(ProductProcessPageReqVO pageReqVO) { + return productProcessMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/resources/mapper/productprocess/ProductProcessMapper.xml b/hangtag-module-oms/hangtag-module-oms-biz/src/main/resources/mapper/productprocess/ProductProcessMapper.xml new file mode 100644 index 0000000..9df31e7 --- /dev/null +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/resources/mapper/productprocess/ProductProcessMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/hangtag-ui/hangtag-ui-admin/src/api/oms/productinfo/index.ts b/hangtag-ui/hangtag-ui-admin/src/api/oms/productinfo/index.ts index 6497f5f..6f6c8e6 100644 --- a/hangtag-ui/hangtag-ui-admin/src/api/oms/productinfo/index.ts +++ b/hangtag-ui/hangtag-ui-admin/src/api/oms/productinfo/index.ts @@ -10,9 +10,14 @@ export interface ProductInfoVO { enabled: boolean // 启用状态 remark: string // 备注 details: string // 详情介绍 - cover: string // 封面 + cover?: string // 封面 draftDesignList: string, // 设计稿列表 draftDesignDataId: string // 设计稿数据id + summary?: string + specSizeWidth: number | string + specSizeHeight: number | string + specSizeThk: number | string + specMaterial: string } // 产品资料 API diff --git a/hangtag-ui/hangtag-ui-admin/src/api/oms/productprocess/index.js b/hangtag-ui/hangtag-ui-admin/src/api/oms/productprocess/index.js new file mode 100644 index 0000000..6ee86b4 --- /dev/null +++ b/hangtag-ui/hangtag-ui-admin/src/api/oms/productprocess/index.js @@ -0,0 +1,53 @@ +import request from '@/utils/request' + +// 创建产品工艺 +export function createProductProcess(data) { + return request({ + url: '/oms/product-process/create', + method: 'post', + data: data + }) +} + +// 更新产品工艺 +export function updateProductProcess(data) { + return request({ + url: '/oms/product-process/update', + method: 'put', + data: data + }) +} + +// 删除产品工艺 +export function deleteProductProcess(id) { + return request({ + url: '/oms/product-process/delete?id=' + id, + method: 'delete' + }) +} + +// 获得产品工艺 +export function getProductProcess(id) { + return request({ + url: '/oms/product-process/get?id=' + id, + method: 'get' + }) +} + +// 获得产品工艺 分页 +export function getProductProcessPage(params) { + return request({ + url: '/oms/product-process/page', + method: 'get', + params + }) +} +// 导出产品工艺 Excel +export function exportProductProcessExcel(params) { + return request({ + url: '/oms/product-process/export-excel', + method: 'get', + params, + responseType: 'blob' + }) +} \ No newline at end of file diff --git a/hangtag-ui/hangtag-ui-admin/src/api/oms/productprocess/index.ts b/hangtag-ui/hangtag-ui-admin/src/api/oms/productprocess/index.ts new file mode 100644 index 0000000..ad9a3f5 --- /dev/null +++ b/hangtag-ui/hangtag-ui-admin/src/api/oms/productprocess/index.ts @@ -0,0 +1,44 @@ +import request from '@/config/axios' + +// 产品工艺 VO +export interface ProductProcessVO { + id: number // id + name: string // 名称 + key: string // 临时key + remark: string // 说明 + step: number // 工序 + productInfoId: number // 产品id oms_product_info +} + +// 产品工艺 API +export const ProductProcessApi = { + // 查询产品工艺 分页 + getProductProcessPage: async (params: any) => { + return await request.get({ url: `/oms/product-process/page`, params }) + }, + + // 查询产品工艺 详情 + getProductProcess: async (id: number) => { + return await request.get({ url: `/oms/product-process/get?id=` + id }) + }, + + // 新增产品工艺 + createProductProcess: async (data: ProductProcessVO) => { + return await request.post({ url: `/oms/product-process/create`, data }) + }, + + // 修改产品工艺 + updateProductProcess: async (data: ProductProcessVO) => { + return await request.put({ url: `/oms/product-process/update`, data }) + }, + + // 删除产品工艺 + deleteProductProcess: async (id: number) => { + return await request.delete({ url: `/oms/product-process/delete?id=` + id }) + }, + + // 导出产品工艺 Excel + exportProductProcess: async (params) => { + return await request.download({ url: `/oms/product-process/export-excel`, params }) + }, +} diff --git a/hangtag-ui/hangtag-ui-admin/src/components/Dialog/src/DraftDesignImageLibDialog/index.vue b/hangtag-ui/hangtag-ui-admin/src/components/Dialog/src/DraftDesignImageLibDialog/index.vue index d9d1828..cf5d456 100644 --- a/hangtag-ui/hangtag-ui-admin/src/components/Dialog/src/DraftDesignImageLibDialog/index.vue +++ b/hangtag-ui/hangtag-ui-admin/src/components/Dialog/src/DraftDesignImageLibDialog/index.vue @@ -95,6 +95,7 @@ import {replaceDomain} from "@/utils"; import {ShapeType} from "@/components/DraftDesign/config"; import {Search} from "@element-plus/icons-vue"; import {createImageViewer} from "@/components/ImageViewer"; +import {convertImageToBase64} from "@/components/DraftDesign/utils/Dpi"; /** 稿件图片库 */ defineOptions({name: 'DraftDesignImageLibDialog'}) @@ -210,8 +211,13 @@ const updateVisible = (visible: boolean) => { defineExpose({}) // 提供 open 方法,用于打开弹窗 const submit = () => { - emit("update:modelValue", that.iconUrl) - updateVisible(false) + // 转成base64 + convertImageToBase64(that.iconUrl).then((res:string) => { + that.iconUrl = res; + emit("update:modelValue", that.iconUrl) + updateVisible(false) + }) + } const clearData = ()=>{ that.iconUrl = ''; diff --git a/hangtag-ui/hangtag-ui-admin/src/components/DraftDesign/components/DesignPreviewDialog.vue b/hangtag-ui/hangtag-ui-admin/src/components/DraftDesign/components/DesignPreviewDialog.vue index 1492e01..ce2d9d4 100644 --- a/hangtag-ui/hangtag-ui-admin/src/components/DraftDesign/components/DesignPreviewDialog.vue +++ b/hangtag-ui/hangtag-ui-admin/src/components/DraftDesign/components/DesignPreviewDialog.vue @@ -40,7 +40,7 @@ const preview = (config,prop={})=>{ setTimeout(()=>{ designPropEditRef.value.loadConfig(config,prop); that.loading = false; - },300) + },100) } // 预览产品id const previewByProductId = (id: string | number,prop={})=>{ @@ -49,7 +49,7 @@ const previewByProductId = (id: string | number,prop={})=>{ setTimeout(()=>{ designPropEditRef.value.previewByProductId(id,prop); that.loading = false; - },300) + },100) } // 预览草稿设计id const previewByDraftDesignId = (id: string | number,prop={})=>{ @@ -58,11 +58,11 @@ const previewByDraftDesignId = (id: string | number,prop={})=>{ setTimeout(()=>{ designPropEditRef.value.previewByDraftDesignId(config,prop); that.loading = false; - },300) + },100) } -const submit = ()=>{ - const res = designPropEditRef.value.getPropInfo() - console.log("@@",res) +const submit = async ()=>{ + const res = await designPropEditRef.value.getPropInfo() + emit("submit",res); updateVisible(false) } defineExpose({ diff --git a/hangtag-ui/hangtag-ui-admin/src/components/DraftDesign/components/DesignPropEdit.vue b/hangtag-ui/hangtag-ui-admin/src/components/DraftDesign/components/DesignPropEdit.vue index 56f8a44..84ecb79 100644 --- a/hangtag-ui/hangtag-ui-admin/src/components/DraftDesign/components/DesignPropEdit.vue +++ b/hangtag-ui/hangtag-ui-admin/src/components/DraftDesign/components/DesignPropEdit.vue @@ -80,7 +80,45 @@ v-for="(tmp) in that.propOrderByList" :key="tmp.key" :label="getLabelName(that.propInfo[tmp.key])"> -
+
+
+
+ + + + + + + + + + +
+
+ + + 添加 + +
+ +
- + 添加
@@ -179,13 +218,15 @@
- +
- + 添加 @@ -199,13 +240,13 @@
- +
\ No newline at end of file + diff --git a/hangtag-ui/hangtag-ui-admin/src/views/oms/draftdesigndata/detials/index.vue b/hangtag-ui/hangtag-ui-admin/src/views/oms/draftdesigndata/detials/index.vue index 1f76003..1d9749b 100644 --- a/hangtag-ui/hangtag-ui-admin/src/views/oms/draftdesigndata/detials/index.vue +++ b/hangtag-ui/hangtag-ui-admin/src/views/oms/draftdesigndata/detials/index.vue @@ -162,15 +162,9 @@ const submitForm = async (detailsData) => { if (formType.value === 'create') { const resId = await DraftDesignDataApi.createDraftDesignData(data) message.success(t('common.createSuccess')) - if(copyData.value){ - console.log("resId",resId) - await router.push({path: '/base/oms/draftdesigndata/detials',query: { - id: resId - }}) - }else { - resetForm() - } - + await router.push({path: '/base/oms/draftdesigndata/detials',query: { + id: resId + }}) } else { await DraftDesignDataApi.updateDraftDesignData(data) message.success(t('common.updateSuccess')) diff --git a/hangtag-ui/hangtag-ui-admin/src/views/oms/draftdesigndata/index.vue b/hangtag-ui/hangtag-ui-admin/src/views/oms/draftdesigndata/index.vue index 65691fd..7837a91 100644 --- a/hangtag-ui/hangtag-ui-admin/src/views/oms/draftdesigndata/index.vue +++ b/hangtag-ui/hangtag-ui-admin/src/views/oms/draftdesigndata/index.vue @@ -8,7 +8,7 @@ :model="queryParams" ref="queryFormRef" :inline="true" - label-width="68px" + label-width="120px" > - + > + + + @@ -110,7 +113,13 @@ - + + + - - - + + + + + -
- - 手动输入 +
+ + 手动输入 +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ 添加 + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+
- - - - - - + + + +
+ 添加工艺 + 重置序号 + +
+ + + + + + + + + - - - - - - - - - - - - + + + + + + + - - - - -
- 添加 - -
- - - - - - - - - - - - - - - - - - - + +
+
- -
- - - - - - - - - - - - + - - - - - - + + + + + + + + + + + + +
diff --git a/hangtag-ui/hangtag-ui-admin/src/views/oms/productinfo/index.vue b/hangtag-ui/hangtag-ui-admin/src/views/oms/productinfo/index.vue index 82867b1..19e53d0 100644 --- a/hangtag-ui/hangtag-ui-admin/src/views/oms/productinfo/index.vue +++ b/hangtag-ui/hangtag-ui-admin/src/views/oms/productinfo/index.vue @@ -36,13 +36,14 @@ />
- + + + + @@ -52,7 +53,8 @@ clearable class="!w-240px" > - + + @@ -126,10 +128,15 @@ - - + + + + - { const previewDraftDesign = (id) => { designPreviewDialogRef.value.previewByProductId(id) } +const that = reactive({ + productTypeOptions: [], +}) +const init = async () => { + ProductTypeApi.getProductTypePage({ + pageNo: 1, + pageSize: 100 + }).then(r => { + that.productTypeOptions = r.list.map(item => { + return { + label: item.label, + value: item.id + } + }) + }) +} /** 初始化 **/ onMounted(() => { - getList() + getList(); + init(); }) diff --git a/hangtag-ui/hangtag-ui-front/src/api/infra/file/index.ts b/hangtag-ui/hangtag-ui-front/src/api/infra/file/index.ts index 3335076..db8a011 100644 --- a/hangtag-ui/hangtag-ui-front/src/api/infra/file/index.ts +++ b/hangtag-ui/hangtag-ui-front/src/api/infra/file/index.ts @@ -49,7 +49,7 @@ export const updateFile = (data: any) => { * 获取资源的域名 */ export const getDomain = () => { - return new Promise((resolve, reject)=>{ + return new Promise((resolve)=>{ const domain= sessionStorage.getItem('_$domain$_') if(domain){ resolve(domain) diff --git a/hangtag-ui/hangtag-ui-front/src/api/oms/productinfo/index.ts b/hangtag-ui/hangtag-ui-front/src/api/oms/productinfo/index.ts index 6497f5f..6f6c8e6 100644 --- a/hangtag-ui/hangtag-ui-front/src/api/oms/productinfo/index.ts +++ b/hangtag-ui/hangtag-ui-front/src/api/oms/productinfo/index.ts @@ -10,9 +10,14 @@ export interface ProductInfoVO { enabled: boolean // 启用状态 remark: string // 备注 details: string // 详情介绍 - cover: string // 封面 + cover?: string // 封面 draftDesignList: string, // 设计稿列表 draftDesignDataId: string // 设计稿数据id + summary?: string + specSizeWidth: number | string + specSizeHeight: number | string + specSizeThk: number | string + specMaterial: string } // 产品资料 API diff --git a/hangtag-ui/hangtag-ui-front/src/api/oms/productprocess/index.ts b/hangtag-ui/hangtag-ui-front/src/api/oms/productprocess/index.ts new file mode 100644 index 0000000..ad9a3f5 --- /dev/null +++ b/hangtag-ui/hangtag-ui-front/src/api/oms/productprocess/index.ts @@ -0,0 +1,44 @@ +import request from '@/config/axios' + +// 产品工艺 VO +export interface ProductProcessVO { + id: number // id + name: string // 名称 + key: string // 临时key + remark: string // 说明 + step: number // 工序 + productInfoId: number // 产品id oms_product_info +} + +// 产品工艺 API +export const ProductProcessApi = { + // 查询产品工艺 分页 + getProductProcessPage: async (params: any) => { + return await request.get({ url: `/oms/product-process/page`, params }) + }, + + // 查询产品工艺 详情 + getProductProcess: async (id: number) => { + return await request.get({ url: `/oms/product-process/get?id=` + id }) + }, + + // 新增产品工艺 + createProductProcess: async (data: ProductProcessVO) => { + return await request.post({ url: `/oms/product-process/create`, data }) + }, + + // 修改产品工艺 + updateProductProcess: async (data: ProductProcessVO) => { + return await request.put({ url: `/oms/product-process/update`, data }) + }, + + // 删除产品工艺 + deleteProductProcess: async (id: number) => { + return await request.delete({ url: `/oms/product-process/delete?id=` + id }) + }, + + // 导出产品工艺 Excel + exportProductProcess: async (params) => { + return await request.download({ url: `/oms/product-process/export-excel`, params }) + }, +} diff --git a/hangtag-ui/hangtag-ui-front/src/components/Dialog/src/DraftDesignImageLibDialog/index.vue b/hangtag-ui/hangtag-ui-front/src/components/Dialog/src/DraftDesignImageLibDialog/index.vue index d9d1828..cf5d456 100644 --- a/hangtag-ui/hangtag-ui-front/src/components/Dialog/src/DraftDesignImageLibDialog/index.vue +++ b/hangtag-ui/hangtag-ui-front/src/components/Dialog/src/DraftDesignImageLibDialog/index.vue @@ -95,6 +95,7 @@ import {replaceDomain} from "@/utils"; import {ShapeType} from "@/components/DraftDesign/config"; import {Search} from "@element-plus/icons-vue"; import {createImageViewer} from "@/components/ImageViewer"; +import {convertImageToBase64} from "@/components/DraftDesign/utils/Dpi"; /** 稿件图片库 */ defineOptions({name: 'DraftDesignImageLibDialog'}) @@ -210,8 +211,13 @@ const updateVisible = (visible: boolean) => { defineExpose({}) // 提供 open 方法,用于打开弹窗 const submit = () => { - emit("update:modelValue", that.iconUrl) - updateVisible(false) + // 转成base64 + convertImageToBase64(that.iconUrl).then((res:string) => { + that.iconUrl = res; + emit("update:modelValue", that.iconUrl) + updateVisible(false) + }) + } const clearData = ()=>{ that.iconUrl = ''; diff --git a/hangtag-ui/hangtag-ui-front/src/components/Dialog/src/ProductInfoListDialog/DataForm.vue b/hangtag-ui/hangtag-ui-front/src/components/Dialog/src/ProductInfoListDialog/DataForm.vue new file mode 100644 index 0000000..30434c8 --- /dev/null +++ b/hangtag-ui/hangtag-ui-front/src/components/Dialog/src/ProductInfoListDialog/DataForm.vue @@ -0,0 +1,69 @@ + + diff --git a/hangtag-ui/hangtag-ui-front/src/components/Dialog/src/ProductInfoListDialog/config.data.ts b/hangtag-ui/hangtag-ui-front/src/components/Dialog/src/ProductInfoListDialog/config.data.ts new file mode 100644 index 0000000..03fe29a --- /dev/null +++ b/hangtag-ui/hangtag-ui-front/src/components/Dialog/src/ProductInfoListDialog/config.data.ts @@ -0,0 +1,43 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' + +// 表单校验 +export const rules = reactive({ + code: [required], + name: [required], +}) + +// CrudSchema https://doc.iocoder.cn/vue3/crud-schema/ +const crudSchemas = reactive([ + { + label: 'id', + field: 'id', + isForm: false, + }, + { + label: '编码', + field: 'code', + isSearch: true, + }, + { + label: '名称', + field: 'name', + isSearch: true, + }, + { + label: '创建时间', + field: 'createTime', + formatter: dateFormatter, + isSearch: true, + search: { + component: 'DatePicker', + componentProps: { + valueFormat: 'YYYY-MM-DD HH:mm:ss', + type: 'daterange', + defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] + } + }, + isForm: false, + } +]) +export const { allSchemas } = useCrudSchemas(crudSchemas) diff --git a/hangtag-ui/hangtag-ui-front/src/components/Dialog/src/ProductInfoListDialog/index.vue b/hangtag-ui/hangtag-ui-front/src/components/Dialog/src/ProductInfoListDialog/index.vue new file mode 100644 index 0000000..be83138 --- /dev/null +++ b/hangtag-ui/hangtag-ui-front/src/components/Dialog/src/ProductInfoListDialog/index.vue @@ -0,0 +1,308 @@ + + + + + diff --git a/hangtag-ui/hangtag-ui-front/src/components/DraftDesign/components/DesignPreviewDialog.vue b/hangtag-ui/hangtag-ui-front/src/components/DraftDesign/components/DesignPreviewDialog.vue index 1492e01..ce2d9d4 100644 --- a/hangtag-ui/hangtag-ui-front/src/components/DraftDesign/components/DesignPreviewDialog.vue +++ b/hangtag-ui/hangtag-ui-front/src/components/DraftDesign/components/DesignPreviewDialog.vue @@ -40,7 +40,7 @@ const preview = (config,prop={})=>{ setTimeout(()=>{ designPropEditRef.value.loadConfig(config,prop); that.loading = false; - },300) + },100) } // 预览产品id const previewByProductId = (id: string | number,prop={})=>{ @@ -49,7 +49,7 @@ const previewByProductId = (id: string | number,prop={})=>{ setTimeout(()=>{ designPropEditRef.value.previewByProductId(id,prop); that.loading = false; - },300) + },100) } // 预览草稿设计id const previewByDraftDesignId = (id: string | number,prop={})=>{ @@ -58,11 +58,11 @@ const previewByDraftDesignId = (id: string | number,prop={})=>{ setTimeout(()=>{ designPropEditRef.value.previewByDraftDesignId(config,prop); that.loading = false; - },300) + },100) } -const submit = ()=>{ - const res = designPropEditRef.value.getPropInfo() - console.log("@@",res) +const submit = async ()=>{ + const res = await designPropEditRef.value.getPropInfo() + emit("submit",res); updateVisible(false) } defineExpose({ diff --git a/hangtag-ui/hangtag-ui-front/src/components/DraftDesign/components/DesignPropEdit.vue b/hangtag-ui/hangtag-ui-front/src/components/DraftDesign/components/DesignPropEdit.vue index 56f8a44..2196d1e 100644 --- a/hangtag-ui/hangtag-ui-front/src/components/DraftDesign/components/DesignPropEdit.vue +++ b/hangtag-ui/hangtag-ui-front/src/components/DraftDesign/components/DesignPropEdit.vue @@ -80,7 +80,45 @@ v-for="(tmp) in that.propOrderByList" :key="tmp.key" :label="getLabelName(that.propInfo[tmp.key])"> -
+
+
+
+ + + + + + + + + + +
+
+ + + 添加 + +
+ +
- + 添加
@@ -179,13 +218,15 @@
- +
- + 添加 @@ -199,13 +240,13 @@
- +
- - diff --git a/hangtag-ui/hangtag-ui-front/src/components/DraftDesign/icons/fonts/fonts/icomoon.eot b/hangtag-ui/hangtag-ui-front/src/components/DraftDesign/icons/fonts/fonts/icomoon.eot deleted file mode 100644 index df95967..0000000 Binary files a/hangtag-ui/hangtag-ui-front/src/components/DraftDesign/icons/fonts/fonts/icomoon.eot and /dev/null differ diff --git a/hangtag-ui/hangtag-ui-front/src/components/DraftDesign/icons/fonts/fonts/icomoon.svg b/hangtag-ui/hangtag-ui-front/src/components/DraftDesign/icons/fonts/fonts/icomoon.svg deleted file mode 100644 index 5436661..0000000 --- a/hangtag-ui/hangtag-ui-front/src/components/DraftDesign/icons/fonts/fonts/icomoon.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - -Generated by IcoMoon - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/hangtag-ui/hangtag-ui-front/src/components/DraftDesign/icons/fonts/fonts/icomoon.ttf b/hangtag-ui/hangtag-ui-front/src/components/DraftDesign/icons/fonts/fonts/icomoon.ttf deleted file mode 100644 index 93ad774..0000000 Binary files a/hangtag-ui/hangtag-ui-front/src/components/DraftDesign/icons/fonts/fonts/icomoon.ttf and /dev/null differ diff --git a/hangtag-ui/hangtag-ui-front/src/components/DraftDesign/icons/fonts/fonts/icomoon.woff b/hangtag-ui/hangtag-ui-front/src/components/DraftDesign/icons/fonts/fonts/icomoon.woff deleted file mode 100644 index dbfb177..0000000 Binary files a/hangtag-ui/hangtag-ui-front/src/components/DraftDesign/icons/fonts/fonts/icomoon.woff and /dev/null differ diff --git a/hangtag-ui/hangtag-ui-front/src/components/DraftDesign/icons/fonts/icomoon.eot b/hangtag-ui/hangtag-ui-front/src/components/DraftDesign/icons/fonts/icomoon.eot index 3f4b846..eeaa774 100644 Binary files a/hangtag-ui/hangtag-ui-front/src/components/DraftDesign/icons/fonts/icomoon.eot and b/hangtag-ui/hangtag-ui-front/src/components/DraftDesign/icons/fonts/icomoon.eot differ diff --git a/hangtag-ui/hangtag-ui-front/src/components/DraftDesign/icons/fonts/icomoon.ttf b/hangtag-ui/hangtag-ui-front/src/components/DraftDesign/icons/fonts/icomoon.ttf index 77af6d2..4b01109 100644 Binary files a/hangtag-ui/hangtag-ui-front/src/components/DraftDesign/icons/fonts/icomoon.ttf and b/hangtag-ui/hangtag-ui-front/src/components/DraftDesign/icons/fonts/icomoon.ttf differ diff --git a/hangtag-ui/hangtag-ui-front/src/components/DraftDesign/icons/fonts/icomoon.woff b/hangtag-ui/hangtag-ui-front/src/components/DraftDesign/icons/fonts/icomoon.woff index c4f0f89..ab0edf0 100644 Binary files a/hangtag-ui/hangtag-ui-front/src/components/DraftDesign/icons/fonts/icomoon.woff and b/hangtag-ui/hangtag-ui-front/src/components/DraftDesign/icons/fonts/icomoon.woff differ diff --git a/hangtag-ui/hangtag-ui-front/src/components/DraftDesign/icons/fonts/selection.json b/hangtag-ui/hangtag-ui-front/src/components/DraftDesign/icons/fonts/selection.json deleted file mode 100644 index c0e47fa..0000000 --- a/hangtag-ui/hangtag-ui-front/src/components/DraftDesign/icons/fonts/selection.json +++ /dev/null @@ -1 +0,0 @@ -{"IcoMoonType":"selection","icons":[{"icon":{"paths":["M534.073 11.036l426.553 479.403c5.571 5.578 9.017 13.281 9.017 21.788s-3.445 16.21-9.017 21.789l0-0-426.553 479.346c-5.578 5.571-13.281 9.017-21.788 9.017s-16.21-3.445-21.789-9.017l0 0-426.553-479.346c-5.571-5.578-9.017-13.281-9.017-21.788s3.445-16.21 9.017-21.789l-0 0 426.553-479.403c5.578-5.571 13.281-9.017 21.788-9.017s16.21 3.445 21.789 9.017l-0-0zM527.815 126.919c-3.98-3.962-9.469-6.411-15.531-6.411s-11.55 2.449-15.531 6.412l0.001-0.001-325.291 369.778c-3.962 3.98-6.411 9.469-6.411 15.531s2.449 11.55 6.412 15.531l-0.001-0.001 325.291 370.005c3.983 3.979 9.484 6.44 15.559 6.44s11.576-2.461 15.559-6.44l-0 0 333.483-370.005c3.979-3.983 6.44-9.484 6.44-15.559s-2.461-11.576-6.44-15.559l0 0z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_lozenge"],"colorPermutations":{"201201207124624724817277851":[{}]}},"attrs":[{}],"properties":{"order":81,"id":57,"name":"lk_lozenge","prevSize":32,"code":59701},"setIdx":0,"setId":2,"iconIdx":0},{"icon":{"paths":["M874.24 604.498c22.292-2.14 42.977-11.735 59.238-27.566v282.501c0 48.855-39.762 88.596-88.627 88.596h-634.982c-48.876 0-88.637-39.741-88.637-88.596l0-634.307c0-48.855 39.762-88.607 88.637-88.607h283.269c-15.247 15.647-25.385 36.291-27.607 59.228h-255.672c-16.21 0-29.399 13.179-29.399 29.379v634.296c0 16.189 13.189 29.368 29.399 29.368h634.982c16.21 0 29.399-13.179 29.399-29.368v-254.925zM890.153 130.447h-300.892c-24.535 0-44.421 19.886-44.421 44.431 0 24.535 19.886 44.421 44.421 44.421h191.212c-1.843 1.341-3.686 2.703-5.345 4.372l-313.457 313.436v-193.638c0-24.535-19.886-44.421-44.421-44.421-12.268 0-23.378 4.956-31.416 13.005-8.038 8.059-13.015 19.139-13.015 31.416v300.902c0 24.525 19.886 44.421 44.421 44.421h300.892c24.535 0 44.421-19.896 44.421-44.442 0-24.525-19.886-44.421-44.421-44.421h-191.191c1.843-1.341 3.676-2.703 5.335-4.362l313.436-313.446v193.649c0 24.535 19.886 44.421 44.421 44.421 12.268 0 23.378-4.956 31.416-13.005 8.038-8.059 13.015-19.149 13.015-31.416v-300.902c0.010-24.525-19.886-44.421-44.411-44.421z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_set_size"],"colorPermutations":{"201201207124624724817277851":[{}]}},"attrs":[{}],"properties":{"order":79,"id":56,"name":"lk_set_size","prevSize":32,"code":59699},"setIdx":0,"setId":2,"iconIdx":1},{"icon":{"paths":["M589.523 416.828v-154.985l290.635 253.71-290.635 253.591v-154.744h-477.064v-197.572h477.064zM529.288 129.265v227.328h-477.064v318.042h477.064v227.087l442.488-386.108-442.488-386.35z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_right_arrow"],"colorPermutations":{"201201207124624724817277851":[{}]}},"attrs":[{}],"properties":{"order":80,"id":55,"name":"lk_right_arrow","prevSize":32,"code":59700},"setIdx":0,"setId":2,"iconIdx":2},{"icon":{"paths":["M870.4 153.6l-691.2 691.2v-691.2h691.2zM746.829 204.8h-516.429v516.403l516.403-516.403z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_right_triangle"],"colorPermutations":{"201201207124624724817277851":[{}]}},"attrs":[{}],"properties":{"order":78,"id":54,"name":"lk_right_triangle","prevSize":32,"code":59698},"setIdx":0,"setId":2,"iconIdx":3},{"icon":{"paths":["M512 768c233.92 0 416-121.408 416-256s-182.080-256-416-256-416 121.408-416 256c0 134.592 182.080 256 416 256zM512 832c-265.088 0-480-143.296-480-320s214.912-320 480-320c265.088 0 480 143.296 480 320s-214.912 320-480 320z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_ellipse"],"colorPermutations":{"201201207124624724817277851":[{}]}},"attrs":[{}],"properties":{"order":76,"id":53,"name":"lk_ellipse","prevSize":32,"code":59695},"setIdx":0,"setId":2,"iconIdx":4},{"icon":{"paths":["M128 853.333h768c23.564-0 42.667-19.103 42.667-42.667v0-597.333c0-23.564-19.103-42.667-42.667-42.667v0h-768c-23.564 0-42.667 19.103-42.667 42.667v-0 597.333c0 23.564 19.103 42.667 42.667 42.667v0zM170.667 256h682.667v512h-682.667v-512z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_rect"],"colorPermutations":{"201201207124624724817277851":[{}]}},"attrs":[{}],"properties":{"order":77,"id":52,"name":"lk_rect","prevSize":32,"code":59697},"setIdx":0,"setId":2,"iconIdx":5},{"icon":{"paths":["M213.333 853.333c-17.067 0-29.867-4.267-42.667-8.533-29.867-12.8-55.467-38.4-68.267-68.267s-12.8-68.267 0-98.133c0 0 0-4.267 4.267-4.267l298.667-524.8c12.8-21.333 29.867-38.4 51.2-51.2 59.733-34.133 140.8-12.8 174.933 51.2l298.667 520.533s0 4.267 4.267 4.267c4.267 12.8 8.533 25.6 8.533 42.667 0 34.133-8.533 68.267-34.133 93.867-21.333 25.6-55.467 38.4-89.6 42.667h-605.867zM179.2 712.533c-4.267 8.533-4.267 21.333 0 29.867s12.8 17.067 21.333 21.333c4.267 4.267 8.533 4.267 12.8 4.267h597.333c8.533 0 21.333-4.267 25.6-12.8s12.8-21.333 12.8-29.867c0-4.267 0-8.533-4.267-12.8l-298.667-520.533c-8.533-21.333-34.133-29.867-55.467-17.067-8.533 4.267-12.8 8.533-17.067 17.067l-294.4 520.533z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_triangle"],"colorPermutations":{"201201207124624724817277851":[{}]}},"attrs":[{}],"properties":{"order":72,"id":50,"name":"lk_triangle","prevSize":32,"code":59692},"setIdx":0,"setId":2,"iconIdx":6},{"icon":{"paths":["M231.867 924.56l99.624-315.316-254.598-217.71h320.431l114.726-293.374 128.642 293.375h306.415l-240.135 217.562 102.703 316.754-296.032-198.443-281.776 197.151zM513.135 687.827l238.918 159.045-81.227-247.13 196.016-176.485h-246.748l-106.382-242.59-94.867 242.59h-258.161l206.984 175.878-78.212 249.077 223.679-160.385z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_five_pointed"],"colorPermutations":{"201201207124624724817277851":[{}]}},"attrs":[{}],"properties":{"order":73,"id":49,"name":"lk_five_pointed","prevSize":32,"code":59694},"setIdx":0,"setId":2,"iconIdx":7},{"icon":{"paths":["M512 981.312c-259.12-0.182-469.129-210.191-469.312-469.294l-0-0.018c0.182-259.12 210.191-469.129 469.294-469.312l0.018-0c259.12 0.182 469.129 210.191 469.312 469.294l0 0.018c-0.182 259.12-210.191 469.129-469.294 469.312l-0.018 0zM512 136.832c-1.457-0.020-3.177-0.032-4.9-0.032-207.2 0-375.168 167.968-375.168 375.168s167.968 375.168 375.168 375.168c1.723 0 3.443-0.012 5.161-0.035l-0.261 0.003c205.081-2.764 370.268-169.659 370.268-375.136s-165.187-372.372-370.007-375.133l-0.261-0.003z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_circle"],"colorPermutations":{"201201207124624724817277851":[{}]}},"attrs":[{}],"properties":{"order":75,"id":47,"name":"lk_circle","prevSize":32,"code":59696},"setIdx":0,"setId":2,"iconIdx":8},{"icon":{"paths":["M858.496 680.32v-335.808c58.7-18.539 100.528-72.47 100.608-136.183l0-0.009c-0.073-78.687-63.841-142.455-142.521-142.528l-0.007-0c-64.448 0-119.040 43.008-136.576 101.888h-335.808c-18.205-59.311-72.415-101.717-136.556-101.888l-0.020-0c-78.687 0.073-142.455 63.841-142.528 142.521l-0 0.007c0.094 64.368 42.785 118.74 101.389 136.442l1.011 0.262v334.72c-59.555 18.038-102.17 72.421-102.208 136.764l-0 0.004c0 78.592 63.936 142.464 142.528 142.464 63.872 0 118.080-42.176 136.064-100.288h336.896c18.643 58.546 72.51 100.224 136.12 100.288l0.008 0c78.664-0.073 142.419-63.805 142.528-142.454l0-0.010c-0.212-63.771-42.142-117.692-99.915-135.916l-1.013-0.276zM816.576 125.824c45.504 0 82.56 36.992 82.56 82.496-1.795 44.176-38.042 79.31-82.496 79.31s-80.701-35.133-82.491-79.148l-0.005-0.162c0-45.504 37.056-82.56 82.432-82.56zM125.12 208.32c0-45.504 36.992-82.56 82.496-82.56 44.176 1.795 79.31 38.042 79.31 82.496s-35.133 80.701-79.148 82.491l-0.162 0.005c0 0-0 0-0 0-45.552 0-82.487-36.89-82.56-82.425l-0-0.007zM207.808 899.008c-45.597 0-82.56-36.963-82.56-82.56v0c1.795-44.176 38.042-79.31 82.496-79.31s80.701 35.133 82.491 79.148l0.005 0.162c0 45.568-37.056 82.56-82.432 82.56zM675.392 798.72h-326.272c-8.383-63.923-58.022-114.106-120.959-123.236l-0.769-0.092v-325.952c63.034-9.254 112.227-58.577 121.19-120.898l0.090-0.766h326.72c9.109 63.695 59.165 113.382 122.276 121.84l0.732 0.080v325.568c-64 8.32-114.88 59.328-123.008 123.52zM816.832 899.008c-45.597 0-82.56-36.963-82.56-82.56v0c1.795-44.176 38.042-79.31 82.496-79.31s80.701 35.133 82.491 79.148l0.005 0.162c0 45.568-36.992 82.56-82.496 82.56z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_angular"],"colorPermutations":{"201201207124624724817277851":[{}]}},"attrs":[{}],"properties":{"order":71,"id":45,"name":"lk_angular","prevSize":32,"code":59691},"setIdx":0,"setId":2,"iconIdx":9},{"icon":{"paths":["M554.667 384c0.002 0 0.004 0 0.007 0 23.564 0 42.667-19.103 42.667-42.667s-19.103-42.667-42.667-42.667c-0.002 0-0.005 0-0.007 0l0-0c-23.561 0.004-42.66 19.105-42.66 42.667s19.099 42.663 42.66 42.667l0 0zM554.667 554.667c23.564 0 42.667-19.103 42.667-42.667s-19.103-42.667-42.667-42.667h-0c-23.564 0-42.667 19.103-42.667 42.667s19.103 42.667 42.667 42.667h-0zM725.333 554.667c23.564 0 42.667-19.103 42.667-42.667s-19.103-42.667-42.667-42.667h-0c-23.564 0-42.667 19.103-42.667 42.667s19.103 42.667 42.667 42.667h-0zM554.667 725.333c0.002 0 0.004 0 0.007 0 23.564 0 42.667-19.103 42.667-42.667s-19.103-42.667-42.667-42.667c-0.002 0-0.005 0-0.007 0l0-0c-23.561 0.004-42.66 19.105-42.66 42.667s19.099 42.663 42.66 42.667l0 0zM896 128h-682.667c-23.564-0-42.667 19.103-42.667 42.667v682.667c0 23.564 19.103 42.667 42.667 42.667h682.667c23.564 0 42.667-19.103 42.667-42.667v0-682.667c0-23.564-19.103-42.667-42.667-42.667v0zM853.333 810.667h-597.333v-597.333h597.333v597.333zM384 554.667c23.564 0 42.667-19.103 42.667-42.667s-19.103-42.667-42.667-42.667h-0c-23.564 0-42.667 19.103-42.667 42.667s19.103 42.667 42.667 42.667h-0z"],"attrs":[{}],"width":1066,"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_shape_stroke"],"colorPermutations":{"201201207124624724817277851":[{}]}},"attrs":[{}],"properties":{"order":70,"id":44,"name":"lk_shape_stroke","prevSize":32,"code":59690},"setIdx":0,"setId":2,"iconIdx":10},{"icon":{"paths":["M954.757 291.473c-3.61-3.685-8.041-5.583-13.168-5.641-12.515-0.141-26.509 10.942-36.036 20.255l-340.912 331.177c-12.501 12.229-58.516 86.966-60.468 90.143l-7.452 12.121 12.135-7.428c3.217-1.968 78.963-48.374 91.438-60.569l340.911-331.178c15.151-14.815 26.671-35.436 13.552-48.879v0zM741.987 394.478c0 27.609-22.407 50.015-50.015 50.015-27.613 0-50.021-22.406-50.021-50.015 0-27.61 22.408-50.018 50.021-50.018 27.608 0 50.015 22.408 50.015 50.018v0zM216.812 569.531c-27.61 0-50.016-22.403-50.016-50.012 0-27.612 22.406-50.020 50.016-50.020 27.608 0 50.017 22.408 50.017 50.020 0 27.609-22.409 50.012-50.017 50.012v0zM291.838 394.478c0-27.61 22.408-50.018 50.015-50.018 27.61 0 50.018 22.408 50.018 50.018 0 27.609-22.407 50.015-50.018 50.015-27.609-0-50.015-22.382-50.015-50.015v0zM466.896 344.46c0-27.609 22.406-50.015 50.015-50.015 27.612 0 50.019 22.406 50.019 50.015s-22.408 50.018-50.019 50.018c-27.609 0-50.015-22.385-50.015-50.018v0zM853.74 514.084c-22.989 148.967-158.732 299.942-351.947 299.942-36.782 0-75.999-7.275-107.598-19.959-33.607-13.49-48.851-29.354-51.907-39.693-1.594-5.398-3.092-11.296-4.68-17.542-4.65-18.302-9.922-39.045-20.252-56.259-18.376-30.618-44.815-37.045-63.76-37.045-7.166 0-14.798 0.914-22.675 2.712-12.865 2.936-25.363 4.424-37.141 4.424-25.123 0-67.464-6.665-68.765-51.308-6.59-227.942 180.734-351.748 369.298-373.326 13.337-1.525 27.603-2.296 42.403-2.296 53.124 0 111.543 10.001 152.463 26.099 9.248 3.638 14.375 6.016 39.204 18.184 25.653 12.57 46.348 30.432 62.898 47.642l30.158-53.075c-18.027-17.013-40.334-34.407-67.102-47.525-24.89-12.197-31.893-15.514-43.565-20.106-47.339-18.623-114.033-30.194-174.053-30.194-17.027 0-33.545 0.901-49.102 2.678-115.514 13.22-220.687 59.057-296.143 129.075-85.507 79.342-128.872 184.654-125.405 304.555 1.005 34.47 15.117 63.017 40.81 82.556 22.381 17.020 52.431 26.014 86.903 26.014 16.187 0 33.097-1.985 50.268-5.903 3.582-0.818 6.794-1.232 9.548-1.232 11.469 0 16.99 10.044 26.853 48.854 1.654 6.509 3.365 13.241 5.281 19.73 9.434 31.912 39.343 58.784 86.495 77.711 38.319 15.382 85.544 24.203 129.567 24.203 54.104 0 106.474-10.135 155.659-30.123 46.241-18.793 88.502-45.763 125.607-80.165 35.744-33.141 65.271-71.791 87.757-114.884 22.526-43.163 36.888-88.666 42.691-135.269 0.262-2.117 0.509-4.321 0.732-6.548l0.148-1.469v-0.057c0.222-2.336 0.404-4.695 0.571-7.065l-61.218 16.661z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_color_palette"],"colorPermutations":{"201201207124624724817277851":[{}]}},"attrs":[{}],"properties":{"order":69,"id":43,"name":"lk_color_palette","prevSize":32,"code":59693},"setIdx":0,"setId":2,"iconIdx":11},{"icon":{"paths":["M809.664 435.2v-0.192h-72.32v0.192l-64.448 177.024 36.16 99.392 64.448-176.96 72.192 198.4h-128.832l23.68 64.96h128.832l44.608 122.432c2.292 6.209 8.158 10.557 15.040 10.56l49.728 0c4.408-0.014 7.976-3.59 7.976-8 0-0.988-0.179-1.934-0.506-2.807l0.018 0.055-176.576-485.056zM427.776 75.776h-87.552c-0.008-0-0.017-0-0.026-0-1.163 0-2.154 0.739-2.528 1.773l-0.006 0.019-309.184 849.792c-0.112 0.285-0.177 0.615-0.177 0.96 0 1.485 1.203 2.688 2.688 2.688 0.017 0 0.035-0 0.052-0l-0.003 0h74.304c6.857-0.031 12.692-4.371 14.94-10.449l0.036-0.111 79.36-217.984h368.64l79.36 217.984c2.292 6.209 8.158 10.557 15.040 10.56l74.304 0c0.015 0 0.032 0 0.049 0 1.485 0 2.688-1.203 2.688-2.688 0-0.345-0.065-0.675-0.184-0.979l0.006 0.018-309.312-849.792c-0.38-1.053-1.371-1.792-2.534-1.792-0.009 0-0.018 0-0.027 0l0.001-0zM228.736 622.528l155.264-426.56 155.2 426.56h-310.4z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_font_size"],"colorPermutations":{"1141141141731241731":[{}],"201201207124624724817277851":[{}]}},"attrs":[{}],"properties":{"order":67,"id":41,"name":"lk_font_size","prevSize":32,"code":59689},"setIdx":0,"setId":2,"iconIdx":12},{"icon":{"paths":["M128 896h768v64h-768zM128 768h768v64h-768zM128 640h768v64h-768zM128 512h768v64h-768zM0 64h64v896h-64zM960 64h64v896h-64z","M440.2 448l-128-128h399.6l-128 128h184.2l192-192-192-192h-184.2l128 128h-399.6l128-128h-184.2l-192 192 192 192z"],"attrs":[{},{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_align_icon"],"colorPermutations":{"1141141141731241731":[{},{}],"201201207124624724817277851":[{},{}]}},"attrs":[{},{}],"properties":{"order":66,"id":40,"name":"lk_align_icon","prevSize":32,"code":59688},"setIdx":0,"setId":2,"iconIdx":13},{"icon":{"paths":["M960 480v64h-896v-64h896zM832 256v512l-256 0v-512l256 0zM448 128v768l-256 0v-768l256 0z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_align_h_center"],"colorPermutations":{"1141141141731241731":[{}],"201201207124624724817277851":[{}]}},"attrs":[{}],"properties":{"order":64,"id":39,"name":"lk_align_h_center","prevSize":32,"code":59685},"setIdx":0,"setId":2,"iconIdx":14},{"icon":{"paths":["M1170.286 987.429c0-20.198-16.374-36.571-36.571-36.571h-1097.143c-20.195 0.003-36.565 16.376-36.565 36.571s16.37 36.568 36.565 36.571l1097.143 0c20.198-0 36.571-16.374 36.571-36.571v0zM950.857 841.143v-512c0-20.198-16.374-36.571-36.571-36.571v0h-219.429c-20.198 0-36.571 16.374-36.571 36.571l-0-0v512c0 20.198 16.374 36.571 36.571 36.571h219.429c20.198 0 36.571-16.374 36.571-36.571v0zM512 841.143v-804.571c0-20.198-16.374-36.571-36.571-36.571v0h-219.429c-20.198 0-36.571 16.374-36.571 36.571v0 804.571c0 20.198 16.374 36.571 36.571 36.571v0h219.429c20.198-0 36.571-16.374 36.571-36.571v0z"],"attrs":[{}],"width":1170,"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_align_bottom"],"colorPermutations":{"1141141141731241731":[{}],"201201207124624724817277851":[{}]}},"attrs":[{}],"properties":{"order":63,"id":38,"name":"lk_align_bottom","prevSize":32,"code":59686},"setIdx":0,"setId":2,"iconIdx":15},{"icon":{"paths":["M1170.286 36.571c0 20.198-16.374 36.571-36.571 36.571l-1097.143-0c-20.195-0.003-36.565-16.376-36.565-36.571s16.37-36.568 36.565-36.571l1097.143-0c20.198-0 36.571 16.374 36.571 36.571v0zM950.857 182.857v512c0 20.198-16.374 36.571-36.571 36.571v0h-219.429c-20.198 0-36.571-16.374-36.571-36.571l-0 0v-512c0-20.198 16.374-36.571 36.571-36.571l-0-0h219.429c20.198 0 36.571 16.374 36.571 36.571v-0zM512 182.857v804.571c0 20.198-16.374 36.571-36.571 36.571v0h-219.429c-20.198 0-36.571-16.374-36.571-36.571v0-804.571c0-20.198 16.374-36.571 36.571-36.571v-0h219.429c20.198 0 36.571 16.374 36.571 36.571v-0z"],"attrs":[{}],"width":1170,"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_align_top"],"colorPermutations":{"1141141141731241731":[{}],"201201207124624724817277851":[{}]}},"attrs":[{}],"properties":{"order":62,"id":37,"name":"lk_align_top","prevSize":32,"code":59687},"setIdx":0,"setId":2,"iconIdx":16},{"icon":{"paths":["M928 0c17.673 0 32 14.327 32 32v0 960c0 17.673-14.327 32-32 32s-32-14.327-32-32v0-960c0-17.673 14.327-32 32-32v0zM352 192h448c17.673 0 32 14.327 32 32v0 192c0 17.673-14.327 32-32 32v0h-448c-17.673 0-32-14.327-32-32v0-192c0-17.673 14.327-32 32-32v0zM96 576h704c17.673 0 32 14.327 32 32v0 192c0 17.673-14.327 32-32 32v0h-704c-17.673 0-32-14.327-32-32v0-192c0-17.673 14.327-32 32-32v0z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_align_right"],"colorPermutations":{"1141141141731241731":[{}],"201201207124624724817277851":[{}]}},"attrs":[{}],"properties":{"order":59,"id":36,"name":"lk_align_right","prevSize":32,"code":59682},"setIdx":0,"setId":2,"iconIdx":17},{"icon":{"paths":["M477.312 576v-128h-210.624c-17.673 0-32-14.327-32-32v0-192c0-17.673 14.327-32 32-32v0h210.624v-157.312c0-19.158 15.53-34.688 34.688-34.688s34.688 15.53 34.688 34.688v-0 157.312h210.624c17.673 0 32 14.327 32 32v0 192c0 17.673-14.327 32-32 32v0h-210.624v128h349.312c17.673 0 32 14.327 32 32v0 192c0 17.673-14.327 32-32 32v0h-349.312v157.312c0 19.158-15.53 34.688-34.688 34.688s-34.688-15.53-34.688-34.688v-157.312h-349.312c-17.673 0-32-14.327-32-32v0-192c0-17.673 14.327-32 32-32v0h349.312z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_align_center"],"colorPermutations":{"1141141141731241731":[{}],"201201207124624724817277851":[{}]}},"attrs":[{}],"properties":{"order":60,"id":35,"name":"lk_align_center","prevSize":32,"code":59683},"setIdx":0,"setId":2,"iconIdx":18},{"icon":{"paths":["M96 0c17.673 0 32 14.327 32 32v0 960c0 17.673-14.327 32-32 32s-32-14.327-32-32v0-960c0-17.673 14.327-32 32-32v0zM224 192h448c17.673 0 32 14.327 32 32v0 192c0 17.673-14.327 32-32 32v0h-448c-17.673 0-32-14.327-32-32v0-192c0-17.673 14.327-32 32-32v0zM224 576h704c17.673 0 32 14.327 32 32v0 192c0 17.673-14.327 32-32 32v0h-704c-17.673 0-32-14.327-32-32v0-192c0-17.673 14.327-32 32-32v0z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_align_left"],"colorPermutations":{"1141141141731241731":[{}],"201201207124624724817277851":[{}]}},"attrs":[{}],"properties":{"order":61,"id":34,"name":"lk_align_left","prevSize":32,"code":59684},"setIdx":0,"setId":2,"iconIdx":19},{"icon":{"paths":["M458.5 177.3v273h-288.2v-273h288.2zM499.5 136.3h-370.3v355h370.2v-355h0.1zM305.7 621.5l137.1 237.4h-274.1l137-237.4zM305.7 539.5l-208 360.5h416.2l-208.2-360.5zM732.7 216.8l23.1 46.8 9.5 19.3 73 10.6-37.3 36.4-15.4 15.1 3.6 21.2 8.8 51.4-65.3-34.3-19.1 10-46.2 24.3 8.8-51.4 3.6-21.3-15.4-15.1-37.3-36.4 72.8-10.6 9.5-19.3 23.3-46.7zM732.7 124.1l-59.9 121.3-133.8 19.4 96.8 94.4-22.8 133.3 119.7-62.9 119.7 62.9-22.9-133.3 96.8-94.4-133.8-19.4-59.8-121.3zM732.7 595.8c72.5 0 131.5 59 131.5 131.5s-59 131.5-131.5 131.5-131.6-59-131.6-131.5 59-131.5 131.6-131.5zM732.7 554.8c-95.3 0-172.6 77.2-172.6 172.5s77.3 172.6 172.6 172.6 172.5-77.2 172.5-172.6c0-95.3-77.3-172.5-172.5-172.5z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_shape_set"],"colorPermutations":{"1141141141731241731":[{}],"201201207124624724817277851":[{}]}},"attrs":[{}],"properties":{"order":57,"id":33,"name":"lk_shape_set","prevSize":32,"code":59681},"setIdx":0,"setId":2,"iconIdx":20},{"icon":{"paths":["M938.633 570.216l-383.961 172.585c-36.762 15.99-51.4 15.99-85.33 0l-383.976-172.585c-20.383-10.827-25.879-50.887-25.879-72.746 25.631 14.637 61.674 30.959 60.335 30.131l392.179 180.788 392.192-180.788c0.662-0.166 35.629-17.786 60.32-30.131 0 22.369-6.933 63.908-25.879 72.746zM938.633 389.413l-383.961 172.599c-36.762 15.991-51.4 15.991-85.33 0l-383.976-172.599c-30.16-16.005-29.222-66.407 0-85.229l383.976-202.73c33.93-16.944 55.155-17.882 85.33 0l383.961 202.73c29.221 16.005 28.255 72.042 0 85.229zM511.999 135.865l-392.179 210.933 392.179 165.253 392.193-165.253-392.193-210.933zM511.999 889.203l392.192-180.815c0.662-0.166 35.629-17.786 60.32-30.13 0 22.369-6.932 63.908-25.879 72.746l-383.96 172.612c-36.762 15.99-51.4 15.99-85.33 0l-383.976-172.613c-20.383-10.827-25.879-50.873-25.879-72.746 25.631 14.637 61.674 30.959 60.335 30.13l392.178 180.816z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_layer_set"],"colorPermutations":{"1141141141731241731":[{}],"201201207124624724817277851":[{}]}},"attrs":[{}],"properties":{"order":56,"id":32,"name":"lk_layer_set","prevSize":32,"code":59680},"setIdx":0,"setId":2,"iconIdx":21},{"icon":{"paths":["M340.821 0c-188.192 0.097-340.724 152.63-340.821 340.812l-0 0.009v683.179h341.504v-682.667h682.496v-341.333h-683.179z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_border_angle"],"colorPermutations":{"1141141141731241731":[{}],"201201207124624724817277851":[{}]}},"attrs":[{}],"properties":{"order":55,"id":31,"name":"lk_border_angle","prevSize":32,"code":59679},"setIdx":0,"setId":2,"iconIdx":22},{"icon":{"paths":["M1024.003 83.149l-940.851 940.851-83.149-83.149 940.851-940.851 83.149 83.149zM1024.003 83.149z"],"attrs":[{}],"width":1025,"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_line"],"colorPermutations":{"1141141141731241731":[{}],"201201207124624724817277851":[{}]}},"attrs":[{}],"properties":{"order":54,"id":30,"name":"lk_line","prevSize":32,"code":59678},"setIdx":0,"setId":2,"iconIdx":23},{"icon":{"paths":["M724.038 298.855h-424.077c-4.962 0-8.987 4.026-8.987 8.987v141.376c0 2.434 0.986 4.763 2.732 6.458 1.746 1.689 4.109 2.56 6.54 2.526l18.751-0.59c4.423-0.143 8.081-3.479 8.634-7.871 5.911-47.374 45.467-80.044 65.949-85.028 6.049-1.48 14.476-2.224 25.053-2.224 12.941 0 26.145 1.147 34.21 2.004-0.091 50.063-0.581 317.876-0.581 336.347 0 11.676-16.415 18.719-20.795 20.388l-36.029 0.57c-4.828 0.082-8.732 3.953-8.845 8.78l-0.59 25.817c-0.056 2.418 0.867 4.758 2.555 6.484 1.691 1.737 4.010 2.712 6.428 2.712h234.059c4.962 0 8.988-4.028 8.988-8.988v-25.187c0-4.963-4.027-8.988-8.988-8.988h-42.369c-10.383-1.199-19.057-13.291-22.532-19.6l0.513-341.292c4.22-0.375 10.123-0.737 17.359-0.737 14.281 0 28.964 1.346 43.645 3.996 30.609 5.527 61.849 66.544 71.302 89.584 1.385 3.376 4.669 5.583 8.321 5.583h18.751c4.962 0 8.987-4.027 8.987-8.989l-0-143.128c0.004-4.966-4.023-8.991-8.984-8.991v0zM724.038 298.855z","M847.029 65.29h-670.063c-61.677 0-111.675 50.004-111.675 111.675v687.47c8.415 53.352 55.962 94.274 111.675 94.274h670.068c61.676 0 111.675-50.004 111.675-111.676l-0-670.068c-0.001-61.668-50-111.675-111.681-111.675v0zM847.033 791.194c0 30.843-24.998 55.84-55.84 55.84l-558.387-0.004c-30.838 0-55.84-24.999-55.84-55.84v0-558.383c0-30.838 24.998-55.841 55.84-55.841h558.387c30.838 0 55.84 24.998 55.84 55.841v0 558.387zM847.033 791.194z"],"attrs":[{},{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_text"],"colorPermutations":{"1141141141731241731":[{},{}],"201201207124624724817277851":[{},{}]}},"attrs":[{},{}],"properties":{"order":53,"id":29,"name":"lk_text","prevSize":32,"code":59677},"setIdx":0,"setId":2,"iconIdx":24},{"icon":{"paths":["M460.8 665.6h102.4v102.4h-102.4v-102.4zM460.8 256h102.4v307.2h-102.4v-307.2zM511.488 0c-282.624 0-511.488 229.376-511.488 512s228.864 512 511.488 512c283.136 0 512.512-229.376 512.512-512s-229.376-512-512.512-512zM512 921.6c-226.304 0-409.6-183.296-409.6-409.6s183.296-409.6 409.6-409.6 409.6 183.296 409.6 409.6-183.296 409.6-409.6 409.6z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_warning_tips"],"colorPermutations":{"1141141141731241731":[{}],"201201207124624724817277851":[{}]}},"attrs":[{}],"properties":{"order":52,"id":28,"name":"lk_warning_tips","prevSize":32,"code":59676},"setIdx":0,"setId":2,"iconIdx":25},{"icon":{"paths":["M379.611 265.874c16.238 16.311 43.081 16.311 59.392 0l31.451-31.451v190.757c0 23.113 18.944 42.057 42.057 42.057 23.179-0.083 41.943-18.872 41.984-42.053l0-0.004v-190.903l31.451 31.525c16.311 16.311 43.154 16.311 59.465 0 7.55-7.622 12.215-18.114 12.215-29.696s-4.665-22.074-12.219-29.699l0.003 0.003-103.205-103.131c-7.622-7.55-18.114-12.215-29.696-12.215s-22.074 4.665-29.699 12.219l0.003-0.003-103.205 103.205c-7.603 7.599-12.306 18.098-12.306 29.696s4.703 22.098 12.305 29.696l0 0z","M897.17 149.943h-240.274l48.64 48.64h184.832v477.038h-755.931v-477.038h183.954l48.64-48.567h-239.177c-26.925 0.083-48.735 21.867-48.859 48.774l-0 0.012v541.477c0 26.843 21.943 48.859 48.786 48.859h256.805v72.85l-55.003 55.003s-5.998 11.995 8.997 11.995h347.794c14.994 0 8.997-11.995 8.997-11.995l-55.003-55.003v-72.85h256.805c26.951-0.083 48.777-21.909 48.859-48.851l0-0.008v-541.477c-0.124-26.919-21.934-48.704-48.851-48.786l-0.008-0z"],"attrs":[{},{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_data_output"],"colorPermutations":{"1141141141731241731":[{},{}],"201201207124624724817277851":[{},{}]}},"attrs":[{},{}],"properties":{"order":48,"id":27,"name":"lk_data_output","prevSize":32,"code":59673},"setIdx":0,"setId":2,"iconIdx":26},{"icon":{"paths":["M379.6 292.3c-16.3 16.3-16.3 43.1 0 59.4l103.2 103.2c16.3 16.3 43.1 16.3 59.4 0l103.2-103.2c16.3-16.3 16.3-43.1 0-59.4s-43.1-16.3-59.4 0l-31.5 31.5v-190.8c0-23.1-18.9-42-42-42s-42 18.9-42 42v190.8l-31.5-31.5c-16.4-16.3-43.1-16.3-59.4 0zM897.2 150h-293.2v48.6h286.5v477h-756v-477h286.5v-48.6h-293.2c-26.8 0-48.8 22-48.8 48.8v541.5c0 26.8 22 48.8 48.8 48.8h256.8v72.9l-55 55s-6 12 9 12h347.8c15 0 9-12 9-12l-55-55v-72.9h256.8c26.8 0 48.8-22 48.8-48.8v-541.5c0-26.8-22-48.8-48.8-48.8z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_data_input"],"colorPermutations":{"1141141141731241731":[{}],"201201207124624724817277851":[{}]}},"attrs":[{}],"properties":{"order":49,"id":26,"name":"lk_data_input","prevSize":32,"code":59674},"setIdx":0,"setId":2,"iconIdx":27},{"icon":{"paths":["M924.059 466.805c-1.883-38.202-23.717-72.597-57.491-90.555l-607.086-325.411c-33.877-18.193-74.843-17.13-107.73 2.797-33.222 19.646-53.366 55.597-52.778 94.19l4.364 729.352c-0.059 40.136 22.209 76.97 57.772 95.579 14.543 8.045 31.886 12.78 50.334 12.78 0.198 0 0.396-0.001 0.594-0.002l-0.030 0c22.852-0.093 44.045-7.12 61.604-19.084l-0.382 0.246 602.849-404.131c31.703-21.278 49.913-57.631 47.979-95.763zM177.079 926.452l1.346-832.289 692.623 371.223-693.969 461.066zM227.96 846.724z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_start"],"colorPermutations":{"1141141141731241731":[{}],"201201207124624724817277851":[{}]}},"attrs":[{}],"properties":{"order":50,"id":25,"name":"lk_start","prevSize":32,"code":59675},"setIdx":0,"setId":2,"iconIdx":28},{"icon":{"paths":["M562.176 411.136c0 13.824 11.264 25.088 25.088 25.088s25.088-11.264 25.088-25.088-11.264-25.088-25.088-25.088-25.088 11.264-25.088 25.088zM335.872 235.52c-13.824 0-25.088 11.264-25.088 25.088s11.264 25.088 25.088 25.088 25.088-11.264 25.088-25.088c0.512-13.824-10.752-25.088-25.088-25.088zM436.224 587.776c13.824 0 25.6-11.264 25.6-25.088s-11.264-25.6-25.088-25.6-25.6 11.264-25.6 25.088 11.264 25.088 25.088 25.6zM839.168 82.944h-654.336c-41.472 0-75.264 33.792-75.776 75.264v707.584c0 41.472 33.792 75.264 75.776 75.264h527.872v-176.128c0-13.824 11.264-25.088 25.088-25.088h176.128v-581.632c0-41.472-33.28-75.264-74.752-75.264zM486.912 840.704h-201.216c-13.824 0-25.088-11.264-25.088-25.088s11.264-25.088 25.088-25.088h201.216c13.824 0 25.088 11.264 25.088 25.088s-11.264 25.088-25.088 25.088zM260.608 714.752c0-13.824 11.264-25.088 25.088-25.088h100.864c13.824 1.024 24.064 13.312 23.040 27.136-1.024 12.288-10.752 22.016-23.040 23.040h-100.864c-13.824 0.512-25.088-10.752-25.088-25.088zM360.96 537.088h4.608c13.824-38.912 56.32-59.904 95.744-46.080 21.504 7.68 38.4 24.576 46.080 46.080h169.984l-7.168-7.168c-9.728-9.728-9.728-25.6 0-35.84 9.728-9.728 25.6-9.728 35.84 0l50.176 49.664c9.728 9.728 9.728 25.6 0 35.84l-50.176 50.688c-9.728 9.728-25.6 9.728-35.84 0s-9.728-25.6 0-35.84l7.168-7.168h-169.984c-13.824 38.912-56.32 59.904-95.744 46.080-21.504-7.68-38.4-24.576-46.080-46.080h-4.608c-55.808 0-100.864-45.056-100.864-100.864s45.056-100.864 100.864-100.864h155.648c13.312-38.912 56.32-59.904 95.232-46.592 22.016 7.68 38.912 24.576 46.592 46.592h4.608c27.648 1.536 51.712-19.456 53.248-47.616 1.536-27.648-19.456-51.712-47.616-53.248h-261.632c-13.824 39.424-56.832 59.904-96.256 46.080s-59.904-56.832-46.080-96.256c13.824-39.424 56.832-59.904 96.256-46.080 21.504 7.68 38.4 24.576 46.080 46.080h256c55.296-2.048 102.4 40.96 104.448 96.768 2.048 55.296-40.96 102.4-96.768 104.448h-12.8c-13.312 38.912-56.32 59.904-95.232 46.592-22.016-7.68-38.912-24.576-46.592-46.592h-155.648c-27.648-1.536-51.712 19.456-53.248 47.616-1.536 27.648 19.456 51.712 47.616 53.248 2.56 0.512 4.608 0.512 6.144 0.512zM763.392 926.72l136.192-136.192h-136.192v136.192z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_step_flow"],"colorPermutations":{"1141141141731241731":[{}],"201201207124624724817277851":[{}]}},"attrs":[{}],"properties":{"order":47,"id":24,"name":"lk_step_flow","prevSize":32,"code":59672},"setIdx":0,"setId":2,"iconIdx":29},{"icon":{"paths":["M512 74.667c-241.067 0-437.333 196.267-437.333 437.333s196.267 437.333 437.333 437.333 437.333-196.267 437.333-437.333-196.267-437.333-437.333-437.333zM512 885.333c-204.8 0-373.333-168.533-373.333-373.333s168.533-373.333 373.333-373.333 373.333 168.533 373.333 373.333-168.533 373.333-373.333 373.333z","M701.867 381.867l-253.867 256-125.867-125.867c-12.8-12.8-32-12.8-44.8 0s-12.8 32 0 44.8l149.333 149.333c6.4 6.4 14.933 8.533 23.467 8.533s17.067-2.133 23.467-8.533l277.333-277.333c12.8-12.8 12.8-32 0-44.8-14.933-12.8-36.267-12.8-49.067-2.133z"],"attrs":[{},{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_success"],"colorPermutations":{"1141141141731241731":[{},{}],"201201207124624724817277851":[{},{}]}},"attrs":[{},{}],"properties":{"order":44,"id":23,"name":"lk_success","prevSize":32,"code":59669},"setIdx":0,"setId":2,"iconIdx":30},{"icon":{"paths":["M924.78 336.8c-69.897-162.92-228.929-274.96-414.13-274.96-248.169 0-449.35 201.181-449.35 449.35s201.181 449.35 449.35 449.35c248.169 0 449.35-201.181 449.35-449.35l-0 0c0-0.187 0-0.408 0-0.628 0-62.754-12.953-122.482-36.332-176.657l1.112 2.895zM875.050 664.55c-61.511 143.353-201.448 241.935-364.41 241.935-218.379 0-395.41-177.031-395.41-395.41s177.031-395.41 395.41-395.41c218.379 0 395.41 177.031 395.41 395.41 0 0.040-0 0.081-0 0.121l0-0.006c0 0.128 0 0.28 0 0.431 0 55.23-11.401 107.798-31.979 155.477l0.979-2.548z","M671.090 352.91c-4.886-4.885-11.635-7.906-19.090-7.906s-14.204 3.021-19.090 7.906l-120.91 120.91-120.91-120.91c-4.858-4.727-11.499-7.642-18.822-7.642-14.912 0-27 12.088-27 27 0 7.323 2.915 13.964 7.648 18.828l-0.006-0.006 120.91 120.91-120.91 120.91c-5.047 4.911-8.178 11.769-8.178 19.358 0 14.912 12.088 27 27 27 7.589 0 14.447-3.131 19.352-8.172l0.006-0.006 120.91-120.91 120.91 120.91c4.858 4.727 11.499 7.642 18.822 7.642 14.912 0 27-12.088 27-27 0-7.323-2.915-13.964-7.648-18.828l0.006 0.006-120.91-120.91 120.91-120.91c4.885-4.886 7.906-11.635 7.906-19.090s-3.021-14.204-7.906-19.090l0 0z"],"attrs":[{},{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_failed"],"colorPermutations":{"1141141141731241731":[{},{}],"201201207124624724817277851":[{},{}]}},"attrs":[{},{}],"properties":{"order":45,"id":22,"name":"lk_failed","prevSize":32,"code":59670},"setIdx":0,"setId":2,"iconIdx":31},{"icon":{"paths":["M166.671 504.169c2.086-92.486 40.292-175.66 101.011-236.299l0.004-0.004c62.232-62.512 148.354-101.196 243.511-101.196 0.261 0 0.522 0 0.783 0.001l-0.041-0c0.253-0.001 0.553-0.001 0.852-0.001 95.047 0 181.058 38.689 243.143 101.178l0.018 0.018c9.939 9.939 19.275 20.48 27.889 31.503l-60.416 47.164c-1.912 1.491-3.13 3.794-3.13 6.382 0 0.598 0.065 1.181 0.189 1.743l-0.010-0.053c0.674 3.011 2.973 5.351 5.908 6.072l0.055 0.011 176.369 43.189c0.561 0.139 1.206 0.219 1.869 0.219 4.408 0 7.99-3.533 8.070-7.922l0-0.007 0.843-181.609c0-0.005 0-0.011 0-0.017 0-4.425-3.587-8.011-8.011-8.011-1.871 0-3.593 0.642-4.956 1.717l0.017-0.013-56.621 44.273c-77.878-98.981-197.664-161.961-332.159-161.961-229.909 0-416.835 184.035-421.498 412.828l-0.007 0.435c-0.001 0.054-0.002 0.117-0.002 0.181 0 4.425 3.587 8.011 8.011 8.011 0.001 0 0.001-0 0.002-0l60.235 0c0.019 0 0.040 0 0.062 0 4.361 0 7.908-3.485 8.009-7.821l0-0.009zM925.636 512h-60.235c-0.019-0-0.040-0-0.062-0-4.361 0-7.908 3.485-8.009 7.821l-0 0.009c-1.945 92.511-40.185 175.728-101.003 236.291l-0.012 0.012c-62.259 62.513-148.405 101.196-243.586 101.196-0.214 0-0.427-0-0.641-0.001l0.033 0c-0.238 0.001-0.52 0.001-0.802 0.001-109.934 0-207.811-51.622-270.713-131.947l-0.567-0.752 60.416-47.164c1.919-1.479 3.143-3.778 3.143-6.362 0-3.766-2.598-6.924-6.1-7.782l-0.055-0.011-176.369-43.189c-0.561-0.139-1.206-0.219-1.869-0.219-4.408 0-7.99 3.533-8.070 7.922l-0 0.007-0.723 181.73c0 6.746 7.77 10.541 12.951 6.325l56.621-44.273c77.865 99.043 197.68 162.070 332.215 162.070 229.957 0 416.905-184.138 421.442-413.008l0.007-0.424c0.003-0.086 0.005-0.187 0.005-0.289 0-3.307-2.019-6.143-4.892-7.341l-0.053-0.019c-0.901-0.381-1.949-0.602-3.048-0.602-0.009 0-0.017 0-0.026 0l0.001-0z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_running"],"colorPermutations":{"1141141141731241731":[{}],"201201207124624724817277851":[{}]}},"attrs":[{}],"properties":{"order":46,"id":21,"name":"lk_running","prevSize":32,"code":59671},"setIdx":0,"setId":2,"iconIdx":32},{"icon":{"paths":["M146.286 914.286h-73.143v-804.571h73.143zM950.857 329.143h-731.429v-219.429h731.429zM804.571 621.714h-585.143v-219.429h585.143zM950.857 914.322h-731.429v-219.429h731.429z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_align_horizontal"],"colorPermutations":{"1141141141731241731":[{}],"201201207124624724817277851":[{}]}},"attrs":[{}],"properties":{"order":23,"id":20,"name":"lk_align_horizontal","prevSize":32,"code":59648},"setIdx":0,"setId":2,"iconIdx":33},{"icon":{"paths":["M914.286 877.714v73.143h-804.571v-73.143zM329.143 73.143v731.429h-219.429v-731.429zM621.714 219.429v585.509h-219.429v-585.509zM914.286 73.143v731.429h-219.429v-731.429z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_align_vertical"],"colorPermutations":{"1141141141731241731":[{}],"201201207124624724817277851":[{}]}},"attrs":[{}],"properties":{"order":24,"id":19,"name":"lk_align_vertical","prevSize":32,"code":59649},"setIdx":0,"setId":2,"iconIdx":34},{"icon":{"paths":["M563.8 512l262.5-312.9c4.4-5.2 0.7-13.1-6.1-13.1h-79.8c-4.7 0-9.2 2.1-12.3 5.7l-216.5 258.1-216.5-258.1c-3-3.6-7.5-5.7-12.3-5.7h-79.8c-6.8 0-10.5 7.9-6.1 13.1l262.5 312.9-262.5 312.9c-4.4 5.2-0.7 13.1 6.1 13.1h79.8c4.7 0 9.2-2.1 12.3-5.7l216.5-258.1 216.5 258.1c3 3.6 7.5 5.7 12.3 5.7h79.8c6.8 0 10.5-7.9 6.1-13.1l-262.5-312.9z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_close_x"],"colorPermutations":{"1141141141731241731":[{}],"201201207124624724817277851":[{}]}},"attrs":[{}],"properties":{"order":25,"id":18,"name":"lk_close_x","prevSize":32,"code":59650},"setIdx":0,"setId":2,"iconIdx":35},{"icon":{"paths":["M994.763 91.741l-62.057-62.057c-18.325-18.314-43.634-29.64-71.589-29.64s-53.264 11.326-71.59 29.641l-144.073 144.073-69.542-69.67-137.804 137.868 57.386 57.322-393.26 393.324c-24.361 24.322-40.077 57.297-42.143 93.921l-0.017 0.379-22.903 22.839c-22.723 22.715-36.778 54.099-36.778 88.767 0 69.319 56.194 125.512 125.512 125.512 34.651 0 66.023-14.042 88.735-36.746l-0 0 22.903-22.967c37.012-1.982 70.012-17.695 94.295-42.091l0.005-0.005 393.26-393.26 57.386 57.322 137.74-137.676-69.606-69.67 144.074-143.946c18.367-18.324 29.731-43.662 29.731-71.653s-11.363-53.329-29.729-71.651l-0.002-0.002zM268.188 858.557c-9.913 9.927-23.615 16.068-38.752 16.068-8.713 0-16.951-2.035-24.264-5.655l0.32 0.143-54.507 54.444c-6.338 5.969-14.901 9.638-24.321 9.638-19.61 0-35.507-15.897-35.507-35.507 0-9.404 3.656-17.954 9.624-24.307l-0.017 0.019 54.38-54.571c-3.464-6.982-5.491-15.205-5.491-23.902 0-15.158 6.158-28.878 16.11-38.793l0.002-0.002 393.26-393.26 102.361 102.489-393.196 393.196z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_color_eyedropper_tool"],"colorPermutations":{"1141141141731241731":[{}],"201201207124624724817277851":[{}]}},"attrs":[{}],"properties":{"order":26,"id":17,"name":"lk_color_eyedropper_tool","prevSize":32,"code":59651},"setIdx":0,"setId":2,"iconIdx":36},{"icon":{"paths":["M877.158 639.386s-70.246 97.28-70.246 137.421c0 40.141 31.539 72.499 70.451 72.499s70.246-32.563 70.246-72.704c-0.205-39.731-70.451-137.216-70.451-137.216zM852.378 536.166l-352.87-364.339c-0.819-0.819-1.638-1.638-2.662-2.458l-105.472-108.954c-12.083-12.288-31.539-12.288-43.418 0-12.083 12.288-12.083 32.563 0 44.851l79.053 81.51-338.534 349.389c-15.974 16.589-15.974 43.213 0 59.802l353.075 364.544c7.987 8.192 18.432 12.288 28.877 12.288s20.89-4.096 28.877-12.288l353.075-364.544c15.974-16.384 15.974-43.213 0-59.802zM587.776 353.075l165.478 170.598h-565.658l282.624-291.84 117.555 121.242z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_color_fill"],"colorPermutations":{"1141141141731241731":[{}],"201201207124624724817277851":[{}]}},"attrs":[{}],"properties":{"order":27,"id":16,"name":"lk_color_fill","prevSize":32,"code":59652},"setIdx":0,"setId":2,"iconIdx":37},{"icon":{"paths":["M792.832 485.856c-12.512-12.544-32.8-12.48-45.248-0.032l-203.584 203.168v-560.992c0-17.664-14.336-32-32-32s-32 14.336-32 32v563.040l-234.048-235.456c-12.48-12.576-32.704-12.64-45.248-0.128-12.544 12.448-12.608 32.704-0.128 45.248l287.52 289.248c3.168 3.2 6.88 5.536 10.816 7.136 4 1.792 8.384 2.912 13.088 2.912 11.296 0 20.704-6.176 26.4-14.976l254.368-253.952c12.544-12.448 12.544-32.704 0.064-45.216z","M864 928h-704c-17.664 0-32-14.304-32-32s14.336-32 32-32h704c17.696 0 32 14.304 32 32s-14.304 32-32 32z"],"attrs":[{},{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_down"],"colorPermutations":{"1141141141731241731":[{},{}],"201201207124624724817277851":[{},{}]}},"attrs":[{},{}],"properties":{"order":28,"id":15,"name":"lk_down","prevSize":32,"code":59653},"setIdx":0,"setId":2,"iconIdx":38},{"icon":{"paths":["M682.667 0c0.001-0 0.002-0 0.004-0 9.802 0 18.833 3.306 26.037 8.863l-0.099-0.074 4.267 3.712 207.061 207.061c10.127 10.128 16.875 23.634 18.41 38.683l0.022 0.271 0.299 6.315v332.501c-0.027 23.544-19.119 42.619-42.667 42.619-21.788 0-39.762-16.332-42.347-37.421l-0.021-0.206-0.299-4.992v-323.669l-188.373-188.331h-494.293v853.333h341.333c21.803 0.003 39.784 16.359 42.348 37.47l0.020 0.205 0.299 4.992c-0.003 21.803-16.359 39.784-37.47 42.348l-0.205 0.020-4.992 0.299h-362.667c-33.181-0.002-60.464-25.254-63.68-57.59l-0.021-0.266-0.299-6.144v-896c0.002-33.181 25.254-60.464 57.59-63.68l0.266-0.021 6.144-0.299h533.333z","M640 0c21.803 0.003 39.784 16.359 42.348 37.47l0.020 0.205 0.299 4.992v213.333h213.333c21.803 0.003 39.784 16.359 42.348 37.47l0.020 0.205 0.299 4.992c-0.003 21.803-16.359 39.784-37.47 42.348l-0.205 0.020-4.992 0.299h-234.667c-33.181-0.002-60.464-25.254-63.68-57.59l-0.021-0.266-0.299-6.144v-234.667c0-23.564 19.103-42.667 42.667-42.667v0zM951.168 695.168c7.716-7.691 18.362-12.446 30.119-12.446 23.564 0 42.667 19.103 42.667 42.667 0 9.874-3.354 18.964-8.985 26.194l0.072-0.096-3.541 4.011-240.896 240.939c-11.583 11.591-27.59 18.761-45.271 18.761-15.375 0-29.483-5.421-40.518-14.456l0.114 0.090-4.864-4.395-112.896-112.939c-7.691-7.716-12.446-18.362-12.446-30.119 0-23.564 19.103-42.667 42.667-42.667 9.874 0 18.964 3.354 26.194 8.985l-0.096-0.072 4.011 3.541 97.835 97.792 225.835-225.792z","M341.333 341.333h128q42.667 0 42.667 42.667v0q0 42.667-42.667 42.667h-128q-42.667 0-42.667-42.667v0q0-42.667 42.667-42.667z","M341.333 512h341.333q42.667 0 42.667 42.667v0q0 42.667-42.667 42.667h-341.333q-42.667 0-42.667-42.667v0q0-42.667 42.667-42.667z","M341.333 682.667h128q42.667 0 42.667 42.667v0q0 42.667-42.667 42.667h-128q-42.667 0-42.667-42.667v0q0-42.667 42.667-42.667z"],"attrs":[{},{},{},{},{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_file_template"],"colorPermutations":{"1141141141731241731":[{},{},{},{},{}],"201201207124624724817277851":[{},{},{},{},{}]}},"attrs":[{},{},{},{},{}],"properties":{"order":29,"id":14,"name":"lk_file_template","prevSize":32,"code":59654},"setIdx":0,"setId":2,"iconIdx":39},{"icon":{"paths":["M517.292 1023.395c6.424 0.385 13.937 0.604 21.5 0.604 90.201 0 173.113-31.206 238.53-83.411l-0.77 0.593c58.416-51.248 95.095-126.048 95.095-209.415 0-4.236-0.095-8.45-0.282-12.64l0.021 0.596c0.069-2.107 0.108-4.584 0.108-7.071 0-61.379-23.975-117.159-63.071-158.485l0.101 0.107c-42.717-43.621-100.156-72.677-164.265-79.117l-1.123-0.091v-2.885c54.371-15.469 100.409-45.592 135.035-85.818l0.304-0.361c33.38-38.018 53.745-88.18 53.745-143.098 0-0.991-0.007-1.981-0.020-2.969l0.002 0.15c0.104-2.448 0.164-5.32 0.164-8.206 0-68.946-33.968-129.959-86.082-167.216l-0.623-0.423c-62.586-40.262-139-64.185-221.002-64.185-8.935 0-17.804 0.284-26.598 0.844l1.201-0.061h-348.084v1022.558h366.114zM436.702 182.031q194.776 0 194.776 111.421c0.045 1.166 0.070 2.534 0.070 3.909 0 37.706-19.227 70.921-48.412 90.376l-0.397 0.249c-34.366 21.421-76.091 34.121-120.782 34.121-4.444 0-8.86-0.126-13.242-0.373l0.608 0.027h-117.551v-239.729h104.99zM456.834 602.713c4.131-0.264 8.957-0.414 13.818-0.414 42.434 0 82.195 11.444 116.365 31.414l-1.094-0.591c27.575 17.492 45.613 47.857 45.613 82.435 0 1.19-0.021 2.375-0.064 3.555l0.005-0.171c0.044 1.137 0.069 2.471 0.069 3.811 0 35.923-17.99 67.645-45.453 86.646l-0.35 0.229c-32.469 20.732-72.057 33.044-114.521 33.044-4.322 0-8.614-0.128-12.872-0.379l0.587 0.028h-127.226v-239.428h125.183z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_font_bold"],"colorPermutations":{"1141141141731241731":[{}],"201201207124624724817277851":[{}]}},"attrs":[{}],"properties":{"order":30,"id":13,"name":"lk_font_bold","prevSize":32,"code":59655},"setIdx":0,"setId":2,"iconIdx":40},{"icon":{"paths":["M413 637.5c-81.9 4.6-118.8-10.2-110.6-44.4 0-13.7 6.8-35.3 20.5-64.9 13.6-27.3 23.1-47.8 28.6-61.5h245.8c38.2 72.9 58.7 119.5 61.5 140 8.2 25.1-20.5 35.3-86 30.7v30.7h295v-30.7c-57.4 6.8-97-20.5-118.8-81.9l-229.4-491.6h-36.9l-213 481.4c-19.1 66-62.8 96.8-131.1 92.2v30.7h274.4v-30.7zM470.4 200.5l110.6 228.8h-217.1l106.5-228.8zM872.5 765.3h-728c-10.1 0-18.2 8.1-18.2 18.2v157.8c0 10 8.1 18.2 18.2 18.2h728c10.1 0 18.2-8.2 18.2-18.2v-157.8c0-10-8.2-18.2-18.2-18.2z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_font_color"],"colorPermutations":{"1141141141731241731":[{}],"201201207124624724817277851":[{}]}},"attrs":[{}],"properties":{"order":31,"id":12,"name":"lk_font_color","prevSize":32,"code":59656},"setIdx":0,"setId":2,"iconIdx":41},{"icon":{"paths":["M832 96v64c0 17.673-14.327 32-32 32v0h-125.52l-160 640h93.52c17.673 0 32 14.327 32 32v0 64c0 17.673-14.327 32-32 32v0h-384c-17.673 0-32-14.327-32-32v0-64c0-17.673 14.327-32 32-32v0h125.52l160-640h-93.52c-17.673 0-32-14.327-32-32v0-64c0-17.673 14.327-32 32-32v0h384c17.673 0 32 14.327 32 32v0z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_font_italic"],"colorPermutations":{"1141141141731241731":[{}],"201201207124624724817277851":[{}]}},"attrs":[{}],"properties":{"order":32,"id":11,"name":"lk_font_italic","prevSize":32,"code":59657},"setIdx":0,"setId":2,"iconIdx":42},{"icon":{"paths":["M117.333 341.333c-0-17.673 14.327-32 32-32v0h426.667c17.673 0 32 14.327 32 32s-14.327 32-32 32v0h-426.667c-17.673 0-32-14.327-32-32h0zM768 405.333c-35.346 0-64-28.654-64-64s28.654-64 64-64v0c35.346 0 64 28.654 64 64s-28.654 64-64 64v0zM768 469.333c70.692 0 128-57.308 128-128s-57.308-128-128-128v0c-70.692 0-128 57.308-128 128s57.308 128 128 128v0zM928 682.667c0-17.673-14.327-32-32-32v0h-426.667c-17.673 0-32 14.327-32 32s14.327 32 32 32v0h426.667c17.673 0 32-14.327 32-32v0zM256 746.667c35.346 0 64-28.654 64-64s-28.654-64-64-64v0c-35.346 0-64 28.654-64 64s28.654 64 64 64v0zM256 810.667c-70.692 0-128-57.308-128-128s57.308-128 128-128v0c70.692 0 128 57.308 128 128s-57.308 128-128 128v0z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_icon_config"],"colorPermutations":{"1141141141731241731":[{}],"201201207124624724817277851":[{}]}},"attrs":[{}],"properties":{"order":33,"id":10,"name":"lk_icon_config","prevSize":32,"code":59658},"setIdx":0,"setId":2,"iconIdx":43},{"icon":{"paths":["M1038.494 0c35.446 0 64.276 28.751 64.276 64.276v377.935h-85.622v-356.588h-931.525v824.399h349.184v85.701h-370.53c-35.498 0-64.276-28.777-64.276-64.276v-867.249c0-35.367 28.751-64.197 64.276-64.197zM1043.85 564.775c32.532 0 58.919 26.388 58.919 58.841v310.508c-0 32.54-26.379 58.919-58.919 58.919h-422.912c-32.506-0.045-58.841-26.407-58.841-58.919 0-0 0-0 0-0l-0 0v-310.508c0-32.453 26.388-58.841 58.841-58.841zM1017.068 650.398h-369.27v256.945h369.428v-256.945zM252.455 192.591l128.788 128.709 116.972-116.972v294.439h-294.518l116.815-116.972-128.63-128.551 60.495-60.652z"],"attrs":[{}],"width":1102,"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_minimap"],"colorPermutations":{"1141141141731241731":[{}],"201201207124624724817277851":[{}]}},"attrs":[{}],"properties":{"order":34,"id":9,"name":"lk_minimap","prevSize":32,"code":59659},"setIdx":0,"setId":2,"iconIdx":44},{"icon":{"paths":["M0 64h404.288l107.072 134.4h512.64v761.6h-1024v-896zM82.432 255.552v89.792h282.88l106.56 134.976h471.168v-90.56h-430.4l-108.416-134.208h-321.792z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_open"],"colorPermutations":{"1141141141731241731":[{}],"201201207124624724817277851":[{}]}},"attrs":[{}],"properties":{"order":35,"id":8,"name":"lk_open","prevSize":32,"code":59660},"setIdx":0,"setId":2,"iconIdx":45},{"icon":{"paths":["M853.333 224h-53.333v-53.333c0-40.533-34.133-74.667-74.667-74.667h-554.667c-40.533 0-74.667 34.133-74.667 74.667v554.667c0 40.533 34.133 74.667 74.667 74.667h53.333v53.333c0 40.533 34.133 74.667 74.667 74.667h554.667c40.533 0 74.667-34.133 74.667-74.667v-554.667c0-40.533-34.133-74.667-74.667-74.667zM160 725.333v-554.667c0-6.4 4.267-10.667 10.667-10.667h554.667c6.4 0 10.667 4.267 10.667 10.667v554.667c0 6.4-4.267 10.667-10.667 10.667h-554.667c-6.4 0-10.667-4.267-10.667-10.667zM864 853.333c0 6.4-4.267 10.667-10.667 10.667h-554.667c-6.4 0-10.667-4.267-10.667-10.667v-53.333h437.333c40.533 0 74.667-34.133 74.667-74.667v-437.333h53.333c6.4 0 10.667 4.267 10.667 10.667v554.667z","M576 416h-96v-96c0-17.067-14.933-32-32-32s-32 14.933-32 32v96h-96c-17.067 0-32 14.933-32 32s14.933 32 32 32h96v96c0 17.067 14.933 32 32 32s32-14.933 32-32v-96h96c17.067 0 32-14.933 32-32s-14.933-32-32-32z"],"attrs":[{},{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_plus_copy"],"colorPermutations":{"1141141141731241731":[{},{}],"201201207124624724817277851":[{},{}]}},"attrs":[{},{}],"properties":{"order":36,"id":7,"name":"lk_plus_copy","prevSize":32,"code":59661},"setIdx":0,"setId":2,"iconIdx":46},{"icon":{"paths":["M604.27 507.86l0.14-335.98 0.070-166.020c0-4.3 5.18-6.47 8.24-3.46l353.94 347.4c5.27 5.18 5.3 13.67 0.050 18.87l-354.27 351.36c-3.060 3.030-8.26 0.87-8.26-3.44l0.090-208.73z","M53.94 590.92c8.74-157.92 87.43-274.43 253.54-339.15 87.43-33.66 177.77-46.61 271.030-49.19 13.47 0 21.33-1.67 25.9-5.5l-0.14 298.21c-3.68-2.21-9.17-2.74-17.010-2.74-49.54 2.59-99.090 2.59-148.63 15.54-99.090 23.3-177.77 72.49-206.91 168.28-37.89 126.86 5.83 264.070 148.63 341.74 0 7.77-5.83 5.18-20.4 0-5.83 0-8.74-2.59-11.66-2.59-171.59-60.5-289.71-215.96-294.92-388.2v-23.43c0.12-4.32 0.3-8.64 0.57-12.97z"],"attrs":[{},{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_recover"],"colorPermutations":{"1141141141731241731":[{},{}],"201201207124624724817277851":[{},{}]}},"attrs":[{},{}],"properties":{"order":37,"id":6,"name":"lk_recover","prevSize":32,"code":59662},"setIdx":0,"setId":2,"iconIdx":47},{"icon":{"paths":["M798.293 0.001h-712.959c-47.128-0-85.333 38.205-85.333 85.333l0 0v853.333c-0 47.128 38.205 85.333 85.333 85.333l0 0h853.333c47.128-0 85.333-38.205 85.333-85.333v0-712.959c0-0.073 0.001-0.16 0.001-0.247 0-11.721-4.726-22.338-12.377-30.049l0.003 0.003-183.040-183.040c-7.709-7.648-18.326-12.374-30.047-12.374-0.087 0-0.173 0-0.26 0.001l0.013-0zM213.333 76.801h597.333v179.2c0 23.564-19.103 42.667-42.667 42.667v0h-512c-23.564 0-42.667-19.103-42.667-42.667v0zM875.519 947.2h-725.333v-409.6c0-23.564 19.103-42.667 42.667-42.667v0h639.999c23.564 0 42.667 19.103 42.667 42.667v0z","M633.599 125.867h76.8v131.84h-76.8z"],"attrs":[{},{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_save"],"colorPermutations":{"1141141141731241731":[{},{}],"201201207124624724817277851":[{},{}]}},"attrs":[{},{}],"properties":{"order":38,"id":5,"name":"lk_save","prevSize":32,"code":59663},"setIdx":0,"setId":2,"iconIdx":48},{"icon":{"paths":["M512 1024c-282.77 0-512-229.23-512-512s229.23-512 512-512v0c282.77 0 512 229.23 512 512s-229.23 512-512 512v0zM466.347 752.555c10.198 9.577 23.962 15.461 39.101 15.461 0.474 0 0.946-0.006 1.417-0.017l-0.070 0.001c0.289 0.005 0.631 0.007 0.973 0.007 15.608 0 29.913-5.58 41.028-14.853l-0.102 0.083c10.147-9.37 16.48-22.742 16.48-37.592 0-0.374-0.004-0.747-0.012-1.119l0.001 0.056c0.003-0.215 0.005-0.47 0.005-0.725 0-14.743-6.337-28.005-16.435-37.213l-0.040-0.036c-10.533-9.198-24.407-14.807-39.59-14.807-0.812 0-1.62 0.016-2.424 0.048l0.116-0.004c-0.691-0.030-1.502-0.048-2.317-0.048-14.717 0-28.119 5.627-38.172 14.848l0.042-0.038c-10.524 8.594-17.19 21.57-17.19 36.102 0 0.658 0.014 1.313 0.041 1.964l-0.003-0.093c0 15.872 5.717 28.587 17.152 37.973zM638.464 293.376c-29.44-24.832-68.864-37.291-118.187-37.291-54.869 0-98.56 14.763-130.987 44.288-32.427 29.099-48.555 69.888-48.555 122.368h85.248c0-30.464 6.229-53.675 18.688-69.632 14.933-18.773 38.4-28.16 70.315-28.16 25.941 0 45.909 6.571 59.904 19.712 12.972 13.427 20.965 31.736 20.965 51.912 0 1.040-0.021 2.075-0.063 3.105l0.005-0.148c-0.309 19.363-7.95 36.883-20.259 49.958l0.035-0.038-8.96 9.813c-48.896 40.789-78.080 70.571-87.552 89.344-9.984 18.261-14.933 41.216-14.933 68.864v9.899h86.016v-9.899c0-16.811 3.755-32.341 11.264-46.336 7.424-13.653 17.408-25.088 29.952-34.475 34.901-28.587 56.32-47.104 64.256-55.552 18.517-22.955 27.733-51.797 27.733-86.528 0-43.093-14.933-76.885-44.885-101.205z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_tips"],"colorPermutations":{"1141141141731241731":[{}],"201201207124624724817277851":[{}]}},"attrs":[{}],"properties":{"order":39,"id":4,"name":"lk_tips","prevSize":32,"code":59664},"setIdx":0,"setId":2,"iconIdx":49},{"icon":{"paths":["M213.333 640h-85.333v170.667c0 46.933 38.4 85.333 85.333 85.333h170.667v-85.333h-170.667v-170.667zM213.333 213.333h170.667v-85.333h-170.667c-46.933 0-85.333 38.4-85.333 85.333v170.667h85.333v-170.667zM810.667 128h-170.667v85.333h170.667v170.667h85.333v-170.667c0-46.933-38.4-85.333-85.333-85.333zM810.667 810.667h-170.667v85.333h170.667c46.933 0 85.333-38.4 85.333-85.333v-170.667h-85.333v170.667zM512 384c-70.827 0-128 57.173-128 128s57.173 128 128 128 128-57.173 128-128-57.173-128-128-128z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_to_center"],"colorPermutations":{"1141141141731241731":[{}],"201201207124624724817277851":[{}]}},"attrs":[{}],"properties":{"order":40,"id":3,"name":"lk_to_center","prevSize":32,"code":59665},"setIdx":0,"setId":2,"iconIdx":50},{"icon":{"paths":["M761.856 1024c113.728-206.048 132.896-520.32-313.856-509.824v253.824l-384-384 384-384v248.384c534.976-13.952 594.56 472.224 313.856 775.616z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_undo"],"colorPermutations":{"1141141141731241731":[{}],"201201207124624724817277851":[{}]}},"attrs":[{}],"properties":{"order":41,"id":2,"name":"lk_undo","prevSize":32,"code":59666},"setIdx":0,"setId":2,"iconIdx":51},{"icon":{"paths":["M637 443h-118v-134c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v134h-118c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h118v134c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8v-134h118c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zM921 867l-146-146c122.1-148.9 113.6-369.5-26-509-148-148.1-388.4-148.1-537 0-148.1 148.6-148.1 389 0 537 139.5 139.6 360.1 148.1 509 26l146 146c3.2 2.8 8.3 2.8 11 0l43-43c2.8-2.7 2.8-7.8 0-11zM696 696c-118.8 118.7-311.2 118.7-430 0-118.7-118.8-118.7-311.2 0-430 118.8-118.7 311.2-118.7 430 0 118.7 118.8 118.7 311.2 0 430z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_zoom_in"],"colorPermutations":{"1141141141731241731":[{}],"201201207124624724817277851":[{}]}},"attrs":[{}],"properties":{"order":42,"id":1,"name":"lk_zoom_in","prevSize":32,"code":59667},"setIdx":0,"setId":2,"iconIdx":52},{"icon":{"paths":["M637 443h-312c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h312c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zM921 867l-146-146c122.1-148.9 113.6-369.5-26-509-148-148.1-388.4-148.1-537 0-148.1 148.6-148.1 389 0 537 139.5 139.6 360.1 148.1 509 26l146 146c3.2 2.8 8.3 2.8 11 0l43-43c2.8-2.7 2.8-7.8 0-11zM696 696c-118.8 118.7-311.2 118.7-430 0-118.7-118.8-118.7-311.2 0-430 118.8-118.7 311.2-118.7 430 0 118.7 118.8 118.7 311.2 0 430z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["lk_zoom_out"],"colorPermutations":{"1141141141731241731":[{}],"201201207124624724817277851":[{}]}},"attrs":[{}],"properties":{"order":43,"id":0,"name":"lk_zoom_out","prevSize":32,"code":59668},"setIdx":0,"setId":2,"iconIdx":53}],"height":1024,"metadata":{"name":"icomoon"},"preferences":{"showGlyphs":true,"showQuickUse":true,"showQuickUse2":true,"showSVGs":true,"fontPref":{"prefix":"icon-","metadata":{"fontFamily":"icomoon"},"metrics":{"emSize":1024,"baseline":6.25,"whitespace":50},"embed":false},"imagePref":{"prefix":"icon-","png":true,"useClassSelector":true,"color":0,"bgColor":16777215,"classSelector":".icon","name":"icomoon"},"historySize":50,"showCodes":true,"gridSize":16}} \ No newline at end of file diff --git a/hangtag-ui/hangtag-ui-front/src/components/DraftDesign/icons/fonts/style.css b/hangtag-ui/hangtag-ui-front/src/components/DraftDesign/icons/fonts/style.css deleted file mode 100644 index 0b34734..0000000 --- a/hangtag-ui/hangtag-ui-front/src/components/DraftDesign/icons/fonts/style.css +++ /dev/null @@ -1,189 +0,0 @@ -@font-face { - font-family: 'icomoon'; - src: url('fonts/icomoon.eot?7w83vl'); - src: url('fonts/icomoon.eot?7w83vl#iefix') format('embedded-opentype'), - url('fonts/icomoon.ttf?7w83vl') format('truetype'), - url('fonts/icomoon.woff?7w83vl') format('woff'), - url('fonts/icomoon.svg?7w83vl#icomoon') format('svg'); - font-weight: normal; - font-style: normal; - font-display: block; -} - -[class^="icon-"], [class*=" icon-"] { - /* use !important to prevent issues with browser extensions that change fonts */ - font-family: 'icomoon' !important; - speak: never; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; - - /* Better Font Rendering =========== */ - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.icon-lk_lozenge:before { - content: "\e935"; -} -.icon-lk_set_size:before { - content: "\e933"; -} -.icon-lk_right_arrow:before { - content: "\e934"; -} -.icon-lk_right_triangle:before { - content: "\e932"; -} -.icon-lk_ellipse:before { - content: "\e92f"; -} -.icon-lk_rect:before { - content: "\e931"; -} -.icon-lk_triangle:before { - content: "\e92c"; -} -.icon-lk_five_pointed:before { - content: "\e92e"; -} -.icon-lk_circle:before { - content: "\e930"; -} -.icon-lk_angular:before { - content: "\e92b"; -} -.icon-lk_shape_stroke:before { - content: "\e92a"; -} -.icon-lk_color_palette:before { - content: "\e92d"; -} -.icon-lk_font_size:before { - content: "\e929"; -} -.icon-lk_align_icon:before { - content: "\e928"; -} -.icon-lk_align_h_center:before { - content: "\e925"; -} -.icon-lk_align_bottom:before { - content: "\e926"; -} -.icon-lk_align_top:before { - content: "\e927"; -} -.icon-lk_align_right:before { - content: "\e922"; -} -.icon-lk_align_center:before { - content: "\e923"; -} -.icon-lk_align_left:before { - content: "\e924"; -} -.icon-lk_shape_set:before { - content: "\e921"; -} -.icon-lk_layer_set:before { - content: "\e920"; -} -.icon-lk_border_angle:before { - content: "\e91f"; -} -.icon-lk_line:before { - content: "\e91e"; -} -.icon-lk_text:before { - content: "\e91d"; -} -.icon-lk_warning_tips:before { - content: "\e91c"; -} -.icon-lk_data_output:before { - content: "\e919"; -} -.icon-lk_data_input:before { - content: "\e91a"; -} -.icon-lk_start:before { - content: "\e91b"; -} -.icon-lk_step_flow:before { - content: "\e918"; -} -.icon-lk_success:before { - content: "\e915"; -} -.icon-lk_failed:before { - content: "\e916"; -} -.icon-lk_running:before { - content: "\e917"; -} -.icon-lk_align_horizontal:before { - content: "\e900"; -} -.icon-lk_align_vertical:before { - content: "\e901"; -} -.icon-lk_close_x:before { - content: "\e902"; -} -.icon-lk_color_eyedropper_tool:before { - content: "\e903"; -} -.icon-lk_color_fill:before { - content: "\e904"; -} -.icon-lk_down:before { - content: "\e905"; -} -.icon-lk_file_template:before { - content: "\e906"; -} -.icon-lk_font_bold:before { - content: "\e907"; -} -.icon-lk_font_color:before { - content: "\e908"; -} -.icon-lk_font_italic:before { - content: "\e909"; -} -.icon-lk_icon_config:before { - content: "\e90a"; -} -.icon-lk_minimap:before { - content: "\e90b"; -} -.icon-lk_open:before { - content: "\e90c"; -} -.icon-lk_plus_copy:before { - content: "\e90d"; -} -.icon-lk_recover:before { - content: "\e90e"; -} -.icon-lk_save:before { - content: "\e90f"; -} -.icon-lk_tips:before { - content: "\e910"; -} -.icon-lk_to_center:before { - content: "\e911"; -} -.icon-lk_undo:before { - content: "\e912"; -} -.icon-lk_zoom_in:before { - content: "\e913"; -} -.icon-lk_zoom_out:before { - content: "\e914"; -} diff --git a/hangtag-ui/hangtag-ui-front/src/components/DraftDesign/index.vue b/hangtag-ui/hangtag-ui-front/src/components/DraftDesign/index.vue index c0f5594..3b46a23 100644 --- a/hangtag-ui/hangtag-ui-front/src/components/DraftDesign/index.vue +++ b/hangtag-ui/hangtag-ui-front/src/components/DraftDesign/index.vue @@ -170,7 +170,7 @@ const regNode = () => { } } // @ts-nocheck -const emit = defineEmits(["save"]) +const emit = defineEmits(["save",'initSucceed']) const {t} = useI18n() // 国际化 let graph: Graph = null let history = null @@ -248,7 +248,6 @@ const rightKeyMenu = computed(() => { if (cells.length === 0) { useMessage().warning(`没有选中元素`) } - console.log(that.pageConfig.propList) for (let i = 0; i < cells.length; i++) { const cellInfo = cells[i]; removeGroup(cellInfo.data.propGroupId) @@ -410,7 +409,6 @@ const rightKeyMenu = computed(() => { }); const clearData = () => { - console.log("clearData", graph) if (graph) { graph.fromJSON({}) graph.dispose() @@ -652,7 +650,6 @@ const init = (isDesignMode: boolean, bgConfig: any, data = {}, propDataInfo = {} addDrawRuler() draftDesignLayoutRef.value.updateZoom(graph.zoom()); }) - console.log("init", data) // 默认数据 graph.fromJSON({...data}) // 渲染元素 @@ -682,7 +679,10 @@ const init = (isDesignMode: boolean, bgConfig: any, data = {}, propDataInfo = {} svg.style.zIndex = 10 } logInfo('初始完成') - + emit('initSucceed', graph); + return new Promise((resolve)=>{ + resolve(graph) + }) } // initEnd const toPngUrl = (callback: (url: string) => void, options?: { @@ -1113,6 +1113,7 @@ const getJson = () => { propDefault[prop.groupId] = { groupName: prop.groupName, groupType: prop.groupType, + multiLanguage: prop.multiLanguage, isCombo: combo, minSize: min, maxSize: max, @@ -1311,6 +1312,7 @@ const handlerGroupList = (cells, isCombo = false, min, max) => { let groupId = `g${nextId()}_${getRandomHashColor()}` let groupName = '' let groupType = '1' + let multiLanguage = true; let type = cells[0].shape for (let i = 0; i < cells.length; i++) { const cellInfo = cells[i]; @@ -1320,7 +1322,7 @@ const handlerGroupList = (cells, isCombo = false, min, max) => { continue; } groupName = `${cellData.label}` - + console.log("cellData",cellData) let href = ''; let label = ''; if (cellData.propGroupId) { @@ -1330,6 +1332,9 @@ const handlerGroupList = (cells, isCombo = false, min, max) => { if (cellData.propGroupName) { groupName = cellData.propGroupName } + if (cellData.multiLanguage === false) { + multiLanguage = false + } if (isCombo) { groupType = '2' // 洗涤说明 groupName = groupName ? groupName : '洗涤说明1' @@ -1357,12 +1362,19 @@ const handlerGroupList = (cells, isCombo = false, min, max) => { propGroupId: groupId, propGroupType: groupType, propGroupName: groupName, + multiLanguage: multiLanguage, }, shape: cellInfo.shape, } } + // 清除后缀 label = `${label}`.split(".")[0] + let l = "zh-CN" + console.log("cellData",cellData) + if(cellData.locale){ + l = cellData.locale + } tmpPoint.push({ ...cellInfo.position(), angle: cellInfo.angle(), @@ -1373,7 +1385,9 @@ const handlerGroupList = (cells, isCombo = false, min, max) => { url: href, ratio: 0, label: label, - showLabel: label + showLabel: label, + //记录到选项中 + locale: l, } }) } @@ -1392,6 +1406,7 @@ const handlerGroupList = (cells, isCombo = false, min, max) => { groupId: groupId, groupName: groupName, groupType: groupType, + multiLanguage: multiLanguage, isCombo: isCombo, // 配对组合 第一个为文本 第二为图标 minSize: min, maxSize: max, @@ -1441,14 +1456,24 @@ const submitProp = (data) => { const info = data.pointList[i]; const groupId = data.groupId; const groupName = data.groupName; + const groupType = data.groupType; if (info.cellId) { const byId = graph.getCellById(info.cellId); if (byId) { data.cellIds.push(info.cellId); - markGroup(byId, groupId, groupName) + byId.setData({ + _$id: new Date().getTime(), // 刷新数据 + ...byId.getData, + propGroupId: groupId, + propGroupName: groupName, + propGroupType: groupType, + multiLanguage: data.multiLanguage, + locale: info.dataInfo.locale + }) continue; } } + // 新增节点 const id = 'id_' + nextId() const shape = data.shape @@ -1480,6 +1505,11 @@ const submitProp = (data) => { id, label: '', ...data.data, + locale: info.dataInfo.locale, + propGroupId: groupId, + propGroupName: groupName, + propGroupType: groupType, + multiLanguage: data.multiLanguage, parent: that.pageConfig?.autoSetNodeGroup || false } } diff --git a/hangtag-ui/hangtag-ui-front/src/components/DraftDesign/utils/Dpi.ts b/hangtag-ui/hangtag-ui-front/src/components/DraftDesign/utils/Dpi.ts index df314c8..14303e4 100644 --- a/hangtag-ui/hangtag-ui-front/src/components/DraftDesign/utils/Dpi.ts +++ b/hangtag-ui/hangtag-ui-front/src/components/DraftDesign/utils/Dpi.ts @@ -1,6 +1,4 @@ // 获取设备像素比 -import * as FileApi from "@/api/infra/file"; -import {replaceDomain} from "@/utils"; const dppx = window.devicePixelRatio || (window.matchMedia && window.matchMedia("(min-resolution: 2dppx), (-webkit-min-device-pixel-ratio: 1.5),(-moz-min-device-pixel-ratio: 1.5),(min-device-pixel-ratio: 1.5)").matches ? 2 : 1) || @@ -39,6 +37,11 @@ export function calcDpiFromSize( screenSize=16,opt = 'd'){ const tmpImage = {} export function convertImageToBase64(url:string) { return new Promise(async (resolve)=>{ + if(url.indexOf('data:') !== -1){ + console.log('缓存') + resolve(url); + return; + } if(tmpImage[url]){ resolve(tmpImage[url]); console.log('缓存') @@ -54,7 +57,6 @@ export function convertImageToBase64(url:string) { resolve(url); } }) - } diff --git a/hangtag-ui/hangtag-ui-front/src/components/Form/src/Form.vue b/hangtag-ui/hangtag-ui-front/src/components/Form/src/Form.vue index 838bd1c..dd34826 100644 --- a/hangtag-ui/hangtag-ui-front/src/components/Form/src/Form.vue +++ b/hangtag-ui/hangtag-ui-front/src/components/Form/src/Form.vue @@ -182,7 +182,6 @@ export default defineComponent({ const slotsMap: Recordable = { ...setItemComponentSlots(slots, item?.componentProps?.slots, item.field) } - console.log("@@@@@@@item",item) if ( item?.component !== 'SelectV2' && item?.component !== 'Cascader' && diff --git a/hangtag-ui/hangtag-ui-front/src/components/ProductInfoList/DataForm.vue b/hangtag-ui/hangtag-ui-front/src/components/ProductInfoList/DataForm.vue new file mode 100644 index 0000000..8d42ce3 --- /dev/null +++ b/hangtag-ui/hangtag-ui-front/src/components/ProductInfoList/DataForm.vue @@ -0,0 +1,70 @@ + + diff --git a/hangtag-ui/hangtag-ui-front/src/components/ProductInfoList/config.data.ts b/hangtag-ui/hangtag-ui-front/src/components/ProductInfoList/config.data.ts new file mode 100644 index 0000000..e509b8e --- /dev/null +++ b/hangtag-ui/hangtag-ui-front/src/components/ProductInfoList/config.data.ts @@ -0,0 +1,48 @@ +import type { CrudSchema } from '@/hooks/web/useCrudSchemas' +import { dateFormatter } from '@/utils/formatTime' + +// 表单校验 +export const rules = reactive({ + name: [required], +}) + +// CrudSchema https://doc.iocoder.cn/vue3/crud-schema/ +const crudSchemas = reactive([ + { + label: 'id', + field: 'id', + isForm: false, + }, + { + label: '产品编码', + field: 'code', + isSearch: true, + }, + { + label: '产品类型', + field: 'productTypeId', + isSearch: true, + }, + { + label: '封面', + field: 'cover', + isSearch: false, + }, + { + label: '产品名称', + field: 'name', + isSearch: true, + }, + + { + label: '备注', + field: 'remark', + isSearch: false, + }, + { + label: '详情描述', + field: 'details', + isSearch: false, + } +]) +export const { allSchemas } = useCrudSchemas(crudSchemas) diff --git a/hangtag-ui/hangtag-ui-front/src/components/ProductInfoList/index.vue b/hangtag-ui/hangtag-ui-front/src/components/ProductInfoList/index.vue new file mode 100644 index 0000000..50d550b --- /dev/null +++ b/hangtag-ui/hangtag-ui-front/src/components/ProductInfoList/index.vue @@ -0,0 +1,273 @@ + + + + + diff --git a/hangtag-ui/hangtag-ui-front/src/components/Search/src/Search.vue b/hangtag-ui/hangtag-ui-front/src/components/Search/src/Search.vue index 3218a63..e8d4538 100644 --- a/hangtag-ui/hangtag-ui-front/src/components/Search/src/Search.vue +++ b/hangtag-ui/hangtag-ui-front/src/components/Search/src/Search.vue @@ -47,7 +47,7 @@ const visible = ref(true) const newSchema = computed(() => { let schema: FormSchema[] = cloneDeep(props.schema) if (props.expand && props.expandField && !unref(visible)) { - const index = findIndex(schema, (v: FormSchema) => v.field === props.expandField) + const index = findIndex(schema, (v: FormSchema) => props.expandField.indexOf(v.field) === -1) if (index > -1) { const length = schema.length schema.splice(index + 1, length) @@ -97,6 +97,10 @@ const setVisible = () => { unref(elFormRef)?.resetFields() visible.value = !unref(visible) } +defineExpose({ + reset, + search +}) -
- + + + + +
+ + +
{{ badge }}
+
+ + + +
+ +
+ + + +
+ + + + + + +
+ +
+
+ +
+ {{ getSizeInfo }} +
+
+ +
+ {{ formData.specInfo.specSizeThk }} +
+
+ +
+ {{ formData.specInfo.specMaterial }} +
+
+ +
+ {{ formData.specInfo.mainColor }} +
+
+ + +
+ {{ + getValue(propInfoList[tmp.key]) + }} +
+
+ +
+
+
+ + + + + diff --git a/hangtag-ui/hangtag-ui-front/src/views/oms/order/createorder/components/OrderAddProductStep/ProductList.vue b/hangtag-ui/hangtag-ui-front/src/views/oms/order/createorder/components/OrderAddProductStep/ProductList.vue new file mode 100644 index 0000000..fa3c234 --- /dev/null +++ b/hangtag-ui/hangtag-ui-front/src/views/oms/order/createorder/components/OrderAddProductStep/ProductList.vue @@ -0,0 +1,159 @@ + + + + + diff --git a/hangtag-ui/hangtag-ui-front/src/views/oms/order/createorder/components/OrderAddProductStep/ProductSkuList.vue b/hangtag-ui/hangtag-ui-front/src/views/oms/order/createorder/components/OrderAddProductStep/ProductSkuList.vue new file mode 100644 index 0000000..471a5b0 --- /dev/null +++ b/hangtag-ui/hangtag-ui-front/src/views/oms/order/createorder/components/OrderAddProductStep/ProductSkuList.vue @@ -0,0 +1,102 @@ + + + + + diff --git a/hangtag-ui/hangtag-ui-front/src/views/oms/order/createorder/components/OrderAddProductStep/index.vue b/hangtag-ui/hangtag-ui-front/src/views/oms/order/createorder/components/OrderAddProductStep/index.vue new file mode 100644 index 0000000..0a25366 --- /dev/null +++ b/hangtag-ui/hangtag-ui-front/src/views/oms/order/createorder/components/OrderAddProductStep/index.vue @@ -0,0 +1,77 @@ + + + + + diff --git a/hangtag-ui/hangtag-ui-front/src/views/oms/order/createorder/index.vue b/hangtag-ui/hangtag-ui-front/src/views/oms/order/createorder/index.vue index ae93e5e..e7fbdb5 100644 --- a/hangtag-ui/hangtag-ui-front/src/views/oms/order/createorder/index.vue +++ b/hangtag-ui/hangtag-ui-front/src/views/oms/order/createorder/index.vue @@ -9,27 +9,31 @@ label-width="150px" >
- - + + - + - + - + @@ -48,12 +52,12 @@ - + - + @@ -85,12 +89,12 @@ - + - + @@ -99,12 +103,12 @@ - + - + @@ -112,12 +116,12 @@ - + - + @@ -125,119 +129,126 @@ - + - - - - - - - - - - -
- 增加 - 删除 -
-
-
- - - - -
- -
    -
  • - {{ item }} -
  • -
-
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
@@ -245,68 +256,10 @@ - - -
- - - - - - - - - - 新增 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
+ + +
@@ -316,10 +269,20 @@ - + - 上一步 - 下一步 + 上一步 + + + 创建 + + 下一步 + +
@@ -334,6 +297,7 @@ import * as BrandApi from "@/api/oms/brand"; import {CustomerApi, getCustomer} from "@/api/oms/customer"; import Demo03CourseList from "@/views/oms/order/createorder/components/Demo03CourseList.vue"; import Demo03StudentForm from "@/views/oms/order/createorder/Demo03StudentForm.vue"; +import OrderAddProductStep from "./components/OrderAddProductStep/index.vue"; // 计算当前时间之后指定天数的日期 const calculateDateAfterDays = (days) => { @@ -366,8 +330,7 @@ const getList = async () => { } } - - +const stepRef = ref(null); const formRef = ref() // 表单 Ref const selectedIndex = ref(-1) const stepIndex = ref(0) @@ -391,14 +354,15 @@ const formData = ref({ newEmail: '', newEmails: [], bizdate: new Date().toISOString(), - plansenddate: calculateDateAfterDays(7) + plansenddate: calculateDateAfterDays(7), + saleOrderEntry: [], }) const formRules = reactive({ - name: [{ required: true, message: '名称不能为空', trigger: 'blur' }], - contacts: [{ required: true, message: '联系人不能为空', trigger: 'blur' }], - brandId: [{ required: true, message: '品牌不能为空', trigger: 'blur' }], - phone: [{ required: true, message: '联系人手机号不能为空', trigger: 'blur' }, + name: [{required: true, message: '名称不能为空', trigger: 'blur'}], + contacts: [{required: true, message: '联系人不能为空', trigger: 'blur'}], + brandId: [{required: true, message: '品牌不能为空', trigger: 'blur'}], + phone: [{required: true, message: '联系人手机号不能为空', trigger: 'blur'}, { pattern: /^(?:(?:\+|00)86)?1(?:3[\d]|4[5-79]|5[0-35-9]|6[5-7]|7[0-8]|8[\d]|9[189])\d{8}$/, message: '请输入正确的手机号码', @@ -415,7 +379,6 @@ const formRules = reactive({ }) - const onAddEmail = () => { debugger; if (formData.value.newEmail.trim() !== '') { @@ -424,16 +387,16 @@ const onAddEmail = () => { } } -const selectItem = async (index:number) => { +const selectItem = async (index: number) => { selectedIndex.value = index; } const onDelEmail = () => { - if(selectedIndex.value>=0){ + if (selectedIndex.value >= 0) { debugger; formData.value.newEmails.splice(selectedIndex.value, 1); // 从数组中移除指定索引的元素 // 如果删除的是选中项,则清空选中项 - if(selectedIndex.value === selectedIndex.value) { + if (selectedIndex.value === selectedIndex.value) { selectedIndex.value = -1; } } @@ -452,12 +415,23 @@ const getCustomer = async () => { } } const backStep = async () => { - stepIndex.value = stepIndex.value-1; + stepIndex.value = stepIndex.value - 1; } const nextStep = async () => { - stepIndex.value = stepIndex.value+1; + stepIndex.value = stepIndex.value + 1; } +const addNewBill = ()=>{ + console.log("stepRef.value.getTableData()",stepRef.value.getTableData()) + // todo 校验 + + formData.value.saleOrderEntry = stepRef.value.getTableData() + console.log("提交",formData.value) +} + +const hasLastIndex = computed(()=>{ + return stepIndex.value >= 1; +}) /** 初始化 **/ const brandList = ref([]) // 品牌列表 @@ -465,9 +439,12 @@ onMounted(async () => { // 获取品牌列表 brandList.value = await BrandApi.getSimpleBrandList() customerData.value = await CustomerApi.getCustomer() - formData.value.customerId = customerData.value.id; - formData.value.username = customerData.value.name; - formData.value.company = customerData.value.company; + if (customerData.value) { + formData.value.customerId = customerData.value.id; + formData.value.username = customerData.value.name; + formData.value.company = customerData.value.company; + } + }) diff --git a/hangtag-ui/hangtag-ui-front/src/views/oms/productinfo/ProductInfoForm.vue b/hangtag-ui/hangtag-ui-front/src/views/oms/productinfo/ProductInfoForm.vue index 3cde564..92a533d 100644 --- a/hangtag-ui/hangtag-ui-front/src/views/oms/productinfo/ProductInfoForm.vue +++ b/hangtag-ui/hangtag-ui-front/src/views/oms/productinfo/ProductInfoForm.vue @@ -12,121 +12,228 @@ label-width="100px" v-loading="formLoading" > - - - + + + + + -
- - 手动输入 +
+ + 手动输入 +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ 添加 + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+
- - - - - - + + + +
+ 添加工艺 + 重置序号 + +
+ + + + + + + + + - - - - - - - - - - - - + + + + + + + - - - - -
- 添加 - -
- - - - - - - - - - - - - - - - - - - + +
+
- -
- - - - - - - - - - - - + - - - - - - + + + + + + + + + + + + +
diff --git a/hangtag-ui/hangtag-ui-front/src/views/oms/productinfo/index.vue b/hangtag-ui/hangtag-ui-front/src/views/oms/productinfo/index.vue index 82867b1..19e53d0 100644 --- a/hangtag-ui/hangtag-ui-front/src/views/oms/productinfo/index.vue +++ b/hangtag-ui/hangtag-ui-front/src/views/oms/productinfo/index.vue @@ -36,13 +36,14 @@ />
- + + + + @@ -52,7 +53,8 @@ clearable class="!w-240px" > - + + @@ -126,10 +128,15 @@ - - + + + + - { const previewDraftDesign = (id) => { designPreviewDialogRef.value.previewByProductId(id) } +const that = reactive({ + productTypeOptions: [], +}) +const init = async () => { + ProductTypeApi.getProductTypePage({ + pageNo: 1, + pageSize: 100 + }).then(r => { + that.productTypeOptions = r.list.map(item => { + return { + label: item.label, + value: item.id + } + }) + }) +} /** 初始化 **/ onMounted(() => { - getList() + getList(); + init(); }) diff --git a/sql/mysql/20241006/调整设计模板字段,新增产品工艺表.sql b/sql/mysql/20241006/调整设计模板字段,新增产品工艺表.sql new file mode 100644 index 0000000..8196289 --- /dev/null +++ b/sql/mysql/20241006/调整设计模板字段,新增产品工艺表.sql @@ -0,0 +1,22 @@ +ALTER TABLE oms_product_info ADD COLUMN `summary` VARCHAR(512) DEFAULT NULL COMMENT '简述'; + +ALTER TABLE oms_product_info ADD COLUMN `spec_size_width` DECIMAL(32,2) DEFAULT NULL COMMENT '规格尺寸宽度'; +ALTER TABLE oms_product_info ADD COLUMN `spec_size_height` DECIMAL(32,2) DEFAULT NULL COMMENT '规格尺寸宽度'; +ALTER TABLE oms_product_info ADD COLUMN `spec_size_thk` DECIMAL(32,2) DEFAULT NULL COMMENT '规格尺寸宽度'; +ALTER TABLE oms_product_info ADD COLUMN `spec_material` VARCHAR(512) DEFAULT NULL COMMENT '材质说明'; +-- 产品工艺 +DROP TABLE IF EXISTS oms_product_process; +CREATE TABLE oms_product_process( + id BIGINT(19) NOT NULL AUTO_INCREMENT COMMENT 'id' , + name VARCHAR(64) COMMENT '名称' , + remark VARCHAR(512) COMMENT '说明' , + step INT COMMENT '工序' , + product_info_id BIGINT COMMENT '产品id oms_product_info' , + creator VARCHAR(64) COMMENT '创建者' , + create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间' , + updater VARCHAR(64) COMMENT '更新者' , + update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间' , + deleted BIT(1) NOT NULL DEFAULT 0 COMMENT '是否删除' , + tenant_id BIGINT(19) NOT NULL COMMENT '租户编号' , + PRIMARY KEY (id) +) COMMENT = '产品工艺 '; \ No newline at end of file