提交 fb35d0e1 authored 作者: caodi\cd's avatar caodi\cd

fix:巡检管理

上级 9b32c3a6
......@@ -45,7 +45,7 @@ uni-page-head .uni-btn-icon {
}
.uni-navbar__header {
padding: 0 24px !important;
padding: 0 32px !important;
/* padding-right: 18px !important; */
}
......
<template>
<view class="inspect-item" @click="toPage">
<view
class="content"
:class="details.synchronization == 1 ? 'synchronization' : ''"
>
<view class="name">{{ getLabel(details.inspectionType) }}</view>
<view class="content" :class="details.synchronization == 1 ? 'synchronization' : ''">
<view class="name">{{
details.synchronization == 0 ? "待同步" : "已同步"
}}</view>
<view class="info">
<view class="info-row">
<text class="title">{{ details.recordName }}</text>
<text class="title">{{ getLabel(details.inspectionType) }}</text>
<text class="status">{{
details.synchronization == 0 ? "待同步" : "已同步"
}}</text>
<view v-if="details.isException == 1" class="status alarm">
<text class="iconfont icon-yichang1"></text>
<text>有异常</text></view
>
<text>有异常</text>
</view>
</view>
<view class="info-row info-row-code">
<text>巡检人:</text>
<text class="code-num">admin</text>
<text>编号:</text>
<text class="code-num">{{ details.inspectionCode }}</text>
<text>巡检日期:</text>
<text class="code-num">2025-01-29</text>
</view>
</view>
<view class="img">
<image
v-if="details.synchronization == 1"
class="bg-img"
src="../../static/img/add-img/default.png"
></image>
<image
v-else
class="bg-img"
src="../../static/img/add-img/active.png"
></image>
<image v-if="details.synchronization == 1" class="bg-img" src="../../static/img/add-img/default.png"></image>
<!-- <image v-else class="bg-img" src="../../static/img/add-img/active.png"></image> -->
</view>
</view>
</view>
</template>
<script>
import { pad_inspection_type } from "@/utils/dict.js";
import {
pad_inspection_type
} from "@/utils/dict.js";
export default {
export default {
props: {
details: {
type: Object,
......@@ -53,18 +50,17 @@ export default {
getLabel(val) {
const temp =
(
pad_inspection_type.rows.filter((item) => item.dictValue == val)[0] ||
{}
pad_inspection_type.rows.filter((item) => item.dictValue == val)[0] || {}
).dictLabel || "";
return temp.length ? temp.slice(0, 2) : "";
return temp.length ? temp : "";
},
toPage() {
const url =
this.details.inspectionType == 1
? `/pages/inspectionContent/inspectionContent?isDisable=${
this.details.inspectionType == 1 ?
`/pages/inspectionContent/inspectionContent?isDisable=${
this.isDisable ? 1 : 0
}`
: `/pages/shaftInspection/shaftInspectionNew?isDisable=${
}` :
`/pages/shaftInspection/shaftInspectionNew?isDisable=${
this.isDisable ? 1 : 0
}`;
......@@ -73,24 +69,24 @@ export default {
});
},
},
};
};
</script>
<style scoped lang="less">
.inspect-item {
width: 50%;
padding-right: 16px;
.inspect-item {
width: calc(50% - 8px);
margin-bottom: 16px;
.content {
background: #fff;
border: 0.4px solid rgba(224, 224, 224, 1);
border-radius: 12px;
padding: 18px 16px 14px 10px;
padding: 12px;
display: flex;
align-items: center;
height: 84px;
height: 78px;
box-sizing: border-box;
position: relative;
background-image: linear-gradient(-67deg, #ffab2423, #ffab2411 50%);
.name {
background: #ffab2423;
border-radius: 12px;
......@@ -102,20 +98,24 @@ export default {
align-items: center;
color: #f39800;
}
.info {
.info-row {
display: flex;
align-items: center;
margin-bottom: 8px;
&:last-of-type {
margin: 0;
}
.title {
font-size: 12px;
color: #000000;
font-weight: bold;
margin-right: 8px;
}
.status {
padding: 2px 4px;
font-size: 12px;
......@@ -126,6 +126,7 @@ export default {
background: #ffab24;
border-radius: 3px;
}
.alarm {
margin-left: 8px;
background: rgba(255, 105, 82, 0.1);
......@@ -136,14 +137,20 @@ export default {
font-weight: 400;
}
}
.info-row-code {
font-size: 14px;
font-size: 12px;
color: #7c7c7c;
font-weight: 400;
.code-num {
font-size: 14px;
font-size: 12px;
color: #000000;
font-weight: 400;
margin-right: 10px;
&:last-child{
margin-right: 0;
}
}
}
}
......@@ -153,6 +160,7 @@ export default {
right: 0;
top: 50%;
transform: translateY(-50%);
.bg-img {
width: 80px;
height: 80px;
......@@ -162,15 +170,17 @@ export default {
.synchronization {
background-image: linear-gradient(-67deg, #9c9c9c16, #9c9c9c09 50%);
.name {
background: #9c9c9c16;
border-radius: 12px;
color: #4a4a4a;
}
.status {
background: #9c9c9c16 !important;
color: #4a4a4a !important;
}
}
}
}
</style>
\ No newline at end of file
......@@ -7,7 +7,7 @@
v-model="searchFrom.inspectionType"
:localdata="inspectArr"
@change="(e) => change(e, 'inspectionType')"
placeholder="巡检类型:全部"
placeholder="类型"
:clear="true"
:key="new Date().getTime()"
></uni-data-select>
......@@ -17,7 +17,7 @@
class="uni-search-item"
v-model="searchFrom.synchronization"
:localdata="synchronization"
placeholder="是否同步:全部"
placeholder="状态"
@change="(e) => change(e, 'synchronization')"
:clear="true"
:key="new Date().getTime()"
......@@ -29,14 +29,24 @@
class="uni-search-item"
v-model="searchFrom.isException"
:localdata="exceptionArr"
placeholder="有无异常:全部"
placeholder="异常"
@change="(e) => change(e, 'isException')"
:clear="true"
:key="new Date().getTime()"
></uni-data-select>
<uni-data-select
v-if="!hiddenSearch.includes('inspectionTime')"
class="uni-search-item"
v-model="searchFrom.inspectionTime"
:localdata="dateArr"
placeholder="选择时间"
@change="(e) => change(e, 'inspectionTime')"
:clear="true"
:key="new Date().getTime()"
></uni-data-select>
</view>
<view
<!-- <view
class="search-com-right"
v-if="!hiddenSearch.includes('inspectionTime')"
>
......@@ -47,7 +57,7 @@
:border="false"
@change="(e) => change(e, 'inspectionTime')"
/>
</view>
</view> -->
</view>
</template>
<script>
......@@ -82,8 +92,14 @@ export default {
],
exceptionArr: [
{ value: "all", text: "全部" },
{ value: "1", text: "有异常" },
{ value: "0", text: "无异常" },
{ value: "1", text: "有" },
{ value: "0", text: "无" },
],
dateArr: [
{ value: "0", text: "本月" },
{ value: "1", text: "本季" },
{ value: "2", text: "本年" },
{ value: "3", text: "自定义" },
],
};
},
......@@ -101,13 +117,13 @@ export default {
.search-com {
display: flex;
align-items: center;
width: 50%;
.search-com-left {
display: flex;
align-items: center;
flex: 1;
.uni-search-item {
margin-right: 12px;
width: 130px;
background: #fff;
border-radius: 4px;
border: none !important;
......
......@@ -48,6 +48,12 @@
"navigationBarTitleText": ""
}
},
// 新增配置---------
// 巡检管理
{
"path": "pages/inspectionManagement/index"
},
// 井道巡检新页面
{
"path": "pages/shaftInspection/shaftInspectionNew",
......
......@@ -22,7 +22,7 @@
<view class="username">{{ userName }}</view>
</view>
<view class="profile-right">
<button class="inspection-button">巡检管理</button>
<button class="inspection-button" @click="toInspectionManagement">巡检管理</button>
<button class="record-button">上架记录</button>
</view>
</view>
......@@ -87,6 +87,13 @@
url: "/pages/index/operLog",
});
},
// 巡检管理
toInspectionManagement() {
console.log(1111)
uni.navigateTo({
url: "/pages/inspectionManagement/index",
});
},
// 井道巡检
toShaftInspection() {
uni.navigateTo({
......
<template>
<view class="inspection-management">
<uni-nav-bar :fixed="true" background-color="rgba(214, 240, 255, 0.0)" status-bar rightWidth="300">
<block slot="left">
<view class="uni-nav-bar-text" @click="back">
<text class="iconfont icon-Arrow-Left"></text>
</view>
</block>
<block slot="right" class="nav-right">
<view class="header-buttons">
<button class="button" @click="lookLog">机房巡检</button>
<button class="button" @click="lookLog">井道巡检</button>
</view>
</block>
</uni-nav-bar>
<!-- 搜索项 -->
<SearchCom @change="change" />
......@@ -7,26 +20,18 @@
<view class="inspection-management-content">
<view class="count-tatal">
<text class="num">{{ countNum || 0 }}</text>
<text>查询结果</text>
<text calss="">查询结果</text>
</view>
<view class="month-list">
<!-- 每月记录 -->
<view
class="month-record-item"
v-for="(item, index) in list"
:key="index"
>
<view class="month-record-item" v-for="(item, index) in list" :key="index">
<view v-if="(item.list || []).length" class="seconed-title">
{{ item.submitTime || item.time}}
</view>
<view class="inspect-list">
<InspectionItem
v-for="ele in item.list"
:key="ele.uid"
:details="ele"
/>
<InspectionItem v-for="ele in item.list" :key="ele.uid" :details="ele" />
</view>
</view>
......@@ -35,20 +40,22 @@
</view>
<!-- 开始巡检 -->
<view class="inspection-button" @click="toPage"
>开始巡检</view
>
<view class="inspection-button" @click="toPage">同步数据</view>
</view>
</template>
<script>
import SearchCom from "@/components/searchCom/index.vue";
import InspectionItem from "@/components/inspectionItem/index.vue";
import { getDarft } from "@/request/index.js";
import { getAllInspections } from "@/request/index.js";
import Empty from "@/components/empty/index.vue";
import SearchCom from "@/components/searchCom/index.vue";
import InspectionItem from "@/components/inspectionItem/index.vue";
import {
getDarft
} from "@/request/index.js";
import {
getAllInspections
} from "@/request/index.js";
import Empty from "@/components/empty/index.vue";
export default {
export default {
components: {
SearchCom,
InspectionItem,
......@@ -93,10 +100,16 @@ export default {
},
methods: {
// 返回
back() {
uni.navigateBack();
},
init() {
const all_data = this.all_data || [];
const { inspectionTime = [] } = this.searchForm;
const {
inspectionTime = []
} = this.searchForm;
const startTime = inspectionTime[0];
const endTime = inspectionTime[1];
......@@ -152,9 +165,9 @@ export default {
return arr.filter((item) => {
return (
( !isException || isException =="all" || item.isException == isException) &&
( !inspectionType || inspectionType =="all" || item.inspectionType == inspectionType) &&
( !synchronization || synchronization =="all" || item.synchronization == synchronization)
(!isException || isException == "all" || item.isException == isException) &&
(!inspectionType || inspectionType == "all" || item.inspectionType == inspectionType) &&
(!synchronization || synchronization == "all" || item.synchronization == synchronization)
);
});
},
......@@ -203,37 +216,89 @@ export default {
});
},
},
};
};
</script>
<style scoped lang="less">
.inspection-management {
padding-top: 16px;
/* 导航栏样式 */
.uni-nav-bar-text {
height: 36px;
width: 36px;
background: #ffffff;
border: 0.4px solid rgba(224, 224, 224, 1);
border-radius: 18px;
border-radius: 50%;
color: #333;
text-align: center;
.iconfont {
font-size: 20px;
line-height: 36px;
}
}
.nav-right {
width: 240px;
}
.header-buttons {
display: flex;
align-items: center;
margin-left: auto; // 将按钮组推到最右侧
.button {
width: 112px;
height: 36px;
background: #FFFFFF;
border-radius: 18px;
margin-left: 16px;
font-family: PingFangSC-Regular;
font-size: 16px;
color: #000000;
line-height: 36px;
font-weight: 400;
}
}
.inspection-management {
background-image: linear-gradient(115deg, #E8F0FB 0%, #E1EBFA 100%);
padding: 0 32px;
.inspection-management-content {
.count-tatal {
margin: 16px 0 8px 0;
font-family: PingFangSC-Medium;
margin: 16px 0px 24px;
font-size: 14px;
color: #4a4a4a;
font-weight: 400;
height: 28px;
line-height: 28px;
.num {
font-size: 18px;
font-size: 20px;
color: #3774f6;
line-height: 26px;
font-weight: 600;
margin-right: 5px;
line-height: 28px;
font-weight: 500;
margin-right: 2px;
}
}
.inspection-management-content {
.month-list {
height: calc(100vh - 26px - 16px - 8px - 36px - 62px);
overflow: auto;
padding-bottom: 140px;
.seconed-title {
margin-top: 16px;
font-size: 18px;
font-size: 20px;
color: #000000;
font-weight: bold;
line-height: 28px;
font-weight: 500;
margin-bottom: 12px;
}
.month-record-item {
margin-bottom: 24px;
&:last-of-type {
margin: 0;
}
......@@ -241,6 +306,7 @@ export default {
.inspect-list {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
}
}
......@@ -261,5 +327,5 @@ export default {
box-shadow: 0px 10px 24px 0px rgba(51, 104, 246, 0.24);
border-radius: 27px;
}
}
}
</style>
\ No newline at end of file
......@@ -260,7 +260,7 @@
/* #endif */
flex-wrap: nowrap;
flex-direction: row;
width: 120rpx;
width: auto;
// padding: 0 6px;
justify-content: center;
align-items: center;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论