|
@@ -4,14 +4,17 @@
|
|
|
<div class="curve-nav">
|
|
<div class="curve-nav">
|
|
|
<div class="nav-search">
|
|
<div class="nav-search">
|
|
|
<!-- 时间查询选项 -->
|
|
<!-- 时间查询选项 -->
|
|
|
- <a-radio-group v-model:value="timerTabs" name="radioGroup">
|
|
|
|
|
|
|
+ <a-radio-group v-model:value="timerTabs" name="radioGroup" @change="changeRadio">
|
|
|
<a-radio value="day">按天</a-radio>
|
|
<a-radio value="day">按天</a-radio>
|
|
|
<a-radio value="hours">按小时</a-radio>
|
|
<a-radio value="hours">按小时</a-radio>
|
|
|
<a-radio value="minutes">按分钟</a-radio>
|
|
<a-radio value="minutes">按分钟</a-radio>
|
|
|
</a-radio-group>
|
|
</a-radio-group>
|
|
|
<!-- 时间查询条件 -->
|
|
<!-- 时间查询条件 -->
|
|
|
- <a-range-picker style="width:280px" v-model:value="timerSearch" :show-time="formatDate"
|
|
|
|
|
- format="YYYY-MM-DD HH:mm:ss" :placeholder="['开始时间', '结束时间']" />
|
|
|
|
|
|
|
+ <a-range-picker style="width:340px" :value="[searchData.startTime, searchData.endTime]"
|
|
|
|
|
+ :show-time="{ format: 'HH:mm:ss' }" valueFormat="YYYY-MM-DD HH:mm:ss" :placeholder="['开始时间', '结束时间']"
|
|
|
|
|
+ @change="onRangeChange" />
|
|
|
|
|
+ <a-button type="primary" preIcon="ant-design:search-outlined" @click="getSearch"
|
|
|
|
|
+ style="margin-left: 10px;">查询</a-button>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="nav-btn" @click="handleHistory">
|
|
<div class="nav-btn" @click="handleHistory">
|
|
|
<div class="nav-text">
|
|
<div class="nav-text">
|
|
@@ -24,16 +27,16 @@
|
|
|
<div class="curve-content-item" v-for="(item, index) in listData" :key="index">
|
|
<div class="curve-content-item" v-for="(item, index) in listData" :key="index">
|
|
|
<div class="content-item-title">{{ item.label }}</div>
|
|
<div class="content-item-title">{{ item.label }}</div>
|
|
|
<div class="content-echart-box">
|
|
<div class="content-echart-box">
|
|
|
- <echartLineDate :ecahrtData="item" :echartOption="echartOption"></echartLineDate>
|
|
|
|
|
|
|
+ <echartLineDate :ecahrtData="item" :echartOption="zqEchartOption"></echartLineDate>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
- <div class="curve-bar-content">
|
|
|
|
|
|
|
+ <!-- <div class="curve-bar-content">
|
|
|
<gasInjectChart :option="echartBarOption" />
|
|
<gasInjectChart :option="echartBarOption" />
|
|
|
- </div>
|
|
|
|
|
|
|
+ </div> -->
|
|
|
</template>
|
|
</template>
|
|
|
<template v-else>
|
|
<template v-else>
|
|
|
- <zqHistoryExport :tableColumn="tableColumn" @handleBack="handleBack" :deviceID="deviceID"></zqHistoryExport>
|
|
|
|
|
|
|
+ <zqHistoryExport :tableColumn="tableColumn" :detailType="'history'" @handleBack="handleBack" :deviceId="deviceID" :strtype="strtype" :isShowExports="isShowExports"></zqHistoryExport>
|
|
|
</template>
|
|
</template>
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
@@ -44,7 +47,9 @@ import echartLineDate from './echartLineDate.vue'
|
|
|
import { SvgIcon } from '/@/components/Icon';
|
|
import { SvgIcon } from '/@/components/Icon';
|
|
|
import zqHistoryExport from './zqHistoryExport.vue'
|
|
import zqHistoryExport from './zqHistoryExport.vue'
|
|
|
import gasInjectChart from '../preset/gasInjectChart.vue'
|
|
import gasInjectChart from '../preset/gasInjectChart.vue'
|
|
|
-import { zqEchartOption, ccEchartOption,echartBarOption } from './gasInject.data'
|
|
|
|
|
|
|
+import { zqEchartOption,echartBarOption } from './gasInject.data'
|
|
|
|
|
+import dayjs from 'dayjs';
|
|
|
|
|
+import { listdays } from './gasInject.api';
|
|
|
|
|
|
|
|
let props = defineProps({
|
|
let props = defineProps({
|
|
|
//是否打开历史数据页面
|
|
//是否打开历史数据页面
|
|
@@ -62,42 +67,35 @@ let props = defineProps({
|
|
|
//设备ID
|
|
//设备ID
|
|
|
deviceID:{
|
|
deviceID:{
|
|
|
type:String,
|
|
type:String,
|
|
|
|
|
+ },
|
|
|
|
|
+ //设备类型
|
|
|
|
|
+ strtype: {
|
|
|
|
|
+ type: String
|
|
|
|
|
+ },
|
|
|
|
|
+ //是否显示导出按钮
|
|
|
|
|
+ isShowExports:{
|
|
|
|
|
+ type:Boolean
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
})
|
|
})
|
|
|
|
|
+let searchData = reactive({
|
|
|
|
|
+ startTime: dayjs().subtract(1, 'day').format('YYYY-MM-DD HH:mm:ss'),
|
|
|
|
|
+ endTime: dayjs().format('YYYY-MM-DD HH:mm:ss'),
|
|
|
|
|
+})
|
|
|
//注气参数详情数据
|
|
//注气参数详情数据
|
|
|
-let listData = ref<any[]>([
|
|
|
|
|
- { label: '钻孔1', xData: ['3.26', '3.27', '3.28', '3.29', '3.30', '3.31'], yData: ["20", "50", "12", "65", "30", "60"], yData1: ["40", "60", "22", "85", "50", "40"], yData2: ["70", "30", "42", "65", "80", "60"], },
|
|
|
|
|
- { label: '钻孔2', xData: ['3.26', '3.27', '3.28', '3.29', '3.30', '3.31'], yData: ["20", "50", "12", "65", "30", "60"], yData1: ["40", "60", "22", "85", "50", "40"], yData2: ["70", "30", "42", "65", "80", "60"], },
|
|
|
|
|
- { label: '钻孔3', xData: ['3.26', '3.27', '3.28', '3.29', '3.30', '3.31'], yData: ["20", "50", "12", "65", "30", "60"], yData1: ["40", "60", "22", "85", "50", "40"], yData2: ["70", "30", "42", "65", "80", "60"], },
|
|
|
|
|
- { label: '钻孔4', xData: ['3.26', '3.27', '3.28', '3.29', '3.30', '3.31'], yData: ["20", "50", "12", "65", "30", "60"], yData1: ["40", "60", "22", "85", "50", "40"], yData2: ["70", "30", "42", "65", "80", "60"], },
|
|
|
|
|
- { label: '钻孔5', xData: ['3.26', '3.27', '3.28', '3.29', '3.30', '3.31'], yData: ["20", "50", "12", "65", "30", "60"], yData1: ["40", "60", "22", "85", "50", "40"], yData2: ["70", "30", "42", "65", "80", "60"], },
|
|
|
|
|
- { label: '钻孔6', xData: ['3.26', '3.27', '3.28', '3.29', '3.30', '3.31'], yData: ["20", "50", "12", "65", "30", "60"], yData1: ["40", "60", "22", "85", "50", "40"], yData2: ["70", "30", "42", "65", "80", "60"], },
|
|
|
|
|
- { label: '钻孔7', xData: ['3.26', '3.27', '3.28', '3.29', '3.30', '3.31'], yData: ["20", "50", "12", "65", "30", "60"], yData1: ["40", "60", "22", "85", "50", "40"], yData2: ["70", "30", "42", "65", "80", "60"], },
|
|
|
|
|
- { label: '钻孔8', xData: ['3.26', '3.27', '3.28', '3.29', '3.30', '3.31'], yData: ["20", "50", "12", "65", "30", "60"], yData1: ["40", "60", "22", "85", "50", "40"], yData2: ["70", "30", "42", "65", "80", "60"], },
|
|
|
|
|
- { label: '钻孔9', xData: ['3.26', '3.27', '3.28', '3.29', '3.30', '3.31'], yData: ["20", "50", "12", "65", "30", "60"], yData1: ["40", "60", "22", "85", "50", "40"], yData2: ["70", "30", "42", "65", "80", "60"], },
|
|
|
|
|
-])
|
|
|
|
|
|
|
+let listData = ref<any[]>([])
|
|
|
let timerTabs = ref('day')
|
|
let timerTabs = ref('day')
|
|
|
let showExport = ref(false)
|
|
let showExport = ref(false)
|
|
|
-//查询时间段-天
|
|
|
|
|
-let timerSearch = ref('')
|
|
|
|
|
-//时间显示格式
|
|
|
|
|
-let formatDate = computed(() => {
|
|
|
|
|
- let showTime = {}
|
|
|
|
|
- if (timerTabs.value == 'day') {
|
|
|
|
|
- showTime = {}
|
|
|
|
|
- } else if (timerTabs.value == 'hours') {
|
|
|
|
|
- showTime = Object.assign({}, { format: 'HH' })
|
|
|
|
|
- } else if (timerTabs.value == 'minutes') {
|
|
|
|
|
- showTime = Object.assign({}, { format: 'HH:mm' })
|
|
|
|
|
- }
|
|
|
|
|
- return showTime
|
|
|
|
|
-})
|
|
|
|
|
-//图表配置项
|
|
|
|
|
-let echartOption = computed(() => {
|
|
|
|
|
- return props.sysType == 'Cc' ? ccEchartOption : zqEchartOption
|
|
|
|
|
-})
|
|
|
|
|
|
|
|
|
|
|
|
+//时间间隔切换
|
|
|
|
|
+function changeRadio(val) {
|
|
|
|
|
+ timerTabs.value = val.target.value
|
|
|
|
|
+}
|
|
|
|
|
+//日期切换
|
|
|
|
|
+function onRangeChange(__, time) {
|
|
|
|
|
+ searchData.startTime = time[0];
|
|
|
|
|
+ searchData.endTime = time[1];
|
|
|
|
|
+}
|
|
|
//打开历史数据详情及导出
|
|
//打开历史数据详情及导出
|
|
|
function handleHistory() {
|
|
function handleHistory() {
|
|
|
showExport.value = true
|
|
showExport.value = true
|
|
@@ -106,10 +104,44 @@ function handleHistory() {
|
|
|
function handleBack() {
|
|
function handleBack() {
|
|
|
showExport.value = false
|
|
showExport.value = false
|
|
|
}
|
|
}
|
|
|
|
|
+//查询
|
|
|
|
|
+function getSearch() {
|
|
|
|
|
+ switch (timerTabs.value) {
|
|
|
|
|
+ case 'day':
|
|
|
|
|
+ getHistoryData('9')
|
|
|
|
|
+ break;
|
|
|
|
|
+ case 'hours':
|
|
|
|
|
+ getHistoryData('8')
|
|
|
|
|
+ break;
|
|
|
|
|
+ case 'minutes':
|
|
|
|
|
+ getHistoryData('6')
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+async function getHistoryData(skip) {
|
|
|
|
|
+ let res = await listdays({ pageNo: 1, pageSize: 1000, gdeviceids: props.deviceID, strtype: props.strtype, ttime_begin: searchData.startTime, ttime_end: searchData.endTime, skip: skip })
|
|
|
|
|
+ if (res.datalist.records.length) {
|
|
|
|
|
+ let count = 0
|
|
|
|
|
+ let data = res.datalist.records.find(el => el.readData.flowStdInstant_1)
|
|
|
|
|
+ Object.keys(data.readData).forEach(el => {
|
|
|
|
|
+ if (el.indexOf('flowStdAccum_') != -1) {
|
|
|
|
|
+ count += 1
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ listData.value = Array.from({ length: count }).map((el, index) => {
|
|
|
|
|
+ return {
|
|
|
|
|
+ label: `钻孔${index + 1}`,
|
|
|
|
|
+ xData: res.xlist,
|
|
|
|
|
+ yData: res.datalist.records.map(dl => dl.readData[`flowStdInstant_${index + 1}`]),
|
|
|
|
|
+ yData1: res.datalist.records.map(dl => dl.readData[`injectionPressure_${index + 1}`]),
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
watch(() => props.isShowExport, (newV, oldV) => {
|
|
watch(() => props.isShowExport, (newV, oldV) => {
|
|
|
- console.log(props.deviceID,'9900')
|
|
|
|
|
showExport.value = newV
|
|
showExport.value = newV
|
|
|
|
|
+ getHistoryData('9')
|
|
|
}, { immediate: true })
|
|
}, { immediate: true })
|
|
|
</script>
|
|
</script>
|
|
|
|
|
|
|
@@ -127,8 +159,8 @@ watch(() => props.isShowExport, (newV, oldV) => {
|
|
|
--image-inject_curve_bg: url('@/assets/images/gasInjection/9-3.png');
|
|
--image-inject_curve_bg: url('@/assets/images/gasInjection/9-3.png');
|
|
|
--image-inject_curve_bg1: url('@/assets/images/gasInjection/9-4.png');
|
|
--image-inject_curve_bg1: url('@/assets/images/gasInjection/9-4.png');
|
|
|
width: 100%;
|
|
width: 100%;
|
|
|
- height: 100%;
|
|
|
|
|
- padding: 25px 20px;
|
|
|
|
|
|
|
+ min-height: 400px;
|
|
|
|
|
+ padding: 15px 20px;
|
|
|
box-sizing: border-box;
|
|
box-sizing: border-box;
|
|
|
|
|
|
|
|
.curve-nav {
|
|
.curve-nav {
|
|
@@ -147,8 +179,7 @@ watch(() => props.isShowExport, (newV, oldV) => {
|
|
|
display: flex;
|
|
display: flex;
|
|
|
flex-wrap: wrap;
|
|
flex-wrap: wrap;
|
|
|
width: 100%;
|
|
width: 100%;
|
|
|
- height: 415px;
|
|
|
|
|
- margin-bottom: 15px;
|
|
|
|
|
|
|
+ margin:10px 0px ;
|
|
|
overflow-y: auto;
|
|
overflow-y: auto;
|
|
|
}
|
|
}
|
|
|
|
|
|