qualifications-analysis.js 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222
  1. var reqList = [];
  2. var util = {};
  3. util.treeTableXcode = function(data, xcode) {
  4. xcode = xcode || "";
  5. for(var i = 0; i < data.length; i++) {
  6. var item = data[i];
  7. item.xcode = xcode + i;
  8. if(item.children && item.children.length > 0) {
  9. util.treeTableXcode(item.children, item.xcode + "-");
  10. }
  11. }
  12. };
  13. Vue.use(Vuedals.default);
  14. new Vue({
  15. el: "#main",
  16. data: {
  17. tableData: [{
  18. id: "1",
  19. date: '2016-05-02',
  20. name: '王小虎',
  21. level: 1,
  22. address: '上海市普陀区金沙江路 1518 弄',
  23. children: [{
  24. id: "11",
  25. date: '2016-05-02',
  26. name: '王小虎',
  27. level: 2,
  28. address: '上海市普陀区金沙江路 1518 弄',
  29. children: [{
  30. id: "111",
  31. date: '2016-05-02',
  32. name: '王小虎',
  33. level: 3,
  34. address: '上海市普陀区金沙江路 1518 弄'
  35. }, {
  36. id: "112",
  37. level: 3,
  38. date: '2016-05-02',
  39. name: '王小虎',
  40. address: '上海市普陀区金沙江路 1518 弄'
  41. }, {
  42. id: "113",
  43. level: 3,
  44. date: '2016-05-02',
  45. name: '王小虎',
  46. address: '上海市普陀区金沙江路 1518 弄'
  47. }]
  48. }, {
  49. id: "12",
  50. level: 2,
  51. date: '2016-05-02',
  52. name: '王小虎',
  53. address: '上海市普陀区金沙江路 1518 弄'
  54. }, {
  55. id: "13",
  56. level: 2,
  57. date: '2016-05-02',
  58. name: '王小虎',
  59. address: '上海市普陀区金沙江路 1518 弄'
  60. }]
  61. }, {
  62. id: "2",
  63. level: 1,
  64. date: '2016-05-04',
  65. name: '王小虎',
  66. address: '上海市普陀区金沙江路 1517 弄'
  67. }, {
  68. id: "3",
  69. level: 1,
  70. date: '2016-05-01',
  71. name: '王小虎',
  72. address: '上海市普陀区金沙江路 1519 弄'
  73. }, {
  74. id: "4",
  75. level: 1,
  76. date: '2016-05-03',
  77. name: '王小虎',
  78. address: '上海市普陀区金沙江路 1516 弄'
  79. }],
  80. valueArea: "",
  81. optionsArea: [{
  82. value: '选项1',
  83. label: '黄金糕'
  84. }, {
  85. value: '选项2',
  86. label: '双皮奶'
  87. }, {
  88. value: '选项3',
  89. label: '蚵仔煎'
  90. }, {
  91. value: '选项4',
  92. label: '龙须面'
  93. }, {
  94. value: '选项5',
  95. label: '北京烤鸭'
  96. }],
  97. dateValue: "",
  98. defaultValue: ['00:00:00', '23:59:59'],
  99. pickerOptions: {
  100. shortcuts: [{
  101. text: '最近一周',
  102. onClick: function(picker) {
  103. var end = new Date();
  104. var start = new Date();
  105. start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
  106. picker.$emit('pick', [start, end]);
  107. }
  108. }, {
  109. text: '最近一个月',
  110. onClick: function(picker) {
  111. var end = new Date();
  112. var start = new Date();
  113. start.setMonth(start.getMonth() - 1);
  114. picker.$emit('pick', [start, end]);
  115. }
  116. }, {
  117. text: '最近三个月',
  118. onClick: function(picker) {
  119. var end = new Date();
  120. var start = new Date();
  121. start.setMonth(start.getMonth() - 3);
  122. picker.$emit('pick', [start, end]);
  123. },
  124. }, {
  125. text: '最近半年',
  126. onClick: function(picker) {
  127. var end = new Date();
  128. var start = new Date();
  129. start.setMonth(start.getMonth() - 6);
  130. picker.$emit('pick', [start, end]);
  131. },
  132. }, {
  133. text: '最近一年',
  134. onClick: function(picker) {
  135. var end = new Date();
  136. var start = new Date();
  137. start.setFullYear(start.getFullYear() - 1);
  138. picker.$emit('pick', [start, end]);
  139. },
  140. }],
  141. disabledDate: function(d) {
  142. return d > new Date();
  143. }
  144. }
  145. },
  146. components: {
  147. vuedals: Vuedals.Component
  148. },
  149. mounted: function() {
  150. var vm = this
  151. //初始化时间
  152. var end = new Date();
  153. var start = new Date();
  154. start.setFullYear(start.getFullYear() - 1);
  155. vm.dateValue = [start, end]
  156. //初始化数据
  157. vm.initData()
  158. $("#main").removeClass("c-hide");
  159. //监听后退按钮的操作
  160. EventBus.$on("back-click", function(arg) {
  161. history.go(-1);
  162. });
  163. //监听页面刷新
  164. EventBus.$on("refresh-click", function(arg) {
  165. alert("刷新")
  166. vm.initData()
  167. });
  168. window.onresize = function() {
  169. }
  170. },
  171. methods: {
  172. initData: function() {
  173. util.treeTableXcode(this.tableData);
  174. },
  175. changeDateValue: function() {
  176. alert(JSON.stringify(this.dateValue))
  177. },
  178. exportData: function() {
  179. },
  180. treeClick: function(item, index) {
  181. if(item.open) {
  182. this.collapse(item, index);
  183. } else {
  184. this.expand(item, index);
  185. }
  186. },
  187. expand: function(item, index) {
  188. if(!item.children) {
  189. return index;
  190. }
  191. //展开
  192. for(var i = 0; item.children && i < item.children.length; i++) {
  193. var child = item.children[i];
  194. this.tableData.splice(++index, 0, child);
  195. if(child.children && child.children.length > 0 && child.open) {
  196. index = this.expand(child, index);
  197. }
  198. }
  199. item.open = true;
  200. return index;
  201. },
  202. collapse: function(item, index) {
  203. if(!item.children) {
  204. return index;
  205. }
  206. //收缩
  207. item.open = false;
  208. var len = 0;
  209. for(var i = index + 1; i < this.tableData.length - 1; i++) {
  210. var xcode = this.tableData[i].xcode;
  211. if(xcode.startsWith(item.xcode + "-")) {
  212. len++;
  213. } else {
  214. break;
  215. }
  216. }
  217. this.tableData.splice(index + 1, len);
  218. }
  219. }
  220. });