浏览代码

Merge branch 'master' of http://git.iamberry.com/hexiugang/iamberry-common-parent

# Conflicts:
#	watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/SalesOrderService.java
liujiankang 5 年之前
父节点
当前提交
5ed232132c

+ 8 - 0
watero-rst-interface/src/main/java/com/iamberry/rst/faces/order/LogisticsInfoService.java

@@ -1,5 +1,7 @@
 package com.iamberry.rst.faces.order;
 
+import com.iamberry.rst.core.order.Product;
+import com.iamberry.rst.core.page.PagedResult;
 import com.iamberry.rst.core.tools.LogisticsInfo;
 
 import java.util.List;
@@ -42,4 +44,10 @@ public interface LogisticsInfoService {
      * @return Integer
      */
     Integer  update(LogisticsInfo  logisticsInfo);
+    /**
+     * 获取分页集合
+     * @param  logisticsInfo
+     * @return List
+     */
+    PagedResult<LogisticsInfo> listLogisticsInfo(int pageNO, int pageSize, LogisticsInfo  logisticsInfo, boolean isTotalNum);
 }

+ 3 - 1
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/salesOrderMapper.xml

@@ -1649,7 +1649,9 @@
     <update id="listSalesPostFirmByIds" parameterType="SalesOrder" >
         update tb_rst_sales_order_info
         SET
-        sales_post_firm = #{salesPostFirm}
+        sales_post_firm = #{salesPostFirm},
+        sales_is_sublist = null,
+        sales_belong_orderId = null
         where
          sales_id IN
          <foreach collection="salesIds" item="node" index="index" separator="," open="(" close=")">

+ 11 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/order/LogisticsInfoServiceImpl.java

@@ -1,8 +1,12 @@
 package com.iamberry.rst.service.order;
 
+import com.github.pagehelper.PageHelper;
+import com.iamberry.rst.core.order.Product;
+import com.iamberry.rst.core.page.PagedResult;
 import com.iamberry.rst.core.tools.LogisticsInfo;
 import com.iamberry.rst.faces.order.LogisticsInfoService;
 import com.iamberry.rst.service.order.mapper.LogisticsInfoMapper;
+import com.iamberry.rst.util.PageUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -66,4 +70,11 @@ public class LogisticsInfoServiceImpl  implements LogisticsInfoService {
     public  Integer  update(LogisticsInfo  logisticsInfo){
         return  logisticsInfoMapper.update(logisticsInfo);
     }
+
+    @Override
+    public PagedResult<LogisticsInfo> listLogisticsInfo(int pageNO, int pageSize, LogisticsInfo logisticsInfo, boolean isTotalNum) {
+        PageHelper.startPage(pageNO, pageSize, isTotalNum);
+        List<LogisticsInfo> list = logisticsInfoMapper.getLogisticsInfoList(logisticsInfo);
+        return PageUtil.getPage(list);
+    }
 }

+ 9 - 2
watero-rst-service/src/main/java/com/iamberry/rst/service/order/mapper/logisticsInfoMapper.xml

@@ -59,7 +59,9 @@
         logistics_rst_code,
         logistics_efast_code,
         logistics_onehundred_code,
-        logistics_reamk
+        logistics_reamk,
+        create_date,
+        logistics_is_lash_single
         )
         values
         (
@@ -67,7 +69,9 @@
         #{logisticsRstCode},
         #{logisticsEfastCode},
         #{logisticsOnehundredCode},
-        #{logisticsReamk}
+        #{logisticsReamk},
+        NOW(),
+        #{logisticsIsLashSingle}
         )
     </insert>
     <update id="update" parameterType="LogisticsInfo" >
@@ -89,6 +93,9 @@
             <if test="logisticsReamk != null and logisticsReamk != ''">
                 logistics_reamk = #{logisticsReamk},
             </if >
+            <if test="logisticsIsLashSingle != null and logisticsIsLashSingle != ''">
+                logistics_is_lash_single = #{logisticsIsLashSingle}
+            </if >
         </set >
         where logistics_id= #{logisticsId}
     </update>

+ 116 - 0
watero-rst-web/src/main/java/com/iamberry/rst/controllers/kuaidi/LogisticsController.java

@@ -1,19 +1,28 @@
 package com.iamberry.rst.controllers.kuaidi;
 
+import com.iamberry.rst.core.order.*;
+import com.iamberry.rst.core.page.PagedResult;
 import com.iamberry.rst.core.tools.LogisticsInfo;
 import com.iamberry.rst.faces.order.LogisticsInfoService;
 import com.iamberry.rst.core.tools.KuaiDi100;
 import com.iamberry.rst.utils.ResultMsg;
+import com.iamberry.rst.utils.StitchAttrUtil;
 import com.iamberry.wechat.tools.NameUtils;
+import com.iamberry.wechat.tools.ResponseJson;
 import com.iamberry.wechat.tools.ResultInfo;
+import net.sf.json.JSONArray;
 import net.sf.json.JSONObject;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.servlet.ModelAndView;
 
