|
|
|
@ -35,18 +35,7 @@
|
|
|
|
class="!w-240px"
|
|
|
|
class="!w-240px"
|
|
|
|
/>
|
|
|
|
/>
|
|
|
|
</el-form-item>
|
|
|
|
</el-form-item>
|
|
|
|
<el-form-item :label="t('EquipmentManagement.CapacityReport.deviceStatus')" prop="deviceStatus">
|
|
|
|
<el-form-item :label="t('EquipmentManagement.CapacityReport.workshop')" prop="workshop" v-show="showAllFilters">
|
|
|
|
<el-select
|
|
|
|
|
|
|
|
v-model="queryParams.deviceStatus"
|
|
|
|
|
|
|
|
:placeholder="t('EquipmentManagement.CapacityReport.placeholderDeviceStatus')"
|
|
|
|
|
|
|
|
clearable
|
|
|
|
|
|
|
|
class="!w-240px"
|
|
|
|
|
|
|
|
>
|
|
|
|
|
|
|
|
<el-option :label="t('EquipmentManagement.EquipmentLedger.normal')" :value="0" />
|
|
|
|
|
|
|
|
<el-option :label="t('EquipmentManagement.EquipmentLedger.stop')" :value="1" />
|
|
|
|
|
|
|
|
</el-select>
|
|
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
<el-form-item :label="t('EquipmentManagement.CapacityReport.workshop')" prop="workshop">
|
|
|
|
|
|
|
|
<el-input
|
|
|
|
<el-input
|
|
|
|
v-model="queryParams.workshop"
|
|
|
|
v-model="queryParams.workshop"
|
|
|
|
:placeholder="t('EquipmentManagement.CapacityReport.placeholderWorkshop')"
|
|
|
|
:placeholder="t('EquipmentManagement.CapacityReport.placeholderWorkshop')"
|
|
|
|
@ -55,6 +44,14 @@
|
|
|
|
class="!w-240px"
|
|
|
|
class="!w-240px"
|
|
|
|
/>
|
|
|
|
/>
|
|
|
|
</el-form-item>
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<el-form-item v-if="filterCount > 3">
|
|
|
|
|
|
|
|
<el-button plain @click="toggleFilters">
|
|
|
|
|
|
|
|
<Icon :icon="showAllFilters ? 'ep:arrow-up' : 'ep:arrow-down'" class="mr-5px" />
|
|
|
|
|
|
|
|
{{ showAllFilters ? '收起' : '更多' }}
|
|
|
|
|
|
|
|
</el-button>
|
|
|
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
|
|
|
|
<el-form-item>
|
|
|
|
<el-form-item>
|
|
|
|
<el-button @click="handleQuery">
|
|
|
|
<el-button @click="handleQuery">
|
|
|
|
<Icon icon="ep:search" class="mr-5px" /> {{ t('common.query') }}
|
|
|
|
<Icon icon="ep:search" class="mr-5px" /> {{ t('common.query') }}
|
|
|
|
@ -84,16 +81,6 @@
|
|
|
|
<el-table-column :label="t('EquipmentManagement.CapacityReport.deviceCode')" align="center" prop="deviceCode" sortable />
|
|
|
|
<el-table-column :label="t('EquipmentManagement.CapacityReport.deviceCode')" align="center" prop="deviceCode" sortable />
|
|
|
|
<el-table-column :label="t('EquipmentManagement.CapacityReport.deviceName')" align="center" prop="deviceName" sortable />
|
|
|
|
<el-table-column :label="t('EquipmentManagement.CapacityReport.deviceName')" align="center" prop="deviceName" sortable />
|
|
|
|
<el-table-column :label="t('EquipmentManagement.CapacityReport.deviceType')" align="center" prop="typeName" sortable />
|
|
|
|
<el-table-column :label="t('EquipmentManagement.CapacityReport.deviceType')" align="center" prop="typeName" sortable />
|
|
|
|
<el-table-column :label="t('EquipmentManagement.CapacityReport.deviceStatus')" align="center" prop="deviceStatus" sortable>
|
|
|
|
|
|
|
|
<template #default="scope">
|
|
|
|
|
|
|
|
<el-switch
|
|
|
|
|
|
|
|
:model-value="isDeviceLedgerEnabled(scope.row)"
|
|
|
|
|
|
|
|
:loading="Boolean(deviceStatusUpdatingMap[scope.row.id])"
|
|
|
|
|
|
|
|
inline-prompt
|
|
|
|
|
|
|
|
@change="(val) => handleDeviceStatusChange(scope.row, val)"
|
|
|
|
|
|
|
|
/>
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
</el-table-column>
|
|
|
|
|
|
|
|
<el-table-column :label="t('EquipmentManagement.CapacityReport.ratedCapacity')" align="center" prop="ratedCapacity" sortable />
|
|
|
|
<el-table-column :label="t('EquipmentManagement.CapacityReport.ratedCapacity')" align="center" prop="ratedCapacity" sortable />
|
|
|
|
<el-table-column :label="t('EquipmentManagement.CapacityReport.reportCapacity')" align="center" prop="reportCapacity" sortable />
|
|
|
|
<el-table-column :label="t('EquipmentManagement.CapacityReport.reportCapacity')" align="center" prop="reportCapacity" sortable />
|
|
|
|
<el-table-column :label="t('EquipmentManagement.CapacityReport.actualCapacity')" align="center" prop="actualCapacity" sortable />
|
|
|
|
<el-table-column :label="t('EquipmentManagement.CapacityReport.actualCapacity')" align="center" prop="actualCapacity" sortable />
|
|
|
|
@ -127,36 +114,17 @@ const queryParams = reactive({
|
|
|
|
deviceCode: undefined,
|
|
|
|
deviceCode: undefined,
|
|
|
|
deviceName: undefined,
|
|
|
|
deviceName: undefined,
|
|
|
|
deviceType: undefined,
|
|
|
|
deviceType: undefined,
|
|
|
|
deviceStatus: undefined,
|
|
|
|
|
|
|
|
workshop: undefined
|
|
|
|
workshop: undefined
|
|
|
|
})
|
|
|
|
})
|
|
|
|
const queryFormRef = ref()
|
|
|
|
const queryFormRef = ref()
|
|
|
|
const exportLoading = ref(false)
|
|
|
|
const exportLoading = ref(false)
|
|
|
|
|
|
|
|
const showAllFilters = ref(false) // 是否显示所有筛选框
|
|
|
|
|
|
|
|
const filterCount = 4 // 筛选框数量
|
|
|
|
const selectedIds = ref<number[]>([])
|
|
|
|
const selectedIds = ref<number[]>([])
|
|
|
|
const deviceStatusUpdatingMap = ref<Record<number, boolean>>({})
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const isDeviceLedgerEnabled = (row: CapacityReportVO) => {
|
|
|
|
|
|
|
|
return Number(row.deviceStatus) === 0
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const handleDeviceStatusChange = async (row: CapacityReportVO, value: boolean) => {
|
|
|
|
/** 切换筛选框展开/折叠 */
|
|
|
|
if (!row?.id) return
|
|
|
|
const toggleFilters = () => {
|
|
|
|
const oldValue = Number(row.deviceStatus)
|
|
|
|
showAllFilters.value = !showAllFilters.value
|
|
|
|
const nextValue = value ? 0 : 1
|
|
|
|
|
|
|
|
row.deviceStatus = nextValue
|
|
|
|
|
|
|
|
deviceStatusUpdatingMap.value[row.id] = true
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
await DeviceLedgerApi.updateDeviceLedger({
|
|
|
|
|
|
|
|
id: row.id,
|
|
|
|
|
|
|
|
deviceStatus: nextValue
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
message.success(t('common.updateSuccess'))
|
|
|
|
|
|
|
|
} catch {
|
|
|
|
|
|
|
|
row.deviceStatus = oldValue
|
|
|
|
|
|
|
|
message.error(t('common.updateFail'))
|
|
|
|
|
|
|
|
} finally {
|
|
|
|
|
|
|
|
deviceStatusUpdatingMap.value[row.id] = false
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
const getList = async () => {
|
|
|
|
const getList = async () => {
|
|
|
|
|