Quellcode durchsuchen

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

wangxiaoming vor 6 Jahren
Ursprung
Commit
0f821f4b88
24 geänderte Dateien mit 510 neuen und 57 gelöschten Zeilen
  1. 5 5
      pom.xml
  2. 24 0
      watero-common-web/pom.xml
  3. 47 0
      watero-rst-core/src/main/java/com.iamberry.rst.core/order/SmsTemplateInfo.java
  4. 37 0
      watero-rst-core/src/main/java/com.iamberry.rst.core/order/smsSignatureInfo.java
  5. 24 0
      watero-rst-interface/pom.xml
  6. 10 0
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/SalesOrderService.java
  7. 11 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/SalesOrderServiceImpl.java
  8. 10 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/SalesOrderMapper.java
  9. 15 3
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/salesOrderMapper.xml
  10. 79 9
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AdminSalesOrderController.java
  11. 3 0
      watero-rst-web/src/main/resources/watero-rst-orm.xml
  12. 46 25
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/custome_list.ftl
  13. 16 9
      watero-rst-web/src/main/webapp/WEB-INF/views/home/pc_index.ftl
  14. 5 0
      watero-rst-web/src/main/webapp/WEB-INF/views/order/salesOrder/sales_order_list.ftl
  15. 169 0
      watero-rst-web/src/main/webapp/WEB-INF/views/order/salesOrder/send_sms.ftl
  16. BIN
      watero-rst-web/src/main/webapp/common/images/index/admin-login.png
  17. BIN
      watero-rst-web/src/main/webapp/common/images/pts/select-11.png
  18. BIN
      watero-rst-web/src/main/webapp/common/images/pts/select-dw.png
  19. BIN
      watero-rst-web/src/main/webapp/common/images/pts/select-up.png
  20. BIN
      watero-rst-web/src/main/webapp/common/images/select-1.png
  21. 6 3
      watero-rst-web/src/main/webapp/common/static/h-ui.admin/css/H-ui.admin.css
  22. BIN
      watero-rst-web/src/main/webapp/common/static/h-ui.admin/skin/default/icon_arrow.png
  23. 2 2
      watero-rst-web/src/main/webapp/common/static/h-ui.admin/skin/default/skin.css
  24. 1 1
      watero-rst-web/src/main/webapp/common/static/h-ui/css/H-ui.min.css

+ 5 - 5
pom.xml

@@ -575,15 +575,15 @@
 	<!-- 配置 -->
 	<profiles>
 		<profile>
-			<id>jdk-1.8</id>
+			<id>jdk-1.7</id>
 			<activation>
 				<activeByDefault>true</activeByDefault>
-				<jdk>1.8</jdk>
+				<jdk>1.7</jdk>
 			</activation>
 			<properties>
-				<maven.compiler.source>1.8</maven.compiler.source>
-				<maven.compiler.target>1.8</maven.compiler.target>
-				<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
+				<maven.compiler.source>1.7</maven.compiler.source>
+				<maven.compiler.target>1.7</maven.compiler.target>
+				<maven.compiler.compilerVersion>1.7</maven.compiler.compilerVersion>
 			</properties>
 		</profile>
 		<profile>

+ 24 - 0
watero-common-web/pom.xml

@@ -13,4 +13,28 @@
 	<groupId>com.iamberry</groupId>
 	<artifactId>watero-common-web</artifactId>
 	<version>1.0.0</version>
+	<build>
+		<resources>
+			<resource>
+				<directory>src/main/java</directory>
+				<includes>
+					<include>**/*.properties</include>
+					<include>**/*.xml</include>
+				</includes>
+				<filtering>false</filtering>
+			</resource>
+		</resources>
+		<finalName>watero-rst-service</finalName>
+		<plugins>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-compiler-plugin</artifactId>
+				<version>3.3</version>
+				<configuration>
+					<source>1.7</source>
+					<target>1.7</target>
+				</configuration>
+			</plugin>
+		</plugins>
+	</build>
 </project>

+ 47 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/order/SmsTemplateInfo.java

