田源
2023-12-13 eb935ac81cfa4992629efb8494acbe02701e616a
Source/UBCS-WEB/src/views/statistic/statisticPage.vue
@@ -2,14 +2,14 @@
  <!--  新增右侧按钮-->
  <div>
    <div style=" display: flex; justify-content: flex-end;">
      <el-button plain type="primary" @click="addHandler">新增</el-button>
      <el-button plain type="primary" @click="addHandler">配置</el-button>
    </div>
    <!--  新增对话框-->
    <el-dialog
      :visible.sync="addVisible"
      append-to-body
      class="avue-dialog avue-dialog--top"
      title="新增数据统计分析"
      title="配置数据统计分析"
      top="-50px"
    >
      <el-table
@@ -37,7 +37,7 @@
              <el-option label="折线图" value="0"></el-option>
              <el-option label="饼状图" value="1"></el-option>
              <el-option label="柱状图" value="2"></el-option>
              <el-option label="柱状折线图" value="3"></el-option>
              <el-option label="堆叠折线图" value="3"></el-option>
            </el-select>
          </template>
        </el-table-column>
@@ -48,7 +48,7 @@
  </span>
    </el-dialog>
    <!--    echarts组件-->
    <div style="margin-top: 15px">
    <div style="margin-top: 15px;padding-bottom: 35px">
      <lineChart v-for="(item,index) in lineList" :key="index" :chartName="item.menuName"
                 :lineData="item.menuData"></lineChart>
      <pieChart v-for="(item,index) in pieList" :key="index" :chartName="item.menuName"
@@ -79,7 +79,7 @@
  name: "statisticPage",
  data() {
    return {
      menuList:[],
      menuList: [],
      dataKeyList: [],
      addVisible: false,
      chartName: "",
@@ -115,7 +115,25 @@
        this.$message.warning('请至少选择一条数据!');
        return;
      }
      let codeStatus = this.selectData.every(key => key.codeType)
      if (!codeStatus) {
        this.$message.warning("请检查已勾选数据类型是否为空!");
        return;
      }
      this.dataKeyList = this.selectData.map(obj => obj.code)
      const btmName = this.dataKeyList.join(",");
      if (btmName) {
        getStatisticAnalysis({btmNames: btmName}).then(res => {
          this.menuList = res.data.data;
          this.nextSave();
          this.$message.success('保存成功')
        });
      } else {
        this.$message.warning('请选择数据!')
      }
    },
    nextSave() {
      const typeList = {
        "0": "lineList",
        "1": "pieList",
@@ -124,25 +142,16 @@
      };
      let hasValidData = false; // 添加一个标志来记录是否有有效的选择数据
      let codeStatus = this.selectData.every(key => key.codeType)
      if (!codeStatus) {
        this.$message.warning("请检查已勾选数据类型是否为空!");
        return;
      }
      this.dataKeyList = this.selectData.map(obj => obj.code)
      const btmName = this.dataKeyList.join(",");
      if (btmName) {
        getStatisticAnalysis({btmNames:btmName}  ).then(res=>{
          this.menuList = res.data.data;
          this.$message.success('保存成功')
        })
      }
      this.selectData.forEach((item,index) => {
      this.selectData.forEach((item, index) => {
        item.menuData = this.menuList[index].menuData;
        const dataKey = typeList[item.codeType];
        if (dataKey) {
          this[dataKey].push(item);
          this[dataKey].forEach(res=>{
            console.log('this[dataKey]',this[dataKey])
            console.log('res',res)
          })
          hasValidData = true;
        }
      });