$(function () { var repairMain = JSON.parse(sessionStorage.getItem("repair_main")); //报修主体 var reqHasCategory = JSON.parse(sessionStorage.getItem("reqHasCategory")); //自动建单 var loginUser = JSON.parse(window.sessionStorage.getItem("loginUser")); //用户信息 // repairMain.valueconfig = '2'; var placeList = []; //获取到的地点列表 var wxId = ""; //微信报修ID var processMessageData = null; //详情页流程数据 var dictionary = []; //详情页流程数据 var imgList = []; //待上传的图片信息formData var imgAjaxNum = 0; //待上传的图片请求计数器 var currentBxOrCh = 0; //0是最新报修列表,1是查号列表 var bx_pageNum = 0; //最新报修或电话查号分页 var bx_arr = { data: [] }; //最新报修所有数据列表 var ch_arr = { list: [] }; //电话查号所有数据列表 var bx_len = 0; //最新报修或电话查号所有数据列表数量 var solution_pageNum = 0; //常见问题分页 var solution_arr = { list: [] }; //常见问题所有数据列表 var solution_len = 0; //常见问题所有数据列表数量 var isSearch = false; //是否搜索常见问题 var isSearch1 = false; //是否搜索电话挂号 var ks_pageNum = 0; //科室下拉列表分页 var ks_len = 0; //科室所有数据列表数量 var ks_arr = { list: [] }; //科室所有数据 // 兼容ie的placeholder $("input, textarea").placeholder(); //获取报修类别列表seimin function getEventClass() { $.ajax({ type: "POST", contentType: "application/json;charset=UTF-8", url: baseUrl + "bpm/data/fetchDataList/incidentcategory", data: JSON.stringify({ idx: 0, sum: 100, incidentcategory: { selectType: "one" }, }), success: function (res) { if (res.status == 200) { var html = ""; for (var i = 0; i < res.list.length; i++) { html += '"; } $("#bx_eventClass").html(html); } }, error: function (err) { console.log(err); }, }); } // 自动建单 if (reqHasCategory.valueconfig == 1) { getEventClass(); } else { $("#if_bx_eventClass").remove(); } // 获取公告列表3条 getNoticeList({ idx: 0, sum: 3, notice: { status: 1 } }); // 获取常见问题列表 getSolutionList({ idx: solution_pageNum, sum: 10, solution: { title: "", status: { id: 72 }, solutionRange: 1 }, }); // 获取区域列表 getAreaList({ idx: 0, sum: 1000, area: { wechatArea: true } }); // 获取地点列表 getPlaceList({ idx: 0, sum: 1000, area: { wechatAreaId: "" } }); // 获取WxId getWxId(); // 获取最新报修列表 getNewBxList(currentBxOrCh); //获取详情页流程数据 getProcessMessageData(); //获取评价五颗星的数据 getDictionary(); //初始化页面--seimin function pageInit() { $("#bx_name").val(loginUser.name); //事件报修表单->报修人 $(".logOut .user").text(loginUser.name); //登录人名称 if (repairMain.valueconfig == 1) { //报修人 $(".repairFlag").show(); //class是repairFlag的时候显示元素 $(".repairFlagReverse").hide(); //class是repairFlagReverse的时候隐藏元素 $("#bx_tel").val(loginUser.mphone); //事件报修表单->联系电话 } else if (repairMain.valueconfig == 2) { //报修科室 $(".repairFlag").hide(); //class是repairFlag的时候隐藏元素 $(".repairFrepairFlagReverselag").show(); //class是repairFlagReverse的时候显示元素 $("#bx_tel").val(loginUser.dept ? loginUser.dept.phone : ""); //事件报修表单->联系电话 } } pageInit(); //故障地点seimin // (function () { // //故障地点带入区域地点 // $('#bx_address').val(loginUser.place ? loginUser.place.area.area + loginUser.place.place : ''); // //点击文本框 // $('#bx_address').on('click', searchAreaPlace); // //修改文字,实时监听 // $('#bx_address').on('keyup', debounce(searchAreaPlace, 500)); // //报修科室滚动条 // $('#bx_address_ul').niceScroll(); // //故障地点搜索 // function searchAreaPlace() { // $.ajax({ // type: "POST", // contentType: "application/json;charset=UTF-8", // url: baseUrl + "apply/bpm/searchFaultLocation", // data: JSON.stringify({ "searchKey": $('#bx_address').val() }), // success: function (res) { // if (res.state == 200) { // $('#bx_address_ul').find('li').off('click'); // var html = template('bx_address_ul_temp', { list: res.result }); // $('#bx_address_ul').html(html).show().find('li').on('click', function () { // $('#bx_address').val($(this).text());//文本框赋值 // $('#bx_address_ul').hide(); // }) // } // }, // error: function (err) { // console.log(err); // } // }); // } // //点击空白处隐藏 // $(document).on('click', function (e) { // if (e.target !== $('#bx_address').get(0)) { // $('#bx_address_ul').hide(); // //模拟placeholder // if ($('#bx_address').val() == '') { // $('#bx_address').val('请输入故障地点'); // } // } // }) // })(); //报修科室seimin (function () { //自动带入报修科室 if (loginUser.dept) { $("#bx_ks").val(loginUser.dept.dept).data("id", loginUser.dept.id); } else { $("#bx_address").val("请输入详细的地址"); } //点击文本框 $("#bx_ks").on("click", function () { ks_arr.list = []; ks_pageNum = 0; getDepartmentList(0); $("#bx_ks_ul").scrollTop(0); }); //修改文字,实时监听 $("#bx_ks").on( "keyup", debounce(function () { ks_arr.list = []; ks_pageNum = 0; getDepartmentList(0); $("#bx_ks_ul").scrollTop(0); }, 500) ); //报修科室必须选中下拉框,否则恢复为默认值 $("#bx_ks").on("blur", function () { //自动带入报修科室 if (loginUser.dept) { // document.title +=1; $(this).val(loginUser.dept.dept).data("id", loginUser.dept.id); } else { $(this).val("").data("id", ""); } }); //报修科室滚动条 $("#bx_ks_ul").niceScroll(); //滚动加载 $("#bx_ks_ul").on( "scroll", debounce(function () { var itemLen = $(this).find("li").length; var itemHeight = $(this).find("li").outerHeight(); var wrapHeight = $(this).outerHeight(); var max = itemLen * itemHeight - wrapHeight; var diff = max - $(this).scrollTop(); if (Math.abs(diff) < 200) { ks_pageNum++; if (ks_len != itemLen) { ks_len = itemLen; getDepartmentList(ks_pageNum); } } }, 500) ); //获取科室信息 function getDepartmentList(idx) { $.ajax({ type: "POST", contentType: "application/json;charset=UTF-8", url: baseUrl + "user/data/fetchDataList/department", data: JSON.stringify({ idx: idx, sum: 50, department: { dept: $("#bx_ks").val() }, }), success: function (res) { if (res.status == 200) { $("#bx_ks_ul").find("li").off("click"); //添加分页数据,汇总 ks_arr.list = ks_arr.list.concat(res.list); var html = template("bx_ks_ul_temp", ks_arr); // 选中科室 $("#bx_ks_ul") .html(html) .show() .find("li") .on("click", function () { // document.title +=2; $("#bx_ks").val($(this).text()).data("id", $(this).data("id")); //文本框赋值 // 故障地点和电话联动 var id = $(this).data("id"); for (var i = 0; i < ks_arr.list.length; i++) { if (ks_arr.list[i].id == id) { $("#bx_tel").val(ks_arr.list[i].phone); $("#bx_address").val( ks_arr.list[i].place.place ? ks_arr.list[i].place.area.area + ks_arr.list[i].place.place : ks_arr.list[i].place.area ); } } $("#bx_ks_ul").hide(); }); } }, error: function (err) { console.log(err); }, }); } //点击空白处隐藏 $(document).on("click", function (e) { if (e.target !== $("#bx_ks").get(0)) { $("#bx_ks_ul").hide(); //模拟placeholder if ($("#bx_ks").val() == "") { $("#bx_ks").val("请选择报修科室"); } } }); })(); // 滚动条 $(".r-list").niceScroll(); $(".form").niceScroll(); $(".con-wrap").niceScroll(); // pop1HdScroll(); //placeholder $("#searchPro") .on("focus", function () { if ($(this).val() == "请输入关键字") { $(this).val(""); } }) .on("blur", function () { if ($(this).val() == "") { $(this).val("请输入关键字"); } }); $("#bx_address").on("focus", function () { if ($(this).val() == "请输入详细的地址") { $(this).val(""); } }); $("#bx_ks").on("focus", function () { if ($(this).val() == "请选择报修科室") { $(this).val(""); } }); $("#bx_description") .on("focus", function () { if ($(this).val() == "请输入报修的内容") { $(this).val(""); } }) .on("blur", function () { if ($(this).val() == "") { $(this).val("请输入报修的内容"); } }); $("#bx_name") .on("focus", function () { if ($(this).val() == "请输入联系人") { $(this).val(""); } }) .on("blur", function () { if ($(this).val() == "") { $(this).val("请输入联系人"); } }); $("#bx_tel") .on("focus", function () { if ($(this).val() == "请输入联系电话") { $(this).val(""); } }) .on("blur", function () { if ($(this).val() == "") { $(this).val("请输入联系电话"); } }); //报修图片预览 $(".formItem .f-images-item--file .f-file").on("change", function () { if (!isLtIe10()) { //ie>=10 var file = $(this)[0].files[0]; //获取文件信息 var $this = $(this); //防止ie10,ie11触发两次change if (file == null) { return; } //小于10M&&格式是png与jpg if (file.size.toFixed(1) < 10 * 1024 * 1024 && isAllowFile(file.name)) { var reader = new FileReader(); //调用FileReader reader.readAsDataURL(file); //将文件读取为 DataURL(base64) reader.onload = function (evt) { //读取操作完成时触发。 $this.val(""); //清空file的值 //最多3张图 if ($("#f-images-list").find(".f-images-item").length == 3) { $("#f-images-list").find(".f-images-item--file").hide(); } else { $("#f-images-list").find(".f-images-item--file").show(); } var formData = new FormData(); formData.append("fileName", file.name); formData.append("file", file); var imgId = uuid.v4(); //id imgList.push({ list: formData, id: imgId }); $("#f-images-list").prepend( $( '
  • ' ) ); //取消上传图片 $(".formItem .f-images-item .f-thumb-close").on("click", function () { for (var i = 0; i < imgList.length; i++) { if ( imgList[i].id == $(this).closest(".f-images-item").data("id") ) { imgList.splice(i, 1); break; } } $(this).closest(".f-images-item").remove(); if ($("#f-images-list").find(".f-images-item").length == 4) { $("#f-images-list").find(".f-images-item--file").hide(); } else { $("#f-images-list").find(".f-images-item--file").show(); } }); }; } else { alert("图片只能使JPG或PNG格式,并且不能超过10M"); } } else { var cloneObj1 = $(".f-images-item").eq(0).clone(true); //克隆默认 cloneObj1.find(".f-thumb-wrap").remove(); //移除图片 cloneObj1.find(".f-thumb-close").remove(); //移除X cloneObj1.find(".iframe-upload").remove(); //移除iframe var cloneObj2 = $(".f-images-item").eq(0).clone(true); //克隆默认 cloneObj2.find(".f-thumb-wrap").remove(); //移除图片 cloneObj2.find(".f-thumb-close").remove(); //移除X cloneObj2.find(".iframe-upload").remove(); //移除iframe $(this).get(0).select(); $(this).get(0).blur(); //ie9兼容 var url = document.selection.createRange().text; if (/.+\.(jpg|png|jpeg)$/.test(url)) { var urlIndex = url.lastIndexOf("\\"); var urlFileName = url.substr(urlIndex + 1); //文件名 var ieImgId = uuid.v4(); imgList.push({ fileName: urlFileName, id: ieImgId }); $(this).closest(".f-images-item").data("id", ieImgId); //绑定id到元素上 $(this) .closest(".form-file") .after( $( '
    ' ) ); $(this) .closest(".form-file") .after($('')); $(this) .closest(".form-file") .after( $( '' ) ); $(this).after( $( '' ) ); $(this) .closest(".form-file") .attr("target", "imgupload" + ieImgId); if ($("#f-images-list").find(".f-images-item").length < 3) { $("#f-images-list").append(cloneObj1); } //取消上传图片(取消------------------) $(".formItem .f-images-item .f-thumb-close").on("click", function () { for (var i = 0; i < imgList.length; i++) { if ( imgList[i]["id"] == $(this).closest(".f-images-item").data("id") ) { imgList.splice(i, 1); break; } } $(this).closest(".f-images-item").remove(); if ($(".formItem .f-images-item").length == imgList.length) { $("#f-images-list").append(cloneObj2); } }); } else { alert("图片只能使JPG或PNG格式,并且不能超过10M"); } } }); //常见问题搜索 $("#searchProSubmit").on("click", search); $("#searchPro").on("keyup", function (e) { if (e.keyCode == 13) { search(); } }); function search() { solution_pageNum = 0; var val = $.trim($("#searchPro").val()) == "请输入关键字" ? "" : $.trim($("#searchPro").val()); isSearch = true; getSolutionList({ idx: solution_pageNum, sum: 10, solution: { title: val, status: { id: 72 } }, }); } //选择框联动 $("#area_list").on("change", function () { //获取id var id = $(this).val(); // 过滤数据 var resFilter = { list: [] }; for (var i = 0; i < placeList.length; i++) { if (placeList[i]["area"]["id"] == id) { resFilter.list.push(placeList[i]); } } //填充数据 var html = template("place_list_temp", resFilter); $("#place_list").html(html); }); // 提交报修 $("#f-submit").on("click", function () { //按钮禁止 $(this).prop("disabled", true); $(this).addClass("f-submit--disable"); if (repairMain.valueconfig == 2) { //如果是报修科室 if ( $("#bx_ks").val().replace(/\s/g, "") === "" || $("#bx_ks").val().replace(/\s/g, "") === "请选择报修科室" ) { alert("报修科室不能为空"); //按钮禁止取消 $(this).removeProp("disabled"); $(this).removeClass("f-submit--disable"); return; } } if (repairMain.valueconfig == 1) { //如果是报修人 if ( $("#bx_name").val().replace(/\s/g, "") === "" || $("#bx_name").val().replace(/\s/g, "") === "请输入联系人" ) { alert("联系人不能为空"); //按钮禁止取消 $(this).removeProp("disabled"); $(this).removeClass("f-submit--disable"); return; } } else if (repairMain.valueconfig == 2) { //报修主体是报修科室的话,非必填 if ($("#bx_name").val().replace(/\s/g, "") === "请输入联系人") { $("#bx_name").val(""); } } if ($("#area_list").val() < 1) { alert("区域不能为空"); //按钮禁止取消 $(this).removeProp("disabled"); $(this).removeClass("f-submit--disable"); return; } if ($("#place_list").val() < 1) { alert("地点不能为空"); //按钮禁止取消 $(this).removeProp("disabled"); $(this).removeClass("f-submit--disable"); return; } if ( $("#bx_tel").val().replace(/\s/g, "") === "" || $("#bx_tel").val().replace(/\s/g, "") === "请输入联系电话" || !/^[\d\-]*$/.test($("#bx_tel").val()) ) { alert("请输入正确的联系电话"); //按钮禁止取消 $(this).removeProp("disabled"); $(this).removeClass("f-submit--disable"); return; } if ( $("#bx_address").val().replace(/\s/g, "") === "" || $("#bx_address").val() == "请输入详细的地址" ) { alert("地址不能为空"); //按钮禁止取消 $(this).removeProp("disabled"); $(this).removeClass("f-submit--disable"); return; } if ( $("#bx_description").val().replace(/\s/g, "") === "" || $("#bx_description").val() == "请输入报修的内容" ) { alert("报修内容不能为空"); //按钮禁止取消 $(this).removeProp("disabled"); $(this).removeClass("f-submit--disable"); return; } var data = { verification: "true" }; data.incident = { address: $.trim($("#bx_address").val()), areaId: $.trim($("#area_list").val()), bxcode: wxId, contacts: $.trim($("#bx_name").val()), contactsInformation: $("#bx_tel").val(), description: $.trim($("#bx_description").val()), fileUrl: "url", placeId: $.trim($("#place_list").val()), requester: loginUser, sourceType: "webRequesterIncident", }; // 自动建单 if (reqHasCategory.valueconfig == 1) { data.incident.categoryId = $("#bx_eventClass").val(); } data.loginUser = { id: loginUser.id, account: loginUser.account, }; if (repairMain.valueconfig == "2") { //如果有报修科室 data.incident.deptId = $("#bx_ks").data("id"); } addBxMsg(data); }); // 注销登录 $(".logOut .logOutBtn").on("click", function () { logout(); }); $(".logOut").on("click", function () { $(this).find(".down").toggleClass("up"); if ($(this).find(".up").length > 0) { $(".logOut .logOutWrap").show(); } else { $(".logOut .logOutWrap").hide(); } return false; }); $(document).click(function (e) { if ($(this).find(".up").length > 0) { $(this).find(".down").removeClass("up"); $(".logOut .logOutWrap").hide(); } }); //切换最新报修列表和查号列表tab baba // var currentBxOrCh = 0; //0是最新报修列表,1是查号列表 $(".opcBg .opcBg_item").on("click", function () { $("#bx_list").scrollTop(0); bx_pageNum = 0; bx_len = 0; bx_arr.data = []; ch_arr.list = []; currentBxOrCh = $(this).index(); if(currentBxOrCh === 0){ $('.right .r-list').css('top','41px') }else if(currentBxOrCh === 1){ $('.right .r-list').css('top','63px') } $(this).addClass("active").siblings().removeClass("active"); getNewBxList(currentBxOrCh); }); //最新报修列表或挂号滚动加载 $("#bx_list").on( "scroll", debounce(function () { var itemLen = $(this).find(".r-item").length; var itemHeight = $(this).find(".r-item").outerHeight(); var wrapHeight = $(this).outerHeight(); var max = itemLen * itemHeight - wrapHeight; var diff = max - $(this).scrollTop(); if (Math.abs(diff) < 200 && $(this).scrollTop()) { bx_pageNum++; if (bx_len != itemLen) { bx_len = itemLen; isSearch1 = false; getNewBxList(currentBxOrCh); } } }, 500) ); //常见问题滚动加载 $("#solution_list").on( "scroll", debounce(function () { var itemLen = $(this).find(".infoItem").length; var itemHeight = $(this).find(".infoItem").outerHeight(); var wrapHeight = $(this).outerHeight(); var max = itemLen * itemHeight - wrapHeight; var diff = max - $(this).scrollTop(); if (Math.abs(diff) < 200) { solution_pageNum++; if (solution_len != itemLen) { solution_len = itemLen; isSearch = false; getSolutionList({ idx: solution_pageNum, sum: 10, solution: { title: $.trim($("#searchPro").val()), status: { id: 72 }, }, }); } } }, 500) ); // ---------------------------------------- // 弹窗 function pop1Handle(obj) { var defaults = { width: 600, //长 height: 630, //宽 title: "标题", //弹窗顶部标题 confirmTitle: "确认按钮", //底部确认按钮 cancelTitle: "取消按钮", //底部取消按钮 onlyButton: true, //底部是否只有一个按钮 confirmHandle: null, //确认按钮回调 twoConfirmClose: true, //确认按钮是否关闭弹窗(2个按钮) oneConfirmClose: true, //确认按钮是否关闭弹窗(1个按钮) }; $.extend(defaults, obj); if (defaults.onlyButton) { $("#pop1 .pop1-oneBtn").show(); $("#pop1 .pop1-twoBtn").hide(); } else { $("#pop1 .pop1-oneBtn").hide(); $("#pop1 .pop1-twoBtn").show(); } $("#pop1") .css({ width: defaults.width, height: defaults.height }) .find(".pop1-title span") .text(defaults.title) .closest(".pop1-title") .nextAll(".pop1-operate") .find(".twoConfirm") .text(defaults.confirmTitle) .next(".twoCancel") .text(defaults.cancelTitle) .closest(".pop1-operate") .find(".oneConfirm") .text(defaults.confirmTitle) .closest("#pop1") .fadeIn("fast"); showMask(); //点击确定按钮 $("#pop1 .oneConfirm,#pop1 .twoConfirm").on( "click", { defaults: defaults }, callback ); //点击按钮隐藏弹层 $("#pop1 .pop1-title-icon,#pop1 .twoCancel").on("click", pop1Hide); if (defaults.twoConfirmClose) { $("#pop1 .twoConfirm").on("click", pop1Hide); } if (defaults.oneConfirmClose) { $("#pop1 .oneConfirm").on("click", pop1Hide); } } //回调 function callback(event) { if ( event.data.defaults.confirmHandle && typeof event.data.defaults.confirmHandle === "function" ) { event.data.defaults.confirmHandle(); } } //显示弹窗 function pop1Show() { $("#pop1").fadeIn("fast"); showMask(); } //隐藏弹窗 function pop1Hide() { $("#pop1").fadeOut("fast"); hideMask(); $(".oneConfirm,.twoConfirm").off("click", callback); } //显示遮罩 function showMask() { $("#mask").fadeIn("fast"); } //隐藏遮罩 function hideMask() { $("#mask").fadeOut("fast"); } //成功提示 function tipsSuccess(msg, isUpadte) { var html = template("tips_detail_temp", { msg: msg }); var isUpadte = isUpadte == undefined ? true : false; $("#pop1").html(html); pop1Handle({ width: 340, height: 230, title: "提示", confirmTitle: "知道了", onlyButton: true, confirmHandle: function () { if (isUpadte) { location.reload(); } }, }); } //公告里面的date字符串截取 template.defaults.imports.dateTime = function (date) { return date.slice(0, 19); }; // 格式化日期 template.defaults.imports.dateFormat = function (time) { var date = new Date(time); var year = date.getFullYear(); var month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1; var day = date.getDate() < 10 ? "0" + date.getDate() : date.getDate(); var hour = date.getHours() < 10 ? "0" + date.getHours() : date.getHours(); var minute = date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes(); var second = date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds(); return ( year + "-" + month + "-" + day + " " + hour + ":" + minute + ":" + second ); }; //添加滚动条 function pop1HdScroll() { $(".pop1-hd").niceScroll(); } //重新计算 function pop1HdResize() { pop1HdScroll(); } //获取上传文件的后缀名 function getFileExt(fileName) { if (!fileName) { return ""; } var _index = fileName.lastIndexOf("."); if (_index < 1) { return ""; } return fileName.substr(_index + 1); } //是否是允许上传文件格式 function isAllowFile(fileName, allowType) { var fileExt = getFileExt(fileName).toLowerCase(); if (!allowType) { allowType = ["jpg", "jpeg", "png"]; } if ($.inArray(fileExt, allowType) != -1) { return true; } return false; } // 防抖 function debounce(fn, delay) { var timer = null; return function () { var self = this, args = arguments; clearTimeout(timer); timer = setTimeout(function () { fn.apply(self, args); }, delay); }; } // ------------------------------ // -------------交互--------- // 获取公告列表3条 function getNoticeList(data) { $("#notice_list .loading").show(); $.ajax({ type: "POST", contentType: "application/json;charset=UTF-8", url: baseUrl + "user/data/fetchDataList/notice", data: JSON.stringify(data), success: function (res) { if (res.status == 200) { $("#notice_list .loading").hide(); var html = template("notice_list_temp", res); $("#notice_list").html(html); // 公告详情 $("#notice_list .detail").on("click", function () { //获取id var id = $(this).data("id"); // 过滤数据 var resFilter = []; for (var i = 0; i < res.list.length; i++) { if (res.list[i]["id"] == id) { resFilter = res.list[i]; } } //填充弹窗数据 var html = template("notice_detail_temp", resFilter); $("#pop1").html(html); //弹窗展示 pop1Handle({ title: "公告详情", confirmTitle: "知道了", onlyButton: true, }); }); } }, error: function (err) { console.log(err); }, }); } //获取常见问题 function getSolutionList(data) { $("#solution_list").hide().next(".loading").show(); $.ajax({ type: "POST", contentType: "application/json;charset=UTF-8", url: baseUrl + "solution/fetchDataList/solution", data: JSON.stringify(data), success: function (res) { if (res.status == 200) { //搜索问题 if (isSearch) { solution_arr.list = []; } solution_arr.list = solution_arr.list.concat(res.list); var html = template("solution_list_temp", solution_arr); $("#solution_list").html(html); //触发 $("#solution_list").getNiceScroll().resize(); // 点击详情 $("#solution_list .detail").on("click", function () { //获取id var id = $(this).data("id"); // 过滤数据 var resFilter = []; for (var i = 0; i < solution_arr.list.length; i++) { if (solution_arr.list[i]["id"] == id) { resFilter = solution_arr.list[i]; } } //点赞是否禁用 getStarIf(id, function (data) { resFilter.starIf = data.result; //填充弹窗数据 var html = template("solution_detail_temp", resFilter); $("#pop1").html(html); //弹窗展示 pop1Handle({ title: "知识库查看", confirmTitle: "点赞(" + resFilter.star + ")", onlyButton: true, oneConfirmClose: false, confirmHandle: function () { if (resFilter.starIf) { //可以点赞 $.ajax({ type: "GET", contentType: "application/json;charset=UTF-8", url: baseUrl + "solution/star/requester/" + resFilter.id + "/" + loginUser.id, cache: false, success: function (res) { if (res.status == 200) { tipsSuccess("点赞成功"); } }, error: function (err) { console.log(err); }, }); } else { //不能点赞 tipsSuccess("已经点过赞了", false); } }, }); }); }); $("#solution_list").show().next(".loading").hide(); } }, error: function (err) { console.log(err); }, }); } //获取区域列表 function getAreaList(data) { $.ajax({ type: "POST", contentType: "application/json;charset=UTF-8", url: baseUrl + "user/data/fetchDataList/area", data: JSON.stringify(data), success: function (res) { if (res.status == 200) { var html = template("area_list_temp", res); $("#area_list").html(html); } }, error: function (err) { console.log(err); }, }); } //获取地点列表 function getPlaceList(data) { $.ajax({ type: "POST", contentType: "application/json;charset=UTF-8", url: baseUrl + "user/data/fetchDataList/place", data: JSON.stringify(data), success: function (res) { if (res.status == 200) { var html = template("place_list_temp", res); $("#place_list").html(html); placeList = res.list; } }, error: function (err) { console.log(err); }, }); } //获取微信报修ID function getWxId() { $.ajax({ type: "GET", contentType: "application/json;charset=UTF-8", url: baseUrl + "bpm/bpm/restful/wxbx", cache: false, success: function (res) { if (res.status == 200) { wxId = res.data; } }, error: function (err) { console.log(err); }, }); } // 提交报修 function addBxMsg(data) { $.ajax({ type: "POST", contentType: "application/json;charset=UTF-8", url: baseUrl + "apply/bpm/addWxIncident", data: JSON.stringify(data), success: function (res) { if (res.state == 200) { //按钮禁止取消 $(this).removeProp("disabled"); $(this).removeClass("f-submit--disable"); if (imgList.length > 0) { for (var i = 0; i < imgList.length; i++) { imgAjaxNum++; if (!isLtIe10()) { //标准浏览器 // if (imgList[i].has('id')) { // //删除formData中的id,以便提交上传 // imgList[i]['delete']('id'); // } addImgList(res.incident.id, imgList[i].list); } else { addImgListIE(res.incident.id, imgList[i].id); } } } else { tipsSuccess("提交事件报修成功"); } } }, error: function (err) { console.log(err); }, }); } //获取最新报修或查号列表,0是报修,1是查号 function getNewBxList(type) { $("#bx_list").hide().next(".loading").show(); let postData = {}; let url = ""; if (type === 0) { $('.opcBg_searchBox').hide(); postData = { assignee: loginUser.account, state: 0, idx: bx_pageNum, sum: 10, }; url = "apply/bpm/fetchServiceTasks"; } else if (type === 1) { $('.opcBg_searchBox').show(); var val = $.trim($("#searchPro1").val()) == "请输入关键字" ? "" : $.trim($("#searchPro1").val()); postData = { idx: bx_pageNum, sum: 10, department: { selectType: "pinyin_qs", dept: val, }, }; url = "user/data/fetchDataList/department"; } $.ajax({ type: "POST", contentType: "application/json;charset=UTF-8", url: baseUrl + url, data: JSON.stringify(postData), success: function (res) { console.log(res); if (type === 0) { // 1592 未受理,1593 不受理,1594 处理中,1595 待评价,1596 已解决,1597 已撤回 if (res.state == 200) { for (var i = 0; i < res.data.length; i++) { if (res.data[i].state.id == 1592) { res.data[i].processArr = [ "current", false, false, false, false, ]; } else if (res.data[i].state.id == 0) { res.data[i].processArr = [true, "current", false, false, false]; } else if (res.data[i].state.id == 1594) { res.data[i].processArr = [true, true, "current", false, false]; } else if (res.data[i].state.id == 1595) { res.data[i].processArr = [true, true, true, "current", false]; } else { res.data[i].processArr = [true, true, true, true, "current"]; } } //增加申请时间 for (var i = 0; i < res.data.length; i++) { res.data[i].time = res.data[i].createTime; res.data[i].processInstanceId = res.data[i].incident.processInstanceId; } //添加分页数据,汇总 bx_arr.data = bx_arr.data.concat(res.data); var html = template("bx_list_temp", bx_arr); $("#bx_list").html(html); //触发 $("#bx_list").getNiceScroll().resize(); // 详情 $("#bx_list .r-item-click").on("click", function () { //获取id var id = $(this).data("id"); // 过滤数据 var resFilter = []; for (var i = 0; i < bx_arr.data.length; i++) { if (bx_arr.data[i]["id"] == id) { resFilter = bx_arr.data[i]; } } //点击事件详情不同逻辑处理 getImgList(id, function (data) { //获取流程时间 if (resFilter.processInstanceId) { getTimeList( resFilter.processInstanceId, function (data) { resFilter.timeList = data; resFilter.timeList.unshift({ endTime: resFilter.time }); }, false ); } else { resFilter.timeList = [ { endTime: "" }, { endTime: "" }, { endTime: "" }, { endTime: "" }, { endTime: "" }, ]; } resFilter.imgList = data; //添加图片数组 if (resFilter.state.id == 1592) { //未受理 //添加详情页流程数据 processMessageData.forEach(function(v){ v.desc = v.desc.replace(/<.*?>(.*?)<\/.*?>/g, '$1'); }) resFilter.processList = processMessageData; //填充弹窗数据 var html = template("bx1_detail_temp", resFilter); $("#pop1").html(html); //图片放大 enlarge(); // 滚动条 pop1HdResize(); //弹窗展示 pop1Handle({ title: "报修查看", confirmTitle: "撤回", cancelTitle: "取消", onlyButton: false, twoConfirmClose: false, confirmHandle: function () { // setTimeout(function () { //填充弹窗数据 var html = template("back_detail_temp", {}); $("#pop1").html(html); //placeholder $(".back-textarea") .on("focus", function () { if ($(this).val() == "请输入撤回原因") { $(this).val(""); } }) .on("blur", function () { if ($(this).val() == "") { $(this).val("请输入撤回原因"); } }); pop1Handle({ width: 340, height: 230, title: "撤回原因", confirmTitle: "撤回", cancelTitle: "取消", onlyButton: false, twoConfirmClose: false, confirmHandle: function () { if ( $.trim($("#pop1 .back-textarea").val()) != "" && $.trim($("#pop1 .back-textarea").val()) != "请输入撤回原因" ) { bxBack({ id: id, retractReason: $("#pop1 .back-textarea").val(), }); } else { alert("撤回原因不能为空"); } }, }); // }, 200) }, }); } else if (resFilter.state.id == 0) { //添加详情页流程数据 processMessageData.forEach(function(v){ v.desc = v.desc.replace(/<.*?>(.*?)<\/.*?>/g, '$1'); }) resFilter.processList = processMessageData; //填充弹窗数据 var html = template("bx2_detail_temp", resFilter); $("#pop1").html(html); //图片放大 enlarge(); // 滚动条 pop1HdResize(); //弹窗展示 pop1Handle({ title: "报修查看", confirmTitle: "撤回", cancelTitle: "取消", onlyButton: false, confirmHandle: function () { // setTimeout(function () { //填充弹窗数据 var html = template("back_detail_temp", {}); $("#pop1").html(html); //placeholder $(".back-textarea") .on("focus", function () { if ($(this).val() == "请输入撤回原因") { $(this).val(""); } }) .on("blur", function () { if ($(this).val() == "") { $(this).val("请输入撤回原因"); } }); pop1Handle({ width: 340, height: 230, title: "撤回原因", confirmTitle: "撤回", cancelTitle: "取消", onlyButton: false, twoConfirmClose: false, confirmHandle: function () { if ( $.trim($("#pop1 .back-textarea").val()) != "" || $.trim($("#pop1 .back-textarea").val()) != "请输入撤回原因" ) { bxBack({ id: id, retractReason: $("#pop1 .back-textarea").val(), }); } else { alert("撤回原因不能为空"); } }, }); // }, 200) }, }); } else if (resFilter.state.id == 1594) { //添加详情页流程数据 processMessageData.forEach(function(v){ v.desc = v.desc.replace(/<.*?>(.*?)<\/.*?>/g, '$1'); }) resFilter.processList = processMessageData; //填充弹窗数据 var html = template("bx3_detail_temp", resFilter); $("#pop1").html(html); //图片放大 enlarge(); // 滚动条 pop1HdResize(); //弹窗展示 pop1Handle({ title: "报修查看", confirmTitle: "知道了", onlyButton: true, }); } else if (resFilter.state.id == 1595) { //添加详情页流程数据 processMessageData.forEach(function(v){ v.desc = v.desc.replace(/<.*?>(.*?)<\/.*?>/g, '$1'); }) resFilter.processList = processMessageData; //填充弹窗数据 var html = template("bx4_detail_temp", resFilter); $("#pop1").html(html); //图片放大 enlarge(); // 滚动条 pop1HdResize(); //弹窗展示 pop1Handle({ title: "报修查看", confirmTitle: "去评价", cancelTitle: "取消", onlyButton: false, twoConfirmClose: false, confirmHandle: function () { var currentIndex = -1; //填充弹窗数据 resFilter.dictionary = dictionary; var html = template("bx4_detail_1_temp", resFilter); $("#pop1").html(html); //评价placeholder $(".evaluate-textarea") .on("focus", function () { if ( $(this).val() == "你可以从响应速度、解决情况、服务态度等方面,给我们作出相应的评价" ) { $(this).val(""); } }) .on("blur", function () { if ($(this).val() == "") { $(this).val( "你可以从响应速度、解决情况、服务态度等方面,给我们作出相应的评价" ); } }); // 滚动条 pop1HdResize(); //评分 $("#evaluate .star") .find("i") .hover( function () { var i = $(this).index(); $("#evaluate .star") .find("i") .removeClass("active"); $("#evaluate .star") .find("i:lt(" + i + ")") .addClass("active"); $("#evaluate .star") .find("i:eq(" + i + ")") .addClass("active"); $("#evaluate .star-text").text(dictionary[i].name); }, function () { var i = $(this).index(); currentIndex = i; $("#evaluate .star") .find("i:gt(" + i + ")") .removeClass("active"); } ); // setTimeout(function () { pop1Handle({ title: "报修查看", confirmTitle: "提交评价", cancelTitle: "取消", onlyButton: false, twoConfirmClose: false, confirmHandle: function () { if ( $.trim($("#pop1 .evaluate-textarea").val()) != "" && $.trim($("#pop1 .evaluate-textarea").val()) != "你可以从响应速度、解决情况、服务态度等方面,给我们作出相应的评价" ) { addDegree({ id: resFilter.id, degree: currentIndex > 0 ? dictionary[currentIndex].id : dictionary[4].id, degreeRemark: $("#pop1 .evaluate-textarea").val(), }); } else { alert("请输入评价的内容"); } }, }); // }, 500) }, }); } else if (resFilter.state.id == 1593) { //添加详情页流程数据 processMessageData.forEach(function(v){ v.desc = v.desc.replace(/<.*?>(.*?)<\/.*?>/g, '$1'); }) resFilter.processList = processMessageData; //填充弹窗数据 var html = template("bx5_detail_temp", resFilter); $("#pop1").html(html); //图片放大 enlarge(); // 滚动条 pop1HdResize(); //弹窗展示 pop1Handle({ title: "报修查看", confirmTitle: "知道了", onlyButton: true, }); } else if (resFilter.state.id == 1597) { //添加详情页流程数据 processMessageData.forEach(function(v){ v.desc = v.desc.replace(/<.*?>(.*?)<\/.*?>/g, '$1'); }) resFilter.processList = processMessageData; //填充弹窗数据 var html = template("bx6_detail_temp", resFilter); $("#pop1").html(html); //图片放大 enlarge(); // 滚动条 pop1HdResize(); //弹窗展示 pop1Handle({ title: "报修查看", confirmTitle: "知道了", onlyButton: true, }); } else { //添加详情页流程数据 processMessageData.forEach(function(v){ v.desc = v.desc.replace(/<.*?>(.*?)<\/.*?>/g, '$1'); }) resFilter.processList = processMessageData; //填充弹窗数据 var html = template("bx7_detail_temp", resFilter); $("#pop1").html(html); //图片放大 enlarge(); // 滚动条 pop1HdResize(); //弹窗展示 pop1Handle({ title: "报修查看", confirmTitle: "知道了", onlyButton: true, }); } }); }); $("#bx_list").show().next(".loading").hide(); } } else if (type === 1) { if (res.status == 200) { //搜索挂号 if (isSearch1) { ch_arr.list = []; } //添加分页数据,汇总 ch_arr.list = ch_arr.list.concat(res.list); var html = template("ch_list_temp", ch_arr); $("#bx_list").html(html); //触发 $("#bx_list").getNiceScroll().resize(); $("#bx_list").show().next(".loading").hide(); // 回显 $("#searchPro1").val(val === "" ? "请输入关键字" : val); //placeholder $("#searchPro1") .on("focus", function () { if ($(this).val() == "请输入关键字") { $(this).val(""); } }) .on("blur", function () { if ($(this).val() == "") { $(this).val("请输入关键字"); } }); //电话挂号搜索 $("#searchProSubmit1").on("click", search1); $("#searchPro1").on("keyup", function (e) { if (e.keyCode == 13) { search1(); } }); function search1() { bx_pageNum = 0; isSearch1 = true; getNewBxList(currentBxOrCh); } } } }, error: function (err) { console.log(err); }, }); } //详情图片点击放大预览 function enlarge() { $(".pop1-hd__itemBxImgs").on("click", function () { $(this) .closest(".pop1-hd__itemListImgs") .after( $( '
    ' ) ); $(".pop1-hd__itemBxImgsMask").on("click", function () { $(this).remove(); }); }); } //获取详情页流程数据 function getProcessMessageData() { $.ajax({ type: "POST", contentType: "application/json;charset=UTF-8", url: baseUrl + "sysinfo/data/fetchDataList/dictionary", data: JSON.stringify({ idx: 0, sum: 10, dictionary: { key: "wxincident_task_default" }, }), success: function (res) { if (res.status == 200) { processMessageData = res.list; } }, error: function (err) { console.log(err); }, }); } //撤回操作 function bxBack(data) { //{"id":28,"retractReason":"asdas"} $.ajax({ type: "POST", contentType: "application/json;charset=UTF-8", url: baseUrl + "apply/bpm/retract", data: JSON.stringify(data), success: function (res) { if (res.state == 200) { tipsSuccess("撤销成功"); } }, error: function (err) { console.log(err); }, }); } //获取评价五颗星的信息 function getDictionary() { $.ajax({ type: "POST", contentType: "application/json;charset=UTF-8", url: baseUrl + "common/common/getDictionary", data: JSON.stringify({ key: "incident_degree", type: "list" }), success: function (res) { dictionary = res; dictionary.sort(function (a, b) { return a.value - b.value; }); }, error: function (err) { console.log(err); }, }); } //提交评价 function addDegree(data) { $.ajax({ type: "POST", contentType: "application/json;charset=UTF-8", url: baseUrl + "apply/bpm/degree", data: JSON.stringify(data), success: function (res) { if (res.state == 200) { tipsSuccess("您的评价已提交!"); } }, error: function (err) { console.log(err); }, }); } //注销 function logout() { //单点登录 if (sessionStorage.getItem("isSSo") === "1") { sessionStorage.removeItem("loginUser"); sessionStorage.removeItem("repair_main"); sessionStorage.removeItem("isSSo"); location.href = "http://" + location.hostname + ":8080/pcreq_logout.jsp"; } else { $.ajax({ type: "POST", contentType: "application/json;charset=UTF-8", url: baseUrl + "auth/logout2", data: JSON.stringify({}), success: function (res) { if (res.status == 200) { sessionStorage.removeItem("loginUser"); sessionStorage.removeItem("repair_main"); sessionStorage.removeItem("isSSo"); window.location.href = "login.html"; } }, error: function (err) { console.log(err); }, }); } } //图片上传 function addImgList(id, data) { $.ajax({ type: "POST", contentType: "application/json;charset=UTF-8", url: baseUrl + "common/common/uploadAttachment/wxIncident/" + id, data: data, cache: false, processData: false, contentType: false, success: function (res) { if (res.status == 200) { imgAjaxNum--; if (imgAjaxNum == 0) { tipsSuccess("提交事件报修成功"); } } }, error: function (err) { console.log(err); }, }); } //图片上传(IE<10) function addImgListIE(id, index) { var len = $("#f-images-list").find(".f-images-item").length; var n = 0; if (imgList.length == 3) { n = len; } else { n = len - 1; } for (var i = 0; i < n; i++) { if ( $("#f-images-list").find(".f-images-item").eq(i).data("id") == index ) { $("#f-images-list") .find(".f-images-item") .eq(i) .find(".form-file") .attr( "action", baseUrl + "common/common/uploadAttachment/wxIncident/" + id ) .submit(); imgAjaxNum--; } } if (imgAjaxNum == 0) { tipsSuccess("提交事件报修成功"); } } //图片获取 function getImgList(id, successFn) { $.ajax({ type: "GET", contentType: "application/json;charset=UTF-8", url: baseUrl + "common/common/listAttachment/wxIncident/" + id, cache: false, success: function (res) { if (res.status == 200) { successFn(res.data); } }, error: function (err) { console.log(err); }, }); } //获取流程时间 function getTimeList(processInstanceId, successFn, bool) { $.ajax({ type: "POST", contentType: "application/json;charset=UTF-8", url: baseUrl + "bpm/bpm/flowTracing/" + processInstanceId, cache: false, async: bool, success: function (res) { if (res.status == 200) { successFn(res.data); } }, error: function (err) { console.log(err); }, }); } // 获取是否点过赞 function getStarIf(id, successFn) { $.ajax({ type: "GET", contentType: "application/json;charset=UTF-8", url: baseUrl + "solution/canStar/requester/" + id + "/" + loginUser.id, cache: false, success: function (res) { if (res.status == 200) { successFn(res); } }, error: function (err) { console.log(err); }, }); } });