flx:提交混凝土冬施测温模块
This commit is contained in:
parent
e21d8f0289
commit
820abe84b9
6
main.js
6
main.js
@ -88,7 +88,7 @@ export function createApp() {
|
||||
// app.config.globalProperties.url_config = 'http://182.90.224.237:51234/' //雄哥内网穿透地址
|
||||
// app.config.globalProperties.url_config = 'http://jxj.zhgdyun.com:61212/' //杰哥内网穿透地址
|
||||
// app.config.globalProperties.url_config = 'http://192.168.34.221:28888/' //郭圣雄本地
|
||||
app.config.globalProperties.url_config = 'http://192.168.34.221:19113/' //郭圣雄本地
|
||||
app.config.globalProperties.url_config = 'http://192.168.34.221:19112/' //郭圣雄本地
|
||||
// app.config.globalProperties.url_config = 'http://101.43.164.214:11000/' //包头映射
|
||||
app.config.globalProperties.work_url = 'http://192.168.34.133:5173/wflowApp/#/' // 工作流地址
|
||||
// app.config.globalProperties.url_config = 'http://182.90.224.237:51234/' //郭圣雄本地
|
||||
@ -134,8 +134,8 @@ export function createApp() {
|
||||
// app.config.globalProperties.url_config = 'http://huli.zjzhiliao.com/jxjgdapi'//金林湾测试
|
||||
// app.config.globalProperties.url_config = 'http://8.136.222.164:8808/'//中科安信
|
||||
// app.config.globalProperties.url_config = 'http://101.43.164.214:11111/'// 百色三标段
|
||||
app.config.globalProperties.url_config = 'http://101.43.164.214:11000/' // 包头(外网)
|
||||
app.config.globalProperties.work_url = 'http://101.43.164.214:11000/wflowApp/#/' // 包头(外网)
|
||||
// app.config.globalProperties.url_config = 'http://101.43.164.214:11000/' // 包头(外网)
|
||||
// app.config.globalProperties.work_url = 'http://101.43.164.214:11000/wflowApp/#/' // 包头(外网)
|
||||
|
||||
} else {
|
||||
// 生产环境
|
||||
|
||||
@ -2,8 +2,8 @@
|
||||
"name" : "智慧工地系统",
|
||||
"appid" : "__UNI__4AA4101",
|
||||
"description" : "",
|
||||
"versionName" : "1.3.3",
|
||||
"versionCode" : 133,
|
||||
"versionName" : "1.3.6",
|
||||
"versionCode" : 136,
|
||||
"transformPx" : false,
|
||||
/* 5+App特有相关 */
|
||||
"app-plus" : {
|
||||
|
||||
12
pages.json
12
pages.json
@ -3935,6 +3935,18 @@
|
||||
{
|
||||
"navigationBarTitleText" : ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/projectEnd/concreteWinterMonitoring/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/projectEnd/concreteWinterMonitoring/addConcreteMonit",
|
||||
"style": {
|
||||
"navigationBarTitleText": ""
|
||||
}
|
||||
}
|
||||
],
|
||||
// "subPackages":[{
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
</view>
|
||||
<!-- enterpriseId -->
|
||||
<view class="uni-form-input">
|
||||
<picker :disabled="devForm.uploadType == 1" @change="bindPickerChange" :value="devForm.devIndex" :range="environmentDevList"
|
||||
<picker :disabled="devForm.uploadType == 1 || devForm.id" @change="bindPickerChange" :value="devForm.devIndex" :range="environmentDevList"
|
||||
range-key="devName">
|
||||
<view class="uni-input uni-select cl" v-if="devForm.devIndex == null">
|
||||
请选择
|
||||
|
||||
621
pages/projectEnd/concreteWinterMonitoring/addConcreteMonit.vue
Normal file
621
pages/projectEnd/concreteWinterMonitoring/addConcreteMonit.vue
Normal file
@ -0,0 +1,621 @@
|
||||
<template>
|
||||
<view class="fullHeight">
|
||||
<headers :showBack="true">
|
||||
<view class="headerName">
|
||||
{{ pageTitle }}
|
||||
</view>
|
||||
</headers>
|
||||
<view class="formBox">
|
||||
<form @submit="formSubmit">
|
||||
|
||||
<view class="uni-form-item">
|
||||
<view class="uni-form-label">
|
||||
<text class="star">*</text>
|
||||
设备名称
|
||||
</view>
|
||||
<!-- enterpriseId -->
|
||||
<view class="uni-form-input">
|
||||
<picker :disabled="devForm.uploadType == 1 || devForm.id" @change="bindPickerChange" :value="devForm.devIndex"
|
||||
:range="environmentDevList" range-key="devName">
|
||||
<view class="uni-input uni-select cl" v-if="devForm.devIndex == null">
|
||||
请选择
|
||||
<image class="icon-down" src="/static/icon-down-black.png" mode=""></image>
|
||||
</view>
|
||||
<view class="uni-input uni-select" v-else>{{ environmentDevList[devForm.devIndex].devName }}
|
||||
<image class="icon-down" src="/static/icon-down-black.png" mode=""></image>
|
||||
</view>
|
||||
</picker>
|
||||
</view>
|
||||
</view>
|
||||
<view class="uni-form-item">
|
||||
<view class="uni-form-label">
|
||||
<text class="star">*</text>
|
||||
设备编号
|
||||
</view>
|
||||
<view class="uni-form-input disabled">
|
||||
<input disabled class="uni-input" placeholder-class="cl" name="devSn" :value="devForm.devSn"
|
||||
placeholder="请输入" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="uni-form-item">
|
||||
<view class="uni-form-label">
|
||||
<text class="star">*</text>
|
||||
采集类型
|
||||
</view>
|
||||
<!-- enterpriseId -->
|
||||
<view class="uni-form-input">
|
||||
<picker disabled @change="bindPickerChange2" :value="devForm.uploadIndex"
|
||||
:range="uploadTypeList" range-key="uploadTypeName">
|
||||
<view class="uni-input uni-select cl" v-if="devForm.uploadIndex == null">
|
||||
请选择
|
||||
<image class="icon-down" src="/static/icon-down-black.png" mode=""></image>
|
||||
</view>
|
||||
<view class="uni-input uni-select" v-else>
|
||||
{{ uploadTypeList[devForm.uploadIndex].uploadTypeName }}
|
||||
<image class="icon-down" src="/static/icon-down-black.png" mode=""></image>
|
||||
</view>
|
||||
</picker>
|
||||
</view>
|
||||
</view>
|
||||
<view class="uni-form-item">
|
||||
<view class="uni-form-label">
|
||||
<text class="star">*</text>
|
||||
采集时间
|
||||
</view>
|
||||
<view class="uni-form-input">
|
||||
<!-- <view class="uni-input def" :class="{text:form.reserveStartTime}"
|
||||
@click="showTime=true;key='reserveStartTime'">
|
||||
{{ form.reserveStartTime || '请选择' }}
|
||||
</view> -->
|
||||
<uni-datetime-picker :disabled="devForm.uploadType == 1" class="uni-input def w-form-input"
|
||||
date-format="yyyy-MM-dd HH:mm:ss" :border="false" type="datetime" ref="uniDateTime"
|
||||
:clear-icon="false" v-model="devForm.receiveTime" />
|
||||
<!-- @change="confirm" -->
|
||||
</view>
|
||||
</view>
|
||||
<view class="uni-form-item">
|
||||
<view class="uni-form-label">
|
||||
<text class="star">*</text>
|
||||
出罐温度
|
||||
</view>
|
||||
<view class="uni-form-input">
|
||||
<input class="uni-input" placeholder-class="cl" name="cgTemperature"
|
||||
v-model="devForm.cgTemperature" placeholder="请输入" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="uni-form-item">
|
||||
<view class="uni-form-label">
|
||||
<text class="star">*</text>
|
||||
入模温度
|
||||
</view>
|
||||
<view class="uni-form-input">
|
||||
<input class="uni-input" placeholder-class="cl" name="rmTemperature"
|
||||
v-model="devForm.rmTemperature" placeholder="请输入" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="uni-form-item">
|
||||
<view class="uni-form-label">
|
||||
<text class="star">*</text>
|
||||
混凝土环境温度
|
||||
</view>
|
||||
<view class="uni-form-input">
|
||||
<input class="uni-input" placeholder-class="cl" name="hjTemperature"
|
||||
v-model="devForm.hjTemperature" placeholder="请输入" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="uni-form-item">
|
||||
<view class="uni-form-label">
|
||||
<text class="star">*</text>
|
||||
检测点位数量
|
||||
</view>
|
||||
<!-- enterpriseId -->
|
||||
<view class="uni-form-input">
|
||||
<picker disabled @change="bindPickerChange3" :value="devForm.pointIndex" :range="pointList"
|
||||
range-key="lable">
|
||||
<view class="uni-input uni-select cl" v-if="devForm.pointIndex==null">
|
||||
请选择
|
||||
<image class="icon-down" src="/static/icon-down-black.png" mode=""></image>
|
||||
</view>
|
||||
<view class="uni-input uni-select" v-else>{{ pointList[devForm.pointIndex].lable }}
|
||||
<image class="icon-down" src="/static/icon-down-black.png" mode=""></image>
|
||||
</view>
|
||||
</picker>
|
||||
</view>
|
||||
</view>
|
||||
<view class="point_boxs">
|
||||
<view class="uni-form-item point_box" v-for="(item, index) in devForm.pointList" :key="index">
|
||||
<view class="uni-form-item">
|
||||
<view class="uni-form-label">
|
||||
序号
|
||||
</view>
|
||||
<view>{{ item.pointNo }}</view>
|
||||
</view>
|
||||
<view class="uni-form-item">
|
||||
<view class="uni-form-label">
|
||||
监测点名称
|
||||
</view>
|
||||
<view class="uni-form-input disabled">
|
||||
<input disabled class="uni-input" placeholder-class="cl" name="pointName"
|
||||
v-model="item.pointName" placeholder="请输入" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="uni-form-item">
|
||||
<view class="uni-form-label">
|
||||
温度
|
||||
</view>
|
||||
<view class="uni-form-input" :class="{'disabled': devForm.uploadType == 1}">
|
||||
<input :disabled="devForm.uploadType == 1" class="uni-input" type="number"
|
||||
oninput="if(value.length>5)value=value.slice(0,5)" placeholder-class="cl"
|
||||
name="temperature" v-model="item.temperature" placeholder="请输入" />℃
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<button
|
||||
v-if="checkBtnPermission({key: 'add', menuPath: '/project/concreteWinterMonitoring/devManageSecond'})"
|
||||
v-show="isAdd" form-type="submit" type="primary" class="btn submitBtn big">保存</button>
|
||||
<button
|
||||
v-if="checkBtnPermission({key: 'edit', menuPath: '/project/concreteWinterMonitoring/devManageSecond'})&&devForm.uploadType != 1"
|
||||
v-show="!isAdd" form-type="submit" type="primary" class="btn submitBtn big">保存</button>
|
||||
<button
|
||||
v-if="checkBtnPermission({key: 'delete', menuPath: '/project/concreteWinterMonitoring/devManageSecond'})&&devForm.uploadType != 1"
|
||||
class="btn deleteBtn big" v-show="!isAdd" @click="deleteFn">删除</button>
|
||||
</form>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import dayjs from 'dayjs'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
pageTitle: '新增',
|
||||
selectIndex: null,
|
||||
colorList: ['蓝色', '绿色', '黄色', '白色', '黑色'],
|
||||
carTypeList: [],
|
||||
carTypeIndex: null,
|
||||
driverNameList: [],
|
||||
driverNameIndex: null,
|
||||
form: {
|
||||
carModuleType: 1,
|
||||
carColor: "",
|
||||
carNumber: "",
|
||||
carPhotosUrl: [],
|
||||
jsz: [],
|
||||
xsz: [],
|
||||
jqx: [],
|
||||
otherProve: [],
|
||||
carType: "",
|
||||
driverName: "",
|
||||
driverTelephone: "",
|
||||
driverWorkerName: "",
|
||||
outsideDriverIdCard: "",
|
||||
isBlack: 0,
|
||||
projectSn: '',
|
||||
entryAndExitPermit: 0
|
||||
},
|
||||
personList: [],
|
||||
projectDetail: {},
|
||||
isAdd: true,
|
||||
baoList: [],
|
||||
bjIndex: null,
|
||||
showTime: false,
|
||||
params: {
|
||||
year: true,
|
||||
month: true,
|
||||
day: true,
|
||||
hour: true,
|
||||
minute: true,
|
||||
second: true
|
||||
},
|
||||
key: '',
|
||||
selectIndexQy: null,
|
||||
qyList: [],
|
||||
cityIdArr: [],
|
||||
isNation: false,
|
||||
|
||||
environmentDevList: [],
|
||||
devForm: {
|
||||
devIndex: null,
|
||||
devName: "",
|
||||
devSn: "",
|
||||
pointNum: 8,
|
||||
pointIndex: 0,
|
||||
pointList: [],
|
||||
uploadIndex: 1,
|
||||
uploadType: 2,
|
||||
receiveTime: dayjs(new Date()).format("YYYY-MM-DD HH:mm:ss"),
|
||||
cgTemperature: "",
|
||||
rmTemperature: "",
|
||||
hjTemperature: "",
|
||||
},
|
||||
uploadTypeList: [{
|
||||
id: 1,
|
||||
uploadTypeName: "自动采集",
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
uploadTypeName: "手动采集",
|
||||
},
|
||||
],
|
||||
pointList: [{
|
||||
lable: "8",
|
||||
value: 8,
|
||||
}, {
|
||||
lable: "16",
|
||||
value: 16,
|
||||
}, {
|
||||
lable: "32",
|
||||
value: 32,
|
||||
}, {
|
||||
lable: "64",
|
||||
value: 64,
|
||||
}, {
|
||||
lable: "128",
|
||||
value: 128,
|
||||
}, {
|
||||
lable: "256",
|
||||
value: 256,
|
||||
}],
|
||||
}
|
||||
},
|
||||
onLoad(options) {
|
||||
this.projectDetail = JSON.parse(uni.getStorageSync('projectDetail'))
|
||||
this.getEnvironmentDev(options)
|
||||
},
|
||||
|
||||
methods: {
|
||||
initDevice() {
|
||||
this.devForm.pointList = [];
|
||||
this.devForm = {
|
||||
devIndex: null,
|
||||
devName: "",
|
||||
devSn: "",
|
||||
pointNum: 8,
|
||||
pointIndex: 0,
|
||||
pointList: [],
|
||||
uploadIndex: 1,
|
||||
uploadType: 2,
|
||||
receiveTime: dayjs(new Date()).format("YYYY-MM-DD HH:mm:ss"),
|
||||
cgTemperature: "",
|
||||
rmTemperature: "",
|
||||
hjTemperature: "",
|
||||
};
|
||||
//渲染点位
|
||||
for (let i = 0; i < this.devForm.pointNum; i++) {
|
||||
let obj = {
|
||||
pointName: "",
|
||||
pointNo: i + 1,
|
||||
temperature: ""
|
||||
};
|
||||
this.devForm.pointList.push(obj);
|
||||
}
|
||||
},
|
||||
//获取设备
|
||||
getEnvironmentDev(options) {
|
||||
var that = this
|
||||
this.sendRequest({
|
||||
url: "xmgl/winterConcreteMonitorDev/selectWinterConcreteMonitorDevList",
|
||||
data: {
|
||||
projectSn: this.projectDetail.projectSn
|
||||
},
|
||||
method: "POST",
|
||||
success(res) {
|
||||
that.environmentDevList = res.result;
|
||||
console.log(options.devInfo)
|
||||
const devInfo = JSON.parse(options.devInfo);
|
||||
if (devInfo) {
|
||||
that.isAdd = false
|
||||
that.pageTitle = '历史数据详情'
|
||||
console.log(JSON.parse(options.devInfo))
|
||||
const devIndex = that.environmentDevList.findIndex(item => item.devSn == devInfo
|
||||
.devSn);
|
||||
const pointIndex = that.pointList.findIndex(item => item.value == devInfo.pointNum);
|
||||
const uploadIndex = that.uploadTypeList.findIndex(item => item.id == devInfo
|
||||
.uploadType);
|
||||
that.devForm = {
|
||||
...devInfo,
|
||||
pointList: devInfo.dataList,
|
||||
devIndex: devIndex == -1 ? null : devIndex,
|
||||
pointIndex: pointIndex == -1 ? null : pointIndex,
|
||||
uploadIndex: uploadIndex == -1 ? null : uploadIndex,
|
||||
}
|
||||
} else {
|
||||
that.initDevice()
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
deleteFn() {
|
||||
var that = this
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
content: '确定删除该数据吗?',
|
||||
success(res) {
|
||||
if (res.confirm) {
|
||||
that.sendRequest({
|
||||
url: 'xmgl/winterConcreteMonitorCurrentData/deleteByBaotou',
|
||||
data: {
|
||||
id: that.devForm.id,
|
||||
devSn: that.devForm.devSn,
|
||||
receiveTime: that.devForm.receiveTime,
|
||||
},
|
||||
method: "POST",
|
||||
success(res) {
|
||||
uni.showToast({
|
||||
title: '删除成功!'
|
||||
})
|
||||
uni.navigateBack()
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
getDevDetail(id) {
|
||||
var that = this
|
||||
this.sendRequest({
|
||||
url: "xmgl/winterConcreteMonitorDev/queryById",
|
||||
data: {
|
||||
projectSn: this.projectDetail.projectSn,
|
||||
id: id
|
||||
},
|
||||
method: "POST",
|
||||
success(res) {
|
||||
let val = res.result;
|
||||
that.devForm.devSn = val.devSn;
|
||||
const pointIndex = that.pointList.findIndex(item => item.value == val.pointNum);
|
||||
that.devForm.pointIndex = pointIndex == -1 ? null : pointIndex;
|
||||
that.devForm.pointNum = val.pointNum;
|
||||
that.devForm.pointList = val.pointList;
|
||||
}
|
||||
})
|
||||
},
|
||||
bindPickerChange: function(e) {
|
||||
this.devForm.devIndex = e.detail.value;
|
||||
this.devForm.devSn = this.environmentDevList[e.detail.value].devSn;
|
||||
this.devForm.devName = this.environmentDevList[e.detail.value].devName;
|
||||
this.getDevDetail(this.environmentDevList[e.detail.value].id);
|
||||
},
|
||||
bindPickerChange2: function(e) {
|
||||
this.devForm.uploadIndex = e.detail.value;
|
||||
this.devForm.uploadType = this.uploadTypeList[e.detail.value].id;
|
||||
},
|
||||
bindPickerChange3: function(e) {
|
||||
this.devForm.pointIndex = e.detail.value;
|
||||
this.devForm.pointNum = this.pointList[e.detail.value].value;
|
||||
this.devForm.pointList = [];
|
||||
for (let i = 0; i < this.pointList[e.detail.value].value; i++) {
|
||||
let obj = {
|
||||
pointName: "",
|
||||
pointNo: i + 1,
|
||||
temperature: ""
|
||||
};
|
||||
this.devForm.pointList.push(obj);
|
||||
}
|
||||
},
|
||||
formSubmit(e) {
|
||||
var that = this
|
||||
if (this.devForm.devIndex == null) {
|
||||
uni.showToast({
|
||||
title: '请选择设备名称',
|
||||
icon: 'none'
|
||||
})
|
||||
return false;
|
||||
}
|
||||
if (this.devForm.uploadIndex == null) {
|
||||
uni.showToast({
|
||||
title: '请选择采集类型',
|
||||
icon: 'none'
|
||||
})
|
||||
return false;
|
||||
}
|
||||
if (this.devForm.cgTemperature == null) {
|
||||
uni.showToast({
|
||||
title: '请输入出罐温度',
|
||||
icon: 'none'
|
||||
})
|
||||
return false;
|
||||
}
|
||||
if (this.devForm.rmTemperature == null) {
|
||||
uni.showToast({
|
||||
title: '请输入入模温度',
|
||||
icon: 'none'
|
||||
})
|
||||
return false;
|
||||
}
|
||||
if (this.devForm.hjTemperature == null) {
|
||||
uni.showToast({
|
||||
title: '请输入混凝土环境温度',
|
||||
icon: 'none'
|
||||
})
|
||||
return false;
|
||||
}
|
||||
let params = JSON.parse(JSON.stringify(this.devForm));
|
||||
params.projectSn = this.projectDetail.projectSn;
|
||||
params.list = params.pointList.map((item) => {
|
||||
return {
|
||||
...item,
|
||||
receiveTime: this.devForm.receiveTime,
|
||||
cgTemperature: this.devForm.cgTemperature,
|
||||
rmTemperature: this.devForm.rmTemperature,
|
||||
hjTemperature: this.devForm.hjTemperature,
|
||||
};
|
||||
});
|
||||
var url = 'xmgl/winterConcreteMonitorCurrentData/manual/edit'
|
||||
if (this.isAdd) {
|
||||
url = 'xmgl/winterConcreteMonitorCurrentData/manual/add'
|
||||
} else {
|
||||
params.id = this.devForm.id
|
||||
}
|
||||
|
||||
console.log(params, "params");
|
||||
this.sendRequest({
|
||||
url: url,
|
||||
data: params,
|
||||
method: "POST",
|
||||
success(res) {
|
||||
uni.showToast({
|
||||
title: '保存成功!'
|
||||
})
|
||||
uni.navigateBack()
|
||||
}
|
||||
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
uni-picker[disabled],
|
||||
.disabled {
|
||||
// background-color: #F5F7FA;
|
||||
// border-color: #E4E7ED;
|
||||
// color: #A1A4B0;
|
||||
opacity: 0.4;
|
||||
border-radius: 32rpx;
|
||||
}
|
||||
|
||||
:deep(.point_boxs) {
|
||||
border-top: #c1c1c1 1px solid;
|
||||
padding-top: 30rpx;
|
||||
margin-top: 10rpx;
|
||||
|
||||
.point_box {
|
||||
.uni-form-item:nth-child(1) {
|
||||
margin-right: 20rpx;
|
||||
|
||||
.uni-form-label {
|
||||
width: 80rpx !important;
|
||||
}
|
||||
|
||||
.uni-form-input {
|
||||
width: calc(100% - 80rpx) !important;
|
||||
}
|
||||
}
|
||||
|
||||
.uni-form-item:nth-child(2) {
|
||||
margin-right: 10rpx;
|
||||
|
||||
.uni-form-label {
|
||||
width: 160rpx !important;
|
||||
}
|
||||
|
||||
.uni-form-input {
|
||||
width: calc(100% - 160rpx) !important;
|
||||
}
|
||||
}
|
||||
|
||||
.uni-form-item:last-child {
|
||||
margin-left: 10rpx;
|
||||
|
||||
.uni-form-label {
|
||||
width: 100rpx !important;
|
||||
}
|
||||
|
||||
.uni-form-input {
|
||||
width: calc(100% - 100rpx) !important;
|
||||
}
|
||||
}
|
||||
|
||||
.uni-form-input {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
:deep(.uni-date__x-input) {
|
||||
height: initial;
|
||||
line-height: initial;
|
||||
// font-size: 28rpx;
|
||||
}
|
||||
|
||||
.addImgBox {
|
||||
border: 1px solid rgba(42, 43, 91, 0.1);
|
||||
background-color: #f6f5f8;
|
||||
width: 120rpx;
|
||||
height: 120rpx;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border-radius: 20rpx;
|
||||
font-size: 24rpx;
|
||||
|
||||
.icon-add {
|
||||
width: 36rpx;
|
||||
height: 36rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.uni-input {
|
||||
&.def {
|
||||
color: #372D66;
|
||||
}
|
||||
|
||||
&.text {
|
||||
color: #372D66;
|
||||
}
|
||||
}
|
||||
|
||||
.imgBox {
|
||||
width: 120rpx;
|
||||
height: 120rpx;
|
||||
display: inline-flex;
|
||||
position: relative;
|
||||
margin-right: 30rpx;
|
||||
margin-bottom: 15rpx;
|
||||
|
||||
.img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border-radius: 20rpx;
|
||||
}
|
||||
|
||||
.deleteImg {
|
||||
position: absolute;
|
||||
right: -20rpx;
|
||||
top: -20rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.checkList {
|
||||
background-color: #fff;
|
||||
|
||||
|
||||
.scroll-Y {
|
||||
height: 600rpx;
|
||||
}
|
||||
|
||||
.header {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
border-bottom: 1rpx solid #ddd;
|
||||
padding: 20rpx;
|
||||
|
||||
.title {
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.ok {
|
||||
color: $uni-color-primary;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
.checkItem {
|
||||
display: flex;
|
||||
padding: 20rpx;
|
||||
|
||||
.name {
|
||||
flex: 1;
|
||||
margin-right: 20rpx;
|
||||
}
|
||||
|
||||
.check {}
|
||||
}
|
||||
</style>
|
||||
793
pages/projectEnd/concreteWinterMonitoring/index.vue
Normal file
793
pages/projectEnd/concreteWinterMonitoring/index.vue
Normal file
@ -0,0 +1,793 @@
|
||||
<template>
|
||||
<view class="fullHeight">
|
||||
<levitatedsphere :x="100" :y="80"></levitatedsphere>
|
||||
<headers :showBack="true">
|
||||
<view class="headerName">
|
||||
混凝土冬施测温
|
||||
</view>
|
||||
</headers>
|
||||
<view class="menuBox">
|
||||
<view class="menuItem" @click="changeMenu(0)" :class="tabIndex==0?'active':''">
|
||||
实时数据
|
||||
</view>
|
||||
<view class="menuItem" @click="changeMenu(1)" :class="tabIndex==1?'active':''">
|
||||
历史数据
|
||||
</view>
|
||||
<view class="menuItem" @click="changeMenu(2)" :class="tabIndex==2?'active':''">
|
||||
报警列表
|
||||
</view>
|
||||
</view>
|
||||
<!-- 数据总览 -->
|
||||
<view class="" v-if="tabIndex==0">
|
||||
<view class="selectContent">
|
||||
<picker mode="selector" :range="environmentDevList" @change="changeDev" range-key="devName"
|
||||
:value="devIndex">
|
||||
<view class="selectVideoBox">
|
||||
<text class="videoName"
|
||||
v-if="environmentDevList.length>0">{{environmentDevList[devIndex].devName}}</text>
|
||||
<uni-icons2 class="arrow" type="arrowdown" size="15"></uni-icons2>
|
||||
</view>
|
||||
</picker>
|
||||
</view>
|
||||
<view class="blockBox">
|
||||
<view class="realTimeBox">
|
||||
<view class="item" :class="currentPointDetail.id==item.id?'active':''"
|
||||
v-for="(item,index) in pointList" :key="index" @click="changePoint(item)">
|
||||
<view class="itemInner">
|
||||
<view class="num">
|
||||
{{Array.isArray(item.list) && item.list.length > 0 ? item.list[0].temperature:'--'}}
|
||||
°C
|
||||
</view>
|
||||
<view class="label">
|
||||
{{item.pointName?item.pointName:'--'}}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="blockBox">
|
||||
<view class="chartTitle">
|
||||
{{currentPointDetail.pointName}}温度曲线 (°C)
|
||||
<text
|
||||
class="temperatureThreshold">阈值:{{currentPointDetail.temperatureThreshold?currentPointDetail.temperatureThreshold:'--'}}°C</text>
|
||||
</view>
|
||||
<view class="tabBox_main">
|
||||
<view class="tabBox">
|
||||
<text class="item" :class="timeType==1?'active':''" @click="changeTime(1)">24小时</text>
|
||||
<text class="item" :class="timeType==2?'active':''" @click="changeTime(2)">48小时</text>
|
||||
</view>
|
||||
<view class="tabBox">
|
||||
<text class="item" :class="{'active': item.id == uploadType}"
|
||||
v-for="(item, index) in uploadTypeList" :key="index"
|
||||
@click="changeUploadType(item.id)">{{ item.uploadTypeName }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<!-- <u-charts canvas-id="lineChart1" chartType="line" :opts="lineChartData1" ref="lineChart1" :cWidth="cWidth"
|
||||
:cHeight="cHeight" :legends="false" /> -->
|
||||
<qiun-data-charts type="line" :cWidth="cWidth" :cHeight="cHeight" :ontouch="true" :opts="opts"
|
||||
:chartData="columnarChart1" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="" v-if="tabIndex==1">
|
||||
<view class="selectContent selectContent2">
|
||||
<picker mode="selector" :range="environmentDevList" @change="changeDev" range-key="devName"
|
||||
:value="devIndex">
|
||||
<view class="selectVideoBox">
|
||||
<text class="videoName"
|
||||
v-if="environmentDevList.length>0">{{environmentDevList[devIndex].devName}}</text>
|
||||
<uni-icons2 class="arrow" type="arrowdown" size="15"></uni-icons2>
|
||||
</view>
|
||||
</picker>
|
||||
<picker mode="date" @change="changeDate" :value="searchDate" style="margin-left:30rpx">
|
||||
<view class="selectVideoBox">
|
||||
<text class="videoName">{{searchDate}}</text>
|
||||
<uni-icons2 class="arrow" type="arrowdown" size="15"></uni-icons2>
|
||||
</view>
|
||||
</picker>
|
||||
</view>
|
||||
<view class="blockBox" @click="goAdd(item)" v-for="(item,index) in historyList" :key="index">
|
||||
<view class="alarmItem">
|
||||
<text class="label">设备名称:</text><text class="value">{{item.devName}}</text>
|
||||
</view>
|
||||
<view class="alarmItem">
|
||||
<text class="label">设备编号:</text><text class="value">{{item.devSn}}</text>
|
||||
</view>
|
||||
<view class="alarmItem">
|
||||
<text class="label">采集类型:</text><text
|
||||
class="value">{{ item.uploadType ? uploadTypeList[item.uploadType - 1].uploadTypeName : '' }}</text>
|
||||
</view>
|
||||
<!-- <text class="alarmType" :class="item.alarmType=='报警'?'redAlarmType':''">{{item.alarmType}}</text> -->
|
||||
<!-- <view class="alarmItem">
|
||||
<text class="label">报警类型:</text><text class="value">{{item.alarmType}}</text>
|
||||
</view> -->
|
||||
<view class="alarmItem">
|
||||
<text class="label">时间:</text><text class="value">{{item.receiveTime}}</text>
|
||||
</view>
|
||||
<view class="alarmItem">
|
||||
<text class="label">出罐温度:</text><text class="value">{{item.cgTemperature}}</text>
|
||||
</view>
|
||||
<view class="alarmItem">
|
||||
<text class="label">入模温度:</text><text class="value">{{item.rmTemperature}}</text>
|
||||
</view>
|
||||
<view class="alarmItem">
|
||||
<text class="label">混凝土环境温度:</text><text class="value">{{item.hjTemperature}}</text>
|
||||
</view>
|
||||
<view class="alarmItem" style="display: flex;">
|
||||
<text class="label">混凝土表面温度:</text>
|
||||
<text class="value data_point">
|
||||
<template v-for="(ele, index) in item.dataList">
|
||||
<view v-if="ele.temperature">{{ele.pointNo}}:{{ ele.pointName }}({{ele.temperature}}℃)
|
||||
</view>
|
||||
</template>
|
||||
</text>
|
||||
</view>
|
||||
</view>
|
||||
<!-- <view class="placeholderBox" v-if="historyList.length==0">
|
||||
<image src="/static/noData.png" mode="" class="noDataImg"></image>
|
||||
<view class="text">
|
||||
暂无报警
|
||||
</view>
|
||||
</view> -->
|
||||
<view class="no_data1" v-if="historyList.length==0">
|
||||
<image src="/static/bthgIcon/noData1.png"></image>
|
||||
</view>
|
||||
<image
|
||||
v-if="checkBtnPermission({key: 'add', menuPath: '/project/concreteWinterMonitoring/devManageSecond'})"
|
||||
src="/static/addImg.png" class="addImg" @click="goAdd('')"></image>
|
||||
</view>
|
||||
<view class="" v-if="tabIndex==2">
|
||||
<view class="selectContent selectContent2">
|
||||
<picker mode="selector" :range="environmentDevList" @change="changeDev" range-key="devName"
|
||||
:value="devIndex">
|
||||
<view class="selectVideoBox">
|
||||
<text class="videoName"
|
||||
v-if="environmentDevList.length>0">{{environmentDevList[devIndex].devName}}</text>
|
||||
<uni-icons2 class="arrow" type="arrowdown" size="15"></uni-icons2>
|
||||
</view>
|
||||
</picker>
|
||||
<picker mode="date" @change="changeDate" :value="searchDate" style="margin-left:30rpx">
|
||||
<view class="selectVideoBox">
|
||||
<text class="videoName">{{searchDate}}</text>
|
||||
<uni-icons2 class="arrow" type="arrowdown" size="15"></uni-icons2>
|
||||
</view>
|
||||
</picker>
|
||||
</view>
|
||||
<view class="blockBox" v-for="(item,index) in alarmList" :key="index">
|
||||
<view class="alarmItem">
|
||||
<text class="label">设备名称:</text><text class="value">{{item.devName}}</text>
|
||||
</view>
|
||||
<view class="alarmItem">
|
||||
<text class="label">监测点名称:</text><text class="value">{{item.pointName}}</text>
|
||||
</view>
|
||||
<view class="alarmItem">
|
||||
<text class="label">报警值:</text><text class="value">{{item.alarmValue}}°C</text>
|
||||
</view>
|
||||
<text class="alarmType" :class="item.alarmType=='报警'?'redAlarmType':''">{{item.alarmType}}</text>
|
||||
<!-- <view class="alarmItem">
|
||||
<text class="label">报警类型:</text><text class="value">{{item.alarmType}}</text>
|
||||
</view> -->
|
||||
<view class="alarmItem">
|
||||
<text class="label">报警等级:</text><text class="value">{{alarmLevelArr[item.alarmLevel-1]}}</text>
|
||||
</view>
|
||||
<view class="alarmItem">
|
||||
<text class="label">报警时间:</text><text class="value">{{item.addTime}}</text>
|
||||
</view>
|
||||
</view>
|
||||
<!-- <view class="placeholderBox" v-if="alarmList.length==0">
|
||||
<image src="/static/noData.png" mode="" class="noDataImg"></image>
|
||||
<view class="text">
|
||||
暂无报警
|
||||
</view>
|
||||
</view> -->
|
||||
<view class="no_data1" v-if="alarmList.length==0">
|
||||
<image src="/static/bthgIcon/noData1.png"></image>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import uCharts from '@/components/u-charts/component.vue';
|
||||
import headers from "@/components/headers/headers.vue"
|
||||
import {
|
||||
GetDateStr
|
||||
} from "@/static/js/util.js"
|
||||
import dayjs from 'dayjs';
|
||||
export default {
|
||||
components: {
|
||||
uCharts
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
historyList: [],
|
||||
concreteMonitorDevList: [],
|
||||
projectDetail: '',
|
||||
environmentDevList: [],
|
||||
pointList: [],
|
||||
currentPointDetail: {},
|
||||
devIndex: 0,
|
||||
realTimeData: {
|
||||
loading: '--',
|
||||
biasRatio: '--',
|
||||
biasAngle: '--',
|
||||
heightRatio: '--',
|
||||
height: '--',
|
||||
loadRatio: '--',
|
||||
peopleNumber: '--',
|
||||
loading: '--',
|
||||
},
|
||||
alarmList: [],
|
||||
dustData_24: [],
|
||||
currentDevDetail: {},
|
||||
searchDate: '',
|
||||
lineChartData1: {
|
||||
categories: [],
|
||||
series: [{
|
||||
name: "温度",
|
||||
data: []
|
||||
}]
|
||||
},
|
||||
columnarChart1: {
|
||||
categories: [],
|
||||
// textDataX: [],
|
||||
series: [{
|
||||
name: "温度",
|
||||
data: []
|
||||
}]
|
||||
},
|
||||
opts: {},
|
||||
tabIndex: 0,
|
||||
onlineDevNum: 0,
|
||||
timeType: 1,
|
||||
alarmLevelArr: ['紧急告警', '重要告警', '次要告警', '提示告警'],
|
||||
cWidth: 315,
|
||||
cHeight: 200,
|
||||
uploadType: "",
|
||||
uploadTypeList: [{
|
||||
id: 1,
|
||||
uploadTypeName: '自动采集'
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
uploadTypeName: '手动采集'
|
||||
}
|
||||
],
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
this.projectDetail = JSON.parse(uni.getStorageSync('projectDetail'))
|
||||
this.searchDate = GetDateStr(0, '-')
|
||||
this.getEnvironmentDev()
|
||||
// this.getConcreteMonitorDevList();
|
||||
const that = this;
|
||||
uni.getSystemInfo({
|
||||
success: function(res) {
|
||||
console.log(res.windowWidth);
|
||||
console.log(11111, res.windowHeight);
|
||||
that.cWidth = res.windowWidth - uni.upx2px(60) - uni.upx2px(60);
|
||||
that.cHeight = uni.upx2px(400)
|
||||
}
|
||||
});
|
||||
},
|
||||
onShow() {
|
||||
this.loadData()
|
||||
},
|
||||
methods: {
|
||||
goAdd(row) {
|
||||
uni.navigateTo({
|
||||
url: './addConcreteMonit?devInfo=' + JSON.stringify(row)
|
||||
})
|
||||
},
|
||||
changeUploadType(type) {
|
||||
this.uploadType = type;
|
||||
this.getDustData()
|
||||
},
|
||||
changeTime(type) {
|
||||
this.timeType = type;
|
||||
this.getDustData()
|
||||
},
|
||||
changePoint(item) {
|
||||
this.currentPointDetail = item
|
||||
this.getDustData()
|
||||
},
|
||||
changeDate(e) {
|
||||
console.log(e)
|
||||
this.searchDate = e.detail.value
|
||||
this.loadData()
|
||||
},
|
||||
changeMenu(index) {
|
||||
this.tabIndex = index;
|
||||
this.loadData()
|
||||
},
|
||||
loadData() {
|
||||
if (this.environmentDevList.length > 0) {
|
||||
switch (this.tabIndex) {
|
||||
case 0:
|
||||
this.getRealTimeData()
|
||||
break;
|
||||
case 1:
|
||||
this.getHistoryData()
|
||||
break;
|
||||
case 2:
|
||||
this.getAlarmData()
|
||||
break;
|
||||
}
|
||||
}
|
||||
},
|
||||
changeDev(e) {
|
||||
console.log(e)
|
||||
this.devIndex = e.detail.value
|
||||
this.currentDevDetail = this.environmentDevList[this.devIndex]
|
||||
this.loadData()
|
||||
},
|
||||
// changeConcreteMonitorDev(e) {
|
||||
// console.log(e)
|
||||
// this.devIndex = e.detail.value
|
||||
// this.currentDevDetail = this.concreteMonitorDevList[this.devIndex]
|
||||
// this.loadData()
|
||||
// },
|
||||
//获取温度曲线
|
||||
getDustData() {
|
||||
var that = this
|
||||
this.sendRequest({
|
||||
url: "xmgl/winterConcreteMonitorCurrentData/getTodayWinterConcreteMonitorCurrentDataList",
|
||||
data: {
|
||||
pointNo: this.currentPointDetail.pointNo,
|
||||
devSn: this.currentDevDetail.devSn,
|
||||
type: this.timeType,
|
||||
uploadType: this.uploadType
|
||||
},
|
||||
method: "POST",
|
||||
success(res) {
|
||||
var DATA = res.result
|
||||
var xdata = [],
|
||||
ydata1 = [];
|
||||
DATA.forEach(element => {
|
||||
// .substring(12)
|
||||
xdata.push(element.receiveTime.substring(12))
|
||||
ydata1.push(element)
|
||||
})
|
||||
// that.lineChartData1.categories = xdata
|
||||
// that.lineChartData1.series = [{
|
||||
// name: "自动采集",
|
||||
// color: "#00ff7f",
|
||||
// data: [1,2,3,4,5]
|
||||
// },{
|
||||
// name: "手动采集",
|
||||
// data: [5,4,3,2,1]
|
||||
// }]
|
||||
// that.$refs.lineChart1.changeData('lineChart1', that.lineChartData1)
|
||||
that.opts = {
|
||||
color: [
|
||||
"#5181F6",
|
||||
"#00DBB6",
|
||||
"#F67F51",
|
||||
"#FF515A",
|
||||
"#8B5CFF",
|
||||
"#00CA69",
|
||||
],
|
||||
padding: [uni.upx2px(30), 0, uni.upx2px(20), uni.upx2px(20)],
|
||||
enableScroll: true,
|
||||
animation: false,
|
||||
duration: 0,
|
||||
width: that.cWidth,
|
||||
height: that.cHeight,
|
||||
fontSize: uni.upx2px(22),
|
||||
legend: {
|
||||
show: true,
|
||||
},
|
||||
xAxis: {
|
||||
type: "grid",
|
||||
disableGrid: true,
|
||||
itemCount: 4,
|
||||
labelCount: xdata.length,
|
||||
fontSize: uni.upx2px(22),
|
||||
lineHeight: uni.upx2px(40),
|
||||
format: "Xdemo",
|
||||
// scrollShow: true,
|
||||
},
|
||||
yAxis: {
|
||||
format: (val) => {
|
||||
console.log(111, val);
|
||||
if ((val + "").indexOf(".") != -1) {
|
||||
return val.toFixed(0); //保留小数后1位
|
||||
} else {
|
||||
return val;
|
||||
}
|
||||
},
|
||||
},
|
||||
extra: {
|
||||
line: {
|
||||
type: "straight",
|
||||
width: 2,
|
||||
activeType: "hollow"
|
||||
}
|
||||
},
|
||||
};
|
||||
console.log(xdata)
|
||||
let seriesList = [];
|
||||
if (that.uploadType == 1) {
|
||||
seriesList = [{
|
||||
name: "自动采集",
|
||||
data: ydata1.filter(item => item.uploadType == 1).map(item => item
|
||||
.temperature),
|
||||
}];
|
||||
} else if (that.uploadType == 2) {
|
||||
seriesList = [{
|
||||
name: "手动采集",
|
||||
data: ydata1.filter(item => item.uploadType == 2).map(item => item
|
||||
.temperature),
|
||||
}];
|
||||
} else {
|
||||
seriesList = [{
|
||||
name: "自动采集",
|
||||
data: ydata1.filter(item => item.uploadType == 1).map(item => item
|
||||
.temperature),
|
||||
}, {
|
||||
name: "手动采集",
|
||||
data: ydata1.filter(item => item.uploadType == 2).map(item => item
|
||||
.temperature),
|
||||
}, ];
|
||||
}
|
||||
// console.log(seriesList)
|
||||
that.columnarChart1 = {
|
||||
// textDataX: xdata,
|
||||
categories: xdata,
|
||||
series: seriesList,
|
||||
};
|
||||
}
|
||||
})
|
||||
},
|
||||
// 获取历史数据列表
|
||||
getHistoryData() {
|
||||
var that = this
|
||||
this.sendRequest({
|
||||
url: "xmgl/winterConcreteMonitorCurrentData/page",
|
||||
data: {
|
||||
projectSn: this.projectDetail.projectSn,
|
||||
pageNo: 1,
|
||||
pageSize: 100,
|
||||
receiveTime_begin: dayjs(this.searchDate).format('YYYY-MM-DD 00:00:00'),
|
||||
receiveTime_end: dayjs(this.searchDate).format('YYYY-MM-DD 23:59:59'),
|
||||
|
||||
devSn: this.currentDevDetail.devSn
|
||||
},
|
||||
method: "GET",
|
||||
success(res) {
|
||||
that.historyList = res.result.records
|
||||
}
|
||||
})
|
||||
},
|
||||
//获取报警列表
|
||||
getAlarmData() {
|
||||
var that = this
|
||||
this.sendRequest({
|
||||
url: "xmgl/winterConcreteMonitorAlarm/list",
|
||||
data: {
|
||||
projectSn: this.projectDetail.projectSn,
|
||||
pageNo: 1,
|
||||
pageSize: 100,
|
||||
startTime: this.searchDate,
|
||||
endTime: this.searchDate,
|
||||
devSn: this.currentDevDetail.devSn
|
||||
},
|
||||
method: "POST",
|
||||
success(res) {
|
||||
that.alarmList = res.result.records
|
||||
}
|
||||
})
|
||||
},
|
||||
getConcreteMonitorDevList() {
|
||||
var that = this
|
||||
this.sendRequest({
|
||||
url: "xmgl/winterConcreteMonitorDev/list",
|
||||
data: {
|
||||
projectSn: this.projectDetail.projectSn,
|
||||
pageNo: 1,
|
||||
pageSize: -1,
|
||||
},
|
||||
method: "POST",
|
||||
success(res) {
|
||||
that.concreteMonitorDevList = res.result.records;
|
||||
}
|
||||
})
|
||||
},
|
||||
//获取设备
|
||||
getEnvironmentDev() {
|
||||
var that = this
|
||||
this.sendRequest({
|
||||
url: "xmgl/winterConcreteMonitorDev/selectWinterConcreteMonitorDevList",
|
||||
data: {
|
||||
projectSn: this.projectDetail.projectSn
|
||||
},
|
||||
method: "POST",
|
||||
success(res) {
|
||||
that.environmentDevList = res.result
|
||||
if (res.result.length > 0) {
|
||||
// for (var i = 0; i < res.result.length; i++) {
|
||||
// if(res.result[i].isClosed==1){
|
||||
// that.onlineDevNum+=1
|
||||
// }
|
||||
// }
|
||||
that.currentDevDetail = res.result[0]
|
||||
that.getRealTimeData()
|
||||
}
|
||||
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
//获取实时数据
|
||||
getRealTimeData() {
|
||||
var that = this
|
||||
this.sendRequest({
|
||||
url: "xmgl/winterConcreteMonitorCurrentData/getNewestWinterConcreteMonitorCurrentData",
|
||||
data: {
|
||||
// projectSn: this.projectDetail.projectSn,
|
||||
devSn: this.currentDevDetail.devSn
|
||||
},
|
||||
method: "POST",
|
||||
success(res) {
|
||||
that.pointList = res.result
|
||||
if (res.result.length > 0) {
|
||||
that.currentPointDetail = res.result[0]
|
||||
that.getDustData()
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.addImg {
|
||||
position: fixed;
|
||||
bottom: 30rpx;
|
||||
right: 30rpx;
|
||||
width: 64rpx;
|
||||
height: 64rpx;
|
||||
}
|
||||
|
||||
.menuBox {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
height: 36px;
|
||||
font-size: 30rpx;
|
||||
background-color: white;
|
||||
margin-top: -1px;
|
||||
position: relative;
|
||||
z-index: 999;
|
||||
border-bottom: 1px solid rgba(194, 194, 194, 0.2);
|
||||
|
||||
.menuItem {
|
||||
flex: 1;
|
||||
text-align: center;
|
||||
|
||||
&.active {
|
||||
color: rgba(43, 141, 243, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.blockBox {
|
||||
box-shadow: 0 4px 24px 0px rgba(212, 220, 236, 0.69);
|
||||
border-radius: 16rpx;
|
||||
margin: 30rpx;
|
||||
padding: 30rpx;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.numContent {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.numBox {
|
||||
width: 130px;
|
||||
height: 100rpx;
|
||||
border-radius: 16rpx;
|
||||
background-image: linear-gradient(rgba(134, 145, 252, 1), rgba(16, 97, 254, 1));
|
||||
font-size: 24rpx;
|
||||
color: white;
|
||||
text-align: center;
|
||||
display: inline-block;
|
||||
|
||||
.num {
|
||||
font-size: 30rpx;
|
||||
margin: 10rpx 0 0px;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.numBox1 {
|
||||
margin-right: 20rpx;
|
||||
}
|
||||
|
||||
.selectContent {
|
||||
text-align: center;
|
||||
margin-top: 30rpx;
|
||||
}
|
||||
|
||||
.selectVideoBox {
|
||||
border: 1px solid rgba(42, 43, 91, 0.2);
|
||||
border-radius: 36rpx;
|
||||
height: 70rpx;
|
||||
font-size: 30rpx;
|
||||
|
||||
display: inline-block;
|
||||
|
||||
.videoName {
|
||||
padding: 0 24rpx 0 30rpx;
|
||||
// border-right: 1px solid rgba(42, 43, 91, 0.2);
|
||||
line-height: 70rpx;
|
||||
height: 70rpx;
|
||||
}
|
||||
|
||||
.arrow {
|
||||
padding: 0 24rpx 0 4rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.arrow {
|
||||
margin-left: 20rpx;
|
||||
}
|
||||
|
||||
.realTimeBox {
|
||||
overflow: hidden;
|
||||
|
||||
.item {
|
||||
float: left;
|
||||
width: 33.33%;
|
||||
|
||||
.itemInner {
|
||||
// box-shadow: 0 4px 24px 0px rgba(212, 220, 236, 0.69);
|
||||
border: 1px solid rgba(220, 220, 220, 0.3);
|
||||
margin: 3.10rpx;
|
||||
font-size: 24rpx;
|
||||
text-align: center;
|
||||
padding: 7px 0;
|
||||
}
|
||||
|
||||
.num {
|
||||
font-size: 30rpx;
|
||||
color: rgba(43, 141, 243, 1);
|
||||
}
|
||||
|
||||
.label {
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
}
|
||||
|
||||
.active .itemInner {
|
||||
border-color: rgba(43, 141, 243, 0.4);
|
||||
}
|
||||
}
|
||||
|
||||
.alarmIcon {
|
||||
width: 40rpx;
|
||||
height: 40rpx;
|
||||
}
|
||||
|
||||
.switchIcon {
|
||||
width: 100rpx;
|
||||
height: 29px;
|
||||
}
|
||||
|
||||
.blockTitle {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.tableBox {
|
||||
font-size: 28rpx;
|
||||
width: 100%;
|
||||
|
||||
.tableHead {
|
||||
font-weight: bold;
|
||||
display: flex;
|
||||
border-bottom: 1px solid rgba(42, 43, 91, 0.1);
|
||||
|
||||
.item {
|
||||
flex: 1;
|
||||
padding: 0 0 20rpx;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
||||
.tableBody {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
.item {
|
||||
flex: 1;
|
||||
text-align: center;
|
||||
justify-content: center;
|
||||
padding: 20rpx 0 0px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.chartTitle {
|
||||
font-size: 28rpx;
|
||||
font-weight: 500;
|
||||
margin-bottom: 30rpx;
|
||||
}
|
||||
|
||||
.selectContent2 {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.alarmItem {
|
||||
font-size: 28rpx;
|
||||
|
||||
.label {
|
||||
opacity: 0.6;
|
||||
}
|
||||
}
|
||||
|
||||
.profile_photo {
|
||||
width: 60rpx;
|
||||
height: 60rpx;
|
||||
}
|
||||
|
||||
.moudleTitle2 {
|
||||
font-size: 20rpx;
|
||||
opacity: 0.69;
|
||||
font-weight: 400;
|
||||
margin: 30rpx 0;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.videoBox {
|
||||
width: calc(100% - 60rpx);
|
||||
height: 225px;
|
||||
margin: 0px 30rpx;
|
||||
border-radius: 20rpx;
|
||||
}
|
||||
|
||||
.temperatureThreshold {
|
||||
float: right;
|
||||
color: #f03f3f;
|
||||
}
|
||||
|
||||
.tabBox_main {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.tabBox {
|
||||
border: 1px solid rgba(220, 220, 220, 0.3);
|
||||
display: inline-block;
|
||||
margin-bottom: 20rpx;
|
||||
|
||||
.item {
|
||||
padding: 3px 6px;
|
||||
font-size: 26rpx;
|
||||
}
|
||||
|
||||
.active {
|
||||
background-color: #2b8df3;
|
||||
color: white;
|
||||
}
|
||||
}
|
||||
|
||||
.alarmType {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 30rpx;
|
||||
font-size: 24rpx;
|
||||
padding: 4rpx 6px;
|
||||
border-bottom-left-radius: 6px;
|
||||
border-bottom-right-radius: 6px;
|
||||
background-color: #ef901a;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.redAlarmType {
|
||||
background-color: #fd4c4c;
|
||||
}
|
||||
</style>
|
||||
@ -379,6 +379,11 @@
|
||||
url: '../concreteMonitoring/index'
|
||||
})
|
||||
break
|
||||
case 'concreteWinterMonitoring':
|
||||
uni.navigateTo({
|
||||
url: '../concreteWinterMonitoring/index'
|
||||
})
|
||||
break
|
||||
case 'safeManage':
|
||||
// uni.navigateTo({
|
||||
// url: '../safeManage/index'
|
||||
|
||||
@ -258,6 +258,11 @@
|
||||
url: '../concreteMonitoring/index'
|
||||
})
|
||||
break
|
||||
case 'concreteWinterMonitoring':
|
||||
uni.navigateTo({
|
||||
url: '../concreteWinterMonitoring/index'
|
||||
})
|
||||
break
|
||||
case 'safeManage':
|
||||
// uni.navigateTo({
|
||||
// url: '../safeManage/index'
|
||||
|
||||
@ -660,6 +660,11 @@
|
||||
url: '../concreteMonitoring/index'
|
||||
})
|
||||
break
|
||||
case 'concreteWinterMonitoring':
|
||||
uni.navigateTo({
|
||||
url: '../concreteWinterMonitoring/index'
|
||||
})
|
||||
break
|
||||
case 'safeManage':
|
||||
// uni.navigateTo({
|
||||
// url: '../safeManage/index'
|
||||
|
||||
@ -966,6 +966,11 @@
|
||||
url: '../concreteMonitoring/index'
|
||||
})
|
||||
break
|
||||
case 'concreteWinterMonitoring':
|
||||
uni.navigateTo({
|
||||
url: '../concreteWinterMonitoring/index'
|
||||
})
|
||||
break
|
||||
case 'safeManage':
|
||||
// uni.navigateTo({
|
||||
// url: '../safeManage/index'
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user