Sin descripción

addUserManage.js 21KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697
  1. /**
  2. * 用户增加或编辑
  3. * */
  4. var head_img_data; //保存头像的大图
  5. var small_img_data; //保存头像的小图
  6. var Ids = helper.request.queryString("ids");
  7. var imageArr0 = '',
  8. imageArr1 = '';
  9. uploaderImg(0); //技能证书
  10. uploaderImg(1); //身份证
  11. $(function() {
  12. autosize($('textarea'));
  13. //获取项目
  14. helper.getDropList.getProlistDrop($('#projectid'));
  15. //获取角色
  16. GetRoleName($('#role_id'));
  17. imgEditor(); //头像裁剪
  18. if(Ids) {
  19. $('.editPwd').show();
  20. $('.addPwd').hide();
  21. $.when(helper.getDropList.getProlistDrop($('#projectid')), GetRoleName($('#role_id'))).then(function() {
  22. // $('#projectid').find('option[value=""]').attr('disabled', true);
  23. getUserDetails(Ids); //详情
  24. });
  25. }
  26. //添加编辑保存按钮点击
  27. $('#pro_save').on('click', saveUsers);
  28. //日期
  29. lay('.layer_times').each(function() {
  30. laydate.render({
  31. elem: this,
  32. trigger: 'click',
  33. });
  34. });
  35. //密码对比
  36. $('#password2').blur(function() {
  37. if($(this).val()) {
  38. if($(this).val() !== $('#password').val()) {
  39. layer.confirm('密码输入不一致,请重新输入!', {
  40. icon: 2,
  41. btn: ['确定']
  42. }, function(index) {
  43. layer.close(index);
  44. $('#password2').val('');
  45. $('#password2').trigger('focus');
  46. });
  47. return;
  48. }
  49. } else {
  50. layer.confirm('请确认密码!', {
  51. icon: 2,
  52. btn: ['确定']
  53. });
  54. return;
  55. }
  56. })
  57. });
  58. var pwdHtml = '<ul class="project_items form-horizontal" style="width: 95%">' +
  59. '<li class="form-group addPwd">' +
  60. '<label for="password" class="col-md-2 text-right"><b class="text_require">*</b>密码</label>' +
  61. '<div class="col-md-10">' +
  62. '<input id="password_cz" class="form-control" type="password" autocomplete="off" placeholder="请输入密码" />' +
  63. '</div>' +
  64. '</li>' +
  65. '<li class="form-group addPwd">' +
  66. '<label for="password2" class="col-md-2 text-right"><b class="text_require">*</b>确认密码</label>' +
  67. '<div class="col-md-10">' +
  68. '<input id="password2_cz" class="form-control" type="password" autocomplete="off" placeholder="请再次输入密码" />' +
  69. '</div>' +
  70. '</li>' +
  71. '<li class="form-group addPwd">' +
  72. '<div class="col-md-12" style="text-align: center;">' +
  73. '<button id="submitPwd" class="btn btn-info" onclick="editPwd()">提交</button>' +
  74. '</div>' +
  75. '</li>' +
  76. '</ul>'
  77. var pwdTC, userCodes;
  78. $('#editPwd').click(function() {
  79. pwdTC = layer.open({
  80. type: 1,
  81. title: '密码重置',
  82. area: ['50%', '50%'], //宽高
  83. content: pwdHtml
  84. });
  85. });
  86. //密码重置
  87. function editPwd() {
  88. if(!regexs.passwordReg.test($.trim($('#password_cz').val()))) {
  89. layer.confirm('请输入有效的密码(6-32个字符只能是字母、下划线、数字)', {
  90. icon: 2,
  91. btn: ['确定']
  92. });
  93. return;
  94. }
  95. if(!regexs.passwordReg.test($.trim($('#password2_cz').val()))) {
  96. layer.confirm('请输入有效的确认密码(6-32个字符只能是字母、下划线、数字)', {
  97. icon: 2,
  98. btn: ['确定']
  99. });
  100. return;
  101. }
  102. $('#password2_cz').blur(function() {
  103. if($(this).val()) {
  104. if($(this).val() !== $('#password_cz').val()) {
  105. layer.confirm('密码输入不一致,请重新输入!', {
  106. icon: 2,
  107. btn: ['确定']
  108. }, function(index) {
  109. layer.close(index);
  110. $('#password2_cz').val('');
  111. $('#password2_cz').trigger('focus');
  112. });
  113. return;
  114. }
  115. } else {
  116. layer.confirm('请确认密码!', {
  117. icon: 2,
  118. btn: ['确定']
  119. });
  120. return;
  121. }
  122. })
  123. $.post(huayi.config.callcenter_url + "signtokenapi/api/UserAccount/updatepassword", {
  124. usercode: userCodes,
  125. password: $.md5($('#password_cz').val()),
  126. surepassword: $.md5($('#password2_cz').val()),
  127. }, function(data) {
  128. data = JSON.parse(data);
  129. if(data.state == "success") {
  130. layer.msg("密码修改成功!");
  131. layer.close(pwdTC); //关闭弹层
  132. }
  133. });
  134. }
  135. //获取详情
  136. function getUserDetails(ids) {
  137. $.getJSON(huayi.config.callcenter_url + "signtokenapi/api/UserAccount/getdetails", {
  138. id: ids,
  139. }, function(data) {
  140. if(data.state == "success") {
  141. var res = data.data;
  142. $('#usercode').val(res.usercode);
  143. userCodes = res.usercode;
  144. $('#user_name').val(res.username);
  145. $('#type').find('input[name="userType_flag"][value="' + res.type + '"]').prop("checked", "checked"), //用户类型
  146. $('#role_id').selectpicker('val', res.role_id).trigger('change'); //角色id
  147. $('input[name="sex"][value="' + res.sex + '"]').prop("checked", "checked"); //性别
  148. $('#mail').val(res.mail); //邮箱
  149. $('#mobile').val(res.mobile); //手机号
  150. $('#remark').val(res.remark); //备注
  151. $('#entrytime').val(res.entrytime); // string 入职时间
  152. $('#transfertime').val(res.transfertime); // string 转岗时间
  153. $('#idcardno').val(res.idcardno), //string 身份证号码(新)
  154. getImgVal(res.certificate, 0); // list 技能证书
  155. getImgVal(res.idcard, 1); //list 身份证照片(新)
  156. $('#image_list0').find('.thumbnail').on('click', '.image-close', function() {
  157. $(this).parent().remove();
  158. file_num(0);
  159. });
  160. $('#image_list1').find('.thumbnail').on('click', '.image-close', function() {
  161. $(this).parent().remove();
  162. file_num(1);
  163. });
  164. $('#projectid').selectpicker('val', res.projectlist).trigger("change"); //项目信息
  165. //头像
  166. var ipUrl = data.data.head_img;
  167. if(ipUrl && ipUrl.length > 0) {
  168. head_img_data = ipUrl;
  169. small_img_data = data.data.head_small_img;
  170. $('.crop_left img').attr('src', ipUrl);
  171. // $.each(ipUrl, function(i, v) {
  172. // $('.crop_left img').attr('src', v.head_img);
  173. // $("#file_name").val(v.filename);
  174. // });
  175. } else {
  176. // $('.crop_left img').attr('src', '../img/p3.jpg');
  177. $('.crop_left img').attr('src', '');
  178. }
  179. imgEditor();
  180. //话务相关
  181. // $('input[name="seat_flag"][value="' + res.seat_flag + '"]').prop("checked", "checked"); //话务标志
  182. // $('#extensionnumber').val(res.extensionnumber); //分机号
  183. // $('#group').val(res.group); //坐席组
  184. // $('input[name="seat_right"][value="' + res.seat_right + '"]').prop("checked", "checked"); //坐席权限
  185. // $('#seat_level').val(res.seat_level); //坐席等级
  186. // $('input[name="see_flag"][value="' + res.see_flag + '"]').prop("checked", "checked"); //查看权限
  187. // $('input[name="call_type"][value="' + res.call_type + '"]').prop("checked", "checked"); //呼叫类型
  188. // $('#team_id').val(res.team_id); //团队
  189. }
  190. });
  191. }
  192. //保存
  193. function saveUsers() {
  194. if(!regexs.userReg.test($.trim($('#usercode').val()))) {
  195. layer.confirm('请输入有效的用户工号(只能是字母、下划线、数字)', {
  196. icon: 2,
  197. btn: ['确定']
  198. });
  199. return;
  200. }
  201. if(!$.trim($('#user_name').val())) {
  202. layer.confirm('请输入姓名!', {
  203. icon: 2,
  204. btn: ['确定']
  205. });
  206. return;
  207. }
  208. if(!$.trim($('#role_id').val())) {
  209. layer.confirm('请选择角色!', {
  210. icon: 2,
  211. btn: ['确定']
  212. });
  213. return;
  214. }
  215. if(!regexs.phone.test($.trim($('#mobile').val()))) {
  216. layer.confirm('请输入有效的手机号码!', {
  217. icon: 2,
  218. btn: ['确定']
  219. });
  220. return;
  221. }
  222. if($.trim($('#idcardno').val())) {
  223. if(!regexs.identityCard.test($.trim($('#idcardno').val()))) {
  224. layer.confirm('请输入有效的身份证号码!', {
  225. icon: 2,
  226. btn: ['确定']
  227. });
  228. return;
  229. }
  230. }
  231. if(!$.trim($('#projectid').val())) {
  232. layer.confirm('请选择项目信息', {
  233. icon: 2,
  234. btn: ['确定']
  235. });
  236. return;
  237. }
  238. if(Ids) {
  239. editUsers(Ids);
  240. } else {
  241. if(!regexs.passwordReg.test($.trim($('#password').val()))) {
  242. layer.confirm('请输入有效的密码(6-32个字符只能是字母、下划线、数字)', {
  243. icon: 2,
  244. btn: ['确定']
  245. });
  246. return;
  247. }
  248. if(!regexs.passwordReg.test($.trim($('#password2').val()))) {
  249. layer.confirm('请输入有效的确认密码(6-32个字符只能是字母、下划线、数字)', {
  250. icon: 2,
  251. btn: ['确定']
  252. });
  253. return;
  254. }
  255. addUsers();
  256. }
  257. }
  258. //添加用户
  259. function addUsers() {
  260. $.post(huayi.config.callcenter_url + "signtokenapi/api/UserAccount/add", {
  261. usercode: $('#usercode').val(),
  262. username: $('#user_name').val(),
  263. password: $.md5($('#password').val()),
  264. type: $('#type').find('input[name="userType_flag"]:checked').val(), //用户类型
  265. role_id: $('#role_id').val(),
  266. sex: $('input[name="sex"]:checked').val(),
  267. mail: $('#mail').val(),
  268. head_img: head_img_data, //头像大图
  269. head_small_img: small_img_data, //头像缩略图
  270. mobile: $('#mobile').val(), //手机号码
  271. remark: $('#remark').val(),
  272. idcardno: $('#idcardno').val(), //string 身份证号码(新)
  273. idcard: imageArr1, // list 身份证照片(新)
  274. certificate: imageArr0, // list 技能证书
  275. entrytime: $('#entrytime').val(), // string 入职时间
  276. transfertime: $('#transfertime').val(), // string 转岗时间
  277. projectlist: $('#projectid').val() ? $('#projectid').val():[] // list 项目id 如:[“项目id”,”项目id”,”项目id”]
  278. //话务相关
  279. // seat_flag: $('input[name="seat_flag"]:checked').val(), //话务标志
  280. // extensionnumber: $('#extensionnumber').val(), //分机号
  281. // seat_right: $('input[name="seat_right"]:checked').val(), //坐席类别
  282. // seat_level: $('#seat_level').val(), //坐席等级
  283. // group: $('#group').val(), //坐席组id
  284. // see_flag: $('input[name="see_flag"]:checked').val(),//string 察看权限(1:个人;2:班组;3:所有)
  285. // call_type: $('input[name="call_type"]:checked').val(),//int 0:呼入;1:呼出
  286. // team_id: $('#team_id').val(),//团队id
  287. }, function(data) {
  288. data = JSON.parse(data);
  289. if(data.state == "success") {
  290. var index = parent.layer.getFrameIndex(window.name);
  291. parent.layer.close(index);
  292. parent.$('#user_table').bootstrapTable('refresh');
  293. parent.layer.msg("保存成功");
  294. }
  295. });
  296. }
  297. //编辑用户
  298. function editUsers(Ids) {
  299. $.post(huayi.config.callcenter_url + "signtokenapi/api/UserAccount/update", {
  300. id: Ids,
  301. usercode: $('#usercode').val(),
  302. username: $('#user_name').val(),
  303. type: $('#type').find('input[name="userType_flag"]:checked').val(), //用户类型
  304. role_id: $('#role_id').val(),
  305. sex: $('input[name="sex"]:checked').val(),
  306. mail: $('#mail').val(),
  307. head_img: head_img_data, //头像大图
  308. head_small_img: small_img_data, //头像缩略图
  309. mobile: $('#mobile').val(),
  310. remark: $('#remark').val(),
  311. idcardno: $('#idcardno').val(), //string 身份证号码(新)
  312. idcard: imageArr1, // list 身份证照片(新)
  313. certificate: imageArr0, // list 技能证书
  314. entrytime: $('#entrytime').val(), // string 入职时间
  315. transfertime: $('#transfertime').val(), // string 转岗时间
  316. projectlist: $('#projectid').val() ? $('#projectid').val():[] // list 项目id 如:[“项目id”,”项目id”,”项目id”]
  317. //话务相关
  318. // seat_flag: $('input[name="seat_flag"]:checked').val(), //话务标志
  319. // extensionnumber: $('#extensionnumber').val(), //分机号
  320. // seat_right: $('input[name="seat_right"]:checked').val(), //坐席类别
  321. // seat_level: $('#seat_level').val(), //坐席等级
  322. // group: $('#group').val(), //坐席组id
  323. // see_flag: $('input[name="see_flag"]:checked').val(),//string 察看权限(1:个人;2:班组;3:所有)
  324. // call_type: $('input[name="call_type"]:checked').val(),//int 0:呼入;1:呼出
  325. // team_id: $('#team_id').val(),//团队id
  326. }, function(data) {
  327. data = JSON.parse(data);
  328. if(data.state == "success") {
  329. //更新头像
  330. if($('#usercode').val() === window.localStorage.getItem('userCode')){
  331. if(head_img_data != window.localStorage.getItem('headImg')){
  332. window.localStorage.setItem('headImg', head_img_data);
  333. top.$('#head_img').attr('src', head_img_data);
  334. }
  335. }
  336. var index = parent.layer.getFrameIndex(window.name);
  337. parent.layer.close(index);
  338. parent.$('#user_table').bootstrapTable('refresh');
  339. parent.layer.msg("保存成功");
  340. }
  341. });
  342. }
  343. //图片剪切
  344. function imgEditor() {
  345. var o = $(".image-crop > img");
  346. o.cropper("destroy");
  347. o.cropper({
  348. // aspectRatio: 750 / 1334,
  349. aspectRatio: 1 / 1,
  350. resizable: true,
  351. dragCrop: true,
  352. preview: ".img-preview",
  353. done: function() {
  354. }
  355. });
  356. var r = $("#inputImage");
  357. var fileName = $("#file_name").val();
  358. if(window.FileReader) {
  359. r.change(function() {
  360. $('.progress-bar').css('width', '0%');
  361. $('.progress-bar').text('0%');
  362. var e, i = new FileReader,
  363. t = this.files;
  364. if(t.length && (e = t[0], /^image\/\w+$/.test(e.type))) {
  365. i.readAsDataURL(e);
  366. fileName = e.name;
  367. i.onload = function() {
  368. r.val("");
  369. o.cropper("reset", !0).cropper("replace", this.result);
  370. }
  371. } else {
  372. layer.msg("请选择本地图片文件");
  373. }
  374. });
  375. $("#setDrag").click(function() {
  376. var self = $(this);
  377. o.cropper("setDragMode", "crop");
  378. var imgUrl = o.cropper("getCroppedCanvas").toDataURL('image/png');
  379. //var dataurl = encodeURIComponent(imgUrl);
  380. var filesjson;
  381. var list = [],
  382. listItem = {};
  383. listItem.filename = fileName;
  384. listItem.fileurl = imgUrl;
  385. list.push(listItem);
  386. filesjson = JSON.stringify(list);
  387. upLoadFile(filesjson, self);
  388. });
  389. $("#zoomIn").click(function() {
  390. $('.progress-bar').css('width', '0%');
  391. $('.progress-bar').text('0%');
  392. o.cropper("zoom", .1)
  393. });
  394. $("#zoomOut").click(function() {
  395. $('.progress-bar').css('width', '0%');
  396. $('.progress-bar').text('0%');
  397. o.cropper("zoom", -.1)
  398. });
  399. $("#rotateLeft").click(function() {
  400. $('.progress-bar').css('width', '0%');
  401. $('.progress-bar').text('0%');
  402. o.cropper("rotate", 45)
  403. });
  404. $("#rotateRight").click(function() {
  405. $('.progress-bar').css('width', '0%');
  406. $('.progress-bar').text('0%');
  407. o.cropper("rotate", -45)
  408. });
  409. } else {
  410. r.addClass("hide");
  411. }
  412. }
  413. /**
  414. * 图片的上传
  415. * fjson 上传图片 的数据
  416. * self 调用者的this
  417. */
  418. function upLoadFile(fjson, self) {
  419. var formData = new FormData();
  420. formData.append("uploadtype", 'proManagement');
  421. formData.append("filesjson", fjson);
  422. $.ajax({
  423. type: "post",
  424. url: huayi.config.callcenter_url + "fileserverapi/Api/Upload",
  425. data: formData, //这里上传的数据使用了formData 对象
  426.   processData: false,
  427.   contentType: false, //必须false才会自动加上正确的Content-Type
  428. xhr: function() { //这是关键 获取原生的xhr对象 做以前做的所有事情
  429. var xhr = jQuery.ajaxSettings.xhr();
  430. xhr.upload.onload = function() {
  431. //alert('finish downloading')
  432. }
  433. xhr.upload.onprogress = function(ev) {
  434. console.log(ev);
  435. //if(ev.lengthComputable) {
  436. var percent = 100 * ev.loaded / ev.total;
  437. console.log(percent, ev);
  438. $('.progress-bar').css('width', percent + '%');
  439. $('.progress-bar').text(percent + '%');
  440. //}
  441. }
  442. return xhr;
  443. },
  444. async: true,
  445. beforeSend: function() { //触发ajax请求开始时执行
  446. self.attr("disabled", true);
  447. self.text('图片上传中...');
  448. $('.anniu').find('.btnn').css('backgroundColor', '#778592');
  449. },
  450. // data: {
  451. // uploadtype: 'proManagement',
  452. // filesjson: fjson,
  453. // },
  454. success: function(result) {
  455. result = $.parseJSON(result);
  456. self.attr("disabled", false);
  457. self.text('上传图片');
  458. $('.anniu').find('.btnn').css('backgroundColor', '#2f4050');
  459. /*验证请求*/
  460. if(result.state.toLowerCase() == "success") {
  461. head_img_data = result.data[0].fileurl;
  462. small_img_data = result.data[0].filesmallurl;//头像缩略图
  463. layer.msg("图片上传成功");
  464. } else {
  465. layer.msg(result.message);
  466. }
  467. },
  468. error: function(textStatus) {
  469. $('.progress-bar').css('width', '0%');
  470. $('.progress-bar').text('0%');
  471. layer.confirm('网络繁忙,请稍后再试...', {
  472. btn: ['确定'] //按钮
  473. });
  474. self.text('上传图片');
  475. self.attr("disabled", false);
  476. $('.anniu').find('.btnn').css('backgroundColor', '#2f4050');
  477. },
  478. complete: function(XMLHttpRequest, textStatus) {
  479. if(textStatus == 'timeout') {
  480. var xmlhttp = window.XMLHttpRequest ? new window.XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHttp");
  481. xmlhttp.abort();
  482. layer.confirm('网络超时,请稍后再试...', {
  483. btn: ['确定'] //按钮
  484. });    
  485. }
  486. self.text('上传图片');
  487. self.attr("disabled", false);
  488. $('.anniu').find('.btnn').css('backgroundColor', '#2f4050');
  489. },
  490. });
  491. }
  492. //角色下拉
  493. function GetRoleName(obj) {
  494. var dtd = $.Deferred(); //在函数内部,新建一个Deferred对象
  495. $.getJSON(huayi.config.callcenter_url + "configurationapi/api/RoleInfo/getlistdrop", function(data) {
  496. if(data.state.toLowerCase() == "success") {
  497. obj.empty();
  498. obj.append("<option value=''>请选择角色</option>");
  499. var content = data.data;
  500. $(content).each(function(i, n) {
  501. $("<option value='" + n.id + "'>" + n.role_name + "</option>").appendTo(obj);
  502. });
  503. obj.selectpicker('refresh');
  504. dtd.resolve(); // 改变Deferred对象的执行状态
  505. }
  506. })
  507. return dtd.promise(); // 返回promise对象
  508. }
  509. //添加技能证书和身份证照片
  510. function uploaderImg(cindex) {
  511. var imgList = $('#image_list' + cindex),
  512. eleId = $('#filePicker' + cindex),
  513. uploader;
  514. uploader = WebUploader.create({
  515. // 自动上传。
  516. auto: true,
  517. // swf文件路径
  518. swf: '../js/Uploader.swf',
  519. // 文件接收服务端。
  520. server: huayi.config.callcenter_url + 'fileserverapi/Api/Upload',
  521. // 选择文件的按钮。可选。
  522. // 内部根据当前运行是创建,可能是input元素,也可能是flash.
  523. pick: eleId,
  524. // 图片数量限制
  525. // fileNumLimit: 4,
  526. //可以重复上传
  527. duplicate: true,
  528. formData: {
  529. uploadtype: 'equipment' //自定义文件夹用于存放图片
  530. },
  531. // 只允许选择文件,可选。
  532. accept: {
  533. title: 'Images',
  534. extensions: 'gif,jpg,jpeg,bmp,png',
  535. mimeTypes: 'image/*'
  536. },
  537. resize: false,
  538. fileSizeLimit: 30 * 1024 * 1024, // 30 M
  539. fileSingleSizeLimit: 5 * 1024 * 1024 // 5 M
  540. });
  541. //上传图片提示
  542. uploader.on('error', function(code) {
  543. switch(code) {
  544. case "Q_EXCEED_NUM_LIMIT":
  545. layer.msg('只能上传六个文件。');
  546. break;
  547. case "Q_TYPE_DENIED":
  548. layer.msg('图片类型不正确。');
  549. break;
  550. case "F_DUPLICATE":
  551. layer.msg('该文件已上传,请选择其它文件。');
  552. break;
  553. case "F_EXCEED_SIZE":
  554. layer.msg('单文件大小不能超过5M。');
  555. break;
  556. case "Q_EXCEED_SIZE_LIMIT":
  557. layer.msg('总文件大小不能超过30M。');
  558. break;
  559. default:
  560. break;
  561. }
  562. });
  563. // 当有文件添加进来的时候
  564. uploader.on('fileQueued', function(file) {
  565. console.log(file);
  566. var $li = $(
  567. '<div id="' + cindex + '' + file.id + '" class="file-item thumbnail">' +
  568. '<div class="image-close">X</div>' +
  569. '<img>' +
  570. '<div class="info">' + file.name + '</div>' +
  571. '</div>'
  572. ),
  573. $img = $li.find('img');
  574. imgList.prepend($li);
  575. $(".image-close").on('click', function() {
  576. event.stopPropagation();
  577. $(this).parent().remove();
  578. helper.methods.delImgs($(this).parent().attr("data-filesmallurl"), $(this).parent().attr("data-fileurl"));
  579. file_num(cindex)
  580. });
  581. });
  582. // 文件上传成功,给item添加成功class, 用样式标记上传成功。
  583. uploader.on('uploadSuccess', function(file, response) {
  584. console.log(file)
  585. $.each(response.data, function(i, j) {
  586. // obj=
  587. var $img = $('#' + cindex + file.id).find('img');
  588. $('#' + cindex + file.id).attr({
  589. 'data-filename': j.filename,
  590. 'data-fileext': j.fileext,
  591. 'data-filemd5': j.filemd5,
  592. 'data-filesize': j.filesize,
  593. 'data-fileurl': j.fileurl,
  594. 'data-filesmallurl': j.filesmallurl
  595. });
  596. uploader.makeThumb(file, function(error, src) {
  597. $img.attr('src', j.filesmallurl);
  598. $img.addClass('image-item');
  599. // $img.attr('data-preview-group', "1");
  600. }, 50, 50);
  601. });
  602. $('#' + cindex + file.id).addClass('upload-state-done');
  603. file_num(cindex)
  604. });
  605. // 文件上传失败,现实上传出错。
  606. uploader.on('uploadError', function(file) {
  607. var $li = $('#' + cindex + file.id),
  608. $error = $li.find('div.error');
  609. // 避免重复创建
  610. if(!$error.length) {
  611. $error = $('<div class="error"></div>').appendTo($li);
  612. }
  613. $error.text('上传失败');
  614. });
  615. // 完成上传完了,成功或者失败,先删除进度条。
  616. // uploader.on('uploadComplete', function(file) {
  617. // });
  618. }
  619. //隐藏域值
  620. function file_num(num) {
  621. var arr = [];
  622. $('#image_list' + num).find('.thumbnail').each(function(j, m) {
  623. var obj = {
  624. 'filename': $(m).attr("data-filename"),
  625. 'fileext': $(m).attr("data-fileext"),
  626. 'filemd5': $(m).attr("data-filemd5"),
  627. 'filesize': $(m).attr("data-filesize"),
  628. 'fileurl': $(m).attr("data-fileurl"),
  629. 'filesmallurl': $(m).attr("data-filesmallurl")
  630. }
  631. arr.push(obj)
  632. })
  633. window['imageArr' + num] = arr;
  634. }
  635. //获取详情时 图片展示
  636. function getImgVal(data, num) {
  637. $(data).each(function(i, n) {
  638. var $li = $(
  639. '<div class="file-item thumbnail" data-filename="' + n.filename + '" data-fileext="' + n.fileext + '" data-filemd5="' + n.filemd5 + '" data-filesize="' + n.filesize + '" data-fileurl="' + n.fileurl + '" data-filesmallurl="' + n.filesmallurl + '" >' +
  640. '<div class="image-close">X</div>' +
  641. '<img src="' + n.filesmallurl + '">' +
  642. '<div class="info">' + n.filename + '</div>' +
  643. '</div>'
  644. ),
  645. $img = $li.find('img');
  646. $('#image_list' + num).prepend($li);
  647. })
  648. file_num(num)
  649. }