Newer
Older
EMS-WEB-3.0 / src / main / webapp / s / app / marker / marker-info-edit.js
zhangyingjie on 4 Jun 2020 13 KB 增加图片编辑展示功能
var MarkerInfoEdit = function () {
    function doChange(){
        var type = $("#selectObjectType").val();
        if (type == 1) {//管线
            $("#pipeTypeLabel").text("管线种类");
            $(".up-pipe").show();
            $("#pipeDiameterLabel").text("管线直径");
            $("#pipeMaterialLabel").text("管线材质");
            $(".below").addClass("hidden");
            $("#pipeDepthLabel").text("管线埋深");
            $(".pipeOnly").show();
        } else if (type == 2) {//管线附属物
            $("#pipeTypeLabel").text("附属物名称");
            $(".up-pipe").hide();
            $(".below").addClass("hidden");
            $("#pipeDepthLabel").text("井深");
            $(".pipeOnly").hide();
        } else if (type == 3) {//管线特征点
            $("#pipeTypeLabel").text("管点特征");
            $(".up-pipe").hide();
            $(".below").addClass("hidden");
            $("#pipeDepthLabel").text("特征点埋深");
            $(".pipeOnly").hide();
        } else {//交叉穿越点
            $("#pipeTypeLabel").text("上层管种类");
            $(".up-pipe").show();
            $("#pipeDiameterLabel").text("上层管直径");
            $("#pipeMaterialLabel").text("上层管材料");
            $(".below").removeClass("hidden");
            $("#pipeDepthLabel").text("上层管埋深");
            $(".pipeOnly").hide();
        }
    }

    function editFormInit() {
          doChange();
        $("#selectObjectType").live("change", function (e) {
           doChange();
        })
    }

    function editPhotoInit(photos) {
        var imgs = new Array();
        if(photos){
            imgs = photos.split(",")
        }
        for(var i=0;i<imgs.length;i++){
            var imgId = "img" + (i+1);
            var path = "http://"+window.location.host+ $('#context').val()+ imgs[i]

            $("#"+imgId).attr('src',path);
        }

        if(!$("#img1")[0].src){
            $("#closeBtn1").css("display","none");
            $("#borderImg1").css("display","none");
        }
        if(!$("#img2")[0].src){
            $("#closeBtn2").css("display","none");
            $("#borderImg2").css("display","none");
        }
        if(!$("#img3")[0].src){
            $("#closeBtn3").css("display","none");
            $("#borderImg3").css("display","none");
        }
    }

    function serializeJson(form) {
        var arr = form.serializeArray();
        var json ={};
        $.each(arr, function() {
            json[this.name] = this.value;
        });
        return JSON.stringify(json);
    }

    return {
        initForms: function () {
            editFormInit();
            editPhotoInit($("#photo").val());
            var form = $('#submit_form');
            var error = $('.alert-error', form);
            var success = $('.alert-success', form);



            $('#cancelBtn').live('click', function (e) {
                location.href = $("#context").val() + "/content/marker/marker-info-list.jsp";
            });
            $('#closeBtn1').live('click',function () {
                $("#img1").removeAttr("src");
                var file1 = document.getElementById('file1');
                file1.value = ''
                $("#closeBtn1").css("display","none");
                $("#borderImg1").css("display","none");
            })
            $('#closeBtn2').live('click',function () {
                $("#img2").removeAttr("src");
                var file2 = document.getElementById('file2');
                file2.value = ''
                $("#closeBtn2").css("display","none");
                $("#borderImg2").css("display","none");
            })
            $('#closeBtn3').live('click',function () {
                $("#img3").removeAttr("src");
                var file3 = document.getElementById('file3');
                file3.value = ''
                $("#closeBtn3").css("display","none");
                $("#borderImg3").css("display","none");
            })

            // 选择图片并预览
            $('input#file1').on('change',function () {
                var file1 = $('#file1').get(0).files[0];
                if(file1){
                    var formData = new FormData();
                    formData.append('fileBuffer', $('#file1')[0].files[0]);
                    $.ajax({
                        type: "POST",
                        url: $('#context').val() + "/marker/marker-upload-img.do",
                        data: formData,
                        contentType: false,
                        processData: false,
                        success: function (data) {
                            var jData = eval(data);
                            if (jData.success) {
                                $('#img1').get(0).src = "http://"+window.location.host+ $('#context').val()+ jData.data;
                                $('#closeBtn1').css("display","block")
                                $('#borderImg1').css("display","block")
                            }
                            else {
                                success.hide();
                                $("#errorMessage").html(jData.message);
                                error.show();
                            }
                        },
                        error: function (request) {
                            success.hide();
                            error.show();
                        }
                    });
                }

            });
            $('input#file2').on('change',function () {
                var file2 = $('#file2').get(0).files[0];
                if(file2){
                    var formData = new FormData();
                    formData.append('fileBuffer', $('#file2')[0].files[0]);
                    $.ajax({
                        type: "POST",
                        url: $('#context').val() + "/marker/marker-upload-img.do",
                        data: formData,
                        contentType: false,
                        processData: false,
                        success: function (data) {
                            var jData = eval(data);
                            if (jData.success) {
                                $('#img2').get(0).src = "http://"+window.location.host+ $('#context').val()+ jData.data;
                                $('#closeBtn2').css("display","block")
                                $('#borderImg2').css("display","block")
                            }
                            else {
                                success.hide();
                                $("#errorMessage").html(jData.message);
                                error.show();
                            }
                        },
                        error: function (request) {
                            success.hide();
                            error.show();
                        }
                    });
                }

            });
            $('input#file3').on('change',function () {
                var file3 = $('#file3').get(0).files[0];
                if(file3){
                    var formData = new FormData();
                    formData.append('fileBuffer', $('#file3')[0].files[0]);
                    $.ajax({
                        type: "POST",
                        url: $('#context').val() + "/marker/marker-upload-img.do",
                        data: formData,
                        contentType: false,
                        processData: false,
                        success: function (data) {
                            var jData = eval(data);
                            if (jData.success) {
                                $('#img3').get(0).src = "http://"+window.location.host+ $('#context').val()+ jData.data;
                                $('#closeBtn3').css("display","block")
                                $('#borderImg3').css("display","block")
                            }
                            else {
                                success.hide();
                                $("#errorMessage").html(jData.message);
                                error.show();
                            }
                        },
                        error: function (request) {
                            success.hide();
                            error.show();
                        }
                    });
                }

            });

            // 点击图片放大
            $('#img1').click(function(){
                var source = $("#img1")[0].src;
                $("#ShowImage_Form").find("#img_show").html("<image src='"+source+"' class='carousel-inner img-responsive img-rounded' />");
                $("#ShowImage_Form").modal();
            });
            $('#img2').click(function(){
                var source = $("#img2")[0].src;
                $("#ShowImage_Form").find("#img_show").html("<image src='"+source+"' class='carousel-inner img-responsive img-rounded' />");
                $("#ShowImage_Form").modal();
            });
            $('#img3').click(function(){
                var source = $("#img3")[0].src;
                $("#ShowImage_Form").find("#img_show").html("<image src='"+source+"' class='carousel-inner img-responsive img-rounded' />");
                $("#ShowImage_Form").modal();
            });

            form.validate({
                doNotHideMessage: true, //this option enables to show the error/success messages on tab switch.
                errorElement: 'span', //default input error message container
                errorClass: 'validate-inline', // default input error message class
                focusInvalid: false, // do not focus the last invalid input
                rules: {
                    name: {
                        required: true
                    }
                },
                messages: { // custom messages for radio buttons and checkboxes
                    name: {
                        required: "资源名称不能为空!"
                    }
                },
                errorPlacement: function (error, element) { // render error placement for each input type

                    error.insertAfter(element); // for other inputs, just perform default behavoir

                },

                invalidHandler: function (event, validator) { //display error alert on form submit
                    success.hide();
                    error.show();
                    App.scrollTo(error, -200);
                },

                highlight: function (element) { // hightlight error inputs
                    $(element)
                        .closest('.help-inline').removeClass('ok'); // display OK icon
                    $(element)
                        .closest('.control-group').removeClass('success').addClass('error'); // set error class to the control group
                },

                unhighlight: function (element) { // revert the change dony by hightlight
                    $(element)
                        .closest('.control-group').removeClass('error'); // set error class to the control group
                },

                success: function (label) {
                    label
                        .addClass('valid ok') // mark the current input as valid and display OK icon
                        .closest('.control-group').removeClass('error').addClass('success'); // set success class to the control group

                },

                submitHandler: function (form) {
                    var photoArr = new Array();
                    if($('#img1').get(0).src){
                        var src1 = $('#img1').get(0).src;
                        var sr1List = src1.split("/")
                        var path1 = "/" + sr1List[sr1List.length-4] + "/" + sr1List[sr1List.length-3] + "/" + sr1List[sr1List.length-2] + "/" + sr1List[sr1List.length-1];
                        photoArr.push(path1);
                    }
                    if($('#img2').get(0).src){
                        var src2 = $('#img2').get(0).src;
                        var sr2List = src2.split("/")
                        var path2 = "/" + sr2List[sr2List.length-4] + "/" + sr2List[sr2List.length-3] + "/" + sr2List[sr2List.length-2] + "/" + sr2List[sr2List.length-1];
                        photoArr.push(path2);
                    }
                    if($('#img3').get(0).src){
                        var src3 = $('#img3').get(0).src;
                        var sr3List = src3.split("/")
                        var path3 = "/" + sr3List[sr3List.length-4] + "/" + sr3List[sr3List.length-3] + "/" + sr3List[sr3List.length-2] + "/" + sr3List[sr3List.length-1];
                        photoArr.push(path3);
                    }
                    $("#photo").val(photoArr.join());
                    //add here some ajax code to submit your form or just call form.submit() if you want to submit the form without ajax
                    $.ajax({
                        type: "POST",
                        url: $('#context').val() + "/marker/marker-info-save.do",
                        data: $('#submit_form').serialize(),
                        success: function (data) {
                            var jData = eval(data);
                            if (jData.success) {
                                location.href = $("#context").val() + "/content/marker/marker-info-list.jsp";
                            }
                            else {
                                success.hide();
                                $("#errorMessage").html(jData.message);
                                error.show();
                            }
                        },
                        error: function (request) {
                            success.hide();
                            error.show();
                        }
                    });
                }
            });
            $('#cancek_btn').live("click", function (e) {
                location.href = $("#context").val() + "/content/marker/marker-info-list.jsp";
            })
        }

    };

}();