adjustaccount.vue 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254
  1. <template>
  2. <view class="">
  3. <view class="item-inner">
  4. <view class="content">
  5. <view class="content-list">
  6. <view class="online-ready" v-if="accountData == 1">当前积分</view>
  7. <view class="online-ready" v-if="accountData == 2">余额(不可提现)</view>
  8. <view class="online-ready" v-if="accountData == 3">余额(可提现)</view>
  9. <view class="online-ready" v-if="accountData == 4">成长值</view>
  10. <input type="text" v-if="accountData == 1" :value="parseInt(numMsg.point)"
  11. style="height: 100rpx;text-align: right;" disabled="disabled" />
  12. <input type="text" v-if="accountData == 2" :value="numMsg.balance "
  13. style="height: 100rpx;text-align: right;" disabled="disabled" />
  14. <input type="text" v-if="accountData == 3" :value="numMsg.balance_money"
  15. style="height: 100rpx;text-align: right;" disabled="disabled" />
  16. <input type="text" v-if="accountData == 4" :value="numMsg.growth"
  17. style="height: 100rpx;text-align: right;" disabled="disabled" />
  18. </view>
  19. <view class="content-list">
  20. <view class="online-ready">调整数额</view>
  21. <input type="number" v-model="adjust_num" style="height: 100rpx;text-align: right;"
  22. @blur="onKeyNumberInput($event)" v-if="accountData == 1"/>
  23. <input type="digit" v-model="adjust_num" style="height: 100rpx;text-align: right;"
  24. @blur="onKeyNumberInput($event)" v-else/>
  25. </view>
  26. <view class="remark-list">
  27. <view class="online-ready">备注</view>
  28. <input type="text" v-model="remark" style="height: 100rpx;text-align: right;"
  29. @blur="onKeyNameInput($event)" />
  30. </view>
  31. </view>
  32. <view class="explain">
  33. 说明:调整数额与当前<text v-if="accountData == 1">积分</text><text v-if="accountData == 2">余额(不可提现)</text><text v-if="accountData == 3">余额(可提现)</text><text v-if="accountData == 4">成长值</text>数相加不能小于0;正数表示增加,负数表示减少
  34. </view>
  35. <view class="bottom-btn" @click="save()">保存</view>
  36. </view>
  37. </view>
  38. </template>
  39. <script>
  40. import validate from '@/common/js/validate.js';
  41. export default {
  42. data() {
  43. return {
  44. dataList: [],
  45. accountData: 1,
  46. member_id: '',
  47. numMsg: {},
  48. adjust_num: '',
  49. remark: ''
  50. }
  51. },
  52. onLoad: function(option) {
  53. this.accountData = option.type;
  54. this.member_id = option.member_id
  55. this.$api.sendRequest({
  56. url: '/shopapi/member/detail',
  57. data: {
  58. member_id: option.member_id
  59. },
  60. success: res => {
  61. let msg = res.message;
  62. if (res.code == 0 && res.data) {
  63. this.numMsg = res.data.member_info
  64. } else {
  65. this.$util.showToast({
  66. title: msg
  67. });
  68. }
  69. }
  70. });
  71. },
  72. onShow() {
  73. if (!this.$util.checkToken('/pages/member/list')) return;
  74. this.$store.dispatch('getShopInfo');
  75. },
  76. mounted() {
  77. },
  78. methods: {
  79. onKeyNumberInput: function(event) {
  80. this.adjust_num = event.detail.value
  81. },
  82. onKeyNameInput: function(event) {
  83. this.remark = event.detail.value
  84. },
  85. verify() {
  86. let flag = true
  87. if (isNaN(this.adjust_num) || !this.$util.data().regExp.number.test(this.adjust_num)) {
  88. this.$util.showToast({ title: `格式输入错误` });
  89. flag = false;
  90. }
  91. return flag;
  92. },
  93. save: function() {
  94. if (!this.verify()) return;
  95. console.log(this.numMsg.member_id)
  96. var accountData = this.accountData
  97. var url = ''
  98. // console.log(accountData,'111')
  99. switch (parseInt(accountData)) {
  100. case 1:
  101. url = '/shopapi/Member/modifyPoint';
  102. break;
  103. case 2:
  104. url = '/shopapi/Member/modifyBalance';
  105. break;
  106. case 3:
  107. url = '/shopapi/Member/modifyBalanceMoney';
  108. break;
  109. case 4:
  110. url = '/shopapi/Member/modifyGrowth';
  111. break;
  112. }
  113. // console.log( url,'0000')
  114. this.$api.sendRequest({
  115. url: url,
  116. data: {
  117. adjust_num: this.adjust_num,
  118. remark: this.remark,
  119. member_id: this.numMsg.member_id
  120. },
  121. success: res => {
  122. let newArr = [];
  123. let msg = res.message
  124. this.$util.showToast({
  125. title: msg
  126. });
  127. setTimeout(() => {
  128. this.$util.redirectTo('/pages/member/list')
  129. }, 500);
  130. }
  131. });
  132. },
  133. getListData(mescroll) {
  134. let data = {
  135. page_size: mescroll.size,
  136. page: mescroll.num,
  137. search_text: ''
  138. };
  139. this.mescroll = mescroll;
  140. this.$api.sendRequest({
  141. url: '/shopapi/member/lists',
  142. data: data,
  143. success: res => {
  144. let newArr = [];
  145. let msg = res.message;
  146. if (res.code == 0 && res.data) {
  147. newArr = res.data.list;
  148. } else {
  149. this.$util.showToast({
  150. title: msg
  151. });
  152. }
  153. mescroll.endSuccess(newArr.length);
  154. //设置列表数据
  155. if (mescroll.num == 1) this.dataList = []; //如果是第一页需手动制空列表
  156. newArr.forEach(v => {
  157. v.is_off = 0;
  158. });
  159. this.dataList = this.dataList.concat(newArr); //追加新数据
  160. if (this.$refs.loadingCover) this.$refs.loadingCover.hide();
  161. }
  162. });
  163. },
  164. searchMember() {
  165. this.mescroll.resetUpScroll();
  166. },
  167. linkSkip(item, type) {
  168. item.is_off = 0;
  169. if (type) this.$util.redirectTo('/pages/member/coupon', {
  170. member_id: item.member_id
  171. });
  172. else this.$util.redirectTo('/pages/member/detail', {
  173. member_id: item.member_id
  174. });
  175. },
  176. imgError(index) {
  177. this.dataList[index].headimg = this.$util.getDefaultImage().default_headimg;
  178. this.$forceUpdate();
  179. }
  180. },
  181. };
  182. </script>
  183. <style>
  184. .content {
  185. /* width: 750rpx; */
  186. height: 302rpx;
  187. background: #FFFFFF;
  188. margin: 20rpx auto;
  189. }
  190. .online-ready {
  191. line-height: 100rpx;
  192. }
  193. .content-list {
  194. display: flex;
  195. /* width: 690rpx; */
  196. justify-content: space-between;
  197. border-bottom: 1rpx solid #EEEEEE;
  198. margin: auto;
  199. margin-left: 30rpx;
  200. margin-right: 30rpx;
  201. }
  202. .remark-list {
  203. display: flex;
  204. /* width: 690rpx; */
  205. justify-content: space-between;
  206. margin: auto;
  207. margin-left: 30rpx;
  208. margin-right: 30rpx;
  209. }
  210. .explain {
  211. /* width: 684rpx; */
  212. height: 59rpx;
  213. font-size: 24rpx;
  214. font-family: PingFang SC;
  215. font-weight: 500;
  216. color: #909399;
  217. line-height: 36rpx;
  218. margin-top: 20rpx;
  219. margin-left: 30rpx;
  220. margin-right: 30rpx;
  221. }
  222. .bottom-btn {
  223. width: 690rpx;
  224. height: 80rpx;
  225. background: #FF6A00;
  226. color: #FFFFFF;
  227. border-radius: 40rpx;
  228. text-align: center;
  229. line-height: 80rpx;
  230. position: absolute;
  231. left: 30rpx;
  232. bottom: 40rpx;
  233. }
  234. </style>