Merge remote-tracking branch 'origin/main'

This commit is contained in:
谷成伟 2024-12-05 17:17:03 +08:00
commit 6eedf5826f
5 changed files with 70 additions and 36 deletions

View File

@ -327,7 +327,7 @@ import { useRoute, useRouter } from 'vue-router'
import Overview from './overview.vue' import Overview from './overview.vue'
import { TableInstance } from 'element-plus' import { TableInstance } from 'element-plus'
import { dayjs, ElMessage, ElMessageBox } from 'element-plus' import { dayjs, ElMessage, ElMessageBox } from 'element-plus'
import { getRealTimeState, getCutDecimalsValue } from '/@/views/backend/equipment/airBlower/utils' import { getRealTimeState, getCutDecimalsValue, malFunctionKeys } from '/@/views/backend/equipment/airBlower/utils'
import { sendCommandReq, sendManualCommandReq } from '/@/api/backend/control/request' import { sendCommandReq, sendManualCommandReq } from '/@/api/backend/control/request'
import { getAlarmListReq } from '/@/api/backend/alarms/request' import { getAlarmListReq } from '/@/api/backend/alarms/request'
import { queryfaultCodeDict } from '/@/api/backend/theoreticalpowerCurve/request' import { queryfaultCodeDict } from '/@/api/backend/theoreticalpowerCurve/request'
@ -1037,7 +1037,7 @@ const createRealTimeData = async () => {
val = enumStore.data[item.attributeCode][val] val = enumStore.data[item.attributeCode][val]
} }
if (malFunctionKeys.includes(item.attributeCode)) { if (malFunctionKeys.includes(item.attributeCode)) {
val = malFunctionEnums?.[item.attributeCode] ?? val val = malFunctionEnums?.[val] ?? val
} }
if (sigleDataKeys.includes(item.attributeCode.toLowerCase())) { if (sigleDataKeys.includes(item.attributeCode.toLowerCase())) {
realTimeDataForSingle.value[item.attributeCode.toLowerCase()] = val === '-' ? val : val realTimeDataForSingle.value[item.attributeCode.toLowerCase()] = val === '-' ? val : val
@ -1345,29 +1345,16 @@ const getAlarmList = () => {
}) })
} }
const malFunctionKeys = [ let malFunctionEnums: any = {}
'ActiveStatusCode01',
'ActiveStatusCode02',
'ActiveStatusCode03',
'ActiveStatusCode04',
'ActiveStatusCode05',
'ActiveStatusCode06',
'ActiveStatusCode07',
'ActiveStatusCode08',
'FirstTriggeredCode',
]
const malFunctionEnums: any = {}
const getMalfunctionEnums = () => { const getMalfunctionEnums = () => {
const curWindBlower = airBlowerList.value.find((item) => item.irn === route.query.irn) const curWindBlower = airBlowerList.value.find((item) => item.irn === route.query.irn)
console.log(curWindBlower)
queryfaultCodeDict({ madeinfactory: curWindBlower!.madeinfactory, model: curWindBlower!.model }).then((res) => { queryfaultCodeDict({ madeinfactory: curWindBlower!.madeinfactory, model: curWindBlower!.model }).then((res) => {
if (res.code == 200) { if (res.code == 200) {
const data: any = {} const data: any = {}
res.data.forEach((item: any) => { res.data.forEach((item: any) => {
data[item.code] = item.description data[item.code] = item.description
}) })
malFunctionEnums = data
} }
}) })
} }

View File

@ -36,3 +36,15 @@ export const getEnumToValue = (key: string, value: any) => {
return value return value
} }
} }
export const malFunctionKeys = [
'ActiveStatusCode01',
'ActiveStatusCode02',
'ActiveStatusCode03',
'ActiveStatusCode04',
'ActiveStatusCode05',
'ActiveStatusCode06',
'ActiveStatusCode07',
'ActiveStatusCode08',
'FirstTriggeredCode',
]

