测试用例修改

This commit is contained in:
sjl
2025-07-25 14:15:26 +08:00
parent f670802868
commit c47d524f9d
24 changed files with 118 additions and 49 deletions

View File

@@ -234,6 +234,7 @@ const setTheDate = (val: any) => {
}
// 导出
const onExport = () => {
console.log('导出')
tableStore.onTableAction('export', { showAllFlag: true })
}

View File

@@ -63,7 +63,7 @@ const loadData = () => {
form.statisticalType = classificationData.find((item: any) => item.id == form.statisticalType)
let nodeKey = ''
getTerminalTreeForFive(form).then(res => {
console.log(res)
console.log('---',res)
if (obj.code == 'Power_Network') {
res.data = [
{

View File

@@ -78,7 +78,7 @@
投运
</el-tag>
<el-tag v-if="row.runFlag === 1" style="color: #fff; background: #996600" size="small">
热备用
检修
</el-tag>
<el-tag v-if="row.runFlag === 2" style="color: #fff; background: #A52a2a" size="small">
停运
@@ -198,7 +198,7 @@ const teriminaloption: any = ref([])
const teriminalstatusoption = ref([
{ name: '全部', id: '' },
{ name: '投运', id: 0 },
{ name: '热备用', id: 1 },
{ name: '检修', id: 1 },
{ name: '停运', id: 2 }
])
const stateoption = ref([

View File

@@ -29,7 +29,7 @@
<vxe-column field="runFlag" title="终端状态" v-if="key == 0">
<template #default="{ row }">
<el-tag v-if="row.runFlag === 0" type="success" size="small">投运</el-tag>
<el-tag v-if="row.runFlag === 1" type="warning" size="small">热备用</el-tag>
<el-tag v-if="row.runFlag === 1" type="warning" size="small">检修</el-tag>
<el-tag v-if="row.runFlag === 2" type="danger" size="small">停运</el-tag>
</template>
</vxe-column>
@@ -69,7 +69,7 @@ const formInline = reactive({
const ids = ref([])
const options = [
{ value: '0', label: '投运' },
{ value: '1', label: '热备用' },
{ value: '1', label: '检修' },
{ value: '2', label: '停运' }
]
const open = (e: any) => {

View File

@@ -114,7 +114,7 @@
<vxe-column field="runFlag" title="终端状态">
<template #default="{ row }">
<el-tag v-if="row.runFlag === 0" type="success" size="small">投运</el-tag>
<el-tag v-if="row.runFlag === 1" type="warning" size="small">热备用</el-tag>
<el-tag v-if="row.runFlag === 1" type="warning" size="small">检修</el-tag>
<el-tag v-if="row.runFlag === 2" type="danger" size="small">停运</el-tag>
</template>
</vxe-column>
@@ -172,7 +172,7 @@ const teriminaloption: any = ref([])
const teriminalstatusoption = ref([
{ name: '全部', id: '' },
{ name: '投运', id: 0 },
{ name: '热备用', id: 1 },
{ name: '检修', id: 1 },
{ name: '停运', id: 2 }
])
const stateoption = ref([

View File

@@ -8,11 +8,11 @@
@clear="TreeList = {}" />
</el-form-item>
<el-form-item label="名称" prop="name" v-if="title == '修改算法' ? TreeList.level != 4 : TreeList.level != 3">
<el-input v-model="form.name" placeholder="名称" clearable />
<el-input v-model="form.name" placeholder="名称" clearable maxlength="32" show-word-limit @input="handleInput('name', $event)"/>
</el-form-item>
<!-- <div v-if="title == '修改算法' ? TreeList.level == 4 : TreeList.level == 3"> -->
<el-form-item label="算法名称" prop="name" v-if="title == '修改算法' ? TreeList.level == 4 : TreeList.level == 3">
<el-input v-model="form.name" placeholder="请输入算法名称" clearable />
<el-input v-model="form.name" placeholder="请输入算法名称" clearable maxlength="32" show-word-limit @input="handleInput('name', $event)"/>
</el-form-item>
<el-form-item label="计算周期" prop="period" v-if="title == '修改算法' ? TreeList.level == 4 : TreeList.level == 3">
<el-select v-model="form.period" placeholder="请选择计算周期" clearable>
@@ -20,7 +20,7 @@
</el-select>
</el-form-item>
<el-form-item label="数据来源" prop="source" v-if="title == '修改算法' ? TreeList.level == 4 : TreeList.level == 3">
<el-input v-model="form.source" placeholder="请输入数据来源" clearable />
<el-input v-model="form.source" placeholder="请输入数据来源" clearable maxlength="32" show-word-limit @input="handleInput('source', $event)"/>
</el-form-item>
<!-- <el-form-item label="定义" prop="definition" style="width: 100%;" v-if="title == '修改算法' ? TreeList.level == 4 : TreeList.level == 3">
@@ -29,7 +29,7 @@
<!-- </div> -->
</el-form>
<div style="display: flex" v-if="title == '修改算法' ? TreeList.level == 4 : TreeList.level == 3">
<div style="width: 120px;margin-right: 12px;text-align: end;">定义</div>
<div style="width: 140px;margin-right: -20px;text-align: center;flex-shrink: 0;">定义</div>
<editor v-model="form.definition" />
</div>
@@ -177,5 +177,14 @@ const getTheTree = () => {
})
}
const handleInput = (field: string, value: string) => {
// 过滤空格
const filteredValue = value.replace(/\s/g, '')
if (filteredValue !== value) {
form[field] = filteredValue
}
}
defineExpose({ open })
</script>

View File

@@ -64,9 +64,11 @@ const open = (row: any) => {
}
// 上传
const choose = (e: any) => {
ElMessage.info('上传中,请稍等...')
const loadingMessage = ElMessage.info({ message: '上传中,请稍等...', duration: 0 }); // duration: 0 表示不自动关闭
uploadFile(e.raw, '/supervision/').then((row: any) => {
addStandardCase({ caseUrl: row.data.name }).then(res => {
loadingMessage.close(); // 关闭 "上传中" 提示
ElMessage.success('上传成功!')
queryStandardCase().then(res => {
open(res.data)

View File

@@ -4,7 +4,7 @@
<el-scrollbar>
<el-form :inline="false" :model="form" class="form-two" label-width="auto" :rules="rules" ref="formRef">
<el-form-item label="事件名称" prop="name">
<el-input v-model="form.name" placeholder="请输入事件名称" maxlength="32" type="textarea" show-word-limit :autosize="{ minRows: 2, maxRows: 4 }"/>
<el-input v-model="form.name" placeholder="请输入事件名称" maxlength="32" type="textarea" show-word-limit :autosize="{ minRows: 2, maxRows: 4 }" @input="handleInput('name', $event)"/>
</el-form-item>
<!-- <el-form-item label="发生事件" prop="type">
<el-input
@@ -16,20 +16,20 @@
</el-form-item> -->
<el-form-item label="发生地点" prop="location">
<el-input v-model="form.location" placeholder="请输入发生地点" :autosize="{ minRows: 2, maxRows: 4 }"
type="textarea" maxlength="32" show-word-limit/>
type="textarea" maxlength="32" show-word-limit @input="handleInput('location', $event)"/>
</el-form-item>
<el-form-item label="事件经过" prop="process">
<el-input v-model="form.process" placeholder="请输入事件经过" :autosize="{ minRows: 2, maxRows: 4 }"
type="textarea" maxlength="32" show-word-limit/>
type="textarea" maxlength="32" show-word-limit @input="handleInput('process', $event)"/>
</el-form-item>
<el-form-item label="处理措施" prop="measures">
<el-input v-model="form.measures" placeholder="请输入处理措施" :autosize="{ minRows: 2, maxRows: 4 }"
type="textarea" maxlength="32" show-word-limit/>
type="textarea" maxlength="32" show-word-limit @input="handleInput('measures', $event)"/>
</el-form-item>
<el-form-item label="治理效果" prop="effect">
<el-input v-model="form.effect" placeholder="请输入治理效果" :autosize="{ minRows: 2, maxRows: 4 }"
type="textarea" maxlength="32" show-word-limit/>
type="textarea" maxlength="32" show-word-limit @input="handleInput('effect', $event)"/>
</el-form-item>
<el-form-item label="附件">
<el-upload v-model:file-list="fileList" action="" :auto-upload="false" multiple>
@@ -38,9 +38,13 @@
</el-form-item>
</el-form>
<div style="display: flex">
<!-- <div style="display: flex">
<div style="width: 80px">事件简介</div>
<editor v-model="form.summary" />
</div> -->
<div style="display: flex; align-items: start;">
<div style="width: 80px; flex-shrink: 0;">事件简介</div>
<editor v-model="form.summary" />
</div>
</el-scrollbar>
<template #footer>
@@ -171,6 +175,15 @@ const handleClose = () => {
dialogVisible.value = false
}
const handleInput = (field: string, value: string) => {
// 过滤空格
const filteredValue = value.replace(/\s/g, '')
if (filteredValue !== value) {
form[field] = filteredValue
}
}
defineExpose({ open })
</script>
<style lang="scss" scoped>

View File

@@ -13,7 +13,7 @@
checkStrictly :props="cascaderProps" @change="change" />
</el-form-item>
<el-form-item label="名称" prop="name">
<el-input v-model="form.name" placeholder="名称" maxlength="32" show-word-limit/>
<el-input v-model="form.name" placeholder="名称" maxlength="32" show-word-limit @input="handleInput"/>
</el-form-item>
<el-form-item label="标准" v-if="title == '新增' && form.pid?.length > 0">
@@ -217,6 +217,14 @@ const handleClose = () => {
emit('onSubmit')
dialogVisible.value = false
}
const handleInput = (value: string) => {
// 过滤空格
const filteredValue = value.replace(/\s/g, '')
if (filteredValue !== value) {
form.name = filteredValue
}
}
defineExpose({ open })
</script>
<style lang="scss" scoped>

View File

@@ -3,7 +3,7 @@
<el-scrollbar>
<el-form :inline="false" :model="form" label-width="auto" :rules="rules" ref="formRef">
<el-form-item label="模版名称" prop="name">
<el-input v-model="form.name" placeholder="请输入模版名称" maxlength="32" show-word-limit/>
<el-input v-model="form.name" placeholder="请输入模版名称" maxlength="32" show-word-limit @input="handleInput"/>
</el-form-item>
<el-form-item label="模版">
@@ -149,6 +149,18 @@ const handleClose = () => {
emit('onSubmit')
dialogVisible.value = false
}
const handleInput = (value: string) => {
// 过滤空格
const filteredValue = value.replace(/\s/g, '')
if (filteredValue !== value) {
form.name = filteredValue
}
}
// ... 其余代码保持不变 ...
defineExpose({ open })
</script>
<style lang="scss" scoped>

View File

@@ -154,6 +154,7 @@ import TableStore from '@/utils/tableStore'
import Table from '@/components/table/index.vue'
import charts from './components/charts.vue'
import { ElMessage, ElMessageBox } from 'element-plus'
import { el, fa, tr } from 'element-plus/es/locale'
defineOptions({
name: 'harmonic-boot/harmonic/getIntegrityData'
})
@@ -181,6 +182,7 @@ const getTreeData = async () => {
idArr.value.push(element.id)
})
treeData.value = JSON.parse(JSON.stringify(res.data))
})
}
@@ -224,7 +226,6 @@ const tableStore = new TableStore({
treeNode: true,
width: 350,
formatter: function (row) {
console.log('🚀 ~ row:', row)
return row.cellValue ? row.cellValue : '/'
}
},
@@ -322,11 +323,12 @@ const tableStore = new TableStore({
},
loadCallback: () => {
tableStore.table.data = tree2List(tableStore.table.data, Math.random() * 1000)
tableStore.table.column[0].title = formData.value.statisticalType.name
tableStore.table.column[0].type = "html"
chartsRef.value && chartsRef.value.getTableStoreParams(tableStore.table.params)
setTimeout(() => {
activeName.value == 0 && tableRef.value && tableRef.value.getRef().setAllTreeExpand(true)
}, 0)
},
resetCallback:() =>{
@@ -336,6 +338,7 @@ const tableStore = new TableStore({
formData.value.scale = voltageleveloption
formData.value.manufacturer = terminaloption
formData.value.loadType = interfereoption
}
})
@@ -415,8 +418,9 @@ const makeUpSubmit = () => {
reCallEndTime: timeData.value[1],
reCallStartTime: timeData.value[0]
}).then(res => {
ElMessage({
message: res.message,
message: "补招命令下发成功",
type: 'success'
})
dialogVisible.value = false
@@ -437,6 +441,7 @@ watch(
)
</script>
<style lang="scss" scoped>
// .online {
// width: 100%;
// height: 100%;

View File

@@ -104,7 +104,7 @@ const tableStore = new TableStore({
text: title
},
legend: {
data: ['投运', '热备用', '停运'],
data: ['投运', '检修', '停运'],
left: '4%',
textStyle: {
color: '#666666'
@@ -214,7 +214,7 @@ const tableStore = new TableStore({
data: chartsData.value.runFlag
},
{
name: '热备用',
name: '检修',
type: 'bar',
// stack: 'false',
barMaxWidth: 24,

View File

@@ -21,9 +21,9 @@
{{ scope.row.overLineCount == 3.14159 ? '暂无数据' : scope.row.overLineCount }}
</template>
</vxe-column>
<vxe-column field="ratio" title="超标测点占比(%)">
<vxe-column field="lineRatio" title="超标测点占比(%)">
<template #default="scope">
{{ scope.row.ratio == 3.14159 ? '暂无数据' : scope.row.ratio }}
{{ scope.row.lineRatio == 3.14159 ? '暂无数据' : scope.row.lineRatio }}
</template>
</vxe-column>
<vxe-column field="averageOverDay" min-width="120" title="平均超标天数(天/点)">

View File

@@ -404,6 +404,7 @@ const histogram = (res: any) => {
onMounted(() => {
tableStore.index()
console.log(tableStore.da)
})
const layout = mainHeight(133) as any
const layout1 = mainHeight(93) as any

View File

@@ -159,16 +159,21 @@ const init = (row: any) => {
},
xAxis: {
data: xData.map(num => `${num}次`)
},
yAxis: {
name: tabsList.value[activeName.value].unit // 更新Y轴单位
},
series: [
{
name: tabsList.value[activeName.value].groupName,
name: tabsList.value[activeName.value].groupName + '(' + tabsList.value[activeName.value].unit + ')' ,
type: 'bar',
data: xData.map(num => {
return tabsList.value[activeName.value].data[`h${num}`]
})
},
{
name: '国标限值(' + tabsList.value[activeName.value].unit + ')', // 更新series名称中的单位
type: 'bar',
data: xData.map(num => {
return (
crossTheLine.value[
@@ -192,21 +197,20 @@ const echarts = (num: number) => {
text: ''
},
xAxis: {
name: tabsList.value[num].unit,
name: "次数",
data: []
},
yAxis: {},
yAxis: {name: tabsList.value[num].unit},
color: ['#2E8B57', '#DAA520'],
options: {
series: [
{
name: tabsList.value[num].groupName,
type: 'bar',
data: []
},
{
name: '国标限值(%)',
name: '国标限值('+ tabsList.value[num].unit +')',
type: 'bar',
// label: {
// normal: {
@@ -221,8 +225,9 @@ const echarts = (num: number) => {
}
onMounted(() => {
tabsList.value[0].echartsData = echarts(0)
tabsList.value[0].echartsData = echarts(1)
tabsList.value[0].echartsData = echarts(2)
tabsList.value[1].echartsData = echarts(1)
tabsList.value[2].echartsData = echarts(2)
console.log(tabsList.value)
getOverLimitData({ id: monitoringPoint.state.lineId }).then(res => {
crossTheLine.value = res.data
})

View File

@@ -83,7 +83,7 @@ const communicationstatus = [
]
const terminalstatus = [
{ value: 0, label: "投运" },
{ value: 1, label: "热备用" },
{ value: 1, label: "检修" },
{ value: 2, label: "停运" },
]
const tableStore = new TableStore({

View File

@@ -128,7 +128,7 @@ const communicationstatus = [
]
const terminalstatus = [
{ value: 0, label: '投运' },
{ value: 1, label: '热备用' },
{ value: 1, label: '检修' },
{ value: 2, label: '停运' }
]
const tableStore = new TableStore({
@@ -167,7 +167,7 @@ const tableStore = new TableStore({
minWidth: 100,
custom: {
投运: 'success',
热备用: 'warning',
检修: 'warning',
停运: 'danger'
}
},

View File

@@ -120,7 +120,7 @@
</el-descriptions-item>
<el-descriptions-item label="终端状态">
{{
infoWindowPoint.runFlag == 0 ? '投运' : infoWindowPoint.runFlag == 1 ? '热备用' : '停运'
infoWindowPoint.runFlag == 0 ? '投运' : infoWindowPoint.runFlag == 1 ? '检修' : '停运'
}}
</el-descriptions-item>
<el-descriptions-item label="通讯状态">

View File

@@ -7,7 +7,7 @@
</div>
<div class="div">
<img src="@/assets/rby.png" alt="" />
<span>热备用</span>
<span>检修</span>
</div>
<div class="div">
<img src="@/assets/ty.png" alt="" />
@@ -97,7 +97,7 @@
</el-descriptions-item>
<el-descriptions-item label="终端状态">
{{
infoWindowPoint.runFlag == 0 ? '投运' : infoWindowPoint.runFlag == 1 ? '热备用' : '停运'
infoWindowPoint.runFlag == 0 ? '投运' : infoWindowPoint.runFlag == 1 ? '检修' : '停运'
}}
</el-descriptions-item>
<el-descriptions-item label="通讯状态">

View File

@@ -11,7 +11,7 @@
placeholder="请选择"
>
<el-option label="投运" value="0" />
<el-option label="热备用" value="1" />
<el-option label="检修" value="1" />
<el-option label="停运" value="2" />
</el-select>
</el-form-item>

View File

@@ -16,7 +16,7 @@
</span>
<span style="color: #996600">
<span class="smallBlock" style="background: #996600"></span>
热备用
检修
</span>
<span style="color: #A52a2a">
<span class="smallBlock" style="background: #A52a2a"></span>
@@ -55,7 +55,7 @@
<vxe-column field="areaName" title="区域"></vxe-column>
<vxe-column field="numberOfTerminals" title="终端个数" width="80"></vxe-column>
<vxe-column field="normal" title="投运" width="80"></vxe-column>
<vxe-column field="breaks" title="热备用" width="80"></vxe-column>
<vxe-column field="breaks" title="检修" width="80"></vxe-column>
<vxe-column field="shutdown" title="停运" width="80"></vxe-column>
<vxe-column field="onlineRate" title="在线率(%">
<template v-slot:default="scoped">
@@ -77,7 +77,7 @@
<vxe-column field="areaName" title="厂家"></vxe-column>
<vxe-column field="numberOfTerminals" title="终端个数" width="80"></vxe-column>
<vxe-column field="normal" title="投运" width="80"></vxe-column>
<vxe-column field="breaks" title="热备用" width="80"></vxe-column>
<vxe-column field="breaks" title="检修" width="80"></vxe-column>
<vxe-column field="shutdown" title="停运" width="80"></vxe-column>
<vxe-column field="onlineRate" title="在线率(%">
<template v-slot:default="scoped">

View File

@@ -11,7 +11,7 @@
</div>
<div class="div">
<img src="@/assets/rby.png" alt="" />
<span>热备用</span>
<span>检修</span>
</div>
<div class="div">
<img src="@/assets/ty.png" alt="" />
@@ -44,7 +44,6 @@
<div class="selectBox">
<el-select
@change="pointChange"
filterable
clearable
v-model="lineId"
@@ -118,7 +117,7 @@
infoWindowPoint.runFlag == 0
? '投运'
: infoWindowPoint.runFlag == 1
? '热备用'
? '检修'
: '停运'
}}
</el-descriptions-item>
@@ -162,7 +161,8 @@ import router from '@/router'
defineOptions({
// name: 'Descentsystem/overview'
})
})// 添加响应式变量
const height = mainHeight(20)
const adminInfo = useAdminInfo()
const datePickerRef = ref()
@@ -337,6 +337,7 @@ onMounted(() => {
hackReset.value = true
}, 1000)
}
})
</script>
<style lang="scss" scoped>

View File

@@ -191,6 +191,12 @@ getList({
type: 0
}).then(res => {
templatePolicy.value = res.data.records
// 默认选中第一个
if (res.data.records && res.data.records.length > 0) {
value.value = res.data.records[0].id
// 触发 change 事件,加载对应的配置
changeFn(res.data.records[0].id)
}
})
const handleNodeClick = (data: any, node: any) => {
dotList.value = data

View File

@@ -194,6 +194,12 @@ getList({
type: 1
}).then(res => {
templatePolicy.value = res.data.records
// 默认选中第一个
if (res.data.records && res.data.records.length > 0) {
value.value = res.data.records[0].id
// 触发 change 事件,加载对应的配置
changeFn(res.data.records[0].id)
}
})
// 模板策略变化
const changeFn = (val: any) => {