+import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -56,4 +65,111 @@ public class LogisticsController {
         msg.setStatus(true);
         return msg;
     }
+
+    /**
+     * 快递列表
+     * @param request
+     * @return
+     */
+    @RequiresPermissions("Logistics:list:Logistics")
+    @RequestMapping("/logistics_list")
+    public ModelAndView logistics_list(HttpServletRequest request, LogisticsInfo logisticsInfo,
+                                       @RequestParam(value = "pageSize", defaultValue = "10", required = false) Integer pageSize,
+                                       @RequestParam(value = "pageNO", defaultValue = "1", required = false) Integer pageNO,
+                                       @RequestParam(value = "totalNum", defaultValue = "0", required = false) Integer totalNum) {
+        ModelAndView mv = new ModelAndView("logistics/logistics_list");
+
+        PagedResult<LogisticsInfo> pagedResult = logisticsInfoService.listLogisticsInfo(pageNO, pageSize, logisticsInfo, totalNum == 0);
+        if (totalNum != 0){
+            pagedResult.setTotal(totalNum);
+        }
+
+        StitchAttrUtil.getSa()
+                .setModelAndView(logisticsInfo, mv, "/logistics/logistics_list", pagedResult);
+        return mv;
+    }
+
+    /**
+     * 到添加页面产品
+     * @param request
+     * @return
+     */
+    @RequestMapping("/to_add_Logistics")
+    public ModelAndView to_add_Logistics(HttpServletRequest request) {
+        ModelAndView mv = new ModelAndView("logistics/add_logistics");
+        return mv;
+    }
+
+    /**
+     * 添加产品
+     * @param request
+     * @return
+     */
+    @ResponseBody
+    @RequestMapping("/add_Logistics")
+    public ResponseJson addLogistics(HttpServletRequest request, LogisticsInfo logisticsInfo) {
+        ResponseJson rj = ResponseJson.getSUCCESS();
+        if(logisticsInfo == null){
+            rj = ResponseJson.getFAILURE();
+            return  rj;
+        }
+        Integer flag = 0;
+        try{
+            flag = logisticsInfoService.save(logisticsInfo);
+        }catch (RuntimeException e){
+            e.printStackTrace();
+            rj = ResponseJson.getFAILURE();
+            rj.setResultMsg("增加快递失败,失败原因:"+e.getMessage());
+            return  rj;
+        }
+        if(flag > 0){
+            rj.setResultMsg("添加成功");
+            return rj;
+        }else{
+            rj = ResponseJson.getFAILURE();
+            return  rj;
+        }
+    }
+    /**
+     * 到修改页面快递
+     * @param request
+     * @return
+     */
+    @RequestMapping("/to_update_Logistics")
+    public ModelAndView to_update_Logistics(HttpServletRequest request,Integer logisticsId) {
+        ModelAndView mv = new ModelAndView("logistics/update_logistics");
+        LogisticsInfo logisticsInfo = logisticsInfoService.getLogisticsInfoById(logisticsId);
+        mv.addObject("logisticsInfo",logisticsInfo);
+        return mv;
+    }
+    /**
+     * 修改产品
+     * @param request
+     * @return
+     */
+    @ResponseBody
+    @RequestMapping("/update_Logistics")
+    public ResponseJson update_Logistics(HttpServletRequest request, LogisticsInfo logisticsInfo) {
+        ResponseJson rj = ResponseJson.getSUCCESS();
+        if(logisticsInfo == null){
+            rj = ResponseJson.getFAILURE();
+            return  rj;
+        }
+        Integer flag = 0;
+        try{
+            flag = logisticsInfoService.update(logisticsInfo);
+        }catch (RuntimeException e){
+            e.printStackTrace();
+            rj = ResponseJson.getFAILURE();
+            rj.setResultMsg("修改快递失败,失败原因:"+e.getMessage());
+            return  rj;
+        }
+        if(flag > 0){
+            rj.setResultMsg("修改成功");
+            return rj;
+        }else{
+            rj = ResponseJson.getFAILURE();
+            return  rj;
+        }
+    }
 }

+ 1 - 1
watero-rst-web/src/main/webapp/WEB-INF/views/cm/inspection/detect_repair_list.ftl

@@ -208,7 +208,7 @@
                             </#if>
                             <#if detect.detectState == 40>
                                 <a style="text-decoration:none" href="javascript:;" title="完善信息"
-                                   onclick="add_remark('完善信息','${path}/admin/detect/to_perfect_detect?detectId=${detect.detectId!''}','600','650');">
+                                   onclick="add_remark('完善信息','${path}/admin/detect/to_perfect_detect?detectId=${detect.detectId!''}','800','650');">
                                     <i class="Hui-iconfont">完善信息</i>
                                 </a><br>
                             </#if>

+ 1 - 1
watero-rst-web/src/main/webapp/WEB-INF/views/cm/inspection/perfect_detect.ftl

