瀏覽代碼

提交测试

1
mo 2 年之前
父節點
當前提交
1d545e0001
共有 2 個文件被更改,包括 80 次插入96 次删除
  1. 49 66
      src/views/main/baseinfo/modals/manageOrgan.vue
  2. 31 30
      src/views/main/baseinfo/modals/organCoop.vue

+ 49 - 66
src/views/main/baseinfo/modals/manageOrgan.vue

@@ -1,10 +1,6 @@
 <template>
   <div>
-    <div
-      class="wall"
-      style="height: 68px"
-      v-if="JSON.stringify(items) == '{}'"
-    ></div>
+    <div class="wall" style="height: 68px" v-if="JSON.stringify(items) == '{}'"></div>
     <!-- 按月/按天 -->
     <div class="wrap">
       <ve-histogram
@@ -55,23 +51,23 @@ export default {
     "count-to": countTo,
     "ve-histogram": histogram,
     searchHeader,
-    organCoop
+    organCoop,
   },
   computed: {
     legend() {
       return {
-        show: false
+        show: false,
       };
     },
     items() {
       let obj = {};
       let arr = [
-        "ORGAN_TOTAL_AMOUNT"
+        "ORGAN_TOTAL_AMOUNT",
         // "FINANCE_AMOUNT",
         // "FINANCE_BALANCE_AMOUNT",
         // "FINANCE_PAY",
       ];
-      arr.forEach(str => {
+      arr.forEach((str) => {
         if (this.data[str]) {
           obj[str] = this.data[str];
         }
@@ -87,10 +83,10 @@ export default {
         "ORGAN_RENEW_AMOUNT",
         "ORGAN_VIP_AMOUNT",
         "ORGAN_PRACTICE_AMOUNT",
-        "ORGAN_OTHER_AMOUNT"
+        "ORGAN_OTHER_AMOUNT",
       ];
 
-      arr.forEach(str => {
+      arr.forEach((str) => {
         if (this.data[str]) {
           obj[str] = this.data[str];
         }
@@ -106,14 +102,14 @@ export default {
             show: true,
             position: "top",
             color: "#000",
-            formatter: function(value) {
+            formatter: function (value) {
               var val = value.data;
               return val + "%";
-            }
-          }
+            },
+          },
         },
         markerPoint: {
-          data: { name: "百分比" }
+          data: { name: "百分比" },
         },
 
         yAxis: {
@@ -124,15 +120,15 @@ export default {
           min: 0,
 
           axisLabel: {
-            formatter: "{value}%"
+            formatter: "{value}%",
           },
           splitLine: {
             //分割线配置
             show: true,
             lineStyle: {
-              color: "#EBEEF5"
-            }
-          }
+              color: "#EBEEF5",
+            },
+          },
         },
 
         xAxis: {
@@ -142,22 +138,22 @@ export default {
             interval: 0, // 坐标轴刻度标签的显示间隔,在类目轴中有效;默认会采用标签不重叠的策略间隔显示标签;可以设置成0强制显示所有标签;如果设置为1,表示『隔一个标签显示一个标签』,如果值为2,表示隔两个标签显示一个标签,以此类推。
             inside: false, // 刻度标签是否朝内,默认朝外
             margin: 6, // 刻度标签与轴线之间的距离
-            rotate: 45
+            rotate: 45,
             // formatter: function (value) {
             //   return value.split("").join("\n");
             // },
-          }
+          },
         },
 
         tooltip: {
           axisPointer: {
             type: "shadow",
             shadowStyle: {
-              color: "rgba(150,150,150,0.2)"
-            }
+              color: "rgba(150,150,150,0.2)",
+            },
           },
 
-          formatter: item => {
+          formatter: (item) => {
             // console.log(item);
             // console.log(this.values, item[0].axisValue, "organ");
             let arr = [
@@ -167,19 +163,16 @@ export default {
               { name: "乐团续费收入", dot: "元" },
               { name: "VIP课收入", dot: "元" },
               { name: "网管课收入", dot: "元" },
-              { name: "其他收入", dot: "元" }
+              { name: "其他收入", dot: "元" },
             ];
             return [
               item[0].axisValueLabel,
               ...arr.map(
-                d =>
-                  `<br/>${d.name}:${this.values[item[0].axisValue][d.name]}${
-                    d.dot
-                  }`
-              )
+                (d) => `<br/>${d.name}:${this.values[item[0].axisValue][d.name]}${d.dot}`
+              ),
             ].join("");
-          }
-        }
+          },
+        },
         // events: {
         //   click: (e, index) => {
         //     // this.onClick(e, index);
@@ -197,8 +190,8 @@ export default {
           end: 20,
           filterMode: "empty",
           zoomLock: true,
-          handleSize: 0
-        }
+          handleSize: 0,
+        },
       ];
     },
     chartData() {
@@ -209,7 +202,7 @@ export default {
       for (const row of values[0].indexMonthData || []) {
         const key = row.organName;
         organ[key] = {
-          分部: row.organName
+          分部: row.organName,
         };
         for (const item of values) {
           if (item.title == row.title) {
@@ -218,9 +211,7 @@ export default {
 
           if (item.title == "总收入" && row.title == "总收入") {
             organ[key]["总收入占比"] = (
-              (isNaN(row.percent / item.percent)
-                ? 0
-                : row.percent / item.percent) * 100
+              (isNaN(row.percent / item.percent) ? 0 : row.percent / item.percent) * 100
             ).toFixed(2);
           }
         }
@@ -250,7 +241,7 @@ export default {
 
       this.values = organ;
       let row = Object.values(organ);
-      row = lodash.sortBy(row, function(o) {
+      row = lodash.sortBy(row, function (o) {
         return -o["总收入占比"];
       });
       // console.log(row, "row");
@@ -259,7 +250,7 @@ export default {
       return {
         columns: ["分部", "总收入占比"],
         rows: row,
-        loading: true
+        loading: true,
       };
     },
     chartDataForMoth() {
@@ -271,7 +262,7 @@ export default {
 
           if (!months[key]) {
             months[key] = {
-              月份: key
+              月份: key,
             };
             months[key][item.title] = row.percent;
           } else {
@@ -296,15 +287,15 @@ export default {
           "网管课收入",
           "其他收入",
           "乐团续费收入",
-          "VIP课收入"
+          "VIP课收入",
         ],
         rows: Object.values(months),
-        loading: true
+        loading: true,
       };
     },
     dataEmpty() {
       return !this.chartData.rows.length;
-    }
+    },
   },
   data() {
     // this.chartSettings = {
@@ -323,7 +314,7 @@ export default {
       handleStatus: false,
       organId: "",
       dataCoop: [],
-      isClick: false
+      isClick: false,
     };
   },
   mounted() {
@@ -334,22 +325,18 @@ export default {
     if (charts) {
       const that = this;
       charts.getZr().off("click"); //防止触发两次点击事件
-      charts.getZr().on("click", async function(params) {
+      charts.getZr().on("click", async function (params) {
         if (that.loading) return;
 
         let op = charts.getOption();
         // console.log(op, params);
         let pointInPixel = [params.offsetX, params.offsetY];
         if (charts.containPixel("grid", pointInPixel)) {
-          const xIndex = charts.convertFromPixel(
-            { seriesIndex: 0 },
-            pointInPixel
-          )[0];
+          const xIndex = charts.convertFromPixel({ seriesIndex: 0 }, pointInPixel)[0];
           //获得图表中点击的列
           var name = op.xAxis[0].data[xIndex]; // 当前点击的 X轴 的名称
-          const indexMonthData =
-            that.data?.ORGAN_FINANCE_AMOUNT.indexMonthData || [];
-          indexMonthData.forEach(item => {
+          const indexMonthData = that.data?.ORGAN_FINANCE_AMOUNT.indexMonthData || [];
+          indexMonthData.forEach((item) => {
             if (item.organName == name) {
               that.organId = item.organId;
             }
@@ -366,16 +353,17 @@ export default {
       try {
         const res = await indexCoop({
           ...getTimes(this.mdate1, ["startTime", "endTime"]),
-          organId: this.organId
+          organId: this.organId,
         });
         const tempData = res.data || [];
         // 只显示前10的数据
         this.dataCoop = [];
         tempData.forEach((item, index) => {
           // console.log(item, index);
-          if (index <= 9) {
-            this.dataCoop.push(item);
-          }
+          // if (index <= 9) {
+          //   this.dataCoop.push(item);
+          // }
+          this.dataCoop.push(item);
         });
         this.handleStatus = true;
         this.loading = false;
@@ -439,20 +427,15 @@ export default {
         const count = this.$helpers
           .dayjs(arr[0])
           .diff(this.$helpers.dayjs(arr[1]), "day");
-        Math.abs(count) > chioseNum
-          ? (this.timer = "month")
-          : (this.timer = "day");
+        Math.abs(count) > chioseNum ? (this.timer = "month") : (this.timer = "day");
       }
     },
     getInitDate() {
       const end = this.$helpers.dayjs(new Date()).format("YYYY-MM-DD");
-      const start = this.$helpers
-        .dayjs(new Date())
-        .set("date", 1)
-        .format("YYYY-MM-DD");
+      const start = this.$helpers.dayjs(new Date()).set("date", 1).format("YYYY-MM-DD");
       return [start, end];
-    }
-  }
+    },
+  },
 };
 </script>
 <style lang="less" scoped>

+ 31 - 30
src/views/main/baseinfo/modals/organCoop.vue

@@ -3,7 +3,7 @@
     <el-button
       type="primary"
       @click="exportQuestion"
-      style="margin-top: 16px;"
+      style="margin-top: 16px"
       v-permission="'export/now/EXPORT_INDEX_COOP'"
       >导出</el-button
     >
@@ -13,6 +13,7 @@
       :data-empty="dataEmpty"
       :extend="chartExtend"
       :legend="legend"
+      :data-zoom="dataZoom"
       ref="histogram"
     />
     <!-- :data-zoom="dataZoom" -->
@@ -28,30 +29,30 @@ export default {
   name: "organ-coop",
   props: ["data", "organId", "mdate"],
   components: {
-    "ve-histogram": histogram
+    "ve-histogram": histogram,
   },
   computed: {
     legend() {
       return {
-        show: false
+        show: false,
       };
     },
 
     chartData() {
       const temp = {
-        amount: "总金额"
+        amount: "总金额",
       };
       const values = this.data;
       const months = [];
-      values.forEach(item => {
+      values.forEach((item) => {
         months.push({
           学校: item.name,
-          总金额: item.amount
+          总金额: item.amount,
         });
       });
       return {
         columns: ["学校", "总金额"],
-        rows: months
+        rows: months,
       };
     },
     chartExtend() {
@@ -64,15 +65,15 @@ export default {
           min: 0,
 
           axisLabel: {
-            formatter: "{value}元"
+            formatter: "{value}元",
           },
           splitLine: {
             //分割线配置
             show: true,
             lineStyle: {
-              color: "#EBEEF5"
-            }
-          }
+              color: "#EBEEF5",
+            },
+          },
         },
 
         xAxis: {
@@ -82,30 +83,30 @@ export default {
             interval: 0, // 坐标轴刻度标签的显示间隔,在类目轴中有效;默认会采用标签不重叠的策略间隔显示标签;可以设置成0强制显示所有标签;如果设置为1,表示『隔一个标签显示一个标签』,如果值为2,表示隔两个标签显示一个标签,以此类推。
             inside: false, // 刻度标签是否朝内,默认朝外
             margin: 6, // 刻度标签与轴线之间的距离
-            rotate: 45
-          }
+            rotate: 45,
+          },
         },
         series: {
           type: "bar",
           smooth: false,
-          barWidth: 50
+          barWidth: 50,
         },
         tooltip: {
           axisPointer: {
             type: "shadow",
             shadowStyle: {
-              color: "rgba(150,150,150,0.2)"
-            }
+              color: "rgba(150,150,150,0.2)",
+            },
           },
-          formatter: item => {
+          formatter: (item) => {
             return [
               item[0].axisValueLabel,
-              ...item.map(d => {
+              ...item.map((d) => {
                 return `<br/>${d.marker}${d.seriesName}: ${d.value}元`;
-              })
+              }),
             ].join("");
-          }
-        }
+          },
+        },
       };
     },
     dataZoom() {
@@ -114,16 +115,16 @@ export default {
           show: true,
           type: "slider",
           start: 0,
-          end: 20,
+          end: 60,
           filterMode: "empty",
           zoomLock: true,
-          handleSize: 0
-        }
+          handleSize: 0,
+        },
       ];
     },
     dataEmpty() {
       return !this.chartData.rows.length;
-    }
+    },
   },
   methods: {
     exportQuestion() {
@@ -137,13 +138,13 @@ export default {
             exportEnum: "EXPORT_INDEX_COOP",
             queryInfo: {
               ...getTimes(this.mdate, ["startTime", "endTime"]),
-              organId: this.organId
-            }
-          }
+              organId: this.organId,
+            },
+          },
         },
         "您确定导出合作单位回款?"
       );
-    }
-  }
+    },
+  },
 };
 </script>