需求问题整改

This commit is contained in:
zzyuan 2024-11-11 14:30:07 +08:00
parent 2556f32c73
commit 287691efe7
9 changed files with 93 additions and 60 deletions

BIN
src/assets/img/logout.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1018 B

View File

@ -64,6 +64,25 @@
style="width: 240px"
/>
</el-form-item>
<el-form-item
label="工作状态"
prop="devStatus"
v-if="status === 1"
>
<el-select
v-model="queryParams.devStatus"
clearable
filterable
placeholder="请选择"
>
<el-option
v-for="item in workTypeRange"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item
label="工程类型"
prop="proType"
@ -247,7 +266,11 @@ export default {
{ label: '变电工程', value: '1' },
{ label: '线路工程', value: '2' },
{ label: '电缆工程', value: '3' },
]
],
workTypeRange: [
{ label: '在线', value: '1' },
{ label: '离线', value: '0' }
],
}
},
methods: {

View File

@ -35,12 +35,7 @@
</div>-->
<div class="single-icon">
<span style="color: #42c8e3"
>{{
environmentInfoList
? environmentInfoList[8].jcValue
: ''
}}°C</span
>
>{{environmentInfoList ? environmentInfoList[8].jcValue : '0'}}°C</span>
<span>温湿度</span>
<img src="../../assets/img/temp.png" alt="" />
</div>
@ -49,7 +44,7 @@
>{{
environmentInfoList
? environmentInfoList[7].jcValue
: ''
: '0'
}}m/s</span
>
<span>风速</span>
@ -60,7 +55,7 @@
>{{
environmentInfoList
? environmentInfoList[9].jcValue
: ''
: '0'
}}%rh</span
>
<span>湿度</span>
@ -71,7 +66,7 @@
>{{
environmentInfoList
? environmentInfoList[5].jcValue
: ''
: '0'
}}db</span
>
<span>噪声</span>
@ -82,7 +77,7 @@
>{{
environmentInfoList
? environmentInfoList[3].jcValue
: ''
: '0'
}}/ugm3</span
>
<span>PM2.5</span>
@ -93,7 +88,7 @@
>{{
environmentInfoList
? environmentInfoList[4].jcValue
: ''
: '0'
}}/ugm3</span
>
<span>PM10</span>
@ -108,7 +103,7 @@
<div class="inner-tit">
<img src="../../assets/img/lef-badge.png" alt="" />
<span>温湿度</span>
<span v-if="deviceConfig.tempThreshold" style="font-size: 14px;font-weight: 400;color: gray;">温度阈值{{deviceConfig.tempThreshold}}温度阈值{{deviceConfig.tempThreshold}}</span>
<span v-if="deviceConfig&&deviceConfig.tempThreshold" style="font-size: 14px;font-weight: 400;color: gray;">温度阈值{{deviceConfig.tempThreshold}}温度阈值{{deviceConfig.tempThreshold}}</span>
</div>
<div id="temp-chart"></div>
</div>
@ -116,7 +111,7 @@
<div class="inner-tit">
<img src="../../assets/img/lef-badge.png" alt="" />
<span>风速</span>
<span v-if="deviceConfig.windSpeed" style="font-size: 14px;font-weight: 400;color: gray;">风速阈值{{deviceConfig.windSpeed}}</span>
<span v-if="deviceConfig&&deviceConfig.windSpeed" style="font-size: 14px;font-weight: 400;color: gray;">风速阈值{{deviceConfig.windSpeed}}</span>
</div>
<div id="wet-chart"></div>
</div>
@ -126,7 +121,7 @@
<div class="inner-tit">
<img src="../../assets/img/lef-badge.png" alt="" />
<span>噪声</span>
<span v-if="deviceConfig.noise" style="font-size: 14px;font-weight: 400;color: gray;">噪声阈值{{deviceConfig.noise}}</span>
<span v-if="deviceConfig&&deviceConfig.noise" style="font-size: 14px;font-weight: 400;color: gray;">噪声阈值{{deviceConfig.noise}}</span>
</div>
<div id="loud-chart"></div>
</div>
@ -134,7 +129,7 @@
<div class="inner-tit">
<img src="../../assets/img/lef-badge.png" alt="" />
<span>空气质量</span>
<span v-if="deviceConfig.particulate" style="font-size: 14px;font-weight: 400;color: gray;">PM2.5{{deviceConfig.particulate}}PM10{{deviceConfig.particulateMatter}}</span>
<span v-if="deviceConfig&&deviceConfig.particulate" style="font-size: 14px;font-weight: 400;color: gray;">PM2.5{{deviceConfig.particulate}}PM10{{deviceConfig.particulateMatter}}</span>
</div>
<div id="air-chart"></div>
</div>
@ -242,7 +237,6 @@ export default {
console.log(this.sendMsg)
this.getDeviceData(this.sendMsg.projectId)
this.getDevTypeCodeDetails(this.sendMsg.projectId)
},
methods: {
async getDeviceData(proId) {

View File

@ -35,22 +35,22 @@
<span>{{ item.tit }}</span>
</div>-->
<div class="single-icon">
<span style="color: #3BC7E3">{{ environmentInfoList ? environmentInfoList[0].jcValue : '' }}<span style="font-size: 18px">%VOL</span></span>
<span style="color: #3BC7E3">{{ environmentInfoList[0].jcValue ? environmentInfoList[0].jcValue : '0' }}<span style="font-size: 18px">%VOL</span></span>
<span>含氧量</span>
<img src="../../assets/img/O2.png" alt="">
</div>
<div class="single-icon">
<span style="color: #7588FF">{{ environmentInfoList ? environmentInfoList[1].jcValue : '' }}<span style="font-size: 18px">%PPM</span></span>
<span style="color: #7588FF">{{ environmentInfoList[1].jcValue ? environmentInfoList[1].jcValue : '0' }}<span style="font-size: 18px">%PPM</span></span>
<span>一氧化碳</span>
<img src="../../assets/img/CO.png" alt="">
</div>
<div class="single-icon">
<span style="color: #62C560">{{ environmentInfoList ? environmentInfoList[2].jcValue : '' }}<span style="font-size: 18px">%LEL</span></span>
<span style="color: #62C560">{{ environmentInfoList[2].jcValue ? environmentInfoList[2].jcValue : '0' }}<span style="font-size: 18px">%LEL</span></span>
<span>可燃气体</span>
<img src="../../assets/img/fire.png" alt="">
</div>
<div class="single-icon">
<span style="color: #F68F84">{{ environmentInfoList ? environmentInfoList[3].jcValue : '' }}<span style="font-size: 18px">%PPM</span></span>
<span style="color: #F68F84">{{ environmentInfoList[3].jcValue ? environmentInfoList[3].jcValue : '0' }}<span style="font-size: 18px">%PPM</span></span>
<span>硫化氢</span>
<img src="../../assets/img/H2S.png" alt="">
</div>
@ -106,7 +106,7 @@
<div class="inner-tit">
<img src="../../assets/img/lef-badge.png" alt="">
<span>含氧量</span>
<span v-if="deviceConfig.oxyThreshold" style="font-size: 14px;font-weight: 400;color: gray;">阈值{{deviceConfig.oxyThreshold}}</span>
<span v-if="deviceConfig&&deviceConfig.oxyThreshold" style="font-size: 14px;font-weight: 400;color: gray;">阈值{{deviceConfig.oxyThreshold}}</span>
</div>
<div id="O2-chart"></div>
</div>
@ -114,7 +114,7 @@
<div class="inner-tit">
<img src="../../assets/img/lef-badge.png" alt="">
<span>可燃气体</span>
<span v-if="deviceConfig.flamGasThreshold" style="font-size: 14px;font-weight: 400;color: gray;">阈值{{deviceConfig.flamGasThreshold}}</span>
<span v-if="deviceConfig&&deviceConfig.flamGasThreshold" style="font-size: 14px;font-weight: 400;color: gray;">阈值{{deviceConfig.flamGasThreshold}}</span>
</div>
<div id="fire-chart"></div>
</div>
@ -161,7 +161,7 @@
<div class="inner-tit">
<img src="../../assets/img/lef-badge.png" alt="">
<span>一氧化碳</span>
<span v-if="deviceConfig.cothreshold" style="font-size: 14px;font-weight: 400;color: gray;">阈值{{deviceConfig.cothreshold}}</span>
<span v-if="deviceConfig&&deviceConfig.cothreshold" style="font-size: 14px;font-weight: 400;color: gray;">阈值{{deviceConfig.cothreshold}}</span>
</div>
<div id="CO-chart"></div>
</div>
@ -169,7 +169,7 @@
<div class="inner-tit">
<img src="../../assets/img/lef-badge.png" alt="">
<span>硫化氢</span>
<span v-if="deviceConfig.h2SThreshold" style="font-size: 14px;font-weight: 400;color: gray;">阈值{{deviceConfig.h2SThreshold}}</span>
<span v-if="deviceConfig&&deviceConfig.h2SThreshold" style="font-size: 14px;font-weight: 400;color: gray;">阈值{{deviceConfig.h2SThreshold}}</span>
</div>
<div id="H2S-chart"></div>
</div>

View File

@ -43,9 +43,9 @@ const CONFIG = {
IS_CODE_LOGIN: LOGIN_CONFIG.CODE_EMAIL_LOGIN || LOGIN_CONFIG.CODE_PHONE_LOGIN, // 是否开启短信登录
// 数据设置
dataSettings: {
integrityCheck: DATA_SETTINGS.CLOSE, // 数据完整性校验true开启false关闭
encryptRequest: DATA_SETTINGS.CLOSE, // 数据传输加密true开启false关闭
encryptResponse: DATA_SETTINGS.CLOSE // 数据返回解密true开启false关闭
integrityCheck: DATA_SETTINGS.OPEN, // 数据完整性校验true开启false关闭
encryptRequest: DATA_SETTINGS.OPEN, // 数据传输加密true开启false关闭
encryptResponse: DATA_SETTINGS.OPEN // 数据返回解密true开启false关闭
}
}

View File

@ -24,6 +24,7 @@
<img v-if="item.title !== null && currentIndex !== item.id" src="../../assets/img/title-nosel.png" alt="" />
</h4>
</div>
<div @click="logout"><img src="../../assets/img/logout.png" alt="" style="width: 32px;height: 32px;margin-top: 24px;cursor: pointer;"/></div>
</div>
</div>
<!-- 内容区域 -->
@ -34,7 +35,7 @@
</div>
</template>
<script>
<script>
export default {
components: {
@ -113,6 +114,19 @@ export default {
name: val.name,
})
},
async logout() {
this.$confirm('确定注销并退出系统吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
})
.then(() => {
this.$store.dispatch('LogOut').then(() => {
location.href = process.env.VUE_APP_ENV+'login'
})
})
.catch(() => {})
},
},
}
</script>
@ -153,7 +167,7 @@ export default {
height: 60px;
display: flex;
justify-content: space-around;
padding: 0 100px;
padding: 0 50px;
.single-tit {
font-size: 22px;
width: 180px;

View File

@ -4,27 +4,21 @@
<div class="lef-secs">
<!-- -->
<div>
<div :class="['single-sec']" v-if="showProjSec">
<el-input placeholder="请输入内容" suffix-icon="el-icon-search" v-model="searchIpt" />
</div>
<div
:class="['single-sec', { isActive: !currentProjIndex }]"
@click="clickCountry"
v-if="showProjSec"
>
总览
</div>
<!-- <div
:class="['single-sec', { isActive: currentCountryIndex === item.id }]"
v-for="item in countryList"
:key="item.id"
@click="changeCountrySec(item)"
v-if="showCountrySec"
>
{{ item.name }}
</div>-->
</div>
</div>
<div>
<div
:class="['single-sec', { isActive: currentProjIndex === item.projectId }]"
v-for="item in projList"
v-for="item in searchProj"
:key="item.projectId"
@click="changeProjSec(item)"
v-if="showProjSec"
@ -46,7 +40,7 @@
<div
:class="['single-sec', { isActive: currentLefIndex === item.id }]"
v-for="item in searchLefSec"
v-for="item in lefSecList"
:key="item.id"
@click="changeLefSec(item)"
v-if="showLefSec"
@ -168,17 +162,17 @@ export default {
return this.projList
}
return this.projList.filter(item => {
return item.name.includes(this.searchIpt)
return item.projectName.includes(this.searchIpt)
})
},
searchLefSec() {
if(!this.searchIpt) {
return this.lefSecList
}
return this.lefSecList.filter(item => {
return item.title.includes(this.searchIpt)
})
}
// searchLefSec() {
// if(!this.searchIpt) {
// return this.lefSecList
// }
// return this.lefSecList.filter(item => {
// return item.title.includes(this.searchIpt)
// })
// }
},
created() {

View File

@ -4,6 +4,9 @@
<div class="lef-secs">
<!-- -->
<div>
<div :class="['single-sec']" v-if="!showLefSec">
<el-input placeholder="请输入内容" suffix-icon="el-icon-search" v-model="searchIpt" />
</div>
<div
:class="['single-sec', { isActive: showCountrySec }]"
@click="clickCountry"
@ -11,9 +14,8 @@
>
全国
</div>
<div
:class="['single-sec', { isActive: currentCountryIndex === item.areaId }]"
v-for="item in countryList"
<div :class="['single-sec', { isActive: currentCountryIndex === item.areaId }]"
v-for="item in searchLefSec"
:key="item.areaId"
@click="changeCountrySec(item)"
v-if="showCountrySec&&!showLefSec"
@ -44,10 +46,11 @@
<div v-if="showLefSec" style="display: flex;margin-bottom: 20px;align-items: center;">
<img src="../../assets/img/back.png" alt="" @click="handelCloseSub">
<div style="color: #000;font-size: 24px;font-weight: bold;margin-left: 20px;">{{ sendMsg.projName }}</div>
</div>
<div
:class="['single-sec', { isActive: currentLefIndex === item.id }]"
v-for="item in searchLefSec"
v-for="item in lefSecList"
:key="item.id"
@click="changeLefSec(item)"
v-if="showLefSec"
@ -151,10 +154,10 @@ export default {
computed: {
searchLefSec() {
if(!this.searchIpt) {
return this.lefSecList
return this.countryList
}
return this.lefSecList.filter(item => {
return item.title.includes(this.searchIpt)
return this.countryList.filter(item => {
return item.areaName.includes(this.searchIpt)
})
}
},

View File

@ -44,7 +44,7 @@
<div :ref="`gridItem_${item.i}Ref`" class="item-box">
<component :is="item.componentName" />
</div>
<div class="delBtn" @click="delComponent(item)">
<div class="delBtn" @click="delComponent(item)" v-if="item.componentName!=''">
<i class="el-icon-delete" style="font-size: 24px;"></i>
</div>
</GridItem>
@ -504,7 +504,9 @@ export default {
this.layout.forEach(item=>{
setTimeout(()=>{
let index2 = this.menuLayout.findIndex(v => v.componentName == item.componentName)
this.menuLayout[index2].isPut = "1"
if(index2>-1){
this.menuLayout[index2].isPut = "1"
}
},500)
})
},
@ -534,6 +536,9 @@ export default {
{x: 6,y: 2,w: 3,h: 4,i: 10,isAccord: '1*1',componentName: '',},
{x: 9,y: 2,w: 3,h: 4,i: 11,isAccord: '1*1',componentName: '',}
]
this.menuLayout.forEach(item=>{
item.isPut = "0"
})
this.$message({
type: 'success',
message: '清空完成!'