shaitu.vue 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. <template>
  2. <view class="shaitu">
  3. <view v-if="canTi == 1">
  4. <!-- <view class="shaitu_head flex">
  5. <image src="/static/image/publice/fanhui@2x.png" mode="" @click="retutnTop"></image>
  6. <text>提交晒图</text>
  7. <view></view>
  8. </view> -->
  9. <view class="shaitu_ul">
  10. <view class="shaitu_li">
  11. <view class="shaitu_name">描述</view>
  12. <view class="shaitu_ipt shaitu_ipts flex">
  13. <textarea placeholder="请输入描述" v-model="formData.box_zw" placeholder-style="color:#999999" maxlength="-1"></textarea>
  14. </view>
  15. </view>
  16. <view class="shaitu_li">
  17. <view class="shaitu_name">图片</view>
  18. <uni-file-picker
  19. v-model="imageValue"
  20. file-mediatype="image"
  21. mode="grid"
  22. file-extname="png,jpg,jpeg"
  23. :limit="3"
  24. @success="success"
  25. @fail="fail"
  26. @select="selectImg"
  27. />
  28. </view>
  29. </view>
  30. <button class="shaitu_btn" hover-class="hover-view" @click="submit">提交晒图</button>
  31. </view>
  32. <view class="jjqd" v-else>敬请期待</view>
  33. </view>
  34. </template>
  35. <script>
  36. export default {
  37. data() {
  38. return {
  39. canTi: '',
  40. formData: {
  41. token: uni.getStorageSync('token'),
  42. box_zw: '',
  43. box_img: ''
  44. },
  45. imageValue: [],
  46. flag: true, //
  47. shaitu: ''
  48. };
  49. },
  50. methods: {
  51. retutnTop() {
  52. uni.navigateBack();
  53. },
  54. //选择图片
  55. selectImg(imgList) {
  56. this.imageValue.push(...imgList.tempFiles);
  57. },
  58. isti() {
  59. this.$api.checkSwitch().then(({ data }) => {
  60. this.canTi = data;
  61. if (data == 0) {
  62. this.tabs = ['提现', '团队', '推广'];
  63. }
  64. });
  65. },
  66. async submit() {
  67. if (!this.flag) return;
  68. if (!this.formData.box_zw) return uni.showToast({ title: '请输入描述', icon: 'none' });
  69. if (!this.imageValue || this.imageValue.length < 1) return uni.showToast({ title: '请上传图片', icon: 'none' });
  70. //上传图片
  71. let imgUrlList = [];
  72. for (let i = 0; i < this.imageValue.length; i++) {
  73. const img = this.imageValue[i];
  74. const res = await this.$api.upload_image({ path: img.path });
  75. imgUrlList.push(res.url);
  76. }
  77. this.formData.box_img = imgUrlList.join(',');
  78. this.flag = false;
  79. uni.showLoading({ title: '数据提交中' });
  80. this.$api.setShai(this.formData).then(res => {
  81. uni.hideLoading();
  82. if (res.code === 1) {
  83. uni.showToast({ title: '提交成功!' });
  84. setTimeout(() => {
  85. this.retutnTop();
  86. }, 800);
  87. } else {
  88. this.flag = true;
  89. }
  90. });
  91. }
  92. },
  93. onLoad() {
  94. this.isti();
  95. },
  96. onShow() {}
  97. };
  98. </script>
  99. <style lang="scss">
  100. .shaitu_head {
  101. width: 100%;
  102. height: 88rpx;
  103. padding: 0 30rpx;
  104. background: #ffffff;
  105. image {
  106. width: 44rpx;
  107. height: 44rpx;
  108. }
  109. text {
  110. font-size: 36rpx;
  111. font-weight: bold;
  112. }
  113. }
  114. .shaitu_ul {
  115. padding: 20rpx 30rpx 0 30rpx;
  116. .shaitu_li {
  117. .shaitu_name {
  118. font-size: 30rpx;
  119. font-weight: bold;
  120. padding: 30rpx 0;
  121. }
  122. .shaitu_ipt {
  123. height: 80rpx;
  124. padding: 0 30rpx;
  125. background: #ffffff;
  126. border-radius: 10rpx;
  127. input {
  128. font-size: 28rpx;
  129. }
  130. image {
  131. width: 22rpx;
  132. height: 22rpx;
  133. }
  134. }
  135. .shaitu_ipts {
  136. padding: 30rpx;
  137. height: 160rpx;
  138. textarea {
  139. font-size: 28rpx;
  140. }
  141. }
  142. }
  143. }
  144. .shaitu_btn {
  145. width: 690rpx;
  146. height: 98rpx;
  147. color: #333333;
  148. margin: 20rpx auto;
  149. font-size: 30rpx;
  150. font-weight: bold;
  151. background: #ffffff;
  152. box-shadow: 0rpx 0rpx 121rpx 0rpx rgba(63, 52, 2, 0.12);
  153. border-radius: 10rpx;
  154. }
  155. .jjqd {
  156. margin-top: 50rpx;
  157. text-align: center;
  158. color: #000000;
  159. font-size: 52rpx;
  160. }
  161. </style>