2 커밋 eac81d9e89 ... 275a337465

작성자 SHA1 메시지 날짜
  wangming 275a337465 Merge branch 'master' of http://114.115.215.112:3000/chengpan/yuncai-scm 2 년 전
  wangming ae8f50b68d 1:供应商添加,商品等 2 년 전
35개의 변경된 파일3673개의 추가작업 그리고 575개의 파일을 삭제
  1. 20 0
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/demo/domain/PrductionReqVo.java
  2. 66 0
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/demo/domain/ProReqVo.java
  3. 127 0
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/scm/AfterSaleInfoController.java
  4. 129 0
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/scm/ProductInfoController.java
  5. 47 0
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/scm/SupplierInfoController.java
  6. 126 0
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/scm/ZSproducController.java
  7. 3 0
      ruoyi-admin/src/main/resources/application-dev.yml
  8. 85 0
      ruoyi-admin/src/main/resources/templates/scm/aftersale/add.html
  9. 158 0
      ruoyi-admin/src/main/resources/templates/scm/aftersale/aftersale.html
  10. 80 0
      ruoyi-admin/src/main/resources/templates/scm/aftersale/edit.html
  11. 193 0
      ruoyi-admin/src/main/resources/templates/scm/production/add.html
  12. 188 0
      ruoyi-admin/src/main/resources/templates/scm/production/edit.html
  13. 298 0
      ruoyi-admin/src/main/resources/templates/scm/production/production.html
  14. 125 104
      ruoyi-admin/src/main/resources/templates/scm/supplier/add.html
  15. 61 0
      ruoyi-admin/src/main/resources/templates/scm/supplier/approve.html
  16. 103 88
      ruoyi-admin/src/main/resources/templates/scm/supplier/edit.html
  17. 287 295
      ruoyi-admin/src/main/resources/templates/scm/supplier/supplier.html
  18. 4 0
      ruoyi-common/src/main/java/com/ruoyi/common/core/domain/BaseEntity.java
  19. 12 0
      ruoyi-common/src/main/java/com/ruoyi/common/utils/uuid/UUID.java
  20. 1 0
      ruoyi-framework/src/main/java/com/ruoyi/framework/config/ShiroConfig.java
  21. 149 0
      ruoyi-system/src/main/java/com/ruoyi/scm/domain/AfterSaleInfo.java
  22. 432 0
      ruoyi-system/src/main/java/com/ruoyi/scm/domain/ProductInfo.java
  23. 119 28
      ruoyi-system/src/main/java/com/ruoyi/scm/domain/SupplierInfo.java
  24. 63 0
      ruoyi-system/src/main/java/com/ruoyi/scm/mapper/AfterSaleInfoMapper.java
  25. 61 0
      ruoyi-system/src/main/java/com/ruoyi/scm/mapper/ProductInfoMapper.java
  26. 5 1
      ruoyi-system/src/main/java/com/ruoyi/scm/mapper/SupplierInfoMapper.java
  27. 63 0
      ruoyi-system/src/main/java/com/ruoyi/scm/service/IAfterSaleInfoService.java
  28. 61 0
      ruoyi-system/src/main/java/com/ruoyi/scm/service/IProductInfoService.java
  29. 15 1
      ruoyi-system/src/main/java/com/ruoyi/scm/service/ISupplierInfoService.java
  30. 96 0
      ruoyi-system/src/main/java/com/ruoyi/scm/service/impl/AfterSaleInfoServiceImpl.java
  31. 94 0
      ruoyi-system/src/main/java/com/ruoyi/scm/service/impl/ProductInfoServiceImpl.java
  32. 66 1
      ruoyi-system/src/main/java/com/ruoyi/scm/service/impl/SupplierInfoServiceImpl.java
  33. 94 0
      ruoyi-system/src/main/resources/mapper/scm/AfterSaleInfoMapper.xml
  34. 184 0
      ruoyi-system/src/main/resources/mapper/scm/ProductInfoMapper.xml
  35. 58 57
      ruoyi-system/src/main/resources/mapper/scm/SupplierInfoMapper.xml

+ 20 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/demo/domain/PrductionReqVo.java

@@ -0,0 +1,20 @@
+package com.ruoyi.web.controller.demo.domain;
+
+import lombok.Data;
+
+/**
+ * @Author : wangming
+ * @CreateTime : 2022-10-13
+ * @Desc : TODO
+ */
+@Data
+public class PrductionReqVo {
+
+    //token
+    private String token;
+    //平台供应商标识
+    private String supplierCode;
+    //商品信息
+    private ProReqVo product;
+
+}

+ 66 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/demo/domain/ProReqVo.java

@@ -0,0 +1,66 @@
+package com.ruoyi.web.controller.demo.domain;
+
+import com.ruoyi.scm.domain.AfterSaleInfo;
+import lombok.Data;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Author : wangming
+ * @CreateTime : 2022-10-13
+ * @Desc : TODO
+ */
+@Data
+public class ProReqVo {
+
+    //供应商商品SPU编码
+    private String thirdSpuId;
+    //商品所属的三级类目名称
+    private String categoryName;
+    //商品名称
+    private String skuName;
+    //商品品牌
+    private String brandName;
+    //商品产地
+    private String productArea;
+    //商品详情描述
+    private String introduction;
+    //售后服务信息(此字段信息会在商品详情页面——售后服务sheet页中展示
+    private AfterSaleInfo afterSaleInfo;
+    //销售价格
+    private long sellPrice;
+    //市场价
+    private long marketPrice;
+    //是否节能,默认false
+    private boolean isEnergySav;
+    //是否环保,默认false
+    private boolean isEnvironmental;
+    //商品税率,如:0.13
+    private double taxRate;
+    //商品主图
+    private String primaryImage;
+    //商品附图:多张图片间用英文逗号分隔,最少一张图片,最多9张
+    private String otherImage;
+    //销售单位Id(对应查询销售单位接口返回的categoryUnitId)
+    private long saleUnit;
+    //重量
+    private long weight;
+    //重量单位(1代表g,2代表kg),当重量传入时,该值必传
+    private Integer weightUnit;
+    //包装尺寸:长(mm)
+    private Integer length;
+    //包装尺寸:宽(mm)
+    private Integer width;
+    //包装尺寸:高(mm)
+    private Integer height;
+    //产品型号
+    private String prdModel;
+    //商品的包装清单 (此字段信息会在商品详情页面——包装清单sheet页中展示)
+    //数据格式:数据线*1``充电器*2
+    private String packinglist;
+    //销售属性,格式:
+    private List<Map<String, String>> saleAttributes;
+    //商品条形码,UPC码
+    private String modelCode;
+}

+ 127 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/scm/AfterSaleInfoController.java

