Jelajahi Sumber

系统增加赠品订单的功能。

xian 3 tahun lalu
induk
melakukan
d47f877cc0

+ 22 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/cm/SalesOrder.java

@@ -155,6 +155,28 @@ public class SalesOrder implements Serializable {
     private Integer salesErrorState;        // 异常状态,1:无异常 2:快递遗失 3:快递破损 4:其他
     private Integer salesQuality;           // 订单产品类型:1:系统自动判断;2:良品;3:不良品
 
+    /** 是否为赠品订单:1非赠品订单、2赠品订单 */
+    private Integer salesGive;
+
+    /** 赠品订单所属销售订单 */
+    private Integer salesVestId;
+
+    public Integer getSalesGive() {
+        return salesGive;
+    }
+
+    public void setSalesGive(Integer salesGive) {
+        this.salesGive = salesGive;
+    }
+
+    public Integer getSalesVestId() {
+        return salesVestId;
+    }
+
+    public void setSalesVestId(Integer salesVestId) {
+        this.salesVestId = salesVestId;
+    }
+
     public Integer getSalesQuality() {
         return salesQuality;
     }

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

@@ -1089,7 +1089,9 @@
                 sales_belong_orderId,
                 sales_deliver,
                 sales_deliver_time,
-                sales_ex_orderId
+                sales_ex_orderId,
+                sales_give,
+                sales_vest_id
             )
         values
             (
@@ -1142,7 +1144,16 @@
                 #{salesBelongOrderId},
                 #{salesDeliver},
                 #{salesDeliverTime},
-                #{salesExOrderId}
+                #{salesExOrderId},
+                <choose>
+                    <when test="salesGive != null">
+                        #{salesGive},
+                    </when>
+                    <otherwise>
+                        1,
+                    </otherwise>
+                </choose>
+                #{salesVestId}
             )
   </insert>
 

+ 32 - 51
watero-rst-web/src/main/webapp/WEB-INF/views/dm/financialReceipt/select_order_list.ftl

@@ -65,29 +65,26 @@
             <form action="" method="post">
                 <div class="row cl" style="margin-left: 0px;margin-bottom: 10px;">
 
-                     <div class="formControls col-2 col-sm-2" style="padding: 0px 10px 0px 0px; width: 220px;" >
-                        <div id="store-select-1"  style="width: 100%;float: left;">
-                            <label>
-                                <select class="chosenDealerId" name="dealerId" id="dealerId" >
-                                    <option value="">选择客户</option>
-                                    <#if dmDealerList?? &&  (dmDealerList?size > 0) >
-                                        <#list dmDealerList as dmDealer>
-                                            <option value ="${dmDealer.dealerId!""}">${dmDealer.dealerName!""}</option>
-                                        </#list>
-                                    </#if>
-                                </select>
-                            </label>
-                        </div>
-                     </div>
-
-                    <div class="formControls col-2 col-sm-2" style="padding: 0px 10px 0px 0px; width: 110px;"> <span class="select-box">
-                        <select name="storeId" class="select" id="storeId">
-                            <option value="">选择店铺</option>
+                    <div class="formControls col-2 col-sm-2" style="padding: 0px 10px 0px 0px; width: 150px;">
+                        <select class="chosenDealerId" name="dealerId" id="dealerId" >
+                            <option value="">选择客户</option>
+                            <#if dmDealerList?? &&  (dmDealerList?size > 0) >
+                                <#list dmDealerList as dmDealer>
+                                    <option value ="${dmDealer.dealerId!""}">${dmDealer.dealerName!""}</option>
+                                </#list>
+                            </#if>
                         </select>
+                    </div>
+
+                    <div class="formControls col-2 col-sm-2" style="padding: 0px 10px 0px 0px; width: 150px;">
+                        <span class="select-box">
+                            <select name="storeId" class="select" id="storeId">
+                                <option value="">选择店铺</option>
+                            </select>
                         </span>
                     </div>
 
