部分样式更新

This commit is contained in:
白菜
2026-01-09 19:10:32 +08:00
parent 5e4636fd7d
commit b558282529
5 changed files with 236 additions and 131 deletions

View File

@ -1,23 +1,29 @@
{ {
"name" : "EMS移动端", "name": "EMS移动端",
"appid" : "__UNI__B330617", "appid": "__UNI__B330617",
"description" : "", "description": "",
"versionName" : "1.2.0", "versionName": "1.2.0",
"versionCode" : "100", "versionCode": "100",
"transformPx" : false, "transformPx": false,
"app-plus" : { "app-plus": {
"usingComponents" : true, "usingComponents": true,
"nvueCompiler" : "uni-app", "nvueCompiler": "uni-app",
"splashscreen" : { "safearea": {
"alwaysShowBeforeRender" : true, "background": "#FFFFFF",
"waiting" : true, "top": {
"autoclose" : true, "offset": "auto"
"delay" : 0 }
}, },
"modules" : {}, "splashscreen": {
"distribute" : { "alwaysShowBeforeRender": true,
"android" : { "waiting": true,
"permissions" : [ "autoclose": true,
"delay": 0
},
"modules": {},
"distribute": {
"android": {
"permissions": [
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>", "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>", "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
"<uses-permission android:name=\"android.permission.VIBRATE\"/>", "<uses-permission android:name=\"android.permission.VIBRATE\"/>",
@ -35,35 +41,39 @@
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>" "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
] ]
}, },
"ios" : {}, "ios": {
"sdkConfigs" : {} "dSYMs": false
},
"sdkConfigs": {}
} }
}, },
"quickapp" : {}, "quickapp": {},
"mp-weixin" : { "mp-weixin": {
"appid" : "wxccd7e2a0911b3397", "appid": "wxccd7e2a0911b3397",
"setting" : { "setting": {
"urlCheck" : false, "urlCheck": false,
"es6" : false, "es6": false,
"minified" : true, "minified": true,
"postcss" : true "postcss": true
}, },
"optimization" : { "optimization": {
"subPackages" : true "subPackages": true
}, },
"usingComponents" : true "usingComponents": true
}, },
"vueVersion" : "2", "vueVersion": "2",
"h5" : { "h5": {
"template" : "static/index.html", "template": "static/index.html",
"devServer" : { "devServer": {
"port" : 9090, "port": 9090,
"https" : false "https": false
}, },
"title" : "EMS-App", "title": "EMS-App",
"router" : { "router": {
"mode" : "hash", "mode": "hash",
"base" : "./" "base": "./"
}
} }
},
"locale": "zh-Hans",
"fallbackLocale": "zh-Hans"
} }

View File

