index.ts 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213
  1. namespace hangyetoufang {
  2. const { line, upLine } = require("./F2");
  3. const { line1, upLine1 } = require("./F21");
  4. let { getTrendHard,getTrendSoft,getMarket } = require('../../../../utils/api')
  5. let first = true;
  6. Component({
  7. /**
  8. * 组件的属性列表
  9. */
  10. properties: {
  11. array: {
  12. type: Object
  13. },
  14. channel: {
  15. type: Object
  16. },
  17. },
  18. observers: {
  19. 'array': function () {
  20. !first && this.upData()
  21. !first && this.upData1()
  22. },
  23. 'channel': function () {
  24. !first && this.upData()
  25. !first && this.upData1()
  26. },
  27. },
  28. ready() {
  29. this.init();
  30. first = false;
  31. },
  32. /**
  33. * 组件的初始数据
  34. */
  35. data: {
  36. onInitChart: undefined,
  37. onInitChart1: undefined,
  38. DayList: {},
  39. DayList1: {},
  40. select_act: 0,
  41. select: [
  42. {
  43. text: "费用",
  44. proportionType: "feiyong",
  45. type: 3,
  46. unit: "元",
  47. },
  48. {
  49. text: "时长",
  50. proportionType: "timeSize",
  51. type: 2,
  52. unit: "分",
  53. },
  54. {
  55. text: "频次",
  56. proportionType: "pinci",
  57. type: 1,
  58. unit: "次",
  59. },
  60. ],
  61. select_act1: 0,
  62. select1: [
  63. {
  64. text: "时长",
  65. proportionType: "timeSize",
  66. type: 2,
  67. unit: "分",
  68. },
  69. {
  70. text: "频次",
  71. proportionType: "pinci",
  72. type: 1,
  73. unit: "次",
  74. },
  75. ]
  76. },
  77. /**
  78. * 组件的方法列表
  79. */
  80. methods: {
  81. init() {
  82. let channelItem = this.data.channel;
  83. Promise.all([
  84. getTrendHard({
  85. type: this.data.select[this.data.select_act].type,
  86. industryId: channelItem.channelId,
  87. dataType: this.data.array.index
  88. }),
  89. getTrendSoft({
  90. type: this.data.select1[this.data.select_act1].type,
  91. industryId: channelItem.channelId,
  92. dataType: this.data.array.index
  93. }),
  94. ]).then((res: any[]) => {
  95. let li = res[0] || []
  96. let list: adDay = {
  97. before: [],
  98. now: []
  99. }, key = this.data.select[this.data.select_act].proportionType;
  100. for (let i = 0; i < (li.harddatabase || []).length; i++) {
  101. const v = (li.harddatabase || [])[i];
  102. v[key] = Number(v[key] || 0)
  103. list.before.push(v)
  104. }
  105. for (let i = 0; i < (li.harddatacompare || []).length; i++) {
  106. const v = (li.harddatacompare || [])[i];
  107. v[key] = Number(v[key] || 0)
  108. list.now.push(v)
  109. }
  110. let li1 = res[1] || []
  111. let list1: adDay = {
  112. before: [],
  113. now: []
  114. }, key1 = this.data.select1[this.data.select_act1].proportionType;
  115. for (let i = 0; i < (li1.softdatabase || []).length; i++) {
  116. const v = (li1.softdatabase || [])[i];
  117. v[key1] = Number(v[key1] || 0)
  118. list1.before.push(v)
  119. }
  120. for (let i = 0; i < (li1.softdatacompare || []).length; i++) {
  121. const v = (li1.softdatacompare || [])[i];
  122. v[key1] = Number(v[key1] || 0)
  123. list1.now.push(v)
  124. }
  125. this.setData({
  126. DayList1: list1,
  127. DayList: list,
  128. onInitChart: line.bind(this),
  129. onInitChart1: line1.bind(this)
  130. })
  131. })
  132. },
  133. upData() {
  134. let channelItem = this.data.channel;
  135. Promise.all([
  136. getTrendHard({
  137. type: this.data.select[this.data.select_act].type,
  138. industryId: channelItem.channelId,
  139. dataType: this.data.array.index
  140. }),
  141. ]).then((res: any[]) => {
  142. let li = res[0] || []
  143. let list: adDay = {
  144. before: [],
  145. now: []
  146. }, key = this.data.select[this.data.select_act].proportionType;
  147. for (let i = 0; i < (li.harddatabase || []).length; i++) {
  148. const v = (li.harddatabase || [])[i];
  149. v[key] = Number(v[key] || 0)
  150. list.before.push(v)
  151. }
  152. for (let i = 0; i < (li.harddatacompare || []).length; i++) {
  153. const v = (li.harddatacompare || [])[i];
  154. v[key] = Number(v[key] || 0)
  155. list.now.push(v)
  156. }
  157. console.log(list)
  158. this.setData({
  159. DayList: list,
  160. },()=>{
  161. upLine.bind(this)()
  162. })
  163. })
  164. },
  165. upData1() {
  166. let channelItem = this.data.channel;
  167. Promise.all([
  168. getTrendSoft({
  169. type: this.data.select1[this.data.select_act1].type,
  170. industryId: channelItem.channelId,
  171. dataType: this.data.array.index
  172. }),
  173. ]).then((res: any[]) => {
  174. let li = res[0] || []
  175. let list: adDay = {
  176. before: [],
  177. now: []
  178. }, key = this.data.select1[this.data.select_act1].proportionType;
  179. for (let i = 0; i < (li.softdatabase || []).length; i++) {
  180. const v = (li.softdatabase || [])[i];
  181. v[key] = Number(v[key] || 0)
  182. list.before.push(v)
  183. }
  184. for (let i = 0; i < (li.softdatacompare || []).length; i++) {
  185. const v = (li.softdatacompare || [])[i];
  186. v[key] = Number(v[key] || 0)
  187. list.now.push(v)
  188. }
  189. this.setData({
  190. DayList1: list,
  191. },()=>{
  192. upLine1.bind(this)()
  193. })
  194. })
  195. },
  196. channelChange(event: wxPicker) {
  197. this.setData({
  198. select_act: Number(event.detail.value)
  199. }, () => this.upData())
  200. },
  201. channelChange1(event: wxPicker) {
  202. this.setData({
  203. select_act1: Number(event.detail.value)
  204. }, () => this.upData1())
  205. }
  206. }
  207. })
  208. }