@@ -0,0 +1,127 @@
+package com.ruoyi.web.controller.scm;
+
+import java.util.List;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.scm.domain.AfterSaleInfo;
+import com.ruoyi.scm.service.IAfterSaleInfoService;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 售后信息Controller
+ * 
+ * @author ruoyi
+ * @date 2022-10-13
+ */
+@Controller
+@RequestMapping("/scm/aftersale")
+public class AfterSaleInfoController extends BaseController
+{
+    private String prefix = "scm/aftersale";
+
+    @Autowired
+    private IAfterSaleInfoService afterSaleInfoService;
+
+    @RequiresPermissions("scm:aftersale:view")
+    @GetMapping()
+    public String aftersale()
+    {
+        return prefix + "/aftersale";
+    }
+
+    /**
+     * 查询售后信息列表
+     */
+    @RequiresPermissions("scm:aftersale:list")
+    @PostMapping("/list")
+    @ResponseBody
+    public TableDataInfo list(AfterSaleInfo afterSaleInfo)
+    {
+        startPage();
+        List<AfterSaleInfo> list = afterSaleInfoService.selectAfterSaleInfoList(afterSaleInfo);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出售后信息列表
+     */
+    @RequiresPermissions("scm:aftersale:export")
+    @Log(title = "售后信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    @ResponseBody
+    public AjaxResult export(AfterSaleInfo afterSaleInfo)
+    {
+        List<AfterSaleInfo> list = afterSaleInfoService.selectAfterSaleInfoList(afterSaleInfo);
+        ExcelUtil<AfterSaleInfo> util = new ExcelUtil<AfterSaleInfo>(AfterSaleInfo.class);
+        return util.exportExcel(list, "售后信息数据");
+    }
+
+    /**
+     * 新增售后信息
+     */
+    @GetMapping("/add")
+    public String add()
+    {
+        return prefix + "/add";
+    }
+
+    /**
+     * 新增保存售后信息
+     */
+    @RequiresPermissions("scm:aftersale:add")
+    @Log(title = "售后信息", businessType = BusinessType.INSERT)
+    @PostMapping("/add")
+    @ResponseBody
+    public AjaxResult addSave(AfterSaleInfo afterSaleInfo)
+    {
+        return toAjax(afterSaleInfoService.insertAfterSaleInfo(afterSaleInfo));
+    }
+
+    /**
+     * 修改售后信息
+     */
+    @RequiresPermissions("scm:aftersale:edit")
+    @GetMapping("/edit/{id}")
+    public String edit(@PathVariable("id") String id, ModelMap mmap)
+    {
+        AfterSaleInfo afterSaleInfo = afterSaleInfoService.selectAfterSaleInfoById(id);
+        mmap.put("afterSaleInfo", afterSaleInfo);
+        return prefix + "/edit";
+    }
+
+    /**
+     * 修改保存售后信息
+     */
+    @RequiresPermissions("scm:aftersale:edit")
+    @Log(title = "售后信息", businessType = BusinessType.UPDATE)
+    @PostMapping("/edit")
+    @ResponseBody
+    public AjaxResult editSave(AfterSaleInfo afterSaleInfo)
+    {
+        return toAjax(afterSaleInfoService.updateAfterSaleInfo(afterSaleInfo));
+    }
+
+    /**
+     * 删除售后信息
+     */
+    @RequiresPermissions("scm:aftersale:remove")
+    @Log(title = "售后信息", businessType = BusinessType.DELETE)
+    @PostMapping( "/remove")
+    @ResponseBody
+    public AjaxResult remove(String ids)
+    {
+        return toAjax(afterSaleInfoService.deleteAfterSaleInfoByIds(ids));
+    }
+}

+ 129 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/scm/ProductInfoController.java

@@ -0,0 +1,129 @@
+package com.ruoyi.web.controller.scm;
+
+import java.util.List;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.*;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.scm.domain.ProductInfo;
+import com.ruoyi.scm.service.IProductInfoService;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 商品Controller
+ * 
+ * @author ruoyi
+ * @date 2022-10-13
+ */
+@Controller
+@RequestMapping("/scm/production")
+@Slf4j
+public class ProductInfoController extends BaseController
+{
+    private String prefix = "scm/production";
+
+    @Autowired
+    private IProductInfoService productInfoService;
+
+    @RequiresPermissions("scm:production:view")
+    @GetMapping()
+    public String production()
+    {
+        return prefix + "/production";
+    }
+
+
+
+
+
+    /**
+     * 查询商品列表
+     */
+    @RequiresPermissions("scm:production:list")
+    @PostMapping("/list")
+    @ResponseBody
+    public TableDataInfo list(ProductInfo productInfo)
+    {
+        startPage();
+        List<ProductInfo> list = productInfoService.selectProductInfoList(productInfo);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出商品列表
+     */
+    @RequiresPermissions("scm:production:export")
+    @Log(title = "商品", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    @ResponseBody
+    public AjaxResult export(ProductInfo productInfo)
+    {
+        List<ProductInfo> list = productInfoService.selectProductInfoList(productInfo);
+        ExcelUtil<ProductInfo> util = new ExcelUtil<ProductInfo>(ProductInfo.class);
+        return util.exportExcel(list, "商品数据");
+    }
+
+    /**
+     * 新增商品
+     */
+    @GetMapping("/add")
+    public String add()
+    {
+        return prefix + "/add";
+    }
+
+    /**
+     * 新增保存商品
+     */
+    @RequiresPermissions("scm:production:add")
+    @Log(title = "商品", businessType = BusinessType.INSERT)
+    @PostMapping("/add")
+    @ResponseBody
+    public AjaxResult addSave(ProductInfo productInfo)
+    {
+        return toAjax(productInfoService.insertProductInfo(productInfo));
+    }
+
+    /**
+     * 修改商品
+     */
+    @RequiresPermissions("scm:production:edit")
+    @GetMapping("/edit/{id}")
+    public String edit(@PathVariable("id") String id, ModelMap mmap)
+    {
+        ProductInfo productInfo = productInfoService.selectProductInfoById(id);
+        mmap.put("productInfo", productInfo);
+        return prefix + "/edit";
+    }
+
+    /**
+     * 修改保存商品
+     */
+    @RequiresPermissions("scm:production:edit")
+    @Log(title = "商品", businessType = BusinessType.UPDATE)
+    @PostMapping("/edit")
+    @ResponseBody
+    public AjaxResult editSave(ProductInfo productInfo)
+    {
+        return toAjax(productInfoService.updateProductInfo(productInfo));
+    }
+
+    /**
+     * 删除商品
+     */
+    @RequiresPermissions("scm:production:remove")
+    @Log(title = "商品", businessType = BusinessType.DELETE)
+    @PostMapping( "/remove")
+    @ResponseBody
+    public AjaxResult remove(String ids)
+    {
+        return toAjax(productInfoService.deleteProductInfoByIds(ids));
+    }
+}

+ 47 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/scm/SupplierInfoController.java

@@ -1,10 +1,16 @@
 package com.ruoyi.web.controller.scm;
 
 import java.util.List;
+import java.util.Map;
+
+import com.alibaba.druid.util.StringUtils;
+import com.ruoyi.common.utils.uuid.UUID;
+import com.ruoyi.opt.domain.ProcessInfo;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.ModelMap;
+import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -41,6 +47,32 @@ public class SupplierInfoController extends BaseController
         return prefix + "/supplier";
     }
 
+    /**
+    * @desc : 审核接口
+    * @author : wangming
+    * @createTime : 2022/10/12 17:12
+    * @param :
+    * @return :
+    */
+    @RequiresPermissions("scm:supplier:list")
+    @PostMapping("/check")
+    @ResponseBody
+    public AjaxResult supplierCheck(SupplierInfo supplierInfo){
+        Map<String, Object> stringObjectMap = supplierInfoService.supplierCheck(supplierInfo);
+        if (CollectionUtils.isEmpty(stringObjectMap)){
+            return AjaxResult.error("未知异常");
+        }
+        String resultCode = stringObjectMap.get("resultCode").toString();
+
+        if ("00".equals(resultCode)){
+            return AjaxResult.success();
+        } else {
+            return AjaxResult.error(stringObjectMap.get("resultMsg").toString());
+        }
+    }
+
+
+
     /**
      * 查询供应商列表
      */
@@ -86,9 +118,24 @@ public class SupplierInfoController extends BaseController
     @ResponseBody
     public AjaxResult addSave(SupplierInfo supplierInfo)
     {
+        String s = UUID.randomUUID().toString().replaceAll("-", "");
+        supplierInfo.setId(s);
+        supplierInfo.setStatus("0");
         return toAjax(supplierInfoService.insertSupplierInfo(supplierInfo));
     }
 
+    /**
+     * 审核保函订单
+     */
+    @RequiresPermissions("scm:supplier:approve")
+    @GetMapping("/approve/{id}")
+    public String approve(@PathVariable("id") String id, ModelMap mmap)
+    {
+        SupplierInfo supplierInfo = supplierInfoService.selectSupplierInfoById(id);
+        mmap.put("supplierInfo", supplierInfo);
+        return prefix + "/approve";
+    }
+
     /**
      * 修改供应商
      */

+ 126 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/scm/ZSproducController.java

@@ -0,0 +1,126 @@
+package com.ruoyi.web.controller.scm;
+
+import com.alibaba.druid.util.StringUtils;
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.utils.uuid.UUID;
+import com.ruoyi.scm.domain.AfterSaleInfo;
+import com.ruoyi.scm.domain.ProductInfo;
+import com.ruoyi.scm.domain.SupplierInfo;
+import com.ruoyi.scm.service.IAfterSaleInfoService;
+import com.ruoyi.scm.service.IProductInfoService;
+import com.ruoyi.scm.service.ISupplierInfoService;
+import com.ruoyi.web.controller.demo.domain.PrductionReqVo;
+import com.ruoyi.web.controller.demo.domain.ProReqVo;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Author : wangming
+ * @CreateTime : 2022-10-13
+ * @Desc : TODO
+ */
+@Controller
+@RequestMapping("/pro/operation")
+@Slf4j
+public class ZSproducController {
+
+    @Autowired
+    private IProductInfoService productInfoService;
+
+    @Autowired
+    private IAfterSaleInfoService afterSaleInfoService;
+
+    @Autowired
+    private ISupplierInfoService supplierInfoService;
+
+    /**
+     * @desc : 商品入库接口
+     * @author : wangming
+     * @createTime : 2022/10/13 14:01
+     * @param :
+     * @return :
+     */
+    @PostMapping("/saveProduction")
+    @ResponseBody
+    public AjaxResult saveProduction(@RequestBody PrductionReqVo prductionReqVo){
+        log.info("商品入库参数" + prductionReqVo);
+        //校验token
+        //校验参数,现阶段先不校验
+        ProductInfo productInfo = new ProductInfo();
+
+        ProReqVo product = prductionReqVo.getProduct();
+        productInfo.setSupplierId(prductionReqVo.getSupplierCode());
+        productInfo = paddingProductionInfo(product, productInfo);
+        productInfoService.insertProductInfo(productInfo);
+        //在组装售后服务信息
+//        AfterSaleInfo afterSaleInfo = product.getAfterSaleInfo();
+//        afterSaleInfoService.insertAfterSaleInfo(afterSaleInfo);
+        return AjaxResult.success();
+
+    }
+
+    /**
+    * @desc : 商品属性转移
+    * @author : wangming
+    * @createTime : 2022/10/13 15:41
+    * @param :
+    * @return :
+    */
+    private ProductInfo paddingProductionInfo(ProReqVo product, ProductInfo productInfo){
+
+        LambdaQueryWrapper<SupplierInfo> queryWrapper = new QueryWrapper<SupplierInfo>().lambda();
+        queryWrapper.eq(SupplierInfo::getSupplierCode, productInfo.getSupplierId());
+        SupplierInfo supplierInfo = supplierInfoService.getOne(queryWrapper);
+//        SupplierInfo supplierInfo = supplierInfoService.selectSupplierInfoById(productInfo.getSupplierId());
+
+        BeanUtils.copyProperties(product, productInfo);
+        productInfo.setId(UUID.randomUUID().toString().replaceAll("-", ""));
+        List<Map<String, String>> saleAttributes = product.getSaleAttributes();
+        productInfo.setSaleAttributes(JSON.toJSONString(saleAttributes).toString());
+        productInfo.setSupplierName(supplierInfo.getSupplierName());
+        productInfo.setSellPrice(StringUtils.isEmpty(product.getSellPrice() + "") ? "" : String.valueOf(product.getSellPrice()));
+        productInfo.setMarketPrice(StringUtils.isEmpty(product.getMarketPrice() + "") ? "" : String.valueOf(product.getMarketPrice()));
+        if (product.isEnergySav()){
+            productInfo.setIsEnergySav("1");
+        } else {
+            productInfo.setIsEnergySav("0");
+        }
+        if (product.isEnvironmental()){
+            productInfo.setIsEnvironmental("1");
+        } else {
+            productInfo.setIsEnvironmental("0");
+        }
+        productInfo.setTaxRate(StringUtils.isEmpty(product.getTaxRate()+"") ? "" : String.valueOf(product.getTaxRate()));
+        productInfo.setSaleUnit(StringUtils.isEmpty(product.getSaleUnit()+"") ? "" : String.valueOf(product.getSaleUnit()));
+        productInfo.setWeight(StringUtils.isEmpty(product.getWeight()+"") ? "" : String.valueOf(product.getWeight()));
+        productInfo.setWeightUnit(StringUtils.isEmpty(product.getWeightUnit()+"") ? "" : String.valueOf(product.getWeightUnit()));
+        productInfo.setLength(StringUtils.isEmpty(product.getLength()+"") ? "" : String.valueOf(product.getLength()));
+        productInfo.setWidth(StringUtils.isEmpty(product.getWidth()+"") ? "" : String.valueOf(product.getWidth()));
+        productInfo.setHeight(StringUtils.isEmpty(product.getHeight()+"") ? "" : String.valueOf(product.getHeight()));
+        productInfo.setModelCode(StringUtils.isEmpty(product.getModelCode()+"") ? "" : String.valueOf(product.getModelCode()));
+        return productInfo;
+    }
+
+    /**
+    * @desc : 售后属性转移
+    * @author : wangming
+    * @createTime : 2022/10/13 16:04
+    * @param :
+    * @return :
+    */
+    private AfterSaleInfo paddingAfterSaleInfo(){
+        return null;
+    }
+}

+ 3 - 0
ruoyi-admin/src/main/resources/application-dev.yml

@@ -221,3 +221,6 @@ templateUrl: https://www2.laikuaidian.cn/fdd/extsign.do?processId=
 
 #电子发票接口
 invoiceUrl: /guaranteeJSONCtrl/JSONFPInfoInterface.do
+
+#中盛url:
+zsIp: http://jinmamall.com.cn:80/esupplySysNewz/ynService/supplier!apply.do

+ 85 - 0
ruoyi-admin/src/main/resources/templates/scm/aftersale/add.html

@@ -0,0 +1,85 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('新增售后信息')" />
+</head>
+<body class="white-bg">
+    <div class="wrapper wrapper-content animated fadeInRight ibox-content">
+        <form class="form-horizontal m" id="form-aftersale-add">
+            <div class="form-group">    
+                <label class="col-sm-3 control-label is-required">主键id:</label>
+                <div class="col-sm-8">
+                    <input name="id" class="form-control" type="text" required>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label is-required">商品id:</label>
+                <div class="col-sm-8">
+                    <input name="productId" class="form-control" type="text" required>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label is-required">退货类型:</label>
+                <div class="col-sm-8">
+                    <select name="refundService" class="form-control m-b" th:with="type=${@dict.getType('refund_service')}" required>
+                        <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
+                    </select>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">退货时长:</label>
+                <div class="col-sm-8">
+                    <input name="refundDuration" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label is-required">换货类型:</label>
+                <div class="col-sm-8">
+                    <select name="changeService" class="form-control m-b" th:with="type=${@dict.getType('change_service')}" required>
+                        <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
+                    </select>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">换货时长:</label>
+                <div class="col-sm-8">
+                    <input name="changeDuration" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label is-required">质保期限 (单位:月):</label>
+                <div class="col-sm-8">
+                    <input name="repaireDuration" class="form-control" type="text" required>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label is-required">特殊售后说明状态:</label>
+                <div class="col-sm-8">
+                    <select name="specialDescYn" class="form-control m-b" th:with="type=${@dict.getType('special_desc_yn')}" required>
+                        <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
+                    </select>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">特殊售后说明:</label>
+                <div class="col-sm-8">
+                    <input name="specialDesc" class="form-control" type="text">
+                </div>
+            </div>
+        </form>
+    </div>
+    <th:block th:include="include :: footer" />
+    <script th:inline="javascript">
+        var prefix = ctx + "scm/aftersale"
+        $("#form-aftersale-add").validate({
+            focusCleanup: true
+        });
+
+        function submitHandler() {
+            if ($.validate.form()) {
+                $.operate.save(prefix + "/add", $('#form-aftersale-add').serialize());
+            }
+        }
+    </script>
+</body>
+</html>

+ 158 - 0
ruoyi-admin/src/main/resources/templates/scm/aftersale/aftersale.html

@@ -0,0 +1,158 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
+<head>
+    <th:block th:include="include :: header('售后信息列表')" />
+</head>
+<body class="gray-bg">
+     <div class="container-div">
+        <div class="row">
+            <div class="col-sm-12 search-collapse">
+                <form id="formId">
+                    <div class="select-list">
+                        <ul>
+                            <li>
+                                <label>商品id:</label>
+                                <input type="text" name="productId"/>
+                            </li>
+                            <li>
+                                <label>退货类型:</label>
+                                <select name="refundService" th:with="type=${@dict.getType('refund_service')}">
+                                    <option value="">所有</option>
+                                    <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
+                                </select>
+                            </li>
+                            <li>
+                                <label>退货时长:</label>
+                                <input type="text" name="refundDuration"/>
+                            </li>
+                            <li>
+                                <label>换货类型:</label>
+                                <select name="changeService" th:with="type=${@dict.getType('change_service')}">
+                                    <option value="">所有</option>
+                                    <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
+                                </select>
+                            </li>
+                            <li>
+                                <label>换货时长:</label>
+                                <input type="text" name="changeDuration"/>
+                            </li>
+                            <li>
+                                <label>质保期限 (单位:月):</label>
+                                <input type="text" name="repaireDuration"/>
+                            </li>
+                            <li>
+                                <label>特殊售后说明状态:</label>
+                                <select name="specialDescYn" th:with="type=${@dict.getType('special_desc_yn')}">
+                                    <option value="">所有</option>
+                                    <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
+                                </select>
+                            </li>
+                            <li>
+                                <label>特殊售后说明:</label>
+                                <input type="text" name="specialDesc"/>
+                            </li>
+                            <li>
+                                <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
+                                <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
+                            </li>
+                        </ul>
+                    </div>
+                </form>
+            </div>
+
+            <div class="btn-group-sm" id="toolbar" role="group">
+                <a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="scm:aftersale:add">
+                    <i class="fa fa-plus"></i> 添加
+                </a>
+                <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="scm:aftersale:edit">
+                    <i class="fa fa-edit"></i> 修改
+                </a>
+                <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="scm:aftersale:remove">
+                    <i class="fa fa-remove"></i> 删除
+                </a>
+                <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="scm:aftersale:export">
+                    <i class="fa fa-download"></i> 导出
+                </a>
+            </div>
+            <div class="col-sm-12 select-table table-striped">
+                <table id="bootstrap-table"></table>
+            </div>
+        </div>
+    </div>
+    <th:block th:include="include :: footer" />
+    <script th:inline="javascript">
+        var editFlag = [[${@permission.hasPermi('scm:aftersale:edit')}]];
+        var removeFlag = [[${@permission.hasPermi('scm:aftersale:remove')}]];
+        var refundServiceDatas = [[${@dict.getType('refund_service')}]];
+        var changeServiceDatas = [[${@dict.getType('change_service')}]];
+        var specialDescYnDatas = [[${@dict.getType('special_desc_yn')}]];
+        var prefix = ctx + "scm/aftersale";
+
+        $(function() {
+            var options = {
+                url: prefix + "/list",
+                createUrl: prefix + "/add",
+                updateUrl: prefix + "/edit/{id}",
+                removeUrl: prefix + "/remove",
+                exportUrl: prefix + "/export",
+                modalName: "售后信息",
+                columns: [{
+                    checkbox: true
+                },
+                {
+                    field: 'productId',
+                    title: '商品id'
+                },
+                {
+                    field: 'refundService',
+                    title: '退货类型',
+                    formatter: function(value, row, index) {
+                       return $.table.selectDictLabel(refundServiceDatas, value);
+                    }
+                },
+                {
+                    field: 'refundDuration',
+                    title: '退货时长'
+                },
+                {
+                    field: 'changeService',
+                    title: '换货类型',
+                    formatter: function(value, row, index) {
+                       return $.table.selectDictLabel(changeServiceDatas, value);
+                    }
+                },
+                {
+                    field: 'changeDuration',
+                    title: '换货时长'
+                },
+                {
+                    field: 'repaireDuration',
+                    title: '质保期限 (单位:月)'
+                },
+                {
+                    field: 'specialDescYn',
+                    title: '特殊售后说明状态',
+                    formatter: function(value, row, index) {
+                       return $.table.selectDictLabel(specialDescYnDatas, value);
+                    }
+                },
+                {
+                    field: 'specialDesc',
+                    title: '特殊售后说明'
+                },
+                {
+                    title: '操作',
+                    align: 'center',
+                    formatter: function(value, row, index) {
+                        var actions = [];
+                        actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
+                        actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a>');
+                        return actions.join('');
+                    }
+                }]
+            };
+            $.table.init(options);
+        });
+    </script>
+</body>
+</html>

+ 80 - 0
ruoyi-admin/src/main/resources/templates/scm/aftersale/edit.html

@@ -0,0 +1,80 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('修改售后信息')" />
+</head>
+<body class="white-bg">
+    <div class="wrapper wrapper-content animated fadeInRight ibox-content">
+        <form class="form-horizontal m" id="form-aftersale-edit" th:object="${afterSaleInfo}">
+            <input name="id" th:field="*{id}" type="hidden">
+            <div class="form-group">    
+                <label class="col-sm-3 control-label is-required">商品id:</label>
+                <div class="col-sm-8">
+                    <input name="productId" th:field="*{productId}" class="form-control" type="text" required>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label is-required">退货类型:</label>
+                <div class="col-sm-8">
+                    <select name="refundService" class="form-control m-b" th:with="type=${@dict.getType('refund_service')}" required>
+                        <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{refundService}"></option>
+                    </select>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">退货时长:</label>
+                <div class="col-sm-8">
+                    <input name="refundDuration" th:field="*{refundDuration}" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label is-required">换货类型:</label>
+                <div class="col-sm-8">
+                    <select name="changeService" class="form-control m-b" th:with="type=${@dict.getType('change_service')}" required>
+                        <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{changeService}"></option>
+                    </select>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">换货时长:</label>
+                <div class="col-sm-8">
+                    <input name="changeDuration" th:field="*{changeDuration}" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label is-required">质保期限 (单位:月):</label>
+                <div class="col-sm-8">
+                    <input name="repaireDuration" th:field="*{repaireDuration}" class="form-control" type="text" required>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label is-required">特殊售后说明状态:</label>
+                <div class="col-sm-8">
+                    <select name="specialDescYn" class="form-control m-b" th:with="type=${@dict.getType('special_desc_yn')}" required>
+                        <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{specialDescYn}"></option>
+                    </select>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">特殊售后说明:</label>
+                <div class="col-sm-8">
+                    <input name="specialDesc" th:field="*{specialDesc}" class="form-control" type="text">
+                </div>
+            </div>
+        </form>
+    </div>
+    <th:block th:include="include :: footer" />
+    <script th:inline="javascript">
+        var prefix = ctx + "scm/aftersale";
+        $("#form-aftersale-edit").validate({
+            focusCleanup: true
+        });
+
+        function submitHandler() {
+            if ($.validate.form()) {
+                $.operate.save(prefix + "/edit", $('#form-aftersale-edit').serialize());
+            }
+        }
+    </script>
+</body>
+</html>

+ 193 - 0
ruoyi-admin/src/main/resources/templates/scm/production/add.html

@@ -0,0 +1,193 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('新增商品')" />
+</head>
+<body class="white-bg">
+    <div class="wrapper wrapper-content animated fadeInRight ibox-content">
+        <form class="form-horizontal m" id="form-production-add">
+            <div class="form-group">    
+                <label class="col-sm-3 control-label is-required">主键id:</label>
+                <div class="col-sm-8">
+                    <input name="id" class="form-control" type="text" required>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">父id:</label>
+                <div class="col-sm-8">
+                    <input name="parentId" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">供应商id:</label>
+                <div class="col-sm-8">
+                    <input name="supplierId" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">供应商名称:</label>
+                <div class="col-sm-8">
+                    <input name="supplierName" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">供应商商品SPU编码:</label>
+                <div class="col-sm-8">
+                    <input name="thirdSpuId" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">商品名称:</label>
+                <div class="col-sm-8">
+                    <input name="skuName" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">商品品牌:</label>
+                <div class="col-sm-8">
+                    <input name="brandName" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">商品产地:</label>
+                <div class="col-sm-8">
+                    <input name="productArea" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">商品详情描述:</label>
+                <div class="col-sm-8">
+                    <input name="introduction" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">售后服务信息:</label>
+                <div class="col-sm-8">
+                    <input name="afterSaleInfoId" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">销售价格:</label>
+                <div class="col-sm-8">
+                    <input name="sellPrice" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">市场价:</label>
+                <div class="col-sm-8">
+                    <input name="marketPrice" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">是否节能:</label>
+                <div class="col-sm-8">
+                    <select name="isEnergySav" class="form-control m-b" th:with="type=${@dict.getType('is_energy_sav')}">
+                        <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
+                    </select>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">是否环保:</label>
+                <div class="col-sm-8">
+                    <select name="isEnvironmental" class="form-control m-b" th:with="type=${@dict.getType('is_energy_sav')}">
+                        <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
+                    </select>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">商品税率:</label>
+                <div class="col-sm-8">
+                    <input name="taxRate" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">商品主图:</label>
+                <div class="col-sm-8">
+                    <input name="primaryImage" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">
+                <label class="col-sm-3 control-label">商品附图多张图片间用英文逗号分隔,最少一张图片,最多9张:</label>
+                <div class="col-sm-8">
+                    <textarea name="otherImage" class="form-control"></textarea>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">销售单位Id:</label>
+                <div class="col-sm-8">
+                    <input name="saleUnit" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">重量:</label>
+                <div class="col-sm-8">
+                    <input name="weight" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">重量单位:</label>
+                <div class="col-sm-8">
+                    <input name="weightUnit" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">包装尺寸:长(mm):</label>
+                <div class="col-sm-8">
+                    <input name="length" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">包装尺寸:宽(mm):</label>
+                <div class="col-sm-8">
+                    <input name="width" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">包装尺寸:高(mm):</label>
+                <div class="col-sm-8">
+                    <input name="height" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">商品的包装:</label>
+                <div class="col-sm-8">
+                    <input name="prdModel" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">
+                <label class="col-sm-3 control-label">销售属性:</label>
+                <div class="col-sm-8">
+                    <textarea name="saleAttributes" class="form-control"></textarea>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">商品条形码,UPC码:</label>
+                <div class="col-sm-8">
+                    <input name="modelCode" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">上下架情况:</label>
+                <div class="col-sm-8">
+                    <select name="type" class="form-control m-b" th:with="type=${@dict.getType('is_type')}">
+                        <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
+                    </select>
+                </div>
+            </div>
+        </form>
+    </div>
+    <th:block th:include="include :: footer" />
+    <script th:inline="javascript">
+        var prefix = ctx + "scm/production"
+        $("#form-production-add").validate({
+            focusCleanup: true
+        });
+
+        function submitHandler() {
+            if ($.validate.form()) {
+                $.operate.save(prefix + "/add", $('#form-production-add').serialize());
+            }
+        }
+    </script>
+</body>
+</html>

+ 188 - 0
ruoyi-admin/src/main/resources/templates/scm/production/edit.html

@@ -0,0 +1,188 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
+<head>
+    <th:block th:include="include :: header('修改商品')" />
+</head>
+<body class="white-bg">
+    <div class="wrapper wrapper-content animated fadeInRight ibox-content">
+        <form class="form-horizontal m" id="form-production-edit" th:object="${productInfo}">
+            <input name="id" th:field="*{id}" type="hidden">
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">父id:</label>
+                <div class="col-sm-8">
+                    <input name="parentId" th:field="*{parentId}" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">供应商id:</label>
+                <div class="col-sm-8">
+                    <input name="supplierId" th:field="*{supplierId}" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">供应商名称:</label>
+                <div class="col-sm-8">
+                    <input name="supplierName" th:field="*{supplierName}" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">供应商商品SPU编码:</label>
+                <div class="col-sm-8">
+                    <input name="thirdSpuId" th:field="*{thirdSpuId}" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">商品名称:</label>
+                <div class="col-sm-8">
+                    <input name="skuName" th:field="*{skuName}" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">商品品牌:</label>
+                <div class="col-sm-8">
+                    <input name="brandName" th:field="*{brandName}" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">商品产地:</label>
+                <div class="col-sm-8">
+                    <input name="productArea" th:field="*{productArea}" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">商品详情描述:</label>
+                <div class="col-sm-8">
+                    <input name="introduction" th:field="*{introduction}" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">售后服务信息:</label>
+                <div class="col-sm-8">
+                    <input name="afterSaleInfoId" th:field="*{afterSaleInfoId}" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">销售价格:</label>
+                <div class="col-sm-8">
+                    <input name="sellPrice" th:field="*{sellPrice}" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">市场价:</label>
+                <div class="col-sm-8">
+                    <input name="marketPrice" th:field="*{marketPrice}" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">是否节能:</label>
+                <div class="col-sm-8">
+                    <select name="isEnergySav" class="form-control m-b" th:with="type=${@dict.getType('is_energy_sav')}">
+                        <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{isEnergySav}"></option>
+                    </select>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">是否环保:</label>
+                <div class="col-sm-8">
+                    <select name="isEnvironmental" class="form-control m-b" th:with="type=${@dict.getType('is_energy_sav')}">
+                        <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{isEnvironmental}"></option>
+                    </select>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">商品税率:</label>
+                <div class="col-sm-8">
+                    <input name="taxRate" th:field="*{taxRate}" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">商品主图:</label>
+                <div class="col-sm-8">
+                    <input name="primaryImage" th:field="*{primaryImage}" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">
+                <label class="col-sm-3 control-label">商品附图多张图片间用英文逗号分隔,最少一张图片,最多9张:</label>
+                <div class="col-sm-8">
+                    <textarea name="otherImage" class="form-control">[[*{otherImage}]]</textarea>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">销售单位Id:</label>
+                <div class="col-sm-8">
+                    <input name="saleUnit" th:field="*{saleUnit}" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">重量:</label>
+                <div class="col-sm-8">
+                    <input name="weight" th:field="*{weight}" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">重量单位:</label>
+                <div class="col-sm-8">
+                    <input name="weightUnit" th:field="*{weightUnit}" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">包装尺寸:长(mm):</label>
+                <div class="col-sm-8">
+                    <input name="length" th:field="*{length}" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">包装尺寸:宽(mm):</label>
+                <div class="col-sm-8">
+                    <input name="width" th:field="*{width}" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">包装尺寸:高(mm):</label>
+                <div class="col-sm-8">
+                    <input name="height" th:field="*{height}" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">商品的包装:</label>
+                <div class="col-sm-8">
+                    <input name="prdModel" th:field="*{prdModel}" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">
+                <label class="col-sm-3 control-label">销售属性:</label>
+                <div class="col-sm-8">
+                    <textarea name="saleAttributes" class="form-control">[[*{saleAttributes}]]</textarea>
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">商品条形码,UPC码:</label>
+                <div class="col-sm-8">
+                    <input name="modelCode" th:field="*{modelCode}" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">    
+                <label class="col-sm-3 control-label">上下架情况:</label>
+                <div class="col-sm-8">
+                    <select name="type" class="form-control m-b" th:with="type=${@dict.getType('is_type')}">
+                        <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{type}"></option>
+                    </select>
+                </div>
+            </div>
+        </form>
+    </div>
+    <th:block th:include="include :: footer" />
+    <script th:inline="javascript">
+        var prefix = ctx + "scm/production";
+        $("#form-production-edit").validate({
+            focusCleanup: true
+        });
+
+        function submitHandler() {
+            if ($.validate.form()) {
+                $.operate.save(prefix + "/edit", $('#form-production-edit').serialize());
+            }
+        }
+    </script>
+</body>
+</html>

+ 298 - 0
ruoyi-admin/src/main/resources/templates/scm/production/production.html

@@ -0,0 +1,298 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
+<head>
+    <th:block th:include="include :: header('商品列表')" />
+</head>
+<body class="gray-bg">
+     <div class="container-div">
+        <div class="row">
+            <div class="col-sm-12 search-collapse">
+                <form id="formId">
+                    <div class="select-list">
+                        <ul>
+<!--                            <li>-->
+<!--                                <label>父id:</label>-->
+<!--                                <input type="text" name="parentId"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>供应商id:</label>-->
+<!--                                <input type="text" name="supplierId"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>供应商名称:</label>-->
+<!--                                <input type="text" name="supplierName"/>-->
+<!--                            </li>-->
+                            <li>
+                                <label>供应商 </label>
+                                <input type="text" name="supplierName"/>
+                            </li>
+                            <li>
+                                <label>SPU编码 </label>
+                                <input type="text" name="thirdSpuId"/>
+                            </li>
+                            <li>
+                                <label>商品名称 </label>
+                                <input type="text" name="skuName"/>
+                            </li>
+<!--                            <li>-->
+<!--                                <label>商品品牌:</label>-->
+<!--                                <input type="text" name="brandName"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>商品产地:</label>-->
+<!--                                <input type="text" name="productArea"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>商品详情描述:</label>-->
+<!--                                <input type="text" name="introduction"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>售后服务信息:</label>-->
+<!--                                <input type="text" name="afterSaleInfoId"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>销售价格:</label>-->
+<!--                                <input type="text" name="sellPrice"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>市场价:</label>-->
+<!--                                <input type="text" name="marketPrice"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>是否节能:</label>-->
+<!--                                <select name="isEnergySav" th:with="type=${@dict.getType('is_energy_sav')}">-->
+<!--                                    <option value="">所有</option>-->
+<!--                                    <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>-->
+<!--                                </select>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>是否环保:</label>-->
+<!--                                <select name="isEnvironmental" th:with="type=${@dict.getType('is_energy_sav')}">-->
+<!--                                    <option value="">所有</option>-->
+<!--                                    <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>-->
+<!--                                </select>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>商品税率:</label>-->
+<!--                                <input type="text" name="taxRate"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>商品主图:</label>-->
+<!--                                <input type="text" name="primaryImage"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>销售单位Id:</label>-->
+<!--                                <input type="text" name="saleUnit"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>重量:</label>-->
+<!--                                <input type="text" name="weight"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>重量单位:</label>-->
+<!--                                <input type="text" name="weightUnit"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>包装尺寸:长(mm):</label>-->
+<!--                                <input type="text" name="length"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>包装尺寸:宽(mm):</label>-->
+<!--                                <input type="text" name="width"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>包装尺寸:高(mm):</label>-->
+<!--                                <input type="text" name="height"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>商品的包装:</label>-->
+<!--                                <input type="text" name="prdModel"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>商品条形码,UPC码:</label>-->
+<!--                                <input type="text" name="modelCode"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>上下架情况:</label>-->
+<!--                                <select name="type" th:with="type=${@dict.getType('is_type')}">-->
+<!--                                    <option value="">所有</option>-->
+<!--                                    <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>-->
+<!--                                </select>-->
+<!--                            </li>-->
+                            <li>
+                                <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
+                                <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
+                            </li>
+                        </ul>
+                    </div>
+                </form>
+            </div>
+
+            <div class="btn-group-sm" id="toolbar" role="group">
+                <a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="scm:production:add">
+                    <i class="fa fa-plus"></i> 添加
+                </a>
+                <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="scm:production:edit">
+                    <i class="fa fa-edit"></i> 修改
+                </a>
+                <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="scm:production:remove">
+                    <i class="fa fa-remove"></i> 删除
+                </a>
+                <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="scm:production:export">
+                    <i class="fa fa-download"></i> 导出
+                </a>
+            </div>
+            <div class="col-sm-12 select-table table-striped">
+                <table id="bootstrap-table"></table>
+            </div>
+        </div>
+    </div>
+    <th:block th:include="include :: footer" />
+    <script th:inline="javascript">
+        var editFlag = [[${@permission.hasPermi('scm:production:edit')}]];
+        var removeFlag = [[${@permission.hasPermi('scm:production:remove')}]];
+        var isEnergySavDatas = [[${@dict.getType('is_energy_sav')}]];
+        var isEnvironmentalDatas = [[${@dict.getType('is_energy_sav')}]];
+        var typeDatas = [[${@dict.getType('is_type')}]];
+        var prefix = ctx + "scm/production";
+
+        $(function() {
+            var options = {
+                url: prefix + "/list",
+                createUrl: prefix + "/add",
+                updateUrl: prefix + "/edit/{id}",
+                removeUrl: prefix + "/remove",
+                exportUrl: prefix + "/export",
+                modalName: "商品",
+                columns: [{
+                    checkbox: true
+                },
+                // {
+                //     field: 'parentId',
+                //     title: '父id'
+                // },
+                // {
+                //     field: 'supplierId',
+                //     title: '供应商id'
+                // },
+                {
+                    field: 'supplierName',
+                    title: '供应商名称'
+                },
+                {
+                    field: 'thirdSpuId',
+                    title: '供应商商品SPU编码'
+                },
+                {
+                    field: 'skuName',
+                    title: '商品名称'
+                },
+                {
+                    field: 'brandName',
+                    title: '商品品牌'
+                },
+                {
+                    field: 'productArea',
+                    title: '商品产地'
+                },
+                {
+                    field: 'introduction',
+                    title: '商品详情描述'
+                },
+                {
+                    field: 'afterSaleInfoId',
+                    title: '售后服务信息'
+                },
+                {
+                    field: 'sellPrice',
+                    title: '销售价格'
+                },
+                {
+                    field: 'marketPrice',
+                    title: '市场价'
+                },
+                {
+                    field: 'isEnergySav',
+                    title: '是否节能',
+                    formatter: function(value, row, index) {
+                       return $.table.selectDictLabel(isEnergySavDatas, value);
+                    }
+                },
+                {
+                    field: 'isEnvironmental',
+                    title: '是否环保',
+                    formatter: function(value, row, index) {
+                       return $.table.selectDictLabel(isEnvironmentalDatas, value);
+                    }
+                },
+                {
+                    field: 'taxRate',
+                    title: '商品税率'
+                },
+                {
+                    field: 'primaryImage',
+                    title: '商品主图'
+                },
+                {
+                    field: 'otherImage',
+                    title: '商品附图多张图片间用英文逗号分隔,最少一张图片,最多9张'
+                },
+                {
+                    field: 'saleUnit',
+                    title: '销售单位Id'
+                },
+                {
+                    field: 'weight',
+                    title: '重量'
+                },
+                {
+                    field: 'weightUnit',
+                    title: '重量单位'
+                },
+                {
+                    field: 'length',
+                    title: '包装尺寸:长(mm)'
+                },
+                {
+                    field: 'width',
+                    title: '包装尺寸:宽(mm)'
+                },
+                {
+                    field: 'height',
+                    title: '包装尺寸:高(mm)'
+                },
+                {
+                    field: 'prdModel',
+                    title: '商品的包装'
+                },
+                {
+                    field: 'saleAttributes',
+                    title: '销售属性'
+                },
+                {
+                    field: 'modelCode',
+                    title: '商品条形码,UPC码'
+                },
+                {
+                    field: 'type',
+                    title: '上下架情况',
+                    formatter: function(value, row, index) {
+                       return $.table.selectDictLabel(typeDatas, value);
+                    }
+                },
+                {
+                    title: '操作',
+                    align: 'center',
+                    formatter: function(value, row, index) {
+                        var actions = [];
+                        actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
+                        actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a>');
+                        return actions.join('');
+                    }
+                }]
+            };
+            $.table.init(options);
+        });
+    </script>
+</body>
+</html>

+ 125 - 104
ruoyi-admin/src/main/resources/templates/scm/supplier/add.html

@@ -8,18 +8,18 @@
 <body class="white-bg">
     <div class="wrapper wrapper-content animated fadeInRight ibox-content">
         <form class="form-horizontal m" id="form-supplier-add">
-            <div class="form-group">    
-                <label class="col-sm-3 control-label is-required">主键id:</label>
-                <div class="col-sm-8">
-                    <input name="id" class="form-control" type="text" required>
-                </div>
-            </div>
-            <div class="form-group">    
-                <label class="col-sm-3 control-label is-required">中盛的id:</label>
-                <div class="col-sm-8">
-                    <input name="zsId" class="form-control" type="text" required>
-                </div>
-            </div>
+<!--            <div class="form-group">    -->
+<!--                <label class="col-sm-3 control-label">主键id:</label>-->
+<!--                <div class="col-sm-8">-->
+<!--                    <input name="id" class="form-control" type="text">-->
+<!--                </div>-->
+<!--            </div>-->
+<!--            <div class="form-group">    -->
+<!--                <label class="col-sm-3 control-label">中盛的id:</label>-->
+<!--                <div class="col-sm-8">-->
+<!--                    <input name="zsId" class="form-control" type="text">-->
+<!--                </div>-->
+<!--            </div>-->
             <div class="form-group">    
                 <label class="col-sm-3 control-label is-required">供应商名称:</label>
                 <div class="col-sm-8">
@@ -29,7 +29,7 @@
             <div class="form-group">    
                 <label class="col-sm-3 control-label is-required">供应商简称:</label>
                 <div class="col-sm-8">
-                    <input name="supplierReName" class="form-control" type="text" required>
+                    <input name="supplierReName" class="form-control" type="text">
                 </div>
             </div>
             <div class="form-group">    
@@ -45,95 +45,104 @@
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label is-required">logo:</label>
+                <label class="col-sm-3 control-label">logo:</label>
                 <div class="col-sm-8">
-                    <input name="logo" class="form-control" type="text" required>
+                    <input type="hidden" name="logo">
+                    <div class="file-loading">
+                        <input class="form-control file-upload" id="logo" name="file" type="file">
+                    </div>
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label is-required">省市县:</label>
+                <label class="col-sm-3 control-label">省市县:</label>
                 <div class="col-sm-8">
-                    <input name="businessAddress" class="form-control" type="text" required>
+                    <input name="businessAddress" class="form-control" type="text">
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label is-required">邮编:</label>
+                <label class="col-sm-3 control-label">邮编:</label>
                 <div class="col-sm-8">
-                    <input name="postCode" class="form-control" type="text" required>
+                    <input name="postCode" class="form-control" type="text">
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label is-required">官网网址:</label>
+                <label class="col-sm-3 control-label">官网网址:</label>
                 <div class="col-sm-8">
-                    <input name="website" class="form-control" type="text" required>
+                    <input name="website" class="form-control" type="text">
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label is-required">供应商电话:</label>
+                <label class="col-sm-3 control-label">供应商电话:</label>
                 <div class="col-sm-8">
-                    <input name="supplierPhone" class="form-control" type="text" required>
+                    <input name="supplierPhone" class="form-control" type="text">
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label is-required">传真:</label>
+                <label class="col-sm-3 control-label">传真:</label>
+                <div class="col-sm-8">
+                    <input name="fax" class="form-control" type="text">
+                </div>
+            </div>
+            <div class="form-group">
+                <label class="col-sm-3 control-label">电子邮箱:</label>
                 <div class="col-sm-8">
-                    <input name="fax" class="form-control" type="text" required>
+                    <input name="email" class="form-control" type="text">
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label is-required">供应商联系人:</label>
+                <label class="col-sm-3 control-label">供应商联系人:</label>
                 <div class="col-sm-8">
-                    <input name="supplierMan" class="form-control" type="text" required>
+                    <input name="supplierMan" class="form-control" type="text">
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label is-required">联系人电话:</label>
+                <label class="col-sm-3 control-label">联系人电话:</label>
                 <div class="col-sm-8">
-                    <input name="manPhone" class="form-control" type="text" required>
+                    <input name="manPhone" class="form-control" type="text">
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label is-required">供应商性质:</label>
+                <label class="col-sm-3 control-label">供应商性质:</label>
                 <div class="col-sm-8">
-                    <select name="supplierNature" class="form-control m-b" th:with="type=${@dict.getType('supplier_nature')}" required>
+                    <select name="supplierNature" class="form-control m-b" th:with="type=${@dict.getType('supplier_nature')}">
                         <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
                     </select>
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label is-required">供应商行业:</label>
+                <label class="col-sm-3 control-label">供应商行业:</label>
                 <div class="col-sm-8">
-                    <input name="supplierBusiness" class="form-control" type="text" required>
+                    <input name="supplierBusiness" class="form-control" type="text">
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label is-required">供应商规模:</label>
+                <label class="col-sm-3 control-label">供应商规模:</label>
                 <div class="col-sm-8">
-                    <select name="supplierScale" class="form-control m-b" th:with="type=${@dict.getType('supplier_scale')}" required>
+                    <select name="supplierScale" class="form-control m-b" th:with="type=${@dict.getType('supplier_scale')}">
                         <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
                     </select>
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label is-required">企业是否上市:</label>
+                <label class="col-sm-3 control-label">企业是否上市:</label>
                 <div class="col-sm-8">
-                    <select name="isMarket" class="form-control m-b" th:with="type=${@dict.getType('is_or_no')}" required>
+                    <select name="isMarket" class="form-control m-b" th:with="type=${@dict.getType('is_or_no')}">
                         <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
                     </select>
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label is-required">是否是品牌商:</label>
+                <label class="col-sm-3 control-label">是否是品牌商:</label>
                 <div class="col-sm-8">
-                    <select name="isBrand" class="form-control m-b" th:with="type=${@dict.getType('is_or_no')}" required>
+                    <select name="isBrand" class="form-control m-b" th:with="type=${@dict.getType('is_or_no')}">
                         <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
                     </select>
                 </div>
             </div>
-            <div class="form-group">    
-                <label class="col-sm-3 control-label is-required">供应商介绍:</label>
+            <div class="form-group">
+                <label class="col-sm-3 control-label">供应商介绍:</label>
                 <div class="col-sm-8">
-                    <input name="supplierDesc" class="form-control" type="text" required>
+                    <textarea name="supplierDesc" class="form-control"></textarea>
                 </div>
             </div>
             <div class="form-group">    
@@ -184,7 +193,7 @@
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label">注册资本,单位:</label>
+                <label class="col-sm-3 control-label">注册资本(万元):</label>
                 <div class="col-sm-8">
                     <input name="capital" class="form-control" type="text">
                 </div>
@@ -197,10 +206,10 @@
                     </select>
                 </div>
             </div>
-            <div class="form-group">    
+            <div class="form-group">
                 <label class="col-sm-3 control-label">营业范围:</label>
                 <div class="col-sm-8">
-                    <input name="businessScope" class="form-control" type="text">
+                    <textarea name="businessScope" class="form-control"></textarea>
                 </div>
             </div>
             <div class="form-group">    
@@ -212,10 +221,10 @@
                     </div>
                 </div>
             </div>
-            <div class="form-group">    
+            <div class="form-group">
                 <label class="col-sm-3 control-label">备注:</label>
                 <div class="col-sm-8">
-                    <input name="remark" class="form-control" type="text">
+                    <textarea name="remark" class="form-control"></textarea>
                 </div>
             </div>
             <div class="form-group">    
@@ -242,11 +251,14 @@
             <div class="form-group">    
                 <label class="col-sm-3 control-label">出资凭证文件类型:jpg/png:</label>
                 <div class="col-sm-8">
-                    <input name="contributProve" class="form-control" type="text">
+                    <input type="hidden" name="contributProve">
+                    <div class="file-loading">
+                        <input class="form-control file-upload" id="contributProve" name="file" type="file">
+                    </div>
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label">出资总额,单位万:</label>
+                <label class="col-sm-3 control-label">出资总额(万元):</label>
                 <div class="col-sm-8">
                     <input name="contributNum" class="form-control" type="text">
                 </div>
@@ -268,7 +280,10 @@
             <div class="form-group">    
                 <label class="col-sm-3 control-label">年度报表:</label>
                 <div class="col-sm-8">
-                    <input name="financialAnnualList" class="form-control" type="text">
+                    <input type="hidden" name="financialAnnualList">
+                    <div class="file-loading">
+                        <input class="form-control file-upload" id="financialAnnualList" name="file" type="file">
+                    </div>
                 </div>
             </div>
             <div class="form-group">    
@@ -279,10 +294,10 @@
                     </select>
                 </div>
             </div>
-            <div class="form-group">    
+            <div class="form-group">
                 <label class="col-sm-3 control-label">财务备注:</label>
                 <div class="col-sm-8">
-                    <input name="financialRemark" class="form-control" type="text">
+                    <textarea name="financialRemark" class="form-control"></textarea>
                 </div>
             </div>
             <div class="form-group">    
@@ -295,73 +310,73 @@
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label">资产总额:</label>
+                <label class="col-sm-3 control-label">资产总额(万元):</label>
                 <div class="col-sm-8">
                     <input name="assetTotal" class="form-control" type="text">
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label">对外投资总额单位万:</label>
+                <label class="col-sm-3 control-label">对外投资总额(万元):</label>
                 <div class="col-sm-8">
                     <input name="debtInvestTotal" class="form-control" type="text">
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label">所有者权益合计:</label>
+                <label class="col-sm-3 control-label">所有者权益合计(万元):</label>
                 <div class="col-sm-8">
                     <input name="debtEquityTotal" class="form-control" type="text">
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label">负债总额单位万:</label>
+                <label class="col-sm-3 control-label">负债总额(万元):</label>
                 <div class="col-sm-8">
                     <input name="debtTotal" class="form-control" type="text">
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label">实收资本单位万:</label>
+                <label class="col-sm-3 control-label">实收资本(万元):</label>
                 <div class="col-sm-8">
                     <input name="capitalTotal" class="form-control" type="text">
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label">负债率统计,系统换算:</label>
+                <label class="col-sm-3 control-label">负债率统计(系统换算):</label>
                 <div class="col-sm-8">
                     <input name="debtRate" class="form-control" type="text">
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label">营业收入,单位万:</label>
+                <label class="col-sm-3 control-label">营业收入(万元):</label>
                 <div class="col-sm-8">
                     <input name="operatingReceipt" class="form-control" type="text">
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label">销售税金及附加,单位万:</label>
+                <label class="col-sm-3 control-label">销售税金及附加(万元):</label>
                 <div class="col-sm-8">
                     <input name="salesTax" class="form-control" type="text">
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label">利润总额,单位万:</label>
+                <label class="col-sm-3 control-label">利润总额(万元):</label>
                 <div class="col-sm-8">
                     <input name="salesTotal" class="form-control" type="text">
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label">所得税,单位万:</label>
+                <label class="col-sm-3 control-label">所得税(万元):</label>
                 <div class="col-sm-8">
                     <input name="incomeTax" class="form-control" type="text">
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label">净利润,单位万:</label>
+                <label class="col-sm-3 control-label">净利润(万元):</label>
                 <div class="col-sm-8">
                     <input name="profitTotal" class="form-control" type="text">
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label">销售利润所得率,单位换算:</label>
+                <label class="col-sm-3 control-label">销售利润所得率(系统统计):</label>
                 <div class="col-sm-8">
                     <input name="salesProfitTotal" class="form-control" type="text">
                 </div>
@@ -419,54 +434,60 @@
             <div class="form-group">    
                 <label class="col-sm-3 control-label">正面盖章图片:</label>
                 <div class="col-sm-8">
-                    <input name="prosPicture" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">    
-                <label class="col-sm-3 control-label">反面盖章图片:</label>
-                <div class="col-sm-8">
-                    <input name="consPicture" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">    
-                <label class="col-sm-3 control-label">上架申请拒绝原因:</label>
-                <div class="col-sm-8">
-                    <input name="refuseMsg" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">    
-                <label class="col-sm-3 control-label">下架申请原因:</label>
-                <div class="col-sm-8">
-                    <input name="soldOutMsg" class="form-control" type="text">
-                </div>
-            </div>
-            <div class="form-group">    
-                <label class="col-sm-3 control-label">上架申请时间:</label>
-                <div class="col-sm-8">
-                    <div class="input-group date">
-                        <input name="putawayTime" class="form-control" placeholder="yyyy-MM-dd" type="text">
-                        <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
-                    </div>
-                </div>
-            </div>
-            <div class="form-group">    
-                <label class="col-sm-3 control-label">上架时间:</label>
-                <div class="col-sm-8">
-                    <div class="input-group date">
-                        <input name="startTime" class="form-control" placeholder="yyyy-MM-dd" type="text">
-                        <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
+                    <input type="hidden" name="prosPicture">
+                    <div class="file-loading">
+                        <input class="form-control file-upload" id="prosPicture" name="file" type="file">
                     </div>
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label">下架时间:</label>
+                <label class="col-sm-3 control-label">反面盖章图片:</label>
                 <div class="col-sm-8">
-                    <div class="input-group date">
-                        <input name="endTime" class="form-control" placeholder="yyyy-MM-dd" type="text">
-                        <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
+                    <input type="hidden" name="consPicture">
+                    <div class="file-loading">
+                        <input class="form-control file-upload" id="consPicture" name="file" type="file">
                     </div>
                 </div>
             </div>
+<!--            <div class="form-group">    -->
+<!--                <label class="col-sm-3 control-label">上架申请拒绝原因:</label>-->
+<!--                <div class="col-sm-8">-->
+<!--                    <input name="refuseMsg" class="form-control" type="text">-->
+<!--                </div>-->
+<!--            </div>-->
+<!--            <div class="form-group">    -->
+<!--                <label class="col-sm-3 control-label">下架申请原因:</label>-->
+<!--                <div class="col-sm-8">-->
+<!--                    <input name="soldOutMsg" class="form-control" type="text">-->
+<!--                </div>-->
+<!--            </div>-->
+<!--            <div class="form-group">    -->
+<!--                <label class="col-sm-3 control-label">上架申请时间:</label>-->
+<!--                <div class="col-sm-8">-->
+<!--                    <div class="input-group date">-->
+<!--                        <input name="putawayTime" class="form-control" placeholder="yyyy-MM-dd" type="text">-->
+<!--                        <span class="input-group-addon"><i class="fa fa-calendar"></i></span>-->
+<!--                    </div>-->
+<!--                </div>-->
+<!--            </div>-->
+<!--            <div class="form-group">    -->
+<!--                <label class="col-sm-3 control-label">上架时间:</label>-->
+<!--                <div class="col-sm-8">-->
+<!--                    <div class="input-group date">-->
+<!--                        <input name="startTime" class="form-control" placeholder="yyyy-MM-dd" type="text">-->
+<!--                        <span class="input-group-addon"><i class="fa fa-calendar"></i></span>-->
+<!--                    </div>-->
+<!--                </div>-->
+<!--            </div>-->
+<!--            <div class="form-group">    -->
+<!--                <label class="col-sm-3 control-label">下架时间:</label>-->
+<!--                <div class="col-sm-8">-->
+<!--                    <div class="input-group date">-->
+<!--                        <input name="endTime" class="form-control" placeholder="yyyy-MM-dd" type="text">-->
+<!--                        <span class="input-group-addon"><i class="fa fa-calendar"></i></span>-->
+<!--                    </div>-->
+<!--                </div>-->
+<!--            </div>-->
         </form>
     </div>
     <th:block th:include="include :: footer" />

+ 61 - 0
ruoyi-admin/src/main/resources/templates/scm/supplier/approve.html

@@ -0,0 +1,61 @@
+<!DOCTYPE html>
+<html lang="zh" xmlns:th="http://www.thymeleaf.org">
+<head>
+    <th:block th:include="include :: header('供应商审批')"/>
+    <th:block th:include="include :: datetimepicker-css"/>
+</head>
+<body class="white-bg">
+<div class="wrapper wrapper-content animated fadeInRight ibox-content">
+    <form class="form-horizontal m" id="form-process-add">
+        <input name="id" th:field="*{supplierInfo.id}" type="hidden">
+        <div class="form-group">
+            <label class="col-sm-3 control-label">供应商名称:</label>
+            <div class="col-sm-8">
+                <input name="premiumAmt" th:field="*{supplierInfo.supplierName}" readonly="true"
+                       class="form-control" type="text">
+            </div>
+        </div>
+        <div class="form-group">
+            <label class="col-sm-3 control-label">供应商表示:</label>
+            <div class="col-sm-8">
+                <input name="policyNo" th:field="*{supplierInfo.supplierCode}" readonly="true" class="form-control"
+                       type="text">
+            </div>
+        </div>
+
+        <div class="form-group">
+            <label class="col-sm-3 control-label is-required">审核结果:</label>
+            <div class="col-sm-8">
+                <div class="radio">
+                    <label class="radio-box">
+                        <input type="radio" checked="" value="10" name="status">通过</label>
+                    <label class="radio-box">
+                        <input type="radio" value="15" name="status">未通过</label>
+                </div>
+            </div>
+        </div>
+        <div>
+            <label class="col-sm-3 control-label">拒绝原因:</label>
+            <div class="col-sm-8">
+                <textarea name="refuseMsg" class="form-control"></textarea>
+            </div>
+        </div>
+    </form>
+</div>
+<th:block th:include="include :: footer"/>
+<th:block th:include="include :: datetimepicker-js"/>
+<script th:inline="javascript">
+    var prefix = ctx + "scm/supplier"
+    $("#form-process-add").validate({
+        focusCleanup: true
+    });
+
+    function submitHandler() {
+        if ($.validate.form()) {
+            $.operate.save(prefix + "/check", $('#form-process-add').serialize());
+        }
+    }
+
+</script>
+</body>
+</html>

+ 103 - 88
ruoyi-admin/src/main/resources/templates/scm/supplier/edit.html

@@ -9,12 +9,12 @@
     <div class="wrapper wrapper-content animated fadeInRight ibox-content">
         <form class="form-horizontal m" id="form-supplier-edit" th:object="${supplierInfo}">
             <input name="id" th:field="*{id}" type="hidden">
-            <div class="form-group">    
-                <label class="col-sm-3 control-label is-required">中盛的id:</label>
-                <div class="col-sm-8">
-                    <input name="zsId" th:field="*{zsId}" class="form-control" type="text" required>
-                </div>
-            </div>
+<!--            <div class="form-group">    -->
+<!--                <label class="col-sm-3 control-label">中盛的id:</label>-->
+<!--                <div class="col-sm-8">-->
+<!--                    <input name="zsId" th:field="*{zsId}" class="form-control" type="text">-->
+<!--                </div>-->
+<!--            </div>-->
             <div class="form-group">    
                 <label class="col-sm-3 control-label is-required">供应商名称:</label>
                 <div class="col-sm-8">
@@ -22,9 +22,9 @@
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label is-required">供应商简称:</label>
+                <label class="col-sm-3 control-label">供应商简称:</label>
                 <div class="col-sm-8">
-                    <input name="supplierReName" th:field="*{supplierReName}" class="form-control" type="text" required>
+                    <input name="supplierReName" th:field="*{supplierReName}" class="form-control" type="text">
                 </div>
             </div>
             <div class="form-group">    
@@ -40,95 +40,98 @@
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label is-required">logo:</label>
+                <label class="col-sm-3 control-label">logo:</label>
                 <div class="col-sm-8">
-                    <input name="logo" th:field="*{logo}" class="form-control" type="text" required>
+                    <input type="hidden" name="logo" th:field="*{logo}">
+                    <div class="file-loading">
+                        <input class="form-control file-upload" id="logo" name="file" type="file">
+                    </div>
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label is-required">省市县:</label>
+                <label class="col-sm-3 control-label">省市县:</label>
                 <div class="col-sm-8">
-                    <input name="businessAddress" th:field="*{businessAddress}" class="form-control" type="text" required>
+                    <input name="businessAddress" th:field="*{businessAddress}" class="form-control" type="text">
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label is-required">邮编:</label>
+                <label class="col-sm-3 control-label">邮编:</label>
                 <div class="col-sm-8">
-                    <input name="postCode" th:field="*{postCode}" class="form-control" type="text" required>
+                    <input name="postCode" th:field="*{postCode}" class="form-control" type="text">
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label is-required">官网网址:</label>
+                <label class="col-sm-3 control-label">官网网址:</label>
                 <div class="col-sm-8">
-                    <input name="website" th:field="*{website}" class="form-control" type="text" required>
+                    <input name="website" th:field="*{website}" class="form-control" type="text">
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label is-required">供应商电话:</label>
+                <label class="col-sm-3 control-label">供应商电话:</label>
                 <div class="col-sm-8">
-                    <input name="supplierPhone" th:field="*{supplierPhone}" class="form-control" type="text" required>
+                    <input name="supplierPhone" th:field="*{supplierPhone}" class="form-control" type="text">
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label is-required">传真:</label>
+                <label class="col-sm-3 control-label">传真:</label>
                 <div class="col-sm-8">
-                    <input name="fax" th:field="*{fax}" class="form-control" type="text" required>
+                    <input name="fax" th:field="*{fax}" class="form-control" type="text">
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label is-required">供应商联系人:</label>
+                <label class="col-sm-3 control-label">供应商联系人:</label>
                 <div class="col-sm-8">
-                    <input name="supplierMan" th:field="*{supplierMan}" class="form-control" type="text" required>
+                    <input name="supplierMan" th:field="*{supplierMan}" class="form-control" type="text">
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label is-required">联系人电话:</label>
+                <label class="col-sm-3 control-label">联系人电话:</label>
                 <div class="col-sm-8">
-                    <input name="manPhone" th:field="*{manPhone}" class="form-control" type="text" required>
+                    <input name="manPhone" th:field="*{manPhone}" class="form-control" type="text">
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label is-required">供应商性质:</label>
+                <label class="col-sm-3 control-label">供应商性质:</label>
                 <div class="col-sm-8">
-                    <select name="supplierNature" class="form-control m-b" th:with="type=${@dict.getType('supplier_nature')}" required>
+                    <select name="supplierNature" class="form-control m-b" th:with="type=${@dict.getType('supplier_nature')}">
                         <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{supplierNature}"></option>
                     </select>
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label is-required">供应商行业:</label>
+                <label class="col-sm-3 control-label">供应商行业:</label>
                 <div class="col-sm-8">
-                    <input name="supplierBusiness" th:field="*{supplierBusiness}" class="form-control" type="text" required>
+                    <input name="supplierBusiness" th:field="*{supplierBusiness}" class="form-control" type="text">
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label is-required">供应商规模:</label>
+                <label class="col-sm-3 control-label">供应商规模:</label>
                 <div class="col-sm-8">
-                    <select name="supplierScale" class="form-control m-b" th:with="type=${@dict.getType('supplier_scale')}" required>
+                    <select name="supplierScale" class="form-control m-b" th:with="type=${@dict.getType('supplier_scale')}">
                         <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{supplierScale}"></option>
                     </select>
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label is-required">企业是否上市:</label>
+                <label class="col-sm-3 control-label">企业是否上市:</label>
                 <div class="col-sm-8">
-                    <select name="isMarket" class="form-control m-b" th:with="type=${@dict.getType('is_or_no')}" required>
+                    <select name="isMarket" class="form-control m-b" th:with="type=${@dict.getType('is_or_no')}">
                         <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{isMarket}"></option>
                     </select>
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label is-required">是否是品牌商:</label>
+                <label class="col-sm-3 control-label">是否是品牌商:</label>
                 <div class="col-sm-8">
-                    <select name="isBrand" class="form-control m-b" th:with="type=${@dict.getType('is_or_no')}" required>
+                    <select name="isBrand" class="form-control m-b" th:with="type=${@dict.getType('is_or_no')}">
                         <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{isBrand}"></option>
                     </select>
                 </div>
             </div>
-            <div class="form-group">    
-                <label class="col-sm-3 control-label is-required">供应商介绍:</label>
+            <div class="form-group">
+                <label class="col-sm-3 control-label">供应商介绍:</label>
                 <div class="col-sm-8">
-                    <input name="supplierDesc" th:field="*{supplierDesc}" class="form-control" type="text" required>
+                    <textarea name="supplierDesc" class="form-control">[[*{supplierDesc}]]</textarea>
                 </div>
             </div>
             <div class="form-group">    
@@ -179,7 +182,7 @@
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label">注册资本,单位:</label>
+                <label class="col-sm-3 control-label">注册资本(万元):</label>
                 <div class="col-sm-8">
                     <input name="capital" th:field="*{capital}" class="form-control" type="text">
                 </div>
@@ -192,10 +195,10 @@
                     </select>
                 </div>
             </div>
-            <div class="form-group">    
+            <div class="form-group">
                 <label class="col-sm-3 control-label">营业范围:</label>
                 <div class="col-sm-8">
-                    <input name="businessScope" th:field="*{businessScope}" class="form-control" type="text">
+                    <textarea name="businessScope" class="form-control">[[*{businessScope}]]</textarea>
                 </div>
             </div>
             <div class="form-group">    
@@ -207,10 +210,10 @@
                     </div>
                 </div>
             </div>
-            <div class="form-group">    
+            <div class="form-group">
                 <label class="col-sm-3 control-label">备注:</label>
                 <div class="col-sm-8">
-                    <input name="remark" th:field="*{remark}" class="form-control" type="text">
+                    <textarea name="remark" class="form-control">[[*{remark}]]</textarea>
                 </div>
             </div>
             <div class="form-group">    
@@ -237,11 +240,14 @@
             <div class="form-group">    
                 <label class="col-sm-3 control-label">出资凭证文件类型:jpg/png:</label>
                 <div class="col-sm-8">
-                    <input name="contributProve" th:field="*{contributProve}" class="form-control" type="text">
+                    <input type="hidden" name="contributProve" th:field="*{contributProve}">
+                    <div class="file-loading">
+                        <input class="form-control file-upload" id="contributProve" name="file" type="file">
+                    </div>
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label">出资总额,单位万:</label>
+                <label class="col-sm-3 control-label">出资总额(万元):</label>
                 <div class="col-sm-8">
                     <input name="contributNum" th:field="*{contributNum}" class="form-control" type="text">
                 </div>
@@ -263,7 +269,10 @@
             <div class="form-group">    
                 <label class="col-sm-3 control-label">年度报表:</label>
                 <div class="col-sm-8">
-                    <input name="financialAnnualList" th:field="*{financialAnnualList}" class="form-control" type="text">
+                    <input type="hidden" name="financialAnnualList" th:field="*{financialAnnualList}">
+                    <div class="file-loading">
+                        <input class="form-control file-upload" id="financialAnnualList" name="file" type="file">
+                    </div>
                 </div>
             </div>
             <div class="form-group">    
@@ -274,10 +283,10 @@
                     </select>
                 </div>
             </div>
-            <div class="form-group">    
+            <div class="form-group">
                 <label class="col-sm-3 control-label">财务备注:</label>
                 <div class="col-sm-8">
-                    <input name="financialRemark" th:field="*{financialRemark}" class="form-control" type="text">
+                    <textarea name="financialRemark" class="form-control">[[*{financialRemark}]]</textarea>
                 </div>
             </div>
             <div class="form-group">    
@@ -290,73 +299,73 @@
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label">资产总额:</label>
+                <label class="col-sm-3 control-label">资产总额(万元):</label>
                 <div class="col-sm-8">
                     <input name="assetTotal" th:field="*{assetTotal}" class="form-control" type="text">
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label">对外投资总额单位万:</label>
+                <label class="col-sm-3 control-label">对外投资总额(万元):</label>
                 <div class="col-sm-8">
                     <input name="debtInvestTotal" th:field="*{debtInvestTotal}" class="form-control" type="text">
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label">所有者权益合计:</label>
+                <label class="col-sm-3 control-label">所有者权益合计(万元):</label>
                 <div class="col-sm-8">
                     <input name="debtEquityTotal" th:field="*{debtEquityTotal}" class="form-control" type="text">
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label">负债总额单位万:</label>
+                <label class="col-sm-3 control-label">负债总额(万元):</label>
                 <div class="col-sm-8">
                     <input name="debtTotal" th:field="*{debtTotal}" class="form-control" type="text">
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label">实收资本单位万:</label>
+                <label class="col-sm-3 control-label">实收资本(万元):</label>
                 <div class="col-sm-8">
                     <input name="capitalTotal" th:field="*{capitalTotal}" class="form-control" type="text">
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label">负债率统计,系统换算:</label>
+                <label class="col-sm-3 control-label">负债率统计(系统换算):</label>
                 <div class="col-sm-8">
                     <input name="debtRate" th:field="*{debtRate}" class="form-control" type="text">
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label">营业收入,单位万:</label>
+                <label class="col-sm-3 control-label">营业收入(万元):</label>
                 <div class="col-sm-8">
                     <input name="operatingReceipt" th:field="*{operatingReceipt}" class="form-control" type="text">
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label">销售税金及附加,单位万:</label>
+                <label class="col-sm-3 control-label">销售税金及附加(万元):</label>
                 <div class="col-sm-8">
                     <input name="salesTax" th:field="*{salesTax}" class="form-control" type="text">
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label">利润总额,单位万:</label>
+                <label class="col-sm-3 control-label">利润总额(万元):</label>
                 <div class="col-sm-8">
                     <input name="salesTotal" th:field="*{salesTotal}" class="form-control" type="text">
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label">所得税,单位万:</label>
+                <label class="col-sm-3 control-label">所得税(万元):</label>
                 <div class="col-sm-8">
                     <input name="incomeTax" th:field="*{incomeTax}" class="form-control" type="text">
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label">净利润,单位万:</label>
+                <label class="col-sm-3 control-label">净利润(万元):</label>
                 <div class="col-sm-8">
                     <input name="profitTotal" th:field="*{profitTotal}" class="form-control" type="text">
                 </div>
             </div>
             <div class="form-group">    
-                <label class="col-sm-3 control-label">销售利润所得率,单位换算:</label>
+                <label class="col-sm-3 control-label">销售利润所得率(系统统计):</label>
                 <div class="col-sm-8">
                     <input name="salesProfitTotal" th:field="*{salesProfitTotal}" class="form-control" type="text">
                 </div>
@@ -414,13 +423,19 @@
             <div class="form-group">    
                 <label class="col-sm-3 control-label">正面盖章图片:</label>
                 <div class="col-sm-8">
-                    <input name="prosPicture" th:field="*{prosPicture}" class="form-control" type="text">
+                    <input type="hidden" name="prosPicture" th:field="*{prosPicture}">
+                    <div class="file-loading">
+                        <input class="form-control file-upload" id="prosPicture" name="file" type="file">
+                    </div>
                 </div>
             </div>
             <div class="form-group">    
                 <label class="col-sm-3 control-label">反面盖章图片:</label>
                 <div class="col-sm-8">
-                    <input name="consPicture" th:field="*{consPicture}" class="form-control" type="text">
+                    <input type="hidden" name="consPicture" th:field="*{consPicture}">
+                    <div class="file-loading">
+                        <input class="form-control file-upload" id="consPicture" name="file" type="file">
+                    </div>
                 </div>
             </div>
             <div class="form-group">    
@@ -435,33 +450,33 @@
                     <input name="soldOutMsg" th:field="*{soldOutMsg}" class="form-control" type="text">
                 </div>
             </div>
-            <div class="form-group">    
-                <label class="col-sm-3 control-label">上架申请时间:</label>
-                <div class="col-sm-8">
-                    <div class="input-group date">
-                        <input name="putawayTime" th:value="${#dates.format(supplierInfo.putawayTime, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
-                        <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
-                    </div>
-                </div>
-            </div>
-            <div class="form-group">    
-                <label class="col-sm-3 control-label">上架时间:</label>
-                <div class="col-sm-8">
-                    <div class="input-group date">
-                        <input name="startTime" th:value="${#dates.format(supplierInfo.startTime, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
-                        <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
-                    </div>
-                </div>
-            </div>
-            <div class="form-group">    
-                <label class="col-sm-3 control-label">下架时间:</label>
-                <div class="col-sm-8">
-                    <div class="input-group date">
-                        <input name="endTime" th:value="${#dates.format(supplierInfo.endTime, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
-                        <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
-                    </div>
-                </div>
-            </div>
+<!--            <div class="form-group">    -->
+<!--                <label class="col-sm-3 control-label">上架申请时间:</label>-->
+<!--                <div class="col-sm-8">-->
+<!--                    <div class="input-group date">-->
+<!--                        <input name="putawayTime" th:value="${#dates.format(supplierInfo.putawayTime, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">-->
+<!--                        <span class="input-group-addon"><i class="fa fa-calendar"></i></span>-->
+<!--                    </div>-->
+<!--                </div>-->
+<!--            </div>-->
+<!--            <div class="form-group">    -->
+<!--                <label class="col-sm-3 control-label">上架时间:</label>-->
+<!--                <div class="col-sm-8">-->
+<!--                    <div class="input-group date">-->
+<!--                        <input name="startTime" th:value="${#dates.format(supplierInfo.startTime, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">-->
+<!--                        <span class="input-group-addon"><i class="fa fa-calendar"></i></span>-->
+<!--                    </div>-->
+<!--                </div>-->
+<!--            </div>-->
+<!--            <div class="form-group">    -->
+<!--                <label class="col-sm-3 control-label">下架时间:</label>-->
+<!--                <div class="col-sm-8">-->
+<!--                    <div class="input-group date">-->
+<!--                        <input name="endTime" th:value="${#dates.format(supplierInfo.endTime, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">-->
+<!--                        <span class="input-group-addon"><i class="fa fa-calendar"></i></span>-->
+<!--                    </div>-->
+<!--                </div>-->
+<!--            </div>-->
         </form>
     </div>
     <th:block th:include="include :: footer" />

+ 287 - 295
ruoyi-admin/src/main/resources/templates/scm/supplier/supplier.html

@@ -10,289 +10,269 @@
                 <form id="formId">
                     <div class="select-list">
                         <ul>
-                            <li>
-                                <label>中盛的id:</label>
-                                <input type="text" name="zsId"/>
-                            </li>
-                            <li>
-                                <label>供应商名称:</label>
+<!--                            <li>-->
+<!--                                <label>中盛的id:</label>-->
+<!--                                <input type="text" name="zsId"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>供应商名称:</label>-->
+<!--                                <input type="text" name="supplierName"/>-->
+<!--                            </li>-->
+                            <li>
+                                <label>名称:</label>
                                 <input type="text" name="supplierName"/>
                             </li>
+<!--                            <li>-->
+<!--                                <label>供应商简称:</label>-->
+<!--                                <input type="text" name="supplierReName"/>-->
+<!--                            </li>-->
                             <li>
-                                <label>供应商简称:</label>
+                                <label>简称:</label>
                                 <input type="text" name="supplierReName"/>
                             </li>
-                            <li>
-                                <label>供应商地址:</label>
-                                <input type="text" name="address"/>
-                            </li>
-                            <li>
-                                <label>供应商详细地址:</label>
-                                <input type="text" name="detailAddress"/>
-                            </li>
-                            <li>
-                                <label>logo:</label>
-                                <input type="text" name="logo"/>
-                            </li>
-                            <li>
-                                <label>省市县:</label>
-                                <input type="text" name="businessAddress"/>
-                            </li>
-                            <li>
-                                <label>邮编:</label>
-                                <input type="text" name="postCode"/>
-                            </li>
-                            <li>
-                                <label>官网网址:</label>
-                                <input type="text" name="website"/>
-                            </li>
-                            <li>
-                                <label>供应商电话:</label>
+<!--                            <li>-->
+<!--                                <label>供应商地址:</label>-->
+<!--                                <input type="text" name="address"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>供应商详细地址:</label>-->
+<!--                                <input type="text" name="detailAddress"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>省市县:</label>-->
+<!--                                <input type="text" name="businessAddress"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>邮编:</label>-->
+<!--                                <input type="text" name="postCode"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>官网网址:</label>-->
+<!--                                <input type="text" name="website"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>供应商电话:</label>-->
+<!--                                <input type="text" name="supplierPhone"/>-->
+<!--                            </li>-->
+                            <li>
+                                <label>电话:</label>
                                 <input type="text" name="supplierPhone"/>
                             </li>
-                            <li>
-                                <label>传真:</label>
-                                <input type="text" name="fax"/>
-                            </li>
-                            <li>
-                                <label>供应商联系人:</label>
-                                <input type="text" name="supplierMan"/>
-                            </li>
-                            <li>
-                                <label>联系人电话:</label>
-                                <input type="text" name="manPhone"/>
-                            </li>
-                            <li>
-                                <label>供应商性质:</label>
-                                <select name="supplierNature" th:with="type=${@dict.getType('supplier_nature')}">
-                                    <option value="">所有</option>
-                                    <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
-                                </select>
-                            </li>
-                            <li>
-                                <label>供应商行业:</label>
-                                <input type="text" name="supplierBusiness"/>
-                            </li>
-                            <li>
-                                <label>供应商规模:</label>
-                                <select name="supplierScale" th:with="type=${@dict.getType('supplier_scale')}">
-                                    <option value="">所有</option>
-                                    <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
-                                </select>
-                            </li>
-                            <li>
-                                <label>企业是否上市:</label>
-                                <select name="isMarket" th:with="type=${@dict.getType('is_or_no')}">
-                                    <option value="">所有</option>
-                                    <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
-                                </select>
-                            </li>
-                            <li>
-                                <label>是否是品牌商:</label>
-                                <select name="isBrand" th:with="type=${@dict.getType('is_or_no')}">
-                                    <option value="">所有</option>
-                                    <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
-                                </select>
-                            </li>
-                            <li>
-                                <label>供应商介绍:</label>
-                                <input type="text" name="supplierDesc"/>
-                            </li>
-                            <li>
-                                <label>平台供应商标识:</label>
-                                <input type="text" name="supplierCode"/>
-                            </li>
-                            <li>
-                                <label>登记机关:</label>
-                                <input type="text" name="registration"/>
-                            </li>
-                            <li>
-                                <label>成立日期:</label>
-                                <input type="text" class="time-input" placeholder="请选择成立日期" name="establishmentDate"/>
-                            </li>
-                            <li>
-                                <label>营业有效时间:</label>
-                                <input type="text" class="time-input" placeholder="请选择营业有效时间" name="fromDate"/>
-                            </li>
-                            <li>
-                                <label>营业有效时间:</label>
-                                <input type="text" class="time-input" placeholder="请选择营业有效时间" name="toDate"/>
-                            </li>
-                            <li>
-                                <label>是否长期有效:</label>
-                                <select name="isValid" th:with="type=${@dict.getType('is_or_no')}">
-                                    <option value="">所有</option>
-                                    <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
-                                </select>
-                            </li>
-                            <li>
-                                <label>注册资本,单位:</label>
-                                <input type="text" name="capital"/>
-                            </li>
-                            <li>
-                                <label>币种:</label>
-                                <select name="currency" th:with="type=${@dict.getType('currency')}">
-                                    <option value="">所有</option>
-                                    <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
-                                </select>
-                            </li>
-                            <li>
-                                <label>营业范围:</label>
-                                <input type="text" name="businessScope"/>
-                            </li>
-                            <li>
-                                <label>在职员工数量:</label>
-                                <input type="text" name="employeeNum"/>
-                            </li>
-                            <li>
-                                <label>社保缴纳人数:</label>
-                                <input type="text" name="socialNum"/>
-                            </li>
-                            <li>
-                                <label>出资凭证文件类型:jpg/png:</label>
-                                <input type="text" name="contributProve"/>
-                            </li>
-                            <li>
-                                <label>出资总额,单位万:</label>
-                                <input type="text" name="contributNum"/>
-                            </li>
-                            <li>
-                                <label>出资币种:</label>
-                                <select name="contributCurrency" th:with="type=${@dict.getType('currency')}">
-                                    <option value="">所有</option>
-                                    <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
-                                </select>
-                            </li>
-                            <li>
-                                <label>出资人列表:</label>
-                                <input type="text" name="contributList"/>
-                            </li>
-                            <li>
-                                <label>年度报表:</label>
-                                <input type="text" name="financialAnnualList"/>
-                            </li>
-                            <li>
-                                <label>是否经过注册会计师年审:</label>
-                                <select name="financialIsAccountant" th:with="type=${@dict.getType('is_or_no')}">
-                                    <option value="">所有</option>
-                                    <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
-                                </select>
-                            </li>
-                            <li>
-                                <label>财务备注:</label>
-                                <input type="text" name="financialRemark"/>
-                            </li>
-                            <li>
-                                <label>资产总额:</label>
-                                <input type="text" name="assetTotal"/>
-                            </li>
-                            <li>
-                                <label>对外投资总额单位万:</label>
-                                <input type="text" name="debtInvestTotal"/>
-                            </li>
-                            <li>
-                                <label>所有者权益合计:</label>
-                                <input type="text" name="debtEquityTotal"/>
-                            </li>
-                            <li>
-                                <label>负债总额单位万:</label>
-                                <input type="text" name="debtTotal"/>
-                            </li>
-                            <li>
-                                <label>实收资本单位万:</label>
-                                <input type="text" name="capitalTotal"/>
-                            </li>
-                            <li>
-                                <label>负债率统计,系统换算:</label>
-                                <input type="text" name="debtRate"/>
-                            </li>
-                            <li>
-                                <label>营业收入,单位万:</label>
-                                <input type="text" name="operatingReceipt"/>
-                            </li>
-                            <li>
-                                <label>销售税金及附加,单位万:</label>
-                                <input type="text" name="salesTax"/>
-                            </li>
-                            <li>
-                                <label>利润总额,单位万:</label>
-                                <input type="text" name="salesTotal"/>
-                            </li>
-                            <li>
-                                <label>所得税,单位万:</label>
-                                <input type="text" name="incomeTax"/>
-                            </li>
-                            <li>
-                                <label>净利润,单位万:</label>
-                                <input type="text" name="profitTotal"/>
-                            </li>
-                            <li>
-                                <label>销售利润所得率,单位换算:</label>
-                                <input type="text" name="salesProfitTotal"/>
-                            </li>
-                            <li>
-                                <label>姓名:</label>
-                                <input type="text" name="headerName"/>
-                            </li>
-                            <li>
-                                <label>证件类型:</label>
-                                <select name="papersType" th:with="type=${@dict.getType('papers_number')}">
-                                    <option value="">所有</option>
-                                    <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
-                                </select>
-                            </li>
-                            <li>
-                                <label>证件号码:</label>
-                                <input type="text" name="papersNumber"/>
-                            </li>
-                            <li>
-                                <label>手机号码:</label>
-                                <input type="text" name="headPhone"/>
-                            </li>
-                            <li>
-                                <label>座机号码:</label>
-                                <input type="text" name="headerPhone"/>
-                            </li>
-                            <li>
-                                <label>电子邮箱:</label>
-                                <input type="text" name="headerMail"/>
-                            </li>
-                            <li>
-                                <label>人员地址:</label>
-                                <input type="text" name="headerAddress"/>
-                            </li>
-                            <li>
-                                <label>人员邮编:</label>
-                                <input type="text" name="headerPostCode"/>
-                            </li>
-                            <li>
-                                <label>正面盖章图片:</label>
-                                <input type="text" name="prosPicture"/>
-                            </li>
-                            <li>
-                                <label>反面盖章图片:</label>
-                                <input type="text" name="consPicture"/>
-                            </li>
-                            <li>
-                                <label>上架申请拒绝原因:</label>
-                                <input type="text" name="refuseMsg"/>
-                            </li>
-                            <li>
-                                <label>下架申请原因:</label>
-                                <input type="text" name="soldOutMsg"/>
-                            </li>
-                            <li>
-                                <label>上架申请时间:</label>
-                                <input type="text" class="time-input" placeholder="请选择上架申请时间" name="putawayTime"/>
-                            </li>
-                            <li>
-                                <label>上架时间:</label>
-                                <input type="text" class="time-input" placeholder="请选择上架时间" name="startTime"/>
-                            </li>
-                            <li>
-                                <label>下架时间:</label>
-                                <input type="text" class="time-input" placeholder="请选择下架时间" name="endTime"/>
-                            </li>
+<!--                            <li>-->
+<!--                                <label>传真:</label>-->
+<!--                                <input type="text" name="fax"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>供应商联系人:</label>-->
+<!--                                <input type="text" name="supplierMan"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>联系人电话:</label>-->
+<!--                                <input type="text" name="manPhone"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>供应商性质:</label>-->
+<!--                                <select name="supplierNature" th:with="type=${@dict.getType('supplier_nature')}">-->
+<!--                                    <option value="">所有</option>-->
+<!--                                    <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>-->
+<!--                                </select>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>供应商行业:</label>-->
+<!--                                <input type="text" name="supplierBusiness"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>供应商规模:</label>-->
+<!--                                <select name="supplierScale" th:with="type=${@dict.getType('supplier_scale')}">-->
+<!--                                    <option value="">所有</option>-->
+<!--                                    <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>-->
+<!--                                </select>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>企业是否上市:</label>-->
+<!--                                <select name="isMarket" th:with="type=${@dict.getType('is_or_no')}">-->
+<!--                                    <option value="">所有</option>-->
+<!--                                    <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>-->
+<!--                                </select>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>是否是品牌商:</label>-->
+<!--                                <select name="isBrand" th:with="type=${@dict.getType('is_or_no')}">-->
+<!--                                    <option value="">所有</option>-->
+<!--                                    <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>-->
+<!--                                </select>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>平台供应商标识:</label>-->
+<!--                                <input type="text" name="supplierCode"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>登记机关:</label>-->
+<!--                                <input type="text" name="registration"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>成立日期:</label>-->
+<!--                                <input type="text" class="time-input" placeholder="请选择成立日期" name="establishmentDate"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>营业有效时间:</label>-->
+<!--                                <input type="text" class="time-input" placeholder="请选择营业有效时间" name="fromDate"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>营业有效时间:</label>-->
+<!--                                <input type="text" class="time-input" placeholder="请选择营业有效时间" name="toDate"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>是否长期有效:</label>-->
+<!--                                <select name="isValid" th:with="type=${@dict.getType('is_or_no')}">-->
+<!--                                    <option value="">所有</option>-->
+<!--                                    <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>-->
+<!--                                </select>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>注册资本(万元):</label>-->
+<!--                                <input type="text" name="capital"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>币种:</label>-->
+<!--                                <select name="currency" th:with="type=${@dict.getType('currency')}">-->
+<!--                                    <option value="">所有</option>-->
+<!--                                    <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>-->
+<!--                                </select>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>在职员工数量:</label>-->
+<!--                                <input type="text" name="employeeNum"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>社保缴纳人数:</label>-->
+<!--                                <input type="text" name="socialNum"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>出资总额(万元):</label>-->
+<!--                                <input type="text" name="contributNum"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>出资币种:</label>-->
+<!--                                <select name="contributCurrency" th:with="type=${@dict.getType('currency')}">-->
+<!--                                    <option value="">所有</option>-->
+<!--                                    <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>-->
+<!--                                </select>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>出资人列表:</label>-->
+<!--                                <input type="text" name="contributList"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>是否经过注册会计师年审:</label>-->
+<!--                                <select name="financialIsAccountant" th:with="type=${@dict.getType('is_or_no')}">-->
+<!--                                    <option value="">所有</option>-->
+<!--                                    <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>-->
+<!--                                </select>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>资产总额(万元):</label>-->
+<!--                                <input type="text" name="assetTotal"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>对外投资总额(万元):</label>-->
+<!--                                <input type="text" name="debtInvestTotal"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>所有者权益合计(万元):</label>-->
+<!--                                <input type="text" name="debtEquityTotal"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>负债总额(万元):</label>-->
+<!--                                <input type="text" name="debtTotal"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>实收资本(万元):</label>-->
+<!--                                <input type="text" name="capitalTotal"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>负债率统计(系统换算):</label>-->
+<!--                                <input type="text" name="debtRate"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>营业收入(万元):</label>-->
+<!--                                <input type="text" name="operatingReceipt"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>销售税金及附加(万元):</label>-->
+<!--                                <input type="text" name="salesTax"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>利润总额(万元):</label>-->
+<!--                                <input type="text" name="salesTotal"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>所得税(万元):</label>-->
+<!--                                <input type="text" name="incomeTax"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>净利润(万元):</label>-->
+<!--                                <input type="text" name="profitTotal"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>销售利润所得率(系统统计):</label>-->
+<!--                                <input type="text" name="salesProfitTotal"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>姓名:</label>-->
+<!--                                <input type="text" name="headerName"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>证件类型:</label>-->
+<!--                                <select name="papersType" th:with="type=${@dict.getType('papers_number')}">-->
+<!--                                    <option value="">所有</option>-->
+<!--                                    <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>-->
+<!--                                </select>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>证件号码:</label>-->
+<!--                                <input type="text" name="papersNumber"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>手机号码:</label>-->
+<!--                                <input type="text" name="headPhone"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>座机号码:</label>-->
+<!--                                <input type="text" name="headerPhone"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>电子邮箱:</label>-->
+<!--                                <input type="text" name="headerMail"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>人员地址:</label>-->
+<!--                                <input type="text" name="headerAddress"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>人员邮编:</label>-->
+<!--                                <input type="text" name="headerPostCode"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>上架申请拒绝原因:</label>-->
+<!--                                <input type="text" name="refuseMsg"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>下架申请原因:</label>-->
+<!--                                <input type="text" name="soldOutMsg"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>上架申请时间:</label>-->
+<!--                                <input type="text" class="time-input" placeholder="请选择上架申请时间" name="putawayTime"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>上架时间:</label>-->
+<!--                                <input type="text" class="time-input" placeholder="请选择上架时间" name="startTime"/>-->
+<!--                            </li>-->
+<!--                            <li>-->
+<!--                                <label>下架时间:</label>-->
+<!--                                <input type="text" class="time-input" placeholder="请选择下架时间" name="endTime"/>-->
+<!--                            </li>-->
                             <li>
                                 <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
                                 <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
@@ -325,6 +305,7 @@
     <script th:inline="javascript">
         var editFlag = [[${@permission.hasPermi('scm:supplier:edit')}]];
         var removeFlag = [[${@permission.hasPermi('scm:supplier:remove')}]];
+        var scmFlag = [[${@permission.hasPermi('scm:supplier:scm')}]];
         var supplierNatureDatas = [[${@dict.getType('supplier_nature')}]];
         var supplierScaleDatas = [[${@dict.getType('supplier_scale')}]];
         var isMarketDatas = [[${@dict.getType('is_or_no')}]];
@@ -347,10 +328,10 @@
                 columns: [{
                     checkbox: true
                 },
-                {
-                    field: 'zsId',
-                    title: '中盛的id'
-                },
+                // {
+                //     field: 'zsId',
+                //     title: '中盛的id'
+                // },
                 {
                     field: 'supplierName',
                     title: '供应商名称'
@@ -468,7 +449,7 @@
                 },
                 {
                     field: 'capital',
-                    title: '注册资本,单位'
+                    title: '注册资本(万元)'
                 },
                 {
                     field: 'currency',
@@ -507,7 +488,7 @@
                 },
                 {
                     field: 'contributNum',
-                    title: '出资总额,单位万'
+                    title: '出资总额(万元)'
                 },
                 {
                     field: 'contributCurrency',
@@ -541,51 +522,51 @@
                 },
                 {
                     field: 'assetTotal',
-                    title: '资产总额'
+                    title: '资产总额(万元)'
                 },
                 {
                     field: 'debtInvestTotal',
-                    title: '对外投资总额单位万'
+                    title: '对外投资总额(万元)'
                 },
                 {
                     field: 'debtEquityTotal',
-                    title: '所有者权益合计'
+                    title: '所有者权益合计(万元)'
                 },
                 {
                     field: 'debtTotal',
-                    title: '负债总额单位万'
+                    title: '负债总额(万元)'
                 },
                 {
                     field: 'capitalTotal',
-                    title: '实收资本单位万'
+                    title: '实收资本(万元)'
                 },
                 {
                     field: 'debtRate',
-                    title: '负债率统计,系统换算'
+                    title: '负债率统计(系统换算)'
                 },
                 {
                     field: 'operatingReceipt',
-                    title: '营业收入,单位万'
+                    title: '营业收入(万元)'
                 },
                 {
                     field: 'salesTax',
-                    title: '销售税金及附加,单位万'
+                    title: '销售税金及附加(万元)'
                 },
                 {
                     field: 'salesTotal',
-                    title: '利润总额,单位万'
+                    title: '利润总额(万元)'
                 },
                 {
                     field: 'incomeTax',
-                    title: '所得税,单位万'
+                    title: '所得税(万元)'
                 },
                 {
                     field: 'profitTotal',
-                    title: '净利润,单位万'
+                    title: '净利润(万元)'
                 },
                 {
                     field: 'salesProfitTotal',
-                    title: '销售利润所得率,单位换算'
+                    title: '销售利润所得率(系统统计)'
                 },
                 {
                     field: 'headerName',
@@ -667,7 +648,12 @@
                     align: 'center',
                     formatter: function(value, row, index) {
                         var actions = [];
-                        actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
+                        if ('0' == row.status) { // 待审核
+                            actions.push('<a class="btn btn-success btn-xs ' + scmFlag + '" href="javascript:void(0)" onclick="approve(\'' + row.id + '\')"><i class="fa fa-edit"></i>上架审核</a> ');
+                        } else if ('20' == row.status) { //待支付
+                            actions.push('<a class="btn btn-success btn-xs ' + scmFlag + '" href="javascript:void(0)" onclick="approve(\'' + row.id + '\')"><i class="fa fa-edit"></i>下架审核</a> ');
+                        }
+                        // actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
                         actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a>');
                         return actions.join('');
                     }
@@ -675,6 +661,12 @@
             };
             $.table.init(options);
         });
+
+
+        // 跳转审核页面
+        function approve(id) {
+            $.modal.open("审核", "/scm/supplier/approve/" + id, '800', '350');
+        }
     </script>
 </body>
 </html>

+ 4 - 0
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/BaseEntity.java

@@ -22,17 +22,21 @@ public class BaseEntity implements Serializable
     private String searchValue;
 
     /** 创建者 */
+    @TableField(exist = false)
     private String createBy;
 
     /** 创建时间 */
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @TableField(exist = false)
     private Date createTime;
 
     /** 更新者 */
+    @TableField(exist = false)
     private String updateBy;
 
     /** 更新时间 */
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @TableField(exist = false)
     private Date updateTime;
 
     /** 备注 */

+ 12 - 0
ruoyi-common/src/main/java/com/ruoyi/common/utils/uuid/UUID.java

@@ -31,6 +31,18 @@ public final class UUID implements java.io.Serializable, Comparable<UUID>
     /** 此UUID的最低64有效位 */
     private final long leastSigBits;
 
+    /**
+    * @desc : 获取uuid
+    * @author : wangming
+    * @createTime : 2022/10/12 18:52
+    * @param :
+    * @return :
+    */
+    private String getUUid(){
+        String s = UUID.randomUUID().toString().replaceAll("", "-");
+        return s;
+    }
+
     /**
      * 私有构造
      * 

+ 1 - 0
ruoyi-framework/src/main/java/com/ruoyi/framework/config/ShiroConfig.java

@@ -288,6 +288,7 @@ public class ShiroConfig
         filterChainDefinitionMap.put("/js/**", "anon");
         filterChainDefinitionMap.put("/ruoyi/**", "anon");
         filterChainDefinitionMap.put("/process/**", "anon");
+        filterChainDefinitionMap.put("/pro/**", "anon");
         filterChainDefinitionMap.put("/captcha/captchaImage**", "anon");
         // 退出 logout地址,shiro去清除session
         filterChainDefinitionMap.put("/logout", "logout");

+ 149 - 0
ruoyi-system/src/main/java/com/ruoyi/scm/domain/AfterSaleInfo.java

@@ -0,0 +1,149 @@
+package com.ruoyi.scm.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 售后信息对象 after_sale_info
+ * 
+ * @author ruoyi
+ * @date 2022-10-13
+ */
+public class AfterSaleInfo extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 主键id(uuid) */
+    private String id;
+
+    /** 商品id */
+    @Excel(name = "商品id")
+    private String productId;
+
+    /** 退货类型 */
+    @Excel(name = "退货类型")
+    private String refundService;
+
+    /** 退货时长 */
+    @Excel(name = "退货时长")
+    private String refundDuration;
+
+    /** 换货类型 */
+    @Excel(name = "换货类型")
+    private String changeService;
+
+    /** 换货时长 */
+    @Excel(name = "换货时长")
+    private String changeDuration;
+
+    /** 质保期限 (单位:月) */
+    @Excel(name = "质保期限 (单位:月)")
+    private String repaireDuration;
+
+    /** 特殊售后说明状态 */
+    @Excel(name = "特殊售后说明状态")
+    private String specialDescYn;
+
+    /** 特殊售后说明 */
+    @Excel(name = "特殊售后说明")
+    private String specialDesc;
+
+    public void setId(String id) 
+    {
+        this.id = id;
+    }
+
+    public String getId() 
+    {
+        return id;
+    }
+    public void setProductId(String productId) 
+    {
+        this.productId = productId;
+    }
+
+    public String getProductId() 
+    {
+        return productId;
+    }
+    public void setRefundService(String refundService) 
+    {
+        this.refundService = refundService;
+    }
+
+    public String getRefundService() 
+    {
+        return refundService;
+    }
+    public void setRefundDuration(String refundDuration) 
+    {
+        this.refundDuration = refundDuration;
+    }
+
+    public String getRefundDuration() 
+    {
+        return refundDuration;
+    }
+    public void setChangeService(String changeService) 
+    {
+        this.changeService = changeService;
+    }
+
+    public String getChangeService() 
+    {
+        return changeService;
+    }
+    public void setChangeDuration(String changeDuration) 
+    {
+        this.changeDuration = changeDuration;
+    }
+
+    public String getChangeDuration() 
+    {
+        return changeDuration;
+    }
+    public void setRepaireDuration(String repaireDuration) 
+    {
+        this.repaireDuration = repaireDuration;
+    }
+
+    public String getRepaireDuration() 
+    {
+        return repaireDuration;
+    }
+    public void setSpecialDescYn(String specialDescYn) 
+    {
+        this.specialDescYn = specialDescYn;
+    }
+
+    public String getSpecialDescYn() 
+    {
+        return specialDescYn;
+    }
+    public void setSpecialDesc(String specialDesc) 
+    {
+        this.specialDesc = specialDesc;
+    }
+
+    public String getSpecialDesc() 
+    {
+        return specialDesc;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("productId", getProductId())
+            .append("refundService", getRefundService())
+            .append("refundDuration", getRefundDuration())
+            .append("changeService", getChangeService())
+            .append("changeDuration", getChangeDuration())
+            .append("repaireDuration", getRepaireDuration())
+            .append("specialDescYn", getSpecialDescYn())
+            .append("specialDesc", getSpecialDesc())
+            .toString();
+    }
+}

+ 432 - 0
ruoyi-system/src/main/java/com/ruoyi/scm/domain/ProductInfo.java

@@ -0,0 +1,432 @@
+package com.ruoyi.scm.domain;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+import org.springframework.stereotype.Service;
+
+/**
+ * 商品对象 product_info
+ * 
+ * @author ruoyi
+ * @date 2022-10-13
+ */
+@TableName(value = "product_info")
+public class ProductInfo extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 主键id */
+    @TableField
+    private String id;
+
+    /** 父id */
+    @Excel(name = "父id")
+    @TableField("parent_id")
+    private String parentId;
+
+    /** 供应商id */
+    @TableField("supplier_id")
+    @Excel(name = "供应商id")
+    private String supplierId;
+
+    /** 供应商名称 */
+    @TableField("supplier_name")
+    @Excel(name = "供应商名称")
+    private String supplierName;
+
+    /** 供应商商品SPU编码 */
+    @TableField("third_spu_id")
+    @Excel(name = "供应商商品SPU编码")
+    private String thirdSpuId;
+
+    /** 商品名称 */
+    @TableField("sku_name")
+    @Excel(name = "商品名称")
+    private String skuName;
+
+    /** 商品品牌 */
+    @TableField("brand_name")
+    @Excel(name = "商品品牌")
+    private String brandName;
+
+    /** 商品产地 */
+    @TableField("product_area")
+    @Excel(name = "商品产地")
+    private String productArea;
+
+    /** 商品详情描述 */
+    @TableField("introduction")
+    @Excel(name = "商品详情描述")
+    private String introduction;
+
+    /** 售后服务信息 */
+    @TableField("after_sale_info_id")
+    @Excel(name = "售后服务信息")
+    private String afterSaleInfoId;
+
+    /** 销售价格 */
+    @TableField("sell_price")
+    @Excel(name = "销售价格")
+    private String sellPrice;
+
+    /** 市场价 */
+    @TableField("market_price")
+    @Excel(name = "市场价")
+    private String marketPrice;
+
+    /** 是否节能 */
+    @TableField("is_energy_sav")
+    @Excel(name = "是否节能")
+    private String isEnergySav;
+
+    /** 是否环保 */
+    @TableField("is_environmental")
+    @Excel(name = "是否环保")
+    private String isEnvironmental;
+
+    /** 商品税率 */
+    @TableField("tax_rate")
+    @Excel(name = "商品税率")
+    private String taxRate;
+
+    /** 商品主图 */
+    @TableField("primary_image")
+    @Excel(name = "商品主图")
+    private String primaryImage;
+
+    /** 商品附图多张图片间用英文逗号分隔,最少一张图片,最多9张 */
+    @TableField("other_image")
+    @Excel(name = "商品附图多张图片间用英文逗号分隔,最少一张图片,最多9张")
+    private String otherImage;
+
+    /** 销售单位Id */
+    @TableField("sale_unit")
+    @Excel(name = "销售单位Id")
+    private String saleUnit;
+
+    /** 重量 */
+    @TableField("weight")
+    @Excel(name = "重量")
+    private String weight;
+
+    /** 重量单位 */
+    @TableField("weight_unit")
+    @Excel(name = "重量单位")
+    private String weightUnit;
+
+    /** 包装尺寸:长(mm) */
+    @TableField("length")
+    @Excel(name = "包装尺寸:长(mm)")
+    private String length;
+
+    /** 包装尺寸:宽(mm) */
+    @TableField("width")
+    @Excel(name = "包装尺寸:宽(mm)")
+    private String width;
+
+    /** 包装尺寸:高(mm) */
+    @TableField("height")
+    @Excel(name = "包装尺寸:高(mm)")
+    private String height;
+
+    /** 商品的包装 */
+    @TableField("prd_model")
+    @Excel(name = "商品的包装")
+    private String prdModel;
+
+    /** 销售属性 */
+    @TableField("sale_attributes")
+    @Excel(name = "销售属性")
+    private String saleAttributes;
+
+    /** 商品条形码,UPC码 */
+    @TableField("model_code")
+    @Excel(name = "商品条形码,UPC码")
+    private String modelCode;
+
+    /** 上下架情况 */
+    @TableField("type")
+    @Excel(name = "上下架情况")
+    private String type;
+
+    public void setId(String id) 
+    {
+        this.id = id;
+    }
+
+    public String getId() 
+    {
+        return id;
+    }
+    public void setParentId(String parentId) 
+    {
+        this.parentId = parentId;
+    }
+
+    public String getParentId() 
+    {
+        return parentId;
+    }
+    public void setSupplierId(String supplierId) 
+    {
+        this.supplierId = supplierId;
+    }
+
+    public String getSupplierId() 
+    {
+        return supplierId;
+    }
+    public void setSupplierName(String supplierName) 
+    {
+        this.supplierName = supplierName;
+    }
+
+    public String getSupplierName() 
+    {
+        return supplierName;
+    }
+    public void setThirdSpuId(String thirdSpuId) 
+    {
+        this.thirdSpuId = thirdSpuId;
+    }
+
+    public String getThirdSpuId() 
+    {
+        return thirdSpuId;
+    }
+    public void setSkuName(String skuName) 
+    {
+        this.skuName = skuName;
+    }
+
+    public String getSkuName() 
+    {
+        return skuName;
+    }
+    public void setBrandName(String brandName) 
+    {
+        this.brandName = brandName;
+    }
+
+    public String getBrandName() 
+    {
+        return brandName;
+    }
+    public void setProductArea(String productArea) 
+    {
+        this.productArea = productArea;
+    }
+
+    public String getProductArea() 
+    {
+        return productArea;
+    }
+    public void setIntroduction(String introduction) 
+    {
+        this.introduction = introduction;
+    }
+
+    public String getIntroduction() 
+    {
+        return introduction;
+    }
+    public void setAfterSaleInfoId(String afterSaleInfoId) 
+    {
+        this.afterSaleInfoId = afterSaleInfoId;
+    }
+
+    public String getAfterSaleInfoId() 
+    {
+        return afterSaleInfoId;
+    }
+    public void setSellPrice(String sellPrice) 
+    {
+        this.sellPrice = sellPrice;
+    }
+
+    public String getSellPrice() 
+    {
+        return sellPrice;
+    }
+    public void setMarketPrice(String marketPrice) 
+    {
+        this.marketPrice = marketPrice;
+    }
+
+    public String getMarketPrice() 
+    {
+        return marketPrice;
+    }
+    public void setIsEnergySav(String isEnergySav) 
+    {
+        this.isEnergySav = isEnergySav;
+    }
+
+    public String getIsEnergySav() 
+    {
+        return isEnergySav;
+    }
+    public void setIsEnvironmental(String isEnvironmental) 
+    {
+        this.isEnvironmental = isEnvironmental;
+    }
+
+    public String getIsEnvironmental() 
+    {
+        return isEnvironmental;
+    }
+    public void setTaxRate(String taxRate) 
+    {
+        this.taxRate = taxRate;
+    }
+
+    public String getTaxRate() 
+    {
+        return taxRate;
+    }
+    public void setPrimaryImage(String primaryImage) 
+    {
+        this.primaryImage = primaryImage;
+    }
+
+    public String getPrimaryImage() 
+    {
+        return primaryImage;
+    }
+    public void setOtherImage(String otherImage) 
+    {
+        this.otherImage = otherImage;
+    }
+
+    public String getOtherImage() 
+    {
+        return otherImage;
+    }
+    public void setSaleUnit(String saleUnit) 
+    {
+        this.saleUnit = saleUnit;
+    }
+
+    public String getSaleUnit() 
+    {
+        return saleUnit;
+    }
+    public void setWeight(String weight) 
+    {
+        this.weight = weight;
+    }
+
+    public String getWeight() 
+    {
+        return weight;
+    }
+    public void setWeightUnit(String weightUnit) 
+    {
+        this.weightUnit = weightUnit;
+    }
+
+    public String getWeightUnit() 
+    {
+        return weightUnit;
+    }
+    public void setLength(String length) 
+    {
+        this.length = length;
+    }
+
+    public String getLength() 
+    {
+        return length;
+    }
+    public void setWidth(String width) 
+    {
+        this.width = width;
+    }
+
+    public String getWidth() 
+    {
+        return width;
+    }
+    public void setHeight(String height) 
+    {
+        this.height = height;
+    }
+
+    public String getHeight() 
+    {
+        return height;
+    }
+    public void setPrdModel(String prdModel) 
+    {
+        this.prdModel = prdModel;
+    }
+
+    public String getPrdModel() 
+    {
+        return prdModel;
+    }
+    public void setSaleAttributes(String saleAttributes) 
+    {
+        this.saleAttributes = saleAttributes;
+    }
+
+    public String getSaleAttributes() 
+    {
+        return saleAttributes;
+    }
+    public void setModelCode(String modelCode) 
+    {
+        this.modelCode = modelCode;
+    }
+
+    public String getModelCode() 
+    {
+        return modelCode;
+    }
+    public void setType(String type) 
+    {
+        this.type = type;
+    }
+
+    public String getType() 
+    {
+        return type;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("parentId", getParentId())
+            .append("supplierId", getSupplierId())
+            .append("supplierName", getSupplierName())
+            .append("thirdSpuId", getThirdSpuId())
+            .append("skuName", getSkuName())
+            .append("brandName", getBrandName())
+            .append("productArea", getProductArea())
+            .append("introduction", getIntroduction())
+            .append("afterSaleInfoId", getAfterSaleInfoId())
+            .append("sellPrice", getSellPrice())
+            .append("marketPrice", getMarketPrice())
+            .append("isEnergySav", getIsEnergySav())
+            .append("isEnvironmental", getIsEnvironmental())
+            .append("taxRate", getTaxRate())
+            .append("primaryImage", getPrimaryImage())
+            .append("otherImage", getOtherImage())
+            .append("saleUnit", getSaleUnit())
+            .append("weight", getWeight())
+            .append("weightUnit", getWeightUnit())
+            .append("length", getLength())
+            .append("width", getWidth())
+            .append("height", getHeight())
+            .append("prdModel", getPrdModel())
+            .append("saleAttributes", getSaleAttributes())
+            .append("modelCode", getModelCode())
+            .append("type", getType())
+            .toString();
+    }
+}