-                     <div class="formControls col-2 col-sm-2" style="padding: 0px 10px 0px 0px; width: 110px;display: none" > <span class="select-box">
+                     <div class="formControls col-2 col-sm-2" style="padding: 0px 10px 0px 0px; width: 150px;display: none" > <span class="select-box">
                         <select name="salesStatus" class="select" id="salesStatus"  >
                              <option value="">状态</option>
                              <option value="0" <#if salesOrder.salesStatus?? ><#if salesOrder.salesStatus == 0 >selected</#if></#if>>未确认</option>
@@ -98,7 +95,7 @@
                         </span>
                      </div>
 
-                     <div class="formControls col-2 col-sm-2" style="padding: 0px 10px 0px 0px; width: 110px;" > <span class="select-box">
+                     <div class="formControls col-2 col-sm-2" style="padding: 0px 10px 0px 0px; width: 150px;" > <span class="select-box">
                         <select name="salesReturnGoods" class="select" id="salesReturnGoods"  >
                              <option value="">是否含有退货</option>
                              <option value="1" <#if salesOrder.salesReturnGoods?? ><#if salesOrder.salesReturnGoods == 1 >selected</#if></#if>>无退货</option>
@@ -107,7 +104,7 @@
                         </span>
                      </div>
 
-                     <div class="formControls col-2 col-sm-2" style="padding: 0px 10px 0px 0px; width: 110px;" > <span class="select-box">
+                     <div class="formControls col-2 col-sm-2" style="padding: 0px 10px 0px 0px; width: 150px;" > <span class="select-box">
                         <select name="orderIscostTotal" class="select" id="orderIscostTotal"  >
                              <option value ="">是否认领</option>
                              <option <#if (salesOrder.orderIscostTotal)??><#if salesOrder.orderIscostTotal == 1>selected="selected"</#if></#if> value ="1" >已认领</option>
@@ -116,7 +113,7 @@
                         </span>
                      </div>
 
-                     <div class="formControls col-2 col-sm-2" style="padding: 0px 10px 0px 0px; width: 220px;" >
+                     <div class="formControls col-2 col-sm-2" style="padding: 0px 10px 0px 0px; width: 150px;" >
                          <div  style="width: 100%;float: left;">
                              <label>
                                  <select class="chosenColorId "name="colorId" id="colorId"  >
@@ -135,23 +132,23 @@
 
 
                 <div class="row cl" style="margin-left: 0px;">
-                    <div class="formControls col-2 col-sm-2"  style="padding: 0px 10px 0px 0px; width: 110px;">
+                    <div class="formControls col-2 col-sm-2"  style="padding: 0px 10px 0px 0px; width: 150px;">
                         <input type="text" class="input-text" value="" placeholder="订单号" id="salesOrderId" name="">
                     </div>
 
-                    <div class="formControls col-2 col-sm-2" style="padding: 0px 10px 0px 0px; width: 110px;" >
+                    <div class="formControls col-2 col-sm-2" style="padding: 0px 10px 0px 0px; width: 150px;" >
                         <input type="text" class="input-text" value="" placeholder="收货人姓名" id="salesAddressName" name="">
                     </div>
 
-                    <div class="formControls col-2 col-sm-2" style="padding: 0px 10px 0px 0px; width: 110px;">
+                    <div class="formControls col-2 col-sm-2" style="padding: 0px 10px 0px 0px; width: 150px;">
                         <input type="text" class="input-text" value="" placeholder="收货人电话" id="salesAddressTel" name="">
                     </div>
 
-                    <div class="formControls col-4 col-sm-4" style="padding: 0px 10px 0px 0px; width: 125px;">
-                        <input type="text" style="width:120px;height:30px;margin-right: 0px;font-size: 9px;" name="startDate" id="startDate" class="input-text" placeholder="开始时间" onClick="WdatePicker({ dateFmt:'yyyy-MM-dd HH:mm:ss'})"  readonly="readonly"/>
+                    <div class="formControls col-4 col-sm-4" style="padding: 0px 10px 0px 0px; width: 150px;">
+                        <input type="text" name="startDate" id="startDate" class="input-text" placeholder="开始时间" onClick="WdatePicker({ dateFmt:'yyyy-MM-dd HH:mm:ss'})"  readonly="readonly"/>
                     </div>
