openPerform.js 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  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. }).finally(e => {
  57. this.setData({ disabled: false })
  58. })
  59. },
  60. //删除图片
  61. deteleImg(e) {
  62. var index = e.target.dataset.index;
  63. var files = that.data.items.files;//获取itemS集合中对应的files
  64. var files_box = `items.files`;//
  65. app.globalData.arrRemoveObj(files, files[index]);
  66. that.setData({
  67. [files_box]: files
  68. });
  69. },
  70. //图片选择
  71. openImg(e) {
  72. var files = that.data.items.files;
  73. if (files.length >= 3) {
  74. app.globalData.showToast("只能上传三张");
  75. return false;
  76. }
  77. dd.chooseImage({
  78. count: 1,
  79. success: (res) => {
  80. that.postImg(res.filePaths[0]);
  81. },
  82. });
  83. },
  84. postImg(img_url) {
  85. var files_box = `items.files`;
  86. var files = this.data.items.files;
  87. dd.httpRequest({
  88. url: app.globalData.imgHttpUrl,
  89. method: 'POST',
  90. data: {
  91. md5: that.random_string(32),
  92. 'name': app.globalData.day
  93. },
  94. success: function (res) {
  95. if (app.globalData.userData.site_id) {
  96. var key = 'intesys/dd/' + app.globalData.userData.site_id + "/" + app.globalData.day + '/' + that.random_string(32) + '.png';
  97. } else {
  98. var key = 'intesys/dd/' + app.globalData.day + '/' + that.random_string(32) + '.png';
  99. }
  100. var obj = res.data.data;
  101. dd.uploadFile({
  102. url: app.globalData.ALIOSS_URL,
  103. fileType: 'image',
  104. fileName: 'file',
  105. filePath: img_url,
  106. formData: {
  107. key: key,
  108. policy: obj.policy,
  109. OSSAccessKeyId: obj.accessid,
  110. success_action_status: 200,
  111. signature: obj.signature
  112. },
  113. success: (res) => {
  114. if (res.statusCode == 200) {
  115. if (files.length > 0) {
  116. files.push('http://cdn.intesys.g107.com/' + key)
  117. } else {
  118. files = ['http://cdn.intesys.g107.com/' + key];
  119. }
  120. that.setData({
  121. [files_box]: files
  122. });
  123. app.globalData.showToast("已上传");
  124. }
  125. },
  126. fail: (err) => {
  127. console.log(err);
  128. }
  129. });
  130. },
  131. fail: function (res) {
  132. app.globalData.showToast("上传失败");
  133. }
  134. })
  135. },
  136. random_string(len) {
  137. len = len || 32
  138. var chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678'
  139. var maxPos = chars.length
  140. var pwd = ''
  141. for (let i = 0; i < len; i++) {
  142. pwd += chars.charAt(Math.floor(Math.random() * maxPos))
  143. }
  144. return pwd
  145. },
  146. });