This commit is contained in:
sjl
2024-10-24 09:38:12 +08:00
parent 4ddc5d04bd
commit 3d6285498a
10 changed files with 287 additions and 159 deletions

View File

@@ -1,91 +0,0 @@
<template >
<el-dialog :title="dialogTitle" :model-value="visible" @close="handleCancel" v-bind="dialogSmall" >
<el-form-item label="指标类型" prop="type">
<el-select
class='select'
placeholder='选择时间单位'
>
<!-- 采用 v-for 动态渲染 -->
<el-option
v-for="unit in typeList"
:key="unit.value"
:label="unit.label"
:value="unit.value"
></el-option>
</el-select>
</el-form-item>
<template #footer>
<div class="dialog-footer">
<el-button @click="handleCancel"> </el-button>
<el-button type="primary" @click="handleSubmit">新增</el-button>
</div>
</template>
</el-dialog>
</template>
<script lang="ts" setup name="IndicatorTypeDialog">
import { defineProps, defineEmits, reactive,watch } from 'vue';
import { dialogSmall} from '@/utils/elementBind'
const props = defineProps<{
visible: boolean;
dialogTitle: string;
formData: {
id:string;
name: string;
path: string;
sort: number;
type: string;
remark: string;
route_Name: string;
};
}>();
const typeList = [
{ label: '电压', value: '电压' },
{ label: '频率', value: '频率' },
{ label: '电压三相不平衡度', value: '电压三相不平衡度' },
{ label: '电流三相不平衡度', value: '电流三相不平衡度' },
{ label: '电压波动', value: '电压波动' },
{ label: '短时闪变', value: '短时闪变' },
{ label: '谐波电压', value: '谐波电压' },
{ label: '谐波电流', value: '谐波电流' },
{ label: '谐波相角', value: '谐波相角' },
{ label: '谐波功率', value: '谐波功率' },
{ label: '间谐波电压', value: '间谐波电压' },
{ label: '间谐波电流', value: '间谐波电流' },
{ label: '功率', value: '功率' },
{ label: '电流', value: '电流' },
{ label: '暂态电压幅值', value: '暂态电压幅值' },
{ label: '暂态持续时间', value: '暂态持续时间' },
];
const rules = {
name :[
{require:true,trigger:"blur",message:"请填写菜单名称"}
]
}
const emit = defineEmits<{
(e: 'update:visible', value: boolean): void;
(e: 'submit', data: any): void;
}>();
const handleCancel = () => {
emit('update:visible', false); // 关闭对话框
};
const handleSubmit = () => {
emit('submit', props.formData); // 提交表单数据
emit('update:visible', false); // 提交后关闭对话框
};
// 当 props.visible 改变时,更新 formData
watch(() => props.visible, (newVal) => {
if (!newVal) {
// 这里可以重置表单数据,如果需要的话
}
});
</script>

View File

@@ -0,0 +1,72 @@
<template>
<el-dialog :title="dialogTitle" :model-value="visible" @close="handleCancel" v-bind="dialogBig">
<ProTable
ref='proTable'
:columns='columns'
:data='errorData'
/>
</el-dialog>
</template>
<script lang="ts" setup name="IndicatorTypeDialog">
import { defineProps, defineEmits, reactive,watch,ref } from 'vue';
import { dialogBig} from '@/utils/elementBind'
import type { ColumnProps } from '@/components/ProTable/interface'
import type { ErrorSystem } from '@/api/error/interface'
import errorDataList from '@/api/error/errorData'
const errorData = errorDataList.errordetail
// 表格配置项
const columns = reactive<ColumnProps<ErrorSystem.ErrorSystemDetail>[]>([
{
prop: 'measured',
label: '被测量',
},
{
prop: 'deviceLevel',
label: '检测装置级别',
},
{
prop: 'condition',
label: '测量条件',
},
{
prop: 'maxErrorValue',
label: '最大误差',
},
])
const props = defineProps<{
visible: boolean;
dialogTitle: string;
formData: {
measured: string,
deviceLevel: string,
condition: string,
maxErrorValue: string
};
}>();
const emit = defineEmits<{
(e: 'update:visible', value: boolean): void;
(e: 'submit', data: any): void;
}>();
const handleCancel = () => {
emit('update:visible', false); // 关闭对话框
};
// 当 props.visible 改变时,更新 formData
watch(() => props.visible, (newVal) => {
if (!newVal) {
// 这里可以重置表单数据,如果需要的话
}
});
</script>

