/*! * @Author: 李燕南-941477276@QQ.com * @Date: 2018-01-23 16:57:29 * @Last Modified by: 李燕南-941477276@QQ.com * @Last Modified time: 2018-01-23 16:57:30 */ ; (function (window) { $(function () { var $formSteps = $(".form-step"), $formBox = $formSteps.eq(0).parent(), $lawyerForm = $formSteps.filter('[data-type="lawyer"]').children('form'), $stepProgressBar = $("#step_progress_bar"), $stepProgress = $("#step_progress"), // 已选择的资质文件总数量 lawyerDataFilelen = 0, // 上传成功的数量 successLen = 0, // 上传失败的数量 errorLen = 0, validateCommon = { onfocusout: function (element) { $(element).valid(); }, onkeyup: false, errorElement: "div", errorClass: "-error-", errorPlacement: function (error, element) { console.log(error); $(element).closest(".form-group").find(".error-tip").append(error); } }; $lawyerForm.validate({ onfocusout: validateCommon.onfocusout, onkeyup: validateCommon.onkeyup, errorElement: validateCommon.errorElement, errorClass: validateCommon.errorClass, errorPlacement: validateCommon.errorPlacement, ignore: "", rules: { UserName: { required: true, rangelength: [1, 30] }, Gender: { required: true }, Nationality: { required: true }, CertNo: { required: true }, PostName: { required: true, maxlength: 30 }, ProfessionalField: { required: true, maxlength: 30 }, MediatorType: { required: true }, ProfessCertNo: { maxlength: 50 }, lawyer_headportait_filelen: { min: 1, max: 1 }, lawyer_data_filelen: { min: 1, max: 5 } }, messages: { UserName: { required: "请输入真实姓名", rangelength: "真实姓名长度必须在30字以内!" }, Gender: { required: "请选择性别" }, Nationality: { required: "请选择国籍" }, CertNo: { required: "请输入身份证号" }, PostName: { required: "请输入岗位名称", maxlength: "岗位名称长度必须在30字以内!" }, ProfessionalField: { required: "请输入专业领域", maxlength: "专业领域长度必须在30字以内!" }, MediatorType: { required: "请选择调解员类别" }, ProfessCertNo: { maxlength: "执业资格证编号长度必须在50以内!" }, lawyer_headportait_filelen: { min: "请上传头像" }, lawyer_data_filelen: { min: "请上传企业资料", max: "企业资料文件最多上传5个" } } }); $lawyerForm.find(".next-step").on("click", function () { var $this = $(this), $imgPreviewItems = $("#lawyer_data_filelist .preview-item"), lawyerFormData = $lawyerForm.serializeArray(), _data = [], ignore = { "lawyer_headportait_filelen": 1, "lawyer_data_filelen": 1, "Msg": 1 }, data = "", allDescHas = true; if (!$lawyerForm.valid()) { return; } $imgPreviewItems.each(function (index, item) { if (!$.trim($(this).find(".file-desc").val()).length) { return allDescHas = false; } }); if (!allDescHas) { commitTip("error", true, "请填写资质文件的描述"); return; } else { commitTip("error", false); } if (this.unabled) { return; } $.each(lawyerFormData, function (index, item) { if (!(item.name in ignore)) { _data.push(item); } }); // _stepOneData在regist.js中暴露在了全局中 data = $.param(_data) + "&" + $.param(_stepOneData); $this.addClass("disabled"); $this[0].unabled = true; commitTip("commit", true); $.ajax({ url: "/Account/SubHandleInfo", type: "post", cache: false, data: data, success: function (data) { if (!data.Res) { commitTip("error", true, data.Msg); $this.removeClass("disabled"); $this[0].unabled = false; return; } // 给选择的头像图片添加数据 $lawyerForm[0].headportraitUploader.setData($("#lawyer_headportrait_filelist .-file-list").children().eq(0)[0].id, { UserID: data.Msg }); // 给选择的资质文件添加数据 var lawyerPreviewData = $lawyerForm[0].lawyerPreviewData; $imgPreviewItems.each(function (index, item) { lawyerPreviewData.setData(item.id, { UserID: data.Msg, fileDesc: $(this).find(".file-desc").val() }); }); $lawyerForm[0].headportraitUploader.upload(); lawyerPreviewData.upload(); }, error: function () { /* commitTip方法在register.js中暴露在全局, * @param 参数一: 类型,值有error、commit * @param 参数二: 是否显示 * @param 参数三: 提示信息 */ commitTip("error", true, "数据提交失败,请重试!"); $this.removeClass("disabled"); $this[0].unabled = false; } }); }); // 初始化头像图片预览popover $(".file-popover").popover({ container: "body", trigger: "hover", placement: "top", html: true, delay: 100, content: function () { return $("#no_img_html").html(); } }).on('shown.bs.popover', function (event) { var $this = $(this), $popover = $("body").find('div.popover'), previewfor = $this.data("previewfor"); // 如果已经有选择图片,则直接显示选择的图片 if ($("#" + previewfor).find(".-file-list").children().length > 0) { $popover.find(".popover-content").html("").append($("#" + previewfor).children().clone(true)); } $popover.on('mouseenter', function () { $this.attr('in', true); }).on('mouseleave', function () { $this.removeAttr('in'); $this.popover('hide'); }); }).on('hide.bs.popover', function (event) { if ($(this).attr('in')) { event.preventDefault(); } }); // 页面加载完成后需验证1秒再初始化文件上传,否则在IE中会报错 var _timer = setTimeout(function () { var swfUrl = resource.base + resource.js.swf, maxFileSize = 1024 * 1024 * 2; // 律师调解员上传头像uploaderPreview实例对象 $lawyerForm[0].headportraitUploader = new UploadPreview({ swf: swfUrl, url: "/Account/UserImgUpload", previewInfo: { previewWrap: "#lawyer_headportrait_filelist .-file-list"//包裹所有预览图片的父级元素 }, btns: {//按钮配置 chooseBtn: document.getElementById("lawyer_headportrait_choosebtn"), chooseBtnText: '
头像
' }, fileQueued: function () { document.getElementById("lawyer_headportait_filelen").value = 1; }, showToolBtn: false, multiple: false, maxFileNum: 1, ignore: { extensions: "gif" }, maxFileSize: maxFileSize }); $lawyerForm[0].headportraitUploader.uploader.on("beforeFileQueued", function () { if ($("#lawyer_headportrait_filelist .file-list").children().get(0)) { this.removeFile($("#lawyer_headportrait_filelist .file-list").children().get(0).id, true); } }); // 律师调解员上传资质文件 var lawyerPreviewData = $lawyerForm[0].lawyerPreviewData = new UploadPreview({ swf: swfUrl, url: "/Account/PersonFileUpload", previewInfo: { previewWrap: "#lawyer_data_filelist", errorMsg: "", delBtn: "", retryBtn: "", showToolBtn: false }, btns: {//按钮配置 chooseBtn: document.getElementById("lawyer_data_choosebtn"), chooseBtnText: '个人资料
', }, ignore: { extensions: "gif" }, maxFileNum: 5, fileQueued: function (file) { var that = this, $previewItem = $("#" + file.id), size = file.size / 1048567;//计算后的单位是MB //console.log(file); if (size < 1) { $previewItem.find(".file-size").html((size * 1024).toFixed(2) + " KB"); } else { $previewItem.find(".file-size").html(size.toFixed(2) + " M"); } $previewItem.find(".icon-guanbi").on("click.deleteViewer", function () { lawyerPreviewData["delete"](file); }); lawyerDataFilelen = 0; for (var i in lawyerPreviewData.files) { lawyerDataFilelen++; } document.getElementById("lawyer_data_filelen").value = lawyerDataFilelen; }, fileDequeued: function () { lawyerDataFilelen = 0; for (var i in lawyerPreviewData.files) { lawyerDataFilelen++; } document.getElementById("lawyer_data_filelen").value = lawyerDataFilelen; }, uploadSuccess: function (file, res) { if (res.Res) { successLen++; } else { errorLen++; } }, uploadError: function () { errorLen++; }, uploadComplete: function(){ if ((successLen + errorLen) == lawyerDataFilelen) { commitTip("commit", false); $formBox.stop().animate({ "marginLeft": -$lawyerForm.parent().width() }, function () { $lawyerForm.parent().hide(); $formBox.css("marginLeft", 0); }); $stepProgress.children().last().addClass('active'); } }, error: function (msg) { console.log(msg.msg); } }); //修改预览框的样式 lawyerPreviewData.builder.buildPreviewBox = function (options, toolBar) { var htmlArr = [], previewElement = "div", previewClass = "", html = ''; if (options && $.isPlainObject(options)) { previewElement = options.previewElement || "div"; previewClass = options.previewClass || ""; } html += '<' + previewElement + ' class="preview-item clearfix ' + previewClass + '">'; html += '预览中...