develop #1

Merged
dashixiong merged 37 commits from develop into main 2026-02-11 02:07:35 +00:00
49 changed files with 16387 additions and 981 deletions
Showing only changes of commit b558282529 - Show all commits

View File

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

View File

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

View File

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

View File

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

View File

@ -12,6 +12,7 @@
<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"
class="device-list"
:class="item.workStatus === '2' ? 'danger' : item.workStatus === '1' ? 'close' : 'running'">
<template v-slot:title>
<view class="title-row">
@ -301,6 +302,7 @@
}
}
// 九宫格
.grid-item-box {
flex: 1;
// position: relative;
@ -336,6 +338,11 @@
}
//todo 列表
.device-list {
.uni-collapse-item__title-box {}
}
::v-deep {
.info-grid {
.uni-grid-item {