develop #1
148
manifest.json
148
manifest.json
@ -1,69 +1,79 @@
|
||||
{
|
||||
"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
|
||||
},
|
||||
"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\"/>",
|
||||
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
|
||||
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
|
||||
"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
|
||||
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
|
||||
"<uses-permission android:name=\"android.permission.CAMERA\"/>",
|
||||
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
|
||||
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
|
||||
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
|
||||
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
|
||||
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
|
||||
"<uses-feature android:name=\"android.hardware.camera\"/>",
|
||||
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
|
||||
]
|
||||
},
|
||||
"ios" : {},
|
||||
"sdkConfigs" : {}
|
||||
}
|
||||
},
|
||||
"quickapp" : {},
|
||||
"mp-weixin" : {
|
||||
"appid" : "wxccd7e2a0911b3397",
|
||||
"setting" : {
|
||||
"urlCheck" : false,
|
||||
"es6" : false,
|
||||
"minified" : true,
|
||||
"postcss" : true
|
||||
},
|
||||
"optimization" : {
|
||||
"subPackages" : true
|
||||
},
|
||||
"usingComponents" : true
|
||||
},
|
||||
"vueVersion" : "2",
|
||||
"h5" : {
|
||||
"template" : "static/index.html",
|
||||
"devServer" : {
|
||||
"port" : 9090,
|
||||
"https" : false
|
||||
},
|
||||
"title" : "EMS-App",
|
||||
"router" : {
|
||||
"mode" : "hash",
|
||||
"base" : "./"
|
||||
}
|
||||
}
|
||||
}
|
||||
{
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"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\"/>",
|
||||
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
|
||||
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
|
||||
"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
|
||||
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
|
||||
"<uses-permission android:name=\"android.permission.CAMERA\"/>",
|
||||
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
|
||||
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
|
||||
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
|
||||
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
|
||||
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
|
||||
"<uses-feature android:name=\"android.hardware.camera\"/>",
|
||||
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
|
||||
]
|
||||
},
|
||||
"ios": {
|
||||
"dSYMs": false
|
||||
},
|
||||
"sdkConfigs": {}
|
||||
}
|
||||
},
|
||||
"quickapp": {},
|
||||
"mp-weixin": {
|
||||
"appid": "wxccd7e2a0911b3397",
|
||||
"setting": {
|
||||
"urlCheck": false,
|
||||
"es6": false,
|
||||
"minified": true,
|
||||
"postcss": true
|
||||
},
|
||||
"optimization": {
|
||||
"subPackages": true
|
||||
},
|
||||
"usingComponents": true
|
||||
},
|
||||
"vueVersion": "2",
|
||||
"h5": {
|
||||
"template": "static/index.html",
|
||||
"devServer": {
|
||||
"port": 9090,
|
||||
"https": false
|
||||
},
|
||||
"title": "EMS-App",
|
||||
"router": {
|
||||
"mode": "hash",
|
||||
"base": "./"
|
||||
}
|
||||
},
|
||||
"locale": "zh-Hans",
|
||||
"fallbackLocale": "zh-Hans"
|
||||
}
|
||||
108
pages/index.vue
108
pages/index.vue
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -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>
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
.icon {
|
||||
font-size: 52rpx;
|
||||
color: #3a98ff;
|
||||
}
|
||||
|
||||
|
||||
.base-lists {
|
||||
font-size: 28rpx;
|
||||
font-size: 24rpx;
|
||||
line-height: 40rpx;
|
||||
padding: 10rpx 20rpx;
|
||||
padding-left: 40rpx;
|
||||
|
||||
@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user