-
- 团体与个人统计
-
-
+
+
+
+
+
@@ -135,35 +135,35 @@
type: "month",
name: "本月"
}]
- },
- times: {
- radiusArr: "50%",
- yArr: [{
- value: 240,
- name: '苏州'
- },
- {
- value: 20,
- name: '无锡'
- },
- {
- value: 130,
- name: '常州'
- },
- {
- value: 120,
- name: '泰州'
- },
- {
- value: 120,
- name: '宿迁'
- }
- ],
+ },
+ times: {
+ radiusArr: "50%",
+ yArr: [{
+ value: 240,
+ name: '苏州'
+ },
+ {
+ value: 20,
+ name: '无锡'
+ },
+ {
+ value: 130,
+ name: '常州'
+ },
+ {
+ value: 120,
+ name: '泰州'
+ },
+ {
+ value: 120,
+ name: '宿迁'
+ }
+ ],
}
},
lineArr: {
- xArr: ['05-22', '05-23', '05-24', '05-25', '05-26', '05-27', '05-28'],
- legendArr:["团队预约人数","团队预约实际入场人数","个人预约人数","个人预约实际入场人数"],
+ xArr: ['05-22', '05-23', '05-24', '05-25', '05-26', '05-27', '05-28'],
+ legendArr: ["团队预约人数", "团队预约实际入场人数", "个人预约人数", "个人预约实际入场人数"],
series: [{
name: '团队预约人数',
type: 'line',
@@ -181,24 +181,24 @@
type: 'line',
stack: 'Total',
data: [150, 232, 201, 154, 190, 330, 210]
- },
- {
- name: '个人预约实际入场人数',
- type: 'line',
- stack: 'Total',
- data: [50, 132, 101, 104, 180, 230, 110]
+ },
+ {
+ name: '个人预约实际入场人数',
+ type: 'line',
+ stack: 'Total',
+ data: [50, 132, 101, 104, 180, 230, 110]
}
]
}
- }
- },
- created: function() {
+ }
+ },
+ created: function() {
- },
- methods: {
+ },
+ methods: {
- }
}
+ }
diff --git a/src/views/report/components/PieChart.vue b/src/views/report/components/PieChart.vue
new file mode 100644
index 0000000..3979b90
--- /dev/null
+++ b/src/views/report/components/PieChart.vue
@@ -0,0 +1,163 @@
+
+
+
+
+
+
diff --git a/src/views/report/components/mixins/resize.js b/src/views/report/components/mixins/resize.js
new file mode 100644
index 0000000..234953b
--- /dev/null
+++ b/src/views/report/components/mixins/resize.js
@@ -0,0 +1,55 @@
+import { debounce } from '@/utils'
+
+export default {
+ data() {
+ return {
+ $_sidebarElm: null,
+ $_resizeHandler: null
+ }
+ },
+ mounted() {
+ this.$_resizeHandler = debounce(() => {
+ if (this.chart) {
+ this.chart.resize()
+ }
+ }, 100)
+ this.$_initResizeEvent()
+ this.$_initSidebarResizeEvent()
+ },
+ beforeDestroy() {
+ this.$_destroyResizeEvent()
+ this.$_destroySidebarResizeEvent()
+ },
+ // to fixed bug when cached by keep-alive
+ // https://github.com/PanJiaChen/vue-element-admin/issues/2116
+ activated() {
+ this.$_initResizeEvent()
+ this.$_initSidebarResizeEvent()
+ },
+ deactivated() {
+ this.$_destroyResizeEvent()
+ this.$_destroySidebarResizeEvent()
+ },
+ methods: {
+ // use $_ for mixins properties
+ // https://vuejs.org/v2/style-guide/index.html#Private-property-names-essential
+ $_initResizeEvent() {
+ window.addEventListener('resize', this.$_resizeHandler)
+ },
+ $_destroyResizeEvent() {
+ window.removeEventListener('resize', this.$_resizeHandler)
+ },
+ $_sidebarResizeHandler(e) {
+ if (e.propertyName === 'width') {
+ this.$_resizeHandler()
+ }
+ },
+ $_initSidebarResizeEvent() {
+ this.$_sidebarElm = document.getElementsByClassName('sidebar-container')[0]
+ this.$_sidebarElm && this.$_sidebarElm.addEventListener('transitionend', this.$_sidebarResizeHandler)
+ },
+ $_destroySidebarResizeEvent() {
+ this.$_sidebarElm && this.$_sidebarElm.removeEventListener('transitionend', this.$_sidebarResizeHandler)
+ }
+ }
+}
diff --git a/src/views/report/visit/sexRpt.vue b/src/views/report/visit/sexRpt.vue
index d40d829..b2050fb 100644
--- a/src/views/report/visit/sexRpt.vue
+++ b/src/views/report/visit/sexRpt.vue
@@ -31,6 +31,7 @@