HomeModel.js 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289
  1. Ext.define('saas.view.home.HomeModel', {
  2. extend: 'Ext.app.ViewModel',
  3. alias: 'viewmodel.home',
  4. data: {
  5. month_sale_amount: '0', // 本月销售合计
  6. },
  7. stores: {
  8. infoData: {
  9. model: 'saas.model.home.Info',
  10. autoLoad: true,
  11. proxy: {
  12. type: 'ajax',
  13. // url: 'http://192.168.253.58:8920/homePage/liveData',
  14. url: '/api/commons/homePage/liveData',
  15. timeout: 8000,
  16. actionMethods: {
  17. read: 'GET'
  18. },
  19. reader: {
  20. type: 'json'
  21. },
  22. listeners: {
  23. exception: function(proxy, response, operation, eOpts) {
  24. var p = Ext.getCmp('infocard');
  25. p && p.setLoading(false);
  26. }
  27. }
  28. },
  29. listeners: {
  30. beforeload: function() {
  31. var p = Ext.getCmp('infocard');
  32. p && p.setLoading(true);
  33. },
  34. load: function(s, d) {
  35. var p = Ext.getCmp('infocard');
  36. p && p.setLoading(false);
  37. if(!d) return;
  38. var res = d[0] ? (d[0].data ? (d[0].data.data || {}) : {}) : {};
  39. Ext.getCmp('infocard').addCardItems(res);
  40. }
  41. }
  42. },
  43. month_sale: {
  44. model: 'saas.model.chart.DataXY',
  45. autoLoad: true,
  46. proxy: {
  47. type: 'ajax',
  48. // url: 'http://192.168.253.58:8920/homePage/saleData',
  49. url: '/api/commons/homePage/saleData',
  50. timeout: 8000,
  51. actionMethods: {
  52. read: 'GET'
  53. },
  54. reader: {
  55. type: 'json',
  56. rootProperty: 'data',
  57. },
  58. listeners: {
  59. exception: function(proxy, response, operation, eOpts) {
  60. var p = Ext.getCmp('month_sale');
  61. p && p.setLoading(false);
  62. }
  63. }
  64. },
  65. listeners: {
  66. beforeload: function() {
  67. var p = Ext.getCmp('month_sale');
  68. p && p.setLoading(true);
  69. },
  70. load: function(s, d) {
  71. var p = Ext.getCmp('month_sale');
  72. p && p.setLoading(false);
  73. var sum = Ext.util.Format.number(s.sum('y'), '0.00') || 0;
  74. Ext.getCmp('home').getViewModel().set('month_sale_amount', sum);
  75. s.each(function(r) {
  76. var z = r.get('z'),
  77. x = r.get('x');
  78. if(!z) {
  79. r.set('z', x.length > 3 ? (x.substr(0,3) + '...') : x);
  80. }else {
  81. r.set('z', z.length > 3 ? (z.substr(0,3) + '...') : z);
  82. }
  83. });
  84. }
  85. }
  86. },
  87. month_io: {
  88. fields: ['x', 'main', 'other'],
  89. autoLoad: true,
  90. proxy: {
  91. type: 'ajax',
  92. // url: 'http://192.168.253.58:8920/homePage/payAndRecData',
  93. url: '/api/commons/homePage/payAndRecData',
  94. timeout: 8000,
  95. actionMethods: {
  96. read: 'GET'
  97. },
  98. reader: {
  99. type: 'json',
  100. rootProperty: 'data',
  101. },
  102. listeners: {
  103. exception: function(proxy, response, operation, eOpts) {
  104. var p = Ext.getCmp('month_io');
  105. p && p.setLoading(false);
  106. }
  107. }
  108. },
  109. listeners: {
  110. beforeload: function() {
  111. var p = Ext.getCmp('month_io');
  112. p && p.setLoading(true);
  113. },
  114. load: function(s, d) {
  115. var p = Ext.getCmp('month_io');
  116. p && p.setLoading(false);
  117. }
  118. }
  119. },
  120. sale_trend: {
  121. fields: ['x', 'sale', 'saleback'],
  122. autoLoad: true,
  123. proxy: {
  124. type: 'ajax',
  125. // url: 'http://192.168.253.58:8920/homePage/saleFutureData',
  126. url: '/api/commons/homePage/saleFutureData',
  127. timeout: 8000,
  128. actionMethods: {
  129. read: 'GET'
  130. },
  131. reader: {
  132. type: 'json',
  133. rootProperty: 'data',
  134. },
  135. listeners: {
  136. exception: function(proxy, response, operation, eOpts) {
  137. var p = Ext.getCmp('sale_trend');
  138. p && p.setLoading(false);
  139. }
  140. }
  141. },
  142. // sorters: [
  143. // { property: 'x', direction: 'ASC' }
  144. // ],
  145. listeners: {
  146. beforeload: function() {
  147. var p = Ext.getCmp('sale_trend');
  148. p && p.setLoading(true);
  149. },
  150. load: function(s, d) {
  151. var p = Ext.getCmp('sale_trend');
  152. p && p.setLoading(false);
  153. }
  154. }
  155. },
  156. stock_amount: {
  157. fields: ['x', 'y'],
  158. autoLoad: true,
  159. proxy: {
  160. type: 'ajax',
  161. // url: 'http://192.168.253.58:8920/homePage/storageData',
  162. url: '/api/commons/homePage/storageData',
  163. timeout: 8000,
  164. actionMethods: {
  165. read: 'GET'
  166. },
  167. reader: {
  168. type: 'json',
  169. rootProperty: 'data',
  170. },
  171. listeners: {
  172. exception: function(proxy, response, operation, eOpts) {
  173. var p = Ext.getCmp('stock_amount');
  174. p && p.setLoading(false);
  175. }
  176. }
  177. },
  178. // sorters: [
  179. // { property: 'x', direction: 'ASC' }
  180. // ],
  181. listeners: {
  182. beforeload: function() {
  183. var p = Ext.getCmp('stock_amount');
  184. p && p.setLoading(true);
  185. },
  186. load: function(s, d) {
  187. var p = Ext.getCmp('stock_amount');
  188. p && p.setLoading(false);
  189. }
  190. }
  191. },
  192. key_data: {
  193. fields: ['name', 'value'],
  194. autoLoad: true,
  195. proxy: {
  196. type: 'ajax',
  197. // url: 'http://192.168.253.58:8920/homePage/keyData',
  198. url: '/api/commons/homePage/keyData',
  199. timeout: 8000,
  200. actionMethods: {
  201. read: 'GET'
  202. },
  203. reader: {
  204. type: 'json',
  205. rootProperty: 'data',
  206. },
  207. listeners: {
  208. exception: function(proxy, response, operation, eOpts) {
  209. var p = Ext.getCmp('key_data');
  210. p && p.setLoading(false);
  211. }
  212. }
  213. },
  214. listeners: {
  215. beforeload: function() {
  216. var p = Ext.getCmp('key_data');
  217. p && p.setLoading(true);
  218. },
  219. load: function(s, d) {
  220. var p = Ext.getCmp('key_data');
  221. p && p.setLoading(false),
  222. data = s.getAt(0) ? s.getAt(0).data : null;
  223. if(data) {
  224. delete data.id;
  225. p.updateValue(data);
  226. // Ext.getCmp('home').getViewModel().set('keydata', data);
  227. }
  228. }
  229. }
  230. },
  231. profit_detail: {
  232. fields: ['x', 'y', 'z'],
  233. autoLoad: true,
  234. proxy: {
  235. type: 'ajax',
  236. // url: 'http://192.168.253.58:8560/api/commons/homePage/monthProfit',
  237. url: '/api/commons/homePage/monthProfit',
  238. timeout: 8000,
  239. // header: {
  240. // Authorization: 'eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJnIiwiYXBwSWQiOiJ0cmFkZS1hcHAiLCJ1c2VySWQiOjM4LCJjb21wYW55SWQiOjIxLCJ1c2VyTmFtZSI6ImciLCJyZWFsTmFtZSI6Iue-pCIsImV4cCI6MTU0NjIyNTg5Mn0.oe6BmpVchOlL6PoR7UspHbThFEJ_HLlKTHBpV4P9wSA4YbL2Pv5sAah2U6M2q7nmu0J1DV5WwMaMClI19Us7n-8fSgNeQrl1IsVFO4sf5nSC3SrUJk0sraBq5dLAqONfAIj9qFOuyduL6tXkV2av5IfmikT1uMk8okTJKDtHj8U'
  241. // },
  242. actionMethods: {
  243. read: 'GET'
  244. },
  245. reader: {
  246. type: 'json',
  247. rootProperty: 'data',
  248. },
  249. listeners: {
  250. exception: function(proxy, response, operation, eOpts) {
  251. var p = Ext.getCmp('profit_detail');
  252. p && p.setLoading(false);
  253. }
  254. }
  255. },
  256. listeners: {
  257. beforeload: function() {
  258. var p = Ext.getCmp('profit_detail');
  259. p && p.setLoading(true);
  260. },
  261. load: function(s, d) {
  262. var p = Ext.getCmp('profit_detail');
  263. p && p.setLoading(false);
  264. s.each(function(r) {
  265. var z = r.get('z'),
  266. x = r.get('x');
  267. if(!z) {
  268. r.set('z', x.length > 3 ? (x.substr(0,3) + '...') : x);
  269. }else {
  270. r.set('z', z.length > 3 ? (z.substr(0,3) + '...') : z);
  271. }
  272. });
  273. }
  274. }
  275. },
  276. },
  277. });