修改bug

This commit is contained in:
yangjun 2025-08-15 14:15:20 +08:00
parent 21862734c8
commit d950d6c978
7 changed files with 86 additions and 42 deletions

View File

@ -3,7 +3,7 @@
* @Description: logo component
-->
<template>
<div class="anticon" :class="getAppLogoClass" @click="goHome" style="background: #ceeef7;text-align: center;">
<div class="anticon" :class="getAppLogoClass" @click="goHome" style="background: #e2edff !important;text-align: center;">
<img src="../../../assets/images/logo.png" />
<div class="ml-2 truncate md:opacity-100" :class="getTitleClass" v-show="showTitle">
{{ shortTitle }}

View File

@ -11,7 +11,7 @@
/>
<LayoutBreadcrumb v-if="getShowContent && getShowBread" :theme="getHeaderTheme" />
<!-- 欢迎语 -->
<span v-if="getShowContent && getShowBreadTitle && !getIsMobile" style="background: #ceeef7 !important;" :class="[prefixCls, `${prefixCls}--${getHeaderTheme}`,'headerIntroductionClass']"> {{t('layout.header.welcomeIn')}} {{ title }} </span>
<span v-if="getShowContent && getShowBreadTitle && !getIsMobile" style="background:#e2edff !important" :class="[prefixCls, `${prefixCls}--${getHeaderTheme}`,'headerIntroductionClass']"> {{t('layout.header.welcomeIn')}} {{ title }} </span>
</div>
<!-- left end -->
@ -263,9 +263,10 @@
}
.headClass{
background-image: url('../resource/img/bj.png') !important;
background-repeat: no-repeat;
background-size: 100% auto;
background-color: #e5f5f9 !important;
// background-image: url('../resource/img/bj.png') !important;
// background-repeat: no-repeat;
// background-size: 100% auto;
// background-color: #eef3f8 !important;
background: linear-gradient(to right, #e2edff, #eef3f8) !important;
}
</style>

View File

@ -4,7 +4,7 @@
<template #detail>
<a-form ref="formRef" class="antd-modal-form" :labelCol="labelCol" :wrapperCol="wrapperCol" name="IotDeviceContentForm">
<a-row>
<a-col :span="24" >
<a-col :span="24" hidden>
<a-form-item label="机构编码" v-bind="validateInfos.orgCode" id="IotDeviceContentForm-orgCode" name="orgCode">
<a-input v-model:value="formData.orgCode" placeholder="请输入机构编码" allow-clear ></a-input>
</a-form-item>
@ -19,7 +19,7 @@
<a-input v-model:value="formData.filePath" placeholder="请输入附件信息" allow-clear ></a-input>
</a-form-item>
</a-col>
<a-col :span="24" >
<a-col :span="24" hidden>
<a-form-item label="NUID" v-bind="validateInfos.nuId" id="IotDeviceContentForm-nuId" name="nuId">
<a-input v-model:value="formData.nuId" placeholder="请输入NUID" allow-clear ></a-input>
</a-form-item>

View File

@ -168,10 +168,15 @@ async function submitForm() {
if (!model.id) {
model.status = "0";
}
if(!model.iotSn){
createMessage.warning("请选择摄像头!");
confirmLoading.value = false;
return;
}
await addNuIot(model, isUpdate.value)
.then((res) => {
if (res.success) {
createMessage.success("暂存成功!");
createMessage.success("添加成功!");
emit('ok');
} else {
createMessage.warning(res.message);

View File

@ -142,7 +142,7 @@ function handleSxtSuccess(record) {
departName:nuInfo.value.departName,
departServerUrl: nuInfo.value.departServerUrl,
}
defHttp.post({ url: '/iot/tplink/cameraInfo/edit', params }).then(() => {
defHttp.post({ url: '/iot/tplink/cameraInfo/checkedit', params }).then(() => {
reload();
});
}
@ -157,7 +157,7 @@ function handleDbSuccess(record) {
departName:nuInfo.value.departName,
departServerUrl: nuInfo.value.departServerUrl,
}
defHttp.post({ url: '/iot/tq/electricityMeter/edit', params }).then(() => {
defHttp.post({ url: '/iot/tq/electricityMeter/checkedit', params }).then(() => {
reload();
});
console.log("🚀 ~ handleDbSuccess ~ params:", params)
@ -173,7 +173,7 @@ function handleSbSuccess(record) {
departName:nuInfo.value.departName,
departServerUrl: nuInfo.value.departServerUrl,
}
defHttp.post({ url: '/iot/tq/waterMeter/edit', params }).then(() => {
defHttp.post({ url: '/iot/tq/waterMeter/checkedit', params }).then(() => {
reload();
});
console.log("🚀 ~ handleDbSuccess ~ params:", params)
@ -189,7 +189,7 @@ function handleWsdjSuccess(record) {
departName:nuInfo.value.departName,
departServerUrl: nuInfo.value.departServerUrl,
}
defHttp.post({ url: '/iot/yiweilian/humidDevice/edit', params }).then(() => {
defHttp.post({ url: '/iot/yiweilian/humidDevice/checkedit', params }).then(() => {
reload();
});
console.log("🚀 ~ handleDbSuccess ~ params:", params)

View File

@ -16,14 +16,14 @@
</div>
</a-card>
</div>
<div class="p-2 con-class" style="margin-top: -10px;" v-show="orgSelectedCon">
<a-card :bordered="false" class="org-container">
<div class="p-2 con-class" v-show="orgSelectedCon">
<!-- <a-card :bordered="false" class="org-container"> -->
<a-row :style="props.layout === 'half' ? { height: '68vh', overflow: 'auto' } : {}">
<a-col v-for="item in orgTableList.records" :key="item.id" :xs="24" :sm="24"
:md="props.layout == 'full' ? 12 : 8"
:lg="props.layout == 'full' ? 12 : 8" :xl="props.layout == 'full' ? 8 : 8"
:xxl="props.layout == 'full' ? 6 : 8"
style="padding: 8px;min-height: 290px;">
style="min-height: 290px;padding-right: 8px;">
<div class="org-card" :class="{ 'active': item.orgId == orgData?.orgId }">
<a-card
:class="{ 'selected-card': selectedOrgs.some(org => org.orgCode === item.orgCode) }"
@ -33,24 +33,35 @@
:bodyStyle="{ padding: '24px 24px 4px 24px !important' }">
<template #title>
<a-row style="font-weight: normal;">
<a-col :span="props.layout == 'full' ? 22 : 21" style="font-size: 14px; padding-top: 4px;">
<a-col :span="21" style="font-size: 14px; padding-top: 4px;">
<div>
<span style="font-weight: bold;">{{ item.departName }}</span>
<span style="color: green; font-size: 12px; margin-left: 8px;" v-if="selectedOrgs.some(org => org.orgCode === item.orgCode)">已选择</span>
</div>
</a-col>
<a-col :span="props.layout == 'full' ? 2 : 3" style="text-align: center; padding-top: 4px;">
<a-col :span="3" style="text-align: center; padding-top: 4px;">
<div class="zxClass">{{ item.orgCode }}</div>
</a-col>
</a-row>
</template>
<p>加盟时间{{ item.franchiseTime?.substring(0, 10) }}</p>
<p>机构负责人{{ item.orgLeader }}</p>
<!-- <p>机构负责人{{ item.orgLeader }}</p>
<p>负责人电话{{ item.orgLeaderPhone }}</p>
<p>加盟时间{{ item.franchiseTime?.substring(0, 10) }}</p>
<p :title="item.comRegisterAddress">
机构地址{{ item.comRegisterAddress }}</p>
<a-divider />
<div style="text-align: center;">
机构地址{{ item.comRegisterAddress }}</p> -->
<div>
<div><span style="color: #909399;">机构负责人</span>{{ item.orgLeader }}</div>
<div><span style="color: #909399;">负责人电话</span>{{ item.orgLeaderPhone }}</div>
</div>
<div class="org-address">
<span class="ellipsis-one-lines2" :title="item.comRegisterAddress">啊手动阀手动阀{{ item.comRegisterAddress }}</span>
</div><div
style="font-size: 12px; display: flex; justify-content: space-between; align-items: center; margin-top: 12px;">
<span style="color: #909399;">加盟时间{{ item.franchiseTime?.substring(0, 10) }}</span>
</div>
<!-- <a-divider /> -->
<div style="text-align: center;margin-top: 12px;">
<a-button type="primary" @click="handlePrview(item)">预览</a-button>
<a-button type="primary" @click="handleOrgSelected(item)" style="margin-left:10px;">配置</a-button>
<a-button type="primary" @click="handleAddContent(item)" style="margin-left:10px;">日志</a-button>
@ -72,15 +83,15 @@
:pageSize="pageParams.pageSize" size="small"
show-quick-jumper :total="orgTableList.total" @change="reload"/>
</div>
</a-card>
<!-- </a-card> -->
</div>
<div class="p-2 cardContent" v-show="!orgSelectedCon">
<div class="cardContent" v-show="!orgSelectedCon">
<a-row>
<a-col :span="24" style="margin-bottom: 10px;">
<a-col :span="24" style="margin-bottom: 10px;padding: 0 0 0 10px;">
<a-button type="primary" @click="handleAddNuIot">添加区域</a-button>
<a-button type="primary" @click="handlePrview(orgData)" style="margin-left: 10px;">设备预览</a-button>
</a-col>
<a-col v-for="(item,index) in nuDataList" style="padding: 5px" :key="index" :xs="24" :sm="24" :md="12" :lg="12" :xl="8" :xxl="6">
<a-col v-for="(item,index) in nuDataList" style="padding: 0 5px 10px 5px" :key="index" :xs="24" :sm="24" :md="12" :lg="12" :xl="8" :xxl="6">
<a-card :title="`NUID`+item.nuId"
:class="['card-3d']"
@mouseenter="item.key"
@ -246,7 +257,7 @@ onMounted(() => {
background: white;
border-radius: 8px;
cursor: pointer;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
// box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
transform: translateY(-2px);
border: 1px solid rgba(0, 0, 0, 0.05);
}
@ -300,14 +311,14 @@ onMounted(() => {
.org-card {
margin-bottom: 16px;
border-radius: 8px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
// box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
transition: all 0.3s ease;
height: 100%;
&:hover {
transform: translateY(-4px);
box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
background: radial-gradient(circle at center, #c7e6ff 0%, #d4eeff 70%, #e4f0ff 100%);
// box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
// background: radial-gradient(circle at center, #c7e6ff 0%, #d4eeff 70%, #e4f0ff 100%);
}
:deep(.ant-card-head) {
@ -334,12 +345,12 @@ onMounted(() => {
padding: 0px;
border: 1px solid #f0f0f0;
border-radius: 8px;
transition: all 0.3s;
// transition: all 0.3s;
background: white;
&:hover {
border-color: #1890ff;
box-shadow: 0 2px 12px rgba(24, 144, 255, 0.2);
// border-color: #1890ff;
// box-shadow: 0 2px 12px rgba(24, 144, 255, 0.2);
}
&.active {
@ -420,34 +431,61 @@ onMounted(() => {
height: 25px;
color: white;
line-height: 25px;
padding: 0 10px;
}
.selected-card {
border: 2px solid #1890ff;
box-shadow: 0 0 8px rgba(24, 144, 255, 0.3);
border: 1px solid #1890ff;
// box-shadow: 0 0 8px rgba(24, 144, 255, 0.3);
}
.cardContent{
margin-top: -10px;background:white;margin:0 10px;border-radius:8px;
border-radius:8px;
}
/* 基础卡片样式 */
.card-3d {
border-radius: 8px;
border: 1px solid #f0f0f0; /* 边框增强立体感 */
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
transition: all 0.3s ease;
// box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
// transition: all 0.3s ease;
background: white;
position: relative;
}
/* 鼠标悬停:阴影加深 + 轻微上浮 */
.card-3d:hover {
border: 2px solid #1890ff;
box-shadow: 0 4px 8px rgba(24, 144, 255, 0.4);
transform: translate(-3px,-3px);
border: 1px solid #1890ff;
// box-shadow: 0 4px 8px rgba(24, 144, 255, 0.4);
// transform: translate(-3px,-3px);
}
.org-address {
width: 100%;
height: 65px;
background-color: #f8fbff;
background-image: url('./orgaddressbk.png');
background-repeat: no-repeat;
background-position: center;
background-size: cover;
padding: 13px;
padding-right: 100px;
color: #696c7f;
display: flex;
align-items: center;
margin-top: 10px;
border-radius: 10px;
font-size: 12.5px;
}
.ellipsis-one-lines2 {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
text-overflow: ellipsis;
line-height: 1.8;
}
</style>

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB