index.js 49 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389
  1. $(function () {
  2. var repairMain = JSON.parse(sessionStorage.getItem('repair_main'));//报修主体
  3. var ifCreate = JSON.parse(sessionStorage.getItem('ifCreate'));//自动建单
  4. var loginUser = JSON.parse(window.sessionStorage.getItem('loginUser')); //用户信息
  5. // repairMain.valueconfig = '2';
  6. var placeList = []; //获取到的地点列表
  7. var wxId = ''; //微信报修ID
  8. var processMessageData = null; //详情页流程数据
  9. var dictionary = []; //详情页流程数据
  10. var imgList = []; //待上传的图片信息formData
  11. var imgAjaxNum = 0; //待上传的图片请求计数器
  12. var bx_pageNum = 0; //最新报修分页
  13. var bx_arr = { data: [] }; //最新报修所有数据列表
  14. var bx_len = 0; //最新报修所有数据列表数量
  15. var solution_pageNum = 0; //常见问题分页
  16. var solution_arr = { list: [] }; //常见问题所有数据列表
  17. var solution_len = 0; //常见问题所有数据列表数量
  18. var isSearch = false; //是否搜索常见问题
  19. var ks_pageNum = 0; //科室下拉列表分页
  20. var ks_len = 0; //科室所有数据列表数量
  21. var ks_arr = { list: [] };//科室所有数据
  22. // 兼容ie的placeholder
  23. $('input, textarea').placeholder();
  24. //获取故障类型列表seimin
  25. function getEventClass() {
  26. $.ajax({
  27. type: "POST",
  28. contentType: "application/json;charset=UTF-8",
  29. url: baseUrl + "bpm/data/fetchDataList/incidentcategory",
  30. data: JSON.stringify({ "idx": 0, "sum": 100, "incidentcategory": { "selectType": "one" } }),
  31. success: function (res) {
  32. if (res.status == 200) {
  33. var html = '';
  34. for (var i = 0; i < res.list.length; i++) {
  35. html += '<option value="' + res.list[i].id + '">' + res.list[i].category + '</option>'
  36. }
  37. $('#bx_eventClass').html(html);
  38. }
  39. },
  40. error: function (err) {
  41. console.log(err);
  42. }
  43. });
  44. }
  45. // 自动建单
  46. if (ifCreate.valueconfig == 1) {
  47. getEventClass();
  48. } else {
  49. $('#if_bx_eventClass').remove();
  50. }
  51. // 获取公告列表3条
  52. getNoticeList({ "idx": 0, "sum": 3, "notice": { "status": 1 } });
  53. // 获取常见问题列表
  54. getSolutionList({ "idx": solution_pageNum, "sum": 10, "solution": { "title": "", "status": { "id": 72 },"solutionRange":1 } });
  55. // 获取区域列表
  56. // getAreaList({ "idx": 0, "sum": 1000, "area": { "wechatArea": true } });
  57. // 获取地点列表
  58. // getPlaceList({ "idx": 0, "sum": 1000, "area": { "wechatAreaId": "" } });
  59. // 获取WxId
  60. getWxId();
  61. // 获取最新报修列表
  62. getNewBxList({ "assignee": loginUser.id, "state": 0, "idx": bx_pageNum, "sum": 10 });
  63. //获取详情页流程数据
  64. getProcessMessageData();
  65. //获取评价五颗星的数据
  66. getDictionary();
  67. //初始化页面--seimin
  68. function pageInit() {
  69. $('#bx_name').val(loginUser.name);//事件报修表单->报修人
  70. $('.logOut .user').text(loginUser.name);//登录人名称
  71. if (repairMain.valueconfig == 1) {//报修人
  72. $('.repairFlag').show();//class是repairFlag的时候显示元素
  73. $('.repairFlagReverse').hide();//class是repairFlagReverse的时候隐藏元素
  74. $('#bx_tel').val(loginUser.mphone);//事件报修表单->联系电话
  75. } else if (repairMain.valueconfig == 2) {//报修科室
  76. $('.repairFlag').hide();//class是repairFlag的时候隐藏元素
  77. $('.repairFrepairFlagReverselag').show();//class是repairFlagReverse的时候显示元素
  78. $('#bx_tel').val(loginUser.dept ? loginUser.dept.phone : '');//事件报修表单->联系电话
  79. }
  80. }
  81. pageInit();
  82. //故障地点seimin
  83. (function () {
  84. //故障地点带入区域地点
  85. $('#bx_address').val(loginUser.place ? loginUser.place.area.area + loginUser.place.place : '');
  86. //点击文本框
  87. $('#bx_address').on('click', searchAreaPlace);
  88. //修改文字,实时监听
  89. $('#bx_address').on('keyup', debounce(searchAreaPlace, 500));
  90. //报修科室滚动条
  91. $('#bx_address_ul').niceScroll();
  92. //故障地点搜索
  93. function searchAreaPlace() {
  94. $.ajax({
  95. type: "POST",
  96. contentType: "application/json;charset=UTF-8",
  97. url: baseUrl + "apply/bpm/searchFaultLocation",
  98. data: JSON.stringify({ "searchKey": $('#bx_address').val() }),
  99. success: function (res) {
  100. if (res.state == 200) {
  101. $('#bx_address_ul').find('li').off('click');
  102. var html = template('bx_address_ul_temp', { list: res.result });
  103. $('#bx_address_ul').html(html).show().find('li').on('click', function () {
  104. $('#bx_address').val($(this).text());//文本框赋值
  105. $('#bx_address_ul').hide();
  106. })
  107. }
  108. },
  109. error: function (err) {
  110. console.log(err);
  111. }
  112. });
  113. }
  114. //点击空白处隐藏
  115. $(document).on('click', function (e) {
  116. if (e.target !== $('#bx_address').get(0)) {
  117. $('#bx_address_ul').hide();
  118. //模拟placeholder
  119. if ($('#bx_address').val() == '') {
  120. $('#bx_address').val('请输入故障地点');
  121. }
  122. }
  123. })
  124. })();
  125. //报修科室seimin
  126. (function () {
  127. //自动带入报修科室
  128. if (loginUser.dept) {
  129. $('#bx_ks').val(loginUser.dept.dept).data('id', loginUser.dept.id);
  130. } else {
  131. $('#bx_address').val('请输入故障地点');
  132. }
  133. //点击文本框
  134. $('#bx_ks').on('click', function () {
  135. ks_arr.list = [];
  136. ks_pageNum = 0;
  137. getDepartmentList(0);
  138. $('#bx_ks_ul').scrollTop(0);
  139. });
  140. //修改文字,实时监听
  141. $('#bx_ks').on('keyup', debounce(function () {
  142. ks_arr.list = [];
  143. ks_pageNum = 0;
  144. getDepartmentList(0);
  145. $('#bx_ks_ul').scrollTop(0);
  146. }, 500));
  147. //报修科室必须选中下拉框,否则恢复为默认值
  148. $('#bx_ks').on('blur', function () {
  149. //自动带入报修科室
  150. if (loginUser.dept) {
  151. // document.title +=1;
  152. $(this).val(loginUser.dept.dept).data('id', loginUser.dept.id);
  153. } else {
  154. $(this).val('').data('id', '');
  155. }
  156. });
  157. //报修科室滚动条
  158. $('#bx_ks_ul').niceScroll();
  159. //滚动加载
  160. $('#bx_ks_ul').on('scroll', debounce(function () {
  161. var itemLen = $(this).find('li').length;
  162. var itemHeight = $(this).find('li').outerHeight();
  163. var wrapHeight = $(this).outerHeight();
  164. var max = itemLen * itemHeight - wrapHeight;
  165. var diff = max - $(this).scrollTop();
  166. if (Math.abs(diff) < 200) {
  167. ks_pageNum++;
  168. if (ks_len != itemLen) {
  169. ks_len = itemLen;
  170. getDepartmentList(ks_pageNum);
  171. }
  172. }
  173. }, 500))
  174. //获取科室信息
  175. function getDepartmentList(idx) {
  176. $.ajax({
  177. type: 'POST',
  178. contentType: "application/json;charset=UTF-8",
  179. url: baseUrl + "user/data/fetchDataList/department",
  180. data: JSON.stringify({ "idx": idx, "sum": 50, "department": { "dept": $('#bx_ks').val() } }),
  181. success: function (res) {
  182. if (res.status == 200) {
  183. $('#bx_ks_ul').find('li').off('click');
  184. //添加分页数据,汇总
  185. ks_arr.list = ks_arr.list.concat(res.list);
  186. var html = template('bx_ks_ul_temp', ks_arr);
  187. // 选中科室
  188. $('#bx_ks_ul').html(html).show().find('li').on('click', function () {
  189. // document.title +=2;
  190. $('#bx_ks').val($(this).text()).data('id', $(this).data('id'));//文本框赋值
  191. // 故障地点和电话联动
  192. var id = $(this).data('id');
  193. for (var i = 0; i < ks_arr.list.length; i++) {
  194. if (ks_arr.list[i].id == id) {
  195. $('#bx_tel').val(ks_arr.list[i].phone);
  196. $('#bx_address').val(ks_arr.list[i].place.place
  197. ? ks_arr.list[i].place.area.area + ks_arr.list[i].place.place
  198. : ks_arr.list[i].place.area);
  199. }
  200. }
  201. $('#bx_ks_ul').hide();
  202. })
  203. }
  204. },
  205. error: function (err) {
  206. console.log(err)
  207. }
  208. })
  209. }
  210. //点击空白处隐藏
  211. $(document).on('click', function (e) {
  212. if (e.target !== $('#bx_ks').get(0)) {
  213. $('#bx_ks_ul').hide();
  214. //模拟placeholder
  215. if ($('#bx_ks').val() == '') {
  216. $('#bx_ks').val('请选择报修科室');
  217. }
  218. }
  219. })
  220. })();
  221. // 滚动条
  222. $('.r-list').niceScroll();
  223. $('.form').niceScroll();
  224. $('.con-wrap').niceScroll();
  225. // pop1HdScroll();
  226. //placeholder
  227. $('#searchPro').on('focus', function () {
  228. if ($(this).val() == '请输入关键字') {
  229. $(this).val('');
  230. }
  231. }).on('blur', function () {
  232. if ($(this).val() == '') {
  233. $(this).val('请输入关键字');
  234. }
  235. });
  236. $('#bx_address').on('focus', function () {
  237. if ($(this).val() == '请输入故障地点') {
  238. $(this).val('');
  239. }
  240. });
  241. $('#bx_ks').on('focus', function () {
  242. if ($(this).val() == '请选择报修科室') {
  243. $(this).val('');
  244. }
  245. });
  246. $('#bx_description').on('focus', function () {
  247. if ($(this).val() == '请输入报修的内容') {
  248. $(this).val('');
  249. }
  250. }).on('blur', function () {
  251. if ($(this).val() == '') {
  252. $(this).val('请输入报修的内容');
  253. }
  254. });
  255. $('#bx_name').on('focus', function () {
  256. if ($(this).val() == '请输入联系人') {
  257. $(this).val('');
  258. }
  259. }).on('blur', function () {
  260. if ($(this).val() == '') {
  261. $(this).val('请输入联系人');
  262. }
  263. });
  264. $('#bx_tel').on('focus', function () {
  265. if ($(this).val() == '请输入联系电话') {
  266. $(this).val('');
  267. }
  268. }).on('blur', function () {
  269. if ($(this).val() == '') {
  270. $(this).val('请输入联系电话');
  271. }
  272. });
  273. //报修图片预览
  274. $('.formItem .f-images-item--file .f-file').on('change', function () {
  275. if (!isLtIe10()) { //ie>=10
  276. var file = $(this)[0].files[0]; //获取文件信息
  277. var $this = $(this);
  278. //防止ie10,ie11触发两次change
  279. if (file == null) { return; }
  280. //小于10M&&格式是png与jpg
  281. if (file.size.toFixed(1) < 10 * 1024 * 1024 && isAllowFile(file.name)) {
  282. var reader = new FileReader(); //调用FileReader
  283. reader.readAsDataURL(file); //将文件读取为 DataURL(base64)
  284. reader.onload = function (evt) { //读取操作完成时触发。
  285. $this.val(''); //清空file的值
  286. //最多3张图
  287. if ($('#f-images-list').find('.f-images-item').length == 3) {
  288. $('#f-images-list').find('.f-images-item--file').hide();
  289. } else {
  290. $('#f-images-list').find('.f-images-item--file').show();
  291. }
  292. var formData = new FormData();
  293. formData.append('fileName', file.name);
  294. formData.append('file', file);
  295. var imgId = uuid.v4(); //id
  296. imgList.push({ list: formData, id: imgId });
  297. $('#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>'));
  298. //取消上传图片
  299. $('.formItem .f-images-item .f-thumb-close').on('click', function () {
  300. for (var i = 0; i < imgList.length; i++) {
  301. if (imgList[i].id == $(this).closest('.f-images-item').data('id')) {
  302. imgList.splice(i, 1);
  303. break;
  304. }
  305. }
  306. $(this).closest('.f-images-item').remove();
  307. if ($('#f-images-list').find('.f-images-item').length == 4) {
  308. $('#f-images-list').find('.f-images-item--file').hide();
  309. } else {
  310. $('#f-images-list').find('.f-images-item--file').show();
  311. }
  312. })
  313. };
  314. } else {
  315. alert('图片只能使JPG或PNG格式,并且不能超过10M');
  316. }
  317. } else {
  318. var cloneObj1 = $('.f-images-item').eq(0).clone(true); //克隆默认
  319. cloneObj1.find('.f-thumb-wrap').remove(); //移除图片
  320. cloneObj1.find('.f-thumb-close').remove(); //移除X
  321. cloneObj1.find('.iframe-upload').remove(); //移除iframe
  322. var cloneObj2 = $('.f-images-item').eq(0).clone(true); //克隆默认
  323. cloneObj2.find('.f-thumb-wrap').remove(); //移除图片
  324. cloneObj2.find('.f-thumb-close').remove(); //移除X
  325. cloneObj2.find('.iframe-upload').remove(); //移除iframe
  326. $(this).get(0).select();
  327. $(this).get(0).blur(); //ie9兼容
  328. var url = document.selection.createRange().text;
  329. if (/.+\.(jpg|png|jpeg)$/.test(url)) {
  330. var urlIndex = url.lastIndexOf('\\');
  331. var urlFileName = url.substr(urlIndex + 1); //文件名
  332. var ieImgId = uuid.v4();
  333. imgList.push({ fileName: urlFileName, id: ieImgId });
  334. $(this).closest('.f-images-item').data('id', ieImgId); //绑定id到元素上
  335. $(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>'))
  336. $(this).closest('.form-file').after($('<i class="f-thumb-close iconfont dsit-false-circle"></i>'));
  337. $(this).closest('.form-file').after($('<iframe class="iframe-upload" name="imgupload' + ieImgId + '" style="display: none;"></iframe>'));
  338. $(this).after($('<input type="text" name="fileName" style="display:none" value="' + urlFileName + '">'));
  339. $(this).closest('.form-file').attr('target', 'imgupload' + ieImgId);
  340. if ($('#f-images-list').find('.f-images-item').length < 3) {
  341. $('#f-images-list').append(cloneObj1);
  342. }
  343. //取消上传图片(取消------------------)
  344. $('.formItem .f-images-item .f-thumb-close').on('click', function () {
  345. for (var i = 0; i < imgList.length; i++) {
  346. if (imgList[i]['id'] == $(this).closest('.f-images-item').data('id')) {
  347. imgList.splice(i, 1);
  348. break;
  349. }
  350. }
  351. $(this).closest('.f-images-item').remove();
  352. if ($('.formItem .f-images-item').length == imgList.length) {
  353. $('#f-images-list').append(cloneObj2);
  354. }
  355. })
  356. } else {
  357. alert('图片只能使JPG或PNG格式,并且不能超过10M');
  358. }
  359. }
  360. });
  361. //常见问题搜索
  362. $('#searchProSubmit').on('click', search);
  363. $('#searchPro').on('keyup', function (e) {
  364. if (e.keyCode == 13) {
  365. search();
  366. }
  367. });
  368. function search() {
  369. solution_pageNum = 0;
  370. var val = $.trim($('#searchPro').val()) == '请输入关键字' ? '' : $.trim($('#searchPro').val());
  371. isSearch = true;
  372. getSolutionList({ "idx": solution_pageNum, "sum": 10, "solution": { "title": val, "status": { "id": 72 } } }, isSearch)
  373. }
  374. //选择框联动
  375. $('#area_list').on('change', function () {
  376. //获取id
  377. var id = $(this).val();
  378. // 过滤数据
  379. var resFilter = { list: [] };
  380. for (var i = 0; i < placeList.length; i++) {
  381. if (placeList[i]['area']['id'] == id) {
  382. resFilter.list.push(placeList[i]);
  383. }
  384. }
  385. //填充数据
  386. var html = template('place_list_temp', resFilter);
  387. $('#place_list').html(html);
  388. })
  389. // 提交报修
  390. $('#f-submit').on('click', function () {
  391. //按钮禁止
  392. $(this).prop('disabled', true);
  393. $(this).addClass('f-submit--disable');
  394. if (repairMain.valueconfig == 2) {//如果是报修科室
  395. if ($('#bx_ks').val().replace(/\s/g, '') === '' || $('#bx_ks').val().replace(/\s/g, '') === '请选择报修科室') {
  396. alert('报修科室不能为空');
  397. //按钮禁止取消
  398. $(this).removeProp('disabled');
  399. $(this).removeClass('f-submit--disable');
  400. return;
  401. }
  402. }
  403. if (repairMain.valueconfig == 1) {//如果是报修人
  404. if ($('#bx_name').val().replace(/\s/g, '') === '' || $('#bx_name').val().replace(/\s/g, '') === '请输入联系人') {
  405. alert('联系人不能为空');
  406. //按钮禁止取消
  407. $(this).removeProp('disabled');
  408. $(this).removeClass('f-submit--disable');
  409. return;
  410. }
  411. } else if (repairMain.valueconfig == 2) {//报修主体是报修科室的话,非必填
  412. if ($('#bx_name').val().replace(/\s/g, '') === '请输入联系人') {
  413. $('#bx_name').val('');
  414. }
  415. }
  416. // if ($('#area_list').val() < 1) {
  417. // alert('区域不能为空');
  418. // //按钮禁止取消
  419. // $(this).removeProp('disabled');
  420. // $(this).removeClass('f-submit--disable');
  421. // return;
  422. // }
  423. // if ($('#place_list').val() < 1) {
  424. // alert('地点不能为空');
  425. // //按钮禁止取消
  426. // $(this).removeProp('disabled');
  427. // $(this).removeClass('f-submit--disable');
  428. // return;
  429. // }
  430. if ($('#bx_tel').val().replace(/\s/g, '') === '' || $('#bx_tel').val().replace(/\s/g, '') === '请输入联系电话' || !/^[\d\-]*$/.test($('#bx_tel').val())) {
  431. alert('请输入正确的联系电话');
  432. //按钮禁止取消
  433. $(this).removeProp('disabled');
  434. $(this).removeClass('f-submit--disable');
  435. return;
  436. }
  437. if ($('#bx_address').val().replace(/\s/g, '') === '' || $('#bx_address').val() == '请输入故障地点') {
  438. alert('故障地点不能为空');
  439. //按钮禁止取消
  440. $(this).removeProp('disabled');
  441. $(this).removeClass('f-submit--disable');
  442. return;
  443. }
  444. if ($('#bx_description').val().replace(/\s/g, '') === '' || $('#bx_description').val() == '请输入报修的内容') {
  445. alert('报修内容不能为空');
  446. //按钮禁止取消
  447. $(this).removeProp('disabled');
  448. $(this).removeClass('f-submit--disable');
  449. return;
  450. }
  451. var data = { verification: "true" };
  452. data.incident = {
  453. address: $.trim($('#bx_address').val()),
  454. // areaId: $.trim($('#area_list').val()),
  455. bxcode: wxId,
  456. contacts: $.trim($('#bx_name').val()),
  457. contactsInformation: $('#bx_tel').val(),
  458. description: $.trim($('#bx_description').val()),
  459. fileUrl: 'url',
  460. // placeId: $.trim($('#place_list').val()),
  461. requester: loginUser,
  462. sourceType: "wechatRequesterIncident"
  463. };
  464. // 自动建单
  465. if (ifCreate.valueconfig == 1) {
  466. data.incident.categoryId = $('#bx_eventClass').val();
  467. }
  468. data.loginUser = {
  469. id: loginUser.id
  470. }
  471. if (repairMain.valueconfig == '2') {//如果有报修科室
  472. data.incident.deptId = $("#bx_ks").data('id');
  473. }
  474. addBxMsg(data);
  475. })
  476. // 注销登录
  477. $('.logOut .logOutBtn').on('click', function () {
  478. logout();
  479. });
  480. $('.logOut').on('click', function () {
  481. $(this).find('.down').toggleClass('up');
  482. if ($(this).find('.up').length > 0) {
  483. $('.logOut .logOutWrap').show();
  484. } else {
  485. $('.logOut .logOutWrap').hide();
  486. }
  487. return false;
  488. })
  489. $(document).click(function (e) {
  490. if ($(this).find('.up').length > 0) {
  491. $(this).find('.down').removeClass('up');
  492. $('.logOut .logOutWrap').hide();
  493. }
  494. })
  495. //最新事件列表滚动加载
  496. $('#bx_list').on('scroll', debounce(function () {
  497. var itemLen = $(this).find('.r-item').length;
  498. var itemHeight = $(this).find('.r-item').outerHeight();
  499. var wrapHeight = $(this).outerHeight();
  500. var max = itemLen * itemHeight - wrapHeight;
  501. var diff = max - $(this).scrollTop();
  502. if (Math.abs(diff) < 200) {
  503. bx_pageNum++;
  504. if (bx_len != itemLen) {
  505. bx_len = itemLen;
  506. getNewBxList({ "assignee": loginUser.id, "state": 0, "idx": bx_pageNum, "sum": 10 });
  507. }
  508. }
  509. }, 500))
  510. //常见问题滚动加载
  511. $('#solution_list').on('scroll', debounce(function () {
  512. var itemLen = $(this).find('.infoItem').length;
  513. var itemHeight = $(this).find('.infoItem').outerHeight();
  514. var wrapHeight = $(this).outerHeight();
  515. var max = itemLen * itemHeight - wrapHeight;
  516. var diff = max - $(this).scrollTop();
  517. if (Math.abs(diff) < 200) {
  518. solution_pageNum++;
  519. if (solution_len != itemLen) {
  520. solution_len = itemLen;
  521. isSearch = false;
  522. getSolutionList({ "idx": solution_pageNum, "sum": 10, "solution": { "title": $.trim($('#searchPro').val()), "status": { "id": 72 } } });
  523. }
  524. }
  525. }, 500))
  526. // ----------------------------------------
  527. // 弹窗
  528. function pop1Handle(obj) {
  529. var defaults = {
  530. width: 600, //长
  531. height: 630, //宽
  532. title: '标题', //弹窗顶部标题
  533. confirmTitle: '确认按钮', //底部确认按钮
  534. cancelTitle: '取消按钮', //底部取消按钮
  535. onlyButton: true, //底部是否只有一个按钮
  536. confirmHandle: null, //确认按钮回调
  537. twoConfirmClose: true, //确认按钮是否关闭弹窗(2个按钮)
  538. oneConfirmClose: true //确认按钮是否关闭弹窗(1个按钮)
  539. }
  540. $.extend(defaults, obj);
  541. if (defaults.onlyButton) {
  542. $('#pop1 .pop1-oneBtn').show();
  543. $('#pop1 .pop1-twoBtn').hide();
  544. } else {
  545. $('#pop1 .pop1-oneBtn').hide();
  546. $('#pop1 .pop1-twoBtn').show();
  547. }
  548. $('#pop1')
  549. .css({ width: defaults.width, height: defaults.height })
  550. .find('.pop1-title span').text(defaults.title)
  551. .closest('.pop1-title').nextAll('.pop1-operate')
  552. .find('.twoConfirm').text(defaults.confirmTitle)
  553. .next('.twoCancel').text(defaults.cancelTitle)
  554. .closest('.pop1-operate')
  555. .find('.oneConfirm').text(defaults.confirmTitle)
  556. .closest('#pop1')
  557. .fadeIn('fast');
  558. showMask();
  559. //点击确定按钮
  560. $('#pop1 .oneConfirm,#pop1 .twoConfirm').on('click', { defaults: defaults }, callback);
  561. //点击按钮隐藏弹层
  562. $('#pop1 .pop1-title-icon,#pop1 .twoCancel').on('click', pop1Hide);
  563. if (defaults.twoConfirmClose) {
  564. $('#pop1 .twoConfirm').on('click', pop1Hide);
  565. }
  566. if (defaults.oneConfirmClose) {
  567. $('#pop1 .oneConfirm').on('click', pop1Hide);
  568. }
  569. }
  570. //回调
  571. function callback(event) {
  572. if (event.data.defaults.confirmHandle && typeof event.data.defaults.confirmHandle === 'function') {
  573. event.data.defaults.confirmHandle();
  574. }
  575. }
  576. //显示弹窗
  577. function pop1Show() {
  578. $('#pop1').fadeIn('fast');
  579. showMask();
  580. }
  581. //隐藏弹窗
  582. function pop1Hide() {
  583. $('#pop1').fadeOut('fast');
  584. hideMask();
  585. $('.oneConfirm,.twoConfirm').off('click', callback)
  586. }
  587. //显示遮罩
  588. function showMask() {
  589. $('#mask').fadeIn('fast');
  590. }
  591. //隐藏遮罩
  592. function hideMask() {
  593. $('#mask').fadeOut('fast');
  594. }
  595. //成功提示
  596. function tipsSuccess(msg, isUpadte) {
  597. var html = template('tips_detail_temp', { msg: msg });
  598. var isUpadte = isUpadte == undefined ? true : false;
  599. $('#pop1').html(html);
  600. pop1Handle({
  601. width: 340,
  602. height: 230,
  603. title: '提示',
  604. confirmTitle: '知道了',
  605. onlyButton: true,
  606. confirmHandle: function () {
  607. if (isUpadte) {
  608. location.reload();
  609. }
  610. }
  611. })
  612. }
  613. //公告里面的date字符串截取
  614. template.defaults.imports.dateTime = function (date) {
  615. return date.slice(0, 19);
  616. };
  617. // 格式化日期
  618. template.defaults.imports.dateFormat = function (time) {
  619. var date = new Date(time);
  620. var year = date.getFullYear();
  621. var month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1;
  622. var day = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
  623. var hour = date.getHours() < 10 ? "0" + date.getHours() : date.getHours();
  624. var minute = date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes();
  625. var second = date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds();
  626. return year + "-" + month + "-" + day + " " + hour + ":" + minute + ":" + second;
  627. };
  628. //添加滚动条
  629. function pop1HdScroll() {
  630. $('.pop1-hd').niceScroll();
  631. }
  632. //重新计算
  633. function pop1HdResize() {
  634. pop1HdScroll();
  635. }
  636. //获取上传文件的后缀名
  637. function getFileExt(fileName) {
  638. if (!fileName) {
  639. return '';
  640. }
  641. var _index = fileName.lastIndexOf('.');
  642. if (_index < 1) {
  643. return '';
  644. }
  645. return fileName.substr(_index + 1);
  646. };
  647. //是否是允许上传文件格式
  648. function isAllowFile(fileName, allowType) {
  649. var fileExt = getFileExt(fileName).toLowerCase();
  650. if (!allowType) {
  651. allowType = ['jpg', 'jpeg', 'png'];
  652. }
  653. if ($.inArray(fileExt, allowType) != -1) {
  654. return true;
  655. }
  656. return false;
  657. }
  658. // 防抖
  659. function debounce(fn, delay) {
  660. var timer = null;
  661. return function () {
  662. var self = this,
  663. args = arguments;
  664. clearTimeout(timer);
  665. timer = setTimeout(function () {
  666. fn.apply(self, args);
  667. }, delay);
  668. }
  669. }
  670. // ------------------------------
  671. // -------------交互---------
  672. // 获取公告列表3条
  673. function getNoticeList(data) {
  674. $('#notice_list .loading').show();
  675. $.ajax({
  676. type: 'POST',
  677. contentType: "application/json;charset=UTF-8",
  678. url: baseUrl + "user/data/fetchDataList/notice",
  679. data: JSON.stringify(data),
  680. success: function (res) {
  681. if (res.status == 200) {
  682. $('#notice_list .loading').hide();
  683. var html = template('notice_list_temp', res);
  684. $('#notice_list').html(html);
  685. // 公告详情
  686. $('#notice_list .detail').on('click', function () {
  687. //获取id
  688. var id = $(this).data('id');
  689. // 过滤数据
  690. var resFilter = [];
  691. for (var i = 0; i < res.list.length; i++) {
  692. if (res.list[i]['id'] == id) {
  693. resFilter = res.list[i];
  694. }
  695. }
  696. //填充弹窗数据
  697. var html = template('notice_detail_temp', resFilter);
  698. $('#pop1').html(html);
  699. //弹窗展示
  700. pop1Handle({
  701. title: '公告详情',
  702. confirmTitle: '知道了',
  703. onlyButton: true
  704. });
  705. })
  706. }
  707. },
  708. error: function (err) {
  709. console.log(err)
  710. }
  711. })
  712. }
  713. //获取常见问题
  714. function getSolutionList(data) {
  715. $('#solution_list .loading').show();
  716. $.ajax({
  717. type: 'POST',
  718. contentType: "application/json;charset=UTF-8",
  719. url: baseUrl + "solution/fetchDataList/solution",
  720. data: JSON.stringify(data),
  721. success: function (res) {
  722. if (res.status == 200) {
  723. $('#solution_list .loading').hide();
  724. //搜索问题
  725. if (isSearch) {
  726. solution_arr.list = [];
  727. }
  728. solution_arr.list = solution_arr.list.concat(res.list);
  729. var html = template('solution_list_temp', solution_arr);
  730. $('#solution_list').html(html);
  731. //触发
  732. $('#solution_list').getNiceScroll().resize();
  733. // 点击详情
  734. $('#solution_list .detail').on('click', function () {
  735. //获取id
  736. var id = $(this).data('id');
  737. // 过滤数据
  738. var resFilter = [];
  739. for (var i = 0; i < solution_arr.list.length; i++) {
  740. if (solution_arr.list[i]['id'] == id) {
  741. resFilter = solution_arr.list[i];
  742. }
  743. }
  744. //点赞是否禁用
  745. getStarIf(id, function (data) {
  746. resFilter.starIf = data.result;
  747. //填充弹窗数据
  748. var html = template('solution_detail_temp', resFilter);
  749. $('#pop1').html(html);
  750. //弹窗展示
  751. pop1Handle({
  752. title: '知识库查看',
  753. confirmTitle: '点赞(' + resFilter.star + ')',
  754. onlyButton: true,
  755. oneConfirmClose: false,
  756. confirmHandle: function () {
  757. if (resFilter.starIf) { //可以点赞
  758. $.ajax({
  759. type: 'GET',
  760. contentType: "application/json;charset=UTF-8",
  761. url: baseUrl + "solution/star/requester/" + resFilter.id + "/" + loginUser.id,
  762. cache: false,
  763. success: function (res) {
  764. if (res.status == 200) {
  765. tipsSuccess('点赞成功')
  766. }
  767. },
  768. error: function (err) {
  769. console.log(err)
  770. }
  771. })
  772. } else { //不能点赞
  773. tipsSuccess('已经点过赞了', false);
  774. }
  775. }
  776. });
  777. });
  778. })
  779. }
  780. },
  781. error: function (err) {
  782. console.log(err)
  783. }
  784. })
  785. }
  786. //获取区域列表
  787. // function getAreaList(data) {
  788. // $.ajax({
  789. // type: 'POST',
  790. // contentType: "application/json;charset=UTF-8",
  791. // url: baseUrl + "user/data/fetchDataList/area",
  792. // data: JSON.stringify(data),
  793. // success: function (res) {
  794. // if (res.status == 200) {
  795. // var html = template('area_list_temp', res);
  796. // $('#area_list').html(html);
  797. // }
  798. // },
  799. // error: function (err) {
  800. // console.log(err)
  801. // }
  802. // })
  803. // }
  804. //获取地点列表
  805. // function getPlaceList(data) {
  806. // $.ajax({
  807. // type: 'POST',
  808. // contentType: "application/json;charset=UTF-8",
  809. // url: baseUrl + "user/data/fetchDataList/place",
  810. // data: JSON.stringify(data),
  811. // success: function (res) {
  812. // if (res.status == 200) {
  813. // var html = template('place_list_temp', res);
  814. // $('#place_list').html(html);
  815. // placeList = res.list;
  816. // }
  817. // },
  818. // error: function (err) {
  819. // console.log(err)
  820. // }
  821. // })
  822. // }
  823. //获取微信报修ID
  824. function getWxId() {
  825. $.ajax({
  826. type: 'GET',
  827. contentType: "application/json;charset=UTF-8",
  828. url: baseUrl + "bpm/bpm/restful/wxbx",
  829. cache: false,
  830. success: function (res) {
  831. if (res.status == 200) {
  832. wxId = res.data;
  833. }
  834. },
  835. error: function (err) {
  836. console.log(err)
  837. }
  838. })
  839. }
  840. // 提交报修
  841. function addBxMsg(data) {
  842. $.ajax({
  843. type: 'POST',
  844. contentType: "application/json;charset=UTF-8",
  845. url: baseUrl + "apply/bpm/addWxIncident",
  846. data: JSON.stringify(data),
  847. success: function (res) {
  848. if (res.state == 200) {
  849. //按钮禁止取消
  850. $(this).removeProp('disabled');
  851. $(this).removeClass('f-submit--disable');
  852. if (imgList.length > 0) {
  853. for (var i = 0; i < imgList.length; i++) {
  854. imgAjaxNum++;
  855. if (!isLtIe10()) { //标准浏览器
  856. // if (imgList[i].has('id')) {
  857. // //删除formData中的id,以便提交上传
  858. // imgList[i]['delete']('id');
  859. // }
  860. addImgList(res.incident.id, imgList[i].list);
  861. } else {
  862. addImgListIE(res.incident.id, imgList[i].id);
  863. }
  864. }
  865. } else {
  866. tipsSuccess('提交事件报修成功')
  867. }
  868. }
  869. },
  870. error: function (err) {
  871. console.log(err)
  872. }
  873. })
  874. }
  875. //获取最新报修
  876. function getNewBxList(data) {
  877. $('#bx_list .loading').show();
  878. $.ajax({
  879. type: 'POST',
  880. contentType: "application/json;charset=UTF-8",
  881. url: baseUrl + "apply/bpm/fetchServiceTasks",
  882. data: JSON.stringify(data),
  883. success: function (res) {
  884. console.log(res);
  885. // 1592 未受理,1593 不受理,1594 处理中,1595 待评价,1596 已解决,1597 已撤回
  886. if (res.state == 200) {
  887. $('#bx_list .loading').hide();
  888. for (var i = 0; i < res.data.length; i++) {
  889. if (res.data[i].state.id == 1592) {
  890. res.data[i].processArr = ['current', false, false, false, false];
  891. } else if (res.data[i].state.id == 0) {
  892. res.data[i].processArr = [true, 'current', false, false, false];
  893. } else if (res.data[i].state.id == 1594) {
  894. res.data[i].processArr = [true, true, 'current', false, false];
  895. } else if (res.data[i].state.id == 1595) {
  896. res.data[i].processArr = [true, true, true, 'current', false];
  897. } else {
  898. res.data[i].processArr = [true, true, true, true, 'current'];
  899. }
  900. }
  901. //增加申请时间
  902. for (var i = 0; i < res.data.length; i++) {
  903. res.data[i].time = res.data[i].createTime;
  904. res.data[i].processInstanceId = res.data[i].incident.processInstanceId;
  905. }
  906. //添加分页数据,汇总
  907. bx_arr.data = bx_arr.data.concat(res.data);
  908. var html = template('bx_list_temp', bx_arr);
  909. $('#bx_list').html(html);
  910. //触发
  911. $('#bx_list').getNiceScroll().resize();
  912. // 详情
  913. $('#bx_list .r-item-click').on('click', function () {
  914. //获取id
  915. var id = $(this).data('id');
  916. // 过滤数据
  917. var resFilter = [];
  918. for (var i = 0; i < bx_arr.data.length; i++) {
  919. if (bx_arr.data[i]['id'] == id) {
  920. resFilter = bx_arr.data[i];
  921. }
  922. }
  923. //点击事件详情不同逻辑处理
  924. getImgList(id, function (data) {
  925. //获取流程时间
  926. if (resFilter.processInstanceId) {
  927. getTimeList(resFilter.processInstanceId, function (data) {
  928. resFilter.timeList = data;
  929. resFilter.timeList.unshift({ endTime: resFilter.time });
  930. }, false);
  931. } else {
  932. resFilter.timeList = [{ endTime: '' }, { endTime: '' }, { endTime: '' }, { endTime: '' }, { endTime: '' }]
  933. }
  934. resFilter.imgList = data; //添加图片数组
  935. if (resFilter.state.id == 1592) { //未受理
  936. //添加详情页流程数据
  937. resFilter.processList = processMessageData;
  938. //填充弹窗数据
  939. var html = template('bx1_detail_temp', resFilter);
  940. $('#pop1').html(html);
  941. //图片放大
  942. enlarge();
  943. // 滚动条
  944. pop1HdResize();
  945. //弹窗展示
  946. pop1Handle({
  947. title: '报修查看',
  948. confirmTitle: '撤回',
  949. cancelTitle: '取消',
  950. onlyButton: false,
  951. twoConfirmClose: false,
  952. confirmHandle: function () {
  953. // setTimeout(function () {
  954. //填充弹窗数据
  955. var html = template('back_detail_temp', {});
  956. $('#pop1').html(html);
  957. //placeholder
  958. $('.back-textarea').on('focus', function () {
  959. if ($(this).val() == '请输入撤回原因') {
  960. $(this).val('');
  961. }
  962. }).on('blur', function () {
  963. if ($(this).val() == '') {
  964. $(this).val('请输入撤回原因');
  965. }
  966. });
  967. pop1Handle({
  968. width: 340,
  969. height: 230,
  970. title: '撤回原因',
  971. confirmTitle: '撤回',
  972. cancelTitle: '取消',
  973. onlyButton: false,
  974. twoConfirmClose: false,
  975. confirmHandle: function () {
  976. if ($.trim($('#pop1 .back-textarea').val()) != '' && $.trim($('#pop1 .back-textarea').val()) != '请输入撤回原因') {
  977. bxBack({
  978. id: id,
  979. retractReason: $('#pop1 .back-textarea').val()
  980. })
  981. } else {
  982. alert('撤回原因不能为空');
  983. }
  984. }
  985. })
  986. // }, 200)
  987. }
  988. });
  989. } else if (resFilter.state.id == 0) {
  990. //添加详情页流程数据
  991. resFilter.processList = processMessageData;
  992. //填充弹窗数据
  993. var html = template('bx2_detail_temp', resFilter);
  994. $('#pop1').html(html);
  995. //图片放大
  996. enlarge();
  997. // 滚动条
  998. pop1HdResize();
  999. //弹窗展示
  1000. pop1Handle({
  1001. title: '报修查看',
  1002. confirmTitle: '撤回',
  1003. cancelTitle: '取消',
  1004. onlyButton: false,
  1005. confirmHandle: function () {
  1006. // setTimeout(function () {
  1007. //填充弹窗数据
  1008. var html = template('back_detail_temp', {});
  1009. $('#pop1').html(html);
  1010. //placeholder
  1011. $('.back-textarea').on('focus', function () {
  1012. if ($(this).val() == '请输入撤回原因') {
  1013. $(this).val('');
  1014. }
  1015. }).on('blur', function () {
  1016. if ($(this).val() == '') {
  1017. $(this).val('请输入撤回原因');
  1018. }
  1019. });
  1020. pop1Handle({
  1021. width: 340,
  1022. height: 230,
  1023. title: '撤回原因',
  1024. confirmTitle: '撤回',
  1025. cancelTitle: '取消',
  1026. onlyButton: false,
  1027. twoConfirmClose: false,
  1028. confirmHandle: function () {
  1029. if ($.trim($('#pop1 .back-textarea').val()) != '' || $.trim($('#pop1 .back-textarea').val()) != '请输入撤回原因') {
  1030. bxBack({
  1031. id: id,
  1032. retractReason: $('#pop1 .back-textarea').val()
  1033. })
  1034. } else {
  1035. alert('撤回原因不能为空');
  1036. }
  1037. }
  1038. })
  1039. // }, 200)
  1040. }
  1041. });
  1042. } else if (resFilter.state.id == 1594) {
  1043. //添加详情页流程数据
  1044. resFilter.processList = processMessageData;
  1045. //填充弹窗数据
  1046. var html = template('bx3_detail_temp', resFilter);
  1047. $('#pop1').html(html);
  1048. //图片放大
  1049. enlarge();
  1050. // 滚动条
  1051. pop1HdResize();
  1052. //弹窗展示
  1053. pop1Handle({
  1054. title: '报修查看',
  1055. confirmTitle: '知道了',
  1056. onlyButton: true
  1057. });
  1058. } else if (resFilter.state.id == 1595) {
  1059. //添加详情页流程数据
  1060. resFilter.processList = processMessageData;
  1061. //填充弹窗数据
  1062. var html = template('bx4_detail_temp', resFilter);
  1063. $('#pop1').html(html);
  1064. //图片放大
  1065. enlarge();
  1066. // 滚动条
  1067. pop1HdResize();
  1068. //弹窗展示
  1069. pop1Handle({
  1070. title: '报修查看',
  1071. confirmTitle: '去评价',
  1072. cancelTitle: '取消',
  1073. onlyButton: false,
  1074. twoConfirmClose: false,
  1075. confirmHandle: function () {
  1076. var currentIndex = -1;
  1077. //填充弹窗数据
  1078. resFilter.dictionary = dictionary;
  1079. var html = template('bx4_detail_1_temp', resFilter);
  1080. $('#pop1').html(html);
  1081. //评价placeholder
  1082. $('.evaluate-textarea').on('focus', function () {
  1083. if ($(this).val() == '你可以从响应速度、解决情况、服务态度等方面,给我们作出相应的评价') {
  1084. $(this).val('');
  1085. }
  1086. }).on('blur', function () {
  1087. if ($(this).val() == '') {
  1088. $(this).val('你可以从响应速度、解决情况、服务态度等方面,给我们作出相应的评价');
  1089. }
  1090. });
  1091. // 滚动条
  1092. pop1HdResize();
  1093. //评分
  1094. $('#evaluate .star').find('i').hover(function () {
  1095. var i = $(this).index();
  1096. $('#evaluate .star').find('i').removeClass('active');
  1097. $('#evaluate .star').find('i:lt(' + i + ')').addClass('active');
  1098. $('#evaluate .star').find('i:eq(' + i + ')').addClass('active');
  1099. $('#evaluate .star-text').text(dictionary[i].name);
  1100. }, function () {
  1101. var i = $(this).index();
  1102. currentIndex = i;
  1103. $('#evaluate .star').find('i:gt(' + i + ')').removeClass('active');
  1104. })
  1105. // setTimeout(function () {
  1106. pop1Handle({
  1107. title: '报修查看',
  1108. confirmTitle: '提交评价',
  1109. cancelTitle: '取消',
  1110. onlyButton: false,
  1111. twoConfirmClose: false,
  1112. confirmHandle: function () {
  1113. if ($.trim($('#pop1 .evaluate-textarea').val()) != '' && $.trim($('#pop1 .evaluate-textarea').val()) != '你可以从响应速度、解决情况、服务态度等方面,给我们作出相应的评价') {
  1114. addDegree({
  1115. "id": resFilter.id,
  1116. "degree": currentIndex > 0 ? dictionary[currentIndex].id : dictionary[4].id,
  1117. "degreeRemark": $('#pop1 .evaluate-textarea').val()
  1118. })
  1119. } else {
  1120. alert('请输入评价的内容');
  1121. }
  1122. }
  1123. })
  1124. // }, 500)
  1125. }
  1126. });
  1127. } else if (resFilter.state.id == 1593) {
  1128. //添加详情页流程数据
  1129. resFilter.processList = processMessageData;
  1130. //填充弹窗数据
  1131. var html = template('bx5_detail_temp', resFilter);
  1132. $('#pop1').html(html);
  1133. //图片放大
  1134. enlarge();
  1135. // 滚动条
  1136. pop1HdResize();
  1137. //弹窗展示
  1138. pop1Handle({
  1139. title: '报修查看',
  1140. confirmTitle: '知道了',
  1141. onlyButton: true
  1142. });
  1143. } else if (resFilter.state.id == 1597) {
  1144. //添加详情页流程数据
  1145. resFilter.processList = processMessageData;
  1146. //填充弹窗数据
  1147. var html = template('bx6_detail_temp', resFilter);
  1148. $('#pop1').html(html);
  1149. //图片放大
  1150. enlarge();
  1151. // 滚动条
  1152. pop1HdResize();
  1153. //弹窗展示
  1154. pop1Handle({
  1155. title: '报修查看',
  1156. confirmTitle: '知道了',
  1157. onlyButton: true
  1158. });
  1159. } else {
  1160. //添加详情页流程数据
  1161. resFilter.processList = processMessageData;
  1162. //填充弹窗数据
  1163. var html = template('bx7_detail_temp', resFilter);
  1164. $('#pop1').html(html);
  1165. //图片放大
  1166. enlarge();
  1167. // 滚动条
  1168. pop1HdResize();
  1169. //弹窗展示
  1170. pop1Handle({
  1171. title: '报修查看',
  1172. confirmTitle: '知道了',
  1173. onlyButton: true
  1174. });
  1175. }
  1176. })
  1177. })
  1178. }
  1179. },
  1180. error: function (err) {
  1181. console.log(err)
  1182. }
  1183. })
  1184. }
  1185. //详情图片点击放大预览
  1186. function enlarge() {
  1187. $('.pop1-hd__itemBxImgs').on('click', function () {
  1188. $(this).closest('.pop1-hd__itemListImgs').after($('<div class="pop1-hd__itemBxImgsMask"><img src="' + $(this).attr('src') + '"></div>'))
  1189. $('.pop1-hd__itemBxImgsMask').on('click', function () {
  1190. $(this).remove();
  1191. })
  1192. })
  1193. }
  1194. //获取详情页流程数据
  1195. function getProcessMessageData() {
  1196. $.ajax({
  1197. type: 'POST',
  1198. contentType: "application/json;charset=UTF-8",
  1199. url: baseUrl + "sysinfo/data/fetchDataList/dictionary",
  1200. data: JSON.stringify({ "idx": 0, "sum": 10, "dictionary": { "key": "wxincident_task_default" } }),
  1201. success: function (res) {
  1202. if (res.status == 200) {
  1203. processMessageData = res.list;
  1204. }
  1205. },
  1206. error: function (err) {
  1207. console.log(err)
  1208. }
  1209. })
  1210. }
  1211. //撤回操作
  1212. function bxBack(data) { //{"id":28,"retractReason":"asdas"}
  1213. $.ajax({
  1214. type: 'POST',
  1215. contentType: "application/json;charset=UTF-8",
  1216. url: baseUrl + "apply/bpm/retract",
  1217. data: JSON.stringify(data),
  1218. success: function (res) {
  1219. if (res.state == 200) {
  1220. tipsSuccess('撤销成功');
  1221. }
  1222. },
  1223. error: function (err) {
  1224. console.log(err)
  1225. }
  1226. })
  1227. }
  1228. //获取评价五颗星的信息
  1229. function getDictionary() {
  1230. $.ajax({
  1231. type: 'POST',
  1232. contentType: "application/json;charset=UTF-8",
  1233. url: baseUrl + "common/common/getDictionary",
  1234. data: JSON.stringify({ "key": "incident_degree", "type": "list" }),
  1235. success: function (res) {
  1236. dictionary = res;
  1237. dictionary.sort(function (a, b) {
  1238. return a.value - b.value;
  1239. });
  1240. },
  1241. error: function (err) {
  1242. console.log(err)
  1243. }
  1244. })
  1245. }
  1246. //提交评价
  1247. function addDegree(data) {
  1248. $.ajax({
  1249. type: 'POST',
  1250. contentType: "application/json;charset=UTF-8",
  1251. url: baseUrl + "apply/bpm/degree",
  1252. data: JSON.stringify(data),
  1253. success: function (res) {
  1254. if (res.state == 200) {
  1255. tipsSuccess('您的评价已提交!')
  1256. }
  1257. },
  1258. error: function (err) {
  1259. console.log(err)
  1260. }
  1261. })
  1262. }
  1263. //注销
  1264. function logout() {
  1265. $.ajax({
  1266. type: 'POST',
  1267. contentType: "application/json;charset=UTF-8",
  1268. url: baseUrl + "auth/logout2",
  1269. data: JSON.stringify({}),
  1270. success: function (res) {
  1271. if (res.status == 200) {
  1272. sessionStorage.removeItem('loginUser');
  1273. sessionStorage.removeItem('repair_main');
  1274. window.location.href = 'login.html';
  1275. }
  1276. },
  1277. error: function (err) {
  1278. console.log(err)
  1279. }
  1280. })
  1281. }
  1282. //图片上传
  1283. function addImgList(id, data) {
  1284. $.ajax({
  1285. type: 'POST',
  1286. contentType: "application/json;charset=UTF-8",
  1287. url: baseUrl + "common/common/uploadAttachment/wechatRequesterIncident/" + id,
  1288. data: data,
  1289. cache: false,
  1290. processData: false,
  1291. contentType: false,
  1292. success: function (res) {
  1293. if (res.status == 200) {
  1294. imgAjaxNum--;
  1295. if (imgAjaxNum == 0) {
  1296. tipsSuccess('提交事件报修成功')
  1297. }
  1298. }
  1299. },
  1300. error: function (err) {
  1301. console.log(err)
  1302. }
  1303. })
  1304. }
  1305. //图片上传(IE<10)
  1306. function addImgListIE(id, index) {
  1307. var len = $('#f-images-list').find('.f-images-item').length;
  1308. var n = 0;
  1309. if (imgList.length == 3) {
  1310. n = len;
  1311. } else {
  1312. n = len - 1;
  1313. }
  1314. for (var i = 0; i < n; i++) {
  1315. if ($('#f-images-list').find('.f-images-item').eq(i).data('id') == index) {
  1316. $('#f-images-list').find('.f-images-item').eq(i).find('.form-file').attr('action', baseUrl + 'common/common/uploadAttachment/wechatRequesterIncident/' + id).submit();
  1317. imgAjaxNum--;
  1318. }
  1319. }
  1320. if (imgAjaxNum == 0) {
  1321. tipsSuccess('提交事件报修成功');
  1322. }
  1323. }
  1324. //图片获取
  1325. function getImgList(id, successFn) {
  1326. $.ajax({
  1327. type: 'GET',
  1328. contentType: "application/json;charset=UTF-8",
  1329. url: baseUrl + "common/common/listAttachment/wechatRequesterIncident/" + id,
  1330. cache: false,
  1331. success: function (res) {
  1332. if (res.status == 200) {
  1333. successFn(res.data)
  1334. }
  1335. },
  1336. error: function (err) {
  1337. console.log(err)
  1338. }
  1339. })
  1340. }
  1341. //获取流程时间
  1342. function getTimeList(processInstanceId, successFn, bool) {
  1343. $.ajax({
  1344. type: 'POST',
  1345. contentType: "application/json;charset=UTF-8",
  1346. url: baseUrl + "bpm/bpm/flowTracing/" + processInstanceId,
  1347. cache: false,
  1348. async: bool,
  1349. success: function (res) {
  1350. if (res.status == 200) {
  1351. successFn(res.data)
  1352. }
  1353. },
  1354. error: function (err) {
  1355. console.log(err)
  1356. }
  1357. })
  1358. }
  1359. // 获取是否点过赞
  1360. function getStarIf(id, successFn) {
  1361. $.ajax({
  1362. type: 'GET',
  1363. contentType: "application/json;charset=UTF-8",
  1364. url: baseUrl + "solution/canStar/requester/" + id + "/" + loginUser.id,
  1365. cache: false,
  1366. success: function (res) {
  1367. if (res.status == 200) {
  1368. successFn(res)
  1369. }
  1370. },
  1371. error: function (err) {
  1372. console.log(err)
  1373. }
  1374. })
  1375. }
  1376. })