@@ -0,0 +1,47 @@
+package com.iamberry.rst.core.order;
+
+import java.io.Serializable;
+
+/**
+ * 短信模板表
+ * Created by Administrator on 2019/3/21.
+ */
+public class SmsTemplateInfo implements Serializable{
+    private static final long serialVersionUID = 2475013638981240118L;
+    private Integer smsTemplateId;
+    private Integer smsSignatureId;
+    private String smsTemplateInfo;
+    private String smsTemplateDesc;
+
+    public Integer getSmsTemplateId() {
+        return smsTemplateId;
+    }
+
+    public void setSmsTemplateId(Integer smsTemplateId) {
+        this.smsTemplateId = smsTemplateId;
+    }
+
+    public Integer getSmsSignatureId() {
+        return smsSignatureId;
+    }
+
+    public void setSmsSignatureId(Integer smsSignatureId) {
+        this.smsSignatureId = smsSignatureId;
+    }
+
+    public String getSmsTemplateInfo() {
+        return smsTemplateInfo;
+    }
+
+    public void setSmsTemplateInfo(String smsTemplateInfo) {
+        this.smsTemplateInfo = smsTemplateInfo;
+    }
+
+    public String getSmsTemplateDesc() {
+        return smsTemplateDesc;
+    }
+
+    public void setSmsTemplateDesc(String smsTemplateDesc) {
+        this.smsTemplateDesc = smsTemplateDesc;
+    }
+}

+ 37 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/order/smsSignatureInfo.java

@@ -0,0 +1,37 @@
+package com.iamberry.rst.core.order;
+
+import java.io.Serializable;
+
+/**
+ * Created by Administrator on 2019/3/21.
+ */
+public class SmsSignatureInfo implements Serializable {
+    private static final long serialVersionUID = -1791768785944107991L;
+    private Integer smsSignatureId;
+    private String smsSignatureInfo;
+    private String smsSignatureDesc;
+
+    public Integer getSmsSignatureId() {
+        return smsSignatureId;
+    }
+
+    public void setSmsSignatureId(Integer smsSignatureId) {
+        this.smsSignatureId = smsSignatureId;
+    }
+
+    public String getSmsSignatureInfo() {
+        return smsSignatureInfo;
+    }
+
+    public void setSmsSignatureInfo(String smsSignatureInfo) {
+        this.smsSignatureInfo = smsSignatureInfo;
+    }
+
+    public String getSmsSignatureDesc() {
+        return smsSignatureDesc;
+    }
+
+    public void setSmsSignatureDesc(String smsSignatureDesc) {
+        this.smsSignatureDesc = smsSignatureDesc;
+    }
+}

+ 24 - 0
watero-rst-interface/pom.xml

@@ -24,4 +24,28 @@
             <version>1.0.0</version>
         </dependency>
     </dependencies>
+    <build>
+        <resources>
+            <resource>
+                <directory>src/main/java</directory>
+                <includes>
+                    <include>**/*.properties</include>
+                    <include>**/*.xml</include>
+                </includes>
+                <filtering>false</filtering>
+            </resource>
+        </resources>
+        <finalName>watero-rst-service</finalName>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <version>3.3</version>
+                <configuration>
+                    <source>1.7</source>
+                    <target>1.7</target>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
 </project>

+ 10 - 0
watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/SalesOrderService.java

@@ -437,4 +437,14 @@ public interface SalesOrderService {
     Integer updateOrderItemReturnNum(SalesOrderItem salesOrderItem);
 
 
+
+    /**
+     * 查询售后短信签名
+     */
+    List<SmsSignatureInfo> listSmsSignatureInfo(SmsSignatureInfo smsSignatureInfo);
+
+    /**
+     * 查询售后短信模板
+     */
+    List<SmsTemplateInfo> listSmsTemplateInfo(SmsTemplateInfo smsTemplateInfo);
 }

+ 11 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/SalesOrderServiceImpl.java

@@ -1211,4 +1211,15 @@ public class SalesOrderServiceImpl implements SalesOrderService {
     public Integer updateOrderItemReturnNum(SalesOrderItem salesOrderItem) {
         return salesOrderMapper.updateOrderItemReturnNum(salesOrderItem);
     }
+
+    @Override
+    public List<SmsSignatureInfo> listSmsSignatureInfo(SmsSignatureInfo smsSignatureInfo) {
+        return salesOrderMapper.listSmsSignatureInfo(smsSignatureInfo);
+    }
+
+    @Override
+    public List<SmsTemplateInfo> listSmsTemplateInfo(SmsTemplateInfo smsTemplateInfo) {
+        return salesOrderMapper.listSmsTemplateInfo(smsTemplateInfo);
+    }
+
 }