+ 119 - 28
ruoyi-system/src/main/java/com/ruoyi/scm/domain/SupplierInfo.java

@@ -1,6 +1,10 @@
 package com.ruoyi.scm.domain;
 
 import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
@@ -13,298 +17,376 @@ import com.ruoyi.common.core.domain.BaseEntity;
  * @author ruoyi
  * @date 2022-10-12
  */
+@TableName("supplier_info")
 public class SupplierInfo extends BaseEntity
 {
     private static final long serialVersionUID = 1L;
 
     /** 主键id(uuid) */
+    @TableId
     private String id;
 
     /** 中盛的id */
+    @TableField("zs_id")
     @Excel(name = "中盛的id")
     private String zsId;
 
     /** 供应商名称 */
+    @TableField("supplier_name")
     @Excel(name = "供应商名称")
     private String supplierName;
 
     /** 供应商简称 */
     @Excel(name = "供应商简称")
+    @TableField("supplier_re_name")
     private String supplierReName;
 
     /** 供应商地址 */
     @Excel(name = "供应商地址")
+    @TableField("address")
     private String address;
 
     /** 供应商详细地址 */
     @Excel(name = "供应商详细地址")
+    @TableField("detail_address")
     private String detailAddress;
 
     /** logo */
     @Excel(name = "logo")
+    @TableField("logo")
     private String logo;
 
     /** 省市县 */
     @Excel(name = "省市县")
+    @TableField("business_address")
     private String businessAddress;
 
     /** 邮编 */
     @Excel(name = "邮编")
+    @TableField("post_code")
     private String postCode;
 
     /** 官网网址 */
     @Excel(name = "官网网址")
+    @TableField("website")
     private String website;
 
     /** 供应商电话 */
     @Excel(name = "供应商电话")
+    @TableField("supplier_phone")
     private String supplierPhone;
 
     /** 传真 */
     @Excel(name = "传真")
+    @TableField("fax")
     private String fax;
 
+    /** 电子邮箱 */
+    @Excel(name = "电子邮箱")
+    @TableField("email")
+    private String email;
+
     /** 供应商联系人 */
     @Excel(name = "供应商联系人")
+    @TableField("supplier_man")
     private String supplierMan;
 
     /** 联系人电话 */
     @Excel(name = "联系人电话")
+    @TableField("man_phone")
     private String manPhone;
 
     /** 供应商性质 */
     @Excel(name = "供应商性质")
+    @TableField("supplier_nature")
     private String supplierNature;
 
     /** 供应商行业 */
     @Excel(name = "供应商行业")
+    @TableField("supplier_business")
     private String supplierBusiness;
 
     /** 供应商规模 */
     @Excel(name = "供应商规模")
+    @TableField("supplier_scale")
     private String supplierScale;
 
     /** 供应商类型 */
     @Excel(name = "供应商类型")
+    @TableField("supplier_type")
     private String supplierType;
 
     /** 企业是否上市 */
     @Excel(name = "企业是否上市")
+    @TableField("is_market")
     private String isMarket;
 
     /** 是否是品牌商 */
     @Excel(name = "是否是品牌商")
+    @TableField("is_brand")
     private String isBrand;
 
     /** 供应商介绍 */
     @Excel(name = "供应商介绍")
+    @TableField("supplier_desc")
     private String supplierDesc;
 
     /** 平台供应商标识(统一社会信用代码) */
     @Excel(name = "平台供应商标识", readConverterExp = "统=一社会信用代码")
+    @TableField("supplier_code")
     private String supplierCode;
 
     /** 登记机关 */
     @Excel(name = "登记机关")
+    @TableField("registration")
     private String registration;
 
     /** 成立日期 */
     @JsonFormat(pattern = "yyyy-MM-dd")
     @Excel(name = "成立日期", width = 30, dateFormat = "yyyy-MM-dd")
+    @TableField("establishment_date")
     private Date establishmentDate;
 
     /** 营业有效时间(起) */
     @Excel(name = "营业有效时间", readConverterExp = "起=")
+    @TableField("from_date")
     private Date fromDate;
 
     /** 营业有效时间(止) */
     @Excel(name = "营业有效时间", readConverterExp = "止=")
+    @TableField("to_date")
     private Date toDate;
 
     /** 是否长期有效 */
     @Excel(name = "是否长期有效")
+    @TableField("is_valid")
     private String isValid;
 
-    /** 注册资本,单位(万元) */
-    @Excel(name = "注册资本,单位", readConverterExp = "万=元")
+    /** 注册资本(万元) */
+    @Excel(name = "注册资本(万元)")
+    @TableField("capital")
     private String capital;
 
     /** 币种 */
     @Excel(name = "币种")
+    @TableField("currency")
     private String currency;
 
     /** 营业范围 */
     @Excel(name = "营业范围")
+    @TableField("business_scope")
     private String businessScope;
 
     /** 营业执照扫描件,文件类型图片 */
     @Excel(name = "营业执照扫描件,文件类型图片")
+    @TableField("business_scan_file")
     private String businessScanFile;
 
     /** 在职员工数量 */
     @Excel(name = "在职员工数量")
+    @TableField("employee_num")
     private String employeeNum;
 
     /** 社保缴纳人数 */
     @Excel(name = "社保缴纳人数")
+    @TableField("social_num")
     private String socialNum;
 
     /** 社保缴纳凭证附件 */
     @Excel(name = "社保缴纳凭证附件")
+    @TableField("social_file")
     private String socialFile;
 
     /** 出资凭证文件类型:jpg/png */
     @Excel(name = "出资凭证文件类型:jpg/png")
+    @TableField("contribut_prove")
     private String contributProve;
 
-    /** 出资总额,单位万 */
-    @Excel(name = "出资总额,单位万")
+    /** 出资总额(万元) */
+    @Excel(name = "出资总额(万元)")
+    @TableField("contribut_num")
     private String contributNum;
 
     /** 出资币种 */
     @Excel(name = "出资币种")
+    @TableField("contribut_currency")
     private String contributCurrency;
 
     /** 出资人列表 */
     @Excel(name = "出资人列表")
+    @TableField("contribut_list")
     private String contributList;
 
     /** 年度报表 */
     @Excel(name = "年度报表")
+    @TableField("financial_annual_list")
     private String financialAnnualList;
 
     /** 是否经过注册会计师年审 */
     @Excel(name = "是否经过注册会计师年审")
+    @TableField("financial_is_accountant")
     private String financialIsAccountant;
 
     /** 财务备注 */
     @Excel(name = "财务备注")
+    @TableField("financial_remark")
     private String financialRemark;
 
     /** 财报附件 */
     @Excel(name = "财报附件")
+    @TableField("financial_file")
     private String financialFile;
 
-    /** 资产总额 */
-    @Excel(name = "资产总额")
+    /** 资产总额(万元) */
+    @Excel(name = "资产总额(万元)")
+    @TableField("asset_total")
     private String assetTotal;
 
-    /** 对外投资总额单位万 */
-    @Excel(name = "对外投资总额单位万")
+    /** 对外投资总额(万元) */
+    @Excel(name = "对外投资总额(万元)")
+    @TableField("debt_invest_total")
     private String debtInvestTotal;
 
-    /** 所有者权益合计 */
-    @Excel(name = "所有者权益合计")
+    /** 所有者权益合计(万元) */
+    @Excel(name = "所有者权益合计(万元)")
+    @TableField("debt_equity_total")
     private String debtEquityTotal;
 
-    /** 负债总额单位万 */
-    @Excel(name = "负债总额单位万")
+    /** 负债总额(万元) */
+    @Excel(name = "负债总额(万元)")
+    @TableField("debt_total")
     private String debtTotal;
 
-    /** 实收资本单位万 */
-    @Excel(name = "实收资本单位万")
+    /** 实收资本(万元) */
+    @Excel(name = "实收资本(万元)")
+    @TableField("capital_total")
     private String capitalTotal;
 
-    /** 负债率统计,系统换算 */
-    @Excel(name = "负债率统计,系统换算")
+    /** 负债率统计(系统换算) */
+    @Excel(name = "负债率统计(系统换算)")
+    @TableField("debt_rate")
     private String debtRate;
 
-    /** 营业收入,单位万 */
-    @Excel(name = "营业收入,单位万")
+    /** 营业收入(万元) */
+    @Excel(name = "营业收入(万元)")
+    @TableField("operating_receipt")
     private String operatingReceipt;
 
-    /** 销售税金及附加,单位万 */
-    @Excel(name = "销售税金及附加,单位万")
+    /** 销售税金及附加(万元) */
+    @Excel(name = "销售税金及附加(万元)")
+    @TableField("sales_tax")
     private String salesTax;
 
-    /** 利润总额,单位万 */
-    @Excel(name = "利润总额,单位万")
+    /** 利润总额(万元) */
+    @Excel(name = "利润总额(万元)")
+    @TableField("sales_total")
     private String salesTotal;
 
-    /** 所得税,单位万 */
-    @Excel(name = "所得税,单位万")
+    /** 所得税(万元) */
+    @Excel(name = "所得税(万元)")
+    @TableField("income_tax")
     private String incomeTax;
 
-    /** 净利润,单位万 */
-    @Excel(name = "净利润,单位万")
+    /** 净利润(万元) */
+    @Excel(name = "净利润(万元)")
+    @TableField("profit_total")
     private String profitTotal;
 
-    /** 销售利润所得率,单位换算 */
-    @Excel(name = "销售利润所得率,单位换算")
+    /** 销售利润所得率(系统统计) */
+    @Excel(name = "销售利润所得率(系统统计)")
+    @TableField("sales_profit_total")
     private String salesProfitTotal;
 
     /** 姓名 */
     @Excel(name = "姓名")
+    @TableField("header_name")
     private String headerName;
 
     /** 类型 */
     @Excel(name = "类型")
+    @TableField("type")
     private String type;
 
     /** 职务 */
     @Excel(name = "职务")
+    @TableField("job_type")
     private String jobType;
 
     /** 证件类型 */
     @Excel(name = "证件类型")
+    @TableField("papers_type")
     private String papersType;
 
     /** 证件号码 */
     @Excel(name = "证件号码")
+    @TableField("papers_number")
     private String papersNumber;
 
     /** 手机号码 */
     @Excel(name = "手机号码")
+    @TableField("head_phone")
     private String headPhone;
 
     /** 座机号码 */
     @Excel(name = "座机号码")
+    @TableField("header_phone")
     private String headerPhone;
 
     /** 电子邮箱 */
     @Excel(name = "电子邮箱")
+    @TableField("header_mail")
     private String headerMail;
 
     /** 人员地址 */
     @Excel(name = "人员地址")
+    @TableField("header_address")
     private String headerAddress;
 
     /** 人员邮编 */
     @Excel(name = "人员邮编")
+    @TableField("header_post_code")
     private String headerPostCode;
 
     /** 正面盖章图片 */
     @Excel(name = "正面盖章图片")
+    @TableField("pros_picture")
     private String prosPicture;
 
     /** 反面盖章图片 */
     @Excel(name = "反面盖章图片")
+    @TableField("cons_picture")
     private String consPicture;
 
     /** 上下架情况 */
     @Excel(name = "上下架情况")
+    @TableField("status")
     private String status;
 
     /** 上架申请拒绝原因 */
     @Excel(name = "上架申请拒绝原因")
+    @TableField("refuse_msg")
     private String refuseMsg;
 
     /** 下架申请原因 */
     @Excel(name = "下架申请原因")
+    @TableField("sold_out_msg")
     private String soldOutMsg;
 
     /** 上架申请时间 */
     @JsonFormat(pattern = "yyyy-MM-dd")
     @Excel(name = "上架申请时间", width = 30, dateFormat = "yyyy-MM-dd")
+    @TableField("putaway_time")
     private Date putawayTime;
 
     /** 上架时间 */
     @JsonFormat(pattern = "yyyy-MM-dd")
+    @TableField("start_time")
     @Excel(name = "上架时间", width = 30, dateFormat = "yyyy-MM-dd")
     private Date startTime;
 
     /** 下架时间 */
     @JsonFormat(pattern = "yyyy-MM-dd")
+    @TableField("end_time")
     @Excel(name = "下架时间", width = 30, dateFormat = "yyyy-MM-dd")
     private Date endTime;
 
@@ -957,6 +1039,14 @@ public class SupplierInfo extends BaseEntity
         return endTime;
     }
 
