Compare commits

...

2 Commits

Author SHA1 Message Date
李彪 d663434d94 Merge branch 'main' of http://sl.vrgon.com:3000/LuYaShi/InspectionCleaning 2025-04-15 14:37:57 +08:00
李彪 bf269f67e7 管理端界面绘画 2025-04-15 14:37:47 +08:00
23 changed files with 273 additions and 33 deletions

21
App.vue
View File

@ -76,6 +76,27 @@ export default {
// "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9zaWQiOiIwOGRkNzFiZC01N2MxLTQ1YmMtODBiYS0xMjkzYjU4MTViMmEiLCJ1bmlxdWVfbmFtZSI6IuS_nea0gSIsInJvbGUiOiJVc2VyIiwiaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvd3MvMjAwNS8wNS9pZGVudGl0eS9jbGFpbXMvbW9iaWxlcGhvbmUiOiIxODE3NDAxMDU2MiIsImdyb3Vwc2lkIjoiNGIyZDk2NjItYTc2OC0wOGYyLWEwYzgtNzYyYjhjNzZkYTJhIiwibmJmIjoxNzQ0MjYzMTAyLCJleHAiOjE3NDQyNjY3MDIsImlhdCI6MTc0NDI2MzEwMn0.ZJTwC7rWCcywoM7ncysw-JRIiwXz4y_6hlmqctN-gMM"
let token = data.token;
uni.setStorageSync("token", "Bearer " + token);
const normalTabBar = [
{
pagePath: "/pages/index/planList",
iconPath: "/static/tab/list.png",
selectedIconPath: "/static/tab/list_cur.png",
text: "计划",
},
{
pagePath: "/pages/index/index",
iconPath: "/static/tab/home.png",
selectedIconPath: "/static/tab/home_cur.png",
text: "首页",
},
{
pagePath: "/pages/user/index",
iconPath: "/static/tab/my.png",
selectedIconPath: "/static/tab/my_cur.png",
text: "设置",
},
];
this.$u.vuex("vuex_tabbar", normalTabBar);
uni.switchTab({
url: "/pages/index/index",
success() {

View File

@ -20,7 +20,8 @@
{
"path": "pages/adminNfc/index",
"style": {
"navigationBarTitleText": "nfc卡写入"
"navigationBarTitleText": "nfc卡写入",
"navigationBarBackgroundColor": "#F6F8FC"
}
},
{
@ -269,8 +270,8 @@
},
{
"pagePath": "pages/adminNfc/index",
"iconPath": "static/tab/my.png",
"selectedIconPath": "static/tab/my_cur.png",
"iconPath": "static/tab/nfc.png",
"selectedIconPath": "static/tab/nfc-active.png",
"text": "nfc写入"
},
{

View File

@ -1,25 +1,56 @@
<template>
<view class="content">
<view class="bg-box">
<view class="homo-title">首页</view>
<image
class="bg-logo"
style="width: 200rpx; height: 170rpx"
src="/static/adminImg/bg-logo.png"
></image>
<image
class="bg-hi"
style="width: 130rpx; height: 50rpx"
src="/static/adminImg/logo-hi.png"
></image>
<view style="height: 150rpx"></view>
<view class="tip">欢迎使用,张三</view>
<view class="desc">欢迎使用巡检管理端</view>
<view class="desc">欢迎使用巡检管理</view>
<view class="card">
<view class="card-item">
<view class="item-title">区域数量 </view>
<view class="item-totel">10 </view>
<image
class="card-img"
style="width: 130rpx; height: 130rpx"
src="/static/adminImg/card1.png"
></image>
</view>
<view class="card-item">
<view class="item-title">子区域数量 </view>
<view class="item-totel">20 </view>
<image
class="card-img"
style="width: 130rpx; height: 130rpx"
src="/static/adminImg/card2.png"
></image>
</view>
<view class="card-item">
<view class="item-title">已绑定子区域数 </view>
<view class="item-totel">30 </view>
<image
class="card-img"
style="width: 130rpx; height: 130rpx"
src="/static/adminImg/card3.png"
></image>
</view>
<view class="card-item">
<view class="item-title">未绑定子区域数 </view>
<view class="item-totel">40 </view>
<image
class="card-img"
style="width: 130rpx; height: 130rpx"
src="/static/adminImg/card4.png"
></image>
</view>
</view>
</view>
@ -46,33 +77,55 @@ export default {
.content {
height: calc(100vh - 100rpx); //
// background-color: skyblue;
overflow: hidden;
// padding-bottom: 100rpx;
.bg-box {
background-color: #528dfe;
height: 800rpx;
position: relative;
// background-color: #528dfe;
background: linear-gradient(to bottom, #3179fb, white);
height: 650rpx;
.homo-title {
color: white;
transform: translateY(30rpx);
font-size: 35rpx;
text-align: center;
}
.bg-logo {
position: absolute;
right: 50rpx;
top: 160rpx;
}
.bg-hi {
position: absolute;
left: 30rpx;
top: 200rpx;
}
.tip {
padding-left: 30rpx;
padding-left: 120rpx;
color: white;
font-size: 40rpx;
}
.desc {
margin-top: 20rpx;
padding-left: 30rpx;
color: white;
color: #ffffff99;
}
.card {
border: 1px solid red;
// border: 1px solid red;
display: grid;
grid-template-columns: repeat(2, 1fr);
grid-template-rows: repeat(2, 1fr);
gap: 30rpx;
padding: 50rpx;
.card-item {
border: 1px solid blue;
position: relative;
// border: 1px solid blue;
border-radius: 20rpx;
background-color: #e8efff;
height: 300rpx;
// background-color: red;
background: linear-gradient(to bottom, white, #e1e9ff);
height: 280rpx;
padding: 30rpx;
.item-title {
font-size: 30rpx;
@ -80,6 +133,11 @@ export default {
.item-totel {
font-size: 50rpx;
}
.card-img {
position: absolute;
right: 20rpx;
bottom: 20rpx;
}
}
}
}

View File

@ -10,9 +10,8 @@
class="avatar"
></u-avatar>
</view>
<view class="content-name">姓名姓名</view>
<view class="content-name">JuLia James</view>
</view>
<view class="cell-list-box">
<view class="cell-list-group">
<view class="cell-list-item" v-for="item in cellList" @click="toPage(item.path)">
@ -64,30 +63,30 @@ export default {
cellList: [
{
title: "性别",
icon: "/static/images/icon-unit.png",
icon: "/static/adminImg/item1.png",
path: "",
content: "男",
},
{
title: "人员类型",
icon: "/static/images/icon-info.png",
icon: "/static/adminImg/item2.png",
path: "/pages/user/versionInfo/index",
content: "区域管理员",
},
{
title: "所属区域",
icon: "/static/images/icon-logout.png",
icon: "/static/adminImg/item3.png",
path: "",
content: "区域111",
},
{
title: "版本信息",
icon: "/static/images/icon-logout.png",
icon: "/static/adminImg/item4.png",
path: "/pages/user/versionInfo/index",
},
{
title: "注销",
icon: "/static/images/icon-logout.png",
icon: "/static/adminImg/item5.png",
path: "",
},
],
@ -212,6 +211,7 @@ export default {
.content-name {
margin-top: 20rpx;
font-weight: bold;
}
.cell-list-box {

View File

@ -12,9 +12,51 @@
</view>
</view>
<!-- 搜索 -->
<view>
<view class="search-box">
<u-input
class="search-input"
v-model="keyword"
border
placeholder="搜索名称"
></u-input>
<view class="select-box" @click="selectFn">
<view>
{{ selectVal }}
</view>
<image
src="/static/svg/down.svg"
style="width: 30rpx; height: 30rpx; margin-left: 10rpx"
></image>
</view>
</view>
<!-- tabs -->
<u-tabs
class="tabs-box"
bg-color="#F6F8FC"
:list="tabsList"
:is-scroll="true"
:current="tabCurrent"
@change="tabChangeFn"
></u-tabs>
<!-- tip -->
<view class="tip-box">共10个子区域其中5个未绑定</view>
<!-- 列表 -->
<view class="list-box">
<scroll-view :scroll-y="true" class="scroll-Y">
<view v-for="i in 80" class="item-box">
<view class="item-title">子区域{{ i }}</view>
<view v-if="i % 2 === 0" class="btn-have btn">已绑定</view>
<view v-if="i % 2 !== 0" class="btn-none btn">去绑定</view>
</view>
</scroll-view>
</view>
<!-- 筛选的下拉 -->
<u-action-sheet
:list="options"
title="请选择"
@click="changeFn"
v-model:value="selectShow"
></u-action-sheet>
<u-tabbar :list="vuex_tabbar"></u-tabbar>
</view>
</template>
@ -23,30 +65,84 @@ import { loginApi } from "@/api/apiList";
export default {
data() {
return {
phone: "13800451500",
pwd: "123456",
keyword: "",
selectShow: false,
selectVal: "全部",
options: [
{
text: "全部",
},
{
text: "已绑定",
},
{
text: "未绑定",
},
],
tabCurrent: 0,
tabsList: [
{
name: "区域1",
},
{
name: "区域2",
},
{
name: "区域3",
},
{
name: "区域4",
},
{
name: "区域5",
},
{
name: "区域6",
},
{
name: "区域7",
},
{
name: "区域8",
},
],
};
},
mounted() {
uni.hideLoading(); // Loading
},
onLoad() {},
methods: {},
methods: {
selectFn() {
this.selectShow = true;
},
changeFn(val) {
console.log(val, "val--");
this.selectVal = this.options[val].text;
},
tabChangeFn(val) {
console.log(val, "val--");
this.tabCurrent = val;
},
},
};
</script>
<style lang="scss" scoped>
.content {
height: calc(100vh - 100rpx); //
overflow: hidden;
min-height: calc(100vh - 180rpx); //
// overflow: hidden;
background-color: #f6f8fc;
padding-bottom: 100rpx;
.card {
display: flex;
// margin-top: 30rpx;
padding-left: 30rpx;
padding-right: 30rpx;
.card-item {
position: relative;
flex: 1;
height: 200rpx;
height: 150rpx;
border-radius: 30rpx;
color: white;
padding: 20rpx;
@ -67,5 +163,68 @@ export default {
background-color: #53d5a9;
}
}
.search-box {
display: flex;
align-items: center;
// border: 1px solid red;
margin-top: 20rpx;
padding: 20rpx;
.search-input {
background-color: white;
border-radius: 50rpx;
}
.select-box {
display: flex;
justify-content: center;
align-items: center;
// border: 1px solid red;
margin-left: 20rpx;
background-color: white;
width: 150rpx;
border-radius: 20rpx;
text-align: center;
padding-top: 10rpx;
padding-bottom: 10rpx;
}
}
.tip-box {
color: grey;
padding-left: 30rpx;
}
.list-box {
padding-left: 30rpx;
padding-right: 30rpx;
.item-box {
background-color: white;
margin-top: 20rpx;
padding-left: 30rpx;
padding-right: 30rpx;
height: 100rpx;
border-radius: 20rpx;
display: flex;
justify-content: space-between;
align-items: center;
.item-title {
font-size: 30rpx;
color: #333;
// font-weight: bold;
}
.btn {
padding-left: 20rpx;
padding-right: 20rpx;
border-radius: 20rpx;
padding-top: 5rpx;
padding-bottom: 5rpx;
}
.btn-have {
background-color: #f5f5f5;
color: black;
}
.btn-none {
background-color: #4274dc;
color: white;
}
}
}
}
</style>

View File

@ -71,20 +71,20 @@ export default {
const adminTabBar = [
{
pagePath: "/pages/adminHome/index",
iconPath: "/static/tab/list.png",
selectedIconPath: "/static/tab/list_cur.png",
iconPath: "/static/tab/home.png",
selectedIconPath: "/static/tab/home_cur.png",
text: "首页",
},
{
pagePath: "/pages/adminNfc/index",
iconPath: "/static/tab/list.png",
selectedIconPath: "/static/tab/list_cur.png",
iconPath: "/static/tab/nfc.png",
selectedIconPath: "/static/tab/nfc-active.png",
text: "nfc写入",
},
{
pagePath: "/pages/adminMy/index",
iconPath: "/static/tab/list.png",
selectedIconPath: "/static/tab/list_cur.png",
iconPath: "/static/tab/my.png",
selectedIconPath: "/static/tab/my_cur.png",
text: "我的",
},
];

BIN
static/adminImg/bg-logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

BIN
static/adminImg/card1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

BIN
static/adminImg/card2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

BIN
static/adminImg/card3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

BIN
static/adminImg/card4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

BIN
static/adminImg/item1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

BIN
static/adminImg/item2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

BIN
static/adminImg/item3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

BIN
static/adminImg/item4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

BIN
static/adminImg/item5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

BIN
static/adminImg/logo-hi.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

1
static/svg/down.svg Normal file
View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1744695549243" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2606" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M836.802183 342.264666c-8.381992-8.381992-22.351978-8.381992-30.73397 0l-293.369714 293.369713-294.766712-293.369713c-8.381992-8.381992-22.351978-8.381992-30.73397 0-8.381992 8.381992-8.381992 22.351978 0 30.73397l310.133697 308.736698c8.381992 8.381992 22.351978 8.381992 30.73397 0l308.736699-308.736698c8.381992-8.381992 8.381992-22.351978 0-30.73397z" fill="#999999" p-id="2607"></path></svg>

After

Width:  |  Height:  |  Size: 729 B

BIN
static/tab/nfc-active.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

BIN
static/tab/nfc.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB