Нет описания

AddWorkOrder.js 20KB

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