| | |
| | | </div> |
| | | <!-- 新增对话框--> |
| | | <el-dialog |
| | | title="新增数据统计分析" |
| | | :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"> |
| | | <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> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="escHandler">取 消</el-button> |
| | | <el-button type="primary" @click="addSaveHandler">保存</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <!-- echarts组件--> |
| | | <div style="margin-top: 15px"> |
| | | <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> |
| | | |
| | | <script> |
| | | import lineChart from "../../components/StatisticsComponent/lineChart" |
| | | |
| | | import pieChart from "../../components/StatisticsComponent/pieChart" |
| | | import ColumnarChart from "../../components/StatisticsComponent/ColumnarChart" |
| | | import mixCart from "../../components/StatisticsComponent/mixCart" |
| | | import {getStatisticAnalysis} from "@/api/statistic/chart" |
| | | export default { |
| | | components: { |
| | | lineChart |
| | | lineChart, |
| | | pieChart, |
| | | ColumnarChart, |
| | | mixCart |
| | | }, |
| | | name: "statisticPage", |
| | | data() { |
| | | return { |
| | | addVisible: false, |
| | | chartName: "", |
| | | lineList: [], |
| | | pieList: [], |
| | | 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], |
| | | ] |
| | | } |
| | | ] |
| | | } |
| | | }, |
| | | methods: { |
| | | //新增 |
| | | addHandler() { |
| | | this.addVisible = true; |
| | | } |
| | | getStatisticAnalysis({btmNames:'part'} ).then(res=>{ |
| | | console.log(res) |
| | | }) |
| | | }, |
| | | //取消 |
| | | escHandler() { |
| | | this.addVisible = false; |
| | | }, |
| | | //保存 |
| | | addSaveHandler() { |
| | | if (this.selectData.length <= 0) { |
| | | this.$message.warning('请至少选择一条数据!'); |
| | | return; |
| | | } |
| | | |
| | | const typeList = { |
| | | "0": "lineList", |
| | | "1": "pieList", |
| | | "2": "columnarList", |
| | | "3": "mixList" |
| | | }; |
| | | |
| | | let hasValidData = false; // 添加一个标志来记录是否有有效的选择数据 |
| | | let codeStatus = this.selectData.every(key => key.codeType) |
| | | if (!codeStatus) { |
| | | this.$message.warning("请检查已勾选数据类型是否为空!"); |
| | | return; |
| | | } |
| | | this.selectData.forEach(item => { |
| | | const dataKey = typeList[item.codeType]; |
| | | if (dataKey) { |
| | | this[dataKey].push(item); |
| | | hasValidData = true; // 标记有有效数据被添加 |
| | | } |
| | | }); |
| | | |
| | | if (hasValidData) { |
| | | this.addVisible = false; |
| | | } |
| | | }, |
| | | //表格多选 |
| | | selectChange(selection, row) { |
| | | // console.log(selection, row) |
| | | this.selectData = selection; |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | <style scoped lang="scss"> |
| | | |
| | | </style> |