-                    <div class="formControls col-4 col-sm-4" style="padding: 0px 10px 0px 0px; width: 125px;">
-                        <input type="text" style="width:120px;height:30px;margin-right: 0px;font-size: 9px;" name="endDate" id="endDate" class="input-text" placeholder="结束时间" onClick="WdatePicker({ dateFmt:'yyyy-MM-dd HH:mm:ss'})"  readonly="readonly"/>
+                    <div class="formControls col-4 col-sm-4" style="padding: 0px 10px 0px 0px; width: 150px;">
+                        <input type="text" name="endDate" id="endDate" class="input-text" placeholder="结束时间" onClick="WdatePicker({ dateFmt:'yyyy-MM-dd HH:mm:ss'})"  readonly="readonly"/>
                     </div>
 
                     <div class="formControls col-1 col-sm-1" >
@@ -326,7 +323,7 @@
             if($(this).is(':checked')){
                 orderIds += $(this).val() + "_";
             }
-        })
+        });
         parent.showSelectOrder(orderIds);
         parent.layer.close(parent.layer.getFrameIndex(window.name));
     }
@@ -382,8 +379,7 @@
 //        group_search: false, //选项组是否可搜。此处搜索不可搜
 //        include_group_label_in_selected: true //选中选项是否显示选项分组。false不显示,true显示。默认false。
 //    });
-
-    $('.chosenDealerId').chosen({
+    var config = {
         no_results_text: "没有找到结果!",//搜索无结果时显示的提示
         search_contains:true,   //关键字模糊搜索。设置为true,只要选项包含搜索词就会显示;设置为false,则要求从选项开头开始匹配
         allow_single_deselect:true, //单选下拉框是否允许取消选择。如果允许,选中选项会有一个x号可以删除选项
@@ -391,31 +387,16 @@
         disable_search_threshold: 0, //当选项少等于于指定个数时禁用搜索。
         inherit_select_classes: true, //是否继承原下拉框的样式类,此处设为继承
         placeholder_text_single: '选择国家', //单选选择框的默认提示信息,当选项为空时会显示。如果原下拉框设置了data-placeholder,会覆盖这里的值。
-        width: '210px', //设置chosen下拉框的宽度。即使原下拉框本身设置了宽度,也会被width覆盖。
-        max_shown_results: 1000, //下拉框最大显示选项数量
-        display_disabled_options: false,
-        single_backstroke_delete: false, //false表示按两次删除键才能删除选项,true表示按一次删除键即可删除
-        case_sensitive_search: false, //搜索大小写敏感。此处设为不敏感
-        group_search: false, //选项组是否可搜。此处搜索不可搜
-        include_group_label_in_selected: true //选中选项是否显示选项分组。false不显示,true显示。默认false。
-    });
-
-    $('.chosenColorId').chosen({
-        no_results_text: "没有找到结果!",//搜索无结果时显示的提示
-        search_contains:true,   //关键字模糊搜索。设置为true,只要选项包含搜索词就会显示;设置为false,则要求从选项开头开始匹配
-        allow_single_deselect:true, //单选下拉框是否允许取消选择。如果允许,选中选项会有一个x号可以删除选项
-        disable_search: false, //禁用搜索。设置为true,则无法搜索选项。
-        disable_search_threshold: 0, //当选项少等于于指定个数时禁用搜索。
-        inherit_select_classes: true, //是否继承原下拉框的样式类,此处设为继承
-        placeholder_text_single: '选择产品', //单选选择框的默认提示信息,当选项为空时会显示。如果原下拉框设置了data-placeholder,会覆盖这里的值。
-        width: '210px', //设置chosen下拉框的宽度。即使原下拉框本身设置了宽度,也会被width覆盖。
+        width: '150px', //设置chosen下拉框的宽度。即使原下拉框本身设置了宽度,也会被width覆盖。
         max_shown_results: 1000, //下拉框最大显示选项数量
         display_disabled_options: false,
         single_backstroke_delete: false, //false表示按两次删除键才能删除选项,true表示按一次删除键即可删除
         case_sensitive_search: false, //搜索大小写敏感。此处设为不敏感
         group_search: false, //选项组是否可搜。此处搜索不可搜
         include_group_label_in_selected: true //选中选项是否显示选项分组。false不显示,true显示。默认false。
-    });
+    };
+    $('.chosenDealerId').chosen(config);
+    $('.chosenColorId').chosen(config);
 
 </script>
 </body>