@ -4,7 +4,7 @@
<uni-row> <uni-row>
<uni-col :span="12"> <uni-col :span="12">
<button type="default" class="btns" :class="{'active-btn' : active === 'undone'}" <button type="default" class="btns" :class="{'active-btn' : active === 'undone'}"
@click="changeTab('undone')">处理</button> @click="changeTab('undone')">处理</button>
</uni-col> </uni-col>
<uni-col :span="12"> <uni-col :span="12">
<button type="default" class="btns" :class="{'active-btn' : active === 'done'}" <button type="default" class="btns" :class="{'active-btn' : active === 'done'}"
@ -15,13 +15,25 @@
<view v-if="list.length===0" class="no-data">暂无数据</view> <view v-if="list.length===0" class="no-data">暂无数据</view>
<view class="content scroll-y" v-else> <view class="content scroll-y" v-else>
<view class="item-list" v-for="item in list" :key="item.ticketNo+'ticket'" @click="toDetail(item.id)"> <view class="item-list" v-for="item in list" :key="item.ticketNo+'ticket'" @click="toDetail(item.id)">
<view class="item-title" :class="item.status === 3 ? 'done' : 'undone'">工单号{{item.ticketNo}}</view> <view class="item-title" :class="item.status === 3 ? 'done' : item.status === 2 ? 'doing' : 'undone'">
工单号{{item.ticketNo}}
<view class="item-status">{{ticketStatusOptions[item.status]}}</view>
</view>
<view class="item-content"> <view class="item-content">
<view class="item-info">工单标题:{{item.title}}</view> <view class="item-info">工单标题:
<view class="item-info">问题描述:{{item.content}}</view> <text class="info-value">{{item.title}}</text>
<view class="item-info">工单状态:{{ticketStatusOptions[item.status]}}</view> </view>
<view class="item-info">预期完成时间:{{item.expectedCompleteTime || '-'}}</view> <view class="item-info">问题描述:
<view class="item-info">处理人:{{item.workName || '-'}}</view> <text class="info-value">{{item.content}}</text>
</view>
<view class="item-info">预期完成时间:
<text class="info-value">{{item.expectedCompleteTime || '-'}}</text>
</view>
<view class="item-info">处理人:
<text class="info-value">
{{item.workName || '-'}}
</text>
</view>
</view> </view>
</view> </view>
</view> </view>
@ -46,7 +58,7 @@
total: 0, total: 0,
list: [], list: [],
pageNum: 1, pageNum: 1,
pageSize: 10 pageSize: 20
} }
}, },
methods: { methods: {
@ -104,7 +116,7 @@
position: relative; position: relative;
.no-data { .no-data {
padding-top: 70px; padding-top: 180rpx;
} }
} }
@ -119,60 +131,92 @@
left: 0; left: 0;
width: 100%; width: 100%;
z-index: 2; z-index: 2;
padding: 40rpx 30rpx;
padding-bottom: 60rpx;
background: linear-gradient(to bottom, #9fc1f3, #f7fbff 80%, rgba(255, 255, 255, 0) 100%);
.btns { .btns {
border-radius: 0;
border: none; border: none;
border-bottom: 1px solid #eee; border-radius: 40rpx;
width: 100%; width: 90%;
text-align: center; font-size: 26rpx;
font-size: 16px; line-height: 64rpx;
line-height: 50px; color: #19242d;
background-color: #fff; background: linear-gradient(to bottom, #d9e7fc, #f7fbff);
&.active-btn { &.active-btn {
background-color: #3a98ff; background: linear-gradient(to bottom, #4c7af3, #4b7bf4);
color: #fff; color: #fff;
} }
} }
} }
.scroll-y { .scroll-y {
// height: calc(100vh - var(--window-bottom) - var(--window-top));
z-index: 1; z-index: 1;
} }
.content { .content {
background-color: #ffffff; background-color: #ffffff;
padding: 70px 20px 60px 20px; padding: 170rpx 40rpx 120rpx 40rpx;
} }
// 工单列表
.item-list { .item-list {
border-radius: 7px; color: #4b4951;
box-shadow: 0 0 10px rgba(0, 0, 0, .1), 0 0 0 rgba(0, 0, 0, .5); border-radius: 14rpx;
font-size: 14px; box-shadow: 0 0 20rpx rgba(0, 0, 0, .1), 0 0 0 rgba(0, 0, 0, .5);
line-height: 24px; font-size: 26rpx;
margin-bottom: 20px; line-height: 40rpx;
margin-bottom: 30rpx;
border: 1px solid #eee; border: 1px solid #eee;
// 标题
.item-title { .item-title {
border-radius: 7px 7px 0 0; border-radius: 14rpx 14rpx 0 0;
font-size: 16px;
border-bottom: 1px solid #eee; border-bottom: 1px solid #eee;
padding: 10px 15px; padding: 20rpx 30rpx;
background-color: #FC6B69; font-weight: 700;
color: #fff; position: relative;
.item-status {
position: absolute;
right: 0;
top: 0;
padding: 2rpx 20rpx;
color: #ffffff;
font-size: 22rpx;
}
&.done { &.done {
background-color: #05AEA3; .item-status {
background-color: #30be95;
} }
} }
&.doing {
.item-status {
background-color: #3c68e7;
}
}
&.undone {
.item-status {
background-color: #ed7876;
}
}
}
// 内容
.item-content { .item-content {
padding: 15px 15px; padding: 20rpx 30rpx;
font-size: 24rpx;
.item-info { .item-info {
margin-bottom: 20px; margin-bottom: 20rpx;
.info-value {
padding-left: 10rpx;
}
} }
} }

View File

@ -40,7 +40,8 @@
</uni-file-picker> </uni-file-picker>
</view> </view>
</view> </view>
<button class="button" type="primary" style="margin-top:30px;" :loading="loading" @click="submit">提交</button> <button class="submit-button" type="primary" style="margin-top:30px;" :loading="loading"
@click="submit">提交</button>
</view> </view>
</template> </template>
@ -170,26 +171,43 @@
<style scoped lang="scss"> <style scoped lang="scss">
.container { .container {
background-color: #ffffff; background-color: #ffffff;
padding: 20px 20px; padding: 40rpx;
color: #19242d;
} }
.item-lists { .item-lists {
box-shadow: 0 0 10px rgba(0, 0, 0, .1), 0 0 0 rgba(0, 0, 0, .5); box-shadow: 0 0 20rpx rgba(0, 0, 0, .1), 0 0 0 rgba(0, 0, 0, .5);
border-radius: 5px; border-radius: 10rpx;
font-size: 14px; font-size: 26rpx;
line-height: 20px; line-height: 30rpx;
margin-bottom: 20px; margin-bottom: 40rpx;
.title { .title {
font-size: 16px; border-radius: 14rpx 14rpx 0 0;
border-bottom: 1px solid #eee; border-bottom: 1px solid #eee;
padding: 10px 15px; padding: 20rpx 30rpx;
background-color: #e4e4e4; font-weight: 700;
color: #333; position: relative;
&::after {
content: '';
display: block;
background-color: #4c7af3;
height: 30rpx;
width: 6rpx;
position: absolute;
left: 10rpx;
top: 20rpx;
}
} }
.info { .info {
padding: 10px 15px; padding: 20rpx 30rpx;
font-size: 24rpx;
} }
} }
.submit-button {
font-size: 28rpx;
}
</style> </style>

View File

@ -1,16 +1,16 @@
<template> <template>
<view class="work-container"> <view class="work-container">
<!-- 站点选择列表 --> <!-- 站点选择列表 -->
<uni-section title="业态选择" type="line" :titleFontSize="titleFontSize" class="sections-list"> <uni-section title="业态选择" type="line" class="sections-list">
<uni-row> <uni-row>
<uni-col :span="10" :offset='1'> <uni-col :span="10" :offset='1'>
<uni-section title="业态列表" titleFontSize="14px"> <uni-section title="业态列表">
<uni-data-select :clear="false" :value="siteType" wrap :localdata="siteTypeOptions" <uni-data-select :clear="false" :value="siteType" wrap :localdata="siteTypeOptions"
@change="selectedSiteType"></uni-data-select> @change="selectedSiteType"></uni-data-select>
</uni-section> </uni-section>
</uni-col> </uni-col>
<uni-col :span="10" :offset='2'> <uni-col :span="10" :offset='2'>
<uni-section title="可选清单" titleFontSize="14px"> <uni-section title="可选清单">
<uni-data-select ref="siteListSelect" :clear="false" :value="siteId" wrap <uni-data-select ref="siteListSelect" :clear="false" :value="siteId" wrap
:localdata="siteType ===1 ? siteList : []" @change="selectedSite"></uni-data-select> :localdata="siteType ===1 ? siteList : []" @change="selectedSite"></uni-data-select>
</uni-section> </uni-section>
@ -18,14 +18,14 @@
</uni-row> </uni-row>
</uni-section> </uni-section>
<!-- 静态信息 --> <!-- 静态信息 -->
<uni-section title="静态信息" type="line" :titleFontSize="titleFontSize" class="sections-list"> <uni-section title="静态信息" type="line" class="sections-list">
<view class="base-lists" v-for="(item,index) in singleZdInfo" :key="index+'zdBaseInfo'"> <view class="base-lists" v-for="(item,index) in singleZdInfo" :key="index+'zdBaseInfo'">
<text class="left">{{item.title}}</text> <text class="left">{{item.title}}</text>
<text class="right">{{baseInfo[item.attr]}}</text> <text class="right">{{baseInfo[item.attr]}}</text>
</view> </view>
</uni-section> </uni-section>
<!-- 工作台 --> <!-- 工作台 -->
<uni-section title="工作台" type="line" :titleFontSize="titleFontSize" class="sections-list"> <uni-section title="工作台" type="line" class="sections-list">
<view class="grid-body"> <view class="grid-body">
<uni-grid :column="4" :showBorder="false" @change="toDetail"> <uni-grid :column="4" :showBorder="false" @change="toDetail">
<uni-grid-item v-for="(item,index) in siteGirdList" :index="index" :key="index+'work'"> <uni-grid-item v-for="(item,index) in siteGirdList" :index="index" :key="index+'work'">
@ -38,7 +38,7 @@
</view> </view>
</uni-section> </uni-section>
<!-- 一周充放曲线 uchart的组件最好放在同级--> <!-- 一周充放曲线 uchart的组件最好放在同级-->
<uni-section title="一周充放曲线" type="line" :titleFontSize="titleFontSize" class="sections-list"> <uni-section title="一周充放曲线" type="line" class="sections-list">
<date-range-select ref="weekChartDateRangeSelect" @updateDate="updateWeekChartDate" /> <date-range-select ref="weekChartDateRangeSelect" @updateDate="updateWeekChartDate" />
<view style="width:100%;height: 250px;"> <view style="width:100%;height: 250px;">
<qiun-data-charts type="line" :chartData="weekChartData" :optsWatch='false' :inScrollView="true" <qiun-data-charts type="line" :chartData="weekChartData" :optsWatch='false' :inScrollView="true"
@ -46,7 +46,7 @@
</view> </view>
</uni-section> </uni-section>
<!-- 当日功率曲线 uchart的组件最好放在同级--> <!-- 当日功率曲线 uchart的组件最好放在同级-->
<uni-section title="当日功率曲线" type="line" :titleFontSize="titleFontSize" class="sections-list"> <uni-section title="当日功率曲线" type="line" class="sections-list">
<date-range-select ref="activeChartDateRangeSelect" @updateDate="updateActiveChartDate" /> <date-range-select ref="activeChartDateRangeSelect" @updateDate="updateActiveChartDate" />
<view style="width:100%;height: 250px;"> <view style="width:100%;height: 250px;">
<qiun-data-charts type="line" :chartData="activeChartData" :optsWatch='false' :inScrollView="true" <qiun-data-charts type="line" :chartData="activeChartData" :optsWatch='false' :inScrollView="true"
@ -107,7 +107,6 @@
}, },
// 图表数据结束 // 图表数据结束
deviceCategoryOptions: [], //当前站点包含的设备类别 deviceCategoryOptions: [], //当前站点包含的设备类别
titleFontSize: '16px',
siteType: 1, siteType: 1,
siteTypeOptions: [{ siteTypeOptions: [{
text: '储能', text: '储能',
@ -378,10 +377,11 @@
background-color: #fff; background-color: #fff;
min-height: 100%; min-height: 100%;
height: auto; height: auto;
font-size: 26rpx;
line-height: 30rpx;
} }
view { view {
font-size: 14px;
line-height: inherit; line-height: inherit;
} }
@ -389,24 +389,43 @@
.text { .text {
text-align: center; text-align: center;
font-size: 26rpx;
margin-top: 10rpx; margin-top: 10rpx;
} }
.sections-list {
margin-bottom: 10rpx;
::v-deep &>.uni-section-header {
font-weight: 700;
font-size: 26rpx;
line-height: 30rpx;
}
}
.sections-list:not(:first-child) { .sections-list:not(:first-child) {
margin-top: 40rpx; margin-top: 40rpx;
} }
::v-deep { ::v-deep {
.uni-section__content-title {
font-size: 26rpx !important;
}
.uni-select__input-box { .uni-select__input-box {
width: 100%; width: 100%;
.uni-select__input-text {
font-size: 24rpx;
}
} }
.uni-select__selector-empty, .uni-select__selector-empty,
.uni-select__selector-item { .uni-select__selector-item {
line-height: 18px; font-size: 24rpx;
padding-top: 5px; line-height: 36rpx;
padding-bottom: 5px; padding-top: 10rpx;
padding-bottom: 10rpx;
text-align: left;
} }
} }
@ -419,15 +438,22 @@
align-items: center; align-items: center;
justify-content: center; justify-content: center;
padding: 30rpx 0; padding: 30rpx 0;
}
.icon { .icon {
font-size: 52rpx; font-size: 52rpx;
color: #3a98ff; color: #3a98ff;
} }
.text {
font-size: 24rpx;
padding-top: 10rpx;
}
}
.base-lists { .base-lists {
font-size: 28rpx; font-size: 24rpx;
line-height: 40rpx; line-height: 40rpx;
padding: 10rpx 20rpx; padding: 10rpx 20rpx;
padding-left: 40rpx; padding-left: 40rpx;

View File

@ -12,6 +12,7 @@
<uni-collapse ref="collapse" accordion v-if="list.length > 0"> <uni-collapse ref="collapse" accordion v-if="list.length > 0">
<uni-collapse-item v-for="(item,index) in list" :key="item.deviceId+'pcs'" :open="index===0" <uni-collapse-item v-for="(item,index) in list" :key="item.deviceId+'pcs'" :open="index===0"
class="device-list"
:class="item.workStatus === '2' ? 'danger' : item.workStatus === '1' ? 'close' : 'running'"> :class="item.workStatus === '2' ? 'danger' : item.workStatus === '1' ? 'close' : 'running'">
<template v-slot:title> <template v-slot:title>
<view class="title-row"> <view class="title-row">
@ -301,6 +302,7 @@
} }
} }
// 九宫格
.grid-item-box { .grid-item-box {
flex: 1; flex: 1;
// position: relative; // position: relative;
@ -336,6 +338,11 @@
} }
//todo 列表
.device-list {
.uni-collapse-item__title-box {}
}
::v-deep { ::v-deep {
.info-grid { .info-grid {
.uni-grid-item { .uni-grid-item {