Переглянути джерело

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

wangxiaoming 5 роки тому
батько
коміт
2a5a5d135c

+ 8 - 0
watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/ComplaintQuestionInfoService.java

@@ -3,6 +3,8 @@ package com.iamberry.rst.faces.cm;
 import com.iamberry.rst.core.cm.ComplaintQuestionInfo;
 import com.iamberry.rst.core.page.PagedResult;
 
+import java.util.List;
+
 /**
  * 客诉-客诉问题Service
  */
@@ -36,4 +38,10 @@ public interface ComplaintQuestionInfoService {
      */
     PagedResult<ComplaintQuestionInfo> listComplaintQuestionInfo(int pageNO, int pageSize, ComplaintQuestionInfo complaintQuestionInfo, boolean isTotalNum);
 
+    /**
+     * 查询所有客诉类型
+     * @return
+     */
+    List<ComplaintQuestionInfo> listQuestionAll(ComplaintQuestionInfo complaintQuestionInfo);
+
 }

+ 6 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/ComplaintQuestionInfoServiceImpl.java

@@ -45,5 +45,11 @@ public class ComplaintQuestionInfoServiceImpl implements ComplaintQuestionInfoSe
         return PageUtil.getPage(list);
     }
 
+    @Override
+    public List<ComplaintQuestionInfo> listQuestionAll(ComplaintQuestionInfo complaintQuestionInfo) {
+        List<ComplaintQuestionInfo> list = complaintDetectInfoMapper.listComplaintQuestionInfo(complaintQuestionInfo);
+        return list;
+    }
+
 
 }

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

@@ -501,8 +501,9 @@
             pt.type_name
         FROM
             tb_rst_sales_order_item
-      LEFT JOIN tb_rst_product_info pi ON tb_rst_sales_order_item.item_product_id = pi.product_id
+
       LEFT JOIN tb_rst_product_color pc ON tb_rst_sales_order_item.item_color_id = pc.color_id
+      LEFT JOIN tb_rst_product_info pi ON pc.color_product_id = pi.product_id
       LEFT JOIN tb_rst_sales_order_info oi ON tb_rst_sales_order_item.item_order_id = oi.sales_id
       LEFT JOIN tb_rst_product_type pt ON pt.type_id = tb_rst_sales_order_item.item_product_type
       <where>

+ 2 - 2
watero-rst-service/src/main/java/com/iamberry/rst/service/fm/mapper/complaintDetectInfoMapper.xml

@@ -193,9 +193,9 @@
     cd.detect_buy_time detectBuytime
     from tb_rst_complaint_detect cd
     LEFT JOIN tb_rst_cm_question_describe qd on cd.customer_id = qd.customer_id
-    LEFT JOIN tb_rst_product_type pt on pi.product_type = pt.type_id
     LEFT JOIN tb_rst_product_color ci on cd.product_color_id = ci.color_id
     LEFT JOIN tb_rst_product_info pi ON ci.color_product_id  = pi.product_id
+    LEFT JOIN tb_rst_product_type pt on pi.product_type = pt.type_id
     LEFT JOIN tb_rst_cm_relation cr ON cd.customer_id = cr.customer_id
     LEFT JOIN tb_rst_cm_proc_method cpm ON cr.proc_method_id = cpm.proc_method_id
     LEFT JOIN tb_rst_cm_proc_type cpt ON cpm.proc_type_id = cpt.proc_type_id
@@ -835,9 +835,9 @@
         cd.detect_placeorder detectPlaceorder
         from tb_rst_complaint_detect cd
         LEFT JOIN tb_rst_cm_question_describe qd on cd.customer_id = qd.customer_id
-        LEFT JOIN tb_rst_product_type pt on pi.product_type = pt.type_id
         LEFT JOIN tb_rst_product_color ci on cd.product_color_id = ci.color_id
         LEFT JOIN tb_rst_product_info pi ON ci.color_product_id = pi.product_id