+ 38 - 16
watero-rst-web/src/main/webapp/WEB-INF/views/order/salesOrder/add_order.ftl

@@ -69,6 +69,20 @@
                     </select>
                 </div>
             </div>
+
+            <div class="row cl">
+                <label class="form-label col-1 col-sm-1">赠品订单:</label>
+                <div class="formControls col-2 col-sm-2">
+                    <select class="select" name="salesGive" id="salesGive">
+                        <option value="1">非赠品订单</option>
+                        <option value="2">赠品订单</option>
+                    </select>
+                </div>
+                <span class="give-sales-order btn btn-primary" id="select-give-order-btn" style="margin-left: 2%;">选择所属销售订单</span>
+                <span class="give-sales-order" id="give-sales-order" style="height: 31px;background-color: #e4e4e4;display: inline-block;vertical-align: middle;padding-top: 5px;padding-left: 10px;padding-right: 10px;">当前未选择所属销售订单!</span>
+                <input type="hidden" id="give-sales-order-input" name="salesVestId">
+            </div>
+
             <div class="row cl" id="salesCustomer" style="display: none;">
                 <label class="form-label col-1 col-sm-1"></label>
                 <div class="formControls col-2 col-sm-2" style="margin-left: 9.6%;width: 100%;color: #c00;">
@@ -291,6 +305,23 @@
 <script type="text/javascript" charset="utf-8" src="${path}/common/js/salesOrder/salesOrder.js"></script>
 
 <script type="text/javascript">
+    $(function() {
+       $("#salesGive").change(function() {
+           select_give_order();
+       }) ;
+       $("#select-give-order-btn").click(function() {
+           layer_show("搜索订单",url_path + "/admin/financial_receipt/to_select_order?salesStatus=1&orderIscostTotal=2","1200","550");
+       });
+        select_give_order();
+       function select_give_order() {
+           let val = $("#salesGive").val();
+           if (val === "1") {
+               $(".give-sales-order").hide();
+           } else {
+               $(".give-sales-order").show();
+           }
+       }
+    });
     var date = new Date();
     var newyear = date.getFullYear();
     var newmonth = date.getMonth() + 1;
@@ -320,19 +351,6 @@
        }
     });
 
-    /*$("#store_1").on("input",function(){
-        var $options=$("#datalist_1").children();
-
-        for(var i=0;i<$options.length;i++){
-            if($options.eq(i).val().trim()==$("#store_1").val().trim()){
-                $("#salesStoreId").val($options.eq(i).attr("data-id"));
-                break;
-            }else{
-                $("#salesStoreId").val("");
-            }
-        }
-    });*/
-
     /*是否为修改*/
     const isUpdate = false;
 
@@ -392,9 +410,13 @@
         search_contains:false,
         enable_split_word_search: true //分词搜索,选项词可通过空格或'[]'分隔。search_contains为false时才能看出效果
     });
-</script>
-
-
 
+    /** 选择主订单以后回调 */
+    function showSelectOrder(id) {
+        let selectOrder = id.split("_")[0];
+        $("#give-sales-order").text("当前选择:" + selectOrder);
+        $("#give-sales-order-input").val(selectOrder);
+    }
+</script>
 </body>
 </html>

+ 4 - 1
watero-rst-web/src/main/webapp/WEB-INF/views/order/salesOrder/sales_order_detail.ftl

@@ -139,8 +139,11 @@
                 </td>
             </tr>
             <tr>
+                <th width="10">赠品订单:</th>
+                <td width="10" style="font-weight: normal;">${(order.salesGive == 1)?string("非赠品订单","赠品订单")}(${(order.salesVestId)!})</td>
+
                 <th width="10">异常信息:</th>
-                <td width="10" colspan="4">
+                <td width="10" colspan="2">
                     <#if order.salesErrorState == 1>无异常
                     <#elseif order.salesErrorState == 2><span style="color: red">快递遗失</span>
                     <#elseif order.salesErrorState == 3><span style="color: red">快递破损</span>

+ 50 - 4
watero-rst-web/src/main/webapp/WEB-INF/views/order/salesOrder/update_order.ftl

