修改 弹框样式

This commit is contained in:
GGJ
2024-09-30 15:37:33 +08:00
parent d59ee50549
commit e67438cc76
15 changed files with 127 additions and 141 deletions

View File

@@ -197,9 +197,11 @@ const handlerXAxis = () => {
// textStyle: {
fontFamily: 'dinproRegular',
color: '#000',
fontSize: '12'
fontSize: '12',
// }
}
}
// props.options?.xAxis 是数组还是对象
if (Array.isArray(props.options?.xAxis)) {

View File

@@ -1,5 +1,5 @@
<template>
<div style="width: 600px">
<div style="width: 540px">
<el-select v-model="interval" style="min-width: 90px; width: 90px; margin-right: 10px" @change="timeChange">
<el-option v-for="item in timeOptions" :key="item.value" :label="item.label" :value="item.value" />
</el-select>

View File

@@ -1,7 +1,7 @@
<template>
<el-dialog class="cn-operate-dialog" v-model="dialogVisible" :title="title">
<el-dialog class="cn-operate-dialog" width="700px" v-model="dialogVisible" :title="title">
<el-scrollbar>
<el-form :inline="false" :model="form" label-width="120px">
<el-form :inline="false" :model="form" label-width="auto" class="form-one">
<el-form-item label="上级菜单">
<el-cascader
v-model="form.pid"

View File

@@ -1,7 +1,6 @@
<template>
<el-dialog class="cn-operate-dialog" v-model="dialogVisible" :title="title">
<el-scrollbar>
<el-form :inline="false" :model="form" label-width="120px" :rules="rules">
<el-dialog class="cn-operate-dialog" width="700px" v-model="dialogVisible" :title="title">
<el-form :inline="false" :model="form" label-width="auto" class="form-one" :rules="rules">
<el-form-item label="角色名称">
<el-input v-model="form.name" placeholder="请输入菜单名称" />
</el-form-item>
@@ -12,7 +11,6 @@
<el-input v-model="form.remark" :rows="2" type="textarea" placeholder="请输入描述" />
</el-form-item>
</el-form>
</el-scrollbar>
<template #footer>
<span class="dialog-footer">

View File

@@ -1,7 +1,7 @@
<template>
<el-dialog class="cn-operate-dialog" v-model="dialogVisible" :title="title">
<el-scrollbar>
<el-form :inline="true" :model="form" label-width="120px" :rules="rules">
<el-form :model="form" label-width="auto" class="form-two" :rules="rules">
<el-form-item label="用户名" prop="name">
<el-input v-model="form.name" placeholder="请输入昵称" />
</el-form-item>
@@ -37,7 +37,7 @@
</el-select>
</el-form-item>
<el-form-item label="所属部门" prop="deptId">
<Area style="width: 200px" v-model="form.deptId" />
<Area v-model="form.deptId" />
</el-form-item>
<el-form-item label="角色" prop="role">
<el-select v-model="form.role" placeholder="请选择角色" multiple collapse-tags>
@@ -57,7 +57,7 @@
<el-input v-model="form.email" placeholder="请输入描述" />
</el-form-item>
<el-form-item label="时间段" prop="limitTime">
<el-slider v-model="form.limitTime" style="width: 200px" range show-stops :max="24" />
<el-slider v-model="form.limitTime" style="width: 95%" range show-stops :max="24" />
</el-form-item>
<el-form-item label="起始IP" prop="limitIpStart">
<el-input v-model="form.limitIpStart" placeholder="请输入描述" />
@@ -88,14 +88,14 @@
:disabled="title !== '新增用户'"
v-model="form.id"
placeholder="请输入用户id"
v-if="useId"
style="flex: 1"
style="flex: 1;"
class="ml10"
></el-input>
</div>
</el-form-item>
</el-form>
</el-scrollbar>
<template #footer>
<span class="dialog-footer">

View File

@@ -3,6 +3,9 @@
<DeviceTree @node-click="nodeClick" @init="nodeClick"></DeviceTree>
<div class="analyze-apf-right" v-if="formInline.devId">
<el-form :inline="true">
<el-form-item label="时间:">
<DatePicker ref="datePickerRef"></DatePicker>
</el-form-item>
<el-form-item label="统计指标:">
<el-select v-model="formInline.statisticalId" filterable placeholder="请选择">
<el-option v-for="item in zblist" :key="item.value" :label="item.label"
@@ -15,9 +18,7 @@
:value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="时间:">
<DatePicker ref="datePickerRef"></DatePicker>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="search" icon="el-icon-Search">查询</el-button>
</el-form-item>
@@ -46,7 +47,7 @@ import { getDevCapacity } from '@/api/cs-device-boot/capacity'
import { queryCommonStatisticalByTime } from '@/api/cs-harmonic-boot/stable'
import DatePicker from '@/components/form/datePicker/index.vue'
import MyEchart from '@/components/echarts/MyEchart.vue'
import { yMethod } from '@/utils/echartMethod'
defineOptions({
name: 'govern/analyze/APF'
})
@@ -134,6 +135,35 @@ const search = () => {
legend.push(item.anotherName)
}
})
let aar = data
.map(item => {
if (item.statisticalName === 'Apf_RmsI_TolOut') {
return [item.time, item.statisticalData.toFixed(2)]
} else {
return ''
}
})
.filter(item => item !== '')
let aar1 = data
.map(item => {
if (item.statisticalName === 'Apf_ThdA_Load') {
return [item.time, item.statisticalData.toFixed(2)]
} else {
return ''
}
})
.filter(item => item !== '')
let aar2 = data
.map(item => {
if (item.statisticalName === 'Apf_ThdA_Sys') {
return [item.time, item.statisticalData.toFixed(2)]
} else {
return ''
}
})
.filter(item => item !== '')
let series = [
// 总输出电流
{
@@ -142,15 +172,7 @@ const search = () => {
smooth: true,
type: 'line',
//stack: 'Total',
data: data
.map(item => {
if (item.statisticalName === 'Apf_RmsI_TolOut') {
return item.statisticalData
} else {
return ''
}
})
.filter(item => item !== ''),
data: aar,
markLine: {
symbol: 'none',
data: [
@@ -172,15 +194,7 @@ const search = () => {
symbol: 'none',
smooth: true,
type: 'line',
data: data
.map(item => {
if (item.statisticalName === 'Apf_ThdA_Load') {
return item.statisticalData
} else {
return ''
}
})
.filter(item => item !== '')
data: aar1
},
// 电网电流畸变率
{
@@ -188,17 +202,12 @@ const search = () => {
symbol: 'none',
smooth: true,
type: 'line',
data: data
.map(item => {
if (item.statisticalName === 'Apf_ThdA_Sys') {
return item.statisticalData
} else {
return ''
}
})
.filter(item => item !== '')
data: aar2
}
]
let [min, max] = yMethod(aar.map((item: any) => item[1]))
let [min1, max1] = yMethod([...aar1, ...aar2].map((item: any) => item[1]))
echartsData.value = {
tooltip: {
trigger: 'axis',
@@ -225,30 +234,40 @@ const search = () => {
},
xAxis: {
name: '时间',
type: 'category',
boundaryGap: false,
data: xAxis,
type: 'time',
axisLabel: {
formatter: function (value: string) {
return value.split(' ').join('\n')
}
formatter: {
day: '{MM}-{dd}',
month: '{MM}',
year: '{yyyy}',
},
axisLine: {
show: true,
// symbol: ["none", "arrow"],
lineStyle: {
color: '#333'
}
}
},
// boundaryGap: false,
// data: xAxis,
// axisLabel: {
// formatter: function (value: string) {
// return value.split(' ').join('\n')
// }
// },
// axisLine: {
// show: true,
// // symbol: ["none", "arrow"],
// lineStyle: {
// color: '#333'
// }
// }
},
yAxis: [
{
name: '畸变率:(%)',
type: 'value',
// max: 10,
min: 0,
min: min1,
max: max1,
splitNumber: 5,
minInterval: 1,
// interval: 1,
axisLine: {
show: true,
//symbol: ["none", "arrow"],
@@ -260,18 +279,10 @@ const search = () => {
{
name: '电流:(A)',
type: 'value',
min: 0,
minInterval: 1, //分割刻度
// 寻找data最大值
// interval: 1,
max:
series[0].data.reduce((a, b) => Math.max(a, b)) > devCapacity.value
? series[0].data.reduce((a, b) => Math.max(a, b))
: devCapacity.value + devCapacity.value * 0.5,
// interval:
// (series[0].data.reduce((a, b) => Math.max(a, b)) > devCapacity.value
// ? series[0].data.reduce((a, b) => Math.max(a, b)).toFixed(0)
// : (devCapacity.value) / 10).toFixed(0),
min: min,
max: max,
splitNumber: 5,
minInterval: 1,
splitLine: {
show: false,
},

View File

@@ -228,7 +228,8 @@ const init = () => {
axisLabel: {
formatter: {
day: '{MM}-{dd}',
month: '{MM}',
year: '{yyyy}',
}
}
// data: res.data[0].map((item: any) => {

View File

@@ -283,7 +283,8 @@ const init = async () => {
axisLabel: {
formatter: {
day: '{MM}-{dd}',
month: '{MM}',
year: '{yyyy}',
}
},},
// [

View File

@@ -4,7 +4,7 @@
<div class="device-manage-right" :style="{ height: pageHeight.height }">
<el-descriptions title="用户基本信息" class="mb10" :column="2" border>
<template #extra>
<el-button type="primary" size="small" icon="el-icon-Plus" @click="getMarketEnginner">
<el-button type="primary" icon="el-icon-Plus" @click="getMarketEnginner">
添加工程
</el-button>
</template>

View File

@@ -22,12 +22,8 @@
<p>测试项信息</p>
</div> -->
<el-tabs v-model="activeName" type="border-card" @click="handleClickTabs">
<el-tab-pane
v-for="(item, index) in deviceData.records"
:label="item.itemName"
:name="item.id"
:key="index"
>
<el-tab-pane v-for="(item, index) in deviceData.records" :label="item.itemName"
:name="item.id" :key="index">
<template #label>
<span class="custom-tabs-label">
<el-icon>
@@ -105,20 +101,10 @@
<div class="history_header">
<el-form :model="searchForm" class="history_select" id="history_select">
<el-form-item label="统计指标" label-width="80px">
<el-select
collapse-tags
collapse-tags-tooltip
v-model="searchForm.index"
placeholder="请选择统计指标"
multiple
:multiple-limit="3"
>
<el-option
v-for="item in indexOptions"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
<el-select collapse-tags collapse-tags-tooltip v-model="searchForm.index"
placeholder="请选择统计指标" multiple :multiple-limit="3">
<el-option v-for="item in indexOptions" :key="item.id" :label="item.name"
:value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="值类型">
@@ -128,36 +114,20 @@
</el-select>
</el-form-item>
<div v-for="(item, index) in countData" :key="index">
<el-form-item
:label="item.name + '谐波次数'"
label-width="180px"
v-if="item.countOptions.length != 0"
>
<el-form-item :label="item.name + '谐波次数'" label-width="180px"
v-if="item.countOptions.length != 0">
<!-- multiple -->
<el-select
v-model="item.count"
collapse-tags
collapse-tags-tooltip
placeholder="请选择谐波次数"
style="width: 100px"
>
<el-option
v-for="vv in item.countOptions"
:key="vv"
:label="vv"
:value="vv"
></el-option>
<el-select v-model="item.count" collapse-tags collapse-tags-tooltip
placeholder="请选择谐波次数" style="width: 100px">
<el-option v-for="vv in item.countOptions" :key="vv" :label="vv"
:value="vv"></el-option>
</el-select>
</el-form-item>
</div>
<el-form-item label="统计类型" label-width="80px">
<el-select v-model="searchForm.type" placeholder="请选择值类型">
<el-option
v-for="item in typeOptions"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
<el-option v-for="item in typeOptions" :key="item.id" :label="item.name"
:value="item.id"></el-option>
</el-select>
</el-form-item>
</el-form>
@@ -534,7 +504,9 @@ const init = (flag: boolean) => {
type: 'time',
axisLabel: {
formatter: {
day: '{MM}-{dd}'
day: '{MM}-{dd}',
month: '{MM}',
year: '{yyyy}',
}
}
},

View File

@@ -1,9 +1,9 @@
<template>
<el-dialog class="cn-operate-dialog" width="800px" v-model="dialogVisible" :title="title">
<el-scrollbar>
<el-form class="form-two" :model="form" label-width="120px" ref="formRef" :rules="rules">
<el-form-item label="装置类型:" prop="type">
<el-select v-model="form.type" placeholder="请选择" @change="typeChange">
<el-select v-model="form.type" filterable placeholder="请选择" @change="typeChange">
<el-option
v-for="item in TypeOptions"
:key="item.id"
@@ -13,7 +13,7 @@
</el-select>
</el-form-item>
<el-form-item label="装置型号:" prop="devType">
<el-select v-model="form.devType" placeholder="请选择" @change="devTypeChange">
<el-select v-model="form.devType" placeholder="请选择" filterable @change="devTypeChange">
<el-option
v-for="item in DevTypeOptions"
:key="item.id"
@@ -64,7 +64,6 @@
</el-upload>
</el-form-item>
</el-form>
</el-scrollbar>
<template #footer>
<span class="dialog-footer">

View File

@@ -8,7 +8,7 @@
v-bind="defaultAttribute"
:data="tableStore.table.data"
:column-config="{ resizable: true }"
:tree-config="{}"
:tree-config="{expandAll: true }"
>
<vxe-column field="name" align="left" title="名称" tree-node></vxe-column>
<vxe-column field="area" title="区域">
@@ -49,7 +49,7 @@ onMounted(() => {
tableStore.index()
setTimeout(() => {
tableRef.value.setAllTreeExpand(true)
}, 100)
}, 500)
})
const addMenu = () => {}

View File

@@ -73,9 +73,9 @@
:close-on-click-modal="false"
:before-close="resetForm"
draggable
width="40%"
width="800px"
>
<el-form :model="form" label-width="120px" :rules="rules" ref="ruleFormRef" class="form-two">
<el-form :model="form" label-width="auto" :rules="rules" ref="ruleFormRef" class="form-two">
<el-form-item label="设备名称:" prop="name">
<el-input
v-model="form.name"

View File

@@ -20,7 +20,8 @@
</template>
</TableHeader>
<div class="box">
<div id="luckysheet" v-loading="tableStore.table.loading" :style="`height: calc(${tableStore.table.height} + 45px)`"></div>
<div id="luckysheet" v-loading="tableStore.table.loading"
:style="`height: calc(${tableStore.table.height} + 45px)`"></div>
</div>
</pane>
</splitpanes>
@@ -39,7 +40,7 @@ import 'splitpanes/dist/splitpanes.css'
import { Splitpanes, Pane } from 'splitpanes'
// import data from './123.json'
defineOptions({
name: 'reportCore/statistics'
name: 'govern/reportCore/statistics/index'
})
const height = mainHeight(20)
const size = ref(0)
@@ -95,7 +96,7 @@ const tableStore = new TableStore({
}
})
provide('tableStore', tableStore)
const flag = ref(true)
onMounted(() => {
const dom = document.getElementById('navigation-splitpanes')
if (dom) {
@@ -106,6 +107,7 @@ getTemplateByDept({ id: dictData.state.area[0].id }).then((res: any) => {
templatePolicy.value = res.data
Template.value = res.data[0]
reportForm.value = res.data[0]?.reportForm
})
@@ -114,10 +116,11 @@ const changetype = (val: any) => {
}
const handleNodeClick = (data: any, node: any) => {
console.log(data.level, "+++++++++++++");
if (data.level == 3) {
dotList.value = data
setTimeout(() => {
tableStore.index()
},500)
}
}

View File

@@ -1,7 +1,7 @@
<template>
<el-dialog class="cn-operate-dialog" v-model="dialogVisible" :title="title">
<el-scrollbar>
<el-form :inline="false" :model="form" label-width="120px">
<el-dialog width="500px" v-model="dialogVisible" :title="title">
<el-form :model="form" class="form-one" label-width="auto">
<el-form-item label="名称">
<el-input v-model="form.name" placeholder="请输入名称" />
</el-form-item>
@@ -15,7 +15,6 @@
<el-input-number v-model="form.sort" :min="0" />
</el-form-item>
</el-form>
</el-scrollbar>
<template #footer>
<span class="dialog-footer">