View File

@ -119,9 +119,9 @@
<el-col :span="12"> <el-col :span="12">
<el-form-item label="生产厂家:"> <el-form-item label="生产厂家:">
<el-input <el-input
:disabled="hasShowSelect" :disabled="hasSetOfMachines"
v-model="editDeviceData.madeinFactory" v-model="editDeviceData.madeinFactory"
:placeholder="hasShowSelect ? '请选择规格型号' : '请输入生产厂家'" :placeholder="hasSetOfMachines ? '请选择规格型号' : '请输入生产厂家'"
clearable clearable
/> />
</el-form-item> </el-form-item>
@ -129,7 +129,7 @@
<el-col :span="12"> <el-col :span="12">
<el-form-item label="规格型号:"> <el-form-item label="规格型号:">
<el-select <el-select
v-if="hasShowSelect" v-if="hasSetOfMachines"
v-model="editDeviceData.model" v-model="editDeviceData.model"
placeholder="请选择规格型号" placeholder="请选择规格型号"
style="width: 200px" style="width: 200px"
@ -226,11 +226,12 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item :label="editDeviceData.objectType == '风电场' ? '装机容量(MW):' : '额定容量(MW):'"> <el-form-item :label="hasSetOfMachines ? '额定容量(MW):' : '装机容量(MW):'">
<el-input-number <el-input-number
:disabled="hasSetOfMachines"
style="width: 200px" style="width: 200px"
:controls="false" :controls="false"
:placeholder="editDeviceData.objectType == '风电场' ? '请输入装机容量' : '请输入额定容量'" :placeholder="hasSetOfMachines ? '请输入额定容量' : '请输入装机容量'"
v-model="editDeviceData.nominalCapacity" v-model="editDeviceData.nominalCapacity"
/> />
</el-form-item> </el-form-item>
@ -299,9 +300,9 @@
<el-col :span="12"> <el-col :span="12">
<el-form-item label="生产厂家:"> <el-form-item label="生产厂家:">
<el-input <el-input
:disabled="hasShowSelect" :disabled="hasSetOfMachines"
v-model="editAddDeviceData.madeinFactory" v-model="editAddDeviceData.madeinFactory"
:placeholder="hasShowSelect ? '请选择规格型号' : '请输入生产厂家'" :placeholder="hasSetOfMachines ? '请选择规格型号' : '请输入生产厂家'"
clearable clearable
/> />
</el-form-item> </el-form-item>
@ -309,7 +310,7 @@
<el-col :span="12"> <el-col :span="12">
<el-form-item label="规格型号:"> <el-form-item label="规格型号:">
<el-select <el-select
v-if="hasShowSelect" v-if="hasSetOfMachines"
v-model="editAddDeviceData.model" v-model="editAddDeviceData.model"
placeholder="请选择规格型号" placeholder="请选择规格型号"
style="width: 200px" style="width: 200px"
@ -411,11 +412,12 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item :label="editAddDeviceData.objectType == '风电场' ? '装机容量(MW):' : '额定容量(MW):'"> <el-form-item :label="hasSetOfMachines ? '额定容量(MW):' : '装机容量(MW):'">
<el-input-number <el-input-number
:disabled="hasSetOfMachines"
style="width: 200px" style="width: 200px"
:controls="false" :controls="false"
:placeholder="editAddDeviceData.objectType == '风电场' ? '请输入装机容量' : '请输入额定容量'" :placeholder="hasSetOfMachines ? '请输入额定容量' : '请输入装机容量'"
v-model="editAddDeviceData.nominalCapacity" v-model="editAddDeviceData.nominalCapacity"
/> />
</el-form-item> </el-form-item>
@ -487,6 +489,8 @@
:iotModelId="measureData.iotModelId" :iotModelId="measureData.iotModelId"
:autoUpdate="measureData.autoUpdate" :autoUpdate="measureData.autoUpdate"
:attributeType="measureData.measureType" :attributeType="measureData.measureType"
:madein-factory="measureData.madeinFactory"
:model="measureData.model"
></MeasurementPage> ></MeasurementPage>
</div> </div>
</el-dialog> </el-dialog>
@ -731,7 +735,7 @@ const addDeviceList = () => {
editAddDeviceData.iotModelId = '' editAddDeviceData.iotModelId = ''
editAddDeviceData.belongLine = '' editAddDeviceData.belongLine = ''
editAddDeviceData.standard = 0 editAddDeviceData.standard = 0
editAddDeviceData.nominalCapacity = null editAddDeviceData.nominalCapacity = ''
} }
// //
@ -754,23 +758,22 @@ const editDeviceData = reactive({
id: '', id: '',
belongLine: '', belongLine: '',
standard: 0, standard: 0,
nominalCapacity: null, nominalCapacity: '',
}) })
const hasShowSelect = computed(() => { const hasSetOfMachines = computed(() => {
return queryParameter.value.equipmentTypeId === 10002 return queryParameter.value.equipmentTypeId === 10002
}) })
const modelList = ref<{ model: string; madeinFactory: string }[]>([]) const modelList = ref<{ model: string; madeinFactory: string; nominalCapacity: string }[]>([])
const getModelList = () => { const getModelList = () => {
theoreticalpowerCurveList().then((res) => { theoreticalpowerCurveList().then((res) => {
if (res.rows) { if (res.rows) {
console.log(res)
modelList.value = (res.rows as any[]).map((item: any) => { modelList.value = (res.rows as any[]).map((item: any) => {
return { return {
model: item.model, model: item.model,
madeinFactory: item.madeinfactory, madeinFactory: item.madeinfactory,
nominalCapacity: item.nominalCapacity,
} }
}) })
} }
@ -778,9 +781,11 @@ const getModelList = () => {
} }
const selectEditModel = (value: string) => { const selectEditModel = (value: string) => {
editDeviceData.madeinFactory = modelList.value.find((item) => item.model == value)?.madeinFactory || '' editDeviceData.madeinFactory = modelList.value.find((item) => item.model == value)?.madeinFactory || ''
editDeviceData.nominalCapacity = modelList.value.find((item) => item.model == value)?.nominalCapacity || ''
} }
const selectAddModel = (value: string) => { const selectAddModel = (value: string) => {
editAddDeviceData.madeinFactory = modelList.value.find((item) => item.model == value)?.madeinFactory || '' editAddDeviceData.madeinFactory = modelList.value.find((item) => item.model == value)?.madeinFactory || ''
editAddDeviceData.nominalCapacity = modelList.value.find((item) => item.model == value)?.nominalCapacity || ''
} }
const size = ref<'default' | 'large' | 'small'>('default') const size = ref<'default' | 'large' | 'small'>('default')
@ -938,7 +943,7 @@ const editAddDeviceData = reactive({
iotModelId: '', iotModelId: '',
belongLine: '', belongLine: '',
standard: 0, standard: 0,
nominalCapacity: null, nominalCapacity: '',
}) })
const addhandleSwitchChange = (value: any) => { const addhandleSwitchChange = (value: any) => {
editAddDeviceData.standard = value ? 1 : 0 editAddDeviceData.standard = value ? 1 : 0
@ -1060,16 +1065,22 @@ const measureData = reactive<{
iotModelId: string iotModelId: string
autoUpdate: boolean autoUpdate: boolean
measureType: ModelAttributeType measureType: ModelAttributeType
madeinFactory: string
model: string
}>({ }>({
deviceId: '', deviceId: '',
iotModelId: '', iotModelId: '',
autoUpdate: false, autoUpdate: false,
measureType: 138, measureType: 138,
madeinFactory: '',
model: '',
}) })
const showMeasure = ref(false) const showMeasure = ref(false)
const openMeasure = (data: any) => { const openMeasure = (data: any) => {
measureData.deviceId = data.row.id measureData.deviceId = data.row.id
measureData.iotModelId = data.row.iotModelId measureData.iotModelId = data.row.iotModelId
measureData.madeinFactory = data.row.madeinFactory
measureData.model = data.row.model
if (measureData.iotModelId) { if (measureData.iotModelId) {
showMeasure.value = true showMeasure.value = true
} else { } else {

View File

@ -89,16 +89,21 @@ import { getModelAttributeListReq, getRealValueListReq } from '/@/api/backend/de
import * as echarts from 'echarts' import * as echarts from 'echarts'
import { getRealValueRangeReq } from '/@/api/backend/deviceModel/request' import { getRealValueRangeReq } from '/@/api/backend/deviceModel/request'
import { useEnumStore } from '/@/stores/enums' import { useEnumStore } from '/@/stores/enums'
import { queryfaultCodeDict } from '/@/api/backend/theoreticalpowerCurve/request'
import { malFunctionKeys} from '/@/views/backend/equipment/airBlower/utils'
const enumStore = useEnumStore() const enumStore = useEnumStore()
const props = withDefaults( const props = withDefaults(
defineProps<{ iotModelId: string; deviceId: string; show: boolean; autoUpdate: boolean; attributeType: ModelAttributeType }>(), defineProps<{ iotModelId: string; deviceId: string; show: boolean; autoUpdate: boolean; attributeType: ModelAttributeType;model:string;madeinFactory:string }>(),
{ {
iotModelId: '', iotModelId: '',
deviceId: '', deviceId: '',
show: false, show: false,
autoUpdate: false, autoUpdate: false,
attributeType: 138, attributeType: 138,
model:'',
madeinFactory:''
} }
) )
@ -204,6 +209,20 @@ const getRealValueList = (data: { deviceId: string; attributes: string[] }, list
}) })
} }
let malFunctionEnums: any = {}
const getMalfunctionEnums = () => {
queryfaultCodeDict({ madeinfactory: props.madeinFactory, model: props.model }).then((res) => {
if (res.code == 200) {
const data: any = {}
res.data.forEach((item: any) => {
data[item.code] = item.description
})
malFunctionEnums = data
}
})
}
const getCompleteData = () => { const getCompleteData = () => {
getAttributeList() getAttributeList()
.then(({ data, codeList }: any) => { .then(({ data, codeList }: any) => {
@ -217,6 +236,9 @@ const getCompleteData = () => {
if (enumStore.keys.includes(item.attributeCode)) { if (enumStore.keys.includes(item.attributeCode)) {
realValItem = enumStore.data[item.attributeCode][realValItem] realValItem = enumStore.data[item.attributeCode][realValItem]
} }
if(malFunctionKeys.includes(item.attributeCode)){
realValItem = malFunctionEnums?.[realValItem] ?? realValItem
}
return { return {
...item, ...item,
realTimeValue: realValItem realTimeValue: realValItem
@ -505,6 +527,7 @@ watch(
(newVal) => { (newVal) => {
if (newVal) { if (newVal) {
getCompleteData() getCompleteData()
getMalfunctionEnums()
searchOptions.datePickerValue = shortcuts[0].value() searchOptions.datePickerValue = shortcuts[0].value()
} else { } else {
autoUpdateTimer.value && clearInterval(autoUpdateTimer.value) autoUpdateTimer.value && clearInterval(autoUpdateTimer.value)

View File

@ -613,6 +613,7 @@ const handleCurrentChange = (val: any) => {
getpowerCurve() getpowerCurve()
getFaultRecording() getFaultRecording()
getRunLog() getRunLog()
getfaultCodeDict()
} }
const getpowerCurve = () => { const getpowerCurve = () => {
currentRow.value = currentRow.value ?? theoreticalTableData.value[0] currentRow.value = currentRow.value ?? theoreticalTableData.value[0]