@@ -63,16 +63,16 @@
 
             <div class="row cl">
 
-                <input type="hidden" name="salesId" id="salesId" value="${order.salesId}">
-                <input type="hidden" name="salesDealCode" id="salesDealCode" value="${order.salesDealCode}">
+                <input type="hidden" name="salesId" id="salesId" value="${(order.salesId)!}">
+                <input type="hidden" name="salesDealCode" id="salesDealCode" value="${(order.salesDealCode)!}">
 
                 <label class="form-label col-1 col-sm-1">订单编号:</label>
                 <div class="formControls col-1 col-sm-1" style="padding-top: 3px;">
-                    ${order.salesId}
+                    ${(order.salesId)!}
                 </div>
                 <label class="form-label col-1 col-sm-1">订单交易号:</label>
                 <div class="formControls col-2 col-sm-2" style="padding-top: 3px;">
-                    ${order.salesDealCode}
+                    ${(order.salesDealCode)!}
                 </div>
             </div>
 
@@ -111,6 +111,27 @@
             </div>
 
             <div class="row cl">
+                <label class="form-label col-1 col-sm-1">赠品订单:</label>
+                <div class="formControls col-2 col-sm-2">
+                    <span class="select-box">
+                        <select class="select" name="salesGive" id="salesGive">
+                            <option <#if order.salesGive == 1>selected</#if> value="1">非赠品订单</option>
+                            <option <#if order.salesGive == 2>selected</#if> value="2">赠品订单</option>
+                        </select>
+                    </span>
+                </div>
+                <span class="give-sales-order btn btn-primary" id="select-give-order-btn" style="margin-left: 2%;">选择所属销售订单</span>
+                <span class="give-sales-order" id="give-sales-order" style="height: 31px;background-color: #e4e4e4;display: inline-block;vertical-align: middle;padding-top: 5px;padding-left: 10px;padding-right: 10px;">
+                    <#if (order.salesVestId)??>
+                        选择订单:${(order.salesVestId)!}
+                    <#else>
+                        当前未选择所属销售订单!
+                    </#if>
+                </span>
+                <input type="hidden" value="${(order.salesVestId)!}" id="give-sales-order-input" name="salesVestId">
+            </div>
+
+            <div class="row cl">
                 <label class="form-label col-1 col-sm-1">批次编号:</label>
                 <div class="formControls col-2 col-sm-2" style="">
                     ${order.salesBatchId!''}
@@ -356,6 +377,31 @@
 </script>
 
 <script type="text/javascript">
+    $(function() {
+        $("#salesGive").change(function() {
+            select_give_order();
+        }) ;
+        $("#select-give-order-btn").click(function() {
+            layer_show("搜索订单",url_path + "/admin/financial_receipt/to_select_order?salesStatus=1&orderIscostTotal=2","1200","550");
+        });
+        select_give_order();
+        function select_give_order() {
+            let val = $("#salesGive").val();
+            if (val === "1") {
+                $(".give-sales-order").hide();
+            } else {
+                $(".give-sales-order").show();
+            }
+        }
+    });
+
+    /** 选择主订单以后回调 */
+    function showSelectOrder(id) {
+        let selectOrder = id.split("_")[0];
+        $("#give-sales-order").text("当前选择:" + selectOrder);
+        $("#give-sales-order-input").val(selectOrder);
+    }
+
     $('.skin-minimal input').iCheck({
         checkboxClass: 'icheckbox-blue',
         radioClass: 'iradio-blue',

+ 10 - 0
watero-rst-web/src/main/webapp/common/js/salesOrder/salesOrder.js

@@ -107,6 +107,16 @@ $(function(){
                     return false;
                 }
             }
+            let salesGive = $("#salesGive").val();
+            if (salesGive === "2") {
+                let giveId = $("#give-sales-order-input").val();
+                if (!isEmpty(giveId)) {
+                    layer.msg("赠品订单必须选择所属的销售订单", {icon: 5, time: 3000});
+                    return false;
+                }
+            } else {
+                $("#give-sales-order-input").val("");
+            }
 
             //检测颜色与店铺之间关系
             if(!storeProductColor()){