From f1c8fd135a28cc253d10e4134b780533bdaa68b4 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期二, 19 十二月 2023 15:35:49 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
Source/UBCS-WEB/src/views/statistic/statisticPage.vue | 262 +++++++++++++++++++++++----------------------------
1 files changed, 118 insertions(+), 144 deletions(-)
diff --git a/Source/UBCS-WEB/src/views/statistic/statisticPage.vue b/Source/UBCS-WEB/src/views/statistic/statisticPage.vue
index 35e2cb8..0369f5c 100644
--- a/Source/UBCS-WEB/src/views/statistic/statisticPage.vue
+++ b/Source/UBCS-WEB/src/views/statistic/statisticPage.vue
@@ -2,41 +2,18 @@
<!-- 鏂板鍙充晶鎸夐挳-->
<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="鏂板鏁版嵁缁熻鍒嗘瀽"
- top="-50px"
- >
- <el-table
- :data="tableData"
- border
- style="width: 100%"
- @selection-change="selectChange"
- >
- <el-table-column
- type="selection"
- width="55">
- </el-table-column>
- <el-table-column
- align="center"
- label="涓绘暟鎹簱鍚�"
- prop="menuName">
- </el-table-column>
- <el-table-column
- align="center"
- label="绫诲瀷"
- prop="codeType">
+ <!--鏂板瀵硅瘽妗�-->
+ <el-dialog :visible.sync="addVisible" append-to-body class="avue-dialog avue-dialog--top" title="閰嶇疆鏁版嵁缁熻鍒嗘瀽"
+ top="-50px">
+ <el-table ref="table" :data="tableData" border style="width: 100%" @selection-change="selectChange">
+ <el-table-column type="selection" width="55"></el-table-column>
+ <el-table-column align="center" label="涓绘暟鎹簱鍚�" prop="menuName" width="300"></el-table-column>
+ <el-table-column align="center" label="绫诲瀷" prop="codeType">
<template slot-scope="{ row }">
- <el-select v-model="row.codeType" placeholder="璇烽�夋嫨鍥捐〃绫诲瀷">
- <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-select v-model="row.codeType" :multiple="true" limit="4" placeholder="璇烽�夋嫨鍥捐〃绫诲瀷" style="width: 400px">
+ <el-option v-for="(item) in selectList" :label="item.label" :value="item.value"></el-option>
</el-select>
</template>
</el-table-column>
@@ -46,16 +23,28 @@
<el-button type="primary" @click="addSaveHandler">淇濆瓨</el-button>
</span>
</el-dialog>
- <!-- echarts缁勪欢-->
- <div>
- <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"
- :pieData="item.menuData"></pieChart>
- <ColumnarChart v-for="(item,index) in columnarList" :key="index" :chartName="item.menuName"
- :columnarData="item.menuData"></ColumnarChart>
- <mixCart v-for="(item,index) in mixList" :key="index" :chartName="item.menuName"
- :mixData="item.menuData"></mixCart>
+ <!--echarts缁勪欢-->
+ <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"
+ :pieData="item.menuData"></pieChart>
+ <ColumnarChart
+ v-for="(item,index) in columnarList"
+ :key="index"
+ :chartName="item.menuName"
+ :columnarData="item.menuData"></ColumnarChart>
+ <mixCart
+ v-for="(item,index) in mixList"
+ :key="index"
+ :chartName="item.menuName"
+ :mixData="item.menuData"></mixCart>
</div>
</div>
</template>
@@ -65,6 +54,8 @@
import pieChart from "../../components/StatisticsComponent/pieChart"
import ColumnarChart from "../../components/StatisticsComponent/ColumnarChart"
import mixCart from "../../components/StatisticsComponent/mixCart"
+import {getStatisticAnalysis, getBtmAndChart, saveStatisticAnalysis, deleteChartId} from "@/api/statistic/chart"
+import {getList} from "@/api/system/statistic";
export default {
components: {
@@ -76,6 +67,27 @@
name: "statisticPage",
data() {
return {
+ selectValue: '',
+ selectList: [
+ {
+ label: '鎶樼嚎鍥�',
+ value: '0'
+ },
+ {
+ label: '楗肩姸鍥�',
+ value: '1'
+ },
+ {
+ label: '鏌辩姸鍥�',
+ value: '2'
+ },
+ {
+ label: '鍫嗗彔鎶樼嚎鍥�',
+ value: '3'
+ }
+ ],
+ menuList: [],
+ dataKeyList: [],
addVisible: false,
chartName: "",
lineList: [],
@@ -83,99 +95,41 @@
columnarList: [],
mixList: [],
selectData: [],
- tableData: [
- {
- menuName: "宸ヨ壓鏂囦欢",
- codeType: "1",
- menuData: [
- [222, 232, 301, 334, 290, 330, 410, 330, 212, 322, 200, 234],
- [120, 132, 101, 134, 90, 230, 210, 130, 10, 122, 100, 80],
- ]
- },
- {
- menuName: "娴嬭瘯sc",
- codeType: null,
- menuData: [
- [220, 232, 301, 334, 290, 330, 410, 330, 212, 322, 200, 234],
- [120, 132, 101, 134, 90, 230, 210, 130, 10, 122, 100, 80],
- ]
- },
- {
- menuName: "浜у搧鍨嬪彿",
- codeType: null,
- menuData: [
- [220, 232, 301, 334, 290, 330, 410, 330, 212, 322, 200, 234],
- [120, 132, 101, 134, 90, 230, 210, 130, 10, 122, 100, 80],
- ]
- },
- {
- menuName: "鍥哄畾璧勪骇",
- codeType: null,
- menuData: [
- [220, 232, 301, 334, 290, 330, 410, 330, 212, 322, 200, 234],
- [120, 132, 101, 134, 90, 230, 210, 130, 10, 122, 100, 80],
- ]
- },
- {
- menuName: "鏉庤埅涓绘暟鎹�",
- codeType: null,
- menuData: [
- [220, 232, 301, 334, 290, 330, 410, 330, 212, 322, 200, 234],
- [120, 132, 101, 134, 90, 230, 210, 130, 10, 122, 100, 80],
- ]
- },
- {
- menuName: "Part",
- codeType: null,
- menuData: [
- [220, 232, 301, 334, 290, 330, 410, 330, 212, 322, 200, 234],
- [120, 132, 101, 134, 90, 230, 210, 130, 10, 122, 100, 80],
- ]
- },
- {
- menuName: "浜哄憳涓绘暟鎹�",
- codeType: null,
- menuData: [
- [220, 232, 301, 334, 290, 330, 410, 330, 212, 322, 200, 234],
- [120, 132, 101, 134, 90, 230, 210, 130, 10, 122, 100, 80],
- ]
- },
- {
- menuName: "浜哄憳",
- codeType: null,
- menuData: [
- [220, 232, 301, 334, 290, 330, 410, 330, 212, 322, 200, 234],
- [120, 132, 101, 134, 90, 230, 210, 130, 10, 122, 100, 80],
- ]
- },
- {
- menuName: "鏍囧噯",
- codeType: null,
- menuData: [
- [220, 232, 301, 334, 290, 330, 410, 330, 212, 322, 200, 234],
- [120, 132, 101, 134, 90, 230, 210, 130, 10, 122, 100, 80],
- ]
- },
- {
- menuName: "鐗╁搧涓绘暟鎹�",
- codeType: null,
- menuData: [
- [220, 232, 301, 334, 290, 330, 410, 330, 212, 322, 200, 234],
- [120, 132, 101, 134, 90, 230, 210, 130, 10, 122, 100, 80],
- ]
- },
- {
- menuName: "鍨嬪彿",
- codeType: null,
- menuData: [
- [220, 232, 301, 334, 290, 330, 410, 330, 212, 322, 200, 234],
- [120, 132, 101, 134, 90, 230, 210, 130, 10, 122, 100, 80],
- ]
- }
- ]
+ tableData: []
}
},
+ created() {
+ this.getMasterList();
+ this.getEcharts();
+ // deleteChartId({btmname:'zxssaac',chartId:'3'}).then(res=>{
+ // console.log('res',res)
+ // })
+ },
methods: {
+ getMasterList() {
+ const userId = localStorage.getItem('userId');
+ getList({userId: userId}).then(res => {
+ this.tableData = res.data.data;
+ }).catch(error => {
+ this.$message.error(error)
+ })
+ },
+ getEcharts() {
+ getBtmAndChart().then(firstResponse => {
+ console.log('btm', firstResponse)
+ const btmNames = Object.keys(firstResponse.data.data).join(',');
+ const firstData = firstResponse.data.data;
+ Object.keys(firstData).forEach((item,index) => {
+ let firstIndex = firstData[item].split(',');
+ console.log('firstIndex',firstIndex);
+ });
+ if (btmNames) {
+ getStatisticAnalysis({btmNames}).then(secondResponse => {
+ console.log('getStatisticAnalysis', secondResponse)
+ })
+ }
+ })
+ },
//鏂板
addHandler() {
this.addVisible = true;
@@ -185,12 +139,32 @@
this.addVisible = false;
},
//淇濆瓨
- addSaveHandler() {
+ async addSaveHandler() {
if (this.selectData.length <= 0) {
this.$message.warning('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹紒');
return;
}
+ let codeStatus = this.selectData.every(key => key.codeType)
+ if (!codeStatus) {
+ this.$message.warning("璇锋鏌ュ凡鍕鹃�夋暟鎹被鍨嬫槸鍚︿负绌猴紒");
+ return;
+ }
+ const newArray = this.selectData.map(item => {
+ return {
+ btmname: item.code,
+ chartIds: item.codeType.join(',')
+ }
+ })
+ saveStatisticAnalysis(newArray).then(res => {
+ this.menuList = res.data.data;
+ this.nextSave();
+ this.$message.success('淇濆瓨鎴愬姛')
+ }).catch(error => {
+ this.$message.error(error)
+ });
+ },
+ nextSave() {
const typeList = {
"0": "lineList",
"1": "pieList",
@@ -199,32 +173,32 @@
};
let hasValidData = false; // 娣诲姞涓�涓爣蹇楁潵璁板綍鏄惁鏈夋湁鏁堢殑閫夋嫨鏁版嵁
- let codeStatus = this.selectData.every(key => key.codeType)
- if (!codeStatus) {
- this.$message.warning("璇锋鏌ュ凡鍕鹃�夋暟鎹被鍨嬫槸鍚︿负绌猴紒");
- return;
- }
- this.selectData.forEach(item => {
+
+ this.selectData.forEach((item, index) => {
+ item.menuData = this.menuList[index].menuData;
const dataKey = typeList[item.codeType];
if (dataKey) {
this[dataKey].push(item);
- hasValidData = true; // 鏍囪鏈夋湁鏁堟暟鎹娣诲姞
+ this[dataKey].forEach(res => {
+ })
+ hasValidData = true;
}
});
if (hasValidData) {
+ // this.$refs.table.clearSelection();
this.addVisible = false;
}
},
//琛ㄦ牸澶氶��
- selectChange(selection, row) {
- // console.log(selection, row)
+ selectChange(selection) {
this.selectData = selection;
},
}
}
+
</script>
-<style scoped>
+<style lang="scss" scoped>
</style>
--
Gitblit v1.10.0