$(function () { var repairMain = JSON.parse(sessionStorage.getItem('repair_main'));//报修主体 var ifCreate = JSON.parse(sessionStorage.getItem('ifCreate'));//自动建单 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 bx_pageNum = 0; //最新报修分页 var bx_arr = { data: [] }; //最新报修所有数据列表 var bx_len = 0; //最新报修所有数据列表数量 var solution_pageNum = 0; //常见问题分页 var solution_arr = { list: [] }; //常见问题所有数据列表 var solution_len = 0; //常见问题所有数据列表数量 var isSearch = 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 (ifCreate.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({ "assignee": loginUser.id, "state": 0, "idx": bx_pageNum, "sum": 10 }); //获取详情页流程数据 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 } } }, isSearch) } //选择框联动 $('#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: "wechatRequesterIncident" }; // 自动建单 if (ifCreate.valueconfig == 1) { data.incident.categoryId = $('#bx_eventClass').val(); } data.loginUser = { id: loginUser.id } 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(); } }) //最新事件列表滚动加载 $('#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) { bx_pageNum++; if (bx_len != itemLen) { bx_len = itemLen; getNewBxList({ "assignee": loginUser.id, "state": 0, "idx": bx_pageNum, "sum": 10 }); } } }, 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 .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) { $('#solution_list .loading').hide(); //搜索问题 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); } } }); }); }) } }, 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) } }) } //获取最新报修 function getNewBxList(data) { $('#bx_list .loading').show(); $.ajax({ type: 'POST', contentType: "application/json;charset=UTF-8", url: baseUrl + "apply/bpm/fetchServiceTasks", data: JSON.stringify(data), success: function (res) { console.log(res); // 1592 未受理,1593 不受理,1594 处理中,1595 待评价,1596 已解决,1597 已撤回 if (res.state == 200) { $('#bx_list .loading').hide(); 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) { //未受理 //添加详情页流程数据 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) { //添加详情页流程数据 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) { //添加详情页流程数据 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) { //添加详情页流程数据 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) { //添加详情页流程数据 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) { //添加详情页流程数据 resFilter.processList = processMessageData; //填充弹窗数据 var html = template('bx6_detail_temp', resFilter); $('#pop1').html(html); //图片放大 enlarge(); // 滚动条 pop1HdResize(); //弹窗展示 pop1Handle({ title: '报修查看', confirmTitle: '知道了', onlyButton: true }); } else { //添加详情页流程数据 resFilter.processList = processMessageData; //填充弹窗数据 var html = template('bx7_detail_temp', resFilter); $('#pop1').html(html); //图片放大 enlarge(); // 滚动条 pop1HdResize(); //弹窗展示 pop1Handle({ title: '报修查看', confirmTitle: '知道了', onlyButton: true }); } }) }) } }, 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() { $.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'); 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/wechatRequesterIncident/" + 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/wechatRequesterIncident/' + 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/wechatRequesterIncident/" + 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) } }) } })