Forráskód Böngészése

Merge branch '07/06musicArchives' into 11/24SAAS

mo 2 éve
szülő
commit
feeb8b32b2

+ 309 - 306
src/views/main/baseinfo/index.vue

@@ -1,306 +1,309 @@
-<template>
-  <div class="container main">
-    <save-form
-      inline
-      :model="search"
-      @submit="FetchDetail"
-      @reset="reset"
-      saveKey="/main/main/baseInfo"
-    >
-      <!-- <el-form-item prop="year">
-        <el-date-picker
-          v-model="search.dates"
-          type="daterange"
-          align="right"
-          unlink-panels
-          range-separator="至"
-          start-placeholder="开始日期"
-          end-placeholder="结束日期"
-          :picker-options="pickerOptions">
-        </el-date-picker>
-      </el-form-item> -->
-      <el-form-item prop="organId">
-        <el-select
-          clearable
-          filterable
-          placeholder="请选择分部"
-          v-model="search.organId"
-        >
-          <el-option
-            v-for="(item, index) in selects.branchs"
-            :key="index"
-            :label="item.name"
-            :value="item.id"
-          ></el-option>
-        </el-select>
-      </el-form-item>
-      <el-button native-type="submit" type="primary">搜索</el-button>
-      <el-button native-type="reset" type="danger">重置</el-button>
-    </save-form>
-    <!-- <el-alert type="info" :closable="false" style="margin-bottom: 20px;">
-      每日0点更新前一日数据
-    </el-alert> -->
-    <!-- 这里显示选项卡 -->
-    <empty desc="暂无统计数据" v-if="isEmpty" />
-    <el-row v-else class="rows" :gutter="20">
-      <el-col :xs="24" :sm="24" :md="24" :lg="12" :xl="8">
-        <studentbaseinfo :data="dataInfo" />
-      </el-col>
-      <el-col :xs="24" :sm="24" :md="24" :lg="12" :xl="8">
-        <operate :data="dataInfo" />
-      </el-col>
-      <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="8">
-        <hrdata :data="dataInfo" />
-      </el-col>
-      <!-- <el-col :xs="24" :sm="24" :md="24" :lg="12" :xl="12">
-        <surplusCourse :data="dataInfo" />
-      </el-col>
-      <el-col :xs="24" :sm="24" :md="24" :lg="12" :xl="12">
-        <useCourse :data="dataInfo" />
-      </el-col> -->
-      <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
-        <management
-          ref="management"
-          :data="dataInfo"
-          :search="search"
-          @resetDate="resetDate"
-        />
-      </el-col>
-      <el-col
-        :xs="24"
-        :sm="24"
-        :md="24"
-        :lg="24"
-        :xl="24"
-        v-if="$helpers.tenantId == 1"
-      >
-        <business
-          ref="business"
-          :data="dataInfo"
-          :search="search"
-          @resetDate="resetDate"
-        />
-      </el-col>
-      <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
-        <curriculum
-          :data="dataInfo"
-          ref="curriculum"
-          :search="search"
-          @resetDate="resetDate"
-        />
-      </el-col>
-      <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
-        <student
-          :data="dataInfo"
-          ref="student"
-          :search="search"
-          @resetDate="resetDate"
-        />
-      </el-col>
-
-      <!-- <el-col :xs="24" :sm="24" :md="12">
-        <operate :data="dataInfo"/>
-      </el-col> -->
-      <!-- <el-col :xs="24" :sm="24" :md="12">
-        <hrdata :data="dataInfo"/>
-      </el-col> -->
-    </el-row>
-  </div>
-</template>
-<script>
-import { getIndex } from "../api";
-import operate from "./operate";
-import business from "./business";
-import management from "./management";
-import hrdata from "./hr";
-import student from "./student";
-import curriculum from "./curriculum";
-import studentbaseinfo from "./studentBaseinfo";
-import surplusCourse from "./surplusCourse";
-import useCourse from "./useCourse";
-import { getTimes } from "@/utils";
-import { descs } from "../constant";
-
-export default {
-  components: {
-    operate,
-    business,
-    management,
-    hrdata,
-    student,
-    curriculum,
-    studentbaseinfo,
-    surplusCourse,
-    useCourse,
-  },
-  data() {
-    return {
-      pickerOptions: {
-        firstDayOfWeek: 1,
-        disabledDate: (a) => {
-          const { dayjs } = this.$helpers;
-          return dayjs(a).isAfter(dayjs().subtract(1, "day"));
-        },
-        shortcuts: [
-          {
-            text: "最近一周",
-            onClick(picker) {
-              const end = new Date();
-              const start = new Date();
-              end.setTime(end.getTime() - 3600 * 1000 * 24 * 1);
-              start.setTime(start.getTime() - 3600 * 1000 * 24 * 8);
-              picker.$emit("pick", [start, end]);
-            },
-          },
-          {
-            text: "最近一个月",
-            onClick(picker) {
-              const end = new Date();
-              const start = new Date();
-              end.setTime(end.getTime() - 3600 * 1000 * 24 * 1);
-              start.setTime(start.getTime() - 3600 * 1000 * 24 * 31);
-              picker.$emit("pick", [start, end]);
-            },
-          },
-          {
-            text: "最近三个月",
-            onClick(picker) {
-              const end = new Date();
-              const start = new Date();
-              end.setTime(end.getTime() - 3600 * 1000 * 24 * 1);
-              start.setTime(start.getTime() - 3600 * 1000 * 24 * 91);
-              picker.$emit("pick", [start, end]);
-            },
-          },
-        ],
-      },
-      search: {
-        dates: [],
-        organId: null,
-      },
-      dataInfo: {},
-      business: {},
-      loading: false,
-    };
-  },
-  computed: {
-    isEmpty() {
-      return !Object.keys(this.dataInfo).length;
-    },
-  },
-  created() {},
-  async mounted() {
-    this.$set(this.search, "dates", this.getInitDate());
-   await this.$store.dispatch("setBranchs");
-    this.FetchDetail();
-  },
-  methods: {
-    getInitDate() {
-      const end = this.$helpers
-        .dayjs(new Date())
-        .subtract(1, "day")
-        .format("YYYY-MM-DD");
-      const start = this.$helpers
-        .dayjs(new Date())
-        .subtract(1, "day")
-        .set("date", 1)
-        .format("YYYY-MM-DD");
-      return [start, end];
-    },
-    reset() {
-      this.$set(this.search, "dates", this.getInitDate());
-      this.$set(this.search, "organId", null);
-      this.FetchDetail();
-    },
-    async FetchDetail() {
-      // 这里改变就通知子组件重置
-
-      const data = {};
-      try {
-        const { dates, ...rest } = this.search;
-        const res = await getIndex({
-          ...rest,
-          ...getTimes(dates, ["startDate", "endDate"]),
-        });
-        for (const item of res.data) {
-          data[item.dataType] = {
-            ...item,
-            desc: descs[item.dataType],
-          };
-        }
-      } catch (error) {
-        console.log(error);
-      }
-      this.dataInfo = data;
-      if (this.$refs.business) {
-        this.$refs["business"].init();
-      }
-      if (this.$refs.management) {
-        this.$refs["management"].init();
-      }
-    },
-    resetDate(data) {
-      let arr = null;
-      for (let item in data) {
-        // console.log(item)
-        if (item == "VIP_GROUP_COURSE") {
-          arr = data[item].indexMonthData;
-        }
-        this.dataInfo[item] = data[item];
-      }
-      this.dataInfo = { ...this.dataInfo };
-    },
-  },
-};
-</script>
-<style lang="less" scoped>
-.container {
-  overflow: hidden;
-  .rows {
-    > div {
-      margin-bottom: 20px;
-    }
-  }
-  /deep/ .el-card__body .statistic {
-    margin-bottom: 15px;
-    padding: 0;
-  }
-}
-/deep/.el-card__header {
-  padding: 0 20px !important;
-}
-</style>
-<style lang="scss">
-.main {
-  .statistic {
-    .statistic-content > span {
-      font-size: 22px !important;
-      &:first-child {
-        font-size: 14px !important;
-      }
-    }
-  }
-}
-
-.box {
-  display: flex;
-  flex-direction: row;
-  align-items: center;
-  height: 55px;
-  line-height: 55px;
-  .shape {
-    margin-right: 10px;
-    height: 18px;
-    width: 4px;
-    background-color: var(--color-primary);
-  }
-}
-.wall {
-  display: flex;
-  flex-direction: row;
-  align-items: center;
-  justify-content: center;
-  color: #888;
-  font-size: 14px;
-}
-</style>
+<template>
+  <div class="container main">
+    <save-form
+      inline
+      :model="search"
+      @submit="FetchDetail"
+      @reset="reset"
+      saveKey="/main/main/baseInfo"
+    >
+      <!-- <el-form-item prop="year">
+        <el-date-picker
+          v-model="search.dates"
+          type="daterange"
+          align="right"
+          unlink-panels
+          range-separator="至"
+          start-placeholder="开始日期"
+          end-placeholder="结束日期"
+          :picker-options="pickerOptions">
+        </el-date-picker>
+      </el-form-item> -->
+      <el-form-item prop="organId">
+        <el-select
+          clearable
+          filterable
+          placeholder="请选择分部"
+          v-model="search.organId"
+        >
+          <el-option
+            v-for="(item, index) in selects.branchs"
+            :key="index"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-button native-type="submit" type="primary">搜索</el-button>
+      <el-button native-type="reset" type="danger">重置</el-button>
+    </save-form>
+    <!-- <el-alert type="info" :closable="false" style="margin-bottom: 20px;">
+      每日0点更新前一日数据
+    </el-alert> -->
+    <!-- 这里显示选项卡 -->
+    <empty desc="暂无统计数据" v-if="isEmpty" />
+    <el-row v-else class="rows" :gutter="20">
+      <el-col :xs="24" :sm="24" :md="24" :lg="12" :xl="8">
+        <studentbaseinfo :data="dataInfo" />
+      </el-col>
+      <el-col :xs="24" :sm="24" :md="24" :lg="12" :xl="8">
+        <operate :data="dataInfo" />
+      </el-col>
+      <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="8">
+        <hrdata :data="dataInfo" />
+      </el-col>
+      <!-- <el-col :xs="24" :sm="24" :md="24" :lg="12" :xl="12">
+        <surplusCourse :data="dataInfo" />
+      </el-col>
+      <el-col :xs="24" :sm="24" :md="24" :lg="12" :xl="12">
+        <useCourse :data="dataInfo" />
+      </el-col> -->
+      <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
+        <management
+          ref="management"
+          :data="dataInfo"
+          :search="search"
+          @resetDate="resetDate"
+        />
+      </el-col>
+      <el-col
+        :xs="24"
+        :sm="24"
+        :md="24"
+        :lg="24"
+        :xl="24"
+        v-if="$helpers.tenantId == 1"
+      >
+        <business
+          ref="business"
+          :data="dataInfo"
+          :search="search"
+          @resetDate="resetDate"
+        />
+      </el-col>
+      <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
+        <curriculum
+          :data="dataInfo"
+          ref="curriculum"
+          :search="search"
+          @resetDate="resetDate"
+        />
+      </el-col>
+      <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
+        <student
+          :data="dataInfo"
+          ref="student"
+          :search="search"
+          @resetDate="resetDate"
+        />
+      </el-col>
+
+      <!-- <el-col :xs="24" :sm="24" :md="12">
+        <operate :data="dataInfo"/>
+      </el-col> -->
+      <!-- <el-col :xs="24" :sm="24" :md="12">
+        <hrdata :data="dataInfo"/>
+      </el-col> -->
+    </el-row>
+  </div>
+</template>
+<script>
+import { getIndex } from "../api";
+import operate from "./operate";
+import business from "./business";
+import management from "./management";
+import hrdata from "./hr";
+import student from "./student";
+import curriculum from "./curriculum";
+import studentbaseinfo from "./studentBaseinfo";
+import surplusCourse from "./surplusCourse";
+import useCourse from "./useCourse";
+import { getTimes } from "@/utils";
+import { descs } from "../constant";
+
+export default {
+  components: {
+    operate,
+    business,
+    management,
+    hrdata,
+    student,
+    curriculum,
+    studentbaseinfo,
+    surplusCourse,
+    useCourse,
+  },
+  data() {
+    return {
+      pickerOptions: {
+        firstDayOfWeek: 1,
+        disabledDate: (a) => {
+          const { dayjs } = this.$helpers;
+          return dayjs(a).isAfter(dayjs().subtract(1, "day"));
+        },
+        shortcuts: [
+          {
+            text: "最近一周",
+            onClick(picker) {
+              const end = new Date();
+              const start = new Date();
+              end.setTime(end.getTime() - 3600 * 1000 * 24 * 1);
+              start.setTime(start.getTime() - 3600 * 1000 * 24 * 8);
+              picker.$emit("pick", [start, end]);
+            },
+          },
+          {
+            text: "最近一个月",
+            onClick(picker) {
+              const end = new Date();
+              const start = new Date();
+              end.setTime(end.getTime() - 3600 * 1000 * 24 * 1);
+              start.setTime(start.getTime() - 3600 * 1000 * 24 * 31);
+              picker.$emit("pick", [start, end]);
+            },
+          },
+          {
+            text: "最近三个月",
+            onClick(picker) {
+              const end = new Date();
+              const start = new Date();
+              end.setTime(end.getTime() - 3600 * 1000 * 24 * 1);
+              start.setTime(start.getTime() - 3600 * 1000 * 24 * 91);
+              picker.$emit("pick", [start, end]);
+            },
+          },
+        ],
+      },
+      search: {
+        dates: [],
+        organId: null,
+      },
+      dataInfo: {},
+      business: {},
+      loading: false,
+    };
+  },
+  computed: {
+    isEmpty() {
+      return !Object.keys(this.dataInfo).length;
+    },
+  },
+  created() {},
+  async mounted() {
+    this.$set(this.search, "dates", this.getInitDate());
+   await this.$store.dispatch("setBranchs");
+    this.FetchDetail();
+  },
+  methods: {
+    getInitDate() {
+      const end = this.$helpers
+        .dayjs(new Date())
+        .subtract(1, "day")
+        .format("YYYY-MM-DD");
+      const start = this.$helpers
+        .dayjs(new Date())
+        .subtract(1, "day")
+        .set("date", 1)
+        .format("YYYY-MM-DD");
+      return [start, end];
+    },
+    reset() {
+      this.$set(this.search, "dates", this.getInitDate());
+      this.$set(this.search, "organId", null);
+      this.FetchDetail();
+    },
+    async FetchDetail() {
+      // 这里改变就通知子组件重置
+
+      const data = {};
+      try {
+        const { dates, ...rest } = this.search;
+        const res = await getIndex({
+          ...rest,
+          ...getTimes(dates, ["startDate", "endDate"]),
+        });
+        for (const item of res.data) {
+          data[item.dataType] = {
+            ...item,
+            desc: descs[item.dataType],
+          };
+        }
+      } catch (error) {
+        console.log(error);
+      }
+      this.dataInfo = data;
+      if (this.$refs.business) {
+        this.$refs["business"].init();
+      }
+      if (this.$refs.management) {
+        this.$refs["management"].init();
+      }
+    },
+    resetDate(data) {
+      let arr = null;
+
+      for (let item in data) {
+        // console.log(item)
+        if (item == "VIP_GROUP_COURSE") {
+          arr = data[item].indexMonthData;
+        }
+
+        this.dataInfo[item] = data[item];
+        // this.$set( this.dataInfo,item,data[item])
+      }
+      this.dataInfo = { ...this.dataInfo };
+    },
+  },
+};
+</script>
+<style lang="less" scoped>
+.container {
+  overflow: hidden;
+  .rows {
+    > div {
+      margin-bottom: 20px;
+    }
+  }
+  /deep/ .el-card__body .statistic {
+    margin-bottom: 15px;
+    padding: 0;
+  }
+}
+/deep/.el-card__header {
+  padding: 0 20px !important;
+}
+</style>
+<style lang="scss">
+.main {
+  .statistic {
+    .statistic-content > span {
+      font-size: 22px !important;
+      &:first-child {
+        font-size: 14px !important;
+      }
+    }
+  }
+}
+
+.box {
+  display: flex;
+  flex-direction: row;
+  align-items: center;
+  height: 55px;
+  line-height: 55px;
+  .shape {
+    margin-right: 10px;
+    height: 18px;
+    width: 4px;
+    background-color: var(--color-primary);
+  }
+}
+.wall {
+  display: flex;
+  flex-direction: row;
+  align-items: center;
+  justify-content: center;
+  color: #888;
+  font-size: 14px;
+}
+</style>

