<!-- * @Description: * @Autor: renchao * @LastEditTime: 2023-08-25 08:59:04 --> <template> <div class="djlx"> <div class="inquire"> <el-form :model="queryForm" ref="queryForm" label-width="100px"> <el-row> <el-col :span="6"> <el-form-item label="统计年份" class="width100"> <el-date-picker class="width100" v-model="queryForm.sj" type="year" @change="chooseDateRange" placeholder="选择年" > </el-date-picker> </el-form-item> </el-col> <el-col :span="6"> <el-form-item label="区域" class="width100"> <el-select v-model="queryForm.qy" class="width100" clearable placeholder="请选择权利类型" > <el-option v-for="item in dictData['A20']" :key="item.dcode" :label="item.dname" :value="item.dcode" > </el-option> </el-select> </el-form-item> </el-col> <el-col :span="11" class="btnColRight"> <el-form-item> <el-button type="primary" native-type="submit" @click="handleSearch" >查询</el-button > </el-form-item> </el-col> </el-row> </el-form> </div> <div class="concent"> <div ref="chart" style="width: 100%; height: 200px"></div> </div> </div> </template> <script> import * as echarts from "echarts"; import { mapGetters } from "vuex"; import { getAcceptMonthStatistic } from "@/api/tjfx.js"; export default { components: {}, computed: { ...mapGetters(["dictData", "transfer"]), }, data() { return { queryForm: { sj:"", year: "", qy: '' }, datetime: [], datas: [] }; }, created() { var tempDate = new Date(); this.queryForm.sj = tempDate var year = tempDate.getFullYear(); console.log("year", year); // 默认当月 this.$set(this.queryForm, "year", year.toString()); console.log("this.queryForm",this.queryForm); }, mounted() { this.handleSearch() }, methods: { chooseDateRange() { var year = this.queryForm.sj.getFullYear(); this.$set(this.queryForm, "year", year.toString()); this.handleSearch() }, getOption() { return { xAxis: { type: "category", data: this.datatime, }, yAxis: { type: "value", }, title: { text: "收件情况统计(年) ", // 主标题名称 textStyle: { //主标题文本设置 fontSize: 18, //大小 }, itemGap: 3, //主副标题间距 x: "center", //主副标题的水平位置 y: "top", //主副标题的垂直位置 }, legend: { data: ["转诊量"], top: "6%", right: "4%", textStyle: { color: "#747474", }, }, tooltip: { // trigger: "item", //默认效果 //柱状图加阴影 trigger: "axis", axisPointer: { type: "shadow", label: { show: true, }, }, }, grid: { top: "20%", left: "2%", right: "3%", bottom: "20%", containLabel: true, }, series: [ { data: this.datas, barWidth: 40, type: "bar", }, ], }; }, handleSearch() { console.log(this.queryForm) let startAt = this.queryForm.year + '-01-01' let endAt = this.queryForm.year + '-12-31' getAcceptMonthStatistic({startDate: startAt, endDate: endAt, qxdm: this.queryForm.qy}).then(res => { if (res.code === 200) { let dataSource = res.result this.datas = dataSource.map(item => item.SJCOUNT) this.datatime = dataSource.map(item => item.SJMONTH) // 创建一个 ECharts 实例 this.chart = echarts.init(this.$refs.chart); // 在 ECharts 实例中配置图表 this.chart.setOption(this.getOption()); } }) }, }, }; </script> <style scoped lang="scss"> /deep/.el-card__header { padding: 8px 10px; } /deep/.el-card__body { padding: 3px 10px 5px 10px; overflow: hidden; } .yhjgba { .el-col { padding: 4px; margin-right: 4px; } .inquire { width: 100%; height: 40px; background-color: #f4f7fd; /deep/ .el-form { .el-form-item--small.el-form-item { margin-bottom: 5px; } } } .concent { width: 100%; height: 300px; display: flex; } } </style>