+    public String getEmail() {
+        return email;
+    }
+
+    public void setEmail(String email) {
+        this.email = email;
+    }
+
     @Override
     public String toString() {
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
@@ -972,6 +1062,7 @@ public class SupplierInfo extends BaseEntity
             .append("website", getWebsite())
             .append("supplierPhone", getSupplierPhone())
             .append("fax", getFax())
+            .append("email", getEmail())
             .append("supplierMan", getSupplierMan())
             .append("manPhone", getManPhone())
             .append("supplierNature", getSupplierNature())

+ 63 - 0
ruoyi-system/src/main/java/com/ruoyi/scm/mapper/AfterSaleInfoMapper.java

@@ -0,0 +1,63 @@
+package com.ruoyi.scm.mapper;
+
+import java.util.List;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.scm.domain.AfterSaleInfo;
+
+/**
+ * 售后信息Mapper接口
+ * 
+ * @author ruoyi
+ * @date 2022-10-13
+ */
+public interface AfterSaleInfoMapper extends BaseMapper<AfterSaleInfo>
+{
+    /**
+     * 查询售后信息
+     * 
+     * @param id 售后信息主键
+     * @return 售后信息
+     */
+    public AfterSaleInfo selectAfterSaleInfoById(String id);
+
+    /**
+     * 查询售后信息列表
+     * 
+     * @param afterSaleInfo 售后信息
+     * @return 售后信息集合
+     */
+    public List<AfterSaleInfo> selectAfterSaleInfoList(AfterSaleInfo afterSaleInfo);
+
+    /**
+     * 新增售后信息
+     * 
+     * @param afterSaleInfo 售后信息
+     * @return 结果
+     */
+    public int insertAfterSaleInfo(AfterSaleInfo afterSaleInfo);
+
+    /**
+     * 修改售后信息
+     * 
+     * @param afterSaleInfo 售后信息
+     * @return 结果
+     */
+    public int updateAfterSaleInfo(AfterSaleInfo afterSaleInfo);
+
+    /**
+     * 删除售后信息
+     * 
+     * @param id 售后信息主键
+     * @return 结果
+     */
+    public int deleteAfterSaleInfoById(String id);
+
+    /**
+     * 批量删除售后信息
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteAfterSaleInfoByIds(String[] ids);
+}

+ 61 - 0
ruoyi-system/src/main/java/com/ruoyi/scm/mapper/ProductInfoMapper.java

@@ -0,0 +1,61 @@
+package com.ruoyi.scm.mapper;
+
+import java.util.List;
+import com.ruoyi.scm.domain.ProductInfo;
+
+/**
+ * 商品Mapper接口
+ * 
+ * @author ruoyi
+ * @date 2022-10-13
+ */
+public interface ProductInfoMapper 
+{
+    /**
+     * 查询商品
+     * 
+     * @param id 商品主键
+     * @return 商品
+     */
+    public ProductInfo selectProductInfoById(String id);
+
+    /**
+     * 查询商品列表
+     * 
+     * @param productInfo 商品
+     * @return 商品集合
+     */
+    public List<ProductInfo> selectProductInfoList(ProductInfo productInfo);
+
+    /**
+     * 新增商品
+     * 
+     * @param productInfo 商品
+     * @return 结果
+     */
+    public int insertProductInfo(ProductInfo productInfo);
+
+    /**
+     * 修改商品
+     * 
+     * @param productInfo 商品
+     * @return 结果
+     */
+    public int updateProductInfo(ProductInfo productInfo);
+
+    /**
+     * 删除商品
+     * 
+     * @param id 商品主键
+     * @return 结果
+     */
+    public int deleteProductInfoById(String id);
+
+    /**
+     * 批量删除商品
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteProductInfoByIds(String[] ids);
+}

+ 5 - 1
ruoyi-system/src/main/java/com/ruoyi/scm/mapper/SupplierInfoMapper.java

@@ -1,7 +1,10 @@
 package com.ruoyi.scm.mapper;
 
 import java.util.List;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ruoyi.scm.domain.SupplierInfo;
+import org.apache.ibatis.annotations.Mapper;
 
 /**
  * 供应商Mapper接口
@@ -9,7 +12,8 @@ import com.ruoyi.scm.domain.SupplierInfo;
  * @author ruoyi
  * @date 2022-10-12
  */
-public interface SupplierInfoMapper 
+@Mapper
+public interface SupplierInfoMapper extends BaseMapper<SupplierInfo>
 {
     /**
      * 查询供应商

+ 63 - 0
ruoyi-system/src/main/java/com/ruoyi/scm/service/IAfterSaleInfoService.java

@@ -0,0 +1,63 @@
+package com.ruoyi.scm.service;
+
+import java.util.List;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.scm.domain.AfterSaleInfo;
+
+/**
+ * 售后信息Service接口
+ * 
+ * @author ruoyi
+ * @date 2022-10-13
+ */
+public interface IAfterSaleInfoService extends IService<AfterSaleInfo>
+{
+    /**
+     * 查询售后信息
+     * 
+     * @param id 售后信息主键
+     * @return 售后信息
+     */
+    public AfterSaleInfo selectAfterSaleInfoById(String id);
+
+    /**
+     * 查询售后信息列表
+     * 
+     * @param afterSaleInfo 售后信息
+     * @return 售后信息集合
+     */
+    public List<AfterSaleInfo> selectAfterSaleInfoList(AfterSaleInfo afterSaleInfo);
+
+    /**
+     * 新增售后信息
+     * 
+     * @param afterSaleInfo 售后信息
+     * @return 结果
+     */
+    public int insertAfterSaleInfo(AfterSaleInfo afterSaleInfo);
+
+    /**
+     * 修改售后信息
+     * 
+     * @param afterSaleInfo 售后信息
+     * @return 结果
+     */
+    public int updateAfterSaleInfo(AfterSaleInfo afterSaleInfo);
+
+    /**
+     * 批量删除售后信息
+     * 
+     * @param ids 需要删除的售后信息主键集合
+     * @return 结果
+     */
+    public int deleteAfterSaleInfoByIds(String ids);
+
+    /**
+     * 删除售后信息信息
+     * 
+     * @param id 售后信息主键
+     * @return 结果
+     */
+    public int deleteAfterSaleInfoById(String id);
+}

+ 61 - 0
ruoyi-system/src/main/java/com/ruoyi/scm/service/IProductInfoService.java

@@ -0,0 +1,61 @@
+package com.ruoyi.scm.service;
+
+import java.util.List;
+import com.ruoyi.scm.domain.ProductInfo;
+
+/**
+ * 商品Service接口
+ * 
+ * @author ruoyi
+ * @date 2022-10-13
+ */
+public interface IProductInfoService 
+{
+    /**
+     * 查询商品
+     * 
+     * @param id 商品主键
+     * @return 商品
+     */
+    public ProductInfo selectProductInfoById(String id);
+
+    /**
+     * 查询商品列表
+     * 
+     * @param productInfo 商品
+     * @return 商品集合
+     */
+    public List<ProductInfo> selectProductInfoList(ProductInfo productInfo);
+
+    /**
+     * 新增商品
+     * 
+     * @param productInfo 商品
+     * @return 结果
+     */
+    public int insertProductInfo(ProductInfo productInfo);
+
+    /**
+     * 修改商品
+     * 
+     * @param productInfo 商品
+     * @return 结果
+     */
+    public int updateProductInfo(ProductInfo productInfo);
+
+    /**
+     * 批量删除商品
+     * 
+     * @param ids 需要删除的商品主键集合
+     * @return 结果
+     */
+    public int deleteProductInfoByIds(String ids);
+
+    /**
+     * 删除商品信息
+     * 
+     * @param id 商品主键
+     * @return 结果
+     */
+    public int deleteProductInfoById(String id);
+}

+ 15 - 1
ruoyi-system/src/main/java/com/ruoyi/scm/service/ISupplierInfoService.java

@@ -1,6 +1,10 @@
 package com.ruoyi.scm.service;
 
 import java.util.List;
+import java.util.Map;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.scm.domain.SupplierInfo;
 
 /**
@@ -9,8 +13,18 @@ import com.ruoyi.scm.domain.SupplierInfo;
  * @author ruoyi
  * @date 2022-10-12
  */
-public interface ISupplierInfoService 
+public interface ISupplierInfoService extends IService<SupplierInfo>
 {
+    /**
+    * @desc : 供应商审核
+    * @author : wangming
+    * @createTime : 2022/10/12 17:16
+    * @param :
+    * @return :
+    */
+    public Map<String, Object> supplierCheck(SupplierInfo supplierInfo);
+
+
     /**
      * 查询供应商
      * 

+ 96 - 0
ruoyi-system/src/main/java/com/ruoyi/scm/service/impl/AfterSaleInfoServiceImpl.java

@@ -0,0 +1,96 @@
+package com.ruoyi.scm.service.impl;
+
+import java.util.List;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.scm.mapper.AfterSaleInfoMapper;
+import com.ruoyi.scm.domain.AfterSaleInfo;
+import com.ruoyi.scm.service.IAfterSaleInfoService;
+import com.ruoyi.common.core.text.Convert;
+
+/**
+ * 售后信息Service业务层处理
+ * 
+ * @author ruoyi
+ * @date 2022-10-13
+ */
+@Service
+public class AfterSaleInfoServiceImpl extends ServiceImpl<AfterSaleInfoMapper, AfterSaleInfo> implements IAfterSaleInfoService
+{
+    @Autowired
+    private AfterSaleInfoMapper afterSaleInfoMapper;
+
+    /**
+     * 查询售后信息
+     * 
+     * @param id 售后信息主键
+     * @return 售后信息
+     */
+    @Override
+    public AfterSaleInfo selectAfterSaleInfoById(String id)
+    {
+        return afterSaleInfoMapper.selectAfterSaleInfoById(id);
+    }
+
+    /**
+     * 查询售后信息列表
+     * 
+     * @param afterSaleInfo 售后信息
+     * @return 售后信息
+     */
+    @Override
+    public List<AfterSaleInfo> selectAfterSaleInfoList(AfterSaleInfo afterSaleInfo)
+    {
+        return afterSaleInfoMapper.selectAfterSaleInfoList(afterSaleInfo);
+    }
+
+    /**
+     * 新增售后信息
+     * 
+     * @param afterSaleInfo 售后信息
+     * @return 结果
+     */
+    @Override
+    public int insertAfterSaleInfo(AfterSaleInfo afterSaleInfo)
+    {
+        return afterSaleInfoMapper.insertAfterSaleInfo(afterSaleInfo);
+    }
+
+    /**
+     * 修改售后信息
+     * 
+     * @param afterSaleInfo 售后信息
+     * @return 结果
+     */
+    @Override
+    public int updateAfterSaleInfo(AfterSaleInfo afterSaleInfo)
+    {
+        return afterSaleInfoMapper.updateAfterSaleInfo(afterSaleInfo);
+    }
+
+    /**
+     * 批量删除售后信息
+     * 
+     * @param ids 需要删除的售后信息主键
+     * @return 结果
+     */
+    @Override
+    public int deleteAfterSaleInfoByIds(String ids)
+    {
+        return afterSaleInfoMapper.deleteAfterSaleInfoByIds(Convert.toStrArray(ids));
+    }
+
+    /**
+     * 删除售后信息信息
+     * 
+     * @param id 售后信息主键
+     * @return 结果
+     */
+    @Override
+    public int deleteAfterSaleInfoById(String id)
+    {
+        return afterSaleInfoMapper.deleteAfterSaleInfoById(id);
+    }
+}

+ 94 - 0
ruoyi-system/src/main/java/com/ruoyi/scm/service/impl/ProductInfoServiceImpl.java

@@ -0,0 +1,94 @@
+package com.ruoyi.scm.service.impl;
+
+import java.util.List;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.scm.mapper.ProductInfoMapper;
+import com.ruoyi.scm.domain.ProductInfo;
+import com.ruoyi.scm.service.IProductInfoService;
+import com.ruoyi.common.core.text.Convert;
+
+/**
+ * 商品Service业务层处理
+ * 
+ * @author ruoyi
+ * @date 2022-10-13
+ */
+@Service
+public class ProductInfoServiceImpl implements IProductInfoService 
+{
+    @Autowired
+    private ProductInfoMapper productInfoMapper;
+
+    /**
+     * 查询商品
+     * 
+     * @param id 商品主键
+     * @return 商品
+     */
+    @Override
+    public ProductInfo selectProductInfoById(String id)
+    {
+        return productInfoMapper.selectProductInfoById(id);
+    }
+
+    /**
+     * 查询商品列表
+     * 
+     * @param productInfo 商品
+     * @return 商品
+     */
+    @Override
+    public List<ProductInfo> selectProductInfoList(ProductInfo productInfo)
+    {
+        return productInfoMapper.selectProductInfoList(productInfo);
+    }
+
+    /**
+     * 新增商品
+     * 
+     * @param productInfo 商品
+     * @return 结果
+     */
+    @Override
+    public int insertProductInfo(ProductInfo productInfo)
+    {
+        return productInfoMapper.insertProductInfo(productInfo);
+    }
+
+    /**
+     * 修改商品
+     * 
+     * @param productInfo 商品
+     * @return 结果
+     */
+    @Override
+    public int updateProductInfo(ProductInfo productInfo)
+    {
+        return productInfoMapper.updateProductInfo(productInfo);
+    }
+
+    /**
+     * 批量删除商品
+     * 
+     * @param ids 需要删除的商品主键
+     * @return 结果
+     */
+    @Override
+    public int deleteProductInfoByIds(String ids)
+    {
+        return productInfoMapper.deleteProductInfoByIds(Convert.toStrArray(ids));
+    }
+
+    /**
+     * 删除商品信息
+     * 
+     * @param id 商品主键
+     * @return 结果
+     */
+    @Override
+    public int deleteProductInfoById(String id)
+    {
+        return productInfoMapper.deleteProductInfoById(id);
+    }
+}

+ 66 - 1
ruoyi-system/src/main/java/com/ruoyi/scm/service/impl/SupplierInfoServiceImpl.java

@@ -1,12 +1,25 @@
 package com.ruoyi.scm.service.impl;
 
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
+
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.utils.http.HttpUtils;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import com.ruoyi.scm.mapper.SupplierInfoMapper;
 import com.ruoyi.scm.domain.SupplierInfo;
 import com.ruoyi.scm.service.ISupplierInfoService;
 import com.ruoyi.common.core.text.Convert;
+import org.springframework.util.CollectionUtils;
 
 /**
  * 供应商Service业务层处理
@@ -15,11 +28,63 @@ import com.ruoyi.common.core.text.Convert;
  * @date 2022-10-12
  */
 @Service
-public class SupplierInfoServiceImpl implements ISupplierInfoService 
+@Slf4j
+public class SupplierInfoServiceImpl extends ServiceImpl<SupplierInfoMapper, SupplierInfo> implements ISupplierInfoService
 {
     @Autowired
     private SupplierInfoMapper supplierInfoMapper;
 
+    @Value("${zsIp}")
+    private String zsIp;
+
+    /**
+    * @desc : 供应商审核
+    * @author : wangming
+    * @createTime : 2022/10/12 17:17
+    * @param : [supplierInfo]
+    * @return : com.ruoyi.common.core.domain.AjaxResult
+    */
+    @Override
+    public Map<String, Object> supplierCheck(SupplierInfo supplierInfo) {
+        try {
+            //
+            SupplierInfo supplierInfoNew = supplierInfoMapper.selectSupplierInfoById(supplierInfo.getId());
+            supplierInfoNew.setStatus(supplierInfo.getStatus());
+            supplierInfoNew.setRefuseMsg(supplierInfo.getRefuseMsg());
+            //直接进行数据修改
+            supplierInfoMapper.updateSupplierInfo(supplierInfoNew);
+            log.info("审核供应商id为:" + supplierInfo.getId() + "的数据成功");
+            //审核通过的话就往中盛推送数据  组装中盛需要的数据
+            Map<String, Object> zsParamMap = new HashMap<>();
+            zsParamMap.put("token", "yuancaikejui");
+            zsParamMap.put("name", supplierInfoNew.getSupplierName());    //供应商名称
+            zsParamMap.put("supplierCode", supplierInfoNew.getSupplierCode());  //平台供应商标识,不可修改(type=10时系统判重
+            zsParamMap.put("contactPerson", supplierInfoNew.getSupplierMan());   //联系人
+            zsParamMap.put("contactPhone", supplierInfoNew.getSupplierPhone());   //联系电话
+            zsParamMap.put("email", supplierInfoNew.getEmail());
+            zsParamMap.put("address", supplierInfoNew.getDetailAddress());
+            zsParamMap.put("memo", supplierInfoNew.getSupplierDesc());
+            zsParamMap.put("type", supplierInfoNew);
+            String string = JSON.toJSONString(zsParamMap);
+            String resultJson = HttpUtils.sendPost(zsIp, string);
+            //解析数据
+            Map<String, Object> resultMap = JSON.parseObject(resultJson, Map.class);
+            if (CollectionUtils.isEmpty(resultMap)){
+                SupplierInfo supplierInfoNew1 = supplierInfoMapper.selectSupplierInfoById(supplierInfo.getId());
+                supplierInfoNew1.setStatus("0");
+                supplierInfoNew1.setRefuseMsg(null);
+                //直接进行数据修改
+                supplierInfoMapper.updateSupplierInfo(supplierInfoNew1);
+            }
+            return resultMap;
+        } catch (Exception e) {
+            e.printStackTrace();
+            log.error("供应商审核出现问题,请查看" + e.getMessage());
+
+            return null;
+        }
+    }
+
     /**
      * 查询供应商
      * 

+ 94 - 0
ruoyi-system/src/main/resources/mapper/scm/AfterSaleInfoMapper.xml

@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.scm.mapper.AfterSaleInfoMapper">
+    
+    <resultMap type="AfterSaleInfo" id="AfterSaleInfoResult">
+        <result property="id"    column="id"    />
+        <result property="productId"    column="product_id"    />
+        <result property="refundService"    column="refund_service"    />
+        <result property="refundDuration"    column="refund_duration"    />
+        <result property="changeService"    column="change_service"    />
+        <result property="changeDuration"    column="change_duration"    />
+        <result property="repaireDuration"    column="repaire_duration"    />
+        <result property="specialDescYn"    column="special_desc_yn"    />
+        <result property="specialDesc"    column="specialDesc"    />
+    </resultMap>
+
+    <sql id="selectAfterSaleInfoVo">
+        select id, product_id, refund_service, refund_duration, change_service, change_duration, repaire_duration, special_desc_yn, specialDesc from after_sale_info
+    </sql>
+
+    <select id="selectAfterSaleInfoList" parameterType="AfterSaleInfo" resultMap="AfterSaleInfoResult">
+        <include refid="selectAfterSaleInfoVo"/>
+        <where>  
+            <if test="productId != null  and productId != ''"> and product_id = #{productId}</if>
+            <if test="refundService != null  and refundService != ''"> and refund_service = #{refundService}</if>
+            <if test="refundDuration != null  and refundDuration != ''"> and refund_duration = #{refundDuration}</if>
+            <if test="changeService != null  and changeService != ''"> and change_service = #{changeService}</if>
+            <if test="changeDuration != null  and changeDuration != ''"> and change_duration = #{changeDuration}</if>
+            <if test="repaireDuration != null  and repaireDuration != ''"> and repaire_duration = #{repaireDuration}</if>
+            <if test="specialDescYn != null  and specialDescYn != ''"> and special_desc_yn = #{specialDescYn}</if>
+            <if test="specialDesc != null  and specialDesc != ''"> and specialDesc = #{specialDesc}</if>
+        </where>
+    </select>
+    
+    <select id="selectAfterSaleInfoById" parameterType="String" resultMap="AfterSaleInfoResult">
+        <include refid="selectAfterSaleInfoVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertAfterSaleInfo" parameterType="AfterSaleInfo">
+        insert into after_sale_info
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null and id != ''">id,</if>
+            <if test="productId != null and productId != ''">product_id,</if>
+            <if test="refundService != null and refundService != ''">refund_service,</if>
+            <if test="refundDuration != null">refund_duration,</if>
+            <if test="changeService != null and changeService != ''">change_service,</if>
+            <if test="changeDuration != null">change_duration,</if>
+            <if test="repaireDuration != null and repaireDuration != ''">repaire_duration,</if>
+            <if test="specialDescYn != null and specialDescYn != ''">special_desc_yn,</if>
+            <if test="specialDesc != null">specialDesc,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null and id != ''">#{id},</if>
+            <if test="productId != null and productId != ''">#{productId},</if>
+            <if test="refundService != null and refundService != ''">#{refundService},</if>
+            <if test="refundDuration != null">#{refundDuration},</if>
+            <if test="changeService != null and changeService != ''">#{changeService},</if>
+            <if test="changeDuration != null">#{changeDuration},</if>
+            <if test="repaireDuration != null and repaireDuration != ''">#{repaireDuration},</if>
+            <if test="specialDescYn != null and specialDescYn != ''">#{specialDescYn},</if>
+            <if test="specialDesc != null">#{specialDesc},</if>
+         </trim>
+    </insert>
+
+    <update id="updateAfterSaleInfo" parameterType="AfterSaleInfo">
+        update after_sale_info
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="productId != null and productId != ''">product_id = #{productId},</if>
+            <if test="refundService != null and refundService != ''">refund_service = #{refundService},</if>
+            <if test="refundDuration != null">refund_duration = #{refundDuration},</if>
+            <if test="changeService != null and changeService != ''">change_service = #{changeService},</if>
+            <if test="changeDuration != null">change_duration = #{changeDuration},</if>
+            <if test="repaireDuration != null and repaireDuration != ''">repaire_duration = #{repaireDuration},</if>
+            <if test="specialDescYn != null and specialDescYn != ''">special_desc_yn = #{specialDescYn},</if>
+            <if test="specialDesc != null">specialDesc = #{specialDesc},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteAfterSaleInfoById" parameterType="String">
+        delete from after_sale_info where id = #{id}
+    </delete>
+
+    <delete id="deleteAfterSaleInfoByIds" parameterType="String">
+        delete from after_sale_info where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+
+</mapper>

+ 184 - 0
ruoyi-system/src/main/resources/mapper/scm/ProductInfoMapper.xml

@@ -0,0 +1,184 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.scm.mapper.ProductInfoMapper">
+    
+    <resultMap type="ProductInfo" id="ProductInfoResult">
+        <result property="id"    column="id"    />
+        <result property="parentId"    column="parent_id"    />
+        <result property="supplierId"    column="supplier_id"    />
+        <result property="supplierName"    column="supplier_name"    />
+        <result property="thirdSpuId"    column="third_spu_id"    />
+        <result property="skuName"    column="sku_name"    />
+        <result property="brandName"    column="brand_name"    />
+        <result property="productArea"    column="product_area"    />
+        <result property="introduction"    column="introduction"    />
+        <result property="afterSaleInfoId"    column="after_sale_info_id"    />
+        <result property="sellPrice"    column="sell_price"    />
+        <result property="marketPrice"    column="market_price"    />
+        <result property="isEnergySav"    column="is_energy_sav"    />
+        <result property="isEnvironmental"    column="is_environmental"    />
+        <result property="taxRate"    column="tax_rate"    />
+        <result property="primaryImage"    column="primary_image"    />
+        <result property="otherImage"    column="other_image"    />
+        <result property="saleUnit"    column="sale_unit"    />
+        <result property="weight"    column="weight"    />
+        <result property="weightUnit"    column="weight_unit"    />
+        <result property="length"    column="length"    />
+        <result property="width"    column="width"    />
+        <result property="height"    column="height"    />
+        <result property="prdModel"    column="prd_model"    />
+        <result property="saleAttributes"    column="sale_attributes"    />
+        <result property="modelCode"    column="model_code"    />
+        <result property="type"    column="type"    />
+    </resultMap>
+
+    <sql id="selectProductInfoVo">
+        select id, parent_id, supplier_id, supplier_name, third_spu_id, sku_name, brand_name, product_area, introduction, after_sale_info_id, sell_price, market_price, is_energy_sav, is_environmental, tax_rate, primary_image, other_image, sale_unit, weight, weight_unit, length, width, height, prd_model, sale_attributes, model_code, type from product_info
+    </sql>
+
+    <select id="selectProductInfoList" parameterType="ProductInfo" resultMap="ProductInfoResult">
+        <include refid="selectProductInfoVo"/>
+        <where>  
+            <if test="parentId != null  and parentId != ''"> and parent_id = #{parentId}</if>
+            <if test="supplierId != null  and supplierId != ''"> and supplier_id = #{supplierId}</if>
+            <if test="supplierName != null  and supplierName != ''"> and supplier_name like concat('%', #{supplierName}, '%')</if>
+            <if test="thirdSpuId != null  and thirdSpuId != ''"> and third_spu_id = #{thirdSpuId}</if>
+            <if test="skuName != null  and skuName != ''"> and sku_name like concat('%', #{skuName}, '%')</if>
+            <if test="brandName != null  and brandName != ''"> and brand_name like concat('%', #{brandName}, '%')</if>
+            <if test="productArea != null  and productArea != ''"> and product_area = #{productArea}</if>
+            <if test="introduction != null  and introduction != ''"> and introduction = #{introduction}</if>
+            <if test="afterSaleInfoId != null  and afterSaleInfoId != ''"> and after_sale_info_id = #{afterSaleInfoId}</if>
+            <if test="sellPrice != null  and sellPrice != ''"> and sell_price = #{sellPrice}</if>
+            <if test="marketPrice != null  and marketPrice != ''"> and market_price = #{marketPrice}</if>
+            <if test="isEnergySav != null  and isEnergySav != ''"> and is_energy_sav = #{isEnergySav}</if>
+            <if test="isEnvironmental != null  and isEnvironmental != ''"> and is_environmental = #{isEnvironmental}</if>
+            <if test="taxRate != null  and taxRate != ''"> and tax_rate = #{taxRate}</if>
+            <if test="primaryImage != null  and primaryImage != ''"> and primary_image = #{primaryImage}</if>
+            <if test="otherImage != null  and otherImage != ''"> and other_image = #{otherImage}</if>
+            <if test="saleUnit != null  and saleUnit != ''"> and sale_unit = #{saleUnit}</if>
+            <if test="weight != null  and weight != ''"> and weight = #{weight}</if>
+            <if test="weightUnit != null  and weightUnit != ''"> and weight_unit = #{weightUnit}</if>
+            <if test="length != null  and length != ''"> and length = #{length}</if>
+            <if test="width != null  and width != ''"> and width = #{width}</if>
+            <if test="height != null  and height != ''"> and height = #{height}</if>
+            <if test="prdModel != null  and prdModel != ''"> and prd_model = #{prdModel}</if>
+            <if test="saleAttributes != null  and saleAttributes != ''"> and sale_attributes = #{saleAttributes}</if>
+            <if test="modelCode != null  and modelCode != ''"> and model_code = #{modelCode}</if>
+            <if test="type != null  and type != ''"> and type = #{type}</if>
+        </where>
+    </select>
+    
+    <select id="selectProductInfoById" parameterType="String" resultMap="ProductInfoResult">
+        <include refid="selectProductInfoVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertProductInfo" parameterType="ProductInfo">
+        insert into product_info
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null and id != ''">id,</if>
+            <if test="parentId != null">parent_id,</if>
+            <if test="supplierId != null">supplier_id,</if>
+            <if test="supplierName != null">supplier_name,</if>
+            <if test="thirdSpuId != null">third_spu_id,</if>
+            <if test="skuName != null">sku_name,</if>
+            <if test="brandName != null">brand_name,</if>
+            <if test="productArea != null">product_area,</if>
+            <if test="introduction != null">introduction,</if>
+            <if test="afterSaleInfoId != null">after_sale_info_id,</if>
+            <if test="sellPrice != null">sell_price,</if>
+            <if test="marketPrice != null">market_price,</if>
+            <if test="isEnergySav != null">is_energy_sav,</if>
+            <if test="isEnvironmental != null">is_environmental,</if>
+            <if test="taxRate != null">tax_rate,</if>
+            <if test="primaryImage != null">primary_image,</if>
+            <if test="otherImage != null">other_image,</if>
+            <if test="saleUnit != null">sale_unit,</if>
+            <if test="weight != null">weight,</if>
+            <if test="weightUnit != null">weight_unit,</if>
+            <if test="length != null">length,</if>
+            <if test="width != null">width,</if>
+            <if test="height != null">height,</if>
+            <if test="prdModel != null">prd_model,</if>
+            <if test="saleAttributes != null">sale_attributes,</if>
+            <if test="modelCode != null">model_code,</if>
+            <if test="type != null">type,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null and id != ''">#{id},</if>
+            <if test="parentId != null">#{parentId},</if>
+            <if test="supplierId != null">#{supplierId},</if>
+            <if test="supplierName != null">#{supplierName},</if>
+            <if test="thirdSpuId != null">#{thirdSpuId},</if>
+            <if test="skuName != null">#{skuName},</if>
+            <if test="brandName != null">#{brandName},</if>
+            <if test="productArea != null">#{productArea},</if>
+            <if test="introduction != null">#{introduction},</if>
+            <if test="afterSaleInfoId != null">#{afterSaleInfoId},</if>
+            <if test="sellPrice != null">#{sellPrice},</if>
+            <if test="marketPrice != null">#{marketPrice},</if>
+            <if test="isEnergySav != null">#{isEnergySav},</if>
+            <if test="isEnvironmental != null">#{isEnvironmental},</if>
+            <if test="taxRate != null">#{taxRate},</if>
+            <if test="primaryImage != null">#{primaryImage},</if>
+            <if test="otherImage != null">#{otherImage},</if>
+            <if test="saleUnit != null">#{saleUnit},</if>
+            <if test="weight != null">#{weight},</if>
+            <if test="weightUnit != null">#{weightUnit},</if>
+            <if test="length != null">#{length},</if>
+            <if test="width != null">#{width},</if>
+            <if test="height != null">#{height},</if>
+            <if test="prdModel != null">#{prdModel},</if>
+            <if test="saleAttributes != null">#{saleAttributes},</if>
+            <if test="modelCode != null">#{modelCode},</if>
+            <if test="type != null">#{type},</if>
+         </trim>
+    </insert>
+
+    <update id="updateProductInfo" parameterType="ProductInfo">
+        update product_info
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="parentId != null">parent_id = #{parentId},</if>
+            <if test="supplierId != null">supplier_id = #{supplierId},</if>
+            <if test="supplierName != null">supplier_name = #{supplierName},</if>
+            <if test="thirdSpuId != null">third_spu_id = #{thirdSpuId},</if>
+            <if test="skuName != null">sku_name = #{skuName},</if>
+            <if test="brandName != null">brand_name = #{brandName},</if>
+            <if test="productArea != null">product_area = #{productArea},</if>
+            <if test="introduction != null">introduction = #{introduction},</if>
+            <if test="afterSaleInfoId != null">after_sale_info_id = #{afterSaleInfoId},</if>
+            <if test="sellPrice != null">sell_price = #{sellPrice},</if>
+            <if test="marketPrice != null">market_price = #{marketPrice},</if>
+            <if test="isEnergySav != null">is_energy_sav = #{isEnergySav},</if>
+            <if test="isEnvironmental != null">is_environmental = #{isEnvironmental},</if>
+            <if test="taxRate != null">tax_rate = #{taxRate},</if>
+            <if test="primaryImage != null">primary_image = #{primaryImage},</if>
+            <if test="otherImage != null">other_image = #{otherImage},</if>
+            <if test="saleUnit != null">sale_unit = #{saleUnit},</if>
+            <if test="weight != null">weight = #{weight},</if>
+            <if test="weightUnit != null">weight_unit = #{weightUnit},</if>
+            <if test="length != null">length = #{length},</if>
+            <if test="width != null">width = #{width},</if>
+            <if test="height != null">height = #{height},</if>
+            <if test="prdModel != null">prd_model = #{prdModel},</if>
+            <if test="saleAttributes != null">sale_attributes = #{saleAttributes},</if>
+            <if test="modelCode != null">model_code = #{modelCode},</if>
+            <if test="type != null">type = #{type},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteProductInfoById" parameterType="String">
+        delete from product_info where id = #{id}
+    </delete>
+
+    <delete id="deleteProductInfoByIds" parameterType="String">
+        delete from product_info where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+
+</mapper>

+ 58 - 57
ruoyi-system/src/main/resources/mapper/supplier/SupplierInfoMapper.xml → ruoyi-system/src/main/resources/mapper/scm/SupplierInfoMapper.xml

@@ -17,6 +17,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="website"    column="website"    />
         <result property="supplierPhone"    column="supplier_phone"    />
         <result property="fax"    column="fax"    />
+        <result property="email"    column="email"    />
         <result property="supplierMan"    column="supplier_man"    />
         <result property="manPhone"    column="man_phone"    />
         <result property="supplierNature"    column="supplier_nature"    />
@@ -81,7 +82,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </resultMap>
 
     <sql id="selectSupplierInfoVo">
-        select id, zs_id, supplier_name, supplier_re_name, address, detail_address, logo, business_address, post_code, website, supplier_phone, fax, supplier_man, man_phone, supplier_nature, supplier_business, supplier_scale, supplier_type, is_market, is_brand, supplier_desc, supplier_code, registration, establishment_date, from_date, to_date, is_valid, capital, currency, business_scope, business_scan_file, remark, employee_num, social_num, social_file, contribut_prove, contribut_num, contribut_currency, contribut_list, financial_annual_list, financial_is_accountant, financial_remark, financial_file, asset_total, debt_invest_total, debt_equity_total, debt_total, capital_total, debt_rate, operating_receipt, sales_tax, sales_total, income_tax, profit_total, sales_profit_total, header_name, type, job_type, papers_type, papers_number, head_phone, header_phone, header_mail, header_address, header_post_code, pros_picture, cons_picture, status, refuse_msg, sold_out_msg, putaway_time, start_time, end_time from supplier_info
+        select id, zs_id, supplier_name, supplier_re_name, address, detail_address, logo, business_address, post_code, website, supplier_phone, fax, email, supplier_man, man_phone, supplier_nature, supplier_business, supplier_scale, supplier_type, is_market, is_brand, supplier_desc, supplier_code, registration, establishment_date, from_date, to_date, is_valid, capital, currency, business_scope, business_scan_file, remark, employee_num, social_num, social_file, contribut_prove, contribut_num, contribut_currency, contribut_list, financial_annual_list, financial_is_accountant, financial_remark, financial_file, asset_total, debt_invest_total, debt_equity_total, debt_total, capital_total, debt_rate, operating_receipt, sales_tax, sales_total, income_tax, profit_total, sales_profit_total, header_name, type, job_type, papers_type, papers_number, head_phone, header_phone, header_mail, header_address, header_post_code, pros_picture, cons_picture, status, refuse_msg, sold_out_msg, putaway_time, start_time, end_time from supplier_info
     </sql>
 
     <select id="selectSupplierInfoList" parameterType="SupplierInfo" resultMap="SupplierInfoResult">
@@ -169,27 +170,27 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <insert id="insertSupplierInfo" parameterType="SupplierInfo">
         insert into supplier_info
         <trim prefix="(" suffix=")" suffixOverrides=",">
-            <if test="id != null and id != ''">id,</if>
-            <if test="zsId != null and zsId != ''">zs_id,</if>
+            <if test="id != null">id,</if>
+            <if test="zsId != null">zs_id,</if>
             <if test="supplierName != null and supplierName != ''">supplier_name,</if>
-            <if test="supplierReName != null and supplierReName != ''">supplier_re_name,</if>
+            <if test="supplierReName != null">supplier_re_name,</if>
             <if test="address != null and address != ''">address,</if>
             <if test="detailAddress != null and detailAddress != ''">detail_address,</if>
-            <if test="logo != null and logo != ''">logo,</if>
-            <if test="businessAddress != null and businessAddress != ''">business_address,</if>
-            <if test="postCode != null and postCode != ''">post_code,</if>
-            <if test="website != null and website != ''">website,</if>
-            <if test="supplierPhone != null and supplierPhone != ''">supplier_phone,</if>
-            <if test="fax != null and fax != ''">fax,</if>
-            <if test="supplierMan != null and supplierMan != ''">supplier_man,</if>
-            <if test="manPhone != null and manPhone != ''">man_phone,</if>
-            <if test="supplierNature != null and supplierNature != ''">supplier_nature,</if>
-            <if test="supplierBusiness != null and supplierBusiness != ''">supplier_business,</if>
-            <if test="supplierScale != null and supplierScale != ''">supplier_scale,</if>
-            <if test="supplierType != null and supplierType != ''">supplier_type,</if>
-            <if test="isMarket != null and isMarket != ''">is_market,</if>
-            <if test="isBrand != null and isBrand != ''">is_brand,</if>
-            <if test="supplierDesc != null and supplierDesc != ''">supplier_desc,</if>
+            <if test="logo != null">logo,</if>
+            <if test="businessAddress != null">business_address,</if>
+            <if test="postCode != null">post_code,</if>
+            <if test="website != null">website,</if>
+            <if test="supplierPhone != null">supplier_phone,</if>
+            <if test="fax != null">fax,</if>
+            <if test="supplierMan != null">supplier_man,</if>
+            <if test="manPhone != null">man_phone,</if>
+            <if test="supplierNature != null">supplier_nature,</if>
+            <if test="supplierBusiness != null">supplier_business,</if>
+            <if test="supplierScale != null">supplier_scale,</if>
+            <if test="supplierType != null">supplier_type,</if>
+            <if test="isMarket != null">is_market,</if>
+            <if test="isBrand != null">is_brand,</if>
+            <if test="supplierDesc != null">supplier_desc,</if>
             <if test="supplierCode != null">supplier_code,</if>
             <if test="registration != null">registration,</if>
             <if test="establishmentDate != null">establishment_date,</if>
@@ -236,7 +237,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="headerPostCode != null">header_post_code,</if>
             <if test="prosPicture != null">pros_picture,</if>
             <if test="consPicture != null">cons_picture,</if>
-            <if test="status != null and status != ''">status,</if>
+            <if test="status != null">status,</if>
             <if test="refuseMsg != null">refuse_msg,</if>
             <if test="soldOutMsg != null">sold_out_msg,</if>
             <if test="putawayTime != null">putaway_time,</if>
@@ -244,27 +245,27 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="endTime != null">end_time,</if>
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
-            <if test="id != null and id != ''">#{id},</if>
-            <if test="zsId != null and zsId != ''">#{zsId},</if>
+            <if test="id != null">#{id},</if>
+            <if test="zsId != null">#{zsId},</if>
             <if test="supplierName != null and supplierName != ''">#{supplierName},</if>
-            <if test="supplierReName != null and supplierReName != ''">#{supplierReName},</if>
+            <if test="supplierReName != null">#{supplierReName},</if>
             <if test="address != null and address != ''">#{address},</if>
             <if test="detailAddress != null and detailAddress != ''">#{detailAddress},</if>
-            <if test="logo != null and logo != ''">#{logo},</if>
-            <if test="businessAddress != null and businessAddress != ''">#{businessAddress},</if>
-            <if test="postCode != null and postCode != ''">#{postCode},</if>
-            <if test="website != null and website != ''">#{website},</if>
-            <if test="supplierPhone != null and supplierPhone != ''">#{supplierPhone},</if>
-            <if test="fax != null and fax != ''">#{fax},</if>
-            <if test="supplierMan != null and supplierMan != ''">#{supplierMan},</if>
-            <if test="manPhone != null and manPhone != ''">#{manPhone},</if>
-            <if test="supplierNature != null and supplierNature != ''">#{supplierNature},</if>
-            <if test="supplierBusiness != null and supplierBusiness != ''">#{supplierBusiness},</if>
-            <if test="supplierScale != null and supplierScale != ''">#{supplierScale},</if>
-            <if test="supplierType != null and supplierType != ''">#{supplierType},</if>
-            <if test="isMarket != null and isMarket != ''">#{isMarket},</if>
-            <if test="isBrand != null and isBrand != ''">#{isBrand},</if>
-            <if test="supplierDesc != null and supplierDesc != ''">#{supplierDesc},</if>
+            <if test="logo != null">#{logo},</if>
+            <if test="businessAddress != null">#{businessAddress},</if>
+            <if test="postCode != null">#{postCode},</if>
+            <if test="website != null">#{website},</if>
+            <if test="supplierPhone != null">#{supplierPhone},</if>
+            <if test="fax != null">#{fax},</if>
+            <if test="supplierMan != null">#{supplierMan},</if>
+            <if test="manPhone != null">#{manPhone},</if>
+            <if test="supplierNature != null">#{supplierNature},</if>
+            <if test="supplierBusiness != null">#{supplierBusiness},</if>
+            <if test="supplierScale != null">#{supplierScale},</if>
+            <if test="supplierType != null">#{supplierType},</if>
+            <if test="isMarket != null">#{isMarket},</if>
+            <if test="isBrand != null">#{isBrand},</if>
+            <if test="supplierDesc != null">#{supplierDesc},</if>
             <if test="supplierCode != null">#{supplierCode},</if>
             <if test="registration != null">#{registration},</if>
             <if test="establishmentDate != null">#{establishmentDate},</if>
@@ -311,7 +312,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="headerPostCode != null">#{headerPostCode},</if>
             <if test="prosPicture != null">#{prosPicture},</if>
             <if test="consPicture != null">#{consPicture},</if>
-            <if test="status != null and status != ''">#{status},</if>
+            <if test="status != null">#{status},</if>
             <if test="refuseMsg != null">#{refuseMsg},</if>
             <if test="soldOutMsg != null">#{soldOutMsg},</if>
             <if test="putawayTime != null">#{putawayTime},</if>
@@ -323,26 +324,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <update id="updateSupplierInfo" parameterType="SupplierInfo">
         update supplier_info
         <trim prefix="SET" suffixOverrides=",">
-            <if test="zsId != null and zsId != ''">zs_id = #{zsId},</if>
+            <if test="zsId != null">zs_id = #{zsId},</if>
             <if test="supplierName != null and supplierName != ''">supplier_name = #{supplierName},</if>
-            <if test="supplierReName != null and supplierReName != ''">supplier_re_name = #{supplierReName},</if>
+            <if test="supplierReName != null">supplier_re_name = #{supplierReName},</if>
             <if test="address != null and address != ''">address = #{address},</if>
             <if test="detailAddress != null and detailAddress != ''">detail_address = #{detailAddress},</if>
-            <if test="logo != null and logo != ''">logo = #{logo},</if>
-            <if test="businessAddress != null and businessAddress != ''">business_address = #{businessAddress},</if>
-            <if test="postCode != null and postCode != ''">post_code = #{postCode},</if>
-            <if test="website != null and website != ''">website = #{website},</if>
-            <if test="supplierPhone != null and supplierPhone != ''">supplier_phone = #{supplierPhone},</if>
-            <if test="fax != null and fax != ''">fax = #{fax},</if>
-            <if test="supplierMan != null and supplierMan != ''">supplier_man = #{supplierMan},</if>
-            <if test="manPhone != null and manPhone != ''">man_phone = #{manPhone},</if>
-            <if test="supplierNature != null and supplierNature != ''">supplier_nature = #{supplierNature},</if>
-            <if test="supplierBusiness != null and supplierBusiness != ''">supplier_business = #{supplierBusiness},</if>
-            <if test="supplierScale != null and supplierScale != ''">supplier_scale = #{supplierScale},</if>
-            <if test="supplierType != null and supplierType != ''">supplier_type = #{supplierType},</if>
-            <if test="isMarket != null and isMarket != ''">is_market = #{isMarket},</if>
-            <if test="isBrand != null and isBrand != ''">is_brand = #{isBrand},</if>
-            <if test="supplierDesc != null and supplierDesc != ''">supplier_desc = #{supplierDesc},</if>
+            <if test="logo != null">logo = #{logo},</if>
+            <if test="businessAddress != null">business_address = #{businessAddress},</if>
+            <if test="postCode != null">post_code = #{postCode},</if>
+            <if test="website != null">website = #{website},</if>
+            <if test="supplierPhone != null">supplier_phone = #{supplierPhone},</if>
+            <if test="fax != null">fax = #{fax},</if>
+            <if test="supplierMan != null">supplier_man = #{supplierMan},</if>
+            <if test="manPhone != null">man_phone = #{manPhone},</if>
+            <if test="supplierNature != null">supplier_nature = #{supplierNature},</if>
+            <if test="supplierBusiness != null">supplier_business = #{supplierBusiness},</if>
+            <if test="supplierScale != null">supplier_scale = #{supplierScale},</if>
+            <if test="supplierType != null">supplier_type = #{supplierType},</if>
+            <if test="isMarket != null">is_market = #{isMarket},</if>
+            <if test="isBrand != null">is_brand = #{isBrand},</if>
+            <if test="supplierDesc != null">supplier_desc = #{supplierDesc},</if>
             <if test="supplierCode != null">supplier_code = #{supplierCode},</if>
             <if test="registration != null">registration = #{registration},</if>
             <if test="establishmentDate != null">establishment_date = #{establishmentDate},</if>
@@ -389,7 +390,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="headerPostCode != null">header_post_code = #{headerPostCode},</if>
             <if test="prosPicture != null">pros_picture = #{prosPicture},</if>
             <if test="consPicture != null">cons_picture = #{consPicture},</if>
-            <if test="status != null and status != ''">status = #{status},</if>
+            <if test="status != null">status = #{status},</if>
             <if test="refuseMsg != null">refuse_msg = #{refuseMsg},</if>
             <if test="soldOutMsg != null">sold_out_msg = #{soldOutMsg},</if>
             <if test="putawayTime != null">putaway_time = #{putawayTime},</if>