懒羊羊
2023-10-09 ffeba3afc3a78c0f479f500f3d68d5c6915c7851
配方基础表
已修改2个文件
已添加30个文件
2848 ■■■■■ 文件已修改
guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/bs/formula/controller/FormulaInfoController.java 136 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/bs/formula/entity/FormulaInfo.java 195 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/bs/formula/mapper/FormulaInfoMapper.java 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/bs/formula/mapper/mapping/FormulaInfoMapper.xml 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/bs/formula/model/params/FormulaInfoParam.java 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/bs/formula/model/result/FormulaInfoResult.java 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/bs/formula/service/FormulaInfoService.java 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/bs/formula/service/impl/FormulaInfoServiceImpl.java 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/bs/formulaChild/controller/FormulaChildInfoController.java 158 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/bs/formulaChild/entity/FormulaChildInfo.java 345 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/bs/formulaChild/mapper/FormulaChildInfoMapper.java 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/bs/formulaChild/mapper/mapping/FormulaChildInfoMapper.xml 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/bs/formulaChild/model/params/FormulaChildInfoParam.java 133 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/bs/formulaChild/model/result/FormulaChildInfoResult.java 127 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/bs/formulaChild/service/FormulaChildInfoService.java 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/bs/formulaChild/service/impl/FormulaChildInfoServiceImpl.java 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
guns-vip-main/src/main/sqls/formulaChildInfo_menus.sql 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
guns-vip-main/src/main/sqls/formulaInfo_menus.sql 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
guns-vip-main/src/main/webapp/assets/modular/bs/formulaChildInfo/formulaChildInfo.js 164 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
guns-vip-main/src/main/webapp/assets/modular/bs/formulaChildInfo/formulaChildInfo_add.js 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
guns-vip-main/src/main/webapp/assets/modular/bs/formulaChildInfo/formulaChildInfo_edit.js 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
guns-vip-main/src/main/webapp/assets/modular/bs/formulaInfo/formulaInfo.js 139 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
guns-vip-main/src/main/webapp/assets/modular/bs/formulaInfo/formulaInfo_add.js 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
guns-vip-main/src/main/webapp/assets/modular/bs/formulaInfo/formulaInfo_edit.js 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
guns-vip-main/src/main/webapp/assets/modular/kb/formula/formulaView.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
guns-vip-main/src/main/webapp/pages/modular/bs/formulaChildInfo/formulaChildInfo.html 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
guns-vip-main/src/main/webapp/pages/modular/bs/formulaChildInfo/formulaChildInfo_add.html 118 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
guns-vip-main/src/main/webapp/pages/modular/bs/formulaChildInfo/formulaChildInfo_edit.html 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
guns-vip-main/src/main/webapp/pages/modular/bs/formulaInfo/formulaInfo.html 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
guns-vip-main/src/main/webapp/pages/modular/bs/formulaInfo/formulaInfo_add.html 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
guns-vip-main/src/main/webapp/pages/modular/bs/formulaInfo/formulaInfo_edit.html 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
guns-vip-main/src/main/webapp/pages/modular/kb/formula/formulaView.html 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/bs/formula/controller/FormulaInfoController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,136 @@
package cn.stylefeng.guns.modular.zsx.bs.formula.controller;
import cn.stylefeng.guns.base.pojo.page.LayuiPageInfo;
import cn.stylefeng.guns.modular.zsx.bs.formula.entity.FormulaInfo;
import cn.stylefeng.guns.modular.zsx.bs.formula.model.params.FormulaInfoParam;
import cn.stylefeng.guns.modular.zsx.bs.formula.service.FormulaInfoService;
import cn.stylefeng.roses.core.base.controller.BaseController;
import cn.stylefeng.roses.kernel.model.response.ResponseData;
import cn.stylefeng.roses.core.mutidatasource.annotion.DataSource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
/**
 * é…æ–¹é…ç½®æŽ§åˆ¶å™¨
 *
 * @author ruimin
 * @Date 2023-10-09 15:39:01
 */
@Controller
@RequestMapping("/formulaInfo")
public class FormulaInfoController extends BaseController {
    private String PREFIX = "/modular/bs/formulaInfo";
    @Autowired
    private FormulaInfoService formulaInfoService;
    /**
     * è·³è½¬åˆ°ä¸»é¡µé¢
     *
     * @author ruimin
     * @Date 2023-10-09
     */
    @RequestMapping("")
    public String index() {
        return PREFIX + "/formulaInfo.html";
    }
    /**
     * æ–°å¢žé¡µé¢
     *
     * @author ruimin
     * @Date 2023-10-09
     */
    @RequestMapping("/add")
    public String add() {
        return PREFIX + "/formulaInfo_add.html";
    }
    /**
     * ç¼–辑页面
     *
     * @author ruimin
     * @Date 2023-10-09
     */
    @RequestMapping("/edit")
    public String edit() {
        return PREFIX + "/formulaInfo_edit.html";
    }
    /**
     * æ–°å¢žæŽ¥å£
     *
     * @author ruimin
     * @Date 2023-10-09
     */
    @RequestMapping("/addItem")
    @ResponseBody
    @DataSource(name = "self")
    public ResponseData addItem(FormulaInfoParam formulaInfoParam) {
        this.formulaInfoService.add(formulaInfoParam);
        return ResponseData.success();
    }
    /**
     * ç¼–辑接口
     *
     * @author ruimin
     * @Date 2023-10-09
     */
    @RequestMapping("/editItem")
    @ResponseBody
    @DataSource(name = "self")
    public ResponseData editItem(FormulaInfoParam formulaInfoParam) {
        this.formulaInfoService.update(formulaInfoParam);
        return ResponseData.success();
    }
    /**
     * åˆ é™¤æŽ¥å£
     *
     * @author ruimin
     * @Date 2023-10-09
     */
    @RequestMapping("/delete")
    @ResponseBody
    @DataSource(name = "self")
    public ResponseData delete(FormulaInfoParam formulaInfoParam) {
        this.formulaInfoService.delete(formulaInfoParam);
        return ResponseData.success();
    }
    /**
     * æŸ¥çœ‹è¯¦æƒ…接口
     *
     * @author ruimin
     * @Date 2023-10-09
     */
    @RequestMapping("/detail")
    @ResponseBody
    @DataSource(name = "self")
    public ResponseData detail(FormulaInfoParam formulaInfoParam) {
        FormulaInfo detail = this.formulaInfoService.getById(formulaInfoParam.getId());
        return ResponseData.success(detail);
    }
    /**
     * æŸ¥è¯¢åˆ—表
     *
     * @author ruimin
     * @Date 2023-10-09
     */
    @ResponseBody
    @RequestMapping("/list")
    @DataSource(name = "self")
    public LayuiPageInfo list(FormulaInfoParam formulaInfoParam) {
        return this.formulaInfoService.findPageBySpec(formulaInfoParam);
    }
}
guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/bs/formula/entity/FormulaInfo.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,195 @@
package cn.stylefeng.guns.modular.zsx.bs.formula.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
/**
 * <p>
 * é…æ–¹é…ç½®
 * </p>
 *
 * @author ruimin
 * @since 2023-10-09
 */
@TableName("bs_formula_info")
public class FormulaInfo implements Serializable {
    private static final long serialVersionUID=1L;
    /**
     * ä¸»é”®id
     */
      @TableId(value = "id", type = IdType.ID_WORKER)
    private Long id;
    /**
     * é…æ–¹ç¼–码
     */
    @TableField("formula_code")
    private String formulaCode;
    /**
     * é…æ–¹åç§°
     */
    @TableField("formula_name")
    private String formulaName;
    /**
     * çŠ¶æ€(字典)
     */
    @TableField("status")
    private String status;
    /**
     * é¢„留字段1
     */
    @TableField("spare_field_1")
    private String spareField1;
    /**
     * é¢„留字段2
     */
    @TableField("spare_field_2")
    private String spareField2;
    /**
     * å¤‡æ³¨
     */
    @TableField("remark")
    private String remark;
    /**
     * åˆ›å»ºç”¨æˆ·
     */
      @TableField(value = "create_user", fill = FieldFill.INSERT)
    private String createUser;
    /**
     * åˆ›å»ºæ—¶é—´
     */
      @TableField(value = "create_time", fill = FieldFill.INSERT)
    private Date createTime;
    /**
     * æ›´æ”¹ç”¨æˆ·
     */
      @TableField(value = "update_user", fill = FieldFill.UPDATE)
    private String updateUser;
    /**
     * æ›´æ”¹æ—¶é—´
     */
      @TableField(value = "update_time", fill = FieldFill.UPDATE)
    private Date updateTime;
    public Long getId() {
        return id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    public String getFormulaCode() {
        return formulaCode;
    }
    public void setFormulaCode(String formulaCode) {
        this.formulaCode = formulaCode;
    }
    public String getFormulaName() {
        return formulaName;
    }
    public void setFormulaName(String formulaName) {
        this.formulaName = formulaName;
    }
    public String getStatus() {
        return status;
    }
    public void setStatus(String status) {
        this.status = status;
    }
    public String getSpareField1() {
        return spareField1;
    }
    public void setSpareField1(String spareField1) {
        this.spareField1 = spareField1;
    }
    public String getSpareField2() {
        return spareField2;
    }
    public void setSpareField2(String spareField2) {
        this.spareField2 = spareField2;
    }
    public String getRemark() {
        return remark;
    }
    public void setRemark(String remark) {
        this.remark = remark;
    }
    public String getCreateUser() {
        return createUser;
    }
    public void setCreateUser(String createUser) {
        this.createUser = createUser;
    }
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    public String getUpdateUser() {
        return updateUser;
    }
    public void setUpdateUser(String updateUser) {
        this.updateUser = updateUser;
    }
    public Date getUpdateTime() {
        return updateTime;
    }
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }
    @Override
    public String toString() {
        return "FormulaInfo{" +
        "id=" + id +
        ", formulaCode=" + formulaCode +
        ", formulaName=" + formulaName +
        ", status=" + status +
        ", spareField1=" + spareField1 +
        ", spareField2=" + spareField2 +
        ", remark=" + remark +
        ", createUser=" + createUser +
        ", createTime=" + createTime +
        ", updateUser=" + updateUser +
        ", updateTime=" + updateTime +
        "}";
    }
}
guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/bs/formula/mapper/FormulaInfoMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,56 @@
package cn.stylefeng.guns.modular.zsx.bs.formula.mapper;
import cn.stylefeng.guns.modular.zsx.bs.formula.entity.FormulaInfo;
import cn.stylefeng.guns.modular.zsx.bs.formula.model.params.FormulaInfoParam;
import cn.stylefeng.guns.modular.zsx.bs.formula.model.result.FormulaInfoResult;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
 * <p>
 * é…æ–¹é…ç½® Mapper æŽ¥å£
 * </p>
 *
 * @author ruimin
 * @since 2023-10-09
 */