+ 10 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/SalesOrderMapper.java

@@ -360,4 +360,14 @@ public interface SalesOrderMapper {
      * 修改订单项退货数据
      */
     Integer updateOrderItemReturnNum(SalesOrderItem salesOrderItem);
+
+    /**
+     * 查询售后短信签名
+     */
+    List<SmsSignatureInfo> listSmsSignatureInfo(SmsSignatureInfo smsSignatureInfo);
+
+    /**
+     * 查询售后短信模板
+     */
+    List<SmsTemplateInfo> listSmsTemplateInfo(SmsTemplateInfo smsTemplateInfo);
 }

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

@@ -1697,8 +1697,20 @@
         ORDER BY soi.sales_create_time DESC
     </select>
 
-    <select id="getAfterrulesInfo" parameterType="Integer" resultType="AfterrulesInfo">
-        select * from tb_rst_afterrules_info
-        WHERE store_id = #{storeId}
+    <select id="listSmsSignatureInfo" parameterType="SmsSignatureInfo" resultType="SmsSignatureInfo">
+        select * from tb_rst_smsSignature_info
+        <where>
+            <if test="smsSignatureId != null and smsSignatureId != '' ">
+                smsSignature_id = #{smsSignatureId}
+            </if>
+        </where>
+    </select>
+    <select id="listSmsTemplateInfo" parameterType="SmsTemplateInfo" resultType="SmsTemplateInfo">
+        SELECT * from tb_rst_smsTemplate_info
+        <where>
+            <if test="smsSignatureId != null and smsSignatureId != '' ">
+                smsSignature_id = #{smsSignatureId}
+            </if>
+        </where>
     </select>
 </mapper>

+ 79 - 9
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AdminSalesOrderController.java

@@ -1,14 +1,7 @@
 package com.iamberry.rst.controllers.order;
 
-import com.iamberry.rst.core.cm.CompanyInfo;
-import com.iamberry.rst.core.cm.SalesOrder;
-import com.iamberry.rst.core.cm.SalesOrderItem;
-import com.iamberry.rst.core.cm.StoreInfo;
-import com.iamberry.rst.core.order.AfterrulesInfo;
-import com.iamberry.rst.core.order.OrderBatch;
-import com.iamberry.rst.core.order.OrderCorrectInfo;
-import com.iamberry.rst.core.order.ProductColor;
-import com.iamberry.rst.core.order.ProductType;
+import com.iamberry.rst.core.cm.*;
+import com.iamberry.rst.core.order.*;
 import com.iamberry.rst.core.page.PagedResult;
 import com.iamberry.rst.core.sys.Admin;
 import com.iamberry.rst.core.tools.LogisticsInfo;
@@ -19,10 +12,14 @@ import com.iamberry.rst.faces.order.EfastOrderService;
 import com.iamberry.rst.faces.order.LogisticsInfoService;
 import com.iamberry.rst.faces.order.OrderBatchService;
 import com.iamberry.rst.faces.product.ProductService;
+import com.iamberry.rst.faces.sms.SmsService;
+import com.iamberry.rst.util.SmsConfig;
 import com.iamberry.rst.utils.*;
+import com.iamberry.wechat.tools.NameUtils;
 import com.iamberry.wechat.tools.ResponseJson;
 import net.sf.json.JSONArray;
 import net.sf.json.JSONObject;
+import org.apache.commons.codec.binary.Base64;
 import org.apache.commons.lang.StringUtils;
 import org.apache.poi.hssf.usermodel.*;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
@@ -41,6 +38,7 @@ import javax.servlet.ServletOutputStream;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.*;
+import java.text.MessageFormat;
 import java.text.SimpleDateFormat;
 import java.util.*;
 
