Sin Descripción

productIssue.js 32KB

    /** * Created by TT on 2018/7/23. */ $(document).ready(function() { var baseUrl = "http://192.168.3.233:81"; loginStatus(); var productId = GetQueryString("productId"); if(productId) { $("#deleteResource").removeClass("disableLi").addClass("deleteResource"); getRecourceMe(); } // var orgId = $.cookie('orgId'); // if(orgId == "" || orgId == null || orgId == "null"){ // location.href = "cmp-settled-log.html"; // } var temp = []; var array = []; var oProfessor=[]; var hbur,hburEnd; var ue = UE.getEditor('editor', {}); function loginStatus() { $.ajax({ type: "get", async:false, url:"/ajax/sys/user", success:function (data) { if(data.success == true) { var userid = data.data.id; if (userid == undefined || userid.length == 0 || userid == "null") { location.href = "http://"+window.location.host+"/html/index.html"; } }else { location.href = "http://"+window.location.host+"/html/index.html"; } } }); } function GetQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r = window.location.search.substr(1).match(reg); var context = ""; if(r != null) context = r[2]; reg = null; r = null; return context == null || context == "" || context == "undefined" ? "" : decodeURI(context); } function hotKey(sel, num) { $(sel).bind({ paste: function(e) { var pastedText; if (window.clipboardData  &&  window.clipboardData.getData)  {  // IE pastedText  = $(this).val() +  window.clipboardData.getData('Text'); }else{ pastedText  = $(this).val() +  e.originalEvent.clipboardData.getData('Text'); //e.clipboardData.getData('text/plain'); } $(this).val(pastedText); var $this = $(this); setTimeout(function() { if($this.val().trim()) { $this.siblings("button").show(); } else { $this.siblings("button").hide(); } }, 1); e.preventDefault(); }, cut: function(e) { var $this = $(this); setTimeout(function() { if($this.val().trim()) { $this.siblings("button").show(); } else { $this.siblings("button").hide(); } }, 1); }, blur: function() { var $this = $(this); setTimeout(function() { $this.siblings(".keydrop").hide(); }, 500) }, focus: function() { $(this).siblings(".keydrop").show(); }, keyup: function(e) { var ti=$(this).val(); var $t=this; $t.comr=ti; var $this=$(this); if($(this).val().trim()) { $(this).siblings("button").show(); var lNum = $.trim($(this).val()).length; if(0 < lNum) { setTimeout(function(){ if( ti===$t.comr && ti!== $t.comrEnd) { var tt=ti; $t.comrEnd=tt; $("#addKeyword").show(); $.ajax({ "url": "/ajax/article/qaHotKey", "type": "GET", "success": function(data) { console.log(data); if(data.success) { if($t.comrEnd==tt) { if(data.data.length == 0) { $this.siblings(".keydrop").addClass("displayNone"); $this.siblings(".keydrop").find("ul").html(""); } else { $this.siblings(".keydrop").removeClass("displayNone"); var oSr = ""; for(var i = 0; i < Math.min(data.data.length,5); i++) { oSr += '<li>' + data.data[i].caption + '<div class="closeThis"></div></li>'; } $this.siblings(".keydrop").find("ul").html(oSr); } } } else { $this.siblings(".keydrop").addClass("displayNone"); $this.siblings(".keydrop").find("ul").html(""); } }, "data": { "key": $this.val() }, dataType: "json", 'error': function() { $.MsgBox.Alert('提示', '服务器连接超时!'); } }); } },500); } } else { $(this).siblings("button").hide(); $(this).siblings(".keydrop").addClass("displayNone"); $(this).siblings(".keydrop").find("ul").html(""); } } }) $(".keydrop").on("click", "li", function() { var oValue = $(this).text(); var oJudge = $(this).parents(".col-w-12").siblings().find("ul.ulspace li"); var addNum = $(this).parents(".keydrop").siblings("input").attr("data-num"); for(var i = 0; i < oJudge.length; i++) { if(oValue == oJudge[i].innerText) { $.MsgBox.Alert('提示', '添加内容不能重复'); return; } } $(this).parents(".col-w-12").siblings().find("ul.ulspace").append('<li>' + oValue + '<div class="closeThis"></div></li>'); $(this).parents(".keydrop").siblings("input").val(""); $(this).parents(".keydrop").siblings("button").hide(); if(oJudge.length == addNum - 1) { $(this).parents(".keydrop").siblings("input").val(""); $(this).parents(".col-w-12").hide(); } $(this).parent("ul").html("") }) if(num == 1) { return; } else { $(".addButton").siblings("input").keypress(function(){/*添加*/ var e = event || window.event; if(e.keyCode == 13) { var oValue = $(this).val().trim(); var oJudge = $(this).parent().siblings().find("ul.ulspace li"); var addContent = $(this).attr("data-pro"); var addNum = $(this).attr("data-num"); var addfontSizeNum = $(this).attr("data-fontSizeN"); if(!oValue) { $.MsgBox.Alert('提示', '请先填写内容'); return; } if(oValue.length > addfontSizeNum) { $.MsgBox.Alert('提示', addContent); return; } for(var i = 0; i < oJudge.length; i++) { if(oValue == oJudge[i].innerText) { $.MsgBox.Alert('提示', '添加内容不能重复'); return; } } $(this).parent().siblings().find("ul.ulspace").append('<li>' + oValue + '<div class="closeThis"></div></li>'); $(this).siblings(".addButton").hide(); $(this).val(""); if(oJudge.length == addNum - 1) { $(this).val("").parents(".col-w-12").hide(); } $(this).siblings(".keydrop").find("ul").html(""); } }) $(".addButton").click(function() { var oValue = $(this).siblings("input").val().trim(); var oJudge = $(this).parent().siblings().find("ul.ulspace li"); var addContent = $(this).siblings("input").attr("data-pro"); var addNum = $(this).siblings("input").attr("data-num"); var addfontSizeNum = $(this).siblings("input").attr("data-fontSizeN"); if(!oValue) { $.MsgBox.Alert('提示', '请先填写内容'); return; } if(oValue.length > addfontSizeNum) { $.MsgBox.Alert('提示', addContent); return; } for(var i = 0; i < oJudge.length; i++) { if(oValue == oJudge[i].innerText) { $.MsgBox.Alert('提示', '添加内容不能重复'); return; } } $(this).parent().siblings().find("ul.ulspace").append('<li>' + oValue + '<div class="closeThis"></div></li>'); $(this).hide(); $(this).siblings("input").val(""); if(oJudge.length == addNum - 1) { $(this).val("").parents(".col-w-12").hide(); } $(this).siblings(".keydrop").find("ul").html(""); }) } } function limitObj(obj,maxNum){ $(obj).bind({ paste: function(e) { if($(this).val().length==""){ $(this).parent().siblings(".btnModel").attr("disabled", true); }else{ $(this).parent().siblings(".btnModel").attr("disabled", false); } var pastedText; if (window.clipboardData  &&  window.clipboardData.getData)  {  // IE pastedText  = $(this).val() +  window.clipboardData.getData('Text'); } else  { pastedText  = $(this).val() +  e.originalEvent.clipboardData.getData('Text'); //e.clipboardData.getData('text/plain'); } $(this).val(pastedText); setTimeout(function() { $(this).siblings().find("em").text($(obj).val().length); }, 1); e.preventDefault(); }, cut: function(e) { if($(this).val().length==""){ $(this).parent().siblings(".btnModel").attr("disabled", true); }else{ $(this).parent().siblings(".btnModel").attr("disabled", false); } setTimeout(function() { $(obj).siblings().find("em").text($(obj).val().length); }, 1); }, focus: function(e) { $(obj).parents("li").find(".frmconmsg").show(); $(obj).siblings().find("em").text($(obj).val().length); }, blur: function(e) { $(obj).parents("li").find(".frmconmsg").hide(); }, keyup: function(e) { if($(this).val().length==""){ $(this).parent().siblings(".btnModel").attr("disabled", true); }else{ $(this).parent().siblings(".btnModel").attr("disabled", false); } if($(this).val().length > maxNum) { $(obj).val($(obj).val().substring(0, maxNum)); e.preventDefault(); } setTimeout(function() { $(obj).siblings().find("em").text($(obj).val().length); }, 1); } }); } function ajaxRequist(url, obj, type, fn) { $.ajax({ url: url, data: obj, dataType: 'json', //服务器返回json格式数据 type: type, //支持'GET'和'POST' traditional: true, success: function(data) { if(data.success) { fn(data) } }, error: function(xhr, type, errorThrown) { $.MsgBox.Alert('提示', '服务器请求失败'); } }); } /*获取资源信息*/ function getRecourceMe() { $.ajax({ "url": baseUrl+"/ajax/product/qo", "type": "GET", "success": function(data) { console.log(data); if(data.success) { $("#uploadDd").siblings().remove(); $("#fileList").append("<dd></dd><dd></dd>"); temp=[]; resourceHtml(data.data); } }, "data": { "id": productId }, dataType: "json", 'error': function() { $.MsgBox.Alert('提示', '服务器连接超时!'); } }); } /*处理资源html代码*/ function resourceHtml($da) { $("#resourceName").val($da.name); //名字 $("#application").val($da.cnt); //应用用途 if($da.spec) { //厂商型号 $("#modelNumber").val($da.spec); } if($da.parameter) { //性能参数 $("#performancePa").val($da.parameter); } if($da.keywords) { var oSub = $da.keywords.split(","); var oSt = ""; for(var i = 0; i < oSub.length; i++) { oSt += '<li>' + oSub[i] + '<div class="closeThis"></div></li>' } $("#keyWordlist").html(oSt); if(oSub.length>4){ $("#KeyWord").parent().addClass("displayNone"); } } else { $("#keyWordlist").html(""); } if($da.descp) { //编辑器 ue.ready(function() { ue.setContent($da.descp); }); } if($da.price) { $("#priceInput").val($da.price); } if($da.producingArea) { $("#productAddressInput").val($da.producingArea); } if($da.images) { var arr = []; var oImg = $da.images.split(","); for(var i = 0; i < oImg.length; i++) { var oString = '<dd>' + '<div class="imgItem">' + '<img src="' + baseUrl+ "/data/product" + oImg[i] + '"/>' + '</div>' + '<div class="file-panel">' + '<span class="cancel" flag=1></span>' + '</div>' + '</dd>' arr[i] = oString; temp[i] = oImg[i]; } $("#fileList dd").eq(2).remove(); if(oImg.length == 1) { $("#fileList").prepend(arr[0]); } else if(oImg.length == 2) { $("#fileList dd").eq(1).remove(); $("#fileList").prepend(arr[1]); $("#fileList").prepend(arr[0]); } else if(oImg.length == 3) { $("#fileList dd").eq(1).remove(); $("#fileList").prepend(arr[2]); $("#fileList").prepend(arr[1]); $("#fileList").prepend(arr[0]); } } } var uploader = WebUploader.create({ auto: true, fileNumLimit: 3, swf: '../js/webuploader/Uploader.swf', server: '/ajax/product/upload', fileSingleSizeLimit: 2 * 1024 * 1024, pick: { id: "#filePicker", multiple: false }, accept: { title: 'Images', extensions: 'jpg,jpeg,png', mimeTypes: 'image/jpg,image/png' } }); // 当有文件添加进来的时候 uploader.on('fileQueued', function(file) { fileId = file.id; var $len = $("#fileList").find("img").length; if($len == 0 || $len == 1) { var oRemove = $("#fileList").find("dd"); oRemove.eq(oRemove.length - 1).remove(); } var $li = $( '<dd>' + '<div class="imgItem" id="' + file.id + '">' + '<img />' + '</div>' + //'<div class="info">' + file.name + '</div>' + '</dd>' ), $btns = $('<div class="file-panel">' + '<span class="cancel"></span>' + '</div>').appendTo($li), $img = $li.find('img'); var $list = $("#fileList"); if($len == 1) { $list.find("dd").eq(0).after($li) } else if($len == 2) { $list.find("dd").eq(1).after($li) } else { $list.prepend($li); } uploader.makeThumb(file, function(error, src) { if(error) { $img.replaceWith('<span>不能预览</span>'); return; } $img.attr('src', src); }, 1, 1); }); uploader.onError = function(code) { console.log(code) $.MsgBox.Alert('提示', '请上传jpg、jpeg、png格式的图片,大小不超过2M') }; uploader.on('uploadSuccess', function(file, data) { if(data.success) { temp.push(data.data[0].uri); console.log(temp) uploader.removeFile(fileId); }else{ $.MsgBox.Alert('提示', '只支持jpeg/jpg/png格式的图片'); } }); /*删除图片*/ $("#fileList").on("click", ".cancel", function() { var flag = $(this).attr("flag"); var oNum = $(this).parents("dd").index(); temp.splice(oNum, 1); $(this).parent().parent().remove(); var $len = $("#fileList").find("img").length; if($len != 2) { $("#fileList").append("<dd></dd>") } }); /*资源名称*/ $("#resourceName").bind({ focus: function() { $("#resourceNamePrompt").show(); }, blur: function() { $("#resourceNamePrompt").hide(); }, keyup: function() { if($(this).val().length > 30) { $(this).val($(this).val().substr(0, 30)); } } }) hotKey(".oinput"); //校验关键字 $("#KeyWord").on({ focus: function() { $("#keyPrompt").text("最多可添加5个关键词,每个关键词15字以内"); }, blur: function() { $("#keyPrompt").text(""); } }) $("#keyWordlist").on("click", ".closeThis", function() { $(this).parent().remove(); var liNum = $("#keyWordlist").find("li").length; if(liNum < 5) { $("#keyWordlist").parents(".keyResult").siblings("div.col-w-12").show(); } }) /*厂商型号*/ $("#modelNumber").bind({ focus: function() { $("#model").show(); }, blur: function() { $("#model").hide(); }, keyup: function() { if($(this).val().length > 50) { $(this).val($(this).val().substr(0, 50)); } } }); $("#productAddressInput").bind({ focus: function() { $("#productAddress").show(); }, blur: function() { $("#productAddress").hide(); }, keyup: function() { if($(this).val().length > 50) { $(this).val($(this).val().substr(0, 50)); } } }); $("#priceInput").bind({ focus: function() { $("#price").show(); }, blur: function() { $("#price").hide(); }, keyup: function() { if($(this).val().length > 50) { $(this).val($(this).val().substr(0, 50)); } } }); /*应用用途*/ limitObj("#application",250) /*性能参数*/ limitObj("#performancePa",1000) /*发布*/ $(".goFabu").click(function() { if($(this).hasClass("disableLi")){ return; } var oYes = term(); if(oYes == 0) { return; } $.MsgBox.Confirm("提示", "确认发布该产品?", ajsPost); }) /*预览*/ // $("#oPreview").click(function() { // if($(this).hasClass("disableLi")){ // return; // } // var oYes = term(); // if(oYes == 0) { // return; // } // if(resourceId) { // ajsPost(baseUrl+"/ajax/product/draft/update", 1); // }else { // ajsPost(baseUrl+"/ajax/product/draft", 1); // } // // }) // /*存草稿*/ // $("#oDraft").click(function() { // if($(this).hasClass("disableLi")){ // return; // } // var oYes = term(); // if(oYes == 0) { // return; // } // if(resourceId) { // ajsPost(baseUrl+"/ajax/product/draft/update", 2); // }else { // ajsPost(baseUrl+"/ajax/product/draft", 2); // } // }) // /*删除*/ // $("#operateBlocko").on("click", ".deleteResource", function() { // $.MsgBox.Confirm("提示", "确认删除该产品?", deleResource); // }) // /*删除函数*/ // function deleResource() { // $.ajax({ // "url": baseUrl+"/ajax/product/delete", // "type": "POST", // "success": function(data) { // console.log(data) // if(data.success) { // location.href = "cmp-productList.html" // } // }, // "data": { // "id": resourceId // }, // "beforeSend": function() { /*console.log(this.data)*/ }, // "contentType": "application/x-www-form-urlencoded", // dataType: "json" // }); // } /*条件是否匹配*/ function term() { var $len = $("#fileList").find("img").length; var reName = $("#resourceName").val(); var oIndustry = $("#application").val(); var oLen=$("#expertli").find(".selectAdd").length if($len == 0) { $.MsgBox.Alert('提示', '请上传产品图片。'); return 0; } if(reName == "") { $.MsgBox.Alert('提示', '请填写产品名称。'); return 0; } if(oIndustry == "") { $.MsgBox.Alert('提示', '请填写产品简介。'); return 0; } if(oLen==0) { $.MsgBox.Alert('提示', '至少选择一个联系人'); return 0; } } /*发布函数*/ function ajsPost(pa1, pa2) { var sdd=[]; var sdf = $("#expertli").find(".selectAdd"); for(var i=0;i<sdf.length;i++) { sdd.push(sdf.eq(i).parents("li").attr("id")); } var industrys = $("#keyWordlist li"); var industryAll = ""; if(industrys.size() > 0) { for(var i = 0; i < industrys.size(); i++) { industryAll += industrys[i].innerText.trim(); industryAll += ','; }; industryAll = industryAll.substring(0, industryAll.length - 1); } $(".operateBlock").find("li").addClass("disableLi"); var oUrl = baseUrl+"/ajax/product/publish"; if(productId) { oUrl = baseUrl+"/ajax/product/conUpdate"; } if(pa1) { oUrl = pa1 } var $data = {}; if(productId) { $data.id = productId; } // $data.owner = orgId; $data.name = $("#resourceName").val(); //资源名字 $data.keywords = industryAll; $data.cnt = $("#application").val(); $data.spec = $("#modelNumber").val(); $data.parameter = $("#performancePa").val(); $data.descp = ue.getContent(); $data.images = temp.join(","); $data.professor=sdd; $data.producingArea=$("#productAddressInput").val(); $data.price = $("#priceInput").val() $.ajax({ "url": oUrl, "type": "POST", "complete":function(){ $(".operateBlock").find("li").removeClass("disableLi"); }, "success": function(data) { console.log(data) if(data.success) { if(pa2 == 1) { productId = data.data; $("#deleteResource").removeClass("disableLi").addClass("deleteResource"); window.open("../productPreview.html?productId=" + data.data); getRecourceMe(); //弹出预览 } else if(pa2 == 2) { $("#deleteResource").removeClass("disableLi").addClass("deleteResource"); if(!productId) productId = data.data; $.MsgBox.Alert('提示', '产品已保存草稿。'); $("#mb_msgicon").css("background", 'url("images/sign_icon_chenggong_nor.png") 0% 0% / contain'); getRecourceMe(); } else { $.MsgBox.Alert('提示', '产品发布成功!'); $("#mb_msgicon").css("background", 'url("images/sign_icon_chenggong_nor.png") 0% 0% / contain'); location.href = "cmp-productList.html" } }else { if(data.code==90) { $.MsgBox.Alert('提示', '由于操作时间过久,上传图片已失效,请重新上传。'); } } }, "data": $data, "beforeSend": function() { /*console.log(this.data)*/ }, "contentType": "application/x-www-form-urlencoded", "traditional": true, dataType: "json" }); } // DefaultContact() // function DefaultContact() { // $.ajax({ // url: "/ajax/org/linkman/queryAll", // type: "GET", // timeout: 10000, // dataType: "json", // async:"true", // data: { // "oid": orgId // }, // success: function(data, textState) { // if(data.success) { // var $data = data.data; // if($data.length) { // oProfessor.push($data[0].pid); // var oLength=$("#expertli").find("li"); // for(var i=0;i<oLength.length;i++) { // var sid = oLength.eq(i).attr("id"); // if($data[0].pid ===sid) { // oLength.eq(i).find("[flag]").addClass("selectAdd"); // break; // } // } // } // // } // }, // error: function(XMLHttpRequest, textStats, errorThrown) { // $.MsgBox.Alert('提示', '服务器请求失败') // } // }) // } // function UnauthorizedUser() { // $.ajax({ // url: "/ajax/professor/qaOrgAuth", // type: "GET", // timeout: 10000, // dataType: "json", // async:"false", // data: { // "orgId": orgId, // "orgAuth": 1 // }, // success: function(data, textState) { // if(data.success) { // console.log(data); // unauthUser(data.data); // } // }, // error: function(XMLHttpRequest, textStats, errorThrown) { // $.MsgBox.Alert('提示', '服务器请求失败') // } // }) // } // UnauthorizedUser(); // function unauthUser($res) { // if(resourceId) { // selUse(); // } // var osting="" // for(var i = 0; i < $res.length; i++) { // var img; // //var styC=""; // var oClass = autho($res[i].authType, $res[i].orgAuth, $res[i].authStatus); // var oTitle=""; // if(!resourceId) { // /*if(i<5) { // styC="selectAdd"; // oProfessor.push($res[i].id); // }*/ // } // // if($res[i].title) { // oTitle=$res[i].title; // }else{ // if($res[i].office) { // oTitle=$res[i].office; // } // } // if($res[i].hasHeadImage) { // img = "/images/head/" + $res[i].id + "_l.jpg"; // } else { // img = "../images/default-photo.jpg" // } // var oSt = '<li class="flexCenter" style="cursor:pointer;" id="'+$res[i].id+'">' // oSt += '<div class="madiaHead useHead" id="userimg" style="background-image: url('+img+');"></div>' // oSt += '<div class = "madiaInfo">' // oSt += '<p class = "ellipsisSty">' // oSt += '<span class = "h1Font" id="name">'+$res[i].name+'</span><em class="authicon '+oClass.sty+'" title="'+oClass.title+'"></em >' // oSt += '</p>' // oSt += '<p class="h2Font ellipsisSty">'+oTitle+'</p>' // oSt += '</div>' // oSt += '<div class="selectNull " flag=1></div>' // oSt += '</li>' // osting+=oSt; // } // $("#expertli").html(osting); // if(!resourceId) { // DefaultContact() // } // } // /*选择用户*/ // $("#expertli").on("click","li",function(){ // var userL=$("#expertli").find(".selectAdd").length; // var oSel=$(this).find(".selectAdd").length; // var oId=$(this).attr("id"); // $("#linkman").text(""); // // if(oSel == 0) { // if(userL == 5) { // $("#linkman").text("最多可选5位联系人"); // return; // } // $(this).find('[flag]').addClass("selectAdd"); // oProfessor.push(oId); // } else { // $(this).find('[flag]').removeClass("selectAdd"); // for(var i=0;i<oProfessor.length;i++) { // if(oId==oProfessor[i]) { // oProfessor.splice(i, 1); // } // } // } // }); // // function selUse() { // $.ajax({ // url: "/ajax/product/pro", // type: "GET", // timeout: 10000, // dataType: "json", // async:true, // data: { // "id": resourceId, // }, // success: function(data, textState) { // console.log(data) // if(data.success) { // var arr=[]; // var arr1=[]; // var oLength=$("#expertli").find("li"); // for(var i=0;i<data.data.length;i++) { // arr1.push(data.data[i].professor); // } // for(var i=0;i<oLength.length;i++) { // arr.push(oLength.eq(i).attr("id")); // } // for(var i=0;i<arr1.length;i++) { // oProfessor.push(arr1[i]); // oLength.eq(arr.indexOf(arr1[i])).find("[flag]").addClass("selectAdd") // } // } // }, // error: function(XMLHttpRequest, textStats, errorThrown) { // $.MsgBox.Alert('提示', '服务器请求失败') // } // }) // } })