From d9aab92fa25860c6682debe50e10770dc7db42a0 Mon Sep 17 00:00:00 2001
From: cuikaidong <ckd2942379034@163.com>
Date: 星期四, 14 八月 2025 12:44:33 +0800
Subject: [PATCH] 组合刀模块增加
---
src/views/mdc/base/modules/comparativeAnalysis/ComparativeAnalysisMain.vue | 452 +++++++++++++++-----------------------------------------
1 files changed, 122 insertions(+), 330 deletions(-)
diff --git a/src/views/mdc/base/modules/comparativeAnalysis/ComparativeAnalysisMain.vue b/src/views/mdc/base/modules/comparativeAnalysis/ComparativeAnalysisMain.vue
index 32121ec..ceae2a0 100644
--- a/src/views/mdc/base/modules/comparativeAnalysis/ComparativeAnalysisMain.vue
+++ b/src/views/mdc/base/modules/comparativeAnalysis/ComparativeAnalysisMain.vue
@@ -1,110 +1,81 @@
<template>
- <div :bordered="false" class="device_list">
- <div class="com_box">
- <!-- 鏌ヨ鍖哄煙 -->
- <div style="width: 100%; background-color: #fff" class="table-page-search-wrapper">
- <a-form layout="inline" @keyup.enter.native="searchQuery">
- <a-row :gutter="24">
- <!--<a-col :md="5" :sm="5">-->
- <!--<a-form-item label="鍚嶇О">-->
- <!--<a-input placeholder="杈撳叆璁惧鍚嶇О鏌ヨ" :readOnly="readOnly" v-model="queryParam.tierName"></a-input>-->
- <!--</a-form-item>-->
- <!--</a-col>-->
- <a-col :md="5" :sm="5">
- <a-form-item label="璁惧">
- <a-input-search :readOnly="true" v-model="queryParam.equipmentId" @search="deviceSearch"
- placeholder='璇烽�夋嫨璁惧'/>
- </a-form-item>
- </a-col>
+ <div class="device_list">
+ <!-- 鏌ヨ鍖哄煙 -->
+ <div style="background-color: #fff" class="table-page-search-wrapper">
+ <a-form layout="inline" @keyup.enter.native="searchQuery">
+ <a-row :gutter="24">
+ <a-col :md="5" :sm="5">
+ <a-form-item label="璁惧">
+ <a-input-search readOnly v-model="queryParam.equipmentId" @search="deviceSearch"
+ @click="deviceSearch"
+ placeholder='璇烽�夋嫨璁惧'/>
+ </a-form-item>
+ </a-col>
- <a-col :md="5" :sm="5">
- <a-form-item label="椹卞姩绫诲瀷">
- <!--<j-dict-select-tag placeholder="璇烽�夋嫨椹卞姩绫诲瀷"-->
- <!--:triggerChange="true" dictCode="mdc_driveType"-->
- <!--v-model="queryParam.driveType" allow-clear/>-->
- <a-auto-complete
- v-model="queryParam.driveType"
- :data-source="driveTypeList"
- placeholder="椹卞姩绫诲瀷"
- :filter-option="filterOption"
- :allowClear="true"
- />
- </a-form-item>
- </a-col>
- <a-col :md="6" :sm="6" :xs="6">
- <a-form-item label="鏃堕棿">
- <a-range-picker @change="dateParamChange" v-model="dates" format="YYYYMMDD"/>
- </a-form-item>
- </a-col>
- <a-col>
- <a-space>
- <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
- <a-button type="primary" @click="searchReset" icon="reload">閲嶇疆</a-button>
- </a-space>
- </a-col>
- </a-row>
- </a-form>
- </div>
- <!-- table鍖哄煙-begin -->
- <div id="DeviceList">
- <a-tabs :activeKey="activeKey" @change="tabChange" tabPosition="top">
- <a-tab-pane key="1" tab="鍥惧舰">
- <ComparativeAnalysisBar ref="AnalysisBar" :dataList='AnalysisBarList'></ComparativeAnalysisBar>
- </a-tab-pane>
- <a-tab-pane key="2" tab="浠〃" forceRender>
- <ComparativeAnalysisGauge ref="AnalysisGauge" :dataList="AnalysisGauge"></ComparativeAnalysisGauge>
- </a-tab-pane>
- <a-tab-pane key="3" tab="楗煎浘" forceRender>
- <ComparativeAnalysisPie ref="AnalysisPie" :dataList="AnalysisPie"></ComparativeAnalysisPie>
- </a-tab-pane>
- </a-tabs>
- </div>
- <!-- table鍖哄煙-end -->
+ <a-col :md="5" :sm="5">
+ <a-form-item label="椹卞姩绫诲瀷">
+ <a-auto-complete
+ v-model="queryParam.driveType"
+ :data-source="driveTypeList"
+ placeholder="椹卞姩绫诲瀷"
+ :filter-option="filterOption"
+ :allowClear="true"
+ />
+ </a-form-item>
+ </a-col>
+ <a-col :md="6" :sm="6" :xs="6">
+ <a-form-item label="鏃堕棿">
+ <a-range-picker @change="dateParamChange" v-model="dates" format="YYYYMMDD" :allow-clear="false"/>
+ </a-form-item>
+ </a-col>
+ <a-col :md="3" :sm="3" :xs="3">
+ <a-space>
+ <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
+ <a-button type="primary" @click="searchReset" icon="reload">閲嶇疆</a-button>
+ </a-space>
+ </a-col>
+ </a-row>
+ </a-form>
</div>
- <SelectDeviceDrawer ref="selectDeviceDrawer" @selectFinished="selectOK" :title="'閫夋嫨璁惧'"></SelectDeviceDrawer>
+ <a-spin :spinning="spinning">
+ <a-tabs tabPosition="top" id="custom-tabs">
+ <a-tab-pane key="1" tab="鍥惧舰">
+ <ComparativeAnalysisBar ref="AnalysisBar" :dataList='AnalysisBarList'/>
+ </a-tab-pane>
+ <a-tab-pane key="2" tab="浠〃" forceRender>
+ <ComparativeAnalysisGauge ref="AnalysisGauge" :dataList="AnalysisGauge"/>
+ </a-tab-pane>
+ <a-tab-pane key="3" tab="楗煎浘" forceRender>
+ <ComparativeAnalysisPie ref="AnalysisPie" :dataList="AnalysisPie"/>
+ </a-tab-pane>
+ </a-tabs>
+ </a-spin>
+
+ <SelectDeviceDrawer ref="selectDeviceDrawer" @selectFinished="selectOK" :title="'閫夋嫨璁惧'"/>
</div>
</template>
<script>
import moment from 'moment'
- import $ from 'jquery'
- import JDictSelectTag from '@/components/dict/JDictSelectTag'
- import JDate from '../../../../../components/jeecg/JDate'
- import {
- requestPut,
- deleteAction,
- getAction
- } from '@/api/manage'
+ import { getAction } from '@/api/manage'
+ import api from '@/api/mdc'
import ComparativeAnalysisBar from './ComparativeAnalysisBar'
import ComparativeAnalysisGauge from './ComparativeAnalysisGauge'
import ComparativeAnalysisPie from './ComparativeAnalysisPie'
- import '@/components/table2excel/table2excel'
- import JInput from '@/components/jeecg/JInput'
- import JEllipsis from '@/components/jeecg/JEllipsis'
- import Tooltip from 'ant-design-vue/es/tooltip'
- import { ajaxGetDictItems, getDictItemsFromCache, duplicateCheck } from '@/api/api'
- import api from '@/api/mdc'
import SelectDeviceDrawer from '../../../../system/modules/SelectDeviceDrawer.vue'
export default {
name: 'ComparativeAnalysisMain',
- // mixins: [JeecgListMixin],
components: {
- Tooltip,
ComparativeAnalysisBar,
ComparativeAnalysisGauge,
ComparativeAnalysisPie,
- JDictSelectTag,
- JInput,
- JDate,
- JEllipsis,
SelectDeviceDrawer
},
props: { nodeTree: '', Type: '', nodePeople: '' },
data() {
return {
- activeKey: '1',
typeTree: '',
typeParent: 1,
typeEquipment: 1,
@@ -112,38 +83,31 @@
AnalysisGauge: [],
AnalysisPie: [],
dates: [],
- xianshi: '',
- readOnly: true,
queryParam: {
equipmentId: ''
},
queryParams: {},
queryParamEquip: {},
- queryParamPeople: {},
- dataStartsoucre: [],
url: {
comparativeAnalysis: '/mdc/efficiencyReport/comparativeAnalysis'
},
AnalysisList: {},
- driveTypeList: []
+ driveTypeList: [],
+ spinning: false
}
},
watch: {
Type(valmath) {
this.dataList = []
this.queryParams.typeTree = valmath
- // console.log(this.queryParams.typeTree)
},
nodeTree(val) { //鐩戝惉currSelected 鍙樺寲锛屽皢鍙樺寲鍚庣殑鏁板�间紶閫掔粰 getCurrSelected 浜嬩欢
if (JSON.stringify(val) != '{}') {
if (val.equipmentId) {
- // this.$set(this.queryParam, 'tierName', val.title)
this.queryParamEquip.parentId = ''
- // this.queryParams.equipmentId = val.equipmentId
this.queryParam.equipmentId = val.equipmentId
this.queryParamEquip.equipmentId = val.equipmentId
} else {
- // this.$set(this.queryParam, 'tierName', val.title)
this.queryParamEquip.parentId = val.key
this.queryParams.equipmentId = ''
}
@@ -153,12 +117,10 @@
nodePeople(val) {
if (JSON.stringify(val) != '{}') {
if (val.equipmentId) {
- // this.$set(this.queryParam, 'tierName', val.title)
this.queryParamEquip.parentId = ''
this.queryParams.equipmentId = val.equipmentId
this.queryParamEquip.equipmentId = val.equipmentId
} else {
- // this.$set(this.queryParam, 'tierName', val.title)
this.queryParamEquip.parentId = val.key
this.queryParams.equipmentId = ''
}
@@ -166,17 +128,29 @@
}
}
},
+ created() {
+ this.dates = [moment().subtract('days', 7), moment().subtract('days', 0)]
+ this.queryParam.startTime = moment(this.dates[0]).format('YYYYMMDD')
+ this.queryParam.endTime = moment(this.dates[1]).format('YYYYMMDD')
+ this.queryParam.typeTree = '1'
+ this.loadAnalysis()
+ this.getDriveTypeByApi()
+ },
+ mounted() {
+ const tabsBar = document.querySelector('#custom-tabs .ant-tabs-bar')
+ const tabsContent = document.querySelector('#custom-tabs .ant-tabs-content')
+ const tabsBarHeight = window.getComputedStyle(tabsBar).height
+ const tabsBarMarginBottom = window.getComputedStyle(tabsBar).marginBottom
+ tabsContent.style.height = `calc(100% - ${tabsBarHeight} - ${tabsBarMarginBottom})`
+ },
methods: {
- tabChange(val) {
- this.activeKey = val
- },
dateParamChange(v1, v2) {
- // console.log(v1,v2)
this.queryParam.startTime = v2[0]
this.queryParam.endTime = v2[1]
- console.log(v2[0], v2[1])
},
+
loadAnalysis() {
+ this.spinning = true
getAction(this.url.comparativeAnalysis, this.queryParam).then(res => {
if (res.success) {
this.AnalysisList = res.result
@@ -187,51 +161,27 @@
this.$message.warning(res.message)
}
}).finally(() => {
- this.loading = false
+ this.spinning = false
})
},
- searchQuery() {
- if (this.dates && this.dates.length > 0) {
- this.AnalysisList = []
- this.AnalysisBarList = []
- this.AnalysisGauge = []
- this.AnalysisPie = []
- if (this.queryParams.typeTree == '1') {
- this.queryParams.parentId = this.queryParamEquip.parentId
- // this.queryParams.equipmentId = this.queryParamEquip.equipmentId
- } else {
- this.queryParams.parentId = this.queryParamEquip.parentId
- // this.queryParams.equipmentId = ""
- }
- this.AnalysisList = []
- //鑾峰彇鏌ヨ鏉′欢
- this.queryParam.parentId = this.queryParams.parentId
- // this.queryParam.equipmentId = this.queryParams.equipmentId
- this.queryParam.typeTree = this.queryParams.typeTree
- getAction(this.url.comparativeAnalysis, this.queryParam).then((res) => {
- if (res.success) {
- this.AnalysisList = res.result
- this.AnalysisBarList = res.result.graphics
- this.AnalysisGauge = res.result.meters
- this.AnalysisPie.push(res.result.pieCharts)
- } else {
- // this.$message.warning(res.message)
- this.$notification.warning({
- message: '娑堟伅',
- description: res.message
- })
- }
- }).finally(() => {
- this.loading = false
- })
- } else {
- this.$notification.warning({
- message: '鎻愮ず',
- description: '璇烽�夋嫨鏃堕棿'
- })
- }
+ searchQuery() {
+ this.AnalysisList = []
+ this.AnalysisBarList = []
+ this.AnalysisGauge = []
+ this.AnalysisPie = []
+ if (this.queryParams.typeTree == '1') {
+ this.queryParams.parentId = this.queryParamEquip.parentId
+ } else {
+ this.queryParams.parentId = this.queryParamEquip.parentId
+ }
+ this.AnalysisList = []
+ //鑾峰彇鏌ヨ鏉′欢
+ this.queryParam.parentId = this.queryParams.parentId
+ this.queryParam.typeTree = this.queryParams.typeTree
+ this.loadAnalysis()
},
+
searchReset() {
this.AnalysisList = []
this.AnalysisBarList = []
@@ -243,7 +193,11 @@
this.typeEquipment = this.queryParams.equipmentId
this.queryParams = {}
this.queryParam = {}
- this.dates = []
+ this.dates = [moment().subtract('days', 7), moment().subtract('days', 0)]
+ this.queryParam.startTime = moment(this.dates[0]).format('YYYYMMDD')
+ this.queryParams.startTime = moment(this.dates[0]).format('YYYYMMDD')
+ this.queryParam.endTime = moment(this.dates[1]).format('YYYYMMDD')
+ this.queryParams.endTime = moment(this.dates[1]).format('YYYYMMDD')
this.queryParams.typeTree = this.typeTree
this.queryParams.parentId = this.typeParent
if (this.queryParams.parentId != '') {
@@ -255,29 +209,17 @@
this.queryParams.equipmentId = this.queryParamEquip.equipmentId
}
}
- getAction(this.url.comparativeAnalysis, this.queryParams).then((res) => {
- if (res.success) {
- this.AnalysisList = res.result
- this.AnalysisBarList = res.result.graphics
- this.AnalysisGauge = res.result.meters
- this.AnalysisPie.push(res.result.pieCharts)
- } else {
- // this.$message.warning(res.message)
- this.$notification.warning({
- message: '娑堟伅',
- description: res.message
- })
- }
- }).finally(() => {
- this.loading = false
- })
} else {
this.typeTree = this.queryParams.typeTree
this.typeParent = this.queryParams.parentId
this.typeEquipment = this.queryParams.equipmentId
this.queryParams = {}
this.queryParam = {}
- this.dates = []
+ this.dates = [moment().subtract('days', 7), moment().subtract('days', 0)]
+ this.queryParam.startTime = moment(this.dates[0]).format('YYYYMMDD')
+ this.queryParams.startTime = moment(this.dates[0]).format('YYYYMMDD')
+ this.queryParam.endTime = moment(this.dates[1]).format('YYYYMMDD')
+ this.queryParams.endTime = moment(this.dates[1]).format('YYYYMMDD')
this.queryParams.typeTree = this.typeTree
this.queryParams.parentId = this.typeParent
if (this.queryParams.parentId != '') {
@@ -289,24 +231,10 @@
this.queryParams.equipmentId = this.queryParamEquip.equipmentId
}
}
- getAction(this.url.comparativeAnalysis, this.queryParams).then((res) => {
- if (res.success) {
- this.AnalysisList = res.result
- this.AnalysisBarList = res.result.graphics
- this.AnalysisGauge = res.result.meters
- this.AnalysisPie.push(res.result.pieCharts)
- } else {
- // this.$message.warning(res.message)
- this.$notification.warning({
- message: '娑堟伅',
- description: res.message
- })
- }
- }).finally(() => {
- this.loading = false
- })
}
+ this.loadAnalysis()
},
+
/**
* 璋冪敤鎺ュ彛鑾峰彇鎺у埗绯荤粺绫诲瀷
*/
@@ -315,6 +243,7 @@
this.driveTypeList = res.result.map(item => item.value)
})
},
+
/**
* 鑱旀兂杈撳叆妗嗙瓫閫夊姛鑳�
* @param input 杈撳叆鐨勫唴瀹�
@@ -326,119 +255,8 @@
option.componentOptions.children[0].text.toUpperCase().indexOf(input.toUpperCase()) >= 0
)
},
- // onChange(value, dateString) {
- // // console.log('Selected Time: ', value);
- // // console.log('Formatted Selected Time: ', dateString);
- // },
- // searchReset() {
- // if(this.queryParams.typeTree == "1"){
- // this.typeTree = this.queryParams.typeTree
- // this.typeParent = this.queryParams.parentId
- // this.typeEquipment = this.queryParams.equipmentId
- // this.queryParams = {}
- // this.queryParam = {}
- // this.dates = []
- // this.queryParams.typeTree = this.typeTree
- // this.queryParams.parentId = this.typeParent
- // if(this.queryParams.parentId != ""){
- // this.queryParams.equipmentId = ""
- // }else{
- // if(this.queryParams.equipmentId == this.queryParamEquip.equipmentId){
- // this.queryParams.equipmentId = this.typeEquipment
- // }else{
- // this.queryParams.equipmentId = this.queryParamEquip.equipmentId
- // }
- //
- // }
- //
- // this.ipagination.current = 1
- // this.ResetloadData();
- // }else{
- // this.typeTree = this.queryParams.typeTree
- // this.typeParent = this.queryParams.parentId
- // // this.typeEquipment = this.queryParams.equipmentId
- // this.queryParams = {}
- // this.queryParam = {}
- // this.dates = []
- // this.queryParams.typeTree = this.typeTree
- // this.queryParams.parentId = this.typeParent
- // // this.queryParams.equipmentId = this.typeEquipment
- // this.ipagination.current = 1
- // this.ResetloadData();
- // }
- //
- // },
- // ResetloadData() {
- // if(!this.url.list){
- // this.$message.error("璇疯缃畊rl.list灞炴��!")
- // return
- // }
- // var params = {}
- // params.typeTree = this.queryParams.typeTree
- // params.parentId = this.queryParams.parentId
- // params.equipmentId = this.queryParams.equipmentId
- // this.loading = true;
- // getAction(this.url.list, params).then((res) => {
- // if (res.success) {
- // this.dataSource = res.result.records||res.result;
- // }else{
- // this.$message.warning(res.message)
- // }
- // }).finally(() => {
- // this.loading = false
- // })
- // },
- // searchQuery(){
- // if(this.queryParams.typeTree == "1"){
- // this.queryParams.parentId = this.queryParamEquip.parentId
- // // this.queryParams.equipmentId = this.queryParamEquip.equipmentId
- //
- // }else{
- // this.queryParams.parentId = this.queryParamPeople.parentId
- //
- // // this.queryParams.equipmentId = ""
- // }
- // this.dataSource = [];
- // //鑾峰彇鏌ヨ鏉′欢
- // let param = {}
- // param.parentId = this.queryParams.parentId;
- // param.equipmentId = this.queryParams.equipmentId;
- // param.startTime = this.queryParam.startTime;
- // param.driveType = this.queryParam.driveType;
- // param.endTime = this.queryParam.endTime;
- // getAction(this.url.list,param).then((res) => {
- // if(res.success){
- // this.dataSource = res.result.records||res.result;
- // }else{
- // this.$message.warning(res.message)
- // }
- // }).finally(() => {
- // this.loading = false
- // })
- // },
- // loadData() {
- // if(!this.url.list){
- // this.$message.error("璇疯缃畊rl.list灞炴��!")
- // return
- // }
- // //鍔犺浇鏁版嵁 鑻ヤ紶鍏ュ弬鏁�1鍒欏姞杞界涓�椤电殑鍐呭
- // var params = {}
- // this.loading = true;
- // params.startTime = this.queryParam.startTime;
- // params.endTime = this.queryParam.endTime;
- // params.typeTree = this.queryParams.typeTree
- // getAction(this.url.list, params).then((res) => {
- // if (res.success) {
- // this.dataSource = res.result.records||res.result;
- // }else{
- // this.$message.warning(res.message)
- // }
- // }).finally(() => {
- // this.loading = false
- // })
- // },
+
deviceSearch() {
- console.log('瑙﹀彂')
this.$refs.selectDeviceDrawer.visible = true
this.$refs.selectDeviceDrawer.selectedRowKeys = []
this.$refs.selectDeviceDrawer.selectedRows = []
@@ -450,86 +268,60 @@
* @param data 宸查�夋嫨鐨勮澶�
*/
selectOK(data) {
- // let params = {}
- // params.equipmentIdList = []
- // for (var a = 0; a < data.length; a++) {
- // params.equipmentIdList.push(data[a])
- // }
- console.log('data=', data)
this.queryParam.equipmentId = data.join(',')
- console.log('queryParam', this.queryParam.equipmentId)
}
- },
- created() {
- this.dates = [moment().subtract('days', 7), moment().subtract('days', 0)]
- this.queryParam.startTime = moment(this.dates[0]).format('YYYYMMDD')
- this.queryParam.endTime = moment(this.dates[1]).format('YYYYMMDD')
- this.queryParam.typeTree = '1'
- this.loadAnalysis()
- this.getDriveTypeByApi()
}
}
</script>
<style lang="less" scoped>
- /*@import '~@assets/less/common.less';*/
+ .device_list {
+ display: flex;
+ flex-direction: column;
+ overflow: hidden;
+
+ /deep/ .ant-spin-nested-loading {
+ flex: 1;
+ overflow: hidden;
+
+ .ant-spin-container {
+ height: 100%;
+
+ .ant-tabs {
+ height: 100%;
+ overflow: hidden;
+ }
+ }
+ }
+ }
@media screen and (min-width: 1920px) {
.device_list {
height: 811px !important;
- overflow: scroll;
}
}
@media screen and (min-width: 1680px) and (max-width: 1920px) {
.device_list {
height: 811px !important;
- overflow: scroll;
}
}
@media screen and (min-width: 1400px) and (max-width: 1680px) {
.device_list {
height: 663px !important;
- overflow: scroll;
}
}
@media screen and (min-width: 1280px) and (max-width: 1400px) {
.device_list {
height: 564px !important;
- overflow: scroll;
}
}
@media screen and (max-width: 1280px) {
.device_list {
height: 564px !important;
- overflow: scroll;
}
- }
-
- /*.device_list{*/
- /*display: flex;*/
- /*}*/
- /*.device_list .table-page-search-wrapper{*/
- /**/
- /*}*/
- /deep/ .ant-card-body {
- height: 100% !important;
- }
-
- .device_list .com_box {
- display: flex !important;
- height: 100% !important;
- flex-direction: column !important;
- }
-
- .device_list .table-page-search-wrapper {
- height: 6% !important;
- }
-
- .device_list #DeviceList {
- height: 90% !important;
}
</style>
--
Gitblit v1.9.3