duyufeng 3 weeks ago
parent
commit
b54a785891
  1. 5
      hx-ai-intelligent/src/components/ns-steps.vue
  2. 3
      hx-ai-intelligent/src/view/alarmManagement/alarmSettings/energyAlarm/configureEnergyAlarms.vue
  3. 4
      hx-ai-intelligent/src/view/alarmManagement/alarmSettings/equipmentAlarm/configureDeviceAlarms.vue
  4. 6
      hx-ai-intelligent/src/view/alarmManagement/alarmSettings/notificationManagement/index.vue
  5. 60
      hx-ai-intelligent/src/view/equipmentControl/airConditioningSystem/components/conditioningModel.vue
  6. 2
      hx-ai-intelligent/src/view/equipmentControl/airConditioningSystem/components/floorHeatingModel.vue
  7. 10
      hx-ai-intelligent/src/view/equipmentControl/electricDoor/index.vue
  8. 2
      hx-ai-intelligent/src/view/equipmentControl/liftSystem/index.vue
  9. 93
      hx-ai-intelligent/src/view/equipmentControl/liftSystem/liftPage.vue
  10. 2
      lib/component/form/form/form.vue
  11. 7
      lib/component/form/upload-modal/upload-modal.vue
  12. 3
      lib/component/xlsx/xlsx-import.vue

5
hx-ai-intelligent/src/components/ns-steps.vue

@ -35,6 +35,7 @@
</a-step> </a-step>
</template> </template>
</a-steps> </a-steps>
<a-empty v-if="dataSource.length === 0" :description="'暂无数据'" />
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
@ -99,4 +100,8 @@
:deep(.ant-steps-item) { :deep(.ant-steps-item) {
margin-top: 8px !important; margin-top: 8px !important;
} }
.ant-empty {
margin-top: 50%;
transform: translateY(-50%);
}
</style> </style>

3
hx-ai-intelligent/src/view/alarmManagement/alarmSettings/energyAlarm/configureEnergyAlarms.vue

