openPerform.js 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. var app = getApp();
  2. var that;
  3. Page({
  4. data: {
  5. items: {
  6. work_id: '',
  7. state: 1,
  8. files: [],
  9. remark: ''
  10. },
  11. id: '',
  12. is: false,//是不是今日任务
  13. },
  14. onLoad(e) {
  15. that = this;
  16. dd.setNavigationBar({ title: "完成任务" });
  17. if (e.id) {
  18. this.setData({
  19. id: e.id,
  20. is: e.is,
  21. [`items.work_id`]: e.id,
  22. })
  23. }
  24. },
  25. //备注输入
  26. bindTextAreaBlur: function (e) {
  27. var remark = `items.remark`
  28. this.setData({
  29. [remark]: e.detail.value,
  30. });
  31. },
  32. formSubmit() {
  33. var page = getCurrentPages()[getCurrentPages().length - 2]//上一个页面的数据
  34. var data = this.data.items;
  35. data.files = data.files.toString();
  36. this.setData({ disabled: true })
  37. app.$post('api/integral/work', data).then(res => {
  38. app.globalData.showToast(res.data.msg);
  39. if (this.data.is == 'true') {
  40. page.filtrationList(1);
  41. setTimeout(() => {
  42. dd.navigateBack({ delta: 1 })
  43. }, 1000);
  44. } else if (this.data.is == 'false') {
  45. page.filtrationList(2, data.work_id);
  46. setTimeout(() => {
  47. dd.navigateBack({ delta: 1 })
  48. }, 1000);
  49. } else if (this.data.is == "detail") {
  50. page.getDetail(this.data.id, function () {
  51. setTimeout(() => {
  52. dd.navigateBack({ delta: 1 })
  53. }, 1000);
  54. })
  55. }
  56. }).catch(e => {
  57. this.setData({ disabled: false })
  58. }).finally(e => {
  59. this.setData({ disabled: false })
  60. })
  61. },
  62. //删除图片
  63. deteleImg(e) {
  64. var index = e.target.dataset.index;
  65. var files = that.data.items.files;//获取itemS集合中对应的files
  66. var files_box = `items.files`;//
  67. app.globalData.arrRemoveObj(files, files[index]);
  68. that.setData({
  69. [files_box]: files
  70. });
  71. },
  72. //图片选择
  73. openImg(e) {
  74. var files = that.data.items.files;
  75. if (files.length >= 3) {
  76. app.globalData.showToast("只能上传三张");
  77. return false;
  78. }
  79. dd.chooseImage({
  80. count: 1,
  81. success: (res) => {
  82. that.postImg(res.filePaths[0]);
  83. },
  84. });
  85. },
  86. postImg(img_url) {
  87. var files_box = `items.files`;
  88. var files = this.data.items.files;
  89. dd.httpRequest({
  90. url: app.globalData.imgHttpUrl,
  91. method: 'POST',
  92. data: {
  93. md5: that.random_string(32),
  94. 'name': app.globalData.day
  95. },
  96. success: function (res) {
  97. if (app.globalData.userData.site_id) {
  98. var key = 'intesys/dd/' + app.globalData.userData.site_id + "/" + app.globalData.day + '/' + that.random_string(32) + '.png';
  99. } else {
  100. var key = 'intesys/dd/' + app.globalData.day + '/' + that.random_string(32) + '.png';
  101. }
  102. var obj = res.data.data;
  103. dd.uploadFile({
  104. url: app.globalData.ALIOSS_URL,
  105. fileType: 'image',
  106. fileName: 'file',
  107. filePath: img_url,
  108. formData: {
  109. key: key,
  110. policy: obj.policy,
  111. OSSAccessKeyId: obj.accessid,
  112. success_action_status: 200,
  113. signature: obj.signature
  114. },
  115. success: (res) => {
  116. if (res.statusCode == 200) {
  117. if (files.length > 0) {
  118. files.push('http://cdn.intesys.g107.com/' + key)
  119. } else {
  120. files = ['http://cdn.intesys.g107.com/' + key];
  121. }
  122. that.setData({
  123. [files_box]: files
  124. });
  125. app.globalData.showToast("已上传");
  126. }
  127. },
  128. fail: (err) => {
  129. console.log(err);
  130. }
  131. });
  132. },
  133. fail: function (res) {
  134. app.globalData.showToast("上传失败");
  135. }
  136. })
  137. },
  138. random_string(len) {
  139. len = len || 32
  140. var chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678'
  141. var maxPos = chars.length
  142. var pwd = ''
  143. for (let i = 0; i < len; i++) {
  144. pwd += chars.charAt(Math.floor(Math.random() * maxPos))
  145. }
  146. return pwd
  147. },
  148. });