+ 5 - 3
src/views/main/baseinfo/management.vue

@@ -60,10 +60,10 @@ export default {
         "FINANCE_AMOUNT",
         "FINANCE_BALANCE_AMOUNT",
         "FINANCE_PAY",
-        "ORGAN_ORGAN_APPLY_AMOUNT",
+        "ORGAN_APPLY_AMOUNT",
         "ORGAN_RENEW_AMOUNT",
-        "ORGAN_ORGAN_VIP_AMOUNT",
-        "ORGAN_PRACTICE_AMOUN",
+        "ORGAN_VIP_AMOUNT",
+        "ORGAN_PRACTICE_AMOUNT",
         "ORGAN_OTHER_AMOUNT",
         "ORGAN_TOTAL_AMOUNT",
       ];
@@ -260,6 +260,7 @@ export default {
           dataTypes:
             "FINANCE_AMOUNT,FINANCE_BALANCE_AMOUNT,FINANCE_PAY,TOTAL_AMOUNT,ORGAN_FINANCE_AMOUNT",
         });
+
         for (const item of res.data) {
           // 再循环一遍
           for (const key in { ...this.items, ...this.items2 }) {
@@ -275,6 +276,7 @@ export default {
       } catch (error) {
         console.log(error);
       }
+      // console.log(data,'第二次请求',res.data)
       this.loading = false;
       this.$emit("resetDate", data);
     },

+ 7 - 5
src/views/main/baseinfo/modals/manageOrgan.vue

@@ -78,15 +78,19 @@ export default {
     items2() {
       let obj = {};
       let arr = [
+        "ORGAN_TOTAL_AMOUNT",
         "ORGAN_APPLY_AMOUNT",
         "ORGAN_RENEW_AMOUNT",
         "ORGAN_VIP_AMOUNT",
         "ORGAN_PRACTICE_AMOUNT",
         "ORGAN_OTHER_AMOUNT",
       ];
+
+
       arr.forEach((str) => {
         if (this.data[str]) {
-          obj[str] = this.data[str];
+
+          obj[str] = this.data[str]
         }
       });
       return obj;
@@ -191,10 +195,8 @@ export default {
     },
     chartData() {
       //
-      const values = Object.values({ ...this.items, ...this.items2 });
-
+      const values = Object.values({ ...this.items2 });
       const organ = {};
-      const organNameList = [];
       // 计算总的百分比
       for (const row of values[0].indexMonthData || []) {
         const key = row.organName;
@@ -217,7 +219,7 @@ export default {
 
       for (const item of values) {
         for (const row of item.indexMonthData || []) {
-          if (item.title == row.title) {
+          if ((item.title == row.title)) {
             organ[row.organName][row.title] = row.percent;
           }
         }