View File

@@ -7,12 +7,12 @@
<el-row :gutter="20" >
<el-col :span="10">
<el-form-item label="误差体系名称" prop="name">
<el-input placeholder="标准号+年份+设备等级"/>
<el-input v-model='formData.name' placeholder="标准号+年份+设备等级"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="发布时间" prop="publishTime">
<el-input />
<el-input v-model="formData.publishTime" />
</el-form-item>
</el-col>
<el-col :span="6">
@@ -23,21 +23,21 @@
</el-row>
<el-row :gutter="20" >
<el-col :span="10">
<el-form-item label="适用设备等级" prop="type">
<el-select placeholder="请选择设备等级">
<el-form-item label="适用设备等级" prop="level">
<el-select v-model='formData.level' placeholder="请选择设备等级">
<el-option label="A级" value="A级" />
<el-option label="S级" value="S级" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="实施时间" prop="publishTime">
<el-input />
<el-form-item label="实施时间" prop="year">
<el-input v-model='formData.year'/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="状态" prop="type">
<el-select placeholder="请选择状态">
<el-form-item label="状态" prop="state">
<el-select v-model='formData.state' placeholder="请选择状态">
<el-option label="启用" value="启用" />
<el-option label="停用" value="停用" />
</el-select>
@@ -53,12 +53,12 @@
<el-button :icon='Delete' type="danger" >批量删除</el-button>
</div>
<el-table :data="tableData" style="width: 100%;text-align: center" >
<el-table :data="tableData" style="width: 100%">
<el-table-column type="selection" width="55" />
<el-table-column prop="id" label="序号" width="60" />
<el-table-column prop="type" label="电能质量检测指标类型" width="200"/>
<el-table-column label="起止范围">
<el-table-column label="起始">
<el-table-column label="起止范围" style="text-align: center;">
<el-table-column label="起始" style="text-align: center;">
<template #default="{ row }">
<el-row type="flex" align="middle">
<el-col :span="16">
@@ -158,18 +158,19 @@
dialogTitle: string;
formData: {
id:string;
name: string;
path: string;
sort: number;
type: string;
remark: string;
route_Name: string;
publishTime:string;
year: string;
level: string;
state: string;
};
}>();
const dialogFormVisible = ref(false)
const dialogTitle = ref('新增检测指标误差项')
const dialogForm =ref({
type : '',
})
const errorTypeOptions = [
{ label: '绝对值-标称值', value: 'type1' },
{ label: '相对值-I类', value: 'type2' },
@@ -234,11 +235,6 @@ const errorEndOptions = [
]
const rules = {
name :[
{require:true,trigger:"blur",message:"请填写菜单名称"}
]
}
const emit = defineEmits<{
(e: 'update:visible', value: boolean): void;
(e: 'submit', data: any): void;
@@ -267,6 +263,7 @@ const errorEndOptions = [
</script>
<style scoped>
.form-grid {
display: flex;
flex-direction: row; /* 横向排列 */

View File

@@ -3,7 +3,8 @@
<el-form-item label="指标类型" prop="type">
<el-select
class='select'
placeholder='选择时间单位'
placeholder='选择指标类型'
v-model="formData.type"
>
<!-- 采用 v-for 动态渲染 -->
<el-option
@@ -24,24 +25,20 @@
</template>
<script lang="ts" setup name="IndicatorTypeDialog">
import { defineProps, defineEmits, reactive,watch } from 'vue';
import { defineProps, defineEmits, reactive,watch ,ref} from 'vue';
import { dialogSmall} from '@/utils/elementBind'
const dialogTitle = ref('新增检测指标误差项')
const props = defineProps<{
visible: boolean;
dialogTitle: string;
formData: {
id:string;
name: string;
path: string;
sort: number;
type: string;
remark: string;
route_Name: string;
};
}>();
const formData = reactive({
type: ''
});
const typeList = [
{ label: '电压', value: '电压' },
{ label: '频率', value: '频率' },