Merge branch 'main' of https://git.jsspisoft.com/ry-das
This commit is contained in:
commit
fe4bef3ae1
@ -18,7 +18,7 @@ import java.util.concurrent.ConcurrentHashMap;
|
|||||||
*/
|
*/
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class FunctionCacheValue extends AbstractFunction {
|
public class FunctionCacheValue extends AbstractFunction {
|
||||||
public static final String CACHE_PREFIX = "calc::cache::";
|
public static final String CACHE_PREFIX = "calc:cache:";
|
||||||
private AdminRedisTemplate redis = null;
|
private AdminRedisTemplate redis = null;
|
||||||
public FunctionCacheValue(AdminRedisTemplate redis) {
|
public FunctionCacheValue(AdminRedisTemplate redis) {
|
||||||
this.redis = redis;
|
this.redis = redis;
|
||||||
|
@ -55,7 +55,7 @@ public class CalcService {
|
|||||||
@Value("${calc.debug.enable}")
|
@Value("${calc.debug.enable}")
|
||||||
Boolean isDebug;
|
Boolean isDebug;
|
||||||
|
|
||||||
@Value("${calc.debug.task-name")
|
@Value("${calc.debug.task-name}")
|
||||||
String debugTaskName;
|
String debugTaskName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -36,13 +36,13 @@
|
|||||||
<select id="queryFieldByModelId" resultMap="SysIotModelFieldMap">
|
<select id="queryFieldByModelId" resultMap="SysIotModelFieldMap">
|
||||||
select simf.*,sim.iot_model_name as iotModelName,
|
select simf.*,sim.iot_model_name as iotModelName,
|
||||||
sim.iot_model_code from sys_iot_model_field simf left join sys_iot_model sim on simf.iot_model_id = sim.id
|
sim.iot_model_code from sys_iot_model_field simf left join sys_iot_model sim on simf.iot_model_id = sim.id
|
||||||
where simf.iot_model_id = #{id}
|
where simf.iot_model_id = #{id} order by simf.porder asc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="queryServiceByModelId" resultMap="SysIotModelServiceMap">
|
<select id="queryServiceByModelId" resultMap="SysIotModelServiceMap">
|
||||||
select sims.*,sim.iot_model_name as iotModelName,
|
select sims.*,sim.iot_model_name as iotModelName,
|
||||||
sim.iot_model_code from sys_iot_model_service sims left join sys_iot_model sim on sims.iot_model_id = sim.id
|
sim.iot_model_code from sys_iot_model_service sims left join sys_iot_model sim on sims.iot_model_id = sim.id
|
||||||
where sims.iot_model_id = #{id}
|
where sims.iot_model_id = #{id} order by sims.porder asc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="queryIotModelIdByName" resultType="java.lang.Long">
|
<select id="queryIotModelIdByName" resultType="java.lang.Long">
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 623 KiB After Width: | Height: | Size: 631 KiB |
@ -120,23 +120,41 @@
|
|||||||
>
|
>
|
||||||
<el-button @click="sendManualCommand(0)" v-else class="control-btn" type="primary">解锁</el-button>
|
<el-button @click="sendManualCommand(0)" v-else class="control-btn" type="primary">解锁</el-button>
|
||||||
</div>
|
</div>
|
||||||
<el-tooltip content="变桨/轮毂系统">
|
<el-tooltip :content="subSystem[0]">
|
||||||
<div @click="openSubSystem(1)" class="dot index-1"></div>
|
<div @click="openSubSystem(0)" class="dot index-1"></div>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<el-tooltip content="轴承/传动链/齿轮箱系统">
|
<el-tooltip :content="subSystem[1]">
|
||||||
<div @click="openSubSystem(2)" class="dot index-2"></div>
|
<div @click="openSubSystem(1)" class="dot index-2"></div>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<el-tooltip content="发电机系统">
|
<el-tooltip :content="subSystem[2]">
|
||||||
<div @click="openSubSystem(3)" class="dot index-3"></div>
|
<div @click="openSubSystem(2)" class="dot index-3"></div>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<el-tooltip content="机舱系统">
|
<el-tooltip :content="subSystem[3]">
|
||||||
<div @click="openSubSystem(4)" class="dot index-4"></div>
|
<div @click="openSubSystem(3)" class="dot index-4"></div>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<el-tooltip content="控制系统">
|
<el-tooltip :content="subSystem[4]">
|
||||||
<div @click="openSubSystem(5)" class="dot index-5"></div>
|
<div @click="openSubSystem(4)" class="dot index-5"></div>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<el-tooltip content="环境/气象系统">
|
<el-tooltip :content="subSystem[5]">
|
||||||
<div @click="openSubSystem(6)" class="dot index-6"></div>
|
<div @click="openSubSystem(5)" class="dot index-6"></div>
|
||||||
|
</el-tooltip>
|
||||||
|
<el-tooltip :content="subSystem[6]">
|
||||||
|
<div @click="openSubSystem(6)" class="dot index-7"></div>
|
||||||
|
</el-tooltip>
|
||||||
|
<el-tooltip :content="subSystem[7]">
|
||||||
|
<div @click="openSubSystem(7)" class="dot index-8"></div>
|
||||||
|
</el-tooltip>
|
||||||
|
<el-tooltip :content="subSystem[8]">
|
||||||
|
<div @click="openSubSystem(8)" class="dot index-9"></div>
|
||||||
|
</el-tooltip>
|
||||||
|
<el-tooltip :content="subSystem[9]">
|
||||||
|
<div @click="openSubSystem(9)" class="dot index-10"></div>
|
||||||
|
</el-tooltip>
|
||||||
|
<el-tooltip :content="subSystem[10]">
|
||||||
|
<div @click="openSubSystem(10)" class="dot index-11"></div>
|
||||||
|
</el-tooltip>
|
||||||
|
<el-tooltip :content="subSystem[11]">
|
||||||
|
<div @click="openSubSystem(11)" class="dot index-12"></div>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
</div>
|
</div>
|
||||||
<div class="Parameters">
|
<div class="Parameters">
|
||||||
@ -999,14 +1017,16 @@ const createRealTimeData = async () => {
|
|||||||
const dataFor138And139: { name: string; value: string }[] = []
|
const dataFor138And139: { name: string; value: string }[] = []
|
||||||
const dataFor140: { name: string; value: string }[] = []
|
const dataFor140: { name: string; value: string }[] = []
|
||||||
const dataFor199: { name: string; value: string }[] = []
|
const dataFor199: { name: string; value: string }[] = []
|
||||||
const realDataForSub: any = [
|
// const realDataForSub: any = [
|
||||||
{ type138: [], type140: [], type199: [] },
|
// { type138: [], type140: [], type199: [] },
|
||||||
{ type138: [], type140: [], type199: [] },
|
// { type138: [], type140: [], type199: [] },
|
||||||
{ type138: [], type140: [], type199: [] },
|
// { type138: [], type140: [], type199: [] },
|
||||||
{ type138: [], type140: [], type199: [] },
|
// { type138: [], type140: [], type199: [] },
|
||||||
{ type138: [], type140: [], type199: [] },
|
// { type138: [], type140: [], type199: [] },
|
||||||
{ type138: [], type140: [], type199: [] },
|
// { type138: [], type140: [], type199: [] },
|
||||||
]
|
// ]
|
||||||
|
const realDataForSub: any = subSystem.map(() => ({ type138: [], type140: [], type199: [] }))
|
||||||
|
|
||||||
modelList.forEach((item: any) => {
|
modelList.forEach((item: any) => {
|
||||||
const realVal = realData[item.attributeCode.toLowerCase()]
|
const realVal = realData[item.attributeCode.toLowerCase()]
|
||||||
let val = getCutDecimalsValue(realVal)
|
let val = getCutDecimalsValue(realVal)
|
||||||
@ -1017,15 +1037,15 @@ const createRealTimeData = async () => {
|
|||||||
realTimeDataForSingle.value[item.attributeCode.toLowerCase()] = val === '-' ? val : val
|
realTimeDataForSingle.value[item.attributeCode.toLowerCase()] = val === '-' ? val : val
|
||||||
}
|
}
|
||||||
if (overviewDatakeys.includes(item.attributeCode.toLowerCase())) {
|
if (overviewDatakeys.includes(item.attributeCode.toLowerCase())) {
|
||||||
if (enumStore.keys.includes(item.attributeCode)) {
|
if (enumStore.keys.includes(item.attributeCode)) {
|
||||||
overviewData[item.attributeCode.toLowerCase() as keyof typeof overviewData] = val as string
|
overviewData[item.attributeCode.toLowerCase() as keyof typeof overviewData] = val as string
|
||||||
} else {
|
} else {
|
||||||
overviewData[item.attributeCode.toLowerCase() as keyof typeof overviewData] = val === '-' ? val : val + item.unit
|
overviewData[item.attributeCode.toLowerCase() as keyof typeof overviewData] = val === '-' ? val : val + item.unit
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
const showData = {
|
const showData = {
|
||||||
name: item.attributeName,
|
name: item.attributeName,
|
||||||
value: val === '-' ? val : val + item.unit,
|
value: val === '-' ? val : val + (item?.unit ?? ''),
|
||||||
}
|
}
|
||||||
if (item.attributeType === 138 || item.attributeType === 139) {
|
if (item.attributeType === 138 || item.attributeType === 139) {
|
||||||
dataFor138And139.push(showData)
|
dataFor138And139.push(showData)
|
||||||
@ -1034,53 +1054,17 @@ const createRealTimeData = async () => {
|
|||||||
} else if (item.attributeType === 199) {
|
} else if (item.attributeType === 199) {
|
||||||
dataFor199.push(showData)
|
dataFor199.push(showData)
|
||||||
}
|
}
|
||||||
if (item.subSystem === '变桨系统' || item.subSystem === '轮毂') {
|
|
||||||
if (item.attributeType === 138 || item.attributeType === 139) {
|
if (subSystem.includes(item.subSystem)) {
|
||||||
realDataForSub[0].type138.push(showData)
|
const index = subSystem.indexOf(item.subSystem)
|
||||||
} else if (item.attributeType === 140) {
|
if (index >= 0) {
|
||||||
realDataForSub[0].type140.push(showData)
|
if (item.attributeType === 138 || item.attributeType === 139) {
|
||||||
} else if (item.attributeType === 199) {
|
realDataForSub[index].type138.push(showData)
|
||||||
realDataForSub[0].type199.push(showData)
|
} else if (item.attributeType === 140) {
|
||||||
}
|
realDataForSub[index].type140.push(showData)
|
||||||
} else if (item.subSystem === '轴承' || item.subSystem === '传动链' || item.subSystem === '齿轮箱') {
|
} else if (item.attributeType === 199) {
|
||||||
if (item.attributeType === 138 || item.attributeType === 139) {
|
realDataForSub[index].type199.push(showData)
|
||||||
realDataForSub[1].type138.push(showData)
|
}
|
||||||
} else if (item.attributeType === 140) {
|
|
||||||
realDataForSub[1].type140.push(showData)
|
|
||||||
} else if (item.attributeType === 199) {
|
|
||||||
realDataForSub[1].type199.push(showData)
|
|
||||||
}
|
|
||||||
} else if (item.subSystem === '发电机') {
|
|
||||||
if (item.attributeType === 138 || item.attributeType === 139) {
|
|
||||||
realDataForSub[2].type138.push(showData)
|
|
||||||
} else if (item.attributeType === 140) {
|
|
||||||
realDataForSub[2].type140.push(showData)
|
|
||||||
} else if (item.attributeType === 199) {
|
|
||||||
realDataForSub[2].type199.push(showData)
|
|
||||||
}
|
|
||||||
} else if (item.subSystem === '机舱') {
|
|
||||||
if (item.attributeType === 138 || item.attributeType === 139) {
|
|
||||||
realDataForSub[3].type138.push(showData)
|
|
||||||
} else if (item.attributeType === 140) {
|
|
||||||
realDataForSub[3].type140.push(showData)
|
|
||||||
} else if (item.attributeType === 199) {
|
|
||||||
realDataForSub[3].type199.push(showData)
|
|
||||||
}
|
|
||||||
} else if (item.subSystem === '控制系统') {
|
|
||||||
if (item.attributeType === 138 || item.attributeType === 139) {
|
|
||||||
realDataForSub[4].type138.push(showData)
|
|
||||||
} else if (item.attributeType === 140) {
|
|
||||||
realDataForSub[4].type140.push(showData)
|
|
||||||
} else if (item.attributeType === 199) {
|
|
||||||
realDataForSub[4].type199.push(showData)
|
|
||||||
}
|
|
||||||
} else if (item.subSystem === '环境' || item.subSystem === '气象') {
|
|
||||||
if (item.attributeType === 138 || item.attributeType === 139) {
|
|
||||||
realDataForSub[5].type138.push(showData)
|
|
||||||
} else if (item.attributeType === 140) {
|
|
||||||
realDataForSub[5].type140.push(showData)
|
|
||||||
} else if (item.attributeType === 199) {
|
|
||||||
realDataForSub[5].type199.push(showData)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@ -1088,12 +1072,7 @@ const createRealTimeData = async () => {
|
|||||||
overviewSlotData.type140 = dataFor140
|
overviewSlotData.type140 = dataFor140
|
||||||
overviewSlotData.type199 = dataFor199
|
overviewSlotData.type199 = dataFor199
|
||||||
|
|
||||||
realTimeForSubSystem.type1 = realDataForSub[0]
|
realTimeForSubSystem.value = realDataForSub
|
||||||
realTimeForSubSystem.type2 = realDataForSub[1]
|
|
||||||
realTimeForSubSystem.type3 = realDataForSub[2]
|
|
||||||
realTimeForSubSystem.type4 = realDataForSub[3]
|
|
||||||
realTimeForSubSystem.type5 = realDataForSub[4]
|
|
||||||
realTimeForSubSystem.type6 = realDataForSub[5]
|
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.log(err)
|
console.log(err)
|
||||||
}
|
}
|
||||||
@ -1107,47 +1086,18 @@ const handleClose = (done: () => void) => {
|
|||||||
}
|
}
|
||||||
const dialogradioactiveName = ref(138)
|
const dialogradioactiveName = ref(138)
|
||||||
|
|
||||||
const realTimeForSubSystem = reactive<any>({
|
const realTimeForSubSystem = ref<any>([])
|
||||||
type1: null,
|
const curSubSystem = ref(0)
|
||||||
type2: null,
|
|
||||||
type3: null,
|
|
||||||
type4: null,
|
|
||||||
type5: null,
|
|
||||||
type6: null,
|
|
||||||
})
|
|
||||||
const curSubSystem = ref('type1')
|
|
||||||
const subSystemDataList = computed(() => {
|
const subSystemDataList = computed(() => {
|
||||||
const type = dialogradioactiveName.value === 138 ? 'type138' : dialogradioactiveName.value === 140 ? 'type140' : 'type199'
|
const type = dialogradioactiveName.value === 138 ? 'type138' : dialogradioactiveName.value === 140 ? 'type140' : 'type199'
|
||||||
return realTimeForSubSystem[curSubSystem.value][type]
|
return realTimeForSubSystem.value[curSubSystem.value][type]
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const subSystem = ['变桨1', '变桨2', '变桨3', '传动链齿轮箱', '发电机', '机舱', '控制系统', '轮毂', '偏航系统', '气象', '塔基', '箱变']
|
||||||
|
|
||||||
const openSubSystem = (type: number) => {
|
const openSubSystem = (type: number) => {
|
||||||
switch (type) {
|
subSystemName.value = subSystem[type]
|
||||||
case 1:
|
curSubSystem.value = type
|
||||||
subSystemName.value = '变桨/轮毂系统'
|
|
||||||
curSubSystem.value = 'type1'
|
|
||||||
break
|
|
||||||
case 2:
|
|
||||||
subSystemName.value = '轴承/传动链/齿轮箱系统'
|
|
||||||
curSubSystem.value = 'type2'
|
|
||||||
break
|
|
||||||
case 3:
|
|
||||||
subSystemName.value = '发电机系统'
|
|
||||||
curSubSystem.value = 'type3'
|
|
||||||
break
|
|
||||||
case 4:
|
|
||||||
subSystemName.value = '机舱系统'
|
|
||||||
curSubSystem.value = 'type4'
|
|
||||||
break
|
|
||||||
case 5:
|
|
||||||
subSystemName.value = '控制系统'
|
|
||||||
curSubSystem.value = 'type5'
|
|
||||||
break
|
|
||||||
case 6:
|
|
||||||
subSystemName.value = '环境/气象系统'
|
|
||||||
curSubSystem.value = 'type6'
|
|
||||||
break
|
|
||||||
}
|
|
||||||
visible.value = true
|
visible.value = true
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1443,6 +1393,7 @@ $labelHeight: 38px;
|
|||||||
// overflow-y: auto;
|
// overflow-y: auto;
|
||||||
// overflow-x: hidden;
|
// overflow-x: hidden;
|
||||||
.PitchPart {
|
.PitchPart {
|
||||||
|
width: calc(100% - 10px);
|
||||||
.Pitchitem {
|
.Pitchitem {
|
||||||
border: 1px solid #e1edf6;
|
border: 1px solid #e1edf6;
|
||||||
display: flex;
|
display: flex;
|
||||||
@ -1607,8 +1558,7 @@ $labelHeight: 38px;
|
|||||||
position: absolute;
|
position: absolute;
|
||||||
width: 15px;
|
width: 15px;
|
||||||
height: 15px;
|
height: 15px;
|
||||||
border-radius: 10px;
|
background-color: rgba(255, 255, 255, 0);
|
||||||
background-color: #ff7e00;
|
|
||||||
&:hover {
|
&:hover {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
@ -1618,28 +1568,83 @@ $labelHeight: 38px;
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
.index-1 {
|
.index-1 {
|
||||||
left: 25%;
|
left: 24%;
|
||||||
top: 60%;
|
top: 1%;
|
||||||
|
width: 12%;
|
||||||
|
height: 48%;
|
||||||
}
|
}
|
||||||
.index-2 {
|
.index-2 {
|
||||||
left: 52%;
|
left: 30%;
|
||||||
top: 53%;
|
top: 83%;
|
||||||
|
width: 15%;
|
||||||
|
height: 16%;
|
||||||
}
|
}
|
||||||
.index-3 {
|
.index-3 {
|
||||||
left: 65%;
|
left: 12.5%;
|
||||||
top: 60%;
|
top: 69%;
|
||||||
|
width: 4%;
|
||||||
|
height: 25%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.index-4 {
|
.index-4 {
|
||||||
left: 83%;
|
left: 46%;
|
||||||
top: 54%;
|
top: 49%;
|
||||||
|
width: 12%;
|
||||||
|
height: 15%;
|
||||||
}
|
}
|
||||||
.index-5 {
|
.index-5 {
|
||||||
left: 75%;
|
left: 66%;
|
||||||
top: 28%;
|
top: 35%;
|
||||||
|
width: 8%;
|
||||||
|
height: 14%;
|
||||||
|
transform: rotate(-51deg);
|
||||||
}
|
}
|
||||||
.index-6 {
|
.index-6 {
|
||||||
|
left: 60%;
|
||||||
|
top: 63%;
|
||||||
|
width: 27%;
|
||||||
|
height: 5%;
|
||||||
|
transform: rotate(-15deg);
|
||||||
|
}
|
||||||
|
.index-7 {
|
||||||
left: 73%;
|
left: 73%;
|
||||||
top: 4%;
|
top: 48%;
|
||||||
|
width: 7%;
|
||||||
|
height: 11%;
|
||||||
|
transform: rotate(-13deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
.index-8 {
|
||||||
|
left: 23%;
|
||||||
|
top: 53%;
|
||||||
|
width: 19%;
|
||||||
|
height: 26%;
|
||||||
|
}
|
||||||
|
.index-9 {
|
||||||
|
left: 50%;
|
||||||
|
top: 66%;
|
||||||
|
width: 9%;
|
||||||
|
height: 13%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.index-10 {
|
||||||
|
left: 67%;
|
||||||
|
top: 1%;
|
||||||
|
width: 12%;
|
||||||
|
height: 12%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.index-11 {
|
||||||
|
right: 16%;
|
||||||
|
bottom: 3%;
|
||||||
|
width: 13%;
|
||||||
|
height: 23%;
|
||||||
|
}
|
||||||
|
.index-12 {
|
||||||
|
right: 2%;
|
||||||
|
bottom: 3%;
|
||||||
|
width: 13%;
|
||||||
|
height: 23%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.Parameters {
|
.Parameters {
|
||||||
|
@ -62,7 +62,9 @@
|
|||||||
<el-form-item prop="interval" label="时间间隔:">
|
<el-form-item prop="interval" label="时间间隔:">
|
||||||
<el-select v-model="seachOptions.interval" placeholder="请选择时间间隔" style="width: 100px">
|
<el-select v-model="seachOptions.interval" placeholder="请选择时间间隔" style="width: 100px">
|
||||||
<el-option label="原始" value="40s"></el-option>
|
<el-option label="原始" value="40s"></el-option>
|
||||||
|
<el-option label="1分钟" value="1m"></el-option>
|
||||||
<el-option label="5分钟" value="5m"></el-option>
|
<el-option label="5分钟" value="5m"></el-option>
|
||||||
|
<el-option label="10分钟" value="10m"></el-option>
|
||||||
<el-option label="15分钟" value="15m"></el-option>
|
<el-option label="15分钟" value="15m"></el-option>
|
||||||
<el-option label="1小时" value="1h"></el-option>
|
<el-option label="1小时" value="1h"></el-option>
|
||||||
<el-option label="1天" value="1d"></el-option>
|
<el-option label="1天" value="1d"></el-option>
|
||||||
|
@ -148,7 +148,7 @@ const shortcuts = [
|
|||||||
text: '今天',
|
text: '今天',
|
||||||
value: () => {
|
value: () => {
|
||||||
const start = getFormattedDate(0) + ' 00:00:00'
|
const start = getFormattedDate(0) + ' 00:00:00'
|
||||||
const end = new Date()
|
const end = getFormattedDate(0) + ' 23:59:59'
|
||||||
return [start, end]
|
return [start, end]
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -200,11 +200,13 @@ const dateValue = ref('')
|
|||||||
const windBlowerValue = ref('')
|
const windBlowerValue = ref('')
|
||||||
const windBlowerList = ref<WindBlowerList[]>([])
|
const windBlowerList = ref<WindBlowerList[]>([])
|
||||||
// 时间
|
// 时间
|
||||||
const timeRange = ref([])
|
const timeRange = ref([]) as any
|
||||||
// 间隔
|
// 间隔
|
||||||
const interval = ref('')
|
const interval = ref('15m')
|
||||||
const intervals = [
|
const intervals = [
|
||||||
|
{ label: '一分钟', value: '1m' },
|
||||||
{ label: '五分钟', value: '5m' },
|
{ label: '五分钟', value: '5m' },
|
||||||
|
{ label: '十分钟', value: '10m' },
|
||||||
{ label: '十五分钟', value: '15m' },
|
{ label: '十五分钟', value: '15m' },
|
||||||
{ label: '一小时', value: '1h' },
|
{ label: '一小时', value: '1h' },
|
||||||
{ label: '一天', value: '1d' },
|
{ label: '一天', value: '1d' },
|
||||||
@ -321,6 +323,7 @@ const queryWindBlower = () => {
|
|||||||
modelId: item.modelId,
|
modelId: item.modelId,
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
windBlowerValue.value = windBlowerList.value?.[0].irn
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -450,7 +453,7 @@ const queryHistoryData = () => {
|
|||||||
tableData.push({
|
tableData.push({
|
||||||
name: item,
|
name: item,
|
||||||
times: realResult[item].times,
|
times: realResult[item].times,
|
||||||
value: realResult[item].values,
|
value: realResult[item].values.map((val: any) => (val === 0 ? 0 : val.toFixed(2))),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@ -529,6 +532,7 @@ const timestampToTime = (timestamp: any) => {
|
|||||||
|
|
||||||
getReportTemplateList()
|
getReportTemplateList()
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
|
timeRange.value = shortcuts[0].value()
|
||||||
queryWindBlower()
|
queryWindBlower()
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="report">
|
<div class="report">
|
||||||
<el-container class="mainContainer">
|
<el-container class="mainContainer">
|
||||||
<el-tabs v-model="activeIndex" class="demo-tabs" @tab-click="handleClick">
|
<SingleReport />
|
||||||
|
<!-- <el-tabs v-model="activeIndex" class="demo-tabs" @tab-click="handleClick">
|
||||||
<el-tab-pane label="运行报表" name="1" class="runningReport">
|
<el-tab-pane label="运行报表" name="1" class="runningReport">
|
||||||
<RunningReport v-if="activeIndex == '1'"></RunningReport>
|
<RunningReport v-if="activeIndex == '1'"></RunningReport>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
@ -11,7 +12,7 @@
|
|||||||
<el-tab-pane label="多机报表" name="3" class="mltipleReport">
|
<el-tab-pane label="多机报表" name="3" class="mltipleReport">
|
||||||
<MulipleReport v-if="activeIndex == '3'"></MulipleReport>
|
<MulipleReport v-if="activeIndex == '3'"></MulipleReport>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
</el-tabs>
|
</el-tabs> -->
|
||||||
</el-container>
|
</el-container>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -40,7 +41,7 @@ const handleClick = (val: any) => {
|
|||||||
.mainContainer {
|
.mainContainer {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
padding: 0 20px;
|
padding: 20px;
|
||||||
.el-tabs {
|
.el-tabs {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
--el-tabs-header-height: 60px;
|
--el-tabs-header-height: 60px;
|
||||||
|
Loading…
Reference in New Issue
Block a user