+        LEFT JOIN tb_rst_product_type pt on pi.product_type = pt.type_id
         LEFT JOIN tb_rst_cm_relation cr ON cd.customer_id = cr.customer_id
         LEFT JOIN tb_rst_cm_proc_method cpm ON cr.proc_method_id = cpm.proc_method_id
         LEFT JOIN tb_rst_cm_proc_type cpt ON cpm.proc_type_id = cpt.proc_type_id

+ 15 - 0
watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/ComplaintQuestionInfoController.java

@@ -325,4 +325,19 @@ public class ComplaintQuestionInfoController {
         return msg;
     }
 
+    /**
+     * 查询所有问题
+     *
+     * @return
+     */
+    @ResponseBody
+    @RequestMapping(value = "/list_question_all")
+    public ResponseJson listQuestionAll(HttpServletRequest request,ComplaintQuestionInfo complaintQuestionInfo) {
+        complaintQuestionInfo.setQuestionState(1);
+        List<ComplaintQuestionInfo> list = complaintQuestionInfoService.listQuestionAll( complaintQuestionInfo);
+        ResponseJson rj =new ResponseJson(200, "查询成功", 200);
+        rj.addResponseKeyValue("complaintQuestionInfoList", list);
+        return rj;
+
+    }
 }

+ 140 - 90
watero-rst-web/src/main/webapp/WEB-INF/views/cm/inspection/add_detect.ftl

@@ -76,6 +76,12 @@
     <div class="input-box">
         <label class="form-label col-3 col-sm-3 huanhang" style="text-align: right;margin-top: 14px;"><span class="c-red">*</span>客户问题:</label>
         <div class="formControls col-xs-9 col-sm-9 skin-minimal" style="margin: 10px 0px;padding-left: 0;">
+            <select name="complaintId"  id="complaintId" class="chosen3" style="width: 43px;">
+
+            </select>
+            <select name="smallClassId" id="smallClassId" class="chosen3" style="width: 43px;">
+
+            </select>
             <select id="questionId" name="questionId" class="chosen" style="width: 93%;">
                 <option value="">请选择客户问题</option>
                     <#if (listComplaintQuestionInfo?size > 0)>
@@ -86,6 +92,14 @@
             </select>
         </div>
     </div>
+        <#--<div class="input-box" >
+            <label class="form-label col-3 col-sm-3 huanhang"  style="text-align: right;"><span class="c-red">*</span>问题描述:</label>
+            <div class="formControls col-xs-9 col-sm-9">
+                <div class="radio-box">
+                    <textarea rows="3" style="width: 410px;margin-left: -15px;margin-top: 8px;" cols="20" name="detectItemDesc" id="detectItemDesc" class="my-textarea" placeholder="请输入备注!"></textarea>
+                </div>
+            </div>
+        </div>-->
     <div class="input-box">
         <label class="form-label col-3 col-sm-3 huanhang" style="text-align: right;margin-top: 14px;">业务员:</label>
         <div class="formControls col-xs-9 col-sm-9 skin-minimal" style="margin: 10px 0px;padding-left: 0;">
@@ -259,20 +273,6 @@
         });
     };
 
