Нет описания

AddWorkOrder.js 20KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727
  1. /**
  2. * 手制工单
  3. * */
  4. $(document).ready(function() {
  5. //var nDtime = helper.DateFormat.getNowDate(); //当前时间
  6. getDepartList($('#t_county')); //营业部
  7. getDepartList($('#clbmname')); //处理部门
  8. autosize($('textarea'));
  9. // helper.getDropList.getlistDropByDic($('#t_county'), 'JBDW'); //获取乡镇或单位下拉
  10. $('#t_investigator').val($.cookie("u_code"));//给调查员默认值;当前用户的账号
  11. helper.getDropList.getlistDropByDic($('#xl_boxs'), 'ZBDW'); //获取交办单位下拉
  12. helper.getDropList.getlistDropByDic($('#xl_box'), 'WTFL'); //问题分类
  13. laydate.render({
  14. elem: '#t_time',
  15. theme: '#1ab394',
  16. calendar: 'true',
  17. });
  18. //20180518byfanlongfei将处理部门、处理人、信息分类、交办单位修改为文本框;
  19. // getBM($("#zrbmtree"));
  20. // getBM($("#clbmtree"));
  21. //标签切换
  22. $(".ldtp-cr ul.ld-service li").click(function() {
  23. $(this).addClass("cr-click").siblings().removeClass("cr-click");
  24. var index = $(this).index();
  25. $(".gsxx").find(".sqzx").eq(index).addClass("Shows").siblings().removeClass("Shows");
  26. if(index == 2) {
  27. getLX($(".tslx"), "TSLX");
  28. getBM($("#zrbmtree"));
  29. getBM($("#clbmtree"));
  30. }
  31. });
  32. //tree下拉框效果
  33. $(".inpBox .tree").click(function() {
  34. if($(this).parent().find(".addTree").is(":hidden")) {
  35. $(this).parent().find(".addTree").show();
  36. } else {
  37. $(this).parent().find(".addTree").hide();
  38. }
  39. });
  40. //普通下拉框效果
  41. $(".inpBox .select").click(function() {
  42. if($(this).parent().find(".xl_common").is(":hidden")) {
  43. $(this).parent().find(".xl_common").show();
  44. } else {
  45. $(this).parent().find(".xl_common").hide();
  46. }
  47. });
  48. $(".xl").click(function() {
  49. if($(this).parent().find(".addTree").is(":hidden")) {
  50. $(this).parent().find(".addTree").show();
  51. } else {
  52. $(this).parent().find(".addTree").hide();
  53. }
  54. if($(this).parent().find(".xl_common").is(":hidden")) {
  55. $(this).parent().find(".xl_common").show();
  56. } else {
  57. $(this).parent().find(".xl_common").hide();
  58. }
  59. });
  60. $(".inpBox").mouseleave(function() {
  61. $(this).children(".xl_common").hide();
  62. $(this).children(".addTree").hide();
  63. })
  64. //删除
  65. $(".inpBox").hover(function(event) {
  66. $(this).children(".de_icon").show();
  67. event.stopPropagation();
  68. }, function() {
  69. $(this).children(".de_icon").hide();
  70. });
  71. $(".de_icon").click(function(event) {
  72. event.stopPropagation();
  73. $(this).siblings("input").eq(0).val("");
  74. $(this).siblings("input").eq(1).val("");
  75. if($(this).siblings("div").find("ul").attr("id") == "zrbmtree") {
  76. getRY($(".zrid"), $("#zrbm").val());
  77. }
  78. if($(this).siblings("div").find("ul").attr("id") == "clbmtree") {
  79. getRY($(".clid"), $("#clbm").val());
  80. }
  81. });
  82. //创建工单
  83. $(".addts").click(function() {
  84. var str=proimglist.toString();
  85. var telreg = /^\d{3,12}$/;
  86. var tskh = $("#tskh").val();
  87. var tsdh = $("#tsdh").val();
  88. // var clbm = $("#clbm").val();
  89. // var clid = $("#clid").val();
  90. var cont = $("#cont").val();
  91. var infotype=$('#xl_box').find('option:selected').text();
  92. var infotypedetail = $('#infotypedetail').find('option:selected').text();
  93. // var unit=$('#xl_boxs').find('option:selected').text();
  94. if(!telreg.test($.trim(tsdh))) {
  95. layer.confirm('请输入正确格式的电话!', {
  96. icon: 2,
  97. btn: ['确定'] //按钮
  98. });
  99. return;
  100. }
  101. if(infotype=='请选择'){
  102. infotype=''
  103. }
  104. if(infotypedetail == '请选择') {
  105. infotypedetail = ''
  106. }
  107. if($('#clbmname').val() == 0) {
  108. layer.confirm('请输入处理部门!', {
  109. icon: 2,
  110. btn: ['确定']
  111. });
  112. return;
  113. }
  114. if(!$('#clidname').val()) {
  115. layer.confirm('请输入处理人!', {
  116. icon: 2,
  117. btn: ['确定']
  118. });
  119. return;
  120. }
  121. if(!infotype) {
  122. layer.confirm('请输入问题分类!', {
  123. icon: 2,
  124. btn: ['确定']
  125. });
  126. return;
  127. }
  128. if(!infotypedetail) {
  129. layer.confirm('请输入热点问题!', {
  130. icon: 2,
  131. btn: ['确定']
  132. });
  133. return;
  134. }
  135. $.ajax({
  136. type: "POST",
  137. url: huayi.config.callcenter_url + "CallInScreen/AddWorkOrder",
  138. dataType: 'json',
  139. beforSend: function() {
  140. $('#addts').off('click')
  141. },
  142. data:{
  143. //file //string 否 附件
  144. khid: 0, //int 否 客户id
  145. callid: 0, //string 否
  146. source: 1, //string 是 工单来源
  147. customer: tskh, //string 是 客户姓名
  148. custel: tsdh, //string 是 电话
  149. country: 0, //string 否 乡镇或单位
  150. address: $('#t_address').val(), //string 否 住址
  151. inqtime: $('#t_time').val(), //string 否 调查时间
  152. inquser: $('#t_investigator').val(), //string 否 调查员
  153. clbm: $('#clbmname').val(), //string 否 处理部门
  154. // clid: $('#clidname').val(), //string 否 处理人
  155. clr:$('#clidname').val(),
  156. infotype: infotype, //string 否 信息分类id,默认为0
  157. infotypeid:$('#xl_box').val(),
  158. infotypedetail: infotypedetail,
  159. infotypedetailid: $('#infotypedetail').val(),
  160. state: $("input[name='ltype']:checked").val(),
  161. unit: $('#clbmname').val(), //string 否 交办单位id,默认为0
  162. detail: $('#t_detail').val(), //string 是 反映问题
  163. answer: $('#t_answer').val(), //string 否 回访反馈情况
  164. cont: cont, //string 否 问题处理情况
  165. remark: $('#t_remarks').val(), //string 否 备注
  166. file:proimglist && proimglist.join(','),//附件信息
  167. token: $.cookie("token")
  168. },
  169. async: true,
  170. success: function(result) {
  171. $('#addts').on('click')
  172. if(result.state.toLowerCase() == "success") {
  173. clean();
  174. $('#fileList').empty();
  175. location=location;
  176. layer.msg("创建工单成功");
  177. }
  178. },
  179. })
  180. })
  181. });
  182. //20180518byfanlongfei将处理部门、处理人、信息分类、交办单位修改为文本框;
  183. //营业部
  184. function getDepartList(obj) {
  185. obj.empty();
  186. let str = '<option value="0">请选择</option>'
  187. $.getJSON(huayi.config.callcenter_url + 'CallOutPlan/GetDepartList', {
  188. "token": $.cookie("token")
  189. }, function(result) {
  190. if(result.state.toLowerCase() == "success") {
  191. result.data.forEach(function(v, n) {
  192. str += '<option value="' + v.F_DeptId + '">' + v.F_DeptName + '</option>'
  193. })
  194. obj.html(str)
  195. }
  196. })
  197. }
  198. //获取部门
  199. $('#clbmname').change(function(){
  200. getUserListByDepartment($('#clidname'), $('#clbmname').val())
  201. })
  202. function getUserListByDepartment(obj, deptid) {
  203. obj.empty();
  204. let str = ''
  205. $.getJSON(huayi.config.callcenter_url + 'CallInScreen/getUserListByDepartment', {
  206. "token": $.cookie("token"),
  207. deptid: deptid
  208. }, function(result) {
  209. if(result.state.toLowerCase() == "success") {
  210. result.data.forEach(function(v, n) {
  211. str += '<option value="' + v.F_UserCode + '">' + v.F_UserName + '</option>'
  212. })
  213. obj.html(str)
  214. }
  215. })
  216. }
  217. //获取问题详情
  218. $('#xl_box').change(function(){
  219. getInfotypedetail($('#infotypedetail'), $('#xl_box').find('option:selected').text())
  220. })
  221. function getInfotypedetail(obj,val){
  222. $.getJSON(huayi.config.callcenter_url + 'Dictionary/GetDicValueListByDescribe', {
  223. "token": $.cookie("token"),
  224. des: val
  225. }, function(result) {
  226. if(result.state.toLowerCase() == "success") {
  227. let str='<option value="">请选择</option>'
  228. result.data.forEach(function(v, n) {
  229. str += '<option value="' + v.F_DictionaryValueId + '">' + v.F_Name + '</option>'
  230. })
  231. obj.html(str)
  232. }
  233. })
  234. }
  235. //var setting = {
  236. // data: {
  237. // key: {
  238. // name: "F_DeptName"
  239. // },
  240. // simpleData: {
  241. // enable: true,
  242. // idKey: "F_DeptId",
  243. // pIdKey: "F_ParentId",
  244. // rootPId: 0
  245. // }
  246. // },
  247. // callback: {
  248. // onClick: zTreeOnClick
  249. // }
  250. //};
  251. //
  252. //function getBM(obj) {
  253. // $.getJSON(huayi.config.callcenter_url + 'Department/GetAllList', {
  254. // "token": $.cookie("token")
  255. // }, function(result) {
  256. // if(result.state.toLowerCase() == "success") {
  257. // $.fn.zTree.init(obj, setting, result.data);
  258. // }
  259. // })
  260. //}
  261. //var did; //部门id
  262. //function zTreeOnClick(event, treeId, treeNode) {
  263. // did = treeNode.F_DeptId;
  264. // if(event) {
  265. // event.stopPropagation();
  266. // }
  267. // var obj = $("#" + event.data.treeId).parent();
  268. // obj.parent().find("input").eq(0).val(treeNode.F_DeptName);
  269. // obj.parent().find("input").eq(1).val(treeNode.F_DeptId);
  270. // obj.hide();
  271. // if(event.data.treeId == "zrbmtree") {
  272. // getRY($(".zrid"), $("#zrbm").val());
  273. //
  274. // }
  275. // if(event.data.treeId == "clbmtree") {
  276. // getRY($(".clid"), $("#clbm").val());
  277. // }
  278. //};
  279. ////获取人员
  280. //function getRY(obj, deptid) {
  281. // obj.empty();
  282. // obj.append('<li itemid="">--请选择--</li>');
  283. // obj.parent().parent().find("input").eq(0).val("--请选择--");
  284. // obj.parent().parent().find("input").eq(1).val("");
  285. // $.getJSON(huayi.config.callcenter_url + 'UserAccount/GetDeptUserList', {
  286. // "deptid": deptid,
  287. // "token": $.cookie("token")
  288. // }, function(result) {
  289. // if(result.state.toLowerCase() == "success") {
  290. // $(result.data).each(function(i, n) {
  291. // obj.append('<li itemid="' + n.F_UserId + '">' + n.F_UserName + '</li>');
  292. // })
  293. //
  294. // obj.find("li").click(function(event) {
  295. // if(event) {
  296. // event.stopPropagation();
  297. // }
  298. // $(this).parent().parent().parent().find("input").eq(0).val($(this).text());
  299. // $(this).parent().parent().parent().find("input").eq(1).val($(this).attr("itemid"));
  300. // $(this).parent().parent().hide();
  301. // });
  302. // }
  303. // })
  304. //}
  305. //获取类型
  306. function getLX(obj, type) {
  307. obj.empty();
  308. $.getJSON(huayi.config.callcenter_url + 'Dictionary/GetDicValueListByFlag', {
  309. "flag": type,
  310. "token": $.cookie("token")
  311. }, function(result) {
  312. if(result.state.toLowerCase() == "success") {
  313. $(result.data).each(function(i, n) {
  314. obj.append('<li itemid="' + n.F_DictionaryValueId + '">' + n.F_Name + '</li>');
  315. })
  316. obj.find("li").click(function(event) {
  317. if(event) {
  318. event.stopPropagation();
  319. }
  320. $(this).parent().parent().parent().find("input").eq(0).val($(this).text());
  321. $(this).parent().parent().parent().find("input").eq(1).val($(this).attr("itemid"));
  322. $(this).parent().parent().hide();
  323. });
  324. }
  325. })
  326. }
  327. //清空表单
  328. function clean() {
  329. $('.form-control').val('');
  330. $('input[readonly]').val('');
  331. }
  332. /**
  333. * 附件上传直接在知识库管理拿来用 开始
  334. * */
  335. var proimglist = []; //保存附件数组
  336. var uploader; //上传实例
  337. var limitNum = 6; //限制数量
  338. var edit_id = helper.request.queryString("edit_id");
  339. var token = $.cookie("token");
  340. $(function() {
  341. autosize($('textarea'));
  342. getChangeTree();
  343. if(edit_id) {
  344. getDetail();
  345. } else {
  346. $('#kn_type').val('顶级分类');
  347. $('#kn_type').attr('data-id', 0)
  348. uploaderImages();
  349. }
  350. //初始化 下拉
  351. $('.inps1').focus(function() {
  352. $('.xlAdd').css('display', 'block');
  353. });
  354. $('.xl_one').click(function() {
  355. if($('.xlAdd').css('display') == 'block') {
  356. $('.xlAdd').css('display', 'none')
  357. } else {
  358. $('.xlAdd').css('display', 'block')
  359. }
  360. });
  361. $('.addTree').mouseleave(function() {
  362. $(this).css('display', 'none')
  363. });
  364. $('#save_knowledge').on('click', saveKnowledge);
  365. });
  366. //修改弹出框内 下拉树形图参数配置项
  367. function getChangeTree() {
  368. var setting3 = {
  369. data: {
  370. key: {
  371. name: "text"
  372. },
  373. simpleData: {
  374. enable: true,
  375. idKey: "id",
  376. rootPId: 0
  377. }
  378. },
  379. callback: {
  380. onClick: changeTreeClick
  381. }
  382. }
  383. $.get(huayi.config.callcenter_url + 'KnowledgeClass/GetList', {
  384. // "pid": pid,
  385. "token": token,
  386. }, function(result) {
  387. result = $.parseJSON(result);
  388. $.fn.zTree.init($("#addTreeDemo"), setting3, result.data); //实例化树形图
  389. });
  390. }
  391. function changeTreeClick(event, treeId, treeNode) {
  392. $('#kn_type').val(treeNode.text);
  393. $('#kn_type').attr('data-id', treeNode.id);
  394. };
  395. //获取详情
  396. function getDetail() {
  397. var dtd = $.Deferred(); //在函数内部,新建一个Deferred对象
  398. $.ajax({
  399. type: "post",
  400. url: huayi.config.callcenter_url + "Knowledge/GetInfo",
  401. async: true,
  402. dataType: 'json',
  403. data: {
  404. infoid: edit_id,
  405. token: token
  406. },
  407. success: function(data) {
  408. var con = data.data;
  409. $('#kn_title').val(con.F_Title);
  410. $('#kn_key').val(con.F_KeyWords);
  411. $('#kn_content').val(con.F_Description);
  412. $('#kn_type').val(con.F_Expand1);
  413. $('#kn_type').attr('data-id', con.F_CategoryId);
  414. //附件
  415. var proimglists = con.FileUrls;
  416. console.log(proimglists);
  417. proimglists = proimglists == null ? [] : proimglists;
  418. limitNum -= proimglists.length;
  419. uploaderImages(); //附件上传
  420. if(proimglists.length > 0) {
  421. $('#fileNum').text(proimglists.length);
  422. var $list = $("#fileList");
  423. $.each(proimglists, function(i, v) {
  424. proimglist.push(v.F_FileId);
  425. if(v.F_FileType.split("\/")[0] === 'image') {
  426. //原来的图片
  427. var $li = $(
  428. '<li><span class="img_mask"><i class="img_del"></i></span>' +
  429. '<img src="' + v.F_FileUrl + '" title="原来的图片"/>' +
  430. '<span class="file_name">' + v.F_FileName + '</span>' +
  431. '</li>'
  432. );
  433. $list.append($li);
  434. } else {
  435. var $liFile = $(
  436. '<li><span class="img_mask"><i class="img_del"></i></span>' +
  437. '<div class="noThumb" title="原来的文件"><i class="glyphicon glyphicon-paperclip"></i><p>无法预览</p></div>' +
  438. '<span class="file_name">' + v.F_FileName + '</span>' +
  439. '</li>'
  440. );
  441. $list.append($liFile);
  442. }
  443. });
  444. $list.find('li').off('click');
  445. $list.find('li').on('click', '.img_del', function() {
  446. $(this).parent().parent().remove();
  447. var itemFileName = $(this).parent().parent().find('.file_name').text();
  448. $.each(proimglists, function(i, v) {
  449. if(v && v.F_FileName == itemFileName) {
  450. proimglist.splice(i, 1);
  451. }
  452. });
  453. $('#fileNum').text(proimglist.length);
  454. limitNum = 6 - proimglist.length;
  455. uploaderImages();
  456. });
  457. }
  458. dtd.resolve(); // 改变Deferred对象的执行状态
  459. }
  460. });
  461. return dtd.promise(); // 返回promise对象
  462. }
  463. //保存
  464. function saveKnowledge() {
  465. var wUrl;
  466. if(!$.trim($('#kn_type').val())) {
  467. layer.confirm('所属分类不能为空', {
  468. icon: 2,
  469. btn: ['确定'] //按钮
  470. });
  471. return;
  472. }
  473. if(!$.trim($('#kn_title').val())) {
  474. layer.confirm('标题不能为空', {
  475. icon: 2,
  476. btn: ['确定'] //按钮
  477. });
  478. return;
  479. }
  480. if(edit_id) {
  481. wURL = "Knowledge/EditInfo";
  482. } else {
  483. wURL = "Knowledge/AddInfo";
  484. }
  485. $.ajax({
  486. type: "post",
  487. url: huayi.config.callcenter_url + wURL,
  488. dataType: 'json',
  489. async: true,
  490. beforeSend: function() { //触发ajax请求开始时执行
  491. $('#save_knowledge').attr("disabled", true);
  492. $('#save_knowledge').text('保存中...');
  493. $(document).off('click', '#save_knowledge', saveKnowledge);
  494. loadIndex = layer.load();
  495. },
  496. data: {
  497. infoid: edit_id,
  498. title: $('#kn_title').val(),
  499. key: $('#kn_key').val(),
  500. con: helper.filter.delHtmlTag($('#kn_content').val()),
  501. pid: $('#kn_type').attr('data-id'),
  502. fileids: proimglist && proimglist.join(','),
  503. token: token
  504. },
  505. success: function(result) {
  506. if(result.state.toLowerCase() === "success") {
  507. var index = parent.layer.getFrameIndex(window.name);
  508. parent.layer.close(index);
  509. parent.table.bootstrapTable('refresh');
  510. layer.msg("保存成功");
  511. }
  512. },
  513. error: function(textStatus) {
  514. layer.close(loadIndex);
  515. layer.confirm('网络繁忙,请稍后再试...', {
  516. icon: 7,
  517. closeBtn: 0,
  518. btn: ['确定'] //按钮
  519. });
  520. $('#save_knowledge').text('保存');
  521. $('#save_knowledge').attr("disabled", false);
  522. $(document).off('click', '#save_knowledge', saveKnowledge);
  523. $(document).on('click', '#save_knowledge', saveKnowledge);
  524. },
  525. complete: function(XMLHttpRequest, textStatus) {
  526. layer.close(loadIndex);
  527. if(textStatus == 'timeout') {
  528. var xmlhttp = window.XMLHttpRequest ? new window.XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHttp");
  529. xmlhttp.abort();
  530. layer.confirm('网络超时,请稍后再试...', {
  531. icon: 7,
  532. closeBtn: 0,
  533. btn: ['确定'] //按钮
  534. });    
  535. }
  536. $('#save_knowledge').text('保存');
  537. $('#save_knowledge').attr("disabled", false);
  538. $(document).off('click', '#save_knowledge', saveKnowledge);
  539. $(document).on('click', '#save_knowledge', saveKnowledge);
  540. },
  541. });
  542. }
  543. //上传附件
  544. function uploaderImages() {
  545. if(uploader) {
  546. uploader.destroy();
  547. }
  548. uploader = WebUploader.create({
  549. auto: true, // 选完文件后,是否自动上传
  550. swf: '../../js/webuploader/Uploader.swf', // swf文件路径
  551. server: huayi.config.callcenter_url + "Knowledge/UpLoadProcess", // 文件接收服务端
  552. pick: '#imgPicker', // 选择文件的按钮。可选
  553. formData: {
  554. token: token,
  555. },
  556. // 多类型文件上传
  557. accept: {
  558. title: 'Files',
  559. extensions: 'gif,jpg,jpeg,bmp,png,pdf,doc,docx,txt,xls,xlsx,ppt,pptx,zip,mp3,mp4,text,csv',
  560. mimeTypes: 'image/*,text/*,audio/mpeg,audio/mp4, video/mp4'
  561. //word
  562. +',application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document'
  563. //excel
  564. +',application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
  565. //ppt
  566. +',application/vnd.ms-powerpoint,application/vnd.openxmlformats-officedocument.presentationml.presentation'
  567. +',application/pdf'
  568. +',application/zip'
  569. +',application/csv'
  570. // title: 'Images',
  571. // extensions: 'gif,jpg,jpeg,bmp,png',
  572. // mimeTypes: 'image/*'
  573. },
  574. compress: false, //webuploader默认压缩图片,设置compress:false,可以按照原始比例上传图片
  575. //fileVal: "upFile",//设置文件上传域的name。
  576. threads: limitNum, //上传并发数。允许同时最大上传进程数,为了保证文件上传顺序
  577. fileNumLimit: limitNum,
  578. fileSizeLimit: 180 * 1024 * 1024, // 180 M
  579. fileSingleSizeLimit: 30 * 1024 * 1024 // 30 M
  580. });
  581. uploader.on('fileQueued', function(file) {
  582. var $list = $("#fileList"),
  583. $li = $(
  584. '<li id="' + file.id + '"><span class="img_mask"><i class="img_del"></i></span>' +
  585. '<img/>' +
  586. '<span class="img_state"><i></i></span>' +
  587. '<span class="file_name">' + file.name + '</span>' +
  588. '</li>'
  589. ),
  590. $img = $li.find('img');
  591. // $list为容器jQuery实例
  592. $list.append($li);
  593. // 保存缩略图
  594. uploader.makeThumb(file, function(error, src) {
  595. if(error) {
  596. $img.replaceWith('<div class="noThumb"><i class="glyphicon glyphicon-paperclip"></i><p>无法预览</p></div>');
  597. return;
  598. }
  599. $img.attr('src', src);
  600. }, 109, 109); //109*109为缩略图尺寸
  601. //绑定删除
  602. $('#' + file.id).on('click', '.img_del', function() {
  603. uploader.removeFile(file);
  604. var $fileLi = $('#' + file.id);
  605. $fileLi.off().find('.img_del').off().end().remove();
  606. var itemFileName = $(this).parent().parent().find('.file_name').text();
  607. var img_index=$(this).parent().parent().attr('index')
  608. $.each(proimglist, function(i, v) {
  609. if(v == img_index) {
  610. proimglist.splice(i, 1);
  611. //helper.methods.delImgs(v.filesmallurl, v.fileurl);
  612. }
  613. });
  614. $('#fileNum').text(proimglist.length);
  615. });
  616. });
  617. // 文件上传过程中保存进度条实时显示。
  618. uploader.on('uploadProgress', function(file, percentage) {
  619. var $li = $('#' + file.id),
  620. $percent = $li.find('.progress span');
  621. // 避免重复保存
  622. if(!$percent.length) {
  623. $percent = $('<div class="progress" style="">' +
  624. '<span class="text">0%</span>' +
  625. '<span class="percentage"></span>' +
  626. '</div>')
  627. .appendTo($li)
  628. .find('span');
  629. }
  630. $percent.eq(0).text(Math.round(percentage * 100) + '%');
  631. $percent.eq(1).css('width', Math.round(percentage * 100) + '%');
  632. });
  633. // 文件上传成功,给item添加成功class, 用样式标记上传成功。
  634. uploader.on('uploadSuccess', function(file, res) {
  635. proimglist.push(res.data.F_FileId);
  636. $('#fileNum').text(proimglist.length);
  637. $('#' + file.id).addClass('upload-state-done');
  638. $('#' + file.id).attr('index',res.data.F_FileId);
  639. });
  640. // 文件上传失败,显示上传出错。
  641. uploader.on('uploadError', function(file) {
  642. var $li = $('#' + file.id),
  643. $error = $li.find('div.error');
  644. // 避免重复创建
  645. if(!$error.length) {
  646. $error = $('<div class="error"></div>').appendTo($li);
  647. }
  648. $error.text('上传失败');
  649. });
  650. // 完成上传完了,成功或者失败,先删除进度条。
  651. uploader.on('uploadComplete', function(file) {
  652. $('#' + file.id).find('.progress').remove();
  653. });
  654. uploader.onError = function(code) {
  655. // console.log('Error:' + code);
  656. switch(code) {
  657. case "Q_EXCEED_NUM_LIMIT":
  658. layer.msg('只能上传六个文件。');
  659. break;
  660. case "Q_TYPE_DENIED":
  661. layer.msg('文件类型不正确。');
  662. break;
  663. case "F_DUPLICATE":
  664. layer.msg('该文件已上传,请选择其它文件。');
  665. break;
  666. case "F_EXCEED_SIZE":
  667. layer.msg('单文件大小不能超过30M。');
  668. break;
  669. case "Q_EXCEED_SIZE_LIMIT":
  670. layer.msg('总文件大小不能超过180M。');
  671. break;
  672. default:
  673. break;
  674. }
  675. };
  676. }
  677. /**
  678. * 附件上传直接在知识库管理拿来用 结束
  679. * */