@@ -472,7 +472,7 @@
         disable_search_threshold: 0, //当选项少等于于指定个数时禁用搜索。
         inherit_select_classes: true, //是否继承原下拉框的样式类,此处设为继承
         placeholder_text_single: '选择国家', //单选选择框的默认提示信息,当选项为空时会显示。如果原下拉框设置了data-placeholder,会覆盖这里的值。
-        width: '320px', //设置chosen下拉框的宽度。即使原下拉框本身设置了宽度,也会被width覆盖。
+        width: '180px', //设置chosen下拉框的宽度。即使原下拉框本身设置了宽度,也会被width覆盖。
         max_shown_results: 1000, //下拉框最大显示选项数量
         display_disabled_options: false,
         single_backstroke_delete: false, //false表示按两次删除键才能删除选项,true表示按一次删除键即可删除

+ 193 - 0
watero-rst-web/src/main/webapp/WEB-INF/views/logistics/add_logistics.ftl

@@ -0,0 +1,193 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+    <meta charset="utf-8">
+    <meta name="renderer" content="webkit|ie-comp|ie-stand">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport"
+          content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
+    <meta http-equiv="Cache-Control" content="no-siteapp"/>
+<#include "/base/add_base.ftl">
+
+    <style>
+        .tit{position: relative;text-align: left;font-size: 16px;padding-left: 10px;}
+        .tit:after{content: '';position: absolute;left: 0;top: 20%;height: 60%;width: 3px;background-color: #32a3d8;}
+        .tit-2{position: relative;text-align: left;font-size: 16px;padding-left: 10px;color: #50a2ea;}
+        .tit-2:after{content: '';position: absolute;left: 0;top: 50%;height: 6px;width: 6px;border-radius: 6px;margin-top: -3px; background-color: #32a3d8;}
+        #province select{margin-right:10px; width:100px;height: 31px;-webkit-appearance:none !important;appearance:none;background: url(${path}/common/images/cm/select-1.png) right center no-repeat;background-size: auto 100%;padding-left:3px;padding-right: 25px;}
+        .ac_results li a {white-space: nowrap;text-decoration:none;display:block;color:#05a;padding:1px 3px}
+        .ac_results li {border:1px solid #fff}
+        .ac_results li a span {float:right}
+        .select-box{background: url(${path}/common/images/cm/select-1.png) right center no-repeat;background-size: auto 100%;}
+        .select-box select{-webkit-appearance:none !important;background-color: transparent; appearance:none;padding-right: 15px;}
+        .dalog-ask{position: absolute;left:60%;top:0;-webkit-transform: translateY(-30%);transform: translateY(-30%);display: none;background-color: #fff;z-index: 10;}
+        .tag{ width:300px; min-height:300px; border:1px solid #32a3d8; position:relative;background-color: #fff;line-height: 1.5;padding: 10px 12px;}
+        .tag em{display:block; border-width:15px; position:absolute; top:30%; left:-30px;border-style:solid dashed dashed; border-color:transparent  #32a3d8 transparent transparent;font-size:0; line-height:0;}
+        .time-line-list{list-style: none;width: 100%;margin-left: -20px;}
+        .time-line-list>li{position: relative;float: left; text-align: center;width: 100px;overflow: hidden;white-space: nowrap;word-break: break-all;padding: 2px 0;}
+        .time-line-list .number{display: inline-block; padding: 2px; background: #32a3d8;border: 2px solid #fff;box-shadow:0 0 0 1px #32a3d8;width: 20px;height: 20px;color: #fff;line-height: 20px;border-radius: 50%;}
+        .time-line-list>li:before{content:'';position: absolute;height: 1px;width: 30%;right:0;top: 15px; background-color: #32a3d8;}
+        .time-line-list>li:after{content: '';position: absolute;height: 1px;width: 30%;left: 0;top: 15px;background:#32a3d8;}
+        .time-line-list>li:first-child:after,.time-line-list>li:last-child:before{display: none;}
+        .time-line-list .arrow{border-width:7px; position:absolute; left:25%; top:9px;border-style:solid dashed dashed; border-color:transparent  transparent  transparent #32a3d8;font-size:0; line-height:0;}
+        .time-line-list>li:first-child .arrow{display: none;}
+        .table-bg th{background-color: #e2f6ff;}
+        .update-parts>span{margin-right: 10px;padding: 3px 4px;background-color: #effaff;border: 1px solid #32a3d8;}
+        .msg-phone{height: 35px;line-height: 35px;}
+        .col-sm-1{width: 10%;}
+        .all_down{text-decoration: underline;color: #00c;}
+        input[type=radio]{-webkit-appearance:none;appearance:none;background: url(${path}/common/images/pts/radio-1.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
+        input[type=radio]:checked{-webkit-appearance:none;appearance:none;background: url(${path}/common/images/pts/radio-2.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
+
+    </style>
+    <title>添加产品 - 产品管理 - RST</title>
+</head>
+<body>
+<nav class="breadcrumb"><i class="Hui-iconfont">&#xe67f;</i> 首页
+    <span class="c-gray en">/</span> 快递管理
+    <span class="c-gray en">/</span> 添加快递公司
+    <a class="btn radius r"
+       href="javascript:location.replace(location.href);" title="刷新"><i class="Hui-iconfont">&#xe68f;</i></a>
+    <a class="btn radius r"
+       href="javascript:history.back(-1);" title="后退"><i class="Hui-iconfont">&#xe6d4;</i></a>
+</nav>
+<article class="page-container" style="padding: 10px;">
+    <div class="pd-20 cl">
+        <form action="#" method="post" class="form form-horizontal" id="form-admin-add"  onkeydown="if(event.keyCode==13)return false;">
+
+            <div class="row cl" id="" style="">
+                <label class="form-label col-1 col-sm-1"><span class="c-red">*</span>快递名称:</label>
+                <div class="formControls col-2 col-sm-2">
+                    <input type="text" class="input-text" value="" placeholder="快递名称" id="logisticsName" name="logisticsName" datatype="*1-32" errormsg="快递名称格式只支持1-32个字符!" >
+                </div>
+            </div>
+            <div class="row cl" id="" style="">
+                <label class="form-label col-1 col-sm-1"><span class="c-red">*</span>rst物流代码:</label>
+                <div class="formControls col-2 col-sm-2">
+                    <input type="text" class="input-text" value="" placeholder="填写rst物流代码" id="logisticsRstCode" name="logisticsRstCode" datatype="*1-32" errormsg="rst物流代码格式只支持1-32个字符!" >
+                </div>
+            </div>
+            <div class="row cl" id="" style="">
+                <label class="form-label col-1 col-sm-1"><span class="c-red">*</span>Efast物流代码:</label>
+                <div class="formControls col-2 col-sm-2">
+                    <input type="text" class="input-text" value="" placeholder="填写Efast物流代码" id="logisticsEfastCode" name="logisticsEfastCode" datatype="*1-32" errormsg="Efast物流代码格式只支持1-32个字符!" >
+                </div>
+            </div>
+            <div class="row cl" id="" style="">
+                <label class="form-label col-1 col-sm-1"><span class="c-red">*</span>快递100物流代码:</label>
+                <div class="formControls col-2 col-sm-2">
+                    <input type="text" class="input-text" value="" placeholder="填写快递100物流代码" id="logisticsOnehundredCode" name="logisticsOnehundredCode" datatype="*1-32" errormsg="快递100物流代码格式只支持1-32个字符!" >
+                </div>
+            </div>
+            <div class="row cl">
+                <label class="form-label col-1 col-sm-1"><span class="c-red">*</span>是否支持子母单:</label>
+                <div class="formControls col-4 col-sm-4">
+                    <div class="radio-box">
+                        <input type="radio" id="logisticsIsLashSingle-1" name="logisticsIsLashSingle" value="1" checked>
+                        <label for="logisticsIsLashSingle-1">是&nbsp;&nbsp;&nbsp;</label>
+                    </div>
+                    <div class="radio-box">
+                        <input type="radio" id="logisticsIsLashSingle-2" name="logisticsIsLashSingle" value="2">
+                        <label for="logisticsIsLashSingle-2">否</label>
+                    </div>
+                </div>
+            </div>
+
+            <div class="row cl">
+                <label class="form-label col-1 col-sm-1">备注:</label>
+                <div class="formControls col-3 col-sm-3" style="">
+                    <textarea id="logisticsReamk" name="logisticsReamk" style="width: 100%;"></textarea>
+                </div>
+            </div>
+
+            <div class="row cl" style="margin-bottom: 20px">
+                <div class="col-2 col-sm-2 col-offset-3">
+                    <button class="btn btn-block btn-primary size-XL" onclick="add();" type="button">确认录入</button>
+                </div>
+            </div>
+        </form>
+    </div>
+</article>
+
+<script type="text/javascript">
+    var url_path = "${path}";
+</script>
+<#--时间控件-->
+<script type="text/javascript" src="${path}/common/lib/My97DatePicker/4.8/WdatePicker.js"></script>
+<script type="text/javascript" src="${path}/common/lib/jquery/1.9.1/ajaxfileupload.js"></script>
+
+<script type="text/javascript">
+    $('.skin-minimal input').iCheck({
+        checkboxClass: 'icheckbox-blue',
+        radioClass: 'iradio-blue',
+        increaseArea: '20%'
+    });
+
+    function  add() {
+        var logisticsName = $("#logisticsName").val();
+        if( logisticsName != null && "" != logisticsName){
+            if( logisticsName.length > 30 ){
+                layer.msg('快递名称不得大于30个字符',{icon: 5,time:1000});
+                return;
+            }
+        }else{
+            layer.msg('快递名称不能为空',{icon: 5,time:1000});
+            return;
+        }
+        var logisticsRstCode = $("#logisticsRstCode").val();
+        if( logisticsRstCode != null && "" != logisticsRstCode){
+            if( logisticsRstCode.length > 30 ){
+                layer.msg('rst物流代码不得大于30个字符',{icon: 5,time:1000});
+                return;
+            }
+        }else{
+            layer.msg('rst物流代码不能为空',{icon: 5,time:1000});
+            return;
+        }
+        var logisticsEfastCode = $("#logisticsEfastCode").val();
+        if( logisticsEfastCode != null && "" != logisticsEfastCode){
+            if( logisticsEfastCode.length > 30 ){
+                layer.msg('Efast物流代码不得大于30个字符',{icon: 5,time:1000});
+                return;
+            }
+        }else{
+            layer.msg('Efast物流代码不能为空',{icon: 5,time:1000});
+            return;
+        }
+        var logisticsOnehundredCode = $("#logisticsOnehundredCode").val();
+        if( logisticsOnehundredCode != null && "" != logisticsOnehundredCode){
+            if( logisticsOnehundredCode.length > 30 ){
+                layer.msg('快递100物流代码不得大于30个字符',{icon: 5,time:1000});
+                return;
+            }
+        }else{
+            layer.msg('快递100物流代码不能为空',{icon: 5,time:1000});
+            return;
+        }
+        $.ajax({
+            cache: true,
+            type: "POST",
+            url: "${path}/logistics/add_Logistics",
+            data:$('#form-admin-add').serialize(),// 你的formid
+            async: false,
+            success: function(data){
+                alert(1);
+                if (data.returnCode == 200) {
+                    layer.msg('添加成功',{icon: 1,time:2000},function () {
+                        location.href =  "${path}/logistics/logistics_list";
+                    });
+                } else {
+                    layer.msg('添加失败',{icon: 5,time:1000});
+                }
+            },
+            error: function(XmlHttpRequest, textStatus, errorThrown){
+                layer.msg('添加错误',{icon: 5,time:1000});
+            }
+        });
+    }
+
+
+</script>
+
+</body>
+</html>

+ 131 - 0
watero-rst-web/src/main/webapp/WEB-INF/views/logistics/logistics_list.ftl

@@ -0,0 +1,131 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+    <meta charset="utf-8">
+    <meta name="renderer" content="webkit|ie-comp|ie-stand">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
+    <meta http-equiv="Cache-Control" content="no-siteapp" />
+    <link rel="Bookmark" href="/favicon.ico" >
+    <link rel="Shortcut Icon" href="/favicon.ico" />
+<#include "/base/list_base.ftl">
+    <title>订单批次列表</title>
+    <style>
+        html{-webkit-text-size-adjust:none;}
+        *{padding: 0;margin: 0;}
+        .my-input{border: 1px solid rgba(0,0,0,.1);padding: 1px 5px;height: 32px;margin-right: 10px;}
+        /*.my-input::-webkit-input-placeholder,.my-select{color: #dcdcdc;}*/
+        .my-select{border: 1px solid rgba(0,0,0,.1);padding:6px 50px 6px 15px;height: 34px; -webkit-appearance:none;appearance:none;background: url(${path}/common/images/pts/select-11.png) right center no-repeat;background-size:auto 100%;}
+        .my-btn-search{border: 1px solid #50a2ea;padding: 1px 25px;height: 32px;background-color: #fff;color: #50a2ea;}
+        .barcodeImg{margin:10px 0px}
+        .table-bg thead th{background-color: #e2f6ff;}
+        input[type=radio]{-webkit-appearance:none;appearance:none;background: url(${path}/common/images/pts/radio-1.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
+        input[type=radio]:checked{-webkit-appearance:none;appearance:none;background: url(${path}/common/images/pts/radio-2.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
+    </style>
+</head>
+<body>
+<nav class="breadcrumb"><i class="Hui-iconfont">&#xe67f;</i> 首页
+    <span class="c-gray en">/</span> 快递管理
+    <span class="c-gray en">/</span> 快递列表
+    <a class="btn radius r" href="javascript:location.replace(location.href);" title="刷新" ><i class="Hui-iconfont">&#xe68f;</i></a>
+</nav>
+<div class="page-container">
+    <div class="text-c">
+        <form action="${path}/admin/product/product_page" method="post">
+
+            <div style="position: relative;float: left;display: block;width: 110px;height: 32px;"  >
+                <button type="button" style="cursor:pointer;" class="my-btn-search my-order" id="addProduct" onclick="to_add()" >添加快递</button>
+            </div>
+
+          <#--  <select class="my-select" name="productType" id="productType" style="height: 36px;width: 132px;margin: 0px;padding: 12px 10px 6px 15px;margin-bottom: 10px;">
+                <option value="">产品分类</option>
+                <#list productTypeList as productType>
+                    <option value="${productType.typeId}"  <#if product.productType??><#if product.productType == productType.typeId >selected="selected"</#if></#if> >${productType.typeName}</option>
+                </#list>
+            </select>
+
+            <select class="my-select" name="productStatus" id="productStatus" style="height: 36px;width: 132px;margin: 0px;padding: 12px 10px 6px 15px;margin-bottom: 10px;">
+                <option value="">状态</option>
+                <option value="1" <#if product.productStatus??><#if product.productStatus == 1 >selected="selected"</#if></#if>>使用</option>
+                <option value="2" <#if product.productStatus??><#if product.productStatus == 2 >selected="selected"</#if></#if>>禁用</option>
+            </select>
+
+            <input type="text" class="my-input trim_input"  style="width:120px;margin-right: 0px; margin-bottom: 8px;" value="${product.productName!}" placeholder="产品名称" id="productName" name="productName">
+            <input type="text" class="my-input trim_input"  style="width:120px;margin-right: 0px; margin-bottom: 8px;" value="${product.colorName!}" placeholder="颜色名称" id="colorName" name="colorName">
+            <input type="text" class="my-input trim_input"  style="width:120px;margin-right: 0px; margin-bottom: 8px;" value="${product.colorBar!}" placeholder="69码" id="colorBar" name="colorBar">
+
+            <button type="submit" class="btn" style="background: #50a2ea;border: 1px solid #50a2ea;color: #fff;height: 35px;margin-top: -8px;"><i class="Hui-iconfont">&#xe665;</i> 查询</button>-->
+
+        </form>
+    </div>
+
+    <div class="mt-20">
+        <table class="table table-border table-bordered table-bg table-hover table-sort">
+            <thead>
+                <tr class="text-c">
+                    <th width="50">物流公司名称</th>
+                    <th width="100">rst物流公司代码</th>
+                    <th width="50">快递100物流公司代码</th>
+                    <th width="50">备注</th>
+                    <th width="80">是否支持子母单</th>
+                    <th width="80">创建时间</th>
+                    <th width="80">操作</th>
+                </tr>
+            </thead>
+        <tbody>
+            <#if page.dataList?? &&  (page.dataList?size > 0) >
+                    <#list page.dataList as logisticsInfo>
+                        <tr class="text-c">
+                            <td>${logisticsInfo.logisticsName!''}</td>
+                            <td>${logisticsInfo.logisticsRstCode!''}</td>
+                            <td>${logisticsInfo.logisticsOnehundredCode!''}</td>
+                            <td>
+                                ${logisticsInfo.logisticsReamk!''}
+                            </td>
+                            <td>
+                                <#if logisticsInfo.logisticsIsLashSingle == 1>
+                                    是
+                                <#elseif logisticsInfo.logisticsIsLashSingle == 2>
+                                    否
+                                </#if>
+                            </td>
+                            <td>${(logisticsInfo.createDate?string("yyyy-MM-dd HH:mm:ss"))!''}</td>
+                            <td>
+                                <a style="text-decoration:none;color: #00E;" href="javascript:void(0);" title="修改" onclick="to_update('${logisticsInfo.logisticsId!''}')">
+                                    修改
+                                </a>
+                            </td>
+                        </tr>
+                    </#list>
+            <#else>
+                <tr><td colspan="7" class="td-manage text-c" >暂时没有快递公司,请添加!</td></tr>
+            </#if>
+        </tbody>
+    </table>
+    </div>
+</div>
+<tfoot>
+<#include "/base/page_util.ftl">
+</tfoot>
+<script>
+
+    /**
+     *跳转到添加
+     * @param employee
+     */
+    function to_add() {
+        window.location.href= "${path}/logistics/to_add_Logistics";
+    }
+
+    /**
+     *跳转到修改产品
+     * @param employee
+     */
+    function to_update(logisticsId) {
+        window.location.href= "${path}/logistics/to_update_Logistics?logisticsId="+logisticsId;
+    }
+
+
+</script>
+</body>
+</html>

+ 193 - 0
watero-rst-web/src/main/webapp/WEB-INF/views/logistics/update_logistics.ftl

@@ -0,0 +1,193 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+    <meta charset="utf-8">
+    <meta name="renderer" content="webkit|ie-comp|ie-stand">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport"
+          content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
+    <meta http-equiv="Cache-Control" content="no-siteapp"/>
+<#include "/base/add_base.ftl">
+
+    <style>
+        .tit{position: relative;text-align: left;font-size: 16px;padding-left: 10px;}
+        .tit:after{content: '';position: absolute;left: 0;top: 20%;height: 60%;width: 3px;background-color: #32a3d8;}
+        .tit-2{position: relative;text-align: left;font-size: 16px;padding-left: 10px;color: #50a2ea;}
+        .tit-2:after{content: '';position: absolute;left: 0;top: 50%;height: 6px;width: 6px;border-radius: 6px;margin-top: -3px; background-color: #32a3d8;}
+        #province select{margin-right:10px; width:100px;height: 31px;-webkit-appearance:none !important;appearance:none;background: url(${path}/common/images/cm/select-1.png) right center no-repeat;background-size: auto 100%;padding-left:3px;padding-right: 25px;}
+        .ac_results li a {white-space: nowrap;text-decoration:none;display:block;color:#05a;padding:1px 3px}
+        .ac_results li {border:1px solid #fff}
+        .ac_results li a span {float:right}
+        .select-box{background: url(${path}/common/images/cm/select-1.png) right center no-repeat;background-size: auto 100%;}
+        .select-box select{-webkit-appearance:none !important;background-color: transparent; appearance:none;padding-right: 15px;}
+        .dalog-ask{position: absolute;left:60%;top:0;-webkit-transform: translateY(-30%);transform: translateY(-30%);display: none;background-color: #fff;z-index: 10;}
+        .tag{ width:300px; min-height:300px; border:1px solid #32a3d8; position:relative;background-color: #fff;line-height: 1.5;padding: 10px 12px;}
+        .tag em{display:block; border-width:15px; position:absolute; top:30%; left:-30px;border-style:solid dashed dashed; border-color:transparent  #32a3d8 transparent transparent;font-size:0; line-height:0;}
+        .time-line-list{list-style: none;width: 100%;margin-left: -20px;}
+        .time-line-list>li{position: relative;float: left; text-align: center;width: 100px;overflow: hidden;white-space: nowrap;word-break: break-all;padding: 2px 0;}
+        .time-line-list .number{display: inline-block; padding: 2px; background: #32a3d8;border: 2px solid #fff;box-shadow:0 0 0 1px #32a3d8;width: 20px;height: 20px;color: #fff;line-height: 20px;border-radius: 50%;}
+        .time-line-list>li:before{content:'';position: absolute;height: 1px;width: 30%;right:0;top: 15px; background-color: #32a3d8;}
+        .time-line-list>li:after{content: '';position: absolute;height: 1px;width: 30%;left: 0;top: 15px;background:#32a3d8;}
+        .time-line-list>li:first-child:after,.time-line-list>li:last-child:before{display: none;}
+        .time-line-list .arrow{border-width:7px; position:absolute; left:25%; top:9px;border-style:solid dashed dashed; border-color:transparent  transparent  transparent #32a3d8;font-size:0; line-height:0;}
+        .time-line-list>li:first-child .arrow{display: none;}
+        .table-bg th{background-color: #e2f6ff;}
+        .update-parts>span{margin-right: 10px;padding: 3px 4px;background-color: #effaff;border: 1px solid #32a3d8;}
+        .msg-phone{height: 35px;line-height: 35px;}
+        .col-sm-1{width: 10%;}
+        .all_down{text-decoration: underline;color: #00c;}
+        input[type=radio]{-webkit-appearance:none;appearance:none;background: url(${path}/common/images/pts/radio-1.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
+        input[type=radio]:checked{-webkit-appearance:none;appearance:none;background: url(${path}/common/images/pts/radio-2.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
+
+    </style>
+    <title>添加产品 - 产品管理 - RST</title>
+</head>
+<body>
+<nav class="breadcrumb"><i class="Hui-iconfont">&#xe67f;</i> 首页
+    <span class="c-gray en">/</span> 快递管理
+    <span class="c-gray en">/</span> 修改快递公司
+    <a class="btn radius r"
+       href="javascript:location.replace(location.href);" title="刷新"><i class="Hui-iconfont">&#xe68f;</i></a>
+    <a class="btn radius r"
+       href="javascript:history.back(-1);" title="后退"><i class="Hui-iconfont">&#xe6d4;</i></a>
+</nav>
+<article class="page-container" style="padding: 10px;">
+    <div class="pd-20 cl">
+        <form action="#" method="post" class="form form-horizontal" id="form-admin-add"  onkeydown="if(event.keyCode==13)return false;">
+
+            <div class="row cl" id="" style="">
+                <label class="form-label col-1 col-sm-1"><span class="c-red">*</span>快递名称:</label>
+                <div class="formControls col-2 col-sm-2">
+                    <input type="text" class="input-text" value="${logisticsInfo.logisticsName!''}" placeholder="快递名称" id="logisticsName" name="logisticsName" datatype="*1-32" errormsg="快递名称格式只支持1-32个字符!" >
+                </div>
+            </div>
+            <div class="row cl" id="" style="">
+                <label class="form-label col-1 col-sm-1"><span class="c-red">*</span>rst物流代码:</label>
+                <div class="formControls col-2 col-sm-2">
+                    <input type="text" class="input-text" value="${logisticsInfo.logisticsRstCode!''}" placeholder="填写rst物流代码" id="logisticsRstCode" name="logisticsRstCode" datatype="*1-32" errormsg="rst物流代码格式只支持1-32个字符!" >
+                </div>
+            </div>
+            <div class="row cl" id="" style="">
+                <label class="form-label col-1 col-sm-1"><span class="c-red">*</span>Efast物流代码:</label>
+                <div class="formControls col-2 col-sm-2">
+                    <input type="text" class="input-text" value="${logisticsInfo.logisticsEfastCode!''}" placeholder="填写Efast物流代码" id="logisticsEfastCode" name="logisticsEfastCode" datatype="*1-32" errormsg="Efast物流代码格式只支持1-32个字符!" >
+                </div>
+            </div>
+            <div class="row cl" id="" style="">
+                <label class="form-label col-1 col-sm-1"><span class="c-red">*</span>快递100物流代码:</label>
+                <div class="formControls col-2 col-sm-2">
+                    <input type="text" class="input-text" value="${logisticsInfo.logisticsOnehundredCode!''}" placeholder="填写快递100物流代码" id="logisticsOnehundredCode" name="logisticsOnehundredCode" datatype="*1-32" errormsg="快递100物流代码格式只支持1-32个字符!" >
+                </div>
+            </div>
+            <div class="row cl">
+                <label class="form-label col-1 col-sm-1"><span class="c-red">*</span>是否支持子母单:</label>
+                <div class="formControls col-4 col-sm-4">
+                    <div class="radio-box">
+                        <input type="radio" id="logisticsIsLashSingle-1" name="logisticsIsLashSingle" value="1" <#if logisticsInfo.logisticsIsLashSingle??><#if logisticsInfo.logisticsIsLashSingle == 1>checked</#if></#if>>
+                        <label for="logisticsIsLashSingle-1">是&nbsp;&nbsp;&nbsp;</label>
+                    </div>
+                    <div class="radio-box">
+                        <input type="radio" id="logisticsIsLashSingle-2" name="logisticsIsLashSingle" value="2" <#if logisticsInfo.logisticsIsLashSingle??><#if logisticsInfo.logisticsIsLashSingle == 2>checked</#if></#if>>
+                        <label for="logisticsIsLashSingle-2">否</label>
+                    </div>
+                </div>
+            </div>
+
+            <div class="row cl">
+                <label class="form-label col-1 col-sm-1">备注:</label>
+                <div class="formControls col-3 col-sm-3" style="">
+                    <textarea id="logisticsReamk" name="logisticsReamk" style="width: 100%;">${logisticsInfo.logisticsReamk!''}</textarea>
+                </div>
+            </div>
+
+            <div class="row cl" style="margin-bottom: 20px">
+                <div class="col-2 col-sm-2 col-offset-3">
+                    <input type="hidden" value="${logisticsInfo.logisticsId!''}" name="logisticsId">
+                    <button class="btn btn-block btn-primary size-XL" onclick="update();" type="button">确认录入</button>
+                </div>
+            </div>
+        </form>
+    </div>
+</article>
+
+<script type="text/javascript">
+    var url_path = "${path}";
+</script>
+<#--时间控件-->
+<script type="text/javascript" src="${path}/common/lib/My97DatePicker/4.8/WdatePicker.js"></script>
+<script type="text/javascript" src="${path}/common/lib/jquery/1.9.1/ajaxfileupload.js"></script>
+
+<script type="text/javascript">
+    $('.skin-minimal input').iCheck({
+        checkboxClass: 'icheckbox-blue',
+        radioClass: 'iradio-blue',
+        increaseArea: '20%'
+    });
+
+    function  update() {
+        var logisticsName = $("#logisticsName").val();
+        if( logisticsName != null && "" != logisticsName){
+            if( logisticsName.length > 30 ){
+                layer.msg('快递名称不得大于30个字符',{icon: 5,time:1000});
+                return;
+            }
+        }else{
+            layer.msg('快递名称不能为空',{icon: 5,time:1000});
+            return;
+        }
+        var logisticsRstCode = $("#logisticsRstCode").val();
+        if( logisticsRstCode != null && "" != logisticsRstCode){
+            if( logisticsRstCode.length > 30 ){
+                layer.msg('rst物流代码不得大于30个字符',{icon: 5,time:1000});
+                return;
+            }
+        }else{
+            layer.msg('rst物流代码不能为空',{icon: 5,time:1000});
+            return;
+        }
+        var logisticsEfastCode = $("#logisticsEfastCode").val();
+        if( logisticsEfastCode != null && "" != logisticsEfastCode){
+            if( logisticsEfastCode.length > 30 ){
+                layer.msg('Efast物流代码不得大于30个字符',{icon: 5,time:1000});
+                return;
+            }
+        }else{
+            layer.msg('Efast物流代码不能为空',{icon: 5,time:1000});
+            return;
+        }
+        var logisticsOnehundredCode = $("#logisticsOnehundredCode").val();
+        if( logisticsOnehundredCode != null && "" != logisticsOnehundredCode){
+            if( logisticsOnehundredCode.length > 30 ){
+                layer.msg('快递100物流代码不得大于30个字符',{icon: 5,time:1000});
+                return;
+            }
+        }else{
+            layer.msg('快递100物流代码不能为空',{icon: 5,time:1000});
+            return;
+        }
+        $.ajax({
+            cache: true,
+            type: "POST",
+            url: "${path}/logistics/update_Logistics",
+            data:$('#form-admin-add').serialize(),// 你的formid
+            async: false,
+            success: function(data){
+                if (data.returnCode == 200) {
+                    layer.msg('修改成功',{icon: 1,time:2000},function () {
+                        location.href =  "${path}/logistics/logistics_list";
+                    });
+                } else {
+                    layer.msg('修改失败',{icon: 5,time:1000});
+                }
+            },
+            error: function(XmlHttpRequest, textStatus, errorThrown){
+                layer.msg('修改错误',{icon: 5,time:1000});
+            }
+        });
+    }
+
+
+</script>
+
+</body>
+</html>