From 8c1a2f7deff4081e9d43c4255350917aaddebf89 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期四, 29 七月 2021 15:36:11 +0800
Subject: [PATCH] #

---
 src/main/java/zy/cloud/wms/manager/controller/PakinController.java    |  130 ++++++
 src/main/java/zy/cloud/wms/common/service/task/OrderScheduler.java    |    4 
 src/main/java/zy/cloud/wms/manager/service/impl/PakinServiceImpl.java |   16 
 src/main/java/zy/cloud/wms/common/service/erp/ErpService.java         |    2 
 src/main/java/zy/cloud/wms/manager/entity/Pakin.java                  |  518 ++++++++++++++++++++++++
 src/main/webapp/static/js/pakin/pakin.js                              |  268 ++++++++++++
 src/main/java/zy/cloud/wms/manager/mapper/PakinMapper.java            |   17 
 src/main/java/zy/cloud/wms/common/utils/VersionUtils.java             |   15 
 src/main/java/zy/cloud/wms/manager/service/PakinService.java          |   12 
 src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java  |   35 +
 src/main/webapp/views/pakin/pakin.html                                |  230 ++++++++++
 11 files changed, 1,244 insertions(+), 3 deletions(-)

diff --git a/src/main/java/zy/cloud/wms/common/service/erp/ErpService.java b/src/main/java/zy/cloud/wms/common/service/erp/ErpService.java
index df02ccb..6a537e9 100644
--- a/src/main/java/zy/cloud/wms/common/service/erp/ErpService.java
+++ b/src/main/java/zy/cloud/wms/common/service/erp/ErpService.java
@@ -81,7 +81,7 @@
             try {
                 // 鏃ュ織璁板綍
                 RequestLog logInfo = new RequestLog();
-                logInfo.setName("鍗曟嵁涓婁紶锛屽崟鎹被鍨�" + docId.toString());
+                logInfo.setName("鍗曟嵁涓婁紶锛屽崟鎹被鍨�" + docId);
                 logInfo.setRequest(JSON.toJSONString(uploadBill)); // 鍏ュ弬
                 logInfo.setResponse(response); // 鍑哄弬
                 logInfo.setCreateTime(new Date());
diff --git a/src/main/java/zy/cloud/wms/common/service/task/OrderScheduler.java b/src/main/java/zy/cloud/wms/common/service/task/OrderScheduler.java
index f1b5e48..62e9b25 100644
--- a/src/main/java/zy/cloud/wms/common/service/task/OrderScheduler.java
+++ b/src/main/java/zy/cloud/wms/common/service/task/OrderScheduler.java
@@ -47,7 +47,7 @@
             // 淇濆瓨璁㈠崟鏄庣粏鍘嗗彶妗�
             int saveOrderDetlLog = jdbcTemplate.update("insert into man_order_detl_log select * from man_order_detl where order_id=" + order.getId());
             if (saveOrderDetlLog == 0) {
-                throw new CoolException("淇濆瓨璁㈠崟鏄庣粏鍘嗗彶妗eけ璐�");
+//                throw new CoolException("淇濆瓨璁㈠崟鏄庣粏鍘嗗彶妗eけ璐�");
             }
             // 鍒犻櫎璁㈠崟
             int delOrder = jdbcTemplate.update("delete from man_order where id=" + order.getId());
@@ -57,7 +57,7 @@
             // 鍒犻櫎璁㈠崟鏄庣粏
             int delOrderDetl = jdbcTemplate.update("delete from man_order_detl where order_id=" + order.getId());
             if (delOrderDetl == 0) {
-                throw new CoolException("鍒犻櫎璁㈠崟鏄庣粏澶辫触");
+//                throw new CoolException("鍒犻櫎璁㈠崟鏄庣粏澶辫触");
             }
         }
 
diff --git a/src/main/java/zy/cloud/wms/common/utils/VersionUtils.java b/src/main/java/zy/cloud/wms/common/utils/VersionUtils.java
index d1e2f79..59e801d 100644
--- a/src/main/java/zy/cloud/wms/common/utils/VersionUtils.java
+++ b/src/main/java/zy/cloud/wms/common/utils/VersionUtils.java
@@ -76,6 +76,21 @@
         pakout.setWeight(mat.getWeight());
     }
 