-    /*初始化单选框样式*/
-        /*$(function(){
-            $('.skin-minimal input').iCheck({
-                checkboxClass: 'icheckbox-blue',
-                radioClass: 'iradio-blue',
-                increaseArea: '20%'
-            });
-            $('input[name="productId"]').on('ifChecked', function(event){
-                $("input[name='productId']").each(function () {
-                    $("#maintenanceEquipmentNumber"+$(this).val()).val("");
-                });
-            });
-        });*/
-
         //查询产品颜色信息
     $('#productId').change(function(){
         getProduct($(this).children('option:selected').val())
@@ -310,83 +310,7 @@
             layer.msg('请选择客户问题',{icon: 5,time:1000});
             return;
         }
-        /*var salesmanAdminId = $("#salesmanAdminId").val();
-        if( salesmanAdminId == null || salesmanAdminId == "" ){
-            layer.msg('请选择业务员',{icon: 5,time:1000});
-            return;
-        }*/
-        /*var itemDate = $("#itemDate").val();
-        if( itemDate == null || itemDate == "" ){
-            layer.msg('请选择检测日期',{icon: 5,time:1000});
-            return;
-        }
-        var detectItemPhenomenon = $("#detectItemPhenomenon").val();
-        if( detectItemPhenomenon == null || detectItemPhenomenon == "" ){
-            layer.msg('请输入工厂检测现象',{icon: 5,time:1000});
-            return;
-        }
-        if( detectItemPhenomenon.length > 300 ){
-            layer.msg('工厂检测现象长度不得大于150个字符',{icon: 5,time:1000});
-            return;
-        }
-        var detectItemClassification = $("#detectItemClassification").val();
-        if( detectItemClassification == null || detectItemClassification == "" ){
-            layer.msg('请输入故障分类',{icon: 5,time:1000});
-            return;
-        }
-        if( detectItemClassification.length > 50 ){
-            layer.msg('故障分类长度不得大于25个字符',{icon: 5,time:1000});
-            return;
-        }
-        var detectItemFailureCause = $("#detectItemFailureCause").val();
-        if( detectItemFailureCause == null || detectItemFailureCause == "" ){
-            layer.msg('请输入故障原因',{icon: 5,time:1000});
-            return;
-        }
-        if( detectItemFailureCause.length > 100 ){
-            layer.msg('故障原因长度不得大于50个字符',{icon: 5,time:1000});
-            return;
-        }
-
-        var detectItemResults = $("#detectItemResults").val();
-        if( detectItemResults == null || detectItemResults == "" ){
-            layer.msg('请输入判定结果',{icon: 5,time:1000});
-            return;
-        }
-        if( detectItemResults.length > 100 ){
-            layer.msg('判定结果长度不得大于50个字符',{icon: 5,time:1000});
-            return;
-        }
-
-        var detectItemPoint = $("#detectItemPoint").val();
-        if( detectItemPoint == null || detectItemPoint == "" ){
-            layer.msg('请输入故障指向',{icon: 5,time:1000});
-            return;
-        }
-        if( detectItemPoint.length > 100 ){
-            layer.msg('故障指向长度不得大于50个字符',{icon: 5,time:1000});
-            return;
-        }
-
-        var detectItemNalysis = $("#detectItemNalysis").val();
-        if( detectItemNalysis == null || detectItemNalysis == "" ){
-            layer.msg('请输入原因分析',{icon: 5,time:1000});
-            return;
-        }
-        if( detectItemNalysis.length > 100 ){
-            layer.msg('原因分析长度不得大于50个字符',{icon: 5,time:1000});
-            return;
-        }
 
-        var detectItemContent = $("#detectItemContent").val();
-        if( detectItemContent == null || detectItemContent == "" ){
-            layer.msg('请输入维修内容',{icon: 5,time:1000});
-            return;
-        }
-        if( detectItemContent.length > 300 ){
-            layer.msg('维修内容长度不得大于300个字符',{icon: 5,time:1000});
-            return;
-        }*/
         $.ajax({
             cache: true,
             type: "POST",
@@ -411,6 +335,115 @@
     }
 
 
+    /*监听问题类型 选择事件*/
+    $("[name='complaintId']").change(function(){
+        initComplaintSmallClassInfo($(this).val());
+    });
+
+    initComplaintTypeInfo();
+    /*初始化问题大类*/
+    function initComplaintTypeInfo() {
+        var customerCounselTypeOverall = null;
+        var complaintType = null;
+        $.ajax({
+            type: "POST",
+            data: {
+                complaintConsultingType : customerCounselTypeOverall,
+                complaintType : complaintType
+            },
+            url: "${path}/admin/complaintQuestion/list_complaintType",
+            async: true,
+            success: function(data){
+                var html = '';
+                var id;
+                if (data.returnCode == 200) {
+                    for(var i=0;i<data.returnMsg.complaintTypeInfoList.length;i++){
+                        var complaintTypeInfo = data.returnMsg.complaintTypeInfoList[i];
+                        if(i == 0 ){
+                            id = complaintTypeInfo.complaintId;
+                        }
+                        html += '<option value="'+ complaintTypeInfo.complaintId +'">'+ complaintTypeInfo.complaintClassName +'</option>';
+                    }
+                }else{
+                    html = '';
+                }
+                $("[name='complaintId']").html(html);
+                $("#complaintId").trigger("chosen:updated");//初始化
+                initComplaintSmallClassInfo(id);
+            },
+            error: function(XmlHttpRequest, textStatus, errorThrown){
+            }
+        });
+    }
+
+    /*显示小类*/
+    function initComplaintSmallClassInfo(complaintId,smallId){
+        if(complaintId == null || complaintId == ""){
+            var html = '';
+            $("[name='smallClassId']").html(html);
+        }else{
+            $.ajax({
+                type: "POST",
+                data: {
+                    complaintId : complaintId
+                },
+                url: "${path}/admin/complaintQuestion/list_complaintSmallClass",
+                async: true,
+                success: function(data){
+                    var html = '';
+                    if (data.returnCode == 200) {
+                        for(var i=0;i<data.returnMsg.complaintSmallClassInfoList.length;i++){
+                            var ComplaintSmallClassInfo = data.returnMsg.complaintSmallClassInfoList[i];
+                            html += '<option value="'+ ComplaintSmallClassInfo.smallClassId +'">'+ ComplaintSmallClassInfo.smallClassName +'</option>';
+                        }
+                    }else{
+                        html = '';
+                    }
+                    $("[name='smallClassId']").html(html);
+                    $("#smallClassId").trigger("chosen:updated");//初始化
+                    if(smallId != null && smallId != "" && typeof(smallId)!="undefined" ){
+                        $("select[name='smallClassId']").val(smallId);
+                    }
+                    listQuestion();
+                },
+                error: function(XmlHttpRequest, textStatus, errorThrown){
+                }
+            });
+        }
+    }
+
+    /*监听问题类型 选择事件*/
+    $("[name='smallClassId']").change(function(){
+        listQuestion();
+    });
+function listQuestion(){
+var smallClassId = $("#smallClassId").val();
+    $.ajax({
+        type: "POST",
+        data: {
+            smallClassId : smallClassId
+        },
+        url: "${path}/admin/complaintQuestion/list_question_all",
+        async: false,
+        success: function(data){
+                var html = "";
+                if (data.returnCode == 200) {
+                    for(var i=0;i<data.returnMsg.complaintQuestionInfoList.length;i++){
+                        var complaintQuestion= data.returnMsg.complaintQuestionInfoList[i];
+                        html += '<option value="'+ complaintQuestion.questionId +'">'+ complaintQuestion.questionName +'</option>';
+                    }
+                }else{
+                    html = '';
+                }
+                $("#questionId").html(html);
+                $("#questionId").trigger("chosen:updated");//初始化
+        },
+        error: function(XmlHttpRequest, textStatus, errorThrown){
+        }
+    });
+}
+
+
     $('.chosen').chosen({
         no_results_text: "没有找到结果!",//搜索无结果时显示的提示
         search_contains:true,   //关键字模糊搜索。设置为true,只要选项包含搜索词就会显示;设置为false,则要求从选项开头开始匹配
@@ -427,6 +460,23 @@
         group_search: false, //选项组是否可搜。此处搜索不可搜
         include_group_label_in_selected: true //选中选项是否显示选项分组。false不显示,true显示。默认false。
     });
+
+    $('.chosen3').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: '120px', //设置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。
+    });
     $('.chosen2').chosen({
         search_contains:false,
         enable_split_word_search: true //分词搜索,选项词可通过空格或'[]'分隔。search_contains为false时才能看出效果