index.js 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  1. const _Http = getApp().globalData.http;
  2. import currency from "../../utils/currency";
  3. let content = null,
  4. downCount = null;
  5. Page({
  6. data: {
  7. CustomBar: getApp().globalData.CustomBar,
  8. filtratelist: [{
  9. label: "品牌",
  10. index: null,
  11. showName: "brandname", //显示字段
  12. valueKey: "brandname", //返回Key
  13. selectKey: "brandname", //传参 代表选着字段 不传参返回整个选择对象
  14. value: "", //选中值
  15. list: []
  16. }, {
  17. label: "领域",
  18. index: null,
  19. showName: "tradefield", //显示字段
  20. valueKey: "tradefield", //返回Key
  21. selectKey: "tradefield", //传参 代表选着字段 不传参返回整个选择对象
  22. value: "", //选中值
  23. list: []
  24. }]
  25. },
  26. onLoad(options) {
  27. content = {
  28. nocache: true,
  29. "isExport": 0,
  30. "pageNumber": 1,
  31. "pageTotal": 1,
  32. pageSize: 20,
  33. "where": {
  34. "condition": "",
  35. "status": "",
  36. "brandname": "",
  37. "tradefield": ""
  38. }
  39. };
  40. this.getList()
  41. this.getBrand()
  42. this.getDomain()
  43. },
  44. /* 获取产品 */
  45. getList(init = false) {
  46. if (init.detail != undefined) init = init.detail;
  47. if (init) content.pageNumber = 1;
  48. if (content.pageNumber > content.pageTotal) return;
  49. this.setListHeight();
  50. _Http.basic({
  51. "id": 20221224180302,
  52. content
  53. }).then(res => {
  54. console.log("订单列表", res)
  55. this.selectComponent('#ListBox').RefreshToComplete();
  56. /* 格式化价格 */
  57. if (res.data.length != 0) res.data = res.data.map(v => {
  58. v.defaultamount = currency(v.defaultamount, {
  59. symbol: "¥",
  60. precision: 2
  61. }).format();
  62. return v
  63. })
  64. content.pageNumber = res.pageNumber + 1
  65. content.pageTotal = res.pageTotal
  66. this.setData({
  67. list: res.pageNumber == 1 ? res.data : this.data.list.concat(res.data),
  68. total: res.total,
  69. amount: currency(res.tips.amount, {
  70. symbol: "¥",
  71. precision: 2
  72. }).format()
  73. })
  74. })
  75. },
  76. /* 更新列表 */
  77. updateList() {
  78. let params = JSON.parse(JSON.stringify(content));
  79. params.pageSize = (params.pageNumber - 1) * params.pageSize;
  80. params.pageNumber = 1;
  81. _Http.basic({
  82. "id": 20221224180302,
  83. content: params
  84. }).then(res => {
  85. console.log("订单列表", res)
  86. if (res.msg != '成功') return;
  87. /* 格式化价格 */
  88. if (res.data.length != 0) res.data = res.data.map(v => {
  89. v.defaultamount = currency(v.defaultamount, {
  90. symbol: "¥",
  91. precision: 2
  92. }).format();
  93. return v
  94. })
  95. this.setData({
  96. list: res.data,
  97. total: res.total,
  98. amount: currency(res.tips.amount, {
  99. symbol: "¥",
  100. precision: 2
  101. }).format()
  102. })
  103. })
  104. },
  105. /* 切换tabs */
  106. tabsChange(e) {
  107. let status = "";
  108. switch (e.detail.title) {
  109. case '全部':
  110. status = "";
  111. break;
  112. case '待确认':
  113. status = "交期待确认";
  114. break;
  115. default:
  116. status = e.detail.title
  117. break;
  118. }
  119. content.where.status = status;
  120. this.getList(true);
  121. },
  122. /* 搜索 */
  123. onSearch({
  124. detail
  125. }) {
  126. content.where.condition = detail;
  127. this.getList(true)
  128. },
  129. /* 获取品牌 */
  130. getBrand() {
  131. _Http.basic({
  132. "id": 20220924163702,
  133. "content": {
  134. "pageSize": 9999,
  135. }
  136. }, false).then(res => {
  137. console.log("查询品牌", res)
  138. if (res.msg == '成功') this.setData({
  139. "filtratelist[0].list": res.data
  140. });
  141. })
  142. },
  143. /* 获取领域 */
  144. getDomain() {
  145. _Http.basic({
  146. "id": 20221223141802,
  147. "content": {
  148. "pageNumber": 1,
  149. "pageSize": 9999,
  150. "where": {
  151. "condition": ""
  152. }
  153. }
  154. }, false).then(res => {
  155. console.log("获取领域", res)
  156. if (res.msg == '成功') this.setData({
  157. "filtratelist[1].list": res.data
  158. });
  159. })
  160. },
  161. /* 设置页面高度 */
  162. setListHeight() {
  163. this.selectComponent("#ListBox").setHeight(".tips", this);
  164. },
  165. showModal(e) {
  166. this.setData({
  167. modalName: e.currentTarget.dataset.target
  168. })
  169. },
  170. hideModal(e) {
  171. this.setData({
  172. modalName: null
  173. })
  174. },
  175. handleFiltrate({
  176. detail
  177. }) {
  178. content.where.brandname = detail.brandname;
  179. content.where.tradefield = detail.tradefield;
  180. downCount = setTimeout(() => {
  181. this.getList(true);
  182. }, 300);
  183. }
  184. })