@ -108,7 +108,7 @@
configureEnergyAlarmsData.value = value; configureEnergyAlarmsData.value = value;
show.value = true; show.value = true;
tableConfig.value = { tableConfig.value = {
title: '告警规则', title: value.errorCode + '告警规则',
api: energyAlarms.configGetTableList, api: energyAlarms.configGetTableList,
headerActions: [ headerActions: [
{ {
@ -242,7 +242,6 @@
], ],
}, },
formConfig: { formConfig: {
title: value.errorCode,
schemas: [ schemas: [
{ {
field: 'deviceName', field: 'deviceName',

4
hx-ai-intelligent/src/view/alarmManagement/alarmSettings/equipmentAlarm/configureDeviceAlarms.vue

@ -81,7 +81,7 @@
configureDeviceAlarmsData.value = value; configureDeviceAlarmsData.value = value;
show.value = true; show.value = true;
tableConfig.value = { tableConfig.value = {
title: '告警规则', title: value.errorCode + '告警规则',
api: deviceAlarms.configGetTableList, api: deviceAlarms.configGetTableList,
headerActions: [ headerActions: [
{ {
@ -214,7 +214,7 @@
], ],
}, },
formConfig: { formConfig: {
title: value.errorCode, title: '查询',
schemas: [ schemas: [
{ {
field: 'deviceInfoCode', field: 'deviceInfoCode',

6
hx-ai-intelligent/src/view/alarmManagement/alarmSettings/notificationManagement/index.vue

@ -76,8 +76,10 @@
<a-table <a-table
:dataSource="dataSource" :dataSource="dataSource"
:columns="columns" :columns="columns"
:scroll="{ x: 1000, y: 700 }" :scroll="{ x: 1000 }"
:pagination="pagination"> :bordered="true"
:pagination="pagination"
:size="'middle'">
<template #bodyCell="{ record, column }"> <template #bodyCell="{ record, column }">
<template v-if="column.dataIndex === 'address'"> <template v-if="column.dataIndex === 'address'">
{{ record?.deptRoleInfoList || record.userRoleInfos?.[0].deptRoleInfoList }} {{ record?.deptRoleInfoList || record.userRoleInfos?.[0].deptRoleInfoList }}

60
hx-ai-intelligent/src/view/equipmentControl/airConditioningSystem/components/conditioningModel.vue

@ -1,21 +1,25 @@
<template> <template>
<div style="width: 100%; height: 100%; overflow: hidden"> <div style="width: 100%; height: 100%; overflow: hidden">
<div class="box-title title"> <div class="box-title title">
<span style="margin-left: 12px">空调箱组</span> <span style="margin-left: 12px; font-size: 14px; font-weight: 700">空调箱组</span>
</div> </div>
<div class="box-center"> <div class="box-center">
<template v-if="!showAllButtons"> <template v-if="!showAllButtons">
<template v-for="(item, index) in dataSource.slice(0, 3)" :key="index"> <template v-for="(item, index) in dataSource.slice(0, 3)" :key="index">
<div style="width: 97.3px; height: 39px; background-color: #aaaaaa; padding: 1px"> <div
<div class="box-center-button"
class="box-center-button" :style="{
:style="{ background:
backgroundColor: item.title === selectConditioning.title ? '#a7e5ff' : '#b5cdd9', item.title === selectConditioning.title
color: item.title === selectConditioning.title ? 'rgb(0, 61, 90)' : '#fff', ? ' linear-gradient(180deg, rgba(201, 245, 255, 1) 0%, rgba(138, 215, 255, 1) 100%)'
}" : '#3a3e46',
@click="selectConditioningData(item, index)"> color: item.title === selectConditioning.title ? 'rgb(0, 61, 90)' : '#fff',
{{ item.title }} fontWeight: item.title === selectConditioning.title ? '700' : '400',
</div> border:
item.title === selectConditioning.title ? '1px solid rgba(255, 255, 255, 1)' : '',
}"
@click="selectConditioningData(item, index)">
{{ item.title }}
</div> </div>
</template> </template>
<div style="width: 100%; height: 20px"> <div style="width: 100%; height: 20px">
@ -24,16 +28,20 @@
</template> </template>
<template v-else> <template v-else>
<template v-for="(item, index) in dataSource" :key="index"> <template v-for="(item, index) in dataSource" :key="index">
<div style="width: 94px; height: 39px; background-color: #aaaaaa; padding: 1px"> <div
<div class="box-center-button"
class="box-center-button" :style="{
:style="{ background:
backgroundColor: item.title === selectConditioning.title ? '#a7e5ff' : '#b5cdd9', item.title === selectConditioning.title
color: item.title === selectConditioning.title ? 'rgb(0, 61, 90)' : '#fff', ? ' linear-gradient(180deg, rgba(201, 245, 255, 1) 0%, rgba(138, 215, 255, 1) 100%)'
}" : '#3a3e46',
@click="selectConditioningData(item, index)"> color: item.title === selectConditioning.title ? 'rgb(0, 61, 90)' : '#fff',
{{ item.title }} fontWeight: item.title === selectConditioning.title ? '700' : '400',
</div> border:
item.title === selectConditioning.title ? '1px solid rgba(255, 255, 255, 1)' : '',
}"
@click="selectConditioningData(item, index)">
{{ item.title }}
</div> </div>
</template> </template>
<div style="width: 100%; height: 20px"> <div style="width: 100%; height: 20px">
@ -178,14 +186,12 @@
flex-wrap: wrap; flex-wrap: wrap;
gap: 10px; gap: 10px;
.box-center-button { .box-center-button {
width: 100%; width: 97.3px;
height: 100%; height: 40px;
// background-color: #b5cdd9; // background-color: #b5cdd9;
background-image: url(../../image/airConditioningSystem/buttonBg.svg); font-size: 14px;
background-size: 100%;
background-repeat: no-repeat;
border-radius: 4px; /* 圆角半径 */
text-align: center; text-align: center;
border-radius: 4px;
line-height: 40px; line-height: 40px;
cursor: pointer; cursor: pointer;
} }

2
hx-ai-intelligent/src/view/equipmentControl/airConditioningSystem/components/floorHeatingModel.vue

@ -1,7 +1,7 @@
<template> <template>
<div style="width: 100%; height: 100%"> <div style="width: 100%; height: 100%">
<div class="box-title title"> <div class="box-title title">
<span style="margin-left: 12px">地暖</span> <span style="margin-left: 12px; font-weight: 700">地暖</span>
</div> </div>
<div class="box-bottom"> <div class="box-bottom">
<template v-for="(item, index) in dataSource" :key="index"> <template v-for="(item, index) in dataSource" :key="index">

10
hx-ai-intelligent/src/view/equipmentControl/electricDoor/index.vue

@ -20,7 +20,7 @@
class="door-box-item" class="door-box-item"
:style="{ :style="{
'background-color': { '0': 'rgba(191, 205, 226, 1)', '1': '#0dffa4', '2': '#ffbc46' }[ 'background-color': { '0': 'rgba(191, 205, 226, 1)', '1': '#0dffa4', '2': '#ffbc46' }[
item.record.EGstRu item?.record?.EGstRu
], ],
}"> }">
{{ item.deviceInfoName }} {{ item.deviceInfoName }}
@ -43,7 +43,7 @@
class="door-box-item" class="door-box-item"
:style="{ :style="{
'background-color': { '0': 'rgba(191, 205, 226, 1)', '1': '#0dffa4', '2': '#ffbc46' }[ 'background-color': { '0': 'rgba(191, 205, 226, 1)', '1': '#0dffa4', '2': '#ffbc46' }[
item.record.EGstRu item?.record?.EGstRu
], ],
}"> }">
{{ item.deviceInfoName }} {{ item.deviceInfoName }}
@ -81,14 +81,14 @@
'0': 'rgba(191, 205, 226, 1)', '0': 'rgba(191, 205, 226, 1)',
'1': 'rgba(0, 255, 210, 1)', '1': 'rgba(0, 255, 210, 1)',
'2': 'rgba(255, 188, 70, 1)', '2': 'rgba(255, 188, 70, 1)',
}[record.record.EGstRu], }[record?.record?.EGstRu],
color: { color: {
'0': 'rgba(191, 205, 226, 1)', '0': 'rgba(191, 205, 226, 1)',
'1': 'rgba(0, 255, 210, 1)', '1': 'rgba(0, 255, 210, 1)',
'2': 'rgba(255, 188, 70, 1)', '2': 'rgba(255, 188, 70, 1)',
}[record.record.EGstRu], }[record?.record?.EGstRu],
}"> }">
{{ record.record.runMode.label }} {{ record.record?.runMode?.label }}
</a-tag> </a-tag>
</template> </template>
<template v-if="column.dataIndex === 'time'"> <template v-if="column.dataIndex === 'time'">

2
hx-ai-intelligent/src/view/equipmentControl/liftSystem/index.vue

@ -139,6 +139,8 @@
} }
:deep(.ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn) { :deep(.ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn) {
color: white !important; color: white !important;
font-size: 16px;
font-weight: 700;
} }
:deep(.ant-tabs-ink-bar) { :deep(.ant-tabs-ink-bar) {
background: linear-gradient(180deg, rgba(86, 221, 253, 1) 0%, rgba(25, 176, 255, 1) 100%); background: linear-gradient(180deg, rgba(86, 221, 253, 1) 0%, rgba(25, 176, 255, 1) 100%);

93
hx-ai-intelligent/src/view/equipmentControl/liftSystem/liftPage.vue

@ -25,47 +25,53 @@
:columns="column" :columns="column"
:loading="loading" :loading="loading"
:data-source="dataSource" :data-source="dataSource"
:pagination="pagination"> :pagination="pagination"
:bordered="true"
:rowClassName="
() => {
return 'rowClass';
}
">
<template #bodyCell="{ record, column }"> <template #bodyCell="{ record, column }">
<template v-if="column.dataIndex === 'switch'"> <template v-if="column.dataIndex === 'switch'">
<a-tag <a-tag
style="background-color: rgba(0, 0, 0, 0.5); width: 50px" style="background-color: rgba(0, 0, 0, 0.5); width: 50px; border-radius: 2px"
:style="{ :style="{
border: { border: {
'1': '1px solid rgba(0, 255, 210, 1)', //2 '1': '1px solid rgba(0, 255, 210, 1)', //2
'0': '1px solid rgba(191, 205, 226, 1)', // '0': '1px solid rgba(191, 205, 226, 1)', //
}[record.switchStatus.value], }[record?.switchStatus?.value],
color: { color: {
'1': 'rgba(0, 255, 210, 1)', // '1': 'rgba(0, 255, 210, 1)', //
'0': 'rgba(191, 205, 226, 1)', // '0': 'rgba(191, 205, 226, 1)', //
}[record.switchStatus.value], }[record?.switchStatus?.value],
}" }"
>{{ { '1': '开启', '0': '关闭' }[record.switchStatus.value] }}</a-tag >{{ { '1': '开启', '0': '关闭' }[record?.switchStatus?.value] }}</a-tag
> >
</template> </template>
<template v-if="column.dataIndex === 'state'"> <template v-if="column.dataIndex === 'state'">
<a-tag <a-tag
style="background-color: rgba(0, 0, 0, 0.5); width: 50px" style="background-color: rgba(0, 0, 0, 0.5); width: 50px; border-radius: 2px"
:style="{ :style="{
border: { border: {
'0': '1px solid rgba(0, 255, 210, 1)', // '0': '1px solid rgba(0, 255, 210, 1)', //
'1': '1px solid rgba(255, 118, 54, 1)', // '1': '1px solid rgba(255, 118, 54, 1)', //
'2': '1px solid rgba(255, 188, 70, 1)', // '2': '1px solid rgba(255, 188, 70, 1)', //
'3': '1px solid rgba(243, 97, 99, 1)', // '3': '1px solid rgba(243, 97, 99, 1)', //
}[record.runStatus.value], }[record?.runStatus?.value],
color: { color: {
'0': 'rgba(0, 255, 210, 1)', // '0': 'rgba(0, 255, 210, 1)', //
'1': 'rgba(255, 118, 54, 1)', // '1': 'rgba(255, 118, 54, 1)', //
'2': 'rgba(255, 188, 70, 1)', // '2': 'rgba(255, 188, 70, 1)', //
'3': 'rgba(243, 97, 99, 1)', // '3': 'rgba(243, 97, 99, 1)', //
}[record.runStatus.value], }[record?.runStatus?.value],
}" }"
>{{ record.runStatus.label }}</a-tag >{{ record?.runStatus?.label }}</a-tag
> >
</template> </template>
<template v-if="column.dataIndex === 'lift'"> <template v-if="column.dataIndex === 'lift'">
<a-tag <a-tag
style="background-color: rgba(0, 0, 0, 0.5); width: 50px" style="background-color: rgba(0, 0, 0, 0.5); width: 50px; border-radius: 2px"
:style="{ :style="{
border: { border: {
'0': '1px solid rgba(0, 255, 210, 1)', // '0': '1px solid rgba(0, 255, 210, 1)', //
@ -73,16 +79,16 @@
'2': '1px solid rgba(255, 188, 70, 1)', // '2': '1px solid rgba(255, 188, 70, 1)', //
'3': '1px solid rgba(243, 97, 99, 1)', // '3': '1px solid rgba(243, 97, 99, 1)', //
'4': '1px solid rgba(167, 66, 255, 1)', // '4': '1px solid rgba(167, 66, 255, 1)', //
}[record.runMode.value], }[record?.runMode?.value],
color: { color: {
'0': 'rgba(0, 255, 210, 1)', // '0': 'rgba(0, 255, 210, 1)', //
'1': 'rgba(0, 255, 210, 1)', // '1': 'rgba(0, 255, 210, 1)', //
'2': 'rgba(255, 188, 70, 1)', // '2': 'rgba(255, 188, 70, 1)', //
'3': 'rgba(243, 97, 99, 1)', // '3': 'rgba(243, 97, 99, 1)', //
'4': 'rgba(167, 66, 255, 1)', // '4': 'rgba(167, 66, 255, 1)', //
}[record.runMode.value], }[record?.runMode?.value],
}" }"
>{{ record.runMode.label }}</a-tag >{{ record?.runMode?.label }}</a-tag
> >
</template> </template>
</template> </template>
@ -191,16 +197,16 @@
} }
:deep(.ant-table-thead > tr > th) { :deep(.ant-table-thead > tr > th) {
background-color: #1a2230; background-color: #1a2230;
border: 1px solid rgba(163, 192, 243, 0.8); // border: 1px solid rgba(163, 192, 243, 0.8);
color: white; color: white;
text-align: center; text-align: center;
font-weight: normal !important;
padding: 12px !important; padding: 12px !important;
font-weight: 600;
} }
:deep(.ant-table-tbody > tr > td) { :deep(.ant-table-tbody > tr > td) {
background-color: rgba(0, 0, 0, 0.9) !important; background-color: rgba(0, 0, 0, 0.9) !important;
color: white; color: white;
border: 1px solid rgba(163, 192, 243, 0.8); // border: 1px solid rgba(163, 192, 243, 0.8);
text-align: center; text-align: center;
padding: 12px !important; padding: 12px !important;
} }
@ -243,18 +249,18 @@
:deep(.anticon) { :deep(.anticon) {
color: rgba(12, 140, 246, 1) !important; color: rgba(12, 140, 246, 1) !important;
} }
:deep(.ant-table-pagination) { // :deep(.ant-table-pagination) {
display: flex; // display: flex;
position: absolute; // position: absolute;
bottom: 0; // bottom: 0;
right: 0; // right: 0;
} // }
:deep(.ant-spin-container) { // :deep(.ant-spin-container) {
height: 95% !important; // height: 95% !important;
} // }
:deep(.ant-spin-nested-loading) { // :deep(.ant-spin-nested-loading) {
height: 95% !important; // height: 95% !important;
} // }
// //
// :deep(.ant-table-pagination-right) { // :deep(.ant-table-pagination-right) {
// justify-content: normal !important; // justify-content: normal !important;
@ -283,4 +289,35 @@
:deep(.ant-empty-description) { :deep(.ant-empty-description) {
color: white !important; color: white !important;
} }
:deep(.rowClass > td) {
border-right: 1px solid #abd1f5 !important;
border-bottom: 1px solid #abd1f5 !important;
}
:deep(.rowClass > td:first-child) {
border-bottom: 1px solid #abd1f5 !important;
}
:deep(.ant-table-thead > tr > th) {
border-bottom: 1px solid #abd1f5 !important;
}
:deep(.ant-table.ant-table-bordered > .ant-table-container) {
border-left: 1px solid #abd1f5 !important;
}
:deep(
.ant-table.ant-table-bordered
> .ant-table-container
> .ant-table-content
> table
> thead
> tr
> th
) {
border-right: 1px solid #abd1f5 !important;
}
:deep(
.ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table,
.ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table
) {
border-top: 1px solid #abd1f5 !important;
}
</style> </style>

2
lib/component/form/form/form.vue

@ -48,7 +48,7 @@
:span="getFormClass.span" /> :span="getFormClass.span" />
<a-col v-if="showAction" :span="getFormClass.span" class="ns-operate"> <a-col v-if="showAction" :span="getFormClass.span" class="ns-operate">
<a-button @click="reset">重置</a-button> <a-button @click="reset">重置</a-button>
<a-button type="primary" html-type="submit" :loading="loading">搜索</a-button> <a-button type="primary" html-type="submit" :loading="loading">查询</a-button>
<a-button <a-button
type="link" type="link"
class="ns-operate-expand" class="ns-operate-expand"

7
lib/component/form/upload-modal/upload-modal.vue

@ -18,10 +18,9 @@
type="file" type="file"
accept=".xlsx, .xls" accept=".xlsx, .xls"
class="input-file" class="input-file"
@change="handleInputClick" @change="handleInputClick" />
/>
<div class="input-message"> <div class="input-message">
<ExclamationCircleOutlined :style="{ color: '#0ed2bf', fontSize: '60px' }" /> <ExclamationCircleOutlined :style="{ color: '#0ed2bf', fontSize: '50px' }" />
<span>点击或将文件拖拽到这里上传</span> <span>点击或将文件拖拽到这里上传</span>
<span>支持扩展名: .xlsx, .xls</span> <span>支持扩展名: .xlsx, .xls</span>
</div> </div>
@ -156,7 +155,7 @@
false, false,
false, false,
0, 0,
null null,
); );
obj.dispatchEvent(ev); obj.dispatchEvent(ev);
// //

3
lib/component/xlsx/xlsx-import.vue

@ -28,7 +28,7 @@
@change="handleInputClick" /> @change="handleInputClick" />
<div class="input-message"> <div class="input-message">
<!-- <ExclamationCircleOutlined :style="{ color: '#0ed2bf', fontSize: '60px' }" /> --> <!-- <ExclamationCircleOutlined :style="{ color: '#0ed2bf', fontSize: '60px' }" /> -->
<ContainerOutlined :style="{ color: '#0ed2bf', fontSize: '60px' }" /> <ContainerOutlined :style="{ color: '#0ed2bf', fontSize: '40px' }" />
<span style="margin-top: 10px">点击或将文件拖拽到这里上传</span> <span style="margin-top: 10px">点击或将文件拖拽到这里上传</span>
<span>支持扩展名: .xlsx, .xls</span> <span>支持扩展名: .xlsx, .xls</span>
</div> </div>
@ -282,6 +282,7 @@
display: flex; display: flex;
flex-direction: column; flex-direction: column;
text-align: center; text-align: center;
padding: 20px 0px;
} }
.file-name { .file-name {

Loading…
Cancel
Save