From 41f9ed0995fd9fd7534e80a4b41c002e365aefa8 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期二, 26 十二月 2023 14:40:45 +0800
Subject: [PATCH] #

---
 zy-asrs-common/src/main/java/com/zy/asrs/common/wms/entity/BasDevp.java                  |  396 +++++++++++++++++
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/WorkController.java                 |   34 +
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/BasDevpController.java              |  110 ++++
 zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/WorkService.java             |    5 
 zy-asrs-wms/src/main/webapp/static/js/basDevp/basDevp.js                                 |  389 ++++++++++++++++
 zy-asrs-wms/src/main/webapp/views/basDevp/basDevp.html                                   |  342 ++++++++++++++
 zy-asrs-common/src/main/java/com/zy/asrs/common/wms/mapper/BasDevpMapper.java            |   17 
 zy-asrs-common/src/main/java/basDevp.sql                                                 |   18 
 zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/BasDevpServiceImpl.java |   19 
 zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/BasDevpService.java          |   16 
 zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/WorkServiceImpl.java    |   14 
 zy-asrs-common/src/main/resources/mapper/wms/BasDevpMapper.xml                           |   16 
 12 files changed, 1,376 insertions(+), 0 deletions(-)

diff --git a/zy-asrs-common/src/main/java/basDevp.sql b/zy-asrs-common/src/main/java/basDevp.sql
new file mode 100644
index 0000000..7ec6ddd
--- /dev/null
+++ b/zy-asrs-common/src/main/java/basDevp.sql
@@ -0,0 +1,18 @@
+-- save basDevp record
+-- mysql
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'basDevp/basDevp.html', 'basDevp绠$悊', null , '2', null , '1');
+
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'basDevp#view', '鏌ヨ', '', '3', '0', '1');
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'basDevp#btn-add', '鏂板', '', '3', '1', '1');
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'basDevp#btn-edit', '缂栬緫', '', '3', '2', '1');
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'basDevp#btn-delete', '鍒犻櫎', '', '3', '3', '1');
+insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'basDevp#btn-export', '瀵煎嚭', '', '3', '4', '1');
+
+-- sqlserver
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'basDevp/basDevp.html', N'basDevp绠$悊', null, '2', null, '1');
+
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'basDevp#view', N'鏌ヨ', '', '3', '0', '1');
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'basDevp#btn-add', N'鏂板', '', '3', '1', '1');
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'basDevp#btn-edit', N'缂栬緫', '', '3', '2', '1');
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'basDevp#btn-delete', N'鍒犻櫎', '', '3', '3', '1');
+insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'basDevp#btn-export', N'瀵煎嚭', '', '3', '4', '1');
diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/entity/BasDevp.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/entity/BasDevp.java
new file mode 100644
index 0000000..2473268
--- /dev/null
+++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/entity/BasDevp.java
@@ -0,0 +1,396 @@
+package com.zy.asrs.common.wms.entity;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import org.springframework.format.annotation.DateTimeFormat;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import com.zy.asrs.framework.common.Cools;
+import com.zy.asrs.framework.common.SpringUtils;
+import com.zy.asrs.common.sys.entity.User;
+import com.zy.asrs.common.sys.entity.Host;
+import com.zy.asrs.common.sys.service.UserService;
+import com.zy.asrs.common.sys.service.HostService;
+
+import java.io.Serializable;
+import java.util.Date;
+
+@Data
+@TableName("wms_bas_devp")
+public class BasDevp implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 缂栧彿
+     */
+    @ApiModelProperty(value= "缂栧彿")
+    @TableId(value = "dev_no", type = IdType.INPUT)
+    private Integer devNo;
+
+    /**
+     * 璁惧鎻忚堪
+     */
+    @ApiModelProperty(value= "璁惧鎻忚堪")
+    private String decDesc;
+
+    /**
+     * 澶囨敞
+     */
+    @ApiModelProperty(value= "澶囨敞")
+    private String devMk;
+
+    /**
+     * 鍙叆(checkBox)
+     */
+    @ApiModelProperty(value= "鍙叆(checkBox)")
+    private String inEnable;
+
+    /**
+     * 鍙嚭(checkBox)
+     */
+    @ApiModelProperty(value= "鍙嚭(checkBox)")
+    private String outEnable;
+
+    /**
+     * 鑷姩(checkBox)
+     */
+    @ApiModelProperty(value= "鑷姩(checkBox)")
+    private String autoing;
+
+    /**
+     * 鏈夌墿(checkBox)
+     */
+    @ApiModelProperty(value= "鏈夌墿(checkBox)")
+    private String loading;
+
+    /**
+     * 鑳藉叆(checkBox)
+     */
+    @ApiModelProperty(value= "鑳藉叆(checkBox)")
+    private String canining;
+
+    /**
+     * 鑳藉嚭(checkBox)
+     */
+    @ApiModelProperty(value= "鑳藉嚭(checkBox)")
+    private String canouting;
+
+    @ApiModelProperty(value= "")
+    private String fronting;
+
+    @ApiModelProperty(value= "")
+    private String rearing;
+
+    @ApiModelProperty(value= "")
+    private String uping;
+
+    @ApiModelProperty(value= "")
+    private String downing;
+
+    /**
+     * 闇�姹�1(checkBox)
+     */
+    @ApiModelProperty(value= "闇�姹�1(checkBox)")
+    private String inreq1;
+
+    /**
+     * 闇�姹�2(checkBox)
+     */
+    @ApiModelProperty(value= "闇�姹�2(checkBox)")
+    private String inreq2;
+
+    /**
+     * 宸ヤ綔鍙�
+     */
+    @ApiModelProperty(value= "宸ヤ綔鍙�")
+    private Integer wrkNo;
+
+    @ApiModelProperty(value= "")
+    private Integer wrkNo1;
+
+    /**
+     * 瀹瑰櫒绫诲瀷
+     */
+    @ApiModelProperty(value= "瀹瑰櫒绫诲瀷")
+    private Integer ctnType;
+
+    /**
+     * 鏉″舰鐮�
+     */
+    @ApiModelProperty(value= "鏉″舰鐮�")
+    private String barcode;
+
+    @ApiModelProperty(value= "")
+    private Integer inQty;
+
+    @ApiModelProperty(value= "")
+    private Integer row1;
+
+    @ApiModelProperty(value= "")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    private Date ioTime;
+
+    @ApiModelProperty(value= "")
+    private String area;
+
+    @ApiModelProperty(value= "")
+    private String inOk;
+
+    @ApiModelProperty(value= "")
+    private String outOk;
+
+    /**
+     * 楂樹綆绫诲瀷 0: 鏈煡  1: 浣庡簱浣�  2: 楂樺簱浣�  
+     */
+    @ApiModelProperty(value= "楂樹綆绫诲瀷 0: 鏈煡  1: 浣庡簱浣�  2: 楂樺簱浣�  ")
+    private Short locType1;
+
+    /**
+     * 瀹界獎绫诲瀷 0: 鏈煡  1: 绐勫簱浣�  2: 瀹藉簱浣�  
+     */
+    @ApiModelProperty(value= "瀹界獎绫诲瀷 0: 鏈煡  1: 绐勫簱浣�  2: 瀹藉簱浣�  ")
+    private Short locType2;
+
+    /**
+     * 杞婚噸绫诲瀷 0: 鏈煡  1: 杞诲簱浣�  2: 閲嶅簱浣�  
+     */
+    @ApiModelProperty(value= "杞婚噸绫诲瀷 0: 鏈煡  1: 杞诲簱浣�  2: 閲嶅簱浣�  ")
+    private Short locType3;
+
+    /**
+     * 淇敼浜哄憳
+     */
+    @ApiModelProperty(value= "淇敼浜哄憳")
+    private Long modiUser;
+
+    /**
+     * 淇敼鏃堕棿
+     */
+    @ApiModelProperty(value= "淇敼鏃堕棿")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    private Date modiTime;
+
+    /**
+     * 鍒涘缓鑰�
+     */
+    @ApiModelProperty(value= "鍒涘缓鑰�")
+    private Long appeUser;
+
+    /**
+     * 娣诲姞鏃堕棿
+     */
+    @ApiModelProperty(value= "娣诲姞鏃堕棿")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    private Date appeTime;
+
+    @ApiModelProperty(value= "")
+    private Double stdQty;
+
+    @ApiModelProperty(value= "")
+    private Double minWt;
+
+    @ApiModelProperty(value= "")
+    private Double maxWt;
+
+    /**
+     * 閲嶉噺
+     */
+    @ApiModelProperty(value= "閲嶉噺")
+    private Double grossWt;
+
+    @ApiModelProperty(value= "")
+    private Integer cartPos;
+
+    /**
+     * 鎺堟潈鍟嗘埛
+     */
+    @ApiModelProperty(value= "鎺堟潈鍟嗘埛")
+    private Long hostId;
+
+    public BasDevp() {}
+
+    public BasDevp(Integer devNo,String decDesc,String devMk,String inEnable,String outEnable,String autoing,String loading,String canining,String canouting,String fronting,String rearing,String uping,String downing,String inreq1,String inreq2,Integer wrkNo,Integer wrkNo1,Integer ctnType,String barcode,Integer inQty,Integer row1,Date ioTime,String area,String inOk,String outOk,Short locType1,Short locType2,Short locType3,Long modiUser,Date modiTime,Long appeUser,Date appeTime,Double stdQty,Double minWt,Double maxWt,Double grossWt,Integer cartPos,Long hostId) {
+        this.devNo = devNo;
+        this.decDesc = decDesc;
+        this.devMk = devMk;
+        this.inEnable = inEnable;
+        this.outEnable = outEnable;
+        this.autoing = autoing;
+        this.loading = loading;
+        this.canining = canining;
+        this.canouting = canouting;
+        this.fronting = fronting;
+        this.rearing = rearing;
+        this.uping = uping;
+        this.downing = downing;
+        this.inreq1 = inreq1;
+        this.inreq2 = inreq2;
+        this.wrkNo = wrkNo;
+        this.wrkNo1 = wrkNo1;
+        this.ctnType = ctnType;
+        this.barcode = barcode;
+        this.inQty = inQty;
+        this.row1 = row1;
+        this.ioTime = ioTime;
+        this.area = area;
+        this.inOk = inOk;
+        this.outOk = outOk;
+        this.locType1 = locType1;
+        this.locType2 = locType2;
+        this.locType3 = locType3;
+        this.modiUser = modiUser;
+        this.modiTime = modiTime;
+        this.appeUser = appeUser;
+        this.appeTime = appeTime;
+        this.stdQty = stdQty;
+        this.minWt = minWt;
+        this.maxWt = maxWt;
+        this.grossWt = grossWt;
+        this.cartPos = cartPos;
+        this.hostId = hostId;
+    }
+
+//    BasDevp basDevp = new BasDevp(
+//            null,    // 缂栧彿[闈炵┖]
+//            null,    // 璁惧鎻忚堪
+//            null,    // 澶囨敞
+//            null,    // 鍙叆(checkBox)
+//            null,    // 鍙嚭(checkBox)
+//            null,    // 鑷姩(checkBox)
+//            null,    // 鏈夌墿(checkBox)
+//            null,    // 鑳藉叆(checkBox)
+//            null,    // 鑳藉嚭(checkBox)
+//            null,    // 
+//            null,    // 
+//            null,    // 
+//            null,    // 
+//            null,    // 闇�姹�1(checkBox)
+//            null,    // 闇�姹�2(checkBox)
+//            null,    // 宸ヤ綔鍙�
+//            null,    // 
+//            null,    // 瀹瑰櫒绫诲瀷
+//            null,    // 鏉″舰鐮�
+//            null,    // 
+//            null,    // 
+//            null,    // 
+//            null,    // 
+//            null,    // 
+//            null,    // 
+//            null,    // 楂樹綆绫诲瀷
+//            null,    // 瀹界獎绫诲瀷
+//            null,    // 杞婚噸绫诲瀷
+//            null,    // 淇敼浜哄憳
+//            null,    // 淇敼鏃堕棿
+//            null,    // 鍒涘缓鑰�
+//            null,    // 娣诲姞鏃堕棿
+//            null,    // 
+//            null,    // 
+//            null,    // 
+//            null,    // 閲嶉噺
+//            null,    // 
+//            null    // 鎺堟潈鍟嗘埛
+//    );
+
+    public String getIoTime$(){
+        if (Cools.isEmpty(this.ioTime)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.ioTime);
+    }
+
+    public String getLocType1$(){
+        if (null == this.locType1){ return null; }
+        switch (this.locType1){
+            case 0:
+                return "鏈煡";
+            case 1:
+                return "浣庡簱浣�";
+            case 2:
+                return "楂樺簱浣�";
+            default:
+                return String.valueOf(this.locType1);
+        }
+    }
+
+    public String getLocType2$(){
+        if (null == this.locType2){ return null; }
+        switch (this.locType2){
+            case 0:
+                return "鏈煡";
+            case 1:
+                return "绐勫簱浣�";
+            case 2:
+                return "瀹藉簱浣�";
+            default:
+                return String.valueOf(this.locType2);
+        }
+    }
+
+    public String getLocType3$(){
+        if (null == this.locType3){ return null; }
+        switch (this.locType3){
+            case 0:
+                return "鏈煡";
+            case 1:
+                return "杞诲簱浣�";
+            case 2:
+                return "閲嶅簱浣�";
+            default:
+                return String.valueOf(this.locType3);
+        }
+    }
+
+    public String getModiUser$(){
+        UserService service = SpringUtils.getBean(UserService.class);
+        User user = service.getById(this.modiUser);
+        if (!Cools.isEmpty(user)){
+            return String.valueOf(user.getNickname());
+        }
+        return null;
+    }
+
+    public String getModiTime$(){
+        if (Cools.isEmpty(this.modiTime)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.modiTime);
+    }
+
+    public String getAppeUser$(){
+        UserService service = SpringUtils.getBean(UserService.class);
+        User user = service.getById(this.appeUser);
+        if (!Cools.isEmpty(user)){
+            return String.valueOf(user.getNickname());
+        }
+        return null;
+    }
+
+    public String getAppeTime$(){
+        if (Cools.isEmpty(this.appeTime)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.appeTime);
+    }
+
+    public String getHostId$(){
+        HostService service = SpringUtils.getBean(HostService.class);
+        Host host = service.getById(this.hostId);
+        if (!Cools.isEmpty(host)){
+            return String.valueOf(host.getName());
+        }
+        return null;
+    }
+
+
+}
diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/mapper/BasDevpMapper.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/mapper/BasDevpMapper.java
new file mode 100644
index 0000000..79abd32
--- /dev/null
+++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/mapper/BasDevpMapper.java
@@ -0,0 +1,17 @@
+package com.zy.asrs.common.wms.mapper;
+
+import com.zy.asrs.common.wms.entity.BasDevp;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Mapper
+@Repository
+public interface BasDevpMapper extends BaseMapper<BasDevp> {
+
+    List<Integer> getAvailableInSite(@Param("typeNo") Integer typeNo);
+
+}
diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/BasDevpService.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/BasDevpService.java
new file mode 100644
index 0000000..f2ed685
--- /dev/null
+++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/BasDevpService.java
@@ -0,0 +1,16 @@
+package com.zy.asrs.common.wms.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zy.asrs.common.wms.entity.BasDevp;
+
+import java.util.List;
+
+public interface BasDevpService extends IService<BasDevp> {
+
+    /**
+     * 鍏ュ簱绔�
+     * @return
+     */
+    List<Integer> getAvailableInSite();
+
+}
diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/WorkService.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/WorkService.java
new file mode 100644
index 0000000..ab23442
--- /dev/null
+++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/WorkService.java
@@ -0,0 +1,5 @@
+package com.zy.asrs.common.wms.service;
+
+public interface WorkService {
+
+}
diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/BasDevpServiceImpl.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/BasDevpServiceImpl.java
new file mode 100644
index 0000000..4c38b0f
--- /dev/null
+++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/BasDevpServiceImpl.java
@@ -0,0 +1,19 @@
+package com.zy.asrs.common.wms.service.impl;
+
+import com.zy.asrs.common.wms.mapper.BasDevpMapper;
+import com.zy.asrs.common.wms.entity.BasDevp;
+import com.zy.asrs.common.wms.service.BasDevpService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service("basDevpService")
+public class BasDevpServiceImpl extends ServiceImpl<BasDevpMapper, BasDevp> implements BasDevpService {
+
+    @Override
+    public List<Integer> getAvailableInSite() {
+        return this.baseMapper.getAvailableInSite(1);
+    }
+
+}
diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/WorkServiceImpl.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/WorkServiceImpl.java
new file mode 100644
index 0000000..dffe8f5
--- /dev/null
+++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/WorkServiceImpl.java
@@ -0,0 +1,14 @@
+package com.zy.asrs.common.wms.service.impl;
+
+import com.zy.asrs.common.wms.service.WorkService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+/**
+ * Created by vincent on 2020/6/11
+ */
+@Slf4j
+@Service
+public class WorkServiceImpl implements WorkService {
+
+}
diff --git a/zy-asrs-common/src/main/resources/mapper/wms/BasDevpMapper.xml b/zy-asrs-common/src/main/resources/mapper/wms/BasDevpMapper.xml
new file mode 100644
index 0000000..1968052
--- /dev/null
+++ b/zy-asrs-common/src/main/resources/mapper/wms/BasDevpMapper.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zy.asrs.common.wms.mapper.BasDevpMapper">
+
+    <select id="getAvailableInSite" resultType="java.lang.Integer">
+        select
+            abd.dev_no
+        from asr_bas_devp abd
+                 left join asr_sta_desc asd on abd.dev_no = asd.stn_no
+        where 1=1
+          and asd.type_no = #{typeNo}
+        -- and abd.in_enable = 'Y'
+        group by abd.dev_no
+    </select>
+
+</mapper>
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/BasDevpController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/BasDevpController.java
new file mode 100644
index 0000000..043e337
--- /dev/null
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/BasDevpController.java
@@ -0,0 +1,110 @@
+package com.zy.asrs.wms.controller;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zy.asrs.common.wms.entity.BasDevp;
+import com.zy.asrs.common.wms.service.BasDevpService;
+import com.zy.asrs.framework.annotations.ManagerAuth;
+import com.zy.asrs.framework.common.Cools;
+import com.zy.asrs.framework.common.R;
+import com.zy.asrs.framework.domain.KeyValueVo;
+import com.zy.asrs.framework.common.DateUtils;
+import com.zy.asrs.common.web.BaseController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.*;
+
+@RestController
+public class BasDevpController extends BaseController {
+
+    @Autowired
+    private BasDevpService basDevpService;
+
+    @RequestMapping(value = "/basDevp/{id}/auth")
+    @ManagerAuth
+    public R get(@PathVariable("id") String id) {
+        return R.ok(basDevpService.getById(String.valueOf(id)));
+    }
+
+    @RequestMapping(value = "/basDevp/page/auth")
+    @ManagerAuth
+    public R page(@RequestParam(defaultValue = "1") Integer curr,
+                  @RequestParam(defaultValue = "10") Integer limit,
+                  @RequestParam(required = false) String condition,
+                  @RequestParam(required = false) String timeRange,
+                  @RequestParam Map<String, Object> param) {
+        LambdaQueryWrapper<BasDevp> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(BasDevp::getHostId, getHostId());
+        if (!Cools.isEmpty(condition)) {
+            wrapper.like(BasDevp::getDevNo, condition);
+        }
+        if (!Cools.isEmpty(timeRange)) {
+            String[] range = timeRange.split(RANGE_TIME_LINK);
+            wrapper.ge(BasDevp::getAppeTime, DateUtils.convert(range[0]));
+            wrapper.le(BasDevp::getAppeTime, DateUtils.convert(range[1]));
+        }
+        return R.ok(basDevpService.page(new Page<>(curr, limit), wrapper));
+    }
+
+
+    @RequestMapping(value = "/basDevp/add/auth")
+    @ManagerAuth
+    public R add(BasDevp basDevp) {
+        basDevp.setHostId(getHostId());
+        basDevpService.save(basDevp);
+        return R.ok();
+    }
+
+	@RequestMapping(value = "/basDevp/update/auth")
+	@ManagerAuth
+    public R update(BasDevp basDevp){
+        if (Cools.isEmpty(basDevp) || null==basDevp.getDevNo()){
+            return R.error();
+        }
+        basDevpService.updateById(basDevp);
+        return R.ok();
+    }
+
+    @RequestMapping(value = "/basDevp/delete/auth")
+    @ManagerAuth
+    public R delete(@RequestParam(value="ids[]") Long[] ids){
+         for (Long id : ids){
+            basDevpService.removeById(id);
+        }
+        return R.ok();
+    }
+
+    @RequestMapping(value = "/basDevpQuery/auth")
+    @ManagerAuth
+    public R query(String condition) {
+        LambdaQueryWrapper<BasDevp> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(BasDevp::getHostId, getHostId());
+        wrapper.like(BasDevp::getDevNo, condition);
+        Page<BasDevp> page = basDevpService.page(new Page<>(0, 10), wrapper);
+        List<Map<String, Object>> result = new ArrayList<>();
+        for (BasDevp basDevp : page.getRecords()){
+            Map<String, Object> map = new HashMap<>();
+            map.put("id", basDevp.getDevNo());
+            map.put("value", basDevp.getDevNo());
+            result.add(map);
+        }
+        return R.ok(result);
+    }
+
+    @RequestMapping("/basDevp/all/get/kv")
+    @ManagerAuth
+    public R getDataKV(@RequestParam(required = false) String condition) {
+        List<KeyValueVo> vos = new ArrayList<>();
+        LambdaQueryWrapper<BasDevp> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(BasDevp::getHostId, getHostId());
+        if (!Cools.isEmpty(condition)) {
+            wrapper.like(BasDevp::getDevNo, condition);
+        }
+        basDevpService.page(new Page<>(1, 30), wrapper).getRecords().forEach(item -> vos.add(new KeyValueVo(String.valueOf(item.getDevNo()), item.getDevNo().longValue())));
+        return R.ok().add(vos);
+    }
+
+}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/WorkController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/WorkController.java
new file mode 100644
index 0000000..ccdb541
--- /dev/null
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/WorkController.java
@@ -0,0 +1,34 @@
+package com.zy.asrs.wms.controller;
+
+import com.zy.asrs.common.web.BaseController;
+import com.zy.asrs.common.wms.service.BasDevpService;
+import com.zy.asrs.common.wms.service.WorkService;
+import com.zy.asrs.common.wms.service.WrkMastService;
+import com.zy.asrs.framework.annotations.ManagerAuth;
+import com.zy.asrs.framework.common.R;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 宸ヤ綔娴佹帴鍙f帶鍒跺櫒
+ * Created by vincent on 2020/6/10
+ */
+@RestController
+public class WorkController extends BaseController {
+
+    @Autowired
+    private WorkService workService;
+    @Autowired
+    private BasDevpService basDevpService;
+    @Autowired
+    private WrkMastService wrkMastService;
+
+    @RequestMapping("/available/put/site")
+    @ManagerAuth()
+    public R availablePutSite(){
+        return R.ok().add(basDevpService.getAvailableInSite());
+    }
+
+
+}
diff --git a/zy-asrs-wms/src/main/webapp/static/js/basDevp/basDevp.js b/zy-asrs-wms/src/main/webapp/static/js/basDevp/basDevp.js
new file mode 100644
index 0000000..b6a51a7
--- /dev/null
+++ b/zy-asrs-wms/src/main/webapp/static/js/basDevp/basDevp.js
@@ -0,0 +1,389 @@
+var pageCurr;
+var pageCount = 0;
+layui.config({
+    base: baseUrl + "/static/layui/lay/modules/"
+}).use(['table','laydate', 'form', 'admin', 'xmSelect'], function(){
+    var table = layui.table;
+    var $ = layui.jquery;
+    var layer = layui.layer;
+    var layDate = layui.laydate;
+    var form = layui.form;
+    var admin = layui.admin;
+    var xmSelect = layui.xmSelect;
+
+    // 鏁版嵁娓叉煋
+    tableIns = table.render({
+        elem: '#basDevp',
+        headers: {token: localStorage.getItem('token')},
+        url: baseUrl+'/basDevp/page/auth',
+        page: true,
+        limit: 15,
+        limits: [15, 30, 50, 100, 200, 500],
+        toolbar: '#toolbar',
+        cellMinWidth: 50,
+        height: 'full-120',
+        cols: [[
+            {type: 'checkbox'}
+            ,{field: 'devNo', align: 'center',title: '缂栧彿'}
+            ,{field: 'decDesc', align: 'center',title: '璁惧鎻忚堪'}
+            ,{field: 'devMk', align: 'center',title: '澶囨敞'}
+            ,{field: 'inEnable', align: 'center',title: '鍙叆(checkBox)'}
+            ,{field: 'outEnable', align: 'center',title: '鍙嚭(checkBox)'}
+            ,{field: 'autoing', align: 'center',title: '鑷姩(checkBox)'}
+            ,{field: 'loading', align: 'center',title: '鏈夌墿(checkBox)'}
+            ,{field: 'canining', align: 'center',title: '鑳藉叆(checkBox)'}
+            ,{field: 'canouting', align: 'center',title: '鑳藉嚭(checkBox)'}
+            ,{field: 'fronting', align: 'center',title: ''}
+            ,{field: 'rearing', align: 'center',title: ''}
+            ,{field: 'uping', align: 'center',title: ''}
+            ,{field: 'downing', align: 'center',title: ''}
+            ,{field: 'inreq1', align: 'center',title: '闇�姹�1(checkBox)'}
+            ,{field: 'inreq2', align: 'center',title: '闇�姹�2(checkBox)'}
+            ,{field: 'wrkNo', align: 'center',title: '宸ヤ綔鍙�'}
+            ,{field: 'wrkNo1', align: 'center',title: ''}
+            ,{field: 'ctnType', align: 'center',title: '瀹瑰櫒绫诲瀷'}
+            ,{field: 'barcode', align: 'center',title: '鏉″舰鐮�'}
+            ,{field: 'inQty', align: 'center',title: ''}
+            ,{field: 'row1', align: 'center',title: ''}
+            ,{field: 'ioTime$', align: 'center',title: ''}
+            ,{field: 'area', align: 'center',title: ''}
+            ,{field: 'inOk', align: 'center',title: ''}
+            ,{field: 'outOk', align: 'center',title: ''}
+            ,{field: 'locType1$', align: 'center',title: '楂樹綆绫诲瀷'}
+            ,{field: 'locType2$', align: 'center',title: '瀹界獎绫诲瀷'}
+            ,{field: 'locType3$', align: 'center',title: '杞婚噸绫诲瀷'}
+            ,{field: 'modiUser$', align: 'center',title: '淇敼浜哄憳'}
+            ,{field: 'modiTime$', align: 'center',title: '淇敼鏃堕棿'}
+            ,{field: 'appeUser$', align: 'center',title: '鍒涘缓鑰�'}
+            ,{field: 'appeTime$', align: 'center',title: '娣诲姞鏃堕棿'}
+            ,{field: 'stdQty', align: 'center',title: ''}
+            ,{field: 'minWt', align: 'center',title: ''}
+            ,{field: 'maxWt', align: 'center',title: ''}
+            ,{field: 'grossWt', align: 'center',title: '閲嶉噺'}
+            ,{field: 'cartPos', align: 'center',title: ''}
+            ,{field: 'hostId$', align: 'center',title: '鎺堟潈鍟嗘埛'}
+
+            ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:120}
+        ]],
+        request: {
+            pageName: 'curr',
+            pageSize: 'limit'
+        },
+        parseData: function (res) {
+            return {
+                'code': res.code,
+                'msg': res.msg,
+                'count': res.data.total,
+                'data': res.data.records
+            }
+        },
+        response: {
+            statusCode: 200
+        },
+        done: function(res, curr, count) {
+            if (res.code === 403) {
+                top.location.href = baseUrl+"/";
+            }
+            pageCurr=curr;pageCount=count;
+            limit();
+        }
+    });
+
+    // 鐩戝惉鎺掑簭浜嬩欢
+    table.on('sort(basDevp)', function (obj) {
+        var searchData = {};
+        $.each($('#search-box [name]').serializeArray(), function() {
+            searchData[this.name] = this.value;
+        });
+        searchData['orderByField'] = obj.field;
+        searchData['orderByType'] = obj.type;
+        tableIns.reload({
+            where: searchData,
+            page: {curr: 1}
+        });
+    });
+
+    // 鐩戝惉澶村伐鍏锋爮浜嬩欢
+    table.on('toolbar(basDevp)', function (obj) {
+        var checkStatus = table.checkStatus(obj.config.id).data;
+        switch(obj.event) {
+            case 'addData':
+                showEditModel();
+                break;
+            case 'deleteData':
+               if (checkStatus.length === 0) {
+                   layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2});
+                   return;
+               }
+               del(checkStatus.map(function (d) {
+                   return d.devNo;
+               }));
+               break;
+            case 'exportData':
+                admin.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){
+                    var titles=[];
+                    var fields=[];
+                    obj.config.cols[0].map(function (col) {
+                        if (col.type === 'normal' && col.hide === false && col.toolbar == null) {
+                            titles.push(col.title);
+                            fields.push(col.field);
+                        }
+                    });
+                    var exportData = {};
+                    $.each($('#search-box [name]').serializeArray(), function() {
+                        exportData[this.name] = this.value;
+                    });
+                    var param = {
+                        'basDevp': exportData,
+                        'fields': fields
+                    };
+                    $.ajax({
+                        url: baseUrl+"/basDevp/export/auth",
+                        headers: {'token': localStorage.getItem('token')},
+                        data: JSON.stringify(param),
+                        dataType:'json',
+                        contentType:'application/json;charset=UTF-8',
+                        method: 'POST',
+                        success: function (res) {
+                            layer.closeAll();
+                            if (res.code === 200) {
+                                table.exportFile(titles,res.data,'xls');
+                            } else if (res.code === 403) {
+                                top.location.href = baseUrl+"/";
+                            } else {
+                                layer.msg(res.msg, {icon: 2})
+                            }
+                        }
+                    });
+                });
+                break;
+        }
+    });
+
+    // 鐩戝惉琛屽伐鍏蜂簨浠�
+    table.on('tool(basDevp)', function(obj){
+        var data = obj.data;
+        switch (obj.event) {
+            case 'edit':
+                showEditModel(data);
+                break;
+            case "del":
+                del([data.devNo]);
+                break;
+        }
+    });
+
+    /* 寮圭獥 - 鏂板銆佷慨鏀� */
+    function showEditModel(mData) {
+        admin.open({
+            type: 1,
+            area: '600px',
+            title: (mData ? '淇敼' : '娣诲姞') + '',
+            content: $('#editDialog').html(),
+            success: function (layero, dIndex) {
+                form.val('detail', mData);
+                layDateRender(mData);
+                form.on('submit(editSubmit)', function (data) {
+                    var loadIndex = layer.load(2);
+                    $.ajax({
+                        url: baseUrl+"/basDevp/"+(mData?'update':'add')+"/auth",
+                        headers: {'token': localStorage.getItem('token')},
+                        data: data.field,
+                        method: 'POST',
+                        success: function (res) {
+                            layer.close(loadIndex);
+                            if (res.code === 200){
+                                layer.close(dIndex);
+                                layer.msg(res.msg, {icon: 1});
+                                tableReload();
+                            } else if (res.code === 403){
+                                top.location.href = baseUrl+"/";
+                            }else {
+                                layer.msg(res.msg, {icon: 2});
+                            }
+                        }
+                    })
+                    return false;
+                });
+                $(layero).children('.layui-layer-content').css('overflow', 'visible');
+                layui.form.render('select');
+            }
+        });
+    }
+
+    /* 鍒犻櫎 */
+    function del(ids) {
+        layer.confirm('纭畾瑕佸垹闄ら�変腑鏁版嵁鍚楋紵', {
+            skin: 'layui-layer-admin',
+            shade: .1
+        }, function (i) {
+            layer.close(i);
+            var loadIndex = layer.load(2);
+            $.ajax({
+                url: baseUrl+"/basDevp/delete/auth",
+                headers: {'token': localStorage.getItem('token')},
+                data: {ids: ids},
+                method: 'POST',
+                success: function (res) {
+                    layer.close(loadIndex);
+                    if (res.code === 200){
+                        layer.msg(res.msg, {icon: 1});
+                        tableReload();
+                    } else if (res.code === 403){
+                        top.location.href = baseUrl+"/";
+                    } else {
+                        layer.msg(res.msg, {icon: 2});
+                    }
+                }
+            })
+        });
+    }
+
+    // 鎼滅储
+    form.on('submit(search)', function (data) {
+        pageCurr = 1;
+        tableReload(true);
+    });
+
+    // 閲嶇疆
+    form.on('submit(reset)', function (data) {
+        pageCurr = 1;
+        clearFormVal($('#search-box'));
+        tableReload(true);
+    });
+
+    // 鏃堕棿閫夋嫨鍣�
+    function layDateRender(data) {
+        setTimeout(function () {
+            layDate.render({
+                elem: '.layui-laydate-range'
+                ,type: 'datetime'
+                ,range: true
+            });
+            layDate.render({
+                elem: '#ioTime\\$',
+                type: 'datetime',
+                value: data!==undefined?data['ioTime$']:null
+            });
+            layDate.render({
+                elem: '#modiTime\\$',
+                type: 'datetime',
+                value: data!==undefined?data['modiTime$']:null
+            });
+            layDate.render({
+                elem: '#appeTime\\$',
+                type: 'datetime',
+                value: data!==undefined?data['appeTime$']:null
+            });
+
+        }, 100);
+    }
+    layDateRender();
+
+    window.loadUserSel = function () {
+        return xmSelect.render({
+            el: '#userXmlSel',
+            autoRow: true,
+            filterable: true,
+            remoteSearch: true,
+            radio: true,
+            remoteMethod: function (val, cb, show) {
+                $.ajax({
+                    url: baseUrl + "/user/all/get/kv",
+                    headers: {'token': localStorage.getItem('token')},
+                    data: {
+                        condition: val
+                    },
+                    method: 'POST',
+                    success: function (res) {
+                        if (res.code === 200) {
+                            cb(res.data)
+                        } else {
+                            cb([]);
+                            layer.msg(res.msg, {icon: 2});
+                        }
+                    }
+                });
+            }
+        });
+    }
+
+    window.loadUserSel = function () {
+        return xmSelect.render({
+            el: '#userXmlSel',
+            autoRow: true,
+            filterable: true,
+            remoteSearch: true,
+            radio: true,
+            remoteMethod: function (val, cb, show) {
+                $.ajax({
+                    url: baseUrl + "/user/all/get/kv",
+                    headers: {'token': localStorage.getItem('token')},
+                    data: {
+                        condition: val
+                    },
+                    method: 'POST',
+                    success: function (res) {
+                        if (res.code === 200) {
+                            cb(res.data)
+                        } else {
+                            cb([]);
+                            layer.msg(res.msg, {icon: 2});
+                        }
+                    }
+                });
+            }
+        });
+    }
+
+    window.loadHostSel = function () {
+        return xmSelect.render({
+            el: '#hostXmlSel',
+            autoRow: true,
+            filterable: true,
+            remoteSearch: true,
+            radio: true,
+            remoteMethod: function (val, cb, show) {
+                $.ajax({
+                    url: baseUrl + "/host/all/get/kv",
+                    headers: {'token': localStorage.getItem('token')},
+                    data: {
+                        condition: val
+                    },
+                    method: 'POST',
+                    success: function (res) {
+                        if (res.code === 200) {
+                            cb(res.data)
+                        } else {
+                            cb([]);
+                            layer.msg(res.msg, {icon: 2});
+                        }
+                    }
+                });
+            }
+        });
+    }
+
+
+
+});
+
+// 鍏抽棴鍔ㄤ綔
+$(document).on('click','#data-detail-close', function () {
+    parent.layer.closeAll();
+});
+
+function tableReload(search) {
+    if (pageCount === 0 || search) {
+        let searchData = {};
+        $.each($('#search-box [name]').serializeArray(), function() {
+            searchData[this.name] = this.value;
+        });
+        tableIns.reload({
+            where: searchData,
+            page: {curr: pageCurr}
+        });
+    } else {
+        $(".layui-laypage-btn")[0].click();
+    }
+}
diff --git a/zy-asrs-wms/src/main/webapp/views/basDevp/basDevp.html b/zy-asrs-wms/src/main/webapp/views/basDevp/basDevp.html
new file mode 100644
index 0000000..403adfa
--- /dev/null
+++ b/zy-asrs-wms/src/main/webapp/views/basDevp/basDevp.html
@@ -0,0 +1,342 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <title></title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all">
+    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+</head>
+<body>
+
+<div class="layui-fluid">
+    <div class="layui-card">
+        <div class="layui-card-body">
+            <div class="layui-form toolbar" id="search-box">
+                <div class="layui-form-item">
+                    <div class="layui-inline">
+                        <div class="layui-input-inline">
+                            <input class="layui-input" type="text" name="condition" placeholder="璇疯緭鍏�" autocomplete="off">
+                        </div>
+                    </div>
+                    <div class="layui-inline" style="width: 300px">
+                        <div class="layui-input-inline">
+                            <input class="layui-input layui-laydate-range" name="timeRange" type="text" placeholder="璧峰鏃堕棿 - 缁堟鏃堕棿" autocomplete="off" style="width: 300px">
+                        </div>
+                    </div>
+                    <div class="layui-inline">&emsp;
+                        <button class="layui-btn icon-btn" lay-filter="search" lay-submit>
+                            <i class="layui-icon">&#xe615;</i>鎼滅储
+                        </button>
+                        <button class="layui-btn icon-btn" lay-filter="reset" lay-submit>
+                            <i class="layui-icon">&#xe666;</i>閲嶇疆
+                        </button>
+                    </div>
+                </div>
+            </div>
+            <table class="layui-hide" id="basDevp" lay-filter="basDevp"></table>
+        </div>
+    </div>
+</div>
+
+<script type="text/html" id="toolbar">
+    <div class="layui-btn-container">
+        <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button>
+        <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="deleteData">鍒犻櫎</button>
+        <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="float: right">瀵煎嚭</button>
+    </div>
+</script>
+
+<script type="text/html" id="operate">
+    <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">淇敼</a>
+    <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">鍒犻櫎</a>
+</script>
+
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/basDevp/basDevp.js" charset="utf-8"></script>
+</body>
+<!-- 琛ㄥ崟寮圭獥 -->
+<script type="text/html" id="editDialog">
+    <div id="detail" lay-filter="detail" class="layui-form admin-form model-form">
+        <input name="id" type="hidden">
+        <div class="layui-row">
+            <div class="layui-col-md12">
+                <div class="layui-form-item">
+                    <label class="layui-form-label layui-form-required">缂栧彿: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="devNo" placeholder="璇疯緭鍏ョ紪鍙�" lay-vertype="tips" lay-verify="required">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">璁惧鎻忚堪: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="decDesc" placeholder="璇疯緭鍏ヨ澶囨弿杩�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">澶囨敞: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="devMk" placeholder="璇疯緭鍏ュ娉�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鍙叆(checkBox): </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="inEnable" placeholder="璇疯緭鍏ュ彲鍏�(checkBox)">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鍙嚭(checkBox): </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="outEnable" placeholder="璇疯緭鍏ュ彲鍑�(checkBox)">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鑷姩(checkBox): </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="autoing" placeholder="璇疯緭鍏ヨ嚜鍔�(checkBox)">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鏈夌墿(checkBox): </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="loading" placeholder="璇疯緭鍏ユ湁鐗�(checkBox)">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鑳藉叆(checkBox): </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="canining" placeholder="璇疯緭鍏ヨ兘鍏�(checkBox)">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鑳藉嚭(checkBox): </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="canouting" placeholder="璇疯緭鍏ヨ兘鍑�(checkBox)">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="fronting" placeholder="璇疯緭鍏�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="rearing" placeholder="璇疯緭鍏�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="uping" placeholder="璇疯緭鍏�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="downing" placeholder="璇疯緭鍏�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">闇�姹�1(checkBox): </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="inreq1" placeholder="璇疯緭鍏ラ渶姹�1(checkBox)">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">闇�姹�2(checkBox): </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="inreq2" placeholder="璇疯緭鍏ラ渶姹�2(checkBox)">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">宸ヤ綔鍙�: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="wrkNo" placeholder="璇疯緭鍏ュ伐浣滃彿">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="wrkNo1" placeholder="璇疯緭鍏�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">瀹瑰櫒绫诲瀷: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="ctnType" placeholder="璇疯緭鍏ュ鍣ㄧ被鍨�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鏉″舰鐮�: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="barcode" placeholder="璇疯緭鍏ユ潯褰㈢爜">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="inQty" placeholder="璇疯緭鍏�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="row1" placeholder="璇疯緭鍏�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="ioTime" id="ioTime$" placeholder="璇疯緭鍏�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="area" placeholder="璇疯緭鍏�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="inOk" placeholder="璇疯緭鍏�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="outOk" placeholder="璇疯緭鍏�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">楂樹綆绫诲瀷: </label>
+                    <div class="layui-input-block">
+                        <select name="locType1">
+                            <option value="">璇烽�夋嫨楂樹綆绫诲瀷</option>
+                            <option value="0">鏈煡</option>
+                            <option value="1">浣庡簱浣�</option>
+                            <option value="2">楂樺簱浣�</option>
+                        </select>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">瀹界獎绫诲瀷: </label>
+                    <div class="layui-input-block">
+                        <select name="locType2">
+                            <option value="">璇烽�夋嫨瀹界獎绫诲瀷</option>
+                            <option value="0">鏈煡</option>
+                            <option value="1">绐勫簱浣�</option>
+                            <option value="2">瀹藉簱浣�</option>
+                        </select>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">杞婚噸绫诲瀷: </label>
+                    <div class="layui-input-block">
+                        <select name="locType3">
+                            <option value="">璇烽�夋嫨杞婚噸绫诲瀷</option>
+                            <option value="0">鏈煡</option>
+                            <option value="1">杞诲簱浣�</option>
+                            <option value="2">閲嶅簱浣�</option>
+                        </select>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">淇敼浜哄憳: </label>
+                    <div class="layui-input-block cool-auto-complete">
+                        <input class="layui-input" name="modiUser" placeholder="璇疯緭鍏ヤ慨鏀逛汉鍛�" style="display: none">
+                        <input id="modiUser$" name="modiUser$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏ヤ慨鏀逛汉鍛�" onfocus=this.blur()>
+                        <div class="cool-auto-complete-window">
+                            <input class="cool-auto-complete-window-input" data-key="userQueryBymodiUser" onkeyup="autoLoad(this.getAttribute('data-key'))">
+                            <select class="cool-auto-complete-window-select" data-key="userQueryBymodiUserSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+                            </select>
+                        </div>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">淇敼鏃堕棿: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="modiTime" id="modiTime$" placeholder="璇疯緭鍏ヤ慨鏀规椂闂�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鍒涘缓鑰�: </label>
+                    <div class="layui-input-block cool-auto-complete">
+                        <input class="layui-input" name="appeUser" placeholder="璇疯緭鍏ュ垱寤鸿��" style="display: none">
+                        <input id="appeUser$" name="appeUser$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏ュ垱寤鸿��" onfocus=this.blur()>
+                        <div class="cool-auto-complete-window">
+                            <input class="cool-auto-complete-window-input" data-key="userQueryByappeUser" onkeyup="autoLoad(this.getAttribute('data-key'))">
+                            <select class="cool-auto-complete-window-select" data-key="userQueryByappeUserSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+                            </select>
+                        </div>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">娣诲姞鏃堕棿: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="appeTime" id="appeTime$" placeholder="璇疯緭鍏ユ坊鍔犳椂闂�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="stdQty" placeholder="璇疯緭鍏�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="minWt" placeholder="璇疯緭鍏�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="maxWt" placeholder="璇疯緭鍏�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">閲嶉噺: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="grossWt" placeholder="璇疯緭鍏ラ噸閲�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="cartPos" placeholder="璇疯緭鍏�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鎺堟潈鍟嗘埛: </label>
+                    <div class="layui-input-block cool-auto-complete">
+                        <input class="layui-input" name="hostId" placeholder="璇疯緭鍏ユ巿鏉冨晢鎴�" style="display: none">
+                        <input id="hostId$" name="hostId$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="璇疯緭鍏ユ巿鏉冨晢鎴�" onfocus=this.blur()>
+                        <div class="cool-auto-complete-window">
+                            <input class="cool-auto-complete-window-input" data-key="hostQueryByhostId" onkeyup="autoLoad(this.getAttribute('data-key'))">
+                            <select class="cool-auto-complete-window-select" data-key="hostQueryByhostIdSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+                            </select>
+                        </div>
+                    </div>
+                </div>
+
+             </div>
+        </div>
+        <hr class="layui-bg-gray">
+        <div class="layui-form-item text-right">
+            <button class="layui-btn" lay-filter="editSubmit" lay-submit="">淇濆瓨</button>
+            <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button>
+        </div>
+    </div>
+</script>
+</html>
+

--
Gitblit v1.9.1