From 4779beadfc833238c5d83cf60e8195fb352ffd67 Mon Sep 17 00:00:00 2001 From: 懒羊羊 <15939171744@163.com> Date: 星期一, 09 十月 2023 15:31:07 +0800 Subject: [PATCH] 看板ip配置表 --- guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/sys/kanbanConf/model/params/KanbanConfParam.java | 88 +++ guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/kb/formula/controller/FormulaKbController.java | 48 + guns-vip-main/src/main/sqls/kanbanConf_menus.sql | 4 guns-vip-main/src/main/webapp/pages/modular/kb/formula/formulaView.html | 139 ++++ guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/sys/kanbanConf/controller/KanbanConfController.java | 168 +++++ guns-vip-main/src/main/webapp/assets/modular/sys/kanbanConf/kanbanConf_edit.js | 83 ++ guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/sys/kanbanConf/mapper/mapping/KanbanConfMapper.xml | 87 +++ guns-vip-main/src/main/webapp/pages/modular/sys/kanbanConf/kanbanConf_edit.html | 88 +++ guns-vip-main/src/main/webapp/assets/modular/kb/formula/formulaView.js | 95 +++ guns-vip-main/src/main/webapp/assets/modular/sys/kanbanConf/kanbanConf.js | 137 ++++ guns-vip-main/src/main/webapp/assets/modular/sys/kanbanConf/kanbanConf_add.js | 79 ++ guns-vip-main/src/main/webapp/pages/modular/sys/kanbanConf/kanbanConf.html | 41 + guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/sys/kanbanConf/entity/KanbanConf.java | 208 +++++++ guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/sys/kanbanConf/model/result/KanbanConfResult.java | 82 ++ guns-vip-main/src/main/webapp/pages/modular/sys/kanbanConf/kanbanConf_add.html | 88 +++ guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/kb/utils/IPUtil.java | 41 + guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/sys/kanbanConf/service/impl/KanbanConfServiceImpl.java | 84 ++ guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/sys/kanbanConf/service/KanbanConfService.java | 69 ++ guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/sys/kanbanConf/mapper/KanbanConfMapper.java | 56 + 19 files changed, 1,685 insertions(+), 0 deletions(-) diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/kb/formula/controller/FormulaKbController.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/kb/formula/controller/FormulaKbController.java new file mode 100644 index 0000000..e9e5b4b --- /dev/null +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/kb/formula/controller/FormulaKbController.java @@ -0,0 +1,48 @@ +package cn.stylefeng.guns.modular.zsx.kb.formula.controller; + +import cn.stylefeng.guns.modular.zsx.kb.utils.IPUtil; +import cn.stylefeng.guns.modular.zsx.pm.salesOrder.service.SalesOrderService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; + +import javax.servlet.http.HttpServletRequest; +import java.net.*; +import java.util.Enumeration; +import java.util.Set; + + +@Controller +@RequestMapping("/kb/formulaView") +public class FormulaKbController { + private String PREFIX = "/modular/kb/formula"; + + /** + * 璺宠浆鍒颁富椤甸潰 + * + * @author ruimin + * @Date 2023-08-26 + */ + @RequestMapping("") + public String index() { + return PREFIX + "/formulaView.html"; + } + + public static void main(String[] args) { + try { + Enumeration<NetworkInterface> networkInterfaces = NetworkInterface.getNetworkInterfaces(); + while (networkInterfaces.hasMoreElements()) { + NetworkInterface networkInterface = networkInterfaces.nextElement(); + Enumeration<InetAddress> inetAddresses = networkInterface.getInetAddresses(); + while (inetAddresses.hasMoreElements()) { + InetAddress inetAddress = inetAddresses.nextElement(); + if (inetAddress instanceof Inet4Address) { // 杩囨护IPv4鍦板潃 + System.out.println(inetAddress.getHostAddress()); + } + } + } + } catch (SocketException e) { + throw new RuntimeException(e); + } + } +} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/kb/utils/IPUtil.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/kb/utils/IPUtil.java new file mode 100644 index 0000000..bb6d660 --- /dev/null +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/kb/utils/IPUtil.java @@ -0,0 +1,41 @@ +package cn.stylefeng.guns.modular.zsx.kb.utils; + +import javax.servlet.http.HttpServletRequest; + +/** + * @Author: ll + * @Date: 2021/4/1 9:20 + * @Version 1.0 + */ + public class IPUtil { + //鑾峰彇ip鍦板潃 + public static String getRealIp(HttpServletRequest request) { + String ip = request.getHeader("x-forwarded-for"); + System.out.println("x-forwarded-for ip: " + ip); + if (ip != null && ip.length() != 0 && !"unknown".equalsIgnoreCase(ip)) { + // 澶氭鍙嶅悜浠g悊鍚庝細鏈夊涓猧p鍊硷紝绗竴涓猧p鎵嶆槸鐪熷疄ip + if( ip.indexOf(",")!=-1 ){ + ip = ip.split(",")[0]; + } + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("Proxy-Client-IP"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("WL-Proxy-Client-IP"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("HTTP_CLIENT_IP"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("HTTP_X_FORWARDED_FOR"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("X-Real-IP"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getRemoteAddr(); + } + return ip; + } +} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/sys/kanbanConf/controller/KanbanConfController.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/sys/kanbanConf/controller/KanbanConfController.java new file mode 100644 index 0000000..18f6892 --- /dev/null +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/sys/kanbanConf/controller/KanbanConfController.java @@ -0,0 +1,168 @@ +package cn.stylefeng.guns.modular.zsx.sys.kanbanConf.controller; + +import cn.stylefeng.guns.base.pojo.page.LayuiPageInfo; +import cn.stylefeng.guns.modular.zsx.kb.utils.IPUtil; +import cn.stylefeng.guns.modular.zsx.sys.kanbanConf.entity.KanbanConf; +import cn.stylefeng.guns.modular.zsx.sys.kanbanConf.model.params.KanbanConfParam; +import cn.stylefeng.guns.modular.zsx.sys.kanbanConf.service.KanbanConfService; +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 com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +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; + +import javax.servlet.http.HttpServletRequest; + + +/** + * 鐪嬫澘閰嶇疆鎺у埗鍣� + * + * @author ruimin + * @Date 2023-10-08 15:23:17 + */ +@Controller +@RequestMapping("/kanbanConf") +public class KanbanConfController extends BaseController { + + private String PREFIX = "/modular/sys/kanbanConf"; + + @Autowired + private KanbanConfService kanbanConfService; + + /** + * 璺宠浆鍒颁富椤甸潰 + * + * @author ruimin + * @Date 2023-10-08 + */ + @RequestMapping("") + public String index() { + return PREFIX + "/kanbanConf.html"; + } + + /** + * 鏂板椤甸潰 + * + * @author ruimin + * @Date 2023-10-08 + */ + @RequestMapping("/add") + public String add() { + return PREFIX + "/kanbanConf_add.html"; + } + + /** + * 缂栬緫椤甸潰 + * + * @author ruimin + * @Date 2023-10-08 + */ + @RequestMapping("/edit") + public String edit() { + return PREFIX + "/kanbanConf_edit.html"; + } + + /** + * 鏂板鎺ュ彛 + * + * @author ruimin + * @Date 2023-10-08 + */ + @RequestMapping("/addItem") + @ResponseBody + @DataSource(name = "self") + public ResponseData addItem(KanbanConfParam kanbanConfParam) { + this.kanbanConfService.add(kanbanConfParam); + return ResponseData.success(); + } + + /** + * 缂栬緫鎺ュ彛 + * + * @author ruimin + * @Date 2023-10-08 + */ + @RequestMapping("/editItem") + @ResponseBody + @DataSource(name = "self") + public ResponseData editItem(KanbanConfParam kanbanConfParam) { + this.kanbanConfService.update(kanbanConfParam); + return ResponseData.success(); + } + + /** + * 鍒犻櫎鎺ュ彛 + * + * @author ruimin + * @Date 2023-10-08 + */ + @RequestMapping("/delete") + @ResponseBody + @DataSource(name = "self") + public ResponseData delete(KanbanConfParam kanbanConfParam) { + this.kanbanConfService.delete(kanbanConfParam); + return ResponseData.success(); + } + + /** + * 鏌ョ湅璇︽儏鎺ュ彛 + * + * @author ruimin + * @Date 2023-10-08 + */ + @RequestMapping("/detail") + @ResponseBody + @DataSource(name = "self") + public ResponseData detail(KanbanConfParam kanbanConfParam) { + KanbanConf detail = this.kanbanConfService.getById(kanbanConfParam.getId()); + return ResponseData.success(detail); + } + + /** + * 鏌ヨ鍒楄〃 + * + * @author ruimin + * @Date 2023-10-08 + */ + @ResponseBody + @RequestMapping("/list") + @DataSource(name = "self") + public LayuiPageInfo list(KanbanConfParam kanbanConfParam) { + return this.kanbanConfService.findPageBySpec(kanbanConfParam); + } + + @RequestMapping("/ipSetting") + @ResponseBody + @DataSource(name = "self") + public ResponseData ipSetting(KanbanConfParam kanbanConfParam, HttpServletRequest request) { + String realIp = IPUtil.getRealIp(request); + KanbanConf kanbanConf = new KanbanConf(); + KanbanConf ipAddress = this.kanbanConfService.getOne(new QueryWrapper<KanbanConf>().eq("ip_address", realIp)); + if(ipAddress == null){ + kanbanConf.setLineCode(kanbanConfParam.getLineCode()); + kanbanConf.setLocationCode(kanbanConfParam.getLocationCode()); + kanbanConf.setIpAddress(realIp); + this.kanbanConfService.save(kanbanConf); + }else { + kanbanConf.setLineCode(kanbanConfParam.getLineCode()); + kanbanConf.setLocationCode(kanbanConfParam.getLocationCode()); + this.kanbanConfService.update(kanbanConf,new QueryWrapper<KanbanConf>().eq("ip_address", realIp)); + } + return ResponseData.success(); + } + + @RequestMapping("/initIpConf") + @ResponseBody + @DataSource(name = "self") + public ResponseData initIpConf(HttpServletRequest request) { + String realIp = IPUtil.getRealIp(request); + KanbanConf ipAddress = this.kanbanConfService.getOne(new QueryWrapper<KanbanConf>().eq("ip_address", realIp)); + return ResponseData.success(ipAddress); + } + +} + + diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/sys/kanbanConf/entity/KanbanConf.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/sys/kanbanConf/entity/KanbanConf.java new file mode 100644 index 0000000..7b1e632 --- /dev/null +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/sys/kanbanConf/entity/KanbanConf.java @@ -0,0 +1,208 @@ +package cn.stylefeng.guns.modular.zsx.sys.kanbanConf.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableField; +import java.io.Serializable; + +/** + * <p> + * 鐪嬫澘閰嶇疆 + * </p> + * + * @author ruimin + * @since 2023-10-08 + */ +@TableName("sys_kanban_conf") +public class KanbanConf implements Serializable { + + private static final long serialVersionUID=1L; + + /** + * ID + */ + @TableId(value = "id", type = IdType.ID_WORKER) + private Long id; + + /** + * 椤甸潰缂栧彿 + */ + @TableField("page_code") + private String pageCode; + + /** + * ip鍦板潃 + */ + @TableField("ip_address") + private String ipAddress; + + /** + * MAC鍦板潃 + */ + @TableField("mac_address") + private String macAddress; + + /** + * 杞﹂棿缂栧彿 + */ + @TableField("workshop_code") + private String workshopCode; + + /** + * 杞﹂棿鍚嶇О + */ + @TableField("workshop_name") + private String workshopName; + + /** + * 浜х嚎缂栧彿 + */ + @TableField("line_code") + private String lineCode; + + /** + * 浜х嚎鍚嶇О + */ + @TableField("line_name") + private String lineName; + + /** + * 宸ヤ綅缂栫爜 + */ + @TableField("location_code") + private String locationCode; + + /** + * 宸ヤ綅鍚嶇О + */ + @TableField("location_name") + private String locationName; + + /** + * 浠撳簱缂栧彿 + */ + @TableField("warehouse_code") + private String warehouseCode; + + /** + * 浠撳簱鍚嶇О + */ + @TableField("warehouse_name") + private String warehouseName; + + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getPageCode() { + return pageCode; + } + + public void setPageCode(String pageCode) { + this.pageCode = pageCode; + } + + public String getIpAddress() { + return ipAddress; + } + + public void setIpAddress(String ipAddress) { + this.ipAddress = ipAddress; + } + + public String getMacAddress() { + return macAddress; + } + + public void setMacAddress(String macAddress) { + this.macAddress = macAddress; + } + + public String getWorkshopCode() { + return workshopCode; + } + + public void setWorkshopCode(String workshopCode) { + this.workshopCode = workshopCode; + } + + public String getWorkshopName() { + return workshopName; + } + + public void setWorkshopName(String workshopName) { + this.workshopName = workshopName; + } + + public String getLineCode() { + return lineCode; + } + + public void setLineCode(String lineCode) { + this.lineCode = lineCode; + } + + public String getLineName() { + return lineName; + } + + public void setLineName(String lineName) { + this.lineName = lineName; + } + + public String getLocationCode() { + return locationCode; + } + + public void setLocationCode(String locationCode) { + this.locationCode = locationCode; + } + + public String getLocationName() { + return locationName; + } + + public void setLocationName(String locationName) { + this.locationName = locationName; + } + + public String getWarehouseCode() { + return warehouseCode; + } + + public void setWarehouseCode(String warehouseCode) { + this.warehouseCode = warehouseCode; + } + + public String getWarehouseName() { + return warehouseName; + } + + public void setWarehouseName(String warehouseName) { + this.warehouseName = warehouseName; + } + + @Override + public String toString() { + return "KanbanConf{" + + "id=" + id + + ", pageCode=" + pageCode + + ", ipAddress=" + ipAddress + + ", macAddress=" + macAddress + + ", workshopCode=" + workshopCode + + ", workshopName=" + workshopName + + ", lineCode=" + lineCode + + ", lineName=" + lineName + + ", locationCode=" + locationCode + + ", locationName=" + locationName + + ", warehouseCode=" + warehouseCode + + ", warehouseName=" + warehouseName + + "}"; + } +} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/sys/kanbanConf/mapper/KanbanConfMapper.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/sys/kanbanConf/mapper/KanbanConfMapper.java new file mode 100644 index 0000000..9ed147b --- /dev/null +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/sys/kanbanConf/mapper/KanbanConfMapper.java @@ -0,0 +1,56 @@ +package cn.stylefeng.guns.modular.zsx.sys.kanbanConf.mapper; + +import cn.stylefeng.guns.modular.zsx.sys.kanbanConf.entity.KanbanConf; +import cn.stylefeng.guns.modular.zsx.sys.kanbanConf.model.params.KanbanConfParam; +import cn.stylefeng.guns.modular.zsx.sys.kanbanConf.model.result.KanbanConfResult; +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-08 + */ +public interface KanbanConfMapper extends BaseMapper<KanbanConf> { + + /** + * 鑾峰彇鍒楄〃 + * + * @author ruimin + * @Date 2023-10-08 + */ + List<KanbanConfResult> customList(@Param("paramCondition") KanbanConfParam paramCondition); + + /** + * 鑾峰彇map鍒楄〃 + * + * @author ruimin + * @Date 2023-10-08 + */ + List<Map<String, Object>> customMapList(@Param("paramCondition") KanbanConfParam paramCondition); + + /** + * 鑾峰彇鍒嗛〉瀹炰綋鍒楄〃 + * + * @author ruimin + * @Date 2023-10-08 + */ + Page<KanbanConfResult> customPageList(@Param("page") Page page, @Param("paramCondition") KanbanConfParam paramCondition); + + /** + * 鑾峰彇鍒嗛〉map鍒楄〃 + * + * @author ruimin + * @Date 2023-10-08 + */ + Page<Map<String, Object>> customPageMapList(@Param("page") Page page, @Param("paramCondition") KanbanConfParam paramCondition); + +} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/sys/kanbanConf/mapper/mapping/KanbanConfMapper.xml b/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/sys/kanbanConf/mapper/mapping/KanbanConfMapper.xml new file mode 100644 index 0000000..5928091 --- /dev/null +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/sys/kanbanConf/mapper/mapping/KanbanConfMapper.xml @@ -0,0 +1,87 @@ +<?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.sys.kanbanConf.mapper.KanbanConfMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="cn.stylefeng.guns.modular.zsx.sys.kanbanConf.entity.KanbanConf"> + <id column="id" property="id" /> + <result column="page_code" property="pageCode" /> + <result column="ip_address" property="ipAddress" /> + <result column="mac_address" property="macAddress" /> + <result column="workshop_code" property="workshopCode" /> + <result column="workshop_name" property="workshopName" /> + <result column="line_code" property="lineCode" /> + <result column="line_name" property="lineName" /> + <result column="location_code" property="locationCode" /> + <result column="location_name" property="locationName" /> + <result column="warehouse_code" property="warehouseCode" /> + <result column="warehouse_name" property="warehouseName" /> + </resultMap> + + <!-- 閫氱敤鏌ヨ缁撴灉鍒� --> + <sql id="Base_Column_List"> + id AS "id", page_code AS "pageCode", ip_address AS "ipAddress", mac_address AS "macAddress", workshop_code AS "workshopCode", workshop_name AS "workshopName", line_code AS "lineCode", line_name AS "lineName", location_code AS "locationCode", location_name AS "locationName", warehouse_code AS "warehouseCode", warehouse_name AS "warehouseName" + </sql> + + + <select id="customList" resultType="cn.stylefeng.guns.modular.zsx.sys.kanbanConf.model.result.KanbanConfResult" parameterType="cn.stylefeng.guns.modular.zsx.sys.kanbanConf.model.params.KanbanConfParam"> + select + <include refid="Base_Column_List"/> + from sys_kanban_conf where 1 = 1 + <if test="paramCondition.ipAddress != null and paramCondition.ipAddress != ''"> + and ip_address like CONCAT('%',#{paramCondition.ipAddress},'%') + </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> + </select> + + <select id="customMapList" resultType="map" parameterType="cn.stylefeng.guns.modular.zsx.sys.kanbanConf.model.params.KanbanConfParam"> + select + <include refid="Base_Column_List"/> + from sys_kanban_conf where 1 = 1 + <if test="paramCondition.ipAddress != null and paramCondition.ipAddress != ''"> + and ip_address like CONCAT('%',#{paramCondition.ipAddress},'%') + </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> + </select> + + <select id="customPageList" resultType="cn.stylefeng.guns.modular.zsx.sys.kanbanConf.model.result.KanbanConfResult" parameterType="cn.stylefeng.guns.modular.zsx.sys.kanbanConf.model.params.KanbanConfParam"> + select + <include refid="Base_Column_List"/> + from sys_kanban_conf where 1 = 1 + <if test="paramCondition.ipAddress != null and paramCondition.ipAddress != ''"> + and ip_address like CONCAT('%',#{paramCondition.ipAddress},'%') + </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> + </select> + + <select id="customPageMapList" resultType="map" parameterType="cn.stylefeng.guns.modular.zsx.sys.kanbanConf.model.params.KanbanConfParam"> + select + <include refid="Base_Column_List"/> + from sys_kanban_conf where 1 = 1 + <if test="paramCondition.ipAddress != null and paramCondition.ipAddress != ''"> + and ip_address like CONCAT('%',#{paramCondition.ipAddress},'%') + </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> + </select> + +</mapper> diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/sys/kanbanConf/model/params/KanbanConfParam.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/sys/kanbanConf/model/params/KanbanConfParam.java new file mode 100644 index 0000000..f7a6d82 --- /dev/null +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/sys/kanbanConf/model/params/KanbanConfParam.java @@ -0,0 +1,88 @@ +package cn.stylefeng.guns.modular.zsx.sys.kanbanConf.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-08 + */ +@Data +public class KanbanConfParam implements Serializable, BaseValidatingParam { + + private static final long serialVersionUID = 1L; + + + /** + * ID + */ + private Long id; + + /** + * 椤甸潰缂栧彿 + */ + private String pageCode; + + /** + * ip鍦板潃 + */ + private String ipAddress; + + /** + * MAC鍦板潃 + */ + private String macAddress; + + /** + * 杞﹂棿缂栧彿 + */ + private String workshopCode; + + /** + * 杞﹂棿鍚嶇О + */ + private String workshopName; + + /** + * 浜х嚎缂栧彿 + */ + private String lineCode; + + /** + * 浜х嚎鍚嶇О + */ + private String lineName; + + /** + * 宸ヤ綅缂栫爜 + */ + private String locationCode; + + /** + * 宸ヤ綅鍚嶇О + */ + private String locationName; + + /** + * 浠撳簱缂栧彿 + */ + private String warehouseCode; + + /** + * 浠撳簱鍚嶇О + */ + private String warehouseName; + + @Override + public String checkParam() { + return null; + } + +} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/sys/kanbanConf/model/result/KanbanConfResult.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/sys/kanbanConf/model/result/KanbanConfResult.java new file mode 100644 index 0000000..c11928a --- /dev/null +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/sys/kanbanConf/model/result/KanbanConfResult.java @@ -0,0 +1,82 @@ +package cn.stylefeng.guns.modular.zsx.sys.kanbanConf.model.result; + +import lombok.Data; +import java.util.Date; +import java.io.Serializable; +import java.math.BigDecimal; + +/** + * <p> + * 鐪嬫澘閰嶇疆 + * </p> + * + * @author ruimin + * @since 2023-10-08 + */ +@Data +public class KanbanConfResult implements Serializable { + + private static final long serialVersionUID = 1L; + + + /** + * ID + */ + private Long id; + + /** + * 椤甸潰缂栧彿 + */ + private String pageCode; + + /** + * ip鍦板潃 + */ + private String ipAddress; + + /** + * MAC鍦板潃 + */ + private String macAddress; + + /** + * 杞﹂棿缂栧彿 + */ + private String workshopCode; + + /** + * 杞﹂棿鍚嶇О + */ + private String workshopName; + + /** + * 浜х嚎缂栧彿 + */ + private String lineCode; + + /** + * 浜х嚎鍚嶇О + */ + private String lineName; + + /** + * 宸ヤ綅缂栫爜 + */ + private String locationCode; + + /** + * 宸ヤ綅鍚嶇О + */ + private String locationName; + + /** + * 浠撳簱缂栧彿 + */ + private String warehouseCode; + + /** + * 浠撳簱鍚嶇О + */ + private String warehouseName; + +} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/sys/kanbanConf/service/KanbanConfService.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/sys/kanbanConf/service/KanbanConfService.java new file mode 100644 index 0000000..b1c1b99 --- /dev/null +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/sys/kanbanConf/service/KanbanConfService.java @@ -0,0 +1,69 @@ +package cn.stylefeng.guns.modular.zsx.sys.kanbanConf.service; + +import cn.stylefeng.guns.base.pojo.page.LayuiPageInfo; +import cn.stylefeng.guns.modular.zsx.sys.kanbanConf.entity.KanbanConf; +import cn.stylefeng.guns.modular.zsx.sys.kanbanConf.model.params.KanbanConfParam; +import cn.stylefeng.guns.modular.zsx.sys.kanbanConf.model.result.KanbanConfResult; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * <p> + * 鐪嬫澘閰嶇疆 鏈嶅姟绫� + * </p> + * + * @author ruimin + * @since 2023-10-08 + */ +public interface KanbanConfService extends IService<KanbanConf> { + + /** + * 鏂板 + * + * @author ruimin + * @Date 2023-10-08 + */ + void add(KanbanConfParam param); + + /** + * 鍒犻櫎 + * + * @author ruimin + * @Date 2023-10-08 + */ + void delete(KanbanConfParam param); + + /** + * 鏇存柊 + * + * @author ruimin + * @Date 2023-10-08 + */ + void update(KanbanConfParam param); + + /** + * 鏌ヨ鍗曟潯鏁版嵁锛孲pecification妯″紡 + * + * @author ruimin + * @Date 2023-10-08 + */ + KanbanConfResult findBySpec(KanbanConfParam param); + + /** + * 鏌ヨ鍒楄〃锛孲pecification妯″紡 + * + * @author ruimin + * @Date 2023-10-08 + */ + List<KanbanConfResult> findListBySpec(KanbanConfParam param); + + /** + * 鏌ヨ鍒嗛〉鏁版嵁锛孲pecification妯″紡 + * + * @author ruimin + * @Date 2023-10-08 + */ + LayuiPageInfo findPageBySpec(KanbanConfParam param); + +} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/sys/kanbanConf/service/impl/KanbanConfServiceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/sys/kanbanConf/service/impl/KanbanConfServiceImpl.java new file mode 100644 index 0000000..946a142 --- /dev/null +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/zsx/sys/kanbanConf/service/impl/KanbanConfServiceImpl.java @@ -0,0 +1,84 @@ +package cn.stylefeng.guns.modular.zsx.sys.kanbanConf.service.impl; + +import cn.stylefeng.guns.base.pojo.page.LayuiPageFactory; +import cn.stylefeng.guns.base.pojo.page.LayuiPageInfo; +import cn.stylefeng.guns.modular.zsx.sys.kanbanConf.entity.KanbanConf; +import cn.stylefeng.guns.modular.zsx.sys.kanbanConf.mapper.KanbanConfMapper; +import cn.stylefeng.guns.modular.zsx.sys.kanbanConf.model.params.KanbanConfParam; +import cn.stylefeng.guns.modular.zsx.sys.kanbanConf.model.result.KanbanConfResult; +import cn.stylefeng.guns.modular.zsx.sys.kanbanConf.service.KanbanConfService; +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-08 + */ +@Service +public class KanbanConfServiceImpl extends ServiceImpl<KanbanConfMapper, KanbanConf> implements KanbanConfService { + + @Override + public void add(KanbanConfParam param){ + KanbanConf entity = getEntity(param); + this.save(entity); + } + + @Override + public void delete(KanbanConfParam param){ + this.removeById(getKey(param)); + } + + @Override + public void update(KanbanConfParam param){ + KanbanConf oldEntity = getOldEntity(param); + KanbanConf newEntity = getEntity(param); + ToolUtil.copyProperties(newEntity, oldEntity); + this.updateById(newEntity); + } + + @Override + public KanbanConfResult findBySpec(KanbanConfParam param){ + return null; + } + + @Override + public List<KanbanConfResult> findListBySpec(KanbanConfParam param){ + return null; + } + + @Override + public LayuiPageInfo findPageBySpec(KanbanConfParam param){ + Page pageContext = getPageContext(); + IPage page = this.baseMapper.customPageList(pageContext, param); + return LayuiPageFactory.createPageInfo(page); + } + + private Serializable getKey(KanbanConfParam param){ + return param.getId(); + } + + private Page getPageContext() { + return LayuiPageFactory.defaultPage(); + } + + private KanbanConf getOldEntity(KanbanConfParam param) { + return this.getById(getKey(param)); + } + + private KanbanConf getEntity(KanbanConfParam param) { + KanbanConf entity = new KanbanConf(); + ToolUtil.copyProperties(param, entity); + return entity; + } + +} diff --git a/guns-vip-main/src/main/sqls/kanbanConf_menus.sql b/guns-vip-main/src/main/sqls/kanbanConf_menus.sql new file mode 100644 index 0000000..ab8ab84 --- /dev/null +++ b/guns-vip-main/src/main/sqls/kanbanConf_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 (1710918774504177666, 'KANBAN_CONF', '0', '[0],', '鐪嬫澘閰嶇疆', 'fa-star', '/kanbanConf', 999, 1, 'Y', '', 'ENABLE', '', '', 'BASE_SYSTEM', '2023-10-08 15:23:17', '2023-10-08 15:23:17', 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 (1710918774508371970, 'KANBAN_CONF_ADD', 'KANBAN_CONF', '[0],[KANBAN_CONF],', '鐪嬫澘閰嶇疆娣诲姞', 'fa-star', '', 999, 2, 'N', '', 'ENABLE', '', '', 'BASE_SYSTEM', '2023-10-08 15:23:17', '2023-10-08 15:23:17', 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 (1710918774508371971, 'KANBAN_CONF_EDIT', 'KANBAN_CONF', '[0],[KANBAN_CONF],', '鐪嬫澘閰嶇疆淇敼', 'fa-star', '', 999, 2, 'N', '', 'ENABLE', '', '', 'BASE_SYSTEM', '2023-10-08 15:23:17', '2023-10-08 15:23:17', 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 (1710918774508371972, 'KANBAN_CONF_DELETE', 'KANBAN_CONF', '[0],[KANBAN_CONF],', '鐪嬫澘閰嶇疆鍒犻櫎', 'fa-star', '', 999, 2, 'N', '', 'ENABLE', '', '', 'BASE_SYSTEM', '2023-10-08 15:23:17', '2023-10-08 15:23:17', 1, 1); diff --git a/guns-vip-main/src/main/webapp/assets/modular/kb/formula/formulaView.js b/guns-vip-main/src/main/webapp/assets/modular/kb/formula/formulaView.js new file mode 100644 index 0000000..f95701e --- /dev/null +++ b/guns-vip-main/src/main/webapp/assets/modular/kb/formula/formulaView.js @@ -0,0 +1,95 @@ +layui.use(['form', 'table', 'admin', 'ax', 'func','element'], function () { + var $ = layui.$; + var table = layui.table; + var $ax = layui.ax; + var admin = layui.admin; + var func = layui.func; + var form = layui.form; + var element = layui.element; + + initLineInfo(); + + var ajax = new $ax(Feng.ctxPath + "/workOrder/list?state=3"); + var result = ajax.start(); + let msg = result.data[0]; + $('#workOrder').text(msg.workOrderCode); + $('#salesOrderCode').text(msg.salesOrderCode); + $('#productCode').text(msg.productCode); + $('#productName').text(msg.productName); + $('#planQty').text(msg.planQty); + $('#planStartTime').text(msg.planStartTime); + $('#planEndTime').text(msg.planEndTime); + var radioElement = $('#sex1'); + + function initLineInfo(){ + $.ajax({ + type: "POST", + contentType: "application/json;charset=UTF-8", + url: Feng.ctxPath + '/lineInfo/list', + success: function (result) { + var initIpConf = new $ax(Feng.ctxPath + "/kanbanConf/initIpConf"); + var initResult = initIpConf.start(); + + $('#lineCode').append(new Option("璇烽�夋嫨浜х嚎", ""));// 涓嬫媺鑿滃崟閲屾坊鍔犲厓绱� + $.each(result.data, function (index, value) { + $('#lineCode').append(new Option(value.lineCode));// 涓嬫媺鑿滃崟閲屾坊鍔犲厓绱� + }); + if(initResult.data!==""){ + $('#lineCode').val(initResult.data.lineCode);// 涓嬫媺鑿滃崟閲屾坊鍔犲厓绱� + $('#locationCode').append(new Option(initResult.data.locationCode));// 涓嬫媺鑿滃崟閲屾坊鍔犲厓绱� + } + layui.form.render("select");//閲嶆柊娓叉煋 鍥哄畾鍐欐硶 + }, + }); + } + + form.on("select", function (data) { + switch(data.elem.id){ + case 'lineCode': + console.log(data.value); + if(data.value === ""){ + $('#locationCode').empty(); + layui.form.render("select");//閲嶆柊娓叉煋 鍥哄畾鍐欐硶 + }else { + $.ajax({ + type: "POST", + contentType: "application/json;charset=UTF-8", + url: Feng.ctxPath + '/locationInfo/list?productionLineCode='+data.value, + success: function (result) { + $('#locationCode').empty(); + $('#locationCode').append(new Option("璇烽�夋嫨宸ヤ綅", ""));// 涓嬫媺鑿滃崟閲屾坊鍔犲厓绱� + + $.each(result.data, function (index, value) { + $('#locationCode').append(new Option(value.locationCode));// 涓嬫媺鑿滃崟閲屾坊鍔犲厓绱� + }); + layui.form.render("select");//閲嶆柊娓叉煋 鍥哄畾鍐欐硶 + }, + }); + } + break; + case 'locationCode': + console.log($('#locationCode').val()); + console.log($('#lineCode').val()); + var getIp = new $ax(Feng.ctxPath + "/kanbanConf/ipSetting?lineCode="+$('#lineCode').val()+"&locationCode="+$('#locationCode').val()); + var result = getIp.start(); + Feng.info("鏇存柊瀹屾垚!") + break; + } + }); + + setInterval(function() { + $('input[name="sex1"][value="nan1"]').prop('checked', true); + }, 1000); + setInterval(function() { + radioElement.prop('checked', false); + }, 2000); + + //Hash鍦板潃鐨勫畾浣� + var layid = location.hash.replace(/^#test=/, ''); + element.tabChange('test', layid); + + element.on('tab(test)', function(elem){ + location.hash = 'test='+ $(this).attr('lay-id'); + }); + +}); diff --git a/guns-vip-main/src/main/webapp/assets/modular/sys/kanbanConf/kanbanConf.js b/guns-vip-main/src/main/webapp/assets/modular/sys/kanbanConf/kanbanConf.js new file mode 100644 index 0000000..6079ac4 --- /dev/null +++ b/guns-vip-main/src/main/webapp/assets/modular/sys/kanbanConf/kanbanConf.js @@ -0,0 +1,137 @@ +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 KanbanConf = { + tableId: "kanbanConfTable" + }; + + /** + * 鍒濆鍖栬〃鏍肩殑鍒� + */ + KanbanConf.initColumn = function () { + return [[ + {type: 'checkbox'}, + {field: 'id', hide: true, title: 'ID'}, + // {field: 'pageCode', sort: true, title: '椤甸潰缂栧彿'}, + {field: 'ipAddress', sort: true, title: 'ip鍦板潃'}, + // {field: 'macAddress', sort: true, title: 'MAC鍦板潃'}, + // {field: 'workshopCode', sort: true, title: '杞﹂棿缂栧彿'}, + // {field: 'workshopName', sort: true, title: '杞﹂棿鍚嶇О'}, + {field: 'lineCode', sort: true, title: '浜х嚎缂栧彿'}, + {field: 'lineName', sort: true, title: '浜х嚎鍚嶇О'}, + {field: 'locationCode', sort: true, title: '宸ヤ綅缂栫爜'}, + {field: 'locationName', sort: true, title: '宸ヤ綅鍚嶇О'}, + // {field: 'warehouseCode', sort: true, title: '浠撳簱缂栧彿'}, + // {field: 'warehouseName', sort: true, title: '浠撳簱鍚嶇О'}, + {fixed: 'right',width: 125, minWidth: 125, align: 'center', toolbar: '#tableBar', title: '鎿嶄綔'} + ]]; + }; + + /** + * 鐐瑰嚮鏌ヨ鎸夐挳 + */ + KanbanConf.search = function () { + var queryData = {}; + + queryData['ipAddress'] = $('#ipAddress').val(); + queryData['lineCode'] = $('#lineCode').val(); + queryData['locationCode'] = $('#locationCode').val(); + + table.reload(KanbanConf.tableId, { + where: queryData, page: {curr: 1} + }); + }; + + /** + * 璺宠浆鍒版坊鍔犻〉闈� + */ + KanbanConf.jumpAddPage = function () { + window.location.href = Feng.ctxPath + '/kanbanConf/add' + }; + + /** + * 璺宠浆鍒扮紪杈戦〉闈� + * + * @param data 鐐瑰嚮鎸夐挳鏃跺�欑殑琛屾暟鎹� + */ + KanbanConf.jumpEditPage = function (data) { + window.location.href = Feng.ctxPath + '/kanbanConf/edit?id=' + data.id + }; + + /** + * 瀵煎嚭excel鎸夐挳 + */ + KanbanConf.exportExcel = function () { + var checkRows = table.checkStatus(KanbanConf.tableId); + if (checkRows.data.length === 0) { + Feng.error("璇烽�夋嫨瑕佸鍑虹殑鏁版嵁"); + } else { + table.exportFile(tableResult.config.id, checkRows.data, 'xls'); + } + }; + + /** + * 鐐瑰嚮鍒犻櫎 + * + * @param data 鐐瑰嚮鎸夐挳鏃跺�欑殑琛屾暟鎹� + */ + KanbanConf.onDeleteItem = function (data) { + var operation = function () { + var ajax = new $ax(Feng.ctxPath + "/kanbanConf/delete", function (data) { + Feng.success("鍒犻櫎鎴愬姛!"); + table.reload(KanbanConf.tableId); + }, function (data) { + Feng.error("鍒犻櫎澶辫触!" + data.responseJSON.message + "!"); + }); + ajax.set("id", data.id); + ajax.start(); + }; + Feng.confirm("鏄惁鍒犻櫎?", operation); + }; + + // 娓叉煋琛ㄦ牸 + var tableResult = table.render({ + elem: '#' + KanbanConf.tableId, + url: Feng.ctxPath + '/kanbanConf/list', + page: true, + height: "full-158", + cellMinWidth: 100, + cols: KanbanConf.initColumn() + }); + + // 鎼滅储鎸夐挳鐐瑰嚮浜嬩欢 + $('#btnSearch').click(function () { + KanbanConf.search(); + }); + + // 娣诲姞鎸夐挳鐐瑰嚮浜嬩欢 + $('#btnAdd').click(function () { + + KanbanConf.jumpAddPage(); + + }); + + // 瀵煎嚭excel + $('#btnExp').click(function () { + KanbanConf.exportExcel(); + }); + + // 宸ュ叿鏉$偣鍑讳簨浠� + table.on('tool(' + KanbanConf.tableId + ')', function (obj) { + var data = obj.data; + var layEvent = obj.event; + + if (layEvent === 'edit') { + KanbanConf.jumpEditPage(data); + } else if (layEvent === 'delete') { + KanbanConf.onDeleteItem(data); + } + }); +}); diff --git a/guns-vip-main/src/main/webapp/assets/modular/sys/kanbanConf/kanbanConf_add.js b/guns-vip-main/src/main/webapp/assets/modular/sys/kanbanConf/kanbanConf_add.js new file mode 100644 index 0000000..797f865 --- /dev/null +++ b/guns-vip-main/src/main/webapp/assets/modular/sys/kanbanConf/kanbanConf_add.js @@ -0,0 +1,79 @@ +/** + * 娣诲姞鎴栬�呬慨鏀归〉闈� + */ +var KanbanConfInfoDlg = { + data: { + id: "", + pageCode: "", + ipAddress: "", + macAddress: "", + workshopCode: "", + workshopName: "", + lineCode: "", + lineName: "", + locationCode: "", + locationName: "", + warehouseCode: "", + warehouseName: "" + } +}; + +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 + "/kanbanConf/addItem", function (data) { + Feng.success("娣诲姞鎴愬姛锛�"); + window.location.href = Feng.ctxPath + '/kanbanConf' + }, function (data) { + Feng.error("娣诲姞澶辫触锛�" + data.responseJSON.message) + }); + ajax.set(data.field); + ajax.start(); + + return false; + }); + + $('#cancel').click(function(){ + window.location.href = Feng.ctxPath + '/kanbanConf' + }); + +}); \ No newline at end of file diff --git a/guns-vip-main/src/main/webapp/assets/modular/sys/kanbanConf/kanbanConf_edit.js b/guns-vip-main/src/main/webapp/assets/modular/sys/kanbanConf/kanbanConf_edit.js new file mode 100644 index 0000000..73aabd9 --- /dev/null +++ b/guns-vip-main/src/main/webapp/assets/modular/sys/kanbanConf/kanbanConf_edit.js @@ -0,0 +1,83 @@ +/** + * 璇︽儏瀵硅瘽妗� + */ +var KanbanConfInfoDlg = { + data: { + id: "", + pageCode: "", + ipAddress: "", + macAddress: "", + workshopCode: "", + workshopName: "", + lineCode: "", + lineName: "", + locationCode: "", + locationName: "", + warehouseCode: "", + warehouseName: "" + } +}; + +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 + "/kanbanConf/detail?id=" + Feng.getUrlParam("id")); + var result = ajax.start(); + form.val('kanbanConfForm', result.data); + + //琛ㄥ崟鎻愪氦浜嬩欢 + form.on('submit(btnSubmit)', function (data) { + var ajax = new $ax(Feng.ctxPath + "/kanbanConf/editItem", function (data) { + Feng.success("鏇存柊鎴愬姛锛�"); + window.location.href = Feng.ctxPath + '/kanbanConf' + }, function (data) { + Feng.error("鏇存柊澶辫触锛�" + data.responseJSON.message) + }); + ajax.set(data.field); + ajax.start(); + + return false; + }); + + $('#cancel').click(function(){ + window.location.href = Feng.ctxPath + '/kanbanConf' + }); +}); \ No newline at end of file diff --git a/guns-vip-main/src/main/webapp/pages/modular/kb/formula/formulaView.html b/guns-vip-main/src/main/webapp/pages/modular/kb/formula/formulaView.html new file mode 100644 index 0000000..302bbf5 --- /dev/null +++ b/guns-vip-main/src/main/webapp/pages/modular/kb/formula/formulaView.html @@ -0,0 +1,139 @@ +@layout("/common/_container.html",{js:["/assets/modular/kb/formula/formulaView.js"]}){ + +<div class="layui-fluid"> + <div class="layui-row layui-col-space15"> + <div class="layui-col-sm3 layui-col-md3 layui-col-lg3"> + <div class="layui-card"> + <div class="layui-card-header" style="font-weight: bold"> + <i class="layui-icon layui-icon-rate-solid"></i>宸ヤ綅閰嶇疆 + </div> + <div class="layui-card-body"> + <form class="layui-form" action=""> + <div class="layui-form-item"> + <div class="layui-col-md12"> + <div class="layui-inline"> + 浜� 绾� 缂� 鍙�: + </div> + <div class="layui-inline"> + <select id="lineCode" lay-verify="lineCode"> + </select> + </div> + </div> + <div class="layui-col-md12"> + <div class="layui-inline"> + 宸� 浣� 缂� 鐮�: + </div> + <div class="layui-inline"> + <select id="locationCode" lay-verify="locationCode"> + </select> + </div> + </div> + </div> + </form> + </div> + </div> + <div class="layui-card"> + <div class="layui-card-header" style="font-weight: bold"> + <i class="layui-icon layui-icon-rate-solid"></i>宸ュ崟淇℃伅 + </div> + <div class="layui-card-body"> + <div class="orderInfo"> + <span>宸ュ崟缂栧彿</span> + <span class="mySpan" style="float: right" id="workOrder"></span> + </div> + <div class="orderInfo"> + <span>璁㈠崟缂栧彿</span> + <span class="mySpan" style="float: right" id="salesOrderCode"></span> + </div> + <div class="orderInfo"> + <span>浜у搧缂栧彿</span> + <span class="mySpan" style="float: right" id="productCode"></span> + </div> + <div class="orderInfo"> + <span>浜у搧鍚嶇О</span> + <span class="mySpan" style="float: right" id="productName"></span> + </div> + <div class="orderInfo"> + <span>璁″垝鏁伴噺</span> + <span class="mySpan" style="float: right" id="planQty"></span> + </div> + <div class="orderInfo"> + <span>璁″垝寮�濮嬫椂闂�</span> + <span class="mySpan" style="float: right" id="planStartTime"></span> + </div> + <div class="orderInfo"> + <span>璁″垝缁撴潫鏃堕棿</span> + <span class="mySpan" style="float: right" id="planEndTime"></span> + </div> + <hr class="layui-border-orange"> +<!-- <span>PLC浜や簰鐐�</span>--> + <div class="container"> + <input type="radio" id="sex1" name="sex1" value="nan1" title="鐢�"> + <span>绯荤粺灏辩华</span> + <input style="margin-left: 150px" type="radio" name="sex" value="nan" title="鐢�"> + <span>宸ヤ欢鍒颁綅</span> + </div> + <div class="container"> + <input type="radio" name="sex" value="nan" title="鐢�"> + <span>璇诲彇鏉$爜</span> + <input style="margin-left: 150px" type="radio" name="sex" value="nan" title="鐢�"> + <span>涓嬪彂鏈哄瀷</span> + </div> + <div class="container"> + <input type="radio" name="sex" value="nan" title="鐢�"> + <span>鍏佽鍚姩</span> + <input style="margin-left: 150px" type="radio" name="sex" value="nan" title="鐢�"> + <span>涓嶅厑璁稿惎鍔�</span> + </div> + <div class="container"> + <input type="radio" name="sex" value="nan" title="鐢�"> + <span>鍚堟牸瀹屾垚</span> + <input style="margin-left: 150px" type="radio" name="sex" value="nan" title="鐢�"> + <span>涓嶅悎鏍煎畬鎴�</span> + </div> + <div class="container"> + <input type="radio" name="sex" value="nan" title="鐢�"> + <span>淇濆瓨瀹屾垚</span> + </div> + </div> + </div> + </div> + <div class="layui-col-sm9 layui-col-md9 layui-col-lg9"> + <div class="layui-card" style="height: 577px"> + <div class="layui-card-header" style="font-weight: bold"> + <i class="layui-icon layui-icon-rate-solid"></i>鎿嶄綔鏍� + </div> + <div class="layui-card-body"> + <div class="layui-tab" lay-filter="test"> + <ul class="layui-tab-title"> + <li class="layui-this" lay-id="11">棣栭〉</li> + <li lay-id="22">宸ュ簭鐘舵��</li> + <li lay-id="33">瑁呴厤閲囬泦娓呭崟</li> + <li lay-id="44">宸ヨ壓鍙傛暟</li> + <li lay-id="55">涓嶅悎鏍艰川閲忔暟鎹�</li> + </ul> + <div class="layui-tab-content"> + <div class="layui-tab-item layui-show"> + 鐐瑰嚮璇ab鐨勪换涓�鏍囬锛岃瀵熷湴鍧�鏍忓彉鍖栵紝鍐嶅埛鏂伴〉闈€�傞�夐」鍗″皢浼氳嚜鍔ㄥ畾浣嶅埌涓婁竴娆″垏鎹㈢殑椤� + </div> + <div class="layui-tab-item">鍐呭2</div> + <div class="layui-tab-item">鍐呭3</div> + <div class="layui-tab-item">鍐呭4</div> + <div class="layui-tab-item">鍐呭5</div> + </div> + </div> + </div> + </div> + </div> + </div> +</div> +<style> + .orderInfo { + margin-bottom: 5px; /* 璁剧疆鎹㈣鍚庣殑涓嬭竟璺� */ + } + .container { + display: flex; /* 浣跨敤 Flex 甯冨眬 */ + align-items: center; /* 灏嗗瓙鍏冪礌鍨傜洿灞呬腑瀵归綈 */ + } +</style> +@} \ No newline at end of file diff --git a/guns-vip-main/src/main/webapp/pages/modular/sys/kanbanConf/kanbanConf.html b/guns-vip-main/src/main/webapp/pages/modular/sys/kanbanConf/kanbanConf.html new file mode 100644 index 0000000..9ba1067 --- /dev/null +++ b/guns-vip-main/src/main/webapp/pages/modular/sys/kanbanConf/kanbanConf.html @@ -0,0 +1,41 @@ +@layout("/common/_container.html",{js:["/assets/modular/sys/kanbanConf/kanbanConf.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="ipAddress" class="layui-input" type="text" placeholder="ip鍦板潃"/> + </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"> + <button id="btnSearch" class="layui-btn icon-btn"><i class="layui-icon"></i>鎼滅储</button> + <button id="btnAdd" class="layui-btn icon-btn"><i class="layui-icon"></i>娣诲姞</button> + <button id="btnExp" class="layui-btn icon-btn"><i class="layui-icon"></i>瀵煎嚭</button> + </div> + </div> + </div> + <table class="layui-table" id="kanbanConfTable" lay-filter="kanbanConfTable"></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> +@} \ No newline at end of file diff --git a/guns-vip-main/src/main/webapp/pages/modular/sys/kanbanConf/kanbanConf_add.html b/guns-vip-main/src/main/webapp/pages/modular/sys/kanbanConf/kanbanConf_add.html new file mode 100644 index 0000000..c5b80c2 --- /dev/null +++ b/guns-vip-main/src/main/webapp/pages/modular/sys/kanbanConf/kanbanConf_add.html @@ -0,0 +1,88 @@ +@layout("/common/_form.html",{js:["/assets/modular/sys/kanbanConf/kanbanConf_add.js"],css:["/assets/expand/module/formSelects/formSelects-v4.css"]}){ + +<form class="layui-form" id="kanbanConfForm" lay-filter="kanbanConfForm"> + <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="pageCode" name="pageCode" placeholder="璇疯緭鍏ラ〉闈㈢紪鍙�" type="text" class="layui-input" lay-verify="required" required/> + </div> + </div> + <div class="layui-inline layui-col-md12"> + <label class="layui-form-label">ip鍦板潃<span style="color: red;">*</span></label> + <div class="layui-input-block"> + <input id="ipAddress" name="ipAddress" placeholder="璇疯緭鍏p鍦板潃" type="text" class="layui-input" lay-verify="required" required/> + </div> + </div> + <div class="layui-inline layui-col-md12"> + <label class="layui-form-label">MAC鍦板潃<span style="color: red;">*</span></label> + <div class="layui-input-block"> + <input id="macAddress" name="macAddress" placeholder="璇疯緭鍏AC鍦板潃" 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="workshopCode" name="workshopCode" 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="workshopName" name="workshopName" 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="lineName" name="lineName" 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="locationName" name="locationName" 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="warehouseCode" name="warehouseCode" 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="warehouseName" name="warehouseName" 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> 鎻愪氦 </button> + <button type="reset" class="layui-btn layui-btn-primary" id="cancel"> 鍙栨秷 </button> + </div> + +</form> + +@} \ No newline at end of file diff --git a/guns-vip-main/src/main/webapp/pages/modular/sys/kanbanConf/kanbanConf_edit.html b/guns-vip-main/src/main/webapp/pages/modular/sys/kanbanConf/kanbanConf_edit.html new file mode 100644 index 0000000..7fec7d3 --- /dev/null +++ b/guns-vip-main/src/main/webapp/pages/modular/sys/kanbanConf/kanbanConf_edit.html @@ -0,0 +1,88 @@ +@layout("/common/_form.html",{js:["/assets/modular/sys/kanbanConf/kanbanConf_edit.js"]}){ + +<form class="layui-form" id="kanbanConfForm" lay-filter="kanbanConfForm"> + <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="pageCode" name="pageCode" placeholder="璇疯緭鍏ラ〉闈㈢紪鍙�" type="text" class="layui-input" lay-verify="required" required/> + </div> + </div> + <div class="layui-inline layui-col-md12"> + <label class="layui-form-label">ip鍦板潃<span style="color: red;">*</span></label> + <div class="layui-input-block"> + <input id="ipAddress" name="ipAddress" placeholder="璇疯緭鍏p鍦板潃" type="text" class="layui-input" lay-verify="required" required/> + </div> + </div> + <div class="layui-inline layui-col-md12"> + <label class="layui-form-label">MAC鍦板潃<span style="color: red;">*</span></label> + <div class="layui-input-block"> + <input id="macAddress" name="macAddress" placeholder="璇疯緭鍏AC鍦板潃" 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="workshopCode" name="workshopCode" 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="workshopName" name="workshopName" 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="lineName" name="lineName" 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="locationName" name="locationName" 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="warehouseCode" name="warehouseCode" 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="warehouseName" name="warehouseName" 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> 鎻愪氦 </button> + <button type="reset" class="layui-btn layui-btn-primary" id="cancel"> 鍙栨秷 </button> + </div> + +</form> + +@} \ No newline at end of file -- Gitblit v1.9.3