first commit
This commit is contained in:
@@ -0,0 +1,133 @@
|
||||
<!--#
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
<style>
|
||||
.chart-card .el-card__header {
|
||||
border: none;
|
||||
/*padding: 20px;*/
|
||||
}
|
||||
|
||||
</style>
|
||||
<div id="app" v-cloak>
|
||||
<guava>
|
||||
<el-row class="chart-card" v-loading="chartOneLoading">
|
||||
<el-card class="box-card" shadow="never">
|
||||
<div slot="header" class="clearfix">
|
||||
<div style="float:left">
|
||||
<span style="font-weight: bold">提案综合统计</span><br>
|
||||
<span style="font-size: 12px">单位(个)</span>
|
||||
</div>
|
||||
<div style="float: right;z-index: 999">
|
||||
<span style="margin-right: 50px" v-if="searchForm.switchType === 'delegation'">
|
||||
<el-select v-model="searchForm.meetingId" placeholder="请选择教代会" filterable style="width: 400px"
|
||||
@change="getData">
|
||||
<el-option
|
||||
v-for="item in meetingOptions"
|
||||
:label="item.jdhallname"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</span>
|
||||
<span style="margin-right: 50px">
|
||||
<el-radio-group v-model="searchForm.switchType" @change="getData">
|
||||
<el-radio-button label="type">提案类型</el-radio-button>
|
||||
<el-radio-button label="union">工会</el-radio-button>
|
||||
<el-radio-button label="unit">单位</el-radio-button>
|
||||
<el-radio-button label="delegation">代表团</el-radio-button>
|
||||
</el-radio-group>
|
||||
</span>
|
||||
<span>
|
||||
<el-date-picker
|
||||
class="year"
|
||||
style="width: 120px;"
|
||||
v-model="searchForm.startYear"
|
||||
type="year" :clearable="false"
|
||||
value-format="yyyy"
|
||||
@change="getData()"
|
||||
placeholder="选择年">
|
||||
</el-date-picker>
|
||||
至
|
||||
<el-date-picker
|
||||
class="year"
|
||||
style="width: 120px;"
|
||||
v-model="searchForm.endYear"
|
||||
type="year" :clearable="false"
|
||||
value-format="yyyy"
|
||||
@change="getData()"
|
||||
placeholder="选择年">
|
||||
</el-date-picker>
|
||||
</span>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="chart" style="width: 100%;height: 600px"></div>
|
||||
</el-card>
|
||||
</el-row>
|
||||
</guava>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
let chart
|
||||
var vue = new Vue({
|
||||
el: '#app',
|
||||
data: () => {
|
||||
return {
|
||||
meetingOptions: [],
|
||||
chartOneLoading: false,
|
||||
searchForm: {
|
||||
switchType: 'type',
|
||||
startYear: new Date().getFullYear() - 3 + '',
|
||||
endYear: new Date().getFullYear() + '',
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async getData() {
|
||||
this.chartOneLoading = true
|
||||
const resp = await $.post(loc() + "/getData", this.searchForm)
|
||||
this.chartOneLoading = false
|
||||
if(resp.code===0){
|
||||
if (!chart) {
|
||||
chart = new G2Plot.Area('chart', {
|
||||
data,
|
||||
xField: "name",
|
||||
yField: "num",
|
||||
seriesField: "type",
|
||||
forceFit: true,
|
||||
legend: {
|
||||
"position": "top-right",
|
||||
"flipPage": false
|
||||
},
|
||||
xAxis: {
|
||||
label: {
|
||||
autoRotate: true,
|
||||
autoHide: false,
|
||||
autoEllipsis: false,
|
||||
},
|
||||
}
|
||||
});
|
||||
chart.render();
|
||||
} else {
|
||||
chart.changeData(data)
|
||||
}
|
||||
}else{
|
||||
this.notifyWarning(resp.msg)
|
||||
}
|
||||
},
|
||||
async getMeetingByYear() {
|
||||
const {startYear, endYear} = this.searchForm
|
||||
const {data} = await $.post(loc() + "/getMeetingByYear", {startYear, endYear})
|
||||
return data
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
this.meetingOptions = await this.getMeetingByYear()
|
||||
this.$set(this.searchForm, "meetingId", this.meetingOptions.length ? this.meetingOptions[0].id : '')
|
||||
this.getData()
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
Reference in New Issue
Block a user