+    public static void setPakin(Pakin pakin, Mat mat) {
+        pakin.setMatnr(mat.getMatnr());
+        pakin.setMaktx(mat.getMaktx());
+        pakin.setName(mat.getName());
+        pakin.setSpecs(mat.getSpecs());
+        pakin.setModel(mat.getModel());
+        pakin.setBatch(mat.getBatch());
+        pakin.setUnit(mat.getUnit());
+        pakin.setBarcode(mat.getBarcode());
+        pakin.setCustName(mat.getCustName());
+        pakin.setItemNum(mat.getItemNum());
+        pakin.setCount(mat.getCount());
+        pakin.setWeight(mat.getWeight());
+    }
+
     public static void setPakout(Pakout pakout, LocDetl locDetl) {
         pakout.setNodeId(locDetl.getNodeId());
         pakout.setLocNo(locDetl.getLocNo());
diff --git a/src/main/java/zy/cloud/wms/manager/controller/PakinController.java b/src/main/java/zy/cloud/wms/manager/controller/PakinController.java
new file mode 100644
index 0000000..9a7dd21
--- /dev/null
+++ b/src/main/java/zy/cloud/wms/manager/controller/PakinController.java
@@ -0,0 +1,130 @@
+package zy.cloud.wms.manager.controller;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.mapper.Wrapper;
+import com.baomidou.mybatisplus.plugins.Page;
+import com.core.annotations.ManagerAuth;
+import com.core.common.BaseRes;
+import com.core.common.Cools;
+import com.core.common.DateUtils;
+import com.core.common.R;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import zy.cloud.wms.common.web.BaseController;
+import zy.cloud.wms.manager.entity.Pakin;
+import zy.cloud.wms.manager.service.PakinService;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@RestController
+public class PakinController extends BaseController {
+
+    @Autowired
+    private PakinService pakinService;
+
+    @RequestMapping(value = "/pakin/{id}/auth")
+    @ManagerAuth
+    public R get(@PathVariable("id") String id) {
+        return R.ok(pakinService.selectById(String.valueOf(id)));
+    }
+
+    @RequestMapping(value = "/pakin/list/auth")
+    @ManagerAuth
+    public R list(@RequestParam(defaultValue = "1")Integer curr,
+                  @RequestParam(defaultValue = "10")Integer limit,
+                  @RequestParam(required = false)String orderByField,
+                  @RequestParam(required = false)String orderByType,
+                  @RequestParam Map<String, Object> param){
+        EntityWrapper<Pakin> wrapper = new EntityWrapper<>();
+        excludeTrash(param);
+        convert(param, wrapper);
+        if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));}
+        return R.ok(pakinService.selectPage(new Page<>(curr, limit), wrapper));
+    }
+
+    private void convert(Map<String, Object> map, EntityWrapper wrapper){
+        for (Map.Entry<String, Object> entry : map.entrySet()){
+            String val = String.valueOf(entry.getValue());
+            if (val.contains(RANGE_TIME_LINK)){
+                String[] dates = val.split(RANGE_TIME_LINK);
+                wrapper.ge(entry.getKey(), DateUtils.convert(dates[0]));
+                wrapper.le(entry.getKey(), DateUtils.convert(dates[1]));
+            } else {
+                wrapper.like(entry.getKey(), val);
+            }
+        }
+    }
+
+    @RequestMapping(value = "/pakin/add/auth")
+    @ManagerAuth
+    public R add(Pakin pakin) {
+        pakinService.insert(pakin);
+        return R.ok();
+    }
+
+	@RequestMapping(value = "/pakin/update/auth")
+	@ManagerAuth
+    public R update(Pakin pakin){
+        if (Cools.isEmpty(pakin) || null==pakin.getWrkNo()){
+            return R.error();
+        }
+        pakinService.updateById(pakin);
+        return R.ok();
+    }
+
+    @RequestMapping(value = "/pakin/delete/auth")
+    @ManagerAuth
+    public R delete(@RequestParam String param){
+        List<Pakin> list = JSONArray.parseArray(param, Pakin.class);
+        if (Cools.isEmpty(list)){
+            return R.error();
+        }
+        for (Pakin entity : list){
+            pakinService.delete(new EntityWrapper<>(entity));
+        }
+        return R.ok();
+    }
+
+    @RequestMapping(value = "/pakin/export/auth")
+    @ManagerAuth
+    public R export(@RequestBody JSONObject param){
+        EntityWrapper<Pakin> wrapper = new EntityWrapper<>();
+        List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
+        Map<String, Object> map = excludeTrash(param.getJSONObject("pakin"));
+        convert(map, wrapper);
+        List<Pakin> list = pakinService.selectList(wrapper);
+        return R.ok(exportSupport(list, fields));
+    }
+
+    @RequestMapping(value = "/pakinQuery/auth")
+    @ManagerAuth
+    public R query(String condition) {
+        EntityWrapper<Pakin> wrapper = new EntityWrapper<>();
+        wrapper.like("id", condition);
+        Page<Pakin> page = pakinService.selectPage(new Page<>(0, 10), wrapper);
+        List<Map<String, Object>> result = new ArrayList<>();
+        for (Pakin pakin : page.getRecords()){
+            Map<String, Object> map = new HashMap<>();
+            map.put("id", pakin.getWrkNo());
+            map.put("value", pakin.getWrkNo());
+            result.add(map);
+        }
+        return R.ok(result);
+    }
+
+    @RequestMapping(value = "/pakin/check/column/auth")
+    @ManagerAuth
+    public R query(@RequestBody JSONObject param) {
+        Wrapper<Pakin> wrapper = new EntityWrapper<Pakin>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val"));
+        if (null != pakinService.selectOne(wrapper)){
+            return R.parse(BaseRes.REPEAT).add(getComment(Pakin.class, String.valueOf(param.get("key"))));
+        }
+        return R.ok();
+    }
+
+}
diff --git a/src/main/java/zy/cloud/wms/manager/entity/Pakin.java b/src/main/java/zy/cloud/wms/manager/entity/Pakin.java
new file mode 100644
index 0000000..740282a
--- /dev/null
+++ b/src/main/java/zy/cloud/wms/manager/entity/Pakin.java
@@ -0,0 +1,518 @@
+package zy.cloud.wms.manager.entity;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableName;
+import com.core.common.Cools;
+import com.core.common.SpringUtils;
+import io.swagger.annotations.ApiModelProperty;
+import zy.cloud.wms.manager.service.WrkStsService;
+import zy.cloud.wms.system.entity.User;
+import zy.cloud.wms.system.service.UserService;
+
+import java.io.Serializable;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+@TableName("man_pakin")
+public class Pakin implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 浠诲姟鍙�
+     */
+    @ApiModelProperty(value= "浠诲姟鍙�")
+    @TableField("wrk_no")
+    private String wrkNo;
+
+    /**
+     * 宸ヤ綔鐘舵��
+     */
+    @ApiModelProperty(value= "宸ヤ綔鐘舵��")
+    @TableField("wrk_sts")
+    private Long wrkSts;
+
+    /**
+     * 鎵樼洏鍙�
+     */
+    @ApiModelProperty(value= "鎵樼洏鍙�")
+    private String zpallet;
+
+    /**
+     * 鍏ュ簱鏁伴噺
+     */
+    @ApiModelProperty(value= "鍏ュ簱鏁伴噺")
+    @ExcelProperty(value = "鍏ュ簱鎬婚噺")
+    private Double anfme;
+
+    /**
+     * 鍏宠仈璐т綅
+     */
+    @ApiModelProperty(value= "鍏宠仈璐т綅")
+    @TableField("node_id")
+    private Long nodeId;
+
+    /**
+     * 璐т綅
+     */
+    @ApiModelProperty(value= "璐т綅")
+    @TableField("loc_no")
+    private String locNo;
+
+    /**
+     * 鍟嗗搧缂栫爜
+     */
+    @ApiModelProperty(value= "鍟嗗搧缂栫爜")
+    @ExcelProperty(value = "鍟嗗搧缂栫爜")
+    private String matnr;
+
+    /**
+     * 鍟嗗搧鍚嶇О
+     */
+    @ApiModelProperty(value= "鍟嗗搧鍚嶇О")
+    @ExcelProperty(value = "鍟嗗搧鍚嶇О")
+    private String maktx;
+
+    /**
+     * 鍚嶇О
+     */
+    @ApiModelProperty(value= "鍚嶇О")
+    private String name;
+
+    /**
+     * 灏虹爜
+     */
+    @ApiModelProperty(value= "灏虹爜")
+    @ExcelProperty(value = "灏虹爜")
+    private String specs;
+
+    /**
+     * 鍨嬪彿
+     */
+    @ApiModelProperty(value= "鍨嬪彿")
+    private String model;
+
+    /**
+     * 鎵瑰彿
+     */
+    @ApiModelProperty(value= "鎵瑰彿")
+    private String batch;
+
+    /**
+     * 鍗曚綅
+     */
+    @ApiModelProperty(value= "鍗曚綅")
+    @ExcelProperty(value = "鍗曚綅")
+    private String unit;
+
+    /**
+     * SKC
+     */
+    @ApiModelProperty(value= "SKC")
+    @ExcelProperty(value = "SKC")
+    private String barcode;
+
+    /**
+     * 鍗曟嵁绫诲瀷
+     */
+    @ApiModelProperty(value= "鍗曟嵁绫诲瀷")
+    @TableField("doc_id")
+    private Long docId;
+
+    /**
+     * 鍗曟嵁缂栧彿
+     */
+    @ApiModelProperty(value= "鍗曟嵁缂栧彿")
+    @TableField("doc_num")
+    private String docNum;
+
+    /**
+     * 瀹㈡埛鍚嶇О
+     */
+    @ApiModelProperty(value= "瀹㈡埛鍚嶇О")
+    @TableField("cust_name")
+    private String custName;
+
+    /**
+     * 鍝侀」鏁�
+     */
+    @ApiModelProperty(value= "鍝侀」鏁�")
+    @TableField("item_num")
+    private Integer itemNum;
+
+    /**
+     * 鏁伴噺
+     */
+    @ApiModelProperty(value= "鏁伴噺")
+    private Integer count;
+
+    /**
+     * 閲嶉噺
+     */
+    @ApiModelProperty(value= "閲嶉噺")
+    private Double weight;
+
+    /**
+     * 鐘舵�� 1: 姝e父  0: 绂佺敤  
+     */
+    @ApiModelProperty(value= "鐘舵�� 1: 姝e父  0: 绂佺敤  ")
+    private Integer status;
+
+    /**
+     * 娣诲姞浜哄憳
+     */
+    @ApiModelProperty(value= "娣诲姞浜哄憳")
+    @TableField("create_by")
+    private Long createBy;
+
+    /**
+     * 娣诲姞鏃堕棿
+     */
+    @ApiModelProperty(value= "娣诲姞鏃堕棿")
+    @TableField("create_time")
+    private Date createTime;
+
+    /**
+     * 淇敼浜哄憳
+     */
+    @ApiModelProperty(value= "淇敼浜哄憳")
+    @TableField("update_by")
+    private Long updateBy;
+
+    /**
+     * 淇敼鏃堕棿
+     */
+    @ApiModelProperty(value= "淇敼鏃堕棿")
+    @TableField("update_time")
+    private Date updateTime;
+
+    /**
+     * 澶囨敞
+     */
+    @ApiModelProperty(value= "澶囨敞")
+    private String memo;
+
+    public Pakin() {}
+
+    public Pakin(String wrkNo, Long wrkSts, String zpallet, Double anfme, Long nodeId, String locNo, String matnr, String maktx, String name, String specs, String model, String batch, String unit, String barcode, Long docId, String docNum, String custName, Integer itemNum, Integer count, Double weight, Integer status, Long createBy, Date createTime, Long updateBy, Date updateTime, String memo) {
+        this.wrkNo = wrkNo;
+        this.wrkSts = wrkSts;
+        this.zpallet = zpallet;
+        this.anfme = anfme;
+        this.nodeId = nodeId;
+        this.locNo = locNo;
+        this.matnr = matnr;
+        this.maktx = maktx;
+        this.name = name;
+        this.specs = specs;
+        this.model = model;
+        this.batch = batch;
+        this.unit = unit;
+        this.barcode = barcode;
+        this.docId = docId;
+        this.docNum = docNum;
+        this.custName = custName;
+        this.itemNum = itemNum;
+        this.count = count;
+        this.weight = weight;
+        this.status = status;
+        this.createBy = createBy;
+        this.createTime = createTime;
+        this.updateBy = updateBy;
+        this.updateTime = updateTime;
+        this.memo = memo;
+    }
+
+//    Pakin pakin = new Pakin(
+//            null,    // 浠诲姟鍙穂闈炵┖]
+//            null,    // 宸ヤ綔鐘舵��
+//            null,    // 鎵樼洏鍙�
+//            null,    // 鍏ュ簱鏁伴噺
+//            null,    // 鍏宠仈璐т綅[闈炵┖]
+//            null,    // 璐т綅[闈炵┖]
+//            null,    // 鍟嗗搧缂栫爜[闈炵┖]
+//            null,    // 鍟嗗搧鍚嶇О
+//            null,    // 鍚嶇О
+//            null,    // 灏虹爜
+//            null,    // 鍨嬪彿
+//            null,    // 鎵瑰彿
+//            null,    // 鍗曚綅
+//            null,    // SKC
+//            null,    // 鍗曟嵁绫诲瀷
+//            null,    // 鍗曟嵁缂栧彿
+//            null,    // 瀹㈡埛鍚嶇О
+//            null,    // 鍝侀」鏁�
+//            null,    // 鏁伴噺
+//            null,    // 閲嶉噺
+//            null,    // 鐘舵��
+//            null,    // 娣诲姞浜哄憳
+//            null,    // 娣诲姞鏃堕棿
+//            null,    // 淇敼浜哄憳
+//            null,    // 淇敼鏃堕棿
+//            null    // 澶囨敞
+//    );
+
+    public String getWrkNo() {
+        return wrkNo;
+    }
+
+    public void setWrkNo(String wrkNo) {
+        this.wrkNo = wrkNo;
+    }
+
+    public Long getWrkSts() {
+        return wrkSts;
+    }
+
+    public String getWrkSts$(){
+        WrkStsService service = SpringUtils.getBean(WrkStsService.class);
+        WrkSts wrkSts = service.selectById(this.wrkSts);
+        if (!Cools.isEmpty(wrkSts)){
+            return String.valueOf(wrkSts.getStsName());
+        }
+        return null;
+    }
+
+    public void setWrkSts(Long wrkSts) {
+        this.wrkSts = wrkSts;
+    }
+
+    public String getZpallet() {
+        return zpallet;
+    }
+
+    public void setZpallet(String zpallet) {
+        this.zpallet = zpallet;
+    }
+
+    public Double getAnfme() {
+        return anfme;
+    }
+
+    public void setAnfme(Double anfme) {
+        this.anfme = anfme;
+    }
+
+    public Long getNodeId() {
+        return nodeId;
+    }
+
+    public void setNodeId(Long nodeId) {
+        this.nodeId = nodeId;
+    }
+
+    public String getLocNo() {
+        return locNo;
+    }
+
+    public void setLocNo(String locNo) {
+        this.locNo = locNo;
+    }
+
+    public String getMatnr() {
+        return matnr;
+    }
+
+    public void setMatnr(String matnr) {
+        this.matnr = matnr;
+    }
+
+    public String getMaktx() {
+        return maktx;
+    }
+
+    public void setMaktx(String maktx) {
+        this.maktx = maktx;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getSpecs() {
+        return specs;
+    }
+
+    public void setSpecs(String specs) {
+        this.specs = specs;
+    }
+
+    public String getModel() {
+        return model;
+    }
+
+    public void setModel(String model) {
+        this.model = model;
+    }
+
+    public String getBatch() {
+        return batch;
+    }
+
+    public void setBatch(String batch) {
+        this.batch = batch;
+    }
+
+    public String getUnit() {
+        return unit;
+    }
+
+    public void setUnit(String unit) {
+        this.unit = unit;
+    }
+
+    public String getBarcode() {
+        return barcode;
+    }
+
+    public void setBarcode(String barcode) {
+        this.barcode = barcode;
+    }
+
+    public Long getDocId() {
+        return docId;
+    }
+
+    public void setDocId(Long docId) {
+        this.docId = docId;
+    }
+
+    public String getDocNum() {
+        return docNum;
+    }
+
+    public void setDocNum(String docNum) {
+        this.docNum = docNum;
+    }
+
+    public String getCustName() {
+        return custName;
+    }
+
+    public void setCustName(String custName) {
+        this.custName = custName;
+    }
+
+    public Integer getItemNum() {
+        return itemNum;
+    }
+
+    public void setItemNum(Integer itemNum) {
+        this.itemNum = itemNum;
+    }
+
+    public Integer getCount() {
+        return count;
+    }
+
+    public void setCount(Integer count) {
+        this.count = count;
+    }
+
+    public Double getWeight() {
+        return weight;
+    }
+
+    public void setWeight(Double weight) {
+        this.weight = weight;
+    }
+
+    public Integer getStatus() {
+        return status;
+    }
+
+    public String getStatus$(){
+        if (null == this.status){ return null; }
+        switch (this.status){
+            case 1:
+                return "姝e父";
+            case 0:
+                return "绂佺敤";
+            default:
+                return String.valueOf(this.status);
+        }
+    }
+
+    public void setStatus(Integer status) {
+        this.status = status;
+    }
+
+    public Long getCreateBy() {
+        return createBy;
+    }
+
+    public String getCreateBy$(){
+        UserService service = SpringUtils.getBean(UserService.class);
+        User user = service.selectById(this.createBy);
+        if (!Cools.isEmpty(user)){
+            return String.valueOf(user.getNickname());
+        }
+        return null;
+    }
+
+    public void setCreateBy(Long createBy) {
+        this.createBy = createBy;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public String getCreateTime$(){
+        if (Cools.isEmpty(this.createTime)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime);
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public Long getUpdateBy() {
+        return updateBy;
+    }
+
+    public String getUpdateBy$(){
+        UserService service = SpringUtils.getBean(UserService.class);
+        User user = service.selectById(this.updateBy);
+        if (!Cools.isEmpty(user)){
+            return String.valueOf(user.getNickname());
+        }
+        return null;
+    }
+
+    public void setUpdateBy(Long updateBy) {
+        this.updateBy = updateBy;
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public String getUpdateTime$(){
+        if (Cools.isEmpty(this.updateTime)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime);
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getMemo() {
+        return memo;
+    }
+
+    public void setMemo(String memo) {
+        this.memo = memo;
+    }
+
+
+}
diff --git a/src/main/java/zy/cloud/wms/manager/mapper/PakinMapper.java b/src/main/java/zy/cloud/wms/manager/mapper/PakinMapper.java
new file mode 100644
index 0000000..7d63f2a
--- /dev/null
+++ b/src/main/java/zy/cloud/wms/manager/mapper/PakinMapper.java
@@ -0,0 +1,17 @@
+package zy.cloud.wms.manager.mapper;
+
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+import zy.cloud.wms.manager.entity.Pakin;
+
+import java.util.List;
+import java.util.Map;
+
+@Mapper
+@Repository
+public interface PakinMapper extends BaseMapper<Pakin> {
+
+
+}
diff --git a/src/main/java/zy/cloud/wms/manager/service/PakinService.java b/src/main/java/zy/cloud/wms/manager/service/PakinService.java
new file mode 100644
index 0000000..d2619e6
--- /dev/null
+++ b/src/main/java/zy/cloud/wms/manager/service/PakinService.java
@@ -0,0 +1,12 @@
+package zy.cloud.wms.manager.service;
+
+import com.baomidou.mybatisplus.plugins.Page;
+import com.baomidou.mybatisplus.service.IService;
+import zy.cloud.wms.manager.entity.Pakin;
+
+import java.util.List;
+
+public interface PakinService extends IService<Pakin> {
+
+
+}
diff --git a/src/main/java/zy/cloud/wms/manager/service/impl/PakinServiceImpl.java b/src/main/java/zy/cloud/wms/manager/service/impl/PakinServiceImpl.java
new file mode 100644
index 0000000..73bc49a
--- /dev/null
+++ b/src/main/java/zy/cloud/wms/manager/service/impl/PakinServiceImpl.java
@@ -0,0 +1,16 @@
+package zy.cloud.wms.manager.service.impl;
+
+import com.baomidou.mybatisplus.plugins.Page;
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import zy.cloud.wms.manager.entity.Pakin;
+import zy.cloud.wms.manager.mapper.PakinMapper;
+import zy.cloud.wms.manager.service.PakinService;
+
+import java.util.List;
+
+@Service("pakinService")
+public class PakinServiceImpl extends ServiceImpl<PakinMapper, Pakin> implements PakinService {
+
+
+}
diff --git a/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java b/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java
index ee3054b..290cbac 100644
--- a/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java
+++ b/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java
@@ -62,6 +62,8 @@
     private ErpService erpService;
     @Autowired
     private AsrsService asrsService;
+    @Autowired
+    private PakinService pakinService;
 
     @Override
     @Transactional
@@ -98,6 +100,39 @@
             if (mat == null) {
                 throw new CoolException("鐗╂枡鏁版嵁閿欒锛岃鑱旂郴绠$悊鍛�");
             }
+            // 淇濆瓨鍏ュ簱璁板綍
+            Pakin pakin = new Pakin(
+                    "I" + String.valueOf(snowflakeIdWorker.nextId()),    // 浠诲姟鍙穂闈炵┖]
+                    null,    // 宸ヤ綔鐘舵��
+                    null,    // 鎵樼洏鍙�
+                    dto.getCount(),    // 鍏ュ簱鏁伴噺
+                    node.getId(),    // 鍏宠仈璐т綅[闈炵┖]
+                    node.getUuid(),    // 璐т綅[闈炵┖]
+                    mat.getMatnr(),    // 鍟嗗搧缂栫爜[闈炵┖]
+                    null,    // 鍟嗗搧鍚嶇О
+                    null,    // 鍚嶇О
+                    null,    // 灏虹爜
+                    null,    // 鍨嬪彿
+                    null,    // 鎵瑰彿
+                    null,    // 鍗曚綅
+                    null,    // SKC
+                    null,    // 鍗曟嵁绫诲瀷
+                    null,    // 鍗曟嵁缂栧彿
+                    null,    // 瀹㈡埛鍚嶇О
+                    null,    // 鍝侀」鏁�
+                    null,    // 鏁伴噺
+                    null,    // 閲嶉噺
+                    1,    // 鐘舵��
+                    userId,    // 娣诲姞浜哄憳
+                    now,    // 娣诲姞鏃堕棿
+                    userId,    // 淇敼浜哄憳
+                    now,    // 淇敼鏃堕棿
+                    null    // 澶囨敞
+            );
+            VersionUtils.setPakin(pakin, mat);
+            if (!pakinService.insert(pakin)) {
+                throw new CoolException("淇濆瓨鍏ュ簱璁板綍澶辫触");
+            }
             LocDetl locDetl = locDetlService.getLocDetl(node.getId(), dto.getMatnr());
             if (locDetl == null) {
                 // 鏇存柊璐т綅搴撳瓨鏄庣粏
diff --git a/src/main/webapp/static/js/pakin/pakin.js b/src/main/webapp/static/js/pakin/pakin.js
new file mode 100644
index 0000000..1cb07ac
--- /dev/null
+++ b/src/main/webapp/static/js/pakin/pakin.js
@@ -0,0 +1,268 @@
+var pageCurr;
+layui.config({
+    base: baseUrl + "/static/layui/lay/modules/"
+}).use(['table','laydate', 'form', 'admin'], function(){
+    var table = layui.table;
+    var $ = layui.jquery;
+    var layer = layui.layer;
+    var layDate = layui.laydate;
+    var form = layui.form;
+    var admin = layui.admin;
+
+    // 鏁版嵁娓叉煋
+    tableIns = table.render({
+        elem: '#pakin',
+        headers: {token: localStorage.getItem('token')},
+        url: baseUrl+'/pakin/list/auth',
+        page: true,
+        limit: 16,
+        limits: [16, 30, 50, 100, 200, 500],
+        toolbar: '#toolbar',
+        cellMinWidth: 50,
+        cols: [[
+            {type: 'checkbox'}
+            ,{field: 'wrkNo', align: 'center',title: '浠诲姟鍙�'}
+            ,{field: 'wrkSts$', align: 'center',title: '宸ヤ綔鐘舵��',event: 'wrkSts', style: 'cursor:pointer'}
+            ,{field: 'zpallet', align: 'center',title: '鎵樼洏鍙�'}
+            ,{field: 'anfme', align: 'center',title: '鍑哄簱鏁伴噺'}
+            ,{field: 'nodeId', align: 'center',title: '鍏宠仈璐т綅'}
+            ,{field: 'locNo', align: 'center',title: '璐т綅'}
+            ,{field: 'matnr', align: 'center',title: '鍟嗗搧缂栫爜'}
+            ,{field: 'maktx', align: 'center',title: '鍟嗗搧鍚嶇О'}
+            ,{field: 'name', align: 'center',title: '鍚嶇О'}
+            ,{field: 'specs', align: 'center',title: '灏虹爜'}
+            ,{field: 'model', align: 'center',title: '鍨嬪彿'}
+            ,{field: 'batch', align: 'center',title: '鎵瑰彿'}
+            ,{field: 'unit', align: 'center',title: '鍗曚綅'}
+            ,{field: 'barcode', align: 'center',title: 'SKC'}
+            ,{field: 'docId', align: 'center',title: '鍗曟嵁绫诲瀷'}
+            ,{field: 'docNum', align: 'center',title: '鍗曟嵁缂栧彿'}
+            ,{field: 'custName', align: 'center',title: '瀹㈡埛鍚嶇О'}
+            ,{field: 'itemNum', align: 'center',title: '鍝侀」鏁�'}
+            ,{field: 'count', align: 'center',title: '鏁伴噺'}
+            ,{field: 'weight', align: 'center',title: '閲嶉噺'}
+            ,{field: 'status$', align: 'center',title: '鐘舵��'}
+            ,{field: 'createBy$', align: 'center',title: '娣诲姞浜哄憳',event: 'createBy', style: 'cursor:pointer'}
+            ,{field: 'createTime$', align: 'center',title: '娣诲姞鏃堕棿'}
+            ,{field: 'updateBy$', align: 'center',title: '淇敼浜哄憳',event: 'updateBy', style: 'cursor:pointer'}
+            ,{field: 'updateTime$', align: 'center',title: '淇敼鏃堕棿'}
+            ,{field: 'memo', align: 'center',title: '澶囨敞'}
+
+            ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:150}
+        ]],
+        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;
+            limit();
+        }
+    });
+
+    // 鐩戝惉鎺掑簭浜嬩欢
+    table.on('sort(pakin)', 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(pakin)', function (obj) {
+        var checkStatus = table.checkStatus(obj.config.id);
+        switch(obj.event) {
+            case 'addData':
+                showEditModel();
+                break;
+            case 'deleteData':
+               if (checkStatus.length === 0) {
+                   layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2});
+                   return;
+               }
+               var ids = checkStatus.map(function (d) {
+                   return d.id;
+               });
+               del(ids);
+               break;
+            case 'exportData':
+                layer.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 = {
+                        'pakin': exportData,
+                        'fields': fields
+                    };
+                    $.ajax({
+                        url: baseUrl+"/pakin/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(pakin)', function(obj){
+        var data = obj.data;
+        switch (obj.event) {
+            case 'edit':
+                showEditModel(data);
+                break;
+            case "del":
+                var ids = [data.id];
+                del(ids);
+                break;
+        }
+    });
+
+    /* 寮圭獥 - 鏂板銆佷慨鏀� */
+    function showEditModel(mData) {
+        admin.open({
+            type: 1,
+            area: '600px',
+            title: (mData ? '淇敼' : '娣诲姞') + '璁㈠崟鐘舵��',
+            content: $('#editDialog').html(),
+            success: function (layero, dIndex) {
+                form.val('detail', mData);
+                form.on('submit(editSubmit)', function (data) {
+                    var loadIndex = layer.load(2);
+                    $.ajax({
+                        url: baseUrl+"/pakin/"+(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+"/pakin/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(false);
+    });
+
+    // 閲嶇疆
+    form.on('submit(reset)', function (data) {
+        pageCurr = 1;
+        clearFormVal($('#search-box'));
+        tableReload(false);
+    });
+
+    // 鏃堕棿閫夋嫨鍣�
+    layDate.render({
+        elem: '#createTime\\$',
+        type: 'datetime'
+    });
+    layDate.render({
+        elem: '#updateTime\\$',
+        type: 'datetime'
+    });
+
+
+});
+
+// 鍏抽棴鍔ㄤ綔
+$(document).on('click','#data-detail-close', function () {
+    parent.layer.closeAll();
+});
+
+function tableReload(child) {
+    var searchData = {};
+    $.each($('#search-box [name]').serializeArray(), function() {
+        searchData[this.name] = this.value;
+    });
+    tableIns.reload({
+        where: searchData,
+        page: {curr: pageCurr}
+     });
+}
diff --git a/src/main/webapp/views/pakin/pakin.html b/src/main/webapp/views/pakin/pakin.html
new file mode 100644
index 0000000..a5659ff
--- /dev/null
+++ b/src/main/webapp/views/pakin/pakin.html
@@ -0,0 +1,230 @@
+<!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" media="all">
+    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+    <link rel="stylesheet" href="../../static/css/common.css" media="all">
+</head>
+<body>
+
+<!-- 鎼滅储鏍� -->
+<div id="search-box" class="layui-form layui-card-header">
+    <div class="layui-inline">
+        <div class="layui-input-inline">
+            <input class="layui-input" type="text" name="id" placeholder="缂栧彿" autocomplete="off">
+        </div>
+    </div>
+    <!-- 寰呮坊鍔� -->
+    <div id="data-search-btn" class="layui-btn-container layui-form-item">
+        <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">鎼滅储</button>
+        <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">閲嶇疆</button>
+    </div>
+</div>
+
+<!-- 琛ㄦ牸 -->
+<div class="layui-form">
+    <table class="layui-hide" id="pakin" lay-filter="pakin"></table>
+</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" id="btn-delete" lay-event="deleteData">鍒犻櫎</button>
+        <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData">瀵煎嚭</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/pakin/pakin.js" charset="utf-8"></script>
+</body>
+<!-- 琛ㄥ崟寮圭獥 -->
+<script type="text/html" id="editDialog">
+    <form id="detail" lay-filter="detail" class="layui-form admin-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="wrkNo" 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="wrkSts" placeholder="璇疯緭鍏ュ伐浣滅姸鎬�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鎵樼洏鍙�: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="zpallet" placeholder="璇疯緭鍏ユ墭鐩樺彿">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鍑哄簱鏁伴噺: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="anfme" placeholder="璇疯緭鍏ュ嚭搴撴暟閲�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label layui-form-required">鍏宠仈璐т綅: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="nodeId" placeholder="璇疯緭鍏ュ叧鑱旇揣浣�" lay-vertype="tips" lay-verify="required">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label layui-form-required">璐т綅: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="locNo" placeholder="璇疯緭鍏ヨ揣浣�" lay-vertype="tips" lay-verify="required">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label layui-form-required">鍟嗗搧缂栫爜: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="matnr" 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="maktx" placeholder="璇疯緭鍏ュ晢鍝佸悕绉�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鍚嶇О: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="name" placeholder="璇疯緭鍏ュ悕绉�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">灏虹爜: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="specs" placeholder="璇疯緭鍏ュ昂鐮�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鍨嬪彿: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="model" placeholder="璇疯緭鍏ュ瀷鍙�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鎵瑰彿: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="batch" placeholder="璇疯緭鍏ユ壒鍙�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鍗曚綅: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="unit" placeholder="璇疯緭鍏ュ崟浣�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">SKC: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="barcode" placeholder="璇疯緭鍏KC">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鍗曟嵁绫诲瀷: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="docId" placeholder="璇疯緭鍏ュ崟鎹被鍨�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鍗曟嵁缂栧彿: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="docNum" placeholder="璇疯緭鍏ュ崟鎹紪鍙�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">瀹㈡埛鍚嶇О: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="custName" placeholder="璇疯緭鍏ュ鎴峰悕绉�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鍝侀」鏁�: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="itemNum" placeholder="璇疯緭鍏ュ搧椤规暟">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鏁伴噺: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="count" placeholder="璇疯緭鍏ユ暟閲�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">閲嶉噺: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="weight" placeholder="璇疯緭鍏ラ噸閲�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鐘舵��: </label>
+                    <div class="layui-input-block">
+                        <select name="status">
+                            <option value="">璇烽�夋嫨鐘舵��</option>
+                            <option value="1">姝e父</option>
+                            <option value="0">绂佺敤</option>
+                        </select>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">娣诲姞浜哄憳: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="createBy" placeholder="璇疯緭鍏ユ坊鍔犱汉鍛�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">娣诲姞鏃堕棿: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="createTime" placeholder="璇疯緭鍏ユ坊鍔犳椂闂�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">淇敼浜哄憳: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="updateBy" placeholder="璇疯緭鍏ヤ慨鏀逛汉鍛�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">淇敼鏃堕棿: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="updateTime" placeholder="璇疯緭鍏ヤ慨鏀规椂闂�">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">澶囨敞: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="memo" placeholder="璇疯緭鍏ュ娉�">
+                    </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>
+    </form>
+</script>
+</html>
+

--
Gitblit v1.9.1