123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389 |
- $(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 += '<option value="' + res.list[i].id + '">' + res.list[i].category + '</option>'
- }
- $('#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($('<li class="f-images-item" data-id="' + imgId + '"><div class="f-thumb-wrap"><img class="f-thumb" src="' + evt.target.result + '"><i class="f-thumb-close iconfont dsit-false-circle"></i></div></li>'));
- //取消上传图片
- $('.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($('<div class="f-thumb-wrap"><i class="f-thumb" style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale,src=' + url + ')></i><i style="display:none"></i></div>'))
- $(this).closest('.form-file').after($('<i class="f-thumb-close iconfont dsit-false-circle"></i>'));
- $(this).closest('.form-file').after($('<iframe class="iframe-upload" name="imgupload' + ieImgId + '" style="display: none;"></iframe>'));
- $(this).after($('<input type="text" name="fileName" style="display:none" value="' + urlFileName + '">'));
- $(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($('<div class="pop1-hd__itemBxImgsMask"><img src="' + $(this).attr('src') + '"></div>'))
- $('.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)
- }
- })
- }
- })
|