public interface FormulaInfoMapper extends BaseMapper<FormulaInfo> {
    /**
     * èŽ·å–列表
     *
     * @author ruimin
     * @Date 2023-10-09
     */
    List<FormulaInfoResult> customList(@Param("paramCondition") FormulaInfoParam paramCondition);
    /**
     * èŽ·å–map列表
     *
     * @author ruimin
     * @Date 2023-10-09
     */
    List<Map<String, Object>> customMapList(@Param("paramCondition") FormulaInfoParam paramCondition);
    /**
     * èŽ·å–分页实体列表
     *
     * @author ruimin
     * @Date 2023-10-09
     */
    Page<FormulaInfoResult> customPageList(@Param("page") Page page, @Param("paramCondition") FormulaInfoParam paramCondition);
    /**
     * èŽ·å–分页map列表
     *
     * @author ruimin
     * @Date 2023-10-09
     */
    Page<Map<String, Object>> customPageMapList(@Param("page") Page page, @Param("paramCondition") FormulaInfoParam paramCondition);
}
guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/bs/formula/mapper/mapping/FormulaInfoMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,74 @@
<?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="cn.stylefeng.guns.modular.zsx.bs.formula.mapper.FormulaInfoMapper">
    <!-- é€šç”¨æŸ¥è¯¢æ˜ å°„结果 -->
    <resultMap id="BaseResultMap" type="cn.stylefeng.guns.modular.zsx.bs.formula.entity.FormulaInfo">
        <id column="id" property="id" />
        <result column="formula_code" property="formulaCode" />
        <result column="formula_name" property="formulaName" />
        <result column="status" property="status" />
        <result column="spare_field_1" property="spareField1" />
        <result column="spare_field_2" property="spareField2" />
        <result column="remark" property="remark" />
        <result column="create_user" property="createUser" />
        <result column="create_time" property="createTime" />
        <result column="update_user" property="updateUser" />
        <result column="update_time" property="updateTime" />
    </resultMap>
    <!-- é€šç”¨æŸ¥è¯¢ç»“果列 -->
    <sql id="Base_Column_List">
        id AS "id", formula_code AS "formulaCode", formula_name AS "formulaName", status AS "status", spare_field_1 AS "spareField1", spare_field_2 AS "spareField2", remark AS "remark", create_user AS "createUser", create_time AS "createTime", update_user AS "updateUser", update_time AS "updateTime"
    </sql>
    <select id="customList" resultType="cn.stylefeng.guns.modular.zsx.bs.formula.model.result.FormulaInfoResult" parameterType="cn.stylefeng.guns.modular.zsx.bs.formula.model.params.FormulaInfoParam">
        select
        <include refid="Base_Column_List"/>
        from bs_formula_info where 1 = 1
            <if test="paramCondition.formulaCode != null and paramCondition.formulaCode != ''">
                and formula_code like CONCAT('%',#{paramCondition.formulaCode},'%')
            </if>
            <if test="paramCondition.formulaName != null and paramCondition.formulaName != ''">
                and formula_name like CONCAT('%',#{paramCondition.formulaName},'%')
            </if>
    </select>
    <select id="customMapList" resultType="map" parameterType="cn.stylefeng.guns.modular.zsx.bs.formula.model.params.FormulaInfoParam">
        select
        <include refid="Base_Column_List"/>
        from bs_formula_info where 1 = 1
            <if test="paramCondition.formulaCode != null and paramCondition.formulaCode != ''">
                and formula_code like CONCAT('%',#{paramCondition.formulaCode},'%')
            </if>
            <if test="paramCondition.formulaName != null and paramCondition.formulaName != ''">
                and formula_name like CONCAT('%',#{paramCondition.formulaName},'%')
            </if>
    </select>
    <select id="customPageList" resultType="cn.stylefeng.guns.modular.zsx.bs.formula.model.result.FormulaInfoResult" parameterType="cn.stylefeng.guns.modular.zsx.bs.formula.model.params.FormulaInfoParam">
        select
        <include refid="Base_Column_List"/>
        from bs_formula_info where 1 = 1
            <if test="paramCondition.formulaCode != null and paramCondition.formulaCode != ''">
                and formula_code like CONCAT('%',#{paramCondition.formulaCode},'%')
            </if>
            <if test="paramCondition.formulaName != null and paramCondition.formulaName != ''">
                and formula_name like CONCAT('%',#{paramCondition.formulaName},'%')
            </if>
    </select>
    <select id="customPageMapList" resultType="map" parameterType="cn.stylefeng.guns.modular.zsx.bs.formula.model.params.FormulaInfoParam">
        select
        <include refid="Base_Column_List"/>
        from bs_formula_info where 1 = 1
            <if test="paramCondition.formulaCode != null and paramCondition.formulaCode != ''">
                and formula_code like CONCAT('%',#{paramCondition.formulaCode},'%')
            </if>
            <if test="paramCondition.formulaName != null and paramCondition.formulaName != ''">
                and formula_name like CONCAT('%',#{paramCondition.formulaName},'%')
            </if>
    </select>
</mapper>
guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/bs/formula/model/params/FormulaInfoParam.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,83 @@
package cn.stylefeng.guns.modular.zsx.bs.formula.model.params;
import lombok.Data;
import cn.stylefeng.roses.kernel.model.validator.BaseValidatingParam;
import java.util.Date;
import java.io.Serializable;
import java.math.BigDecimal;
/**
 * <p>
 * é…æ–¹é…ç½®
 * </p>
 *
 * @author ruimin
 * @since 2023-10-09
 */
@Data
public class FormulaInfoParam implements Serializable, BaseValidatingParam {
    private static final long serialVersionUID = 1L;
    /**
     * ä¸»é”®id
     */
    private Long id;
    /**
     * é…æ–¹ç¼–码
     */
    private String formulaCode;
    /**
     * é…æ–¹åç§°
     */
    private String formulaName;
    /**
     * çŠ¶æ€(字典)
     */
    private String status;
    /**
     * é¢„留字段1
     */
    private String spareField1;
    /**
     * é¢„留字段2
     */
    private String spareField2;
    /**
     * å¤‡æ³¨
     */
    private String remark;
    /**
     * åˆ›å»ºç”¨æˆ·
     */
    private String createUser;
    /**
     * åˆ›å»ºæ—¶é—´
     */
    private Date createTime;
    /**
     * æ›´æ”¹ç”¨æˆ·
     */
    private String updateUser;
    /**
     * æ›´æ”¹æ—¶é—´
     */
    private Date updateTime;
    @Override
    public String checkParam() {
        return null;
    }
}
guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/bs/formula/model/result/FormulaInfoResult.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,77 @@
package cn.stylefeng.guns.modular.zsx.bs.formula.model.result;
import lombok.Data;
import java.util.Date;
import java.io.Serializable;
import java.math.BigDecimal;
/**
 * <p>
 * é…æ–¹é…ç½®
 * </p>
 *
 * @author ruimin
 * @since 2023-10-09
 */
@Data
public class FormulaInfoResult implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * ä¸»é”®id
     */
    private Long id;
    /**
     * é…æ–¹ç¼–码
     */
    private String formulaCode;
    /**
     * é…æ–¹åç§°
     */
    private String formulaName;
    /**
     * çŠ¶æ€(字典)
     */
    private String status;
    /**
     * é¢„留字段1
     */
    private String spareField1;
    /**
     * é¢„留字段2
     */
    private String spareField2;
    /**
     * å¤‡æ³¨
     */
    private String remark;
    /**
     * åˆ›å»ºç”¨æˆ·
     */
    private String createUser;
    /**
     * åˆ›å»ºæ—¶é—´
     */
    private Date createTime;
    /**
     * æ›´æ”¹ç”¨æˆ·
     */
    private String updateUser;
    /**
     * æ›´æ”¹æ—¶é—´
     */
    private Date updateTime;
}
guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/bs/formula/service/FormulaInfoService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,69 @@
package cn.stylefeng.guns.modular.zsx.bs.formula.service;
import cn.stylefeng.guns.base.pojo.page.LayuiPageInfo;
import cn.stylefeng.guns.modular.zsx.bs.formula.entity.FormulaInfo;
import cn.stylefeng.guns.modular.zsx.bs.formula.model.params.FormulaInfoParam;
import cn.stylefeng.guns.modular.zsx.bs.formula.model.result.FormulaInfoResult;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
 * <p>
 * é…æ–¹é…ç½® æœåŠ¡ç±»
 * </p>
 *
 * @author ruimin
 * @since 2023-10-09
 */
public interface FormulaInfoService extends IService<FormulaInfo> {
    /**
     * æ–°å¢ž
     *
     * @author ruimin
     * @Date 2023-10-09
     */
    void add(FormulaInfoParam param);
    /**
     * åˆ é™¤
     *
     * @author ruimin
     * @Date 2023-10-09
     */
    void delete(FormulaInfoParam param);
    /**
     * æ›´æ–°
     *
     * @author ruimin
     * @Date 2023-10-09
     */
    void update(FormulaInfoParam param);
    /**
     * æŸ¥è¯¢å•æ¡æ•°æ®ï¼ŒSpecification模式
     *
     * @author ruimin
     * @Date 2023-10-09
     */
    FormulaInfoResult findBySpec(FormulaInfoParam param);
    /**
     * æŸ¥è¯¢åˆ—表,Specification模式
     *
     * @author ruimin
     * @Date 2023-10-09
     */
    List<FormulaInfoResult> findListBySpec(FormulaInfoParam param);
    /**
     * æŸ¥è¯¢åˆ†é¡µæ•°æ®ï¼ŒSpecification模式
     *
     * @author ruimin
     * @Date 2023-10-09
     */
     LayuiPageInfo findPageBySpec(FormulaInfoParam param);
}
guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/bs/formula/service/impl/FormulaInfoServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,84 @@
package cn.stylefeng.guns.modular.zsx.bs.formula.service.impl;
import cn.stylefeng.guns.base.pojo.page.LayuiPageFactory;
import cn.stylefeng.guns.base.pojo.page.LayuiPageInfo;
import cn.stylefeng.guns.modular.zsx.bs.formula.entity.FormulaInfo;
import cn.stylefeng.guns.modular.zsx.bs.formula.mapper.FormulaInfoMapper;
import cn.stylefeng.guns.modular.zsx.bs.formula.model.params.FormulaInfoParam;
import cn.stylefeng.guns.modular.zsx.bs.formula.model.result.FormulaInfoResult;
import  cn.stylefeng.guns.modular.zsx.bs.formula.service.FormulaInfoService;
import cn.stylefeng.roses.core.util.ToolUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import java.io.Serializable;
import java.util.List;
/**
 * <p>
 * é…æ–¹é…ç½® æœåŠ¡å®žçŽ°ç±»
 * </p>
 *
 * @author ruimin
 * @since 2023-10-09
 */
@Service
public class FormulaInfoServiceImpl extends ServiceImpl<FormulaInfoMapper, FormulaInfo> implements FormulaInfoService {
    @Override
    public void add(FormulaInfoParam param){
        FormulaInfo entity = getEntity(param);
        this.save(entity);
    }
    @Override
    public void delete(FormulaInfoParam param){
        this.removeById(getKey(param));
    }
    @Override
    public void update(FormulaInfoParam param){
        FormulaInfo oldEntity = getOldEntity(param);
        FormulaInfo newEntity = getEntity(param);
        ToolUtil.copyProperties(newEntity, oldEntity);
        this.updateById(newEntity);
    }
    @Override
    public FormulaInfoResult findBySpec(FormulaInfoParam param){
        return null;
    }
    @Override
    public List<FormulaInfoResult> findListBySpec(FormulaInfoParam param){
        return null;
    }
    @Override
    public LayuiPageInfo findPageBySpec(FormulaInfoParam param){
        Page pageContext = getPageContext();
        IPage page = this.baseMapper.customPageList(pageContext, param);
        return LayuiPageFactory.createPageInfo(page);
    }
    private Serializable getKey(FormulaInfoParam param){
        return param.getId();
    }
    private Page getPageContext() {
        return LayuiPageFactory.defaultPage();
    }
    private FormulaInfo getOldEntity(FormulaInfoParam param) {
        return this.getById(getKey(param));
    }
    private FormulaInfo getEntity(FormulaInfoParam param) {
        FormulaInfo entity = new FormulaInfo();
        ToolUtil.copyProperties(param, entity);
        return entity;
    }
}
guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/bs/formulaChild/controller/FormulaChildInfoController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,158 @@
package cn.stylefeng.guns.modular.zsx.bs.formulaChild.controller;
import cn.stylefeng.guns.base.pojo.page.LayuiPageInfo;
import cn.stylefeng.guns.modular.zsx.bs.formula.entity.FormulaInfo;
import cn.stylefeng.guns.modular.zsx.bs.formula.service.FormulaInfoService;
import cn.stylefeng.guns.modular.zsx.bs.formulaChild.entity.FormulaChildInfo;
import cn.stylefeng.guns.modular.zsx.bs.formulaChild.model.params.FormulaChildInfoParam;
import cn.stylefeng.guns.modular.zsx.bs.formulaChild.service.FormulaChildInfoService;
import cn.stylefeng.guns.modular.zsx.bs.productBomInfo.entity.ProductBomInfo;
import cn.stylefeng.roses.core.base.controller.BaseController;
import cn.stylefeng.roses.kernel.model.exception.RequestEmptyException;
import cn.stylefeng.roses.kernel.model.response.ResponseData;
import cn.stylefeng.roses.core.mutidatasource.annotion.DataSource;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
/**
 * é…æ–¹é…ç½®å­ä¿¡æ¯æŽ§åˆ¶å™¨
 *
 * @author ruimin
 * @Date 2023-10-09 15:45:10
 */
@Controller
@RequestMapping("/formulaChildInfo")
public class FormulaChildInfoController extends BaseController {
    private String PREFIX = "/modular/bs/formulaChildInfo";
    @Autowired
    private FormulaChildInfoService formulaChildInfoService;
    @Autowired
    private FormulaInfoService formulaInfoService;
    /**
     * è·³è½¬åˆ°ä¸»é¡µé¢
     *
     * @author ruimin
     * @Date 2023-10-09
     */
    @RequestMapping("")
    @DataSource(name = "self")
    public String index(@RequestParam("formulaCode") String formulaCode, Model model) {
        model.addAttribute("formulaInfoCode", formulaCode);
        FormulaInfo formulaInfo = formulaInfoService.getOne(new QueryWrapper<FormulaInfo>().eq("formula_code", formulaCode));
        if (formulaInfo == null) {
            throw new RequestEmptyException();
        }
        return PREFIX + "/formulaChildInfo.html";
    }
    /**
     * æ–°å¢žé¡µé¢
     *
     * @author ruimin
     * @Date 2023-10-09
     */
    @RequestMapping("/add")
    @DataSource(name = "self")
    public String add(@RequestParam("formulaInfoCode") String formulaCode, Model model) {
        model.addAttribute("formulaInfoCode", formulaCode);
        FormulaInfo formulaInfo = formulaInfoService.getOne(new QueryWrapper<FormulaInfo>().eq("formula_code", formulaCode));
        if (formulaInfo == null) {
            throw new RequestEmptyException();
        }
        return PREFIX + "/formulaChildInfo_add.html";
    }
    /**
     * ç¼–辑页面
     *
     * @author ruimin
     * @Date 2023-10-09
     */
    @RequestMapping("/edit")
    public String edit() {
        return PREFIX + "/formulaChildInfo_edit.html";
    }
    /**
     * æ–°å¢žæŽ¥å£
     *
     * @author ruimin
     * @Date 2023-10-09
     */
    @RequestMapping("/addItem")
    @ResponseBody
    @DataSource(name = "self")
    public ResponseData addItem(FormulaChildInfoParam formulaChildInfoParam) {
        this.formulaChildInfoService.add(formulaChildInfoParam);
        return ResponseData.success();
    }
    /**
     * ç¼–辑接口
     *
     * @author ruimin
     * @Date 2023-10-09
     */
    @RequestMapping("/editItem")
    @ResponseBody
    @DataSource(name = "self")
    public ResponseData editItem(FormulaChildInfoParam formulaChildInfoParam) {
        this.formulaChildInfoService.update(formulaChildInfoParam);
        return ResponseData.success();
    }
    /**
     * åˆ é™¤æŽ¥å£
     *
     * @author ruimin
     * @Date 2023-10-09
     */
    @RequestMapping("/delete")
    @ResponseBody
    @DataSource(name = "self")
    public ResponseData delete(FormulaChildInfoParam formulaChildInfoParam) {
        this.formulaChildInfoService.delete(formulaChildInfoParam);
        return ResponseData.success();
    }
    /**
     * æŸ¥çœ‹è¯¦æƒ…接口
     *
     * @author ruimin
     * @Date 2023-10-09
     */
    @RequestMapping("/detail")
    @ResponseBody
    @DataSource(name = "self")
    public ResponseData detail(FormulaChildInfoParam formulaChildInfoParam) {
        FormulaChildInfo detail = this.formulaChildInfoService.getById(formulaChildInfoParam.getId());
        return ResponseData.success(detail);
    }
    /**
     * æŸ¥è¯¢åˆ—表
     *
     * @author ruimin
     * @Date 2023-10-09
     */
    @ResponseBody
    @RequestMapping("/list")
    @DataSource(name = "self")
    public LayuiPageInfo list(FormulaChildInfoParam formulaChildInfoParam) {
        return this.formulaChildInfoService.findPageBySpec(formulaChildInfoParam);
    }
}
guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/bs/formulaChild/entity/FormulaChildInfo.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,345 @@
package cn.stylefeng.guns.modular.zsx.bs.formulaChild.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
/**
 * <p>
 * é…æ–¹é…ç½®å­ä¿¡æ¯
 * </p>
 *
 * @author ruimin
 * @since 2023-10-09
 */
@TableName("bs_formula_child_info")
public class FormulaChildInfo implements Serializable {
    private static final long serialVersionUID=1L;
    /**
     * id
     */
      @TableId(value = "id", type = IdType.ID_WORKER)
    private Long id;
    /**
     * é…æ–¹ç¼–码
     */
    @TableField("formula_code")
    private String formulaCode;
    /**
     * äº§çº¿
     */
    @TableField("line_code")
    private String lineCode;
    /**
     * å·¥ä½
     */
    @TableField("location_code")
    private String locationCode;
    /**
     * äº§å“ç¼–号
     */
    @TableField("product_code")
    private String productCode;
    /**
     * æ“ä½œå†…容
     */
    @TableField("operation_steps")
    private String operationSteps;
    /**
     * æŠ€æœ¯è¦æ±‚
     */
    @TableField("tech_requirement")
    private String techRequirement;
    /**
     * ç±»åž‹ï¼ˆæ‰«æäº§å“æ¡ç 1、扫描物料条码2、拧紧类3)
     */
    @TableField("operation_type")
    private String operationType;
    /**
     * æŽ’序
     */
    @TableField("step_sort")
    private String stepSort;
    /**
     * å‚数编码
     */
    @TableField("param_code")
    private String paramCode;
    /**
     * ç‰©æ–™ç¼–码
     */
    @TableField("material_code")
    private String materialCode;
    /**
     * å›¾ç‰‡
     */
    @TableField("picture")
    private String picture;
    /**
     * å¤‡æ³¨
     */
    @TableField("remarks")
    private String remarks;
    /**
     * é¢„留字段1
     */
    @TableField("spare_field_1")
    private String spareField1;
    /**
     * é¢„留字段2
     */
    @TableField("spare_field_2")
    private String spareField2;
    /**
     * é¢„留字段3
     */
    @TableField("spare_field_3")
    private String spareField3;
    /**
     * é¢„留字段4
     */
    @TableField("spare_field_4")
    private String spareField4;
    /**
     * åˆ›å»ºç”¨æˆ·
     */
      @TableField(value = "create_user", fill = FieldFill.INSERT)
    private String createUser;
    /**
     * åˆ›å»ºæ—¶é—´
     */
      @TableField(value = "create_time", fill = FieldFill.INSERT)
    private Date createTime;
    /**
     * æ›´æ”¹ç”¨æˆ·
     */
      @TableField(value = "update_user", fill = FieldFill.UPDATE)
    private String updateUser;
    /**
     * æ›´æ”¹æ—¶é—´
     */
      @TableField(value = "update_time", fill = FieldFill.UPDATE)
    private Date updateTime;
    public Long getId() {
        return id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    public String getFormulaCode() {
        return formulaCode;
    }
    public void setFormulaCode(String formulaCode) {
        this.formulaCode = formulaCode;
    }
    public String getLineCode() {
        return lineCode;
    }
    public void setLineCode(String lineCode) {
        this.lineCode = lineCode;
    }
    public String getLocationCode() {
        return locationCode;
    }
    public void setLocationCode(String locationCode) {
        this.locationCode = locationCode;
    }
    public String getProductCode() {
        return productCode;
    }
    public void setProductCode(String productCode) {
        this.productCode = productCode;
    }
    public String getOperationSteps() {
        return operationSteps;
    }
    public void setOperationSteps(String operationSteps) {
        this.operationSteps = operationSteps;
    }
    public String getTechRequirement() {
        return techRequirement;
    }
    public void setTechRequirement(String techRequirement) {
        this.techRequirement = techRequirement;
    }
    public String getOperationType() {
        return operationType;
    }
    public void setOperationType(String operationType) {
        this.operationType = operationType;
    }
    public String getStepSort() {
        return stepSort;
    }
    public void setStepSort(String stepSort) {
        this.stepSort = stepSort;
    }
    public String getParamCode() {
        return paramCode;
    }
    public void setParamCode(String paramCode) {
        this.paramCode = paramCode;
    }
    public String getMaterialCode() {
        return materialCode;
    }
    public void setMaterialCode(String materialCode) {
        this.materialCode = materialCode;
    }
    public String getPicture() {
        return picture;
    }
    public void setPicture(String picture) {
        this.picture = picture;
    }
    public String getRemarks() {
        return remarks;
    }
    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }
    public String getSpareField1() {
        return spareField1;
    }
    public void setSpareField1(String spareField1) {
        this.spareField1 = spareField1;
    }
    public String getSpareField2() {
        return spareField2;
    }
    public void setSpareField2(String spareField2) {
        this.spareField2 = spareField2;
    }
    public String getSpareField3() {
        return spareField3;
    }
    public void setSpareField3(String spareField3) {
        this.spareField3 = spareField3;
    }
    public String getSpareField4() {
        return spareField4;
    }
    public void setSpareField4(String spareField4) {
        this.spareField4 = spareField4;
    }
    public String getCreateUser() {
        return createUser;
    }
    public void setCreateUser(String createUser) {
        this.createUser = createUser;
    }
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    public String getUpdateUser() {
        return updateUser;
    }
    public void setUpdateUser(String updateUser) {
        this.updateUser = updateUser;
    }
    public Date getUpdateTime() {
        return updateTime;
    }
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }
    @Override
    public String toString() {
        return "FormulaChildInfo{" +
        "id=" + id +
        ", formulaCode=" + formulaCode +
        ", lineCode=" + lineCode +
        ", locationCode=" + locationCode +
        ", productCode=" + productCode +
        ", operationSteps=" + operationSteps +
        ", techRequirement=" + techRequirement +
        ", operationType=" + operationType +
        ", stepSort=" + stepSort +
        ", paramCode=" + paramCode +
        ", materialCode=" + materialCode +
        ", picture=" + picture +
        ", remarks=" + remarks +
        ", spareField1=" + spareField1 +
        ", spareField2=" + spareField2 +
        ", spareField3=" + spareField3 +
        ", spareField4=" + spareField4 +
        ", createUser=" + createUser +
        ", createTime=" + createTime +
        ", updateUser=" + updateUser +
        ", updateTime=" + updateTime +
        "}";
    }
}
guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/bs/formulaChild/mapper/FormulaChildInfoMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,56 @@
package cn.stylefeng.guns.modular.zsx.bs.formulaChild.mapper;
import cn.stylefeng.guns.modular.zsx.bs.formulaChild.entity.FormulaChildInfo;
import cn.stylefeng.guns.modular.zsx.bs.formulaChild.model.params.FormulaChildInfoParam;
import cn.stylefeng.guns.modular.zsx.bs.formulaChild.model.result.FormulaChildInfoResult;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
 * <p>
 * é…æ–¹é…ç½®å­ä¿¡æ¯ Mapper æŽ¥å£
 * </p>
 *
 * @author ruimin
 * @since 2023-10-09
 */
public interface FormulaChildInfoMapper extends BaseMapper<FormulaChildInfo> {
    /**
     * èŽ·å–列表
     *
     * @author ruimin
     * @Date 2023-10-09
     */
    List<FormulaChildInfoResult> customList(@Param("paramCondition") FormulaChildInfoParam paramCondition);
    /**
     * èŽ·å–map列表
     *
     * @author ruimin
     * @Date 2023-10-09
     */
    List<Map<String, Object>> customMapList(@Param("paramCondition") FormulaChildInfoParam paramCondition);
    /**
     * èŽ·å–分页实体列表
     *
     * @author ruimin
     * @Date 2023-10-09
     */
    Page<FormulaChildInfoResult> customPageList(@Param("page") Page page, @Param("paramCondition") FormulaChildInfoParam paramCondition);
    /**
     * èŽ·å–分页map列表
     *
     * @author ruimin
     * @Date 2023-10-09
     */
    Page<Map<String, Object>> customPageMapList(@Param("page") Page page, @Param("paramCondition") FormulaChildInfoParam paramCondition);
}
guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/bs/formulaChild/mapper/mapping/FormulaChildInfoMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,120 @@
<?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="cn.stylefeng.guns.modular.zsx.bs.formulaChild.mapper.FormulaChildInfoMapper">
    <!-- é€šç”¨æŸ¥è¯¢æ˜ å°„结果 -->
    <resultMap id="BaseResultMap" type="cn.stylefeng.guns.modular.zsx.bs.formulaChild.entity.FormulaChildInfo">
        <id column="id" property="id" />
        <result column="formula_code" property="formulaCode" />
        <result column="line_code" property="lineCode" />
        <result column="location_code" property="locationCode" />
        <result column="product_code" property="productCode" />
        <result column="operation_steps" property="operationSteps" />
        <result column="tech_requirement" property="techRequirement" />
        <result column="operation_type" property="operationType" />
        <result column="step_sort" property="stepSort" />
        <result column="param_code" property="paramCode" />
        <result column="material_code" property="materialCode" />
        <result column="picture" property="picture" />
        <result column="remarks" property="remarks" />
        <result column="spare_field_1" property="spareField1" />
        <result column="spare_field_2" property="spareField2" />
        <result column="spare_field_3" property="spareField3" />
        <result column="spare_field_4" property="spareField4" />
        <result column="create_user" property="createUser" />
        <result column="create_time" property="createTime" />
        <result column="update_user" property="updateUser" />
        <result column="update_time" property="updateTime" />
    </resultMap>
    <!-- é€šç”¨æŸ¥è¯¢ç»“果列 -->
    <sql id="Base_Column_List">
        id AS "id", formula_code AS "formulaCode", line_code AS "lineCode", location_code AS "locationCode", product_code AS "productCode", operation_steps AS "operationSteps", tech_requirement AS "techRequirement", operation_type AS "operationType", step_sort AS "stepSort", param_code AS "paramCode", material_code AS "materialCode", picture AS "picture", remarks AS "remarks", spare_field_1 AS "spareField1", spare_field_2 AS "spareField2", spare_field_3 AS "spareField3", spare_field_4 AS "spareField4", create_user AS "createUser", create_time AS "createTime", update_user AS "updateUser", update_time AS "updateTime"
    </sql>
    <select id="customList" resultType="cn.stylefeng.guns.modular.zsx.bs.formulaChild.model.result.FormulaChildInfoResult" parameterType="cn.stylefeng.guns.modular.zsx.bs.formulaChild.model.params.FormulaChildInfoParam">
        select
        <include refid="Base_Column_List"/>
        from bs_formula_child_info where 1 = 1
            <if test="paramCondition.formulaCode != null and paramCondition.formulaCode != ''">
                and formula_code like CONCAT('%',#{paramCondition.formulaCode},'%')
            </if>
            <if test="paramCondition.lineCode != null and paramCondition.lineCode != ''">
                and line_code like CONCAT('%',#{paramCondition.lineCode},'%')
            </if>
            <if test="paramCondition.locationCode != null and paramCondition.locationCode != ''">
                and location_code like CONCAT('%',#{paramCondition.locationCode},'%')
            </if>
            <if test="paramCondition.productCode != null and paramCondition.productCode != ''">
                and product_code like CONCAT('%',#{paramCondition.productCode},'%')
            </if>
            <if test="paramCondition.materialCode != null and paramCondition.materialCode != ''">
                and material_code like CONCAT('%',#{paramCondition.materialCode},'%')
            </if>
    </select>
    <select id="customMapList" resultType="map" parameterType="cn.stylefeng.guns.modular.zsx.bs.formulaChild.model.params.FormulaChildInfoParam">
        select
        <include refid="Base_Column_List"/>
        from bs_formula_child_info where 1 = 1
            <if test="paramCondition.formulaCode != null and paramCondition.formulaCode != ''">
                and formula_code like CONCAT('%',#{paramCondition.formulaCode},'%')
            </if>
            <if test="paramCondition.lineCode != null and paramCondition.lineCode != ''">
                and line_code like CONCAT('%',#{paramCondition.lineCode},'%')
            </if>
            <if test="paramCondition.locationCode != null and paramCondition.locationCode != ''">
                and location_code like CONCAT('%',#{paramCondition.locationCode},'%')
            </if>
            <if test="paramCondition.productCode != null and paramCondition.productCode != ''">
                and product_code like CONCAT('%',#{paramCondition.productCode},'%')
            </if>
            <if test="paramCondition.materialCode != null and paramCondition.materialCode != ''">
                and material_code like CONCAT('%',#{paramCondition.materialCode},'%')
            </if>
    </select>
    <select id="customPageList" resultType="cn.stylefeng.guns.modular.zsx.bs.formulaChild.model.result.FormulaChildInfoResult" parameterType="cn.stylefeng.guns.modular.zsx.bs.formulaChild.model.params.FormulaChildInfoParam">
        select
        <include refid="Base_Column_List"/>
        from bs_formula_child_info where 1 = 1
            <if test="paramCondition.formulaCode != null and paramCondition.formulaCode != ''">
                and formula_code like CONCAT('%',#{paramCondition.formulaCode},'%')
            </if>
            <if test="paramCondition.lineCode != null and paramCondition.lineCode != ''">
                and line_code like CONCAT('%',#{paramCondition.lineCode},'%')
            </if>
            <if test="paramCondition.locationCode != null and paramCondition.locationCode != ''">
                and location_code like CONCAT('%',#{paramCondition.locationCode},'%')
            </if>
            <if test="paramCondition.productCode != null and paramCondition.productCode != ''">
                and product_code like CONCAT('%',#{paramCondition.productCode},'%')
            </if>
            <if test="paramCondition.materialCode != null and paramCondition.materialCode != ''">
                and material_code like CONCAT('%',#{paramCondition.materialCode},'%')
            </if>
    </select>
    <select id="customPageMapList" resultType="map" parameterType="cn.stylefeng.guns.modular.zsx.bs.formulaChild.model.params.FormulaChildInfoParam">
        select
        <include refid="Base_Column_List"/>
        from bs_formula_child_info where 1 = 1
            <if test="paramCondition.formulaCode != null and paramCondition.formulaCode != ''">
                and formula_code like CONCAT('%',#{paramCondition.formulaCode},'%')
            </if>
            <if test="paramCondition.lineCode != null and paramCondition.lineCode != ''">
                and line_code like CONCAT('%',#{paramCondition.lineCode},'%')
            </if>
            <if test="paramCondition.locationCode != null and paramCondition.locationCode != ''">
                and location_code like CONCAT('%',#{paramCondition.locationCode},'%')
            </if>
            <if test="paramCondition.productCode != null and paramCondition.productCode != ''">
                and product_code like CONCAT('%',#{paramCondition.productCode},'%')
            </if>
            <if test="paramCondition.materialCode != null and paramCondition.materialCode != ''">
                and material_code like CONCAT('%',#{paramCondition.materialCode},'%')
            </if>
    </select>
</mapper>
guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/bs/formulaChild/model/params/FormulaChildInfoParam.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,133 @@
package cn.stylefeng.guns.modular.zsx.bs.formulaChild.model.params;
import lombok.Data;
import cn.stylefeng.roses.kernel.model.validator.BaseValidatingParam;
import java.util.Date;
import java.io.Serializable;
import java.math.BigDecimal;
/**
 * <p>
 * é…æ–¹é…ç½®å­ä¿¡æ¯
 * </p>
 *
 * @author ruimin
 * @since 2023-10-09
 */
@Data
public class FormulaChildInfoParam implements Serializable, BaseValidatingParam {
    private static final long serialVersionUID = 1L;
    /**
     * id
     */
    private Long id;
    /**
     * é…æ–¹ç¼–码
     */
    private String formulaCode;
    /**
     * äº§çº¿
     */
    private String lineCode;
    /**
     * å·¥ä½
     */
    private String locationCode;
    /**
     * äº§å“ç¼–号
     */
    private String productCode;
    /**
     * æ“ä½œå†…容
     */
    private String operationSteps;
    /**
     * æŠ€æœ¯è¦æ±‚
     */
    private String techRequirement;
    /**
     * ç±»åž‹ï¼ˆæ‰«æäº§å“æ¡ç 1、扫描物料条码2、拧紧类3)
     */
    private String operationType;
    /**
     * æŽ’序
     */
    private String stepSort;
    /**
     * å‚数编码
     */
    private String paramCode;
    /**
     * ç‰©æ–™ç¼–码
     */
    private String materialCode;
    /**
     * å›¾ç‰‡
     */
    private String picture;
    /**
     * å¤‡æ³¨
     */
    private String remarks;
    /**
     * é¢„留字段1
     */
    private String spareField1;
    /**
     * é¢„留字段2
     */
    private String spareField2;
    /**
     * é¢„留字段3
     */
    private String spareField3;
    /**
     * é¢„留字段4
     */
    private String spareField4;
    /**
     * åˆ›å»ºç”¨æˆ·
     */
    private String createUser;
    /**
     * åˆ›å»ºæ—¶é—´
     */
    private Date createTime;
    /**
     * æ›´æ”¹ç”¨æˆ·
     */
    private String updateUser;
    /**
     * æ›´æ”¹æ—¶é—´
     */
    private Date updateTime;
    @Override
    public String checkParam() {
        return null;
    }
}
guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/bs/formulaChild/model/result/FormulaChildInfoResult.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,127 @@
package cn.stylefeng.guns.modular.zsx.bs.formulaChild.model.result;
import lombok.Data;
import java.util.Date;
import java.io.Serializable;
import java.math.BigDecimal;
/**
 * <p>
 * é…æ–¹é…ç½®å­ä¿¡æ¯
 * </p>
 *
 * @author ruimin
 * @since 2023-10-09
 */
@Data
public class FormulaChildInfoResult implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * id
     */
    private Long id;
    /**
     * é…æ–¹ç¼–码
     */
    private String formulaCode;
    /**
     * äº§çº¿
     */
    private String lineCode;
    /**
     * å·¥ä½
     */
    private String locationCode;
    /**
     * äº§å“ç¼–号
     */
    private String productCode;
    /**
     * æ“ä½œå†…容
     */
    private String operationSteps;
    /**
     * æŠ€æœ¯è¦æ±‚
     */
    private String techRequirement;
    /**
     * ç±»åž‹ï¼ˆæ‰«æäº§å“æ¡ç 1、扫描物料条码2、拧紧类3)
     */
    private String operationType;
    /**
     * æŽ’序
     */
    private String stepSort;
    /**
     * å‚数编码
     */
    private String paramCode;
    /**
     * ç‰©æ–™ç¼–码
     */
    private String materialCode;
    /**
     * å›¾ç‰‡
     */
    private String picture;
    /**
     * å¤‡æ³¨
     */
    private String remarks;
    /**
     * é¢„留字段1
     */
    private String spareField1;
    /**
     * é¢„留字段2
     */
    private String spareField2;
    /**
     * é¢„留字段3
     */
    private String spareField3;
    /**
     * é¢„留字段4
     */
    private String spareField4;
    /**
     * åˆ›å»ºç”¨æˆ·
     */
    private String createUser;
    /**
     * åˆ›å»ºæ—¶é—´
     */
    private Date createTime;
    /**
     * æ›´æ”¹ç”¨æˆ·
     */
    private String updateUser;
    /**
     * æ›´æ”¹æ—¶é—´
     */
    private Date updateTime;
}
guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/bs/formulaChild/service/FormulaChildInfoService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,69 @@
package cn.stylefeng.guns.modular.zsx.bs.formulaChild.service;
import cn.stylefeng.guns.base.pojo.page.LayuiPageInfo;
import cn.stylefeng.guns.modular.zsx.bs.formulaChild.entity.FormulaChildInfo;
import cn.stylefeng.guns.modular.zsx.bs.formulaChild.model.params.FormulaChildInfoParam;
import cn.stylefeng.guns.modular.zsx.bs.formulaChild.model.result.FormulaChildInfoResult;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
 * <p>
 * é…æ–¹é…ç½®å­ä¿¡æ¯ æœåŠ¡ç±»
 * </p>
 *
 * @author ruimin
 * @since 2023-10-09
 */
public interface FormulaChildInfoService extends IService<FormulaChildInfo> {
    /**
     * æ–°å¢ž
     *
     * @author ruimin
     * @Date 2023-10-09
     */
    void add(FormulaChildInfoParam param);
    /**
     * åˆ é™¤
     *
     * @author ruimin
     * @Date 2023-10-09
     */
    void delete(FormulaChildInfoParam param);
    /**
     * æ›´æ–°
     *
     * @author ruimin
     * @Date 2023-10-09
     */
    void update(FormulaChildInfoParam param);
    /**
     * æŸ¥è¯¢å•æ¡æ•°æ®ï¼ŒSpecification模式
     *
     * @author ruimin
     * @Date 2023-10-09
     */
    FormulaChildInfoResult findBySpec(FormulaChildInfoParam param);
    /**
     * æŸ¥è¯¢åˆ—表,Specification模式
     *
     * @author ruimin
     * @Date 2023-10-09
     */
    List<FormulaChildInfoResult> findListBySpec(FormulaChildInfoParam param);
    /**
     * æŸ¥è¯¢åˆ†é¡µæ•°æ®ï¼ŒSpecification模式
     *
     * @author ruimin
     * @Date 2023-10-09
     */
     LayuiPageInfo findPageBySpec(FormulaChildInfoParam param);
}
guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/bs/formulaChild/service/impl/FormulaChildInfoServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,84 @@
package cn.stylefeng.guns.modular.zsx.bs.formulaChild.service.impl;
import cn.stylefeng.guns.base.pojo.page.LayuiPageFactory;
import cn.stylefeng.guns.base.pojo.page.LayuiPageInfo;
import cn.stylefeng.guns.modular.zsx.bs.formulaChild.entity.FormulaChildInfo;
import cn.stylefeng.guns.modular.zsx.bs.formulaChild.mapper.FormulaChildInfoMapper;
import cn.stylefeng.guns.modular.zsx.bs.formulaChild.model.params.FormulaChildInfoParam;
import cn.stylefeng.guns.modular.zsx.bs.formulaChild.model.result.FormulaChildInfoResult;
import  cn.stylefeng.guns.modular.zsx.bs.formulaChild.service.FormulaChildInfoService;
import cn.stylefeng.roses.core.util.ToolUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import java.io.Serializable;
import java.util.List;
/**
 * <p>
 * é…æ–¹é…ç½®å­ä¿¡æ¯ æœåŠ¡å®žçŽ°ç±»
 * </p>
 *
 * @author ruimin
 * @since 2023-10-09
 */
@Service
public class FormulaChildInfoServiceImpl extends ServiceImpl<FormulaChildInfoMapper, FormulaChildInfo> implements FormulaChildInfoService {
    @Override
    public void add(FormulaChildInfoParam param){
        FormulaChildInfo entity = getEntity(param);
        this.save(entity);
    }
    @Override
    public void delete(FormulaChildInfoParam param){
        this.removeById(getKey(param));
    }
    @Override
    public void update(FormulaChildInfoParam param){
        FormulaChildInfo oldEntity = getOldEntity(param);
        FormulaChildInfo newEntity = getEntity(param);
        ToolUtil.copyProperties(newEntity, oldEntity);
        this.updateById(newEntity);
    }
    @Override
    public FormulaChildInfoResult findBySpec(FormulaChildInfoParam param){
        return null;
    }
    @Override
    public List<FormulaChildInfoResult> findListBySpec(FormulaChildInfoParam param){
        return null;
    }
    @Override
    public LayuiPageInfo findPageBySpec(FormulaChildInfoParam param){
        Page pageContext = getPageContext();
        IPage page = this.baseMapper.customPageList(pageContext, param);
        return LayuiPageFactory.createPageInfo(page);
    }
    private Serializable getKey(FormulaChildInfoParam param){
        return param.getId();
    }
    private Page getPageContext() {
        return LayuiPageFactory.defaultPage();
    }
    private FormulaChildInfo getOldEntity(FormulaChildInfoParam param) {
        return this.getById(getKey(param));
    }
    private FormulaChildInfo getEntity(FormulaChildInfoParam param) {
        FormulaChildInfo entity = new FormulaChildInfo();
        ToolUtil.copyProperties(param, entity);
        return entity;
    }
}
guns-vip-main/src/main/sqls/formulaChildInfo_menus.sql
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,4 @@
INSERT INTO `sys_menu`(`MENU_ID`, `CODE`, `PCODE`, `PCODES`, `NAME`, `ICON`, `URL`, `SORT`, `LEVELS`, `MENU_FLAG`, `DESCRIPTION`, `STATUS`, `NEW_PAGE_FLAG`, `OPEN_FLAG`, `SYSTEM_TYPE`, `CREATE_TIME`, `UPDATE_TIME`, `CREATE_USER`, `UPDATE_USER`) VALUES (1711286667255394305, 'FORMULA_CHILD_INFO', '0', '[0],', '配方配置子信息', 'fa-star', '/formulaChildInfo', 999, 1, 'Y', '', 'ENABLE', '', '', 'BASE_SYSTEM', '2023-10-09 15:45:10', '2023-10-09 15:45:10', 1, 1);
INSERT INTO `sys_menu`(`MENU_ID`, `CODE`, `PCODE`, `PCODES`, `NAME`, `ICON`, `URL`, `SORT`, `LEVELS`, `MENU_FLAG`, `DESCRIPTION`, `STATUS`, `NEW_PAGE_FLAG`, `OPEN_FLAG`, `SYSTEM_TYPE`, `CREATE_TIME`, `UPDATE_TIME`, `CREATE_USER`, `UPDATE_USER`) VALUES (1711286667259588609, 'FORMULA_CHILD_INFO_ADD', 'FORMULA_CHILD_INFO', '[0],[FORMULA_CHILD_INFO],', '配方配置子信息添加', 'fa-star', '', 999, 2, 'N', '', 'ENABLE', '', '', 'BASE_SYSTEM', '2023-10-09 15:45:10', '2023-10-09 15:45:10', 1, 1);
INSERT INTO `sys_menu`(`MENU_ID`, `CODE`, `PCODE`, `PCODES`, `NAME`, `ICON`, `URL`, `SORT`, `LEVELS`, `MENU_FLAG`, `DESCRIPTION`, `STATUS`, `NEW_PAGE_FLAG`, `OPEN_FLAG`, `SYSTEM_TYPE`, `CREATE_TIME`, `UPDATE_TIME`, `CREATE_USER`, `UPDATE_USER`) VALUES (1711286667259588610, 'FORMULA_CHILD_INFO_EDIT', 'FORMULA_CHILD_INFO', '[0],[FORMULA_CHILD_INFO],', '配方配置子信息修改', 'fa-star', '', 999, 2, 'N', '', 'ENABLE', '', '', 'BASE_SYSTEM', '2023-10-09 15:45:10', '2023-10-09 15:45:10', 1, 1);
INSERT INTO `sys_menu`(`MENU_ID`, `CODE`, `PCODE`, `PCODES`, `NAME`, `ICON`, `URL`, `SORT`, `LEVELS`, `MENU_FLAG`, `DESCRIPTION`, `STATUS`, `NEW_PAGE_FLAG`, `OPEN_FLAG`, `SYSTEM_TYPE`, `CREATE_TIME`, `UPDATE_TIME`, `CREATE_USER`, `UPDATE_USER`) VALUES (1711286667259588611, 'FORMULA_CHILD_INFO_DELETE', 'FORMULA_CHILD_INFO', '[0],[FORMULA_CHILD_INFO],', '配方配置子信息删除', 'fa-star', '', 999, 2, 'N', '', 'ENABLE', '', '', 'BASE_SYSTEM', '2023-10-09 15:45:10', '2023-10-09 15:45:10', 1, 1);
guns-vip-main/src/main/sqls/formulaInfo_menus.sql
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,4 @@
INSERT INTO `sys_menu`(`MENU_ID`, `CODE`, `PCODE`, `PCODES`, `NAME`, `ICON`, `URL`, `SORT`, `LEVELS`, `MENU_FLAG`, `DESCRIPTION`, `STATUS`, `NEW_PAGE_FLAG`, `OPEN_FLAG`, `SYSTEM_TYPE`, `CREATE_TIME`, `UPDATE_TIME`, `CREATE_USER`, `UPDATE_USER`) VALUES (1711285120836485121, 'FORMULA_INFO', '0', '[0],', '配方配置', 'fa-star', '/formulaInfo', 999, 1, 'Y', '', 'ENABLE', '', '', 'BASE_SYSTEM', '2023-10-09 15:39:01', '2023-10-09 15:39:01', 1, 1);
INSERT INTO `sys_menu`(`MENU_ID`, `CODE`, `PCODE`, `PCODES`, `NAME`, `ICON`, `URL`, `SORT`, `LEVELS`, `MENU_FLAG`, `DESCRIPTION`, `STATUS`, `NEW_PAGE_FLAG`, `OPEN_FLAG`, `SYSTEM_TYPE`, `CREATE_TIME`, `UPDATE_TIME`, `CREATE_USER`, `UPDATE_USER`) VALUES (1711285120836485122, 'FORMULA_INFO_ADD', 'FORMULA_INFO', '[0],[FORMULA_INFO],', '配方配置添加', 'fa-star', '', 999, 2, 'N', '', 'ENABLE', '', '', 'BASE_SYSTEM', '2023-10-09 15:39:01', '2023-10-09 15:39:01', 1, 1);
INSERT INTO `sys_menu`(`MENU_ID`, `CODE`, `PCODE`, `PCODES`, `NAME`, `ICON`, `URL`, `SORT`, `LEVELS`, `MENU_FLAG`, `DESCRIPTION`, `STATUS`, `NEW_PAGE_FLAG`, `OPEN_FLAG`, `SYSTEM_TYPE`, `CREATE_TIME`, `UPDATE_TIME`, `CREATE_USER`, `UPDATE_USER`) VALUES (1711285120836485123, 'FORMULA_INFO_EDIT', 'FORMULA_INFO', '[0],[FORMULA_INFO],', '配方配置修改', 'fa-star', '', 999, 2, 'N', '', 'ENABLE', '', '', 'BASE_SYSTEM', '2023-10-09 15:39:01', '2023-10-09 15:39:01', 1, 1);
INSERT INTO `sys_menu`(`MENU_ID`, `CODE`, `PCODE`, `PCODES`, `NAME`, `ICON`, `URL`, `SORT`, `LEVELS`, `MENU_FLAG`, `DESCRIPTION`, `STATUS`, `NEW_PAGE_FLAG`, `OPEN_FLAG`, `SYSTEM_TYPE`, `CREATE_TIME`, `UPDATE_TIME`, `CREATE_USER`, `UPDATE_USER`) VALUES (1711285120836485124, 'FORMULA_INFO_DELETE', 'FORMULA_INFO', '[0],[FORMULA_INFO],', '配方配置删除', 'fa-star', '', 999, 2, 'N', '', 'ENABLE', '', '', 'BASE_SYSTEM', '2023-10-09 15:39:01', '2023-10-09 15:39:01', 1, 1);
guns-vip-main/src/main/webapp/assets/modular/bs/formulaChildInfo/formulaChildInfo.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,164 @@
layui.use(['table', 'admin', 'ax', 'func'], function () {
    var $ = layui.$;
    var table = layui.table;
    var $ax = layui.ax;
    var admin = layui.admin;
    var func = layui.func;
    /**
     * é…æ–¹é…ç½®å­ä¿¡æ¯ç®¡ç†
     */
    var FormulaChildInfo = {
        tableId: "formulaChildInfoTable"
    };
    /**
     * åˆå§‹åŒ–表格的列
     */
    FormulaChildInfo.initColumn = function () {
        return [[
            {type: 'checkbox'},
            {field: 'id', hide: true, title: 'id'},
            {field: 'formulaCode', sort: true, title: '配方编码'},
            {field: 'lineCode', sort: true, title: '产线'},
            {field: 'locationCode', sort: true, title: '工位'},
            {field: 'productCode', sort: true, title: '产品编号'},
            {field: 'operationSteps', sort: true, title: '操作内容'},
            {field: 'techRequirement', sort: true, title: '技术要求'},
            {field: 'operationType', sort: true, title: '类型'},
            {field: 'stepSort', sort: true, title: '排序'},
            {field: 'paramCode', sort: true, title: '参数编码'},
            {field: 'materialCode', sort: true, title: '物料编码'},
            {field: 'picture', sort: true, title: '图片'},
            {field: 'remarks', sort: true, title: '备注'},
            {field: 'createUser', sort: true, title: '创建用户'},
            {field: 'createTime', sort: true, title: '创建时间'},
            {field: 'updateUser', sort: true, title: '更改用户'},
            {field: 'updateTime', sort: true, title: '更改时间'},
            {fixed: 'right',width: 125, minWidth: 125, align: 'center', toolbar: '#tableBar', title: '操作'}
        ]];
    };
    /**
     * ç‚¹å‡»æŸ¥è¯¢æŒ‰é’®
     */
    FormulaChildInfo.search = function () {
        var queryData = {};
        queryData['formulaCode'] = $('#formulaCode').val();
        queryData['lineCode'] = $('#lineCode').val();
        queryData['locationCode'] = $('#locationCode').val();
        queryData['productCode'] = $('#productCode').val();
        queryData['materialCode'] = $('#materialCode').val();
        table.reload(FormulaChildInfo.tableId, {
            where: queryData, page: {curr: 1}
        });
    };
    /**
     * è·³è½¬åˆ°æ·»åŠ é¡µé¢
     */
    FormulaChildInfo.jumpAddPage = function () {
        func.open({
            height: 650,
            title: '添加配方配置信息',
            content: Feng.ctxPath + '/formulaChildInfo/add?formulaInfoCode=' + $("#formulaInfoCode").val(),
            tableId: FormulaChildInfo.tableId,
        });
        // window.location.href = Feng.ctxPath + '/formulaChildInfo/add'
    };
    /**
    * è·³è½¬åˆ°ç¼–辑页面
    *
    * @param data ç‚¹å‡»æŒ‰é’®æ—¶å€™çš„行数据
    */
    FormulaChildInfo.jumpEditPage = function (data) {
        func.open({
            height: 650,
            title: 'BOM信息',
            content: Feng.ctxPath + '/formulaChildInfo/edit?id=' + data.id,
            tableId: FormulaChildInfo.tableId,
        });
        // window.location.href = Feng.ctxPath + '/formulaChildInfo/edit?id=' + data.id
    };
    /**
     * å¯¼å‡ºexcel按钮
     */
    FormulaChildInfo.exportExcel = function () {
        var checkRows = table.checkStatus(FormulaChildInfo.tableId);
        if (checkRows.data.length === 0) {
            Feng.error("请选择要导出的数据");
        } else {
            table.exportFile(tableResult.config.id, checkRows.data, 'xls');
        }
    };
    /**
     * ç‚¹å‡»åˆ é™¤
     *
     * @param data ç‚¹å‡»æŒ‰é’®æ—¶å€™çš„行数据
     */
    FormulaChildInfo.onDeleteItem = function (data) {
        var operation = function () {
            var ajax = new $ax(Feng.ctxPath + "/formulaChildInfo/delete", function (data) {
                Feng.success("删除成功!");
                table.reload(FormulaChildInfo.tableId);
            }, function (data) {
                Feng.error("删除失败!" + data.responseJSON.message + "!");
            });
            ajax.set("id", data.id);
            ajax.start();
        };
        Feng.confirm("是否删除?", operation);
    };
    var queryData = {};
    queryData['formulaCode'] = $('#formulaInfoCode').val();
    // æ¸²æŸ“表格
    var tableResult = table.render({
        elem: '#' + FormulaChildInfo.tableId,
        url: Feng.ctxPath + '/formulaChildInfo/list',
        page: true,
        height: "full-158",
        cellMinWidth: 100,
        where: queryData,
        cols: FormulaChildInfo.initColumn()
    });
    // å…³é—­é¡µé¢
    $('#btnBack').click(function () {
        window.location.href = Feng.ctxPath + "/formulaInfo";
    });
    // æœç´¢æŒ‰é’®ç‚¹å‡»äº‹ä»¶
    $('#btnSearch').click(function () {
        FormulaChildInfo.search();
    });
    // æ·»åŠ æŒ‰é’®ç‚¹å‡»äº‹ä»¶
    $('#btnAdd').click(function () {
    FormulaChildInfo.jumpAddPage();
    });
    // å¯¼å‡ºexcel
    $('#btnExp').click(function () {
        FormulaChildInfo.exportExcel();
    });
    // å·¥å…·æ¡ç‚¹å‡»äº‹ä»¶
    table.on('tool(' + FormulaChildInfo.tableId + ')', function (obj) {
        var data = obj.data;
        var layEvent = obj.event;
        if (layEvent === 'edit') {
            FormulaChildInfo.jumpEditPage(data);
        } else if (layEvent === 'delete') {
            FormulaChildInfo.onDeleteItem(data);
        }
    });
});
guns-vip-main/src/main/webapp/assets/modular/bs/formulaChildInfo/formulaChildInfo_add.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,57 @@
/**
 * æ·»åŠ æˆ–者修改页面
 */
var FormulaChildInfoInfoDlg = {
    data: {
        id: "",
        formulaCode: "",
        lineCode: "",
        locationCode: "",
        productCode: "",
        operationSteps: "",
        techRequirement: "",
        operationType: "",
        stepSort: "",
        paramCode: "",
        materialCode: "",
        picture: "",
        remarks: "",
        spareField1: "",
        spareField2: "",
        spareField3: "",
        spareField4: "",
        createUser: "",
        createTime: "",
        updateUser: "",
        updateTime: ""
    }
};
layui.use(['form', 'admin', 'ax','laydate','upload','formSelects'], function () {
    var $ = layui.jquery;
    var $ax = layui.ax;
    var form = layui.form;
    var admin = layui.admin;
    //表单提交事件
    form.on('submit(btnSubmit)', function (data) {
        var ajax = new $ax(Feng.ctxPath + "/formulaChildInfo/addItem", function (data) {
            Feng.success("添加成功!");
            admin.putTempData('formOk', true);
            admin.closeThisDialog();
        }, function (data) {
            Feng.error("添加失败!" + data.responseJSON.message)
        });
        ajax.set(data.field);
        ajax.start();
        return false;
    });
    $('#cancel').click(function(){
        // window.location.href = Feng.ctxPath + '/formulaChildInfo'
        admin.closeThisDialog();
    });
});
guns-vip-main/src/main/webapp/assets/modular/bs/formulaChildInfo/formulaChildInfo_edit.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,62 @@
/**
 * è¯¦æƒ…对话框
 */
var FormulaChildInfoInfoDlg = {
    data: {
        id: "",
        formulaCode: "",
        lineCode: "",
        locationCode: "",
        productCode: "",
        operationSteps: "",
        techRequirement: "",
        operationType: "",
        stepSort: "",
        paramCode: "",
        materialCode: "",
        picture: "",
        remarks: "",
        spareField1: "",
        spareField2: "",
        spareField3: "",
        spareField4: "",
        createUser: "",
        createTime: "",
        updateUser: "",
        updateTime: ""
    }
};
layui.use(['form', 'admin', 'ax','laydate','upload','formSelects'], function () {
    var $ = layui.jquery;
    var $ax = layui.ax;
    var form = layui.form;
    var admin = layui.admin;
    //获取详情信息,填充表单
    var ajax = new $ax(Feng.ctxPath + "/formulaChildInfo/detail?id=" + Feng.getUrlParam("id"));
    var result = ajax.start();
    form.val('formulaChildInfoForm', result.data);
    //表单提交事件
    form.on('submit(btnSubmit)', function (data) {
        var ajax = new $ax(Feng.ctxPath + "/formulaChildInfo/editItem", function (data) {
            Feng.success("更新成功!");
            // window.location.href = Feng.ctxPath + '/formulaChildInfo'
            admin.putTempData('formOk', true);
            //关掉对话框
            admin.closeThisDialog();
        }, function (data) {
            Feng.error("更新失败!" + data.responseJSON.message)
        });
        ajax.set(data.field);
        ajax.start();
        return false;
    });
    $('#cancel').click(function(){
        // window.location.href = Feng.ctxPath + '/formulaChildInfo'
        admin.closeThisDialog();
    });
});
guns-vip-main/src/main/webapp/assets/modular/bs/formulaInfo/formulaInfo.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,139 @@
layui.use(['table', 'admin', 'ax', 'func'], function () {
    var $ = layui.$;
    var table = layui.table;
    var $ax = layui.ax;
    var admin = layui.admin;
    var func = layui.func;
    /**
     * é…æ–¹é…ç½®ç®¡ç†
     */
    var FormulaInfo = {
        tableId: "formulaInfoTable"
    };
    /**
     * åˆå§‹åŒ–表格的列
     */
    FormulaInfo.initColumn = function () {
        return [[
            {type: 'checkbox'},
            {field: 'id', hide: true, title: '主键id'},
            // {field: 'formulaCode', sort: true, title: '配方编码'},
            {
                field: 'formulaCode',width:130, align: "center", sort: true, title: '配方编码', templet: function (d) {
                    var url = Feng.ctxPath + '/formulaChildInfo?formulaCode=' + d.formulaCode;
                    return '<a style="color: #01AAED;" href="' + url + '">' + d.formulaCode + '</a>';
                }
            },
            {field: 'formulaName', sort: true, title: '配方名称'},
            {field: 'status', sort: true, title: '状态(字典)'},
            {field: 'remark', sort: true, title: '备注'},
            {field: 'createUser', sort: true, title: '创建用户'},
            {field: 'createTime', sort: true, title: '创建时间'},
            {field: 'updateUser', sort: true, title: '更改用户'},
            {field: 'updateTime', sort: true, title: '更改时间'},
            {fixed: 'right',width: 125, minWidth: 125, align: 'center', toolbar: '#tableBar', title: '操作'}
        ]];
    };
    /**
     * ç‚¹å‡»æŸ¥è¯¢æŒ‰é’®
     */
    FormulaInfo.search = function () {
        var queryData = {};
        queryData['formulaCode'] = $('#formulaCode').val();
        queryData['formulaName'] = $('#formulaName').val();
        table.reload(FormulaInfo.tableId, {
            where: queryData, page: {curr: 1}
        });
    };
    /**
     * è·³è½¬åˆ°æ·»åŠ é¡µé¢
     */
    FormulaInfo.jumpAddPage = function () {
        window.location.href = Feng.ctxPath + '/formulaInfo/add'
    };
    /**
    * è·³è½¬åˆ°ç¼–辑页面
    *
    * @param data ç‚¹å‡»æŒ‰é’®æ—¶å€™çš„行数据
    */
    FormulaInfo.jumpEditPage = function (data) {
        window.location.href = Feng.ctxPath + '/formulaInfo/edit?id=' + data.id
    };
    /**
     * å¯¼å‡ºexcel按钮
     */
    FormulaInfo.exportExcel = function () {
        var checkRows = table.checkStatus(FormulaInfo.tableId);
        if (checkRows.data.length === 0) {
            Feng.error("请选择要导出的数据");
        } else {
            table.exportFile(tableResult.config.id, checkRows.data, 'xls');
        }
    };
    /**
     * ç‚¹å‡»åˆ é™¤
     *
     * @param data ç‚¹å‡»æŒ‰é’®æ—¶å€™çš„行数据
     */
    FormulaInfo.onDeleteItem = function (data) {
        var operation = function () {
            var ajax = new $ax(Feng.ctxPath + "/formulaInfo/delete", function (data) {
                Feng.success("删除成功!");
                table.reload(FormulaInfo.tableId);
            }, function (data) {
                Feng.error("删除失败!" + data.responseJSON.message + "!");
            });
            ajax.set("id", data.id);
            ajax.start();
        };
        Feng.confirm("是否删除?", operation);
    };
    // æ¸²æŸ“表格
    var tableResult = table.render({
        elem: '#' + FormulaInfo.tableId,
        url: Feng.ctxPath + '/formulaInfo/list',
        page: true,
        height: "full-158",
        cellMinWidth: 100,
        cols: FormulaInfo.initColumn()
    });
    // æœç´¢æŒ‰é’®ç‚¹å‡»äº‹ä»¶
    $('#btnSearch').click(function () {
        FormulaInfo.search();
    });
    // æ·»åŠ æŒ‰é’®ç‚¹å‡»äº‹ä»¶
    $('#btnAdd').click(function () {
    FormulaInfo.jumpAddPage();
    });
    // å¯¼å‡ºexcel
    $('#btnExp').click(function () {
        FormulaInfo.exportExcel();
    });
    // å·¥å…·æ¡ç‚¹å‡»äº‹ä»¶
    table.on('tool(' + FormulaInfo.tableId + ')', function (obj) {
        var data = obj.data;
        var layEvent = obj.event;
        if (layEvent === 'edit') {
            FormulaInfo.jumpEditPage(data);
        } else if (layEvent === 'delete') {
            FormulaInfo.onDeleteItem(data);
        }
    });
});
guns-vip-main/src/main/webapp/assets/modular/bs/formulaInfo/formulaInfo_add.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,63 @@
/**
 * æ·»åŠ æˆ–者修改页面
 */
var FormulaInfoInfoDlg = {
    data: {
        id: "",
        formulaCode: "",
        formulaName: "",
        status: "",
        spareField1: "",
        spareField2: "",
        remark: "",
        createUser: "",
        createTime: "",
        updateUser: "",
        updateTime: ""
    }
};
layui.use(['form', 'admin', 'ax','laydate','upload','formSelects'], function () {
    var $ = layui.jquery;
    var $ax = layui.ax;
    var form = layui.form;
    var admin = layui.admin;
    //表单提交事件
    form.on('submit(btnSubmit)', function (data) {
        var ajax = new $ax(Feng.ctxPath + "/formulaInfo/addItem", function (data) {
            Feng.success("添加成功!");
            window.location.href = Feng.ctxPath + '/formulaInfo'
        }, function (data) {
            Feng.error("添加失败!" + data.responseJSON.message)
        });
        ajax.set(data.field);
        ajax.start();
        return false;
    });
    $('#cancel').click(function(){
        window.location.href = Feng.ctxPath + '/formulaInfo'
    });
});
guns-vip-main/src/main/webapp/assets/modular/bs/formulaInfo/formulaInfo_edit.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,67 @@
/**
 * è¯¦æƒ…对话框
 */
var FormulaInfoInfoDlg = {
    data: {
        id: "",
        formulaCode: "",
        formulaName: "",
        status: "",
        spareField1: "",
        spareField2: "",
        remark: "",
        createUser: "",
        createTime: "",
        updateUser: "",
        updateTime: ""
    }
};
layui.use(['form', 'admin', 'ax','laydate','upload','formSelects'], function () {
    var $ = layui.jquery;
    var $ax = layui.ax;
    var form = layui.form;
    var admin = layui.admin;
    //获取详情信息,填充表单
    var ajax = new $ax(Feng.ctxPath + "/formulaInfo/detail?id=" + Feng.getUrlParam("id"));
    var result = ajax.start();
    form.val('formulaInfoForm', result.data);
    //表单提交事件
    form.on('submit(btnSubmit)', function (data) {
        var ajax = new $ax(Feng.ctxPath + "/formulaInfo/editItem", function (data) {
            Feng.success("更新成功!");
            window.location.href = Feng.ctxPath + '/formulaInfo'
        }, function (data) {
            Feng.error("更新失败!" + data.responseJSON.message)
        });
        ajax.set(data.field);
        ajax.start();
        return false;
    });
    $('#cancel').click(function(){
        window.location.href = Feng.ctxPath + '/formulaInfo'
    });
});
guns-vip-main/src/main/webapp/assets/modular/kb/formula/formulaView.js
@@ -19,6 +19,7 @@
    $('#planQty').text(msg.planQty);
    $('#planStartTime').text(msg.planStartTime);
    $('#planEndTime').text(msg.planEndTime);
    $('#recipeCode').text(msg.recipeCode);
    var radioElement = $('#sex1');
    function initLineInfo(){
guns-vip-main/src/main/webapp/pages/modular/bs/formulaChildInfo/formulaChildInfo.html
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,49 @@
@layout("/common/_container.html",{js:["/assets/modular/bs/formulaChildInfo/formulaChildInfo.js"]}){
<div class="layui-body-header">
    <span class="layui-body-header-title">配方配置子信息管理</span>
</div>
<div class="layui-fluid">
    <div class="layui-row layui-col-space15">
        <div class="layui-col-sm12 layui-col-md12 layui-col-lg12">
            <div class="layui-card">
                <div class="layui-card-body">
                    <div class="layui-form toolbar">
                        <div class="layui-form-item">
                            <input type="hidden" id="formulaInfoCode" value="${formulaInfoCode}"/>
                            <div class="layui-inline">
                                <input id="formulaCode" class="layui-input" type="text" placeholder="配方编码"/>
                            </div>
                            <div class="layui-inline">
                                <input id="lineCode" class="layui-input" type="text" placeholder="产线"/>
                            </div>
                            <div class="layui-inline">
                                <input id="locationCode" class="layui-input" type="text" placeholder="工位"/>
                            </div>
                            <div class="layui-inline">
                                <input id="productCode" class="layui-input" type="text" placeholder="产品编号"/>
                            </div>
                            <div class="layui-inline">
                                <input id="materialCode" class="layui-input" type="text" placeholder="物料编码"/>
                            </div>
                            <div class="layui-inline">
                                <button id="btnSearch" class="layui-btn icon-btn"><i class="layui-icon">&#xe615;</i>搜索</button>
                                <button id="btnAdd" class="layui-btn icon-btn"><i class="layui-icon">&#xe654;</i>添加</button>
                                <button id="btnExp" class="layui-btn icon-btn"><i class="layui-icon">&#xe67d;</i>导出</button>
                                <button id="btnBack" class="layui-btn icon-btn layui-btn-normal"><i class="layui-icon">&#xe65c;</i>返回</button>
                            </div>
                        </div>
                    </div>
                    <table class="layui-table" id="formulaChildInfoTable" lay-filter="formulaChildInfoTable"></table>
                </div>
            </div>
        </div>
    </div>
</div>
<script type="text/html" id="tableBar">
    <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="edit">修改</a>
    <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="delete">删除</a>
</script>
@}
guns-vip-main/src/main/webapp/pages/modular/bs/formulaChildInfo/formulaChildInfo_add.html
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,118 @@
@layout("/common/_form.html",{js:["/assets/modular/bs/formulaChildInfo/formulaChildInfo_add.js"],css:["/assets/expand/module/formSelects/formSelects-v4.css"]}){
<form class="layui-form" id="formulaChildInfoForm" lay-filter="formulaChildInfoForm">
    <div class="layui-fluid" style="padding-bottom: 75px;">
        <div class="layui-card">
            <div class="layui-card-header">基本信息</div>
            <div class="layui-card-body">
                <div class="layui-form-item layui-row">
                    <input name="id" type="hidden"/>
                    <input name="formulaCode" type="hidden" value="${formulaInfoCode}"/>
<!--                    <div class="layui-inline layui-col-md12">-->
<!--                        <label class="layui-form-label">配方编码<span style="color: red;">*</span></label>-->
<!--                        <div class="layui-input-block">-->
<!--                            <input id="formulaCode" name="formulaCode" placeholder="请输入配方编码" type="text" class="layui-input" lay-verify="required" required/>-->
<!--                        </div>-->
<!--                    </div>-->
                    <div class="layui-inline layui-col-md12">
                        <label class="layui-form-label">产线<span style="color: red;">*</span></label>
                        <div class="layui-input-block">
                            <input id="lineCode" name="lineCode" placeholder="请输入产线" type="text" class="layui-input" lay-verify="required" required/>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md12">
                        <label class="layui-form-label">工位<span style="color: red;">*</span></label>
                        <div class="layui-input-block">
                            <input id="locationCode" name="locationCode" placeholder="请输入工位" type="text" class="layui-input" lay-verify="required" required/>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md12">
                        <label class="layui-form-label">产品编号<span style="color: red;">*</span></label>
                        <div class="layui-input-block">
                            <input id="productCode" name="productCode" placeholder="请输入产品编号" type="text" class="layui-input" lay-verify="required" required/>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md12">
                        <label class="layui-form-label">操作内容<span style="color: red;">*</span></label>
                        <div class="layui-input-block">
                            <input id="operationSteps" name="operationSteps" placeholder="请输入操作内容" type="text" class="layui-input" lay-verify="required" required/>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md12">
                        <label class="layui-form-label">技术要求<span style="color: red;">*</span></label>
                        <div class="layui-input-block">
                            <input id="techRequirement" name="techRequirement" placeholder="请输入技术要求" type="text" class="layui-input" lay-verify="required" required/>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md12">
                        <label class="layui-form-label">类型(扫描产品条码1、扫描物料条码2、拧紧类3)<span style="color: red;">*</span></label>
                        <div class="layui-input-block">
                            <input id="operationType" name="operationType" placeholder="请输入类型(扫描产品条码1、扫描物料条码2、拧紧类3)" type="text" class="layui-input" lay-verify="required" required/>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md12">
                        <label class="layui-form-label">排序<span style="color: red;">*</span></label>
                        <div class="layui-input-block">
                            <input id="stepSort" name="stepSort" placeholder="请输入排序" type="text" class="layui-input" lay-verify="required" required/>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md12">
                        <label class="layui-form-label">参数编码<span style="color: red;">*</span></label>
                        <div class="layui-input-block">
                            <input id="paramCode" name="paramCode" placeholder="请输入参数编码" type="text" class="layui-input" lay-verify="required" required/>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md12">
                        <label class="layui-form-label">物料编码<span style="color: red;">*</span></label>
                        <div class="layui-input-block">
                            <input id="materialCode" name="materialCode" placeholder="请输入物料编码" type="text" class="layui-input" lay-verify="required" required/>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md12">
                        <label class="layui-form-label">图片<span style="color: red;">*</span></label>
                        <div class="layui-input-block">
                            <input id="picture" name="picture" placeholder="请输入图片" type="text" class="layui-input" lay-verify="required" required/>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md12">
                        <label class="layui-form-label">备注<span style="color: red;">*</span></label>
                        <div class="layui-input-block">
                            <input id="remarks" name="remarks" placeholder="请输入备注" type="text" class="layui-input" lay-verify="required" required/>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md12">
                        <label class="layui-form-label">预留字段1<span style="color: red;">*</span></label>
                        <div class="layui-input-block">
                            <input id="spareField1" name="spareField1" placeholder="请输入预留字段1" type="text" class="layui-input" lay-verify="required" required/>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md12">
                        <label class="layui-form-label">预留字段2<span style="color: red;">*</span></label>
                        <div class="layui-input-block">
                            <input id="spareField2" name="spareField2" placeholder="请输入预留字段2" type="text" class="layui-input" lay-verify="required" required/>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md12">
                        <label class="layui-form-label">预留字段3<span style="color: red;">*</span></label>
                        <div class="layui-input-block">
                            <input id="spareField3" name="spareField3" placeholder="请输入预留字段3" type="text" class="layui-input" lay-verify="required" required/>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md12">
                        <label class="layui-form-label">预留字段4<span style="color: red;">*</span></label>
                        <div class="layui-input-block">
                            <input id="spareField4" name="spareField4" placeholder="请输入预留字段4" type="text" class="layui-input" lay-verify="required" required/>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="form-group-bottom text-center">
        <button class="layui-btn" lay-filter="btnSubmit" lay-submit>&emsp;提交&emsp;</button>
        <button type="reset" class="layui-btn layui-btn-primary" id="cancel">&emsp;取消&emsp;</button>
    </div>
</form>
@}
guns-vip-main/src/main/webapp/pages/modular/bs/formulaChildInfo/formulaChildInfo_edit.html
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,94 @@
@layout("/common/_form.html",{js:["/assets/modular/bs/formulaChildInfo/formulaChildInfo_edit.js"]}){
<form class="layui-form" id="formulaChildInfoForm" lay-filter="formulaChildInfoForm">
    <div class="layui-fluid" style="padding-bottom: 75px;">
        <div class="layui-card">
            <div class="layui-card-header">基本信息</div>
            <div class="layui-card-body">
                <div class="layui-form-item layui-row">
                    <input name="id" type="hidden"/>
<!--                    <div class="layui-inline layui-col-md12">-->
<!--                        <label class="layui-form-label">配方编码<span style="color: red;">*</span></label>-->
<!--                        <div class="layui-input-block">-->
<!--                            <input id="formulaCode" name="formulaCode" placeholder="请输入配方编码" type="text" class="layui-input" lay-verify="required" required/>-->
<!--                        </div>-->
<!--                    </div>-->
                    <div class="layui-inline layui-col-md12">
                        <label class="layui-form-label">产线<span style="color: red;">*</span></label>
                        <div class="layui-input-block">
                            <input id="lineCode" name="lineCode" placeholder="请输入产线" type="text" class="layui-input" lay-verify="required" required/>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md12">
                        <label class="layui-form-label">工位<span style="color: red;">*</span></label>
                        <div class="layui-input-block">
                            <input id="locationCode" name="locationCode" placeholder="请输入工位" type="text" class="layui-input" lay-verify="required" required/>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md12">
                        <label class="layui-form-label">产品编号<span style="color: red;">*</span></label>
                        <div class="layui-input-block">
                            <input id="productCode" name="productCode" placeholder="请输入产品编号" type="text" class="layui-input" lay-verify="required" required/>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md12">
                        <label class="layui-form-label">操作内容<span style="color: red;">*</span></label>
                        <div class="layui-input-block">
                            <input id="operationSteps" name="operationSteps" placeholder="请输入操作内容" type="text" class="layui-input" lay-verify="required" required/>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md12">
                        <label class="layui-form-label">技术要求<span style="color: red;">*</span></label>
                        <div class="layui-input-block">
                            <input id="techRequirement" name="techRequirement" placeholder="请输入技术要求" type="text" class="layui-input" lay-verify="required" required/>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md12">
                        <label class="layui-form-label">类型(扫描产品条码1、扫描物料条码2、拧紧类3)<span style="color: red;">*</span></label>
                        <div class="layui-input-block">
                            <input id="operationType" name="operationType" placeholder="请输入类型(扫描产品条码1、扫描物料条码2、拧紧类3)" type="text" class="layui-input" lay-verify="required" required/>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md12">
                        <label class="layui-form-label">排序<span style="color: red;">*</span></label>
                        <div class="layui-input-block">
                            <input id="stepSort" name="stepSort" placeholder="请输入排序" type="text" class="layui-input" lay-verify="required" required/>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md12">
                        <label class="layui-form-label">参数编码<span style="color: red;">*</span></label>
                        <div class="layui-input-block">
                            <input id="paramCode" name="paramCode" placeholder="请输入参数编码" type="text" class="layui-input" lay-verify="required" required/>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md12">
                        <label class="layui-form-label">物料编码<span style="color: red;">*</span></label>
                        <div class="layui-input-block">
                            <input id="materialCode" name="materialCode" placeholder="请输入物料编码" type="text" class="layui-input" lay-verify="required" required/>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md12">
                        <label class="layui-form-label">图片<span style="color: red;">*</span></label>
                        <div class="layui-input-block">
                            <input id="picture" name="picture" placeholder="请输入图片" type="text" class="layui-input" lay-verify="required" required/>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md12">
                        <label class="layui-form-label">备注<span style="color: red;">*</span></label>
                        <div class="layui-input-block">
                            <input id="remarks" name="remarks" placeholder="请输入备注" type="text" class="layui-input" lay-verify="required" required/>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="form-group-bottom text-center">
        <button class="layui-btn" lay-filter="btnSubmit" lay-submit>&emsp;提交&emsp;</button>
        <button type="reset" class="layui-btn layui-btn-primary" id="cancel">&emsp;取消&emsp;</button>
    </div>
</form>
@}
guns-vip-main/src/main/webapp/pages/modular/bs/formulaInfo/formulaInfo.html
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,38 @@
@layout("/common/_container.html",{js:["/assets/modular/bs/formulaInfo/formulaInfo.js"]}){
<div class="layui-body-header">
    <span class="layui-body-header-title">配方配置管理</span>
</div>
<div class="layui-fluid">
    <div class="layui-row layui-col-space15">
        <div class="layui-col-sm12 layui-col-md12 layui-col-lg12">
            <div class="layui-card">
                <div class="layui-card-body">
                    <div class="layui-form toolbar">
                        <div class="layui-form-item">
                            <div class="layui-inline">
                                <input id="formulaCode" class="layui-input" type="text" placeholder="配方编码"/>
                            </div>
                            <div class="layui-inline">
                                <input id="formulaName" class="layui-input" type="text" placeholder="配方名称"/>
                            </div>
                            <div class="layui-inline">
                                <button id="btnSearch" class="layui-btn icon-btn"><i class="layui-icon">&#xe615;</i>搜索</button>
                                <button id="btnAdd" class="layui-btn icon-btn"><i class="layui-icon">&#xe654;</i>添加</button>
                                <button id="btnExp" class="layui-btn icon-btn"><i class="layui-icon">&#xe67d;</i>导出</button>
                            </div>
                        </div>
                    </div>
                    <table class="layui-table" id="formulaInfoTable" lay-filter="formulaInfoTable"></table>
                </div>
            </div>
        </div>
    </div>
</div>
<script type="text/html" id="tableBar">
    <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="edit">修改</a>
    <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="delete">删除</a>
</script>
@}
guns-vip-main/src/main/webapp/pages/modular/bs/formulaInfo/formulaInfo_add.html
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,58 @@
@layout("/common/_form.html",{js:["/assets/modular/bs/formulaInfo/formulaInfo_add.js"],css:["/assets/expand/module/formSelects/formSelects-v4.css"]}){
<form class="layui-form" id="formulaInfoForm" lay-filter="formulaInfoForm">
    <div class="layui-fluid" style="padding-bottom: 75px;">
        <div class="layui-card">
            <div class="layui-card-header">基本信息</div>
            <div class="layui-card-body">
                <div class="layui-form-item layui-row">
                    <input name="id" type="hidden"/>
                    <div class="layui-inline layui-col-md12">
                        <label class="layui-form-label">配方编码<span style="color: red;">*</span></label>
                        <div class="layui-input-block">
                            <input id="formulaCode" name="formulaCode" placeholder="请输入配方编码" type="text" class="layui-input" lay-verify="required" required/>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md12">
                        <label class="layui-form-label">配方名称<span style="color: red;">*</span></label>
                        <div class="layui-input-block">
                            <input id="formulaName" name="formulaName" placeholder="请输入配方名称" type="text" class="layui-input" lay-verify="required" required/>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md12">
                        <label class="layui-form-label">状态(字典)<span style="color: red;">*</span></label>
                        <div class="layui-input-block">
                            <input id="status" name="status" placeholder="请输入状态(字典)" type="text" class="layui-input" lay-verify="required" required/>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md12">
                        <label class="layui-form-label">预留字段1<span style="color: red;">*</span></label>
                        <div class="layui-input-block">
                            <input id="spareField1" name="spareField1" placeholder="请输入预留字段1" type="text" class="layui-input" lay-verify="required" required/>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md12">
                        <label class="layui-form-label">预留字段2<span style="color: red;">*</span></label>
                        <div class="layui-input-block">
                            <input id="spareField2" name="spareField2" placeholder="请输入预留字段2" type="text" class="layui-input" lay-verify="required" required/>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md12">
                        <label class="layui-form-label">备注<span style="color: red;">*</span></label>
                        <div class="layui-input-block">
                            <input id="remark" name="remark" placeholder="请输入备注" type="text" class="layui-input" lay-verify="required" required/>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="form-group-bottom text-center">
        <button class="layui-btn" lay-filter="btnSubmit" lay-submit>&emsp;提交&emsp;</button>
        <button type="reset" class="layui-btn layui-btn-primary" id="cancel">&emsp;取消&emsp;</button>
    </div>
</form>
@}
guns-vip-main/src/main/webapp/pages/modular/bs/formulaInfo/formulaInfo_edit.html
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,58 @@
@layout("/common/_form.html",{js:["/assets/modular/bs/formulaInfo/formulaInfo_edit.js"]}){
<form class="layui-form" id="formulaInfoForm" lay-filter="formulaInfoForm">
    <div class="layui-fluid" style="padding-bottom: 75px;">
        <div class="layui-card">
            <div class="layui-card-header">基本信息</div>
            <div class="layui-card-body">
                <div class="layui-form-item layui-row">
                    <input name="id" type="hidden"/>
                    <div class="layui-inline layui-col-md12">
                        <label class="layui-form-label">配方编码<span style="color: red;">*</span></label>
                        <div class="layui-input-block">
                            <input id="formulaCode" name="formulaCode" placeholder="请输入配方编码" type="text" class="layui-input" lay-verify="required" required/>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md12">
                        <label class="layui-form-label">配方名称<span style="color: red;">*</span></label>
                        <div class="layui-input-block">
                            <input id="formulaName" name="formulaName" placeholder="请输入配方名称" type="text" class="layui-input" lay-verify="required" required/>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md12">
                        <label class="layui-form-label">状态(字典)<span style="color: red;">*</span></label>
                        <div class="layui-input-block">
                            <input id="status" name="status" placeholder="请输入状态(字典)" type="text" class="layui-input" lay-verify="required" required/>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md12">
                        <label class="layui-form-label">预留字段1<span style="color: red;">*</span></label>
                        <div class="layui-input-block">
                            <input id="spareField1" name="spareField1" placeholder="请输入预留字段1" type="text" class="layui-input" lay-verify="required" required/>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md12">
                        <label class="layui-form-label">预留字段2<span style="color: red;">*</span></label>
                        <div class="layui-input-block">
                            <input id="spareField2" name="spareField2" placeholder="请输入预留字段2" type="text" class="layui-input" lay-verify="required" required/>
                        </div>
                    </div>
                    <div class="layui-inline layui-col-md12">
                        <label class="layui-form-label">备注<span style="color: red;">*</span></label>
                        <div class="layui-input-block">
                            <input id="remark" name="remark" placeholder="请输入备注" type="text" class="layui-input" lay-verify="required" required/>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="form-group-bottom text-center">
        <button class="layui-btn" lay-filter="btnSubmit" lay-submit>&emsp;提交&emsp;</button>
        <button type="reset" class="layui-btn layui-btn-primary" id="cancel">&emsp;取消&emsp;</button>
    </div>
</form>
@}
guns-vip-main/src/main/webapp/pages/modular/kb/formula/formulaView.html
@@ -54,6 +54,10 @@
                        <span class="mySpan" style="float: right" id="productName"></span>
                    </div>
                    <div class="orderInfo">
                        <span>工艺配方</span>
                        <span class="mySpan" style="float: right" id="recipeCode"></span>
                    </div>
                    <div class="orderInfo">
                        <span>计划数量</span>
                        <span class="mySpan" style="float: right" id="planQty"></span>
                    </div>
@@ -99,7 +103,7 @@
            </div>
        </div>
        <div class="layui-col-sm9 layui-col-md9 layui-col-lg9">
            <div class="layui-card" style="height: 577px">
            <div class="layui-card" style="height: 605px">
                <div class="layui-card-header" style="font-weight: bold">
                    <i class="layui-icon layui-icon-rate-solid"></i>操作栏
                </div>