@@ -72,6 +70,8 @@ public class AdminSalesOrderController {
     private LogisticsInfoService logisticsInfoService;
     @Autowired
     private KuaiDi100 kuaidi100;
+    @Autowired
+    private SmsService smsService;
     /**
      * 分页查询订单列表信息
      * @param request
@@ -1551,4 +1551,74 @@ public class AdminSalesOrderController {
         mv.addObject("afterrulesInfo", afterrulesInfo);
         return mv;
     }
+
+    /**
+     * 进入发送售后短信页面
+     * @param request
+     * @return
+     */
+    @RequestMapping("/to_sendAfterSalesSms")
+    public ModelAndView to_sendAfterSalesSms(HttpServletRequest request){
+        ModelAndView mv = new ModelAndView("order/salesOrder/send_sms");
+        //查询所有短信签名
+        List<SmsSignatureInfo> signatures = salesOrderService.listSmsSignatureInfo(null);
+        //查询所有短信模板
+        SmsTemplateInfo smsTemplateInfo = new SmsTemplateInfo();
+        smsTemplateInfo.setSmsSignatureId(signatures.get(0).getSmsSignatureId());
+        List<SmsTemplateInfo> templates = salesOrderService.listSmsTemplateInfo(smsTemplateInfo);
+        mv.addObject("signatures",signatures);
+        mv.addObject("templates",templates);
+        mv.addObject("templatesOne",templates.get(0).getSmsTemplateInfo());
+        mv.addObject("templatesDesc",templates.get(0).getSmsTemplateDesc());
+        return mv;
+    }
+
+    /**
+     * 根据签名id查询模板
+     * @param request
+     * @return
+     */
+    @ResponseBody
+    @RequestMapping("/get_templates")
+    public ResponseJson getTemplates(HttpServletRequest request,Integer smsSignatureId) throws Exception {
+        ResponseJson responseJson = ResponseJson.getSUCCESS();
+        if (smsSignatureId == null) {
+            return new ResponseJson(500, "未获取到参数!", 500);
+        }
+        //查询签名
+        SmsTemplateInfo smsTemplateInfo = new SmsTemplateInfo();
+        smsTemplateInfo.setSmsSignatureId(smsSignatureId);
+        List<SmsTemplateInfo> templates = salesOrderService.listSmsTemplateInfo(smsTemplateInfo);
+        responseJson.addResponseKeyValue("templates",templates);
+        responseJson.addResponseKeyValue("templatesOne",templates.get(0).getSmsTemplateInfo());
+        responseJson.addResponseKeyValue("templatesDesc",templates.get(0).getSmsTemplateDesc());
+        return responseJson;
+
+    }
+
+    /**
+     * 发送短信
+     *
+     * @param request
+     * @return
+     */
+    @ResponseBody
+    @RequestMapping("/send_afterSales_sms")
+    public ResponseJson sendAfterSalesSms(HttpServletRequest request, SmsSignatureInfo smsSignatureInfo,SmsTemplateInfo smsTemplateInfo,String phone) throws Exception {
+        if (smsSignatureInfo.getSmsSignatureId() == null || smsTemplateInfo.getSmsTemplateInfo() == null|| phone == null) {
+            return new ResponseJson(500, "未获取到参数!", 500);
+        }
+        //查询签名
+        List<SmsSignatureInfo>  listEmsSignatureInfo = salesOrderService.listSmsSignatureInfo(smsSignatureInfo);
+        StringBuffer text = new StringBuffer(listEmsSignatureInfo.get(0).getSmsSignatureInfo());
+        text.append(smsTemplateInfo.getSmsTemplateInfo());
+        logger.info("给 " + phone + " 手机用户发送售后短信:" + text);
+        String result = smsService.sendOtherCMS(phone.trim(), text.toString());
+
+        if ("SUCCESS".equals(result)) {
+            return new ResponseJson(200, "发送短信成功!", 200);
+        } else {
+            return new ResponseJson(500, "发送短信失败,失败原因:" + result, 500);
+        }
+    }
 }

+ 3 - 0
watero-rst-web/src/main/resources/watero-rst-orm.xml

@@ -196,6 +196,9 @@
         <!-- scm - 上朵定制 -->
         <typeAlias type="com.iamberry.rst.core.scm.ScmOrderInfo" alias="ScmOrderInfo"/>
         <typeAlias type="com.iamberry.rst.core.scm.ScmOrderItem" alias="ScmOrderItem"/>
