style:能耗管理中英文适配

main^2
黄伟杰 10 hours ago
parent dc89e04f90
commit 9dd9687184

@ -2713,6 +2713,107 @@ export default {
validatorIsEnableRequired: 'Enabled can not be empty',
exportFilename: 'EnergyType.xls',
},
EnergyDeviceCheck: {
moduleName: 'Energy Report',
searchNameLabel: 'Meter Name',
searchNamePlaceholder: 'Please enter meter name',
searchOrgLabel: 'Area',
searchOrgPlaceholder: 'Please select area',
searchTimeRangeLabel: 'Time Range',
searchTimeRangeStartPlaceholder: 'Please select start time',
searchTimeRangeEndPlaceholder: 'Please select end time',
searchButtonText: 'Search',
resetButtonText: 'Reset',
exportButtonText: 'Export',
tableExpandPointNameColumn: 'Parameter Name',
tableExpandEarliestValueColumn: 'Earliest Value',
tableExpandEarliestTimeColumn: 'Earliest Time',
tableExpandLatestValueColumn: 'Latest Value',
tableExpandLatestTimeColumn: 'Latest Time',
tableExpandDifferenceColumn: 'Energy Usage',
tableNameColumn: 'Meter Name',
tableEnergyTypeColumn: 'Energy Type',
tableOrgColumn: 'Area',
tableEnergyConsumptionColumn: 'Energy Consumption',
tableStartTimeColumn: 'Start Time',
tableEndTimeColumn: 'End Time',
exportFileName: 'EnergyReport.xls',
dialogDeviceIdLabel: 'Energy Device ID',
dialogDeviceIdPlaceholder: 'Please enter energy device ID',
dialogLastCheckTimeLabel: 'Last Reading Time',
dialogLastCheckTimePlaceholder: 'Please select last reading time',
dialogLastCheckValueLabel: 'Last Reading',
dialogLastCheckValuePlaceholder: 'Please enter last reading',
dialogCheckTimeLabel: 'Reading Time',
dialogCheckTimePlaceholder: 'Please select reading time',
dialogCheckValueLabel: 'Reading',
dialogCheckValuePlaceholder: 'Please enter reading',
dialogDiffValueLabel: 'Difference',
dialogDiffValuePlaceholder: 'Please enter difference',
dialogUnitPriceLabel: 'Unit Price',
dialogUnitPricePlaceholder: 'Please enter unit price',
dialogRemarkLabel: 'Remark',
dialogRemarkPlaceholder: 'Please enter remark',
dialogOkButtonText: 'Confirm',
dialogCancelButtonText: 'Cancel',
validatorDeviceIdRequired: 'Energy device ID cannot be empty',
validatorCheckValueRequired: 'Reading cannot be empty'
},
EnergyDevice: {
moduleName: 'Energy Device',
searchNameLabel: 'Device Name',
searchNamePlaceholder: 'Please enter device name',
searchEnergyTypeLabel: 'Energy Type',
searchEnergyTypePlaceholder: 'Please select energy type',
searchButtonText: 'Search',
resetButtonText: 'Reset',
createButtonText: 'Add',
exportButtonText: 'Export',
tableCodeColumn: 'Device Code',
tableNameColumn: 'Device Name',
tableEnergyTypeColumn: 'Energy Type',
tableOrgColumn: 'Area',
tableIsEnableColumn: 'Enabled',
tableUpdateTimeColumn: 'Update Time',
tableOperateColumn: 'Operation',
tableEditAction: 'Edit',
tableDeleteAction: 'Delete',
exportFileName: 'EnergyDevice.xls',
dialogCodeLabel: 'Device Code',
dialogCodePlaceholder: 'Please enter device code',
dialogNameLabel: 'Device Name',
dialogNamePlaceholder: 'Please enter device name',
dialogEnergyTypeLabel: 'Energy Type',
dialogEnergyTypePlaceholder: 'Please select energy type',
dialogOrgLabel: 'Area',
dialogOrgTreePlaceholder: 'Please select area',
dialogRulesLabel: 'Calculation Rule',
dialogRulesPointPlaceholder: 'Please select device point',
dialogOperatorPlaceholder: 'Please select operator',
dialogIsEnableLabel: 'Enabled',
dialogSubmitButtonText: 'Confirm',
dialogCancelButtonText: 'Cancel',
validatorNameRequired: 'Device name cannot be empty',
validatorCodeRequired: 'Device code cannot be empty',
validatorOrgRequired: 'Area cannot be empty',
validatorIsEnableRequired: 'Enabled cannot be empty',
validatorRulesRequired: 'Calculation rule cannot be empty',
validatorRulesPointRequired: 'Device point cannot be empty',
validatorRulesOperatorRequired: 'Operator cannot be empty'
}
},
ProductionPlan: {

@ -3672,6 +3672,107 @@ export default {
exportFilename: '能耗类型.xls'
},
EnergyDeviceCheck: {
moduleName: '能源报表',
searchNameLabel: '表名称',
searchNamePlaceholder: '请输入表名称',
searchOrgLabel: '所属区域',
searchOrgPlaceholder: '请选择所属区域',
searchTimeRangeLabel: '时间范围',
searchTimeRangeStartPlaceholder: '请选择开始时间',
searchTimeRangeEndPlaceholder: '请选择结束时间',
searchButtonText: '查询',
resetButtonText: '重置',
exportButtonText: '导出',
tableExpandPointNameColumn: '参数名称',
tableExpandEarliestValueColumn: '最早采集值',
tableExpandEarliestTimeColumn: '最早采集时间',
tableExpandLatestValueColumn: '最新值',
tableExpandLatestTimeColumn: '最新采集时间',
tableExpandDifferenceColumn: '能耗用量',
tableNameColumn: '表名称',
tableEnergyTypeColumn: '能源类型',
tableOrgColumn: '所属区域',
tableEnergyConsumptionColumn: '能源用量',
tableStartTimeColumn: '开始时间',
tableEndTimeColumn: '结束时间',
exportFileName: '能源报表.xls',
dialogDeviceIdLabel: '能源设备Id',
dialogDeviceIdPlaceholder: '请输入能源设备Id',
dialogLastCheckTimeLabel: '上次抄表时间',
dialogLastCheckTimePlaceholder: '选择上次抄表时间',
dialogLastCheckValueLabel: '上次抄表值',
dialogLastCheckValuePlaceholder: '请输入上次抄表值',
dialogCheckTimeLabel: '抄表时间',
dialogCheckTimePlaceholder: '选择抄表时间',
dialogCheckValueLabel: '抄表值',
dialogCheckValuePlaceholder: '请输入抄表值',
dialogDiffValueLabel: '差值',
dialogDiffValuePlaceholder: '请输入差值',
dialogUnitPriceLabel: '单价',
dialogUnitPricePlaceholder: '请输入单价',
dialogRemarkLabel: '备注',
dialogRemarkPlaceholder: '请输入备注',
dialogOkButtonText: '确 定',
dialogCancelButtonText: '取 消',
validatorDeviceIdRequired: '能源设备Id不能为空',
validatorCheckValueRequired: '抄表值不能为空'
},
EnergyDevice: {
moduleName: '能源设备',
searchNameLabel: '设备名称',
searchNamePlaceholder: '请输入设备名称',
searchEnergyTypeLabel: '能耗类型',
searchEnergyTypePlaceholder: '请选择能耗类型',
searchButtonText: '搜索',
resetButtonText: '重置',
createButtonText: '新增',
exportButtonText: '导出',
tableCodeColumn: '设备编码',
tableNameColumn: '设备名称',
tableEnergyTypeColumn: '能耗类型',
tableOrgColumn: '所属区域',
tableIsEnableColumn: '是否启用',
tableUpdateTimeColumn: '更新时间',
tableOperateColumn: '操作',
tableEditAction: '编辑',
tableDeleteAction: '删除',
exportFileName: '能源设备.xls',
dialogCodeLabel: '设备编码',
dialogCodePlaceholder: '请输入设备编码',
dialogNameLabel: '设备名称',
dialogNamePlaceholder: '请输入设备名称',
dialogEnergyTypeLabel: '能耗类型',
dialogEnergyTypePlaceholder: '请选择能耗类型',
dialogOrgLabel: '所属区域',
dialogOrgTreePlaceholder: '请选择所属区域',
dialogRulesLabel: '计算规则',
dialogRulesPointPlaceholder: '请选择设备点位',
dialogOperatorPlaceholder: '请选择运算符',
dialogIsEnableLabel: '是否启用',
dialogSubmitButtonText: '确 定',
dialogCancelButtonText: '取 消',
validatorNameRequired: '设备名称不能为空',
validatorCodeRequired: '设备编码不能为空',
validatorOrgRequired: '所属区域不能为空',
validatorIsEnableRequired: '是否启用不能为空',
validatorRulesRequired: '计算规则不能为空',
validatorRulesPointRequired: '设备点位不能为空',
validatorRulesOperatorRequired: '运算符不能为空'
},
Device: {
Device: {
moduleName: '采集设备',

@ -1,43 +1,81 @@
<template>
<Dialog :title="dialogTitle" v-model="dialogVisible" width="800px">
<el-form ref="formRef" :model="formData" :rules="formRules" label-width="100px" v-loading="formLoading">
<el-form-item label="表编码" prop="code">
<el-input v-model="formData.code" placeholder="请输入表编码" :disabled="formType === 'update'" />
<el-form
ref="formRef"
:model="formData"
:rules="formRules"
label-width="auto"
v-loading="formLoading"
class="energy-device-dialog-form"
>
<el-form-item :label="t('EnergyManagement.EnergyDevice.dialogCodeLabel')" prop="code">
<el-input
v-model="formData.code"
:placeholder="t('EnergyManagement.EnergyDevice.dialogCodePlaceholder')"
:disabled="formType === 'update'"
/>
</el-form-item>
<el-form-item label="表名称" prop="name">
<el-input v-model="formData.name" placeholder="请输入表名称" />
<el-form-item :label="t('EnergyManagement.EnergyDevice.dialogNameLabel')" prop="name">
<el-input
v-model="formData.name"
:placeholder="t('EnergyManagement.EnergyDevice.dialogNamePlaceholder')"
/>
</el-form-item>
<el-form-item label="能源类型" prop="deviceTypeId">
<el-form-item :label="t('EnergyManagement.EnergyDevice.dialogEnergyTypeLabel')" prop="deviceTypeId">
<el-select
v-model="formData.deviceTypeId" @change="handleDeviceTypeChange" placeholder="请选择能源类型" clearable
filterable class="!w-full">
v-model="formData.deviceTypeId"
@change="handleDeviceTypeChange"
:placeholder="t('EnergyManagement.EnergyDevice.dialogEnergyTypePlaceholder')"
clearable
filterable
class="!w-full"
>
<el-option v-for="item in typeList" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="所属区域" prop="orgId">
<el-form-item :label="t('EnergyManagement.EnergyDevice.dialogOrgLabel')" prop="orgId">
<el-tree-select
v-model="formData.orgId" :data="orgSelectTree" :props="orgTreeSelectProps" filterable
check-strictly clearable class="!w-full" placeholder="根据区域结构筛选列表" :loading="analysisLoading"
:render-after-expand="false" @change="handleOrgChange" />
v-model="formData.orgId"
:data="orgSelectTree"
:props="orgTreeSelectProps"
filterable
check-strictly
clearable
class="!w-full"
:placeholder="t('EnergyManagement.EnergyDevice.dialogOrgTreePlaceholder')"
:loading="analysisLoading"
:render-after-expand="false"
@change="handleOrgChange"
/>
</el-form-item>
<el-form-item label="计算规则" prop="operationRulesVOList">
<el-form-item :label="t('EnergyManagement.EnergyDevice.dialogRulesLabel')" prop="operationRulesVOList">
<div class="w-full flex flex-col gap-8px">
<div
v-for="(rule, index) in formData.operationRulesVOList" :key="index"
class="w-full flex items-center gap-8px">
<el-tree-select
v-model="rule.pointValue" :data="equipmentTree" :props="treeSelectProps" filterable
clearable class="!w-full" placeholder="根据设备选择点位" :loading="devicePointLoading"
@change="(val) => handlePointSelected(index, val)" />
v-model="rule.pointValue"
:data="equipmentTree"
:props="treeSelectProps"
filterable
clearable
class="!w-full"
:placeholder="t('EnergyManagement.EnergyDevice.dialogRulesPointPlaceholder')"
:loading="devicePointLoading"
@change="(val) => handlePointSelected(index, val)"
/>
<template v-if="index < formData.operationRulesVOList.length - 1">
<el-select
v-model="formData.operationRulesVOList[index].operator" placeholder="运算符" class="!w-110px"
clearable>
v-model="formData.operationRulesVOList[index].operator"
:placeholder="t('EnergyManagement.EnergyDevice.dialogOperatorPlaceholder')"
class="!w-110px"
clearable
>
<el-option v-for="op in operatorOptions" :key="op" :label="op" :value="op" />
</el-select>
</template>
@ -57,7 +95,7 @@ v-model="formData.operationRulesVOList[index].operator" placeholder="运算符"
</div>
</el-form-item>
<el-form-item label="是否启用" prop="isEnable">
<el-form-item :label="t('EnergyManagement.EnergyDevice.dialogIsEnableLabel')" prop="isEnable">
<el-switch v-model="formData.isEnable" />
</el-form-item>
</el-form>
@ -65,8 +103,12 @@ v-model="formData.operationRulesVOList[index].operator" placeholder="运算符"
<Editor v-model="formData.info" height="250px" />
</el-form-item> -->
<template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button>
<el-button @click="dialogVisible = false"> </el-button>
<el-button @click="submitForm" type="primary" :disabled="formLoading">
{{ t('EnergyManagement.EnergyDevice.dialogSubmitButtonText') }}
</el-button>
<el-button @click="dialogVisible = false">
{{ t('EnergyManagement.EnergyDevice.dialogCancelButtonText') }}
</el-button>
</template>
</Dialog>
</template>
@ -107,11 +149,11 @@ const formData = ref({
operationRulesVOList: [{ deviceId: undefined, pointId: undefined, operator: undefined, pointValue: undefined }],
})
const formRules = reactive({
name: [{ required: true, message: '表名称不能为空', trigger: 'blur' }],
code: [{ required: true, message: '表编码不能为空', trigger: 'blur' }],
orgId: [{ required: true, message: '所属区域不能为空', trigger: 'change' }],
operationRulesVOList: [{ required: true, validator: (_rule, _value, callback) => validateRules(callback), trigger: 'change' }],
isEnable: [{ required: true, message: '是否启用不能为空', trigger: 'blur' }]
name: [{ required: true, message: t('EnergyManagement.EnergyDevice.validatorNameRequired'), trigger: 'blur' }],
code: [{ required: true, message: t('EnergyManagement.EnergyDevice.validatorCodeRequired'), trigger: 'blur' }],
orgId: [{ required: true, message: t('EnergyManagement.EnergyDevice.validatorOrgRequired'), trigger: 'change' }],
operationRulesVOList: [{ required: true, validator: (_rule, _value, callback) => validateRules(callback), trigger: 'change' }],
isEnable: [{ required: true, message: t('EnergyManagement.EnergyDevice.validatorIsEnableRequired'), trigger: 'blur' }]
})
const formRef = ref() // Ref
@ -441,20 +483,26 @@ const hydratePointValues = () => {
const validateRules = (callback: any) => {
const list = formData.value.operationRulesVOList ?? []
if (!list.length) {
callback(new Error('计算规则不能为空'))
callback(new Error(t('EnergyManagement.EnergyDevice.validatorRulesRequired')))
return
}
for (let i = 0; i < list.length; i++) {
const r = list[i] as any
if (!r?.deviceId || !r?.pointId) {
callback(new Error('请选择设备点位'))
callback(new Error(t('EnergyManagement.EnergyDevice.validatorRulesPointRequired')))
return
}
if (i > 0 && !list[i - 1]?.operator) {
callback(new Error('请选择运算符'))
callback(new Error(t('EnergyManagement.EnergyDevice.validatorRulesOperatorRequired')))
return
}
}
callback()
}
</script>
<style scoped>
.energy-device-dialog-form :deep(.el-form-item__label) {
min-width: 100px;
}
</style>

@ -4,32 +4,33 @@
ref="formRef"
:model="formData"
:rules="formRules"
label-width="100px"
label-width="auto"
v-loading="formLoading"
class="energy-device-reset-dialog-form"
>
<el-form-item label="名称" prop="name">
<el-input disabled v-model="formData.name" placeholder="请输入名称" />
<el-form-item :label="t('EnergyManagement.EnergyDevice.dialogNameLabel')" prop="name">
<el-input disabled v-model="formData.name" :placeholder="t('EnergyManagement.EnergyDevice.dialogNamePlaceholder')" />
</el-form-item>
<el-form-item label="编码" prop="code">
<el-input disabled v-model="formData.code" placeholder="请输入编码" />
<el-form-item :label="t('EnergyManagement.EnergyDevice.dialogCodeLabel')" prop="code">
<el-input disabled v-model="formData.code" :placeholder="t('EnergyManagement.EnergyDevice.dialogCodePlaceholder')" />
</el-form-item>
<el-col :span="12">
<el-form-item label="上次抄表时间" prop="lastCheckTime">
<el-form-item :label="t('EnergyManagement.EnergyDeviceCheck.dialogLastCheckTimeLabel')" prop="lastCheckTime">
<el-date-picker
v-model="formData.lastCheckTime"
type="date"
value-format="x"
placeholder="选择上次抄表时间"
:placeholder="t('EnergyManagement.EnergyDeviceCheck.dialogLastCheckTimePlaceholder')"
/>
</el-form-item>
</el-col>
<el-form-item label="最后抄表值" prop="lastCheckValue">
<el-input v-model="formData.lastCheckValue" placeholder="请输入最后抄表值" />
<el-form-item :label="t('EnergyManagement.EnergyDeviceCheck.dialogLastCheckValueLabel')" prop="lastCheckValue">
<el-input v-model="formData.lastCheckValue" :placeholder="t('EnergyManagement.EnergyDeviceCheck.dialogLastCheckValuePlaceholder')" />
</el-form-item>
</el-form>
<template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button>
<el-button @click="dialogVisible = false"> </el-button>
<el-button @click="submitForm" type="primary" :disabled="formLoading">{{ t('EnergyManagement.EnergyDeviceCheck.dialogOkButtonText') }}</el-button>
<el-button @click="dialogVisible = false">{{ t('EnergyManagement.EnergyDeviceCheck.dialogCancelButtonText') }}</el-button>
</template>
</Dialog>
</template>
@ -60,14 +61,14 @@ const formData = ref({
isEnable: undefined
})
const formRules = reactive({
isEnable: [{ required: true, message: '是否启用不能为空', trigger: 'blur' }]
isEnable: [{ required: true, message: t('EnergyManagement.EnergyDevice.validatorIsEnableRequired'), trigger: 'blur' }]
})
const formRef = ref() // Ref
/** 打开弹窗 */
const open = async (type: string, id?: number) => {
dialogVisible.value = true
dialogTitle.value = "重置最后抄表值"
dialogTitle.value = t('EnergyManagement.EnergyDeviceCheck.dialogLastCheckValueLabel')
formType.value = type
resetForm()
//

@ -4,40 +4,41 @@
ref="formRef"
:model="formData"
:rules="formRules"
label-width="100px"
label-width="auto"
v-loading="formLoading"
class="energy-device-dialog-form"
>
<el-row>
<el-col :span="12">
<el-form-item label="抄表时间" prop="checkTime">
<el-form-item :label="t('EnergyManagement.EnergyDeviceCheck.dialogCheckTimeLabel')" prop="checkTime">
<el-date-picker
v-model="formData.checkTime"
type="date"
value-format="x"
placeholder="选择抄表时间"
:placeholder="t('EnergyManagement.EnergyDeviceCheck.dialogCheckTimePlaceholder')"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="抄表值" prop="checkValue">
<el-form-item :label="t('EnergyManagement.EnergyDeviceCheck.dialogCheckValueLabel')" prop="checkValue">
<el-input-number v-model="formData.checkValue" @change="changeValue" :min="0" :precision="2" placeholder=""/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="上次抄表时间" prop="lastCheckTime">
<el-form-item :label="t('EnergyManagement.EnergyDeviceCheck.dialogLastCheckTimeLabel')" prop="lastCheckTime">
<el-date-picker
disabled
v-model="formData.lastCheckTime"
type="date"
value-format="x"
placeholder="选择上次抄表时间"
:placeholder="t('EnergyManagement.EnergyDeviceCheck.dialogLastCheckTimePlaceholder')"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="上次抄表值" prop="lastCheckValue">
<el-form-item :label="t('EnergyManagement.EnergyDeviceCheck.dialogLastCheckValueLabel')" prop="lastCheckValue">
<el-input-number disabled v-model="formData.lastCheckValue" :min="0" :precision="2" placeholder="" />
</el-form-item>
</el-col>
@ -45,23 +46,23 @@
<el-row>
<el-col :span="12">
<el-form-item label="单价" prop="unitPrice">
<el-form-item :label="t('EnergyManagement.EnergyDeviceCheck.dialogUnitPriceLabel')" prop="unitPrice">
<el-input-number v-model="formData.unitPrice" :min="0" :precision="2" placeholder="" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="差值" prop="diffValue">
<el-form-item :label="t('EnergyManagement.EnergyDeviceCheck.dialogDiffValueLabel')" prop="diffValue">
<el-input-number disabled v-model="formData.diffValue" :min="0" :precision="2" placeholder="" />
</el-form-item>
</el-col>
</el-row>
<el-form-item label="备注" prop="remark">
<el-input v-model="formData.remark" placeholder="请输入备注" />
<el-form-item :label="t('EnergyManagement.EnergyDeviceCheck.dialogRemarkLabel')" prop="remark">
<el-input v-model="formData.remark" :placeholder="t('EnergyManagement.EnergyDeviceCheck.dialogRemarkPlaceholder')" />
</el-form-item>
</el-form>
<template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button>
<el-button @click="dialogVisible = false"> </el-button>
<el-button @click="submitForm" type="primary" :disabled="formLoading">{{ t('EnergyManagement.EnergyDeviceCheck.dialogOkButtonText') }}</el-button>
<el-button @click="dialogVisible = false">{{ t('EnergyManagement.EnergyDeviceCheck.dialogCancelButtonText') }}</el-button>
</template>
</Dialog>
</template>
@ -87,8 +88,8 @@ const formData = ref({
remark: undefined
})
const formRules = reactive({
deviceId: [{ required: true, message: '能源设备Id不能为空', trigger: 'blur' }],
checkValue: [{ required: true, message: '抄表值不能为空', trigger: 'blur' }]
deviceId: [{ required: true, message: t('EnergyManagement.EnergyDeviceCheck.validatorDeviceIdRequired'), trigger: 'blur' }],
checkValue: [{ required: true, message: t('EnergyManagement.EnergyDeviceCheck.validatorCheckValueRequired'), trigger: 'blur' }]
})
const formRef = ref() // Ref

@ -12,7 +12,7 @@
<!-- <el-text style="color:#339c1e;">{{props.deviceName}}</el-text>-->
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
<el-table-column
label="抄表时间"
:label="t('EnergyManagement.EnergyDeviceCheck.dialogCheckTimeLabel')"
align="center"
prop="checkTime"
:formatter="dateFormatter"
@ -20,20 +20,20 @@
sortable
/>
<el-table-column
label="上次抄表时间"
:label="t('EnergyManagement.EnergyDeviceCheck.dialogLastCheckTimeLabel')"
align="center"
prop="lastCheckTime"
:formatter="dateFormatter"
width="170px"
sortable
/>
<el-table-column label="抄表值" align="center" prop="checkValue" />
<el-table-column label="上次抄表值" align="center" prop="lastCheckValue" />
<el-table-column label="差值" align="center" prop="diffValue" />
<el-table-column label="单价" align="center" prop="unitPrice" />
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column :label="t('EnergyManagement.EnergyDeviceCheck.dialogCheckValueLabel')" align="center" prop="checkValue" />
<el-table-column :label="t('EnergyManagement.EnergyDeviceCheck.dialogLastCheckValueLabel')" align="center" prop="lastCheckValue" />
<el-table-column :label="t('EnergyManagement.EnergyDeviceCheck.dialogDiffValueLabel')" align="center" prop="diffValue" />
<el-table-column :label="t('EnergyManagement.EnergyDeviceCheck.dialogUnitPriceLabel')" align="center" prop="unitPrice" />
<el-table-column :label="t('EnergyManagement.EnergyDeviceCheck.dialogRemarkLabel')" align="center" prop="remark" />
<el-table-column
label="创建时间"
:label="t('common.createTime')"
align="center"
prop="createTime"
:formatter="dateFormatter"
@ -55,7 +55,7 @@
@click="handleDelete(scope.row.id)"
v-hasPermi="['mes:energy-device:delete']"
>
删除
{{ t('common.delMessage') }}
</el-button>
</template>
</el-table-column>

@ -1,31 +1,50 @@
<template>
<ContentWrap>
<!-- 搜索工作栏 -->
<el-form class="-mb-15px" :model="queryParams" ref="queryFormRef" :inline="true" label-width="68px">
<el-form-item label="名称" prop="name">
<el-form
class="-mb-15px energy-device-filter-form"
:model="queryParams"
ref="queryFormRef"
:inline="true"
label-width="auto"
>
<el-form-item :label="t('EnergyManagement.EnergyDevice.searchNameLabel')" prop="name">
<el-input
v-model="queryParams.name" placeholder="请输入名称" clearable @keyup.enter="handleQuery"
class="!w-240px" />
v-model="queryParams.name"
:placeholder="t('EnergyManagement.EnergyDevice.searchNamePlaceholder')"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item>
<el-form-item label="能耗类型" prop="deviceType">
<el-select v-model="queryParams.deviceType" placeholder="请选择设备类型" clearable class="!w-240px">
<el-form-item :label="t('EnergyManagement.EnergyDevice.searchEnergyTypeLabel')" prop="deviceType">
<el-select
v-model="queryParams.deviceType"
:placeholder="t('EnergyManagement.EnergyDevice.searchEnergyTypePlaceholder')"
clearable
class="!w-240px"
>
<el-option v-for="item in typeList" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item>
<el-button @click="handleQuery">
<Icon icon="ep:search" class="mr-5px" /> 搜索
<Icon icon="ep:search" class="mr-5px" />
{{ t('EnergyManagement.EnergyDevice.searchButtonText') }}
</el-button>
<el-button @click="resetQuery">
<Icon icon="ep:refresh" class="mr-5px" /> 重置
<Icon icon="ep:refresh" class="mr-5px" />
{{ t('EnergyManagement.EnergyDevice.resetButtonText') }}
</el-button>
<el-button type="primary" plain @click="openForm('create')" v-hasPermi="['mes:energy-device:create']">
<Icon icon="ep:plus" class="mr-5px" /> 新增
<Icon icon="ep:plus" class="mr-5px" />
{{ t('EnergyManagement.EnergyDevice.createButtonText') }}
</el-button>
<el-button
type="success" plain @click="handleExport" :loading="exportLoading"
v-hasPermi="['mes:energy-device:export']">
<Icon icon="ep:download" class="mr-5px" /> 导出
<Icon icon="ep:download" class="mr-5px" />
{{ t('EnergyManagement.EnergyDevice.exportButtonText') }}
</el-button>
</el-form-item>
</el-form>
@ -44,10 +63,10 @@ type="success" plain @click="handleExport" :loading="exportLoading"
@selection-change="handleSelectionChange"
>
<!-- <el-table-column type="selection" width="50" align="center" /> -->
<el-table-column label="表编码" align="center" prop="code" />
<el-table-column label="表名称" align="center" prop="name" />
<el-table-column label="能耗类型" align="center" prop="deviceTypeName" />
<el-table-column label="所属区域" align="center" prop="orgName" />
<el-table-column :label="t('EnergyManagement.EnergyDevice.tableCodeColumn')" align="center" prop="code" />
<el-table-column :label="t('EnergyManagement.EnergyDevice.tableNameColumn')" align="center" prop="name" />
<el-table-column :label="t('EnergyManagement.EnergyDevice.tableEnergyTypeColumn')" align="center" prop="deviceTypeName" />
<el-table-column :label="t('EnergyManagement.EnergyDevice.tableOrgColumn')" align="center" prop="orgName" />
<!-- <el-table-column label="计算规则" align="center" prop="rules" /> -->
<!-- <el-table-column label="抄表周期" align="center" prop="checkCron" />
<el-table-column label="最后抄表值" align="center" prop="lastCheckValue" />
@ -60,13 +79,19 @@ type="success" plain @click="handleExport" :loading="exportLoading"
width="180px"
/> -->
<!-- <el-table-column label="设备资料" align="center" prop="info" /> -->
<el-table-column label="是否启用" align="center" prop="isEnable">
<el-table-column :label="t('EnergyManagement.EnergyDevice.tableIsEnableColumn')" align="center" prop="isEnable">
<template #default="scope">
<dict-tag :type="DICT_TYPE.INFRA_BOOLEAN_STRING" :value="scope.row.isEnable" />
</template>
</el-table-column>
<el-table-column label="最近更新时间" align="center" prop="updateTime" :formatter="dateFormatter" width="180px" />
<el-table-column label="操作" fixed="right" align="center" width="250px">
<el-table-column
:label="t('EnergyManagement.EnergyDevice.tableUpdateTimeColumn')"
align="center"
prop="updateTime"
:formatter="dateFormatter"
width="180px"
/>
<el-table-column :label="t('EnergyManagement.EnergyDevice.tableOperateColumn')" fixed="right" align="center" width="250px">
<template #default="scope">
<!-- <el-button
link
@ -87,10 +112,10 @@ type="success" plain @click="handleExport" :loading="exportLoading"
<el-button
link type="primary" @click="openForm('update', scope.row.id)"
v-hasPermi="['mes:energy-device:update']">
编辑
{{ t('EnergyManagement.EnergyDevice.tableEditAction') }}
</el-button>
<el-button link type="danger" @click="handleDelete(scope.row.id)" v-hasPermi="['mes:energy-device:delete']">
删除
{{ t('EnergyManagement.EnergyDevice.tableDeleteAction') }}
</el-button>
</template>
</el-table-column>
@ -226,7 +251,7 @@ const handleExport = async () => {
params.ids = selectedIds.value.join(',')
}
const data = await EnergyDeviceApi.exportEnergyDevice(params)
download.excel(data, '能源设备.xls')
download.excel(data, t('EnergyManagement.EnergyDevice.exportFileName'))
} catch {
} finally {
exportLoading.value = false
@ -253,3 +278,9 @@ const newRecordForm = (id: number, deviceType: string) => {
}
</script>
<style scoped>
.energy-device-filter-form :deep(.el-form-item__label) {
min-width: 80px;
}
</style>

@ -4,74 +4,70 @@
ref="formRef"
:model="formData"
:rules="formRules"
label-width="100px"
label-width="auto"
v-loading="formLoading"
class="energy-device-check-dialog-form"
>
<el-row>
<el-col :span="12">
<el-form-item label="能源设备Id" prop="deviceId">
<el-input v-model="formData.deviceId" placeholder="请输入能源设备Id" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="能源设备Id" prop="deviceId">
<el-input v-model="formData.deviceId" placeholder="请输入能源设备Id" />
<el-form-item :label="t('EnergyManagement.EnergyDeviceCheck.dialogDeviceIdLabel')" prop="deviceId">
<el-input v-model="formData.deviceId" :placeholder="t('EnergyManagement.EnergyDeviceCheck.dialogDeviceIdPlaceholder')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="上次抄表时间" prop="lastCheckTime">
<el-form-item :label="t('EnergyManagement.EnergyDeviceCheck.dialogLastCheckTimeLabel')" prop="lastCheckTime">
<el-date-picker
v-model="formData.lastCheckTime"
type="date"
value-format="x"
placeholder="选择上次抄表时间"
:placeholder="t('EnergyManagement.EnergyDeviceCheck.dialogLastCheckTimePlaceholder')"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="上次抄表值" prop="lastCheckValue">
<el-input v-model="formData.lastCheckValue" placeholder="请输入上次抄表值" />
<el-form-item :label="t('EnergyManagement.EnergyDeviceCheck.dialogLastCheckValueLabel')" prop="lastCheckValue">
<el-input v-model="formData.lastCheckValue" :placeholder="t('EnergyManagement.EnergyDeviceCheck.dialogLastCheckValuePlaceholder')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="抄表时间" prop="checkTime">
<el-form-item :label="t('EnergyManagement.EnergyDeviceCheck.dialogCheckTimeLabel')" prop="checkTime">
<el-date-picker
v-model="formData.checkTime"
type="date"
value-format="x"
placeholder="选择抄表时间"
:placeholder="t('EnergyManagement.EnergyDeviceCheck.dialogCheckTimePlaceholder')"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="抄表值" prop="checkValue">
<el-input v-model="formData.checkValue" placeholder="请输入抄表值" />
<el-form-item :label="t('EnergyManagement.EnergyDeviceCheck.dialogCheckValueLabel')" prop="checkValue">
<el-input v-model="formData.checkValue" :placeholder="t('EnergyManagement.EnergyDeviceCheck.dialogCheckValuePlaceholder')" />
</el-form-item>
</el-col>
</el-row>
<el-form-item label="差值" prop="diffValue">
<el-input v-model="formData.diffValue" placeholder="请输入差值" />
<el-form-item :label="t('EnergyManagement.EnergyDeviceCheck.dialogDiffValueLabel')" prop="diffValue">
<el-input v-model="formData.diffValue" :placeholder="t('EnergyManagement.EnergyDeviceCheck.dialogDiffValuePlaceholder')" />
</el-form-item>
<el-row>
<el-col :span="12">
<el-form-item label="单价" prop="unitPrice">
<el-input v-model="formData.unitPrice" placeholder="请输入单价" />
<el-form-item :label="t('EnergyManagement.EnergyDeviceCheck.dialogUnitPriceLabel')" prop="unitPrice">
<el-input v-model="formData.unitPrice" :placeholder="t('EnergyManagement.EnergyDeviceCheck.dialogUnitPricePlaceholder')" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="备注" prop="remark">
<el-input v-model="formData.remark" placeholder="请输入备注" />
<el-form-item :label="t('EnergyManagement.EnergyDeviceCheck.dialogRemarkLabel')" prop="remark">
<el-input v-model="formData.remark" :placeholder="t('EnergyManagement.EnergyDeviceCheck.dialogRemarkPlaceholder')" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button>
<el-button @click="dialogVisible = false"> </el-button>
<el-button @click="submitForm" type="primary" :disabled="formLoading">{{ t('EnergyManagement.EnergyDeviceCheck.dialogOkButtonText') }}</el-button>
<el-button @click="dialogVisible = false">{{ t('EnergyManagement.EnergyDeviceCheck.dialogCancelButtonText') }}</el-button>
</template>
</Dialog>
</template>
@ -100,8 +96,8 @@ const formData = ref({
remark: undefined
})
const formRules = reactive({
deviceId: [{ required: true, message: '能源设备Id不能为空', trigger: 'blur' }],
checkValue: [{ required: true, message: '抄表值不能为空', trigger: 'blur' }]
deviceId: [{ required: true, message: t('EnergyManagement.EnergyDeviceCheck.validatorDeviceIdRequired'), trigger: 'blur' }],
checkValue: [{ required: true, message: t('EnergyManagement.EnergyDeviceCheck.validatorCheckValueRequired'), trigger: 'blur' }]
})
const formRef = ref() // Ref

@ -1,22 +1,22 @@
<template>
<ContentWrap>
<el-form class="-mb-15px" :model="queryParams" ref="queryFormRef" :inline="true" label-width="68px">
<el-form-item label="表名称" prop="name">
<el-form class="-mb-15px energy-device-check-filter-form" :model="queryParams" ref="queryFormRef" :inline="true" label-width="auto">
<el-form-item :label="t('EnergyManagement.EnergyDeviceCheck.searchNameLabel')" prop="name">
<el-input
v-model="queryParams.name" placeholder="请输入表名称" clearable @keyup.enter="handleQuery"
v-model="queryParams.name" :placeholder="t('EnergyManagement.EnergyDeviceCheck.searchNamePlaceholder')" clearable @keyup.enter="handleQuery"
class="!w-240px" />
</el-form-item>
<el-form-item label="所属区域" prop="orgId">
<el-select v-model="queryParams.orgId" filterable clearable placeholder="请选择所属区域" class="!w-240px">
<el-form-item :label="t('EnergyManagement.EnergyDeviceCheck.searchOrgLabel')" prop="orgId">
<el-select v-model="queryParams.orgId" filterable clearable :placeholder="t('EnergyManagement.EnergyDeviceCheck.searchOrgPlaceholder')" class="!w-240px">
<el-option v-for="opt in orgOptions" :key="String(opt.value)" :label="opt.label" :value="opt.value" />
</el-select>
</el-form-item>
<el-form-item label="时间范围" prop="timeRange">
<el-form-item :label="t('EnergyManagement.EnergyDeviceCheck.searchTimeRangeLabel')" prop="timeRange">
<el-date-picker
v-model="queryParams.timeRange" type="datetimerange" value-format="YYYY-MM-DD HH:mm:ss"
format="YYYY-MM-DD HH" start-placeholder="请选择开始时间" end-placeholder="请选择结束时间"
v-model="queryParams.timeRange" type="datetimerange" value-format="YYYY-MM-DD HH:mm:ss"
format="YYYY-MM-DD HH" :start-placeholder="t('EnergyManagement.EnergyDeviceCheck.searchTimeRangeStartPlaceholder')" :end-placeholder="t('EnergyManagement.EnergyDeviceCheck.searchTimeRangeEndPlaceholder')"
:default-time="[new Date('2000-01-01 00:00:00'), new Date('2000-01-01 23:00:00')]"
:disabled-time="getDisabledTime" class="!w-360px " popper-class="energydevicecheckPicker"
:teleported="false" />
@ -24,13 +24,13 @@ v-model="queryParams.timeRange" type="datetimerange" value-format="YYYY-MM-DD HH
<el-form-item>
<el-button @click="handleQuery">
<Icon icon="ep:search" class="mr-5px" /> 查询
<Icon icon="ep:search" class="mr-5px" /> {{ t('EnergyManagement.EnergyDeviceCheck.searchButtonText') }}
</el-button>
<el-button @click="resetQuery">
<Icon icon="ep:refresh" class="mr-5px" /> 重置
<Icon icon="ep:refresh" class="mr-5px" /> {{ t('EnergyManagement.EnergyDeviceCheck.resetButtonText') }}
</el-button>
<el-button type="success" plain @click="handleExport" :loading="exportLoading">
<Icon icon="ep:download" class="mr-5px" /> 导出
<Icon icon="ep:download" class="mr-5px" /> {{ t('EnergyManagement.EnergyDeviceCheck.exportButtonText') }}
</el-button>
</el-form-item>
</el-form>
@ -45,12 +45,12 @@ ref="tableRef" v-loading="loading" :data="list" :stripe="true" :show-overflow-to
<el-table
v-if="getPointDetailsRows(scope.row).length" :data="getPointDetailsRows(scope.row)"
:show-overflow-tooltip="true" size="small" border :header-cell-style="{ background: '#f5f7fa', color: '#909399' }">
<el-table-column label="参数名称" prop="pointName" min-width="140" />
<el-table-column label="最早采集值" prop="earliestValue" min-width="120" />
<el-table-column label="最早采集时间" prop="earliestTime" min-width="170" />
<el-table-column label="最新值" prop="latestValue" min-width="120" />
<el-table-column label="最新采集时间" prop="latestTime" min-width="170" />
<el-table-column label="能耗用量" prop="difference" min-width="120" />
<el-table-column :label="t('EnergyManagement.EnergyDeviceCheck.tableExpandPointNameColumn')" prop="pointName" min-width="140" />
<el-table-column :label="t('EnergyManagement.EnergyDeviceCheck.tableExpandEarliestValueColumn')" prop="earliestValue" min-width="120" />
<el-table-column :label="t('EnergyManagement.EnergyDeviceCheck.tableExpandEarliestTimeColumn')" prop="earliestTime" min-width="170" />
<el-table-column :label="t('EnergyManagement.EnergyDeviceCheck.tableExpandLatestValueColumn')" prop="latestValue" min-width="120" />
<el-table-column :label="t('EnergyManagement.EnergyDeviceCheck.tableExpandLatestTimeColumn')" prop="latestTime" min-width="170" />
<el-table-column :label="t('EnergyManagement.EnergyDeviceCheck.tableExpandDifferenceColumn')" prop="difference" min-width="120" />
</el-table>
</template>
</el-table-column>
@ -59,21 +59,21 @@ v-if="getPointDetailsRows(scope.row).length" :data="getPointDetailsRows(scope.ro
{{ (queryParams.pageNo - 1) * queryParams.pageSize + scope.$index + 1 }}
</template>
</el-table-column> -->
<el-table-column label="表名称" align="center" prop="name" min-width="120" />
<el-table-column label="能源类型" align="center" prop="deviceTypeName" min-width="100" />
<el-table-column label="所属区域" align="center" prop="orgName" min-width="100" />
<el-table-column label="能源用量" align="center" prop="energyConsumption" min-width="120" />
<el-table-column :label="t('EnergyManagement.EnergyDeviceCheck.tableNameColumn')" align="center" prop="name" min-width="120" />
<el-table-column :label="t('EnergyManagement.EnergyDeviceCheck.tableEnergyTypeColumn')" align="center" prop="deviceTypeName" min-width="100" />
<el-table-column :label="t('EnergyManagement.EnergyDeviceCheck.tableOrgColumn')" align="center" prop="orgName" min-width="100" />
<el-table-column :label="t('EnergyManagement.EnergyDeviceCheck.tableEnergyConsumptionColumn')" align="center" prop="energyConsumption" min-width="120" />
<!-- <el-table-column label="班次" align="center" min-width="90">
<template #default>
<el-tag type="success">早班</el-tag>
</template>
</el-table-column> -->
<el-table-column label="开始时间" align="center" min-width="170">
<el-table-column :label="t('EnergyManagement.EnergyDeviceCheck.tableStartTimeColumn')" align="center" min-width="170">
<template #default="scope">
{{ scope.row.startTime ?? scope.row.earliestDataTime ?? '-' }}
</template>
</el-table-column>
<el-table-column label="结束时间" align="center" min-width="170">
<el-table-column :label="t('EnergyManagement.EnergyDeviceCheck.tableEndTimeColumn')" align="center" min-width="170">
<template #default="scope">
{{ scope.row.endTime ?? scope.row.latestDataTime ?? '-' }}
</template>
@ -230,7 +230,7 @@ const handleExport = async () => {
params.ids = selectedIds.value.join(',')
}
const data = await EnergyDeviceApi.exportQueryDataRecords(params)
download.excel(data, '能源报表.xls')
download.excel(data, t('EnergyManagement.EnergyDeviceCheck.exportFileName'))
} catch {
} finally {
exportLoading.value = false

@ -4,19 +4,29 @@
ref="formRef"
:model="formData"
:rules="formRules"
label-width="120px"
label-width="140px"
v-loading="formLoading"
>
<el-form-item label="能耗类型编码" prop="code">
<el-input v-model="formData.code" placeholder="请输入能耗类型编码" :disabled="formType === 'update'" />
<el-form-item :label="t('EnergyManagement.EnergyType.dialogCodeLabel')" prop="code">
<el-input
v-model="formData.code"
:placeholder="t('EnergyManagement.EnergyType.dialogCodePlaceholder')"
:disabled="formType === 'update'"
/>
</el-form-item>
<el-form-item label="能耗类型名称" prop="name">
<el-input v-model="formData.name" placeholder="请输入能耗类型名称" />
<el-form-item :label="t('EnergyManagement.EnergyType.dialogNameLabel')" prop="name">
<el-input
v-model="formData.name"
:placeholder="t('EnergyManagement.EnergyType.dialogNamePlaceholder')"
/>
</el-form-item>
<el-form-item label="单位" prop="unit">
<el-input v-model="formData.unit" placeholder="请输入单位" />
<el-form-item :label="t('EnergyManagement.EnergyType.dialogUnitLabel')" prop="unit">
<el-input
v-model="formData.unit"
:placeholder="t('EnergyManagement.EnergyType.dialogUnitPlaceholder')"
/>
</el-form-item>
<el-form-item label="是否启用" prop="isEnable">
<el-form-item :label="t('EnergyManagement.EnergyType.dialogIsEnableLabel')" prop="isEnable">
<el-radio-group v-model="formData.isEnable">
<el-radio
v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"
@ -27,13 +37,20 @@
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="formData.remark" placeholder="请输入备注" />
<el-form-item :label="t('EnergyManagement.EnergyType.dialogRemarkLabel')" prop="remark">
<el-input
v-model="formData.remark"
:placeholder="t('EnergyManagement.EnergyType.dialogRemarkPlaceholder')"
/>
</el-form-item>
</el-form>
<template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button>
<el-button @click="dialogVisible = false"> </el-button>
<el-button @click="submitForm" type="primary" :disabled="formLoading">
{{ t('EnergyManagement.EnergyType.dialogOkButtonText') }}
</el-button>
<el-button @click="dialogVisible = false">
{{ t('EnergyManagement.EnergyType.dialogCancelButtonText') }}
</el-button>
</template>
</Dialog>
</template>
@ -60,10 +77,10 @@ const formData = ref({
remark: undefined,
})
const formRules = reactive({
code: [{ required: true, message: '能耗类型编码不能为空', trigger: 'blur' }],
name: [{ required: true, message: '能耗类型名称不能为空', trigger: 'blur' }],
unit: [{ required: true, message: '单位不能为空', trigger: 'blur' }],
isEnable: [{ required: true, message: '是否启用不能为空', trigger: 'blur' }],
code: [{ required: true, message: t('EnergyManagement.EnergyType.validatorCodeRequired'), trigger: 'blur' }],
name: [{ required: true, message: t('EnergyManagement.EnergyType.validatorNameRequired'), trigger: 'blur' }],
unit: [{ required: true, message: t('EnergyManagement.EnergyType.validatorUnitRequired'), trigger: 'blur' }],
isEnable: [{ required: true, message: t('EnergyManagement.EnergyType.validatorIsEnableRequired'), trigger: 'blur' }],
})
const formRef = ref() // Ref

@ -6,56 +6,63 @@
:model="queryParams"
ref="queryFormRef"
:inline="true"
label-width="100px"
label-width="120px"
>
<el-form-item label="能耗类型编码" prop="code">
<el-form-item :label="t('EnergyManagement.EnergyType.searchCodeLabel')" prop="code">
<el-input
v-model="queryParams.code"
placeholder="请输入能耗类型编码"
:placeholder="t('EnergyManagement.EnergyType.searchCodePlaceholder')"
clearable
@keyup.enter="handleQuery"
class="!w-300px"
/>
</el-form-item>
<el-form-item label="能耗类型名称" prop="name">
<el-form-item :label="t('EnergyManagement.EnergyType.searchNameLabel')" prop="name">
<el-input
v-model="queryParams.name"
placeholder="请输入能耗类型名称"
:placeholder="t('EnergyManagement.EnergyType.searchNamePlaceholder')"
clearable
@keyup.enter="handleQuery"
class="!w-300px"
/>
</el-form-item>
<el-form-item label="单位" prop="unit">
<el-form-item :label="t('EnergyManagement.EnergyType.searchUnitLabel')" prop="unit">
<el-input
v-model="queryParams.unit"
placeholder="请输入单位"
:placeholder="t('EnergyManagement.EnergyType.searchUnitPlaceholder')"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item>
<el-form-item label="创建时间" prop="createTime">
<el-form-item :label="t('EnergyManagement.EnergyType.searchCreateTimeLabel')" prop="createTime">
<el-date-picker
v-model="queryParams.createTime"
value-format="YYYY-MM-DD HH:mm:ss"
type="daterange"
start-placeholder="开始日期"
end-placeholder="结束日期"
:start-placeholder="t('EnergyManagement.EnergyType.searchCreateTimeStartPlaceholder')"
:end-placeholder="t('EnergyManagement.EnergyType.searchCreateTimeEndPlaceholder')"
:default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
class="!w-220px"
/>
</el-form-item>
<el-form-item>
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button>
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
<el-button @click="handleQuery">
<Icon icon="ep:search" class="mr-5px" />
{{ t('EnergyManagement.EnergyType.searchButtonText') }}
</el-button>
<el-button @click="resetQuery">
<Icon icon="ep:refresh" class="mr-5px" />
{{ t('EnergyManagement.EnergyType.resetButtonText') }}
</el-button>
<el-button
type="primary"
plain
@click="openForm('create')"
v-hasPermi="['mes:energy-type:create']"
>
<Icon icon="ep:plus" class="mr-5px" /> 新增
<Icon icon="ep:plus" class="mr-5px" />
{{ t('EnergyManagement.EnergyType.addButtonText') }}
</el-button>
<el-button
type="success"
@ -64,7 +71,8 @@
:loading="exportLoading"
v-hasPermi="['mes:energy-type:export']"
>
<Icon icon="ep:download" class="mr-5px" /> 导出
<Icon icon="ep:download" class="mr-5px" />
{{ t('EnergyManagement.EnergyType.exportButtonText') }}
</el-button>
</el-form-item>
</el-form>
@ -82,23 +90,47 @@
>
<!-- <el-table-column label="ID" align="center" prop="id" /> -->
<el-table-column type="selection" width="55" reserve-selection />
<el-table-column label="能耗类型编码" align="center" prop="code" />
<el-table-column label="能耗类型名称" align="center" prop="name" />
<el-table-column label="单位" align="center" prop="unit" />
<el-table-column label="是否启用" align="center" prop="isEnable">
<el-table-column
:label="t('EnergyManagement.EnergyType.tableCodeColumn')"
align="center"
prop="code"
/>
<el-table-column
:label="t('EnergyManagement.EnergyType.tableNameColumn')"
align="center"
prop="name"
/>
<el-table-column
:label="t('EnergyManagement.EnergyType.tableUnitColumn')"
align="center"
prop="unit"
/>
<el-table-column
:label="t('EnergyManagement.EnergyType.tableIsEnableColumn')"
align="center"
prop="isEnable"
>
<template #default="scope">
<dict-tag :type="DICT_TYPE.INFRA_BOOLEAN_STRING" :value="scope.row.isEnable" />
</template>
</el-table-column>
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column
label="创建时间"
:label="t('EnergyManagement.EnergyType.tableRemarkColumn')"
align="center"
prop="remark"
/>
<el-table-column
:label="t('EnergyManagement.EnergyType.tableCreateTimeColumn')"
align="center"
prop="createTime"
:formatter="dateFormatter"
width="180px"
/>
<el-table-column label="操作" align="center" min-width="120px">
<el-table-column
:label="t('EnergyManagement.EnergyType.tableOperateColumn')"
align="center"
min-width="120px"
>
<template #default="scope">
<el-button
link
@ -106,7 +138,7 @@
@click="openForm('update', scope.row.id)"
v-hasPermi="['mes:energy-type:update']"
>
编辑
{{ t('action.edit') }}
</el-button>
<el-button
link
@ -114,7 +146,7 @@
@click="handleDelete(scope.row.id)"
v-hasPermi="['mes:energy-type:delete']"
>
删除
{{ t('action.del') }}
</el-button>
</template>
</el-table-column>
@ -221,7 +253,7 @@ const handleExport = async () => {
ids: selectedIds.value.length ? selectedIds.value.join(',') : undefined
}
const data = await EnergyTypeApi.exportEnergyType(params)
download.excel(data, '能耗类型.xls')
download.excel(data, t('EnergyManagement.EnergyType.exportFilename'))
} catch {
} finally {
exportLoading.value = false

Loading…
Cancel
Save