feedback.js 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247
  1. // pages/welfareMall/feedback/feedback.js
  2. import WelfareMall from '../../../api/welfareMall'
  3. import Upload from '../../../api/upload'
  4. import {getMobileCache, getPhoneNumber as getPhoneNumberSync} from '../../../utils/user'
  5. Page({
  6. /**
  7. * 页面的初始数据
  8. */
  9. data: {
  10. t_length: 0,
  11. avatarUrl: [],
  12. avatarUrlShow: [],
  13. chooseViewShowBanner: true,
  14. content: '',
  15. basePath: '',
  16. },
  17. bindText: function (e) {
  18. var t_text = e.detail.value.length;
  19. var text = e.detail.value;
  20. this.setData({
  21. t_length: t_text,
  22. content: text,
  23. })
  24. },
  25. /** 图片选择 */
  26. bindViewTap: function(){
  27. var that = this;
  28. if(this.data.avatarUrlShow.length < 4){
  29. wx.chooseImage({
  30. // 设置最多可以选择的图片张数,默认9,如果我们设置了多张,那么接收时//就不在是单个变量了,
  31. count: 1,
  32. sizeType: ['original', 'compressed'], // original 原图,compressed 压缩图,默认二者都有
  33. sourceType: ['album', 'camera'], // album 从相册选图,camera 使用相机,默认二者都有
  34. success: function(res){
  35. // 获取成功,将获取到的地址赋值给临时变量
  36. console.log(res);
  37. if (res.tempFilePaths.count == 0) {
  38. return;
  39. }
  40. //图片上传到金山云
  41. var tempFilePaths = res.tempFilePaths
  42. wx.uploadFile({
  43. url: Upload.uploadPic(),
  44. filePath: tempFilePaths[0],
  45. name: 'file',
  46. formData:{
  47. 'basePath':'welfareMall',
  48. },
  49. success: function (res) {
  50. //提交路径
  51. var urlImg = JSON.parse(res.data).data.url;
  52. //展示路径
  53. var destPath = JSON.parse(res.data).data.destPath;
  54. var imgArrNow = that.data.avatarUrl;
  55. var imgArrNowShow = that.data.avatarUrlShow;
  56. imgArrNow.push(urlImg);
  57. imgArrNowShow.push(destPath);
  58. if(that.data.avatarUrlShow.length > 4){
  59. wx.showToast({
  60. title: '最多添加4张图片',
  61. icon: 'none',
  62. duration: 1500
  63. })
  64. return
  65. }
  66. that.setData({
  67. //将临时变量赋值给已经在data中定义好的变量
  68. avatarUrl:imgArrNow,
  69. avatarUrlShow:imgArrNowShow
  70. })
  71. that.chooseViewShowBanner();
  72. },
  73. fail: function(err) {
  74. console.log(err);
  75. },
  76. })
  77. },
  78. fail: function(res) {
  79. // fail
  80. },
  81. complete: function(res) {
  82. // complete
  83. }
  84. })
  85. } else {
  86. wx.showToast({
  87. title: '最多添加4张图片',
  88. icon: 'none',
  89. duration: 1500
  90. })
  91. }
  92. },
  93. /** 删除图片Banner */
  94. deleteImvBanner: function(e) {
  95. var avatarUrlShow = this.data.avatarUrlShow;
  96. var avatarUrl = this.data.avatarUrl;
  97. var itemIndex = e.currentTarget.dataset.id;
  98. avatarUrlShow.splice(itemIndex, 1);
  99. avatarUrl.splice(itemIndex, 1);
  100. this.setData({
  101. avatarUrlShow: avatarUrlShow
  102. })
  103. //判断是否隐藏选择图片
  104. this.chooseViewShowBanner();
  105. },
  106. /** 是否隐藏图片选择Banner*/
  107. chooseViewShowBanner: function() {
  108. if (this.data.avatarUrlShow.length > 3) {
  109. this.setData({
  110. chooseViewShowBanner: false
  111. })
  112. } else {
  113. this.setData({
  114. chooseViewShowBanner: true
  115. })
  116. }
  117. },
  118. /** 图片预览 */
  119. previewImage: function(e){
  120. var that = this,
  121. //获取当前图片的下标
  122. index = e.currentTarget.dataset.index,
  123. //数据源
  124. avatarUrlShow = this.data.avatarUrlShow;
  125. wx.previewImage({
  126. //当前显示下标
  127. current: avatarUrlShow[index],
  128. //数据源
  129. urls: avatarUrlShow
  130. })
  131. },
  132. /**
  133. * 提交
  134. */
  135. toSubmit: function() {
  136. if(this.data.content == null || this.data.content == '' || this.data.content == undefined){
  137. wx.showToast({
  138. title: '意见内容必填',
  139. icon: 'none',
  140. duration: 1500
  141. })
  142. return
  143. }
  144. WelfareMall.feedBackAdd({
  145. mobile: getMobileCache(),
  146. photoList: this.data.avatarUrl,
  147. content: this.data.content,
  148. }).then(res => {
  149. if (res.code == 200) {
  150. this.getModal()
  151. }
  152. }).catch(_ => {
  153. console.log(_)
  154. })
  155. },
  156. getModal() {
  157. wx.showModal({
  158. title: '非常感谢您的反馈',
  159. content: '沪上阿姨有您更优秀 研发团队正在拼命优化中',
  160. showCancel: false,//是否显示取消按钮
  161. cancelText:"否",//默认是“取消”
  162. cancelColor:'skyblue',//取消文字的颜色
  163. confirmText:"我知道了",//默认是“确定”
  164. confirmColor: 'black',//确定文字的颜色
  165. success: res => {if (res.cancel) {
  166. wx.switchTab({
  167. url: "../personal/personal"
  168. })
  169. } else {
  170. //点击确定
  171. wx.switchTab({
  172. url: "../personal/personal"
  173. })
  174. }
  175. },
  176. fail: function (res) { },//接口调用失败的回调函数
  177. })
  178. },
  179. /**
  180. * 生命周期函数--监听页面加载
  181. */
  182. onLoad: function (options) {
  183. },
  184. /**
  185. * 生命周期函数--监听页面初次渲染完成
  186. */
  187. onReady: function () {
  188. },
  189. /**
  190. * 生命周期函数--监听页面显示
  191. */
  192. onShow: function () {
  193. },
  194. /**
  195. * 生命周期函数--监听页面隐藏
  196. */
  197. onHide: function () {
  198. },
  199. /**
  200. * 生命周期函数--监听页面卸载
  201. */
  202. onUnload: function () {
  203. },
  204. /**
  205. * 页面相关事件处理函数--监听用户下拉动作
  206. */
  207. onPullDownRefresh: function () {
  208. },
  209. /**
  210. * 页面上拉触底事件的处理函数
  211. */
  212. onReachBottom: function () {
  213. },
  214. /**
  215. * 用户点击右上角分享
  216. */
  217. onShareAppMessage: function () {
  218. }
  219. })