+
+		<typeAlias type="com.iamberry.rst.core.order.SmsTemplateInfo" alias="SmsTemplateInfo"/>
+		<typeAlias type="com.iamberry.rst.core.order.SmsSignatureInfo" alias="SmsSignatureInfo"/>
 	</typeAliases>
 	<!-- PageHelper -->
 	<plugins>

Datei-Diff unterdrückt, da er zu groß ist
+ 46 - 25
watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/custome_list.ftl


+ 16 - 9
watero-rst-web/src/main/webapp/WEB-INF/views/home/pc_index.ftl

@@ -10,20 +10,21 @@
     <link rel="Shortcut Icon" href="/favicon.ico" />
     <#include "/base/index_base.ftl">
     <style>
-        .Hui-aside{top:60px;padding-top: 0;background-color: #32a3d8;}
+        .Hui-aside{top:60px;padding-top: 0;background-color: #292f36;width:158px;}
         .container-fluid{padding: 8px 15px;}
         #Hui-userbar{top:8px;}
-        .Hui-article-box{top:60px;}
-        .navbar{background: #32a3d8;}
+        .Hui-article-box{top:59px;}
+        .navbar{background: #fff;}
         .navbar-slogan{font-size: 14px;}
         .Hui-aside .menu_dropdown dt{border-bottom: 0;}
-        .Hui-aside .menu_dropdown dt {color: #fff;  background: #32a3d8;  }
-        .Hui-aside .menu_dropdown dt.selected{background: #5fb9e4;color:#fff;border-left: 4px solid #fff;}
-        .Hui-aside .menu_dropdown dt:hover {  color: #f0f0f0;  }
+        .Hui-aside .menu_dropdown dt {color: #fff;  background: #292f36;  }
+        .Hui-aside .menu_dropdown dt.selected{background: #50a2ea;color:#fff;border-left: 4px solid #1f6eb3;}
+        .Hui-aside .menu_dropdown dt:hover {  color: #f0f0f0 !important;  }
         .Hui-aside .menu_dropdown dt .Hui-iconfont {  color: #fff;  }
         .menu_dropdown dt .menu_dropdown-arrow {  color: #fff;  }
-        .Hui-aside .menu_dropdown dd ul{background: #32a3d8;  }
-        .Hui-aside .menu_dropdown li a{color: #fff;}
+        .Hui-aside .menu_dropdown dd ul{background: #292f36;  }
+        .Hui-aside .menu_dropdown li a{color: #94a0b5;}
+        .Hui-aside .menu_dropdown li.active a{color: #50a2ea;}
         .acrossTab li{color: #ddd;}
         .acrossTab li.active{color:#fff;}
     </style>
@@ -60,7 +61,9 @@
     <div class="menu_dropdown bk_2">
         <#list menus as m>
             <dl>
-                <dt><i class="Hui-iconfont">${m.menuIcon}</i> ${m.menuName}<i class="Hui-iconfont menu_dropdown-arrow">&#xe6d5;</i></dt>
+                <dt><i class="Hui-iconfont">${m.menuIcon}</i> ${m.menuName}
+                    <#--<i class="Hui-iconfont menu_dropdown-arrow">&#xe6d5;</i>-->
+                </dt>
                 <dd>
                     <ul>
                         <#list m.subMenus as s>
@@ -192,5 +195,9 @@
         $("#iframe_box").append('<div class="show_iframe">' +
                 '<div style="display: none" class="loading"></div><iframe id="indexframe" scrolling="yes" frameborder="0" src="'+url+'"></iframe></div>');
     }
+    $(document).on('click', ' .Hui-aside .menu_dropdown dd li', function() {
+        $(this).addClass("active").siblings().removeClass("active");
+    });
+
 </script>
 </html>

+ 5 - 0
watero-rst-web/src/main/webapp/WEB-INF/views/order/salesOrder/sales_order_list.ftl

@@ -111,6 +111,7 @@
                 <input type="text" class="my-input trim_input"  style="margin-top: -3px;width:118px;margin-right: 0px;height: 28px;padding: 0px;" value="${salesOrder.salesAddressInfo!}" placeholder="收货人地址" name="salesAddressInfo" id="salesAddressInfo">
                 <button type="submit" class="btn" style="background: #32a3d8;color: #fff;-webkit-transform:translateY(-5%);height: 30px;" id="">搜索</button>
                 <button type="button" class="btn" style="background: #32a3d8;color: #fff;-webkit-transform:translateY(-5%);height: 30px;" id="order_excel">下载Efast格式订单</button>
+                <button type="button" class="btn" style="background: #32a3d8;color: #fff;-webkit-transform:translateY(-5%);height: 30px;" id="send_sms" onclick="sendEms();">发送售后短信</button>
             </div>
         </form>
     </div>
@@ -899,6 +900,10 @@ function isConfirm(salesOrderIds,isSplit) {
         function getAfterrulesInfo(salesId){
             layer_show("查看售后信息","${path}/admin/salesOrder/getAfterrulesInfo?salesId="+salesId,'570','450');
         }
+
+        function sendEms(){
+            layer_show("发送短信","${path}/admin/salesOrder/to_sendAfterSalesSms",'670','550');
+        }
     </script>
 </body>
 </html>

+ 169 - 0
watero-rst-web/src/main/webapp/WEB-INF/views/order/salesOrder/send_sms.ftl

@@ -0,0 +1,169 @@
+<!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;}
+        .tit-2:after{content: '';position: absolute;left: 0;top: 20%;height: 60%;width: 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: 25px;}
+        .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: 150px;}
+
+        .all_down{text-decoration: underline;color: #00c;}
+    </style>
+    <title>订单列表 - 发送短信 - RST</title>
+</head>
+<body>
+<article class="page-container" style="padding: 10px;">
+    <div class="pd-20 cl">
+        <form action="${path}/admin/salesOrder/add_salesOrder" method="post" class="form form-horizontal" id="form-order-add"  onkeydown="if(event.keyCode==13)return false;">
+
+            <div class="row cl">
+                <label class="form-label col-3">
+                    <div class="tit-2">发送短信</div>
+                </label>
+                <div class="formControls col-9">
+                </div>
+            </div>
+            <div class="row cl" id="">
+                <label class="form-label col-1 col-sm-1" style="float: left;text-align: right;">客户手机:</label>
+                <div class="formControls col-9 col-sm-9" style="float: left;">
+                    <input type="text" class="input-text" value="" placeholder="填写客户手机" id="phone" name="phone" >
+                </div>
+            </div>
+            <div class="row cl" style="">
+                <label class="form-label col-1 col-sm-1" style="float: left;text-align: right;">短信签名:</label>
+                <div class="formControls col-9 col-sm-9" style="float: left;">
+                    <span class="select-box">
+                        <select class="select" id="smsSignatureId" name="smsSignatureId" >
+                        <#list signatures as signature>
+                            <option value="${signature.smsSignatureId}" >${signature.smsSignatureInfo}</option>
+                        </#list>
+                        </select>
+				    </span>
+                </div>
+            </div>
+            <div class="row cl">
+                <label class="form-label col-1 col-sm-1"style="float: left;text-align: right;">短信模板:</label>
+                <div class="formControls col-9 col-sm-9" style="float: left;">
+                    <span class="select-box">
+                        <select class="select" id="templateId">
+                            <#list templates as template>
+                                <option value="${template.smsTemplateId}" >${template.smsTemplateInfo}</option>
+                            </#list>
+                        </select>
+				    </span>
+                    <span id="spanid" style="color: #D6E6DA">${templatesOne!''}</span>
+                </div>
+            </div>
+            <div class="row cl" id="" style="">
+                <label class="form-label col-1 col-sm-1"style="float: left;text-align: right;">短信内容:</label>
+                <div class="formControls col-9 col-sm-9"style="float: left;">
+                    <textarea name="smsTemplateInfo" id="smsTemplateInfo" cols="" rows="2"  class="textarea">${templatesOne!''}</textarea>
+                    <span id="spanidtwo" style="color: #D6E6DA">${templatesDesc!''}</span>
+                </div>
+            </div>
+            <div class="row cl" id="" style="">
+                <label class="form-label col-1 col-sm-1"style="float: left;text-align: right;"></label>
+                <div class="formControls col-5 col-sm-5"style="float: left;">
+                    <button class="btn btn-block btn-primary size-XL" type="button" onclick="send();">确认发送</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">
+    $("#smsSignatureId").change(function (){
+        $.ajax({
+            type:'POST',
+            url: '${path}/admin/salesOrder/get_templates',
+            data:{
+                "smsSignatureId" : $("#smsSignatureId").val()
+            },
+            dataType: 'json',
+            success:function(res) {
+                if(res.resultCode == 200 && res.returnCode == 200){
+                    $("#templateId").empty();
+                    $(res.returnMsg.templates).each(function (){
+                        $("#templateId").append("<option value='"+ this.smsTemplateId +"'>"+ this.smsTemplateInfo +"</option>");
+
+                    });
+                    $("#spanid").html(res.returnMsg.templatesOne);
+                    $("#smsTemplateInfo").html(res.returnMsg.templatesOne);
+                    $("#smsTemplateInfo").val(res.returnMsg.templatesOne);
+                    $("#spanidtwo").html(res.returnMsg.templatesDesc);
+                }
+            }
+        });
+    });
+
+    function send() {
+       var phone = $("#phone").val();
+       var smsSignatureId = $("#smsSignatureId").val();
+       var smsTemplateInfo = $("#smsTemplateInfo").val();
+        //手机验证
+        if(phone == null || phone.length > 20){
+            layer.msg("手机号不能为空或格式错误",{icon: 5,time:3000});
+            return;
+        }
+        if(smsTemplateInfo == null){
+            layer.msg("短信模板不能为空",{icon: 5,time:3000});
+            return;
+        }
+        $.ajax({
+            type:'POST',
+            url: '${path}/admin/salesOrder/send_afterSales_sms',
+            data:{
+                "phone" : phone,
+                "smsSignatureId" : smsSignatureId,
+                "smsTemplateInfo" : smsTemplateInfo
+            },
+            dataType: 'json',
+            success:function(res) {
+                if(res.resultCode == 200 && res.returnCode == 200){
+                    layer.alert("发送成功!");
+                }else{
+                    layer.alert("发送失败!");
+                }
+            }
+        });
+    }
+
+</script>
+</body>
+</html>

BIN
watero-rst-web/src/main/webapp/common/images/index/admin-login.png


BIN
watero-rst-web/src/main/webapp/common/images/pts/select-11.png


BIN
watero-rst-web/src/main/webapp/common/images/pts/select-dw.png


BIN
watero-rst-web/src/main/webapp/common/images/pts/select-up.png


BIN
watero-rst-web/src/main/webapp/common/images/select-1.png


+ 6 - 3
watero-rst-web/src/main/webapp/common/static/h-ui.admin/css/H-ui.admin.css

@@ -19,7 +19,7 @@ h4{line-height:30px}
 /*页面框架*/
 .Hui-header{position:absolute;top:0; right:0; left:0;height:44px;z-index:999; padding:0 15px}
 .Hui-aside{position: absolute;top:44px;bottom:0;left:0;padding-top:10px;width:199px;z-index:99;overflow:auto; background-color:#58d1eb;_background-color:#58d1eb;border-right: 1px solid #e5e5e5}
-.Hui-article-box{position: absolute;top:44px;right:0;bottom: 0;left:199px; overflow:hidden; z-index:1; background-color:#fff}
+.Hui-article-box{position: absolute;top:44px;right:0;bottom: 0;left:158px; overflow:hidden; z-index:1; background-color:#fff}
 	.Hui-article{position: absolute;top:34px;bottom:0;left:0; right:0;overflow:auto;z-index:1}
 .Hui-container{ padding:45px 0 0}
 .Hui-aside,.Hui-article-box,.dislpayArrow{-moz-transition: all 0.2s ease 0s;-webkit-transition: all 0.2s ease 0s;-ms-transition: all 0.2s ease 0s;-o-transition: all 0.2s ease 0s;transition: all 0.2s ease 0s}
@@ -56,12 +56,13 @@ h4{line-height:30px}
 .Hui-aside .menu_dropdown li a{padding-left:15px; display:block;font-weight: bold; margin:0}
 .Hui-aside .menu_dropdown li a i{ font-weight: normal}
 .Hui-aside .menu_dropdown dd ul{padding:3px 8px}
-.Hui-aside .menu_dropdown dd li{line-height:32px}
+.Hui-aside .menu_dropdown dd li{line-height:32px;text-indent: 0.5em;position: relative}
+.Hui-aside .menu_dropdown dd li.active:after{ content: '';position: absolute;width: 8px;height: 8px;left: 20px;top: 17px;border-radius: 8px;background: #fff;}
 .Hui-aside .menu_dropdown dd li a{line-height:42px;padding-left:26px; border-bottom:none; font-weight:normal}
 .Hui-aside .menu_dropdown li a:hover{text-decoration:none}
 .Hui-aside .menu_dropdown li.current a,.menu_dropdown li.current a:hover{background-color:#89e4f8;}
 /*菜单收缩切换*/
-.dislpayArrow{position: absolute;top: 0;bottom: 0;left:200px;width:0px; height:100%;z-index:10}
+.dislpayArrow{position: absolute;top: 0;bottom: 0;left:158px;width:0px; height:100%;z-index:10}
 .dislpayArrow a{ position:absolute; display:block; width:17px; height:61px;top:50%; margin-top:-30px;outline:none}
 .dislpayArrow a.open{ background-position:0 -61px}
 .dislpayArrow a:hover{ text-decoration:none; background-position:right 0}
@@ -73,6 +74,7 @@ h4{line-height:30px}
 .Hui-tabNav .acrossTab li
 ,.Hui-tabNav .acrossTab li em{background-image:url(../images/acrossTab/acrossTab-2.png)}
 .Hui-tabNav{height:35px; padding-right:75px;overflow:hidden; position:relative;background-color: #FFFFFF; background-repeat: repeat-x; background-position: 0 -175px;}
+.Hui-article-box .Hui-tabNav:after{content: '';position: absolute;left: 0;top: 1px;width: 100%;height: 1px;background: #50a2ea; }
 .Hui-tabNav .acrossTab{ position:absolute; height:26px; line-height:26px; background:none; top:8px; left:0;padding-top:0}
 .Hui-tabNav .acrossTab li{height:26px;line-height:26px;}
 .Hui-tabNav .acrossTab li em{ right:-16px; height: 26px; width: 16px}
@@ -83,6 +85,7 @@ h4{line-height:30px}
 
 /*面包屑导航*/
 .breadcrumb{background-color:#fff; padding:0 20px; position:relative; z-index:99;color: #333;}
+.breadcrumb .btn{ line-height: 1.2em;margin-top: 3px;background: #fff;color: #32a3d8;border: 1px solid #fff;font-size: 1.2rem;}
 @media (max-width: 767px) {
 	.breadcrumb{ padding:0 15px;}
 	.show_iframe{-webkit-overflow-scrolling: touch;overflow-y: scroll;}

BIN
watero-rst-web/src/main/webapp/common/static/h-ui.admin/skin/default/icon_arrow.png


+ 2 - 2
watero-rst-web/src/main/webapp/common/static/h-ui.admin/skin/default/skin.css

@@ -6,8 +6,8 @@ a{color:#333}a:hover,a:focus,.maincolor,.maincolor a{color:#06c}
 	.navbar-logo,.navbar-logo-m,.navbar-slogan,.navbar-userbar{color:#fff}/*logo 及 用户信息文字颜色*/
 	.navbar-logo:hover,.navbar-logo-m:hover{color:#fff;text-decoration: none}
 	
-.navbar-nav > ul > li, .navbar-nav > ul > li > a{ color:#fff}/*顶部导航文字颜色*/
-.navbar-userbar > ul> > li,.navbar-userbar > ul> > li > a{ color:#fff}
+.navbar-nav > ul > li, .navbar-nav > ul > li > a{ color:#666}/*顶部导航文字颜色*/
+.navbar-userbar > ul> > li,.navbar-userbar > ul> > li > a{ color:#666}
 
 .Hui-aside{}/*侧边栏*/
 	.Hui-aside .menu_dropdown dt{color:#333}/*左侧二级导航菜单*/

Datei-Diff unterdrückt, da er zu groß ist
+ 1 - 1
watero-rst-web/src/main/webapp/common/static/h-ui/css/H-ui.min.css