Request.js 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. export default class Request {
  2. constructor(Uploader) {
  3. this.uploader = Uploader;
  4. }
  5. delete(file, callback) {
  6. let _this = this,
  7. parent = _this.uploader,
  8. options = parent.options,
  9. uploader = parent.uploader;
  10. Dcat.confirm(parent.lang.trans('confirm_delete_file'), file.serverId, function () {
  11. var post = options.deleteData;
  12. post.key = file.serverId;
  13. if (! post.key) {
  14. parent.input.delete(file.serverId);
  15. return uploader.removeFile(file);
  16. }
  17. post._column = parent.getColumn();
  18. post._relation = parent.relation;
  19. Dcat.loading();
  20. $.post({
  21. url: options.deleteUrl,
  22. data: post,
  23. success: function (result) {
  24. Dcat.loading(false);
  25. if (result.status) {
  26. callback(result);
  27. return;
  28. }
  29. parent.helper.showError(result)
  30. }
  31. });
  32. });
  33. }
  34. // 保存已上传的文件名到服务器
  35. update() {
  36. let _this = this,
  37. parent = _this.uploader,
  38. uploader = parent.uploader,
  39. options = parent.options,
  40. updateColumn = parent.getColumn(),
  41. relation = _this.relation,
  42. values = parent.input.get(), // 获取表单值
  43. num = uploader.getStats().successNum,
  44. form = $.extend({}, options.formData);
  45. if (!num || !values || !options.autoUpdateColumn) {
  46. return;
  47. }
  48. if (relation) {
  49. if (!relation[1]) {
  50. // 新增子表记录,则不调用update接口
  51. return;
  52. }
  53. form[relation[0]] = {};
  54. form[relation[0]][relation[1]] = {};
  55. form[relation[0]][relation[1]][updateColumn] = values.join(',');
  56. } else {
  57. form[updateColumn] = values.join(',');
  58. }
  59. delete form['_relation'];
  60. delete form['upload_column'];
  61. $.post({
  62. url: options.updateServer,
  63. data: form,
  64. });
  65. }
  66. }