xq feat:"完成了逆变器数据详情"

This commit is contained in:
2025-07-09 17:45:15 +08:00
parent db143b270a
commit d4d53fc10d

View File

@ -203,9 +203,12 @@
<!-- <el-table-column label="质保结束时间" align="center" prop="updateshelfendtime" />--> <!-- <el-table-column label="质保结束时间" align="center" prop="updateshelfendtime" />-->
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template #default="scope"> <template #default="scope">
<el-tooltip content="修改" placement="top"> <el-tooltip content="详情" placement="top">
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['business:inverter:edit']"></el-button> <el-button link type="primary" icon="View" @click="handleCheck(scope.row)" v-hasPermi="['business:inverter:edit']"></el-button>
</el-tooltip> </el-tooltip>
<!-- <el-tooltip content="修改" placement="top">-->
<!-- <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['business:inverter:edit']"></el-button>-->
<!-- </el-tooltip>-->
<el-tooltip content="删除" placement="top"> <el-tooltip content="删除" placement="top">
<el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['business:inverter:remove']"></el-button> <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['business:inverter:remove']"></el-button>
</el-tooltip> </el-tooltip>
@ -216,121 +219,198 @@
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" /> <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card> </el-card>
<!-- 添加或修改逆变器列对话框 --> <!-- 添加或修改逆变器列对话框 -->
<el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body> <el-dialog :title="dialog.title" v-model="dialog.visible" append-to-body>
<el-form ref="inverterFormRef" :model="form" :rules="rules" label-width="auto"> <el-form ref="inverterFormRef" :model="form" :rules="rules" label-width="auto">
<el-form-item label="逆变器SN" prop="sn"> <el-row>
<el-input v-model="form.sn" placeholder="请输入逆变器SN" /> <el-col :span="12">
</el-form-item> <el-form-item label="逆变器SN" prop="sn">
<!-- <el-form-item label="项目id" prop="projectId">--> <el-input v-model="form.sn" placeholder="请输入逆变器SN" :disabled="isCheck === true" />
<!-- <el-input v-model="form.projectId" placeholder="请输入项目id" />--> </el-form-item>
<!-- </el-form-item>--> </el-col>
<!-- <el-form-item label="电站id" prop="stationid">--> <el-col :span="12">
<!-- <el-input v-model="form.stationid" placeholder="请输入电站id" />--> <el-form-item label="项目id" prop="projectId">
<!-- </el-form-item>--> <el-input v-model="form.projectId" placeholder="请输入项目id" :disabled="isCheck === true" />
<!-- <el-form-item label="电站名称" prop="stationname">--> </el-form-item>
<!-- <el-input v-model="form.stationname" placeholder="请输入电站名称" />--> </el-col>
<!-- </el-form-item>--> </el-row>
<!-- <el-form-item label="业主id" prop="userid">--> <el-row>
<!-- <el-input v-model="form.userid" placeholder="请输入业主id" />--> <el-col :span="12">
<!-- </el-form-item>--> <el-form-item label="电站id" prop="stationid">
<el-form-item label="装机容量" prop="power"> <el-input v-model="form.stationid" placeholder="请输入电站id" :disabled="isCheck === true" />
<el-input v-model="form.power" placeholder="请输入装机容量" /> </el-form-item>
</el-form-item> </el-col>
<el-form-item label="装机容量单位" prop="powerstr"> <el-col :span="12">
<el-input v-model="form.powerstr" placeholder="请输入装机容量单位" /> <el-form-item label="电站名称" prop="stationname">
</el-form-item> <el-input v-model="form.stationname" placeholder="请输入电站名称" :disabled="isCheck === true" />
<el-form-item label="当日能量" prop="etoday"> </el-form-item>
<el-input v-model="form.etoday" placeholder="请输入当日能量" /> </el-col>
</el-form-item> </el-row>
<!-- <el-form-item label="当日发电量原始值" prop="etoday1">--> <el-row>
<!-- <el-input v-model="form.etoday1" placeholder="请输入当日发电量原始值" />--> <el-col :span="12">
<!-- </el-form-item>--> <el-form-item label="业主id" prop="userid">
<el-form-item label="当日能量单位" prop="etodaystr"> <el-input v-model="form.userid" placeholder="请输入业主id" :disabled="isCheck === true" />
<el-input v-model="form.etodaystr" placeholder="请输入当日能量单位" /> </el-form-item>
</el-form-item> </el-col>
<el-form-item label="总电量" prop="etotal"> <el-col :span="12">
<el-input v-model="form.etotal" placeholder="请输入总电量" /> <el-form-item label="装机容量" prop="power">
</el-form-item> <el-input v-model="form.power" placeholder="请输入装机容量" :disabled="isCheck === true" />
<!-- <el-form-item label="累计发电量原始值" prop="etotal1">--> </el-form-item>
<!-- <el-input v-model="form.etotal1" placeholder="请输入累计发电量原始值" />--> </el-col>
<!-- </el-form-item>--> </el-row>
<el-form-item label="总能量单位" prop="etotalstr"> <el-row>
<el-input v-model="form.etotalstr" placeholder="请输入总能量单位" /> <el-col :span="12">
</el-form-item> <el-form-item label="装机容量单位" prop="powerstr">
<el-form-item label="满发小时数" prop="fullhour"> <el-input v-model="form.powerstr" placeholder="请输入装机容量单位" :disabled="isCheck === true" />
<el-input v-model="form.fullhour" placeholder="请输入满发小时数" /> </el-form-item>
</el-form-item> </el-col>
<!-- <el-form-item label="功率" prop="pac">--> <el-col :span="12">
<!-- <el-input v-model="form.pac" placeholder="请输入功率" />--> <el-form-item label="当日能量" prop="etoday">
<!-- </el-form-item>--> <el-input v-model="form.etoday" placeholder="请输入当日能量" :disabled="isCheck === true" />
<!-- <el-form-item label="功率单位" prop="pacstr">--> </el-form-item>
<!-- <el-input v-model="form.pacstr" placeholder="请输入功率单位" />--> </el-col>
<!-- </el-form-item>--> </el-row>
<!-- <el-form-item--> <el-row>
<!-- label="逆变器状态:--> <el-col :span="12">
<!--1 = 在线--> <el-form-item label="当日发电量原始值" prop="etoday1">
<!--2 = 离线--> <el-input v-model="form.etoday1" placeholder="请输入当日发电量原始值" :disabled="isCheck === true" />
<!--3 = 报警"--> </el-form-item>
<!-- prop="state"--> </el-col>
<!-- >--> <el-col :span="12">
<!-- <el-input--> <el-form-item label="当日能量单位" prop="etodaystr">
<!-- v-model="form.state"--> <el-input v-model="form.etodaystr" placeholder="请输入当日能量单位" :disabled="isCheck === true" />
<!-- placeholder="请输入逆变器状态:--> </el-form-item>
<!--1 = 在线--> </el-col>
<!--2 = 离线--> </el-row>
<!--3 = 报警"--> <el-row>
<!-- />--> <el-col :span="12">
<!-- </el-form-item>--> <el-form-item label="总电量" prop="etotal">
<!-- <el-form-item label="更新时间" prop="datatimestamp">--> <el-input v-model="form.etotal" placeholder="请输入总电量" :disabled="isCheck === true" />
<!-- <el-input v-model="form.datatimestamp" placeholder="请输入更新时间" />--> </el-form-item>
<!-- </el-form-item>--> </el-col>
<!-- <el-form-item label="采集器SN" prop="collectorsn">--> <el-col :span="12">
<!-- <el-input v-model="form.collectorsn" placeholder="请输入采集器SN" />--> <el-form-item label="累计发电量原始值" prop="etotal1">
<!-- </el-form-item>--> <el-input v-model="form.etotal1" placeholder="请输入累计发电量原始值" :disabled="isCheck === true" />
<!-- <el-form-item label="逆变器类型" prop="productmodel">--> </el-form-item>
<!-- <el-input v-model="form.productmodel" placeholder="请输入逆变器类型" />--> </el-col>
<!-- </el-form-item>--> </el-row>
<!-- <el-form-item label="逆变器系列" prop="series">--> <el-row>
<!-- <el-input v-model="form.series" placeholder="请输入逆变器系列" />--> <el-col :span="12">
<!-- </el-form-item>--> <el-form-item label="总能量单位" prop="etotalstr">
<!-- <el-form-item label="逆变器名称" prop="name">--> <el-input v-model="form.etotalstr" placeholder="请输入总能量单位" :disabled="isCheck === true" />
<!-- <el-input v-model="form.name" placeholder="请输入逆变器名称" />--> </el-form-item>
<!-- </el-form-item>--> </el-col>
<!-- <el-form-item label="电站地址" prop="addr">--> <el-col :span="12">
<!-- <el-input v-model="form.addr" placeholder="请输入电站地址" />--> <el-form-item label="满发小时数" prop="fullhour">
<!-- </el-form-item>--> <el-input v-model="form.fullhour" placeholder="请输入满发小时数" :disabled="isCheck === true" />
<!-- <el-form-item label="采集器状态" prop="collectorstate">--> </el-form-item>
<!-- <el-input v-model="form.collectorstate" placeholder="请输入采集器状态" />--> </el-col>
<!-- </el-form-item>--> </el-row>
<!-- <el-form-item--> <el-row>
<!-- label="逆变器离线状态:--> <el-col :span="12">
<!--0 = 正常离线--> <el-form-item label="功率" prop="pac">
<!--1 = 异常离线"--> <el-input v-model="form.pac" placeholder="请输入功率" :disabled="isCheck === true" />
<!-- prop="stateexceptionflag"--> </el-form-item>
<!-- >--> </el-col>
<!-- <el-input--> <el-col :span="12">
<!-- v-model="form.stateexceptionflag"--> <el-form-item label="功率单位" prop="pacstr">
<!-- placeholder="请输入逆变器离线状态:--> <el-input v-model="form.pacstr" placeholder="请输入功率单位" :disabled="isCheck === true" />
<!--0 = 正常离线--> </el-form-item>
<!--1 = 异常离线"--> </el-col>
<!-- />--> </el-row>
<!-- </el-form-item>--> <el-row>
<!-- <el-form-item label="累计满发小时数" prop="totalfullhour">--> <el-col :span="12">
<!-- <el-input v-model="form.totalfullhour" placeholder="请输入累计满发小时数" />--> <el-form-item label="更新时间" prop="datatimestamp">
<!-- </el-form-item>--> <el-input v-model="form.datatimestamp" placeholder="请输入更新时间" :disabled="isCheck === true" />
<!-- <el-form-item label="逆变器电表类型详见附录3" prop="invertermetermodel">--> </el-form-item>
<!-- <el-input v-model="form.invertermetermodel" placeholder="请输入逆变器电表类型详见附录3" />--> </el-col>
<!-- </el-form-item>--> <el-col :span="12">
<!-- <el-form-item label="创建时间" prop="createdate">--> <el-form-item label="采集器SN" prop="collectorsn">
<!-- <el-input v-model="form.createdate" placeholder="请输入创建时间" />--> <el-input v-model="form.collectorsn" placeholder="请输入采集器SN" :disabled="isCheck === true" />
<!-- </el-form-item>--> </el-form-item>
<!-- <el-form-item label="质保结束时间" prop="updateshelfendtime">--> </el-col>
<!-- <el-input v-model="form.updateshelfendtime" placeholder="请输入质保结束时间" />--> </el-row>
<!-- </el-form-item>--> <el-row>
<el-col :span="12">
<el-form-item label="质保结束时间" prop="updateshelfendtime">
<el-input v-model="form.updateshelfendtime" placeholder="请输入质保结束时间" :disabled="isCheck === true" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="创建时间" prop="createdate">
<el-input v-model="form.createdate" placeholder="请输入创建时间" :disabled="isCheck === true" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="逆变器名称" prop="name">
<el-input v-model="form.name" placeholder="请输入逆变器名称" :disabled="isCheck === true" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="电站地址" prop="addr">
<el-input v-model="form.addr" placeholder="请输入电站地址" :disabled="isCheck === true" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="采集器状态" prop="collectorstate">
<el-input v-model="form.collectorstate" placeholder="请输入采集器状态" :disabled="isCheck === true" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="逆变器离线状态:
0 = 正常离线
1 = 异常离线"
prop="stateexceptionflag"
>
<el-input
v-model="form.stateexceptionflag"
placeholder="请输入逆变器离线状态:
0 = 正常离线
1 = 异常离线"
:disabled="isCheck === true"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="累计满发小时数" prop="totalfullhour">
<el-input v-model="form.totalfullhour" placeholder="请输入累计满发小时数" :disabled="isCheck === true" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="逆变器电表类型详见附录3" prop="invertermetermodel">
<el-input v-model="form.invertermetermodel" placeholder="请输入逆变器电表类型详见附录3" :disabled="isCheck === true" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item
label="逆变器状态:
1 = 在线
2 = 离线
3 = 报警"
prop="state"
>
<el-input
v-model="form.state"
placeholder="请输入逆变器状态:
1 = 在线
2 = 离线
3 = 报警"
:disabled="isCheck === true"
/>
</el-form-item>
</el-col>
</el-row>
</el-form> </el-form>
<template #footer> <template #footer>
<div class="dialog-footer"> <div class="dialog-footer">
<el-button :loading="buttonLoading" type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button> <el-button @click="cancel">取 消</el-button>
</div> </div>
</template> </template>
@ -341,6 +421,7 @@
<script setup name="Inverter" lang="ts"> <script setup name="Inverter" lang="ts">
import { listInverter, getInverter, delInverter, addInverter, updateInverter } from '@/api/business/inverter'; import { listInverter, getInverter, delInverter, addInverter, updateInverter } from '@/api/business/inverter';
import { InverterVO, InverterQuery, InverterForm } from '@/api/business/inverter/types'; import { InverterVO, InverterQuery, InverterForm } from '@/api/business/inverter/types';
import { ref } from 'vue';
const { proxy } = getCurrentInstance() as ComponentInternalInstance; const { proxy } = getCurrentInstance() as ComponentInternalInstance;
@ -473,10 +554,11 @@ const getList = async () => {
total.value = res.total; total.value = res.total;
loading.value = false; loading.value = false;
}; };
const isCheck = ref(false);
/** 取消按钮 */ /** 取消按钮 */
const cancel = () => { const cancel = () => {
reset(); reset();
isCheck.value = false;
dialog.visible = false; dialog.visible = false;
}; };
@ -521,6 +603,15 @@ const handleUpdate = async (row?: InverterVO) => {
dialog.visible = true; dialog.visible = true;
dialog.title = '修改逆变器列'; dialog.title = '修改逆变器列';
}; };
const handleCheck = async (row?: InverterVO) => {
reset();
const _id = row?.id || ids.value[0];
const res = await getInverter(_id);
isCheck.value = true;
Object.assign(form.value, res.data);
dialog.visible = true;
dialog.title = '逆变器详情';
};
/** 提交按钮 */ /** 提交按钮 */
const submitForm = () => { const submitForm = () => {