feat():首页开发

master
李神峰 2025-12-18 17:53:20 +08:00
parent 56a9d1b312
commit 955ac1d27f
58 changed files with 1062 additions and 821 deletions

View File

@ -19,7 +19,7 @@ $http.beforeRequest = function (options) {
'Authorization': 'Bearer ' + uni.getStorageSync('Gs-Token'),
loginType: 1
}
// if (options.url.indexOf('/gunshiApp/tsg/visitMenuLog/insert') !== -1) {
// if (options.url.indexOf('/gunshiApp/hsz/visitMenuLog/insert') !== -1) {
// options.header = {
// ...options.header,
// loginType: 1
@ -45,7 +45,7 @@ uni.$showMsg = function (title, duration = 1500) {
icon: 'none'
})
}
uni.$stcd = '61610700'
uni.$stcd = '232'
Vue.config.productionTip = false
App.mpType = 'app'

View File

@ -1,8 +1,8 @@
{
"name" : "檀树岗水库",
"appid" : "__UNI__33ED56F",
"name" : "黑石咀水库",
"appid" : "__UNI__DB7153B",
"description" : "",
"versionName" : "1.0.5",
"versionName" : "1.0.0",
"versionCode" : 1,
"transformPx" : false,
"app-plus" : {
@ -29,7 +29,7 @@
/* */
"android" : {
/* android */
"packagename" : "com.gunshi.tsg",
"packagename" : "com.gunshi.hsz",
"permissions" : [
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",

2
package-lock.json generated
View File

@ -1,5 +1,5 @@
{
"name": "tsg-app",
"name": "hsz-app",
"version": "1.0.1",
"lockfileVersion": 2,
"requires": true,

View File

@ -200,6 +200,18 @@
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/yj/detail/skDetail",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/yj/detail/riverDetail",
"style": {
"navigationBarTitleText": ""
}
},
{
"path": "pages/yj/detail/byTable",
@ -305,4 +317,4 @@
"background": "#efeff4"
}
}
}
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -71,15 +71,10 @@ const etm = moment().add(1, 'hour').set({
second: 0
}).format("YYYY-MM-DD HH:mm");
const typeName = {
'ZB0+130': '1',
'ZB0+132': '2',
'ZB0+250': '3',
'ZB0+252': '4',
'ZB0+370': '5',
'ZB0+372': '6',
'FB0+010': '7',
'FB0+030': '8',
}
'K0+070': '1',
'K0+110': '2',
'K0+145': '3',
}
export default {
data() {
@ -154,10 +149,9 @@ export default {
handler(newVal, oldVal) {
if (newVal) {
let name = this.array.find(item => item.profileCode == newVal).profileName;
this.dbType = (name == "ZB0+130" || name == "ZB0+132") ? "1" :
(name == "ZB0+250" || name == "ZB0+252") ? "2" :
(name == "ZB0+370" || name == "ZB0+372") ? "3" :
(name == "FB0+010" || name == "FB0+030") ? '4' : '';
this.dbType =(name == "K0+070" ) ? "1" :
(name == "K0+110") ? "2" :
(name == "K0+145") ? "3" : '1';
this.type1 = typeName[name];
this.getDmTree();
}
@ -261,12 +255,11 @@ export default {
const {
data
} = await uni.$http.post(
`/gunshiApp/tsg/attDamProfile/list`,)
`/gunshiApp/hsz/attDamProfile/list`,)
if (data.code == 200) {
uni.hideLoading();
const filterData = data.data.filter(item => (item?.profileName?.split('+')[0] == 'ZB0' || item?.profileName?.split('+')[0] == 'FB0'))
console.log("filterData", filterData);
const sortedData = filterData.sort((a, b) => {
// const filterData = data.data.filter(item => (item?.profileName?.split('+')[0] == 'ZB0' || item?.profileName?.split('+')[0] == 'FB0'))
const sortedData = data.data.sort((a, b) => {
// abZB0
const isAZB0 = a.profileCode.startsWith('ZB0');
const isBZB0 = b.profileCode.startsWith('ZB0');
@ -277,6 +270,8 @@ export default {
return 0; //
});
this.array = sortedData
console.log("this.array",this.array);
this.profileCode = sortedData[0].profileCode;
}
} catch (e) {
@ -294,7 +289,7 @@ export default {
const {
data
} = await uni.$http.post(
"/gunshiApp/tsg/osmoticPressR/infiltra/line", {
"/gunshiApp/hsz/osmoticPressR/infiltra/line", {
stationCodes: this.trData,
dateTimeRangeSo: {
start: moment(this.stm).format("YYYY-MM-DD HH:mm:00"),
@ -347,7 +342,7 @@ export default {
try {
const {
data
} = await uni.$http.post("/gunshiApp/tsg/attDamProfile/tree")
} = await uni.$http.post("/gunshiApp/hsz/attDamProfile/tree")
if (data.code == 200) {
console.log("data", data);

View File

@ -1,31 +1,33 @@
<template>
<div class="table_div">
<div class="table_cur">
<table style="display:block;width:700px;overflow-x:auto">
<tr>
<th v-for="(cols,i) in columns" :key="i" :style="getStyle(cols)">
{{ cols.title }}
</th>
</tr>
<!-- style="max-height: 480px; overflow-y: auto" -->
<div class="scroll-table">
<tr v-for="(item, index) in data" :key="index">
<td style="width:100px;text-align:center">{{ index + 1 }}</td>
<td style="width:200px;text-align:center">{{ item.tm }}</td>
<td style="width:100px;text-align:center">{{ item.rz }}</td>
<td v-for="(col,i) in newCol" :key="i" style="width:100px;text-align:center;">
{{item[col.key] }}
</td>
<td style="width:100px;">
{{item.status == 1 ? "正常" : rec == 0 ? "异常" : ''}}
</td>
</tr>
</div>
<div style="height:180px"></div>
</table>
</div>
</div>
<template>
<div class="table_div">
<div class="table_cur">
<div class="scroll-table">
<table class="aqjc-table">
<thead>
<tr>
<th v-for="(cols,i) in columns" :key="i" :style="getStyle(cols)">
{{ cols.title }}
</th>
</tr>
</thead>
<tbody>
<tr v-for="(item, index) in data" :key="index">
<td style="width:100px;text-align:center">{{ index + 1 }}</td>
<td style="width:200px;text-align:center">{{ item.tm }}</td>
<td style="width:100px;text-align:center">{{ item.rz}}</td>
<td v-for="(col,i) in newCol" :key="i" style="width:100px;text-align:center;">
{{ item[col.key] }}
</td>
<td style="width:100px;text-align:center">
{{ item.status == 1 ? "正常" : item.status == 0 ? "异常" : '' }}
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</template>
@ -84,16 +86,18 @@
border-collapse: collapse;
font-size: 14px;
}
.scroll-table{
.scroll-table{
height: calc(100vh - 180px);
overflow-y: auto;
overflow-x: auto;
width:'100%'
width: 100%
}
.table_cur tr {
display: flex;
.aqjc-table {
table-layout: fixed;
width: max-content;
}
.aqjc-table tr {
line-height: 90rpx;
// overflow-x: auto;
}
.table_cur th {
height: 85rpx;
@ -118,4 +122,4 @@
text-align: center !important;
}
/*table样式 end*/
</style>
</style>

View File

@ -1,18 +1,18 @@
import { imageUrl060,imageUrl090,rule } from './dataUrl'
import imageUrl130 from './dataUrl1/zb130';
import imageUrl250 from './dataUrl1/zb250';
import imageUrl370 from './dataUrl1/zb370';
import imageUrl010 from './dataUrl1/fb010';
import { rule } from './dataUrl'
import imageUrl070 from './dataUrl/zb070.js';
import imageUrl110 from './dataUrl/zb110.js';
import imageUrl145 from './dataUrl/zb145.js';
// import imageUrl010 from './dataUrl1/fb010';
import pieMonth from "./pieMonth";
export default function jrxOptions(data = {}, type = "1", typeName = '1') {
const yMin = type == "3" ? 70 : type == "2" ? 67 :
type == '1' ? 58 : 99;
const yMax = type == "3" ? 129 : type == "2" ? 117
: type == "1" ? 118 : 116;
const yMin = type == "3" ? 69 : type == "2" ? 54 :
type == '1' ? 54 : 70;
const yMax = type == "3" ? 105.5 : type == "2" ? 106
: type == "1" ? 106 : 150;
const type1 = ["UPD1", "UPD4", "UPD7", "UPD16"];
const type2 = ["UPD10", "UPD13"];
const type3 = ["UPD2", "UPD5", "UPD8", "UPD17"];
@ -34,12 +34,10 @@ export default function jrxOptions(data = {}, type = "1", typeName = '1') {
// 字体颜色
const textColor = '#666'
// const imageUrl370 = `${process.env.PUBLIC_URL}/assets/images/zb370.png `
// const imageUrl250 = `${process.env.PUBLIC_URL}/assets/images/zb250.png `
// const imageUrl130 = `${process.env.PUBLIC_URL}/assets/images/zb130.png `
const imageUrl = type == "1" ? imageUrl130 :
type == "2" ? imageUrl250 :
type == "3" ? imageUrl370 : imageUrl010;
const imageUrl = type == "1" ? imageUrl070 :
type == "2" ? imageUrl110 :
type == "3" ? imageUrl145 : imageUrl145;
// const rule = `${process.env.PUBLIC_URL}/assets/images/ruler.png `
// rz 是最上面那条线 rz1是那条贴近坝面的线 xValue求解的是最上面那条线的末尾横坐标

View File

@ -157,7 +157,7 @@ export default {
const endDate1 = moment(this.etm).format("YYYY-MM-DD");
uni.$http
.get(
`/gunshiApp/tsg/resBrief/getResBriefList?startDate=${startDate1}&endDate=${endDate1}`
`/gunshiApp/hsz/resBrief/getResBriefList?startDate=${startDate1}&endDate=${endDate1}`
)
.then((res) => {
if (res.data.code == 200) {

View File

@ -79,7 +79,7 @@
</view>
<view class="textContent">
<span style="margin-left: 30px;">{{briefTime}}</span>8过去24小时最大累计降雨量
<span class="xqjb-redColor" >{{resBriefObj.drp24Sum}}mm</span>(<span class="xqjb-redColor">{{resBriefObj.sumStnm}}</span>)最大点雨量
<span class="xqjb-redColor" >{{resBriefObj.drp24Sum}}mm</span>(<span class="xqjb-redColor">{{resBriefObj.sumStnm}}</span>)最大(1h)点雨量
<span class="xqjb-redColor">{{resBriefObj.drp24Max}}mm</span>(<span class="xqjb-redColor">{{resBriefObj.maxStnm}}{{raimTime}}</span>)当前水库水位
<span class="xqjb-redColor">{{resBriefObj.rz8}}m</span>汛限水位(<span>{{resBriefObj.flLowLimLev}}m</span>)较昨日
<span class="xqjb-redColor">{{increaseWater}}m</span>库容达
@ -221,7 +221,7 @@ export default {
},
methods: {
getYlzList() {
uni.$http.post("/gunshiApp/tsg/stPptnRReal/list").then((res) => {
uni.$http.post("/gunshiApp/hsz/stPptnRReal/list").then((res) => {
if (res.data.code == 200) {
this.Ylzlist = res.data.data;
}
@ -229,7 +229,7 @@ export default {
},
//
getresBriefList() {
uni.$http.get(`/gunshiApp/tsg/resBrief/getResBriefList?startDate=${startDate}&endDate=${endDate}`).then((res) => {
uni.$http.get(`/gunshiApp/hsz/resBrief/getResBriefList?startDate=${startDate}&endDate=${endDate}`).then((res) => {
if (res.data.code == 200) {
this.resBriefObj = res.data.data[0];
}
@ -237,7 +237,7 @@ export default {
},
getList() {
uni.$http
.post("/gunshiApp/tsg/messageCenter/list", {
.post("/gunshiApp/hsz/messageCenter/list", {
start: "",
end: "",
})
@ -249,7 +249,7 @@ export default {
},
getSwList() {
uni.$http
.post("/gunshiApp/tsg/reservoir/water/listV2", {
.post("/gunshiApp/hsz/reservoir/water/listV2", {
sources: ["SW", "SK"],
})
.then((res) => {
@ -275,7 +275,7 @@ export default {
menu2: menu2 || "首页",
};
const { data } = await uni.$http.post(
"/gunshiApp/tsg/visitMenuLog/insert",
"/gunshiApp/hsz/visitMenuLog/insert",
params
);
} catch (error) {}
@ -303,7 +303,7 @@ export default {
};
try {
const res = await uni.$http.post(
"/gunshiApp/tsg/inspect/detail/page",
"/gunshiApp/hsz/inspect/detail/page",
params
);
if (res.data.data.records?.length > 0) {
@ -321,7 +321,7 @@ export default {
};
try {
const res = await uni.$http.post(
"/gunshiApp/tsg/stQxWarnR/home/warn",
"/gunshiApp/hsz/stQxWarnR/home/warn",
params
);
const { flowWarn, pressWarn, qxWarn, shiftWarn } = res.data.data;
@ -346,7 +346,7 @@ export default {
};
try {
const res = await uni.$http.post(
"/gunshiApp/tsg/inspect/task/list",
"/gunshiApp/hsz/inspect/task/list",
params
);
if (res.data.data?.length > 0) {

View File

@ -55,7 +55,7 @@
try {
const {
data
} = await uni.$http.get("/gunshiApp/tsg/appVersionRecord/latest");
} = await uni.$http.get("/gunshiApp/hsz/appVersionRecord/latest");
if (data.code == 200) {
const selfVersionCode = uni.getSystemInfoSync().appWgtVersion //App
const newVersionCode = data.data.version; //线
@ -120,7 +120,7 @@
}
//
uni.$http.post('/gunshiApp/tsg/login', postForm).then(res => {
uni.$http.post('/gunshiApp/hsz/login', postForm).then(res => {
uni.showLoading({
title: '努力登录中...',
mask: true
@ -130,7 +130,7 @@
if (res.data.token) {
uni.setStorageSync('Gs-Token', res.data.token)
uni.$http.get('/gunshiApp/tsg/getInfo').then(res => {
uni.$http.get('/gunshiApp/hsz/getInfo').then(res => {
this.getImgFlow(res.data.user.avatar)
uni.setStorageSync('value', res.data.user)
setTimeout(function () {
@ -158,7 +158,7 @@
if (imgUrl) {
uni.request({
url: uni.$http.baseUrl +
`/gunshiApp/tsg/common/download/resource?resource=${imgUrl}`,
`/gunshiApp/hsz/common/download/resource?resource=${imgUrl}`,
responseType: 'arraybuffer',
success: (res) => {
// arraybufferBase64

View File

@ -59,7 +59,7 @@
},
methods: {
yd(item){
uni.$http.post('/gunshiApp/tsg/messageCenter/update',{...item,status:1})
uni.$http.post('/gunshiApp/hsz/messageCenter/update',{...item,status:1})
},
confirm(e) {
console.log(e);

View File

@ -97,7 +97,7 @@
},
methods: {
rightClick() {
uni.$http.get('/gunshiApp/tsg/messageCenter/all/read', {
uni.$http.get('/gunshiApp/hsz/messageCenter/all/read', {
receiveUserId: uni.getStorageSync('value').userId
}).then(res => {
@ -112,7 +112,7 @@
},
getList() {
console.log(111);
uni.$http.post('/gunshiApp/tsg/messageCenter/list', {
uni.$http.post('/gunshiApp/hsz/messageCenter/list', {
start:this.stm?moment(this.stm).format('YYYY-MM-DD HH:mm:ss'):'',
end:this.etm?moment(this.etm).format('YYYY-MM-DD HH:mm:ss'):''
}).then(res => {

View File

@ -64,7 +64,7 @@
// new_params.userId = uni.getStorageSync('value').userId
// console.log(formData)
uni.$http.put(`/gunshiApp/tsg/system/user/profile/updatePwd?oldPassword=${formData.oldPassword}&newPassword=${formData.newPassword}`).then(res=>{
uni.$http.put(`/gunshiApp/hsz/system/user/profile/updatePwd?oldPassword=${formData.oldPassword}&newPassword=${formData.newPassword}`).then(res=>{
console.log(res);
if (res.data.code === 200) {
uni.showToast({

View File

@ -116,7 +116,7 @@
"isHandle": 1,
"handleUserId": uni.getStorageSync('value').userId
}
uni.$http.post('/gunshiApp/tsg/inspect/detail/page', params).then(res => {
uni.$http.post('/gunshiApp/hsz/inspect/detail/page', params).then(res => {
this.list = res.data.data.records
})
},

View File

@ -49,7 +49,7 @@ export default {
submitForm(params) {
//
console.log({...params,...this.formData});
uni.$http.post('/gunshiApp/tsg/maintain/service/insert',{...params,...this.formData}).then(res=>{
uni.$http.post('/gunshiApp/hsz/maintain/service/insert',{...params,...this.formData}).then(res=>{
if(res.data.code == 200){
uni.$u.toast('新增成功')
uni.navigateBack()

View File

@ -116,7 +116,7 @@
end:this.etm?moment(this.etm).format('YYYY-MM-DD 23:59:59'):''
}
}
uni.$http.post('/gunshiApp/tsg/maintain/service/page', params).then(res => {
uni.$http.post('/gunshiApp/hsz/maintain/service/page', params).then(res => {
this.dataList = res.data.data.records
})
},
@ -126,7 +126,7 @@
...params,
...this.formData
});
uni.$http.post('/gunshiApp/tsg/maintain/service/insert', {
uni.$http.post('/gunshiApp/hsz/maintain/service/insert', {
...params,
...this.formData
}).then(res => {

View File

@ -107,7 +107,7 @@ export default {
uploadFilePromise(url,name) {
return new Promise((resolve, reject) => {
let a = uni.uploadFile({
url: uni.$http.baseUrl +'/gunshiApp/tsg/maintain/service/file/upload/singleSimple', //
url: uni.$http.baseUrl +'/gunshiApp/hsz/maintain/service/file/upload/singleSimple', //
filePath: url,
name: 'file',
formData: {

View File

@ -94,7 +94,7 @@
try {
const {
data
} = await uni.$http.get(`/gunshiApp/tsg/inspect/detail/info?taskId=${this.id}`)
} = await uni.$http.get(`/gunshiApp/hsz/inspect/detail/info?taskId=${this.id}`)
if (data.code == 200) {
this.xjItem = data.data
}

View File

@ -123,7 +123,7 @@
statusList:[2]
}
try {
const res = await uni.$http.post("/gunshiApp/tsg/inspect/task/list",params)
const res = await uni.$http.post("/gunshiApp/hsz/inspect/task/list",params)
this.list = [...res.data.data];
} catch (error) {
uni.$showMsg();

View File

@ -23,9 +23,9 @@
<view class="zrtx" @click="activeOne = 2" :class="{ 'active': activeOne == 2 }">
渗流监测
</view>
<view class="txjc" @click="activeOne = 3" :class="{ 'active': activeOne == 3 }" style="margin-left:4%">
<!-- <view class="txjc" @click="activeOne = 3" :class="{ 'active': activeOne == 3 }" style="margin-left:4%">
白蚁监测
</view>
</view> -->
</view>
</swiper-item>
</swiper>
@ -77,7 +77,7 @@ export default {
async getSlData() {
try {
const { data } = await uni.$http.get(
"/gunshiApp/tsg/osmoticPressR/list/value?type=2"
"/gunshiApp/hsz/osmoticPressR/list/value?type=2"
);
if (data.code == 200) {
this.slData = data.data;
@ -89,7 +89,7 @@ export default {
async getZwyData() {
try {
const { data } = await uni.$http.get(
"/gunshiApp/tsg/osmoticShiftR/list/value"
"/gunshiApp/hsz/osmoticShiftR/list/value"
);
if (data.code == 200) {
this.zwyData = data.data;
@ -101,7 +101,7 @@ export default {
async getByData() {
try {
const { data } = await uni.$http.get(
`/gunshiApp/tsg/termite/survey/listNewData`
`/gunshiApp/hsz/termite/survey/listNewData`
);
if (data.code == 200) {
this.byData = data.data;

View File

@ -72,7 +72,7 @@
console.log('--------拍照上传照片--------', res);
this.default_src = tempFilePaths[0]
uni.uploadFile({
url: uni.$http.baseUrl + '/gunshiApp/tsg/system/user/profile/avatar',
url: uni.$http.baseUrl + '/gunshiApp/hsz/system/user/profile/avatar',
fileType: 'image',
filePath: tempFilePaths[0],
name: 'avatarfile',
@ -100,7 +100,7 @@
getImgFlow(imgUrl) {
uni.request({
url: uni.$http.baseUrl +
`/gunshiApp/tsg/common/download/resource?resource=${imgUrl}`,
`/gunshiApp/hsz/common/download/resource?resource=${imgUrl}`,
responseType: 'arraybuffer',
success: (res) => {
// arraybufferBase64
@ -153,7 +153,7 @@
new_userList.phonenumber = this.phone;
const
{data}
=await uni.$http.put('/gunshiApp/tsg/system/user/profile', new_userList);
=await uni.$http.put('/gunshiApp/hsz/system/user/profile', new_userList);
if (data.code == 200) {
uni.setStorageSync('value', new_userList)
uni.reLaunch({

View File

@ -12,36 +12,20 @@
leftIconColor="rgb(153, 153, 153)"
>
</u-navbar>
<view style="margin-top: 70px; padding: 10px">
<view style="margin-top: 80px; padding: 10px">
<SlTable :tableData="slData" v-if="name == '渗流监测'"></SlTable>
<ZwyTable
:tableData="zwyData"
v-else-if="name == '主坝位移监测'"
></ZwyTable>
<ZwyTable
:tableData="zwyData"
v-else-if="name == '溢洪道位移监测'"
></ZwyTable>
<ZwyTable
:tableData="zwyData"
v-else-if="name == '副坝位移监测'"
v-else-if="name == '位移监测'"
></ZwyTable>
<ZsyTable
:tableData="zsyData"
v-else-if="name == '主坝渗压监测'"
v-else-if="name == '渗压监测'"
></ZsyTable>
<ZsyTable
:tableData="sdData"
v-else-if="name == '灌溉发电洞渗压监测'"
></ZsyTable>
<ZsyTable
:tableData="fbData"
v-else-if="name == '副坝渗压监测'"
></ZsyTable>
<ZwyTable
:tableData="zwyData"
v-else-if="name == '灌溉发电洞变形监测'"
></ZwyTable>
<ByTable
:tableData="byData"
v-else-if="name == '白蚁监测'"
@ -96,9 +80,10 @@ export default {
async getSlData() {
try {
const { data } = await uni.$http.get(
"/gunshiApp/tsg/osmoticPressR/list/value?type=2"
"/gunshiApp/hsz/osmoticPressR/list/value?type=2"
);
if (data.code == 200) {
console.log("data.data",data.data);
this.slData = data.data;
}
} catch (error) {
@ -109,7 +94,7 @@ export default {
async getByData() {
try {
const { data } = await uni.$http.get(
`/gunshiApp/tsg/termite/survey/listNewData?deviceId=${this.deviceId}`
`/gunshiApp/hsz/termite/survey/listNewData?deviceId=${this.deviceId}`
);
if (data.code == 200) {
this.byData = data.data;
@ -121,12 +106,12 @@ export default {
async getZwyData() {
try {
const { data } = await uni.$http.get(
"/gunshiApp/tsg/osmoticShiftR/list/value"
"/gunshiApp/hsz/osmoticShiftR/list/value"
);
if (data.code == 200) {
let resData = [];
if (this.name == "主坝位移监测") {
if (this.name == "位移监测") {
resData = this.filterStationsByCode(data.data, {
prefix: "WY-",
start: 1,
@ -167,21 +152,10 @@ export default {
async getzsyData() {
try {
const { data } = await uni.$http.get(
"/gunshiApp/tsg/osmoticPressR/list/value?type=1"
"/gunshiApp/hsz/osmoticPressR/list/value?type=1"
);
if (data.code == 200) {
const zb = data.data.filter(
(item) => item?.profileName?.split("+")[0] == "ZB0"
);
const fb = data.data.filter(
(item) => item?.profileName?.split("+")[0] == "FB0"
);
const sd = data.data.filter(
(item) => item?.profileName?.split("+")[0] == "SD0"
);
this.zsyData = zb;
this.fbData = fb;
this.sdData = sd;
this.zsyData = data.data;
}
} catch (error) {
uni.$showMsg();

View File

@ -37,7 +37,7 @@
},
methods: {
simpleData(tm){
return moment(tm).format("MM-DD HH:mm")
return tm ?moment(tm).format("MM-DD HH:mm"):''
}
},
}

View File

@ -17,8 +17,10 @@
<tr v-for="(item, index) in tableData" :key="index">
<td style="width: 19%;">{{item.stationCode}}</td>
<td style="width:30%;">{{ item.profileName }}</td>
<td style="width: 26%;text-align: center;">{{simpleData(item.tm)}}</td>
<td style="width:25%;">{{ item.value }}</td>
<!-- <td style="width: 26%;text-align: center;">{{simpleData(item.tm)}}</td> -->
<td style="width: 26%;text-align: center;">-</td>
<!-- <td style="width:25%;">{{ item.value }}</td> -->
<td style="width:25%;">-</td>
</tr>
<div style="height:180px"></div>
</div>

View File

@ -112,7 +112,7 @@
async getTableData(){
try{
const {data} = await uni.$http.get(
`/gunshiApp/tsg/reservoir/water/detail?stcd=${uni.$stcd}`)
`/gunshiApp/hsz/reservoir/water/detail?stcd=${uni.$stcd}`)
if(data.code == 200){
this.tableData = {...data.data};
}

View File

@ -45,7 +45,7 @@ export default {
mask: true,
});
try {
const { data } = await uni.$http.post("/gunshiApp/tsg/resPerson/page", {
const { data } = await uni.$http.post("/gunshiApp/hsz/resPerson/page", {
pageSo: {
pageSize: 999,
pageNumber: 1,

View File

@ -32,10 +32,10 @@
},
data() {
return {
lnglat: [114.76, 31.52],
lnglat: [115.07040048775868, 31.00000230435452],
markers: [{
latitude: 31.52,
longitude: 114.76,
latitude: 30.99600000435452,
longitude: 115.07040048775868,
iconPath: '../../../static/tabs/add.png',
width: 25,
height: 25

View File

@ -4,7 +4,7 @@
fontSize:'18px'
}" :height='44' :safeAreaInsetTop=true leftIconSize='20' leftIconColor='rgb(153, 153, 153)'>
</u-navbar>
<view style="height:70px"></view>
<view style="height:80px"></view>
<u-tabs :list="list1" @click="click" :current="tabs" style="background-color: #fff;"></u-tabs>
<Skjj v-if="tabs == 0" :skInfo="skInfo"></Skjj>
<Jcxx v-if="tabs == 1"></Jcxx>
@ -65,7 +65,7 @@
this.tabs = item.index;
},
getList(){
uni.$http.post('/gunshiApp/tsg/attResBase/list',this.model).then(res=>{
uni.$http.post('/gunshiApp/hsz/attResBase/list',this.model).then(res=>{
console.log(res,'res');
this.skInfo = res.data.data[0];
})

View File

@ -151,7 +151,7 @@
const {
data
} = await uni.$http.post(
"/gunshiApp/tsg/reservoir/water/real/img", {
"/gunshiApp/hsz/reservoir/water/real/img", {
resCode: "42112230001"
})
if (data.code == 200) {
@ -175,9 +175,9 @@
const {
data
} = await uni.$http.post(
"/gunshiApp/tsg/reservoir/water/listV2",{sources:['SW','SK']})
"/gunshiApp/hsz/reservoir/water/listV2",{sources:['SW','SK']})
if (data.code == 200) {
const filterObj = data.data.filter(item => item.stcd == '61610700')
const filterObj = data.data.filter(item => item.stcd == '232')
this.info = filterObj[0]
}
} catch (error) {
@ -190,7 +190,7 @@
const {
data
} = await uni.$http.get(
`/gunshiApp/tsg/reservoir/water/detail?stcd=${uni.$stcd}`)
`/gunshiApp/hsz/reservoir/water/detail?stcd=${uni.$stcd}`)
if (data.code == 200) {
this.rainInfo = data.data;
}
@ -209,7 +209,7 @@
const {
data
} = await uni.$http.post(
"/gunshiApp/tsg/reservoir/water/monitor/data", {
"/gunshiApp/hsz/reservoir/water/monitor/data", {
stcd: uni.$stcd,
stm: moment(this.stm).format("YYYY-MM-DD HH:mm:ss"),
etm: moment(this.etm).format("YYYY-MM-DD HH:mm:ss"),

View File

@ -48,7 +48,7 @@ export default {
mask: true,
});
try {
const { data } = await uni.$http.post("/gunshiApp/tsg/stZvarlB/list");
const { data } = await uni.$http.post("/gunshiApp/hsz/stZvarlB/list");
if (data.code == 200) {
this.tableData = [...data.data];
}

View File

@ -18,14 +18,15 @@
</view>
</template>
<script>
import selectData from "../../staticData"
import selectData from "../../staticData"
import moment from "moment"
const gmObj = {
"1": "大 (1)型",
"2": "大 (2)型",
"3": "中型",
"4": "小 (1)型",
"5": "小 (2)型",
"9": "其他",
1: "大 (1)型",
2: "大 (2)型",
3: "中型",
4: "小 (1)型",
5: "小 (2)型",
6: "其他",
}
const qdObj = {
@ -34,6 +35,11 @@
3: "Ⅲ",
4: "Ⅳ",
5: "VI ",
}
const statusObj = {
1: '是',
0:'否'
}
export default {
props: {
@ -56,32 +62,32 @@
},
{
value: 1,
text: "坝"
text: "坝"
},
{
value: 2,
text: "副坝"
},
{
value: 3,
text: "溢洪道"
},
{
value: 4,
text: "灌溉发电洞"
value: 3,
text: "输水建筑物"
},
{
value: 5,
text: "放空洞"
},
{
value: 6,
text: "拦洪坝"
},
{
value: 7,
text: "防汛道路"
}
// {
// value: 4,
// text: ""
// },
// {
// value: 5,
// text: ""
// },
// {
// value: 6,
// text: ""
// },
// {
// value: 7,
// text: ""
// }
],
selectValue: 0,
keyObj: {}
@ -113,7 +119,7 @@
try {
const {
data
} = await uni.$http.get('/gunshiApp/tsg/attResBuilding/info')
} = await uni.$http.get('/gunshiApp/hsz/attResBuilding/info')
if (data.code == 200) {
this.keyObj = data.data
}
@ -127,7 +133,7 @@
try {
const {
data
} = await uni.$http.post('/gunshiApp/tsg/attDamBase/list')
} = await uni.$http.post('/gunshiApp/hsz/attDamBase/list')
if (data.code == 200) {
if (e == 1) {
this.keyObj = data.data.find(item => item.isMain == 1)
@ -146,7 +152,7 @@
try {
const {
data
} = await uni.$http.post('/gunshiApp/tsg/attSpillwayBase/list')
} = await uni.$http.post('/gunshiApp/hsz/attSpillwayBase/list')
if (data.code == 200) {
this.keyObj = data.data[0]
}
@ -160,7 +166,7 @@
const params = e == 5 ? 1 : 2;
const {
data
} = await uni.$http.get('/gunshiApp/tsg/resTunnel/list',{type:params})
} = await uni.$http.get('/gunshiApp/hsz/resTunnel/list',{type:params})
if (data.code == 200) {
this.keyObj = data.data[0]
}
@ -173,7 +179,7 @@
try {
const {
data
} = await uni.$http.post('/gunshiApp/tsg/resFloodRoad/list')
} = await uni.$http.post('/gunshiApp/hsz/resFloodRoad/list')
if (data.code == 200) {
this.keyObj = data.data[0]
}
@ -191,6 +197,12 @@
if (item.key == "seismicIntensity") {
this.keyObj[item.key] = qdObj[this.skInfo[item.key]]
}
if (item.key == "isDanger" || item.key == "spillwayGate") {
this.keyObj[item.key] = statusObj[this.skInfo[item.key]]
}
if (item.key == "startDate" || item.key == "compDate") {
this.keyObj[item.key] = this.skInfo[item.key] ?moment(this.skInfo[item.key]).format('YYYY-MM-DD'):''
}
return {
name: item.name,
value: this.keyObj[item.key]

View File

@ -22,14 +22,18 @@
</view>
<view class="bottom">
<view class="bottomItem">
<view class="withd-2" @click="toWaterDetail('灌溉供水',shStcd)">
<!-- <view class="withd-2" @click="toWaterDetail('灌溉供水',shStcd)">
<text>灌溉供水m³/s</text>:
<text>{{shgs}}</text>
</view>
<view class="withd-2" @click="toWaterDetail('水厂取水',stStcd)">
<text>水厂取水m³/s</text>:
<text>{{stgs}}</text>
</view>
</view> -->
<view class="withd-2" v-for="item in stList" @click="toWaterDetail(item.stnm,item.stcd)">
<text>{{item.stnm }}</text>:
<text>{{item.q || '-'}}/s</text>
</view>
</view>
</view>
</view>
@ -62,8 +66,8 @@
shStcd:'',
imageList:[],
baseUrl:uni.$http.baseUrl,
showImg:'../../static/skimg.png'
showImg:'../../static/skimg.jpg',
stList:[]
}
},
mounted() {
@ -86,27 +90,28 @@
});
},
getDrp(){
uni.$http.get(`/gunshiApp/tsg/reservoir/water/detail?stcd=${uni.$stcd}&_=1731028927554`).then(res=>{
uni.$http.get(`/gunshiApp/hsz/reservoir/water/detail?stcd=${uni.$stcd}&_=1731028927554`).then(res=>{
this.dataform={...this.dataform,...res.data.data}
})
uni.$http.post('/gunshiApp/tsg/reservoir/water/listV2',{sources:['SW','SK']}).then(res=>{
uni.$http.post('/gunshiApp/hsz/reservoir/water/listV2',{sources:['SW','SK']}).then(res=>{
const filterObj = res.data.data.filter(item => item.stcd == uni.$stcd)
this.dataform={...this.dataform,...filterObj[0]}
this.tm = filterObj[0].tm
})
uni.$http.post('/gunshiApp/tsg/stFlowR/list').then(res=>{
res.data.data.forEach(item=>{
if(item.stcd == '2222222'){
this.stgs=item.q
this.stStcd=item.stcd
}
if(item.stcd == '10498'){
this.shgs=item.q
this.shStcd=item.stcd
}
})
uni.$http.post('/gunshiApp/hsz/stWaterRReal/list').then(res => {
this.stList = res.data.data;
// res.data.data.forEach(item=>{
// if(item.stcd == '2222222'){
// this.stgs=item.q
// this.stStcd=item.stcd
// }
// if(item.stcd == '10498'){
// this.shgs=item.q
// this.shStcd=item.stcd
// }
// })
})
uni.$http.post('/gunshiApp/tsg/resProjectImg/list',{resCode:"42112230001"}).then(res=>{
uni.$http.post('/gunshiApp/hsz/resProjectImg/list',{resCode:"42112230001"}).then(res=>{
res.data.data.forEach(item=>{
if(item.projType == 1){
this.imageList = item.files.map((item,index)=>
@ -133,7 +138,7 @@
})
},
getList(){
uni.$http.post('/gunshiApp/tsg/attResBase/list').then(res=>{
uni.$http.post('/gunshiApp/hsz/attResBase/list').then(res=>{
this.dataform=res.data.data[0]
})
},
@ -175,13 +180,15 @@
border-top: 1px solid #f0f0f0;
padding: 10px 0 0 0;
font-size: 14px;
flex-wrap: wrap;
}
}
.withd-2{
width: 50%;
width: 45%;
text-align: center;
background-color: #caf982;
margin-right: 5px;
margin-bottom: 5px;
padding: 5px;
}
</style>

View File

@ -127,7 +127,7 @@ export default {
});
try {
const { data } = await uni.$http.post(
"/gunshiApp/tsg/stWaterRReorganize/list",
"/gunshiApp/hsz/stWaterRReorganize/list",
{
searchType: 1,
startTime: moment(this.stm).format("YYYY-MM-DD HH:mm:ss"),
@ -140,17 +140,23 @@ export default {
if (data.code == 200) {
uni.hideLoading();
let newData = [];
if (this.name == "灌溉供水") {
if (this.name == "灌溉渠首流量站1") {
newData = data.data.map((item) => ({
...item,
v: item.ecologyV,
q: item.ecologyQ,
v: item.mci1V,
q: item.mci1Q,
}));
} else if(this.name == "灌溉渠首流量站2") {
newData = data.data.map((item) => ({
...item,
v: item.mci2V,
q: item.mci2Q,
}));
} else {
newData = data.data.map((item) => ({
...item,
v: item.lifeV,
q: item.lifeQ,
v: item.ecologyV,
q: item.ecologyQ,
}));
}
this.tableData = [...newData];

View File

@ -58,7 +58,7 @@
},
async getVideoList(){
try {
const {data} = await uni.$http.post("/gunshiApp/tsg/attCctvBase/list")
const {data} = await uni.$http.post("/gunshiApp/hsz/attCctvBase/list")
if(data.code == 200){
this.videoList = data.data
}

View File

@ -74,7 +74,7 @@ export default {
async getVideoSrc(id){
try{
const {data} = await uni.$http.get(
`/gunshiApp/tsg/attCctvBase/preview/${id}`)
`/gunshiApp/hsz/attCctvBase/preview/${id}`)
if(data.code == 200){
this.webURL="./static/h5Player/webplayer.html?cameraIndexCode="+id+"&cameraUrl="+data.data
}
@ -90,7 +90,7 @@ export default {
speed:30
}
try{
const {data} = await uni.$http.post("/gunshiApp/tsg/attCctvBase/control",params)
const {data} = await uni.$http.post("/gunshiApp/hsz/attCctvBase/control",params)
if(this.timer) clearTimeout(this.timer)
this.timer = setTimeout(() => {
this.onOperation1(type)
@ -107,7 +107,7 @@ export default {
speed:30
}
try{
const {data} = await uni.$http.post("/gunshiApp/tsg/attCctvBase/control",params)
const {data} = await uni.$http.post("/gunshiApp/hsz/attCctvBase/control",params)
}catch(error){
uni.$showMsg()
}

View File

@ -1,270 +1,271 @@
export default {
0:[{
name: "所在河流(水系)名称",
key: "basName"
0: [
{
name: "水库名称(水系)名称",
key: "resName"
},
{
name: "倒水全流域面积(km²)",
key: "basArea"
name: "水库代码",
key: "resCode"
},
{
name: "水库登记号",
key: "regSn"
},
{
name: "注册登记时间",
key: "regTime"
},
{
name: "工程位置",
key: "resLoc"
},
{
name: "所在河流(水系)名称",
key: "basName"
},
{
name: "水库规模",
key: "engScal"
},
{
name: "主要功能",
key: "rsvFunction"
},
{
name: "经度",
key: "lgtd"
},
{
name: "纬度",
key: "lttd"
},
{
name: "开工日期",
key: "startDate"
},
{
name: "竣工日期",
key: "compDate"
},
{
name: "是否病险",
key: "isDanger"
},
{
name: "是否有闸控制",
key: "spillwayGate"
},
{
name: "坝址以上流域面积(km²)",
key: "watShedArea"
},
{
name: "校核洪水位时最大下泄流量(m³/s)",
key: "maxCalFloodFlow"
},
{
name: "设计洪水位时最大下泄流量(m³/s)",
key: "maxDesFloodFlow"
},
{
name: "防洪高水位(m)",
key: "uppLevFlco"
},
{
name: "防洪库容(万m³)",
key: "flcoCap"
},
{
name: "下游河道安全泄量(m³/s)",
key: "dsSaftFlow"
},
{
name: "校核洪水位(m)",
key: "calFloodLev"
},
{
name: "设计洪水位(m)",
key: "desFloodLev"
},
{
name: "正常蓄水位(m)",
key: "normWatLev"
},
{
name: "死水位(m)",
key: "deadLev"
},
{
name: "汛限水位(m)",
key: "flLowLimLev"
},
{
name: "总库容(万m³)",
key: "totCap"
},
{
name: "坝址以上流域面积(km²)",
key: "watShedArea"
},
{
name: "坝址以上主河床长度(km)",
key: "watRiverLen"
},
{
name: "坝址以上主河床平均坡降(‰)",
key: "watRiverSlope"
},
{
name: "多处平均降雨量(mm)",
key: "annualAvgDrp"
},
{
name: "设计洪水标准及洪峰流量(m³/s)",
key: "desFloodPeakFlow"
},
{
name: "校核洪水标准及洪峰流量(m³/s)",
key: "calFloodPeakFlow"
},
{
name: "校核洪水位(m)",
key: "calFloodLev"
},
{
name: "设计洪水位(m)",
key: "desFloodLev"
},
{
name: "正常蓄水位(m)",
key: "normWatLev"
},
{
name: "死水位(m)",
key: "deadLev"
},
{
name: "汛期限制水位(m)",
key: "flLowLimLev"
},
{
name: "总库容(万m³)",
key: "totCap"
name: "调洪库容(万m³)",
key: "storFlCap"
},
{
name: "调洪库容(万m³)",
key: "storFlCap"
},
{
name: "兴利库容(万m³)",
key: "benResCap"
name: "兴利库容(万m³)",
key: "benResCap"
},
{
name: "死库容(万m³)",
key: "deadCap"
},
{
name: "工程规模",
key: "engScal"
name: "死库容(万m³)",
key: "deadCap"
},
{
name: "设计灌溉面积(亩)",
key: 'designIrrArea'
name: "堰顶高程(万m³)",
key: "wcrstel"
},
{
name: "保护人口(人)",
key: 'protectPopulation'
name: "设计灌溉面积(亩)",
key: 'designIrrArea'
},
{
name: "保护农田(亩)",
key: 'protectFarmland'
name: "实际灌溉面积(亩)",
key: 'actualIrrArea'
},
{
name: "地震基本烈度",
key: 'seismicIntensity'
name: "受益人口(人)",
key: 'feedPop'
},
{
name: "地震动参数设计值",
key: 'seismicParm'
name: "保护农田(亩)",
key: 'protectFarmland'
},
],
1: [
{
name: "坝顶高程(m)",
key:"mainCrestElevation"
},
{
name: "坝顶长度(m)",
key:"mainCrestLength"
},
{
name: "坝顶宽度(m)",
key:"mainCrestWidth"
},
{
name: "最大坝高(m)",
key:"mainMaxHeight"
}
],
2: [
{
name: "坝顶高程(m)",
key:"auxCrestElevation"
},
{
name: "坝顶长度(m)",
key:"auxCrestLength"
},
{
name: "坝顶宽度(m)",
key:"auxCrestWidth"
},
{
name: "最大坝高(m)",
key:"auxMaxHeight"
}
],
3: [
{
name: "堰顶型式",
key:"spillwayCrestType"
},
{
name: "地基特性",
key:"spillwayFoundation"
},
{
name: "溢流堰顶高程(m)",
key:"spillwayCrestElevation"
},
{
name: "溢流堰净宽(m)",
key:"spillwayNetWidth"
},
{
name: "消能形式",
key:"spillwayEnergyDissipation"
},
{
name: "校验洪水下泄流量(m³/s)",
key:"spillwayCheckFloodDischarge"
},
{
name: "设计洪水下泄流量(m³/s)",
key:"spillwayDesignFloodDischarge"
},
{
name: "消能防冲下泄流量(m³/s)",
key:"spillwayScouringDischarge"
}
],
4: [
{
name: "型式",
key:"irrigationType"
},
{
name: "地基特性",
key:"irrigationFoundation"
},
{
name: "进口地板高程(m)",
key:"irrigationInletElevation"
},
{
name: "断面尺寸(m)",
key:"irrigationCrossSection"
},
{
name: "洞长(m)",
key:"irrigationLength"
},
{
name: "设计流量(m³/s)",
key:"irrigationDesignFlow"
},
{
name: "进口闸门型式",
key:"irrigationGateType"
},
{
name: "进口启闭机型式",
key:"irrigationHoistType"
}
],
5: [
{
name: "型式",
key:"emptyingType"
},
{
name: "衬砌型式",
key:"emptyingLiningType"
},
{
name: "地基特性",
key:"emptyingFoundation"
},
{
name: "进口地板高程(m)",
key:"emptyingInletElevation"
},
{
name: "断面尺寸(m)",
key:"emptyingCrossSection"
},
{
name: "洞长(m)",
key:"emptyingLength"
},
{
name: "设计流量(m³/s)",
key:"emptyingDesignFlow"
},
{
name: "进口闸门型式",
key:"emptyingGateType"
},
{
name: "进口启闭机型式",
key:"emptyingHoistType"
}
],
6: [
{
name: "坝顶高程(m)",
key:"floodControlCrestElevation"
},
{
name: "坝顶长度(m)",
key:"floodControlCrestLength"
},
{
name: "坝顶宽度(m)",
key:"floodControlCrestWidth"
},
{
name: "最大坝高(m)",
key:"floodControlMaxHeight"
}
],7: [
{
name: "防汛路长度(m)",
key:"roadLength"
},
{
name: "路面宽度(m)",
key:"roadWidth"
},
],
{
name: "地震基本烈度",
key: 'seismicIntensity'
},
{
name: "地震动参数设计值",
key: 'seismicParm'
},
],
1: [
{
name: "建筑物型式",
key: "mainType"
},
{
name: "地基特性",
key: "mainFoundation"
},
{
name: "地震基本烈度",
key: 'mainBasicIntensityOfAnEarthQuake'
},
{
name: "地震动峰值加速度",
key: "mainEarthquakeAcceleration"
},
{
name: "坝顶高程(m)",
key: "mainCrestElevation"
},
{
name: "防浪墙顶高程(m)",
key: "mainTopOfWaveBarrierElevation"
},
{
name: "坝顶长度(m)",
key: "mainCrestLength"
},
{
name: "坝顶宽度(m)",
key: "mainCrestWidth"
},
{
name: "最大坝高(m)",
key: "mainMaxHeight"
}
],
2: [
{
name: "型式",
key: "spillwayType"
},
{
name: "最大单宽流量m³/(s·m)",
key: "spillwayMaxSingleWidthFlow"
},
{
name: "溢流堰顶高程(m)",
key: "spillwayCrestElevation"
},
{
name: "溢流堰净宽(m)",
key: "spillwayNetWidth"
},
{
name: "消能型式(m)",
key: "spillwayEnergyDissipation"
},
{
name: "校核泄洪流量(m³/s)",
key: "spillwayCheckFloodDischarge"
},
{
name: "设计泄洪流量(m³/s)",
key: "spillwayDesignFloodDischarge"
},
{
name: "消能防冲流量(m³/s)",
key: "spillwayScouringDischarge"
}
],
3: [
{
name: "进水口型式",
key: "waterConveyanceType"
},
{
name: "取水方式",
key: "waterConveyanceWaterIntakeType"
},
{
name: "地基特性",
key: "waterConveyanceFoundation"
},
{
name: "孔口尺寸",
key: "waterConveyanceOrificeSize"
},
{
name: "衬砌型式",
key: "waterConveyanceLiningType"
},
{
name: "进口底槛高程(m)",
key: "waterConveyanceInletBottomHigh"
},
{
name: "引水隧洞型式(m)",
key: "waterConveyanceTunnelType"
},
{
name: "长度(m)",
key: "waterConveyanceLength"
},
{
name: "设计流量(m³/s)",
key: "waterConveyanceFlow"
},
{
name: "闸门型式",
key: "waterConveyanceGateType"
},
{
name: "启闭机型式容量及数量",
key: "waterConveyanceHoistNum"
},
],
}

View File

@ -127,7 +127,7 @@
const endTime = moment(this.etm).format("YYYY-MM-DD HH:mm:ss");
try{
const {data} = await uni.$http.get(
`/gunshiApp/tsg/stWaterR/getResMonthEcoFlow?startTime=${startTime}&endTime=${endTime}`,)
`/gunshiApp/hsz/stWaterR/getResMonthEcoFlow?startTime=${startTime}&endTime=${endTime}`,)
if(data.code == 200){
this.stData = {
...this.stData,
@ -143,7 +143,7 @@
async getJcsjData(){
try{
const {data} = await uni.$http.post(
"/gunshiApp/tsg/stWaterR/ecologyFlowList",
"/gunshiApp/hsz/stWaterR/ecologyFlowList",
{
startTime:moment(this.stm).format("YYYY-MM-DD HH:mm:ss"),
endTime:moment(this.etm).format("YYYY-MM-DD HH:mm:ss"),

View File

@ -127,7 +127,7 @@ export default {
});
try {
const { data } = await uni.$http.post(
"/gunshiApp/tsg/reservoir/water/monitor/data",
"/gunshiApp/hsz/reservoir/water/monitor/data",
{
stcd: this.stcd,
stm: moment(this.stm).format("YYYY-MM-DD HH:mm:ss"),

View File

@ -86,8 +86,8 @@
if (this.info.url) {
this.isStartDownload = true
//App
// const baseUrl = `http://223.75.53.141:83/gunshiApp/tsg/${this.info.url}`
const baseUrl = uni.$http.baseUrl+`/gunshiApp/tsg/${this.info.url}`
// const baseUrl = `http://223.75.53.141:83/gunshiApp/hsz/${this.info.url}`
const baseUrl = uni.$http.baseUrl+`/gunshiApp/hsz/${this.info.url}`
downloadApp(baseUrl, current => {
//
this.hasProgress = true

View File

@ -149,7 +149,7 @@
return;
}else{
console.log(this.queItem);
uni.$http.post('/gunshiApp/tsg/inspect/detail/handle', this.queItem).then(res => {
uni.$http.post('/gunshiApp/hsz/inspect/detail/handle', this.queItem).then(res => {
uni.$showMsg(res.data.description);
if(res.data.code == 200){
uni.navigateBack()
@ -195,7 +195,7 @@
uploadFilePromise(url, name) {
return new Promise((resolve, reject) => {
let a = uni.uploadFile({
url: uni.$http.baseUrl +'/gunshiApp/tsg/inspect/task/file/upload/singleSimple', //
url: uni.$http.baseUrl +'/gunshiApp/hsz/inspect/task/file/upload/singleSimple', //
filePath: url,
name: 'file',
formData: {

View File

@ -117,7 +117,7 @@
"inspectUserId": uni.getStorageSync('value').userId
}
console.log(params,'dsd');
uni.$http.post('/gunshiApp/tsg/inspect/detail/page', params).then(res => {
uni.$http.post('/gunshiApp/hsz/inspect/detail/page', params).then(res => {
uni.hideLoading();
this.list=res.data.data.records
})

View File

@ -142,7 +142,7 @@
uploadFilePromise(url,name) {
return new Promise((resolve, reject) => {
let a = uni.uploadFile({
url: uni.$http.baseUrl +'/gunshiApp/tsg/maintain/service/file/upload/singleSimple', //
url: uni.$http.baseUrl +'/gunshiApp/hsz/maintain/service/file/upload/singleSimple', //
filePath: url,
name: 'file',
formData: {

View File

@ -50,7 +50,7 @@ export default {
submitForm(params) {
//
console.log({...params,...this.formData});
uni.$http.post('/gunshiApp/tsg/maintain/service/insert',{...params,...this.formData}).then(res=>{
uni.$http.post('/gunshiApp/hsz/maintain/service/insert',{...params,...this.formData}).then(res=>{
if(res.data.code == 200){
// uni.$u.toast('')
uni.$u.toast('新增成功')

View File

@ -134,19 +134,19 @@
item.childen = item.children.map(i => {
i.handlePics?.map(item1=>{
item1.url ='http://223.75.53.141:9100/gs-tsg' + item1.filePath
item1.url ='http://223.75.53.141:9100/gs-hsz' + item1.filePath
return item1
})
i.handleVideos?.map(item1=>{
item1.url ='http://223.75.53.141:9100/gs-tsg' + item1.filePath
item1.url ='http://223.75.53.141:9100/gs-hsz' + item1.filePath
return item1
})
i.inspectPics?.map(item1=>{
item1.url ='http://223.75.53.141:9100/gs-tsg' + item1.filePath
item1.url ='http://223.75.53.141:9100/gs-hsz' + item1.filePath
return item1
})
i.inspectVideos?.map(item1=>{
item1.url ='http://223.75.53.141:9100/gs-tsg' + item1.filePath
item1.url ='http://223.75.53.141:9100/gs-hsz' + item1.filePath
return item1
})
if (!i.handlePics) {
@ -206,8 +206,8 @@
return treelist
},
async getTreeList (){
const res = await uni.$http.get('/gunshiApp/tsg/system/dept/list')
const resUser = await uni.$http.get('/gunshiApp/tsg/system/user/list?pageNum=1&pageSize=9999')
const res = await uni.$http.get('/gunshiApp/hsz/system/dept/list')
const resUser = await uni.$http.get('/gunshiApp/hsz/system/user/list?pageNum=1&pageSize=9999')
this.deptUserList = resUser.data.rows
if (res.data.data?.length > 0 && resUser.data.rows?.length > 0) {
// return this.handleTreeList(res.data.data,res.data.rows)
@ -261,7 +261,7 @@
console.log(params);
const {
data
} = await uni.$http.post(`/gunshiApp/tsg/inspect/task/finish`, params)
} = await uni.$http.post(`/gunshiApp/hsz/inspect/task/finish`, params)
console.log(data,'2121');
if(data.code==200){
uni.$showMsg('提交成功');
@ -370,7 +370,7 @@
uploadFilePromise(url, name, index, index1) {
return new Promise((resolve, reject) => {
let a = uni.uploadFile({
url: uni.$http.baseUrl +'/gunshiApp/tsg/inspect/task/file/upload/singleSimple', //
url: uni.$http.baseUrl +'/gunshiApp/hsz/inspect/task/file/upload/singleSimple', //
filePath: url,
name: 'file',
formData: {

View File

@ -107,7 +107,7 @@ export default {
uploadFilePromise(url,name) {
return new Promise((resolve, reject) => {
let a = uni.uploadFile({
url: uni.$http.baseUrl +'/gunshiApp/tsg/maintain/service/file/upload/singleSimple', //
url: uni.$http.baseUrl +'/gunshiApp/hsz/maintain/service/file/upload/singleSimple', //
filePath: url,
name: 'file',
formData: {

View File

@ -95,7 +95,7 @@
if (this.status == 0) {
const {
data
} = await uni.$http.get(`/gunshiApp/tsg/inspect/task/startInspect/${this.id}`)
} = await uni.$http.get(`/gunshiApp/hsz/inspect/task/startInspect/${this.id}`)
if (data.code == 200) {
this.btnStatus = 1;
this.getXjItem(this.id)
@ -115,7 +115,7 @@
try {
const {
data
} = await uni.$http.get(`/gunshiApp/tsg/inspect/detail/info?taskId=${id}`)
} = await uni.$http.get(`/gunshiApp/hsz/inspect/detail/info?taskId=${id}`)
if (data.code == 200) {
this.xjItem = data.data
}
@ -151,7 +151,7 @@
try {
const {
data
} = await uni.$http.post(`/gunshiApp/tsg/inspectTaskTrack/insert`, {
} = await uni.$http.post(`/gunshiApp/hsz/inspectTaskTrack/insert`, {
taskId: this.id,
lttd: latitude,
lgtd: longitude

View File

@ -122,7 +122,7 @@
statusList: [0, 1]
}
try {
const res = await uni.$http.post("/gunshiApp/tsg/inspect/task/list", params)
const res = await uni.$http.post("/gunshiApp/hsz/inspect/task/list", params)
uni.hideLoading();
this.list = [...res.data.data];
} catch (error) {

View File

@ -1,30 +1,24 @@
<template>
<view :style="{height:'100vh',overflow:'auto'}">
<view :style="{height:'100vh',overflow:'hidden'}">
<u-status-bar></u-status-bar>
<u-navbar title="ai告警" :autoBack="true" :titleStyle="{
fontSize:'18px'
}" :height='44' :safeAreaInsetTop=true leftIconSize='20' leftIconColor='rgb(153, 153, 153)'>
</u-navbar>
<view class="" style="margin-top: 44px;;background-color: #f0f0f0;border-top: 1px solid #f0f0f0;">
<view class="" v-for="item in list" style="margin: 10px;background-color: #fff;padding: 10px;">
<view class="item">
<!-- {{item.title}} -->
<image :src="item.imgPath" style="width:100%;"></image>
<view class="context">
<view class="type">
{{typeObj[item.type]}}
</view>
<view class="time">
{{item.tm}}
</view>
</view>
<view class="adress">
{{item.name}}
</view>
</view>
</view>
</view>
<view class="" style="margin-top: 44px;">
<u-tabs class="tabsClass" :list="tabs" :scrollable="true" :activeStyle="{color: 'rgb(37, 157, 255)',fontSize: '16px'}" :inactiveStyle="{color: '#606266',fontSize: '16px'}" lineColor="transparent" itemStyle="height: 44px" @click="onTab"></u-tabs>
<div class="tableHead">
<div class="td t1">视频点</div>
<div class="td t2">告警时间</div>
</div>
<div class="tableBody">
<div class="tableRow" v-for="(item, index) in currentList" :key="index">
<div class="td t1">{{ item.stnm || '-' }}</div>
<div class="td t2">{{ item.warningTime || '-' }}</div>
</div>
<div :style="{height:'80px'}"></div>
</div>
</view>
<u-calendar :show="show" mode="range" @confirm="confirm" @cancel='cancel'></u-calendar>
</view>
</template>
@ -32,52 +26,41 @@
<script>
import moment from 'moment'
export default {
data() {
return {
show: false,
typeObj:{
1:"人员闯入",
2: "工程车辆识别",
3: "漂浮物识别",
4: "游泳识别",
},
model: {
stm: '',
etm: ''
},
customStyle: {
background: '#000'
},
list: [{
title: '5-29日常巡检',
state: 0,
xjx: '上游坝面、坝顶',
name: '王自荣',
time: '2024-05-30 09:31:23'
},
{
title: '5-29日常巡检',
state: 1,
xjx: '上游坝面、坝顶',
name: '王自荣',
time: '2024-05-30 09:31:23'
},
]
};
},
onLoad(options){
this.list = JSON.parse(decodeURIComponent(options.arr))
},
methods: {
getType(type){
},
confirm(e) {
console.log(e);
this.model.stm = e[0]
this.model.etm = e[1]
this.show = false
export default {
data() {
return {
show: false,
model: {
stm: '',
etm: ''
},
tabs: [],
cur: 0,
map: {}
};
},
computed: {
currentList(){
if (!this.tabs.length) return []
const k = this.tabs[this.cur].key
const arr = this.map[k]
return Array.isArray(arr) ? arr : []
}
},
onLoad(options){
const { map } = options || {}
this.map = map ? JSON.parse(decodeURIComponent(map)) : {}
this.tabs = Object.keys(this.map).map(k => ({ name: k, key: k }))
},
methods: {
onTab(item, index){
this.cur = item.index
},
confirm(e) {
console.log(e);
this.model.stm = e[0]
this.model.etm = e[1]
this.show = false
},
cancel() {
this.show = false
@ -87,16 +70,16 @@
url:'/pages/wtcl/detail/index'
})
}
}
}
}
}
</script>
<style lang="scss" scoped>
.myTitleStyle {
font-size: 30px;
background-color: red;
height: 200px;
}
.myTitleStyle {
font-size: 30px;
background-color: red;
height: 200px;
}
.tabsClass {
margin-top: 44px;
@ -106,24 +89,46 @@
border-bottom: 1px solid #eee;
}
.item {
border-bottom: 1px solid #f0f0f0;
padding-bottom: 10px;
.context{
display: flex;
align-items: center;
color: #333;
}
.type{
border: 1px solid orange;
color: orange;
margin-right: 10px;
padding: 2px;
}
.adress{
padding: 10px 0;
}
}
</style>
.tabsClass{
margin-top: 0;
height: 44px;
padding: 0 40px;
border-top: 1px solid #eee;
border-bottom: 1px solid #eee;
}
.tabsClass /deep/ .u-tabs__wrapper__nav__item__text{
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.tableHead{
width: 97%;
margin: 5px auto 0;
height: 50px;
background-color: #e4f2fe;
display: flex;
color: #208FEE;
}
.tableBody{
width: 97%;
height: calc(100vh - 180px);
background-color: #f7f7f7;
overflow-y: auto;
}
.tableRow{
width: 100%;
height: 46px;
display: flex;
border-bottom: 1px solid #eee;
background-color: #ffffff;
}
.td{
text-align: center;
display: flex;
align-items: center;
justify-content: center;
font-size: 13px;
}
.t1{width: 60%}
.t2{width: 40%}
</style>

View File

@ -0,0 +1,94 @@
<template>
<view :style="{height:'100vh',overflow:'hidden'}">
<u-status-bar></u-status-bar>
<u-navbar title="河道预警" :autoBack="true" :titleStyle="{fontSize:'18px'}" :height="44" :safeAreaInsetTop="true" leftIconSize="20" leftIconColor="rgb(153, 153, 153)"></u-navbar>
<view :style="{marginTop:'44px'}">
<u-tabs class="tabsClass" :list="tabs" :scrollable="true" :activeStyle="{color: 'rgb(37, 157, 255)',fontSize: '16px'}" :inactiveStyle="{color: '#606266',fontSize: '16px'}" lineColor="transparent" itemStyle="height: 44px" @click="onTab"></u-tabs>
<div class="tableHead">
<div class="td t1">站名</div>
<div class="td t2">水位(m)</div>
</div>
<div class="tableBody">
<div class="tableRow" v-for="(item, index) in currentList" :key="index">
<div class="td t1">{{ item.stnm || '-' }}</div>
<div class="td t2">{{ item.rzWarn || '-' }}</div>
</div>
<div :style="{height:'80px'}"></div>
</div>
</view>
</view>
</template>
<script>
export default {
data() {
return {
tabs: [
{ name: '超校核洪水位', key: 'calState' },
{ name: '超设计洪水位', key: 'desState' },
{ name: '超汛限水位', key: 'flState' }
],
cur: 0,
map: {},
}
},
computed: {
currentList() {
if (!this.tabs || !this.tabs.length || !this.tabs[this.cur]) return []
const k = this.tabs[this.cur].key
const arr = this.map[k]
return Array.isArray(arr) ? arr : []
}
},
onLoad(options) {
const { map } = options || {}
this.map = map ? JSON.parse(decodeURIComponent(map)) : {}
},
methods: {
onTab(item, index) {
this.cur = item.index
}
}
}
</script>
<style lang="scss" scoped>
.tabsClass{
margin-top: 0;
height: 44px;
padding: 0 40px;
border-top: 1px solid #eee;
border-bottom: 1px solid #eee;
}
.tabsClass /deep/ .u-tabs__wrapper__nav__item__text{ white-space: nowrap; }
.tableHead{
width: 97%;
margin: 5px auto 0;
height: 50px;
background-color: #e4f2fe;
display: flex;
color: #208FEE;
}
.tableBody{
width: 97%;
height: calc(100vh - 180px);
background-color: #f7f7f7;
overflow-y: auto;
}
.tableRow{
width: 100%;
height: 46px;
display: flex;
border-bottom: 1px solid #eee;
background-color: #ffffff;
}
.td{
text-align: center;
display: flex;
align-items: center;
justify-content: center;
font-size: 13px;
}
.t1{width: 60%}
.t2{width: 40%}
</style>

View File

@ -0,0 +1,93 @@
<template>
<view :style="{height:'100vh',overflow:'hidden'}">
<u-status-bar></u-status-bar>
<u-navbar title="水库预警" :autoBack="true" :titleStyle="{fontSize:'18px'}" :height="44" :safeAreaInsetTop="true" leftIconSize="20" leftIconColor="rgb(153, 153, 153)"></u-navbar>
<view :style="{marginTop:'44px'}">
<u-tabs class="tabsClass" :list="tabs" :scrollable="true" :activeStyle="{color: 'rgb(37, 157, 255)',fontSize: '16px'}" :inactiveStyle="{color: '#606266',fontSize: '16px'}" lineColor="transparent" itemStyle="height: 44px" @click="onTab"></u-tabs>
<div class="tableHead">
<div class="td t1">站名</div>
<div class="td t2">水位(m)</div>
</div>
<div class="tableBody">
<div class="tableRow" v-for="(item, index) in currentList" :key="index">
<div class="td t1">{{ item.stnm || '-' }}</div>
<div class="td t2">{{ item.rzWarn || '-' }}</div>
</div>
<div :style="{height:'80px'}"></div>
</div>
</view>
</view>
</template>
<script>
export default {
data() {
return {
tabs: [
{ name: '超保证水位', key: 'overPromise' },
{ name: '超警戒水位', key: 'overWarn' }
],
cur: 0,
map: {},
}
},
computed: {
currentList() {
if (!this.tabs || !this.tabs.length || !this.tabs[this.cur]) return []
const k = this.tabs[this.cur].key
const arr = this.map[k]
return Array.isArray(arr) ? arr : []
}
},
onLoad(options) {
const { map } = options || {}
this.map = map ? JSON.parse(decodeURIComponent(map)) : {}
},
methods: {
onTab(item, index) {
this.cur = item.index
}
}
}
</script>
<style lang="scss" scoped>
.tabsClass{
margin-top: 0;
height: 44px;
padding: 0 40px;
border-top: 1px solid #eee;
border-bottom: 1px solid #eee;
}
.tabsClass /deep/ .u-tabs__wrapper__nav__item__text{ white-space: nowrap; }
.tableHead{
width: 97%;
margin: 5px auto 0;
height: 50px;
background-color: #e4f2fe;
display: flex;
color: #208FEE;
}
.tableBody{
width: 97%;
height: calc(100vh - 180px);
background-color: #f7f7f7;
overflow-y: auto;
}
.tableRow{
width: 100%;
height: 46px;
display: flex;
border-bottom: 1px solid #eee;
background-color: #ffffff;
}
.td{
text-align: center;
display: flex;
align-items: center;
justify-content: center;
font-size: 13px;
}
.t1{width: 60%}
.t2{width: 40%}
</style>

View File

@ -1,47 +1,35 @@
<template>
<view :style="{height:'100vh',overflow:'hidden',backgroundColor: '#f0f0f0'}">
<view :style="{height:'100vh',overflow:'hidden'}">
<u-status-bar></u-status-bar>
<u-navbar title="位移告警" :autoBack="true" :titleStyle="{
<u-navbar title="安全监测预警" :autoBack="true" :titleStyle="{
fontSize:'18px'
}" :height='44' :safeAreaInsetTop=true leftIconSize='20' leftIconColor='rgb(153, 153, 153)'>
</u-navbar>
<view class="" style="margin-top: 44px;border-top: 1px solid #f0f0f0;">
<view class="" v-for="item in list" style="margin: 10px;background-color: #fff;padding: 10px;">
<view class="item">
<text>{{item.stationCode}}</text>
<text>{{item.tm}}</text>
</view>
<view class="contentItem">
<view class="itemC">
<text>预警级别:</text>
<text>{{item.level===1?'黄色':'红色'}}</text>
</view>
<view class="itemC">
<text>监测值(mm):</text>
<text>{{item.value}}</text>
</view>
<view class="itemC">
<text>阈值:</text>
<text>{{item.time}}</text>
</view>
<view class="itemC">
<text>校验规则描述:</text>
<text>{{item.ruleDesc}}</text>
</view>
</view>
</view>
</view>
<u-calendar :show="show" mode="range" @confirm="confirm" @cancel='cancel'></u-calendar>
<view class="" style="margin-top: 44px;border-top: 1px solid #f0f0f0;">
<u-tabs class="tabsClass" :list="tabs" :scrollable="true" :activeStyle="{color: 'rgb(37, 157, 255)',fontSize: '16px'}" :inactiveStyle="{color: '#606266',fontSize: '16px'}" lineColor="transparent" itemStyle="height: 44px" @click="onTab"></u-tabs>
<div class="tableHead">
<div class="td t1">测点</div>
<div class="td t2">监测值{{ unitLabel }}</div>
<div class="td t3">告警级别</div>
</div>
<div class="tableBody">
<div class="tableRow" v-for="(item, index) in currentList" :key="index">
<div class="td t1">{{ item.stationCode || '-' }}</div>
<div class="td t2">{{ displayValue(item) }}</div>
<div class="td t3">{{ item.warnLevel || '-' }}</div>
</div>
<div :style="{height:'80px'}"></div>
</div>
</view>
<u-calendar :show="show" mode="range" @confirm="confirm" @cancel='cancel'></u-calendar>
</view>
</template>
<script>
import moment from 'moment'
export default {
data() {
export default {
data() {
return {
show: false,
model: {
@ -51,32 +39,56 @@
customStyle: {
background: '#000'
},
list: [{
title: '5-29日常巡检',
state: 0,
xjx: '上游坝面、坝顶',
name: '王自荣',
time: '2024-05-30 09:31:23'
},
{
title: '5-29日常巡检',
state: 1,
xjx: '上游坝面、坝顶',
name: '王自荣',
time: '2024-05-30 09:31:23'
},
]
};
},
onLoad(options){
// this.list = JSON.parse(decodeURIComponent(options.arr))
},
methods: {
confirm(e) {
console.log(e);
this.model.stm = e[0]
this.model.etm = e[1]
this.show = false
tabs: [
{ name: '位移监测预警', key: 'shiftWarn' },
{ name: '渗压监测预警', key: 'pressWarn' },
{ name: '渗流监测预警', key: 'flowWarn' }
],
cur: 0,
map: {}
};
},
computed: {
currentList(){
if (!this.tabs || !this.tabs.length || !this.tabs[this.cur]) return []
const k = this.tabs[this.cur].key
const arr = this.map[k]
return Array.isArray(arr) ? arr : []
},
unitLabel(){
if (!this.tabs || !this.tabs.length || !this.tabs[this.cur]) return ''
const k = this.tabs[this.cur].key
console.log("k",k);
if(k === 'shiftWarn') return '(mm)'
if(k === 'pressWarn') return '(m)'
if(k === 'flowWarn') return '(L/s)'
return ''
}
},
onLoad(options){
const { map } = options || {}
this.map = map ? JSON.parse(decodeURIComponent(map)) : {}
},
methods: {
onTab(item, index){
this.cur = item.index
},
displayValue(item){
const v = item.value ?? item.val
const val = (v === 0 || v) ? v : '-'
const isShift = this.tabs && this.tabs[this.cur] && this.tabs[this.cur].key === 'shiftWarn'
const dir = item.direction
if(isShift && val !== '-' && dir){
return `${val}${dir}方向)`
}
return val
},
confirm(e) {
console.log(e);
this.model.stm = e[0]
this.model.etm = e[1]
this.show = false
},
cancel() {
this.show = false
@ -86,8 +98,8 @@
url:'/pages/wtcl/detail/index'
})
}
}
}
}
}
</script>
<style lang="scss" scoped>
@ -137,4 +149,43 @@
padding: 10px;
}
}
</style>
.tabsClass{
margin-top: 0;
height: 44px;
padding: 0 40px;
border-top: 1px solid #eee;
border-bottom: 1px solid #eee;
}
.tabsClass /deep/ .u-tabs__wrapper__nav__item__text{ white-space: nowrap; }
.tableHead{
width: 97%;
margin: 5px auto 0;
height: 50px;
background-color: #e4f2fe;
display: flex;
color: #208FEE;
}
.tableBody{
width: 97%;
height: calc(100vh - 180px);
background-color: #f7f7f7;
overflow-y: auto;
}
.tableRow{
width: 100%;
height: 46px;
display: flex;
border-bottom: 1px solid #eee;
background-color: #ffffff;
}
.td{
text-align: center;
display: flex;
align-items: center;
justify-content: center;
font-size: 13px;
}
.t1{width: 40%}
.t2{width: 30%}
.t3{width: 30%}
</style>

View File

@ -7,25 +7,38 @@
</u-navbar>
<view class="" style="margin-top:44px;border-top: 1px solid #f0f0f0;">
<view class="align-center" style="height: 44px;background-color: #f0f0f0;font-size: 12px;padding: 0 10px;">
预警时间{{ model.start }} {{ model.end }}
</view>
<view class="itemYj">
<view class="itemYjCont" v-for="(value, key) of list">
<view class="item" @click="todetail(key, value)">
<view :style="`color:${getColor(value)};`" class="num">
{{ getValue(value) }}
</view>
<view class="title">
{{ mapType[key] }}
</view>
<view class="itemYjCont" @click="navigateSk">
<view class="item">
<view :class="skCount ? 'numNonZero' : 'numZero'">{{ skCount }}</view>
<view>水库预警</view>
</view>
</view>
<view class="itemYjCont" @click="navigateRiver">
<view class="item">
<view :class="riverCount ? 'numNonZero' : 'numZero'">{{ riverCount }}</view>
<view>河道预警</view>
</view>
</view>
<view class="itemYjCont" @click="navigateSafe">
<view class="item">
<view :class="safeCount ? 'numNonZero' : 'numZero'">{{ safeCount }}</view>
<view>安全监测预警</view>
</view>
</view>
<view class="itemYjCont" @click="navigateAI">
<view class="item">
<view :class="aiCount ? 'numNonZero' : 'numZero'">{{ aiCount }}</view>
<view>AI告警(近24h)</view>
</view>
</view>
</view>
</view>
<u-calendar :show="show" mode="range" @confirm="confirm" @cancel='cancel'></u-calendar>
</view>
</template>
@ -35,56 +48,61 @@ import moment from 'moment'
export default {
data() {
return {
skCount: 0,
riverCount: 0,
safeCount: 0,
aiCount: 0,
show: false,
model: {
start: moment().subtract(1, 'day').format('YYYY-MM-DD HH:mm:ss'),
end: moment().format('YYYY-MM-DD HH:mm:ss')
},
mapType: {
aiWarnCount: 'AI告警',
rzWarn: "水位告警",
// qxWarn:'',
pressWarn: '渗流告警',
flowWarn: '渗压告警',
shiftWarn: '位移告警',
byWarn: '白蚁告警'
},
list: {
rzWarn: "正常(-4.031)",
flowWarn: [],
pressWarn: [],
// qxWarn:[],
shiftWarn: [],
aiWarnCount: 0,
byWarn: 0
}
};
},
onLoad() {
this.getList();
},
methods: {
getValue(value) {
if (Array.isArray(value)) {
return value.length
} else {
return value
}
},
getColor(value) {
let str = '';
str = this.getValue(value) + '';
return str.includes("正常") ? '#04D919' : '#D9001B'
},
confirm(e) {
console.log(e);
this.model.stm = e[0]
this.model.etm = e[1]
this.show = false
},
cancel() {
this.show = false
},
methods: {
navigateSk() {
if (!this.skCount) return;
const map = this.list?.skWarningVoMap || {};
const arr = encodeURIComponent(JSON.stringify(map));
uni.navigateTo({
url: '/pages/yj/detail/skDetail?map=' + arr
})
},
navigateRiver() {
if (!this.riverCount) return;
const map = this.list?.riverWarningVoMap || {};
const arr = encodeURIComponent(JSON.stringify(map));
uni.navigateTo({
url: '/pages/yj/detail/riverDetail?map=' + arr
})
},
navigateSafe() {
if (!this.safeCount) return;
const data = this.list || {};
const map = {
shiftWarn: data.shiftWarn || [],
flowWarn: data.flowWarn || [],
pressWarn: data.pressWarn || []
};
const arr = encodeURIComponent(JSON.stringify(map));
uni.navigateTo({
url: '/pages/yj/detail/wyyj?map=' + arr
})
},
navigateAI() {
if (!this.aiCount) return;
const map = this.list?.aiWarnVoMap || {};
const arr = encodeURIComponent(JSON.stringify(map));
uni.navigateTo({
url: '/pages/yj/detail/aiyj?map=' + arr
})
},
todetail(key, e) {
let arr = encodeURIComponent(JSON.stringify(e))
console.log(key, e.length);
@ -123,9 +141,38 @@ export default {
}
},
getList() {
uni.$http.post('/gunshiApp/tsg/stQxWarnR/home/warn', this.model).then(res => {
delete res.data.data.qxWarn;
this.list = res.data.data
uni.$http.post('/gunshiApp/hsz/stQxWarnR/home/warn', this.model).then(res => {
const data = res.data.data;
if (!data) return;
delete data.qxWarn;
this.list = data;
// 1. (skCount)
const skMap = data.skWarningVoMap || {};
this.skCount = (skMap.flState?.length || 0) +
(skMap.calState?.length || 0) +
(skMap.desState?.length || 0);
// 2. (riverCount)
const riverMap = data.riverWarningVoMap || {};
this.riverCount = (riverMap.overWarn?.length || 0) +
(riverMap.overPromise?.length || 0);
// 3. (safeCount)
this.safeCount = (data.shiftWarn?.length || 0) +
(data.flowWarn?.length || 0) +
(data.pressWarn?.length || 0);
// 4. AI (aiCount)
const aiMap = data.aiWarnVoMap || {};
let aiTotal = 0;
for (const key in aiMap) {
if (Array.isArray(aiMap[key])) {
aiTotal += aiMap[key].length;
}
}
this.aiCount = aiTotal;
})
},
@ -164,6 +211,16 @@ export default {
text-align: center;
}
.numZero {
color: #000;
font-size: 20px;
}
.numNonZero {
font-size: 20px;
color: #D9001B;
}
.normal {
color: #04D919;
}
@ -176,4 +233,4 @@ export default {
// margin: 5px;
}
}
</style>
</style>

View File

@ -170,7 +170,7 @@ export default {
});
try {
const { data } = await uni.$http.post(
"/gunshiApp/tsg/attResBase/rainBasinDivision/queryStStbprpPerHour/StcdAndStartTimeAndEndTime",
"/gunshiApp/hsz/attResBase/rainBasinDivision/queryStStbprpPerHour/StcdAndStartTimeAndEndTime",
{
stcd: this.stcd,
startTime: moment(this.stm).format("YYYY-MM-DD HH:mm:ss"),
@ -191,7 +191,7 @@ export default {
async getrainChartInfo() {
try {
const { data } = await uni.$http.post(
"/gunshiApp/tsg/attResBase/rainBasinDivision/queryStStbprpPerHourChart/StcdAndStartTimeAndEndTime",
"/gunshiApp/hsz/attResBase/rainBasinDivision/queryStStbprpPerHourChart/StcdAndStartTimeAndEndTime",
{
stcd: this.stcd,
startTime: moment(this.stm).format("YYYY-MM-DD HH:mm:ss"),
@ -212,7 +212,7 @@ export default {
async getTotalTableData() {
try {
const { data } = await uni.$http.get(
`/gunshiApp/tsg/attResBase/rainBasinDivision/queryStPptnDetails/stcd?stcd=${this.stcd}`
`/gunshiApp/hsz/attResBase/rainBasinDivision/queryStPptnDetails/stcd?stcd=${this.stcd}`
);
if (data.code == 200) {
this.totalTableData = { ...data.data };
@ -240,7 +240,7 @@ export default {
async getPreReportData() {
try {
const { data } = await uni.$http.post(
"/gunshiApp/tsg/weather/short/fore",
"/gunshiApp/hsz/weather/short/fore",
{
tm: moment(this.projectTime).format("YYYYMMDDHHmm"),
}

View File

@ -114,24 +114,21 @@
1: '/static/tabs/zweiyi1.png',
2: "/static/tabs/zweiyi2.png"
},
"白蚁监测": {
1: '/static/tabs/baiyi1.png',
2: "/static/tabs/baiyi2.png"
},
}
export default {
data() {
return {
latitude: 31.495,
longitude: 114.767,
enableSatellite: false,
scale:16.5,
latitude: 30.99963623539533,
longitude: 115.06283265682754,
enableSatellite: true,
scale:15.9,
popupOpen: false,
typeChecked: 2,
typeChecked: 1,
markers: [
{
latitude: 31.4962,
longitude: 114.7691,
latitude: 30.998573835167083,
longitude: 115.06305299657932,
iconPath: '/static/tabs/yhd1.png',
width: 15,
height: 15,
@ -140,20 +137,10 @@
pointType: "溢洪道",
name: "水库工程"
},
{
latitude: 31.4954,
longitude: 114.7707,
iconPath: '/static/tabs/zweiyi1.png',
width: 15,
height: 15,
id: 98,
title: "溢洪道位移监测",
pointType: "溢洪道位移",
name: "安全监测"
},
{
latitude: 31.4956,
longitude: 114.7691,
latitude: 31.00015710,
longitude: 115.06211221,
iconPath: '/static/tabs/shenliu1.png',
width: 15,
height: 15,
@ -163,104 +150,49 @@
name: "安全监测"
},
{
latitude: 31.4933000,
longitude: 114.7686000,
latitude: 30.99999014,
longitude: 115.06264986,
iconPath: '/static/tabs/zweiyi1.png',
width: 15,
height: 15,
id: 101,
title: "主坝位移监测",
title: "位移监测",
pointType: "主坝位移",
name: "安全监测"
},
{
latitude: 31.4917000,
longitude: 114.7686000,
latitude: 30.99951106,
longitude: 115.06231647,
iconPath: '/static/tabs/zshenya1.png',
width: 15,
height: 15,
id: 102,
title: "主坝渗压监测",
title: "渗压监测",
pointType: "主坝渗压",
name: "安全监测"
},
{
latitude: 31.492300,
longitude: 114.7686000,
latitude: 30.99963623539533,
longitude: 115.06283265682754,
iconPath: '/static/tabs/zhuba1.png',
width: 15,
height: 15,
id: 103,
title: "坝",
title: "坝",
pointType: "主坝",
name: "水库工程"
},
{
latitude: 31.490900,
longitude: 114.7666000,
latitude: 31.00123676570212,
longitude: 115.06253708716164,
iconPath: '/static/tabs/fdt1.png',
width: 15,
height: 15,
id: 104,
title: "灌溉发电洞",
title: "输水建筑物",
pointType: "发电洞",
name: "水库工程"
},
{
latitude: 31.490500,
longitude: 114.7664000,
iconPath: '/static/tabs/zshenya1.png',
width: 15,
height: 15,
id: 105,
title: "灌溉发电洞渗压监测",
pointType: "发电洞渗压",
name: "安全监测"
},
{
latitude: 31.490200,
longitude: 114.7667000,
iconPath: '/static/tabs/zweiyi1.png',
width: 15,
height: 15,
id: 106,
title: "灌溉发电洞变形监测",
pointType: "发电洞位移",
name: "安全监测"
},
{
latitude: 31.491300,
longitude: 114.7642000,
iconPath: '/static/tabs/zhuba1.png',
width: 15,
height: 15,
id: 107,
title: "副坝",
pointType: "副坝",
name: "水库工程"
},
{
latitude: 31.491300,
longitude: 114.7642000,
iconPath: '/static/tabs/zshenya1.png',
width: 15,
height: 15,
id: 97,
title: "副坝渗压监测",
pointType: "副坝渗压",
name: "安全监测"
},
{
latitude: 31.491200,
longitude: 114.7636000,
iconPath: '/static/tabs/zweiyi1.png',
width: 15,
height: 15,
id: 108,
title: "副坝位移监测",
pointType: "副坝位移",
name: "安全监测"
},
},
],
map: null,
windowHeight: 0,
@ -302,15 +234,7 @@
textColor: "#02a7f0",
isSelected4: true,
},
{
icon1: "/static/tabs/baiyi1.png",
icon2: "/static/tabs/baiyi2.png",
name: "白蚁监测",
id: 5,
showIcon: "/static/tabs/baiyi2.png",
textColor: "#02a7f0",
isSelected5: true,
}
]
}
},
@ -331,8 +255,8 @@
methods: {
onControlTap() {
this.$refs.map.moveToLocation({
latitude: 31.495,
longitude: 114.767
latitude: 31.4923,
longitude: 114.7686
})
},
onTcControlTap() {
@ -350,17 +274,17 @@
}else if( type == '渗流'){
url=`/pages/sjc/index?name=渗流监测`
}else if(type == "主坝位移"){
url=`/pages/sjc/index?name=主坝位移监测`
url=`/pages/sjc/index?name=位移监测`
}else if(type == "主坝渗压"){
url=`/pages/sjc/index?name=主坝渗压监测`
url=`/pages/sjc/index?name=渗压监测`
}else if(type == "主坝"){
url='/pages/skInfo/detail/index?value=2&key=1'
}else if(type == "溢洪道位移"){
url=`/pages/sjc/index?name=溢洪道位移监测`
}else if(type == "溢洪道"){
url='/pages/skInfo/detail/index?value=2&key=3'
url='/pages/skInfo/detail/index?value=2&key=2'
}else if(type == "发电洞"){
url='/pages/skInfo/detail/index?value=2&key=4'
url='/pages/skInfo/detail/index?value=2&key=3'
}else if(type == "发电洞渗压"){
url=`/pages/sjc/index?name=灌溉发电洞渗压监测`
}else if(type == "副坝渗压"){
@ -423,7 +347,7 @@
try {
const {
data
} = await uni.$http.post("/gunshiApp/tsg/attCctvBase/list")
} = await uni.$http.post("/gunshiApp/hsz/attCctvBase/list")
if (data.code == 200) {
const videoList = data.data.map(item => ({
...item,
@ -448,7 +372,7 @@
try {
const {
data
} = await uni.$http.post("/gunshiApp/tsg/real/rain/list", {
} = await uni.$http.post("/gunshiApp/hsz/real/rain/list", {
stm: moment().add(-1, 'days').format('YYYY-MM-DD 08:00:00'),
etm: moment(moment().format('YYYY-MM-DD 08:00:00'))
})
@ -477,7 +401,7 @@
try {
const {
data
} = await uni.$http.post("/gunshiApp/tsg/reservoir/water/listV2", )
} = await uni.$http.post("/gunshiApp/hsz/reservoir/water/listV2", )
if (data.code == 200) {
const waterList = data.data.map(item => ({
...item,
@ -504,7 +428,7 @@
try {
const {
data
} = await uni.$http.get("/gunshiApp/tsg/termite/survey/list/byDevice")
} = await uni.$http.get("/gunshiApp/hsz/termite/survey/list/byDevice")
if (data.code == 200) {
const byList = data.data.map(item => ({
...item,
@ -566,4 +490,4 @@
// padding: 5px;
}
</style>
</style>

BIN
static/skimg.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB