index.js 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. const _Http = getApp().globalData.http;
  2. const getHeight = require("../../utils/GetRheRemainingHeight"),
  3. currency = require("../../utils/currency");
  4. Page({
  5. data: {
  6. tabShow: true,
  7. auth: {}, //权限
  8. listHeight: 0,
  9. butText: "", //按钮类型
  10. content: {
  11. nocache: true,
  12. "pageNumber": 1,
  13. "pageSize": 20,
  14. "pageTotal": 1,
  15. "where": {
  16. "condition": ""
  17. }
  18. }
  19. },
  20. onLoad(options) {
  21. let auth = getApp().globalData.queryPer.query(wx.getStorageSync('userauth'), ['通用'], ['个人中心'])[0].apps.find(v => v.name == 'teamManagement').meta.auth,
  22. tabList = [],
  23. authList = auth.map(v => {
  24. if (v.option == 'account') {
  25. tabList[0] = {
  26. title: "账号列表",
  27. butText: "新建账号",
  28. classname: "sale.team.team",
  29. method: "query_teamList",
  30. url: '/pages/teams/addUsers'
  31. }
  32. } else if (v.option == 'role') {
  33. tabList[1] = {
  34. title: "角色列表",
  35. butText: "新建角色",
  36. classname: "sale.role.role",
  37. method: "query_roleList",
  38. url: '/pages/teams/addRole'
  39. }
  40. } else if (v.option == 'paidOrder') {
  41. tabList[2] = {
  42. title: "付费订单",
  43. butText: wx.getStorageSync('siteP').sys_payswitch ? "新建付费订单" : "",
  44. classname: "system.payorder.payorder",
  45. method: "list",
  46. url: "/pages/teams/addOrder"
  47. }
  48. }
  49. return v.option
  50. });
  51. tabList = tabList.filter(v => v);
  52. this.setData({
  53. authList,
  54. tabList,
  55. active: tabList[options.title ? tabList.findIndex(v => v.title == options.title) || 0 : 0]
  56. })
  57. console.log(auth)
  58. console.log(this.data.active)
  59. /* if (options.title) setTimeout(() => {
  60. this.setData({
  61. active: this.data.active
  62. })
  63. }, 300) */
  64. this.getList();
  65. },
  66. /* tab切换 */
  67. tabChange(e) {
  68. this.setData({
  69. active: this.data.tabList[e.detail.index],
  70. list: [],
  71. })
  72. this.getList(true);
  73. },
  74. /* 获取列表 */
  75. getList(init = false) {
  76. if (init.detail != undefined) init = init.detail;
  77. if (init) this.setData({
  78. ['content.pageNumber']: 1
  79. })
  80. if (this.data.content.pageNumber > this.data.content.pageTotal) return;
  81. let active = this.data.active;
  82. _Http.basic({
  83. classname: active.classname || '',
  84. method: active.method || '',
  85. id: active.id || '',
  86. content: this.data.content
  87. }).then(res => {
  88. this.selectComponent('#ListBox').RefreshToComplete();
  89. if (res.msg != '成功') return wx.showToast({
  90. title: res.msg,
  91. icon: "none"
  92. })
  93. if (active.butText == '新建账号') {
  94. for (let i = 0; i < res.data.length; i++) {
  95. res.data[i].attinfos = res.data[i].attinfos.filter(v => v.usetype == 'headportrait');
  96. }
  97. } else if (active.butText == '新建付费订单') {
  98. res.data = res.data.map(v => {
  99. switch (v.ispaid) {
  100. case 0:
  101. v.color = "#FF3B30";
  102. v.status = '未付费';
  103. break;
  104. case 1:
  105. v.color = '#52C41A';
  106. v.status = '已付费';
  107. break;
  108. case 2:
  109. v.color = '#ddd';
  110. v.status = "新建";
  111. break;
  112. case 3:
  113. v.color = '#ddd';
  114. v.status = "已取消";
  115. break;
  116. case 4:
  117. v.color = '#ddd';
  118. v.status = "已退费";
  119. break;
  120. };
  121. v.amount = currency(v.amount, {
  122. symbol: "¥",
  123. precision: 2
  124. }).format();
  125. return v
  126. })
  127. }
  128. this.setData({
  129. list: (res.pageNumber == 1) ? res.data : this.data.list.concat(res.data),
  130. ['content.pageNumber']: res.pageNumber + 1,
  131. ['content.pageTotal']: res.pageTotal
  132. })
  133. })
  134. },
  135. /* 新建账号/角色 */
  136. newItem() {
  137. let url = this.data.active.url;
  138. console.log(url)
  139. if (!url) return;
  140. if (url == '/pages/teams/addOrder') {
  141. _Http.basic({
  142. "classname": "system.payorder.payorder",
  143. "method": "createOrder",
  144. "content": {},
  145. }).then(res => {
  146. console.log("新建订单", res)
  147. if (res.msg != '成功') return wx.showModal({
  148. title: '提示',
  149. content: res.msg,
  150. showCancel: false,
  151. })
  152. wx.navigateTo({
  153. url: url + '?sys_payorderid=' + res.data.sys_payorderid
  154. })
  155. })
  156. } else {
  157. wx.navigateTo({
  158. url
  159. })
  160. }
  161. },
  162. /* 修改角色 */
  163. changeRole(e) {
  164. let {
  165. item
  166. } = e.currentTarget.dataset;
  167. wx.navigateTo({
  168. url: `./addRole?item=${JSON.stringify(item)}&update=${this.data.authList.includes("角色修改")}&userDelete=${this.data.authList.includes("角色删除")}`
  169. })
  170. },
  171. /* 修改账号 */
  172. changeUser(e) {
  173. let {
  174. item
  175. } = e.currentTarget.dataset;
  176. delete(item.attinfos);
  177. wx.navigateTo({
  178. url: `./addUsers?item=${JSON.stringify(item)}&update=${this.data.authList.includes("账号修改")}`
  179. })
  180. },
  181. onReady() {
  182. getHeight.getHeight('.tabs', this).then(res => {
  183. this.setData({
  184. listHeight: res
  185. })
  186. });
  187. },
  188. })