|
@@ -4,6 +4,7 @@ import { message } from 'ant-design-vue';
|
|
|
|
|
|
import { useRequest } from '@/hooks/request';
|
|
import { useRequest } from '@/hooks/request';
|
|
import { useViewVisible } from '@/hooks/view-visible';
|
|
import { useViewVisible } from '@/hooks/view-visible';
|
|
|
|
+import { t } from '@/i18n';
|
|
import { getDeviceGroupList, getDeviceListSimple, queryDevicesList } from '@/api';
|
|
import { getDeviceGroupList, getDeviceListSimple, queryDevicesList } from '@/api';
|
|
|
|
|
|
import type { DataSelection, DeviceGroup, DeviceParams, DevicesListItem } from '@/types';
|
|
import type { DataSelection, DeviceGroup, DeviceParams, DevicesListItem } from '@/types';
|
|
@@ -53,8 +54,13 @@ const addAllGatewayList = (value: number) => {
|
|
twoDeviceGroup.value = data;
|
|
twoDeviceGroup.value = data;
|
|
if (data.length) {
|
|
if (data.length) {
|
|
if (props.form.childGroupId) {
|
|
if (props.form.childGroupId) {
|
|
- gradeTwo.value = props.form.childGroupId;
|
|
|
|
- getEquipmentList(props.form.childGroupId);
|
|
|
|
|
|
+ if (twoDeviceGroup.value.some((item) => item.id === props.form.childGroupId)) {
|
|
|
|
+ gradeTwo.value = props.form.childGroupId;
|
|
|
|
+ getEquipmentList(props.form.childGroupId);
|
|
|
|
+ } else {
|
|
|
|
+ gradeTwo.value = data[0].id;
|
|
|
|
+ getEquipmentList(data[0].id);
|
|
|
|
+ }
|
|
} else {
|
|
} else {
|
|
gradeTwo.value = data[0].id;
|
|
gradeTwo.value = data[0].id;
|
|
getEquipmentList(data[0].id);
|
|
getEquipmentList(data[0].id);
|
|
@@ -78,13 +84,19 @@ const getEquipmentList = (id: number) => {
|
|
equipmentList.value = records;
|
|
equipmentList.value = records;
|
|
if (records.length) {
|
|
if (records.length) {
|
|
if (props.form.deviceId) {
|
|
if (props.form.deviceId) {
|
|
- equipmentId.value = props.form.deviceId;
|
|
|
|
- records.forEach((item) => {
|
|
|
|
- if (item.id === props.form.deviceId) {
|
|
|
|
- equipmentName.value = item.deviceName;
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
- getParameters(props.form.deviceId);
|
|
|
|
|
|
+ if (equipmentList.value.some((item) => item.id === props.form.deviceId)) {
|
|
|
|
+ equipmentId.value = props.form.deviceId;
|
|
|
|
+ records.forEach((item) => {
|
|
|
|
+ if (item.id === props.form.deviceId) {
|
|
|
|
+ equipmentName.value = item.deviceName;
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ getParameters(props.form.deviceId);
|
|
|
|
+ } else {
|
|
|
|
+ equipmentId.value = records[0].id;
|
|
|
|
+ equipmentName.value = records[0].deviceName;
|
|
|
|
+ getParameters(records[0].id);
|
|
|
|
+ }
|
|
} else {
|
|
} else {
|
|
equipmentId.value = records[0].id;
|
|
equipmentId.value = records[0].id;
|
|
equipmentName.value = records[0].deviceName;
|
|
equipmentName.value = records[0].deviceName;
|
|
@@ -104,13 +116,19 @@ const getParameters = (id: number) => {
|
|
parametersList.value = await getDeviceListSimple(id);
|
|
parametersList.value = await getDeviceListSimple(id);
|
|
if (parametersList.value.length) {
|
|
if (parametersList.value.length) {
|
|
if (props.form.paramCode) {
|
|
if (props.form.paramCode) {
|
|
- parametersList.value.forEach((item) => {
|
|
|
|
- if (item.deviceParamCode === props.form.paramCode) {
|
|
|
|
- parametersId.value = item.id;
|
|
|
|
- parametersCode.value = item.deviceParamCode;
|
|
|
|
- parametersName.value = item.deviceParamName;
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
|
|
+ if (parametersList.value.some((item) => item.deviceParamCode === props.form.paramCode)) {
|
|
|
|
+ parametersList.value.forEach((item) => {
|
|
|
|
+ if (item.deviceParamCode === props.form.paramCode) {
|
|
|
|
+ parametersId.value = item.id;
|
|
|
|
+ parametersCode.value = item.deviceParamCode;
|
|
|
|
+ parametersName.value = item.deviceParamName;
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ } else {
|
|
|
|
+ parametersId.value = parametersList.value[0].id;
|
|
|
|
+ parametersCode.value = parametersList.value[0].deviceParamCode;
|
|
|
|
+ parametersName.value = parametersList.value[0].deviceParamName;
|
|
|
|
+ }
|
|
} else {
|
|
} else {
|
|
parametersId.value = parametersList.value[0].id;
|
|
parametersId.value = parametersList.value[0].id;
|
|
parametersCode.value = parametersList.value[0].deviceParamCode;
|
|
parametersCode.value = parametersList.value[0].deviceParamCode;
|
|
@@ -145,11 +163,11 @@ const chooseParameters = (item: DeviceParams) => {
|
|
const okConfirm = () => {
|
|
const okConfirm = () => {
|
|
if (props.selectType === 0) {
|
|
if (props.selectType === 0) {
|
|
if (!parametersId.value) {
|
|
if (!parametersId.value) {
|
|
- return message.warning('参数未选择!');
|
|
|
|
|
|
+ return message.warning(t('algorithmManage.parameterNotSelected'));
|
|
}
|
|
}
|
|
} else if (props.selectType === 1) {
|
|
} else if (props.selectType === 1) {
|
|
if (!equipmentId.value) {
|
|
if (!equipmentId.value) {
|
|
- return message.warning('下属设备未选择!');
|
|
|
|
|
|
+ return message.warning(t('algorithmManage.deviceNotSelected'));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -174,7 +192,7 @@ defineExpose({
|
|
<div>
|
|
<div>
|
|
<AModal
|
|
<AModal
|
|
v-model:open="visible"
|
|
v-model:open="visible"
|
|
- title="选择参数"
|
|
|
|
|
|
+ :title="selectType === 0 ? t('createDevice.selectParameters') : t('algorithmManage.selectEquipment')"
|
|
@ok="okConfirm"
|
|
@ok="okConfirm"
|
|
:centered="true"
|
|
:centered="true"
|
|
:width="selectType === 0 ? 1070 : 814"
|
|
:width="selectType === 0 ? 1070 : 814"
|
|
@@ -182,10 +200,12 @@ defineExpose({
|
|
<AFlex class="parameters-content">
|
|
<AFlex class="parameters-content">
|
|
<div class="content-div">
|
|
<div class="content-div">
|
|
<AFlex align="center" class="content-div-top">
|
|
<AFlex align="center" class="content-div-top">
|
|
- <div class="content-div-top-text">设备组一</div>
|
|
|
|
|
|
+ <div class="content-div-top-text">{{ $t('algorithmManage.equipmentGroup1') }}</div>
|
|
</AFlex>
|
|
</AFlex>
|
|
<div class="content-div-content">
|
|
<div class="content-div-content">
|
|
- <AFlex class="no-data" justify="center" align="center" v-if="!oneDeviceGroup.length">暂无数据</AFlex>
|
|
|
|
|
|
+ <AFlex class="no-data" justify="center" align="center" v-if="!oneDeviceGroup.length">{{
|
|
|
|
+ $t('common.noData')
|
|
|
|
+ }}</AFlex>
|
|
<div v-else v-for="item in oneDeviceGroup" :key="item.id">
|
|
<div v-else v-for="item in oneDeviceGroup" :key="item.id">
|
|
<div @click="addParameters(item.id, 1)">
|
|
<div @click="addParameters(item.id, 1)">
|
|
<AFlex
|
|
<AFlex
|
|
@@ -204,10 +224,12 @@ defineExpose({
|
|
</div>
|
|
</div>
|
|
<div class="content-div border-radius">
|
|
<div class="content-div border-radius">
|
|
<AFlex align="center" class="content-div-top">
|
|
<AFlex align="center" class="content-div-top">
|
|
- <div class="content-div-top-text">设备组二</div>
|
|
|
|
|
|
+ <div class="content-div-top-text">{{ $t('algorithmManage.equipmentGroup2') }}</div>
|
|
</AFlex>
|
|
</AFlex>
|
|
<div class="content-div-content">
|
|
<div class="content-div-content">
|
|
- <AFlex class="no-data" justify="center" align="center" v-if="!twoDeviceGroup.length">暂无数据</AFlex>
|
|
|
|
|
|
+ <AFlex class="no-data" justify="center" align="center" v-if="!twoDeviceGroup.length">{{
|
|
|
|
+ $t('common.noData')
|
|
|
|
+ }}</AFlex>
|
|
<div v-else v-for="item in twoDeviceGroup" :key="item.id">
|
|
<div v-else v-for="item in twoDeviceGroup" :key="item.id">
|
|
<div @click="addParameters(item.id, 2)">
|
|
<div @click="addParameters(item.id, 2)">
|
|
<AFlex
|
|
<AFlex
|
|
@@ -226,10 +248,12 @@ defineExpose({
|
|
</div>
|
|
</div>
|
|
<div :class="selectType === 0 ? 'content-div border-radius' : 'content-div border-radius border-right'">
|
|
<div :class="selectType === 0 ? 'content-div border-radius' : 'content-div border-radius border-right'">
|
|
<AFlex align="center" class="content-div-top">
|
|
<AFlex align="center" class="content-div-top">
|
|
- <div class="content-div-top-text">设备组属性/下属设备</div>
|
|
|
|
|
|
+ <div class="content-div-top-text">{{ $t('algorithmManage.subordinateEquipment') }}</div>
|
|
</AFlex>
|
|
</AFlex>
|
|
<div class="content-div-content">
|
|
<div class="content-div-content">
|
|
- <AFlex class="no-data" justify="center" align="center" v-if="!equipmentList.length">暂无数据</AFlex>
|
|
|
|
|
|
+ <AFlex class="no-data" justify="center" align="center" v-if="!equipmentList.length">{{
|
|
|
|
+ $t('common.noData')
|
|
|
|
+ }}</AFlex>
|
|
<div v-else v-for="item in equipmentList" :key="item.id">
|
|
<div v-else v-for="item in equipmentList" :key="item.id">
|
|
<div @click="chooseEquipment(item)">
|
|
<div @click="chooseEquipment(item)">
|
|
<AFlex
|
|
<AFlex
|
|
@@ -248,10 +272,12 @@ defineExpose({
|
|
</div>
|
|
</div>
|
|
<div v-if="selectType === 0" class="content-div border-radius border-right">
|
|
<div v-if="selectType === 0" class="content-div border-radius border-right">
|
|
<AFlex align="center" class="content-div-top">
|
|
<AFlex align="center" class="content-div-top">
|
|
- <div class="content-div-top-text">参数</div>
|
|
|
|
|
|
+ <div class="content-div-top-text">{{ $t('createDevice.parameters') }}</div>
|
|
</AFlex>
|
|
</AFlex>
|
|
<div class="content-div-content">
|
|
<div class="content-div-content">
|
|
- <AFlex class="no-data" justify="center" align="center" v-if="!parametersList.length">暂无数据</AFlex>
|
|
|
|
|
|
+ <AFlex class="no-data" justify="center" align="center" v-if="!parametersList.length">{{
|
|
|
|
+ $t('common.noData')
|
|
|
|
+ }}</AFlex>
|
|
<div v-else v-for="item in parametersList" :key="item.id">
|
|
<div v-else v-for="item in parametersList" :key="item.id">
|
|
<div @click="chooseParameters(item)">
|
|
<div @click="chooseParameters(item)">
|
|
<AFlex
|
|
<AFlex
|