|
@@ -1,301 +1,235 @@
|
|
|
<template>
|
|
|
- <div class="decision-page-4">
|
|
|
- <!-- 查询样式统一处理 样式在 assets/styles/form.less 文件中 -->
|
|
|
- <div class="query mg-b-8">
|
|
|
- <div class="query-items">
|
|
|
- <div class="query-item">
|
|
|
- <div class="lable">场站:</div>
|
|
|
- <div class="search-input">
|
|
|
- <el-select v-model="value1" clearable placeholder="请选择" popper-class="select">
|
|
|
- <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> </el-option>
|
|
|
- </el-select>
|
|
|
- <!-- <div class="unit svg-icon svg-icon-gray">
|
|
|
- <svg-icon :svgid="'svg-arrow-down'" />
|
|
|
- </div> -->
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="query-item">
|
|
|
- <div class="lable">项目:</div>
|
|
|
- <div class="search-input">
|
|
|
- <el-select v-model="value2" multiple placeholder="请选择" popper-class="select">
|
|
|
- <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> </el-option>
|
|
|
- </el-select>
|
|
|
- <!-- <div class="unit svg-icon svg-icon-gray">
|
|
|
- <svg-icon :svgid="'svg-arrow-down'" />
|
|
|
- </div> -->
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="query-item">
|
|
|
- <div class="lable">线路:</div>
|
|
|
- <div class="search-input">
|
|
|
- <el-select v-model="value3" multiple placeholder="请选择" popper-class="select">
|
|
|
- <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> </el-option>
|
|
|
- </el-select>
|
|
|
- <!-- <div class="unit svg-icon svg-icon-gray">
|
|
|
- <svg-icon :svgid="'svg-arrow-down'" />
|
|
|
- </div> -->
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="query-item">
|
|
|
- <div class="lable">开始日期:</div>
|
|
|
- <div class="search-input">
|
|
|
- <el-date-picker v-model="value4" type="date" placeholder="选择日期" popper-class="date-select"> </el-date-picker>
|
|
|
- <!-- <div class="unit svg-icon svg-icon-gray">
|
|
|
- <svg-icon :svgid="'svg-arrow-down'" />
|
|
|
- </div> -->
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="query-item">
|
|
|
- <div class="lable">结束日期:</div>
|
|
|
- <div class="search-input">
|
|
|
- <el-date-picker v-model="value5" type="date" placeholder="选择日期" popper-class="date-select"> </el-date-picker>
|
|
|
- <div class="unit svg-icon svg-icon-gray">
|
|
|
- <svg-icon :svgid="''" />
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="query-actions">
|
|
|
- <button class="btn green">搜索</button>
|
|
|
- <button class="btn">明细信息</button>
|
|
|
- <button class="btn">导出</button>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="actions mg-b-8">
|
|
|
- <button class="btn green">风场</button>
|
|
|
- <button class="btn">项目</button>
|
|
|
- <button class="btn">集电线路</button>
|
|
|
- </div>
|
|
|
- <div class="mg-b-16">
|
|
|
- <div class="project-table">
|
|
|
- <Table :data="tableData"></Table>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div>
|
|
|
- <panel title=""> </panel>
|
|
|
-
|
|
|
- <toolbar-panel :title="'日度损失电量分析'">
|
|
|
- <template v-slot:tools>
|
|
|
- <div class="tools">
|
|
|
- <div class="tool-block">
|
|
|
- <div class="legend bg-green"></div>
|
|
|
- <div class="legend-text">理论功率</div>
|
|
|
- </div>
|
|
|
- <div class="tool-block">
|
|
|
- <div class="legend bg-orange"></div>
|
|
|
- <div class="legend-text">预测功率4小时</div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- <multiple-bar-chart height="240px" />
|
|
|
- </toolbar-panel>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ <div class="decision-page-4">
|
|
|
+ <div class="query mg-b-8">
|
|
|
+ <div class="query-items">
|
|
|
+
|
|
|
+ <div class="query-item">
|
|
|
+ <div class="lable">开始日期:</div>
|
|
|
+ <div class="search-input">
|
|
|
+ <el-date-picker v-model="value4" @change="BeginChange(value4)" type="date"
|
|
|
+ value-format="YYYY-MM-DD" placeholder="选择日期" popper-class="date-select">
|
|
|
+ </el-date-picker>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="query-item">
|
|
|
+ <div class="lable">结束日期:</div>
|
|
|
+ <div class="search-input">
|
|
|
+ <el-date-picker v-model="value5" @change="EndChange(value5)" type="date"
|
|
|
+ value-format="YYYY-MM-DD" placeholder="选择日期" popper-class="date-select">
|
|
|
+ </el-date-picker>
|
|
|
+ <div class="unit svg-icon svg-icon-gray">
|
|
|
+ <svg-icon :svgid="''" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="mg-b-16">
|
|
|
+ <div class="project-table">
|
|
|
+ <Table :data="tableData"></Table>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import MultipleBarChart from "../../components/chart/bar/multiple-bar-chart.vue";
|
|
|
-import SvgIcon from "../../components/coms/icon/svg-icon.vue";
|
|
|
-import Panel from "../../components/coms/panel/panel.vue";
|
|
|
-import ToolbarPanel from "../../components/coms/panel/toolbar-panel.vue";
|
|
|
-import Table from "../../components/coms/table/table.vue";
|
|
|
-export default {
|
|
|
- components: { Panel, Table, SvgIcon, MultipleBarChart, ToolbarPanel },
|
|
|
- data() {
|
|
|
- return {
|
|
|
- tableData: {
|
|
|
- column: [
|
|
|
- {
|
|
|
- name: "",
|
|
|
- field: "index",
|
|
|
- is_num: false,
|
|
|
- is_light: false,
|
|
|
- },
|
|
|
- {
|
|
|
- name: "",
|
|
|
- field: "check",
|
|
|
- is_num: false,
|
|
|
- is_light: false,
|
|
|
- template: function() {
|
|
|
- return "<input class='check' type='CheckBox' >";
|
|
|
- },
|
|
|
- },
|
|
|
- {
|
|
|
- name: "名称",
|
|
|
- field: "name",
|
|
|
- is_num: false,
|
|
|
- is_light: false,
|
|
|
- },
|
|
|
- {
|
|
|
- name: "理论发电量",
|
|
|
- field: "lqf",
|
|
|
- is_num: false,
|
|
|
- is_light: false,
|
|
|
- },
|
|
|
- {
|
|
|
- name: "SCADA发电量",
|
|
|
- field: "yggl",
|
|
|
- is_num: false,
|
|
|
- is_light: false,
|
|
|
- },
|
|
|
- {
|
|
|
- name: "风速",
|
|
|
- field: "yyy",
|
|
|
- is_num: false,
|
|
|
- is_light: false,
|
|
|
- },
|
|
|
- {
|
|
|
- name: "非计划检修",
|
|
|
- field: "pcspp",
|
|
|
- is_num: false,
|
|
|
- is_light: false,
|
|
|
- },
|
|
|
- {
|
|
|
- name: "计划检修",
|
|
|
- field: "u1",
|
|
|
- is_num: false,
|
|
|
- is_light: false,
|
|
|
- },
|
|
|
- {
|
|
|
- name: "受累",
|
|
|
- field: "u2",
|
|
|
- is_num: false,
|
|
|
- is_light: true,
|
|
|
- },
|
|
|
- {
|
|
|
- name: "限电",
|
|
|
- field: "v1",
|
|
|
- is_num: false,
|
|
|
- is_light: false,
|
|
|
- },
|
|
|
- {
|
|
|
- name: "性能",
|
|
|
- field: "v2",
|
|
|
- is_num: false,
|
|
|
- is_light: false,
|
|
|
- },
|
|
|
- {
|
|
|
- name: "风能率用率%",
|
|
|
- field: "w1",
|
|
|
- is_num: false,
|
|
|
- is_light: false,
|
|
|
- },
|
|
|
- ],
|
|
|
- data: [
|
|
|
- {
|
|
|
- index: 1,
|
|
|
- name: "MG01-01",
|
|
|
- lqf: "0.1000",
|
|
|
- yggl: "0.1000",
|
|
|
- yyy: "0.10",
|
|
|
- pcspp: "0.1000",
|
|
|
- u1: "0.1000",
|
|
|
- u2: "0.1000",
|
|
|
- v1: "0.1000",
|
|
|
- v2: "0.1000",
|
|
|
- w1: "0.1000",
|
|
|
- w2: "0.1000",
|
|
|
- zca: "0.1000",
|
|
|
- zcb: "0.1000",
|
|
|
- clx: "0.1000",
|
|
|
- clx1: "0.1000",
|
|
|
- clx2: "0.1000",
|
|
|
- jc: "0.1000",
|
|
|
- hh: "0.1000",
|
|
|
- hj: "0.1000",
|
|
|
- is_light: false,
|
|
|
- },
|
|
|
- ],
|
|
|
- },
|
|
|
- options: [
|
|
|
- {
|
|
|
- value: "选项1",
|
|
|
- label: "黄金糕",
|
|
|
- },
|
|
|
- {
|
|
|
- value: "选项2",
|
|
|
- label: "双皮奶",
|
|
|
- },
|
|
|
- {
|
|
|
- value: "选项3",
|
|
|
- label: "蚵仔煎",
|
|
|
- },
|
|
|
- {
|
|
|
- value: "选项4",
|
|
|
- label: "龙须面",
|
|
|
- },
|
|
|
- {
|
|
|
- value: "选项5",
|
|
|
- label: "北京烤鸭",
|
|
|
- },
|
|
|
- ],
|
|
|
- value1: [],
|
|
|
- value2: [],
|
|
|
- value3: [],
|
|
|
- value4: "",
|
|
|
- value5: "",
|
|
|
- };
|
|
|
- },
|
|
|
- created() {
|
|
|
- for (let i = 1; i < 50; i++) {
|
|
|
- this.tableData.data.push(JSON.parse(JSON.stringify(this.tableData.data[0])));
|
|
|
- this.tableData.data[i].index = i + 1;
|
|
|
- }
|
|
|
- },
|
|
|
-};
|
|
|
+ import MultipleBarChart from "../../components/chart/bar/multiple-bar-chart.vue";
|
|
|
+ import SvgIcon from "../../components/coms/icon/svg-icon.vue";
|
|
|
+ import Panel from "../../components/coms/panel/panel.vue";
|
|
|
+ import ToolbarPanel from "../../components/coms/panel/toolbar-panel.vue";
|
|
|
+ import Table from "../../components/coms/table/table.vue";
|
|
|
+ export default {
|
|
|
+ components: {
|
|
|
+ Panel,
|
|
|
+ Table,
|
|
|
+ SvgIcon,
|
|
|
+ MultipleBarChart,
|
|
|
+ ToolbarPanel
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ tableData: {
|
|
|
+ column: [{
|
|
|
+ name: "",
|
|
|
+ field: "index",
|
|
|
+ is_num: false,
|
|
|
+ is_light: false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "值际",
|
|
|
+ field: "dutyname",
|
|
|
+ is_num: false,
|
|
|
+ is_light: false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "理论发电量",
|
|
|
+ field: "theoreticalgeneratity",
|
|
|
+ is_num: false,
|
|
|
+ is_light: false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "实际发电量",
|
|
|
+ field: "generatity",
|
|
|
+ is_num: false,
|
|
|
+ is_light: false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "故障损失",
|
|
|
+ field: "faultloss",
|
|
|
+ is_num: false,
|
|
|
+ is_light: false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "维护损失",
|
|
|
+ field: "mainloss",
|
|
|
+ is_num: false,
|
|
|
+ is_light: false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "性能损失",
|
|
|
+ field: "performanceloss",
|
|
|
+ is_num: false,
|
|
|
+ is_light: false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "限电损失",
|
|
|
+ field: "rationingloss",
|
|
|
+ is_num: false,
|
|
|
+ is_light: true,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "受累损失",
|
|
|
+ field: "involvesloss",
|
|
|
+ is_num: false,
|
|
|
+ is_light: false,
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ data: []
|
|
|
+ },
|
|
|
+ value4: "",
|
|
|
+ value5: "",
|
|
|
+ };
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ this.value4 = this.getTime(1);
|
|
|
+ this.value5 = this.getTime(2);
|
|
|
+ this.AjaxCommon();
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ BeginChange(val) {
|
|
|
+ this.value4 = val;
|
|
|
+ this.AjaxCommon();
|
|
|
+ },
|
|
|
+ EndChange(val) {
|
|
|
+ this.value5 = val;
|
|
|
+ this.AjaxCommon();
|
|
|
+ },
|
|
|
+ getTime(val) { //时间戳处理,val=1是默认开始时间(当前月第一天),val=2是默认结束时间(今天)
|
|
|
+ var date = new Date();
|
|
|
+ var year = date.getFullYear(),
|
|
|
+ month = date.getMonth() + 1,
|
|
|
+ day = date.getDate();
|
|
|
+ month >= 1 && month <= 9 ? (month = '0' + month) : '';
|
|
|
+ day >= 0 && day <= 9 ? (day = '0' + day) : '';
|
|
|
+ var begin = year + '-' + month + '-01';
|
|
|
+ var end = year + '-' + month + '-' + day;
|
|
|
+ if (val == 1) {
|
|
|
+ return begin;
|
|
|
+ } else if (val == 2) {
|
|
|
+ return end;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ AjaxCommon() {
|
|
|
+ var that = this;
|
|
|
+ that.API.requestData({
|
|
|
+ method: "GET",
|
|
|
+ baseURL : "http://10.155.32.4:9001/",
|
|
|
+ subUrl: "benchmarking/zjwxssl",
|
|
|
+ data: {
|
|
|
+ beginDate: that.value4,
|
|
|
+ endDate: that.value5,
|
|
|
+ },
|
|
|
+ success(res) {
|
|
|
+ var data = [];
|
|
|
+
|
|
|
+ res.data.forEach((item, index) => {
|
|
|
+ data.push({
|
|
|
+ index: index + 1,
|
|
|
+ dutyname: item.dutyname,
|
|
|
+ theoreticalgeneratity: item.theoreticalgeneratity,
|
|
|
+ generatity: item.generatity,
|
|
|
+ faultloss: item.faultloss,
|
|
|
+ mainloss: item.mainloss,
|
|
|
+ performanceloss: item.performanceloss,
|
|
|
+ rationingloss: item.rationingloss,
|
|
|
+ involvesloss: item.involvesloss,
|
|
|
+ is_light: false
|
|
|
+ })
|
|
|
+ })
|
|
|
+ that.tableData.data = data;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ }
|
|
|
+ };
|
|
|
</script>
|
|
|
|
|
|
<style lang="less">
|
|
|
-.decision-page-4 {
|
|
|
- .com-panel {
|
|
|
- .panel-title {
|
|
|
- color: @gray-l;
|
|
|
- }
|
|
|
- .tools {
|
|
|
- display: flex;
|
|
|
+ .decision-page-4 {
|
|
|
+ .com-panel {
|
|
|
+ .panel-title {
|
|
|
+ color: @gray-l;
|
|
|
+ }
|
|
|
+
|
|
|
+ .tools {
|
|
|
+ display: flex;
|
|
|
+
|
|
|
+ .tool-block {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ margin-left: 0.741vh;
|
|
|
|
|
|
- .tool-block {
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- margin-left: 0.741vh;
|
|
|
+ .legend {
|
|
|
+ flex: auto;
|
|
|
+ width: 0.741vh;
|
|
|
+ height: 0.741vh;
|
|
|
+ margin-right: 0.741vh;
|
|
|
|
|
|
- .legend {
|
|
|
- flex: auto;
|
|
|
- width: 0.741vh;
|
|
|
- height: 0.741vh;
|
|
|
- margin-right: 0.741vh;
|
|
|
+ &.long {
|
|
|
+ width: 2.963vh;
|
|
|
+ height: 0.37vh;
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- &.long {
|
|
|
- width: 2.963vh;
|
|
|
- height: 0.37vh;
|
|
|
- }
|
|
|
- }
|
|
|
+ .legend-text {
|
|
|
+ color: @gray-l;
|
|
|
+ font-size: @fontsize-s;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- .legend-text {
|
|
|
- color: @gray-l;
|
|
|
- font-size: @fontsize-s;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ .project-table {
|
|
|
+ overflow: auto;
|
|
|
+ height:90vh;
|
|
|
+ tbody {
|
|
|
+ // height: 100vh;
|
|
|
+ }
|
|
|
|
|
|
- .project-table {
|
|
|
- overflow: auto;
|
|
|
+ th,
|
|
|
+ td {
|
|
|
+ color: #b2bdc0;
|
|
|
|
|
|
- tbody {
|
|
|
- height: 400px;
|
|
|
- }
|
|
|
+ &:nth-child(1) {
|
|
|
+ width: 50px;
|
|
|
+ }
|
|
|
|
|
|
- th,
|
|
|
- td {
|
|
|
- color: #b2bdc0;
|
|
|
- &:nth-child(1) {
|
|
|
- width: 50px;
|
|
|
- }
|
|
|
- &:nth-child(2) {
|
|
|
- width: 50px;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-}
|
|
|
+ &:nth-child(2) {
|
|
|
+ width: 50px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
</style>
|